论文部分内容阅读
随着大数据、云计算、移动互联网等信息技术新领域在近些年来的爆发式发展,整个社会对数据存储的需求正在快速增长。NAND Flash存储器件凭借自身高速度、低成本、大容量等特点,获得了广泛的应用。在包括SOPC在内的各型片上系统中,集成NAND Flash控制器正成为一种常态。本文介绍了NAND Flash存储技术的发展历程和市场应用现状,详细讨论了NAND Flash的存储结构、接口标准以及存取操作特点,阐明了NAND Flash控制器设计的原理以及需要满足的规范。在这样的理论基础上,依据某型自主研发SOPC的实际需求,提出了一型适用于该SOPC芯片的基于AMBA AHB总线协议的可配置NAND Flash控制器,能实现对多种异步接口NAND Flash的读写。本文提出的NAND Flash控制器,利用配置寄存器和状态寄存器进行控制,使用片内缓存对数据进行暂存,采用多级的状态机实现具体的控制时序。同时,为了解决NAND Flash存储器由外部干扰或者位翻转等原因造成的数据错误情况,本文所述的NAND Flash控制器加入了基于BCH码的ECC(Error Checking and Correcting)校验模块。本文深入分析了基于BCH码的ECC编码和解码算法,并给出了对应的8位并行电路实现。通过加入ECC校验模块,只损失了非常小的读写效率,就大幅提升了数据存取的可靠性。整个控制器拥有良好的可配置性,可扩展性,并且电路复杂度低,硬件资源占用小。NAND Flash控制器的验证工作包括功能仿真,FPGA验证和SOPC板上测试总共三个方面。在功能仿真的阶段,利用计算机上的仿真软件对设计的功能进行了全面的验证和调试。确定仿真结果正确后,利用一块搭载FPGA和NAND Flash芯片的开发板进行了实际的功能测试,结果表明本文所述的控制器能够正确地进行NAND Flash的各种读写操作。最后,在某型SOPC芯片完成流片并生产出开发板后,在该型SOPC中进行了实际部署,并测试了NAND Flash控制器在实际工作中的性能。测试结果表明,本文所述的NAND Flash控制器完全能够在该型SOPC上正常工作。本文所提出并验证的NAND Flash控制器已经搭载在某型自主研发SOPC上投入了实际的应用。该NAND Flash控制器的设计思路与验证方法具有普适性,可以推广到各种SOPC或者FPGA应用环境中,具有一定的实用价值。