CN101916213A - 基于arm处理器的空间防护装置及方法 - Google Patents
基于arm处理器的空间防护装置及方法 Download PDFInfo
- Publication number
- CN101916213A CN101916213A CN 201010246216 CN201010246216A CN101916213A CN 101916213 A CN101916213 A CN 101916213A CN 201010246216 CN201010246216 CN 201010246216 CN 201010246216 A CN201010246216 A CN 201010246216A CN 101916213 A CN101916213 A CN 101916213A
- Authority
- CN
- China
- Prior art keywords
- data
- edac
- module
- arm
- sram
- 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.)
- Pending
Links
Images
Abstract
本发明提供了一种基于ARM处理器的空间防护装置,包括ARM、SRAM,以及连接在ARM和SRAM之间的EDAC电路,所述EDAC电路包括两个8位EDAC功能模块,每一个EDAC功能模块包括写功能模块、读功能模块及回写功能模块。ARM向SRAM写数据时,首先数据被写入到EDAC电路中,EDAC模块将写入的数据生成相应的校验码;EDAC模块根据SRAM的写时序要求生成SRAM控制信号;EDAC电路将数据和校验码同时写入到SRAM;ARM从SRAM读数据时,SRAM中的数据和校验码被读入到EDAC模块中,EDAC模块对数据进行校验,如果校验数据没有错误,数据直接被输出给ARM;如果数据有单错发生,EDAC模块经纠正后将纠正后的数据输出给ARM,并启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何操作而将数据传输给ARM。本发明时序设计简单,且可以对RAM中的出错单元进行自动回写。
Description
【技术领域】
本发明涉及属于星船载计算机领域,特别涉及一种基于ARM处理器的空间防护装置及方法。
【背景技术】
在各类微处理器中,各种存储单元(数据存储器、程序存储器、寄存器、触发器)占据了芯片面积的30~70%,是芯片中对瞬时干扰最敏感的部分。星载微处理器受空间辐射的影响,存储单元会发生单粒子翻转(single effect Upset,简称SEU)问题,因而引起程序出错,如果SEU问题不能及时得到解决,可能会引起微处理器工作异常。EDAC(Error Detection And Correction)技术能有效解决SEU问题,同时不依赖于工艺。随着电子技术的不断发展,以及人们对SEU认识认识的不断深入,生产厂商已由生产专门的EDAC芯片发展到带有EDAC功能的微处理芯片。国内外都有过对SEU现象的检测,检测结果表面,SEU产生的时间与物理地址有很大的离散型,在考察整个存储器芯片的SEU情况时,对于较大工艺尺寸的存储设备,在较短的时间内没有发现字节或字出现多比特翻转。
因此,目前,在大多存储器编码纠检错技术中,多采用纠一检二的纠错方法,包括两种类型:一类是采用54LS630或者BM2805与若干逻辑门电路构建而成;另一类是采用CPU自带的EDAC电路,如TSC695。对于前一类而言,其对16位数据进行纠一检二的操作,对出错单元进行回写,但是,时序设计复杂,使用的元器件较多,且占用印制板的面积大,只能用于5V的电路,功耗较大;对于后一类而言,其对32位数据进行纠一检二操作,虽然其集成到了CPU内部,节约了印制板的面积,但是,其不能对RAM中的出错单元进行自动回写,且不属于通用电路,无法用于ARM处理器等低功耗的电路中。
【发明内容】
本发明提供了一种基于ARM处理器的空间数据防护装置及方法,其时序设计简单,且可以对RAM中的出错单元进行自动回写。
本发明所采用的技术方案是:一种基于ARM处理器的空间防护装置,包括ARM、SRAM,以及连接在ARM和SRAM之间的EDAC电路,其中,EDAC电路包括两个基本的8位EDAC功能模块,每一个EDAC功能模块分别包括写功能模块、读功能模块,以及回写功能模块。
本发明还提供了一种基于ARM处理器的空间防护方法,包括以下步骤:
(1)ARM向SRAM写数据:首先数据被写入到EDAC电路中,接着EDAC模块将写入的数据生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM控制信号,最后EDAC电路将数据和校验码同时写入到SRAM;
(2)ARM从SRAM读数据:首先SRAM中的数据和校验码被读入到EDAC电路的EDAC模块中,由EDAC模块对数据进行校验,如果校验数据没有错误,则数据直接被输出给ARM;如果数据有单错发生,则EDAC模块对出错的位进行纠正,并将纠正后的数据输出给ARM,并同时启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何操作而将数据传输给ARM。
作为本发明的优选实施例,步骤(1)中,数据在EDAC模块中,根据汉明码的规则生成相应的校验码。
本发明与现有技术比较,针对ARM处理器进行了时序设计,简化了应用接口设计。对16位宽度的数据总线,即可单独对高8为数据进行纠一检二操作,也可单独对低8位数据进行纠一检二操作。在检查到有单错的时候可以自动对出错的RAM单元进行回写。
【附图说明】
图1是本发明16位EDAC电路图;
图2是本发明8位EDAC电路图。
【具体实施方式】
本发明基于ARM处理器的空间防护装置包括ARM、SRAM,以及连接在二者之间的EDAC电路,其中EDAC电路由两个基本的8位EDAC功能模块拼接成16位数据宽度而成,从而实现16位的EDAC功能。
每一个8位EDAC功能模块包括三个子模块,分别是写功能模块、读功能模块,以及回写功能模块。
写功能模块,主要完成校验码的生成,并生成SRAM的写时序。当ARM向SRAM写数据的时候,先将数据写入到EDAC电路中,接着,EDAC模块将写入的数据按照汉明码的规则生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM的控制信号,将数据和校验码同时写入到SRAM中。
读功能模块,主要完成数据的“纠一检二”。当ARM要从SRAM中读数据的时候,SRAM中的数据和校验码首先被读入到EDAC模块中,接着,由EDAC模块对数据进行校验,如果校验数据没有错误,数据将被直接输出给ARM;如果数据有单错发生,则读功能模块将对出错的位进行纠正,并将纠正后的数据输出给ARM,同时,启动回写模块;如果有多位发生错误,则EDAC模块将给出“双错”标志,不对数据做任何操作而将数据输出给ARM。
回写模块,根据ARM的时钟实现SRAM的写时序,完成数据的回写功能。当回写模块被启动时,回写模块输出控制信号和纠正后的数据信号,并启动计数器,以对ARM的时钟进行计数,当累积计数达到4个后,结束SRAM的控制信号和数据信号,完成纠错后的回写。
下面,请参阅图1所示,具体介绍本发明的电路连接关系图:EDAC电路由两个基本的8位EDAC功能模块组成,即EDAC_8L功能模块和EDAC_8H功能模块。EDAC_8L功能模块完成低8位数据位校验,EDAC_8H功能模块完成高8位数据位校验。数据总线,即信号CD[15:0]从外部输入并分别连接到EDAC_8L功能模块的信号CD[7:0]和EDAC_8H功能模块的信号CD[15:8],经EDAC电路处理后,输出信号MD[15:0],同时,输出10为的校验码,即信号MC[9:0]。
外部的低位写,即信号CWRL,连接到EDAC_8L功能模块,经EDAC_8L功能模块处理后输出低位写,即信号MWRL;外部的高位写,即信号CWRH,连接到EDAC_8H功能模块,经EDAC_8H功能模块处理后输出高位写,即信号MWRH。
外部的片选信号CCS和读信号CRD同时输入到EDAC_8L功能模块和EDAC_8H功能模块;EDAC_8L功能模块和EDAC_8H功能模块输出信号相或后产生读信号MRD、中断信号INT和EDAC状态标识信号EDAC_STA;EDAC_8L功能模块和EDAC_8H功能模块输出信号相与后产生系统的等待信号WAIT;EDAC_8L功能模块和EDAC_8H功能模块输出信号相与后再分别与地址译码信号CA和CA取反后相或,从而产生后级的片选信号MCS0和MCS1。
请参阅图2所示,EDAC_8L功能模块和EDAC_8H功能模块分别包括写功能模块、读功能模块,以及回写功能模块。数据总线,即信号CD[7:0])从外部输入分别连接到写功能模块和读功能模块。经过写功能模块、读功能模块,以及回写功能模块处理后输出信号MD[7:0],同时输出5位的校验码,即信号MC[4:0]。外部的片选信号CCS输入给写功能模块和读功能模块,同时输出作为后级的片选,即信号MCS。外部的写信号CWR输入给写功能模块。外部的读信号CRD输入给读功能模块。写功能模块和回写功能模块输出信号相与后产生整个EDAC电路的写信号MWR。
以上所述仅为本发明的一种实施方式,不是全部或唯一的实施方式,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。
Claims (4)
1.一种基于ARM处理器的空间防护装置,其特征在于:包括ARM、SRAM,以及连接在ARM和SRAM之间的EDAC电路,其中,EDAC电路包括两个基本的8位EDAC功能模块,每一个EDAC功能模块包括写功能模块、读功能模块,以及回写功能模块。
2.如权利要求1所述的基于ARM处理器的空间防护方法,其特征在于:包括以下步骤:
(1)ARM向SRAM写数据:首先数据被写入到EDAC电路中,接着EDAC模块将写入的数据生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM控制信号,最后EDAC电路将数据和校验码同时写入到SRAM;
(2)ARM从SRAM读数据:首先SRAM中的数据和校验码被读入到EDAC电路的EDAC模块中,由EDAC模块对数据进行校验,如果校验数据没有错误,则数据直接被输出给ARM;如果数据有单错发生,则EDAC模块对出错的位进行纠正,并将纠正后的数据输出给ARM,并同时启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何操作而将数据传输给ARM。
3.如权利要求2所述的方法,其特征在于:步骤(1)中,数据在EDAC模块中,根据汉明码的规则生成相应的校验码。
4.如权利要求2或3所述的方法,其特征在于:所述回写模块被启动后,产生SRAM的写时序,并与纠正后的数据一起输出给ARM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010246216 CN101916213A (zh) | 2010-08-05 | 2010-08-05 | 基于arm处理器的空间防护装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010246216 CN101916213A (zh) | 2010-08-05 | 2010-08-05 | 基于arm处理器的空间防护装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101916213A true CN101916213A (zh) | 2010-12-15 |
Family
ID=43323730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010246216 Pending CN101916213A (zh) | 2010-08-05 | 2010-08-05 | 基于arm处理器的空间防护装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916213A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631671A (zh) * | 2013-11-19 | 2014-03-12 | 无锡众志和达数据计算股份有限公司 | 一种ssd存储器的数据保护方法及控制器 |
CN103631669A (zh) * | 2013-12-03 | 2014-03-12 | 中国科学院微电子研究所 | 一种纠错sram的回写方法 |
CN104597807A (zh) * | 2014-12-10 | 2015-05-06 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN105577262B (zh) * | 2015-12-16 | 2018-08-31 | 西安空间无线电技术研究所 | 一种基于星间链路收发设备的星载fpga重构系统及重构方法 |
CN114090327A (zh) * | 2022-01-20 | 2022-02-25 | 浙江吉利控股集团有限公司 | 单粒子错误处理方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447228A (zh) * | 2003-02-21 | 2003-10-08 | 中国航天科技集团公司第九研究院七七一研究所 | 一种16位微处理器的系统结构 |
CN1632757A (zh) * | 2005-01-10 | 2005-06-29 | 中国航天时代电子公司第七七一研究所 | 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法 |
CN1635477A (zh) * | 2003-12-30 | 2005-07-06 | 中国科学院空间科学与应用研究中心 | 实时差错检测与纠错芯片 |
US7134069B1 (en) * | 1999-06-16 | 2006-11-07 | Madrone Solutions, Inc. | Method and apparatus for error detection and correction |
-
2010
- 2010-08-05 CN CN 201010246216 patent/CN101916213A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134069B1 (en) * | 1999-06-16 | 2006-11-07 | Madrone Solutions, Inc. | Method and apparatus for error detection and correction |
CN1447228A (zh) * | 2003-02-21 | 2003-10-08 | 中国航天科技集团公司第九研究院七七一研究所 | 一种16位微处理器的系统结构 |
CN1635477A (zh) * | 2003-12-30 | 2005-07-06 | 中国科学院空间科学与应用研究中心 | 实时差错检测与纠错芯片 |
CN1632757A (zh) * | 2005-01-10 | 2005-06-29 | 中国航天时代电子公司第七七一研究所 | 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631671A (zh) * | 2013-11-19 | 2014-03-12 | 无锡众志和达数据计算股份有限公司 | 一种ssd存储器的数据保护方法及控制器 |
CN103631671B (zh) * | 2013-11-19 | 2016-05-04 | 无锡众志和达数据计算股份有限公司 | 一种ssd存储器的数据保护方法及控制器 |
CN103631669A (zh) * | 2013-12-03 | 2014-03-12 | 中国科学院微电子研究所 | 一种纠错sram的回写方法 |
CN103631669B (zh) * | 2013-12-03 | 2016-06-22 | 中国科学院微电子研究所 | 一种纠错sram的回写方法 |
CN104597807A (zh) * | 2014-12-10 | 2015-05-06 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN104597807B (zh) * | 2014-12-10 | 2018-03-13 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN105577262B (zh) * | 2015-12-16 | 2018-08-31 | 西安空间无线电技术研究所 | 一种基于星间链路收发设备的星载fpga重构系统及重构方法 |
CN114090327A (zh) * | 2022-01-20 | 2022-02-25 | 浙江吉利控股集团有限公司 | 单粒子错误处理方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5601256B2 (ja) | メモリコントローラ及び情報処理装置 | |
WO2007136655A3 (en) | System to detect and identify errors in control information, read data and/or write data | |
CN107943609A (zh) | 存储器模块、存储器控制器和系统及其相应操作方法 | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
CN102568603A (zh) | 数据传输装置、存储器控制装置和存储器系统 | |
CN101916213A (zh) | 基于arm处理器的空间防护装置及方法 | |
US20120079346A1 (en) | Simulated error causing apparatus | |
US11934269B2 (en) | Efficient storage of error correcting code information | |
CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
US11928025B2 (en) | Memory device protection | |
CN102324251B (zh) | 用以指示存储器中的编程失败的信号线 | |
US9891976B2 (en) | Error detection circuitry for use with memory | |
US20100318874A1 (en) | Electronic memory device and method for error correcting thereof | |
CN103413571B (zh) | 存储器和利用该存储器实现检错纠错的方法 | |
CN101582294B (zh) | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 | |
CN105320575B (zh) | 一种双模冗余流水线的自校验及恢复装置与方法 | |
US11416331B2 (en) | Modified checksum using a poison data pattern | |
CN106021035A (zh) | 一种实现在内存颗粒进行故障校验以增强模组条稳定性的方法 | |
CN105023616A (zh) | 一种基于汉明码存取数据的方法及集成随机存取存储器 | |
CN105511984B (zh) | 一种基于主动链接备份数据的具有容错结构的处理器及容错方法 | |
KR102638789B1 (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
CN107247646A (zh) | 可准确定位主板vr芯片fw版本的方法及导入流程 | |
KR20230073915A (ko) | 에러체크 및 스크럽동작방법 및 이를 이용한 반도체시스템 | |
TW440765B (en) | L2 cache testing method | |
JPH07129427A (ja) | Eccコードによるデータの比較チェック方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101215 |