一种电源管理方法以及系统与流程

文档序号:11475396阅读:179来源:国知局
一种电源管理方法以及系统与流程

本发明涉及电源管理领域,尤其涉及一种电源管理方法以及系统。



背景技术:

刀片式服务器主要用于在大数据、云端等场景下实现存储和计算功能。在刀片服务器中,每个服务器单元可以被看做为一个节点,节点的上电下电等电源相关操作由节点中的pch来管理实现。

现阶段的刀片服务器中一般包括多个节点,其中一个节点为主节点,其余的节点为从节点,主节点和从节点一同组成了多节点系统。其中,主节点中的pch负责统一管理所有节点的上电下电等功能,以保证各节点的一致性。从节点的pch不被使用,可以设置为休眠状态。

但是在实际应用中,使用一个节点的pch对全部节点的上下电进行管理,会导致主节点pch的工作负担很大,上电时延较长,得不到很好的上电效果。



技术实现要素:

本发明提供了一种电源管理方法,用于提升多节点系统的上电效果。本发明还提供了相关的多节点系统。

本发明第一方面提供了一种电源管理方法,适用于多节点系统。该多节点系统包括电源管理模块和多个节点,该多个节点中有一个节点作为主节点,其余的节点作为从节点。每个节点都至少包括cpu、cpld、pch、flash。其中,电源管理模块在确定多节点系统上电时,向每个节点发送上电指令以指示节点上电。每个节点在接收到电源管理模块发送的上电指令后,分别开始上电。其中,每个节点的上电操作由节点本地的pch控制,各节点的上电操作彼此独立。从节点在上电完成后,将从节点本地的pch切换到休眠状态。本发明中各个节点pch分别从本地的flash中上载bios以执行上电流程。与现有技术中主节点pch负责多节点系统中全部节点的bios的上载相比,本发明实施例提供的方法能够减小主节点pch的负担,加快系统上电速度,上 电效果较好。

可选的,从节点的pch还可以仅在上电起始阶段从本地的flash中上载bios,在本地的内存初始化后,改为从主节点的flash中继续上载bios。这样,各节点在内存初始化后均从主节点的flash中继续上载bios,在上电完成后能够保证较高的一致性。

可选的,当多节点系统待下电时,主节点的pch拉低休眠控制信号,并将拉低后的休眠控制信号发送给电源管理模块。该休眠控制信号用于指示节点下电。主节点在向电源管理模块发送休眠控制信号后下电。电源管理模块在接收到休眠控制信号后,向每个从节点发送休眠控制信号,各从节点在接收到休眠控制信号后下电并隔离异常下电信息。从节点下电后,拉低从节点本地的休眠控制信号,以保证在多节点系统启动下一次上电流程时,多节点系统中各节点的pch的状态可以保持一致。

可选的,主节点的pch可以在接收到用户、节点或其它设备发送的下电指令后,确定多节点系统待下电,并触发拉低休眠控制信号的操作。或,主节点的pch可以在主节点的cpu产生热断路信号时,确定多节点系统待下电,并触发拉低休眠控制信号的操作。或,从节点的cpu产生热断路信号后,可以将产生的热断路信号上报给电源管理模块,由电源管理模块下发给主节点的pch。主节点的pch在接收到从节点的热断路信号后,确定多节点系统待下电,并触发拉低休眠控制信号的操作。

可选的,从节点在热复位之前,从节点本地的cpld拉低pch电源好信号和系统电源好信号,以重新激活从节点的pch与cpu之间的dmi总线,然后各节点执行热复位操作。在完成了热复位操作后,从节点再关闭dmi总线。通过这样的方法,本发明实施例在仍然支持热插拔的情况下实现了多节点系统的热复位,提高了多节点系统的灵活性。

本发明第二方面提供了一种多节点系统,该多节点系统包括电源管理模块和多个节点,该多个节点中有一个节点作为主节点,其余的节点作为从节点。每个节点都至少包括cpu、cpld、pch、flash。电源管理模块用于在确定多节点系统上电时,向每个节点发送上电指令以指示节点上电。每个节点在接收到电源管理模块发送的上电指令后,分别开始上电。其中,每个节点 的pch用于在上电时从本地flash中上载bios,并在上电完成后切换到休眠状态。

可选的,每个节点的pch还用于,在上电时从本地flash中上载bios,直至本地内存初始化。在本地内存初始化后,主节点的pch继续从本地flash中上载bios,而从节点的pch改为从主节点的flash中继续上载bios。

可选的,主节点的pch还用于在确定下电时,拉低本地休眠控制信号,并将拉低后的所述休眠控制信号发送给电源管理模块,然后将主节点下电。电源管理模块还用于:在接收到主节点的pch发送的休眠控制信号后,向各个从节点发送休眠控制信号。各个从节点还用于:在接收到电源管理模块发送的休眠控制信号后下电,并在下电后拉低本地休眠控制信号。

可选的,主节点可以通过很多方法确定下电并拉低本地休眠控制信号,例如,主节点的pch可以接收下电指令,并触发拉低休眠控制信号的操作;或,主节点的cpu用于产生热断路信号,触发主节点的pch拉低休眠控制信号的操作;或,电源管理模块还用于向主节点发送热断路信号,主节点接收到热断路信号后,触发主节点的pch拉低休眠控制信号的操作。

可选的,若系统待进行热复位,则各个从节点的cpld还用于在热复位之前,激活本地cpu与本地pch之间的dmi总线。在所有节点的本地cpu与本地pch之间的dmi总线处于激活状态后,各个节点执行热复位操作。从节点在执行完热复位操作之后,关闭本地cpu与本地pch之间的dmi总线。

本发明提供的电源管理方法中,各个节点的pch在电源管理模块向多节点系统中的各节点下发上电指令后,分别从本地的flash中上载bios以执行上电流程。与现有技术中主节点pch负责多节点系统中全部节点的bios的上载相比,本发明实施例提供的方法能够减小主节点pch的负担,加快系统上电速度,上电效果较好。

附图说明

图1为单个节点的结构示意图;

图2为多节点系统的结构示意图;

图3为本发明所提供的电源管理方法一个实施例流程图。

具体实施方式

本发明提供了一种电源管理方法,用于提升多节点系统的上电效果。本发明还提供了相关的多节点系统,以下将分别进行描述。

刀片式服务器(英文:bladeserver)是一种专门为特殊应用行业和高密度计算机环境设计的低成本的服务器平台,其在标准高度的机架式机箱内插装多个卡式的服务器单元(即“刀片”),进而实现高可用高密度(英文:highavailabilityhighdensity,缩写:hahd)的技术效果。

刀片式服务器中的每个卡式服务器单元可以看做为一个节点,一个刀片式服务器中可以包括一个或多个节点。其中,单个节点的基本结构请参阅图1,具体可以包括中央处理器(英文:centralprocessingunit,缩写:cpu)、复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld)、集成南桥(英文:platformcontrollerhub,缩写:pch)、还包括内存、闪存(英文flash)等存储部件。其中,cpu承担了节点的大部分的计算功能;cpld用于执行一些简单的逻辑控制操作;flash等存储部件则主要用于存储一些数据、程序或指令;pch主要负责控制节点的上电下电等电源相关操作,如从flash中上载基本输入输出系统(英文:basicinputoutputsystem,缩写:bios)使得节点上电。

现阶段的刀片服务器一般采用多个节点来组成多节点系统,并采用电源管理模块与各节点的cpld相连,以实现对各个节点的电源的管理,如图2所示。其中,为了便于多节点系统的协调管理,一般要求各节点一致上电和/或一致下电。且为了保证各节点上电或下电的一致性,现阶段的技术一般会在该多个节点中选出一个主节点,将其余的节点作为从节点。主节点中的pch负责统一管理所有节点的上电下电等功能,以保证各节点的一致性。从节点的pch不被使用,可以设置为休眠状态。

但是在实际应用中,使用一个节点的pch对全部节点的上下电进行管理,会使得主节点的pch需要为每个从节点上载bios,这就导致了主节点pch的工作负担较大,上电时延较长,得不到很好的上电效果。

针对上述问题,本申请在图2所示多节点系统的基础上提供了一种电源管理方法,其基本流程请参阅图3:

301、电源管理模块向每个节点发送上电指令。

电源管理模块在接收到用户的指令后或在其它情况下,确定多节点系统上电,于是向每个节点发送上电指令以指示节点上电。多节点系统中的每个节点接收该上电指令。

302、每个节点分别根据接收到的上电指令进行上电。

多节点系统中的每个节点在接收到电源管理模块发送的上电指令后,分别开始上电。其中,每个节点的上电操作由节点本地的pch控制,各节点的上电操作彼此独立。

具体的,各节点在接收到上电指令后,由pch产生cpu电源好信号(cpu_pg信号)并由cpld转发给cpu,使得cpu单板上电。在单板上电完成后,cpld向pch发送系统电源好信号(sys_pweok信号)。pch在接收到sys_pweok信号后向cpld发送平台复位信号(plt_rst信号),触发平台复位。

但是,若各个节点完全独立上电,有可能会导致多节点系统的一致性不好。可选的,为了保证各节点的一致性,本发明实施例中,cpld在接收到pch发送的cpu_pg信号后,并不是直接将该cpu_pg信号发送给cpu,而是将该cpu_pg信号上报给电源管理模块。电源管理模块在接收到所有节点的cpu_pg信号后,按照分时上电的时间间隔要求向每个节点的cpld下发cpu_pg信号,然后节点的cpld将来自电源管理模块的cpu_pg信号信号发送给cpu。通过这样的方法,能够保证各节点的cpu单板能够按照分时上电时间间隔的要求上电,系统的上电一致性较好。

同理可选的,cpld在接受到pch发送的plt_rst信号后,并不是直接触发平台复位,而是将该plt_rst信号上报给电源管理模块。电源管理模块在接收到所有节点的plt_rst信号后,再向每个节点的cpld下发plt_rst信号。节点的cpld在接收到来自电源管理模块的plt_rst信号后,再触发平台复位。

可选的,由于无论是主节点还是从节点,每个节点的上电操作均由节点本地的pch控制,因此各节点的pch可以从本地的flash中上载bios。但是若各节点均从本地flash中上载bios,必然无法保证多节点系统的节点一致 性。因此可选的,从节点的pch还可以仅在上电起始阶段从本地的flash中上载bios,在本地的内存初始化后,改为从主节点的flash中继续上载bios。这样,各节点在内存初始化后均从主节点的flash中继续上载bios,在上电完成后能够保证较高的一致性。

303、从节点的pch切换到休眠状态。

在节点上电完成后,pch结束上电流程,工作负载大大下降。此时只需要使用一个节点的pch就能够实现对所有节点的电源的管理。因此本发明实施例中,从节点的pch在从节点上电完成后切换到休眠状态,不再主导从节点的电源管理操作。各节点的电源管理都改为由主节点的pch来主导。

步骤301至303详细介绍了本发明提供的电源管理方法中,多节点系统如何执行上电流程。其中,在电源管理模块向多节点系统中的各节点下发上电指令后,各个节点的pch分别从本地的flash中上载bios以执行上电流程。与现有技术中主节点pch负责多节点系统中全部节点的bios的上载相比,本发明实施例提供的方法能够减小主节点pch的负担,加快系统上电速度,上电效果较好。

本发明实施例提供的电源管理方法不仅可以涉及上电流程,还可以包括对应的下电流程,具体的下电流程请参阅步骤304至308。

304、主节点的pch向电源管理模块发送拉低的休眠控制信号。

步骤303中提到,在上电流程结束后,各节点的电源管理都改为由主节点的pch来主导。因此多节点系统的下电流程也由主节点的pch主导。故当多节点系统待下电时,主节点的pch拉低休眠控制信号,并将拉低后的休眠控制信号发送给电源管理模块。该休眠控制信号用于指示节点下电。其中,休眠控制信号可以为slp_s0信号~slp_s5信号中的任一个,此处不做限定。

其中,主节点的pch可以在多种情况下确定多节点系统待下电。具体的,主节点的pch可以在接收到用户、节点或其它设备发送的下电指令后,确定多节点系统待下电,并触发拉低休眠控制信号的操作。或,主节点的pch可以在主节点的cpu产生热断路信号(thrmtrip信号)时,确定多节点系统待下电,并触发拉低休眠控制信号的操作。或,从节点的cpu产生thrmtrip信号后,可以将产生的thrmtrip信号上报给电源管理模块,由电源管理模 块下发给主节点的pch。主节点的pch在接收到从节点的thrmtrip信号后,确定多节点系统待下电,并触发拉低休眠控制信号的操作。

305、主节点下电。

主节点在向电源管理模块发送休眠控制信号后下电。

306、电源管理模块向每个从节点发送休眠控制信号;

电源管理模块在接收到休眠控制信号后,向每个从节点发送休眠控制信号,使得从节点可以根据休眠控制信号下电。各从节点的cpld接收该休眠控制信号。

307、从节点根据接收到的休眠控制信号下电。

各从节点在接收到休眠控制信号后下电。值得指出的是,本发明实施例提供的下电流程是一种非正常下电的流程,因此从节点在下电时需要隔离异常下电信息,使得从节点被休眠控制信号触发的下电流程不会被认为是异常下电。

308、从节点的pch拉低本地休眠控制信号。

从节点下电后,从节点可以通过基板管理控制器(英文:baseboardmanagementcontroller,缩写:bmc)持续拉低pch的电源按钮信号(pwr_btn信号)4秒等方式,拉低从节点本地休眠控制信号,以保证在多节点系统启动下一次上电流程时,多节点系统中各节点的pch的状态可以保持一致。

上面的步骤304至308介绍了本发明提供的多节点系统下电流程。下面将介绍本发明提供的多节点系统热复位流程。

一般的,节点的cpu与pch之间通过dmi总线相连。其中,由于从节点的pch在多节点系统上电后不再主导电源管理操作,且dmi总线也不支持热插拔,所以在多节点系统上电后从节点的dmi总线一般都处于关闭状态。这就导致在多节点系统试图热复位时,从节点的pch无法通过dmi总线向cpu发送热复位请求,进而就无法收到cpu对热复位请求的确认消息。在这种情况下,pch不会进行热复位,而是会认为系统运行异常并进行冷复位。为了在多节点系统中实现热复位,本发明实施例中在热复位之前,从节点的cpld拉低pch电源好信号(pch_pwrok信号)和sys_pwrok信号,以重新激活从节点的pch与cpu之间的dmi总线,然后各节点执行热复位 操作。在完成了热复位操作后,从节点再关闭dmi总线。通过这样的方法,本发明实施例在仍然支持热插拔的情况下实现了多节点系统的热复位,提高了多节点系统的灵活性。

图3所示的实施例介绍了本发明提供的电源管理方法的基本流程,下面将结合图2介绍一种多节点系统,该多节点系统在运行时执行图3所示的电源管理方法。

具体的,该多节点系统中的电源管理模块向每个节点发送上电指令,以指示节点上电。多节点系统中的每个节点接收该上电指令。多节点系统中的每个节点在接收到电源管理模块发送的上电指令后,分别开始上电。在上电开始阶段,每个节点都从本地flash中上载bios,但从节点的pch在从节点的内存初始化后,改为从主节点的flash中继续上载bios。在下电时,主节点的pch拉低主节点本地的休眠控制信号,并将拉低的休眠控制信号发送给电源管理模块,然后控制主节点下电。电源管理模块在接收到休眠控制信号后,向系统中的各个从节点发送休眠控制信号,从节点在接收到休眠控制信号后下电,并在下电后拉低从节点本地的休眠控制信号。其中,主节点的pch拉低本地休眠信号的操作,可以在主节点的pch接收到下电指令后触发,或在主节点的cpu产生热断路信号后触发,或在主节点接收到电源管理模块发送的热断路信号后触发,此处不做限定。若多节点系统需要执行热复位操作,则从节点的cpld激活本地cpu和pch之间的dmi总线,然后系统中的各节点执行热复位操作。从节点在完成了热复位操作后,再关闭dmi总线。

多节点系统执行电源管理方法的详细解释可以参考图3所示的方法实施例中的相关描述,此处不做赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,缩写:rom)、随机存取存储器(英文:randomaccessmemory,缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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