Source: https://patents.google.com/patent/US9043627
Timestamp: 2018-04-23 21:22:44
Document Index: 568217307

Matched Legal Cases: ['Application No. 60', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8', 'Application No. 8']

US9043627B2 - Methods and apparatuses for controlling the temperature of a data processing system - Google Patents
US9043627B2
US9043627B2 US13890694 US201313890694A US9043627B2 US 9043627 B2 US9043627 B2 US 9043627B2 US 13890694 US13890694 US 13890694 US 201313890694 A US201313890694 A US 201313890694A US 9043627 B2 US9043627 B2 US 9043627B2
US13890694
US20130254563A1 (en )
G05D23/2442—
This application is a divisional of co-pending U.S. patent application Ser. No. 13/550,922, filed on Jul. 17, 2012, which is a divisional of U.S. patent application Ser. No. 12/267,329 filed on Nov. 7, 2008, now issued as U.S. Pat. No. 8,237,386, which is a divisional of U.S. patent application Ser. No. 10/917,719 filed on Aug. 12, 2004, now issued as U.S. Pat. No. 7,451,332, and is also related to and claims the benefit of the filing date of U.S. Provisional Application No. 60/495,447, filed Aug. 15, 2003, and entitled “Methods and Apparatuses for Operating a Data Processing System” by the inventors Michael Culbert, Keith Cox, Brian Howard, Josh De Cesare, Rich Williams, Dave Falkenburg, Daisie Huang, and Dave Radeliffe.
In one aspect of the present invention, a method to operate a cooling fan of a data processing system includes: adjusting the cooling fan from running at a first speed to running at a second speed in response to a temperature sensor measurement and a user preference. In one example, it is further verified that the cooling fan is running at the second speed (e.g., using tachometer information obtained from a fan controller for the cooling fan). In one example, a duty cycle of the cooling fan is adjusted to run the cooling fan from the first speed to the second speed. In one example, one or more temperature measurements are determined; and the second speed for the cooling fan is determined based at least partially on the one or more temperature measurements. In one example, the one or more temperature measurements are obtained from one or more temperature sensors instrumented in the data processing system; and, the one or more temperature measurements indicate temperatures of at least one of; a) a microprocessor of the data processing system; b) a graphics chip of the data processing system; and c) a memory chip of the data processing system. In one example, the microprocessor of the data processing system determines the second speed. In one example, the second speed is determined further based on at least one of: a user preference stored in a machine readable medium of the data processing system; and, a computation load level on the data processing system (e.g., the load level is low because the processor is idling and the temperature level is low and a user preference has been set by a user such that in this state the fan's speed is reduced to reduce noise and power consumption).
As shown in FIG. 1, the computer system 101, which is a form of a data processing system, includes a bus 102 which is coupled to a microprocessor 103 and a ROM 107 and volatile RAM 105 and a non-volatile memory 106. The microprocessor 103, which may be, for example, a G3 or G4 microprocessor from Motorola, Inc. or IBM or a G5 microprocessor from IBM is coupled to cache memory 104 as shown in the example of FIG. 1. The bus 102 interconnects these various components together and also interconnects these components 103, 107, 105, and 106 to a display controller and display device 108 and to peripheral devices such as input/output (I/O) devices which may be mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices which are well known in the art. Typically, the input/output devices 110 are coupled to the system through input/output controllers 109. The volatile RAM 105 is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. The non-volatile memory 106 is typically a magnetic hard drive or a magnetic optical drive or an optical drive or a DVD RAM or other type of memory systems which maintain data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory although this is not required. While FIG. 1 shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, it will be appreciated that the present invention may utilize a non-volatile memory which is remote from the system, such as a network storage device which is coupled to the data processing system through a network interface such as a modern or Ethernet interface. The bus 102 may include one or more buses connected to each other through various bridges, controllers and/or adapters as is well known in the art. In one embodiment the I/O controller 109 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.
FIG. 5 illustrates operational states for system level power management according to one embodiment of the present invention. There are four basic states in the system level power state diagram. These states are Off 507, Run 501, Idle 509 and Sleep 503, Run 501 includes a range of working states with different power and performance levels.
In the Sleep state 605, all execution units are stopped, while the processor state is maintained. Before entering (619) the Sleep state 605, all processor caches are flushed, as a sleeping processor does not perform any cache coherence operation. In systems with multi-drop bus topologies (60×, MaxBus), sleeping processors do not respond to deassertion (e.g., QAck). Systems with point-to-point interconnect topologies (e.g., ApplePI) uses per-processor deassertion signals, but not to a sleeping processor.
The number of performance levels implemented in a system depends upon a variety of factors. For example, some CPUs may only support two operating points, limiting the system implementation to Run 0 and Run 1. A well-managed portable design may implement Run 0 for minimum power, Run 1 for specific functionality level such as DVD playback, and Run 2 for the clock frequency for the portable system. A high performance desktop may implement Run 0 for power and thermal savings. Run 1 at 90% of maximum clock frequency for most operations, and Run 2 at maximum power. One example of different performance levels is illustrated below.
Run 0; This is the lowest power and performance level supported by the system. The processor's Doze mode entered from Run 0 may be different than that used at the other performance levels. In particular, a large portion of the CPU may be powered at a lower voltage than that required by the snoop logic, saving significant leakage power. Run 0 can be the state at which the system starts executing code after a Power-On or Restart event.
FIG. 8 illustrates a detailed block diagram representation of a data processing system with active power and temperature management according to one embodiment of the present invention. In FIG. 8, the data processing system contains system core logic 801 (North Bridge), which interconnects CPU 805 and RAM 809. I/O controller 803 (South Bridge) connects core logic 801 with hard drive 811 and optical drive 813 (e.g., CD ROM, DVD ROM, CD R, CD RW, DVD R, or DVD RW) and other I/O devices (e.g., a keyboard, a cursor control device, or others, not shown in FIG. 8). Some components (e.g., CPU 805, GPU 807 and RAM 809) may have elevated temperature after generating significant amount of heat during operation. Some components (e.g., hard drive 811 and optical drive 813) consume more power at a high speed and less power at a lower speed. Heat pipe 825 moves heat from one location to another to transfer heat; heat sink 823 absorbs heat to regulate temperature; and, under the control of fan controller 845, variable speed fans 819 and 821 can work at different speeds for tradeoff between the rate of cooling and the associated cost (e.g., noise and power consumption). Sensors 831 and 833 monitor the temperate of GPU 807 and CPU 805 for active management of the system according to embodiments of the present invention.
Control drivers are the actual effectors of the state change. Examples of these include drivers that can change CPU multiplier, system bus speed, or GPU performance level. In one implementation, some of these controls are linked into the manager (e.g. platform monitor).
Although one embodiment of the present invention uses the state diagram illustrated in FIG. 18 and operations for cooling adjustment for various states described above with FIG. 18, it is understood that various different states of a state diagram can be defined and used for the operation of a computer system. Further, different transition paths and different adjustments of working states to more or less components (e.g., fan, memory chips, microprocessors, graphics chips, hard drives, optical drives, bridge chips, and others) for cooling and performances can be defined for different state diagrams for operating a data processing system. For example, in one implementation, when T exceeds T0, cooling fan is activated (e.g., 33% duty cycle for ADM103x); when T<T1, CPU can run at full speed; when T exceeds T2, cooling fan runs at full speed; when T exceeds T3, CPU is forced into reduced speed mode; when T exceeds T4, the system is forced to sleep, or to shutdown if not responding to the request to sleep.
collecting information from a plurality of sensors, wherein each sensor detects a working state of a corresponding component of a data processing system;
determining, based on the collected information, a subset of controls from a plurality of controls, each control in the subset of controls being configured to control at least one of the corresponding components of the data processing system;
determining a ranked order to adjust the subset of controls, the ranked order based on a plurality of rules to prioritize the subset of controls; and
adjusting the subset of controls in the ranked order to change the working states of the corresponding components of the data processing system to balance requirements in performance and in at least one of: thermal constraint or power consumption.
2. The method as in claim 1, wherein the plurality of sensors comprise at least one of:
a) a temperature sensor;
b) a tachometer; or
c) a software module determining a load of a processor.
3. The method as in claim 1, wherein the corresponding components comprise at least one of a heat source or a cooling source of the data processing system.
4. The method as in claim 3, wherein the heat source comprises at least one of:
a) a Central Processing Unit (CPU);
b) a Graphics Processing Unit (GPU);
c) a hard drive;
d) an optical drive; or
e) an Integrated Circuit (IC) chip.
determining an amount of cooling change based on the collected information;
wherein the subset of controls are adjusted to effect the amount of cooling change.
6. The method as in claim 5, wherein the amount of cooling change is determined according to a fuzzy logic.
7. The method as in claim 6, wherein determining the ranked order to adjust the subset of controls comprises:
determining a prioritized list of the plurality of controls.
8. The method as in claim 7, wherein the rules to prioritize the subset of controls represent one or more user preferences.
parceling out the amount of cooling change to the subset of controls based on the ranked order.
determining a first working condition of the data processing system from the collected information;
wherein the subset of controls is determined from a decision to move the data processing system from the first working condition to a second working condition.
a plurality of sensors instrumented within the housing, each of the plurality of sensors configured to detect a working state of a corresponding component,
a processor coupled to the memory and the plurality of sensors, the processor configured by programming to:
determine, based on information collected from the plurality of sensors, a subset of controls from a plurality of controls, each control in the subset of controls being configured to control at least one of the corresponding components,
determine a ranked order to adjust the subset of controls, the ranked order based on a plurality of rules to prioritize the subset of controls, and
adjust the subset of controls in the ranked order to change the working states of the corresponding components of the data processing system to balance requirements in performance and in at least one of: thermal constraint or power consumption.
12. The data processing system as in claim 11, wherein the plurality of sensors comprise at least one of:
a) a temperature sensor; or
b) a tachometer.
13. The data processing system as in claim 11, wherein the corresponding components comprise at least one of a heat source or a cooling source of the data processing system.
14. The data processing system as in claim 13, wherein the heat source comprises at least one of:
a) a Graphics Processing Unit (GPU);
b) a hard drive;
c) an optical drive; or
d) an Integrated Circuit (IC) chip.
15. The data processing system as in claim 11, wherein the processor is configured by programming to determined an amount of cooling change based on the collected information, and wherein the subset of controls are adjusted to effect the amount of cooling change.
16. The data processing system as in claim 15, wherein the amount of cooling change is determined according to a fuzzy logic.
17. The data processing system as in claim 16, wherein the processor is configured by programming to determine a prioritized list of the plurality of controls.
18. The data processing system as in claim 17, further comprising:
one or more input/output (I/O) devices coupled to the processor, the one or more input/output (I/O) devices configured to receive one or more user preferences;
wherein the rules to prioritize the subset of controls represent the one or more user preferences.
19. The data processing system as in claim 17, wherein the processor is configured by programming to parcel out the amount of cooling change to the subset of controls based on the ranked order.
20. The data processing system as in claim 11, wherein the processor is configured by programming to determine a first working condition of the data processing system from the collected information, and wherein the subset of controls is determined from a decision to move the data processing system from the first working condition to a second working condition.
21. A non-transitory machine readable medium containing executable computer program instructions which when executed by a data processing system cause the system to perform a method to operate the data processing system, the method comprising:
22. The non-transitory medium as in claim 21, wherein the plurality of sensors comprise at least one of:
23. The non-transitory medium as in claim 21, wherein the corresponding components comprise at least one of a heat source or a cooling source of the data processing system.
24. The non-transitory medium as in claim 23, wherein the at least one heat source comprises at least one of:
25. The non-transitory medium as in claim 21, wherein the method further comprises:
26. The non-transitory medium as in claim 25, wherein the amount of cooling change is determined according to a fuzzy logic.
27. The non-transitory medium as in claim 26, wherein determining the ranked order to adjust the subset of controls comprises:
28. The non-transitory medium as in claim 27, wherein the rules to prioritize the subset of controls represent one or more user preferences.
29. The non-transitory medium as in claim 27, wherein the method further comprises:
30. The non-transitory medium as in claim 21, wherein the method further comprises:
means for collecting information from a plurality of sensors, wherein each sensor detects a working state of a corresponding component of a data processing system;
means for determining, based on the collected information, a subset of controls from a plurality of controls, each control in the subset of controls being configured to control at least one of the corresponding components of the data processing system;
means for determining a ranked order to adjust the subset of controls, the ranked order based on a plurality of rules to prioritize the subset of controls; and
means for adjusting the subset of controls in the ranked order to change the working states of the corresponding components of the data processing system to balance requirements in performance and in at least one of: thermal constraint or power consumption.
32. The data processing system as in claim 31, wherein the plurality of sensors comprise at least one of:
33. The data processing system as in claim 31, wherein the corresponding components comprise at least one of a heat source or a cooling source of the data processing system.
34. The data processing system as in claim 33, wherein the heat source-comprises at least one of:
35. The data processing system as in claim 31, further comprising:
means for determining an amount of cooling change based on the collected information;
36. The data processing system as in claim 35, wherein the amount of cooling change is determined according to a fuzzy logic.
37. The data processing system as in claim 36, wherein the means for determining the ranked order to adjust the subset of controls comprises:
means for determining a prioritized list of the plurality of controls.
38. The data processing system as in claim 37, wherein the rules to prioritize the subset of controls represent one or more user preferences.
39. The data processing system as in claim 37, further comprising:
means for parceling out the amount of cooling change to the subset of controls based on the ranked order.
40. The data processing system as in claim 31, further comprising:
means for determining a first working condition of the data processing system from the collected information;
US13890694 2003-08-15 2013-05-09 Methods and apparatuses for controlling the temperature of a data processing system Active US9043627B2 (en)
US49544703 true 2003-08-15 2003-08-15
US10917719 US7451332B2 (en) 2003-08-15 2004-08-12 Methods and apparatuses for controlling the temperature of a data processing system
US12267329 US8237386B2 (en) 2003-08-15 2008-11-07 Methods and apparatuses for operating a data processing system
US13550922 US8448000B2 (en) 2003-08-15 2012-07-17 Methods and apparatuses for operating a data processing system
US13890694 US9043627B2 (en) 2003-08-15 2013-05-09 Methods and apparatuses for controlling the temperature of a data processing system
US14697471 US9317090B2 (en) 2003-08-15 2015-04-27 Methods and apparatuses for operating a data processing system
US15073521 US20160209895A1 (en) 2003-08-15 2016-03-17 Methods and apparatuses for operating a data processing system
US13550922 Division US8448000B2 (en) 2003-08-15 2012-07-17 Methods and apparatuses for operating a data processing system
US14697471 Continuation US9317090B2 (en) 2003-08-15 2015-04-27 Methods and apparatuses for operating a data processing system
US20130254563A1 true US20130254563A1 (en) 2013-09-26
US9043627B2 true US9043627B2 (en) 2015-05-26
ID=42164581
US12267329 Active 2025-04-04 US8237386B2 (en) 2003-08-15 2008-11-07 Methods and apparatuses for operating a data processing system
US13550922 Active US8448000B2 (en) 2003-08-15 2012-07-17 Methods and apparatuses for operating a data processing system
US13890694 Active US9043627B2 (en) 2003-08-15 2013-05-09 Methods and apparatuses for controlling the temperature of a data processing system
US14697471 Active US9317090B2 (en) 2003-08-15 2015-04-27 Methods and apparatuses for operating a data processing system
US15073521 Pending US20160209895A1 (en) 2003-08-15 2016-03-17 Methods and apparatuses for operating a data processing system
US (5) US8237386B2 (en)
US20150167988A1 (en) * 2013-12-18 2015-06-18 Symbol Technologies, Inc. System and method for heater power prioritization and distribution
US8400091B2 (en) * 2010-03-19 2013-03-19 Renesas Electronics America Inc. Voltage regulator and cooling control integrated circuit
US8560142B2 (en) * 2010-12-22 2013-10-15 Alcatel Lucent Adaptive cooling using selectable target useful life
US8768666B2 (en) * 2011-01-06 2014-07-01 Qualcomm Incorporated Method and system for controlling thermal load distribution in a portable computing device
US9348656B2 (en) 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform
CN103376858B (en) * 2012-04-13 2016-12-14 广达电脑股份有限公司 The computer apparatus and cooling method of the independent display unit
US9360909B2 (en) * 2012-04-19 2016-06-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US20140181539A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. System for adaptive -power consumption design in ultrathin computing devices
US9250692B2 (en) * 2013-09-10 2016-02-02 Nvidia Corporation Power-efficient personalization of a computing environment of a data processing device with respect to a user thereof
US9297559B2 (en) 2013-09-25 2016-03-29 Intel Corporation Adaptive thermoelectric cooling in a processor
US20150143141A1 (en) * 2013-11-18 2015-05-21 Nxp B.V. Shared interrupt multi-core architecture for low power applications
US20150280598A1 (en) * 2014-04-01 2015-10-01 Nissim Zur Apparatus and method of Automated Power Saving and Safety
KR20160027749A (en) * 2014-09-02 2016-03-10 삼성전자주식회사 Semiconductor device, semiconductor system and method for controlling the same
CN105465027A (en) * 2015-12-31 2016-04-06 苏州壹达生物科技有限公司 Device for intelligently controlling linear rotating speed of heat radiating fan
US9756570B1 (en) 2016-06-28 2017-09-05 Wipro Limited Method and a system for optimizing battery usage of an electronic device
WO1999017184A1 (en) 1997-09-29 1999-04-08 International Business Machines Corporation Laptop computer with power use management
JP2002163038A (en) 2000-11-16 2002-06-07 Internatl Business Mach Corp <Ibm> Battery for detrmining action level accompanied by temperature control, battery pack, computer unit, electric equipment, and method of controlling temperature of battery
JP2002175131A (en) 2000-12-07 2002-06-21 Nec Yonezawa Ltd Information processor
US6700339B2 (en) 2002-05-29 2004-03-02 Dell Products, L.P. Circuit for regulating a power supply voltage
JP2005071364A (en) 2003-08-20 2005-03-17 Hewlett-Packard Development Co Lp System and method for controlling vlsi environment
US6871291B2 (en) 2002-01-22 2005-03-22 Wistron Corporation Method for recording power failure time of a computer system
US6920874B1 (en) 2004-03-01 2005-07-26 Robert Paul Siegel Intelligent ventilating safety range hood
US20050283683A1 (en) 2004-06-08 2005-12-22 International Business Machines Corporation System and method for promoting effective operation in user computers
US20060016901A1 (en) 2004-07-20 2006-01-26 Beitelmal Abdlmonem H Cooling system with a variable maximum operation level
US20060098463A1 (en) 2004-11-05 2006-05-11 Stefan Baurle Method and apparatus to provide temporary peak power from a switching regulator
US7275380B2 (en) 2004-03-26 2007-10-02 Artesyn Technologies, Inc. Thermal management system and method
US7310737B2 (en) 2003-06-30 2007-12-18 Hewlett-Packard Development Company, L.P. Cooling system for computer systems
US20100115293A1 (en) 2008-10-31 2010-05-06 Efraim Rotem Deterministic management of dynamic thermal response of processors
US20110154064A1 (en) 2009-12-18 2011-06-23 International Business Machines Corporation Dynamic Energy Managment
JP2003514296A (en) 1999-11-09 2003-04-15 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド How to dynamically adjust the operating parameters of the processor in accordance with the environment
JP2003295986A (en) 2002-04-02 2003-10-17 Toshiba Corp Power consumption control method and information processing device
US7383451B2 (en) 2005-02-18 2008-06-03 Lenovo (Singapore) Pte. Ltd. Controlling power usage of computing device components in holistic manner
US20110001358A1 (en) 2005-08-25 2011-01-06 Conroy David G Methods and apparatuses for dynamic power control
Hashimoto, Clock-up, Silencing of the machine . . . Get 120% performance Free-of-charge tune of the motherboard by software, DOS/V Power Report, vol. 14, No. 6, Japan, Impress Corporation, vol. 14, p. 73.
Information Disclosure Statement by Applicant From PTO/SB/08a for U.S. Appl. No. 90/013,162, filed on Feb. 24, 2014.
PCT International Preliminary Report on Patentability and Written Opinion for PCT Int'l Application No. PCT/US2006/029244, mailed Mar. 6, 2008, (14 pages).
PCT International Search Report and Written Opinion for PCT International Appln No. US2004/026444, mailed Aug. 19, 2005 (24 pages).
PCT International Search Report and Written Opinion for PCT Intl Application No. PCT/US2006/029244, mailed Sep. 17, 2007, (22 pages).
PCT International Search Report and Written Opinion for PCT Int'l Application No. PCT/US2008/013975 mailed Mar. 17, 2009, (13 pages).
PCT International Search Report and Written Opinion for PCT Int'l. Application No. US2006/029049, mailed Nov. 29, 2006, (14 pages).
PCT International Search Report and Written Opinion for PCT Int'l. Application No. US2008/014036, mailed Jul. 22, 2010, (14 pages).
PCT Preliminary Report on Patentability and Written Opinion for PCT Int'l Application No. PCT/US2006/029049, mailed Mar. 6, 2008, (10 pages).
U.S. Appl. No. 90/013,162 Request for Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part A of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part B of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part C of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part D of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part E of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part F of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part G of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part H of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part I of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
U.S. Appl. No. 90/013,162, Exhibit 8, Part J of Ex Parte Reexamination filed on Feb. 24, 2014, of U.S. Patent Application No. 8,448,000.
US9429331B2 (en) * 2013-12-18 2016-08-30 Symbol Technologies, Llc System and method for heater power prioritization and distribution
US8448000B2 (en) 2013-05-21 grant
US9317090B2 (en) 2016-04-19 grant
US20100117579A1 (en) 2010-05-13 application
US8237386B2 (en) 2012-08-07 grant
US20160209895A1 (en) 2016-07-21 application
US20120284547A1 (en) 2012-11-08 application
US20130254563A1 (en) 2013-09-26 application
US20150338892A1 (en) 2015-11-26 application