Power management circuit with per activity weighting and multiple throttle down thresholds
Summary by NHIP
Activity-weighted power throttling
The method limits power supply load circuitry by generating signals describing activity initiation or completion to adjust a credit count. It compares this count and a calculated average against distinct thresholds representing maximum instantaneous and average power delivery limits.
Claim Score by NHIP
Abstract
A method is described. The method includes receiving an indication of an activity of load circuitry of a power supply. The method includes, in response to the indication, generating a first signal that describes the activity and a second signal that describes whether the event is initiating or completing. The method includes determining a weight amount from the first signal and adjusting a credit count by the weight amount up or down based on the second signal. The method includes comparing the credit count against a first threshold. The method includes calculating an average credit count that accounts for the credit count and previous credit counts and comparing the average credit count against a second threshold. The method includes adjusting an activity level of the load circuitry if either threshold is crossed.

Term
9 yearsleft in the term
Expires 13 September 2035, including 79 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 33, narrow(NHIP)A method, comprising:limiting power consumption of a power supply's load circuitry by performing the following: receiving an indication of the load circuitry's activity;in response to the indication, generating a first signal that describes the activity and a second signal that describes whether the activity is initiating or completing;determining a weight amount from the first signal and adjusting a credit count by the weight amount up or down based on whether the second signal indicates the activity is initiating or completing, the credit count indicating an amount of additional power that the power supply is able to deliver;comparing the credit count against a first threshold, the first threshold to represent the power supply exceeding its maximum allowed instaneous power delivery;calculating an average credit count that accounts for the credit count and previous credit counts and comparing the average credit count against a second threshold, the second threshold to represent the power supply exceeding its maximum allowed average power delivery, the calculating of the average credit count averaging over a window size, the window size being tuned to the power supply's ability to operate near the maximum allowed instaneous power delivery;and, adjusting an activity level of the load circuitry if either threshold is crossed, wherein, based on the tuned window size, if the power supply is able to operate near the maximum allowed instaneous power for a longer period of time the second threshold will be crossed later in time than if the power supply is able to operate near the maximum allowed instaneous power for a shorter period of time.
- 7An apparatus, comprising:circuitry to limiting power consumption of a power supply's load circuitry comprising: a first circuit having an input to receive an indication of an activity of a load circuit of a power supply and outputs to provide, in response to the indication, a first signal that describes the activity and a second signal that describes whether the activity is initiating or completing;a multiplexer to select a weight amount based on the first signal;a credit count circuit to adjust a credit count by the weight amount up or down based on whether the second signal indicates the activity is initiating or completing, the credit count indicating an amount of additional power that the power supply is able to deliver;a first comparator to compare the credit count against a first threshold, the first threshold to represent the power supply exceeding its maximum allowed instaneous power delivery;an average credit count circuit to calculate an average of the credit count and previous credit counts, the average credit count circuit to average over a window size, the window size being tuneable to the power supply's ability to operate near the maximum allowed instaneous power delivery;a second comparator to compare the average credit count against a second threshold, the second threshold to represent the power supply exceeding its maximum allowed average power delivery;and a second circuit to generate a throttle signal if either threshold is crossed, the load circuitry coupled downstream from the second circuit, the load circuiry to reduce its activity level in response to the throttle signal such that, based on the tuned window size, if the power supply is able to operate near the maximum allowed instaneous power for a longer period of time the second comparator will trip later in time than if the power supply is able to operate near the maximum allowed instaneous power for a shorter period of time.
- 15A computing system, comprising:a DIMM card comprising circuitry to limit power consumption of the DIMM card comprising: a first circuit having an input to receive an indication of an activity of a load circuit of a power supply and outputs to provide, in response to the indication, a first signal that describes the activity and a second signal that describes whether the activity is initiating or completing;a multiplexer to select a weight amount based on the first signal;a credit count circuit to adjust a credit count by the weight amount up or down based on whether the second signal indicates the activity is initiating or completing, the credit count indicating an amount of additional power that the power supply is able to deliver;a first comparator to compare the credit count against a first threshold, the first threshold to represent the power supply exceeding its maximum allowed instaneous power delivery;an average credit count circuit to calculate an average of the credit count and previous credit counts, the average credit count circuit to average over a window size, the window size being tuneable to the power supply's ability to operate near the maximum allowed instaneous power delivery;a second comparator to compare the average credit count against a second threshold, the second threshold to represent the power supply exceeding its maximum allowed average power delivery;and a second circuit to generate a throttle signal if either threshold is crossed, the load circuitry coupled downstream from the second circuit, the load circuiry to reduce its activity level in response to the throttle signal such that, based on the tuned window size, if the power supply is able to operate near the maximum allowed instaneous power for a longer period of time the second comparator will trip later in time than if the power supply is able to operate near the maximum allowed instaneous power for a shorter period of time.
Independent claims3
49 paragraphs in 4 sections, as filed
FIELD OF INVENTION
0001The field of invention pertains generally to a power management circuit with per activity weighting and multiple throttle down thresholds.
BACKGROUND
0002Power consumption has become one of the more critical parameters that a circuit is judged by. Here, with increasingly smaller feature sizes and increasingly faster clock speeds, semiconductor chip designers are faced with the challenge of efficiently designing extremely large numbers of faster devices into a commercially viable integrated circuit. Present day circuit designers are therefore very much focused on producing circuits that can extract the performance potential of the underlying manufacturing technology, while, at the same time, keeping operation of the overall circuit within a reasonable power budget.
FIGURES
0003A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:
0004<figref idref="DRAWINGS">FIG. 1</figref> shows an embodiment of a power management circuit;
0005<figref idref="DRAWINGS">FIG. 2</figref> shows an embodiment of operation of the power management circuit of <figref idref="DRAWINGS">FIG. 1</figref>;
0006<figref idref="DRAWINGS">FIG. 3</figref> shows an embodiment of a averaging circuit;
0007<figref idref="DRAWINGS">FIG. 4</figref> shows an embodiment of a DIMM card;
0008<figref idref="DRAWINGS">FIG. 5</figref> shows an embodiment of a method performed by the power management circuit of <figref idref="DRAWINGS">FIG. 1</figref>;
0009<figref idref="DRAWINGS">FIG. 6</figref> shows an embodiment of a computing system.
DETAILED DESCRIPTION
0010<figref idref="DRAWINGS">FIG. 1</figref> shows a design for a power management circuit <b>100</b> that measures both the instantaneous power currently being consumed by a load circuit <b>101</b> and the average power that has been consumed by the load circuit <b>101</b> over a preceding time window. By measuring both types of power consumption, different triggers can be set to throttle back the power consumption of the load circuit <b>101</b>, e.g., by commanding the load circuit <b>101</b> to be less active. More specifically, the power consumption of the load circuit <b>101</b> can be throttled down in response to either: 1) its instantaneous power exceeding a maximum level (“absolute” power limit of the power supply <b>102</b>); or, 2) its average power exceeding a maximum level (“sustainable” power limit of the power supply <b>102</b>).
0011In various instances, the power supply <b>102</b> may have sufficient resources to briefly provide an amount of power that exceeds its sustainable power limit. Here, sustainable power is understood to be a rating that characterizes a power supply's ability to continuously maintain an amount of delivered power. Deviations about this sustainable level are generally permissible. In the case of power draw deviations below the sustainable level, the power supply is operating well within its capabilities.
0012Power draw deviations above the sustainable level are also generally permissible provided they are brief. For instance, as a simplistic example, if a power supply has a sustainable power level of 12W, it would be permissible to briefly draw 13W from the power supply provided the drawn power drops thereafter so that the average power drawn over some time period falls to a level within the sustainable level of 12W. In this case, the sustainable power level is not really offended because the time over which the average power is calculated includes the lower power draw time period. Thus, the circuit <b>101</b> that is supplied by the power supply <b>102</b> can enjoy a “turbo” mode in which it is permitted to briefly perform at a level that it can not operate at for long periods of time.
0013A related scenario occurs in the case of regular but temporally separated runtime power draw “bursts”. An example is a DIMM card having multiple memory devices and an interface to a high speed memory bus where, over the course of an extended runtime, there will be low power reads/writes from/to the memory devices for extended periods of time interspaced in time by high power bus transactions for much shorter periods of time. Here, the longer low power reads/writes may lower the average power delivered to the DIMM card to a level that permits the shorter high power bus transactions to briefly exceed the sustainable power rating of the power supply. As such, the bus driver circuits that interface to the memory bus and the memory devices may share the same power supply (that is, both circuits can be viewed as part of the load).
0014Allowing power draw to reach an instantaneous power limit provided an average power limit is not offended also provides for more efficient usage of the power budget that exists between the instantaneous power limit and the average power limit. That is, drawn power can remain at or near the instantaneous power level up and until the average power maximum rating is offended. Thus, using the above mentioned DIMM card example, some implementations (e.g., depending on power supply capacity and load) may have enough time to permit back-to-back high power bus transactions before offending the average power rating.
0015The power management circuit <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> includes an activity detection circuit <b>103</b> that detects the various requests or other activities that the load circuitry <b>101</b> is expected to handle. A scheduler <b>104</b> schedules these activities. The decisions made by the scheduler <b>104</b> essentially determine how much power the load circuitry <b>101</b> will consume. For example, by inserting idles into the load circuitry's schedule the power consumption of the load circuitry <b>101</b> will be reduced. Likewise, by inserting higher power operations closer to one another in time the power consumption of the load circuitry <b>101</b> will be increased. Depending on implementation, some, all or none of the power management circuit <b>100</b> and/or scheduler circuit <b>104</b> may be part of the load <b>101</b>.
0016The scheduler <b>104</b> reacts to a throttle down signal <b>105</b> provided by the power management circuitry. In response to the throttle down signal <b>105</b>, the scheduler <b>104</b> will insert lesser power consuming activities into the scheduler (e.g., idles or other low power tasks) and/or spread out activities to be performed farther apart in time.
0017The power management circuitry includes a credit pool count circuit <b>106</b>. The credit pool count circuit <b>106</b> includes a register <b>107</b> or other circuit capable of holding state information. Here, register <b>107</b> holds a credit count where the total number of credits is correlated with the amount of power that the power supply can deliver. As the load circuitry <b>101</b> consumes more power, the credit count drops which, in turn, reflects the reduced capacity of the power supply to deliver additional power.
0018As mentioned above, the activity detection circuit <b>103</b> receives indications of what activities the load circuitry <b>101</b> will perform. The scheduler <b>104</b> subsequently schedules these activities. The activity detector <b>103</b> provides a first output <b>108</b> that indicates what type of new activity has just been detected. This output <b>108</b> is provided to a multiplexer <b>110</b> which selects one of a plurality of weights, where, the selected weight is associated with the specific new activity that has just been detected.
0019Here, the load circuitry <b>101</b> is assumed to be designed to perform a number of different activities where each activity has a different amount of associated power consumption. For example, again referring to the DIMM card example above, reads and/or writes consume less power than memory bus transactions. As such, reads and/or writes will have associated weights that are less than the weight associated with a memory bus transaction. A weight is a numerical value that may be stored into a register or other circuit capable of holding state information (e.g., a read only memory). Reads may also have different weights than writes depending on the technology of the memory devices. More details concerning specific embodiments in this regard are discussed further below.
0020When a specific new activity event is therefore detected, a numerical value corresponding to its power consumption (its weight) is selected by the multiplexer <b>110</b> and forwarded to the credit pool count circuit <b>106</b>. The value of the weight is then subtracted or added to the credit count depending on whether the new activity event corresponds to the initiation of the activity or the completion of the activity. For example, in the case of a memory bus transaction that is newly being requested from a host, the weight for the transaction will be subtracted from the credit count because the transaction has yet to happen. By contrast, in the case of a memory bus transaction that has just been completed, the value of the weight will be added to the credit count because the transaction has already occurred. Thus, decrements from the credit count correspond to power consumption yet to happen and increments to the credit count correspond to the additional power budget that is freed up after an activity completes (alternative embodiments may choose to implement an opposite approach where completions detract and new events increment up).
0021The activity event detection circuit <b>103</b> therefore also presents a second output <b>109</b> that indicates whether the new event corresponds to a new request for a new activity or notice that an older activity has completed. Thus output <b>109</b> determines whether the weight for the activity is processed by an additive channel or a subtractive channel within the credit pool count circuit <b>106</b>. In the case of the additive channel, the weight is added to the current credit count value and the new credit count value is stored in register <b>107</b>. In the case of the subtractive channel, the weight is subtracted from the current credit count value and the new credit count value is stored in register <b>107</b>.
0022The current credit count value with register <b>107</b>, which again corresponds to how much capacity the power supply has left to supply additional power, is provided to a first threshold detector <b>111</b> and an averaging circuit <b>112</b> with second threshold detector <b>113</b>. The first threshold circuit <b>111</b> is used to prevent violations of the power supply's instantaneous power rating. Here, a first threshold value Thresh_<b>1</b> corresponds to a very low credit count value that is representative of very little additional power left in the power supply (if any). If the current credit count falls below the first threshold, comparator <b>111</b> will trip and a throttle down signal will be raised to the scheduler <b>104</b>.
0023The averaging circuit <b>112</b> effectively averages the current credit count value with previous credit count values over a window of time in order to calculate an average power consumption for the load <b>101</b> that is supplied by the power supply <b>102</b>. The average power consumption is then provided to a second threshold detection circuit <b>113</b> that is used to prevent violations of the power supply's sustained power rating. Here, a second threshold value Thresh_<b>2</b> corresponds to a credit count that is higher than the first threshold value (there is more power budget beyond the sustainable power rating than beyond the instantaneous power rating). However if the output of the averaging circuit <b>112</b> falls below the second threshold, the second comparator <b>113</b> will trip which will also raise a throttle down signal to the scheduler.
0024<figref idref="DRAWINGS">FIG. 2</figref> schematically shows an example of the behavior of the credit count <b>201</b> and the threshold comparators in response to a sustained activity level of the load circuit that is being supplied by the power supply without a corresponding completion of such activities. In the face of a stream of new activities without the completion of any of the same, the credit count <b>201</b> will steadily diminish over time. Likewise, the average credit count <b>202</b> will also diminish over time but at a slower rate because the average will be continually calculated within a window that includes higher credit values than the current credit count value.
0025The first threshold level (instantaneous power consumption) Thresh_<b>1</b> corresponds to a lower threshold than the second threshold level (sustained power consumption) Thresh_<b>2</b>. The first threshold level Thresh_<b>1</b> is compared against the current credit count <b>201</b> but not the average credit count <b>202</b>. Likewise, the second threshold Thresh_<b>2</b> is compared against the average credit count <b>202</b> but not the current credit count <b>201</b>.
0026As observed in <figref idref="DRAWINGS">FIG. 2</figref>, the activity level of the load continues to increase until the credit count <b>201</b> reaches a level that is just shy of the first threshold level Thresh_<b>1</b>. Thereafter, the activity level of the circuit remains constant (e.g., the power draw from new activities is canceled out by the completion of older activities). As such, the instantaneous power consumption rating of the circuit is never offended (the first threshold Thresh_<b>1</b> is not crossed). If the activity level of the load did not level off and instead followed along trajectory <b>203</b>, the first threshold would have tripped at time T<b>1</b>.
0027However, because the activity level of the circuit is elevated (it remains constant just shy of the instantaneous threshold), the average credit count <b>202</b> will continue to fall (albeit at a slower rate once the activity level stops increasing). Eventually, at time T<b>2</b>, the average credit count <b>202</b> crosses the second threshold Thresh_<b>2</b> which trips the second comparator and raises a throttle down signal to the scheduler. In response to the throttle down signal, the scheduler reduces the new activity level of the circuit (e.g., by inserting idles) which, e.g., will have the affect of accumulating completions of older activities without adding new ones, which adds to the current credit count. As such the current credit count begins to rise after time T<b>2</b>.
0028The higher credit count will eventually cause the average <b>202</b> to cross back over the second threshold level Thresh_<b>2</b> (not shown). In response, the throttle down signal will no longer be raised. In various embodiments there may be some hysteresis circuitry applied at the throttle signal output to cause the throttle down signal to be released after the average credit count has risen above the second threshold by some margin to prevent thrashing of the throttle down signal. Such hysteresis may alternatively or in combination be integrated into the scheduler (e.g., the scheduler “back off” new activities for an extended period of time to ensure the credit count will rise above the second threshold with sufficient margin). Similar and/or same principles may also be applied with respect to the first threshold Thresh _<b>1</b> and the current credit count.
0029<figref idref="DRAWINGS">FIG. 3</figref> shows an embodiment <b>312</b> of the averaging circuit. In the averaging circuit embodiment <b>312</b> of <figref idref="DRAWINGS">FIG. 3</figref>, the averaging function is implemented as a discrete filter that operates on a stream of values that are representative of the instantaneous power. In particular, the low pass filter is mathematically represented as: <br /><i>P</i>(<i>n</i>+1)=<i>P</i>(<i>n</i>)−(<i>P</i>(<i>n</i>)/2<sup>K</sup>)+(<i>W/</i>2<sup>K</sup>) Eqn. 1
0030where P(n+1) is the average output for the next clock cycle, P(n) is the average output of the current clock cycle, W is the current clock cycle's instantaneous power and K is a value that establishes the bandwidth of the filter which can also be viewed as the size of the time window over which the average averages. Generally, as K increases, the size of the time window narrows and the averaging circuit output will more rapidly adjust to a change in instantaneous power. Contra-wise, as K decreases, the size of the time window increases and the averaging circuit output will less rapidly adjust to a change in instantaneous power.
0031In various embodiments, K is determined empirically based on the observed performance of a specific environment and/or some understanding of the overall environment. Generally, however, K should be chosen to “tune” the output of the averaging circuit to the actual capabilities of the power supply. Here, the greater the amount of time that the power supply can sustain operation near the instantaneous power limit, the smaller K can be. Contra-wise, the smaller the amount of time that the power supply can sustain operation near the instantaneous power limit, the higher K should be. The former will trip the averaging threshold later, the later will trip the averaging threshold sooner. In an embodiment, a register is used to hold the averaging circuit output value. A pair of shift registers are used to implement the ½<sup>K </sup>terms by shifting their respective operands (P(n) and W) to the right by K bits. K may be programed into the circuit by being kept in a software/firmware writable register that is coupled to both shift registers.
0032In further or alternative embodiments, the specific tuning of the output of the averaging circuit is designed to match the “3<sup>rd </sup>droop” of the power supply to a sudden surge in current draw (such as might result from the sudden enablement of a master clock of the load circuit). The 3rd droop is essentially a form of time constant that characterizes the response dynamics of the power supply.
0033<figref idref="DRAWINGS">FIG. 4</figref> shows a more specific embodiment to which the power management circuitry described above can be applied. <figref idref="DRAWINGS">FIG. 4</figref> shows a dual in-line memory module (DIMM) <b>400</b> having a plurality of memory chips <b>401</b> which may be used, e.g., as system memory chips. System memory or main memory is the memory of a computing system that software operates directly out of. As is understood in the art, processors or processing cores have internal register space in which to hold instructions and data of the software routines being executed. The amount of register space is not infinite however and frequently system memory is invoked to read or write instructions or data of the executing software routines.
0034The DIMM card <b>401</b> of <figref idref="DRAWINGS">FIG. 4</figref> may be implemented in various embodiments in a computing system having a multi-leveled system memory. A multi-leveled system memory is a memory with more than one distinct architectural level of different performance capabilities. For example, a lower second layer may be implemented with slower speed but higher density emerging system memory technology (discussed in more detail further below) and a higher first layer may be implemented with faster but less dense DRAM memory. The first layer may act as a cache for the lower second layer, or, may have its own system memory address space that is different than the system memory address space allocated to the second layer.
0035The DIMM <b>401</b> also includes a power management circuit <b>402</b> and power supply <b>403</b>. The power supply <b>403</b> provides power to the memory chips <b>401</b>. The activity of the memory chips is managed by a scheduler circuit <b>404</b> that is also on the DIMM. In various embodiments, the scheduler <b>404</b> determines when read and/or write requests are actually applied to the memory devices <b>401</b> and/or when responses to requests are provided on a memory bus <b>405</b>. The power management circuit <b>402</b> provides throttle down signals <b>406</b> to the scheduler <b>404</b> consistent with the preceding discussions.
0036In various embodiments, transactions on the memory bus <b>405</b> to which the DIMM is connected are given a higher weight by the power management circuitry <b>402</b> than reads or writes from/to the memory devices <b>401</b>. Further still, the memory bus transaction weights include a read or write weight and an on die termination weight. The later weight is added to any read or write weight when a memory bus transaction (read or write) occurs with on die termination enabled. Of course, the above is just one embodiment based on a particular type of memory bus and memory technology. Other embodiments and/or implementations may include low power memory bus transactions and high power memory reads and/or writes. In these embodiments, the weight for a read/write may be higher than the weight for a bus transaction.
0037In various embodiments, some or all of the memory devices <b>401</b> may be implemented with an emerging system memory technology such as a three dimensional cross-point memory technology (non volatile or otherwise). Three dimensional means the storage cells are arranged in three dimensions (e.g., in multiple stacked layers) rather than just along a plane (e.g., along a semiconductor substrate surface as with traditional DRAM or SRAM memory). Cross-point corresponds to an architecture in which storage cell locations are defined by overlapping wiring regions. Examples of such memory technologies include, to name a few possibilities, a phase change based memory (e.g., SXP or PCMS), a ferro-electric based memory (e.g., FRAM), a magnetic based memory (e.g., MRAM), a spin transfer torque based memory (e.g., STT-RAM), a resistor based memory (e.g., ReRAM) or a “Memristor” based memory. Cross-point memories may be byte addressable (e.g., if implemented as main memory of a computing system).
0038In various embodiments, the power management circuit <b>402</b> uses different weights for write operations and read operations. For example, in the case of phase change memories, more power is consumed by a write operation (e.g., because the storage cell media is heated) than a read operation (e.g., which does not heat the storage cell media). Additionally, there may be different types of writes (e.g., a nominal write, a refresh write, etc.). As such, depending on the write activity that is actually applied to the memory device, a different weight will be triggered to/from the credit pool by the power management circuit <b>402</b>.
0039Further still, in yet other embodiments, different memory technology types may exist on a same DIMM. For example, two different types of emerging memory technology, or, emerging memory technology devices and DRAM devices may be resident on a same DIMM. The different memory technologies may have their own associated weights that are different from one another and that are accounted for in the design of the power management circuit <b>402</b>. For example, a DRAM device may have its own weight for a read that is different than a phase change memory read where both DRAM and phase change memory are resident on a same DIMM and the power management circuit <b>402</b> incorporates both read weights. Likewise the DRAM may have its own associated write weight that is different than any of the phase change write weights.
0040Note also that the power management circuit <b>402</b> can be used to implement terms of service. For example, a customer may only pay for a certain amount of “performance” of a given circuit (memory DIMM or otherwise). The amount of service is reflected in the number of credits that are programmed into the credit pool with a lesser amount of performance/service corresponding to fewer credits and a greater amount of performance/service corresponding to a greater number of credits. The natural operation of the power management circuit will throttle the scheduler to schedule tasks consistently with the agreed to performance/service. The credit pool can be made programmable by coupling register <b>107</b> of <figref idref="DRAWINGS">FIG. 1</figref> to a software/firmware register or implementing register <b>107</b> as a software/firmware visible register.
0041Although the above embodiments have been described in relation to a scheduler as the recipient of the throttle output of the power management circuit, note that a multitude of embodiments may contemplate another type of circuit other than a scheduler that has some impact on the amount of work done by a power supply's load. Examples include a circuit that issues instructions for execution, a circuit that sends traffic into a network, and a circuit that triggers execution of an application specific task (as opposed to execution of a program code instruction).
0042Although the above embodiments have been described in relation to a throttle down signal, more generally, the above teachings can also be applied to generate a throttle up signal. For example, in embodiments where higher credit counts correspond to more available power, instantaneous and/or averaging threshold circuits like those discussed above may be implemented that trigger with rising rather than falling credit count. Such a throttle up signal may trigger the load device to become more active if sufficient room in the power budget exists as exemplified by a higher credit count value. Such throttle up threshold circuitry (e.g., an instantaneous credit count throttle up threshold and/or an average credit count throttle up threshold circuit) may exist with or without the aforementioned throttle down threshold circuits.
0043<figref idref="DRAWINGS">FIG. 5</figref> shows an embodiment of a methodology performed by circuitry described herein. The method includes receiving an indication of an activity of load circuitry of a power supply <b>501</b>. The method includes, in response to the indication, generating a first signal that describes the activity and a second signal that describes whether the event is initiating or completing <b>502</b>. The method includes determining a weight amount from the first signal and adjusting a credit count by the weight amount up or down based on the second signal <b>503</b>. The method includes comparing the credit count against a first threshold <b>504</b>. The method includes calculating an average credit count that accounts for the credit count and previous credit counts and comparing the average credit count against a second threshold <b>505</b>. The method includes reducing an activity level of the load circuitry if either threshold is crossed <b>506</b>.
0044<figref idref="DRAWINGS">FIG. 6</figref> shows a depiction of an exemplary computing system <b>600</b> such as a personal computing system (e.g., desktop or laptop) or a mobile or handheld computing system such as a tablet device or smartphone. As observed in <figref idref="DRAWINGS">FIG. 6</figref>, the basic computing system may include a central processing unit <b>601</b> (which may include, e.g., a plurality of general purpose processing cores and a main memory controller disposed on an applications processor or multi-core processor), system memory <b>602</b>, a display <b>603</b> (e.g., touchscreen, flat-panel), a local wired point-to-point link (e.g., USB) interface <b>04</b>, various network I/O functions <b>605</b> (such as an Ethernet interface and/or cellular modem subsystem), a wireless local area network (e.g., WiFi) interface <b>606</b>, a wireless point-to-point link (e.g., Bluetooth) interface <b>607</b> and a Global Positioning System interface <b>608</b>, various sensors <b>609</b>_<b>1</b> through <b>609</b>_N (e.g., one or more of a gyroscope, an accelerometer, a magnetometer, a temperature sensor, a pressure sensor, a humidity sensor, etc.), a camera <b>610</b>, a battery <b>611</b>, a power management control unit <b>612</b>, a speaker and microphone <b>613</b> and an audio coder/decoder <b>614</b>. The display <b>603</b> may be an LED display that is driven by an LED driver circuit as described herein.
0045An applications processor or multi-core processor <b>650</b> may include one or more general purpose processing cores <b>615</b> within its CPU <b>601</b>, one or more graphical processing units <b>616</b>, a memory management function <b>617</b> (e.g., a memory controller) and an I/O control function <b>618</b>. The general purpose processing cores <b>615</b> typically execute the operating system and application software of the computing system. The graphics processing units <b>616</b> typically execute graphics intensive functions to, e.g., generate graphics information that is presented on the display <b>603</b>. The memory control function <b>617</b> interfaces with the system memory <b>602</b>. The system memory <b>602</b> may be a multi-level system memory. During operation, data and/or instructions are typically transferred between a lowest level non volatile (e.g., “disk”) storage <b>620</b> and system memory <b>602</b>. The power management control unit <b>612</b> generally controls the power consumption of the system <b>600</b>.
0046Each of the touchscreen display <b>603</b>, the communication interfaces <b>604</b>-<b>607</b>, the GPS interface <b>608</b>, the sensors <b>609</b>, the camera <b>610</b>, and the speaker/microphone codec <b>613</b>, <b>614</b> all can be viewed as various forms of I/O (input and/or output) relative to the overall computing system including, where appropriate, an integrated peripheral device as well (e.g., the camera <b>610</b>). Depending on implementation, various ones of these I/O components may be integrated on the applications processor/multi-core processor <b>650</b> or may be located off the die or outside the package of the applications processor/multi-core processor <b>650</b>.
0047Embodiments of the invention may include various processes as set forth above. The processes may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain processes. Alternatively, these processes may be performed by specific hardware components that contain hardwired logic for performing the processes, or by any combination of programmed computer components and custom hardware components.
0048Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, FLASH memory, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
0049In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Contents4
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11466564B2 | Cited by | United States of America | Search report |
| US11048323B2 | Cited by | United States of America | Applicant |
| US2003125900A1 | Cites | United States of America | Applicant |
| US2005254519A1 | Cites | United States of America | Applicant |
| US2006090086A1 | Cites | United States of America | Applicant |
| US2006248355A1 | Cites | United States of America | Applicant |
| US2007002988A1 | Cites | United States of America | Search report |
| US2007005922A1 | Cites | United States of America | Applicant |
| US2007030030A1 | Cites | United States of America | Search report |
| US2008016269A1 | Cites | United States of America | Applicant |
| US2008034148A1 | Cites | United States of America | Applicant |
| US2008082844A1 | Cites | United States of America | Applicant |
| US2008270811A1 | Cites | United States of America | Applicant |
| US2008320323A1 | Cites | United States of America | Applicant |
| US2009138219A1 | Cites | United States of America | Applicant |
| US2009138733A1 | Cites | United States of America | Applicant |
| US2009313416A1 | Cites | United States of America | Applicant |
| US2010050008A1 | Cites | United States of America | Applicant |
| US2010110748A1 | Cites | United States of America | Applicant |
| US2010131827A1 | Cites | United States of America | Applicant |
| US2010169690A1 | Cites | United States of America | Applicant |
| US2010291867A1 | Cites | United States of America | Applicant |
| US2010293317A1 | Cites | United States of America | Applicant |
| US2010306446A1 | Cites | United States of America | Applicant |
| US2010306453A1 | Cites | United States of America | Applicant |
| US2010318718A1 | Cites | United States of America | Applicant |
| US2011060927A1 | Cites | United States of America | Search report |
| US2011122691A1 | Cites | United States of America | Search report |
| US2011153916A1 | Cites | United States of America | Applicant |
| US2011208900A1 | Cites | United States of America | Applicant |
| US2011291884A1 | Cites | United States of America | Applicant |
| US2011320150A1 | Cites | United States of America | Applicant |
| US2012260117A1 | Cites | United States of America | Search report |
| US2012331207A1 | Cites | United States of America | Search report |
| US2013268728A1 | Cites | United States of America | Applicant |
| US2013275661A1 | Cites | United States of America | Applicant |
| US2013290597A1 | Cites | United States of America | Applicant |
| US2014003145A1 | Cites | United States of America | Applicant |
| US2014129767A1 | Cites | United States of America | Applicant |
| US2014297938A1 | Cites | United States of America | Applicant |
| US2014359196A1 | Cites | United States of America | Applicant |
| US2015033045A1 | Cites | United States of America | Search report |
| US2016054774A1 | Cites | United States of America | Applicant |
| US2016054780A1 | Cites | United States of America | Applicant |
| US2016054781A1 | Cites | United States of America | Applicant |
| US2016054783A1 | Cites | United States of America | Applicant |
| US5752050A | Cites | United States of America | Applicant |
| US5912839A | Cites | United States of America | Applicant |
| US6470238B1 | Cites | United States of America | Search report |
| US7362705B2 | Cites | United States of America | Applicant |
| US7590918B2 | Cites | United States of America | Applicant |
| US7600078B1 | Cites | United States of America | Applicant |
| US7756053B2 | Cites | United States of America | Applicant |
| US7913147B2 | Cites | United States of America | Applicant |
| US8051253B2 | Cites | United States of America | Applicant |
| US8055922B2 | Cites | United States of America | Applicant |
| US8190930B2 | Cites | United States of America | Search report |
| US8327168B2 | Cites | United States of America | Applicant |
| US8462537B2 | Cites | United States of America | Applicant |
| US8462577B2 | Cites | United States of America | Applicant |
| US8463948B1 | Cites | United States of America | Applicant |
| US8549329B2 | Cites | United States of America | Applicant |
| US8605531B2 | Cites | United States of America | Applicant |
| US8607089B2 | Cites | United States of America | Applicant |
| US8612676B2 | Cites | United States of America | Applicant |
| US8612809B2 | Cites | United States of America | Applicant |
| US8649212B2 | Cites | United States of America | Applicant |
| US8719606B2 | Cites | United States of America | Applicant |
| US8838935B2 | Cites | United States of America | Applicant |
| US8935578B2 | Cites | United States of America | Applicant |
| US9298606B2 | Cites | United States of America | Applicant |
| US9317429B2 | Cites | United States of America | Applicant |
| US9342453B2 | Cites | United States of America | Applicant |
| US9378133B2 | Cites | United States of America | Applicant |
| US9417684B2 | Cites | United States of America | Applicant |
| US9430372B2 | Cites | United States of America | Applicant |
| US9568978B2 | Cites | United States of America | Applicant |
| US9588823B2 | Cites | United States of America | Applicant |
| US20030125900A1 | Cites | United States of America | Applicant |
| US20050254519A1 | Cites | United States of America | Applicant |
| US20060090086A1 | Cites | United States of America | Applicant |
| US20060248355A1 | Cites | United States of America | Applicant |
| US20070002988A1 | Cites | United States of America | Search report |
| US20070005922A1 | Cites | United States of America | Applicant |
| US20070030030A1 | Cites | United States of America | Search report |
| US20080016269A1 | Cites | United States of America | Applicant |
| US20080034148A1 | Cites | United States of America | Applicant |
| US20080082844A1 | Cites | United States of America | Applicant |
| US20080270811A1 | Cites | United States of America | Applicant |
| US20080320323A1 | Cites | United States of America | Applicant |
| US20090138219A1 | Cites | United States of America | Applicant |
| US20090138733A1 | Cites | United States of America | Applicant |
| US20090313416A1 | Cites | United States of America | Applicant |
| US20100050008A1 | Cites | United States of America | Applicant |
| US20100110748A1 | Cites | United States of America | Applicant |
| US20100131827A1 | Cites | United States of America | Applicant |
| US20100169690A1 | Cites | United States of America | Applicant |
| US20100291867A1 | Cites | United States of America | Applicant |
| US20100293317A1 | Cites | United States of America | Applicant |
| US20100306446A1 | Cites | United States of America | Applicant |
8 members in 4 offices
Members8
| Document | Office | Kind | |
|---|---|---|---|
| US2016378172A1 | United States of America | A1 | |
| WO2016209494A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN107646106A | China | A | |
| EP3314365A1 | European Patent Office (EPO) | A1 | |
| US10073659B2This record | United States of America | B2 | |
| EP3314365A4 | European Patent Office (EPO) | A4 | |
| EP3314365B1 | European Patent Office (EPO) | B1 | |
| CN107646106B | China | B |
82 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Close TICLTI | CLTI | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Oath or Declaration Filed (Including Supplemental)C602 | C602 | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Cleared by OIPE CSRL194 | L194 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 10073659
- Application
- 14751846
Titles
- English
- Power management circuit with per activity weighting and multiple throttle down thresholds
Patent term adjustment
- A delay
- +125 daysthe office missed an examination deadline
- Applicant delay
- −46 days
- Net adjustment
- 79 days
Classification
- CPC, 11
- G06F3/0673
- G06F1/3206
- G06F1/3228
- G06F1/329
- G06F1/3243
- G06F9/5094
- G06F3/0625
- Y02D10/00
- G06F3/0653
- Y02D10/152
- Y02D10/24
- IPC, 4
- G06F1 26
- G06F1 32
- G06F3 06
- G06F9 50
- USPC, 1
- 700153000