CN110784231A - 用于解码具有自生成对数似然比的纠错码的系统和方法 - Google Patents

用于解码具有自生成对数似然比的纠错码的系统和方法 Download PDF

Info

Publication number
CN110784231A
CN110784231A CN201910465431.8A CN201910465431A CN110784231A CN 110784231 A CN110784231 A CN 110784231A CN 201910465431 A CN201910465431 A CN 201910465431A CN 110784231 A CN110784231 A CN 110784231A
Authority
CN
China
Prior art keywords
decoding
decision decoding
codeword
bit
soft
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
CN201910465431.8A
Other languages
English (en)
Other versions
CN110784231B (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 CN110784231A publication Critical patent/CN110784231A/zh
Application granted granted Critical
Publication of CN110784231B publication Critical patent/CN110784231B/zh
Active 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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

提供了用于解码由线性块码编码的码字的系统和方法。一种方法可以包括:对码字执行硬判决解码,记录该码字的每个比特的翻转次数,基于所述每个比特的翻转次数生成对应于每个比特的可靠性信息,根据切换规则确定切换到软判决解码,并使用该每个比特的可靠性信息对该码字执行软判决解码。

Description

用于解码具有自生成对数似然比的纠错码的系统和方法
技术领域
本公开涉及解码用奇偶校验数据编码的码字,特别涉及使用从硬判决解码生成的对数似然比(LLR)解码码字。
背景技术
对于许多数据通信或存储系统的一个常见的问题是数据损坏,例如通信信道中的噪声或存储系统中的写/读过程。解决数据损坏的一种技术是使用纠错码(Error-correcting code,ECC)或前向纠错(Forward error correction,FEC)码。ECC和FEC都将冗余数据或奇偶校验数据添加到用户数据中,使得即使在例如在存储器上传输或损坏的过程期间引入许多错误(直到达到所使用代码的能力为止)时,接收器或读取器也可以恢复用户数据。
多年来,已经开发了许多不同的编码方案,例如汉明(Hamming)码、里德-所罗门(Reed-Solomoncode)码、Turbo码等。最近,低密度奇偶校验(LDPC)码已经被广泛使用。然而,所有这些编码都计算复杂,并且使用这些编码的技术仍然需要改进。
发明内容
本文公开了一种ECC码的解码器,其可以在码字中为每个码元(在二进制实现中也可以称为比特)生成可靠性信息,并使用所生成的可靠性信息来实现更好的解码性能。根据本公开的示例性ECC解码器可以以两种操作模式:硬判决和软判决。在一个实施例中,在解码过程期间软数据生成器可以使用硬判决信息来生成每个硬判决信息比特的可靠性信息。生成的可靠性信息(例如可以是似然对数比)可以存储在软数据缓冲器中。第一切换规则可以将所生成的可靠性信息考虑用于下一次解码迭代,并且可以被应用于从硬判决解码切换到软判决解码。在实现基于层(行)或基于列的解码的一个实施例中,所生成的可靠性信息可以根据第一切换规则被用于解码处理的下一层(或下数层)或下一列(或下数列)中。在一些实施例中,可以应用第二切换规则以从软判决解码切换回硬判决解码。
根据本公开的示例性ECC解码器可以被应用于非易失性存储控制器和通信信号处理器中。在不提供软数据信息的非易失性存储系统中,一个实施例可以使用自生成的软数据信息来实现更好的性能。在支持软数据信息的非易失性存储系统中,一个实施例可以通过避免重新读取非易失性存储来减少整体解码等待时间。
本发明可以包括一种方法,包括:对码字执行硬判决解码,记录码字的每个比特的翻转次数,基于每个比特的翻转次数生成对应于每个比特的可靠性信息,根据切换规则确定切换到软判决解码,以及使用每个比特的可靠性信息对该码字执行软判决解码。
根据一个实施例,该切换规则可以包括针对在当前解码进程中累计的该码字的所有比特的翻转总数的门限数值。
根据一个实施例,该当前解码进程可以是基于硬判决解码的某一种配置的一次迭代,一个或多个层,或者一个或多个列。
根据一个实施例,该门限数值可以基于用于校验该码字的奇偶校验矩阵的形状和/或特征来配置。
根据一个实施例,该门限数值可以基于奇偶校验矩阵的模拟来配置。
根据一个实施例,该切换规则可以包括基于即时校验子值的门限数值。
根据一个实施例,该方法还可以包括:当软判决解码不降低校验子值时,切换到硬判决解码。
本发明的还可以包括一种装置,包括:解码器核,被配置为在硬判决解码模式和软判决解码模式中执行解码;软数据生成器,耦合到该解码器核并且被配置为基于码字的硬判决解码来生成软数据;以及开关,耦合到该解码器核并且被配置为当由该软数据生成器生成的软数据触发切换规则时将解码器核从硬判决解码模式切换到软判决解码模式。该软判决解码模式可以利用生成的可靠性信息作为软数据的部分。
根据一个实施例,该切换规则可以包括针对在当前解码进程中累计的该码字的所有比特的翻转总数的门限数值。
根据一个实施例,该当前解码进程可以是基于硬判决解码的某一种配置的一次迭代,一个或多个层,或一个或多个列。
根据一个实施例,该门限数值可以基于用于校验该码字的奇偶校验矩阵的形状和/或特征来配置。
根据一个实施例,该门限数值可以基于奇偶校验矩阵的模拟来配置。
根据一个实施例,该解码器核可以被配置为针对每个解码进程生成即时校验子值,以及该切换规则包括用于两个连续的即时校验子值之间的差值的门限数值。
根据一个实施例,该开关还可以被配置为当软判决解码模式不降低校验子值时将该解码器核切换到硬判决解码模式。
本发明的还可以包括一种非暂时性计算机可读介质,其具有当由硬件控制器系统读取时使得硬件控制器系统执行以下操作的信息:对码字执行硬判决解码,为该码字的每个比特记录翻转次数,基于该每个比特的翻转总数分别生成每个比特的可靠性信息,根据切换规则确定切换到软判决解码,以及使用该每个比特的可靠性信息对该码字执行软判决解码。
根据一个实施例,该切换规则可以包括针对在当前解码进程中累计的码字的所有比特的翻转总数的门限数值。
根据一个实施例,该当前解码进程可以是基于硬判决解码的某一种配置的一次迭代,一个或多个层,或者一个或多个列。
根据一个实施例,该门限数值可以基于用于校验该码字的奇偶校验矩阵的形状和/或特征以及对该奇偶校验矩阵的仿真来配置。
根据一个实施例,该切换规则可以包括基于即时校验子值的门限数值。
根据一个实施例,当由硬件控制器系统读取时,该信息还可以使得:当软判决解码不降低校验子值时,硬件控制器系统切换到硬判决解码。
附图说明
图1示意性地示出了根据本发明的一个实施例的线性块解码器。
图2A是根据本发明的一个实施例的用于码字的Tanner图的图形说明。
图2B和2C是根据本发明的一个实施例的在码字的Tanner图中信息传递的图形说明。
图3示意性地示出了根据本发明的一个实施例的用于LDPC码的奇偶校验矩阵。
图4是根据本发明的一个实施例的用于解码码字的过程的流程图。
图5示意性地示出了根据本发明的一个实施例的一种具有纠错的存储系统。
图6示意性地示出了根据本发明的一个实施例的一种具有纠错的通信系统。
具体实施方式
现在将参考附图详细描述根据本公开的各具体实施例。为了一致性,各个附图中的相同元件由相同的附图标记表示。
本公开提供了一种用于解码线性块码的装置、系统和方法,例如但不限于矩形奇偶校验、汉明码和低密度奇偶校验(LDPC)码。线性块码可以由一个m×n奇偶校验矩阵H指定,其中n是码字中比特的数量,m是冗余比特(例如,奇偶校验比特)的数量。对于LDPC码,矩阵H可以是具有低密度非零元素的稀疏矩阵。一个n-bit码字c=[c1,c2,c3,...,cn]是满足矩阵方程HcT=0的有效码字,其中cT是c的转置,向量
Figure BDA0002079284350000051
可以被称为c的校验子。线性块码也可以通过Tanner图以图形形式表示。对应于该m×n矩阵H的Tanner图可以包括两组顶点:用于码字比特(比特节点)的n个顶点,和用于奇偶校验方程(校验节点)的m个顶点。
根据本公开的一个或多个实施例提供了一种用于解码线性块的方法,包括:对码字执行硬判决解码,为该码字的每个比特记录翻转次数,基于每个比特的翻转次数为每个比特生成可靠性信息,基于切换规则确定切换到软判决解码,以及对该码字执行软判决解码。
图1示意性地示出了根据一个实施例的线性块解码器100。解码器100可以包括解码器核102,软数据生成器104,软数据缓冲器106,开关108和硬数据缓冲器110。解码器核102可以是配置有“硬判决解码”和“软判决解码”的两种操作模式的解码器。例如,解码器核102可以包括被配置为执行硬判决解码的解码器电路和被配置为执行软判决解码的解码器电路。在各种实施例中,用于硬判决解码的解码器电路可以是实现硬判决算法的任何合适的硬判决解码器,包括但不限于比特翻转算法或尚待开发的任何其他硬判决技术。用于软判决解码的解码器电路可以是实现软判决算法的任何合适的软判决解码器,包括但不限于任何基于业内已知的置信传播的传统软判决算法(例如,和积算法(“SPA”)、最小和算法、随机解码算法或它们的变化)或任何其他尚未开发的软判决算法。例如,在一个实施例中,解码器核102可以是最小和解码器,其可以在单比特硬判决(HD)模式和多比特信息软判决(SD)模式下操作。
软数据生成器104可以包括:可以被配置为生成软数据(例如,包括基于解码器核102的解码操作的累计翻转信息和可靠性信息(例如,软对数似然比(LLR)))的电路。在一个实施例中,例如,解码器核102可以从硬数据输入(“HARD DATA IN”)信号线接收码字的硬数据,以及开始利用硬判决解码来解码码字。该硬数据可以从通信信道中被接收或者从存储设备(例如,诸如NAND存储设备的非易失性存储器)中被获取。在硬判决解码操作的每次迭代期间,码字的一个或多个比特码元可以被翻转。迭代期间(或在解码层或解码列期间)的解码信息可以被发送到软数据生成器104。该解码信息可以包括,例如,哪些比特码元已经被翻转,任意比特码元已经翻转了多少次数,等等。软数据生成器104可以基于每个比特的累计翻转信息生成每个比特码元的可靠性信息。例如,如果在一次或多次迭代之后某一个比特码元被翻转多次,则该比特值很可能不可靠。生成的可靠性信息可以被发送到软数据缓冲器106并临时存储在其中。虽然软数据生成器104可以是在图1中示出的与解码器核102分离的组件,但是在一个实施例中,软数据生成器104可以作为解码器核102的一部分被实现。
在实现迭代解码的一些实施例中,可以在每次迭代之后更新码字的每个比特的可靠性信息。在一些迭代解码的实施例中,每次迭代可以使用基于层的或基于列的解码来执行。在这些实施例中,该可靠性信息可以在处理每个层或列时被更新。在各种实施例中,取决于解码器核102的配置,可以将迭代,层(或当一组层一起被解码时的多个层)或列(或当一组列一起被解码时的多个列)用作解码进程(或解码步骤)。可以针对已经执行的所有解码进程生成码字的每个比特的累计翻转信息,直到生成或更新这类信息为止。
开关108可以配置有切换规则。当满足切换规则的条件时,开关108可以使用针对码字的每个比特生成的可靠性信息,使解码器核102从硬判决解码切换到软判决解码。在一个实施例中,开关108可以实现为多路复用器。当不满足切换规则时,开关108将不会使存储在软数据缓冲器106中的可靠性信息通过。当满足切换规则时,开关108可以让可靠性信息通过并被解码器核102使用。
一些示例性切换规则可以基于翻转总数的门限数值。在一个示例性的切换规则中,在一个解码进程期间已经处理的码字中的所有编码码元的翻转总数可以被计数为由软数据生成器104生成的软数据的一部分。该条软数据可以被传送给开关108并将其与门限数值进行比较。如果翻转的总数低于门限数值,这可能意味着当前硬判决解码的性能可能不令人满意,则可以触发切换规则以使解码器核102在下一个解码进程中从硬判决解码切换到软判决解码。应当注意,在一些实施例中(例如,基于层的解码),在一个计数周期期间,一个比特可以被多次翻转,并且可以在累加的翻转总数中对每次翻动进行计数。在一些实施例中,该门限数值可以基于奇偶校验矩阵H的形状和特征来确定,以及基于使用奇偶校验矩阵H的仿真来配置。
在各种实施例中,可以计算校验子并将其用于确定解码过程是否正在收敛。例如,解码器核102可以被配置为在执行解码工作时计算校验子。在操作期间,可以在解码过程开始时计算初始校验子。如果初始校验子为零,则码字是有效码字,并且不需要解码过程。如果初始校验子不为零,则可以开始硬判决解码。在每个解码进程期间或之后,可以计算即时校验子。如果在任何时刻即时校验子变为零,则码字被成功解码及解码过程可以停止。在一些实施例中,校验子也可以被用于切换规则。在这些实施例中,可以将向量校验子
Figure BDA0002079284350000071
的所有元素相加在一起以生成和值,其也可以称为校验子值。在一个实施例中,切换规则可以是基于即时校验子值的门限数值。例如,初始校验子值可以是初始非零数,并且即时校验子值可以随着每个解码进程(例如,指示解码正在收敛)而减小。在该实施例中,当即时校验子值达到门限数值时,开关108可以触发解码器核102从硬判决解码切换到软判决解码。
在一些实施例中,切换规则可以基于即时校验子值之间的差值。在一个实施例中,一个示例性切换规则可以是基于两个连续即时校验子值之间的差值的门限数值。如果该校验子值没有减少至少两个连续解码进程之间的门限数值,则开关108可以触发解码器核102从硬判决解码切换到软判决解码。例如,门限数值可以被配置为N,并且如果与紧接在前的校验子值相比当前校验子值没有减少到N,则开关108可以确定满足切换规则并且让解码器核102在下一个解码进程中从硬判决解码切换到软判决解码。该门限数值N可以是整数,例如20、30、50等,其可以根据奇偶校验矩阵的形状和特征基于模拟来确定。类似于基于总翻转次数的切换规则,在一些实施例中,基于即时校验子值的切换规则的门限数值,还可以基于奇偶校验矩阵H的形状和特征来确定,以及基于使用奇偶校验矩阵H的模拟来配置。
在一些实施例中,开关108还可以配置有另一个切换规则以从软判决解码切换到硬判决解码。在一个实施例中,用于切换到硬判决解码的切换规则可以基于校验子。例如,如果在软判决解码中生成的即时校验子值在连续解码进程中没有减少(例如,其可以指示软判决解码不收敛),则开关108可以让解码器核102切换回硬判决解码。在开关108可以让解码器核102从软判决解码切换到硬判决解码的一个实施例中,当硬判决解码触发切换规则切换到软判决解码时,解码器核102可以再次切换到软判决解码。
在各种实施例中,在达到最大迭代次数之前该即时校验子达到零时,或者在达到最大迭代次数时,该解码过程可以结束。
硬数据缓冲器110可以被配置为在每个解码进程之后存储硬判决解码结果的比特码元值。该存储的比特值可以被反馈到解码器核102以用于下一个解码进程,其可以是硬判决解码进程或软判决解码进程。
图2A是根据本公开的一个实施例的用于码字的Tanner图200的图形说明。Tanner图200可以是二分图,其示出了诸如汉明码或LDPC码的块码的奇偶校验约束。可以在奇偶校验矩阵HE中指定奇偶校验约束。对于LDPC码,奇偶校验矩阵HE可以是一个低密度,稀疏的m×n矩阵,其中m可以是行的数量(例如,校验节点的数量),n可以是码字中码元的数量(例如,比特节点的数量)。奇偶校验矩阵HE不一定是唯一的,并且可以通过任何已知技术或将来开发的任何技术来选择。
奇偶校验矩阵HE的每一行可以对应于一个校验节点,并且每一列可以对应于一个比特节点。在二进制码中,奇偶校验矩阵的元素是0或1,但是对于非二进制LDPC码,奇偶校验矩阵的元素可以具有非二进制值。奇偶校验矩阵的每一行可以形成奇偶校验方程的系数。例如,对于图2A中所示的节点,奇偶校验矩阵HE可以为如下:
Figure BDA0002079284350000091
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的第一行中的这些非零位置,并且奇偶校验方程的第一行可以由数学方程表示为:c3c6c7c8=0,其中是二进制码字的模2加法。因为比特节点224、230、232和234对应于码元c3、c6、c7和c8,所以校验节点202可以连接到这些比特节点。也就是说,校验节点202可以被认为“校验”比特节点224、230、232和234。类似地,校验节点204可以表示在上面示出的奇偶校验矩阵HE中指定的奇偶校验方程的第二行,其在列1、2、5和12中具有非零值,并且奇偶校验方程的第二行可以用数学方程表示为:c1c2c5c12=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的操作。这可以被称为迭代解码操作中的“码元到校验(symbol-to-check)”步骤。校验节点可以根据由解码器(例如,硬判决算法或软判决解码算法)实现的解码算法来执行“校验”操作。
此外,图2A中的Tanner图200示出了比特节点226可以连接到校验节点206、212和214。也就是说,比特节点226可以由校验节点206、212和214“校验”。图2C中箭头指示信息可以从校验节点206、212和214流到比特节点226。比特节点226可以基于来自校验节点206、212和214的信息来执行操作以更新其信息(例如,码元值,或者码元值和取决于它是硬判决解码还是软判决解码的码元值的可靠性两者)。这可以被称为迭代解码操作中的校验到码元步骤。
应该注意的是,二进制码可以用作这里的示例。但是,在根据本公开的一个或多个实施例中,可以使用非二进制码,例如,基于伽罗瓦域(2f)的线性块码,其中f是大于1的整数。
适合于由线性块解码器100使用的一些LDPC码可以包括准循环(QC)LDPC码,其中奇偶校验矩阵包括多个正方形子矩阵,其是零、单位矩阵或循环移位的单位矩阵,然而本发明的范围不限于此。图3示意性地示出了根据本公开的一个实施例的用于QCLDPC码的奇偶校验矩阵300。奇偶校验矩阵300可以包括具有9列和30行的矩形子矩阵的9×30个方块。出于说明的目的,可以仅标记30行正方形子矩阵的行302.1、302.2和302.30以及正方形子矩阵的列304.1、304.2、304.3、304.4、304.5、304.6、304.7、304.8和304.9。每个正方形子矩阵可以是一个Z×Z正方形子矩阵,其中Z是整数。在图3所示的实施例中,奇偶校验矩阵300的每个正方形子矩阵可以包括32行和32列元素,但是数字Z可以是可能是码字长度的因子的另一个数字。
一个正方形子矩阵可以是零方阵,意味着正方形子矩阵中的所有元素都是零,并且这样的正方形子矩阵可以被示为空正方形子矩阵。例如,从行302.1左数起的第二、第三、第四、第五、第七和第九正方形子矩阵可以是零正方形子矩阵。
或者一个正方形子矩阵可以是非零方阵,其可以被称为循环矩阵。循环矩阵可以是单位正方形子矩阵或循环移位正方形子矩阵。单位正方形子矩阵可以是正方形矩阵,其从左上角到右下角的每个对角元素可以是1,并且所有其他元素可以是零。在一个实施例中,单位正方形子矩阵可以用数字0(“0”)表示。循环移位的单位正方形子矩阵可以是单位方阵,其中每个元素循环移位固定次数。循环移位可以意味着一行中的每个元素在移位方向上移动到相邻元素的位置,其中行的末端元素被移动到开头元素的位置。在一个实施例中,可以通过将单位正方形子矩阵的所有元素向右循环移位固定次数并且由固定数量的循环右移表示来获得循环移位的单位正方形子矩阵。例如,位于列304.1和行302.1的正方形子矩阵可以用数字20表示,因为它可以是右旋周期移位20次的单位正方形子矩阵。
应当注意的是,对应于图2A中的Tanner图的奇偶校验矩阵HE可以对应于常规LDPC码,其中每个代码数字可以包含在相同数量的方程式中,并且每个方程式可以包含相同数量的代码码元。例如,可以对应于奇偶校验方程式的奇偶校验矩阵HE的每一行可以包含由1标记的四个代码码元,并且每个代码码元可以包含在三个奇偶校验方程式中。相比之下,奇偶校验矩阵300可以对应于不规则LDPC码,其可以在行和列中具有数量可变的1。例如,行302.1可以包含三个非零正方形子矩阵,意味着在行302.1中的每个奇偶校验方程中可以包含三个代码码元。在图3所示的示例中,在行302.1的每个正方形子矩阵中可以有32行元素,因此302.1可以对应于32个奇偶校验方程,每个可以“校验”三个代码码元。行302.2可以包含四个非零正方形子矩阵,并且对应于32个奇偶校验方程,每个方程可以“校验”四个代码码元。这些示例示出了可以在根据本公开的实施例中实现规则LDPC码和不规则LDPC码。
在实现基于层的解码或基于列的解码的实施例中,可以在一个或多个层(例如,奇偶校验矩阵的正方形矩阵中的一行或多行)、一个或多个列(例如,奇偶校验矩阵的正方形矩阵中的一列或多列),或者一个或多个层和一个或多个列的组合上执行解码进程(例如,解码步骤)。例如,在一个实施例中,在每个解码进程中,可以处理正方形矩阵的一行;在另一个实施例中,在每个解码进程中,可以处理正方形矩阵的两行或更多行。在又一个实施例中,在每个解码进程中,可以处理正方形矩阵的一列;以及在又一个实施例中,在每个解码进程中,可以处理正方形矩阵的两列或更多列。在一些实施例中,基于层的和基于列的解码可以被组合。例如,解码进程可以包括正方形矩阵块(例如,K列和F行的相交,使得F乘以K个正方形矩阵在一个解码进程中被处理,其中K和F分别大于或等于1)。
图4是根据一个实施例的使用从硬判决解码生成的软数据来解码线性块码字的过程400的流程图。在框402中,可以对码字执行硬判决解码。例如,解码器核102可以从信号线中的硬数据接收码字,并且对码字执行硬判决解码操作。在框404中,可以记录码字的每个比特的翻转次数。例如,在当前解码进程或解码步骤结束时,可以在解码器核102处收集码字的每个比特的翻转信息,并将其发送到软数据生成器104。在框406中,可以基于每个比特的翻转次数来生成对应于每个比特的可靠性信息。软数据生成器104可以为码字的每个比特累加翻转,并使用该信息来确定对于比特的比特值是否可靠。例如,在解码过程期间,解码器100可以具有每个比特被翻转多少次的信息。如果一个比特位被翻转多次,那么比特值很可能不可靠。
在框408,可以根据切换规则确定是否切换到软判决解码。如本文所述,切换规则的各种实施例中可包括对于一个解码进程期间翻转次数的门限数值、校验子值或这些条件的组合。在框410中,可以使用每个比特的可靠性信息对码字执行软判决解码。
本文公开的各过程的实施例(包括过程400)可以使用软件(例如,可由计算机处理器(如中央处理单元(CPU)、图形处理单元(GPU)或两者))、硬件(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、固件或三者的任意合适组合来实现。在一个实施例中,例如,线性块解码器100的组件可以以硬件电路实现,并且这些过程可以在硬件中进行。
在另一实施例中,例如,线性块解码器100的组件以及任何所公开的方法和操作可以在包括存储在一个或多个计算机可读存储介质上的计算机可执行指令的软件中实现。一个或多个计算机可读存储介质可以包括非暂时性计算机可读介质(诸如可移动或不可移动磁盘、磁带或磁带、固态驱动器(SSD)、混合硬盘驱动器、CD-ROM、CD-RW、DVD或任何其他有形存储介质),易失性存储器组件(例如DRAM或SRAM)或非易失性存储器组件(例如硬盘驱动器)。计算机可执行指令可以由计算机处理器(例如,CPU、GPU或两者)在计算机(例如,任何商用计算机,包括智能电话或包括计算硬件的其他移动设备)上执行。用于实现所公开的技术的任何计算机可执行指令以及在所公开的实施例的实现期间创建和使用的任何数据可以存储在一个或多个计算机可读介质(例如,非暂时性计算机可读介质)上。例如,可以使用一个或多个网络计算机在单个本地计算设备(例如,任何合适的商用计算机或移动设备)上或在网络环境(例如,通过因特网,广域网,局域网,客户端-服务器网络(例如云计算网络)或其他此类网络)中执行这类软件。
图5示意性地示出了一个系统500,其包括这里描述的线性块解码器100。该系统500可以是存储系统,例如但不限于存储器或硬盘驱动器系统。该系统500可以包括数据存储器502和解码器504。该数据存储器502可以是例如存储器或硬盘驱动器。该解码器504可以是图1所示的一个实施例的线性块解码器100。从数据存储器502读取的数据可能已损坏,以及解码器504可解码损坏的数据并恢复正确的数据信息。
图6示意性地示出了另一个系统600,其包括这里描述的线性块解码器100。该系统600可以是通信系统,例如但不限于有线或无线通信系统。该系统600可以包括接收器602、解调器604和解码器606。该接收器602可以是例如用于无线通信的天线或用于有线通信的接收器。该解调器604可以被配置为解调由接收器602接收的信号并生成数字信号。该解码器606可以是图1所示的一个实施例的线性块解码器100。由接收器602接收的数据可能已损坏,以及解码器606可解码损坏的数据并恢复正确的数据信息。
应当注意的是,在若干示例和实施例中,LDPC可以用作线性块码的一个示例。然而,根据本公开的各实施例可以针对其他类型的线性块码实现,例如但不限于矩形奇偶校验和汉明码。此外,诸如在“线性块码”、“LDPC码”或“汉明码”中使用的词“码”通常可以指代码的类型。并且“码字”一词可以指用线性块码编码的单位数据块。
虽然本文已经公开了各种方面和各实施例,但是其他方面和实施例对于本领域技术人员来说将是显而易见的。这里公开的各个方面和各实施例是出于说明的目的而不是限制性的,真正的范围和精神由所附权利要求指示。

Claims (20)

1.一种方法,包括:
对码字执行硬判决解码;
记录所述码字的每个比特的翻转次数;
根据所述每个比特的翻转次数生成对应于所述每个比特的可靠性信息;
根据切换规则确定切换到软判决解码;以及
使用所述每个比特的可靠性信息对所述码字执行软判决解码。
2.如权利要求1所述的方法,其特征在于,所述切换规则包括针对在当前解码进程中累计的所述码字的所有比特的翻转总数的门限数值。
3.如权利要求2所述的方法,其特征在于,所述当前解码进程是基于所述硬判决解码的某一种配置的一次迭代,一个或多个层,或者一个或多个列。
4.如权利要求2所述的方法,其特征在于,所述门限数值是基于用于校验所述码字的奇偶校验矩阵的形状和/或特征配置的。
5.如权利要求4所述的方法,其特征在于,所述门限数值是基于所述奇偶校验矩阵的仿真配置的。
6.如权利要求1所述的方法,其特征在于,所述切换规则包括基于即时校验子值的门限数值。
7.如权利要求1所述的方法,还包括:当所述软判决解码不降低校验子值时,切换到硬判决解码。
8.一种装置,包括:
解码器核,被配置为在硬判决解码模式和软判决解码模式中执行解码;
软数据生成器,耦合到所述解码器核并且被配置为基于码字的硬判决解码生成软数据;以及
开关,耦合到所述解码器核并且被配置为当所述软数据生成器生成的所述软数据触发切换规则时,将所述解码器核从所述硬判决解码模式切换到所述软判决解码模式,其中所述软判决解码模式利用生成的可靠性信息作为所述的软数据的部分。
9.如权利要求8所述的装置,其特征在于,所述切换规则包括针对在当前解码进程中累计的所述码字的所有比特的翻转总数的门限数值。
10.如权利要求9所述的装置,其特征在于,所述当前解码进程是基于所述硬判决解码某一种配置的一次迭代,一个或多个层,或者一个或多个列。
11.如权利要求9所述的装置,其特征在于,所述门限数值是基于用于校验所述码字的奇偶校验矩阵的形状和/或特征配置的。
12.如权利要求11所述的装置,其特征在于,所述门限数值是基于对奇偶校验矩阵的仿真配置的。
13.如权利要求8所述的装置,其特征在于,所述解码器核还被配置为针对每个解码进程生成即时校验子值,以及所述切换规则包括针对两个连续即时校验子值之间的差值的门限数值。
14.如权利要求8所述的装置,其特征在于,所述开关还被配置为当所述软判决解码模式不降低校验子值时,将所述解码器核切换到所述硬判决解码模式。
15.一种具有信息的非暂时性计算机可读介质,其特征在于,当由硬件控制器系统读取时,所述信息使得所述硬件控制器系统:
对码字执行硬判决解码;
记录所述码字的每个比特的翻转次数;
根据每个比特的翻转次数生成对应于所述每个比特的可靠性信息;
根据切换规则确定切换到软判决解码;以及
使用所述每个比特的可靠性信息对所述码字执行软判决解码。
16.如权利要求15所述的非暂时性计算机可读介质,其特征在于,所述切换规则包括针对在当前解码进程中累计的所述码字的所有比特的翻转总数的门限数值。
17.如权利要求16所述的非暂时性计算机可读介质,其特征在于,所述当前解码进程是基于所述硬判决解码的某一种配置的一次迭代,一个或多个层,或者一个或多个列。
18.如权利要求16所述的非暂时性计算机可读介质,其特征在于,所述门限数值是基于用于校验所述码字的奇偶校验矩阵的形状和/或特征以及对所述奇偶校验矩阵的仿真来配置。
19.如权利要求15所述的非暂时性计算机可读介质,其特征在于,所述切换规则包括基于即时校验子值的门限数值。
20.如权利要求15所述的非暂时性计算机可读介质,其特征在于,当由所述硬件控制器系统读取时,所述信息使得在所述软判决解码不降低校验子值时,所述硬件控制器系统还切换到所述硬判决解码。
CN201910465431.8A 2018-07-27 2019-05-30 用于解码具有自生成对数似然比的纠错码的系统和方法 Active CN110784231B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/047,329 2018-07-27
US16/047,329 US10715182B2 (en) 2018-07-27 2018-07-27 Systems and methods for decoding error correcting codes with self-generated LLR

Publications (2)

Publication Number Publication Date
CN110784231A true CN110784231A (zh) 2020-02-11
CN110784231B CN110784231B (zh) 2023-07-04

Family

ID=69178959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910465431.8A Active CN110784231B (zh) 2018-07-27 2019-05-30 用于解码具有自生成对数似然比的纠错码的系统和方法

Country Status (2)

Country Link
US (1) US10715182B2 (zh)
CN (1) CN110784231B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159182B1 (en) * 2020-04-06 2021-10-26 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with historical decoding information
US20210399744A1 (en) * 2020-06-18 2021-12-23 Intel Corporation LDPC Decoder Apparatus, Device, System, Method and Computer Program
US11444638B2 (en) 2020-09-17 2022-09-13 SK Hynix Inc. Quality-based dynamic scheduling LDPC decoder
US11349498B2 (en) * 2020-10-08 2022-05-31 Micron Technology, Inc. Bit flipping low-density parity-check decoders with low error floor
US11923867B1 (en) 2022-08-18 2024-03-05 Micron Technology, Inc. Iterative decoder with a dynamic maximum stop condition
US11901911B1 (en) 2022-08-18 2024-02-13 Micron Technology, Inc. Stall detection and mitigation in iterative decoders
US11923868B1 (en) * 2022-08-18 2024-03-05 Micron Technology, Inc. Stall mitigation in iterative decoders

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190799A1 (en) * 2005-02-07 2006-08-24 Makiko Kan Decoding apparatus and method and program
US20080244359A1 (en) * 2007-03-30 2008-10-02 Hitachi Global Technologies Netherlands, B.V. Techniques For Correcting Errors Using Iterative Decoding
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
US20100169746A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics, Inc. Low-complexity soft-decision decoding of error-correction codes
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
US20140351672A1 (en) * 2013-05-24 2014-11-27 Sk Hynix Memory Solutions Inc. Miscorrection detection for error correcting codes using bit reliabilities
EP2822184A1 (en) * 2013-07-03 2015-01-07 LSI Corporation Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
EP2911304A1 (en) * 2014-02-24 2015-08-26 Alcatel Lucent Sliding window decoding of LDPC convolutional codes (LDPC-CC)
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN109787639A (zh) * 2017-11-14 2019-05-21 奈奎斯特半导体有限公司 用于解码纠错码的系统和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644336B2 (en) * 2006-02-04 2010-01-05 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for providing greater error protection to error-prone bits in codewords generated from irregular codes
US8190977B2 (en) * 2008-08-27 2012-05-29 Intel Mobile Communications GmbH Decoder of error correction codes
US9419651B2 (en) * 2008-12-31 2016-08-16 Stmicroelectronics, Inc. Non-polynomial processing unit for soft-decision error correction coding
US9621188B2 (en) * 2014-03-17 2017-04-11 Samsung Electronics Co., Ltd. Soft and hard decision message-passing decoding
TWI562152B (en) * 2015-05-29 2016-12-11 Phison Electronics Corp Decoding method, memory storage device and memory control circuit unit
US9852022B2 (en) * 2015-09-04 2017-12-26 Toshiba Memory Corporation Memory system, memory controller and memory control method
US9729171B2 (en) * 2015-09-24 2017-08-08 Intel Corporation Techniques for soft decision decoding of encoded data
US10090865B2 (en) * 2016-03-23 2018-10-02 SK Hynix Inc. Performance optimization in soft decoding of error correcting codes
US10303364B2 (en) * 2016-03-25 2019-05-28 SK Hynix Inc. Techniques for low-latency chase decoding of turbo product codes with soft information
US10164656B2 (en) * 2016-03-30 2018-12-25 Silicon Motion Inc. Bit flipping algorithm for providing soft information during hard decision hard decoding
US10009043B2 (en) * 2016-06-30 2018-06-26 Intel Corporation Technologies for providing efficient error correction with half product codes
JP2019054448A (ja) * 2017-09-15 2019-04-04 東芝メモリ株式会社 メモリシステム
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10511326B2 (en) * 2017-11-14 2019-12-17 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190799A1 (en) * 2005-02-07 2006-08-24 Makiko Kan Decoding apparatus and method and program
US20080244359A1 (en) * 2007-03-30 2008-10-02 Hitachi Global Technologies Netherlands, B.V. Techniques For Correcting Errors Using Iterative Decoding
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
US20100169746A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics, Inc. Low-complexity soft-decision decoding of error-correction codes
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
US20140351672A1 (en) * 2013-05-24 2014-11-27 Sk Hynix Memory Solutions Inc. Miscorrection detection for error correcting codes using bit reliabilities
EP2822184A1 (en) * 2013-07-03 2015-01-07 LSI Corporation Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
EP2911304A1 (en) * 2014-02-24 2015-08-26 Alcatel Lucent Sliding window decoding of LDPC convolutional codes (LDPC-CC)
CN109787639A (zh) * 2017-11-14 2019-05-21 奈奎斯特半导体有限公司 用于解码纠错码的系统和方法
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M.P.C. FOSSORIER 等: "A unified method for evaluating the error-correction radius of reliability-based soft-decision algorithms for linear block codes", 《IEEE TRANSACTIONS ON INFORMATION THEORY》, vol. 44, no. 2, pages 691 - 700, XP011027004 *
田宇: "QC-LDPC码构造及其译码研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, pages 136 - 379 *

Also Published As

Publication number Publication date
US20200036395A1 (en) 2020-01-30
CN110784231B (zh) 2023-07-04
US10715182B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
CN109783270B (zh) 用于解码纠错码的系统和方法
CN110784231B (zh) 用于解码具有自生成对数似然比的纠错码的系统和方法
US11115051B2 (en) Systems and methods for decoding error correcting codes
KR101854954B1 (ko) 치환 소행렬의 합을 사용하는 체크섬
KR101535225B1 (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US9015547B2 (en) Multi-level LDPC layered decoder with out-of-order processing
US9015550B2 (en) Low density parity check layer decoder for codes with overlapped circulants
CN109586731B (zh) 用于解码纠错码的系统和方法
US8448050B2 (en) Memory system and control method for the same
US9544090B2 (en) Hard input low density parity check decoder
US10523245B2 (en) Soft decoder for generalized product codes
US8572463B2 (en) Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size
US10367526B2 (en) Irregular low density parity check processing system with non-uniform scaling
US20080052594A1 (en) Method and system for replica group-shuffled iterative decoding of quasi-cyclic low-density parity check codes
US8880976B2 (en) Method and apparatus for encoding LBA information into the parity of a LDPC system
US9048867B2 (en) Shift register-based layered low density parity check decoder
US20130139022A1 (en) Variable Sector Size LDPC Decoder
US20160020783A1 (en) Low Density Parity Check Decoder With Relative Indexing
CN108270518B (zh) 用以解码接收信息的解码方法与相关解码装置
Marelli et al. BCH and LDPC error correction codes for NAND flash memories
Varnica LDPC Decoding: VLSI Architectures and Implementations
Chinna Babu et al. Generation and decoding of non-binary LDPC codes using MSA decoding algorithm
Narang et al. imAGE PRoCEssiNG
Maruthi et al. Development and Verification of Iterative Decoder for LDPC-RS Product Codes

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.