APP下载

基于OLS码的检错纠错抗辐射加固设计*

2016-12-02董亮

电子技术应用 2016年10期
关键词:抗辐射大数拉丁

董亮

(齐齐哈尔大学 通信与电子工程学院,黑龙江 齐齐哈尔 161006)

基于OLS码的检错纠错抗辐射加固设计*

董亮

(齐齐哈尔大学 通信与电子工程学院,黑龙江 齐齐哈尔 161006)

由辐射粒子引起的多单元翻转(MCUs)已经成为了影响存储器可靠性的一个主要问题。而存储器抗MCUs的加固方法一般是使用可以纠正多个错误的错误纠正码(ECCs)。使用了正交拉丁方(OLS)码的故障容错系统被构造用以纠正存储器中的多个错误。OLS码是一类一步大数逻辑可译(OS-MLD)码,可以使用非常简单的大数逻辑电路来进行译码。由Verilog硬件描述语言实现设计,并且使用ModelSim进行了功能验证。

多单元翻转;错误纠正码;OLS码;OS-MLD码

0 引言

随着集成电路的进步,存储器越来越容易受到由来自地面和太空环境中辐射粒子影响引起多单元翻转(Multiple Cell Upsets,MCUs)。MCUs可以导致存储器存储数据的错误而引起系统失效。因此,需要对存储器进行抗辐射加固设计[1-3]。

目前,(n,k)错误纠错码(Error Correction Codes,ECCs)是存储器中常用的容错技术,其中n是码长,k是信息位的个数。ECC加固技术是在存储字的基础上增加了冗余位用以检测和纠正存储器中发生的错误翻转。因此,ECC故障容错系统需要额外的编码和译码电路;而其编码和译码电路的复杂度又决定了自身的纠正能力和硬件的复杂度[4-6,12]。

汉明(Hamming)码是最常用的 ECC码,它可以用非常少的硬件开销来纠正存储器中的错误。但是,它只能对单个错误进行纠正,对两个错误进行探测。随着器件工艺尺寸的不断减小,存储器中发生多个错误的概率也越来越高。因此,Hamming码已经不适合用来对存储器进行抗辐射加固保护,而需要寻找使用纠正能力较高且额外电路对存储器性能影响较少的其他ECC码来对存储器进行抗辐射保护[7]。

在本设计中,使用了基于正交拉丁方的正交拉丁方(OLS)码来对存储器进行抗辐射的加护设计。使用 OLS码的原因是它属于一步大数逻辑可译(OS-MLD)码,可以使用简单的大数逻辑译码电路来进行多位MCUs的纠正。

1 正交拉丁方(OLS)码

正交拉丁方是指两个拉丁方在同一位置上的数依次配置成对时,如果这两个有序数对恰好各不相同,则称这两个拉丁方互为正交拉丁方。OLS码正是在此基础上来构成的[8-9]:对于纠正能力为 t的 OLS码,其奇偶校验矩阵H如下式所示:

式(1)中,I2tm是一个 2tm×2tm的单位矩阵,M1,M2,…,M2t是一系列的m×m2矩阵。M1,M2,…,M2t的矩阵形式如下:

为了满足H矩阵的正交化,在构造H矩阵过程中采用了 h个正交拉丁方。因此,M3,…,M2t可通过 h个正交拉丁方 I1,I2,…,I2t-2变换得到[10]。正交拉丁方 I1,I2,…,I2t-2,lij∈1,2,…,m,如式(4)所示:

对于每一个m阶正交拉丁方,都存在m个生成矩阵 Q1,Q2,…,Qm,则向量Vμ是关于矩阵 Qμ的一维向量:

所以,奇偶校验H矩阵中的子矩阵Mi可以写成关于向量 Vμ的一维列向量形式,如式(7)所示,其中 V1,V2,…,Vm由正交拉丁方L得到:

根据上述这些式子可以得到具有 m2个信息位、2tm个奇偶校验位和纠正能力为t的OLS码奇偶校验矩阵H的具体结构。本设计中构造的OLS的参数有:信息位k=72=49、阶数m=4、纠正能力 t=2以及冗余位2tm=28。因此,构造的OLS码是一个(77,49)码。构造这样的OLS码选择了如下两个拉丁方:

接着,按照式(1)~式(7),即可设计出(77,49)OLS码的奇偶校验矩阵H,如图1所示。

图1 (77,49)OLS码的奇偶校验矩阵H

使用(77,49)OLS码构造的故障容错系统如图2所示。将信息位通过OLS码的编码器进行编码后存储在存储器中;在读出的时候,如果保存的码字有错误,通过OLS码的译码器后,可以纠正这些错误,从而保证了存储器中数据的正确性。

图2 构造的OLS码故障容错系统

设计的(77,49)OLS码编码器可以由输入向量与生成矩阵执行向量乘法来得到,如图3所示,因此只需要进行简单的异或运算即可。OLS码由于其在纠正任意错误时都满足一步大数逻辑译码的条件,因此,其译码方式将采用一步大数逻辑译码的方式。(77,49)OLS码译码器如图4所示,主要有异或门和大数逻辑门来构成进行并行译码。大数逻辑门通过对五个正交校验和Ai进行大数表决[5]:如果正交校验和 Ai中的多数为 1则输出1;反之,则输出 0。

图3 (77,49)OLS码编码器设计

2 功能验证及结果分析

本设计构造的 OLS码由 Verilog硬件描述语言来实现,采用的功能验证工具是Mentor公司开发的ModelSim模拟器。首先,假设要将两个49位的数据063b7697f8f82和11eef0f387f7d存储在存储器中;当完成编码操作后,分别获得了063b7697f8f8266c2421和11eef0f387f7d79c526c这样的两个码字,如图5(a)所示,并将其分别存在存储器的两个字中;然后,进行故障注入,先假设存储的这两个字分别发生了一个错误,即分别变成了063b3697f8f8266c2421和 11eef0f307f7d79c526c这两个码字,经过OLS译码器后,能够获得正确的输出值063b7697f8f82和 11eef0f387f7d,如图5(b)所示;最后,假设存储的这两个字分别发生了两个错误,即分别变为1e3b7697f8f8266c2421和 13eed0f387f7d79c526c这两个码字,在经过编码器译码后,也可以获得正确的码字,如图5(c)所示。模拟验证结果证明了构造的(77,49)OLS的错误纠正功能是正确的,且可以应用于对存储器的抗辐射加固保护。

图4 (77,49)OLS码译码器设计

图5 (77,49)OLS码编码和译码操作仿真

3 结论

应用于辐射环境下的存储器需要进行抗辐射加固来提高其可靠性能。本设计使用了正交拉丁方码来对存储器进行加固,使其能够纠正存储器中多位的MCUs。由于正交拉丁方码是根据正交拉丁方来构造的,因此它的纠正能力是可调的(在其生成矩阵中加入多个正交拉丁方即可实现纠正能力的提高),这对于复杂环境下的应用是非常重要的。本设计使用简单的异或电路设计了(77,49)OLS码的编码器,而且使用一步大数逻辑纠正译码来对其进行译码。实验结果表明,对构造的OLS码进行编码和译码的故障注入,发现其可以对存储器中的多个错误进行纠正,从而验证了该故障容错设计系统的有效性。

[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].微处理机,2011,32(6):8-11.

[3]董文杰,孟景,林金永,等.控制系统抗辐射加固设计知识管理系统的构建[J].航天工业管理,2015(5):42-43.

[4]黄繁荣,贺显红.星载测控应答机抗辐射加固与可靠性平台研究[J].遥测遥控,2015,36(5):68-74.

[5]徐鑫龙.抗辐射SRAM测试系统的设计与实现[J].中国集成电路,2016,25(3):52-55.

[6]袁雅婧,赖晓玲,朱启,等.星载数字 ASIC抗辐射加固设计与实现方法[J].空间电子技术,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].浙江师范大学学报(自然科学版),2014,37(4):437-445.

[10]宋丽丽,来逢昌,肖立伊.32×32位三端口寄存器堆的加固设计[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.

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)

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.

MCUs;ECCs;OLS code;OS-MLD code

TN431.2

A

10.16157/j.issn.0258-7998.2016.10.010

国家自然科学基金(61501275);黑龙江省青年科学基金(QC2015073);齐齐哈尔市工业攻关项目(GYGG-201511)

(2016-06-01)

董亮(1979-),男,硕士研究生,讲师,主要研究方向:无线通信、集成电路。

中文引用格式:董亮.基于OLS码的检错纠错抗辐射加固设计[J].电子技术应用,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.

猜你喜欢

抗辐射大数拉丁
“大数的认识”的诊断病历
拉丁新风
超级英雄教你大数的认识
爱美的拉丁老师
生活中的大数
雪莲培养物保健品制备及其功效研究
重组绿豆LBBI的制备及其对小鼠的辐射防护作用
宇航元器件在轨测试研究
星载测控应答机抗辐射加固与可靠性平台研究
一类非线性度较高的拉丁方阵*