Proactive Power Management Using a Power Management Unit
Abstract
Embodiments of the present disclosure provide systems and methods for proactively managing power in a device. A power management unit (PMU) receives information from various subsystems of a device and estimates the total power required by each subsystem of the device. Based on this information, the PMU can predict power requirements for a particular subsystem or for one or more application(s) to execute. Based on this prediction, the PMU can reconfigure the subsystems so that the device executes more efficiently given the current battery life of the device. Proactive power management advantageously gives the PMU the capability to predict power needs of various subsystems of a device so that the power supplied to these subsystems can be managed in an intelligent way before battery resources are exhausted.
Claims
exact text as granted — not AI-modified1 . An apparatus comprising:
a power source; a plurality of subsystems coupled to the power source, wherein the subsystems are configured to receive power from the power source; and a power management unit (PMU) configured to manage distribution of power from the power source to the subsystems, wherein the PMU is further configured to:
receive information from the subsystems indicating power requirements of the subsystems;
predict power requirements for a first subsystem in the plurality of subsystems based on the information; and
reconfigure the first subsystem based on the predicted power requirements.
2 . The apparatus of claim 1 , wherein the subsystems include a sensor, and wherein the PMU is further configured to:
receive information from the sensor indicating the occurrence of an event; and determine whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the event.
3 . The apparatus of claim 2 , wherein the information indicates that no user is in the proximity of the apparatus, and wherein the PMU is further configured to reduce an amount of power supplied to the first subsystem in response to determining that no user is in the proximity of the apparatus.
4 . The apparatus of claim 1 , wherein the subsystems include:
a first memory; and a processor having a cache memory, and wherein the PMU is further configured to:
monitor a plurality of cache miss signals received from the processor;
detect an increase or a decrease in an amount of cache miss signals associated with data stored in the first memory; and
determine whether to reconfigure the first memory or the cache memory based on the detected increase or decrease.
5 . The apparatus of claim 4 , wherein the PMU is further configured to:
increase an amount of power supplied to the first memory in response to detecting the increase in the amount of cache miss signals associated with data stored in the first memory; and decrease the amount of power supplied to the first memory in response to detecting the decrease in the amount of cache miss signals associated with data stored in the first memory.
6 . The apparatus of claim 1 , wherein the PMU is further configured to:
generate a signature based on a pattern of access associated with a block of code; access power consumption information stored in a table in memory; determine whether an entry in the table matches the signature; access power prediction information corresponding to the signature in response to determining that the entry matches the signature; and determine whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the power prediction information.
7 . The apparatus of claim 6 , wherein the signature is a hash of a plurality of addresses in memory accessed during execution of the block of code.
8 . The apparatus of claim 1 , wherein the PMU is further configured to:
detect a signal generated during an execution of a block of code, wherein the signal indicates upcoming power consumption needs of the block of code; and determine whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the signal.
9 . The apparatus of claim 8 , wherein the block of code includes energy hint code for notifying the PMU that power-expensive code is being executed, and wherein the signal is generated during execution of the energy hint code.
10 . A communications device comprising:
a power source; a plurality of subsystems configured to receive power from the power source; and a power management unit (PMU) configured to manage distribution of power from the power source to the subsystems, wherein the PMU is further configured to:
receive information from the subsystems indicating power requirements of a plurality of applications;
access information stored after a previous execution of a first application in the plurality of applications;
predict power requirements for the first application based on the accessed information; and
reconfigure characteristics of the first application based on the predicted power requirements.
11 . The communications device of claim 10 , wherein the PMU is further configured to:
determine whether the communications device has sufficient power to finish executing the application; and reconfigure characteristics of the first application in response to determining that the communications device does not have sufficient power to finish executing the application.
12 . The communications device of claim 11 , wherein the PMU is further configured to:
access a stored policy; determine whether the policy contains instructions for reconfiguring the characteristics of the first application; in response to determining that the policy contains instructions for reconfiguring the characteristics of the first application:
notify a user of the communications device of an upcoming reconfiguration of the characteristics of the first application, and
reconfigure the characteristics of the first application based on the stored policy; and
in response to determining that the policy does not contain instructions for reconfiguring the characteristics of the first application:
inform the user that the communications device has insufficient power to finish executing the application, and
propose a power saving option to the user.
13 . The communications device of claim 10 , wherein the PMU is further configured to:
determine a power mode of the communications device; in response to determining that the communications device is operating in a lower power mode, periodically evaluate currently executing applications to determine whether the first application is a high priority application; and in response to determining that the first application is a high priority application:
determine whether the communications device has sufficient power to finish executing the application, and
reconfigure characteristics of the first application in response to determining that the communications device does not have sufficient power to finish executing the application.
14 . The communications device of claim 10 , wherein the PMU is further configured to lower quality of a playing video in response to determining that the communications device has insufficient power to finish playing the video.
15 . The communications device of claim 10 , wherein the PMU is further configured to:
determine an amount of power available to a second device in communication with the communications device; and reconfigure characteristics of the first application based on the amount of power available to the second device.
16 . A method comprising:
receiving, at a power management unit of a device, information from a plurality of subsystems of the device indicating power requirements of the subsystems; predicting power requirements for a first subsystem in the plurality of subsystems based on the information; and reconfiguring the first subsystem based on the predicted power requirements.
17 . The method of claim 16 , further comprising:
receiving information from a sensor indicating the occurrence of an event; and determining whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the event.
18 . The method of claim 16 , further comprising:
monitoring a plurality of cache miss signals received from a processor having a cache memory; detecting an increase or a decrease in an amount of cache miss signals associated with data stored in a first memory; and determining whether to reconfigure the first memory or the cache memory based on the detected increase or decrease.
19 . The method of claim 16 , further comprising:
generating a signature based on a pattern of access associated with a block of code; accessing power consumption information stored in a table in memory; determining whether an entry in the table matches the signature; accessing power prediction information corresponding to the signature in response to determining that the entry matches the signature; and determining whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the power prediction information.
20 . The method of claim 16 , further comprising:
detecting a signal generated during an execution of a block of code, wherein the signal indicates upcoming power consumption needs of the block of code; and determining whether to reconfigure the first subsystem or a second subsystem in the plurality of subsystems based on the signal.Join the waitlist — get patent alerts
Track US2013046967A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.