一种适用于MLC NAN闪存的LDPC码译码方法技术

技术编号:20925489 阅读:30 留言:0更新日期:2019-04-20 11:40
本发明专利技术公开了一种适用于MLC NAND闪存的LDPC码译码方法,包括:(1)确定待译码数据所属页的类型,若为低页,则转入步骤(2);否则,转入步骤(3);(2)对待译码数据进行LDPC码译码,并保存译码结果;译码结束;(3)获得同一单元中译码后的低页数据,根据所获得的低页数据和待译码数据确定存储单元的阈值电压范围;根据所确定的阈值电压范围计算对数似然比;以所计算的对数似然比为译码输入,对待译码数据进行LDPC码译码;译码结束。本发明专利技术能够提高译码成功率、减少译码迭代次数,从而达到降低译码延迟、提高闪存读性能的目的。

A LDPC Decoding Method for MLC NAN Flash Memory

The invention discloses an LDPC decoding method suitable for MLC NAND flash memory, which includes: (1) determining the type of page to which the decoded data belongs, then transferring to step (2); otherwise, transferring to step (3); (2) treating the decoded data with LDPC decoding and preserving the decoding result; (3) obtaining the decoded low-page data in the same unit, and according to the obtained low-page data. Data and data to be decoded determine the threshold voltage range of the storage unit; calculate the logarithmic likelihood ratio according to the determined threshold voltage range; decode the decoded data with the calculated logarithmic likelihood ratio as input; decode the decoded data with LDPC; end the decoding. The invention can improve the decoding success rate and reduce the number of decoding iterations so as to reduce the decoding delay and improve the flash memory reading performance.

【技术实现步骤摘要】
一种适用于MLCNAN闪存的LDPC码译码方法
本专利技术属于计算机存储纠错
,更具体地,涉及一种适用于NANDMLC闪存的LDPC码译码方法。
技术介绍
NAND闪存是一种非易失性存储介质,基于其存储密度高、单位成本低、读写速度快等优点,NAND闪存已经成为存储领域的应用主流。但是随着闪存工艺尺寸的缩小和存储密度的增加,NAND闪存的误码率也不断增高,相比于传统的BCH码,LDPC码在高噪声下依然具有强大的纠错能力,因而LDPC码越来越广泛地应用于NAND闪存中。然而,LDPC码在数据读写的过程中会带来额外的读写延迟,从而降低NAND闪存的性能。MLCNAND闪存中,一个存储单元存储两位数据,这两位属于不同的数据页,分别是高页和低页,根据存储单元阈值电压的大小,存储单元被分为四个状态,并且这四个状态被编码为对应的数据“11”、“10”、“00”和“01”左边的是低页数据,右边的是高页数据。外围电路需要借助于一系列读参考电压确定存储单元存储的数据,将存储阈值电压和读参考电压比较大小就可以确定存储单元中的数据。闪存中的存储单元受到噪声的干扰后,阈值电压会发生变化,相邻的两个状态的阈值电压分布会发生重叠,使得读取出来的数据出现错误。MLCNAND闪存受到干扰后的阈值电压模型如图1所示,实线代表的电压值VERF1、VREF2和VREF3为默认的读参考电压,虚线代表的电压值为可改变的读参考电压。现有的LDPC码译码方法如图2所示,使用默认的三个读参考电压可以得到阈值电压的范围,读出数据后可使用LDPC硬判决译码。如果相邻状态的阈值电压分布发生重叠,会读出错误的数据。若LDPC硬判决译码失败,则应该改变读参考电压,得到更加精确的阈值电压范围,使用软判决译码得到正确数据。软判决译码失败后可以进一步改变读参考电压,进行下一轮的软判决译码,直到所有可用的读参考电压都被使用,无法再改变读参考电压。在LDPC码的译码过程中,需要先根据读取的数据确定对应的阈值电压范围,然后根据所确定的阈值电压范围计算对数似然比(Log-LikelihoodRatio,LLR)作为译码输入,所确定的阈值电压范围越小,获得的译码输入越精确,则LDPC码的译码效率越高。但要获得更小的阈值电压范围,需要多次改变读参考电压,从而导致LDPC码译码过程中的读延迟增加。
技术实现思路
针对现有技术的缺陷和改进需求,本专利技术提供了一种适用于MLCNAND闪存的LDPC码译码方法,其目的在于,降低MLCNAND闪存中LDPC码的译码延迟,从而提高闪存的性能。为实现上述目的,本专利技术提供了一种适用于MLCNAND闪存的LDPC码译码方法,包括如下步骤:(1)确定待译码数据所属页的类型,若为低页,则转入步骤(2);否则,转入步骤(3);(2)对待译码数据进行LDPC码译码,并保存译码结果;译码结束;(3)获得同一单元中译码后的低页数据,并根据低页数据对待译码数据进行LDPC码译码;译码结束。属于同一存储单元的两位数据,虽然属于不同的页,但是受到噪声干扰后出现的错误具有一定的关联性,而且由于编码的特性,低页的原始误码率低于高页的原始误码率,所以低页的译码成功率高于高页的译码成功率,并且在译码的过程中低页的译码先于高页的译码。在本专利技术中,对高页数据进行译码时,利用同一单元的低页译码信息辅助高页数据的译码,可根据高页数据与低页数据之间的关联性缩小阈值电压范围,获得更加精确的译码输入,从而提高译码成功率、减少译码迭代次数,达到降低译码延迟、提高闪存读性能的目的。进一步地,步骤(3)包括:根据低页数据和待译码数据确定存储单元的阈值电压范围;根据阈值电压范围计算对数似然比;以对数似然比为译码输入,对待译码数据进行LDPC码译码。更进一步地,若低页数据为“1”且在译码前后没有翻转,并且待译码数据为“1”,则阈值电压范围为(-∞,VREF1],且对数似然比为:若低页数据为“1”且在译码前后没有翻转,并且待译码数据为“0”,则阈值电压范围为(VREF1,VREF2],且对数似然比为:若低页数据为“0”且在译码前后没有翻转,并且待译码数据为“1”,则阈值电压范围为(VREF3,∞],且对数似然比为:若低页数据为“0”且在译码前后没有翻转,并且待译码数据为“0”,则阈值电压范围为(VREF2,VREF3],且对数似然比为:若低页数据在译码前后发生翻转,则对数似然比为:LLR(MSB)=LLRMAX;其中,ER、P1、P2和P3分别为存储单元存储数据“11”、“10”、“00”和“01”时对应的存储单元状态,VREF1、VREF2和VREF3均为默认读参考电压,且VREF1<VREF2<VREF3,p(S)(x)表示阈值电压为x时待译码数据发生错误前存储单元状态为S的概率,S∈{ER,P1,P2,P3},LLRMAX表示大于50的常数。对于存储单元中的高页数据,若读出数据为1,可以确定阈值电压范围为(-∞,VREF1]∪(VREF3,+∞],若读出数据为0,可以确定阈值电压范围为(VREF1,VREF3],仅根据高页数据确定的阈值电压范围较大;根据同一单元中低页数据的值,可以进一步确定阈值电压范围为(-∞,VREF1]、(VREF1,VREF2]、(VREF2,VREF3]和(VREF3,+∞)之中的某个范围,由此缩小了阈值电压范围,可以得到更加精确的译码输入。对于一个码字来说,如果译码前后在某一位上面发生翻转,则表明这一位所在的存储单元的阈值电压状态发生了偏移,导致读出数据错误。由于阈值电压状态偏移多偏移向相邻状态,且阈值电压相邻状态的编码为只相差一位的格雷码,所以若阈值电压状态偏移至相邻状态导致存储单元某一位发生翻转,则同单元的另一位数据是不变的。由于低页数据错误发生在P1和P2重叠区域,所以若存储单元低页数据译码前后发生翻转,则表明低页数据读取错误,阈值电压处于P1或P2状态。而P1和P2状态的高页数据都为0,所以同一单元高页数据有很大概率为0,LLR可以设置为一个很大的值LLRMAX。总体而言,通过本专利技术所构思的以上技术方案,与现有技术相比,由于在对高页数据进行译码时,会结合同一单元中译码后的低页数据确定存储单元的阈值电压范围,由此能够有效缩小所确定的阈值电压范围,提供更为精确的译码输入,从而能够提高译码成功率、减少译码迭代次数,达到降低译码延迟、提高闪存读性能的目的。附图说明图1为现有的MLCNAND闪存的存储单元阈值电压分布示意图;图2为现有的LDPC码译码方法示意图;图3为本专利技术实施例提供的使用于MLCNAND闪存的LDPC码译码方法流程图;图4为本专利技术实施例提供的译码输入计算区域示意图;图5为采用传统译码方法及本专利技术提供的译码方法进行译码测试的测试结果。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。在详细介绍本专利技术的技术方案之前,先对作为译码输入的对数似然比LLR的计算作一个简要说明。对数似然比为对应数据为0的概率与对应数据为1的概率本文档来自技高网
...

【技术保护点】
1.一种适用于MLC NAND闪存的LDPC码译码方法,其特征在于,包括如下步骤:(1)确定待译码数据所属页的类型,若为低页,则转入步骤(2);否则,转入步骤(3);(2)对所述待译码数据进行LDPC码译码,并保存译码结果;译码结束;(3)获得同一单元中译码后的低页数据,并根据所述低页数据对所述待译码数据进行LDPC码译码;译码结束。

【技术特征摘要】
1.一种适用于MLCNAND闪存的LDPC码译码方法,其特征在于,包括如下步骤:(1)确定待译码数据所属页的类型,若为低页,则转入步骤(2);否则,转入步骤(3);(2)对所述待译码数据进行LDPC码译码,并保存译码结果;译码结束;(3)获得同一单元中译码后的低页数据,并根据所述低页数据对所述待译码数据进行LDPC码译码;译码结束。2.如权利要求1所述的适用于MLCNAND闪存的LDPC码译码方法,其特征在于,其特征在于,所述步骤(3)包括:根据所述低页数据和所述待译码数据确定存储单元的阈值电压范围;根据所述阈值电压范围计算对数似然比;以所述对数似然比为译码输入,对所述待译码数据进行LDPC码译码。3.如权利要求2所述的适用于MLCNAND闪存的LDPC码译码方法,其特征在于,若所述低页数据为“1”且在译码前后没有翻转,并且所述待译码数据为“1”,则所述阈值电压范围为(-∞,VREF1],且所述对数似然比为:若所述低页数...

【专利技术属性】
技术研发人员:童薇刘景宁冯丹赵雨桐覃鸿巍赵威
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1