CN101582294B - 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 - Google Patents
一种解决sram模块闩锁问题与增强sram模块可靠性的方法 Download PDFInfo
- Publication number
- CN101582294B CN101582294B CN2009100534614A CN200910053461A CN101582294B CN 101582294 B CN101582294 B CN 101582294B CN 2009100534614 A CN2009100534614 A CN 2009100534614A CN 200910053461 A CN200910053461 A CN 200910053461A CN 101582294 B CN101582294 B CN 101582294B
- Authority
- CN
- China
- Prior art keywords
- circuit
- sram
- power supply
- module
- sram module
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,与现有方案相比,可以解决单片SRAM模块闩锁对系统的影响而不用进行双机切换,实际情况下两片或大于两片SRAM模块同时发生闩锁事件的概率基本为零,最大可以纠错为8位(一个符号),能检测16位错误(两个符号错),比现有采用汉明码的方案有所提高,同时内置了自刷新电路,在不影响CPU的效率情况下即可快速完成对SRAM模块的刷新,当一个芯片损坏的情况下,系统依然可以工作,增加了FPGA的成本,但降低了对SRAM模块器件等级的要求,降低了总的成本,实现本发明的目的。
Description
技术领域
本发明涉及一种航天星载计算机SRAM模块的解决方法,特别涉及一种解决星载计算机SRAM模块闩锁问题以及增强SRAM模块可靠性的方法。
背景技术
目前,在星载计算机中CPU所使用的内部存储器SRAM(以下简称SRAM模块)的校验方法大部分都是采用了汉明编码来进行EDAC(错误检测与纠正),例如8086是采用了16位的汉明码,ERC32是采用了32位汉明码,但是这样只能解决SRAM模块单个位翻转的情况,如果当SRAM模块发生闩锁,那么整个CPU控制系统就要断电,并采用切换电路使用备份系统。
然而,由于等级的SRAM模块极易发生闩锁事件,对于SRAM模块器件的采用多年来一直严格控制器件等级,即使是这样也不能保证SRAM模块不发生单粒子效应。
基于上述原因,特别需要解决SRAM模块闩锁问题,使得SRAM模块发生了闩锁后系统依然能正常工作。
发明内容
本发明的目的在于提供一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,克服现有技术的不足,使得SRAM模块发生了闩锁后系统依然能正常工作。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,其特征在于,每个所述SRAM模块单独连接有一个电源模块,所述电源模块对所述SRAM模块的电压进行监控并独立控制,所述星载计算机中的CPU控制模块通过FPGA控制器对所述SRAM模块进行译码与编解码操作。
在本发明的一个实施例中,所述FPGA控制器通过RS编解码电路对所述SRAM模块进行译码与编解码操作,有效防止了CPU控制模块的损坏对系统的影响。
在本发明的一个实施例中,所述FPGA控制器采用单片反熔丝FPGA或FLASH型FPGA。
在本发明的一个实施例中,所述FPGA控制器还包括一自刷新模块,当CPU控制模块失效重置后,在很短时间内即可对所述SRAM模块进行刷新。
在本发明的一个实施例中,所述FPGA控制器采用了读->双错->重试的操作方式,有效防止了电路干扰。
在本发明的一个实施例中,所述电源模块包含一电源芯片,所述电源芯片的VCC端连接电源输入,所述电源芯片的VCC_MEM端直接向所述SRAM模块供电,所述电源芯片的VCC_MEM端通过一分压电路后反馈输入所述电源芯片的MEN_SENSE端,所述电源芯片的MEN_LU端接入所述FPGA控制器,用于监控所述SRAM模块的供电情况,所述FPGA控制器通过所述电源芯片的MEN_OFF端控制关断所述电源模块,所述FPGA控制器通过所述电源芯片的MEN_SET端控制所述电源模块的电压输出。
进一步,为了方便检测所述电源模块,在所述电源芯片的VCC_MEM端添加了一个发光二级管和一个短路跳线用来模拟单粒子闩锁产生的大电流。
在本发明的一个实施例中,所述FPGA控制器包含CPU接口电路、自刷新电路、编码电路、解码电路、SRAM控制电路、UART数据传输电路、定时电路、SRAM电压监控电路、单、双错计数电路和SEL计数电路;所述FPGA控制器通过所述CPU接口电路与所述CPU控制模块连接,所述CPU接口电路分别与所述编码电路、解码电路、UART数据传输电路、定时电路、单、双错计数电路和SEL计数电路连接,所述自刷新电路分别与所述编码电路和解码电路连接,所述SEL计数电路通过所述SRAM电压监控电路与所述SRAM控制电路连接,所述SRAM控制电路与所述编码电路连接,所述单、双错计数电路与所述解码电路连接。
本发明的一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,与现有方案相比,可以解决单片SRAM模块闩锁对系统的影响而不用进行双机切换,实际情况下两片或大于两片SRAM模块同时发生闩锁事件的概率基本为零,最大可以纠错为8位(一个符号),能检测16位错误(两个符号错),比现有采用汉明码的方案有所提高,同时内置了自刷新电路,在不影响CPU的效率情况下即可快速完成对SRAM模块的刷新,当一个芯片损坏的情况下,系统依然可以工作,增加了FPGA的成本,但降低了对SRAM模块器件等级的要求,降低了总的成本,实现本发明的目的。
附图说明
图1为本发明的设计结构图;
图2为本发明的电源模块的示意图;
图3为本发明的FPGA控制器的结构示意图;
图4为本发明的RS编解码器的实现示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1所示,为本发明的设计结构图,采用了CPU+FPGA+SRAM模块+LDO的结构对CPU的程序存储区与重要数据存储区的SRAM模块的保护,本发明的解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,每个SRAM模块30单独连接有一个电源模块40,采用单独供电方式,使得SRAM模块发生闩锁时整机电源电压不受影响,防止由于闩锁事件使系统供电短路的情况,电源模块43对SRAM模块30的电压进行监控并独立控制;所述星载计算机中的CPU控制模块10通过FPGA控制器20对SRAM模块30进行译码与编解码操作,在本发明中,FPGA控制器20采用Antifuse器件,其主要的原因是它对SEL与SEU是免疫的,在FPGA控制器20中主要实现SRAM模块器件的EDAC(错误检测与纠正),其中16位用来作为校验位,32位或64位用来作为正常的数据存储位,同时FPGA控制器20还实现了对SEL检测与恢复控制、对CPU控制模块10实现地址译码等工作。
在本发明中,SRAM模块30采用了HM628512的SRAM模块器件作为存储器件,在实际中可以选择其它的通用8位存储器;CPU控制模块10采用了8086作为主控制器,实际设计中可以选择任意一个32位或16位的CPU做主控制器,为了方便RS232口调试,时钟采用了14.745Mh经过82C84分频后进入CPU控制模块10与FPGA控制器20;系统的PROM采用了28C64作为存储PROM,与8086体系结构一样采用了两片,一片为奇地址,别一片是偶地址。
如图2所示,电源模块40包含一电源芯片41,在本发明中,电源芯片41采用LDO MAX883芯片,电源芯片41的VCC端连接电源输入,电源输入为5.5V,经过电源芯片41的VCC_MEM端直接向SRAM模块30供电,正常供电电压为5V,电源芯片41的VCC_MEM端通过一分压电路后反馈输入所述电源芯片的MEN_SENSE端;当SRAM模块30发生闩锁事件时,会产生很大的闩锁电流,从而拉低电源芯片41的VCC_MEM端的电压,使之低于5V;电源芯片41内部提供了一个低电压比较器,当电源芯片41的MEM_SENSE端电压低于1.2V时,电源芯片41的MEM_LU端会输出一个低电平,否则为高电平,电源芯片41的MEN_LU端接入FPGA控制器20,用于监控SRAM模块30的供电情况,当SRAM模块30供电电压正常时,电源芯片41的MEM_LU为高电平;在SRAM模块30供电电压VCC_MEM为5V的情况下,分压后电压为1.3V,当VCC_MEM低于4.6V时,分压后电压即MEM_SENSE的电压低于1.2V,MEM_LU出现低电平。
电源芯片41提供了两个管脚用来关断和设置其电压输出,FPGA控制器20通过电源芯片41的MEN_OFF端控制关断所述电源模块,FPGA控制器20通过电源芯片41的MEN_SET端控制电源模块40的电压输出;当电源芯片41的MEM_LU端出现低电平时,FPGA控制器20可以通过电源芯片41的MEM_OFF端关断发生闩锁的SRAM模块30的电源,使其不影响其它SRAM模块30的正常工作,过一段时间后,再将其电源通过电源芯片41的MEM_SET端打开,再进行刷新等其它操作。
为了方便检测电源模块40,在电源芯片41的VCC_MEM端添加了一个发光二级管和一个短路跳线用来模拟单粒子闩锁产生的大电流。
如图3所示,FPGA控制器20包含CPU接口电路201、自刷新电路202、编码电路203、解码电路204、SRAM控制电路205、UART数据传输电路206、定时电路207、SRAM电压监控电路208、单、双错计数电路209和SEL计数电路210;在本发明中,FPGA控制器20采用了RS编解码电路,编码电路203为RS编码电路、解码电路204为RS解码电路,有效防止了单芯片损坏对系统的影响;FPGA控制器20通过CPU接口电路201与CPU控制模块10连接,CPU接口电路201分别与编码电路203、解码电路204、UART数据传输电路206、定时电路207、单、双错计数电路209和SEL计数电路210连接,自刷新电路202分别与编码电路203和解码电路204连接,具有自刷新功能,当单芯片失效重置后有在很短时间内即可刷新整个SRAM模块30;SEL计数电路210通过SRAM电压监控电路208与SRAM控制电路205连接,SRAM控制电路205与编码电路203连接,单、双错计数电路209与解码电路204连接。
在本发明中,FPGA控制器20采用单片反熔丝FPGA或FLASH型FPGA对系统进行译码与编解码操作。
在本发明中,FPGA控制器20采用了读->双错->重试的操作方式,有效防止了电路干扰;由于FPGA控制器20采取的编码方案只能纠正单个字节的错误,若发生单字节错误则直接纠错,若错误数目为双字节,则不纠错而直接报告给控制逻辑以进行重试操作。
如图4所示,编码电路203和解码电路204采用了32位或64位有效数据位、16位校验位的编码机制,在写入过程中对32位或64位有效数据位进行运算生成16位的校验位。在读取过程中利用16位校验数据进行校验解码,若发生单符号错误则进行修复,若是双符号错则不进行纠错直接报告给控制逻辑单元。
在本发明中,CPU控制模块10采用8086芯片,由于8086芯片是16位的处理器并且有时会读取一个字节进行操作,而设计采用的是32位的存储器,所以需要对此进行读写控制,由于8086芯片对外部读写有T1、T2、T3、T4四个状态,其中T1状态是地址输出阶段,在读操作时是在T4状态进行读回数据,在写操作时是从T2至T4状态一直进行写操作,由此可以分析8086芯片的T2到T3状态是空闲的,这也为我们提供了一个从SRAM模块30中取数的机会。在每一次操作的T2、T3状态我们从SRAM模块30中读取数据,在T4状态下,若是读取数据则输出有效数据,若是写数据则与对原来读回的数据进行部分替换再次生成校验位并写入FPGA控制器20。
自刷新电路202的自刷新操作是在CPU控制模块10不读写SRAM模块30的情况下进行的。由于自刷新操作同样需要读出和写回时序,而在CPU控制模块10访问外设时会占用四个周期,因此我们利用CPU控制模块10访问外设时对SRAM模块30进行刷新操作,这与CPU控制模块10读写SRAM模块30类似,此处不再赘述。每执行一次读写IO的操作,就同时会刷新一个32位地址空间,大大提高了SRAM模块的刷新效率。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (8)
1.一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,其特征在于,所述方法是对星载计算机中CPU的程序存储区与重要数据存储区的SRAM模块的保护,每个所述SRAM模块单独连接有一个电源模块,所述电源模块包含一电源芯片,所述电源芯片为LDO MAX883芯片,对所述SRAM模块的电压进行监控并独立控制,当SRAM模块发生闩锁事件时,会产生很大的闩锁电流,从而拉低电源芯片的VCC_MEM端的电压,使之低于5V,电源芯片内部提供了一个低电压比较器;电源芯片的MEN_LU端接入FPGA控制器,用于监控SRAM模块的供电情况,当电源芯片的MEM_LU端出现低电平时,FPGA控制器可以通过电源芯片的MEM_OFF端关断发生闩锁的SRAM模块的电源,使其不影响其它SRAM模块的正常工作,过一段时间后,再将其电源通过电源芯片的MEM_SET端打开,再进行刷新以及其它操作;所述星载计算机中的CPU控制模块通过FPGA控制器对所述SRAM模块进行译码与编解码操作。
2.如权利要求1所述的方法,其特征在于,所述FPGA控制器通过RS编解码电路对所述SRAM模块进行译码与编解码操作,有效防止了CPU控制模块的损坏对系统的影响。
3.如权利要求2所述的方法,其特征在于,所述FPGA控制器采用单片反熔丝FPGA或FLASH型FPGA。
4.如权利要求1所述的方法,其特征在于,所述FPGA控制器还包括一自刷新模块,当CPU控制模块失效重置后,对所述SRAM模块进行刷新。
5.如权利要求1所述的方法,其特征在于,所述FPGA控制器在操作时,若发生单字节错误则直接纠错,若错误数目为双字节,则不纠错而直接报告给控制逻辑以进行重试操作,有效防止了电路干扰。
6.如权利要求1所述的方法,其特征在于,所述电源芯片的VCC端连接电源输入,所述电源芯片的VCC_MEM端直接向所述SRAM模块供电,所述电源芯片的VCC_MEM端通过一分压电路后反馈输入所述电源芯片的MEN_SENSE端。
7.如权利要求6所述的方法,其特征在于,为了方便检测所述电源模块,在所述电源芯片的VCC_MEM端添加了一个发光二级管和一个短路跳线用来模拟单粒子闩锁产生的大电流。
8.如权利要求1所述的方法,其特征在于,所述FPGA控制器包含CPU接口电路、自刷新电路、编码电路、解码电路、SRAM控制电路、UART数据传输电路、定时电路、SRAM电压监控电路、单、双错计数电路和SEL计数电路;所述FPGA控制器通过所述CPU接口电路与所述CPU控制模块连接,所述CPU接口电路分别与所述编码电路、解码电路、UART数据传输电路、定时电路、单、双错计数电路和SEL计数电路连接,所述自刷新电路分别与所述编码电路和解码电路连接,所述SEL计数电路通过所述SRAM电压监控电路与所述SRAM控制电路连接,所述SRAM控制电路与所述编码电路连接,所述单、双错计数电路与所述解码电路连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100534614A CN101582294B (zh) | 2009-06-19 | 2009-06-19 | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100534614A CN101582294B (zh) | 2009-06-19 | 2009-06-19 | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101582294A CN101582294A (zh) | 2009-11-18 |
CN101582294B true CN101582294B (zh) | 2012-02-22 |
Family
ID=41364399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100534614A Expired - Fee Related CN101582294B (zh) | 2009-06-19 | 2009-06-19 | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101582294B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937375B (zh) * | 2010-08-27 | 2013-07-31 | 浙江大学 | 皮卫星中央处理器的代码、数据实时纠检错方法及装置 |
CN104597807B (zh) * | 2014-12-10 | 2018-03-13 | 深圳航天东方红海特卫星有限公司 | 一种星载综合电子cpu翻转加固系统及方法 |
CN105741872B (zh) * | 2016-02-02 | 2019-07-23 | 北京时代民芯科技有限公司 | 适用于宇航用fpga的加固配置存储器阵列及配置方法 |
CN106341110B (zh) * | 2016-08-22 | 2019-02-12 | 北京空间飞行器总体设计部 | 一种具有反馈实时自动纠错能力的数据锁存装置 |
CN106708655B (zh) * | 2017-02-16 | 2021-07-16 | 中云信安(深圳)科技有限公司 | 基于二维纠错码的内存加固方法及电路 |
-
2009
- 2009-06-19 CN CN2009100534614A patent/CN101582294B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101582294A (zh) | 2009-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102117662B (zh) | 用于8-位存储器设备的差错校正机制 | |
US9317366B2 (en) | Protocol checking logic circuit for memory system reliability | |
CN101582294B (zh) | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 | |
US9116700B2 (en) | Computer memory power management | |
CN103703447B (zh) | Mram场的干扰检测和恢复 | |
CN106445843A (zh) | 使物理页面地址相关用于软判决解码 | |
CN104932954A (zh) | 微小卫星fpga关键数据保护方法 | |
CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
CN104579313A (zh) | 一种基于配置帧的在轨sram型fpga故障检测与修复方法 | |
CN105468470A (zh) | 一种d触发看门狗mcu监控电路及其使用方法 | |
CN103413571B (zh) | 存储器和利用该存储器实现检错纠错的方法 | |
CN103092728A (zh) | 一种非易失性内存的磨损错误恢复方法和装置 | |
KR20210029661A (ko) | 메모리 액세스와 관련하여 결함 있는 비트 라인 관리 | |
CN102324251B (zh) | 用以指示存储器中的编程失败的信号线 | |
US9172371B2 (en) | Majority dominant power scheme for repeated structures and structures thereof | |
US9264021B1 (en) | Multi-bit flip-flop with enhanced fault detection | |
CN109426582A (zh) | 用于存储装置为错误处置进行数据处理的方法及控制器 | |
CN101916213A (zh) | 基于arm处理器的空间防护装置及方法 | |
CN111630601B (zh) | 用于存储器控制器的安全增强 | |
CN104750577A (zh) | 面向片上大容量缓冲存储器的任意多位容错方法及装置 | |
Maric et al. | Efficient cache architectures for reliable hybrid voltage operation using EDC codes | |
Seyedi et al. | Circuit design of a novel adaptable and reliable L1 data cache | |
Alam | Lightweight Opportunistic Memory Resilience | |
Lu et al. | Architectural-level error-tolerant techniques for low supply voltage cache operation |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120222 Termination date: 20170619 |