CN101803205B - 近码字的ram列表解码 - Google Patents

近码字的ram列表解码 Download PDF

Info

Publication number
CN101803205B
CN101803205B CN2008801064323A CN200880106432A CN101803205B CN 101803205 B CN101803205 B CN 101803205B CN 2008801064323 A CN2008801064323 A CN 2008801064323A CN 200880106432 A CN200880106432 A CN 200880106432A CN 101803205 B CN101803205 B CN 101803205B
Authority
CN
China
Prior art keywords
profile
node
decoding
ram
usc
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
Application number
CN2008801064323A
Other languages
English (en)
Other versions
CN101803205A (zh
Inventor
K·关纳姆
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America Corp
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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN101803205A publication Critical patent/CN101803205A/zh
Application granted granted Critical
Publication of CN101803205B publication Critical patent/CN101803205B/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/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/1105Decoding
    • H03M13/1142Decoding using trapping sets
    • 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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct 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/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
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • 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/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明的某些实施例是用于创建和更新在(LDPC)列表解码中使用的优势陷阱集合简档的RAM列表的高效的运行时方法。对解码正确的码字和近码字进行比较,以便产生新的陷阱集合简档,并且将该简档写入RAM。保持自从该简档被最后匹配以来RAM被搜索了多少次的记录。在指定次数的存储中未被匹配的简档符合清除条件。还按照其它因素给符合清除条件的简档评分,例如,自从被添加以来简档已被匹配的次数,不满足校验节点的数目,错误位节点的数目。如果RAM中不存在足够的空闲空间以便存储新发现的简档,则删除符合清除条件的简档,从评分最低的简档开始删除,直到(i)创建了足够的空闲空间或(ii)不再存在符合清除条件的简档。

Description

近码字的RAM列表解码
与相关申请的交叉引用
本申请要求提交于2008年8月15日的代理卷号为No.08-0241-PR的美国临时申请No.61/089,297的优先权,通过引用将该申请的教导完整结合在此。
本申请的主题内容涉及与本申请同日提交的代理卷号为No.08-1293的美国专利申请No.XX/xxx,xxx,通过引用将该申请的教导完整结合在此。
技术领域
本发明涉及数字信号处理,并且更具体地,涉及被称为低密度奇偶校验(LDPC)编码的数据编码方法。
背景技术
通信是由传输方在通信信道上向接收方传输信息。在现实世界中,通信信道是向接收方输出从传输方接收的信息的失真版本的有噪信道。硬盘(HD)驱动器就是这样一种有噪信道,其从传输方接收信息,存储该信息,然后可能将该信息的或更多或少地失真的拷贝传输给接收方。
由诸如HD驱动器的通信信道引入的失真可能大到足以引起信道错误,即,当信道输入信号是0时,接收方将信道输出信号解释为1,或者反之。信道错误减小了吞吐率,并且因此是不希望的。因此,存在对检测和/或校正信道错误的工具的持续需要。低密度奇偶校验(LDPC)编码是用于检测和校正信道错误的一种方法。LDPC码是可以为低信噪比(SNR)应用实现非常低的位错误率(BER)的已知的近Shannon极限编码之一。LDPC解码以其并行潜力、低实现复杂度、低解码延迟以及在高SNR下的不很严重的错误平台(error-floor)而著称。实际上认为LDPC码将用于所有下一代通信标准。
发明内容
在某些实施例中,本发明包括用于对使用基于图的码编码的编码数据进行解码的方法。该方法包括(i)对编码数据执行解码,以便产生候选解码码字,和(b)如果候选解码码字不是解码正确的码字,执行陷阱集合(TS)-RAM列表解码方法,以便试图产生解码正确的码字。TS-RAM列表解码方法访问存储在RAM存储器内的一个或更多个TS简档,每个TS简档与不同的陷阱集合相对应。
在其它实施例中,本发明是用于对使用基于图的码字编码的编码数据进行解码的装置。该装置包括:(i)被配置为对编码数据执行解码,以便产生候选解码码字的解码器,(ii)RAM存储器,和(iii)陷阱集合(TS)-RAM列表解码器,被配置为如果候选解码码字不是解码正确的码字,则执行TS-RAM列表解码方法,以便试图产生解码正确的码字。TS-RAM列表解码器访问存储在RAM存储器内的一个或更多个TS简档。每个TS简档相应于不同的陷阱集合。
附图说明
从下面的详细描述、所附的权利要求书以及附图中,将会完全明了本发明的其它方面、特征和优点,在附图中相似的附图标记指示相似或相同的元件。
图1是使用LDPC编码的典型硬盘(HD)驱动器100的一部分的方框图;
图2(A)示出了LDPC H矩阵200,图2(B)是H矩阵200的Tanner图;
图3是由解码器112使用的典型LDPC解码方法300的流程图;
图4是用于识别陷阱集合和记录关于这些陷阱集合的各种信息的离线陷阱集合(TS)仿真工具400的方框图;
图5是根据本发明的一个实施例的LDPC解码方法500的方框图;
图6是图5的ROM P表514的示例布局;
图7是图5的B表512的示例布局;
图8是图5的E表516的示例布局;
图9是图5的EI表518的示例布局;
图10是图5的RAM P表522的示例布局;
图11是图5的RAM索引表524的示例布局;
图12是图5的LDPC解码系统500所使用的示例处理1200的流程图;
图13是由图5的后处理器504实施的图12的示例TS-ROM列表解码处理1206的流程图;
图14是图13的示例TS-ROM搜索处理1314的流程图;
图15是图12的示例TS-RAM列表解码处理1208的流程图;和
图16是图12的示例TS-RAM更新处理1216的流程图。
具体实施方式
图1是使用LDPC编码的典型硬盘(HD)驱动器100的一部分的方框图。HD驱动器100包括盘片102和读通道104。读通道104包括LDPC编码器106、写处理器108、读处理器110和LDPC解码器112。路径114是LDPC编码器106和LDPC解码器112之间的有噪信道。
由LDPC编码器106处理将被写到盘片102的信息字以便产生LDPC码字。LDPC码字被发送到写处理器108,写处理器108包括若干模块,例如,BPSK(二进制相移键控)编码器、数字到模拟转换器等。写处理器108的输出116被写到盘片102。
从盘片102读取的信号118被发送到读处理器110,读处理器110包括若干模块,例如,前置放大器、连续时间滤波器、固定激励响应滤波器、解码器、模拟到数字转换器等。读处理器110向LDPC解码器112输出对数似然比(LLR)值Lch,LDPC解码器112又输出解码的信息字。另外,LDPC解码器112将ELDPC值送回读处理器110。ELDPC被以下面的等式6定义,并且表示中间计算LLR值。读处理器110使用ELDPC值调整其性能,这是被称为turbo解码的处理。
LDPC编码
LDPC编码器106给信息字的位附加由LDPC码指定的若干奇偶位,以便产生码字。信息字中的位被称为变量位,并且这些变量位的数目被表示为K。LDPC码字中的位的总数被表示为N。因此,由N-K给出奇偶位的数目。特定LDPC码的比率是K/N,即,信息字长度与码字长度的比。因此,给每3位信息字附加6个奇偶位以便产生9位码字的LPDC码具有1/3的比率。在典型的HD驱动器的情况下,对于4506位的码字长度和0.9的比率,信息字长度K是4096位(典型HD驱动器扇区的长度),并且奇偶位的数目近似为410位。
LDPC码字中的每个奇偶位以由特定LDPC码所指定的特定方式与码字中的一个或更多个其它(变量或奇偶)位相关联,并且分配给奇偶位的值被设置为满足LDPC码。典型LPDC码规定相关联的位满足奇偶校验约束,例如,相关联的位的和是偶数,即,和模2=0。
LDPC码
由被称为奇偶校验矩阵或H矩阵或简称为H的1和0的二维矩阵定义特定的LDPC码。LDPC编码器和解码器事先都知道H。H包括N列和N-K行,即,码字的每个位针对一列,并且每个奇偶位针对一行。H中的每个1表示列的码字位和行的奇偶位之间的关联。例如,H的第3行第7列处的1意味着第3个奇偶校验位与码字的第7个位相关联。校验位与和该校验位相关联的所有变量位的值的和模2应当为0。
H的一列中的1的数目被称为该列的权重wc。类似地,H的一行中的1的数目被称为该行的权重wr。由所有列具有相同的wc并且所有行具有相同wr的H定义的LDPC码被称为规则LDPC码。由分别在所有列和/或行上不全相同的wc和/或wr的H定义的LDPC码被称为不规则LDPC码。
典型LDPC码的一种定义特性是H是“稀疏的”,即,H的元素大部分为0,只有少数为1。研究显示H矩阵通常需要wc≥3以便有良好表现,并且不规则LDPC码优于规则LDPC码。
图2(A)示出了LDPC H矩阵200。H矩阵200包括N=9列和N-K=6行。因此,H矩阵200定义接受3位信息字、附加6个奇偶位、并且输出9位码字的LDPC码。因此,这种特定LDPC码的比率是3/9或1/3。由H矩阵200定义的LDPC码是规则的,其wc为2并且wr为3。
信道输出:对数似然比
返回图1,LDPC编码器106和LDPC解码器112之间的路径114是有噪信道,并且从而,解码器112不能接收由LDPC编码器106输出的码字的完美拷贝。而是,读处理器110输出一个或更多个Lch值,其中每个Lch值与信道输入码字中的一个位相对应。
每个Lch值是一个对数似然比(LLR)。LLR是包括若干位的数据结构,其中一个单个的符号位指示硬判决(即,读处理器110关于原始位是1还是0的最佳猜测),并且剩余的量值位指示读处理器110对该硬判决的置信程度。更准确地,LLR表示
Figure GPA00001047124400051
其中p0是样本表示0的概率,并且p1是样本表示1的概率。
例如,读处理器110可以用5位数据结构输出每个Lch值,其中最高位是指示硬判决值的符号位,并且4个量值位的16个值指示硬判决的置信度。因此,例如,在一种典型的方案中,二进制00000的LLR值指示具有最低置信度的硬判决值0,二进制01111的LLR值指示具有最高置信度的硬判决值0,二进制10000未使用,二进制10001指示具有最低置信度的硬判决值1,并且二进制11111指示具有最高置信度的硬判决值1。
LDPC解码:信任传播
图3是由解码器112使用的典型LDPC解码方法300的流程图。LDPC解码器112接收N个Lch值,并且输出解码的信息字。解码方法300的核心是被称为信任传播的迭代的两阶段消息传递算法。通过使用被称为Tanner图的视觉表示最好地解释信任传播。
图2(B)是H矩阵200的Tanner图。一般地,Tanner图包括:1)等于H中的列数的位节点数目n(并且因此等于变量位的数目),2)等于H中的行数的校验节点数目m(并且因此等于奇偶位的数目),3)线,也被称为边,每个边将单个位节点连接到单个校验节点,4)对于每个位节点n,从接收方接收的原始Lch值,和5)对于每个位节点n,计算的硬判决输出值
Figure GPA00001047124400061
图2(B)的Tanner图包括9个位节点n0-n8,6个校验节点m0-m5,18个将位节点连接到校验节点的边202,9个Lch值和9个
Figure GPA00001047124400062
值。
Tanner图中的边表示(即,变量)位节点n和校验节点m之间的关系,即,边表示H中的1。例如,在图2(B)中,边202将第1个位节点n0连接到第4个校验节点m3,这意味着在图2(A)的H矩阵200的第1列第4行中存在1。
Tanner图是二分图,即,一个边仅能将一个位节点连接到一个校验节点,而不能将一个位节点连接到另一个位节点,或者将一个校验节点连接到另一个校验节点。以N(m)表示被以边连接到特定校验节点m的所有位节点n的集合。以M(n)表示被以边连接到特定位节点n的所有校验节点m的集合。
特定(位或校验)节点的索引是其在图中的序数序列。(位或校验)节点的度是连接到该节点的边的数目。因此,Tanner图中位节点n的度等于相应H矩阵中的列n的权重wc,并且Tanner图中校验节点m的度等于相应H矩阵中的行m的权重wr
返回图3,处理开始于步骤302,并且进入步骤304,进行解码器初始化。解码器初始化304包括将与每个位节点n连接的所有边(例如,图2(B)的202)设置为与位节点n相关联的相应Lch值,并且将位节点n的
Figure GPA00001047124400063
值设置为位节点n的Lch的硬判决值。因此,例如,在图2(B)中,如果与位节点n0相关联的Lch值是+5,则在步骤304,将使位节点n0连接到检查校验节点m0和m3的两个边202设置为+5,并且位节点n的
Figure GPA00001047124400071
值被设置为1。表述这个步骤的第一部分的另一种方式是位节点n0向集合M(n0)中的每个校验节点m发送消息+5。以Qnm表示从位节点n发送到校验节点m的消息,其中Qnm为LLR的形式。解码器刚被初始化后的状态被称为状态0。
随后,步骤304向校验子校验步骤306发送包括N个
Figure GPA00001047124400072
值的矢量
Figure GPA00001047124400073
矢量
Figure GPA00001047124400074
是码字候选。校验子校验步骤306使用下面的等式(1)计算校验子矢量z:
Figure GPA00001047124400075
其中HT是H矩阵的转置。如果z是0矢量,则矢量
Figure GPA00001047124400076
满足由H定义的所有奇偶校验约束,即,
Figure GPA00001047124400077
是有效的解码码字。在该情况下,处理进入循环冗余校验(CRC)318。
相反,如果z不是0矢量,则矢量
Figure GPA00001047124400078
未通过一个或更多个奇偶校验约束,这通常被称为不满足校验节点或USC。校验子矢量z中不为0标量值的元素的数目是矢量
Figure GPA00001047124400079
中的USC的数目b。另外,校验子矢量z的非0标量元素的索引是USC在矢量中的索引。
如果矢量
Figure GPA000010471244000711
未通过校验子校验306,则处理继续一个或更多个解码迭代308中的第一个迭代。解码迭代308包括三个步骤:1)信任传播校验节点更新步骤310,2)信任传播位节点更新步骤312和3)与步骤306相同的校验子校验步骤314。
在信任传播校验节点更新步骤310中,每个校验节点m根据下面的等式2、3和4使用从集合N(m)中的所有位节点n接收的Qnm消息计算以Rmn表示的消息:
R mn ( i ) = δ mn ( i ) max ( κ mn ( i ) - β , 0 ) - - - ( 2 )
κ mn ( i ) = | R mn ( i ) | = min n ′ ∈ N ( m ) \ n | Q n ′ m ( i - 1 ) | - - - ( 3 )
δ mn ( i ) = ( Π n ′ ∈ N ( m ) \ n sgn ( Q n ′ m ( i - 1 ) ) ) - - - ( 4 )
其中i是解码迭代,N(m)\n是除去位节点n之外的集合N(m),并且β是正的常数,其值取决于码参数。然后计算的Rmn消息被沿着相同的边送回集合N(m)中的所有位节点n。类似于Qnm消息,Rmn消息是LLR。
接着,在信任传播位节点更新步骤312,每个位节点n根据下面的等式5计算Qnm消息:
Q nm ( i ) = L n ( 0 ) + Σ m ′ ∈ M ( n ) \ m R m ′ n ( i ) - - - ( 5 )
其中Ln (0)是位节点n的Lch值,并且M(n)\m是除去校验节点m之外的集合M(n)。然后位节点n将计算的Qnm消息发送到集合M(n)中的所有校验节点m。
并且,在位节点更新步骤312中,每个位节点n根据下面的等式6和7更新其
Figure GPA00001047124400082
E n ( i ) = Σ m ′ ∈ M ( n ) R mn ( i ) - - - ( 6 )
P n = L n ( 0 ) + E n ( i ) - - - ( 7 )
如果Pn≥0,则并且如果Pn≤0,则
Figure GPA00001047124400086
由等式6产生的值也称为E值或ELDPC值。典型地,ELDPC值作为被称为turbo解码的调整处理的一部分被送回读处理器(例如,图1的读处理器110)。由等式(7)产生的值被称为P值。以等式(2)-(7)表示的特定信任传播算法被称为最小和算法。
注意,
Figure GPA00001047124400087
被在每个解码迭代308中更新,并且最后由解码处理300输出。原始LLR值Lch在解码处理300中保持不变。换言之,在每个解码迭代308中,每个位节点n对其通过校验节点m相关联的所有其它位节点n的正确值进行投票。例如,在图2(B)中,位节点n0与校验节点m0和m3相关联。因此,n0对与校验节点m0和m3相关联的位节点,即,n3、n5、n6和n7的正确值投票。位节点n的Lch值的量值越大(即,置信度越大),位节点n的投票计数越多。这种投票的最终作用是具有低Lch量值(即,置信度)的位节点的
Figure GPA00001047124400088
值将发生改变,并且顺应与该位节点相关联的高置信度位节点的信任。换言之,如果位节点的Lch值包含错误的硬判决值和低量值,则在一个或更多个迭代之后,其它位节点的组合投票趋于校正该错误的硬判决值。
位节点更新步骤312将由解码器的当前
Figure GPA00001047124400089
值构成的矢量
Figure GPA000010471244000810
发送到校验子校验步骤314。校验子校验步骤314与上面讨论的步骤306的校验子校验相同。如果矢量
Figure GPA00001047124400091
通过了校验子校验314,则矢量
Figure GPA00001047124400092
被发送到CRC步骤318。
LDPC解码:循环冗余校验和误满足校验节点
通过校验子校验306或314意味着矢量
Figure GPA00001047124400093
是有效的解码码字,但是不必然是解码正确的码字(DCCW)。LDPC解码器可能产生不是DCCW的有效码字。在该情况下,矢量
Figure GPA00001047124400094
中不存在USC,但是存在误满足校验节点(MSC)。因此,为了确保有效的矢量
Figure GPA00001047124400095
是DCCW,处理300将矢量
Figure GPA00001047124400096
传递到循环冗余校验(CRC)318。CRC校验是校验和运算,其可以检测传输或存储过程中的数据改变。
如果矢量通过了CRC校验,则矢量
Figure GPA00001047124400098
是DCCW,并且处理300将全局变量DCCW设置为真,输出矢量
Figure GPA00001047124400099
并且在步骤320处终止。否则,矢量
Figure GPA000010471244000910
不是DCCW,并且处理300将全局变量DCCW设置为假,输出矢量
Figure GPA000010471244000911
并且在步骤320处终止。全局变量DCCW通知其它解码处理(例如,下面讨论的图12的TS-ROM列表解码处理1206)是否产生了DCCW。
返回步骤314,如果矢量
Figure GPA000010471244000912
未通过校验子校验,则矢量
Figure GPA000010471244000913
仍然包含一个或更多个USC。解决USC的典型方法是执行另一个解码迭代308。然而,特定矢量
Figure GPA000010471244000914
中可能存在不能在合理的时间量中被满足的一个或更多个USC。因此,LDPC解码器通常受限于它们可以对特定矢量
Figure GPA000010471244000915
执行多少次解码迭代。迭代的最大数目的典型值的范围从50到200。
在图3中,步骤316确定是否达到了迭代的最大数目。如果未达到,执行另一个解码迭代308。反之,如果达到了迭代的最大数目,则解码器处理300失败,即,解码器是“失败的解码器”。在该情况下,处理300将全局变量DCCW设置为假,输出矢量
Figure GPA000010471244000916
并且在步骤320终止。
如果失败的解码器的矢量
Figure GPA000010471244000917
包含小数目(例如,小于16)的USC,则矢量
Figure GPA000010471244000918
被称为近码字(NCW)。如果失败的解码器的矢量
Figure GPA000010471244000919
包含大数目(例如,大于15)的USC,则矢量
Figure GPA00001047124400101
被称为无效码字(ICW)。
处理失败的解码处理的两个典型方法是1)请求重新发送相应数据,或2)将矢量传递到一个或更多个后处理(PP)方法。典型地,矢量
Figure GPA00001047124400103
中的USC的数目b指示使用这两种方法中的哪一种。通常通过重发或其它后处理方法处理大的b(例如,大于16),而通过错误平台减轻后处理方法处理小的b值。
BER、SNR和错误平台
LDPC解码器的位错误率(BER)是表达对于处理的x个位将产生多少个错误解码位的比率。因此,例如,具有10-9的BER的解码器对于处理的每十亿个解码位平均产生1个错误位。BER越小,解码器越好。当解码器失败,即,解码器终止而没有收敛到解码正确的码字DCCW时,LDPC解码器的BER增大(恶化)。
LDPC解码器的BER受解码器的输入信号的信噪比(SNR)的强烈影响。作为SNR的函数的BER图通常包括两个不同区域:初始“瀑布”区域,其中对于SNR的单位增加,BER迅速改善(下降);以及随后的“错误平台”区域,其中SNR的单位增加仅产生BER的略微改善。因此,在错误平台区域中实现显著的BER改进需要SNR增加之外的方法。
一种改善LDPC解码的错误平台特性的方法是增加码字长度。然而,增加码字长度也增加LDPC解码所需的存储器和其它计算资源。因此,如果这些资源是紧缺的,HD驱动器上的读通道设备通常就是这种情况,必须寻找其它方法产生必要的错误平台改进。
另一种稀缺的资源是处理周期。通常,为了实现指定的吞吐率,HD驱动器为解码一个码字安排固定数目的读通道处理周期预算。超出该预算的方法(即,计划外(off-the-fly)的方法)将减小吞吐率。更希望在时钟周期分配内恢复DCCW,并且因此不减小吞吐率的计划内的方法。
陷阱集合和优势陷阱集合
(a,b)陷阱集合是解码器不能在最大数目的迭代内满足的b个USC的集合以及与这些USC相关联的a个错误位节点(EBN)的集合。大部分陷阱集合包括少于5个USC和少于10个EBN。陷阱集合对LDPC解码器的错误平台特性具有显著影响,即,当LDPC解码器未能收敛到DCCW时,通常是因为陷阱集合。
改进LDPC解码器的错误平台特性的一种方法是:(i)校验失败的解码器的
Figure GPA00001047124400111
矢量中的USC,并且识别陷阱集合(如果有的话),(ii)识别与这些USC相关联的EBN,(iii)翻转与这些陷阱集合相关联的一个或更多个EBN,和(iV)重新启动解码器。在一种可能的实现中,如果LDPC解码器刚被初始化,即,解码器处于状态0,翻转EBN包括:(i)逆转EBN的Lch值的硬判决值,即,1变为0,并且反之亦然,和(ii)将量值位,即,相同Lch值的置信度设置为最大,例如,全为1。如果解码器处于不是状态0的某个状态,则翻转EBN包括:(i)确定EBN的P值(以上面的等式7定义)的硬判决值,(ii)将EBN的Lch值、P值和所有相关联的Qnm LLR的硬判决值设置为与步骤(i)的硬判决值相反,并且(iii)将EBN的Lch值、P值和所有相关联的Qnm LLR的量值位设置为最大。通常,翻转一个或两个EBN将“中断”陷阱集合,并且重新启动的解码器将收敛到DCCW。
当被中断时,不同的陷阱集合产生错误平台特性的不同改进。优势陷阱集合指其中断产生EBR/错误平台特性的指定改进的最小陷阱集合。例如,DTS-1指产生BER的单个数量级改进,例如,从10- 9到10-10的最小陷阱集合,而DTS-3指产生BER的三个数量级改进,例如,从10-10到10-13的最小陷阱集合。
近码字的列表解码
列表解码是用于检测和中断陷阱集合的一种后处理方法。在列表解码中,将矢量中的观察到的陷阱集合与已知陷阱集合的一个列表或多个列表进行匹配。陷阱集合列表通常包括列表中的每个陷阱集合内的所有USC的索引,以及与这些USC相关联的一个或更多个EBN的索引。如果发现了该列表中的与观察到的陷阱集合匹配的陷阱集合,则从列表中检索EBN索引值(多个)。然后,翻转这些位节点,并且重新开始图3的解码处理300。
陷阱集合仿真
通常使用软件和硬件仿真工具离线产生列表解码所需的陷阱集合列表。图4是用于识别陷阱集合并且记录关于这些陷阱集合的各种信息的离线陷阱集合(TS)仿真工具400的方框图。工具400可被实现在例如现场可编程门阵列(FPGA)内。LDPC正确码字(CCW)402被发送到信道和信号模块404,信道和信号模块404模拟图1的有噪信道114的行为。信道和信号模块404向LDPC解码器408输出Lch值406。如果LDPC解码器408产生近码字(NCW)410,则NCW410被发送到校验子校验模块412和误匹配位置记录器414。校验子校验模块412输出NCW410中的所有USC的索引416。误匹配位置记录器414比较NCW410和CCW402,并且输出NCW410中的所有EBN的索引418。USC索引416加上EBN索引418构成陷阱集合(TS)信息420。
对于给定的LDPC实现,所有可能的陷阱集合可能有数以百万。然而,实现该实现的错误平台的显著(即,一个数量级或更多)改进通常仅需要所有可能的陷阱集合的一个子集,即,优势陷阱集合(DTS)。因此,离线TS仿真工具400包括DTS-N汇编器422,它获取输入的TS信息420,并且产生DTS-N信息424。
DTS-N汇编器422使用三个步骤的处理:收集、评分和评估。陷阱集合收集方法使用基于码图结构的确定性噪声激励,以便检测陷阱集合。然后,按照距错误边界的距离(DEB)值给收集的陷阱集合评分,其中具有低DEB值的陷阱集合对错误平台贡献更大。然后使用重要性采样评估陷阱集合,并且确认预测的评分。
实际上,这种基于FPGA的离线仿真可能要被执行一年。例如,为了识别对于4Gb/s的HD驱动器将产生10-15BER的陷阱集合,需要将离线仿真工具(例如,图4的工具400)运行大约289天。通常,由于在HD驱动器读通道的最终设计和芯片的量产之间通常有1到2年的延迟,这种时间限制不是问题。
陷阱集合只读存储器(TS-ROM)
因此,使用图4的离线TS仿真工具400,可以事先识别对于特定的LDPC实现,将产生错误平台特性的改进的一个或更多个陷阱集合或优势陷阱集合。一种在运行时环境中实现列表解码的方法是在陷阱集合只读存储器(TS-ROM)中存储图4的离线产生的陷阱集合信息420,并且将TS-ROM与列表解码器程序耦联。TS-ROM列表解码器程序对中观察到的USC和存储在TS-ROM中的陷阱集合进行比较。如果发现匹配,则TS-ROM列表解码器程序在LDPC解码器中翻转适当的位节点值,并且重新启动解码器。
通常,TS-ROM信息随机地存储在单向或双向链表内,其中使用暴力顺序搜索搜索该表。通常,每个(a,b)陷阱集合在TS-ROM列表中占用(2+a+b)个记录。因此,对于(4,4)陷阱集合简档(即,4个USC和4个EBN),将有10个记录:一个指示存在4个USC的记录,之后是4个单独的USC记录,然后一个指示存在4个EBN的记录,之后是4个单独的EBN记录。典型的TS-ROM列表实现大约存储100个陷阱集合,并且不存储关于误满足校验节点的任何信息。
为了经济地实现这种TS-ROM实现,单个TS-ROM必需能够实现大量实现中所需的错误平台改进。然而,陷阱集合随着实现的不同而不同,甚至当实施相同的LDPC码时也是如此。例如,即使在两个HD驱动器上使用的LDPC码相同,与HD驱动器相关联的陷阱集合也可能不同。具体地,研究发现陷阱集合受HD驱动器的抖动曲线、符号间干扰特性和脉冲成形方案的影响。这些因素不仅可以在不同制造商的HD驱动器之间改变,而且还可以在来自相同制造商的不同HD驱动器型号之间,甚至在相同型号的不同产品批次改变。因此,即使在两个相同型号的硬盘驱动器之间,陷阱集合也可能改变。仿真如此众多的不同HD驱动器的LDPC陷阱集合是不现实的。另外,当与特定HD驱动器配对使用时,仅装载了大量HD驱动器公共的陷阱集合的TS-ROM可能不能产生所需的错误平台改进级别。
一种改进TS-ROM的性能的方法是给由基于FPGA的离线仿真工具(例如,图4的工具400)产生的信息补充从制造的设备的测试模型获得的结果。典型地,一旦结束了电路设计,将制造并且分发该设计的有限数目的测试模型,以便在开始大量生产之前进行测试。虽然可能要花费一年以便确定对于特定的HD驱动器实现产生10-15的BER的陷阱集合,但仅用一天就可以确定产生10-12的BER的陷阱集合。因此,测试模型被以LDPC测试模式运行有限的时间段,并且存储任意发现的陷阱集合。将未在TS-ROM中的任意被发现的陷阱集合添加到TS-ROM内。通过使用分发给消费者的实际设备,这种方法可以捕捉可能逃过了基于FPGA的离线仿真工具(例如,图4的工具400)的陷阱集合。
陷阱集合随机访问存储器(TS-RAM)
一种对TS-ROM的静态陷阱集合列表的运行时替换是在陷阱集合随机访问存储器(TS-RAM)中存储陷阱集合信息,并且将图4的离线陷阱集合仿真工具400变为运行在实际的单个设备(例如,HD驱动器)上的运行时陷阱集合收集和分析工具。取代从信道和信号模块(例如,图4的模块404)接收初始值,运行时工具处理特定设备的实际信号。运行时工具包括列表解码器功能,即,它将尝试匹配观察到的USC和TS-RAM中存储的陷阱集合信息,并且如果发现了匹配,使用存储的信息改变解码器的位节点值,并且重新启动解码器。如果未发现匹配,则运行时工具分析观察到的陷阱集合,即,识别与该USC相关联的EBN,并且确定观察到的陷阱集合是否满足存储在TS-RAM中的阈值要求(例如,DTS-N中的成员资格)。
在理论上,上述的TS-RAM工具适合于任意实现的陷阱集合简档。现实情况是由图4的离线仿真工具400执行的陷阱集合/优势陷阱集合仿真是计算复杂的。特别地,从可能的数十亿个陷阱集合构建优势陷阱集合尤其复杂。这种复杂性使得上述TS-RAM工具不适合于大多数HD驱动器。通常,HD驱动器高速输出数据(每秒4吉比特),并且需要非常低的BER/错误平台率(例如,10-13到10-15),但是仅在其固件中提供不多的计算资源。
另外,TS-RAM工具,例如,图4的离线仿真工具400,需要正确码字(CCW)以便产生EBN索引。容易在离线仿真环境中获得CCW,但是在运行时环境中不易获得。
根据本发明的某些实施例,执行用于在ROM中组织存储的陷阱集合简档的方法。按照优势,即,按照其对LDPC解码器的错误平台特性的影响给陷阱集合简档评分。更具优势的陷阱集合简档包含关于不满足校验节点(USC)和误满足校验节点(MSC)两者的信息,而具有较少优势的陷阱集合简档仅包含关于USC的信息。然后,将陷阱集合简档信息组织到若干链接的分层数据表内,这些表允许使用指针跟随搜索迅速定位并且检索优势最大的匹配的陷阱集合简档。
根据本发明的某些实施例,执行用于在RAM中收集和识别优势陷阱集合的高效的运行时方法。如果可能,新发现的陷阱集合被存储在RAM中,并且然后根据一个或更多个下列因素排序或评分:自最后匹配一个陷阱集合以来,RAM被搜索的次数;自被添加到RAM内以来,陷阱集合被匹配的总次数;不满足校验节点的数目;和错误位节点的数目。评分低的陷阱集合简档被从RAM中删除,并且给新发现的陷阱集合简档留出空间。因此,除了或取代使用诸如图4的DTS-N汇编器422中所使用的用于事先识别优势陷阱集合的高计算复杂度的离线方法,本发明的这些实施例执行低计算复杂度的在后方法,其中尽可能多地存储新发现的陷阱集合,并且通过周期评分和删除去除非优势陷阱集合简档。
本发明的实施例通常是计划内(on-the-fly)的方法,即,它们能够在LDPC解码的时钟周期预算内恢复DCCW,并且因此不会负面影响系统的吞吐率。
图5是根据本发明的一个实施例的LDPC解码系统500的方框图。在与图1的现有技术的HD驱动器100类似的本发明的HD驱动器中,图5的LDPC解码系统500将被实现为与图1的LDPC解码器112类似的LDPC解码器的一部分。对此而言,图5的输入Lch值类似于图1的解码器输入Lch值,并且图5的输出
Figure GPA00001047124400161
矢量类似于图1的解码信息字。
LDPC解码器502接收Lch值,执行图3的LDPC解码处理300,并且向后处理器504和TS-RAM更新器506输出矢量后处理器504被连接到后处理(PP)方法列表508,后处理(PP)方法列表508是包含表示后处理方法,例如,TS-ROM列表解码、TS-RAM列表解码等的一个或更多个可执行程序的存储器。如果后处理器504需要执行特定的PP方法,后处理器504从PP方法列表508中读取可执行程序,并且运行该程序。后处理器504可以并行或串行执行任意数目的这些PP方法。后处理器504输出矢量除了作为LDPC解码系统500的输出之外,矢量
Figure GPA00001047124400164
还被发送到TS-RAM更新器506。
数据表
在执行过程中,特定PP方法可能需要访问与PP方法的可执行程序代码相分离的数据结构。具体地,TS-ROM和TS-RAM列表解码方法分别访问存储在TS-ROM510和TS-RAM520中的陷阱集合信息的一个或更多个列表。
在图5的示例实施例中,TS-ROM510包括4个表:B表512、P表514、E表516和EI表518。TS-RAM520包括2个表,RAM P表522和RAM索引524。表是被组织在一个或更多个相等大小的行(记录)和一个或更多个相等大小的列(字段)内的数字数据的二维矩阵。表的记录被从上到下从0开始顺序编号。这个编号是记录号。
P表514和522包含关于USC和其相关EBN的信息。B表512包含用于ROM P表514的指针信息。EI表518包含关于MSC的信息,并且E表516包含用于EI表518的指针信息。RAM索引表524包含用于RAM B表522的指针信息。
图6是图5的ROM P表514的示例布局。ROM P表514包含陷阱集合简档信息,即,USC和EBN索引。ROM P表514包含若干记录(行),每一个记录用于一个存储的陷阱集合的一个USC。记录号602是记录在P表514中的从0开始的顺序位置。
ROM P表514中的每个记录包括3个字段:LAYER 604,USC_INDEX 606和EBN_INDEX 608。某些LDPC解码器被配置为并行地执行被另称为层的一组更新操作。LAYER 604指示包含在USC中的解码层的数目。USC_INDEX 606包含USC的索引。EBN_INDEX 608包含与该USC相关联的一个或两个EBN的索引。
ROM P表514首先被按照b(即,
Figure GPA00001047124400171
中USC的数目)排序,例如,首先是b=2的所有陷阱集合,后面是所有b=3的陷阱集合等。因此,存在用于b=2值域中的每个陷阱集合(例如,610、612)的两个记录,最后跟着用于b=3的陷阱集合的三记录集合(例如,614、616),用于b=4的陷阱集合的四记录集合(例如,618、620)等等。
在每个b值域中,按照优势,即,陷阱集合对错误平台特性的影响对陷阱集合排序。对错误平台特性具有更大影响的陷阱集合出现在该b值域的开头处,并且具有较少影响的陷阱集合出现在靠近结尾处。然后按照USC_INDEX 606给特定陷阱集合的记录排序。
图7是图5的B表512的示例布局。对于ROM P表514中的每个b值,B表512包含指向该b值在ROM P表514和E表516中的首次出现的指针,以及该b值在E表516中的记录的数目。因此,B表512中存在用于每个b值的单个记录,其中由记录号702指示b值。然而,记录号702从0开始,而b值通常从2或更大开始。因此,在本发明的这种示例实施例中,给记录号702添加一个偏移,以便产生相应的b值。例如,如果仅存储b≥2的陷阱集合,则给每个记录号添加偏移2,以便得到相应的b值。
字段PTABLE_START_OFFSET 704包含特定b值在ROM P表514中首次出现的位置。字段ETABLE_START_OFFSET 706包含特定b值在E表516中首次出现的位置。字段NUM_ETABLE_ENTRIES 708包含这个特定b值在E表516中的记录数目。
图8是图5的E表516的示例布局。E表516包含指向EI表518中的MSC记录的指针。E表516中的每个记录具有记录号802、EITABLE_START_ADDRESS字段804和EITABLE_END_ADDRESS字段806。EITABLE_START_ADDRESS字段804包含指向相应数据在EI表518中的首次出现的指针,并且EITABLE_END_ADDRESS字段806包含指向相应数据在EI表518中的最后出现的指针。
图9是图5的EI表518的示例布局。EI表518存储与MSC相关联的EBN的索引。EI表518中的每个记录具有记录号902,并且包含两个字段:BLOCK_COLUMN字段904和B_INDEX字段906。BLOCK_COLUMN字段904指示EBN所在的块列,并且B_INDEX字段906是EBN的索引。
图10是图5的RAM P表522的示例布局。RAM P表522存储不能在ROM P表514中找到的新识别出的陷阱集合的简档。RAM P表522中的每行(即,记录)具有记录号1002,并且包括两个字段:两位TAG字段1004和R_WORD字段1006。TAG字段1004的4个可能的值指示记录类型和R_WORD字段1006内的数据的结构。如果TAG字段1004具有值11,则该记录是包含关于整个陷阱集合的信息的主记录。如果TAG字段1004具有值10,则该记录是包含关于陷阱集合简档内的特定USC的信息的副记录。如果TAG字段1004具有值00或01,则R_WORD字段1006为空,即,这个记录是可用于存储新识别的陷阱集合的简档信息。陷阱集合简档通常包括单个主记录,后面跟有b个副记录。
如果记录是主记录,则R_WORD字段1006包含4个子字段:(i)b值子字段1008,(ii)a值子字段1010,其记录陷阱集合EBN的数目,(iii)LAST_HIT_NUM子字段1012,其指示最后匹配这个陷阱集合的TS-RAM搜索的数目,和(iV)HIT_COUNTER子字段1014,其记录自从这个陷阱集合被存储在TS-RAM内以来,这个特定的陷阱集合简档已经与观察到的陷阱集合匹配了多少次。
如果记录是副记录,R_WORD字段1006包含陷阱集合内的单个USC的层(LAYER字段1016)和索引(USC_INDEX字段1018),以及与该USC相关联的一个或更多个EBN的索引(EBN_INDEX字段1020)。
图11是图5的RAM索引表524的示例布局。RAM索引表524中有用于RAM P表522中的每个陷阱集合简档的记录。RAM索引表524中的每个记录包括单个字段,RAM_PTABLE_OFFSET 1102。RAM_PTABLE_OFFSET 1102是指向RAM索引表524中的特定陷阱集合简档的开始的指针,即,RAM_PTABLE_OFFSET 1102包含陷阱集合简档主记录的图10的记录号1002。RAM索引表524中的记录被按照优势排序,从而RAM索引表524中最后的记录指向RAM P表522中最不具优势的记录。
图12是由图5的LDPC解码系统500使用的示例处理1200的流程图。处理在步骤1202处开始,并且进入步骤1204,由图5的LDPC解码器对Lch值进行LDPC解码。如果步骤1204的LDPC解码产生DCCW,则处理1200在步骤1218处终止。否则,处理进入步骤1206的TS-ROM列表解码(由图5的后处理器504执行)。
如果步骤1206产生DCCW,则处理1200在步骤1218处终止。否则,处理进入步骤1208的TS-RAM列表解码(由图5的后处理器504执行)。如果步骤1208产生DCCW,则处理1200在步骤1218处终止。否则,处理进入以类似方式操作的一个或更多个附加的后处理方法1210、1212、...、1214(由图5的后处理器504执行)。
如果TS-RAM列表解码1208或附加的后处理方法1210、1212...、1214产生DCCW,则处理进入步骤1216,其中可能以TS-RAM更新器508更新图5的TS-RAM520。然后,处理在步骤1218处终止。
图12显示了后处理方法1207-1214的一种可能的顺序。可以采用后处理方法的几乎任意顺序,虽然某些顺序比其它顺序更实用。例如,希望将TS-ROM列表解码安排在TS-RAM列表解码之前,以便确保已经存储在ROM中的陷阱集合不会在RAM中重复。
TS-ROM列表解码
图13是由图5的后处理器504执行的图12的示例TS-ROM列表解码处理1206的流程图。处理在步骤1302处开始,并且进入步骤1304,其中处理1206确定从图12的LDPC解码器1204接收的矢量
Figure GPA00001047124400201
中的观察到的USC的数目bobserved是否大于0并且小于可由处理1206有效地处理的USC的最大数目bmax。如果bobserved=0,则矢量
Figure GPA00001047124400202
中没有USC(即,
Figure GPA00001047124400203
是近码字,误校正),并且因此,不存在要匹配的陷阱集合。如果步骤1304的估计为假,则处理1206终止。否则,处理继续到步骤1306。
在步骤1306,存储解码器的当前状态,并且将其标记为状态1。然后处理继续到步骤1308,其中对观察到的USC排序,首先按照解码层排序,然后按照索引排序。接着,在步骤1310,从图5的B表512中取出并且存储下面4个值:
(1)对于b=bobserved,图7的PTABLE_START_OFFSET字段704;
(2)对于b=bobserved+1,图7的PTABLE_START_OFFSET字段704;
(3)对于b=bobserved,图7的ETABLE_START_OFFSET字段706;和
(4)对于b=bobserved,图7的NUM_ETABLE_ENTRIES字段708。
第一个值指示处理1206从哪里开始其对图5的P表514中的匹配陷阱集合信息(即,USC和EBN索引)的搜索,并且第二个值指示处理1206何时结束其搜索。类似地,第三个值和第四个值指示处理1206从哪里开始和结束其对扩展信息(即,MSC索引)的搜索。
因此,例如,如果bobserved=5,则处理1206取回对于b=5和b=6的图7的PTABLE_START_OFFSET字段704,以及对于b=5的图7的ETABLE_START_OFFSET字段706和图7的NUM_ETABLE_ENTRIES字段708。
接着,在步骤1312,处理1206选择图5的P表514,并且进入由b=bobserved的PTABLE_START_OFFSET的存储值所指示的地址。接着,在步骤1314,在TS-ROM中搜索与观察到的USC匹配的陷阱集合。
图14是图13的示例TS-ROM搜索处理1314的流程图。处理1314在步骤1402开始,并且在步骤1404搜索图5的P表514中的作为观察到的USC的同构匹配的下一个记录。观察到的USC的特定集合的同构匹配是陷阱集合,其中USC的数目和这些USC之间的距离与观察到的USC相同。因此,如果观察到的USC是[1,3,10],则[1,3,10]是一种匹配,并且[2,4,11]是一种同构匹配,同样还有[3,5,12],[4,6,13]等等。如果未发现匹配,则处理1314以无匹配状态1406终止。
相反,如果在步骤1404发现匹配,则在步骤1408,存储匹配的P表记录的图6的EBN_INDEX字段608的值。EBN_INDEX字段包含与这个匹配的陷阱集合相关联的一个或可能两个错误位节点的索引。
接着,处理1314试图定位任何扩展信息,即,与这个匹配的陷阱集合中的误满足校验节点(MSC)相关联的EBN的索引。扩展信息保持在EI表518中。然而,不是为存储在P表514内的所有陷阱集合保持扩展信息,而是仅为每个b值域中的陷阱集合的一个子集保持。该子集与特定b值域中更有优势的陷阱集合相对应,即,对错误平台特性具有更显著影响的那些陷阱集合。如上所述,在P表514内,特定b值域内的陷阱集合按优势排序;因此,仅为b值域内的前x个记录保持扩展信息。以B表512中的字段ETABLE_START_OFFSET706和NUM_ETABLE_ENTR1ES 708指示EI表518中每个b值域的开始和结束。
处理1314在搜索ROM P表514时保持陷阱集合的内部计数。因此,例如,如果处理1314正在搜索图6的P表514中的b=2的陷阱集合,处理1314将记录0和1识别为陷阱集合0(例如,图6的陷阱集合610),将记录2和3识别为陷阱集合1(例如,图6的陷阱集合612)并且依此类推。这个陷阱集合号被称为TSNUM。
在步骤1410,对TSNUM和在图13的步骤1310存储的NUM_ETABLE_ENTRIES字段的值进行比较。如果TSNUM大于NUM_ETABLE_ENTRIES的值,则没有可获得的扩展信息,并且处理1314以没有扩展信息1412的匹配状态终止。
相反,如果在步骤1410发现TSNUM小于或等于NUM_ETABLE_ENTRIES的存储值,则存在这个匹配的陷阱集合的扩展信息。在步骤1414,将TSNUM加到ETABLE_START_OFFSET的存储值,以便产生变量ETABLE_ENTRY_ADDRESS。
接着,在步骤1416,处理1314选择图5的E表516,进入具有等于变量ETABLE_ENTRY_ADDRESS的值的地址的记录,并且存储图8的EITABLE_START_ADDRESS字段804和图8的EITABLE_END_ADDRESS字段806的值。
接着,在步骤1418,处理1314选择图5的EI表518,并且存储在所存储的EITABLE_START_ADDRESS和EITABLE_END_ADDRESS的值之间的每个记录的图9的BLOCK_COLUMN字段904和图9的B_INDEX字段906的值。最后,处理1314以具有扩展信息1420的匹配状态退出。
返回图13,如果步骤1314以无匹配状态终止,则处理1206在步骤1316终止。
如果步骤1314以无扩展信息匹配状态终止,则处理1206拥有USC索引以及与这个陷阱集合相关联的某些EBN索引,但是没有扩展信息(即,与MSC相关联的EBN的索引)。在这种情况下,步骤1318翻转这些EBN索引处的位节点,并且在步骤1320执行迭代LDPC解码。除了跳过解码器初始化步骤304和校验子校验步骤306之外,步骤1320的处理与图3的处理300相同。如果步骤1320收敛到DCCW,则处理1206在步骤1316终止。否则,在步骤1322,解码器恢复到状态1,并且在步骤1314寻找下一个匹配的陷阱集合。
如果步骤1314以具有扩展信息的匹配状态终止,则处理1206拥有与匹配的陷阱集合相关联的所有EBN的索引。在该情况下,不必执行信任传播(例如,图3的步骤310和312)。相反,在步骤1324,翻转EBN,并且将得到的矢量提交校验子校验1326。如果矢量
Figure GPA00001047124400232
在步骤1326未通过校验子校验,则处理1206进入步骤1322。相反,如果矢量在步骤1326通过了校验子校验(即,矢量
Figure GPA00001047124400234
是有效的码字),则在步骤1328,对矢量执行CRC校验,以便确定它实际上是否是正确的码字。如果矢量
Figure GPA00001047124400236
通过了CRC校验1328(即,矢量
Figure GPA00001047124400237
是DCCW),则处理1206在步骤1316终止。如果矢量
Figure GPA00001047124400238
未通过CRC校验1328,则处理1206进入步骤1322。
TS-RAM列表解码
由图5的后处理器504使用的另一种PP方法是图12的TS-RAM列表解码1208,即,使用存储在易失存储器诸如随机访问存储器内的陷阱集合信息对陷阱集合解码。TS-RAM列表解码类似于TS-ROM列表解码,即,图5的RAM P表522存储所选择的陷阱集合的USC和EBN信息。然而,与ROM P表514不同,在运行时过程中由图5的TS-RAM更新器506改变RAM P表522。因此,仅存储最重要的信息,例如,USC和EBN索引。不在TS-RAM中保持扩展信息(例如,图5的EI表518)。
不以任意方式对RAM P表522中简档排序。相反,一个单独的图16的RAM索引表524保持按优势排序的存储在RAM P表522内的陷阱集合简档的地址列表。
图15是图12的示例TS-RAM列表解码处理1208的流程图。处理在步骤1502开始,并且进入步骤1504,步骤1504的目的和操作与图13的步骤1304相同。如果步骤1504估计为假,处理1208在步骤1506终止;否则,处理继续到步骤1508,其中记录当前解码器状态,并且将其标记为状态1。然后处理继续到步骤1510。
在步骤1510,处理1208进入图5的RAM P表522中的最具优势的陷阱集合简档。具体地,由于RAM索引表524按照优势给RAMP表522中的简档评分,处理1208进入RAM索引表524中的第一个记录,并且检索图11的RAM_PTABLE_OFFSET字段1102的值。然后,处理1208将RAM P表522中的指针移动到存储的偏移值。
在步骤1512,处理1208递增全局变量RAM_SEARCH_COUNT,全局变量RAM_SEARCH_COUNT跟踪执行的TS-RAM搜索的总数,即,已经执行处理1208的总次数。另外,在步骤1512,处理1208以由RAM索引表524指定的顺序,即,以下降的优势的顺序在RAMP表522内的简档中校验观察到的USC的同构匹配。如果未发现匹配,则处理继续到步骤1514。
相反,如果在步骤1512发现了匹配,则步骤1516,匹配的简档的图10的LAST_HIT_NUM字段1012被设置为全局变量RAM_SEARCH_COUNT的值,并且图10的HIT_COUNTER字段1014增加1。然后,在步骤1518,存储图10的EBN_INDEX字段1020的值。步骤1520翻转位于EBN_INDEX值处的位节点,并且在步骤1522,执行LDPC解码。步骤1522与图13的步骤1320相同。如果解码处理1522收敛到DCCW,则处理继续到步骤1514;否则,在步骤1524,解码器被重置为状态1,并且然后处理继续到步骤1512,其中在P表522中寻找另一个同构匹配。
在步骤1514,处理1208更新图11的RAM索引表524。具体地,步骤1514按照RAM P表522中的字段,例如,LAST_HIT_NUM1012、HIT_COUNTER字段1014、USC节点数目字段1008和EBN数目字段1010的任意组合对RAM P表522中的所有TS-RAM简档排序。然后所有有序简档的地址,即,所有主记录的记录号1002被存储为图11的RAM索引表524中的记录。简档地址被以在步骤1514中排序的相同顺序存储在RAM索引表524中(例如,从最具优势到最不具优势)。
一旦完成了步骤1514,处理在步骤1506终止。
TS-RAM更新器
如在对图12的处理1200的讨论中解释的,如果除了TS-ROM列表解码1206之外的任意后处理方法获得了DCCW,则可能意味着发现了新的陷阱集合。如果是这样,步骤1216可以尝试将新的陷阱集合添加到图5的RAM P表522。
在一个实施例中,步骤1216是用于保留TS-RAM520中的优势陷阱集合的低复杂度处理。具体地,在这个实施例中,步骤1216不执行穷尽性计算,以便事先确定优势陷阱集合,诸如由图4的DTS-N汇编器422执行的计算,而是相反(i)按照一个或更多个因素,例如,自从陷阱集合被最后匹配以来,TS-RAM已被搜索了多少次、陷阱集合已被匹配的总次数、USC数目、EBN数目等的任意组合给TS-RAM陷阱集合评分;并且然后(ii)清除评分最低的陷阱集合,以便给新发现的陷阱集合留出空间。使用这些因素给TS-RAM520中的陷阱集合评分通常比由离线仿真工具(例如,图4的汇编器422)执行的分析的复杂度低得多。
图16是图12的示例TS-RAM更新处理1216的流程图。处理在步骤1602开始,并且进入步骤1604,其中确定是否由图12的TS-RAM列表解码处理1208产生了DCCW。如果为是,则不需要向TS-RAM中添加陷阱集合简档,并且处理1216在步骤1608终止。
相反,如果步骤1604估计为否/假,则意味着不同于TS-ROM或TS-RAM列表解码的某个后处理方法获得了DCCW,因此已经发现了新的陷阱集合,并且应当将其附加到RAM。在步骤1610,产生陷阱集合简档。陷阱集合简档包括陷阱集合USB的索引和与这些USB相关联的EBN的索引。已经由图5的LDPC解码器502产生了USB索引。为了产生EBN索引,步骤1610对由后处理器504产生的DCCW和由LDPC解码器502产生的矢量
Figure GPA00001047124400252
进行比较。
在步骤1612,确定是否存在足够的空间以便附加新的陷阱集合简档。如果是这样,则在步骤1614,新的陷阱集合简档被附加到RAMP表522,并且处理1216进入步骤1616。
然而,如果在步骤1612,RAM P表522中没有足够的空间以便附加新的陷阱集合简档,则在步骤1618,清除评分最低的符合清除条件的陷阱集合简档。在这个例子中,按照自从该简档被最后匹配以来RAM被搜索的次数,即,全局变量RAM_SEARCH_COUNT的值减去简档的LAST_HIT_NUM字段的值确定简档对清除条件的符合性。如果插入搜索的数目大于指定阈值,则简档符合清除条件。假设所有简档首先按照对清除条件的符合性评分,所有符合清除条件的记录在图11的RAM索引表524的结尾处。
因此,在步骤1618,选择RAM索引表524中的最后记录,并且检索RAM_PTABLE_OFFSET字段1102的值。如果RAM P表522内的位于存储的偏移值(由检索到的RAM_PTABLE_OFFSET值指示)处的简档符合清除条件,则删除RAM P表522中的位于存储的偏移值处的主记录和相关联的副记录。在步骤1620,更新RAM索引表MSB,并且控制循环回到步骤1612,其中确定RAM P表522内是否存在足够的空间以便附加新的陷阱集合简档。步骤1620的处理与图15的步骤1514的处理相同。
相反,如果评分最低的简档不符合清除条件,则处理继续到步骤1616。在步骤1616,更新RAM索引表523,并且处理在步骤1608终止。步骤1616的处理与图15的步骤1514的处理相同。
虽然以实施LDPC编码和解码的硬盘驱动器的上下文描述了本发明,但本发明不限于此。一般地,本发明可被实现在涉及LPDC编码和解码的任意适合的通信路径中。
另外,虽然上面使用的示例信任传播算法是偏移量最小和算法(OMS),但本发明不限于此,而可以用于任意信任传播变体,例如,和积算法(SPA)或Bahl-Cocke-Jelinek-Raviv(BCJR)算法。
另外,虽然上面使用的信任传播例子使用特定的解码调度(泛滥调度),其中在单个校验节点更新步骤中更新所有校验节点,之后在单个位节点更新步骤中更新所有位节点,但本发明不限于此,而可以用于任意解码调度,例如,行串行调度、列串行调度和行-列串行调度。
另外,虽然上面使用的示例LDPC解码器是不分层的解码器,但本发明不限于此,而可以使用分层解码器和不分层解码器。
另外,虽然上面给出的示例TS-RAM实现假设在HD驱动器的读通道内的RAM中存储陷阱集合简档,但本发明不限于此。RAM P表(例如,图5的522)还可以存储在HD驱动器的盘片上,或存储在诸如闪存的单独存储器内。
另外,虽然以只读存储器的上下文描述了上面给出的示例TS-ROM实现,但本发明不限于此。一般地,说明书和权利要求书使用的术语“ROM”应当被解释为指存储静态TS简档数据的任意数据存储设备,不论该设备内的数据是否能够被修改。
另外,虽然以LDPC码的上下文描述了本发明的实施例,但本发明不限于此。可以为可由图定义的任意码实现本发明的实施例,例如,tornado码、结构化IRA码,因为它们都是具有陷阱集合问题的以图定义的码。
虽然以接收对数似然比描述了本发明,但本发明不限于此。可设想处理诸如似然比的其它软值或硬判决值的本发明的实施例。
本发明可被表达为方法和用于实现这些方法的装置的形式。本发明可被表达为包含在有形介质内的程序代码的形式,所述有形介质诸如是磁记录介质、光学记录介质、固态存储器、软盘、CD-ROM、硬盘驱动器或任意其它机器可读的存储介质,其中当程序代码被装入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。本发明还可被表达为,例如,存储在存储介质内的、被装入和/或由机器执行的、或在某种传输介质或载体上传输的程序代码的形式,诸如在电线或电缆上传输、通过光纤传输或通过电磁辐射传输,其中当程序代码被装入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。当在通用处理器上实现时,该程序代码段与处理器相结合,以便提供类似于专用逻辑电路操作的独特设备。
除非明确说明,每个数值和范围应被解释为是近似的,就如同在该值或范围前面加有单词“大约”或“近似”一样。
还应当理解,本领域的技术人员可以对为了解释本发明的属性而描述和示出的部件的细节、材料和布置进行各种改变,而不脱离由所附的权利要求书表述的本发明的范围。
权利要求书中使用的附图号和/或附图参考标记旨在标识所要求的主题内容的一个或更多个可能的实施例,以便于解释权利要求。这种使用不能被认为是将这些权利要求的范围必然地限制为相应附图中示出的实施例。
应当理解,此处提出的示例方法的步骤不必然需要以描述的顺序执行,并且这些方法的步骤的顺序应当被理解为仅是例子。同样,这些方法中可以包括附加步骤,并且可以在根据本发明的各种实施例的方法中忽略或组合某些步骤。
虽然以相应的标记以特定顺序叙述,如果有的话,下面的方法权利要求中的元素,除非权利要求表述暗示着实现某些或全部这些元素的特定顺序,这些元素不必然旨在局限于以该特定顺序实现。
此处对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可被包括在本发明的至少一个实施例中。在说明书各处出现的短语“在一个实施例中”不必然全部指相同的实施例,不同的或可替换的实施例也不必然互相排除在其它实施例之外。这同样适用于术语“实现”。

Claims (10)

1.一种用于对使用基于图的码编码的编码数据进行解码的方法,该方法包括以下步骤:
(a)对所述编码数据执行解码以产生候选解码码字,
(b)如果所述候选解码码字不是解码正确的码字,执行陷阱集合TS—RAM列表解码方法,以便试图产生解码正确的码字,其中:
所述候选解码码字与至少一个观察到的不满足校验USC节点相关联,其中观察到的USC节点是未通过奇偶校验的检验节点;并且
所述TS—RAM列表解码方法访问存储在RAM存储器内的一个或更多个TS简档以识别与所述至少一个观察到的USC节点相对应的TS简档,每个TS简档与不同的陷阱集合相对应;
(c)如果所述TS—RAM列表解码方法没有在所述RAM存储器内识别出与所述至少一个观察到的USC节点相对应的TS简档,则确定是否要更新所述RAM存储器以将与所述至少一个观察到的USC节点相对应的新的TS简档存储在所述RAM存储器内;和
(d)如果步骤(c)确定为更新所述RAM存储器,则更新所述RAM存储器以存储新的TS简档。
2.如权利要求1所述的方法,其中:
步骤(c)还包括以下步骤:
(c1)执行另一种解码方法,以便试图产生解码正确的码字;和
(c2)如果所述另一种解码方法产生了解码正确的码字,则基于所述候选解码码字和所述解码正确的码字产生新的TS简档。
3.如权利要求1所述的方法,其中如果步骤(c)确定为更新所述RAM存储器,则步骤(d)包括以下步骤:
(d1)选择要进行清除的以前存储在所述RAM存储器内的一个或更多个TS简档;
(d2)从所述RAM存储器中清除所选择的一个或更多个TS简档;和
(d3)将新的TS简档存储在所述RAM存储器内。
4.如权利要求3所述的方法,其中步骤(d1)包括基于下列中的一个或更多个选择TS简档进行清除:
(i)自从所选择的TS简档在TS—RAM列表解码方法的以前执行过程中被匹配以来,所述RAM存储器在TS—RAM列表解码方法的以前执行过程中已被搜索的次数;
(ii)自从所选择的TS简档被存储在所述RAM存储器内以来,所选择的TS简档在TS-RAM列表解码方法的以前执行过程中已被匹配的总次数(HIT_COUNTER);
(iii)所选择的TS简档中不满足校验节点的数目(b);和
(iV)所选择的TS简档中的错误位节点的数目(a)。
5.如权利要求1所述的方法,其中每个TS简档包括:
相应陷阱集合中的不满足校验节点的数目(b);
相应陷阱集合中的每个不满足校验节点的标识(USC_INDEX);和
相应陷阱集合中的每个不满足校验节点的至少一个错误位节点的标识(EBN_INDEX)。
6.如权利要求1所述的方法,其中:
所述TS-RAM解码方法包括:
(b1)识别与所识别出的TS简档相关联的一个或更多个错误位节点(EBN);
(b2)修改所述一个或更多个错误位节点以生成修改的候选解码码字;和
(b3)对修改后的候选解码码字执行LDPC解码。
7.如权利要求1所述的方法,其中当所存储的TS简档的一个或更多个USC节点构成与所述至少一个观察到的USC节点的同构匹配时,所存储的TS简档与所述至少一个观察到的USC节点相对应。
8.如权利要求1所述的方法,其中所述基于图的码字是低密度奇偶校验LDPC码。
9.如权利要求1所述的方法,还包括:基于相应的陷阱集合的优势度对存储在所述RAM存储器内的TS简档进行排序。
10.一种用于对使用基于图的码编码的编码数据进行解码的装置,该装置包括:
(a)用于对所述编码数据执行解码以产生候选解码码字的装置;
(b)用于如果所述候选解码码字不是解码正确的码字执行TS—RAM列表解码方法以便试图产生解码正确的码字的装置,其中:
所述候选解码码字与至少一个观察到的不满足校验USC节点相关联,其中观察到的USC节点是未通过奇偶校验的检验节点;并且
装置(b)访问存储在RAM存储器内的一个或更多个TS简档以识别与所述至少一个观察到的USC节点相对应的TS简档,每个TS简档与不同的陷阱集合相对应;
(c)用于如果所述TS—RAM列表解码方法没有在所述RAM存储器内识别出与所述至少一个观察到的USC节点相对应的TS简档,则确定是否要更新所述RAM存储器以将与所述至少一个观察到的USC节点相对应的新的TS简档存储在RAM存储器内的装置;和
(d)用于如果装置(c)确定为更新所述RAM存储器,则更新所述RAM存储器以存储新的TS简档的装置。
CN2008801064323A 2008-08-15 2008-12-12 近码字的ram列表解码 Active CN101803205B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8929708P 2008-08-15 2008-08-15
US61/089,297 2008-08-15
PCT/US2008/086523 WO2010019168A1 (en) 2008-08-15 2008-12-12 Ram list-decoding of near codewords

Publications (2)

Publication Number Publication Date
CN101803205A CN101803205A (zh) 2010-08-11
CN101803205B true CN101803205B (zh) 2013-12-18

Family

ID=41669126

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2008801064573A Expired - Fee Related CN101803206B (zh) 2008-08-15 2008-12-12 近码字的rom列表解码
CN2008801064323A Active CN101803205B (zh) 2008-08-15 2008-12-12 近码字的ram列表解码
CN200980100811.6A Expired - Fee Related CN101836191B (zh) 2008-08-15 2009-04-08 使用多校验节点算法的纠错解码器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2008801064573A Expired - Fee Related CN101803206B (zh) 2008-08-15 2008-12-12 近码字的rom列表解码

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200980100811.6A Expired - Fee Related CN101836191B (zh) 2008-08-15 2009-04-08 使用多校验节点算法的纠错解码器

Country Status (7)

Country Link
US (17) US8464129B2 (zh)
EP (3) EP2181504A4 (zh)
JP (4) JP5363573B2 (zh)
KR (3) KR101418466B1 (zh)
CN (3) CN101803206B (zh)
TW (3) TWI508460B (zh)
WO (3) WO2010019168A1 (zh)

Families Citing this family (236)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281212B1 (en) 2007-03-30 2012-10-02 Link—A—Media Devices Corporation Iterative ECC decoder with out of order completion
US7958427B1 (en) * 2007-03-30 2011-06-07 Link—A—Media Devices Corporation ECC with out of order completion
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
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
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US8185796B2 (en) * 2008-08-20 2012-05-22 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
US8291285B1 (en) * 2008-09-18 2012-10-16 Marvell International Ltd. Circulant processing scheduler for layered LDPC decoder
CN102217200B (zh) * 2008-09-26 2014-08-27 新加坡科技研究局 译码电路及编码电路
US8321772B1 (en) * 2008-10-20 2012-11-27 Link—A—Media Devices Corporation SOVA sharing during LDPC global iteration
US8219873B1 (en) * 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
TWI469533B (zh) * 2008-11-07 2015-01-11 Realtek Semiconductor Corp 同位檢查碼解碼器及接收系統
US9356623B2 (en) 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
US8234556B2 (en) * 2008-12-30 2012-07-31 Intel Corporation Broadcast receiver and method for optimizing a scale factor for a log-likelihood mapper
KR101539002B1 (ko) * 2009-01-02 2015-07-24 삼성전자주식회사 1-비트용 에러 정정 장치 및 그 방법
US8347195B1 (en) * 2009-01-22 2013-01-01 Marvell International Ltd. Systems and methods for near-codeword detection and correction on the fly
US8291299B2 (en) 2009-03-05 2012-10-16 Lsi Corporation Turbo-equalization methods for iterative decoders
JP5432367B2 (ja) * 2009-04-21 2014-03-05 アギア システムズ インコーポレーテッド 書込み検証を使用した符号のエラーフロア軽減
US8578256B2 (en) 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
JP5489552B2 (ja) * 2009-06-19 2014-05-14 三菱電機株式会社 復号方法及び復号装置
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8423861B2 (en) 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8352847B2 (en) 2009-12-02 2013-01-08 Lsi Corporation Matrix vector multiplication for error-correction encoding and the like
US20110138255A1 (en) * 2009-12-09 2011-06-09 Lee Daniel Chonghwan Probabilistic Learning-Based Decoding of Communication Signals
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same
US8751912B1 (en) * 2010-01-12 2014-06-10 Marvell International Ltd. Layered low density parity check decoder
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8918696B2 (en) * 2010-04-09 2014-12-23 Sk Hynix Memory Solutions Inc. Implementation of LDPC selective decoding scheduling
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8589755B2 (en) * 2010-06-16 2013-11-19 Nec Laboratories America, Inc. Reduced-complexity LDPC decoding
US8555142B2 (en) * 2010-06-22 2013-10-08 Cleversafe, Inc. Verifying integrity of data stored in a dispersed storage memory
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
US8650457B1 (en) * 2010-09-03 2014-02-11 Marvell International Ltd. Methods and systems for reconfigurable LDPC decoders
US8681439B2 (en) 2010-09-13 2014-03-25 Lsi Corporation Systems and methods for handling sector gaps in inter-track interference compensation
CN103119563B (zh) * 2010-09-29 2016-03-23 国际商业机器公司 在固态存储器设备中的解码
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
JP5310701B2 (ja) * 2010-10-29 2013-10-09 株式会社Jvcケンウッド 復号装置および復号方法
US8549387B2 (en) * 2010-11-04 2013-10-01 Himax Media Solutions, Inc. System and method of decoding LDPC code blocks
JP2012124888A (ja) * 2010-11-15 2012-06-28 Fujitsu Ltd 復号装置及び復号方法
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
US8918694B2 (en) * 2011-02-28 2014-12-23 Clariphy Communications, Inc. Non-concatenated FEC codes for ultra-high speed optical transport networks
US10063262B2 (en) * 2011-02-28 2018-08-28 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US10103751B2 (en) * 2011-02-28 2018-10-16 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US8890862B2 (en) * 2011-03-14 2014-11-18 Ecole Centrale Paris Method and device for efficient parallel message computation for map inference
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8656245B2 (en) * 2011-04-13 2014-02-18 California Institute Of Technology Method of error floor mitigation in low-density parity-check codes
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8806309B2 (en) * 2011-06-13 2014-08-12 Silicon Motion Inc. Method for controlling message-passing algorithm based decoding operation by referring to statistics data of syndromes of executed iterations and related control apparatus thereof
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
JP2013029882A (ja) * 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
US9270297B2 (en) 2011-07-31 2016-02-23 SanDisk Technologies, Inc. Error-correction decoding with reduced memory and power requirements
US8645810B2 (en) 2011-07-31 2014-02-04 Sandisk Technologies Inc. Fast detection of convergence or divergence in iterative decoding
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
JP5772622B2 (ja) * 2012-01-20 2015-09-02 株式会社Jvcケンウッド 復号装置および復号方法
US20130198582A1 (en) * 2012-01-30 2013-08-01 Broadcom Corporation Supercharged codes
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8918704B2 (en) 2012-03-15 2014-12-23 David Declercq Decoding method and apparatus for non-binary, low-density, parity check codes
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
JP2013198017A (ja) * 2012-03-21 2013-09-30 Toshiba Corp 復号装置及び通信装置
US8949704B2 (en) 2012-03-22 2015-02-03 Lsi Corporation Systems and methods for mis-correction correction in a data processing system
TWI549487B (zh) 2012-04-15 2016-09-11 三星電子股份有限公司 對視訊進行解碼的方法
US8782487B2 (en) 2012-04-18 2014-07-15 Lsi Corporation Systems and methods for locating and correcting decoder mis-corrections
US8782488B2 (en) 2012-04-20 2014-07-15 Lsi Corporation Systems and methods for back step data decoding
US8879647B2 (en) * 2012-04-26 2014-11-04 Alcatel Lucent Methods of allocating resources in a system and systems implementing the same
US8739004B2 (en) * 2012-05-10 2014-05-27 Lsi Corporation Symbol flipping LDPC decoding system
US8736998B2 (en) * 2012-05-17 2014-05-27 Lsi Corporation Systems and methods for symbol re-grouping decoding processing
US8832532B2 (en) * 2012-06-20 2014-09-09 Lsi Corporation Dynamically controlling the number of local iterations in an iterative decoder
JP5591876B2 (ja) * 2012-06-22 2014-09-17 株式会社東芝 誤り訂正装置、誤り訂正方法およびプログラム
US8781033B2 (en) 2012-06-26 2014-07-15 Lsi Corporation Apparatus and method for breaking trapping sets
US8689076B2 (en) * 2012-07-02 2014-04-01 Lsi Corporation Systems and methods for enhanced bit correlation usage
CN103532568A (zh) * 2012-07-03 2014-01-22 联咏科技股份有限公司 迭代译码装置及其相关译码方法
US8640002B1 (en) * 2012-07-10 2014-01-28 Micron Technology, Inc. Resolving trapping sets
US10797728B1 (en) * 2012-07-25 2020-10-06 Marvell Asia Pte, Ltd. Systems and methods for diversity bit-flipping decoding of low-density parity-check codes
RU2012135285A (ru) 2012-08-16 2014-02-27 ЭлЭсАй Корпорейшн Ускоритель для средства проектирования и моделирования канала считывания записи
US9015547B2 (en) * 2012-08-17 2015-04-21 Lsi Corporation Multi-level LDPC layered decoder with out-of-order processing
US9203432B2 (en) * 2012-08-28 2015-12-01 Marvell World Trade Ltd. Symbol flipping decoders of non-binary low-density parity check (LDPC) codes
US8972832B2 (en) * 2012-09-04 2015-03-03 Lsi Corporation Optimized scheme and architecture of hard drive queue design
US8977924B2 (en) * 2012-09-10 2015-03-10 Lsi Corporation Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
RU2012139074A (ru) * 2012-09-12 2014-03-20 ЭлЭсАй Корпорейшн Инструмент для проектирования и моделирования канала считывания, имеющий модуль классификации кодовых слов
US8949702B2 (en) * 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US20140082449A1 (en) * 2012-09-18 2014-03-20 Fan Zhang LDPC Decoder With Variable Node Hardening
US8914710B2 (en) 2012-09-27 2014-12-16 Apple Inc. Soft message-passing decoder with efficient message computation
US8977926B2 (en) 2012-09-28 2015-03-10 Lsi Corporation Modified targeted symbol flipping for non-binary LDPC codes
US8862962B2 (en) 2012-10-03 2014-10-14 Lsi Corporation Layered decoder enhancement for retained sector reprocessing
US9112539B2 (en) 2012-10-18 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for iterative data processing using feedback iteration
US9219504B2 (en) * 2012-10-29 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. LEH memory module architecture design in the multi-level LDPC coded iterative system
US9037938B2 (en) * 2012-10-30 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Hardware architecture and implementation of low power layered multi-level LDPC decoder
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US8724243B1 (en) 2012-12-07 2014-05-13 Lsi Corporation Systems and methods for run length limited encoding
US8996969B2 (en) 2012-12-08 2015-03-31 Lsi Corporation Low density parity check decoder with miscorrection handling
US9619317B1 (en) * 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US8977939B2 (en) * 2012-12-21 2015-03-10 Lsi Corporation Majority-tabular post processing of quasi-cyclic low-density parity-check codes
JP2014147029A (ja) * 2013-01-30 2014-08-14 Nippon Hoso Kyokai <Nhk> Mimo−ofdm受信装置及びプログラム
US9037952B2 (en) * 2013-02-06 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory architecture for layered low-density parity-check decoder
CN103970619B (zh) * 2013-02-06 2017-09-29 东芝存储器株式会社 控制器
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9059742B1 (en) 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US9407290B2 (en) 2013-03-15 2016-08-02 Sandisk Technologies Llc Error-correction decoding with conditional limiting of check-node messages
US9513989B2 (en) 2013-03-26 2016-12-06 Seagate Technology Llc Priori information based post-processing in low-density parity-check code decoders
KR101913900B1 (ko) 2013-04-30 2018-10-31 웨스턴 디지털 테크놀로지스, 인코포레이티드 조기 디코딩 종료 검출을 갖는 디코더
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9094046B2 (en) 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US8976471B1 (en) 2013-09-05 2015-03-10 Lsi Corporation Systems and methods for two stage tone reduction
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9189333B2 (en) 2013-10-17 2015-11-17 Seagate Technology Llc Generating soft decoding information for flash memory error correction using hard decision patterns
US9436550B2 (en) 2013-10-31 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for internal disk drive data compression
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9306600B2 (en) 2014-01-06 2016-04-05 Micron Technology, Inc. Read threshold calibration for LDPC
CN104834476B (zh) 2014-02-10 2016-10-19 安华高科技通用Ip(新加坡)公司 基于段结束标记的数据对准的系统和方法
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
KR102194136B1 (ko) * 2014-03-12 2020-12-22 삼성전자주식회사 비이진 ldpc 부호를 이용한 이동 통신 시스템에서 오류 정정 장치 및 방법
US9564922B1 (en) 2014-03-19 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Error correction code decoder with stochastic floor mitigation
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9602141B2 (en) * 2014-04-21 2017-03-21 Sandisk Technologies Llc High-speed multi-block-row layered decoder for low density parity check (LDPC) codes
US9748973B2 (en) 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9503125B2 (en) * 2014-05-08 2016-11-22 Sandisk Technologies Llc Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes
TWI551058B (zh) * 2014-05-09 2016-09-21 衡宇科技股份有限公司 最小-總和演算法之低密度奇偶校驗碼解碼器及其解碼方法
US9184954B1 (en) 2014-07-02 2015-11-10 Seagate Technology Llc Systems and methods for directed soft data perturbation in layered decoding
US10084479B2 (en) * 2014-07-07 2018-09-25 Toshiba Memory Corporation Low BER hard-decision LDPC decoder
KR20160046467A (ko) 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템, 데이터 저장 시스템 및 그것의 동작 방법
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
US9602133B1 (en) 2015-01-27 2017-03-21 Microsemi Storage Solutions (U.S.), Inc. System and method for boost floor mitigation
KR20160102738A (ko) * 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
TWI578714B (zh) * 2015-04-02 2017-04-11 國立清華大學 低密度奇偶檢查碼解碼方法及用於該解碼方法的資訊儲存方法
US9384761B1 (en) 2015-04-09 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for flexible variable code rate support
US10567008B2 (en) * 2015-07-02 2020-02-18 Apple Inc. Stopping criteria for turbo decoder
KR20170050935A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
KR20170051039A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 반도체 장치 및 그 구동 방법
US9793924B1 (en) 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence
US20170288697A1 (en) * 2016-03-31 2017-10-05 Silicon Motion Inc. Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
KR102559925B1 (ko) * 2016-07-21 2023-07-26 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
KR102568716B1 (ko) * 2016-08-02 2023-08-21 삼성전자주식회사 Ldpc 코드의 디코딩을 위한 장치 및 방법
US10565040B2 (en) 2016-12-01 2020-02-18 Western Digital Technologies, Inc. ECC decoder with selective component disabling based on decoding message resolution
US10530393B2 (en) 2016-12-01 2020-01-07 Western Digital Technologies, Inc. Configurable ECC decoder
US10218384B2 (en) 2016-12-01 2019-02-26 Sandisk Technologies Llc ECC decoder with multiple decoding modes
US10534836B2 (en) * 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder
US10050643B2 (en) * 2016-12-14 2018-08-14 Via Technologies, Inc. Low-density parity-check apparatus and operation method thereof
TWI632780B (zh) 2016-12-30 2018-08-11 慧榮科技股份有限公司 解碼方法與相關解碼裝置
WO2018128559A1 (en) * 2017-01-09 2018-07-12 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
US10355712B2 (en) * 2017-03-31 2019-07-16 Sandisk Technologies Llc Use of multiple codebooks for programming data in different memory areas of a storage device
US10263640B2 (en) * 2017-04-04 2019-04-16 Seagate Technology Llc Low density parity check (LDPC) decoder with pre-saturation compensation
US20190058529A1 (en) * 2017-04-08 2019-02-21 Yahong Rosa Zheng Turbo receivers for single-input single-output underwater acoustic communications
US10637586B2 (en) 2017-08-25 2020-04-28 National Science Foundation Turbo receivers for multiple-input multiple-output underwater acoustic communications
US10447301B2 (en) * 2017-09-13 2019-10-15 Toshiba Memory Corporation Optimal LDPC bit flip decision
US10700706B2 (en) * 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
US10680647B2 (en) * 2017-09-25 2020-06-09 SK Hynix Inc. Min-sum decoding for LDPC codes
CN107528597B (zh) * 2017-09-25 2020-12-08 桂林电子科技大学 一种基于crc校验码的ldpc码后处理译码方法
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10523400B2 (en) 2017-11-20 2019-12-31 Nokia Technologies Oy Multi-code probabilistic signal shaping using frequency-division multiplexing
US10091046B1 (en) 2017-11-20 2018-10-02 Nokia Technologies Oy Joint use of probabilistic signal shaping and forward error correction
US10417089B2 (en) 2018-02-13 2019-09-17 Western Digital Technologies, Inc. Data storage device extending erasures for LDPC-type decoding
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US10200231B1 (en) 2018-03-22 2019-02-05 Nokia Technologies Oy Partial probabilistic signal shaping
KR20190115816A (ko) 2018-04-04 2019-10-14 고인석 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법
US10592334B2 (en) 2018-05-17 2020-03-17 Western Digital Technologies, Inc. Data storage device emphasizing parity sector processing of un-converged codewords
US10530390B2 (en) 2018-05-17 2020-01-07 Western Digital Technologies, Inc. Data storage device employing memory efficient processing of un-converged codewords
US10606699B2 (en) 2018-05-17 2020-03-31 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US11055171B2 (en) 2018-05-17 2021-07-06 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US10761927B2 (en) 2018-07-16 2020-09-01 Taiwan Semiconductor Manufacturing Co., Ltd. Detection and correction of data bit errors using error correction codes
US10944504B2 (en) 2018-08-02 2021-03-09 Nokia Solutions And Networks Oy Transmission of probabilistically shaped amplitudes using partially anti-symmetric amplitude labels
CN109361403A (zh) * 2018-08-06 2019-02-19 建荣半导体(深圳)有限公司 Ldpc译码方法、ldpc译码器及其存储设备
US10848182B2 (en) * 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
KR102582326B1 (ko) * 2018-09-20 2023-09-26 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
KR102592870B1 (ko) * 2018-10-12 2023-10-24 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
GB2580160B (en) 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
CN109739689B (zh) * 2018-12-25 2023-03-14 四川效率源信息安全技术股份有限公司 一种雕复SQL Server数据库文件的方法
US10892777B2 (en) 2019-02-06 2021-01-12 Seagate Technology Llc Fast error recovery with error correction code (ECC) syndrome weight assist
CN109921802B (zh) * 2019-02-26 2023-02-07 北京中科晶上科技股份有限公司 一种qc-ldpc码的译码方法、模块及装置
US10630313B1 (en) 2019-03-12 2020-04-21 Microsoft Technology Licensing, Llc High efficiency data decoder
US10666291B1 (en) 2019-03-12 2020-05-26 Microsoft Technology Licensing, Llc High efficiency data decoder
KR102588969B1 (ko) * 2019-03-19 2023-10-16 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11146289B2 (en) 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
KR20200124054A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11032023B1 (en) * 2019-05-21 2021-06-08 Tarana Wireless, Inc. Methods for creating check codes, and systems for wireless communication using check codes
US11063607B2 (en) * 2019-05-24 2021-07-13 Intel Corporation Compressing error vectors for decoding logic to store compressed in a decoder memory used by the decoding logic
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
US11088707B2 (en) 2019-06-29 2021-08-10 Intel Corporation Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
TWI705667B (zh) * 2019-09-20 2020-09-21 慧榮科技股份有限公司 產生具有符合所需之錯誤基數的低密度奇偶校驗碼的方法及裝置
US11424766B1 (en) 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders
US11456757B2 (en) * 2020-12-16 2022-09-27 SK Hynix Inc. Oscillation detection and mitigation in bit-flipping decoders
US11515891B2 (en) 2020-12-22 2022-11-29 Intel Corporation Application of low-density parity-check codes with codeword segmentation
CN112865812B (zh) * 2021-01-18 2022-09-30 武汉梦芯科技有限公司 一种多元ldpc译码方法、计算机存储介质及计算机
CN113098531B (zh) * 2021-04-19 2022-04-29 中南林业科技大学 一种基于最小和译码框架的动态偏移补偿方法
US11621727B2 (en) 2021-06-04 2023-04-04 SK Hynix Inc. Decoding systems and methods for local reinforcement
DE112022002131T5 (de) 2021-09-28 2024-04-11 Microchip Technology Inc. Ldpc-dekodierung mit trapped-block-management
US11626889B1 (en) * 2021-11-16 2023-04-11 L3Harris Technologies, Inc. Partial update sharing in joint LDPC decoding and ancillary processors
EP4216443A1 (en) 2022-01-25 2023-07-26 Nokia Solutions and Networks Oy Reduced-power ldpc decoding
CN115882873B (zh) * 2023-02-23 2023-05-23 成都星联芯通科技有限公司 低密度奇偶校验码译码方法、装置、通信设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242188A (zh) * 2008-03-10 2008-08-13 清华大学 基于哈密尔顿图的低密度奇偶校验码的纠错编码方法

Family Cites Families (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3260840A (en) * 1961-12-28 1966-07-12 Ibm Variable mode arithmetic circuits with carry select
GB1245441A (en) * 1968-08-27 1971-09-08 Int Computers Ltd Improvements in or relating to adders operating on variable fields within words
US3755779A (en) * 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4295218A (en) 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
JPS6046448B2 (ja) * 1980-07-11 1985-10-16 株式会社日立製作所 オ−バフロ−検出方式
JPS5892036A (ja) * 1981-11-27 1983-06-01 Toshiba Corp 加算回路
JPS58225422A (ja) * 1982-06-25 1983-12-27 Toshiba Corp デ−タ制御装置
US4536855A (en) * 1982-12-23 1985-08-20 International Telephone And Telegraph Corporation Impedance restoration for fast carry propagation
US4707800A (en) * 1985-03-04 1987-11-17 Raytheon Company Adder/substractor for variable length numbers
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式
US4914617A (en) * 1987-06-26 1990-04-03 International Business Machines Corporation High performance parallel binary byte adder
CA1305768C (en) 1987-11-16 1992-07-28 Masanobu Arai Digital signal receiving circuit with means for controlling a baud rate sampling phase by a power of sampled signals
US5189636A (en) * 1987-11-16 1993-02-23 Intel Corporation Dual mode combining circuitry
GB8904392D0 (en) * 1989-02-27 1989-04-12 Ibm An arithmetic logic unit for a graphics processor
FR2693287B1 (fr) * 1992-07-03 1994-09-09 Sgs Thomson Microelectronics Sa Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé.
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5327369A (en) * 1993-03-31 1994-07-05 Intel Corporation Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US5883824A (en) * 1993-11-29 1999-03-16 Hewlett-Packard Company Parallel adding and averaging circuit and method
US5390135A (en) * 1993-11-29 1995-02-14 Hewlett-Packard Parallel shift and add circuit and method
JP3428741B2 (ja) * 1994-02-14 2003-07-22 松下電器産業株式会社 演算装置とアドレス発生装置及びプログラム制御装置
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5734962A (en) * 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
JP2856190B2 (ja) 1997-02-27 1999-02-10 日本電気株式会社 演算処理装置および演算処理方法
US6334136B1 (en) * 1997-12-11 2001-12-25 Intrinsity, Inc. Dynamic 3-level partial result merge adder
FR2775531B1 (fr) * 1998-02-27 2001-10-12 Sgs Thomson Microelectronics Additionneur numerique rapide
US6038166A (en) * 1998-04-01 2000-03-14 Invox Technology High resolution multi-bit-per-cell memory
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
US6678843B2 (en) 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6449629B1 (en) * 1999-05-12 2002-09-10 Agere Systems Guardian Corp. Three input split-adder
US7467744B1 (en) 1999-11-30 2008-12-23 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
DE50015839D1 (zh) * 1999-12-02 2010-02-25 Infineon Technologies Ag
JP2001251384A (ja) * 2000-03-08 2001-09-14 Sanyo Electric Co Ltd 通信装置および通信方法
US6728932B1 (en) * 2000-03-22 2004-04-27 Hewlett-Packard Development Company, L.P. Document clustering method and system
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6888897B1 (en) 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
US6971881B2 (en) 2000-05-11 2005-12-06 Thomas J Reynolds Interactive method and system for teaching decision making
US6745157B1 (en) * 2000-06-02 2004-06-01 Mitsubishi Electric Research Laboratories, Inc Super-node normalized belief propagation for probabilistic systems
US6910000B1 (en) * 2000-06-02 2005-06-21 Mitsubishi Electric Research Labs, Inc. Generalized belief propagation for probabilistic systems
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
JP2002111512A (ja) * 2000-09-29 2002-04-12 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
WO2002059584A2 (en) 2000-12-29 2002-08-01 Chromagen, Inc. Scanning spectrophotometer for high throughput fluorescence detection
US6950977B2 (en) 2001-03-15 2005-09-27 3G.Com, Inc. Mechanism for turbo decoding when CRC for partial blocks is provided
WO2003036857A1 (en) * 2001-10-24 2003-05-01 Nokia Corporation Ciphering as a part of the multicast cencept
US7219118B2 (en) * 2001-11-06 2007-05-15 Broadcom Corporation SIMD addition circuit
WO2003077083A2 (en) * 2002-03-13 2003-09-18 Matsushita Electric Industrial Co., Ltd. Secure device for preventing unauthorised use of distributed content
JP3743509B2 (ja) * 2002-03-20 2006-02-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
FI114347B (fi) * 2002-03-20 2004-09-30 Master S Innovations Ltd Oy Menetelmä ja laitteisto datan kääntämiseksi
NO316488B1 (no) 2002-04-26 2004-01-26 Kongsberg Defence Comm As Fremgangsmåte og apparat for mottak av digitale kommunikasjonssignaler
JP3708064B2 (ja) * 2002-05-31 2005-10-19 株式会社東芝 ディスク記憶装置、ディスクコントローラ及び同装置に適用するエラー訂正方法
RU2300844C2 (ru) * 2002-06-18 2007-06-10 Ооо "Крейф" Персональный криптозащитный комплекс
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
CN1498009A (zh) * 2002-09-30 2004-05-19 ��ʽ���綫֥ 无线通信终端
WO2004049578A1 (en) * 2002-11-27 2004-06-10 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US7296216B2 (en) 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
KR100516548B1 (ko) * 2003-02-05 2005-09-22 삼성전자주식회사 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치
US7131055B2 (en) * 2003-02-25 2006-10-31 Intel Corporation Fast bit-parallel Viterbi decoder add-compare-select circuit
CA2516541A1 (en) * 2003-02-26 2004-09-16 Flarion Technologies, Inc. Soft information scaling for iterative decoding
US20070234178A1 (en) 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
JP2004288091A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
US20040226029A1 (en) * 2003-05-09 2004-11-11 Gelme Andrew Anthony Interface for distributed objects and development platform therefor
US7415115B2 (en) * 2003-05-14 2008-08-19 Broadcom Corporation Method and system for disaster recovery of data from a storage device
JP3927521B2 (ja) * 2003-06-27 2007-06-13 株式会社日立国際電気 送信機
US7409477B2 (en) * 2003-09-03 2008-08-05 Hewlett-Packard Development Company, L.P. Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor
US7340671B2 (en) * 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
KR101009785B1 (ko) * 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
WO2005064841A1 (en) * 2003-12-30 2005-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for calculating the bit error rate of received signal
US20050193320A1 (en) 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
JP2005242797A (ja) 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd エラー訂正回路
US7383484B2 (en) * 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
JP4521633B2 (ja) 2004-03-12 2010-08-11 直樹 末広 符号分割多重信号の相関分離識別方式
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
WO2005096509A1 (en) 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
US7353444B2 (en) 2004-05-07 2008-04-01 Comtech Aha Corporation LDPC architecture
GB2414638A (en) 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
US20050283707A1 (en) 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7457367B2 (en) 2004-07-07 2008-11-25 University Of Utah Research Foundation Detector and method for estimating data probability in a multi-channel receiver
WO2006006835A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them
US7181676B2 (en) * 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
JP4321394B2 (ja) 2004-07-21 2009-08-26 富士通株式会社 符号化装置、復号装置
US7730377B2 (en) 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
CN101341659B (zh) 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US8046662B2 (en) * 2004-08-20 2011-10-25 Broadcom Corporation Method and system for decoding control data in GSM-based systems using inherent redundancy
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
US7760880B2 (en) * 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
GB2421676B (en) * 2004-12-30 2010-03-24 Fmc Technologies Portioning apparatus and method
US8359513B2 (en) 2005-01-19 2013-01-22 Intel Corporation Data communications methods and apparatus
JP4595574B2 (ja) * 2005-02-07 2010-12-08 ソニー株式会社 復号装置および方法、並びにプログラム
EP1717959A1 (en) * 2005-04-29 2006-11-02 STMicroelectronics N.V. Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes
WO2006128164A2 (en) * 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
TW200643703A (en) * 2005-06-06 2006-12-16 Novatek Microelectronics Corp Architecture and method for error detection and correction for data transmitted in a network
US7802172B2 (en) 2005-06-20 2010-09-21 Stmicroelectronics, Inc. Variable-rate low-density parity check codes with constant blocklength
US20060285852A1 (en) * 2005-06-21 2006-12-21 Wenze Xi Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems
US7739558B1 (en) * 2005-06-22 2010-06-15 Aquantia Corporation Method and apparatus for rectifying errors in the presence of known trapping sets in iterative decoders and expedited bit error rate testing
WO2007001305A1 (en) 2005-06-27 2007-01-04 Thomson Licensing Stopping criteria in iterative decoders
JP4526451B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP2007036495A (ja) 2005-07-25 2007-02-08 Sharp Corp 再生装置、圧縮装置、記録装置及び再生方法
US7617436B2 (en) * 2005-08-02 2009-11-10 Nokia Corporation Method, device, and system for forward channel error recovery in video sequence transmission over packet-based network
US7725800B2 (en) * 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US7770090B1 (en) 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
EP1926142A1 (en) 2005-09-15 2008-05-28 Mitsubishi Materials Corporation Insulating circuit board and insulating circuit board provided with cooling sink section
US8867336B2 (en) 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
WO2007044942A2 (en) * 2005-10-13 2007-04-19 Cargill, Incorporated Management of an organization by cross-functional processes from the perspective of customer experiences
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US20070089019A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages
US7844877B2 (en) * 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
GB2432982A (en) * 2005-11-30 2007-06-06 Toshiba Res Europ Ltd An EER RF amplifier with PWM signal switching
US7730385B2 (en) * 2005-11-30 2010-06-01 Motorola, Inc. Method for decoding a received control channel message with a priori information
US20070134178A1 (en) * 2005-12-12 2007-06-14 Iheatu Obioha Skin lightening complex
US7602838B2 (en) 2005-12-22 2009-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Linear turbo equalization using despread values
FI20055715A0 (fi) 2005-12-30 2005-12-30 Nokia Corp Turboekvalisointimenettely
US7752523B1 (en) 2006-02-13 2010-07-06 Marvell International Ltd. Reduced-complexity decoding of parity check codes
US7805642B1 (en) 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
KR20070084947A (ko) * 2006-02-22 2007-08-27 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
KR101205077B1 (ko) 2006-03-31 2012-11-27 인텔 코포레이션 디코더, 소프트 비트 블록 디코딩 방법, 데이터 저장 시스템, 멀티캐리어 수신기 및 기계 액세스 가능한 매체
US7941737B2 (en) 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
JP4341639B2 (ja) 2006-05-15 2009-10-07 住友電気工業株式会社 復号装置および復号プログラム
US7941726B2 (en) * 2006-06-30 2011-05-10 Microsoft Corporation Low dimensional spectral concentration codes and direct list decoding
JP4253332B2 (ja) * 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
US7580469B2 (en) 2006-07-06 2009-08-25 Provigent Ltd Communication link control using iterative code metrics
US7895500B2 (en) 2006-07-28 2011-02-22 Via Telecom Co., Ltd. Systems and methods for reduced complexity LDPC decoding
JP4878958B2 (ja) * 2006-08-22 2012-02-15 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置及び無線通信方法
FR2905210B1 (fr) 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage par couches d'une succession de blocs encodes avec un code ldpc
FR2905209B1 (fr) 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage de blocs encodes avec un code ldpc
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7613981B2 (en) * 2006-10-06 2009-11-03 Freescale Semiconductor, Inc. System and method for reducing power consumption in a low-density parity-check (LDPC) decoder
CN101174839A (zh) 2006-10-30 2008-05-07 富士通株式会社 编码装置、解码装置、编码/解码装置及记录/再现装置
US7979775B2 (en) * 2006-10-30 2011-07-12 Motorola Mobility, Inc. Turbo interference suppression in communication systems
JP2008112516A (ja) 2006-10-31 2008-05-15 Fujitsu Ltd 誤り訂正回路及び情報再生装置
JP5251000B2 (ja) 2006-11-01 2013-07-31 富士通株式会社 誤り訂正回路及び媒体記憶装置
US8255763B1 (en) * 2006-11-08 2012-08-28 Marvell International Ltd. Error correction system using an iterative product code
US7949927B2 (en) * 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
JP4261575B2 (ja) * 2006-11-30 2009-04-30 株式会社東芝 誤り訂正処理装置及び誤り訂正処理方法
FR2909499B1 (fr) * 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
WO2008076214A2 (en) * 2006-12-14 2008-06-26 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US8051363B1 (en) * 2007-01-16 2011-11-01 Marvell International Ltd. Absorb decode algorithm for 10GBase-T LDPC decoder
KR100975695B1 (ko) * 2007-02-02 2010-08-12 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US8117515B2 (en) 2007-03-23 2012-02-14 Sizhen Yang Methodology and apparatus for soft-information detection and LDPC decoding on an ISI channel
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8418023B2 (en) * 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8151171B2 (en) 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
JP4616861B2 (ja) * 2007-05-25 2011-01-19 富士ゼロックス株式会社 信号伝送回路及び信号伝送システム
US7930621B2 (en) * 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
US8037394B2 (en) 2007-06-29 2011-10-11 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for generating bit reliability information in a post-processor using an error correction constraint
US8214719B1 (en) 2007-07-26 2012-07-03 Marvell International Ltd. Long latency protocol for hard disk controller interface
US8127209B1 (en) * 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
US8181083B2 (en) * 2007-08-27 2012-05-15 Stmicroelectronics S.R.L. Methods and architectures for layered decoding of LDPC codes with minimum latency
US8140948B2 (en) 2007-09-24 2012-03-20 Nec Laboratories America, Inc. Efficient low complexity high throughput LDPC decoding method and optimization
JP2009100222A (ja) 2007-10-16 2009-05-07 Toshiba Corp 低密度パリティ検査符号の復号装置およびその方法
GB2455496B (en) 2007-10-31 2012-05-30 Hewlett Packard Development Co Error detection method and apparatus
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8020070B2 (en) 2007-12-05 2011-09-13 Aquantia Corporation Trapping set decoding for transmission frames
US8156409B2 (en) 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
US8161357B2 (en) * 2008-03-17 2012-04-17 Agere Systems Inc. Systems and methods for using intrinsic data for regenerating data from a defective medium
US8099645B2 (en) 2008-04-11 2012-01-17 Nec Laboratories America, Inc. LDPC codes and stochastic decoding for optical transmission
US8245104B2 (en) * 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
KR20090126829A (ko) 2008-06-05 2009-12-09 삼성전자주식회사 반복 복호 방법과 반복 복호 장치
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US7707237B2 (en) * 2008-08-01 2010-04-27 Infineon Technologies Ag Macrocell and method for adding
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8392692B2 (en) 2008-08-15 2013-03-05 Lsi Corporation Determining index values for bits of binary vector by processing masked sub-vector index values
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
JP2010062907A (ja) 2008-09-04 2010-03-18 Toshiba Corp 復号装置および方法
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
US8321771B1 (en) * 2008-10-13 2012-11-27 Marvell International Ltd. Modified trace-back using soft output viterbi algorithm (SOVA)
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
JP4516625B1 (ja) 2009-08-11 2010-08-04 正幸 安部 電子装置
US8407550B2 (en) * 2009-08-14 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding graph-based codes using message-passing with difference-map dynamics
JP5527176B2 (ja) 2010-11-25 2014-06-18 ソニー株式会社 非水電解質電池
US8616345B2 (en) * 2011-06-24 2013-12-31 Goodrich Corporation Systems and methods for brake whirl mitigation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242188A (zh) * 2008-03-10 2008-08-13 清华大学 基于哈密尔顿图的低密度奇偶校验码的纠错编码方法

Also Published As

Publication number Publication date
US8495449B2 (en) 2013-07-23
US20100241921A1 (en) 2010-09-23
US8607115B2 (en) 2013-12-10
TWI442712B (zh) 2014-06-21
US20100042896A1 (en) 2010-02-18
TW201010294A (en) 2010-03-01
US20100042892A1 (en) 2010-02-18
TW201011527A (en) 2010-03-16
EP2321727A4 (en) 2013-11-13
US8516330B2 (en) 2013-08-20
US20100042904A1 (en) 2010-02-18
TWI435211B (zh) 2014-04-21
JP2014027704A (ja) 2014-02-06
KR20110044939A (ko) 2011-05-03
EP2223431A1 (en) 2010-09-01
JP5276173B2 (ja) 2013-08-28
WO2010019168A1 (en) 2010-02-18
US8316272B2 (en) 2012-11-20
US8407553B2 (en) 2013-03-26
US20100042895A1 (en) 2010-02-18
WO2010019169A1 (en) 2010-02-18
JP2012500513A (ja) 2012-01-05
KR20110052530A (ko) 2011-05-18
US20100042905A1 (en) 2010-02-18
US8700976B2 (en) 2014-04-15
US20100042898A1 (en) 2010-02-18
US20100042890A1 (en) 2010-02-18
EP2181504A1 (en) 2010-05-05
US8464129B2 (en) 2013-06-11
TW201008134A (en) 2010-02-16
US20100042903A1 (en) 2010-02-18
CN101836191A (zh) 2010-09-15
US20100042906A1 (en) 2010-02-18
EP2223431A4 (en) 2010-09-01
KR20110052529A (ko) 2011-05-18
WO2010019287A1 (en) 2010-02-18
US8327235B2 (en) 2012-12-04
JP2012500512A (ja) 2012-01-05
JP2012500514A (ja) 2012-01-05
KR101431479B1 (ko) 2014-08-20
US8245098B2 (en) 2012-08-14
US20100042891A1 (en) 2010-02-18
US20100042894A1 (en) 2010-02-18
CN101836191B (zh) 2014-01-22
US20110126075A1 (en) 2011-05-26
US8307253B2 (en) 2012-11-06
US8312342B2 (en) 2012-11-13
KR101418466B1 (ko) 2014-07-10
TWI508460B (zh) 2015-11-11
US20100042893A1 (en) 2010-02-18
EP2181504A4 (en) 2010-07-28
US8407567B2 (en) 2013-03-26
KR101418467B1 (ko) 2014-07-10
US20100042902A1 (en) 2010-02-18
CN101803205A (zh) 2010-08-11
US8464128B2 (en) 2013-06-11
CN101803206A (zh) 2010-08-11
US20100042897A1 (en) 2010-02-18
US20110138253A1 (en) 2011-06-09
US8448039B2 (en) 2013-05-21
US8468429B2 (en) 2013-06-18
CN101803206B (zh) 2013-09-04
US8683299B2 (en) 2014-03-25
EP2321727A1 (en) 2011-05-18
JP5363573B2 (ja) 2013-12-11
US8555129B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
CN101803205B (zh) 近码字的ram列表解码
Dutta et al. A unified coded deep neural network training strategy based on generalized polydot codes
JP5752317B2 (ja) 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム
CN104868925B (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
US20180219561A1 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
US8321746B2 (en) Systems and methods for quasi-cyclic LDPC code production and decoding
US8103945B2 (en) Decoding method and decoding apparatus as well as program
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
US8566665B2 (en) Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8832525B2 (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
JP2013532422A (ja) Ldpcコードの復号のための方法、システム、およびプログラム
US8443250B2 (en) Systems and methods for error correction using irregular low density parity check codes
CN110708077B (zh) Ldpc码大数逻辑译码方法、装置和译码器
JP2010535459A (ja) 線形計画法復号のための座標上昇法
CN110119328A (zh) 为了容错改进以时分方式利用嵌入有本地码的全局码进行迭代消息传递解码
JP2008167377A (ja) 復号方法および復号装置、並びにプログラム
JP2008167376A (ja) 復号装置および復号方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160715

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: LSI Corp.

TR01 Transfer of patent right

Effective date of registration: 20181019

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201027

Address after: Singapore Singapore

Patentee after: Broadcom International Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230420

Address after: Singapore, Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore, Singapore

Patentee before: Broadcom International Pte. Ltd.

TR01 Transfer of patent right