12列被分配給集合1。在這些列中的每一列的 分量中,存在2個(gè)一,以使得H矩陣的這些列的按照分量模2和等于0,其中 hi+h2 +h3 +h4 +h5 +h6 +h7 +h12 = 0, 其中 H? (1,1,1,1,1,1,1,0, 0, 0, 0, 1,0, 0, 0, 0)T = 0 適用,并且其中(1,1,1,1,1,1,l,〇, 〇,〇,〇, 1,〇,〇,〇,〇,)是碼字。
[0186] H矩陣的第8至第11和第13至第16列被分配給集合1。在這些列中的每一列 的分量中,存在4個(gè)一,以使得H矩陣的這些列的按照分量模2合等于0,其中 hsh9 +h10 +hn +h13 +h14 +h15 +h16 - 0, 其中 H? (0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0, 1,1,1,1)T = 0 適用,并且其中1,1,1,l,〇, 1,1,1,1,)也是考慮的代碼的碼字。
[0187] 集合YJPY2是分離的并且它們的并集包括碼字的所有16個(gè)分量。
[0188] 這里,也可選擇能夠被直接地或反演地寫(xiě)到內(nèi)存Mem13中的位的第三子集Y3。這 種集合y3可包括碼字的所有位。已從內(nèi)存讀出的校正值c/f和dgv確定哪些位的子集已被 反演地寫(xiě)到內(nèi)存Mem13中并且哪些位的子集已被直接地寫(xiě)到內(nèi)存Mem13中。
[0189] 在這種實(shí)施例中,存在直接地、以部分反演方式或以完全反演方式將碼字71,~ ,y16寫(xiě)到內(nèi)存中的四個(gè)不同選擇。假設(shè)心和78被設(shè)置為常數(shù)二進(jìn)制值y7 =bf\ = 0,y8 = bf2 = 0〇
[0190] 可將字
寫(xiě)到內(nèi)存中。
[0191]因?yàn)槿绻鹮,。2,。3,。4,。5,。6,〇,〇,Xl,X2,X3,X4,X5,X6,X7,X8疋代碼C的碼子,則與到 內(nèi)存中的值屯,…,d16是代碼C的碼字,而不管哪些位的子集已被反演,所以能夠通過(guò)使用 代碼C來(lái)校正從內(nèi)存讀出的可能錯(cuò)誤的值df,...,而不必知道哪些位組已被直接地寫(xiě)到 內(nèi)存中并且哪些位組已被反演地寫(xiě)到內(nèi)存中。
[0192] 特別地,讀出的值dK能夠被校正為dff, ,其中
0指示沒(méi)有位組的位已被反演,
,0指示位組1的位已被反 演
指示位組¥2的位已被反演,,1指示位組Y3 =YiU¥2的 位匕骰反演。
[0193] 現(xiàn)在將參照下面的實(shí)施例討論一個(gè)方面??紤]具有4個(gè)校驗(yàn)位(Cl,c2,c3,c4)、6個(gè) 數(shù)據(jù)位(Xpx2,x3,x4,x5,x6)和兩個(gè)常數(shù)二進(jìn)制值(bfpbf2)和一個(gè)H矩陣H的1位糾錯(cuò)碼 C,其中
并且其中變量 ……
對(duì)應(yīng)于H矩陣(6)H的列。
[0194] 如果y=y:,…,y12 =Ci,…,c4,bfpbf2,Xi,…,x6是代碼C的碼字,則H矩陣的第 三列和第四列的一的數(shù)量是奇數(shù)并J
不是碼字。定義:位的兩個(gè)子集YJPY2 能夠被直接地或反演地寫(xiě)到內(nèi)存中。這里
,不必是代碼C的代碼向量。
[0195] 子集1可例如被定義為 Yi={cnc2,c3,c4,bf\,xj并且子集丫2可例如被定義為 Y2_ {c3,c4,bf2,x3,x4,x5,x6} 〇
[0196] 集合YJPY2不是分離的,因?yàn)樗鼈兙哂泄餐奈籧jPc4。
[0197] 下面的情況適用:如果y=yi,…,y12是代碼C的碼字,則通過(guò)反演屬于Yi的位從 y獲得的字也是碼字。
[0198] 同樣地,下面的情況適用:如果y=yi,…,y12是代碼C的碼字,貝ij通過(guò)反演屬于Y2 的位從y獲得的字也是碼字。
[0199] 在下面,考慮這樣的情況:碼字y* = 1,0, 1,1,1,1,1,1,0, 1,0, 1將要被直接地或 反演地存儲(chǔ)在內(nèi)存中,例如存儲(chǔ)在地址a。假設(shè):在測(cè)試中,已例如確定第12位y*12具有卡0 錯(cuò)誤。然后,替代于碼字y* = 1,〇, 1,1,1,1,1,1,〇, 1,〇, 1 =Ci,c2,c3,c4,bfi,bf2,Xi,x2,x3, x4,x5,x6,石馬子
能夠被存儲(chǔ)在內(nèi)存中,該碼字在子集1的位中被反演并且其在第12位中的值等于0。通過(guò) 如此操作,在這個(gè)位位置的卡〇錯(cuò)誤沒(méi)有影響。
[0200] 如果不發(fā)生另外的錯(cuò)誤,則當(dāng)在地址a讀取時(shí),將會(huì)讀出字rfi,.,., = 100010101010。由于是代碼c的碼字,所以
并且
I的值指示子集y2的位已被反演,以使得
=101111110101 適用。通過(guò)將在子集1的位中反演的位寫(xiě)到內(nèi)存中并且通過(guò)基于常數(shù)二進(jìn)制值反轉(zhuǎn) 執(zhí)行的反演,能夠容忍(卡0)錯(cuò)誤而沒(méi)有影響。
[0201] 這里,可如已經(jīng)所述,錯(cuò)誤已通過(guò)測(cè)試而被檢測(cè)。
[0202] 根據(jù)實(shí)施例,碼字yi,…,yQ被直接地寫(xiě)到內(nèi)存中,并且隨后,各值被讀出并且與寫(xiě) 入的值比較以確定是否發(fā)生了錯(cuò)誤以及在哪里發(fā)生了錯(cuò)誤。
[0203] 如果存在錯(cuò)誤檢測(cè)器,則能夠如下繼續(xù)進(jìn)行: 如果在將碼字yi,…,化寫(xiě)在地址a之后當(dāng)在地址a讀出時(shí)錯(cuò)誤檢測(cè)器未指示錯(cuò)誤,則 沒(méi)有新的字將會(huì)被寫(xiě)在地址a。如果錯(cuò)誤檢測(cè)器指示錯(cuò)誤,則在1的位中反演的字在地址 a被寫(xiě)到內(nèi)存中。如果當(dāng)在該地址讀出時(shí)錯(cuò)誤檢測(cè)器現(xiàn)在未指示錯(cuò)誤,則沒(méi)有另外的字被寫(xiě) 到內(nèi)存中。如果當(dāng)讀出存儲(chǔ)在地址a的字時(shí)錯(cuò)誤檢測(cè)器指示錯(cuò)誤,則在¥2的位中反演的字 被寫(xiě)到內(nèi)存中。如果當(dāng)在該地址讀出時(shí)錯(cuò)誤檢測(cè)器現(xiàn)在未指示錯(cuò)誤,則沒(méi)有另外的字被寫(xiě) 到內(nèi)存中。這種情況持續(xù),直至在讀出期間未指示錯(cuò)誤或者直至不存在反演位的另外的子 集Yk。
[0204] 另外,可實(shí)現(xiàn)下面的過(guò)程: 在地址a,碼字yi,…,yQ或在子集Yi的位中反演的碼字被寫(xiě)到內(nèi)存中,并且當(dāng)錯(cuò)誤檢測(cè) 器指示一定數(shù)量的錯(cuò)誤時(shí)當(dāng)可由代碼C校正所述數(shù)量的錯(cuò)誤時(shí),保持這個(gè)寫(xiě)入的字。
[0205] 也可在錯(cuò)誤檢測(cè)器指示未超過(guò)錯(cuò)誤的某個(gè)數(shù)量時(shí)保持寫(xiě)到內(nèi)存中的位。如果代碼 C是2位糾錯(cuò)碼,則當(dāng)錯(cuò)誤檢測(cè)器指示至多1位錯(cuò)誤時(shí)能夠保持寫(xiě)到內(nèi)存中的位,因?yàn)殡S后 仍然能夠校正另一隨機(jī)錯(cuò)誤。
[0206] 對(duì)于錯(cuò)誤處理,有益地,存在具有k> 1的幾個(gè)不同子集¥:,…,Yk,其位能夠被分 別直接地或反演地寫(xiě)到內(nèi)存中,這允許良好地適應(yīng)于不同的可能的永久錯(cuò)誤。
[0207] 在下面,將會(huì)討論另外的實(shí)施例。
[0208] 具有在地址a=ai,….,a5被直接地或反演地存儲(chǔ)在內(nèi)存中的5個(gè)校驗(yàn)位(^,…,c5 和8個(gè)凈荷數(shù)據(jù)位Xl,…,^和常數(shù)二進(jìn)制值bf:的截短漢明碼將會(huì)被視為代碼C。在這種 實(shí)施例中,地址位ai,….,a5被用于編碼。
[0209] 代碼的H矩陣H是
其中H矩陣的列被稱為匕,…,h14。
對(duì)應(yīng)于從左到右的H矩陣(7)的各列。具有其系統(tǒng)形式的對(duì)應(yīng)G矩陣G是G- (P14,5,I14), 其中114是14維單位矩陣,并且P14,5具有形式
當(dāng)通過(guò)采用數(shù)據(jù)被寫(xiě)到內(nèi)存中的內(nèi)存地址的地址位叫,….,a5寫(xiě)到內(nèi)存時(shí),代碼C的碼 字被定義為
適用,并且其中叫,….,&5被稱為寫(xiě)地址。
[0210] 定義位的集合
,以使得這個(gè)集合 的位能夠被直接地或反演地寫(xiě)到內(nèi)存中。&4被設(shè)置為常數(shù)值bf\ = 1。
[0211] 如果
是代碼C的碼字,
也是代碼C的碼字。
[0212] 在地址a=ai,…?,a5,當(dāng)位被直接地存儲(chǔ)時(shí),位
被寫(xiě)到內(nèi)存中, 或者在地址a,位
被寫(xiě)到內(nèi)存中。
[0213] 然后,當(dāng)在讀地址a'從內(nèi)存讀取時(shí),當(dāng)a=a'并且不存在錯(cuò)誤時(shí),對(duì)于i= 1,…,14,讀出位
,a:,…,85形成代碼C的碼字。
[0214] 如果能夠由代碼C校正的錯(cuò)誤存在于位!
,…,&5的 錯(cuò)誤被校正為
并且基于值確定數(shù)據(jù)是已被直接地寫(xiě)到內(nèi)存中 還是已被反演地寫(xiě)到內(nèi)存中。例如,如果df= 1,則數(shù)據(jù)已被直接地寫(xiě)到內(nèi)存中,并且如 果df= 〇,則數(shù)據(jù)已被反演地寫(xiě)到內(nèi)存中。地址位中的錯(cuò)誤未被校正。當(dāng)可由代碼c檢 測(cè)到錯(cuò)誤時(shí),檢測(cè)它們。
[0215]如果例如1位錯(cuò)誤存在于地址位&1中,則關(guān)聯(lián)的錯(cuò)誤校驗(yàn)子是[1,0, 0, 1,0]T。由 于H矩陣的列h,…,h14都不等于[1,0, 0, 1,0]T,所以不執(zhí)行位琳…,之一的校正,并且 錯(cuò)誤被指示為不可校正錯(cuò)誤。通過(guò)如此操作,能夠例如檢測(cè)到:讀地址和寫(xiě)地址不匹配,并 且不同之處在于可由代碼C校正的錯(cuò)誤。
[0216]圖5顯示這樣的實(shí)施例:地址位a=叫,….,a5如何被用于對(duì)待存儲(chǔ)的數(shù)據(jù)進(jìn)行 編碼。圖5的電路包括具有9位寬第一輸入、5位寬第二輸入和14位寬輸出的編碼器Cod 41。此外,圖5的電路包括具有14位寬第一輸入和1位寬第二輸入和14位寬輸出的反演 電路42。另外,圖5的電路包括具有14個(gè)數(shù)據(jù)輸入、14個(gè)數(shù)據(jù)輸出和用于寫(xiě)地址和讀地址 的5位寬地址輸入的可尋址內(nèi)存Mem43。
[0217] 例如,8個(gè)凈荷數(shù)據(jù)位Xl,…,x8將要被存儲(chǔ)。凈荷數(shù)據(jù)位由傳送常數(shù)二進(jìn)制值的 位bfi補(bǔ)充,其中,這里,常數(shù)值是例如bfi= 1。
[0218] 位bfi,Xi,…,乂8被應(yīng)用于編碼器Cod41的9位寬第一輸入,而寫(xiě)地址的位a:,… .,%被應(yīng)用于編碼器Cod41的5位寬第二輸入。
[0219] 構(gòu)造編碼器Cod41,從而編碼器Cod41在它的14個(gè)輸出輸出碼字 q,…,CybA=Lx!,…,x8,ai,…,a5的位Ci,…,CybA=Lx!,…,x8,其中根據(jù)
形成碼字, 其中G是考慮的代碼的生成矩陣。
[0220] 假設(shè):以其系統(tǒng)形式提供代碼C。
[0221] 編碼器Cod41的14位寬輸出被引導(dǎo)至X0R電路42的第一 14位寬輸入,反演信 號(hào)Inv被應(yīng)用于X0R電路42的第二1位寬輸入。
[0222] 傳送值屯,…,d14的X0R電路12的14位寬輸出連接到內(nèi)存Mem43的14位寬數(shù) 據(jù)輸入。
[0223] 這里,X0R電路42包括分別具有兩個(gè)輸入和一個(gè)輸出的14個(gè)X0R門(mén),其中這些X0R 門(mén)的第一輸入分別連接到編碼器Cod41的14個(gè)二進(jìn)制輸出線之一,而這些X0R門(mén)的第二 輸入分別連接到傳送反演信號(hào)Irw的X0R電路42的第二輸入。
[0224]對(duì)于Inv= 0,屯,…,d14 =c!,…,c5, 1,x!,…,x8適用,而對(duì)于Inv= 1,則
:適用,以使得根據(jù)反演信號(hào),由編碼器輸出的位被直接地 (即,未修改地)或反演地寫(xiě)到內(nèi)存中。
[0225] 這里,根據(jù)實(shí)施例,實(shí)現(xiàn)編碼器,從而當(dāng)
是代碼C的碼字時(shí),則
也是代碼C的碼字。
[0226] 在實(shí)施例中,當(dāng)寫(xiě)數(shù)據(jù)時(shí),內(nèi)存Mem43被提供寫(xiě)地址a,并且應(yīng)用于它的數(shù)據(jù)輸入 的數(shù)據(jù)被存儲(chǔ)在地址a= 。寫(xiě)地址的位ai,….,a5是代碼的信息位1^,…,u14 = bf"x!,…,x8,a" …,a5的一部分。
[0227]當(dāng)讀取數(shù)據(jù)時(shí),當(dāng)應(yīng)用讀地址a'時(shí),從內(nèi)存讀取存儲(chǔ)在讀地址a' =Sf,…,$的 數(shù)據(jù)。
[0228] 如果寫(xiě)地址a和讀地址a'匹配(即,當(dāng)a=a'時(shí)),則將會(huì)在數(shù)據(jù)輸出輸出值 叫…,$5。寫(xiě)在地址a的數(shù)據(jù)屯,…,d15和從相同地址a讀出的數(shù)據(jù)巧,巧5可能由于錯(cuò) 誤而不同。如果未發(fā)生錯(cuò)誤,則讀出的值指示數(shù)據(jù)是已被直接地寫(xiě)到內(nèi)存中還是已被反 演地寫(xiě)到內(nèi)存中。如果發(fā)生可由代碼校正的錯(cuò)誤,則當(dāng)錯(cuò)誤可由代碼C校正時(shí),能夠根據(jù)從 內(nèi)存讀出并且基于(16_校正的數(shù)據(jù)檢測(cè)到數(shù)據(jù)是已被反演地寫(xiě)到內(nèi)存中還是已被直接地 寫(xiě)到內(nèi)存中。
[0229] 作為圖5的設(shè)備的補(bǔ)充,圖6描述用于讀出可能錯(cuò)誤的位、用于校正錯(cuò)誤 位并且在位在寫(xiě)到內(nèi)存中之前已被反演的情況下用于反演位的根據(jù)實(shí)施例的設(shè)備。如已經(jīng) 參照?qǐng)D5所解釋,地址位ai,…,a5已被用于形成代碼C的碼字。位di,…,d14被寫(xiě)到內(nèi)存Mem43 中。
[0230] 讀地址a'被提供給內(nèi)存Mem43,并且可能錯(cuò)誤的位
被讀取。在內(nèi) 存Mem43的14個(gè)二進(jìn)制數(shù)據(jù)輸出上輸出可能錯(cuò)誤的彳 1
>可假設(shè):a=a'適 用并且寫(xiě)在寫(xiě)地址a的位被從相同地址a' =a讀出。由于讀出的位d'能夠例如由于永久或 非永久或瞬態(tài)內(nèi)存錯(cuò)誤而是錯(cuò)誤的,所以讀出的位不必等于寫(xiě)入的位屯,…,d14。
[0231] 如果不存在錯(cuò)誤,則 是代碼C的碼字。
[0232]如果(d',a')不是該代碼的碼字,則錯(cuò)誤存在于內(nèi)存Mem43中或者當(dāng)確定地址時(shí) 已發(fā)生錯(cuò)誤。
[0233] 在內(nèi)存43的數(shù)據(jù)輸出上輸出的位0^,,,, 同時(shí)被提供給校驗(yàn)子產(chǎn)生器Synd51 的14位寬第一輸入,讀地址a'的位3^被提供給校驗(yàn)子產(chǎn)生器Synd51的5位寬第二 輸入。校驗(yàn)子產(chǎn)生器Synd51在它的5位寬輸出上輸出5位寬錯(cuò)誤校驗(yàn)子s= (Sl,…,s5)。 這里,構(gòu)造校驗(yàn)子產(chǎn)生器Synd51,從而校驗(yàn)子產(chǎn)生器Synd51根據(jù),
形成錯(cuò)誤校驗(yàn)子s, 其中可例如使用公式(7)的H矩陣H。讀取地址a'被用于校驗(yàn)子形成。
[0234] 校驗(yàn)子產(chǎn)生器Synd51的5位寬輸出連接到解碼器Dec52的5位寬輸入, 可例如實(shí)現(xiàn)解碼器Dec52,從而校驗(yàn)子產(chǎn)生器Synd51形成包括用于從內(nèi)存讀出的位 '的校正位e6,e7,…,e14的校正向量e= (e6,e7,…,e14)。
[0235]
當(dāng)校驗(yàn)位也將要被校正時(shí),校正器還可另外形成校正信號(hào)ei,…,e5。
[0236] 另外,校正器還可形成用于地址位3^的校正位,其中用于地址位的不同于0 的校正信號(hào)指示存在地址錯(cuò)誤,并且在錯(cuò)誤地址a'讀出的位將不會(huì)被進(jìn)一步使用。
[0237] 在圖6中,X0R電路53可例如包括9個(gè)X0R門(mén)X0R6,…,X0R14,其中九個(gè)X0R門(mén)中的 每一個(gè)具有兩個(gè)輸入和一個(gè)輸出(九個(gè)個(gè)體X0R門(mén)未被不出在圖6中)。對(duì)于i= 6,…,14, 值被提供給X0R門(mén)XORi的第一輸入,并且值ei被提供給第二輸入,以使得在第iX0R門(mén) XORi的輸出輸出值
校驗(yàn)子產(chǎn)生器Synd51、解碼器Dec52和X0R電路53可 被視為一起形成校正器54的電路部分。校正器54還可包括錯(cuò)誤檢測(cè)器FE57,如圖6中所 不〇
[0238] X0R電路53的最低有效輸出(g卩,傳送值d6eOT的X0R門(mén)X0R6的輸出)被提供給 反演器55的輸入,反演器55在它的輸出輸出值
>X0R電路53的8個(gè)更高有效 輸出(即,傳送值的X0R門(mén)X0R7,…,X0R14的輸出)連接到反演電路54的第一 8 位寬輸入,在圖6中,反演電路54包括分別具有兩個(gè)輸入和一個(gè)輸出的8個(gè)X0R門(mén)火 ,…,A0/?^,而反演電路54的第二1位寬輸入連接到反演器55的輸出。
[0239] 對(duì)于i= 7,…,14,值#'被應(yīng)用于X0R門(mén)火的第一輸入,而由反演器55輸出 的值
'被提供給第二輸入。XOR門(mén)火1CWJ在它的輸出輸出值y+f氣
[0240] 圖6顯示存儲(chǔ)常數(shù)二進(jìn)制值bf\和凈荷數(shù)據(jù)位xi,…,x8的位位置被校正。
[0241] 另外的位(例如,校驗(yàn)位)也可被校正,或者僅凈荷數(shù)據(jù)位的子集也可被校正。
[0242] 在圖6中示出的實(shí)施例中,存在錯(cuò)誤檢測(cè)器FE57,其5位寬輸入連接到校驗(yàn)子產(chǎn) 生器51的輸出并且錯(cuò)誤檢測(cè)器FE57在它的q位寬輸出輸出錯(cuò)誤信號(hào)E,其中q彡1適用。
[0243] 已示出:對(duì)于實(shí)施例,具有r= 5的寫(xiě)地址a的位ai,…,和讀地址的位 <,…, 3;被用于編碼和解碼,以使得例如根據(jù)
從信息位確定校驗(yàn) 位。
[0244] 也可由具有t〈r的函數(shù)f: 1K- {0, 1} 1從地址位&1,…,ar獲得位,其中 確定所述獲得的位,
形成線性碼C的信息位。因此,例如,可以t= 1,并且根據(jù)
定義的心是 地址位的奇偶性。
[0245] 現(xiàn)在將針對(duì)BCH碼討論實(shí)施例的另一方面。
[0246] 能夠校正1位和2位錯(cuò)誤的(15, 7)BCH碼C的H矩陣是(參見(jiàn)Lin,S.和Costello, D.ErrorControlCoding,PrenticeHall, 1983,頁(yè)碼 149)H矩陣H
變量y:,…,y15被分配給從左到右的H矩陣的列。
[0247] 由于這個(gè)BCH碼C的H矩陣的每一行包括6、8或12個(gè)一,因此偶數(shù)個(gè)一
《1 是代碼C的碼字,并且可形成能夠被直接地或反演地寫(xiě)到內(nèi)存中作為位屯,…,d15的所有位 的集合= {y:,…,y15}。由于公式(10)的H矩陣具有8行,所以BCH碼具有8個(gè)校驗(yàn)位 和7個(gè)信息位。如果y15 = 6^被選擇為常數(shù)值,則能夠存儲(chǔ)6個(gè)凈荷數(shù)據(jù)位。在從內(nèi)存 讀出可能錯(cuò)誤的位$(,,,, 之后,1位和2位錯(cuò)誤能夠由BCH碼校正。如果例如是錯(cuò)誤 的,則即使另外的位是錯(cuò)誤的,#5也將會(huì)被校正為正確的值dff。
[0248] 實(shí)施例可實(shí)現(xiàn)另一方面:為了識(shí)別直接地或反演地寫(xiě)到內(nèi)存中的位的集合Yi,使 用具有t> 1的t常數(shù)值匕4,...汕&。在根據(jù)糾錯(cuò)碼(:校正從內(nèi)存讀出的值
,…之后,能夠從與常數(shù)值bf\,. . .,bft對(duì)應(yīng)的校正位決定位組Yi的位是否將要被反演。通 過(guò)如此操作,能夠增加關(guān)于t的位是否將要被反演的語(yǔ)句的可靠性。
[0249] 例如,t= 3,并且代碼C可以是具有碼距5的2位糾錯(cuò)碼。對(duì)于子集^的常數(shù)二 進(jìn)制值bfn,bfi2,bfi3,能夠應(yīng)用bfn=bfi2 =bfi3= 0。在1位錯(cuò)誤或2位錯(cuò)誤的情況下, 不能發(fā)生這樣的情況,即并非在已直接地或反演地存儲(chǔ)常數(shù)二進(jìn)制值的位位置的所有位
'是相同的,因?yàn)樗?位和所有2位錯(cuò)誤由代碼C校正。由此,有益地,^的 位是已被直接地寫(xiě)到內(nèi)存中還是已被反演地寫(xiě)到內(nèi)存中的決定尤其可靠。
[0250] 在下面,描述實(shí)施例的隨后的方法步驟,其中地址位未被用于編碼: 提供待存儲(chǔ)的數(shù)據(jù)位并且由常數(shù)二進(jìn)制值補(bǔ)充數(shù)據(jù)位。
[0251] 利用糾錯(cuò)碼C對(duì)數(shù)據(jù)位和常數(shù)二進(jìn)制值進(jìn)行編碼。
[0252] 通過(guò)下述步驟形成待存儲(chǔ)的位: 確定待存儲(chǔ)的位的子集的位是否將要被反演 當(dāng)位的子集的位將要被反演時(shí),反演子集的位 當(dāng)位的子集的位將不會(huì)被反演時(shí),不反演子集的位 4.將待存儲(chǔ)的位寫(xiě)到內(nèi)存中。
[0253] 5.從內(nèi)存讀取存儲(chǔ)的可能錯(cuò)誤的位。
[0254] 6.通過(guò)使用糾錯(cuò)碼C來(lái)校正讀取的可能錯(cuò)誤的位,其中如果發(fā)生的錯(cuò)誤可由代碼 C校正,則已存儲(chǔ)常數(shù)二進(jìn)制值的位位置和已存儲(chǔ)數(shù)據(jù)位的至少一個(gè)位位置被校正。
[0255] 7.反演或不反演存儲(chǔ)位的值,其中基于在已存儲(chǔ)常數(shù)值的位位置的校正位決定位 的子集是將要被反演還是將不會(huì)被反演。
[0256] 在下面,描述另一實(shí)施例的隨后的方法步驟,其中地址位被用于編碼: 提供待存儲(chǔ)的數(shù)據(jù)位并且由常數(shù)二進(jìn)制值補(bǔ)充數(shù)據(jù)位。
[0257] 利用糾錯(cuò)碼C對(duì)數(shù)據(jù)位、常數(shù)二進(jìn)制值和寫(xiě)地址的地址位進(jìn)行編碼。
[0258] 通過(guò)下述步驟形成待存儲(chǔ)的位,其中地址位不屬于待存儲(chǔ)的位, 確定待存儲(chǔ)的位的子集的位是否將要被反演 當(dāng)位的子集的位將要被反演時(shí),反演子集的位 當(dāng)位的子集的位將不會(huì)被反演時(shí),不反演子集的位 4.在用于編碼的寫(xiě)地址將待存儲(chǔ)的位寫(xiě)到內(nèi)存中。
[0259] 5.在讀地址從內(nèi)存讀取存儲(chǔ)的可能錯(cuò)誤的位。
[0260] 6.通過(guò)使用糾錯(cuò)碼C考慮到讀地址校正讀取的可能錯(cuò)誤的位,其中如果發(fā)生的錯(cuò) 誤可由代碼C校正,則已存儲(chǔ)常數(shù)二進(jìn)制值的位位置和已存儲(chǔ)數(shù)據(jù)位的至少一個(gè)位位置被 校正。
[0261] 7.反演或不反演存儲(chǔ)位的值,其中基于在已存儲(chǔ)常數(shù)值的位位置的校正位決定位 的子集是將要被反演還是將不會(huì)被反演。
[0262] 在下面,總結(jié)實(shí)施例: 根據(jù)實(shí)施例,提供一種用于將位存儲(chǔ)在內(nèi)存中的方法,其中所述位被利用線性糾錯(cuò)碼C編碼,線性糾錯(cuò)碼C具有至少3的碼距,其中確定利用線性糾錯(cuò)碼C編碼的位的子集是被直 接地寫(xiě)到內(nèi)存中還是被以逐位反演方式寫(xiě)到內(nèi)存中,并且其中代碼C包括H矩陣H,其中: 直接地或反演地寫(xiě)到內(nèi)存中的位的子集包括至少一個(gè)二進(jìn)制常數(shù)值,所述至少一個(gè)二 進(jìn)制常數(shù)值與用于編碼的凈荷數(shù)據(jù)位一起形成線性碼C的碼字,其中當(dāng)位的各子集的位被 直接地寫(xiě)到內(nèi)存中時(shí)將該二進(jìn)制常數(shù)值作為二進(jìn)制值bf寫(xiě)到內(nèi)存中,并且其中當(dāng)位的各 子集的位被反演地寫(xiě)到內(nèi)存中時(shí)將該二進(jìn)制常數(shù)值bf作為反演值寫(xiě)到內(nèi)存中, 其中當(dāng)直接地或反演地寫(xiě)到內(nèi)存中的位的子集被反演時(shí),代碼C的碼字被轉(zhuǎn)換成相同 代碼的碼字,并且形成代碼的H矩陣,從而與直接地或反演地寫(xiě)到內(nèi)存中的位的子集對(duì)應(yīng) 的H矩陣的列的每個(gè)分量的一的數(shù)量是偶數(shù), 2. 當(dāng)從內(nèi)存讀出時(shí),通過(guò)使用線性糾錯(cuò)碼C來(lái)校正從內(nèi)存讀出的可能錯(cuò)誤的位,其中 當(dāng)位的各子集已被直接地寫(xiě)到內(nèi)存中時(shí)至少校正在已寫(xiě)入常數(shù)二進(jìn)制值bf的位位置的 位,或者當(dāng)位的各子集已被反演地寫(xiě)到內(nèi)存中時(shí)至少校正在已寫(xiě)入常數(shù)二進(jìn)制值的位 位置的位,并且 3. 在讀出之后當(dāng)已在已存儲(chǔ)常數(shù)值bf或反演常數(shù)值@的位位置讀出的校正值等于 P時(shí)反演已被直接地或反演地寫(xiě)到內(nèi)存中的位的子集的位,并且當(dāng)這個(gè)值等于bf時(shí)不反 演。
[0263] 根據(jù)實(shí)施例,內(nèi)存是寄存器。
[0264] 根據(jù)另一實(shí)施例,內(nèi)存是寄存器陣列。
[0265] 根據(jù)另一實(shí)施例,內(nèi)存是可尋址內(nèi)存。
[0266] 在實(shí)施例中,通過(guò)使用地址位來(lái)對(duì)利用糾錯(cuò)碼C編碼的位進(jìn)行編碼。
[0267] 根據(jù)實(shí)施例,直接地或反演地寫(xiě)到內(nèi)存中的位的子集的位的子集中的零的數(shù)量或 一的數(shù)量確定子集是被直接地寫(xiě)到內(nèi)存中還是被反演地寫(xiě)到內(nèi)存中。
[0268] 在實(shí)施例中,當(dāng)在直接寫(xiě)入、隨后的讀出以及寫(xiě)入的值和讀出的值的比較之后未 發(fā)生錯(cuò)誤時(shí),位