专利名称:使用通用级联码(gcc)进行编码和解码的制作方法
技术领域:
本发明的实施方式涉及编码和解码的领域,特别是涉及使用通用级联码(generalized concatenated code)编码进行编码禾口角牟码。
背景技术:
检错和/或纠错码用于检测和/或纠正信号中的错误。前向纠错(FEC)是用于数据发送的差错控制系统,在前向纠错中,发送者向所发送的数据添加冗余数据,从而使接收者能够检测和/或纠正错误。FEC码的码率是对全部信息中有用(即,非冗余)部分的指示。例如,如果码率是x/y,则对于有用信息的每x比特,编码器产生总共y比特的数据,其中(y-x)比特是冗余的。虽然更高的冗余(redundancy)可能有时有助于更好的检错和/或纠错,但它可能降低码率,从而限制待发送的有用信息的量。 存在数种不同类型的FEC编码和解码技术。通用(或多级)级联码(GCC)是一种流行的编码技术,其基于将数据划分成多个子群(subgroup)或合集(co-set)并且产生多个内码和外码。码类(此时称为"通用错误定位码"并被限制到线性划分方案)由Blokh禾卩Zyablov[V. Blokh, V. Zyablov, 〃 Coding of Generalised ConcatenatedCodes, 〃 Problems ofInformation Transmission, Volume 10(1974), pp.218-222]弓|入,作为一般化的"错误定位码"。后来的Zinoviev [V. A. Zinoviev, 〃 Generalizedcascadecodes. 〃 Problemy Peredachi Informati, vol. 12, no. 1, pp. 5-15, 1976]基于集
合的划分得到更一般的描述。 GCC用于使用多个外码和内码对数据进行编码,如以后将进一步详细解释的。GCC编码涉及将有限长度的码字划分成不同的子群或合集,并将每个子群划分成进一步的子群,并且继续该处理直到每个子群或合集只包括一个单码字为止。在讨论GCC码的各方面之前,可讨论编码技术的数学表示。如果线性码没有共同的码字(除了所有零码字以外),则多个线性码被称为"不相交",并且这些码的和的维数被给出为这些加数的维数的和。如果多个线性码中的每个只包括一个单码字,则多个线性码是不相交的。假设c(pq;n, k, d)表示在伽罗瓦(Galois)域GF(pa)上长度为n、维数为k并且最小汉明(hamming)距离为d的线性码块。如在本领域中公知的,对于固定的长度m,汉明距离是在该长度的字的矢量空间上的量度(metric)。传统GCC编码在本领域中是公知的,现在将介绍GCC编码的简要概述。 图1示出使用示例性划分树(partition tree)的传统GCC编码技术。参考图1,在多种实施方式中,线性码BW)(pa;rv kb, cO可被划分成数量为i的子群或合集,即
这样的划分可由B(°)/B(1)表示,并且i是划分的阶
,B,,使得<formula>formula see original document page 6</formula>(i)
数(order)。外部标志(outerlabel)例如a,表示合集B/"。子群或合集B,,B:BiW可共同称为B(1)。对于给定等级,码被划分成的子群或合集的数量(例如,在本情况中为i个子群)可至少部分地基于各种因素,这些因素包括但不限于原始码字的维数、用于划分的奇偶校验矩阵、在划分中涉及的复杂性、所使用的GCC编码的类型等。 参考图1, B(1)的子群B」",B:
a)
,Bi(1)中的每个可进一步划分成子群(在图1
中,为了清楚起见,只有B/"被示为进一步划分)。此进一步划分可继续(由虚线示出),直到最高(即,最后)等级(其在图1中是L)的每个合集只包括一个单码字为止。因此,在图1中,该划分可继续,直到得到其中每个只包括一个单码字的码B/。, B2a),...并且产生卜等级的划分链8(1)/8(2)/.../8(。为止。划分树中的特定合集可由由沿着从树根BW开始
的划分分枝的合集标志构成的矢量表示。例如,矢量(a,),a/1),. . . ,a,"}表示合集B/"。
应注意,虽然只有一些中间合集示为被划分,但所有中间等级(即,l, ..., (L-l)等级)的内码的所有合集都被划分。因此,内码B^不仅包括如所示从划分B,—"得到的合
集B/L),B2(L),,
,B/。,而且包括从划分(L-l)等级的其它合集得到的合集c L-等级的GCC码C包括L个外码^)(,') :"。,tf)W))和内码B(1) (q :nb, kb(1) , db(1)),
内码B(1)被划分成L-等级的划分链B(1)/B
(1)<formula>formula see original document page 6</formula>
第1个外码的符号ai(1)确定子集《^"一卩-"因此,所有外码的符号a (1)
字h的标志(a:
(i)
等级L+1的子码只包括单个码字。...。 起形成唯一的码(。)。GCC码的码字包括所有码字bi, i = 1, . . . , na。外码可与如下的奇偶校验矩阵有关。假设H吣为内码B第1个外码A(1)的码字,矩阵形式的GCC码的每个码字C满足
=/^(,)/3(,+"匸对于所有1 = 0, , L-l。 在上面的方程中,符号被定义为
(i)
的奇偶校验矩阵,a^为
<formula>formula see original document page 6</formula>
图2示出3-等级GCC码的示例性划分树。参考图2,GCC编码可用于划分原始码字B(°) (7, 7, 1) 。 3-级GCC码可使用内码B(°) (7, 7, 1) /B(1) (7, 6, 2) /B(2) (7, 3, 4) /B(3) (7, 0,①)以及外码A(0)(2 ;7,1,7、A(1)(23;7,3,5)和A(2) (23 ;7, 5, 3)来构造。内码的维数随着其等级的增大而减小,且第三等级的码字B(力只包括一个(即,维数为0的)单码字。内码的汉明距离随着码等级的增大而增大。例如,第一、第二和第三等级的内码的汉明距离分别为2、4和无限(第三等级的每个合集只包括一个单个的、唯一的码字,从而具有无限的汉明距离)。
如本领域技术人员将容易认识到的,GCC弓l入了以外码A(Q), A(1), A(2), . . . , Aa—"和/或内码8(°)形式的冗余。图3示出对应于图2的GCC划分树的示例性编码数据结构。图3的阴影部分对应于外码A(w、A("、A(2)的冗余比特,而空白区域可包含用户信息比特。如在图3中看到的,编码数据的大部分包括由码A(°)、 A(1)、 A(2)产生的冗余比特。虽然较高的冗余可能增加对码纠正的能力,但它可能减小码率。
发明内容
在多种实施方式中,本发明提供了一种使用通用级联码(GCC)的编码和解码方法。更具体地,根据本发明的多种实施方式,提供了一种方法,该方法用于接收数据,对所接收的数据进行编码以得到第一编码数据,对第一编码数据进行编码直到通用级联码(GCC)编码达到中间等级为止,并且在GCC编码的中间等级处终止对第一编码数据进行的编码以提供经过GCC编码的数据。该方法还可包括在GCC编码的中间等级处终止编码,以使得中间等级的多个合集中的每个合集包括多个码字。 在多种实施方式中,该方法还可包括对内码进行重复地划分直到达到中间等级为止,以及形成多个外码和多个内码。该方法可包括在中间级等处终止对第一编码数据进行的编码,以使得中间等级的内码的汉明距离是有限的。在多种实施方式中,该方法可包括将第一编码数据分割成多个段。在多种实施方式中,对第一编码数据进行编码还包括使用GCC编码对第一编码数据的多个段中的每个段单独进行编码,以得到多个第二编码数据。该方法可包括对多个段中的每个段并行编码或按顺序编码。该方法可包括复用多个第二编码数据,以及发送经过复用的多个第二编码数据。 在多种实施方式中,对所接收的数据进行编码还包括使用代数码、Reed-Solomon (RS)码或Bose-Chaudhuri-Hocquenghem(BCH)码对所接收的数据进行编码。该方法还可包括将第二编码数据存储在闪存设备中。该方法还可包括发送经过GCC编码的数据。在多种实施方式中,该方法还可包括接收所发送的经过GCC编码的数据、对所发送的经过GCC编码的数据解码以产生第一解码数据,以及使用外层码对第一解码数据进行解码。 根据本发明的多种实施方式,还提供了一种设备,该设备包括外层码编码器,其被配置为接收数据并将所接收的数据编码成第一编码数据;以及至少一个通用级联码(GCC)编码器,其被配置为对第一编码数据进行编码。GCC编码器还可被配置为使用GCC编码对第一编码数据进行编码,并且在中间等级处终止GCC编码。GCC编码器还可被配置为在中间等级处终止GCC编码,以使得中间等级的多个合集中的每个合集包括多个码字。GCC编码器可被配置为对第一编码数据进行重复地划分,直到达到中间等级为止。在多种实施方式中,该设备还可包括将第一编码数据分割成多个段的分段器;以及被配置为对第一编码数据的各个段进行编码的多个GCC编码器。该设备还可包括被配置为接收并复用来自多个GCC编码器的输出的复用器。该设备还可包括被配置为对至少一个GCC编码器的输出进行解码的至少一个GCC解码器,以及被配置为对至少一个GCC解码器的输出进行解码的外层码解码器。在多种实施方式中,外层码编码器可为Reed-Solomon (RS)编码器或Bose_Chaudhuri_Hocquenghem(BCH)编码器。 根据本发明的多种实施方式,还提供了一种设备,该设备包括用于接收数据的装置,用于对所接收的数据进行编码以得到第一编码数据的装置,用于对第一编码数据进行编码直到通用级联码(GCC)编码达到中间等级为止的装置,以及用于在中间等级处终止GCC编码的装置。GCC编码可在中间等级处终止,以使得中间等级的多个合集中的每个合集包括多个码字。用于使用GCC编码器进行编码的装置还可包括用于形成多个外码和多个内码的装置。
本发明还提供了一种方法,该方法用于接收数据,对第一接收的数据进行编码直 到通用级联码(GCC)编码达到中间等级为止,并且在GCC编码的中间等级处终止对所接收 的数据进行的编码,以提供经过GCC编码数据。该方法还可包括在GCC编码的中间等级处 终止编码,以使得中间等级的多个合集中的每个合集包括多个码字。该方法还可包括对经 过GCC编码的数据进一步编码。 本发明还提供了一种设备,该设备包括用于接收数据的装置,用于对所接收的数 据进行编码直到通用级联码(GCC)编码达到中间等级为止以提供经过GCC编码的数据的装 置,以及用于在中间等级处终止GCC编码的装置。该设备还可包括用于对经过GCC编码的 数据进一步编码的装置。 在所附权利要求中阐述被认为是本发明的实施方式的特点的其它特征。
通过下面结合附图的详细描述将容易理解本发明的实施方式。为了便于该描述, 同样的标号表示同样的结构元件。本发明的实施方式通过示例被示出,不受附图中各示图 的限制。 图1示出使用示例性划分树的传统GCC编码技术; 图2示出3-等级GCC码的示例性划分树; 图3示出对应于图2的GCC划分树的示例性编码数据结构; 图4示出根据本发明的多种实施方式的GCC编码; 图5示出根据本发明的多种实施方式的GCC码的示例性划分树; 图6示出根据本发明的多种实施方式的包括对应于图5的GCC划分树的GCC码的
冗余部分的示例性数据结构; 图7示出根据本发明的多种实施方式的编码器和解码器的示例性框图;
图8示出根据本发明的多种实施方式的编码器和解码器的另一示例性框图;
图9示出根据本发明的多种实施方式的多个GCC编码器的被编码的输出的示例性 数据结构; 图10示出根据本发明的多种实施方式的对数据编码的示例性方法; 图11示出根据本发明的多种实施方式的对数据解码的示例性方法; 图12示出根据本发明的多种实施方式的适合用于实践本发明的示例性计算机系
统的框图;以及 图13示出根据本发明的多种实施方式的编码器和解码器的示例性框图。
具体实施例方式
下面将参考附图描述本发明的实施例。 在下面的详细描述中,参考了形成附图的一部分,在附图中,同样的数字始终表示 同样的部件,并且在附图中图示出了可实践本发明的实施方式。应理解,在不脱离本发明的 范围情况下可利用其它实施方式,并可进行结构或逻辑变化。因此,下面的详细描述不认为 具有限制意义,并且根据本发明的实施方式的范围由所附权利要求及其等同物来限制。
各种操作可作为多个分立的操作而按照可有助于理解本发明的实施方式的方式被依次描述;然而,描述的顺序不应被解释为暗示这些操作是与顺序相关的。 该描述可使用短语"在一个实施方式中"或"在实施方式中",这些实施方式的每个
可涉及本发明的相同或不同实施方式中的一个或多个。此外,如对于本发明的实施方式所
使用的,术语"包括"、"包含"、"具有"等是同义的。 图4示出根据本发明的多种实施方式的GCC编码方法。图4的原始码B(°)和随后 的内码BW,B,…,B^"以及外码A,AW,A,... ,A(L—2)实质上可类似于图1的那些码。 然而,在图4的GCC编码中,划分可在第L等级之前终止(例如,所示GCC编码在第(L-l) 等级处终止)。也就是说,与图l-3的传统GCC编码不同(其中划分继续,直到最后或最高 等级的每个合集只包括单个码字为止),在图4的GCC编码中,划分可在中间等级处终止,在 中此间等级中,每个合集可包括多个码字。因此,外码的数量也可减少。例如,与图l的传 统GCC中的L个外码相对,图4的GCC编码包括(L-l)个外码(A(°), A(1), A(2), . . . , Aa—2))。 如对于本领域技术人员容易很明显的,虽然图4示出在第(L-l)等级处终止GCC,但在各种 实施方式中,GCC可以可选地在更早的等级(例如,第1,2,...,或(L-2)等级)处终止。
图5示出根据本发明的多种实施方式的GCC码的示例性划分树。原始码字Bto)可 具有类似于图2的长度、维数和汉明距离。参考图5,2-等级GCC可将B(0)划分成内码划分 链B(0) (7,7, 1)/B(1) (7,6,2)/B(2) (7,3,4)。也就是说,与图2的传统GCC编码不同,图5的GCC 编码可在等级2(即,在B(2)(7,3,4))终止。因此,如前面讨论的,图5的GCC编码的最后等 级(B(2))的每个合集可包括多个码字。例如,第二等级的内码的每个合集具有维数为3的 码字。图5的GCC可只包括A(°)和A(1)作为外码。也就是说,与图2的传统GCC编码不同, 图5的GCC编码可不包括外码A(2)。此外,图5的GCC编码的最后等级的合集的汉明距离可 为有限的(例如,汉明距离为4),这比传统GCC中的最后等级的无限汉明距离小。
图6示出根据本发明的多种实施方式的包括对应于图5的GCC划分树的GCC码的 冗余部分的示例性数据结构。类似于图3,图6的阴影部分对应于外码的冗余比特,而空白 区域可包括用户信息比特。如图5所示,GCC只可包括由图6中的阴影区域示出的外码AW 和A(1)。如可在图3和图6中看到的,与图3的传统GCC编码相比,图6的GCC编码可产生 较少的冗余(BP,较少的阴影区域),从而得到较高的码率。然而,由于冗余的减少,GCC编 码的纠正能力也可能减小,并且可能小于传统GCC的纠正能力。 为了增加前面讨论的GCC编码的纠正能力,根据本发明的多种实施方式,可与GCC 编码一起利用另一层的级联码。图7示出根据本发明的多种实施方式的编码器和解码器的 示例性框图。在多种实施方式中,编码器-解码器结构可包括配置为接收数据的外层码编 码器110。外层码编码器110的输出可输入到GCC编码器114,GCC编码器114可输出经过 编码的数据。在多种实施方式中,GCC编码器114可配置为通过将所接收的码字划分成不 同的子群并且继续划分子群来实现GCC编码,但在中间等级处停止或终止GCC编码,在此中 间等级中,最后等级的每个合集包括多个码字。如前面讨论的,这样的编码减少了码中的冗 余,但也可导致降低的编码纠正能力。外层码编码器110可用于补充GCC编码器114的纠正 能力,而不会大大影响GCC编码的冗余。在多种实施方式中,外层码编码器110可对数据进 行编码,经过此编码的数据可使用GCC编码器114被进一步编码。在多种实施方式中,外层 码可为足够长度的适当代数码,被表示为N。。假定GCC编码器的信息比特长度是Kg。。,N。可 被选择成使得N。 > = m*Kgcc,其中m是整数且m > = 2。代数码(例如,Reed-Solomon (RS)码、Bose-Chaudhuri-Hocquenghem(BCH)码等)可用作外层码。应注意,图7的外层码不同 于GCC的外部标志或外码。 虽然外层码编码器110在图7中被示为接收数据并将数据输出到GCC编码器114, 但是相反的情况可也是可能的。也就是说,在多种实施方式中,GCC编码器114可首先接收 数据,然后将数据输出到外层码编码器110(即,GCC编码器114可出现在外层码编码器110 之前),如可在图13中看到的那样。在那些实施方式中,外层码编码器可称为内层码编码 器。 在多种实施方式中,GCC编码器114的经过编码的输出116(被示为虚线)可在信
道上传输和/或储存在存储介质中,存储介质例如是存储设备(例如,闪存设备)。
在多种实施方式中,GCC解码器120和外层码解码器124可为图7的系统的解码 器的一部分。也就是说,检测到的编码数据的数据比特可利用GCC解码器120被首先解码, 并接着由外层码解码器124解码。从对GCC编码器114的描述中,GCC解码器120的操作 对于本领域技术人员将是容易明显的,因此将不详细地讨论。类似地,从外层码编码器110 的描述中,外层码解码器124的操作是容易明显的。 图8示出根据本发明的多种实施方式的编码器和解码器的另一示例性框图。参考 图8,在各种实施方式中,编码器-解码器结构可包括配置为接收数据的外层码编码器110。 在数据由外层码编码器110编码之后,编码数据可分成M段,每个数据段由相应的GCC编码 器114A,... ,114M编码。在多种实施方式中,对M段中的编码数据(即,外层码编码器110 的输出)分段不同于GCC划分。编码数据的分段可至少部分地基于所接收的数据的大小、 所期望的编码速度等。在多种实施方式中,分段可由分段器或解复用器(未在图8中示出) 执行。 图9示出根据本发明的多种实施方式的M个GCC编码器114A, ...,114M的经过 编码的输出的示例性数据结构。参考图8和9,由于包含内码,GCC编码器114A, . . . ,114M 中的每个的输出可包括冗余。然而,因为图8和9的GCC编码可在中间等级处终止,如前所 述,所以GCC编码器114A, . . . , 114M的输出中的冗余(在图9的数据结构中由阴影部分指 示)可小于传统GCC的冗余。导致的纠错能力的降低(作为冗余减少的结果)可由外层码 编码器110补偿。 参考图8,GCC编码器114A,…,114M的输出可被复用器(mux) 130复用,并且经过
复用的输出132可在信道上传输和/或储存在存储介质(由虚线示出)中。 图8的编码阶段可包括用于将检测到的数据比特解复用成M段的解复用器
(demux) 134、用于对相应的编码数据段解码的M个GCC解码器120A,. . . , 120M、以及用于恢
复数据的外层码解码器124。 图10示出根据本发明的多种实施方式的对数据编码的示例性方法。参考图8和 10,在310,可接收数据,然后在314,使用外层码编码器110对数据进行编码。在318,将编 码数据分段成多个段(例如,M个段),然后在322,使用相应的GCC编码器114A, . . . , 114M 对每个数据段进行编码,以便在一个或多个GCC编码器114A, . . . , 114M的GCC编码在中间 等级处终止。在326,M个GCC编码器的经过编码的输出可使用muxl30被复用,然后在信道 上被传输和/或被储存在存储介质(例如,闪存设备)中。 图11示出根据本发明的多种实施方式的对数据解码的示例性方法。参考图8和11 ,在340,编码数据可被接收,在不同的实施方式中,编码数据可类似于在图10的326经过 复用的数据。在314,可使用demux 134将所接收的编码数据解复用成多个段1,. . . ,M。在 348,解复用得到的分段数据可使用相应的GCC解码器120A, . . . , 120M被解码,然后在352 可使用外层码解码器124被进一步解码以在356恢复数据。 如对于本领域技术人员容易明显的,在不同的实施方式中,图10和11的方法可适 当地更改以适应图7的编码器/解码器结构,即外层码编码器110的输出被输入到GCC编 码器114中(即,外层码编码器110的输出不被分段)。在这样的实施方式中,GCC编码器 114的输出可在信道上传输和/或被储存在存储介质中,而在326不执行复用操作。类似 地,在340接收的编码数据可在348使用GCC解码器120被解码(而不在344解复用所接 收的数据)。 在多种实施方式中,根据本发明的多种实施方式的GCC编码连同外层编码可实现 高纠错能力,同时与传统GCC相比把内码所引入的冗余维持在较低的水平,从而维持高码 率。因此,GCC编码连同外层编码可实现在编码和解码性能、纠错能力和/或冗余管理之间 的期望折中。在多种的实施方式中,本发明的改进的编码和解码方法可用在各种应用中,包 括但不限于在无线或有线信道上的传输、在存储设备(闪存设备)中的储存等。
图12示出根据多种实施方式的适合用于实践本发明的示例性系统的框图。如所 示,系统400包括一个或多个处理器或处理器核心402以及系统存储器404。为了本应用, 包括权利要求,术语"处理器"和"处理器核心"可被认为是同义的,除非上下文明确地要求 其它意义。此外,系统400包括大容量存储设备406(例如,磁盘、硬驱动器、压縮盘只读存 储器(CDR0M)等)、输入/输出设备408(例如,用于再现视觉表现形式100的显示器、键盘、 光标控件等)和通信接口410(例如,网络接口卡、调制解调器等)。这些元件通过总线412 彼此耦合,总线412代表一条或多条总线的系统。在多条总线的情况下,它们通过一个或多 个总线桥接器(未示出)而桥接。 这些元件中的每个执行在本领域中已知的传统功能。特别是,系统存储器404和 大容量存储器406可用于存储实现之前描述的功能的全部或一部分的编程指令的作业用 拷贝和永久拷贝,这些指令在此被共同表示为422。指令422可为由处理器(一个或多 个)402支持的汇编程序指令或可从高级语言(例如C)编译出的指令。
编程指令的永久拷贝可通过例如诸如压縮盘(CD)之类的分配介质(未示出)或 通过通信接口 410(从分配服务器(未示出))被置入工厂或场地中的永久存储器406中。 也就是说,具有指令422的一个或多个分配介质可用于分配指令422和对各种计算设备进 行编程。 这些元件402-412的构成通常是公知的,因此将不进一步描述。
在本发明的实施方式中,制造的产品(未示出)可用于实现如这里公开的一种或 多种方法。例如,在示例性实施方式中,制造的产品可包括存储介质和多个编程指令,这些 指令存储在存储介质中并适合于给计算设备编程以将计算设备配置成能够接收数据、对所 接收的数据编码以得到第一编码数据、对第一编码数据编码直到通用级联码(GCC)编码达 到中间等级并在GCC编码的中间等级终止第一编码数据的编码以提供GCC编码数据。
虽然在这里示出和描述了特定的实施方式,但是本领域技术人员和其他人应认识 到,在不脱离本发明的范围内,可以用各种各样的可选和/或等效的实现方式来替所示和所述的特定实施方式。本公开覆盖在字面意义或在等同原则下清楚地落在所附权利要求的 范围内的所有方法、设备和制造的产品。例如,虽然上面公开了在各部件中包括在硬件上执 行的软件或固件的示例性系统,但是应注意,这样的系统仅仅是说明性的并且不应被认为 是限制性的。特别是,可设想,所公开的硬件、软件和/或固件部件中的任一个或全部可唯 一地包含在硬件中、唯一地包含在软件中、唯一地包含在固件中或包含在硬件、软件和/或 固件的某种组合中。本申请意在涵盖这里讨论的实施方式的任何修改或变形。因此,很明 显且意图是,本发明仅由权利要求及其等同物限制。
权利要求
一种方法,包括接收数据;对所接收的数据进行编码,以得到第一编码数据;对所述第一编码数据进行编码,直到通用级联码(GCC)编码达到中间等级为止;并且在所述GCC编码的中间等级处终止对所述第一编码数据的编码,以提供经过GCC编码的数据。
2. 如权利要求l所述的方法,其中,所述终止还包括在所述GCC编码的中间等级处终止编码,以使得所述中间等级的多个合集中的每个合集包括多个码字。
3. 如权利要求1所述的方法,其中,对所述第一编码数据进行的编码还包括对内码进行重复地划分,直到达到所述中间等级为止。
4. 如权利要求2所述的方法,其中,对所述第一编码数据的进行编码还包括形成多个外码和多个内码。
5. 如权利要求1所述的方法,其中,所述终止还包括在所述中间等级处终止对所述第一编码数据进行的编码,以使得所述中间等级的内码的汉明距离是有限的。
6. 如权利要求1所述的方法,还包括将所述第一编码数据分割成多个段。
7. 如权利要求6所述的方法,其中,对所述第一编码数据进行的编码还包括使用所述GCC编码对所述第一编码数据的所述多个段中的每个段单独进行编码,以得到多个第二编码数据。
8. 如权利要求7所述的方法,其中,使用所述GCC编码对所述第一编码数据的所述多个段中的每个段单独进行编码包括并行编码。
9. 如权利要求7所述的方法,其中,使用所述GCC编码对所述第一编码数据的所述多个段中的每个段单独进行编码包括按顺序编码。
10. 如权利要求7所述的方法,还包括复用所述多个第二编码数据;以及发送经过复用的多个第二编码数据。
11. 如权利要求1所述的方法,其中,对所接收的数据进行编码还包括使用代数码对所接收的数据进行编码。
12. 如权利要求1所述的方法,其中,对所接收的数据进行编码还包括使用Reed-Solomon (RS)码或Bose-Chaudhuri-Hocquenghem(BCH)码对所接收的数据进行编码。
13. 如权利要求7所述的方法,还包括将所述第二编码数据存储在闪存设备中。
14. 如权利要求1所述的方法,还包括发送经过GCC编码的数据。
15. 如权利要求14所述的方法,还包括接收所发送的经过GCC编码的数据;对所发送的经过GCC编码的数据进行解码,以产生第一解码数据;以及使用外层码对所述第一解码数据进行解码。
16. —种设备,包括外层码编码器,其被配置为接收数据并将所接收的数据编码成第一编码数据;以及至少一个通用级联码(GCC)编码器,其被配置为对所述第一编码数据进行编码。
17. 如权利要求14所述的设备,其中,所述GCC编码器还被配置为使用GCC编码对所述第一编码数据进行编码,并在中间等级处终止所述GCC编码。
18. 如权利要求15所述的设备,其中,所述GCC编码器还被配置为在所述中间等级处终止所述GCC编码,以使得所述中间等级的多个合集中的每个合集包括多个码字。
19. 如权利要求15所述的设备,其中,所述GCC编码器被配置为对内码进行重复地划分,直到达到所述中间等级为止。
20. 如权利要求14所述的设备,还包括分段器,其将所述第一编码数据分割成多个段;以及多个GCC编码器,每个GCC编码器被配置为对所述第一编码数据的各个段进行编码。
21. 如权利要求18所述的设备,还包括复用器,其被配置为接收并复用来自所述多个GCC编码器的输出。
22. 如权利要求14所述的设备,还包括至少一个GCC解码器,其被配置为对至少一个所述GCC编码器的输出进行解码;以及外层码解码器,其被配置为对所述至少一个GCC解码器的输出进行解码。
23. 如权利要求14所述的设备,其中,所述外层码编码器可以是Reed-Solomon (RS)编码器或Bose_Chaudhuri_Hocquenghem(BCH)编码器。
24. —种设备,包括用于接收数据的装置;用于对所接收的数据进行编码以得到第一编码数据的装置;用于对所述第一编码数据进行编码直到通用级联码(GCC)编码达到中间等级为止的装置;以及用于在所述中间等级处终止所述GCC编码的装置。
25. 如权利要求22所述的设备,其中,所述GCC编码在所述中间等级处终止,以使得所述中间等级的多个合集中的每个合集包括多个码字。
26. 如权利要求22所述的设备,其中,用于对所述第一编码数据进行编码的装置还包括用于形成多个外码和多个内码的装置。
27. —种方法,包括接收数据;对所接收的数据进行编码直到通用级联码(GCC)编码达到中间等级为止,以得到第一编码数据;在所述GCC编码的所述中间等级处终止对所述第一编码数据进行的编码,以提供经过GCC编码的数据;以及对经过GCC编码的数据进一步编码。
28. 如权利要求27所述的方法,其中,所述终止还包括在所述GCC编码的所述中间等级处终止所述编码,以使得所述中间等级的多个合集中的每个合集包括多个码字。
29. 如权利要求28所述的方法,其中,对所接收的数据进行编码还包括形成多个外码和多个内码。
30. 如权利要求27所述的方法,其中,所述终止还包括在所述中间等级处终止对所接收的数据进行的编码,以使得所述中间等级的内码的汉明距离是有限的。
31. 如权利要求27所述的方法,还包括将所接收的数据分割成多个段。
32. —种设备,包括用于接收数据的装置;用于对所接收的数据进行编码直到通用级联码(GCC)编码达到中间等级为止以提供经过GCC编码的数据的装置;用于在所述中间等级处终止所述GCC编码的装置;以及用于对经过GCC编码的数据进一步编码的装置。
33. 如权利要求32所述的设备,其中,所述GCC编码在所述中间等级处终止,以使得所述中间等级的多个合集中的每个合集包括多个码字。
34. 如权利要求32所述的设备,其中,用于对第一编码数据进行编码的装置还包括用于形成多个外码和多个内码的装置。
全文摘要
描述了使用通用级联码(GCC)进行编码和解码的系统、设备和方法。所述方法包括接收数据;对所接收的数据编码以得到第一编码数据;对第一编码数据编码直到GCC编码达到中间等级为止;并且在中间等级处终止GCC编码。因此,通过用未经编码的符号代替最后的层(一个或多个)的外码(一个或多个),减少了外码的数量。GCC码可与外层码或内层码级联。
文档编号H03M13/29GK101779379SQ200880102330
公开日2010年7月14日 申请日期2008年8月6日 优先权日2007年8月8日
发明者吴子宁, 唐恒, 帕努·柴查阿望, 格雷戈里·伯德, 阳学仕 申请人:马维尔国际贸易有限公司