论文部分内容阅读
移动电话的功能日益丰富,其对系统中数据存储容量的需求正在快速增长,NAND FLASH因其非易失及可擦除性以及其具有更小的体积更快的写入和擦除速度,在嵌入式设备中得到广泛的使用。为了进一步减小单位比特价格,增加存储密度,新一代Multi-Level Cell (MLC)技术以及工艺几个尺寸的进一步缩小(60nm和45nm)是业界的两种主流方法。相对于Single-Level (SLC)每个单元只存一位数据,MLC原理是两个(或多个)位的信息存入一个浮动栅,但这使得相邻数据电压之间的空间变小,可靠性变差,所以MLC存储时要更精确的控制每个存储单元的充电电压,BCH码是纠错能力可控的纠随机错误码,是循环码的子类。SLC中常用的一位纠错码(如汉明码)己不适合MLC的情况,BCH码具有更强的纠错能力。本文讨论了了主流NAND FLASH(基于三星的)的结构特征以及接口读写擦除时序特点,并且粗略的介绍了基于ARM的嵌入式结构[14],提出了一种基于AMBA总线的NAND FLASH控制器实现方案,并且对该方案进行了充分的验证工作。本文重点介绍了根据实际需要的BCH的编码和译码算法以及算法的实现方法和优化,针对由于实际的需要,提出了每一次可进行512Byte,1KB,2KB, 4KB,6KB和8KB编码解码的基于BCH的NAND FLASH控制器结构。对控制器的验证采用了模拟验证和FPGA验证两种方式,在模拟验证阶段对控制器的所有功能特点进行全面验证,结果正确后,在Xinlinx公司Vertex5开发板上对控制进行了FPGA验证。结果表明控制器能正确控制NAND FLASH的各种读写操作。本文的设计的NAND FLASH控制器是基于某公司SOC芯片需求而设计的,提出的NAND FLASH控制器实现方案完全满足实际需要。