[发明专利]一种内存的在线故障检测方法和装置有效
申请号: | 201310714126.0 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103744752A | 公开(公告)日: | 2014-04-23 |
发明(设计)人: | 栾庆文;李超 | 申请(专利权)人: | 北京交控科技有限公司 |
主分类号: | G06F11/16 | 分类号: | G06F11/16 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100070 北京市丰台区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 在线 故障 检测 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存的在线故障检测方法和装置。
背景技术
在工业控制设备中经常要用到CPU,一般的CPU都需要外扩内存,内存作为程序运行的载体至关重要。如果内存中某个存储单元故障的话(指恒为高电平或者恒为低电平),会导致存放在该存储单元中的变量或者数据并不是预期的结果,CPU会利用错误的变量或者数据继续执行,产生错误的结果。对于安全类产品,这类错误可能会导致严重的后果,例如当某个变量是用来表示列车是否超速时,是不能允许此类错误发生的。因此,十分有必要对内存进行在线检测,以及时发现内存的故障,采取必要的解决措施。
目前内存故障检测方式主要是基于软件处理方法,软件首先从内存0地址开始写数据,直到写完所有内存地址空间,然后再从0地址开始读回数据,判断是否是与所写入的数据一致。基于软件的内存检测方式一般是在CPU刚上电时进行检测,对于7×24小时不间断工作的设备,这种方式无法检测经长时间运行后的内存是否故障。这样就需要从程序正常运行中拿出一段时间对进行内存检测,而且在内存检测期间,需要先将程序执行的内存数据搬移到另外一块不使用的内存空间中,然后对程序执行的内存空间进行检测,检测完毕后,再将数据搬移回来。
根据以上描述可以得知,这种基于软件处理的内存检测方法需要利用设备运行的一段时间进行检测,并且需要来回搬移内存数据,检测处理的时间长,反馈缓慢,并不适用于7×24小时不间断工作的设备。
发明内容
(一)要解决的技术问题
本发明提供一种内存的在线故障检测方法和装置,以解决现有技术中的内存检测方法不适用于7×24小时不间断工作的设备的技术问题。
(二)技术方案
为解决上述技术问题,本发明提供一种内存的在线故障检测方法,包括:
将CPU中的数据同时写入工作内存和映像内存;
将CPU写入所述工作内存和所述映像内存中的数据通过比较单元进行实时逐位比较:当内存比较结果一致时,判断内存正常工作;当内存比较结果不一致时,判断内存故障并进行相应的处理;
利用CPU向内存空间以外的虚拟空间和所述映像内存中同时写入不同的数据,通过比较单元进行实时逐位比较实现比较单元自检:当自检比较结果一致时,判断比较单元故障;当自检比较结果不一致时,判断比较单元正常工作。
进一步地,所述方法还包括:
在CPU和所述映像内存间接入缓冲器,当所述映像内存输出数据时,令所述缓冲器处于高阻态,所述映像内存输出的数据无法到达CPU。
进一步地,
所述将CPU写入所述工作内存和所述映像内存中的数据通过比较单元进行实时逐位比较包括:将CPU写入所述工作内存和所述映像内存中的数据的每个数据位进行实时的异或比较,输出内存比较结果;
所述通过比较单元进行实时逐位比较实现比较单元自检包括:通过比较单元对每个数据位进行实时的异或比较,输出自检比较结果。
进一步地,所述判断内存故障并进行相应的处理包括:
输出内存故障结果;
和/或,进行内存故障报警;
和/或,对CPU进行断电处理。
进一步地,所述利用CPU向内存空间以外的虚拟空间和所述映像内存中写入不同的数据包括:
针对每一个数据位,均利用CPU向虚拟空间和所述映像内存写入只有该数据位不同的数据。
另一方面,本发明还提供一种内存的在线故障检测装置,包括:
写入单元,用于将CPU中的数据同时写入工作内存和映像内存;还用于利用CPU将不同的数据同时写入内存空间以外的虚拟空间和所述映像内存;
比较单元,用于将CPU写入所述工作内存和所述映像内存中的数据进行实时逐位比较,输出内存比较结果;还用于将CPU写入所述虚拟空间和所述映像内存中的数据进行实时逐位比较,输出自检比较结果;
内存故障判断单元,用于判断内存工作状态,当所述内存比较结果一致时,判断内存正常工作;当所述内存比较结果不一致时,判断内存故障并进行相应的处理;
自检单元,用于判断比较单元工作状态,当所述自检比较结果一致时,判断比较单元故障;当所述自检比较结果不一致时,判断比较单元正常工作。
进一步地,所述装置还包括:
缓冲器,连接在CPU和所述映像内存之间,用于防止所述映像内存的数据到达CPU,当所述映像内存输出数据时,所述缓冲器处于高阻态,所述映像内存输出的数据无法到达CPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京交控科技有限公司,未经北京交控科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310714126.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自复式防溢料射嘴
- 下一篇:用于安装空气开关的紧固件