Device default boost mode state
A proactive default boost mode strategy for computing components addresses inefficiencies in reactive detection methods by maintaining high-performance operation for high-latency workloads and managing power states to prevent damage.
Patent Information
- Application Number
- JP2024535345
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-24
- Filing Date
- 2022-12-20
- Publication Date
- 2024-12-19
AI Technical Summary
Reactive approaches to determining when to operate components in boost mode are inefficient as they fail to account for high-latency workloads that start and end before detection, leading to components operating outside optimal performance states.
Implementing a proactive approach where components operate in boost mode by default and switch to reduced power states when power or thermal limits are reached, using a default boost controller to manage power configuration settings based on operational data.
Enhances the performance of computing devices by ensuring high-latency workloads benefit from boost mode without delay and efficiently transitions components between power states to maintain optimal performance and prevent damage.
Smart Images

Figure 2024546260000001_ABST
Abstract
Description
[Technical field]
[0001] (Related Applications) This application claims priority to U.S. patent application Ser. No. 17 / 561,837, entitled "Default Boost Mode State of a Device," filed Dec. 24, 2021, the entire disclosure of which is incorporated herein by reference. [Background technology]
[0002] A modern processor may include any of a variety of different components, such as a multi-core central processing unit, a graphics processing unit, a memory controller, an input / output controller, etc. Many of these different components are configurable to operate in different power states, such as operating at different frequencies that consume different amounts of power.
[0003] The detailed description will now be described with reference to the accompanying drawings, in which entities depicted in the figures represent one or more entities and, accordingly, references may be made interchangeably in the description to one or more aspects of the entities. [Brief description of the drawings]
[0004] [Figure 1] FIG. 1 is a diagram of a non-limiting example system operable to adopt a default boost mode state for a device described herein. [Diagram 2] FIG. 2 illustrates an example architecture of a default boost controller. [Diagram 3] FIG. 1 illustrates an example system including a default boost controller and multiple parts. [Figure 4] FIG. 11 is a flow diagram illustrating a procedure in an example embodiment of a default boost mode state for a device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0005] (overview) A computing device includes various types of components, such as one or more processor cores, memory controllers, input / output (I / O) controllers, graphics processing units, image or facial recognition units, etc. Various components can often operate in different power modes, such as different frequencies, allowing tradeoffs to be made at different times between higher performance and lower power consumption. For example, various components can operate in a boost mode state, such as a higher frequency than can be sustained for an extended period of time (e.g., a higher frequency than is used in a steady state that can be sustained indefinitely).
[0006] One way to determine when to operate a component in a boost mode state is a reactive approach. In a reactive approach, the components run in a non-boost mode state by default, which consumes less power (e.g., by running at a lower frequency), and run in a boost mode state in response to a particular workload being executed. As an example, in a reactive approach, a high-latency workload being executed is detected, and one or more components are modified to operate in a boost mode state to have higher performance (and thus reduce the time it takes for the high-latency workload to be executed).
[0007] One issue with a reactive approach to determining when to operate a component in a boost mode state is the time it takes for the decision to be made. For example, a reactive approach creates a situation in which a high-latency workload begins and ends before the workload is detected as being a high-latency workload. Thus, in a reactive approach, by the time the component begins to operate in a boost mode state, the high-latency workload is completed, and therefore the high-latency workload does not benefit from the component operating in a boost mode state.
[0008] The techniques described herein run one or more components of a computing device in a boost mode state by default. Thus, when a high latency workload begins, the one or more components run that workload in the boost mode state without having to wait for the fact that the workload is high latency to be detected. The one or more components continue to operate in the boost mode state until the boost mode state is no longer sustainable, for example, due to the power consumption of the one or more components or the temperature of the one or more components. In response to the boost mode state no longer being sustainable, the one or more components are switched to a reduced power state (e.g., a non-boost mode state). When the power consumption or temperature of the one or more components makes it again sustainable to operate the one or more components in the boost mode state, the one or more components are returned to the default boost mode state. Thus, the techniques described herein provide a proactive approach to quickly run workloads, including short high latency workloads, rather than a reactive approach.
[0009] In some examples, techniques described herein relate to a method that includes setting each of one or more components of a computing device to a boost mode state, detecting that at least one of the one or more components is power or thermally limited, and in response to detecting that the at least one component is power or thermally limited, setting the at least one component to a reduced power state.
[0010] In some examples, the techniques described herein relate to a method, where the boost mode state includes a higher power consumption setting than the steady state, the steady state being a sustainable state in which at least one component can operate indefinitely without exceeding a power or thermal threshold of the at least one component.
[0011] In some examples, the techniques described herein relate to a method, wherein the one or more components include a plurality of components, and the method further includes sequentially repeating the detection and configuration for each of the plurality of components.
[0012] In some examples, the techniques described herein relate to a method, the method further including detecting that one or more components can return to a boost mode state, and sequentially returning the one or more components to the boost mode state in the same order that the one or more components were set to the reduced power state.
[0013] In some examples, the techniques described herein relate to a method, wherein the one or more components include a plurality of components, and the method further includes selecting a reduced power state for each of the plurality of components to proportionally reduce power consumption of each of the plurality of components.
[0014] In some examples, the techniques described herein relate to a method that further includes selecting, as the at least one component, from the one or more components in an order beginning with any component of the one or more components having the highest power savings with the lowest performance loss in the reduced power mode.
[0015] In some examples, the techniques described herein relate to a method for entering a boost mode state in response to receiving an indication that a screen or display of a computing device is powered on.
[0016] In some examples, the techniques described herein relate to a method, wherein a boost mode state of at least one component includes at least one component operating at a higher frequency than in a steady state.
[0017] In some examples, the techniques described herein relate to a method, wherein a boost mode state of at least one component includes at least one component having a greater number of active channels than when in a steady state.
[0018] In some examples, the techniques described herein relate to a method, wherein a boost mode state of at least one component includes using a routing algorithm of the at least one component that has higher performance and uses more power than a routing algorithm used in a steady state.
[0019] In some examples, the techniques described herein relate to a method, wherein a boost mode state of at least one component includes reducing backpressure for network messages for the at least one component relative to a steady state.
[0020] In some examples, the techniques described herein relate to a system that includes a power reduction determination module that determines how to reduce power consumption of at least one of the one or more components of a computing device in response to the one or more components being power or thermally limited, and a configuration setting determination module that sets the at least one component to a boost mode state as a default power configuration state and thereafter to a reduced power state determined by the power reduction determination module.
[0021] In some examples, the techniques described herein relate to a system where the boost mode state includes a higher power consumption setting than the steady state, the steady state being a sustainable state in which at least one component can operate indefinitely without exceeding a power or thermal threshold of the at least one component.
[0022] In some examples, the techniques described herein relate to a system where a boost mode state of at least one component includes at least one component operating at a higher frequency than in a steady state.
[0023] In some examples, the techniques described herein relate to a computing device that includes one or more components and a default boost controller that sets each of the one or more components to a boost mode state, detects that at least one of the one or more components is power or thermally limited, and sets the at least one component to a reduced power state in response to detecting that the at least one component is power or thermally limited.
[0024] In some examples, the techniques described herein relate to a computing device, where the boost mode state includes a higher power consumption setting than the steady state, the steady state being a sustainable state in which at least one component can operate indefinitely without exceeding a power or thermal threshold of the at least one component.
[0025] In some examples, the techniques described herein relate to a computing device, where the one or more components include a plurality of components, and where the default boost controller sequentially repeats the detection and configuration for each of the plurality of components.
[0026] In some examples, the techniques described herein relate to a computing device, where a default boost controller detects that one or more components can return to a boost mode state and sequentially returns the one or more components to the boost mode state in the same order that the one or more components were set to a reduced power state.
[0027] In some examples, the techniques described herein relate to a computing device, where the one or more components include a plurality of components, and where the default boost controller selects a reduced power state for each of the plurality of components to proportionally reduce power consumption of each of the plurality of components.
[0028] In some examples, the techniques described herein relate to a computing device, wherein the default boost controller selects, as the at least one component, from the one or more components in an order starting with any one of the one or more components having the highest power savings with the lowest performance loss in a reduced power mode.
[0029] 1 is a diagram of a non-limiting exemplary system 100 operable to adopt a default boost mode state of a device described herein. System 100 includes a default boost controller 102 and any number of components, two of which are shown as components 104 and 106. Components 104 and 106 are any of a variety of different integrated circuits or portions thereof. In one or more embodiments, components 104 and 106 are a central processing unit (CPU) and a parallel acceleration processor (such as a graphics processing unit). Additionally or alternatively, components 104 and 106 are a CPU and a cellular communication unit (e.g., receiving and transmitting radio waves, managing cellular connections, etc.). Additionally or alternatively, components 104 and 106 are individual chiplets (e.g., different silicon dies mounted on a substrate layer) within a single package. Additionally or alternatively, components 104 and 106 are different intellectual property (IP) blocks such as a processor core, a graphics processing unit, a parallel acceleration processor, a memory controller, an I / O controller, a facial recognition chip, a machine learning chip, etc. on a single integrated circuit.
[0030] In one or more embodiments, the default boost controller 102 is included as part of one or more of the components 104 and 106. Additionally or alternatively, the default boost controller 102 is implemented separately from the components 104 and 106, such as in a different IP block than the components 104 and 106, in the same package but on a different chiplet than the components 104 and 106, etc.
[0031] Components 104 and 106 communicate with each other via an interconnect 108. Interconnect 108 may be any of a variety of wired or wireless communication mechanisms, such as a bus, a data fabric, or the like.
[0032] Components 104 and 106 can operate in different power modes or states, including a steady state and a boost mode state. The steady state refers to a sustainable state in which a component can operate indefinitely without exceeding the component's power or thermal thresholds. Exceeding such a power or thermal threshold of a component can have various consequences, such as physically damaging the component or causing the component to malfunction. The boost mode state, also referred to simply as boost mode, refers to a sustainable state for a finite duration before exceeding the component's power or thermal thresholds.
[0033] In the boost mode state, the performance of the component is increased relative to the steady state. This increased performance may be obtained in any of a variety of ways. In one or more embodiments, the performance of the component is increased, such as by increasing the frequency at which the component (e.g., the processor core, memory controller, data fabric such as the interconnect 108) operates. Increasing the frequency at which the component operates may include, for example, overclocking the component. Additionally or alternatively, the performance of the component is increased by increasing the number of active channels (e.g., having more memory channels than in the steady state). Additionally or alternatively, the performance of the component is increased by changing the routing algorithm used by or within the component (e.g., changing to a routing algorithm that has higher performance but consumes more power compared to a routing algorithm that has lower performance but consumes less power). Additionally or alternatively, component performance is improved by reducing backpressure for network messages (e.g., at an I / O switch or network router), allowing more messages to be in the network, but at the same time consuming more power, versus increased backpressure for network messages, which allows fewer messages to be in the network, but at the same time consuming less power.
[0034] Methods to improve the performance of a component are known and may be applied in any of a variety of different ways. In one or more embodiments, the default boost controller 102 has knowledge of different ways to improve the performance of the component and provides an indication of the performance as the power configuration setting 112. For example, assume a processor core has a steady state frequency of 4 gigahertz (GHz) and a boost mode state frequency of 4.4 GHz. The default boost controller 102 has knowledge of these frequencies and provides an indication to the processor core to operate at either of these two frequencies as the power configuration setting. The knowledge of different ways to improve the performance of a component may be known in any of a variety of different ways as provided by a designer or user of the component.
[0035] Additionally or alternatively, the default boost controller 102 need not have knowledge of how to improve the performance of the component, but simply knows that the performance of the component can be improved. In such a situation, the default boost controller 102 provides the component with an indication to enter (or exit) the boost mode state as a power configuration setting. Thus, the default boost controller 102 can control whether the component is in a steady state or a boost mode state without knowing the specific way to improve the performance of the component.
[0036] The default boost controller 102 receives operational data 110 from any of a variety of sources, such as power control circuits, temperature monitoring circuits, etc. In one or more embodiments, the operational data 110 is received from a power control circuit or temperature monitoring circuit implemented in the same package as the default boost controller 102 and components 104 and 106. Additionally or alternatively, the operational data 110 is received from a power control circuit or temperature monitoring circuit implemented separately from the package implementing the default boost controller 102 and components 104 and 106. The operational data 110 provides an indication of how much power each of multiple different parts of the system 100 is consuming or the temperature at which each of multiple different parts of the system 100 is operating. These parts may be, for example, individual components, collections of components (e.g., components sharing a common voltage rail).
[0037] The default boost controller 102 communicates a power configuration setting 112 to the component 104 and a power configuration setting 114 to the component 106. Although shown as separate from the interconnect 108, in addition or alternatively, the power configuration setting 112 or 114 is communicated to the component 104 or 106 via the interconnect 108. The power configuration setting 112 indicates to the component 104, and the power configuration setting 114 indicates to the component 106 any of various settings for the power configuration of the corresponding component 104 or 106, such as the frequency at which to run, the number of channels (e.g., communication channels) to activate, the routing algorithm to implement, the amount of backpressure for network messages, etc. These various settings control the amount of power consumed or used by the components 104 and 106 and are provided by the default boost controller 102 based on the operational data 110.
[0038] The default boost controller 102 places the components 104 and 106 in boost mode by default. Thus, any workloads executed by the components 104 benefit from the boost mode, at least until the default boost controller 102 reduces their power usage as described in more detail below. In one or more embodiments, the default boost controller 102 places the components 104 and 106 in boost mode in response to the device including the system 100 being powered on or reset. Additionally or alternatively, the default boost controller 102 places the components 104 and 106 in boost mode in response to another event being detected, such as the display or screen of the device including the system 100 being powered on or the device including the system 100 being removed from a pocket or a flat surface (e.g., a tabletop). These other events are detected by any of a variety of sensors in the device including the system 100, using any of a variety of public or proprietary techniques, and such indications are provided to the system 100.
[0039] System 100 may be implemented in any of a variety of different types of computing devices. For example, system 100 may be implemented in a smartphone or other wireless phone, a tablet or phablet computer, a notebook computer (e.g., a netbook or ultrabook), a laptop computer, a wearable device (e.g., a smart watch, an augmented reality headset or device, a virtual reality headset or device), an entertainment device (e.g., a game console, a portable gaming device, a streaming media player, a digital video recorder, a music or other audio playback device, a television), an Internet of Things (IoT) device, an automobile computer, etc.
[0040] 2 illustrates an example architecture of the default boost controller 102. The default boost controller 102 includes a configuration setting determination module 202, a power reduction determination module 204, and a power increase determination module 206. In general, the configuration setting determination module 202 determines when the power consumed or used by one or more components should be reduced, for example, because the boost mode is no longer sustainable for one or more components due to power consumption or temperature. The situation in which the boost mode is no longer sustainable for one or more components due to power consumption is also referred to as one or more components being power limited. Similarly, the situation in which the boost mode is no longer sustainable for one or more components due to temperature is also referred to as one or more components being thermal limited. The power reduction determination module 204 determines how to reduce the power consumption in one or more components when the power consumed by one or more components should be reduced, for example, because the boost mode is no longer sustainable for one or more components due to power consumption or temperature.
[0041] While examples of determining that boost mode is no longer sustainable for one or more components due to power consumption or temperature are described herein, in addition or alternatively, configuration determination module 202 determines that power consumption should be reduced in response to other events or conditions that may be detected by any of a variety of sensors in system 100 of FIG.
[0042] In one or more embodiments, the configuration setting determination module 202 determines that power consumption should be reduced in situations or environments where a high latency workload is not expected. For example, the configuration setting determination module 202 determines that power consumption should be reduced in response to a display or screen of a device including system 100 being powered down, a device including system 100 being placed in a pocket or purse, a device including system 100 being placed in a low power mode (e.g., by user input), etc. Additionally or alternatively, the configuration setting determination module 202 determines that power consumption should be reduced in response to other events or conditions, such as a user input activating a lock screen of a device including system 100, a low battery charge indication being received for a device including system 100, an indication that a user is not in proximity to a device including system 100 (e.g., a watch or other wearable device is not detected within range of a device including system 100), etc.
[0043] The configuration determination module 202 also determines when the power consumed by one or more components should be increased because an event or condition indicates that the power consumed by the one or more components is no longer reduced, e.g., power consumption or temperature no longer prevents the boost mode from being sustainable (e.g., one or more components are no longer power limited or thermal limited). The power increase determination module 206 determines how to increase the power consumption in one or more components when the power consumed by one or more components should be increased, e.g., power consumption or temperature no longer prevents the boost mode from being sustainable.
[0044] More specifically, the configuration setting determination module 202 receives a default boost configuration setting 210. The default boost configuration setting 210 is a boost mode state setting for one or more components. These boost mode state settings may be any of a variety of different settings, such as a boost mode frequency for each of the one or more components, a number of active channels for the one or more components, a routing algorithm for the one or more components to use, an amount of backpressure for network messages for the one or more components, etc., as described above. Because the default setting for the one or more components is a boost mode state setting, the configuration setting determination module 202 provides the default boost configuration setting 210 to an appropriate one of the one or more components as a power configuration setting 212. In one or more embodiments, the configuration setting determination module 202 provides the default boost configuration setting 210 to the various components as part of a startup or boot process for a device that includes the default boost controller 102. For example, the configuration setting determination module 202 provides the default boost configuration setting 210 to various components in response to detecting that a device including the default boost controller 102 has been booted, that a device including the default boost controller 102 has exited a sleep or hibernation mode, etc.
[0045] During operation, the configuration determination module 202 receives operational data 110 indicative of how much power each of multiple different portions of the system 100 is consuming or the temperature of each of multiple different portions of the system 100. These different portions may be, for example, individual components, collections of components (e.g., components sharing a common voltage rail), etc., as discussed above.
[0046] 3 illustrates an example system 300 including a default boost controller 102, a portion 302, and a portion 304. Although two portions 302 and 304 are shown, system 300 may include any number of portions. Portion 302 may include any number of components, two of which are shown as components 306 and 308. Similarly, portion 304 may include any number of components, two of which are shown as components 310 and 312. Components 104 and 106 of FIG. 1 may be, for example, components 306 and 308 of portion 302, or components 310 and 312 of portion 304.
[0047] The default boost controller 102 provides different power configuration settings for each of the components, shown as power configuration setting 316 for component 306, power configuration setting 318 for component 308, power configuration setting 320 for component 310, and power configuration setting 322 for component 312. Thus, the default boost controller 102 can individually change the power configuration settings of the components.
[0048] 2, the configuration setting determination module 202 analyzes the operational data 110 to determine when power consumption by one or more components should be reduced, for example because the boost mode state is no longer sustainable for one or more components due to power consumption or temperature. The operational data 110 is received or analyzed at regular or irregular intervals, and in one or more embodiments, the operational data 110 is received frequently enough that the power consumed by the components is reduced before any damage is done to the components due to power consumption or temperature. For example, the operational data 110 is received or analyzed approximately every millisecond.
[0049] In one or more embodiments, the operational data 110 is power consumption data, such as any of the various power control circuits described above. The configuration setting determination module 202 uses any of a variety of different rules, criteria, or systems (e.g., machine learning systems) to determine when one or more components are power limited. In one or more embodiments, the configuration setting determination module 202 uses a power threshold setting. If the power consumed by a portion of the system 100 exceeds a threshold amount for a threshold duration, the configuration setting determination module 202 determines that one or more components within that portion of the system 100 are power limited and therefore the power consumed by the one or more components should be reduced. This threshold amount and threshold duration are set in any of a variety of ways, such as by a developer or manufacturer of the component of the portion, by a developer or manufacturer of the system or device that includes the portion, etc.
[0050] For example, if a portion of a system, a processor, can operate at steady state at 500 watts, but above 600 watts the processor generates too much heat and becomes physically damaged, then the threshold amount is set to an amount less than 600 watts, such as 580 watts. The threshold duration is optionally short, such as 1 millisecond, such that the configuration setting determination module 202 determines that the power consumed by one or more components in that portion of the system 100 should be reduced as soon as the threshold amount is exceeded. Additionally or alternatively, the threshold duration is set for a longer period, such as 10 milliseconds or 50 milliseconds, such that the configuration setting determination module 202 does not determine that the power consumed by one or more components in that portion of the system 100 should be reduced if the threshold amount is exceeded for only a short amount of time (e.g., less than 10 milliseconds or 50 milliseconds).
[0051] Additionally or alternatively, the configuration setting determination module 202 uses rules or criteria other than power threshold settings. For example, in one or more embodiments, the configuration setting determination module 202 includes a model or algorithm that identifies when a boost mode state of a portion of the system is expected to no longer be sustainable for a certain amount of time (e.g., within 10 milliseconds or 50 milliseconds) based on power consumption over a duration. Such a model or algorithm is optionally a machine learning system trained to identify when a boost mode state for that portion is expected to no longer be sustainable for a certain amount of time based on the operation of the portion of the system over time.
[0052] In one or more embodiments, the operational data 110 is temperature data, such as from any of the various temperature monitoring circuits described above. The configuration setting determination module 202 uses any of a variety of different rules, criteria, or systems (e.g., machine learning systems) to determine when one or more components are thermally limited. In one or more embodiments, the configuration setting determination module 202 uses a temperature threshold setting. If the temperature of a portion of the system 100 exceeds a threshold amount for a threshold duration, the configuration setting determination module 202 determines that one or more components in that portion of the system 100 are thermally limited and therefore power consumed by the one or more components should be reduced. This threshold amount and threshold duration are set in any of a variety of ways, such as by a developer or manufacturer of the components of the portion, by a developer or manufacturer of the system or device that includes the portion, etc.
[0053] For example, if a portion of a system, a processor, can operate at steady state at 90 degrees Celsius, but exceeding 100 degrees Celsius would physically damage the processor, then the threshold amount is set to an amount less than 100 degrees Celsius, such as 95 degrees Celsius. The threshold duration is optionally short, such as 1 millisecond, such that the configuration setting determination module 202 determines that the power consumed by one or more components in that portion of the system 100 should be reduced as soon as the threshold amount is exceeded. Additionally or alternatively, the threshold duration is set for a longer period, such as 10 milliseconds or 50 milliseconds, such that the configuration setting determination module 202 does not determine that the power consumed by one or more components in that portion of the system 100 should be reduced if the threshold amount is exceeded for only a short amount of time (e.g., less than 10 milliseconds or 50 milliseconds).
[0054] Additionally or alternatively, the configuration setting determination module 202 uses rules or criteria other than temperature threshold settings. For example, in one or more embodiments, the configuration setting determination module 202 includes a model or algorithm that identifies when a boost mode state for a portion of the system is expected to no longer be sustainable for a certain amount of time (e.g., within 10 milliseconds or 50 milliseconds) based on the temperature of the portion of the system over a duration. Such a model or algorithm is optionally a machine learning system trained to identify when a boost mode state for that portion is expected to no longer be sustainable for a certain amount of time based on the operation of the portion of the system over time.
[0055] In response to determining that the power consumed by one or more components should be reduced because the one or more components are power or thermal limited, the configuration setting determination module 202 provides operational data 110 to the power reduction determination module 204. The operational data 110 provided to the power reduction determination module 202 identifies the power consumption or temperature of one or more portions of the system 100 that caused the configuration setting determination module 204 to determine that the boost mode condition is no longer sustainable. The power reduction determination module 204 determines how to reduce the power consumption in one or more components of each of the one or more portions such that the components within the portions are not physically damaged or malfunction due to the power consumption or temperature of the components within the portions.
[0056] The power consumption of a component may be reduced in any of a variety of ways. In one or more embodiments, the power consumption of a component may be reduced, such as by reducing the frequency at which the component (e.g., processor cores, memory controllers, data fabric such as interconnect 108) operates. Additionally or alternatively, the power consumption of a component may be reduced by reducing the number of channels (e.g., the number of memory channels) that are active. Additionally or alternatively, the power consumption of a component may be reduced by changing the routing algorithm used by or within the component (e.g., changing to a lower performance but less power consuming routing algorithm versus a higher performance but more power consuming routing algorithm). Additionally or alternatively, the power consumption of a component may be increased by increasing backpressure for network messages (e.g., at an I / O switch or network router), allowing fewer messages to be in the network at the same time, consuming less power versus reduced backpressure for network messages that allow more messages to be in the network at the same time but consuming less power.
[0057] In one or more embodiments, the power reduction determination module 204 selects components within the subsequence. The power reduction determination module 204 uses any of a variety of different rules or criteria to determine the order in which the components are sequentially power reduced. These rules or criteria are set in any of a variety of ways, such as by a system developer or designer, by a user of the device that includes the default boost controller 102, etc. Additionally or alternatively, the power reduction determination module 204 uses a variety of other systems, such as a machine learning system, to determine the order in which the components should reduce their power consumption. As an example, the power reduction determination module 204 includes a machine learning system trained to determine the order in which to reduce the power consumption of components based on any of a variety of criteria, such as the operational data 110, data regarding the workload being executed on the device, etc.
[0058] When selecting components sequentially, the power reduction determination module 204 selects components in a determined order until the configuration setting determination module 202 determines that power consumption should no longer be reduced. An example of such ordering is to reduce the number of active channels in a memory controller first, reduce how often the processor cores operate second, and reduce how often the data fabric operates third. For each selected component, the power reduction determination module 204 provides an indication of that component to the configuration setting determination module 202 in a power reduction setting 214. The ranking may be set, for example, in order from the component that saves the most power with the least performance loss to the component that saves the least power with the most performance loss.
[0059] The power reduction determination module 204 also determines how to reduce the power consumption of the selected component and includes an indication of how to reduce the power consumption of the component in the power reduction setting 214. The power reduction determination module 204 determines how to reduce the power consumption of the component by applying any of a variety of rules, criteria, or systems (e.g., machine learning systems). In one or more embodiments, the power reduction determination module 204 determines to set the component to a reduced power state that allows the component to operate in a steady state. For example, the power reduction determination module 204 determines to operate the component at the highest frequency at which the component remains in its steady state.
[0060] Additionally or alternatively, the power reduction decision module 204 determines how to reduce the power consumption of the component based on the operational data 110. This allows the power reduction decision module 204 to keep the component in a boost mode state, but not in a maximum boost mode state. For example, if the operational data 110 indicates that the temperature of the component (or a portion containing the component) is 2 degrees Celsius higher than the temperature at which the component can operate in the component's steady state, the power reduction decision module 204 determines to reduce the power consumption of the component to be halfway between the component's current setting and the component's steady state setting. For example, if the component's steady state frequency is 4.0 GHz and the component's maximum boost mode state frequency is 4.4 GHz, the power reduction decision module 204 determines to reduce the component's power consumption by setting the component's frequency to 4.2 GHz. This allows the component to continue operating in boost mode at 4.2 GHz for a little longer, and optionally allows the component to continue operating at 4.2 GHz for a period of time (e.g., 1 or 2 seconds) before the power reduction decision module 204 decides to reduce the component's power consumption by setting it to operate at a steady state frequency of 4.0 GHz.
[0061] Additionally or alternatively, the power reduction decision module 204 determines to reduce power consumption of multiple components in the portion at approximately the same time. In one or more embodiments, the power reduction decision module 204 selects all of the components in the portion (e.g., all of the components in the portion that have a boost mode) as the multiple components. Additionally or alternatively, the power reduction decision module 204 selects a subset of the components in the portion using any of a variety of different rules, criteria, or systems. Such rules or criteria are set in any of a variety of ways, such as by a system developer or designer, by a user of the device that includes the default boost controller 102, etc. Such systems may be, for example, machine learning systems trained to select components based on any of a variety of criteria, such as operational data 110, data regarding workloads executed on the device, characteristics of the components as provided by the system developer or designer, etc.
[0062] The power reduction determination module 204 also determines how to reduce the power consumption of the selected components and includes an indication of how to reduce the power consumption of the selected components in the power reduction settings 214. The power reduction determination module 204 determines how to reduce the power consumption of the selected components by applying any of a variety of rules, criteria, or systems (e.g., machine learning systems). In one or more embodiments, the power reduction determination module 204 determines to set each of the selected components to a reduced power state that allows the component to operate in a steady state. For example, the power reduction determination module 204 determines to operate each of the selected components at the highest frequency at which the component remains in its steady state.
[0063] Additionally or alternatively, the power reduction determination module 204 determines how to proportionally reduce the power consumption of the selected components. As an example, assuming there are three selected components, the power reduction determination module 204 estimates how much power consumption in the portion is attributable to each of the three selected components and reduces the power consumption by each component by an amount proportional to the power consumption by that component. For example, assuming a portion can operate at 500 watts in steady state but is currently operating at 600 watts, component A is estimated to consume 30% of the portion's power, component B is estimated to consume 20% of the portion's power, and component C is estimated to consume 50% of the portion's power. In this example, the power consumption of the portion is reduced by 100 W by reducing component A's power consumption by 30 W, component B's power consumption by 20 W, and component C's power consumption by 50 W.
[0064] The manner in which the power consumption of a particular component is reduced by a predetermined percentage varies based on the component and how the component's performance improvement is obtained in the boost mode state. The power reduction determination module 204 knows how changes to the components (e.g., frequency, number of active channels, etc.) will change the component's power consumption. This information is provided, for example, by a system designer or developer, via known algorithms, models, etc. Given this information, the power reduction determination module 204 readily determines how to reduce the power consumption of each of the various components by a desired amount.
[0065] Additionally or alternatively, the power reduction decision module 204 determines how to reduce the power consumption of the selected components based on the operational data 110. This allows the power reduction decision module 204 to keep the selected components in a boost mode state, but not in the highest boost mode state. For example, if the operational data 110 indicates that the power consumption of the portion including the selected components is 100 watts above the power consumption at which the selected components can operate in their steady state, the power reduction decision module 204 may decide to reduce the power consumption of the selected components by 50 watts, but keep the selected components at a higher setting than their steady state setting for the components. This allows for a situation to arise where one or more of the selected components continue to operate in the boost mode state for a little longer, and depending on the situation, the power reduction decision module 204 may allow one or more of the selected components to continue to operate in the boost mode state for a period of time (e.g., 1 or 2 seconds) before deciding to reduce the power consumption of the components by setting the selected components to their steady state.
[0066] The configuration setting determination module 202 receives the power reduction settings 214 and communicates the power configuration settings 212 to one or more components indicated in the power reduction settings 214. The configuration setting determination module 202 also includes in each component's power configuration setting 212 an indication of how to reduce the component's power consumption. The indication of how to reduce power consumption may take any of a variety of forms as discussed above, such as a frequency setting, a number of active channels setting, a routing algorithm setting, an indication to exit a boost mode state (e.g., return to a steady state mode), etc. In response to receiving the power configuration setting 212, each component modifies its operation based on the indication of how to reduce power consumption in that component.
[0067] The configuration setting determination module 202 also maintains a record of which components have had their power consumption reduced, optionally including the amount by which their power consumption was reduced and the order in which their power consumption was reduced. In one or more embodiments, the configuration setting determination module 202 provides this information to the power increase determination module 206 for use in determining which components should be returned to their boost mode state, as described in more detail below.
[0068] After providing the power configuration settings 212 to the one or more components, the configuration settings determination module 202 continues to receive and analyze the operational data 110 to determine when the one or more components can return to the boost mode state. In one or more embodiments, the configuration settings determination module 202 analyzes the operational data 110 at the same rate (e.g., about every 1 millisecond) that is used in determining when power consumption by the one or more components should be reduced, for example because the boost mode state is no longer sustainable for the one or more components due to power consumption or temperature. Additionally or alternatively, the configuration settings determination module 202 analyzes the operational data 110 at a different rate, such as every 5 milliseconds or every 0.5 milliseconds.
[0069] In one or more embodiments, the operational data 110 is power consumption data, such as from any of the various power control circuits described above. The configuration setting determination module 202 uses any of a variety of different rules, criteria, or systems (e.g., machine learning systems) to determine when one or more components can return to a boost mode state. In one or more embodiments, the configuration setting determination module 202 uses a power threshold setting. If the power consumed by a portion of the system 100 falls below a threshold amount for a threshold duration, the configuration setting determination module 202 determines that one or more components within that portion of the system 100 are no longer power limited and therefore can return to a boost mode state. This threshold amount and threshold duration are set in any of a variety of ways, such as by a developer or manufacturer of the component of the portion, by a developer or manufacturer of the system or device that includes the portion, etc.
[0070] In one or more embodiments, the threshold amount is set at a different level, such as the level at which one or more components are at steady state. Additionally or alternatively, the threshold amount is set at a level below the level at which one or more components are at steady state to avoid a situation where one or more components repeatedly switch in and out of the boost mode state for a short amount of time.
[0071] For example, if a portion of the system, a processor, can operate at 500 watts at steady state, the threshold amount is set at 500 watts or an amount less than 500 watts, such as 480 watts. The threshold duration is optionally short, such as 1 millisecond, such that the configuration setting determination module 202 determines that one or more components should return to a boost mode state as soon as the threshold amount is met (e.g., power consumption falls below 480 watts). Additionally or alternatively, the threshold duration is set for a longer period, such as 10 milliseconds or 50 milliseconds, to avoid a situation in which one or more components repeatedly switch in and out of a boost mode state for a short amount of time.
[0072] Additionally or alternatively, the configuration setting determination module 202 uses rules or criteria other than power threshold settings to determine when one or more components can return to boost mode. In one or more embodiments, the configuration setting determination module 202 includes a model or algorithm that identifies when a boost mode of a portion of the system is expected to be sustainable based on power consumption over a duration. Such a model or algorithm is optionally a machine learning system trained to identify when a boost mode state of that portion is expected to be sustainable based on the operation of the portion of the system over time.
[0073] In one or more embodiments, the operational data 110 is temperature data, such as from any of the various temperature monitoring circuits described above. The configuration setting determination module 202 uses any of a variety of different rules, criteria, or systems (e.g., machine learning systems) to determine when one or more components can return to a boost mode state. In one or more embodiments, the configuration setting determination module 202 uses a temperature threshold setting. If the temperature of a portion of the system 100 falls below a threshold amount for a threshold duration, the configuration setting determination module 202 determines that one or more components within that portion of the system 100 are no longer thermally limited and therefore can return to a boost mode state. This threshold amount and threshold duration are set in any of a variety of ways, such as by a developer or manufacturer of the component of the portion, by a developer or manufacturer of the system or device that includes the portion, etc.
[0074] In one or more embodiments, the threshold amount is set at a different level, such as the level at which one or more components are at steady state. Additionally or alternatively, the threshold amount is set at a level below the level at which one or more components are at steady state to avoid a situation where one or more components repeatedly switch in and out of the boost mode state for a short amount of time.
[0075] For example, if a portion of the system, a processor, can operate at 90 degrees Celsius at steady state, the threshold amount is set to 90 degrees Celsius or an amount less than 90 degrees Celsius, such as 88 degrees Celsius. The threshold duration is optionally short, such as 1 millisecond, such that the configuration setting determination module 202 determines that one or more components should return to a boost mode state as soon as the threshold amount is met (e.g., the temperature drops below 88° C.). Additionally or alternatively, the threshold duration is set to a longer period, such as 10 milliseconds or 50 milliseconds, to avoid a situation in which one or more components repeatedly switch in and out of the boost mode state for a short amount of time.
[0076] Additionally or alternatively, the configuration setting determination module 202 uses rules or criteria other than temperature threshold settings to determine when one or more components can return to boost mode. In one or more embodiments, the configuration setting determination module 202 includes a model or algorithm that identifies when a boost mode state of a portion of the system is expected to be sustainable based on the temperature of the portion of the system over a duration. Such a model or algorithm is optionally a training system that is trained to identify when a boost mode state of that portion is expected to be sustainable based on the operation of the portion of the system over time.
[0077] Additionally or alternatively, the configuration setting determination module 202 determines when one or more components can return to the boost mode in response to other events or conditions. These events or conditions are detected by any of a variety of sensors in the system 100 of FIG. 1, the device including the system 100, using any of a variety of public or proprietary techniques, and such indications are provided to the system 100. In one or more embodiments, the configuration setting determination module 202 determines that one or more components can return to the boost mode in response to an event or condition that results in determining that power consumption is no longer present. For example, the configuration setting determination module 202 determines that one or more components can return to the boost mode in response to an indication that the device including the system 100 of FIG. 1 has been removed from a pocket or purse, that the device including the system 100 is no longer in a low power mode, that a user is in proximity to the device including the system 100, etc.
[0078] In response to determining that one or more components can be returned to a boost mode state, the configuration setting determination module 202 provides data 216 to the power increase determination module 206. In one or more embodiments, the data 216 includes the operational data 110. Additionally or alternatively, the data 216 includes an indication of which components have had their power consumption reduced, how those components' power consumption was reduced, the order in which the components' power consumption was reduced, etc. The power increase determination module 206 uses the data 216 to determine how to return one or more components whose power consumption was previously reduced by the configuration setting determination module 202 to their boost mode state. For each component to be returned to its boost mode state, the power increase determination module 206 provides an indication of that component to the configuration setting determination module 202 in a power increase setting 218.
[0079] In one or more embodiments, the power increase decision module 206 determines to return one or more components to their boost mode state (e.g., their default boost configuration settings 210) in the same order that they were reduced in power consumption (e.g., the first component to reduce its power consumption is the first component to be returned to the boost mode state).
[0080] For example, assume that power consumption within components is sequentially decreased by first decreasing the number of channels active within a memory controller, second decreasing the frequency at which a processor core operates, and third decreasing the frequency at which a data fabric operates. In this example, one or more components are returned to their boost mode state in the following order: first increasing the number of channels active within a memory controller, second increasing the frequency at which a processor core operates, and third increasing the frequency at which a data fabric operates.
[0081] When sequentially returning components to their boost mode state, the power increase determination module 206 selects components in order as long as the configuration setting determination module 202 determines that one or more components can return to the boost mode state. For example, continuing with the previous example, the power increase determination module 206 first indicates to the configuration setting determination module 202 to increase the number of active channels in the memory controller. The configuration setting determination module 202 determines whether one or more components can still return to the boost mode state. If one or more components can no longer return to the boost mode, the configuration setting determination module 202 does not return any more components to the boost mode state at this time. However, if one or more components can return to the boost mode state, the configuration setting determination module 202 provides data 216 to the power increase determination module 206 that indicates to the configuration setting determination module 202 to increase the frequency at which the processor cores operate.
[0082] In one or more embodiments, the power increase determination module 206 determines how to increase the power consumption of the component and includes an indication of how to increase the power consumption of the component in the power increase setting 218. The power increase determination module 206 determines how to increase the power consumption of the component by applying any of a variety of rules, criteria, or systems (e.g., a machine learning system). In one or more embodiments, the power reduce determination module 204 determines to set the component to a default boost mode state for the component (e.g., as indicated by the default boost configuration setting 210).
[0083] Additionally or alternatively, the power increase determination module 206 determines how to increase the power of the component based on the operational data 110. This allows the power increase determination module 206 to return the component to a boost mode state, but not to a maximum boost mode state. For example, if the operational data 110 indicates that the temperature of the component (or a portion including the component) is 2 degrees Celsius lower than the temperature at which the component can operate in the component's steady state, the power increase determination module 206 determines to increase the power consumption of the component to be halfway between the component's current setting and the component's maximum boost mode setting. For example, if the component's steady state frequency is 4.0 GHz, the component's current setting is 4.0 GHz, and the component's maximum boost mode frequency is 4.4 GHz, the power increase determination module 206 determines to increase the component's power consumption by setting the component's frequency to 4.2 GHz. This allows the component to return to operating in a 4.2 GHz boost mode state rather than a 4.4 GHz maximum boost mode state. As another example, if the steady state frequency of a component is 4.0 GHz, the current setting of the component is 4.2 GHz, and the highest boost mode frequency of the component is 4.4 GHz, the power increase decision module 206 may determine to increase the power consumption of the component by setting the frequency of the component to 4.4 GHz, which would allow the component to return to operating in its highest boost mode at 4.4 GHz.
[0084] In one or more embodiments, the power reduction determination module 204 determines to reduce the power consumption of multiple components in the portion at approximately the same time, as described above. In such embodiments, the power increase determination module 206 determines to increase the power consumption of multiple components in the same manner and order that the multiple components reduced their power consumption. For example, assume that the multiple components include component A, component B, and component C, and the power reduction determination module 204 determines to reduce the number of active memory channels of component A by 2, reduce the frequency of component B by 0.4 GHz, and reduce the frequency of component C by 0.2 GHz. In this example, the power increase determination module 206 determines to increase the number of active memory channels for component A by 2, increase the frequency of component B by 0.4 GHz, and increase the frequency of component C by 0.2 GHz.
[0085] The configuration setting determination module 202 receives the power increase setting 218 and communicates the power configuration setting 212 to one or more components indicated in the power increase setting 218. The configuration setting determination module 202 also includes in the power configuration setting 212 for each component an indication of how to increase the power at that component. The indication of how to increase the power may take any of a variety of forms as discussed above, such as a frequency setting, a number of active channels setting, a routing algorithm setting, an indication to enter or return to a default boost mode state, etc. In response to receiving the power configuration setting 212, each component modifies its operation based on the indication of how to increase the power at that component.
[0086] Additionally or alternatively, in one or more embodiments, the operational data 110 includes data describing one or more workloads being executed or otherwise performed by the components 104 and 106. The configuration setting determination module 202 (or the power reduction determination module 204) analyzes the one or more workloads and determines configuration settings preferred or desired by the one or more workloads. Any of a variety of different rules, criteria, or systems (e.g., machine learning systems) may be used to determine the configuration settings preferred or desired by the one or more workloads. As an example, data transfers between components are monitored, including source components of the data, recipient components of the data, amount of data transferred, etc. Components receiving or transmitting smaller amounts of data are set to operate in a reduced power state, while components receiving or transmitting larger amounts of data remain in a boost mode state. As another example, data provided by the workloads themselves (e.g., metadata associated with the workloads) that specify preferred or desired settings for different components are identified. The components are then set to a reduced power state or remain in a boost mode state according to their specified settings. As another example, a determination is made as to which component is performing more computations (e.g., the CPU or the GPU), and the component performing less computations is set to operate in a reduced power state, while the component performing more computations remains in a boost mode state.
[0087] In response to determining the configuration settings preferred or desired by the one or more workloads, the configuration setting determination module 202 provides power configuration settings 212 to the appropriate components according to the configuration settings preferred or desired by the one or more workloads. The configuration setting determination module 202 (or the power increase determination module 206) determines when the one or more workloads are no longer running based on the operational data 110. In response to the one or more workloads are no longer running, the configuration setting determination module 202 provides the power configuration settings 212 to the appropriate components to return the components to their boost mode state (or whatever state the components were in before the configuration setting determination module 202 provided the components with the configuration settings preferred or desired by the one or more workloads).
[0088] For example, assume that the CPU and GPU are both set to a boost mode state by default. Analysis of one or more workloads indicates that a preferred or desired configuration setting for the one or more workloads is for the CPU to operate in a reduced power state (e.g., at a lower frequency, such as a steady frequency), while the GPU operates in a boost mode state. Thus, the configuration setting determination module 202 provides a power configuration setting 212 to the CPU that indicates that the CPU operates in a reduced power state. In response to determining that the one or more workloads are no longer running, the configuration setting determination module 202 provides the power configuration setting 212 to the CPU to run in its boost mode state.
[0089] 4 is a flow diagram 400 illustrating a procedure in an example embodiment of a default boost mode state for a device. Flow diagram 400 is executed by a default boost controller, such as default boost controller 102 of FIG. 1, FIG. 2, or FIG. 3.
[0090] In this example, each of one or more components of the computing device is set to a boost mode state by default (block 402). The one or more components are proactively set to a boost mode state to improve the performance of the one or more components relative to their steady state.
[0091] At least one of the one or more components is detected as being power limited or thermal limited (block 404).
[0092] In response to detecting that the at least one component is power or thermally limited, the at least one component is set to a reduced power state (block 406), in which the performance of the at least one component is reduced relative to a boost mode setting, but the power consumption or temperature of the component is reduced.
[0093] It should be understood that many variations are possible based on the disclosure herein, and although features and elements are described above in specific combinations, each feature or element can be used alone without the other features and elements, or in various combinations with other features and elements, with or without the other features and elements.
[0094] The various functional units illustrated in the figures and / or described herein (including, where appropriate, the default boost controller 102, component 104, component 106, configuration setting determination module 202, power reduction determination module 204, power increase determination module 206, component 306, component 308, component 310, and component 312) may be implemented in any of a variety of different ways, such as hardware circuits, software or firmware running on a programmable processor, or any combination of two or more of hardware, software, and firmware. The provided methods may be implemented in any of a variety of devices, such as a general purpose computer, a processor, or a processor core. Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a graphics processing unit (gGPU), a parallel accelerated processor, multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) circuit, any other type of integrated circuit (C), and / or a state machine.
[0095] In one or more embodiments, the methods and procedures provided herein may be implemented in a computer program, software, or firmware embodied in a non-transitory computer-readable storage medium for execution by a general purpose computer or processor. Examples of non-transitory computer-readable storage media include read-only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks and digital versatile disks (DVDs).
[0096] (Conclusion) Although the invention has been described in language specific to structural features and / or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.
Claims
1. 1. A method comprising: placing each of one or more components of the computing device in a boost mode state; detecting that at least one of the one or more components is power limited or thermal limited; and in response to detecting the at least one component being power or thermally limited, placing the at least one component in a reduced power state. method.
2. the boost mode state includes a higher power consumption setting than a steady state, the steady state being a sustainable state in which the at least one component may operate indefinitely without exceeding a power or thermal threshold of the at least one component.
2. The method of claim 1.
3. the one or more components include a plurality of components; the method including sequentially repeating the detecting and the setting for each of the plurality of components; 2. The method of claim 1.
4. Detecting that the one or more components are capable of returning to the boost mode state; and and sequentially returning the one or more components to the boost mode state in the same order that the one or more components were placed into the reduced power state. The method of claim 1.
5. the one or more components include a plurality of components; the method including selecting the reduced power state for each of the plurality of components to proportionally reduce power consumption of each of the plurality of components; 2. The method of claim 1.
6. selecting, as the at least one component, from the one or more components in an order beginning with a component among the one or more components having the highest power savings with the lowest performance loss in the reduced power mode.
2. The method of claim 1.
7. entering the boost mode state in response to receiving an indication that a screen or display of the computing device is powered on; 2. The method of claim 1.
8. the boost mode state of the at least one component includes the at least one component operating at a higher frequency than when in a steady state.
2. The method of claim 1.
9. the boost mode state of the at least one component includes the at least one component having a greater number of active channels than when in a steady state.
2. The method of claim 1.
10. the boost mode state of the at least one component includes using a routing algorithm of the at least one component that has higher performance and uses more power than a routing algorithm used in a steady state.
2. The method of claim 1.
11. the boost mode state of the at least one component includes reducing backpressure for network messages of the at least one component relative to a steady state.
2. The method of claim 1.
12. 1. A system comprising: a power reduction decision module that determines how to reduce power consumption of at least one of the one or more components of the computing device in response to the one or more components being power or thermal limited; a configuration setting determination module that sets the at least one component to a boost mode state as a default power configuration state and thereafter to a reduced power state determined by the power reduction determination module. system.
13. the boost mode state includes a higher power consumption setting than a steady state, the steady state being a sustainable state in which the at least one component may operate indefinitely without exceeding a power or thermal threshold of the at least one component. The system of claim 12.
14. the boost mode state of the at least one component includes the at least one component operating at a higher frequency than when in a steady state. The system of claim 12.
15. 1. A computing device comprising: One or more components; a default boost controller that sets each of the one or more components in a boost mode state, detects that at least one of the one or more components is power or thermally limited, and sets the at least one component to a reduced power state in response to detecting that the at least one component is power or thermally limited. Computing device.
16. the boost mode state includes a higher power consumption setting than a steady state, the steady state being a sustainable state in which the at least one component may operate indefinitely without exceeding a power or thermal threshold of the at least one component.
16. The computing device of claim 15.
17. the one or more components include a plurality of components; the default boost controller sequentially repeats the detecting and setting for each of the plurality of components; 16. The computing device of claim 15.
18. The default boost controller is Detecting that the one or more components are capable of returning to the boost mode state; sequentially returning the one or more components to the boost mode state in the same order that the one or more components were placed into the reduced power state.
16. The computing device of claim 15.
19. the one or more components include a plurality of components; the default boost controller selects the reduced power state for each of the plurality of components to proportionally reduce the power consumption of each of the plurality of components.
16. The computing device of claim 15.
20. the default boost controller selects as the at least one component from the one or more components in an order beginning with a component among the one or more components that has the highest power savings with the lowest performance loss in the reduced power mode.
16. The computing device of claim 15.
Citation Information
Patent Citations
Thermally downward scalable system
US20120166842A1
Methods and apparatus to dynamically configure overclocking frequency
US20210109562A1
