CN109586731A - 用于解码纠错码的系统和方法 - Google Patents

用于解码纠错码的系统和方法 Download PDF

Info

Publication number
CN109586731A
CN109586731A CN201811021325.2A CN201811021325A CN109586731A CN 109586731 A CN109586731 A CN 109586731A CN 201811021325 A CN201811021325 A CN 201811021325A CN 109586731 A CN109586731 A CN 109586731A
Authority
CN
China
Prior art keywords
node
check
llr
decoder
decoding
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
CN201811021325.2A
Other languages
English (en)
Other versions
CN109586731B (zh
Inventor
张元茂
陈杰
王仲立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yingren Technology Co ltd
Original Assignee
Nyquist Semiconductor 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 Nyquist Semiconductor Ltd filed Critical Nyquist Semiconductor Ltd
Publication of CN109586731A publication Critical patent/CN109586731A/zh
Application granted granted Critical
Publication of CN109586731B publication Critical patent/CN109586731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/458Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
    • 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
    • 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
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding

Landscapes

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

Abstract

本申请提供了用于解码由线性分组码编码的码字的系统和方法。该方法可以包括:使用第一解码器对码字执行第一解码,针对第一解码的结果,确定或计算码字中每一个符号位元所对应的校验节点中校验成功的数量和校验未成功的数量,根据校验成功的校验节点的数量和校验未成功的校验节点的数量,为码字中每一个符号位元生成相对应的软LLR,以软LLR作为第二解码器的输入,使用第二解码器执行第二解码。

Description

用于解码纠错码的系统和方法
技术领域
本申请涉及用奇偶校验数据编码的码字的解码方法,尤其涉及使用基于 解码结果生成的软对数似然比(LLR)来解码码字。
背景技术
许多数据通信或存储系统常见的一个问题是数据的损坏,例如,由于通 信信道中的噪声或存储系统中的写/读过程。解决数据损坏的一种技术是使 用纠错码(ECC)或前向纠错(FEC)码。ECC和FEC将冗余数据或奇偶校验 数据添加到用户数据中,即使,例如在传输过程中或由于存储的损坏,一些 错误(在所用代码的能力之内)被引入,接收器或读取器也可以恢复用户数 据。
多年来已经开发了许多不同的编码方案,例如,汉明码,里德-所罗门码, Turbo码等。最近,低密度奇偶校验(Low Density Parity Check,LDPC) 码已经被广泛使用。然而,所有这些代码在运算中都是相当复杂的,仍然需 要改进。
发明内容
本申请公开了一种方法,包括:使用第一解码器对码字执行第一解码; 根据第一解码的解码结果,为码字的每一个符号位元计算(或确定)校验成功 (或被满足)的校验节点的数量和校验未成功(或未被满足)的校验节点的 数量;基于被满足的校验节点的数量和未被满足的校验节点的数量,生成相 对应的符号位元的软对数似然比(LLR);并且以软LLR作为第二解码器的输 入,使用第二解码器执行第二解码。
根据一个实施例,第一解码是硬式判决解码。
根据一个实施例,第二解码是软式判决解码。
根据一个实施例,根据被满足的校验节点的数量与未被满足的校验节点 的数量之间的差异来生成对应于符号位元值的软LLR。
根据一个实施例,所述符号位元值的软LLR根据公式P=((#S- #U)*Q+1)*D*X生成,其中#S是所述校验运算成功(或被满足)的校验节点的 数量,#U是所述校验运算未成功(或未被满足)的校验节点的数量,Q是缩 放因子,D是符号位元的符号值(即+1或-1),X是分配给对应的符号位元 的初始LLR幅度大小,“*”是乘号。
根据一个实施例,选择缩放因子Q和初始LLR幅度X以满足硬件约束。
根据一个实施例,第一解码是迭代解码。
根据一个实施例,在第一解码的可配置次数的迭代完成之后生成软LLR。
根据一个实施例,可配置次数是1和迭代的最大次数之间的任意整数。
根据一个实施例,在第一解码的每次迭代完成之后生成软LLR。
根据一个实施例,用作第二解码输入的软LLR是在第一解码任意次迭代 完成之后产生的软LLR。
根据一个实施例,该方法还包括在第一解码操作期间调整比特翻转阈值。
本申请还公开了一种系统,包括:第一解码器,包括被配置为对码字执 行第一解码的电路;软对数似然比(LLR)生成器,包括被配置为以下功能的 电路:根据第一解码的解码结果,为码字的符号位元确定被满足的校验节点的 数量和未被满足的校验节点的数量;并且根据被满足的校验节点的数量和未 被满足的校验节点的数量,生成对应于符号位元的软对数似然比(LLR);和 第二解码器,包括被配置为使用软LLR作为输入以执行第二解码的电路。
根据一个实施例,第一解码器是硬式判决解码器,并且,第二解码器是 软式判决解码器。
根据一个实施例,基于被满足的校验节点的数量与未被满足的校验节点 的数量之间的差异来生成对应于符号位元的软LLR。
根据一个实施例,软LLR生成器被配置为根据公式P=((#S- #U)*Q+1)*D*X生成软LLR,其中#S是被满足的校验节点的数量,#U是未被 满足的校验节点的数量,Q是缩放因子,D是符号位元的符号值(即+1或-1), X是分配给符号位元的初始LLR幅度大小,“*”是乘号。
根据一个实施例,选择缩放因子Q和初始LLR幅度X以满足硬件约束。
根据一个实施例,第一解码器被配置为执行迭代解码,并且在第一解码 的可配置次数的迭代完成之后生成软LLR,并且该可配置次数是1和最大迭 代次数之间的任意整数。
根据一个实施例,该系统还包括数据存储器,其中从数据存储器中检索 码字。
根据一个实施例,该系统还包括接收器和解调器,其中码字通过接收器 从通信信道接收并由解调器解调。
附图说明
图1示意性地示出了根据本申请一个实施例的线性块解码器。
图2A是根据本申请一个实施例的用于码字的Tanner图的图示。
图2B和2C是根据本申请一个实施例的在码字的Tanner图中信息传递 的图示。
图3示意性地示出了根据本申请一个实施例的图1的线性块解码器的第 一解码器。
图4示意性地示出了根据本申请一个实施例的图1的线性块解码器的第 二解码器。
图5示意性地示出了根据本申请一个实施例的LLR的生成。
图6是根据本申请一个实施例的使用所生成的软LLR解码码字的处理的 流程图。
图7示意性地示出了根据本申请一个实施例的带有错误纠正的存储系统。
图8示意性地示出了根据本申请一个实施例的带有错误纠正的通信系统。
具体实施方式
现在将参考附图详细描述基于本申请的具体实施例。各个图中的相同元件 由相同的附图标记表示以保持一致性。
本申请提供了用于解码线性分组码的系统和方法,例如但不限于矩形奇偶 校验、汉明码和低密度奇偶校验(LDPC)码。线性分组码可以由m×n矩阵H 指定,其中n是码字中的比特数,m是冗余比特的数量(例如,奇偶校验比 特)。对于LDPC码,矩阵H可以是具有低密度非零元素的稀疏矩阵。当满足 矩阵方程HcT=0时,n比特码字c=[c1,c2,c3,…,cn]是有效码字,其中cT是c 的转置,矢量可以被称为c的校验子(syndrome)。线性分组码也可以 通过Tanner图以图形形式表示。对应于m×n矩阵H的Tanner图可以包括两 组顶点:用于码字比特(比特节点)的n个顶点,以及用于奇偶校验方程(校 验节点)的m个顶点。本申请的一个或多个实施例提供了一种线性分组解码方 法,包括对码字执行第一解码,确定比特节点的校验运算成功和未成功的校验 节点数量,校验运算成功和未成功的校验节点数量生成用于比特节点的软对数 似然比(LLR),并使用软LLR作为第二解码器的输入执行第二解码。
图1示意性地示出了根据一个实施例的线性分组解码器100。线性分组解 码器100可以是复合或级联解码器,其包括第一解码器104和第二解码器 106。另外,线性分组解码器100还可以包括码字缓冲器102,软LLR生成器 108,仲裁器110和交换缓冲器112。码字缓冲器102可以是用于码字的临时存 储器。可以从,例如通信信道或存储器(诸如内存或硬盘驱动器),接收码 字。码字可以包括有效码字,每个有效码字可以具有零的校验子。也就是说, 它们满足方程HcT=0。然而,码字缓冲器102中的许多码字可能是无效的。也 就是说,这些码字不满足HcT=0的矩阵方程,需要解码成有效的码字。在一个 实施例中,线性分组解码器100可以是LDPC解码器。
第一解码器104可以是要应用于存储在码字缓冲器102中的码字的第一解 码器。第一解码器104可以从码字缓冲器102接收码字并确定该码字的校验子 是否为零。如果该码字的校验子为零,则该码字不需要被解码并且可以被发送 到仲裁器110。仲裁器110可以从线性分组解码器100输出码字。如果码字的 校验子不为零,则需要对码字进行解码。第一解码器104可以执行第一解码操 作。第一解码操作可以是硬式判决解码操作,其可以是例如迭代解码操作,例 如但不限于业内已知的比特翻转算法,或者还有待开发的任何其他技术。如果 第一解码操作成功解码码字,则可以将解码的码字发送到仲裁器110,并且仲 裁器110可以从线性分组解码器100输出解码的码字。然而,如果第一解码器 104不能成功解码码字,则可以将在解码过程期间生成的数据发送到软LLR生 成器108。
在一个实施例中,第一解码器104可以设置有预先配置的最大迭代次数, 并且第一解码器104可以在确定它不能成功解码码字之前按预先配置的最大迭 代次数执行解码操作。在另一实施例中,第一解码器104可具有收敛确定机 制。例如,在每次迭代完成之后,第一解码器104可以确定码字中是否存在任 何改进,例如,更多的校验节点变得满足。如果在一次迭代或可配置次数的迭 代完成之后没有改进,则第一解码器104可以确定它不能成功地解码码字,并 把码字留给第二解码器106解码。
软LLR生成器108可以被配置为基于第一解码器104的解码操作生成软对 数似然比(LLR)。在一个实施例中,例如,在每次解码操作的迭代完成之后, 对于一个比特节点,码字的一些校验节点的校验被满足,而该码字的另一些校 验节点的校验未被满足。软LLR生成器108可以基于被满足的校验节点和未被 满足的校验节点的数量来为比特节点生成软LLR。生成的LLR信息可以被发送 到交换缓冲器112,交换缓冲器112还可以从码字缓冲器102接收码字,并且 将LLR信息和对应的码字都提供给第二解码器106。
在一个实施例中,交换缓冲器112可以从第一解码器104接收经处理的码 字。例如,尽管第一解码器104不能成功解码码字,但是在执行每次迭代完成 之后可以翻转码字的一个或多个符号位元值。在第一次迭代完成之后被翻转了 一个或多个符号位元值的码字可以在第一次迭代完成之后临时存储为经处理的 码字,在第二次迭代完成之后被翻转了一个或多个符号位元值的码字可以在第 二次迭代完成之后临时存储为经处理的码字,等等。尽管软LLR生成器108可 以在图1中示出为与第一解码器104分离的组件,但是在一个实施例中,软 LLR生成器108可以实现为第一解码器104的一部分。
如果第一解码器104未能成功解码码字,则第二解码器106可以是要被应 用于该码字的第二解码器。第二解码器106可以执行第二解码操作,该第二解 码操作可以将所生成的LLR信息用于码字的比特节点。第二解码操作可以是基 于业界已知或尚待开发的任何软式判决算法的软式判决解码的实现。例如,在 一个实施例中,第二解码操作可以是业界已知的或尚待开发的消息传递算法 (message passing algorithm,MPA),例如但不限于,和积算法(sum-product algorithm,SPA),min-sum算法,随机解码算法或它们的变体。当第二解码器106成功解码码字时,第二解码器106可以将解码的码字发送到仲裁器110, 并且仲裁器110可以从线性分组解码器100输出解码的码字。
在一个实施例中,第一解码器104可以被称为主解码器(“MDEC”), 第二解码器106可以被称为强力解码器(powerful decoder,“PDEC”)。此 外,在一个实施例中,线性分组解码器100可包括多个第一解码器104(例 如,2个,3个,4个,8个,16个等)。作为一个例子,第二个第一解码器 104以虚线示出。多个第一解码器104可以在来自码字缓冲器102的不同码字 上并行地执行第一解码。另外,在一个实施例中,线性分组解码器100可包括 多个第二解码器106(例如,2个,3个,4个,8个,16个等)。作为一个例 子,第二个第二解码器106以虚线示出。多个第二解码器106可以在未被第一 解码器104成功解码的不同码字上并行地执行第二解码。
图2A是根据本申请一个实施例的用于码字的Tanner图200的图示。
Tanner图200可以是二分图,其示出了诸如汉明码或LDPC码的块码的奇偶校 验约束。可以在奇偶校验矩阵HE中指定奇偶校验约束。对于LDPC码,奇偶校 验矩阵HE可以是低密度,稀疏的n×m矩阵,其中n可以是码字中的符号位 元的数量,m是校验节点的数量。奇偶校验矩阵HE不一定是唯一的,并且可 以通过任何已知技术或将来开发的任何技术来选择。
奇偶校验矩阵HE的每一行可以对应于一个校验节点,并且每列可以对应 于一个比特节点。在二进制代码中,奇偶校验矩阵的元素是0或1,但是对于 非二进制LDPC码,奇偶校验矩阵的元素可以具有非二进制值。奇偶校验矩阵 的每一行可以形成奇偶校验方程的系数。例如,对于图2A中描绘的节点,奇 偶校验矩阵HE可以如下:
Tanner图中示出了两种类型的节点。如图2A所示,校验节点202,204, 206,208,210,212,214,216和218可以用方块表示,并且可以表示有效码字或 成功解码的码字必须满足的奇偶校验方程。比特节点220,222,224,226,228, 230,232,234,236,238,240和242可以表示为圆圈,并且可以表示码字中的符 号位元(即,二进制码的比特),例如比特节点220,222,224,226,228,230, 232,234,236,238,240和242可以分别表示代码字c=[c1,c2,c3,c4,c5, c6,c7,c8,c9,c10,c11,c12]中的c1,c2,c3,c4,c5,c6,c7,c8,c9, c10,c11和c12。
校验节点和比特节点之间的连接可以表示奇偶校验约束。例如,校验节点 202可以表示在上面示出的奇偶校验矩阵HE中指定的第一行奇偶校验方程,其 在列3,6,7和8中具有非零值。码字中的符号位元c3,c6,c7和c8可以对应 于奇偶校验矩阵HE的第一行中的这些非零位置,并且第一行奇偶校验方程可 以由数学方程表示:c3⊕c6⊕c7⊕c8=0,其中⊕是二进制码字的模2加法。因 为比特节点224,230,232和234对应于符号位元c3,c6,c7和c8,所以校验节 点202可以连接到这些比特节点。也就是说,可以认为校验节点202“校验”比特节点⊕224,230,232和234。类似地,校验节点204可以表示在上面示出 的奇偶校验矩阵HE中指定的第二行奇偶校验方程,其在列1,2,5和12中具有 非零值,并且第二行奇偶校验方程可以由数学方程表示:c1⊕c2⊕c5⊕c12=0, 其中⊕是二进制码字的模2加法。因为比特节点220,222,228和242可以对应 于符号位元c1,c2,c5和c12,所以校验节点204可以连接到这些比特节点。可 以认为校验节点204“校验”比特节点220,222,228和242。其他校验节点可 以根据相应的奇偶校验约束连接到比特节点。应当注意,因为每行具有四个非零位置,所以每个校验节点可以连接到四个比特节点。
从比特节点的角度来看,上面示出的奇偶校验矩阵HE中的每列可以在三 行中非零。也就是说,码字中的每个符号位元可以由三个奇偶校验方程“校 验”。相应地,每个比特节点可以连接到三个校验节点。例如,可以在第二, 第五和第七奇偶校验方程(矩阵HE的第二,第五和第七行)中校验码字中的 第一个符号位元。可以表示码字中的第一个符号位元的比特节点220可以被连 接到校验节点204,210和214。可以表示码字中的第二符号位元的比特节点 222可以被连接到校验节点204,208和218。其他的比特节点可以根据相应的 奇偶校验约束连接到校验节点。从比特节点的角度的全部连接和从校验节点的 角度的全部连接是相同的。
图2B和2C是根据本申请一个实施例的在Tanner图200中传递用于码字 的信息的图示。Tanner图200可以用于码字的迭代解码。如图2A所示,校验 节点208可以连接到比特节点222,230,232和238。也就是说,校验节点208 可以“校验”比特节点222,230,232和238。图2B中的箭头指示,信息可以从 比特节点222,230,232和238流到校验节点208。校验节点208可以根据从这 些比特节点传递来的信息执行“校验”比特节点222,230,232和238的操作。 这可以被称为迭代解码操作中的“符号位元到校验”步骤。校验节点可以根据 由解码器(例如,硬式判决算法或软式判决解码算法)实现的解码算法来执行 “校验”操作。
在一个实施例中,从比特节点传递到校验节点的信息可以包括每个比特节 点的符号位元值。对于二进制符号位元值,例如,可以执行输入符号位元值的 模2和,并且可以确定模2和是否为零。如果模2和为零,则可以将校验节点 标记为被满足的校验节点。如果模2和不为零,则可以将校验节点标记为未被 满足的校验节点。在另一实施例中,除了比特节点的符号位元值之外,每个符 号位元值的可靠性信息(例如LLR)可以从比特节点传递到校验节点。在该实 施例中,除了确定校验节点被满足或未被满足之外,解码器还可以确定该校验 节点被满足或未被满足的可信度(或置信度如何)。
此外,图2A中的Tanner图200示出了比特节点226可以连接到校验节点 206,212和214。也就是说,比特节点226可以由校验节点206,212和214“校 验”。图2C中的箭头指示,信息可以从校验节点206,212和214流到比特节 点226。比特节点226可以基于来自校验节点206,212和214的信息执行更新 其信息(例如,符号位元值,符号位元值的可靠性)的操作。这可以被称为迭 代解码操作中的“校验到符号位元”步骤。
在一个实施例中,从校验节点传递到比特节点的信息可以包括该比特节点 的被满足的校验节点和未被满足的校验节点的数量。比特节点可以使用该信息 来确定是否需要改变它们各自的符号位元值。例如,如果符号位元值是二进制 的,并且被满足的校验节点比未被满足的校验节点更多地连接到比特节点,则 该比特节点可以翻转其符号位元值。在另一个实施例中,除了比特节点的被满 足的校验节点和未被满足的校验节点的数量之外,还可以将校验节点如何被满 足或未被满足的可信度信息从校验节点传递给比特节点。在该实施例中,解码 器确定是否更新比特节点的符号位元值时,可以不仅基于被满足和未被满足的 校验节点的数量,而且基于每个校验节点的被满足或未被满足有多可靠。
图3示意性地示出了根据一个实施例的第一解码器104的组件图。第一解 码器104可以包括比特节点存储器302,校验子计算器304,码字收敛检测器 306和比特翻转控制308。比特节点存储器302可以是用于码字的符号位元值 的存储器。在解码操作的第一次迭代之前,比特节点存储器302中的码字的符 号位元值可以是来自码字缓冲器102的初始符号位元值。在每次迭代完成之 后,如果码字不满足任何奇偶校验约束,则可以改变被解码的码字的一个或多 个符号位元值,并且可以更新存储在比特节点存储器302中的码字的符号位元 值以反映这些改变。
校验子计算器304可以被配置为计算正被解码的码字的校验子。例如,校 验子计算可以包括计算码字的每个奇偶校验方程。码字收敛检测器306可以被 配置为基于校验子计算确定被解码的码字是否为一个有效码字。如果针对码字 计算的校验子为零,则该码字是一个有效码字,并且可以由第一解码器104发 送到仲裁器110。如果计算出的码字校验子不为零,则该码字无效。无效码字 可以由第一解码器104在另一次迭代中继续解码,或者如果已经达到最大迭代 次数,则第一解码器104可以将校验节点满足度信息传递给LLR生成器108并 且将该码字留给第二解码器106解码。
比特翻转控制308可以包括比特翻转阈值,并且可以被配置为确定是否需 要更新正被解码的码字中的符号位元值。在一个实施例中,比特翻转阈值可以 以简单多数规则实现。例如,比特节点可以连接到总数为T的校验节点,并且 T=#U+#S,其中#U可以表示未被满足的校验节点的数量,#S可以表示被满足 的校验节点的数量。根据简单多数规则,只要未被满足的校验节点的数量大于 被满足的校验节点的数量(例如,#U>#S),比特节点的符号位元值可以根据 接收到的#U和#S信息而被翻转。在另一个实施例中,比特翻转阈值可以被配 置为比简单多数规则更加复杂一点。例如,比特翻转阈值可以是未被满足的校 验节点的数量大于被满足校验的数量和数字M的总和,由不等式#U>#S+M表 示。数字M可以是正整数(例如,1,2,3,5,10等),总数T的百分比(例 如,T的10%,T的15%,T的30%)),未被满足的校验节点数量的百分 比(例如,#U的10%,#U的15%,#U的30%)或被满足的校验节点总数 的百分比(例如,10%的#S,15%的#S,30%的#S)。
在一个或多个实施例中,比特翻转阈值可以是可配置的。例如,可以将其 设置为一个阈值以解码一组码字,并设置为另一阈值以解码另一组码字。此 外,在解码操作期间可以实时调整比特翻转阈值。例如,可以针对解码操作的 某一次迭代的将其设置为一个阈值,并且针对解码操作的另一次迭代将其调整 为另一阈值。
图4示意性地示出了根据一个实施例的第二解码器106的组件图。第二解 码器106可以包括LLR存储器402,比特节点处理器404,校验节点处理器 406,校验子计算器408,校验比特(check-to-bit,C2B)存储器410和LLR计算 器412。LLR存储器402可以是用于LLR信息的存储。最初,LLR存储器402可 以存储从LLR生成器108接收的LLR信息。在第二解码器106的每次解码迭代 完成之后,LLR存储器402可以存储由LLR计算器412生成的更新过的LLR信 息。
比特节点处理器404可以被配置为基于由第二解码器106实现的解码算法 来执行操作。在一个实施例中,第二解码器106可以实现最小和(min-sum) 解码算法,并且比特节点处理器404可以被配置为执行要在最小和解码算法中 执行的比特节点操作。在另一实施例中,第二解码器106可以实现随机解码算 法,并且比特节点处理器404可以被配置为执行要在随机解码算法中执行的比 特节点操作。
校验节点处理器406也可以被配置为基于由第二解码器106实现的解码算 法来执行操作。在第二解码器106实现最小和解码算法的实施例中,校验节点 处理器406可以被配置为执行要在最小和解码算法中执行的校验节点操作。在 第二解码器106实现随机解码算法的另一实施例中,校验节点处理器406可以 被配置为执行要在随机解码算法中执行的校验节点操作。
校验比特(check-to-bit,C2B)存储器410可以是用于需要从校验节点处理 器406传递到比特节点处理器404的信息的存储器。例如,基于由第二解码器 106实现的解码算法,存储在C2B存储器410中的信息可以是最不可靠的LLR 及其位置(例如,对应于哪个比特节点),第二最不可靠的LLR及其位置(例 如,对应于哪个比特节点),以及连接到相应校验节点的比特节点的累积符号 位元值。
校验子计算器408可以被配置为计算正被解码的码字的校验子。例如,校 验子计算可以是计算码字的每个奇偶校验方程。如果正被解码的码字的计算结 果校验子为零,则该码字已成功解码,并且可由第二解码器106发送到仲裁器 110。如果正被解码的码字的计算结果校验子非零,则该码字尚未被成功解 码,并且第二解码器106可以执行另一次迭代。
LLR计算器412可以被配置为基于第二解码器106的解码操作来计算软对 数似然比(LLR)。在一个实施例中,例如,第二解码器106可以实现最小和解 码算法,并且LLR计算器412可以被配置为根据最小和解码算法执行LLR计 算。在另一实施例中,第二解码器106可以实现随机解码算法,并且LLR计算 器412可以被配置为根据随机解码算法执行LLR计算。在一个或多个实施例 中,可以将计算出的LLR信息传递到LLR存储器402以进行解码操作的下一次 迭代。
图5示意性地示出了根据本申请一个实施例的LLR生成。图5中的Tanner 图可以是用于奇偶校验矩阵的部分Tanner图,其中每个比特节点可以被六个校 验节点“校验”。例如,如图5所示,比特节点514可以连接到六个校验节点 502,504,506,508,510和512。在一次解码迭代中的“符号位元到校验”步骤 之后,校验节点502,504,508和510可能被满足,而校验节点506和512可能 被未满足,可以基于关于被满足的校验节点的数量(例如,#S)和未被满足 的校验节点的数量(例如,#U)生成软LLR。
在一个实施例中,可以将初始LLR幅度分配给一个值X,可以将比例因子 分配给一个值Q,将比特节点的符号位元值表示为D,然后根据P=#S*Q*D*X- #U*Q*D*X+D*X=(#S*Q-#U*Q+1)*D*X=((#S-#U)*Q+1)*D*X生成软LLR,其中 “*”是乘号。例如,如图5所示,四个校验节点502,504,508和510可以是 被满足,并且校验节点506和512可以是未被满足。因此,#S是4,#U是 2。如果初始LLR幅度X=8,缩放因子Q=0.5,并且比特节点514的符号位元值D=+1,则软LLR P可以被生成为P=((4-2)*0.5+1)*8*1=16。在另一示例中, 在一次解码迭代中的“符号位元到校验”步骤之后,#S可以是1,并且#U可 以是5。如果初始LLR幅度X=8,缩放因子Q=0.5,并且比特节点514的符号 位元值D=+1,则软LLR P可以被生成为P=((1-5)*0.5+1)*8*1=-8。
在一些实施例中,软LLR和任何后续计算生成的LLR可具有硬件约束。例 如,软LLR和任何后续计算的LLR可以具有有限比特位宽,例如但不限于4比 特,5比特,6比特,7比特或8比特,并且其中一个比特可以是符号比特(例 如,最高比特(most significant bit,MSB))。初始的LLR幅度X和缩放因子Q 需要合适的选择以满足硬件约束。例如,X和Q的值可以是任意值,该任意值 可以使得生成的软LLR值和任何后续计算生成的LLR值落入由有限比特位宽限 制的值范围内。另外,在一些实施例中,可以选择X和Q的值,使得生成的软 LLR值和任何后续计算生成的LLR值不仅落入由有限比特位宽限制的值范围 内,而且还覆盖尽可能大的范围。在一个实施例中,例如,具有误码率 (BER)的二进制系统可以具有基于BER计算的LLR,并且可以将计算的LLR缩 放为整数并选择为初始LLR幅度X。缩放因子可以通过模拟仿真计算确定。
在一个实施例中,对于二进制码字,比特节点的符号位元值D可以是+1或 -1,其可以是来自码字缓冲器102的初始符号位元值,或者在上一次解码迭代 中由第一解码器104翻转。
在一个或多个实施例中,图5中所示的软LLR生成可以在软LLR生成器 108中实现。在一个实施例中,可以在第一解码器104进行可配置数量的解码 迭代完成之后生成软LLR。例如,可配置数量可以是一次,两次,三次或为第 一解码器104配置的最大迭代次数,并且线性分组解码器100可以被配置为使 用所生成的软LLR作为第二解码器106的输入,无论最终由第一解码器104执 行了多少次迭代解码操作。在另一实施例中,可以在第一解码器104每次解码 迭代完成之后生成软LLR,并且线性分组解码器100可以被配置为选择所生成 的软LLR中的任何一个作为第二解码器106的输入,而不管最终由第一解码器 104执行了多少次迭代解码操作。在又一个实施例中,软LLR生成器108可以 被配置为针对若干所选迭代生成软LLR,例如,在第一次迭代,第三次迭代, 第五次迭代等之后,要选择哪些迭代可以是可配置的。
图6示出了根据一个实施例的用于解码线性分组码字的过程600的流程 图。在框602中,可以对码字执行第一解码。例如,第一解码器104可以从码 字缓冲器102获取码字并且对码字执行第一解码操作。在框604中,可以为比 特节点确定被满足的校验节点和未被满足的校验节点的数量。例如,在第一解 码操作的一次迭代(可以是第一次迭代,第二次迭代,或任何次数的迭代)之 后,可以为比特节点确定被满足的校验节点的数量和未被满足的校验节点的数 量。在框606中,可以基于被满足和未被满足的校验节点的数量来生成用于比 特节点的软LLR。如图5中所示并且在此描述的,可以基于被满足和未被满足 的校验节点的数量来生成用于比特节点的软LLR。在框608中,可以使用软LLR 作为输入来执行第二解码。例如,第二解码器106可以使用用于比特节点的软 LLR信息对码字执行第二解码操作。
过程600可以使用软件(例如,可由计算机处理器(CPU,GPU,或两者 的组合)执行)、硬件(例如,现场可编程门阵列(FPGA)或专用IC (ASIC))、固件、或三者的任意合适组合来实现。在一个实施例中,例如, 线性分组解码器100的组件可以以硬件电路实现,并且过程600可以在硬件中 实现。在另一个实施例中,例如,线性分组解码器100的组件可以用软件模 拟,并且过程600可以以计算机处理器可执行指令编程,并由执行可执行指令 的计算机处理器执行。
图7示意性地示出了包括本文所述的线性分组解码器100的系统700。系 统700可以是存储系统,例如但不限于内存或硬盘驱动器系统。系统700可以 包括数据存储器702和解码器704。数据存储器702可以是,例如,内存或硬 盘驱动器。解码器704可以是图1中所示的线性分组解码器100的实施例。从 数据存储器702读取的数据可能已损坏,并且解码器704可解码损坏的数据并 恢复正确的数据信息。
图8示意性地示出了包括本申请所述的线性分组解码器100的另一系统 800。系统800可以是通信系统,例如但不限于有线或无线通信系统。系统800 可以包括接收器802,解调器804和解码器806。接收器802可以是例如用于 无线通信的天线或用于有线通信的接收器。解调器804可以被配置为解调由接 收器802接收的信号并生成数字信号。解码器806可以是图1中所示的线性分 组解码器100的实施例。由接收器802接收的数据可能已损坏,解码器806可 解码损坏的数据并恢复正确的数据信息。
本申请任何所公开的方法和操作可以实现为存储在一个或多个计算机可读 存储介质上的计算机可执行指令(例如,线性分组解码器100的软件模拟), 并在计算机上执行(例如,任何商用计算机,包括智能电话或其他包含计算硬 件的移动设备)。计算机可读存储介质可以是例如非暂时性的计算机可读存储 介质,例如一个或多个光学媒体盘,易失性存储器组件(例如DRAM或 SRAM),或非易失性存储器组件(例如硬盘驱动器)等等。用于实现所公开的 技术的任何计算机可执行指令以及在所公开的实施例的实现期间创建和使用的任何数据可以存储在一个或多个计算机可读介质(例如,非暂时性计算机可读 介质)上。计算机可执行指令可以是例如存储器访问控制或数字信号通信的一 部分。这样的软件可以例如在单个本地计算设备(例如,任何合适的商用计算 机或移动设备)上或在网络环境中使用一个或多个网络计算机执行,网络环境 可以是例如通过因特网、广域网、局域网、客户端-服务器网络(例如云计算网 络)、或其他此类网络。
应当注意,在若干示例和实施例中,LDPC可以用作线性分组码的示例。然 而,本申请的实施例也可以以其他类型的线性分组码实现,例如但不限于矩形 奇偶校验和汉明码。例如,在一个实施例中,线性分组解码器100可以作为汉 明码解码器而用于汉明码,并且第一解码器104和第二解码器106可以实现汉 明码的解码操作。此外,诸如在“线性分组码”,“LDPC码”或“汉明码”中 使用的词“码”可以一般性地指码的类型。并且“码字”一词可以指用线性分 组码编码的单位数据块。
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对于本领 域技术人员而言将是显而易见的。这里公开的各个方面和实施例是出于说明的 目的而不是限制性的,真正的范围和精神由所附权利要求指示。

Claims (20)

1.一种方法,其特征在于,包括:
使用第一解码器对码字执行第一解码;
针对所述第一解码的解码结果,为所述码字的每一个符号位元确定与该符号位元相对应的校验节点中,校验运算成功的校验节点数量和校验运算未成功的校验节点数量;
根据所述校验运算成功的校验节点数量和所述校验运算未成功的校验节点数量,生成所述码字中每一个符号位元相对应的软对数似然比(LLR);以及,
以所述软LLR作为第二解码器的输入,使用所述第二解码器执行第二解码。
2.如权利要求1所述的方法,其特征在于,所述第一解码是硬式判决解码。
3.如权利要求1所述的方法,其特征在于,所述第二解码是软式判决解码。
4.如权利要求1所述的方法,其特征在于,根据所述校验运算成功的校验节点数量与所述校验运算未成功的校验节点数量之间的差值来生成相对应符号位元的软LLR。
5.如权利要求4所述的方法,其特征在于,所述符号位元的软LLR根据公式P=((#S-#U)*Q+1)*D*X生成,其中#S是所述校验运算成功的校验节点的数量,#U是所述校验运算未成功的校验节点的数量,Q是缩放因子,D是符号位元的符号值,X是分配给所述符号位元的初始LLR幅度大小,“*”是乘号。
6.如权利要求5所述的方法,其特征在于,所述缩放因子Q和所述初始LLR幅度被选择以满足硬件约束。
7.如权利要求1所述的方法,其特征在于,所述第一解码是一种迭代解码方式。
8.如权利要求7所述的方法,其特征在于,所述软LLR在所述第一解码的可配置次数的迭代完成之后生成。
9.如权利要求7所述的方法,其特征在于,所述可配置次数是1和最大迭代次数之间的任意整数。
10.如权利要求7所述的方法,其特征在于,所述软LLR在所述第一解码的每一次迭代完成之后生成。
11.如权利要求10所述的方法,其特征在于,用作所述第二解码的输入的所述软LLR是在第一解码任意次迭代完成之后生成的软LLR。
12.如权利要求1所述的方法,其特征在于,进一步包括,在所述第一解码操作期间调整比特翻转阈值。
13.一种系统,其特征在于,包括:
第一解码器,包括被配置为对码字执行第一解码的电路;
软对数似然比(LLR)生成器,包括被配置为以下功能的电路:
针对第一解码的解码结果,为所述码字的每一个符号位元计算与该符号位元相对应的校验节点中,校验运算成功的校验节点数量和校验运算未成功校验节点的数量;
根据所述校验运算成功的校验节点数量和所述校验运算未成功的校验节点数量,生成符号位元相对应的软对数似然比(LLR);以及,
第二解码器,包括被配置为使用所述软LLR作为输入以执行第二解码的电路。
14.如权利要求13所述的系统,其特征在于,所述第一解码器是硬式判决解码器,并且,所述第二解码器是软式判决解码器。
15.如权利要求13所述的系统,其特征在于,基于所述校验运算成功的校验节点数量与校验运算未成功的校验节点数量之间的差异来生成所述符号位元相对应的软LLR。
16.如权利要求15所述的系统,其特征在于,所述软LLR生成器被配置为根据公式P=((#S-#U)*Q+1)*D*X生成软LLR,其中#S是所述校验运算成功的校验节点数量,#U是所述校验运算未成功的校验节点数量,Q是缩放因子,D是符号位元的符号值,X是分配给对应的符号位元的初始LLR幅度大小,“*”是乘号。
17.如权利要求16所述的系统,其特征在于,所述缩放因子Q和所述初始LLR幅度被选择以满足硬件约束。
18.如权利要求13所述的系统,其特征在于,所述第一解码器被配置为执行迭代解码,并且在所述第一解码的可配置次数的迭代完成之后生成所述软LLR,并且所述可配置次数是1和最大迭代次数之间的任意整数。
19.如权利要求13所述的系统,其特征在于,进一步包括,数据存储器,其中所述码字被从所述数据存储器读取。
20.如权利要求13所述的系统,其特征在于,进一步包括,接收器和解调器,其中所述码字通过所述接收器从通信信道接收并由所述解调器解调。
CN201811021325.2A 2017-09-29 2018-09-03 用于解码纠错码的系统和方法 Active CN109586731B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/719,753 US10574274B2 (en) 2017-09-29 2017-09-29 Systems and methods for decoding error correcting codes
US15/719,753 2017-09-29

Publications (2)

Publication Number Publication Date
CN109586731A true CN109586731A (zh) 2019-04-05
CN109586731B CN109586731B (zh) 2023-03-24

Family

ID=65896262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811021325.2A Active CN109586731B (zh) 2017-09-29 2018-09-03 用于解码纠错码的系统和方法

Country Status (2)

Country Link
US (1) US10574274B2 (zh)
CN (1) CN109586731B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872611A (zh) * 2021-12-02 2021-12-31 阿里云计算有限公司 一种ldpc解码方法、设备、系统及存储介质
WO2022033370A1 (zh) * 2020-08-14 2022-02-17 中兴通讯股份有限公司 数据处理方法及装置、译码器、网络设备和存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992477B2 (en) 2015-09-24 2018-06-05 Ouster, Inc. Optical system for collecting distance information within a field
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
US11025283B1 (en) 2020-02-26 2021-06-01 SK hynix, Inc. Decoding latency and throughput of a multi-decoder error correction system
US11375486B1 (en) * 2021-01-07 2022-06-28 Hong Kong Applied Science And Technology Research Institute Co., Ltd Method and device for detecting discontinuous transmission (DTX) assisted by noise estimation
US11664821B1 (en) * 2022-02-08 2023-05-30 SK Hynix Inc. Error floor performance of a bit flipping decoder through identifying unreliable check nodes

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669227A (zh) * 2002-07-03 2005-09-14 休斯电子公司 用于低密度奇偶校验码解码器中的路由的方法和系统
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN1996808A (zh) * 2006-01-05 2007-07-11 恩益禧电子股份有限公司 传输格式检测设备和方法
CN101064591A (zh) * 2006-04-24 2007-10-31 中兴通讯股份有限公司 低密度奇偶校验码的译码方法及其校验节点更新电路
CN101094001A (zh) * 2007-07-06 2007-12-26 北京航空航天大学 一种ldpc码的译码器装置及译码方法
CN101136639A (zh) * 2006-09-28 2008-03-05 美商威睿电通公司 用于降低复杂性的低密度奇偶校验解码的系统和方法
US20100058149A1 (en) * 2008-08-27 2010-03-04 Infineon Technologies Ag Decoder of error correction codes
US20100088575A1 (en) * 2008-10-07 2010-04-08 Eran Sharon Low density parity code (ldpc) decoding for memory with multiple log likelihood ratio (llr) decoders
CN101807929A (zh) * 2010-03-19 2010-08-18 中国人民解放军理工大学 低密度奇偶校验码的选择退火最小和译码方法
CN101836191A (zh) * 2008-08-15 2010-09-15 Lsi公司 使用多校验节点算法的纠错解码器
CN102017458A (zh) * 2006-01-23 2011-04-13 摩托罗拉移动公司 基于修改码字传输的先验知识在解码之前处理消息差值的装置和方法
CN102325001A (zh) * 2011-05-24 2012-01-18 东南大学 一种带宽自适应大迭代接收机
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US20130173985A1 (en) * 2011-12-30 2013-07-04 Biwoong CHUNG Method of reading data from storage device, error correction device and storage system including error correction code decoder
US8799742B1 (en) * 2007-07-30 2014-08-05 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
CN104393877A (zh) * 2014-12-03 2015-03-04 西安电子科技大学 基于加权的非规则ldpc码线性规划译码方法
CN104518801A (zh) * 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US20150227419A1 (en) * 2014-02-12 2015-08-13 Kabushiki Kaisha Toshiba Error correction decoder based on log-likelihood ratio data
CN105052066A (zh) * 2013-03-21 2015-11-11 马维尔国际贸易有限公司 用于多阶段软输入解码的系统和方法
US20160274971A1 (en) * 2015-03-20 2016-09-22 SK Hynix Inc. Ldpc decoder, semiconductor memory system and operating method thereof
CN106464268A (zh) * 2014-01-07 2017-02-22 南布列塔尼大学 非二进制ldpc码的解码
US20170093428A1 (en) * 2015-09-25 2017-03-30 SK Hynix Inc. Techniques for adaptive ldpc decoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4595650B2 (ja) * 2005-04-25 2010-12-08 ソニー株式会社 復号装置および復号方法
JP4293172B2 (ja) * 2005-09-13 2009-07-08 ソニー株式会社 復号装置および復号方法
US8281210B1 (en) * 2006-07-07 2012-10-02 Aquantia Corporation Optimized correction factor for low-power min-sum low density parity check decoder (LDPC)
US8312354B1 (en) * 2007-12-27 2012-11-13 Marvell International Ltd. Method and apparatus for improved performance of iterative decoders on channels with memory
KR20090126829A (ko) * 2008-06-05 2009-12-09 삼성전자주식회사 반복 복호 방법과 반복 복호 장치
US8291285B1 (en) * 2008-09-18 2012-10-16 Marvell International Ltd. Circulant processing scheduler for layered LDPC decoder
US9378765B2 (en) * 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9509342B2 (en) * 2014-06-02 2016-11-29 Sandisk Technologies Llc Error correcting code decoder
US9614547B2 (en) * 2014-06-30 2017-04-04 Sandisk Technologies Llc Multi-stage decoder
US20160020783A1 (en) * 2014-07-17 2016-01-21 Lsi Corporation Low Density Parity Check Decoder With Relative Indexing
CN106997777B (zh) * 2015-09-18 2021-01-05 爱思开海力士有限公司 具有改进的硬解码吞吐量的vss ldpc解码器

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669227A (zh) * 2002-07-03 2005-09-14 休斯电子公司 用于低密度奇偶校验码解码器中的路由的方法和系统
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN1996808A (zh) * 2006-01-05 2007-07-11 恩益禧电子股份有限公司 传输格式检测设备和方法
CN102017458A (zh) * 2006-01-23 2011-04-13 摩托罗拉移动公司 基于修改码字传输的先验知识在解码之前处理消息差值的装置和方法
CN101064591A (zh) * 2006-04-24 2007-10-31 中兴通讯股份有限公司 低密度奇偶校验码的译码方法及其校验节点更新电路
CN101136639A (zh) * 2006-09-28 2008-03-05 美商威睿电通公司 用于降低复杂性的低密度奇偶校验解码的系统和方法
CN101094001A (zh) * 2007-07-06 2007-12-26 北京航空航天大学 一种ldpc码的译码器装置及译码方法
US8799742B1 (en) * 2007-07-30 2014-08-05 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
CN101836191A (zh) * 2008-08-15 2010-09-15 Lsi公司 使用多校验节点算法的纠错解码器
US20100058149A1 (en) * 2008-08-27 2010-03-04 Infineon Technologies Ag Decoder of error correction codes
US20100088575A1 (en) * 2008-10-07 2010-04-08 Eran Sharon Low density parity code (ldpc) decoding for memory with multiple log likelihood ratio (llr) decoders
CN101807929A (zh) * 2010-03-19 2010-08-18 中国人民解放军理工大学 低密度奇偶校验码的选择退火最小和译码方法
CN102325001A (zh) * 2011-05-24 2012-01-18 东南大学 一种带宽自适应大迭代接收机
US20130173985A1 (en) * 2011-12-30 2013-07-04 Biwoong CHUNG Method of reading data from storage device, error correction device and storage system including error correction code decoder
CN105052066A (zh) * 2013-03-21 2015-11-11 马维尔国际贸易有限公司 用于多阶段软输入解码的系统和方法
CN104518801A (zh) * 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
CN106464268A (zh) * 2014-01-07 2017-02-22 南布列塔尼大学 非二进制ldpc码的解码
US20150227419A1 (en) * 2014-02-12 2015-08-13 Kabushiki Kaisha Toshiba Error correction decoder based on log-likelihood ratio data
CN104393877A (zh) * 2014-12-03 2015-03-04 西安电子科技大学 基于加权的非规则ldpc码线性规划译码方法
US20160274971A1 (en) * 2015-03-20 2016-09-22 SK Hynix Inc. Ldpc decoder, semiconductor memory system and operating method thereof
US20170093428A1 (en) * 2015-09-25 2017-03-30 SK Hynix Inc. Techniques for adaptive ldpc decoding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MOHAMMAD RAKIBUL ISLAM: "Difference to sum ratio factor based min-sum decoding for Low Density Parity Check Codes", 《2012 COMPUTING, COMMUNICATIONS AND APPLICATIONS CONFERENCE》 *
张勇: "自适应LDPC编译码技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
李荣春: "纠错码硬件加速器模板关键技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
王鸣洲: "高速LDPC编译码器的设计与FPGA实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022033370A1 (zh) * 2020-08-14 2022-02-17 中兴通讯股份有限公司 数据处理方法及装置、译码器、网络设备和存储介质
CN113872611A (zh) * 2021-12-02 2021-12-31 阿里云计算有限公司 一种ldpc解码方法、设备、系统及存储介质
CN113872611B (zh) * 2021-12-02 2022-04-15 阿里云计算有限公司 一种ldpc解码方法、设备、系统及存储介质

Also Published As

Publication number Publication date
CN109586731B (zh) 2023-03-24
US10574274B2 (en) 2020-02-25
US20190103885A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
CN109783270B (zh) 用于解码纠错码的系统和方法
CN109586731A (zh) 用于解码纠错码的系统和方法
CN109787639B (zh) 用于解码纠错码的系统和方法
CN102412847B (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
US10547332B2 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
KR101854954B1 (ko) 치환 소행렬의 합을 사용하는 체크섬
JP4402699B2 (ja) ノードメモリ基盤のldpcデコーダ及び復号方法
US7376885B2 (en) Memory efficient LDPC decoding methods and apparatus
US9015547B2 (en) Multi-level LDPC layered decoder with out-of-order processing
US7930621B2 (en) Systems and methods for LDPC decoding with post processing
EP2264907A2 (en) Methods and apparatus for decoding LDPC codes
CN110784231B (zh) 用于解码具有自生成对数似然比的纠错码的系统和方法
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
US20160020783A1 (en) Low Density Parity Check Decoder With Relative Indexing
CN109873646A (zh) 使用级联码的软芯片猎杀恢复
CN114866092A (zh) 基于高阶信息对码字进行解码
US20170338838A1 (en) Efficient convergence in iterative decoding
KR101657912B1 (ko) 비이진 저밀도 패리티 검사 코드의 복호화 방법
EP2989720A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
KR101218658B1 (ko) 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법
BR102017017551A2 (pt) Método de codificação de códigos ldpc com estrutura bidiagonal baseada em árvores

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200507

Address after: 2 / F, No.1, Lane 500, shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Yingren Technology (Shanghai) Co.,Ltd.

Address before: Greater Cayman, Cayman Islands

Applicant before: Nyquist Semiconductor Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 601-606, No. 40, Lane 565, Shengxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 201210 (nominal floor 6, actual floor 5)

Patentee after: Yingren Technology Co.,Ltd.

Address before: 2 / F, No.1, Lane 500, shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 201210

Patentee before: Yingren Technology (Shanghai) Co.,Ltd.