CN104810056A - 一种基于自适应ldpc码的nand闪存差错控制器 - Google Patents
一种基于自适应ldpc码的nand闪存差错控制器 Download PDFInfo
- Publication number
- CN104810056A CN104810056A CN201510098969.1A CN201510098969A CN104810056A CN 104810056 A CN104810056 A CN 104810056A CN 201510098969 A CN201510098969 A CN 201510098969A CN 104810056 A CN104810056 A CN 104810056A
- Authority
- CN
- China
- Prior art keywords
- selector
- flash memory
- ldpc code
- nand flash
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于自适应LDPC码的NAND闪存差错控制器,包括码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器、码率为0.5的LDPC码编码器、第一选择器、码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器、码率为0.5的LDPC码译码器、第二选择器、擦写次数记录模块和NAND闪存控制器。所述的擦写次数记录模块的输入端连接NAND闪存控制器,输出端连接第一选择器和第二选择器。所述的第一选择器的输出端与NAND闪存控制器的数据输入接口相连,第二选择器的输入端与NAND闪存控制器的数据输出接口相连。本发明具有有效保证了NAND闪存的可靠性和延长了闪存的寿命等优点。
Description
技术领域
本发明涉及一种电子通信技术,特别涉及一种基于自适应LDPC码的NAND闪存差错控制器。
背景技术
NAND闪存由于具有高性能、大存储密度、非易失性和低功耗等显著的优点,成为了许多系统的存储媒介而得到广泛的应用,例如手提电脑、手机和数码相机等。由于NAND闪存每1比特的价格逐年下降,并且随着技术规模的加快和MLC技术的出现,使得NAND闪存可以在更多的应用中使用,例如是应用于个人计算机和企业级服务器的固态硬盘(SSD)。在最近几年,随着大数据时代的来临,基于NAND闪存的全闪存阵列(SSA)受到国外大型厂商的青睐,并开始作为存储设备应用于数据中心。以NAND闪存为基础的存储设备市场将会越来越广阔。
NAND闪存已经成为一种非常重要的存储技术。尽管它们有很广泛的应用,但闪存仍然不够理想。随着特征尺寸的缩小(目前已低于20nm)和MLC技术的应用,NAND闪存变得更易于遭受到电路级噪声的影响,以致可靠性和寿命的减少。随着芯片尺寸的缩小,NAND闪存出现的错误越来越多,可靠性越来越低。通常在NAND闪存应用的系统中,系统要求的错误率(BER)小于10-15。
目前的ECC架构均采用高于0.9码率的BCH码或LDPC码,构建的是一个前期容量高寿命短的系统,不能同时满足某些存储系统对NAND闪存的可靠性和寿命的要求。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于自适应LDPC码的NAND闪存差错控制器。
本发明的目的通过下述技术方案实现:一种基于自适应LDPC码的NAND闪存差错控制器,包括码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器、码率为0.5的LDPC码编码器、第一选择器、码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器、码率为0.5的LDPC码译码器、第二选择器、擦写次数记录模块和NAND闪存控制器。所述的码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器、码率为0.5的LDPC码编码器作为第一选择器的输入端。所述的码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器、码率为0.5的LDPC码译码器LDPC码译码器作为第二选择器的输出端。所述的擦写次数记录模块的输入端连接NAND闪存控制器,输出端连接第一选择器和第二选择器。所述的第一选择器的输出端与NAND闪存控制器的数据输入接口相连,第二选择器的输入端与NAND闪存控制器的数据输出接口相连。
所述第一选择器的根据擦写次数记录模块送入的状态信号,从三个信号输入端选择其中一个信号送到输出端。
所述第二选择器的根据擦写次数记录模块送入的状态信号,把输入的信号送到三个信号输出端的其中一个。
状态信号的变化有三个阶段:当NAND闪存的擦写次数小于等于1000时,第一选择器选取码率为0.9的LDPC码编码器输出的数据,第二选择器选取码率为0.9的LDPC码译码器进行译码;当NAND闪存的擦写次数大于1000小于等于3000时,第一选择器选取码率为0.7的LDPC码编码器输出的数据,第二选择器选取码率为0.7的LDPC码译码器进行译码;当NAND闪存的擦写次数大于3000时,第一选择器选取码率为0.5的LDPC码编码器输出的数据,第二选择器选取码率为0.5的LDPC码译码器进行译码。
本发明相对于现有技术具有如下的优点及效果:本发明的自适应LDPC码的NAND闪存差错控制器中的ECC架构,根据NAND闪存误码率的增加,采用码率不同的LDPC码作为闪存的纠错码。当NAND闪存在开始原始误码率比较低的时候,使用高码率的LDPC码,当原始误码率逐渐升高的时候,采用码率降低的LDPC码。这样可以使得NAND闪存误码增加的时候,仍然能保证闪存的可靠性,并大大延长了闪存的寿命。
附图说明
图1是本发明的自适应LDPC码的NAND闪存差错控制器结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,一种基于自适应LDPC码的NAND闪存差错控制器,包括码率为0.9的LDPC码编码器(LDPC码码长为4096)、码率为0.7的LDPC码编码器(LDPC码码长为4096)、码率为0.5的LDPC码编码器(LDPC码码长为4096)、第一选择器(即:选择器1)、码率为0.9的LDPC码译码器(LDPC码码长为4096)、码率为0.7的LDPC码译码器(LDPC码码长为4096)、码率为0.5的LDPC码译码器(LDPC码码长为4096)、第二选择器(即:选择器2)、擦写次数记录模块和NAND闪存控制器。所述的码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器、码率为0.5的LDPC码编码器作为第一选择器的输入端。所述的码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器、码率为0.5的LDPC码译码器LDPC码译码器作为第二选择器的输出端。所述的擦写次数记录模块的输入端连接NAND闪存控制器,输出端连接第一选择器和第二选择器。所述的第一选择器的输出端与NAND闪存控制器的数据输入接口相连,第二选择器的输入端与NAND闪存控制器的数据输出接口相连。
设码率为0.9的LDPC码的生成矩阵为G1,上述的码率为0.9的LDPC码编码器利用生成矩阵G1直接进行编码。设码率为0.7的LDPC码的生成矩阵为G2,上述的码率为0.7的LDPC码编码器利用生成矩阵G2直接进行编码。设码率为0.5的LDPC码的生成矩阵为G3,上述的LDPC码编码器利用生成矩阵G3直接进行编码。
上述LDPC的译码器的译码采用最小和译码算法。
所述第一选择器的根据擦写次数记录模块送入的状态信号,从三个信号输入端选择其中一个信号送到输出端。
所述第二选择器的根据擦写次数记录模块送入的状态信号,把输入的信号送到三个信号输出端的其中一个。
状态信号的变化有三个阶段:当NAND闪存的擦写次数小于等于1000时,第一选择器选取码率为0.9的LDPC码编码器输出的数据,第二选择器选取码率为0.9的LDPC码译码器进行译码;当NAND闪存的擦写次数大于1000小于等于3000时,第一选择器选取码率为0.7的LDPC码编码器输出的数据,第二选择器选取码率为0.7的LDPC码译码器进行译码;当NAND闪存的擦写次数大于3000时,第一选择器选取码率为0.5的LDPC码编码器输出的数据,第二选择器选取码率为0.5的LDPC码译码器进行译码。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于自适应LDPC码的NAND闪存差错控制器,其特征在于,包括:码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器、码率为0.5的LDPC码编码器、第一选择器、码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器、码率为0.5的LDPC码译码器、第二选择器、擦写次数记录模块和NAND闪存控制器;所述的码率为0.9的LDPC码编码器、码率为0.7的LDPC码编码器和码率为0.5的LDPC码编码器均作为第一选择器的输入端;所述的码率为0.9的LDPC码译码器、码率为0.7的LDPC码译码器和码率为0.5的LDPC码译码器均作为第二选择器的输出端;所述的擦写次数记录模块的输入端连接NAND闪存控制器,第一选择器和第二选择器均与输出端连接;所述的第一选择器的输出端与NAND闪存控制器的数据输入接口相连,第二选择器的输入端与NAND闪存控制器的数据输出接口相连。
2.根据权利要求1的基于自适应LDPC码的NAND闪存差错控制器,其特征在于,所述第一选择器根据擦写次数记录模块送入的状态信号,从三个信号输入端选择一个信号送到输出端。
3.根据权利要求2的基于自适应LDPC码的NAND闪存差错控制器,其特征在于,所述第二选择器的根据擦写次数记录模块送入的状态信号,把输入的信号送到三个信号输出端的其中一个输出端。
4.根据权利要求2的基于自适应LDPC码的NAND闪存差错控制器,其特征在于,所述状态信号的变化具有三个阶段:
第一个阶段:当NAND闪存的擦写次数小于等于1000时,第一选择器选取码率为0.9的LDPC码编码器输出的数据,第二选择器选取码率为0.9的LDPC码译码器进行译码;
第二个阶段:当NAND闪存的擦写次数大于1000小于等于3000时,第一选择器选取码率为0.7的LDPC码编码器输出的数据,第二选择器选取码率为0.7的LDPC码译码器进行译码;
第三个阶段:当NAND闪存的擦写次数大于3000时,第一选择器选取码率为0.5的LDPC码编码器输出的数据,第二选择器选取码率为0.5的LDPC码译码器进行译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510098969.1A CN104810056A (zh) | 2015-03-05 | 2015-03-05 | 一种基于自适应ldpc码的nand闪存差错控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510098969.1A CN104810056A (zh) | 2015-03-05 | 2015-03-05 | 一种基于自适应ldpc码的nand闪存差错控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104810056A true CN104810056A (zh) | 2015-07-29 |
Family
ID=53694830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510098969.1A Pending CN104810056A (zh) | 2015-03-05 | 2015-03-05 | 一种基于自适应ldpc码的nand闪存差错控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104810056A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484558A (zh) * | 2016-09-20 | 2017-03-08 | 华中科技大学 | 一种基于可变码率的纠错码提高固态盘的可靠性方法 |
CN107294542A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | Mlc闪存中基于双层ldpc码的编、译码方法 |
CN107656831A (zh) * | 2017-08-21 | 2018-02-02 | 深圳市致存微电子企业(有限合伙) | 闪存纠错方法以及纠错装置 |
CN108255635A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种提升tlc闪存编码率的方法 |
CN109491829A (zh) * | 2018-10-19 | 2019-03-19 | 福州大学 | 基于自适应原模图ldpc码的nand闪存控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101999116A (zh) * | 2008-03-11 | 2011-03-30 | 艾格瑞系统有限公司 | 通过交叉页面扇区、多页面编码以及每一页面编码将数据存储在多级单元闪速存储器装置中的方法和设备 |
CN102099793A (zh) * | 2008-06-24 | 2011-06-15 | 桑迪士克以色列有限公司 | 根据固态存储器的擦除计数进行误差校正的方法和装置 |
CN102298969A (zh) * | 2010-05-17 | 2011-12-28 | 擎泰科技股份有限公司 | 多重错误更正码的可配置编码系统及方法 |
US20120151301A1 (en) * | 2010-12-10 | 2012-06-14 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
WO2014051611A1 (en) * | 2012-09-28 | 2014-04-03 | Duke University | Systems for and methods of extending lifetime of non-volatile memory |
-
2015
- 2015-03-05 CN CN201510098969.1A patent/CN104810056A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101999116A (zh) * | 2008-03-11 | 2011-03-30 | 艾格瑞系统有限公司 | 通过交叉页面扇区、多页面编码以及每一页面编码将数据存储在多级单元闪速存储器装置中的方法和设备 |
CN102099793A (zh) * | 2008-06-24 | 2011-06-15 | 桑迪士克以色列有限公司 | 根据固态存储器的擦除计数进行误差校正的方法和装置 |
CN102298969A (zh) * | 2010-05-17 | 2011-12-28 | 擎泰科技股份有限公司 | 多重错误更正码的可配置编码系统及方法 |
US20120151301A1 (en) * | 2010-12-10 | 2012-06-14 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
WO2014051611A1 (en) * | 2012-09-28 | 2014-04-03 | Duke University | Systems for and methods of extending lifetime of non-volatile memory |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484558A (zh) * | 2016-09-20 | 2017-03-08 | 华中科技大学 | 一种基于可变码率的纠错码提高固态盘的可靠性方法 |
CN107294542A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | Mlc闪存中基于双层ldpc码的编、译码方法 |
CN107294542B (zh) * | 2017-05-23 | 2020-08-11 | 南京邮电大学 | Mlc闪存中基于双层ldpc码的编、译码方法 |
CN107656831A (zh) * | 2017-08-21 | 2018-02-02 | 深圳市致存微电子企业(有限合伙) | 闪存纠错方法以及纠错装置 |
CN108255635A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种提升tlc闪存编码率的方法 |
CN109491829A (zh) * | 2018-10-19 | 2019-03-19 | 福州大学 | 基于自适应原模图ldpc码的nand闪存控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10581458B2 (en) | Data storage apparatus and operating method thereof | |
US10169143B2 (en) | Preferred state encoding in non-volatile memories | |
US10998923B2 (en) | Stopping criteria for layered iterative error correction | |
US7904790B2 (en) | Flash memory device error correction code controllers and related methods and memory systems | |
CN107408069B (zh) | 用于检测和缓解闪速存储器中的位线开路的装置和方法 | |
CN104810056A (zh) | 一种基于自适应ldpc码的nand闪存差错控制器 | |
CN106920575B (zh) | 数据存储装置及其操作方法 | |
US11243838B2 (en) | Methods and apparatuses for error correction | |
US10062418B2 (en) | Data programming method and memory storage device | |
EP3195131B1 (en) | Apparatus and method for mapping binary to ternary and its reverse | |
US9304851B2 (en) | Decoding with log likelihood ratios stored in a controller | |
US10431324B2 (en) | Data storage device for performing decoding operation and operating method thereof | |
US10917111B2 (en) | Error correction code unit and error correction method | |
KR20160075001A (ko) | 플래시 메모리 시스템 동작 방법 | |
US10606695B2 (en) | Error correction circuit and memory system including the same | |
EP3499376B1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
US11528038B2 (en) | Content aware decoding using shared data statistics | |
CN111796774B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
Fukuda et al. | Non-volatile random access memory and NAND flash memory integrated solid-state drives with adaptive codeword error correcting code for 3.6 times acceptable raw bit error rate enhancement and 97% power reduction | |
CN116940986A (zh) | 用于减少ecc功率消耗的方法及系统 | |
KR101433672B1 (ko) | 연접 비씨에이치 인코딩 회로, 이를 포함하는 스토리지 디바이스 및 스토리지 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150729 |