專利名稱:用于檢測編碼二進制字中的錯誤的設(shè)備和方法
技術(shù)領(lǐng)域:
實施例涉及數(shù)字信號的糾錯和錯誤檢測,并且特別地涉及用于檢測編碼ニ進制字中的錯誤的設(shè)備和方法以及用于檢測由糾錯碼編碼的多個編碼ニ進制字中的錯誤的設(shè)備和方法。
背景技術(shù):
為了糾正利用糾錯碼編碼的數(shù)據(jù),使用了糾錯電路。作為用于糾錯的代碼,頻繁地使用Hamming碼、Hsiao碼、BCK碼和其他碼。為了對利用糾錯碼編碼的數(shù)據(jù)進行糾錯,可以使用糾錯電路。由于電子電路的高集成度,瞬時和永久的硬件錯誤更頻繁地發(fā)生,這也可能破壞糾錯電路。即使要由錯誤的糾錯電路處理的數(shù)據(jù)是正確的,該錯誤的糾錯電路也可能導(dǎo)致要由該錯誤的糾錯電路處理的數(shù)據(jù)的錯誤的糾正,這是不利的并且應(yīng)當(dāng)例如在安全關(guān)鍵的應(yīng)用中實際地排除棹。
發(fā)明內(nèi)容
依照ー個方面的一個實施例提供了一種用于檢測編碼ニ進制字中的錯誤的設(shè)備, 該設(shè)備包括錯誤糾正器和錯誤檢測器。錯誤糾正器被配置成糾正由糾錯碼編碼的有錯編碼 ニ進制字的有錯位子集中的可糾正位錯誤,使得在錯誤糾正器無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集。此外,錯誤檢測器被配置成確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。錯誤檢測器輸入ニ進制字基于包含糾正的位子集以及有錯編碼ニ進制字的最大位真子集的、糾正的編碼ニ進制字。通過確定錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字,可以檢測錯誤檢測器輸入ニ進制字中的錯誤。該錯誤可能因由錯誤糾正器執(zhí)行的有錯糾錯造成或者因未由錯誤糾正器糾正的有錯編碼ニ進制字的位真子集中的錯誤造成。依照ー個方面的另ー個實施例提供了ー種錯誤檢測器,其被配置成確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。該錯誤檢測器可以基于錯誤檢測矩陣和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列。該錯誤檢測矩陣基于糾錯碼的校驗矩陣。此外,該錯誤檢測矩陣包括比校驗矩陣更少的行或者比校驗矩陣更少的列。依照ー個方面的另ー實施例提供了ー種錯誤檢測器,其被配置成確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。該錯誤檢測器基于錯誤檢測矩陣和錯誤檢測輸入ニ進制字的乘積來確定錯誤檢測位序列。此外,該錯誤檢測矩陣基于糾錯碼的校驗矩陣,并且該錯誤檢測矩陣包括通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少一行。依照另ー個方面的另ー個實施例提供了一種用于檢測由糾錯碼編碼的所述多個編碼ニ進制字中的錯誤的設(shè)備,該設(shè)備包括組合器和錯誤檢測器。組合器被配置成通過組合所述多個編碼ニ進制字的第一編碼ニ進制字和第二編碼ニ進制字而確定組合ニ進制字, 使得在第一編碼ニ進制字和第二編碼ニ進制字為糾錯碼的碼字的情況下確定的組合ニ進制字為糾錯碼的碼字,并且使得在第一編碼ニ進制字或第二編碼ニ進制字不是糾錯碼的碼字的情況下確定的組合編碼ニ進制字不是糾錯碼的碼字。此外,錯誤檢測器被配置成確定指示確定的組合ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。通過以使得在所有組合編碼ニ進制字為糾錯碼的碼字的情況下所述組合ニ進制字再次為糾錯碼的碼字的方式組合兩個或更多編碼ニ進制字,使用相同的錯誤檢測器以用于同時檢測兩個或更多編碼ニ進制字中的錯誤可能就足夠了。因此,例如,只需ー個錯誤檢測器以用于檢測由糾錯碼編碼的多個ニ進制字中的錯誤。以這種方式,可以顯著地降低用于錯誤檢測的硬件努力。
隨后將參照附圖詳細(xì)描述實施例,在附圖中
圖1為用于檢測編碼ニ進制字中的錯誤的設(shè)備的框圖2為用于檢測編碼ニ進制字中的錯誤的設(shè)備的框圖3為用于存儲和提供ニ進制字的可尋址存儲裝置的框圖4為錯誤檢測器和錯誤指示確定器的框圖5為錯誤檢測器和錯誤指示確定器的框圖6為用于檢測編碼ニ進制字中的錯誤的設(shè)備的框圖7為用于檢測編碼ニ進制字中的錯誤的設(shè)備的框圖8為用于檢測編碼ニ進制字中的錯誤的方法的流程圖9為用于檢測由糾錯碼編碼的多個編碼ニ進制字中的錯誤的設(shè)備的框圖;以及
圖10為用于檢測由糾錯碼編碼的多個編碼ニ進制字中的錯誤的方法的流程圖。
具體實施例方式在下文中,相同的附圖標(biāo)記部分地用于具有相同或相似功能特性的對象和功能單元,并且其關(guān)于一幅圖的描述應(yīng)當(dāng)也適用于其他圖以便降低實施例描述中的冗余性。圖1示出了依照ー個方面的實施例的用于檢測編碼ニ進制字中的錯誤的設(shè)備100 的框圖。設(shè)備100包括連接到錯誤檢測器120的錯誤糾正器110。錯誤糾正器110糾正由糾錯碼編碼的有錯編碼ニ進制字的有錯位子集中的可糾正位錯誤102,使得在錯誤糾正器 110無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集。此外,錯誤檢測器120確定指示錯誤檢測器輸入ニ進制字118是否為糾錯碼的碼字的錯誤檢測位序列122。 錯誤檢測器輸入ニ進制字118基于包含有錯編碼ニ進制字102的糾正的位子集以及最大位真子集的糾正的編碼ニ進制字112。通過確定錯誤檢測器輸入ニ進制字118是否為糾錯碼的碼字,可以檢測錯誤糾正器造成的錯誤和/或由糾正的編碼ニ進制字112包含的有錯編碼ニ進制字102的位真子集中已經(jīng)存在的錯誤。因此,可以顯著地降低糾錯之后編碼ニ進制字中的錯誤的概率,使得可以顯著地改進總體錯誤檢測概率。在該實例中以及在下面的實例中,ニ進制字包括與糾錯碼的碼字相同數(shù)量的位。 ニ進制字或碼字的位子集可以是空的子集,可以包含ニ進制字或碼字的ー些位,或者可以包含ニ進制字或碼字的所有位。此外,ニ進制字或碼字的真子集可以是空的子集,或者可以包含ニ進制字或碼字的ー些位而不是所有位。錯誤糾正器110可以被實現(xiàn)為使得編碼ニ進制字的所有位中的可糾正位錯誤可以被糾正,或者使得提供給錯誤糾正器110的編碼ニ進制字的僅僅部分位被糾正。例如,編碼ニ進制字可能包括不可糾正的地址位,并且因此可以降低用于錯誤糾正器110的硬件努力。在該實例中,如果向錯誤糾正器110提供有錯編碼ニ進制字,則在有錯位真子集中可以僅僅糾正可糾正位錯誤。換言之,有錯ニ進制字的有錯位子集可以包含有錯編碼ニ進制字102的所有位, 或者該有錯位子集可以是有錯編碼ニ進制字102的位真子集并且包含有錯編碼ニ進制字 102的不是所有位。例如,有錯編碼ニ進制字102包含20位,并且有錯位子集包含具有至少ー個有錯位的有錯編碼ニ進制字102的前14位。于是,錯誤糾正器110糾正該有錯位子集的14位中的可糾正位錯誤(例如所述至少一個有錯位),而如果錯誤糾正器110無錯誤地工作,則它不糾正有錯位子集不包含的有錯編碼ニ進制字102的后6位中的可糾正位錯誤。如果有錯位子集包含有錯編碼ニ進制字102的所有20位,則錯誤糾正器110糾正每個可糾正位錯誤。 如果向錯誤糾正器提供無錯編碼ニ進制字,則位子集(其在這種情況下為非“有錯”子集)的 14位中沒有一個被糾正并且所述糾正的位子集等于無錯編碼ニ進制字的所述14位。所述糾正的位子集包含與有錯位子集相同數(shù)量的位,但是如果有錯子集包括可糾正位錯誤,則至少一位可能基于糾錯碼而被錯誤糾正器110糾正。如果錯誤糾正器110無錯誤地工作,則糾正的位子集與糾錯碼的碼字的位子集相應(yīng),這是可糾正位錯誤的糾正結(jié)果。否則,錯誤糾正器110可以輸出包含至少ー個有錯位的有錯糾正位子集。錯誤糾正器 110的這種有錯行為可以由錯誤檢測器120檢測。錯誤糾正器110的輸入可以是編碼ニ進制字的所有位,因為所有位可能對于基于糾錯碼的糾錯是必要的。如果輸入編碼ニ進制字包括至少ー個有錯位,則它為有錯編碼ニ 進制字。代表錯誤糾正器110的輸出的糾正的位子集可以包括比輸入編碼ニ進制字更少的位,這取決于錯誤糾正器110是糾正了有錯編碼ニ進制字的所有位中的可糾正位錯誤還是僅僅糾正了有錯編碼ニ進制字的有錯位真子集中的可糾正位錯誤。錯誤檢測器120確定指示錯誤檢測器輸入ニ進制字118是否為糾錯碼的碼字的錯誤檢測位序列122。例如,錯誤檢測器120可以基于糾錯碼而確定錯誤檢測位序列122,使得該錯誤檢測位序列可以代表錯誤檢測器輸入ニ進制字118的錯誤伴隨式(syndrome)。在該實例中,錯誤檢測位序列102可以包括等于糾錯碼的校驗位數(shù)量的數(shù)量的位。以這種方式,每個可檢測錯誤(取決于糾錯碼)可以由錯誤檢測器120檢測(如果錯誤檢測器無錯誤地工作)??商鎿Q地,例如,錯誤檢測器120可以確定錯誤檢測位序列122,使得錯誤檢測位序列102代表錯誤檢測器輸入ニ進制字118的僅僅降低的錯誤伴隨式(例如錯誤伴隨式的位子集或者錯誤伴隨式的位函數(shù)例如作為錯誤伴隨式的所有位的奇偶性),導(dǎo)致降低的錯誤檢測概率而且導(dǎo)致對錯誤檢測器120的降低的硬件要求。換言之,錯誤檢測位序列122 可以包括比糾錯碼的校驗位數(shù)量更少的位。以這種方式,錯誤檢測器120的錯誤檢測概率可以適應(yīng)要求的錯誤檢測概率,導(dǎo)致對于降低的錯誤檢測概率要求的降低的硬件要求。因此,必要的硬件努力可以容易地適應(yīng)具有不同的錯誤檢測概率要求的應(yīng)用。換言之,糾錯碼可以由錯誤糾正器用于糾正有錯位子集中的可糾正位錯誤,并且相同的糾錯碼可以由錯誤檢測器用于檢測錯誤檢測器輸入ニ進制字118中的錯誤。在這ー 點上,糾錯碼也可以稱為錯誤糾正和檢測碼或者錯誤糾正/檢測碼,并且可以用于糾錯或用于錯誤檢測或者用于錯誤糾正和檢測。例如,代碼可以用于糾錯和用于錯誤檢測。例如,Hamming碼可以用于1位糾錯或者用于1位和2位錯誤檢測。類似地,Hsiao碼可以用于1位糾錯并且同時用于2位錯誤檢測。如果Hsiao碼僅僅用于錯誤檢測,則檢測1位、2位和3位錯誤。在這里,使用了概念 “糾錯碼”,并且沒有排除相應(yīng)的代碼也可以用于錯誤檢測。錯誤檢測器輸入ニ進制字118基于包含有錯編碼ニ進制字102的糾正的位子集以及最大位真子集的糾正的編碼ニ進制字112。錯誤檢測器輸入ニ進制字118可以是糾正的編碼ニ進制字112本身或者糾正的編碼ニ進制字112可以與ー個或多個其他編碼ニ進制字 114組合以獲得錯誤檢測器輸入ニ進制字118,如以后將更詳細(xì)地解釋的。糾正的編碼ニ進制字112包含可能糾正的位子集以及有錯編碼ニ進制字的最大位真子集。取決于錯誤糾正器110可以實現(xiàn)為是糾正有錯編碼ニ進制字的所有位中的可糾正位錯誤還是僅僅糾正有錯編碼ニ進制字的位真子集中的可糾正位錯誤,糾正的編碼ニ進制字112可以僅僅包含糾正的位子集(代表編碼ニ進制字的所有位)并且不包含有錯編碼ニ 進制字本身的位(未被錯誤糾正器糾正的位),或者糾正的編碼ニ進制字112可以包含僅僅代表編碼ニ進制字的位真子集的糾正的位子集以及未被錯誤糾正器110糾正的有錯編碼 ニ進制字的ー個或多個位(位真子集)。換言之,有錯編碼ニ進制字的位真子集可以是空的子集或者可以包含有錯編碼ニ進制字的一位與有錯編碼ニ進制字的除一位之外的所有位之間的情況。再換句話說,考慮編碼ニ進制字的至少一位由錯誤糾正器110糾正,使得最大為有錯編碼ニ進制字的除一位之外的所有位(位真子集)由糾正的編碼ニ進制字112直接包含而不經(jīng)錯誤糾正器110處理。圖2示出了依照ー個方面的實施例的用于檢測編碼ニ進制字中的錯誤的設(shè)備200 的框圖。設(shè)備200類似于圖1中所示的設(shè)備,并且圖解說明了被實現(xiàn)用于僅僅糾正有錯編碼ニ進制字ν’ 21的位的部分(真子集)的錯誤糾正器23 (H(S)的實例。錯誤糾正器23的輸入可以是有錯編碼ニ進制字ν’ 21,其包含要糾正的第一位組ν’1以及不要糾正的第二位組ν ’2。如果要糾正的位包含可糾正位錯誤(有錯編碼ニ進制字ν,的有錯位子集ν ’1)并且錯誤糾正器23無錯誤地工作,則糾正的位子集V1em 24等于糾錯碼的碼字的相應(yīng)位子集。 如果錯誤糾正器23不是無錯誤地工作,則糾正的位子集ノ。。
24可能包括至少ー個有錯位并且因此不等于糾錯碼的碼字的相應(yīng)位子集。在糾正有錯子集ν’ 1之后,將糾正的位子集 V1corr M和未被考慮糾正的第二位組V’ 2 (代表有錯編碼ニ進制字V’的位真子集V’2)提供給錯誤檢測器25。錯誤檢測器25確定錯誤檢測位序列A1,…,A1 26,該錯誤檢測位序列指示在該實例中為包含糾正的位子集ノ。。
M以及有錯編碼ニ進制字V’ 21的位真子集 V’ 2的糾正的編碼ニ進制字v。。 的錯誤檢測器輸入ニ進制字是否是糾錯碼的碼字。在該實例中,有錯子集ν’1是有錯編碼ニ進制字V’ 21的位真子集,這意味著錯誤糾正器23可以不糾正編碼ニ進制字的所有位的可糾正位錯誤。此外,糾正的編碼ニ進制字 Vcorr包含的有錯編碼ニ進制字V’的位真子集V’ 2是相比于有錯位子集V’ 1的互補位子集。 這意味著有錯編碼ニ進制字V’ 21的位真子集V’2包含對于其來說可糾正位錯誤不被錯誤糾正器23糾正的編碼ニ進制字的位。再換句話說,如果錯誤糾正器23無錯誤地工作并且有錯編碼ニ進制字ν’ 21的位真子集ν’2不包括位錯誤,則糾正的位子集ノ。。 和有錯編碼 ニ進制字ν’ 21的位真子集ν’ 2使彼此完整以形成碼字v。OT (糾錯碼)。在一些實施例中,錯誤檢測位序列122 J6可以由錯誤檢測器120、25確定,使得錯誤檢測位序列122 J6對于糾錯碼的所有可能的碼字都包括相同的預(yù)定義檢測位序列。以這種方式,可以根據(jù)錯誤檢測位序列122 J6容易地確定錯誤檢測器輸入ニ進制字是否是糾錯碼的碼字。例如,該預(yù)定義檢測位序列可以僅包括等于0的位或者僅包括等于1的位, 盡管也可以為預(yù)定義檢測位序列選擇其他位序列??商鎿Q地,依照ー個方面的實施例,錯誤檢測位序列122J6可以由錯誤檢測器 120、25確定,使得錯誤檢測位序列122 J6對于糾錯碼的不同碼字包括超過ー個預(yù)定義檢測位序列。例如錯誤檢測器120、25可以確定錯誤檢測位序列122、26,使得錯誤檢測位序列 122 J6對于糾錯碼的第一碼字子集而言等于第一預(yù)定義檢測位序列,并且對于糾錯碼的第 ニ碼字子集而言等于第二預(yù)定義檢測位序列。第一預(yù)定義檢測位序列與第二預(yù)定義檢測位序列不同并且第一子集與第二子集不同。以這種方式,可以識別至少在錯誤檢測器120的輸出處的固定差錯(stuck at fault),因為至少對于糾錯碼的兩個不同的碼字而言,如果錯誤檢測器120、25無錯誤地工作,則錯誤檢測位序列122 J6包括不同的預(yù)定義檢測位序列。例如,如果對于糾錯碼的每個碼字而言,錯誤檢測位序列122 J6等于第一預(yù)定義檢測位序列或者等于第二預(yù)定義檢測位序列,則如果糾正的編碼ニ進制字不是糾錯碼的碼字,則錯誤檢測位序列122 J6可能不等于第一預(yù)定義檢測位序列和第二預(yù)定義檢測位序列。以這種方式,可以檢測錯誤糾正器110造成的錯誤或者有錯編碼ニ進制字的位真子集中已經(jīng)包含的錯誤。盡管可以為第一預(yù)定義檢測位序列和第二預(yù)定義檢測位序列選擇任意的位序列 (因為在錯誤檢測器的輸出處實施ー個或多個反相器可以實現(xiàn)每ー個預(yù)定義位序列),但是第一預(yù)定義檢測位序列的所有位可能為0并且第二預(yù)定義檢測位序列的所有位可能為1。 以這種方式,可以檢測錯誤檢測器120、25的輸出處的固定為0或固定為1錯誤。例如,錯誤檢測位序列122可以由錯誤指示確定器進ー步處理。在圖4中示出了錯誤指示確定器35的實例。在該實例中,如果錯誤檢測器輸入ニ進制字v。OT等于糾錯碼的任意碼字,則錯誤檢測器34確定僅僅包括等于0的位的錯誤檢測位序列kぐ··k10錯誤指示確定器35包括或非(NOR)門36,該或非門具有用于錯誤檢測位序列的輸入以及一個ニ進制輸出ei,該ニ進制輸出在錯誤檢測位序列僅僅包括等于0的位的情況下等于1而在其他情況下等于0。因此,如果錯誤檢測器34和錯誤指示確定器35無錯誤地工作,則在錯誤指示確定器35的ニ進制輸出ち等于0的情況下檢測到錯誤檢測器輸入ニ進制字v。。 中的錯灰??商鎿Q地,如前面所提到的,對于糾錯碼的不同碼字而言,錯誤檢測位序列ん…ん 可能等于兩個或更多預(yù)定義檢測位序列。圖5示出了在對于糾錯碼的每個碼字而言錯誤檢測位序列包括第一預(yù)定義檢測位序列或者第二預(yù)定義檢測位序列(兩個不同的預(yù)定義檢測位序列)的情況下連接到錯誤檢測器44的輸出的錯誤指示確定器510的實例。錯誤指示確定器510包括具有如上所述的或非門46的第一組合電路45以及具有與(AND)門48的第二組合電路47,該與門依照邏輯與功能來組合錯誤檢測位序列的位以獲得錯誤指示確定器510的第二ニ進制輸出ち?;蚍情T46的ニ進制輸出ち和與門48的ニ進制輸出ち可以一起稱為錯誤指示位序列。如果錯誤指示位序列為01或10,則錯誤檢測位序列僅僅包括等于0的位或者僅僅包括等于1的位,其可以是第一預(yù)定義檢測位序列和第二預(yù)定義檢測位序列——指示錯誤檢測器輸入ニ進制字v。。 是糾錯碼的碼字。因此,如果錯誤指示位序列為00或11 (或非門的ニ進制輸出等于與門的ニ進制輸出),則錯誤檢測器輸入ニ進制字 Vcorr不是糾錯碼的碼字,并且檢測到編碼ニ進制字中的錯誤。換言之,圖1和/或圖2中所示的設(shè)備可以附加地包括錯誤指示確定器,其基于錯誤檢測位序列來確定指示是否檢測到錯誤檢測器輸入ニ進制字中的錯誤的錯誤指示位序列。該錯誤指示位序列可以在對于糾錯碼的所有碼字僅可獲得錯誤檢測位序列的ー個可能值的情況下包括一位,或者該錯誤指示位序列可以在對于糾錯碼的不同碼字可獲得錯誤檢測位序列的至少兩個不同的可能值的情況下包括兩位。例如,糾錯碼可以是線性糾錯碼,但是也可以使用非線性糾錯碼。例如,糾錯碼可以是Hamming碼、Hsiao碼或者BCH碼。在一些實施例中,錯誤檢測器120、25、34、44可以基于錯誤檢測矩陣和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列。錯誤檢測矩陣可以基于糾錯碼的校驗矩陣 (例如奇偶校驗矩陣)。例如,錯誤檢測矩陣包括比校驗矩陣更少的行或者比校驗矩陣更少的列。換言之, 如上面已經(jīng)描述的,錯誤檢測位序列可以包括比糾錯碼的校驗位數(shù)量更少的位。此外,例如,錯誤檢測矩陣包括可通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素或者通過倒置由變換矩陣和校驗矩陣的乘積得到的矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少一行。在一些實施例中,錯誤糾正器110、23的輸入可以是由可尋址存儲裝置(例如ROM、 RAM或非易失性存儲器)、編碼器提供的編碼ニ進制字,或者可以接收自發(fā)送器。在任何情況下,編碼ニ進制字可以包括一個或多個有錯位,導(dǎo)致有錯編碼ニ進制字。例如,編碼ニ進制字或者有錯編碼ニ進制字包括代表數(shù)據(jù)位的第一位組、代表糾錯碼的校驗位的第二位組以及代表地址位的第三位組。此外,有錯編碼ニ進制字的有錯位子集可以僅僅包含第一位組和第二位組,并且糾正的編碼ニ進制字包含糾正的位子集以及有錯編碼ニ進制字的第三位組(代表有錯編碼 ニ進制字的位真子集)。換言之,第一位組和第二位組可以在出現(xiàn)這些位中的可糾正位錯誤并且錯誤糾正器無錯誤地工作的情況下由錯誤糾正器糾正,而在第三位組中出現(xiàn)可糾正位錯誤的情況下第三位組不由錯誤糾正器糾正??赡苁怯绣e編碼ニ進制字的編碼ニ進制字可以由圖3中所示的可尋址存儲裝置51提供給錯誤糾正器。在該實例中,第一位組U、U’(數(shù)據(jù)位)和第二位組C、C’(校驗位) 存儲在由第三位組a (地址位)指示的可尋址存儲裝置51的地址處。如前面已經(jīng)提到的,錯誤檢測器輸入ニ進制字可以是糾正的編碼ニ進制字和至少一個其他編碼ニ進制字的組合。為此,在一些實施例中,用于檢測編碼ニ進制字中的錯誤的設(shè)備附加地包括組合器,該組合器通過組合糾正的編碼ニ進制字和第二編碼ニ進制字而確定錯誤檢測器輸入ニ進制字,使得在糾正的編碼ニ進制字和第二編碼ニ進制字為糾錯碼的碼字的情況下錯誤檢測器輸入ニ進制字為糾錯碼的碼字,并且使得在糾正的編碼ニ進制字或第二編碼ニ進制字不是糾錯碼的碼字的情況下錯誤檢測器輸入ニ進制字不是糾錯碼的碼字。以這種方式,可以由相同的錯誤檢測器同時檢測若干輸入編碼ニ進制字中的錯誤。描述了錯誤檢測器檢測通過代碼C編碼的其輸入序列中的錯誤。在迄今描述的大多數(shù)實例中,相同的代碼C也用于糾正器電路對碼字的位子集中的有錯位進行糾錯??商鎿Q地,所描述的錯誤檢測器也可以應(yīng)用于檢測通過代碼C編碼的其輸入序列中的錯誤位,而與代碼C是否用于糾錯以確定檢測器的輸入序列或者代碼C是僅僅用于糾錯還是用于錯誤檢測無關(guān)。例如,在圖7中,編碼器71的輸出ν是考慮的代碼C的碼字并且ν由編碼器71根據(jù)信息位w確定。編碼器71的輸出通過線74經(jīng)由復(fù)用器MUX 75通過線76不經(jīng)糾正地直接連接到檢測器FE 77的輸入。檢測器77檢測編碼器71的輸出ν是否是考慮的代碼C的碼字。通過檢測器77,可以校驗編碼器71的正確性。并且在這種情況下,代碼C不用于糾正有錯位序列。例如,代碼C可以是Hamming碼并且該代碼可以用于1位糾錯或者用于1 位和2位錯誤檢測。在這種情況下,代碼C用于檢測。圖6示出了用于檢測編碼ニ進制字中的錯誤的設(shè)備600的框圖,其圖解說明了由相同的錯誤檢測器64檢測兩個錯誤糾正器61、62的輸出中的錯誤。第一錯誤糾正器61、第 ニ錯誤糾正器62和錯誤檢測器64可以依照上面描述的ー個或多個方面來實現(xiàn)。換言之, 第二錯誤糾正器62可以糾正由糾錯碼編碼的第二有錯編碼ニ進制字的第二有錯位子集中的可糾正位錯誤,使得在第二錯誤糾正器62無錯誤地工作的情況下糾正的第二位子集66 等于糾錯碼的碼字的相應(yīng)位子集。第二編碼ニ進制字66可以包含第二有錯編碼ニ進制字的最大位真子集以及糾正的第二位子集。在該實例中,前面提到的組合器實現(xiàn)為異或(XOR)門63。換言之,該組合器可以通過逐位邏輯異或功能(異或功能)組合糾正的編碼ニ進制字65和第二編碼ニ進制字66以獲得錯誤檢測器輸入ニ進制字。作為第二錯誤檢測器62的替換,第二編碼ニ進制字62可以由編碼器提供,該編碼器依照糾錯碼對ニ進制字進行編碼以獲得第二編碼ニ進制字66。此外,組合器可以依照所描述的構(gòu)思組合超過兩個編碼ニ進制字,使得相同的錯誤檢測器可以同時檢測由錯誤糾正器、編碼器或發(fā)送器提供的所述多個編碼ニ進制字中的
曰躍。因此,可以顯著地降低用于對由錯誤糾正器、編碼器造成的錯誤和/或發(fā)送器發(fā)送的編碼ニ進制字進行錯誤檢測的硬件努力,因為這些単元中的若干個的輸出可以由相同的錯誤檢測器處理。一些實施例涉及ー種錯誤檢測器,該錯誤檢測器確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。錯誤檢測器可以基于錯誤檢測矩陣和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列。該錯誤檢測矩陣基于糾錯碼的校驗矩陣。 此外,該錯誤檢測矩陣包括比校驗矩陣更少的行或者比校驗矩陣更少的列。以這種方式,錯誤檢測器的錯誤檢測概率可以適應(yīng)要求的錯誤檢測概率,導(dǎo)致對于降低的錯誤檢測概率要求的降低的硬件要求。因此,必要的硬件努力可以容易地適應(yīng)具有不同的錯誤檢測概率要求的應(yīng)用。另外的實施例涉及ー種錯誤檢測器,該錯誤檢測器確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。該錯誤檢測器基于錯誤檢測矩陣和錯誤檢測輸入ニ進制字的乘積來確定錯誤檢測位序列。此外,該錯誤檢測矩陣基于糾錯碼的校驗矩陣,并且該錯誤檢測矩陣包括可通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少一行。以這種方式,可以容易地找到適當(dāng)?shù)腻e誤檢測矩陣。例如,錯誤檢測器可以被配置成確定指示錯誤檢測器ニ進制字是否為長度為η 的具有q個信息位且具有(m,η)校驗矩陣H的線性碼C的碼字的錯誤檢測位序列,其中 m=n-q。此外,該錯誤檢測器被配置成基于錯誤檢測(1,η)矩陣L和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列。錯誤檢測矩陣L基于(1,η)矩陣M而確定,該矩陣M 被定義為變換矩陣K和矩陣H的積M=K H,其中K為(1,m) ニ進制矩陣,對于該ニ進制矩陣而言不是所有的元素都等于0并且7小于或等于m。錯誤檢測矩陣L可以包括可通過倒置(1,η)矩陣M的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少一行。換言之,可以基于矩陣M確定(1,η)錯誤檢測矩陣L,該矩陣M為ニ進制(1,m) 變換矩陣K和糾錯碼的(m,η)校驗矩陣H的積M=K H,其中K (變換矩陣)為(1,m) ニ進制矩陣,對于該ニ進制矩陣而言不是所有的元素都等于0,并且其中錯誤檢測矩陣L包括可通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少ー 列或至少一行。再換句話說,錯誤檢測矩陣可以基于第一矩陣而確定,該第一矩陣通過將所述代碼的校驗矩陣與ニ進制矩陣相乘來確定,對于所述ニ進制矩陣而言不是所有的元素都等于零,并且其中錯誤檢測矩陣包括可通過倒置第一矩陣的相應(yīng)行的至少ー個元素或者第一矩陣的相應(yīng)列的至少ー個元素而導(dǎo)出的至少一行或至少一列。為了從H矩陣導(dǎo)出L矩陣,例如,模2相加H的第一和第二行(例如通過與適當(dāng)?shù)木仃嘖相乗)。確定的矩陣為M矩陣。為了確定L,例如倒置M矩陣的第一列的所有元素。另外的實施例涉及ー種用于檢測編碼ニ進制字中的錯誤的設(shè)備,該設(shè)備包括用于糾正位錯誤的裝置和用于確定錯誤檢測位序列的裝置。用于糾正位錯誤的裝置糾正由糾錯碼編碼的有錯編碼ニ進制字的有錯位子集中的可糾正位錯誤,使得在用于糾正位錯誤的裝置無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位集合。此外,用于確定錯誤檢測位序列的裝置確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列。錯誤檢測器輸入ニ進制字基于包含糾正的位子集以及有錯編碼ニ進制字的最大位真子集的糾正的編碼ニ進制字。圖8示出了依照ー個方面的實施例的用于檢測編碼ニ進制字中的錯誤的方法800的流程圖。方法800包括糾正810由糾錯碼編碼的有錯編碼二進制字的有錯位子集中的可糾正位錯誤,使得在無錯誤地進行可糾正錯誤的糾正的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集。此外,方法800包括確定820指示錯誤檢測器輸入二進制字是否為糾錯碼的碼字的錯誤檢測位序列。錯誤檢測器輸入二進制字基于包含糾正的位子集以及有錯編碼二進制字的最大位真子集的糾正的編碼二進制字。此外,方法800可以包括代表上面描述的所提出構(gòu)思的可選方面中的一個或多個的另外的步驟。圖9示出了依照一個方面的實施例的用于檢測由糾錯碼編碼的多個編碼二進制字中的錯誤的設(shè)備900的框圖。設(shè)備900包括連接到錯誤檢測器920的組合器910。組合器910通過組合所述多個編碼二進制字的第一編碼二進制字902和第二編碼二進制字904 而確定組合二進制字912,使得在第一編碼二進制字902和第二編碼二進制字904為糾錯碼的碼字的情況下確定的組合二進制字912為糾錯碼的碼字,并且使得在第一編碼二進制字 902或第二編碼二進制字904不是糾錯碼的碼字的情況下確定的組合二進制字912不是糾錯碼的碼字。此外,錯誤檢測器920可以確定指示確定的組合二進制字912是否為糾錯碼的碼字的錯誤檢測位序列922。通過將兩個或更多編碼二進制字組合成一個組合二進制字、使得在要組合的所有編碼二進制字為糾錯碼的碼字的情況下所述確定的組合二進制字為糾錯碼的碼字,錯誤檢測器920可以同時檢測一個或多個所述編碼二進制字中的錯誤。因此,可能只需一個錯誤檢測器以用于檢測多個編碼二進制字中的錯誤,導(dǎo)致用于錯誤檢測的顯著降低的硬件努力。所述多個編碼二進制字至少包括可以從兩個獨立源(例如錯誤糾正器、編碼器或發(fā)送器)提供的第一編碼二進制字和第二編碼二進制字。然而,所述多個編碼二進制字也可以包括由超過兩個不同的獨立源提供的超過兩個編碼二進制字。在該實例中,組合器可以通過組合所述多個編碼二進制字的所有編碼二進制字而確定組合二進制字912,使得在所述多個編碼二進制字的所有編碼二進制字為糾錯碼的碼字的情況下所述確定的組合二進制字912為糾錯碼的碼字,并且使得在所述多個編碼二進制字的編碼二進制字不是糾錯碼的碼字的情況下所述確定的組合二進制字912不是糾錯碼的碼字。例如,所述多個編碼二進制字可以由一個或多個錯誤糾正器、編碼器提供或者可以接收自一個或多個發(fā)送器。例如,第一編碼二進制字可以由第一錯誤糾正器提供并且第二編碼二進制字可以由第二錯誤糾正器提供,或者第一編碼二進制字可以由錯誤糾正器提供并且第二編碼二進制字可以由編碼器提供。例如,在糾錯碼為線性糾錯碼的情況下,組合器可以包括用于確定組合二進制字的異或門。換言之,組合器910可以通過逐位邏輯異或功能來組合第一編碼二進制字902 和第二編碼二進制字904以獲得組合二進制字912。可替換地,糾錯碼可以是非線性糾錯碼,并且組合器910可以基于該非線性糾錯碼實現(xiàn)第一編碼二進制字902和第二編碼二進制字904的組合,使得在第一編碼二進制字 902和第二編碼二進制字904為非線性糾錯碼的碼字的情況下組合二進制字912為非線性糾錯碼的碼字。
錯誤檢測器920可以以各種不同的方式實現(xiàn),例如,錯誤檢測器920可以依照前面描述的錯誤檢測器120、25、34、44、64的一個或多個方面或者可能變型而實現(xiàn)。在這一點上,組合二進制字912與錯誤檢測器輸入二進制字相應(yīng)。此外,設(shè)備900可以包括錯誤糾正器。該錯誤糾正器可以糾正由糾錯碼編碼的有錯編碼二進制字的有錯位子集中的可糾正位錯誤,使得在錯誤糾正器無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集。在該實例中,第一編碼二進制字902包含糾正的位子集以及有錯編碼二進制字的最大位真子集。錯誤糾正器可以以各種不同的方式實現(xiàn)。例如,錯誤糾正器可以依照前面描述的錯誤糾正器110、23、61、62的一個或多個方面實施。在這一點上,第一編碼二進制字902與前面提到的糾正的編碼二進制字相應(yīng)。與前面所提到的類似,有錯子集可以是有錯編碼二進制字的位真子集,并且第一編碼二進制字包含的有錯編碼二進制字的位真子集可以是相比于有錯位子集的互補位子集??商鎿Q地,有錯位子集等于有錯編碼二進制字,并且第一編碼二進制字僅僅包含代表糾正的有錯編碼二進制字的糾正的位子集。此外,設(shè)備900可以包括第二錯誤糾正器。該第二錯誤糾正器可以糾正由糾錯碼編碼的第二有錯編碼二進制字的第二有錯位子集中的可糾正位錯誤,使得在第二錯誤糾正器無錯誤地工作的情況下糾正的第二位子集等于糾錯碼的碼字的相應(yīng)位子集。在該實例中,第二編碼二進制字904包含第二有錯編碼器主字的最大位真子集上的糾正的第二位子集。類似地,第一錯誤糾正器、第二錯誤糾正器可以依照上面提到的錯誤檢測器的一個或多個方面來實現(xiàn)。在圖6中已經(jīng)示出且描述了用于檢測由糾錯碼編碼的多個編碼二進制字中的錯誤的設(shè)備的實例,該設(shè)備包括兩個錯誤糾正器和由異或門實現(xiàn)的組合器。作為第二錯誤糾正器的替換,設(shè)備900可以包括編碼器,該編碼器依照糾錯碼對二進制字進行編碼以獲得第二編碼二進制字。此外,設(shè)備900可以包括一個或多個另外的錯誤糾正器和/或編碼器,其提供所述多個編碼二進制字的編碼二進制字。與已經(jīng)結(jié)合其他方面提到的類似,錯誤檢測位序列922可以包括比糾錯碼的校驗位數(shù)量更少的位,使得針對錯誤檢測器的錯誤檢測概率和硬件努力可以適應(yīng)應(yīng)用的要求。此外或者可替換地,錯誤檢測器920可以確定錯誤檢測位序列922,使得錯誤檢測位序列922對于糾錯碼的第一碼字子集而言等于第一預(yù)定義檢測位序列,并且對于糾錯碼的第二碼字子集而言等于第二預(yù)定義檢測位序列。第一預(yù)定義檢測位序列與第二預(yù)定義檢測位序列不同并且第一子集與第二子集不同。此外,如果糾正的編碼二進制字不是糾錯碼的碼字,則錯誤檢測位序列922可能不等于第一預(yù)定義檢測位序列和第二預(yù)定義檢測位序列。例如,第一預(yù)定義檢測位序列的位都是0并且第二預(yù)定義檢測位序列的位都是1。以這種方式,例如,也可以如上面已經(jīng)描述的那樣檢測至少在錯誤檢測器920的輸出處的固定差錯。
14
如已經(jīng)提到的,例如,錯誤檢測器920可以基于錯誤檢測矩陣和確定的組合二進制字912的乘積來確定錯誤檢測位序列922。該錯誤檢測矩陣基于糾錯碼的校驗矩陣。該錯誤檢測矩陣?yán)缈梢园ū刃r灳仃嚫俚男谢蛘弑刃r灳仃嚫俚牧小?商鎿Q地或者此外,錯誤檢測矩陣可以包括可通過倒置校驗矩陣的相應(yīng)列或相應(yīng)行而導(dǎo)出的至少一列或至少一行。如前面已經(jīng)提到的,可能是有錯編碼二進制字的編碼二進制字可以例如由可尋址存儲裝置、編碼器或發(fā)送器提供。這與已經(jīng)結(jié)合圖3所描述的類似。依照一個方面的一些實施例涉及一種用于檢測由糾錯碼編碼的多個編碼二進制字中的錯誤的設(shè)備。該設(shè)備包括用于確定組合二進制字的裝置和用于確定錯誤檢測位序列的裝置。用于確定組合二進制字的裝置通過組合所述多個編碼二進制字的第一編碼二進制字和第二編碼二進制字而確定組合二進制字,使得在第一編碼二進制字和第二編碼二進制字為糾錯碼的碼字的情況下確定的組合二進制字為糾錯碼的碼字,并且使得在第一編碼二進制字或第二編碼二進制字不是糾錯碼的碼字的情況下確定的組合二進制字不是糾錯碼的碼字。此外,用于確定錯誤檢測位序列的裝置確定指示所述確定的組合二進制字是否為糾錯碼的碼字的錯誤檢測位序列。圖10示出了依照一個方面的實施例的用于檢測由糾錯碼編碼的多個編碼二進制字中的錯誤的方法1000的流程圖。方法1000包括通過組合所述多個編碼二進制字的第一編碼二進制字和第二編碼二進制字而確定1010組合二進制字,使得在第一編碼二進制字和第二編碼二進制字為糾錯碼的碼字的情況下確定的組合二進制字為糾錯碼的碼字,并且使得在第一編碼二進制字或第二編碼二進制字不是糾錯碼的碼字的情況下確定的組合二進制字不是糾錯碼的碼字。此外,方法1000包括確定1020指示確定的組合二進制字是否為糾錯碼的碼字的錯誤檢測位序列。此外,方法1000可以包括代表上面描述的所提出構(gòu)思的可選方面中的一個或多個的另外的步驟。在下文中,基于圖2-7更詳細(xì)地描述各方面。盡管這些實例示出了一起實現(xiàn)的不同方面,但是這些方面也可以彼此獨立地實現(xiàn)。首先,將參照圖2解釋一個實施例。圖2示出了用于糾錯電路HiS 23 (錯誤糾正器)中的錯誤的錯誤檢測的電路系統(tǒng),該糾錯電路例如使用線性碼C來糾正輸入數(shù)據(jù)中的錯誤。代碼C的長度由η標(biāo)示,并且信息位w = W1,…,%的數(shù)量由q標(biāo)示,其中q<n。 糾錯碼的實例為例如在“Lin, S.,Costello, D.,"Error Control coding”,Prentice Hall, 1983,pp. 79-82 中描述的 Hamming 碼、例如在 Fuji jwara, Ε.,"Code Design for Dependable Systems”,Wiley, 2006,pp. 98-101 中描述的 Hsiao 碼、如例如在 "Fujijwara, Ε. , "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”中描述的允許大多數(shù)解碼的 Reed-Muller 碼。
在應(yīng)用中,代碼由本領(lǐng)域技術(shù)人員以縮短的形式頻繁地使用以使其適應(yīng)實際要求的字寬。這可以通過刪除未縮短的代碼的H矩陣的列來完成。對于線性碼C,通過下式從信息位w確定關(guān)聯(lián)的碼字ν v = w G
其中G為代碼C的生成矩陣,并且G為(q,η)矩陣。基于以下關(guān)系
St = H · V,τ
可以校驗字V’= ( V;,…,V;)是否為代碼C的碼字。在這里,ν’τ標(biāo)示行矢量V’的
轉(zhuǎn)置列矢量。H是(m,η)矩陣,即代碼的H矩陣(校驗矩陣或奇偶校驗矩陣),并且m=n-q的 S= (S1,…,sm)τ為字V’的伴隨式。在這里,(S1,…,標(biāo)示行矢量(S1,…,sm)的轉(zhuǎn)置列矢量。如果ν’ =V為代碼C的碼字,則錯誤伴隨式為s=0。圖2中所示的設(shè)備是糾錯電路23 (錯誤糾正器)和錯誤檢測電路FE 25 (錯誤檢測器)的設(shè)置(set up)。在糾錯電路23的η位寬輸入21處,將η位寬字ν’ = V;,…,V^ =V’ \ V’ 2 (V’ 1為糾正的位子集,V’ 2為有錯編碼二進制字的位真子集)輸入到該糾錯電路 23 中,其中 V,1 = V;,…,< 和 V,2 = v'p+1,…,\,且/7 彡/7 適用。如果 P=IiJlJv'1 由V’的所有η個分量組成并且V’ 2不包含分量。ν’1的分量是V’的由電路HiS 23糾正的P個分量,并且V’ 2的分量是V’的不由電路23糾正且在n-p位寬線22上引到其輸出的n-p個分量。沒有關(guān)于一般性的限制, 被糾正的分量被布置成左對齊,使得該描述變得更加簡單。被糾正的位可以是線性碼的數(shù)據(jù)位U1,…,Uk和校驗位C1,…,cm,所述線性碼的信息位w = W1,…%由數(shù)據(jù)位U1,…,Uk和地址位a = ,…,\組成,其中數(shù)據(jù)位u和校驗位c存儲在存儲裝置中的地址a之下,如下文將更詳細(xì)地解釋的。也可能的是P=n并且所有位被電路23糾正。在其P位寬輸出24處,電路HiS輸出值V^ot =Vcotm ,...,Vcorr^p ,
這些值與線22上的未糾正位V2 = V^41 ,...,Vm 一起提供以形成η位二進制字 1 '2
V =V V=V π V con corf,CorrfI,…,cor ,η °糾錯電路23糾正由代碼C的碼字的前ρ位中的錯誤造成的且可由代碼C糾正的字。首先,考慮電路23是無錯誤(無錯誤地工作)的情況。如果v’=v適用,其中ν
為代碼C的碼字,則以下適用Vcorr = V。如果C例如為1位糾正Hamming碼,則該Hamming
碼的所有碼字以及由碼字前P位中的1位錯誤造成的所有字由電路HiS 23糾正成碼字。由碼字的位ν’2中的1位錯誤造成的字不糾正成碼字。如果將代碼C的碼字和通過專門在前 P位中的1位錯誤而起源于代碼C的碼字的、代碼C的非碼字提供給電路HiS 23的輸入,則電路23輸出代碼C的碼字。如果C為2位糾錯BCH碼,則通過電路23將該代碼的所有碼字以及由專門在前P位中的碼字的1位和2位錯誤而造成的所有字糾正成碼字。由碼字的位ν’2中的錯誤而造成的所有字不被電路HiS 23糾正。如果C是例如碼距為8的Reed-Muller碼,其糾正電路可以例如實現(xiàn)為大多數(shù)解碼并且其可以糾正所有3位錯誤,則所有碼字以及通過專門在前ρ位中的1位、2位和3位錯誤而由碼字造成的所有字被電路HiS 23糾正,但是由位ν’ 2中的錯誤造成的字不被糾正。糾錯電路23可以是糾錯碼C的常規(guī)糾錯電路。如果對于p<n,n-p位未被糾正,則例如簡單地忽略用于代碼C的糾錯電路的未糾正輸出并且不將其實現(xiàn)為硬件。令人感興趣的是糾錯電路23不僅將代碼C的碼字,而且將可以通過前ρ位中的至多t個錯誤從代碼C的碼字產(chǎn)生且應(yīng)用到該電路HiS 23的輸入的字變換成代碼C的
Wi- Vcorr,如果代碼C允許糾正t個位錯誤的話。如果電路23是有錯的或者包含錯誤,則這可以因為不是代碼C的碼字而看出。如果將代碼的碼字或者可以通過無錯電路ras 23而將糾正為代碼C的碼字的代碼C的非碼字輸入到有錯糾錯電路23,則這可以被檢測到,如果不是碼字的話。這有利地通過錯誤檢測電路FE 25進行檢測,該錯誤檢測電路如上所指示的那樣用于糾錯電路HiS 23中的錯誤的錯誤檢測。在該實例中,錯誤檢測電路FE 25是具有η個輸入和1個輸出A1,…,A1的組合電路,其中1彡m,該組合電路在其輸出處輸出1分量二進制錯誤信號f = ,…,f1;使得當(dāng)
輸入用于錯誤信號f/1= f2i2 =…=f^1 = 0或f/1= f2i2 =…=f^1 = 1的碼字
適用時并且在不是所有的分量f/1…=f 1相等的情況下,檢測出沒有碼字輸入到電路FE 25。這或者由糾錯電路HiS 23中的錯誤造成,或者指示不可糾正字ν’存在于糾錯電路的
輸入處并且電路HiS的糾正不成功。在這一點上,如果i」=0適用,則/f = ,而如果ij=l 適用,則/f — /i,并且其中j取值1,…,1。如果例如所有值“,…,I1等于UfJf/1= fi,…,f 1 = f\,并且在碼字輸入處,適用fi = f2 =…=f\ = 1或者= f2 =…=fx = 并且檢測到錯誤, 如果不是所有的分量fi,…,f\都相等的話。例如,如果1=1,j2=0, j3=0, j4=l,…
,J1=I'則 JT = h-燈=J2-I^ = TWf = h----Jf = Sh 并且在碼字的輸入處/, — 72 — % 二二.,.—力適用,并且指示錯誤,如果不是所有的分量 /I-72:7a·/4”…//都相等的話。在這里,有利的是通過選擇電路FE 25的輸出的數(shù)量1,與復(fù)制和比較形成對照的是,例如針對錯誤檢測的復(fù)雜度可以隨著1的變化而變化,并且可以適應(yīng)請求的錯誤檢測概率;于是,當(dāng)對于f = f1;...,fx預(yù)定義兩個不同的占用(例如1,1,...,1和0,0,...,0) 時,當(dāng)不同的碼字應(yīng)用于錯誤檢測電路FE 25的輸入時,無錯情況下的輸出A1,…,A1采取兩個不同的值并且因此至少針對至少糾錯電路HiS 23的連續(xù)無錯操作中的輸出的固定為 0和固定為1錯誤進行測試,這例如不是在實現(xiàn)加倍和比較時比較器的輸出的情況。
進一步有利的是,也可以由一個單一錯誤檢測電路通過逐分量地異或其輸出來校驗例如芯片上的若干糾錯電路,如下文將更詳細(xì)地解釋的。在圖4中圖解說明了電路FE 34的1個輸出A1,…,A1引向1位組合功能SFEl的 1個輸入中,該組合功能具有在其輸出處輸出錯誤信號ei的控制值。作為具體的功能,在圖 3中選擇具有1個輸入具有控制值1的或非門36(實現(xiàn)邏輯或非功能),使得ei=l適用于
=f2 =··· =fi = 0并且ei = 0適用于= f2 =··· =f\ = 1。如果值ip i2,…,仁之一等于 0,則錯誤檢測電路FE 34的相應(yīng)輸出在其連接到或非門35的相應(yīng)輸入之前倒置。圖5示出了電路FE 44的輸出A1,…,A1如何同時連接到組合電路SFEl 45的1個輸入以實現(xiàn)具有在其輸出處輸出錯誤信號ei的控制值1的布爾函數(shù),并且連接到組合電路 SFEO 47的1個輸入以實現(xiàn)具有在其輸出處輸出錯誤信號%的控制值0的布爾函數(shù)。組合電路SFEl 45和組合電路SFEO 47可以一起實現(xiàn)如上面提到的錯誤指示確定器。作為具體的電路,在這里,選擇具有控制值1的用于組合電路SFEl的或非門46以及用于組合電路 SFEO 47的具有控制值0的與門48。假設(shè)I1 = i2 =... = i10 如果 f\= ... = fx = 1 適用,Me1 = 0且% = 1,并且如果f\=…Zf1 = 0適用,則力=1且% = 0,使得于是在電路FE 44的輸入處應(yīng)用不同的碼字\。 時,對于ejn^輸出不同的值。如果f的不是所有的分量都相等,則力=e2,并且于是檢測到ei = %適用的、圖5中的電路23的、其自身表現(xiàn)為非碼字v。OT的錯誤。在圖3中,針對一個實施例圖解說明了當(dāng)數(shù)據(jù)位U1,…,Uk和校驗位C1,…,Cffl形成由圖2的電路23糾正的位時以及當(dāng)存儲裝置中位u和c存儲于其下的地址位a = a1; ...,ar未被糾正時如何在電路FKS 23的電路輸入處形成部分字ν 1和ν 2。數(shù)據(jù)位U和地址位a形成在這里假設(shè)為可分離的糾錯碼的q個信息位w = W1,-,Wq,使得根據(jù)信息位u和a確定校驗位C并且在編碼中不改變信息位。當(dāng)寫入時,位u和 c在存儲裝置51中存儲在地址a之下,并且當(dāng)再次讀取時在地址a之下讀出。當(dāng)寫入時, 假設(shè)u、a、c為代碼C的碼字。如果再次在該地址處讀出數(shù)據(jù),則它可能錯誤地改變,使得通常讀出可能與U、c不同的u’、c’。而且,地址可能錯誤地形成,使得代替該地址的是,地址a’將被考慮。讀出的數(shù)據(jù)U’,c,= ν1由圖2中的糾錯電路23糾正,而地址位 a’= ν 2不被糾正,并且錯誤的地址位導(dǎo)致在錯誤檢測電路FE 25的輸入處的非碼字v。。
=
V1—ο在下文中,針對實例解釋如何可以實際地確定用于錯誤檢測的組合電路FE 25。錯誤檢測電路FE 25 (錯誤檢測器)例如實現(xiàn)功能 fT= L · ντ,
其中L為(1,η)矩陣并且fT標(biāo)示行矢量f=(f\,. . . , fx)的轉(zhuǎn)置列矢量。矩陣L (錯誤檢測矩陣)可以例如通過下式確定 M = K · H = (M1, - ,Mn),
其中H為糾錯碼C的(m,η) H矩陣(校驗矩陣),并且變換矩陣K為不等于零矩陣的二進制(1,m)矩陣。下文適用m = η q, 1 < 1彡m,并且M1,…Mn為矩陣M的1分量列。具有列L1, ."1^的(1,η)矩陣L= (L1, L2,…,Ln)在這里根據(jù)矩陣M = K H≤=M1, M2,…M1確定,使得對于h (hη)列的子集{Ln,…,LiJ,矩陣L的這h列是矩陣 M的相應(yīng)倒置列。對于矩陣L的這h列,以下適用Lil = M n, Li2= M i2,-,Lih= M ih,而對于所有其他l_h列,對于j = h+l,-,n, Lij = Mu適用,并且其中列M通過倒置列^
的所有1個分量而由矩陣M的列Mij形成。例如,如果h=0,則沒有矩陣M的列被倒置,并且L=K H。在另一個實例中,可能的是矩陣K等于m維單位矩陣,使得M=I H=H適用。也可能的是,矩陣K僅僅包含一個單一元素1而所有其他元素為0。為了更詳細(xì)地解釋矩陣L的確定,作為糾錯碼的實例,現(xiàn)在考慮具有(4. 9)H矩陣且具有矩陣K=I4 (變換矩陣)的縮短的Hamming碼,其中I4為4維單位矩陣。在該實例中, M=H,其中
權(quán)利要求
1.一種用于檢測編碼ニ進制字中的錯誤的設(shè)備,該設(shè)備包括錯誤糾正器,被配置成糾正由糾錯碼編碼的有錯編碼ニ進制字的有錯位子集中的可糾正位錯誤以形成糾正的位子集,使得在錯誤糾正器無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集;以及錯誤檢測器,被配置成確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列,其中錯誤檢測器輸入ニ進制字基于包含糾正的位子集以及有錯編碼ニ進制字的最大位真子集的糾正的編碼ニ進制字。
2.依照權(quán)利要求1的設(shè)備,其中糾錯碼包括一定數(shù)量的校驗位,并且其中錯誤檢測位序列包括比糾錯碼的校驗位數(shù)量更少的位。
3.依照權(quán)利要求1的設(shè)備,其中錯誤檢測器被配置成確定錯誤檢測位序列,使得錯誤檢測位序列對于糾錯碼的第一碼字子集而言等于第一預(yù)定義檢測位序列,并且對于糾錯碼的第二碼字子集而言等于第二預(yù)定義檢測位序列,其中第一預(yù)定義檢測位序列與第二預(yù)定義檢測位序列不同,并且糾錯碼的第一碼字子集與糾錯碼的第二碼字子集不同。
4.依照權(quán)利要求3的設(shè)備,其中如果錯誤糾正器輸出的糾正的編碼ニ進制字不是糾錯碼的碼字,則錯誤檢測位序列不等于第一預(yù)定義檢測位序列和第二預(yù)定義檢測位序列。
5.依照權(quán)利要求3的設(shè)備,其中第一預(yù)定義檢測位序列的位都為0并且第二預(yù)定義檢測位序列的位都為1。
6.依照權(quán)利要求1的設(shè)備,其中有錯位子集是有錯編碼ニ進制字的位真子集,其中錯誤糾正器輸出的糾正的編碼ニ進制字包含的有錯編碼ニ進制字的位真子集是相比于有錯位子集的互補位子集。
7.依照權(quán)利要求1的設(shè)備,其中有錯位子集等于有錯編碼ニ進制字,其中糾正的編碼 ニ進制字僅包含代表糾正的有錯編碼ニ進制字的糾正的子集。
8.依照權(quán)利要求1的設(shè)備,其中錯誤檢測器被配置成基于錯誤檢測矩陣和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列,其中該錯誤檢測矩陣基于糾錯碼的校驗矩陣。
9.依照權(quán)利要求8的設(shè)備,其中錯誤檢測矩陣包括比校驗矩陣更少的行或者比校驗矩陣更少的列。
10.依照權(quán)利要求8的設(shè)備,其中錯誤檢測矩陣包括通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素或者通過倒置由變換矩陣和校驗矩陣的乘積得到的矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少ー 行。
11.依照權(quán)利要求1的設(shè)備,其中糾錯碼為線性糾錯碼。
12.依照權(quán)利要求1的設(shè)備,其中有錯編碼ニ進制字包括代表數(shù)據(jù)位的第一位組、代表糾錯碼的校驗位的第二位組以及代表地址位的第三位組,其中有錯位子集僅僅包含第一位組和第二位組,其中糾正的編碼ニ進制字包含糾正的位子集以及有錯編碼ニ進制字的第三位組。
13.依照權(quán)利要求12的設(shè)備,進ー步包括可尋址存儲裝置,其中至少第一位組和第二位組存儲在由第三位組指示的可尋址存儲裝置的地址處。
14.依照權(quán)利要求1的設(shè)備,進ー步包括組合器,該組合器被配置成通過組合糾正的編碼ニ進制字和第二編碼ニ進制字而確定錯誤檢測器輸入ニ進制字,使得在糾正的編碼ニ進制字和第二編碼ニ進制字為糾錯碼的碼字的情況下錯誤檢測器輸入ニ進制字為糾錯碼的碼字,并且使得在糾正的編碼ニ進制字或第二編碼ニ進制字不是糾錯碼的碼字的情況下錯誤檢測器輸入ニ進制字不是糾錯碼的碼字。
15.依照權(quán)利要求14的設(shè)備,進ー步包括第二錯誤糾正器,該第二錯誤糾正器被配置成糾正由糾錯碼編碼的第二有錯編碼ニ進制字的第二有錯位子集中的可糾正位錯誤以形成第二糾正的編碼ニ進制字,使得在第二錯誤糾正器無錯誤地工作的情況下糾正的第二位子集等于糾錯碼的碼字的相應(yīng)位子集,其中第二糾正的編碼ニ進制字包含第二有錯編碼ニ 進制字的最大位真子集以及糾正的第二位子集。
16.依照權(quán)利要求14的設(shè)備,進ー步包括編碼器,該編碼器被配置成依照糾錯碼對ニ 進制字進行編碼以獲得可以包括第二有錯編碼ニ進制字的第二編碼ニ進制字。
17.依照權(quán)利要求14的設(shè)備,其中組合器被配置成通過逐位邏輯異或功能來組合糾正的編碼ニ進制字和第二編碼ニ進制字以獲得錯誤檢測器輸入ニ進制字。
18.依照權(quán)利要求1的設(shè)備,進ー步包括錯誤指示確定器,該錯誤指示確定器被配置成基于錯誤檢測位序列來確定指示是否檢測到錯誤檢測器輸入ニ進制字中的錯誤的錯誤指示位序列,其中該錯誤指示位序列在對于糾錯碼的所有碼字僅可獲得錯誤檢測位序列的一個可能值的情況下包括一位,或者該錯誤指示位序列在對于糾錯碼的不同碼字可獲得錯誤檢測位序列的至少兩個不同的可能值的情況下包括兩位。
19.ー種錯誤檢測器,被配置成確定指示錯誤檢測器輸入ニ進制字是否為線性糾錯碼的碼字的錯誤檢測位序列,其中該錯誤檢測器被配置成基于錯誤檢測矩陣和錯誤檢測器輸入ニ進制字的乘積來確定錯誤檢測位序列,其中該錯誤檢測矩陣基于線性糾錯碼的校驗矩陣,并且其中該錯誤檢測矩陣包括比線性糾錯碼的校驗矩陣的行數(shù)量更少的行或者比線性糾錯碼的校驗矩陣的列數(shù)量更少的列。
20.ー種錯誤檢測器,被配置成確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列,其中該錯誤檢測器被配置成基于錯誤檢測矩陣和錯誤檢測輸入ニ進制字的乘積來確定錯誤檢測位序列,其中該錯誤檢測矩陣基于糾錯碼的校驗矩陣,其中該錯誤檢測矩陣包括通過倒置校驗矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素或者通過倒置由變換矩陣和校驗矩陣的乘積得到的矩陣的相應(yīng)列的至少ー個元素或者相應(yīng)行的至少ー個元素而導(dǎo)出的至少一列或至少一行。
21.ー種用于檢測用于糾正線性糾錯碼C的碼字中的錯誤的電路中的錯誤的電路系統(tǒng) S,包括糾錯電路,其中該糾錯電路包括用于輸入包括兩個位組ν’ 1 = 、...,Vp和ν’2 = Vjh4..., V:的η分量ニ進制字ν’ = ν;...,‘的η個ニ進制輸入以及用于輸出第一位組的P個糾正的位V^t = Vcwr>1 ,...,Vcorf7p的ρ個輸出,其中1彡ρ彡η適用,其中線性糾錯碼包括長度為η、具有q個信息位的碼字ν = V1,…,Vn = ν1, v2,其中 q<n并且這些碼字包括第一位組ν1 = V1,-, Vp和第二位組ν2 = vp+1,…,vn,其中第一位組中的錯誤由糾錯電路糾正為バ并且第二位組中的錯誤不被糾正,并且其中由糾錯電路糾正的第一位組的位V1以及第二位組的未糾正的位υ’2形成η位ニ進制字v。。
= VしV 29其中糾錯電路被設(shè)置成使得在糾錯電路無錯誤時,當(dāng)輸入碼字V e C吋,Vcorr= V適用;并且存在具有η個ニ進制輸入和1個ニ進制輸出A1,…,A7且被配置成輸出1分量錯誤信號も…,も的錯誤檢測電路,所述1分量錯誤信號形成7個確定的ニ進制值ら,i2…ら的錯誤信號f =も…,も,使得對于代碼C的任何碼字v。OT的輸入而言,對于錯誤信號的分量,fv'l __f tl■*/ i J jL ‘J f-適用,并且被配置成輸入非碼字v。。 ,錯誤信號的分量的不是所有分量f/1,f2i2,…, だ1都相等,并且在錯誤信號f的分量f/1,f212,…,だ1的不是所有值都相等并且1 く η -q適用吋,錯誤檢測電路指示錯誤,并且其中如果、=0適用,則斤ニア:,適用,j=l,…,1,并且如果、=1適用,則/;:i 一/:;。
22. 一種用于檢測編碼ニ進制字中的錯誤的方法,該方法包括 糾正由糾錯碼編碼的有錯編碼ニ進制字的有錯位子集中的可糾正位錯誤以形成糾正的位子集,在可糾正位錯誤的糾正無錯誤地完成的情況下所述糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集;以及確定指示錯誤檢測器輸入ニ進制字是否為糾錯碼的碼字的錯誤檢測位序列,其中錯誤檢測器輸入ニ進制字基于包含糾正的位子集以及有錯編碼ニ進制字的最大位真子集的糾正的編碼ニ進制字。
全文摘要
本發(fā)明涉及用于檢測編碼二進制字中的錯誤的設(shè)備和方法。一種用于檢測編碼二進制字中的錯誤的設(shè)備包括錯誤糾正器和錯誤檢測器。錯誤糾正器糾正由糾錯碼編碼的有錯編碼二進制字的有錯位子集中的可糾正位錯誤,使得在錯誤糾正器無錯誤地工作的情況下糾正的位子集等于糾錯碼的碼字的相應(yīng)位子集。此外,錯誤檢測器確定指示錯誤檢測器輸入二進制字是否為糾錯碼的碼字的錯誤檢測位序列。錯誤檢測器輸入二進制字基于包含糾正的位子集以及有錯編碼二進制字的最大位真子集的糾正的編碼二進制字。
文檔編號H04L1/00GK102546095SQ201110395108
公開日2012年7月4日 申請日期2011年12月2日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者M.戈塞爾, T.克恩, T.拉貝納爾特, U.巴克豪森 申請人:英飛凌科技股份有限公司