IP Library Granted Patent US 9,823,673
Granted Patent B2
US 9,823,673 · App. 14/280,631 · Granted Nov 21, 2017

Energy efficiency aware thermal management in a multi-processor system on a chip based on monitored processing component current draw

Inventors: Hee Jun Park (San Diego, CA); Young Hoon Kang (San Diego, CA); Ronald Frank Alton (Oceanside, CA); Christopher Lee Medrano (Longmont, CO); Jon James Anderson (Boulder, CO)
Assignee: QUALCOMM Incorporated
G05D23/1917G05B15/02G06F1/203G06F1/206G06F1/26G06F1/324G06F1/3206G06F1/3296G06F11/30G06F11/34Y02B60/1275
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,823,673
App. No.
14/280,631
Granted
Nov 21, 2017
Kind
B2
Abstract

Various embodiments of methods and systems for energy efficiency aware thermal management in a portable computing device that contains a heterogeneous, multi-processor system on a chip (“SoC”) are disclosed. Because individual processing components in a heterogeneous, multi-processor SoC may exhibit different processing efficiencies at a given temperature, energy efficiency aware thermal management techniques that compare performance data of the individual processing components at their measured operating temperatures can be leveraged to optimize quality of service (“QoS”) by adjusting the power supplies to, reallocating workloads away from, or transitioning the power mode of, the least energy efficient processing components. In these ways, embodiments of the solution optimize the average amount of power consumed across the SoC to process a MIPS of workload.

Claims (59)

1. A method for managing thermal energy generation in a portable computing device having a multi-processor system on a chip (“SoC”), the method comprising:

monitoring temperature readings and clock generator frequencies associated with each of a plurality of individual processing components in the multi-processor SoC;

monitoring electrical current draw readings uniquely associated with each of the processing components;

sampling the monitored temperature readings and clock generator frequencies associated with each of the processing components;

sampling the electrical current draw readings uniquely associated with each of the processing components;

based on the sampled temperature and clock generator frequency readings, querying performance data for each processing component, wherein the performance data comprises the expected electrical current draw of each processing component when operating at a given temperature and clock generator frequency;

for each processing component, comparing the expected electrical current draw to the sampled electrical current draw; and

adjusting an input of a least energy efficient processing component based on the comparisons, wherein adjusting the input operates to reduce the power consumption by the least energy efficient processing component.

2. The method of claim 1 , further comprising classifying an efficiency of each processing component based on the comparisons.

3. The method of claim 2 , further comprising identifying the least energy efficient processing component based on the efficiency classifications.

4. The method of claim 3 , further comprising updating the expected current draw comprised within the performance data associated with the least energy efficient processing component to the sampled electrical current draw.

5. The method of claim 1 , wherein the adjusted input is associated with a power supply voltage and clock generator frequency.

6. The method of claim 1 , wherein the adjusted input is associated with a workload allocation.

7. The method of claim 1 , further comprising:

monitoring a thermal parameter associated with one of a skin temperature, a PoP memory temperature, a junction temperature, and a battery capacity;

receiving an alarm indicating that a threshold associated with the thermal parameter has been exceeded, wherein the adjusting is performed in response to receiving the alarm.

8. The method of claim 7 , wherein the portable computing device comprises at least one of a cellular telephone, a satellite telephone, a pager, a portable digital assistant, a smartphone, a navigation device, a smartbook, a reader, and a media player.

9. The method of claim 1 , wherein the portable computing device comprises at least one of a cellular telephone, a satellite telephone, a pager, a portable digital assistant, a smartphone, a navigation device, a smartbook, a reader, and a media player.

10. A computer system for managing thermal energy generation in a portable computing device having a multi-processor system on a chip (“SoC”), the system comprising:

a monitor module for:

monitoring temperature readings and clock generator frequencies associated with each of a plurality of individual processing components in the multi-processor SoC;

monitoring electrical current draw readings uniquely associated with each of the processing components;

sampling the monitored temperature readings and clock generator frequencies associated with each of the processing components;

sampling the electrical current draw readings uniquely associated with each of the processing components;

based on the sampled temperature and clock generator frequency readings, querying performance data for each processing component, wherein the performance data comprises the expected electrical current draw of each processing component when operating at a given temperature and clock generator frequency;

for each processing component, comparing the expected electrical current draw to the sampled electrical current draw; and

adjusting an input of a least energy efficient processing component based on the comparisons, wherein adjusting the input operates to reduce the power consumption by the least energy efficient processing component.

11. The system of claim 10 , wherein the monitor module classifies an efficiency of each processing component based on the comparisons.

12. The system of claim 11 , wherein the monitor module identifies the least energy efficient processing component based on the efficiency classifications.

13. The system of claim 12 , wherein the monitor module further updates the expected current draw comprised within the performance data associated with the least energy efficient processing component to the sampled electrical current draw.

14. The system of claim 10 , wherein the adjusted input is associated with a power supply voltage and clock generator frequency.

15. The system of claim 10 , wherein the adjusted input is associated with a workload allocation.

16. The system of claim 10 , wherein the monitor module further:

monitors a thermal parameter associated with one of a skin temperature, a PoP memory temperature, a junction temperature, and a battery capacity;

receives an alarm indicating that a threshold associated with the thermal parameter has been exceeded, wherein the adjusting is performed in response to receiving the alarm.

17. The system of claim 16 , wherein the portable computing device comprises at least one of a cellular telephone, a satellite telephone, a pager, a portable digital assistant, a smartphone, a navigation device, a smartbook, a reader, and a media player.

18. The system of claim 10 , wherein the portable computing device comprises at least one of a cellular telephone, a satellite telephone, a pager, a portable digital assistant, a smartphone, a navigation device, a smartbook, a reader, and a media player.

19. A computer system for managing thermal energy generation in a portable computing device having a multi-processor system on a chip (“SoC”), the system comprising:

means for monitoring temperature readings and clock generator frequencies associated with each of a plurality of individual processing components in the multi-processor SoC;

means for monitoring electrical current draw readings uniquely associated with each of the processing components;

means for sampling the monitored temperature readings and clock generator frequencies associated with each of the processing components;

means for sampling the electrical current draw readings uniquely associated with each of the processing components;

means for querying performance data for each processing component based on the sampled temperature and clock generator frequency readings, wherein the performance data comprises the expected electrical current draw of each processing component when operating at a given temperature and clock generator frequency;

means for comparing the expected electrical current draw to the sampled electrical current draw for each processing component; and

means for adjusting an input of a least energy efficient processing component based on the comparisons, wherein adjusting the input operates to reduce the power consumption by the least energy efficient processing component.

20. The system of claim 19 , further comprising means for classifying an efficiency of each processing component based on the comparisons.

21. The system of claim 20 , further comprising means for identifying the least energy efficient processing component based on the efficiency classifications.

22. The system of claim 19 , wherein the adjusted input is associated with a power supply voltage and clock generator frequency.

23. A computer program product comprising a non-transitory computer readable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for managing thermal energy generation in a portable computing device having a multi-processor system on a chip (“SoC”), said method comprising:

monitoring temperature readings and clock generator frequencies associated with each of a plurality of individual processing components in the multi-processor SoC;

monitoring electrical current draw readings uniquely associated with each of the processing components;

sampling the monitored temperature readings and clock generator frequencies associated with each of the processing components;

sampling the electrical current draw readings uniquely associated with each of the processing components;

based on the sampled temperature and clock generator frequency readings, querying performance data for each processing component, wherein the performance data comprises the expected electrical current draw of each processing component when operating at a given temperature and clock generator frequency;

for each processing component, comparing the expected electrical current draw to the sampled electrical current draw; and

adjusting an input of a least energy efficient processing component based on the comparisons, wherein adjusting the input operates to reduce the power consumption by the least energy efficient processing component.

24. The computer program product of claim 23 , further comprising classifying an efficiency of each processing component based on the comparisons.

25. The computer program product of claim 24 , further comprising identifying the least energy efficient processing component based on the efficiency classifications.

26. The computer program product of claim 23 , wherein the adjusted input is associated with a power supply voltage and clock generator frequency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2014
From: PARK, HEE JUN; KANG, YOUNG HOON; ALTON, RONALD FRANK; MEDRANO, CHRISTOPHER LEE; ANDERSON, JON JAMES
To: QUALCOMM INCORPORATED
Reel/Frame 033062/0780 →
Continuity (3)
Provisional Application 61977013 · Apr 8, 2014
Provisional Application 61981714 · Apr 18, 2014
Related Publication 20150286257A1 · Oct 8, 2015