发明内容
本发明实施例提供一种PCI快速总线系统及其能量管理方法,以解决现有技术的PCIE总线系统中不能实现系统能量管理,降低能耗的缺陷。
本发明实施例提供了一种PCI快速总线能量管理方法,应用于包括主控板和多个业务板的分布式系统中,所述系统中的所有PCI快速总线链路上的器件支持信标Beacon信号的传递,所述方法包括以下步骤:
所述主控板检测业务板是否在位,如果所述业务板不在位,则不为所述业务板供电,且将所述业务板对应的PCI快速总线链路设置为链路断电状态;
如果所述业务板在位,则为所述业务板供电,将所述业务板对应的PCI快速总线链路设置为链路节电状态,业务板自己将PCI快速总线端口设置为设备节电状态;
所述业务板检测接口板和物理接口,当所述业务板检测到接口板在位且物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板将所述业务板对应的PCI快速总线链路设置为链路工作状态,并且所述业务板将PCI快速总线端口设置为设备工作状态;当所述业务板检测到接口板不在位或物理接口连接不正常时,通过PCI快速总线通知所述主控板将所述业务板对应的PCI快速总线链路设置为链路节电状态,并将业务板的PCI快速总线端口设置设备节电状态。
当所述业务板检测到接口板在位且物理接口连接正常时,通过所述Beacon信号告知所述主控板,使所述主控板将所述业务板对应的PCI快速总线链路设置为链路工作状态,并将所述业务板的PCI快速总线端口设置为设备工作状态具体包括:
所述业务板检测本板的接口板是否在位,如果在位,则为所述接口板供电,所述业务板检测所述接口板上的物理接口的连接是否正常,
如果正常,则通过所述Beacon信号告知所述主控板,使所述主控板通过PCI快速总线接收接口板和物理介质正常消息后将对应的PCI快速总线链路设置为链路工作状态,所述业务板将PCI快速总线端口设置为设备工作状态。
在所述链路节电状态和设备节电状态时,降低所述业务板CPU的工作频率;在所述链路工作状态和设备工作状态时,恢复所述业务板CPU的工作频率。
所述设备节电状态包括热节电状态或冷节电状态;所述热节电状态保留内部存储器内容,转换为设备工作状态过程中不需要初始化配置,所述冷节电状态不保留内部存储器内容,转换为设备工作状态过程中需要初始化配置。
本发明还提供了一种PCI快速总线能量管理系统,包括主控板和多个业务板,所述系统中的所有PCI快速总线链路上的器件支持信标Beacon信号的传递,
所述主控板,用于检测所述业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;所述业务板在位时,将所述业务板对应的PCI快速总线链路设置为链路节电状态,当收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态;
所述业务板,用于确定本身接口板在位和物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态,业务板自己将PCI快速总线端口设置为设备工作状态;还用于确定本身接口板不在位或物理接口连接不正常时,通过PCI快速总线通知所述主控板将对应的PCI快速总线链路设置为链路节电状态,并将PCI快速总线端口设置设备节电状态。
所述主控板具体包括:
PCI快速总线交换器,用于与业务板交互信息;
主控板控制器,与所述PCI快速总线交换器连接,用于检测所述业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;检测所述业务板在位,将所述业务板对应的PCI快速总线链路设置为链路节电状态,当收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态。
所述主控板控制器具体包括:
检测单元,用于检测所述业务板在位状态;
链路状态设置单元,与所述检测单元连接,用于业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;业务板在位时,将所述业务板对应的PCI快速总线链路设置为链路节电状态;收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态。
所述业务板具体包括:
PCI快速总线端口,用于与主控板交互信息;
业务板控制器,与所述PCI快速总线端口连接,用于确定本身接口板在位和物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态;业务板控制器将自己的PCI快速总线端口设置为设备工作状态。
所述业务板控制器具体包括:
接口板检测单元,用于检测接口板是否在位;
物理接口检测单元,与所述接口板检测单元连接,用于确定接口板在位时检测物理接口的连接是否正常;
通知单元,与所述接口板检测单元和物理接口检测单元连接,用于通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态;
PCI快速总线端口状态控制单元,用于发送Beacon信号后将PCI快速总线端口设置为设备工作状态。
所述业务板控制器还包括频率切换单元,用于在所述链路节电状态和设备节电状态时,降低所述业务板CPU的工作频率;在所述链路工作状态和设备工作状态时,恢复所述业务板CPU的工作频率。
本发明的实施例中,对于基于PCIE总线为核心交换总线的设备,通过利用PCIE总线标准中的Beacon信号结合业务板在位检测、接口板在位检测以及接口板的物理介质在位检测等,控制PCIE总线链路和设备状态进入低功耗状态,能够实现节能的能量管理。另外,本发明通过能量管理情况下的告知方法,可以保证不影响系统的正常工作。
具体实施方式
下面结合具体实施例进行详细说明。
本发明提供了一种PCI快速总线能量管理方法,应用于基于PCIE总线在背板上传输以及通过Switch或者是桥接器件进行数据转发的分布式系统,该系统包括主控板和多个业务板。其中,系统数据通道中的所有PCIE总线链路上的器件,如设备、交换器件或者是桥器件以及可能的SerDes驱动器件等支持Beacon信号的传递,Beacon是在PCIE链路上传输的一种特殊带内信号,主要由下游设备在从业务板提供的辅助电源Vaux下的深度睡眠节能状态恢复时发出。这种状态下业务板的时钟和主电源被关断,TLP(处理层数据包)和DLLP(数据链路层数据包)传送被禁止。此时,链路通过Beacon、PME(PowerManagement Event,能量管理事件)内容以及任何保持激活的逻辑需要被Vaux(辅助电源)供电。Beacon信号是一种持续时间大于2ns(纳秒),小于16us(微秒)的脉冲信号。
其中,各个业务板一般有独立的CPU作为数据报文转发的分类、查找等功能。业务板上的CPU在上电之后也可以实现自身系统的管理、控制本业务板和背板接口的PCIE总线设备,使该设备进入退出不同的设备工作状态或者设备节电状态。主控板一般实现系统PCIE链路的初始化和状态变化、配置变化的维护与控制,可以设置主控板上的Switch器件或者是桥接器件对应每个不同业务板的SerDes链路进入或者是退出不同的链路断电状态或链路工作状态或链路节电状态以及这些状态之间的转换。
该方法如图2所示,包括以下步骤:
步骤s201,主控板检测某业务板(可以是一块业务板,也可以是多块业务板)是否在位,如果不在位,则转步骤s202,如果在位,在转步骤s203。
步骤s202,主控板控制不为该业务板供电,且将该业务板对应的PCI快速总线链路设置为链路断电状态。
步骤s203,为所述业务板供电,将所述业务板对应的PCI快速总线链路设置为链路节电状态,业务板将自己的PCI快速总线端口设置为设备节电状态。所述业务板检测接口板和物理接口,当所述业务板检测到接口板在位且物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板通过PCI快速总线接收接口板和物理介质正常消息后将对应的PCI快速总线链路设置为链路工作状态,并且所述业务板将PCI快速总线端口设置为设备工作状态。
步骤s204,当业务板、接口板和物理接口都正常工作以后,业务板实时或定时检测本板的接口板和物理接口,如果检测到接口板不在位或物理接口不正常连接时,通过PCI快速总线通知所述主控板将所述业务板对应的PCI快速总线链路设置为链路节电状态,并将业务板的PCI快速总线端口设置设备节电状态。另外,对于业务板来讲,在处于节能状态下还可以通过动态降低CPU的工作频率实现进一步降低能耗的功能,并且在一旦检测到接口板和接口物理接口正常的情况下还可以动态切换到正常主频工作状态。
本发明中通过Beacon信号配合系统的软硬件设计实现复杂系统的能量管理的流程示意图如图3所示,包括以下步骤:
步骤s301,系统整机上电。
步骤s302,主控板检测某个业务板n是否在位,决定是否控制该业务板上电,如果不在位,则转步骤s303,如果在位,则转步骤s304。
步骤s303,该业务板不上电,主控板的CPU通过Switch器件或Switch桥控制该业务板的电源完全切断,保持该业务板无功率损耗状态;同时对于不在位业务板n对应的背板上PCIE总线链路通过主控板CPU控制主控板的桥片或者是Switch器件控制设置为链路断电状态L3,既完全断电情况。
步骤s304,对于在位的业务板,主控板的CPU通过Switch器件或Switch桥控制该业务板上电。主控板CPU通过主控板上的交换器件或者是桥器件控制该业务板n对应的PCIE链路切换为链路节电状态L2,该业务板控制和主控板接口的PCIE设备设置为D3状态。其中,L2为辅助电源Vaux下的深度睡眠节能状态,这种状态下设备的时钟和主电源被关断,TLP和DLLP传送被禁止,此时,链路通过Beacon、PME内容以及任何保持激活的逻辑需要被Vaux供电。D3状态按照是否切断提供给该设备的电源分为D3hot和D3cold两种。在D3hot状态,设备内部存储器的内容被保留,可以通过在设备的电源管理及状态寄存器NO_SOFT_RESET域写入bit=“1“写入D0状态命令,使得设备转换为初始化状态D0不需要重新进行初始化配置;D3cold状态除PME支持需要的必要的存储器内容外,所有其他存储器的内容失去。
步骤s305,通常情况每个业务板上还有提供物理接口的接口板,如以太网电接口板或者是各种光网络的通讯接口板。对于在位并上电正常的业务板n,需要业务板n上的CPU检测本板内部的接口板是否在位,如果接口板在位,则转步骤s308,如果接口板不在位,则转步骤s306。
步骤s306,业务板控制该接口板不上电。
步骤s307,不断检测接口板是否在位,等待本业务板的接口板在位,如果是,则转步骤s308,如果不是,则继续检测,直到接口板在位并正常上电。
步骤s308,如果确认这个接口板在位,则业务板CPU控制该接口板上电。
步骤s309,在接口板上电之后,本业务板n的CPU继续检测接口板上的物理接口,如光纤接口或者是电接口等是否在位并与物理介质正常连接。如果判断为没有正常连接,则转步骤s310;如果连接正常,则转步骤s312。例如,如常用的光模块接口一般提供信号检测的功能,在光纤正常和接口板的光模块连接并且接收到光信号之后会发出一个电气上的电平指示信号,通过这个信号,本业务板上的CPU会知道接口板的物理接口正常连接与否;同样对于一些电气接口,一般是在电缆上设置在位的识别位,通过该识别位的电平状态不同,业务板的CPU也可以知道电缆连接正常与否。
步骤s310,本业务板n的上述PCIE设备状态和链路状态维持不变直到接口板的物理接口正常连接工作。
步骤s311,等待本接口板物理接口正常,如果不正常,则继续检测,如果正常,则转步骤s312。
步骤s312,当业务板n以及其接口板和物理接口均正常之后,本业务板CPU在PCIE链路上发送Beacon信息,告知主控板,使主控板可以通过PCIE总线接收接口板在位和物理介质正常连接的消息。然后本板和背板的接口的PCI Express总线端口转换为D0状态,其中,D0状态包含未初始化的D0uninitialized和激活的D0active子状态,设备初始上电之后进入D0uninitialized,当完成设备搜索和配置初始化之后进入D0active,D0active状态下可以实现全部的设备功能。
步骤s313,接口板在位和物理介质正常连接的消息通过Switch器件或Switch桥最终传递到主控板的CPU。
步骤s314,告知主控板CPU对应的业务板n已经完成所有正常的硬件初始化过程可以工作。主控板CPU通过背板交换器件或者是桥器件控制该业务板n对应的PCI Express总线链路转换为正常工作状态L0,链路的所有交易和操作功能是正常支持的。之后主控板和该业务板n上的PCI Express总线设备通过协商等过程,进入正常工作状态。如上所述,L0、D0状态是PCIE系统正常工作,支持数据收发的状态,而其他状态可以实现低功耗的需求,可以满足系统节能要求,并在本发明中结合软硬件的配合可以实现系统的正常工作功能不受损失。
步骤s315,对于已经正常工作的系统,进入PCIE链路检测,轮询和配置等训练状态,在业务板的接口板或者是物理接口出现不在位的情况下,主控板CPU根据不同的业务板状态控制将本业务板n对应的PCIE总线设备和链路设置为对应的状态。
本发明还提供了一种PCI快速总线能量管理系统,包括主控板和多个业务板,系统中的所有PCI快速总线链路上的器件支持信标Beacon信号的传递。其中主控板,用于检测所述业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;所述业务板在位时,将所述业务板对应的PCI快速总线链路设置为链路节电状态,当收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态;业务板,用于确定本身接口板在位和物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态,并将PCI快速总线端口设置为设备工作状态。
其中,主控板如图4所示,具体包括:PCI快速总线交换器10,用于与业务板交互信息;主控板控制器20,与PCI快速总线交换器连接,用于检测所述业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;检测所述业务板在位,将所述业务板对应的PCI快速总线链路设置为链路节电状态,当收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态。
主控板控制器20具体包括:检测单元21,用于检测业务板在位状态;链路状态设置单元22,与检测单元21连接,用于业务板不在位时,将所述业务板对应的PCI快速总线链路设置为链路断电状态;业务板在位时,将所述业务板对应的PCI快速总线链路设置为链路节电状态;收到所述业务板发送的Beacon信息后,将所述业务板对应的PCI快速总线链路设置为链路工作状态。
业务板如图5所示,具体包括:PCI快速总线端口100,用于与主控板交互信息;业务板控制器200,与PCI快速总线端口连接,用于确定本身接口板在位和物理接口连接正常时,通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态;业务板控制器将PCI快速总线端口设置为设备工作状态。
业务板控制器200具体包括:接口板检测单元210,用于检测接口板是否在位;物理接口检测单元220,与接口板检测单元210连接,用于确定接口板在位时检测物理接口的连接是否正常;通知单元230,与接口板检测单元210和物理接口检测单元220连接,用于通过Beacon信号告知所述主控板,使所述主控板将对应的PCI快速总线链路设置为链路工作状态;PCI快速总线端口状态控制单元240,用于根据主控板指示将PCI快速总线端口设置为设备工作状态或设备节电状态;频率切换单元250,用于在链路节电状态和设备节电状态时,降低业务板CPU的工作频率;在链路工作状态和设备工作状态时,恢复业务板CPU的工作频率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储接口中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。