Power system state retrieval after abrupt shutdown
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2024-06-28
- Publication Date
- 2026-06-03
AI Technical Summary
Computing devices experience brownouts due to power fluctuations, which disrupt the ability of system on a chip (SoC) to store power state information temporally proximate to these events, making it difficult to determine the cause and mitigate future brownouts.
A power management integrated circuit (PMIC) monitors power signals to predict brownouts and stores power information at its local memory, enabling accurate determination of brownout causes by outputting this information to the SoC after a reboot.
Enables more accurate determination of brownout causes by preserving power state information during fluctuations, allowing for effective mitigation strategies.
Smart Images

Figure US2024036136_02012026_PF_FP_ABST
Abstract
Description
POWER SYSTEM STATE RETRIEVAE AFTER ABRUPT SHUTDOWNBACKGROUND
[0001] Computing devices include one or more power supplies and various subsystems that operate using electrical power provided by the power supplies. If one or more of the subsystems draws too much power, the computing device may experience a brownout.SUMMARY
[0002] In general, aspects of this disclosure are directed to power management integrated circuits (PMICs) of computing devices that automatically store power state information responsive to predicting occurrence of a brownout. A system on a chip (SoC) of a computing device may include multiple subsystems that receive power from different power rails of a PMIC of the computing device. The SoC may monitor and store power state information (e.g., voltage and / or current levels of power signals received via the power rails). However, in the event of a brownout, operation of the SoC may be adversely impacted due to power fluctuations. As such, the SoC may be unable to store power state information of the power rails temporally proximate to brownout events. Without power state information temporally proximate to brownout events, it may be difficult to determine causes of brownout events and / or adjust device operation to mitigate future brownout events.
[0003] In accordance with one or more aspects of this disclosure, a PMIC of a computing device may monitor power signals to predict occurrence of a brownout and, responsive to predicting occurrence of the brownout, store power information at local memory of the PMIC. For instance, responsive to predicting occurrence of the brownout, a controller of the PMIC may store power information (e.g., data representing voltage and / or current levels of power signals generated by power rails 114) at the local memory of the PMIC. The controller and the local memory of the PMIC may generally be more resilient to brownouts than the SoC. As such, the controller may be able to store, at the local memory, power state information that is temporally proximate to brownout events. Following a brownout event (e.g., after the computing device has rebooted), the PMIC may output the stored power state information to the SoC. The SoC may facilitate determining of brownout event causation using the power state information received from the PMIC. In this way, the PMIC may enable more accurate determination of causes of brownout events.
[0004] As one example, a method includes generating, by a PMIC of a computing device, one or more power signals for components of the computing device that include a SoC of the computing device; responsive to predicting occurrence of a brownout, storing, by the PMIC and at local memory of the PMIC, power information of the one or more power signals; and outputting, by the PMIC and to the SoC, the power information.
[0005] As another example, a computing device includes an SoC; and a PMIC configured to generate one or more power signals for components of the computing device that include the SoC; store, responsive to predicting occurrence of a brownout and at local memory of the PMIC, power information of the one or more power signals; and output, to the SoC, the power information.
[0006] As another example, a computer-readable storage medium stores instructions that, when executed, cause a controller of a PMIC to cause power rails of the PMIC to generate one or more power signals for components of the computing device that include the SoC; store, responsive to predicting occurrence of a brow nout and at local memory of the PMIC, power information of the one or more power signals; and output, to the SoC, the power information.
[0007] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF DRAWINGS
[0008] FIG. 1 is a conceptual diagram illustrating an example system that includes a computing device with a PMIC that stores brownout related power information, in accordance with one or more aspects of this disclosure.
[0009] FIG. 2 is a conceptual diagram illustrating an example computing device with a PMIC that stores brownout related power information, in accordance with one or more aspects of this disclosure.
[0010] FIG. 3 is a flow diagram illustrating example operations of a PMIC, in accordance with one or more aspects of this disclosure.DETAILED DESCRIPTION
[0011] FIG. 1 is a conceptual diagram illustrating an example system that includes a computing device with a PMIC that stores brownout related power information, in accordance with one or more aspects of this disclosure. As shown in FIG. 1, system 100 may include computing device 102 and one or more servers 104.
[0012] Computing device 102 may be a device that includes various computing components that operate using electrical power. As shown in FIG. 1, computing device 102 may include power source 106, power management integrated circuit (PMIC) 108, and system on a chip (SoC) 110. Examples of computing device 102 include, but are not limited to, mobile phones, gaming devices, vehicles, tablets, cameras, laptops, wearable computing devices, e- book readers, etc.
[0013] Power source 106 may be a component that supplies electrical power to other components, such as PMIC 108. Examples of power source 106 include, but are not limited to, batteries, power plugs (e.g., AC / DC converters connected to a power grid), solar panels, and the like.
[0014] PMIC 108 may be configured to generate power signals to operate various components. As shown in FIG. 1, PMIC 108 may include power rails 114A-114N (collectively, “power rails 114”), controller 116, and storage device 118.
[0015] Power rails 114 may be configured to generate, using electrical energy received from power source 106, regulated power signals to power other components of computing device 102, such as components 122 of SoC 110 and / or other components that may or may not be included in SoC 110.
[0016] Controller 116 may be configured to control operation of components of PMIC 108. As one example, controller 116 may control operation of power rails 114. For instance, controller 116 may monitor power signals output by power rails 114 and adjust operation of power rails 114 to cause the power signals to reach one or more targets (e.g., voltage targets, current targets, etc.). Examples of controller 116 include, but are not limited to, one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry.
[0017] Storage device 118 may be configured to store data, such as data received from controller 116. Storage device 118 may include one or more computer-readable storagemedia. For example, storage device 118 may be configured for long-term, as well as shortterm storage of information, such as instructions, data, or other information used by computing device 102. In some examples, storage device 118 may include non-volatile storage elements. Examples of such non-volatile storage elements include magnetic hard disks, optical discs, solid state discs, and / or the like. In other examples, in place of, or in addition to the non-volatile storage elements, storage device 118 may include one or more so- called “temporary” memory devices, meaning that a primary purpose of these devices may not be long-term data storage. For example, the devices may comprise volatile memory devices, meaning that the devices may not maintain stored contents when the devices are not receiving power. Examples of volatile memory devices include random-access memories (RAM), dynamic random-access memories (DRAM), static random-access memories (SRAM), etc. In some examples, such as shown in FIG. 1, storage device 118 may receive power from power source 106. As such, in some examples, storage device 118 may receive power (e.g., and thus be able to operate), regardless of operation of power rails 114.
[0018] SoC 110 may be configured to perform various processing and other functions. SoC 110 may include one or more components 122. Examples of components 122, but are not limited to, processors (e.g., application processors, graphics processors, tensor processors, and the like), memory (e.g., volatile memory such as random access memory (RAM) and / or non-volatile memory such as storage), peripheral interfaces, communication modules, and the like.
[0019] In operation, computing device 102 may occasionally experience a brownout. As one example, computing device 102 may experience a brow nout when a voltage level of a power signal falls below a threshold voltage level. For instance, computing device 102 may experience a brownout where a voltage level of a power signal generated by a power rail of power rails 114 falls below a threshold voltage level. As another example, computing device 102 may experience a brownout when a current level exceeds a threshold current level. For instance, computing device 102 may experience a brownout where a current level of a power signal generated by a power rail of power rails 114 exceeds a threshold current level and / or where a cunent level of the power received by power rails 114 from power source 106 exceeds a threshold current level.
[0020] Brownouts may result from any number of causes. As one example, a brownout may occur when one or more of components 122 suddenly increase power consumption (e.g., andtherefore causing a drop in voltage and / or an increase in current). As another example, a brownout may occur when several of components 122 are using relatively large amounts of power that are each within limits, but may collectively result in a current exceedance. After experiencing a brownout, computing device 102 may reboot (e.g., shutdown and restart). Generally, such a reboot may cure the brownout condition and restore computing device 102 to normal operating status.
[0021] In general, it may be desirable to determine causes of brownouts. For instance, if a particular event is causing brow nouts at computing device 102, operation of computing device 102 may be adjusted to avoid occurrence of the particular event. As one example, if brownouts are being caused by sudden increase in power consumption on a particular rail of power rails 114, operation of computing device 102 may be adjusted to reduce a rate of increase on power consumption on the particular rail.
[0022] In some examples, SoC 110 may monitor power information locally (e.g., voltage and / or current levels of power signals received from power rails 114) and attempt to determine causes of brownouts based on the monitored power information. However, during brownouts, operation of SoC 110 and other components that operate using power supplied by PMIC 108 may be degraded. As such, SoC 110 may be unable to store power state information of the power rails temporally proximate to brownout events. Without power state information temporally proximate to brownout events, it may be difficult to determine causes of brownout events and / or adjust operation of computing device 102 to mitigate future brownout events.
[0023] In accordance with one or more aspects of this disclosure, PMIC 108 may monitor power signals to predict occurrence of a brownout and, responsive to predicting occurrence of the brownout, store power information at local memory of PMIC 108. For instance, responsive to predicting occurrence of the brownout, controller 116 may store power information (e.g., data representing voltage and / or current levels of power signals generated by power rails 114) at storage device 118. Controller 116 and storage device 118 may generally be more resilient to brownouts than SoC 110. As such, controller 116 may be able to store, at storage device 118, power state information that is temporally proximate to brownout events. Following a brownout event (e.g., after computing device 102 has rebooted), PMIC 108 may output the stored power state information to SoC 110. SoC 110 may facilitate determining of brownout event causation using the power state informationreceived from PMIC 108. In this way, PMIC 108 may enable more accurate determination of causes of brownout events.
[0024] In some examples, SoC 110 may locally process the received power information to determine the cause of a brownout. In other examples, SoC 110 may output the power information to one or more external devices that may process to the power information to determine the cause of a brownout. For instance, in the example of FIG. 1, SoC 110 may output the power information to servers 104 (e.g., via the Internet or other communication channel). Servers 104 may receive power information from multiple computing devices. As such, servers 104 may be able to determine brownout event causes of multiple computing devices of a same type (e.g., a same make / model).
[0025] One or both of SoC 110 and / or servers 104 may determine updated operations of computing device 102 to avoid subsequent brownouts. As one example, responsive to determining that brownouts are frequently caused by a processor of components 122 drawing a large amount of power at the same time a display of computing device 102 is drawing a large amount of power, operation of computing device 102 may be modified such that the processor and / or display do not draw large amounts of power at the same time as each other.
[0026] FIG. 2 is a conceptual diagram illustrating an example computing device with a PMIC that stores brownout related power information, in accordance with one or more aspects of this disclosure. Computing device 202 of FIG. 2 may be an example of computing device 102 of FIG. 1. Similarly, power source 206, PMIC 208, SoC 210, power rails 214A-214D (collectively, “power rails 214”), controller 216, storage device 218, and components 222A- 222C (collectively, “components 222”) of FIG. 2 may be examples of power source 106, PMIC 108, SoC 110, power rails 114, controller 116, storage device 118, and components 222 of FIG. 1.
[0027] As shown in FIG. 2, power rails 214 may each generate a respective power signal of power signals 228A-228D (collectively, “power signals 228”). Each of power rails 214 may include various components to generate power signals 228, such as power regulators. In some examples, each respective power rail of power rails 214 may include components configured to monitor the power signal of power signals 228 generated by the respective power rail. For instance, power rail 214A may include components configured to monitor a voltage and / or current of power signal 228A.
[0028] Controller 216 may monitor power signals of computing device 202. As one example, controller 216 may receive a voltage and current of power signal 228A as V214A,I214A; a voltage and cunent of power signal 228B as V214B,I2MB; a voltage and current of power signal 228C as V2i4c,l2i4c; and a voltage and cunent of power signal 228D as V2i4D,l2i4D. As another example, controller 216 may monitor a power signal provided by power source 206 (e.g., a voltage and / or a current level of power signal 226). For instance, controller 216 may receive a representation of an output current of power source 206 via current sensor 230.
[0029] Components 222 may include various components of SoC 210. As shown in the example of FIG. 2, components 222 may include application processor 222A, tensor processor 222B, and storage device 222C. Components 222 may receive power from various power rails 214. For instance, application processor 222A may receive power signal 228A from power rail 214A, tensor processor 222B may receive power signal 228B from power rail 214B, and storage device 222C may receive power signal 228C from power rail 214C.
[0030] The contents of components 222 and allocation of power signals 228 in FIG. 2 is for illustrative purposes. In other examples, components 222 may include additional or different components and / or power signals 228 may be allocated differently. As one example, components 222 may include a graphics processing unit (GPU). As another example, application processor 222A and tensor processor 222B may both share power signal 228A (e.g., both application processor 222A and tensor processor 222B may be powered by a common power rail).
[0031] In addition to components 222, PMIC 208 may provide power to other components of computing device 202. For instance, as shown in the example of FIG. 2, PMIC 208 may provide power signal 228D to operate display 224.
[0032] In operation, controller 216 may predict occurrence of a brownout based on power signals of computing device 202. For instance, controller 216 may predict occurrence of a brownout based on one or both of power signal 226 and / or power signals 228. In some examples, controller 216 may predict the occurrence of the brownout responsive to determining that either a current draw of one or more of pow'er signals 226 / 228 is greater than a threshold current level or a voltage level of one or more power signals 226 / 228 is less than a threshold voltage level.
[0033] Controller 216 may use the same thresholds or different thresholds for power signals 226 / 228. Regarding current, controller 216 may predict that a brownout is going to occur responsive to determining that a current level of power signal 228A (I228A) is greater than threshold current level lures predict 228A, that a current level of power signal 228B (I228B) is greater than threshold current level Iihres predict 228B, that a current level of power signal 228C (I228C) is greater than threshold current level Iihres predict 228C, that a current level of power signal 228D (I228D) is greater than threshold current level Iihres predict 228D, or that a current level of power signal 226 (I226) is greater than threshold current level Iihres predict 226. In some examples, the thresholds used for power signals 228 may all be the same (i. e. , Ilhres predict 228A, Ilhres_predict 228B, Ilhresjtredict 228C, and Iihres predict 228D may all be equal). In some examples, some of the thresholds used for power signals 228 may be different (i.e., at least one of Iihres _predict_228A, Iihres _predict_228C, Ilhres_predict_228C, and Ilhres_predict_228D may be different than the others). Similarly, Iihres predict 228A may be the same or different than lThres_predict_226 •
[0034] Regarding voltage, controller 216 may predict that a brownout is going to occur responsive to determining that a voltage level of power signal 228A (V228A) is greater than threshold voltage level Vihres predict 228A, that a voltage level of power signal 228B (V228B) is lesser than threshold voltage level Vihres predict 228B, that a voltage level of power signal 228C (V228C) is lesser than threshold voltage level Vihres predict 228C, that a voltage level of power signal 228D (V228D) is lesser than threshold voltage level Vihres predict 228D, or that a voltage level of power signal 226 (V226) is lesser than threshold voltage levelVihres predict 226. In some examples, the thresholds used for power signals 228 may all be the Same (i.e., Vlhres_predict_228A, Vlhres_predict_228B, Vlhres_predict_228C, and Vihres _predict_228D may all be equal). In some examples, some of the thresholds used for power signals 228 may be different (i.e., at least one of Vihres predict 228A, Vlhres predict 228C, Vihres predict_228C, and Vihres predict 228D may be different than the others). Similarly, Vihres_predict_228A may be the same or different than Vihres_predict_226.
[0035] Responsive to predicting occurrence of a brownout, controller 216 may store, at storage device 218 (e.g., a local memory of PMIC 208), power information. In some examples, the power information may include respective power information for a plurality of the power signals monitored by controller 216. For instance, the power information may include power information for one or more of power signals 226 and / or power signals 228. The power information may include per rail power consumption alarms, interrupt counts, and / or triggered time stamps. As one example, the power information for a particular power signal may include a time senes of voltage and / or current data points of the particular power signal (e.g., a plurality of temporally sequenced data points).
[0036] Computing device 202 may perform one or more operations responsive to determining that the brownout has occurred. For instance, PMIC 208 may determine that the brownout has occurred responsive to determining that either the current level a particular power signal of power signals 226 / 228 is greater than a second threshold current level(Ilh res occur ) or the voltage level of the particular power signal is less than a second threshold voltage level (VThres_occur).
[0037] Controller 216 may use the same thresholds or different thresholds for power signals 226 / 228 when determining whether a brownout has occurred. Regarding current, controller 216 may predict that a brownout has occurred responsive to determining that a current level of power signal 228A (I228A) is greater than threshold current level lThres_occur_228A, that a current level of power signal 228B (I228B) is greater than threshold current levelIihres occur 228B, that a current level of power signal 228C (I228C) is greater than threshold current level Iihres occur 228C, that a current level of power signal 228D (I228D) is greater than threshold current level Iihres occur 228D, or that a current level of power signal 226 (I226) is greater than threshold current level Iihres occur 226. In some examples, the thresholds used for power signals 228 may all be the same (i.e., lThres_occur_228A, Ilhres_occur_228B, Ilhres_occur_228C, and Iihres occur 228D may all be equal). In some examples, some of the thresholds used for power signals 228 may be different (i.e., at least one of Iihres occur 228A, Iihres occur 228B, Iihres occur 228C, and Iihres occur 228D may be different than the others). Similarly, Iihres occur 228A may be the same or different than Iihres occur 226. Similar likenesses and differences may apply to voltages.
[0038] Regarding voltage, controller 216 may predict that a brownout has occurred responsive to determining that a voltage level of power signal 228A (V228A) is greater than threshold voltage level Vrhres occur 228A, that a voltage level of power signal 228B (V228B) is lesser than threshold voltage level Vihres occur 228B, that a voltage level of power signal 228C (V228C) is lesser than threshold voltage level Vihres occur 228C, that a voltage level of power signal 228D (V228D) is lesser than threshold voltage level Vihres occur 228D, or that a voltage level of power signal 226 (V226) is lesser than threshold voltage level Vihres occur 226. In some examples, the thresholds used for power signals 228 may all be the same (i.e. ,Vihres occur_228A, Vihres occur 228B, Vihres occur 228C, and Vlhres occur 228D may all be equal). In some examples, some of the thresholds used for power signals 228 may be different (i.e., at least one of Vlhres_occur_228A, Vlhres_occur_228C, Vlhres_occur_228C, and Vlhres_occur_228D may be different than the others). Similarly, Vihres occur 228A may be the same or different than V Thres_occur_226.
[0039] In general, determining that a brownout has occurred may be a different determination to predicting a brownout. For instance, PMIC 208 may use “worse” thresholds (e.g., lower voltage thresholds and / or higher current thresholds) to determine whether a brownout has occurred. As such, PMIC 208 may be considered to use a first threshold voltage and / or a first threshold current to predict occurrence of a brownout and use a second threshold voltage and / or a second threshold current to determine whether the brownout occurred. The second threshold current level may be greater than the first threshold current level and / or the second threshold voltage level may be lesser than the first threshold voltage level. For instance, regarding power signal 228 A, Iiiires predict 228A may be less than Iihres occur 228A and / or V Thres_predict_228A may be greater than V Thres_occur_228A.
[0040] As a result of the different predict and occurrence threshold, PMIC 208 may predict that a brownout may occur at a first time while the brownout, if it occurs, may not actually occur until a second time that is after the first time.
[0041] Computing device 202 may perform one or more actions responsive to determining that the brownout has occurred. For instance, responsive to determining that the brownout has occurred (e.g., at the second time), PMIC 208 may trigger a reset of computing device202. As discussed above, such a reset may generally cure the condition that caused the brownout.
[0042] Should the brownout occur, storage device 218 may retain the stored power information through the brownout. For instance, storage device 218 may operate using power sourced from power source 206 that does not pass through power rails 214 (e.g., storage device 218 may receive power via a persistent battery power rail even though regulators of power rails 214 may fail). Following rebooting of SoC 210 that results from the brownout, controller 216 may output the stored power information to SoC 210. For instance, controller 216 may cause the power information to be copied to storage device 222C. As discussed above, SoC 210 may one or both or locally process the power information and / or output the power information to an external device (e.g., servers 104 of FIG. 1) for analysis.
[0043] In some examples, PMIC 208 and / or SoC 210 may perform one or more actions to avoid occurrence of a brownout responsive to predicting occurrence of the brownout. For instance, responsive to predicting occurrence of a brownout, PMIC 208 may assert an interrupt (IRQ). Responsive to the interrupt being asserted, SoC 210 may perform one or more actions to load shed from power signals 228. Example load shed actions include, but are not limited to, throttling down (e.g., reducing a clock rate of) application processor 222A and / or tensor processor 222B, reducing a brightness of display 224, and the like.
[0044] In some examples, PMIC 208 may store, in addition to the power information, information regarding a time difference between when a brownout is precited and when the brownout occurred at storage device 218. As one example, PMIC 208 may store a value that indicates the difference. As another example, PMIC 208 may store an indication of a duration for which the interrupt was asserted.
[0045] In some situations, PMIC 208 may predict occurrence of a brownout that does not actually occur. For instance, a voltage and / or a current of a power signal may cross a predict threshold but never actually cross a detect threshold. PMIC 208 may suspend storing the power information responsive to determining that a brownout is no longer predicted to occur. As one example, if a threshold amount of time has elapsed since PMIC 208 predicted occurrence of a brownout wdth the brownout not actually occurring, PMIC 208 may determine that the brownout is no longer predicted to occur (e.g., and suspend storing power information at storage device 218). As one example, if a voltage and / or current of a power signal crosses a predict threshold but uncrosses the threshold without crossing a detectthreshold, PMIC 208 may determine that the brownout is no longer predicted to occur (e.g., and may suspend storing power information at storage device 218).
[0046] FIG. 3 is a flow diagram illustrating example operations of a PMIC, in accordance with one or more aspects of this disclosure. For purposes of explanation, the operations of FIG. 3 are described with respect to PMIC 108 of FIG. 1 and / or PMIC 208 of FIG. 2. However, other components, including other PMICs, may perform the operations of FIG. 3.
[0047] PMIC 208 may generate power signals for components that include a system on a chip (SoC) (302). For instance, power rails 204 of PMIC 208 may generate power signals 228 on-which components 222 and display 224 operate.
[0048] PMIC 208 may determine whether a brownout is predicted (304). For instance, controller 216 may monitor the power signals (e.g., power signals 228 and / or power signal 226) to determine whether the brownout is predicted. As discussed above, controller 216 may determine that the brownout is predicted responsive to parameters of the monitored power signals crossing various thresholds (e.g., the Vpred and Ipred thresholds discussed above). Responsive to determining that the brownout is not predicted (“No” branch of 304), PMIC may continue to generate the power signals (302) and controller 216 may continue to monitor the power signals.
[0049] Responsive to determining that the brownout is predicted (“Yes” branch of 304), PMIC 208 may store, at local memory of PMIC 208, power information (306). For instance, controller 216 may store, at storage device 218, per rail power consumption alarms / data (e.g., time senes data), interrupt counts / duration, and the like.
[0050] PMIC 208 may determine whether the brownout has occurred (308). As discussed above, controller 216 may determine that the brownout has occurred responsive to parameters of the monitored power signals crossing various thresholds (e.g., the Voccur and loccur thresholds discussed above).
[0051] Responsive to determining that the brownout has not occurred (“No” branch of 308), PMIC may continue to determine whether the brownout is still predicted (304). For instance, if the condition has cleared and the brownout is no longer predicted, PMIC 208 may cease storing the power information and return to normal operation. PMIC 208 may cease storing the power information by stopping storing new samples / data points of the power information. In some examples, power information stored at storage device 218 based on the prediction ofa first brownout may be overwritten with power information stored at storage device 218 based on the prediction of a second subsequent brownout.
[0052] Responsive to determining that the brownout has occurred (“Yes” branch of 308), PMIC 208 may reset computing device 202 (310). For instance, controller 216 may cause power rails 214 to temporarily stop, and then resume, generating power signals 228. Following the reset (310), PMIC 208 may output, to the SoC, the stored power information (312).
[0053] Aspects of this disclosure include the following examples.
[0054] Example 1. A method comprising: generating, by a power management integrated circuit (PMIC) of a computing device, one or more power signals for components of the computing device that include a system on a chip (SoC) of the computing device; responsive to predicting occurrence of a brownout, storing, by the PMIC and at local memory of the PMIC, power information of the one or more power signals; and outputting, by the PMIC and to the SoC, the power information.
[0055] Example 2. The method of example 1, wherein the one or more power signals comprise a plurality of power signals, and wherein generating the plurality of power signals comprises: generating, by each respective power rail of a plurality of power rails of the PMIC, a respective power signal of the plurality of power signals, wherein the power information comprises respective power information for each of the plurality of power signals.
[0056] Example 3. The method of example 2, wherein the power information for a particular power signal of the plurality of power signals comprises a time series of voltage and / or current data points of the particular power signal.
[0057] Example 4. The method of example 2, further comprising: predicting the occurrence of the brownout responsive to determining that either a current draw of one or more of the plurality of power signals is greater than a first threshold current level or a voltage level of one or more of the plurality of power signals is less than a first threshold voltage level.
[0058] Example 5. The method of example 4, wherein predicting the occurrence of the brownout comprises predicting, at a first time, the occurrence of the brownout, the method further comprising: determining, at a second time that is after the first time, that the brownouthas occurred; and responsive to determining that the brownout has occurred, triggering, by the PMIC, a reset of the computing device.
[0059] Example 6. The method of example 5, wherein determining that the brownout has occurred comprises: determining that the brownout has occurred responsive to determining that either the current draw of the one or more of the plurality of power signals is greater than a second threshold current level that is greater than the first threshold current level or the voltage level of the one or more of the plurality of po 'er signals is less than a second threshold voltage level that is lesser than the first threshold voltage level.
[0060] Example 7. The method of example 4, further comprising: asserting, responsive to predicting the occurrence of the brownout, an interrupt to the SoC, wherein, responsive to the interrupt being asserted, the SoC performs one or more actions to load shed from the one or more power signals.
[0061] Example 8. The method of example 7, further comprising: storing, by the PMIC and at the local memory of the PMIC, an indication of a duration for which the interrupt was asserted, wherein outputting the power information further comprises outputting, by the PMIC and to the SoC, the indication.
[0062] Example 9. The method of example 1, w herein predicting the occurrence of the brownout comprises predicting, at a first time, the occurrence of the brownout, the method further comprising: determining, at a second time that is after the first time, that the brownout is no longer predicted to occur; and responsive to determining that the brownout is no longer predicted to occur, ceasing, by the PMIC, storing the power information.
[0063] Example 10. The method of example 1, further comprising: adjusting, by the SoC, operation of the computing device based on the power information.
[0064] Example 11. The method of example 1, further comprising: operating, by the local memory of the PMIC, using power sourced from a battery of the computing device.
[0065] Example 12. A computing device comprising: a system on a chip (SoC); and a power management integrated circuit (PMIC) configured to perform the method of any of examples 1-11.
[0066] Example 13. A computer-readable storage medium comprising instructions that, when executed, cause a controller of a power management integrated circuit (PMIC) to perform the method of any of examples 1-11.
[0067] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer- readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non- transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.
[0068] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory', or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0069] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
[0070] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.
[0071] Various examples of the disclosure have been described. Any combination of the described systems, operations, or functions is contemplated. These and other examples are within the scope of the following claims.
Claims
WHAT IS CLAIMED IS:
1. A method comprising: generating, by a power management integrated circuit (PMIC) of a computing device, one or more power signals for components of the computing device that include a system on a chip (SoC) of the computing device; responsive to predicting occurrence of a brownout, storing, by the PMIC and at local memory of the PMIC, power information of the one or more power signals; and outputting, by the PMIC and to the SoC, the power information.
2. The method of claim 1, wherein the one or more power signals comprise a plurality of power signals, and wherein generating the plurality of power signals comprises: generating, by each respective power rail of a plurality of power rails of the PMIC, a respective power signal of the plurality of power signals, wherein the power information comprises respective power information for each of the plurality of power signals.
3. The method of claim 2, wherein the power information for a particular power signal of the plurality of power signals comprises a time series of voltage and / or current data points of the particular power signal.
4. The method of claim 2 or claim 3, further comprising: predicting the occurrence of the brownout responsive to determining that either a current draw of one or more of the plurality of power signals is greater than a first threshold current level or a voltage level of one or more of the plurality of power signals is less than a first threshold voltage level.
5. The method of claim 4, wherein predicting the occurrence of the brownout comprises predicting, at a first time, the occurrence of the brownout, the method further comprising: determining, at a second time that is after the first time, that the brownout has occurred; andresponsive to determining that the brownout has occurred, triggering, by the PMIC, a reset of the computing device.
6. The method of claim 5, wherein determining that the brownout has occurred comprises: determining that the brownout has occurred responsive to determining that either the current draw of the one or more of the plurality of power signals is greater than a second threshold current level that is greater than the first threshold current level or the voltage level of the one or more of the plurality of power signals is less than a second threshold voltage level that is lesser than the first threshold voltage level.
7. The method of any of claims 4-6, further comprising: asserting, responsive to predicting the occurrence of the brownout, an interrupt to the SoC, wherein, responsive to the interrupt being asserted, the SoC performs one or more actions to load shed from the one or more power signals.
8. The method of claim 7, further comprising: storing, by the PMIC and at the local memory of the PMIC, an indication of a duration for which the interrupt was asserted, wherein outputting the power information further comprises outputting, by the PMIC and to the SoC, the indication.
9. The method of any of claims 1-8, wherein predicting the occurrence of the brownout comprises predicting, at a first time, the occurrence of the brownout, the method further comprising: determining, at a second time that is after the first time, that the brownout is no longer predicted to occur; and responsive to determining that the brownout is no longer predicted to occur, ceasing, by the PMIC, storing the power information.
10. The method of any of claims 1-9, further comprising:adjusting, by the SoC, operation of the computing device based on the power information.
11. The method of any of claims 1-10, further comprising: operating, by the local memory of the PMIC, using power sourced from a battery of the computing device.
12. A computing device comprising: a system on a chip (SoC); and a power management integrated circuit (PMIC) configured to perform the method of any of claims 1-11.
13. A computer-readable storage medium comprising instructions that, when executed, cause a controller of a power management integrated circuit (PMIC) to perform the method of any of claims 1-11.