CN103514071B - 非破坏性的内存在线测试方法 - Google Patents
非破坏性的内存在线测试方法 Download PDFInfo
- Publication number
- CN103514071B CN103514071B CN201310473227.3A CN201310473227A CN103514071B CN 103514071 B CN103514071 B CN 103514071B CN 201310473227 A CN201310473227 A CN 201310473227A CN 103514071 B CN103514071 B CN 103514071B
- Authority
- CN
- China
- Prior art keywords
- internal storage
- internal memory
- time
- memory
- testing method
- 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.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种非破坏性的内存在线测试方法;包括以下步骤:确定对一个内存做一次完整检测所需要的时间上限;把内存检测分布到任务主程序每个周期运行的空闲时间去执行,每个周期会检测内存的一部分,这些周期累计检测完内存的时间不能超过上述规定的时间;把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,保证对中断或生命信号的响应时间;备份所测的内存片,再对该内存片采用破坏性测试方法,然后恢复被校验的内存片。本发明的有益效果在于实现了对大容量内存的安全检测问题,解决了在高实时性安全***中,处于内存检查情况下,对中断响应的延时问题;使用本身属于破坏性的方法应用于非破坏性的内存在线检测中,既提高了内存故障检测覆盖率又不破坏内存的关键静态数据。
Description
技术领域
本发明属于软件算法领域,用于在线检测内存执行功能的正确性。
背景技术
在工业控制***和安全信号***(应用于航空电子、铁路信号、核电等行业)中,易失性存储器功能安全是所有安全组件中非常关键的一个,由于这类存储器可以随意存储和修改,灵活性很高,极大地改善了程序的执行效率,但同时给***带来很大的安全隐患,在安全领域常常需要对内存做周期性检查,确保及时发现内存错误,启动故障管理机制,及时采取安全措施以避免更为严重的事故发生。
内存故障模式比较明确,可以分为三类(固定故障,耦合故障,保持信息故障)安全领域对于内存在线检测一直是业界的难点,通常的做法如下:
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所示,本发明整个算法可以分四个阶段:
第一阶段是确定对一个RAM做一次完整检测所需要的时间上限,比如24小时,这是根据安全***的需要,结合RAM的内存失效率(内存制造商提供数据),计算所得的时间,在这个规定的时间内必须完成RAM的完整检测;
第二阶段是把内存检测分布到任务主程序每个周期运行的空闲时间去执行,每个周期会检测内存的一部分,这些周期累计检测完内存的时间不能超过阶段一所规定的时间。
阶段三:把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,保证对中断或生命信号的响应时间。
阶段四:备份所测的内存片,再对该内存片采用覆盖率高的破坏性测试方法,比如March等。然后恢复被校验的内存片。依次执行,直到所有内存片轮流执行完毕。
这个片段可大可小,可根据实际的内存大小来确定。颗粒度不宜过小,否者影响破坏性方法对于耦合故障检测的效果。
本发明的优点是:
1.实现了对大容量内存的安全检测问题,解决了在高实时性安全***中,处于内存检查情况下,对中断响应的延时问题。
2.使用本身属于破坏性的March方法应用于非破坏性的内存在线检测中。既提高了内存故障检测覆盖率又不破坏内存的关键静态数据。
本发明并不限于上文讨论的实施方式。以上对具体实施方式的描述旨在于为了描述和说明本发明涉及的技术方案。基于本发明启示的显而易见的变换或替代也应当被认为落入本发明的保护范围。以上的具体实施方式用来揭示本发明的最佳实施方法,以使得本领域的普通技术人员能够应用本发明的多种实施方式以及多种替代方式来达到本发明的目的。
Claims (2)
1.一种非破坏性的内存在线测试方法;其特征在于,包括以下步骤:结合内存失效率,确定对一个内存做一次完整检测所需要的时间上限,在这个规定的时间内必须完成内存的完整检测;
把内存检测分布到任务主程序每个周期运行的空闲时间去执行,每个周期会检测内存的一部分,这些周期累计检测完内存的时间不能超过上述规定的时间上限;
把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,保证对中断或生命信号的响应时间;
备份所测的内存片,再对该内存片采用破坏性测试方法March进行测试,然后恢复被校验的内存片;
依次执行上述步骤,直到所有内存片轮流执行完毕。
2.如权利要求1所述的非破坏性的内存在线测试方法;其特征在于,把单个周期内内存检测的部分再细化颗粒度,分成多个时间片执行,该时间片根据实际的内存大小确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310473227.3A CN103514071B (zh) | 2013-10-11 | 2013-10-11 | 非破坏性的内存在线测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310473227.3A CN103514071B (zh) | 2013-10-11 | 2013-10-11 | 非破坏性的内存在线测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514071A CN103514071A (zh) | 2014-01-15 |
CN103514071B true CN103514071B (zh) | 2017-01-18 |
Family
ID=49896834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310473227.3A Active CN103514071B (zh) | 2013-10-11 | 2013-10-11 | 非破坏性的内存在线测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514071B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205484A (zh) * | 2016-12-19 | 2018-06-26 | 比亚迪股份有限公司 | 基于轨道交通的内存检测方法和装置 |
CN112685241A (zh) * | 2021-01-27 | 2021-04-20 | 中国科学院微电子研究所 | 一种多粒度的内存检测方法、内存设备以及电子设备 |
CN113918393B (zh) * | 2021-09-16 | 2024-04-23 | 盾构及掘进技术国家重点实验室 | 一种功能安全***内存检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999409A (zh) * | 2012-12-20 | 2013-03-27 | 迈普通信技术股份有限公司 | 一种内存测试方法及嵌入式设备 |
CN103176876A (zh) * | 2013-03-19 | 2013-06-26 | 卡斯柯信号有限公司 | 一种高效安全的计算机在线自检方法及自检装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6474636A (en) * | 1987-09-17 | 1989-03-20 | Fujitsu Ltd | Dummy online test method for terminal equipment |
-
2013
- 2013-10-11 CN CN201310473227.3A patent/CN103514071B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999409A (zh) * | 2012-12-20 | 2013-03-27 | 迈普通信技术股份有限公司 | 一种内存测试方法及嵌入式设备 |
CN103176876A (zh) * | 2013-03-19 | 2013-06-26 | 卡斯柯信号有限公司 | 一种高效安全的计算机在线自检方法及自检装置 |
Non-Patent Citations (2)
Title |
---|
A Software Based Online Memory Test For Highly Available Systems;Amandeep Singh 等;《Proceedings of the 11th IEEE International On-Line Testing Symposium》;20090708;第2页左栏第8-20行 * |
Online Periodic Self-Test Scheduling for Real-Time Processor-Based Systems Dependability Enhancement;Dimitris Gizopoulos;《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》;20090508;第6卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103514071A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
dos Santos et al. | Evaluation and mitigation of soft-errors in neural network-based object detection in three GPU architectures | |
Tiwari et al. | Understanding GPU errors on large-scale HPC systems and the implications for system design and operation | |
CN101833497B (zh) | 一种基于专家***方法的计算机故障管理*** | |
Oliveira et al. | Modern GPUs radiation sensitivity evaluation and mitigation through duplication with comparison | |
CN103176876A (zh) | 一种高效安全的计算机在线自检方法及自检装置 | |
Bridges et al. | Cooperative application/OS DRAM fault recovery | |
CN104579313B (zh) | 一种基于配置帧的在轨sram型fpga故障检测与修复方法 | |
US9275757B2 (en) | Apparatus and method for non-intrusive random memory failure emulation within an integrated circuit | |
Slijepcevic et al. | DTM: Degraded test mode for fault-aware probabilistic timing analysis | |
CN103761172B (zh) | 基于神经网络的硬件故障诊断*** | |
CN103514071B (zh) | 非破坏性的内存在线测试方法 | |
Oliveira et al. | GPGPUs ECC efficiency and efficacy | |
US20150268293A1 (en) | System and Method for Statistical Post-Silicon Validation | |
Yang et al. | Reliability assessment on 16 nm ultrascale+ MPSoC using fault injection and fault tree analysis | |
Lee et al. | Evaluation of error detection coverage and fault-tolerance of digital plant protection system in nuclear power plants | |
Kim et al. | A method for evaluating fault coverage using simulated fault injection for digitalized systems in nuclear power plants | |
CN112798943B (zh) | 一种基于标准输入输出验证的实时fpga错误检测方法 | |
CN202771317U (zh) | 一种基于divbit 技术的安全计算机 | |
Li et al. | An empirical study of memory hardware errors in a server farm | |
CN104731677A (zh) | 安全仪表变送器外部sram高可靠性存储与诊断方法 | |
Ryabtsev et al. | Implementation of memory in a system on a chip with built-in self-testing and self-healing | |
CN113917385A (zh) | 一种面向电能表的自检测方法及*** | |
CN103744752A (zh) | 一种内存的在线故障检测方法和装置 | |
dos Santos et al. | Characterizing Deep Neural Networks Neutrons-Induced Error Model | |
Jian et al. | Reliability Models for Double Chipkill Detect/Correct Memory Systems |
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 |