CN102394113B - 一种应用于快闪存储器中的动态ldpc纠错码方法 - Google Patents

一种应用于快闪存储器中的动态ldpc纠错码方法 Download PDF

Info

Publication number
CN102394113B
CN102394113B CN201110359441.7A CN201110359441A CN102394113B CN 102394113 B CN102394113 B CN 102394113B CN 201110359441 A CN201110359441 A CN 201110359441A CN 102394113 B CN102394113 B CN 102394113B
Authority
CN
China
Prior art keywords
flash memory
code
ldpc
bit
nand type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110359441.7A
Other languages
English (en)
Other versions
CN102394113A (zh
Inventor
王雪强
潘立阳
周润德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201110359441.7A priority Critical patent/CN102394113B/zh
Publication of CN102394113A publication Critical patent/CN102394113A/zh
Application granted granted Critical
Publication of CN102394113B publication Critical patent/CN102394113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了属于非挥发存储器中的数据纠错领域的一种应用于快闪存储器中的动态LDPC纠错码方法。本发明根据NAND型快闪存储器的页错误率动态改变LDPC码软信息的量化精度。本发明的有益效果为:在NAND型快闪存储器使用的初始阶段,闪存内部每页的编程擦除次数较小,页错误率也较小,采用量化精度为1-bit的LDPC码软信息,能够提高NAND型快闪存储器的读取时间,并降低LDPC解码器的功耗;随着闪存不断的使用,页错误率逐渐升高,增加LDPC码的量化精度,进而提高LDPC码的纠错能力,能够提高NAND型快闪存储器的可靠性。

Description

一种应用于快闪存储器中的动态LDPC纠错码方法
技术领域
本发明属于非挥发存储器中的数据纠错领域,特别涉及一种应用于快闪存储器中的动态LDPC纠错码方法。
背景技术
NAND型快闪存储器广泛地应用于MP3、智能手机、平板电脑等便携式电子产品。NAND型快闪存储器发展的一个重要趋势是MLC(Multi-Level Cell)技术的发展。MLC技术能够在一个存储单元上存储多比特的信息,因此能够成倍地提高存储容量,减少每比特存储成本,目前市场的NAND型快闪存储器均采用每个存储单元(cell)中存储2-bit信息的MLC技术,即2b/cell MLC技术。然而,随着NAND型快闪存储器制造工艺的不断进步,每个存储单元中存储3-bit信息的MLC技术,即3b/cell MLC技术将应用于新一代的NAND型快闪存储器产品。显然,3b/cell MLC技术能够显著提高存储容量,然而,却使得NAND型快闪存储器的可靠性急剧下降。其原因是对于MLC技术,每个存储单元中存储n-bit数据信息需要2n个电荷存储态,从2b/cell MLC技术发展到3b/cell MLC技术,则阈值电压窗口中电荷态的数量从4增加到8,因而相邻电荷态间的有效读取窗口急剧减少。这使得闪存读取操作时,读出信息中的页错误率(PER)显著上升。存储单元尺寸的缩小、MLC技术的进步等工艺原因所导致的闪存可靠性下降不可避免,因此通过可靠性设计技术,尤其是纠错码技术,来提高闪存的可靠性,成为新一代闪存应用的关键技术。
目前NAND型闪存均采用BCH(Bose-Chaudur-Hocquenghem)纠错码技术。BCH纠错码进行数据纠错的原理是:向原始的信息数据中添加冗余位,进行编码;对接收到的信息,利用冗余位能够找出接收信息中错误的位置,并进行纠正,从而恢复原始的信息数据,这个过程也称为解码。显然,纠错码的冗余位开销越多,纠错性能越好。在闪存产品中,数据的写入、读出均以页为单位进行操作,因此,纠错码的冗余位存放在闪存每页中的空闲存储区。随着新一代3b/cellNAND型闪存产品可靠性的严重下降,空闲存储区有限的冗余位使得BCH码的纠错能力遭受到了严重制约。
发明内容
本发明针对上述缺陷公开了一种应用于快闪存储器中的动态LDPC纠错码方法。该方法根据NAND型快闪存储器的页错误率动态改变LDPC码软信息的量化精度。该方法包括以下步骤:
1)NAND型快闪存储器使用LDPC码作为其纠错码,NAND型快闪存储器的页错误率为PER,当PER<a1时,LDPC码的软信息的量化精度为1-bit;
2)当a1≤PER<a2时,LDPC码的软信息的量化精度为2-bit;
3)当a2≤PER<a3时,LDPC码的软信息的量化精度为3-bit;
4)当a3≤PER<a4时,LDPC码的软信息的量化精度为4-bit;
5)当a4≤PER<a5时,LDPC码的软信息的量化精度为5-bit;
6)当PER≥a5时,则将对应的页标记为失效页。
所述a1、a2、a3、a4和a5的取值范围如下:
1-0.9999PS≤a1<a2<a3<a4<a5≤1-0.99PS
PS的取值有如下几种:4096、8192和16384。
所述LDPC码的软信息为LLR,它通过以下公式计算:
LLR = ln p ( x = 0 | y = y 0 ) p ( x = 1 | y = y 0 )
上式中x为发送端发送的二进制码字,y为接收端获得的码字的浮点值。
本发明的有益效果为:在NAND型快闪存储器使用的初始阶段,闪存内部每页的编程擦除次数较小,页错误率也较小,采用量化精度为1-bit的LDPC码软信息,能够提高NAND型快闪存储器的读取时间,并降低LDPC解码器的功耗;随着闪存不断的使用,页错误率逐渐升高,增加LDPC码的量化精度,进而提高LDPC码的纠错能力,能够提高NAND型快闪存储器的可靠性。
本发明的设计方法和电路结构,与其附加的对象和好处,能在研读下列多个实施例和相应附图时被充分了解。
附图说明
图1a为LDPC码的检验矩阵示意图;
图1b为LDPC码的检验矩阵对应的Tanner图;
图2为本发明的实施例中3b/cell NAND型快闪存储器中电荷存储态的阈值电压分布模型示意图;
图3为本发明的实施例中3b/cell NAND型闪存储单元3-bit的格雷码表示图;
图4为本发明的实施例中3b/cell NAND型快闪存储器中存储单元中每一比特相应的LLR值的表达式示意图;
图5为本发明的实施例中3b/cell NAND型快闪存储器的读取操作示意图;
图6为本发明的实施例中应用于快闪存储器中的动态LDPC纠错码方法示意图。
具体实施方式
为使本发明的技术方法和优点更加清楚,以下结合具体的实施例并参照附图,对本发明进行更详细地说明。
LDPC码是一种线性分组码,于1962年由Gallager在其博士论文中提出。在1996年被MacKay和Neal重新发现。LDPC码被认为是迄今为止性能最好的码,已广泛应用于光通信、移动通信***又及磁记录***中。目前NAND型快闪存储器的制造工艺尺寸不断减少,最先进的NAND型快闪存储器制造工艺已达到19nm,此外,多位存储技术也在不断发展,最先进的NAND型快闪存储器一个存储单元上能够存储3-bit的数据信息。然而这些技术却使得存储单元的器件漏电,相邻存储单元间的电容耦合效应,以及编程擦除次数下降等问题变得非常严重,这使得NAND型快闪存储器的可靠性不断下降,因此,LDPC码被寄望于应用到新一型的NAND型快闪存储器中。
如图1所示,一种LDPC码用一个M×N(行数*列数)的稀疏校验矩阵H来表示,其中N代表LDPC码的码长,M代表LDPC码冗余位的长度,因此LDPC码中信息数据的长度为N-M。另外,LDPC码的码率定义为R=(N-M)/N。LDPC码(Low Density Parity Check)中文名为低密度奇偶检验,此处低密度是指在校验矩阵H中,数据“1”的密度较低,即校验矩阵H中的大部分元素为零。LDPC码的校验矩阵可以用相应的Tanner图来表示,如图1中的校验矩阵H可以用右边的Tanner图表示,Tanner图中有两类节点,分别是校验节点和变量节点,图中上方v1~v6为变量节点,下方c1~c3为检验节点。Tanner图中的边是指校验节点和变量节点间的连接。Tanner图与校验矩阵的对应关系是:校验矩阵的每一行对应Tanner图中的一个校验节点,校验矩阵的每一列对应着Tanner图中的一个变量节点。如果检验矩阵中Hij=1,那么Tanner图中第i个校验节点和第j个变量节点间就存在一条边,因此检验矩阵中的“1”元素与Tanner图中的边是一一对应关系。
LDPC码纠错***主要由LDPC码编码器和LDPC码解码器组成。LDPC码的编码过程与传统的线性码,如BCH码编码过程较为相似,信息数据通过编码器产生相应的冗余位,从而形成一个LDPC码的码字,将码字写入到快闪存储器存储阵列对应的页(Page)中。然而,LDPC码的解码过程却与传统线性码(如BCH码)有着很大的不同,传统的纠错码,如BCH码,RS码解码器的输入信息为二进制数据,即每一位信息非‘0’即‘1’,LDPC码采用了基于置信传播(Belief Propagation,BP)的软判决迭代译码算法,因而具有良好纠错性能,详细说明如下:在LDPC码中,解码器的输入信息是具有一定量化精度的软信息值,软信息值的含义是该位信息为‘0’或者‘1’的概率值。LDPC码的软信息为LLR,它通过以下公式计算:
LLR = ln p ( x = 0 | y = y 0 ) p ( x = 1 | y = y 0 )
上式中x为发送端发送的二进制码字,y为接收端获得的码字的浮点值;
从LLR的计算公式中可以看出,对于接收到的码字信息值y0,当计算出的发送码字x为0的概率大于发送码字x为1的概率时LLR>0;反之,LLR<0。因此从LLR的符号位就可以判决原始输入信息。
由于p(x=0|y=y0)和p(x=1|y=y0)是浮点值,LLR也是浮点值,从而,软信息的量化精度与LDPC码的解码过程存在密切的关系,LDPC码的纠错性能与软信息的量化精度也有着密切的关系。量化精度越高,说明比特为‘0’或者‘1’的概率越准确,因而能够纠正的比特数越多,纠错性越好。
如图2所示,LDPC码软信息的获取需要数据传输的信道模型,而在NAND型快闪存储器中,由于错误的产生是在数据的存储过程中发生,因此软信息需要根据NAND型快闪存储器的数据存储模型来获得。通常,NAND型快闪存储器的数据存储模型通过存储单元中电荷态的阈值电压分布模型来建立。对于3b/cell的存储单元,共有8个电荷态,每个电荷态的阈值电压可以用高斯曲线来表示。高斯曲线的平均值mu0~mu7代表该电荷态的中心阈值电压,而高斯曲线的方差σ代表由于工艺偏差以及编程擦除的磨损、读写干扰、漏电等各种因素导致的阈值电压的分布和漂移情况,也就是数据存储的“噪声”。另外,相邻高斯曲线的7个交点把整个阈值电压窗口分成8块区间,即从(-∞,S0)到[S6,+∞)。每个电荷态i(0≤i≤7)的高斯曲线,其概率密度P可表示为:
P i ( x ) = 1 2 πσ e - ( x - mu i ) 2 2 σ i 2
上式中mui代表第i电荷态的阈值电压的均值,σi代表第i电荷态的阈值电压的标准差。每个电荷态都有相对应的3-bit编码表示。为了获得最好的编码增益,通常使用格雷码(Gray code)来进行编码。使用格雷码的特点是任意两个相邻电荷态对应的3-bit编码中,只有1位不相同。当定义top、high、low来表示每个存储单元中3-bit信息时,格雷码的表示如图3所示。
如图4所示,根据LLR的计算公式以及NAND型快闪存储器中电荷存储态的阈值电压分布模型,可以计算出存储单元的阈值电压值为y时,存储单元所存贮的3比特信息中每比特信息的LLR值。图中,Δmu=mui-mui-1,(i=1-7),LLR>0的情况表示对应的信息位为“0”的概率较大,LLR<0则表示对应的信息位为“1”的概率较大。LLR的绝对值更大,则表示对应的信息位为“0”或“1”的概率更大。从图4中可以看出,LLR值与读取时得到的阈值电压值y近似成线性关系,因此读取操作时获得的阈值电压精度能够决定所计算的LLR值的精度。
如图5所示,通过对所读出的存储单元电流进行阶梯式的比较来感知存储单元阈值电压的值,显然读取电压(对应于VR1-VRN)的阶梯增幅越小,获得的阈值电压值就越精确,因此所得到的LLR值就更加准确。然而,读取电压的阶梯增幅越小,闪存内部灵敏放大器的感应时间越长,使读取性能下降。对3b/cell NAND型快闪存储器,假定施加7个读电压来区分8个电荷态,读取操作时施加阶梯式读电压,与参考支路经过7次阶梯式比较判决每个存储单元的3比特的信息,读电压的位置如图2中S0~S6所示。LDPC码的软信息的量化精度为1-bit时,通常感应比较时间的典型值为60μs。当存储单元每比特的软信息的量化精度为5-bit时,则需要非常小的读取电压的阶梯增幅,相应的感应比较时间将变得非常长,可近似计算为(25-1)×60μs。可以看出,NAND型快闪存储器读取时的感应时间与LDPC码软信息的量化精度成指数关系。因此,存在着LLR的量化精度与快闪存储器的读取时间的权衡。另一方面,LLR的量化精度也决定了LDPC码的纠错性能。LLR的量化精度越高,LDPC码的纠错能力越强,所允许的页错误率也越高,因此也存在着LLR的量化精度与页错误率之间的权衡。
如图6所示,NAND型快闪存储器中页错误率(PER)的特点是随着快闪存储器的不断使用,反复的编程擦除操作,页错误率(PER)不断增加,即PER随着闪存的使用时间呈单调递增的特点。根据快闪存储器PER的这一特性,以及上述LLR量化精度与读取时间、PER间的权衡关系,设计出应用于NAND型快闪存储器的动态LDPC纠错码技术。
本发明的具体实施过程如下:
1)NAND型快闪存储器使用LDPC码作为其纠错码,NAND型快闪存储器的页错误率为PER,当PER<a1时,LDPC码的软信息的量化精度为1-bit;
2)当a1≤PER<a2时,LDPC码的软信息的量化精度为2-bit;
3)当a2≤PER<a3时,LDPC码的软信息的量化精度为3-bit;
4)当a3≤PER<a4时,LDPC码的软信息的量化精度为4-bit;
5)当a4≤PER<a5时,LDPC码的软信息的量化精度为5-bit;
6)当PER≥a5时,采用5-bit的LDPC码的软信息的量化精度也无法满足NAND型快闪存储器的纠错要求,则将对应的页标记为失效页。
PER由2个因素决定,一是单元错误率,其值为BER;另一个是页的大小,其值为PS;PER的计算方式如下:
PER=1-(1-BER)PS
其中BER的范围约为:10-4≤BER≤10-2,而PS的取值有如下几种:4096(对应4Kbyte),8192(对应8Kbyte),16384(对应16Kbyte)。
因而,a1、a2、a3、a4和a5的取值范围如下:
1-0.9999PS≤a1<a2<a3<a4<a5≤1-0.99PS

Claims (3)

1.一种应用于快闪存储器中的动态LDPC纠错码方法,其特征在于,它包括以下步骤:
1)NAND型快闪存储器使用LDPC码作为其纠错码,NAND型快闪存储器的页错误率为PER,当PER<a1时,LDPC码的软信息的量化精度为1-bit;
2)当a1≤PER<a2时,LDPC码的软信息的量化精度为2-bit;
3)当a2≤PER<a3时,LDPC码的软信息的量化精度为3-bit;
4)当a3≤PER<a4时,LDPC码的软信息的量化精度为4-bit;
5)当a4≤PER<a5时,LDPC码的软信息的量化精度为5-bit;
6)当PER≥a5时,则将对应的页标记为失效页。
2.根据权利要求1所述的一种应用于快闪存储器中的动态LDPC纠错码方法,其特征在于,所述a1、a2、a3、a4和a5的取值范围如下:
1-0.9999PS≤a1<a2<a3<a4<a5≤1-0.99PS
PS的取值有如下几种:4096、8192和16384。
3.根据权利要求1所述的一种应用于快闪存储器中的动态LDPC纠错码方法,其特征在于,所述LDPC码的软信息为LLR,它通过以下公式计算:
LLR = ln p ( x = 0 | y = y 0 ) p ( x = 1 | y = y 0 ) - - - 1 )
式1)中x为发送端发送的二进制码字,y为接收端获得的码字的浮点值;y0为接收到的码字信息值。
CN201110359441.7A 2011-11-14 2011-11-14 一种应用于快闪存储器中的动态ldpc纠错码方法 Active CN102394113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110359441.7A CN102394113B (zh) 2011-11-14 2011-11-14 一种应用于快闪存储器中的动态ldpc纠错码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110359441.7A CN102394113B (zh) 2011-11-14 2011-11-14 一种应用于快闪存储器中的动态ldpc纠错码方法

Publications (2)

Publication Number Publication Date
CN102394113A CN102394113A (zh) 2012-03-28
CN102394113B true CN102394113B (zh) 2014-06-18

Family

ID=45861380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110359441.7A Active CN102394113B (zh) 2011-11-14 2011-11-14 一种应用于快闪存储器中的动态ldpc纠错码方法

Country Status (1)

Country Link
CN (1) CN102394113B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831026A (zh) * 2012-08-13 2012-12-19 忆正科技(武汉)有限公司 多层单元闪存及其软信息位读取电压阈值动态调整方法
WO2014070074A1 (en) * 2012-10-29 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Wireless communication device and method for storing soft symbols
CN103839594A (zh) * 2012-11-27 2014-06-04 建兴电子科技股份有限公司 固态储存装置及其联合编解码方法
CN103354101B (zh) * 2013-05-31 2015-10-21 上海华力创通半导体有限公司 一种用于快闪存储器纠错的ldpc码解码装置
CN103365738B (zh) * 2013-07-29 2016-02-17 忆正科技(武汉)有限公司 多层次闪存器件的轻量级软信息获取方法
CN104601178B (zh) * 2013-10-30 2018-02-02 群联电子股份有限公司 解码方法、解码电路、存储器存储装置与控制电路单元
CN104932952A (zh) * 2015-03-05 2015-09-23 华南理工大学 一种nand闪存的差错控制码结构及其差错码控制方法
CN105336379B (zh) * 2015-11-09 2019-03-01 北京联想核芯科技有限公司 一种信息处理方法及固态存储器
CN106816179B (zh) * 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
CN106201342A (zh) * 2016-06-30 2016-12-07 联想(北京)有限公司 一种数据处理方法及电子设备
CN107423159B (zh) * 2017-07-11 2019-06-28 华中科技大学 一种基于闪存错误模式提升ldpc译码性能的方法
CN107395214B (zh) * 2017-07-12 2019-06-28 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN107391299B (zh) * 2017-07-17 2019-06-18 华中科技大学 一种提升闪存存储***读性能的方法
CN107657984B (zh) * 2017-08-16 2020-09-22 深圳市江波龙电子股份有限公司 闪存的纠错方法、装置、设备以及计算机可读存储介质
US10558522B2 (en) 2017-10-20 2020-02-11 Western Digital Technologies, Inc. Dynamic multi-stage decoding
CN107863128B (zh) * 2017-11-28 2020-07-10 广东工业大学 一种多级闪存单元纠错方法、***、装置及可读存储介质
US10637511B2 (en) 2017-12-18 2020-04-28 Western Digital Technologies, Inc Dynamic multi-stage decoding
KR102468721B1 (ko) * 2017-12-20 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
CN108363639B (zh) * 2018-02-07 2022-04-05 置富科技(深圳)股份有限公司 一种参数可配置的动态bch纠错方法及装置
CN109887537B (zh) * 2019-01-29 2021-04-06 华中科技大学 一种阈值电压漂移感知的ldpc码译码方法
CN115509798B (zh) * 2022-09-27 2023-06-27 青海师范大学 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203876A (zh) * 2008-09-30 2011-09-28 Lsi公司 用于存储器器件的软数据生成的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203876A (zh) * 2008-09-30 2011-09-28 Lsi公司 用于存储器器件的软数据生成的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LDPC码的软判决译码和量化译码方案;任远 等;《电子科技》;20080315;第21卷(第3期);66-68 *
任远 等.LDPC码的软判决译码和量化译码方案.《电子科技》.2008,第21卷(第3期),

Also Published As

Publication number Publication date
CN102394113A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN102394113B (zh) 一种应用于快闪存储器中的动态ldpc纠错码方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
US8301979B2 (en) Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
US9294132B1 (en) Dual-stage data decoding for non-volatile memories
KR101438072B1 (ko) 소거 없는 플래시 메모리의 다중 프로그래밍
US9692449B2 (en) Read threshold calibration for LDPC
US10445175B2 (en) Controller and operating method thereof
TWI613674B (zh) 在具有選擇性二元及非二元解碼之快閃記憶體中之偵測及解碼
US10103749B2 (en) LDPC decoder, semiconductor memory system and operating method thereof
KR102275717B1 (ko) 플래시 메모리 시스템 및 그의 동작 방법
CN102394114B (zh) 具有自适应纠错能力的bch码纠错方法
KR20150067338A (ko) 신뢰도 데이터 업데이트
KR20200058106A (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US10200063B2 (en) Memory controller, semiconductor memory system and operating method thereof
CN103354101B (zh) 一种用于快闪存储器纠错的ldpc码解码装置
CN104851458A (zh) 解码方法、存储器存储装置与存储器控制电路单元
US10846170B2 (en) Decoder, operating method thereof and memory system including the decoder
KR102606829B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
JP7237674B2 (ja) メモリシステム
KR20160075001A (ko) 플래시 메모리 시스템 동작 방법
US10884858B2 (en) LDPC decoding device, memory system including the same and method thereof
US9350390B2 (en) Encoder, decoder and semiconductor device including the same
CN103973316A (zh) 具有使用定标常数的可变节点更新器的ldpc解码器
US10528496B2 (en) Controller and operating method thereof
CN107959502B (zh) 一种ldpc编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant