[发明专利]一种内存巡检方法及系统有效
申请号: | 201911012950.5 | 申请日: | 2019-10-23 |
公开(公告)号: | CN110990187B | 公开(公告)日: | 2023-09-15 |
发明(设计)人: | 于庆;赵伟成;张志辉 | 申请(专利权)人: | 北京全路通信信号研究设计院集团有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F9/50 |
代理公司: | 北京知联天下知识产权代理事务所(普通合伙) 11594 | 代理人: | 张陆军 |
地址: | 100070 北京市丰台区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 巡检 方法 系统 | ||
本发明设计一种内存巡检方法,包括:对物理内存建立第一虚拟空间;所述物理内存还包括与之对应的第二虚拟空间,所述第二虚拟空间用于系统运行时通过缓存访问物理内存;通过所述第一虚拟空间直接访问所述物理内存,对所述物理内存进行巡检。本发明通过将一个物理内存的同一区域映射第一虚拟空间和第二虚拟空间,程序运行过程中,CPU通过第二虚拟空间对物理内存进行巡检,对所述物理内存进行巡检之前,中断系统中运行的程序,关闭cache,能够直接通过第二虚拟空间对物理内存进行检测,多次将数据进行写入和读出,将读出数据与记录的测试数据进行比较,若不一致,则判断所述指定的物理内存故障。
技术领域
本发明属于计算机技术领域,特别涉及一种内存巡检方法及系统。
背景技术
在计算机技术领域中,对安全性要求较高的设备需要进行内存检测。例如,在轨道交通的安全相关设备中就需要对设备的内存进行检测,以保障安全平台正常运行。目前,检测内存是否有故障,对只读数据通常采用CRC校验的方式验证内存。对于可变内存部分,则采用定期读写比较的方式检测内存损坏。
读写比较检测方法如下:前提条件是停止CPU其他任务中断的运行,且关闭中断。
1、将被检测区cache刷新到内存,并无效cache,关闭cache;
2、将被检测区数据拷贝到备份区;
3、向被检测区写指定数据;
4、从被检测区读取数据,与写入值比较确认是否一致;
5、重复3、4,直到巡检完毕;
6、检测完成后,将原始的被检测区数据从备份区恢复数据到被检测区;
7、打开cache。
检测完成后,恢复系统的正常运行。
Cache作为CPU和内存直接的高速缓存,CPU写入的数据不一定立即写入内存,读取数据也存在从缓存中返回数据而无法获取真实物理地址数据的问题,因此在有cache的情况下,必须关闭cache,才能将数据真正写入内存,并检验到实际内存。而有些安全系统的架构中,cache关闭操作非常耗费时间,尤其有L2 cache(二级缓存)时,对于实时操作系统来说是不可接受的。还有一部分操作系统在CPU运行时不能关闭cache,因此无法内存检测。
因此,需要一种方法和系统来解决对内存进行检测的状况。
发明内容
针对上述问题,本发明设计一种内存巡检方法,包括:
对物理内存建立第一虚拟空间;
所述物理内存还包括与之对应的第二虚拟空间,所述第二虚拟空间用于系统运行时通过缓存访问物理内存;
通过所述第一虚拟空间直接访问所述物理内存,对所述物理内存进行巡检,其中,包括:
将待检测的所述物理内存中的数据备份到备份区;
检测所述物理内存是否正常;
将所述备份区的数据恢复到所述物理内存中。
优选的,建立所述第一虚拟空间后,关闭所述第一虚拟空间的缓存访问机制。
优选的,建立第二虚拟空间;
所述第二虚拟空间与所述第一虚拟空间相对应,共同映射与同一所述物理内存区间;
所述第一虚拟空间与所述第二虚拟空间的地址不重叠。
优选的,对所述物理内存进行巡检之前,中断系统中运行的程序。
优选的,对所述物理内存进行巡检包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京全路通信信号研究设计院集团有限公司,未经北京全路通信信号研究设计院集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911012950.5/2.html,转载请声明来源钻瓜专利网。