Abstract:
A processor arrangement changes its default time interval for entering a power saving mode based sensed operating conditions and predetermined time intervals to be used under various operating conditions to optimize power saving.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This patent application claims the benefit of U.S. Provisional Patent Application No. 61/524,538, filed Aug. 17, 2011, entitled “Power Management Unit,” which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to adaptively scaling parameters which are used by a processor to enter a low power mode. The inventive adaptive scaling technique assists in optimizing the total power consumption of the processor. 
         [0004]    2. Background Art 
         [0005]    A processor enters a low power mode to save power based on a duration of its operating state being idle. In particular, when the processor expects to remain idle for a duration less than a fixed “break-even” time, the processor enters a wait-for-interrupt (WFI) mode to save power. Alternatively, when the processor expects to remain idle for a duration greater than the fixed break-even time, the processor enters a dormant mode to save additional power. The break-even time is the minimum duration of idle time required to elapse before the processor can enter the dormant mode. 
         [0006]    Different techniques are used to save power in the above-mentioned low power modes. For example, in the WFI mode, the power required to switch components of the processor is reduced by clocking the gates of the switching components. Further, in the dormant mode, in addition to clocking the gates of the switching components, leakage currents are reduced by turning off certain components (e.g., SRAM memory) supported by the processor to save leakage power. Therefore, there are additional power savings in the dormant mode than in the WFI mode. However, there is a greater latency associated with transitioning from the dormant mode to the active (non-idle) mode than a latency associated with transitioning from the WFI mode to the active mode because more energy (power) is required to transition from the dormant mode to the active mode than is required to transition from the WFI mode to the active mode. This is because the components (e.g., SRAM memory) that were turned off need to be woken up and registers associated with turned off components need to be restored. If the processor enters the dormant mode when it expects to remain idle for a duration less than the fixed break-even time, there is a penalty, in terms of power loss, to a transition out of the dormant mode. 
         [0007]    In summary, the processor enters the WFI mode or the dormant mode to save power based on the duration of the break-even time. In conventional systems, the duration of the break-even time is fixed. That is, in operation, the duration of the break-even time cannot be changed or updated to adjust according to operation parameters of the processor. This is undesirable. Further, the duration of break-even time is conventionally fixed based on the worst-case conditions of operating voltage, operating temperature, and the process corner within which the processor is designated to operate. However, such a fixing of the duration of break-even time is inefficient and does not provide optimum power savings. 
         [0008]    Accordingly, there is a need for the duration of the break-even time to be adjustable during operation of the processor to provide optimum power savings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES 
         [0009]    The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention. 
           [0010]      FIG. 1  illustrates the variation in leakage currents at different operating voltages and different temperatures between two process corners. 
           [0011]      FIG. 2  illustrates an exemplary semiconductor device according to an embodiment of the present invention. 
           [0012]      FIG. 3  illustrates an exemplary method performed by the semiconductor device according to an embodiment of the present invention. 
           [0013]      FIGS. 4A and 4B  illustrate results and advantages of Applicant&#39;s scaling of the duration of the break-even time. 
       
    
    
       [0014]    The present invention will be described with reference to the accompanying drawings. The drawing in which an element first appears is typically indicated by the leftmost digit(s) in the corresponding reference number. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    In the following description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention, including structures, systems, and methods, may be practiced without these specific details. The description and representation herein are the common means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. In other instances, well-known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the invention. 
         [0016]    References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. 
         [0017]    As described above, it is known to use a fixed and non-adjustable break-even time to control when a processor changes operating mode to a power saving mode. This invention departs from that known design criteria and provides for scaling of the duration of the break-even time to provide optimum power savings under various circumstances. Applicant has recognized that the energy (power) lost in the form of leakage current is based on process corners of the processor. There are three most widely used process corners. They are ss-slow slow; tt-typical typical; and ff-fast fast. Further, Applicant has realized that the leakage currents at different operating voltages vary at different temperatures among the different process corners. For instance,  FIG. 1  illustrates the variation in leakage currents at different operating voltages at different temperatures between the tt and ff process corners. As graphically depicted, leakage currents at different operating voltages (0.9V, 1.0V, 1.2V) vary at different temperatures (0-70° C.) between process corners (tt and ff). The leakage currents are higher for process corner ff with respect to leakage currents for process corner tt under similar processor operating conditions. Further, as seen in  FIG. 1 , the variance in the leakage currents for tt process corner (2.9×) and for ff process corner (4.2×) is different when operating voltages are constant but the operating temperature varies, and vice versa. Applicant has recognized these variances in the leakage currents which are based on the operating voltage, operating temperature, and the process corner within which the processor operates. Based on this recognition, Applicant has concluded that it is not optimum to make the break-even time a fixed duration. Rather, as described in this patent document, the duration of the break-even time should be scaled in accordance with changes in operating parameters of the processor. 
         [0018]    The problem associated with a fixed duration of break-even time will now be discussed in brief. Typically, the duration of the break-even time is fixed based on worst-case operating parameters of the processor. This fixed duration applies to the processor at all times and under all operating conditions. This is undesirable because the fixed duration of the break-even time fails to provide optimum power savings. 
         [0019]    For example, assume that the duration of the break-even time is fixed to be 10 ms. Further, assume that the processor is operating at a temperature of 30° C. and at 0.9V, and with an expected idle time of 8 ms. Under typical conditions, the processor does not enter the dormant mode. 
         [0020]    Applicant has realized that additional power savings can be obtained if the fixed duration of the break-even time is scaled to be, for example, 1.5 ms based on the operating conditions of 30° C. at 0.9V. The value of 1.5 ms is calculated based on the operations of the processor under the operating conditions of 30° C. at 0.9V for a given process corner. One will appreciate that, under the above conditions, the processor will enter the dormant mode after 1.5 ms of idle time, and, therefore, enable optimum power savings. In this way, different values of the duration of the break-even time can be calculated based on different operating conditions of the processor, and even during operation, these values can be dynamically selected to apply based on measured operating conditions. 
         [0021]    An embodiment of the invention utilizes different break-even time durations that are pre-calculated and pre-stored in a look-up table. During operation, operating conditions (voltage, temperature) are continuously measured, and an appropriate pre-calculated value of the duration of the break-even time is selected to be applied dynamically. When conditions change, a different pre-calculated value of the duration of the break-even time can be selected and utilized. Such a configuration enables optimum power savings. 
         [0022]      FIG. 2  is a block diagram showing an exemplary embodiment of a semiconductor device with a processor that is power managed according to the present invention. The semiconductor device  200  includes a power manager  201 , a voltage and thermal sensor  202 , a silicon performance monitor  203 , a software memory  204 , a processor  205 , and a memory  206  including look-up tables  207 . Appropriate values of durations of break-even times are pre-calculated and/or pre-simulated based on the different operating parameters (supply voltage, temperature, process corner). These pre-calculated and/or pre-simulated values are then stored in the memory  206  in the form of look-up tables  207 . When the device  200  is booting up, the silicon performance monitor  203  identifies the process corner (ss, tt, ff) within which the processor  205  of the device  200  is currently operating. Once the silicon performance monitor  203  has identified the current process corner, the power manager initializes and applies a default value of the duration of the break-even time associated with the identified process corner. The voltage and thermal sensor  202  senses the operating supply voltage and the operating temperature associated with the processor  205  when the device  200  has booted up and a new application begins to run. The voltage and thermal sensor  202  may sense the operating supply voltage and the operating temperature every time a new application begins to run, or do the same periodically. Two or more separate sensors may be utilized to sense the operating supply voltage and the operating temperature separately. 
         [0023]    The power manager  201  reads the sensed operating supply voltage and the operating temperature, and compares the read values to corresponding previously read values to discern if the operating supply and/or the operating temperature associated with the processor have changed. If the power manager  201  discerns that the above operating parameters have changed, then the power manager  201  searches for the appropriate value of duration of break-even time from the look-up tables  207  based on the change in the read operating parameters, and selects the appropriate value to be applied. 
         [0024]    The silicon performance monitor  203  may be implemented in a number of different ways. For example, silicon performance monitor  203  may be implemented using a ring oscillator and a digital counter. The power manager  201  compares a digital count reported by the digital counter of the ring oscillator  203  to each of reference digital counts associated with respective process corners of the processor. Based on the results of the comparison, the power manager  201  initializes the default value, and also subsequently selects the proper look-up table within which to search for the appropriate value of the duration of the break-even time. 
         [0025]    In this way, the power manager selects the appropriate value of the duration of the break-even time and updates the same to be applied based on the operating parameters (voltage, temperature) sensed by the sensor  202  and based on the process corner (ss, tt, ff) identified by the performance monitor  203 . This dynamic updating allows the appropriate value of duration of the break-even time to be applied dynamically based on currently measured operating conditions of the processor  205 . Finally, the application of the appropriate value of the duration of the break-even time optimizes the power savings by controlling the entrance of the processor  205  into the proper low power mode. 
         [0026]      FIG. 3  is a flowchart of an exemplary method  300  performed by the semiconductor device  200 . The process starts at step  301  in which appropriate values of durations of break-even times are pre-calculated and/or pre-simulated based on the different operating parameters (supply voltage, temperature, process corner). The pre-calculated values are stored in the memory  206  in the form of look-up tables. When the device  200  is booting up, the process corner (ss, tt, ff) within which the device  200  is currently operating is identified in step  302 . Once the current process monitor has been identified, a default value of the duration of the break-even time associated with the identified process corner is initialized and applied in step  303 . In step  304 , the operating supply voltage and the operating temperature associated with the processor  205  are sensed. These parameters may be sensed periodically or every time a new application starts to ran on the processor. Separate sensors may be used to sense the operating parameters. In step  305 , the sensed operating parameters are reported to, for example, a power manager  201  of the device  200 . In step  306 , the reported operating parameters are compared with previously reported operating parameters to discern a difference between the same. If no difference is discerned between the compared values, then the process moves to step  304 . Optionally, the process may move to step  302 . However, if a difference is discerned between the compared values, then the process moves to step  307 . In step  307 , the stored pre-calculated values are searched, based on the discerned differences between the compared values, for an appropriate value of duration of the break-even time to be selected and applied. In step  308 , the selected appropriate value is applied as the duration of the break-even time. The processor will now enter the dormant mode when the expected idle time is greater than the applied appropriate value of the break-even time. The process then moves to step  304 . Optionally, the process may move to step  302 . 
         [0027]    Applicant has recognized that the leakage power is a dominant factor in total power consumed by the processor. Further, Applicant has recognized that leakage power varies in accordance with operating parameters of the processor like the supply voltage, temperature, and the process corner. The present invention enables optimization of power savings by developing a semiconductor device that can monitor and identify variations in the above operating parameters, and then adjust/update/scale the currently applied duration of the break-even time. Applying the invention described herein minimizes energy loss in the processor, thereby increasing battery lifetime. 
         [0028]      FIG. 4A  graphically depicts a comparison between energy consumed by the semiconductor device  200  in idle state before and after implementing scaling of the applied duration of the break-even time in accordance with the invention.  FIG. 4B  illustrates a comparison of measured battery life times before and after implementing Applicant&#39;s scaling of the applied duration of the break-even time. One will appreciate that the idle state energy consumed by the semiconductor device has been reduced significantly, and the battery life of the battery supporting the semiconductor device  200  has been increased significantly. 
         [0029]    In semiconductor manufacturing, a process corner refers to a variation of fabrication parameters used in applying an integrated circuit design to a semiconductor wafer. Process corners represent the extremes of these parameter variations within which a circuit that has been etched onto the wafer must function correctly. A circuit running on devices fabricated at these process corners may run slower or faster than specified and at lower or higher temperatures and voltages, but if the circuit does not function at all at any of these process extremes, the design is considered to have inadequate design margin. 
         [0030]    It is to be appreciated that the Detailed Description section, and not the Abstract section, is intended to be used to interpret the claims. The Abstract section may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, is not intended to limit the present invention and the appended claims in any way. 
         [0031]    The present invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. 
         [0032]    The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance. 
         [0033]    Any exemplary processes described herein can be implemented in hardware, software, or any combination thereof. For instance, the exemplary process can be implemented using computer processors, computer logic, application specific integrated circuits (ASICs), digital signal processors (DSP), etc., as will be understood by one of ordinary skill in the arts based on the discussion herein. 
         [0034]    Exemplary processes described herein can be embodied by a computer processor or any one of the hardware devices listed above. The computer program instructions cause the processor to perform the processing functions described herein. The computer program instructions (e.g., software) can be stored in a computer useable medium, computer program medium, or any storage medium that can be accessed by a computer or processor. Such media include a memory device such as a computer disk or CD ROM, or the equivalent. Accordingly, any computer storage medium having computer program code that causes a processor to perform the processing functions described herein are with the scope and spirit of the present invention. 
         [0035]    The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.