CN108762977A - 一种固态盘中纠错算法的优化方法及系统 - Google Patents

一种固态盘中纠错算法的优化方法及系统 Download PDF

Info

Publication number
CN108762977A
CN108762977A CN201810542822.0A CN201810542822A CN108762977A CN 108762977 A CN108762977 A CN 108762977A CN 201810542822 A CN201810542822 A CN 201810542822A CN 108762977 A CN108762977 A CN 108762977A
Authority
CN
China
Prior art keywords
nand
service life
llr0
llr1
life stage
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
Application number
CN201810542822.0A
Other languages
English (en)
Inventor
殷军博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810542822.0A priority Critical patent/CN108762977A/zh
Publication of CN108762977A publication Critical patent/CN108762977A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及存储技术领域,提供一种固态盘中纠错算法的优化方法及系统,方法包括:控制IO读单元获取IO读单元所对应的NAND块的擦除次数,得到NAND的使用寿命阶段;将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从硬解码LLR表查找与NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;将查找到的LLR0和LLR1特征值发送给LDPC硬解码单元;使用LLR0和LLR1特征值,控制LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给IO读单元,从而提升对NAND原始数据的解码能力,降低了读请求延时,从而优化了固态硬盘的纠错算法。

Description

一种固态盘中纠错算法的优化方法及系统
技术领域
本发明属于存储技术领域,尤其涉及一种固态盘中纠错算法的优化方法及系统。
背景技术
计算机闪存设备NAND技术不断进步,从之前的2D的SLC、MLC、TLC到3D TLC,容量增大,成本降低,但可靠性也随着降低,之前的BCH(Bose-Chaudhuri-Hocquenghem codes)算法已经不能满足3D NAND的可靠性要求,低密度奇偶校验码(Low Density Parity CheckCode,LDPC)已经全面应用于3D NAND的固态硬盘中。LDPC中有硬解码和软解码两个过程,第一阶段是硬解码,不需要软件过多参与,如果硬解码恢复出来的数据正确,就不需要再做软解码;软解码需要软件提供对数似然比LLR table以及多次读取NAND的原始数据作为输入给LDPC软解码单元(增加读时延)。
LDPC硬解码需要软件设置LLR0和LLR1的值,而这个值关系到硬解码能力,LLR0和LLR1默认设置成相等值,也就是说0和1的概率是相同的,NAND生命初期0和1相同,但随着NAND寿命损耗,0和1的概率不通,导致硬解码失败概率变大,以至于进入LDPC软纠错增加读请求时延。
发明内容
本发明的目的在于提供一种固态盘中纠错算法的优化方法,旨在解决现有技术中LLR0和LLR1默认设置成相等值,导致硬解码失败,增加读请求时延的问题。
本发明是这样实现的,一种固态盘中纠错算法的优化方法,所述方法包括下述步骤:
控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;
将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;
将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;
使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给所述IO读单元。
作为一种改进的方案,所述方法还包括下述步骤:
预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息。
作为一种改进的方案,所述预先生成硬解码LLR表的步骤具体包括下述步骤:
将NAND的使用寿命划分为若干个阶段;
测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
作为一种改进的方案,每个所述NAND的使用寿命阶段的步长为1000步;
步长为1至步长1000为第一个使用寿命阶段;
步长为1001至步长2000为第二个使用寿命阶段;
以此类推;
步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。
作为一种改进的方案,所述LDPC硬解码单元为flash控制器。
本发明的另一目的在于提供一种固态盘中纠错算法的优化系统,所述系统包括:
使用寿命阶段获取模块,用于控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;
比对模块,用于将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;
特征值发送模块,用于将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;
解码模块,用于使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码;
反馈模块,用于将解码后的数据反馈给所述IO读单元。
作为一种改进的方案,所述系统还包括:
硬解码LLR表生成模块,用于预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息。
作为一种改进的方案,所述硬解码LLR表生成模块具体包括:
阶段划分模块,用于将NAND的使用寿命划分为若干个阶段;
特征值测量模块,用于测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
关联对应关系建立模块,用于在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
作为一种改进的方案,每个所述NAND的使用寿命阶段的步长为1000步;
步长为1至步长1000为第一个使用寿命阶段;
步长为1001至步长2000为第二个使用寿命阶段;
以此类推;
步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。
作为一种改进的方案,所述LDPC硬解码单元为flash控制器。
在本发明实施例中,控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给所述IO读单元,从而提升对NAND原始数据的解码能力,降低了读请求延时,从而优化了固态硬盘的纠错算法。
附图说明
图1是本发明提供的固态盘中纠错算法的优化方法的实现流程图;
图2是本发明提供的预先生成硬解码LLR表的实现流程图;
图3是本发明提供的固态盘中纠错算法的优化系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明提供的固态盘中纠错算法的优化方法的实现流程图,其具体包括下述步骤:
在步骤S101中,控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段。
在步骤S102中,将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值。
在步骤S103中,将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元。
在该实施例中,所述LDPC硬解码单元为flash控制器。
在步骤S104中,使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给所述IO读单元。
在本发明实施例中,在执行上述步骤S101之前还需要执行下述步骤:
预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息;
其中,如图2所示,预先生成硬解码LLR表的步骤具体包括下述步骤:
在步骤S201中,将NAND的使用寿命划分为若干个阶段;
在步骤S202中,测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
在步骤S203中,在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
在该实施例中,每个所述NAND的使用寿命阶段的步长为1000步;
步长为1至步长1000为第一个使用寿命阶段;
步长为1001至步长2000为第二个使用寿命阶段;
以此类推;
步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。
例如,当获取到当前NAND块的擦除次数为7000次,这对应的使用寿命阶段为第七个使用寿命阶段,那么找出第七个使用寿命阶段所对应的LLR0和LLR1特征值即可。
在本发明实施例中,固态盘中纠错算法的优化方法中采用动态设置LLR0和LLR1特征值的方式,提升LDPC的硬解码能力。
图3示出了本发明提供的固态盘中纠错算法的优化系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
固态盘中纠错算法的优化系统包括:
使用寿命阶段获取模块11,用于控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;
比对模块12,用于将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;
特征值发送模块13,用于将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;
解码模块14,用于使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码;
反馈模块15,用于将解码后的数据反馈给所述IO读单元。
在该实施例中,硬解码LLR表生成模块16,用于预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息。
其中,硬解码LLR表生成模块16具体包括:
阶段划分模块17,用于将NAND的使用寿命划分为若干个阶段;
特征值测量模块18,用于测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
关联对应关系建立模块19,用于在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给所述IO读单元,从而提升对NAND原始数据的解码能力,降低了读请求延时,从而优化了固态硬盘的纠错算法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种固态盘中纠错算法的优化方法,其特征在于,所述方法包括下述步骤:
控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;
将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;
将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;
使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码,并将解码后的数据反馈给所述IO读单元。
2.根据权利要求1所述的固态盘中纠错算法的优化方法,其特征在于,所述方法还包括下述步骤:
预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息。
3.根据权利要求2所述的固态盘中纠错算法的优化方法,其特征在于,所述预先生成硬解码LLR表的步骤具体包括下述步骤:
将NAND的使用寿命划分为若干个阶段;
测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
4.根据权利要求3所述的固态盘中纠错算法的优化方法,其特征在于,每个所述NAND的使用寿命阶段的步长为1000步;
步长为1至步长1000为第一个使用寿命阶段;
步长为1001至步长2000为第二个使用寿命阶段;
以此类推;
步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。
5.根据权利要求4所述的固态盘中纠错算法的优化方法,其特征在于,所述LDPC硬解码单元为flash控制器。
6.一种固态盘中纠错算法的优化系统,其特征在于,所述系统包括:
使用寿命阶段获取模块,用于控制IO读单元获取所述IO读单元所对应的NAND块的擦除次数,得到所述NAND的使用寿命阶段;
比对模块,用于将获取到的NAND块的擦使用寿命阶段与预先设置的硬解码LLR表进行比对,从所述硬解码LLR表查找与所述NAND块的使用寿命阶段相匹配的LLR0和LLR1特征值;
特征值发送模块,用于将查找到的所述LLR0和LLR1特征值发送给LDPC硬解码单元;
解码模块,用于使用所述LLR0和LLR1特征值,控制所述LDPC硬解码单元对读取出的NAND原始数据进行解码;
反馈模块,用于将解码后的数据反馈给所述IO读单元。
7.根据权利要求6所述的固态盘中纠错算法的优化系统,其特征在于,所述系统还包括:
硬解码LLR表生成模块,用于预先生成硬解码LLR表,所述硬解码LLR表中包含有块擦除次数以及与块擦除次数相对应的LLR0和LLR1特征值信息。
8.根据权利要求7所述的固态盘中纠错算法的优化系统,其特征在于,所述硬解码LLR表生成模块具体包括:
阶段划分模块,用于将NAND的使用寿命划分为若干个阶段;
特征值测量模块,用于测量划分的每一个寿命阶段的NAND的LLR0和LLR1特征值信息;
关联对应关系建立模块,用于在每一个寿命阶段与与其对应的LLR0和LLR1特征值之间建立关联对应关系,生成所述硬解码LLR表。
9.根据权利要求8所述的固态盘中纠错算法的优化系统,其特征在于,每个所述NAND的使用寿命阶段的步长为1000步;
步长为1至步长1000为第一个使用寿命阶段;
步长为1001至步长2000为第二个使用寿命阶段;
以此类推;
步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。
10.根据权利要求9所述的固态盘中纠错算法的优化系统,其特征在于,所述LDPC硬解码单元为flash控制器。
CN201810542822.0A 2018-05-30 2018-05-30 一种固态盘中纠错算法的优化方法及系统 Pending CN108762977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810542822.0A CN108762977A (zh) 2018-05-30 2018-05-30 一种固态盘中纠错算法的优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810542822.0A CN108762977A (zh) 2018-05-30 2018-05-30 一种固态盘中纠错算法的优化方法及系统

Publications (1)

Publication Number Publication Date
CN108762977A true CN108762977A (zh) 2018-11-06

Family

ID=64004488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810542822.0A Pending CN108762977A (zh) 2018-05-30 2018-05-30 一种固态盘中纠错算法的优化方法及系统

Country Status (1)

Country Link
CN (1) CN108762977A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
CN104052498A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 最优化对数似然比的方法以及纠错方法和设备
CN105336379A (zh) * 2015-11-09 2016-02-17 联想(北京)有限公司 一种信息处理方法及固态存储器
US9397701B1 (en) * 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
CN107276594A (zh) * 2016-03-30 2017-10-20 慧荣科技股份有限公司 使用硬选取硬译码模式下的译码器产生软信息的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
US9397701B1 (en) * 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
CN104052498A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 最优化对数似然比的方法以及纠错方法和设备
CN105336379A (zh) * 2015-11-09 2016-02-17 联想(北京)有限公司 一种信息处理方法及固态存储器
CN107276594A (zh) * 2016-03-30 2017-10-20 慧荣科技股份有限公司 使用硬选取硬译码模式下的译码器产生软信息的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PMCCHINA: ""基于LDPC的下一代SSD控制器中的软解码"", 《CSDN博客 HTTPS://BLOG.CSDN.NET/PMC/ARTICLE/DETAILS/38299653》 *

Similar Documents

Publication Publication Date Title
US10498367B2 (en) Progressive effort decoder architecture
US8782500B2 (en) Systems and methods for error correction and decoding on multi-level physical media
CN109388518B (zh) 数据写入方法
KR101422050B1 (ko) 셀 당 멀티­비트인 플래시 메모리에서의 오류 보정 방법
US8250437B2 (en) Memory system and control method for the same
US8499217B2 (en) Memory device and error control codes decoding method
JP5364911B2 (ja) 動的ecc符号化率調節方法、装置、およびシステム
US9425828B2 (en) Memory device and memory system
US7904790B2 (en) Flash memory device error correction code controllers and related methods and memory systems
US8832526B2 (en) Data reading method, memory controller, and memory storage device
CN1898874B (zh) 具有子块处理和基于子块的停止标准的siso解码器及其方法
US8458568B2 (en) Systems and methods for memory devices
TWI613661B (zh) 用於補償快閃裝置之標稱電壓變化之系統及方法
US20160139987A1 (en) Generating soft read values using multiple reads and/or bins
EP2299362A2 (en) Forward error correction for memories
US10498362B2 (en) Low power error correcting code (ECC) system
US20090241009A1 (en) Encoding and/or decoding memory devices and methods thereof
US9348692B2 (en) Flash memory apparatus, memory controller and method for controlling flash memory
CN101502001A (zh) 在多电平单元存储设备内安排数据的方法
CN102693760A (zh) Nand快闪存储器的错误校正方法
JP2011512612A (ja) メモリ装置およびメモリデータ読み出し方法
KR101819152B1 (ko) 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
CN101958720A (zh) 缩短Turbo乘积码的编译码方法
US20140068376A1 (en) Memory controller and semiconductor storage device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 20181106