论文部分内容阅读
NAND Flash是一种非易失存储器,具有很高的存储密度,写入和擦除速度较快,广泛应用于各种消费电子产品和其他存储设备。目前NAND Flash的架构已经从SLC发展到MLC甚至是TLC,NAND Flash的制造工艺发展到25nm甚至是20nm的水平,这意味着NAND Flash中发生随机错误的几率越来越大,因此,NAND Flash设备中需要有更强纠错能力的ECC算法。BCH码是一种循环线性分组码,它具有强大的纠错能力,能纠正多位随机错误,而且,其构造简单,易于实现,因此,在纠错领域拥有广泛的应用。为了纠正NANDFlash芯片中发生的错误,本文设计了能够纠正1K字节数据中32位随机错误的BCH码,并硬件实现了该BCH码的编译码器。本文系统地论述了BCH码编译码器的设计过程和实现电路。首先从BCH码的数学理论基础推导出本文采用的BCH码的生成多项式,在此基础上设计了8位并行BCH编码器,针对并行编码器的组合逻辑部分在码长较长时比较复杂,采用子表达式共享和树型结构优化了组合逻辑部分。然后重点研究了BCH码的译码算法,采用分组预取译码的方法,在译码器中引入了流水结构,能够提高BCH译码器的译码效率。针对BCH译码的三个过程:伴随式计算、错误位置多项式求解和Chien搜索算法,分别设计了并行处理电路。最后,通过Modelsim仿真和C编译码程序计算的对比,验证了本文所设计的BCH编译码器,结果表明,本文所设计的BCH编译码器能够纠正1K字节中32位以内的随机错误,达到设计要求。