掌桥专利:专业的专利平台
掌桥专利
首页

内存容量调整方法、装置、服务器、电子设备和存储介质

文献发布时间:2024-04-18 20:01:23


内存容量调整方法、装置、服务器、电子设备和存储介质

技术领域

本发明涉及计算机系统及存储技术领域,特别是涉及一种内存容量调整方法、一种内存容量调整装置、一种服务器、一种电子设备和一种存储介质。

背景技术

在计算机系统中,内存是任何架构计算机产品中必须存在的物理设备。内存在服务器运行中内存容量的大小影响着运行效率,因此为了提高运行效率,常内存最大化配置,即数据中心的服务器均是内存最大化配置。但是这样的配置存在内存的浪费,容易导致耗电量增加,以及降低内存的使用寿命。并且在部分内存出现错误时,只能通过物理整体更换的方式进行隔离错误,无法动态地对内存条进行隔离。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种内存容量调整方法、一种内存容量调整装置、一种服务器、一种电子设备和一种存储介质。

为了解决上述问题,在本发明的第一个方面,本发明实施例公开了一种内存容量调整方法,应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述方法包括:

读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

依据所述状态设置值设置所述目标引脚的电平状态;

依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

可选地,所述依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压的步骤包括:

依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

可选地,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可选地,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述读取内存设置信息的步骤包括:

响应于针对所述状态设置控件的设置操作;

依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标引脚的电平状态初始为高电平状态;所述依据所述状态设置值设置所述目标引脚的电平状态的步骤包括:

响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;

响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

可选地,所述读取内存设置信息的步骤包括:

从所述基板管理控制器中,读取智能平台管理接口指令;

解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标协议地址值为多个时,所述依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤包括:

判断所述目标协议地址值是否为最后一个目标协议地址值;

响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

在本发明的第三个方面,本发明实施例公开了一种服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;

所述基板管理控制器读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

所述基板管理控制器依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

所述中央处理器依据所述状态设置值设置所述目标引脚的电平状态;

所述中央处理器依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

可选地,所述中央处理器依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压的步骤包括:

所述中央处理器依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

所述中央处理器依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

可选地,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述中央处理器依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

所述中央处理器响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述中央处理器依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

所述中央处理器响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可选地,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述基板管理控制器读取内存设置信息的步骤包括:

所述基板管理控制器响应于针对所述状态设置控件的设置操作;

所述基板管理控制器依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

所述基板管理控制器读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述基板管理控制器读取内存设置信息的步骤包括:

所述基板管理控制器从所述基板管理控制器中,读取智能平台管理接口指令;

所述基板管理控制器解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

所述基板管理控制器读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

在本发明的第三个方面,本发明实施例公开了一种内存容量调整装置,应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述装置包括:

读取模块,用于读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

目标引脚确定模块,用于依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

第一设置模块,用于依据所述状态设置值设置所述目标引脚的电平状态;

第二设置模块,用于依据所述目标引脚的电平状态控制所述目标引脚对应的内存槽位与所述内存条的连接状态,以调整内存容量。

在本发明的第四个方面,本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的内存容量调整方法的步骤。

在本发明的第五个方面,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的内存容量调整方法的步骤。

本发明实施例包括以下优点:

本发明实施例通过中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;依据所述目标协议地址值,确定所述拓展芯片的目标引脚;依据所述状态设置值设置所述目标引脚的电平状态;依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。通过在服务器中物理设计引扩展芯片的引脚与内存槽位电压进行物理链接,通过读取设置扩展芯片的引脚的电平状态值实现对内存槽位电压的控制,对内存条的使用状态,进而调整实现对服务器内存容量的控制及服务器整机功耗的控制。

附图说明

图1是本发明的一种内存容量调整方法实施例的步骤流程图;

图2是本发明的另一种内存容量调整方法实施例的步骤流程图;

图3是本发明的一种内存容量调整方法的应用服务器的结构连接示意图;

图4是本发明的一种内存容量调整方法的槽位电压导通的结构连接示意图;

图5是本发明的一种内存容量调整方法的槽位电压截止的结构连接示意图;

图6是本发明的一种内存容量调整方法示例的步骤流程图;

图7是本发明的一种内存容量调整方法示例的泳道图一;

图8是本发明的一种内存容量调整方法示例的泳道图二;

图9是本发明的一种内存容量调整装置实施例的结构框图;

图10本发明的一种服务器实施例的结构框图;

图11是本发明实施例提供的一种电子设备的结构框图;

图12是本发明实施例提供的一种存储介质的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种内存容量调整方法实施例的步骤流程图,所述内存容量调整方法应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述内存容量调整方法具体可以包括如下步骤:

步骤101,读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

在本发明实施例中,在需要对内存容量进行调整时,可以读取内存设置信息,该内存设置信息包括目标协议地址值和状态设置值;目标协议地址值与拓展芯片的其中一个引脚对应。状态设置值则可以为一种两极化的值,如高电平和低电平等,本发明实施例对此不作限定。

步骤102,依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

在得到目标协议地址值后,首先根据目标协议地址值与拓展芯片的各个引脚对应的协议地址的匹配情况,确定出拓展芯片的目标引脚。

步骤103,依据所述状态设置值设置所述目标引脚的电平状态;

然后可以将拓展芯片的目标引脚的电平设置为与状态设置值对应的情况,从而实现对目标引脚的电平状态的调整。

步骤104,依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

基于目标引脚的电平状态,即可以将目标引脚的电平状态对与其对应内存槽位的槽位电压进行同步的调整,令目标引脚对应内存槽位的槽位电压进行调整或保持默认状态。其中单个槽位电压表征,其对应内存条的使用状态。从而在调整内存槽位的槽位电压时,即可以同步调整内存条的使用状态;基于整个服务器的全部内存条的使用状态,确定可以使用的内存条的数量,即可以实现对内存容量的调整。

本发明实施例通过中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;依据所述目标协议地址值,确定所述拓展芯片的目标引脚;依据所述状态设置值设置所述目标引脚的电平状态;依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。通过在服务器中物理设计引扩展芯片的引脚与内存槽位电压进行物理链接,通过读取设置扩展芯片的引脚的电平状态值实现对内存槽位电压的控制,对内存条的使用状态,进而调整实现对服务器内存容量的控制及服务器整机功耗的控制。

参照图2,示出了本发明的另一种内存容量调整方法实施例的步骤流程图,所述内存容量调整方法应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址。

在本发明实施例中,拓展芯片可以是多个拓展芯片,其根据需求确定,而且每个拓展芯片的引脚数量也是根据实际情况进行选择。本发明实施例不作限定。而拓展芯片可以是GPIO(General-purpose input/output,通用型之输入输出)接口拓展芯片。对于通讯协议可以是采用I2C(Inter-Integrated Circuit,集成电路总线)协议。具体的连接关系可以参照图3,服务器主板通过引入2个具备16个GPIO针脚的GPIO扩展芯片,提供32个GPIO控制针脚,将每个GPIO控制针脚与主板内存槽位进行物理连接;即每个GPIO控制针脚与对应的内存槽位的内存连接。可以将上述GPIO扩展芯片的I2C地址与处理器的I2C总线进行物理链接并设置唯一的I2C地址,一个GPIO扩展芯片需要一个单独的I2C地址且不能与其他设备重复I2C地址;GPIO扩展芯片的GPIO针脚需与内存槽的内存电压进行物理电路设计,即GPIO高电平导通电压输入,GPIO低电平断开电压导通电路。

所述内存容量调整方法具体可以包括如下步骤:

步骤201,读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

在本发明实施例中,可以通过不同的方式读取到内存设置信息,针对内存设置信息中的目标协议地址值和状态设置值确定需要进行设置的引脚以及设置状态。

在本发明的一可选实施例中,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述读取内存设置信息的步骤包括:响应于针对所述状态设置控件的设置操作;依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

在本发明实施例中,基板管理控制器会对应有一个管理页面,管理页面上设置有内存条或者内存槽位的状态设置控件。举例而言,该可以是状态设置控件使能或者关闭控制按钮。

当用户在状态设置控件上进行操作时,可以响应于针对状态设置控件的设置操作。根据该设置操作的选择的内存条或内存槽位,从多个内存槽位的协议地址中确定选择的内存条或内存槽位对应的协议地址为目标协议地址值。并且根据该设置操作的设置内容确定状态设置值。

最后将状态设置值和目标协议地址值确定内存设置信息进行读取,以获得内存设置信息。

在本发明的另一种可选实施例中,所述读取内存设置信息的步骤包括:从所述基板管理控制器中,读取智能平台管理接口指令;解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

在本发明实施例中,可以当用户需要远程进行控制时,可以通过智能平台管理接口发送相关设置指令至基板管理控制器中。因此,可以通过从基板管理控制器中,读取智能平台管理接口指令。针对读取到的智能平台管理接口指令中特定报文位置进行解析。举例而言,智能平台管理接口指令的命令格式是ipmitool raw 0x32 0x71 0x06 0x00 0x01;其中,可以针对后面两个字节进行解析0x00代表是第一个GPIO扩展芯片的第1个的GPIO,0x01代表设置成高状态即内存电压导通,若为0x0则代表关闭内存电压导通功能;0x10则代表是第二个GPIO扩展芯片的第1个的GPIO,0x01代表设置成高状态即内存电压导通,若为0x0则代表关闭内存电压导通功能。根据解析得到的报文内容确定状态设置值和目标协议地址值;通过读取状态设置值和目标协议地址值为内存设置信息。

步骤202,依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

根据目标协议地址值,查询与其对应的拓展芯片的引脚,即为拓展芯片的目标引脚。

在本发明的一可选实施例中,所述目标协议地址值为多个时,所述依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤包括:判断所述目标协议地址值是否为最后一个目标协议地址值;响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

此外,当目标协议地址值为多个时,即需要同时对多个内存条进行设置。此时,可以在执行判断该目标协议地址值是否为最后一个目标协议地址值。当目标协议地址值是不为最后一个目标协议地址值,首先可以执行依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤,确定出当前目标协议地址值对应的拓展芯片的目标引脚。然后更新下一个目标协议地址值,然后基于更新后的目标协议地址值确定新的拓展芯片的目标引脚,以此循环,直至将最后一个目标协议地址值对应的拓展芯片的目标引脚也确定,将全部的拓展芯片的目标引脚作为需要处理的拓展芯片的目标引脚。

步骤203,依据所述状态设置值设置所述目标引脚的电平状态;

可以将根据状态设置值设置目标引脚的电平状态,以使得目标引脚的电平状态与状态设置值一致。如状态设置值为高电平,则将目标引脚的电平状态设为高电平。

在本发明的一可选实施例中,所述目标引脚的电平状态初始为高电平状态;所述依据所述状态设置值设置所述目标引脚的电平状态的步骤包括:响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

在本发明实施例中,目标引脚的电平状态初始为高电平状态,即默认的情况下为高电平状态。当状态设置值为预设高电平设置值时,可以响应于状态设置值为预设高电平设置值,保持目标引脚的电平状态,以使目标引脚的电平状态保持高电平状态。当状态设置值为预设低电平设置值时,可以响应于状态设置值为预设低电平设置值,切换目标引脚的电平状态,将目标引脚的高电平状态切换为低电平状态,以使目标引脚的电平状态为低电平状态。

步骤204,依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

步骤205,依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

在本发明实施例中,可以依据目标引脚的电平状态将目标引脚对应的内存槽位的槽位电压导通,即使得内存槽位的槽位电压设为高电平,进而使能内存条,可以使用该内存条进行业务处理,即增加内存容量。和/或,可以依据目标引脚的电平状态将目标引脚对应的内存槽位的槽位电压截止,即使得内存槽位的槽位电压设为低电平,进而关闭内存条,不将该内存条作为业务处理可用的内存,即减少内容容量。通过设置对应的内存槽位电压即可实现隔离,无需整体拆除更换,可以提高运维效率。

在本发明的一可选实施例中,参照图4和图5,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可以参照图4,响应于目标引脚的电平状态为高电平状态,将目标引脚与目标引脚对应的内存槽位的连接电路接入电压端,此时,即目标引脚与目标引脚对应的内存槽位的连接电路接预设电源,内存槽位的电压为高电平,导通目标引脚对应的内存槽位的槽位电压。

可以参照图5,响应于目标引脚的电平状态为低电平状态,将目标引脚与目标引脚对应的内存槽位的连接电路接入接地端,此时,即目标引脚与目标引脚对应的内存槽位的连接电路接入电源地线,内存槽位的电压为低电平,截止目标引脚对应的内存槽位的槽位电压。

本发明实施例通过中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;依据所述目标协议地址值,确定所述拓展芯片的目标引脚;依据所述状态设置值设置所述目标引脚的电平状态;依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。通过在服务器中物理设计引扩展芯片的引脚与内存槽位电压进行物理链接,通过读取设置扩展芯片的引脚的电平状态值实现对内存槽位电压的控制,对内存条的使用状态,进而调整实现对服务器内存容量的控制及服务器整机功耗的控制;并且在需要对内存条进行隔离时,可以通过设置对应的内存槽位电压即可实现隔离,无需整体拆除更换,可以提高运维效率;而且可以在隔离故障的内存条,避免引起更大的服务器错误,可以提高运行效率。

为了使本领域技术人员可以更清楚本发明实施例的实施过程,以下用示例进行说明:

参照图6,示出了本发明的一种内存容量调整方法实施例的步骤流程图,

对内存的电压控制需要在服务器关机的情况下进行操作,若开机则会出现服务器数据丢失或者不可控的风险问题,这是因为服务器开机后,所有的数据均运行在服务器的内存上,若内存出现问题则将无法预测服务器故障。

具体地,可以服务器关机后,根据用户在基板管理控制器的管理网页或者IPMI(Intelligent Platform Management Interface,智能平台管理接口)命令确定需要控制拓展芯片的对应目标引脚的电平,在根据目标引脚的电平控制对应内存槽位电压,从而控制内存条是否使能,进而实现对内存容量的控制。

针对于基板管理控制的管理网页的控制过程,可以参照图7,BMC(基板管理控制器)网页通过在内存管理界面增加内存条或者内存槽位的使能或者关闭控制按钮,控制按钮通过接口函数采用I2C协议对内存槽位的电压物理链接的GPIO信号状态值进行设置高或低状态以实现内存槽位的内存使能或者关闭;

针对于基板管理控制器的IPMI命令的控制过程,可以参照图8,采用BMC端的IPMI命令可带外远程对服务器主板内存槽位的内存电压进行控制,命令格式是 ipmitool raw0x32 0x71 0x06 0x00 0x01,其中,后面2个字节,0x00代表是第一个GPIO扩展芯片的第1个的GPIO,0x01代表设置成高状态即内存电压导通,若为0x0则代表关闭内存电压导通功能;0x10则代表是第二个GPIO扩展芯片的第1个的GPIO,0x01代表设置成高状态即内存电压导通,若为0x0则代表关闭内存电压导通功能;第16个GPIO信号则用0x0F代表即可。

通过上述两种方式中的其中一种对内存进行控制,从而实现对内存容量的调整。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图9,示出了本发明的一种内存容量调整装置实施例的结构框图,所述内存容量调整装置应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述内存容量调整装置具体可以包括如下模块:

读取模块901,用于读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

目标引脚确定模块902,用于依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

第一设置模块903,用于依据所述状态设置值设置所述目标引脚的电平状态;

第二设置模块904,用于依据所述目标引脚的电平状态控制所述目标引脚对应的内存槽位与所述内存条的连接状态,以调整内存容量。

在本发明的一可选实施例中,所述第二设置模块904包括:

导通设置子模块,用于依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

截止设置子模块,用于依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

在本发明的一可选实施例中,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述导通设置子模块包括:

第一响应单元,用于响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述截止设置子模块包括:

第二响应单元,用于响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

在本发明的一可选实施例中,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述读取模块901包括:

第二响应子模块,用于响应于针对所述状态设置控件的设置操作;

设置操作确定子模块,用于依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

第一读取子模块,用于读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

在本发明的一可选实施例中,所述目标引脚的电平状态初始为高电平状态;所述第一设置模块903包括:

第三响应子模块,用于响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;

第四响应子模块,用于响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

在本发明的一可选实施例中,所述读取模块901包括:

第二读取子模块,用于从所述基板管理控制器中,读取智能平台管理接口指令;

解析子模块,用于解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

第三读取子模块,用于读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

在本发明的一可选实施例中,所述目标协议地址值为多个时,所述目标引脚确定模块902包括:

判断子模块,用于判断所述目标协议地址值是否为最后一个目标协议地址值;

第五响应子模块,用于响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

参照图10,本发明实施例还提供一种服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;

所述基板管理控制器读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

所述基板管理控制器依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

所述中央处理器依据所述状态设置值设置所述目标引脚的电平状态;

所述中央处理器依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

可选地,所述中央处理器依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压的步骤包括:

所述中央处理器依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

所述中央处理器依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

可选地,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述中央处理器依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

所述中央处理器响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述中央处理器依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

所述中央处理器响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可选地,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述基板管理控制器读取内存设置信息的步骤包括:

所述基板管理控制器响应于针对所述状态设置控件的设置操作;

所述基板管理控制器依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

所述基板管理控制器读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述基板管理控制器读取内存设置信息的步骤包括:

所述基板管理控制器从所述基板管理控制器中,读取智能平台管理接口指令;

所述基板管理控制器解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

所述基板管理控制器读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标引脚的电平状态初始为高电平状态;所述中央处理器依据所述状态设置值设置所述目标引脚的电平状态的步骤包括:

所述中央处理器响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;

所述中央处理器响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

可选地,所述目标协议地址值为多个时,所述基板管理控制器依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤包括:

所述基板管理控制器判断所述目标协议地址值是否为最后一个目标协议地址值;

所述基板管理控制器响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

参照图11,本发明实施例还提供了一种电子设备,包括:

处理器1101和存储介质1102,所述存储介质1102存储有所述处理器1101可执行的计算机程序,当电子设备运行时,所述处理器1101执行所述计算机程序,以执行如本发明实施例任一项所述的内存容量调整方法。

所述内存容量调整方法,应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述方法包括:

读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

依据所述状态设置值设置所述目标引脚的电平状态;

依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

可选地,所述依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压的步骤包括:

依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

可选地,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可选地,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述读取内存设置信息的步骤包括:

响应于针对所述状态设置控件的设置操作;

依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标引脚的电平状态初始为高电平状态;所述依据所述状态设置值设置所述目标引脚的电平状态的步骤包括:

响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;

响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

可选地,所述读取内存设置信息的步骤包括:

从所述基板管理控制器中,读取智能平台管理接口指令;

解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标协议地址值为多个时,所述依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤包括:

判断所述目标协议地址值是否为最后一个目标协议地址值;

响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

其中,存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

参照图12,本发明实施例还提供了一种计算机可读存储介质1201,所述存储介质1201上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的内存容量调整方法。

所述内存容量调整方法,应用于服务器,所述服务器设置至少一路中央处理器,所述中央处理器设置有多个内存槽位,所述内存槽位用于安装内存条,所述多个内存槽位通过至少一个拓展芯片与基板管理控制器的通信协议接口连接,所述多个内存槽位与所述拓展芯片具有不同的协议地址;所述多个内存槽位与所述拓展芯片的引脚一一对应;所述方法包括:

读取内存设置信息,所述内存设置信息包括目标协议地址值和状态设置值;

依据所述目标协议地址值,确定所述拓展芯片的目标引脚;

依据所述状态设置值设置所述目标引脚的电平状态;

依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压,所述槽位电压用于调整所述内存条的使用状态。

可选地,所述依据所述目标引脚的电平状态设置所述目标引脚对应内存槽位的槽位电压的步骤包括:

依据所述目标引脚的电平状态,导通所述目标引脚对应的内存槽位的槽位电压,以使能所述内存条;和/或;

依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压,以关闭所述内存条。

可选地,所述目标引脚与所述目标引脚对应的内存槽位之间设置有电压端和接地端,所述电压端通过上拉电阻连接于预设电源,所述接地端包括预设电源地线;

所述依据所述目标引脚的电平状态导通所述目标引脚对应的内存槽位与所述内存条的步骤包括:

响应于所述目标引脚的电平状态为高电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述电压端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源,导通所述目标引脚对应的内存槽位的槽位电压;

对应的,所述依据所述目标引脚的电平状态,截止所述目标引脚对应的内存槽位的槽位电压的步骤包括:

响应于所述目标引脚的电平状态为低电平状态,将所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述接地端,以使所述目标引脚与所述目标引脚对应的内存槽位的连接电路接入所述预设电源地线,截止所述目标引脚对应的内存槽位的槽位电压。

可选地,所述基板管理控制器对应有管理页面;所述管理页面具有与所述内存条或所述多个内存槽位对应的状态设置控件;所述读取内存设置信息的步骤包括:

响应于针对所述状态设置控件的设置操作;

依据所述设置操作,从所述多个内存槽位的协议地址中确定所述目标协议地址值;以及确定所述状态设置值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标引脚的电平状态初始为高电平状态;所述依据所述状态设置值设置所述目标引脚的电平状态的步骤包括:

响应于所述状态设置值为预设高电平设置值时,保持所述目标引脚的电平状态;

响应于所述状态设置值为预设低电平设置值时,切换所述目标引脚的电平状态。

可选地,所述读取内存设置信息的步骤包括:

从所述基板管理控制器中,读取智能平台管理接口指令;

解析所述智能平台管理接口指令的目标字节,确定所述状态设置值和所述目标协议地址值;

读取所述状态设置值和所述目标协议地址值为所述内存设置信息。

可选地,所述目标协议地址值为多个时,所述依据所述目标协议地址值,确定所述拓展芯片的目标引脚的步骤包括:

判断所述目标协议地址值是否为最后一个目标协议地址值;

响应于所述目标协议地址值不为所述最后一个目标协议地址值时,依据所述目标协议地址值,确定所述拓展芯片的目标引脚,更新所述目标协议地址值,直至所述目标协议地址值为所述最后一个目标协议地址值。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

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

以上对本发明所提供的一种内存容量调整方法、一种内存容量调整装置、一种服务器、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种带有执行器故障的非线性切换系统的可靠控制方法
  • 一种基于暂态扰动的配网电缆早期故障定位系统及其控制方法
  • 一种故障时可临时切换的控制电缆
  • 一种光纤故障时传输业务的切换和保护装置及控制方法
技术分类

06120116555666