一种内存故障自动定位方法及装置的制作方法

文档序号:6400817阅读:218来源:国知局
专利名称:一种内存故障自动定位方法及装置的制作方法
技术领域
本发明涉及信息存储技术领域,特别涉及一种内存故障自动定位方法及装置。
背景技术
在Intel CPU 中提供了一种 MCA(Machine Check Architecture,机器检查架构),Nehalm平台的MCA会在寄存器中记录故障内存的槽位信息,应用程序通过读取寄存器中的值就可以定位到故障内存。但是一旦Sandybridge平台MCA架构发生了变化,寄存器中不再直接记录故障内存的槽位信息,因此采用以往的检测方法不能确定故障内存的槽位。

发明内容
本发明旨在至少解决上述技术问题之一。为此,本发明的一个目的在于提出一种能够精确的定位出故障内存槽位,并对其进行维修,从而提高内存故障监控率,也减轻数据中心运维成本的内存故障自动定位方法。本发明的另一目的在于提出一种内存故障自动定位装置。为了实现上述目的,本发明第一方面的实施例提出了一种内存故障自动定位方法,包括如下步骤:读取机器检查架构MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址;根据所述故障内存的物理地址获取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值;根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移;根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。根据本发明实施例的内存故障自动定位方法,在Sandybridge平台下,通过MCA寄存器中故障内存的物理地址,能够精确的定位出故障内存槽位,并配合其他方法对故障内存进行修复,从而提高了内存故障监控率,同时也减轻了数据中心的运维成本。另外,根据本发明上述实施例的内存故障自动定位方法还可以具有如下附加的技术特征:在本发明的实施例中,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。在本发明的实施例中,所述根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息,包括如下步骤:利用所述故障内存所在的通道内偏移获取所述故障内存所对应的socket内的行值;根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。在本发明的实施例中,所述通道内偏移为所述故障内存所在的通道对应所在socket的通道O的偏移地址。
本发明第二方面的实施例还提出了一种内存故障自动定位装置,包括:读取模块,用于读取机器检查构架MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址pocket值获取模块,所述socket值获取模块与所述读取模块相连,用于根据所述故障内存的物理地址获取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值;通道信息获取模块,所述通道信息获取模块与所述读取模块和所述socket值获取模块相连,用于根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移;槽位信息获取模块,所述槽位信息获取模块与所述通道信息获取模块相连,用于根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及定位模块,所述定位模块与所述socket值获取模块、所述通道信息获取模块和所述槽位信息获取模块相连,用于根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。根据本发明实施例的内存故障自动定位装置,在Sandybridge平台下,通过MCA寄存器中故障内存的物理地址,能够精确的定位出故障内存槽位,并配合其他方法对故障内存进行修复,从而提高了内存故障监控率,同时也减轻了数据中心的运维成本。另外,根据本发明上述实施例的内存故障自动定位装置还可以具有如下附加的技术特征:在本发明的实施例中,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。在本发明的实施例中,所述槽位信息获取模块利用所述故障内存所在的通道内偏移获取所述故障内存所对应的socket内的行值,并根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。在本发明的实施例中,所述通道内偏移为所述故障内存所在的通道对应所在socket的通道0的偏移地址。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明一个实施例的内存故障自动定位方法的流程图;图2为根据本发明一个实施例的内存故障自动定位方法的内存的拓扑结构图;图3为根据本发明一个实施例的内存故障自动定位方法的socket不交错,channel、slot间交错的内存分布示意图;图4为根据本发明另一个实施例的内存故障自动定位方法的流程图;和图5为根据本发明一个实施例的内存故障自动定位装置的结构图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于
附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。以下结合附图1-4详细描述根据本发明实施例的基于raid卡日志的硬盘的故障定位方法。如图1所示,根据本发明一个实施例的内存故障自动定位方法,包括以下步骤:步骤S101,读取机器检 查架构MCA寄存器的值,并对寄存器的值进行解析以获取故障内存的物理地址。具体而言,在Sandybridge平台下,MCA会在寄存器中反映故障内存的物理地址值,通过解析该值获取故障内存的物理地址。其中,故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。即
如下表所示:
权利要求
1.一种内存故障自动定位方法,其特征在于,包括如下步骤: 读取机器检查架构MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址; 根据所述故障内存的物理地址获取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值; 根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移; 根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。
2.如权利要求1所述的内存故障自动定位方法,其特征在于,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。
3.如权利要求1所述的内存故障自动定位方法,其特征在于,所述根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息,包括如下步骤: 利用所述故障内存所在的通道内偏移获取所述故障内存所对应的socket内的行值; 根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。
4.如权利要求1所述的内存故障自动定位方法,其特征在于,所述通道内偏移为所述故障内存所在的通道对应所在socket的通道O的偏移地址。
5.一种内存故障自动定位装置,其特征在于,包括: 读取模块,用于读取机器检查构架MCA寄存器的值,并对所述寄存器的值进行解析以获取故障内存的物理地址; socket值获取模块,所述socket值获取模块与所述读取模块相连,用于根据所述故障内存的物理地址获取所述内存在套接字socket之间的交错状态,并根据所述内存在套接字socket之间的交错状态获取所述故障内存所在的socket值; 通道信息获取模块,所述通道信息获取模块与所述读取模块和所述socket值获取模块相连,用于根据所述内存故障物理地址和所述内存在套接字socket之间的交错状态获取所述故障内存所在的通道值和通道内偏移; 槽位信息获取模块,所述槽位信息获取模块与所述通道信息获取模块相连,用于根据所述故障内存所在的通道内偏移获取所述故障内存的槽位信息;以及 定位模块,所述定位模块与所述socket值获取模块、所述通道信息获取模块和所述槽位信息获取模块相连,用于根据所述故障内存所在的socket值、所述通道值和所述槽位信息对所述故障内存进行定位。
6.如权利要求5所述的内存故障自动定位装置,其特征在于,所述故障内存的物理地址包括:64个字节对齐、第一套接字socket交错、通道交错、行列交错、第二套接字socket交错。
7.如权利要求5所述的内存故障自动定位装置,其特征在于,所述槽位信息获取模块利用所述故障内存所在的通 道内偏移获取所述故障内存所对应的socket内的行值,并 根据所述行值以及所述内存的行与槽位的对应关系,获得所述故障内存的槽位信息。
8.如权利要求5所述的内存故障自动定位装置,其特征在于,所述通道内偏移为所述故障内存所在的通道对应所在 socket的通道0的偏移地址。
全文摘要
本发明提出一种内存故障自动定位方法,包括以下步骤读取机器检查架构MCA寄存器的值,并对其进行解析以获取故障内存的物理地址;据此获取内存在套接字socket之间的交错状态,并根据该交错状态获取故障内存所在的socket值;根据内存故障物理地址和内存在套接字socket之间的交错状态获取故障内存所在的通道值和通道内偏移;根据该通道内偏移获取故障内存的槽位信息;根据故障内存所在的socket值、通道值和槽位信息对故障内存进行定位。本发明的实施例能够精确的定位出故障内存槽位,并配合其他方法对内存进行修复,提高了内存故障监控率,也减轻了数据中心运维成本。本发明还提出了一种内存故障自动定位装置。
文档编号G06F11/22GK103197999SQ201310095239
公开日2013年7月10日 申请日期2013年3月22日 优先权日2013年3月22日
发明者黎世勇, 王雁鹏, 王晓静, 魏伟 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1