基于自适应原模图LDPC码的NAND闪存控制系统的制作方法

文档序号:17160046发布日期:2019-03-20 00:33阅读:181来源:国知局
基于自适应原模图LDPC码的NAND闪存控制系统的制作方法

本发明涉及电子通信领域中的信道编码,尤其涉及一种基于自适应原模图ldpc码的nand闪存控制系统。



背景技术:

nand闪存目前在电子产品中广泛使用,而nand闪存伴随技术规模的加快,生产工艺的进步,例如多层单元闪存mlc(multi-level-cell)技术的成熟已经替代了slc(single-level-cell)技术,而且拥有更大存储容量的tlc(trinary-level-cell)技术的发展不断提高自己的市场占额。mlc,tlc等技术的存在,使得闪存的存储单元存储信息增加的同时,相邻电压层级的间隔也在减小,伴随而来的就是闪存系统误码率的提升。在闪存系统中,误码率主要来源于存储单元之间的干扰和随时间而来的存储电压损耗。因此,为了保证nand闪存能够在逐渐变高的误码率下保持稳定可靠的性能,在系统中运用更强的纠错码成为一个研究的重点方向。具有更强可靠性的nand闪存也将在未来市场中更具竞争力。

在nand闪存中,硬件单元会因为信息不断的擦除和写入而磨损,所以使用频率越高或是使用时间越久,闪存的工作性能就会越低。在mlc、tlc等技术应用下的nand闪存,随着容量的提升,本身尺寸就在缩小的nand闪存变得更容易受到电路级噪声的干扰,以致闪存在处理信息过程中出现错误的频率上升,可靠性下降。通常在nand闪存应用的系统中,要求错误率(ber)小于10-15

gallager所提出的的低密度奇偶检验(low-density-parity-check,ldpc)码是一类优越的纠错码,ldpc码近年来发展的趋势非常稳定,性能也逐步提升,在优秀译码算法下能够接近香农限。并且ldpc码描述和实现比较简单,译码简单具有可实行并行操作的特点,适合硬件实现。与之前应用nand闪存中的bch码相比,bch码已经难以解决闪存日益严重的误码率问题,ldpc码在性能和纠错能力上都明显优于前者。jpl实验室提出了性能比常规奇偶检验码更优的原模图低密度奇偶检验码,即原模图ldpc码。

现有的技术方案《一种基于自适应ldpc码的nand闪存差错控制器》,此专利文献申请号为201510098969.1。此技术方案在nand闪存差错控制器中运用自适应ldpc码,设置码率分别为0.9、0.7、0.5的三种ldpc编码器和译码器;设置了擦写次数记录模块和两个选择器,通过擦写次数纪录模块向选择器传送状态信号,根据设置好的阈值来选择在不同阶段使用不同码率的编码器和译码器。这样可以使得nand闪存误码增加的时候,仍然能保证闪存的可靠性,并大大延长了闪存的寿命。但此方案采用多对不同的编译码器,每一对编译码器是相互独立的,分别对应不同的编码码率。这种方法占用过多的闪存空间,造成空间资源的浪费;除此之外,方案中运用的编码方法为常规ldpc码,在效率方面还有很大的提升空间,选用性能更好的编码方法具有重要意义。

因此为了节省闪存空间资源的前提下实现多种码率的编译码;本申请提案采用比常规ldpc码具有更好性能的编码方法,提高nand闪存系统的工作效率和可靠性;本发明方案在nand闪存信道中应用的自适应原模图ldpc(rap-ldpc)码通过p-exit图分析和编码扩展方法,对编码矩阵进行设计,有效低简化了现在的多对ldpc编译码器的方案。本发明方案,通过设计带有特殊结构的原模图基础矩阵,基础矩阵的大小根据系统擦写次数的变化而变化。不同的基础矩阵通过复制和交织形成ldpc码所需要的校验矩阵,因此编译码器中就具备了多种码率的校验矩阵,就能实现闪存系统在不同阶段下通过擦写记录的次数,选择不同码率的ldpc码进行信息处理工作。使用rap-ldpc码代替常规的ldpc码加快了译码收敛速率,提高了系统的读取速度,降低了信息处理的错误率和计算复杂度,提高了资源利用率。所以选择自适应码率原模图ldpc码能够让nand闪存的性能得到提升。



技术实现要素:

本发明的目的在于克服现有技术方案的缺陷,提供一种基于自适应原模图ldpc码的nand闪存控制系统,只需一个编译码器即可实现多种码率ldpc码的转换使用,节约了闪存空间资源,提高闪存存储的整体性能,延长闪存的使用寿命。

为实现上述目的,本发明的技术方案是:一种基于自适应原模图ldpc码的nand闪存控制系统,包括nand闪存的主存储系统控制器、擦写次数记录模块、自适应多码率ldpc码编码器、自适应多码率ldpc码译码器;所述擦写次数记录模块的输入端连接nand闪存的主存储系统控制器,擦写次数记录模块的输出端分别连接自适应多码率ldpc码编码器和自适应多码率ldpc码译码器;所述nand闪存的主存储系统控制器的数据输入接口连接所述自适应多码率ldpc码编码器的输出端,nand闪存的主存储系统控制器的数据输出接口与所述自适应多码率ldpc码译码器的输入端相连;所述自适应多码率ldpc码编码器根据擦写次数记录模块所送入的状态信号,内部选用不同的基础矩阵进行编码并送到输出端;所述自适应多码率ldpc码译码器根据擦写次数记录模块送入的状态信号选择相对应的基础矩阵进行译码并输出结果。

在本发明一实施例中,所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器采用的ldpc码为原模图ldpc码。

在本发明一实施例中,所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器采用的基础矩阵是基于p-exit分析设计。

在本发明一实施例中,所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器按照系统所需最低码率的基础矩阵所对应的校验矩阵在硬件上实现;系统随着使用次数的增加,使用时间的积累,自适应多码率ldpc码编码器、自适应多码率ldpc码译码器内的校验矩阵逐渐从高码率向低码率扩展,校验矩阵不断填充增加,即校验比特增加,逐步降低码率。

相较于现有技术,本发明具有以下有益效果:本发明采用的自适应原模图ldpc码在nand闪存存储系统中有很强的纠错能力,能够在nand闪存存储系统使用的过程中,适应系统不断变化的误码率和性能相应地选用不同码率的ldpc码;当系统初始读取出错率低的时候,编译码器采用规模较小的编码矩阵对应高码率的ldpc码;随着系统擦写次数不断增加,存储单元反复磨损造成信道损伤,使得系统误码率增加;根据相应的条件设置,本系统中的编译码器的基础矩阵通过增加校验信息比特,矩阵行数不断增大,使得系统采用低码率ldpc码;这样的设计使得nand闪存在读写次数不断增加的时候,仍然能保证闪存系统的可靠性,并能够延长系统的使用寿命。

附图说明

图1为本发明自适应原模图ldpc码的nand闪存控制系统结构框图。

图2为本发明单一编译码器的基础矩阵设计原理图。

图3为本发明基础矩阵扩展实例;其中,图3(a)b1矩阵的基础结构;图3(b)b1矩阵向b2矩阵扩展示例图;图3(c)b2矩阵向b3矩阵扩展示例图;图3(d)b3矩阵向b4矩阵扩展示例图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明提供了一种基于自适应原模图ldpc码的nand闪存控制系统,包括nand闪存的主存储系统控制器、擦写次数记录模块、自适应多码率ldpc码编码器、自适应多码率ldpc码译码器;所述擦写次数记录模块的输入端连接nand闪存的主存储系统控制器,擦写次数记录模块的输出端分别连接自适应多码率ldpc码编码器和自适应多码率ldpc码译码器;所述nand闪存的主存储系统控制器的数据输入接口连接所述自适应多码率ldpc码编码器的输出端,nand闪存的主存储系统控制器的数据输出接口与所述自适应多码率ldpc码译码器的输入端相连;所述自适应多码率ldpc码编码器根据擦写次数记录模块所送入的状态信号,内部选用不同的基础矩阵进行编码并送到输出端;所述自适应多码率ldpc码译码器根据擦写次数记录模块送入的状态信号选择相对应的基础矩阵进行译码并输出结果。

所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器采用的ldpc码为原模图ldpc码。

所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器采用的基础矩阵是基于p-exit分析设计。

所述自适应多码率ldpc码编码器、自适应多码率ldpc码译码器按照系统所需最低码率的基础矩阵所对应的校验矩阵在硬件上实现;系统随着使用次数的增加,使用时间的积累,自适应多码率ldpc码编码器、自适应多码率ldpc码译码器内的校验矩阵逐渐从高码率向低码率扩展,校验矩阵不断填充增加,即校验比特增加,逐步降低码率。

以下为本发明的具体实例。

如图1所示,一种基于自适应原模图ldpc码的nand闪存控制器系统,包括一个基于特殊结构基础矩阵的编码器和译码器,擦写次数记录模块,nand闪存主系统存储控制器。ldpc码编码器和译码器的输入端都与擦写次数记录模块相连,接受擦写次数记录器传来的状态信号选择基础矩阵的规模。编译码器中,本例设4种基础矩阵,码率分别为0.93、0.89、0.85和0.80。这四种ldpc码码长皆为4095,译码迭代次数为10。所述擦写次数记录模块的输入端与主存储系统控制器相连,输出端分别连接到编码器和译码器。编码器的输出端连接主存储系统控制器,作为控制器的数据输入,主存储系统控制器的数据输出连接到译码器的输入端。

对于4种码率分别生成4种基础矩阵b1、b2、b3和b4,对应码率0.93、0.89、0.85和0.80。因为b4矩阵规模最大,所以以b4矩阵作为模块内矩阵空间的规模大小,从b1到b4不断扩展使得单一编译码器实现4种码率转换使用。初始码率高的情况下利用b1矩阵进行编码,随着擦写次数的增加,基础矩阵所对应的校验矩阵不断添加校验比特而扩展。如图2所示,校验比特的增加使得矩阵行数增加。例如b2矩阵,可看成由4个部分组成:左上角是b1矩阵,左下角是增加的校验信息比特,右上角是全0矩阵,右下角是对角线为1的单位矩阵。以此类推,基础矩阵从b1依次扩展成b2、b3直至b4。每种基础矩阵通过qc方法形成对应的校验矩阵。码率不断下降,编译码器根据pe擦写次数,自适应选择不同校验矩阵进行编译码,来满足不同阶段闪存系统的要求。

如图3(a)所示为基础矩阵b1的结构,根据pexit分析添加nm和nl数量的变量点组成。这样设计得到的基础矩阵b1符合线性最小距离增长和低译码门限,码率为0.93。

如图3(b)所示为基础矩阵b1扩展得到b2矩阵的示例。根据pexit分析,在b1矩阵的基础上,加入两个变量点和校验点,得到的b2矩阵码率为0.89。为了使基础矩阵中主要的奇偶校验比特保持不变,矩阵的右上角加入全零子矩阵,右下角加入对角矩阵填满矩阵空位。采用同样的方法,我们得到码率为0.85的基矩阵b3,如图3(c),和码率为0.80的基矩阵b4,如图3(d)。

状态信号的变化有四个阶段:

1.当nand闪存系统的擦写次数小于等于1000时,自适应多码率ldpc码编码器和自适应多码率ldpc码译码器内部选择校验矩阵h1,即使用码率为0.93的ldpc码进行编译码。

2.当nand闪存系统的擦写次数大于1000小于等于2000时,自适应多码率ldpc码编码器和自适应多码率ldpc码译码器内部校验矩阵扩展成h2,即使用码率为0.89的ldpc码进行编译码。

3.当nand闪存系统的擦写次数大于2000小于等于5000时,自适应多码率ldpc码编码器和自适应多码率ldpc码译码器内部校验矩阵扩展成h3,即使用码率为0.85的ldpc码进行编译码。

4.当nand闪存系统的擦写次数大于5000时,自适应多码率ldpc码编码器和自适应多码率ldpc码译码器内部校验矩阵扩展成h4,即使用码率为0.80的ldpc码进行编译码。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

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