CN104464820A - 电路装置和用于实现用于交叉校验码的校验位压缩的方法 - Google Patents
电路装置和用于实现用于交叉校验码的校验位压缩的方法 Download PDFInfo
- Publication number
- CN104464820A CN104464820A CN201410488393.5A CN201410488393A CN104464820A CN 104464820 A CN104464820 A CN 104464820A CN 201410488393 A CN201410488393 A CN 201410488393A CN 104464820 A CN104464820 A CN 104464820A
- Authority
- CN
- China
- Prior art keywords
- intermediate value
- bit
- data bit
- circleplus
- check bit
- 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
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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种电路装置和用于实现用于交叉校验码的校验位压缩的方法。本发明提出一种用于确定用于k个数据位u1,...,uk的m个校验位c1,...,cm的电路装置(1)。其中,电路装置(1)包括第一子电路(19)和第二子电路(110)。第一子电路(19)具有k个用于输入k个数据位u=u1,...,uk的二进制输入端和M个用于输出M个由数据位确定的二进制中间值z1,...,zM的二进制输出端。第二子电路(110)构成为用于将中间值z1,...,zM转换为校验位c1,...,cm。
Description
技术领域
本申请涉及错误识别,特别是半导体存储器中的错误识别,并且特别是涉及一种电路装置和用于实现用于交叉校验码的校验位压缩的方法。
背景技术
在现有技术中已知的是,例如通过汉明码校正在确定长度n的二进制序列中任意的1位错误。这例如在Lin,S.and Costello,D.,,Error Control Logic“,Prentice Hall出版社,1983,79-81页中描述。
如果应该除了1位错误的校正之外也识别2位错误,那么人们能够使用所谓的Hsiao码,参见例如Lin,S.and Costello,D.,,Error Control Coding“,Prentice Hall出版社,1983,499-502页。
对于汉明码校验位的数量m大约等于m≈log2(k),如果k是数据位的数量,从而n=k+m。已知地错误校正如此实现,即由可能干扰的数据位和校验位首先确定m个组成的错误校验子。随后解码器给m个组成的错误校验子配置相应于错误校验子的待校正的位。
在Hsiao码的情况下同样通过形成错误校验子和解码器实现错误校正。校验位的数量比对于汉明码的情况下校验位的数量大1位。如果校验子具有奇数个1,那么校正1位错误;如果校验子具有偶数个1,那么校正2位错误。
通过汉明码和Hsiao码的错误校正对于特定的应用太缓慢。
例如1位错误的快速校正允许交错校验码(参见例如:Pflanz,M.,Walther,K.,Galke,C.and Vierhaus,H.,,,On-line Error Detection and Correction in Storage Elements with Cross-Parity Check“,Proc.8-th IOLTW,2002,69-73页und Rubinoff, M.,,,N-dimensional Codes for Detecting and Correcting Multiple Errors′“,Comm of the ACM,1961,545-551页)。在该码中,k个数据位设置在一个矩形或方形数组中,部分地也在一个多维数组中。出于更简单的描述我们采用:数据理论上设置在由行和列组成的矩形或方形二维数组中。那么每个数据位正好在一行而且正好在一列中。作为校验位那么能够例如应用行校验和列校验。如果k是一个平方数,例如64=82,那么能够采用行校验和列校验,从而在此需要个校验位。
如果此外作为附加的校验位采用总校验,那么产生个校验位。对于64个数据位那么需要17个校验位。
相比于在具有64个数据位的汉明码中需要的7个校验位该数量很大。错误校正然而在交叉校验码中部分地极大地快于汉明码。
在存储器中或在总线上1位错误的校正那么通过校正1位错误的码实现。这根据现有技术也就是通常地如果仅仅需要1位错误的校正那么通过汉明码,或者如果除了1位错误校正之外2位错误识别也必要那么通过Hsiao码。如果k是数据位的数量,那么对于该码需要大约log(k)个校验位。对于汉明码和Hsiao码校验位的数量是最优的。
通过校验子形成和解码器实现的解码在不同应用中由于通过码预定的电路深度在时间上太长。
备选地能够如所述那样通过交叉校验码实施1位错误的校正和2位错误的识别。数据位在此理论上作为(大多)方形数组设置,而校验位是数组的行校验和列校验(并且如果必要也有对角校验)。
校验位的数量在此未大约这特别是对于更大的k比log(k)更大。如此对于具有64数据位的交错校验码(具有包括的总校验)17个校验位是必要的,而Hsiao码仅仅需要8个校验位。
通过交错校验码的错误校正然而更快于通过汉明码或Hsiao码。
错误校正特别是对时间要求高的,因为数据仅仅在校正之后才能够进一步处理。
为了能够遵循需要的时间周期,在一些电路中例如在确定的对时间要求高的位置应用交错校验码,代替首先预定的Hsiao码。
如果对于通过汉明码错误的校正需要的时间也仅仅略微太长,以便能够在实际周期中执行,如此可能的是,代替汉明码应用交错校验码,该交错校验码能够在实际周期中执行需要的错误校正。
然而在此不利的是,校验位的数量跳跃性地上升,即使仅仅能够需要用于错误校正的时间的略微缩短。如此必须例如在64数据位的情况下代替用于汉明码的7个校验位而应用用于交错校验码的17个校验位,即使可能仅仅需要用于错误校正的时间的小的缩短。
至今仅仅具有的可能在于,在汉明码或Hsiao码与交错校验码之间选择。
如果人们那么由于需要的周期必要地决定交错校验码,那么校验位的数量并由此硬件成本跳跃地上升。如果Hsiao码需要用于解码的时间上的成本,那么这也是这样的情况,该时间上的成本仅仅几乎在必要的周期之上。
值得期望的是,确定这样的码,能够将该码匹配于在解码时需要的周期,并且该码在此具有尽可能小数量的校验位。
发明内容
本发明的任务在于,提供用于错误识别的改善的方案。
提出根据权利要求1的电路装置、根据权利要求26的解码器、根据权利要求33的方法,根据权利要求34的方法、根据权利要求36的计算机程序以及根据权利要求37的电路装置。
提出一种用于确定用于k个数据位u1,...,uk的m个校验位c1,...,cm的电路装置。该电路装置包括:第一子电路,具有k个用于输入k个数据位u=u1,...,uk的二进制输入端和M个用于输出M个由数据位确定的二进制中间值z1,...,zM的二进制输出端;以及第二子电路,用于将中间值z1,...,zM转换为校验位c1,...,cm,具有m<M。第一子电路构成为,由数据位如此确定中间值,使得对于每个待校正的数据位uj产生可逆清楚确定的中间值对其中,如果数据位{u1,...,uk}中仅仅一个数据 位改变到其否定值,那么对的变化到显示第j个数据位uj改变为其中第二子电路如此构成,使得该第二子电路将中间值如此转变为校验位,使得配置给由数据位确定的中间值的校验位与配置给由以待校正的数据位的各一个位转化的数据位确定的中间值的校验位成对地不同,其中m<M和M<k适用。
例如能够在特定实施例中,中间值和/或由中间值通过第二子电路确定的校验位分别是校正至少1位错误的码的校验位。
此外提出一种用于根据m个校验位c1,...,cm确定待校正的数据位的子数量的解码器,其中m个校验位c1,...,cm通过用于确定用于k个数据位u1,...,uk的检测位c1,...,cm的电路装置确定。解码器包括第三子电路、第四子电路和第五子电路。第三子电路SSyndrom构成为用于形成校正的校验位c1,...,cm与可能错误的校验位c′1,...,c′m的差的子数量,其中该差由可能错误的数据位u′1,...,u′k和可能错误的校验位c′1,...,c′m确定。第四子电路Decomp构成为用于形成无错误的中间值z1,...,zM和可能错误的中间值z′1,...,z′M的差的子数量,其中该差Δz1,...ΔzM由中间值的差Δc1,...,Δcm确定。第五子电路Korr构成为用于确定校正的数据位在此在第五子电路中存在至少三个二进制输入端用于输入可能错误的数据位u′j并且用于输入中间值的两个差以及二进制输出端用于输出校正的数据位其中 属于第一组中间值而属于第二组中间值,从而如果uj变化到并且不再出现错误;变化到并且变化到那么是这样的;并且如此设计第五子电路Korr,使得该第五子电路当时输出
此外提出一种系统。该系统包括上述的用于确定用于k个数据位的m个校验位c1,...,cm的电路装置以及上述的用于确定待校正的数据位的子数量的解码器。
此外提供一种用于确定m个用于k个数据位u1,...,uk的校验位的方法。该方法包括:
·由k个数据位确定M个中间值,从而对于每个待校正的数据位uj具有可逆清楚确定的中间值对以及
·将中间值z1,...,zM转换为校验位c1,...,cm。
如果数据位{u1,...,uk}中仅仅一个数据位改变到其否定值,那么对的变化到显示第j个数据位uj改变为其中,中间值如此转换为校验位,使得配置给由数据位u1,...,ui,...,uk确定的中间值的校验位与配置给由以待校正的数据位的各一个位转化的数据位确定的中间值的校验位成对地不同,其中m<M和M<k适用。
此外提供一种用于根据m个校验位c1,...,cm确定待校正的数据位的子数量的方法,其中用于确定待校正的数据位的子数量的方法包括:
·形成校正的校验位c1,...,cm与可能错误的校验位c′1,...,c′m的差 的子数量,其中该差由可能错误的数据位u′1,...,u′k和可能错误的校验位c′1,...,c′m确定。
·形成无错误的中间值z1,...,zM和可能错误的中间值z′1,...,z′M的差 的子数量,其中该差Δz1,...ΔzM由中间值的差Δc1,...,Δcm确定;以及
·根据可能错误的数据位u′j并且中间值的两个差确定校正的数据位其中属于第一组中间值而属于第二组中间值,从而如果uj变化到并且不再出现错误;变化到并且变化到那么是这样的;并且其中当时
此外提供一种计算机程序,具有用于实施上述方法的程序代码。
各实施形式克服或否定已知解决方案的缺点并且实现了,将码的校验位的数量尽可能最优地匹配于解码需要的速度。
在此人们在一个实施形式中将例如具有个k数据位u1,...,uk的第一码C1的M个校验位转换或压缩为具有相同数据位的由第一码导出的第二码C2的m个校验位c1,...,cm。为了阐明由第一码的校验位导出第二码的校验位,将第一码的M个校验位称为中间值z1,...,zM。
如果不仅C1而且由此导出的码C2是校正至少1位错误的码,那么例如中间值z1,...,zM的变化和校验位c1,...,cm的变化清楚地相应于在一个数据位中的1位错误。中间值z1,...,zM如所述转换为校验位c1,...,cm, 其中按照一个实施形式的转换如此实现,使得中间值z1,...,zM的通过1位错误引起的变化可逆清楚地相应于校验位c1,...,cm的变化。该特征特别是在解码和错误校正中是有利的。
那么在解码中能够首先由校验位c1,...,cm的本变化确定中间值的相应的变化,并且随后由中间值的变化实现相应于第一码C1的简单的校正电路。M>m。根据中间值压缩为校验位的程度,也就是说根据在M与m之间实现的区别或多或少程度地减小从M到m需要的校验位的数量。更强的压缩在此需要用于压缩和解码并且特别是用于错误校正的更大的需要的时间。如此可能的是,将需要的成本相互匹配于校验位和用于错误校正需要的速度,这是有利的。
第一码C1在此能够是交错校验码,在此例如行校验和列校验用作中间值z1,...,zM。特别是对于在数据位中的1位能够对于交错校验码给出简单和快速的解码器和错误校正器。
在交错校验码的情况下是设置为数组的数据位的行校验和列校验的中间值被转换或压缩为按照一个实施形式应用的码的校验位。
在数据位中的1位错误那么反映到校验位c1,...,cm的变化中,由该变化清楚地确定中间值的变化,也就是行校验和列校验的变化,例如行校验的位的变化和列校验的位的变化。由中间值的位的变化那么以简单的方式在此通过相应的行校验和列校验的与连接确定如在交错校验码的情况下对于错误的数据位的校正值。
不必要的是,第一码是交错校验码。在其他实施形式中第一码不是交错校验码而是另一码,例如拉丁方代码(参见[6]),例如正交的拉丁方代码(参见[6])。
按照各实施形式第一码具有第一组中间值和第二组中间值,其中中间值由数据位如此确定,使得给数据位中的1位错误配置可逆清楚确定的中间值对,其中第一中间值属于第一组中间值,而第二中间值属于第二组中间值。如果例如相应的数据位错误的变化,那么配置给该数据位的中间值的值变化。
在各实施形式中,交错校验码的校验位在编码中被压缩并且在 解码和错误校正时被解压缩,从而相比于交错校验码必须存储少量的校验位。
压缩的程度一方面确定需要多少校验位,而另一方面确定解码需要多少时间。更强的压缩相应于更长的校正时间。
特别有利的是,各实施形式允许(逐级地)在Hsiao码与交错校验码之间缩放,并且确定这样的码,所述码以尽可能少量的校验位满足用于错误校正的需要的时间标准。由此能够将需要的硬件成本匹配于需要的时限。
原则上2位校正码匹配于周期的需要的实现也是可能的。
各实施形式基于一个原理,该原理在此对于数据位中的1位错误进行描述。进一步地在下面示出2位错误校正和2位和3位错误的识别的描述。
一般地将交错校验码的校验位视为中间值,由所述中间值通过压缩形成搜索的码的校验位。由此能够减小必须存储的校验位的数量。
简单的相对小的压缩在此允许简单的解压缩,该解压缩能够快速地实现。更复杂的更大程度上的压缩一般需要用于解压缩的更多时间。根据用于解码的存在的时间能够在一定边界中将压缩的程度并由此存储校验位的成本匹配于时间条件。
为了压缩将相应的交错校验码的校验位如此分为组,从而数据位中的每个1位错误正好改变在交错校验码的两组校验位中的1位。这样的组的校验位例如是考虑的数据数组的行校验和列校验。(出于更简单的描述的原因在此作为交错校验码的校验位的组仅仅考虑行校验和列校验的组,即使校验位的其他组也是可能的。)。行校验和列校验是中间值,所述中间值压缩到搜索的码的校验位中。由此相对于交错校验码减小了需要的校验位的数量。
压缩如此实现,即相应于数据位中的1位错误的行校验变化反映配置的校验位的可逆清楚的变化,从而又清楚地由校验位的变化确定行校验的变化。列校验以相同的方式处理。在此线性也或非线性地 实现压缩。在将校验位压缩为中间值之后,该中间值是交错校验码的校验位,如在交错校验码中的校正是非常简单的。
该方法描述用于1位错误的校正、1位错误的校正和2位错误的识别、2位错误的校正、2位错误的校正和3位错误的识别。
为了尽可能简单和明确地形成该描述在此假定,仅仅在有用数据位的范围中发生1位错误。
对于一个简单的实施例,压缩用于16个有用数据位的交错校验码的校验位。理论上将这16个有用数据位分为具有4行和4列的矩阵。
这些行和列中的每个通过校验保护,该校验在下文中是中间值。行的校验以pi表示,而列的校验以qj表示,其中1≤i,j≤4。用于计算校验的等式是:
p1=u01+u02+u03+u04
p2=u05+u06+u07+u08
p3=u09+u10+u11+u12
p4=u13+u14+u15+u16
q1=u01+u05+u09+u13
q2=u02+u06+u10+u14
q3=u03+u07+u11+u15
q4=u04+u08+u12+u16
应该注意的是,加法是二进制中的加法,也就是模2加法。
由这些等式可看出的是,每个有用数据位流入到正好一个行校验和列校验的计算中。如果因此例如出现在有用数据位中的一个位中 的错误,例如us,那么等式的结果仅仅从p2到q1。该错误那么能够在解码中借助于行校验和列校验定位并且简单地通过与门校正。
为了压缩总地来说形成两个组G1和G2,并且校验在下文中称为中间值分为这些组。给组G1配置行中间值pi,而给组G2配置列中间值qj,其中1≤i,j≤4
G1=[p1,p2,p3,p4}
G2=[q1,q2,q3,q4}
作为最后的步骤,将组G1和G2的中间值p1、p2、p3、p4、q1、q2、q3和q4转换为应用的码的校验位c1,1、c2,1、c3,1、c1,2、c2,2和c3,2。在两组中在此将4个中间值压缩为各3个校验位。该压缩如此实施,使得各以一个位转化的中间值的配置给中间值z1,j,z2,j,z3,j,z4,j——其中zi,j∈Gj,1≤i≤4,j∈{1,2}——的校验位c1,j、c2,j、c3,j成对地相互不同。
作为用于计算这六个校验位的等式能够使用以下等式
c1,1=p1+p4
c2,1=p2+p4
c3,1=p3+p4
对于c1,1将中间值p1和p4相加。此外对于c2,1将中间值p2和p4相加,而对于c3,1将中间值p3和p4相加。与之类似地,压缩第二组G2的中间值
c1,2=q1+q4
c2,2=q2+q4
C3,2=q3+q4
用于压缩中间值的各个等式也能够理解为以Hsiao码的校验矩阵H的形式的压缩矩阵。
一般地在该例子中适用的是,将z4,j分别加到z1,j,z2,jund z3,j,其 中zi,j∈Gj,1≤i≤4,j∈{1,2}。以下列表表示中间值与各个校验位的对应。在此总是适用的是
z1,jz2,jz3,jz4,j→c1,jc2,jc3,j
这些对应是:
对于这些对应可见的是,配置给中间值和以一个位转化的中间值的校验位相互成对地不同。例如将中间值0000转换为000,而将0001转换为111,0010为001,0100为010,以及1000为100。
该变型的另一优点位于在解码器中。对于1位错误校正不必要的是,如在正常的Hsiao码中那样,对于单个数据位的校正必须考虑完全的校验子。而是可能的是,仅仅利用该校验子的部分,如在交叉校验码中通常的那样。
在解码中现在能够如此进行,即首先将位c1,1、c2,1、c3,1、c1,2、c2,2、c3,2的变化解压缩为校验的变化Δp1、…、Δp4;Δq1、…、Δq4。对于校验子的解压缩能够应用以下等式
对于单个数据位的校正能够将行和列的校验子组成——其中数据位逻辑地存在——通过与门连接,并且具有读取的数据位的结果与异或门连接。这对于位u2的校正在图8中示出。
用于校正数据位的等式因此如下:
这种类型的校验位的减小能够对于用于1位错误校正和2位错误识别的交叉校验码以及对于用于2位错误校正和3位错误识别的交叉校验码实施。
另外的实施形式产生在从属权利要求中。
附图说明
现在参照附图描述各实施形式。
其中:
图1示出了按照一个实施形式的电路装置;
图2示出了按照一个实施形式用于形成中间值和校验位的电路装置;
图3a示出了按照一个实施形式具有叠加的组的中间值的电路装置;
图3b示出了按照一个实施形式具有不相交的组的中间值的电 路装置;
图4示出了按照一个实施形式具有17个有用数据位和7个校验位的电路装置;
图5示出了按照一个实施形式用于形成具有16个有用数据位的第一子电路SZw的实现;
图6示出了按照一个实施形式用于校正数据位的解码器;
图7示出了按照一个实施形式的系统,包括电路装置和用于确定待校正的数据位的子数量的解码器;以及
图8示出了与门和异或门,其中为了校正单个数据位行和列的校验子组成——其中逻辑地存在数据位——通过与门连接并且具有读取的数据位的结果与异或门连接。
具体实施方式
图1示出了按照一个实施形式的用于确定用于k个数据位u1,...,uk的m个校验位c1,...,cm的电路装置1。
电路装置1包括第一子电路19,具有k个二进制输入端用于输出k个数据位u=u1,...,uk,以及M个二进制输出端用于输出M个由数据位确定的二进制中间值z1,...,zM。
此外电路装置1包括第二子电路110,用于将中间值z1,...,zM转换为校验位c1,...,cm,其中m<M。
第一子电路19构成为,由数据位如此确定中间值,使得对于每个待校正的数据位uj产生可逆清楚确定的中间值对,其中,如果数据位{u1,...,uk}中仅仅一个数据位改变到其否定值,那么对的变化 到显示第j个数据位uj改变为
第二子电路110如此构成,使得该第二子电路将中间值如此转变为校验位,使得配置给由数据位u1,...,ui,...,uk确定的中间值z1(u1,...,ui,...,uk),...,zM(u1,...,ui,...,uk)的校验位与配置给由以待校正的数据位的各一个位转化的数据位确定的中间值的校验位成对地不同,其中m<M和M<k适用。
在下文中首先提供几个基础,所述基础对于实施形式中的至少一些是重要的。
错误,也就是例如二级制序列中的错误的位能够使用识别错误和校正错误的码进行识别和校正。已知的是例如汉明码和Hsiao码的应用。
使用码C能够将数据位u=u1,...,uk编码到码字v=v1,...,vn中。数据位的二进制序列u能够在此理解为k组成的数据向量而数据字v也理解为n组成的码向量。对于线性码,将数据向量u=u1,...,uk编码到相应的码向量v=v1,...,vn中能够使用具有k行和n列的发生矩阵G也就是以(k,n)-矩阵G如此实现,即确定:
v=u·G (1)。
在此u和v是行向量。向量能够不仅作为行向量而且作为列向量作为已知的示出。如果一个矩阵从左边与一个向量相乘,那么该向量是行向量,而乘积的结果同样是行向量。如果一个矩阵从右边与一个向量相乘,那么该向量是列向量,而乘积的结果同样是列向量。那么由该关系清楚的是,是否能够将向量视为行向量或者列向量。
特别是应该指出,向量w作为列向量示出,那么应该将其以wT表示。
错误校正和错误识别能够使用H矩阵H实现,该矩阵是具有m=n-k的(m,n)矩阵。
如果码向量v=v1,...,vn根据等式(1)由数据向量u=u1,...,uk确定并且该向量的位例如通过阿尔法射线干扰为错误的向量v′=v1′,...,vn′,那么能够将错误校验子s=s1,...,sm确定为:
s=H·v′ (2)。
H矩阵H在此如此确定,使得对于码字v适用的是
0=H·v. (3)。
如果v′和v的区别是错误向量e=e1,...,en,从而适用的是:
e=e1,...,en=v1+v1′,...,vn+vn′ (4),那么
s=H·e. (5)。
如果C是校正1位错误的码,那么给每个1位错误也就是n个错误向量[1,0,...,0]、…、[0,...,0,1]中的每个配置不同的错误校验子s1,s2,...,sn。
那么解码器能够给错误校验子s1,s2,...,sn中的每个配置相应的位,使得能够校正或转化。
如果C是校正2位错误的码,那么给每个1位错误和每个2位错误配置不同的错误校验子。
如果码C是汉明码,那么H矩阵的所有列成对地不同。如果例如n=7,那么H矩阵能够具有以下形式:
H矩阵具有7列,它们都成对地不同。第一的三个列形成三维单元矩阵I3。以下四个列形成(3,4)矩阵
所属的G矩阵G是:
其中,第一的三个列形成矩阵P4,3而以下四个列形成四维单元矩阵I4。在此是矩阵P4,3的转置矩阵。
对于考虑的汉明码,给七个1位错误中的每个、亦即也就是给七个错误向量[1,0,0,0,0,0,0],[0,1,0,0,0,0,0],[0,0,1,0,0,0,0],[0,0,0,1,0,0,0],[0,0,0,0,1,0,0],[0,0,0,0,0,1,0],[0,0,0.0,0,0,1]中的每个配置自身的错误校验子[1,0,0]T,[0,1,0]T,[0,0,1]T,[1,1,0]T,[1,0,1]T,[0,1,1]T,[1,1,1]T。由校验子随后通过解码器确定待校正的位。
如果例如错误校验子等于[1,0,0]T,那么能够校正如果错误校验子等于[1,1,1]T,那么能够校正
如果码C是Hsiao码,那么H矩阵的所有列成对地不同,并且H矩阵的每个列具有奇数个1。如果n=8,那么Hsiao码的H矩阵能够具有以下形式:
第一的四个列形成4维单元矩阵I4并且以下列形成矩阵
如果现在出现2位错误,那么具有两个1的错误向量相应于该错误。配置的错误校验子产生作为H矩阵的第二列的组成方式的(异或)和。因为每个列具有奇数个1,所以两个列的和就偶数个1,并且2位错误的错误校验子由此可与1位错误的所有错误校验子不同,因为这些错误校验子具有奇数个1。
如果C是交叉校验码,那么能够将数据位理论上设置为矩形数组。如果数据位的数量k是平方数,例如k=16=42,那么能够形成由四行和四列组成的4×4数组,如在(9)中所述,
在此但是不必要的是,数据位在此是位u1,...,u16以特定的方式如在(9)中所示地设置。
数据位作为4×4数组的另一种可能的设置在(10)中阐明,该设置由通过数据位的更换的设置(9)得知。
人们由设置(9)获得设置(10),其方法是人们根据排列π更换或排列数据位的标志,其中:
如果存在8个数据位u1,...,u8,那么能够形成3×3的数组,如这在(12)中所示。
在此能够将常数0添加为元素u9,或者也能够不添加元素,其中那么数组中相应的位置简单地未占用。
在(12)中数据位u1,u2,u3形成第一行,数据位u4,u5,u6形成第二行,而数据位u7,u8,0或u7,u8形成数组的第三行。
另一中可能是将数据位u1,...,u8设置为3×3数组,在(13)中示出:
在(13)中,数据位u1,u2,u3形成第一行,数据位u7,u8形成第二行,而数据位u6,u5,u4形成数组的第三行。相应地第一列由u1,u6组成,第二列由u2,u7,u5组成,而第三列由u3,u8,u4组成。
对于12个数据位u1,...,u12在(14)中示出了作为矩形的4×3数组的可能的设置,
在交叉校验码的应用中能够作为校验位形成行校验和列校验。
对于在(9)中示出的数组,行校验p1,p2,p2,p4能够以
p1=u1+u2+u3+u4
p2=u5+u6+u7+u8
p3=u9+u10+u11+u12
p4=u13+u14+u15+u16
形成;而列校验q1,q2,q3,q4能够以
q1=u1+u5+u9+u13
q2=u2+u6+u10+u14
q3=u3+u7+u11+u15
q4=u4+u8+u12+u16
形成。
此外能够形成总校验P=u1+u2+...+u16。
对于在(10)中示出的数组行校验p1,p2,p3,p4等于:
p1=u1+u11+u10+u6
p2=u16+u3+u2+u12
p3=u13+u4+u9+u5
p4=u7+u15+u8+u14
而列校验q1,q2,q3,q4等于:
q1=u1+u16+u13+u7
q2=u11+u3+u4+u15
q3=u10+u2+u9+u8
q4=u6+u12+u5+u14.
对于设置(10)的行校验和列校验人们从根据(9)的行校验和列校验获得,其方法是人们简单地应用排列π。
人们能够将行校验p1,p2,p3,p4视为第一组G1={p1,p2,p3,p4}校验位,而将列校验视为第二组G2={q1,q2,q3,q4}校验位。
也可能的是,对于交叉校验码形成另外的校验位或校验位的组,例如通过形成所谓的对角校验,如这在各实施例中并且例如也在Rubinoff,M.,,,N-dimensional Codes for Detecting and Correcting Multiple Errors“,Com.of the ACM,1961,545-551页中描述。
数据位的变化对第一组校验位的校验位的变化的作用,也就是 在此对行校验的变化的作用并且对第二组校验位的变化的作用也就是在此对列校验的变化的作用现在应该描述。在此应该考虑,数据位ui被干扰为错误的数据位作为例子应该考虑数据位u6到的变化,如果数据位根据(9)理论上设置。
因为 适用,如果u6变化为那么p2变化为因为行校验p1,p3,p4不依赖于u6,所以如果u6变化为错误的数据位那么该行校验也不变化。
因为 适用,所以如果u6变化为 那么q2变化为因为列校验q1,q3,q4不依赖于u6,所以如果u6变化为错误的数据位那么该列校验也不变化。
如果数据位u6变化到那么正好变化1位,在此是第一组G1={p1,p2,p3,p4}的位p2,并且正好是一位,在此是第二组G2={q1,q2,q3,q4}的位q2。完全类似地人们能够对于每个数据位u1,...,u16检查,即在考虑的数据位ui到的变化中,正好组G1的一位和正好组G2的一位变化,并且对对于i=1,...,16可逆清楚地配置给变化的数据位ui。
作为另外的例子,如果数据位根据(10)理论上设置,那么应该考虑数据位u6到的变化。
因为在此 适用,所以如果u6变化到那么p1变化到。因为 适用,如果u6变化到那么变化q4到另外的行校验或列校验不变化。
如果数据位u6变化到那么正好变化一位,在此是第一组G1={p1,p2,p3,p4}的位p1,并且正好是一位,在此是第二组G2={q1,q2,q3,q4}的位q4。完全类似地人们能够对于每个数据位u1,...,u16检查,即在考虑的数据位ui到的变化中,正好组G1的一位和正好组G2的一位变化,并且对对于i=1,...,16可逆清楚地配置给变化的数据位ui。
对于两个根据(9)和(10)所述的设置适用的是,如对于每个交叉校验码,具有两组G1和G2的位,从而如果正好一位变化,也就是的正好G1的一位和G2的正好一位变化,那么是这样的。G1和G2的变化的位的对也清楚地确定变化的数据位。
由此错误变化的数据位的简单校正是可能的。具有来自G1的第一位和具有来自G2的第二位的每个位对的变化的与连接等于配置的数据位的校正值。
如果以Δui表示ui的校正信号,以Δpj表示pj的变化,以Δqk表示qk的变化,那么在设置(9)中变化为
对于设置(10)相应地适用的是:
图2示出了按照一个实施形式的电路装置2。通过电路装置2由k个数据位u1,...,uk=u确定m个校验位c1,...,cm=c。电路装置2包括用于形成M个二进制中间值z1,...,zM的第一子电路SZw19,其具有k个二进制输入端,数据位u1,...,uk位于在其上。第一子电路SZw19具有M个二进制输出端,在其上输出中间值z1,...,zM,并且该输出端与第二子电路Tr110的相应输入端连接。第二子电路Tr110称为转换电路。该转换电路将中间值z1,...,zM转换为m个校验位c1,...,cm并且将所述校验位在其m个输出端上输出。在此适用m<M。
由第一子电路SZw19输出的中间值z1,...,zM形成第一组G1的M1个中间值它们在输出端11、12、13、14、15输出,并且形成第二组G2的M2个中间值它们在输出端14、15、16、17输出。在该实施例中设定,在输出端14上输出的中间值不仅属于组G1而且属于组G2。作为组G1的元素将该中间值称为z1,s,而作为组G2的元素该中间值称为z2,1,从而z1,s=z2,1适用。
此外在该实施例中设定,在输出端15上输出的中间值不仅属于组G1而且属于组G2。作为组G1的元素将该中间值称为而作为组G2的元素该中间值称为z2,t,从而适用。
中间值的组G1和G2具有不同的中间值。如此在输出端11、12、13输出的中间值仅仅属于组G1,而在输出端16和17输出的 中间值仅仅属于组G2。在其他实施例中,组G1和G2不具有共同的元素。在图2的实施例中示出这样的情况,即具有至少一个既不属于组G1也不属于组G2的中间值。如此在输出端18输出的中间值zM既不属于组G1也不属于组G2。
在其他实施例中可能的是,每个中间值属于中间值的一个组。
第一子电路SZw19如此设置,使得给每个输入到第一子电路SZw19中的数据位uj,j=1,...,k可逆清楚地配置一个中间值对其中第一中间值属于组G1,而第二中间值属于组G2,具有以下特征:
如果是由数据位(u1,...,uj-1,uj,uj+1,...,uk)确定的属于第一组G1的中间值并且是由数据位(u1,...,uj-1,uj,uj+1....,uk)确定的属于第二组G2的中间值那么,如果数据位uj变化到否定的数据位并且如果没有另外的数据位变化,那么不仅变化为否定值而且变化为否定值从而适用的是:
除此之外也适用的是:如果不仅变化为否定值而且变化为否定值并且仅仅一个数据位变化,那么该数据位uj变化。
在图2中在输入端118输入数据位uj。示出的是,中间值和 所属的对在第一子电路SZw19的输出端13和16输出。如果现在uj变化到那么不仅变化到而且变化到在图2中分别在原始值之后的括号中描述了改变的值。数据位uj与中间值对和 的对应以及中间值对与数据位uj的对应通过两个箭头阐明。
如已经所述的那样,给数据位中u1,...,uk的每个可逆清楚地配置 相应的中间值的对,如这在图2中仅仅对于输入值uj所阐明的那样。
第二子电路Tr110实现了将中间值z1,...,zM转换为校验位c1,...,cm,该校验位在第二子电路Tr的m个二进制输出端输出。
在图2中示出的实施例中,将属于组G1的中间值通过第二子电路Tr110转换为校验位其中h1<M1适用,并且其中校验位不依赖于另外的中间值。
转换电路Tr110如此设置,使得通过数据位u1,...,ui,...,uk确定的中间值z1,1(u1,...,ui,...,uk),...,z1,i(u1,...,ui...,uk),...,和通过以各一个位转化的数据位确定的中间值
在成对不同的序列中由m个校验位转换。
在确定的实施形式中可能的是,校验位等于中间值
图3a示出了按照一个实施形式的电路装置3的另一实施例。电路装置3包括用于形成M个二进制中间值的第一子电路SZw29,其具有k个二进制输入端,数据位u1,...,uk位于在其上。电路SZw29具有M个二进制输出端,在其上输出中间值z1,...,zM,并且该输出端与转换电路Tr210的相应输入端连接。该转换电路将中间值z1,...,zM转换为m个校验位c1,...,cm并且将所述校验位在其m个输出端上输出。在此适用m<M。
由第一子电路SZw29输出的中间值z1,...,zM形成第一组G1的M1个中间值它们在输出端21、22、23、24、25输出,并且形成第二组G2的M2个中间值它们在输出端24、25、26、27输出。在该实施例中设定,在输出端24上输出的中间值不仅属于组G1而且属于组G2。作为组G1的元素将该中间值称为z1,s,而作为组G2的元素该中间值称为z2,1,从而z1,s=z2,1适用。
此外在该实施例中设定,在输出端25上输出的中间值不仅属于组G1而且属于组G2。作为组G1的元素将该中间值称为而作为组G2的元素该中间值称为z2,t,从而适用。
中间值的组G1和G2具有不同的中间值。如此在输出端21、22、23输出的中间值仅仅属于组G1,而在输出端26和27输出的中间值仅仅属于组G2。
在图3a的实施例中示出这样的情况,即具有至少一个既不属于组G1也不属于组G2的中间值。如此在输出端28输出的中间值zM既不属于组G1也不属于组G2。
在其他实施例中可能的是,每个中间值属于中间值的一个组。
第一子电路SZw29如此设置,使得给每个输入到第一子电路SZw29中的数据位uj,j=1,...,k可逆清楚地配置一个中间值对其中第一中间值属于组G1,而第二中间值属于组G2,具有已经在图2的实施例中所述的特征。
在图3a中在输入端218输入数据位uj。示出的是,中间值和 所属的对在第一子电路SZw29的输出端23和26输出。如果现在uj变化到那么不仅变化到而且变化到在图3a中如在图2中那样分别在原始值之后的括号中描述了改变的值。数据位uj与中间值对和的对应以及中间值对与数据位uj的对应通过两个箭头阐明。
如已经所述的那样,给数据位中u1,...,uk的每个可逆清楚地配置相应的中间值的对,如这在图3a中仅仅对于输入值uj所阐明的那样。
第二子电路Tr210实现了将中间值z1,...,zM转换为校验位c1,...,cm,该校验位在第二子电路Tr的m个二进制输出端输出。
在图3a中示出的实施例中,将属于组G1的中间值通过 第二子电路Tr210转换为校验位其中h1<M1适用,并且其中校验位不依赖于另外的中间值。将属于组G2的中间值通过第二子电路Tr210转换为校验位 其中h2<M2适用,并且其中校验位 不依赖于另外的中间值。
转换电路Tr210如此设置,使得对于q=1,2,通过数据位u1,...,ui,...,uk确定的中间值
和通过以各一个位转化的数据位确定的中间值
在成对不同的序列中由m个校验位转换。
图3b示出了按照一个实施形式的电路装置4的另一实施例。电路装置4包括用于形成M个二进制中间值的第一子电路SZw39,其具有k个二进制输入端316至319,数据位u1,...,uk位于在其上。电路SZw29具有M个二进制输出端31至37,在其上输出中间值z1,...,zM,并且该输出端与转换电路Tr310的相应输入端连接。该转换电路Tr310将中间值z1,...,zM转换为m个校验位c1,...,cm并且将所述校验位在其m个输出端上输出。在此适用m<M。
由第一子电路SZw39输出的中间值z1,...,zM形成第一组G1的M1个中间值它们在输出端31、32、33、34输出,并且形成第二组G2的M2个中间值它们在输出端35、36、37输出。在该实施例中设定,每个中间值或者属于组G1或者属于组G2。
在该考虑的实施例中,中间值的组G1和G2不具有共同的中间值,并且每个中间值或者属于组G1或者组G2。
第一子电路SZw39如此设置,使得给每个输入到第一子电路SZw39中的数据位uj,j=1,...,k可逆清楚地配置一个中间值对其中第一中间值属于组G1,而第二中间值属于组G2,具有已经在图2的实施例中所述的特征。
在图3b中在输入端318输入数据位uj。示出的是,中间值和 所属的对在第一子电路SZw39的输出端33和36输出。如果现在uj变化到那么不仅变化到而且变化到在图3b中如在图2和在图3a中那样分别在原始值之后的括号中描述了改变的值。数据位uj与中间值对和的对应以及中间值对与数据位uj的对应通过两个箭头阐明。
如已经所述的那样,给数据位中u1,...,uk的每个可逆清楚地配置相应的中间值的对,如这在图3b中仅仅对于输入值uj所阐明的那样。
第二子电路Tr310实现了将中间值z1,...,zM转换为校验位c1,...,cm,该校验位在第二子电路Tr310的个二进制输出端311至315输出。
在图3b中示出的实施例中,将属于组G1的中间值 通过第二子电路Tr310转换为校验位 该校验位在输出端311至313输出,其中h1<M1适用。
将属于组G2的中间值通过第二子电路Tr310转换为校验位该校验位在输出端314至315输出,其中h2<M2适用。
在下文中阐明具有16数据位u1,u2,...,u16的实施例。
图4示出了按照具有16数据位u1,...,u16的实施例的电路装置5。
第一子电路SZw41具有16个二进制输入端——在其上输入数据位u1,...,u16——以及8个二进制输出端431-438——在其上输出二进 制中间值z1,...,z8——,以及另一二进制输出端439,在其上输出总校验位P。
8个中间值z1=p1,z2=p2,z3=p3,z4=p4,z5=q1,z6=q2,z6=q3,z8=q4通过第一子电路SZw由数据位根据以下关系确定:
以及
中间值p1,...,p4相应于行校验,而中间值q1,...,q4相应于具有16数据位的交叉校验码的列校验。
组G1由中间值p1,p2,p3,p4组成,而组G2由中间值q1,q2,q3,q4组成。
如果数据位ui的值改变为否定值,而所有其余数据位保持不变,那么正好一个中间值对变化,其中,一个中间值、在此是来自G1的中间值和中间值、在此是来自G2的中间值例如,如果u2变化为并且如果没有另一数据位变化,那么中间值p1∈G1变为而中间值q2∈G2变为
第二输入端以u2和标记。该输入端以双箭头不仅与第一子电路SZw41的输出端431而且与输出端436连接,其中该输出端以和 标记,用以说明从u2到的变化导致从p1到以及从q2到的变化。
值u16到的变化导致中间值p4到的变化和中间值q4到的变化。该以u16和标记的第六个输入端以分别一个双箭头与以p4和标记的输出端434和与以q4和标记的输出端438连接。这说明从u16 到的变化导致从p4到和从q4到的变化。
除此之外双箭头说明:由从p1到和q2到的变化得出,如果仅仅唯一一个数据位变化,那么u2变化为
同样双箭头说明:由从p4到和q4到的变化得出,如果没有另外的数据位变化,那么u16变化为
第一子电路SZw,41具有另一输出端439,该输出端引导校验 引导输入信号的校验的输出端能够在应用情况下是有利的。
在所述实施例中,将组G1的中间值p1,p2,p3,p4通过第二子电路Tr42根据以下关系转换为校验位c1,c2,c3,
(c1,c2,c3)=A1·(p1,p2,p3,p4) (23)
而将组G2的中间值q1,q2,q3,q4通过第二子电路Tr42根据以下关系转换为校验位c4,c5,c6,
(c4,c5,c6)=A2·(q1,q2,q3,q4) (24)
其中适用的是:
如果例如数据位u2错误地变化为而所有其他数据位不变,那么根据等式(15)中间值p1变化为而中间值q2根据等式(20)变化为在此p1属于组G1,而q2属于组G2。
根据等式(23)、(24)和(25)那么校验位c1,c2,c3变为而校验位c4,c5,c6变为
如果例如数据位u16错误地变为那么根据等式(18)中间值p4变为而中间值q4根据等式(22)变为中间值p4属于组G1,而中间值q4属于组G2。
根据等式(23)、(24)和(25)那么校验位c1,c2,c3变为而校验位c4,c5,c6变为
如果人们考虑以相同方式数据位ui所有可能的变为其中 i∈{1,...,16},那么配置给中间值的这些变化的校验位c1,...,c6的变化都成对地不同。
人们认识到,具有16个数据位u1,...,u16的交叉校验码的8个校验位p1,p2,p3,p4,q1,q2,q3和q4作为中间值按照一个实施形式转换为6个校验位c1,...,c6,从而校验位的数量变小。
按照在(23)和(24)中给出的关系对于校验位产生以下等式
关系26至31通过图4的第二子电路Tr42实现。
第二子电路Tr42的9个输入端与第一子电路SZw41的相应的输出端431至439连接。第二子电路Tr42的输入端以与第一子电路SZw41的输出端相同的号码表示。
第二子电路Tr42为了形成在其输出端441-446的校验位连接相应的输入端与异或门。
根据等式(26)适用的是,引导中间值z1=p1的输入端431和引导中间值z4=p4的输入端434引导到异或门421的第一输入端和第二输入端;在其输出端441根据等式(26)输出校验位的值。
根据等式(30),引导中间值z6=q2的输入端436与异或门425的第一输入端连接,该异或门的第二输入端与输入端438连接,该输入端承载值z8=q4,并且该异或门在其输出端445输出值c5。如果在字中存在P,其被输出到第一子电路SZw41的输出端439,那么P由第二子电路Tr42不变地输出到输出端447。
数据位u=u1,...,u16和校验位c=c1,...,c6能够在地址a存储在一个存 储器中。如果在一些时间之后在地址a由存储器读取数据位u′=u′1,...,u′16和校验位c′=c′1,...,c′6,那么能够基于例如通过射线产生的错误区分u和u′以及c和c′。
为了错误校正,在此为了1位错误的错误校正,能够以以下方式确定校验位的变化Δci,i=1,...,6。
数据位中的1位错误如此作用,使得正好中间值pi∈{p1,p2,p3,p4}=G1中之一和中间值qj∈{q1q2,q3,q4}=G2中之一变化。
根据关系(26)至(28),中间值p1到的一个变化Δp1=1相应于校验位c1,c2,c3到c′1,c′2,c′3的变化Δc1=1,Δc2=0,Δc3=0,其中c′2=c2以及c′3=c3,从而仅仅c1变为为了阐明该变化,将值在z1=p1之后执行到输入端431。相应地在输出端441、442、443上除了值c1,c2,c3之外也描绘了值(c2),(c3)。
根据关系(26)至(28),与之相对地中间值p4到的一个变化Δp4=1相应于校验位c1,c2,c3到c′1,c′2,c′3的变化Δc1=1,Δc2=1,Δc3=1,其中 以及
中间值p2到的一个变化Δp2=1相应于校验位c1,c2,c3到c′1,c′2,c′3的变化Δc1=0,Δc2=1,Δc3=0,其中c′1=c1,以及c′3=c3。
中间值p3到的一个变化Δp3=1相应于校验位c1,c2,c3到c′1,c′2,c′3的变化Δc1=0,Δc2=0,Δc3=1,其中c′1=c1,c′2=c2以及
相应地根据关系(29)至(31)适用的是:中间值q1到的一个变化Δq1=1相应于校验位c4,c5,c6到c′4,c′5,c′6的变化Δc4=1,Δc5=0,Δc6=0,其中c′5=c5以及c′6=c6。中间值q2到的一个变化Δq2=1相应于校验位c4,c5,c6到c′4,c′5,c′6的变化Δc4=0,Δc5=1,Δc6=0,其中c′4=c4, 以及c′6=c6。中间值q3到的一个变化Δq3=1相应于校验位c4,c5,c6到c′4,c′5,c′6的变化Δc4=0,Δc5=0,Δc6=1,其中c′4=c4,c′5=c5以及中间值q4到的一个变化Δq4=1相应于校验位c4,c5,c6到c′4,c′5,c′6的变化Δc4=1,Δc5=1,Δc6=1,其中以及
表格1总结了用于Δc1,Δc2,Δc3和Δp1,Δp2,Δp3,Δp4的描述。
表格1:
Δc1 | Δc2 | Δc3 | Δp1 | Δp2 | Δp3 | Δp4 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
给中间值p1,p2,p3,p4之一的变化可逆清楚地配置校验位c1,c2,c3的变化,如此如在表格1中所示。
表格2示出了用于Δc4,Δc5,Δc6和Δq1,Δq2,Δq3,Δq4的相应的关系。
表格2:
Δc4 | Δc5 | Δc6 | Δq1 | Δq2 | Δq3 | Δq4 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
给中间值q1,q2,q3,q4的变化可逆清楚地配置校验位c4,c5,c6的变化,如这在表格2中所示。
由校验位的变化能够通过以下关系确定中间值的变化。
以及
根据中间值中的变化现在能够定位和校正数据位中的可能的1位错误。如果例如Δp2和Δq4等于1,那么涉及在第二行和第四列中的错误,由此在u8。
用于读取的数据位u′8的校正等式由Δp2和Δq4的与连接组成。
类似于u8地确定用于剩余数据位的校正等式。
如果来自第一组G1={p1,p2,p3,p4}的中间值和来自第二组G2={q1,q2,q3,q4}的中间值已经变化,那么实现数据位的校正。
所有对的中间值变化的与连接——其中第一中间值来自G1而第二中间值来自G2——以及具有相应的数据位的与连接的输出端的随后的异或连接对于本领域内技术人员而言没有引起困难。
图5示出了图4的第一子电路SZw41的可能的实现。为了形成中间值z1=p1,...,z8=q4异或连接相应的数据位。
对于i=1,3,5,7,9,11,13,15,第一子电路SZw41的承载信号ui的输入端与异或门51i的第一输入端连接,其第二输入端与电路输入端连接,其引导信号ui+1。
异或门的输出端51j与异或门的第一输入端51(j+1)连接,其第二输入端与异或门的输出端51j+2连接,其中j∈{1,5,9,13}。
异或门的输出端512引导中间值z1=p1。
异或门的输出端516引导中间值z2=p2。
异或门的输出端5110引导中间值z3=p3。
异或门的输出端5114引导中间值z4=p4。
对于k∈{1,2,3,4,9,10,11,12}异或门的第一输入端52k与第一子电路SZw41的电路输入端连接,该电路输入端引导输入信号uk;而异或门的第二输入端与SZw41的电路输入端连接,该电路输入端引导输入信号uk+4。
对于l∈{1,2,3,4}异或门的输出端52l与异或门的第一输入端52(l+4)连接,该异或门的第二输入端与异或门的输出端52(l+8)连接。
异或门的输出端525引导中间值z5=q1。
异或门的输出端526引导中间值z6=q2。
异或门的输出端527引导中间值z7=q3。
异或门的输出端528引导中间值z8=q4。
为了区分校验位中的1位错误与2位错误,在未压缩的交叉校验码中大多还形成在所有数据位上的校验P。如果任意数据位ui变化,那么总校验P也变化。如果涉及一个错误的校验位,那么没有实现变化。借助于该总校验因此能够区分数据位中的1位错误与数据位和校验位中的2位错误。
对于用于校正行校验和列校验的等式,直接应用转换的校验位的变化。如果例如仅仅值c2变化,那么也仅仅变化Δc2等于1。因为仅仅当涉及变化的数据位时ΔP是1,所以能够为了校正c2使用以下等式:
对于总校验P的校正能够借助于,在仅仅P的变化的情况下也仅仅产生其变为1。对于校正因此能够使用以下等式:
由此P的校正电路局域最长的路径。一种缩短该路径的可能是其两次计算,即一次通过读取的行校验位而一次通过读取的列校验位。
这是可能的,因为:
对于数据位的校正等式这不具有另外的作用。如果行校验位或列校验位的值变化,那么随着相应的行变化或列变化相应的行总校验变化ΔP1或列总校验变化ΔP2发生变化。对于c2因此能够现在使用以下校正等式。
对于c4的校正能够作为列校验使用以下等式:
对于所有其他行校验位和列校验位类似地确定等式。
在P中的1位错误的情况下,确定ΔP1和ΔP2到1的变化。该组合在没有其他1位错误的情况下出现。因此能够为了P的校正使用以下 等式:
现在提出用于1位错误和2位错误的可能的识别的等式。首先能够确定,如果在读取或接收的字的位中的两个值相对于原来的码字变化,那么变化中至少之一等于1。
原则上存在3种可能,如何将2位错误的单个组成分布到考虑的数组。两个错误位于在行中,两个错误位于在列中或者两个错误位于在不同的行和列中。在此不重要的是,是否涉及数据位或校验位的错误。两个总校验变化ΔP1和ΔP2给出关于是否在最后行或列中存在干扰的回复。
如果因此两个错误在相同的行中,那么在行中没有变化等于1,但是列中的两个变化等于1。类似地对于列中的两个错误适用的是,在行中的仅仅两个变化等于1。如果两个错误位于在不同行和列中,那么分别两个变化在行和列中等于1。因此总是至少一个变化等于1。
为了限制分离1位错误与2位错误,能够利用在(42)中给出的关系。由该关系得知,在码字的所有位上的和必须是偶数,那么适用的是:
应该看到,如果在位之一中出现1位错误,那么这些和产生1并且在2位错误的情况下又产生0。作为用于识别1位错误的等式因此能够使用:
能够用于2位错误识别的是:
图6示出用于根据校验位c1,…,cm确定待校正的数据位的子数量,其中通过按照上述权利要求之一用于确定用于k个数据位u1,…,uk的校验位c1,…,cm的电路装置形成m个校验位c1,…,cm。
解码器包括:
第三子电路Ssyndrom 61,用于形成校正的校验位c1,…,cm与可能错误 的校验位c′1,…,c′m的差的子数量,其中该差由可能错误的数据位u′1,…,u′k和可能错误的校验位c′1,…,c′m确定;
第四子电路Decomp 62,用于形成无错误的中间值z1,…,zM和可能错误的中间值z′1,…,z′M的差的子数量,其中该差Δz1,…ΔzM由中间值的差Δc1,…,Δcm确定;以及
第五子电路Korr 63,用于确定校正的数据位具有至少三个二进制输入端用于输入可能错误的数据位u′j并且用于输入中间值的两个差以及二进制输出端用于输出校正的数据位其中 属于第一组中间值而属于第二组中间值,从而如果uj变化到并且不再出现错误;变化到并且变化到那么是这样的;并且如此设计第五子电路Korr,使得该第五子电路当时输出
特别是图6示出用于解码器的一个实施例,该解码器由三个子电路Syndrom 6.1、Decomp 6.2和Korr 6.3构成。
位于在子电路Syndrom 6.1的m+k个输入端上的是可能错误的k个数据位的值u′1,…,u′k以及可能错误的m个校验位的值c′1,…,c′m,所述这些值例如由存储器读取。
子电路Syndrom 6.1给其m个输出端输出校验位 的变化。
子电路Decomp 6.2由校验位的变化Δc1,…,Δcm形成中间值的变化
如果正好一个数据位例如uj干扰为而所有其余数据位和校验位是无错误的,那么中间值的两个变化和等于1,而中间值的所有其余变化等于0。属于第一组中间值而属于第二组中间值。
校正器Korr 6.3形成校正的位。
在图6中示出该情况,即校正数据位而不校正校验位。也可能的是,仅仅校正1个数据位数据位或数据位和校验位的子数量。
子电路Korr6.3在图6中具有M+k个输入端,用于输入中间值Δz1,...,ΔzM与待校正的数据位u′1...,u′k的差。该子电路还具有k个输出端用于输出数据位的k个校正值。在此如此设计子电路Korr6.3,使得,如果并且输出的中间值的所有其他差等于零,那么 适用。
在另一实施例中应该考虑36个有用数据位u1,...,u36,这些有用数据位理论上以6×6数组设置并且对于12个中间值z1,...,z12确定。
中间值z1=p1,...,z6=p6形成为由36个有用数据位组成的6×6数组的行校验p1,...,p6,而中间值z7=q1,...,z12=q6形成为列校验q1,...,q6。所述中间值能够在该实施例中也称为行校验和列校验。适用的是:
中间值z1=p1,...,z12=q6形成两组G1和G2中间值。
G1={z1=p1,z2=p2,z3=p3,z4=p4,z5=p5,z6=p6},
G2={z7=q1,z8=q2,z9=q3,z10=q4,z11=q5,z12=q6}.
组G1和G2在此如此形成,使得,如果没有另外的数据位变化,数据位ui到的变化导致来自G1的正好一个中间值的变化并且导致来自G2的中间值的变化。同样适用的是:如果来自G1的正好一个中间值变化并且同时来自G2的正好一个中间值变化,那么正好一个数据位变化。
如果总校验存在,那么G3={P}在该实施例中形成自身的组。
可能的是,按照一个实施形式将12个中间值z1,...,z12压缩为8个校验位。
为此6个第一中间值z1,...,z6根据关系:
(c1,c2,c3,c4)=A·(z1,z2,z3,z4,z5,z6) (57)
而6个第二中间值z7,...,z12根据关系:
(c5,c6,c7,c8)=A·(z7,z8,z9,z10,z11,z12) (58)
以
转换为校验位c1,...,c8。
明确地适用的是:
如果形成总校验P,那么该总校验在该实施例中不被转换。
使用异或门关系(45)至(56)以及(60)至(67)的实现对于本领域内技术人员而言没有问题,从而不再进一步讨论。
矩阵A,其确定如何将中间值转换为校验位,具有以下特征:
1.矩阵A的所有列成对地不同。
2.矩阵A的所有列具有奇数个1。
这正好是Hsiao码的矩阵的特征。
对于c2和c3在转换中需要2个异或门级。如果更快的编码被要求并且允许更多校验位,那么能够将该码根据这些要求匹配。
12个中间值z1,...,z12到10个校验位c1,...,c10的转换现在能够以矩阵A′实现,
从而适用的是:
(c1,c2,c3,c4,c5)=A′·(z1,z2,z3,z4,z5,z6)
和
(c6,c7,c8,c9,c10)=A′·(z7,z8,z9,z10,z11,z12)
对于c1,...,c5那么适用的是:
c4=p4,
c5=p5
而对于c6,...,c10适用的是:
c9=q4,
c10=q5.
矩阵A′的所有列成对地不同并且A′的每个列具有奇数个1,从而A′又是Hsiao码的H矩阵。
由所述等式可以导出,相对于具有(59)的转换能够节省一个门级,其中需要一个附加的校验位。第二转换的实现因此具有相比于第一转换的实现更小的延迟。
在另一实施例中现在应该考虑9个数据位u1,...,u9。这9个数据位u1,...,u9理论上设置为3×3数组。
现在首先总共7个中间值形成。
中间值z1=p1,z2=p2,z3=p3现在根据关系:
(c1,c2)=A″·(p1,p2,p3) (69)
而中间值z4=q1,z5=q2,z6=q3根据关系
(c3,c4)=A″·(q1,q2,q3) (70)
以
转换,从而适用的是:
矩阵A″的所有列成对地不同并且A″是汉明码的H矩阵。
为了错误校正首先确定变化Δc1,Δc2,Δc3,Δc4,ΔP,其中u′1,...,u′9,c′1,...,c′4,P′是由存储器读取的可能错误的值。适用的是:
中间值的变化Δz1=Δp1,Δz2=Δp2,Δz3=Δp3,Δz4=Δq1,Δz5=Δq2,Δz6=Δq3,Δz7=ΔP是:
Δz7=ΔP.
并且数据位u′1,u′9的校正实现所述关系:
错误识别能够由此实现,其方法是人们实施等式:
一个电路输出在有用数据中1位错误的错误识别,其实现:
在另一应用例子中现在应该考虑14个数据位u1,...,u14。
9个中间值z1,...,z9根据关系:
确定。对于总校验P适用的是:
。中间值z1,z2,...,z9现在分为两组。
G1={z1,z3,z5,z7},
G2={z2,z4,z6,z8,z9}.
如果u1变为那么来自G1的z1变为而来自G2的z2变为
如果u1变为那么来自G1的z1变为而来自G2的z8变为
对于所有其余的数据位uj,j=3,...,14,人们类似地示出,在uj变为时来自G1的第一中间值和来自G2的第二中间值变化。
现在将两组中间值分别分为3和4个校验位。在此适用以下关系:
(c1,c2,c3)=A1·(z1,z3,z5,z7), (74)
(c4,c5,c6,c7)=A′2·(z2,z4,z6,z8,z9). (75)
作为矩阵A1和A′2应用:
由关系(74)和(75)确定等式:
c7=z8
在下文中考虑具有36个数据位u1,...,u36的一个实施例,所述数据位理论上考虑为设置为6×6矩阵。那么12个中间值z1,...,z12和总校验P能够以以下方式形成:
中间值z1=p1,...,z6=p6也能够称为行校验。
中间值z7=q1,...,z12=q6也能够称为列校验。
现在可能的是,根据以下关系形成另外的中间值z13=d1,...,z19=d7。
中间值z13=d1,...,z19=d7能够称为对角校验。
清楚地能够分别将行校验p1,...,p6添加到36个有用数据位的数组6×6的6行上。同样能够将6个列校验q1,...,q6添加到数组6×6的6列上。此外能够右下区域中添加总校验P,从而现在形成由数据位u1,...,u36和行校验和列校验p1,...,p6,q1,...,q6以及总校验P组成的7×7数组。
中间值z13=d1,...,z19=d7那么相应于对角校验,如其在论文E.J.Wieder,,N-dimensional Codes for Detecting Four Errors and Correcting Three“,Master Thesis,Moore School of Electrical Engineering,Philadelphia,1961,Chapter V 2-3页中所述。
借助于附加的对角能够清楚地定位2位错误。如果例如2位错误的两个错误组成位于在相同的行中,那么在仅仅考虑行校验和列校验的情况下可以考虑两列中的两个变化,但是在行中没有变化。由此两列——错误必须位于在其中——虽然是可定位的,但是行是不能定位的。借助于对角还添加第三维,借助于该第三维又能够定位两个错误的位。
可能的是,例如将7个中间值z13=d1,...,z19=d7根据以下关系转换为4个校验位c1,c2,c3,c4,
并且让其他中间值z1,...,z12不变。
同样可能的是,仅仅转换中间值z1,...,z6和z7,...,z12,而不转换中间值z13,...,z19和总校验P。
图7示出一个系统,包括根据上述实施形式的电路装置710和根据上述实施形式之一用于确定待校正数据位的子数量的解码器 720。电路装置710基于接收的数据位产生校验位。如果需要校正,那么解码器720基于接收的输入数据位和接收的校验位产生校正的数据位。
为了空间和/或时间上的传输和通道模型特别是参见[7]。
在一个特别的实施例中考虑用于16个有用数据位u1,...,u16的交叉校验码,其数据位理论上以4×4数组设置。
电路装置710对于该特别的实施例通过至少16个用于16个有用数据位u1,...,u16的输入端和至少6个用于由数据位计算的6个校验位c1,...,c6的输出端。6个校验位能够根据编码等式(15)至(22)以及(26)至(31)确定。
解码器720具有作为输入端的至少16个用于16个接收的可能错误的有用数据位u′1,...,u′16的输入端和6个用于6个接收的可能错误的校验位c′1,c′2,...,c′6的输入端。在解码器720中计算的变化Δc1,...,Δc6能够通过以下等式确定:
。
数据位的部分数量、所有数据位或所有数据位和校验位的另外的校正能够如在其他所述实施例中那样阐述地实现。
虽然结合装置描述了一些方面,清楚的是,这些方面也是相应方法的描述,从而也能够将装置的一个模块或元件理解为相应方法步骤或方法步骤的特征。与之类似地,结合一个或作为一个方法步骤所述的方面也是相应模块的描述或相应装置的特征的细节。一些或所有 方法步骤能够通过硬件设备(或使用硬件设备)例如微处理器、可编程计算机或电子电路实施。在一些实施例中能够通过这样的设备执行一些或更多重要的方法步骤。
根据确定的实现要求能够以硬件或软件方式实现本发明的实施例。该实现能够使用数字存储介质例如软盘、DVD、蓝光盘、CD、ROM。PROM、EPROM、EEPROM或闪存、硬盘或其他磁或光存储器实施,在其上存储电子可读的控制信号,所述控制信号能够与可编程计算机系统如此相互作用或相互作用,使得实施相应的方法。因此数字存储介质能够是计算机可读的。
按照本发明的一些实施例也包括数据载体,其具有电子可读的控制信号,该控制信号能够与可编程计算机系统如此系那个号作用,使得其中所述方法中之一被实施。
一般地本发明的实施例能够实现为具有程序代码的计算机程序产品,其中该程序代码如下有效,即如果计算机程序产品在计算机上运行,那么实施所述方法之一。
程序代码能够例如也存储在机器可读的载体上。
其他实施例包括用于实施其中所述方法之一的计算机程序,其中该计算机程序在机器可读的载体上存储。换言之,按照本发明的方法的一个实施例由此是计算机程序,该计算机程序包括计算机代码,用于当所述计算机程序在计算机上运行时实施其中所述方法之一。
按照本发明的方法的另一实施例由此是数据载体(或者数字存储介质或计算机可读介质),在其上记录用于实施其中所述方法之一的计算机程序。
按照本发明方法的另一实施例由此是数据流或信号序列,其实现用于实施其中所述方法之一的计算机程序。数据流或信号序列能够如下设置,使得通过数据通信连接例如通过因特网将其传送。
另一实施例包括处理装置,例如计算机或可编程逻辑元件,其如下设置或匹配,使得实施其中所述方法之一。
另一实施例包括计算机,在其上安装用于实施其中所述方法之 一的计算机程序。
按照本发明的另一实施例包括装置或系统,其设计为,将用于实施其中所述方法之一的计算机程序传输到接收器。该传输能够例如通过电子方式或光学方式实现。接收器能够是例如计算机、移动装置、存储装置或类似的装置。该装置或系统能够包括例如用于传输计算机程序到接收器的文件服务器。
在一些实施例中能够将可编程逻辑元件(例如现场可编程门阵列FPGA)用于实施其中所述方法的一些或所有功能。在一些实施例中可编程门阵列能够与微处理器相互作用,以便实施其中所述方法之一。一般地在一些实施例中将方法在任意硬件装置那边实施。这能够是通用硬件,例如计算机处理器(CPU)或对于该方法特定的硬件,例如专用集成电路。
上述实施例仅仅是本发明原理的阐述。清楚的是,其中所述装置和单元的改型和变型对于其他技术人员而言是清楚明白的。因此有意的是,本发明仅仅通过下面权利要求的保护范围而不通过根据实施例的描述和阐明在此提出的特定细节限定。
参考文献
[1]Lin,S.and Costello,D.,,Error Control Logic“,Prentice Hall,1983,79-81页
[2]Lin,S.and Costello,D.,,Error Control Coding“,Prentice Hall,1983,499-502页
[3]Pflanz,M.,Walther,K.,Galke,C.and Vierhaus,H.,,,On-line Error Detection and Correction in Storage Elements with Cross-Parity Check“,Proc.8-th IOLTW,2002,69-73页
[4]Rubinoff,M.,,,N-dimensional Codes for Detecting and Correcting Multiple Errors′“,Comm of the ACM,1961,545-551页
[5]E.J.Wieder,,N-dimensional Codes for Detecting Four Errors and Correcting Three“,Master Thesis,Moore School of Electrical Engineering,Philadelphia,1961,Chapter V,2-3页
[6]M.J.Hsiao,D.C.Bossen,R.T.Chien,,Orthogonal Latin Square Code“,IBM Journal of Research and Development,Volume 14,Issue 4,Juli 1970
[7]Joachim Swoboda,″Codierung zur Fehlerkorrektur und Fehlererkennung″,R.Oldenbourg Verlag München,1973,ISBN3-486-39371-5,12-15页
Claims (37)
1.用于确定用于k个数据位u1,...,uk的m个校验位c1,...,cm的电路装置(1;2;3;4;5),其中所述电路装置(1;2;3;4;5)包括:
第一子电路(19;29;39;41),具有k个用于输入所述k个数据位(u=u1,...,uk)的二进制输入端和M个用于输出M个根据所述数据位确定的二进制中间值(z1=z1(u1,...,uk),...,zM=zM(u1,...,uk))的二进制输出端;以及
第二子电路(110;210;310;42),用于将所述中间值(z1,...,zM)转换为所述校验位c1,...,cm,其中m<M和M<k,
其中所述第一子电路(19;29;39;41)被构造为,根据所述数据位如此确定所述中间值,以使得为每个待校正的数据位uj产生可逆的清楚确定的中间值对
其中,如果所述数据位{u1,...,uk}中仅仅有一个数据位改变到其否定值,那么所述对的变化(到)显示第j个数据位uj改变为
其中所述第二子电路(110;210;310;42)被如此构造,以使得所述第二子电路将所述中间值如此转变为所述校验位,从而配置给根据所述数据位u1,...,uk确定的中间值的校验位与配置给根据待校正的数据位的相应的一个位中的转化的数据位确定的中间值的校验位成对地不同,其中m<M适用。
2.根据权利要求1所述的用于确定用于所述k个数据位u1,...,uk的所述m个校验位c1,...,cm的电路装置(1;2;3;4;5),其中,对于二进制中间值z1,...,zM适用的是:
z1=z1(u)=z1(u1,...,uk),...,zM=zM(u)=zM(u1,...,uk),
其中,所述中间值形成至少一个第一组其具有M1个中间值和与G1不同的第二组其具有M2个中间值,
其中,所述第一组G1和所述第二组G2具有不同的中间值,其中适用的是2≤M1,M2≤M,
其中,所述第一子电路(19;29;39;41)被构造为,根据所述数据位如此确定所述中间值,以使得为每个待校正的数据位uj具有可逆的清楚确定的中间值对
其中是所述第一组G1的中间值,而是与之不同的第二组G2的中间值,从而适用的是:
并且,如果所述数据位{u1,...,uk}中的仅仅有一个数据位改变到其否定值,那么到的对的变化显示所述第j个数据位uj改变为
3.根据权利要求2所述的电路装置(1;2;3;4;5),其中,如此设计所述第一子电路(19;29;39;41),以使得如果仅仅有一个数据位uj改变为否定的数据位则实现正好中间值的变化,并且所述组G1和所述组G2中至少之一中没有另外的中间值改变。
4.根据权利要求2或3所述的电路装置(1;2;3;4;5),其中,用于将所述中间值z1,...,zM转换为所述校验位c1,...,cm的所述第二子电路(110;210;310;42)如此设计为,该第二子电路将至少中间值组G1中的这样的中间值转换为校验位在所述这样的中间值中没有另外的中间值在由uj到的变化中发生变化,从而配置给所述中间值和配置给在相应的一个位中转化的中间值
...
...
和
的校验位成对地不同。
5.根据权利要求4所述的电路装置(1;2;3;4;5),其中,如此设计所述第一子电路(19;29;39;41),以使得如果仅仅有一个数据位uj改变为否定的数据位则实现正好中间值的变化,并且两个组G1和组G2中没有另外的中间值改变;并且存在用于将所述中间值z1,...,zM转换为所述校验位c1,...,cm的第二子电路(110;210;310;42)Tr,其中如此设计所述第二子电路(110;210;310;42),以使得该第二子电路将所述中间值组Gj中的这样的中间值转换为校验位其中j=1,2,
从而配置给中间值和配置给在相应的一个位中的中间值
...
...
和
的校验位成对地不同。
6.根据上述权利要求之一所述的电路装置(1;2;3;4;5),其中,所述中间值或根据所述中间值通过所述第二子电路(110;210;310;42)确定的校验位分别是校正至少1位错误的代码的校验位。
7.根据权利要求6所述的电路装置,其中,根据所述中间值通过所述第二子电路(110;210;310;42)确定的校验位是用于校正中间值的、校正至少1位错误的代码的校验位。
8.根据上述权利要求之一所述的电路装置(1;2;3;4;5),其中,由所述第一子电路确定的和待由所述第二子电路转换的中间值是交叉奇偶校验码的校验位。
9.根据权利要求1至7之一所述的电路装置(1;2;3;4;5),其中,由所述第一子电路确定的和待由所述第二子电路转换的中间值是一种代码的校验位,该代码除了数据位的排列和校验位的排列之外是交叉奇偶校验码。
10.根据权利要求8所述的电路装置(1;2;3;4;5),其中,中间值是交叉奇偶校验码的行校验位。
11.根据权利要求8或10所述的电路装置(1;2;3;4;5),其中,中间值是交叉奇偶校验码的列校验位。
12.根据权利要求8、10或11所述的电路装置(1;2;3;4;5),其中,中间值是交叉奇偶校验码的对角校验位。
13.根据权利要求12所述的电路装置(1;2;3;4;5),其中,通过数据位的异或连接形成对角校验位。
14.根据权利要求12所述的电路装置(1;2;3;4;5),其中,根据数据位、行校验位和列校验位通过数据位的异或连接形成对角校验位。
15.根据上述权利要求之一所述的电路装置(1;2;3;4;5),其中,用于将中间值转换为校验位的第二子电路(110;210;310;42)是线性电路。
16.根据上述权利要求之一所述的电路装置(1;2;3;4;5),其中,如此设计所述第二子电路(110;210;310;42),以使得该第二子电路根据关系c1′,...,cm′=H·(z1′,...,zM′)将子数量{z1′,...,zM′}的中间值形成为子数量c1′,...,cm′的校验位,其中{c1′,...,cm′}是配置给所述中间值z1′,...,zM′的校验位,而H=(h1,h2,...,hM′)是二进制(m′,M′)矩阵,该矩阵的m′组成的列hi对于i=1,...,M′成对地不同。
17.根据权利要求16所述的电路装置(1;2;3;4;5),其中,M′=M1,并且所述中间值的子数量{z1′,...,zM′}等于中间值组G1的中间值的数量。
18.根据权利要求16所述的电路装置(1;2;3;4;5),其中,如此设计所述第二子电路(110;210;310;42),以使得该第二子电路根据关系 将子数量的中间值{z1,...,zM}形成为子数量的校验位,其中是配置给中间值的校验位,而是二进制(m1,M1)矩阵,该矩阵的m1组成的列对于i=1,...,M1成对地不同,并且该第二子电路根据关系 将子数量的中间值{z1,...,zM}形成为子数量的校验位,其中是配置给中间值的校验位,而是二进制(m2,M2)矩阵,该矩阵的m2组成的列对于i=1,...,M2成对地不同。
19.根据权利要求18所述的电路装置(1;2;3;4;5),其中,所述矩阵H1的列具有奇数个1。
20.根据权利要求18或19所述的电路装置(1;2;3;4;5),其中,所述矩阵H2的列具有奇数个1。
21.根据权利要求18所述的电路装置(1;2;3;4;5),其中,所述矩阵H1是校正错误的线性码的H矩阵。
22.根据权利要求18所述的电路装置(1;2;3;4;5),其中,所述矩阵H2是校正错误的线性码的H矩阵。
23.根据权利要求18所述的电路装置(1;2;3;4;5),其中,不仅所述矩阵H1是校正错误的线性码的H矩阵,而且所述矩阵H2是校正错误的线性码的H矩阵。
24.根据上述权利要求之一所述的电路装置(1;2;3;4;5),其中,至少部分共同地实现所述第一子电路(19;29;39;41)和所述第二子电路(110;210;310;42)。
25.根据权利要求24所述的电路装置(1;2;3;4;5),其中,使用合成工具实现所述电路装置(1;2;3;4;5)。
26.用于根据m个校验位c1,...,cm确定待校正的数据位的子数量的解码器,其中通过按照上述权利要求之一所述的用于确定用于k个数据位u1,...,uk的检测位c1,...,cm的电路装置(1;2;3;4;5)形成所述m个校验位c1,...,cm,其中解码器包括:
第三子电路(61、SSyndrom),用于形成正确的校验位c1,...,cm与可能错误的校验位c′1,...,c′m的差的子数量,其中该差根据可能错误的数据位u′1,...,u′k和可能错误的校验位c′1,...,c′m确定;
第四子电路(62、Decomp),用于形成无错误的中间值z1,...,zM和可能错误的中间值z′1,...,z′M的差的子数量,其中该差Δz1,...ΔzM由所述中间值的差Δc1,...,Δcm确定;以及
第五子电路(63、Korr),用于确定经校正的数据位其具有至少三个二进制输入端用于输入可能错误的数据位u′j并且用于输入中间值的两个差以及二进制输出端用于输出所述经校正的数据位其中属于第一组中间值而属于第二组中间值,从而如果uj变化到并且不再出现错误;变化到并且变化到那么是这样的;并且如此设计第五子电路(63、Korr),以使得该第五子电路当 时输出
27.根据权利要求26所述的解码器,其中,
第三子电路(61、SSyndrom)具有k+m个二进制输入端用于输入k个可能错误的数据位u′=u′1,...,u′k和m个可能错误的校验位c′=c′1,...,c′m以及m个二进制输出端用于输出根据u′和c′确定的变化Δc=Δc1,...,Δcm;
第四子电路(62、Decomp)具有m个二进制输入端用于输入所述变化Δc=Δc1,...,Δcm以及M个二进制输出端用于输出中间值的根据Δc确定的变化Δz=Δz1,...,ΔzM;以及
第五子电路(63、Korr)具有k+M个输入端用于输入所述k个可能错误的数据位u′=u′1,...,u′k和M个中间值的变化Δz=Δz1,...,ΔzM,并且具有k′≤k的k′个输出端用于输出k个经校正的数据位的子数量k′。
28.根据权利要求26所述的解码器,其中,在1位错误的情况下,在数据位u′中数据位Δui的变化能够以所述中间值中的n个变化的乘积来表示,其中0≤i≤k,并且n≥2。
29.根据权利要求26所述的解码器,其中,数据位ui的变化Δui能够以中间值中的2个变化的乘积来表示,其中0≤i≤k。
30.根据权利要求26至29之一所述的解码器,其中,至少部分地共同实现由一定数量的所述解码器的第三子电路(61、SSyndrom)、第四子电路(62、Decomp)和第五子电路(63、Korr)组成的至少两个子电路。
31.根据权利要求30所述的解码器,其中,使用合成工具实现该解码器。
32.系统,包括:
根据权利要求1至25之一所述的电路装置(710);以及
根据权利要求26至31之一所述的用于确定待校正的数据位的子数量的解码器(720)。
33.用于确定m个用于k个数据位u1,...,uk的校验位的方法,其中,该方法包括:
根据所述k个数据位确定M个中间值,从而对于每个待校正的数据位uj具有可逆的清楚确定的中间值对
其中,如果所述数据位{u1,...,uk}中仅仅有一个数据位改变到其否定值,那么所述对的变化(到)显示第j个数据位uj改变为以及
将所述中间值(z1,...,zM)转换为所述校验位c1,...,cm,
其中,将所述中间值如此转换为所述校验位,以使得配置给根据所述数据位u1,...,ui,...,uk确定的中间值的校验位与配置给根据待校正的数据位的相应一个位中的转化的数据位确定的中间值的校验位成对地不同,其中m<M和M<k适用。
34.用于根据m个校验位c1,...,cm确定待校正的数据位的子数量的方法,其中用于确定待校正的数据位的子数量的方法包括:
形成正确的校验位c1,...,cm与可能错误的校验位c′1,...,c′m的差的子数量,其中该差根据可能错误的数据位u′1,...,u′k和可能错误的校验位c′1,...,c′m确定;
形成无错误的中间值z1,...,zM和可能错误的中间值z′1,...,z′M的差的子数量,其中该差Δz1,...ΔzM由中间值的差Δc1,...,Δcm确定;以及
根据可能错误的数据位u′j并且中间值的两个差确定校正的数据位其中属于第一组中间值而属于第二组中间值,从而如果uj变化到并且不再出现错误;变化到并且变化到那么是这样的;并且其中当时
35.根据权利要求34的用于根据所述m个校验位c1,...,cm确定所述待校正的数据位的子数量的方法,其中,通过根据权利要求33的用于确定m个用于k个数据位u1,...,uk的校验位的方法形成m个校验位c1,...,cm。
36.计算机程序,具有用于实施根据权利要求33至35之一所述的方法的程序代码。
37.用于确定m个用于k个数据位u1,...,uk的校验位的电路装置(1;2;3;4;5),包括:
第一子电路(19;29;39;41),以及
第二子电路(110;210;310;42),
其中所述第一子电路(19;29;39;41)SZw具有k个二进制输入端用于输入k个数据位u=u1,...,uk;以及M个输出端,用于输出M个根据所述数据位确定的二进制中间值z1,...,zM,其中:z1=z1(u)=z1(u1,...,uk),...,zM=zM(u)=zM(u1,...,uk),
其中,所述中间值形成至少具有的M1个中间值第一组 和与G1不同的具有M2个中间值的第二组其中,所述第一组G1和所述第二组G2具有不同中间值并且2≤M1,M2≤M适用,并且如此设计所述第一子电路(19;29;39;41)SZw,以使得该第一子电路由数据位如此确定所述中间值,从而对于每个待校正的数据位uj具有可逆的清楚确定的中间值对其中是所述第一组G1的中间值而是与之不同的所述第二组G2的中间值,从而适用的是:
并且,如果数据位{u1,...,uk}中仅仅一个数据位改变到其否定值,那么对的变化到显示第j个数据位uj改变为
其中,所述第二子电路(110;210;310;42)Tr设计为用于将所述中间值z1,...,zM转换为所述校验位c1,...,cm,
其中如此设计所述第二子电路(110;210;310;42)Tr,以使得该第二子电路将至少所述中间值组Gj中的中间值转换为校验位从而配置给根据所述数据位u1,...,ui,...,uk确定的中间值的校验位 以及配置给根据在相应的一个位中的转化的数据位确定的中间值
的校验位成对地不同,其中m<M和hj<Mj适用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013219088.3 | 2013-09-23 | ||
DE102013219088.3A DE102013219088B9 (de) | 2013-09-23 | 2013-09-23 | Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104464820A true CN104464820A (zh) | 2015-03-25 |
CN104464820B CN104464820B (zh) | 2018-08-14 |
Family
ID=52623551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410488393.5A Active CN104464820B (zh) | 2013-09-23 | 2014-09-22 | 电路装置和用于实现用于交叉校验码的校验位压缩的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9645883B2 (zh) |
CN (1) | CN104464820B (zh) |
DE (1) | DE102013219088B9 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669802A (zh) * | 2018-11-13 | 2019-04-23 | 北京时代民芯科技有限公司 | 一种用于edac验证的可配置存储器验证系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064991B (zh) * | 2018-10-23 | 2020-12-29 | 京东方科技集团股份有限公司 | 栅极驱动电路及其控制方法、显示装置 |
US10833707B2 (en) * | 2019-02-12 | 2020-11-10 | International Business Machines Corporation | Error trapping in memory structures |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231865A (zh) * | 2007-01-23 | 2008-07-30 | 联发科技股份有限公司 | 光储存媒体的写入方法及装置 |
CN101345607A (zh) * | 2008-08-14 | 2009-01-14 | 西安电子科技大学 | 多维交叉并行级联单奇偶校验码的编、译码方法 |
CN101771495A (zh) * | 2008-12-30 | 2010-07-07 | 华为技术有限公司 | 一种数据修正方法及装置 |
US20110161774A1 (en) * | 2009-12-24 | 2011-06-30 | Hynix Semiconductor Inc. | Semiconductor memory system having ecc circuit and method of controlling thereof |
CN102468855A (zh) * | 2010-11-10 | 2012-05-23 | 英飞凌科技股份有限公司 | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 |
WO2013030528A2 (en) * | 2011-08-26 | 2013-03-07 | Oxford Brookes University | Digital error correction |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412979C (zh) * | 2003-10-08 | 2008-08-20 | 宇田控股有限公司 | 错误码更正方法与装置 |
JP2009070509A (ja) * | 2007-09-14 | 2009-04-02 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
-
2013
- 2013-09-23 DE DE102013219088.3A patent/DE102013219088B9/de active Active
-
2014
- 2014-09-22 CN CN201410488393.5A patent/CN104464820B/zh active Active
- 2014-09-22 US US14/492,204 patent/US9645883B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231865A (zh) * | 2007-01-23 | 2008-07-30 | 联发科技股份有限公司 | 光储存媒体的写入方法及装置 |
CN101345607A (zh) * | 2008-08-14 | 2009-01-14 | 西安电子科技大学 | 多维交叉并行级联单奇偶校验码的编、译码方法 |
CN101771495A (zh) * | 2008-12-30 | 2010-07-07 | 华为技术有限公司 | 一种数据修正方法及装置 |
US20110161774A1 (en) * | 2009-12-24 | 2011-06-30 | Hynix Semiconductor Inc. | Semiconductor memory system having ecc circuit and method of controlling thereof |
CN102468855A (zh) * | 2010-11-10 | 2012-05-23 | 英飞凌科技股份有限公司 | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 |
WO2013030528A2 (en) * | 2011-08-26 | 2013-03-07 | Oxford Brookes University | Digital error correction |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669802A (zh) * | 2018-11-13 | 2019-04-23 | 北京时代民芯科技有限公司 | 一种用于edac验证的可配置存储器验证系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102013219088B4 (de) | 2018-01-25 |
DE102013219088A1 (de) | 2015-03-26 |
US9645883B2 (en) | 2017-05-09 |
US20150089333A1 (en) | 2015-03-26 |
CN104464820B (zh) | 2018-08-14 |
DE102013219088B9 (de) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240111625A1 (en) | Memory repair method and apparatus based on error code tracking | |
CN104900271B (zh) | 用于通过数据反演来提高数据存储的设备和方法 | |
CN102915768B (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
CN104393878A (zh) | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 | |
WO2014113226A1 (en) | Syndrome of degraded quantum redundancy coded states | |
JPH09507118A (ja) | 巡回冗長検査方法および装置 | |
CN1937414A (zh) | 信号解码方法、信号解码装置和信号存储系统 | |
CN101946230A (zh) | 用于检测和校正所接收的符号串中的定相突发差错、删除、符号差错和位差错的方法和系统 | |
Wang et al. | Reliable MLC NAND flash memories based on nonlinear t-error-correcting codes | |
CN104464820A (zh) | 电路装置和用于实现用于交叉校验码的校验位压缩的方法 | |
CN102546095B (zh) | 用于检测编码二进制字中的错误的设备和方法 | |
US20060282756A1 (en) | Device and method for determining a position of a bit error in a bit sequence | |
JPH0736717A (ja) | 単一記号エラーと単一ビット・エラー検出のためのエラー訂正方法及び装置 | |
CN103793289A (zh) | 用于多位修正的电路和方法 | |
CN102487312A (zh) | 用于检测多个编码二进制字中的错误的设备和方法 | |
Prasad | The generalized relations among the code elements for a new complex Fibonacci matrix | |
CN109753369A (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
US20150341055A1 (en) | Double bit error correction in a code word with a hamming distance of three or four | |
US7945838B2 (en) | Parity check decoder architecture | |
US11556412B2 (en) | Processing of data | |
CN102955126B (zh) | 用于测试待测试电路的设备和方法 | |
US9520899B2 (en) | Method for generating a maximized linear correcting code, method and device for decoding such a code | |
CN102811066A (zh) | 伴随式计算装置及解码器 | |
WO2022151721A1 (zh) | 纠错系统 | |
CN103810054A (zh) | 错误检查及校正方法以及相关错误检查及校正电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |