CN102546095A - 用于检测编码二进制字中的错误的设备和方法 - Google Patents

用于检测编码二进制字中的错误的设备和方法 Download PDF

Info

Publication number
CN102546095A
CN102546095A CN2011103951081A CN201110395108A CN102546095A CN 102546095 A CN102546095 A CN 102546095A CN 2011103951081 A CN2011103951081 A CN 2011103951081A CN 201110395108 A CN201110395108 A CN 201110395108A CN 102546095 A CN102546095 A CN 102546095A
Authority
CN
China
Prior art keywords
error
code
binary word
word
wrong
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
CN2011103951081A
Other languages
English (en)
Other versions
CN102546095B (zh
Inventor
U.巴克豪森
M.戈塞尔
T.克恩
T.拉贝纳尔特
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN102546095A publication Critical patent/CN102546095A/zh
Application granted granted Critical
Publication of CN102546095B publication Critical patent/CN102546095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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

Abstract

本发明涉及用于检测编码二进制字中的错误的设备和方法。一种用于检测编码二进制字中的错误的设备包括错误纠正器和错误检测器。错误纠正器纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误,使得在错误纠正器无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位子集。此外,错误检测器确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的纠正的编码二进制字。

Description

用于检测编码二进制字中的错误的设备和方法
对相关申请的引用
本申请与2010年12月3日提交的序列号为No.______(律师参考号码SZP169US)的美国专利申请相关。
技术领域
实施例涉及数字信号的纠错和错误检测,并且特别地涉及用于检测编码二进制字中的错误的设备和方法以及用于检测由纠错码编码的多个编码二进制字中的错误的设备和方法。
背景技术
为了纠正利用纠错码编码的数据,使用了纠错电路。作为用于纠错的代码,频繁地使用Hamming码、Hsiao码、BCK码和其他码。为了对利用纠错码编码的数据进行纠错,可以使用纠错电路。
由于电子电路的高集成度,瞬时和永久的硬件错误更频繁地发生,这也可能破坏纠错电路。即使要由错误的纠错电路处理的数据是正确的,该错误的纠错电路也可能导致要由该错误的纠错电路处理的数据的错误的纠正,这是不利的并且应当例如在安全关键的应用中实际地排除掉。
发明内容
依照一个方面的一个实施例提供了一种用于检测编码二进制字中的错误的设备,该设备包括错误纠正器和错误检测器。错误纠正器被配置成纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误,使得在错误纠正器无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位子集。此外,错误检测器被配置成确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的、纠正的编码二进制字。
通过确定错误检测器输入二进制字是否为纠错码的码字,可以检测错误检测器输入二进制字中的错误。该错误可能因由错误纠正器执行的有错纠错造成或者因未由错误纠正器纠正的有错编码二进制字的位真子集中的错误造成。
依照一个方面的另一个实施例提供了一种错误检测器,其被配置成确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。该错误检测器可以基于错误检测矩阵和错误检测器输入二进制字的乘积来确定错误检测位序列。该错误检测矩阵基于纠错码的校验矩阵。此外,该错误检测矩阵包括比校验矩阵更少的行或者比校验矩阵更少的列。
依照一个方面的另一实施例提供了一种错误检测器,其被配置成确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。该错误检测器基于错误检测矩阵和错误检测输入二进制字的乘积来确定错误检测位序列。此外,该错误检测矩阵基于纠错码的校验矩阵,并且该错误检测矩阵包括通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
依照另一个方面的另一个实施例提供了一种用于检测由纠错码编码的所述多个编码二进制字中的错误的设备,该设备包括组合器和错误检测器。组合器被配置成通过组合所述多个编码二进制字的第一编码二进制字和第二编码二进制字而确定组合二进制字,使得在第一编码二进制字和第二编码二进制字为纠错码的码字的情况下确定的组合二进制字为纠错码的码字,并且使得在第一编码二进制字或第二编码二进制字不是纠错码的码字的情况下确定的组合编码二进制字不是纠错码的码字。此外,错误检测器被配置成确定指示确定的组合二进制字是否为纠错码的码字的错误检测位序列。
通过以使得在所有组合编码二进制字为纠错码的码字的情况下所述组合二进制字再次为纠错码的码字的方式组合两个或更多编码二进制字,使用相同的错误检测器以用于同时检测两个或更多编码二进制字中的错误可能就足够了。因此,例如,只需一个错误检测器以用于检测由纠错码编码的多个二进制字中的错误。以这种方式,可以显著地降低用于错误检测的硬件努力。
附图说明
随后将参照附图详细描述实施例,在附图中:
图1为用于检测编码二进制字中的错误的设备的框图;
图2为用于检测编码二进制字中的错误的设备的框图;
图3为用于存储和提供二进制字的可寻址存储装置的框图;
图4为错误检测器和错误指示确定器的框图;
图5为错误检测器和错误指示确定器的框图;
图6为用于检测编码二进制字中的错误的设备的框图;
图7为用于检测编码二进制字中的错误的设备的框图;
图8为用于检测编码二进制字中的错误的方法的流程图;
图9为用于检测由纠错码编码的多个编码二进制字中的错误的设备的框图;以及
图10为用于检测由纠错码编码的多个编码二进制字中的错误的方法的流程图。
具体实施方式
在下文中,相同的附图标记部分地用于具有相同或相似功能特性的对象和功能单元,并且其关于一幅图的描述应当也适用于其他图以便降低实施例描述中的冗余性。
图1示出了依照一个方面的实施例的用于检测编码二进制字中的错误的设备100的框图。设备100包括连接到错误检测器120的错误纠正器110。错误纠正器110纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误102,使得在错误纠正器110无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位子集。此外,错误检测器120确定指示错误检测器输入二进制字118是否为纠错码的码字的错误检测位序列122。错误检测器输入二进制字118基于包含有错编码二进制字102的纠正的位子集以及最大位真子集的纠正的编码二进制字112。
通过确定错误检测器输入二进制字118是否为纠错码的码字,可以检测错误纠正器造成的错误和/或由纠正的编码二进制字112包含的有错编码二进制字102的位真子集中已经存在的错误。因此,可以显著地降低纠错之后编码二进制字中的错误的概率,使得可以显著地改进总体错误检测概率。
在该实例中以及在下面的实例中,二进制字包括与纠错码的码字相同数量的位。二进制字或码字的位子集可以是空的子集,可以包含二进制字或码字的一些位,或者可以包含二进制字或码字的所有位。此外,二进制字或码字的真子集可以是空的子集,或者可以包含二进制字或码字的一些位而不是所有位。
错误纠正器110可以被实现为使得编码二进制字的所有位中的可纠正位错误可以被纠正,或者使得提供给错误纠正器110的编码二进制字的仅仅部分位被纠正。例如,编码二进制字可能包括不可纠正的地址位,并且因此可以降低用于错误纠正器110的硬件努力。在该实例中,如果向错误纠正器110提供有错编码二进制字,则在有错位真子集中可以仅仅纠正可纠正位错误。
换言之,有错二进制字的有错位子集可以包含有错编码二进制字102的所有位,或者该有错位子集可以是有错编码二进制字102的位真子集并且包含有错编码二进制字102的不是所有位。
例如,有错编码二进制字102包含20位,并且有错位子集包含具有至少一个有错位的有错编码二进制字102的前14位。于是,错误纠正器110纠正该有错位子集的14位中的可纠正位错误(例如所述至少一个有错位),而如果错误纠正器110无错误地工作,则它不纠正有错位子集不包含的有错编码二进制字102的后6位中的可纠正位错误。如果有错位子集包含有错编码二进制字102的所有20位,则错误纠正器110纠正每个可纠正位错误。如果向错误纠正器提供无错编码二进制字,则位子集(其在这种情况下为非“有错”子集)的14位中没有一个被纠正并且所述纠正的位子集等于无错编码二进制字的所述14位。
所述纠正的位子集包含与有错位子集相同数量的位,但是如果有错子集包括可纠正位错误,则至少一位可能基于纠错码而被错误纠正器110纠正。如果错误纠正器110无错误地工作,则纠正的位子集与纠错码的码字的位子集相应,这是可纠正位错误的纠正结果。否则,错误纠正器110可以输出包含至少一个有错位的有错纠正位子集。错误纠正器110的这种有错行为可以由错误检测器120检测。
错误纠正器110的输入可以是编码二进制字的所有位,因为所有位可能对于基于纠错码的纠错是必要的。如果输入编码二进制字包括至少一个有错位,则它为有错编码二进制字。代表错误纠正器110的输出的纠正的位子集可以包括比输入编码二进制字更少的位,这取决于错误纠正器110是纠正了有错编码二进制字的所有位中的可纠正位错误还是仅仅纠正了有错编码二进制字的有错位真子集中的可纠正位错误。
错误检测器120确定指示错误检测器输入二进制字118是否为纠错码的码字的错误检测位序列122。例如,错误检测器120可以基于纠错码而确定错误检测位序列122,使得该错误检测位序列可以代表错误检测器输入二进制字118的错误伴随式(syndrome)。在该实例中,错误检测位序列102可以包括等于纠错码的校验位数量的数量的位。以这种方式,每个可检测错误(取决于纠错码)可以由错误检测器120检测(如果错误检测器无错误地工作)。
可替换地,例如,错误检测器120可以确定错误检测位序列122,使得错误检测位序列102代表错误检测器输入二进制字118的仅仅降低的错误伴随式(例如错误伴随式的位子集或者错误伴随式的位函数例如作为错误伴随式的所有位的奇偶性),导致降低的错误检测概率而且导致对错误检测器120的降低的硬件要求。换言之,错误检测位序列122可以包括比纠错码的校验位数量更少的位。以这种方式,错误检测器120的错误检测概率可以适应要求的错误检测概率,导致对于降低的错误检测概率要求的降低的硬件要求。因此,必要的硬件努力可以容易地适应具有不同的错误检测概率要求的应用。
换言之,纠错码可以由错误纠正器用于纠正有错位子集中的可纠正位错误,并且相同的纠错码可以由错误检测器用于检测错误检测器输入二进制字118中的错误。在这一点上,纠错码也可以称为错误纠正和检测码或者错误纠正/检测码,并且可以用于纠错或用于错误检测或者用于错误纠正和检测。
例如,代码可以用于纠错和用于错误检测。例如,Hamming码可以用于1位纠错或者用于1位和2位错误检测。类似地,Hsiao码可以用于1位纠错并且同时用于2位错误检测。如果Hsiao码仅仅用于错误检测,则检测1位、2位和3位错误。在这里,使用了概念“纠错码”,并且没有排除相应的代码也可以用于错误检测。
错误检测器输入二进制字118基于包含有错编码二进制字102的纠正的位子集以及最大位真子集的纠正的编码二进制字112。错误检测器输入二进制字118可以是纠正的编码二进制字112本身或者纠正的编码二进制字112可以与一个或多个其他编码二进制字114组合以获得错误检测器输入二进制字118,如以后将更详细地解释的。
纠正的编码二进制字112包含可能纠正的位子集以及有错编码二进制字的最大位真子集。取决于错误纠正器110可以实现为是纠正有错编码二进制字的所有位中的可纠正位错误还是仅仅纠正有错编码二进制字的位真子集中的可纠正位错误,纠正的编码二进制字112可以仅仅包含纠正的位子集(代表编码二进制字的所有位)并且不包含有错编码二进制字本身的位(未被错误纠正器纠正的位),或者纠正的编码二进制字112可以包含仅仅代表编码二进制字的位真子集的纠正的位子集以及未被错误纠正器110纠正的有错编码二进制字的一个或多个位(位真子集)。换言之,有错编码二进制字的位真子集可以是空的子集或者可以包含有错编码二进制字的一位与有错编码二进制字的除一位之外的所有位之间的情况。再换句话说,考虑编码二进制字的至少一位由错误纠正器110纠正,使得最大为有错编码二进制字的除一位之外的所有位(位真子集)由纠正的编码二进制字112直接包含而不经错误纠正器110处理。
图2示出了依照一个方面的实施例的用于检测编码二进制字中的错误的设备200的框图。设备200类似于图1中所示的设备,并且图解说明了被实现用于仅仅纠正有错编码二进制字v’ 21的位的部分(真子集)的错误纠正器23(FKS)的实例。错误纠正器23的输入可以是有错编码二进制字v’ 21,其包含要纠正的第一位组v’1以及不要纠正的第二位组v’2。如果要纠正的位包含可纠正位错误(有错编码二进制字v’的有错位子集v’1)并且错误纠正器23无错误地工作,则纠正的位子集v1 corr 24等于纠错码的码字的相应位子集。如果错误纠正器23不是无错误地工作,则纠正的位子集v1 corr 24可能包括至少一个有错位并且因此不等于纠错码的码字的相应位子集。在纠正有错子集v’1之后,将纠正的位子集v1 corr 24和未被考虑纠正的第二位组v’2(代表有错编码二进制字v’的位真子集v’2)提供给错误检测器25。错误检测器25确定错误检测位序列A1, …, Al 26,该错误检测位序列指示在该实例中为包含纠正的位子集v1 corr 24以及有错编码二进制字v’ 21的位真子集v’2的纠正的编码二进制字vcorr的错误检测器输入二进制字是否是纠错码的码字。
在该实例中,有错子集v’1是有错编码二进制字v’ 21的位真子集,这意味着错误纠正器23可以不纠正编码二进制字的所有位的可纠正位错误。此外,纠正的编码二进制字vcorr包含的有错编码二进制字v’的位真子集v’2是相比于有错位子集v’1的互补位子集。这意味着有错编码二进制字v’ 21的位真子集v’2包含对于其来说可纠正位错误不被错误纠正器23纠正的编码二进制字的位。再换句话说,如果错误纠正器23无错误地工作并且有错编码二进制字v’ 21的位真子集v’2不包括位错误,则纠正的位子集v1 corr和有错编码二进制字v’ 21的位真子集v’2使彼此完整以形成码字vcorr(纠错码)。
在一些实施例中,错误检测位序列122、26可以由错误检测器120、25确定,使得错误检测位序列122、26对于纠错码的所有可能的码字都包括相同的预定义检测位序列。以这种方式,可以根据错误检测位序列122、26容易地确定错误检测器输入二进制字是否是纠错码的码字。例如,该预定义检测位序列可以仅包括等于0的位或者仅包括等于1的位,尽管也可以为预定义检测位序列选择其他位序列。
可替换地,依照一个方面的实施例,错误检测位序列122、26可以由错误检测器120、25确定,使得错误检测位序列122、26对于纠错码的不同码字包括超过一个预定义检测位序列。例如错误检测器120、25可以确定错误检测位序列122、26,使得错误检测位序列122、26对于纠错码的第一码字子集而言等于第一预定义检测位序列,并且对于纠错码的第二码字子集而言等于第二预定义检测位序列。第一预定义检测位序列与第二预定义检测位序列不同并且第一子集与第二子集不同。以这种方式,可以识别至少在错误检测器120的输出处的固定差错(stuck at fault),因为至少对于纠错码的两个不同的码字而言,如果错误检测器120、25无错误地工作,则错误检测位序列122、26包括不同的预定义检测位序列。
例如,如果对于纠错码的每个码字而言,错误检测位序列122、26等于第一预定义检测位序列或者等于第二预定义检测位序列,则如果纠正的编码二进制字不是纠错码的码字,则错误检测位序列122、26可能不等于第一预定义检测位序列和第二预定义检测位序列。以这种方式,可以检测错误纠正器110造成的错误或者有错编码二进制字的位真子集中已经包含的错误。
尽管可以为第一预定义检测位序列和第二预定义检测位序列选择任意的位序列(因为在错误检测器的输出处实施一个或多个反相器可以实现每一个预定义位序列),但是第一预定义检测位序列的所有位可能为0并且第二预定义检测位序列的所有位可能为1。以这种方式,可以检测错误检测器120、25的输出处的固定为0或固定为1错误。
例如,错误检测位序列122可以由错误指示确定器进一步处理。在图4中示出了错误指示确定器35的实例。在该实例中,如果错误检测器输入二进制字vcorr等于纠错码的任意码字,则错误检测器34确定仅仅包括等于0的位的错误检测位序列A1…Al。错误指示确定器35包括或非(NOR)门36,该或非门具有用于错误检测位序列的输入以及一个二进制输出e1,该二进制输出在错误检测位序列仅仅包括等于0的位的情况下等于1而在其他情况下等于0。因此,如果错误检测器34和错误指示确定器35无错误地工作,则在错误指示确定器35的二进制输出e1等于0的情况下检测到错误检测器输入二进制字vcorr中的错误。
可替换地,如前面所提到的,对于纠错码的不同码字而言,错误检测位序列A1…Al可能等于两个或更多预定义检测位序列。图5示出了在对于纠错码的每个码字而言错误检测位序列包括第一预定义检测位序列或者第二预定义检测位序列(两个不同的预定义检测位序列)的情况下连接到错误检测器44的输出的错误指示确定器510的实例。错误指示确定器510包括具有如上所述的或非门46的第一组合电路45以及具有与(AND)门48的第二组合电路47,该与门依照逻辑与功能来组合错误检测位序列的位以获得错误指示确定器510的第二二进制输出e2。或非门46的二进制输出e1和与门48的二进制输出e2可以一起称为错误指示位序列。如果错误指示位序列为01或10,则错误检测位序列仅仅包括等于0的位或者仅仅包括等于1的位,其可以是第一预定义检测位序列和第二预定义检测位序列——指示错误检测器输入二进制字vcorr是纠错码的码字。因此,如果错误指示位序列为00或11(或非门的二进制输出等于与门的二进制输出),则错误检测器输入二进制字vcorr不是纠错码的码字,并且检测到编码二进制字中的错误。
换言之,图1和/或图2中所示的设备可以附加地包括错误指示确定器,其基于错误检测位序列来确定指示是否检测到错误检测器输入二进制字中的错误的错误指示位序列。该错误指示位序列可以在对于纠错码的所有码字仅可获得错误检测位序列的一个可能值的情况下包括一位,或者该错误指示位序列可以在对于纠错码的不同码字可获得错误检测位序列的至少两个不同的可能值的情况下包括两位。
例如,纠错码可以是线性纠错码,但是也可以使用非线性纠错码。例如,纠错码可以是Hamming码、Hsiao码或者BCH码。
在一些实施例中,错误检测器120、25、34、44可以基于错误检测矩阵和错误检测器输入二进制字的乘积来确定错误检测位序列。错误检测矩阵可以基于纠错码的校验矩阵(例如奇偶校验矩阵)。
例如,错误检测矩阵包括比校验矩阵更少的行或者比校验矩阵更少的列。换言之,如上面已经描述的,错误检测位序列可以包括比纠错码的校验位数量更少的位。
此外,例如,错误检测矩阵包括可通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素或者通过倒置由变换矩阵和校验矩阵的乘积得到的矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
在一些实施例中,错误纠正器110、23的输入可以是由可寻址存储装置(例如ROM、RAM或非易失性存储器)、编码器提供的编码二进制字,或者可以接收自发送器。在任何情况下,编码二进制字可以包括一个或多个有错位,导致有错编码二进制字。
例如,编码二进制字或者有错编码二进制字包括代表数据位的第一位组、代表纠错码的校验位的第二位组以及代表地址位的第三位组。
此外,有错编码二进制字的有错位子集可以仅仅包含第一位组和第二位组,并且纠正的编码二进制字包含纠正的位子集以及有错编码二进制字的第三位组(代表有错编码二进制字的位真子集)。换言之,第一位组和第二位组可以在出现这些位中的可纠正位错误并且错误纠正器无错误地工作的情况下由错误纠正器纠正,而在第三位组中出现可纠正位错误的情况下第三位组不由错误纠正器纠正。
可能是有错编码二进制字的编码二进制字可以由图3中所示的可寻址存储装置51提供给错误纠正器。在该实例中,第一位组u、u’(数据位)和第二位组c、c’(校验位)存储在由第三位组a(地址位)指示的可寻址存储装置51的地址处。
如前面已经提到的,错误检测器输入二进制字可以是纠正的编码二进制字和至少一个其他编码二进制字的组合。为此,在一些实施例中,用于检测编码二进制字中的错误的设备附加地包括组合器,该组合器通过组合纠正的编码二进制字和第二编码二进制字而确定错误检测器输入二进制字,使得在纠正的编码二进制字和第二编码二进制字为纠错码的码字的情况下错误检测器输入二进制字为纠错码的码字,并且使得在纠正的编码二进制字或第二编码二进制字不是纠错码的码字的情况下错误检测器输入二进制字不是纠错码的码字。以这种方式,可以由相同的错误检测器同时检测若干输入编码二进制字中的错误。
描述了错误检测器检测通过代码C编码的其输入序列中的错误。在迄今描述的大多数实例中,相同的代码C也用于纠正器电路对码字的位子集中的有错位进行纠错。
可替换地,所描述的错误检测器也可以应用于检测通过代码C编码的其输入序列中的错误位,而与代码C是否用于纠错以确定检测器的输入序列或者代码C是仅仅用于纠错还是用于错误检测无关。
例如,在图7中,编码器71的输出v是考虑的代码C的码字并且v由编码器71根据信息位w确定。编码器71的输出通过线74经由复用器MUX 75通过线76不经纠正地直接连接到检测器FE 77的输入。检测器77检测编码器71的输出v是否是考虑的代码C的码字。通过检测器77,可以校验编码器71的正确性。并且在这种情况下,代码C不用于纠正有错位序列。例如,代码C可以是Hamming码并且该代码可以用于1位纠错或者用于1位和2位错误检测。在这种情况下,代码C用于检测。
图6示出了用于检测编码二进制字中的错误的设备600的框图,其图解说明了由相同的错误检测器64检测两个错误纠正器61、62的输出中的错误。第一错误纠正器61、第二错误纠正器62和错误检测器64可以依照上面描述的一个或多个方面来实现。换言之,第二错误纠正器62可以纠正由纠错码编码的第二有错编码二进制字的第二有错位子集中的可纠正位错误,使得在第二错误纠正器62无错误地工作的情况下纠正的第二位子集66等于纠错码的码字的相应位子集。第二编码二进制字66可以包含第二有错编码二进制字的最大位真子集以及纠正的第二位子集。
在该实例中,前面提到的组合器实现为异或(XOR)门63。换言之,该组合器可以通过逐位逻辑异或功能(异或功能)组合纠正的编码二进制字65和第二编码二进制字66以获得错误检测器输入二进制字。
作为第二错误检测器62的替换,第二编码二进制字62可以由编码器提供,该编码器依照纠错码对二进制字进行编码以获得第二编码二进制字66。
此外,组合器可以依照所描述的构思组合超过两个编码二进制字,使得相同的错误检测器可以同时检测由错误纠正器、编码器或发送器提供的所述多个编码二进制字中的错误。
因此,可以显著地降低用于对由错误纠正器、编码器造成的错误和/或发送器发送的编码二进制字进行错误检测的硬件努力,因为这些单元中的若干个的输出可以由相同的错误检测器处理。
一些实施例涉及一种错误检测器,该错误检测器确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。错误检测器可以基于错误检测矩阵和错误检测器输入二进制字的乘积来确定错误检测位序列。该错误检测矩阵基于纠错码的校验矩阵。此外,该错误检测矩阵包括比校验矩阵更少的行或者比校验矩阵更少的列。
以这种方式,错误检测器的错误检测概率可以适应要求的错误检测概率,导致对于降低的错误检测概率要求的降低的硬件要求。因此,必要的硬件努力可以容易地适应具有不同的错误检测概率要求的应用。
另外的实施例涉及一种错误检测器,该错误检测器确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。该错误检测器基于错误检测矩阵和错误检测输入二进制字的乘积来确定错误检测位序列。此外,该错误检测矩阵基于纠错码的校验矩阵,并且该错误检测矩阵包括可通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
以这种方式,可以容易地找到适当的错误检测矩阵。
例如,错误检测器可以被配置成确定指示错误检测器二进制字是否为长度为n的具有q个信息位且具有(m, n)校验矩阵H的线性码C的码字的错误检测位序列,其中m=n-q。此外,该错误检测器被配置成基于错误检测(l, n)矩阵L和错误检测器输入二进制字的乘积来确定错误检测位序列。错误检测矩阵L基于(l, n)矩阵M而确定,该矩阵M被定义为变换矩阵K和矩阵H的积M=K H,其中K为(l, m)二进制矩阵,对于该二进制矩阵而言不是所有的元素都等于0并且l小于或等于m。错误检测矩阵L可以包括可通过倒置(l, n)矩阵M的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
换言之,可以基于矩阵M确定(l, n)错误检测矩阵L,该矩阵M为二进制(l, m)变换矩阵K和纠错码的(m, n)校验矩阵H的积M=K H,其中K(变换矩阵)为(l, m)二进制矩阵,对于该二进制矩阵而言不是所有的元素都等于0,并且其中错误检测矩阵L包括可通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
再换句话说,错误检测矩阵可以基于第一矩阵而确定,该第一矩阵通过将所述代码的校验矩阵与二进制矩阵相乘来确定,对于所述二进制矩阵而言不是所有的元素都等于零,并且其中错误检测矩阵包括可通过倒置第一矩阵的相应行的至少一个元素或者第一矩阵的相应列的至少一个元素而导出的至少一行或至少一列。
为了从H矩阵导出L矩阵,例如,模2相加H的第一和第二行(例如通过与适当的矩阵K相乘)。确定的矩阵为M矩阵。为了确定L,例如倒置M矩阵的第一列的所有元素。
另外的实施例涉及一种用于检测编码二进制字中的错误的设备,该设备包括用于纠正位错误的装置和用于确定错误检测位序列的装置。用于纠正位错误的装置纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误,使得在用于纠正位错误的装置无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位集合。此外,用于确定错误检测位序列的装置确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的纠正的编码二进制字。
图8示出了依照一个方面的实施例的用于检测编码二进制字中的错误的方法800的流程图。方法800包括纠正810由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误,使得在无错误地进行可纠正错误的纠正的情况下纠正的位子集等于纠错码的码字的相应位子集。此外,方法800包括确定820指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列。错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的纠正的编码二进制字。
此外,方法800可以包括代表上面描述的所提出构思的可选方面中的一个或多个的另外的步骤。
图9示出了依照一个方面的实施例的用于检测由纠错码编码的多个编码二进制字中的错误的设备900的框图。设备900包括连接到错误检测器920的组合器910。组合器910通过组合所述多个编码二进制字的第一编码二进制字902和第二编码二进制字904而确定组合二进制字912,使得在第一编码二进制字902和第二编码二进制字904为纠错码的码字的情况下确定的组合二进制字912为纠错码的码字,并且使得在第一编码二进制字902或第二编码二进制字904不是纠错码的码字的情况下确定的组合二进制字912不是纠错码的码字。此外,错误检测器920可以确定指示确定的组合二进制字912是否为纠错码的码字的错误检测位序列922。
通过将两个或更多编码二进制字组合成一个组合二进制字、使得在要组合的所有编码二进制字为纠错码的码字的情况下所述确定的组合二进制字为纠错码的码字,错误检测器920可以同时检测一个或多个所述编码二进制字中的错误。因此,可能只需一个错误检测器以用于检测多个编码二进制字中的错误,导致用于错误检测的显著降低的硬件努力。
所述多个编码二进制字至少包括可以从两个独立源(例如错误纠正器、编码器或发送器)提供的第一编码二进制字和第二编码二进制字。然而,所述多个编码二进制字也可以包括由超过两个不同的独立源提供的超过两个编码二进制字。在该实例中,组合器可以通过组合所述多个编码二进制字的所有编码二进制字而确定组合二进制字912,使得在所述多个编码二进制字的所有编码二进制字为纠错码的码字的情况下所述确定的组合二进制字912为纠错码的码字,并且使得在所述多个编码二进制字的编码二进制字不是纠错码的码字的情况下所述确定的组合二进制字912不是纠错码的码字。
例如,所述多个编码二进制字可以由一个或多个错误纠正器、编码器提供或者可以接收自一个或多个发送器。
例如,第一编码二进制字可以由第一错误纠正器提供并且第二编码二进制字可以由第二错误纠正器提供,或者第一编码二进制字可以由错误纠正器提供并且第二编码二进制字可以由编码器提供。
例如,在纠错码为线性纠错码的情况下,组合器可以包括用于确定组合二进制字的异或门。换言之,组合器910可以通过逐位逻辑异或功能来组合第一编码二进制字902和第二编码二进制字904以获得组合二进制字912。
可替换地,纠错码可以是非线性纠错码,并且组合器910可以基于该非线性纠错码实现第一编码二进制字902和第二编码二进制字904的组合,使得在第一编码二进制字902和第二编码二进制字904为非线性纠错码的码字的情况下组合二进制字912为非线性纠错码的码字。
错误检测器920可以以各种不同的方式实现,例如,错误检测器920可以依照前面描述的错误检测器120、25、34、44、64的一个或多个方面或者可能变型而实现。在这一点上,组合二进制字912与错误检测器输入二进制字相应。
此外,设备900可以包括错误纠正器。该错误纠正器可以纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误,使得在错误纠正器无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位子集。在该实例中,第一编码二进制字902包含纠正的位子集以及有错编码二进制字的最大位真子集。
错误纠正器可以以各种不同的方式实现。例如,错误纠正器可以依照前面描述的错误纠正器110、23、61、62的一个或多个方面实施。在这一点上,第一编码二进制字902与前面提到的纠正的编码二进制字相应。
与前面所提到的类似,有错子集可以是有错编码二进制字的位真子集,并且第一编码二进制字包含的有错编码二进制字的位真子集可以是相比于有错位子集的互补位子集。
可替换地,有错位子集等于有错编码二进制字,并且第一编码二进制字仅仅包含代表纠正的有错编码二进制字的纠正的位子集。
此外,设备900可以包括第二错误纠正器。该第二错误纠正器可以纠正由纠错码编码的第二有错编码二进制字的第二有错位子集中的可纠正位错误,使得在第二错误纠正器无错误地工作的情况下纠正的第二位子集等于纠错码的码字的相应位子集。在该实例中,第二编码二进制字904包含第二有错编码器主字的最大位真子集上的纠正的第二位子集。
类似地,第一错误纠正器、第二错误纠正器可以依照上面提到的错误检测器的一个或多个方面来实现。
在图6中已经示出且描述了用于检测由纠错码编码的多个编码二进制字中的错误的设备的实例,该设备包括两个错误纠正器和由异或门实现的组合器。
作为第二错误纠正器的替换,设备900可以包括编码器,该编码器依照纠错码对二进制字进行编码以获得第二编码二进制字。
此外,设备900可以包括一个或多个另外的错误纠正器和/或编码器,其提供所述多个编码二进制字的编码二进制字。
与已经结合其他方面提到的类似,错误检测位序列922可以包括比纠错码的校验位数量更少的位,使得针对错误检测器的错误检测概率和硬件努力可以适应应用的要求。
此外或者可替换地,错误检测器920可以确定错误检测位序列922,使得错误检测位序列922对于纠错码的第一码字子集而言等于第一预定义检测位序列,并且对于纠错码的第二码字子集而言等于第二预定义检测位序列。第一预定义检测位序列与第二预定义检测位序列不同并且第一子集与第二子集不同。
此外,如果纠正的编码二进制字不是纠错码的码字,则错误检测位序列922可能不等于第一预定义检测位序列和第二预定义检测位序列。
例如,第一预定义检测位序列的位都是0并且第二预定义检测位序列的位都是1。
以这种方式,例如,也可以如上面已经描述的那样检测至少在错误检测器920的输出处的固定差错。
如已经提到的,例如,错误检测器920可以基于错误检测矩阵和确定的组合二进制字912的乘积来确定错误检测位序列922。该错误检测矩阵基于纠错码的校验矩阵。
该错误检测矩阵例如可以包括比校验矩阵更少的行或者比校验矩阵更少的列。
可替换地或者此外,错误检测矩阵可以包括可通过倒置校验矩阵的相应列或相应行而导出的至少一列或至少一行。
如前面已经提到的,可能是有错编码二进制字的编码二进制字可以例如由可寻址存储装置、编码器或发送器提供。这与已经结合图3所描述的类似。
依照一个方面的一些实施例涉及一种用于检测由纠错码编码的多个编码二进制字中的错误的设备。该设备包括用于确定组合二进制字的装置和用于确定错误检测位序列的装置。用于确定组合二进制字的装置通过组合所述多个编码二进制字的第一编码二进制字和第二编码二进制字而确定组合二进制字,使得在第一编码二进制字和第二编码二进制字为纠错码的码字的情况下确定的组合二进制字为纠错码的码字,并且使得在第一编码二进制字或第二编码二进制字不是纠错码的码字的情况下确定的组合二进制字不是纠错码的码字。此外,用于确定错误检测位序列的装置确定指示所述确定的组合二进制字是否为纠错码的码字的错误检测位序列。
图10示出了依照一个方面的实施例的用于检测由纠错码编码的多个编码二进制字中的错误的方法1000的流程图。方法1000包括通过组合所述多个编码二进制字的第一编码二进制字和第二编码二进制字而确定1010组合二进制字,使得在第一编码二进制字和第二编码二进制字为纠错码的码字的情况下确定的组合二进制字为纠错码的码字,并且使得在第一编码二进制字或第二编码二进制字不是纠错码的码字的情况下确定的组合二进制字不是纠错码的码字。此外,方法1000包括确定1020指示确定的组合二进制字是否为纠错码的码字的错误检测位序列。
此外,方法1000可以包括代表上面描述的所提出构思的可选方面中的一个或多个的另外的步骤。
在下文中,基于图2-7更详细地描述各方面。尽管这些实例示出了一起实现的不同方面,但是这些方面也可以彼此独立地实现。
首先,将参照图2解释一个实施例。图2示出了用于纠错电路FKS 23(错误纠正器)中的错误的错误检测的电路系统,该纠错电路例如使用线性码C来纠正输入数据中的错误。
代码C的长度由n标示,并且信息位w = w1, …, wq的数量由q标示,其中q<n。纠错码的实例为例如在“Lin, S., Costello, D., “Error Control coding”, Prentice Hall, 1983, pp. 79-82中描述的Hamming码、例如在Fujijwara, E., “Code Design for Dependable Systems”, Wiley, 2006, pp. 98-101中描述的Hsiao码、如例如在“Fujijwara, E., “Code Design for Dependable Systems”, Wiley, 2006 S. 98-101”中描述的Hsiao码、例如在“Micheloni, R., Marelli, A. und Ravasio, R., “Error Correction Codes for Non.Volatile Memories”,Springer 2008, S. 48-54”中描述的BCH码以及如例如在“Micheloni, R., Marelli, A. und Ravasio, R. “Error Correction Codes for Non-Volatile Memories” Springer 2008, S.38-42”中描述的允许大多数解码的Reed-Muller码。
在应用中,代码由本领域技术人员以缩短的形式频繁地使用以使其适应实际要求的字宽。这可以通过删除未缩短的代码的H矩阵的列来完成。
对于线性码C,通过下式从信息位w确定关联的码字v
v = w ∙ G
其中G为代码C的生成矩阵,并且G为(q, n)矩阵。
基于以下关系
sT = H·v’T
可以校验字v’= (
Figure 2011103951081100002DEST_PATH_IMAGE001
,…,
Figure 44552DEST_PATH_IMAGE002
)是否为代码C的码字。在这里,v’T标示行矢量v’的转置列矢量。H是(m, n)矩阵,即代码的H矩阵(校验矩阵或奇偶校验矩阵),并且m=n-q的s=(sl,…,sm)T为字v’的伴随式。在这里,(sl,…,sm)T标示行矢量(sl,…,sm)的转置列矢量。如果v’=v为代码C的码字,则错误伴随式为s=0。
图2中所示的设备是纠错电路FKS 23(错误纠正器)和错误检测电路FE 25(错误检测器)的设置(set up)。在纠错电路23的n位宽输入21处,将n位宽字v’ =
Figure 492851DEST_PATH_IMAGE001
,…, = v’l, v’2(v’l为纠正的位子集,v’2为有错编码二进制字的位真子集)输入到该纠错电路23中,其中v’1 =
Figure 949688DEST_PATH_IMAGE001
,…,
Figure 2011103951081100002DEST_PATH_IMAGE003
和v’2 =
Figure 295219DEST_PATH_IMAGE004
,…,
Figure 117681DEST_PATH_IMAGE002
,且pn适用。如果p=n,则v’l由v’的所有n个分量组成并且v’2不包含分量。
v’1的分量是v’的由电路FKS 23纠正的p个分量,并且v’2的分量是v’的不由电路FKS 23纠正且在n-p位宽线22上引到其输出的n-p个分量。没有关于一般性的限制,被纠正的分量被布置成左对齐,使得该描述变得更加简单。被纠正的位可以是线性码的数据位u1,…,uk和校验位c1,…,cm,所述线性码的信息位w = w1,…wq由数据位u1,…,uk和地址位a = a1,…,ar组成,其中数据位u和校验位c存储在存储装置中的地址a之下,如下文将更详细地解释的。也可能的是p=n并且所有位被电路FKS 23纠正。
在其p位宽输出24处,电路FKS输出值
Figure 2011103951081100002DEST_PATH_IMAGE005
,这些值与线22上的未纠正位
Figure 915873DEST_PATH_IMAGE006
一起提供以形成n位二进制字
Figure 2011103951081100002DEST_PATH_IMAGE007
纠错电路FKS 23纠正由代码C的码字的前p位中的错误造成的且可由代码C纠正的字。
首先,考虑电路FKS 23是无错误(无错误地工作)的情况。如果v’=v适用,其中v为代码C的码字,则以下适用
Figure 645932DEST_PATH_IMAGE008
。如果C例如为1位纠正Hamming码,则该Hamming码的所有码字以及由码字前p位中的1位错误造成的所有字由电路FKS 23纠正成码字。由码字的位v’2中的1位错误造成的字不纠正成码字。如果将代码C的码字和通过专门在前p位中的1位错误而起源于代码C的码字的、代码C的非码字提供给电路FKS 23的输入,则电路FKS 23输出代码C的码字。
如果C为2位纠错BCH码,则通过电路FKS 23将该代码的所有码字以及由专门在前p位中的码字的1位和2位错误而造成的所有字纠正成码字。由码字的位v’2中的错误而造成的所有字不被电路FKS 23纠正。
如果C是例如码距为8的Reed-Muller码,其纠正电路可以例如实现为大多数解码并且其可以纠正所有3位错误,则所有码字以及通过专门在前p位中的1位、2位和3位错误而由码字造成的所有字被电路FKS 23纠正,但是由位v’2中的错误造成的字不被纠正。
纠错电路FKS 23可以是纠错码C的常规纠错电路。如果对于p<n,n-p位未被纠正,则例如简单地忽略用于代码C的纠错电路的未纠正输出并且不将其实现为硬件。
令人感兴趣的是纠错电路FKS 23不仅将代码C的码字,而且将可以通过前p位中的至多t个错误从代码C的码字产生且应用到该电路FKS 23的输入的字变换成代码C的码字
Figure 2011103951081100002DEST_PATH_IMAGE009
,如果代码C允许纠正t个位错误的话。
如果电路FKS 23是有错的或者包含错误,则这可以因为
Figure 596701DEST_PATH_IMAGE010
不是代码C的码字而看出。如果将代码的码字或者可以通过无错电路FKS 23而将纠正为代码C的码字的代码C的非码字输入到有错纠错电路FKS 23,则这可以被检测到,如果
Figure 2011103951081100002DEST_PATH_IMAGE011
不是码字的话。
这有利地通过错误检测电路FE 25进行检测,该错误检测电路如上所指示的那样用于纠错电路FKS 23中的错误的错误检测。
在该实例中,错误检测电路FE 25是具有n个输入和l个输出A1,…,Al的组合电路,其中l ≤ m,该组合电路在其输出处输出l分量二进制错误信号f = f1,…,fl,使得当输入用于错误信号f1 i1 = f2 i2 = … = fl il = 0或f1 i1 = f2 i2 = … = fl il = 1的码字
Figure 121224DEST_PATH_IMAGE012
适用时并且在不是所有的分量f1 i1 … = fl il相等的情况下,检测出没有码字输入到电路FE 25。这或者由纠错电路FKS 23中的错误造成,或者指示不可纠正字v’存在于纠错电路的输入处并且电路FKS的纠正不成功。在这一点上,如果ij=0适用,则,而如果ij=1适用,则,并且其中j取值1,…,l。
如果例如所有值i1,…,il等于1,则f1 i1 = f1 ,…, fl il = fl,并且在码字输入处,适用f1 = f2 = … = fl = 1或者f1 = f2 = … = fl = 0并且检测到错误,如果不是所有的分量f1,…,fl都相等的话。例如,如果j1=1, j2=0, j3=0, j4=1,…,jl=1,则
Figure 2011103951081100002DEST_PATH_IMAGE015
,并且在码字的输入处
Figure 674882DEST_PATH_IMAGE016
适用,并且指示错误,如果不是所有的分量
Figure 2011103951081100002DEST_PATH_IMAGE017
都相等的话。
在这里,有利的是:通过选择电路FE 25的输出的数量l,与复制和比较形成对照的是,例如针对错误检测的复杂度可以随着l的变化而变化,并且可以适应请求的错误检测概率;于是,当对于f = f1,…,fl 预定义两个不同的占用(例如1,1,…,1和0,0,…,0)时,当不同的码字应用于错误检测电路FE 25的输入时,无错情况下的输出A1,…,Al采取两个不同的值并且因此至少针对至少纠错电路FKS 23的连续无错操作中的输出的固定为0和固定为1错误进行测试,这例如不是在实现加倍和比较时比较器的输出的情况。
进一步有利的是,也可以由一个单一错误检测电路通过逐分量地异或其输出来校验例如芯片上的若干纠错电路,如下文将更详细地解释的。
在图4中图解说明了电路FE 34的l个输出A1,…,Al引向l位组合功能SFE1的l个输入中,该组合功能具有在其输出处输出错误信号e1的控制值。作为具体的功能,在图3中选择具有l个输入具有控制值1的或非门36(实现逻辑或非功能),使得e1=1适用于f1 = f2 =… =fl = 0并且e1 = 0适用于f1 = f2 =… =fl = 1。如果值i1,i2,…,il之一等于0,则错误检测电路FE 34的相应输出在其连接到或非门35的相应输入之前倒置。
图5示出了电路FE 44的输出A1,…,Al如何同时连接到组合电路SFE1 45的l个输入以实现具有在其输出处输出错误信号e1的控制值1的布尔函数,并且连接到组合电路SFE0 47的l个输入以实现具有在其输出处输出错误信号e2的控制值0的布尔函数。组合电路SFE1 45和组合电路SFE0 47可以一起实现如上面提到的错误指示确定器。作为具体的电路,在这里,选择具有控制值1的用于组合电路SFE1的或非门46以及用于组合电路SFEO 47的具有控制值0的与门48。
假设i1 = i2 =… = il。如果f1 = … = fl = 1适用,则e1 = 0且e2 = 1,并且如果f1 = … = fl = 0适用,则e1 = 1且e2 = 0,使得于是在电路FE 44的输入处应用不同的码字vcorr时,对于e1和e2输出不同的值。如果f的不是所有的分量都相等,则e1 = e2,并且于是检测到e1 = e2适用的、图5中的电路FKS 23的、其自身表现为非码字vcorr的错误。
在图3中,针对一个实施例图解说明了当数据位u1,…,uk和校验位c1,…,cm形成由图2的电路FKS 23纠正的位时以及当存储装置中位u和c存储于其下的地址位a = a1,…,ar未被纠正时如何在电路FKS 23的电路输入处形成部分字v 1和v 2
数据位u和地址位a形成在这里假设为可分离的纠错码的q个信息位w = w1,…,wq,使得根据信息位u和a确定校验位c并且在编码中不改变信息位。当写入时,位u和c在存储装置51中存储在地址a之下,并且当再次读取时在地址a之下读出。当写入时,假设u、a、c为代码C的码字。如果再次在该地址处读出数据,则它可能错误地改变,使得通常读出可能与u、c不同的u’、c’。而且,地址可能错误地形成,使得代替该地址的是,地址a’将被考虑。读出的数据u’, c’ = v 1由图2中的纠错电路FKS 23纠正,而地址位a’= v 2不被纠正,并且错误的地址位导致在错误检测电路FE 25的输入处的非码字vcorr =
Figure 198267DEST_PATH_IMAGE018
在下文中,针对实例解释如何可以实际地确定用于错误检测的组合电路FE 25。
错误检测电路FE 25(错误检测器)例如实现功能
fT= L·vT
其中L为(l, n)矩阵并且fT标示行矢量f=(f1,...,fl)的转置列矢量。矩阵L(错误检测矩阵)可以例如通过下式确定
M = K · H = (M1,…,Mn),
其中H为纠错码C的(m, n)H矩阵(校验矩阵),并且变换矩阵K为不等于零矩阵的二进制(l, m)矩阵。下文适用m = n − q, 1 < l ≤ m,并且M1, … Mn为矩阵M的l分量列。
具有列L1, … Ln的(l, n)矩阵L = (L1, L2, …, Ln)在这里根据矩阵M = K۰H = M1, M2, … Ml确定,使得对于h(h ≤ n)列的子集{Li1,…,Lih},矩阵L的这h列是矩阵M的相应倒置列。对于矩阵L的这h列,以下适用Li1 =
Figure 2011103951081100002DEST_PATH_IMAGE019
i1, Li2=
Figure 910002DEST_PATH_IMAGE019
i2,…,Lih=
Figure 682786DEST_PATH_IMAGE019
ih,而对于所有其他l-h列,对于j = h+1,…,n,Lij = Mij适用,并且其中列
Figure 957910DEST_PATH_IMAGE019
ij通过倒置列Mij的所有l个分量而由矩阵M的列Mij形成。
例如,如果h=0,则没有矩阵M的列被倒置,并且L=K∙H。
在另一个实例中,可能的是矩阵K等于m维单位矩阵,使得M=I∙H=H适用。也可能的是,矩阵K仅仅包含一个单一元素1而所有其他元素为0。
为了更详细地解释矩阵L的确定,作为纠错码的实例,现在考虑具有(4.9)H矩阵且具有矩阵K=I4(变换矩阵)的缩短的Hamming码,其中I4为4维单位矩阵。在该实例中,M=H,其中
并且其中代码的(5, 9)G矩阵G为
Figure 2011103951081100002DEST_PATH_IMAGE021
具有v = u∙G = u,c(具有校验位c = c1,…,c4)的码字v = v1,…, v9与信息位u = u1,…,u5关联,其中
c1 = u1
Figure 998864DEST_PATH_IMAGE022
u2 u4 u5
c2 = u1
Figure 583538DEST_PATH_IMAGE022
u3
Figure 886344DEST_PATH_IMAGE022
u4
c3 = u2
Figure 836982DEST_PATH_IMAGE022
u3
Figure 250646DEST_PATH_IMAGE022
u4
c4= u5
适用。两个字v = 110110001和v = 101100100为有效码字,因为H·vT = 0和H·v T = 0适用。
选择h = 1和Mi1 = M2。于是,对于矩阵L的第二列L2而言,L2=
Figure 603130DEST_PATH_IMAGE019
2适用并且因此
并且L · vT = fT = (f1, f2, f3, f4)T=(1,1,1,1)T且L·v T = fT = (f1, f2, f3, f4)T = (0,0,0,0)。
电路FE 25简单地实现二进制线性方程
fT = L·vT
f1 = v1
Figure 76837DEST_PATH_IMAGE022
v4
Figure 514771DEST_PATH_IMAGE022
v5
Figure 217279DEST_PATH_IMAGE022
v6
f2 = v1
Figure 689849DEST_PATH_IMAGE022
v2
Figure 334457DEST_PATH_IMAGE022
v3
Figure 259687DEST_PATH_IMAGE022
v4
Figure 15154DEST_PATH_IMAGE022
v7
f3 = v3
Figure 76651DEST_PATH_IMAGE022
v4
Figure 361002DEST_PATH_IMAGE022
v8
f4 = v2
Figure 304687DEST_PATH_IMAGE022
v5
Figure 332686DEST_PATH_IMAGE022
v9
其可以例如利用合成工具来实现。
针对考虑的缩短的hamming码,通过选择M=K∙H而获得一个特别简单的变型,其中
Figure 796159DEST_PATH_IMAGE024
其中矩阵K除了一个元素1之外仅仅包括零并且H为已经描述的缩短的hamming码的H矩阵。此外,M = K·H = (1 1 0 1 1 1 0 0 0) = M1,…,M9适用。如果在这里h=2并且选择了i1 = 2, i2 = 4,并且因此L2 =
Figure 985832DEST_PATH_IMAGE019
2 = 0, i2 = 4且因此L4 =
Figure 416813DEST_PATH_IMAGE019
4 = 0,则L = (1 0 0 0 1 0 0 0)并且f = f1 = L∙v = v1
Figure 982924DEST_PATH_IMAGE022
v5。对于码字v’ = (110110001),f = f1 = L∙v’ = 0,并且对于码字v’’ = (101100100),f = f1 = L∙v’’ = 1。
在另一实施例中,可以图解说明如何利用所描述的错误检测电路FE将同时针对错误校验若干纠错电路,这在若干纠错电路在相同的芯片上实现时是特别有利的。
图6图解说明了两个纠错电路FKS 61(错误纠正器)和FKS* 62(第二错误纠正器),其中纠错电路FKS 61纠正vcorr中的信号v’1, v’2,其在n位宽信号线65上应用于n异或门63(组合器)的第一输入处,并且其中纠错电路FKS* 62纠正
Figure 2011103951081100002DEST_PATH_IMAGE025
corr中的信号
Figure 815751DEST_PATH_IMAGE025
1,
Figure 176325DEST_PATH_IMAGE025
2,其在n位宽信号线66上应用于n异或门63的对应第二输入处的正确位置处并且其n个二进制输出引向错误检测电路FE(错误检测器)的输入中。如果vcorr以及还有 corr均为线性码C的码字,则它们的逐分量异或也是码字并且码字vcorr
Figure 464404DEST_PATH_IMAGE026
corr之一中的错误具有逐位异或和中的错误的影响,这可以由错误检测电路FE检测出。
按照非常类似的方式,也可以通过逐位异或超过两个纠错电路的纠正值并且然后由错误检测电路FE校验应用到该错误检测电路的值是否形成码字而针对错误校验所述超过两个纠错电路。然后,可以检测纠错电路是否是错误的。
同样地,如图7中所示,也可能的是如图7中所示的那样利用错误检测电路FE校验编码器71(编码器)产生的码字。编码器71的输出74经由复用器75的第一n位宽输入而连接到错误检测电路FE 77的输入76,携带由所述至少一个纠错电路FKS 72纠正的纠正信号vcorr的线73施加于所述复用器的第二n位宽输入。在这里,假设编码器71和纠错电路72的输出信号在不同的时间提供,使得复用器在输出信号被提供的时间将这些输出信号中继到错误检测电路77。
编码器71被实现为使得它根据信息位w1,…,wq形成关联的码字v=w∙G,其中G为代码C的G矩阵。纠错电路FKS 72纠正
Figure 2011103951081100002DEST_PATH_IMAGE027
中的位v’1,其与未纠正位v’2一起形成字vcorr
除此之外,可能有利的是经由异或门将代码的输出连接到纠错电路的输出,使得异或门的输出经由异或门连接到错误检测电路FE的输入。
同样地,可能有利的是连接若干n位宽线,这些线存在于芯片上并且分别同时地或者在不同时间携带代码C的码字,使得在无错的情况下这些连接线也携带代码C的码字,并且使得在n位宽连接线之一不携带码字并且这些连接线与所描述的错误检测电路的输入连接的情况下,所述n位宽线不携带代码的码字。
一些实施例涉及一种用于错误检测的电路系统。它涉及改进电气电路中的错误检测,并且例如可应用于检测用于对利用纠错码编码的数据进行纠错的电路中的错误。
所提出的构思可以提供一种简单和/或成本高效的实现对纠错电路中的错误进行错误检测的电路系统和/或方法。
一些实施例涉及一种用于检测用于纠正线性纠错码C的码字中的错误的电路中的错误的电路系统S,其包括纠错电路FKS。纠错电路FKS包括用于输入由两个位组v’1 =
Figure 636890DEST_PATH_IMAGE028
和v’2 =
Figure 2011103951081100002DEST_PATH_IMAGE029
组成的n分量二进制字v’ =
Figure 965104DEST_PATH_IMAGE030
的n个二进制输入以及用于输出第一位组的p个纠正位
Figure 2011103951081100002DEST_PATH_IMAGE031
的p个输出,其中1 ≤ p ≤ n适用。
线性码由长度为n、具有q(q<n)个信息位的码字v = v1,…, vn = v1, v2组成,其中这些码字由第一位组v1 = v1,…, vp和第二位组v2 = vp+l,…,vn组成,其中第一位组中的错误由纠错电路FKS纠正为
Figure 105098DEST_PATH_IMAGE027
,并且第二位组中的错误不被纠正,并且其中由纠错电路FKS纠正的第一位组的位
Figure 2011103951081100002DEST_PATH_IMAGE033
以及第二位组的未纠正位υ 2形成n位二进制字vcorr =
Figure 809749DEST_PATH_IMAGE034
纠错电路FKS被设置成使得在纠错电路FKS无错误时,当输入码字时,vcorr = v适用。
存在具有n个二进制输入和l个二进制输出A1, …, A l 用于输出l分量错误信号f1…,fl的错误检测电路FE,所述l分量错误信号形成l个确定的二进制值i1,i2 …il的错误信号f = f1…,fl,使得对于代码C的任何码字vcorr的输入而言,对于错误信号的分量,
Figure 99391DEST_PATH_IMAGE036
适用,并且当输入非码字vcorr时,错误信号分量的不是所有分量f1 i1, f2 i2, …, fl il都相等,并且当错误信号f的分量f1 i1, f2 i2, …, fl il的不是所有值都相等并且l ≤ n – q适用时,错误检测电路指示错误,并且其中如果ij=0适用,则
Figure 2011103951081100002DEST_PATH_IMAGE037
适用,j=1,…,l,并且如果ij=1适用,则
Figure 598506DEST_PATH_IMAGE014
依照一个方面,i1=i2=,…,=il并且
Figure 694638DEST_PATH_IMAGE038
适用。
此外,可能存在代码C的码字vcorr,使得f1 = f2 = … = fl = 0,并且存在代码C的另一码字
Figure 2011103951081100002DEST_PATH_IMAGE039
,使得f1 = f2 = … = fl = 1。
依照另一实施例,错误检测电路FE 24依照以下关系形成错误信号f
其中L为具有二进制元素的(l, n)矩阵,vT标示行矢量v的转置列矢量,fT标示行矢量f = f1 ,…, fl的转置列矢量,并且当vcorr为代码C的码字时,f1 = f2 = … = fl适用,且对于(至少)非码字vcorr,适用f的不是所有分量f1 = f2 = … = fl都相等,并且当不是所有的分量都相等时,纠错电路FE指示错误。
此外,电路FE的电路输出A1, …, Al可以引向第一组合电路SFE1的l个输入中以实现具有在其1位宽输出处输出二进制错误信号e1的控制值的布尔函数。
依照另一个方面,电路FE的电路输出A1, …, Al连接到第一组合电路SFE1以实现具有控制值1的l位布尔函数,并且连接到第二组合电路SFE2的l个输入以实现具有控制值0的另一布尔函数,其中电路SFE1输出二进制错误信号e1并且电路SFE2输出二进制错误信号e2
此外,(l, n)矩阵L可以由下式确定
L = K·H
其中H为纠错线性码C的(m, n)H矩阵,并且K为不等于零矩阵的二进制(l, m)矩阵,并且m=n-q且l≤m。
可替换地,l=m并且K为例如(m, m)单位矩阵。
依照另一方面,(l, n)矩阵L = (L1, L2…, L1)由矩阵(M = K ∙ H = M1, M2, … M1)确定,对于矩阵L的h(h≤l)列的子集{Li1, …, Lih},即Li1 =
Figure 2011103951081100002DEST_PATH_IMAGE041
, Li2 =
Figure 333746DEST_PATH_IMAGE042
, …, Lih =
Figure 2011103951081100002DEST_PATH_IMAGE043
适用,而对于所有其他l-h列,对于j = h + 1, …, l,Lij = Mij适用,并且其中列
Figure 754495DEST_PATH_IMAGE044
由矩阵M的列
Figure 2011103951081100002DEST_PATH_IMAGE045
形成,其中列
Figure 869081DEST_PATH_IMAGE045
的所有l个分量倒置。例如,h=1。
此外,纠错码C的码字的第一位组v1 = u,c和第二位组v2 = a可以由k位的位组u = u1, …, uk、m位的位组c = c1, …, cm以及r位的位组a即a = a1, …, ar组成,其中k + r + m = n适用,其中u为数据位,a为地址位,u和a形成纠错码C的信息位,并且c为纠错码C的校验位,其中校验位c由(u,a)确定,并且数据位u和校验位c在存储装置中存储在地址a之下。
例如,数据位u和校验位c为被纠正的位。可替换地,所有n位可以被纠正,并且v1 =
Figure 118797DEST_PATH_IMAGE046
…,
Figure 2011103951081100002DEST_PATH_IMAGE047
包括所有n位且v2不包括位。
此外,除了纠错电路FKS之外,至少一个另外的纠错电路FKS*可以存在,其中纠错电路FKS的n个电路输出中的每一个引向异或门的第一输入中,该异或门至少包括一个另外的输入。在该至少一个另外的输入处,在正确的位置处连接了所述另外的纠错电路FKS*的相应输出线,并且异或门的输出在正确的位置处连接到错误检测电路FE的相应输入。
可替换地或者此外,除了所述至少一个纠错电路FKS之外,也存在至少一个用于将信息位数据编码DK(编码器)成代码C的码字v = v1, …, vn的电路,并且携带用于数据编码DK的电路的位v1, …, vn的输出线在正确的位置处连接到错误检测电路FE的输入。
通常,上面描述的错误纠正器、错误检测器、组合器、编码器、错误指示确定器、用于纠正位错误的装置和/或用于确定错误检测位序列的装置可以是独立的硬件单元或者是计算机、微控制器或数字信号处理器的部分以及是用于在计算机、微控制器或数字信号处理器上运行的计算机程序或软件产品。
此外,上面描述的错误纠正器、错误检测器、组合器、编码器、错误指示确定器、用于纠正位错误的装置和/或用于确定错误检测位序列的装置可以彼此独立地实现或者至少部分地一起实现。为此,例如,这些单元中的两个或更多的功能可以通过合成工具至少部分地联合成组合硬件单元或者软件单元。
尽管在设备的上下文中描述了所描述构思的一些方面,但是清楚的是,这些方面也代表相应方法的描述,其中框或设备与方法步骤或者方法步骤的特征相应。类似地,在方法步骤的上下文中描述的方面也代表相应设备的相应框或项目或特征的描述。
取决于特定实现要求,实施例可以以硬件或以软件实现。该实现可以使用在其上存储了电子可读控制信号的数字存储介质来执行,所述介质例如软盘、DVD、蓝光光盘、CD、ROM、PROM、EPROM、EEPROM或者闪速存储器,其与可编程计算机系统协作(或者能够与可编程计算机系统协作),使得对应方法被执行。因此,数字存储介质可以是计算机可读的。
一些实施例包括具有电子可读控制信号的数据载体,这些控制信号能够与可编程计算机系统协作,使得本文描述的方法之一被执行。
通常,实施例可以实现为具有程序代码的计算机程序产品,该程序代码可操作用于在计算机上运行计算机程序产品时执行所述方法之一。该程序代码可以例如存储在机器可读载体上。
其他实施例包括用于执行本文描述的方法之一的存储在机器可读载体上的计算机程序。
换言之,发明方法的一个实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机上运行计算机程序时执行本文描述的方法之一。
因此,发明方法的另一实施例是数据载体(或者数字存储介质或者计算机可读介质),包括在其上记录的用于执行本文描述的方法之一的计算机程序。
因此,发明方法的另一实施例是代表用于执行本文描述的方法之一的计算机程序的数据流或信号序列。该数据流或信号序列可以例如被配置成经由数据通信连接(例如经由因特网)进行传输。
另一实施例包括处理装置,例如计算机或可编程逻辑设备,其被配置成或者适于执行本文描述的方法之一。
另一实施例包括计算机,该计算机具有安装于其上的用于执行本文描述的方法之一的计算机程序。
在一些实施例中,可编程逻辑设备(例如现场可编程门阵列)可以用来执行本文描述的方法的一些或所有功能。在一些实施例中,现场可编程门阵列可以与微处理器协作以便执行本文描述的方法之一。通常,这些方法优选地由任何硬件设备执行。
上面描述的实施例仅仅说明了所描述的原理。理解的是,本文描述的布置和细节的修改和变化对于本领域其他技术人员将是清楚明白的。因此,目的仅由待决(impending)专利权利要求书的范围限制而不由通过描述和解释本文的实施例的方式给出的特定细节限制。
尽管一些从属权利要求仅仅涉及一个其他权利要求,但是与一个或多个另外的从属权利要求或者不同的独立权利要求的组合也可以是可能的。此外,也可以组合不同的独立权利要求。

Claims (22)

1.一种用于检测编码二进制字中的错误的设备,该设备包括:
错误纠正器,被配置成纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误以形成纠正的位子集,使得在错误纠正器无错误地工作的情况下纠正的位子集等于纠错码的码字的相应位子集;以及
错误检测器,被配置成确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列,其中错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的纠正的编码二进制字。
2.依照权利要求1的设备,其中纠错码包括一定数量的校验位,并且其中错误检测位序列包括比纠错码的校验位数量更少的位。
3.依照权利要求1的设备,其中错误检测器被配置成确定错误检测位序列,使得错误检测位序列对于纠错码的第一码字子集而言等于第一预定义检测位序列,并且对于纠错码的第二码字子集而言等于第二预定义检测位序列,其中第一预定义检测位序列与第二预定义检测位序列不同,并且纠错码的第一码字子集与纠错码的第二码字子集不同。
4.依照权利要求3的设备,其中如果错误纠正器输出的纠正的编码二进制字不是纠错码的码字,则错误检测位序列不等于第一预定义检测位序列和第二预定义检测位序列。
5.依照权利要求3的设备,其中第一预定义检测位序列的位都为0并且第二预定义检测位序列的位都为1。
6.依照权利要求1的设备,其中有错位子集是有错编码二进制字的位真子集,其中错误纠正器输出的纠正的编码二进制字包含的有错编码二进制字的位真子集是相比于有错位子集的互补位子集。
7.依照权利要求1的设备,其中有错位子集等于有错编码二进制字,其中纠正的编码二进制字仅包含代表纠正的有错编码二进制字的纠正的子集。
8.依照权利要求1的设备,其中错误检测器被配置成基于错误检测矩阵和错误检测器输入二进制字的乘积来确定错误检测位序列,其中该错误检测矩阵基于纠错码的校验矩阵。
9.依照权利要求8的设备,其中错误检测矩阵包括比校验矩阵更少的行或者比校验矩阵更少的列。
10.依照权利要求8的设备,其中错误检测矩阵包括通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素或者通过倒置由变换矩阵和校验矩阵的乘积得到的矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
11.依照权利要求1的设备,其中纠错码为线性纠错码。
12.依照权利要求1的设备,其中有错编码二进制字包括代表数据位的第一位组、代表纠错码的校验位的第二位组以及代表地址位的第三位组,其中有错位子集仅仅包含第一位组和第二位组,其中纠正的编码二进制字包含纠正的位子集以及有错编码二进制字的第三位组。
13.依照权利要求12的设备,进一步包括可寻址存储装置,其中至少第一位组和第二位组存储在由第三位组指示的可寻址存储装置的地址处。
14.依照权利要求1的设备,进一步包括组合器,该组合器被配置成通过组合纠正的编码二进制字和第二编码二进制字而确定错误检测器输入二进制字,使得在纠正的编码二进制字和第二编码二进制字为纠错码的码字的情况下错误检测器输入二进制字为纠错码的码字,并且使得在纠正的编码二进制字或第二编码二进制字不是纠错码的码字的情况下错误检测器输入二进制字不是纠错码的码字。
15.依照权利要求14的设备,进一步包括第二错误纠正器,该第二错误纠正器被配置成纠正由纠错码编码的第二有错编码二进制字的第二有错位子集中的可纠正位错误以形成第二纠正的编码二进制字,使得在第二错误纠正器无错误地工作的情况下纠正的第二位子集等于纠错码的码字的相应位子集,其中第二纠正的编码二进制字包含第二有错编码二进制字的最大位真子集以及纠正的第二位子集。
16.依照权利要求14的设备,进一步包括编码器,该编码器被配置成依照纠错码对二进制字进行编码以获得可以包括第二有错编码二进制字的第二编码二进制字。
17.依照权利要求14的设备,其中组合器被配置成通过逐位逻辑异或功能来组合纠正的编码二进制字和第二编码二进制字以获得错误检测器输入二进制字。
18.依照权利要求1的设备,进一步包括错误指示确定器,该错误指示确定器被配置成基于错误检测位序列来确定指示是否检测到错误检测器输入二进制字中的错误的错误指示位序列,其中该错误指示位序列在对于纠错码的所有码字仅可获得错误检测位序列的一个可能值的情况下包括一位,或者该错误指示位序列在对于纠错码的不同码字可获得错误检测位序列的至少两个不同的可能值的情况下包括两位。
19.一种错误检测器,被配置成确定指示错误检测器输入二进制字是否为线性纠错码的码字的错误检测位序列,其中该错误检测器被配置成基于错误检测矩阵和错误检测器输入二进制字的乘积来确定错误检测位序列,其中该错误检测矩阵基于线性纠错码的校验矩阵,并且其中该错误检测矩阵包括比线性纠错码的校验矩阵的行数量更少的行或者比线性纠错码的校验矩阵的列数量更少的列。
20.一种错误检测器,被配置成确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列,其中该错误检测器被配置成基于错误检测矩阵和错误检测输入二进制字的乘积来确定错误检测位序列,其中该错误检测矩阵基于纠错码的校验矩阵,其中该错误检测矩阵包括通过倒置校验矩阵的相应列的至少一个元素或者相应行的至少一个元素或者通过倒置由变换矩阵和校验矩阵的乘积得到的矩阵的相应列的至少一个元素或者相应行的至少一个元素而导出的至少一列或至少一行。
21.一种用于检测用于纠正线性纠错码C的码字中的错误的电路中的错误的电路系统S,包括:
纠错电路,其中该纠错电路包括用于输入包括两个位组v’1 =
Figure 2011103951081100001DEST_PATH_IMAGE001
和v’2 =
Figure 84881DEST_PATH_IMAGE002
的n分量二进制字v’ =
Figure 2011103951081100001DEST_PATH_IMAGE003
的n个二进制输入以及用于输出第一位组的p个纠正的位
Figure 470863DEST_PATH_IMAGE004
的p个输出,其中1 ≤ p ≤ n适用,
其中线性纠错码包括长度为n、具有q个信息位的码字v = v1,…, vn = v1, v2,其中q<n并且这些码字包括第一位组v1 = v1,…, vp和第二位组v2 = vp+l,…,vn,其中第一位组中的错误由纠错电路纠正为并且第二位组中的错误不被纠正,并且其中由纠错电路纠正的第一位组的位
Figure 2011103951081100001DEST_PATH_IMAGE007
以及第二位组的未纠正的位υ 2形成n位二进制字vcorr =
Figure 719442DEST_PATH_IMAGE008
其中纠错电路被设置成使得在纠错电路无错误时,当输入码字
Figure 2011103951081100001DEST_PATH_IMAGE009
时,vcorr= v适用;并且
存在具有n个二进制输入和l个二进制输出A1, …, A l 且被配置成输出l分量错误信号f1…,fl的错误检测电路,所述l分量错误信号形成l个确定的二进制值i1,i2 …il的错误信号f = f1…,fl,使得对于代码C的任何码字vcorr的输入而言,对于错误信号的分量,
Figure 331295DEST_PATH_IMAGE010
适用,并且被配置成输入非码字vcorr,错误信号的分量的不是所有分量f1 i1, f2 i2, …, fl il都相等,并且在错误信号f的分量f1 i1, f2 i2, …, fl il的不是所有值都相等并且l ≤ n – q适用时,错误检测电路指示错误,并且其中如果ij=0适用,则
Figure DEST_PATH_IMAGE012A
适用,j=1,…,l,并且如果ij=1适用,则
Figure 2011103951081100001DEST_PATH_IMAGE013
22.一种用于检测编码二进制字中的错误的方法,该方法包括:
纠正由纠错码编码的有错编码二进制字的有错位子集中的可纠正位错误以形成纠正的位子集,在可纠正位错误的纠正无错误地完成的情况下所述纠正的位子集等于纠错码的码字的相应位子集;以及
确定指示错误检测器输入二进制字是否为纠错码的码字的错误检测位序列,其中错误检测器输入二进制字基于包含纠正的位子集以及有错编码二进制字的最大位真子集的纠正的编码二进制字。
CN201110395108.1A 2010-12-03 2011-12-02 用于检测编码二进制字中的错误的设备和方法 Active CN102546095B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/959,838 US8898535B2 (en) 2010-12-03 2010-12-03 Apparatus and method for detecting an error within a coded binary word
US12/959838 2010-12-03

Publications (2)

Publication Number Publication Date
CN102546095A true CN102546095A (zh) 2012-07-04
CN102546095B CN102546095B (zh) 2015-08-19

Family

ID=46083121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110395108.1A Active CN102546095B (zh) 2010-12-03 2011-12-02 用于检测编码二进制字中的错误的设备和方法

Country Status (3)

Country Link
US (1) US8898535B2 (zh)
CN (1) CN102546095B (zh)
DE (1) DE102011087634B9 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490851A (zh) * 2012-06-12 2014-01-01 美国博通公司 用于二进制编码的符号映射
CN106448738A (zh) * 2016-11-10 2017-02-22 电子科技大学 一种可编程存储器读出自检电路及方法
CN106845593A (zh) * 2017-01-16 2017-06-13 武汉大学 一种矩形固定点阵信息编解码方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966355B2 (en) * 2012-02-15 2015-02-24 Infineon Technologies Ag Apparatus and method for comparing pairs of binary words
FR3051095B1 (fr) * 2016-05-04 2020-11-13 Valeo Iluminacion Sa Detection de defaillance partielle et/ou totale d'un groupe de sources lumineuses d'un vehicule
CN108664906B (zh) * 2018-04-27 2023-02-10 温州大学激光与光电智能制造研究院 一种基于卷积网络的火灾场景中内容的检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070135A1 (en) * 2001-10-05 2003-04-10 Laurent Murillo High-efficiency error detection and/or correction code
CN1979680A (zh) * 2005-12-05 2007-06-13 株式会社东芝 信息读取装置和方法、和相关存储介质
US20070277070A1 (en) * 2006-01-13 2007-11-29 Infineon Technologies Ag Apparatus and method for checking an error detection functionality of a data processor
CN101340193A (zh) * 2008-08-12 2009-01-07 普天信息技术研究院有限公司 一种低密度校验码的构造方法、编码器和译码器
CN101471753A (zh) * 2000-07-11 2009-07-01 Lg电子株式会社 通信系统和在其中发送信号的方法
US20100223525A1 (en) * 2009-02-27 2010-09-02 Advanced Micro Devices, Inc. Error detection device and methods thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745363B2 (en) * 1999-07-30 2004-06-01 Hewlett-Packard Development Company, Lp Early error detection using ECC
JP3527873B2 (ja) * 1999-09-03 2004-05-17 松下電器産業株式会社 誤り訂正装置
US7203890B1 (en) * 2004-06-16 2007-04-10 Azul Systems, Inc. Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
JPWO2008132813A1 (ja) * 2007-04-17 2010-07-22 パナソニック株式会社 無線通信装置および無線通信方法
US8069392B1 (en) * 2007-10-16 2011-11-29 Integrated Device Technology, Inc. Error correction code system and method
DE112007003639B4 (de) * 2007-11-03 2016-07-28 Robert Bosch Gmbh Verfahren und System zum Erfassen einer Störung in einer Fehlerkorrektureinheit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471753A (zh) * 2000-07-11 2009-07-01 Lg电子株式会社 通信系统和在其中发送信号的方法
US20030070135A1 (en) * 2001-10-05 2003-04-10 Laurent Murillo High-efficiency error detection and/or correction code
CN1979680A (zh) * 2005-12-05 2007-06-13 株式会社东芝 信息读取装置和方法、和相关存储介质
US20070277070A1 (en) * 2006-01-13 2007-11-29 Infineon Technologies Ag Apparatus and method for checking an error detection functionality of a data processor
CN101340193A (zh) * 2008-08-12 2009-01-07 普天信息技术研究院有限公司 一种低密度校验码的构造方法、编码器和译码器
US20100223525A1 (en) * 2009-02-27 2010-09-02 Advanced Micro Devices, Inc. Error detection device and methods thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490851A (zh) * 2012-06-12 2014-01-01 美国博通公司 用于二进制编码的符号映射
CN106448738A (zh) * 2016-11-10 2017-02-22 电子科技大学 一种可编程存储器读出自检电路及方法
CN106448738B (zh) * 2016-11-10 2019-09-10 电子科技大学 一种可编程存储器读出自检电路及方法
CN106845593A (zh) * 2017-01-16 2017-06-13 武汉大学 一种矩形固定点阵信息编解码方法

Also Published As

Publication number Publication date
DE102011087634B4 (de) 2017-02-23
DE102011087634B9 (de) 2017-05-18
DE102011087634A1 (de) 2012-06-06
US8898535B2 (en) 2014-11-25
US20120144260A1 (en) 2012-06-07
CN102546095B (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
US9582354B2 (en) Apparatus and method for improving data storage by data inversion
US7904783B2 (en) Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) Methods of soft-input soft-output decoding for nonvolatile memory
US6453440B1 (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US6473880B1 (en) System and method for protecting data and correcting bit errors due to component failures
EP1792254B1 (en) Memory array error correction
CN102546095B (zh) 用于检测编码二进制字中的错误的设备和方法
US20080104476A1 (en) Method, system, and apparatus for adjacent-symbol error correction and detection code
CN102201266A (zh) 半导体存储器装置
US10382060B2 (en) On-line self-checking hamming encoder, decoder and associated method
CN104393878A (zh) 用于纠正在编码比特序列中的至少单比特错误的设备和方法
CN102487312A (zh) 用于检测多个编码二进制字中的错误的设备和方法
US7747926B2 (en) Methods and apparatus for a memory device with self-healing reference bits
US6393597B1 (en) Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures
US8856629B2 (en) Device and method for testing a circuit to be tested
RU2450332C1 (ru) Устройство хранения информации с обнаружением одиночных и двойных ошибок
US20150341056A1 (en) Device for correcting two errors with a code of hamming distance three or four
RU2297034C2 (ru) Отказоустойчивое устройство хранения информации
RU2297035C2 (ru) Отказоустойчивое запоминающее устройство
RU2297030C2 (ru) Самокорректирующееся устройство хранения информации
RU2297031C2 (ru) Отказоустойчивое устройство
RU2297032C2 (ru) Самокорректирующееся запоминающее устройство
RU42685U1 (ru) Отказоустойчивое устройство
US10268547B2 (en) Memory protection device and method
RU42686U1 (ru) Самокорректирующееся устройство

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant