Patent Publication Number: US-9900424-B2

Title: Chip aware thermal policy

Description:
TECHNICAL FIELD 
     The disclosed embodiments relate generally to power/resource budget method, and, more particularly, to chip aware thermal policies. 
     BACKGROUND 
     With the rapid growth in mobile/wireless and other electronics devices, the battery life becomes an important factor in the success of such devices. At the same time, many advanced applications for these devices are becoming more and more popular. Such applications normally require high performance of components in the devices. Sustainable power is limited by the dissipation capability and thermal constraint. The device or semiconductor chips can malfunction if the temperature is too high. Thermal throttle methods are commonly used in the devices to prevent overheat problems due to the dissipation limitation. One of the issue for thermal throttling is efficiency. The traditional thermal throttling uses generic parameters in controlling the temperature. The parameters, such as the maximum allowable temperature and the threshold temperature do not consider the characteristic of each individual chip. For example, different power leakage results in different thermal-power performance. In semiconductor manufacturing, a process corner is an example of a technique that refers to a variation of fabrication parameters used in applying an IC 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 may run at lower or higher temperatures and voltages. While using the same set of thermal-power parameters, the thermal-power performance becomes inconsistent. In some scenarios, the thermal-power control cannot effectively control the temperature within the required range. In other scenarios, the performance of the system is unnecessarily sacrificed. 
     Under the current one temperature setting policy, the thermal-power performance is not optimized. It suffers potential target temperature margin on the chip, which results in potential performance sacrifices. Thermal-related settings are proposed to enhance the thermal policy. 
     Improvements and enhancements are needed for chip-aware thermal policy. 
     SUMMARY 
     Methods and apparatus are provided for chip aware thermal policies. In one novel aspect, the thermal performance mapping information is generated for chip aware thermal control. In one embodiment, the process obtains a set of process-dependent power data for each process corner of a semiconductor chip. The process profiles performance data based on the set of process-dependent power data, the maximum temperature value, and different thermal policies. Subsequently, the process selects an operating thermal policy based on the performance data such that a thermal-performance score meets a predefined criteria. In one embodiment, the thermal policy is a mapping formula based on the process-dependent power data. The input parameters of the mapping formula are process-dependent power data for each process corner. The output of the mapping formula includes at least one parameter selecting from the group comprising thermal settings, and power to thermal relationships. In another embodiment, the thermal policy is a mapping table based on the process-dependent power data. In yet another embodiment, the thermal policy includes a mapping formula and a mapping table. In one embodiment, the profiling the performance number involves running all configurations for each process corner using different thermal policies, filtering out performance data that does not meet a predefined thermal requirement, and selecting a configuration based on the performance data, wherein the selected configuration corresponds to an entry in the policy. 
     In another novel aspect, chip aware thermal control based on process-dependent power data of process corners is provided. In one embodiment, the process stores mapping information of process-dependent power data to a corresponding thermal policy in memory. The process further obtains process-dependent power data of the chip based on process corner information of the chip. A thermal policy is applied based on the stored mapping information and the obtained process corner information. In one embodiment, the mapping information is a mapping table contains thermal policies corresponding with pairs of a process corner and a leakage. In one embodiment, the mapping information is applied at boot time. In another embodiment, the mapping information is applied every time a thermal policy is needed. In one embodiment, the thermal policy comprises a plurality of trip temperature thresholds and corresponding thermal cooler configuration. In one embodiment, the thermal cooler configuration is based on the DVFS method. In another embodiment, the thermal cooler configuration is based on the CPU hot-plug method. 
     Further details, embodiments, and methods are described in the detailed description below. This summary does not purport to define the invention. The invention is defined by the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, where like numerals indicate like components, illustrate embodiments of the invention. 
         FIG. 1  shows exemplary diagrams of thermal-performance for different process corners under different thermal policies in accordance with embodiments of the current invention. 
         FIG. 2  shows an exemplary diagram for the thermal control based on processor corner information in accordance with embodiments of the current invention. 
         FIG. 3  shows simplified block diagrams of a device  300  that performs chip aware power control in accordance with embodiments of the current invention. 
         FIG. 4  shows an exemplary flow chart for the chip aware thermal control based on process-dependent power data of process corners in accordance with embodiments of the current invention. 
         FIG. 5  shows an exemplary flow chart of loading the process corner information to thermal policy mapping in accordance with embodiments of the current invention. 
         FIG. 6  shows an exemplary flow chart of obtaining thermal policies for different process corners in accordance with embodiments of the current invention. 
         FIG. 7  shows an exemplary flow chart of chip aware thermal control based on process corner information in accordance with embodiments of the current invention. 
     
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to some embodiments of the invention, examples of which are illustrated in the accompanying drawings. 
       FIG. 1  shows exemplary diagrams of thermal-performance for different process corners under different thermal policies in accordance with embodiments of the current invention. There exist variations in terms of thermal performance for each chip. One of the factor to affect the thermal performance is the process corners. Process corners represent variations that occur in wafer production. The process corners have different thermal and performance behaviors. The industry has uses two-letter designation to describe different corner, where the first letter refers to the NMOS and the second letter refers to the PMOS. The process corners include: FF (fast fast), SF (slow fast), SS (slow slow), FS (fast slow), and TT (typical typical). The first three corners (TT, FF, SS) are called even corners, because both types of devices are affected evenly, and generally do not adversely affect the logical correctness of the circuit. The resulting devices can function at slower or faster clock frequencies. The last two corners (FS, SF) are called “skewed” corners, and are cause for concern. This is because one type of FET will switch much faster than the other, and this form of imbalanced switching can cause one edge of the output to have much less slew than the other edge. Different process corners consume power differently. With smaller power consumption, the system may be set to higher target temperature setting to avoid the system from exceeding a threshold temperature at next moment since the temperature changes are small. Similarly, with higher power consumption, the system may be set to lower target temperature setting to avoid the system from exceeding the threshold temperature at next moment since the temperature changes are large. 
       FIG. 1  shows different scenarios. Plot  110  is an exemplary chart of the temperature variation using the thermal control. The system has a maximum allowable temperature  101 . For example, maximum allowable temperature  101  is set to be 100° C. In order to control the temperature to be under the maximum allowable temperature  101 , a target temperature  102  is set. In one embodiment, the thermal control triggers temperature lowering procedure upon detecting the temperature goes above target temperature  102 . Plot  110  shows one scenario where the value of the target temperature is set according to the FF corner. For example, target temperature  102  is set to be 80° C. Curve  111  is the temperature to time graph for an FF corner chip based on target temperature  102 . Curve  112  is the temperature to time graph for an SS corner chip based on target temperature  102 . As shown, because both FF corner chip and the SS corner chip use the same target temperature, the SS corner chip suffers target temperature margin. Curve  112  stays below maximum allowable temperature  101  with a gap. The SS corner chip operates at a lower power unnecessarily and suffers performance degradation unnecessarily. 
     In contrast, plot  120  is an exemplary chart of the temperature variation using the thermal control when the target temperature  103  is set based on SS corner performance. The system has a maximum allowable temperature  101 . For example, maximum allowable temperature  101  is set to be 100° C., and target temperature  103  is set to be 85° C. Curve  121  is the temperature to time graph for an FF corner chip based on target temperature  103 . Curve  122  is the temperature to time graph for an SS corner chip based on target temperature  103 . As shown, because both FF corner chip and the SS corner chip use the same target temperature, the temperature of the FF corner chip goes to over the maximum allowable temperature and may trigger thermal protection procedure, such as system reboot. 
     In one novel aspect, different target temperatures are configured based on the processor corner of the chip. As shown in plot  130 , curve  131  is the temperature to time graph for an FF corner chip based on target temperature  104 , which is set based on FF corner chips. Using the target temperature specifically for the FF corner, the temperature stays below the maximum allowable temperature while no target temperature margin occurs. Similarly, as shown in plot  140 , curve  141  is the temperature to time graph for an SS corner chip based on target temperature  105 , which is set based on SS corner chips. Using the target temperature specifically for the SS corner, the temperature stays below the maximum allowable temperature while no target temperature margin occurs. 
     As shown, by using different target temperature for different process corner, the power efficiency increases and avoids temperature being over the maximum allowable temperature. 
       FIG. 2  shows an exemplary diagram for the thermal control based on processor corner information in accordance with embodiments of the current invention. A thermal management controller  211  monitors temperatures and controls powers to keep the temperature to be under a predefined threshold. In one embodiment, the temperature control uses Dynamic Voltage and Frequency Scaling (DVFS). The DVFS strategy is a low-power strategy to leverage performance and power by dynamically adjusting clock frequency and voltage. One of the main issues for the low-power policy of DVFS is to balance two competing objectives, which are maximizing the power saving and ensuring tight fine-grain performance. Thermal management controller  211  sets DVFS frequency under power limit based on its input parameters. Thermal management controller  211  sends the DVFS control to a DVFS circuit  221 . DVFS circuit  221  controls a power supply  222  based on the DVFS control received from thermal management controller  211 . In one embodiment, power supply  222  may include one or more power supply sources. In one embodiment, each of the power supply sources may receive different control based on the configuration. 
     Another method of power control is Hot-plug. The hot-plug strategy is a low-power strategy to leverage performance and power by employing one or more CPU cores. One of the main issues for low-power policy of the CPU hot-plug is when to turn on or turn off the one or more CPU cores. In general, with more CPU cores turned on, more power consumption. The low-power policy needs to consider the performance and power overhead when turning on and off the CPU cores. Differ process corner with different power leakage performs differently under the thermal threshold setting. In one embodiment, thermal management controller  211  sends hot-plug control information to heat sources  231 . In one embodiment, heat sources  231  include one or more heat sources that each may generate different thermal effect. The hot-plug control information may include different instruction based on the configuration and the different type of the heat sources. 
     In one novel aspect, thermal management controller  211  sets controls for DVFS and/or hot-plug thermal controls based on process corner information. Thermal management controller  211  monitors one or more heat sources, such the CPU, the GPU. Thermal management controller  211  receives temperature updates from the temperature sensors  212 . Process-corner information handler  201  obtains process corner information of the chip and forwards it to thermal management controller  211 . The process-corner information can be preconfigured or obtained by detection. Thermal management controller  211 , based on the process corner information retrieves a process-dependent thermal policy formula. In one embodiment, the thermal policy formula is stored in a database. Thermal management controller  211  obtains thermal-policy related settings based on the thermal formula. In another embodiment, thermal management controller  211 , based on the process corner information retrieves a thermal policy table stored in the memory. Thermal management controller  211  obtains thermal-policy related settings by looking up the thermal table. In yet another embodiment, management controller  211 , based on the process corner information retrieves both a thermal policy and a thermal policy table. In one embodiment, the thermal policy formula and/or the thermal policy table is retrieved at boot time. In another embodiment, the thermal policy formula and/or the thermal policy table is retrieved every time the thermal policy is referred. Thermal management controller determines operation control information for thermal throttling based on the inputs from process-corner information handler  201 , mapping table/formula handler  202 , and temperature sensors  212 . 
       FIG. 3  shows simplified block diagrams of a device  300  that performs chip aware power control in accordance with embodiments of the current invention. Device  300  has a processor  301 . Processor  301  processes the received signals and invokes different functional modules to perform features in device  300 . Memory  302  stores program instructions  303  and data to control the operations of device  300 . One or more databases are stored in memory  302 . In novel aspect, a process corner mapping  311  is stored as one database entry. Process corner mapping  311  can be stored in memory  302 , retrieved from a hard disk or external database. Device  300  includes one or more power sources, such as a power source # 1   331 , a power source # 2   332 , and a power source #M  333 . In one embodiment, each power source is controlled by corresponding power limit setting. The power setting of each power source is adjusted based on its corresponding power limit. 
     In one embodiment, process corner mapping  311  may reside in memory  302 , or in a hard disk inside device  300 . Further, process corner mapping  311  may also reside in other forms of memory external to device  300 . In one embodiment, other predefined or preconfigured thermal setting may also be stored. The thermal setting may include the target temperature for each corresponding process corner, and the maximum allowable temperature. 
     Device  300  also includes a set of control modules, such as a process corner handler  321 , a total power limit unit  322 , and a thermal manager  323 . In one novel aspect, process corner handler  321  obtains process-dependent power data of the chip based on process corner information of the chip. Different process corner has different leakage power. The leakage power grows with temperature settings. As a result, higher temperature setting does not always lead to higher performance. Optimization is needed to adjust the temperature setting to achieve higher performance. For example, process corners with higher leakage should adjust the temperature setting to lower level. A thermal-power performance score varies by the temperature of the operation and the power-to-thermal relationship value, ranging from one to fifty. The higher the thermal-power performance score, the more efficient the system is. Process corner handler  321  first retrieve process corner information of the chip. Based on the information, process corner handler  321  obtains process-dependent power data from process corner mapping  311 . 
     Total power limit unit  322  obtains information from process corner handler  321  and sets a total power limit for the chip. The total power limit is sent to thermal manager  323 . Thermal manager  323  applies a thermal policy based on the stored mapping information and the obtained process corner information. Upon receiving updates of the total power limit, thermal manager  323  sets individual power limit for each power source. 
     To maintain the temperature of the device below a target temperature, the power setting of the heat source needs to be adjusted. When the power setting is adjusted to a lower level, the performance is reduced. Therefore, dynamic algorithms are needed to maximize the performance while maintaining the temperature to be within the limit. In a traditional way, a power limit is used to reduce the power setting once the temperature is over a target temperature. Such method unnecessarily sacrifices performance if the configuration adjusting the power more aggressively, otherwise, if the power adjustment is too slow, such method may not be effective enough to lower the temperature fast enough resulting in the temperature rising over the target temperature. In one novel aspect, the target temperature is set to different values based on the process corner information. 
       FIG. 4  shows an exemplary flow chart for the chip aware thermal control based on process-dependent power data of process corners in accordance with embodiments of the current invention. At step  401 , the process starts with the first process corner. At step  411 , the process finds process-dependent power data for the first process corner. In one embodiment, the process-dependent power data is the thermal-power performance score table with the temperature and the power-to-thermal relationship value. The table is generated using a predefined leakage power. Each entry of the table is a thermal-power performance score with the particular temperature and the power-to-thermal relationship value. The higher the thermal-power score, the better the performance. At step  412 , the process checks whether this is last process corner. If step  412  determines no, the process moves to step  413 . At step  413 , the process moves on to the next process corner and goes back to step  411  to find process-dependent power data for the next process corner. If step  412  determines yes, the process moves to step  421 . At step  421 , the process filters out the results in the thermal-performance score table that do not meet predefined requirements. In one embodiment, the predefined requirement is that the temperature to be below a predefined temperature, such as the maximum allowable temperature. A sub-set of the thermal-performance score table is generated after step  421 . At step  422 , the process gets the best configuration from the filtered table. Entry  451  shows an exemplary configuration that is selected from the table as the best configuration. In one embodiment, the entry is selected based on predefined criteria for the thermal-performance score. In one embodiment, the best thermal-performance score is selected. The best thermal-performance score in the filtered table is 67511.7 with the temperature at 90° C. and the power-to-thermal relationship value is at five. The best (temperature, power-to-thermal relationship value) is (90, 5). At step  423 , the process fills out the thermal table with the best configuration. For example, entry  452  is an exemplary entry of the thermal table. The processor corner is measured with a leakage power of 500 mw. The best thermal policy in terms of (temperature, power-to-thermal relationship value) is (90, 5). The process produces a best policy table for all possible process corners. The table is used by the thermal manager to choose the best policy based on other thermal related information. 
       FIG. 5  shows an exemplary flow chart of loading the process corner information to thermal policy mapping in accordance with embodiments of the current invention. At step  501 , the process goes through each process corner. At step  502 , the process finds process-dependent power data in the corresponding process corner. A predefined leakage power is used in generating the process-dependent power data. At step  503 , the process simulates performance number and the maximum Tj under different thermal policies, where the Tj is the maximum temperature in the period of execution. In one embodiment, the simulation model is modified to run multiple configurations with one input file. The configuration file specifies different time steps, the temperature setting range, and the temperature related setting range. In another embodiment, the simulation time is reduced by reducing the output size. The output size can be reduced by using summary result instead of using raw data. 
     At step  504 , the process filters out the thermal policies that cannot meet the maximum Tj requirement. At step  505 , the process finds the thermal policy that produces the maximum performance. Once the simulation is done, the best performance data can be obtained from the results. In one embodiment, the best performance data uses a formula to map process data to the best thermal policy. In another embodiment, the process-dependent power data to the best thermal policy table is used. 
     In one embodiment, a formula Y=f(X) is used for thermal policy retrieval. The thermal formula input X includes at least one input items comprising: process-dependent power data for different process corner information, such as typical, fast, and slow corner, and general power data by test patterns. The thermal formula output Y includes at least one output-items comprises: the thermal settings, and the power to thermal relationship value. The thermal settings include the target temperature, the trip temperature, or the temperatures to apply to different thermal management policies. The power to thermal relationship value includes a ratio, a lookup table, or a formula to represent the contribution of the power to the thermal. At step  511 , the process finds the formula as described above and maps the process-dependent power data to the best thermal policy At step  512 , the process stores the formula in the memory. In another embodiment, the process stores the process-dependent power data to the best thermal policy table in the memory. The best thermal policy table lists the best thermal configuration for different process corners. After storing the thermal policy formula or the thermal policy table in the memory, the process moves to step  531 . At step  531 , the process reads the process corner information. In one embodiment, the information is read at the boot-up time and stored in the memory. In another embodiment, the information is loaded at run-time whenever it is needed. At step  532 , the process determines the thermal policy based on the process corner information and the stored best thermal policy table or formula. 
       FIG. 6  shows an exemplary flow chart of obtaining thermal policies for different process corners in accordance with embodiments of the current invention. At step  601 , the apparatus obtains a set of process-dependent power data for each process corner of a semiconductor chip. At step  602 , the apparatus profiles performance data based on the set of process dependent power data, a maximum temperature value, and different thermal policies. At step  603 , the apparatus selects an operating thermal policy based on the performance data such that a thermal-performance score meets predefined criterion. 
       FIG. 7  shows an exemplary flow chart of chip aware thermal control based on process corner information in accordance with embodiments of the current invention. At step  701 , the apparatus stores in a memory the mapping information of process-dependent power data vs a corresponding thermal policy. At step  702 , the apparatus obtains process-dependent power data of the chip based on process corner information of the apparatus. At step  703 , the apparatus applies a thermal policy based on the stored mapping information and the obtained process corner information. 
     Although the present invention has been described in connection with certain specific embodiments for instructional purposes, the present invention is not limited thereto. Accordingly, various modifications, adaptations, and combinations of various features of the described embodiments can be practiced without departing from the scope of the invention as set forth in the claims.