[发明专利]非破坏性的内存在线测试方法有效
| 申请号: | 201310473227.3 | 申请日: | 2013-10-11 |
| 公开(公告)号: | CN103514071B | 公开(公告)日: | 2017-01-18 |
| 发明(设计)人: | 袁跃峰;张小林;林先贤 | 申请(专利权)人: | 上海富欣智能交通控制有限公司 |
| 主分类号: | G06F11/22 | 分类号: | G06F11/22 |
| 代理公司: | 上海浦一知识产权代理有限公司31211 | 代理人: | 孙大为 |
| 地址: | 201203 上海市浦东新*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 破坏性 内存 在线 测试 方法 | ||
技术领域
本发明属于软件算法领域,用于在线检测内存执行功能的正确性。
背景技术
在工业控制系统和安全信号系统(应用于航空电子、铁路信号、核电等行业)中,易失性存储器功能安全是所有安全组件中非常关键的一个,由于这类存储器可以随意存储和修改,灵活性很高,极大地改善了程序的执行效率,但同时给系统带来很大的安全隐患,在安全领域常常需要对内存做周期性检查,确保及时发现内存错误,启动故障管理机制,及时采取安全措施以避免更为严重的事故发生。
内存故障模式比较明确,可以分为三类(固定故障,耦合故障,保持信息故障)安全领域对于内存在线检测一直是业界的难点,通常的做法如下:
1.破坏性测试方法
简单测试法:交替写入0x55和0xAA,并把数据读回,确认内存区是否正常。这种方法测试速度快,但对于耦合故障较难检测到。
走步测试法:遍历每个单元,判断每一个单元能否写入0和1,并确认任一单元写入0或1时是否造成其它任意单元的状态改变,以及检查译码器寻址是否正确.这种方法测试效率较低,对于大容量内存,测试时间非常长。
2.非破坏性测试方法
快速取反校验法:首先从存储字节单元i中读出一个字节,将其取反,然后将该反码写回到存储单元i之中,并同时存入CPU的一个寄存器中.此后再从存储单元i中读出这个反码数据,并同存于寄存器中的反码作比较.最后重复上面的过程,以恢复原来的数据.这种方法对于检查取数速率故障和存储位固定型故障有效,但查找耦合故障无效。
错误检查和纠正ECC(Error Check Correction)方法:如果所选择CPU上的内存控制器带有ECC功能,可利用ECC算法来检测内存的错误。该方法优点是检测速度极快,不影响正常的程序运行。缺点一在于需要额外的内存做支持,缺点二在于只能检测双比特错误,超过2个比特无法检出。
发明内容
本发明所要解决的技术问题是提供一种非破坏性的内存在线测试方法,它可以实现对大容量内存的安全检测,解决在高实时性安全系统中,处于内存检查情况下,对中断响应的延时问题;既提高内存故障检测覆盖率又不破坏内存的关键静态数据。
为了解决以上技术问题,本发明提供了一种非破坏性的内存在线测试方法;包括以下步骤:确定对一个内存做一次完整检测所需要的时间上限;把内存检测分布到任务主程序每个周期运行的空闲时间去执行,每个周期会检测内存的一部分,这些周期累计检测完内存的时间不能超过上述规定的时间;把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,保证对中断或生命信号的响应时间;备份所测的内存片,再对该内存片采用破坏性测试方法,然后恢复被校验的内存片。
本发明的有益效果在于:实现了对大容量内存的安全检测问题,解决了在高实时性安全系统中,处于内存检查情况下,对中断响应的延时问题;使用本身属于破坏性的方法应用于非破坏性的内存在线检测中,既提高了内存故障检测覆盖率又不破坏内存的关键静态数据。
依次执行上述步骤,直到所有内存片轮流执行完毕。
备份所测的内存片,再对该内存片采用破坏性测试方法March进行测试。
结合内存失效率,确定对一个内存做一次完整检测所需要的时间上限,在这个规定的时间内必须完成内存的完整检测;
把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,该时间片根据实际的内存大小确定。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是本发明所述方法的示意图。
具体实施方式
本发明公开了一种在安全关键系统中检测内存RAM工作状况的方法。本算法可被任务主程序每周期空闲时间调度一次,或分散到多个周期的空闲时间完整执行一次,用于检测RAM是否发生了硬件故障。本发明针对RAM的功能故障模式,采用非破坏数据的方式对内存做了完整在线测试,此方法特别适合安全关键系统中对于RAM的功能监控,具有良好的安全性和实践性。可应用于铁路电子,航空航天,核电系统等安全关键领域中对于内存功能的状态监控。基于以上几点,本发明对上述算法做了更高层次的算法改进,克服了以上方法一些缺点,达到在线覆盖内存功能故障的目的。
本发明提供一种非破坏性的内存在线测试方法,该算法能够应用于包括但并不局限于安全信号系统、工业控制系统等领域。
如图1所示,本发明整个算法可以分四个阶段:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海富欣智能交通控制有限公司,未经上海富欣智能交通控制有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310473227.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:防止闲置锅炉腐蚀的方法
- 下一篇:一种铝器亮光软膏其及铝器亮光的方法





