一种BMC获取内存温度的方法、系统、装置及存储介质与流程

文档序号:14911015发布日期:2018-07-10 23:24阅读:936来源:国知局

本发明涉及监控技术领域,特别是涉及一种BMC获取内存温度的方法、系统、装置及计算机可读存储介质。



背景技术:

在服务器管理系统中,BMC(Baseboard Management Controller,基板管理控制器)及CPU是其重要组成部分,BMC通过主板上的南桥芯片读取CPU中保存的数据。BMC主要用于对服务器管理系统中各模块的温度进行监控,尤其重要的是对内存的温度进行监控。现有技术中,BMC获取内存温度的过程包括:首先由CPU通过数字温度传感器采集内存的温度;然后,BMC通过南桥芯片上的ME(Management Engine,管理引擎)访问CPU中保存内存的温度的寄存器,从而获取内存温度。其中,ME和CPU之间通过PECI(Platform Environment Control Interface,平台环境式控制接口)传递数据。但是,当ME出现故障时,会导致BMC无法获取内存的温度,进而无法对内存的温度进行监控,增加了数据丢失的可能性,降低了服务器管理系统的稳定性。

因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种BMC获取内存温度的方法、系统、装置及计算机可读存储介质,当BMC未成功通过ME读取内存的温度时,本申请可以采用备用方案读取内存的温度,从而降低了数据丢失的可能性,增强了服务器管理系统的稳定性。

为解决上述技术问题,本发明提供了一种BMC获取内存温度的方法,包括:

预设基板管理控制器BMC通过南桥芯片的PECI接口获取内存温度的函数;

当所述BMC未成功通过管理引擎ME读取内存的温度时,调用所述函数,以便于所述BMC通过所述PECI接口直接访问CPU上保存所述内存的温度的寄存器,获取所述内存的温度。

优选地,该方法还包括:

当获取的内存的温度大于预设温度时,控制所述内存对应的报警模块发出警报。

优选地,所述报警模块具体为指示灯或者蜂鸣器。

优选地,该方法还包括:

通过显示器对获取的内存的温度进行显示。

优选地,该方法还包括:

当所述BMC成功通过所述ME读取所述内存的温度时,将预先添加的成功读取标识的标识值置为预设第一值;

当所述BMC未成功通过所述ME读取所述内存的温度时,将所述成功读取标识的标识值置为预设第二值,以便于用户根据所述标识值确定所述BMC的成功读取状态。

优选地,该方法还包括:

累计所述成功读取标识的标识值被置为所述第二值的次数;

当所述次数大于预设次数时,确定所述ME故障。

为解决上述技术问题,本发明还提供了一种BMC获取内存温度的系统,包括:

预设单元,用于预设BMC通过南桥芯片的PECI接口获取内存温度的函数;

调用单元,用于当所述BMC未成功通过ME读取内存的温度时,调用所述函数,以便于所述BMC通过所述PECI接口直接访问CPU上保存所述内存的温度的寄存器,获取所述内存的温度。

优选地,该系统还包括:

第一标识单元,用于当所述BMC成功通过所述ME读取所述内存的温度时,将预先添加的成功读取标识的标识值置为预设第一值;

第二标识单元,用于当所述BMC未成功通过所述ME读取所述内存的温度时,将所述成功读取标识的标识值置为预设第二值,以便于用户根据所述标识值确定所述BMC的成功读取状态。

为解决上述技术问题,本发明还提供了一种BMC获取内存温度的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种BMC获取内存温度的方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种BMC获取内存温度的方法的步骤。

本发明提供了一种BMC获取内存温度的方法,包括:预设基板管理控制器BMC通过南桥芯片的PECI接口获取内存温度的函数;当BMC未成功通过管理引擎ME读取内存的温度时,调用函数,以便于BMC通过PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。

与现有技术中的BMC获取内存温度的方法相比,本申请提前设置了BMC通过南桥芯片的PECI接口获取内存温度的函数,相当于添加了一种备用的读取方式。当BMC未成功通过ME读取内存的温度时,调用备用的读取方式对应的函数,即BMC通过南桥芯片的PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。可见,当BMC未成功通过ME读取内存的温度时,本申请可以采用备用方案读取内存的温度,从而降低了数据丢失的可能性,增强了服务器管理系统的稳定性。

本发明还提供了一种BMC获取内存温度的系统、装置及计算机可读存储介质,与上述获取方法具有相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种BMC获取内存温度的方法的流程图;

图2为本发明提供的一种BMC获取内存温度的系统的结构示意图。

具体实施方式

本发明的核心是提供一种BMC获取内存温度的方法、系统、装置及计算机可读存储介质,当BMC未成功通过ME读取内存的温度时,本申请可以采用备用方案读取内存的温度,从而降低了数据丢失的可能性,增强了服务器管理系统的稳定性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种BMC获取内存温度的方法的流程图。

该方法包括:

步骤S1:预设基板管理控制器BMC通过南桥芯片的PECI接口获取内存温度的函数;

需要说明的是,本申请中的预设和预先均是提前设置好的,只需要设置一次,除非根据实际情况修改,否则不需要重新设置。

具体地,BMC是服务器特有的管理控制器,其可以自动监控服务器的当前运行状态,并及时根据当前运行状态进行调控服务器。其中,BMC的一个主要功能是获取服务器各模块的当前温度,根据当前温度进行风扇转速的控制及告警等操作。

由于内存是计算机中重要的部件之一,所以对内存温度的监控及告警是BMC温度监控中的主要任务。正常情况下,由服务器中的CPU内置一个数字温度传感器,CPU通过数字温度传感器采集内存的温度,并可以但不仅限于通过MSR(Mode specific registers,特殊模块寄存器)保存采集的内存的温度。

BMC和CPU之间通过主板上的南桥芯片进行数据传递。具体地,南桥芯片和CPU上均设置有PECI接口,用于南桥芯片和CPU之间的数据传输。ME是南桥芯片上的一个嵌入式微控制器,其可以通过南桥芯片上的PECI接口访问CPU中保存内存的温度的寄存器,从而获取内存的温度。最后,由BMC通过南桥芯片上的ME来获取内存的温度,实现对内存的温度监控。

考虑到ME可能会出现故障,导致BMC无法获取内存的温度,本申请提前设置了BMC通过南桥芯片的PECI接口获取内存温度的函数,也就是说,本申请提前设置了一个备用方案,当正常情况下,BMC通过南桥芯片上的ME来获取内存的温度;当ME出现故障或者其他原因导致BMC无法通过ME读取内存的温度时,可以启用备用方案获取内存的温度,实现对内存的温度监控。

步骤S2:当BMC未成功通过管理引擎ME读取内存的温度时,调用函数,以便于BMC通过PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。

具体地,备用方案的启用过程包括:首先判断BMC是否成功通过ME读取到内存的温度,可以通过设置一个读取状态标志来判断。当BMC成功通过ME读取到内存的温度时,读取状态标志设置为成功读取标志;当BMC未成功通过ME读取到内存的温度时,读取状态标志设置为失败读取标志,从而实现通过读取状态标志的显示状态判断BMC是否成功通过ME读取到内存的温度。

本申请也可以通过BMC发送读取指令至ME时开始计时,当计时时间到达设置的时间仍未读取到内存的温度时,确定BMC未成功通过ME读取到内存的温度。至于具体的判断方式,本申请在此不做特别的限定。

当确定BMC未成功通过ME读取到内存的温度时,调用备用方案对应的函数。即BMC通过PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度,实现了对内存的温度监控,从而降低了数据丢失的可能性,增强了服务器管理系统的稳定性。

本发明提供了一种BMC获取内存温度的方法,包括:预设基板管理控制器BMC通过南桥芯片的PECI接口获取内存温度的函数;当BMC未成功通过管理引擎ME读取内存的温度时,调用函数,以便于BMC通过PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。

与现有技术中的BMC获取内存温度的方法相比,本申请提前设置了BMC通过南桥芯片的PECI接口获取内存温度的函数,相当于添加了一种备用的读取方式。当BMC未成功通过ME读取内存的温度时,调用备用的读取方式对应的函数,即BMC通过南桥芯片的PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。可见,当BMC未成功通过ME读取内存的温度时,本申请可以采用备用方案读取内存的温度,从而降低了数据丢失的可能性,增强了服务器管理系统的稳定性。

在上述实施例的基础上:

作为一种优选地实施例,该方法还包括:

当获取的内存的温度大于预设温度时,控制内存对应的报警模块发出警报。

具体地,当获取的内存的温度大于提前设置好的温度时,说明此时的内存温度过高,则控制内存对应的报警模块发出警报,从而提醒用户内存当前的温度状态。

作为一种优选地实施例,报警模块具体为指示灯或者蜂鸣器。

进一步地,报警模块可以为指示灯,当报警模块发出警报时,指示灯可以由绿灯变为红灯,或是其他颜色的转换;也可以由不闪烁变为闪烁,或是其他闪烁状态的转换。报警模块也可以为蜂鸣器,当报警模块发出警报时,蜂鸣器发出蜂鸣。

当然,本申请的报警模块也可以选用其他报警器,本申请在此不做特别的限定。

作为一种优选地实施例,该方法还包括:

通过显示器对获取的内存的温度进行显示。

具体地,本申请还可以通过显示器显示内存的温度,从而直观地反应出内存当前的温度状态。这里的显示器可以为但不仅限于液晶显示屏,本申请在此不做特别的限定。

作为一种优选地实施例,该方法还包括:

当BMC成功通过ME读取内存的温度时,将预先添加的成功读取标识的标识值置为预设第一值;

当BMC未成功通过ME读取内存的温度时,将成功读取标识的标识值置为预设第二值,以便于用户根据标识值确定BMC的成功读取状态。

具体地,本申请可以提前添加一个成功读取标识,当BMC成功通过ME读取内存的温度时,将该成功读取标识的标识值置为设置好的第一值,可以为0或者其他数值;当BMC未成功通过ME读取内存的温度时,将该成功读取标识的标识值置为设置好的第二值,可以为-1或者其他数值。用户便可以通过成功读取标识的标识值确定BMC是否成功读取到内存的温度,方便了用户对系统的管理。

作为一种优选地实施例,该方法还包括:

累计成功读取标识的标识值被置为第二值的次数;

当次数大于预设次数时,确定ME故障。

具体地,当BMC出现一次未成功通过ME读取内存的温度时,不能完全确定ME故障。所以本申请累计成功读取标识的标识值被置为第二值的次数,当累计的次数大于设置好的次数时,才确定ME故障,提高了判断ME故障的可靠性。

请参照图2,图2为本发明提供的一种BMC获取内存温度的系统的结构示意图。

该系统包括:

预设单元1,用于预设BMC通过南桥芯片的PECI接口获取内存温度的函数;

调用单元2,用于当BMC未成功通过ME读取内存的温度时,调用函数,以便于BMC通过PECI接口直接访问CPU上保存内存的温度的寄存器,获取内存的温度。

作为一种优选地实施例,该系统还包括:

第一标识单元,用于当BMC成功通过ME读取内存的温度时,将预先添加的成功读取标识的标识值置为预设第一值;

第二标识单元,用于当BMC未成功通过ME读取内存的温度时,将成功读取标识的标识值置为预设第二值,以便于用户根据标识值确定BMC的成功读取状态。

本发明提供的系统的介绍请参考上述方法实施例,本发明在此不再赘述。

本发明还提供了一种BMC获取内存温度的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现上述任一种BMC获取内存温度的方法的步骤。

本发明提供的装置的介绍请参考上述方法实施例,本发明在此不再赘述。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一种BMC获取内存温度的方法的步骤。

本发明提供的存储介质的介绍请参考上述方法实施例,本发明在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1