用于多个阶段错误校正的方法和设备的制作方法

文档序号:7521221阅读:362来源:国知局
专利名称:用于多个阶段错误校正的方法和设备的制作方法
用于多个阶段错误校正的方法和设备
本申请是申请号为200680042594. 6,发明名称为“用于多个阶段错误校正的方法 和设备”,PCT国际申请日为2006年11月13日的发明专利申请的分案申请。技术领域
本发明一般涉及一种编码和解码的方案。尤其涉及一种通过编码和解码较短的子 代码而提供用于代码错误校正的方法和设备。
背景技术
在现代信息时代中,诸如I和O的二进制数值被用于表示和传送诸如存储、视频、 音频、统计信息等的多种信息。令人遗憾的是,在二进制数据的存储、传输、和/或处理过程 中,错误可能无意地被引入了(例如,“ I”位可能被变为“ O ”位,反之亦然。
在本领域中已知的用于克服存在的这类错误的多种技术使用了一种错误校正代 码方案来确保所存储信息的可靠性。存储方法的物理意义在于展示了一种可以用每个存储 单元核心的信息位的形式进行表达的固定能力。这种固定的能力是在每个存储单元核心中 信噪比的直接结果,这样就定义了一个理论的上限(这就是众所周知的“香农极限”)。
在许多实例中,对于一个给定的代码速率,为了接近理论校正能力,这种错误校正 代码方案要求使用十分长的代码。
然而,增加代码长度会导致编码器和解码器电路的复杂性和面积增加。这个结果 就是在某些方面上,实现一个包括这样的错误校正代码方案的集成电路并不现实或者并不 有效。可替代地,还不存在充足的硅密度以用于支持标准解码技术。
“错误校正”的定义(也就是错误检测以及校正)在这里被用于数据存储。根据前 向错误校正代码,编码和解码或在软件中或使用硬件来实现。
一旦发现了香农极限[I],就会这样的需要,即提供能接近达到香农信息法则的性 能极限的代码。众所周知[2] - [5],为了达到这些极限,一种方案是必须增加代码长度。 1993年,Berron首次发表了使用迭代解码的近容量接近技术。然而,仅仅考虑了长代码。 随后,[7] - [11]通过引入低密度奇偶校验(LDPC)代码,更加接近这些容量极限的新结构 成功地被提出了,又是仅仅对于典型的约107位的长代码。
基于LDPC迭代解码器的特定方案在[12] — [14]中进行了描述,其中重点被放在 了减少计算单元的执行复杂性、迭代次数、需要的存储大小等等。
在一个复杂的、受限制的环境中为了实现这些长代码以及从它们的性能中获益, 于是就需要提供用于减少长代码编码器和解码器电路复杂性的方法,这样就可以使用实用 的、较短的方案。
一种现有技术由Dror等在的美国专利申请No. 20050160350中所教导,其公开了 一种的删截方法,用于通过减少奇偶校验位开销以减少编码器和解码器电路的复杂性,
Dror的专利公开了一种为了单个位前向错误校正的高速数据编码器/解码器。数 据被布置到在一个矩形阵列中进行保护,这样单个位的错误的位置可以根据行和列的位置而进行确定。结果是,减小了被提供用于将错误故障转换为错误位置的查找表格的尺寸。
然而,在Dror的专利中所公开的两个计算阶段的每一个,单独地并不是一个错误 校正方案,由于它不能提供用于校正在第一阶段中的单个错误。因此,在不依赖第二阶段中 所得到的计算结果情况下,第一阶段甚至不能校正在每个子代码中的单个错误。发明内容
根据本发明,它提供了一种解码代码表示的方法,该方法包括以下步骤(a)根据 代码字表示生成多个子字,以便每个子字的位都是所述代码字表示的位的合适子集;(b) 根据每个子字的位单独地解码每个字,以生成相应的已解码子字;以及(c)如果多个子字 的其中一个的解码失败,就修正相应于所述解码失败子字的解码子字,由此产生已修正的 解码子字,这种修改至少部分地根据至少一个成功地解码的子字的对应解码子字。
根据本发明,它提供了一种用于解码M位字的设备,该设备包括(a)用于解码N〈M 位字的解码器;以及(b)用于分别地将解码器应用到从M位字中所选出的每个N位不同子 集的机制,解码器的每个应用单独地依赖于这个应用被用到的N位,每个应用生成相应解 码数据,以便至少部分地根据应用的相应解码数据生成M位字的最终解码数据,其中如果 应用中的一个失败,那么该机制至少部分地根据至少一个成功应用的相应解码数据,实现 已失败应用的相应解码数据的修正。
根据本发明,它提供了一种用于解码M位字的设备,该设备包括(a)多个用于各 自解码N〈M位字的解码器;以及(b)用于分别地将所述多个解码器的每一个应用到从M位 字中选出的每个N位的不同子集的机制,所述多个解码器中的每一个解码器的每个应用单 独地依赖于每个应用被用到的N位,每个应用生成相应解码数据,以便至少部分地根据各 个应用的相应解码数据生成M位字的最终解码数据,其中如果解码器中的一个失败,那么 该机制至少部分地根据已成功的至少一个解码器的相应解码数据,实现已失败解码器的相 应解码数据的修正。
根据本发明,它提供了一种提供用于数据位错误校正的方案的方法,该方法包括 以下步骤(a)根据第一编码方案编码数据位以生成第一奇偶校验位组;(b)根据第二编码 方案编码数据位以生成第二奇偶校验位组;(C)将第二奇偶校验位组转换为一个奇偶校验 位的聚缩组,其中这个转换是多对一的;以及(d)通过将第一奇偶校验位组与聚缩奇偶校 验位组相组合以生成用于所述数据位的奇偶校验位的最终组。
根据本发明,它提供了一种提供用于数据位错误校正的方案的方法,该方法包括 以下步骤(a)根据数据位生成多个位的子组,这样每个数据位在多个子组中至少出现一 次;(b)根据相应的第一编码方案对多个子组的每个子组进行编码,以对于每个子组生成 相应的、至少一个的第一奇偶校验位;(C)根据相应的第二编码方案每个子组进行编码,以 对于每个子组生成相应的、至少一个的第二奇偶校验位;(d)将所有多个子组中的所有所 述至少一个第二奇偶校验位转换成联合的聚缩奇偶校验位,其中这个转换是多对一的;以 及(e )通过将所有所述多个子组中的所有所述至少一个第一奇偶校验位与所述联合聚缩奇 偶校验位相组合,以生成用于数据位的奇偶校验位的最终组。
根据本发明,它提供了一种提供用于数据位错误校正的方案的方法,该方法包括 以下步骤(a)根据数据位生成多个位的子组,这样每个数据位在多个子组中至少出现一次;(b)使用相应的编码方案对多个子组的每个子组进行编码,以对于每个子组生成相应 的至少一个奇偶校验位;(C)对于每个子组,从每个子组的位和每个子组的相应的至少一 个奇偶校验位中选出相应的所选子集;(d)将所有多个子组中的所选子集转换成联合聚缩 所选位,其中这个转换是多对一的;(e)通过将每个子组的位与每个子组的相应的至少一 个奇偶校验位相组合,以对于每个子组生成相应的被缩短的代码字,然后将每个子组中的 相应的所选子集去除;以及(f)通过将所有所述多个子组的相应的被缩短的代码字与联合 聚缩所选位相组合,以生成用于数据位的代码字。
根据本发明,它提供了一种提供用于数据位错误校正的方案的方法,该方法包括 以下步骤(a)根据数据位生成多个位的子组,这样每个数据位在子组中至少出现一次; (b)使用相应的编码方案对多个子组的每个子组进行编码,以对于每个子组生成相应的代 码字;(c)对于每个子组,从相应代码字的位中选择相应的所选子集;(d)将所有相应代码 字中的相应所选子集转换成联合聚缩所选位,其中这个转换是多对一的;(e)通过去除相 应于每个相应代码字的所选子集的位,以生成用于每个相应代码字的相应被缩短的代码 字;以及(f)通过将所有多个子组中的相应被缩短的代码字与联合聚缩所选位相组合以生 成用于所述数据位的代码字。
根据本发明,它提供了 一种解码代码字表示的方法,所述表示包括M个数据位和P 个奇偶校验位,该方法包括以下步骤(a)将P个奇偶校验位划分成第一奇偶校验位组和第 二奇偶校验位组;(b)仅仅使用第一奇偶校验位组对M个数据位进行解码以提供校正的数 据位;以及(C)如果仅仅使用第一奇偶校验位组的解码失败,那么使用第一奇偶校验位组 和第二奇偶校验位组,对M个数据位进行解码以提供校正的数据位。
根据本发明,它提供了 一种解码包括M个数据位和P个奇偶校验位的代码字表示 的方法,该方法包括以下步骤(a)将M个数据位划分成K>1个子集,其中M数据位的每个 在K个子集中至少出现一次;(b)将P个奇偶校验位划分成第一奇偶校验位组和第二奇偶 校验位组;(c)将第一奇偶校验位组划分成K个子集,第一奇偶校验位组的每个子集对应于 M个数据位的各自子集;(d)根据第一奇偶校验位组的相应子集对M数据位的每个子集进行 解码,以生成M数据位的每个子集的解码数据;(e)如果M个数据位的K子集的其中一个解 码失败,那么至少部分地根据第二奇偶校验位组对所述其中一个子集进行解码,以生成所 述其中一个子集的解码数据;以及(f )将M个数据位的所有K个子集的解码数据相组合,以 生成用于M数据位的总的解码数据。
根据本发明,它提供一种解码解码来自具有N>M个位的代码字表示的M个数据位 的方法该方法包括以下步骤(a)从N个位中去除至多N-M位的所选子集,因此产生了剩余 位的集合;(b)将剩余位划分成K>1个剩余位的子集,其中每个剩余位是所述K个子集中的 至少一个的成员;(c)仅仅根据每个子集的位对K个子集的每个进行解码,以生成每个子集 的解码数据;(d)如果K个子集的其中一个的解码失败,那么至少部分地根据被去除的所选 子集对一个子集进行解码以生成所述其中一个子集的解码数据;以及(e)将所有K个子集 的解码数据相组合,以生成用于所述M个数据位的总解码数据。
本发明的第一方面是一种解码代码字表示的方法。在本发明的这一方面以及本发 明其它的、相似的方面,被解码的代码字表示,而不是代码字被写入存储器,因为写入、然后 读取代码字会给代码字引入错误。多个子字根据代码字的表示被生成,这样每个子字就是代码字表示的位的合适子集。每个子字根据它自己的位独立地被解码以生成一个相应的解码子字。如果子字中的一个的解码失败,那么对应于其解码已失败的子字的解码子字就会被修正,因此会产生一个已修正的解码子字。这个修正至少部分地是根据这样的解码子字进行的,即这些解码子字与一个或者多个的成功地被解码的子字相对应。
如下所述,术语“解码子字”的范围同时包括通过成功地解码一个子字所得到的数值和解码子字的尝试失败的逻辑指示。需要注意的是,通过成功地解码子字所获得的数值是原始代码字自己的一部分,而不仅仅是其中的一个表示。换句话说,一个“被成功地解码的子字”是一个子代码字。“修正”一个解码子字意味着将解码子字从一个数值改变为另一个数值,或者从一个解码失败的逻辑指示改变为一个数值,或者从一个数值改变为一个失败的逻辑指示。
例如,在下面的范例情形I中,两个子字Of**和是根据代码字的表示而被生成的。每一个子字使用[11,7,3]的解码器而分别地被解码。如果Cf**的解码失败,而的解码成功,那么解码的尝试失败的逻辑指示就会通过以由ξ所解码的C1替代逻辑指示而进行修正。这种修正是根据对应于成功地被解码的 的子代码字CforfiCfort使用 [15,7,5]中的编码器而进行编码,以再生P2, P2与,进行异或运算以获得^ P和■进行级联以获得G。
优选地,如果子字中的一个解码失败,那么来自被修正的解码子字的数据与来自对应于成功被解码的子字的所有解码子字的数据进行组合。例如,在下面的范例情形I中, 如果解码Ofwf失败,而解码成功,那么从《^所解码出的C1的最前七位就与的最前七位相级联以恢复首标(header)。
最优选地,来自已修正的解码子字的数据与来自对应于成功地被解码的子字的所有解码子字的数据的组合通过包含组装来自已修正的解码子字的数据与来自对应于成功地被解码的子字的所有解码子字的数据的步骤而实现。“组装”来自两个或更多不同来源的数据在这里被定义为将来自所有来源的位可能与被变更次序的位的顺序放在一起,以及可能与至少被重复一次的一个或多个位放在一起,并放入一个寄存器或存储位置。典型地, 然而,如同在下面的范例情形I中,数据通过级联来自各种不同数据来源的位进行“组装”, 无需考虑更改多个位的顺序以及不考虑重复位。
优选地,多个子字是不相交的。例如,在下面范例情形I中,和Ofart是不相交的。
优选地,多个子字都包含相同数目的位。例如,在下面范例情形I中,Cfort^SilertIΛ都包含11位。
本发明的第二个方面是一种用于解码M位字的设备。该设备包括用于解码Ν〈Μ位的字的解码器和将解码器单独地应用到从M位字所选出的N位的每个不同子集的机制。解码器的每个应用单独地依赖于其应用被应用到的N位。解码器的每个应用生成对应的解码数据,以便至少部分地根据解码器应用所产生的解码数据来生成最终的解码数据。如果解码的多个应用中的一个失败了,那么至少部分地根据解码器的其它应用所产生的解码数据来修正这些应用的解码数据。
例如,在下面范例情形I中,M=26, N=Il以及解码器是[11,7,3]的解码器。这个 11位的子集是亡和Qlwt [11,7,3]的解码器单独地被应用到这两个子集。最终的解I— ο码数据是已解码的14位首标(header)。如果解码失败,但成功解码,那么解码的尝试失败的逻辑指示就通过用从所解码的C1替代该逻辑指示而进行修正。这种修正根据对应于成功地被解码的,的解码子字=CJfwf采用[15,7,5]的编码器进行编码以再生P2, P2与f进行异或运算以得到^ Pfort和g进行级联以得到G 。
优选地,这些子集是不相交的。例如,在下面的范例情形I中,和是不相交的。
本发明的第三个方面是一种用于解码M位字的设备。该设备包括多个解码器,每个解码器解码N〈M位的字。该设备还包括一种机制,用于将每个解码器单独地应用到从M位字所选出的N位的每个不同子集。解码器的每个应用单独地依赖于其正被应用到的N·位。 解码器的每个应用生成相应的解码数据,以便至少部分地根据通过应用多个解码器所产生的解码数据来生成最终的M位字的解码数据。如果多个解码器中的一个失败了,那么至少部分地根据其它解码器所产生的解码数据来修改那些对应的解码数据。
例如,在下面范例情形I中,M=26,N=11以及解码器是文献[11,7,3]的解码器。这个11位的子集是文献[11,7,3]的每个解码器被单独地应用到这两个子集JLο中的一个。最终的解码数据是已解码的14位首标。如果解码f失败,但成功解码Ofsrt.1,那么试图解码《^―的逻辑指示就通过用从^所解码的C1替代该逻辑指示而进行修正。这种修正根据对应于所成功地解码的的解码子字pi^采用文献[15,7,5]的编码器进行编码以再生p2,P2与,进行异或运算以得到和■进行级联以得到
优选地,这些子集是不相交的。例如,下面范例情形I中,和是不相交的。
本发明的第四个方面是一种提供了用于数据位错误校正方案的方法。该数据位根据第一编码方案而被编码以生成第一奇偶校验位组。这些数据位也根据第二编码方案而被编码以生成第二奇偶校验位组。第二奇偶校验位组通过多对一的转换方式转换成为一个聚缩的奇偶校验位组。通过将第一组和第二奇偶校验位组进行组合以生成一个最终奇偶校验位组。
例如,在下面范例情形I中,首标的数据位是14位。第一编码方案是产生Cf*和 Cfert的[11,7,3]的方案。第一奇偶校验位组是每一个的最后四位。第二编mMΛ码方案是产生第二奇偶校验位组P1和P2的[15,7,5]方案。第二奇偶校验位组通过多对一的转换异或运算(8位进,4位出)而被转换成聚缩组P。最终奇偶校验位组通过将0,的最后四位和Cfwf的最后四位与P进行组合而被生成,以提供在图8以附图标记246和254m所表示的代码字的奇偶校验位。
优选地,通过组装第一奇偶校验位组的至少一部分与聚缩奇偶校验位组,第一奇偶校验位组与聚缩奇偶校验位组进行组合。例如,在下面范例情形I中,Cf** Cftef和P、 J一起被写在闪存设备的一个公用位置,这样Cfert的最后四位、Cfert的最后四位和P就被一起存储在公用位置上。
优选地,转换步骤包括对第二奇偶校验位组的多个子组进行异或运算。例如,在下面范例情形I中,P1和P2进行异或运算。
本发明的第五个方面是一种提供用于数据位错误校正方案的方法。位的多个子组根据数据位而被生成,这样每个数据位在各子组中至少出现一次。每个子组根据相应的第一编码方案进行编码以生成一个或者多个相应的第一奇偶校验位。每一个子组根据相应的第二编码方案进行编码以生成一个或者多个相应的第二奇偶校验位。所有的第二奇偶校验位通过多对一操作被转换为联合聚缩奇偶校验位。最终奇偶校验位组通过将所有第一奇偶校验位与联合聚缩奇偶校验位进行组合而被生成。
例如,在下面范例情形I中,数据位是首标的14位。两个子组是首标的最前7位和最后7位。每个数据位在其中一个子组中恰好只出现一次,而在另一个子组中根本不出现。第一编码方案全是产生Cf *和Cfwf的[11,7,3]的方案,其生成用于第一子组的四个奇偶校验位(Cfert的最后四位)和用于第二子组的四个奇偶校验位的最后四位)。第二编码方案都是[15,7,5]的方案,其生成用于第一子组的四个奇偶校验位P1和用于第二子组的四个奇偶校验位P2。P1和P2通过多对一的“异或”操作(8位进,4位出)被转换为聚缩组P。通过将P写入闪存设备中、并将Cfort的最后四位和匚2—的最后四位与P进行组合生成最终奇 偶校验位组。
优选地,通过组装所有第一奇偶校验位组与聚缩奇偶校验位组,第一奇偶校验位组与聚缩奇偶校验位组进行组合。例如,在下面范例情形I中,Cfwf 'Cfert和P 一起被写在闪存设备中,这样Cfert的最后四位、Cfirt的最后四位和P就被一起存储在公用位置上。
优选地,每个数据位在多个子组中仅仅出现一次。例如,在下面范例情形I中,每个首标的最前7位在第一子组中出现一次,而在第二子组中根本不出现,以及每个首标的最后7位在第二子组中只出现一次,而在第一子组中根本不出现。可替代地,至少一个数据位在多个子组中至少出现两次。例如,在下面范例情形2中,对于编码4096个信息位,在 586个代码字中就有586x7 = 4102个数据位,这样其中一个信息位可以被复制6次。
优选地,所有的子组具有相同的大小。例如,在下面范例情形I中,两个子组都具有7位。
优选地,对于子组中的至少一个,通过使用一个通用的编码方案来获得相应的第一和第二编码方案,这样(多个)第一编码方案根据第一顺序来编码(多个)子组位,并且(多个)第二编码方案根据第二顺序来编码(多个)子组位。例如,在下面范例情形I的一个可选例中,[11,7,3]的编码可以被作为第一编码方案独立地应用到首标的最前和最后7位上; 于是首标最如7位的顺序可以被改变,以及首标最后7位的顺序可以被改变;然后[11,7,3]的编码可以作为第二编码方案被独立地应用到已改变次序的首标的最前和最后7位上。 通过将异或运算由编码已改变序列的最前7首标位所产生的代码字的最后四位与由编码已改变序列的最后7首标位所产生的代码字的最后四位,产生聚缩奇偶校验位。正如在下面范例情形I中,14个数据位和12个奇偶校验位将被存储。
优选地,根据通用的第一编码方案对所有的子组进行编码。例如,在下面范例情形 I中,这个通用的第一编码方案是[11,7,3]的编码方案。
优选地,根据通用的第二编码方案对所有的子组进行编码。例如,在下面范例情形 I中,这个通用的第二编码方案是[15,7,5]的编码方案。
优选地,将第二奇偶校验位转换为联合聚缩奇偶校验位,这个转换包括将对应于子组中的一个的第二奇偶校验位的至少一个和对应于子组中另一个的第二奇偶校验位的至少一个进行异或运算。例如,在下面范例情形I中,当P1与P2进行异或运算时,P1和P2 是“第二奇偶校验位”的两个组。
本发明的第六个方面是一种提供用于数据位错误校正方案的方法。多个子组的位根据数据位而被生成,这样每个数据位在多个子组中至少出现一次。每个子组根据相应的编码方案进行编码以生成一个或者多个相应的第一奇偶校验位。对于每个子组,相应的所选子集是从子组的位以及(多个)相应的奇偶校验位中被选择出来的。所有的所选子集通过多对一操作被转换为联合聚缩所选位。对于每个子集而言,相应的被缩短代码字是通过将每个子集的位与(多个)相应奇偶校验位进行组合,然后去除相应所选子集的位而被生成的。最后,用于数据位的代码字是通过将所有的被缩短代码字与联合聚缩所选位进行组合而被生成的。
例如,在下面范例情形I中,数据位是首标的14位。两个子组是首标的最前7位和最后7位。每个数据位在一个子组中恰好只出现一次,而在另一个子组中根本不出现。每个子组使用[15,7,5]的编码器进行编码以生成代码字CjP C2,其中每个包括8个奇偶校验位。“所选”的子集P1和P2通过多对一的异或操作(8位进,4位出)从C1和C2中的位转换为P的联合聚缩所选位。通过将子组的位与由[15,7,5]的解码器所产生的奇偶校验位进行组合,以产生全代码字C1和C2,然后从C1中去除所选子集P1和从C2中移去所选子集P2,生成缩短的代码字C和O,^通过将'Cpti与P写入闪存设备中,并将iQ-、 Cfeft与P进行组合以生成最终的代码字。
优选地,通过组装子组位与相应的奇偶校验位,将每个子组位与相应的奇偶校验位进行组合。例如,在下面范例情形I中,代码字C1是通过将第一子组与由编码第一子组所产生的奇偶校验位相级联而被产生的,代码字C2是通过将第二子组与由编码第二子组所产生的奇偶校验位相级联而被产生的。
优选地,通过组装所有被缩短的代码字与联合所选聚缩位,被缩短的代码字与联合所选聚缩位进行组合。例如,在下面范例情形I中,Cfwt Cfm1与P —起被存储到闪存、 J设备中的一个公用位置。
优选地,每个数据位在多个子组中仅仅出现一次。例如,在下面范例情形I中,每个首标的最前7位在第一子组中出现一次,而在第二子组中根本不出现,并且每个首标最后7位在第二子组中只出现一次,而在第一子组中根本不出现。可替代地,至少一个数据位在多个子组中至少出现两次。例如,在下面范例情形2中,对于编码4096信息位,在586个代码字中就有586x7 = 4102个数据位,这样其中一个信息位可以被复制6次。
优选地,所有的子组具有相同的大小。例如,在下面范例情形I中,两个子组每一个都具有7位。
优选地,根据一个通用的第一编码方案对所有的子组进行编码。例如,在下面范例情形I中,这个通用的第一编码方案是[15,7,5]的编码方案。
优选地,将所选的子集转换为联合聚缩所选位,这个转换包括将一个所选子集位与另一个所选子集的位进行异或运算。例如,在下面范例情形I中,当P1与P2进行异或运笪ο
本发明的第七个方面是一种提供用于数据位错误校正方案的方法。多个位的子组根据数据位而被生成,这样每个数据位在子组中至少出现一次。每个子组使用相应的编码方案进行编码以生成相应的代码字。对于每个代码字,相应的所选位的子集被选择。所有的所选子集通过多对一操作被转换为联合聚缩所选位。对于每个代码字而言,相应的被缩短代码字是通过从代码字中去除相应所选子集的位而被生成的。总体上,用于数据位的代码字是通过将所有被缩短代码字与联合聚缩所选位进行组合而被生成的。需要注意的是, 因为本发明的第七个方面并不需要使用单独的、区别于数据位的奇偶校验位,因此本发明的这个方面同时可应用于系统编码和非系统编码。
例如,在下面范例情形I中,数据位是首标的14位。两个子组是首标的最前7位和最后7位。每个数据位在一个子组中恰好只出现一次,而在另一个子组中根本不出现。每个子组使用对应的[15,7,5]的编码方案而被编码以生成相应的代码字C1和C2,所选子集 P1是从C1 位中被选择出来的,所选子集P2是从C2位中被选择出来的。P1和P2通过多对一的异或操作(8位进,4位出)被转换为P。通过从C1中去除P1和从C2中去除P2以生成被缩短的代码字Cfef和C12-。总体上,用于数据位的代码字是通过将1、c^*与P写入闪存设备中,并将C与P进行组合而被生成的。,2
优选地,通过组装所有被缩短的代码字与联合所选聚缩位,被缩短的代码字与联合所选聚缩位进行组合。例如,在下面范例情形 中,CfortP一起被存储在闪存设备中的一个公用位置上。
优选地,每个数据位在多个子集中仅仅出现一次。例如,在下面范例情形I中,每个首标的最前7位在第一子组中出现一次,而在第二子组中根本不出现,并且每个首标最后7位在第二子组中只出现一次,而在第一子组中根本不出现。可替代的,至少一个数据位在多个子组中至少出现两次。
优选地,所有的子组具有相同的大小。例如,在下面范例情形I中,两个子组每一个都具有7位。
优选地,根据通用的第一编码方案对所有的子组进行编码。例如,在下面范例情形 I中,这个通用的第一编码方案是[15,7,5]的编码方案。
优选地,将所选子集转换为联合聚缩所选位,这个转换包括将一个所选子集的位与另一个所选子集的位进行异或运算。例如,在下面范例情形I中,将P1与P2进行异或运笪
本发明的第八个方面是一种解码包含M个数据位和P个奇偶校验位的代码字表示的方法。这P个奇偶校验位被划分为第一组奇偶校验位和第二组奇偶校验位。M个数据位仅采用第一组奇偶校验位进行解码,以提供校正数据位。如果仅采用第一组的奇偶校验位的解码失败了,那么M个数据位同时采用两组奇偶校验位进行编码,以提供校正数据位。
例如,在下面范例情形I中,M=14以及P = 12。这14个数据位是的最前7位和的最前7位。这个奇偶校验位是的最后4位、的最后4位、以及戶。 奇偶校验位的第一组是^^的最后4位和^ 的最后4位。奇偶校验位的第二组是#。多个数据位采用[11,7,3]的、仅具有第一组奇偶校验位的解码器进行解码,以提供^"*的最前7位和的最前7位的解码表示。如果解码失败但解码成功,那么Cf"MrK r采用[15,7,5]的编码器进行编码以再生P2, P2与P进行异或运算以得到 级联以得到G以及采用[15,7,5]的解码器进行解码。
本发明的第九个方面是一种解码包含M个数据位和P个奇偶校验位的代码字表示的方法。这M个数据位被划分为两个或更多的子集,以使得每个数据位至少在各个子集中出现一次。这P个奇偶校验位被划分为第一组奇偶校验位和第二组奇偶校验位。第一组奇偶校验位进一步地被划分为相同数目的子集,如同数据位以数据位子集与第一组奇偶校验位子集之间的1:1对应而进行划分。每个数据位子集根据其相应的第一奇偶校验位子集进行解码,以生成相应的解码数据。如果这些解码中的一个失败了,那么那个解码已失败的数据位子集再次至少部分地根据第二组奇偶校验位进行解码,以生成相应的解码数据。最后, 将所有数据位子集的解码数据进行组合,以生成用于M个数据位的总解码数据。
例如,在下面范例情形I中,M=14以及P = 12。这14个数据位被划分为两个子 集=Ofwf的最前7位和的最前7位。奇偶校验位的第一组是的最后4位和的最后4位。奇偶校验位的第二组是#。对应于的最前7位的第一奇偶校验位子集是的最后4位。对应于的最前7位的第一奇偶校验位子集是的最后4位。 的最前7位仅采用的最后4位,由[11,7,3]的解码器进行解码。^ 的最前 7位仅采用^,的最后4位,由[11,7,3]的解码器进行解码。如果解码失败但解码成功,那么所解码的Cfwf采用[15,7,5]的编码器进行编码以再生P2, P2与,进行异或运算以得到巧,《和^进行级联以得到A,以及ζ采用[15,7,5]的解码器进行解码,由此再生代码C10所再生的C1的最前7位和所解码的Cf9rt的最前7位进行级联,以生成所解码的14位首标。
优选地,数据位子集的解码数据通过组装数据位子集的解码数据而进行组合。例如,在下面的范例情形I中,所解码的Cfwt的最前7位和所解码的Cfeff的最前7位进行级联,以生成所解码的14位首标。
优选地,这些数据位子集是不相交的。例如,在下面的范例情形I中,的最前 7位和的最前7位是不相交的两个子集。
优选地,所有数据位子集都具有相同的大小。例如,在下面的范例情形I中,所有数据位子集都具有7个位。
优选地,每个数据子集根据相应的第一组奇偶校验位子集、采用相应的第一解码方案进行解码;以及根据数据位子集的第二组奇偶校验位的解码包含了要采用相应的第二解码方案,这里的数据位子集已由第一解码方案解码失败。例如,在下面的范例情形I中, 第一解码方案是[11,7,3]的方案,第二解码方案是[15,7,5]的方案。
优选地,对于这些数据位子集中的至少一个,相应的第一和第二解码方案使用通用的解码方法。例如,将这种选择扩展至本发明的第五方面的范例情形1,第一解码方案和第二解码方案都是[11,7,3]的方案。第一解码方案采用所存储的奇偶校验位,这个奇偶校验位由未被交换次序的首标位进行编码而生成。如果第一组7个存储数据位的解码失败但最后7个存储数据位的解码成功,那么成功地被解码的数据位被交换次序并进行编码,以再生相应的奇偶校验位。这些所再生的奇偶校验位与最后4位的存储奇偶校验位进行异或运算,以再生最前7个被交换次序的首标位的奇偶校验位,这些奇偶校验位被用于第二次尝试通过执行已交换次序的最前7个存储数据位的解码来解码最前7个存储数据位。
优选地,所有的第一解码方案都是相同的。例如,在下面的范例情形I中,所有的第一解码方案都是[11,7, 3]的、同样的方案。
优选地,所有的第二解码方案都是相同的。例如,在下面的范例情形I中,所有的第二解码方案都是[15, 7,5]的、同样的方案。
本发明的第十个方面是一种从具有N>M位的代码表示中解码出M个数据位的方法。至多N-M位的所选子集从这N位中被去除,由此产生剩余位的集合。剩余位被划分为两个或更多子集,以使得每个剩余位是子集中至少一个的成员。每个剩余位子集仅根据它自己的位进行解码,以生成相应的解码数据。如果剩余位子集中的一个解码失败,那个剩余位子集至少部分地根据被去除的所选子集进行解码,以生成剩余位子集的相应解码数据。最后,将所有的解码数据进行组合以生成用于M数据位的总解码数据。注意,因为本发明的第十个方面不需要使用单独的、区别于数据位的奇偶校验位,本发明的这个方面可以同时应用到系统编码和非系统编码。
例如,在下面的范例情形I中,M=14以及N=26。被去除的所选子集是,剩余位被O划分为两个子集,根据其自己的11位进行解码,而不需要其它信息, 作为结果的解码字的最前7位为对应于的解码数据。f仅根据其自己的11位进行解码,而不需要其它信息,作为结果的解码字的最前7位为对应于Ofwf的解码数据。如果解码失败但解码亡|*^成功,那么解码的Cfort采用[15,7,5]的编码器进行编码以再生P2,P2与,进行异或运算以获得_ 和_进行级联以获得以及ζ采用[15,7,5]的解码器进行解码。所解码的Cf"*的最前7位和所解码的Cfert的最前7位进行级联以生成解码的14位首标。
优选地,剩余位子集的解码数据通过组装剩余位子集的解码数据而进行组合。例 如,在下面的范例情形I中,所解码的Cff的最前7位和所解码的的最前7位进行级 联以生成解码的14位首标。优选地,这些剩余位子集是不相交的。例如,在下面的范例情 形I中,Gfwf的最前7位和的最前7位是不相交的两个子集。
优选地,所有剩余位子集都具有相同的大小。例如,在下面的范例情形I中,所有 数据位子集都具有7位。
优选地,每个剩余位子集根据其自己的位、采用相应的第一解码方案进行解码;以 及根据剩余位子集的被去除所选子集的解码包括采用相应的第二解码方案,这里的剩余位 子集已由第一解码方案解码失败。例如,在下面的范例情形I中,第一解码方案是[11,7,3] 的方案,以及第二解码方案是[15,7,5]的方案。
优选地,对于这些剩余位子集中的至少一个,相应的第一和第二解码方案使用通 用的解码方法。例如,将这种选择扩展至本发明第五方面的范例情形1,第一解码方案和第 二解码方案都是[11,7,3]的方案。第一解码方案采用所存储的奇偶校验位,这个奇偶校验 位由对未被交换次序的首标位进行编码而生成。如果最前7个存储数据位的解码失败但最 后7个存储数据位的解码成功,那么成功地解码的数据位被交换次序并进行编码,以再生 相应的奇偶校验位。这些再生的奇偶校验位与最后4位的存储奇偶校验位进行异或运算, 以再生最前7个被交换次序的首标位的奇偶校验位,这些奇偶校验位被用于第二次尝试通 过执行已交换次序的最前7个存储数据位的解码来解码最前7个存储数据位。
优选地,所有的第一解码方案都是相同的。例如,在下面的范例情形I中,所有的 第一解码方案都是同样的[11,7, 3]的方案。
优选地,所有的第二解码方案都是相同的。例如,在下面的范例情形I中,所有的 第二解码方案都是同样的[15,7,5]的方案。


为较好的理解本发明其中的实施例,以附图作为参考,其中相似的附图标记在本 文中表示对应的部件或单元,其中
图1是本发明的设备的优选实施例的方框图2是含有图1的多阶段编码器的组件的方框图3是当在图2的状态机控制逻辑方框中执行的编码过程的流程图4是含有图1的多阶段解码器的组件的方框图5是含有图4的双模解码器单元的组件的方框图6是关于范例情形I的解码过程的流程图7是关于范例情形2的解码过程的流程图8是关于范例情形I的解码过程的示意性图示说明;
图9是关于范例情形2的CER性能对SER性能的图解图示说明;
图10是关于范例情形I和范例情形2的用于块码[15,7,5]的生成器矩阵的描 述;
图11是关于范例情形I和范例情形2的用于块码[15,7,5]的奇偶校验矩阵“H” 的描述;
图12是关于范例情形I和范例情形2的用于块码[15,7,5]的双重错误位置的表 格描述;
图13是关于范例情形I和范例情形2的用于块码[11,7,3]的奇偶校验矩阵H(1) 的描述;
图14是关于范例情形I的用于块码[11,7,3]的单个错误位置的表格描述。
具体实施方式
本发明公开了一种为了确保被存储信息可靠性而提供错误校正编码方案的方法 和设备。这个所提出的方法接近长代码的性能,然而却避免了长代码编码器和解码器的电 路复杂性。因此,获得了硬件和软件实现的尺寸的减小和复杂性的降低。
术语“解码数据的修正”在这里是指从解码数据的第一数值到解码数据的第二数 值的修正。根据本发明提供的方法,某个短代码字表示的解码数据的修正是在其它短代码 字表示基础上实现的。因此,用于其解码已失败的代码字表示的附加解码尝试根据其它短 代码字表示的解码数据而执行。
术语“代码字解码数据的数值”在这里是指任何有效的数值。可替代地,这个术语 备选地可以指例如因为解码失败而没有当前已知数值的逻辑指示。因此,解码数据的“修 正”可以是从一个有效数值到另一有效数值、从解码失败的逻辑指示到一个有效数值、或从 一个有效数值到解码失败的逻辑指示的修正。
在本发明中,术语“子集”这里同时是指小于其所属于的全集的合适子集,以及是 指全集它自己。
应当理解,一个短字的解码数据的修正根据其它短字的解码数据,可由本发明作 为一个可选项所提供,以及不需要在解码长代码字的每个实例期间发生。对于具有错误特 定出现的长字的实例,可以是所有短代码字表示都在第一次尝试中成功地解码的情形。在 这种情形下,不应用解码数据的修正。这种修改仅在用于至少一个短字的解码已失败的情 形才会被执行。因此,术语“实现修正”意指“根据需要可选择地实现修正”。
本发明方法的优选实施例在这里连同范例情形-1和范例情形-2 —起进行描述。 这两个范例情形公开了提供错误校正代码方案的设备,其中这个设备特别地、能很好地适 合于数据存储的使用。因此,本发明的优选设备包括一种解码器,它被提供用于增加特定字 的延迟以便在解码过程中应用进一步的步骤。由于峰延迟(在很少的例子中),这个错误校 正编码方案可能并不适用于一些具有固定限制延迟的同步或半同步流的通信系统。
需要强调的是,本发明的方法所引入的平均延迟并不比在本领域中已知方法所引 入的高。然而,在其中延迟相当多地增加的少有例子中,本发明的方法特别地适用于存储媒 体,较少地适用于同步通信系统。
范例1:
这里提供了一种包括独立位的闪存设备,其中每一个核心单元有一个位并且信元 错误率(CER)是4. 7X10_5。因为闪存设备中每一单元具有一位,所以位元错误率(BER)也 是4.7X10—5。闪存设备的闪存存储器包括许多块;每个块被定义为有多页。每页包括首标或控制区以及多个扇区,每一扇区长为512数据位。当提供用于包含14位的每个块的首标的可靠存储以及实现首标错误率(HER)性能低于10 —1Q (HER<10-10)时,需要在用于闪存设备的快速控制器中设计错误校正编码方案。
为了在具有4. 7 X IO-5CER输入的14位集合上提供HEIKIO,的性能目标,需要3 位错误校正能力。一个错误的校正(即t= I)可提供HER 3.8X 10_7以及两个错误的校正(即t = 2)可提供HER 2. 1Χ10_10ο
因此,需要三错误校正[29,14]BCH代码,其中代码速率R等于O. 4828卿14/29) 以及首标采用一个29位长度的代码字进行表示。
编码和解码BCH代码以及构建这种电路的方式的文献在过去的多年里(参看文献[16]-[47])已被详尽地研究了。当使用本发明的方法时,编码和解码的例子可被提供以用于获得相同的HER目标性能。以下所叙述的例子利用了被简化的控制器,这个控制器包括仅能校正两个错误而不是三个错误的组件代码。而且,因为长度的减少不一定是组件代码能够校正的错误数目(是2而不是3)的直接结果,但是替代地它主要以整个方案结构来确定代码长度,该代码长度需要仅26位用于每个首标,而不是29位代码(即较高的代码速率 R = 14/26 = O. 5385可被实现)。在闪存首标大小上所获的减少增益是11. 54%。这个优点可以在下面的非限制例子中而被实现
[15,7,5]的块代码替代文献[29,14]的BCH代码而被设计(因此减少了用于编码器/解码器硬件的复杂性)。符号[n,k,d]通常定义代码参数如下‘η’是指代码长度,‘k’ 是指信息位的数目,以及‘d’是指代码的最小汉明(纠错)距离。
这样一个代码的谨慎选择就获得[11,7,3]的删截码(通过提取位12-15),这使得最小汉明距离等于3。因此,采用这个删截码校正单个错误是可能的。在这个观测结果的基础上,公开了具有2位错误校正能力的15位代码。这个15位代码当去除最后4位(即仅使用最前11位)时,被提供以校正任何单个错误。
用于这个[15,7,5]块代码的生成器矩阵270被示于图10中。这个编码过程,SP 从7个信息位派生8个奇偶校验位,在GF (2)上采用矩阵乘法操作按以下公式而进行
c = m · G, [c] = 1X15, [m] =1X7, [G] = 7X15,(1.1)
其中GF (2)是用于具有两个单元的伽罗瓦有限场(Galois FiniteFiled)的符号, 被定义为包含代码字的行向量,‘ ’被定义为包含7个信息位的行向量,以及‘G’被定义为系统性编码矩阵。
[15,7,5]的线性系统性块代码的解码过程在两个步骤中被执行。在步骤I中, 8-位故障码采用块代码[15,7,5]的奇偶校验检查矩阵‘H’ 280而进行计算,如图11中所示。这个故障计算在GF (2)上采用矩阵乘法操作而被按以下公式执行
s = H · cT, [c] = 1X15, [s] =8X1, [H] = 8X 15(1. 2)
其中为包含代码字的行向量,‘S,为包含8位故障码的列向量,以及‘H’是奇偶校验检查矩阵,以及符号OT表示转置,所以£T就是一个列向量。
在步骤2中,8位故障码被用于存取表290 (参看图12)。表290提供了两个4位数字,这样4位数字中的每一个就定义了在15位代码字中单个错误的位置。
注意,在表290中数值’ O’是指‘无错误’的情形。如果表290包含在特定条目中的两个数字,其中一个数值是零而另一个数值是非零,那么这表示仅有一个错误而不是两个。进一步地,在故障码自身中零表示根本没有错误。通过假定故障码向量的最上面的位是最低有效位(LSB),而最底下的位是最高有效位(MSB),以获得故障码数值。注意,在这个表中仅给出了 121个数值(故障码的256个可能数值中的)。由于解码器还包括错误检测能力,那么对于未在表290中给出的情形,有超过两个的错误(参看图12)。然而,解码器不能指向它们的位置。
由于在其中这个代码被生成的特定方式中,用于单个位校正的子矩阵‘Ηω’可被提供。单个位的校正被应用于同样的代码字的最前11位。子矩阵‘He)’包括‘Η’矩阵的最前4行和最前11列。15位字的最前11位的解码过程在两个相似的步骤中按以下方式而被应用
在如上所述的第一步骤中,故障码计算通过在GF (2)上采用矩阵乘法操作按如下公式被执行
s = H⑴· £T, [£] = I X 11,[互]=4 X I, [H] = 4 X 11(1. 3)
其中为包含读取字的行向量,‘S,为包含4位故障码的列向量,以及Η(1)是 ‘Η’的子矩阵,它包含‘Η’的所述的最前4行和所述的最前11列。块代码[11,7,3]的矩阵 Η(1)300被示于图13中。
在解码过程的第二步骤中,错误位置是从4位故障码310中提取的。这个具有一个’ O’值的故障码位定义了 ‘没有错误’的情形。
基于15位代码字的最前11位的成功解码,(1.1)中的矩阵‘G’可用于再生15位代码字的最后4位,即使这最后·4位不被提供给解码器。既然最前11位已经被解码了,解码器的大小被减少以便直接地从11解码位中的最前7位中再生最后4位。这意味着最后 4位的再生仅需要矩阵‘G’的最·后4列。
采用上述的所生成的代码字,单个的[29,14]的BCH代码可用被表示为C1, C2的、 两个不相交字的集合进行替换。C1和C2是两个系统性代码字,每个长为15。不相交字C1 包含7个信息位和8个奇偶校验位,而不相交字C1包含剩余的7个信息位和它们所关联的 8个奇偶校验位。因此,首标的、相同的14信息位整个地被获得了。编码过程根据在(1.1) 中所示的上述公式而被完成。
两个不相交字C1;C2中的每个的最后4个奇偶校验位被定义为子集P1, Ρ2。上述被称为整个数据的函数仅仅是这些子集(即P = P1 ΦΡ2)的异或运算(参见图8)。在编码每个 7信息位之后,这两个子集P1和P2从C1和C2可被提取。剩余的位然后被写入闪存设备(即仅仅是C1的最前11位和C2的最前11位)。用‘Ρ’所表示的整个数据的统一函数被定义位统一数据,因为它统一了数据的不相交子组。这个统一集合P也被写入闪存设备。
这个例子因此将26 (11 + 11 + 4)位一起合并。进一步强调的是写入闪存设备的位并不包括位?”^,因为在代码字被传送到物理存储介质之前这些位已从该代码字中被提取。在解码过程中再生的被提取的位在下文中被定义为“隐位”。如上文中解释的,在最前11位被成功解码的情形下,剩余的4位可以通过编码过程而被再生。正如在下面“从闪存设备中读取首标(解码)”的部分所详述的那样,解码过程利用了这一特性。
本领域所属技术人员能够理解,公平的比较情形是轻而易举的,并且这样的解码和编码过程的实现是可行的。这个创新的错误校正编码方案的结果就是指按如下的写入 (编码)和读出(解码)操作
1.将首标写入闪存设备(编码)
使用首标的7个信息位的第一集合对被定义为C1的第一 [15,7]中块代码进行编码,并使用以上所详述的、关于公式(1.1)的过程。用P1表示15位的代码字C1的位12-15。
使用首标的7个信息位的第二集合对被定义为C2的第二 [15,7]中块代码进行编码,并使用以上所详述的、关于公式(1.1)的过程。用P2表示15位的代码字C2的位12-15。
将集合P1和匕进行位与位地异或运算,以获得被定义为奇偶校验位-2或者位“P” 的4个位。
将C1的位1-11和C2的位1-11写入闪存设备。将C1的位1-11记为
权利要求
1.一种提供用于数据位错误校正的方案的方法,所述方法包括以下步骤 Ca)根据第一编码方案编码数据位以生成第一奇偶校验位组; (b)根据第二编码方案编码数据位以生成第二奇偶校验位组; (c)将所述第二奇偶校验位组转换为一个奇偶校验位的聚缩组,其中,所述转换是多对一的;以及 (d)通过将所述第一奇偶校验位组与所述聚缩组奇偶校验位相组合以生成一个用于数据位的奇偶校验位最终组。
2.根据权利要求1的方法,其中所述第一奇偶校验位组与所述奇偶校验位的聚缩组的所述组合,由包括组装所述第一奇偶校验位组的至少一部分和所述奇偶校验位的聚缩组的步骤来实现。
3.根据权利要求1的方法,其中所述转换步骤包括对所述第二奇偶校验位组的多个子组进行异或运算。
4.一种提供用于数据位错误校正的方案的方法,所述方法包括以下步骤 Ca)从数据位中生成多个位的子组,这样每个数据位在所述多个子组中至少出现一次; (b)根据相应的第一编码方案对所述多个子组的每个子组进行编码,以对于每个所述子组生成相应的、至少一个的第一奇偶校验位; (c)根据相应的第二编码方案对所述多个子组的每个子组进行编码,以对于每个所述子组生成相应的、至少一个的第二奇偶校验位; (d)将所有所述多个子组中的所有的所述至少一个第二奇偶校验位转换成联合的聚缩奇偶校验位,其中所述转换是多对一的;以及 (e)通过将所有所述多个子组中的所有的所述至少一个第一奇偶校验位与所述的联合聚缩奇偶校验位相组合,以生成一个用于数据位的奇偶校验位最终组。
5.根据权利要求4的方法,其中所述多个子组中的所有的所述至少一个第一奇偶校验位与所述的联合聚缩奇偶校验位的所述组合,由包括的组装所述多个子组中的所有的所述至少一个第一奇偶校验位和所述的联合聚缩奇偶校验位的步骤来实现。
6.根据权利要求4的方法,其中每个数据位只在所述多个子组中出现一次。
7.根据权利要求4的方法,其中至少有一个数据位在所述的多个子组中至少出现两次。
8.根据权利要求4的方法,其中所述的多个子组有相同的大小。
9.根据权利要求4的方法,其中所述的多个子组的至少一个子组,所述相应第一编码方案和所述相应第二编码方案通过使用通常的编码方法就可被获得,这样所述相应第一编码方案根据第一顺序对所述至少一个子组的位进行编码,以及所述相应第二编码方案根据第二顺序进行编码。
10.根据权利要求4的方法,其中所有所述的多个子组根据通常的、所述第一编码方案而被编码。
11.根据权利要求4的方法,其中所有所述的多个子组根据通常的、所述第二编码方案而被编码。
12.根据权利要求4的方法,其中所述转换步骤包括将相应于所述子组中的一个的所述至少一个第二奇偶校验位与相应于所述子组中的另一个的所述至少一个第二奇偶校验位进行异或运算。
13.一种提供用于数据位错误校正的方案的方法,所述方法包括以下步骤 Ca)从数据位中生成多个位的子组,这样每个数据位在所述多个子组中至少出现一次; (b)使用相应的编码方案对所述多个子组的每个子组进行编码,以对于每个所述子组生成相应的、至少一个奇偶校验位; (C)对于每个所述子组,从所述每个子组的所述位和每个所述子组的所述相应的至少一个奇偶校验位中选出一个相应的所选子集; (d)将所有所述多个子组中的所述所选子集转换成联合聚缩所选位,其中所述转换是多对一的; (e)通过将每个所述子组的所述位与每个所述子组的所述相应的至少一个奇偶校验位相组合,以对于每个所述子组生成一个相应的被缩短的代码字,然后将每个所述子组中的所述相应所选子集的位去除;以及 (f)通过将所有所述多个子组的所述相应的被缩短的代码字与所述联合聚缩所选位相组合,以生成用于数据位的代码字。
14.根据权利要求13的方法,其中每个所述子组的所述位和每个所述子组的所述相应的至少一个奇偶校验位的所述组合,通过包括组装每个所述子组的所述位和每个所述子组的所述相应的至少一个奇偶校验位的步骤而实现。
15.根据权利要求13的方法,其中所述多个子组的所述相应的被缩短的代码字与所述联合聚缩所选位的所述组合,通过包括组装所述多个子组的所有所述相应的被缩短的代码字与所述联合聚缩所选位的的步骤而实现。
16.根据权利要求13的方法,其中每个数据位在所述多个子组中只出现一次。
17.根据权利要求13的方法,其中至少一个数据位在所述多个子组中至少出现两次。
18.根据权利要求13的方法,其中所述的多个子组有相同的大小。
19.根据权利要求13的方法,其中所述的多个子组根据通常的所述编码方案而被编码。
20.根据权利要求13的方法,其中所述的转换步骤包括将相应于所述子组中的一个的所述所选子集的位与相应于所述子组中的另一个的所述所选子集的位进行异或运算。
21.一种提供用于数据位错误校正的方案的方法,所述方法包括以下步骤 Ca)从数据位中生成多个位的子组,这样每个数据位在所述子组中至少出现一次; (b)使用相应的编码方案对所述多个子组的每个子组进行编码,以对于每个所述子组生成相应的代码字; (c)对于每个所述子组,从所述相应代码字的位中选择一个相应的所选子集; (d)将所有所述相应代码字中所述相应所选子集转换成联合聚缩所选位,其中所述转换是多对一的; Ce)通过去除相应于每个所述相应代码字的所述所选子集的位,以生成用于每个所述相应代码字的相应被缩短代码字;以及 (f)通过将所有所述多个子组中的所述相应的被缩短代码字与所述联合聚缩所选位相组合以生成用于数据位的代码字。
22.根据权利要求21的方法,其中所述多个子组的所述相应的被缩短的代码字与所述联合聚缩所选位的所述组合,通过包括组装所述多个子组的所有所述相应的被缩短的代码字与所述联合聚缩所选位的步骤而实现。
23.根据权利要求21的方法,其中每个数据位在所述多个子组中只出现一次。
24.根据权利要求21的方法,其中至少一个数据位在所述多个子组中至少出现两次。
25.根据权利要求21的方法,其中所述的多个子组有相同的大小。
26.根据权利要求21的方法,其中所述的多个子组根据通常的所述编码方案而被编码。
27.根据权利要求21的方法,其中所述的转换步骤包括将相应于所述子组中的一个的所述所选子集的位与相应于所述子组中的另一个的所述所选子集的位进行异或运算。
全文摘要
要被编码的数据位被分解为多个子组。每个子组分别地被编码以生成相应的子代码。所选子集从相应的代码字中被去除以,留下了被缩短的代码字,以及多对一地被转换为聚缩位。最终的代码字是被缩短的代码字和聚缩位的组合。最终代码字的表示通过被划分成所选子集和多个剩余子集而被解码。每个剩余子集分别地被解码。如果解码中的一个失败了,那么其解码失败的剩余子集至少部分地根据所选子集进行解码。如果解码和编码是系统性的,那么所选子集就是奇偶校验位。
文档编号H03M13/11GK103023514SQ20121039059
公开日2013年4月3日 申请日期2006年11月13日 优先权日2005年11月15日
发明者S·里斯特杨, E·沙龙, I·奥罗德, M·拉瑟 申请人:特拉维夫大学拉莫特有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1