# US 8,751,849 B2 · Methods and apparatuses for dynamic power control

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,849 B2
- Document ID: US8751849B2
- Status: Granted
- Kind: B2
- Application number: 13/708,887
- Filed: 2012-12-07
- Published: 2013-04-25
- Granted: 2014-06-10
- Earliest claimed: 2005-08-25
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: David G. Conroy; Michael Culbert; Keith A. Cox
- Web page: https://patentgrep.com/patent/US8751849B2

## CPC

- G06F 1/26: Power supply means, e.g. regulation thereof (for memories G11C)
- G05D 23/19: characterised by the use of electric means {(G05D23/1393 takes precedence)}
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 1/30: Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations (for resetting only G06F1/24)
- G06F 1/3203: Power management, i.e. event-based initiation of a power-saving mode
- G06F 1/324: by lowering clock frequency
- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 1/3296: by lowering the supply or operating voltage
- Y02B 70/10: Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
- Y02B 70/30: Systems integrating technologies related to power network operation and communication or information technologies for improving the carbon footprint of the management of residential or tertiary loads, i.e. smart grids as climate change mitigation technology in the buildings sector, including also the last stages of power distribution and the control, monitoring or operating management systems at local level
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- Y02B: CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Exemplary embodiments of methods and apparatuses to manage a power of a system that leverage intermediate power margins are described. One or more subsystems of the system are operated at one or more performance points. A power consumed by the one or more subsystems at each of the one or more performance points is measured. An operational power of the one or more subsystems at the one or more performance points is determined. The one or more subsystems are operated at well-known conditions at the one or more performance points. The operational power may be adjusted based on data associated with the one or more subsystems. The operational power is provided to a power lookup table. The power is distributed among the one or more subsystems based on the operational power.

## Claims

### Claim 1

A method, comprising:
operating a subsystem at a current performance setting which is one of a plurality of performance settings, the subsystem having a maximum power allocation, the subsystem being capable of operating at each of the performance settings and wherein the current performance setting has a power consumption which is less than the maximum power allocation;
determining an operational power of the subsystem at the current performance setting by using an actual power consumed by the subsystem that was previously measured at the current performance setting; and
allocating an additional power to one or more other subsystems, wherein the additional power is determined based on a difference between the maximum power allocation for the subsystem and the operational power of the subsystem at the current performance setting.

### Claim 2 (depends on 1)

The method of claim 1, wherein the operational power of the subsystem is the actual power consumed by the subsystem determined dynamically.

### Claim 3 (depends on 1)

The method of claim 1, wherein each of the performance settings is a frequency, voltage, temperature, or any combination thereof.

### Claim 4 (depends on 1)

The method of claim 1, further including
adjusting the operational power based on a data associated with the subsystem.

### Claim 5 (depends on 1)

The method of claim 1, further including
reading the operational power from one or more power lookup tables.

### Claim 6 (depends on 1)

The method of claim 1, wherein the subsystem is operated at the current performance setting to consume a power that is less than the maximum power allocation.

### Claim 7

An article of manufacture comprising:
a machine readable-storage medium storing data that, when accessed by a machine, cause the machine to perform operations comprising,
operating a subsystem at a current performance setting which is one of a plurality of performance settings, the subsystem having a power maximum allocation, the subsystem being capable of operating at each of the performance settings and wherein the current performance setting has a power consumption which is less than the maximum power allocation;
determining an operational power of the subsystem at the current performance setting by using an actual power consumed by the subsystem that was previously measured at the current performance setting; and
allocating an additional power to one or more other subsystems, wherein the additional power includes a difference between the maximum power allocation for the subsystem and the operational power of the subsystem at the current performance setting.

### Claim 8 (depends on 7)

The article of manufacture of claim 7, wherein the operational power of the subsystem is the actual power consumed by the subsystem determined dynamically.

### Claim 9 (depends on 7)

The article of manufacture of claim 7, wherein each of the performance settings is a frequency, a voltage, a temperature, or any combination thereof.

### Claim 10 (depends on 7)

The article of manufacture of claim 7, wherein the machine-readable storage medium further includes data that cause the machine to perform operations, comprising,
adjusting the operational power based on a data associated with the subsystem.

### Claim 11 (depends on 7)

The article of manufacture of claim 7, wherein the machine-readable storage medium further includes data that cause the machine to perform operations, comprising,
reading the operational power from one or more power lookup tables.

### Claim 12

A data processing system, comprising:
a memory; and
a processor coupled to the memory, wherein the processor is configured to operate a subsystem at a current performance setting which is one of a plurality of performance settings, the subsystem having a maximum power allocation, the subsystem being capable of operating at each of the performance settings and wherein the current performance setting has a power consumption which is less than the maximum power allocation; to determine an operational power of the subsystem at the current performance setting by using an actual power consumed by the subsystem that was previously measured at the current performance settings; setting; and
the processor is configured to allocate an additional power that includes a difference between the maximum power allocation for the subsystem and the operational power of the subsystem at the current performance setting to one or more other subsystems.

### Claim 13 (depends on 12)

The data processing system of claim 12, wherein
the operational power of the subsystem is the actual power consumed by the subsystem determined dynamically.

### Claim 14 (depends on 12)

The data processing system of claim 12, further comprising
one or more subsystems coupled to the processor.

### Claim 15 (depends on 12)

The data processing system of claim 12, further comprising one or more sensors coupled to the processor.

### Claim 16 (depends on 12)

The data processing system of claim 12, wherein the processor is further configured to
adjust the operational power based on a data associated with the subsystem.

### Claim 17 (depends on 12)

The data processing system of claim 12, wherein the processor is further configured to
read the operational power from the memory.

### Claim 18 (depends on 12)

The system of claim 12, wherein each of the performance settings is a frequency, a voltage, a temperature, or any combination thereof.

### Claim 19

A machine-accessible storage medium storing data that, when accessed by a machine, cause the machine to perform operations comprising:
storing a value representing an intermediate operational power setting of a subsystem and a maximum value, wherein the intermediate operational power setting is determined using an actual power consumed by the subsystem that was previously measured at a current performance setting which is one of a plurality of performance settings, the subsystem being capable of operating at each of the performance settings, the current performance setting having power consumption which is less than the maximum value; and
allocating an additional power to the system to operate another subsystem based on the value.

### Claim 20 (depends on 19)

The machine-accessible storage medium of claim 19, wherein each of the performance settings is a frequency, voltage, temperature, or any combination thereof.

### Claim 21 (depends on 19)

The machine-accessible medium of claim 19, wherein the intermediate operational power setting is determined dynamically by measuring the actual power consumed by the subsystem at one or more performance settings, estimating the actual power consumed by the subsystem at one or more performance settings, or both.

### Claim 22 (depends on 19)

The machine-accessible storage medium of claim 19, wherein the value includes a difference between the maximum value and the intermediate operational power setting of the subsystem.

### Claim 23 (depends on 19)

The machine-accessible storage medium of claim 19, wherein the subsystem is operated to consume a maximum power at the current performance setting that is less than the maximum value.

### Claim 24 (depends on 19)

The machine-accessible storage medium of claim 19, wherein the machine-readable storage medium further includes data that cause the machine to perform operations, comprising,
storing the intermediate operational power setting in a memory.

### Claim 25 (depends on 19)

The machine-accessible medium of claim 19, wherein the intermediate operational power setting is adjusted based on a data associated with the subsystem.

### Claim 26

A machine-accessible storage medium storing data that, when accessed by a machine, cause the machine to perform operations comprising:
determining an intermediate operational power setting of a subsystem at a current performance setting which is one of a plurality of performance settings, the subsystem having a maximum power allocation, the subsystem being capable of operating at each of the performance settings, wherein the intermediate operational power setting is determined using an actual power consumed by the subsystem that was previously measured at the current performance setting, the current performance setting having power consumption which is less than the maximum power allocation;
storing the intermediate operational power setting; and
allocating an additional power to another subsystem based on the intermediate operational power setting and the maximum power.

### Claim 27 (depends on 26)

The machine-accessible storage medium of claim 26, wherein each of the performance settings is a frequency, voltage, temperature, or any combination thereof.

### Claim 28 (depends on 26)

The machine-accessible medium of claim 26, wherein the intermediate operational power setting is determined dynamically by measuring the actual power consumed by the subsystem at one or more performance settings, estimating the actual power consumed by the subsystem at one or more performance settings, or both.

### Claim 29 (depends on 26)

The machine-accessible storage medium of claim 26, wherein the additional power is provided based on a difference between the maximum power allocation and the intermediate operational power setting of the subsystem.

### Claim 30 (depends on 26)

The machine-accessible storage medium of claim 26, wherein the subsystem is operated at the current performance setting to consume a maximum power that is less than the maximum power allocation.

### Claim 31 (depends on 26)

The machine-accessible medium of claim 26, wherein the machine-readable storage medium further includes data that cause the machine to perform operations, comprising,
adjusting the intermediate operational power setting based on a data associated with the subsystem.

### Claim 32

A data processing system, comprising:
a memory; and
a processor coupled to the memory, wherein the processor is configured to store a value representing an intermediate operational power setting of a subsystem and an maximum value in the memory, wherein the intermediate operational power setting is determined using an actual power consumed by the subsystem that was previously measured at a current performance setting which is one of a plurality of performance settings, the subsystem being capable of operating at each of the performance settings, the current performance setting having power consumption which is less than the maximum value; and to allocate an additional power to the system to operate another subsystem based on the value.

### Claim 33 (depends on 32)

The data processing system of claim 32, wherein each of the performance settings is a frequency, voltage, temperature, or any combination thereof.

### Claim 34 (depends on 32)

The data processing system of claim 32, wherein the intermediate operational power setting is determined dynamically by measuring the actual power consumed by the subsystem at one or more performance settings, estimating the actual power consumed by the subsystem at one or more performance settings, or both.

### Claim 35 (depends on 32)

The data processing system of claim 32, wherein the value includes a difference between the maximum value and the intermediate operational power setting of the subsystem.

### Claim 36 (depends on 32)

The data processing system of claim 32, further comprising one or more subsystems coupled to the processor.

### Claim 37 (depends on 32)

The data processing system of claim 32, further comprising one or more sensors coupled to the processor.

### Claim 38 (depends on 32)

The data processing system of claim 32, wherein the processor is further configured to adjust the intermediate operational power setting based on a data associated with the subsystem.
