基于NAND Flash的差错控制算法研究
本文关键词:基于NAND Flash的差错控制算法研究,由笔耕文化传播整理发布。
【摘要】:随着SLC(Single-Level Cell) NAND Flash页容量的扩大以及MLC(Multi-L evel Cell)和TLC(Trinary-Level Cell)架构的推出,NAND Flash出现错误的概率增大,出现错误的种类也增多,传统的汉明(Hamming)码ECC(Error Checking and Correcting)只能纠正一位错误,检测出两位错误,已不能满足当前多数NA ND Flash的纠错要求。对于存储产品中使用最广的MLC NAND Flash,则要采用纠错能力更强的二进制BCH(Bose Chaudhuri Hoequenghem)码或RS(Reed So lomn)码。BCH码是是循环码的子类,纠错能力可控制,有很强的纠正随机错误的能力。RS码是BCH码的重要子类,能够纠正突发错误。本文选取目前市场上不同的页容量大小的NAND Flash,分别设计了NAND Flash的汉明码、二进制BCH码和RS码的差错控制算法,并用C语言实现了软件仿真,验证了这些差错控制编码的纠错能力。BCH码的译码部分选用运算效率高的算法,着重介绍了BM(Berlekamp-Massey)迭代算法以及其优化形式。 本文将二进制BCH码和RS码作为研究重点,在Visual C++开发平台下,实现了不同伽罗华域维度、不同数据编码长度、以及可变纠错能力大小的二进制BCH码和RS码的编译码引擎,并用MFC编写了用于NAND Flash产品擦写的自动测试工具,建立了一个高效可靠的实验平台。通常认为MLC NAND Flash的错误是以位的形式随机分部在整个NAND Flash的各页中,二进制BCH码具有的很强的随机错误纠正能力,比RS码更适合对MLC NAND Flash进行差错控制。但MLC错误的模型并非固定。通过总结,本文列出了3种NAND Flash的出错模型,即普通随机错误模型、多位元数据翻转错误模型和页错误模型。针对多位元数据翻转错误模型,本文提出了一种RS(178,172)码+RS(145,139)码的RS码优化方案,实验发现在此错误模型下该方案表现出比与其拥有相似编码冗余度的二进制BCH码具有更好的纠错性能。NAND Flash的额外空间的合理利用也是工程上一个需解决的问题,由页错误模型可知页中错误分布不均,所以整个NAND Flash使用同一种纠错方案势必造成资源浪费。本文采用一种校验区共享的二进制BCH码优化方案,在对页数较多的MLC NAND Flash进行纠错时,用不同的纠错能力的二进制BCH码搭配。实验证明此方案既保证了资源的合理利用,更重要的是在页错误模型下,利用此方案设计的ECC纠错性能得到显著提高。
【关键词】:NAND Flash 差错控制 汉明码 BCH码 RS码
【学位授予单位】:广东工业大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333
【目录】:
- 摘要4-6
- Abstract6-8
- 目录8-11
- Contents11-14
- 第一章 绪论14-19
- 1.1 课题的研究背景及意义14-15
- 1.1.1 研究背景14-15
- 1.1.2 研究意义15
- 1.2 国内外研究现状15-17
- 1.3 课题主要研究内容与章节安排17-19
- 1.3.1 课题研究内容17
- 1.3.2 本文章节安排17-19
- 第二章 NAND Flash的原理及架构分类19-23
- 2.1 NAND Flash的工作原理19-20
- 2.2 NAND Flash的架构分类20-21
- 2.3 NAND Flash的芯片结构21-22
- 2.4 本章小结22-23
- 第三章 NAND Flash的汉明码差错控制算法23-27
- 3.1 汉明码的描述23
- 3.2 汉明码在NAND Flash差错控制中的应用23-25
- 3.3 汉明码ECC算法的实现与验证25-26
- 3.4 本章小结26-27
- 第四章 NAND Flash的二进制BCH码差错控制算法27-40
- 4.1 BCH码的基本概念27-29
- 4.1.1 伽罗华域27-28
- 4.1.2 BCH码的描述28-29
- 4.2 BCH码的编码29-30
- 4.3 BCH码的译码30-37
- 4.3.1 伴随式的计算31-32
- 4.3.2 伯利坎普-梅西迭代算法32-35
- 4.3.3 无求逆的树形迭代算法35-37
- 4.3.4 错误位置数的计算和错误的纠正37
- 4.4 适合NAND的二进制BCH码差错控制算法设计37-38
- 4.5 二进制BCH码差错控制算法的软件仿真38-39
- 4.6 本章小结39-40
- 第五章 NAND Flash的RS码差错控制算法40-46
- 5.1 RS码的基本概念40
- 5.2 RS码的编码40-41
- 5.3 RS码的译码41-42
- 5.3.1 伴随式的计算41-42
- 5.3.2 错误位置多项式的计算42
- 5.3.3 Forney算法确定错误位置的值42
- 5.4 适合NAND Flash的RS码差错控制算法设计42-43
- 5.5 RS码纠错能力的验证43-45
- 5.6 本章小结45-46
- 第六章 NAND Flash差错控制算法的优化46-58
- 6.1 错误模型的建立46-48
- 6.1.1 普通随机错误模型46-47
- 6.1.2 多位元数据翻转错误模型47
- 6.1.3 页错误模型47-48
- 6.2 RS码在多位元数据翻转错误模型中的优化设计48-49
- 6.3 二进制BCH码在页错误模型中的优化设计49-51
- 6.4 擦写测试平台的建立51-53
- 6.5 测试结果分析与讨论53-57
- 6.5.1 嵌入BCH码ECC的NAND Flash产品的擦写测试53-54
- 6.5.2 多位元数据翻转错误模型的RS码优化方案测试54-55
- 6.5.3 页错误模型的二进制BCH码优化方案测试55-57
- 6.6 本章小结57-58
- 总结与展望58-60
- 参考文献60-63
- 攻读硕士学位期间发表的学术论文63-65
- 致谢65
【参考文献】
中国期刊全文数据库 前8条
1 李勇志;;NAND FLASH在电子战设备中的应用[J];电子信息对抗技术;2007年05期
2 李进;金龙旭;韩双丽;李国宁;王文华;;空间图像存储器NAND Flash的可靠性[J];光学精密工程;2012年05期
3 王方雨;何昕;朱玮;魏仲慧;余辉龙;;基于闪存存储的RS码检纠错算法[J];计算机工程;2011年12期
4 李进;金龙旭;李国宁;张珂;傅瑶;朱鹏;;ECC嵌入BCH码的NAND闪存纠错算法[J];哈尔滨工程大学学报;2012年11期
5 张文静;姚智慧;;NAND Flash控制器中RS码的设计与验证[J];计算机工程与设计;2013年07期
6 李华;贾振国;;基于NAND FLASH的大容量视频存储系统的设计[J];物联网技术;2012年02期
7 李璐;周海燕;;一种含BCH编解码器的SLC/MLC NAND FLASH控制器的VLSI设计[J];现代电子技术;2009年07期
8 徐富新;刘应;刘雁群;向超;;模式可配置的NAND Flash纠错系统设计与实现[J];中南大学学报(自然科学版);2013年05期
中国硕士学位论文全文数据库 前1条
1 毛旭富;BCH编解码器在NAND Flash主控中的研究与优化实现[D];上海交通大学;2013年
本文关键词:基于NAND Flash的差错控制算法研究,,由笔耕文化传播整理发布。
本文编号:407773
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/407773.html