CN1783729A - 用联合节点处理来解码低密度奇偶校验码的方法和设备 - Google Patents

用联合节点处理来解码低密度奇偶校验码的方法和设备 Download PDF

Info

Publication number
CN1783729A
CN1783729A CNA2005101248645A CN200510124864A CN1783729A CN 1783729 A CN1783729 A CN 1783729A CN A2005101248645 A CNA2005101248645 A CN A2005101248645A CN 200510124864 A CN200510124864 A CN 200510124864A CN 1783729 A CN1783729 A CN 1783729A
Authority
CN
China
Prior art keywords
check
node
message
variable
llr value
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
CNA2005101248645A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1783729A publication Critical patent/CN1783729A/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
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1114Merged schedule message passing algorithm with storage of sums of check-to-bit node messages or sums of bit-to-check node messages, e.g. in order to increase the memory efficiency
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

提供了一种用于对包括多个校验节点和多个可变节点的LDPC码进行解码的设备和方法。该设备包括:校验节点选择调度器,其选择至少一个校验节点;LLR存储器,其存储了可变节点的输入LLR值作为初始LLR值,并存储用于连接到所选择的校验节点的可变节点的更新的LLR值;以及校验节点消息存储器,其存储了表示对所选择的校验节点进行校验节点处理的结果值的校验节点消息。该装置还包括至少一个联合节点处理器,其通过从自LLR存储器读取的对应LLR值中减去所选择的校验节点的校验节点消息而生成可变节点消息,对可变节点消息执行校验节点处理,通过将可变节点消息加到校验节点处理结果值上来计算更新的LLR值,并将计算的LLR值递送到LLR存储器。

Description

用联合节点处理来解码低密度奇偶校验码的方法和设备
技术领域
本发明一般地涉及纠错解码设备和方法。更具体地,本发明涉及用于通过减少低密度奇偶校验(LDPC)码的解码复杂度来提高解码性能的解码设备和方法。
背景技术
通常,数字通信系统经受由于在传输路径中生成的噪声而引起的错误,并用各种算法来纠正错误以消除生成的错误。在采用目前处于标准化过程中的第三代合作伙伴计划(3GPP)或者第三代合作伙伴计划2(3GPP2)的无线通信系统中,针对语音和控制信号的传输提出了使用卷积码和turbo码。用于高速传输的Turbo码的优点在于,它可以以低信噪比(SNR)获得非常低的误码率(BER)。然而,turbo码在码字间的最小距离比较短。结果,当对用Turbo码进行编码的信号进行解码时,在期望的比特错误点可能发生错误平台(errorfloor),则在解码期间对损坏的码字的检测失败概率就比较高。因此,最近,已经对在性能上类似于或者优于turbo码的LDPC码给予了新的关注。
与长度和LDPC的长度相同的turbo码相比,LDPC码具有更大的最小距离。结果,与turbo码相比,在非常低的BER下发生错误平台,且对损坏的码字的检测失败概率非常低,基于实验大约是“0”。另外,可以以并行结构实现LDPC码,这有助于显著地减少解码时间,并可以在没有解码停止算法或者诸如通过每个迭代解码所执行的奇偶校验而添加的循环冗余校验(CRC)比特之类的开销的情况下经受有效的解码停止。
图1是图解LDPC结构的图。
参考图1,LDPC码是具有奇偶校验矩阵的码,在奇偶校验矩阵中在每一行和列中的1的数量都非常小,且可以用包括校验节点100、可变节点110、以及用于把校验节点100连接到可变节点110的边(edge)115的要素图来定义LDPC的结构。在校验节点处理变成校验节点消息115a之后,将值从校验节点100递送到可变节点110,并且,在可变节点处理变成可变节点消息115b之后,将值从可变节点110递送到校验节点100。
通过基于“和-积”算法的迭代解码而获得LDPC码的解码过程。最佳的和-积算法包括比较复杂的计算。可以基于诸如‘减-和(min-sum)’算法之类的次最佳的消息传递算法来提供另一个解码方法,这是简化的和-积算法。
现在将参考图2更详细地描述LDPC码。
图2是图解根据要素图和奇偶校验矩阵的LDPC码的示范结构的图。
参考图2,LDPC码的要素图包括表示LDPC码的预定奇偶校验等式的四个校验节点200、表示符号(symbol)的八个可变节点210、以及表示校验节点200和可变节点210之间的关系的边220。边220将每一个校验节点200连接到与在用校验节点200表示的奇偶校验等式中所包括的码符号对应的可变节点210。这里,将连接到每个校验节点200的可变节点210的数量固定到6,且将连接到每个可变节点210的校验节点200的数量固定到3,从而图解了常规LDPC码的例子。尽管没有示出,但是可以提供不规则的LDPC码,其中连接到校验节点200和可变节点210中的每一个的边的数量不固定。
图2中,在要素图下面示出了对应于要素图的奇偶校验矩阵(H)230。这类似于奇偶校验等式的图形表达。在奇偶校验矩阵230中,在每一列和每一行中的1的数量是固定的。就是说,奇偶校验矩阵230中的每一列具有与可变节点210中的每一个和校验节点200之间的连接对应的三个1,而每一行具有与校验节点200中的每一个和可变节点210之间的连接对应的六个1。
通过迭代要素图中的可变节点和校验节点为每一个单独节点生成和更新的交换消息的过程而获得了解码LDPC码的过程。在这种情况下,每个节点使用和-积算法或者类似的次最佳算法来更新消息。现在将基于前述的过程在下文中描述LDPC码的迭代解码过程。
图3是通常的LDPC码的方框图。
参考图3,LDPC解码设备包括:存储器块300,用于存储所接收的信息;可变节点处理器340,用于执行有关可变节点的计算(在下文中称作“可变节点处理”);校验节点处理器320,用于执行有关校验节点的计算(在下文中称作“校验节点处理”);奇偶校验块330,用于通过校验是否纠正了在校验节点内的所有错误来确定是否执行迭代解码;以及存储器存取控制器310。
现在将在下文中对LDPC解码顺序进行简短描述。
第一,将接收的符号存储在存储器块300中,作为可变节点的初始对数似然比(LLR)值。存储在存储器块300中的LLR值变成到可变节点的相关边的可变节点输出消息。
第二,校验节点处理器320读取存储在存储器块300中的可变节点值(即,作为可变节点消息的LLR值)。奇偶校验块330对读取的可变节点值执行奇偶校验,且校验节点处理器320计算读取的可变节点值的值为0和1的传输路径转换概率,并将计算的概率值(即,校验节点消息)重新写回到存储器块300中作为可变节点值。
第三,可变节点处理器340读取重新写入存储器块300中的可变节点值,并用读取的可变节点值计算包括最终的LLR值的可变节点消息。
第四,迭代第二和第三过程,直到奇偶校验块330成功完成奇偶校验,并确定停止迭代解码,从而增加可靠性。
可变节点处理器340和校验节点处理器320分别读取并计算来自与奇偶校验矩阵中的列和行中1的位置对应的存储区域的值,并将所计算的值重新写回到相同的存储区域。
在第二和第三过程中,可变节点处理器340和校验节点处理器320通过从连接到其的边接收的输入值(即,校验节点消息和可变节点消息)各自计算输出消息。具体地,校验节点处理器320和可变节点处理器340各自计算从存储器块300中的子度量(sub-metric)块中读取的、被映射到奇偶校验矩阵中的行和列中1的位置的值,并将计算的值存储在其中。
现在将在下文中更详细地描述计算可变节点消息和校验节点消息的过程。这里,等级数(degree)dc表示连接到校验节点的可变节点的数量并等于奇偶校验矩阵的每列中存在的1的数量,而等级数dv表示连接到可变节点的校验节点的数量并等于在奇偶校验矩阵的每行中存在的1的数量。
首先,用下面的公式(1)来更新从第m校验节点传输到第n可变节点的校验节点消息。
r mn = tanh - 1 ( Π i = 1 d c - 1 tanh ( q i ( j ) 2 ) ) - - - ( 1 )
就是说,公式(1)表示用于对连接到dc个可变节点的第m校验节点的消息的第j次迭代解码的公式,而qi (j)表示通过对递送到第m校验节点的可变节点消息进行排序而生成的消息。当用qnm (j)表示从第n可变节点递送到第m校验节点的可变节点消息时,基于 q 0 ( j ) = q nm ( j ) 执行重新排序。从第m校验节点递送到第n可变节点的消息rmn (j)包括除q0 (j)之外的所输入的可变节点消息的非线性函数。
其次,根据下面的公式(2)更新可变节点消息。
q nm ( j + 1 ) = q nm ( 0 ) + Σ i = 1 d v - 1 i ( j ) - - - ( 2 )
公式(2)表示对于具有等级数dv的第n可变节点的公式,且可变节点消息变成初始LLR值qnm (0)和除表示来自第m校验节点的输入的 r 0 ( j ) = r mn ( j ) 之外的输入校验节点消息之和。
最后,在每一个迭代解码中,用下面的公式(3)来更新该LLR值。
L n ( j + 1 ) = L n 0 + Σ i = 0 d v - 1 r i ( j ) - - - ( 3 )
这里,Ln (j)表示在第n可变节点的第(j+1)次迭代解码之后的LLR值,并且用初始LLR值Ln (0)和输入校验节点消息之和来更新。
如从公式(2)和公式(3)中可以注意到的,可以简单地用加法来实现可变节点消息更新和LLR更新,但是校验节点消息更新是以非线性函数表示的,这导致了硬件复杂度的增加。因此,存在对用于减少硬件复杂度的最佳算法的需要。
如上所述,用于分开执行校验节点处理和可变节点处理的计算算法使用了高容量存储器。就是说,存储器块300必须将关于所有边的信息存储在其中,且校验节点处理器320和可变节点处理器340分别从存储器块300中读取必要的值,以执行对应的计算并计算LLR值。在这种情况中,该算法在对所有边执行校验节点处理之后执行可变节点处理。结果,可变节点处理器340在算法执行校验节点处理时被无效。同样,在算法执行可变节点处理时,校验节点处理器320被无效。就是说,算法必须从单个存储器块中读取各种类型的数据以执行对应的处理,这导致了存储器存取延迟。
因此,存在对用于通过减少低密度奇偶校验(LDPC)码的解码复杂度来提高解码性能的方法和设备的需要。
发明内容
本发明的一个目的是基本上至少解决上面的问题和缺点,并至少提供下面的优点。因此,本发明的目的是提供一种用于LDPC解码器的有效且高效的实现的解码算法和适合于此的LDPC解码器结构。
本发明的又一个目的是提供一种用于LDPC解码器的有效且高效的实现的存储结构和根据其的高效解码算法。
本发明的又一个目的是提供一种用于使LDPC解码器中的存储器分割最小化、并交替执行校验节点处理和可变节点处理的方法和设备。
根据本发明的一个方面,提供了一种用于根据奇偶校验矩阵对包括多个校验节点和多个可变节点的低密度奇偶校验(LDPC)码进行解码的设备。该设备包括:校验节点选择调度器(scheduler),用于从校验节点中选择至少一个用于校验节点处理的校验节点;对数似然比(LLR)存储器,用于存储可变节点的输入LLR值,作为初始LLR值,并存储用于连接到所选择的校验节点的可变节点的更新的LLR值;以及校验节点消息存储器,用于存储表示对所选择的校验节点的校验节点处理的结果值的校验节点消息。该设备还包括至少一个联合(united)节点处理器,其用于通过从自LLR存储器读取的对应LLR值中减去存储在校验节点消息存储器中的所选择的校验节点的校验节点消息而生成可变节点消息,对可变节点消息执行校验节点处理,通过将可变节点消息加到校验节点处理结果值来计算更新的LLR值,并将计算的LLR值递送到LLR存储器。
根据本发明的另一方面,提供一种用于根据奇偶校验矩阵对包括多个校验节点和多个可变节点的低密度奇偶校验(LDPC)码进行解码的方法。该方法包括如下步骤:从校验节点中选择至少一个用于校验节点处理的校验节点;读取与所选择的校验节点对应的校验节点消息,并通过从连接到校验节点的可变节点的对数似然比(LLR)值中减去校验节点消息值来计算可变节点消息;通过对所计算的可变节点消息执行校验节点处理而生成校验节点消息;以及存储所生成的校验节点消息。该方法还包括以下步骤:通过将生成的校验节点消息加到LLR值来计算更新的LLR值,并存储该更新的LLR值;以及对更新的LLR值执行硬判决解码和奇偶校验。
附图说明
本发明的上面的和其它目的、特征和优点将从下面的结合附图的详细描述中变得更加明显,其中:
图1是图解通常的LDPC解码结构的图;
图2是图解示范要素图和奇偶校验矩阵的图;
图3是通常的LDPC码的方框图;
图4是图解根据传统的存储器分割的解码过程的图;
图5是传统的解码算法的流程图
图6A是图解根据本发明的实施例的存储器配置的图;
图6B是图解根据本发明的又一个实施例的存储器配置的图;
图7是图解根据本发明的实施例的LDPC解码器的结构的图;
图8是图解根据本发明的实施例的可应用于解码算法的存储器配置的原理图;
图9是根据本发明的实施例的解码算法的流程图;以及
图10是图解根据本发明的又一个实施例的并行LDPC解码器的结构的图。
具体实施方式
现在将结合附图详细描述本发明的示范实施例。在这些图中,即使相同或相似的元件被描述在不同的附图中,也用相同的附图标记来表示这些相同或相似的元件。在接下来的描述中,为了清楚和简明起见而删除了对合并于此的已知功能和配置的详细描述。
图4是图解根据通常的解码过程的存储分割的图。
参考图4,分别为奇偶校验矩阵和单位矩阵提供存储器。将每个存储器分割为与诸如校验节点处理器和可变节点处理器之类的节点的数量一样多的子度量块。就是说,将存储器的行并行连接到校验节点,并将从存储器的列中分割的子度量块并行连接到可变节点。每个小阴影块表示在其中存储了所接收的信号“1”的子度量块。
在步骤1,将接收的信息输入到每个存储器的子度量块。
在步骤2,校验节点处理块410对从每列分割的子度量块的每个值执行校验节点处理和奇偶校验,并且此后,将校验节点处理的结果值存储回到子度量块中,从而更新校验节点消息。
在步骤3中,可变节点处理块420读取每行的子度量块中更新的值,对所读取的值执行可变节点处理,执行硬判决解码和LLR计算,并且此后,将结果值存储回到子度量块中,从而更新可变节点消息。根据可变节点和校验节点处理器的数量来确定存储器的子度量块的尺寸。因此,可变节点和校验节点处理器的数量的增加使从存储器分割的子度量块的数量增加,这导致了硬件复杂度的增加。然而,可变节点和校验节点处理器的数量的减少使从存储器分割的子度量块的数量减少,这导致了存储器存取速度和吞吐量(throughput)的降低。
图5是通常的LDPC解码算法的流程图。
参考图5,基于循环而连接校验节点处理过程580和可变节点处理过程,且在完成一个计算之后执行另一个计算过程。迭代两个计算过程,直到算法成功完成奇偶校验。
在步骤500,校验节点处理器读取所接收的信息,并将读取的信息存储到存储器中。将这个过程称为“LDPC解码的初始化”。
校验节点处理器在步骤510中读取存储在存储器的子度量块中的信息比特,并在步骤525中的检查信息比特的奇偶性的同时在步骤520中执行校验节点处理。如果奇偶校验结果是‘好’,则校验节点处理器停止迭代(即,迭代解码)。否则,校验节点处理器在步骤530中用校验节点处理结果值来更新存储器中的可变节点值,从而更新校验节点消息。在执行校验节点消息更新过程之后,校验节点处理器前进到可变节点处理过程590。
在步骤540,可变节点处理器从存储器的子度量块中读取根据校验节点消息更新的可变节点值。可变节点处理器在步骤550中将更新的可变节点值相加,在步骤560中从相加结果值中减去对应行的可变节点值,并在步骤565中对相减的结果值执行硬判决解码。在步骤570,可变节点处理器将相减结果值存储到存储器的子度量块中,作为可变节点值,并随后返回到步骤510。
如上所述,通常的LDPC解码算法在对所有的信息比特执行校验节点处理之后执行可变节点处理。就是说,因为一个迭代解码过程包括校验节点处理和可变节点处理两个步骤,所以解码算法用先前步骤的可变或者校验节点消息来执行校验或者可变节点处理。因此,解码算法可以使用单个存储器存储校验节点消息和可变节点消息,但是其具有低收敛(convergence)速度的迭代解码性能。另外,尽管可以用并行节点处理器结构实现解码算法,但是它需要与节点数量一样多的处理器来实际实现,这导致硬件复杂度的过度增加。因此,该解码算法可能难以实现。
因此,本发明的示范实施例提供了用于对一个迭代解码过程交替迭代校验节点处理和可变节点处理的解码算法。该新创解码算法使用在一个迭代解码过程中的更新的消息来生成新消息,这有助于迭代解码性能的收敛速度的提高。可替换地,该新创解码算法可以以逐个的基准或者以逐组的基准而依次地对校验节点和可变节点进行交替解码。在一个迭代解码过程期间使用更新的消息增加了收敛速度。在这种情况下,可以通过根据解码方案将存储器分割为与校验节点的数量或者校验节点处理器的数量一样多的子度量块,而使因总是既存储可变节点消息又存储校验节点消息而引起的需要的存储容量的增加最小化。
现在将根据本发明的实施例对用于执行校验节点处理和可变节点处理的示范方法进行详细描述。
LDPC解码器中的存储器存储了被映射到其相关校验节点消息和可变节点消息的LLR值。该LDPC解码器在其选择了将被解码的校验节点时开始其工作。在一个联合节点处理中执行可变节点和校验节点处理以及LLR更新。
第一,根据下面的公式(4),为每个可变节点存储所输入的LLR值的瞬时LLR值,并且将每一个校验节点消息设置为“0”。
LLR = L n ( 0 ) , r mn ( 0 ) = 0 - - - ( 4 )
第二,选择校验节点cm。存在许多用于选择校验节点的方法和可能的选择顺序。在对一个或多个组中的校验节点编索引之后,该解码算法可以以索引的川页序依次选择校验节点或者根据预定的规则均匀地选择校验节点。可替换地,考虑到校验节点的解码循环特征,解码算法可以以不同的选择速率来选择各个校验节点。为了下面说明的目的,这里将假设选择了一个校验节点。
第三,生成与校验节点cm相关联的所有可变节点消息。根据下面的公式(5),通过从对应的可变节点的瞬时LLR值中减去连接到校验节点cm的边的校验节点消息而生成了可变节点消息。
q nm ( j + 1 ) = L n i - r mn ( j ) - - - ( 5 )
在公式(5)中,n表示连接到校验节点cm的可变节点的索引,并具有从n0到ndc-1的范围。值Ln 1表示在对所选择的校验节点cm执行节点处理之前的步骤中第n可变节点的瞬时LLR值。
第四,根据下面的公式(6),使用生成的可变节点消息执行校验节点处理。
当n0=n时, r mn ( j + 1 ) = F ( q n 1 m ( j + 1 ) , · · · , q n d c - 1 m ( j + 1 ) ) - - - ( 6 )
在公式(6)中,F表示校验节点处理函数,其是包括除qnm (j+1)之外的输入变量的非线性函数,并可以以各种方法实现。公式(1)是其典型例子。
第五,在将通过公式(6)计算的校验节点消息存储到存储器中作为其校验节点值之后,该新创解码算法根据下面的公式(7),使用执行第四步骤时暂时存储的、来自第三过程中的可变节点消息的新校验节点消息,来更新LLR值。
L n 0 = q nm ( j + 1 ) + r mn ( j + 1 ) = L n 1 - r mn ( j ) + r mn ( j + 1 ) - - - ( 7 )
第六,在通过逐个地选择所有校验节点而完成一次迭代解码之后,该解码算法使用更新的LLR值来执行奇偶校验。如果奇偶校验结果是‘好’,则解码算法停止迭代解码。否则,解码算法返回到第二过程。对于奇偶校验,解码算法可以在每次更新时校验该校验节点处理器中的奇偶校验节点。
如上所述,根据本发明的实施例的解码算法使用联合的节点处理器,用来预先仅仅将对应校验节点的校验节点消息和瞬时LLR值存储到LDPC解码器的存储器中,并同时使用校验节点消息和瞬时LLR值对对应的校验节点执行可变节点处理和校验节点处理。联合节点处理器的使用有助于快速的解码收敛,而没有增加计算。就是说,每次对每个校验节点执行联合的节点处理,都更新邻近校验节点的LLR值,这影响了下一个校验节点的校验节点处理。
图6A是图解根据本发明的实施例的存储器配置的图。
参考图6A,存储器600被分割成为与校验节点的数量D一样多的块,且所分割的块中的每一个都存储了用于其相关的校验节点的校验节点消息。在解码过程中,依次读取被映射到校验节点的校验节点消息,且将存储在每个块中的校验节点消息称为“1个字”。
图6B是图解根据本发明的又一个实施例的存储器配置的图。
参考图6B,所示出的存储器配置适合于可被应用到块型LDPC码的并行解码器的结构。存储器610被分割成为与校验节点的数量D一样多的块。所分割的块中的每一个都存储P个校验节点消息作为一个字,且同时读取和写入P个校验节点消息,从而使并行解码器的结构有效。下面将参考图10来更详细地描述并行解码器的结构。
图7是图解根据本发明的实施例的LDPC解码器的示范结构的图。
参考图7,LDPC解码器包括校验节点选择调度器700、用于执行校验节点处理和LLR更新的联合节点处理器710、被分割成与校验节点处理器714的校验节点数量一样多的块的LLR存储器720、校验节点消息存储器740、以及硬判决块730。
每个循环中,校验节点选择调度器700根据预定的规则从联合节点处理器710的校验节点中选择用于校验节点处理的校验节点。
LLR存储器720存储所输入的LLR值作为初始值,且校验节点消息存储器740将校验节点消息的初始值初始化为“0”,且此后,存储用于对应的校验节点的校验节点处理结果值。就是说,校验节点消息存储器740将通过执行校验节点处理而生成的校验节点消息存储到其分割子度量块中,其中子度量块被映射到其相关的校验节点。
联合节点处理器710包括减法器712、校验节点处理器714、触发器(F/F)716、以及加法器718,并同时更新可变节点消息、校验节点消息和LLR值。
一旦校验节点选择调度器700选择了校验节点,减法器712就通过从自读取LLR存储器720的对应LLR值中减去存储在校验节点消息存储器740中的、与所选择的校验节点对应的校验节点消息而生成可变节点消息。然后,减法器712将所生成的可变节点消息存储在触发器716中,且基本上与此同时,也将所生成的可变节点消息输入到校验节点处理器714中。这里,对应的LLR值是连接到所选择的校验节点的可变节点的LLR值。
校验节点处理器714使用公式(6)对所输入的可变节点消息执行校验节点处理。将校验节点处理结果值存储在校验节点消息存储器740中,且基本上与此同时,也将校验节点处理结果值输入到加法器718中。加法器718通过将存储在触发器716中的可变节点消息加到使用公式(7)计算的校验节点处理结果值中而计算更新的LLR值。将更新的LLR值存储到LLR存储器720中,并基本上与此同时,也将更新的LLR值输入到硬判决块730中。
硬判决块730通过对更新的LLR值执行硬判决而选择0和1中的一个。比特缓冲器734存储从硬判决块730输出的硬判决值,且奇偶校验块732对硬判决值执行奇偶校验。如果从奇偶校验块732输出的奇偶校验结果是‘好’,则LDPC解码器停止迭代解码,并输出存储在比特缓冲器734中的硬判决值作为解码结果值。然而,如果奇偶校验结果是‘差’,则校验节点选择调度器700选择下一个校验节点。存在各种可能的奇偶校验条件。例如,奇偶校验可以在已经逐个地选择了所有校验节点时执行。
如图7所示,根据本发明的示范实施例的LDPC解码器用存储在LLR存储器720中的先前步骤的LLR值来执行可变节点处理,并基本上与此同时,该LDPC解码器在校验节点处理之后生成可变节点消息。就是说,校验节点处理的输出被直接用于可变节点消息的更新,这有助于增加收敛速度和减少迭代次数。另外,对于相同的迭代,收敛速度增加了,这提高了吞吐量和性能。
现在将参考图4和8来更详细地描述根据本发明的实施例的示范解码算法。
图8是图解根据本发明的实施例的可应用于解码算法的存储器配置的原理图。
图8所示的存储器800的配置可应用于图7的校验节点消息存储器740和LLR存储器720。
与要执行一次迭代必须依次执行图4的步骤2和步骤3的传统解码算法相比,该新创解码算法通过简单地逐个选择图8中的所有校验节点而执行了一次迭代。
具体地,参考图8,存储器800中的每一行都被分割成与校验节点处理器的数量一样多的子度量块,且每一个小阴影块存储接收信息中的值‘1’。
就是说,存储器800中的每一个子度量块存储了对应于其相关校验节点的校验节点消息的更新值。另外,存储器800存储了被映射到与特定校验节点连接的可变节点的LLR值的更新值。
图9是根据本发明的实施例的新创解码算法的流程图。
参考图7和9,在步骤902中,将LLR值输入到其在LLR存储器720中的相关子度量块中。在步骤904,校验节点选择调度器700选择校验节点。所选择的校验节点的数量可以是一个或多个,且可以依次地或者根据预定的规则均匀地选择校验节点。
在步骤906中,联合节点处理器710从校验节点消息存储器740中读取对应于所选择的校验节点的先前的校验节点消息。
在步骤908中,联合节点处理器710通过从连接到所选择的校验节点的可变节点的LLR值中减去先前的校验节点消息值而更新可变节点消息。在步骤910中,联合节点处理器710通过对更新的可变节点消息执行校验节点处理而生成校验节点消息。在步骤921中,联合节点处理器710将所生成的校验节点消息存储在校验节点消息存储器740中。
联合节点处理器710在步骤914中通过将生成的校验节点消息加到LLR值而更新该LLR值,并在步骤916中将更新的LLR值存储到LLR存储器720中。基本上与此同时,在步骤918中,更新的LLR值经历了硬判决解码和奇偶校验。如果奇偶校验结果是‘好’,则该解码算法在步骤920停止迭代解码。如果奇偶校验结果是‘差’,则该解码算法返回到步骤904并继续执行迭代解码。
现在将对根据本发明的又一个实施例的包括多个并行联合节点处理器的LDPC解码器进行描述。
图10是图解根据本发明的又一个实施例的并行LDPC解码器的结构的图。
参考图10,LDPC解码器包括:校验节点选择调度器1002、用于执行校验节点处理和LLR更新的联合节点处理块1010、被分割成与校验节点的数量一样多的子度量块的LLR存储器1020、也被分割成与校验节点的数量一样多的子度量块的校验节点消息存储器1030、以及硬判决块1040。
校验节点选择调度器1002可以依次地或者根据预定的规则均匀地从校验节点处理器的校验节点中选择一个或多个用于校验节点处理的校验节点。该校验节点选择调度器1002执行校验节点调度,使得当选择了多个校验节点时,在同时存取相同的LLR值期间或者在存储器存取期间不会发生碰撞。在块型体系LDPC码的情况下,可以简单地实现这样的并行结构,并可以用图6B的存储器配置和并行的联合校验节点处理器来实现LDPC解码器。
联合节点处理块1010、两者都被分割为与校验节点的数量一样多的子度量块的LLR存储器1020和校验节点消息存储器1030、以及硬判决解码块1040的操作基本上各自等于其在图7中的操作,所以为了简化将在这里省略其详细描述。
这里,在图10的块之间的粗线表示并行操作的多个联合节点处理器的并行输入/输出。例如,在其中将LDPC码的奇偶校验矩阵分割为P×P块的结构中,可以读取属于一个块的所有校验节点消息作为一个字。然后优选地,读取的校验节点消息必须根据奇偶校验矩阵经历置换(permutation)。
当随机地生成奇偶校验矩阵时,应该优选地将奇偶校验矩阵设计为使得在校验节点消息存储器1030和LLR存储器1020的存取期间不发生碰撞。在这种情况下,可以提供调度校验节点选择的方法,使得在联合节点处理块1010中的联合节点处理器不同时存取相同的存储器,或者在联合节点处理器之间提供适当延迟。
从前面的描述中的可以理解,本发明的实施例改善了LDPC码的低效率的存储器分割和解码算法,并同时执行校验节点处理和可变节点处理,从而提高了吞吐量。另外,本发明的实施例通过简单的存储器分割和节点处理器的简化而有助于硬件复杂度的降低。
尽管结合本发明的特定示范实施例而示出和描述了本发明,但本领域的技术人员将理解,在不脱离由所附权利要求所限定的本发明的范围的情况下,可以对本发明在形式和细节上进行各种变化。

Claims (20)

1.一种用于根据奇偶校验矩阵对包括多个校验节点和多个可变节点的低密度奇偶校验(LDPC)码进行解码的设备,该设备包括:
校验节点选择调度器,用于从校验节点中选择至少一个用于校验节点处理的校验节点;
对数似然比(LLR)存储器,用于存储可变节点的输入LLR值作为初始LLR值,并存储用于连接到所选择的校验节点的可变节点的更新的LLR值;
校验节点消息存储器,用于存储表示对所选择的校验节点进行校验节点处理的结果值的校验节点消息;以及
至少一个联合节点处理器,用于通过从自LLR存储器读取的对应LLR值中减去存储在校验节点消息存储器中的所选择的校验节点的校验节点消息而生成可变节点消息,对可变节点消息执行校验节点处理,通过将可变节点消息加到校验节点处理结果值上来计算更新的LLR值,并将计算的LLR值递送到LLR存储器。
2.根据权利要求1的设备,其中,校验节点选择调度器被配置为对多个校验节点编索引,并且逐个以索引顺序依次地选择校验节点,或者根据预定的规则选择多个校验节点中的至少一个。
3.根据权利要求2的设备,其中校验节点选择调度器被配置为选择至少一个校验节点,使得不从LLR存储器中同时读取相同的LLR值。
4.根据权利要求1的设备,还包括:
与所选择的校验节点相关联的可变节点消息,其中该可变节点消息是通过根据下面的公式从所连接的可变节点的瞬时LLR值中减去所选择的校验节点的校验节点消息而计算的,
q nm ( j + 1 ) = L n i - r mn ( j )
其中,m表示所选择的校验节点的索引,n表示连接到所选择的校验节点的每个可变节点的索引,qnm (j+1)表示在第(j+1)迭代解码期间的可变节点消息,以及Ln i表示在对所选择的校验节点执行节点处理之前的步骤中第n可变节点的瞬时LLR值。
5.根据权利要求4的设备,其中校验节点消息是根据下面的公式而计算的,
当n0=n时, r mn ( j + 1 ) = F ( q n 1 m ( j + 1 ) , . . . , q n d c - 1 m ( j + 1 ) )
其中,rmn (j+1)表示在第(j+1)迭代解码期间的校验节点消息,F表示该校验节点消息的校验节点处理函数,dc表示连接到第m校验节点消息的可变节点消息的数量,而n表示可变节点消息的索引,且范围从n0到ndc-1
6.根据权利要求5的设备,其中更新的LLR值是根据下面的公式来计算的,
L n 0 = q nm ( j + 1 ) + r mn ( j + 1 ) = L n I - r mn ( j ) + r mn ( j + 1 )
其中Ln 0表示更新的LLR值,而Ln I表示初始的LLR值。
7.根据权利要求1的设备,还包括:
硬判决解码块,用于对更新的LLR值执行硬判决解码;
比特缓冲器,用于存储硬判决解码结果;以及
奇偶校验块,用于对硬判决解码结果执行奇偶校验,如果奇偶校验结果是好,就停止联合节点处理器的操作,而如果奇偶校验结果是差,就迭代联合节点处理器的操作。
8.根据权利要求1的设备,其中奇偶校验块被配置为在已经逐个选择了所有校验节点时执行奇偶校验。
9.根据权利要求1的设备,其中LLR存储器和校验节点消息存储器被各自分割为对应于多个校验节点的子度量块。
10.根据权利要求9的设备,其中每一个子度量块都被配置为存储与其相关校验节点对应的校验节点消息或者与其相关校验节点连接的可变节点的LLR值。
11.根据权利要求1的设备,其中所述至少一个联合节点处理器对应于所述至少一个所选择的校验节点。
12.一种用于根据奇偶校验矩阵对包括多个校验节点和多个可变节点的低密度奇偶校验(LDPC)码进行解码的方法,该方法包括以下步骤:
从校验节点中选择至少一个用于校验节点处理的校验节点;
读取与所选择的校验节点对应的校验节点消息,并通过从连接到该校验节点的可变节点的对数似然比(LLR)值中减去校验节点消息值来计算可变节点消息;
通过对所计算的可变节点消息执行校验节点处理而生成校验节点消息,并存储所生成的校验节点消息;
通过将生成的校验节点消息加到LLR值上来计算更新的LLR值,并存储更新的LLR值;以及
对更新的LLR值执行硬判决和奇偶校验。
13.根据权利要求12的方法,其中所述选择步骤包括以下步骤:
对多个校验节点编索引;以及
逐个以索引顺序依次地选择校验节点,或者根据预定的规则选择多个校验节点中的至少一个。
14.根据权利要求13的方法,其中所述选择步骤包括以下步骤:
选择至少一个校验节点,使得不同时读取相同的LLR值。
15.根据权利要求12的方法,还包括以下步骤:
通过根据下面的公式从所连接的可变节点的瞬时LLR值中减去所选择的校验节点的校验节点消息来计算与所选择的校验节点相关联的可变节点消息,
q nm ( j + 1 ) = L n i - r mn ( j )
其中,m表示所选择的校验节点的索引,n表示连接到所选择的校验节点的每个可变节点的索引,qnm (j+1)表示在第(j+1)迭代解码期间的可变节点消息,以及Ln i表示在对所选择的校验节点执行节点处理之前的步骤中第n可变节点的瞬时LLR值。
16.根据权利要求15的方法,还包括以下步骤:
根据下面的公式计算校验节点消息,
当n0=n时, r mn ( j + 1 ) = F ( q n 1 m ( j + 1 ) , . . . , q n d c - 1 m ( j + 1 ) )
其中,rmn (j+1)表示在第(j+1)迭代解码期间的校验节点消息,F表示该校验节点消息的校验节点处理函数,dc表示连接到第m校验节点消息的可变节点消息的数量,而n表示可变节点消息的索引,并且范围从n0到ndc-1
17.根据权利要求16的方法,还包括以下步骤:
根据下面的公式计算更新的LLR值,
L n 0 = q nm ( j + 1 ) + r mn ( j + 1 ) = L n I - r mn ( j ) + r mn ( j + 1 )
其中Ln 0表示更新的LLR值,而Ln I表示初始的LLR值。
18.根据权利要求13的方法,其中执行硬判决和奇偶校验的步骤包括以下步骤:
对更新的LLR值执行硬判决;以及
对硬判决解码结果执行奇偶校验,如果奇偶校验结果是好就停止迭代解码,以及如果奇偶校验结果是差就执行迭代解码。
19.根据权利要求12的方法,其中在已经逐个选择了所有校验节点时执行奇偶校验。
20.根据权利要求12的方法,其中LLR值和校验节点消息被存储在被分割成为独立地映射到多个校验节点的子度量块的存储器中。
CNA2005101248645A 2004-11-23 2005-11-23 用联合节点处理来解码低密度奇偶校验码的方法和设备 Pending CN1783729A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040096344A KR100703271B1 (ko) 2004-11-23 2004-11-23 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
KR96344/04 2004-11-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201110392451.0A Division CN102412847B (zh) 2004-11-23 2005-11-23 用联合节点处理来解码低密度奇偶校验码的方法和设备

Publications (1)

Publication Number Publication Date
CN1783729A true CN1783729A (zh) 2006-06-07

Family

ID=35686497

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110392451.0A Active CN102412847B (zh) 2004-11-23 2005-11-23 用联合节点处理来解码低密度奇偶校验码的方法和设备
CNA2005101248645A Pending CN1783729A (zh) 2004-11-23 2005-11-23 用联合节点处理来解码低密度奇偶校验码的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201110392451.0A Active CN102412847B (zh) 2004-11-23 2005-11-23 用联合节点处理来解码低密度奇偶校验码的方法和设备

Country Status (7)

Country Link
US (1) US7454685B2 (zh)
EP (1) EP1659726B1 (zh)
JP (1) JP4038519B2 (zh)
KR (1) KR100703271B1 (zh)
CN (2) CN102412847B (zh)
AU (1) AU2005225107B2 (zh)
DE (1) DE602005016355D1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
CN107632903A (zh) * 2016-07-19 2018-01-26 三星电子株式会社 低密度奇偶校验解码器、包括其的存储设备和方法
CN110098838A (zh) * 2019-04-30 2019-08-06 天津大学 Ldpc-rs乘积码的纠错纠删迭代译码方法
CN111200440A (zh) * 2018-11-19 2020-05-26 爱思开海力士有限公司 Ldpc解码器、半导体存储器系统及其操作方法

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100762619B1 (ko) * 2004-05-21 2007-10-01 삼성전자주식회사 저밀도 패리티 검사 코드를 이용한 복호화 장치 및 방법
WO2006120844A1 (ja) * 2005-05-13 2006-11-16 Nec Corporation Ldpc符号化方式によるエンコーダ及びデコーダ
US8196025B2 (en) * 2005-08-03 2012-06-05 Qualcomm Incorporated Turbo LDPC decoding
US8122315B2 (en) * 2005-12-01 2012-02-21 Electronics And Telecommunications Research Institute LDPC decoding apparatus and method using type-classified index
US7661055B2 (en) * 2005-12-05 2010-02-09 Broadcom Corporation Partial-parallel implementation of LDPC (Low Density Parity Check) decoders
JP4807063B2 (ja) * 2005-12-20 2011-11-02 ソニー株式会社 復号装置、制御方法、およびプログラム
US7562278B2 (en) * 2005-12-29 2009-07-14 Intel Corporation Incremental forward error correction redundancy
US7617433B2 (en) * 2006-01-03 2009-11-10 Broadcom Corporation Implementation of LDPC (low density parity check) decoder by sweeping through sub-matrices
US7530002B2 (en) * 2006-01-03 2009-05-05 Broadcom Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder
EP1841073A1 (en) * 2006-03-29 2007-10-03 STMicroelectronics N.V. Fast convergence LDPC decoding using BCJR algorithm at the check nodes
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
KR100943602B1 (ko) * 2006-06-27 2010-02-24 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7895500B2 (en) * 2006-07-28 2011-02-22 Via Telecom Co., Ltd. Systems and methods for reduced complexity LDPC decoding
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
JP5333233B2 (ja) * 2007-12-13 2013-11-06 日本電気株式会社 復号装置、データ蓄積装置、データ通信システム、および復号方法
US8266493B1 (en) * 2008-01-09 2012-09-11 L-3 Communications, Corp. Low-density parity check decoding using combined check node and variable node
US8099645B2 (en) * 2008-04-11 2012-01-17 Nec Laboratories America, Inc. LDPC codes and stochastic decoding for optical transmission
WO2009143375A2 (en) 2008-05-21 2009-11-26 The Regents Of The University Of Calfornia Lower-complexity layered belief propagation deconding ldpc codes
EP2181504A4 (en) * 2008-08-15 2010-07-28 Lsi Corp DECODING LIST OF CODED WORDS CLOSE IN A ROM MEMORY
US8190977B2 (en) 2008-08-27 2012-05-29 Intel Mobile Communications GmbH Decoder of error correction codes
US8307255B2 (en) * 2008-11-12 2012-11-06 Texas Instruments Incorporated Scalable decoder architecture for low density parity check codes
KR101206434B1 (ko) 2008-12-12 2012-11-29 연세대학교 산학협력단 저밀도 패리티 검사 부호를 위한 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치
US8560917B2 (en) * 2009-01-27 2013-10-15 International Business Machines Corporation Systems and methods for efficient low density parity check (LDPC) decoding
US8413010B1 (en) 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
KR101073636B1 (ko) 2009-07-14 2011-10-14 광운대학교 산학협력단 저밀도 패리티 검사 부호를 이용한 복호화 장치
KR20110124659A (ko) * 2010-05-11 2011-11-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 계층적 복호 장치 및 방법
JP5310701B2 (ja) * 2010-10-29 2013-10-09 株式会社Jvcケンウッド 復号装置および復号方法
US10103751B2 (en) * 2011-02-28 2018-10-16 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
WO2012118766A1 (en) 2011-02-28 2012-09-07 Clariphy Communications, Inc. Non-concatenated fec codes for ultra-high speed optical transport networks
US10063262B2 (en) * 2011-02-28 2018-08-28 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
WO2013147777A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Updating variable nodes associated with an iterative decoder
KR101926608B1 (ko) * 2012-08-27 2018-12-07 삼성전자 주식회사 경 판정 디코딩 방법 및 이를 이용한 저밀도 패리티 체크 디코더
US9015550B2 (en) * 2012-10-05 2015-04-21 Lsi Corporation Low density parity check layer decoder for codes with overlapped circulants
US9612903B2 (en) 2012-10-11 2017-04-04 Micron Technology, Inc. Updating reliability data with a variable node and check nodes
US9195536B2 (en) 2013-07-05 2015-11-24 Kabushiki Kaisha Toshiba Error correction decoder and error correction decoding method
KR20150024489A (ko) * 2013-08-26 2015-03-09 삼성전자주식회사 메모리 시스템에서의 ldpc 디코딩 방법 및 이를 이용한 ldpc 디코더
CN104518801A (zh) 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US9489256B2 (en) 2013-11-07 2016-11-08 Seagate Technology Llc Device quality metrics using unsatisfied parity checks
US9553608B2 (en) * 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
US9374107B1 (en) * 2014-05-15 2016-06-21 L-3 Communications Corp. Time shared protograph LDPC decoder
KR102265220B1 (ko) * 2015-03-09 2021-06-16 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US9973212B2 (en) * 2015-09-08 2018-05-15 Storart Technology Co. Ltd. Decoding algorithm with enhanced parity check matrix and re-encoding scheme for LDPC code
US9793923B2 (en) * 2015-11-24 2017-10-17 Texas Instruments Incorporated LDPC post-processor architecture and method for low error floor conditions
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
EP3316486B1 (en) * 2016-10-25 2023-06-14 Université de Bretagne Sud Elementary check node-based syndrome decoding with input pre-sorting
KR102231278B1 (ko) * 2017-06-07 2021-03-23 한국전자통신연구원 이진 로그를 사용하는 저밀도 패리티 검사 복호기 및 그것의 복호 방법
US10491244B2 (en) * 2017-11-14 2019-11-26 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
CN108494410A (zh) * 2018-03-30 2018-09-04 北京联想核芯科技有限公司 译码方法、装置、设备及介质
CN111061242A (zh) * 2018-10-16 2020-04-24 联合汽车电子有限公司 电动汽车电机控制器的校验系统及方法
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11424766B1 (en) 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US6818236B2 (en) * 2001-06-16 2004-11-16 The Goodyear Tire & Rubber Company Chewing gum SBR
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
CN1185796C (zh) 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
KR100762619B1 (ko) * 2004-05-21 2007-10-01 삼성전자주식회사 저밀도 패리티 검사 코드를 이용한 복호화 장치 및 방법
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
CN1713530A (zh) 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
CN107632903A (zh) * 2016-07-19 2018-01-26 三星电子株式会社 低密度奇偶校验解码器、包括其的存储设备和方法
CN107632903B (zh) * 2016-07-19 2022-05-10 三星电子株式会社 低密度奇偶校验解码器、包括其的存储设备和方法
CN111200440A (zh) * 2018-11-19 2020-05-26 爱思开海力士有限公司 Ldpc解码器、半导体存储器系统及其操作方法
CN111200440B (zh) * 2018-11-19 2023-04-07 爱思开海力士有限公司 Ldpc解码器、半导体存储器系统及其操作方法
CN110098838A (zh) * 2019-04-30 2019-08-06 天津大学 Ldpc-rs乘积码的纠错纠删迭代译码方法
CN110098838B (zh) * 2019-04-30 2022-03-22 天津大学 Ldpc-rs乘积码的纠错纠删迭代译码方法

Also Published As

Publication number Publication date
JP2006148937A (ja) 2006-06-08
KR100703271B1 (ko) 2007-04-03
CN102412847A (zh) 2012-04-11
EP1659726B1 (en) 2009-09-02
AU2005225107B2 (en) 2008-02-14
EP1659726A2 (en) 2006-05-24
AU2005225107A1 (en) 2006-06-08
DE602005016355D1 (de) 2009-10-15
KR20060057253A (ko) 2006-05-26
JP4038519B2 (ja) 2008-01-30
CN102412847B (zh) 2014-10-22
US7454685B2 (en) 2008-11-18
EP1659726A3 (en) 2006-06-14
US20060123318A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
CN1783729A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
EP2278720B1 (en) Decoding of chain reaction codes through inactivation
TWI594583B (zh) 硬決定輸入之一般化低密度同位檢查軟解碼
CN1499731A (zh) 低密度奇偶校验码解码装置和方法
CN101079639A (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
JP5432367B2 (ja) 書込み検証を使用した符号のエラーフロア軽減
KR20100081551A (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US20110072331A1 (en) Memory system and control method for the same
CN101044688A (zh) 节省存储器的ldpc译码方法和装置
CN101032082A (zh) 编码和解码数据的方法和设备
CN1669227A (zh) 用于低密度奇偶校验码解码器中的路由的方法和系统
CN1947368A (zh) 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法
CN1716786A (zh) 用奇偶校验矩阵对低密度奇偶校验码解码的解码器和方法
CN1767397A (zh) 低密度奇偶校验码的高效解码装置和方法
CN101047391A (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
US10205469B2 (en) Low latency soft decoder architecture for generalized product codes
CN105740088B (zh) 闪存数据纠错方法及装置
CN1859013A (zh) 低密度奇偶校验码迭代排序统计译码方法
CN1823474A (zh) 解码装置及解码方法
CN1527499A (zh) 用于低密度奇偶校验码解码的方法与系统
CN1889367A (zh) 构造稀疏生成矩阵的方法及低密度分组校验码的编码方法
CN101047392A (zh) 一种多码率的ldpc码的译码器装置及译码方法
JP2009515420A (ja) データを復号化及び符号化するための装置及び方法
CN1756090A (zh) 信道编码装置和方法
CN111525931B (zh) Ldpc译码器、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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20060607