《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于OLS碼的檢錯糾錯抗輻射加固設(shè)計(jì)
基于OLS碼的檢錯糾錯抗輻射加固設(shè)計(jì)
2016年電子技術(shù)應(yīng)用第10期
董 亮
齊齊哈爾大學(xué) 通信與電子工程學(xué)院,黑龍江 齊齊哈爾161006
摘要: 由輻射粒子引起的多單元翻轉(zhuǎn)(MCUs)已經(jīng)成為了影響存儲器可靠性的一個主要問題。而存儲器抗MCUs的加固方法一般是使用可以糾正多個錯誤的錯誤糾正碼(ECCs)。使用了正交拉丁方(OLS)碼的故障容錯系統(tǒng)被構(gòu)造用以糾正存儲器中的多個錯誤。OLS碼是一類一步大數(shù)邏輯可譯(OS-MLD)碼,可以使用非常簡單的大數(shù)邏輯電路來進(jìn)行譯碼。由Verilog硬件描述語言實(shí)現(xiàn)設(shè)計(jì),并且使用ModelSim進(jìn)行了功能驗(yàn)證。
中圖分類號: TN431.2
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.010
中文引用格式: 董亮. 基于OLS碼的檢錯糾錯抗輻射加固設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(10):44-46.
英文引用格式: Dong Liang. Design of radiation hardened error detection and correction circuit based on OLS code[J].Application of Electronic Technique,2016,42(10):44-46.
Design of radiation hardened error detection and correction circuit based on OLS code
Dong Liang
Institute of Communications and Electronics Engineering,University of Qiqihar,Qiqihaer 161006,China
Abstract: Multiple Cell Upsets(MCUs) caused by radiation is a major issue for memory reliability. An option to protect memories against MCUs is using advanced error correction codes(ECCs) that can correct more than one error. A fault-tolerant scheme is presented to protect a memory from MCUs using orthogonal latin square(OLS) code. The advantage of OLS code is that it is a type of one-step majority logic decodable(OS-MLD) codes, which can be decoded using very simple majority circuit. The scheme has been implemented in Verilog HDL, and it has also been validated by ModelSim simulator.
Key words : MCUs;ECCs;OLS code;OS-MLD code

0 引言

    隨著集成電路的進(jìn)步,存儲器越來越容易受到由來自地面和太空環(huán)境中輻射粒子影響引起多單元翻轉(zhuǎn)(Multiple Cell Upsets,MCUs)。MCUs可以導(dǎo)致存儲器存儲數(shù)據(jù)的錯誤而引起系統(tǒng)失效。因此,需要對存儲器進(jìn)行抗輻射加固設(shè)計(jì)[1-3]

    目前,(n,k)錯誤糾錯碼(Error Correction Codes,ECCs)是存儲器中常用的容錯技術(shù),其中n是碼長,k是信息位的個數(shù)。ECC加固技術(shù)是在存儲字的基礎(chǔ)上增加了冗余位用以檢測和糾正存儲器中發(fā)生的錯誤翻轉(zhuǎn)。因此,ECC故障容錯系統(tǒng)需要額外的編碼和譯碼電路;而其編碼和譯碼電路的復(fù)雜度又決定了自身的糾正能力和硬件的復(fù)雜度[4-6,12]。

    漢明(Hamming)碼是最常用的ECC碼,它可以用非常少的硬件開銷來糾正存儲器中的錯誤。但是,它只能對單個錯誤進(jìn)行糾正,對兩個錯誤進(jìn)行探測。隨著器件工藝尺寸的不斷減小,存儲器中發(fā)生多個錯誤的概率也越來越高。因此,Hamming碼已經(jīng)不適合用來對存儲器進(jìn)行抗輻射加固保護(hù),而需要尋找使用糾正能力較高且額外電路對存儲器性能影響較少的其他ECC碼來對存儲器進(jìn)行抗輻射保護(hù)[7]

    在本設(shè)計(jì)中,使用了基于正交拉丁方的正交拉丁方(OLS)碼來對存儲器進(jìn)行抗輻射的加護(hù)設(shè)計(jì)。使用OLS碼的原因是它屬于一步大數(shù)邏輯可譯(OS-MLD)碼,可以使用簡單的大數(shù)邏輯譯碼電路來進(jìn)行多位MCUs的糾正。

1 正交拉丁方(OLS)碼

    正交拉丁方是指兩個拉丁方在同一位置上的數(shù)依次配置成對時,如果這兩個有序數(shù)對恰好各不相同,則稱這兩個拉丁方互為正交拉丁方。OLS碼正是在此基礎(chǔ)上來構(gòu)成的[8-9]:對于糾正能力為t的OLS碼,其奇偶校驗(yàn)矩陣H如下式所示:

    wdz3-gs1.gif

wdz3-gs2-7.gif

    根據(jù)上述這些式子可以得到具有m2個信息位、2tm個奇偶校驗(yàn)位和糾正能力為t的OLS碼奇偶校驗(yàn)矩陣H的具體結(jié)構(gòu)。本設(shè)計(jì)中構(gòu)造的OLS的參數(shù)有:信息位k=72=49、階數(shù)m=4、糾正能力t=2以及冗余位2tm=28。因此,構(gòu)造的OLS碼是一個(77,49)碼。構(gòu)造這樣的OLS碼選擇了如下兩個拉丁方:

     wdz3-gs8-9.gif

    接著,按照式(1)~式(7),即可設(shè)計(jì)出(77,49)OLS碼的奇偶校驗(yàn)矩陣H,如圖1所示。wdz3-t1.gif

    使用(77,49)OLS碼構(gòu)造的故障容錯系統(tǒng)如圖2所示。將信息位通過OLS碼的編碼器進(jìn)行編碼后存儲在存儲器中;在讀出的時候,如果保存的碼字有錯誤,通過OLS碼的譯碼器后,可以糾正這些錯誤,從而保證了存儲器中數(shù)據(jù)的正確性。

wdz3-t2.gif

    設(shè)計(jì)的(77,49)OLS碼編碼器可以由輸入向量與生成矩陣執(zhí)行向量乘法來得到,如圖3所示,因此只需要進(jìn)行簡單的異或運(yùn)算即可。OLS碼由于其在糾正任意錯誤時都滿足一步大數(shù)邏輯譯碼的條件,因此,其譯碼方式將采用一步大數(shù)邏輯譯碼的方式。(77,49)OLS碼譯碼器如圖4所示,主要有異或門和大數(shù)邏輯門來構(gòu)成進(jìn)行并行譯碼。大數(shù)邏輯門通過對五個正交校驗(yàn)和Ai進(jìn)行大數(shù)表決[5]:如果正交校驗(yàn)和Ai中的多數(shù)為1則輸出1;反之,則輸出0。

wdz3-t3.gif

wdz3-t4.gif

2 功能驗(yàn)證及結(jié)果分析

    本設(shè)計(jì)構(gòu)造的OLS碼由Verilog硬件描述語言來實(shí)現(xiàn),采用的功能驗(yàn)證工具是Mentor公司開發(fā)的ModelSim模擬器。首先,假設(shè)要將兩個49位的數(shù)據(jù)063b7697f8f82和11eef0f387f7d存儲在存儲器中;當(dāng)完成編碼操作后,分別獲得了063b7697f8f8266c2421和11eef0f387f7d79c526c這樣的兩個碼字,如圖5(a)所示,并將其分別存在存儲器的兩個字中;然后,進(jìn)行故障注入,先假設(shè)存儲的這兩個字分別發(fā)生了一個錯誤,即分別變成了063b3697f8f8266c2421和11eef0f307f7d79c526c這兩個碼字,經(jīng)過OLS譯碼器后,能夠獲得正確的輸出值063b7697f8f82和11eef0f387f7d,如圖5(b)所示;最后,假設(shè)存儲的這兩個字分別發(fā)生了兩個錯誤,即分別變?yōu)?e3b7697f8f8266c2421和13eed0f387f7d79c526c這兩個碼字,在經(jīng)過編碼器譯碼后,也可以獲得正確的碼字,如圖5(c)所示。模擬驗(yàn)證結(jié)果證明了構(gòu)造的(77, 49) OLS的錯誤糾正功能是正確的,且可以應(yīng)用于對存儲器的抗輻射加固保護(hù)。

wdz3-t5.gif

3 結(jié)論

    應(yīng)用于輻射環(huán)境下的存儲器需要進(jìn)行抗輻射加固來提高其可靠性能。本設(shè)計(jì)使用了正交拉丁方碼來對存儲器進(jìn)行加固,使其能夠糾正存儲器中多位的MCUs。由于正交拉丁方碼是根據(jù)正交拉丁方來構(gòu)造的,因此它的糾正能力是可調(diào)的(在其生成矩陣中加入多個正交拉丁方即可實(shí)現(xiàn)糾正能力的提高),這對于復(fù)雜環(huán)境下的應(yīng)用是非常重要的。本設(shè)計(jì)使用簡單的異或電路設(shè)計(jì)了(77,49)OLS碼的編碼器,而且使用一步大數(shù)邏輯糾正譯碼來對其進(jìn)行譯碼。實(shí)驗(yàn)結(jié)果表明,對構(gòu)造的OLS碼進(jìn)行編碼和譯碼的故障注入,發(fā)現(xiàn)其可以對存儲器中的多個錯誤進(jìn)行糾正,從而驗(yàn)證了該故障容錯設(shè)計(jì)系統(tǒng)的有效性。

參考文獻(xiàn)

[1] Daniele Radaelli,Helmut Puchner,Skip Wong,et al.Investigation of multi-bit upsets in a 150 nm technology SRAM device.IEEE Trans.Nucl.Sci.,Dec.2005,52(6):2433-2437.

[2] 易偉,徐欣,聶洪山.一種NAND Flash存儲器抗輻射加固方法[J].微處理機(jī),2011,32(6):8-11.

[3] 董文杰,孟景,林金永,等.控制系統(tǒng)抗輻射加固設(shè)計(jì)知識管理系統(tǒng)的構(gòu)建[J].航天工業(yè)管理,2015(5):42-43.

[4] 黃繁榮,賀顯紅.星載測控應(yīng)答機(jī)抗輻射加固與可靠性平臺研究[J].遙測遙控,2015,36(5):68-74.

[5] 徐鑫龍.抗輻射SRAM測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國集成電路,2016,25(3):52-55.

[6] 袁雅婧,賴曉玲,朱啟,等.星載數(shù)字ASIC抗輻射加固設(shè)計(jì)與實(shí)現(xiàn)方法[J].空間電子技術(shù),2015(6):41-44.

[7] Pedro Reviriego,Mark Flanagan,Juan Antonio Maestro.A(64,45) triple error correction code for memory applications.IEEE Trans.Device Mater.Rel.,Mar.2012,12(1):101-106.

[8] HSIAO M Y,BOSSEN D C,CHIEN R T.Orthogonal latin square codes,IBM J.Res.Develop.,1970,14(4):390-394.

[9] 楊劉洋,呂翔.一種基于正交拉丁方序列和光正交碼的二維光正交碼MOLS/OOC[J].浙江師范大學(xué)學(xué)報(自然科學(xué)版),2014,37(4):437-445.

[10] 宋麗麗,來逢昌,肖立伊.32×32位三端口寄存器堆的加固設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2012,29(12):27-30,35.

[11] LIN S,COSTELLO D J.Error Control Coding,2nd ed.Englewood Cliffs,NJ,USA:Prentice-Hall,2004.

[12] Shih-Fu Liu,Pedro Reviriego,Juan Antonio Maestro.Efficient majority logic fault detection with difference-set codes for memory applications.IEEE Trans.Very Large Scale Integr.(VLSI) Syst.,2012,20(1):148-156.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。