CN102077173A - 利用写入验证减轻代码的误码平层 - Google Patents

利用写入验证减轻代码的误码平层 Download PDF

Info

Publication number
CN102077173A
CN102077173A CN200980124441XA CN200980124441A CN102077173A CN 102077173 A CN102077173 A CN 102077173A CN 200980124441X A CN200980124441X A CN 200980124441XA CN 200980124441 A CN200980124441 A CN 200980124441A CN 102077173 A CN102077173 A CN 102077173A
Authority
CN
China
Prior art keywords
code word
codeword
error
bits
write
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
CN200980124441XA
Other languages
English (en)
Other versions
CN102077173B (zh
Inventor
N·格拉菲
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
Agere Systems LLC
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 Agere Systems LLC filed Critical Agere Systems LLC
Publication of CN102077173A publication Critical patent/CN102077173A/zh
Application granted granted Critical
Publication of CN102077173B publication Critical patent/CN102077173B/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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded 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/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/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/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]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在将信道输入(例如,LDPC)码字写入至存储介质时所执行的写入验证方法:(i)比较信道输入码字与写入码字,(ii)识别任何错误位,以及(iii)将针对记录的错误位索引存储在表中。在以后的某一时间,读取该写入码字并将其发送至解码器。如果该解码器无法利用附近码字,则写入错误恢复处理搜索该表并且检索错误位信息。调节在那些索引处的码字位,并且提交修正的码字以供进一步的处理。

Description

利用写入验证减轻代码的误码平层
对相关申请的交叉引用
本申请的主题涉及:(1)代理案卷no.08-0241并于2008年12月12日提交的PCT申请no.PCT/US08/86523的主题,(2)代理案卷no.08-1293并于2008年12月12日提交的PCT申请no.PCT/US08/86537的主题,(3)代理案卷no.08-0248并于2009年3月10日提交的美国申请no.12/401116的主题,(4)代理案卷no.08-1057并于2009年4月2日提交的PCT申请no.PCT/US09/39279的主题,(5)代理案卷no.08-0242并于2009年4月8日提交的US申请no.12/420535的主题,(6)2008年1月5日提交的美国专利申请no.12/113729的主题,(7)2008年5月1日提交的US专利申请no.12/113755的主题,以及(8)代理案卷no.08-0243并于2009年4月8日提交的PCT申请no.PCT/US09/39918的主题,其全部教导通过引用其全部内容而包含于此。
技术领域
本发明涉及数字信号处理,并且更具体地说,涉及诸如低密度奇偶校验(LDPC)编码的数据编码方法。
背景技术
通信是通过通信信道从发送器向接收器传送信息。在真实世界中,通信信道是有噪声的信道,向接收器提供从发送器发送来的失真形式的信息。存储装置(例如,硬盘(HD)驱动器、闪速驱动器)就是一种这样的有噪声信道,接受来自发送器的信息、存储该信息,并接着向接收器提供或多或少失真形式的该信息。
由诸如存储装置的通信信道引入的失真可能大到足以导致信道错误,即,当信道输入信号为0时,接收器将信道输出信号解译为1,或反之亦然。信道错误降低了吞吐量,并因此不合乎需要。因此,存在对于检测和/或校正信道错误的工具的持续需要。低密度奇偶校验(LDPC)编码是用于检测和校正信道错误的一种方法。
LDPC码是可以针对低信噪比(SNR)应用实现非常低的位出错率(BER)的已知近Shannon极限码之一。LDPC解码由于其并行化的潜力、实施复杂性低、解码等待时间少以及高SNR下误码平层(error floor)不太严重而著名。LDPC码实质上考虑到了所有下一代通信标准。
发明内容
在一个实施例中,本发明是一种用于将原始编码码字存储至存储介质的机器实施的方法。所述原始编码码字被写入至所述存储介质,作为写入编码码字。通过从所述存储介质读取所述写入编码码字来生成信道输出码字。将所述原始编码码字与基于所述信道输出码字的导出码字进行比较,以识别所述写入编码码字中的一个或多个错误位的第一集合。通过在所述第一集合中选择一个或多个错误位来生成所述写入编码码字中的一个或多个错误位的第二集合。将与所述第二集合中的一个或多个错误位相对应的错误位信息写入至所述存储介质。
在另一实施例中,本发明是一种用于针对存储在存储介质中的写入编码码字生成解码码字的机器实施方法,所述写入编码码字具有一个或多个错误位。通过从所述存储介质读取所述写入编码码字来生成信道输出码字。从所述信道输出码字生成导出码字。从所述存储介质读取错误位信息,其中,所述错误位信息对应于所述写入编码码字中的一个或多个错误位。使用所述错误位信息来生成修正的码字。对所述修正的码字执行进一步的处理,以生成所述解码码字。
附图说明
根据下面的详细描述、附属权利要求书以及附图,本发明的其它方面、特征以及优点将更充分清楚,在附图中,相同标号标识相似或相同部件。
图1是利用LDPC编码的通信系统100的框图。
图2(A)描绘了LDPC H矩阵200,而图2(B)是H矩阵200的Tanner图形。
图3是图A的解码器AC所使用的LDPC解码方法300的流程图。
图4是根据本发明一实施例的通过信道控制器120控制的、图1的通信系统100所实施的LDPC编码/解码处理400的流程图。
图5是错误位表的一个实施例的图。
图6是根据本发明一个实施例的、图4的步骤410的流程图,即,写入错误验证处理的流程图。
图7是图6的步骤612的流程图。
图8是根据本发明一个实施例的图4的写入错误恢复处理418的流程图。
具体实施方式
图1是利用LDPC编码的通信系统100的框图。数据源102生成称为原始信息字104的多个位的集合。LDPC编码器106编码原始信息字104,以生成原始编码码字108。下面,更详细讨论LDPC编码。将原始编码码字108(还称为信道输入码字)写入至存储介质110(例如,闪速驱动器、硬盘驱动器盘片等),作为写入编码码字。
在以后的某一时间,存储介质110读取写入编码码字并向信道检测器112输出一组值y(即信道输出码字)。信道输出码字和根据该信道输出码字导出的任何码字称为导出码字。信道检测器112将接收到的值y转换成一组对数似然比(LLR)值Lch。LLR值包括:(i)表示解码器关于由对应值y所表示的一位硬判定值的最佳推测的符号位,和(ii)表示硬判定中解码器的置信度的一个或多个量值位(magnitude bit)。例如,信道检测器112可能输出每一个LLR值Lch,作为五位值,其中,最高有效位是表示硬判定的符号位,而四个量值位的值表示硬判定的置信度。因而,在一种可能LLR方案中,二进制00000的LLR值表示具有最小置信度的0的硬判定,二进制01111的LLR值表示具有最大置信度的0的硬判定,二进制10001的LLR值表示具有最小置信度的1的硬判定,而二进制11111的LLR值将表示具有最大置信度的1的硬判定,其中,二进制10000未使用。
信道检测器112向LDPC解码器114发送Lch值,其中,它们变为解码器输入码字。接着,LDPC解码器114针对一组Lch值执行一次或多次解码迭代116(“局部迭代”),以生成解码码字
Figure BDA0000040981470000041
当(i)LDPC解码器114得出正确的解码码字(DCCW),即
Figure BDA0000040981470000042
和信道输入码字108相同,或者(ii)LDPC解码器AC执行了最大可允许数量的局部迭代而没有得出DCCW,即LDPC解码器114失败时,LDPC解码器AC终止。当解码器114终止时,其向数据目的地118输出解码码字
Figure BDA0000040981470000043
下面更详细地描述LDPC解码。
信道控制器120至少控制LDPC编码器106、信道检测器112,以及LDPC解码器114的操作。信道控制器典型为ARM(高级RISC(精简指令集代码)机)处理器。
LDPC编码
为了创建码字108,LDPC编码器106向信息字104的多个位附加由LDPC代码指定的多个奇偶位。信息字104中的位数由K表示。编码码字中的位称为变量位,并且那些变量位的数量由N表示。因而,奇偶位的数量由N-K给出。
按由特定LDPC代码所指定的特定方式,LDPC码字中的每一个奇偶位与该码字中的一个或多个其它位相关联,并且设置指配给奇偶位的值,以满足LDPC代码。典型LDPC代码指定奇偶位,并且其关联位满足奇偶检验约束,例如,位的总和是偶数,即,和模2=0。
LDPC代码
特定的LDPC代码由称为奇偶校验矩阵或H矩阵(或简写为H)的1和0的二维矩阵来定义。H被LDPC编码器和解码器推理而知。H包括N列和N-K行,即,针对码字的每一位的列,和针对每一个奇偶位的行。H中的每一个1表示列的码字位与行的奇偶位之间的关联。例如,H的第三行、第七列处的1意指第三奇偶校验位与码字的第七位相关联。检验位与和该检验位相关联的所有变量位的值的和模2应当为0。典型LDPC代码的定义特征是,H为“稀疏的”,即,H的元素大多为0,而1相对较少。
图2A描绘了LDPC H矩阵200。H矩阵200包括N=9列和N-K=6行。因而,H矩阵200定义了接受三位信息字的LDPC代码,附加六个奇偶位,并且输出九位码字。在存储介质是硬盘驱动器或闪速驱动器的一种实现方式中,每一个信息字的长度为4096位,并且每一个码字的长度为4552位。其它实现方式可以包括具有其它位长度的信息字和/或码字。
LDPC解码:置信传播(Belief Propagation)
图3是图1的解码器114所使用的LDPC解码方法300的流程图。解码方法300的核心是称作置信传播的迭代、两相消息传递算法。置信传播可以使用Tanner图形来说明。
图2(B)是H矩阵200的Tanner图形。一般来说,Tanner图形包括:1)等于H中的列数(并因此等于变量位数N)的多个位节点(还称为变量节点)n,2)等于H中的行数(并因此等于奇偶位数)的多个校验节点m,3)边202,每一条边将单个位节点ni连接至单个校验节点mj,4)针对每一个位节点ni的原始Lch值,以及5)针对每一个位节点ni的所计算的硬判定输出值
Figure BDA0000040981470000051
图2(B)的Tanner图形包括:九个位节点n0-n8、六个校验节点m0-m5、将位节点连接至校验节点的18条边202、九个Lch值,以及九个
Figure BDA0000040981470000052
值。
Tanner图形中的边表示位节点n与校验节点m之间的关系,其中,边表示H中的1。例如,在图2(B)中,边202将第一位节点n0连接至第四校验节点m3,因为在图2(A)中的H矩阵200的第一列、第四行中存在1。
Tanner图形是双向图形,即,一条边可以将一个位节点仅连接至一个校验节点,而不能将一个位节点连接至另一位节点,或者不能将一个校验节点连接至另一校验节点。通过边连接至特定校验节点m的所有位节点n的集合表示为N(m)。通过边连接至特定位节点n的所有校验节点m的集合表示为M(n)。特定(位或校验)节点的索引在该图形中是其序数系列。
返回至图3,在步骤302开始处理并且前进至步骤304,解码器初始化。解码器初始化304包括针对与位节点n相关联的对应Lch值来设置连接至每一个位节点n的所有边n(例如,图2(B)的边202),并且针对位节点n的Lch的硬判定值(即,MSB)的来设置位节点n的值。因而,例如,在图2(B)中,如果与位节点n0相关联的Lch值是十进制值+5,则在步骤304,将位节点n0连接至校验节点m0和m3的两条边202被设置成+5,并且位节点n0
Figure BDA0000040981470000062
值被设置成1。表达这个步骤的第一部分的另选方式是,位节点n0向集合M(n0)中的每一个校验节点m发送消息+5。从位节点n向校验节点M发送的消息被称作位节点或Q消息,并且被表示为Qnm
接着,步骤304向出错校验步骤(syndrome check step)306发送包括N个
Figure BDA0000040981470000063
值的候选解码码字矢量
Figure BDA0000040981470000064
出错校验步骤306利用以下等式(1)来计算出错矢量(syndrome vector)z:
z = x ^ H T - - - ( 1 )
其中,HT是H矩阵的转置。如果出错矢量z是0矢量,则矢量
Figure BDA0000040981470000066
满足由H定义的所有奇偶检验约束,即,
Figure BDA0000040981470000067
是有效解码码字。在这种情况下,处理前进至循环冗余校验(CRC)校验318。
相反,如果出错矢量z不是0矢量,则矢量
Figure BDA0000040981470000068
无法满足所述奇偶检验约束中的一个或多个。出错矢量z中的每一个非零元素表示一无法满足的奇偶检验约束,其还称为未满足校验节点(USC)。出错矢量z中的非零元素的数量是矢量
Figure BDA0000040981470000069
中的USC的数量b。此外,出错矢量z中的非零元素的索引是矢量
Figure BDA00000409814700000610
中的USC的索引。
如果矢量
Figure BDA00000409814700000611
无法通过出错校验306,则处理继续一个或多个解码迭代308中的第一个迭代(称作“局部迭代”)。解码迭代308包括三个步骤:1)置信传播校验节点更新步骤310,2)置信传播位节点更新步骤312,以及3)出错校验步骤314,其与步骤306相同。
在置信传播校验节点更新步骤310中,每一个校验节点m使用从集合N(m)中的所有位节点n接收到的Qnm消息,以根据以下的等式(2)、(3)以及(4)来计算表示为Rmn的一个或多个校验节点或R消息:
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),函数sgn返回其运算数的符号,而β是正常数,其值取决于码参数。每一个校验节点m都将计算出的Rmn消息连同那些相同的边发送回集合N(m)中的所有位节点n。
接下来,在置信传播位节点更新步骤312中,每一个位节点n根据以下等式(5)来计算一个或多个Qnm消息:
Q nm ( i ) = L n ( 0 ) + Σ m ′ ∈ M ( n ) \ m R m ′ n ( i ) - - - ( 5 )
其中,
Figure BDA0000040981470000075
是位节点n的原始Lch值,而M(n)\m是不包括校验节点m的集合M(n)。接着,每一个位节点n将计算出的Qnm消息发送至集合M(n)中的所有校验节点m。
此外,在位节点更新步骤312期间,每一个位节点n根据以下等式(6)和(7)来更新其值:
E n ( i ) = Σ m ′ ∈ M ( n ) R m ′ n ( i ) - - - ( 6 )
P n = L n 0 + E n ( i ) - - - ( 7 )
如果Pn≥0,则
Figure BDA0000040981470000079
而如果Pn<0,则由等式(6)生成的值还称为非固有或E值,并且表示为ELDPC。根据等式(7)生成的值称为P值。由等式(2)-(7)表示的特定置信传播算法称为最小和算法。应注意到,
Figure BDA0000040981470000081
值在每一次解码迭代308期间更新并且最后通过解码处理300输出。原始LLR值Lch在解码处理300期间保持不变化。
位节点更新步骤312向出错校验步骤314发送由解码器的当前
Figure BDA0000040981470000082
值之外的其它值构造的矢量步骤314的出错校验与上述步骤306的出错校验相同。如果矢量
Figure BDA0000040981470000084
通过出错校验314,则将矢量发送至CRC步骤318。
LDPC解码:循环冗余校验和不满足校验节点
通过出错校验306或314意指矢量
Figure BDA0000040981470000086
是有效解码码字,但不一定是正确的解码码字(DCCW)。对于LDPC解码器来说,可能生成不是DCCW的有效解码码字。在这种情况下,矢量
Figure BDA0000040981470000087
中不存在USC,但存在不满足校验节点(MSC)。不满足校验节点是与偶数数量的错误位节点相关联的校验节点。
因而,为了确保有效矢量
Figure BDA0000040981470000088
是DCCW,处理300向循环冗余校验(CRC)318传递矢量
Figure BDA0000040981470000089
CRC校验是可以检测传送或存储期间数据的变化的校验和运算。具体来说,编码器计算要发送的码字的第一CRC校验和,并将第一CRC校验和和该码字都发送至解码器。解码器在接收到该码字和第一CRC校验和时,利用接收到的码字来计算第二CRC校验和,并且比较其与第一CRC校验和。如果两个CRC校验和不匹配,则存在接收到的码字中存在错误的概率高。
如果矢量
Figure BDA00000409814700000810
通过CRC检验,则矢量
Figure BDA00000409814700000811
是DCCW,并且处理300将全局变量DCCW设置成真,输出矢量
Figure BDA00000409814700000812
并且在步骤320终止。否则,矢量
Figure BDA00000409814700000813
不是DCCW,并且处理300将全局变量DCCW设置成假,输出矢量
Figure BDA00000409814700000814
并且在步骤320终止。全局变量DCCW向其它解码处理通知是否已经生成DCCW。
返回至步骤314,如果矢量
Figure BDA00000409814700000815
无法通过出错校验,则矢量
Figure BDA00000409814700000816
中存在一个或多个USC。用于解决USC的典型方法是执行另一解码迭代308。然而,在特定解码会话(decoding session)中,在合理的时间量中可能存在从未满足的一个或多个USC(下面,参见俘获集合(trapping set)的讨论)。因而,LDPC解码器典型地受限于它们可以执行多少解码迭代。最大迭代次数的典型值的范围为50到200。
在图3中,步骤316确定是否已经达到指定的最大迭代次数。如果没有达到,则执行另一解码迭代308。相反,如果已经达到最大迭代次数,则解码器处理300失败。在这种情况下,处理300将全局变量DCCW设置成假,输出矢量并且在步骤320终止。
处理300的完整执行(具有一次或更多次局部解码迭代308)称为解码会话。
BER、SNR,以及误码平层(error floor)
LDPC解码器的位出错率(BER)表示解码位具有错误值的概率。因而,例如,具有10-9的BER的解码器平均起来对于每百万解码位将生成一个错误位。LDPC解码会话无法收敛到DCCW促成导致了(contribute to)解码器的BER。
LDPC解码器的BER受解码器输入信号的信噪比(SNR)的强烈影响。作为SNR的函数的BER的图形典型地包括两个不同的区域:其中在SNR单位增加的情况下BER快速改进(降低)的初始“瀑布”区,和其中SNR的增加仅产生BER的适度改进的后续“误码平层”区。因而,实现误码平层区域中的BER的显著改进需要除了SNR增加以外的其它方法。
用于改进LDPC解码的误码平层特性的一种方法是增加码字长度。然而,增加码字长度还增加了LDPC解码所需的存储器和其它计算资源。因而,如果这种资源严格受限,就像存储装置上的读取信道装置的典型情况一样,则必须寻找其它方法来产生所需的误码平层改进。
另一不充足的资源是处理周期。典型地讲,为了实现指定的吞吐量,存储装置预算了固定数量的读取信道处理周期来解码码字。超出该预算的方法(例如,非传输过程中处理(off-the-fly)方法)降低了吞吐量。更合乎需要的是传输过程中处理(on-the-fly)方法,其在时钟周期分配之内恢复DCCW,并且由此不减少吞吐量。
用于改进LDPC解码器的误码平层特性的另一方法是使用一种或多种后处理方法。后处理方法在解码会话在允许的最大数量迭代内无法收敛到DCCW时被调用。后处理方法调节与解码处理相关联的一个或多个变量(例如,y值、Lcn值以及/或者解码器的运算参数),并且重新开始解码。像解码本身一样,对于解码处理的输入来说,后处理方法通常是迭代的、多重的、顺序的变化。
在典型LDPC解码会话中,解码器在最初几次解码迭代中收敛到DCCW。相反,当LDPC解码器在指定的最大数量的迭代中无法收敛到DCCW时,其已知为失败的解码器,并且由失败的解码器生成的解码码字是失败的解码码字。
失败的码字典型地根据它们所包含的USC节点数来分类。无效解码码字(ICW)是具有大量USC节点的失败码字(例如,对于大约5000位的码字来说,USC节点数大于16)。ICW典型地起因于解码器输入码字包含了解码器不能够校正所有位错误的很多位错误(即,很少正确值)。用于处理ICW的典型后处理方法是请求重新发送输入码字。尽管重新发送是非传输过程中处理方法,并因此是不希望的,但其通常对于校正ICW来说是唯一可靠选择。
附近码字(NCW)是失败码字,其具有少量USC(例如,对于大约5000位的码字来说,USC数量为16或更少)。有时,NCW中的USC形成称为俘获集合的稳定构造,对于其来说,进一步的解码迭代不生成DCCW。俘获集合对LDPC解码器的误码平层特性具有显著影响。
俘获集合的标志为(a,b),其中,b是俘获集合中的USC数,而a是与那些USC相关联的错误位节点的数量。因而,(8,2)俘获集合包括两个USC和与那两个USC相关联的八个错误位节点(EBN)。多数俘获集合包括少于五个的USC和少于10个的EBN。
翻转位节点指用于改变与位节点相关联的一个或多个值的特定处理。在翻转期间改变哪些值取决于LDPC解码器的状态。在一种可能的实现方式中,如果LDPC解码器刚被初始化,则翻转位节点包括:(i)反转该位节点的Lch值的硬判定值,即,1变为0,或反之亦然,(ii)将同一Lch值的量值位(即,置信度)设置成最大,以及(iii)将所有其它Lch值的量值位限制成最大可允许量值的值的至多15%。
例如,假定具有4位Lch量值的值的系统,其中,最大可允许正量值为+15,而最大可允许负量值为-16,并且其中,最大可允许值的15%分别为+2和-2。进一步假定对应于四个位节点的四个Lch值:+2、-11、+1、+13。在这个示例中,翻转第一个位节点包括:(i)反转第一个位节点的Lch值的符号,即,+2变为-2,(ii)将第一个位节点的Lch值的量值设置成最大可允许值,即,-2变为-16,以及(iii)将其它三个位节点的Lch值的量值设置成最大可允许值的至多15%,即,-11、+1以及+13分别变为-2、+1以及+2。将Lch量值设置成较低值使得迭代解码处理能够更快速地收敛到DCCW,并且降低解码器失败的机会。
根据同一实现方式,如果解码器处于除了初始化以外的其它某一状态下,则翻转位节点包括:(i)确定位节点的P值的硬判定值(通过上述等式7定义),(ii)将该位节点的Lch值、P值以及所有关联Qnm消息的硬判定值设置成P值硬判定值的相反数,(iii)将该位节点的Lch值、P值以及所有关联Qnm消息的量值位设置成最大,以及(iv)将所有其它位的Lch、P以及Qnm消息值的量值限制成最大可允许值的15%。应注意到,仅限制了初始量值。随着解码会话的前进,P和Qnm消息值更新并且可以假定任何可允许值。另一方面,Lch值是只读的,并由此在该解码会话的持续时间内保持它们的受限量值的值。
擦除是用于改变位节点值的另一特定处理。擦除位节点包括:(i)将该位节点的Lch值的硬判定值设置成0,以及(ii)将同一Lch值的量值位(即,置信度)设置成0,即,无置信度。
如果调节与俘获集合相对应的附近码字的多个EBN中的一个或多个(例如,翻转或擦除),则对于所得修正码字重新执行LDPC解码可能收敛到DCCW。如果成功,则将这个处理称为打破俘获集合。因而,用于改进LDPC解码器的误码平层特性的另一方法是采用失败解码器的附近码字(NCW),识别该NCW中的可能的EBN,翻转或擦除那些EBN中的一个或多个,以及提交修正的NCW以供进一步LDPC处理。
某些俘获集合可以通过翻转或擦除单一EBN来打破。在其它俘获集合中,翻转或擦除单一EBN可以减少USC的数量,但不完全打破俘获集合,产生可以接着通过翻转或擦除另一EBN来打破的第二个、不同的俘获集合。其它俘获集合可以仅通过同时翻转或擦除两个或更多个EBN来打破。
俘获集合基于以下情况而广泛地改变:(i)解码器的操作条件(例如,解码器字母表、解码器算法、解码器校验节点更新方法),(ii)写入错误,以及(iii)读取错误。当通信信道是存储装置时,写入错误是将码字的位不正确地写入至存储装置的情况,即,所写入的编码码字中的位的值不匹配对应信道输入码字中的对应位的值。读取错误是从存储装置不正确地读取码字的正确写入位的情况,即,信道输出码字中的位的值不匹配所写入的编码码字中的对应位的值。例如通过多次重新读取扇区,接着平均化多次读取的样本而可以从读取错误恢复。然而,不能通过重新读取扇区而从写入错误恢复。
本发明的实施方式是用于估计并校正LDPC解码器输入码字中的、因写入错误而造成的那些EBN的方法。该方法典型地包括一对处理:写入错误验证处理和写入错误恢复处理。写入错误验证处理在将码字写入至存储介质时执行。当从存储介质读取码字并解码时,在之后的时间执行写入错误恢复处理。
图4是根据本发明一实施例的、通过信道控制器120控制的、图1的通信系统100所实施的LDPC编码/解码处理400的流程图。在步骤402开始处理,并且继续至步骤404,其中,数据源102向LDPC编码器106提供原始信息字104。接下来,在步骤406,LDPC编码器106编码原始信息字104,以生成信道输入码字108。接下来,在步骤408,将信道输入码字108写入至存储介质110(例如,闪速驱动器)。接下来,在步骤410,执行写入错误验证处理,下面,在图6和7的讨论中,对该处理进行更详细的描述。
在以后的某一时间,在步骤412,从存储介质110读取所存储的码字,通过信道检测器112检测,并且将对应解码器输入码字的Lch值发送至LDPC解码器114。接下来,在步骤414,LDPC解码器114处理解码器输入码字以生成解码码字。该处理包括LDPC解码和各种读取事件方法,如误码平层减轻方法、介质缺陷检测方法以及标准信道重试方法。步骤414的处理的净效果是,校正了因读取错误而造成的所有EBN,而保留在解码码字中的任何ENB是写入错误。
接下来,在步骤416,确定解码码字是否具有任何错误位。如果没有,则该解码码字是DCCW,并且处理在步骤420结束。相反,如果该解码码字具有一个或多个错误位,则在步骤418,针对该解码码字执行写入错误恢复处理,下面,在图8的讨论中,对该处理进行更详细的描述。
写入错误验证处理410在将信道输入码字初始地写入至存储介质(例如,闪速驱动器)作为写入编码码字时执行。写入错误验证处理读取回该写入编码码字,并且生成对应的解码器输入码字。接着,该处理针对该解码器输入码字执行LDPC解码,以生成解码码字。接着,该处理比较信道输入码字与解码码字,并且确定任何错误位的数量和索引。如果错误位的数量大于0并且小于指定阈值,则该处理将错误位信息写入至称作错误位表的数据结构。在本发明的一个实施例中,该错误位信息包括码字标识符(例如,闪速驱动器页面ID)和一个或多个错误位的索引。错误位的索引识别解码码字中的错误位的位置。错误位表典型地存储在存储介质上。
图5是错误位表的一个实施例的图。表500包括三列(字段)和任何数量的行(记录)。列CODEWORD_IDENTIFIER包含码字标识符(例如,闪速驱动器页面ID)。列EB_INDICES包含由写入错误验证处理识别的一个或多个错误位的索引。列COMPLETE_SET是指示列EB_INDICES中识别的错误位索引是表示由写入错误验证处理所检测到的所有错误位索引(即,真或1)还是适当子集(即,假或0)的一位真/假字段。
图6是根据本发明一个实施例的图4的步骤410的流程图,即,写入错误验证处理的流程图。在步骤602开始处理,并且前进至步骤604,其中,从存储介质读取写入编码码字,并且生成解码器输入码字。
接下来,在步骤606,对解码器输入码字执行LDPC解码,以及各种读取事件方法(例如,误码平层减轻方法、介质缺陷检测方法、标准信道重试方法),并且生成解码码字。步骤606的处理的净效果是,校正了因读取错误而造成的任何以及所有错误位,保留在解码码字中的任何错误位是由于写入错误所导致的。接下来,在步骤608,以位的方式来比较解码码字与信道输入码字,并且确定任何错误位(对应于位失配)的数量和索引。
在步骤610,如果错误位的数量为0(即,在步骤606,解码器收敛到DCCW),则写入验证处理410在步骤616终止。相反,如果错误位的数量超出指定阈值(例如,32),则在步骤614,产生针对图1的信道控制器120的控制,其可以执行其自身的方法,以校正错误。例如,信道控制器120可以进行判定以将存储介质(例如,闪速驱动器页面)上的当前位置标记为坏的,并且尝试将信道输入码字108写入至另一位置。信道控制器方法往往具体到特定信道控制器和信道控制器制造方。相反,如果错误位的数量大于0并且小于或等于指定阈值,则在步骤612,将一个或多个错误位索引写入至错误位表。
表的限制L指定对于任意码字可以存储在错误位表中的错误位索引的最大数量。不必总是存储关于所识别的所有错误位的信息。研究已经显示,对于5000位LDPC码字来说,针对具有三个以上EBN的俘获集合,翻转这些EBN中的任何三个将打破该俘获集合。因而,通常不需要将每码字多于三个的错误位存储在错误位表中。在这种情况下,3是该表的限制L。
而且,大多数俘获集合可以通过翻转一个或两个EBN打破。如果进行判定以仅存储一个或两个错误位索引,即,L为1或2,并且所识别的错误位的数量大于L,则测试L个选定索引,以确保按那些索引翻转位允许解码器收敛到DCCW。否则,选择L个索引的其它集合,并且对其进行测试直到(i)解码器收敛到DCCW或(ii)没有更多的子集可用为止。
图7是图6的步骤612的流程图。处理612选择图6的步骤607中检测到的错误位索引中的、将写入至错误位表的那一个(若有的话)。
在步骤702开始处理,并且前进至步骤704,其中,确定错误位的数量是否小于或等于表的限制L。
在步骤704,如果错误位的数量小于或等于L,则在步骤706选择所有的错误位索引,并且将变量VARCOMPLETESET的值设置成1(真)。接下来,在步骤708,将一记录附加至错误位表(例如,图5的500)。所附加记录的字段设置如下。字段CODEWORD_IDENTIFIER被设置成等于特有的码字标识符(例如,闪速驱动器页面ID)。字段COMPLETE_SET被设置成VARCOMPLETESET的值。将所选错误位索引存储至EB_INDICES。
相反,在步骤704,如果错误位的数量大于L,那么在步骤712,确定L是否大于或等于3。如果是,则在步骤714,随机选择L个错误位索引,并且将VARCOMPLETESET设置成0。接着,处理继续至步骤716,其中,将变量VARCOMPLETESET设置成0(即,将少于所有错误位的错误位存储至错误位表)。接着,处理进行至步骤708(上述),并且在步骤710终止。
相反,在步骤712,如果L为1或2,则处理继续至步骤718,其中选择L个错误位索引。接下来,在步骤720,翻转所选索引处的原始解码器输入码字中的那些位,以产生修正的解码器输入码字。接下来,在步骤722,针对修正的解码器输入码字执行LDPC解码,以生成解码码字。接着,在步骤724,比较解码码字与信道输入码字。如果在解码器输出码字中不存在错误位(步骤726),那么在步骤716,将VARCOMPLETESET设置成0,并且处理进行至步骤708和710(上述)。
相反,在步骤726,如果确定解码码字包含任何错误位,那么在步骤728,确定L个错误位索引的另一集合是否存在。如果存在,则在步骤732,选择另一集合。接着,在步骤734,将解码器输入码字重置成原始解码器输入码字(即,取消步骤720中进行的变化),并且处理循环至步骤720。
相反,在步骤728,如果L个错误位索引的其它集合不存在,则在步骤730,处理612产生针对信道控制器的控制,并且在步骤710终止。参见上面图6的步骤614的、针对信道控制器的说明。
当系统从存储介质读取写入编码码字,并且LDPC解码器在指定最大数量的解码迭代内无法收敛到DCCW时,在以后的时间执行图4的写入错误恢复处理418。写入错误恢复处理使用特有的码字标识符(例如,闪速驱动器页面ID),以在错误位表中搜索匹配失败的解码码字的记录。如果找到匹配,则从该匹配记录检索错误位索引,并且翻转所检索索引处的失败的解码码字位的值,以产生修正的码字。
如果所存储的错误位索引表示在写入验证处理期间检测到的所有错误位索引(即,COMPLETE_SET=1),则典型地仅将修正的码字提交给出错校验和循环冗余校验。出错校验确定修正的解码器输入码字是否为有效LDPC码字,而循环冗余校验确定该有效LDPC码字是否为DCCW。
相反,如果所存储的错误位索引表示比写入验证处理期间所检测到的所有错误位索引少的错误位索引(即,COMPLETE_SET=0),则提交修正的解码码字以进行进一步的LDPC解码(例如,图3的处理300,而不需要初始化步骤304)。当(i)进一步的解码收敛到DCCW或者(ii)解码器在指定的最大数量的解码迭代内无法收敛到DCCW时,写入错误恢复处理终止。
图8是根据本发明一实施例的图4的写入错误恢复处理418的流程图。在步骤802开始处理,并且进行至步骤804,其中,从LDPC解码器接收失败的解码码字。接下来,在步骤806,处理418在错误位表(例如,图5中的500)中搜索针对解码码字的匹配,例如,通过闪速驱动器页面ID来搜索。如果未发现匹配,则在步骤808,处理418产生针对信道控制器的控制并接着在步骤810终止;否则,在步骤812,从位错位表检索EB_INDICES和COMPLETE_SET的值。
接下来,在步骤814,处理418翻转所检索的错误位索引处的解码码字位的值,以产生修正的码字。上面在段落[0060]到[0063]中对翻转进行了描述。接下来,在步骤816,如果COMPLETE_SET是0(即,仅将错误位索引的适当子集存储在错误位表中),则在步骤818提交修正的码字,以进行LDPC解码。如果步骤818产生DCCW(步骤820),则处理418在步骤810终止。如果步骤818没有产生DCCW,那么在步骤808,产生针对信道控制器的控制,并且处理418在步骤810终止。
另一方面,在步骤816,如果COMPLETE_SET为1(即,将所有错误位索引存储在错误位表中),则在步骤822提交修正的码字以进行出错校验。如果修正的码字对出错校验失败,则处理418产生针对信道控制器的控制(步骤808),并且在步骤810终止。相反,在步骤822,如果修正的解码器输入码字通过出错校验,则在步骤824执行CRC校验。如果修正的解码器输入码字通过CRC校验,则处理在步骤810终止。相反,在步骤824,如果修正的码字未通过CRC校验,则产生针对信道控制器的控制(步骤808),并且处理在步骤810终止。
在写入恢复处理410的另一实施例中,步骤814翻转解码器输入码字中的多个位,而非解码码字中的多个位。
总之,本发明的实施例是用于根据包含写入错误的NCW来生成DCCW的方法。该方法典型地包括写入验证处理和写入错误恢复处理。在将信道输入码字写入至存储介质时所执行的写入验证处理识别写入码字中的写入错误(例如,错误位),并将一个或多个错误位的索引存储至错误位表。当解码器尝试解码码字并且因NCW而失败时,在以后某一时间所执行的写入恢复处理在错误位表中搜索与NCW相关联的错误位索引。如果找到关联的错误位索引,则翻转NCW中的对应位,并且提交NCW,以进行进一步的LDPC解码。
尽管本发明在硬盘驱动器和闪速驱动器的背景下进行了描述,但本发明不限于此。通常来说,本发明可以利用任何适当存储介质来实现。
更进一步地,尽管本发明的实施例已经在LDPC代码的背景下进行了描述,但本发明不限于此。本发明的实施例可以针对可以通过图形定义的任何代码(例如,tornado码、结构化IRA码)来实施,因为其是受到俘获集合影响的图形定义代码。
本发明可以采用用于具体实践那些方法的方法和装置的形式来具体实施。本发明还可以采用在有形介质(如磁记录介质、光记录介质、固态存储器、软盘、CD-ROM、硬盘或任何其它机器可读存储介质)中包含的程序代码的形式来具体实施,其中,当通过机器(如计算机)加载该程序代码并执行时,该机器变为用于具体实践本发明的装置。本发明还可以采用例如或者存储在存储介质中或者通过机器加载和/或执行的程序代码的形式来具体实施,其中,当通过机器(如计算机)加载该程序代码并执行时,该机器变为用于实践本发明的装置。当在通用处理器上实施时,该程序代码段与该处理器组合,以提供与专用逻辑电路类似地操作的特有装置。
除非另外明确规定,每一个数字值和范围都应被解译为近似的,如同该值或范围的值之前的单词“大约”或“近似”一样。
还应明白,在不脱离如下列权利要求书中所表达的本发明的范围的情况下,本领域技术人员可以对已经描述和例示以便说明本发明的性质的那些部分的细节、材料和布置进行各种改变。
权利要求书中使用的图号和/或附图标记旨在识别要求保护的主题的一个或多个可能的实施例,以便方便对权利要求书的诠释。这种使用不应解释为必须将那些权利要求的范围限制成对应图形中示出的实施例。
应当明白,在此阐述的示例性方法的步骤不必要求按所述次序执行,并且应当明白这种方法的步骤的次序仅仅是示例性的。同样地,可以将附加步骤包括在这种方法中,并且可以在与本发明的各个实施例一致的方法中省略或组合特定的步骤。
尽管下列方法权利要求中的要素(若有的话)按具有对应标号的特定顺序进行陈述,但除非权利要求的陈述另外暗示了用于实施这些要素中的一些或全部的特定顺序,那些要素都不必受限于按该特定顺序来实施。
在此,引用“一个实施例”或“一实施例”意指可以将关于该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。在本说明书中的多个地方出现的短语“在一个实施例中”不必全部指代同一实施例,也不是必需相互排除其它实施例的单独或另选实施例。这同样应用于术语“实现方式”。

Claims (16)

1.一种用于将原始编码码字存储至存储介质的机器实施的方法,该方法包括:
(a)将所述原始编码码字写入至所述存储介质,作为写入编码码字;
(b)通过从所述存储介质读取所述写入编码码字来生成信道输出码字;
(c)将所述原始编码码字与基于所述信道输出码字的导出码字进行比较,以识别所述写入编码码字中的一个或多个错误位的第一集合;
(d)通过在所述第一集合中选择一个或多个错误位来生成所述写入编码码字中的一个或多个错误位的第二集合;以及
(e)将与所述第二集合中的一个或多个错误位相对应的错误位信息写入至所述存储介质。
2.根据权利要求1所述的方法,其中,所述原始编码码字是LDPC码字。
3.根据权利要求1所述的方法,其中,所述步骤(c)还包括针对所述信道输出码字执行解码来生成所述导出码字。
4.根据权利要求1所述的方法,其中,所述第二集合等于所述第一集合。
5.根据权利要求1所述的方法,其中,所述第二集合是所述第一集合的适当子集。
6.根据权利要求1所述的方法,还包括:
(f)通过从所述存储介质读取所述写入编码码字来生成解码器输入码字;
(g)针对所述解码器输入码字执行解码以生成解码码字;以及
(h)如果所述解码码字不是正确的解码码字,则:
(h1)从所述存储介质读取所述错误位信息;
(h2)基于所述错误位信息生成修正的码字;以及
(h3)对所述修正的码字执行进一步的处理。
7.根据权利要求6所述的方法,其中,所述步骤(h2)包括基于所述错误位信息来修正所述解码码字的一个或多个位以生成所述修正的码字。
8.根据权利要求6所述的方法,其中,所述步骤(h3)包括:
(h3i)确定所述错误位信息是否对应于所述第一集合中的所有错误位;
(h3ii)如果所述错误位信息对应于所述第一集合中的所有错误位,则所述进一步的处理包括对所述修正的码字执行出错校验和循环冗余校验(CRC)中的一个或多个;以及
(h3iii)如果所述错误位信息不对应于所述第一集合中的所有错误位,则所述进一步的处理包括对所述修正的码字执行解码。
9.根据权利要求1所述的方法,其中,所述错误位信息包括:
针对所述写入编码码字的特有标识符;
针对所述第二集合中的每一个错误位的索引值;以及
对所述第二集合是否对应于所述第一集合中的所有错误位的指示。
10.根据权利要求1所述的方法,其中,所述步骤(d)包括:
(d1)在所述第一集合中选择一个或多个错误位;
(d2)基于所选择的一个或多个错误位生成修正的码字;
(d3)对所述修正的码字执行解码,以生成候选解码码字;
(d4)确定所述候选解码码字是否为正确的解码码字;
(d5)如果所述候选解码码字是正确的解码码字,则基于所选择的一个或多个错误位来生成所述第二集合;以及
(d6)如果所述候选解码码字不是正确的解码码字,则针对所述第一集合中的其它选择的一个或多个错误位重复步骤(d1)-(d4)。
11.一种用于针对存储在存储介质中的写入编码码字生成解码码字的机器实施的方法,所述写入编码码字具有一个或多个错误位,所述方法包括:
(a)通过从所述存储介质读取所述写入编码码字来生成信道输出码字;
(b)基于所述信道输出码字来生成导出码字;
(c)从所述存储介质读取错误位信息,其中,所述错误位信息对应于所述写入编码码字中的一个或多个错误位;
(d)基于所述错误位信息生成修正的码字;以及
(e)针对所述修正的码字执行处理,以生成所述解码码字。
12.根据权利要求11所述的方法,其中,所述写入编码码字是LDPC码字。
13.根据权利要求11所述的方法,其中,所述步骤(b)包括:
(b1)针对所述信道输出码字执行解码,以生成所述导出码字;以及
(b2)确定所述导出码字不是正确的解码码字。
14.根据权利要求11所述的方法,其中,所述步骤(d)包括基于所述错误位信息来修正所述导出码字中的一个或多个位,以生成所述修正的码字。
15.根据权利要求11所述的方法,其中,所述步骤(e)包括:
(e1)确定所述错误位信息是否对应于所述写入编码码字中的所有错误位;
(e2)如果所述错误位信息对应于所述写入编码码字中的所有错误位,则所述处理包括对所述修正的码字执行出错校验和循环冗余校验(CRC)中的一个或多个;以及
(e3)如果所述错误位信息不对应于所述写入编码码字中的所有错误位,则所述处理包括针对所述修正的码字执行解码。
16.根据权利要求11所述的方法,其中,所述错误位信息包括:
针对所述写入编码码字的特有标识符;
针对所述写入编码码字中的每一个错误位的索引值;以及
对所述错误位信息是否对应于所述写入编码码字中的所有错误位的指示。
CN200980124441.XA 2009-04-21 2009-04-21 利用写入验证减轻代码的误码平层 Active CN102077173B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/041215 WO2010123493A1 (en) 2009-04-21 2009-04-21 Error-floor mitigation of codes using write verification

Publications (2)

Publication Number Publication Date
CN102077173A true CN102077173A (zh) 2011-05-25
CN102077173B CN102077173B (zh) 2015-06-24

Family

ID=43011368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980124441.XA Active CN102077173B (zh) 2009-04-21 2009-04-21 利用写入验证减轻代码的误码平层

Country Status (7)

Country Link
US (1) US8484535B2 (zh)
EP (1) EP2307960B1 (zh)
JP (1) JP5432367B2 (zh)
KR (1) KR101321487B1 (zh)
CN (1) CN102077173B (zh)
TW (1) TWI411912B (zh)
WO (1) WO2010123493A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710326A (zh) * 2015-07-16 2018-02-16 德克萨斯仪器股份有限公司 冗余存储器单元在操作寿命期间的动态启用

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8683277B1 (en) * 2010-07-13 2014-03-25 Marvell International Ltd. Defect detection using pattern matching on detected data
US8996967B2 (en) 2010-08-06 2015-03-31 Stmicroelectronics, Inc. Rendering data write errors detectable
US8745466B2 (en) * 2010-08-06 2014-06-03 Stmicroelectronics, Inc. Detecting data-write errors
US8769380B1 (en) * 2010-11-02 2014-07-01 Marvell International Ltd. Methods and apparatus for error recovery in memory systems employing iterative codes
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8775897B2 (en) * 2012-05-07 2014-07-08 Lsi Corporation Data processing system with failure recovery
US9213602B1 (en) 2014-06-23 2015-12-15 Seagate Technology Llc Write mapping to mitigate hard errors via soft-decision decoding
US9602243B2 (en) * 2014-08-26 2017-03-21 Electronics And Telecommunications Research Institute Low density parity check encoder, and low density parity check encoding method using the same
GB2531783B (en) 2014-10-30 2016-09-28 Ibm Method and device for removing error patterns in binary data
KR102556479B1 (ko) * 2015-03-20 2023-07-17 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US9817716B2 (en) 2015-07-16 2017-11-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for retaining non-converged data sets for additional processing
US20170161141A1 (en) * 2015-12-02 2017-06-08 Samsung Electronics Co., Ltd. Method and apparatus for correcting data in multiple ecc blocks of raid memory
TWI632780B (zh) 2016-12-30 2018-08-11 慧榮科技股份有限公司 解碼方法與相關解碼裝置
US11010245B2 (en) * 2018-06-21 2021-05-18 Winbond Electronics Corp. Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof
KR102643457B1 (ko) * 2018-11-19 2024-03-06 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
TWI748214B (zh) * 2019-07-29 2021-12-01 慧榮科技股份有限公司 快閃記憶體控制器、儲存裝置及其讀取方法
US11271589B2 (en) * 2019-10-18 2022-03-08 SK Hynix Inc. Memory system with error-reduction scheme for decoding and method of operating such memory system
US11537927B2 (en) 2020-02-14 2022-12-27 International Business Machines Corporation Quantum readout error mitigation by stochastic matrix inversion
US11456757B2 (en) * 2020-12-16 2022-09-27 SK Hynix Inc. Oscillation detection and mitigation in bit-flipping decoders
CN113053451B (zh) * 2021-03-05 2022-05-10 深圳三地一芯电子有限责任公司 Nandflash内生成softbit的方法、系统、主机以及储存介质
US11621727B2 (en) 2021-06-04 2023-04-04 SK Hynix Inc. Decoding systems and methods for local reinforcement

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463006A (zh) * 2002-05-31 2003-12-24 株式会社东芝 盘驱动器中读数据的纠错方法和装置
US20050204264A1 (en) * 2004-02-27 2005-09-15 Oki Electric Industry Co., Ltd. Error correction circuit
US20070234184A1 (en) * 2003-12-22 2007-10-04 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
US20080104485A1 (en) * 2005-01-19 2008-05-01 Mikhail Yurievich Lyakh Data Communications Methods and Apparatus
CN101174839A (zh) * 2006-10-30 2008-05-07 富士通株式会社 编码装置、解码装置、编码/解码装置及记录/再现装置
CN101174838A (zh) * 2006-11-01 2008-05-07 富士通株式会社 最大似然检测器、错误校正电路和介质存储装置

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4295218A (en) 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
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
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 日本電気株式会社 演算処理装置および演算処理方法
US6550023B1 (en) 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
US6678843B2 (en) 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6598204B1 (en) 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
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
AU2001261509A1 (en) 2000-05-11 2001-11-20 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
JP2002111512A (ja) 2000-09-29 2002-04-12 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
US6950977B2 (en) 2001-03-15 2005-09-27 3G.Com, Inc. Mechanism for turbo decoding when CRC for partial blocks is provided
NO316488B1 (no) 2002-04-26 2004-01-26 Kongsberg Defence Comm As Fremgangsmåte og apparat for mottak av digitale kommunikasjonssignaler
EP1568140A1 (en) * 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
US7296216B2 (en) 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
US20070234178A1 (en) 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
WO2004079563A1 (en) 2003-02-26 2004-09-16 Flarion Technologies, Inc. Soft information scaling for iterative decoding
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 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US7607053B2 (en) 2003-12-30 2009-10-20 Telefonaktiebolaget L M Ericsson (Publ) Method and device for calculating 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
US7383484B2 (en) 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
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
JP2008507194A (ja) 2004-07-15 2008-03-06 サムスン エレクトロニクス カンパニー リミテッド 動き情報符号化装置及び方法、動き情報復号化装置及び方法、これを採用したスケーラブル映像符号化装置及び方法とスケーラブル映像復号化装置及び方法
US7181676B2 (en) 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
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许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US7760880B2 (en) 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
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
US7577891B2 (en) 2005-05-27 2009-08-18 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
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
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
US8867336B2 (en) 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
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
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
WO2007114724A1 (en) 2006-03-31 2007-10-11 Intel Corporation Layered decoder and method for performing layered decoding
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
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
FR2905209B1 (fr) 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage de blocs encodes avec un code ldpc
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
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7979775B2 (en) 2006-10-30 2011-07-12 Motorola Mobility, Inc. Turbo interference suppression in communication systems
JP4833173B2 (ja) 2006-10-30 2011-12-07 富士通株式会社 復号化器、符号化・復号化装置及び記録再生装置
JP2008112516A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd 誤り訂正回路及び情報再生装置
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
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
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
US20080256419A1 (en) * 2007-04-13 2008-10-16 Microchip Technology Incorporated Configurable Split Storage of Error Detecting and Correcting Codes
US7495519B2 (en) * 2007-04-30 2009-02-24 International Business Machines Corporation System and method for monitoring reliability of a digital system
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
US7930621B2 (en) 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
US8032816B2 (en) 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
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
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
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
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
CN101803205B (zh) * 2008-08-15 2013-12-18 Lsi公司 近码字的ram列表解码
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
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
US8205144B1 (en) 2008-10-13 2012-06-19 Marvell International Ltd. Error event processing methods and systems
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 ソニー株式会社 非水電解質電池

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463006A (zh) * 2002-05-31 2003-12-24 株式会社东芝 盘驱动器中读数据的纠错方法和装置
US20070234184A1 (en) * 2003-12-22 2007-10-04 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
US20050204264A1 (en) * 2004-02-27 2005-09-15 Oki Electric Industry Co., Ltd. Error correction circuit
US20080104485A1 (en) * 2005-01-19 2008-05-01 Mikhail Yurievich Lyakh Data Communications Methods and Apparatus
CN101174839A (zh) * 2006-10-30 2008-05-07 富士通株式会社 编码装置、解码装置、编码/解码装置及记录/再现装置
CN101174838A (zh) * 2006-11-01 2008-05-07 富士通株式会社 最大似然检测器、错误校正电路和介质存储装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710326A (zh) * 2015-07-16 2018-02-16 德克萨斯仪器股份有限公司 冗余存储器单元在操作寿命期间的动态启用
CN107710326B (zh) * 2015-07-16 2021-10-01 德克萨斯仪器股份有限公司 冗余存储器单元在操作寿命期间的动态启用

Also Published As

Publication number Publication date
EP2307960A1 (en) 2011-04-13
TW201129901A (en) 2011-09-01
US8484535B2 (en) 2013-07-09
KR101321487B1 (ko) 2013-10-23
KR20120011310A (ko) 2012-02-07
EP2307960A4 (en) 2013-01-16
US20120030539A1 (en) 2012-02-02
EP2307960B1 (en) 2018-01-10
CN102077173B (zh) 2015-06-24
JP2012525062A (ja) 2012-10-18
TWI411912B (zh) 2013-10-11
WO2010123493A1 (en) 2010-10-28
JP5432367B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
CN102077173B (zh) 利用写入验证减轻代码的误码平层
US8527840B2 (en) System and method for restoring damaged data programmed on a flash device
US8806307B2 (en) Interruption criteria for block decoding
US8707144B2 (en) LDPC decoder with targeted symbol flipping
US8650457B1 (en) Methods and systems for reconfigurable LDPC decoders
CN103297061B (zh) 决定同位元检查阵列的方法以及快闪存储器系统
CN109873645B (zh) 用于多个字线失败的软芯片猎杀恢复
CN107528597B (zh) 一种基于crc校验码的ldpc码后处理译码方法
JP5670411B2 (ja) トラッピング・セットを破壊するための装置および方法
US9397705B2 (en) Decoder for LDPC code and BCH code and decoding method thereof
US10090865B2 (en) Performance optimization in soft decoding of error correcting codes
US10879935B2 (en) LDPC decoder, semiconductor memory system, and operating method thereof
JP2008141439A (ja) 誤り訂正処理装置及び誤り訂正処理方法
EP2573943A1 (en) Power-optimized decoding of linear codes
CN109873646B (zh) 使用级联码的软芯片猎杀恢复
WO2013018080A1 (en) Error-correction decoding with reduced memory and power requirements
US9407290B2 (en) Error-correction decoding with conditional limiting of check-node messages
JP2019057752A (ja) メモリシステム
US20140298131A1 (en) Priori Information Based Post-Processing in Low-Density Parity-Check Code Decoders
US8868999B1 (en) Systems and methods for erasure correction of iterative codes
TWI685211B (zh) 用於對低密度奇偶校驗資料進行解碼以對碼字進行解碼的方法以及解碼器
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
US7984367B1 (en) Method for iterative decoding in the presence of burst errors
CN102420615A (zh) 基于解码器的数据恢复
CN117459076B (zh) 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质

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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Delaware

Applicant after: Agere Systems Inc.

Address before: American Pennsylvania

Applicant before: AGERE SYSTEMS Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: EGREE SYSTEM CO. LTD. TO: AGERE SYSTEMS GUARDIAN CORP.

Free format text: CORRECT: ADDRESS; FROM:

GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) CORPORAT

Free format text: FORMER OWNER: AGERE SYSTEMS GUARDIAN CORP.

Effective date: 20150820

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150820

Address after: Singapore Singapore

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

Address before: Delaware

Patentee before: Agere Systems Inc.

TR01 Transfer of patent right
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 City

Patentee after: Broadcom International Pte. Ltd.

Address before: Singapore City

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

TR01 Transfer of patent right

Effective date of registration: 20230412

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