论文部分内容阅读
随着信息技术的发展,当今社会对于数据存储的需求越来越高。NAND Flash因其具有容量大,成本低,寿命长等特点,被广泛的用作数据储存的解决方案。FPGA逻辑资源丰富,能够并行处理多个模块,其优势可在大规模图像处理领域得到充分发挥。因此,设计一款集成于FPGA系统内的NAND Flash控制器有着良好的应用前景。本文讨论了应用于超大规模图像处理系统的数据储存解决方案。分析了NAND Flash的工作机理,讨论了行业内常见NAND Flash的组成结构和通用接口。通过对NAND Flash存取方式以及时序规范的分析,制定了一套NAND Flash控制器的解决方案。基于自顶向下的设计方法,对控制器进行模块划分,通过各个模块的相互配合实现对NAND Flash的操作。控制器完成了NAND Flash读,擦除,编程等操作的实现,并加入各操作的检错及纠错机制。通过VHDL编写RTL级代码,完成了命令控制,时序控制,数据缓存,内部地址产生,ECC生成及校验等模块的设计。对于NAND Flash不可避免的坏块问题,本文详细分析了其产生原因,制定了适用于本课题的坏块检测方法。利用FPGA内部资源创建坏块信息表的方式,对操作中的坏块进行地址屏蔽处理,以提高存储系统的可靠性。本文给出了NAND Flash控制器的验证方案。搭建了仿真平台,添加了适当的测试激励,利用ModelSim仿真软件对控制器的功能进行验证。在Xilinx ISE design suite12.2平台上,完成了基于Xilinx FPGA的NAND Flash控制器的综合以及实现,在功能和时序上达到工程要求指标。