CN110908827A - 用于NAND Flash闪存纠错的并行BCH解码方法 - Google Patents

用于NAND Flash闪存纠错的并行BCH解码方法 Download PDF

Info

Publication number
CN110908827A
CN110908827A CN201911131265.4A CN201911131265A CN110908827A CN 110908827 A CN110908827 A CN 110908827A CN 201911131265 A CN201911131265 A CN 201911131265A CN 110908827 A CN110908827 A CN 110908827A
Authority
CN
China
Prior art keywords
error
polynomial
sigma
stage
syndrome
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.)
Pending
Application number
CN201911131265.4A
Other languages
English (en)
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201911131265.4A priority Critical patent/CN110908827A/zh
Publication of CN110908827A publication Critical patent/CN110908827A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明属于数据纠错技术领域,具体涉及一种用于NAND Flash闪存纠错的并行BCH解码方法。所述并行BCH解码方法包括:计算伴随式的第一阶段、得到错误位置多项式的第二阶段,以及确定错误位置并纠正的第三阶段;与现有技术相比较,本发明具备如下有益效果:(1)本方法的结构简单,易于硬件实现,可以支持FPGA或芯片化设计等不同实现方式。(2)本方法实现了架构化设计,可以通过参数的不同配置快速形成对应方案。(3)本方法实现了数据的多位并行化输入与输出,显著减少了处理流程的时间消耗,提高编码处理效率。

Description

用于NAND Flash闪存纠错的并行BCH解码方法
技术领域
本发明属于数据纠错技术领域,具体涉及一种用于NAND Flash闪存纠错的并行BCH解码方法。
背景技术
NAND Flash闪存存储器在工艺生产过程中,由于其自身特性存在产生缺陷的可能,特别是为了提高存储容量采用储存单元的多位化结构导致的良率与可靠性的下降,对其进行读写操作时可能随机产生的数据错误,所以在数据被读取后需要确认数据是否与写入时是一致的。通常采用的方法是在资料写入时,利用编码器产生ECC奇偶校验位存储在闪存数据区域之外的冗余区域,数据读出的时候由解码器校验,确认接收的数据是正确的还是已经被各种噪声所干扰。如果确认数据有干扰或错误,还需要进一步将错误位置找出后,恢复为正确的数据。
BCH码是一种能够有效纠正数据错误的编解码算法,针对NAND Flash闪存,通过BCH编码计算将校验位附加在原有信息位上进行数据存储,读取时对获得的数据进行解码并在必要时纠正错误信息,以实现数据写入和读回的过程中保证数据的正确性。BCH码属于线性分组码,对随机发生的多个错误比特纠错能力强,特别是在短或中等码长下性能接近于理论值,并且构造方便、编码相对简单,适合硬件电路实现。
BCH编解码算法的实际操作是k位信息位M(x)经过生成多项式G(x)的变换产生r位校验位S(x),然后将信息位M(x)与校验位S(x)组合在一起形成n位码字C(x)的过程,其中n=k+r,x为多项式的变量。为了得到BCH编码的码字(信息位、校验位和码字均以多项式形式表示),关键就是求出校验位多项式S(x),其基本的计算过程为:首先,原始信息多项式m(x)乘以xn-k次幂变为xn-k×m(x);而后,xn-k×m(x)除以生成多项式g(x)得到商q(x)和余数多项式r(x),即xn-k×m(x)=q(x)×g(x)+r(x);最终,得到码字多项式为:
C(x)=xn-k×m(x)+r(x)=c0+c1x+c2x2+…+cn-1xn-1,其中
ci i=0,1,…,n-1为系数。但由于存在错误模式(多项式表示为E(x)=e0+e1x+e2x2+…+en-1xn-1,其中ei i=0,1,…,n-1为系数)的影响,导致最终得到读出数据的变为码字多项式R(x)=r0+r1x+r2x2+…+rn-1xn-1,其中ri i=0,1,…,n-1为系数,即有:R(x)=C(x)+E(x)。解码的目标就是要确定E(x),从而恢复出原有的数据C(x)。由于BCH解码计算复杂度高,而且传统方法只能逐位计算,计算效率很低,不能匹配硬件需要的高速数据处理要求。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种用于NAND Flash闪存纠错的并行BCH解码方法。
(二)技术方案
为解决上述技术问题,本发明提供一种用于NAND Flash闪存纠错的并行BCH解码方法,所述并行BCH解码方法包括:计算伴随式的第一阶段、得到错误位置多项式的第二阶段,以及确定错误位置并纠正的第三阶段;其中,
所述计算伴随式的第一阶段为:
首先计算伴随式S=(S1,S2,…,S2t)=R×HT,其中t为BCH码的设计纠错能力,R为码字多项式,H为校验矩阵;对于i=1,2,…,2t,对应伴随式S的第i个分量为:
Si=R(αi)=r0+r1αi+r2α2i+…+rn-1α(n-1)i
其中α为有限域GF(2m)上的本原元,ri为系数,i=0,1,…,n-1;
将上述公式进行转化如下:
Si=R(αi)=r0+r1αi+r2i)2+…+rn-1i)(n-1)
=(r0+r1αi+r2i)2+…+r31i)31)(αi)0
+(r32+r33αi+r34i)2+…+r63i)31)(αi)32
+…
+(rn-32+rn-31αi+rn-30i)2+…+rn-1i)31)(αi)n-32
这样从最下面一行开始,每次输入32位数据进行计算,然后将结果乘以(αi)32,再与下一次输入的计算结果相加,重复上述过程,最终就得到了对应的伴随式分量Si;特别地,由于在有限域中存在
Figure BDA0002278365920000031
成立,因此只需要计算Si,i=1,3,...,2t-1,即可容易得到Si,i=2,4,...,2t;
所述得到错误位置多项式的第二阶段为:
如果所有伴随式分量Si均为0,表示码字多项式R(x)不存在错误;否则存在错误则需要计算错误模式E(x);
假设实际错误模式E(x)是在
Figure BDA0002278365920000032
的v个位置存在错误,得到如下方程组,应求解确定错误位置
Figure BDA0002278365920000033
Figure BDA0002278365920000034
对于1≤l≤v,定义错误位置数
Figure BDA0002278365920000035
和错误位置多项式σ(x):
σ(x)=(1+β1x)(1+β2x)…(1+βvx)=σ01x+σ2x2+…+σvxv
该式表示σ(x)的根是错误位置数的倒数,即
Figure BDA0002278365920000036
能够得到系数σi与伴随式分量Si之间满足如下牛顿恒等式:
S11=0
S21S1+2σ2=0
S31S22S1+3σ3=0
Figure BDA0002278365920000037
Sv1Sv-1+…+σv-1S1+vσv=0
求解错误位置多项式基于Berlekamp-Massey算法,流程如下:
第一步,求得一个最低次数多项式σ(1)(x)=σ01x,使其系数满足第一个牛顿恒等式;
第二步,检验前步的σ(1)(x)的系数能否满足第二个牛顿恒等式;
如果确定满足条件,则取σ(2)(x)=σ(1)(x);如果不满足,则对σ(1)(x)增加一个修正项以构成新的σ(2)(x)=σ01x+σ2x2,使得σ(2)(x)具有最低的次数,同时满足前两个牛顿恒等式;
第三步,求最低次数多项式σ(3)(x)以满足最低次数和前三个牛顿恒等式;
重复上述迭代过程,直到获得σ(2t)(x)为止;此时σ(2t)(x)就是错误位置多项式,即σ(x)=σ(2t)(x),如果接收码字多项式R(x)中的错误小于或等于BCH码的纠错能力t,那么就可以从σ(x)中得到正确的错误模式。
所述确定错误位置的第三阶段为:
在确定错误位置多项式σ(x)的系数σ12,…,σv的基础上,要确定第i位是否为错误位置,只需要验证α-i是否为σ(x)=0的根,如果是,那么该位出错,否则该位的数据正确;因此将有限域中的n个元素逐一带入错误位置多项式,计算结果为0的元素即为错误位置多项式的根;σ(x)的根是错误位置数的倒数,因此将各个根求逆即可得到各个错误位置;对于NAND Flash闪存中数据来说使用的是二元BCH码,数据纠错只需要将错误位置的bit翻转即可。
其中,考虑硬件实现的特点,对第二阶段的算法进行优化改进。首先在牛顿恒等式中,如果第1,3,…,(2t-1)个公式成立,可以证明第2,4,…,2t个公式肯定成立,因此可以在迭代算法中减少半数计算;
此外在出现迭代处理的情况时,计算新的σ(n)(x)的公式需要涉及求逆运算,不利于硬件实现,因此给σ(x)多项式增加一个常数项σc,同样计算σcσ(x)=0,不影响最终的结果,但消除了求逆运算,简化了硬件实现复杂性;最终,得到σ(x)的系数σ12,…,σv
(三)有益效果
与现有技术相比较,本发明具备如下有益效果:
(1)本方法的结构简单,易于硬件实现,可以支持FPGA或芯片化设计等不同实现方式。
(2)本方法实现了架构化设计,可以通过参数的不同配置快速形成对应方案。
(3)本方法实现了数据的多位并行化输入与输出,显著减少了处理流程的时间消耗,提高编码处理效率。
附图说明
图1为求解错误位置多项式算法流程示意图。
图2为伴随式计算模块电路结构示意图。
图3为错误位置多项式模块电路结构示意图。
图4为错误位置搜索模块电路结构示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决现有技术问题,本发明提供一种用于NAND Flash闪存纠错的并行BCH解码方法,所述并行BCH解码方法包括:计算伴随式的第一阶段、得到错误位置多项式的第二阶段,以及确定错误位置并纠正的第三阶段;其中,
所述计算伴随式的第一阶段为:
首先计算伴随式S=(S1,S2,…,S2t)=R×HT,其中t为BCH码的设计纠错能力,R为码字多项式,H为校验矩阵;对于i=1,2,…,2t,对应伴随式S的第i个分量为:
Si=R(αi)=r0+r1αi+r2α2i+…+rn-1α(n-1)i
其中α为有限域GF(2m)上的本原元,ri为系数,i=0,1,…,n-1;
由于涉及到大量的模加和模乘运算,硬件的实现复杂度很高。为了实现多位并行处理(以32位为例),将上述公式进行转化如下:
Si=R(αi)=r0+r1αi+r2i)2+…+rn-1i)(n-1)
=(r0+r1αi+r2i)2+…+r31i)31)(αi)0
+(r32+r33αi+r34i)2+…+r63i)31)(αi)32
+…
+(rn-32+rn-31αi+rn-30i)2+…+rn-1i)31)(αi)n-32
这样从最下面一行开始,每次输入32位数据进行计算,然后将结果乘以(αi)32,再与下一次输入的计算结果相加,重复上述过程,最终就得到了对应的伴随式分量Si;特别地,由于在有限域中存在
Figure BDA0002278365920000061
成立,因此只需要计算Si,i=1,3,...,2t-1,即可容易得到Si,i=2,4,...,2t;
所述得到错误位置多项式的第二阶段为:
如果所有伴随式分量Si均为0,表示码字多项式R(x)不存在错误;否则存在错误则需要计算错误模式E(x);
假设实际错误模式E(x)是在
Figure BDA0002278365920000062
的v个位置存在错误,得到如下方程组,应求解确定错误位置
Figure BDA0002278365920000063
Figure BDA0002278365920000064
对于1≤l≤v,定义错误位置数
Figure BDA0002278365920000065
和错误位置多项式σ(x):
σ(x)=(1+β1x)(1+β2x)…(1+βvx)=σ01x+σ2x2+…+σvxv
该式表示σ(x)的根是错误位置数的倒数,即
Figure BDA0002278365920000066
能够得到系数σi与伴随式分量Si之间满足如下牛顿恒等式:
S11=0
S21S1+2σ2=0
S31S22S1+3σ3=0
Figure BDA0002278365920000071
Sv1Sv-1+…+σv-1S1+vσv=0
求解错误位置多项式基于Berlekamp-Massey算法,流程如下:
第一步,求得一个最低次数多项式σ(1)(x)=σ01x,使其系数满足第一个牛顿恒等式;
第二步,检验前步的σ(1)(x)的系数能否满足第二个牛顿恒等式;
如果确定满足条件,则取σ(2)(x)=σ(1)(x);如果不满足,则对σ(1)(x)增加一个修正项以构成新的σ(2)(x)=σ01x+σ2x2,使得σ(2)(x)具有最低的次数,同时满足前两个牛顿恒等式;
第三步,求最低次数多项式σ(3)(x)以满足最低次数和前三个牛顿恒等式;
重复上述迭代过程,直到获得σ(2t)(x)为止;此时σ(2t)(x)就是错误位置多项式,即σ(x)=σ(2t)(x),如果接收码字多项式R(x)中的错误小于或等于BCH码的纠错能力t,那么就可以从σ(x)中得到正确的错误模式。
所述确定错误位置的第三阶段为:
在确定错误位置多项式σ(x)的系数σ12,…,σv的基础上,要确定第i位是否为错误位置,只需要验证α-i是否为σ(x)=0的根,如果是,那么该位出错,否则该位的数据正确;因此将有限域中的n个元素逐一带入错误位置多项式,计算结果为0的元素即为错误位置多项式的根;σ(x)的根是错误位置数的倒数,因此将各个根求逆即可得到各个错误位置;对于NAND Flash闪存中数据来说使用的是二元BCH码,数据纠错只需要将错误位置的bit翻转即可。
其中,考虑硬件实现的特点,对第二阶段的算法进行优化改进。首先在牛顿恒等式中,如果第1,3,…,(2t-1)个公式成立,可以证明第2,4,…,2t个公式肯定成立,因此可以在迭代算法中减少半数计算;
此外在出现迭代处理的情况时,计算新的σ(n)(x)的公式需要涉及求逆运算,不利于硬件实现,因此给σ(x)多项式增加一个常数项σc,同样计算σcσ(x)=0,不影响最终的结果,但消除了求逆运算,简化了硬件实现复杂性;最终,该方法的基本流程如图1所示,得到σ(x)的系数σ12,…,σv
实施例1
下面给出本发明的具体实例。
本实施例确定的编码方案配置为:以32byte数据作为输入信息,实际信息位为k=256bit=32x8bit,对其进行BCH码编码处理,选择GF(213)作为有限域计算空间。设定纠错能力为t=4bit,可以得到校验位数为r=36bit,总码字长度为n=292bit,因此实现基于二进制BCH(292,256,4)分组码。选择本原多项式为f(x)=1+x4+x9,实现p=32位并行处理。
(1)伴随式计算模块
硬件实现结构如图2所示。根据发明方法中的公式,每次输入以32位为一组并行计算乘加结果,而后乘以(αi)32再与下一次输入结果相加,即得到最终伴随式结果。
(2)错误位置多项式模块
错误位置多项式模块实现将伴随式Si作为输入,主要由计算控制单元(PE_CTRL)和运算单元(PE)组成。运算单元完成每步的基本运算功能,计算控制单元负责状态判断、并控制电路的运行。硬件实现结构如图3所示。
(3)错误位置搜索模块
错误位置搜索模块以错误位置多项式为输入数据,逐个带入有限域元素,计算多项式结果σ(αi)是否为0,以判断αi是否为多项式的根。为了计算σ(αi)=σ01i)+σ2i)2+…+σti)t,令μj=σji)j j=0,1,...,t,在设计实现中,首先计算σ(αi)对应的μ012,…,μt,而后将每个μj乘以相应的α012,…,αt,即可实现32路并行处理,硬件实现结构如图4所示。
(4)纠错模块
纠错模块将读取到的数据与错误位置搜索模块得到的错误位置信息对应起来,对确定为错误的bit位进行0或1翻转,即可输出正确的原始数据结果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (2)

1.一种用于NAND Flash闪存纠错的并行BCH解码方法,其特征在于,所述并行BCH解码方法包括:计算伴随式的第一阶段、得到错误位置多项式的第二阶段,以及确定错误位置并纠正的第三阶段;其中,
所述计算伴随式的第一阶段为:
首先计算伴随式S=(S1,S2,…,S2t)=R×HT,其中t为BCH码的设计纠错能力,R为码字多项式,H为校验矩阵;对于i=1,2,…,2t,对应伴随式S的第i个分量为:
Si=R(αi)=r0+r1αi+r2α2i+…+rn-1α(n-1)i
其中α为有限域GF(2m)上的本原元,ri为系数,i=0,1,…,n-1;
将上述公式进行转化如下:
Si=R(αi)=r0+r1αi+r2i)2+…+rn-1i)(n-1)
=(r0+r1αi+r2i)2+…+r31i)31)(αi)0+(r32+r33αi+r34i)2+…+r63i)31)(αi)32+…+(rn-32+rn-31αi+rn-30i)2+…+rn-1i)31)(αi)n-32
这样从最下面一行开始,每次输入32位数据进行计算,然后将结果乘以(αi)32,再与下一次输入的计算结果相加,重复上述过程,最终就得到了对应的伴随式分量Si;特别地,由于在有限域中存在
Figure FDA0002278365910000011
成立,因此只需要计算Si,i=1,3,...,2t-1,即可容易得到Si,i=2,4,...,2t;
所述得到错误位置多项式的第二阶段为:
如果所有伴随式分量Si均为0,表示码字多项式R(x)不存在错误;否则存在错误则需要计算错误模式E(x);
假设实际错误模式E(x)是在
Figure FDA0002278365910000012
的v个位置存在错误,得到如下方程组,应求解确定错误位置
Figure FDA0002278365910000013
Figure FDA0002278365910000021
1≤l≤v,0≤j1<j2<…<jv<n
对于1≤l≤v,定义错误位置数
Figure FDA0002278365910000022
和错误位置多项式σ(x):
σ(x)=(1+β1x)(1+β2x)…(1+βvx)=σ01x+σ2x2+…+σvxv
该式表示σ(x)的根是错误位置数的倒数,即
Figure FDA0002278365910000023
能够得到系数σi与伴随式分量Si之间满足如下牛顿恒等式:
S11=0
S21S1+2σ2=0
S31S22S1+3σ3=0
Figure FDA0002278365910000024
Sv1Sv-1+…+σv-1S1+vσv=0
求解错误位置多项式基于Berlekamp-Massey算法,流程如下:
第一步,求得一个最低次数多项式σ(1)(x)=σ01x,使其系数满足第一个牛顿恒等式;
第二步,检验前步的σ(1)(x)的系数能否满足第二个牛顿恒等式;
如果确定满足条件,则取σ(2)(x)=σ(1)(x);如果不满足,则对σ(1)(x)增加一个修正项以构成新的σ(2)(x)=σ01x+σ2x2,使得σ(2)(x)具有最低的次数,同时满足前两个牛顿恒等式;
第三步,求最低次数多项式σ(3)(x)以满足最低次数和前三个牛顿恒等式;
重复上述迭代过程,直到获得σ(2t)(x)为止;此时σ(2t)(x)就是错误位置多项式,即σ(x)=σ(2t)(x),如果接收码字多项式R(x)中的错误小于或等于BCH码的纠错能力t,那么就可以从σ(x)中得到正确的错误模式。
所述确定错误位置的第三阶段为:
在确定错误位置多项式σ(x)的系数σ12,…,σv的基础上,要确定第i位是否为错误位置,只需要验证α-i是否为σ(x)=0的根,如果是,那么该位出错,否则该位的数据正确;因此将有限域中的n个元素逐一带入错误位置多项式,计算结果为0的元素即为错误位置多项式的根;σ(x)的根是错误位置数的倒数,因此将各个根求逆即可得到各个错误位置;对于NANDFlash闪存中数据来说使用的是二元BCH码,数据纠错只需要将错误位置的bit翻转即可。
2.如权利要求1所述的用于NAND Flash闪存纠错的并行BCH解码方法,其特征在于,考虑硬件实现的特点,对第二阶段的算法进行优化改进。首先在牛顿恒等式中,如果第1,3,…,(2t-1)个公式成立,可以证明第2,4,…,2t个公式肯定成立,因此可以在迭代算法中减少半数计算;
此外在出现迭代处理的情况时,计算新的σ(n)(x)的公式需要涉及求逆运算,不利于硬件实现,因此给σ(x)多项式增加一个常数项σc,同样计算σcσ(x)=0,不影响最终的结果,但消除了求逆运算,简化了硬件实现复杂性;最终,得到σ(x)的系数σ12,…,σv
CN201911131265.4A 2019-11-19 2019-11-19 用于NAND Flash闪存纠错的并行BCH解码方法 Pending CN110908827A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911131265.4A CN110908827A (zh) 2019-11-19 2019-11-19 用于NAND Flash闪存纠错的并行BCH解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911131265.4A CN110908827A (zh) 2019-11-19 2019-11-19 用于NAND Flash闪存纠错的并行BCH解码方法

Publications (1)

Publication Number Publication Date
CN110908827A true CN110908827A (zh) 2020-03-24

Family

ID=69818104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911131265.4A Pending CN110908827A (zh) 2019-11-19 2019-11-19 用于NAND Flash闪存纠错的并行BCH解码方法

Country Status (1)

Country Link
CN (1) CN110908827A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966524A (zh) * 2020-08-24 2020-11-20 深圳三地一芯电子有限责任公司 一种Flash数据写入方法及装置
CN112286716A (zh) * 2020-10-21 2021-01-29 天津津航计算技术研究所 一种1024字节的存储系统差错控制模块
CN117632577A (zh) * 2023-12-05 2024-03-01 浙江大学 一种基于bch编码的快速ecc纠错电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394662A (zh) * 2011-10-27 2012-03-28 优能通信科技(杭州)有限公司 一种bch码的译码方法
CN105634506A (zh) * 2015-12-25 2016-06-01 重庆邮电大学 基于移位搜索算法的平方剩余码的软判决译码方法
CN106708654A (zh) * 2017-01-10 2017-05-24 电子科技大学 一种用于NANDflash的BCH纠错码的电路结构
CN109756235A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种可配置的并行bch纠错编码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394662A (zh) * 2011-10-27 2012-03-28 优能通信科技(杭州)有限公司 一种bch码的译码方法
CN105634506A (zh) * 2015-12-25 2016-06-01 重庆邮电大学 基于移位搜索算法的平方剩余码的软判决译码方法
CN106708654A (zh) * 2017-01-10 2017-05-24 电子科技大学 一种用于NANDflash的BCH纠错码的电路结构
CN109756235A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种可配置的并行bch纠错编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
文传勇: "《无线扩频数字中频通信系统设计与实现》", "中国优秀硕士学位论文全文数据库 信息科技辑", no. 4, pages 18 - 21 *
谢蓉芳: "《可配置NAND Flash纠错技术研究》", "中国优秀硕士学位论文全文数据库 信息科技辑", no. 4, pages 18 - 22 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966524A (zh) * 2020-08-24 2020-11-20 深圳三地一芯电子有限责任公司 一种Flash数据写入方法及装置
CN111966524B (zh) * 2020-08-24 2021-07-13 深圳三地一芯电子有限责任公司 一种Flash数据写入方法及装置
CN112286716A (zh) * 2020-10-21 2021-01-29 天津津航计算技术研究所 一种1024字节的存储系统差错控制模块
CN117632577A (zh) * 2023-12-05 2024-03-01 浙江大学 一种基于bch编码的快速ecc纠错电路

Similar Documents

Publication Publication Date Title
JP5043562B2 (ja) エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US8091010B2 (en) Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
CN113032178B (zh) 存储器控制器及快闪存储器的存取方法
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US9075739B2 (en) Storage device
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
US10574272B2 (en) Memory system
US11632135B2 (en) Apparatuses and methods for interleaved BCH codes
US10567003B2 (en) List decode circuits
WO2019156980A1 (en) Generating and using invertible, shortened bose-chaudhuri-hocquenghem codewords
US12009837B2 (en) Syndrome calculation for error detection and error correction
CN112286716A (zh) 一种1024字节的存储系统差错控制模块
CN110113058B (zh) 编译码方法、装置、设备及计算机可读存储介质
CN116743188A (zh) 存储系统和控制存储系统的方法
US20130232396A1 (en) Apparatuses and methods for encoding using error protection codes
Spinner et al. A decoder with soft decoding capability for high-rate generalized concatenated codes with applications in non-volatile flash memories
CN117632577B (zh) 一种基于bch编码的快速ecc纠错电路
US20240275408A1 (en) Memory system, memory controller, and method of controlling non-volatile memory
KR101226439B1 (ko) 리드-솔로몬 디코더, 이를 포함하는 메모리 시스템 및 디코딩 방법
RU2297030C2 (ru) Самокорректирующееся устройство хранения информации
JP2553571B2 (ja) ガロア体演算装置
RU2297032C2 (ru) Самокорректирующееся запоминающее устройство
CN116208180A (zh) 一种bch码高效并行编解码方法
CN106067825A (zh) Bch预搜索电路、bch解码电路、bch预搜索方法及bch纠错方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200324