CN101779379B - 使用通用级联码(gcc)进行编码和解码 - Google Patents

使用通用级联码(gcc)进行编码和解码 Download PDF

Info

Publication number
CN101779379B
CN101779379B CN200880102330.4A CN200880102330A CN101779379B CN 101779379 B CN101779379 B CN 101779379B CN 200880102330 A CN200880102330 A CN 200880102330A CN 101779379 B CN101779379 B CN 101779379B
Authority
CN
China
Prior art keywords
gcc
coding
data
code
encoder
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.)
Expired - Fee Related
Application number
CN200880102330.4A
Other languages
English (en)
Other versions
CN101779379A (zh
Inventor
阳学仕
格雷戈里·伯德
唐恒
帕努·柴查阿望
吴子宁
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN101779379A publication Critical patent/CN101779379A/zh
Application granted granted Critical
Publication of CN101779379B publication Critical patent/CN101779379B/zh
Expired - Fee Related 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2945Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using at least three error correction 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/033Theoretical methods to calculate these checking codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

描述了使用通用级联码(GCC)进行编码和解码的系统、设备和方法。所述方法包括接收数据;对所接收的数据编码以得到第一编码数据;对第一编码数据编码直到GCC编码达到中间等级为止;并且在中间等级处终止GCC编码。因此,通过用未经编码的符号代替最后的层(一个或多个)的外码(一个或多个),减少了外码的数量。GCC码可与外层码或内层码级联。

Description

使用通用级联码(GCC)进行编码和解码
相关申请的交叉引用
本申请要求2007年8月8日提交的标题为“Encoding and DecodingMethods for Solid-State Memory Devices”的第60/954,658号美国专利申请的优先权,除了与本说明书不一致的那些部分(如果有)以外,其整个说明书由此为了所有目的而通过引用被全部并入。
技术领域
本发明的实施方式涉及编码和解码的领域,特别是涉及使用通用级联码(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 Concatenated Codes,″Problems ofInformation Transmission,Volume 10(1974),pp.218-222]引入,作为一般化的“错误定位码”。后来的Zinoviev [V.A.Zinoviev,″Generalized cascadecodes.″Problemy Peredachi Informati,vol.12,no.1,pp.5-15,1976]基于集合的划分得到更一般的描述。
GCC用于使用多个外码和内码对数据进行编码,如以后将进一步详细解释的。GCC编码涉及将有限长度的码字划分成不同的子群或合集,并将每个子群划分成进一步的子群,并且继续该处理直到每个子群或合集只包括一个单码字为止。在讨论GCC码的各方面之前,可讨论编码技术的数学表示。如果线性码没有共同的码字(除了所有零码字以外),则多个线性码被称为“不相交”,并且这些码的和的维数被给出为这些加数的维数的和。如果多个线性码中的每个只包括一个单码字,则多个线性码是不相交的。假设C(pq;n,k,d)表示在伽罗瓦(Galois)域GF(pq)上长度为n、维数为k并且最小汉明(hamming)距离为d的线性码块。如在本领域中公知的,对于固定的长度m,汉明距离是在该长度的字的矢量空间上的量度(metric)。传统GCC编码在本领域中是公知的,现在将介绍GCC编码的简要概述。
图1示出使用示例性划分树(partition tree)的传统GCC编码技术。参考图1,在多种实施方式中,线性码B(0)(pq;nb,kb (0),db (0))可被划分成数量为i的子群或合集,即B1 (1),B2 (1),...,Bi (1),使得B(0)=UiBi(1)。这样的划分可由B(0)/B(1)表示,并且i是划分的阶数(order)。外部标志(outerlabel)例如a1 (0)表示合集B1 (1)。子群或合集B1 (1),B2 (1),...,Bi (1)可共同称为B(1)。对于给定等级,码被划分成的子群或合集的数量(例如,在本情况中为i个子群)可至少部分地基于各种因素,这些因素包括但不限于原始码字的维数、用于划分的奇偶校验矩阵、在划分中涉及的复杂性、所使用的GCC编码的类型等。
参考图1,B(1)的子群B1 (1),B2 (1),...,Bi (1)中的每个可进一步划分成子群(在图1中,为了清楚起见,只有B1 (1)被示为进一步划分)。此进一步划分可继续(由虚线示出),直到最高(即,最后)等级(其在图1中是L)的每个合集只包括一个单码字为止。因此,在图1中,该划分可继续,直到得到其中每个只包括一个单码字的码B1 (L),B2 (L),...并且产生L-等级的划分链B(1)/B(2)/.../B(L)为止。划分树中的特定合集可由由沿着从树根B(0)开始的划分分枝的合集标志构成的矢量表示。例如,矢量{a1 (0),a1 (1),...,a1 (L-1)}表示合集B1 (L)
应注意,虽然只有一些中间合集示为被划分,但所有中间等级(即,1,...,(L-1)等级)的内码的所有合集都被划分。因此,内码B(L)不仅包括如所示从划分B1 (L-1)得到的合集B1 (L),B2 (L),...,Bj (L),而且包括从划分(L-1)等级的其它合集得到的合集。
L-等级的GCC码C包括L个外码
Figure GPA00001020948400031
和内码B(1)(q:nb,kb (1),db (1)),内码B(1)被划分成L-等级的划分链B(1)/B(2)/.../B(L+1)。等级L+1的子码只包括单个码字。第1个外码的符号ai (1)确定子集
Figure GPA00001020948400032
因此,所有外码的符号ai (l)一起形成唯一的码字bi的标志(ai (1),...,ai (L))。GCC码的码字包括所有码字bi,i=1,...,na
外码可与如下的奇偶校验矩阵有关。假设HB(L)为内码B(l)的奇偶校验矩阵,a(l)为第1个外码A(l)的码字,矩阵形式的GCC码的每个码字C满足
a ‾ ( l ) = H B ( l ) / B ( l + 1 ) · C 对于所有l=0,...,L-1。
在上面的方程中,符号被定义为:
H B ( 2 ) = H B ( 1 ) / B ( 2 ) H B ( 1 ) , ...和 H B ( L ) = H B ( L - 1 ) / B ( L ) . . H B ( 1 ) / B ( 2 ) H B ( 1 ) .
图2示出3-等级GCC码的示例性划分树。参考图2,GCC编码可用于划分原始码字B(0)(7,7,1)。3-级GCC码可使用内码B(0)(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(3)只包括一个(即,维数为0的)单码字。内码的汉明距离随着码等级的增大而增大。例如,第一、第二和第三等级的内码的汉明距离分别为2、4和无限(第三等级的每个合集只包括一个单个的、唯一的码字,从而具有无限的汉明距离)。
如本领域技术人员将容易认识到的,GCC引入了以外码A(0),A(1),A(2),...,A(L-1)和/或内码B(0)形式的冗余。图3示出对应于图2的GCC划分树的示例性编码数据结构。图3的阴影部分对应于外码A(0)、A(1)、A(2)的冗余比特,而空白区域可包含用户信息比特。如在图3中看到的,编码数据的大部分包括由码A(0)、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(0)和随后的内码B(1),B(2),...,B(L-1)以及外码A(0),A(1),A(2),...,A(L-2)实质上可类似于图1的那些码。然而,在图4的GCC编码中,划分可在第L等级之前终止(例如,所示GCC编码在第(L-1)等级处终止)。也就是说,与图1-3的传统GCC编码不同(其中划分继续,直到最后或最高等级的每个合集只包括单个码字为止),在图4的GCC编码中,划分可在中间等级处终止,在中此间等级中,每个合集可包括多个码字。因此,外码的数量也可减少。例如,与图1的传统GCC中的L个外码相对,图4的GCC编码包括(L-1)个外码(A(0),A(1),A(2),...,A(L-2))。如对于本领域技术人员容易很明显的,虽然图4示出在第(L-1)等级处终止GCC,但在各种实施方式中,GCC可以可选地在更早的等级(例如,第1,2,...,或(L-2)等级)处终止。
图5示出根据本发明的多种实施方式的GCC码的示例性划分树。原始码字B(0)可具有类似于图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(0)和A(1)作为外码。也就是说,与图2的传统GCC编码不同,图5的GCC编码可不包括外码A(2)。此外,图5的GCC编码的最后等级的合集的汉明距离可为有限的(例如,汉明距离为4),这比传统GCC中的最后等级的无限汉明距离小。
图6示出根据本发明的多种实施方式的包括对应于图5的GCC划分树的GCC码的冗余部分的示例性数据结构。类似于图3,图6的阴影部分对应于外码的冗余比特,而空白区域可包括用户信息比特。如图5所示,GCC只可包括由图6中的阴影区域示出的外码A(0)和A(1)。如可在图3和图6中看到的,与图3的传统GCC编码相比,图6的GCC编码可产生较少的冗余(即,较少的阴影区域),从而得到较高的码率。然而,由于冗余的减少,GCC编码的纠正能力也可能减小,并且可能小于传统GCC的纠正能力。
为了增加前面讨论的GCC编码的纠正能力,根据本发明的多种实施方式,可与GCC编码一起利用另一层的级联码。图7示出根据本发明的多种实施方式的编码器和解码器的示例性框图。在多种实施方式中,编码器-解码器结构可包括配置为接收数据的外层码编码器110。外层码编码器110的输出可输入到GCC编码器114,GCC编码器114可输出经过编码的数据。在多种实施方式中,GCC编码器114可配置为通过将所接收的码字划分成不同的子群并且继续划分子群来实现GCC编码,但在中间等级处停止或终止GCC编码,在此中间等级中,最后等级的每个合集包括多个码字。如前面讨论的,这样的编码减少了码中的冗余,但也可导致降低的编码纠正能力。外层码编码器110可用于补充GCC编码器114的纠正能力,而不会大大影响GCC编码的冗余。在多种实施方式中,外层码编码器110可对数据进行编码,经过此编码的数据可使用GCC编码器114被进一步编码。在多种实施方式中,外层码可为足够长度的适当代数码,被表示为No。假定GCC编码器的信息比特长度是Kgcc,No可被选择成使得No>=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编码器的经过编码的输出可使用mux130被复用,然后在信道上被传输和/或被储存在存储介质(例如,闪存设备)中。
图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(例如,磁盘、硬驱动器、压缩盘只读存储器(CDROM)等)、输入/输出设备408(例如,用于再现视觉表现形式100的显示器、键盘、光标控件等)和通信接口410(例如,网络接口卡、调制解调器等)。这些元件通过总线412彼此耦合,总线412代表一条或多条总线的系统。在多条总线的情况下,它们通过一个或多个总线桥接器(未示出)而桥接。
这些元件中的每个执行在本领域中已知的传统功能。特别是,系统存储器404和大容量存储器406可用于存储实现之前描述的功能的全部或一部分的编程指令的作业用拷贝和永久拷贝,这些指令在此被共同表示为422。指令422可为由处理器(一个或多个)402支持的汇编程序指令或可从高级语言(例如C)编译出的指令。
编程指令的永久拷贝可通过例如诸如压缩盘(CD)之类的分配介质(未示出)或通过通信接口410(从分配服务器(未示出))被置入工厂或场地中的永久存储器406中。也就是说,具有指令422的一个或多个分配介质可用于分配指令422和对各种计算设备进行编程。
这些元件402-412的构成通常是公知的,因此将不进一步描述。
在本发明的实施方式中,制造的产品(未示出)可用于实现如这里公开的一种或多种方法。例如,在示例性实施方式中,制造的产品可包括存储介质和多个编程指令,这些指令存储在存储介质中并适合于给计算设备编程以将计算设备配置成能够接收数据、对所接收的数据编码以得到第一编码数据、对第一编码数据编码直到通用级联码(GCC)编码达到中间等级并在GCC编码的中间等级终止第一编码数据的编码以提供GCC编码数据。
虽然在这里示出和描述了特定的实施方式,但是本领域技术人员和其他人应认识到,在不脱离本发明的范围内,可以用各种各样的可选和/或等效的实现方式来替所示和所述的特定实施方式。本公开覆盖在字面意义或在等同原则下清楚地落在所附权利要求的范围内的所有方法、设备和制造的产品。例如,虽然上面公开了在各部件中包括在硬件上执行的软件或固件的示例性系统,但是应注意,这样的系统仅仅是说明性的并且不应被认为是限制性的。特别是,可设想,所公开的硬件、软件和/或固件部件中的任一个或全部可唯一地包含在硬件中、唯一地包含在软件中、唯一地包含在固件中或包含在硬件、软件和/或固件的某种组合中。本申请意在涵盖这里讨论的实施方式的任何修改或变形。因此,很明显且意图是,本发明仅由权利要求及其等同物限制。

Claims (23)

1.一种编码方法,包括:
接收数据;
对所接收的数据进行编码,以得到第一编码数据;
将所述第一编码数据分割成多个段;
对所述第一编码数据进行通用级联码(GCC)编码,直到所述GCC编码达到中间等级为止;并且
在所述GCC编码的中间等级处终止对所述第一编码数据进行的所述GCC编码;
其中,对所述第一编码数据进行的所述GCC编码包括对所述第一编码数据的所述多个段中的每个段单独进行GCC编码以获得多个经过GCC编码的数据。
2.如权利要求1所述的方法,其中,所述终止还包括:
在所述GCC编码的中间等级处终止所述GCC编码,以使得所述中间等级的多个合集中的每个合集包括多个码字。
3.如权利要求1所述的方法,其中,对所述第一编码数据进行的所述GCC编码还包括:
对内码进行重复地划分,直到达到所述中间等级为止。
4.如权利要求2所述的方法,其中,对所述第一编码数据进行的所述GCC编码还包括:
形成多个外码和多个内码。
5.如权利要求1所述的方法,其中,所述终止还包括:
在所述中间等级处终止对所述第一编码数据进行的所述GCC编码,以使得所述中间等级的内码的汉明距离是有限的。
6.如权利要求1所述的方法,其中,使用所述GCC编码对所述第一编码数据的所述多个段中的每个段单独进行GCC编码包括并行GCC编码。
7.如权利要求1所述的方法,其中,使用所述GCC编码对所述第一编码数据的所述多个段中的每个段单独进行GCC编码包括按顺序GCC编码。
8.如权利要求1所述的方法,还包括:
复用所述多个经过GCC编码的数据;以及
发送经过复用的多个经过该GCC编码的数据。
9.如权利要求1所述的方法,其中,对所接收的数据进行编码还包括:
使用代数码对所接收的数据进行编码。
10.如权利要求1所述的方法,其中,对所接收的数据进行编码还包括:
使用Reed-Solomon(RS)码或Bose-Chaudhuri-Hocquenghem(BCH)码对所接收的数据进行编码。
11.如权利要求1所述的方法,还包括:
将所述多个经过GCC编码的数据存储在闪存设备中。
12.如权利要求1所述的方法,还包括:
发送所述多个经过GCC编码的数据。
13.如权利要求12所述的方法,还包括:
接收所发送的多个经过GCC编码的数据;
对所发送的多个经过GCC编码的数据进行解码,以产生第一解码数据;以及
使用外层码对所述第一解码数据进行解码。
14.一种编码设备,包括:
外层码编码器,其被配置为接收数据并将所接收的数据编码成第一编码数据;
分段器,其被配置为将所述第一编码数据分割成多个段;以及
至少一个通用级联码(GCC)编码器,其被配置为
对所述第一编码数据的所述多个段中的每个段单独进行GCC编码,以及
在中间等级处终止所述GCC编码,以提供经过GCC编码的数据。
15.如权利要求14所述的设备,其中,所述GCC编码器还被配置为在所述中间等级处终止所述GCC编码,以使得所述中间等级的多个合集中的每个合集包括多个码字。
16.如权利要求14所述的设备,其中,所述GCC编码器被配置为对内码进行重复地划分,直到达到所述中间等级为止。
17.如权利要求14所述的设备,还包括:
多个GCC编码器,每个GCC编码器被配置为对所述第一编码数据的各个段进行GCC编码。
18.如权利要求17所述的设备,还包括:
复用器,其被配置为接收并复用来自所述多个GCC编码器的输出。
19.如权利要求14所述的设备,还包括:
至少一个GCC解码器,其被配置为对至少一个所述GCC编码器的输出进行解码;以及
外层码解码器,其被配置为对所述至少一个GCC解码器的输出进行解码。
20.如权利要求14所述的设备,其中,所述外层码编码器可以是Reed-Solomon(RS)编码器或Bose-Chaudhuri-Hocquenghem(BCH)编码器。
21.一种编码设备,包括:用于接收数据的装置;
用于对所接收的数据进行编码以得到第一编码数据的装置;
用于将所述第一编码数据分割成多个段的装置;
用于对所述第一编码数据进行通用级联码(GCC)编码直到所述GCC编码达到中间等级为止的装置;以及
用于在所述中间等级处终止所述GCC编码的装置;
其中,用于对所述第一编码数据进行编码的装置被配置为对所述第一编码数据的所述多个段中的每个段单独进行GCC编码以获得多个经过GCC编码的数据。
22.如权利要求21所述的设备,其中,所述GCC编码在所述中间等级处终止,以使得所述中间等级的多个合集中的每个合集包括多个码字。
23.如权利要求21所述的设备,其中,用于对所述第一编码数据进行编码的装置还包括:
用于形成多个外码和多个内码的装置。
CN200880102330.4A 2007-08-08 2008-08-06 使用通用级联码(gcc)进行编码和解码 Expired - Fee Related CN101779379B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US95465807P 2007-08-08 2007-08-08
US60/954,658 2007-08-08
PCT/US2008/072373 WO2009021065A1 (en) 2007-08-08 2008-08-06 Encoding and decoding using generalized concatenated codes (gcc)

Publications (2)

Publication Number Publication Date
CN101779379A CN101779379A (zh) 2010-07-14
CN101779379B true CN101779379B (zh) 2014-03-12

Family

ID=39761077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880102330.4A Expired - Fee Related CN101779379B (zh) 2007-08-08 2008-08-06 使用通用级联码(gcc)进行编码和解码

Country Status (4)

Country Link
US (2) US7782232B2 (zh)
CN (1) CN101779379B (zh)
TW (1) TWI375405B (zh)
WO (1) WO2009021065A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2492708B (en) * 2010-03-30 2017-01-25 Ibm Data encoding in solid state storage devices
CN103080952B (zh) * 2011-05-12 2015-12-09 中国科学院自动化研究所 基于局部特征的免配准安全指纹认证方法和系统
RU2013128346A (ru) * 2013-06-20 2014-12-27 ИЭмСи КОРПОРЕЙШН Кодирование данных для системы хранения данных на основе обобщенных каскадных кодов
WO2017082750A1 (en) * 2015-11-10 2017-05-18 Huawei Technologies Co., Ltd. Method and apparatus for encoding data for storage
US10320421B2 (en) * 2016-05-13 2019-06-11 Hyperstone Gmbh Method and device for error correction coding based on high-rate generalized concatenated codes
US10387254B2 (en) * 2017-10-12 2019-08-20 Samsung Electronics Co, Ltd. Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
US11463105B2 (en) * 2020-06-30 2022-10-04 Ciena Corporation Forward error correction coding using a tree structure
WO2023060865A1 (zh) * 2021-10-15 2023-04-20 华为技术有限公司 编解码方法和编解码设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423421A (zh) * 2001-11-30 2003-06-11 深圳市中兴通讯股份有限公司上海第二研究所 一种并行级联码的编译码方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19857677B4 (de) * 1998-12-14 2008-04-24 Siemens Ag Verfahren und Anordnung zur Kodierung von Symbolen für eine Übertragung über eine Funkschnittstelle eines Funk-Kommunikationssystems
US7484165B2 (en) * 2003-04-30 2009-01-27 Ericsson Ab Forward error correction coding
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423421A (zh) * 2001-11-30 2003-06-11 深圳市中兴通讯股份有限公司上海第二研究所 一种并行级联码的编译码方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Modified Generalized Concatenated Codes and their Application to the Construction and Decoding of LUEP Codes;Uwe Dettmar等;《1995 IEEE》;19950930;第41卷(第5期);全文 *
Phase-Invariant Coded Phase Shift Keying Using Reed-Muller Codes;Werner Henkel;《AEU Archiv fur Elektronik une Ubertragungstechnik》;19921231;第46卷(第3期);第125、127页,表2 *
Uwe Dettmar等.Modified Generalized Concatenated Codes and their Application to the Construction and Decoding of LUEP Codes.《1995 IEEE》.1995,第41卷(第5期),第1499-1503页.
Werner Henkel.Phase-Invariant Coded Phase Shift Keying Using Reed-Muller Codes.《AEU Archiv fur Elektronik une Ubertragungstechnik》.1992,第46卷(第3期),第125-130页.

Also Published As

Publication number Publication date
US20090040081A1 (en) 2009-02-12
CN101779379A (zh) 2010-07-14
WO2009021065A1 (en) 2009-02-12
US7978100B2 (en) 2011-07-12
TWI375405B (en) 2012-10-21
US20110043390A1 (en) 2011-02-24
TW200922153A (en) 2009-05-16
US7782232B2 (en) 2010-08-24

Similar Documents

Publication Publication Date Title
CN101779379B (zh) 使用通用级联码(gcc)进行编码和解码
US7590920B2 (en) Reduced complexity error correction encoding techniques
US9088300B1 (en) Cyclic redundancy check for out-of-order codewords
US7956772B2 (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
JP4975301B2 (ja) 連結された反復型と代数型の符号化
CN1656693B (zh) 迭代硬输入前向纠错的方法
US7409622B1 (en) System and method for reverse error correction coding
US8321750B2 (en) Interleaving parity bits into user bits to guarantee run-length constraint
JP2000068862A (ja) 誤り訂正符号化装置
KR20120091001A (ko) Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템
CN101946230A (zh) 用于检测和校正所接收的符号串中的定相突发差错、删除、符号差错和位差错的方法和系统
RU2310273C2 (ru) Способ кодирования-декодирования информации в системах передачи данных
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
US8365053B2 (en) Encoding and decoding data using store and exclusive or operations
CN101849361A (zh) 调制编码及解码
US20170054455A1 (en) Coding schemes including alternative codings for a single code construct
US9252815B2 (en) Extension of product codes with applications to tape and parallel channels
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
KR102109589B1 (ko) 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법
US8527851B2 (en) System and method for using the universal multipole for the implementation of a configurable binary Bose-Chaudhuri-Hocquenghem (BCH) encoder with variable number of errors
JP3628013B2 (ja) 信号送信装置および符号化装置
US20030106013A1 (en) Architecture for multi-symbol encoding and decoding
JP4308226B2 (ja) 誤り訂正符号化装置
JP2003188737A (ja) インターリーブ処理方法及びインターリーブ処理装置
JP5999634B2 (ja) 演算回路設定方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200427

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200427

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200427

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Michael

Patentee before: MARVELL WORLD TRADE Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140312

Termination date: 20200806