CN202838976U - 基于edac模块的三模冗余对存储器的容错装置 - Google Patents

基于edac模块的三模冗余对存储器的容错装置 Download PDF

Info

Publication number
CN202838976U
CN202838976U CN201220510022.9U CN201220510022U CN202838976U CN 202838976 U CN202838976 U CN 202838976U CN 201220510022 U CN201220510022 U CN 201220510022U CN 202838976 U CN202838976 U CN 202838976U
Authority
CN
China
Prior art keywords
edac
module
fault
storer
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201220510022.9U
Other languages
English (en)
Inventor
苏弘
丁朋程
孔洁
王晓辉
赵红赟
佘乾顺
千奕
马晓莉
牛晓阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Modern Physics of CAS
Original Assignee
Institute of Modern Physics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Modern Physics of CAS filed Critical Institute of Modern Physics of CAS
Priority to CN201220510022.9U priority Critical patent/CN202838976U/zh
Application granted granted Critical
Publication of CN202838976U publication Critical patent/CN202838976U/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本实用新型涉及对存储器抗辐射容错技术领域,主要涉及利用FPGA实现EDAC模块的三模冗余技术对存储器单粒子翻转的容错装置与方法。一种基于EDAC模块的三模冗余对存储器的容错装置,其特征是包括有主控制器连接编码EDAC模块的并联的第一编码器、第二编码器、第三编码器,编码EDAC模块通过第一多数选举器连接存储控制器,由存储控制器连接存储器;由存储器通过存储控制器连接解码EDAC模块的三个并联的第一解码器、第二解码器、第三解码器,解码EDAC模块通过第二多数选举器连接主控制器。整个EDAC模块和多数选举器在FPGA中实现,能够有效地提高系统中存储器的抗单粒子翻转(SEU)水平。

Description

基于EDAC模块的三模冗余对存储器的容错装置
技术领域
本实用新型涉及对存储器抗辐射容错技术领域,主要涉及利用FPGA实现错误检测和纠正编码EDAC模块的三模冗余对存储器粒子翻转的容错装置。
背景技术
空间飞行器在空间工作时,将受到不同能量和不同剂量的多种射线(主要是高能质子和高能重离子)的照射。这些射线照射在元器件上引起单粒子效应(Single EventEffect,SEE)会对空间飞行器性能造成一定的损伤,引起飞行器在轨运行故障和失效。
随着电子系统复杂性和可靠性的提高,对系统中存储器的可靠性和性能也提出更高的要求。现有的技术对存储器的抗辐射性的技术除了抗辐射工艺可以增强元器件的抗辐射能力,也可以通过容错设计来提高器件的抗SEE水平。现有方法是对存储器三模冗余(Triple Modular Redundancy,TMR),即对同一个数据存储三份,在读出时通过多数选举器,得到正确的结果,但这种方法随着存储数据量的增大和读取速率的提高,存储器的容量要3倍地增长,对存储的控制时序复杂度也随之提高。另一种方法是用汉明码、RS码等错误检测和纠正编码(Error Detection and Correction Codes,EDAC)技术,通过增加冗余位解决数据的抗辐射能力,适用于纠正和检出存储器中的位翻转。EDAC的一个应用实例就是汉明码,能检测单位和双位错误并纠正所有的单位错误(single errorcorrect-double error detect,SEC-DED)。这种编码方法可用于单个数据结构中多个错误发生很低的系统(例如一个字节的数据只有一位错误)。汉明码能够防护一些电路结构,例如寄存器和存储器。将受防护的寄存器输入连接到编码块上,输出连接到解码块上。但这种方法中EDAC模块编码、解码电路本身会发生单粒子翻转,导致编码或解码数据的错误,甚至电路的失效。
发明内容
本实用新型的目的在于避免现有技术的不足提供一种基于EDAC模块的三模冗余对存储器的容错装置及其方法。以解决EDAC模块编码、解码电路本身在受到不同能量和不同剂量的多种射线的照射会发生单粒子翻转的问题。
为实现上述目的,本实用新型采取的技术方案为:一种基于EDAC模块的三模冗余对存储器的容错装置,其主要特点是包括有主控制器连接编码EDAC模块的并联的第一编码器、第二编码器、第三编码器,编码EDAC模块通过第一多数选举器连接存储控制器,由存储控制器连接存储器;由存储器通过存储控制器连接解码EDAC模块的三个并联的第一解码器、第二解码器、第三解码器,解码EDAC模块通过第二多数选举器连接主控制器。
所述的基于EDAC模块的三模冗余对存储器的容错装置,所述的编码EDAC模块中的三个并联的编码器与所述的解码EDAC模块中的三个并联的解码器一一对应。
所述的基于EDAC模块的三模冗余对存储器的容错装置,还包括有所述的三个并联的编码器电路完全相同;所述的三个并联的解码器电路完全相同。
所述的基于EDAC模块的三模冗余对存储器的容错装置,所述的多数选举器为三个两输入与门和一个三输入或门组成,或由三个两输入或门和一个三输入与门组成。
本实用新型的有益效果在于:
本实用新型提出了一种对EDAC电路进行三模冗余设计,提高EDAC电路的抗辐射能力,从而达到对中存储器的容错。EDAC模块在现场可编程门阵列FPGA中实现,能够很方便地应用到对存储器要求抗单粒子翻转(SEU)的系统中。有效解决EDAC技术中编码、解码电路本身会发生单粒子翻转,导致编码或解码数据的错误,这种利用EDAC抵抗存储器SEU的方法,特别对基于SRAM的FPGA的块RAM(Block random accessmemory,BRAM),在不干扰嵌入式存储单元当前的正常工作和设置的情况下增强了存储器的容错能力,是一种极具有吸引力的容错技术。
附图说明
图1为本实用新型的系统实现框图示意图。
图2多数选举器实现电路1。
图3多数选举器实现电路2。
具体实施方式
以下结合附图对本实用新型的原理和特征进行描述,所举实例只用于解释本实用新型,并非用于限定本实用新型的范围。
实施例1:见图1,图2,一种基于EDAC模块的三模冗余对存储器的容错装置,包括有主控制器1连接编码EDAC模块2的并联的第一编码器2-1、第二编码器2-2、第三编码器2-3,编码EDAC模块2通过第一多数选举器3连接存储控制器4,由存储控制器4连接存储器5;由存储器5通过存储控制器4连接解码EDAC模块6的三个并联的第一解码器6-1、第二解码器6-2、第三解码器6-3,解码EDAC模块6通过第二多数选举器7连接主控制器1。
所述的编码EDAC模块2中的三个并联的第一编码器2-1、第二编码器2-2、第三编码器2-3与所述的解码EDAC模块6中的三个并联的第一解码器6-1、第二解码器6-2、第三解码器6-3一一对应。
所述的三个并联的第一编码器2-1、第二编码器2-2、第三编码器2-3电路完全相同;所述的三个并联的第一解码器6-1、第二解码器6-2、第三解码器6-3电路完全相同。
所述的多数选举器为三个两输入与门和一个三输入或门组成。
实施例2:见图1,图3,一种基于EDAC模块的三模冗余对存储器的容错装置,所述的多数选举器为,由三个两输入或门和一个三输入与门组成。其余与实施例1相同。
应用例:一种基于EDAC模块的三模冗余对存储器的容错方法,
(1)主控制器写入数据:主控器生成的数据分别输入三个EDAC模块的编码器,三个编码器分别生成编码码字,然后通过第一多数选举器得到冗余后的编码码字,再通过存储控制器把冗余后的编码码字存入存储器中;
(2)主控制器读入数据:存储控制器从存储器中读出冗余后的编码码字,然后送入EDAC的解码器中,得到的解码码字通过第二多数选举器输出最后的正确码字,再送入主控制器中进行后续的数据处理。
所述的基于EDAC模块的三模冗余对存储器的容错方法,所述的数据为汉明码。
本实用新型以(22,16)扩展汉明码为EDAC为具体实施方案,可检测和纠正全部单比特错误(single bit error),并可以检测数据中的双比特错误(double bit errors)。也就是说,汉明码的字宽为22位,包括16个数据位和6个校验位。汉明码(Hamming code)是用于纠错控制(Error Correction Control,ECC)操作的一种简单而高效的代码,并能提供非常高的资源利用。本实用新型在现场可编程门阵列FPGA中通过元件例化实现三个相同的扩展汉明码模块,每个扩展汉明码模块一个奇偶校验编码器及(parity encoder)奇偶校验解码器单元。编码器执行生成矩阵的功能,产生校验位,而解码器则负责检错和纠错(error detection and correction)。然后,将编码输出和解码输出分别连接到多数选举器上,得到选举后的结果分别送人主控制器和存储器。
具体模块电路实现方法如下:
编码器
编码:在k比特信息上附加r比特的校验位,构成n=k+r比特的码字,其中每个校验比特和某几个特定的信息比特构成偶校验的关系。(22,16)扩展汉明码的构建,其中码字长为22比特,信息码为16比特,校验位为6比特。
1.从1开始给数字的数据位(从右向左)标上序号,1,2,3,4,5...。
2.将这些数据位的位置序号转换为二进制,1,10,11,100,101,等。
3.数据位的位置序号中所有为2的幂次方的位(编号1,2,4,8,16等,这些数据位位置序号的二进制表示中只有一个1)是校验位。
4.所有其它位置是信息数据位。
5.每一位的信息数据包含在特定的两个或两个以上的校验位中,这些校验位取决于这些数据位的位置数值的二进制表示。
6.校验位p1覆盖了所有数据位位置序号的二进制表示倒数第一位是1的数据:1(校验位自身,这里都是二进制,下同),11,101,111,1001,等。
7.校验位p2覆盖了所有数据位位置序号的二进制表示倒数第二位是1的数据。
8.校验位p3覆盖了所有数据位位置序号的二进制表示倒数第三位是1的数据。
9.校验位p4覆盖了所有数据位位置序号的二进制表示倒数第四位是1的数据。
10.校验位p5覆盖了所有数据位位置序号的二进制表示倒数第五位是1的数据。
11.校验位p6覆盖了所有数据位。
编码器由XOR运行构成。校验位与关联的22位数据一起被写入存储器。存储器读取数据时,会同时读取该数据及校验位。任何在FPGA和存储器之间进行读写的过程中产生的错误都会被检测出来。校验位覆盖数据位置如表1所示,相应校验位的参与位用√表明。本实用新型实现(22,16)扩展汉明码的码字。其存入存储器中的码字序列如A:A=[p6,d15,d14,d13,d12,d11,p5,d10,d9,d8,d7,d6,d5,d4,p4,d3,d2,d1,p3,d0,p2,p1]
表1校验位生成表:
解码器
检验:接收端检验r个偶校验关系,即将每个校验比特和与它关联的信息比特异或,相加结果称为校正因子。若r个校正因子全为0,认为没有错误;否则,校正因子指出错误码位置。
解码器单元由三个模块组成:
1.校正子(Syndrome)生成
2.校正子LUT和掩码(Mask)生成
3.数据校正(Data correction)
校正子生成
输入的16比特数据与6位奇偶校验位一起经过异或(XOR)运算,生成6比特校正子(s0至s5)。这与校验位生成非常类似。校正子S=[s5,s4,s3,s2,s1,s0],如表2所示:
表2校正子生成表
Figure BDA00002224320900052
Figure BDA00002224320900061
由校正子可得到码字的误码位置并由此产生相应的掩码,为校正单个码元错误。有用信息码元为16比特,所以本实用新型中只需16个校正掩码。此掩码的每一位都是基于上一阶段的校正子结果生成的,每个校正掩码为16比特。如果未检测到错误,此掩码的所有位都会变为零。如果检测到单位元错误,则掩码会纠正相应的错误码元。即使用原始数据对此掩码进行异或(XOR)运算,错误码元被翻转(或校正)至正确状态。
由校正子得到误码位置,实现对错误数据校正。
表3 (22,16)扩展汉明码校正子与误码位置的关系
  s5s4s3s2s1s0   误码位置   s5s4s3s2s1s0   误码位置
  100001   p1   101101   d8
  100010   p2   101110   d9
  100011   d0   101111   d10
  100100   p4   110000   p4
  100101   d1   110001   d11
  100110   d2   110010   d12
  100111   d3   110011   d13
  101000   p8   110100   d14
  101001   d4   110101   d15
  101010   d5   100000   p5
  101011   d6   000000   无误码
  101100   d7   其他
多数选举器的实现:
多数选举器通常用于TMR数据的输出,即将三路信号变为一路。TMR是指在总体上对所有功能单元采用3个完全相同的模块,互为备份,以达到最佳的抗单粒子翻转效果。如表4多数选举器采用三取二判决算法对运算结果进行TMR处理:
多数选举器的真值表4:
表4
  A   B   C   V
  0   0   0   0
  0   0   1   0
  0   1   0   0
  0   1   1   1
  1   0   0   0
  1   0   1   1
  1   1   0   1
  1   1   1   1
A、B、C是单比特的数据位宽,如真值表所示V是A、B、C多数选择的结果。真值表如表4,具体实现电路如图2,由三个两输入与门和一个三输入或门,亦可如图3,由三个两输入或门和一个三输入与门,而三模冗余选举电路的个数取决于EDAC输出数据的位宽,即选举电路的个数为输出数据的位宽。
以上所述仅为本实用新型的较佳实施例,并不用以限制本实用新型,凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。

Claims (4)

1.一种基于EDAC模块的三模冗余对存储器的容错装置,其特征是包括有主控制器连接编码EDAC模块的并联的第一编码器、第二编码器、第三编码器,编码EDAC模块通过第一多数选举器连接存储控制器,由存储控制器连接存储器;由存储器通过存储控制器连接解码EDAC模块的三个并联的第一解码器、第二解码器、第三解码器,解码EDAC模块通过第二多数选举器连接主控制器。
2.如权利要求1所述的基于EDAC模块的三模冗余对存储器的容错装置,其特征是所述的编码EDAC模块中的三个并联的编码器与所述的解码EDAC模块中的三个并联的解码器一一对应。
3.如权利要求1所述的基于EDAC模块的三模冗余对存储器的容错装置,其特征是还包括有所述的三个并联的编码器电路完全相同;所述的三个并联的解码器电路完全相同。
4.如权利要求1所述的基于EDAC模块的三模冗余对存储器的容错装置,其特征是所述的多数选举器为三个两输入与门和一个三输入或门组成,或由三个两输入或门和一个三输入与门组成。
CN201220510022.9U 2012-10-01 2012-10-01 基于edac模块的三模冗余对存储器的容错装置 Expired - Fee Related CN202838976U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201220510022.9U CN202838976U (zh) 2012-10-01 2012-10-01 基于edac模块的三模冗余对存储器的容错装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201220510022.9U CN202838976U (zh) 2012-10-01 2012-10-01 基于edac模块的三模冗余对存储器的容错装置

Publications (1)

Publication Number Publication Date
CN202838976U true CN202838976U (zh) 2013-03-27

Family

ID=47950622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201220510022.9U Expired - Fee Related CN202838976U (zh) 2012-10-01 2012-10-01 基于edac模块的三模冗余对存储器的容错装置

Country Status (1)

Country Link
CN (1) CN202838976U (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915768A (zh) * 2012-10-01 2013-02-06 中国科学院近代物理研究所 基于edac模块的三模冗余对存储器的容错装置及其方法
CN112292683A (zh) * 2018-06-21 2021-01-29 赛峰电子与防务公司 用于保护fpga免受自然辐射影响的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915768A (zh) * 2012-10-01 2013-02-06 中国科学院近代物理研究所 基于edac模块的三模冗余对存储器的容错装置及其方法
CN102915768B (zh) * 2012-10-01 2016-05-04 中国科学院近代物理研究所 基于edac模块的三模冗余对存储器的容错装置及其方法
CN112292683A (zh) * 2018-06-21 2021-01-29 赛峰电子与防务公司 用于保护fpga免受自然辐射影响的方法
CN112292683B (zh) * 2018-06-21 2021-12-14 赛峰电子与防务公司 用于保护fpga免受自然辐射影响的方法

Similar Documents

Publication Publication Date Title
CN102915768B (zh) 基于edac模块的三模冗余对存储器的容错装置及其方法
CN111338840B (zh) 航天数据保护方法、存储介质、计算机程序、系统、终端
Tambatkar et al. Error detection and correction in semiconductor memories using 3D parity check code with hamming code
TW201722090A (zh) 用於nand快閃記憶體的渦輪乘積碼
TWI714277B (zh) 記憶體錯誤偵測及校正
KR101550762B1 (ko) 연접 오류 정정 장치
CN104282340A (zh) 一种固态盘闪存芯片阈值电压感知方法及系统
CN106328209B (zh) 存储器单粒子多位翻转容错方法及电路
Sridevi et al. Implementation of error correction techniques in memory applications
US8875002B1 (en) Low cost adjacent double error correcting code
Sharma et al. An HVD based error detection and correction of soft errors in semiconductor memories used for space applications
Suma et al. Simulation and synthesis of efficient majority logic fault detector using EG-LDPC codes to reduce access time for memory applications
CN202838976U (zh) 基于edac模块的三模冗余对存储器的容错装置
Pae et al. Minimal aliasing single-error-correction codes for dram reliability improvement
Reviriego et al. Implementing triple adjacent error correction in double error correction orthogonal Latin squares codes
Silva et al. Extended matrix region selection code: An ECC for adjacent multiple cell upset in memory arrays
Song et al. SEC-BADAEC: An efficient ECC with no vacancy for strong memory protection
Athira et al. FPGA implementation of an area efficient matrix code with encoder reuse method
Faraj ’Design Error Detection and Correction System based on Reed_Muller Matrix for Memory Protection’
Zheng et al. Joint decoding of RAID-ECC solutions for SSDs
Kamalakannan et al. Implementation of error correction technique based on decimal matrix code
Singh et al. Ram error detection and correction using HVD implementation
RANI et al. Multi Bit Errors Detection and Correction using SRAM Based DMC
CN101834611A (zh) 一种纠正多比特错误的ecc电路
Krasnyuk et al. Application features of the error correction coding in sub-100-nm memory microcircuits for cosmic systems

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130327

Termination date: 20211001