BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention is related to computer systems in which power is supplied to multiple devices from one or more common power supplies, and more specifically to energy management techniques that permit reduction of overhead in the power supply by locally limiting power supply current provided to the devices using soft switches. 
         [0003]    2. Description of Related Art 
         [0004]    In computer peripheral subsystems, and in other subsystems such as storage subsystems, in which devices may be added or removed to I/O connections, power is also distributed using the I/O connectors or using additional power bus connectors. Examples of such connections are as card rack connectors, e.g. peripheral component interconnect (PCI) or PCI extended (PCI-X) bus connectors or PCI-Express (PCI-e) connectors. Power is also distributed in systems using external cabled connectors such as IEEE-1994 interfaces or universal serial bus (USB) interfaces. 
         [0005]    In subsystems in which an unknown or potentially variable group of devices may be attached to such power connections, the potential current that is maintained in availability to the power distribution system is necessarily higher than that actually used by the totality of the devices. In general, there is a significant amount of overhead, because either the maximum current that may be required by a group of devices is set at a multiple of the per-device maximum power specification for the particular I/O interface or associated power connection by the number of connections available, or by the number of devices actually present. In many such systems, multiple power supplies are used to provide current to the power distribution system and if only a relative few devices are installed, or the installed devices are mostly low-power devices, a power supply may be needlessly operating, reducing system efficiency and potentially lowering reliability. Finally, in installations such as server and storage racks, multiple air moving devices (AMDs) may be operated to handle the maximum possible generated heat, and in the above low power usage examples, operation of all of the AMDs may be unneeded, with the resultant cooling overhead also reducing system energy efficiency and additionally raising ambient noise levels. 
         [0006]    Therefore, it would be desirable to provide a energy management method and energy management system that reduces the current and or cooling overhead in a power distribution system. 
       BRIEF SUMMARY OF THE INVENTION 
       [0007]    The invention is embodied in a energy management method, a computer program product and a energy management subsystem that manages current limits of multiple power supply connections on a power distribution bus in accordance with determined device maximum current requirements. 
         [0008]    The method determines the maximum current requirement for multiple devices in the subsystem, then programs current limits of the multiple supply connections in accordance with the determined maximum current requirement. The method also totals the current limits to determine a total maximum current and then controls one or both of the power supplies providing current to the power distribution bus or cooling devices to reduce one or both of the available current overhead or a cooling overhead. 
         [0009]    The foregoing and other objectives, features, and advantages of the invention will be apparent from the following, more particular, description of the preferred embodiment of the invention, as illustrated in the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
         [0010]    The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives, and advantages thereof, will best be understood by reference to the following detailed description of the invention when read in conjunction with the accompanying Figures, wherein like reference numerals indicate like components, and: 
           [0011]      FIG. 1  is a block diagram illustrating a computer system including in which techniques according to an embodiment of the present invention are practiced. 
           [0012]      FIG. 2  is a detailed block diagram of a portion of the computer system of  FIG. 1 . 
           [0013]      FIG. 3  is a block diagram of a peripheral device energy management scheme in accordance with another embodiment of the present invention. 
           [0014]      FIG. 4  is a pictorial diagram depicting information flow in a system in accordance with an embodiment of the present invention. 
           [0015]      FIG. 5  is a flow chart of a method as performed in an energy management subsystem in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0016]    The present invention encompasses energy management systems in computer systems. In particular, the present invention encompasses techniques that limit the individual power supply currents available to multiple detachable devices, so that the power supply and/or cooling system overhead can be dynamically adapted to particular system configurations to improve system efficiency by reducing a number of active power supplies or cooling devices such as air movement devices (AMDs), e.g., chassis air circulation fans. For example, when multiple power supplies are used to supply power to a chassis power distribution system, the power supplies are generally sized to handle the total current required by the maximum power consumption value associated with each of the device connectors, such as peripheral component interconnect (PCI) slots or other interface connector type. However, if, for example, only a fraction of the device connectors are populated with devices, or the mix of installed devices have relatively low power requirements, then all of the multiple power supplies may not be needed, and can be disabled, improving the efficiency of the power supply system, since power supplies are generally more efficient when supplying output current levels near their maximum capacity than at lower output current levels. Further, heat removal requirements, generally met by cooling devices such as AMDs or active cooling systems such as liquid circulating and electronic chillers. 
         [0017]    Referring now to  FIG. 1 , a computer system in which energy management techniques in accordance with an embodiment of the present invention are practiced is shown. A server rack  3  includes device PCI slot positions for accepting a number of processing blades  10 A- 10 D. Power for operating blades  10 A- 10 D is provided from two power supply units (PSUs) PSUA and PSUB. A pair of fans  2  provide air movement through server rack  3 . Server rack  3  is connected to a storage rack  5  that includes connector positions for accepting a number of storage devices  8 A- 8 H, which may be, for example hard disc drives (HDDs) or solid state drives (SSDs). Storage rack  5  is supplied by PSUs PSUC and PSUD. Another pair of fans  2  are included in storage rack  5  for providing air movement through storage rack  5 . Server rack  3  is also connected to I/O drawer  7 , for connection of devices such as dual network interface controllers (Dual NICs)  12 A- 12 D. I/O drawer  7  is supplied by PSUs PSUE and PSUF. Another pair of fans  2  are included in I/O drawer  7  for providing air movement through I/O drawer  7 . The computer system depicted in  FIG. 1  is intended as an example of a computer system in which energy management techniques in accordance with the present invention may be practiced, but is not intended to be limiting, as the techniques of the present invention can be practiced in other computer systems such as workstations, notebook computers and other special-purpose devices, including those that are not general-purpose computers systems, but include the ability to determine and control maximum power supply current levels provided to connectors that supply power to detachable devices. Further,  FIG. 1  illustrates a fully-populated system for descriptive purposes, while the techniques of the present invention are particularly advantageous when a computer system such as the one illustrated is underpopulated, or is populated with devices having relatively low power requirements. For example, if storage rack  5  were filled with SSDs, operation of both of PSUs PSUC and PSUD would probably not be required and the techniques of the present invention can improve efficiency and may also reduce noise and further improve efficiency by disabling one or both of fans  2  located in storage rack  5 . In another example, I/O drawer  7  might be populated with a single Dual NIC  12 A, in which case power requirements would permit disabling PSU PSUF and one or both of fans  2  in I/O drawer  7 . 
         [0018]    Referring now to  FIG. 2 , details of the computer system of  FIG. 1  are shown in a detailed electrical block diagram. Blade  10 A includes a pair of processors  14 A and  14 B, both of which generally include multiple cores and on-chip cache memories. A portion of system memory  16  is also provided in blade  10 A. Other blades  10 B and  10 C are generally identical in structure to blade  10 A, and blade  10 D is depicted as not installed in the configuration depicted in  FIG. 2 . Each of the power supply connections to which blades  10 A- 10 C are coupled includes a soft switch  22  having a programmable maximum current limit that will disable the corresponding blade  10 A- 10 C if the maximum current limit threshold is exceeded. Since, in the present invention, the maximum current limit threshold is programmed to be equal to or slightly (e.g., 20%) above the maximum current that would ever be required by the particular corresponding installed device (blade), the threshold will only be exceeded if the device is defective, which can aid in limiting damage to server rack  3  and possibly the defective device itself, but reducing the chance of burning components on the defective device. Soft switches  22  can be programmed from an operating system daemon, or a hypervisor, executed by any of processors  14 A and  14 B within blades  10 A- 10 C, and/or executed by a remote processor coupled to server rack  3 . However, each of the illustrated blades  10 A- 10 C also generally includes a service processor  18  that can be used to provide housekeeping tasks such as energy management functions, alone or in concert with a hypervisor. For example, each of service processors  18  may program soft switch  22  at the corresponding connector based on current levels specified by the hypervisor, which can obtain information identifying and/or specifying a maximum current level for blades  10 A and any other devices installed in server rack  3 . PSUs PSUA and PSUB include controllers  24 , which may be service processors or other control logic/processors that provide for enabling and disabling PSUA and PSUB and AMDs such as fans  2  within server rack  3 . Soft switches  22  generally include a current sensing/current control element  23 , such as one or more pass transistors and a control circuit  21  that slowly ramps up current applied to the corresponding device at startup or after a hot-swap event and compares a current measured through current sensing/current control element  23  to a threshold, which is a programmable threshold for the programmable soft switches  22  used in the depicted embodiments of the present invention. If the current exceeds the programmable threshold, control circuit  21  turns off current sensing/current control element to prevent an over-current condition and possible damage to the corresponding device or the system. 
         [0019]    Each of blades  10 A- 10 C is coupled to a local backplane bus  20  such as a PCI bus, which is then coupled to other chassis such as I/O drawer  7  by an I/O unit  26 , that couples to another local backplane bus  20 B, such as another PCI bus, to which each of the I/O devices installed in I/O drawer  7  connect. In the depicted configuration, two dual NICs  12 A and  12 B are installed in I/O drawer  7 , along with other devices  28 , which may be lower power devices. Each of the power supply connections to which dual NICs  12 A and  12 B and other devices  28  are attached include a soft switch  22  that is programmed to supply a maximum current equal to or slightly greater than a maximum current level provided by or for the corresponding device. Soft switches  22  as above may be programmed from commands received from a hypervisor or other executing within blades  10 A- 10 D, another processor, or a service processor, such as service processor  18 A included within I/O unit  26  of I/O drawer  7 . Based upon the combined current limits set for soft switches  22  within I/O drawer  7 , one of PSUs PSUE or PSUF may be disabled, along with one or both of fans  2 , for example, under control of controllers  24 . Details of storage rack  5  of FIG.  1  are not shown in  FIG. 2  for clarity, but are similar to those shown for server rack  3  and I/O drawer  7 . 
         [0020]    Referring now to  FIG. 3 , a peripheral device energy management scheme in accordance with another embodiment of the present invention is shown. In  FIG. 3 , only a I/O controller  30  and connected devices  32 A- 32 E are shown, which may form part of a notebook computer system, desktop workstation, or another dedicated electronic system with external device interfaces that distribute power to external devices. A power supply provides power to I/O controller  30 , which then distributes power to devices  32 A- 32 E. For some applications, it is not necessary to have multiple power supplies having a selectable operation as described above in order to improve efficiency when power requirements are low, as for example when power converters can be operated in a lower overhead mode when lower output power levels can be tolerated. Therefore, power supply  34  may include multiple converters with selectable operation, or may have a selectable mode of operation that improves efficiency at lower output current levels. As in the system depicted in  FIG. 1  and  FIG. 2 , I/O controller  30  includes soft switches  22  and  22 A for each connector that supplies power from I/O controller to external devices  32 A- 32 E. However, since devices  32 C- 32 E are connected in a daisy-chain configuration, soft switch  22 A is programmed to a maximum current limit threshold that is equal to (or slightly greater than) the total maximum current values for all of devices  32 C- 32 E. For example, in 6-wire IEEE-1394 connections and where USB hubs receive power from a system connector and distribute power, a limit may be set for the system connection that limits the current via soft switch  22 A that is substantially less than the maximum power specified for the interface type, e.g., 500 ma for USB. Providing the ability to limit the current actually supplied based upon the expected current requirements for the connected devices ensures that system efficiency can be optimized, while also ensuring that the expected current levels are never actually exceeded by a defective device or a device for which the maximum current level does not match the expected/reported value. 
         [0021]    Referring now to  FIG. 4 , information flow within an energy management system in accordance with an embodiment of the present invention is shown. During initialization of the system, device information is generally collected from bus-connected devices, that in the case of PCI, vital product data (VPD) information can be used to indicate the maximum current Max Current that will be needed by a device  40  under worst-case operating conditions. Maximum current Max Current can then be used to set a corresponding soft switch  22  current limit value and used in accumulation of the total maximum current  44  for all of the connected devices, which can then be used to control the power supply units via power supply control mechanism  46  and/or cooling devices such as AMDs via AMD control mechanism  48 . As an alternative, the device identifier Device ID, which generally provides a manufacturer code as well as a product code, could be used to obtain a maximum current level for the device from a database  42  which may be local or remote. 
         [0022]    Referring now to  FIG. 5 , an energy management method, in accordance with an embodiment of the invention, is depicted in a flowchart. First the devices on the power distribution bus are enumerated (step  50 ), for example, in a PCI bus, enumeration occurs at system boot. A per-device current consumption value is determined (step  52 ), either from direct information such as a VPD maximum current value, or indirectly, such as retrieval from a database using the device information. A per-device maximum current consumption level may be determined (step  54 ) if the device information is not the maximum current or if a margin is to be provided above the reported current requirement (e.g., the 120% value mentioned as an example above). The soft switch current limits are set to the corresponding maximum current consumption value for the corresponding devices (step  58 ) and the maximum current or power consumption values are totaled (step  60 ). If the current overhead, i.e., the available power supply current minus the total of the maximum current or power consumption values from step  60  is greater than the current available from one of the PSUs (decision  62 ), then that PSU can be disabled (step  63 ). Also, if the cooling overhead is greater than the setting of one of the AMDs or other cooling device (decision  64 ), then the cooling device can be disabled (step  65 ). 
         [0023]    While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form, and details may be made therein without departing from the spirit and scope of the invention.
An energy management control method and controller reduce power supply current and/or subsystem cooling overhead that reduces system efficiency, may reduce system reliability and may increase ambient noise. Multiple device connectors are supplied from corresponding soft switches that are programmed to provide a current level that is sufficient to supply the maximum current for the device installed in the corresponding device connector. The current level may be determined from device information provided from the device during initialization, which may directly specify a maximum current requirement. Alternatively, the maximum current requirement can be determined from other device-identifying information such as a unique device identifier. As a result a guaranteed maximum current or power and power dissipation can be determined, and multiple power supplies and/or cooling devices such as air movement devices (AMDs) may be enabled, disabled or otherwise controlled accordingly.