CN1896959A - 一种静态数据存储的纠错编码装置 - Google Patents
一种静态数据存储的纠错编码装置 Download PDFInfo
- Publication number
- CN1896959A CN1896959A CNA200510083858XA CN200510083858A CN1896959A CN 1896959 A CN1896959 A CN 1896959A CN A200510083858X A CNA200510083858X A CN A200510083858XA CN 200510083858 A CN200510083858 A CN 200510083858A CN 1896959 A CN1896959 A CN 1896959A
- Authority
- CN
- China
- Prior art keywords
- error correction
- word
- data
- error
- correction circuit
- 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.)
- Granted
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种静态数据存储的纠错编码装置,该装置应用于计算机上,包括16位并行误码检测和纠错电路1、数据总线隔离单元3,还包括时序控制电路2,16位并行误码检测和纠错电路1根据16位数据字生成6位校验码;时序控制电路2生成用于自动纠错编码的控制时序;数据总线隔离单元3实现存储器的数据总线与处理器数据总线的相互隔离;时序控制电路2与16位并行误码检测和纠错电路1、数据总线隔离单元3之间分别连接信号线,通过信号线,时序控制电路2向两者发送控制信号;数据总线隔离单元3和16位并行误码检测和纠错电路1通过数据总线相连。本发明解决了单粒子翻转造成的存储数据错误的问题,实现了对存储数据错误的实时纠正。
Description
技术领域
本发明涉及一种纠错编码装置,特别涉及一种静态数据存储的纠错编码装置。
背景技术
在电磁环境比较恶劣的情况下,大规模集成电路常常会受到干扰,以至不能正常工作。对于像RAM一类利用双稳态进行存储的器件,往往会在强干扰下(如受到高能粒子的轰击)发生翻转,使原来存储的“0”变为“1”,或者将“1”变为“0”,这种现象称为单粒子翻转。单粒子翻转会产生严重的后果,使得控制程序的控制过程发生错误,或者RAM中存储的关键数据出错。特别是在空间环境中,空间高能粒子辐射导致的单粒子翻转效应会使得航天计算机上的静态存储器SRAM中的数据会出现小概率错误,这种错误若不及时进行纠正将会影响计算机系统的正常运行。高可靠性是星载计算机的一个基本要求,一旦星载计算机发生故障,其后果将不堪设想。
在各种轨道高度的空间飞行器上,单粒子翻转的概率较高,为了保证飞行器上的计算机的可靠性,必须要有相关的装置实现对数据存储的纠错编码。
在现有技术中,解决存储器中的数据错误常常采用软件方法来实现,采用这种方法易于实现,但速度慢,不适用于实时性较高的系统。
发明内容
本发明的目的是提供一种静态数据存储的纠错编码装置,实现对数据存储错误的纠错。
为了实现上述目的,本发明提供了一种静态数据存储的纠错编码装置,该装置应用于计算机上,包括16位并行误码检测和纠错电路1、数据总线隔离单元3,其特征在于,还包括时序控制电路2,16位并行误码检测和纠错电路1根据16位数据字生成6位校验码;时序控制电路2生成用于自动纠错编码的控制时序;数据总线隔离单元3实现存储器的数据总线与处理器数据总线的相互隔离;时序控制电路2与16位并行误码检测和纠错电路1、数据总线隔离单元3之间分别连接信号线,通过信号线,时序控制电路2向两者发送控制信号;数据总线隔离单元3和16位并行误码检测和纠错电路1通过数据总线相连。
上述技术方案中,所述的16位并行误码检测和纠错电路1采用改进的汉明码在计算机的微处理器的写周期根据16位数据字生成6位的校验码并存储在计算机的静态存储器,在计算机微处理器的读周期,校验码和数据字被同时读出以检测误码。
上述技术方案中,所述的时序控制电路2生成的控制时序包括计算机存储器的读写逻辑、误码检测和纠错电路的工作模式切换和控制逻辑。
上述技术方案中,所述的数据总线隔离单元3采用双向总线收发器54HC245。
所述的16位并行误码检测和纠错电路1采用抗辐射剂量大于300K RAD的专用集成电路。
本发明的优点在于:
1、本发明的静态数据存储的纠错编码装置解决了由于单粒子翻转而造成的SRAM中存储的数据发生错误的问题,实现了实时纠正SRAM中数据错误的目的。
2、本发明装置建立在全数字逻辑硬件电路的基础上,因此可靠性、稳定性能够得到充分的保证。
附图说明
图1是本发明的静态数据存储的纠错编码装置的结构图;
图2是16位并行误码检测和纠错电路的操作时序图。
具体实施方式
下面结合附图和具体实施方式,对本发明的静态数据存储的纠错编码装置进行描述。
如图1所示,静态数据存储的纠错编码装置包括16位并行误码检测和纠错电路1、时序控制电路2、数据总线隔离单元3,该装置为图1中的虚线框所包围的部分。16位并行误码检测和纠错电路1的作用是根据16位数据字生成6位校验码。时序控制电路2的作用是生成用于自动纠错编码的控制时序。数据总线隔离单元3的作用是实现存储器的数据总线与处理器数据总线的相互隔离。本发明的纠错编码装置在计算机中不能单独使用,需要与微处理器、存储器等共同使用。时序控制电路2与16位并行误码检测和纠错电路1、数据总线隔离单元3、存储器之间分别连接有信号线,通过信号线,时序控制电路2向两者发送控制信号;时序控制电路2还与微处理器通过控制总线相连,微处理器通过控制总线向时序控制电路2发送控制信号。数据总线隔离单元3连接在两段数据总线之间,一段数据总线一端连接到微处理器上,另一端连接到数据总线隔离单元3,另一段数据总线一端连接到数据总线隔离单元3,另一端连接到存储器上;在与存储器相连的数据总线上,还连接有16位并行误码检测和纠错电路1和时序控制电路2。微处理器与存储器之间还连接有地址总线。下面结合微处理器和存储器,对纠错编码装置的各个部分做详细说明。
16位并行误码检测和纠错电路(简称EDAC)1选用抗辐射剂量大于300K RAD(Si)的专用集成电路,它有四种工作模式,这些工作模式如表1所示。16位字写的时序比较简单,只需进行表1中的写模式即可,典型的“字读”操作时序则需要另外三种工作模式的组合,如图2所示。首先进入S1S0(01)模式,总线上的数据字和校验字同时从输入16位并行误码检测和纠错电路(简称EDAC)1。然后进入S1S0(11)模式,16位并行误码检测和纠错电路(简称EDAC)1内部电路锁存数据字和校验字,并产生新的校验字与锁存的校验字进行比较使能误码标志输出。最后进入S1S0(11)模式,将新旧两个校验字进行异或操作生成诊断码输出,并根据诊断码对数据字纠错后输出。
表1EDAC工作模式
存储器周期 | 控制信号 | EDAC功能 | 数据I/O | 校验字 | 误码标志 | ||
S1 | S0 | 一位 | 双位 | ||||
写 | 0 | 0 | 产生校验码 | 输入数据 | 输出校验字 | 0 | 0 |
读 | 0 | 1 | 读取数据字和校验字 | 输入数据 | 输入校验字 | 0 | 0 |
读 | 1 | 1 | 锁存并输出误码标志 | 锁存数据 | 锁存校验字 | 使能 | 使能 |
读 | 1 | 0 | 纠正数据字并产生诊断码 | 输出纠错后的数据 | 输出诊断码 | 使能 | 使能 |
时序控制电路2与微处理器通过控制总线相连接,时序控制电路2利用微处理器的存储器读写周期时序可转换出16位并行误码检测和纠错电路(EDAC)1的控制信号S1和S0。此外,时序控制电路2还与存储器和数据总线隔离单元3相连,向存储器发送读写控制信号,向总线隔离单元3发送使能信号,并通过信号的组合实现字节的读写。时序控制电路2可对可编程逻辑电路(FPGA)编程实现其功能。
数据总线隔离单元3可采用双向总线收发器54HC245实现其功能。
微处理器对存储器中数据的读写可分为四种情况,分别为字(WORD)写、字(WORD)读、字节(BYTE)写、字节(BYTE)读,结合本发明的纠错编码装置对四种情况的工作流程分别说明。
1)、字写。字写就是要将数据字写入存储器中。首先,微处理器将数据字输出到数据总线上,16位并行误码检测和纠错电路1从数据总线上获取数据字,时序控制电路2对16位并行误码检测和纠错电路1输出值为00的控制信号S1S0,由表1可知,在该工作模式下,16位并行误码检测和纠错电路1根据输入的数字,生成校验字并输出到数据总线中,时序控制电路2发出存储器写信号,将数据字和校验字一同写入存储器中,数据字和校验字所存储的存储器单元的地址相同。
2)、字读。字读是要将数据字从存储器读入微处理器中。微处理器向时序控制电路2发出读操作命令,时序控制电路2根据该读操作命令向16位并行误码检测和纠错电路1发出值为01的控制信号S1S0,根据该控制信号从存储器中读出数据字和校验字并存入16位并行误码检测和纠错电路1中的存储单元中,然后时序控制电路2发出值为11的控制信号S1S0,在该控制信号的作用下,16位并行误码检测和纠错电路1锁存数据字和校验字。根据汉明码的编码规则,16位并行误码检测和纠错电路1利用数据字重新生成校验字,然后将重新生成的校验字与锁存的校验字做比较,如果两者不同,说明锁存的数据字和校验字发生了误码现象,输出错误标志。时序控制电路2若收到错误标志,则发出值为10的控制信号,16位并行误码检测和纠错电路1进入纠错模式,根据汉明码的原理,如果发现数据字中有一位误码,可自动纠正,如果是在校验字中发现有一位误码,则只标识不纠正。将纠错后的数据字和诊断码输出,同时时序控制电路2将纠错后的数据字锁存在时序控制电路2的内部寄存器中,并通过总线隔离单元3传送给微处理器。最后,时序控制电路2产生值为00的控制信号S1S0,重新执行字写操作,用纠错后的数据字重新生成校验字,利用新的数据字和校验字刷新存储器单元的数据字和校验字。
3)字节写。字节写是将数据字节写入存储器中。16位并行误码检测和纠错电路1只能执行16位的字操作,因此微处理器在做字节读写时需要将字节复合成字来操作。也就是说,从存储器中读取字节时要将字节所在的字一起读出,然后将微处理器输出的字节覆盖字的相应字节,保持数据字中另一字节不变,最后将该字节写回存储器,实现字节写操作。
它的具体操作过程为:时序控制电路2产生值为01的控制信号S1S0,将数据字和校验字从存储器中读出,输入到16位并行误码检测和纠错电路1中,然后时序控制电路2产生值为11的控制信号S1S0,16位并行误码检测和纠错电路1根据该控制信号锁存数据字和校验字,然后在值为00的控制信号S1S0的作用下,由数据字重新生成校验字。将重新生成的校验字与锁存的校验字做比较,根据比较结果检验是否产生误码,若有误码现象产生,则向时序控制电路2发送错误标志,时序控制电路2收到错误标志后,向16位并行误码检测和纠错电路1发送值为10的控制信号,16位并行误码检测和纠错电路1进入纠错模式,将纠错后的数据字锁存入时序控制电路2的内部寄存器中。然后,时序控制电路2产生字节选择信号使微处理器将要写入存储器的数据字节从总线隔离单元3输出到总线上,总线隔离单元3的另一字节的输出设置为高阻态;同时,将纠错后的数据字中与字节写无关的另一字节从时序控制电路2的内部寄存器输出到总线上,总线上的两个字节形成一个新的数据字,接着,时序控制逻辑2产生值为00的控制信号S1S0,将总线上的新数据字送入16位并行误码检测和纠错电路1中,根据改写后的数据字重新生成校验字,最后将新的数据字和校验字送入存储器中,完成字节写操作。
4)、字节读。字节读是将数据字节从存储器中读出。同样的,由于16位并行误码检测和纠错电路1只能执行16位的字操作,因此字节读的操作也需要将字节复合成字来操作。它的具体操作过程如下。时序控制电路2产生值为01的控制信号S1S0,将数据字和校验字从存储器中读出,输入到16位并行误码检测和纠错电路1中。所述的数据字中的高字节或低字节包含有微处理器所要读的数据字节。时序控制电路2发送值为11的控制信号S1S0,锁存数据字和校验字,16位并行误码检测和纠错电路1由数据字重新生成校验字,将重新生成的校验字与锁存的校验字做比较,根据比较结果检验是否产生误码,若有误码现象产生,则向时序控制电路2发送错误标志,时序控制电路2收到错误标志后,向16位并行误码检测和纠错电路1发送值为10的控制信号,16位并行误码检测和纠错电路1进入纠错模式,将纠错后的数据字锁存入时序控制电路2的内部寄存器中。时序控制电路2产生字节选择信号输出微处理器所要求的字节,并通过总线隔离单元传送到微处理器中,实现微处理器对数据字节的读。最后,时序控制电路2还要产生值为00的控制信号,重新执行一次字写操作,用纠错后的数据字和校验字重新刷新存储器单元的数据字和校验字。
Claims (5)
1、一种静态数据存储的纠错编码装置,该装置应用于计算机上,包括16位并行误码检测和纠错电路(1)、数据总线隔离单元(3),其特征在于,还包括时序控制电路(2),16位并行误码检测和纠错电路(1)根据16位数据字生成6位校验码;时序控制电路(2)生成用于自动纠错编码的控制时序;数据总线隔离单元(3)实现存储器的数据总线与处理器数据总线的相互隔离;时序控制电路(2)与16位并行误码检测和纠错电路(1)、数据总线隔离单元(3)之间分别连接信号线,通过信号线,时序控制电路(2)向两者发送控制信号;数据总线隔离单元(3)和16位并行误码检测和纠错电路(1)通过数据总线相连。
2、根据权利要求1所述的静态数据存储的纠错编码装置,其特征在于,所述的16位并行误码检测和纠错电路(1)采用改进的汉明码在计算机的微处理器的写周期根据16位数据字生成6位的校验码并存储在计算机的静态存储器,在计算机微处理器的读周期,校验码和数据字被同时读出以检测误码。
3、根据权利要求1所述的静态数据存储的纠错编码装置,其特征在于,所述的时序控制电路(2)生成的控制时序包括计算机存储器的读写逻辑、误码检测和纠错电路的工作模式切换和控制逻辑,并利用只能进行字操作的16位并行误码检测和纠错电路(1)实现了8位字节的读写。
4、根据权利要求1所述的静态数据存储的纠错编码装置,其特征在于,所述的数据总线隔离单元(3)采用双向总线收发器54HC245。
5、根据权利要求2所述的静态数据存储的纠错编码装置,其特征在于,所述的16位并行误码检测和纠错电路(1)采用抗辐射剂量大于300K RAD的专用集成电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510083858XA CN100368997C (zh) | 2005-07-12 | 2005-07-12 | 一种静态数据存储的纠错编码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510083858XA CN100368997C (zh) | 2005-07-12 | 2005-07-12 | 一种静态数据存储的纠错编码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1896959A true CN1896959A (zh) | 2007-01-17 |
CN100368997C CN100368997C (zh) | 2008-02-13 |
Family
ID=37609489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510083858XA Expired - Fee Related CN100368997C (zh) | 2005-07-12 | 2005-07-12 | 一种静态数据存储的纠错编码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100368997C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551763B (zh) * | 2009-05-15 | 2010-10-20 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN101493804B (zh) * | 2008-01-24 | 2011-07-20 | 国际商业机器公司 | 数据总线系统及其编解码器和编解码方法 |
CN103279440A (zh) * | 2013-05-10 | 2013-09-04 | 北京宇航系统工程研究所 | 一种单机模块间总线通信方法 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
CN104597807A (zh) * | 2014-12-10 | 2015-05-06 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN106328209A (zh) * | 2015-06-30 | 2017-01-11 | 中国科学院电子学研究所 | 存储器单粒子多位翻转容错方法及电路 |
CN106407037A (zh) * | 2015-07-27 | 2017-02-15 | 中国科学院电子学研究所 | 一种双端口存储器字线控制电路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701314A (en) * | 1995-12-21 | 1997-12-23 | Cirrus Logic, Inc. | On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive |
KR100229015B1 (ko) * | 1996-08-06 | 1999-11-01 | 윤종용 | 디지탈 처리시스템의 에러정정장치 및 방법 |
CN100414510C (zh) * | 2003-12-30 | 2008-08-27 | 中国科学院空间科学与应用研究中心 | 实时差错检测与纠错芯片 |
-
2005
- 2005-07-12 CN CNB200510083858XA patent/CN100368997C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493804B (zh) * | 2008-01-24 | 2011-07-20 | 国际商业机器公司 | 数据总线系统及其编解码器和编解码方法 |
CN101551763B (zh) * | 2009-05-15 | 2010-10-20 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
CN103885850B (zh) * | 2013-03-01 | 2016-12-28 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
CN103279440A (zh) * | 2013-05-10 | 2013-09-04 | 北京宇航系统工程研究所 | 一种单机模块间总线通信方法 |
CN104597807A (zh) * | 2014-12-10 | 2015-05-06 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN104597807B (zh) * | 2014-12-10 | 2018-03-13 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN106328209A (zh) * | 2015-06-30 | 2017-01-11 | 中国科学院电子学研究所 | 存储器单粒子多位翻转容错方法及电路 |
CN106328209B (zh) * | 2015-06-30 | 2020-01-21 | 中国科学院电子学研究所 | 存储器单粒子多位翻转容错方法及电路 |
CN106407037A (zh) * | 2015-07-27 | 2017-02-15 | 中国科学院电子学研究所 | 一种双端口存储器字线控制电路 |
CN106407037B (zh) * | 2015-07-27 | 2019-04-02 | 中国科学院电子学研究所 | 一种双端口存储器字线控制电路 |
Also Published As
Publication number | Publication date |
---|---|
CN100368997C (zh) | 2008-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9252814B2 (en) | Combined group ECC protection and subgroup parity protection | |
US10838808B2 (en) | Error-correcting code memory | |
CN101536110B (zh) | 纠错器件及其方法 | |
US8589759B2 (en) | RAM single event upset (SEU) method to correct errors | |
CA1209268A (en) | Self-checking computer circuitry | |
US8756486B2 (en) | Method and apparatus for repairing high capacity/high bandwidth memory devices | |
US5909541A (en) | Error detection and correction for data stored across multiple byte-wide memory devices | |
US5392302A (en) | Address error detection technique for increasing the reliability of a storage subsystem | |
CN100368997C (zh) | 一种静态数据存储的纠错编码装置 | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
JP2001249854A (ja) | メモリ設計のための共有式誤り訂正 | |
CN111459712B (zh) | Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路 | |
CN107015880B (zh) | 一种fpga电路和其配置文件处理方法 | |
CN103413571B (zh) | 存储器和利用该存储器实现检错纠错的方法 | |
US5953265A (en) | Memory having error detection and correction | |
CN105320575B (zh) | 一种双模冗余流水线的自校验及恢复装置与方法 | |
CN116974813B (zh) | 寄存器数据管理方法、装置、寄存器模块、计算机设备 | |
CN102339648A (zh) | 一种检错/纠错校验模块的检测方法及装置 | |
CN112349343A (zh) | 电路结构、芯片以及电子设备 | |
US4761783A (en) | Apparatus and method for reporting occurrences of errors in signals stored in a data processor | |
US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller | |
CN205193785U (zh) | 一种双模冗余流水线的自校验及恢复装置 | |
EP0319183B1 (en) | Parity regeneration self-checking | |
US6249878B1 (en) | Data storage system | |
CN1635477A (zh) | 实时差错检测与纠错芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080213 Termination date: 20160712 |
|
CF01 | Termination of patent right due to non-payment of annual fee |