论文部分内容阅读
随着信息技术的快速发展,传统SLC(单层存储)架构的NAND Flash已经远远满足不了大容量、低成本存储器的要求,而MLC(多层存储)架构的NAND Flash凭借单位比特成本低、存储密度高等优点,被广泛的应用在各种存储系统当中。然而由于MLC架构NAND Flash的内部电压的等级增多,在擦写过程中发生位错误的概率增大,传统的单比特纠错码——汉明码已经无法满足纠错需求。BCH码因其构造简单、编译码易实现、纠错能力强、校验码更短等特点,使其更适用于NAND Flash多比特位错误的纠错,因此本文开展了对NAND Flash的BCH编解码技术的研究。依据NAND Flash的内部结构特点,设计了纠错能力为每512bytes可以纠正8bits错误位的BCH码。本文首先从BCH码的理论基础、构造方法等循序渐进的展开,针对BCH码生成多项式在信息码元较长时求解比较复杂和易出错的问题,采用Matlab求解取代查表法来提高效率。选择8位并行BCH编码方式作为BCH编码器的硬件实现方法,既解决了串行BCH编码器编码速度慢且位数与NAND Flash不匹配的问题,同时也减少了编码器中线性反馈移位寄存器电路的高扇出瓶颈。BCH译码器作为整个设计中算法最为复杂、占用逻辑资源最多的部分,本文在它的设计过程中应用了多种优化设计手段。在提升译码速率的举措方面,通过对伴随式求解模块和Chien搜索模块采取并行处理的方式,节省了8倍的时间;除此之外,采用了二级流水线结构的分块译码方式,使得一页数据的译码时间大大缩短,很好的提高了译码效率。并且在错误位置多项式的求解过程中采用了简化的无求逆算法,与传统的无求逆算法相比该算法电路结构简单,极大的减少了逻辑资源的占用量,节省了硬件成本。最后对BCH编译码器搭建仿真平台进行功能仿真,仿真结果表明设计的BCH译码器达到了预期的功能要求。