Methods and apparatus to control power state transitions
AssigneeIntel Corporation
InventorNathan J. Sheller
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorNathan J. Sheller
Estimating the term…
Methods and apparatus to control power state transitions in embedded systems are disclosed. In a disclosed method, power state transitions of agents in the system are managed by a central authority. The agents register themselves with the central authority. When a request to transition the system to a requested power state is received, the central authority issues callback instructions to the agents in the system that support the requested power state. The callback instructions are issued in a temporal order indicated by the power state dependencies of the agents. Thus, the central authority arbitrates the order in which the agents transition to the requested power state. The power state dependencies of the agents are registered with the central authority by the agents either at power-up of the system or when the agents are plugged into the system.
A method of controlling power state transitions in a device, the method comprising:
A device comprising:
A tangible medium storing machine readable instructions which, when executed by a processor cause a machine to:
A method of controlling power consumption in a device, the method comprising:
A method of controlling power state transitions comprising:
A method of registering a first agent with a power manager comprising:
For use in a system having a first agent and a second agent, an apparatus to control power state transitions comprising:
For use in a system having a central authority to control power state transitions, an agent comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Power saving characterised by the action undertaken: by switching off individual functional units in the computer system
Means for saving power: power management, i.e. event-based initiation of a power-saving mode
Energy efficient computing
Computing and data processing
Term ended 20 Jul 2024 (estimated)
This disclosure relates generally to embedded systems, and, more particularly, to methods and apparatus to control power state transitions.
Prior art embedded systems typically include a plurality of power consuming agents 10 as shown in FIG. 1. For example, an embedded system such as might be found in a handheld electronic device might include agents 10 such as a processor, a display and a random access memory (RAM). When an instruction to transition the system from one power consuming level (e.g., full power) to another power consuming level (e.g., sleep) is identified, each discrete power consuming agent 10 that supports the requested power level must be independently transitioned to that requested power level. Typically, the transitions of these agents 10 to the requested power level must be carried out in one or more specific temporal orders. For example, it is often the case that a first agent should not be transitioned to a requested power state until after a second agent in the system has completed the transition to the requested power state.
In order to accommodate such order dependencies, prior art systems typically provide each agent 10 with a driver 12, usually in the form of software or firmware. The drivers 12 of the agents 10 are programmed to communicate with one another below the awareness of the operating system 14 to arbitrate the order in which the agents 10 transition to the requested power state. Thus, the drivers 12 of the agents 10 will communicate to identify any order dependencies and to ensure the agents are transitioned in accordance with the same. For example, if a first agent must be transitioned to the requested power state before a second agent can be so transitioned, the drivers 12 of the first and second agents 10 will communicate to ensure that the power transition of the second agent is not initiated until the power transition of the first agent is completed or nearly completed. In another example, the driver developer might choose to create a function on the first driver that would return only when a given power transition was completed. Then, a second driver, which requires that same power transition to complete before beginning its own transition, would directly call the private function of the first driver before proceeding with its own power transition. Another driver developer might choose to introduce a 200 ms delay before continuing with a given power transition. The resultant system is comprised of several different drivers all with different methods of resolving their own interdependencies. Thus, other agents in the system might or might not have any knowledge of the dependencies, functions, or current power states for another agent.
FIG. 1 is a schematic illustration of a prior art embedded system.
FIG. 2 is a prior art table for storing power state information.
FIG. 3 is a schematic illustration of an example embedded system constructed in accordance with the teachings of the invention.
FIG. 3 is a schematic illustration of an example embedded system 30. Like the prior art system of FIG. 1, the example system of FIG. 3 includes a plurality of agents 32, an operating system 34, and one or more applications 36. The agents 32 may be implemented by any well known device such as, for example, a processor, a display, a network, a RAM, an HDD and/or an audio device. The operating system 34 may be any well known operating system such as, for example, Microsoft Windows CE.™ The applications 36 may be any application such as, for example, a word processing program, a spreadsheet program, a video game, a calendar program, etc.
Unlike the prior art system of FIG. 1, the example system 30 of FIG. 3 does not require the agents 32 to include drivers 12 to arbitrate the order of power state transitions. Instead, the system 30 of FIG. 3 includes a power manager 40 to arbitrate an order in which the agents 32 transition between power states. For example, the power manager 40 may issue instructions to the agents 32 causing the agents 32 to transition into a requested power state at specific times. For instance, if a first agent 32 must be transitioned into the requested power state before a second agent 32 can be so transitioned, the power manager 40 may issue an instruction to the first agent at a first time thereby causing the first agent to transition to the desired power state and then, after a period of time sufficient to permit the first agent to complete or nearly complete the power state transition, issue an instruction to the second agent at a second time causing the second agent to transition to the desired power state. As explained in further detail below, spacing the instructions to transition in time in this fashion can be done with any number of agents 32 in whatever order is required by the agents present in the system to perform the specific power state transition desired.
The requested power state may be a higher power state (i.e., a state in which the agent consumes more power) or a lower power state (i.e., a state in which the agent consumes less power) then the current power state of an agent. Also, two or more agents 32 in the system 30 may be in the same or different power states at substantially the same time. Thus, a request to change to a requested power state could cause two agents 32 having the same current power state to transition to the requested power state. Alternatively, a request to change to a requested power state could cause two agents 32 having different current power states to transition to the requested power state. Moreover, although in the examples described herein, the requested power state is one power state, the requested power state could alternatively comprise two or more power states. In the latter example, no more than one of the multiple power states identified in the request should be supported by any one agent 32 to avoid conflicting instructions.