1. Field of the Present Invention
The present invention is in the field of data processing systems and, more particularly, heat dissipation and cooling systems associated with such systems.
2. History of Related Art
Heat dissipation is an important design consideration for microprocessor-based data processing systems. During operation, microelectronic components generate heat that must be adequately dissipated to avoid performance degradation and catastrophic failures. Heat dissipation in most conventional desktop, notebook, and even server systems is achieved with heatsinks and air-moving fans.
In a conventional desktop system, for example, a “fansink” is often mounted over the system's microprocessor. The fansink includes a heat sink in contact with the microprocessor package and a fan mounted over the heat sink. The air flow provided by the fan, improves the heat sink's capacity to draw thermal energy away from the microprocessor package.
During the course of normal operation, contaminants accumulate within a data processing system chassis. These contaminants consist largely of dust and other small environmental particles. Environmental contaminants can have a negative impact on the heat dissipation system or mechanism within a system.
If the heat dissipation system degrades or fails entirely, the microprocessor and other components are placed in jeopardy. It would be desirable therefore, to implement a system or technique to monitor or verify the integrity of the heat dissipation mechanism. Unfortunately, cost and space considerations do not generally permit the use of any mechanism that requires additional hardware components within the system. Nor do considerations of system performance permit the use of a heat dissipation monitoring technique that requires significant processing bandwidth. It would be further desirable, therefore, if the implemented solution did not require significant additional hardware and did not have a significant impact on system performance.
The identified objectives are achieved according to one embodiment of the invention with a data processing system that includes a microprocessor connected to a circuit board and a fansink positioned on the microprocessor. The system includes dedicated code that causes the microprocessor to draw a predetermined level of power. A fan speed required to maintain the microprocessor at a targeted temperature while the microprocessor is drawing the predetermined power level is then determined. If the required fan speed level exceeds the expected fan speed, corrective action is taken. Exercising the microprocessor may include executing a dedicated piece of code continuously until the microprocessor temperature stabilizes. The system may further include a stored table of empirically determined expected fan speed values that is indicative of the expected fan speed for various ambient temperatures and microprocessor temperatures. Alternatively, the system may generate an algorithm during an initial boot of the system and use the algorithm to derive the expected fan speed values during subsequent operation.
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular embodiment disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
Generally speaking, the present invention contemplates a mechanism and technique for verifying the integrity and efficiency of the heat dissipation mechanism within a data processing system such as a desktop or laptop computer. The system includes at least one heat generating electronic component such as a microprocessor connected to a planar or printed circuit board. A fansink assembly is positioned over the microprocessor or other electronic component so that the fansink contacts or is in very close proximity to the microprocessor. The system preferably includes at least two temperature sensors, a first temperature sensor positioned within the system chassis to monitor the ambient temperature and a second temperature sensor to provide an indication of the microprocessor temperature.
The system includes a software routine that, when executed, causes the microprocessor to draw power at a known rate. This software routine, referred to herein as thermal code, is executed at the beginning of a heat dissipation verification routine. Sufficient time is given after initiating the thermal code to permit the thermal properties of the system to stabilize. Following thermal stabilization, the ambient temperature is determined from the first sensor. With the ambient temperature known, an expected fansink fan speed is determined. The expected fansink fan speed represents the fan speed that is expected to provided sufficient cooling or thermal dissipation of the microprocessor at the determined ambient temperature.
The expected fan speed may be derived from fan speed values measured on similar or identical systems under highly controlled conditions. The experimentally determined fan speed values may be stored in a table that is consulted by the system during a thermal verification routine. In other embodiments, the system may generate its own expected values, when the system is first booted, by recording the actual fan speed required to achieved a targeted microprocessor temperature at the recorded ambient temperature. Under the assumption that the initial condition of the system is substantially free of environmental contaminants, the derived value of the expected fan speed serves as a proxy for the fan speed values determined experimentally under “laboratory” conditions.
An actual fan speed is determined by adjusting the fansink fan speed until the actual microprocessor temperature reaches the targeted microprocessor temperature. The actual fan speed required to achieve adequate cooling of the microprocessor is then compared to the expected fan speed. If the actual fan speed is higher than the expected fan speed, corrective action of some kind is undertaken. The corrective action might vary anywhere from issuing a user alert to shutting the system down.
Referring now to the drawings,
As shown in
Data processing system 100 includes at least two temperature sensing devices or mechanisms. Preferably a first temperature sensor is positioned within chassis 102 to provide a measure of the ambient temperature within the system while a second temperature sensor is positioned to provide a measure of the microprocessor's temperature. The microprocessor's temperature may refer to the microprocessor's junction temperature or case temperature depending upon the implementation.
In the depicted embodiment, the first temperature sensor is provided via discreet transistor 108 and the second temperature sensor is provided via a transistor integrated within microprocessor 110. Discreet transistor 108 is preferably positioned within chassis 102 and on printed circuit board 104 where the surrounding temperature reflects the ambient temperature within chassis 102. In one embodiment, for example, transistor 108 is positioned in proximity to external air flow vents of chassis 102.
Outputs of discreet transistor 108 and the integrated transistor of microprocessor 110 may be accessed by microprocessor 110 and used to determine the temperature. In one implementation, the voltage across or current through a pair of output signals from discreet transistor 108 provide an indication of the temperature in proximity to transistor 108 and, similarly, a pair of outputs from the integrated transistor provide an indication of the microprocessor temperature. The outputs from discreet transistor 108 and from the integrated transistor in microprocessor 110 may be accessed by or connected to microprocessor 110 for purposes of determining the ambient temperature and the microprocessor temperature.
Data processing system 100 includes storage elements that contain data or information that the system uses to verify the functionality of the system's heat dissipation mechanism. The necessary storage elements may be within nonvolatile chip 107, within another nonvolatile chip such as a flash memory device (not depicted), or within a hard disk (not depicted) to which microprocessor 110 has access. The stored data is used by system 100 to determine an expected speed for fan 130. The expected fan speed represents the fan speed that is required to cool microprocessor 110 adequately under conditions that are known to be or highly likely to be ideal with respect to environmental contaminants.
Referring to
Tables 301 through 304 are derived empirically or experimentally in the envisioned embodiment. Obtaining the fan speed values, according to this embodiment, is achieved in a laboratory using a system that is substantially identical to system 100 in terms of its mechanical characteristics and its microprocessor configuration. The laboratory system is maintained in a “like-new” condition so that the heat dissipation mechanism of the system is known to be free of environmental dust and lint and is otherwise in good working condition. The laboratory system may, for example, be a new system or a system that has been maintained in a clean environment.
Using the laboratory system, a table 301 is developed by controlling the ambient temperature and the amount of power dissipated by the laboratory system and by measuring the resulting values of fan speed and microprocessor temperature. The measured value of fan speed under these controlled circumstances becomes the expected value for systems in the field. Under the assumption that the heat dissipation mechanism of the laboratory system is operating as efficiently as possible, the measured fan speed values of the laboratory system provide a bench mark against which fan speed values for other systems can be compared. If a system in the field requires a significantly higher fan speed to achieve a given microprocessor temperature for a given ambient temperature and power dissipation level, a heat dissipation problem is assumed.
Each table 301 through 304 depicted in
Referring now to
In the embodiment represented by
Thus,
Portions of the present invention are most likely implemented as a set or sequence of computer executable instructions (computer software) stored on a computer readable medium. The computer readable medium could be a hard disk or other persistent storage element on the system itself. During periods the instructions are being executed by the microprocessor, portions of the instructions may be stored in a volatile storage element such as a DRAM-based system memory or an SRAM-based cache memory (internal or external) When executed, these instructions are configured to determine the microprocessor fansink fan speed that is required to achieve a targeted microprocessor temperature for a given ambient temperature. The instructions, when executed, are further able to compare the required fan speed to an expected fan speed and to take corrective action when the required fan speed exceeds the expected fan speed by some threshold value.
Referring to
As depicted in
Achieving the desired power consumption may be accomplished in one embodiment, by preventing or prohibiting all other code segments from executing when the thermal code is executing. While such an embodiment enjoys the benefit of eliminating considerations of power consumption attributable to other executing threads or processes, it would suffer the significant disadvantage of having a detrimental impact on system performance. The latter concern may be alleviated by executing the thermal code only infrequently or only during time periods when the loading on the system is expected to be low. The thermal code might, for example, execute only when a system is re-booted or only during periods late at night when demand is expected to be low. A variation on this embodiment would initiate the heat dissipation verification method and exercise the thermal code only when a specified minimum period of inactivity has been detected.
Problems associated with power consumption attributable to other code executing simultaneously or concurrently with the thermal code might also be addressed by designing the thermal code to dominate the resulting microprocessor power consumption relative to other types of code that typically execute on the system. Whereas typical code, for example, might be dominated by fixed point load and store instructions and latency caused by inevitable cache misses may be considerable, the thermal code according to the present invention may be designed to eliminate cache miss latency (by using repeated memory references for example) and to consist largely of floating point or other arithmetic instructions that tend to exercise the microprocessor more robustly than conventional code segments. Moreover, system 100 may include two or more pieces of thermal code, each of which is configured to produce a corresponding level of power consumption.
As shown in
Upon achieving a sufficiently stabilized thermal condition, the microprocessor temperature is measured (block 506) and compared (block 508) against a targeted value. The targeted value is a microprocessor temperature for which an expected fan speed value is known (i.e., stored in a table such as table 301) or may be derived algorithmically such as is shown in
When the measured microprocessor temperature equals the targeted temperature, the fan speed value is compared (block 510) against an expected fan speed value. The expected fan speed value may be retrieved from a table such as table 301 (
If the actual fan speed required to maintain the microprocessor at a given temperature exceeds (block 512) the expected fan speed, corrective action is taken (block 514). The corrective action may range from issuing a visually or audibly detectable alert to the user to forcing a system shutdown at another. The corrective action may be commensurate with the level of disparity between the expected fan speed and the required fan speed. A small departure from the expected fan speed may warrant a low level corrective action such as informing the user, while a significant departure of fan speed may warrant heightened corrective action including forced shutdown if the integrity of the microprocessor is felt to be compromised.
A variation of the method 500 described above may be suitably employed in the case of a fixed speed fan. If the fansink fan is not variable, a comparison may be made between the measured temperature of the microprocessor and an expected temperature such as a temperature observed in the laboratory under similar conditions or the measured temperature that was observed when the system was first booted. In this case, corrective action is taken if the measured temperature value exceeds the expected temperature value.
It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates a system and mechanism for verifying the integrity of the heat dissipation components of a data processing system. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as presently preferred examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the preferred embodiments disclosed.