本发明涉及ram在线自检技术领域,特别涉及一种实时操作系统下ram在线自检实现方法及系统。
背景技术:
工业安全计算机是一种安全苛求设备,也是轨道交通信号控制系统中大部分的车载atp设备、联锁(ci)、区域控制器(zc)和数据存储单元(dsu)中的核心设备。由于安全计算机的应用程序及应用数据均存放在ram中,因此,ram在线自检技术则是保证其安全性、可靠性的最基本的安全技术之一。
在线自检的核心在于采用有高覆盖率的动态检测措施,故障后导向并保持在安全状态。但是不管是marchc算法还是abraham算法,虽然都是高覆盖率的ram自检技术,但是如果直接用于安全计算机的ram在线自检,都存在耗时长、影响系统实时性的缺陷。
为解决上述缺陷,传统采用将ram分段后进行逐段测试,但这种方式使得分段后的ram单元之间耦合失效几乎不可测,影响了检测覆盖率,因此采用ram分段的方式,并未解决在高覆盖率的动态检测下,ram在线自检耗时短,操作系统实用性强的需求。
技术实现要素:
本发明的目的在于实现在高覆盖率的动态检测下,减少ram在线自检的耗时时长,提高了ram在线自检的执行效率,同时操作系统实用性较强。
为实现以上目的,本发明采用一种实时操作系统下ram在线自检实现方法,包括如下步骤:
s1:将待测ram划分成多个不重叠的独立区域di;
s2:将每个独立区域di划分成若干个不重叠的独立单元diui;
s3:分别依次在每个独立单元diui中运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务;
s4:判断整个ram在线自检任务是否正常,若是,则进入步骤s5,若否,则结束自检;
s5:循环进入步骤s1,以重新对ram进行区域划分。
进一步地,在步骤s3:分别依次在每个独立单元中diui运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务中,包括:
在每个任务周期m内定时运行其中一独立单元diui中的ram在线自检;
在规定时间t内完成的整个ram在线自检任务,其中t≥m×i×j。
进一步地,在步骤s5:循环进入步骤s1,以重新对ram进行区域划分中;
重新划分的独立区域di’不同于独立区域di,重新划分的独立单元di’uj’不同于独立单元diui。
进一步地,所述的独立区域di’的位置和大小均不用于独立区域di,独立单元di’uj’的位置和大小均不用于独立单元diui。
进一步地,所述的独立区域di’和独立区域di随机划分,独立单元di’uj’和独立单元diui随机划分。
进一步地,在步骤s3:分别依次在每个独立单元diui中运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务中,ram在线自检采用march-tb算法进行内存故障检测。
一种计算机ram在线自检系统,包括区域划分模块、单元划分模块、ram自检模块和判断模块;
区域划分模块用于将待测ram划分成多个不重叠的独立区域di;
单元划分模块用于将每个独立区域di划分成若干个不重叠的独立单元diui;
ram自检模块用于分别依次在每个独立单元diui中运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务;
判断模块用于判断整个ram在线自检任务是否正常,若是,则进入区域划分模块,若否,则结束自检。
一种计算机ram在线自检装置,包括储存器、处理器以及储存在所述储存器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现所述ram在线自检方法。
一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行所述的ram在线自检方法。
与现有技术相比,本发明存在以下技术效果:通过将ram进行随机单元划分,克服固定区段划分带来的ram单元之间耦合失效,保证ram在线自检的高覆盖率;同时对每次划分的独立单元进行ram在线自检,可以保证在高覆盖率下,缩短了ram的自检时间,提高了ram在线自检执行效率,进而提高了计算机操作系统的实时性。
附图说明
下面结合附图,对本发明的具体实施方式进行详细描述:
图1是一种实时操作系统下ram在线自检实现方法的步骤流程图。
具体实施方式
为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1所示,一种实时操作系统下ram在线自检实现方法,包括
如下步骤s1至s6:
s1:将待测ram划分成多个不重叠的独立区域di;
即,将ram划分成i个独立区域d1、d2、…di。独立区域di的划分是随机的。
s2:将每个独立区域di划分成若干个不重叠的独立单元diui;
即,将每个独立区域di划分成j个独立的单元diu1、diu2、…diuj;因此整个ram被划分成(i×j)个独立单元,其中独立单元diui划分也是随机的。
s3:分别依次在每个独立单元diui中运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务;
ram在线自检采用march-tb算法进行内存故障检测。自检如下:先将一个测试数据写入ram一个独立单元diui中,再从ram的相应独立单元diui里读取存储值,如果测试数据与存储值不同,进入安全状态。使用的测试数据位0x55555555、0xaaaaaaaa、0x33333333、0x99999999、0xcccccccc、0x66666666、0x00000000、0xffffffff、0xf0f0f0f0、0x0f0f0f0f,要将全部测试数据都写入一遍。
本申请针对的是带有实时操作系统的工业安全计算机的ram在线自检,上述的安全状态为工业安全计算机里的术语,安全状态可以理解为结束ram自检。
s4:判断整个ram在线自检任务是否正常,若是,则进入步骤s5,若否,则;
s5:循环进入步骤s1,以重新对ram进行区域划分。
s6:结束ram在线自检。
ram在线自检的核心在于采用有高覆盖率的动态检测措施,计算机故障后,将结束ram在线自检,工业安全计算机此时会导向并保持在安全状态。在步骤s1至s6,针对现有技术在进行ram在线检测中,将ram分段后进行逐段测试时,分段后的ram单元之间耦合失效的问题,本申请将整个ram进行区域划分,并在整个ram独立区域和独立单元的划分过程中均具有随机性,克服固定区段划分带来的ram单元之间耦合失效,保证ram在线自检的高覆盖率;同时也能提高ram在线自检执行效率,进而提高计算机操作系统的实时性。
优选地,在步骤s3:分别依次在每个独立单元中diui运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务中,包括步骤s31至s32:
s31:在每个任务周期m内定时运行其中一独立单元diui中的ram在线自检;
任务周期m可以根据ram在线自检的速度或者以及操作系统的自检要求进行事先设定,同时任务周期m可以修改。在每个任务周期m内,仅运行一个独立单元diui;在分别运行独立单元diui时,上一独立单元中ram在线自检运行完成后,可以随机进行下一个独立单元的ram在线自检,也可以是按照已经顺序进行下一个独立单元的ram在线自检。
s32:在规定时间t内完成的整个ram在线自检任务,其中t≥m×i×j。
因此每个任务周期m内仅能定时运行其中一个独立单元,因此要运行完整个ram在线自检任务,最低需要的时间为(m×i×j);当完成整个ram在线自检任务的时间低于(m×i×j),则表示存在未被自检的区域或单元,则需要重新在规定时间t内完成的整个ram在线自检任务,以保证整个ram在线自检任务的准确完成。
在步骤s31至s32,实现对整个ram的在线自检,同时对每次重新划分的独立单元进行ram在线自检,可以保证在高覆盖率下,缩短了ram的自检时间。
优选地,在步骤s5:循环进入步骤s1,以重新对ram进行区域划分中;重新划分的独立区域di’不同于独立区域di,重新划分的独立单元di’uj’不同于独立单元diui。所述的独立区域di’随机划分,独立单元di’uj’随机划分。
所述的独立区域di’的位置和大小均不用于独立区域di,独立单元di’uj’的位置和大小均不用于独立单元diui。
将ram分段后进行逐段测试时,设置各个独立区域的大小和位置均不同的作用是克服ram固定分段导致的单元之间耦合失效不可测,影响检测覆盖率的缺陷,保证了ram在线自检的高覆盖率,提高了ram在线自检的执行效率。
一种计算机ram在线自检系统,包括区域划分模块、单元划分模块、ram自检模块和判断模块;
区域划分模块用于将待测ram划分成多个不重叠的独立区域di;
单元划分模块用于将每个独立区域di划分成若干个不重叠的独立单元diui;
ram自检模块用于分别依次在每个独立单元diui中运行ram在线自检,得到在规定时间内完成的整个ram在线自检任务;
判断模块用于判断整个ram在线自检任务是否正常,若是,则进入区域划分模块,若否,则结束自检。
一种计算机ram在线自检装置,包括储存器、处理器以及储存在所述储存器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现所述ram在线自检方法。
一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行所述的ram在线自检方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。