CN103155421A - Ldpc多解码器架构 - Google Patents

Ldpc多解码器架构 Download PDF

Info

Publication number
CN103155421A
CN103155421A CN2012800033362A CN201280003336A CN103155421A CN 103155421 A CN103155421 A CN 103155421A CN 2012800033362 A CN2012800033362 A CN 2012800033362A CN 201280003336 A CN201280003336 A CN 201280003336A CN 103155421 A CN103155421 A CN 103155421A
Authority
CN
China
Prior art keywords
decoder
parity matrix
throughput
matrix
super
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.)
Granted
Application number
CN2012800033362A
Other languages
English (en)
Other versions
CN103155421B (zh
Inventor
N·瓦尼卡
G·伯德
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.)
Marvell World Trade Ltd
Mawier International Trade Co Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103155421A publication Critical patent/CN103155421A/zh
Application granted granted Critical
Publication of CN103155421B publication Critical patent/CN103155421B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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
    • 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/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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

描述与LDPC解码器架构相关联的系统、方法和其它实施例。根据一个实施例,一种装置包括超奇偶校验矩阵。超矩阵与低密度奇偶校验(LDPC)码矩阵的至少一部分相对应。超奇偶校验矩阵耦合到高吞吐量LDPC解码器和低吞吐量LDPC解码器。超奇偶校验矩阵包括n个奇偶校验矩阵。奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列。因此,超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列。选择数目n、x和y从而使得高吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵对应的ny个码字位并且低吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵相对应的y个码字位。

Description

LDPC多解码器架构
相关申请的交叉引用
本专利公开内容要求于2011年1月14日提交的第61/432,966号美国临时申请的权益,其通过引用而整体结合于此。
背景技术
这里提供的背景技术描述是为了一般地呈现公开内容的背景。当前所称的发明人的工作到这一背景技术章节中描述的该工作的程度、以及该描述在提交时不被界定为现有技术的方面既未明确地也未暗示地承认为相对于本公开内容的现有技术。
通信和数据存储中的基本问题包括确定在接收器处接收的信息是否准确地反映从传输器传输的信息。常规而言,已经向消息位添加附加验证位(例如奇偶位、循环冗余校验位)以有助于提高接收的消息与传输的消息匹配的置信度。通信/数据存储系统因此通常包括纠错码(ECC)。例如在编码过程中,通过向数据字段添加冗余/校验位来构造ECC码的码字。低密度奇偶校验(LDPC)码定义一种类型的ECC。
LDPC码是与可以表示为双枝图的与稀疏奇偶校验矩阵(sparseparity check matrix)关联的线性块码。稀疏是指如下条件,其中可以将用于LDPC码的奇偶校验矩阵约束为每列具有少于特定数目的一并且每行具有少于特定数目的一。
LDPC解码器接收矢量(接收的矢量)、尝试对与接收的矢量对应的最可能码字解码并且报告解码器矢量是否为有效码字。LDPC码字可以包括消息位和冗余位。冗余位可以例如是奇偶位。LDPC码可以是线性(N,K)块码,该块码具有映射到块长度为N的码字的K个信息位。可以在低密度(例如稀疏)NxK二进制奇偶校验矩阵方面指定LDPC码C。尽管这里在二进制码方面提供示例,但是应当理解相似方法可以应用于非二进制码,其中字词“位”被替换为字词“非二进制符号”。因此如这里描述和要求保护的“位节点处理元件”也可以包括处理非二进制符号的处理元件。可以用迭代方式对码字解码,其中构建关于码字的某些位的观点,然后经由观点校验等式来更新向码字的其它位传递那些观点。解码将继续直至已经满足用于码字的约束、直至已经尝试最大数目的试验(例如通过LDPC解码器的迭代)或者直至其它标准终止解码。
图1图示常规最小求和LDPC解码器10的一个一般示例。解码器10在收敛验证单元12确定解码器10已经对有效码字收敛时提供收敛标志。可以组合特征群(syndrome)和硬判决(HD)改变信号以确定LDPC解码器10是否已经达到收敛。HD跟踪单元22和HD改变信号使用是可选的。在一些架构中,可以不需要HD跟踪单元22和HD改变信号。特征群计算单元20和HD跟踪单元22可以从负责处理和/或更新位节点和校验节点的解码器处理器30接收更新的HD。
解码器处理器30包括码子矩阵36,该码子矩阵是与奇偶校验码对应的更大低密度(例如稀疏)二进制奇偶校验矩阵(未示出)的子矩阵。整个LDPC码通常可以具有维度N-K×N位。通常使用子矩阵来部分地处理这一码矩阵。例如子矩阵36具有大小x×y位,其中x<N-K并且y<N。子矩阵36可以用作码的基本处理单位。可以并行(例如在一个时钟周期中)处理这样的基本处理单位。为了简化,在图2和3中仅示出整个LDPC码奇偶校验矩阵的子矩阵36。例如后文将描述的超奇偶校验矩阵可以对应于LDPC码奇偶校验矩阵的子矩阵36。
为码子矩阵36的每列提供位节点处理单元(NPE)32,因此存在y个位NPE。为码子矩阵36的每行提供校验NPE 34,因此存在x个校验NPE。在一些实施例中,x可以等于y。在最小求和解码器中,位NPE计算或者更新位到校验消息(Q消息),而校验NPE计算或者更新校验到位消息(R消息)。在一些实现中,可以存储后验位(P消息)而不是存储Q消息。解码器处理器30向R存储器14提供更新的R消息并且向Q或者P存储器16提供更新的Q或者P消息。解码器处理器30从R存储器14和Q或者P存储器16接收值。
在另一类型的LDPC解码器中,消息可以是单个位消息。这些解码器常称为位翻转(bit-flip)解码器。在位翻转解码器的一个实现中,用于位节点j(1≤j≤N)的P消息是单个位消息。这也是用于该位节点的HD值。可以用迭代方式更新位节点值,其中轮询直接连接到位节点j的校验节点,并且基于这些校验节点值确定是翻转位节点j的值还是保持位节点j的当前值。在这一实现中,R存储器存储校验节点值,而P存储器存储位节点值(HD值)。因此,R存储器存储连接到在R存储器中存储的校验节点的所有位节点值的XOR值。
发明内容
在一个实施例中,一种装置包括在非瞬态计算机可读介质上具体化的超奇偶校验矩阵。超矩阵与低密度奇偶校验(LDPC)码矩阵的至少一部分相对应。超奇偶校验矩阵耦合到高吞吐量LDPC解码器和低吞吐量LDPC解码器。超奇偶校验矩阵包括n个奇偶校验矩阵。奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列。因此,超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列。选择数目n、x和y从而使得高吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵相对应的ny个码字位、并且低吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵相对应的y个码字位。
在一个实施例中,奇偶校验矩阵是循环矩阵,在循环矩阵中,行中的值与前一行中值的移位相对应,并且每行和列的权值至少为一。在一个实施例中,超奇偶校验矩阵是关于奇偶校验矩阵的循环矩阵,从而奇偶校验矩阵包括根据n个模式之一在超奇偶校验矩阵中排列的相邻x行和相邻y列的相交单元的集合。奇偶校验矩阵在n个模式中的每个模式中的位置与奇偶校验矩阵在另一模式中的位置的水平移位相对应。
在一个实施例中,该装置包括:解码器选择逻辑,被配置用于基于选择标准来启用高吞吐量和低吞吐量LDPC解码器之一的解码。
在另一实施例中,一种方法包括提供在非瞬态计算机可读介质上存储的、与LDPC码矩阵的至少一部分相对应的超奇偶校验矩阵。超奇偶校验矩阵耦合到低吞吐量LDPC解码器和高吞吐量LDPC解码器,并且包括n个奇偶校验矩阵。奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列。因此,超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列。该方法包括选择低吞吐量LDPC解码器和高吞吐量LDPC解码器之一以用于对码字解码。当选择高吞吐量LDPC解码器时,该方法包括在单个时间单位中处理与超奇偶校验矩阵相对应的ny个码字位以对码字解码。当选择低吞吐量LDPC解码器时,该方法包括在单个时间单位中处理与一个奇偶校验矩阵相对应的y个码字位以对码字解码。
在一个实施例中,该方法包括当高吞吐量LDPC解码器对码字解码失败时,选择低吞吐量LDPC解码器以对码字解码。
在另一实施例中,一种设备包括低吞吐量LDPC解码器、高吞吐量LDPC解码器和超奇偶校验矩阵。超矩阵与LDPC码矩阵的至少一部分相对应。超奇偶校验矩阵耦合到高吞吐量LDPC解码器和低吞吐量LDPC解码器。超奇偶校验矩阵包括n个奇偶校验矩阵。奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列。因此,超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列。选择数目n、x和y从而使得高吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵相对应的ny个码字位,并且低吞吐量解码器能够在单个时间单位中处理与超奇偶校验矩阵相对应的y个码字位。该设备也包括:解码器选择逻辑,被配置用于基于选择标准来启用高吞吐量和低吞吐量LDPC解码器之一的解码。
在一个实施例中,低吞吐量LDPC解码器包括最小求和解码器。在一个实施例中,高吞吐量LDPC解码器包括位翻转解码器,位翻转解码器基本上同时地处理ny个位节点处理单元的群组,其中ny是由位翻转解码器处理的码字位群组中的位数。
附图说明
并入于说明书中并且构成说明书的部分的附图图示了公开内容的各种系统、方法和其它实施例。将理解图中的所示单元边界(例如框、框组或者其它形状)代表边界的一个示例。本领域普通技术人员将理解,在一些示例中可以将一个单元设计为多个单元,或者可以将多个单元设计为一个单元。在一些示例中,可以将示出为一个单元内部部件的单元实现为外部部件,并且反之亦然。另外,单元可以不按比例绘制。
图1图示一个常规LDPC解码器。
图2图示与支持不同吞吐量的解码器的LDPC码架构关联的装置的一个实施例。
图3图示与支持不同吞吐量的解码器的LDPC码架构关联的装置的一个实施例。
图4A和图4B图示与支持不同吞吐量的解码器的LDPC码架构关联的码超矩阵的各种实施例。
图5图示与支持不同吞吐量的解码器的LDPC码架构关联的方法的一个实施例。
图6图示与支持不同吞吐量的解码器的LDPC码架构关联的装置的一个实施例。
图7图示与支持不同吞吐量的解码器的LDPC码架构关联的方法的一个实施例。
图8图示与支持不同吞吐量的解码器的LDPC码架构关联的装置的一个实施例。
具体实施方式
这里描述与在相同解码架构中支持不同吞吐量的解码器的LDPC解码器架构关联的示例系统、方法和其它实施例。在一个实施例中,可以在相同解码架构中使用高吞吐量LDPC解码器和低吞吐量LDPC解码器。高吞吐量LDPC解码器可以用作默认解码器,而在高吞吐量LDPC解码器对码字解码失败时使用低吞吐量LDPC解码器。以这一方式,解码结构可以尽可能多地受益于高吞吐量LDPC解码器提供的功率和时间节省而又仍然在必要时通过低吞吐量LDPC解码器提供更多解码能力。
包括不同吞吐量的解码器的解码器结构良好地适合用于处理在固态设备上存储的码字,在固态设备中出现相对少的错误。由于少数错误出现,所以将几乎排他性地使用高吞吐量LDPC解码器。随着固态设备老化,更多错误可能出现并且低吞吐量LDPC解码器将在高吞吐量LDPC解码器可能不能实现校正时的那些实例中,尽管具有更高功率消耗和处理时间却仍然可用于继续解码操作。由于在大多数时间不会运用更低吞吐量LDPC解码器,所以偶然地运行更低吞吐量解码器可能并不显著地影响总吞吐量/功率。这里描述的架构支持不同吞吐量的解码器的一种方式是通过提供任一解码器可以使用的超奇偶校验矩阵。这节省将与提供用于每个解码器的不同码矩阵关联的成本和空间。此外,节省了为了使编码器能够基于两个不同码来编码而将需要的额外的冗余度。
参照图2,示出与支持不同吞吐量的解码器关联的解码器架构200的一个实施例。解码器架构200包括高吞吐量LDPC解码器110和低吞吐量LDPC解码器120。“吞吐量”指代可以由解码器并行处理的码字的位的数目。“高”和“低”是在如在两个解码器110、120之间这样的相对意义上使用,而不是指代任何具体吞吐量或者吞吐量范围。在一个实施例中,高吞吐量LDPC解码器是位翻转解码器,并且低吞吐量LDPC解码器是最小求和解码器。
解码器架构200包括解码器选择逻辑140,其选择用于对码字进行解码的解码器。解码器选择逻辑使用选择标准来确定选择哪个解码器以对给定的码字解码。在一个实施例中,选择标准是高吞吐量LDPC解码器110的解码成功状态112。因此,如果高吞吐量LDPC解码器110对码字解码失败,则解码器选择逻辑140可以选择低吞吐量LDPC解码器120以尝试对高吞吐量LDPC解码器110不能解码的码字解码。
高吞吐量LDPC解码器110包括ny个位NPE 112和nx个校验NPE 114。位NPE和校验NPE的数目对应于高吞吐量LDPC解码器110的吞吐量。高吞吐量LDPC解码器110访问超奇偶校验矩阵130,该矩阵是具有N-K行和N列的LDPC码的稀疏子矩阵。超奇偶校验矩阵130具有nx行和ny列。作为示例,如果(N-K)/(nx)=D并且如果N/(ny)=F,则存在D倍的F个超奇偶校验矩阵,在图中仅示出这些超奇偶校验矩阵中的一个超奇偶校验矩阵、即超奇偶校验矩阵130。一些超奇偶校验矩阵可以是全零(all-zero)循环矩阵(circulantmatrices)。
超奇偶校验矩阵130可以由高吞吐量LDPC解码器110用来在单个时间单位(例如时钟周期)中处理ny个位节点。一旦高吞吐量LDPC解码器110完成对超奇偶校验矩阵130的处理,它可以移向下一超奇偶校验矩阵(未示出),该超奇偶校验矩阵是相同大小为nx×ny、但是通常结构不同的整个奇偶校验矩阵的下一块。例如,如果N/(ny)=F,则将需要F个时间单位(时钟周期)以处理高吞吐量LDPC解码器中的一个迭代。基于高和低吞吐量LDPC解码器110、120的相对吞吐量选择超奇偶校验矩阵的维度。
低吞吐量LDPC解码器120包括y个位NPE 122和x个校验NPE 124。因此,低吞吐量LDPC解码器120的吞吐量是高吞吐量LDPC解码器110的吞吐量的1/n。低吞吐量LDPC解码器120也访问超奇偶校验矩阵130。然而如下文将参照图3更具体描述的那样,低吞吐量LDPC解码器120在每个时间单位(例如时钟周期)中访问超奇偶校验矩阵的一部分。
图3图示包括位翻转解码器310(例如高吞吐量LDPC解码器)和最小求和解码器320(例如低吞吐量LDPC解码器)的解码器架构300的一个实施例。位翻转解码器310具有48位的吞吐量、因此具有48个位NPE(0-47)。位翻转解码器也具有48个校验NPE(0-47)。最小求和解码器具有16位的吞吐量、因此具有16个位NPE(0-15)和16个校验NPE(0-15)。解码器架构300包括由位翻转解码器310和最小求和解码器320二者访问的超奇偶校验矩阵330。
在图3中所示示例中,超奇偶校验矩阵330由如图3中的阴影框所示的三个16x16循环奇偶校验矩阵A、B、C构造。循环矩阵是如下矩阵,在该矩阵中,行的值是紧接先前行的移位版本。超奇偶校验矩阵330的其余值包含零。在循环模式中在超奇偶校验矩阵330内排列三个奇偶校验矩阵A、B、C。奇偶校验矩阵A、B、C和/或超奇偶校验矩阵330并不必需是循环矩阵,但是往往希望其是循环矩阵。基于位翻转解码器310的吞吐量(例如每时间单位处理48位)来选择超奇偶校验矩阵330的维度,而基于最小求和解码器320的吞吐量(例如每时间单位处理16位)来选择奇偶校验矩阵A、B、C的维度,可以用任何数目的奇偶校验矩阵构造其它超奇偶校验矩阵,例如具有维度100x100的超奇偶校验矩阵可以包括五个20x20奇偶校验矩阵。
在解码器选择逻辑(在图3中未示出,见图2)选择位翻转解码器310时,位翻转解码器310每时间单位访问来自超奇偶校验矩阵330的48位。然而那些48位以不同顺序连接到超奇偶校验矩阵330的行。由于奇偶校验矩阵A、B、C的位置,位0-15连接到超奇偶校验矩阵330的行16-31;位16-31连接到超奇偶校验矩阵330的行32-47;并且位32-47连接到超奇偶校验矩阵330的行0-15。
在一个实施例中,在位翻转解码器310中存储在超奇偶校验矩阵330内奇偶校验矩阵A、B、C的位置,从而恰当行的恰当部分可以用于码字位处理。如果超奇偶校验矩阵330关于奇偶校验矩阵A、B、C是循环的,则如下数可以指定位置,该数指示第一行中的奇偶校验矩阵已经被移位的次数(见图4A)。如果奇偶校验矩阵A、B、C循环,则也可以向位翻转解码器提供用于每个奇偶校验矩阵A、B、C的简单数值指示符,该指示符指示第一行中的非零值已经在该特定循环奇偶校验矩阵中被移位的次数。
如果选择最小求和解码器320以用于解码,则最小求和解码器将在每个时间单位中访问超奇偶校验矩阵330的16列。例如,如果最小求和解码器320基于列的并行处理,则在处理超奇偶校验矩阵330的第一时间单位中,最小求和解码器可以访问与奇偶校验矩阵A对应的列0-15和行16-31。在处理超奇偶校验矩阵330的下一时间单位中,最小求和解码器可以访问与奇偶校验矩阵B对应的列16-31和行32-47。在处理超奇偶校验矩阵330的第三时间单位中,最小求和解码器可以访问与奇偶校验矩阵C对应的列32-47和行0-15。如果奇偶校验矩阵A、B、C循环,则可以向最小求和解码器提供用于每个奇偶校验矩阵A、B、C的简单数值指示符,该指示符指示第一行中的非零值已经在该特定循环奇偶校验矩阵中被移位的次数。
图4A图示了具有用于如下实施例的更小奇偶校验矩阵的不同排列的三个超奇偶校验矩阵430、431、432,在该实施例中,每个超奇偶校验矩阵有三个更小的奇偶校验矩阵。三个超奇偶校验矩阵430、431、432关于更小奇偶校验矩阵的位置是循环的。因此,超奇偶校验矩阵430代表0移位,超奇偶校验矩阵431代表单个移位,并且超奇偶校验矩阵432代表双移位。可以向高吞吐量LDPC解码器(例如位翻转解码器310)提供移位值0、1、2以指定在每个超奇偶校验矩阵内更小奇偶校验矩阵的位置。图4B图示了具有非循环更小奇偶校验矩阵的不同排列的附加三个超奇偶校验矩阵433、434、435。
图5图示了解码器选择方法500的一个实施例。该方法在510包括提供包括至少一个超奇偶校验矩阵的整个LDPC奇偶校验矩阵,该至少一个超奇偶校验矩阵耦合到低吞吐量LDPC解码器和高吞吐量LDPC解码器。至少一个超奇偶校验矩阵中的每个超奇偶校验矩阵对应于LDPC码的一部分,并且包括n个更小奇偶校验矩阵。尽管通常使用多于一个超奇偶校验矩阵来处理整个LDPC码,但是出于本说明书的目的,描述关于单个超奇偶校验矩阵而执行该方法。更小奇偶校验矩阵包括与x个校验节点处理单元对应的x行和与y个位节点处理单元对应的y列。因此,超奇偶校验矩阵包括与nx个校验节点处理单元对应的nx行和与ny个位节点处理单元对应的ny列。尽管由于预选LDPC码矩阵而可以仅执行步骤510一次,但是可以针对每个码字重复步骤520和530。
在520,该方法包括选择低吞吐量LDPC解码器和高吞吐量LDPC解码器中的一个以用于对码字解码。在530,该方法包括用选择的解码器处理码字。在选择高吞吐量LDPC解码器时,可以在单个时间单位中处理与至少一个超奇偶校验矩阵对应的ny个码字位以执行高吞吐量LDPC解码器中的一个迭代的一部分。在选择低吞吐量LDPC解码器时,可以在单个时间单位中处理与至少一个超奇偶校验矩阵对应的y个码字位以执行低吞吐量LDPC解码器中的一个迭代的部分。在一个实施例中,该方法500包括在高吞吐量LDPC解码器对码字解码失败时选择低吞吐量LDPC解码器以对码字解码。
如上文提到的那样,当在高吞吐量LDPC解码器中处理ny个码字位时,这可以对应于在一个时间单位中处理一个或者多个超奇偶校验矩阵。图6-图8图示了有助于并行处理码字位组并且在一个时间单位期间访问若干超奇偶校验矩阵的位翻转解码器架构。如更早描述的那样,在位翻转解码的一个实施例中,每个校验节点存储单个位,并且每个位节点存储单个位。每个校验节点具有存储与“满足”或者“不满足”对应的值的单个存储位。每个位节点具有存储码字位值(HD值)的单个存储位。位节点和校验节点根据泰纳图(TannerGraph)而选择性地互连。因此,单个位节点连接到若干校验节点,并且单个校验节点连接到若干位节点。
在每个迭代中,位翻转解码器执行校验节点到位节点更新和位节点到校验节点更新。在校验节点到位节点更新中,轮询连接到位节点的校验节点,并且如果多于阈值数目都未被满足,则翻转位节点中的位。轮询的校验节点的数目等于连接到正在被处理的位节点的校验节点的数目。例如,如果正在被处理的每个位节点连接到三个校验节点,则需要访问三个不同超奇偶校验矩阵。
在位节点到校验节点更新期间,需要对连接到校验节点的所有位节点的位执行XOR运算,并且基于XOR的结果更新校验节点的值。可以以串行方式、半并行方式或者并行方式完成这一更新。在图6-图8中描述的位翻转解码器结构使得能够在单个时间单位中轮询和更新连接到位节点组(例如ny个位节点的组)中的位节点的所有校验节点(例如所有3nx个校验节点)。假设图7-图8中的校验节点更新是串行更新。单个时间单位可以是一个时钟周期、若干时钟周期或者时钟周期的一部分。
图6图示了位翻转解码器600的一个实施例的功能框图。位翻转解码器包括硬判决存储器610,该硬判决存储器存储用于本说明书中的位节点代表的码字位的位值。位翻转解码器600也包括两个特征群存储器:先前特征群存储器620和当前/部分特征群存储器625。特征群存储器620、625存储用于校验节点的被称为特征群值的值。
在每个解码迭代中,在校验节点到位节点更新期间,从硬判决存储器610取回位节点值群组,并且从先前特征群存储器620轮询用于连接到这些位节点中的每个位节点的校验节点(称为“邻近校验节点”)的校验节点值。例如,如果位节点连接到三个校验节点,则在相同时间单位中在先前特征群存储器620中访问三个校验节点存储器位置。换而言之,在相加/比较/翻转逻辑630执行的校验节点到位节点更新期间读取先前特征群存储器620。以这一方式,相加/比较/翻转逻辑630从如下稳定存储器工作,该稳定存储器并不由可以同时执行的后续位节点到校验节点更新而改变。相加/比较/翻转逻辑630翻转需要基于先前特征群存储器620中存储的特征群值翻转的任何位节点位。
位节点到校验节点更新包括至少部分基于位节点值通知当前特征群存储器625中的校验节点值(特征群值)。在一些实施例中(例如在处理固态设备(比如闪存)上存储的码字时),特征群值(和位节点值)很少改变。因此可以基于是否进行判决以在当前时间单位中翻转位来更新当前特征群存储器625。如果在当前时间单位中未翻转位,则无需更新当前特征群存储器625。
收敛监视器640监视先前特征群存储器620和/或当前特征群存储器625以确定是否已经对码字位成功解码。在位翻转解码器的每个完全迭代结束时将当前特征群存储器625物理地或者逻辑地复制到先前特征群存储器620中,其中一个完全迭代包括访问每个位节点一次。如果码字中的位数N是N=F(ny),则这占用F个时间单位。
位翻转解码器600包括若干功率节省特征。例如如上文讨论的那样,仅在翻转了连接到给定的校验节点的位节点位时才更新校验节点值。这在其中当前位节点值与先前特征群值组合的循环“a”中可见。(在一些实施例中,可以代之以组合当前位节点值与当前特征群值。)如果特征群值尚未出现改变,则禁用循环“a”。换而言之,如果当前位节点值尚未改变,则没有对当前特征群存储器625进行更新。如果位节点值被翻转,则解码器也遵循循环“b”并且更新硬判决存储器610。如果在当前时间单位中没有位节点值被翻转,则不更新硬判决存储器610。因此通过直到位被翻转(这相对很少出现)才更新特征群或者硬判决存储器来节省功率。
图7概述对位节点群组执行解码器迭代的方法700的一个实施例在720,选择位节点群组以用于处理。可以按自然顺序或者任何其它顺序来处理位节点。在730,该方法包括轮询连接到每个位节点处理单元的邻近校验节点。可以在先前特征群存储器620(图6)中存储校验节点值。基本上同时执行对邻近校验节点的轮询。可以通过将关于图8描述的具体LDPC码设计来使能这一同时轮询。在740,该方法包括基于轮询而选择性地更新位节点群组(例如图6中的HD存储器610中的位)中的值。在750,向邻近校验节点邻居发送更新的位节点值。在760,该方法包括基于更新的位节点值选择性地更新特征群存储器。在这一步骤中更新的特征群存储器可以是当前特征群存储器625(图6)。如果使用两个特征群存储器(例如先前特征群存储器620和当前特征群存储器625),则该方法在770包括向先前特征群存储器中复制当前特征群存储器。这一复制可以是物理或者逻辑的。
图8图示特征群存储器800的一个实施例,该特征群存储器被划分成单独存储器以有助于如在图7的方法700中描述的码字位并行处理。用Nr/M个单独并行存储器组织特征群存储器800,每个物理存储器存储用于校验节点群组(示出为行0至Nr-1,其中Nr通常等于N-K)的特征群值。利用恰当的码设计,在任何给定的更新操作中,不超过来自每个存储器群组的单个行被访问,从而防止存储器冲突并且简化硬件要求。在一个实施例中,LDPC码奇偶校验矩阵被配置用于包括超奇偶校验矩阵,从而LDPC码奇偶校验矩阵中的每组M行包含任何给定的列中的不多于一个非零值。在一个实施例中,M等于M=G·nx,其中G是大于零的正整数并且nx是每个超奇偶校验矩阵的行大小。在另一实施例中,LDPC奇偶校验矩阵包括超奇偶校验矩阵,其中每个超奇偶校验矩阵包括相邻行的群组,其中每行对应于相同物理存储器。
下文包括这里运用的所选术语的定义。定义包括落入术语的范围内并且可以用于实现的部件的各种示例和/或形式。示例并非旨在于限制。术语的单数和复数形式二者可以在定义内。
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示这样描述的实施例或者示例可以包括特定特征、结构、特性、属性、单元或者限制,但是并非每个实施例或者示例必然包括该特定特征、结构、特性、属性、单元或者限制。另外,对短语“在一个实施例中”的重复使用虽然可以、但是未必指代相同实施例。
如这里所用的“逻辑”包括但不限于用于执行功能或者动作和/或引起来自另一逻辑、方法和/或系统的功能或者动作的硬件、固件、在非瞬态介质上存储或者在机器上执行的指令和/或各项的组合。逻辑可以包括软件控制的微处理器、分立逻辑(例如ASIC)、模拟电路、数字电路、编程的逻辑器件、包含指令的存储器设备等。逻辑可以包括一个或者多个门、门组合或者其它电路部件。在描述多个逻辑时,可以有可能向一个物理逻辑中并入多个逻辑。类似地,在描述单个逻辑时,可以有可能在多个物理逻辑之间分布该单个逻辑。可以使用逻辑单元中的一个或者多个逻辑单元来实现这里描述的部件和功能中的一个或者多个部件和功能。
尽管出于说明简化的目的而将所示方法示出为一系列块。但是方法不受块的顺序限制,因为一些块可以按与示出和描述的顺序不同的顺序和/或与其它块并行出现。另外,少于所有所示块可以用来实现示例方法。可以组合块或者将块分离成多个部件。另外,附加和/或备选方法可以运用附加的未图示的块。
到具体实施方式或者权利要求中运用术语“包括(include)”的程度,旨在以与术语“包含(comprise)”相似的方式有包容性(inclusive)意义,因为该术语在运用时被解释为权利要求中的过渡词。
尽管已经通过描述示例来举例说明示例系统、方法等并且尽管已经以相当多的细节描述示例,但是申请人的意图并非是约束或者以任何方式使所附权利要求的范围限于这样的细节。当然不可能出于描述这里描述的系统、方法等的目的而描述每个可设想的部件或者方法的组合。因此,公开内容不限于示出和描述的具体细节、有代表性的装置和说明性示例。因此,本申请旨在于涵盖落入所附权利要求的范围内的变更、修改和变形。

Claims (22)

1.一种装置,包括:
在非瞬态计算机可读介质上具体化的超奇偶校验矩阵,所述超矩阵与低密度奇偶校验(LDPC)码矩阵的至少一部分相对应,所述超奇偶校验矩阵耦合到高吞吐量LDPC解码器和低吞吐量LDPC解码器,其中所述超奇偶校验矩阵包括n个奇偶校验矩阵;
其中所述奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列,从而所述超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元对应的ny列;以及
另外其中选择n、x和y从而使得所述高吞吐量解码器能够在单个时间单位中处理与所述超奇偶校验矩阵相对应的ny个码字位、并且所述低吞吐量解码器能够在单个时间单位中处理与所述超奇偶校验矩阵相对应的y个码字位。
2.根据权利要求1所述的装置,其中所述奇偶校验矩阵是循环矩阵,在所述循环矩阵中,行中的值与前一行中值的移位相对应,并且每行和列的权值至少为一。
3.根据权利要求1所述的装置,其中所述超奇偶校验矩阵是关于所述奇偶校验矩阵的循环矩阵,从而所述奇偶校验矩阵包括根据n个模式之一在所述超奇偶校验矩阵中排列的相邻x行和相邻y列的相交单元的集合,其中所述奇偶校验矩阵在所述n个模式中的每个模式中的位置与奇偶校验矩阵在另一模式中的位置的水平移位相对应。
4.根据权利要求1所述的装置,还包括:解码器选择逻辑,被配置用于基于选择标准来启用所述高吞吐量和低吞吐量LDPC解码器之一的解码。
5.根据权利要求4所述的装置,其中所述高吞吐量LDPC解码器被配置用于访问与奇偶校验矩阵在所述超奇偶校验矩阵内的位置相对应的循环矩阵移位数目。
6.根据权利要求1所述的装置,其中所述高吞吐量LDPC解码器包括位翻转解码器,所述位翻转解码器包括先前特征群存储器和当前特征群存储器,所述先前特征群存储器存储来自紧接之前解码迭代的特征群值,所述当前特征群存储器存储在当前解码迭代期间计算的特征群值。
7.根据权利要求6所述的装置,其中所述当前特征群存储器包括m个单独的物理存储器,从而在第一物理存储器中存储的第一特征群值与对在第二物理存储器中存储的第二特征群值的访问基本上同时可访问。
8.根据权利要求7所述的装置,其中:
所述LDPC码矩阵被配置用于包括相邻行的群组,其中每个行的群组与不同的物理存储器相对应,并且其中每个行的群组在任何给定的列中包括不多于一个非零值;以及
所述LDPC码矩阵包括至少一个超奇偶校验矩阵,其中每个超奇偶校验矩阵包括相邻行的群组,其中每行与同一物理存储器相对应。
9.根据权利要求1所述的装置,其中所述低吞吐量LDPC解码器包括最小求和解码器。
10.一种方法,包括:
提供在非瞬态计算机可读介质上存储的、与LDPC码矩阵的至少一部分相对应的超奇偶校验矩阵,所述超奇偶校验矩阵耦合到低吞吐量LDPC解码器和高吞吐量LDPC解码器,并且包括n个奇偶校验矩阵;
其中所述奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列,从而所述超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列;
选择所述低吞吐量LDPC解码器和所述高吞吐量LDPC解码器之一以用于对码字解码;
当选择所述高吞吐量LDPC解码器时,在单个时间单位中处理与所述超奇偶校验矩阵相对应的ny个码字位以对所述码字解码;以及
当选择所述低吞吐量LDPC解码器时,在单个时间单位中处理与一个奇偶校验矩阵相对应的y个码字位以对所述码字解码。
11.根据权利要求10所述的方法,包括:
当所述高吞吐量LDPC解码器对所述码字解码失败时,选择所述低吞吐量LDPC解码器以对所述码字解码。
12.根据权利要求10所述的方法,包括:
基于所述高吞吐量LDPC解码器和所述低吞吐量LDPC解码器的吞吐量容量的比率来选择n、x和y,从而使得y包括所述低吞吐量LDPC解码器的所述吞吐量,并且ny包括所述高吞吐量LDPC解码器的所述吞吐量。
13.根据权利要求10所述的方法,其中所述高吞吐量LDPC解码器包括位翻转解码器,所述方法还包括:当选择所述位翻转解码器时,通过以下操作基本上同时地处理ny个位节点的群组,其中ny是所述群组中的位节点数目:
基本上同时地轮询所述群组中的每个位节点的校验节点邻居,其中位节点的校验节点邻居连接到所述位节点;
基于所述轮询选择性地更新所述位节点群组中的值;
向所述邻近校验节点发送所述更新的位节点值;以及
基于所述更新的位节点处理单元值选择性地更新特征群存储器。
14.根据权利要求13所述的方法,还包括仅在位节点值被翻转时更新硬判决存储器。
15.根据权利要求13所述的方法,还包括仅在连接到所述校验节点处理单元的位节点的值被翻转时更新校验节点值。
16.根据权利要求13所述的方法,其中同时地轮询所述校验节点邻居包括访问存储用于校验节点处理单元的值的单独物理存储器。
17.根据权利要求13所述的方法,其中:
从存储来自紧接之前解码迭代的特征群值的先前特征群存储器访问所述邻近校验节点;
选择性地更新所述特征群存储器包括基于所述更新的位节点值来更新当前特征群存储器;以及
所述方法还包括将所述当前特征群存储器复制到所述先前特征群存储器中。
18.一种设备,包括:
低吞吐量LDPC解码器;
高吞吐量LDPC解码器;
在非瞬态计算机可读介质上具体化的超奇偶校验矩阵,所述超矩阵与LDPC码矩阵的至少一部分相对应,所述超奇偶校验矩阵耦合到所述高吞吐量LDPC解码器和所述低吞吐量LDPC解码器,其中所述超奇偶校验矩阵包括n个奇偶校验矩阵;
其中所述奇偶校验矩阵包括与x个校验节点处理单元相对应的x行和与y个位节点处理单元相对应的y列,从而所述超奇偶校验矩阵包括与nx个校验节点处理单元相对应的nx行和与ny个位节点处理单元相对应的ny列;
另外其中选择n、x和y从而使得所述高吞吐量解码器能够在单个时间单位中处理与所述超奇偶校验矩阵相对应的ny个码字位,并且所述低吞吐量解码器能够在单个时间单位中处理与所述超奇偶校验矩阵相对应的y个码字位;以及
解码器选择逻辑,被配置用于基于选择标准来启用所述高吞吐量和低吞吐量LDPC解码器之一的解码。
19.根据权利要求18所述的设备,其中所述低吞吐量LDPC解码器包括最小求和解码器。
20.根据权利要求18所述的设备,其中所述高吞吐量LDPC解码器包括位翻转解码器,所述位翻转解码器基本上同时地处理ny个位节点处理单元的群组,其中ny是由所述位翻转解码器处理的码字位群组中的位数。
21.根据权利要求20所述的设备,其中所述位翻转解码器包括:
先前特征群存储器,存储来自紧接之前解码迭代的特征群值;以及
当前特征群存储器,存储在当前解码迭代期间计算的特征群值,其中所述当前特征群存储器包括m个单独的物理存储器,从而在第一物理存储器中存储的第一特征群值与对在第二物理存储器中存储的第二特征群值的访问基本上同时可访问。
22.根据权利要求21所述的设备,其中:
所述LDPC码矩阵被配置用于包括相邻行的群组,其中每个行的群组与不同的物理存储器相对应,并且其中每个行的群组在任何给定的列中包含不多于一个非零值;以及
所述LDPC码矩阵包括至少一个超奇偶校验矩阵,其中每个超奇偶校验矩阵包括相邻行的群组,其中每行与同一物理存储器相对应。
CN201280003336.2A 2011-01-14 2012-01-11 Ldpc多解码器架构 Expired - Fee Related CN103155421B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161432966P 2011-01-14 2011-01-14
US61/432,966 2011-01-14
PCT/US2012/020910 WO2012097046A1 (en) 2011-01-14 2012-01-11 Ldpc multi-decoder architectures

Publications (2)

Publication Number Publication Date
CN103155421A true CN103155421A (zh) 2013-06-12
CN103155421B CN103155421B (zh) 2016-11-09

Family

ID=45554828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280003336.2A Expired - Fee Related CN103155421B (zh) 2011-01-14 2012-01-11 Ldpc多解码器架构

Country Status (3)

Country Link
US (3) US8756479B2 (zh)
CN (1) CN103155421B (zh)
WO (1) WO2012097046A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241102A (zh) * 2016-03-29 2017-10-10 慧荣科技股份有限公司 在硬决策软解码期间决定何时结束位翻转算法的方法
CN109906559A (zh) * 2016-11-02 2019-06-18 高通股份有限公司 流水线高吞吐量分层ldpc解码器架构
CN110445495A (zh) * 2018-05-04 2019-11-12 爱思开海力士有限公司 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法
CN110719111A (zh) * 2013-08-27 2020-01-21 想象力科技有限公司 用于低密度奇偶校验码的改善的解码器
CN111615793A (zh) * 2017-07-31 2020-09-01 科得鲁西达股份有限公司 竖直分层式有限字母表迭代解码
CN111989746A (zh) * 2018-04-20 2020-11-24 美光科技公司 使用阶层式解码器的误差校正
CN112865920A (zh) * 2016-12-30 2021-05-28 慧荣科技股份有限公司 用以解码接收信息的解码方法与相关解码装置
CN111615793B (zh) * 2017-07-31 2024-06-07 科得鲁西达股份有限公司 竖直分层式有限字母表迭代解码

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782487B2 (en) * 2012-04-18 2014-07-15 Lsi Corporation Systems and methods for locating and correcting decoder mis-corrections
US8782488B2 (en) * 2012-04-20 2014-07-15 Lsi Corporation Systems and methods for back step data decoding
US8938659B2 (en) 2012-05-04 2015-01-20 Lsi Corporation Low-density parity-check decoder disparity preprocessing
US9235346B2 (en) 2012-05-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic map pre-fetching for improved sequential reads of a solid-state media
US9337865B2 (en) 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US8739004B2 (en) * 2012-05-10 2014-05-27 Lsi Corporation Symbol flipping LDPC decoding system
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9537508B1 (en) 2014-01-09 2017-01-03 Marvell International Ltd. Systems and methods for decoding cascade LDPC codes
US9564931B1 (en) * 2014-01-09 2017-02-07 Marvell International Ltd. Systems and methods for using decoders of different complexity in a hybrid decoder architecture
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US10200064B1 (en) * 2014-03-18 2019-02-05 Marvell International Ltd. Systems and method for bit-flipping decoders with partial-column processing, ordering and scheduling
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9602141B2 (en) 2014-04-21 2017-03-21 Sandisk Technologies Llc High-speed multi-block-row layered decoder for low density parity check (LDPC) codes
US9748973B2 (en) 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9503125B2 (en) * 2014-05-08 2016-11-22 Sandisk Technologies Llc Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes
US20160087653A1 (en) * 2014-07-28 2016-03-24 Lsi Corporation Decoder With Targeted Symbol Flipping Recovery Of Miscorrected Codewords
US9692450B2 (en) * 2015-05-11 2017-06-27 Maxio Technology (Hangzhou) Ltd. Systems and methods for early exit of layered LDPC decoder
US10116333B2 (en) 2016-07-29 2018-10-30 Sandisk Technologies Llc Decoder with parallel decoding paths
US10700706B2 (en) * 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
KR102467072B1 (ko) * 2017-10-26 2022-11-11 삼성전자주식회사 반복 연산 과정을 이용하여 디코딩을 수행하는 디코더 및 이를 이용한 스토리지 장치
US10884858B2 (en) 2018-03-16 2021-01-05 SK Hynix Inc. LDPC decoding device, memory system including the same and method thereof
US11005503B2 (en) * 2018-03-16 2021-05-11 SK Hynix Inc. Memory system with hybrid decoding scheme and method of operating such memory system
CN110275796B (zh) 2018-03-16 2023-08-08 爱思开海力士有限公司 具有混合解码方案的存储器系统及其操作方法
KR102643457B1 (ko) * 2018-11-19 2024-03-06 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US11146289B2 (en) * 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
KR102519413B1 (ko) 2019-05-03 2023-04-07 삼성전자주식회사 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
US10896091B2 (en) 2019-05-30 2021-01-19 Seagate Technology Llc Managing superparity storage location usage and coverage
CN114270710A (zh) 2019-09-10 2022-04-01 三星电子株式会社 通信或广播系统中的数据解码方法和装置
US11018695B1 (en) * 2019-11-11 2021-05-25 SK Hynix Inc. Fast-converging bit-flipping decoder for low-density parity-check codes
US11265016B2 (en) * 2020-07-06 2022-03-01 Intel Corporation Decoding apparatus, device, method and computer program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617486A (zh) * 2003-07-03 2005-05-18 直视集团公司 产生并行可解码的低密度奇偶校验(ldpc)码的方法和系统
CN1874164A (zh) * 2005-06-01 2006-12-06 三星电子株式会社 使用同时存储器存取的消息传递译码装置和方法
CN1989696A (zh) * 2004-07-19 2007-06-27 德克萨斯仪器股份有限公司 对低密度奇偶校验码的分层解码方法的改进
US20090282319A1 (en) * 2008-05-09 2009-11-12 Samsung Electronics Co., Ltd. Hierarchical decoding apparatus
US20100192040A1 (en) * 2007-06-19 2010-07-29 Yedidia Jonathan S Multi-Stage Decoder for Error-Correcting Codes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543212B2 (en) 2004-09-13 2009-06-02 Idaho Research Foundation, Inc. Low-density parity-check (LDPC) encoder
WO2007001305A1 (en) * 2005-06-27 2007-01-04 Thomson Licensing Stopping criteria in iterative decoders
US7617442B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US8028216B1 (en) 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
US7827461B1 (en) 2006-09-18 2010-11-02 Marvell International Ltd. Low-density parity-check decoder apparatus
US8341489B2 (en) * 2008-08-04 2012-12-25 Broadcom Corporation Permuted accelerated LDPC (Low Density Parity Check) decoder
US8458553B2 (en) 2009-07-28 2013-06-04 Lsi Corporation Systems and methods for utilizing circulant parity in a data processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617486A (zh) * 2003-07-03 2005-05-18 直视集团公司 产生并行可解码的低密度奇偶校验(ldpc)码的方法和系统
CN1989696A (zh) * 2004-07-19 2007-06-27 德克萨斯仪器股份有限公司 对低密度奇偶校验码的分层解码方法的改进
CN1874164A (zh) * 2005-06-01 2006-12-06 三星电子株式会社 使用同时存储器存取的消息传递译码装置和方法
US20100192040A1 (en) * 2007-06-19 2010-07-29 Yedidia Jonathan S Multi-Stage Decoder for Error-Correcting Codes
US20090282319A1 (en) * 2008-05-09 2009-11-12 Samsung Electronics Co., Ltd. Hierarchical decoding apparatus

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719111A (zh) * 2013-08-27 2020-01-21 想象力科技有限公司 用于低密度奇偶校验码的改善的解码器
CN110719111B (zh) * 2013-08-27 2023-07-25 北欧半导体公司 用于低密度奇偶校验码的改善的解码器
CN107241102A (zh) * 2016-03-29 2017-10-10 慧荣科技股份有限公司 在硬决策软解码期间决定何时结束位翻转算法的方法
CN107241102B (zh) * 2016-03-29 2020-10-20 慧荣科技股份有限公司 在硬决策软解码期间决定何时结束位翻转算法的方法
CN109906559A (zh) * 2016-11-02 2019-06-18 高通股份有限公司 流水线高吞吐量分层ldpc解码器架构
CN109906559B (zh) * 2016-11-02 2023-07-04 高通股份有限公司 流水线高吞吐量分层ldpc解码器架构
CN112865920A (zh) * 2016-12-30 2021-05-28 慧荣科技股份有限公司 用以解码接收信息的解码方法与相关解码装置
CN111615793A (zh) * 2017-07-31 2020-09-01 科得鲁西达股份有限公司 竖直分层式有限字母表迭代解码
CN111615793B (zh) * 2017-07-31 2024-06-07 科得鲁西达股份有限公司 竖直分层式有限字母表迭代解码
CN111989746A (zh) * 2018-04-20 2020-11-24 美光科技公司 使用阶层式解码器的误差校正
CN110445495A (zh) * 2018-05-04 2019-11-12 爱思开海力士有限公司 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法

Also Published As

Publication number Publication date
US8756479B2 (en) 2014-06-17
US20150263761A1 (en) 2015-09-17
CN103155421B (zh) 2016-11-09
US20140298130A1 (en) 2014-10-02
US9048871B2 (en) 2015-06-02
US20120185744A1 (en) 2012-07-19
US9391639B2 (en) 2016-07-12
WO2012097046A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
CN103155421A (zh) Ldpc多解码器架构
CN104868925B (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
US10536169B2 (en) Encoder and decoder for LDPC code
US9544090B2 (en) Hard input low density parity check decoder
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
US6961888B2 (en) Methods and apparatus for encoding LDPC codes
EP3662581A1 (en) Vertical layered finite alphabet iterative decoding
CA2798963C (en) Apparatus and method for layered decoding in a communication system using low-density partiy-check codes
CA2536259C (en) Methods and apparatus for encoding ldpc codes
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
US8751912B1 (en) Layered low density parity check decoder
CN106160752A (zh) 用于分层ldpc译码器的提早退出的系统和方法
WO2002103631A1 (en) Methods and apparatus for decoding ldpc codes
US9853661B2 (en) On-the-fly evaluation of the number of errors corrected in iterative ECC decoding
WO2011109084A1 (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
US20150227419A1 (en) Error correction decoder based on log-likelihood ratio data
US10090860B2 (en) Memory system using integrated parallel interleaved concatenation
KR100975695B1 (ko) 통신 시스템에서 신호 수신 장치 및 방법
US20110179337A1 (en) Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof
US8504894B1 (en) Systematic encoding for non-full row rank, quasi-cyclic LDPC parity check matrices
US10128869B2 (en) Efficient convergence in iterative decoding
US8977924B2 (en) Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
CN111615793B (zh) 竖直分层式有限字母表迭代解码
Benhayoun et al. Embedded Parallel Implementation of LDPC Decoder for Ultra-Reliable Low-Latency Communications

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161109

Termination date: 20190111

CF01 Termination of patent right due to non-payment of annual fee