An apparatus is described. The apparatus includes a power management integrated circuit (pmic) semiconductor chip having logic circuitry to implement a pmic/PMIC interface having a downstream signal line and an upstream signal line. The downstream signal line to communicate any of multiple states that a downstream pmic semiconductor chip is to implement with one of multiple voltage levels, where, different ones of the multiple voltage levels correspond to different ones of the multiple states. The upstream signal line is to communicate whether or not the downstream pmic semiconductor chip is ready to receive a next one of the multiple voltage levels.
|
1. An apparatus, comprising:
a power management integrated circuit (pmic) semiconductor chip comprising logic circuitry to implement a pmic/PMIC interface comprising a downstream signal line and an upstream signal line, the downstream signal line to communicate any of multiple states that a downstream pmic semiconductor chip is to implement with one of multiple voltage levels, where, different ones of the multiple voltage levels correspond to different ones of the multiple states, the upstream signal line to communicate whether or not the downstream pmic semiconductor chip is ready to receive a next one of the multiple voltage levels.
17. A method, comprising:
an upstream pmic semiconductor chip sending a first signal on a first signal line to a downstream pmic semiconductor chip, the first signal to communicate a state that the downstream pmic semiconductor chip is to implement, the state identified with one of multiple voltage levels, where, each of the multiple levels correspond to a different state that the downstream pmic is to implement; and,
the upstream pmic semiconductor chip receiving a second signal from the downstream pmic semiconductor chip on a second signal line, the second signal indicating whether or not the downstream pmic semiconductor chip is ready to receive a next voltage level on the first signal line.
11. A computing system, comprising:
one or more processing cores;
a system memory;
a system memory controller between the system memory and the processing cores;
a graphics processing unit;
a solid state drive;
a distributed supply rail generation circuit within at least one of the system memory and the solid state drive, the distributed supply rail generation circuit comprising multiple power management integrated circuit (pmic) semiconductor chips, wherein, two or more of the pmic semiconductor chips comprise logic circuitry to implement a pmic/PMIC interface comprising a downstream signal line and an upstream signal line, the downstream signal line to communicate any of multiple states that a downstream one of the pmic semiconductor chips is to implement with one of multiple voltage levels, where, different ones of the multiple voltage levels correspond to different ones of the multiple states, the upstream signal line to communicate whether or not the downstream one of the pmic semiconductor chips is ready to receive a next one of the multiple voltage levels.
5. The apparatus of
6. The apparatus of
7. The apparatus of
8. The apparatus of
a memory module;
a solid state drive.
9. The apparatus of
the memory module is a dual in-line memory module;
the memory module comprises stacked memory chips.
10. The apparatus of
14. The computing system of
15. The computing system of
16. The computing system
18. The method of
19. The method of
20. The method of
|
The field of invention pertains generally to the electronic arts, and, more specifically, to a PMIC/PMIC interface for distributed memory management implementations.
Computing system designers are seeking more advanced capabilities from their system memories and/or storage devices (e.g., solid state drives (SSDs)) in order to keep pace with the increasing demand for data arising from, e.g., artificial intelligence, cloud computing and/or other computing intensive and/or data center focused applications. As such, computing system designers are seeking ways for their main memory, co-processor memory and/or mass storage devices to demonstrate any/all of greater storage capacity, higher bandwidth, new functionality (e.g., non-volatility in the case of a main memory DIMM, “in-memory” computational logic for artificial intelligence applications, etc.).
A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:
Typically, computer memories are physically implemented with one or more memory modules that are plugged into a computing system. Non-volatile, dynamic random access memory (DRAM) dual-in line memory modules (DIMMs) have been the standard memory module for many years. However, in order to achieve some/all of the performance improvements described in the background (greater storage capacity, higher bandwidth, new functionality, etc.) newer memory modules are emerging such as non-volatile memory DIMMs, hybrid DRAM and non-volatile memory DIMMs, DIMMS with stacked memory chips, stacked memory modules having a different form factor and/or mechanical shape and/or system interface than a traditional DIMM, etc. Similarly, new SSD designs are attempting to stack more memory chips in a same or smaller form factor device.
Non volatile memory chip innovations include byte addressable non-volatile memory composed, e.g., of an emerging resistive memory cell memory technology such as a phase change random access memory, a dielectric random access memory, a ferroelectric random access memory, spin torque transfer random access memory, etc. Many of these emerging non-volatile memory technologies include three dimensional storage cell arrays (e.g., having a crosspoint access architecture) where storage cells are stacked over one another above the semiconductor chip substrate. Flash memories also construct three dimensional storage cell arrays above the semiconductor substrate. Non-volatile memory manufacturers of both emerging and flash memories are attempting to stack more and more storage cells upon one another in order to increase the storage densities of their respective memory chips.
Any/all of these innovations can result in more power consumption per memory module and/or storage device. Correspondingly, more sophisticated memory/storage power management functions are being devised for the memory implementations of future computer systems.
As is known in the art, PMICs generally have more than one associated voltage regulator, each providing a supply voltage/rail to the system components. For example, as depicted in
By contrast,
A problem with the distributed approach of
As observed in each of
Additionally, in each of the embodiments of
Getting the command to reach all of the PMICs can take longer with the approach of
The ENABLE signal, in various embodiments, is a multi-level signal where each different level corresponds to a different command that, e.g., informs the downstream PMIC what power state it is to be in, what performance state it is to be in, and/or what supply voltage is to be generated. Here, different computing system components can have different power states where, e.g., the S3 state is the only operable state and the S2, S1, etc. power states correspond to increasingly deeper sleep states in which the component consumes less power with each deeper sleep state but also takes longer to return to the active S3 state.
Similarly, in various embodiments, the PMICs may also support a number of performance states P1, P2, . . . PX. According to various embodiments, the PMIC should be in the higher power state in order to place itself in a performance state (because the performance states correspond to a particular functional state and the highest power state is the only operable/functional power state). Each increasing performance state corresponds to a higher level of performance and, correspondingly, power consumption.
For example, the lowest performance state (P1) corresponds to a lowest PMIC performance level (e.g., only one supply rail is activated at a lowest supply voltage), whereas, a highest performance state corresponds (PX) corresponds to a highest PMIC performance level (e.g., all supply rails are activated at a highest supply voltage).
A complication managing multiple PMICs as described above is communicating to the PMICs which of the multiple possible power states and/or performance states they are supposed to be in. The multi-level ENABLE signal accomplishes the goal of being able to communicate a particular one of the multiple possible states both quickly and with only one signal.
Thus, communication of which of four states is to apply is achieved by setting a particular voltage on a single pin. Here, setting the deepest sleep state with the lowest voltage helps the deepest sleep state consume minimal power. The downstream PMIC 312 includes a multi-threshold comparator 313 to determine which of the levels is being transmitted on the ENABLE line.
In combined or alternative embodiments, the different levels of the ENABLE signal can inform a downstream PMIC of which performance state it is to be in (e.g., if it is in a higher or highest power state). In order to achieve this communication, more levels than those depicted in
A downstream PMIC 312 communicates whether it is ready to change its power state or performance state, or, more generally, ramp (change) the supply voltage on its supply rails by asserting (=VCC) or de-asserting (=GND) the READY signal. That is, if a downstream PMIC 312 is presently in a state from which it can respond to a command to change its current supply rail setting, the downstream PMIC 312 asserts the READY signal. By contrast, if the downstream PMIC 312 is not presently in a state from which it can respond to a command to change its current supply rail setting (e.g., because it is presently ramping its supply rail to a new voltage), the downstream PMIC 312 will de-assert the READY signal. Thus, by observing the READY signal, the upstream PMIC 311 will understand whether or not the downstream PMIC 312 is in a position to receive a new ENABLE signal that changes the downstream PMIC's current supply rail setting.
As observed in
At time T1 the upstream PMIC 311 receives a command to enter the highest power state (the S3 state). Here, the upstream PMIC 311 may be the master PMIC and has received this command over, e.g., an I2C bus from the host. Alternatively, the upstream PMIC 311 may be a slave PMIC that is closer to the master PMIC in a daisy-chain arrangement than the downstream PMIC 312 and has received the command from its upstream PMIC.
Regardless, in response to the command, at time T2, the upstream PMIC 311 begins to take steps to ramp its voltage rails A, B and informs the downstream PMIC 312 of the new power state setting by changing the ENABLE line voltage to the level that corresponds to the S3 state. In response to receiving the new ENABLE line voltage level, the downstream PMIC 312 de-asserts the READY signal (because it is processing the newly received command).
After some delay, the downstream PMIC 312 begins ramping supply voltage rails C and D to the S3 voltage setting. Likewise, in response to its earlier receipt of the new power state setting, the supply rails A, B of the upstream PMIC 311 begin ramping up. Here, depending on implementation, the upstream PMIC 312 may purposely impose more delay before ramping its supply voltage rails so that voltage rails A and B complete their ramp at approximately the same time that voltage rails C and D complete their ramp (i.e., an upstream PMIC 311 can delay its ramp to accommodate for any propagation delay or other delay associated with downstream PMIC voltage ramping activity). By so doing, all four supply rails A-D can be approximately synchronized in that they reach the correct supply rail voltage at approximately the same time T3 (or just before in the case of supply rails A, B).
When the downstream PMIC 312 has completed its ramping activity (rails C and D complete their ramp), at time T3, the downstream PMIC 312 asserts the READY signal to signify it is ready to receive a next change in power state setting.
At time T4, the upstream PMIC 311 receives another command to enter the lower power S1 state. As such, in order to communicate this change to the downstream PMIC 312, the upstream PMIC 311 adjusts its EN signal to the S1 level. In response to the command from the upstream PMIC 311, the downstream PMIC de-asserts its READY signal. By time T5 both the upstream PMIC 311 and downstream PMICs have approximately ramped down their respective supply rails, in a synchronized fashion, to a supply voltage that corresponds to the S1 level. The downstream PMIC 312 also signifies that it is ready to receive a next command by asserting the READY signal.
At time T6 the downstream PMIC 312 experiences a problem in that supply rail C suddenly drops to an S0 state voltage level even though a command to do so was never received. In order to communicate that it is experiencing a problem, the downstream PMIC 312 de-asserts the READY signal. Here, the upstream PMIC 311 will recognize that the downstream PMIC is experiencing a problem because the READY signal has toggled from being READY to not being ready while the upstream PMIC 311 has not sent the downstream PMIC any new commands (the ENABLE signal remains at the S1 level).
Thus, the READY signal may not only be used to signal that a command has been successfully received and executed, but also, that an error is being experienced by the downstream PMIC. In response to the problem, if it is not the master, the upstream PMIC may also de-assert its READY signal to report the error further upstream. When the master PMIC becomes aware of the error it can interrupt the host system to make it aware of the problem. The host can then investigate (e.g., by snooping the register space of the PMICs through a sideband control channel).
The above described examples have been written consistently with PMIC devices that have on-board integrated voltage regulation and/or other power supply generation circuitry such that the supply rail voltages are directly emitted by the PMICs. Such PMICs may nevertheless rely on external components to generate their respective supply rail voltages (e.g., switching transistors to implement a pulse width modulated signal). Other PMICs may rely on external voltage regulators and/or other power supply generation circuitry to generate the supply rail voltages. The term PMIC device is understood to mean any of these PMIC devices.
A PMIC semiconductor chip is a semiconductor chip of a PMIC device that includes logic circuitry to carry out any embodiments of the PMIC/PMIC handshaking protocol described above. As such, a PMIC device generally includes a semiconductor chip composed of logic circuitry. Logic circuitry can be hardwired application specific logic circuitry, programmable logic circuitry (e.g., field programmable gate array (FPGA) circuitry), circuitry designed to execute some form of program code (e.g., embedded micro-controller or micro-processor (both of which are a type of processor)) or combinations thereof. PMIC devices and/or a PMIC semiconductor chip may also include analog and/or mixed signal circuitry (e.g., to implement power distribution and/or generation functions). PMIC semiconductor chips designed to act as a master will also include logic circuitry to perform master functions of the master/slave PMIC/PMIC relationship (e.g., receiving commands from a host and forwarding them to one or more downstream PMIC semiconductor chips via the PMIC/PMIC interface, reporting an error to the host, etc.).
An applications processor or multi-core processor 650 may include one or more general purpose processing cores 615 within its CPU 601, one or more graphical processing units 616, a memory management function 617 (e.g., a memory controller) and an I/O control function 618. The general purpose processing cores 615 typically execute the operating system and application software of the computing system. The graphics processing unit 616 typically executes graphics intensive functions to, e.g., generate graphics information that is presented on the display 603. The memory control function 617 interfaces with the system memory 602 to write/read data to/from system memory 602. The power management control unit 612 generally controls the power consumption of the system 600.
Each of the touchscreen display 603, the communication interfaces 604-607, the GPS interface 608, the sensors 609, the camera(s) 610, and the speaker/microphone codec 613, 614 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 one or more cameras 610). Depending on implementation, various ones of these I/O components may be integrated on the applications processor/multi-core processor 650 or may be located off the die or outside the package of the applications processor/multi-core processor 650. The computing system also includes non-volatile storage 620 which may be the mass storage component of the system.
The main memory 602 (e.g., implemented with memory modules), other type of memory (such as the local memory of a co-processor such as GPU 616) and/or non volatile mass storage 620 (e.g., implemented with SSDs) may rely on a distributed PMIC arrangement as described at length above.
Embodiments 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/custom hardware components that contain hardwired logic circuitry or programmable logic circuitry (e.g., FPGA, PLD) for performing the processes, or by any combination of programmed computer components and custom hardware components. For example a machine readable storage medium may be used to store drawings of components described herein, and/or, of automated socket assembly/manufacturing processes described herein.
Therefore elements 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).
In 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.
Zupanc, Zeljko, Wilson, Derrick, Morning-Smith, Andrew, Mocanu, Adrian
Patent | Priority | Assignee | Title |
11054878, | Aug 29 2017 | Texas Instruments Incorporated | Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems |
11669145, | Sep 15 2021 | Apple Inc. | Power management unit |
12105661, | Jul 19 2021 | Samsung Electronics Co., Ltd. | Electronic device including a plurality of power management integrated circuits and method of operating the same |
ER8616, |
Patent | Priority | Assignee | Title |
10241551, | Nov 30 2015 | Dialog Semiconductor (UK) Limited | Control and synchronization mechanism for a complex distributed power management system |
20180088658, | |||
20190064910, | |||
20190278496, | |||
20190340142, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 26 2019 | Intel Corporation | (assignment on the face of the patent) | / | |||
Apr 30 2019 | MOCANU, ADRIAN | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049616 | /0593 | |
Apr 30 2019 | MORNING-SMITH, ANDREW | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049616 | /0593 | |
Apr 30 2019 | ZUPANC, ZELJKO | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049616 | /0593 | |
Apr 30 2019 | WILSON, DERRICK | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049616 | /0593 |
Date | Maintenance Fee Events |
Apr 26 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Oct 21 2024 | REM: Maintenance Fee Reminder Mailed. |
Date | Maintenance Schedule |
Mar 02 2024 | 4 years fee payment window open |
Sep 02 2024 | 6 months grace period start (w surcharge) |
Mar 02 2025 | patent expiry (for year 4) |
Mar 02 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 02 2028 | 8 years fee payment window open |
Sep 02 2028 | 6 months grace period start (w surcharge) |
Mar 02 2029 | patent expiry (for year 8) |
Mar 02 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 02 2032 | 12 years fee payment window open |
Sep 02 2032 | 6 months grace period start (w surcharge) |
Mar 02 2033 | patent expiry (for year 12) |
Mar 02 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |