CN102005250A - 准循环低密度奇偶校验码译码器及译码方法 - Google Patents

准循环低密度奇偶校验码译码器及译码方法 Download PDF

Info

Publication number
CN102005250A
CN102005250A CN2010105235062A CN201010523506A CN102005250A CN 102005250 A CN102005250 A CN 102005250A CN 2010105235062 A CN2010105235062 A CN 2010105235062A CN 201010523506 A CN201010523506 A CN 201010523506A CN 102005250 A CN102005250 A CN 102005250A
Authority
CN
China
Prior art keywords
syndrome
decode
data
decoding
circuit structure
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
CN2010105235062A
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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN2010105235062A priority Critical patent/CN102005250A/zh
Publication of CN102005250A publication Critical patent/CN102005250A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明公开了一种准循环低密度奇偶校验码译码器,所述译码器包括:校验节点处理模块,用于迭代信息的传递和更新以及对待译码数据的校验节点进行计算并更新;变量节点处理模块,用于对待译码数据的变量节点进行计算和更新;判决模块,用于根据变量节点处理模块的计算结果进行译码判决;伴随式处理模块,用于计算待译码数据的伴随式,并判断伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。本发明相应提供一种准循环低密度奇偶校验码译码方法。借此,本发明能在纠错完成时,控制结束伴随式计算以及节点更新,降低不必要的时钟周期浪费,从而提高了译码速度。

Description

准循环低密度奇偶校验码译码器及译码方法
技术领域
本发明涉及固态硬盘纠错系统和方法,尤其涉及一种准循环低密度奇偶校验码(QC-LDPC)译码器及译码方法。
背景技术
目前应用于固态硬盘的纠错技术主要是BCH技术,编码过程通过线性反馈移位寄存器实现,寄存器的数目和纠错能力要求成正比;译码过程分为三部分,首先是伴随式计算,随后是关键方程求解,最后是钱搜索过程。这种技术译码过程复杂,导致硬件实现电路复杂,需要付出延迟和芯片面积的代价。随着工艺水平提高,闪存阵列页单元增大,纠错的扇区大小从512B向1KB发展,码长增加同时要求纠错能力也增加。而随着码长和纠错能力要求的增加,要求更大的伽罗瓦域,编码解码算法在更高数量级上进行,传统的BCH纠错技术变得更复杂,硬件实现复杂程度和成本将大幅度增加。在大的伽罗瓦域进行编码译码设计时,需要利用计算机进行复杂的设计运算,一般的计算机显然不能满足要求。
同时,随着MLC(Multi-Level Cell,多层单元闪存)成为主流闪存,对纠错能力的要求不断提高。其出错主要原因包括浮栅晶体管单元之间的干扰和一个单元内不同层次信息之间的互相干扰,体现在影响阈值电压的分布上。BCH码对于MLC这种出错的修正能力有限,因此成为阻碍MLC Flash发展的因素。传统BCH纠错技术对于特定的应用纠错位数是固定的,意味着在译码过程中即使发生错误个数少于设定纠错位数时,译码过程中的伴随式计算耗费的时钟周期没有减少,浪费了不必要的时钟周期。更多的比特信息存储在一个浮栅晶体管单元上,存储密度的大幅度提升,要求更低误比特率,这些要求对BCH提出了巨大的挑战,实现变得复杂甚至困难,而纠错性能则严重下降。
综上可知,现有固态硬盘纠错系统及方法在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种准循环低密度奇偶校验码译码器及译码方法,其能在纠错完成时,控制结束伴随式计算以及节点更新,降低不必要的时钟周期浪费,从而提高了译码速度。
为了实现上述目的,本发明提供一种准循环低密度奇偶校验码译码器,所述译码器包括:
校验节点处理模块,用于迭代信息的传递和更新,对待译码数据的校验节点进行计算和更新;
变量节点处理模块,用于对所述待译码数据的变量节点进行计算和更新;
判决模块,用于根据所述变量节点处理模块的计算结果进行译码判决;
伴随式处理模块,用于计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
根据本发明的译码器,所述译码器还包括初始化模块,用于对所述待译码数据进行初始化以及设定最大迭代译码次数。
根据本发明的译码器,所述译码器还包括迭代次数判断模块,用于判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。
根据本发明的译码器,所述伴随式计算通过顺序电路结构或者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
根据本发明的译码器,所述顺序电路结构包括:第一寄存器组,用于存储校验矩阵位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对所述待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
本发明还提供一种准循环低密度奇偶校验码译方法,所述译码方法包括:
校验节点处理步骤,进行迭代信息的传递和更新,对所述待译码数据的校验节点进行计算和更新;
变量节点处理步骤,对所述待译码数据的变量节点进行计算和更新;
译码判决步骤,根据变量节点计算结果进行译码判决;
伴随式处理步骤,计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
根据本发明的译码方法,所述校验节点处理步骤之前还包括:对所述待译码数据进行初始化以及设定最大迭代译码次数。
根据本发明的译码方法,所述译码方法还包括迭代次数判断步骤:判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。
根据本发明的译码方法,所述伴随式计算通过顺序电路结构或者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
根据本发明的译码方法,所述顺序电路结构包括:第一寄存器组,用于存储校验矩阵位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
本发明通过在译码时对待译码数据进行伴随式计算和伴随式判断,当伴随式为0时,则输出译码结果并终止伴随式计算和节点更新,若伴随式不为0,则进行下一次迭代。借此,与传统的BCH算法相比,本发明能在纠错完成时停止伴随式的计算,输出译码数据,降低不必要的时钟周期浪费,从而提高了译码速度。
附图说明
图1是本发明准循环低密度奇偶校验码译码器的原理结构图;
图2是本发明伴随式计算电路的顺序电路结构图;
图3是本发明伴随式计算电路的并行电路结构图;
图4是本发明固态硬盘纠错系统的系统结构图;
图5是本发明QC-LDPC编码器一种实施例的电路结构图;
图6是本发明QC-LDPC编码器另一实施例的电路结构图;
图7是本发明准循环低密度奇偶校验码译码方法的流程图;
图8是本发明实施例提供的准循环低密度奇偶校验码译码具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一种准循环低密度奇偶校验码译码器10,基于BeliefPropagation算法迭代译码,适用于对纠错能力要求高的具有长码长的固态硬盘纠错系统100。译码器10主要包括初始化模块11、校验节点处理模块12、变量节点处理模块13、判决模块14、伴随处理模块15。
初始化模块11,用于对待译码数据进行初始化,设定最大迭代译码次数,进行初始化之前需先经过速度匹配等处理。
校验节点处理模块12,用于迭代信息的传递和更新,对待译码数据的校验节点进行计算并更新。
变量节点处理模块13,用于对待译码数据的变量节点进行计算和更新。
判决模块14,用于根据变量节点处理模块的计算结果进行译码判决。
伴随式处理模块15,用于对经过译码判决后的待译码数据进行伴随式计算,并判断伴随式是否为0,若伴随式为0则控制输出译码结果并终止伴随式计算、节点更新以及译码判决,若伴随式不为0则进行下一次迭代。从而本发明能在纠错完成时停止伴随式的计算,输出译码序列,降低不必要的时钟周期浪费,从而提高了译码速度。
优选的是,译码器10还包括迭代次数判断模块,用于判断译码迭代次数是否达到预设最大迭代次数,若达到预设最大迭代次数,则终止译码。
优选的是,译码器10还包括数据寄存器,译码时,从固态硬盘读出的待译码数据首先存储于数据寄存器中,该数据寄存器还用于缓存译码过程中的待译码数据以及缓存译码结果。
根据本发明的一个实施例,译码器10的译码原理基于因子图,校验矩阵H为M×N矩阵,M=m×b,N=n×b,变量i、j。M(i)表示与变量节点i相连的校验节点的集合,即H矩阵中第i列中1的位置;N(j)表示参与第j个校验方程的变量节点的集合,即H矩阵中第j行中1的位置;N(j)\i表示从集合N(j)中去掉元素i之后的子集;M(i)\j表示从集合M(i)中去掉元素j之后的子集。译码器10根据从固态硬盘接收到的数据译码过程如下:
步骤一,初始化模块11根据接收数据初始化设定最大迭代次数lmax,并初始化式子:
L(qij)=L(Pi)=L(xi|yi)=log(P(xi=0|yi)/P(xn=1|yn))=2yn2    (1)
步骤二,校验节点处理模块12进行校验节点更新,对每个校验节点j以及i∈N(j),计算
L ( r ij ) = ( Π i ′ ∈ N ( j ) \ i sign ( L ( q i ′ j ) ) ) f [ Σ i ′ ∈ N ( j ) \ i f ( L ( q i ′ j ) ) ] , - - - ( 2 )
其中 f ( x ) @ - ln tanh ( x 2 ) = ln e x + 1 e x - 1 . - - - ( 3 )
步骤三,变量节点处理模块13对每个变量节点i以及j∈M(i),计算变量节点更新:
L ( q ij ) = L ( P i ) + Σ j ′ ∈ M ( i ) \ j L ( r j ′ i ) - - - ( 4 )
L ( Q i ) = L ( P i ) + Σ j ∈ M ( i ) \ j L ( r ji ) - - - ( 5 )
步骤四,判决模块14进行判决,如果L(Qi)≥0,令rn=0,否则rn=1。
步骤五,伴随式处理,伴随式处理主要包括伴随式计算和判断控制,经过判决模块14处理后的数据集合为r=[r1,r2,......,rnb],计算其伴随式S=rHT;然后判断其伴随式S是否为0,若伴随式rHT=0,则输出码字并终止伴随式计算、节点更新以及译码判决,若伴随式不等于0则跳转到步骤二。如果达到最大迭代次数仍未成功,则输出译码失败。
在步骤五中,伴随式S=rHT,校验矩阵H是m行n列个不同子方阵Q构成的m×b行、n×b列稀疏矩阵。b维方阵Q是准循环方阵,每一行是上一行右移一位的结果,第一行是最后一行右移一位的结果,假设长度为b的向量
Figure BSA00000323756000055
为第i行j列(1≤i≤m,1≤j≤n)方阵Q的第一行,那么循环移位k次的结果是
Figure BSA00000323756000056
(0≤k≤b-1),这样就构成了方阵Q。
伴随式S=rHT        (6)
矩阵H可以写为:
HT=[h1,h2,...,hm],hi=[Qi,1,Qi,2,...Qi,n]T(1≤i≤m)         (7)
读取得到的待译码数据也可以分组,
r=[r1,r2,......,rnb]=[r1,r2,...,rn]    (8)
ri[r(i-1)b+1,r(i-1)b+2,...,rib](1≤i≤n)    (9)
伴随式可以写为:
S=[S1,S2,...,Sm],Si=[S(i-1)b+1,S(i-1)b+2,...,Sib](1≤i≤m)  (10)
从而
Si=r×hi=r1×Qi,1+r2×Qi,2+....+rn×Qi,n(1≤i≤m)               (11)
展开得到:
r j × Q i , j = r ( j - 1 ) b + 1 × g i , j 0 + r ( j - 1 ) b + 2 × g i , j 1 + . . . + r jb × g i , j b - 1 ) , ( 1 ≤ i ≤ m , 1 ≤ j ≤ n ) - - - ( 12 )
根据以上各式,伴随式计算电路可采用图2所示的顺序电路结构或图3所示的并行电路结构实现,并行电路结构包括m个并行设置的顺序电路结构。该顺序电路结构包括用于存储校验矩阵位的第一寄存器组111、用于缓存伴随式计算中间结果的第二寄存器组112以及运算单元113。
进行伴随式计算时,第二寄存器组112初始化为0,第一寄存器组111存储初始校验矩阵位
Figure BSA00000323756000062
为准循环方阵Q的第一行数据。在控制信号有效且触发时钟有效时,输入待译码数据的第一位数据到运算单元113和第一寄存器组111中每一位数据进行“与”运算,运算的结果再和第二寄存器组112(初始为0)“异或”运算,并把结果缓存到第二寄存器组112,同时对第一寄存器组111进行移位,这样第一寄存器组111中的校验矩阵位变为
Figure BSA00000323756000063
在下一个时钟触发到来时,输入待译码数据第二位与第一寄存器组111中的校验矩阵位进行“与”运算,运算结果再和第二寄存器组112中缓存的伴随式计算中间结果进行“异或”运算,并更新“异或”运算的结果到第二寄存器组112,如此重复进行移位和运算操作,直到输入全部待译码数据,此时得到伴随式组S1,再次重新输入待译码数据计算下一组伴随式,直到计算出所有伴随式。对于m组伴随式,需要输入m次全部的待译码数据。
上述图2所示的顺序电路结构芯片面积比较小,节省硬件成本,但是译码时间长。也可根据应用情况选用如图3所示的并行电路结构,并行电路结构采用m个顺序电路并行的方法,其包括m个并行设置的顺序电路,同时计算m组伴随式,这样只需要输入一次待译码数据就可计算出伴随式,译码时间是图2所示顺序电路的m分之一,但是硬件成本是顺序电路的m倍。在追求编码速度的系统中可以采用图3所示电路结构。采用该并行电路结构计算伴随式时,不同顺序电路中的第一移位寄存器组111初始存放不同的准循环方阵Q的第一行数据,待译码数据从第一位开始顺序输入,每个顺序电路都同时接收到同样的输入数据,在不同的校验方阵Q下运算得到不同的伴随式组,每个顺序电路计算一组伴随式。
根据伴随式计算结果S=(S1,S2,...,Smb),比较S是否为全0向量,如果是则表示读取得到的数据满足校验方程,并输出当前数据作为译码结果,同时把伴随式计算控制信号驱动为无效,终止校验节点的更新和伴随式的计算;如果不全为0,说明数据中存在错误需要纠错,则不能输出数据,且驱动伴随式计算控制信号为有效,回到步骤二中的校验节点更新并进行下一步伴随式的计算。
如图2或图3所示,当伴随式计算控制信号为0时,待译码数据的变化在与门的输出端没有反映,与门输出一直为0,第一寄存器组111的数值也传递不到运算单元113的下一层,运算单元113中的与门输出也为0,电平信号和0异或的结果不变,因此第二寄存器组112中的数据保持不变。换言之,当控制信号为0时,译码数据不能输入到伴随式,且伴随式计算结果保持不变,也即伴随式计算电路停止工作。因此当伴随式为0纠错完成时就发出值为0的控制信号到伴随式计算电路去终止伴随式计算,若需继续纠错则将控制信号设为高电平。
本发明提供的译码器10应用于固态硬盘纠错系统100,固态硬盘纠错系统100的系统结构如图4所示,其包括缓冲寄存器20、通道控制器30、闪存40以及ECC模块50,ECC模块包括编码器60和译码器10。固态硬盘纠错系统100通过QC-LDPC进行编码,通过基于改进的Belief Propagation算法的译码器10进行迭代译码,在较长码长的闪存系统中具有强大的纠错能力和低误比特率,性能是BCH纠错技术的2倍。
QC-LDPC编码器60的电路结构如图5和图6所示。QC-LDPC码校验矩阵H由m行和n列的b维方阵Q组成,通常情况下m<n,那么H是m×b行、n×b列的稀疏矩阵。其中的b维方阵Q是准循环方阵,每一行是上一行右移一位的结果,第一行是最后一行右移一位的结果,假设长度为b的向量
Figure BSA00000323756000071
为第i行j列(1≤i≤m,1≤j≤n)方阵Q的第一行,那么循环移位k次的结果是
Figure BSA00000323756000081
(0≤k≤b-1),这样就构成了方阵Q。根据校验矩阵H设计的生成矩阵G满足G×HT=0,生成矩阵G具有和校验矩阵H同样的维度,只是其中的b维方阵Q不一样。
假设待编码数据是大小为m×b的向量C,C=(C1,C2,...,Cmb),把向量C分为m部分Ci(i=1,2,...,m),Ci=(C(i-1)b+1,C(i-1)b+2,...Cib)为大小为b的向量。编码过程是将待编码数据乘以生成矩阵G,得到已编码数据V=C×G=(V1,V2,...,Vnb),且V也可以分为n部分,每个部分为大小为b的向量,即V=(V1,V2,...,Vn),根据V=C×G得:
Vi=C1×G1,i+C2×G2,i+...+Cm×Gm,i(1≤i≤n)        (13)
把式(1)其中每项展开有:
C i × G i , j = C ( i - 1 ) b + 1 × g i , j 0 + C ( i - 1 ) b + 2 × g i , j 1 + . . . + C ib × g i , j b - 1 ) , ( 1 ≤ i ≤ m , 1 ≤ j ≤ n ) - - - ( 14 )
根据式(13)、(14)的结果,得到如图5的编码器结构,其包括:b bits寄存器组A,运算单元以及b bits寄存器组B,其中,寄存器组A与寄存器组B为移位寄存器组。
进行编码时,移位寄存器组A存储(0≤k≤b-1)(这里的数据向量
Figure BSA00000323756000084
(0≤k≤b-1)和译码过程中的
Figure BSA00000323756000085
(0≤k≤b-1)不一定相同,因为经过生成矩阵和校验矩阵中的准循环方阵Q不一定相同),移位寄存器组B初始化为全0。待编码数据C的第一位输入运算单元后和移位寄存器组A的
Figure BSA00000323756000086
数据进行“与”运算后把结果寄存到寄存器组B并对寄存器组A进行一次移位变成
Figure BSA00000323756000087
第二位待编码数据进入运算单元后和
Figure BSA00000323756000088
进行“与”运算后和寄存器组B的数据进行“异或”运算并把结果更新到寄存器组B,重复进行上述过程直到待编码数据输入结束,此时在寄存器组B中存储的是已编码数据V1,输出该组数据并清零寄存器组B,对寄存器组A进行重新赋值进行V2的运算,依次类推,直到编码完成。图5所示电路结构需通过多次移位完成编码,编码时间较长,如需要快的编码速度,可使用图6的编码结构,以硬件成本换取快的编码速度。
如图7所示,本发明相应提供一种准循环低密度奇偶校验码译方法,其通过图1所示的译码器10实现,该方法包括如下流程:
步骤S701,进行迭代信息的传递和更新,对待译码数据的校验节点进行计算并更新,本步骤通过校验节点处理模块12实现。在进行本步骤之前首先要对待译码数据进行初始化,并设定最大迭代译码次数。
步骤S702,对待译码数据的变量节点进行计算和更新,本步骤通过变量节点处理模块13实现。
步骤S703,根据变量节点计算结果进行译码判决,本步骤通过判决模块14实现。
步骤S704,对待译码数据进行伴随式计算,并判断伴随式是否为0,若是则控制输出译码结果并终止伴随式计算、节点更新以及译码判决,若否则进行下一次迭代,本步骤通过伴随式处理模块15实现。
优选的,进行下一次迭代之前还包括迭代次数判断步骤,判断译码迭代次数是否达到最大迭代译码次数,若达到最大迭代译码次数,则终止译码,若未达到最大迭代译码次数,则进行下一次迭代。
图8示出了本发明实施例提供的准循环低密度奇偶校验码译码具体流程,其包括如下步骤:
步骤S801,初始化。
步骤S802,校验节点处理。
步骤S803,变量节点处理。
步骤S804,译码判决。
步骤S805,伴随式计算。
步骤S806,判断伴随式是否为0,若为是则译码成功,若否则转到步骤S807。
步骤S807,判断是否达到最大迭代次数,若未达到最大迭代次数,则回到步骤S802;若达到最大迭代次数则译码失败。
综上所述,本发明通过在译码时对待译码数据进行伴随式计算和伴随式判断,当伴随式为0时,则输出译码结果并终止伴随式计算和节点更新,若伴随式不为0,则进行下一次迭代。从而本发明能在纠错完成时停止伴随式的计算,输出译码序列,降低不必要的时钟周期浪费,从而提高了译码速度。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种准循环低密度奇偶校验码译码器,其特征在于,所述译码器包括:
校验节点处理模块,用于迭代信息的传递和更新,对待译码数据的校验节点进行计算和更新;
变量节点处理模块,用于对所述待译码数据的变量节点进行计算和更新;
判决模块,用于根据所述变量节点处理模块的计算结果进行译码判决;
伴随式处理模块,用于计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
2.根据权利要求1所述的译码器,其特征在于,所述译码器还包括初始化模块,用于对所述待译码数据进行初始化以及设定最大迭代译码次数。
3.根据权利要求2所述的译码器,其特征在于,所述译码器还包括迭代次数判断模块,用于判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。
4.根据权利要求1所述的译码器,其特征在于,所述伴随式计算通过顺序电路结构或者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
5.根据权利要求4所述的译码器,其特征在于,所述顺序电路结构包括:
第一寄存器组,用于存储校验矩阵位;
第二寄存器组,用于缓存伴随式计算中间结果;
运算单元,用于对所述待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
6.一种准循环低密度奇偶校验码译方法,其特征在于,所述译码方法包括:
校验节点处理步骤,进行迭代信息的传递和更新,对所述待译码数据的校验节点进行计算和更新;
变量节点处理步骤,对所述待译码数据的变量节点进行计算和更新;
译码判决步骤,根据变量节点计算结果进行译码判决;
伴随式处理步骤,计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
7.根据权利要求6所述的译码方法,其特征在于,所述校验节点处理步骤之前还包括:对所述待译码数据进行初始化以及设定最大迭代译码次数。
8.根据权利要求7所述的译码方法,其特征在于,所述译码方法还包括迭代次数判断步骤:判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。
9.根据权利要求6所述的译码方法,其特征在于,所述伴随式计算通过顺序电路结构或者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
10.根据权利要求8所述的译码方法,其特征在于,所述顺序电路结构包括:
第一寄存器组,用于存储校验矩阵位;
第二寄存器组,用于缓存伴随式计算中间结果;
运算单元,用于对待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
CN2010105235062A 2010-10-27 2010-10-27 准循环低密度奇偶校验码译码器及译码方法 Pending CN102005250A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105235062A CN102005250A (zh) 2010-10-27 2010-10-27 准循环低密度奇偶校验码译码器及译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105235062A CN102005250A (zh) 2010-10-27 2010-10-27 准循环低密度奇偶校验码译码器及译码方法

Publications (1)

Publication Number Publication Date
CN102005250A true CN102005250A (zh) 2011-04-06

Family

ID=43812524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105235062A Pending CN102005250A (zh) 2010-10-27 2010-10-27 准循环低密度奇偶校验码译码器及译码方法

Country Status (1)

Country Link
CN (1) CN102005250A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013023596A1 (zh) * 2011-08-17 2013-02-21 北京泰美世纪科技有限公司 一种低密度奇偶校验码译码装置和译码方法
WO2014065967A1 (en) 2012-10-24 2014-05-01 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
CN104733051A (zh) * 2013-12-19 2015-06-24 群联电子股份有限公司 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN114050898A (zh) * 2021-11-08 2022-02-15 南京理工大学 基于hls和ldpc码构建的qkd协商方法
CN114499543A (zh) * 2022-02-18 2022-05-13 强华时代(成都)科技有限公司 一种基于fpga的ldpc编码方法及编码器
CN118539932A (zh) * 2024-07-26 2024-08-23 华中科技大学 一种qc-ldpc译码器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937413A (zh) * 2006-09-30 2007-03-28 东南大学 双涡轮结构低密度奇偶校验码解码器
CN101257312A (zh) * 2008-03-03 2008-09-03 炬才微电子(深圳)有限公司 一种解码伴随式的计算方法、电路及解码器
CN101345602A (zh) * 2008-08-21 2009-01-14 上海交通大学 低密度校验码迭代译码的提前中止方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937413A (zh) * 2006-09-30 2007-03-28 东南大学 双涡轮结构低密度奇偶校验码解码器
CN101257312A (zh) * 2008-03-03 2008-09-03 炬才微电子(深圳)有限公司 一种解码伴随式的计算方法、电路及解码器
CN101345602A (zh) * 2008-08-21 2009-01-14 上海交通大学 低密度校验码迭代译码的提前中止方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013023596A1 (zh) * 2011-08-17 2013-02-21 北京泰美世纪科技有限公司 一种低密度奇偶校验码译码装置和译码方法
WO2014065967A1 (en) 2012-10-24 2014-05-01 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
CN104871249A (zh) * 2012-10-24 2015-08-26 西部数据技术公司 数据存储系统的自适应错误纠正码
JP2015534409A (ja) * 2012-10-24 2015-11-26 ウェスタン デジタル テクノロジーズ インコーポレーテッド データストレージシステムのための適応誤り訂正符号
EP2912667A4 (en) * 2012-10-24 2016-06-01 Western Digital Tech Inc ADAPTIVE ERROR CORRECTION CODES FOR DATA STORAGE SYSTEMS
CN104871249B (zh) * 2012-10-24 2018-09-07 西部数据技术公司 数据存储系统的自适应错误纠正码
US10216574B2 (en) 2012-10-24 2019-02-26 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
CN104733051A (zh) * 2013-12-19 2015-06-24 群联电子股份有限公司 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN104733051B (zh) * 2013-12-19 2018-01-05 群联电子股份有限公司 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN114050898A (zh) * 2021-11-08 2022-02-15 南京理工大学 基于hls和ldpc码构建的qkd协商方法
CN114499543A (zh) * 2022-02-18 2022-05-13 强华时代(成都)科技有限公司 一种基于fpga的ldpc编码方法及编码器
CN118539932A (zh) * 2024-07-26 2024-08-23 华中科技大学 一种qc-ldpc译码器

Similar Documents

Publication Publication Date Title
US11018695B1 (en) Fast-converging bit-flipping decoder for low-density parity-check codes
CN101976584B (zh) 准循环低密度奇偶校验码译码器及译码方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
US20140223255A1 (en) Decoder having early decoding termination detection
CN102005250A (zh) 准循环低密度奇偶校验码译码器及译码方法
US11184024B2 (en) Error mitigation scheme for bit-flipping decoders for irregular low-density parity-check codes
KR102275717B1 (ko) 플래시 메모리 시스템 및 그의 동작 방법
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
US11309916B2 (en) Error correction circuit and memory controller having the same
Wang et al. Error correction codes and signal processing in flash memory
US11115064B2 (en) Error correction decoder and memory system having the same
CN112860474B (zh) 快速收敛的低密度奇偶校验码的软位翻转解码器
US20140101513A1 (en) Method of operating cyclic redundancy check in memory system and memory controller using the same
CN104283570A (zh) 低密度奇偶性检验(ldpc)解码器中的对数似然比(llr)阻尼
US20170134049A1 (en) Decoding method, memory storage device and memory control circuit unit
KR102582326B1 (ko) 에러 정정 회로 및 이의 동작 방법
KR20200114151A (ko) 오류 정정 디코더
EP2992429B1 (en) Decoder having early decoding termination detection
CN114639435A (zh) 位翻转解码器中的振荡检测和缓解
CN114649047A (zh) 具有高度可变节点的低密度奇偶校验码的译码
CN101931415B (zh) 编码装置及方法、译码装置及方法和纠错系统
US9619317B1 (en) Decoder having early decoding termination detection
KR101512361B1 (ko) 연접 비씨에이치 디코더 및 연접 비씨에이치 디코딩 방법
US10177793B2 (en) Error correction code (ECC) operations in memory
KR102707643B1 (ko) 오류 정정 회로 및 이를 포함하는 메모리 컨트롤러

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110406