[发明专利]一种内存故障自动定位方法及装置有效
申请号: | 201310095239.7 | 申请日: | 2013-03-22 |
公开(公告)号: | CN103197999A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 黎世勇;王雁鹏;王晓静;魏伟 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 故障 自动 定位 方法 装置 | ||
技术领域
本发明涉及信息存储技术领域,特别涉及一种内存故障自动定位方法及装置。
背景技术
在Intel CPU中提供了一种MCA(Machine Check Architecture,机器检查架构),Nehalm平台的MCA会在寄存器中记录故障内存的槽位信息,应用程序通过读取寄存器中的值就可以定位到故障内存。
但是一旦Sandybridge平台MCA架构发生了变化,寄存器中不再直接记录故障内存的槽位信息,因此采用以往的检测方法不能确定故障内存的槽位。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种能够精确的定位出故障内存槽位,并对其进行维修,从而提高内存故障监控率,也减轻数据中心运维成本的内存故障自动定位方法。
本发明的另一目的在于提出一种内存故障自动定位装置。
为了实现上述目的,本发明第一方面的实施例提出了一种内存故障自动定位方法,包括如下步骤:读取机器检查架构MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址;根据所述故障内存的物理地址获 取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值;根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移;根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。
根据本发明实施例的内存故障自动定位方法,在Sandybridge平台下,通过MCA寄存器中故障内存的物理地址,能够精确的定位出故障内存槽位,并配合其他方法对故障内存进行修复,从而提高了内存故障监控率,同时也减轻了数据中心的运维成本。
另外,根据本发明上述实施例的内存故障自动定位方法还可以具有如下附加的技术特征:
在本发明的实施例中,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。
在本发明的实施例中,所述根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息,包括如下步骤:利用所述故障内存所在的通道内偏移获取所述故障内存所对应的socket内的行值;根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。
在本发明的实施例中,所述通道内偏移为所述故障内存所在的通道对应所在socket的通道0的偏移地址。
本发明第二方面的实施例还提出了一种内存故障自动定位装置,包括:读取模块,用于读取机器检查构架MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址;socket值获取模块,所述socket值获取模块 与所述读取模块相连,用于根据所述故障内存的物理地址获取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值;通道信息获取模块,所述通道信息获取模块与所述读取模块和所述socket值获取模块相连,用于根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移;槽位信息获取模块,所述槽位信息获取模块与所述通道信息获取模块相连,用于根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及定位模块,所述定位模块与所述socket值获取模块、所述通道信息获取模块和所述槽位信息获取模块相连,用于根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。
根据本发明实施例的内存故障自动定位装置,在Sandybridge平台下,通过MCA寄存器中故障内存的物理地址,能够精确的定位出故障内存槽位,并配合其他方法对故障内存进行修复,从而提高了内存故障监控率,同时也减轻了数据中心的运维成本。
另外,根据本发明上述实施例的内存故障自动定位装置还可以具有如下附加的技术特征:在本发明的实施例中,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。
在本发明的实施例中,所述槽位信息获取模块利用所述故障内存所在的通道内偏移获取所述故障内存所对应的socket内的行值,并根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310095239.7/2.html,转载请声明来源钻瓜专利网。