You are on page 1of 3

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

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

摘要:由辐射粒子引起的多单元翻转(MCUs)已经成为了影响存储器可靠性的一个主要问题。而存储器抗MCUs
的加固方法一般是使用可以纠正多个错误的错误纠正码(ECCs)。使用了正交拉丁方(OLS)码的故障容错系统被构
造用以纠正存储器中的多个错误。OLS码是一类一步大数逻辑可译(OS—MLD)码,可以使用非常简单的大数逻辑电
路来进行译码。由Verilog硬件描述语言实现设计,并且使用ModelSim进行了功能验证。
关键词:多单元翻转;错误纠正码;0IS码;OS—MLD码
中图分类号:TN431.2 文献标识码:A DOI:10.16157/j.issn.0258—7998.2016.10.010

中文引用格式:董亮.基于OLS码的检错纠错抗辐射加固设计[J】.电子技术应用,2016,42(10):44—46.
英文引用格式:Dong Liang.Design of radiation hardened elror 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,Univemity 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 pre-

sented to protect a memory from MCUs using onhogonal latin square(OLS)code.The advantage of OLS code is that it is a type of

one-step majority logic deeodable(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引言 越来越高。因此,Hamming码已经不适合用来对存储器
随着集成电路的进步,存储器越来越容易受到由来 进行抗辐射加固保护,而需要寻找使用纠正能力较高且
自地面和太空环境中辐射粒子影响引起多单元翻转 额外电路对存储器性能影响较少的其他ECC码来对存

(Multiple Cell Upsets,MCUs)。MCUs可以导致存储器存 储器进行抗辐射保护【7】。


储数据的错误而引起系统失效。因此,需要对存储器进 在本设计中,使用了基于正交拉丁方的正交拉丁方

行抗辐射加固设计【1-31。 (OIS)码来对存储器进行抗辐射的加护设计。使用OLS
目前,(//,,k)错误纠错码(Error Correction Codes,ECCs) 码的原因是它属于一步大数逻辑可译(OS—MLD)码,可

是存储器中常用的容错技术,其中rt是码长,k是信息 以使用简单的大数逻辑译码电路来进行多位MCUs的

位的个数。ECC加固技术是在存储字的基础上增加了冗 纠正。

余位用以检测和纠正存储器中发生的错误翻转。因此, 1正交拉丁方(OLS)码
ECC故障容错系统需要额外的编码和译码电路;而其编 正交拉丁方是指两个拉丁方在同一位置上的数依

码和译码电路的复杂度又决定了自身的纠正能力和硬 次配置成对时,如果这两个有序数对恰好各不相同,则
件的复杂度【4-6.12】。 称这两个拉丁方互为正交拉丁方。OLS码正是在此基础

汉明(Hamming)码是最常用的ECC码,它可以用非 上来构成的18-91:对于纠正能力为t的OLS码,其奇偶校
常少的硬件开销来纠正存储器中的错误。但是,它只能 验矩阵日如下式所示:
对单个错误进行纠正,对两个错误进行探测。随着器件 MI
工艺尺寸的不断减小,存储器中发生多个错误的概率也
H= 警k:
}基金项目:国家自然科学基金(61501275);黑龙江省青年科学基金
(QC2015073);齐齐哈尔市工业攻关项目(GYGG一201511) 耽
44 欢迎网上投稿www.ChinaAET.com 《电子技术应用》2016年第42卷第10期

万方数据
。;童璺童簟鸶iliiiI簟隧塑堕竺皇!!垡竺!堕!皇!垒!!!皇型
式(1)中,k是一个2tmx2tm的单位矩阵,M。,/1'/2,…,% 接着,按照式(1)-5戈(7),即可设计出(77,49)0LS码
是一系列的m×m2矩阵。M,,尬,…,帆的矩阵形式如下: 的奇偶校验矩阵日,如图1所示。
1l(肼m000fxxMxHJ(JfMJ(1【,(1(NX舢J(1(KMxHJ(J(Mxx×X麒H110‘州KJ【l【HHXN肌肌l(J(XJ(J(M肼XX×m
1 II ll
lloo伽00000伽000000c000000c00000伽100001000(10I)000伽00000伽00000000
0000000l ll l l
00000000000000lllllll00伽OD0000c000000(101)00000000001000c00(10l∞1)0佣O呻(1000(_∞0
000(RlOOfgX舢XKKX)(J(Xmll 1f 11 l伽XXJ(JfMx)【lfNNXHX删Xl‘J(xx川NXXX删HX)tII】l】I删HJI】f×XXm
Ml= 000∞0000(I。00000伽00000000001 ll ll 1 lo。oc00000伽000(101001000c000000(n)0伽000f)000
000。00D口O∞OD0000日OD000伽OD000000001l ll ll 1000000000()001000000(10I)0(10伽“Io|)0(II)o

0 0 10 0 0 10 0 D0l0 0 0 10 0 0 10 0 (1010 0 0 10 0 0 0 0 0 01㈩


000∞O。000000c000000(10I)o∞o。O。000000∞t啪Oll ll ll 100000010(J000伽巩101)0∞优10(H)00

010000001000000lOO0000100D00010000001000000l伽0c吣00000000100000优00000删0
10000001000000l000000100000010000001000000I0000000000000100000000000000000000

010 0 010 伽10 0 0 0 lo0 0 lo0 0 10 0 010 0 01㈣10删0 0


001000000100000010000001000000100000010000001000000061)0000l伽伽00【10lD00c000000
尬=[厶厶…/-1。肼 (3) 0001000000100000010000001000000100000010000001000c000000000l伽0c帕00000000(K100

000001000000l0000001000000looOooOlOOo0001(1000001000c000000000I咖0c000咖000000
为了满足日矩阵的正交化,在构造日矩阵过程中
采用了h个正交拉丁方。因此,坞,…,M2,可通过h个正
ool00000100000100000000000010000010000010000010000000000000000000100000000000
交拉丁方J。,J2,…,厶一:变换得到[10l。正交拉丁方,。,J2, 000100000l00000100000lo。0c00000000100000l00000l伽0c时00伽000000000010000000000
0000100000100000100000l00000100们00000000l0000010c00000便10I)000000001000000000
0000010000010000010000D1000001000001000。000000001000c000000cloI)000000l伽000000
…,厶-2,岛E 1,2,…,m,如式(4)所示: 000000100000100000lOO000l00000100000I伽00们000c000000000000伽帅0000001000D000
, 10000∞0000010000l0000100000000000lOoDOl0000100伽O∞00伽O∞00000。000001000000

00100(30100000000000100001000010000000000010000100伽000咖0(10I)000㈣00010000
丑一2

(4)
OoolOooOl000c00000001000010000I0000100删00100(}c000000c0000(10|)00000001000
0100000000000l0000l000010000100000000000100001000。00∞000伽0cOD000000001伽000
11=[19】。。。,厶=[fF】。。。,…,厶一z=%】。。。
根据变量/z(1≤p≤m)定义矩阵线,缘=【g:】,£=【岛】。。。 000010000100001000㈣001000们000010130000000001000000∞00000000000000000100
(3000010000100001伽O∞000000l000010000100001000c000000c000伽0c0000【10lD00(帕0D010
000000100DOl0000l00001000c0000000l0000lo000l伽0c000000c唧)0伽oc0D0000cO∞0000l

为m阶正交拉丁方,g:如式(5)所示: 图1(77。49)0Ls码的奇偶校验矩阵日

g“
lg-=/z
使用(77,49)OLS码构造的故障容错系统如图2所
lF≠肛
示。将信息位通过OLS码的编码器进行编码后存储在存
对于每一个m阶正交拉丁方,都存在m个生成矩
储器中;在读出的时候,如果保存的码字有错误,通过
阵Qt,Qz,…,Qm,则向量K是关于矩阵g的一维向量:
OLs码的译码器后,可以纠正这些错误,从而保证了存
V…,Itll.一It。。g#q:。…g:…q:。…g:】
,…1…l。g 21…g抽…。l…g。j (6)
【O) 储器中数据的正确性。
所以,奇偶校验日矩阵中的子矩阵M可以写成关
于向量K的一维列向量形式,如式(7)所示,其中y。,K, 刊茄H…H蒜产
…,K由正交拉丁方L得到: 图2构造的OLS码故障容错系统

设计的(77,49)0Ls码编码器可以由输入向量与生

胍= 成矩阵执行向量乘法来得到,如图3所示,因此只需要

进行简单的异或运算即可。OLS码由于其在纠正任意错

误时都满足一步大数逻辑译码的条件,因此,其译码方
根据上述这些式子可以得到具有m2个信息位、2tm
式将采用一步大数逻辑译码的方式。(77,49)01.5码译码
个奇偶校验位和纠正能力为t的OLS码奇偶校验矩阵
器如图4所示,主要有异或门和大数逻辑门来构成进行
日的具体结构。本设计中构造的OLS的参数有:信息位
并行译码。大数逻辑门通过对五个正交校验和A;进行
k=72=49、阶数m=4、纠正能力t=2以及冗余位2tm=28。
大数表决【51:如果正交校验和Ai中的多数为l则输出l;
因此,构造的OLS码是一个(77,49)码。构造这样的015
反之,则输出0。
码选择了如下两个拉丁方:
1 2 3 4 5 6 7

6 7 1 2 3 4 5

4 5 6 7 1 2 3

L产l 2 3 4 5 6 7 (8)
7 1 2 3 4 5 6

5 6 7 l 2 3 4

3 4 5 6 7 1 1
图3(77,49)01_5码编码器设计
l 2 3 4 5 6 7

7 1 2 3 4 5 6 2功能验证及结果分析
6 7 1 2 3 4 5 本设计构造的OLS码由Verilog硬件描述语言来实
厶=l 5 6 7 1 2 3 4 现,采用的功能验证工具是Mentor公司开发的ModelSim
4 5 6 7 1 2 3 模拟器。首先,假设要将两个49位的数据063b7697fSf82
3 4 5 6 7 1 l 和1leefOt387fTd存储在存储器中;当完成编码操作后,
2 3 4 5 6 7 1 分别获得了063b7697fSf8266c242 1和1 1 eefOf387f'/d79e526c

《电子技术应用》2016年第42卷第10期 45

万方数据
微电子技术 Microelectronic Technology

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

这样的两个码字,如图5(a)所示,并将其分别存在存 SRAM device.IEEE Trans.Nucl.Sci.,Dec.2005,52(6):


2433—2437.
储器的两个字中;然后,进行故障注入,先假设存储
的这两个字分别发生了一个错误,即分别变成了 【2]易伟,徐欣,聂洪山.一种NAND Flash存储器抗辐射加

063b3697f8f8266c2421和1 lee舳07f7d79e526e这两个码 固方法[J】.微处理机,2011,32(6):8-11.

字,经过OLs译码器后,能够获得正确的输出值 [3】董文杰,孟景,林金永,等.控制系统抗辐射加固设计知
识管理系统的构建【J】.航天工业管理,2015(5):42-43.
063b7697tgf82和11eelof387fTd,如图5(b)所示;最后,假
【4】黄繁荣,贺显红.星载测控应答机抗辐射加固与可靠性
设存储的这两个字分别发生了两个错误,即分别变为
平台研究【J].遥测遥控,2015,36(5):68—74.
le3b7697f8f8266e2421和13eedOf387f'/d79e526c这两个码
【5】徐鑫龙.抗辐射SRAM测试系统的设计与实现[J】.中国集
字,在经过编码器译码后,也可以获得正确的码字,如
成电路,2016,25(3):52—55.
图5(C)所示。模拟验证结果证明了构造的(77,49)OLs
【6】袁雅婧,赖晓玲,朱启,等.星载数字ASIC抗辐射加固设
的错误纠正功能是正确的,且可以应用于对存储器的抗
计与实现方法[J】.空间电子技术,2015(6):41—44.
辐射加固保护。
[7】Pedro Reviriego,Mark Flanagan,Juan Antonio Maestro.

A(64,45)triple ell'or correction code for memory appli—

cations.IEEE Tram.Device Mater.Rel.,Mar.2012,12(1):


(a)编码仿真
101一106.

[8】HSIAO M Y,BOSSEN D C,CHIEN R T.Orthogonal latin

(b)译码仿真一纠正一个错误 square codes,IBM J.Res.Develop.,1970,14(4):390-394.


【9】杨刘洋,吕翔.一种基于正交拉丁方序列和光正交码的
二维光正交码MOLS/OOC[J].浙江师范大学学报(自然科
(c)译码仿真一纠正两个错误
学版),2014,37(4):437-445.
图5(77,49)0LS码编码和译码操作仿真
【10】宋丽丽,来逢昌,肖立伊.32X32位三端13寄存器堆的
3结论 加固设计【J】.微电子学与计算机,2012,29(12):27-30,
应用于辐射环境下的存储器需要进行抗辐射加固 35.

来提高其可靠性能。本设计使用了正交拉丁方码来对存 【11】LIN S,COSTELLO D J.Error Control Coding,2nd ed.

储器进行加固,使其能够纠正存储器中多位的MCUs。由 Englewood Cliffs,NJ,USA:Prentice—Hall,2004.

【12】Shih-Fu Liu,Pedro Reviriego,Juan Antonio Maestro.


于正交拉丁方码是根据正交拉丁方来构造的,因此它的
E伍eient majority logic fault detection with difference—set
纠正能力是可调的(在其生成矩阵中加入多个正交拉丁
codes for memory applications.IEEE Trans.Very Large
方即可实现纠正能力的提高),这对于复杂环境下的应
Scale Integr.(VLSI)Syst.,2012,20(1):148—156.
用是非常重要的。本设计使用简单的异或电路设计了
(收稿日期:2016-06-01)
(77,49)0LS码的编码器,而且使用一步大数逻辑纠正译
码来对其进行译码。实验结果表明,对构造的OLS码进
行编码和译码的故障注入,发现其可以对存储器中的多
作者简介:
个错误进行纠正,从而验证了该故障容错设计系统的有
董亮(1979一),男,硕士研究生,讲师,主要研究方向:
效性。
无线通信、集成电路。
参考文献
[1】Daniele Radaelli,Helmut Puehner,Skip Wong,et a1.
in 150 nm technology
Investigation of multi-bit a
upsets

46 欢迎网上投稿www.ChinaAET.coin 《电子技术应用》2016年第42卷第10期

万方数据

You might also like