The present disclosure is related to automated methods and devices for dynamically setting a load line voltage.
In electronics, “load regulation” is concerned with the capability to maintain a constant voltage (or current) level on the output channel of a power supply despite changes in load. A voltage regulator is a switching power supply that supplies a steady voltage to a load. A voltage regulator that supplies voltage to a Central Processing Unit (CPU) is a CPU voltage regulator, CPU voltage regulators receive one voltage and supply a second voltage to a processor (in this case the processor is a CPU which is sometimes also known as a microprocessor).
When the load current suddenly increases, such as when the processor state changes from idle to active, the voltage supplied to the processor is drawn down, known as a voltage transient or voltage droop 16 (see
Accordingly, during times of low current, more voltage is supplied than is necessary for the experienced load. In designing the circuit and setting the voltage to be supplied, designers must determine a “worst case” voltage transient that could result from one or more inactive (idle) blocks becoming active. The voltage supplied must be high enough to handle the worst case transient. The difference between this supplied voltage and the voltage necessary to power the currently active blocks (the load) is a protection voltage. This protection voltage results in increased power consumption in the low current state relative to what is necessary for the experienced load. Increased power consumption results in increased power costs and produces increased heat. Additionally the extra heat produced contributes to an overall heat produced by the circuit. When the heat produced by a circuit is at or above the amount of heat that the circuit can dispose of, the operations of the circuit must be altered, for example, by reducing clock speed, making blocks inactive, or otherwise reducing the amount of heat being produced. Accordingly, the artificially inflated load voltage leads to reduced processing speed of the circuit. Additionally, artificially inflated load voltage leads to increased current and power use. Such increased current and power use can reduce battery life for devices operating off of a battery.
Accordingly, there exists a need for an improved method and apparatus that provides regulation while reducing any excess heat and performance drain beyond that necessary to power the attached load. Furthermore, there exists a need to supply the needed power without placing the circuit at risk for damage from voltage droop and overshoot.
In an exemplary and non-limited embodiment, aspects of the invention are embodied in a method of controlling voltage in a circuit. Within the circuit, a block of an electrical component provides an indication that it desires to switch states (such as from off to on, on to off, or from one speed to another). The change in states requires a different current draw by the electrical component block. The indication is received by an electrical component that controls the voltage of the circuit. The electrical component that controls the voltage then issues a signal granting permission for the electrical component block to switch states. This permission signal is received by the electrical component and the electrical component block changes state.
Briefly, in one example, a circuit includes an electrical component operative to handle at least one processing block; a voltage control module controlling a voltage supplied to the at least one electrical component; each of the at least one processing block having a first state presenting a first load on the supplied voltage and having a second state presenting a second load on the supplied voltage; and a voltage control module. The voltage control module is operative to determine that the at least one processing block wants to switch from the second state to the first state; determine a voltage increase requirement that could be caused by the at least one processing block switching from the second state to the first state; and alter the voltage supplied by the voltage control module responsive to a voltage increase requirement to satisfy a desired switch from the second state to the first state.
In another example, a method of controlling circuit voltage is provided. The method including determining that at least one electrical component block wants to switch from a second state that draws a second current flow to a first state that draws a first current flow; determining a voltage change requirement to provide for the at least one electrical component block switching from the second state to the first state; and altering the voltage supplied by the voltage control module to accommodate the determined voltage change requirement.
In yet another example, a method of controlling circuit voltage is provided. The method including providing, by an electrical component, an indication that an electrical component block desires to enter a state that requires a different current draw relative to a current state of the electrical component block; receiving permission via a processor to enter the state that requires a different current draw; and entering, by the electrical component block, the state that requires a different current draw.
In still another example, a voltage controller is provided. The voltage controller including logic to regulate a direct current (DC) output voltage in accordance with a loadline to power at least one electrical component block, each electrical component block of the at least one electrical component block having a first state that draws a first current flow and having a second state that draws a second current flow, the second current flow being less than the first current flow; the loadline being dynamically set to supply a voltage that is the sum of 1) voltage necessary to supply the coupled at least one component block in its current state and 2) an amount equal to a worst case voltage step associated with switching from the second state to the first state.
In certain embodiments, the method and device may provide for reduced power consumption and/or increased performance. The reduced power and increased performance may be achieved without subjecting the processor to increased instability or dangers of faults.
Turning now to the drawings wherein like numerals represent like components,
Processor 24 is able to allocate some or all of its processing power to various processing blocks, or tasks. The processing power of processor 24 can be dedicated to a single block, or split over multiple blocks. Still further, certain blocks may not be able to take advantage of the full processing capacity of processor 24 such that processor 24 can fully handle more than one block when each block is operating at its peak. Processor 24 receives requests for processing allocations for blocks and then allocates processing capacity to the allocation requests. Voltage controller 23 is a portion of processor 24 that determines and calls for voltage from voltage regulator 22. Memory 26 is in communication with voltage controller 23. Memory 26 stores information indicating which blocks are requesting a processing allocation. Memory 26 further stores information regarding which blocks are currently receiving a processing allocation. Additionally, memory 26 stores parameters of processing requirements that various blocks require. These parameters include voltage requirements, current requirements, power requirements, time requirements
Power supply 20 provides power to voltage regulator 22. Voltage regulator 22 provides a desired DC voltage to processor 24.
Having discussed the physical portions,
At any point in operation, processor 24 may want to maintain its current processing state, activate an additional processing block (
Voltage controller 23 determines the altered (in this case, added) voltage needed to support the requested additional block. (125) In one embodiment, such determination involves a dynamic calculation of what voltage is needed or expected. This dynamic calculation produces a “worst case scenario” voltage droop and overshoot that could be associated with the activation of the requested block. In another embodiment, the “worst case scenario” voltage droop for all blocks is pre-determined and stored in a lookup table accessible to voltage controller 23. It should be appreciated that this is one specific place where the determination can actually be made elsewhere. For example, embodiments are envisioned where voltage regulator 22 knows what blocks are running and knows what voltage is being required to support the running blocks. In one embodiment, processor 24 contains voltage controller 23 that dynamically calculates the “worst case scenario” droop and overshoot and in another embodiment a lookup table is accessed by processor 24 for such information.
Voltage controller 23 (or voltage regulator 22) then determines whether the activation of the additional block can be supported. (130) If not, the request is denied and the system returns to wait for additional requests. (135) It should be appreciated that the most common situation will be that activation of additional blocks can be supported.
Before the block is granted permission to become active, voltage controller 23 requests that the voltage regulator 22 increases the load line voltage by an amount, such as the “worst case scenario” voltage droop and overshoot amount associated with the additional block. (140) Voltage regulator 22 may send a transmission to processor 24 that informs voltage controller 23 that the voltage has been updated and activation of the requested block may occur. (145) Alternately, voltage controller 23 may wait a fixed amount of time to ensure that the voltage has been updated. In embodiments where voltage regulator is performing the determinations, this transmission serves as a granting of permission to activate the requested block.
Voltage controller 23 then activates the block and the associated additional load is applied. (150) Memory 26 is then updated to indicate that the requested block is active. (155)
Having described the process, exemplary load line voltages 12 are shown in
The above detailed description and the examples described therein have been presented for the purposes of illustration and description only and not for limitation. For example, the operations described may be done in any suitable manner. The method may be done in any suitable order still providing the described operation and results. It is therefore contemplated that the present embodiments cover any and all modifications, variations or equivalents that fall within the spirit and scope of the basic underlying principles disclosed above and claimed herein. Furthermore, while the above description describes hardware in the form of a processor executing code, hardware in the form of a state machine, or dedicated logic capable of producing the same effect are also contemplated.
Number | Name | Date | Kind |
---|---|---|---|
6472899 | Osburn et al. | Oct 2002 | B2 |
6854067 | Kutz et al. | Feb 2005 | B1 |
7174467 | Helms et al. | Feb 2007 | B1 |
7421604 | Mimberg | Sep 2008 | B1 |
7441137 | Mimberg | Oct 2008 | B1 |
7539880 | Mentzer et al. | May 2009 | B2 |
7890781 | Gunther et al. | Feb 2011 | B2 |
8072247 | Wright | Dec 2011 | B1 |
8245057 | Lyu | Aug 2012 | B2 |
8245070 | Finkelstein et al. | Aug 2012 | B2 |
8278978 | Wright | Oct 2012 | B1 |
8417980 | Mimberg | Apr 2013 | B1 |
8452993 | Bridges | May 2013 | B2 |
8601292 | Lam et al. | Dec 2013 | B2 |
20020079874 | Horigan et al. | Jun 2002 | A1 |
20020112193 | Altman et al. | Aug 2002 | A1 |
20020188877 | Buch | Dec 2002 | A1 |
20040107370 | Mosley | Jun 2004 | A1 |
20040123170 | Tschanz et al. | Jun 2004 | A1 |
20050206392 | Kantorovich et al. | Sep 2005 | A1 |
20060022640 | Frith et al. | Feb 2006 | A1 |
20070016814 | Rusu et al. | Jan 2007 | A1 |
20070257646 | Leutgeb et al. | Nov 2007 | A1 |
20080106248 | Qahouq et al. | May 2008 | A1 |
20080244294 | Allarey | Oct 2008 | A1 |
20090077402 | Huang et al. | Mar 2009 | A1 |
20090089600 | Nousiainen | Apr 2009 | A1 |
20090089607 | Rodriguez et al. | Apr 2009 | A1 |
20090167092 | Ma et al. | Jul 2009 | A1 |
20090172423 | Song et al. | Jul 2009 | A1 |
20090249092 | Lam et al. | Oct 2009 | A1 |
20090307509 | Jenne | Dec 2009 | A1 |
20100169609 | Finkelstein et al. | Jul 2010 | A1 |
20110087900 | Lakhanpal et al. | Apr 2011 | A1 |
20110138388 | Wells et al. | Jun 2011 | A1 |
20110154066 | Ravichandran et al. | Jun 2011 | A1 |
20110208371 | Duncan et al. | Aug 2011 | A1 |
20120054515 | Naffziger et al. | Mar 2012 | A1 |
20120072746 | Sotomayor | Mar 2012 | A1 |
20120079290 | Kumar et al. | Mar 2012 | A1 |
20120144217 | Sistla et al. | Jun 2012 | A1 |
20120159198 | Naffziger et al. | Jun 2012 | A1 |
20120159219 | Huang et al. | Jun 2012 | A1 |
20120260258 | Regini et al. | Oct 2012 | A1 |
20130297950 | Osborn et al. | Nov 2013 | A1 |
20130339777 | Varma et al. | Dec 2013 | A1 |
20140245034 | Rotem et al. | Aug 2014 | A1 |
Entry |
---|
Michael Tyler, “An Introduction to your Computer”, Bleepingcomputer.com, Oct. 19, 2011. |
Number | Date | Country | |
---|---|---|---|
20130318372 A1 | Nov 2013 | US |