论文摘要
对数据的校验常用的有奇偶校验、CRC校验等,而在NAND Flash存储器中,在用SLC工艺时一般采用一种比较专用的校验ECC--汉明码;现在多采用MLC工艺,每页产生的错误有可能达到4bit,因此多用BCH纠错码。BCH码是一种应用广泛而有效的码循环线性分组码,它具有纠正多重差错的能力,它可以纠正2bit及以上的多bit错误。本文第一部分主要介绍了BCH码的背景知识及一般理论基础和Nand Flash的一些基本知识;第二部分介绍了BCH编码和串/并行编码方法及代数译码、非代数译码的概念;第三部分介绍了在SOC芯片里实现BCH(4200,4096)码的编码解决方案,给出了用这种方法实现的编码器的部分仿真结果;第四部分叙述在SOC芯片里实现BCH(4200,4096)码的伴随式译码的解决方案,给出了用这种方法实现的解码器的部分仿真结果;第五部分介绍芯片的测试结果。附录列出了生成矩阵、设计编解码器的程序及测试向量的程序。芯片采用TSMC 65nm工艺设计制造,用NC-sim进行RTL仿真,并进行了错误模拟及纠正模拟。本文涉及的电路经综合后大约相当于30k逻辑门。对芯片的闪存控制部分进行了ATPG的测试,工作正常,存取数据正确,纠错正常,最多可纠8位错误,实测工作频率达125MHz。经高低温及高低电源电压测试,芯片工作正常,完全达到设计要求。