利用写入验证减轻代码的误码平层的制作方法

文档序号:6594050阅读:169来源:国知局
专利名称:利用写入验证减轻代码的误码平层的制作方法
技术领域
本发明涉及数字信号处理,并且更具体地说,涉及诸如低密度奇偶校验(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)值L。h。LLR值包括 (i)表示解码器关于由对应值y所表示的一位硬判定值的最佳推测的符号位,和(ii)表示 硬判定中解码器的置信度的一个或多个量值位(magnitude bit)。例如,信道检测器112可 能输出每一个LLR值L。h,作为五位值,其中,最高有效位是表示硬判定的符号位,而四个量 值位的值表示硬判定的置信度。因而,在一种可能LLR方案中,二进制00000的LLR值表示 具有最小置信度的0的硬判定,二进制01111的LLR值表示具有最大置信度的0的硬判定, 二进制10001的LLR值表示具有最小置信度的1的硬判定,而二进制11111的LLR值将表 示具有最大置信度的1的硬判定,其中,二进制10000未使用。信道检测器112向LDPC解码器114发送Leh值,其中,它们变为解码器输入码字。 接着,LDPC解码器114针对一组L。h值执行一次或多次解码迭代116 ( “局部迭代”),以生成解码码字i。当(i)LDPC解码器114得出正确的解码码字(DCCW),即义和信道输入码字 108相同,或者(ii)LDPC解码器AC执行了最大可允许数量的局部迭代而没有得出DCCWjP LDPC解码器114失败时,LDPC解码器AC终止。当解码器114终止时,其向数据目的地118 输出解码码字i。下面更详细地描述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行,S卩,针对码字的每一 位的列,和针对每一个奇偶位的行。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的 核心是称作置信传播的迭代、两相消息传递算法。置信传播可以使用Tarmer图形来说明。图2 (B)是H矩阵200的Tarmer图形。一般来说,Tanner图形包括1)等于H中 的列数(并因此等于变量位数N)的多个位节点(还称为变量节点)n,2)等于H中的行数 (并因此等于奇偶位数)的多个校验节点m,3)边202,每一条边将单个位节点叫连接至单 个校验节点IV 4)针对每一个位节点Iii的原始L。h值,以及5)针对每一个位节点Iii的所计 算的硬判定输出值^。图2 (B)的Tanner图形包括九个位节点、六个校验节点Hici-H^
将位节点连接至校验节点的18条边202、九个L。h值,以及九个1值。Tanner图形中的边表示位节点η与校验节点m之间的关系,其中,边表示H中的 1。例如,在图2(B)中,边202将第一位节点Iitl连接至第四校验节点m3,因为在图2(A)中 的H矩阵200的第一列、第四行中存在1。Tanner图形是双向图形,即,一条边可以将一个位节点仅连接至一个校验节点,而不能将一个位节点连接至另一位节点,或者不能将一个校验节点连接至另一校验节点。通 过边连接至特定校验节点m的所有位节点η的集合表示为N (m)。通过边连接至特定位节点 η的所有校验节点m的集合表示为M (η)。特定(位或校验)节点的索引在该图形中是其序 数系列。返回至图3,在步骤302开始处理并且前进至步骤304,解码器初始化。解码器初 始化304包括针对与位节点η相关联的对应L。h值来设置连接至每一个位节点η的所有边 η(例如,图2(B)的边202),并且针对位节点η的Leh的硬判定值(S卩,MSB)的来设置位节 点η的1值。因而,例如,在图2(B)中,如果与位节点Iitl相关联的L。h值是十进制值+5,则 在步骤304,将位节点nQ连接至校验节点mQ和m3的两条边202被设置成+5,并且位节点nQ 的1值被设置成1。表达这个步骤的第一部分的另选方式是,位节点 向集合MOO中的 每一个校验节点m发送消息+5。从位节点η向校验节点M发送的消息被称作位节点或Q消 息,并且被表示为Q 。接着,步骤304向出错校验步骤(syndrome check st印)306发送包括N个&值
的候选解码码字矢量i。出错校验步骤306利用以下等式(1)来计算出错矢量(syndrome vector)ζ
权利要求
1.一种用于将原始编码码字存储至存储介质的机器实施的方法,该方法包括(a)将所述原始编码码字写入至所述存储介质,作为写入编码码字;(b)通过从所述存储介质读取所述写入编码码字来生成信道输出码字;(c)将所述原始编码码字与基于所述信道输出码字的导出码字进行比较,以识别所述 写入编码码字中的一个或多个错误位的第一集合;(d)通过在所述第一集合中选择一个或多个错误位来生成所述写入编码码字中的一个 或多个错误位的第二集合;以及(e)将与所述第二集合中的一个或多个错误位相对应的错误位信息写入至所述存储介质。
2.根据权利要求1所述的方法,其中,所述原始编码码字是LDPC码字。
3.根据权利要求1所述的方法,其中,所述步骤(c)还包括针对所述信道输出码字执行 解码来生成所述导出码字。
4.根据权利要求1所述的方法,其中,所述第二集合等于所述第一集合。
5.根据权利要求1所述的方法,其中,所述第二集合是所述第一集合的适当子集。
6.根据权利要求1所述的方法,还包括(f)通过从所述存储介质读取所述写入编码码字来生成解码器输入码字;(g)针对所述解码器输入码字执行解码以生成解码码字;以及(h)如果所述解码码字不是正确的解码码字,则 (hi)从所述存储介质读取所述错误位信息; (h2)基于所述错误位信息生成修正的码字;以及 (h3)对所述修正的码字执行进一步的处理。
7.根据权利要求6所述的方法,其中,所述步骤(h2)包括基于所述错误位信息来修正 所述解码码字的一个或多个位以生成所述修正的码字。
8.根据权利要求6所述的方法,其中,所述步骤(M)包括(h3i)确定所述错误位信息是否对应于所述第一集合中的所有错误位; (h3ii)如果所述错误位信息对应于所述第一集合中的所有错误位,则所述进一步的处 理包括对所述修正的码字执行出错校验和循环冗余校验(CRC)中的一个或多个;以及(h3iii)如果所述错误位信息不对应于所述第一集合中的所有错误位,则所述进一步 的处理包括对所述修正的码字执行解码。
9.根据权利要求1所述的方法,其中,所述错误位信息包括 针对所述写入编码码字的特有标识符;针对所述第二集合中的每一个错误位的索引值;以及 对所述第二集合是否对应于所述第一集合中的所有错误位的指示。
10.根据权利要求1所述的方法,其中,所述步骤(d)包括 (dl)在所述第一集合中选择一个或多个错误位;(d2)基于所选择的一个或多个错误位生成修正的码字; (d3)对所述修正的码字执行解码,以生成候选解码码字; (d4)确定所述候选解码码字是否为正确的解码码字;(d5)如果所述候选解码码字是正确的解码码字,则基于所选择的一个或多个错误位来生成所述第二集合;以及(d6)如果所述候选解码码字不是正确的解码码字,则针对所述第一集合中的其它选择 的一个或多个错误位重复步骤(dl)_(d4)。
11.一种用于针对存储在存储介质中的写入编码码字生成解码码字的机器实施的方 法,所述写入编码码字具有一个或多个错误位,所述方法包括(a)通过从所述存储介质读取所述写入编码码字来生成信道输出码字;(b)基于所述信道输出码字来生成导出码字;(c)从所述存储介质读取错误位信息,其中,所述错误位信息对应于所述写入编码码字 中的一个或多个错误位;(d)基于所述错误位信息生成修正的码字;以及(e)针对所述修正的码字执行处理,以生成所述解码码字。
12.根据权利要求11所述的方法,其中,所述写入编码码字是LDPC码字。
13.根据权利要求11所述的方法,其中,所述步骤(b)包括(bl)针对所述信道输出码字执行解码,以生成所述导出码字;以及 (b2)确定所述导出码字不是正确的解码码字。
14.根据权利要求11所述的方法,其中,所述步骤(d)包括基于所述错误位信息来修正 所述导出码字中的一个或多个位,以生成所述修正的码字。
15.根据权利要求11所述的方法,其中,所述步骤(e)包括(el)确定所述错误位信息是否对应于所述写入编码码字中的所有错误位; (e2)如果所述错误位信息对应于所述写入编码码字中的所有错误位,则所述处理包括 对所述修正的码字执行出错校验和循环冗余校验(CRC)中的一个或多个;以及(e3)如果所述错误位信息不对应于所述写入编码码字中的所有错误位,则所述处理包 括针对所述修正的码字执行解码。
16.根据权利要求11所述的方法,其中,所述错误位信息包括 针对所述写入编码码字的特有标识符;针对所述写入编码码字中的每一个错误位的索引值;以及对所述错误位信息是否对应于所述写入编码码字中的所有错误位的指示。
全文摘要
在将信道输入(例如,LDPC)码字写入至存储介质时所执行的写入验证方法(i)比较信道输入码字与写入码字,(ii)识别任何错误位,以及(iii)将针对记录的错误位索引存储在表中。在以后的某一时间,读取该写入码字并将其发送至解码器。如果该解码器无法利用附近码字,则写入错误恢复处理搜索该表并且检索错误位信息。调节在那些索引处的码字位,并且提交修正的码字以供进一步的处理。
文档编号G06F11/00GK102077173SQ200980124441
公开日2011年5月25日 申请日期2009年4月21日 优先权日2009年4月21日
发明者K·冈曼, N·格拉菲 申请人:艾格瑞系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1