文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.010
中文引用格式: 董亮. 基于OLS碼的檢錯(cuò)糾錯(cuò)抗輻射加固設(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.
0 引言
隨著集成電路的進(jìn)步,,存儲(chǔ)器越來(lái)越容易受到由來(lái)自地面和太空環(huán)境中輻射粒子影響引起多單元翻轉(zhuǎn)(Multiple Cell Upsets,,MCUs)。MCUs可以導(dǎo)致存儲(chǔ)器存儲(chǔ)數(shù)據(jù)的錯(cuò)誤而引起系統(tǒng)失效,。因此,,需要對(duì)存儲(chǔ)器進(jìn)行抗輻射加固設(shè)計(jì)[1-3]。
目前,,(n,,k)錯(cuò)誤糾錯(cuò)碼(Error Correction Codes,ECCs)是存儲(chǔ)器中常用的容錯(cuò)技術(shù),,其中n是碼長(zhǎng),,k是信息位的個(gè)數(shù)。ECC加固技術(shù)是在存儲(chǔ)字的基礎(chǔ)上增加了冗余位用以檢測(cè)和糾正存儲(chǔ)器中發(fā)生的錯(cuò)誤翻轉(zhuǎn),。因此,,ECC故障容錯(cuò)系統(tǒng)需要額外的編碼和譯碼電路;而其編碼和譯碼電路的復(fù)雜度又決定了自身的糾正能力和硬件的復(fù)雜度[4-6,,12],。
漢明(Hamming)碼是最常用的ECC碼,它可以用非常少的硬件開(kāi)銷來(lái)糾正存儲(chǔ)器中的錯(cuò)誤,。但是,,它只能對(duì)單個(gè)錯(cuò)誤進(jìn)行糾正,對(duì)兩個(gè)錯(cuò)誤進(jìn)行探測(cè),。隨著器件工藝尺寸的不斷減小,,存儲(chǔ)器中發(fā)生多個(gè)錯(cuò)誤的概率也越來(lái)越高,。因此,Hamming碼已經(jīng)不適合用來(lái)對(duì)存儲(chǔ)器進(jìn)行抗輻射加固保護(hù),,而需要尋找使用糾正能力較高且額外電路對(duì)存儲(chǔ)器性能影響較少的其他ECC碼來(lái)對(duì)存儲(chǔ)器進(jìn)行抗輻射保護(hù)[7],。
在本設(shè)計(jì)中,使用了基于正交拉丁方的正交拉丁方(OLS)碼來(lái)對(duì)存儲(chǔ)器進(jìn)行抗輻射的加護(hù)設(shè)計(jì),。使用OLS碼的原因是它屬于一步大數(shù)邏輯可譯(OS-MLD)碼,,可以使用簡(jiǎn)單的大數(shù)邏輯譯碼電路來(lái)進(jìn)行多位MCUs的糾正。
1 正交拉丁方(OLS)碼
正交拉丁方是指兩個(gè)拉丁方在同一位置上的數(shù)依次配置成對(duì)時(shí),,如果這兩個(gè)有序數(shù)對(duì)恰好各不相同,,則稱這兩個(gè)拉丁方互為正交拉丁方。OLS碼正是在此基礎(chǔ)上來(lái)構(gòu)成的[8-9]:對(duì)于糾正能力為t的OLS碼,,其奇偶校驗(yàn)矩陣H如下式所示:
根據(jù)上述這些式子可以得到具有m2個(gè)信息位,、2tm個(gè)奇偶校驗(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碼是一個(gè)(77,,49)碼。構(gòu)造這樣的OLS碼選擇了如下兩個(gè)拉丁方:
接著,,按照式(1)~式(7),,即可設(shè)計(jì)出(77,49)OLS碼的奇偶校驗(yàn)矩陣H,,如圖1所示,。
使用(77,49)OLS碼構(gòu)造的故障容錯(cuò)系統(tǒng)如圖2所示,。將信息位通過(guò)OLS碼的編碼器進(jìn)行編碼后存儲(chǔ)在存儲(chǔ)器中,;在讀出的時(shí)候,如果保存的碼字有錯(cuò)誤,,通過(guò)OLS碼的譯碼器后,,可以糾正這些錯(cuò)誤,從而保證了存儲(chǔ)器中數(shù)據(jù)的正確性,。
設(shè)計(jì)的(77,,49)OLS碼編碼器可以由輸入向量與生成矩陣執(zhí)行向量乘法來(lái)得到,如圖3所示,,因此只需要進(jìn)行簡(jiǎn)單的異或運(yùn)算即可,。OLS碼由于其在糾正任意錯(cuò)誤時(shí)都滿足一步大數(shù)邏輯譯碼的條件,因此,其譯碼方式將采用一步大數(shù)邏輯譯碼的方式,。(77,49)OLS碼譯碼器如圖4所示,,主要有異或門和大數(shù)邏輯門來(lái)構(gòu)成進(jìn)行并行譯碼,。大數(shù)邏輯門通過(guò)對(duì)五個(gè)正交校驗(yàn)和Ai進(jìn)行大數(shù)表決[5]:如果正交校驗(yàn)和Ai中的多數(shù)為1則輸出1;反之,,則輸出0,。
2 功能驗(yàn)證及結(jié)果分析
本設(shè)計(jì)構(gòu)造的OLS碼由Verilog硬件描述語(yǔ)言來(lái)實(shí)現(xiàn),采用的功能驗(yàn)證工具是Mentor公司開(kāi)發(fā)的ModelSim模擬器,。首先,,假設(shè)要將兩個(gè)49位的數(shù)據(jù)063b7697f8f82和11eef0f387f7d存儲(chǔ)在存儲(chǔ)器中;當(dāng)完成編碼操作后,,分別獲得了063b7697f8f8266c2421和11eef0f387f7d79c526c這樣的兩個(gè)碼字,,如圖5(a)所示,并將其分別存在存儲(chǔ)器的兩個(gè)字中,;然后,,進(jìn)行故障注入,先假設(shè)存儲(chǔ)的這兩個(gè)字分別發(fā)生了一個(gè)錯(cuò)誤,,即分別變成了063b3697f8f8266c2421和11eef0f307f7d79c526c這兩個(gè)碼字,,經(jīng)過(guò)OLS譯碼器后,能夠獲得正確的輸出值063b7697f8f82和11eef0f387f7d,,如圖5(b)所示,;最后,假設(shè)存儲(chǔ)的這兩個(gè)字分別發(fā)生了兩個(gè)錯(cuò)誤,,即分別變?yōu)?e3b7697f8f8266c2421和13eed0f387f7d79c526c這兩個(gè)碼字,,在經(jīng)過(guò)編碼器譯碼后,也可以獲得正確的碼字,,如圖5(c)所示,。模擬驗(yàn)證結(jié)果證明了構(gòu)造的(77, 49) OLS的錯(cuò)誤糾正功能是正確的,且可以應(yīng)用于對(duì)存儲(chǔ)器的抗輻射加固保護(hù),。
3 結(jié)論
應(yīng)用于輻射環(huán)境下的存儲(chǔ)器需要進(jìn)行抗輻射加固來(lái)提高其可靠性能,。本設(shè)計(jì)使用了正交拉丁方碼來(lái)對(duì)存儲(chǔ)器進(jìn)行加固,使其能夠糾正存儲(chǔ)器中多位的MCUs,。由于正交拉丁方碼是根據(jù)正交拉丁方來(lái)構(gòu)造的,,因此它的糾正能力是可調(diào)的(在其生成矩陣中加入多個(gè)正交拉丁方即可實(shí)現(xiàn)糾正能力的提高),這對(duì)于復(fù)雜環(huán)境下的應(yīng)用是非常重要的,。本設(shè)計(jì)使用簡(jiǎn)單的異或電路設(shè)計(jì)了(77,,49)OLS碼的編碼器,而且使用一步大數(shù)邏輯糾正譯碼來(lái)對(duì)其進(jìn)行譯碼。實(shí)驗(yàn)結(jié)果表明,,對(duì)構(gòu)造的OLS碼進(jìn)行編碼和譯碼的故障注入,,發(fā)現(xiàn)其可以對(duì)存儲(chǔ)器中的多個(gè)錯(cuò)誤進(jìn)行糾正,從而驗(yàn)證了該故障容錯(cuò)設(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存儲(chǔ)器抗輻射加固方法[J].微處理機(jī),2011,,32(6):8-11.
[3] 董文杰,,孟景,林金永,,等.控制系統(tǒng)抗輻射加固設(shè)計(jì)知識(shí)管理系統(tǒng)的構(gòu)建[J].航天工業(yè)管理,,2015(5):42-43.
[4] 黃繁榮,賀顯紅.星載測(cè)控應(yīng)答機(jī)抗輻射加固與可靠性平臺(tái)研究[J].遙測(cè)遙控,,2015,,36(5):68-74.
[5] 徐鑫龍.抗輻射SRAM測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)集成電路,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é)報(bào)(自然科學(xué)版),,2014,,37(4):437-445.
[10] 宋麗麗,來(lái)逢昌,,肖立伊.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.