CN109087683B - 一种NAND Flash固态存储自适应差错控制方法 - Google Patents

一种NAND Flash固态存储自适应差错控制方法 Download PDF

Info

Publication number
CN109087683B
CN109087683B CN201810835470.8A CN201810835470A CN109087683B CN 109087683 B CN109087683 B CN 109087683B CN 201810835470 A CN201810835470 A CN 201810835470A CN 109087683 B CN109087683 B CN 109087683B
Authority
CN
China
Prior art keywords
data
decoding
check
page
error
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
CN201810835470.8A
Other languages
English (en)
Other versions
CN109087683A (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.)
SAGE MICROELECTRONICS Corp.
Original Assignee
Xijing 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 Xijing University filed Critical Xijing University
Priority to CN201810835470.8A priority Critical patent/CN109087683B/zh
Publication of CN109087683A publication Critical patent/CN109087683A/zh
Application granted granted Critical
Publication of CN109087683B publication Critical patent/CN109087683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种NAND型Flash固态存储自适应差错控制方法,包括将数据存入固态存储器之前,将待保存数据按照NAND Flash结构每页长度对数据进行分组,每组数据按照构造好的编码器对数据进行编码,并将编码后的码字按页存入数据区,校验位信息存入相应页的ECC区。读出数据时先利用高效纠错型硬数据译码模块对按页读出的数据进行译码,如果在合理的迭代次数内成功译码,则输出译码结果,进行下一页数据的读取和纠错处理;如果硬数据译码失败,或在合理的迭代次数内无法完成译码,则调用数据恢复型软信息译码,以降低时效性能为代价,进行数据恢复处理;本发明具有有对高误码率数据进行可靠恢复,避免重要数据的丢失的优点。

Description

一种NAND Flash固态存储自适应差错控制方法
技术领域
本发明属于固态存储控制领域,具体特别涉及一种NAND型Flash固态存储自适应差错控制方法。
背景技术
固态硬盘大量采用Nand Flash,NAND Flash单元中悬浮门栅的阈值电压改变会因为寄生耦合电容的存在,对相邻闪存单元的阈值电压分布产生影响,导致比特发生翻转。此外,受存储材料和生产工艺等的影响,在生产和使用中不可避免会产生坏块,以及空间环境的辐射也可能产生单粒子翻转导致差错,使得存入Nand Flash和再次读出的数据不完全一致,产生差错,并且这种错误概率随着擦除/编程次数的增加而增加。因此需要采用差错控制技术对读出的数据进行检错和纠错处理。传统的固态存储器通常采用BCH编码技术实现差错控制,对于高密度闪存,由于BCH码纠错能力所限,并且译码复杂度与码长成指数关系,长码情况下实现复杂度剧烈增加,性能严重恶化。低密度奇偶校验码具有纠错能力强,校验矩阵的稀疏特性决定了长码时复杂度近似线性增长的特点,特别适合用于高密度、大容量、要求使用长码的差错控制,其吞吐量也高于传统的差错控制。低密度奇偶校验码在通信领域得到了广泛研究和应用,并且已广泛应用在多个国际标准中。但是在固态存储控制器领域的应用还处于起步阶段,尚没有成熟的通用实现方法,更没有形成广泛认可的标准。固态硬盘数据出错概率模型和通信领域的编码信道模型存在明显区别,因此,通信领域成熟的好码不能直接应用到固态存储领域,需要根据固态存储NandFlash内部电路分析读操作特性,建立信道模型,进而根据信道模型构造性能卓越的校验矩阵,设计低复杂度的译码算法,实现可靠的差错控制。
发明内容
为克服上述现有技术的不足,本发明提供了一种NAND型Flash固态存储自适应差错控制方法,具有对高误码率数据进行可靠恢复,避免重要数据的丢失的特点。
为了达到上述目的,本发明采用的技术方案为:
一种NAND型Flash固态存储自适应差错控制方法,其步骤为:
步骤一:构造(8n,8n-8r)码检验矩阵,实现编码;
步骤二:构造纠错型硬数据译码模块,采用硬判决快速译码实现低差错场景下的快速译码,显著提高译码效率;
步骤三:构造数据恢复型软数据译码模块,根据NAND型闪存结构建立了LLR模型,为软数据译码提供LLR信息;
步骤四:自适应译码策略:
读出数据时先利用高效纠错型硬数据译码模块对按页读出的数据进行译码,如果在合理的迭代次数内成功译码,则输出译码结果,进行下一页数据的读取和纠错处理;如果硬数据译码失败,或在合理的迭代次数内无法完成译码,则调用数据恢复型软数据译码,以降低时效性能为代价,进行数据恢复处理。
所述的码检验矩阵校验矩阵H=[H1H2],其中H1的规格为8r行8(n-r)列,H2的规格为8r行8r列;
Figure GDA0001857317260000031
选择单位矩阵I的维数为256,H1的规格为8r/256*256行8(n-r)/256*256列,设H1矩阵的基矩阵为H1B,则H1B的规格为8r/256行8(n-r)/256列。
所述的H1由H1B扩展而成,扩展方法如下:
第1步:用256*256的单位矩阵I256*256代替H1B第1行第1列;
第2步:确定基矩阵第1行后续列的移位值,用I256*256循环左移j-1位代替H1B第1行第j列,其中j=2,3,…8(n-r)/256;
第3步:确定基矩阵的后续行的移位值,从第2行开始,用单位矩阵I256*256循环左移[8(n-r)/256+(v-1)(v-2)/2+(2+j)(j-1)/2]mod(256)位代替第v行第j列,其中v=2,3,4,…,8r/256;j=1,2,3,…,8(n-r)/256,mod(256)表示对256取模运算。
所述的编码过程,其步骤为:
步骤1、针对NAND Flash,设每页数据大小为n-r个字节,ECC大小为r个字节,则编码长度为8n比特,校验位长度为8r比特,据此,确定编码尺寸为(8n,8(n-r));
步骤2、设待写入存储器的有效数据为D=[d0,d1,...d8(n-r)-1],共8(n-r)位,校验数据为P=[p0,p1,...p8r-1],共8r位;则编码后的码字为C=[d0,d1,...d8(n-r)-1,p0,p1,...p8r-1],共8n位,8n=8(n-r)+8r;
步骤3、根据校验方程得H1DT+H2PT=0,针对二元序列,其加运算为GF(2)域上的模2加运算,根据模2加运算规则可得H1DT=H2PT。用矩阵元素表示的校验方程为:
Figure GDA0001857317260000041
求解式(2)可以得到递推编码过程为
Figure GDA0001857317260000042
写入本页的完整数据为:
Figure GDA0001857317260000043
所述的硬判决快速译码,其步骤为:
步骤1、根据NAND型Flash,存储单元为浮置门晶体管,写数据时向浮置门注入电荷,使晶体管阈值电压为Vth1和Vth2,设写入数据
Figure GDA0001857317260000051
为1时对应的阈值为
Figure GDA0001857317260000052
写入数据
Figure GDA0001857317260000053
为0时对应的阈值为
Figure GDA0001857317260000054
并且
Figure GDA0001857317260000055
Figure GDA0001857317260000056
Figure GDA0001857317260000057
是两个独立同分布的随机变量,方差为σ2
Figure GDA0001857317260000058
Figure GDA0001857317260000059
其中i=0,1,2,3…,8n-1;读出数据时如果使用单一判决门限V0=(Vth1+Vth2)/2,第i个存储单元读出电压
Figure GDA00018573172600000510
则将第i个读出数据
Figure GDA00018573172600000511
判决为0,否则判决为1;同样,Dout∈{0,1},是一个具有等概率的贝努力随机变量;根据高斯干扰的特性,
Figure GDA00018573172600000512
其中将
Figure GDA00018573172600000513
映射为“+1”,
Figure GDA00018573172600000514
映射为“-1”,V0=0,则第i个节点变量的初始信息为:
Figure GDA00018573172600000515
步骤2、初始化:一次读出本页共8n个单元的电压值
Figure GDA00018573172600000516
利用式(5)进行硬判决得到
Figure GDA00018573172600000517
检验方程为:
Figure GDA00018573172600000518
第j个校验方程为
Figure GDA0001857317260000061
步骤3、伴随式计算:错误图样
Figure GDA0001857317260000062
由于加运算为GF(2)域上的模2加运算,因此
Figure GDA0001857317260000063
由校验矩阵和码字之间的关系得
Figure GDA0001857317260000064
因此伴随式
Figure GDA0001857317260000065
如果伴随式等于0,则译码正确,输出本页数据,结束迭代,如果不等于0,则说明有错,转第4步。
步骤4、翻转比特,计算硬判决数据中每个码元不满足校验方程的个数,
Figure GDA0001857317260000066
并找出其中最大值,Nmax=max{N0,N1,…,N8r-1},翻转Nmax所对应的码元,重新计算伴随式,如果伴随式等于0,则译码成功,输出数据,否则如果未达到最大迭代次数,则转步骤3,如果达到最大迭代次数则预示快速纠错型高效译码失败,则按数据恢复处理,转入数据恢复型软数据译码模块。
所述的数据恢复型软数据译码模块的译码步骤如下:
第1步:初始化,利用式(3)计算所有变量节点VNm的初始信息STm,并将初始信息赋给初始可靠信息,
Figure GDA0001857317260000067
第2步:第u次校验节点处理,
Figure GDA0001857317260000071
第3步:第u次变量节点处理,
Figure GDA0001857317260000072
第4步:迭代,在进行u次迭代之后,若全部
Figure GDA0001857317260000073
所组成的译码结果满足全部8r个校验方程,则停止迭代,输出正确译码结果;否则,如果u<Umax,则继续迭代,否则达到迭代上限则停止迭代,输出译码错误。其中,CN(m)表示与变量节点m相连的所有校验节点组成的集合,m=1,2,3,…,8n,CN(m)\g表示除去校验节点g以外,所有与变量节点m相连的校验节点组成的集合。VN(g)表示与校验节点g相连的所有变量节点组成的集合,g=1,2,3,…,8r,VN(g)\m表示除去变量节点m之后,所有与校验节点g相连的变量节点的集合。Tm-g表示变量节点m传递给校验节点g的可靠信息。Rg-m表示校验节点g传递给变量节点m的可靠信息。Umax为最大迭代次数。
本发明的有益效果:
本发明采用规格为(8n,8n-8r)的高效率LDPC码编码器H矩阵的构造,低运算量编码过程设计,自适应译码控制方法,快速高效型数据纠错译码和基于软信息的数据恢复型高可靠译码方法。在将数据存入固态存储器之前,将待保存数据按照NAND Flash结构每页长度对数据进行分组,每组数据按照构造好的编码器对数据进行编码,并将编码后的码字按页存入数据区,校验位信息存入相应页的ECC区;读出数据时先利用高效纠错型硬数据译码模块对按页读出的数据进行译码,如果在合理的迭代次数内成功译码,则输出译码结果,进行下一页数据的读取和纠错处理;如果硬数据译码失败,或在合理的迭代次数内无法完成译码,则调用数据恢复型软信息译码,以降低时效性能为代价,进行数据恢复处理;并充分利用LDPC编译码低延迟特点对低差错的场景进行高效快速译码,大幅提高读取速度,以解决固态存储应用的瓶颈,当读出的数据差错率明显增加,以至于无法在合理时间内正确译码时,自动回退为数据恢复型译码,以保证对高误码率数据进行可靠恢复,避免重要数据的丢失。
具体实施方式
为了更加清楚说明本发明的具体应用,以SLC型NAND Flash为例;
一种NAND型Flash固态存储自适应差错控制方法,其步骤为:
步骤一:构造码检验矩阵,实现编码;
每页数据大小为2048B,ECC大小为128B,则编码长度为16384b,校验位长度为1024b,单位矩阵为256*256。设校验矩阵H=[H1H2],其中H1的规格为4*256=1024行,(64-4)*256=15360列,H2的规格为1024行1024列
Figure GDA0001857317260000081
通过计算具体左移位数如下:
Figure GDA0001857317260000091
其中H1B中每个元素对应的值表示对应位置用单位矩阵左移相应位数以后代替该元素中的位置。第一行行重为61,其余行行重为62,第1至第15360列列重为4,第16384列列重为1,其余列列重为2,围长为6。
所述的编码过程,其步骤为:
步骤1、针对SLC型NAND Flash为例,每页数据大小为2048B,ECC大小为128B,则编码长度为16384b,校验位长度为1024b,据此,单位矩阵为256*256;
设待写入存储器的有效数据为D=[d0,d1,...d15359],共15360位,校验数据为P=[p0,p1,...p1023],共1024位。则编码后的码字为C=[d0,d1,...d15359,p0,p1,...p1023],共16384位,16384=15360+1024。
步骤3、根据校验方程得H1DT+H2PT=0,针对二元序列,其加运算为GF(2)域上的模2加运算,根据模2加运算规则可得H1DT=H2PT。用矩阵元素表示的校验方程为:
Figure GDA0001857317260000101
求解式(16)可以得到递推编码过程为
Figure GDA0001857317260000102
写入本页的完整数据为:
Figure GDA0001857317260000103
步骤二:构造纠错型硬数据译码模块,采用硬判决快速译码实现低差错场景下的快速译码,显著提高译码效率:
第1步、根据NAND型Flash,存储单元为浮置门晶体管,写数据时向浮置门注入电荷,使晶体管阈值电压为Vth1和Vth2,设写入数据
Figure GDA0001857317260000104
为1时对应的阈值为
Figure GDA0001857317260000105
写入数据
Figure GDA0001857317260000106
为0时对应的阈值为
Figure GDA0001857317260000107
并且
Figure GDA0001857317260000108
Figure GDA0001857317260000109
Figure GDA00018573172600001010
是两个独立同分布的随机变量,方差为σ2
Figure GDA00018573172600001011
Figure GDA0001857317260000111
是一个具有等概率的贝努力随机变量,其中i=0,1,2,3…,16383。读出数据时如果使用单一判决门限V0=(Vth1+Vth2)/2,第i个存储单元读出电压
Figure GDA0001857317260000112
则将第i个读出数据
Figure GDA0001857317260000113
判决为0,否则判决为1。同样,Dout∈{0,1},是一个具有等概率的贝努力随机变量。根据高斯干扰的特性,
Figure GDA0001857317260000114
其中将
Figure GDA0001857317260000115
映射为“+1”,
Figure GDA0001857317260000116
映射为“-1”,V0=0,则第i个节点变量的初始信息为:
Figure GDA0001857317260000117
在擦除/编程次数不太大的情况下,读出数据错误概率比较低,为保证数据传输的低时延性,优先采用效率高、计算复杂度低的硬判决译码。硬判决规则为:当STi>0时,
Figure GDA0001857317260000118
否则
Figure GDA0001857317260000119
其中i=0,2,…,16383。
第2步、初始化:一次读出本页共16384个单元的电压值
Figure GDA00018573172600001110
利用式(19)进行硬判决得到
Figure GDA00018573172600001111
检验方程为:
Figure GDA00018573172600001112
第j个校验方程为
Figure GDA0001857317260000121
第3步、伴随式计算:错误图样
Figure GDA0001857317260000122
由于加运算为GF(2)域上的模2加运算,因此
Figure GDA0001857317260000123
由校验矩阵和码字之间的关系得
Figure GDA0001857317260000124
因此伴随式
Figure GDA0001857317260000125
如果伴随式等于0,则译码正确,输出本页数据,结束迭代,如果不等于0,则说明有错,转第4步。
第4步:翻转比特,计算硬判决数据中每个码元不满足校验方程的个数,
Figure GDA0001857317260000126
并找出其中最大值,Nmax=max{N0,N1,…,N1023},翻转Nmax所对应的码元,重新计算伴随式,如果伴随式等于0,则译码成功,输出数据,否则如果未达到最大迭代次数,则转步骤3,如果达到最大迭代次数则预示快速纠错型高效译码失败,则按数据恢复处理,转入步骤三构造数据恢复型软数据译码模块,根据NAND型闪存结构建立了LLR模型,为软数据译码提供LLR信息;
步骤三:构造数据恢复型软数据译码模块,根据NAND型闪存结构建立了LLR模型,为软数据译码提供LLR信息:
第1步:初始化,利用式(3)计算所有变量节点VNm的初始信息STm,并将初始信息赋给初始可靠信息,
Figure GDA0001857317260000131
第2步:第u次校验节点处理,
Figure GDA0001857317260000132
第3步:第u次变量节点处理,
Figure GDA0001857317260000133
第4步:迭代,在进行u次迭代之后,若全部
Figure GDA0001857317260000134
所组成的译码结果满足全部1024个校验方程,则停止迭代,输出正确译码结果;否则,如果u<Umax,则继续迭代,否则达到迭代上限则停止迭代,输出译码错误;
步骤四:自适应译码策略:
读出数据时先利用高效纠错型硬数据译码模块对按页读出的数据进行译码,如果在合理的迭代次数内成功译码,则输出译码结果,进行下一页数据的读取和纠错处理;如果硬数据译码失败,或在合理的迭代次数内无法完成译码,则调用数据恢复型软数据译码,以降低时效性能为代价,进行数据恢复处理。

Claims (4)

1.一种NAND型Flash固态存储自适应差错控制方法,其特征在于,其步骤为:
步骤一:构造(8n,8n-8r)码检验矩阵,实现编码;
步骤二:构造纠错型硬数据译码模块,采用硬判决快速译码实现低差错场景下的快速译码,显著提高译码效率,具体步骤为:所述的硬判决快速译码,其步骤为:
步骤1、根据NAND型Flash,存储单元为浮置门晶体管,写数据时向浮置门注入电荷,使晶体管阈值电压为Vth1和Vth2,设写入数据
Figure FDA0003112286410000011
为1时对应的阈值为
Figure FDA0003112286410000012
写入数据
Figure FDA0003112286410000013
为0时对应的阈值为
Figure FDA0003112286410000014
并且
Figure FDA0003112286410000015
Figure FDA0003112286410000016
是两个独立同分布的随机变量,方差为σ2
Figure FDA0003112286410000017
∈{0,1},其中i=0,1,2,3…,8n-1;读出数据时如果使用单一判决门限V0=(Vth1+Vth2)/2,第i个存储单元读出电压
Figure FDA0003112286410000018
则将第i个读出数据
Figure FDA0003112286410000019
判决为0,否则判决为1;同样,Dout∈{0,1},是一个具有等概率的贝努力随机变量;根据高斯干扰的特性,
Figure FDA00031122864100000110
其中将
Figure FDA00031122864100000111
映射为“+1”,
Figure FDA00031122864100000112
映射为“-1”,V0=0,则第i个节点变量的初始信息为:
Figure FDA00031122864100000113
步骤2、初始化:一次读出本页共8n个单元的电压值
Figure FDA0003112286410000021
利用式(5)进行硬判决得到
Figure FDA0003112286410000022
检验方程为:
Figure FDA0003112286410000023
第j个校验方程为
Figure FDA0003112286410000024
步骤3、伴随式计算:错误图样
Figure FDA0003112286410000025
由于加运算为GF(2)域上的模2加运算,因此
Figure FDA0003112286410000026
由校验矩阵和码字之间的关系得
Figure FDA0003112286410000027
因此伴随式
Figure FDA0003112286410000028
如果伴随式等于0,则译码正确,输出本页数据,结束迭代,如果不等于0,则说明有错,转第4步;
步骤4、翻转比特,计算硬判决数据中每个码元不满足校验方程的个数,
Figure FDA0003112286410000029
并找出其中最大值,Nmax=max{N0,N1,L,N8r-1},翻转Nmax所对应的码元,重新计算伴随式,如果伴随式等于0,则译码成功,输出数据,否则如果未达到最大迭代次数,则转步骤3,如果达到最大迭代次数则预示快速纠错型高效译码失败,则按数据恢复处理,转入数据恢复型软数据译码模块;
步骤三:构造数据恢复型软数据译码模块,根据NAND型闪存结构建立了LLR模型,为软数据译码提供LLR信息;具体步骤为:
第1步:初始化,利用式(3)计算所有变量节点VNm的初始信息STm,并将初始信息赋给初始可靠信息,
Figure FDA0003112286410000031
第2步:第u次校验节点处理,
Figure FDA0003112286410000032
第3步:第u次变量节点处理,
Figure FDA0003112286410000033
第4步:迭代,在进行u次迭代之后,若全部
Figure FDA0003112286410000034
所组成的译码结果满足全部8r个校验方程,则停止迭代,输出正确译码结果;否则,如果u<Umax,则继续迭代,否则达到迭代上限则停止迭代,输出译码错误;其中,CN(m)表示与变量节点m相连的所有校验节点组成的集合,m=1,2,3,…,8n,CN(m)\g表示除去校验节点g以外,所有与变量节点m相连的校验节点组成的集合;VN(g)表示与校验节点g相连的所有变量节点组成的集合,g=1,2,3,…,8r,VN(g)\m表示除去变量节点m之后,所有与校验节点g相连的变量节点的集合;Tm-g表示变量节点m传递给校验节点g的可靠信息;Rg-m表示校验节点g传递给变量节点m的可靠信息;Umax为最大迭代次数;
步骤四:自适应译码策略:
读出数据时先利用高效纠错型硬数据译码模块对按页读出的数据进行译码,如果在合理的迭代次数内成功译码,则输出译码结果,进行下一页数据的读取和纠错处理;如果硬数据译码失败,或在合理的迭代次数内无法完成译码,则调用数据恢复型软数据译码,以降低时效性能为代价,进行数据恢复处理。
2.根据权利要求1所述的一种NAND型Flash固态存储自适应差错控制方法,其特征在于,所述的码检验矩阵校验矩阵H=[H1H2],其中H1的规格为8r行8(n-r)列,H2的规格为8r行8r列;
Figure FDA0003112286410000041
选择单位矩阵I的维数为256,H1的规格为8r/256*256行8(n-r)/256*256列,设H1矩阵的基矩阵为H1B,则H1B的规格为8r/256行8(n-r)/256列。
3.根据权利要求2所述的一种NAND型Flash固态存储自适应差错控制方法,其特征在于,所述的H1由H1B扩展而成,扩展方法如下:
第1步:用256*256的单位矩阵I256*256代替H1B第1行第1列;
第2步:确定基矩阵第1行后续列的移位值,用I256*256循环左移j-1位代替H1B第1行第j列,其中j=2,3,…8(n-r)/256;
第3步:确定基矩阵的后续行的移位值,从第2行开始,用单位矩阵I256*256循环左移[8(n-r)/256+(v-1)(v-2)/2+(2+j)(j-1)/2]mod(256)位代替第v行第j列,其中v=2,3,4,…,8r/256;j=1,2,3,…,8(n-r)/256,mod(256)表示对256取模运算。
4.根据权利要求1所述的一种NAND型Flash固态存储自适应差错控制方法,其特征在于,所述的编码过程,其步骤为:
步骤1、针对NAND Flash,设每页数据大小为n-r个字节,ECC大小为r个字节,则编码长度为8n比特,校验位长度为8r比特,据此,确定编码尺寸为(8n,8(n-r));
步骤2、设待写入存储器的有效数据为D=[d0,d1,....d8(n-r)-1],共8(n-r)位,校验数据为P=[p0,p1,.....p8r-1],共8r位;则编码后的码字为C=[d0,d1,....d8(n-r)-1,p0,p1,.....p8r-1],共8n位,8n=8(n-r)+8r;
步骤3、根据校验方程得H1DT+H2PT=0,针对二元序列,其加运算为GF(2)域上的模2加运算,根据模2加运算规则可得H1DT=H2PT;用矩阵元素表示的校验方程为:
Figure FDA0003112286410000051
求解式(2)可以得到递推编码过程为
Figure FDA0003112286410000061
写入本页的完整数据为:
Figure FDA0003112286410000062
CN201810835470.8A 2018-07-26 2018-07-26 一种NAND Flash固态存储自适应差错控制方法 Active CN109087683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810835470.8A CN109087683B (zh) 2018-07-26 2018-07-26 一种NAND Flash固态存储自适应差错控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810835470.8A CN109087683B (zh) 2018-07-26 2018-07-26 一种NAND Flash固态存储自适应差错控制方法

Publications (2)

Publication Number Publication Date
CN109087683A CN109087683A (zh) 2018-12-25
CN109087683B true CN109087683B (zh) 2021-08-17

Family

ID=64830872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810835470.8A Active CN109087683B (zh) 2018-07-26 2018-07-26 一种NAND Flash固态存储自适应差错控制方法

Country Status (1)

Country Link
CN (1) CN109087683B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008054B (zh) * 2019-02-25 2023-05-12 西南交通大学 一种用于存储器差错控制的多级读取译码的方法和装置
CN110058956A (zh) * 2019-04-22 2019-07-26 广东工业大学 一种nand闪存读取方法、***及电子设备和存储介质
CN111294061B (zh) * 2020-02-11 2021-01-05 上海威固信息技术股份有限公司 一种原始比特错误率感知的译码软判决延迟降低方法
CN113035265B (zh) * 2021-03-09 2023-11-21 成都佰维存储科技有限公司 坏块筛选方法、装置、可读存储介质及电子设备
CN113241112B (zh) * 2021-03-25 2023-11-21 成都佰维存储科技有限公司 坏块筛选方法、装置、计算机可读存储介质及电子设备
CN116825167B (zh) * 2023-08-25 2023-12-19 深圳大普微电子科技有限公司 获取最佳阈值电压的方法、装置及非易失性存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432053B1 (en) * 2014-07-07 2016-08-30 Microsemi Storage Solutions (U.S.), Inc. High speed LDPC decoder
CN106371943A (zh) * 2016-09-06 2017-02-01 华中科技大学 一种基于flash编程干扰错误感知的LDPC译码优化方法
CN107423161A (zh) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 应用于快闪存储器中的自适应ldpc码纠错码***和方法
CN107786210A (zh) * 2016-08-30 2018-03-09 上海交通大学 用于多点协同通信***的中高码率ldpc码字结构和编码方法
CN107786211A (zh) * 2017-09-26 2018-03-09 华中科技大学 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432053B1 (en) * 2014-07-07 2016-08-30 Microsemi Storage Solutions (U.S.), Inc. High speed LDPC decoder
CN107786210A (zh) * 2016-08-30 2018-03-09 上海交通大学 用于多点协同通信***的中高码率ldpc码字结构和编码方法
CN106371943A (zh) * 2016-09-06 2017-02-01 华中科技大学 一种基于flash编程干扰错误感知的LDPC译码优化方法
CN107423161A (zh) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 应用于快闪存储器中的自适应ldpc码纠错码***和方法
CN107786211A (zh) * 2017-09-26 2018-03-09 华中科技大学 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器

Also Published As

Publication number Publication date
CN109087683A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109087683B (zh) 一种NAND Flash固态存储自适应差错控制方法
Wang et al. Soft information for LDPC decoding in flash: Mutual-information optimized quantization
US11018695B1 (en) Fast-converging bit-flipping decoder for low-density parity-check codes
CN104246706B (zh) 使用存储器特定奇偶校验矩阵的数据编码器和解码器
KR101753498B1 (ko) 신뢰도 데이터 업데이트
CN104835535B (zh) 一种固态盘自适应纠错方法与***
US8560930B2 (en) Systems and methods for multi-level quasi-cyclic low density parity check codes
TWI613674B (zh) 在具有選擇性二元及非二元解碼之快閃記憶體中之偵測及解碼
US10445175B2 (en) Controller and operating method thereof
US7581154B2 (en) Method and apparatus to lower operating voltages for memory arrays using error correcting codes
US11309916B2 (en) Error correction circuit and memory controller having the same
US20130145238A1 (en) Encoding and decoding in flash memories using convolutional-type low parity density check codes
US11043969B2 (en) Fast-converging soft bit-flipping decoder for low-density parity-check codes
CN104283570A (zh) 低密度奇偶性检验(ldpc)解码器中的对数似然比(llr)阻尼
US10804938B2 (en) Decoding data using decoders and neural networks
US10498364B2 (en) Error correction circuits and memory controllers including the same
KR20110028228A (ko) 다중레벨 플래시 메모리의 에러정정
CN111294061B (zh) 一种原始比特错误率感知的译码软判决延迟降低方法
US9639421B2 (en) Operating method of flash memory system
CN114639435A (zh) 位翻转解码器中的振荡检测和缓解
CN110071726B (zh) 多层单元闪存中联合ldpc码的构造方法及其译码装置
US20230052685A1 (en) Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
US11265015B2 (en) Out-of-order processing for bit-flipping decoders in non-volatile memory devices
TW202105920A (zh) 廣義低密度同位核對碼的軟輸入軟輸出組件碼解碼器
KR20190133987A (ko) 컨트롤러 및 그것의 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220110

Address after: Room 2201 and 2202, building 1, Huarui center, Xiaoshan Economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province

Patentee after: SAGE MICROELECTRONICS Corp.

Address before: 710123 Shaanxi city of Xi'an province Changan District Xijing Road No. 1

Patentee before: XIJING University

TR01 Transfer of patent right