基于物理内存分配映射的内存检测方法_2

文档序号:8487706阅读:来源:国知局
S40的流程示意图。
[0041]如图4所示,在本实施方式中,步骤S40包括:
[0042]S43:所述用户态测试程序发送所述页号和映射请求至所述内核模块。
[0043]S45:所述内核模块以所述页号作为参数对页表进行配置,完成所述待测物理内存对所述用户态测试程序的地址空间的映射。
[0044]优选地,所述步骤S60中,所述测试线程各自运行所述内存检测算法,并行对各自分配到的待测物理内存进行读写校验测试。
[0045]所述读写校验测试包括对所述待测物理内存分别进行写操作和读操作并进行比对校验,当比对结果一致时校验结果为正常,当比对结果不一致时校验结果为错误。
[0046]图5为本发明基于物理内存分配映射的内存检测方法一种实施方式中步骤S80的流程示意图。
[0047]如图5所示,在本实施方式中,步骤S80包括:
[0048]S83:当所述读写校验测试出错时,根据所述映射获取出错物理内存地址。
[0049]S85:将所述出错物理内存地址与SMB1S信息进行比对,得到所述出错物理内存地址对应的内存插槽。
[0050]图7为完成所述映射后,所述地址空间的逻辑地址和所述待测物理内存的物理地址的对应关系示意图。图8为出错物理内存地址与SMB1S信息对应关系示意图。
[0051]如图7和图8所示,通过校验出错的逻辑地址,和所述逻辑地址与所述物理的对应关系,获得出错物理内存地址。在图8所示示例中,当出错物理内存地址在 “0x00000000000” (图中所示 starting address)与 “0x0007FFFFFFF”(图中所示ending address)之间时,找到相对应的type20中的物理设备句柄(physical devicehandle) 0x0024,从而在对应的句柄0x0024中找到定位信息(locator):CPU0_DimmA0,最终准确定位到出错的内存插槽。
[0052]综上所述,本发明提供的基于物理内存分配映射的内存检测方法通过将物理内存分配映射技术与内存检测技术结合起来,实现了对内存进行高效并行检测处理,并准确有效地对出错位置进行定位,同时还可以采用多种内存检测算法进行检测,应用范围较为广泛,使用更灵活。本发明具有检测效率高、定位准确、应用范围广等优点。
[0053]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于物理内存分配映射的内存检测方法,其特征在于,包括: 用户态测试程序向内核模块请求分配物理内存,所述内核模块对物理内存进行检索,分配空闲的待测物理内存给所述用户态测试程序; 所述内核模块将所述待测物理内存映射到所述用户态测试程序的地址空间; 所述用户态测试程序通过运行内存检测算法对所述待测物理内存进行读写校验测试; 当所述读写校验测试出错时,根据所述映射获取出错物理内存地址,根据所述出错物理内存地址查找到内存插槽。
2.根据权利要求1所述的内存检测方法,其特征在于,所述“用户态测试程序向内核模块请求分配物理内存,所述内核模块对物理内存进行检索,分配空闲的待测物理内存给所述用户态测试程序”包括: 用户态测试程序向内核模块请求分配物理内存; 所述内核模块扫描物理内存使用状况信息,锁定当前状况为空闲的待测物理内存,将所述待测物理内存的页号返回给所述用户态测试程序; 所述内核模块更新所述物理内存使用状况信息。
3.根据权利要求2所述的内存检测方法,其特征在于,所述用户态测试程序运行在多核处理器环境下,所述用户态测试程序通过每个处理器核心发起一个测试线程,所述“所述内核模块扫描物理内存使用状况信息,锁定当前状况为空闲的待测物理内存,将所述待测物理内存的页号返回给所述用户态测试程序”还包括: 所述内核模块将所述待测物理内存平均分配给所述测试线程。
4.根据权利要求2或3所述的内存检测方法,其特征在于,所述“用户态测试程序向内核模块请求分配物理内存”之前还包括: 加载支持物理内存相关操作的内核模块进入系统内核空间。
5.根据权利要求4所述的内存检测方法,其特征在于,所述“所述内核模块将所述待测物理内存映射到所述用户态测试程序的地址空间”包括: 所述用户态测试程序发送所述页号和映射请求至所述内核模块; 所述内核模块以所述页号作为参数对页表进行配置,完成所述待测物理内存对所述用户态测试程序的地址空间的映射。
6.根据权利要求3所述的内存检测方法,其特征在于,所述测试线程各自运行所述内存检测算法,并行对各自分配到的待测物理内存进行读写校验测试。
7.根据权利要求6所述的内存检测方法,其特征在于,所述读写校验测试包括对所述待测物理内存分别进行写操作和读操作并进行比对校验,当比对结果一致时校验结果为正常,当比对结果不一致时校验结果为错误。
8.根据权利要求1所述的内存检测方法,其特征在于,所述“当所述读写校验测试出错时,根据所述映射获取出错物理内存地址,根据所述出错物理内存地址查找到内存插槽”包括: 当所述读写校验测试出错时,根据所述映射获取出错物理内存地址; 将所述出错物理内存地址与SMB1S信息进行比对,得到所述出错物理内存地址对应的内存插槽。
【专利摘要】本发明提供一种基于物理内存分配映射的内存检测方法,包括:用户态测试程序向内核模块请求分配物理内存,所述内核模块对物理内存进行检索,分配空闲的待测物理内存给所述用户态测试程序;所述内核模块将所述待测物理内存映射到所述用户态测试程序的地址空间;所述用户态测试程序通过运行内存检测算法对所述待测物理内存进行读写校验测试;当所述读写校验测试出错时,根据所述映射获取出错物理内存地址,根据所述出错物理内存地址查找到内存插槽。本发明通过将物理内存分配映射技术与内存检测技术结合,实现了对内存进行高效并行检测处理,并准确有效地对出错位置进行定位,具有检测效率高、定位准确、应用范围广等优点。
【IPC分类】G06F11-22, G11C29-56
【公开号】CN104809039
【申请号】CN201510201575
【发明人】李岩
【申请人】英业达科技有限公司, 英业达股份有限公司, 英业达集团(天津)电子技术有限公司
【公开日】2015年7月29日
【申请日】2015年4月24日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1