论文部分内容阅读
NAND Flash存储器因具有速度快、体积小、存储容量大、抗振动性能强等优点得到了大范围应用。但由于NAND Flash具有不能连续寻址、先擦后写和存在坏块等缺陷,使得已有的磁盘管理方法不再适用于NAND Flash存储器,广大研究者一直致力于寻求能快速解决NAND Flash存储问题的方法。目前NAND Flash管理算法评估还没有统一的验证平台,亟需设计一款简单通用的平台对管理算法进行直观评估。本文深入分析NAND Flash操作特性和管理算法的研究方向后,基于Xilinx公司全可编程的Zynq-7000Soc研制了一款软、硬件结合的NAND Flash管理算法验证平台。在硬件方面,利用Zynq内嵌的PL(Programmable Logic,PL)实现了NAND Flash控制器、数据传输主控模块,数据错误引入模块和坏块管理模块等。其中,NAND Flash控制器采用双乒乓缓存以提升数据写入速度;数据传输主控模块一方面采用AXI GP接口实现了PS(Processing System,PS)应用程序对其的控制功能,另一方面采用AXI HP接口实现了AXI DMA以完成PS和PL间的高速数据传输;数据错误引入模块通过AXI GP接口获取PS给出的错误位置,并能在NAND Flash页编程时实现相应的位翻转功能;坏块管理模块除实现正常读、写、擦除失败产生的坏块标记和重映射外,还利用Xilinx的HLS工具实现了BCH纠错算法来发现数据出错的坏块并标记与重映射。在PS设计方面,通过移植实时系统FreeRTOS对应用程序进行管理,并利用Zynq内嵌的USB控制器实现了USB大容量存储协议以将多种文件系统引入验证平台,同时通过移植LwIP TCP/IP协议栈实现了千兆以太网的传输,完成算法性能分析时必要数据的快速上传。最后,本文利用PS实现了经典的页映射算法、FAST等FTL算法以作为其它FTL算法的参考基准,并可为验证数据压缩等高级算法提供运行环境。此外,为弥补商业软件的不足,设计了测试软件对NAND Flash管理算法的常用指标进行评估。系统测试表明,研制的NAND Flash算法验证平台能够实现对NANDFlash管理算法的有效验证,并可给出直观的评估结果,满足设计要求。