[发明专利]一种高效安全的计算机在线自检方法及自检装置有效
申请号: | 201310088832.9 | 申请日: | 2013-03-19 |
公开(公告)号: | CN103176876A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 孙军峰;王澜;崔丹;耿进龙;张磊;徐军;汪明新 | 申请(专利权)人: | 卡斯柯信号有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵继明 |
地址: | 200070 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 安全 计算机 在线 自检 方法 装置 | ||
技术领域
本发明涉及一种安全(Safety)领域内设备自检方法及装置,尤其是涉及一种高效安全的计算机在线自检方法及自检装置。
背景技术
在线自检是实现计算机平台安全运行的基础。一般是对计算机平台的CPU、内存进行周期式的检测,确保计算机平台的安全性,在检测到硬件失效后及时、有效地进行必要的干预。CPU检测通常执行效率很高,可以在很短的时间内完成;内存检测通常待测区域非常大,高安全的检测算法复杂度较高,往往耗时非常长。
随着嵌入式领域对安全越来越重视,安全计算机通信数据量大、通信行为的不确定性和应用处理时间较长,往往使CPU占用率过高,用于执行内存检测的时间非常短,而内存待测区域又非常大。那么就会面临下列问题:
1、自检周期的问题:随着通信量的增加和应用的丰富,计算机平台会使用更大的内存,以满足日益增长的通信和应用开销。在线自检所花费的时间会越来越多,自检周期往往会达到数小时级甚至数十小时级别。
2、诊断覆盖率的问题:为了保证在线自检的高效,在线自检通常会采用诊断覆盖率相对较低的技术,在提高在线自检效率的同时会牺牲一定的安全性。对于未使用到的内存,现有的技术通常使用Abraham算法进行检测,或是不对其进行测试。使用Abraham算法检测使得内存的检测周期非常的长,尤其是通信量的增大和应用的丰富,使得内存容量达到数百MB甚至几GB。往往达到数小时级别甚至数十小时级别。不对未使用的内存进行检测会使整个内存的诊断覆盖率降低,无法达到算法预期的99%。
3、现有的高安全性在线检测算法执行效率问题:对于使用到的内存检测通常采用Abraham算法,使用32位处理器对一个N个字长的内存块进行检测,目前最优算法的复杂度为30N×m,其中,算法复杂度为30N,需要采用m组测试数据。在带有cache的处理器中,内存检测的时候会直接读取cache中的数据,无法真正起到检测内存的目的,会给算法的诊断覆盖率带来一定的影响。为了保证cache不影响到内存检测算法的有效性,会采用禁用cache和等待cache数据过期的办法,这样的方法会导致内存检测的耗时过长。
4、在线自检的内存资源与其它功能耦合强的问题:在线自检作为安全计算机的一部分,往往会将使用的内存与计算机其它功能和操作系统所使用内存相互混合在一起,增加了数据存储的耦合性。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种自检周期短、诊断覆盖率高、执行效率高、内存资源独立的高效安全的计算机在线自检方法及自检装置。
本发明的目的可以通过以下技术方案来实现:
一种高效安全的计算机在线自检方法,包括以下步骤:
1)启动在线自检装置,设备初始化模块初始化在线自检任务,并分配各在线自检任务所需使用的内存空间;
2)获取在线自检的内存测试所必须的内存信息;
3)获取预先设计好的测试数据和预期结果;
4)设备初始化模块判断是否获取到继续执行在线自检的信号,若为是,则执行步骤5);若为否,则继续执行步骤4);
5)CPU检测模块进行CPU检测,若未检测到故障,则执行步骤6);若检测到故障,则执行步骤8);
6)内存检测模块对不可变内存进行检测,若未检测到故障,则执行步骤7);若检测到故障,则执行步骤8);
7)内存检测模块对可变内存进行检测,若未检测到故障,则执行步骤4);若检测到故障,则执行步骤8);
8)失效处理:失效处理模块对检测到的故障进行相应处理,并将故障信息进行显示报警和记录。
所述的CPU检测寄存器测试和指令测试。
所述的内存检测模块可变内存测试和不可变内存测试。
所述的寄存器测试的测试内容包括各寄存器的固定故障和寄存器之间的耦合故障。
所述的指令测试具体为:根据预先设计好的测试数据和预期结果,以测试数据作为输入源,判断输入源运算得到的结果与输入源对应的预期结果是否一致,若是,则指令测试通过,若否,则指令测试不通过。
所述的可变内存测试采用的算法在不降低诊断覆盖率的前提下降低算法复杂度,且无需考虑cache的影响。
所述的不可变内存测试采用的算法为在不降低诊断覆盖率的前提下复杂度为32N的校验算法。
一种高效安全的计算机在线装置,包括设备初始化模块、CPU检测模块、内存检测模块和失效处理模块,所述的设备初始化模块、CPU检测模块、内存检测模块依次连接,失效处理模块分别连接CPU检测模块和内存检测模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡斯柯信号有限公司,未经卡斯柯信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310088832.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种载重货车后悬架系统与载重货车
- 下一篇:板簧支架、车辆悬架系统