Power management and protection
By dynamically managing the peak power requirements of the computing system components, the problem of peak power limitation when the battery is not fully charged is solved, and system performance optimization and battery adapter size saving is achieved.
Patent Information
- Application Number
- CN202411135279.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2017-04-01
- Filing Date
- 2018-02-28
- Publication Date
- 2025-02-28
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Computing system In the absence of full battery charge, resistance and voltage drop limit the platform peak power, resulting in system performance degradation and unacceptable risk of shutdown, requiring increased battery or adapter size to accept the expected current in the worst case.
By dynamically managing the peak power requirements of system components, adjust the peak power limit of the SoC with the power manager and dynamically adjust the operating voltage of the battery or adapter to optimize system performance.
This achieves the maintenance of system performance when the battery is not fully charged, avoids the need to increase the size of the battery or adapter, and improves the efficiency of the system's peak power usage.
Smart Images

Figure CN119536487A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 201880022907.4, and the name of the invention is “Power Management and Protection”. Technical Field
[0002] The present disclosure generally relates to maximum power protection or peak power protection. Background Art
[0003] Many computing systems (e.g., portable mobile systems or client systems) need to maintain the system voltage above a certain level (e.g., at V min For example, in some mobile systems, the minimum system voltage power management integrated circuit (PMIC) V min This can be 2.5 volts (2.5V). In some client systems, the minimum system voltage regulator (VR) or PMIC voltage V min It can be, for example, 5.6V. Every computing system will have some resistance between the system battery cell and the system VR. This resistance and voltage drop will limit the platform peak power, especially when the battery is not fully charged. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The following detailed description, which includes specific examples of the numerous features of the disclosed subject matter, may be better understood by reference to the appended drawings.
[0005] Figure 1 An example computing system is shown;
[0006] Figure 2 shows a graph of maximum system power and battery voltage;
[0007] Figure 3 A maximum system power diagram is shown;
[0008] Figure 4 A power management system is shown;
[0009] Figure 5 Power management is shown;
[0010] Figure 6 A voltage protection system is shown;
[0011] Figure 7 A computing system is shown;
[0012] Figure 8 One or more processors and one or more media are shown.
[0013] In some cases, the same numbers are used throughout the disclosure and drawings to refer to similar components and features. In some cases, numbers in the 100 series refer to the original Figure 1; numbers in the 200 series refer to features originally found in Figure 2 features found in ; and so on. DETAILED DESCRIPTION
[0014] Some embodiments relate to maximum power protection or peak power protection.
[0015] Some embodiments relate to power management. Some embodiments relate to power generation. Some embodiments relate to voltage generation. Some embodiments relate to power protection. Some embodiments relate to voltage protection.
[0016] As mentioned above, many computing systems (e.g., portable mobile systems or client systems) need to maintain the system voltage above a certain level (e.g., at V min level). Unable to maintain system voltage at V min For example, in some mobile systems, the minimum system voltage power management integrated circuit (PMIC) V min It can be 2.5 volts (2.5V). In some client systems, the minimum system voltage regulator (VR) or PMIC voltage V min It can be 5.6V, for example. Every computing system has some resistance between the system battery cell and the system VR. This resistance and voltage drop will limit the platform peak power, especially when the battery is not fully charged. During high power or high current draw, this resistance will cause the system voltage to drop significantly. When the battery voltage decreases due to the state of charge, it will be below the minimum voltage (V min ) may increase. Since the risk of shutdown is usually unacceptable, the battery or adapter size must be increased to accept the worst-case expected current, and the voltage drop produced by the system leads to a situation where the peak power must be limited to allow the use of smaller batteries and adapters.
[0017] Figure 1 An example computing system 100 is shown showing an exemplary resistance between one or more battery cells 102 and a system voltage regulator (VR), such as, for example, a system on chip (SoC) voltage regulator 104, a modem voltage regulator 106, a memory voltage regulator 108, or one or more other system voltage regulators 110. The resistance between the battery cell(s) and the system voltage regulator(s) may include, for example, the battery cells, the battery connector and the sense resistor(s), the power delivery trace(s) through the field effect transistor or on the motherboard. This example resistance is shown by the following resistance: R con 112 (battery connector resistance), R c114 (resistance of the battery cell or resistance of an external power source (e.g., a power brick, charger, or power supply unit)), R b 116 (battery case resistance), R con 118 (connector resistance) or R mb 120 (main board resistance, such as, for example, field effect transistors, power train, etc.). The amount of such resistance may depend on a variety of factors, including, for example, battery configuration (e.g., multiple battery cells in series vs. multiple battery cells in parallel), quality and design of components, wear, temperature or load steps, etc. In some mobile or client systems, the magnitude of the system resistance may be in the range between 100 mOhm (milliohms) and 200 mOhm. In some mobile or client systems, the magnitude of the system resistance may be in the range between, for example, 50 mOhm to 185 mOhm.
[0018] Figure 1 It can be seen as a conceptual diagram that illustrates the concept of a certain amount of resistance between the battery through the board to the system voltage regulator in a computing system, and a voltage drop across the resistance. In current computing systems, there are limits on how much current or total system power can be consumed, and there is a concern that the minimum voltage of the system should not be violated. The resistance between one or more battery cells and one or more voltage regulators in the computing system will produce a voltage drop (I*R), which will limit the platform peak power (especially when the battery is not fully charged).
[0019] Figure 2 Graph 200 is shown showing the relationship between maximum system power on the vertical axis and battery state of charge on the horizontal axis for an example computing system. Figure 2 As shown, the battery voltage 202 decreases as the state of charge decreases, thereby limiting the amount of current that the battery can deliver without violating the minimum system voltage (V min ) level. Figure 2 Also shown is platform peak power 204 as a function of battery state of charge.
[0020] Limiting peak power can severely impact system performance. In a computing system, the platform peak power budget may need to be allocated among many different system components, such as, for example, display(s), camera(s), modem and connectivity, memory, storage, SoC, etc. Each different system component in a computing system may have a different maximum power (P max) level and reach the peak independently within a very short time frame (e.g., in microseconds). Even in some examples, it is statistically impossible for all system components to reach the peak at the same time, especially in practical use cases, in order to prevent the system from violating the voltage level requirement V min , many systems are still designed to take a conservative approach by max Power management is performed by calculating the worst-case peak power of all system components as the sum of the worst-case peak powers. In some systems, the worst-case PMax is reduced by a static scaling factor (e.g., 25%). This is used to manage the platform maximum system power level P max The approach does not account for component states (e.g., whether a particular platform component is on or off) and may limit, for example, the power budget of the SoC.
[0021] SoC peak power limiting can severely limit the operating frequency of the SoC. Since SoC power is highly dependent on system workload, SoC power can peak unexpectedly and almost immediately. To ensure that SoC power never exceeds its P max budget, it may be necessary to actively control the operating frequency to ensure that the worst-case power surge does not violate P max limit.
[0022] Lower SoC P due to worst-case power assumptions for platform components max The combination of a power budget and the need to limit the SoC frequency to ensure the power budget is not violated can significantly degrade system performance, especially when the battery is not fully charged.
[0023] Figure 3 A simplified diagram 300 is shown which, in some examples, illustrates the maximum power P required to ensure undervoltage protection. max The power margin maintained between the limit 302 and the platform power 304. The maximum power P max The difference between limit 302 and platform power 304 is Figure 3 For example, if the battery is charged to 50%, then Figure 3 The operating platform power budget 304 is shown to be approximately 25 W. This is in contrast to the approximately 55 W budget 302 available based on battery capabilities and system VR limitations, for example.
[0024] To ensure protection for the system, you can limit how much power the system can consume. The system can ensure that in the event of any possible worst-case power spike, it will not exceed the maximum power available to the system. Figure 3 The dashed line 304 representing the platform power shows that the system can operate in some cases to ensure that the system power used does not exceed Figure 3302 represents an example of a maximum power limit. However, the area between the maximum power limit 302 and the platform power 304 represents the power of the undervoltage power budget protection margin that the system will not normally consume to ensure that power usage does not exceed the maximum power limit solid line 302, even in the event of power peaks of various system devices at the same time. Therefore, Figure 3 The brownout margin shown represents the amount of power that is not used because the system is preparing for the situation where multiple system components experience voltage spikes at the same time. Figure 3 In the example shown, at a state of 50% battery charge, the system may be designed to operate the entire system at approximately 25 watts. However, at a state of 50% battery charge, the battery may be able to output approximately 55 watts. The difference between the battery capacity (55 watts) and the power (25 watts) that allows the system to operate is the margin that the system maintains when multiple components peak at the same time. Even if multiple components peak at the same time, the system will still be ensured not to exceed 55 watts of power. However, the area between the dashed line 304 and the solid line 302 is an optimization opportunity. That is, according to some embodiments, the system can use as many power optimization opportunities as possible, such as between lines 302 and 304, and the power between lines 302 and 304 that are additionally used can be converted into system performance.
[0025] A lower power budget can affect the system differently in different workload situations. For example, in some systems, when the maximum power P is applied max When throttling, turbo operating frequencies can be reduced for all workload scenarios, with multi-threaded (MT) workloads showing significant performance degradation (e.g., if the battery is 50% charged, a 40% performance degradation may occur).
[0026] Some embodiments relate to managing undervoltage conditions and platform peak power. According to some embodiments, instead of assuming worst-case peak power, platform components can dynamically communicate their peak power requirements. These requirements can be a function of, for example, user input, internal or external conditions, the state of the component, or the overall system workload. For example, the brightness of a display and the peak power of the display can be a function of user input, the peak power of a modem can depend on external network conditions, and the peak power of an audio subsystem can depend on whether the speakers are turned on or off. As the peak power requirements of components change, these requirements can be provided to the platform peak power management agent (Platform Maximum Power P max agent), which can adjust the SoC peak power (maximum power P max )limit.
[0027] In some embodiments, the platform can provide an undervoltage protection device that monitors the system voltage and asserts a signal (e.g., a voltage protection alarm, a Prochot# signal, or the like) when the voltage drops below a certain threshold (e.g., when the voltage drops below a specified threshold level). The SoC can provide support for a voltage protection alarm (e.g., a fast Prochot# response) that can reduce the power of the SoC in a very short period of time (e.g., within a few microseconds), thereby allowing the platform caps to service the power peak. In some embodiments, the system can remove the maximum power P max margin or guard band, and operate close to the system battery capability. This can significantly improve performance (for example, turbo performance can be significantly improved).
[0028] In some embodiments, the maximum power (P max ) management allows the system to dynamically determine the maximum power (P max ) requirements and operate closer to the battery capability level. This can be done by removing P (e.g., by using a higher brownout threshold with voltage protection alert or SoC Fast Prochot#). max Power margin (e.g. brown-out protection margin) and guard band.
[0029] In some embodiments, brownout protection or minimum voltage management can be used to provide performance advantages across multiple workload scenarios and battery charge levels. For example, with reduced battery charge levels, the performance of various computing system components can be improved (e.g., graphics performance, single-threaded performance, or multi-threaded performance). In some embodiments, applications, workloads, or usage, etc. can be used to deliver higher system performance (e.g., applications, workloads, or usage, etc. using turbo mode, etc.).
[0030] Figure 4A power management system 400 is shown. The power management system may include a power manager 402 (e.g., a power management agent or PMA, a thermal manager, a thermal and power management agent, a peak power manager, a peak power agent, a PMax agent, a dynamic platform thermal framework or DPTF, etc.). In some embodiments, the power manager 402 is implemented in software, hardware, or firmware. In some embodiments, the power manager 402 is implemented in two or more of software, hardware, or firmware. For example, in some embodiments, the power manager 402 may be distributed between software and hardware. In some embodiments, the power manager 402 may be implemented in an operating system (OS). The power management system 400 also includes a number of system components, such as a display 404, a camera 406, audio 408 (e.g., an audio speaker), a storage device 410, a modem 412 (e.g., a connection modem such as WiFi, WiGig, cellular, LTE, 3G, or 4G), or a memory 414. It should be noted that in some embodiments, other system components may be added or in some embodiments, other system components may be included instead. Figure 4 One or more components shown. System 400 also includes a controller 420, which includes, for example, voltage protection 422, peak power limit 424, and PMax lower limit 426. In some embodiments, controller 420 can be a controller on a system on chip (SoC), a processor, a graphics processor, a graphics card or some other type of card (e.g., a field programmable gate array or FPGA), or some other controller, etc. Controller 420 can be any type of controllable element or controller element. System 400 also includes system components such as memory 432 and voltage regulator 434. In some embodiments, memory 432 can be a memory dedicated to controller 420 (e.g., such as dynamic random access memory or DRAM in some embodiments). In some embodiments, voltage regulator 434 can be a voltage regulator of a power supply dedicated to powering controller 420 or other system components. System 400 also includes a power delivery device 440, which can include a critical voltage register 442, a status register 444, an undervoltage protection device 446, and a power gauge PMax device 448. In some embodiments, power delivery device 440 can provide platform power delivery or system power delivery. In some embodiments, the power delivery device 440 may include a power management integrated circuit or PMIC, a charger, discrete power delivery elements, or any power delivery element.
[0031] In some embodiments, a platform or system component (e.g., example components 404, 406, 408, 410, 412, or 414) (or other components not described in Figure 4402. The components shown in FIG. 404 and FIG. 405 may communicate their respective maximum power (or PMax) requirements to the power manager 402. The power manager 402 receives maximum power requests (PMax requests) from one or more system components (or from an overall system power delivery device, such as power delivery 440) and readjusts peak power limits for other system or platform components. The PMax fuel gauge device 448 may be a dedicated platform device for providing PMax requests to the power manager 402 and may provide PMax for the overall computing platform or system. The PMax fuel gauge 448 may monitor the state of charge, temperature, and other parameters and dynamically calculate a new platform / system maximum power (PMax) based on battery voltage and resistance and communicate it to the power manager 402.
[0032] In some embodiments, it is possible (for example, using Figure 4 That is, in some embodiments, the power budget of Figure 3 The undervoltage protection margin shown represents all or part of the power budget (for example, using Figure 4 In some embodiments, a platform component (e.g., a display, camera, audio, modem, connectivity such as WiFi, WiGig, cellular such as LTE, 3G or 4G, storage, memory, or any other component in the system) can dynamically communicate the peak power requirements of that component. For example, Figure 4 4, any of the display 404, camera 406, audio 408, storage device 410, modem 412, or memory 414 may communicate its peak power requirements to the power manager 402.
[0033] As described above, the power manager 402 can be implemented anywhere. For example, it can be implemented in hardware, firmware, software, or an operating system (OS), etc. In some embodiments, the power manager 402 can be a central control point that allows multiple components to transmit their dynamic peak power requirements. In this way, the peak power requirements of any component can change at any time, and these peak power requirements can be dynamically transmitted to the power manager 402. For example, the peak power requirement of the camera 406 can change depending on whether the camera is turned on or off, or whether the flash is enabled. Similarly, the peak power requirement of the display 404 can change depending on the display brightness level setting (for example, if the brightness level of the display 404 is high, the peak power requirement of the display 404 may be relatively high, and if the brightness level of the display is low, the peak power requirement of the display 404 may be relatively low). For example, in the case of audio 408, the peak power requirement can change depending on the volume level setting or whether the speaker is turned on or off, etc. In the case of the storage device 410, the user can specify the expected storage bandwidth (input / output bandwidth or I / O bandwidth), which can also change the peak power requirement of the storage device 410. For example, if the I / O requests per second of storage device 410 or memory 414 decreases, the peak power demand of the component will decrease. Each system component (such as components 404, 406, 408, 410, 412, and 414) can, for example, calculate its peak power demand at any given time and provide it to power manager 402. Power manager 402 can decide how to allocate the total system power budget based on the peak power demand information received from each component in the system. If power manager 402 is implemented in software, then, for example, device drivers can be used to implement communication between the power manager and the components. In some embodiments, communication with power manager 402 can be fully implemented in the component device itself. For example, in the case of an audio speaker, when the speaker is turned on, power manager 402 can receive an interrupt from the audio device itself, which indicates that the peak power demand of the audio device has changed to a specified new level. In some embodiments, if power manager 402 is implemented in hardware, the peak power demand information can be transmitted, for example, via a platform management bus or interface.
[0034] Fuel gauge PMax 448 may be any power delivery element that can calculate a total platform power value (e.g., total system power value, PMax, maximum power, or peak power, etc.) based on, for example, system peak power capabilities. System peak power capabilities may be based on, for example, various physical characteristics, such as battery state of charge, temperature, system resistance, etc. Fuel gauge PMax 448 may calculate the total platform power value and send it to power manager 402. Fuel gauge PMax 448 may dynamically recalculate the total platform power value and update the updated value (e.g., Figure 4 The PMax signal updated in the output is sent to the power manager 402.
[0035] Whenever any component in the system (e.g., display 404, camera 406, audio 408, storage 410, modem 412, memory 414, or other component) updates its peak power requirements, power manager 402 recalculates the total peak power budget for all system components. Once the peak power budgets for the system components are calculated, the remainder of the total power budget can be allocated to one or more controllers in the system, such as controller 420. This allocation of power budgets to controllers 420 is done in Figure 4 4 is shown as: a peak power limit signal from the power manager 402 to the controller 420 (e.g., the peak power limit is the peak power limit of the controller 420). The peak power limit provided from the power manager 402 to the controller 420 is stored in the peak power limit register 424. The controller 420 ensures that no matter what happens in the controller 420, the controller 420 does not exceed the peak power limit stored in the register 424.
[0036] For example, if the brightness of display 404 is 200 nits, and display 404 consumes a peak power budget of 2.5 watts, when a user wants to increase the brightness of display 404 to 400 nits, the peak power required for display 404 to do so may be 5 watts. Before allowing the user to increase the brightness accordingly, display 404 can let power manager 402 know that it is requesting an increase in the peak power budget of display 404. This can be implemented, for example, by a display driver of display 404. Power manager 402 receives a request from display 404 to increase the peak power of display 404 from 2.5 watts to 5 watts, and recalculates the peak power available to other components in view of this change. Power manager 402 can then decide to reduce the peak power limit provided to controller 420 to reduce the peak power limit of controller 420 (or one or more controllers) by 2.5 watts. Alternatively, power manager 402 can decide to notify another component (e.g., storage device 410) that the peak power limit of storage device 410 is below 2.5 watts. In some embodiments, the power manager may decide to notify a combination of components that they will have less peak power (e.g., by notifying the audio 408 that it will have less than 1 watt of peak power, and notifying the camera 406 that it will have less than 1.5 watts of peak power). In some embodiments, the power manager 402 may distribute the 2.5 watt reduction in peak power between the controller 420 and one or more components, etc. For example, the power manager 402 may notify the controller 420 that it needs to reduce peak power by 1.5 watts, notify the storage device 410 that it needs to reduce peak power by 0.5 watts, and notify the audio 408 that it needs to reduce peak power by 0.5 watts. The reduction in peak power for some components and the increase in peak power for other components may be implemented based on a peak power policy within the power manager 402 (or accessible by the power manager 402).
[0037] If a component reduces its peak power for some reason (e.g., the user turns off the speaker and the audio 408 requires less peak power), the component notifies the power manager 402, and the power manager 402 determines that the component or controller, or a combination thereof, will receive an increase in the peak power budget, and notifies these components or controllers of the increase in their peak power budget, and notifies the components that need to reduce their peak power of the decrease in their peak power budget. If a component needs to increase its peak power for some reason (e.g., the user turns on the camera 406 and the camera 406 requires more peak power), the component notifies the power manager 402, and the power manager 402 determines that the component or controller, or a combination thereof, will receive a decrease in the peak power budget, and notifies these components or controllers of the decrease in their peak power budget, and notifies the requesting component of the increase in its peak power budget.
[0038] In some embodiments, the system (or platform) may consume more power than the battery can provide in a very short period of time, for example, due to the inherent capacitance of the system. For example, even if the system may have a peak power capacity at a particular time, such as a battery state of charge of 55 watts, the system may be able to consume 70 watts or 80 watts in a very short period of time. In some embodiments, the system very quickly detects the situation where an amount of power above the peak power capacity is consumed. For example, the peak power limit of a single system component can be reduced so that the system quickly consumes less than the limit (e.g., a 55 watt system peak power limit). For example, this can be implemented using a critical voltage (Vcritical) threshold register 442, which can be initially set by an original equipment manufacturer (OEM) 436 or a basic input / output system (BIOS) 436. In some embodiments, the critical voltage threshold register 442 can be continuously updated by the power manager 402 based on platform characteristics (e.g., based on PMax, peak power budget, or current peaks that can be accommodated by various system components, etc.). The power delivery device 440 also monitors the system voltage Vsys, and when the system voltage exceeds a certain level relative to the stored critical voltage threshold 442 (e.g., when Vsys drops below the critical voltage threshold 442), the undervoltage protection device 446 generates a protection alarm signal (e.g., a voltage protection alarm or a power protection alarm) to the controller 420. Figure 4 446, which is shown in FIG. 44A , but the protection alarm signal may also be provided to other system components (e.g., to the storage device 410, another controller such as a discrete graphics card, etc.). In some embodiments, the peak power signal provided from the power manager 402 to the undervoltage protection device 446 is a control signal indication from the power manager 402 to the undervoltage protection device 446, which tells the undervoltage protection device 446 what threshold to use. In some embodiments, when the system voltage Vsys exceeds a threshold (such as the critical voltage threshold 442), the undervoltage protection device 446 provides a protection alarm signal to multiple system components. The protection alarm signal can tell the controller 420 and other system components to reduce the peak power consumption to a minimum level. For example, in the case of the controller 420, the protection alarm signal sent from the undervoltage protection device 446 to the controller 420 instructs the controller 420 to reduce its peak power consumption to the PMax lower limit stored in the register 426. In some embodiments, the protection alarm signal can be sent to the controller 420 using an existing pin of the controller (such as an existing pin of the controller), or a new signal interface (e.g., a peak power alarm signal) for the controller 420 can be implemented. The status register 444 may be used to store a number of alarms that have occurred (eg, how many times the power delivery device 440 has issued a protection alarm signal).
[0039] In some embodiments, when power manager 402 determines the peak power of various components and determines what value to set critical voltage threshold 442 to, the power manager may assume the levels to which the platform power components dropped their respective power values when the protection alert signal was generated.
[0040] In some embodiments, the power manager 402 knows the peak power of the system components, how low the peak power will drop if a protection alarm is generated, and the resistance of the system, and can calculate what the critical voltage threshold 442 should be based on one or more of these factors. This threshold is transmitted by the power manager 402 to the undervoltage protection device 446 control so that the threshold can be set and monitored by the undervoltage protection device 446 and a protection signal is triggered when the voltage threshold is exceeded.
[0041] In some embodiments, a system component (e.g., Figure 4 In some embodiments, for some or all system components (e.g., Figure 4 In some embodiments, the peak power requirement of a device may be calculated by a power manager (e.g., by power manager 402 in response to a state transition signal from a system component). In some embodiments, the power manager or a system component may delay a transition of a system component from one state to another until the peak power allocation has been adjusted. In some embodiments, a controller (e.g., controller 420) or another system component (e.g., Figure 4 A system component of which may receive an alarm signal (such as Figure 4 protection alarm) and then reduce its peak power to a specific level.
[0042] Figure 5 5 is a flowchart 500 illustrating a power management process. In some embodiments, Figure 5 The power management flow 500 shown may be implemented, for example, by the power manager 402. In some embodiments, the power management flow 500 may be implemented in software. In some embodiments, the power management flow 500 supports a maximum power (PMax) flow for slower system / platform components that can tolerate software delays (e.g., a software delay of several hundred milliseconds) before granting their PMax requests. Figure 5 As shown, these components may include a camera component, a display component, and an audio component, but may include different components in addition to or in place of one or more of these components. In some embodiments, Figure 5 A more detailed flow chart showing the power of the components, and some system components (e.g. Figure 4 How some system components shown) communicate with the power manager to implement various embodiments. Note that Figure 5 The flowchart includes processes related to components such as cameras, displays, and audio devices, but some embodiments may, for example, involve different system components, or may include additional system components. As described above, according to some embodiments, one or more system components may calculate a worst-case peak power (e.g., on an ongoing basis, dynamically, or continuously), for example, the state and configuration of the component, and provide it to a peak power manager (such as power manager 402) so that the peak power manager knows (e.g., dynamically) the peak power (e.g., PMax or maximum power) of each component.
[0043] At block 502, the computing system platform may monitor or identify a change in the state of charge or temperature of a battery. Then, at 504, a new platform maximum power (PMax) may be calculated (e.g., using a fuel gauge, such as fuel gauge 448). At 506, a request for a new Pmax level (e.g., as requested by a fuel gauge, such as fuel gauge 448) may be received (e.g., by a power manager, such as power manager 402).
[0044] At block 512, a user may request a change in the state (e.g., on / off state) of a camera (e.g., such as camera 406). For example, the request may be made using a user interface (e.g., an operating system user interface). At 514, a new camera maximum power (PMax) is calculated (e.g., using a camera driver or a system power management driver, or provided directly by the device). At 516, a new camera PMax level request is received (e.g., by a power manager such as power manager 402 from a camera driver of a camera such as camera 406).
[0045] At block 522, a user may request a change in the state (e.g., brightness level) of a display (e.g., such as display 404). For example, the request may be made using a user interface (e.g., an operating system user interface). At 524, a new display maximum power (PMax) is calculated (e.g., using a display driver or a system power management driver, or provided directly by the device). At 526, a new display PMax level request is received (e.g., by a power manager such as power manager 402 from a display driver of a display such as display 404).
[0046] At block 532, a user may request to change the state of an audio device (e.g., audio device 408) (e.g., an on / off state or change the audio volume or speaker volume). For example, the request may be made using a user interface (e.g., an operating system user interface). At 534, a new audio maximum power (PMax) is calculated (e.g., using an audio driver or a system power management driver, or provided directly by the device). At 516, a new camera PMax level request is received (e.g., by a power manager such as power manager 402 from a driver of an audio device such as audio device 408).
[0047] At block 552, a new platform PMax is calculated (e.g., by a power manager such as power manager 402). In some embodiments, the new platform PMax value may be calculated in response to a battery condition (e.g., via blocks 502, 504, 506), and in some embodiments, the new platform PMax value may be calculated in response to a change in one or more platform components. At block 554, a controller adjusts a peak power level of a controller (e.g., a controller in a computing system such as controller 420, a SoC, or a processor). At block 556, a power manager (such as power manager 402) allows a component PMax to change (e.g., a platform or system component such as a display, camera, audio device, storage device, modem, memory, etc.).
[0048] In some embodiments, for example, when a user changes the display brightness, the power manager 500 can calculate a new display PMax requirement and send a request to a power manager (e.g., such as power manager 402) with its new PMax value. For example, in some embodiments, when a user changes the display brightness, a power manager (such as power manager 402 or power manager 500) calculates a new PMax value. If a lower peak power is requested (e.g., lower display brightness), the power manager acknowledges the request and uses the available power budget to increase the peak power of other platform components (e.g., controllers such as SoCs or processors) (thereby improving performance). If a higher peak power level is requested (e.g., higher display brightness), the power manager first reduces the PMax level of other components (e.g., controllers such as SoCs or processors) to free up the PMax power budget required by the display to increase the brightness, and sends an acknowledgement to the display driver.
[0049] Additionally, any other platform or system component can perform a similar process with the power manager. For example, when the user turns the camera on or off or adjusts the speaker volume, the corresponding driver can calculate a new PMax request, send it to the power manager, and wait for confirmation before allowing the user to complete the action.
[0050] In some embodiments, the power manager may be implemented in hardware. For example, this may be implemented for platform components that cannot tolerate software delays before being allowed to change their state and corresponding PMax level. For example, in some embodiments, a cellular modem may tolerate up to 10ms of delay after receiving a request from the network and before it must change the transmit power or throughput. For such devices, it may be desirable to implement the power manager in hardware. In some embodiments, a power manager implemented in hardware may be included in a system controller (e.g., controller 420 or SoC or processor). In some embodiments, a power manager implemented in hardware may be included in a power delivery device (e.g., power delivery device 440). In some embodiments, a power manager implemented in hardware may be implemented in a separate device (e.g., such as power manager 402). In some embodiments, in a hardware implementation, a platform component may communicate with the hardware power manager through a platform interface (e.g., I2C) or an input / output (I / O) interface (e.g., PCIe, PCI Express, or Peripheral Component Interconnect Express), or otherwise through a communication interface similar to Figure 5 The process shown.
[0051] Figure 6 A voltage protection system 600 (eg, an undervoltage protection system) is shown. Figure 6 6. In some embodiments, the voltage protection system 600 monitors the system voltage (Vsys) and asserts a protection alarm (eg, voltage protection signal, PROCHOT# or other signal) if the voltage drops below a certain threshold level.
[0052] In some embodiments, the voltage protection system 600 includes a power manager (or power management agent, PMA, etc.) 602 (eg, Figure 4 ) and a plurality of system components 604, . . . , 614 (e.g., Figure 4 ). System 600 also includes a controller (e.g., a SoC, a processor, or other controller in the system) 620, an undervoltage protection device 646 having a voltage sensor 650 and an undervoltage protection (UVP) threshold 652. System 600 also includes a fuel gauge platform PMax device 648.
[0053] In some embodiments, the power manager 602 updates (e.g., continuously updates) voltage thresholds based on the current platform PMax, battery voltage, and real-time platform power consumption measurements (Psys). The undervoltage protection device can sense the voltage Vsys using the voltage sensor 650 and generate a protection alarm when the undervoltage protection threshold 652 is exceeded. The controller 620 can provide support for a protection alarm response (e.g., voltage protection, PROCHOT#, or fast PROCHOT# signal) that can reduce the power of the controller very quickly (e.g., within a few microseconds) and allow the platform power cap (caps) to service any power peaks. In some embodiments, the system 600 is able to remove the PMax margin (or protection band) and can operate close to the system battery capacity. This can significantly improve performance (e.g., can significantly improve turbo performance).
[0054] In some embodiments, a power manager such as power manager 602 knows the power Psys being consumed by the system, the peak power levels requested by system components 604, ..., 614, and the overall platform peak power (e.g., from fuel gauge 648). Based on these inputs, power manager 602 calculates an undervoltage threshold and sets the threshold in UVP threshold storage device 652. When voltage sensor 650 senses that the actual system voltage Vsys exceeds the threshold 652, the threshold voltage stored in UVP threshold 652 is triggered, and undervoltage protection device 646 issues a protection alarm signal. The protection alarm signal is provided to controller 620. It should be noted that the protection alarm signal may be provided to one or more other system components in addition to controller 620 (or in lieu of controller 620).
[0055] Figure 7 is a block diagram of an example of a computing device 700 according to some embodiments, which may include, for example, power management, peak power management, brown-out protection, power generation, voltage generation, power protection, voltage protection, etc. In some embodiments, any portion of the circuits or systems shown in any embodiment described herein and any one or more of the figures may be included in or implemented by the computing device 700. The computing device 700 may be, for example, a computing device, a portable device, a wearable device, an Internet of Things (IoT) device, a mobile phone, a mobile device, a cell phone, a laptop computer, a desktop computer, or a tablet computer. The computing device 700 may include a processor 702 suitable for executing stored instructions, and a memory device 704 (or storage device 704) storing instructions that may be executed by the processor 702. The processor 702 may be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. For example, the processor 702 may be Processors such as Celeron, Pentium, Core, Core i3, Core i5 or Core i7 processor. In some embodiments, processor 702 may be based on processor. In some embodiments, the processor 702 may be an ARM-based processor. The memory device 704 may be a memory device or a storage device, and may include a volatile memory, a non-volatile memory, a random access memory, a read-only memory, a flash memory, or any other suitable memory or storage system. As described in this specification, the instructions executed by the processor 702 may also be used to implement power management, peak power management, undervoltage protection, power generation, voltage generation, power protection, or voltage protection, etc. In some embodiments, the processor 702 may include features or functions that are the same or similar to, for example, various controllers (e.g., controller 420 or controller 620) in the present disclosure.
[0056] Processor 702 may also communicate with each other via system interconnect 706 (e.g., NuBus, etc.) is linked to a display interface 708 suitable for connecting the computing device 700 to a display device 710. The display device 710 may include a display controller 730. The display device 710 may also include a display screen that is a built-in component of the computing device 700. The display device may also include a computer monitor, a television, or a projector, etc., which is externally connected to the computing device 700. In some embodiments, the computing device 700 does not include a display interface or a display device.
[0057] In some embodiments, display interface 708 may include any suitable graphics processing unit, transmitter, port, physical interconnect, etc. In some examples, display interface 708 may implement any suitable protocol for sending data to display device 710. For example, display interface 708 may send data using a High-Definition Multimedia Interface (HDMI) protocol, a DisplayPort protocol, or some other protocol or communication link, etc.
[0058] In addition, a network interface controller (also referred to herein as a NIC) 712 may be adapted to connect the computing device 700 to a network (not shown) via the system interconnect 706. The network (not shown) may be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others.
[0059] The processor 702 may be connected via a system interconnect 706 to an input / output (I / O) device interface 714 suitable for connecting the computing host device 700 to one or more I / O devices 716. The I / O device 716 may include, for example, a keyboard or a pointing device, where the pointing device may include a touch pad or a touch screen, etc. The I / O device 716 may be a built-in component of the computing device 700, or may be a device connected to the computing device 700 from the outside.
[0060] In some embodiments, the processor 702 may also be linked to a storage device 718 via the system interconnect 706, which may include a hard drive, a solid state drive (SSD), a magnetic drive, an optical drive, a USB flash drive, a drive array, or any other type of storage device, including combinations thereof. In some embodiments, the storage device 718 may include any suitable application. In some embodiments, the storage device 718 may include a basic input / output system (BIOS) 720.
[0061] In some embodiments, a power device 722 is provided. For example, in some embodiments, the power device 722 can provide charging, power, power supply, power delivery, power management, peak power management, undervoltage protection, power control, voltage regulation, power generation, voltage generation, power protection, or voltage protection, etc. In some embodiments, the power device 722 can be part of the system 700, and in some embodiments, the power device 722 can be external to the rest of the system 700. In some embodiments, the power device 722 can provide charging, power, power supply, power delivery, power management, peak power management, undervoltage protection, power control, voltage regulation, power generation, voltage generation, power protection, or voltage protection or related techniques described herein. For example, in some embodiments, the power device 722 can provide power management, peak power management, undervoltage protection, power generation, voltage generation, power protection, or voltage protection, etc., as described or shown with reference to any of the figures herein. In some embodiments, for example, the power device 722 includes Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 5 or Figure 6 one or more elements of a .
[0062] Figure 7 Also shown is a system component 724. In some embodiments, the system component 724 may include any of a display, camera, audio, storage device, modem or memory component, or any other system component. In some embodiments, the system component 724 may include any system component for implementing power, voltage, power management, etc. according to some embodiments described herein.
[0063] It should be understood that Figure 7 The block diagram is not intended to indicate that computing device 700 includes Figure 7 Instead, computing device 700 may include Figure 7 702. In some embodiments, the power device 722 may include fewer or additional components not shown (e.g., additional memory components, embedded controllers, additional modules, additional network interfaces, etc.). In addition, any functionality of the power device 722 may be implemented in part or in whole in hardware or a processor (such as the processor 702). For example, the functionality may be implemented by a dedicated integrated circuit, implemented logically in an embedded controller, or implemented logically in the processor 702, etc. In some embodiments, the functionality of the power device 722 may be implemented with logic, where the logic referred to herein may include any suitable hardware (e.g., a processor, etc.), software (e.g., an application, etc.), firmware, or any suitable combination of hardware, software, or firmware. In some embodiments, the power device 722 may be implemented using an integrated circuit.
[0064] Figure 8 800 and one or more tangible, non-transitory, computer-readable media 800. The processor(s) 802 may access the one or more tangible, non-transitory, computer-readable media 800 via a computer interconnect 804. In addition, the one or more tangible, non-transitory, computer-readable media 800 may include code for directing the processor(s) 802 to perform operations described herein. In some embodiments, the processor 802 is one or more processors. In some embodiments, the processor 802 may use the instructions (code) included on the medium 800 to perform some or all of the same or similar functions that may be performed by other elements described herein (e.g., reference 802). Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 5 , Figure 6 or Figure 7 In some embodiments, the one or more processors 802 may include the same or similar features or functions as, for example, various controllers (e.g., controller 420, controller 620, or processor 702) in the present disclosure.
[0065] The various components discussed in this specification may be implemented using software components. These software components may be stored on one or more tangible non-transitory computer-readable media 800, such as Figure 8As shown. For example, power management, peak power management, undervoltage protection, power generation, voltage generation, power protection, or voltage protection, etc., may be suitable for directing the processor 802 to perform any one or more operations described in this specification and / or with reference to the accompanying drawings. For example, in some embodiments, the one or more media 800 include one or more of the power generation 806, voltage generation 808, power protection 812, voltage protection 814 (e.g., undervoltage protection), or power management 816 components.
[0066] It should be understood that any suitable number of software components may be included within one or more tangible, non-transitory computer-readable media 800. Figure 8 Any number of additional software components, shown or not shown, may be included within one or more tangible, non-transitory computer-readable media 800, depending on the particular application.
[0067] This specification refers to systems and platforms. For example, in some places, this specification refers to platform power, and in some places, this specification refers to system power. Note that where a system is included, platforms can also be considered to be included in the same manner. It should also be noted that if a platform is included, systems can also be considered to be included in the same manner. For example, if system power (or system voltage) is involved, the reference can also be applied to platform power (or platform voltage). Similarly, if platform power (or platform voltage) is mentioned, the reference can also be applied to system power (or system voltage).
[0068] References in the specification to "one embodiment" or "an embodiment" or "some embodiments" of the disclosed subject matter mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosed subject matter. Thus, the phrase "in one embodiment" or "in some embodiments" may appear in various places throughout the specification, but the phrase is not necessarily referring to the same embodiment or embodiments.
[0069] Example 1 In some examples, a peak power system includes a plurality of system components, one or more of which dynamically provide a peak power demand of the component. The peak power system also includes a peak power manager for receiving the peak power demand of the one or more system components and dynamically providing an updated component peak power limit to one or more of the system components based on a system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The peak power system may include an undervoltage protection device for monitoring a system voltage and providing an alarm signal if the system voltage drops below a threshold. The peak power system may also have one or more system components that reduce the peak power consumption of the component in response to the alarm signal. The power manager may provide a threshold to the undervoltage protection device. The peak power system may include a controller, wherein the peak power manager dynamically provides an updated controller peak power limit to the controller based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The controller may be one or more of a controller on a processor, an SoC, a graphics processor, or an external card. The peak power system may include an undervoltage protection device that monitors the system voltage and provides an alarm signal if the system voltage drops below a threshold, the controller reduces the controller peak power consumption in response to the alarm signal, and / or one or more system components reduce the peak power consumption of the component in response to the alarm signal. The plurality of system components may include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
[0070] Example 2 In some examples, a peak power method includes: dynamically receiving a peak power demand of one or more of a plurality of system components; and dynamically providing an updated component peak power limit to one or more of the system components based on a system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The peak power method may include: monitoring a system voltage; and providing an alarm signal if the system voltage drops below a threshold. The peak power method may include reducing a peak power consumption of one or more of the system components in response to the alarm signal. The peak power method may include updating a threshold. The peak power method may include dynamically providing an updated controller peak power limit to a controller based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The controller may be one or more of a controller on a processor, a SoC, a graphics processor, or an external card. The peak power method may include: monitoring a system voltage; and providing an alarm signal if the system voltage drops below a threshold; and reducing a peak power consumption of the controller in response to the alarm signal, and / or reducing a peak power consumption of one or more of the system components in response to the alarm signal. The multiple system components may include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
[0071] Example 3 In some examples, one or more tangible non-transitory machine-readable media, including multiple instructions, in response to the multiple instructions being executed on at least one processor, causes the at least one processor to: dynamically receive peak power requirements of one or more of a plurality of system components; and dynamically provide updated component peak power limits to one or more of the system components based on the system peak power limit and based on at least one updated peak power requirement received from at least one of the one or more system components. One or more tangible non-transitory machine-readable media, including multiple instructions, in response to the multiple instructions being executed on at least one processor, causes the at least one processor to: monitor system voltage; and provide an alarm signal if the system voltage drops below a threshold. One or more tangible non-transitory machine-readable media, including multiple instructions, in response to the multiple instructions being executed on at least one processor, causes the at least one processor to: reduce peak power consumption of one or more of the system components in response to the alarm signal. One or more tangible non-transitory machine-readable media, including multiple instructions, in response to the multiple instructions being executed on at least one processor, causes the at least one processor to update a threshold. One or more tangible non-transitory machine-readable media, including a plurality of instructions, in response to which the plurality of instructions are executed on at least one processor, so that the at least one processor dynamically provides an updated controller peak power limit to the controller based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The controller can be one or more of a processor, a SoC, a graphics processor, or a controller on an external card. One or more tangible non-transitory machine-readable media, including a plurality of instructions, in response to which the plurality of instructions are executed on at least one processor, so that the at least one processor: monitors the system voltage; provides an alarm signal if the system voltage drops below a threshold; and reduces the peak power consumption of the controller in response to the alarm signal, and / or reduces the peak power consumption of one or more of the system components in response to the alarm signal. The plurality of system components can include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
[0072] Example 4 In some examples, a peak power system includes a plurality of system components, one or more of which include a module for dynamically providing a peak power demand of the component; and a module for managing peak power, the module for managing peak power receiving the peak power demand of one or more system components and dynamically providing an updated component peak power limit to one or more of the system components based on a system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The system may include a module for protecting undervoltage; a module for monitoring system voltage; and a module for providing an alarm signal when the system voltage drops below a threshold. The system may include a module in one or more system components for reducing the peak power consumption of the component in response to the alarm signal. The system may include a module for providing a threshold to the module for protecting undervoltage. The system may include: a module for controlling; and a module for dynamically providing an updated controller peak power limit to the module for controlling based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The module for controlling may be one or more of a controller on a processor, SoC, graphics processor, or external card. The system may include: a module for monitoring system voltage; a module for providing an alarm signal when the system voltage drops below a threshold; a module for reducing the peak power consumption of a module for controlling in response to the alarm signal; and / or a module for reducing the peak power consumption of one or more system components in response to the alarm signal. The plurality of system components may include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
[0073] Example 5 In some examples, a peak power method includes: dynamically receiving a peak power demand of one or more of a plurality of system components; and dynamically providing an updated component peak power limit to one or more of the system components based on a system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The method may include: monitoring a system voltage; and providing an alarm signal if the system voltage drops below a threshold. The method may include reducing a peak power consumption of one or more of the system components in response to the alarm signal. The method may include updating a threshold. The method may include dynamically providing an updated controller peak power limit to a controller based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components. The controller may be one or more of a controller on a processor, a SoC, a graphics processor, or an external card. The method may include: monitoring a system voltage; and providing an alarm signal if the system voltage drops below a threshold; and reducing a peak power consumption of the controller in response to the alarm signal, and / or reducing a peak power consumption of one or more of the system components in response to the alarm signal. The plurality of system components may include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device. The apparatus may include an apparatus for performing any of the methods described herein. The machine-readable storage device may include machine-readable instructions that, when executed, are used to implement any of the methods described herein or to implement any of the apparatus described herein.
[0074] Example 6 In some examples, a system component or controller may provide a maximum peak power (or PMax requirement). In some examples, for some or all system components or controllers, the component or controller may request a state transition with or without requesting its peak power requirement. For example, in some examples, one or more (or all) components only request a state transition (e.g., in the case of an audio device, the audio device may request a speaker-on state or a speaker-off state). In some examples, the peak power requirement may come from the device itself (e.g., from a register in an audio device or other device). In some examples, the peak power requirement of the device may be calculated by a power manager (e.g., in response to a state transition signal from a system component). In some examples, a power manager or system component may delay the transition of a system component from one state to another until the peak power allocation has been adjusted. In some examples, a controller or another system component may reduce its peak power to a specific level after receiving an alarm signal such as a protection alarm signal (e.g., an undervoltage protection signal).
[0075] Although example embodiments and examples of the disclosed subject matter are described with reference to the circuit diagrams, flow charts, block diagrams, etc. in the accompanying drawings, it will be readily appreciated by those skilled in the art that many other ways of implementing the disclosed subject matter may be used alternatively. For example, the arrangement of the elements in the drawings or the execution order of the blocks in the drawings may be changed, or some circuit elements in the circuit diagrams and the blocks in the described block diagrams / flow charts may be changed, eliminated, or combined. Any element as shown or described may be changed, eliminated, or combined.
[0076] In the foregoing description, various aspects of the disclosed subject matter have been described. For illustration, specific numbers, systems, and configurations have been set forth to provide a thorough understanding of the subject matter. However, it will be apparent to those skilled in the art who benefit from the present disclosure that the subject matter may be practiced without the specific details. In other cases, well-known features, components, or modules are omitted, simplified, merged, or separated to avoid obscuring the disclosed subject matter.
[0077] Various embodiments of the disclosed subject matter may be implemented in hardware, firmware, software, or a combination thereof, and may be described by reference or in conjunction with program code (such as instructions, functions, procedures, data structures, logic, applications, design representations or formats for simulation, emulation, and design fabrication) that, when accessed by a machine, causes the machine to perform tasks, define abstract data types or low-level hardware contexts, or produce results.
[0078] Program code may represent hardware using a hardware description language or another functional description language that essentially provides a model of how the intended designed hardware will perform. Program code may be assembly language or machine language or a hardware definition language, or may be compiled or interpreted data. Furthermore, it is common in the art to refer to software in one form or another as taking an action or causing a result. Such expressions are simply a shorthand way of stating that a processing system executes program code, which causes a processor to perform an action or produce a result.
[0079] The program code may be stored, for example, in one or more volatile or non-volatile storage devices, such as a storage device or associated machine-readable or machine-accessible media, including solid-state memory, hard drive, floppy disk, optical storage device, magnetic tape, flash memory, memory stick, digital video disk, digital versatile disk (DVD), etc., as well as more exotic media such as machine-accessible biological state preservation storage. The machine-readable medium may include any tangible mechanism for storing, sending or receiving information in a machine-readable form, such as an antenna, optical fiber, a communication interface, etc. The program code may be transmitted in the form of packets, serial data, parallel data, etc., and may be used in a compressed or encrypted format.
[0080] The program code can be implemented as a program executed on a programmable machine, such as a mobile or fixed computer, a personal digital assistant, a set-top box, a cellular phone and a pager and other electronic devices, each of which includes a processor, a volatile or non-volatile memory readable by the processor, at least one input device or one or more output devices. The program code can be applied to the data input using the input device to execute the described embodiment and generate output information. The output information can be applied to one or more output devices. It will be appreciated by those of ordinary skill in the art that the embodiments of the disclosed subject matter can be practiced with various computer system configurations, including multi-processor or multi-core processor systems, minicomputers, mainframe computers, and popular or minicomputers or processors that can be virtually embedded in any device. The embodiments of the disclosed subject matter can also be practiced in a distributed computing environment, in which tasks can be performed by remote processing devices linked by a communication network.
[0081] Although the operations may be described as sequential processes, in practice some operations may be performed in parallel, simultaneously or in a distributed environment, and the program code may be stored locally or remotely for access by a single processor or a multi-processor machine. Additionally, in some embodiments, the order of the operations may be rearranged without departing from the spirit of the disclosed subject matter. The program code may be used by or in conjunction with an embedded controller.
[0082] Although the disclosed subject matter has been described with reference to illustrative embodiments, the description is not intended to be interpreted in a restrictive sense. It is apparent to those skilled in the art that various modifications of the exemplary embodiments and other embodiments of the subject matter are considered to fall within the scope of the disclosed subject matter. For example, in each illustrated embodiment and each described embodiment, it should be understood that the drawings and descriptions herein are not intended to indicate that the devices shown or described include all components shown in or described with reference to a particular figure. In addition, each element can be implemented with logic, wherein the logic referred to herein may include any suitable hardware (e.g., processor, etc.), software (e.g., application, etc.), firmware, or any suitable combination of hardware, software, and firmware, for example.
Claims
1. A peak power system, comprising: a plurality of system components, one or more of the plurality of system components dynamically providing a peak power demand of the component; and Peak Power Manager for: receiving a peak power demand of the one or more system components; dynamically providing an updated component peak power limit to one or more of the system components based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components; receiving, from a first system component of the system components, a request by the first system component for a change in peak power; as well as In response to the request received from the first system component, a peak power limit of the first system component is adjusted, and a peak power limit of at least one other of the system components is adjusted.
2. The system according to claim 1, comprising an undervoltage protection device for: A system voltage is monitored and an alarm signal is provided if the system voltage drops below a threshold.
3. The system according to claim 2, wherein: One or more of the system components reduces peak power consumption of the component in response to the alarm signal. 4 . The system according to claim 1 , wherein the power manager provides the threshold value to the undervoltage protection device.
5. The system according to any one of claims 1 to 3, comprising a controller, wherein: The peak power manager dynamically provides an updated controller peak power limit to the controller based on the system peak power limit and based on the at least one updated peak power demand received from the at least one of the one or more system components.
6. The system according to claim 5, wherein: The controller is one or more of a controller on a processor, a SoC, a graphics processor, or an external card.
7. The system of claim 5, comprising an undervoltage protection device for: monitoring the system voltage and providing an alarm signal if the system voltage drops below a threshold value, The controller reduces a peak power consumption of the controller in response to the alarm signal, and / or one or more of the system components reduces a peak power consumption of the component in response to the alarm signal.
8. The system according to any one of claims 1 to 3, wherein: The plurality of system components include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
9. A peak power method comprising: dynamically receiving a peak power demand of one or more of the plurality of system components; dynamically providing an updated component peak power limit to one or more of the system components based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components; receiving, from a first system component of the system components, a request by the first system component for a change in peak power; as well as In response to the request received from the first system component, a peak power limit of the first system component is adjusted, and a peak power limit of at least one other of the system components is adjusted.
10. The method according to claim 9, comprising: Monitor system voltage; as well as If the system voltage drops below a threshold, an alarm signal is provided.
11. The method according to claim 10, comprising: Peak power consumption of one or more of the system components is reduced in response to the alarm signal.
12. The method according to any one of claims 9 to 11, comprising: The threshold is updated.
13. The method according to any one of claims 9 to 11, comprising: An updated controller peak power limit is dynamically provided to a controller based on the system peak power limit and based on the at least one updated peak power demand received from the at least one of the one or more system components.
14. The method according to claim 13, wherein: The controller is one or more of a controller on a processor, a SoC, a graphics processor, or an external card.
15. The method according to claim 13, comprising: Monitor system voltage; providing an alarm signal if the system voltage drops below a threshold; as well as A peak power consumption of the controller is reduced in response to the alarm signal, and / or a peak power consumption of one or more of the system components is reduced in response to the alarm signal.
16. The method according to any one of claims 9 to 11, wherein: The plurality of system components include one or more of a display, a camera, an audio device, a storage device, a memory, a modem, a communication device, an LTE communication device, a WiFi modem, a WiGig modem, a 2G communication device, a 3G communication device, or a 4G communication device.
17. A machine-readable medium comprising machine-readable instructions, which, when executed, cause a machine to perform the method according to any one of claims 9 to 11.
18. A peak power system comprising: a plurality of system components, one or more of the plurality of system components dynamically providing a peak power demand of the component; bus; and Peak Power Manager for: receiving, via the bus, a peak power demand of the one or more system components; dynamically providing an updated component peak power limit to one or more of the system components via the bus based on the system peak power limit and based on at least one updated peak power demand received from at least one of the one or more system components; receiving, via the bus, from a first system component of the system components a request for a change in peak power by the first system component; as well as In response to the request received from the first system component, a peak power limit of the first system component is adjusted, and a peak power limit of at least one other of the system components is adjusted.
19. The system according to claim 18, comprising an undervoltage protection device for: A system voltage is monitored and an alarm signal is provided if the system voltage drops below a threshold.
20. The system of claim 19, wherein: One or more of the system components reduces peak power consumption of the component in response to the alarm signal.