An electronic device may enact a power-management scheme to reduce power consumption, limit heat dissipation, extend battery life, etc. One aspect of the power-management scheme may target so-called ‘leakage currents’ in the device—relatively small currents that flow through a component of the device when that component is idle. To this end, the device may include a power-management unit (PMU) configured to detect an idle condition of one or more device components. After the idle condition is detected, the logic state of the idle component may be saved, and the supply voltage to that component disconnected. In that manner, the leakage current that would otherwise be drawn through the component is greatly reduced. After a period of time, the PMU may detect a request to resume operation of the unpowered component. At that point, the supply voltage to the component is restored, and the logic state of the component is recovered.
The power-management scheme summarized above is more useful for some devices and usage scenarios than for others. The feature that limits its utility is the need to save the logic state of the idle component every time the idle condition is detected, and to recover the logic state every time the component is returned to operation. In general, each save and recovery operation requires time, processing power, and energy. Accordingly, the above scheme is most applicable in scenarios in which the idle condition is relatively infrequent and relatively long-lived. If more frequent save and restore operations are required, the overall performance of the device may suffer, and the potential power savings may be eroded.
Aspects of this disclosure will now be described by example and with reference to the illustrated embodiments listed above. Components, process steps, and other elements that may be substantially the same in one or more embodiments are identified coordinately and are described with minimal repetition. It will be noted, however, that elements identified coordinately may also differ to some degree. It will be further noted that the drawing figures included in this disclosure are schematic and generally not drawn to scale. Rather, the various drawing scales, aspect ratios, and numbers of components shown in the figures may be purposely distorted to make certain features or relationships easier to see.
No aspect of
Device 10 and the components therein may be subject to intermittent usage. During periods of disuse, the logic structures of one or more of the components may be idle—i.e., performing no operation. If a component remains powered during an idle condition, logic structures within that component may continue to draw a relatively small ‘leakage current’ proportional to the voltage supplied to the component. Over time, the amount of energy lost to the leakage current may be significant. Therefore, PMU 16 may be configured to enact a power-management scheme in which the power supply to idle components is suspended. This strategy may help to reduce power consumption, limit heat dissipation, extend battery life, etc.
In some cases, the logic structures of a component may define a logic state that must be preserved during the idle period, so that the desired functionality can resume when the component is restored to operation. Such logic states may include the content of register files, data and instruction caches, and/or bit flags, for example. If the logic state stored in the component is volatile, then PMU 16 must save the state elsewhere—e.g., in non-volatile storage—before suspending power to the component. In addition, when the component is restored to operation, the saved logic state must be recovered—i.e., written back into the component so that the desired functionality may resume.
At t1 of
At the point where the inactivity threshold Ti is reached, PMU 16 begins saving the logic state of the component, which is completed at t3, at the end of the Ts interval. Once the logic state is saved, the component may be powered down; accordingly, the supply voltage is reduced to zero at t3. More precisely, either or both of the virtual supply voltage to the component or the actual supply voltage of the voltage regulator, may be reduced to zero.
In the scenario of
Continuing in
As shown in the example above, scheme 20 is most useful in cases where the component is powered down relatively infrequently and stays unpowered for a relatively long time before powering back up. Fundamentally, this is due to the non-negligible processing-time and energy requirement to save and recover the logic state, which is reflected in the Ti threshold. A usage scenario in which scheme 20 may be acceptable is represented in graph 22 of
To address this issue, PMU 16 may be configured to enact a data-state preserving PM scheme 26 instead of, or in addition to, data-state recovering PM scheme 20. In the data-state preserving PM scheme, the supply voltage to the idle component is not disconnected, but merely reduced to a lower value after the component enters an idle period. This lower value may be less than VO, the operational supply-voltage threshold for maintaining operation in the component, but greater than VR, the nonzero data-retention supply-voltage threshold for retaining the logic state (e.g., data) in the component. In this manner, the leakage current through the logic structures of the idle component is not eliminated. It is reduced, however, to a much lower value than would flow if the supply voltage were maintained above VO.
The primary advantage of this approach is that it is not necessary to save the logic state of the idle component before reducing the supply voltage, nor to recover the logic state after returning the supply voltage to its operational value. As a result, a reduced inactivity threshold Ti′ may be used to determine when to reduce the supply voltage. The reduced inactivity threshold may be based on Ts′, the time interval required to lower the supply voltage, and Tr′, the time interval required to restore the supply voltage to Vdd, and modified according to a heuristic or statistical function. In the embodiments envisaged herein, Ts′ may be much less than Ts, and Tr′ may be much less than Tr, resulting in a significantly reduced Ti′. The graphs of
It will be noted that the reduced inactivity threshold may be calculated in any suitable manner. Some approaches may incorporate machine learning to arrive at a reduced inactivity threshold where power savings are forecast statistically for a predetermined subset of supply voltage reduction events. In this manner, power savings may be realized 50 percent of the time that the supply voltage is reduced, in one non-limiting example.
The balance of this disclosure provides more detail on how the data-state preserving PM scheme may be enacted. Various embodiments are envisaged. In one embodiment, PMU 16 may be configured to cause the set-point voltage of voltage regulator 18 to be reduced, after a component of the device becomes idle, to a value greater than VR but less than VO. When the PMU detects a request for a function or service of the component, it may restore the set-point voltage of the voltage regulator to above VO (e.g., back to Vdd). In this embodiment, Ts′ may be the time it takes for the output of the voltage regulator to converge onto the reduced value following the reduction in the set-point, and Tr′ may be the time it takes for the output to converge back to Vdd. Ts′˜Tr′˜10 to 50 μs, in one non-limiting example.
Some factors, however, may limit the use of a PM scheme that changes the set-point of a voltage regulator. For example, in a computing system with multiple processors, in which several cores may share the same power rail, the supply voltage cannot be reduced below VO (or even below Vdd) if one or more cores are executing instructions. A similar issue arises for a processor with multiple domains and independent power gating. Furthermore, some voltage regulators may require hundreds of microseconds to arrive stably at a new set-point voltage. As noted above, the savings of lowering the supply voltage will be available only during idle periods that are longer than the latency of the voltage change.
In another embodiments, therefore, a data-state preserving PM scheme may be enacted via selective opening and closing of various transistor switches arranged in a device component.
PMU 16 may be configured to actuate each of the transistor switches through corresponding control lines 32, which are connected to the gate terminals of the transistor switches. Each transistor switch has a nonzero ON resistance, through which a current flows to power the logic structure, and an OFF resistance, which is effectively infinite. Accordingly, the parallel ensemble of transistor switches will have a resistance controlled by the number and width of the transistor switches held in the ON state. The voltage drop across the parallel ensemble of transistor switches may therefore be controlled by the PMU. In one embodiment, the PMU may be configured so that after the component becomes idle, it opens as many transistor switches as needed to drop the voltage supplied to the logic structure to a value greater than VR but less than VO. In other words, the PMU may be configured to open one or more of the switches to lower a voltage supplied to the logic component after the component enters an idle period, but to maintain the voltage above the data-retention supply-voltage threshold; in doing so, the PMU may lower the voltage supplied to the logic below the operational supply-voltage threshold. The PMU may be further configured to close one or more of the switches to raise the voltage above the operational supply-voltage threshold when the component exits the idle period. More particularly, when a request for a function or service of the component is received, the PMU may close as many transistor switches as necessary to restore the supply voltage to Vdd. Accordingly, the PMU may be further configured to detect entry into the idle period and exit from the idle period.
PMU 16, or another device component, may determine a number of transistor switches to open or close. In some embodiments, the PMU may close all transistor switches so as minimize the resistance between a power supply and the component. In this way, lowering and raising the supply voltage provided to a logic-device component may be enacted by respectively opening and closing one or more transistor switches switchably connected to the logic-device component.
As shown in
In some embodiments, when addressing two or more PG zones in sequence, each PG zone may be addressed followed by a short time lapse to allow the supply voltage to settle to an intermediate value between VO and VR. In still other embodiments, all zones may be turned on when the logic resumes activity. In this manner, the resistance between the power supply and the voltage supply line is minimized. When some of the PG zones are turned off, a reduced supply voltage may be provided to the logic structure—viz., to reduce the leakage current when component 12 is idle.
In some embodiments, it may be beneficial to uniformly distribute the PG headers left on at idle so as to provide a spatially homogeneous, reduced-voltage distribution in the underlying logic structure. This aspect can be enacted, in one embodiment, by grouping the headers into localized zones (e.g., PG zone 33 shown in
The configurations described above enable various methods for reducing leakage current in a logic-device component. Accordingly, some methods are now described, by way of example, with continued reference to the above configurations. It will be understood, however, that the methods here described, and others fully within the scope of this disclosure, may be enabled by other configurations as well. Naturally, each execution of a method may change the entry conditions for a subsequent execution and thereby invoke a complex decision-making logic. Such logic is fully contemplated in this disclosure. Some of the process steps described and/or illustrated herein may, in some embodiments, be omitted without departing from the scope of this disclosure. Likewise, the indicated sequence of the process steps may not always be required to achieve the intended results, but is provided for ease of illustration and description. One or more of the illustrated actions, functions, or operations may be performed repeatedly, depending on the particular strategy being used.
Method 36 then advances to 42. At 42 it is determined whether the period of inactivity of the component exceeds a longer inactivity threshold Ti. This is the threshold used to determine whether to completely power down the component. If the inactivity period exceeds the longer inactivity threshold, then the method advances to 48A, where the supply voltage is raised above VO to permit saving of the data state at 44. However, if the period does not exceed the longer inactivity threshold, then the method advances to 46A, where it is determined whether a request for a function or service of the idle component is received. In the illustrated method, the component's exit from the idle period is detected when such a request is received. Accordingly, if the request is received at 46A, then the method advances to 48B, where the supply voltage is raised above VO. Thus, the supply voltage to the component is raised above the operational supply-voltage threshold when the component exits the idle period. If no such request is received, then the method returns to 42.
At 44 of method 36, when it has been determined that the inactivity period has exceeded the longer inactivity threshold, the logic state of the idle component is saved. At 50, after saving the logic state, the supply voltage to the component is lowered below VR—or effectively powered down completely. From this point, the method advances to 46B, where it is again determined whether a request for a function or service of the idle component has been received. If such a request is received, then the method advances to 48C, where the supply voltage to the component is raised above VO. Here again, when the component exits the idle period, the supply voltage of the component is raised above the operational supply-voltage threshold. This action is followed by restoration of the logic state of the component, at 52.
In one embodiment, raising and lowering the supply voltage in the context of method 36 may include raising and lowering a setpoint of a voltage regulator by a PMU of the logic device. In another embodiment, the raising and lowering may be enacted by closing and opening, respectively, one or more transistor switches. As described hereinabove, the transistor switches may be arranged in parallel, switchably connecting the logic structure of the component to a voltage source. Further, the switches may be actuated by a PMU of the logic device. In a more particular embodiment, the opening and closing the one or more transistor switches may include addressing the transistor switches in two or more groups (e.g., PG zone 33) that share a common control line. This may be done in such a way that the groups of closed switches are distributed uniformly over the logic structure, to prevent undesirable supply-voltage gradients. Moreover, the two or more groups may be addressed in sequence, separated by a settling period during which the supply voltage is allowed to settle before advancing to a lower or higher value. In some embodiments, the method may further include a determination of a number of the desired number of transistor switches to open or close, in order to provide the desired supply voltage to the logic structure.
At 54 of method 36, it is determined whether the period of reduced supply voltage was too brief, in the sense that the savings in leakage current afforded no advantage in view of the time and or energy required to drop the supply voltage to a stable level and raise it back to Vdd. If the period of reduced supply voltage was in fact too brief, then the method advances to 52, where the Ti′ interval is increased. In other embodiments, the Ti′ interval may be increased only after a series of too-brief periods of supply voltage reduction, or when such periods occur above a threshold frequency. Accordingly, method 36 provides a non-limiting example of a heuristic, according to which the various inactivity thresholds may be adjusted. Likewise, at 56 it is determined whether the powered-down period was too brief. If the powered-down period was too brief, then the method advances to 58, where the Ti threshold is lengthened.
It will be emphasized that all of the embodiments disclosed herein are usable separately or together. For instance, the same PMU may be configured to enact data-state recovering PM scheme 20 in addition to data-state preserving PM scheme 26. In this case, detection of a relatively short idle time may trigger a reduction in supply voltage, and detection of a longer idle time may trigger the saving of the logic state and subsequent nulling of the supply voltage. Furthermore, the approach of reducing the set-point of the voltage regulator may be used together with selective opening and closing of transistor switches on the component to affect a more efficient overall PM scheme. In one embodiment, relatively brief idle periods may trigger the latter strategy (because it admits of the shortest Ts′ and Tr′ intervals) while somewhat longer idle periods may trigger the former. It is also contemplated that one or more of logic-device components, transistor switches, and PMUs may be arranged together on the same die or separately off die.
The articles, systems, and methods described hereinabove are embodiments of this disclosure—non-limiting examples for which numerous variations and extensions are contemplated as well. This disclosure also includes all novel and non-obvious combinations and sub-combinations of the above articles, systems, and methods, and any and all equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
4958269 | Gritter | Sep 1990 | A |
5272649 | Campbell et al. | Dec 1993 | A |
5275919 | Kawatsuji et al. | Jan 1994 | A |
5542240 | Snider et al. | Aug 1996 | A |
5690139 | Murphy et al. | Nov 1997 | A |
5691662 | Soboleski et al. | Nov 1997 | A |
5760636 | Noble et al. | Jun 1998 | A |
5787006 | Chevallier et al. | Jul 1998 | A |
5889529 | Jones et al. | Mar 1999 | A |
6080206 | Tadokoro et al. | Jun 2000 | A |
6111756 | Moresco | Aug 2000 | A |
6157247 | Abdesselem et al. | Dec 2000 | A |
6198635 | Shenoy et al. | Mar 2001 | B1 |
6272649 | Hayward et al. | Aug 2001 | B1 |
6275919 | Johnson | Aug 2001 | B1 |
6313675 | Naffziger | Nov 2001 | B1 |
6397375 | Block et al. | May 2002 | B1 |
6535071 | Forbes | Mar 2003 | B2 |
6549240 | Reitmeier | Apr 2003 | B1 |
6690139 | Seibel | Feb 2004 | B1 |
6734744 | Monzel et al. | May 2004 | B2 |
6831494 | Fu et al. | Dec 2004 | B1 |
6882172 | Suzuki et al. | Apr 2005 | B1 |
6885210 | Suzuki | Apr 2005 | B1 |
6898770 | Boluki et al. | May 2005 | B2 |
6903564 | Suzuki | Jun 2005 | B1 |
6985025 | Maksimovic et al. | Jan 2006 | B1 |
7024568 | Maksimovic et al. | Apr 2006 | B2 |
7038483 | Suzuki et al. | May 2006 | B1 |
7061292 | Maksimovic et al. | Jun 2006 | B2 |
7080271 | Kardach et al. | Jul 2006 | B2 |
7085658 | Bhushan et al. | Aug 2006 | B2 |
7095288 | Smith | Aug 2006 | B2 |
7107200 | Korobkov | Sep 2006 | B1 |
7126365 | Suzuki | Oct 2006 | B2 |
7129763 | Bennett et al. | Oct 2006 | B1 |
7145383 | Mizuno | Dec 2006 | B2 |
7149903 | Chan et al. | Dec 2006 | B1 |
7151417 | Suzuki | Dec 2006 | B1 |
7161812 | Thomas | Jan 2007 | B1 |
7212022 | Suzuki | May 2007 | B2 |
7235998 | Suzuki | Jun 2007 | B1 |
7281232 | Nicolino, Jr. et al. | Oct 2007 | B1 |
7315178 | Suzuki | Jan 2008 | B1 |
7330080 | Stoiber et al. | Feb 2008 | B1 |
7414485 | Masleid | Aug 2008 | B1 |
7417482 | Elgebaly et al. | Aug 2008 | B2 |
7454735 | Arthanari et al. | Nov 2008 | B2 |
7456628 | Suzuki | Nov 2008 | B2 |
7467367 | Li et al. | Dec 2008 | B1 |
7501868 | Ito | Mar 2009 | B2 |
7574613 | Holle et al. | Aug 2009 | B2 |
7627730 | Moll | Dec 2009 | B1 |
7636023 | Suzuki | Dec 2009 | B1 |
7642866 | Masleid | Jan 2010 | B1 |
7667478 | Suzuki | Feb 2010 | B2 |
7739531 | Krishnan | Jun 2010 | B1 |
7768356 | Masleid | Aug 2010 | B2 |
7774732 | KleinOsowski et al. | Aug 2010 | B2 |
7839410 | Brown et al. | Nov 2010 | B1 |
7868638 | Suzuki | Jan 2011 | B2 |
7889014 | Stoiber et al. | Feb 2011 | B1 |
8008961 | Garg et al. | Aug 2011 | B2 |
8055871 | Schulze et al. | Nov 2011 | B1 |
8125261 | Nomura | Feb 2012 | B2 |
8134356 | Dobberpuhl et al. | Mar 2012 | B2 |
8193798 | Pace et al. | Jun 2012 | B1 |
8370663 | Frid et al. | Feb 2013 | B2 |
8593197 | Cheng | Nov 2013 | B1 |
8624680 | Stoiber et al. | Jan 2014 | B2 |
8656198 | Branover et al. | Feb 2014 | B2 |
8775843 | Frid | Jul 2014 | B2 |
8949645 | Ahmad et al. | Feb 2015 | B2 |
20020024828 | Hayashi et al. | Feb 2002 | A1 |
20020126751 | Scheurich et al. | Sep 2002 | A1 |
20020188920 | Lampaert et al. | Dec 2002 | A1 |
20030004921 | Schroeder | Jan 2003 | A1 |
20030030483 | Seki et al. | Feb 2003 | A1 |
20030156639 | Liang | Aug 2003 | A1 |
20040010330 | Chen | Jan 2004 | A1 |
20040057324 | Abe et al. | Mar 2004 | A1 |
20040078773 | Sharma et al. | Apr 2004 | A1 |
20040123171 | Zhang et al. | Jun 2004 | A1 |
20050012556 | Bhushan et al. | Jan 2005 | A1 |
20050021656 | Callegari | Jan 2005 | A1 |
20050024155 | Huang | Feb 2005 | A1 |
20050036246 | Nagata et al. | Feb 2005 | A1 |
20050057314 | Hsu et al. | Mar 2005 | A1 |
20050057551 | Gong et al. | Mar 2005 | A1 |
20050097497 | Schlansker et al. | May 2005 | A1 |
20050218943 | Padhye et al. | Oct 2005 | A1 |
20050271361 | Aoki et al. | Dec 2005 | A1 |
20060031699 | Arthanari et al. | Feb 2006 | A1 |
20060097795 | Sohn | May 2006 | A1 |
20060143484 | Samson et al. | Jun 2006 | A1 |
20060156266 | Alpert et al. | Jul 2006 | A1 |
20060246895 | Ryu | Nov 2006 | A1 |
20060284657 | Park et al. | Dec 2006 | A1 |
20060288323 | Birch | Dec 2006 | A1 |
20070001697 | Dobberpuhl et al. | Jan 2007 | A1 |
20070157144 | Mai et al. | Jul 2007 | A1 |
20070165343 | Barowski et al. | Jul 2007 | A1 |
20070206018 | Bajic et al. | Sep 2007 | A1 |
20070220289 | Holle et al. | Sep 2007 | A1 |
20070234088 | Marshall et al. | Oct 2007 | A1 |
20080204158 | Weder | Aug 2008 | A1 |
20080244280 | Hutchison | Oct 2008 | A1 |
20080307240 | Dahan | Dec 2008 | A1 |
20080307244 | Bertelsen et al. | Dec 2008 | A1 |
20090077402 | Huang et al. | Mar 2009 | A1 |
20090204830 | Frid et al. | Aug 2009 | A1 |
20090271752 | Alpert et al. | Oct 2009 | A1 |
20100019818 | Priel et al. | Jan 2010 | A1 |
20100019834 | Zerbe et al. | Jan 2010 | A1 |
20100077243 | Wang | Mar 2010 | A1 |
20100095137 | Bieswanger et al. | Apr 2010 | A1 |
20100182055 | Rozen et al. | Jul 2010 | A1 |
20100231044 | Tatsumi et al. | Sep 2010 | A1 |
20100231306 | Goodnow et al. | Sep 2010 | A1 |
20100250972 | Freitas | Sep 2010 | A1 |
20100318828 | Elting et al. | Dec 2010 | A1 |
20110032008 | Zhao et al. | Feb 2011 | A1 |
20110110000 | Etter | May 2011 | A1 |
20110161901 | Berry et al. | Jun 2011 | A1 |
20110181325 | May et al. | Jul 2011 | A1 |
20110199159 | Rozen et al. | Aug 2011 | A1 |
20110205680 | Kidd et al. | Aug 2011 | A1 |
20110314314 | Sengupta | Dec 2011 | A1 |
20110320839 | David et al. | Dec 2011 | A1 |
20120013408 | Cortadella et al. | Jan 2012 | A1 |
20120042176 | Kim | Feb 2012 | A1 |
20120054519 | Branover et al. | Mar 2012 | A1 |
20120062308 | Chakrabarty | Mar 2012 | A1 |
20120105452 | Diard | May 2012 | A1 |
20120110351 | Raju et al. | May 2012 | A1 |
20120188233 | Shuster et al. | Jul 2012 | A1 |
20120223940 | Dunstan et al. | Sep 2012 | A1 |
20120306877 | Rosasco | Dec 2012 | A1 |
20130002838 | Takenaka | Jan 2013 | A1 |
20130035797 | Allen-Ware et al. | Feb 2013 | A1 |
20130097443 | Li et al. | Apr 2013 | A1 |
20130152035 | Berry et al. | Jun 2013 | A1 |
20130158892 | Heron et al. | Jun 2013 | A1 |
20130179711 | Aelion et al. | Jul 2013 | A1 |
20130212417 | Frid et al. | Aug 2013 | A1 |
20130311799 | Fitzpatrick et al. | Nov 2013 | A1 |
20140032947 | Ahmad et al. | Jan 2014 | A1 |
20140043333 | Narayanan et al. | Feb 2014 | A1 |
20140184626 | Narayanan et al. | Jul 2014 | A1 |
20140266460 | Nobbe et al. | Sep 2014 | A1 |
20150022272 | Felix et al. | Jan 2015 | A1 |
20150049519 | Izadian | Feb 2015 | A1 |
20160380619 | Bollapalli et al. | Dec 2016 | A1 |
Number | Date | Country |
---|---|---|
102011102238 | Dec 2011 | DE |
2481492 | Dec 2011 | GB |
Entry |
---|
Naveen Verma, Analysis Toward Minimization of Total SRAM Energy Over Active and Idle Operating Modes, Journal, Sep. 2011, pp. 1695-1703, vol. 19 Issue No. 9, IEEE, USA. |
Kevin Zhang, Faith Amzaoglu, Yih Wang, Low-Power SRAMs in Nanoscale CMOS Technologies, Journal, Jan. 2005, pp. 145-151, vol. 55 Issue No. 1, IEEE. |
Park, Junyoung; et al. A Fast, Accurate and Simple Critical Path Monitor for Improving Energy-Delay Product in DVS Systems; IEEE; 2011; 6 pages. |
Stiles, “10.3 CMOS Logic Gate Circuits”, 2004, The University of Kansas, Dept. of EECS, retrieved from http://www.ittc.ku.edu/˜jstiles/312/handouts/section_10_3_CMOS_Logic_Gate_Circuits_package.pdf. |
Number | Date | Country | |
---|---|---|---|
20140189386 A1 | Jul 2014 | US |