US2013061068A1PendingUtilityA1

Method and apparatus for dynamic power management control using serial bus management protocols

Assignee: TREMEL CHRISTOPHER JPriority: Mar 28, 2008Filed: Nov 1, 2012Published: Mar 7, 2013
Est. expiryMar 28, 2028(~1.7 yrs left)· nominal 20-yr term from priority
G06F 1/325Y02D10/00G06F 1/324G06F 1/3203G06F 1/3296
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus for on-demand power management including an I/O serial communication master device, peripheral devices that communicate with the master device along the serial communications bus, and a power manager that buffers the peripheral devices from the serial communication master. The power manager also manages voltage regulation and clock sources to the peripheral devices, with the ability of placing the peripheral devices in an inactive state, or in any number of active states as a means to conserve energy. In some embodiments, the I/O serial communications master acts as if the peripheral devices are always in the highest activity state, and the power manager manages the communications to and from the peripheral devices and the power management of the peripheral devices to reduce energy consumption and system latency.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method, comprising:
 providing a first operating voltage and a first clock frequency to a peripheral device, operating in a first operating state, wherein the peripheral device is coupled to an input-output (I/O) controller in a processing system with a serial bus;   monitoring bus transactions on the serial bus using a power manager, coupled between the I/O controller and the peripheral device, to assess a current processing demand for the peripheral device; and   dynamically adjusting at least one of the first operating voltage or the first clock frequency in response to the current processing demand.   
     
     
         2 . The method of  claim 1 , wherein monitoring comprises:
 receiving at the power manager a current bus transaction from the I/O controller; and   determining whether the peripheral device is to operate in a second operating state to process the current bus transaction, wherein the second operating state corresponds to the current processing demand, and wherein dynamically adjusting comprises switching the peripheral device to operate in the second operating state to allow the peripheral device to process the current bus transaction, wherein the first operating state is a lower power state than the second operating state.   
     
     
         3 . The method of  claim 1 , wherein dynamically adjusting comprises:
 adjusting the first operating voltage to a second operating voltage; and   adjusting the first clock frequency to a second clock frequency, wherein the second clock frequency is phase-locked to a reference frequency and phase-matched to the first clock frequency.   
     
     
         4 . The method of  claim 3 , wherein adjusting the second clock frequency comprises:
 generating the second clock frequency in response to the current processing demand; and   switching from the first clock frequency to the second clock frequency without halting the processing system.   
     
     
         5 . The method of  claim 1 , wherein dynamically adjusting comprises adjusting the first operating voltage to a second operating voltage. 
     
     
         6 . The method of  claim 1 , wherein dynamically adjusting comprises adjusting the second clock frequency to a second clock frequency, wherein the second clock frequency is phase-locked to a reference frequency and phase-matched to the first clock frequency. 
     
     
         7 . The method of  claim 2 , further comprising delaying the current bus transaction from being sent to the peripheral device using the power manager, wherein the current bus transaction is delayed until the power manager finishes adjusting the at least one of the first operating voltage or the first clock frequency. 
     
     
         8 . The method of  claim 7 , wherein delaying the current bus transaction comprises:
 storing the current bus transaction in a buffer; and   transmitting the current bus transaction to the peripheral device when the power manager finishes the adjusting.   
     
     
         9 . The method of  claim 7 , wherein delaying the current bus transaction comprises notifying the I/O controller that the peripheral device is busy to pause the current bus transaction from the I/O controller. 
     
     
         10 . The method of  claim 7 , wherein delaying the current bus transaction comprises stretching a clock signal between the I/O controller and the power manager to place the I/O controller in a wait state for the current bus transaction. 
     
     
         11 . The method of  claim 10 , wherein the current bus transaction is an inter-integrated circuit (I2C) transaction, and wherein stretching the clock signal comprises holding the clock line between the power manager and the I/O controller low until the power manager finishes the adjusting to pause the I2C transaction from the I/O controller. 
     
     
         12 . The method of  claim 1 , wherein a plurality of peripheral devices are coupled to the I/O controller by way of the power manager, including the peripheral device, and wherein the monitoring comprises:
 receiving a start signal from the I/O controller for a current bus transaction;   decoding a device address of the current bus transaction to select one of the plurality of peripheral devices to send the current bus transaction;   delaying the current bus transaction from being sent to the selected peripheral device by placing the I/O controller in a wait state for the current bus transaction;   while delaying the current bus transaction, powering up the selected peripheral device to a second operating state from the first operating state by said dynamically adjusting, wherein the first operating state is a lower power state than the second operating state; and   initiating a device communication flow between the I/O controller and the peripheral device for the current bus transaction when the selected peripheral device is operating at the second operating state.   
     
     
         13 . The method of  claim 12 , wherein the monitoring further comprises powering down the selected peripheral device to the first operating state from the second operating state when the current bus transaction is completed. 
     
     
         14 . The method of  claim 12 , wherein the monitoring further comprises determining that the selected peripheral device is an I2C device, and wherein initiating the device communication flow comprises:
 sending the start signal to the I2C device;   releasing the clock line between the I/O controller and the power manager to activate the I/O controller from the wait state; and   buffering data and clock lines between the I/O controller and the I2C device.   
     
     
         15 . The method of  claim 12 , wherein the monitoring further comprises determining that the selected peripheral device is a universal asynchronous receiver and transceiver (UART) device, and wherein initiating the device communication flow comprises determining whether the current bus transaction is a read operation or a write operation,
 wherein if the current bus transaction is a read operation, the determining comprises:
 for each byte of data to be read,
 holding the clock line between the I/O controller and the power manager low; 
 reading a byte of data from a buffer of the UART device; 
 releasing the clock line between the I/O controller and the power manager; and 
 sending the byte to the I/O controller, and 
 
   wherein if the current bus transaction is a write operation, the determining comprises:
 for each byte of data to be written,
 buffering a byte received from the I/O controller; 
 acknowledging the I/O controller; 
 holding the clock line between the I/O controller and the power manager low; 
 sending the byte received from the I/O controller to the UART device; and 
 releasing the clock line between the I/O controller and the power manager. 
 
   
     
     
         16 . An apparatus, comprising:
 a first bus interface coupled to an input-output (I/O) controller to communicate bus transactions of a serial bus between the I/O controller and a peripheral device in a processing system;   a second bus interface coupled to the peripheral device to communicate the bus transactions of the serial bus between the I/O controller and the peripheral device, wherein the first peripheral device is operated at a first operating state; and   a monitoring engine coupled to the first and second bus interfaces to monitor the bus transactions on the serial bus to assess a current processing demand for the peripheral device, and to dynamically adjust at least one of a first operating voltage or a first clock frequency, supplied to the peripheral device in the first operating state, in response to the current processing demand.   
     
     
         17 . The apparatus of  claim 16 , wherein the monitoring engine is configured to receive a current bus transaction from the I/O controller, to determine whether the peripheral device is to operate in a second operating state for the current bus transaction, and to switch the peripheral device to operate in the second operating to allow the peripheral device to process the current bus transaction, wherein the first operating state is a lower power state than the second operating state. 
     
     
         18 . The apparatus of  claim 17 , further comprising an adjustable voltage regulator coupled to receive a signal from the monitoring engine to adjust the first operating voltage supplied to the peripheral device to a second operating voltage when the monitoring engine switches the peripheral device to the second operating state. 
     
     
         19 . The apparatus of  claim 17 , further comprising a multiplexer coupled to the monitoring engine to adjust the first clock frequency to a second clock frequency when the monitoring engine switches the peripheral device to the second operating state. 
     
     
         20 . The apparatus of  claim 17 , further comprising a converter coupled between the monitoring engine and the second bus interface to translate a first bus protocol of the current bus transaction, used by the I/O controller, to a second bus protocol, used by the peripheral device. 
     
     
         21 . A computer-implemented method, comprising:
 buffering bus transactions on a serial bus between a plurality of peripheral devices and a host processing device in a processing system using a power manager;   monitoring the bus transactions on the serial bus to assess a current processing demand for at least one of a plurality of peripheral devices, wherein the current processing demand correlates to an operating state of the at least one peripheral device; and   compensating for the current processing demand by dynamically scaling at least one of an operating voltage or a clock frequency supplied to the at least one peripheral device to meet the current processing demand.   
     
     
         22 . The method of  claim 21 , wherein the at least one peripheral device is operating at a first clock frequency, and wherein dynamically scaling the clock frequency supplied to the at least one peripheral device comprises:
 generating a second clock frequency in response to the current processing demand, wherein the second clock frequency is phase-matched to the first clock frequency; and   switching from the first clock frequency to the second clock frequency without halting the processing system.   
     
     
         23 . The method of  claim 21 , wherein the at least one peripheral device is operating at a first voltage, and wherein dynamically scaling the operating voltage supplied to the at least one peripheral device comprises:
 generating a second voltage in response to the current processing demand; and   switching from the first voltage to the second voltage without halting the processing system.

Join the waitlist — get patent alerts

Track US2013061068A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.