CN110489269B - 检测纠正三位错误的编码解码方法、编码解码器及处理器 - Google Patents
检测纠正三位错误的编码解码方法、编码解码器及处理器 Download PDFInfo
- Publication number
- CN110489269B CN110489269B CN201910756363.0A CN201910756363A CN110489269B CN 110489269 B CN110489269 B CN 110489269B CN 201910756363 A CN201910756363 A CN 201910756363A CN 110489269 B CN110489269 B CN 110489269B
- Authority
- CN
- China
- Prior art keywords
- code
- code field
- bit
- data
- field
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供了一种用于检测和纠正三位错误的编码方法,其中该编码方法包括:将信息数据均分成第一数据段和第二数据段;对第一数据段和第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;对第一数据段中的每一位与第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;对第三监督码进行汉明码编码,以生成第四监督码,从而生成经编码的数据,所述经编码的数据包括信息数据、第一监督码、第二监督码、第三监督码和第四监督码。本发明还提供了对本发明的编码方法产生的编码数据解码的方法。本发明还提供了用于检测和纠正三位错误的编码器、用于检测和纠正三位错误的解码器及处理器。
Description
技术领域
本发明公开内容涉及用于检测和纠正三位错误的编码和解码方法、编码器和解码器及处理器,并且更具体地涉及结合扩展汉明码和奇偶校验码来检测和纠正三位错误的编码和解码方法、编码器和解码器及处理器。
背景技术
数据信息在传输和存储过程中,可能会发生一些随机错误。对于一些重要数据,当发生错误时,期望能对其进行纠正恢复。ECC(Error Checking and Correction)利用在一定长度信息数据的基础上增加监督位来检测和纠正出错的数据。目前主要应用的ECC编码技术有汉明码、扩展汉明码和BCH编码等。众所周知,汉明码能够检测和纠正一位错误但是不能检测和纠正两位错误,扩展汉明码能够检测两位错误但是不能纠正两位错误。此外,对于一位错误和三位错误,虽然扩展汉明码能够检测出错误,但是不能区分这两种错误。此外,BCH编码虽然能够纠正三位错误但是实现起来很复杂且耗费大量逻辑资源。通常,纠正三位错误的能力指的是能够纠正出现“一位错误”的情况、出现“两位错误”的情况和“三位错误”的情况。
发明内容
为了解决现有技术中存在的不能检测和纠正三位错误以及耗费大量逻辑资源的问题,本发明提供了一种能够检测和纠正三位错误的编码和解码方法,以及编码器和解码器及处理器,以期检测和纠正三位错误并节省逻辑资源。
为此,在本发明的第一方面,提供了一种用于检测和纠正三位错误的编码方法,其中该编码方法包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码。
在本发明的第二方面,提供了一种用于检测和纠正三位错误的解码方法,其中对根据上述第一方面的编码方法产生的编码数据进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
在本发明的第三方面,提供了一种用于检测和纠正三位错误的编码和解码方法,包括:
对接收的信息数据进行编码,以生成经编码的数据;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
在本发明的第四方面,提供了一种用于检测和纠正三位错误的编码器,其中所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成经编码的数据;
输出端口,其与所述编码单元连接以用于输出所述经编码的数据;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码。
在本发明的第五方面,提供了一种用于检测和纠正三位错误的解码器,其中所述解码器用于对采用上述第一方面的编码方法产生的编码数据进行解码,所述解码器包括:
输入端口,用于接收编码数据;
解码单元,其与所述输入端口连接并对接收的编码数据进行ECC解码,以生成经纠正的有效信息数据;
输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
在本发明的第六方面,提供了一种能够检测和纠正三位错误的处理器,所述处理器包括:
编码器,用于对接收的信息数据进行编码,以生成经编码的数据;
解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其中所述编码器是根据上述第四方面所述的编码器,并且所述解码器是根据上述第五方面所述的解码器。
在附图和以下描述中阐述了一个或多个实施例的细节。其他特征、目的和优点将从该描述和附图以及权利要求变得明显。
附图说明
将参考附图仅以实施例的方式描述本发明的其他细节、方面和实施方案。图中的元件出于简单明了的目的被例示,且所述元件不必按比例绘制。在图中,与已经描述的元件对应的元件可以具有相同的附图标记。在附图中,
图1例示了根据本发明的编码方法的一个实施方案的流程图;
图2例示了根据本发明的解码方法的一个实施方案的流程图;
图3A至图3F分别例示了图2中的解码方法的一个实施方案的不同出错情况的流程图;
图4例示了根据本发明的一个实施方案的处理器的框图;
图5例示了根据本发明的一个实施方案的处理器的一个实施例的框图。
具体实施方式
虽然本发明可能有许多不同形式的实施方案,但是附图中示出了并且将在本文中详细描述一个或多个具体实施方案;应理解,本公开内容应被认为是本发明的原理的例示,而不意在将本发明限于所示出及所描述的具体实施方案。
本发明涉及标准汉明码和扩展汉明码,现以示例性实施方案的方式对标准汉明码和扩展汉明码的编码解码原理进行说明。
标准汉明码
假设码长为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)汉明码中校正子与错码位置的对应关系
按照表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校正子与错码类型的对应关系
S3S2S1 | S0 | 错码类型 |
=000 | 0 | 无错误 |
!=000 | 0 | 有两位错误,但不能纠正 |
!=000 | 1 | 只有一位错误,并能纠正 |
=000 | 1 | 只有一位错误,错误发生在S0 |
当出现一位错误并能纠正时,与(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。
根据本发明的第一方面的一个优选实施方案,其中对所述第三监督码编码采用的汉明码可以是标准汉明码。可选地或替代地,对所述第三监督码编码采用的汉明码可以是扩展汉明码。
在本发明的第二方面,提供了一种用于检测和纠正三位错误的解码方法,其中对根据上述第一方面的编码方法产生的编码数据进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
根据一些实施方案,所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错的情况为:
(1)所述第一码字段和所述第二码字段都发生非两位错误(由于最多存在三位错误,所以两个码字段都发生的“非两位错误”可以被认为是“一位错误”);
(2)所述第三码字段发生错误且所述第一码字段和所述第二码字段中的仅一个码字段发生错误,并且所述第一码字段和所述第二码字段中的一个所发生的错误是非两位错误(由于最多存在三位错误,所以在第三码字段发生错误时另一个码字段发生的“非两位错误”可以被认为是“一位错误”)。
根据一些实施方案,所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错的情况为:
(1)所述第一码字段和所述第二码字段都发生错误,且其中一个发生的错误是两位错误;
(2)所述第一码字段和所述第二码字段中的仅一个码字段发生错误并且所述第三码字段没有发生错误(由于最多存在三位错误,所以仅一个码字段发生的错误可以是“一位错误”、“两位错误”或“三位错误”);
(3)所述第三码字段发生错误且所述第一码字段和所述第二码字段中的仅一个发生错误,并且所述第一码字段和所述第二码字段中的一个所发生的错误是两位错误。
根据本发明的第二方面的一个优选实施方案,其中根据所述ECC检查的结果进行以下步骤:
-如果所述第一码字段和所述第二码字段都发生错误,则根据所述ECC检查的结果判断所述第一码字段和所述第二码字段是否都发生非两位错误,以确定是否利用所述第三码字段来纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生错误,则根据所述ECC检查的结果判断所述第三码字段是否发生错误,以确定是否利用所述第三码字段来纠错。
根据本发明的第二方面的一个优选实施方案,其中,在所述第一码字段和所述第二码字段都发生错误时,
-如果所述第一码字段和所述第二码字段都发生非两位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段和所述第二码字段中的错误;
-否则运用扩展汉明码解码规则纠正所述第一码字段和所述第二码字段中发生非两位错误的码字段,然后将所述第三监督码与纠正后的码字段的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第二方面的一个优选实施方案,其中,在所述第一码字段和所述第二码字段中的仅一个发生错误时,
-如果所述第三码字段没有发生错误,则将所述第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误;
-否则根据所述ECC检查的结果判断所述第一码字段或所述第二码字段中发生的错误是否是两位错误,以确定是否利用所述第三码字段来纠错。
根据本发明的第二方面的一个优选实施方案,其中,在所述第三码字段发生错误时,
-如果所述第一码字段或所述第二码字段中发生的错误不是两位错误,则运用扩展汉明码解码规则纠正所述第一码字段或所述第二码字段中的错误;
-否则运用汉明码解码规则纠正所述第三码字段中的错误,然后将纠正后的第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第二方面的一个优选实施方案,其中对所述第三码字段进行ECC检查和/或解码采用的可以是标准汉明码解码规则。可选地或替代地,对所述第三码字段进行ECC检查和/或解码采用的可以是扩展汉明码解码规则。在此,对所述第三码字段采用的汉明码解码规则应与本发明的第一方面对所述第三码字段所采用的汉明码编码规则对应。
在本发明的第三方面,提供了一种用于检测和纠正三位错误的编码和解码方法,包括:
对接收的信息数据进行编码,以生成经编码的数据;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
根据本发明的第三方面的一个优选实施方案,其中采用上述第一方面的编码方法对接收的信息数据进行编码,并且采用上述第二方面的解码方法对所述编码数据进行解码。
在本发明的第四方面,提供了一种用于检测和纠正三位错误的编码器,其中所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成经编码的数据;
输出端口,其与所述编码单元连接以用于输出所述经编码的数据;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码。
根据本发明的第四方面的一个优选实施方案,其中所述编码单元被配置成如果所述信息数据的长度为奇数,则将所述信息数据补一位0或者1使得其成为偶数。优选地,在所述信息数据的高位补0。可选地或替代地,可以在所述信息数据的高位补1或者在所述信息数据的低位补0或补1。
根据本发明的第四方面的一个优选实施方案,其中所述编码单元包括:
第一扩展汉明码编码单元,其与所述输入端口连接以接收所述第一数据段,并且对所述第一数据段进行扩展汉明码编码以生成包含所述第一数据段和所述第一监督码的第一码字段;
第二扩展汉明码编码单元,其与所述输入端口连接以接收所述第二数据段,并且对所述第二数据段进行扩展汉明码编码以生成包含所述第二数据段和所述第二监督码的第二码字段;
列位奇偶编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
第三标准汉明码编码单元,其与所述列位奇偶编码单元连接以接收所述第三监督码并且对所述第三监督码进行标准汉明码编码以生成包含所述第三监督码和第四监督码的第三码字段。
可选地或替代地,所述第三标准汉明码编码单元可以由遵循扩展汉明码编码原则的扩展汉明码编码单元代替。
在本发明的第五方面,提供了一种用于检测和纠正三位错误的解码器,其特征在于,所述解码器用于对根据上述第一方面的编码方法产生的编码数据进行解码,所述解码器包括:
输入端口,用于接收编码数据;
解码单元,其与所述输入端口连接并对接收的编码数据进行ECC解码,以生成经纠正的有效信息数据;
输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
根据一些实施方案,所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错的情况以及所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错的情况与上述第二方面的描述一致,在此不再累述。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成
-如果所述第一码字段和所述第二码字段都发生错误,则根据所述ECC检查的结果判断所述第一码字段和所述第二码字段是否都发生非两位错误,以确定是否利用所述第三码字段来纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生错误,则根据所述ECC检查的结果判断所述第三码字段是否发生错误,以确定是否利用所述第三码字段来纠错。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成,在所述第一码字段和所述第二码字段都发生错误时,
-如果所述第一码字段和所述第二码字段都发生非两位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段和所述第二码字段中的错误;
-否则运用扩展汉明码解码规则纠正所述第一码字段和所述第二码字段中发生非两位错误的码字段,然后将所述第三监督码与纠正后的码字段的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成,在所述第一码字段和所述第二码字段中的仅一个发生错误时,
-如果所述第三码字段没有发生错误,则将所述第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误;
-否则根据所述ECC检查的结果判断所述第一码字段或所述第二码字段中发生的错误是否是两位错误,以确定是否利用所述第三码字段来纠错。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成,在所述第三码字段发生错误时,
-如果所述第一码字段或所述第二码字段中发生的错误不是两位错误,则运用扩展汉明码解码规则纠正所述第一码字段或所述第二码字段中的一位错误;
-否则运用汉明码解码规则纠正所述第三码字段中的错误,然后将纠正后的第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
根据本发明的第五方面的一个优选实施方案,其中所述解码单元被配置成将所述输入端口的第一数据段输入位和第一监督码输入位组合成第一码字段的输入,将所述输入端口的第二数据段输入位和第二监督码输入位组合成第二码字段的输入,并且将所述输入端口的第三监督码输入位和第四监督码输入位作为第三码字段的输入,并且所述解码单元包括:
第一扩展汉明码解码单元,其与所述第一码字段的输入连接以接收所述第一码字段,并且对所述第一码字段解码以生成第一两位错误标志位、第一非两位错误标志位和经汉明解码的第一数据段;
第二扩展汉明码解码单元,其与所述第二码字段的输入连接以接收所述第二码字段,并且对所述第二码字段解码以生成第二两位错误标志位、第二非两位错误标志位和经汉明解码的第二数据段;
第三标准汉明码解码单元,其与所述第三码字段的输入连接以接收所述第三码字段,并且对所述第三码字段解码以生成第三错误标志位和经汉明解码的第三监督码;以及
数据处理单元,其与所述第一扩展汉明码解码单元连接以接收所述第一两位错误标志位、所述第一非两位错误标志位和所述经汉明解码的第一数据段,与所述第二扩展汉明码解码单元连接以接收所述第二两位错误标志位、所述第二非两位错误标志位和所述经汉明解码的第二数据段,且与所述第三标准汉明码解码单元连接以接收所述第三错误标志位和所述经汉明解码的第三监督码,并且所述数据处理单元被配置成根据所述第一两位错误标志位、所述第一非两位错误标志位、所述第二两位错误标志位、所述第二非两位错误标志位和所述第三错误标志位是否为1来纠正所述第一数据段和所述第二数据段中的错误;并且
所述解码单元被配置成将所述数据处理单元的第一数据段输出位和第二数据段输出位组合输出所述有效信息数据。
可选地或替代地,所述第三标准汉明码解码单元可以由遵循扩展汉明码解码原则的扩展汉明码解码单元代替。在此,对所述第三码字段解码的第三汉明码解码单元采用的汉明码解码规则应与本发明的第一方面对所述第三码字段所采用的汉明码编码规则对应。
根据本发明的第五方面的一个优选实施方案,其中所述数据处理单元被配置成
-如果所述第二两位错误标志位、所述第二非两位错误标志位或所述第三错误标志位为1且所述第一两位错误标志位为0,则将所述经汉明解码的第一数据段输出到所述第一数据段输出位,否则将所述经汉明解码的第三监督码与所述经汉明解码的第二数据段逐位进行奇偶校验以生成正确的第一数据段输出到所述第一数据段输出位;
-如果所述第一两位错误标志位、所述第一非两位错误标志位或所述第三错误标志位为1且所述第二两位错误标志位为0,则将所述经汉明解码的第二数据段输出到所述第二数据段输出位,否则将所述经汉明解码的第三监督码与所述经汉明解码的第一数据段逐位进行奇偶校验以生成正确的第二数据段输出到所述第二数据段输出位。
在本发明的第六方面,提供了一种能够检测和纠正三位错误的处理器,所述处理器包括:
编码器,用于对接收的信息数据进行编码,以生成经编码的数据;
解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述编码器的输入端口连接并对所述信息数据进行ECC编码以生成经编码的数据;
输出端口,其与所述编码单元连接用于输出所述经编码的数据;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码;
并且其中所述解码器包括:
输入端口,用于接收编码数据;
解码单元,其与所述解码器的输入端口连接并对接收的编码数据进行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。接着,对第一行和第二行中对应列的信息数据进行奇偶校验编码,产生第三监督码(Px/2-1……P0),即(Px/2-1……P0)=(Dx/2-1……D0)异或(Dx-1……Dx/2)。产生第三监督码的奇偶校验编码可以根据规定选择奇校验编码或者偶校验编码。最后,采用标准汉明码对第三监督码(Px/2-1……P0)进行编码,以生成第四监督码(行3ECC)。最终编码得到的数据自高位到低位分别是第三监督码(PARITY),第四监督码、第二行监督码和第一行监督码(ECC),信息数据(Dx-1……D2,D1,D0)。
图2例示了对应于图1中的编码方法的解码方法的一个实施方案的流程图。该解码方法的目的在于能够检测和纠正三位错误,并且包括纠正两位错误和一位错误的情况。如图2中所示,将接收的编码数据分成与图1中编码方法对应的三行,即包括Dx/2-1……D0和行1ECC的第一行数据、包括Dx-1……Dx/2和行2ECC的第二行数据以及包括Px/2-1……P0和行3ECC的第三行数据。该解码方法包括以下步骤:
步骤201:运用扩展汉明码解码规则分别对第一行数据和第二行数据进行ECC检查并且运用标准汉明码解码规则对第三行数据进行ECC检查,随后进入步骤202;
步骤202:判断第一行数据和第二行数据是否都没有发生错误,如果第一行数据和第二行数据都没有发生错误,则不对第一行数据和第二行数据进行ECC纠错,随后直接进入步骤214,否则进入步骤203;
步骤203:判断第一行数据和第二行数据是否都发生错误,如果第一行数据和第二行数据都发生错误,则进入步骤204,否则进入步骤208;
步骤204:判断第一行数据和第二行数据是否都发生错误一位错误,如果第一行数据和第二行数据都发生一位错误,则进入步骤205,否则进入步骤206。
步骤205:运用扩展汉明码解码规则分别纠正第一行数据和第二行数据中的错误,随后进入步骤214;
步骤206:运用扩展汉明码解码规则纠正第一行数据和第二行数据中发生1位错误的一行数据,随后进入步骤207;
步骤207:利用第三行数据中的第三监督码Px/2-1……P0以及列奇偶校验来纠正第一行数据和第二行数据中发生2位错误的一行数据(例如,如果第一行数据发生2位错误,则将第二行数据中在步骤206纠正的信息数据与第三监督码Px/2-1……P0异或,生成第一行数据中的正确的信息数据),随后进入步骤214;
步骤208:判断第三行数据是否发生错误,如果第三行数据没有发生错误,则进入步骤211,否则进入步骤209;
步骤209:判断第一行数据或第二行数据中发生的错误是否是2位错误,如果第一行数据或第二行数据中发生的错误是2位错误,则进入步骤212,否则进入步骤210;
步骤210:运用扩展汉明码解码规则纠正第一行数据或第二行数据中的错误,随后进入步骤214;
步骤211:利用第三行数据中的第三监督码Px/2-1……P0以及列奇偶校验来纠正第一行数据或第二行数据中发生的错误(例如,如果第一行数据发生错误,则将第二行数据中的信息数据与第三监督码Px/2-1……P0异或,生成第一行数据中的正确的信息数据),随后进入步骤214;
步骤212:运用标准汉明码解码规则纠正第三行数据中的1位错误,随后进入步骤213;
步骤213:采用步骤212中纠正的第三行数据中的第三监督码以及列奇偶校验来纠正第一行数据或第二行数据中发生的错误(例如,如果第一行数据发生错误,则将第二行数据中的信息数据与该第三监督码异或,生成第一行数据中的正确的信息数据),随后进入步骤214;
步骤214:从第一行数据和第二行数据中抽取出有效信息数据。
图3A至图3F例示了图2中的解码方法对应的不同出错情况的流程图。如图3A至图3F所示,总共有以下6种情况:
情况1:第一行数据和第二行数据都没有发生错误,直接从第一行数据和第二行数据中抽取有效数据;
情况2:第一行数据和第二行数据都发生了1位错误,采用行内ECC(扩展汉明码解码规则)对1位错误进行纠正;
情况3:第一行数据和第二行数据中的一个发生了1位错误,另一个发生了2位错误,第三行数据没有发生错误,首先采用行内ECC(扩展汉明码解码规则)对发生1位错误的行进行纠正,然后用第三行数据纠正发生2位错误的行;
情况4:第一行数据和第二行数据中的一个发生了1位错误,另一个没有错误,第三行数据发生了1位或2位错误,采用行内ECC(扩展汉明码解码规则)纠正第一行数据或第二行数据发生的1位错误;
情况5:第一行数据和第二行数据中的一个发生了错误,另一个没有发生错误,第三行数据没有发生错误,采用第三行数据纠正发生错误的行;
情况6:第一行数据和第二行数据中的一个发生了2位错误,另一个没有发生错误,第三行数据发生了1位错误,首先采用行内ECC(标准汉明码解码规则)纠正第三行数据,然后用第三行数据来纠正第一行数据或第二行数据。
图4例示了根据本发明的一个实施方案的处理器的框图。如图4所示,处理器包括编码器1和解码器3。编码器1用于对接收的x位信息数据进行编码,以生成经编码的数据。解码器3用于对接收的编码数据进行解码,并输出经纠错的x位信息数据。
编码器1包括:输入端口11,用于接收信息数据;编码单元12,编码单元12与输入端口11连接并对信息数据进行ECC编码以生成监督码;输出端口13,其与编码单元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位第三监督码进行标准汉明码编码以生成包含x/2位第三监督码和y/2-1位第四监督码的第三码字段。编码单元12将y/2-1位第四监督码、x/2位第三监督码、y/2位第二监督码、y/2位第一监督码、高x/2位信息数据和低x/2位信息数据依次从高位到低位排列作为编码数据输出。其中y取满足以下关系式的最小值:
2y/2-1≥x/2+y/2
解码器3包括:输入端口31,用于接收编码数据;解码单元32,其与输入端口31连接并对接收的编码数据进行ECC解码,以生成经纠正的有效信息数据;数据输出接口33,其与解码单元32连接用于输出有效信息数据。
解码单元33包括:第一扩展汉明码解码单元321,其与输入端口31的低x/2位以及第x位至第x+y/2-1位连接以接收包含第一数据段和第一监督码的第一码字段并且对该第一码字段解码以生成第一两位错误标志位err_2bit_row1、第一非两位错误标志位err_1or3_row1和经汉明解码的第一数据段data_row1;第二扩展汉明码解码单元322,其与输入端口31的第x/2位至第x-1位以及第x+y/2位至第x+y-1位连接以接收包含第二数据段和第二监督码的第二码字段并且对第二码字段解码以生成第二两位错误标志位err_2bit_row2、第二非两位错误标志位err_1or3_row2和经汉明解码的第二数据段data_row2;第三标准汉明码解码单元324,其与输入端口31的高x/2+y/2-1位连接以接收包含第三监督码和第四监督码的第三码字段,并且对该第三码字段解码以生成第三错误标志位err_row3和经汉明解码的第三监督码data_row3;数据处理单元323,其与第一扩展汉明码解码单元321连接以接收第一两位错误标志位err_2bit_row1、第一非两位错误标志位err_1or3_row1和经汉明解码的第一数据段data_row1,与第二扩展汉明码解码单元322连接以接收第二两位错误标志位err_2bit_row2、第二非两位错误标志位err_1or3_row2和经汉明解码的第二数据段data_row2,且与第三标准汉明码解码单元324连接以接收第三错误标志位err_row3和经汉明解码的第三监督码data_row3。
数据处理单元333被配置成:如果第二两位错误标志位err_2bit_row2、第二非两位错误标志位err_1or3_row2或第三错误标志位err_row3为1且第一两位错误标志位err_2bit_row1为0,则将经汉明解码的第一数据段data_row1作为x/2位正确的第一数据段输出,否则将经汉明解码的第三监督码data_row3与经汉明解码的第二数据段data_row2进行列奇偶校验以生成x/2位正确的第一数据段输出;如果第一两位错误标志位err_2bit_row1、第一非两位错误标志位err_1or3_row1或所述第三错误标志位err_row3为1且第二两位错误标志位err_2bit_row2为0,则将经汉明解码的第二数据段data_row2作为x/2位正确的第二数据段输出,否则将经汉明解码的第三监督码data_row3与经汉明解码的第一数据段data_row1进行列奇偶校验以生成x/2位正确的第二数据段输出。解码单元32将正确的第二数据段和正确的第一数据段依次由高到低排列,以输出经纠错的x位信息数据。
图5例示了图4的实施方案的一个实施例,尤其是数据处理单元323的一个实施例。如图5所示,数据处理单元323包括:第一异或门单元331,用于将经汉明解码的第三监督码data_row3与经汉明解码的第二数据段data_row2异或;第二异或门单元332,用于将经汉明解码的第三监督码data_row3与经汉明解码的第一数据段data_row1异或;第一或门单元335,用于对第二两位错误标志位err_2bit_row2、第二非两位错误标志位err_1or3_row2和第三错误标志位err_row3进行或运算;第二或门单元336,用于对第一两位错误标志位err_2bit_row1、第一非两位错误标志位err_1or3_row1和第三错误标志位err_row3进行或运算;第一与门单元337,用于对第一或门单元335的输出和第一两位错误标志位err_2bit_row1的逆进行与运算;第二与门单元338,用于对第二或门单元336的输出和第二两位错误标志位err_2bit_row2的逆进行与运算;第一选择单元333,第一选择单元333的1输入端接收经汉明解码的第一数据段data_row1,第一选择单元333的0输入端接收第一异或门单元331的输出,第一选择单元333的控制端接收第一与门单元337的输出;第二选择单元334,第二选择单元334的1输入端接收经汉明解码的第二数据段data_row2,第二选择单元334的0输入端接收第二异或门单元332的输出,第二选择单元334的控制端接收第二与门单元338的输出。在第一与门单元337的输出为1时第一选择单元333输出经汉明解码的第一数据段data_row1,否则输出第一异或门单元331的输出,并且第二选择单元334类似。应理解的是,图5仅例示了图4的实施方案的一个示例性实施例,图4的实施方案还可以通过其他合适的方式来实现。
此外,如图4和图5所示,编码器1生成的经编码的数据存储至处理器外部的存储单元2,而解码器3从处理器外部的存储单元2读取编码数据。在一些实施方案中,所述处理器可以是存储器控制器,例如DRAM控制器、FLASH控制器等;对应地,存储单元2可以是DRAM或NAND/NOR FLASH等。应理解的是,虽然图4和图5例示了编码器和解码器与处理器外部的存储单元2连接使用的实施方案,但是图4和图5中例示的编码器和解码器可以单独或者结合应用在其他应用场合。例如,在一些实施方案中,通过一个处理器中的编码器编码的数据被传输到其他处理器,以由该其他处理器中的解码器解码后用于进一步处理;或者,通过处理器中的编码器编码的数据被存储在该处理器本身包含的存储器中,该处理器中的解码器对从所述存储器接收的编码数据解码。
如本领域的技术人员将明了的,许多不同的执行所述方法的方式是可能的。例如,所述步骤的顺序可以变化或一些步骤可以并行执行。此外,在步骤之间可以插入其他方法步骤。所插入的步骤可以表示诸如在本文中所描述的所述方法的改进,或可以与所述方法无关。此外,在开始下一步骤之前,一个给定的步骤可能还未完全完成。
在一个或多个实施例中,系统和/或模块和/或单元和/或电路和/或框可以整体地或部分地以硬件和/或固件提供,包括但不限于:一个或多个专用集成电路(ASIC)、数字信号处理器、分立电路、逻辑门、标准集成电路、状态机、查找表、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等及其各种组合。特别地,在一个或多个实施例中,编码器、编码单元(诸如例如,扩展汉明码编码单元、标准汉明码编码单元、列位奇偶编码单元)、解码器、解码单元(诸如例如,扩展汉明码解码单元、标准汉明码解码单元)、数据处理单元、或门单元、与门单元、异或门单元、选择单元可以整体地或部分地被实施为所谓的专用集成电路(ASIC),即针对它们的特定用途所定制的集成电路(IC)。此外,在一个或多个实施例中,可以使用软件执行根据本发明的方法,该软件可能已经被下载和/或被存储在对应的存储器内,例如,易失性存储器(诸如,RAM)或非易失性存储器。替代地,设备可以整体地或部分地以可编程逻辑实施为例如现场可编程门阵列(FPGA)。例如,所述电路可以被实施在CMOS中,例如使用硬件描述语言(诸如Verilog、VHDL等)。
虽然在上文展示和描述了多种优选实施方案,但对本领域技术人员显而易见的是,可以在不背离所附权利要求书所定义的本发明范围的前提下做出修改和变化。
Claims (24)
1.一种用于检测和纠正三位错误的编码方法,其特征在于,该编码方法包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码。
2.根据权利要求1所述的编码方法,其特征在于,如果所述信息数据的长度为奇数,则将所述信息数据补一位0或者1使得其成为偶数。
3.根据权利要求1或2所述的编码方法,其特征在于,对所述第三监督码编码采用的汉明码是标准汉明码。
4.一种用于检测和纠正三位错误的解码方法,其特征在于,对根据权利要求1-3中任一项所述的编码方法产生的编码数据进行解码,该解码方法包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
5.根据权利要求4所述的解码方法,其特征在于,根据所述ECC检查的结果进行以下步骤:
-如果所述第一码字段和所述第二码字段都发生错误,则根据所述ECC检查的结果判断所述第一码字段和所述第二码字段是否都发生非两位错误,以确定是否利用所述第三码字段来纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生错误,则根据所述ECC检查的结果判断所述第三码字段是否发生错误,以确定是否利用所述第三码字段来纠错。
6.根据权利要求5所述的解码方法,其特征在于,在所述第一码字段和所述第二码字段都发生错误时,
-如果所述第一码字段和所述第二码字段都发生非两位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段和所述第二码字段中的错误;
-否则运用扩展汉明码解码规则纠正所述第一码字段和所述第二码字段中发生非两位错误的码字段,然后将所述第三监督码与纠正后的码字段的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
7.根据权利要求5所述的解码方法,其特征在于,在所述第一码字段和所述第二码字段中的仅一个发生错误时,
-如果所述第三码字段没有发生错误,则将所述第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误;
-否则根据所述ECC检查的结果判断所述第一码字段或所述第二码字段中发生的错误是否是两位错误,以确定是否利用所述第三码字段来纠错。
8.根据权利要求7所述的解码方法,其特征在于,在所述第三码字段发生错误时,
-如果所述第一码字段或所述第二码字段中发生的错误不是两位错误,则运用扩展汉明码解码规则纠正所述第一码字段或所述第二码字段中的错误;
-否则运用汉明码解码规则纠正所述第三码字段中的错误,然后将纠正后的第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
9.根据权利要求4-8中任一项所述的解码方法,其特征在于,对所述第三码字段进行ECC检查和/或解码采用的是标准汉明码解码规则。
10.一种用于检测和纠正三位错误的编码和解码方法,包括:
对接收的信息数据进行编码,以生成经编码的数据;
对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,对接收的信息数据进行编码包括:
-将接收的信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码;
并且其中对接收的编码数据进行解码包括:
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明码解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出有效信息数据。
11.根据权利要求10所述的编码和解码方法,其特征在于,根据权利要求2或3所述的编码方法对接收的信息数据进行编码,并且根据权利要求5-9中的任一项所述的解码方法对所述编码数据进行解码。
12.一种用于检测和纠正三位错误的编码器,其特征在于,所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述输入端口连接并对所述信息数据进行ECC编码以生成经编码的数据;
输出端口,其与所述编码单元连接以用于输出所述经编码的数据;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码。
13.根据权利要求12所述的编码器,其特征在于,所述编码单元被配置成如果所述信息数据的长度为奇数,则将所述信息数据补一位0或者1使得其成为偶数。
14.根据权利要求12或13所述的编码器,其特征在于,所述编码单元包括:
第一扩展汉明码编码单元,其与所述输入端口连接以接收所述第一数据段,并且对所述第一数据段进行扩展汉明码编码以生成包含所述第一数据段和所述第一监督码的第一码字段;
第二扩展汉明码编码单元,其与所述输入端口连接以接收所述第二数据段,并且对所述第二数据段进行扩展汉明码编码以生成包含所述第二数据段和所述第二监督码的第二码字段;
列位奇偶编码单元,其与所述输入端口连接以接收所述第一数据段和所述第二数据段,并且对所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
第三标准汉明码编码单元,其与所述列位奇偶编码单元连接以接收所述第三监督码并且对所述第三监督码进行标准汉明码编码以生成包含所述第三监督码和第四监督码的第三码字段。
15.一种用于检测和纠正三位错误的解码器,其特征在于,所述解码器用于对根据权利要求1-3中的任一项所述的编码方法产生的编码数据进行解码,所述解码器包括:
输入端口,用于接收编码数据;
解码单元,其与所述输入端口连接并对接收的编码数据进行ECC解码,以生成经纠正的有效信息数据;
输出端口,其与所述解码单元连接以用于输出所述有效信息数据;
其中所述解码单元被配置成
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
16.根据权利要求15所述的解码器,其特征在于,所述解码单元被配置成
-如果所述第一码字段和所述第二码字段都发生错误,则根据所述ECC检查的结果判断所述第一码字段和所述第二码字段是否都发生非两位错误,以确定是否利用所述第三码字段来纠错;
-如果所述第一码字段和所述第二码字段中的仅一个发生错误,则根据所述ECC检查的结果判断所述第三码字段是否发生错误,以确定是否利用所述第三码字段来纠错。
17.根据权利要求16所述的解码器,其特征在于,所述解码单元被配置成,在所述第一码字段和所述第二码字段都发生错误时,
-如果所述第一码字段和所述第二码字段都发生非两位错误,则运用扩展汉明码解码规则直接纠正所述第一码字段和所述第二码字段中的错误;
-否则运用扩展汉明码解码规则纠正所述第一码字段和所述第二码字段中发生非两位错误的码字段,然后将所述第三监督码与纠正后的码字段的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
18.根据权利要求16所述的解码器,其特征在于,所述解码单元被配置成,在所述第一码字段和所述第二码字段中的仅一个发生错误时,
-如果所述第三码字段没有发生错误,则将所述第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误;
-否则根据所述ECC检查的结果判断所述第一码字段或所述第二码字段中发生的错误是否是两位错误,以确定是否利用所述第三码字段来纠错。
19.根据权利要求18所述的解码器,其特征在于,所述解码单元被配置成,在所述第三码字段发生错误时,
-如果所述第一码字段或所述第二码字段中发生的错误不是两位错误,则运用扩展汉明码解码规则纠正所述第一码字段或所述第二码字段中的错误;
-否则运用汉明码解码规则纠正所述第三码字段中的错误,然后将纠正后的第三监督码与所述第一数据段和所述第二数据段中未发生错误的数据段逐位进行奇偶校验,以相应地纠正所述第一数据段或所述第二数据段中的错误。
20.根据权利要求15至19中的任一项所述的解码器,其特征在于,所述解码单元被配置成将所述输入端口的第一数据段输入位和第一监督码输入位组合成第一码字段的输入,将所述输入端口的第二数据段输入位和第二监督码输入位组合成第二码字段的输入,并且将所述输入端口的第三监督码输入位和第四监督码输入位作为第三码字段的输入,并且所述解码单元包括:
第一扩展汉明码解码单元,其与所述第一码字段的输入连接以接收所述第一码字段,并且对所述第一码字段解码以生成第一两位错误标志位、第一非两位错误标志位和经汉明解码的第一数据段;
第二扩展汉明码解码单元,其与所述第二码字段的输入连接以接收所述第二码字段,并且对所述第二码字段解码以生成第二两位错误标志位、第二非两位错误标志位和经汉明解码的第二数据段;
第三标准汉明码解码单元,其与所述第三码字段的输入连接以接收所述第三码字段,并且对所述第三码字段解码以生成第三错误标志位和经汉明解码的第三监督码;以及
数据处理单元,其与所述第一扩展汉明码解码单元连接以接收所述第一两位错误标志位、所述第一非两位错误标志位和所述经汉明解码的第一数据段,与所述第二扩展汉明码解码单元连接以接收所述第二两位错误标志位、所述第二非两位错误标志位和所述经汉明解码的第二数据段,且与所述第三标准汉明码解码单元连接以接收所述第三错误标志位和所述经汉明解码的第三监督码,并且所述数据处理单元被配置成根据所述第一两位错误标志位、所述第一非两位错误标志位、所述第二两位错误标志位、所述第二非两位错误标志位和所述第三错误标志位是否为1来纠正所述第一数据段和所述第二数据段中的错误;并且
所述解码单元被配置成将所述数据处理单元的第一数据段输出位和第二数据段输出位组合输出所述有效信息数据。
21.根据权利要求20所述的解码器,其特征在于,所述数据处理单元被配置成
-如果所述第二两位错误标志位、所述第二非两位错误标志位或所述第三错误标志位为1且所述第一两位错误标志位为0,则将所述经汉明解码的第一数据段输出到所述第一数据段输出位,否则将所述经汉明解码的第三监督码与所述经汉明解码的第二数据段逐位进行奇偶校验以生成正确的第一数据段输出到所述第一数据段输出位;
-如果所述第一两位错误标志位、所述第一非两位错误标志位或所述第三错误标志位为1且所述第二两位错误标志位为0,则将所述经汉明解码的第二数据段输出到所述第二数据段输出位,否则将所述经汉明解码的第三监督码与所述经汉明解码的第一数据段逐位进行奇偶校验以生成正确的第二数据段输出到所述第二数据段输出位。
22.一种能够检测和纠正三位错误的处理器,所述处理器包括:
编码器,用于对接收的信息数据进行编码,以生成经编码的数据;
解码器,用于对接收的编码数据进行解码,并输出解码得到的有效信息数据;
其特征在于,所述编码器包括:
输入端口,用于接收信息数据;
编码单元,其与所述编码器的输入端口连接并对所述信息数据进行ECC编码以生成经编码的数据;
输出端口,其与所述编码单元连接用于输出所述经编码的数据;
其中所述编码单元被配置成
-将所述信息数据均分成第一数据段和第二数据段;
-对所述第一数据段和所述第二数据段分别进行扩展汉明码编码,以相应地生成第一监督码和第二监督码;
-将所述第一数据段中的每一位与所述第二数据段中的对应位逐位进行奇偶校验编码,以生成第三监督码;以及
-对所述第三监督码进行汉明码编码,以生成第四监督码;
从而生成经编码的数据,所述经编码的数据包括所述信息数据、所述第一监督码、所述第二监督码、所述第三监督码和所述第四监督码;
并且其中所述解码器包括:
输入端口,用于接收编码数据;
解码单元,其与所述解码器的输入端口连接并对接收的编码数据进行ECC解码,以生成经纠正的有效信息数据;
输出端口,其与所述解码单元连接用于输出所述有效信息数据;
其中所述解码单元被配置成
-将接收的编码数据分成包含第一数据段和第一监督码的第一码字段、包含第二数据段和第二监督码的第二码字段以及包含第三监督码和第四监督码的第三码字段;
-运用扩展汉明码解码规则分别对所述第一码字段和所述第二码字段进行ECC检查并且运用汉明解码规则对所述第三码字段进行ECC检查,以确定是否需要利用所述第三码字段来对所述第一码字段和所述第二码字段进行纠错,并且
-如果所述第一码字段和所述第二码字段都没有发生错误,则不对所述第一码字段和所述第二码字段进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误不需要利用所述第三码字段来纠错,则运用扩展汉明码解码规则对所述第一码字段和/或所述第二码字段直接进行ECC纠错,
-如果所述第一码字段和所述第二码字段中发生的错误需要利用所述第三码字段来纠错,则利用所述第三码字段纠正所述第一码字段和/或所述第二码字段中的错误;以及
-从经纠正的编码数据中抽取出所述有效信息数据。
23.根据权利要求22所述的处理器,其特征在于,所述编码器是根据权利要求13-14中的任一项所述的编码器,并且所述解码器是根据权利要求16-21中的任一项所述的解码器。
24.根据权利要求22或23所述的处理器,其特征在于,所述处理器还包括存储单元,所述编码器生成的经编码的数据被存储至所述存储单元,并且所述解码器接收来自所述存储单元的编码数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756363.0A CN110489269B (zh) | 2019-08-16 | 2019-08-16 | 检测纠正三位错误的编码解码方法、编码解码器及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756363.0A CN110489269B (zh) | 2019-08-16 | 2019-08-16 | 检测纠正三位错误的编码解码方法、编码解码器及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489269A CN110489269A (zh) | 2019-11-22 |
CN110489269B true CN110489269B (zh) | 2023-08-15 |
Family
ID=68551278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910756363.0A Active CN110489269B (zh) | 2019-08-16 | 2019-08-16 | 检测纠正三位错误的编码解码方法、编码解码器及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489269B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022198429A1 (zh) * | 2021-03-23 | 2022-09-29 | 深圳市欢太科技有限公司 | 一种数据冗余备份方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647392A (zh) * | 2002-04-05 | 2005-07-27 | 皇家飞利浦电子股份有限公司 | 用于将附加纠错层嵌入到纠错码中的方法和设备 |
KR100766354B1 (ko) * | 2006-04-28 | 2007-10-15 | 후지쯔 가부시끼가이샤 | 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치 |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN108733504A (zh) * | 2018-05-04 | 2018-11-02 | 西安电子科技大学 | 一种四维奇偶校验码与汉明码相结合的存储器校验编码及检错纠错方法 |
CN109766213A (zh) * | 2018-12-28 | 2019-05-17 | 上海微阱电子科技有限公司 | 一种基于汉明码实现数据纠错的存储器电路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069395B2 (en) * | 2007-03-01 | 2011-11-29 | Cisco Technology, Inc. | Three bit error detection using ECC codes |
US8694872B2 (en) * | 2011-11-28 | 2014-04-08 | Texas Instruments Incorporated | Extended bidirectional hamming code for double-error correction and triple-error detection |
-
2019
- 2019-08-16 CN CN201910756363.0A patent/CN110489269B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647392A (zh) * | 2002-04-05 | 2005-07-27 | 皇家飞利浦电子股份有限公司 | 用于将附加纠错层嵌入到纠错码中的方法和设备 |
KR100766354B1 (ko) * | 2006-04-28 | 2007-10-15 | 후지쯔 가부시끼가이샤 | 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치 |
CN101064162A (zh) * | 2006-04-28 | 2007-10-31 | 富士通株式会社 | 纠错装置、编码器、解码器、方法以及信息存储装置 |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN108733504A (zh) * | 2018-05-04 | 2018-11-02 | 西安电子科技大学 | 一种四维奇偶校验码与汉明码相结合的存储器校验编码及检错纠错方法 |
CN109766213A (zh) * | 2018-12-28 | 2019-05-17 | 上海微阱电子科技有限公司 | 一种基于汉明码实现数据纠错的存储器电路 |
Non-Patent Citations (1)
Title |
---|
A Hamming code based technique to resolve the bit flip impact on compressed VLSI test data in IP core based SoC;Harikrishna Parmar et al;《IEEE》;20150820;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110489269A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100856129B1 (ko) | 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치 | |
JP4152887B2 (ja) | リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ | |
US20220245023A1 (en) | Detection and correction of data bit errors using error correction codes | |
US10200065B2 (en) | Apparatus and method for correcting at least one bit error within a coded bit sequence | |
US8694872B2 (en) | Extended bidirectional hamming code for double-error correction and triple-error detection | |
CN111628780B (zh) | 数据编码、解码方法及数据处理系统 | |
US20100299575A1 (en) | Method and system for detection and correction of phased-burst errors, erasures, symbol errors, and bit errors in a received symbol string | |
US9654147B2 (en) | Concatenated error correction device | |
US9203437B2 (en) | Circuitry and method for correcting 3-bit errors containing adjacent 2-bit error | |
CN111597072B (zh) | 差错控制编码ecc系统及包括ecc系统的存储器设备 | |
CN1146116C (zh) | 截短法尔码的差错捕获译码方法和装置 | |
CN110492889B (zh) | 检测纠正两位错误的编码解码方法、编码解码器及处理器 | |
US8694850B1 (en) | Fast erasure decoding for product code columns | |
CN110489269B (zh) | 检测纠正三位错误的编码解码方法、编码解码器及处理器 | |
US7093183B2 (en) | Symbol level error correction codes which protect against memory chip and bus line failures | |
US11050440B2 (en) | Encoder, decoder, encoding method and decoding method based on low-density parity-check code | |
US6961891B2 (en) | High-efficiency error detection and/or correction code | |
US10860415B2 (en) | Memory architecture including response manager for error correction circuit | |
US20120079343A1 (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 | |
CN116527062A (zh) | 一种验证rs编解码电路功能的测试装置和方法 | |
US9350390B2 (en) | Encoder, decoder and semiconductor device including the same | |
CN115408198A (zh) | 数据纠错方法、装置、设备及存储介质 | |
TWI544325B (zh) | 以再編碼方案用於糾錯碼解碼的提前終止方法 | |
CN110289863B (zh) | 译码设备、方法及信号传输系统 | |
US20160043741A1 (en) | Coding method and device |
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 |