一种基于3D闪存信道统计特性的LDPC码快速迭代译码方法

allin2023-04-12  109


一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法
技术领域
1.本发明涉及3d闪存系统领域,具体涉及一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法。


背景技术:

2.信息技术的迅猛发展的同时也产生了海量数据,据idc发布的最新版白皮书《dataage2025》显示,2025年全球数据量总和预测从163zb提高到175zb,这对存储设备提出了严峻的挑战。闪存介质凭借其大容量、高密度、低功耗、非易失性等优势广泛应用于智能手机、计算机存储系统等,特别是3d闪存已在存储系统中已经取代2d闪存芯片成为主流存储介质。
3.3dnand闪存引入了3d堆叠技术,在垂直放上有许多层(layer)组成。如图1所示,红色框所标记的为一个层,一个层包含许多个字线(wordline,wl)(如wl0~wl11),一个字线由很多个单元(cell)组成。对于tlc(triple-levelcell)型nand闪存,每个单元可以写入3个bit,分别被定义为最低有效比特(leastsignificantbit,lsb)、中间有效比特(centralsignificantbit,csb)、最高有效比特(mostsignificantbit,msb)。
4.由于3d闪存复杂的结构和高密度存储,噪声容错能力降低,可靠性也随之降低。传统的bch码的纠错能力有限,当前ldpc(lowdensityparitycheckcode)码现在已广泛应用于提高闪存系统的可靠性。
5.在ldpc译码过程中,首先获取每比特的对数似然比(loglikelihoodratios,llrs)信息(g.dong,n.xie,andt.zhang.ontheuseofsoft-decisionerrorcorrectioncodesinnandflashmemory[j].ieeetransactionsoncircuits&systemsiregularpapers,2011,58(2):429-439.),然后迭代更新以修正比特错误,迭代过程中变量节点的硬判决信息的绝对值越大,表示可靠性越高。ldpc码的译码迭代过程会带来大量的时间消耗,如果直接采用ldpc码,将导致译码延迟高,译码性能不佳。


技术实现要素:

[0006]
本发明的目的是提供一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法,用以提升闪存信道下的页译码迭代收敛速度。
[0007]
为了实现上述任务,本发明采用以下技术方案:
[0008]
一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法,逻辑页内写入的第一帧用于计算辅助译码所需的参数,则记第一帧为用于辅助译码帧,后续帧称为自适应译码帧;所述方法包括以下步骤:
[0009]
步骤1,初始化变量节点的初始消息
[0010]
1.1将信道传递给变量节点的消息赋值给vi
(0)ij
,作为变量节点i传递给相邻校验节点j的初始消息:
[0011]
vi
(0)ij
=li(1.1)
[0012]
其中,li表示信道传递给变量节点i的初始概率似然比消息;
[0013]
1.2对于辅助译码帧和自适应译码帧,计算li中所有正值的均值:
[0014]
meanllrinit=e{li|li>0}(1.2)
[0015]
上式中,meanllrinit表示li中所有正值的均值,e{
·
}表示期望函数;
[0016]
步骤2,迭代处理,更新变量节点的似然信息
[0017]
2.1校验节点消息处理
[0018]
(1)辅助译码帧的译码
[0019]
对所有的校验节点j和与其相邻的变量节点i∈rj,第l次迭代时,计算变量节点传向校验节点j的消息ci
(l)ji

[0020][0021]
其中,rj表示与校验节点j相邻的所有变量节点的集合,i

∈rj\i表示除去变量节点i的其他与校验节点j相邻的变量节点的集合;vi
(l-1)i'j
表示第l-1次迭代时变量节点i

接收到的相邻校验节点j传递过来的消息;
[0022]
(2)自适应译码帧的译码
[0023]
自适应译码帧使用步长λ辅助进行校验节点消息处理:
[0024]
当迭代次数l=1时,变量节点传向校验节点j的消息ci
(l)ji

[0025][0026]
当l》1时,变量节点传向校验节点j的消息ci
(l)ji

[0027][0028]
其中,meanllr为llr中所有正值的均值;
[0029]
2.2变量节点消息处理
[0030]
对所有的节点变量i和与其相邻的校验节点j∈ci,第l次迭代时,计算变量节点i接收的校验节点j传递来的消息vi
(l)ij

[0031][0032]
其中:ci表示与变量节点i相邻的所有校验节点的集合,j

∈ci\j表示去校验节点j的其他与变量节点i相邻的校验节点的集合,ci
(l)j'i
表示第l次迭代时,校验节点j

接收到的相邻变量节点i传递过来的信息;
[0033]
2.3译码判决
[0034]
(1)对所有变量节点i计算硬判决信息:
[0035][0036]
其中,l
(l)i
表示第l次迭代时变量节点i收到的所有似然信息;ci
(l)ji
表示第l次迭代,校验节点j接收到的相邻变量节点i传递过来的信息;
[0037]
(2)计算当前迭代下llr中所有正值的均值meanllr:
[0038]
meanllr=e{l
(l)i
|l
(l)i
>0}(2.5)
[0039]
其中,e{
·
}表示期望函数;
[0040]
若l
(l)i
》0,则令译码判决得到的码字中的第i个比特否则从而得到纠错后的码字
[0041]
进一步地,li的计算过程为:
[0042][0043]
上式中,pi(1)表示信道传递给第i个变量节点为1的初始概率;pi(0)表示信道传递给第i个变量节点为0的初始概率。
[0044]
进一步地,所述方法还包括:
[0045]
步骤3,若或者达到最大迭代次数,则结束运算,否则从步骤1继续迭代;其中,h表示校验矩阵,上标t表示转置运算。
[0046]
进一步地,在迭代结束后:
[0047]
对于辅助译码帧,利用公式(2.5)得到meanllr并用公式(3.1)计算步长λ,用于逻辑页内辅助译码帧后的第一帧自适应译码帧在译码过程中校验节点的消息处理过程:
[0048][0049]
进一步地,对于每一帧自适应译码帧,通过公式(2.5)计算得到译码结束后的meanllr,并用公式(3.1)计算步长λ,用于下一帧自适应译码帧在译码过程中校验节点的消息处理过程。
[0050]
与现有技术相比,本发明具有以下技术特点:
[0051]
本发明相对于现有的ldpcbp译码算法,在提高译码收敛速度的同时,能对不同的页进行译码操作,并且只需要存储用于辅助译码的帧求得的步长即可,不需要额外存储两个页数据对应的初始llr信息和译码结果。
附图说明
[0052]
图1为3d闪存块的结构分布图;
[0053]
图2至图4为本发明提出的快速迭代译码方法(ffia)和传统的ldpcbp译码算法的性能曲线比较图;其中,图2为低页在不同噪声下基于闪存信道下的帧错误特性和llr统计特性的ldpc码;图3为中页在不同噪声下基于闪存信道下的帧错误特性和llr统计特性的ldpc码;图4为高页在不同噪声下基于闪存信道下的帧错误特性和llr统计特性的ldpc码。
具体实施方式
[0054]
数据序列经过ldpc编码后产生编码序列(codedbitsequence),编码序列经8进制调制后写入闪存的逻辑页中。因为信道中噪声的干扰,单元内存储的电荷量发生变化,导致读取出的数据发生差错,此时需要通过译码算法来进行纠错。
[0055]
根据码字的长度,一个逻辑页可以存储的帧的数量也不同(如图1所示,采用(n-m,
n)的码型进行编码,分成多个帧存放在一个逻辑页中。以block1为例,前面的m个bit为数据序列,后面的n-m个bit为冗余部分)。因为信道中噪声的干扰,单元内存储的电荷量发生变化,导致读取出的数据发生差错。此时如果直接进行译码纠错,则会造成高的迭代延迟。经过大量的实验分析,发明人发现虽然层间差异明显,但一个逻辑页内的帧的rber相近,同一个页内帧的rber标准差在0.003左右。因为闪存块和页的容量都是有限的,为了尽量少的带来额外空间负荷同时可以提高迭代收敛速度,本发明提出了一种基于闪存信道下的帧错误特性和llr统计特性的ldpc译码方法。
[0056]
ldpc码的译码是一种迭代概率译码算法,ldpc码由校验矩阵h来表示,每一列可以看作一个变量节点,每一行可以看作一个校验节点。矩阵表示的是校验节点和变量节点的连接关系,当h
ij
=1时,表示第i个变量节点与第j个校验节点连接,否则不连接。ldpcbp算法是一种迭代译码算法,变量节点通过某条边将其似然信息传递给连接的校验节点,校验节点再将满足校验方程下其他变量节点对该变量节点的估计传回给变量节点。重复上述步骤,形成迭代,不断更新变量点的似然信息。每次迭代后,对变量节点做判决,通过校验矩阵进行验证是否是一个码字,如果是则迭代结束,否则继续迭代,直到达到最大迭代次数。
[0057]
闪存中写入的码字受信道噪声的影响发生错误,故需要进行纠错处理。本发明主要优化点为结合逻辑页内的帧rber相近的特性,对纠错算法进行优化。
[0058]
一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法,包括:
[0059]
记逻辑页内写入的第一帧用于计算辅助译码所需的参数,则称第一帧为用于辅助译码帧,后续帧称为自适应译码帧;在整个迭代过程中;
[0060]
对于辅助译码帧和自适应译码帧,在初始化阶段设置对所有llr为正的初始值求均值的操作(如公式1.2所示),在迭代停止后通过公式(2.5)计算此时所有llr为正的值的均值meanllr,并用公式(3.1)计算步长λ,用于页内后续自适应译码帧的译码过程中校验节点信息处理的优化。
[0061]
本发明的具体步骤如下:
[0062]
步骤1,初始化变量节点的初始消息
[0063]
1.1将信道传递给变量节点的消息赋值给vi
(0)ij
,作为变量节点i传递给相邻校验节点j的初始消息(即迭代次数l为0时):
[0064]
vi
(0)ij
=li(1.1)
[0065]
其中,li表示信道传递给变量节点i的初始概率似然比消息,将其赋值给vi
(0)ij
;其中:
[0066][0067]
上式中,pi(1)表示信道传递给第i个变量节点为1的初始概率;pi(0)表示信道传递给第i个变量节点为0的初始概率。
[0068]
1.2对于辅助译码帧和自适应译码帧,计算li中所有正值的均值:
[0069]
meanllrinit=e{li|li>0}(1.2)
[0070]
上式中,meanllrinit表示li中所有正值的均值,e{
·
}表示期望函数。
[0071]
步骤2,迭代处理,更新变量节点的似然信息,以便进行步骤3判决处理。
[0072]
2.1校验节点消息处理
[0073]
(1)辅助译码帧进行译码时使用公式(2.1)
[0074]
对所有的校验节点j和与其相邻的变量节点i∈rj,第l次迭代时,计算变量节点传向校验节点j的消息ci
(l)ji

[0075][0076]
其中,rj表示与校验节点j相邻的所有变量节点的集合,i

∈rj\i表示除去变量节点i的其他与校验节点j相邻的变量节点的集合;vi
(l-1)i'j
表示第l-1次迭代时变量节点i

接收到的相邻校验节点j传递过来的消息。
[0077]
(2)自适应译码帧的译码使用公式(2.2.1和2.2.2)
[0078]
自适应译码帧使用步长λ辅助进行校验节点消息处理:
[0079]
当迭代次数l=1时,变量节点传向校验节点j的消息ci
(l)ji

[0080][0081]
当l》1时,变量节点传向校验节点j的消息ci
(l)ji

[0082][0083]
其中,meanllr为llr中所有正值的均值。
[0084]
2.2变量节点消息处理
[0085]
对所有的节点变量i和与其相邻的校验节点j∈ci,第l次迭代时,计算变量节点i接收的校验节点j传递来的消息vi
(l)ij

[0086][0087]
其中:ci表示与变量节点i相邻的所有校验节点的集合,j

∈ci\j表示去校验节点j的其他与变量节点i相邻的校验节点的集合,ci
(l)j'i
表示第l次迭代时,校验节点j

接收到的相邻变量节点i传递过来的信息。
[0088]
2.3译码判决
[0089]
(1)对所有变量节点i计算硬判决信息:
[0090][0091]
其中,l
(l)i
表示第l次迭代时变量节点i收到的所有似然信息;ci
(l)ji
表示第l次迭代,校验节点j接收到的相邻变量节点i传递过来的信息。
[0092]
(2)计算当前迭代下llr中所有正值的均值meanllr:
[0093]
meanllr=e{l
(l)i
|l
(l)i
>0}(2.5)
[0094]
其中,e{
·
}表示期望函数;
[0095]
若l
(l)i
》0,则令译码判决得到的码字中的第i个比特否则从而得到纠错后的码字
[0096]
步骤3,停止
[0097]
若或者达到最大迭代次数,则结束运算,否则从步骤1继续迭代;其中,h表
示校验矩阵,上标t表示转置运算。
[0098]
步骤4,迭代结束后:
[0099]
4.1对于辅助译码帧,利用公式(2.5)得到meanllr并用公式(3.1)计算步长λ,用于逻辑页内辅助译码帧后的第一帧自适应译码帧在译码过程中校验节点的消息处理过程(即公式2.2.1和2.2.2)。
[0100]
4.2对于每一帧自适应译码帧,通过公式(2.5)计算得到meanllr,并用公式(3.1)计算步长λ,用于下一帧自适应译码帧在译码过程中校验节点的消息处理过程(即公式2.2.1和2.2.2)。
[0101][0102]
仿真结果分析:
[0103]
测试芯片为型号为mt29f081teehaf的镁光悬浮删型3d nand闪存芯片,测试噪声环境参数设置为:
[0104]
环境一:擦除循环次数pe=5000,数据保留时间为t=4个月;
[0105]
环境二:擦除循环次数pe=10000,数据保留时间为t=4个月;
[0106]
环境三:擦除循环次数pe=10000,数据保留时间为t=12个月;
[0107]
低页、中页、高页在不同噪声下基于闪存信道下的帧错误特性和llr统计特性的ldpc码快速迭代译码方法和ldpc bp译码算法的性能曲线分别如图2、图3、图4所示。由图可知,基于闪存信道下的帧错误特性和llr统计特性的ldpc码快速迭代译码方法要优于ldpc bp译码算法。例如,假设在4个月和5000个p/e周期下,ber所需的性能是10-5
。对于lsb页,传统ldpc译码算法的迭代次数为2.4次,而提出的ffia-da译码算法的迭代次数为3.24次,减少了25.9%。对于csb页面,传统ldpc译码算法的迭代次数为4.4次,而ffia-da译码算法的迭代次数为6次,减少了26.7%。对于msb页,传统ldpc译码算法的迭代次数为3.8次,而ffia-da译码算法的迭代次数为8.4次,减少54.8%。
[0108]
综上所述,误比特率性能仿真实验说明了:在闪存信道下,本发明提出的基于闪存信道下的帧错误特性和llr统计特性的ldpc码快速迭代译码方法比ldpc bp译码算法误比特性能表现更加优异,收敛速度有很大的提升,特别是在高噪声下。
[0109]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种基于3d闪存信道统计特性的ldpc码快速迭代译码方法,其特征在于,逻辑页内写入的第一帧用于计算辅助译码所需的参数,则记第一帧为用于辅助译码帧,后续帧称为自适应译码帧;所述方法包括以下步骤:步骤1,初始化变量节点的初始消息1.1将信道传递给变量节点的消息赋值给vi
(0)ij
,作为变量节点i传递给相邻校验节点j的初始消息:vi
(0)ij
=l
i
(1.1)其中,l
i
表示信道传递给变量节点i的初始概率似然比消息;1.2对于辅助译码帧和自适应译码帧,计算l
i
中所有正值的均值:meanllrinit=e{l
i
|l
i
>0}(1.2)上式中,meanllrinit表示l
i
中所有正值的均值,e{
·
}表示期望函数;步骤2,迭代处理,更新变量节点的似然信息2.1校验节点消息处理(1)辅助译码帧的译码对所有的校验节点j和与其相邻的变量节点i∈r
j
,第l次迭代时,计算变量节点传向校验节点j的消息ci
(l)ji
:其中,r
j
表示与校验节点j相邻的所有变量节点的集合,i

∈r
j
\i表示除去变量节点i的其他与校验节点j相邻的变量节点的集合;vi
(l-1)i'j
表示第l-1次迭代时变量节点i

接收到的相邻校验节点j传递过来的消息;(2)自适应译码帧的译码自适应译码帧使用步长λ辅助进行校验节点消息处理:当迭代次数l=1时,变量节点传向校验节点j的消息ci
(l)ji
:当l>1时,变量节点传向校验节点j的消息ci
(l)ji
:其中,meanllr为llr中所有正值的均值;2.2变量节点消息处理对所有的节点变量i和与其相邻的校验节点j∈c
i
,第l次迭代时,计算变量节点i接收的校验节点j传递来的消息vi
(l)ij
:其中:c
i
表示与变量节点i相邻的所有校验节点的集合,j

∈c
i
\j表示去校验节点j的其他与变量节点i相邻的校验节点的集合,ci
(l)j'i
表示第l次迭代时,校验节点j

接收到的相邻变量节点i传递过来的信息;
2.3译码判决(1)对所有变量节点i计算硬判决信息:其中,l
(l)i
表示第l次迭代时变量节点i收到的所有似然信息;ci
(l)ji
表示第l次迭代,校验节点j接收到的相邻变量节点i传递过来的信息;(2)计算当前迭代下llr中所有正值的均值meanllr:meanllr=e{l
(l)i
|l
(l)i
>0}(2.5)其中,e{
·
}表示期望函数;若l
(l)i
>0,则令译码判决得到的码字中的第i个比特否则从而得到纠错后的码字2.根据权利要求1所述的基于3d闪存信道统计特性的ldpc码快速迭代译码方法,其特征在于,l
i
的计算过程为:上式中,p
i
(1)表示信道传递给第i个变量节点为1的初始概率;p
i
(0)表示信道传递给第i个变量节点为0的初始概率。3.根据权利要求1所述的基于3d闪存信道统计特性的ldpc码快速迭代译码方法,其特征在于,所述方法还包括:步骤3,若或者达到最大迭代次数,则结束运算,否则从步骤1继续迭代;其中,h表示校验矩阵,上标t表示转置运算。4.根据权利要求1所述的基于3d闪存信道统计特性的ldpc码快速迭代译码方法,其特征在于,在迭代结束后:对于辅助译码帧,利用公式(2.5)得到meanllr并用公式(3.1)计算步长λ,用于逻辑页内辅助译码帧后的第一帧自适应译码帧在译码过程中校验节点的消息处理过程:5.根据权利要求4所述的基于3d闪存信道统计特性的ldpc码快速迭代译码方法,其特征在于,对于每一帧自适应译码帧,通过公式(2.5)计算得到译码结束后的meanllr,并用公式(3.1)计算步长λ,用于下一帧自适应译码帧在译码过程中校验节点的消息处理过程。

技术总结
本发明公开了一种基于3D闪存信道统计特性的LDPC码快速迭代译码方法,包括:初始化变量节点的初始消息,对于辅助译码帧和自适应译码帧,计算初始消息中所有正值的均值:对辅助译码帧和自适应译码帧进行译码,其中自适应译码帧使用步长辅助进行校验节点消息处理;对变量节点进行消息处理,之后进行译码判决,得到纠错后的码字;并在迭代结束后计算步长,用于后续自适应译码帧在译码过程中校验节点的消息处理过程。本发明相对于现有的LDPC BP译码算法,在提高译码收敛速度的同时,能对不同的页进行译码操作,并且只需要存储用于辅助译码的帧求得的步长即可,不需要额外存储两个页数据对应的初始LLR信息和译码结果。据对应的初始LLR信息和译码结果。据对应的初始LLR信息和译码结果。


技术研发人员:韩国军 李英阁 刘畅 翟雄飞 丁晨
受保护的技术使用者:广东工业大学
技术研发日:2022.03.29
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-10278.html

最新回复(0)