一种多级存储单元闪存的ECC多码率编解码系统及方法与流程

文档序号:17899304发布日期:2019-06-13 16:13阅读:653来源:国知局
一种多级存储单元闪存的ECC多码率编解码系统及方法与流程

本发明属于数据存储,具体涉及一种多级存储单元闪存的ecc多码率编解码系统及方法。



背景技术:

随着互联网大数据时代的迅速发展,不管是拍照、电影、电视剧、还是游戏,数据量越来越大。在这样的大环境下,对于硬盘容量的容量将是前所未有的巨大挑战。之前的传统机械硬盘即使可以解决容量的问题,可是速度很慢,体积很大,不便携带,因此也不是最佳的选择。

闪存作为一种比传统机械硬盘存储方式更加稳定,数据读写更快速便捷的存储器件,已经渗入到日常生活中每个角落。为了满足日益增加的存储需求,闪存制造商不断缩减工艺尺寸,提出三维nand存储技术,增加在单个闪存单元的信息比特数,包括mlc、tlc、qlc。随之而来的就是闪存的错误概率不断上升,传统的bch纠错码已经不足以保证数据的安全。

低密度奇偶校验码ldpc作为一种纠错能力逼近香农极限的纠错方式,正在逐渐取代bch,成为新一代闪存控制器中纠错编码方式。

闪存的每一个page,对应还有一块区域,叫做空闲区域(sparearea)/冗余区域(redundantarea),这个区域,是最初基于nandflash的硬件特性:数据在读写时候相对容易错误,所以为了保证数据的正确性,必须要有对应的检测和纠错机制,所以设计了多余的存储空间,用于放置数据的校验位。

多级存储的单个闪存单元中存在信息比特数为2个或以上,映射到多级对应的page中,而多个page的rber(rawbiterrorrate,原始错误比特概率)不同,如果采用同一种码率的纠错码将会使得其中rber较高的page对应的码的解码过程中的迭代次数过多,速度下降,甚至可能无法正确解码,从而使得闪存寿命下降,稳定性下降。



技术实现要素:

发明目的:针对上述现有技术的不足,本发明的第一目的是一种多级存储单元闪存的ecc多码率编解码系统,其第二目的是提供一种多级存储单元闪存的ecc多码率编解码的实现方法。

技术方案:一种多级存储单元闪存的ecc多码率解码系统,包括校验单位分配模块,多码率纠错码编码模块和多码率纠错码解码模块,根据用户信息,通过校验单位分配模块分配校验单元,以进行多码率编码;在多码率纠错码解码模块进行解码时,根据多码率纠错码编码模块使用的码率不同进行多码率纠错码解码。

进一步的,所述校验单位动态分配模块将依据不同page的原始误码率分配不同数量的校验cell,包括将高误码率的page的固定校验单位分配给低误码率的page。

进一步的,所述多码率纠错码编码模块根据校验单位动态分配模块处理后的闪存每个page的校验cell的分配情况,对应各个码率,分别对各个page的信息位由高到低选择码率进行编码。

进一步的,所述的多码率纠错码解码模块根据校验单位动态分配模块处理后的闪存每个page的校验cell的分配情况,对应各个page,使用对应码率的纠错码的解码方法进行解码。

一种多级存储单元闪存的ecc多码率解码方法,所述方法基于ecc解码,包括以下步骤:

(1)校验单位动态分配模块将下层page的固定校验单元分配给其上层page,从而增加其上层page的校验单元;

(2)对各个page的信息位由高到低选择码率进行编码;

(3)读取数据,并整合每层的校验值为多码率的码字;

(4)使用对应码率的校验矩阵进行ecc解码。

进一步的,所述步骤(1)中校验单位动态分配模块将lowerpage的固定校验单位分配给middlepage及upperpage,增加middlepage及upperpage的校验位,减小其码率,从而降低其上层page解码的码率,提升解码性能,使其正确解码,减小迭代次数,增大解码通过率。

所述步骤(2)中根据闪存单元每个页中校验cell的分配关系,对应各个码率,分别对各个page的信息位由高到低选择码率进行编码。

所述步骤(3)中读取各个page的数据和校验值,根据码率不同,将其整合为多码率的码字;upperpage及middlepage的整合过程中还需要整合其下层page的校验位。

所述步骤(4)中的解码模块使用的纠错编码包括ldpc及bch码。

有益效果:本发明与现有技术相比其显著的在于,第一、本发明相比传统纠错解码部分使用一种码率的ldpc/bch解码模块,加入了多码率解码,使得不同page下的解码性能有明显提升;第二、本发明由于针对低信噪比下的page使用了更低的码率,使得其迭代次数下降,有效提升了闪存寿命;第三、本发明的解码模块支持多种纠错码解码,适用性更好。

附图说明

图1是本发明所述解码流程图;

图2是本发明所述校验单元分布图;

图3是所述校验单位动态分配模块将rber较大的page的固定校验单位分配给rber较小的page的示意图;

图4是本发明使用的多码率ldpc码的解码性能效果图;

图5是本发明经过实施多码率解码后,延长闪存的p/e次数变化图。

具体实施方式

为了详细的说明本发明公开的技术方案,下面结合具体实施例和说明书附图作进一步的阐述。

本发明针对闪存的主控芯片中ecc(数据纠错)部分,采取了与传统纠错码不同的多码率解码方案,对于rber较小的下层page,采取较高码率的ldpc/bch码,对于rber较大的上层page,通过取用部分下层page的校验位,降低码率,并采取码率较低码率的ldpc/bch码进行编码和解码。

以在tlc闪存纠错部分使用多码率ldpc码解码为例:

tlc闪存的每一个page,对应还有一块区域,叫做空闲区域(sparearea)/冗余区域(redundantarea),这个区域,是最初基于nandflash的硬件特性:数据在读写时候相对容易错误,所以为了保证数据的正确性,必须要有对应的检测和纠错机制,所以设计了多余的区域,用于放置数据的校验位。

tlc的单个闪存单元中存在信息比特数为3bit,映射到三种不同的page中,三种page的rber(rawbiterrorrate,原始错误比特概率)不同,用同一种码率的ldpc/bch码将会使得其中upperpage迭代次数过多,速度下降,无法正确解码。从而使得闪存寿命下降,稳定性下降。

tlc闪存的寿命与随着擦写次数增大导致的rber上升,以及纠错算法能够正确纠错的rber阈值有关,如图1所示,tcl三种page:upperpage、middlepage、lowerpage在p/e次数达到2000次左右时的rber量级在1×10-2、1×10-3、1×10-4左右。其rber随p/e(擦写)次数的增加而上升,此时已经达到了普通的解码可容忍的rber(tolerablerawbiterrorrate,t-rber),不能满足upperpage的正常解码,其寿命也就几乎达到尽头。

于是本发明中的多码率解码用于解决这一问题,解码步骤如图2所示:

(1)校验单位动态分配模块将rber较大的page的固定校验单位分配给rber较小的page,从而增加后者的校验位,减小其码率,从而使其得到更高的解码通过率,对于tlc闪存而言,即是,lowerpage及middlepage中的校验单元分配给upperpage。如图3所示。

(2)根据闪存单元每个页中校验cell的分配关系,对应各个码率,分别对各个page的信息位由高到低选择码率进行编码。

(3)读取各个page的数据和校验值,根据码率不同,将其整合为多码率的码字;upperpage及middlepage的整合过程中还需要整合其下层page的校验位。

(4)使用对应码率的校验矩阵进行ldpc解码。

其中本发明使用的多码率ldpc码的解码性能如图4所示,针对upperpage经过数次p/e之后rber上升至1×10-2量级后无法正常解码,可以看出码率降低至0.887时,其解码性能的t-rber在1×10-2以上,即可以支持在rber达到1×10-2及以上时,仍能保证正确解码,从而使得闪存寿命延长。

经过实施多码率解码后,延长闪存的p/e次数至2500次左右,如图5所示。

本发明针对闪存的主控芯片中ecc(数据纠错)部分,采取了与传统纠错码不同的多码率解码方案,对于rber较小的lowerpage,采取较高码率的ldpc/bch码,对于rber较大的upperpage,通过取用部分lowerpage的校验位,降低码率,并采取码率较低码率的ldpc/bch码,从而达到提升解码性能,使其正确解码,减小迭代次数,增大解码通过率,提升闪存器件寿命的作用。具有较大的理论意义与应用价值。

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