具体实施方式
以下结合附图对本发明的实施例进行详细说明。应当理解,以下说明的实施例是出于示例的目的,用于解释本发明的原理,并不构成对本发明的限制。
第一实施例
图1示出了本发明第一实施例的PCIE系统的示意结构框图。图1所示的第一实施例的PCIE系统包括PCIE模块160、对PCIE模块160供电的电源模块150和控制PCIE模块的控制模块110。需要注意的是,在图1中省略了与本发明实施例的说明无关的其它部件或结构。
PCIE模块160的对外接口可以包括PCIE接口、电源控制管脚1601、时钟控制管脚1602和电源状态管脚1603。该PCIE模块160通过PCIE接口可以接收业务流。通过电源控制管脚1601可以控制该PCIE模块160的电源有无,而通过时钟控制管脚1602可以控制该PCIE模块160的时钟有无。例如,将PCIE模块160的电源控制管脚1601置为无效,可以关闭PCIE模块160的电源;而将PCIE模块160的时钟控制管脚1602置为无效,可以关闭PCIE模块160的时钟。电源状态管脚1603的状态表示该PCIE模块160的状态为带电状态还是断电状态。例如,电源状态管脚1603为高电平可以表示该PCIE模块160处于带电状态,而电源状态管脚1603为低电平可以表示该PCIE模块160处于断电状态。
其中,时钟控制管脚1602和电源状态管脚1603对于PCIE模块的节能控制来说并不是必要的,而只是优选的。例如,在PCIE系统包括多个不同的PCIE模块160时,送到各个PCIE模块160的时钟可能不同,如果PCIE模块160能够有时钟控制引脚,在进行节能控制时,通过时钟控制引脚1602把该PCIE模块160的时钟关闭之后,可以保证时钟信号不会影响已经下电的该PCIE模块160,保证该PCIE模块160(尤其是PCIE模块中的芯片)的可靠应用。对于电源状态管脚1603来说,如果电源状态管脚1603,PCIE系统可以可靠地知道该PCIE模块160是在带电状态还是在断电状态,从而提高PCIE系统的可靠性。
PCIE模块160的内部结构与本发明实施例的实质没有关系,并且本发明实施例不受PCIE模块160内部结构的限制。在第一实施例中,PCIE模块160的内部结构可以包括PCIE芯片,还可以包括与该PCIE芯片相关的辅助器件。
电源模块150可以是任何已知的用于对PCIE模块160供电的装置,对此没有限制。电源模块150通过电缆与PCIE模块160连接。
控制模块110通过电缆和/或光缆与PCIE模块160连接。控制模块110根据要发送到PCIE模块160的业务流(例如,从PCIE系统中的其它模块或者PCIE系统外部向PCIE模块160发送业务流)的流量,控制PCIE模块160在带电状态和断电状态之间进行切换。例如,控制模块110检测要发送到PCIE模块160的业务流的流量,并且在检测到有要发送到PCIE模块160的业务流(即,检测到要发送到PCIE模块160的业务流的流量大于零)之后,将PCIE模块160从断电状态切换到带电状态,以及在检测到要发送到PCIE模块160的业务流停止(即,检测到要发送到PCIE模块160的业务流的流量等于零)之后,将PCIE模块160从带电状态切换到断电状态。
图2为详细示出了控制模块110的具体结构的一个示例。
如图2所示,控制模块110包括:业务流检测单元140,用于检测要发送到PCIE模块160的业务流的流量;上电管理单元120,用于将PCIE模块160从断电状态切换到带电状态;下电管理单元130,用于将PCIE模块160从带电状态切换到断电状态;以及业务流发送单元170,其用于在PCIE模块160处于带电状态时向PCIE模块发送业务流。
业务流检测单元140在检测到要发送到PCIE模块160的业务流停止(即,业务流的流量为零)之后,也就是说,检测到PCIE模块160处于闲置状态时,通知下电管理单元130将PCIE模块160从带电状态切换到断电状态。下电管理单元130通过PCIE模块160的电源控制管脚1601和时钟控制管脚1602关闭PCIE模块160的电源和时钟,将PCIE模块160从带电状态切换到断电状态。而在PCIE模块160处于断电状态时,业务流检测单元140在检测到要发送到PCIE模块160的业务流(即要发送到PCIE模块160的业务流的流量大于零)之后,通知上电管理单元120将PCIE模块160从断电状态切换到带电状态,然后业务流发送单元170,向该PCIE模块160发送业务流。上电管理单元120通过PCIE模块160的电源控制管脚1601和时钟控制管脚1602使能PCIE模块160的电源和时钟,将PCIE模块160从断电状态切换到带电状态。检测要发送到PCIE模块160的业务流的流量的细节与本发明实施例的实质没有关系,并且本发明实施例不受PCIE模块160的业务流的流量检测方式的限制。
作为控制模块110和其中包含的业务流检测单元140、业务流发送单元170、上电管理单元120及下电管理单元130,可以由CPU(中央处理器)、相关联的存储硬件以及恰当的软件程序来实现。
根据上述的本发明第一实施例,在检测到有要发送到PCIE模块160的业务流(即,要发送到PCIE模块160的业务流的流量大于零)之后,将PCIE模块160从断电状态切换到带电状态,而且在检测到要发送到PCIE模块160的业务流停止(即,要送到PCIE模块160的业务流的流量等于零)之后,将PCIE模块160从带电状态切换到断电状态。因此,根据本发明的第一实施例,PCIE模块160只在有业务流时才处于带电状态,而在业务流停止之后,处于断电状态,使PCIE模块160在业务流停止后的能耗可以降为零,从而在一定程度上降低了PCIE系统的能耗。
在现有技术中,在业务流停止时,仅通过将PCIE模块中的PCIE芯片置于D1、D2、D3co1d或者D3hot状态之一下,使PCIE芯片处于睡眠状态来降低能耗。因此,与现有技术相比,本发明第一实施例的能耗降低得更多,节能效果更加明显。
例如,对于一个包括光模块芯片、物理层(PHY)芯片和PCIE接口的媒体访问控制(MAC)芯片的万兆比特以太网(10GE)模块来说,PCIE接口的MAC芯片在正常模式下的能耗为7瓦(W),PHY芯片的能耗为1.6W,而光模块芯片的能耗为2W。在现有技术中,在业务流停止时,仅PCIE接口的MAC芯片可以处于D3co1d的节能模式下,能耗最低降为1.05W。但是与MAC芯片相关的PHY芯片和光模块仍在工作状态。它们的能耗仍为1.6W和2W并没有降低。在现有技术中,在节能状态下,10GE模块的总能耗为4.65W,因此能耗降低了(1-4.65/10.6)×100%=56%。
而根据本发明的第一实施例,在10GE模块的业务流停止时,关闭该模块的电源和时钟,因此,不仅MAC芯片处于断电状态,而且PHY芯片和光模块都处于断电状态。所以此时10GE模块的能耗降为0。也就是说,PCIE模块的能耗降低了100%。因此,在一定程度上降低了PCIE系统的能耗。
在以上说明的第一实施例中,以一个PCIE模块作为对象来进行节能控制。但是,在PCIE系统具有多个PCIE模块的情况下,可以针对所有PCIE模块进行本发明实施例的节能控制,也可以仅针对一部分PCIE模块进行节能控制。
例如,存在这样的情况:一部分PCIE模块的业务流的流量较小,或者会较长时间不用。在这种情况下,对这部分PCIE模块进行上述的节能控制。而其它的PCIE模块则一直处于带电状态,可以实时使用。因此,既具有上述第一实施例的节能效果,又不会影响需要实时使用的PCIE模块的操作。
作为另一示例,在检测到PCIE模块160的业务流停止之后,经过预定时间之后,下电管理单元130将PCIE模块160从带电状态切换到断电状态。这里的预定时间可以是根据情况设定的任意值,例如1秒。作为一种特殊情况,该预定时间可以设定为零。在这种情况下,相当于在检测到PCIE模块160的业务流停止之后立即将PCIE模块160从带电状态切换到断电状态。作为该示例,可以仅在业务流停止时间较长时,才将PCIE模块从带电状态切换到断电状态,从而可以起到节能的效果。而在PCIE模块的业务流停止时间非常短时,可以不将PCIE模块切换到断电状态。因此,根据该示例,可以减小PCIE模块在带电状态和断电状态之间的切换次数,从而防止PCIE模块在带电状态和断电状态之间频繁地切换。
第二实施例
在本发明的第二实施例中,在业务流的流量小于预定值的时候,PCIE模块也可以处于断电状态,而将业务流存储在存储单元中。
图3示出了本发明第二实施例的PCIE系统的结构。本发明第二实施例PCIE系统的结构除了控制模块210还包括存储单元220并且用业务流发送单元180代替业务流发送单元170之外,与参照图1和2所述的第一实施例的PCIE系统的结构相同,因此下面的说明将主要涉及存储单元220和业务流发送单元180。存储单元的具体细节与本发明实施例的实质没有关系,并且本发明实施例可以采用现有的以及以后开发的任何适宜的存储器件,例如Cache(高速缓冲存储器)、ROM,RAM等作为存储单元。本发明实施例不受存储单元的具体细节的限制。
存储单元220用于存储要发送到PCIE模块160的业务流。也就是说,从外部要发送到PCIE模块160的业务流先临时存储在存储单元220中。当存储单元220的空闲存储空间小于预定存储空间阈值时,上电管理单元120将所述PCIE模块160从断电状态切换到带电状态。然后,业务流发送单元170将存储单元220中存储的业务流发送到PCIE模块160中。
这里的预定存储空间阈值可以是根据情况设定的任意值,例如60%。
另外,在PCIE模块160处于断电状态时,业务流检测单元140在检测到要发送到PCIE模块160的业务流后,还要检测业务流的流量是否大于预定上电阈值。这里的预定上电阈值可以是根据情况设定的任意值,例如每秒1M字节。当业务流的流量大于预定上电阈值时,业务流检测单元140通知上电管理单元120将PCIE模块160从断电状态切换到带电状态。
在PCIE模块160处于带电状态时,业务流检测单元140检测要发送到PCIE模块160的业务流的流量是否小于预定下电阈值。这里的预定下电阈值可以是根据情况设定的任意值,例如每秒0.01M字节。可以理解,预定下电阈值和预定上电阈值可以相同,也可以不同。当业务流的流量小于预定下电阈值时,业务流检测单元140通知下电管理单元130将PCIE模块160从带电状态切换到断电状态。
在第二实施例中,在控制模块210中包括存储单元220和业务流发送单元180,从而将业务流存储在存储单元220中,并且在业务流不大于预定上电阈值时并不将PCIE模块160从断电状态切换到带电状态。而是在存储单元220的空间存储空间小于预定存储空间阈值时或者业务流的流量大于预定上电阈值时,才将PCIE模块160从断电状态切换到带电状态。另外,在业务流小于预定下电阈值时,就将PCIE模块160从带电状态切换到断电状态。第二实施例中,PCIE模块160处于带电状态的时间进一步减少,因此其节能效果比第一实施例的节能效果更好,从而能够更有效地降低能耗。而且,通过在业务流较小时,将业务流存储在存储单元220中,还可以减小PCIE模块160的状态切换的次数。
另外,类似于第一实施例的第一变型例,第二实施例的PCIE系统可以包括多个PCIE模块,并且可以针对多个PCIE模块中的一部分PCIE模块进行节能控制。因此既可以实现上述的节能效果,又不会影响需要实时使用的PCIE模块的操作。
第三实施例
图4示出了本发明第三实施例的PCIE系统的示意结构框图。本发明第三实施例的PCIE系统具有由备用电源单元351、主电源单元352和电源监测单元353构成的电源模块350,控制模块110和多个PCIE模块160。其中,控制模块110与参照图1所述的第一实施例的PCIE系统的控制模块110具有相同的结构。当然,可以理解,根据本发明的第三实施例的PCIE系统中的控制模块也可以与第二实施例中的控制模块210具有相同的结构。第三实施例中的PCIE模块160的结构可以与第一实施例和第二实施例中的PCIE模块160的结构相同。为了简洁,省略了对相同部件的描述。因此下面的说明将主要涉及与电源模块350相关的操作。
电源监测单元353监测主电源单元352的供电是否停止。备用电源单元351例如可以是UPS(不间断电源)或者电池。在电源监测单元353监测到主电源单元352停止供电时,备用电源单元351为PCIE系统供电。而且,当主电源单元352停止供电时,PCIE系统的业务流也停止。电源监测的方式以及备用电源单元351的细节与本发明实施例的实质没有关系,并且本发明的实施例不受电源监测方式以及备用电源单元的限制。
在电源监测单元360监测到主电源单元352停止供电并且切换到由备用电源单元351供电时,即在PCIE系统从由主电源单元352供电切换到由备用电源单元351供电时,控制模块110将多个PCIE模块160分为需要写入Cache(高速缓冲存储单元)中数据的PCIE模块160和不需要写入高速缓冲存储单元中数据的PCIE模块160,并且标识出需要写入数据的PCIE模块160和不需要写入数据的PCIE模块160。
然后,下电管理单元130将不需要写入数据的PCIE模块160立即从带电状态切换到断电状态,以降低能耗,延长备用电源单元351的工作时间。然后,再将高速缓冲存储单元中的数据写入相应的PCIE模块160。高速缓冲存储单元中的数据都写入相应的PCIE模块160之后,关闭PCIE系统。如何将多个PCIE模块160区分为需要写入数据的PCIE模块160和不需要写入数据的PCIE模块160的细节以及如何关闭PCIE系统的细节都与本发明的实施例实质无关,因此本发明的实施例不受其限制。
根据上述的本发明第三实施例,在主电源单元352停止供电,由备用电源单元351供电时,将不需要写入数据的PCIE模块160立即切换到断电状态。因此,本发明的第三实施例除了具有第一实施例或第二实施例的优点之外,还可以在仅有备用电源单元供电时降低系统的能耗,延长备用电源单元的供电时间。
第四实施例
根据本发明第四实施例的PCIE系统的控制方法包括:控制步骤,根据要发送到所述外部设备互联高速系统中的外部设备互联高速模块的业务流的流量,控制所述外部设备互联高速模块在带电状态和断电状态之间切换。例如,在检测到有要发送到PCIE模块的业务流(即,要发送到PCIE模块的业务流的流量大于零)之后,将PCIE模块从断电状态切换到带电状态,然后向PCIE模块发送业务流;在检测到要送到PCIE模块的业务流停止(即,要发送到PCIE模块的业务流的流量等于零)之后,将PCIE模块从带电状态切换到断电状态。此外,在该控制方法中还可以包括检测PCIE模块的业务流的的流量的步骤。
下面参照图5进一步描述根据本发明第四实施例的PCIE系统的控制方法。图5示出了根据本发明第四实施例的PCIE系统的控制方法的示意性流程图。
如图5所示,首先在步骤ST502中,检测要发送到PCIE模块的业务流的流量,并且判断要发送到PCIE模块的业务流的流量是否大于零。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”(即,检测到有要发送到PCIE模块的业务流),则执行步骤ST504。检测要发送到PCIE模块的业务流的流量的细节与本发明实施例的实质没有关系,并且本发明实施例不受PCIE模块的业务流的检测方式的限制。
在步骤ST504(也称为上电步骤)中,将PCIE模块从断电状态切换到带电状态。在PCIE模块从断电状态切换到带电状态之后,就可以向PCIE模块发送业务流了,然后执行步骤ST508。
在步骤ST508中,检测要发送到PCIE模块的业务流的流量,并且判断要发送到PCIE模块的业务流是否停止,即判断要发送到PCIE模块的业务流的流量是否等于零。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”,即检测到要发送到PCIE模块的业务流停止,则执行步骤ST510。
在步骤ST510中,判断PCIE模块的业务流的停止时间是否超过预定计时阈值。这里的预定计时阈值可以是根据情况设定的任意值,例如1秒。作为一种特殊情况,该预定计时阈值可以设定为零。在这种情况下,相当于在检测到要发送到PCIE模块的业务流停止(即,要发送到PCIE模块的业务流的流量等于零)之后立即将PCIE模块从带电状态切换到断电状态。
如果步骤ST510的判断结果为“否”,即,要发送到PCIE模块的业务流的停止时间没有超过预定计时阈值,则继续进行判断。如果步骤ST510的判断结果为“是”,即,要发送到PCIE模块的业务流的停止时间已经超过预定计时阈值,则执行步骤ST512(也称为下电步骤)。在步骤ST512中,将PCIE模块从带电状态切换到断电状态。
在PCIE模块切换到断电状态之后,流程返回到步骤ST502,继续检测要发送到PCIE模块的业务流的流量并且判断是否检测到有要发送到PCIE模块的业务流,以决定何时将PCIE模块从断电状态切换到带电状态。
下面结合图6进一步描述将PCIE模块从断电状态切换到带电状态的一种实现方式。图6示出了将PCIE模块从断电状态切换到带电状态的示意性流程图。
在步骤ST602,使能PCIE模块的时钟。例如,通过将PCIE模块的时钟控制管脚置为有效来使能PCIE模块的时钟。在步骤ST604中,使能PCIE模块的电源。例如通过将PCIE模块的电源控制管脚置为有效来使能PCIE模块的电源。
在步骤ST606中,检测PCIE模块的电源状态,从而判断PCIE模块是否处于带电状态。如果步骤ST606的判断结果表示PCIE模块处于带电状态(即为“是”),则执行步骤ST608。
在步骤ST608中,对PCIE模块进行初始化,并且在对PCIE模块的初始化结束之后,该流程结束并返回图5所示的主流程。在步骤ST608中执行的对PCIE模块的初始化并不是必要的,本领域技术人员可以根据PCIE模块的实际需要来决定是否需要对PCIE模块进行初始化。并且,对PCIE模块初始化的细节与本发明实施例的实质没有关系,本发明实施例不受PCIE模块初始化方式的限制。
如果步骤ST606的判断结果表示PCIE模块并非处于带电状态(即为“否”),则执行步骤ST610。在步骤ST610,可以报告该PCIE模块未能从断电状态切换到带电状态。可以理解,上述报告步骤也并不是必要的。
下面结合图7进一步描述将PCIE模块从带电状态切换到断电状态的一种实现方式。图7示出了将PCIE模块从带电状态切换到断电状态的示意性流程图。
在步骤ST702,判断PCIE模块的系统资源是否已释放。如果判断结果为“否”,则执行步骤ST704。在步骤ST704中,释放PCIE模块的系统资源。例如,释放为PCIE模块分配的内存。释放系统资源的细节与本发明实施例的实质没有关系,并且本发明实施例不受释放系统资源的方式的限制。作为一个示例,根据PCIE系统的具体结构,在PCIE模块切换到断电状态时并不需要释放PCIE模块的系统资源,从而也就不需要判断PCIE模块的系统资源是否已经释放。
如果步骤ST702中的判断结果为“是”,或者在不需要释放PCIE模块的系统资源的情况下,则执行步骤ST706。在步骤ST706,关闭PCIE模块的电源。例如通过将PCIE模块的电源控制管脚置为无效来关闭PCIE模块的电源。
接着,在步骤ST708中,关闭PCIE模块的时钟。例如,通过将PCIE模块的时钟控制管脚置为无效来关闭PCIE模块的时钟。在步骤ST710中,检测PCIE模块的电源状态。例如,可以通过检测PCIE模块的电源状态管脚的状态来检测PCIE模块的电源状态。
在步骤ST712中,报告PCIE模块的状态,之后,该流程结束并且返回图5所示的主流程。例如,当检测到PCIE模块的电源状态为带电状态时,则向PCIE系统报告PCIE模块未能切换到断电状态。当检测到PCIE模块的电源状态为断电状态时,则向PCIE系统报告PCIE模块已切换到断电状态。
作为一示例,并不需要报告PCIE模块的状态,从而也就不需要进行执行步骤ST710和ST712。也就是说,检测PCIE模块的电源状态和报告PCIE模块的状态的步骤对于本发明实施例来说不是必要的。
下面将以图2示出的PCIE系统的结构为例,结合图5、图6和图7更具体地说明根据本发明第四实施例的PCIE系统的控制方法。
如图5所示,首先在步骤ST502中,业务流检测单元140检测要发送到PCIE模块160的业务流的流量,并且判断是否检测到有要发送到PCIE模块160的业务流(即,要发送到PCIE模块160的业务流的流量是否大于零)。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”,则执行步骤ST504。
在步骤ST504(也称为上电步骤)中,将PCIE模块160从断电状态切换到带电状态。在PCIE模块160从断电状态切换到带电状态之后,执行步骤ST506。在步骤ST506中,业务流发送单元170向PCIE模块160发送业务流。
在步骤ST508中,业务流检测单元140检测要发送到PCIE模块160的业务流的流量,并且判断要发送到PCIE模块160的业务流是否停止(即,要发送到PCIE模块160的业务流的流量是否等于零)。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”,即检测到要发送到PCIE模块160的业务流停止,则执行步骤ST510。
在步骤ST510中,业务流检测单元140判断PCIE模块160的业务流停止时间是否超过预定计时阈值。这里的预定计时阈值可以是根据情况设定的任意值,例如1秒。作为一种特殊情况,该预定计时阈值可以设定为零。在这种情况下,相当于在检测到要发送到PCIE模块160的业务流停止之后立即将PCIE模块160从带电状态切换到断电状态。
如果步骤ST510的判断结果为“否”,即,PCIE模块160的业务流的停止时间没有超过预定计时阈值,则继续进行判断。如果步骤ST510的判断结果为“是”,即,PCIE模块160的业务流的停止时间已经超过预定计时阈值,则执行步骤ST512(也称为下电步骤)。
在步骤ST512中,下电管理单元130通过PCIE模块160的电源控制管脚1601和时钟控制管脚1602关闭PCIE模块160的电源和时钟,将PCIE模块160从带电状态切换到断电状态。
在PCIE模块160切换到断电状态之后,流程返回到步骤ST502,继续检测要发送到PCIE模块160的业务流的流量并且判断是否检测到有要发送到PCIE模块160的业务流(即,要发送到PCIE模块160的业务流的流量是否大于零),以决定何时将PCIE模块160从断电状态切换到带电状态。
下面结合图6所示的流程示意图为例说明将PCIE模块160从断电状态切换到带电状态的工作流程。
在步骤ST602,上电管理单元120将PCIE模块160的时钟控制管脚1602置为有效,从而使能PCIE模块160的时钟。在步骤ST604中,上电管理单元120将PCIE模块160的电源控制管脚1601置为有效,从而使能PCIE模块160的电源。
在步骤ST606中,上电管理单元120检测PCIE模块160的电源状态管脚1603的状态,从而判断PCIE模块160是处于带电状态还是断电状态。如果步骤ST606的判断结果表示PCIE模块160处于带电状态(即为“是”),则执行步骤ST608。
在步骤ST608中,对PCIE模块160进行初始化,并且在对PCIE模块160的初始化结束之后,该流程结束并返回图5所示的主流程。在步骤ST608中执行的对PCIE模块160的初始化并不是必要的,本领域技术人员可以根据PCIE模块160的实际需要来决定是否需要对PCIE模块160进行初始化。并且,对PCIE模块160初始化的细节与本发明实施例的实质没有关系,本发明实施例不受PCIE模块160初始化方式的限制。
如果步骤ST606的判断结果表示PCIE模块160并非处于带电状态(即为“否”),则执行步骤ST610。在步骤ST610,上电管理单元120可以向PCIE系统报告该PCIE模块160未能从断电状态切换到带电状态。可以理解,上述报告步骤也并不是必要的。
下面以图7所示的流程示意图为例说明将PCIE模块160从带电状态切换到断电状态的工作流程。
在步骤ST702,下电管理单元130判断PCIE模块160的系统资源是否已释放。如果判断结果为“否”,则执行步骤ST704。在步骤ST704中,PCIE系统释放分配给PCIE模块160的系统资源。例如,释放为PCIE模块160分配的内存。释放系统资源的细节与本发明实施例的实质没有关系,并且本发明实施例不受释放系统资源的方式的限制。作为一个示例,根据PCIE系统的具体结构,在PCIE模块160切换到断电状态时PCIE系统并不需要释放PCIE模块160的系统资源,从而也就不需要下电管理单元130判断PCIE模块160的系统资源是否已经释放。
如果步骤ST702中的判断结果为“是”,或者在不需要释放系统资源的情况下,则执行步骤ST706。在步骤ST706,将PCIE模块160的电源控制管脚1601置为无效,从而关闭PCIE模块160的电源。
接着,在步骤ST708中,将PCIE模块160的时钟控制管脚1602置为无效,从而关闭PCIE模块160的时钟。在步骤ST710中,下电管理单元130检测PCIE模块160的电源状态管脚1603的状态,从而检测PCIE模块160的电源状态。
在步骤ST712中,下电管理单元130向PCIE系统报告PCIE模块160的状态,之后,该流程结束并且返回图5所示的主流程。例如,当检测到PCIE模块160的电源状态管脚1603的状态表示PCIE模块160仍处于带电状态时,则下电管理单元130向PCIE系统报告PCIE模块160未能切换到断电状态。当检测到PCIE模块160的电源状态管脚1601的状态表示PCIE模块160已处于断电状态时,则下电管理单元130向PCIE系统报告PCIE模块160已切换到断电状态。
作为一示例,下电管理单元130并不需要向PCIE系统报告PCIE模块160的状态,从而也就不需要进行执行步骤ST710和ST712。也就是说,检测PCIE模块160的电源状态管脚1603的状态和向PCIE系统报告PCIE模块160的状态的步骤对于本发明实施例来说不是必要的。
根据上述的控制方法,在检测到有要发送到PCIE模块的业务流(即,要发送到PCIE模块的业务流的流量大于零)之后,将PCIE模块从断电状态切换到带电状态,而且在检测到要发送到PCIE模块的业务流停止(即,要发送到PCIE模块的业务流的流量等于零)之后,将PCIE模块从带电状态切换到断电状态。因此,根据本发明的第四实施例的控制方法,PCIE模块只在有业务流时才处于带电状态,而在业务流停止之后,处于断电状态,使PCIE模块在业务流停止后的能耗可以降为零,从而在一定程度上降低了PCIE系统的能耗。
在现有技术中,在业务流停止时,仅通过将PCIE模块中的PCIE芯片置于D1、D2、D3co1d或者D3hot状态之一下,使PCIE芯片处于睡眠状态来降低能耗。因此,与现有技术相比,本发明第四实施例的控制方法能够更有效地降低能耗,从而节能效果更加明显。
例如,对于一个包括光模块芯片、物理层(PHY)芯片和PCIE接口的媒体访问控制(MAC)芯片的万兆比特以太网(10GE)模块来说,PCIE接口的MAC芯片在正常模式下的能耗为7瓦(W),PHY芯片的能耗为1.6W,而光模块芯片的能耗为2W。在现有技术中,在业务流停止时,仅PCIE接口的MAC芯片可以处于D3co1d的节能模式下,能耗最低降为1.05W。但是与MAC芯片相关的PHY芯片和光模块仍在工作状态。它们的能耗仍为1.6W和2W并没有降低。在现有技术中,在节能状态下,10GE模块的总能耗为4.65W,因此能耗降低了(1-4.65/10.6)×100%=56%。
而根据本发明的第四实施例的控制方法,在10GE模块的业务流停止时,关闭该模块的电源和时钟,因此,不仅MAC芯片处于断电状态,而且PHY芯片和光模块都处于断电状态。所以此时10GE模块的能耗降为0。也就是说,能耗降低了100%。
在以上说明的第四实施例中的控制方法,以一个PCIE模块作为对象来进行节能控制。但是,在PCIE系统具有多个PCIE模块的情况下,为了实现节能,可以针对所有PCIE模块实施本发明第四实施例的控制方法,也可以仅针对一部分PCIE模块实施本发明第四实施例的控制方法。
例如,存在这样的情况:一部分PCIE模块的业务流的流量较小,或者会较长时间不用。在这种情况下,对这部分PCIE模块实施本发明第四实施例的控制方法。而其它的PCIE模块则一直处于带电状态,可以实时使用。因此,既能够降低PCIE系统的能耗,又不会影响需要实时使用的PCIE模块的操作。
第五实施例
根据本发明第五实施例的PCIE系统的控制方法包括:在检测到有要发送到PCIE模块的业务流(即,要发送到PCIE模块的业务流的流量大于零)之后,业务流存储在存储单元中;在存储单元的空闲存储空间小于预定存储空间阈值时将PCIE模块从断电状态切换到带电状态,然后向PCIE模块发送业务流;在检测到要发送到PCIE模块的业务流的流量小于预定上电阈值之后,将PCIE模块从带电状态切换到断电状态。此外,在该控制方法中还可以包括检测PCIE模块的业务流的步骤。
下面结合图8进一步说明第五实施例的PCIE系统的控制方法。图8示出了第五实施例的PCIE系统的控制方法的示意性流程图。
首先在步骤ST802中,检测要发送到PCIE模块的业务流的流量,并且判断是否检测到有要发送到PCIE模块的业务流(即,要发送到PCIE模块的业务流的流量大于零)。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”,则执行步骤ST804。检测要发送到PCIE模块的业务流的流量的细节与本发明实施例的实质没有关系,并且本发明实施例不受要发送到PCIE模块的业务流的流量检测方式的限制。
在步骤ST804中,将要发送到PCIE模块的业务流存储在存储单元中。然后,在步骤ST806中,检测要发送到PCIE模块的业务流的流量是否大于预定上电阈值。这里的预定上电阈值可以是根据情况设定的任意值,例如每秒1M字节。另外,步骤ST806是可选的步骤,即在一些示例中,可以不执行步骤ST806,而在步骤ST804之后,直接执行步骤ST808。
如果在步骤ST806中检测的结果为“否”,即PCIE模块的业务流的流量不大于预定的上电阈值,则执行步骤ST808。另外,如果步骤ST806的判断结果为“是”,则执行步骤ST810(也称为上电步骤)。
在步骤ST808中,判断存储单元的空闲存储空间是否小于预定存储空间阈值。这里的预定存储空间阈值可以是根据情况设定的任意值,例如60%或10M字节。
如果步骤ST808的判断结果为“是”,则执行步骤ST810。如果步骤ST808的判断结果为“否”,则返回步骤ST802。
在步骤ST810中,将PCIE模块从断电状态切换到带电状态。步骤ST810可以与第四实施例中的步骤ST704相同的方式实施,在此省略对其实现方式的具体描述。
接着,在步骤ST812中,将存储的业务流发送到PCIE模块。接着,在步骤ST814中,将要发送到PCIE模块的新业务流存储在存储单元中。
然后,在步骤ST816,检测要发送到PCIE模块的业务流的流量是否小于预定下电阈值。这里的预定下电阈值可以是根据情况设定的任意值,例如每秒0.01M字节。
如果步骤ST816的检测结果为“否”,则流程返回到步骤ST812。如果步骤ST816的检测结果为“是”,则执行步骤ST818。
然后,在步骤ST818中,将PCIE模块从带电状态切换到断电状态(即下电步骤)。步骤ST818中执行的下电步骤,可以以与第四实施例中步骤ST712相同的方式实施,因此,省略对其实现方式的详细描述。
在步骤ST818之后,该流程返回到步骤ST802,继续检测要送到PCIE模块的业务流的流量,以决定何时将处于断电状态的PCIE模块切换到带电状态。
下面以图3所示PCIE系统的结构为例并且结合图8更加详细地说明第五实施例的PCIE系统的控制方法。图8示出了第五实施例的PCIE系统的控制方法的示意性流程图。
首先在步骤ST802中,业务流检测单元140检测要发送到PCIE模块160的业务流的流量,并且判断是否检测到有要发送到PCIE模块160的业务流(即,要发送到PCIE模块160的业务流的流量是否大于零)。如果判断结果为“否”,则继续进行判断。如果判断结果为“是”,则执行步骤ST804。
在步骤ST804中,控制模块210将要发送到PCIE模块160的业务流存储在存储单元220中。然后,在步骤ST806中,业务流检测单元140检测要发送到PCIE模块的业务流的流量是否大于预定上电阈值。如果在步骤ST806中检测的结果为“否”,即PCIE模块的业务流的流量不大于预定的上电阈值,则执行步骤ST808。另外,如果步骤ST806的判断结果为“是”,则执行步骤ST810(也称为上电步骤)。
在步骤ST808中,控制模块210判断存储单元220的空闲存储空间是否小于预定存储空间阈值。如果步骤ST808的判断结果为“是”,则执行步骤ST810。如果步骤ST808的判断结果为“否”,则返回步骤ST802。
在步骤ST810中,上电管理单元120将PCIE模块160从断电状态切换到带电状态。步骤ST810可以以与第四实施例中的步骤ST504相同的方式实现,在此省略其详细描述。
接着,在步骤ST812中,业务流发送模块170将存储单元220中存储的业务流发送到PCIE模块160。
接着,在步骤ST814中,控制模块210将要发送到PCIE模块160的业务流存储在存储单元220中。
然后,在步骤ST816,业务流检测单元140检测要发送到PCIE模块160的业务流的流量是否小于预定下电阈值。如果步骤ST814的检测结果为“否”,则流程返回到步骤ST812。
如果步骤ST816的检测结果为“是”,则执行步骤ST818。在步骤ST818中,下电管理单元130将PCIE模块160从带电状态切换到断电状态(即下电步骤)。步骤ST818中执行的下电步骤可以以与第五实施例中步骤ST512相同的方式实施,因此,省略其详细描述。
在步骤ST818之后,该流程返回到步骤ST802,继续检测要发送到PCIE模块160的业务流的流量,以决定何时将处于断电状态的PCIE模块160切换到带电状态。
根据第五实施例的控制方法,在检测到有要发送到PCIE模块的业务流之后,并不是如第四实施例的控制方法那样直接将PCIE模块从断电状态切换到带电状态,而是将要发送到PCIE模块的业务流先存储在存储单元中,然后在存储单元的空闲存储空间小于预定空闲存储空间时或者业务流的流量大于预定上电阈值之后,才将PCIE模块从断电状态切换到带电状态。另外,在业务流小于预定下电阈值之后,将PCIE模块从带电状态切换到断电状态。因此,根据本发明第五实施例的控制方法,PCIE模块处于带电状态的时间进一步减少。因此第五实施例的节能效果比第四实施例的节能效果更好,从而能够更有效地降低能耗。而且,通过在业务流较小时,将业务流存储在存储单元中,可以减小PCIE模块的状态切换的次数。
在PCIE系统包括多个PCIE模块的情况下,为了实现节能,可以针对所有PCIE模块实施本发明第五实施例的控制方法,也可以仅针对一部分PCIE模块实施本发明第五实施例的控制方法。
例如,存在这样的情况:一部分PCIE模块的业务流的流量较小,或者会较长时间不用。在这种情况下,对这部分PCIE模块实施本发明第五实施例的控制方法。而其它的PCIE模块则一直处于带电状态,可以实时使用。因此,既能够降低PCIE系统的能耗,又不会影响需要实时使用的PCIE模块的操作。
第六实施例
根据本发明第六实施例的PCIE系统的控制方法除了还包括检测PCIE系统是否从由主电源单元供电切换到由备用电源单元供电以及在检测到PCIE系统从由主电源单元供电切换到由备用电源单元供电时的操作之外,其余步骤可以与第四实施例的控制方法相同,也可以与第五实施例的控制方法相同。为了简洁,下面的说明将主要涉及与检测PCIE系统是否由主电源单元供电切换到由备用电源单元供电相关的操作。
下面,结合图9所示的示意性流程图说明根据本发明的第六实施例与检测PCIE系统是否从由主电源单元供电切换到由备用电源单元供电相关的操作。
在步骤ST902中,检测PCIE系统是否从由主电源单元供电切换到由备用电源单元供电。如果检测结果为“否”,则继续检测。如果检测结果为“是”,则执行步骤ST904。
在步骤ST904中,标识出需要写入数据的PCIE模块和不需要写入数据的PCIE模块。接着,在步骤ST906中,将不需要写入数据的PCIE模块切换到断电状态(即,执行下电步骤)。如何将多个PCIE模块标识为需要写入数据的PCIE模块和不需要写入数据的PCIE模块的细节与本发明的实施例实质无关,因此本发明的实施例不受其限制。
然后,在步骤ST908中,将高速缓冲存储单元中的数据写入需要写入数据的PCIE模块。最后,在步骤ST910中,关闭PCIE系统,该流程结束。如何关闭PCIE系统的细节与本发明的实施例实质无关,因此本发明的实施例不受其限制。
下面将以图4所示的PCIE系统为例,结合图9所示的示意性流程图详细说明根据本发明的第六实施例与检测PCIE模块是否由主电源单元供电切换到由备用电源单元供电相关的操作。
在步骤ST902中,电源监测单元353检测PCIE系统是否从由主电源单元352供电切换到由备用电源单元351供电。若检测结果为“否”,则继续检测。若检测结果为“是”,则执行步骤ST904。
在步骤ST904中,控制模块110标识出需要写入数据的PCIE模块160和不需要写入数据的PCIE模块160。接着,在步骤ST906中,下电管理单元130将不需要写入数据的PCIE模块160切换到断电状态(即,执行下电步骤)。如何将多个PCIE模块160标识为需要写入数据的PCIE模块160和不需要写入数据的PCIE模块160的细节与本发明的实施例实质无关,因此本发明的实施例不受其限制。
然后,在步骤ST908中,将高速缓冲存储单元中的数据写入需要写入数据的PCIE模块160。最后,在步骤ST910中,关闭PCIE系统,该流程结束。如何关闭PCIE系统的细节与本发明的实施例实质无关,因此本发明的实施例不受其限制。
根据上述的本发明第六实施例的控制方法,在主电源单元停止供电切换到由备用电源单元供电时,即检测到PCIE系统从由主电源单元供电切换到由备用电源单元供电时,将不需要写入数据的PCIE模块立即切换到断电状态。因此,根据本发明第六实施例的控制方法除了具有第四实施例或第五实施例的优点之外,还可以在仅有备用电源单元供电时降低系统的能耗,延长备用电源单元的供电时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明较佳的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。