一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法
【專利摘要】一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法,本發(fā)明涉及低冗余正交拉丁碼擴(kuò)展方法。本發(fā)明是要解決現(xiàn)有存儲器容錯(cuò)技術(shù)需要耗費(fèi)較多的冗余位及較大的硬件開銷,嚴(yán)重影響存儲器性能的問題,而提出的一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法。該方法是通過一、總結(jié)正交拉丁碼奇偶校驗(yàn)矩陣H的構(gòu)造規(guī)則;二、構(gòu)成新的H’矩陣;步驟三、根據(jù)步驟二擴(kuò)展得到的H’矩陣,通過對32位數(shù)據(jù)位編碼,獲得相應(yīng)的碼字C;步驟四、采用大數(shù)邏輯譯碼算法糾正錯(cuò)誤將步驟三得到的碼字C中出現(xiàn)的1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C’譯出正確的數(shù)據(jù)douta等步驟實(shí)現(xiàn)的。本發(fā)明應(yīng)用于低冗余正交拉丁碼擴(kuò)展領(lǐng)域。
【專利說明】
一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及低冗余正交拉丁碼擴(kuò)展方法,特別涉及適用于保護(hù)32位存儲器數(shù)據(jù)的 低冗余正交拉丁碼擴(kuò)展方法。
【背景技術(shù)】
[0002] 軟錯(cuò)誤是造成存儲器失效的主要故障類型之一。應(yīng)用于航空航天領(lǐng)域的存儲器, 在空間中各種高能粒子的輻射下,會受到多種輻射效應(yīng)影響,其中最主要的是單粒子翻轉(zhuǎn) 效應(yīng)。當(dāng)粒子穿過器件時(shí),在其路徑上會產(chǎn)生電子空穴對,在電場的作用下,電荷積累到一 定程度,會改變節(jié)點(diǎn)電位,翻轉(zhuǎn)存儲單元的輸出邏輯值,造成電路存儲信息發(fā)生錯(cuò)誤,即軟 錯(cuò)誤。隨著集成電路工藝特征尺寸的不斷縮小,由于電荷共享現(xiàn)象,單個(gè)粒子事件可能會造 成多個(gè)存儲單元發(fā)生翻轉(zhuǎn),并逐漸占據(jù)軟錯(cuò)誤的主要地位。因此,存儲器抗多單元翻轉(zhuǎn)加固 技術(shù)是抗輻射加固領(lǐng)域的一項(xiàng)主要研究內(nèi)容。
[0003] 錯(cuò)誤糾正碼是廣泛采用的一種存儲器容錯(cuò)技術(shù)。通過對存儲器本體增加冗余單 元、編碼電路和譯碼電路,對所保護(hù)數(shù)據(jù)進(jìn)行一定的運(yùn)算來完成容錯(cuò)功能。針對存儲器多單 元翻轉(zhuǎn)現(xiàn)象,需要采用糾正能力強(qiáng)的多位錯(cuò)誤糾正碼,但這類碼通常譯碼復(fù)雜,需要耗費(fèi)較 大的譯碼電路面積,嚴(yán)重影響存儲器的性能。近些年來業(yè)界廣泛研究一步大數(shù)邏輯可譯碼, 典型有差集碼、歐氏幾何碼、正交拉丁碼等,一步大數(shù)邏輯譯碼方法可以通過簡單的邏輯判 另IJ,消耗很小的譯碼電路面積,糾正多位錯(cuò)誤,并具有很小的延遲開銷,非常適用于對高速 存儲器的保護(hù)。在一步大數(shù)邏輯可譯碼中,差集碼和歐氏幾何碼可保護(hù)的數(shù)據(jù)寬度較局限, 且糾正能力唯一,而正交拉丁碼在該方面具有優(yōu)勢,可以對不同寬度的數(shù)據(jù)提供不能程度 的保護(hù),可靈活運(yùn)用于存儲器加固。正交拉丁碼是基于正交拉丁方構(gòu)造的一類錯(cuò)誤糾正碼, 它對16位、25位、64位等數(shù)據(jù)提供2位、3位等糾正能力。然而,并沒有直接適用于存儲器常用 的32位數(shù)據(jù),而是需要對(96,64)碼進(jìn)行縮減,得到(60,32)碼來對其進(jìn)行保護(hù),耗費(fèi)的冗余 位較多,硬件開銷也較大。因此,通過對正交拉丁碼的擴(kuò)展,在保證原有糾正能力的基礎(chǔ)上, 設(shè)計(jì)直接應(yīng)用于32位存儲器數(shù)據(jù)的低冗余錯(cuò)誤糾正碼是非常有必要的。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為了解決現(xiàn)有存儲器容錯(cuò)技術(shù)需要耗費(fèi)較多的冗余位及較大的 硬件開銷,嚴(yán)重影響存儲器性能的問題,而提出的一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交 拉丁碼擴(kuò)展方法。
[0005] 上述的發(fā)明目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0006] 步驟一、總結(jié)正交拉丁碼奇偶校驗(yàn)矩陣Η的構(gòu)造規(guī)則;正交拉丁碼奇偶校驗(yàn)矩陣Η 的構(gòu)造規(guī)則包括規(guī)則1和規(guī)則2;
[0007] 其中,規(guī)則1為正交拉丁碼Η矩陣中每一位數(shù)據(jù)都參與2t個(gè)冗余位的運(yùn)算;規(guī)則2為 最多出現(xiàn)一次矩陣Η中任意兩列中數(shù)字1的位置屬于同一行的情況;
[0008] 步驟二、根據(jù)規(guī)則1和規(guī)則2,當(dāng)t = 2或t = 3時(shí),在數(shù)據(jù)位為25位的原始的正交拉丁 碼Η矩陣的基礎(chǔ)上任意添加7個(gè)列向量,擴(kuò)展成數(shù)據(jù)位為32位碼;以及在Η矩陣中添加行向量 后,構(gòu)成新的Η'矩陣,使得構(gòu)成新的Η'矩陣同時(shí)滿足規(guī)則1和規(guī)則2;其中,當(dāng)t = 2時(shí),在Η矩 陣中添加3~8個(gè)行向量;當(dāng)t = 3時(shí),在Η矩陣中添加6~14個(gè)行向量;
[0009]步驟三、根據(jù)步驟二擴(kuò)展得到的Η'矩陣,通過對32位數(shù)據(jù)位編碼,獲得相應(yīng)的碼字 C = {dl,d2,…,d32,ri,Γ2,…,Γ23}或C= {dl,d2,…,d32,ri,Γ2,…,Γ36};其中,di,d2,…,d32為Η' 矩陣中第1至第32個(gè)數(shù)據(jù)位,ri,r2, 一^23為擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣的第1至第23個(gè) 冗余位,或,n,r2,…,r36為擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣的第1至第36個(gè)冗余位;
[0010]步驟四、采用大數(shù)邏輯譯碼算法糾正錯(cuò)誤將步驟三得到的碼字c中出現(xiàn)的1~t位 的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)d?ta。
[0011] 發(fā)明效果
[0012] 本發(fā)明為了解決目前正交拉丁碼沒有直接應(yīng)用于32位存儲器數(shù)據(jù)保護(hù)的問題,提 出了一種適用于保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法,既保持原始正交拉丁 碼的糾正能力,相較于同尺寸縮短拉丁碼,又具有更低的開銷。
[0013] 本發(fā)明所提出的適用于保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法是以 原始保護(hù)25位數(shù)據(jù)的正交拉丁碼的奇偶校驗(yàn)矩陣為基礎(chǔ),基于分析拉丁碼構(gòu)造原則,添加7 個(gè)列向量和多個(gè)行向量,擴(kuò)展構(gòu)造新的奇偶校驗(yàn)矩陣,該矩陣對應(yīng)的擴(kuò)展正交拉丁碼可直 接保護(hù)32位存儲器數(shù)據(jù)。使用本發(fā)明提出的擴(kuò)展方法構(gòu)造的新碼,保持了原有正交拉丁碼 的糾正能力,且仍可以采用一步大數(shù)邏輯譯碼方法,同時(shí),相比于傳統(tǒng)的縮短拉丁碼,具有 更少的冗余位和硬件開銷。相較于傳統(tǒng)的(60,32)碼,本發(fā)明提出的(55,32)碼冗余位減少 了 17.86%,譯碼器電路面積減少了 11.90%,功耗降低了 7.31%,相應(yīng)的存儲器加固系統(tǒng)電 路面積減少了7.76 %,功耗降低了6.34%。相較于傳統(tǒng)的(68,32)碼,本發(fā)明提出的(76,32) 碼冗余位減少了 18.18%,譯碼器電路面積減少了 4.27%,功耗降低了 4.47%,相應(yīng)的存儲 器加固系統(tǒng)電路面積減少了8.82%,功耗降低了4.56%。
【附圖說明】
[0014] 圖1為【具體實(shí)施方式】一提出的大數(shù)邏輯譯碼算法流程圖。
【具體實(shí)施方式】
【具體實(shí)施方式】 [0015] 一:本實(shí)施方式的一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò) 展方法,具體是按照以下步驟制備的:
[0016] 步驟一、基于對正交拉丁碼特點(diǎn)的分析,總結(jié)正交拉丁碼奇偶校驗(yàn)矩陣Η的構(gòu)造規(guī) 貝1J;正交拉丁碼奇偶校驗(yàn)矩陣Η的構(gòu)造規(guī)則包括規(guī)則1和規(guī)則2;
[0017] 其中,規(guī)則1為正交拉丁碼Η矩陣中每一位數(shù)據(jù)都參與2t個(gè)冗余位的運(yùn)算;規(guī)則2為 最多出現(xiàn)一次矩陣Η中任意兩列中數(shù)字1的位置屬于同一行的情況;
[0018] 上述構(gòu)造規(guī)則構(gòu)造奇偶校驗(yàn)矩陣Η同上使得正交拉丁碼可采用實(shí)現(xiàn)簡單、譯碼快 速的一步大數(shù)邏輯譯碼方法(規(guī)則2),且具有最優(yōu)化的一步大數(shù)邏輯譯碼器(規(guī)則1);
[00?9]步驟二、根據(jù)規(guī)則1和規(guī)則2,當(dāng)t = 2或t = 3時(shí),在數(shù)據(jù)位為25位的原始的正交拉丁 碼Η矩陣的基礎(chǔ)上任意添加7個(gè)列向量,擴(kuò)展成數(shù)據(jù)位為32位碼;為保正原有正交拉丁碼的 糾正能力,及仍可采用一步大數(shù)邏輯譯碼方法,在Η矩陣中添加行向量后,構(gòu)成新的Η'矩陣, 使得構(gòu)成新的Η'矩陣同時(shí)滿足規(guī)則1和規(guī)則2;由于矩陣越大,帶來的硬件開銷會越大,所以 要在保證Η'矩陣同時(shí)滿足規(guī)則1和規(guī)則2的前提下,添加最少數(shù)量的行向量;比如基于糾正 能力為2位錯(cuò)誤的(45,25)碼,要構(gòu)成適用于32位數(shù)據(jù)的,最少需要添加3個(gè)行向量,構(gòu)成 (55,32)碼,以保證Η'矩陣同時(shí)滿足規(guī)則1和規(guī)則2;其中,當(dāng)t = 2時(shí),在Η矩陣中添加3~8個(gè) 行向量;當(dāng)t = 3時(shí),在Η矩陣中添加6~14個(gè)行向量;
[0020]數(shù)據(jù)位為25位的原始的正交拉丁碼Η矩陣具體為(45,25)正交拉丁碼Η矩陣:
[0022]所得到的新的奇偶校驗(yàn)矩陣Η',其對應(yīng)的擴(kuò)展正交拉丁碼為(55,32)碼,糾正能力 為2位錯(cuò)誤;
[0023]所述(55,32)擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣具體為:
[0025] 虛線里是擴(kuò)展后添加的7個(gè)列向量和3個(gè)行向量;
[0026] 本實(shí)施例所述的適用于保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法是在 基于原始保護(hù)25位數(shù)據(jù)的正交拉丁碼的奇偶校驗(yàn)矩陣為基礎(chǔ),添加7個(gè)列向量和多個(gè)行向 量,使得新的奇偶校驗(yàn)矩陣對應(yīng)的擴(kuò)展正交拉丁碼可直接保護(hù)32位存儲器數(shù)據(jù);使用本發(fā) 明提出的擴(kuò)展方法構(gòu)造的新碼,保持了原有正交拉丁碼的糾正能力,且仍可以采用一步大 數(shù)邏輯譯碼方法,同時(shí),相比于傳統(tǒng)的縮短拉丁碼,具有更少的冗余位開銷和硬件開銷; [0027]步驟一至步驟二的過程中,以糾正能力為3位錯(cuò)誤的原始的(55,25)正交拉丁碼為 基礎(chǔ),在其Η矩陣中增加7個(gè)列向量和6個(gè)行向量;所得到的新的奇偶校驗(yàn)矩陣Η ',其對應(yīng)的 擴(kuò)展正交拉丁碼為(68,32)碼,糾正能力為3位錯(cuò)誤;
[0028]所述的(68,32)擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣具體為:
[0030] 上述矩陣虛線部分代表的是擴(kuò)展后添加的矩陣是7個(gè)列向量和6個(gè)行向量;
[0031] 步驟三、根據(jù)步驟二擴(kuò)展得到的H'矩陣,通過對32位數(shù)據(jù)位編碼,獲得相應(yīng)的碼字 C = {dl,d2,…,d32,ri,Γ2,…,Γ23}或C= {dl,d2,…,d32,ri,Γ2,…,?6};其中,dl,d2,…,d32為H' 矩陣中第1至第32個(gè)數(shù)據(jù)位,η, Γ2,···,Γ23為(55,32)擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣的第1至 第23個(gè)冗余位,或,^〇廣_^ 36為(68,32)擴(kuò)展正交拉丁碼奇偶校驗(yàn)矩陣的第1至第36個(gè)冗 余位;其中,冗余位ri,r2,···,Γ23或:Γ?,Γ2,…,Γ36的計(jì)算方法依據(jù)2t個(gè)冗余位的運(yùn)算方法;
[0032] 步驟四、采用大數(shù)邏輯譯碼算法(譯碼器)糾正錯(cuò)誤將步驟三得到的碼字C中出現(xiàn) 的1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)cU ta如圖1;
[0033] 針對32比特位存儲器數(shù)據(jù),比較傳統(tǒng)采用的(60,32)和(76,32)縮短正交拉丁碼與 采用本發(fā)明所提出的方法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉丁碼,分析其糾正能力、碼 率及硬件綜合結(jié)果,說明本發(fā)明所提出的方法的優(yōu)勢:
[0034] 使用Matlab實(shí)現(xiàn)采用本發(fā)明所提出的方法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉 丁碼的編碼器和譯碼器,在兩個(gè)碼的碼字中分別注入所有可能的1至2位、1至3位隨機(jī)錯(cuò)誤 進(jìn)行測試,驗(yàn)證(55,32)和(68,32)擴(kuò)展正交拉丁碼是否分別保持了原始正交拉丁碼的2位 和3位糾正能力;結(jié)果表明,采用本發(fā)明所提出的方法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉 丁碼保持了原始正交拉丁碼的糾正能力;
[0035]采用常用來對錯(cuò)誤糾正碼進(jìn)行評估的一個(gè)指標(biāo)一一碼率,即數(shù)據(jù)位長度與碼字長 度的比率,來比較傳統(tǒng)采用的(60,32)和(76,32)縮短正交拉丁碼與采用本發(fā)明所提出的方 法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉丁碼;通常,碼率越大,表明硬件開銷越?。槐容^結(jié) 果如表1所示:
[0036] 表1碼率比較
[0038]從上表可知,采用本發(fā)明所提出的方法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉丁碼 具有更尚的碼率;
[0039]使用HDL硬件描述語言分別實(shí)現(xiàn)傳統(tǒng)采用的(60,32)和(76,32)縮短正交拉丁碼與 采用本發(fā)明所提出的方法構(gòu)造的(55,32)和(68,32)擴(kuò)展正交拉丁碼的編碼器和譯碼器;并 選取TSMC 65nm工藝庫,采用Synopsis Design Compiler對其編碼器、譯碼器和采用上述碼 保護(hù)的512字存儲器陣列進(jìn)行以延遲優(yōu)化為目標(biāo)的硬件綜合分析,結(jié)果如表2至表6所示:
[0050]由表2和表4可知,(55,32)和(68,32)擴(kuò)展正交拉丁碼編碼器的面積和功耗開銷輕 微大于傳統(tǒng)采用的(60,32)和(76,32)縮短正交拉丁碼,這是由于這四種碼的奇偶校驗(yàn)矩陣 重量相等,因此擴(kuò)展碼編碼器的二輸入異或門數(shù)略多于原始碼編碼器;但由于擴(kuò)展碼需要 的冗余位更少,所以擴(kuò)展碼譯碼器的硬件開銷要小于原始碼譯碼器,且采用擴(kuò)展碼加固的 存儲器開銷明顯小于采用原始碼加固的存儲器,分別如表3、表5和表6所示;因此,由于冗余 單元、編碼器譯碼器電路共同決定著硬件開銷,采用本發(fā)明所提出的方法構(gòu)造的(55,32)和 (68,32)擴(kuò)展正交拉丁碼更適用高速高性能的存儲器應(yīng)用。
[0051 ]本實(shí)施方式效果:
[0052]本實(shí)施方式為了解決目前正交拉丁碼沒有直接應(yīng)用于32位存儲器數(shù)據(jù)保護(hù)的問 題,提出了一種適用于保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法,既保持原始正 交拉丁碼的糾正能力,相較于同尺寸縮短拉丁碼,又具有更低的開銷。
[0053]本實(shí)施方式所提出的適用于保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉丁碼擴(kuò)展方法 是以原始保護(hù)25位數(shù)據(jù)的正交拉丁碼的奇偶校驗(yàn)矩陣為基礎(chǔ),基于分析拉丁碼構(gòu)造原則, 添加7個(gè)列向量和多個(gè)行向量,擴(kuò)展構(gòu)造新的奇偶校驗(yàn)矩陣,該矩陣對應(yīng)的擴(kuò)展正交拉丁碼 可直接保護(hù)32位存儲器數(shù)據(jù)。使用本實(shí)施方式提出的擴(kuò)展方法構(gòu)造的新碼,保持了原有正 交拉丁碼的糾正能力,且仍可以采用一步大數(shù)邏輯譯碼方法,同時(shí),相比于傳統(tǒng)的縮短拉丁 碼,具有更少的冗余位和硬件開銷。相較于傳統(tǒng)的(60,32)碼,本實(shí)施方式提出的(55,32)碼 冗余位減少了 17.86%,譯碼器電路面積減少了 11.90%,功耗降低了 7.31%,相應(yīng)的存儲器 加固系統(tǒng)電路面積減少了7.76 %,功耗降低了6.34%。相較于傳統(tǒng)的(68,32)碼,本實(shí)施方 式提出的(76,32)碼冗余位減少了 18.18%,譯碼器電路面積減少了 4.27%,功耗降低了 4.47%,相應(yīng)的存儲器加固系統(tǒng)電路面積減少了8.82%,功耗降低了4.56%。
【具體實(shí)施方式】 [0054] 二:本實(shí)施方式與一不同的是:步驟一所述的每一位 數(shù)據(jù)都參與2t個(gè)冗余位的運(yùn)算具體為:
[0055] = c/a 十 4, ? < ? 4 十之或,;二 4 4 ? 4 4 ? 今
[0056] 其中,ri為冗余位,i = 1,2,…,lOt; t為正交拉丁碼的糾正能力,t = 2,3; i為H矩陣 的行數(shù)即冗余位個(gè)數(shù);da為25位的原始的正交拉丁碼Η矩陣中第a個(gè)數(shù)據(jù)位;db為25位的原始 的正交拉丁碼Η矩陣中第b個(gè)數(shù)據(jù)位;dc為25位的原始的正交拉丁碼Η矩陣中第c個(gè)數(shù)據(jù)位;dd 為25位的原始的正交拉丁碼Η矩陣中第d個(gè)數(shù)據(jù)位;de為25位的原始的正交拉丁碼Η矩陣中 第e個(gè)數(shù)據(jù)位;d f為25位的原始的正交拉丁碼Η矩陣中第f個(gè)數(shù)據(jù)位;
[0057] 規(guī)則1包括t = 2和t = 3兩種情況;(45,25)正交拉丁碼Η矩陣中t = 2,總結(jié)其奇偶校 驗(yàn)矩陣Η的構(gòu)造規(guī)則為:每一位數(shù)據(jù)都參與到4個(gè)冗余位的運(yùn)算;(55,25)正交拉丁碼Η矩陣 中t = 3,總結(jié)其奇偶校驗(yàn)矩陣Η的構(gòu)造規(guī)則為:每一位數(shù)據(jù)都參與到6個(gè)冗余位的運(yùn)算。其它 步驟及參數(shù)與【具體實(shí)施方式】一相同。
[0058]【具體實(shí)施方式】三:本實(shí)施方式與【具體實(shí)施方式】一或二不同的是:步驟二所述在數(shù) 據(jù)位為25位的原始的正交拉丁碼Η矩陣的基礎(chǔ)上任意添加7個(gè)列向量具體為:
【具體實(shí)施方式】 [0060] 四:本實(shí)施方式與一至三之一不同的是:步驟二為保 證開銷最低,當(dāng)t = 2時(shí),所述在正交拉丁碼Η矩陣中添加3、5或6個(gè)行向量;當(dāng)t = 3時(shí),所述在 正交拉丁碼Η矩陣中添加6或10個(gè)行向量;
[0061] 所述行向量具體為:
[0062]
驟及參數(shù)與【具體實(shí)施方式】一至三之一相同。
[0063]【具體實(shí)施方式】五:本實(shí)施方式與【具體實(shí)施方式】一至四之一不同的是:步驟四中采 用大數(shù)邏輯譯碼算法(譯碼器)糾正錯(cuò)誤將步驟三得到的碼字 r23}中出現(xiàn)1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)cUta的具體過程:
[0064] 1)計(jì)算校正子Si公式為:
[0065] S, = da '? dh '0 dc '0 dd
[0066]其中,i = l,2,···,23;i為H'矩陣的行數(shù);da'為碼字C'中第a個(gè)數(shù)據(jù)位;db'為碼字C' 中第b個(gè)數(shù)據(jù)位;dc '為碼字C '中第c個(gè)數(shù)據(jù)位;dd '為碼字C '中第d個(gè)數(shù)據(jù)位;de '為碼字C '中 第e個(gè)數(shù)據(jù)位;df '碼字C '中第f個(gè)數(shù)據(jù)位;
[0067]若32位的擴(kuò)展正交拉丁碼H'矩陣中第a個(gè)數(shù)據(jù)位da出現(xiàn)錯(cuò)誤da',則d a' = !da,否 貝lj,da' = da,a=l,2,…,32;若冗余位ri出現(xiàn)錯(cuò)誤,則ri' = !ri,否則,若冗余位ri未出現(xiàn)錯(cuò)誤 ri'=ri;i = i,2,…,23;Γι'為碼字C'中第i個(gè)冗余位;所述譯碼器結(jié)構(gòu)如圖1所示;C'為包含 隨機(jī)錯(cuò)誤的碼字;c' = {di',d2',···,d32',ri',Γ2',…,Γ23' };
[0068] 2)將根據(jù)步驟二擴(kuò)展得到的Η'矩陣中第a個(gè)數(shù)據(jù)位參與計(jì)算的2t個(gè)校正子51,將Si 輸入到第a個(gè)大數(shù)邏輯判決器;對于每個(gè)大數(shù)邏輯判決器的輸入,若2t個(gè)校正子31中,Si值為 1的個(gè)數(shù)大于等于t+Ι個(gè)時(shí),則大數(shù)邏輯輸出e a= 1;否則Si值為1的個(gè)數(shù)小于t+Ι個(gè)時(shí),大數(shù)邏 輯輸出ea = 0;其中,a=l,2,…,32;
[0069] 3)隨機(jī)錯(cuò)誤的糾正;根據(jù)公式毛_ =毛鉑ea計(jì)算得到糾正后的數(shù)據(jù)位cUta(正確 的數(shù)據(jù))。其它步驟及參數(shù)與【具體實(shí)施方式】一至四之一相同。
[0070]
【具體實(shí)施方式】六:本實(shí)施方式與【具體實(shí)施方式】一至五之一不同的是:步驟四中采 用大數(shù)邏輯譯碼算法(譯碼器)糾正錯(cuò)誤將步驟三得到的碼字 r36}中出現(xiàn)的1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)cUta的具體過程:
[0071] 1)計(jì)算校正子Si,公式為:
[0072] S, = dadh '? d。ddr/ 或 S,二 db'? d語 ddde'? df
[0073] 其中,i = l,2,+ 為H'矩陣的行數(shù)即冗余位的個(gè)數(shù);da'為碼字C'中第a個(gè)數(shù) 據(jù)位;4 '為碼字C '中第b個(gè)數(shù)據(jù)位;dc '為碼字C '中第c個(gè)數(shù)據(jù)位;dd '為碼字C '中第d個(gè)數(shù)據(jù) 位;de '為碼字C '中第e個(gè)數(shù)據(jù)位;df '碼字C '中第f個(gè)數(shù)據(jù)位;
[0074] 若32位的擴(kuò)展正交拉丁碼Η'矩陣中第a個(gè)數(shù)據(jù)位da出現(xiàn)錯(cuò)誤da',則da' = !da,否 貝lj,da' = da,a=l,2,…,32;若冗余位ri出現(xiàn)錯(cuò)誤,則ri' = !ri,否則,若冗余位ri未出現(xiàn)錯(cuò)誤 Γι'=ΓιΑ'為碼字C'中第a個(gè)數(shù)據(jù)位,Γι'為碼字C'中第i個(gè)冗余位;所述譯碼器結(jié)構(gòu)如圖1 所示;C'為包含隨機(jī)錯(cuò)誤的碼字;C' = {cU',d2',···,d32',n',r2',···,Γ36'};
[0075] 2)將根據(jù)步驟二擴(kuò)展得到的H'矩陣中第a個(gè)數(shù)據(jù)位參與計(jì)算的2t個(gè)校正子51,將Si 輸入到第a個(gè)大數(shù)邏輯判決器;對于每個(gè)大數(shù)邏輯判決器的輸入,若2t個(gè)校正子31中,Si值為 1的個(gè)數(shù)大于等于t+Ι個(gè)時(shí),則大數(shù)邏輯輸出ea= 1;否則Si值為1的個(gè)數(shù)小于t+Ι個(gè)時(shí),大數(shù)邏 輯輸出ea = 0;其中,a=l,2,…,32,
[0076] 3)隨機(jī)錯(cuò)誤的糾正;根據(jù)公式ea計(jì)算得到糾正后的數(shù)據(jù)位(正確的數(shù) 據(jù))d?ta。其它步驟及參數(shù)與【具體實(shí)施方式】一至五之一相同。
【主權(quán)項(xiàng)】
1. 一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特征在于,該方法具體 是按照W下步驟進(jìn)行的: 步驟一、總結(jié)正交拉下碼奇偶校驗(yàn)矩陣Η的構(gòu)造規(guī)則;正交拉下碼奇偶校驗(yàn)矩陣Η的構(gòu) 造規(guī)則包括規(guī)則1和規(guī)則2; 其中,規(guī)則1為正交拉下碼Η矩陣中每一位數(shù)據(jù)都參與2t個(gè)冗余位的運(yùn)算;規(guī)則2為最多 出現(xiàn)一次矩陣Η中任意兩列中數(shù)字1的位置屬于同一行的情況; 步驟二、根據(jù)規(guī)則1和規(guī)則2,當(dāng)t = 2或t = 3時(shí),在數(shù)據(jù)位為25位的原始的正交拉下碼Η 矩陣的基礎(chǔ)上任意添加7個(gè)列向量,擴(kuò)展成數(shù)據(jù)位為32位碼;W及在Η矩陣中添加行向量后, 構(gòu)成新的Η'矩陣,使得構(gòu)成新的Η'矩陣同時(shí)滿足規(guī)則1和規(guī)則2;其中,當(dāng)t = 2時(shí),在Η矩陣中 添加3~8個(gè)行向量;當(dāng)t = 3時(shí),在Η矩陣中添加6~14個(gè)行向量; 步驟Ξ、根據(jù)步驟二擴(kuò)展得到的Η'矩陣,通過對32位數(shù)據(jù)位編碼,獲得相應(yīng)的碼字C = (dl ,d2 , ,d32 ,ri ,Γ2 , ,Γ23}或C= {dl ,d2 , , d32 ,ri ,Γ2 , ,Γ36};其中,山,cb , ,d32 為 Η' 矩 陣中第1至第32個(gè)數(shù)據(jù)位,η,η,···,r23為擴(kuò)展正交拉下碼奇偶校驗(yàn)矩陣的第1至第23個(gè)冗 余位,或,ri,η,…,〇6為擴(kuò)展正交拉下碼奇偶校驗(yàn)矩陣的第1至第36個(gè)冗余位; 步驟四、采用大數(shù)邏輯譯碼算法糾正錯(cuò)誤將步驟Ξ得到的碼字C中出現(xiàn)的1~t位的隨 機(jī)錯(cuò)誤所對應(yīng)的碼字C '譯出正確的數(shù)據(jù)cUta。2. 根據(jù)權(quán)利要求1所述一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特 征在于:步驟一所述的每一位數(shù)據(jù)都參與2t個(gè)冗余位的運(yùn)算具體為:其中,ri為冗余位,i = l,2,…,1化;t為正交拉下碼的糾正能力,t = 2,3;i為Η矩陣的行 數(shù)即冗余位個(gè)數(shù);da為25位的原始的正交拉下碼Η矩陣中第a個(gè)數(shù)據(jù)位;db為25位的原始的正 交拉下碼Η矩陣中第b個(gè)數(shù)據(jù)位;山為25位的原始的正交拉下碼Η矩陣中第C個(gè)數(shù)據(jù)位;dd為25 位的原始的正交拉下碼Η矩陣中第d個(gè)數(shù)據(jù)位;de為25位的原始的正交拉下碼Η矩陣中第e個(gè) 數(shù)據(jù)位;df為化位的原始的正交拉下碼Η矩陣中第f個(gè)數(shù)據(jù)位。3. 根據(jù)權(quán)利要求1所述一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特 征在于:步驟二中當(dāng)t = 2時(shí),在正交拉下碼Η矩陣中添加3、5或6個(gè)行向量。4. 根據(jù)權(quán)利要求1所述一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特 征在于:步驟二中當(dāng)t = 3時(shí),在正交拉下碼Η矩陣中添加6或10個(gè)行向量。5. 根據(jù)權(quán)利要求1所述一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特 征在于:步驟四中采用大數(shù)邏輯譯碼算法糾正錯(cuò)誤將步驟Ξ得到的碼字C={dl,d2,-',d32, ri,η,…,腳}中出現(xiàn)1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)山uta的具體過程: 1) 計(jì)算校正子Si公式為:其中,i = 1,2,…,23; d。/為碼字C '中第a個(gè)數(shù)據(jù)位;山/為碼字C '中第b個(gè)數(shù)據(jù)位;dc/為 碼字C '中第C個(gè)數(shù)據(jù)位;d/為碼字C '中第d個(gè)數(shù)據(jù)位;d/為碼字C '中第e個(gè)數(shù)據(jù)位;d/碼字 C'中第f個(gè)數(shù)據(jù)位;? = 1,2,···,23;η'為碼字C'中第i個(gè)冗余位;C'為包含隨機(jī)錯(cuò)誤的碼字; C ' = {山 ',d2 ',...,d32 ',ri ',Γ2 ',...,Γ23 ' }; 2) 將根據(jù)步驟二擴(kuò)展得到的Η'矩陣中第a個(gè)數(shù)據(jù)位參與計(jì)算的2t個(gè)校正子Si,將Si輸入 到第a個(gè)大數(shù)邏輯判決器;若2t個(gè)校正子S沖,Si值為1的個(gè)數(shù)大于等于t+1個(gè)時(shí),貝IJ大數(shù)邏輯 輸出ea= 1;否則Si值為1的個(gè)數(shù)小于t+1個(gè)時(shí),大數(shù)邏輯輸出ea = 0;其中,曰=1,2,…,32; 3)隨機(jī)錯(cuò)誤的糾正;根據(jù)公式 <,,,。=或'貨6。計(jì)算得到糾正后的數(shù)據(jù)位dcuta。6.根據(jù)權(quán)利要求1所述一種保護(hù)32位存儲器數(shù)據(jù)的低冗余正交拉下碼擴(kuò)展方法,其特 征在于:步驟四中采用大數(shù)邏輯譯碼算法糾正錯(cuò)誤將步驟Ξ得到的碼字C={dl,d2,-',d32, Γ?,η,···,Γ36}中出現(xiàn)的1~t位的隨機(jī)錯(cuò)誤所對應(yīng)的碼字C'譯出正確的數(shù)據(jù)cUta的具體過 程: 1) 計(jì)算校正子Si,公式為:中,1 = 1,2,-,,36;1為山矩陣的行數(shù)即冗余位的個(gè)數(shù);(13/為碼字(:'中第3個(gè)數(shù)據(jù)位;山/為碼 字C'中第b個(gè)數(shù)據(jù)位;dc/為碼字C'中第C個(gè)數(shù)據(jù)位;d/為碼字C'中第d個(gè)數(shù)據(jù)位;d/為碼字 C '中第e個(gè)數(shù)據(jù)位;d/碼字C '中第f個(gè)數(shù)據(jù)位; da'為碼字C'中第a個(gè)數(shù)據(jù)位,ri'為碼字C'中第i個(gè)冗余位;C'為包含隨機(jī)錯(cuò)誤的碼字; C' = {山',d2',...,d32',ri',Γ2',...,Γ36' }; 2) 將根據(jù)步驟二擴(kuò)展得到的Η'矩陣中第a個(gè)數(shù)據(jù)位參與計(jì)算的2t個(gè)校正子Si,將Si輸入 到第a個(gè)大數(shù)邏輯判決器;若2t個(gè)校正子S沖,Si值為1的個(gè)數(shù)大于等于t+1個(gè)時(shí),貝1J大數(shù)邏輯 輸出ea= 1;否則Si值為1的個(gè)數(shù)小于t+1個(gè)時(shí),大數(shù)邏輯輸出ea = 0;其中,曰=1,2,…,32, 3) 隨機(jī)錯(cuò)誤的糾正:根據(jù)公式式W。= e。計(jì)算得到糾正后的數(shù)據(jù)位dcuta。
【文檔編號】G06F11/10GK106095610SQ201610393856
【公開日】2016年11月9日
【申請日】2016年6月6日 公開號201610393856.9, CN 106095610 A, CN 106095610A, CN 201610393856, CN-A-106095610, CN106095610 A, CN106095610A, CN201610393856, CN201610393856.9
【發(fā)明人】肖立伊, 柳姍姍, 李 杰, 齊春華, 曹雪兵, 張榮生, 李林哲
【申請人】哈爾濱工業(yè)大學(xué)