CN110492889A - 检测纠正两位错误的编码解码方法、编码解码器及处理器 - Google Patents

检测纠正两位错误的编码解码方法、编码解码器及处理器 Download PDF

Info

Publication number
CN110492889A
CN110492889A CN201910756214.4A CN201910756214A CN110492889A CN 110492889 A CN110492889 A CN 110492889A CN 201910756214 A CN201910756214 A CN 201910756214A CN 110492889 A CN110492889 A CN 110492889A
Authority
CN
China
Prior art keywords
code
picket
data
hamming
coding
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
CN201910756214.4A
Other languages
English (en)
Other versions
CN110492889B (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.)
Xian Unilc Semiconductors Co Ltd
Original Assignee
Xian Unilc Semiconductors 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 Xian Unilc Semiconductors Co Ltd filed Critical Xian Unilc Semiconductors Co Ltd
Priority to CN201910756214.4A priority Critical patent/CN110492889B/zh
Publication of CN110492889A publication Critical patent/CN110492889A/zh
Application granted granted Critical
Publication of CN110492889B publication Critical patent/CN110492889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供了一种用于检测和纠正两位错误的编码方法,其特征在于,该编码方法包括:将信息数据均分成第一数据段和第二数据段;对第一数据段和第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;对第一数据段中的每一位与第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,使得根据该编码方法生成的监督码包括第一监督码、第二监督码和第三监督码。本发明还提供了对本发明的编码方法产生的编码解码的方法。本发明还提供了用于检测和纠正两位错误的编码器、用于检测和纠正两位错误的解码器及处理器。

Description

检测纠正两位错误的编码解码方法、编码解码器及处理器
技术领域
本发明公开内容涉及用于检测和纠正两位错误的编码和解码方法、编码器和解码器及处理器,并且更具体地涉及结合汉明码和奇偶校验码来检测和纠正两位错误的编码和解码方法、编码器和解码器及处理器。
背景技术
数据信息在传输和存储过程中,可能会发生一些随机错误。对于一些重要数据,当发生错误时,期望能对其进行纠正恢复。ECC(Error Checking and Correction)利用在一定长度信息数据的基础上增加监督位来检测和纠正出错的数据。目前主要应用的ECC编码技术有汉明码、扩展汉明码和BCH编码等。众所周知,汉明码能够检测和纠正一位错误但是不能检测和纠正两位错误,扩展汉明码能够检测两位错误但是不能纠正两位错误,并且BCH编码虽然能够纠正两位错误但是实现起来很复杂且耗费大量逻辑资源。通常,纠正两位错误的能力指的是能够纠正出现“一位错误”的情况和出现“两位错误”的情况。
发明内容
为了解决现有技术中存在的不能纠正两位错误以及耗费大量逻辑资源的问题,本发明提供了一种能够检测和纠正两位错误的编码和解码方法,以及编码器和解码器及处理器,以期检测和纠正两位错误并节省逻辑资源。
为此,在本发明的第一方面,提供了一种用于检测和纠正两位错误的编码方法,其中该编码方法包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
在本发明的第二方面,提供了一种用于检测和纠正两位错误的解码方法,其中对根据上述第一方面的编码方法产生的编码进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
在本发明的第三方面,提供了一种用于检测和纠正两位错误的编码和解码方法,包括:
对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其中对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;以及
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
在本发明的第四方面,提供了一种用于检测和纠正两位错误的编码器,其中所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成监督码;
数据输出端口,与所述编码单元连接以用于输出接收的信息数据;
监督码输出端口,与所述编码单元连接以用于输出所述监督码;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得所述编码单元生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
在本发明的第五方面,提供了一种用于检测和纠正两位错误的解码器,其中所述解码器用于对采用上述第一方面的编码方法产生的编码进行解码,所述解码器包括:
数据输入端口,用于接收信息数据;
监督码输入端口,用于接收对应于所述信息数据的监督码;
解码单元,其与所述数据输入端口和所述监督码输入端口连接并对所述信息数据和所述监督码进行ECC解码,以生成经纠正的有效信息数据;
数据输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将所述信息数据和所述监督码分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
在本发明的第六方面,提供了一种能够检测和纠正两位错误的处理器,所述处理器包括:编码器,用于对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;其中所述编码器是根据上述第四方面所述的编码器,并且所述解码器是根据上述第五方面所述的解码器。
在附图和以下描述中阐述了一个或多个实施例的细节。其他特征、目的和优点将从该描述和附图以及权利要求变得明显。
附图说明
将参考附图仅以实施例的方式描述本发明的其他细节、方面和实施方案。图中的元件出于简单明了的目的被例示,且所述元件不必按比例绘制。在图中,与已经描述的元件对应的元件可以具有相同的附图标记。在附图中,
图1例示了根据本发明的编码方法的一个实施方案的流程图;
图2例示了根据本发明的编码方法的一个实施方案的一个实施例的流程图;
图3示出了图2中的实施例的数据关系;
图4例示了根据本发明的解码方法的一个实施方案的流程图;
图5例示了根据本发明的解码方法的一个实施方案的流程图;
图6例示了根据本发明的编码和解码方法的一个实施方案的一个实施例的流程图;
图7例示了根据本发明的编码方法的另一个实施方案的流程图;
图8例示了根据本发明的编码方法的另一个实施方案的一个实施例的流程图;
图9例示了根据本发明的解码方法的另一个实施方案的流程图;
图10例示了根据本发明的一个实施方案的处理器的框图;
图11例示了根据本发明的一个实施方案的处理器的一个实施例的框图;
图12例示了根据本发明的另一个实施方案的处理器的框图;
图13例示了根据本发明的另一个实施方案的处理器的一个实施例的框图。
具体实施方式
虽然本发明可能有许多不同形式的实施方案,但是附图中示出了并且将在本文中详细描述一个或多个具体实施方案;应理解,本公开内容应被认为是本发明的原理的例示,而不意在将本发明限于所示出及所描述的具体实施方案。
本发明涉及标准汉明码和扩展汉明码,现以示例性实施方案的方式对标准汉明码和扩展汉明码的编码解码原理进行说明。
标准汉明码
假设码长为n,信息位的长度为k,监督码的长度为r=n-k,从而构成(n,k)汉明码。由于长度为n的序列上的每一位都有可能出错,所以一共存在n种出现一位错误的情况;另外,还存在不出错的情况。长度为r的监督码一共可以表示2r种情况,为了用长度为r的监督码表示出n+1种情况,监督码的长度要满足以下公式:2r≥n+1,即r≥log2(n+1)。此外,长度为r的监督码可以构造出r个监督关系式来检测错误位置。标准汉明码中的监督码的长度r取最小值。
下面以示例性实施方案来进一步说明标准汉明码的编码原理。假设信息位的长度k=4,如果需要纠正一位错误,则监督码的长度r应满足以下等式:
2r≥n+1=k+r+1=5+r
解得,r≥3。为了满足监督码的最小长度要求,取r=3,则码长为n=3+4=7。
上述实施方案对应的是(7,4)汉明码,其中码距为3。应理解的是,虽然在以(7,4)汉明码例示说明,但是信息位的长度可以是其他值以对应于不同的标准汉明码。在(7,4)汉明码中,4个信息位(即,有效信息数据)分别用a0、a1、a2、a3来表示,并且3个监督位分别用p1、p2、p3来表示。这些监督位被分别放在1号、2号、4号位置,从而得到的7位汉明码从高位到低位的排列顺序为a3a2a1p3a0p2p1。在(7,4)汉明码的偶校验的一个实施方案中,规定校正子S1、S2、S3与错码位置的对应关系如下表1所示。然而应理解的是,还可以以其他任何适合的方式规定校正子与错码位置的对应关系,例如根据奇校验原则的配置。
表1 (7,4)汉明码中校正子与错码位置的对应关系
S3 S2 S1 错码的位置
0 0 0 无错
0 0 1 p1
0 1 0 p2
0 1 1 a0
1 0 0 p3
1 0 1 a1
1 1 0 a2
1 1 1 a3
按照表1中的规定可知,仅当一个错码位置在p1、a0、a1或a3时校正子S1为1,否则S1为0。这意味着,p1、a0、a1和a3这四个码元构成偶校验关系,由以下3个监督关系式表示:
S1=p1⊕a0⊕a1⊕a3 (1)
S2=p2⊕a0⊕a2⊕a3 (2)
S3=p3⊕a1⊕a2⊕a3 (3)
其中S1、S2、S3分别表示3个监督关系式中的校正子,“⊕”表示异或运算符。在发送信号时,信息位a0、a1、a2和a3的值取决于输入信号,是随机的。监督位p1、p2和p3的值应该根据信息位的取值按照监督关系决定;具体地,根据偶校验,监督位的取值应该使上述公式(1)-(3)中的S1、S2和S3为0,这表示初始情况下没有错码,即:
S1=p1⊕a0⊕a1⊕a3=0
S2=p2⊕a0⊕a2⊕a3=0
S3=p3⊕a1⊕a2⊕a3=0
进行移项运算,得到监督位的数值:
p1=a0⊕a1⊕a3 (4)
p2=a0⊕a2⊕a3 (5)
p3=a1⊕a2⊕a3 (6)
已知信息位后,在编码过程中根据公式(4)-(6)可以计算出三个监督位p1、p2和p3的值。在解码检验过程中,由接收的汉明码根据公式(1)-(3)可以计算出校正子S1、S2和S3的值,从而确定错码位置。
在一个实施例中,假设输入的4位数据为0001,则编码后得到的7位数据为0000111。如果发生一位错误的信息数据是a0,则通过解码计算可得S3S2S1=011。由此可知,第三号位置的数据,即a0发生了错误;通过对该位置的数据取反就能纠正此一位错误。因此,(7,4)汉明码能够检测并纠正一位错误。
此外,如果监督位p1和信息数据a1同时发生错误或者信息数据a0和a3同时发生错误,则通过解码计算可得S3S2S1在这两种情况下都为100;并且如果只有监督位p3发生错误,通过解码计算可得S3S2S1也为100。(7,4)汉明码不能区分这三种情况,所以(7,4)汉明码只能检测并纠正一位错误,但不能检测两位错误或更多位的错误。虽然在此仅例示了(7,4)汉明码的实施方案,但是该结论适用于其他标准汉明码,即标准汉明码只能检测并纠正一位错误,但不能检测两位错误或更多位的错误。
扩展汉明码
扩展汉明码是在汉明码的基础上增加了一个总体奇偶校验位。下面通过采用总体偶校验位的(8,4)扩展汉明码以例示性实施方案说明扩展汉明码的编码原理。然而应理解的是,扩展汉明码也可以采用总体奇校验位。(8,4)扩展汉明码是在(7,4)汉明码增加了一个监督位p0,从而得到码距为4且从高位到低位的排列顺序为a3a2a1p3a0p2p1p0的8位扩展汉明码。监督位p0是前面7位码元的偶校验位,即:
p0=p1⊕p2⊕p3⊕a0⊕a1⊕a2⊕a3 (7)
对应的监督关系式为:
S0=p0⊕p1⊕p2⊕p3⊕a0⊕a1⊕a2⊕a3 (8)
其中S0是校正子。在(8,4)扩展汉明码的实施方案中,规定校正子S3、S2、S1和S0与错码类型的对应关系如下表2所示。
表2 校正子与错码类型的对应关系
当出现一位错误并能纠正时,与(7,4)汉明码相同,根据表1中的校正子与错码位置的对应关系。
在一个实施例中,假设输入的4位数据为0001,则编码后得到的8位数据为00001111。如果监督位p1和信息数据a1同时发生错误或者信息数据a0和a3同时发生错误,则通过解码计算可得S3S2S1在这两种情况下都为100,并且S0=0,说明发生了两位错误,但是不能区分是p1和a1发生了两位错误还是a0和a3发生了两位错误,故不能纠正。如果只有p3发生错误(即仅发生一位错误),通过解码计算可得S3S2S1也为100,但是此时s0=1。由此可知,只有第四号位置的数据,即p3发生错误;通过对该位置的数据取反就能纠正此一位错误。因此,(8,4)扩展汉明码能够检测并纠正一位错误,并且能够检测两位错误而不能纠正两位错误。虽然在此仅例示了(8,4)扩展汉明码的实施方案,但是该结论适用于其他扩展汉明码,即扩展汉明码能够检测并纠正一位错误,并且能够检测两位错误而不能纠正两位错误。
在本发明的第一方面,提供了一种用于检测和纠正两位错误的编码方法,其中,该编码方法包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
根据本发明的第一方面的一个优选实施方案,其中如果所述信息数据的长度为奇数,则将所述信息数据补一位0或者1使得其成为偶数。优选地,在所述信息数据的高位补0。可选地或替代地,可以在所述信息数据的高位补1或者在所述信息数据的低位补0或补1。
根据本发明的第一方面的一个优选实施方案,所述汉明码编码为扩展汉明码编码。
根据本发明的第一方面的另一个优选实施方案,其中所述汉明码编码为标准汉明码编码,并且对所述第三监督码进行奇偶校验编码,以生成所述第三监督码的行奇偶校验位。这种采用标准汉明码的编码方法与采用扩展汉明码编码的上述编码方法相比在第一监督码和第二监督码中各节省了1位校验位,在第三监督码中增加了1位奇偶校验位,总体节省了1位校验位。
在本发明的第二方面,提供了一种用于检测和纠正两位错误的解码方法,其中对根据上述第一方面的编码方法产生的编码数据进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
根据本发明的第二方面的一个优选实施方案,当对采用扩展汉明码编码的上述编码方法产生的编码数据进行解码时,所述汉明码解码规则是扩展汉明码解码规则,其中
-如果所述第一码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段中的错误,并且如果所述第二码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第二码字段中的错误;
-如果所述第一码字段或所述第二码字段发生两位错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第二方面的另一个优选实施方案,当对采用标准汉明码编码的上述编码方法产生的编码数据进行解码时,所述汉明码解码规则是标准汉明码解码规则,其中
-如果所述第一码字段和所述第二码字段都发生了错误,则运用标准汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错;
-如果所述第一码字段和所述第二码字段中的仅一个码字段发生了错误,则根据所述第三监督码的行奇偶校验位对所述第三监督码进行奇偶校验,并且
-如果所述第三监督码存在奇偶校验错误,则运用标准汉明码解码规则对所述第一码字段或所述第二码字段纠错,
-如果所述第三监督码不存在奇偶检验错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
在本发明的第三方面,提供了一种用于检测和纠正两位错误的编码和解码方法,包括:
对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其中对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;以及
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
根据本发明的第三方面的一个优选实施方案,其中采用扩展汉明码编码的上述编码方法对接收的信息数据进行编码,并且采用扩展汉明解码规则的上述解码方法对所述编码数据进行解码。
根据本发明的第三方面的另一个优选实施方案,其中采用标准汉明码编码的上述编码方法对接收的信息数据进行编码,并且采用标准汉明解码规则的上述解码方法对所述编码数据进行解码。
在本发明的第四方面,提供了一种用于检测和纠正两位错误的编码器,其中所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成监督码;
数据输出端口,与所述编码单元连接以用于输出接收的信息数据;
监督码输出端口,与所述编码单元连接以用于输出所述监督码;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得所述编码单元生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
根据本发明的第四方面的一个优选实施方案,其中所述编码单元被配置成如果所述信息数据的长度为奇数,则将所述信息数据补一位0或者1使得其成为偶数。优选地,在所述信息数据的高位补0。可选地或替代地,可以在所述信息数据的高位补1或者在所述信息数据的低位补0或补1。
根据本发明的第四方面的一个优选实施方案,其中所述汉明码编码为扩展汉明码编码。
根据本发明的第四方面的一个优选实施方案,其中所述编码单元包括:
扩展汉明码编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段和所述第二数据段进行扩展汉明码编码以生成包含所述第一数据段和所述第一监督码的第一码字段以及包含所述第二数据段和所述第二监督码的第二码字段;以及
列位奇偶编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;并且
所述编码单元被配置成将所述扩展汉明码编码单元的第一监督码输出位和第二监督码输出位与所述列位奇偶编码单元的第三监督码输出位组合输出所述监督码,并且将所述扩展汉明码编码单元的第一数据段输出位和第二数据段输出位组合输出所述接收的信息数据。
根据本发明的第四方面的一个优选实施方案,其中所述扩展汉明码编码单元可以包括第一扩展汉明码编码单元和第二扩展汉明码编码单元,所述第一扩展汉明码编码单元对所述第一数据段编码且所述第二扩展汉明码编码单元对所述第二数据段编码。可选地或替代地,所述第一和第二扩展汉明码编码单元可以由实现相同功能的单个扩展汉明码编码单元来实施。
根据本发明的第四方面的另一个优选实施方案,其中所述汉明码编码为标准汉明码编码,并且所述编码单元被配置成对所述第三监督码进行奇偶校验编码,以生成所述第三监督码的行奇偶校验位。
根据本发明的第四方面的一个优选实施方案,其中所述编码单元包括:
标准汉明码编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段和所述第二数据段进行标准汉明码编码以生成包含所述第一数据段和所述第一监督码的第一码字段以及包含所述第二数据段和所述第二监督码的第二码字段;
列位奇偶编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
行位奇偶编码单元,其与所述列位奇偶编码单元连接以接收所述第三监督码并且对所述第三监督码进行奇偶校验编码,以生成所述第三监督码的行奇偶校验位;并且
所述编码单元被配置成将所述标准汉明码编码单元的第一监督码和第二监督码输出位与所述行位奇偶编码单元的第三监督码输出位组合输出所述监督码,并且将所述扩展汉明码编码单元的第一数据段输出位和第二数据段输出位组合输出所述接收的信息数据。
根据本发明的第四方面的一个优选实施方案,其中所述标准汉明码编码单元包括第一标准汉明码编码单元和第二标准汉明码编码单元,所述第一标准汉明码编码单元对所述第一数据段编码且所述第二标准汉明码编码单元对所述第二数据段编码。可选地或替代地,所述标准汉明码编码单元可以是实现相同功能的单个标准汉明码编码单元。
在本发明的第五方面,提供了一种用于检测和纠正两位错误的解码器,其中所述解码器用于对根据上述第一方面的编码方法产生的编码数据进行解码,所述解码器包括:
数据输入端口,用于接收信息数据;
监督码输入端口,用于接收对应于所述信息数据的监督码;
解码单元,其与所述数据输入端口和所述监督码输入端口连接并对所述信息数据和所述监督码进行ECC解码,以生成经纠正的有效信息数据;
数据输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将所述信息数据和所述监督码分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
根据本发明的第五方面的一个优选实施方案,其中所述解码器用于对采用扩展汉明码的上述编码方法产生的编码进行解码,所述汉明码解码规则是扩展汉明码解码规则,所述解码单元被配置成
-如果所述第一码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段中的错误,并且如果所述第二码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第二码字段中的错误,
-如果所述第一码字段或所述第二码字段发生两位错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成将所述数据输入端口的第一数据段输入位和所述监督码输入端口的第一监督码输入位组合成第一码字段的输入,将所述数据输入端口的第二数据段输入位和所述监督码输入端口的第二监督码输入位组合成第二码字段的输入,并且将所述监督码输入端口的第三监督码输入位作为第三监督码的输入,并且所述解码单元包括:
扩展汉明码解码单元,其与所述第一码字段的输入和第二码字段的输入连接以接收所述第一码字段和所述第二码字段,并且对所述第一码字段和所述第二码字段解码以生成第一两位错误标志位和经汉明解码的第一数据段以及第二两位错误标志位和经汉明解码的第二数据段;
数据处理单元,其与所述扩展汉明码解码单元连接以接收所述第一两位错误标志位和所述经汉明解码的第一数据段以及所述第二两位错误标志位和所述经汉明解码的第二数据段,所述数据处理单元还与第三监督码的输入连接以接收所述第三监督码,并且所述数据处理单元被配置成根据所述第一两位错误标志位和所述第二两位错误标志位是否为1来纠正所述第一数据段和所述第二数据段中的错误;并且
所述解码单元被配置成将所述数据处理单元的第一数据段输出位和第二数据段输出位组合输出所述有效信息数据。
根据本发明的第五方面的一个优选实施方案,其中所述数据处理单元被配置成:
-如果所述第一两位错误标志位为1,则所述数据处理单元将所述第三监督码与所述经汉明解码的第二数据段逐位进行奇偶校验比对以生成正确的第一数据段输出到所述第一数据段输出位,否则所述数据处理单元将所述经汉明解码的第一数据段输出到所述第一数据段输出位;并且
-如果所述第二两位错误标志位为1,则所述数据处理单元将所述第三监督码与所述经汉明解码的第一数据段逐位进行奇偶校验比对以生成正确的第二数据段输出到所述第二数据段输出位,否则所述数据处理单元将所述经汉明解码的第二数据段输出到所述第二数据段输出位。
根据本发明的第五方面的一个优选实施方案,其中所述扩展汉明码解码单元包括第一扩展汉明码解码单元和第二扩张汉明码解码单元,所述第一扩展汉明码解码单元对所述第一码字段解码并且所述第二扩张汉明码解码单元对所述第二码字段解码。可选地或替代地,所述扩展汉明码解码单元可以是实现相同功能的单个扩展汉明码解码单元。
根据本发明的第五方面的另一个优选实施方案,其中所述解码器用于对采用标准汉明码的上述编码方法产生的编码数据进行解码,所述汉明码解码规则是标准汉明码解码规则,所述解码单元被配置成
-如果所述第一码字段和所述第二码字段都发生了错误,则运用标准汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生了错误,则根据所述第三监督码的行奇偶校验位对所述第三监督码进行奇偶校验,并且
-如果所述第三监督码存在奇偶校验错误,则运用标准汉明码解码规则对所述第一码字段或所述第二码字段纠错,
-如果所述第三监督码不存在奇偶检验错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成将所述数据输入端口的第一数据段输入位和所述监督码输入端口的第一监督码输入位组合成第一码字段的输入,将所述数据输入端口的第二数据段输入位和所述监督码输入端口的第二监督码输入位组合成第二码字段的输入,并且将所述监督码输入端口的第三监督码输入位作为第三监督码的输入,并且所述解码单元包括:
标准汉明码解码单元,其与第一码字段的输入和第二码字段的输入连接以接收所述第一码字段和所述第二码字段,并且对所述第一码字段和所述第二码字段解码以生成第一错误标志位和经汉明解码的第一数据段以及第二错误标志位和经汉明解码的第二数据段;
奇偶校验单元,其与第三监督码的输入连接以接收所述第三监督码,并且对所述第三监督码进行奇偶校验以生成第三错误标志位;以及
数据处理单元,其与所述标准汉明码解码单元连接以接收所述第一错误标志位和所述经汉明解码的第一数据段以及所述第二错误标志位和所述经汉明解码的第二数据段,所述数据处理单元还与所述奇偶校验单元连接以接收所述第三错误标志位并且与第三监督码的输入连接以接收所述第三监督码,并且所述数据处理单元被配置成根据所述第一错误标志位、所述第二错误标志位和所述第三错误标志位是否为1来纠正所述第一数据段和所述第二数据段中的错误;并且
所述解码单元被配置成将所述数据处理单元的第一数据段输出位和第二数据段输出位组合输出所述有效信息数据。
根据本发明的第五方面的一个优选实施方案,其中所述数据处理单元被配置成:-如果所述第一错误标志位为1、所述第二错误标志位为0且所述第三标志位为0,则所述数据处理单元将所述第三监督码与所述经汉明解码的第二数据段逐位进行奇偶校验比对以生成正确的第一数据段输出到所述第一数据段输出位,否则所述数据处理单元将所述经汉明解码的第一数据段输出到所述第一数据段输出位;并且-如果所述第一错误标志位为0、所述第二错误标志位为1且所述第三标志位为0,则所述数据处理单元将所述第三监督码与所述经汉明解码的第一数据段逐位进行奇偶校验比对以生成正确的第二数据段输出到所述第二数据段输出位,否则所述数据处理单元将所述经汉明解码的第二数据段输出到所述第二数据段输出位。
根据本发明的第五方面的一个优选实施方案,其中所述标准汉明码解码单元包括第一标准汉明码解码单元和第二标准汉明码解码单元,所述第一标准汉明码解码单元对所述第一码字段解码并且所述第二标准汉明码解码单元对所述第二码字段解码。可选地或替代地,所述标准汉明码解码单元可以是实现相同功能的单个标准汉明码解码单元。
在本发明的第六方面,提供了一种能够检测和纠正两位错误的处理器,所述处理器包括:
编码器,用于对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;
解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其中所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成监督码;
数据输出端口,与所述编码单元连接以用于输出接收的信息数据;
监督码输出端口,与所述编码单元连接以用于输出所述监督码;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得所述编码单元生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码;
并且所述解码器包括:
数据输入端口,用于接收信息数据;
监督码输入端口,用于接收对应于所述信息数据的监督码;
解码单元,其与所述数据输入端口和所述监督码输入端口连接并对所述信息数据和所述监督码进行ECC解码,以生成经纠正的有效信息数据;
数据输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将所述信息数据和所述监督码分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
根据本发明的第六方面的一个优选实施方案,其中所述编码器是根据上述第四方面的采用扩展汉明码编码的编码器,并且所述解码器是根据上述第五方面的采用扩展汉明解码规则的解码器。
根据本发明的第六方面的另一个优选实施方案,其中所述编码器是根据上述第四方面的采用标准汉明码编码的编码器,并且所述解码器是根据上述第五方面的采用标准汉明解码规则的解码器。
根据本发明的第六方面的一个优选实施方案,其中所述处理器还包括存储器,所述编码器生成的经编码的数据被存储至所述存储单元,并且所述解码器接收来自所述存储单元的编码数据。然而,所述处理器包括存储器的实施方案仅是本发明的一个优选实施方案,本发明的其他实施方案也可以不包括存储器。
图1例示了根据本发明的编码方法的一个实施方案的流程图,下面参考图1描述对X位信息数据(Dx-1……D2,D1,D0)编码的过程。首先,将X位信息数据(Dx-1……D2,D1,D0)平均拆成两行,如果X为奇数,则补一位0。替代地,如果X为奇数,则补一位1。然后,采用扩展汉明码分别对第一行信息数据(Dx/2-1……D0)和第二行信息数据(Dx-1……Dx/2)进行编码,以相应地生成第一行监督码(行1ECC)和第二行监督码(行2ECC)。这样,第一行数据中包括Dx/2-1……D0和行1ECC,并且第二行数据中包括Dx-1……Dx/2和行2ECC。接着,对第一行和第二行中对应列的信息数据进行奇偶校验编码,产生第三监督码(PARITY)Px/2-1……P0组成第三行。产生第三监督码的奇偶校验编码可以根据规定选择奇校验编码或者偶校验编码。最终编码得到的数据自高位到低位分别是第三监督码(PARITY)、第二行监督码和第一行监督码(ECC)、信息数据(Dx-1……D2,D1,D0)。
图2和图3例示了根据本发明的编码方法的一个实施方案的具有14位信息数据的一个实施例的流程图和数据关系。图2和图3中的流程图和数据关系符合图1的描述,在此不再累述。应理解的是,虽然在此以编码后的数据长度为31位的数据进行说明,但是本发明的方法适用于其他任意数据长度。
图4和图5例示了对应于图1和图2中的编码方法的解码方法的一个实施方案的流程图。该解码方法的目的在于能够检测和纠正两位错误,并且包括纠正一位错误的情况。如图4和图5中所示,首先将接收的编码数据分成与图1中编码方法对应的三行,即包括Dx/2-1……D0和行1ECC的第一行数据、包括Dx-1……Dx/2和行2ECC的第二行数据以及由第三监督码(PARITY)Px/2-1……P0组成的第三行。该解码方法包括以下步骤:
步骤一、对第一行数据进行扩展汉明码解码,如果检测到发生1位错误则纠正该错误,否则保持不变;
步骤二、对第二行数据进行扩展汉明码解码,如果检测到发生1位错误则纠正该错误,否则保持不变;
步骤三、如果第一行数据或第二行数据发生2位错误,则利用第三监督码Px/2-1……P0以及列奇偶校验来定位错误的位置并纠正错误。具体地,如果第一行数据发生2位错误,则将第二行数据中的信息数据与第三监督码Px/2-1……P0异或,生成第一行数据中的正确的信息数据;并且如果第二行数据发生2位错误,则将第一行数据中的信息数据与第三监督码Px/2-1……P0异或,生成第二行数据中的正确的信息数据。新生成的信息数据与接收编码中的信息数据之间的不同位即是出错的位。可选地或替代地,将第一行数据和第二行数据中对应列的信息数据进行奇偶校验,产生新的一行监督码,接着将新的一行监督码与第三行中的数据比对,不同的位即是出错的位,然后将第一行或第二行中对应位取反实现纠错。
最后,从第一行数据和第二行数据中抽取出有效信息数据。应注意的是,上述步骤一和步骤二的顺序可以变化或可以并行执行。
由于扩展汉明码能够检测2位错误并纠正1位错误,所以如果在整体数据仅有1位错误出现在第一行数据或第二行数据中时,采用扩展汉明码对第一行数据和第二行数据进行解码可以直接纠正1位错误。此外,对于整体数据出现2位错误时,总共具有以下4种情况,如图5所示:(1)两位错误发生在第一行或第二行内,其他两行没有错误;(2)两位错误发生在第三行,其他两行没有错误;(3)第一行和第二行各发生一位错误,第三行没有错;(4)一位错误发生在第三行,另一位错误发生在第一行或第二行。
对于情况(1),2位错误同时出现在第一行或第二行,在步骤一和步骤二期间,检测到第一行或第二行出现2位错误,并且在步骤三期间,通过列奇偶校验可以纠正第一行和第二行的信息数据段中的错误。对于情况(2),由于两位错误发生在第三行,其他两行没有错误,所以第一行和第二行的信息数据段没有错误,不需要纠正。对于情况(3)和(4),第一行和第二行只会发生一位错误,则在步骤一和步骤二期间就能够通过扩展汉明码解码纠正第一行和第二行中各自的错误。
图6例示了根据本发明的编码和解码方法的一个实施方案的14位数据’b11100001010101的实施例的流程图。应理解的是,虽然在此以14位数据进行说明,但是本发明的方法适用于其他任意数据长度。下面参考图6描述对14位数据’b11100001010101编码过程。首先,将数据’b11100001010101均分成第一行信息数据1010101和第二行信息数据1110000。然后,采用扩展汉明码对第一行信息数据1010101进行编码,得到第一行监督码’b01111;采用扩展汉明码对第二行信息数据1110000进行编码,得到第二行监督码’b10000。接着,对第一行和第二行中对应列的信息数据进行偶校验编码(即,进行异或运算),产生第三监督码0100101。
由如图6可见,编码后的数据在传输过程中或在存储过程中出现2位错误的4种情况,在通过本发明的解码方法进行解码后,所得到的信息数据与原始信息数据一致。因此,本发明的解码方法能够检测并纠正2位错误。
图7例示了根据本发明的编码方法的一个替代实施方案,该编码方法与图1和图2中所述的实施方案基本上相同。所不同的是,该编码方法在对第一行信息数据和第二行信息数据编码时采用的是标准汉明码编码而不是扩展汉明码,并且在生成第三行的监督码后对第三行的第三监督码Px/2-1……P0执行行奇偶校验,从而生成一位行奇偶校验位Pr,保存在第三行中。
图8例示了根据图7的实施方案的具有14位信息数据的一个实施例的流程图。与图2中的流程图相比,在图8中的流程图中,采用标准汉明码分别对第一行信息数据(D6……D0)和第二行信息数据(D13……D7)进行编码后,生成的第一行监督码(行1ECC)和第二行监督码(行2ECC)分别少一个总体校验位(E14和E19),并且在对生成第三监督码E30……E24执行行奇偶校验,生成一位行奇偶校验位E31。此外,图8中的流程图符合图7的描述,在此不再累述。应理解的是,虽然在此以编码后的数据长度为32位的数据进行说明,但是本发明的方法适用于其他任意数据长度。
与图7中例示采用标准汉明码的编码方法的替代实施方案相对应,本发明提供了一种解码方法,如图9所示。首先,将接收的编码数据分成与图7中编码方法对应的三行,即包括Dx/2-1……D0和行1ECC的第一行数据、包括Dx-1……Dx/2和行2ECC的第二行数据以及由第三监督码Pr,Px/2-1……P0组成的第三行。该解码方法包括以下步骤:
-运用标准汉明码解码规则对第一行数据和第二行数据进行ECC检查,
-如果第一行数据和第二行数据都没有发生错误,则保持不变;
-如果第一行数据和第二行数据都发生了错误,则运用标准汉明码解码规则对第一行数据和第二行数据分别进行ECC纠错;
-如果第一行数据和第二行数据中仅有一行存在错误,则对第三行进行行奇偶校验,
-如果第三行存在奇偶校验错误,则运用标准汉明码解码规则对第一行或第二行纠错,并且
-如果第三行不存在奇偶检验错误,则采用第三行的列奇偶校验来定位错误的位置并纠正错误。
-最后,从第一行和第二行中抽取出有效信息数据。
具体地,采用第三行的列奇偶校验来定位错误的位置并纠正错误是:如果第一行数据存在错误且第三行不存在奇偶检验错误,则将第二行数据中的信息数据与第三监督码Px/2-1……P0异或,生成第一行数据中的正确的信息数据;如果第二行数据存在错误且第三行不存在奇偶检验错误,则将第一行数据中的信息数据与第三监督码Px/2-1……P0异或,生成第二行数据中的正确的信息数据。新生成的信息数据与接收编码中的信息数据之间的不同位即是出错的位。可选地或替代地,采用第三行的列奇偶校验来定位错误的位置并纠正错误是将第一行和第二行中对应列的信息数据进行奇偶校验,产生新的一行监督码,接着将新的一行监督码与第三行中的数据比对,不同的位即是出错的,然后将第一行或第二行中对应位取反实现纠错。
这种编码和解码实施方案在生成第一行监督码和第二行监督码各节省了1位监督位,而在生成第三行的监督码时增加了1位监督位,从而总体上节省了1位监督位。与图7和图8中的解码实施方案相比,图4和图5中的解码实施方案实现更简单,耗费逻辑资源更少。
图10例示了根据本发明的一个实施方案的处理器的框图。如图10所示,处理器包括编码器1和解码器3。编码器1用于对接收的x位信息数据进行编码,将信息数据和编码得到的监督码作为经编码的数据输出。解码器3用于对接收的编码数据进行解码,输出经纠错的x位信息数据。
编码器1包括:输入端口11,用于接收信息数据;编码单元12,编码单元12与输入端口11连接并对信息数据进行ECC编码以生成监督码;数据输出端口13,与编码单元12连接用于输出接收的信息数据;监督码输出端口14,与编码单元12连接用于输出监督码。
编码单元12包括:第一扩展汉明码编码单元121,其与输入端口11连接以接收低x/2位信息数据并且对低x/2位信息数据进行扩展汉明码编码以生成包含低x/2位信息数据和y/2位第一监督码的第一码字段;第二扩展汉明码编码单元123,其与输入端口11连接以接收高x/2位信息数据并且对高x/2位信息数据进行扩展汉明码编码以生成包含高x/2位信息数据和y/2位第二监督码的第二码字段;列位奇偶编码单元122,其与输入端口11连接以接收高x/2位信息数据和低x/2位信息数据,并且将高x/2位信息数据中的每一位与低x/2位信息数据中的对应位逐位进行奇偶校验编码,以生成x/2位第三监督码。编码单元12将x/2位第三监督码、y/2位第二监督码、y/2位第一监督码依次从高位到低位排列作为监督码输出,并且将高x/2位信息数据和低x/2位信息数据依次从高位到低位排列作为信息数据输出。其中y取满足以下关系式的最小值:
2y/2-1≥x/2+y/2
解码器3包括:数据输入端口31,用于接收信息数据;监督码输入端口32,用于接收对应于接收的信息数据的监督码;解码单元33,其与数据输入端口31和监督码输入端口32连接并对信息数据和监督码进行ECC解码,以生成经纠正的信息数据;数据输出端口34,其与解码单元33连接以用于输出有效信息数据。
解码单元33包括:第一扩展汉明码解码单元331,其与数据输入端口31的低x/2位和监督码输入端口32的低y/2位连接以接收包含第一数据段和第一监督码的第一码字段,并且对该第一码字段解码以生成第一两位错误标志位err_2bit_row1和经汉明解码的第一数据段data_row1;第二扩展汉明码解码单元332,其与数据输入端口31的高x/2位和监督码输入端口32的第y/2位至第y-1位连接以接收包含第二数据段和第二监督码的第二码字段并且对第二码字段解码以生成第二两位错误标志位err_2bit_row2和经汉明解码的第二数据段data_row2;数据处理单元333,其与第一扩展汉明码解码单元331连接以接收第一两位错误标志位err_2bit_row1和经汉明解码的第一数据段data_row1,与第二扩展汉明码解码单元332连接以接收第二两位错误标志位err_2bit_row2和经汉明解码的第二数据段data_row2,且与监督码输入端口32的高x/2位连接以接收第三监督码。数据处理单元333被配置成:如果第一两位错误标志位err_2bit_row1为1,则将第三监督码与经汉明解码的第一数据段data_row1和经汉明解码的第二数据段data_row2进行列奇偶校验以生成x/2位正确的第一数据段输出,否则将经汉明解码的第一数据段data_row1作为x/2位正确的第一数据段输出;如果第二两位错误标志位err_2bit_row2为1,则将第三监督码与经汉明解码的第一数据段data_row1和经汉明解码的第二数据段data_row2进行列奇偶校验以生成x/2位正确的第二数据段输出,否则将经汉明解码的第二数据段data_row1作为x/2位正确的第二数据段输出。解码单元33将正确的第二数据段和正确的第一数据段依次由高到低排列,以输出经纠错的x位信息数据。
图11例示了图10的实施方案的一个实施例,尤其是数据处理单元333的一个实施例。如图11所示,数据处理单元333包括:第一异或门单元341,用于将第三监督码与经汉明解码的第二数据段data_row2异或;第二异或门单元342,用于将第三监督码与经汉明解码的第一数据段data_row1异或;第一选择单元343,第一选择单元343的0输入端接收经汉明解码的第一数据段data_row1,第一选择单元343的1输入端接收第一异或门单元341的输出,第一选择单元343的控制端接收第一两位错误标志位err_2bit_row1;第二选择单元344,第二选择单元344的0输入端接收经汉明解码的第二数据段data_row2,第二选择单元344的1输入端接收第二异或门单元342的输出,第二选择单元344的控制端接收第二两位错误标志位err_2bit_row2。在第一两位错误标志位err_2bit_row1为1时第一选择单元343输出第一异或门单元341的输出,否则输出经汉明解码的第一数据段data_row1,并且第二选择单元344类似。应理解的是,图11仅例示了图10的实施方案的一个示例性实施例,图10的实施方案还可以通过其他合适的方式来实现。
图12例示了根据本发明的另一个实施方案的处理器的框图。图12中的处理器与图10中的处理器类似,仅是编码单元12和解码单元33稍有不同。
图12中的编码单元12包括:第一标准汉明码编码单元121,其与输入端口11连接以接收低x/2位信息数据并且对低x/2位信息数据进行扩展汉明码编码以生成包含低x/2位信息数据和y/2位第一监督码的第一码字段;第二标准汉明码编码单元123,其与输入端口11连接以接收高x/2位信息数据并且对高x/2位信息数据进行扩展汉明码编码以生成包含高x/2位信息数据和y/2位第二监督码的第二码字段;列位奇偶编码单元122,其与输入端口11连接以接收高x/2位信息数据和低x/2位信息数据,并且将高x/2位信息数据中的每一位与低x/2位信息数据中的对应位逐位进行奇偶校验编码,以生成x/2位第三监督码;行位奇偶编码单元124,其与列位奇偶编码单元122的输出连接以接收x/2位第三监督码,并且对第三监督码进行奇偶校验编码以生成第三监督码的行奇偶校验位,从而输出包含行奇偶校验位的x/2+1位第三监督码。编码单元12将x/2+1位第三监督码、y/2位第二监督码、y/2位第一监督码依次从高位到低位排列作为监督码输出,并且将高x/2位信息数据和低x/2位信息数据依次从高位到低位排列作为信息数据输出。其中y取满足以下关系式的最小值:
2y/2≥x/2+y/2+1
图12中的解码单元33包括:第一标准汉明码解码单元331,其与数据输入端口31的低x/2位和监督码输入端口32的低y/2位连接以接收包含第一数据段和第一监督码的第一码字段并且对该第一码字段解码以生成第一错误标志位err_row1和经汉明解码的第一数据段data_row1;第二标准汉明码解码单元332,其与数据输入端口31的高x/2位和监督码输入端口32的第y/2位至第y-1位连接以接收包含第二数据段和第二监督码的第二码字段并且对第二码字段解码以生成第二错误标志位err_row2和经汉明解码的第二数据段data_row2;奇偶校验单元334,其与监督码输入端口32的高x/2+1位连接以接收包含行奇偶校验位的第三监督码,并且对该第三监督码进行奇偶校验以生成第三错误标志位err_row3;数据处理单元333,其与第一标准汉明码解码单元331连接以接收第一错误标志位err_row1和经汉明解码的第一数据段data_row1,与第二标准汉明码解码单元332连接以接收第二错误标志位err_row2和经汉明解码的第二数据段data_row2,与奇偶校验单元334连接以接收第三错误标志位err_row3,且与监督码输入端口32的最高位往下的x/2位连接以接收不包含行奇偶校验位的第三监督码。数据处理单元333被配置成:如果第一错误标志位err_row1为1、第二错误标志位err_row2为0且第三标志位err_row3为0,则将x/2位第三监督码与经汉明解码的第一数据段data_row1和经汉明解码的第二数据段data_row2进行列奇偶校验以生成x/2位正确的第一数据段输出,否则将经汉明解码的第一数据段data_row1作为x/2位正确的第一数据段输出;如果第一错误标志位err_row1为0、第二错误标志位err_row2为1且第三标志位err_row3为0,则将x/2位第三监督码与经汉明解码的第一数据段data_row1和经汉明解码的第二数据段data_row2进行列奇偶校验以生成x/2位正确的第二数据段输出,否则将经汉明解码的第二数据段data_row1作为x/2位正确的第二数据段输出。解码单元33将正确的第二数据段和正确的第一数据段依次由高到低排列,以输出经纠错的x位信息数据。
图13例示了图12的实施方案的一个实施例,尤其是数据处理单元333的一个实施例。图13中数据处理单元333与图11中的数据处理单元333类似,不同的是图13中数据处理单元333还包括:第一与门单元345,用于对第一错误标志位err_row1、第二错误标志位err_row2的逆和第三标志位err_row3的逆进行与运算;第二与门单元346,用于对第一错误标志位err_row1的逆、第二错误标志位err_row2和第三标志位err_row3的逆进行与运算;并且第一选择单元343的控制端接收第一与门单元345的输出,第二选择单元344的控制端接收第二与门单元346的输出。在第一错误标志位err_row1为1、第二错误标志位err_row2为0且第三标志位err_row3为0时第一选择单元343输出第一异或门单元341的输出,否则输出经汉明解码的第一数据段data_row1,并且第二选择单元344类似。应理解的是,图13仅例示了图12的实施方案的一个示例性实施例,图12的实施方案还可以通过其他合适的方式来实现。
此外,如图10至图13所示,编码器1生成的经编码的数据存储至处理器外部的存储单元2,而解码器3从处理器外部的存储单元2读取编码数据。在一些实施方案中,所述处理器可以是存储器控制器,例如DRAM控制器、FLASH控制器等;对应地,存储单元2可以是DRAM或NAND/NOR FLASH等。应理解的是,虽然图10至图13例示了编码器和解码器与处理器外部的存储单元2连接使用的实施方案,但是图10至图13中例示的编码器和解码器可以单独或者结合应用在其他应用场合。例如,在一些实施方案中,通过一个处理器中的编码器编码的数据被传输到其他处理器,以由该其他处理器中的解码器解码后用于进一步处理;或者,通过处理器中的编码器编码的数据被存储在该处理器本身包含的存储器中,该处理器中的解码器对从所述存储器接收的编码数据解码。
如本领域的技术人员将明了的,许多不同的执行所述方法的方式是可能的。例如,所述步骤的顺序可以变化或一些步骤可以并行执行。此外,在步骤之间可以插入其他方法步骤。所插入的步骤可以表示诸如在本文中所描述的所述方法的改进,或可以与所述方法无关。此外,在开始下一步骤之前,一个给定的步骤可能还未完全完成。
在一个或多个实施例中,系统和/或模块和/或单元和/或电路和/或框可以整体地或部分地以硬件和/或固件提供,包括但不限于:一个或多个专用集成电路(ASIC)、数字信号处理器、分立电路、逻辑门、标准集成电路、状态机、查找表、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等及其各种组合。特别地,在一个或多个实施例中,编码器、编码单元(诸如例如,标准汉明码编码单元、扩展汉明码编码单元、列位奇偶编码单元、行位奇偶编码单元)、解码器、解码单元(诸如例如,标准汉明码解码单元、扩展汉明码解码单元)、奇偶校验单元、数据处理单元、与门单元、异或门单元、选择单元可以整体地或部分地被实施为所谓的专用集成电路(ASIC),即针对它们的特定用途所定制的集成电路(IC)。此外,在一个或多个实施例中,可以使用软件执行根据本发明的方法,该软件可能已经被下载和/或被存储在对应的存储器内,例如,易失性存储器(诸如,RAM)或非易失性存储器。替代地,设备可以整体地或部分地以可编程逻辑实施为例如现场可编程门阵列(FPGA)。例如,所述电路可以被实施在CMOS中,例如使用硬件描述语言(诸如Verilog、VHDL等)。
虽然在上文展示和描述了多种优选实施方案,但对本领域技术人员显而易见的是,可以在不背离所附权利要求书所定义的本发明范围的前提下做出修改和变化。

Claims (10)

1.一种用于检测和纠正两位错误的编码方法,其特征在于,该编码方法包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
2.根据权利要求1所述的编码方法,其特征在于,所述汉明码编码为扩展汉明码编码。
3.根据权利要求1所述的编码方法,其特征在于,所述汉明码编码为标准汉明码编码,并且对所述第三监督码进行奇偶校验编码,以生成所述第三监督码的行奇偶校验位。
4.一种用于检测和纠正两位错误的解码方法,其特征在于,对根据权利要求1-3中的任一项所述的编码方法产生的编码数据进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
5.根据权利要求4所述的方法,其特征在于,当对根据权利要求2所述的编码方法产生的编码数据进行解码时,所述汉明码解码规则是扩展汉明码解码规则,其中
-如果所述第一码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段中的错误,并且如果所述第二码字段发生一位错误,则运用扩展汉明码解码规则直接纠正所述第二码字段中的错误;
-如果所述第一码字段或所述第二码字段发生两位错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
6.根据权利要求4所述的方法,其特征在于,当对根据权利要求3所述的编码方法产生的编码数据进行解码时,所述汉明码解码规则是标准汉明码解码规则,其中
-如果所述第一码字段和所述第二码字段都发生了错误,则运用标准汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生了错误,则根据所述第三监督码的行奇偶校验位对所述第三监督码进行奇偶校验,并且
-如果所述第三监督码存在奇偶校验错误,则运用标准汉明码解码规则对所述第一码字段或所述第二码字段纠错,
-如果所述第三监督码不存在奇偶检验错误,则将所述第三监督码与所述第一数据段和所述第二数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
7.一种用于检测和纠正两位错误的编码和解码方法,包括:
对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;以及
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得根据该编码方法生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
8.一种用于检测和纠正两位错误的编码器,其特征在于,所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成监督码;
数据输出端口,与所述编码单元连接以用于输出接收的信息数据;
监督码输出端口,与所述编码单元连接以用于输出所述监督码;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得所述编码单元生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码。
9.一种用于检测和纠正两位错误的解码器,其特征在于,所述解码器用于对根据权利要求1-3中的任一项所述的编码方法产生的编码数据进行解码,所述解码器包括:
数据输入端口,用于接收信息数据;
监督码输入端口,用于接收对应于所述信息数据的监督码;
解码单元,其与所述数据输入端口和所述监督码输入端口连接并对所述信息数据和所述监督码进行ECC解码,以生成经纠正的有效信息数据;
数据输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将所述信息数据和所述监督码分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
10.一种能够检测和纠正两位错误的处理器,所述处理器包括:
编码器,用于对接收的信息数据进行编码,将所述信息数据和编码得到的监督码作为经编码的数据输出;
解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成监督码;
数据输出端口,与所述编码单元连接以用于输出接收的信息数据;
监督码输出端口,与所述编码单元连接以用于输出所述监督码;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码,从而使得所述编码单元生成的监督码包括所述第一监督码、所述第二监督码和所述第三监督码;
并且其中所述解码器包括:
数据输入端口,用于接收信息数据;
监督码输入端口,用于接收对应于所述信息数据的监督码;
解码单元,其与所述数据输入端口和所述监督码输入端口连接并对所述信息数据和所述监督码进行ECC解码,以生成经纠正的有效信息数据;
数据输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将所述信息数据和所述监督码分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及第三监督码;
-运用汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查,以确定是否能够利用所述汉明码解码规则直接纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误能够利用所述汉明码解码规则直接纠错,则运用所述汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不能够利用所述汉明码解码规则直接纠错,则利用所述第三监督码和奇偶校验方法纠正所述第一码字段或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
CN201910756214.4A 2019-08-16 2019-08-16 检测纠正两位错误的编码解码方法、编码解码器及处理器 Active CN110492889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910756214.4A CN110492889B (zh) 2019-08-16 2019-08-16 检测纠正两位错误的编码解码方法、编码解码器及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910756214.4A CN110492889B (zh) 2019-08-16 2019-08-16 检测纠正两位错误的编码解码方法、编码解码器及处理器

Publications (2)

Publication Number Publication Date
CN110492889A true CN110492889A (zh) 2019-11-22
CN110492889B CN110492889B (zh) 2023-05-30

Family

ID=68551245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910756214.4A Active CN110492889B (zh) 2019-08-16 2019-08-16 检测纠正两位错误的编码解码方法、编码解码器及处理器

Country Status (1)

Country Link
CN (1) CN110492889B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886134A (zh) * 2021-09-30 2022-01-04 成都千嘉科技有限公司 一种纠错编码读取字轮装置
CN117931720A (zh) * 2024-03-22 2024-04-26 南京大学 基于局部总线结构改进的串行总线及数据交互方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1392669A (zh) * 2002-08-12 2003-01-22 王继深 实时高速抗干扰编码的译码器设计方法
CN1615591A (zh) * 2002-01-21 2005-05-11 皇家飞利浦电子股份有限公司 编码和解码方法
CN1647392A (zh) * 2002-04-05 2005-07-27 皇家飞利浦电子股份有限公司 用于将附加纠错层嵌入到纠错码中的方法和设备
US20070283229A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code
US20080215953A1 (en) * 2007-03-01 2008-09-04 Cisco Technology, Inc. Three bit error detection using ecc codes
US20090055704A1 (en) * 2005-09-01 2009-02-26 Nippon Telegraph And Telephone Corporation Error correction method and apparatus
CN103187104A (zh) * 2013-03-19 2013-07-03 西安华芯半导体有限公司 存储器的纠错方法
US20160373138A1 (en) * 2015-06-22 2016-12-22 Altera Corporation Techniques For Variable Forward Error Correction
CN107025948A (zh) * 2017-05-17 2017-08-08 西安紫光国芯半导体有限公司 具有标志位指示数据长度的纠错功能的存储器和纠错方法
US20180041229A1 (en) * 2016-08-05 2018-02-08 Taiwan Semiconductor Manufacturing Company Ltd. On-line self-checking hamming encoder, decoder and associated method
US20180102791A1 (en) * 2016-10-10 2018-04-12 Nec Laboratories America, Inc. Low density parity check coded modulation for optical communications

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615591A (zh) * 2002-01-21 2005-05-11 皇家飞利浦电子股份有限公司 编码和解码方法
CN1647392A (zh) * 2002-04-05 2005-07-27 皇家飞利浦电子股份有限公司 用于将附加纠错层嵌入到纠错码中的方法和设备
CN1392669A (zh) * 2002-08-12 2003-01-22 王继深 实时高速抗干扰编码的译码器设计方法
US20090055704A1 (en) * 2005-09-01 2009-02-26 Nippon Telegraph And Telephone Corporation Error correction method and apparatus
US20070283229A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code
US20080215953A1 (en) * 2007-03-01 2008-09-04 Cisco Technology, Inc. Three bit error detection using ecc codes
CN103187104A (zh) * 2013-03-19 2013-07-03 西安华芯半导体有限公司 存储器的纠错方法
US20160373138A1 (en) * 2015-06-22 2016-12-22 Altera Corporation Techniques For Variable Forward Error Correction
US20180041229A1 (en) * 2016-08-05 2018-02-08 Taiwan Semiconductor Manufacturing Company Ltd. On-line self-checking hamming encoder, decoder and associated method
US20180102791A1 (en) * 2016-10-10 2018-04-12 Nec Laboratories America, Inc. Low density parity check coded modulation for optical communications
CN107025948A (zh) * 2017-05-17 2017-08-08 西安紫光国芯半导体有限公司 具有标志位指示数据长度的纠错功能的存储器和纠错方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIHAI LEFTER等: ""LDPC-Based Adaptive Multi-Error Correction for 3D Memories"", 《2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD)》 *
王轩等: ""基于FPGA的NAND Flash ECC校验系统设计与实现"", 《电子设计工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886134A (zh) * 2021-09-30 2022-01-04 成都千嘉科技有限公司 一种纠错编码读取字轮装置
CN117931720A (zh) * 2024-03-22 2024-04-26 南京大学 基于局部总线结构改进的串行总线及数据交互方法

Also Published As

Publication number Publication date
CN110492889B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
US6799287B1 (en) Method and apparatus for verifying error correcting codes
US8069395B2 (en) Three bit error detection using ECC codes
CN105247793A (zh) 针对错误校正码的误校正检测
US8055982B2 (en) Error correction system and method
US9397705B2 (en) Decoder for LDPC code and BCH code and decoding method thereof
JPH0812612B2 (ja) 誤り訂正方法及び装置
CN105340022A (zh) 用于校正数据错误的电路、设备及方法
JPS6041770B2 (ja) エラ−・チェック修正システム
JPH05108495A (ja) データ用誤り訂正検出方法及びコンピユータ・メモリ用 誤り検出回路
CN111143107B (zh) 一种fpga单粒子反转校验电路和方法
CN110492889A (zh) 检测纠正两位错误的编码解码方法、编码解码器及处理器
CN105609141B (zh) 一种用于自动校正访问存储装置数据的装置及方法
CN110806948B (zh) 一种数据校验方法及装置
US10860415B2 (en) Memory architecture including response manager for error correction circuit
US11050440B2 (en) Encoder, decoder, encoding method and decoding method based on low-density parity-check code
CN110489269A (zh) 检测纠正三位错误的编码解码方法、编码解码器及处理器
US8631308B2 (en) Apparatus and method for determination of a position of a 1 bit error in a coded bit sequence, apparatus and method for correction of a 1-bit error in a coded bit sequence and decoder and method for decoding an incorrect, coded bit sequence
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
US8943393B1 (en) Distributed burst error protection
CN101957782B (zh) 避免数据储存装置的数据发生移位错误的方法及控制器
CN110233629B (zh) 改进的汉明码纠错方法
JP5357993B2 (ja) 誤り訂正が可能な符号化・復号化方式
RU2297034C2 (ru) Отказоустойчивое устройство хранения информации
RU2297030C2 (ru) Самокорректирующееся устройство хранения информации
RU42686U1 (ru) Самокорректирующееся устройство

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant