The present invention relates generally to a method for digital computing, and more particularly to a system and a method for limiting power consumption in add-in expansion cards.
General purpose computers are built with a certain feature set that is intended to provide a minimum level of performance for a majority of customers. For many customers, this feature set is insufficient for their needs and desires. The use of add-in expansion cards (add-in card) permits the user to add extra functionality to their computer that was not available in the computer when purchased. Additionally, the use of add-in expansion cards can allow the user to upgrade to a higher performance computer. For example, the user can upgrade the video card and/or sound card that may be built into their computer. Alternatively, the user can install additional hard drive controllers to increase the amount of storage that their computer is capable of holding.
The add-in cards can be attached to the computer via an expansion bus. The expansion bus provides a high-speed communications bus to transfer data between the computer's CPU, memory, storage and the add-in card. A commonly used expansion bus in modern computers is the peripheral connection interface (PCI) bus which has been extended functionally into the PCI Express bus. The PCI bus and the PCI Express bus provide compatible cards with a reliable communications bus with good data transfer rates. Both the PCI and PCI Express buses provide a certain amount of power to each add-in card installed. The PCI Express technical standard provides an optional mechanism for reporting a maximum amount of power that can be provided to an add-in card. If an add-in card should require more power than the bus can provide, then the add-in card may not operate or may operate in an erroneous fashion, and it is up to the designer of the add-in card to make sure that the add-in card's power consumption meets the specifications or provide an alternate method for obtaining the needed power.
In the past, when an add-in card required more power than what was provided by the expansion bus, one way to provide the needed power was to connect a power supply lead from the computer's power supply directly to the add-in card.
One disadvantage of the prior art is that in some situations, if the power supply of the computer is at its limit with regard to the amount of power it can provide, then the power supply would not be able to provide the power needed by the add-in card and the add-in card would not be able to operate properly. Furthermore, the power supply may not have a sufficient number of leads to connect to the add-in card. This can lead to the need to use additional leads, which may be a problem if the user does not have additional leads.
These and other problems are generally solved or circumvented, and technical advantages are generally achieved, by preferred embodiments of the present invention which provides a method for limiting power consumption on add-in expansion cards.
In accordance with a preferred embodiment of the present invention, a method reconciling an add-in card's power requirements with a power limited expansion bus is provided. The method comprises retrieving power consumption information for the add-in card and receiving power limit information for the expansion bus. The method further comprises determining if the add-in card is over power and reducing the add-in card's power consumption if the add-in card is over power.
In accordance with another preferred embodiment of the present invention, a method for reducing power consumption in an add-in card is provided. The method comprises determining if the add-in card is over power and reducing power consumption in a subset of integrated circuits in the add-in card if the add-in card is over power, wherein the subset of integrated circuits is selected based upon a function of the add-in card that is selected for disablement.
In accordance with another preferred embodiment of the present invention, an add-in card is provided. The add-in card comprises a controller coupled to an expansion bus in a computer and a plurality of integrated circuits coupled to the controller. The plurality of integrated circuits is configured to perform an intended function of the add-in card and each integrated circuit is coupled to the controller by a power limit signal line that is used to disable the operation of the integrated circuit to reduce power consumption in the add-in card.
An advantage of a preferred embodiment of the present invention is that it can be possible for add-in cards with power requirements that exceed the power capabilities of the expansion bus to adjust its performance level to reduce its power consumption so that the add-in card can still operate, although at a potentially lower performance level.
A further advantage of a preferred embodiment of the present invention is that the present invention can be implemented without needing any changes to existing expansion bus and computer hardware and/or software. This can greatly reduce the cost of implementing the present invention.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiments disclosed may be readily utilized as a basis for modifying or designing other structures or processes for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
a through 4d are diagrams of ways to reduce power consumption in an add-in card, according to a preferred embodiment of the present invention;
a through 5c are diagrams of exemplary add-in expansion cards, wherein the add-in cards have the capability to alter their function based upon their power consumption needs and a limit on the amount of power the expansion bus is capable of providing, according to a preferred embodiment of the present invention; and
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
The present invention will be described with respect to preferred embodiments in a specific context, namely a computer add-in card for the PCI Express compliant expansion bus. The invention may also be applied, however, to add-in cards for other expansion buses wherein there is a limit on the amount of power that can be supplied by the expansion bus and the add-in card exceeds the power limit, but there is no requirement in the specifications as to how to respond to such a situation.
With reference now to
With reference now to
The add-in card 135 includes an interface integrated circuit (“chip”), referred to as “Chip 1” 205. A purpose of “Chip 1” 205 can be to control the power-on sequence of other chips in the add-in card 135, serve as a communications bridge between the other chips in the add-in card 135 and the expansion bus, determine which of the other chips in the add-in card 135 to turn on, and so forth. The other chips in the add-in card 135, such as “Chip 2” 210, “Chip 3” 211, and “Chip N” 212, can be chips required to provide the desired functionality of the add-in card 135. Note that “Chip 2” 210, “Chip 3” 211, and “Chip N” 212, along with other chips in the add-in card 135 that are not shown can be collectively referred to as the other chips in the add-in card 135. For example, if the add-in card 135 is a video card, then the other chips in the add-in card 135 may be a video codec, a video dac, memory, and so on. The other chips in the add-in card 135 can communicate and share information with each other and “Chip 1” 205 by a communications bus 215.
The “Chip 1” 205 can also provide clock signals to each of the other chips in the add-in card 135. The clock signals provided by the “Chip 1” 205 may be individual, wherein each of the other chips in the add-in card 135 can potentially receive a separate clock signal (as shown in
Also shown in
With reference now to
The sequence of events 300 can begin when power is initially provided to the computer 100 or after the computer 100 has been reset. After the power has been applied, a reset signal can be asserted and as long as the reset signal is being asserted, then chips on the add-in card 135 can be kept in a reset state wherein the chips consume a small amount of power since the chips are in the reset state (block 305). After the power has been applied to the computer 100 for a certain amount of time (for example, to permit an initialization of all required initial states and to configure needed circuitry) the reset signal is de-asserted. When the reset signal is de-asserted, the chips in the add-in card 135 are no longer in the reset state and can therefore, begin to consume a larger amount of power (block 310). Note however, that the chips in the add-in card 135 may not be consuming as much power as if they were operating in a full function mode since the computer 100 may have not begun full operation and hence the add-in card 135 may have not begun full operation.
The integrated circuit that is responsible for the operation of the add-in card 135, such as “Chip 1” 205, can then retrieve information regarding the amount of power that the add-in card 135 will require when it is fully operating (block 315). According to a preferred embodiment of the present invention, the information regarding the power requirement of the add-in card 135 can be stored in firmware located in the add-in card 135 or in a memory (likely to be read-only memory (ROM)) that is located near or in the “Chip 1” 205. Alternatively, the information can be stored in a memory location, such as a register, that is a part of the “Chip 1” 205. The power requirement of the add-in card 135 can be determined by the manufacturer through power consumption measurements made during development and manufacture of the add-in card 135 and can be stored on the add-in card 135 during the manufacture of the add-in card 135. Alternatively, the power requirement may be saved in an application driver for the add-in card 135 and can be written to the add-in card 135 or a memory storage during an installation of the add-in card 135.
In addition to retrieving information about the power requirements of the add-in card 135 (block 315), the “Chip 1” 205 may also receive a message from the computer 100 that specifies the maximum power that an expansion bus slot is able to provide (block 320). Note that the amount of power that an expansion bus slot can provide can differ for different computers. The message may be provided by system software of the computer 100, an operating system executing on the computer 100, the computer's firmware, and so forth. The amount of power provided by an expansion bus slot can vary depending on the computer 100 and can be based on factors such as the number of expansion slots available on the computer 100, the size of the power supply of the computer 100, and so forth.
After receiving the message containing information regarding a maximum amount of power that an expansion bus slot can provide (block 320), the “Chip 1” 205 can make a comparison between the power required by the add-in card 135 and the maximum amount of power that can be supplied by an expansion bus slot (block 325). If the power required by the add-in card 135 is less than the maximum amount of power provided by the expansion bus slot, then the add-in card 135 can be permitted to operate in a normal fashion (block 330) and the sequence of events 300 terminates. However, if the power required by the add-in card is greater than the maximum amount of power supplied by the expansion bus slot, then the “Chip 1” 205 must reduce power consumption (block 335), which can include a partial or complete disabling of the add-in card 135, and the sequence of events 300 can terminate.
With reference now to
It may be possible to control the degree to which the ISR places some (or all) of the other chips in the add-in card 135 into a low power consumption state whenever the “subsystem_over_power_condition” occurs. When the “subsystem_over_power_condition” occurs, the ISR can simply place the other chips in the add-in card 135 into a low power consumption state without regard to the degree to which the add-in card 135 is over power. When the ISR does not regard the magnitude of the over power, then the ISR can substantially shut down the operation of the add-in card 135. Alternatively, the ISR can consider the degree to which the add-in card 135 is over power and it can shut down a sufficient number of the other chips to ensure that the add-in card 135 is no longer over power, but yet can still provide a limited amount of functionality. For example, if the add-in card 135 is a video graphics card, then the ISR can turn off some of the functionality of the add-in card 135 to help reduce power consumption. If a sufficient functionality is turned off, it may be possible to lower the power consumption of the add-in card 135 to a level where the add-in card 135 is no longer over power. It may be possible for the manufacturer to provide a table that can be stored in a memory in the add-in card 135 that lists the various functions of the add-in card 135 and a net reduction in power consumption when each is turned off. Alternatively, the manufacturer can provide a list of which functions can be turned off to yield a certain power consumption. The ISR can then determine which functions of the add-in card 135 it wishes to turn off or leave on to meet the power limitation of the expansion bus slot.
The diagram shown in
The diagram shown in
The diagram shown in
It can be possible to combine some of the power reduction methods shown above. The combination of two or more such methods can further reduce power consumption in the add-in card 135. For example, the technique shown in
With reference now to
The diagram shown in
The diagram shown in
The diagram shown in
According to another preferred embodiment of the present invention, the other chips in the add-in card 135 may be integrated into a single chip. Therefore, the add-in card 135 may be made up of the “Chip 1” 205 and a functionally integrated chip (not shown) that incorporates all of the functionality of the other chips in the add-in card 135, such as “Chip 2” 210, “Chip 3” 211, and “Chip N” 212, for example. The functionally integrated chip can be internally partitioned so that clock signals, reset signals, data signals, and so forth can be provided by the “Chip 1” 205. This internal partitioning can also enable the “Chip 1” 205 to maintain its ability to disable the operation of individual partitions (or groups of partitions) of the functionally integrated chip to reduce the power consumption of the add-in card 135. The functionally integrated chip can be fabricated onto a single semiconductor die or it may be formed by using multi-chip module fabrication techniques. The integration of multiple chips into a single multifunction chip is beyond the scope of the present invention and will not be discussed further.
With reference now to
The controller can begin the execution of the algorithm 600 after the controller has received a message containing a power limit of the expansion bus slot (block 320 (
If the add-in card is over power, then the controller can check to determine if the add-in card is capable of operating in a disabled mode (block 615). Operation in a disable mode may entail the disabling of certain functions of the add-in card to reduce the overall power consumption of the add-in card. Certain add-in cards may not be able to operate in a disabled mode. Furthermore, certain functions implemented do not lend themselves to operating in a disabled mode. If the add-in card cannot operate in a disabled mode, then the controller must completely disable the add-in card (block 620) and the algorithm 600 can terminate.
If the add-in card can operate in a disabled mode, then the controller can retrieve power consumption information for the add-in card with various functionality disabled (block 625). This information can be provided by the manufacturer of the add-in card and can be stored in a memory, potentially, along with the overall power requirements of the add-in card. As an example, the power consumption information may be listed in tabular form, starting with maximum power consumption and full functionality down to minimum power consumption and minimal functionality. The controller can then select the most functionality that meets the power limit of the expansion bus slot (block 630). The information may also include which of the integrated circuits on the add-in card the controller may need to disable (place into a reset state, shut down the clock signal, disable output transmission, and so forth) to disable the desired function(s). Note that the selection of the function to be disabled can also be based upon a priority set for the function. For example, if the disabling of one of two functions yields similar power savings, then the decision can be based upon a set priority assigned to the two functions, with the lower priority function being selected to be disabled. The priority information can also be included in the power consumption information. The controller can then disable the specific integrated circuits on the add-in card (block 635) and the algorithm 600 can terminate.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.