Abstract:
Arrangements which provide a degree of flexible power allocation among multiple power rails in computer systems, in a manner to permit the sharing and exchange of power across multiple rails. The rails involved in such sharing could be of similar or dissimilar voltage. By way of an advantageous refinement, a “shopping cart” approach for system configuration is permitted, based on subsystem or component power capability.

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to power systems for computers. 
     BACKGROUND OF THE INVENTION 
     Currently, in the context of computer systems, power supply arrangements are rather rigidly configured. Particularly, power supply design tends to be very specific with regard to the allowable current in different rails, even among same-voltage rails. In other words, as computer power supply arrangements may typically have different-voltage rails (e.g., 12V, 5V and 3.3V), they may also have several rails of the same voltage (e.g., several 12V rails), and even rails of the same voltage may each be strictly dedicated to one function (e.g., the powering of one system component) or another. 
     Because of this rigidity, there is no hierarchy imparted to rail power sources that permits a free and flexible sharing of power among rails. This creates inefficiencies in terms of unused or underused power rail capacity. For instance, power rails designed for a given power consumption may be idle, or at least its use far from optimized, during certain operational configurations of a computer system. 
     The present inventors have recognized a compelling and growing need in connection with addressing and reducing the inefficiencies just described. 
     SUMMARY OF THE INVENTION 
     Generally, there are broadly contemplated herein, in accordance with at least one presently preferred embodiment of the present invention, arrangements which provide a degree of flexible power allocation among multiple power rails in a manner to permit the sharing and exchange of power across multiple rails. The rails involved in such sharing could be of similar or dissimilar voltage. By way of an advantageous refinement, a “shopping cart” approach for system configuration is permitted, based on subsystem or component power capability. 
     In summary, one aspect of the invention provides a method comprising: providing a physical computing device, the physical computing device comprising a main memory; providing a power supply to power the physical computing device; providing distribution rails to power components of the physical computing device; allocating current to distribution rails in accordance with a predetermined initial distribution of current, the predetermined initial distribution of current including a setpoint power demand of a component; ascertaining a revised power demand of the component, the revised power demand being different from the setpoint power demand; redistributing current from a first rail to a second rail responsive to the ascertaining of a revised power demand. 
     Another aspect of the invention provides an apparatus comprising: a physical computing device; the physical computing device comprising a main memory; a power supply which powers the physical computing device; distribution rails which power components of the physical computing device; an allocator which allocates current to the distribution rails in accordance with a predetermined initial distribution of current, the predetermined initial distribution of current including a setpoint power demand of a component; and a control arrangement which ascertains a revised power demand of the component, the revised power demand being different from the setpoint power demand; the allocator acting to redistribute current from a first one of the distribution rails to a second one of the distribution rails responsive to ascertaining of a revised power demand. 
     Furthermore, an additional aspect of the invention provides a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method comprising: providing a physical computing device, the physical computing device comprising a main memory; providing a power supply to power the physical computing device; providing distribution rails to power components of the physical computing device; allocating current to distribution rails in accordance with a predetermined initial distribution of current, the predetermined initial distribution of current including a setpoint power demand of a component; ascertaining a revised power demand of the component, the revised power demand being different from the setpoint power demand; redistributing current from a first rail to a second rail responsive to the ascertaining of a revised power demand. 
     For a better understanding of the present invention, together with other and further features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the invention will be pointed out in the appended claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  schematically illustrates a computer system with added components. 
         FIG. 2  schematically illustrates a conventional power supply arrangement. 
         FIG. 3  schematically illustrates a flexible power supply arrangement in accordance with at least one preferred embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     For a better understanding of the present invention, together with other and further features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the invention will be pointed out in the appended claims. 
     It will be readily understood that the components of the present invention, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the apparatus, system, and method of the present invention, as represented in  FIGS. 1 through 3 , is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. 
     Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. 
     Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, arrangements, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention. 
     The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals or other labels throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of devices, systems, and processes that are consistent with the invention as claimed herein. 
     Referring now to  FIG. 1 , there is depicted a block diagram of an illustrative embodiment of a computer system  12 . The illustrative embodiment depicted in  FIG. 1  may be a notebook computer system, such as one of the ThinkPad® series of personal computers sold by Lenovo (US) Inc. of Morrisville, N.C., however, as will become apparent from the following description, the present invention is applicable to any data processing system. Notebook computers may alternatively be referred to as “notebooks”, “laptops”, “laptop computers” or “mobile computers” herein, and these terms should be understood as being essentially interchangeable with one another. 
     As shown in  FIG. 1 , computer system  12  includes at least one system processor  42 , which is coupled to a Read-Only Memory (ROM)  40  and a system memory  46  by a processor bus  44 . System processor  42 , which may comprise one of the AMD™ line of processors produced by AMD Corporation or a processor produced by Intel Corporation, is a general-purpose processor that executes boot code  41  stored within ROM  40  at power-on and thereafter processes data under the control of operating system and application software stored in system memory  46 . System processor  42  is coupled via processor bus  44  and host bridge  48  to Peripheral Component Interconnect (PCI) local bus  50 . 
     PCI local bus  50  supports the attachment of a number of devices, including adapters and bridges. Among these devices is network adapter  66 , which interfaces computer system  12  to a LAN, and graphics adapter  68 , which interfaces computer system  12  to display  69 . Communication on PCI local bus  50  is governed by local PCI controller  52 , which is in turn coupled to non-volatile random access memory (NVRAM)  56  via memory bus  54 . Local PCI controller  52  can be coupled to additional buses and devices via a second host bridge  60 . 
     Computer system  12  further includes Industry Standard Architecture (ISA) bus  62 , which is coupled to PCI local bus  50  by ISA bridge  64 . Coupled to ISA bus  62  is an input/output (I/O) controller  70 , which controls communication between computer system  12  and attached peripheral devices such as a keyboard and mouse. In addition, I/O controller  70  supports external communication by computer system  12  via serial and parallel ports. A disk controller  72  is in communication with a disk drive  200 . Of course, it should be appreciated that the system  12  may be built with different chip sets and a different bus structure, as well as with any other suitable substitute components, while providing comparable or analogous functions to those discussed above. 
     It should be readily understood that  FIG. 1  illustrates a computer system  12  that is provided here merely by way of illustrative and non-restrictive example. Of course, other types of computer systems can easily be employed within as a context of one or more embodiments of the present invention. 
       FIG. 2  schematically illustrates a conventional power supply arrangement. As is known, there may typically be provided three power rails for providing power to a computer system: a set (or subsystem) of one or more 12V rails ( 202 ), a set (or subsystem) of one or more 5V rails ( 204 ) and a set (or subsystem) of one or more 3.3V rails ( 206 ). The computer system so powered may be similar or analogous to that indicated at  12  in  FIG. 1 , or could be essentially any computer system utilizing similar power rails. 
     For the 12V set  202 , several 12V rails  208  are shown (labeled as V 1 , V 2 , V 3 , V 4 , V 5 , and V 6 ). Typically, each of these individual rails may power specific individual subsections of the computer system. For example, V 1  may be used to power only a CPU, while V 2  may be used to power only one other component (or set of components), and so on. This rigid structure, as described previously, thus can present inefficiencies in that one or more rails may be unused or underutilized in many cases where they have free capacity which could unburden another rail. 
     By contrast,  FIG. 3  schematically illustrates a flexible power supply arrangement in accordance with at least one preferred embodiment of the present invention. As shown, a hierarchy may preferably be provided wherein a top level would be constituted by a lumped power source  297 . As will now be appreciated, the lumped power source  297  distinguishes from conventional power sources in that, with the latter, an original power supply typically is split directly and inflexibly into individual voltages at individual rails immediately, wherein no sharing between the individual voltages/rails is possible (e.g., if one of the rails [with prescribed voltage] was consuming less than its rated capacity, it could not “lend” part of its capacity to another rail). Conventionally, rails of similar voltage (e.g., at  208  in  FIG. 2 ) also do not lend capacity to each other once they have each received their rigidly defined allotment from an original power supply. 
     Power may then preferably be fed to a multiple phase regulation arrangement  299  which then flexibly distributes power among different subsystems, e.g., 12V, 5V and 3.3V subsystems  302 / 304 / 306  (and/or to specific rails within such subsystems). Such distribution can be based on immediate demand or on power requirements specific to the system. For instance, rails normally configured for one type of CPU (with a given power requirement or rating) can now be flexibly employed for another type of CPU (with a different power requirement or rating). As a specific, non-restrictive example, CPU-dedicated rails in the system of  FIG. 3  may nominally be designed to power 130 W CPUs. However, if a user were to actually select or employ 2×80 W CPUs instead of 2×130 W CPUs, the excess capacity of 100 W (derived from 2×[130−80]) can now be reapportioned to another subsection of rails such as a nominal Gfx subsection of rails. This type of flexible reapportionment of power among rails can of course take a very wide variety of different forms, limited only by the power provided by the lump supply  297  and the capacities of the rails (at  302 / 304 / 306 ) themselves. 
     In an advantageous refinement in accordance with at least one presently preferred embodiment of the present invention, a “shopping cart” power matrix can be employed wherein a calculated array of subsystem power requirements are coupled together with a configuration selector. In such a setting, if one subsection of the computer system is determined to need to consume more power than nominally provided for by the existing configuration of power rails, then a different setup can freely and flexibly be configured in order to provide power to that subsection in accordance with available capacity in other rails. Conceivably, there is essentially no limit to the variety of configurations that can be manifested through the flexible power reapportionment broadly contemplated herein. Configuration selection can be brought about in essentially any suitable manner. For instance, a background component power matrix may be provided wherein a user preselects a configuration of system components to be utilized (e.g., CPUs, memory, hard disk drive, graphics, etc.). As components are successively selected, power may preferably be removed from the lumped supply and assigned to voltage rails, as appropriate. 
     Put another way, it should be understood that generally, in accordance with at least one presently preferred embodiment of the present invention, voltage rails (whether of same or different voltage) can readily obtain the power they require from a lumped source. The rails or sets of rails may be configured to deliver maximum output based on prospective power needs for a variety of different computer systems, while solely the lumped source need be limited in the power it provides. Customers essentially may pick and choose “building blocks” for whatever configuration is desired (wherein “building blocks” can be thought of as individual system components such as CPUs, memory, hard disk drive, graphics, etc.) and, based on the power consumption of each “building block”, several may be chosen until the maximum power rating of the lumped power supply is met. 
     Control of the lumped power supply  297  and multiple phase regulation  299  can be undertaken via essentially any suitable control arrangement  310 ; by way of example, a dedicated microprocessor could assume such control, but the system processor itself (e.g.,  42  in  FIG. 1 ) could conceivably perform the same function. 
     It is to be understood that the present invention, in accordance with at least one presently preferred embodiment, includes elements and arrangements that may be implemented on at least one general-purpose computer running suitable software programs. These may also be implemented on at least one Integrated Circuit or part of at least one Integrated Circuit. Thus, it is to be understood that the invention may be implemented in hardware, software, or a combination of both. 
     If not otherwise stated herein, it is to be assumed that all patents, patent applications, patent publications and other publications (including web-based publications) mentioned and cited herein are hereby fully incorporated by reference herein as if set forth in their entirety herein. 
     Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention.