CN113872611B - 一种ldpc解码方法、设备、系统及存储介质 - Google Patents
一种ldpc解码方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN113872611B CN113872611B CN202111457500.4A CN202111457500A CN113872611B CN 113872611 B CN113872611 B CN 113872611B CN 202111457500 A CN202111457500 A CN 202111457500A CN 113872611 B CN113872611 B CN 113872611B
- Authority
- CN
- China
- Prior art keywords
- decoder
- decoding
- bit
- code word
- bit node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 17
- 208000011580 syndromic disease Diseases 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000000694 effects Effects 0.000 claims description 11
- 238000013138 pruning Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 239000007787 solid Substances 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种LDPC解码方法、设备、系统及存储介质。针对目标数据对应的LDPC码字,利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果。在多次解码操作的过程中,第一解码器可首先通过软解码纠正LDPC码字中的大部分错误,之后,可将输出结果传递至第二解码器中继续进行硬解码操作,而如果第二解码器仍未成功解码,则可继续将处理结果返回给第一解码器进行软解码操作,如此,两个解码器之间可构建起乒乓迭代结构,在给定的解码时间内,两个解码器可交替地不断纠正LDPC码字中的错误,从而可有效提高解码吞吐量,加速解码收敛,提高解码效率。
Description
技术领域
本申请涉及编解码技术领域,尤其涉及一种LDPC解码方法、设备、系统及存储介质。
背景技术
固态硬盘(SSD) 越来越广泛地用于数据中心的各种数据存储。固态硬盘中的NAND闪存是一种半导体原件,可能因时间和/或环境等因素而导致存储的数据发生失真,因此,需要在固态硬盘控制器中部署纠错机制。
目前常用LDPC(low-density parity check低密度奇偶校验码)来承担解码工作,现有的解决方案通常是使用位翻转解码器(Bit-flipping decoder,BFD)来进行硬解码,而在BFD处理失败的情况下,则需要启用置信传播解码器(Belief-propagation decoder,BPD)来重新进行软解码。这导致现有解决方案的解码吞吐量不足,解码效率较低,因此,固态硬盘的性能波动较大,无法满足数据中心的数据存储要求。
发明内容
本申请的多个方面提供一种LDPC解码方法、设备、系统及存储介质,用以提高LDPC解码效率。
本申请实施例提供一种LDPC解码方法,包括:
通过第一解码器获取目标数据对应的LDPC码字;
利用所述第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
将所述第一解码器在执行第一指定程度的软解码操作后仍未成功解码的情况下的输出结果,作为所述第二解码器的输入;
将所述第二解码器在执行第二指定程度的硬解码操作后仍未成功解码的情况下的输出结果,作为所述第一解码器的输入。
本申请实施例还提供一种计算设备,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
通过第一解码器获取目标数据对应的LDPC码字;
利用所述第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
将所述第一解码器在执行第一指定程度的软解码操作后仍未成功解码的情况下的输出结果,作为所述第二解码器的输入;
将所述第二解码器在执行第二指定程度的硬解码操作后仍未成功解码的情况下的输出结果,作为所述第一解码器的输入。
本申请实施例还提供一种解码系统,包括:第一解码器和第二解码器;
所述第一解码器用于获取目标数据对应的LDPC码字;
所述第一解码器和所述第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
所述第一解码器在执行第一指定程度的软解码操作后仍未成功解码的情况下,将输出结果作为所述第二解码器的输入;
所述第二解码器在执行第二指定程度的硬解码操作后仍未成功解码的情况下,将输出结果作为所述第一解码器的输入。
本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的LDPC解码方法。
在本申请实施例中,针对目标数据对应的LDPC码字,利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果。其中,在多次解码操作的过程中,第一解码器可首先对LDPC码字进行软解码操作,以纠正LDPC码字中的大部分错误,之后,可将部分纠错后产生的码字传递至第二解码器中继续进行硬解码操作,而如果第二解码器仍未成功解码,则可继续将处理结果返回给第一解码器进行软解码操作,如此,第一解码器和第二解码器之间可构建起乒乓迭代结构,在给定的解码时间内,第一解码器和第二解码器可交替地不断纠正LDPC码字中的错误,从而可有效提高解码吞吐量,加速解码收敛,提高解码效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种解码系统的结构示意图;
图2为本申请一示例性实施例提供的一种第一解码器和第二解码器之间传输输出结果的方案示意图;
图3为本申请一示例性实施例提供的一种翻转位选择器的部署方案示意图;
图4为本申请另一示例性实施例提供的一种LDPC解码方法的流程示意图;
图5为本申请一示例性实施例提供的一种应用场景示意图;
图6为本申请又一示例性实施例提供的一种计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,LDPC解码方案的解码吞吐量不足,解码效率不佳。为此,本申请的一些实施例中:针对目标数据对应的LDPC码字,利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果。其中,在多次解码操作的过程中,第一解码器可首先对LDPC码字进行软解码操作,以纠正LDPC码字中的大部分错误,之后,可将部分纠错后产生的码字传递至第二解码器中继续进行硬解码操作,而如果第二解码器仍未成功解码,则可继续将处理结果返回给第一解码器进行软解码操作,如此,第一解码器和第二解码器之间可构建起乒乓迭代结构,在给定的解码时间内,第一解码器和第二解码器可交替地不断纠正LDPC码字中的错误,从而可有效提高解码吞吐量,加速解码收敛,提高解码效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种解码系统的结构示意图。如图1所示,该系统包括:第一解码器10和第二解码器20,其中,第一解码器10可用于提供软解码服务,第二解码器20可用于提供硬解码服务。例如,第一解码器10可采用置信传播解码器(Belief-propagation decoder,BPD),当然,还可采用其它软解码器;第二解码器20可采用位翻转解码器(Bit-flipping decoder,BFD),当然,还可采用其它硬解码器。第一解码器10和第二解码器20作为LDPC解码器,均可采用多个位节点(有时也称为可变节点、变量节点等)和校验节点。其中,位节点可用于生成和/或存储潜在的码位,校验节点可使用校验方程对位节点上的内容的不同组合执行奇偶校验。
本实施例提供的解码系统可应用于对固态硬盘中ECC引擎的优化场景,ECC是“Error Correcting Code”的简写,ECC是一种能够实现“错误检查和纠正”的技术。固态硬盘中的ECC引擎可采用本实施例提供的解码系统以提供LDPC解码方案,从而优化ECC引擎的解码效率,进而改善固态硬盘的性能。而固态硬盘的应用领域广泛,例如,云存储、数据中心等场景中均可使用固态硬盘,相应地,本实施例提供的解码系统可通过提高固态硬盘的性能来改善这些应用场景中的服务质量。
为此,本实施例中,可通过第一解码器10获取目标数据对应的LDPC码字。其中,目标数据可以是指从存储设备中读取出的数据。在数字电路中,最小的数据单位为“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据的高、低电平信号,这样,通过采用数据“位”来表示目标数据,可获得目标数据对应的LDPC码字。后续将针对LDPC码字执行LDPC解码。
本实施例中,可首先由第一解码器10对LDPC码字执行第一指定程度的软解码操作。其中,第一指定程度的软解码操作可以是按照软解码逻辑对输入码字(这里是指LDPC码字)执行指定次数的迭代处理,例如,一次迭代处理。其中,单次迭代处理中包含多次尝试计算,每次尝试计算用于判决进行翻转的位节点。当然,第一指定程度的软解码操作还可以是在指定时间内按照软解码逻辑对输入码字(这里指LDPC码字)执行迭代处理,本实施例并不限于此。
在第一解码器10对LDPC码字执行第一指定程度的软解码操作后,可判断第一解码器10是否成功解码。在一种可选的实现方案中:可计算第一解码器10的输出码字对应的向量与校验矩阵之间的乘积,以产生第一综合征,第一综合征用于表征第一解码器10中各个校验节点的解析状态;若第一综合征为0,说明校验节点均通过校验,则确定第一解码器10成功解码;若第一综合征为非0,说明仍存在未通过校验的校验节点,则确定第一解码器10未成功解码。其中,第一解码器10的输出码字的产生方案将在后文中进行说明。在该实现方案中,第一综合征的计算过程可采用全矩阵计算,也即是需要将输出码字对应的向量与校验矩阵的全矩阵进行相乘。举例来说,若第一解码器10的输出码字对应的向量为【1,2…n】,校验矩阵为n*m的矩阵,则将【1,2…n】与n*m的校验矩阵相乘后获得的1*m矩阵,即可作为第一综合征。当然,这仅是示例性的,本实施例中判断第一解码器10是否成功解码的实现方式并不限于此。
经过判断后,可能出现两种情况:一种是成功解码,这种情况下,可输出解码出的码字,作为LDPC码字对应的解码结果;另一种是未成功解码,这种情况下,第一解码器10的输出结果,可作为第二解码器20的输入,并由第二解码器20接续进行硬解码操作。应当理解的是,本实施例中,第一解码器10对LDPC码字执行软解码操作的目标并不是一定要成功解码,而是完成第一指定程度的软解码操作即可暂停软解码,并将输出结果交由第二解码器20进行接续处理。实际应用中,经过第一解码器10的软解码操作,可纠正LDPC码字中的大部分错误,这可有效降低第二解码器20的解码压力,从而有助于第二解码器20的解码收敛。
对于第二解码器20来说,在接收到第一解码器10的输出结果后,可对该输出结果执行第二指定程度的硬解码操作。同样,第二指定程度的硬解码操作可以是按照硬解码逻辑对输入码字(这里指第一解码器10的输出结果)执行指定次数的迭代处理。其中,单次迭代处理中包含多次尝试计算,每次尝试计算用于判决进行翻转的位节点。当然,第二指定程度的硬解码操作还可以是在指定时间内按照硬解码逻辑对输入码字(这里指第一解码器10的输出结果)执行迭代处理,本实施例并不限于此。
在第二解码器20对LDPC码字执行第二指定程度的硬解码操作后,可判断第二解码器20是否成功解码。在一种可选的实现方案中:可确定发生翻转的位节点;根据发生翻转的位节点在第二解码器20的输出码字对应的向量中的元素以及校验矩阵中与发生翻转的位节点关联的校验节点对应的元素,计算第二综合征,第二综合征用于表征与发生翻转的位节点关联的校验节点的解析状态;若第二综合征为0,则确定第二解码器20成功解码;若第二综合征为非0,则确定第二解码器20未成功解码。在该实现方案中,第二综合征的计算过程可采用非全矩阵计算。举例来说,若第二解码器20的输出码字对应的向量为【1,2…n】,校验矩阵为n*m的矩阵,若第二解码器20经过硬解码操作后确定出需要仅需翻转的位节点有p个,则仅需将n*m的校验矩阵中与p个位节点关联的校验节点所在的行与【1,2…n】仅需相乘,即可作为第二综合征,而无需仅需全矩阵计算。当然,这仅是示例性的,本实施例中判断第二解码器20是否成功解码的实现方式并不限于此。
经过判断后,可能出现两种情况:一种是成功解码,这种情况下,可输出解码出的码字,作为LDPC码字对应的解码结果;另一种是未成功解码,这种情况下,第二解码器20的输出结果,可作为第一解码器10的输入,并由第一解码器10接续进行软解码操作。应当理解的是,本实施例中,第二解码器20对输入码字执行软解码操作的目标也并不是一定要成功解码,而是完成第二指定程度的硬解码操作即可暂停硬解码,并将输出结果交由第一解码器10进行接续处理。由于第二解码器20的硬解码操作可更加高效地纠正错误,因此,经过第二解码器20接续纠错后的输出结果中的错误将进一步减少,这可有效降低第一解码器10的解码压力,从而有助于第一解码器10的解码收敛。
此后,参考图1,第一解码器10依然有可能未成功解码,这种情况下,第一解码器10可继续将输出结果提供给第二解码器20进行接续解码,如果第二解码器20仍未成功解码,还可在返回第一解码器10中再进行接续解码,如此,第一解码器10和第二解码器20之间构建起了乒乓迭代结构,在给定的解码时间内,第一解码器10和第二解码器20可交替地不断纠正LDPC码字中的错误,从而加速对方的解码收敛。其中,乒乓迭代结构中,每次解码操作的解码程度可按需进行指定,不同次软解码的程度可不完全相同,不同次硬解码的程度也可不完全相同,本实施例对此不做限定。
这样,本实施例中,可利用第一解码器10和第二解码器20协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果。其中,解码终止条件可包括第一解码器10和第二解码器20中的任意一个成功解码,或者解码时间耗尽,当然,本实施例并不限于此。
另外,本实施例中,单个第一解码器10可与多个第二解码器20分别构建乒乓迭代结构。而且,在单个乒乓迭代结构中,可同时处理两个码字,在同一时刻,其中一个码字可在第一解码器10进行软解码操作,而另一个码字则可在第二解码器20中进行硬解码操作,两个码字的解码操作过程互不影响,而通过乒乓迭代结构,两个码字可在两个解码器之间交替,以保证两个码字的解码操作并行,这可有效提高解码系统的解码吞吐量,从而提高解码效率。
据此,本实施例中,针对目标数据对应的LDPC码字,利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果。其中,在多次解码操作的过程中,第一解码器可首先对LDPC码字进行软解码操作,以纠正LDPC码字中的大部分错误,之后,可将部分纠错后产生的码字传递至第二解码器中继续进行硬解码操作,而如果第二解码器仍未成功解码,则可继续将处理结果返回给第一解码器进行软解码操作,如此,第一解码器和第二解码器之间可构建起乒乓迭代结构,在给定的解码时间内,第一解码器和第二解码器可交替地不断纠正LDPC码字中的错误,从而可积累来自不同贡献者(解码器)的持续纠错能力,进而有效提高解码吞吐量,加速解码收敛,提高解码效率。尤其对于噪声较多的情况来说,传统的LDPC解码方案几乎完全依赖软解码,这需要消耗大量的计算资源和解码时间,而本实施例提供的乒乓迭代结构,可有效节省解码时间,而且,由于第一解码器在噪声更少的情况下的资源消耗更好,因此,第一解码器的非首次软解码操作所需的解码时间和计算资源将不断减少,从而提高解码效率。
在上述或下述实施例中,第一解码器和第二解码器之间可采用多种实现方式来传递输出结果,以支持乒乓迭代结构。
图2为本申请一示例性实施例提供的一种第一解码器和第二解码器之间传输输出结果的方案示意图。参考图2,第一解码器可根据软解码操作产生的软信息产生符合第二解码器输入要求的输出码字;同样,第二解码器可根据硬解码操作产生的输出码字,构建第一解码器所需的软信息,以支持第一解码器的输入要求。
在一可选实现方式中,从第一解码器一侧来说,在第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,可从第一解码器中获取最新的软信息;根据最新的软信息对第一解码器中各个位节点上的内容执行软判决操作,以产生第一解码器的输出结果。例如,第一解码器采用BPD的情况下,软信息可以是置信度信息,BPD在进行软解码的过程中,会在位节点和校验节点周围传递置信度信息,这里,可在第一解码器停止软解码操作时,获取最新的置信度信息,并根据最新的置信度信息执行一次软判决操作。一种示例性的软判决操作可以是:遍历第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出每一个位节点的位符号,以产生输出码字,作为第一解码器的输出结果。这样,可根据第一解码器中最新的软信息对每一个位节点进行位符号修剪,从而根据软信息产生第一解码器的输出码字,该输出码字符合第二解码器的输入要求。另外,还可擦除第一解码器的软解码操作产生的软信息。
基于此,在从第一解码器向第二解码器进行乒乓传递的过程中,可将第一解码器产生的软信息转变至第一解码器的输出码字中,作为第二解码器的输入,以满足第二解码器的输入要求。第二解码器可完整地、准确地感知到第一解码器已经完成的解码工作,从而在此基础上接续执行解码工作。
从第二解码器一侧来说,则可在第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,从第二解码器中获取每一个位节点对应的最新的位符号,以产生输出码字,作为第二解码器的输出结果。另外,还根据第二解码器的输出码字,为输出码字中的每一个码位分配软信息,并将软信息和输出码字共同作为第一解码器的输入。以后总示例性的分配软信息的方案可以是:在第二解码器中每一个位节点上,评估第二解码器所执行的硬解码操作的解码效果;根据解码效果,为每一个位节点分配软信息。其中,为每个位节点分配软信息即对应于为输出码字的每个码位分配软信息。实际应用中,至少可从奇偶校验满意度、NAND重读、陷阱集拓扑等几个方面来评估第二解码器所执行的硬解码操作的解码效果。以奇偶校验满意度为例,硬解码操作可确定出多个需要进行翻转的位节点,如果对某个位节点进行翻转后,验证成功的校验节点增多,说明解码效果较好,则可为该位节点分配振幅更高一点的软信息,否则,将会为改为节点分配振幅更低一点的软信息,这样,可通过感知校验节点的收敛情况,来为位节点分配软信息。
基于此,在从第二解码器向第一解码器进行乒乓传递的过程中,可以第二解码器的输出码字和为该输出码字分配的软信息,作为第一解码器的输入,以满足第一解码器的输入要求。第一解码器可完整地、准确地感知到第二解码器已经完成的解码工作,从而在此基础上接续执行解码工作。
据此,本实施例中,可通过对软信息的构建和转变,实现在第一解码器和第二解码器之间传递各自的输出结果,从而满足第一解码器和第二解码器的输入要求,支持第一解码器和第二解码器之间的乒乓迭代结构。
在上述或下述实施例中,可将软解码和硬解码过程中涉及到的翻转位选择操作进行公用化,在解码系统中部署翻转位选择器,翻转位选择器可用于提供翻转位选择服务。
图3为本申请一示例性实施例提供的一种翻转位选择器的部署方案示意图。参考图3,翻转位选择器(flipping candidate selection)可为多个第二解码器提供翻转位选择服务。基于此,在第二解码器执行硬解码的过程中,第二解码器可调用翻转位选择器在硬解码过程中选择进行翻转的位节点,以对选中的翻转位进行位符号翻转而确定出所述每一个位节点对应的位符号。参考图3,翻转位选择器可为多个第二解码器提供翻转位选择服务,具体地,翻转位选择器可采用分时复用的方式为多个第二解码器提供翻转位选择服务。另外,第一解码器执行软解码过程中涉及到的翻转位选择操作也可通过调用翻转位选择器来进行。
其中,本实施例中的翻转位选择器的处理逻辑可搬移第一解码器和/或第二解码器中原本部署的翻转位选择功能的相关处理逻辑,并额外增加分时复用功能即可,在此对翻转位选择器的处理逻辑不再展开详述。
这样,本实施例中,可将翻转位选择工作部署为独立服务,多次解码操作可复用同一翻转位选择器,这样,第一解码器和第二解码器中可无需再部署翻转位选择功能,从而可有效节省硬件成本。
图4为本申请另一示例性实施例提供的一种LDPC解码方法的流程示意图。参考图4,该方法可包括:
步骤400、通过第一解码器获取目标数据对应的LDPC码字;
步骤401、利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果;
在多次解码操作过程中:
将第一解码器在执行第一指定程度的软解码操作后仍未成功解码的情况下的输出结果,作为第二解码器的输入;
将第二解码器在执行第二指定程度的硬解码操作后仍未成功解码的情况下的输出结果,作为第一解码器的输入。
在一可选实施例中,解码终止条件包括第一解码器和第二解码器中的任意一个成功解码,或者解码时间耗尽。
在一可选实施例中,该方法还包括:
在第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,从第一解码器中获取最新的软信息;
根据最新的软信息对第一解码器中各个位节点上的内容执行软判决操作,以产生第一解码器的输出结果。
在一可选实施例中,步骤根据最新的软信息执行判决操作,以产生第一解码器的输出结果,包括:
遍历第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出每一个位节点的位符号,以产生输出码字,作为第一解码器的输出结果。
在一可选实施例中,该方法还包括:
在第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,从第二解码器中获取每一个位节点对应的最新的位符号,以产生输出码字,作为第二解码器的输出结果。
在一可选实施例中,该方法还包括:
在第二解码器中每一个位节点上,评估第二解码器所执行的硬解码操作的解码效果;
根据解码效果,为每一个位节点分配软信息;
将每一个位节点上的软信息同第二解码器的输出结果一起作为第一解码器的输入。
在一可选实施例中,步骤从第二解码器中获取每一个位节点对应的最新的位符号,包括:
利用第二解码器调用翻转位选择器在硬解码操作过程中选择进行翻转的位节点,以供第二解码器对选中的翻转位进行位符号翻转而确定出每一个位节点对应的位符号;
其中,翻转位选择器还用于为其它解码器提供翻转位选择服务。
在一可选实施例中,第一解码器执行第一指定程度的软解码操作过程,包括:
在第一解码器中,按照软解码逻辑对输入码字执行指定次数的迭代处理;在非首次软解码操作中,输入码字为第二解码器的输出结果;
其中,单次迭代处理中包含多次尝试计算,每次尝试计算用于判决进行翻转的位节点。
在一可选实施例中,该方法还包括:
在第一解码器执行第一指定程度的软解码操作后,计算输出码字对应的向量与校验矩阵之间的乘积,以产生第一综合征,第一综合征用于表征第一解码器中各个校验节点的解析状态;
若第一综合征为0,则确定第一解码器成功解码;
若第一综合征为非0,则确定第一解码器未成功解码。
在一可选实施例中,该方法还包括:
在第二解码器执行第二指定程度的硬解码操作后,确定发生翻转的位节点;
根据发生翻转的位节点在输出码字对应的向量中的元素以及校验矩阵中与发生翻转的位节点关联的校验节点对应的元素,计算第二综合征,第二综合征用于表征与发生翻转的位节点关联的校验节点的解析状态;
若第二综合征为0,则确定第二解码器成功解码;
若第二综合征为非0,则确定第二解码器未成功解码。
图5为本申请一示例性实施例提供的一种应用场景示意图。参考图5,该应用场景可以是固态硬盘的ECC引擎优化场景,ECC引擎可采用图5所示的LDPC解码方式来进行LDPC解码,以支持固态硬盘的性能。其中,第一解码器采用置信传播解码器BPD,软信息采用对数似然比LLR,第二解码器采用位翻转解码器BFD。参考图5,该应用场景中,LDPC解码方案的步骤可包括:
1、将初始LLR分配到LDPC码字中的码位上,并进入BPD;
2、BPD完成一次迭代处理以获得具有LLR和计算综合征的更新后码位;
3、判断是否成功解码,如果未成功,则进入4,如果成功,则进入11;
4、将每个LLR的振幅与阈值进行比较,如果小于,则将LLR对应的位符号修剪为0;擦除所有的LLR;将修剪后产生的输出码字输入BFD;
5、BFD对输入码字进行硬解码操作;
6、判断是否成功解码,如果未成功,则进入7,如果成功,则进入11;
7、为输出码字的每一个码位分配LLR,并输入BPD;
8、判断BPD是否成功解码,如果未成功,则进入9,如果成功则进入11;
9、判断是否超过解码时间,如果是,则进入10;如果否,则返回执行4;
10、报告解码失败并启动数据恢复处理;
11、成功解码,输出解码后的码字;
12、解码退出,发送解码结果和状态。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的解码器、综合征等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请又一示例性实施例提供的一种计算设备的结构示意图。如图6所示,该计算设备包括:存储器60和处理器61。
处理器61,与存储器60耦合,用于执行存储器60中的计算机程序,以用于:
通过第一解码器获取目标数据对应的LDPC码字;
利用第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出LDPC码字对应的解码结果;
在多次解码操作过程中:
将第一解码器在执行第一指定程度的软解码操作后仍未成功解码的情况下的输出结果,作为第二解码器的输入;
将第二解码器在执行第二指定程度的硬解码操作后仍未成功解码的情况下的输出结果,作为第一解码器的输入。
在一可选实施例中,解码终止条件包括第一解码器和第二解码器中的任意一个成功解码,或者解码时间耗尽。
在一可选实施例中,处理器61还用于:
在第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,从第一解码器中获取最新的软信息;
根据最新的软信息对第一解码器中各个位节点上的内容执行软判决操作,以产生第一解码器的输出结果。
在一可选实施例中,处理器61在根据最新的软信息执行判决操作,以产生第一解码器的输出结果过程中,可用于:
遍历第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出每一个位节点的位符号,以产生输出码字,作为第一解码器的输出结果。
在一可选实施例中,处理器61还用于:
在第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,从第二解码器中获取每一个位节点对应的最新的位符号,以产生输出码字,作为第二解码器的输出结果。
在一可选实施例中,处理器61还用于:
在第二解码器中每一个位节点上,评估第二解码器所执行的硬解码操作的解码效果;
根据解码效果,为每一个位节点分配软信息;
将每一个位节点上的软信息同第二解码器的输出结果一起作为第一解码器的输入。
在一可选实施例中,步处理器61在从第二解码器中获取每一个位节点对应的最新的位符号过程中,可用于:
利用第二解码器调用翻转位选择器在硬解码操作过程中选择进行翻转的位节点,以供第二解码器对选中的翻转位进行位符号翻转而确定出每一个位节点对应的位符号;
其中,翻转位选择器还用于为其它解码器提供翻转位选择服务。
在一可选实施例中,处理器61在利用第一解码器执行第一指定程度的软解码操作过程,可用于:
在第一解码器中,按照软解码逻辑对输入码字执行指定次数的迭代处理;在非首次软解码操作中,输入码字为第二解码器的输出结果;
其中,单次迭代处理中包含多次尝试计算,每次尝试计算用于判决进行翻转的位节点。
在一可选实施例中,处理器61还用于:
在第一解码器执行第一指定程度的软解码操作后,计算输出码字对应的向量与校验矩阵之间的乘积,以产生第一综合征,第一综合征用于表征第一解码器中各个校验节点的解析状态;
若第一综合征为0,则确定第一解码器成功解码;
若第一综合征为非0,则确定第一解码器未成功解码。
在一可选实施例中,处理器61还用于:
在第二解码器执行第二指定程度的硬解码操作后,确定发生翻转的位节点;
根据发生翻转的位节点在输出码字对应的向量中的元素以及校验矩阵中与发生翻转的位节点关联的校验节点对应的元素,计算第二综合征,第二综合征用于表征与发生翻转的位节点关联的校验节点的解析状态;
若第二综合征为0,则确定第二解码器成功解码;
若第二综合征为非0,则确定第二解码器未成功解码。
进一步,如图6所示,该计算设备还包括:通信组件62、电源组件63等其它组件。图6中仅示意性给出部分组件,并不意味着计算设备只包括图6所示组件。
值得说明的是,上述关于计算设备各实施例中的技术细节,可参考前述的系统实施例和方法实施例中的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由计算设备执行的各步骤。
上述图6中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图6中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种LDPC解码方法,包括:
通过第一解码器获取目标数据对应的LDPC码字;
利用所述第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
在所述第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,从所述第一解码器中获取最新的软信息,遍历所述第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出所述每一个位节点的位符号,以产生输出码字,作为所述第一解码器的输出结果,并作为所述第二解码器的输入;
在所述第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,获取根据每一个位节点对应的最新的位符号而产生的输出码字以及通过在所述第二解码器中每一个位节点上评估所述第二解码器所执行的硬解码操作的解码效果而为所述每一个位节点分配的软信息,作为所述第二解码器的输出结果,并作为所述第一解码器的输入。
2.根据权利要求1所述的方法,所述解码终止条件包括所述第一解码器和所述第二解码器中的任意一个成功解码,或者解码时间耗尽。
3.根据权利要求1所述的方法,所述从所述第二解码器中获取每一个位节点对应的最新的位符号,包括:
利用所述第二解码器调用翻转位选择器在所述硬解码操作过程中选择进行翻转的位节点,以供第二解码器对选中的翻转位进行位符号翻转而确定出所述每一个位节点对应的位符号;
其中,所述翻转位选择器还用于为其它解码器提供翻转位选择服务。
4.根据权利要求1所述的方法,所述第一解码器执行第一指定程度的软解码操作过程,包括:
在所述第一解码器中,按照软解码逻辑对输入码字执行指定次数的迭代处理;在非首次软解码操作中,所述输入码字为所述第二解码器的输出结果;
其中,单次迭代处理中包含多次尝试计算,每次尝试计算用于判决进行翻转的位节点。
5.根据权利要求1所述的方法,还包括:
在所述第一解码器执行第一指定程度的软解码操作后,计算输出码字对应的向量与校验矩阵之间的乘积,以产生第一综合征,所述第一综合征用于表征所述第一解码器中各个校验节点的解析状态;
若所述第一综合征为0,则确定所述第一解码器成功解码;
若所述第一综合征为非0,则确定所述第一解码器未成功解码。
6.根据权利要求1所述的方法,还包括:
在所述第二解码器执行第二指定程度的硬解码操作后,确定发生翻转的位节点;
根据发生翻转的位节点在输出码字对应的向量中的元素以及校验矩阵中与发生翻转的位节点关联的校验节点对应的元素,计算第二综合征,所述第二综合征用于表征所述与发生翻转的位节点关联的校验节点的解析状态;
若所述第二综合征为0,则确定所述第二解码器成功解码;
若所述第二综合征为非0,则确定所述第二解码器未成功解码。
7.一种计算设备,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
通过第一解码器获取目标数据对应的LDPC码字;
利用所述第一解码器和第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
在所述第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,从所述第一解码器中获取最新的软信息,遍历所述第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出所述每一个位节点的位符号,以产生输出码字,作为所述第一解码器的输出结果,并作为所述第二解码器的输入;
在所述第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,获取根据每一个位节点对应的最新的位符号而产生的输出码字以及通过在所述第二解码器中每一个位节点上评估所述第二解码器所执行的硬解码操作的解码效果而为所述每一个位节点分配的软信息,作为所述第二解码器的输出结果,作为所述第一解码器的输入。
8.一种解码系统,包括:第一解码器和第二解码器;
所述第一解码器用于获取目标数据对应的LDPC码字;
所述第一解码器和所述第二解码器协作进行多次解码操作,直至达到预设的解码终止条件后,输出所述LDPC码字对应的解码结果;
在所述多次解码操作过程中:
在所述第一解码器执行第一指定程度的软解码操作后仍未成功解码的情况下,从所述第一解码器中获取最新的软信息,遍历所述第一解码器中的每一个位节点,若当前位节点上最新的软信息的振幅小于预设的振幅阈值,则将当前位节点的位符号修剪为0,直至判决出所述每一个位节点的位符号,以产生输出码字,作为所述第一解码器的输出结果,并作为所述第二解码器的输入;
在所述第二解码器执行第二指定程度的硬解码操作后仍未成功解码的情况下,获取根据每一个位节点对应的最新的位符号而产生的输出码字以及通过在所述第二解码器中每一个位节点上评估所述第二解码器所执行的硬解码操作的解码效果而为所述每一个位节点分配的软信息,作为所述第二解码器的输出结果,并作为所述第一解码器的输入。
9.一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-6任一项所述的LDPC解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111457500.4A CN113872611B (zh) | 2021-12-02 | 2021-12-02 | 一种ldpc解码方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111457500.4A CN113872611B (zh) | 2021-12-02 | 2021-12-02 | 一种ldpc解码方法、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872611A CN113872611A (zh) | 2021-12-31 |
CN113872611B true CN113872611B (zh) | 2022-04-15 |
Family
ID=78985550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111457500.4A Active CN113872611B (zh) | 2021-12-02 | 2021-12-02 | 一种ldpc解码方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872611B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105052066A (zh) * | 2013-03-21 | 2015-11-11 | 马维尔国际贸易有限公司 | 用于多阶段软输入解码的系统和方法 |
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN109586731A (zh) * | 2017-09-29 | 2019-04-05 | 奈奎斯特半导体有限公司 | 用于解码纠错码的系统和方法 |
CN109783270A (zh) * | 2017-11-14 | 2019-05-21 | 奈奎斯特半导体有限公司 | 用于解码纠错码的系统和方法 |
CN111416626A (zh) * | 2020-02-21 | 2020-07-14 | 中国科学院微电子研究所 | 一种ldpc码的译码方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5132758B2 (ja) * | 2010-12-13 | 2013-01-30 | 株式会社東芝 | 誤り訂正復号器及び記憶装置 |
US20170288698A1 (en) * | 2016-03-29 | 2017-10-05 | Silicon Motion Inc. | Power saving for bit flipping decoding algorithm in ldpc decoder |
-
2021
- 2021-12-02 CN CN202111457500.4A patent/CN113872611B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105052066A (zh) * | 2013-03-21 | 2015-11-11 | 马维尔国际贸易有限公司 | 用于多阶段软输入解码的系统和方法 |
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN109586731A (zh) * | 2017-09-29 | 2019-04-05 | 奈奎斯特半导体有限公司 | 用于解码纠错码的系统和方法 |
CN109783270A (zh) * | 2017-11-14 | 2019-05-21 | 奈奎斯特半导体有限公司 | 用于解码纠错码的系统和方法 |
CN111416626A (zh) * | 2020-02-21 | 2020-07-14 | 中国科学院微电子研究所 | 一种ldpc码的译码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113872611A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bae et al. | An overview of channel coding for 5G NR cellular communications | |
US10361718B2 (en) | Apparatus and method for encoding with cyclic redundancy check and polar code | |
US11025278B2 (en) | Polar coding encoding/decoding method and apparatus | |
US10411735B1 (en) | Systems and methods for an iterative decoding scheme | |
RU2369008C2 (ru) | Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока | |
WO2017127973A1 (en) | Generation of polar codes with a variable block length utilizing puncturing | |
US11133828B2 (en) | Coding method and apparatus | |
US10790857B1 (en) | Systems and methods for using decoders of different complexity in a hybrid decoder architecture | |
US11496156B2 (en) | Data processing method and device | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
US10548158B2 (en) | Message passing algorithm decoder and methods | |
US11811422B2 (en) | Information processing method and device and computer storage medium | |
US8051356B2 (en) | Apparatus and method for receiving signal in a communication system | |
US20100153811A1 (en) | Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof | |
US11177834B2 (en) | Communication method and apparatus using polar codes | |
CN111082812A (zh) | 使用路径度量解码输入数据的设备及使用其的解码方法 | |
US9219501B2 (en) | LDPC encoding/decoding method and device using same | |
CN108370253B (zh) | 用于低密度奇偶校验解码的混合式调度和基于锁存器的流水线 | |
KR20200127783A (ko) | 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 | |
CN113872611B (zh) | 一种ldpc解码方法、设备、系统及存储介质 | |
CN111277355B (zh) | 一种tpc译码中纠死锁的方法及装置 | |
KR102045438B1 (ko) | Ldpc 부호의 복호를 위한 방법 및 장치 | |
KR102115216B1 (ko) | 극부호 복호 장치 및 방법 | |
WO2021210079A1 (en) | Communication method and device using recurrent decoding iterations for polar codes | |
KR102163876B1 (ko) | Ldpc 부호화, 복호화 방법 및 그 방법을 이용하는 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40064986 Country of ref document: HK |