适用于NAND闪存的LDPC译码方法与流程

文档序号:15492178发布日期:2018-09-21 20:49阅读:664来源:国知局

本发明涉及一种ldpc译码方法,具体的说,是一种适用于nand闪存的ldpc译码方法。



背景技术:

随着微电子工艺的不断发展,nand闪存的存储密度大幅度增加导致误码率急剧升高,传统的纠错码架构已经不能满足nand闪存的纠错需求。低密度奇偶校验码(low-density-parity-checkcode,ldpc)因其接近香农限的优良性能和低译码复杂度近年来引起人们的大量研究,已被802.16e、dvbs2、数字广播电视等数字通信系统相继采用。近几年来ldpc码也开始被学者们探讨在nand闪存上作为纠错码应用,期望能降低nand闪存不断增大的数据误码率,保障数据的可靠性。nand闪存的数据误码率不断提高,数据传输速度也越来越快,因此构造适用于nand闪存的高性能ldpc码,设计高速ldpc码编码算法对nand闪存的未来进一步发展具有十分重大的价值。但nand闪存所具有的误码率高、冗余空间小、数据传输速度快等特点,使得ldpc码在nand闪存上应用时存在较大的困难,需要进一步研究高码率且性能优良的ldpc码构造法,以及设计低编码时延的高速译码算法。

ldpc码的迭代译码算法大致可分为两种:一种是硬判决算法,一种是软判决算法。硬判决比特翻转(bf)算法在迭代过程中传递的是二进制硬信息,而软判决算法在迭代过程中传递的是与概率相关的实数软信息。硬判决算法操作简单,易于硬件实现,但是性能较差;软判决算法性能较好,但实现复杂度较高。y.kou等提出了一种加权比特翻转(wbf)算法,获得了性能与复杂度之间的良好折衷,在实时性要求较高的通信系统中得到广泛应用。在每轮迭代中,wbf算法利用信道输出序列的软信息对每个变量节点按某种方法计算其可靠性,将可靠性最小的变量节点进行翻转,wbf算法在性能上优于硬判决bf译码算法,如各种改进的加权比特翻转算法,wbf,mwbf,gbbf,imwbf,rrwbf以及smwbf等算法进一步提高了译码性能,但译码复杂度均有所增加。

nand闪存所用ldpc码的特点为:

1、误码率高、冗余空间小。nand闪存ldpc码率一般90%左右,远高于数字通信系统所有ldpc。纠错率逼近ldpc纠错理论值,对译码算法性能要求高。

2、校正矩阵列重γ小。γ一般为4或5,所以比特翻转算法对小列重校正矩阵译码性能较低.

3、硬译码为二进制硬信息(0,1)。而一般比特翻转的改进算法,需借助接收比特的可靠度信息等软信息,在nand闪存系统中无法获得。

4、要求时延短,译码需具有并行结构。

5、要求功耗低,计算复杂度低。

因此需要研究一种适用于nand闪存的ldpc译码方法。



技术实现要素:

本发明要解决的技术问题是提供一种适用于nand闪存的ldpc译码方法,引入错误比特判决标准en,在不显著增加计算量的基础上,获得了优于比特翻转算法的性能。

为了解决所述技术问题,本发明采用的技术方案是:适用于nand闪存的ldpc译码方法,包括以下步骤:

s01)、设ldpc码的码长为n、信息位长为k,其校验矩阵hmn为m×n的稀疏矩阵[hmn],m、n、k为大于0的正整数,0≤m≤m-1,0≤n≤n-1,hmn的每列有γ个1,每行有ρ个1,γ、ρ为大于或者等于0的整数,校验矩阵的大小为m*n,每行用h0,h1,……,hm-1表示,其中hj=(hj,0,hj,1,……,hj(n-1)),0≤j<m;将参与第m个校验方程的比特的集合即校验矩阵hmn第m行的1所在的列的集合记为n(m)={n:hmn=1};将第n个比特参与的校验方程的集合即校验矩阵hmn第n列的1所在的行的集合记为m(n)={m:hmn=1};

读取码字序列c=[c0,c1,…,cn-1],该码字序列经过调制后得到得到信道输出序列r=[r0,r1,…,rn-1],根据序列r进行判决得到二进制硬判决序列z=[z0,z1,…,zn-1],序列z的码元比特zn为:

,0≤n≤n−1;

s02)、初始化最大迭代数cnt,

s03)、判断最大迭代数是否小于零,如果是,则返回译码失败,结束译码;否则进入一下步骤;

s04)、根据硬判决序列z计算校正因子s=[s0,s1,s2,…..sm-1],

s05)、判断校正因子是否为零,如果校正因子为零,则译码成功,结束译码,否则进入下一步;

s06)、对序列z中的每一个码元比特zn,计算其参与的不满足校验方程的个数

fn,并求得fn的最大值max_fn,其中

s07)、对不满足校验方程个数最大的码元比特zn,计算zn的错误比特判决标准en,

s08)、对不满足校验方程个数最大的码元比特zn,如果其错误比特判决标准en大于阈值t,翻转对应的码元比特zn;

s09)、迭代次数减一,重复步骤s03-s08。

本发明所述的适用于nand闪存的ldpc译码方法,步骤s01中,码字序列c=[c0,c1,…,cn-1]经过二进制相移键控调制得到序列x=[x0,x1,…,xn-1],其中xn=1-2cn,(0≤n≤n−1),x进入均值为零,方差为σ2=n0/2的awgn信道后得到信道输出序列r=[r0,r1,…,rn-1],其中rn=xn+vn,(0≤n≤n−1),vn为加性高斯白噪声。

本发明的有益效果:nand闪存ldpc纠错码具有的误码率高、冗余空间小、数据传输速度快等特点。且相对数字通信系统,nand闪存:(1)列重γ小,标准比特翻转算法效率低(2)信号均为二进制数(0,1),无法获得接收比特的可靠度信息,无法使用标准改进比特翻转算法所需等软信息。针对nand闪存ldpc硬译码以上特点,本发明引入新的判断变量en,在不显著增加计算量的基础上,获得了优于比特翻转算法的性能。针对nand闪存电路,新纠错算法还有以下优点:逻辑复杂度低,编程电路简单;仅需实数运算,无浮点运算或乘除运算,运算功耗小;适用于并行结构,运算时延低;翻转阈值可调,通过调整阈值,可实现时延和纠错性能的动态平衡。

附图说明

图1为实施例1中nand存储系统的原理框图;

图2为本方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的限定。

如图2所示,为本实施例所述适用于nand闪存的ldpc译码方法的流程图,该方法包括以下步骤:

s01)、设ldpc码的码长为n、信息位长为k,其校验矩阵hmn为m×n的稀疏矩阵[hmn],m、n、k为大于0的正整数,0≤m≤m-1,0≤n≤n-1,hmn的每列有γ个1,每行有ρ个1,γ、ρ为大于或者等于0的整数,校验矩阵的大小为m*n,每行用h0,h1,……,hm-1表示,其中hj=(hj,0,hj,1,……,hj(n-1)),0≤j<m;将参与第m个校验方程的比特的集合即校验矩阵hmn第m行的1所在的列的集合记为n(m)={n:hmn=1};将第n个比特参与的校验方程的集合即校验矩阵hmn第n列的1所在的行的集合记为m(n)={m:hmn=1};

读取码字序列c=[c0,c1,…,cn-1],该码字序列经过调制后得到得到信道输出序列r=[r0,r1,…,rn-1],根据序列r进行判决得到二进制硬判决序列z=[z0,z1,…,zn-1],序列z的码元比特zn为:

,0≤n≤n−1;

s02)、初始化最大迭代数cnt,

s03)、判断最大迭代数是否小于零,如果是,则返回译码失败,结束译码;否则进入一下步骤;

s04)、根据硬判决序列z计算校正因子s=[s0,s1,s2,…..sm-1],

s05)、判断校正因子是否为零,如果校正因子为零,则译码成功,结束译码,否则进入下一步;

s06)、对序列z中的每一个码元比特zn,计算其参与的不满足校验方程的个数

fn,并求得fn的最大值max_fn,其中

s07)、对不满足校验方程个数最大的码元比特zn,计算zn的错误比特判决标准en,

s08)、对不满足校验方程个数最大的码元比特zn,如果其错误比特判决标准en大于阈值t,翻转对应的码元比特zn;

s09)、迭代次数减一,重复步骤s03-s08。

本实施例中,步骤s01中,码字序列c=[c0,c1,…,cn-1]经过二进制相移键控调制得到序列x=[x0,x1,…,xn-1],其中xn=1-2cn,(0≤n≤n−1),x进入均值为零,方差为σ2=n0/2的awgn信道后得到信道输出序列r=[r0,r1,…,rn-1],其中rn=xn+vn,(0≤n≤n−1),vn为加性高斯白噪声。

如图1所示,为一个nand存储系统的原理框图,可在该nand存储系统中使用上述译码方法。nand存储系统包括nand闪存、闪存存储控制器和主机,闪存存储控制器中包含ldpc码译码器。闪存存储控制器主要负责数据的读写和数据的存储及其它功能。闪存存储控制器从主机获得数据经过ldpc码译码器进行编码运算而产生的数据存储到闪存存储器中。如果主机想要获得闪存存储器中的数据需要闪存存储控制器来从闪存存储器中读取出来,经过ldpc码解码器进行译码运算而产生数据输入给主机。

针对nand闪存所用ldpc码校正矩阵列重小和二进制硬信息的特点,本方法引入错误比特判决标准en,一是可以使错误定位最优化,二是计算复杂度或计算次数最小化。

本方法在每轮迭代中,首先根据上一轮的硬判决序列计算校正因子的值。如果所有的校正因子均为0,则停止迭代,并显示译码成功,否则计算每一个比特参与的校正因子为1的校验方程的个数,将参与不满足校验方程个数大于某个预先设定门限t的比特翻转,得到一个新的硬判决序列,然后进入下一轮迭代,直至译码成功或者达到最大迭代次数并显示译码失败。适当地选择门限t的大小,可达到最佳的译码性能。

错误比特判决标准en,将参与某个校验方程的所有变量节点所对应的不满足校验方程的个数都进行了统计,提高了错误定位的准确度。同时,计算只包括加法运算,不涉及浮点运算或乘除法运算,计算量无明显增加。

更进一步,由于nand闪存的ldpc矩阵列重γ很低,一般为4或者5,而不满足校验方程的个数最大为该比特位对应ldpc矩阵的列重,为4或者5,所以不满足校验方程的个数最多的比特位远远多于需要翻转的比特位数,误翻转比特的概率很高,大大降低了比特翻转算法的性能。通过en值使得翻转的准确性和灵活性都大大提高。

本译码方法收敛速度快,译码复杂度与标准的bf算法近似,且具有优于wbf算法的纠错性能。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

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