一种用于NAND闪存的获取译码软值的方法和装置与流程

文档序号:17069334发布日期:2019-03-08 23:10阅读:330来源:国知局
一种用于NAND闪存的获取译码软值的方法和装置与流程

本申请涉及存储器技术领域,尤其涉及一种用于nand闪存的获取译码软值的方法和装置。



背景技术:

随着电子技术的发展,单位面积上容纳的存储单元越来越多,单元之间的间距越来越小,因此也导致了差错率的增加。

nand闪存(nandflash)是近年来发展迅猛的一种非易失性随机访问存储介质,nand闪存中的误码主要是由擦写次数增加引起的老化、相邻单元写入干扰、长时间存储电荷流失、读操作分布等效应而引起的。差错率的增加也大大降低了nand闪存的使用寿命,例如,当所有差错控制手段都无法保证10-15的误码率的情况下,nand闪存就将被当成失效。

前向纠错编码是nand系统最重要的差错控制编码,其通过产生一定的冗余比特,与信息比特形成校验关系,可以有效地对产生的误码进行纠正。为了尽可能地增加nand闪存的使用寿命,减少误码,现代的nand闪存中一般都采用强大的可逼近性能限的纠错编码,如ldpc码或polar码等。为了获得更好的纠错性能,译码往往采用软输入似然比的迭代译码算法来获得逼近性能限的性能。因此,获得精确的译码软输入似然比值(likelihoodratio)是十分重要的一步。

译码输入的似然比软值一般由nand闪存中的存储单元的电压分布的概率密度函数推得,由于nand闪存中的数据受前述各种效应影响明显,其分布的概率密度函数十分复杂,且具有时变性,很难实时获得解析解。

现有技术中已经提出了一些解决方案。例如,美国专利us8429500b2中提出了一种用于通信或者存储系统的软判决计算方法。在该方法中,通过估算所收到信号的概率密度函数来计算似然比(llr)软信息值。然而,由于该方法是通过已知的接收信号的电压概率分布来进行似然比软值的计算,而nand闪存随着时间和读写次数的变化,电压概率分布也会变化,因此将造成较大的似然比软值计算误差。

另外,美国专利us8775913b2中提出了一种对数域的似然比软信息获取方法。该方法是通过非线性映射来降低生成似然比软值过程中概率密度函数的非高斯性带来的影响。但是,由于非线性映射不能很好地匹配和跟踪概率密度函数的变化,因此只能是近似,从而也将造成似然比软值的估算不精确。

另外,美国专利us9329935b2中提出了一种根据nand中错误的个数和已读取数据的直方图动态调整读取电压的分布,以达到动态调整软输出值的目的。但是,该方法是使用直方图的方法来动态获取概率密度函数,缺乏稳定性,且精确度不高。

另外,美国专利us2017093427a1中提出了一种似然比软值的非线性映射方法,来降低生成似然比软值过程中概率密度函数的非高斯性带来的影响。但是,该方法是通过统计分析的方法来提前获取电压的概率分布的参数,形成查找表并存入nand控制器中,供不同时间和读写次数译码时来进行查表调用,由于nand存储器个体之间的差异,调用时间,调用模型也存在不精确性。

另外,美国专利us8856615b1中提出了一种基于过去的性能跟踪解码器的对数似然比的数据存储设备,利用以前的已经译码成功的数据来更新llr值,供当前或新的译码使用。但是,该方法是使用已经译出的、过时的数据来更新llr的方案,因此不具有完全的实时性,复杂度高,普适性差。

综上可知,现有方案都存在复杂度大,适用性差的问题,而且都不能很好的适应突发的电压分布的改变,从而带来译码的结果不准确。另外,现有技术中的方法对生成似然比软值所采用的概率密度函数敏感,如果使用了不准确的概率密度函数,不能很好的逼近nand闪存中的存储单元的电压分布,则译码的错误率很高。



技术实现要素:

有鉴于此,本发明提供了一种用于nand闪存的获取译码软值的方法和装置,从而可以直接得到比较准确的译码软值。

本发明的技术方案具体是这样实现的:

一种用于nand闪存的获取译码软值的方法,该方法包括如下步骤:

步骤a,读写控制器通过预设的参考电压对nand闪存中各单元的电压值进行读取;

步骤b,读写控制器根据所读取的电压值进行硬判决译码;

步骤c,判断是否正确译码,如果是,则执行步骤i;否则,执行步骤d;

步骤d,读写控制器计算所读取的每个寄存器电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值;

步骤e,将加权软值输入纠错编码迭代译码器进行软判决译码;

步骤f,判断是否正确译码,如果是,则执行步骤i;否则,执行步骤g;

步骤g,判断当前的参考电压级数是否为预设的最大参考电压级数,如果是,则执行步骤i;否则,执行步骤h;

步骤h,将当前的参考电压的级数增加一级,再使用增加后的参考电压对nand闪存中各单元的电压值进行读取;返回执行步骤d;

步骤i,输出译码结果作为读出数据。

较佳的,所述读写控制器计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值包括:

当对一个nand闪存中的存储单元有可能的p个状态,每种状态的门限电压值分别为x0,x1,x3,…,xp-1时,针对所读取的电压值y,读写控制器计算该读取电压值与各状态门限电压的电压差之间的平方距离:(y-x0)2,(y-x1)2,(y-x2)2,…,(y-xp-1)2,并将计算得到的平方距离作为译码的初始软值。

较佳的,通过如下的公式计算得到加权软值:

λ(y)=a×(y-xp)2+b

其中,λ(y)为加权软值,y为所读取的电压值,xp为第p个状态的门限电压值,a和b为标量。

较佳的,通过如下的公式计算得到加权软值:

λ(y)=f((y-xp)2)

其中,λ(y)为加权软值,y为所读取的电压值,xp为第p个状态的门限电压值,f为非线性函数。

较佳的,使用低密度奇偶校验码码、turbo乘积码或极化码进行译码,且译码过程与电压值的分布函数以及电压值的数字特征信息无关。

本发明中还提出了一种用于nand闪存的获取译码软值的装置,该装置包括:读写控制器和纠错编码迭代译码器;

所述读写控制器,用于通过预设的参考电压对nand闪存中各单元的电压值进行读取,根据所读取的电压值进行硬判决译码;当正确译码时,输出译码结果作为读出数据;当译码不正确时,计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,将当前的加权软值输入纠错编码迭代译码器;

所述纠错编码迭代译码器,用于对加权软值进行纠错编码,并进行软判决译码;当正确译码时,输出译码结果作为读出数据;当译码不正确时,判断当前的参考电压级数是否为预设的最大参考电压级数;如果当前的参考电压级数为预设的最大参考电压级数,则输出译码结果作为读出数据;如果当前的参考电压级数不是预设的最大参考电压级数,则将当前的参考电压的级数增加一级,再将增加后的参考电压输出至所述读写控制器,使得所述读写控制器使用增加后的参考电压对nand闪存中各单元的电压值进行读取,并计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值,为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,再将当前的加权软值输入纠错编码迭代译码器。

如上可见,在本发明中的用于nand闪存的获取译码软值的方法和装置中,读写控制器可以通过预设的参考电压对nand闪存中各单元的电压值进行读取,并进行硬判决译码;当译码正确时,读写控制器可以计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,因此可以利用电压差平方距离来获取初始软值,并进行加权后直接进行译码即可得到比较准确的译码软值,而不需要去获取似然比软值。

本发明中的上述用于nand闪存的获取译码软值的方法和装置,可以基于电压差平方距离来获取初始软值,并进行加权后直接进行译码,而不需要去获取似然比软值,不用对其进行对数似然比的计算,避免了复杂的指数和对数运算,不需要对nand闪存的存储单元中的电压阈值分布进行详细的估计,也无需预先知道其分布函数,甚至不需要已知其分布函数的任何数字特征(例如,均值和方差),因此具有复杂度低、稳定性好的特点,适用于多种不同的分布,均能取得优异的性能。

附图说明

图1为本发明实施例中的用于nand闪存的获取译码软值的方法的流程图。

图2为本发明实施例中的用于nand闪存的获取译码软值的装置的结构示意图。

具体实施方式

为使本发明的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明作进一步详细的说明。

图1为本发明实施例中的用于nand闪存的获取译码软值的方法的流程图。

如图1所示,本发明实施例中的用于nand闪存的获取译码软值的方法包括如下所述步骤:

步骤101,读写控制器通过预设的参考电压对nand闪存中各单元的电压值进行读取。

在本步骤中,当读写控制器(例如,固体硬盘ssd的读写控制器)收到读请求后,该读写控制器可以通过预设的参考电压对nand闪存中各单元的电压值进行读取,从而获得各单元的读取电压值。

步骤102,读写控制器根据所读取的电压值进行硬判决译码。

步骤103,判断是否正确译码,如果是,则执行步骤109;否则,执行步骤104。

步骤104,读写控制器计算所读取的每个寄存器电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值。

在本步骤,读写控制器将对其所读取的每个电压值都进行上述的操作,计算读取电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值,然后再将初始软值与其对应的加权系数相乘,得到用于译码的加权软值。

例如,较佳的,在本发明的一个具体实施例中,假设一个nand闪存中的存储单元有可能的p个状态,每种状态的门限电压值分别为x0,x1,x3,…,xp-1,则针对所读取的电压值y,读写控制器将计算该读取电压值与各状态门限电压的电压差之间的平方距离:(y-x0)2,(y-x1)2,(y-x2)2,…,(y-xp-1)2,并将计算得到的平方距离作为译码的初始软值。

然后,再对初始软值进行加权处理,即先获取该初始软值对应的加权系数,再将初始软值与其对应的加权系数相乘,得到用于译码的加权软值。

步骤105,将加权软值输入纠错编码迭代译码器进行软判决译码。

步骤106,判断是否正确译码,如果是,则执行步骤109;否则,执行步骤107。

步骤107,判断当前的参考电压级数是否为预设的最大参考电压级数,如果是,则执行步骤109;否则,执行步骤108。

步骤108,将当前的参考电压的级数增加一级,再使用增加后的参考电压对nand闪存中各单元的电压值进行读取;返回执行步骤104。

步骤109,输出译码结果作为读出数据。

通过上述的步骤101~109,即可得到比较准确的译码似然比软值。

另外,在本发明的技术方案中,可以使用多种实现方法来实现上述的步骤104中的加权处理。以下将以其中的几种具体实现方式为例对本发明的技术方案进行详细的介绍。

具体实施例一(线性加权):

在该具体实施例中,可以通过如下的公式计算得到加权软值:

λ(y)=a×(y-xp)2+b

其中,λ(y)为加权软值,y为所读取的电压值,xp为第p个状态的门限电压值,a和b为标量。

在本发明的技术方案中,可以在译码前,或译码中,或译码后设置a和b的具体取值。

另外,对于从不同的存储单元读取的电压值,a的取值可以相同也可以不同,b的取值可以相同也可以不同,但a和b的取值与电压值的分布函数以及电压值的数字特征信息无关。

具体实施例二(非线性加权):

在该具体实施例中,可以通过如下的公式计算得到加权软值:

λ(y)=f((y-xp)2)

其中,λ(y)为加权软值,y为所读取的电压值,xp为第p个状态的门限电压值,f为非线性函数。

在本发明的技术方案中,可以在译码前,或译码中,或译码后设置f的具体函数形式。

另外,对于从不同的存储单元读取的电压值,f的函数形式可以相同也可以不同,但f的函数形式与电压值的分布函数以及电压值的数字特征信息无关。

由上可知,在本发明的技术方案中,在对加权后的加权软值进行译码时,可以采用任何可以利用加权软值的软输入译码器进行译码,例如,可以使用低密度奇偶校验码(ldpc)码、turbo乘积码(turboproductcodes)、极化码(polarcodes)等进行译码,且译码过程与电压值的分布函数以及电压值的数字特征信息无关。

另外,较佳的,在本发明的一个具体实施例中,可以根据nand闪存在不同的生命周期区段(例如,不同的使用时间周期段,不同的p/e循环次数段等)的电压分布特性,预先计算得到具有不同混合分布函数的加权函数,形成查找表,预存在nand闪存的读写控制器的rom中,供不同的时间段译码查表调用。

另外,在本发明的技术方案中,还提出了一种用于nand闪存的获取译码软值的装置,具体请参见图2。

图2是本发明实施例中的用于nand闪存的获取译码软值的装置的结构示意图。如图2所示,该获取译码软值的装置包括:读写控制器21和纠错编码迭代译码器22;

所述读写控制器21,用于通过预设的参考电压对nand闪存24中各单元25的电压值进行读取,根据所读取的电压值进行硬判决译码;当正确译码时,输出译码结果作为读出数据;当译码不正确时,计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,将当前的加权软值输入纠错编码迭代译码器22;

所述纠错编码迭代译码器22,用于对加权软值进行纠错编码,并进行软判决译码;当正确译码时,输出译码结果作为读出数据;当译码不正确时,判断当前的参考电压级数是否为预设的最大参考电压级数;如果当前的参考电压级数为预设的最大参考电压级数,则输出译码结果作为读出数据;如果当前的参考电压级数不是预设的最大参考电压级数,则将当前的参考电压的级数增加一级,再将增加后的参考电压输出至所述读写控制器21,使得所述读写控制器21使用增加后的参考电压对nand闪存24中各单元25的电压值进行读取,并计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值,为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,再将当前的加权软值输入纠错编码迭代译码器22。

通过使用上述的用于nand闪存的获取译码软值的装置,也可直接得到比较准确的译码似然比软值。

综上所述,在本发明的技术方案中,读写控制器可以通过预设的参考电压对nand闪存中各单元的电压值进行读取,并进行硬判决译码;当译码正确时,读写控制器可以计算所读取的每个电压值与各状态门限电压的电压差之间的平方距离,并将计算得到的平方距离作为初始软值;为每个初始软值设置加权系数,将初始软值与对应的加权系数的乘积作为用于译码的加权软值,因此可以利用电压差平方距离来获取初始软值,并进行加权后直接进行译码即可得到比较准确的译码软值,而不需要去获取似然比软值。

本发明中的上述用于nand闪存的获取译码软值的方法和装置,可以基于电压差平方距离来获取初始软值,并进行加权后直接进行译码,而不需要去获取似然比软值,不用对其进行对数似然比的计算,避免了复杂的指数和对数运算,不需要对nand闪存的存储单元中的电压阈值分布进行详细的估计,也无需预先知道其分布函数,甚至不需要已知其分布函数的任何数字特征(例如,均值和方差),因此具有复杂度低、稳定性好的特点,适用于多种不同的分布,均能取得优异的性能。

而且,本发明的技术方案通用性好,适用于多种非高斯分布的电压阈值;对于器件中电压瞬变的分布改变,无需改动软值的计算也能很好地适用。

另外,本发明的技术方案无需对标准的信道译码器进行任何改动,适用性好。

另外,本发明的技术方案对突发的或者复杂的储存单元电压改变不敏感,仍然能够保证比较好的性能,因此稳定性好。

另外,本发明的技术方案性能优异,能够逼近最优化的理想完全确知电压概率分布特性的性能(理想完全确知电压概率分布特性在现有技术的实际应用中不能实现)。

此外,本在发明的技术方案中,加权系数可以方便地进行调节,适用于产生不同权重的软值供不同的译码器使用,适用范围广。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1