一种面向SRAM的抗SEU错误累积的控制器及方法技术

技术编号:9873037 阅读:132 留言:0更新日期:2014-04-04 09:40
本发明专利技术公开了一种面向SRAM的抗SEU错误累积的控制器及方法,包括:寄存器组、访存信息生成电路、访存状态转移控制电路、校验码解码模块、rdata寄存器、多路选择器、EDAC编码模块、pdata寄存器、wdata寄存器。当处理器进行访问主存之外的其它操作时,由处理器的存储器控制器自主的对所有的存储单元进行遍历式的读→校验→回写操作,遍历式刷新操作以最基本的SRAM存储单元为单位,每当完成一个存储单元的刷新操作,刷新地址递增,控制状态机回到空闲态,重新检测处理器是否存在访存操作。本发明专利技术充分利用系统的空闲时间,在不影响处理器性能的基础上,避免了SRAM存储单元的SEU错误累积。

【技术实现步骤摘要】
—种面向SRAM的抗SEU错误累积的控制器及方法
本专利技术专利属于容错
,涉及一种面向SRAM的抗SEU错误累积的控制器及方法。
技术介绍
SRAMCStatic Random Access Memory),即静态随机访问存储器,其主要优点如下:(I)不需要刷新就可以保持数据;(2)读写访问周期短。在相同的条件下,SRAM比DRAM具有更高的性能和可靠性,在航天、航空等实时性要求较高的电子系统中应用广泛。随着SRAM制造工艺的进步、核心电压的降低,SRAM在恶劣环境下发生单粒子翻转(Single-event Upset, SEU)的可能性迅速提高。目前的工程实践证明,SEU是空间环境中发生概率最高的一类软错误,且SEU在SRAM中只引起一个Bit位的翻转。为了保证SRAM使用过程中的可靠性,系统设计人员多采用基于汉明码的纠一检二石马(single-error correction and double-error detection, SEC-DEC)对 SRAM 中出现的SEU错误进行纠正。然而,纠错码的纠检错操作并不是实时进行的,因此当SRAM存储体中由SEU引起的错误Bit位出现累积,且超过SEC-DEC的纠检错能力时,将无法保证SRAM中指令或者数据的正确性,最终导致数字系统的故障、甚至瘫痪。目前,主要采用两种刷新(scrubbing)技术避免SEU效应引起的错误在SRAM中的累积,这里刷新的定义为对存储单元进行读一校验一回写的过程。这两种技术为定时刷新(deterministic scrubbing)和概率刷新(probabilistic scrubbing), (I)定时刷新:每经过一定的刷新间隔,处理器对SRAM的所有存储单元进行一次刷新操作。(2)概率刷新:处理器对SRAM某存储单元进行读操作时,会进行校验,如果发生可纠正的错误,则进行回写操作。定时刷新技术中,如果两次刷新操作之间的时间间隔过大,则无法有效避免SEU错误积累,如果时间间隔较小,则严重降低了系统性能,该技术已经不能满足当前电子系统的实时性应用要求。概率刷新技术已经取得工程应用,在一定程度上解决了 SEU积累的问题,如空间计算机抗单粒子翻转的存储器纠检错自动回写方法(ZL200510041617.9)、一种存储器抗单粒子翻转的纠错检错方法(ZL200810112421.8)。然而,概率刷新技术只能针对发生读操作的存储单元进行刷新操作,对于长时间不进行读操作的SRAM存储单元无法进行刷新,因此无法避免部分SRAM存储单元(不进行读操作的SRAM存储单元)的SEU错误不断累积。
技术实现思路
本专利技术解决的技术问题在于提供一种面向SRAM的抗SEU错误累积的控制器及方法,充分利用系统的空闲时间,在不影响处理器性能的基础上,避免了 SRAM存储单元的SEU错误累积。本专利技术专利是通过以下技术方案来实现:一种面向SRAM的抗SEU错误累积的控制器,在片内总线和外部总线之间设置存储器控制器,该存储器控制器包括:寄存器组,为存储器控制器的控制寄存器,处理器通过片内总线对其进行读写操作,寄存器组生成访存控制信息并输出连接至访存信息生成电路;访存信息生成电路,其输入来自片内总线和寄存器组,输出访存操作信号组合并连接至访存状态转移控制电路;访存操作信号组合包括处理器的读标志信号、写标志信号和数据纠检错使能信号,当处理器进行读操作时,读标志信号有效,当处理器进行写操作时,写标志信号有效;当处理器未进行读写操作时,读标志信号、写标志信号均无效,若寄存器组中的EDAC使能,则数据纠检错使能信号有效,否则无效;访存状态转移控制电路,其输入来自访存信息生成电路和校验码解码模块,输出与外部总线、校验码解码模块及多路选择器的控制端连接;当寄存器组中的EDAC使能时,访存状态转移控制电路输出给校验码解码模块的检验使能信号有效,校验码解码模块进行数据校验,并将校验结果输出至访存状态转移控制电路,当出现可纠正错误时,访存状态转移控制电路的输出单错标志信号有效(高电平),单错标志信号连接至多路选择器的控制端;当访存状态转移控制电路在读状态或写状态时,输出SRAM的片选信号、读写信号及地址信息至外部总线;校验码解码模块,将取自外部总线的数据及其校验位进行校验,并将数据输出至rdata寄存器,将校验结果输出至访存状态转移控制电路;rdata寄存器,其输出连接至多路选择器的输入端和片内总线;多路选择器,输入分别来自片内总线和rdata寄存器,输出至wdata寄存器和EDAC编码模块;当来自访存状态转移控制电路的单错标志信号有效时,选择rdata寄存器的数据输出,否则输出内部总线的数据;EDAC编码模块,将来自多路选择器的数据按规则编码,并将七位校验码输出至pdata寄存器;wdata寄存器,将多路选择器输出的数据经过寄存后,输出至外部总线;pdata寄存器,将EDAC编码模块的数据经过寄存器后,输出至外部总线。当处理器对主存进行读操作时,由存储器控制器自主的对读操作的存储单元进行读一校验一回写的刷新操作;当处理器进行访主存以外的其它操作时,由存储器控制器自主的对所有的存储单元进行遍历式的读一校验一回写的刷新操作。一种基于所述面向SRAM的抗SEU错误累积的控制器的控制方法,包括以下操作:Stepl:当访存状态转移控制电路在空闲时,存储器控制器检测处理器是否存在针对SRAM的读写访存操作;Step2:检测是否存在处理器读操作,如果没有读操作,执行Step3 ;否则转向SteplO ;St印3:检测是否存在处理器写操作,如果没有写操作,执行St印4;否则转向Stepl5 ;Step4:访存状态转移控制电路进入SRAM遍历刷新读操作状态,进行遍历刷新的读操作,根据刷新地址读取SRAM对应地址的数据D和校验位B,并将其发送到校验码解码模块;Step5:校验码解码模块根据St印4读出的数据D,按校验码生成方程组计算其校验位B1,对比B和B1,得出校验结果U并发送给访存状态转移控制电路,U=U0 U U1 U U2, U0表示无错,U1表示可纠正的单错,U2表示不可纠正的多位错误;Step6:访存状态转移控制电路判断St印5的校验结果U是否属于Utl,若U e Utl,则刷新地址加0x4,执行St印7,否则执行St印8 ;Step7:访存状态转移控制电路跳转回空闲状态,结束;St印8:判断U是否属于U1,若U e U1,执行St印9,否则刷新地址加0x4,转向执行Step7 ;Step9:刷新地址不变,访存状态转移控制电路进入SRAM刷新写操作状态,进行遍历刷新的写操作,根据刷新地址将校验码解码模块校验后的数据和校验位写入对应存储单元,写入完成后,访存状态转移控制电路刷新地址加0x4,通过计数器对时间倒计,计数器倒计为O后,转向执行Step7 ;SteplO:访存状态转移控制电路进入SRAM读操作状态,进行处理器的读操作,并根据处理器访存地址读取对应地址的数据D和校验位B ;Stepll:根据SteplO读出的数据D,按校验码生成方程组计算其校验位B1,对比B和B1,得出校验结果U, U=U0 U U1 U U2, Uci表示无错,U1表示可纠正的单错,本文档来自技高网
...

【技术保护点】
一种面向SRAM的抗SEU错误累积的控制器,其特征在于,在片内总线和外部总线之间设置自动执行刷新动作的存储器控制器,该存储器控制器包括:寄存器组,为存储器控制器的控制寄存器,处理器通过片内总线对其进行读写操作,寄存器组生成访存控制信息并输出连接至访存信息生成电路;访存信息生成电路,其输入来自片内总线和寄存器组,输出访存操作信号组合并连接至访存状态转移控制电路;访存操作信号组合包括处理器的读标志信号、写标志信号和数据纠检错使能信号,当处理器进行读操作时,读标志信号有效,当处理器进行写操作时,写标志信号有效;当处理器未进行读写操作时,读标志信号、写标志信号均无效,若寄存器组中的EDAC使能,则数据纠检错使能信号有效,否则无效;访存状态转移控制电路,其输入来自访存信息生成电路和校验码解码模块,输出与外部总线、校验码解码模块及多路选择器的控制端连接;当寄存器组中的EDAC使能时,访存状态转移控制电路输出给校验码解码模块的检验使能信号有效,校验码解码模块进行数据校验,并将校验结果输出至访存状态转移控制电路,当出现可纠正错误时,访存状态转移控制电路的输出单错标志信号有效,单错标志信号连接至多路选择器的控制端;当访存状态转移控制电路在读状态或写状态时,输出SRAM片选信号、读写信号及地址信息至外部总线;校验码解码模块,将取自外部总线的数据及其校验位进行校验,并将数据输出至rdata寄存器,将校验结果输出至访存状态转移控制电路;rdata寄存器,其输出连接至多路选择器的输入端和片内总线;多路选择器,输入分别来自片内总线和rdata寄存器,输出至wdata寄存器和EDAC编码模块;当来自访存状态转移控制电路的单错标志信号有效时,选择rdata寄存器的数据输出,否则输出内部总线的数据;EDAC编码模块,将来自多路选择器的数据按规则编码,并将七位校验码输出至pdata寄存器;wdata寄存器,将多路选择器输出的数据经过寄存后,输出至外部总线;pdata寄存器,将EDAC编码模块的数据经过寄存器后,输出至外部总线。...

【技术特征摘要】
1.一种面向SRAM的抗SEU错误累积的控制器,其特征在于,在片内总线和外部总线之间设置自动执行刷新动作的存储器控制器,该存储器控制器包括: 寄存器组,为存储器控制器的控制寄存器,处理器通过片内总线对其进行读写操作,寄存器组生成访存控制信息并输出连接至访存信息生成电路; 访存信息生成电路,其输入来自片内总线和寄存器组,输出访存操作信号组合并连接至访存状态转移控制电路;访存操作信号组合包括处理器的读标志信号、写标志信号和数据纠检错使能信号,当处理器进行读操作时,读标志信号有效,当处理器进行写操作时,写标志信号有效;当处理器未进行读写操作时,读标志信号、写标志信号均无效,若寄存器组中的EDAC使能,则数据纠检错使能信号有效,否则无效; 访存状态转移控制电路,其输入来自访存信息生成电路和校验码解码模块,输出与外部总线、校验码解码模块及多路选择器的控制端连接;当寄存器组中的EDAC使能时,访存状态转移控制电路输出给校验码解码模块的检验使能信号有效,校验码解码模块进行数据校验,并将校验结果输出至访存状态转移控制电路,当出现可纠正错误时,访存状态转移控制电路的输出单错标志信号有效,单错标志信号连接至多路选择器的控制端;当访存状态转移控制电路在读状态或写状态时,输出SRAM片选信号、读写信号及地址信息至外部总线.校验码解码模块,将取自外部总线的数据及其校验位进行校验,并将数据输出至rdata寄存器,将校验结果输出至访存状态转移控制电路; rdata寄存器,其输出连接至多路选择器的输入端和片内总线; 多路选择器,输入分别来自片内总线和rdata寄存器,输出至wdata寄存器和EDAC编码模块;当来自访存状态转移控制电路的单错标志信号有效时,选择rdata寄存器的数据输出,否则输出内部总线的数据; EDAC编码模块,将来自多路选择器的数据`按规则编码,并将七位校验码输出至Pdata寄存器; wdata寄存器,将多路选择器输出的数据经过寄存后,输出至外部总线; Pdata寄存器,将EDAC编码模块的数据经过寄存器后,输出至外部总线。2.如权利要求1所述的面向SRAM的抗SEU错误累积的控制器,其特征在于,当处理器对主存进行读操作时,由存储器控制器自主的对读操作的存储单元进行读一校验一回写的刷新操作;当处理器进行访主存以外的其它操作时,由存储器控制器自主的对所有的存储单元进行遍历式的读一校验一回写的刷新操作。3.一种基于权利要求1所述面向SRAM的抗SEU错误累积的控制器的控制方法,其特征在于,包括以下操作: Stepl:当访存状态转移控制电路在空闲时,存储器控制器检测处理器是否存在针对SRAM的读写访存操作;St印2:检测是否存在处理器读操作,如果没有读操作,执行Step3 ;否则转向SteplO ;St印3:检测是否存在处理器写操作,如果没有写操作,执行St印4 ;否则转向St印15 ;Step4:访存状态转移控制电路进入SRAM遍历刷新读操作状态,进行遍历刷新的读操作,根据刷新地址读取SRAM对应地址的数据D和校验位B,并将其发送到校验码解码模块;Step5:校验码解码模块根据St印4读出的数据D,按校验码生成方程组计算其校验位B1,对比B和B1,得出校验结果U并发送给访存状态转移控制电路,U=U0 U U1 U U2, U0表示无错,U1表示可纠正的单错,U2表示不可纠正的多位错误; Step6:访存状态转移控制电路判断St印5的校验结果U是否属于Utl,若U e Utl,则刷新地址加0x4,执行St印7,否则执行St...

【专利技术属性】
技术研发人员:陈庆宇艾刁王雯唐威吴龙胜
申请(专利权)人:中国航天科技集团公司第九研究院第七七一研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1