The present invention relates generally to power conversion methods and devices and in particular, to integrated, multi-cell regulators.
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
The conversion efficiency of a voltage regulator is generally a strong function of its load current. If the load current is much lower than a desired operating range for sufficient efficiency, then its efficiency will typically be unreasonably low. Accordingly, in some embodiments, the number of active cells in a multi-cell voltage regulator is controlled so that the current-per-active-cell approaches a predefined target or to be within an acceptable range so that the active cells operate with suitable efficiency.
The individual VR cell outputs are coupled together to provide the regulated output supply voltage VR. The master controller 102 is coupled to the VR cells 104 to control the cells based on load information from the individual cells (e.g., average per-cell current if generated in the cell or sampled current) and/or from the load (e.g., output voltage, overall output current, and the like). It may also be coupled to the load 110 (e.g., to a power control unit in a processor) to receive from it command and possibly other information to provide a suitable supply (VR) to the load. In some embodiments, it may receive from the load (e.g., processor, system on chip, etc.) activity state information (e.g., Advanced Configuration & Power Interface, ACPI activity states such as C0, C1, C6, etc.) to control the cells based on the load's activity state, as well as on its monitored current demand. As addressed in greater detail below, in some embodiments, the master controller may operate to engage a suitable number of cells (within a range determined from the loads activity state) based on the current presently being consumed. The master controller 102 may comprise any suitable circuitry to perform this function. For example, it could comprise a controller (or other processing unit circuitry); it could comprise discrete logic and analog components configured for the particular purpose of controlling the VR cells 104; or it could comprise a combination of logic elements, analog circuitry, and a more general function controller circuit.
In some embodiments, each VR cell 104 constitutes an independently functioning voltage regulator with it's own controller and power conversion circuitry. For example, a VR 104 may comprise a controller coupled to an array of buck-type switches and output sections, arranged in a multi-phase configuration and coupled, as shown, to provide the regulated output voltage VR. In some embodiments, the output sections could comprise coupled inductors, integrated into the IVR die and/or package. With coupled inductors, the saturation of an inductor is not substantially (if at all) dependent on the load current, resulting in the benefit that a power cell (VR cell 104) can supply a current above its continuous rating for a short duration of time, depending upon the particular thermal conditions and limitations.
In some embodiments, the VR cells 104 may be similarly designed with respect to each other, having comparable (if not equivalent) steady-state output current capabilities. For example, they could each be designed to operate efficiently and reliably in a range of between 1 Amps to 5 Amps, and to provide a regulated DC voltage of around 1 Volt. In addition, they may be designed to operate at a sufficiently high switching frequency so that they can be dynamically engaged and disengaged, in accordance with the operating frequencies of the processor 110, to effectively counter dynamically changing load conditions. For example, sufficient response may be available with each cell having a switching frequency in the range of 20 MHz. to 100 MHz (or even higher), allowing for quick load response, e.g., in the tens of nanoseconds. (Note that in the depicted embodiment, the VR cells including their inductors are integrated into a single chip, e.g., into the die, thereby enabling them to be driven in excess of 20 MHz without excessive switching losses.
The routine begins at 202 when an activity state change occurs, e.g., it may be communicated to the master controller from the load. For example, with the load being a processor (or processor core), the power control unit (PCU) for the core could communicate to the master controller 102 a C-state change for the processor. At 204, new maximum and minimum limits (nmax, nmin) are set. Appropriate range limits could be determined using any suitable methodology. For example, they could be retrieved from a look-up table with the limits defined based on the load activity state.
If the present number of active cells (nact) is outside of the range set by the limits (nmax, nmin), it gets updated by the routine. At 206, if the number of presently active cells (nact) is higher than nmax, then at 208, nact is changed to nmax and proceeds to the end of the routine, until the activity state changes once again. If not, it proceeds to 210 and checks to see if nact is too low, indicating that the cells are operating at an insufficiently low efficiency. If nact is lower than nmin, then at 212, nact gets changed to nmin and the routine proceeds to the end and awaits another state change.
Essentially, the routine of
Initially, at 302, it determines a current-per-active-cell (ICell) value (e.g., highest cell current of the active cells). From here, there are two paths (Too Low, Too High) that may execute simultaneously. With the first (Too Low) path, the routine determines at 304 if the ICell value is sustained for a sufficient amount of time, i.e., over a sufficient window. It does this for stability purposes to avoid dropping cells in response to short-lived droops. If ICell is at (or below) a given value for a sufficient amount of time, then at 306, it determines if this ICell value is too low. For example, as indicated at 306A, in determining if ICell is too low, the routine could adjust ICell by an amount that is inversely proportional to the number of active cells to bias it in favor of making it more difficult to drop a cell as nact decreases. At 306A, ICell is multiply by nact/(nact−1) to so bias it.
If ICell is not too low, then the routine returns to 302, but if ICell is in fact too low, then at 308, it checks to see if the number of presently active cells (nact) is greater than nm. If nact is greater than nmin, then the routine proceeds to 312 and decrements nact, i.e., drops a cell and returns back to 302. However, at 308, if nact was determined not to be greater than nmin, then the routine goes to 310 (maintaining nact at its present level) and causes a switch-leg shedding routine to be executed. With switch-leg shedding, power can additionally be saved by dropping one or more switch legs in active cell(s). An example of such a routine is shown in
(Switch leg shedding involves disabling one or more switch legs that are coupled in parallel with each other to control the power that is provided to a phase leg, e.g., to the inductor in the phase. This is contrasted from phase shedding where phase legs are dropped. With switch leg shedding, the phases remain active, but the size of the bridge, or switch, transistors are effectively adjusted to decrease or increase bridge impedance to improve the bridge efficiency as a function of load current. This is done by enabling or disabling selected combinations of the parallel switch legs that make up the bridge. An advantage of switch leg shedding versus phase shedding is that it is transparent to circuit operation and can more effectively be used with coupled inductors)
The “Too High” path from 302 will now be described. At 314, the routine determines if the ICell value is too high. (Note that it does not first confirm, unlike with the other path, that an ICell value is sustained for a sufficient amount of time because, in this embodiment, it is to respond as quickly as is reasonably possible to compensate for, e.g., instantaneous and sustained load line increases. With this in mind, the logic, e.g., dedicated logic circuits, for executing the actions in this path may be particularly designed for fast processing.)
An example of a way to determine if ICell is too high is shown at 314A. Here, the routine determines if a truncated value of (ICell/Itarget)+1 is greater than nact. (Note that it is biased in favor of determining that ICell is too high, which will result in a cell or cells being added.) If ICell is too high, then at 316, the number of active cells is increased. For example, at 316A, the value of nact is set to the truncation of (ICell/Itarget)+1. In this way, nact can be increased by more than 1 to quickly compensate for current spikes. In other embodiments, nact could simply be incremented or increased using another method. After nact is increased, the routine returns back to 302.
Disabling cells is an effective way of improving efficiency. However, as encountered at 310 above, once the minimum number of active cells has been reached, then adjusting the size of the active cell's transistor bridge (i.e., decreasing the number of active switch legs in their bridges) is another way to improve efficiency. This may be implemented in the controllers of the remaining active cell(s). A routine for changing the number of active switch legs in a cell may be similar to that for changing the number of cells, as is reflected in the routine of
The IVR die 601 may comprise one or more multi-cell VR domains, while the microprocessor die 610 may comprise one or more domain cores, as described above. With this package configuration, with the dies mounted next to one another, circuit elements for VR domains can be disposed more proximal to their associated domain core elements. This can allow for sufficient conductive paths (e.g., via solder bumps or other contacts) to conduct relatively large amounts of current to the domain cores. (It should be appreciated that any suitable package configuration using one or more dies to implement the domain cores and VRs may be implemented and are within the scope of the present invention. For example, the IVR die could be “atop” the microprocessor die instead of “below” it. Alternatively it could be next to it, partially against it, or they could be part of the same die.)
With reference to
The memory 725 comprises one or more memory blocks to provide additional random access memory to the processor(s) 710. it may be implemented with any suitable memory including but not limited to dynamic random access memory, static random access memory, flash memory, combinations of the same, or the like.
In the preceding description, numerous specific details have been set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques may have not been shown in detail in order not to obscure an understanding of the description. With this in mind, references to “one embodiment”, “an embodiment”, “example embodiment”, “various embodiments”, etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments.
In the preceding description and following claims, the following terms should be construed as follows: The terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” is used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” is used to indicate that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact.
The invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. For example, it should be appreciated that the present invention may be applicable for use with all types of semiconductor integrated circuit (“IC”) chips. Examples of these IC chips include but are not limited to processors, controllers, chip set components, programmable logic arrays (PLA), memory chips, network chips, and the like.
It should also be appreciated that in some of the drawings, signal conductor lines are represented with lines. Some may be thicker, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a circuit. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
It should be appreciated that example sizes/models/values/ranges may have been given, although the present invention is not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the FIGS, for simplicity of illustration and discussion, and so as not to obscure the invention. Further, arrangements may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the present invention is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.