System and method for power usage level management of blades installed within blade servers

Methods and systems are disclosed for power usage level management of blades installed in blade servers. When a new blade added is to a blade server, possible power usage levels for the new blade are assessed to determine possible effects on the total power usage level of the chassis. By assessing the different power usage levels, the chassis controller can then make intelligent decisions as to the power usage levels at which new blades will be allowed to operate while still keeping within chassis power supply capabilities. Blade power usage levels can be based upon a variety of considerations, including processor performance modes and blade configuration options.

TECHNICAL FIELD OF THE INVENTION

This invention relates to the operation of blades within blade servers and, more particularly, to power usage by blades within blade servers.

BACKGROUND

Some information handling systems are implemented as multiple processing components configured as part of a single system. A “blade” is a general term often used to refer to one component in a system that is designed to accept some number of components (referred to collectively as “blades”). Blades can be, for example, individual servers that plug into a single cabinet or chassis or individual port cards that add connectivity to a switch. Blades are often hot swappable hardware devices. A “blade server” is a general term often used to refer to a system architecture that houses multiple server modules or blades in a single chassis. Blade servers are widely used, for example, in data centers to save space and improve system management. Either self-standing or rack mounted, the chassis provides the power supply, and each blade has its own CPU, memory and hard disk. Redundant power supplies may also be provided. Blade servers generally provide their own management systems and may include a network or storage switch. With enterprise-class blade servers, disk storage is often external, and the blades are diskless. This approach allows for more efficient fail-over techniques because applications are not tied to specific hardware and a particular instance of the operating system. In such a solution, the blades are typically anonymous and interchangeable.

With the proliferation of blade servers, and as new generation of blades get developed, one recurring problem is the need to support next generation blades in existing chassis instead of requiring the purchase of new chassis for each generation of blade servers. Unfortunately, this problem is made more difficult because each new generation of blades typically consumes more power than the previous generation of blades. This increased power consumption is contributed primarily by newer, faster CPUs, memory technologies, etc. Traditional chassis controllers, however, do not adequately handle mixes of different generations of blades. For example, in a traditional chassis with capacity for ten (10) blades, if nine (9) blades of generation n, n+1, or mixture are present, and a new blade of generation n+1 is added to this chassis, this new blade will often be forced to remain powered down. In particular, the chassis controller firmware will query the BMC (baseboard management controller) or alike on the newly added blade to determine its maximum power consumption level. This maximum power consumption level will typically be relatively high compared to the blades for which the chassis was originally designed. If the addition of this new generation blade results in the total power usage level exceeding what the chassis power supply can provide, which is often the case, the chassis controller will not allow the newly added next-generation blade to operate. In short, existing chassis for blade servers do not efficiently handle power usage level management issues.

SUMMARY OF THE INVENTION

The present invention provides systems and methods for power usage level management of blades installed in blade servers. When a new blade added to a blade server, possible power usage levels for the new blade are assessed to determine possible effects on the total power usage level for the chassis. By assessing the different power usage levels, the chassis controller can then make intelligent decisions as to the power usage levels at which new blades will be allowed to operate while still keeping within chassis power supply capabilities. Blade power usage levels can be based upon a variety of considerations, including processor performance modes and blade configuration options.

In one embodiment, the present invention is a method for managing power usage levels for new blades installed in a blade server chassis, including initializing one or more blades within a chassis for a blade server, adding a new blade to a chassis that is configured to have two or more power usage levels, assessing a new total power usage level for the chassis based upon the possible power usage levels for the new blade, allowing a power usage level for the new blade that will keep the new total power usage level for the chassis below a maximum total power usage level for the chassis, and operating the new blade at the selected power usage level. As described below, other features and variations can be implemented, if desired, and a related systems can be utilized, as well.

In another embodiment, the present invention is a blade server having power management for multiple blades, including a chassis having a power supply and being configured to house a plurality of blades wherein each blade has a processor, a chassis power supply coupled to the chassis and configured to supply power to blades installed within the chassis, and a chassis controller coupled to the chassis, the chassis controller configured to control power levels for blades installed within the chassis. The chassis controller is further configured to assess new power usage levels for the chassis based upon possible power levels for a new blade that is capable of operating at two or more power usage levels and to select a power usage level for the new blade that will keep the new power usage level for the chassis below a maximum total power usage level for the chassis. As described below, other features and variations can be implemented, if desired, and related methods can be utilized, as well.

In another embodiment, the present invention is a blade for a blade server having power usage level reporting, including a baseboard management controller (BMC) configured to be coupled to a chassis controller for a blade server and to report to the chassis controller possible power usage levels for the blade, a central processing unit (CPU) configured to operate in multiple performance modes where each performance mode has an associated power usage level, and a BIOS (basic input/output system) device coupled to the BMC and to the CPU. The BIOS is configured to control the performance modes of the CPU and to request approval from the chassis controller through the BMC for the CPU to operate in successively higher performance modes until a request is denied. As described below, other features and variations can be implemented, if desired, and related methods can be utilized, as well.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides systems and methods for power usage level management of blade servers. Power levels for individual blades are analyzed, and each new blade added to a blade server chassis reports available power usage levels. The chassis controller can then make intelligent decisions as to the power usage level at which the new blade will be allowed to operate. Performance and configuration details of the blade, for example, can be analyzed to determine their individual or collective effect on the power consumption of the blade. By analyzing these details, the power management component of the chassis controller can make a more intelligent decision concerning the power needs of the blades in the chassis and, therefore, can better manage blade power usage levels and overall chassis power usage.

FIG. 1is a block diagram for a blade server chassis106including a chassis controller100with power manager112according to the present invention. The chassis106can be configured to accept a plurality of blades, as represented by BLADE1104A, BLADE2104B . . . BLADE(N)104C. NEW BLADE105represents a new blade that has been added to the chassis106. The power manager112can communicate with the blades104A,104B . . .104C through communication channels110. In addition to the chassis controller100, the chassis106can include a chassis power supply102that is coupled to the chassis controller100. The chassis power supply102can include one or more power rails, such as auxiliary power rail (AUX)114and main power rail (MAIN)116. As depicted, the auxiliary power rail (AUX)114provides power to the blades104A,104B . . .104C, and105through connections108A, and the main power rail (MAIN)116provides power to the blades104A,104B . . .104C, and105through connections108B. It is noted that the blades104A,104B . . .104C, and105can be implemented using a wide variety of architectures and configurations.

FIG. 2is a block diagram of an example embodiment for blade104/105. In this example embodiment, the blade104/105includes a baseboard management controller (BMC)202coupled to a BIOS (basic input/output system) device210, which can be, for example, a programmable device, such as an EEPROM (electrically erasable programmable read only memory). The BIOS device210communicates with and, in part, controls the operation of the components of the blade104/105. The components can include, for example, a CPU (central processing unit)208and memory206, as depicted. The BIOS device210communicates with the CPU208and the memory206through one or more buses212or other connections, as desired. The power regulation circuitry204for the blade104/105is connected to the main power rail (MAIN)108B. And the BMC202is connected to the auxiliary power rail (AUX)108A and the communication channel110. The auxiliary power rail (AUX)108A is typically utilized to power up the BMC202for communication with the chassis controller prior to powering up the blade itself through the main power rail (MAIN)108B. The BMC202can then control how the blade powers up by sending appropriate commands and settings to the BIOS device210, as desired.

It is noted that the blade104/105may have different power requirements for the main power rail (MAIN)108B depending upon its components and its operation modes. Some CPUs, for example, can support multiple performance states, and these performance states can be configured such that lower performance states would use lower amounts of power, and higher performance states would use higher amounts of power. In addition, CPUs can be designed to power up, or come out of reset, in a particular performance state, for example, a low performance state. If and when higher performance is desired or needed, the BIOS device210can be configured to set a bit or register within the CPU to cause the CPU to start operating in a higher performance mode. Because lower performance modes typically do not use as much power as higher performance modes, these configurable CPUs will often consume less power than their maximum power ratings would require. Thus, blade power usage may be significantly lower where higher performance modes are not needed or used.

The blade power usage level management system of the present invention better manages usage of chassis power by recognizing the different operational modes and configurations for blades and their related power usage level needs. Rather than reserving the maximum power for each blade and not allowing a new blade to operate if the total chassis power is exceeded, the blade power usage level management system of the present invention instead reserves only what is actually needed by the blade so that as many blades as possible can operate within the chassis, and more particularly, that blades of different generations can operate efficiently within the same chassis.

As an example, the following technique can be used for blades that have CPUs with at least two operational modes: a low performance mode in which a relatively low amount of power is needed, and a high performance mode in which a relatively high amount of power is needed. When the BMC202of a blade is powered up, the BMC202reports two power usage level values for the blade—one corresponding to a low power rating for the low power mode in which the blade can run, and a second corresponding to a high power rating for the blade. When a chassis controller100gets a request to turn on a newly inserted blade, the BMC202for that blade will first return the lower power rating. This will allow the blade to power up in the low performance mode. During POST (power-on self-test), the BIOS device210would request the BMC202query the chassis controller100for permission to switch into higher power modes. If approved by the chassis controller100, the chassis controller100registers the new power rating for this specific blade and adjusts the available power for the chassis106. The BIOS210then sends the appropriate commands to the CPU208, as needed, to cause the CPU208to reset and begin operating in the higher performance mode. It is noted that the example above focused on power ratings that were based upon a CPU performance levels. These reduced power usage levels could also be extended to consider power reductions contributed by other configuration options, such as reduced CPU configurations, reduced hard disk configurations, reduced I/O subsystem configurations, etc.

FIG. 3is a flow diagram for managing new blades added to the blade array. In the example embodiment300depicted, process flow begins with block302where a new blade105is added to the chassis106. In block304, the BMC202for the blade105powers up, for example, using the auxiliary power rail (AUX)108A. In block306, the BMC202for the blade105reports one or more possible power usage levels for the blade105to the chassis controller100. As discussed above, these power levels can relate to a wide variety of different performance modes and/or configuration conditions, as desired. In block308, the chassis power manager112analyzes the reported power usage levels, considers the power still available for use from the chassis power supply102, and allows the blade105to use a power usage level that does not cause the available power range for the chassis106to be exceeded. Typically, the power manager112is configured to allow the highest possible power usage level for the new blade105. It is noted, however, that the power manager112could also be configured to select different power usage levels other then the highest allowable power usage level, depending upon the selection algorithm desired for a given implementation of the present invention. Finally, in the embodiment300depicted, in block310, the blade105powers up using the power usage level allowed by the chassis controller100.

FIG. 4is a more detailed flow diagram for managing new blades added to the blade array where the blades have two power usage levels related to two performance modes (Basic, Max). In the embodiment400depicted, it is assumed that a chassis106is configured to accept a maximum of Y blades total. It is also assumed that there are only X blades currently installed in the chassis106, wherein X is less than Y. The process flow begins with block402where the X out of a possible Y (maximum) blades that are present in the chassis106are turned on and initialized. The chassis controller100would have already decided upon the power usage levels allowed for these X blades, and these X blades would typically be allowed to run in their highest performance modes. In block404, a new blade105is added to the chassis106. In block406, alternating current (AC) power would be applied to the newly added blade105. In block408, the BMC202on the new blade105initializes using the auxiliary power rail (AUX)108A. In block410, the BMC202advertises or reports its basic power level to the chassis controller100. This basic power level is related to the lower or basic performance mode for the new blade105.

In block412, the power manager112for the chassis controller (CC)100adds the advertised or reported value from the BMC202to the total chassis power. This added power usage level value can either be the basic power usage level value related to the lower performance mode from block412or the maximum power usage level value related to the higher performance mode from block428. Initially, when block412is first reached, the new blade105will be in a powered down state, and the value added in block412will be the basic power usage level value related to the lower performance mode. Next, also in block412, the power manager412compares the new total chassis power usage level (current power usage level of the X blades plus the lower power usage level for the new blade105) to the maximum total chassis power that can be supplied by the chassis power supply102. Decision block414is then reached where a determination is made as to whether the new total chassis power exceeds the maximum chassis power allowed.

If the answer in block414is “YES,” then flow passes to block416where the chassis controller100sends a power-on denial to the BMC202. In decision block418, a determination is made whether the blade is currently “off.” If the answer is “YES,” which will be the case in the initial condition when the new blade105is first added to the chassis106, then block420is reached, and the new blade105remains shut off.

If the answer in block414is “NO,” then flow passes to block422where the chassis controller100sends a power-on approval to BMC202. In decision block424, a determination is made whether the blade is currently “off.” If the answer is “YES,” which will be the case in the initial condition when the new blade105is first added to the chassis106, then block426is reached, and the new blade105powers up in its basic or lower power mode.

In block428, the BIOS device210or firmware (FW) for the new blade105requests the chassis controller100for permission to switch into its maximum or higher power mode. The BMC202then advertises or reports to the chassis controller100the maximum power usage level value related to the higher performance mode for the new blade105. Flow then passes back to block412where the maximum power value is added to the total chassis power (current power usage level of the X blades without the power used by the new blade105). Decision block414is again reached where a determination is made as to whether the new total chassis power exceeds the maximum chassis power allowed.

If the answer in block414is “YES,” then flow passes to block416where the chassis controller100sends a power-on denial to the BMC202. In decision block418, a determination is made whether the blade is currently “off.” If the answer is “NO,” which will be the case in the subsequent condition when the new blade105is already operating in its lower performance mode, then block432is reached, and the new blade105continues to run in its basic power mode.

If the answer in block414is “NO,” then flow passes to block422where the chassis controller100sends a power-on approval to BMC202. In decision block418, a determination is made whether the blade is currently “off.” If the answer is “NO,” which will be the case in the subsequent condition when the new blade105is already operating in its lower performance mode, then block430is reached, and the new blade105switches from basic power mode to its maximum power mode. At this point, the power usage level control process for the new blade105ends.

It noted that this embodiment400ofFIG. 4could be expanded to cover more than two power usage levels. This could be done, for example, by having each power usage level assessed successively from lowest to highest until the maximum total power usage level for the chassis is exceeded, at which a previous power usage level is allowed, or until the highest power usage level is assessed and allowed. It is further noted that blade servers ideally operate such that each blade104A,104B . . .104C, and105are allowed to operate at their highest performance level. However, this condition may not be possible where the chassis106does cannot support a full load of blades operating at their highest power usage level, as might be the case were blades of different generations are mixed together. Rather than leave empty slots in the chassis106, however, it is often preferable to use the available slots even though this use may mean that a new blade105placed in one of the last slots would be left operating in its lower performance level.

Further modifications and alternative embodiments of this invention will be apparent to those skilled in the art in view of this description. It will be recognized, therefore, that the present invention is not limited by these example arrangements. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the manner of carrying out the invention. It is to be understood that the forms of the invention herein shown and described are to be taken as the presently preferred embodiments. Various changes may be made in the implementations and architectures. For example, equivalent elements may be substituted for those illustrated and described herein, and certain features of the invention may be utilized independently of the use of other features, all as would be apparent to one skilled in the art after having the benefit of this description of the invention.