掌桥专利:专业的专利平台
掌桥专利
首页

一种在一个PAGE内使用不同LDPC译码率的数据保护管理方法

文献发布时间:2024-01-17 01:27:33


一种在一个PAGE内使用不同LDPC译码率的数据保护管理方法

技术领域

本发明涉及NAND数据存储相关技术领域,具体涉及一种在一个PAGE内使用不同LDPC译码率的数据保护管理方法。

背景技术

现有技术中,基于NAND的数据纠错方法包括过去采用的BCH码,现在采用的LDPC(低密度奇偶校验)码。LDPC码的一般使用原则是看NAND Flash每个Page的spare bytes有多少,以当下Page 16KB大小为例:LDPC CodeWord(CodeWord为LDPC编码单位)为4KB,所以会将一个page的spare bytes平均分成4份,并使用对应的LDPC译码模式。当译码不了时,则开始试着Read retry甚至LDPC soft bit来运算译码;但是Read retry和LDPC soft bit都会导致系统的效能和安全受到影响。

在对NAND FLASH特性分析时,发现error bits在一个page里增加和分布是不平均的,有些CodeWord早早就临界ECC error bits数,需要进行read retry,同时在同一个Page内的其它CodeWords error bits一直维持很低,结果ECC errors高的CodeWord早早就开始进行Read Retry,不仅影响系统性能,也会影响系统稳定性,并且如果系统对有Read Retry的Blocks早早启动Garbage Collection,系统不仅性能变差连系统寿命也变少。因此把spare bytes平均分给一个Page的4个CodeWord供LDPC译码用不是一种最优的方法。

现有专利CN109872764A公开了一种多级存储单元闪存的ECC多码率编解码系统及方法。该方法读取时以CodeWord(4KB+parity(spare))整体运算解LDPC,因此该方法的问题在于读upper/middle page时也要去读lower page的spare部分,这会影响系统性能,而且该方法需要HW(hardware)和FW(firmware)都要修改设计才能达成。

有鉴于上述的缺陷,当前亟需设计一种新型的使用LDPC译的数据保护管理方法,来解决上述缺陷。

发明内容

为了解决上述内容中提到的问题,本发明提供了一种在一个PAGE内使用不同LDPC译码率的数据保护管理方法,其通过根据CodeWord不同的error bits分配对应的sparebytes和LDPC译码能力,延缓使用了Read retry和LDPC soft bit,提升了数据纠错能力和系统稳定性,延长了系统寿命,并且本方法只需要修改FW,便于实现。

其技术方案是这样的:

一种在一个PAGE内使用不同LDPC译码率的数据保护管理方法,其特征在于:所述方法包括以下步骤:

步骤1、检测同一个PAGE内每个CodeWord的error bits数;

步骤2、根据CodeWord的error bits数的差异将每个CodeWord分级;

步骤3、根据CodeWord的级数,分配对应的spare bytes。

进一步的,所述步骤1中通过对NAND进行擦除、写入和读出来检测同一PAGE内每个CodeWord的error bits数。

进一步的,所述步骤2中根据CodeWord的error bits数的差异将每个CodeWord分级,具体设置为:error bits数相差超过30bits则增加一级。

进一步的,所述步骤3中分配规则为:如果每个CodeWord的级数相同,则将同一PAGE内所有的spare bytes进行平分;如果CodeWord的级数不都相同,则级数较高的CodeWord分配较多的spare bytes,级数较低的CodeWord分配较少的spare bytes。

进一步的,将LDPC的译码能力分为不同档次,每个档次对应不同的spare bytes数,档次越高spare bytes数越多。

进一步的,如果每个CodeWord的级数相同,则每个CodeWord分配档次相同的LDPC的译码能力,此时分配的档次为默认档次。

进一步的,如果CodeWord的级数不都相同,则级数较高的CodeWord分配比默认档次高的LDPC的译码能力,级数较低的CodeWord分配比默认档次低的LDPC的译码能力。

进一步的,如果只有一个CodeWord的级数较高,其余CodeWord的级数相同,则级数较高的CodeWord分配最高档次的LDPC的译码能力,其余CodeWord分配最低档次的LDPC的译码能力。

进一步的,如果两个以上CodeWord的级数较高,其余CodeWord的级数相同,则级数较高的CodeWord均分配比默认档次高一等的LDPC的译码能力,其余CodeWord分配比默认档次低一等的LDPC的译码能力。

本发明的有益效果为:

本发明通过根据同一PAGE内CodeWord不同的error bits数进行分级,然后根据CodeWord的级数分配对应的spare bytes和LDPC译码能力,延缓使用了Read retry和LDPCsoft bit,提升了数据纠错能力和系统稳定性,进而避险了过早的Garbage Collection,延长了系统寿命,并且本方法只需要修改FW,便于实现。

附图说明

图1为现有技术的spare bytes分配方法;

图2为实施例1中的spare bytes分配方法;

图3为实施例2中的spare bytes分配方法。

具体实施方式

下面结合实施例对本发明做进一步的描述。

以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。

如图1所示,为现有技术的spare bytes分配方法:平均分配一个Page的sparebytes给4个CodeWord,并选择一个LDPC译码能力档次。以长江储存9050为例:Page=16KBdata+2048B spare,LDPC的译码能力档次分为472/496/536/624/632B,一般会选择第二档次496B spare,可纠错为300bits。

由于error bits在一个page里增加和分布是不平均的,有些CodeWord早早就临界ECC error bits数,需要进行read retry,同时在同一个Page内的其它CodeWords errorbits一直维持很低,结果ECC errors高的CodeWord早早就开始进行Read Retry,不仅影响系统性能和系统稳定性,而且如果系统对有Read Retry的Blocks早早启动GarbageCollection,系统寿命也会变少。

实施例1

以长江储存9050为例:如图2所示,通过对NAND进行擦除、写入和读出检测发现4个CodeWord有一个CodeWord的error bits特别多,相较于其余CodeWord多出60bits以上,其余三个CodeWord差不多,则将error bits特别多的CodeWord的级数设置为高于其他CodeWord,其他CodeWord的级数相同;然后其余三个CodeWord用第一级472spare bytes,约可以解290bits,而errorbits最多的那个CodeWord则用第五级632spare bytes,约可以解405bits;延缓使用了Read retry和LDPC soft bit,提升了数据纠错能力和系统稳定性,进而避险了过早的Garbage Collection,延长了系统寿命。

实施例2

以长江储存9050为例:如图3所示,通过对NAND进行擦除、写入和读出检测发现有两个CodeWord的errorbits数比另二个多出30bits以上,则将error bits较多的两个CodeWord的级数设置为高于另两个CodeWord;然后error bits少的两个CodeWord使用第一级472spare bytes,约可解290bits,另二个CodeWorderror bits比较多的用第三级536spare bytes,约可解350bits;延缓使用了Read retry和LDPC soft bit,提升了数据纠错能力和系统稳定性,进而避险了过早的Garbage Collection,延长了系统寿命。

尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术分类

06120116223785