# Patent

## Title
Method and apparatus for thermal control of electronic components

## Abstract

A method and system are provided for thermal management of a CPU. Both hardware and software data are used to periodically calculate a power consumption index. An internal database is provided to convert power consumption data to rotational speed of an associated cooling fan for the CPU. Based upon a change in the calculated power consumption, the rotational speed of the fan may be adjusted to accommodate the change in power consumption. Accordingly, the method and system monitors and adjusts the rotational speed of the cooling fan based upon available hardware and software data.

## Background
BACKGROUND OF THE INVENTION
1. Technical Field
This invention relates to maintaining an optimal fan rotation speed for a CPU. More specifically, both hardware and software measurements are used in determining the optimal fan rotation speed.
2. Description of the Prior Art
Electronic equipment produces an excess thermal output, that, if not properly controlled and directed away from the equipment will affect operation and performance of the equipment. There are many different methods and appliances for dissipating heat from electronic equipment. For example, heat sink apparatus are attached to or positioned to rest upon a processor and to passively dissipate heat byproduct from the adjacent processor. There is an abundant quantity of heat sink apparatus available in which different fin structures of the heat sink may affect the heat dissipating abilities of the heat sink. Some heat sink apparatus passively dissipate heat, and others actively dissipate heat by use of a fan or similar mechanism. The fan speed associated with the fan adjacent to the heat sink may be static, or in some cases may be dynamic. In the case of a dynamic fan speed, the speed of the fan is adjusted based upon temperature sensor data. However, as processor frequencies increase so does the excess thermal output from the processor. A passive heat sink may not sufficiently be able to effectively dissipate heat. Similarly, an active heat sink may be able to dissipate the heat if it could adjust the fan speed based upon accurate and current data. Accordingly, there is a need for control of rotational speed of a fan(s) used to dissipate heat from electronic equipment based upon accurate, current, and appropriate data.
Two known solutions are illustrated in Japanese Publication No. 2000-349477 to Gohei and Japanese Abstract 11-184566 to Tsukasa et al. In both Gohei and Tsukasa et al., the objective is to attain a response corresponding to fan speed that is more sensitive than temperature data. An ammeter is used in both Gohei and Tsukasa et al. to obtain power consumption data, where the power consumption data is directly converted to a corresponding fan speed. However, there are drawbacks with use of the ammeter for addressing thermal output. One such drawback is that the use of power consumption data to control fan speed results in hyper sensitive readings which produce rapid changes in fan speed control which increases noise associated with frequent fan speed adjustments. Another drawback associated with use of an ammeter includes the requirement for an additional hardware component that in itself has a thermal output. The ammeter is a contributing factor to the corresponding fan speed. Accordingly, the prior art provides a solution to controlling fan speed that has limitations associated therewith.
There is therefore a need to provide optimum control of excess thermal output from electronic equipment that does not require an additional hardware component.
SUMMARY OF THE INVENTION
This invention comprises a method and system for controlling thermal output from heat producing equipment.
In one aspect of the invention, a method is provided for cooling a computer. Both hardware and software data are obtained from a CPU. A power consumption index is calculated based upon the gathered hardware and software data. Thereafter, an optimum fan speed is determined based upon the calculated power consumption index. The fan speed is adjusted in response to changes in the power consumption index.
In another aspect of the invention, a system is provided with a CPU having hardware and software data. A power consumption index is calculated based upon the hardware and software data. In addition, an optimum fan speed is determined based upon the power consumption index. A manager responsively adjusts the CPU fan speed in response to changes in said power consumption index.
In yet another aspect of the invention, an article is provided with a computer-readable medium. Means in the medium are provided for obtaining hardware and software data from a CPU. In addition, means in the medium are provided for calculating a power consumption index based upon the CPU hardware and software data, and means in the medium are provided for determining an optimum fan speed based upon the power consumption index. Finally, means in the medium are provided for adjusting said fan speed in response to changes in said power consumption index.
Other features and advantages of this invention will become apparent from the following detailed description of the presently preferred embodiment of the invention, taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a CPU according to the preferred embodiment of this invention, and is suggested for printing on the first page of the issued patent.
FIG. 2 is a flow chart illustrating control of fan speed.



DESCRIPTION OF THE PREFERRED EMBODIMENT
Overview
A power consumption index is calculated based upon hardware data stored in model specific registers, and software data provided by the operating system of a CPU. The power consumption index accounts for leakage current associated with the electronics that comprise the CPU. An internal database is consulted to convert the calculated power consumption index to an appropriate fan speed rotation. Based upon an internal algorithm, the fan speed rotation may be periodically adjusted to accommodate changes in the power consumption index.
Technical Details
Each CPU has hardware registers that function as high speed memory locations. FIG. 1 is a block diagram (10) illustrating a CPU (20) having an embedded controller (22), model specific registers (30), and one or more fans (24). The CPU (20) has several model specific registers for storing internal CPU data, including a power supply register (26) and a CPU operating frequency register (28). The power supply register (26) stores data pertaining to the voltage of the CPU, and the CPU operating frequency register (28) stores data pertaining to the speed of the associated processor(s). The controller (22) adjusts the rotational speed of the fan(s) (24) in response to changes in an associated power consumption index of the CPU (10). In addition, the controller (22) has the ability to cause an interrupt to the CPU if the thermal output becomes excessive.
The operating frequency of the CPU has a corresponding CPU power supply voltage. As such, the power supply voltage of the CPU is determined based upon operating frequency data of the CPU obtaining from the CPU operating frequency register (28). There are three factors required to calculate the power consumption index of a CPU (P), the CPU power supply voltage (Vcore), the operating frequency of the CPU (FCPU), and the CPU usage ratio (UCPU). The following formula provides the power consumption index:

P=(A)(Vcore2)(FCPU)(UCPU)

,where A is a constant. As noted above, both the CPU operating frequency and the CPU power supply voltage are related elements where the frequency data is obtained from a model specific register (28). The CPU usage ratio, UCPU, is a factor that is obtained from the operating system (35). A utility (34) periodically gathers data from the model specific registers (26) and (28) to periodically calculate the power consumption index. The power consumption index is directly related to an optimal fan speed rotation. Once the power consumption index has been calculated, an optimal fan speed rotation is obtained from an internal database table (not shown) that stores a corresponding fan speed for a calculated power consumption index. A driver (32) communicates with the embedded controller (22) to adjust or maintain the rotational fan speed based upon the calculated power consumption index. Accordingly, thermal output of the CPU is controlled by use of registers and operating system data.

Thermal management uses the power consumption index to adjust the rotational speed of the fans used to cool the CPU. FIG. 2 is a flow chart (50) illustrating one method for controlling rotational speed of the fan(s). In this flow chart (50), the power consumption index is utilized to prevent an unnecessary increase in an enclosure temperature and power consumption when a software program having a constant loading level is continuously executed. An initial test is conducted to determine if the power consumption index has been constant for a duration of ten seconds (52). Although the time interval shown herein is ten seconds, the time interval can be adjusted to a smaller or larger time interval. A positive response to the test at step (52) will result in setting the fan or fans with a rotational speed that corresponds to the power consumption index (54). However, a negative response to the test at step (52) will result in a return to the test at step (52) to repeat the inquiry. Following the assignment of fan rotation at step (54), a subsequent test is conducted to determine if there has been a change in the most recent reading of the power consumption index (56). A positive response to the test at step (56) will result in a return to step (56). Similarly, a negative response to the test at step (56) will result in a return to step (56). Accordingly, as shown herein the power consumption index can be periodically monitoring and the fan speed periodically adjusted based upon changes in the power consumption index.
Advantages Over the Prior Art
The power consumption index accounts for current leakage from the CPU, or electronic equipment associated with the CPU. There is no requirement for additional hardware elements to accurately determine an optimal fan speed rotation in order to achieve an appropriate temperature for operation of the CPU. The power consumption index changes as the speed of the processor changes. If there is a change in the power consumption index that requires a different fan speed rotation, the rotational speed of one or more fans is adjusted to accommodate the changed power consumption index. Accordingly, the rotational speed of one or more fans is maintained and/or adjusted based upon a periodic calculation of the power consumption index and comparison of the calculated index with the optimal fan speed rotation.
ALTERNATIVE EMBODIMENTS
It will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. In particular, the algorithm used to periodically calculate the power consumption index may be modified to increase or decrease the frequency of the calculations. Similarly, the fan speed control may be modified to only change speeds when there has been a significant change in the determined operating frequency of the fan(s). This may contribute to reducing noise associated with changes in the fan speed. Accordingly, the scope of protection of this invention is limited only by the following claims and their equivalents.

## Claims

1. A method for cooling a computer comprising:
obtaining hardware and software data, including data from model specific registers from a central processing unit, (CPU);
calculating a power consumption index based upon said hardware and software data, wherein said power consumption index is calculated based upon the following mathematical relationship: P=(A)(Vcore2)(FCPU)(UCPU), where A is a constant, VCORE is a CPU power supply voltage, FCPU is a CPU operating frequency, and UCPU is a usage ratio of the CPU obtained from an operating system of said CPU;
determining an optimum fan speed based upon said power consumption index; and
adjusting said fan speed in response to changes in said power consumption index.

2. The method of claim 1, wherein said hardware data is selected from a group consisting of: CPU power supply voltage, and CPU operating frequency.

3. The method of claim 2, wherein said CPU power supply voltage is determined by said CPU operating frequency.

4. The method of claim 2, wherein said software data is obtained from an operating system of said CPU.

5. The method of claim 1, wherein the step of determining an optimum fan speed includes converting said power consumption index to an optimum fan speed rotation.

6. The method of claim 1, further comprising consulting an internal database having a conversion table of said power consumption index and said optimum fan speed rotation.

7. A system comprising:
a central processing unit, (CPU), having hardware and software data, including data from model specific registers;
a power consumption index adapted to be calculated based upon said hardware and software data, wherein said power consumption index is calculated based upon the following mathematical relationship: P=(A)(Vcore2)(FCPU)(UCPU), where A is a constant, VCORE is a CPU power supply voltage, FCPU is the CPU operating frequency, and UCPU is a usage ratio of the CPU obtained from an operating system of said CPU;
an optimum fan speed adapted to be determined based upon said power consumption index; and
a manager adapted to responsively adjust said fan speed in response to changes in said power consumption index.

8. The system of claim 7, wherein said hardware data is selected from a group consisting of: CPU power supply voltage, and CPU operating frequency.

9. The system of claim 8, wherein said CPU power supply voltage is determined by said CPU operating frequency.

10. The system of claim 8, wherein said software data is obtained from an operating system of said CPU.

11. The system of claim 7, further comprising an internal database table adapted to convert said power consumption index to said optimum fan speed.

12. An article comprising:
a computer-readable medium;
means in the medium for obtaining hardware and software data from a central processing unit, (CPU), wherein said hardware data includes data from model specific registers;
means in the medium for calculating a power consumption index based upon said CPU hardware and software data, wherein said power consumption index is calculated based upon the following mathematical relationship: P=(A)(Vcore2)(FCPU)(UCPU), where A is a constant, VCORE is a CPU power supply voltage, FCPU is the CPU operating frequency, and UCPU is a usage ratio of the CPU obtained from an operating system of said CPU;
means in the medium for determining an optimum fan speed based upon said power consumption index; and
means in the medium for adjusting said fan speed in response to changes in said power consumption index.

13. The article of claim 12, wherein said medium is a recordable data storage medium.

14. The article of claim 12, wherein said hardware data is selected from a group consisting of: CPU power supply voltage, and CPU operating frequency.

15. The article of claim 14, wherein said CPU power supply voltage is determined by said CPU operating frequency.

16. The article of claim 12, wherein said means for determining an optimum fan speed includes instructions for converting said power consumption index to an optimum fan speed rotation.

17. The article of claim 16, further comprising an internal database in said medium having a conversion table adapted to associate said calculated power consumption index with an optimum fan speed rotation.