專利名稱:用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備和方法
技術(shù)領(lǐng)域:
根據(jù)本發(fā)明的實施例涉及數(shù)字信號的錯誤糾正以及錯誤檢測,并且具體地涉及一種用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備和方法。
背景技術(shù):
由于電子電路和存儲器的高集成密度,錯誤的頻率增加。除了 1比特錯誤,也越來越多地要考慮也就是要糾正且要檢測2比特錯誤和通常多比特錯誤。尤其,在錯誤糾正中,如果可能在當(dāng)前時鐘周期中快速地糾正發(fā)生的錯誤是重要的,以便防止糾正后的數(shù)據(jù)相較未糾正數(shù)據(jù)的延遲處理。頻繁地,數(shù)據(jù)在一地址下寫入存儲器并在某一時間之后讀出。這里有可能數(shù)據(jù)在從存儲器讀出時是有錯誤的或損壞的,以及需要在將其讀出之后進行糾正。這里,單比特錯誤、雙比特錯誤以及通常多比特錯誤都會發(fā)生,其以降低的概率隨機地引起,以及還會發(fā)生其中所有存儲器單元錯誤地呈現(xiàn)值0、將被稱為“全0”的錯誤,以及還會發(fā)生其中所有存儲器單元呈現(xiàn)值1、這里將被稱為“全1”的錯誤。對于檢測具有高概率的可能地址錯誤也有特別的興趣,因為例如當(dāng)從存儲器讀出時有錯誤的地址可能導(dǎo)致完全不同的數(shù)據(jù)。有可能用漢明(Hamming)碼或者蕭氏(Hsiao) 碼來糾正單比特錯誤以及用并行實現(xiàn)的BCH碼來相對快速地糾正2比特錯誤。用于1比特和2比特錯誤糾正的現(xiàn)有技術(shù)方案的缺點例如是“全0”和“全1”錯誤不是錯誤檢測的部分。通常,對于提高錯誤糾正和錯誤檢測原理的可靠性有很高的興趣。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備。 該設(shè)備包括錯誤校正子發(fā)生器和比特錯誤糾正器。該錯誤校正子發(fā)生器被配置為確定通過將校驗矩陣與編碼比特序列相乘得出的該編碼比特序列的錯誤校正子。校驗矩陣包括第一子矩陣、第二子矩陣和第三子矩陣。每個子矩陣包括多條線,其中每條線包括多個二進制分量。進一步地,第一子矩陣的每條線的至少第一預(yù)定分量或第二預(yù)定分量包括第一比特值。第二子矩陣包括彼此線性無關(guān)的線,以及第二子矩陣的每條線的第一預(yù)定分量和第二預(yù)定分量包括相同的第二比特值。第三子矩陣包括彼此線性無關(guān)的線,以及第三子矩陣的每條線的第一預(yù)定分量或第二預(yù)定分量包括第一比特值。進一步地,如果第一比特值等于1,則第一子矩陣和第三子矩陣的所有線的第一預(yù)定分量的M)R(異或)求和等于第二比特值,以及第一子矩陣和第三子矩陣的所有線的第二預(yù)定分量的XOR求和等于第二比特值;或者,如果第一比特值等于0,則第一子矩陣和第三子矩陣的所有線的第一預(yù)定分量的 XNOR(異或非)求和等于第二比特值,以及第一子矩陣和第三子矩陣的所有線的第二預(yù)定分量的XNOR求和等于第二比特值。另外,將校驗矩陣與測試向量相乘的結(jié)果等于將第二子矩陣和結(jié)果向量相乘的結(jié)果,其中結(jié)果向量的至少一個分量包括第二比特值。進一步地,比特錯誤糾正器被配置為基于所確定的編碼比特序列的錯誤校正子來糾正該編碼比特序列中的比特錯誤。通過使用根據(jù)具有上述屬性的校驗矩陣所確定的錯誤校正子,所提出原理的錯誤糾正和錯誤檢測能力可以顯著好于已知原理。例如,所提出原理使得人們能夠?qū)⒚總€1比特錯誤與全1錯誤或全0錯誤區(qū)別開。因此,在可糾正的1比特錯誤與全0錯誤或全1錯誤混合起來的情況下從存儲器讀出字的情況可能不是如此。
根據(jù)本發(fā)明的實施例將在后面參考附圖進行詳細(xì)說明,在附圖中圖1是用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備的框圖;圖2是在考慮到地址比特情況下的編碼的示意圖;圖3是在考慮到地址比特情況下的分離H矩陣的編碼的示意圖;圖4是校正子發(fā)生器的集成的示意圖;圖5是包括全0和全1檢測的校正子發(fā)生器的集成的示意圖;圖6是用于數(shù)據(jù)比特的糾正向量的得出的示意圖;圖7是用于數(shù)據(jù)比特和校驗比特的糾正向量的得出的示意圖;圖8是用于數(shù)據(jù)比特、校驗比特和地址比特的糾正向量的得出的示意圖;圖9是地址錯誤信號的生成的示意圖;圖10、11、12和13是糾正信號的得出的示意圖;圖Ha-14i是糾正值的確定的示意圖;以及圖15是用于對有錯誤的編碼比特序列進行解碼的解碼器的框圖;以及圖16是用于糾正在編碼比特序列中的至少單比特錯誤的方法的流程圖。
具體實施例方式在下文中,相同的附圖標(biāo)記被部分用于具有相同或相似功能屬性的對象和功能單元,以及其關(guān)于附圖的描述也將適用于其他附圖以便減少在實施例描述中的冗余性。在更詳細(xì)地描述所提出的原理之前,簡單介紹關(guān)于線性分組碼尤其是漢明碼、 蕭氏碼以及BCH碼的一些理論基礎(chǔ)和基礎(chǔ)術(shù)語。例如,這些也在“Fujiwara,Ε.,Code Design for Dependable Systems,Wiley,2006,p. 49-53,p. 98-101” 中以及在"Tzschach, H. and Haflinger, G.,Codes fur den storungsgesicherten Datentransfer, Oldenburg Verlag, 1993,p. 111-121” 中進行了描述。漢明碼是碼距為3的線性分組碼。如果m是校驗比特的數(shù)量,其長度為η = 2m_l。 數(shù)據(jù)比特的數(shù)量為k = 2m-l-m。作為任何線性碼,漢明碼通常可以用生成矩陣G(簡稱G矩陣)以及校驗矩陣H(也稱為奇偶校驗矩陣)(簡稱H矩陣)來描述。未縮短的漢明碼的校驗矩陣為(m,n)矩陣,其各列是不等于0的任何可能不同的2m-l個二進制向量。這些列也被描述為m位二進制數(shù),以及適用下式H = (h”...,D = (Ifcifl’Ihin,...,[2"' ),其中ibin將i的表示指定為m位二進制成員。如任何其他線性分組碼那樣,通過去除未縮短碼的校驗矩陣中一定數(shù)量的列,可以縮短漢明碼。除此之外,還可以對列進行交換,因此可以變換校驗矩陣。可以根據(jù)線性碼的校驗矩陣來確定生成矩陣(簡稱為G矩陣)。生成矩陣是(k, η)矩陣。如果存在k個信息比特U1, ...,uk,用生成矩陣將該k個信息比特編碼為碼字νν = (v1 . . . , vn) = u · G = (U1, · · · , uk) ‘ G如果對字ν' =V1,..., Vn校驗其是否是碼字,則利用下式形成校正子S,S = Η· ν' τ其中S = S1,...,^11。如果S = 0,則沒有檢測出錯誤。如果S = hi;則在ν'的第 i比特中存在1比特錯誤。比特ν' !,...,ν' 的錯誤糾正可以通過糾正電路K1,...,Kn來完成,所述糾正電路K1,...,Kn根據(jù)與V' i進行M)R(用邏輯XOR函數(shù)關(guān)聯(lián))的錯誤校正子S來確定糾正值Δνι。對于i = 1,...,11來說,在1比特錯誤的情況下,如果S = hi;糾正電路輸出值1。 如果錯誤校正子等于0,則糾正電路輸出值0。蕭氏碼是碼距為4的線性碼。如果蕭氏碼具有m個校驗比特,其校驗矩陣H由包括奇數(shù)個1的所有m位二進制向量組成。具有m個校驗比特的(未縮短的)蕭氏碼的長度是n = 2m-l,因為存在2m-l個不同的具有奇數(shù)個1的m位二進制向量。通過對未縮短的蕭氏碼的列進行刪除和重新排序,獲得縮短的蕭氏碼的校驗矩陣。通過校驗錯誤校正子來再次完成對字ν' = V1, . . . , vn,的測試S = Η· ν' τ如果S = hj;也就是等于校驗矩陣的第j列,則通過將糾正值Δ Vj = 1與ν' j進行M)R(應(yīng)用邏輯XOR函數(shù))來在第j比特中糾正1比特錯誤??梢愿鶕?jù)錯誤校正子S由糾正電路Kj確定此糾正值Δ Vj。如果S = Ilj,則糾正電路Kj輸出值1。如果S是具有偶數(shù)個1的二進制向量,則指示不可糾正的錯誤。因為對將所提出的原理應(yīng)用于BCH碼(Bose-Chaudhuri-Hocquenghem碼)也特別感興趣,所以將對BCH碼的一些特性進行描述。例如,它們也在“Tzschach,H. and Ha^ linger, G. Codes fur den StorungSSlcheren Datentransfer, Oldenburg Verlag 1993,p. 111-121” 以及“Lin,S.,Costello, D. =Error Control Coding, Prentice Hall, 1983,chapter 6” 中進行了描述。BCH碼是特殊循環(huán)碼,因此是線性碼。BCH碼可以用特殊生成多項式G(Z)描述為循環(huán)碼,以及用生成矩陣G和用校驗矩陣H描述為線性碼。在糾正2比特錯誤的BCH碼的情況下,生成多項式可以以其最簡單形式表示為G⑵= ~(Ζ), 5(Ζ)⑴這里,ma (ζ)是本原多項式,也用作所考慮的伽羅瓦(Galois)域的模多項式。α
是伽羅瓦域的本原元素以及多項式的根。多項式"V(Z)是根為α 3的最小多項式。用GFQm)
來指定相關(guān)聯(lián)的伽羅瓦域。則未縮短的BCH碼的長度為2μ_1。如果考慮總體奇偶性,則G (ζ) 可以表示為以下形式G(Ζ) = Μα ⑵.《V (Z>(Z + 1)⑵在不對總體奇偶性進行整合的情況下,校驗矩陣可以以其分離形式表示為
權(quán)利要求
1.一種用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備,所述設(shè)備包括錯誤校正子發(fā)生器,配置為確定編碼比特序列的錯誤校正子,其中所述錯誤校正子通過將校驗矩陣(H)與編碼比特序列相乘來得出,其中所述校驗矩陣(H)包括第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣Of),其中每個子矩陣包括多條線,其中每條線包括多個二進制分量,其中第一子矩陣(Hu)的每條線的至少第一預(yù)定分量或第二預(yù)定分量包括第一比特值, 其中第二子矩陣(Ha)包括彼此線性無關(guān)的線,其中第二子矩陣(Ha)的每條線的第一預(yù)定分量和第二預(yù)定分量包括相同的第二比特值,其中第三子矩陣(He)包括彼此線性無關(guān)的線,其中第三子矩陣(He)的每條線的第一預(yù)定分量或第二預(yù)定分量包括第一比特值,其中如果第一比特值等于1,則第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第一預(yù)定分量的XOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(He)的所有線的第二預(yù)定分量的XOR求和等于第二比特值;或者,如果第一比特值等于0,則第一子矩陣(Hu) 和第三子矩陣Of)的所有線的第一預(yù)定分量的XNOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第二預(yù)定分量的XNOR求和等于第二比特值,其中將校驗矩陣(H)與測試向量相乘的結(jié)果等于將第二子矩陣與結(jié)果向量相乘的結(jié)果,其中結(jié)果向量的至少一個分量包括第二比特值;以及比特錯誤糾正器,配置為基于所確定的編碼比特序列的錯誤校正子來糾正在該編碼比特序列中的比特錯誤。
2.根據(jù)權(quán)利要求1的設(shè)備,其中測試向量中的與第一子矩陣(Hu)和第三子矩陣(H。)的線的分量相乘的每個分量包括第一比特值,以及其中測試向量中的與第二子矩陣(Ha)的線的分量相乘的每個分量包括第二比特值。
3.根據(jù)權(quán)利要求1的設(shè)備,其中第一子矩陣(Hu)的線全部不同于第三子矩陣(He)的線。
4.根據(jù)權(quán)利要求1的設(shè)備,其中編碼比特序列的錯誤校正子基于將第一子矩陣(Hu)與編碼比特序列的第一組比特相乘、將第二子矩陣(Ha)與編碼比特序列的第二組比特相乘、 以及將第三子矩陣(He)與編碼比特序列的第三組比特相乘來得出。
5.根據(jù)權(quán)利要求4的設(shè)備,其中第一組比特表示信息比特,第二組比特表示地址比特, 以及第三組比特表示校驗比特。
6.根據(jù)權(quán)利要求5的設(shè)備,包括可尋址存儲器,其中編碼比特序列的至少第一組比特和第三組比特被存儲在用第二組比特指示的存儲器單元的地址處。
7.根據(jù)權(quán)利要求4的設(shè)備,其中第一組比特中的至少單比特依賴于第二組比特中的至少一比特。
8.根據(jù)權(quán)利要求4的設(shè)備,其中與包括第二比特值的結(jié)果向量的所述至少一個分量相關(guān)聯(lián)的、第二組比特中的一比特包括第一比特值。
9.根據(jù)權(quán)利要求4的設(shè)備,還包括相同的比特值檢測器,配置為提供信號,所述信號指示編碼比特序列的第一組比特的所有比特和第三組比特的所有比特是否包括相同的比特值。
10.根據(jù)權(quán)利要求4的設(shè)備,其中編碼比特序列的第二組比特的比特數(shù)小于或等于編碼比特序列的第三組比特的比特數(shù)減2。
11.根據(jù)權(quán)利要求1的設(shè)備,其中校驗矩陣(H)的每條線的預(yù)定多個分量的XOR求和等于相同的比特值。
12.根據(jù)權(quán)利要求1的設(shè)備,其中第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣(H。) 的每條線是相應(yīng)子矩陣的一列,第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣(H。)的線的第一預(yù)定分量表示校驗矩陣(H)的一行,以及第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣Of)的線的第二預(yù)定分量表示校驗矩陣(H)的另一行,或者其中第一子矩陣(Hu)、 第二子矩陣(Ha)和第三子矩陣(H。)的每條線是相應(yīng)子矩陣的一行,第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣(H。)的線的第一預(yù)定分量表示校驗矩陣(H)的一列,以及第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣(H。)的線的第二預(yù)定分量表示校驗矩陣(H)的另一列。
13.根據(jù)權(quán)利要求1的設(shè)備,其中錯誤校正子發(fā)生器配置為通過將校驗矩陣(H)與編碼比特序列相乘來確定所述錯誤校正子。
14.根據(jù)權(quán)利要求1的設(shè)備,其中錯誤校正子發(fā)生器和比特錯誤糾正器被至少部分地一起實現(xiàn)。
15.根據(jù)權(quán)利要求1的設(shè)備,其中校驗矩陣(H)的所有線的預(yù)定相同分量包括相同的比特值。
16.根據(jù)權(quán)利要求1的設(shè)備,其中校驗矩陣(H)以分離形式來表示。
17.根據(jù)權(quán)利要求1的設(shè)備,其中校驗矩陣(H)是縮短漢明碼、縮短蕭氏碼或縮短BCH 碼的校驗矩陣(H)。
18.根據(jù)權(quán)利要求1的設(shè)備,還包括解碼單元,配置為對來自比特錯誤糾正器的糾正后的比特序列進行解碼。
19.一種用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備,所述設(shè)備包括 用于確定編碼比特序列的錯誤校正子的裝置,其中所述錯誤校正子通過將校驗矩陣(H)與編碼比特序列相乘來得出,其中所述校驗矩陣(H)包括第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣Of),其中每個子矩陣包括多條線,其中每條線包括多個二進制分量,其中第一子矩陣(Hu)的每條線的至少第一預(yù)定分量或第二預(yù)定分量包括第一比特值, 其中第二子矩陣包括彼此線性無關(guān)的線,其中第二子矩陣的每條線的第一預(yù)定分量和第二預(yù)定分量包括相同的第二比特值,其中第三子矩陣(He)包括彼此線性無關(guān)的線,其中第三子矩陣(He)的每條線的第一預(yù)定分量或第二預(yù)定分量包括第一比特值,其中如果第一比特值等于1,則第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第一預(yù)定分量的XOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(He)的所有線的第二預(yù)定分量的XOR求和等于第二比特值;或者,如果第一比特值等于0,則第一子矩陣(Hu) 和第三子矩陣Of)的所有線的第一預(yù)定分量的XNOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第二預(yù)定分量的XNOR求和等于第二比特值,其中將校驗矩陣(H)與測試向量相乘的結(jié)果等于將第二子矩陣與結(jié)果向量相乘的結(jié)果,其中結(jié)果向量的至少一個分量包括第二比特值;以及用于基于所確定的編碼比特序列的錯誤校正子來糾正在該編碼比特序列中的比特錯誤的裝置。
20.一種用于生成用于糾正長度為η的碼字的至少1比特錯誤的碼C的m位校正子S =(S1,.. .,Sm)的電路,所述校正子具有校驗矩陣H用于糾正在可尋址存儲器中存儲的比特的錯誤,其中存在第一組k比特u = U1, ...,uk、第二組1比特a = ai,. . .,Ei1以及第三組 m比特c = Cl,. . .,cm,以及第一組k比特和第三組m比特被存儲在可尋址存儲器中地址a 下,其中在沒有錯誤的情況下,從比特u = U1, ...,Uk和a = ,...,&通過XOR連接來邏輯上得出比特c = Cl,. . .,cm,η = k+1+m,其中所述電路具有η個輸入,在該η個輸入處施加比特U1,... , , ,...,ai,Cl,...,cm,其中當(dāng)施加地址 ,..., 時從存儲器輸出比特 U1, ... , uk, C1, ... , cm,以及錯誤校正子S = ,...,的值用下式來確定5= H* (U,a,c)τ且(u,a,(”是行向量(u,a,c)和校驗矩陣H的轉(zhuǎn)置列向量, 其中校驗矩陣H由三個子矩陣Hu,Ha, Hc組成,其中子矩陣Hu由H的前k個列組成,子矩陣Ha由H的接著1個列組成,以及子矩陣He由H的剩余m個列組成,以便應(yīng)用下式 H = (Hu, Ha, Hc),其中具有每個不等于W,0]的、Hu和He的列的第一預(yù)定分量和第二預(yù)定分量,且使得 Hu的這些列和He的這些列的這些第一預(yù)定分量的逐分量的XOR求和以及Hu和He的這些列的第二預(yù)定分量的逐分量的XOR求和每個等于0,其中Ha的列的第一預(yù)定分量的值和第二預(yù)定分量的值每個等于W,0], 其中矩陣Ha的1個列是線性無關(guān)的, 其中矩陣He的m個列是線性無關(guān)的, 其中具有比特位置r,1 < r < 1,使得應(yīng)用下式
21.一種用于糾正在編碼比特序列中的至少單比特錯誤的方法,所述方法包括確定編碼比特序列的錯誤校正子,其中所述錯誤校正子通過將校驗矩陣(H)與編碼比特序列相乘來得出,其中所述校驗矩陣(H)包括第一子矩陣(Hu)、第二子矩陣(Ha)和第三子矩陣Of),其中每個子矩陣包括多條線,其中每條線包括多個二進制分量,其中第一子矩陣(Hu)的每條線的至少第一預(yù)定分量或第二預(yù)定分量包括第一比特值, 其中第二子矩陣包括彼此線性無關(guān)的線,其中第二子矩陣的每條線的第一預(yù)定分量和第二預(yù)定分量包括相同的第二比特值,其中第三子矩陣(He)包括彼此線性無關(guān)的線,其中第三子矩陣(He)的每條線的第一預(yù)定分量或第二預(yù)定分量包括第一比特值,其中如果第一比特值等于1,則第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第一預(yù)定分量的XOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(He)的所有線的第二預(yù)定分量的XOR求和等于第二比特值;或者,如果第一比特值等于0,則第一子矩陣(Hu) 和第三子矩陣Of)的所有線的第一預(yù)定分量的XNOR求和等于第二比特值,以及第一子矩陣(Hu)和第三子矩陣(H。)的所有線的第二預(yù)定分量的XNOR求和等于第二比特值,其中將校驗矩陣(H)與測試向量相乘的結(jié)果等于將第二子矩陣與結(jié)果向量相乘的結(jié)果,其中結(jié)果向量的至少一個分量包括第二比特值;以及基于所確定的編碼比特序列的錯誤校正子來糾正在該編碼比特序列中的比特錯誤。
全文摘要
本發(fā)明涉及用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備和方法。一種用于糾正在編碼比特序列中的至少單比特錯誤的設(shè)備包括錯誤校正子發(fā)生器和比特錯誤糾正器。錯誤校正子發(fā)生器確定編碼比特序列的錯誤校正子,其通過將校驗矩陣與編碼比特序列相乘而得出。
文檔編號H03M13/05GK102468855SQ201110372558
公開日2012年5月23日 申請日期2011年11月10日 優(yōu)先權(quán)日2010年11月10日
發(fā)明者M·格塞爾, S·拉庫蒂爾, T·克恩, T·拉比納爾特, U·巴克豪森 申請人:英飛凌科技股份有限公司