一种多分区服务器系统的PCIE子系统电源控制系统及方法转让专利

申请号 : CN201710348166.6

文献号 : CN107066415B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程万前张燕群

申请人 : 郑州云海信息技术有限公司

摘要 :

本发明公开了一种多分区服务器系统的PCIE子系统电源控制系统及方法,将所有计算节点连接到PCIE板卡中,并由PCIE板卡电源供电,当所有计算节点都关机时,该PCIE板卡电源供电关断,其它情况,即非所有计算节点都关机时则电源开启,这里的PCIE板卡电源为系统中的电源电路。本发明的一种多分区服务器系统的PCIE子系统电源控制系统及方法与现有技术相比,通过综合各个节点的开关机情况进行处理,实现了PCIe板卡根据计算节点的情况进行上下电,并向计算节点反馈处理完成信号。实现了PCIe子系统工作的稳定可靠,实用性强,适用范围广泛,具有很好的推广应用价值。

权利要求 :

1.一种多分区服务器系统的PCIE子系统电源控制系统,其特征在于,其结构包括若干计算节点、PCIE板卡,该PCIE板卡上集成配置有管理控制器、CPLD和电源电路,其中管理控制器网络连接计算节点,并接收来自计算节点的开关机信息;CPLD通过GPIO接口连接到管理控制器,并通过获取来自管理控制器的上电信号,控制电源电路开关,控制完成后发送对应的完成信号给管理控制器;

管理控制器将2N个GPIO接口连接到CPLD,这里的N为计算节点的数量,即每两个GPIO接口对应一个计算节点,且两个GPIO接口分别传输上电信号和完成信号,上电信号用于向CPLD传递其对应计算节点的开机情况,该计算节点开机时对应的上电信号为高,计算节点关机时对应的上电信号为低;每当上电信号发生变化时,CPLD检测到此变化并进行相关处理,处理完成后向管理控制器发送完成信号,来指示操作完成。

2.根据权利要求1所述的一种多分区服务器系统的PCIE子系统电源控制系统,其特征在于,管理控制器网络连接计算节点是指计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器。

3.根据权利要求1所述的一种多分区服务器系统的PCIE子系统电源控制系统,其特征在于,所述电源电路为向PCIE板卡供电的电源模块,CPLD通过向电源电路发送上电控制信号控制电源电路的开关,并读取电源电路发送的上电完成信号来确认电源电路是上电状态还是断电状态。

4.根据权利要求1所述的一种多分区服务器系统的PCIE子系统电源控制系统,其特征在于,所述CPLD内配置2N位用于电源管理的寄存器来完成对上电信号的管理,该寄存器用于指示CPLD目前的相关信号处理状况,其中寄存器定义如下:前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。

5.一种多分区服务器系统的PCIE子系统电源控制方法,其特征在于,其实现过程为,将所有计算节点连接到PCIE板卡中,并由PCIE板卡电源供电,当所有计算节点都关机时,该PCIE板卡电源供电关断,其它情况,即非所有计算节点都关机时则电源开启,这里的PCIE板卡电源为系统中的电源电路;

其具体实现过程为:

首先计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器;

管理控制器将上电信号发送给CPLD,CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号;

当所有计算节点都关机时,CPLD控制电源电路关断,不再进行供电,其它情况则电源开启;

所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的关机信号处理流程如下:CPLD检测到节点1关机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;

然后设置寄存器,在寄存器的对应位指示节点1有信号在处理中;

判断其它节点是否开机,如果有节点开机则不关闭板卡电源,仅仅设置节点1的关机状态,并指示节点1信号处理完成;当其它所有节点均关机时,向电源发送关闭信号,关闭完成后再设置节点1的关机状态,并指示节点1信号处理完成;

至此完成对节点1关机动作的处理。

6.根据权利要求5所述的一种多分区服务器系统的PCIE子系统电源控制方法,其特征在于,所述上电信号是否跳变是指配置在CPLD内的寄存器状态是否变化,该寄存器内的状态包括2N位,N为计算节点的数量,前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。

7.根据权利要求5所述的一种多分区服务器系统的PCIE子系统电源控制方法,其特征在于,所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的开机信号处理流程如下:CPLD检测到节点1开机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;

之后设置寄存器指示节点1有信号在处理中;

判断其它节点是否开机,当有节点开机时,表示板卡电源已经开启,此时设置节点1为开机状态,并指示节点1信号处理完成;当其它节点均关机时,向电源发送开启信号,开启完成后再设置节点1的开机状态,并指示节点1信号处理完成;

至此完成对节点1开机动作的处理。

说明书 :

一种多分区服务器系统的PCIE子系统电源控制系统及方法

技术领域

[0001] 本发明涉及计算机技术领域,具体地说是一种多分区服务器系统的PCIE子系统电源控制系统及方法。

背景技术

[0002] 在服务器设计中,除了内存、CPU互联外,其他外围设备基本都通过PCIe总线接入到服务器系统,包括网卡,RAID卡,HBA卡等。PCIe设备大多通过PCIe插槽接到系统。在服务器设计中,经常有把多个PCIe插槽集成在一个板卡上,作为一个PCIe子系统。在现有技术中,PCIe子系统和计算节点是一一对应的,如图1所示。
[0003] 但是在有些多分区服务器的设计中,也可以选择将多个分区对应连接同一个PCIe板卡,每个节点都连接PCIe板卡的部分PCIe插槽,如图2所示。
[0004] 对于PCIe板卡有如下要求:计算节点开关机时,会发送信号将PCIe板卡的电源也打开或关断,在操作执行完成后,PCIe板卡向计算节点反馈操作完成信号。
[0005] 在上述第一种框图设计中,这一要求易于实现。但是在第二种设计中,PCIe板卡的电源需要满足:计算节点1和计算节点2都关机时,PCIe板卡电源关断,其他情况下电源开启。PCIe板卡需要综合两个计算节点发来的电源控制信号进行板卡的电源控制,并反馈操作完成信号。
[0006] 因此在第二种设计方案中如何实现对PCIe子系统进行电源管理是本领域亟需解决的技术问题,基于此,本发明提供一种多分区服务器系统的PCIE子系统电源控制系统及方法。

发明内容

[0007] 本发明的技术任务是针对以上不足之处,提供一种多分区服务器系统的PCIE子系统电源控制系统及方法。
[0008] 一种多分区服务器系统的PCIE子系统电源控制系统,其结构包括若干计算节点、PCIE板卡,该PCIE板卡上集成配置有管理控制器、CPLD和电源电路,其中管理控制器网络连接计算节点,并接收来自计算节点的开关机信息;CPLD通过GPIO接口连接到管理控制器,并通过获取来自管理控制器的上电信号,控制电源电路开关,控制完成后发送对应的完成信号给管理控制器。
[0009] 管理控制器网络连接计算节点是指计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器。
[0010] 管理控制器将2N个GPIO接口连接到CPLD,这里的N为计算节点的数量,即每两个GPIO接口对应一个计算节点,且两个GPIO接口分别传输上电信号和完成信号,上电信号用于向CPLD传递其对应计算节点的开机情况,该计算节点开机时对应的上电信号为高,计算节点关机时对应的上电信号为低;每当上电信号发生变化时,CPLD检测到此变化并进行相关处理,处理完成后向管理控制器发送完成信号,来指示操作完成。
[0011] 所述电源电路为向PCIE板卡供电的电源模块,CPLD通过向电源电路发送上电控制信号控制电源电路的开关,并读取电源电路发送的上电完成信号来确认电源电路是上电状态还是断电状态。
[0012] 所述CPLD内配置2N位用于电源管理的寄存器来完成对上电信号的管理,这里的N为计算节点的数量,该寄存器用于指示CPLD目前的相关信号处理状况,其中寄存器定义如下:前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。
[0013] 一种多分区服务器系统的PCIE子系统电源控制方法,基于上述系统,其实现过程为,将所有计算节点连接到PCIE板卡中,并由PCIE板卡电源供电,当所有计算节点都关机时,该PCIE板卡电源供电关断,其它情况,即非所有计算节点都关机时则电源开启,这里的PCIE板卡电源为系统中的电源电路。
[0014] 其具体实现过程为:
[0015] 首先计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器;
[0016] 管理控制器将上电信号发送给CPLD,CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号;
[0017] 当所有计算节点都关机时,CPLD控制电源电路关断,不再进行供电,其它情况则电源开启。
[0018] 所述上电信号是否跳变是指配置在CPLD内的寄存器状态是否变化,该寄存器内的状态包括2N位,N为计算节点的数量,前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。
[0019] 所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的关机信号处理流程如下:
[0020] CPLD检测到节点1关机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;
[0021] 然后设置寄存器,在寄存器的对应位指示节点1有信号在处理中;
[0022] 判断其它节点是否开机,如果有节点开机则不关闭板卡电源,仅仅设置节点1的关机状态,并指示节点1信号处理完成;当其它所有节点均关机时,向电源发送关闭信号,关闭完成后再设置节点1的关机状态,并指示节点1信号处理完成;
[0023] 至此完成对节点1关机动作的处理。
[0024] 所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的开机信号处理流程如下:
[0025] CPLD检测到节点1开机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;
[0026] 之后设置寄存器指示节点1有信号在处理中;
[0027] 判断其它节点是否开机,当有节点开机时,表示板卡电源已经开启,此时设置节点1为开机状态,并指示节点1信号处理完成;当其它节点均关机时,向电源发送开启信号,开启完成后再设置节点1的开机状态,并指示节点1信号处理完成;
[0028] 至此完成对节点1开机动作的处理。
[0029] 本发明的一种多分区服务器系统的PCIE子系统电源控制系统及方法和现有技术相比,具有以下有益效果:
[0030] 本发明的一种多分区服务器系统的PCIE子系统电源控制系统及方法,应用到多个计算节点连接到同一个PCIE板卡时的电源管理场景,通过CPLD综合各个节点的开关机情况进行处理,实现了PCIE板卡根据计算节点的情况进行上下电,并向计算节点反馈处理完成信号,实现了PCIE子系统工作的稳定可靠,实用性强,适用范围广泛,具有很好的推广应用价值。

附图说明

[0031] 附图1为现有技术中计算节点与PCIE板卡一一对应连接图。
[0032] 附图2为现有技术中多个计算节点与PCIE板卡对应连接图。
[0033] 附图3为本发明的系统实现示意图。
[0034] 附图4为本发明实施例中节点1关机处理流程图。
[0035] 附图5为本发明实施例中节点1开机处理流程图。

具体实施方式

[0036] 下面结合附图及具体实施例对本发明作进一步说明。
[0037] 如附图3所示,一种多分区服务器系统的PCIE子系统电源控制系统,其结构包括若干计算节点、PCIE板卡,该PCIE板卡上集成配置有管理控制器、CPLD和电源电路,其中管理控制器网络连接计算节点,并接收来自计算节点的开关机信息;CPLD通过GPIO接口连接到管理控制器,并通过获取来自管理控制器的上电信号,控制电源电路开关,控制完成后发送对应的完成信号给管理控制器。
[0038] 管理控制器网络连接计算节点是指计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器。
[0039] 管理控制器将2N个GPIO接口连接到CPLD,这里的N为计算节点的数量,即每两个GPIO接口对应一个计算节点,且两个GPIO接口分别传输上电信号和完成信号,上电信号用于向CPLD传递其对应计算节点的开机情况,该计算节点开机时对应的上电信号为高,计算节点关机时对应的上电信号为低;每当上电信号发生变化时,CPLD检测到此变化并进行相关处理,处理完成后向管理控制器发送完成信号,来指示操作完成。
[0040] 所述电源电路为向PCIE板卡供电的电源模块,CPLD通过向电源电路发送上电控制信号控制电源电路的开关,并读取电源电路发送的上电完成信号来确认电源电路是上电状态还是断电状态。
[0041] 所述CPLD内配置2N位用于电源管理的寄存器来完成对上电信号的管理,这里的N为计算节点的数量,该寄存器用于指示CPLD目前的相关信号处理状况,其中寄存器定义如下:前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。
[0042] 一种多分区服务器系统的PCIE子系统电源控制方法,基于上述系统,其实现过程为,将所有计算节点连接到PCIE板卡中,并由PCIE板卡电源供电,当所有计算节点都关机时,该PCIE板卡电源供电关断,其它情况,即非所有计算节点都关机时则电源开启,这里的PCIE板卡电源为系统中的电源电路。
[0043] PCIE板卡需要综合两个计算节点发来的电源控制信号进行板卡的电源控制,并反馈操作完成信号。
[0044] 所述非所有计算节点都关机时举例如下:计算节点1和计算节点2都处于开机状态时,计算节点1关机,并向PCIE板卡发送关机指示信号。此时由于节点2还在工作,需要PCIE板卡为节点2对应的PCIE 设备供电,因此PCIE板卡应该不断电,只是记录计算节点1已关机的状态,并向计算节点1反馈操作完成信号来指示计算节点1的命令已经被处理。
[0045] 本发明的方法的具体实现过程为:
[0046] 首先计算节点以网络数据包的形式将节点的开关机信息发送给管理控制器;
[0047] 管理控制器将上电信号发送给CPLD,CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号;
[0048] 当所有计算节点都关机时,CPLD控制电源电路关断,不再进行供电,其它情况则电源开启。
[0049] 所述上电信号是否跳变是指配置在CPLD内的寄存器状态是否变化,该寄存器内的状态包括2N位,N为计算节点的数量,前N位分别用于指示N个计算节点的开关机状态,1为开机,0为关机;后N位分别用于指示对应节点是否有症状处理的计算节点信号,是为1,否为0。
[0050] 所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的关机信号处理流程如下:
[0051] CPLD检测到节点1关机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;
[0052] 然后设置寄存器,在寄存器的对应位指示节点1有信号在处理中;
[0053] 判断其它节点是否开机,如果有节点开机则不关闭板卡电源,仅仅设置节点1的关机状态,并指示节点1信号处理完成;当其它所有节点均关机时,向电源发送关闭信号,关闭完成后再设置节点1的关机状态,并指示节点1信号处理完成;
[0054] 至此完成对节点1关机动作的处理。
[0055] 所述CPLD通过检测上电信号是否跳变来检测从管理控制器发过来的节点开关机信号,对节点的开机信号处理流程如下:
[0056] CPLD检测到节点1开机信号后,先判断是否有其它节点的开关机信号在处理中,如果有则等待直至其它节点的信号处理完成;
[0057] 之后设置寄存器指示节点1有信号在处理中。
[0058] 判断其它节点是否开机,当有节点开机时,表示板卡电源已经开启,此时设置节点1为开机状态,并指示节点1信号处理完成;当其它节点均关机时,向电源发送开启信号,开启完成后再设置节点1的开机状态,并指示节点1信号处理完成;
[0059] 至此完成对节点1开机动作的处理。
[0060] 实施例:如附图3所示,节点1、节点2是两个独立工作的计算节点,它们将PCIE信号连接到PCIE板卡上进行扩展。管理控制器、CPLD、电源电路均为PCIE子系统的一部分,其中电源电路/CPLD都集成在PCIE板卡上,管理控制器可以集成在PCIE板卡上,也可以集成在独立板卡上,通过连接器、线缆等连接PCIE板卡。
[0061] 节点1和节点2通过网络信号连接管理控制器,以网络数据包的形式将节点的开关机信息发送给管理控制器。
[0062] 管理控制器将4个GPIO连接到CPLD,其中上电信号1向CPLD传递节点1的开机情况,节点1开机时上电信号1为高,节点1关机时上电信号1为低。每当上电信号发生变化时,CPLD检测到此变出并进行相关处理,处理完成后向管理控制器发送完成信号1,来指示操作完成。上电信号2、完成信号2对应节点2,其功能同理。
[0063] CPLD为了完成对上电信号的管理,在内部设置了4位的用于电源管理的寄存器,以下简称寄存器,来指示CPLD目前的相关信号处理状况。
[0064] 寄存器定义如下:
[0065] 位0:指示节点1的开关机状态,1为开机,0为关机。
[0066] 位1:指示节点2的开关机状态,1为开机,0为关机。
[0067] 位2:指示是否有节点1的信号正在处理中,是为1,否为0。
[0068] 位3:指示是否有节点2的信号正在处理中,是为1,否为0。
[0069] 如附图4所示,对节点的关机信号处理流程如下所示,以节点1为例,节点2同理:
[0070] CPLD检测到节点1关机信号后,先判断是否有节点2的开关机信号在处理中,如果有则等待直至节点2的信号处理完成(这么做是为了防止发生电源管理混乱)。
[0071] 之后设置寄存器指示节点1有信号在处理中。
[0072] 判断当节点2开机时,不关闭板卡电源,仅仅是设置节点1的关机状态,并指示节点1信号处理完成;当节点2关机时,向电源发送关闭信号,关闭完成后再设置节点1的关机状态,并指示节点1信号处理完成。
[0073] 至此完成对节点1关机动作的处理。
[0074] 如附图5所示,节点1开机处理流程如下,以节点1为例,节点2同理:
[0075] CPLD检测到节点1开机信号后,先判断是否有节点2的开关机信号在处理中,如果有则等待直至节点2的信号处理完成。
[0076] 之后设置寄存器指示节点1有信号在处理中。
[0077] 判断当节点2开机时,表示板卡电源已经开启了,此时设置节点1为开机状态,并指示节点1信号处理完成;当节点2关机时,向电源发送开启信号,开启完成后再设置节点1的开机状态,并指示节点1信号处理完成。
[0078] 至此完成对节点1开机动作的处理。
[0079] 通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
[0080] 除说明书所述的技术特征外,均为本专业技术人员的已知技术。