US10884480B1 - Current summing monitoring circuit in a multi-chip package to control power - Google Patents
Current summing monitoring circuit in a multi-chip package to control power Download PDFInfo
- Publication number
- US10884480B1 US10884480B1 US16/548,699 US201916548699A US10884480B1 US 10884480 B1 US10884480 B1 US 10884480B1 US 201916548699 A US201916548699 A US 201916548699A US 10884480 B1 US10884480 B1 US 10884480B1
- Authority
- US
- United States
- Prior art keywords
- die
- power consumption
- dice
- common node
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active - Reinstated
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present disclosure generally relates to die power management, and more specifically, relates to power management of a multiple-chip package.
- a memory sub-system can include one or more memory components that store data.
- the memory components can be, for example, non-volatile memory components and volatile memory components.
- a host system can utilize a memory subsystem to store data at the memory components and to retrieve data from the memory components.
- FIG. 1 illustrates an example computing environment that includes a memory subsystem in accordance with some embodiments of the present disclosure.
- FIG. 2 is a flow diagram of an example method to manage power consumption for multiple dice in a package, operating from a power network, and utilizing a charge storage device at a common node, in accordance with some embodiments of the present disclosure.
- FIG. 3 is a flow diagram of an example method to manage power consumption for one die of multiple dice, by monitoring a common node that utilizes a charge storage device to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- FIG. 4 is a block diagram of an example package that contains multiple dice, each die having a power management logic to perform the methods of FIG. 2 and/or FIG. 3 , in accordance with some embodiments of the present disclosure.
- FIG. 5 is a flow diagram of an example method to manage power consumption for multiple dice in a package, operating from a power network, and utilizing open-drain transistors connected to a common node, in accordance with some embodiments of the present disclosure.
- FIG. 6 is a flow diagram of an example method to manage power consumption for one die of multiple dice, by monitoring a common node having open-drain transistors to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- FIG. 7 is a block diagram of an example package that contains multiple dice, each die having a power management logic to perform the methods of FIG. 5 and/or FIG. 6 , in accordance with some embodiments of the present disclosure.
- FIG. 8 is a flow diagram of an example method to manage power consumption for multiple dice in a package, operating from a power network, and utilizing current summation at a common node, in accordance with some embodiments of the present disclosure.
- FIG. 9 is a flow diagram of an example method to manage power consumption for one die of multiple dice, by monitoring a common node that utilizes current summation to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- FIG. 10 is a block diagram of an example package that contains multiple dice, each die having a power management logic to perform the methods of FIG. 8 and/or FIG. 9 , in accordance with some embodiments of the present disclosure.
- FIG. 11 is a flow diagram of an example method to manage power consumption for multiple dice in a package and operating from a power network, by monitoring a fluctuation of a supply voltage at a common node, in accordance with some embodiments of the present disclosure.
- FIG. 12 is a flow diagram of an example method to manage power consumption for one die of multiple dice, by monitoring a fluctuation of a supply voltage at a common node to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- FIG. 13 is a block diagram of an example package that contains multiple dice, each die having a power management logic to perform the methods of FIG. 11 and/or FIG. 12 , in accordance with some embodiments of the present disclosure.
- FIG. 14 is a block diagram of an example computer system in which embodiments of the present disclosure may operate, in accordance with some embodiments of the present disclosure.
- a memory subsystem is a memory module that is connected to a central processing unit (CPU) via a memory bus.
- a memory sub-system can be a storage device, a memory module, or a hybrid of a storage device and memory module. Examples of storage devices and memory modules are described below in conjunction with FIG. 1 .
- a host system can utilize a memory subsystem that includes one or more memory devices.
- the memory devices can include, for example, non-volatile memory devices (e.g., NAND). Other types of memory devices, including volatile memory devices, are described in greater detail below in conjunction with FIG. 1 .
- the host system can provide data to be stored at the memory subsystem and can request data to be retrieved from the memory subsystem.
- multiple dice or chips that are part of a power network implement the memory components.
- the multiple dice reside in a single semiconductor or similar package, such as a System in Package or another three-dimensional integrated circuit package.
- the package can contain stacked memory dice.
- the power network then provides the power to the package and cumulative power consumption is across the multiple dice. Because some operations, such as programming, erasing, and reading a memory component, are relatively high current operations, not all the dice within the package can perform them at the same time.
- the power system has a total power consumption limit (referred to as peak power) for the package and the operations by the dice in the package cannot cumulatively exceed this limit.
- a system can maintain a power consumption limit in the power network by limiting the number of dice performing the high current operations.
- One approach is to limit the number of active dice that can perform high current operations at any given time, based on the peak power consumption rating for the respective die.
- this approach has a disadvantage in that, during any given period for those dice selected to be active, the total actual power consumption for those active dice may not reach or approach the peak power limit.
- the limit of concurrent high current operations can be based upon a worst-case scenario in which all dice are active. In those instances, in which less than all dice are active, or some operate with minimal power consumption, the power network has excess power capacity available but inefficiently blocks the higher current operations of other dice.
- aspects of the present disclosure address the above and other deficiencies by the dice within a package each providing an indication of their respective power consumption usage onto a shared common node (e.g., line, pin or terminal).
- the common node aggregates or accumulates the power consumption usage values to provide a total power consumption value for the package.
- Each die can then monitor the common node and determine if a higher current operation, if performed, would exceed the peak power consumption limit. If so, then a die can refrain from performing the higher current operation. If the operation does not exceed the peak power consumption limit, then that die can perform the operation.
- Each die can have predefined peak power consumption configured in the die or a controller can provide power consumption information to the memory component(s), (e.g., through a set command sequence).
- each die stores or otherwise has access to the target system's specific power limit.
- the die indicates the higher power usage on the common node, so that others monitoring the common node are aware of the added usage.
- the below description provides for a number of different approaches or embodiments to aggregate individual power usage onto the common node and individual dice monitoring the common node to schedule their individual higher current operations without exceeding the total power consumption limit or some other threshold. In this manner, all dice can efficiently use the power network to perform operations.
- the examples below refer to “die” and “dice,” but the use of “die” and “dice” are interchangeable with “chip” and “chips.”
- FIG. 1 illustrates an example computing environment 100 that includes a memory subsystem 110 in accordance with some embodiments of the present disclosure.
- the memory subsystem 110 can include media, such as memory components 112 A to 112 N (also referred to as “memory devices”).
- the memory components 112 A to 112 N can be volatile memory components, non-volatile memory components, or a combination of such.
- a memory sub-system 110 can be a storage device, a memory module, or a hybrid of a storage device and memory module.
- Examples of a storage device include a solid-state drive (SSD), a flash drive, a universal serial bus (USB) flash drive, an embedded Multi-Media Controller (eMMC) drive, a Universal Flash Storage (UFS) drive, and a hard disk drive (HDD).
- Examples of memory modules include a dual in-line memory module (DIMM), a small outline DIMM (SO-DIMM), and a non-volatile dual in-line memory module (NVDIMM).
- the computing environment 100 can include a host system 120 that is coupled to one or more memory sub-systems 110 .
- the host system 120 is coupled to different types of memory sub-system 110 .
- FIG. 1 illustrates one example of a host system 120 coupled to one memory sub-system 110 .
- the host system 120 uses the memory sub-system 110 , for example, to write data to the memory sub-system 110 and read data from the memory sub-system 110 .
- “coupled to” generally refers to a connection between components, which can be an indirect communicative connection or direct communicative connection (e.g., without intervening components), whether wired or wireless, including connections such as electrical, optical, magnetic, etc.
- the host system 120 can be a computing device such as a desktop computer, laptop computer, network server, mobile device, embedded computer (e.g., one included in a vehicle, industrial equipment, or a networked commercial device), or such computing device that includes a memory and a processing device.
- the host system 120 can include or be coupled to the memory subsystem 110 so that the host system 120 can read data from or write data to the memory subsystem 110 .
- the host system 120 can be coupled to the memory subsystem 110 via a physical host interface. Examples of a physical host interface include, but are not limited to, a serial advanced technology attachment (SATA) interface, a peripheral component interconnect express (PCIe) interface, universal serial bus (USB) interface, Fibre Channel, Serial Attached SCSI (SAS), etc.
- SATA serial advanced technology attachment
- PCIe peripheral component interconnect express
- USB universal serial bus
- SAS Serial Attached SCSI
- the physical host interface can be used to transmit data between the host system 120 and the memory subsystem 110 .
- the host system 120 can further utilize an NVM Express (NVMe) interface to access the memory components 112 A to 112 N when the memory subsystem 110 is coupled with the host system 120 by the PCIe interface.
- NVMe NVM Express
- the physical host interface can provide an interface for passing control, address, data, and other signals between the memory subsystem 110 and the host system 120 .
- the memory components 112 A to 112 N can include any combination of the different types of non-volatile memory components and/or volatile memory components.
- An example of non-volatile memory components includes a negative-and (NAND) type flash memory.
- Each of the memory components 112 A to 112 N can include one or more arrays of memory cells such as single level cells (SLCs), multi-level cells (MLCs), triple-level cells (TLCs), or quad-level cells (QLCs).
- a particular memory component can include both a low bit density portion (e.g., an SLC portion) and a high bit density portion (e.g., an MLC portion) of memory cells.
- Each of the memory cells can store one or more bits of data (e.g., data blocks) used by the host system 120 .
- non-volatile memory components such as NAND type flash memory are described, the memory components 112 A to 112 N can be based on any other type of memory such as a volatile memory.
- the memory components 112 A to 112 N can be, but are not limited to, random access memory (RAM), read-only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), phase change memory (PCM), magneto random access memory (MRAM), negative-or (NOR) flash memory, electrically erasable programmable read-only memory (EEPROM), and a cross-point array of non-volatile memory cells.
- a cross-point array of non-volatile memory can perform bit storage based on a change of bulk resistance, in conjunction with a stackable cross-gridded data access array. Additionally, in contrast to many flash-based memories, cross-point non-volatile memory can perform a write in-place operation, where a non-volatile memory cell can be programmed without the non-volatile memory cell being previously erased. Furthermore, the memory cells of the memory components 112 A to 112 N can be grouped as memory pages or data blocks that can refer to a unit of the memory component used to store data.
- the memory system controller 115 can communicate with the memory components 112 A to 112 N to perform operations such as reading data, writing data, or erasing data at the memory components 112 A to 112 N and other such operations.
- the controller 115 can include hardware such as one or more integrated circuits and/or discrete components, a buffer memory, or a combination thereof.
- the controller 115 can be a microcontroller, special purpose logic circuitry (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.), or another suitable processor.
- the controller 115 can include a processor (processing device) 117 configured to execute instructions stored in local memory 119 .
- the local memory 119 of the controller 115 includes an embedded memory configured to store instructions for performing various processes, operations, logic flows, and routines that control operation of the memory subsystem 110 , including handling communications between the memory subsystem 110 and the host system 120 .
- the local memory 119 can include memory registers storing memory pointers, fetched data, etc.
- the local memory 119 can also include read-only memory (ROM) for storing micro-code. While the example memory subsystem 110 in FIG.
- a memory subsystem 110 may not include a controller 115 , and may instead rely upon external control (e.g., provided by an external host, or by a processor or controller separate from the memory subsystem).
- external control e.g., provided by an external host, or by a processor or controller separate from the memory subsystem.
- the controller 115 can receive commands or operations from the host system 120 and can convert the commands or operations into instructions or appropriate commands to achieve the desired access to the memory components 112 A to 112 N.
- the controller 115 can be responsible for other operations such as wear leveling operations, garbage collection operations, error detection and error-correcting code (ECC) operations, encryption operations, caching operations, and address translations between a logical block address and a physical block address that are associated with the memory components 112 A to 112 N.
- the controller 115 can further include host interface circuitry to communicate with the host system 120 via the physical host interface.
- the host interface circuitry can convert the commands received from the host system into command instructions to access the memory components 112 A to 112 N as well as convert responses associated with the memory components 112 A to 112 N into information for the host system 120 .
- the memory subsystem 110 can also include additional circuitry or components that are not illustrated.
- the memory subsystem 110 can include a cache or buffer (e.g., DRAM) and address circuitry (e.g., a row decoder and a column decoder) that can receive an address from the controller 115 and decode the address to access the memory components 112 A to 112 N.
- each memory component 112 includes a processor (or similar circuitry) and local memory.
- each memory component 112 represents memory components constructed on a single die (or chip). The description below, pertaining to the subsequent Figures, references die 112 or dice 112 .
- Such designation of “ 112 ” corresponds to one or more of the memory components 112 A- 112 N in some embodiments.
- die 112 ” and “dice 112 ” refer to one or more of the memory components 112 A- 112 N in the description below.
- memory components 112 A to 112 N reside within a same housing or package, such as by stacking the dice (or chips).
- the memory subsystem 110 includes power management logic (PML) (also referred to as a power manager) 113 in each die 112 that can manage power consumption within the respective die 112 .
- the dice 112 A to 112 N can reside in a single package and can operate by deriving power from a power network.
- the PML 113 of each die 112 connects to a common node 114 (e.g., line, pin, terminal, etc.) to transmit an indication of its die's power consumption, in which aggregation or accumulation of the individual indications from the dice occurs at the common node to provide an indication of total power consumption of all of the dice 112 .
- Each PML 113 also monitors the common node 114 to determine the current state or value of total power consumption for the dice 112 .
- Each PML 113 then can use the monitored indication to determine if its die's planned memory operation will exceed or not exceed the total power consumption, or some threshold level.
- Each die can have predefined total power consumption or peak power consumption information configured in the die.
- the controller 115 can provide the power consumption information to the memory component(s) 112 A- 112 N, (e.g., through a set command sequence), so that each die stores or otherwise has access to the target system's specific power limit after the host system 120 communicates with the memory subsystem 110 .
- the controller can pass this information to the memory component(s) 112 A- 112 N.
- the description below provides further details with regard to different embodiments for the operation of the PML 113 and configurations of the common node 114 .
- FIG. 2 is a flow diagram of an example method 200 to manage power consumption for multiple dice in a package, operating from a power network, and utilizing a charge storage device at a common node, in accordance with some embodiments of the present disclosure.
- the method 200 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 200 (the PML 113 and other processing logic collectively referred to as “processing device” below).
- the circuitry of FIG. 4 performs the method 200 .
- the processing device e.g., the PML 113 ) of each die 112 determines an amount of power consumption for operating its respective die.
- the power consumption for the die 112 is dependent on the activity of the die 112 . When in a higher current state, such as for performing a memory operation, the power consumption is higher than when in a non-activity state.
- the processing device can use a variety of techniques to determine the power consumption for its die 112 . For example, the processing device determines the power consumption for the next operation (if any) for the die 112 to perform. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation. In one technique, current measurement, e.g., supply current, provides an indication of the die's power consumption.
- each processing device generates a signal that corresponds to the power consumption for its die 112 .
- the processing device can generate one of a variety of signals corresponding to power consumption, including voltage or current, analog or digital.
- the processing device generates the signal using a digital-to-analog converter to convert a digital value to an analog value to indicate power consumption.
- the signal is a current signal.
- the current signal can be the supply current (or a fraction of the supply current) drawn by the die 112 to indicate the power consumption. The amount of the supply current drawn by the die 112 corresponds to the determined power consumption.
- each processing device converts the signal to an analog signal to drive the common node 114 .
- the conversion performed depends on the type of the signal used to indicate the die's power consumption. For the embodiment that employs a current signal, the conversion is to a voltage. Thus, the value of the current converts to voltage when driven onto the common node 114 .
- a transimpedance amplifier performs the current-to-voltage conversion for driving the common node 114 .
- the analog voltage generated corresponds to an indication of that die's power consumption value.
- the resultant voltage driven onto the common node by all of the dice 112 corresponds to a value indicative of the total power consumption by the dice in the package.
- a charge storage device such as a capacitor, accumulates the charge driven onto common node 114 by each die 112 . Therefore, the resulting voltage on the capacitor is an indication of the power consumption by all of the dice 112 in the package.
- FIG. 3 is a flow diagram of an example method 300 to manage power consumption for one die of multiple dice, by monitoring a common node that utilizes a charge storage device to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- the method 300 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 300 .
- the circuitry of FIG. 4 performs the method 300 .
- each processing device e.g., PML 113
- each processing device monitors the common node 114 shared by the dice. For example, each processing device monitors the accumulated voltage on the common node 114 that indicates total power consumption for all of the dice 112 in the package.
- the method 200 of FIG. 2 provides the technique for driving an analog voltage on to the common node 114 to charge a storage device, such as a capacitor. As described above, the charge storage device accumulates the charges at the common node.
- the processing device of one die utilizes the accumulated voltage of the common node 114 to determine the indicated total power consumption for the dice 112 of the package.
- the processing device converts the analog voltage of the common node 114 to a digital value by use of an analog-to-digital converter.
- the processing device determines if an operation that the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption (e.g., the method 200 ) onto the common node 114 , along with indications of other dice, the processing device knows the total power consumption for the package. The processing device can determine if the required power for the intended operation, when considered with the aggregated value on the common node 114 , will exceed the threshold. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation.
- the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation. If the potential increase in the power consumption cannot, or most likely will not, exceed the threshold value for the package, the die 112 performs the operation.
- the processing device of the die 112 updates the die's power consumption indication onto the common node 114 to reflect the new power consumption value for the die in performing the operation. In some embodiments, the processing device of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- FIG. 4 is a block diagram of an example package 400 that contains multiple dice, each die having a PML to perform the methods of FIG. 2 and/or FIG. 3 .
- the package 400 shows only three dice, however, the actual number present can vary depending on the design.
- Each die 112 includes a sequencer 115 , along with the PML 113 .
- Each sequencer 115 is responsible for sequencing the various memory operations performed within its respective die 112 . Such operations include the scheduling and performing of read, program, and erase operations related to memory cells.
- the PML 113 manages the power-related operations for the die 112 .
- the PML 113 and sequencer 115 are separate components.
- the PML 113 and sequencer 115 are a combined component.
- the sequencers 115 of the dice 112 can communicate with one another.
- Each PML 113 couples to the common node 114 .
- the PML 113 of each die 112 determines an amount of power consumption for operating its respective die.
- the sequencer 115 can provide information to make the determination about power consumption.
- the power consumption for the die 112 is dependent on the activity of the die. When in a higher current state, such as for performing a program, read, or erase operation, the power consumption is higher than when in a non-activity state.
- the PML 113 can use a variety of techniques to determine the power consumption for its die 112 . In one technique, an amount of current (e.g., supply current) drawn by the die can provide an indication of die's power consumption.
- Each PML 113 generates a signal on line 406 that corresponds to the power consumption for its die 112 .
- the PML 113 can generate one of a variety of signals corresponding to power consumption, including voltage or current and analog or digital.
- the PML 113 generates the signal on line 406 using a digital-to-analog converter to convert a digital value to an analog value.
- the signal on line 406 is a current signal.
- the current signal can be the supply current (or a fraction of the supply current) drawn by the die 112 to indicate the power consumption.
- the amount of the current drawn by the die 112 corresponds to the power consumption of the die 112 .
- the sequencer 115 can provide the signal of line 406 to the PML 113 .
- Each PML 113 converts the signal on line 406 to an analog signal on line 407 to drive the common node 114 .
- the conversion performed depends on the type of the signal used to indicate the die's power consumption. For the embodiment that employs a current signal, the conversion is from current to a voltage. Thus, the value of the current converts to voltage when driven on to the common node 114 .
- a transimpedance amplifier 401 performs the current-to-voltage conversion for driving the common node 114 .
- the analog voltage generated on line 407 corresponds to an indication of the die's power consumption value. With each PML 113 generating its respective die's power consumption, the resultant voltage driven onto the common node 114 by all of the dice 112 corresponds to a value indicative of the total power consumption by the dice in the package 400 .
- the package 400 includes a charge storage device, shown as a capacitor 403 , to accumulate the charge driven onto common node 114 .
- the resulting voltage on the capacitor 403 provides an indication of the power consumption by all of the dice 112 in the package 400 .
- a leakage resistor 404 in parallel with the capacitor 403 provides a discharge path for the capacitor.
- the package includes both circuit components 403 and 404 , one or both components 403 , 404 can reside outside of the package.
- a designated pin or terminal on each die 112 connects line 407 to the common node 114 .
- each PML 113 monitors the accumulated voltage on the common node 114 .
- a designated pin or terminal on each die connects line 408 to the common node 114 to monitor the voltage on the common node 114 .
- a PML 113 of one die utilizes the accumulated voltage of the common node 114 to determine the indicated total power consumption for the dice 112 of the package 400 .
- the PML 113 converts the analog voltage on line 408 to a digital value by use of an analog-to-digital converter 402 and outputs the digital signal on line 409 .
- the PML 113 can pass this information on line 409 to the sequencer 115 .
- the PML 113 determines if the next operation that the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package 400 operating on the power network. Because the die 112 has indicated its current power consumption onto the common node 114 , along with indications of other dice, the PML 113 knows the total power consumption for the package. The PML 113 can determine if the required power for the next operation, when considered with the aggregated value on the common node 114 , will exceed the threshold. If the potential increase in the power consumption can result in the total power exceeding the threshold value, the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation.
- the die 112 performs the operation.
- the PML 113 of the die 112 updates the die's power consumption indication on the common node 114 to reflect the new power consumption value for the die in performing the operation.
- the PML 113 of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- the sequencer 115 can perform some or all of the operational functions, or aid in the performance of the operational functions of the die 112 .
- the circuitry of FIG. 4 allows for analog control over the power management of the dice 112 in the package 400 .
- Analog voltage and/or current monitoring at the common node 114 allows each die 112 to determine the current power consumption of the package 400 , so that each individual die can decide on which memory operation(s) it can currently perform, based on the monitored total power consumption value.
- the die 112 can delay performing the operation until power is available or perform a lower-power version of the operation.
- the circuitry of FIG. 4 can contain compensation devices/circuits/logic to adjust for process, temperature and/or voltage (PVT) fluctuations. PVT compensation allows for accurate performance of the PML 113 over fluctuating PVT conditions.
- PVT process, temperature and/or voltage
- FIG. 5 is a flow diagram of an example method 500 to manage power consumption for multiple dice in a package and operating from a power network and utilizing open-drain transistors connected to a common node, in accordance with some embodiments of the present disclosure.
- the method 500 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 500 (the PML 113 and other processing logic collectively referred to as “processing device” below).
- the circuitry of FIG. 7 performs the method 500 .
- the processing device e.g., the PML 113 ) of each die 112 determines an amount of power consumption for operating its respective die.
- the power consumption for the die 112 is dependent on the activity of the die 112 .
- the processing device can use a variety of techniques to determine the power consumption for its die 112 .
- the processing device determines the power consumption for the next operation (if any) for the die 112 to perform.
- the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation.
- current measurement e.g., supply current, provides an indication of the die's power consumption.
- each processing device generates a signal that corresponds to the power consumption for its die 112 .
- the processing device can generate one of a variety of signals corresponding to power consumption, including voltage or current and analog or digital.
- the processing device generates the signal using a digital-to-analog converter to convert a digital value to an analog value.
- the signal is an analog voltage signal, which voltage value corresponds to the current drawn by that die. The amount of the supply current drawn by the die 112 corresponds to the determined power consumption.
- each processing device uses the analog voltage to drive a gate of an open-drain transistor, so that the drain voltage corresponds to the gate drive voltage.
- the drain connection is to the common node 114 , so that the transistor drives the voltage variation onto the common node 114 .
- the drains of the transistors of each die 112 connect to the common node 114 and the common node 114 connects to a reference voltage, such as a supply voltage.
- the common node 114 is at the reference voltage.
- the voltage of the common node 114 drops from the reference voltage, in which the amount of the voltage drop corresponds to the amount of the conduction of the transistor(s). Because the amount of the transistor conduction depends on the gate signal to the transistor, each processing device causes a voltage change (e.g., voltage drop) from the reference value, which change corresponds to that die's power consumption.
- the voltage at the common node 114 represents the cumulative drive from all the dice 112 .
- the voltage at the common node 114 has a voltage variance from the reference value that corresponds as an indication of the total power consumption by the dice 112 in the package.
- FIG. 6 is a flow diagram of an example method 600 to manage power consumption for one die of multiple dice, by monitoring a common node having open-drain transistors to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- the method 600 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 300 .
- the circuitry of FIG. 7 performs the method 600 .
- each processing device e.g., the PML 113
- each processing device monitors the voltage on the common node 114 that indicates total power consumption for all of the dice 112 in the package.
- the method 500 of FIG. 5 provides the technique for using an open-drain transistor to cause a voltage of the common node 114 to change corresponding to the conduction of the transistor.
- Each processing device utilizes an open-drain transistor configuration and when driven into conduction, causes a voltage of the common node 114 to change in response to the conduction. As described above, all voltage changes combined at the common node 114 corresponds to the total power consumption.
- the processing device of one die 112 utilizes the voltage of the common node 114 to determine the indicated total power consumption for the dice of the package.
- the processing device converts the analog voltage of the common node 114 to a digital value by use of an analog-to-digital converter. Other embodiments can use other techniques.
- the processing device determines if the next operation that the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption (e.g., the method 500 ) onto the common node 114 , along with indications of other dice, the processing device knows the total power consumption for the package. The processing device can determine if the required power for the intended operation, when considered with the aggregated value on the common node 114 , will exceed the threshold. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation.
- the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation. If the potential increase in the power consumption cannot, or most likely will not, exceed the threshold value, the die 112 performs the operation.
- the processing device of the die 112 updates the die's power consumption indication on the common node 114 to reflect the new power consumption value for the die in performing the operation. In some embodiments, the processing device of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- FIG. 7 is a block diagram of an example package 700 that contains multiple dice, each die having a PML to perform the methods of FIG. 5 and/or FIG. 6 .
- the package 700 shows only three dice 112 , however, the actual number present can vary depending on the design.
- Each die 112 includes a sequencer 115 , along with the PML 113 .
- Each sequencer 115 is responsible for sequencing the various memory operations performed within its respective die 112 . Such operations include the scheduling and performing of read, program, and erase operations related to memory cells.
- the PML 113 manages the power related operations for the die 112 .
- the PML 113 and sequencer 115 are separate components.
- the PML 113 and sequencer 115 are a combined component.
- the sequencers 115 of the dice 112 can communicate with one another.
- Each PML 113 couples to the common node 114 .
- the PML 113 of each die 112 determines an amount of power consumption for operating its respective die.
- the sequencer 115 can provide information to make the determination about power consumption.
- the power consumption for the die 112 is dependent on the activity of the die. When in a higher current state, such as for performing a program, read, or erase operation, the power consumption is higher than when in a non-activity state.
- the PML 113 can use a variety of techniques to determine the power consumption for its die 112 . In one technique, current measurement (e.g., supply current) provides an indication of die's power consumption.
- Each PML 113 generates a signal on line 706 that corresponds to the power consumption for its die.
- PML 113 can generate one of a variety of signals corresponding to power consumption, including voltage or current and analog or digital.
- the signal is an analog voltage signal, which voltage value corresponds to the current drawn by that die.
- Each PML 113 uses the analog voltage to drive a gate of an open-drain transistor 701 .
- the transistors have the drain line 707 connected to the common node 114 .
- transistors 701 is a Complementary Metal-Oxide-Semiconductor (CMOS) transistor.
- CMOS Complementary Metal-Oxide-Semiconductor
- the common node 114 connects to a reference voltage Vref via a pull-up resistor 703 .
- Vref can be a supply voltage (e.g., Vcc or Vdd) provided to the dice.
- Vref can be a supply voltage (e.g., Vcc or Vdd) provided to the dice.
- the conducting transistors operate to pull current from the common node 114 and pull the voltage down from the Vref value.
- the amount of the pull-down is dependent on the value of the signal driving the gate of the transistor 701 .
- the voltage of the common node 114 drops from the reference voltage Vref, in which the amount of the voltage drop corresponds to the amount of the conduction of the transistor(s) 701 .
- each PML 113 causes a voltage change (e.g., voltage drop) from the reference value, which change corresponds to that die's power consumption.
- Each PML 113 drives the respective transistor 701 to cause a voltage pull-down of line 707 .
- the amount of the cumulative pull-down by the transistors 701 of dice 112 translates to an amount of the voltage from Vref at the common node 114 .
- this voltage variation from Vref at the common node 114 for all dice 112 corresponds to the total power consumption of the dice 112 .
- a controller or regulator can control the value of Vref, in order to vary the distance between Vref and a threshold level setting (such as for peak power). With a lower Vref, the common node 114 can reach the threshold voltage level with smaller number of active dice 112 , which has the effect of lowering the power limit.
- the common node 114 can reach the threshold voltage level with higher number of active dice 112 , which has the effect of raising the power limit. In this manner, a system can adjust the Vref based on the task load and system power requirement, in order to balance power limit and task execution time.
- each PML 113 uses multiple transistors instead of just one transistor.
- the signal to the gates of the multiple transistors determine which transistors are to conduct.
- the signal can be digital in this instance with some embodiments.
- the multiple transistors operate in saturation mode when conducting, so that the number of transistors turned on to pull down the common node 114 determines the current from Vref and the resultant amount of the voltage change at the common node 114 .
- the plurality of transistors provides discrete step changes of the drain current on line 707 .
- each PML 113 monitors the voltage on the common node 114 that indicates total power consumption for all of the dice 112 in the package 700 . Higher the voltage difference between the common node voltage and Vref, higher the total power consumption.
- a designated pin or terminal on each die 112 connects line 708 to the common node 114 to monitor the common node voltage.
- a PML 113 of one die 112 utilizes the voltage of the common node 114 to determine the indicated total power consumption for the dice of the package.
- the PML 113 converts the analog voltage of the common node 114 to a digital value by use of an analog-to-digital converter 702 and outputs the digital signal on line 709 . The PML 113 can pass this information on line 709 to the sequencer 115 .
- the PML 113 determines if the next operation the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption onto the common node 114 , along with indications of other dice, the PML 113 knows the total power consumption for the package. The PML 113 can determine if the required power for the next operation, when considered with the aggregated value on the common node 114 , will exceed the threshold. If the potential increase in the power consumption can result in the total power exceeding the threshold value, the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation.
- the die 112 performs the operation.
- the PML 113 of the die 112 updates the die's power consumption indication on the common node 114 to reflect the new power consumption value for the die in performing the operation.
- the PML 113 of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- the sequencer 115 can perform some or all of the operational functions, or aid in the performance of the operational functions of the die 112 .
- the circuitry of FIG. 7 allows for analog control over the power management of the dice 112 in the package 700 .
- Analog voltage and/or current monitoring at a common node 114 allows each die 112 to determine the current power consumption of the package 700 , so that each individual die decides on which memory operation(s) it can currently perform, based on the monitored total power consumption value.
- the die 112 can delay performing the operation until power is available or perform a lower-power version of the operation.
- the circuitry of FIG. 7 can contain compensation devices/circuits/logic to adjust for process, temperature and/or voltage (PVT) fluctuations. PVT compensation allows for accurate performance of the PML 113 over fluctuating PVT conditions.
- PVT process, temperature and/or voltage
- FIG. 8 is a flow diagram of an example method 800 to manage power consumption for multiple dice in a package, operating from a power network, and utilizing current summation at a common node, in accordance with some embodiments of the present disclosure.
- the method 800 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 800 (the PML 113 and other processing logic collectively referred to as “processing device” below).
- the circuitry of FIG. 10 performs the method 800 .
- the processing device e.g., the PML 113 ) of each die 112 determines an amount of power consumption for operating its respective die.
- the power consumption for the die 112 is dependent on the activity of the die 112 . When in a higher current state, such as for performing a memory operation, the power consumption is higher than when in a non-activity state.
- the processing device can use a variety of techniques to determine the power consumption for its die 112 . For example, the processing device determines the power consumption for the next operation (if any) for the die 112 to perform. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation. In one technique, current measurement, e.g., supply current, provides an indication of die's power consumption.
- each processing device generates a signal that corresponds to the power consumption for its die 112 .
- the processing device can generate one of a variety of signals corresponding to power consumption, including voltage or current and analog or digital.
- the processing device generates the signal using a digital-to-analog converter to convert a digital value to an analog value to indicate power consumption.
- the signal is a current signal.
- the current signal can be the supply current (or a fraction of the supply current) drawn by the die to indicate the power consumption. The amount of the supply current drawn by the die 112 corresponds to the determined power consumption.
- each processing device drives the analog signal to drive the common node 114 .
- a current source drives an analog current onto the common node 114 .
- the value of the current supplied to the common node 114 corresponds to an indication of that die's power consumption value.
- the combined currents from the dice 114 results in a cumulative analog current at the common node 114 .
- the resultant cumulative analog current driven onto the common node 114 by all of the dice 112 corresponds to a value indicative of the total power consumption by the dice in the package.
- FIG. 9 is a flow diagram of an example method 900 to manage power consumption for one die of multiple dice, by monitoring a common node that utilizes current summation to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- the method 900 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 900 .
- the circuitry of FIG. 10 performs the method 900 .
- each processing device e.g., the PML 113
- each processing device monitors the common node 114 shared by the dice. For example, each processing device monitors the cumulative analog current on the common node 114 that indicates total power consumption for all of the dice 112 in the package.
- the method 800 of FIG. 8 provides the technique for using an analog current that corresponds to the power consumption for that respective die 112 . The total of the currents, when summed, provides an indication of the total power consumption for the dice 112 .
- the processing device of one die 112 utilizes the cumulative analog current at the common node 114 to determine the indicated total power consumption for the dice 112 of the package.
- the PML 113 sums the analog currents using a current summation amplifier.
- the processing device determines if an operation that the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption (e.g., the method 800 ) onto the common node 114 , along with indications of other dice, the processing device knows the total power consumption for the package. The processing device can determine if the required power for the intended operation, when considered with the cumulative analog current value on the common node 114 , will exceed the threshold. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation.
- the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation. If the potential increase in the power consumption cannot, or most likely will not, exceed the threshold value, the die 112 performs the operation.
- the PML 113 of the die 112 updates the die's power consumption indication on the common node 114 to reflect the new power consumption value for the die 112 in performing the operation.
- the processing device of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- FIG. 10 is a block diagram of an example package 1000 that contains multiple dice, each die having a PML to perform the methods of FIG. 8 and/or FIG. 9 .
- the package 1000 shows only three dice 112 , however, the actual number present can vary depending on the design.
- Each die includes a sequencer 115 , along with the PML 113 .
- Each sequencer 115 is responsible for sequencing the various memory operations performed within its respective die. Such operations including the scheduling and performing of read, program, and erase operations related to memory cells.
- the PML 113 manages the power related operations for the die 112 .
- the PML 113 and sequencer 115 are separate components.
- the PML 113 and sequencer 115 are a combined component.
- the sequencers 115 of the dice 112 can communicate with one another.
- Each PML 113 couples to the common node 114 .
- the PML 113 of each die 112 determines an amount of power consumption for operating its respective die.
- the sequencer 115 can provide information to make the determination about power consumption.
- the power consumption for the die 112 is dependent on the activity of the die. When in a higher current state, such as for performing a program, read, or error operation, the power consumption is higher than when in a non-activity state.
- the PML 113 can use a variety of techniques to determine the power consumption for its die 112 . In one technique, current measurement (e.g., supply current) provides an indication of die's power consumption.
- Each PML 113 generates a signal that corresponds to the power consumption for its die 112 .
- the PML 113 can generate one of a variety of signals corresponding to power consumption, including voltage or current and analog or digital.
- the signal on line 1006 is a current signal.
- the current signal can be the supply current (or a fraction of the supply current) drawn by the die to indicate the power consumption.
- the sequencer 115 can provide the signal of line 1006 to the PML 113 .
- Each PML 113 drives the analog signal to drive the common node 114 .
- a current source 1001 drives an analog current onto line 1007 , which connects to the common node 114 .
- the value of the analog current supplied to the common node 114 corresponds to an indication of the die's power consumption value.
- the resultant cumulative analog current on the common node 114 by all of the dice 112 corresponds to a value indicative of the total power consumption by the dice in the package.
- each PML 113 monitors the cumulative analog current on the common node 114 .
- a designated pin or terminal on each die 112 connects to line 1008 to the common node 114 .
- a resistor 1004 connects the common node 114 to a return path, such as ground. Resistor 1004 can reside inside the package or outside of the package.
- a PML 113 of one die 112 utilizes the summed current of the common node 114 to determine the indicated total power consumption for the dice 112 of the package 1000 .
- the PML 113 sums the current using a current summation amplifier 1003 connected to line 1008 , converts the analog value to a digital value by use of an analog-to-digital converter 1002 , and outputs the digital signal on line 1009 .
- the PML 113 can pass this information on line 1009 to the sequencer 115 .
- the PML 113 determines if a next operation that its die 112 is about to perform will exceed a certain threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption onto the common node 114 , along with indications of other dice, the PML 113 knows the total power consumption for the package. The PML 113 can determine if the required power for the next operation, when considered with the cumulative analog current value on the common node 114 , will exceed the threshold. If the potential increase in the power consumption can result in the total power exceeding the threshold value, the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation.
- the die 112 performs the operation.
- the PML 113 of the die 112 updates the die's power consumption indication on the common node 114 to reflect the new power consumption value for the die 112 in performing the operation.
- the PML 113 of the die 112 updates the die's power consumption indication onto the common node 114 prior to performing the operation, in order to advertise or reserve power for the operation to prevent another die from executing another power consuming operation.
- the sequencer 115 can perform some or all of the operational functions, or aid in the performance of the operational functions of the die 112 .
- the circuitry of FIG. 10 allows for analog control over the power management of the dice 112 in the package 1000 .
- Analog voltage and/or current monitoring at a common node 114 allows each die 112 to determine the current power consumption of the package 1000 , so that each individual die can decide on which memory operation(s) it can currently perform, based on the monitored total power consumption value.
- the die 112 can delay performing the operation until power is available or perform a lower-power version of the operation.
- the circuitry of FIG. 10 can contain compensation devices/circuits/logic to adjust for process, temperature and/or voltage (PVT) fluctuations. PVT compensation allows for accurate performance of the PML 113 over fluctuating PVT conditions.
- PVT process, temperature and/or voltage
- FIG. 11 is a flow diagram of an example method 1100 to manage power consumption for multiple dice in a package and operating from a power network, by monitoring a fluctuation of a supply voltage at a common node, in accordance with some embodiments of the present disclosure.
- the method 1100 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 1100 (the PML 113 and other processing logic collectively referred to as “processing device” below).
- the processing device e.g., the PML 113
- each PML 113 monitors a supply voltage that provides power to the dice 112 of the package.
- the supply voltage has a nominal or reference value when the dice 112 of a package consume minimal power.
- the additional current drawn on the supply causes a voltage drop on the supply line. This variation can be the ripple effect experienced by the supply line as die/dice 112 draws additional current from the supply.
- each processing device measures the supply voltage value at the common node.
- a voltage detector connected to the common node 114 can detect the voltage at the common node. Because the total current drawn by the dice corresponds to total power consumption for the package and because the voltage drop has a proportional relationship to the current drawn from the supply, the total voltage drop from the nominal or reference value measured at the common node, gives a good indication of the total power consumption for the dice 112 in the package.
- the processing device can determine the difference in the voltage drop or ripple on the common node 114 from the nominal or reference value. With each processing device generating its respective die's power consumption, the resultant voltage driven onto the common node by all of the dice 112 corresponds to a value indicative of the total power consumption by the dice in the package.
- the processing device can utilize this difference in the voltage drop or ripple on the common node 114 from the nominal or reference value to indicate the total power consumption for the dice 112 in the package.
- FIG. 12 is a flow diagram of an example method 1200 to manage power consumption for one die of multiple dice, by monitoring a fluctuation of a supply voltage at a common node to determine the total power consumption for the multiple dice, in order to perform a power consuming operation, in accordance with some embodiments of the present disclosure.
- the method 1200 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the PML 113 of FIG. 1 performs the method 1200 .
- the circuitry of FIG. 13 performs the method 1200 .
- each processing device e.g., the PML 113
- the supply voltage supplies power to the power network used by the dice 112 in the package.
- Each processing device monitors a value of the supply voltage on the common node 114 .
- the method 1100 of FIG. 11 provides the technique for monitoring the supply voltage and interpreting the value of the supply voltage on the common node 114 as an indication of total power consumption value of the dice 112 .
- the processing device of one die 112 measures the voltage of the common node 114 to determine the indicated total power consumption for the dice of the package. In some embodiments the processing device uses a voltage detector to perform the measurement.
- the processing device determines a difference in value of the measured supply voltage at the common node 114 to a nominal or reference value for the supply voltage.
- the change in the value of the supply voltage is the ripple induced in the supply voltage, which ripple corresponds to the amount of current drawn from the supply by the dice 112 .
- the processing device determines if an operation that its die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package operating on the power network. Because the die 112 has indicated its current power consumption (e.g., the method 1100 ) by a change in the supply voltage, along with changes induced by the other dice, the processing device knows the total power consumption for the package. The processing device can determine if the required power for the intended operation, when considered with the supply voltage value at the common node 114 , will exceed the threshold. In one embodiment, the processing device uses a lookup table or other data structure to map an operation with a digital or analog value corresponding to the operation.
- the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation. If the potential increase in the power consumption cannot, or most likely will not, exceed the threshold value, the die 112 performs the operation.
- the PML 113 of the die 112 will update the die's power consumption indication on the common node 114 , by causing a change in the supply voltage, to reflect the new power consumption value for the die.
- FIG. 13 is a block diagram of an example package 1300 that contains multiple dice, each die having a PML to perform the methods of FIG. 11 and/or FIG. 12 .
- the package 1300 shows only three dice 112 , however, the actual number present can vary depending on the design.
- Each die includes a sequencer 115 , along with the PML 113 .
- Each sequencer 115 is responsible for sequencing the various memory operations performed within its respective die 112 . Such operations including the scheduling and performing of read, program, and erase operations related to memory cells.
- the PML 113 manages the power related operations for the die 112 .
- the PML 113 and sequencer 115 are separate components.
- the PML 113 and sequencer 115 are a combined component.
- the sequencers 115 of the dice 112 can communicate with one another.
- Each PML 113 couples to the common node 114 via line 1306 .
- a designated pin or terminal on each die connects line 1306 to the common node 114 .
- each PML 113 of each die 112 does not generate a signal indicative of that die's power consumption. Instead, each PML 113 monitors, at the common node, a supply voltage (e.g., Vcc/Vdd) that provides power to the dice 112 of the package 1300 .
- the supply voltage has a nominal or reference value when the dice 112 of the package 1300 consume minimal power.
- the additional current drawn on the supply causes a voltage drop on the supply line. This variation can be the ripple effect experienced by the supply line as die/dice draws additional current from the supply.
- Each PML 113 measures the supply voltage value at the common node 144 .
- a voltage detector 1301 connected to the common node 114 , via line 1306 can detect the voltage at the common node. Because the total current drawn by the dice 112 corresponds to total power consumption for the package 1300 and because the voltage drop has a proportional relationship to the current drawn from the supply, the voltage drop from the nominal or reference value measured at the common node, gives a good indication of the total power consumption for the dice 112 in the package 1300 .
- Each PML 113 can determine the difference in the voltage drop or ripple on the common node 114 from the nominal or reference value. Each PML 113 can utilize this difference in the voltage drop or ripple from the nominal or reference value to indicate the total power consumption of the dice 112 in the package 1300 .
- Each PML 113 of the dice 112 contained in the package 1300 monitors the supply voltage at the common node 114 .
- the voltage detector 1301 of a PML 113 of one die 112 measures the voltage of the common node 114 to determine the indicated total power consumption for the dice 112 of the package 1300 .
- the PML determines a difference in value of the measured supply voltage at the common node 114 to a nominal or reference value for the supply voltage.
- the change in the value of the supply voltage is the ripple induced in the supply voltage, which ripple corresponds to the amount of current drawn from the supply by the dice 112 .
- the PML 113 determines if the next operation that the die 112 is about to perform will exceed a threshold value for power consumption.
- the threshold level is the peak power level set for all of the dice 112 of the package 1300 operating on the power network. Because the PML 113 knows the total power consumption for the package, the PML 113 can determine if the required power for the next operation, when considered with the supply voltage value on the common node 114 , will exceed the threshold. If the potential increase in the power consumption can result in the total power exceeding the threshold value, the die 112 does not perform the operation, delays performing the operation, or performs a lower-power version of the operation.
- the die 112 performs the operation.
- the power consumption for that die 112 increases due to additional current drawn from the supply, which increase in the power consumption results in additional change in the voltage (e.g., ripple) introduced in the supply voltage and noted at the common node 114 .
- the circuitry of FIG. 13 allows for analog control over the power management of the dice 112 in the package 1300 .
- Analog voltage and/or current monitoring at common node 114 allows each die 112 to determine the current power consumption of the package 1300 , so that each individual die 112 can decide on which memory operation(s) it can currently perform, based on the monitored total power consumption value.
- the circuitry of FIG. 13 can contain compensation devices/circuits/logic to adjust for process, temperature and/or voltage (PVT) fluctuations. PVT compensation allows for accurate performance of the PML 113 over fluctuating PVT conditions.
- PVT process, temperature and/or voltage
- FIG. 14 illustrates an example machine of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, can be executed.
- the computer system of FIG. 14 can correspond to a host system (e.g., the host system 120 of FIG. 1 ) that includes, is coupled to, or utilizes a memory subsystem (e.g., the memory subsystem 110 of FIG. 1 ) or can be used to perform the operations of a controller (e.g., to execute an operating system to perform operations corresponding to the PML 113 of FIG. 1 ).
- a host system e.g., the host system 120 of FIG. 1
- a memory subsystem e.g., the memory subsystem 110 of FIG. 1
- a controller e.g., to execute an operating system to perform operations corresponding to the PML 113 of FIG. 1 .
- the machine can be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, and/or the Internet.
- the machine can operate in the capacity of a server or a client machine in client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client machine in a cloud computing infrastructure or environment.
- the machine can be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- STB set-top box
- a cellular telephone a web appliance
- server a server
- network router a network router
- switch or bridge or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
- the example computer system includes a processing device 1402 , a main memory 1404 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 1406 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage system 1418 , which communicate with each other via a bus 1430 .
- main memory 1404 e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.
- DRAM dynamic random access memory
- SDRAM synchronous DRAM
- RDRAM Rambus DRAM
- static memory 1406 e.g., flash memory, static random access memory (SRAM), etc.
- SRAM static random access memory
- Processing device 1402 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device can be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 1402 can also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 1402 is configured to execute instructions 1426 for performing the operations and steps discussed herein. The computer system can further include a network interface device 1408 to communicate over the network 1420 .
- CISC complex instruction set computing
- RISC reduced instruction set computing
- VLIW very long instruction word
- Processing device 1402 can also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC),
- the data storage system 1418 can include a machine-readable storage medium 1424 (also known as a computer-readable medium) on which is stored one or more sets of instructions 1426 or software embodying any one or more of the methodologies or functions described herein.
- the instructions 1426 can also reside, completely or at least partially, within the main memory 1404 and/or within the processing device 1402 during execution thereof by the computer system 1400 , the main memory 1404 and the processing device 1402 also constituting machine-readable storage media.
- the machine-readable storage medium 1424 , data storage system 1418 , and/or main memory 1404 can correspond to the memory subsystem 110 of FIG. 1 .
- the instructions 1426 include instructions to implement functionality corresponding to a power manager or power management logic (e.g., the PML 113 of FIG. 1 ).
- a power manager or power management logic e.g., the PML 113 of FIG. 1
- the machine-readable storage medium 1424 is shown in an example embodiment to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions.
- the term “machine-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
- the term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
- the present disclosure also relates to an apparatus for performing the operations herein.
- This apparatus can be specially constructed for the intended purposes, or it can include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer system or other data processing system such as a memory component 112 , may carry out the computer-implemented methods described herein in response to its processor executing a computer program (e.g., a sequence of instructions) contained in a memory or other non-transitory machine-readable storage medium.
- Such a computer program can be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- a computer readable storage medium such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- the present disclosure can be provided as a computer program product, or software, that can include a machine-readable medium having stored thereon instructions, which can be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure.
- a machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer).
- a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory components, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims (20)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/548,699 US10884480B1 (en) | 2019-08-22 | 2019-08-22 | Current summing monitoring circuit in a multi-chip package to control power |
| PCT/US2020/045491 WO2021034522A1 (en) | 2019-08-22 | 2020-08-07 | Current summing monitoring circuit in a multi-chip package to control power |
| CN202080058565.9A CN114341770A (en) | 2019-08-22 | 2020-08-07 | Current summation monitoring circuit in multi-chip package for controlling power |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/548,699 US10884480B1 (en) | 2019-08-22 | 2019-08-22 | Current summing monitoring circuit in a multi-chip package to control power |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US10884480B1 true US10884480B1 (en) | 2021-01-05 |
Family
ID=74045166
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/548,699 Active - Reinstated US10884480B1 (en) | 2019-08-22 | 2019-08-22 | Current summing monitoring circuit in a multi-chip package to control power |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10884480B1 (en) |
| CN (1) | CN114341770A (en) |
| WO (1) | WO2021034522A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11164784B2 (en) | 2019-08-22 | 2021-11-02 | Micron Technology, Inc. | Open-drain transistor monitoring circuit in a multi-chip package to control power |
| US11237612B2 (en) * | 2019-08-22 | 2022-02-01 | Micron Technology, Inc. | Charge-sharing capacitive monitoring circuit in a multi-chip package to control power |
| US20230418480A1 (en) * | 2020-11-26 | 2023-12-28 | Yangtze Memory Technologies Co., Ltd. | Dynamic peak power management for multi-die operations |
Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050134305A1 (en) | 2003-12-17 | 2005-06-23 | Stojanovic Vladimir M. | High speed signaling system with adaptive transmit pre-emphasis |
| US7472296B2 (en) | 2004-02-20 | 2008-12-30 | Semiconductor Energy Laboratory Co., Ltd. | Integrated circuit, semiconductor device and ID chip |
| KR20090066680A (en) | 2007-12-20 | 2009-06-24 | 삼성전자주식회사 | Semiconductor memory system and its access method |
| US20100023903A1 (en) | 2008-07-25 | 2010-01-28 | Eddy Pramono | Method and apparatus for multi-die thermal analysis |
| US20100091537A1 (en) * | 2006-12-14 | 2010-04-15 | Best Scott C | Multi-die memory device |
| KR20110087274A (en) | 2008-10-30 | 2011-08-02 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | A method of managing power in a memory device and computer memory. |
| US8060765B1 (en) | 2006-11-02 | 2011-11-15 | Nvidia Corporation | Power estimation based on block activity |
| US20110291733A1 (en) | 2010-05-31 | 2011-12-01 | Rohm Co., Ltd. | Transmitter, interface device, and car mounted communication system |
| US20120023346A1 (en) | 2010-07-26 | 2012-01-26 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
| US8799683B2 (en) | 2004-06-04 | 2014-08-05 | Broadcom Corporation | Method and system for monitoring module power status in a communication device |
| US20140369116A1 (en) * | 2013-06-17 | 2014-12-18 | Micron Technology, Inc. | Shielded vertically stacked data line architecture for memory |
| WO2015025124A1 (en) | 2013-08-21 | 2015-02-26 | Arm Limited | Power signal interface |
| US20160293264A1 (en) | 2015-04-03 | 2016-10-06 | Sandisk Technologies Inc. | Ad hoc digital multi-die polling for peak icc management |
| US20170060205A1 (en) | 2015-08-26 | 2017-03-02 | Intel Corporation | Apparatus and method to reduce power losses in an integrated voltage regulator |
| US20170192489A1 (en) | 2014-09-05 | 2017-07-06 | Hewlett Packard Enterprise Development Lp | Backup power and load discovery |
| US20190079574A1 (en) | 2017-09-12 | 2019-03-14 | Ambiq Micro, Inc. | Very Low Power Microcontroller System |
| US20190220560A1 (en) | 2018-01-12 | 2019-07-18 | Seagate Technology Llc | Die resistance-capacitance extraction and validation |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8522055B2 (en) * | 2010-07-26 | 2013-08-27 | Apple Inc. | Peak power validation methods and systems for non-volatile memory |
| US10218166B2 (en) * | 2015-03-03 | 2019-02-26 | Sandisk Technologies Llc | System and method for dynamic monitoring of controller current consumption |
-
2019
- 2019-08-22 US US16/548,699 patent/US10884480B1/en active Active - Reinstated
-
2020
- 2020-08-07 WO PCT/US2020/045491 patent/WO2021034522A1/en not_active Ceased
- 2020-08-07 CN CN202080058565.9A patent/CN114341770A/en active Pending
Patent Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050134305A1 (en) | 2003-12-17 | 2005-06-23 | Stojanovic Vladimir M. | High speed signaling system with adaptive transmit pre-emphasis |
| US7472296B2 (en) | 2004-02-20 | 2008-12-30 | Semiconductor Energy Laboratory Co., Ltd. | Integrated circuit, semiconductor device and ID chip |
| US8799683B2 (en) | 2004-06-04 | 2014-08-05 | Broadcom Corporation | Method and system for monitoring module power status in a communication device |
| US8060765B1 (en) | 2006-11-02 | 2011-11-15 | Nvidia Corporation | Power estimation based on block activity |
| US20100091537A1 (en) * | 2006-12-14 | 2010-04-15 | Best Scott C | Multi-die memory device |
| KR20090066680A (en) | 2007-12-20 | 2009-06-24 | 삼성전자주식회사 | Semiconductor memory system and its access method |
| US20100023903A1 (en) | 2008-07-25 | 2010-01-28 | Eddy Pramono | Method and apparatus for multi-die thermal analysis |
| KR20110087274A (en) | 2008-10-30 | 2011-08-02 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | A method of managing power in a memory device and computer memory. |
| US20110291733A1 (en) | 2010-05-31 | 2011-12-01 | Rohm Co., Ltd. | Transmitter, interface device, and car mounted communication system |
| US20120023346A1 (en) | 2010-07-26 | 2012-01-26 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
| US20140369116A1 (en) * | 2013-06-17 | 2014-12-18 | Micron Technology, Inc. | Shielded vertically stacked data line architecture for memory |
| WO2015025124A1 (en) | 2013-08-21 | 2015-02-26 | Arm Limited | Power signal interface |
| US20170192489A1 (en) | 2014-09-05 | 2017-07-06 | Hewlett Packard Enterprise Development Lp | Backup power and load discovery |
| US20160293264A1 (en) | 2015-04-03 | 2016-10-06 | Sandisk Technologies Inc. | Ad hoc digital multi-die polling for peak icc management |
| US20170060205A1 (en) | 2015-08-26 | 2017-03-02 | Intel Corporation | Apparatus and method to reduce power losses in an integrated voltage regulator |
| US20190079574A1 (en) | 2017-09-12 | 2019-03-14 | Ambiq Micro, Inc. | Very Low Power Microcontroller System |
| US20190220560A1 (en) | 2018-01-12 | 2019-07-18 | Seagate Technology Llc | Die resistance-capacitance extraction and validation |
Non-Patent Citations (4)
| Title |
|---|
| International Search Report and Written Opinion, PCT/US2020/045396, dated Nov. 5, 2020, 11 pages. |
| International Search Report and Written Opinion, PCT/US2020/045491, dated Nov. 20, 2020, 10 pages. |
| International Search Report and Written Opinion, PCT/US2020/046243, dated Nov. 20, 2020, 9 pages. |
| Session 13 Non-Volatile Memories ISSCC 2019, International Solid-State Circuits Conference, 2019 IEEE, 170 pages. |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11164784B2 (en) | 2019-08-22 | 2021-11-02 | Micron Technology, Inc. | Open-drain transistor monitoring circuit in a multi-chip package to control power |
| US11237612B2 (en) * | 2019-08-22 | 2022-02-01 | Micron Technology, Inc. | Charge-sharing capacitive monitoring circuit in a multi-chip package to control power |
| US12235707B2 (en) | 2019-08-22 | 2025-02-25 | Micron Technology, Inc. | Charge-sharing capacitive monitoring circuit in a multi-chip package to control power |
| US20230418480A1 (en) * | 2020-11-26 | 2023-12-28 | Yangtze Memory Technologies Co., Ltd. | Dynamic peak power management for multi-die operations |
| US12379857B2 (en) * | 2020-11-26 | 2025-08-05 | Yangtze Memory Technologies Co., Ltd. | Dynamic peak power management for multi-die operations |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114341770A (en) | 2022-04-12 |
| WO2021034522A1 (en) | 2021-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12235707B2 (en) | Charge-sharing capacitive monitoring circuit in a multi-chip package to control power | |
| CN106415724A (en) | Providing power availability information to memory | |
| US10884480B1 (en) | Current summing monitoring circuit in a multi-chip package to control power | |
| US11948647B2 (en) | Managing digitally-controlled charge pump operation in a memory sub-system | |
| US20240248616A1 (en) | Dynamic block categorization to improve reliability and performance in memory sub-system | |
| US11615853B2 (en) | Selective overdrive of supply voltage to primary switch for programming memory cells | |
| US11789862B2 (en) | Power-on-time based data relocation | |
| US11815977B2 (en) | Power translator component | |
| US20130262942A1 (en) | Flash memory lifetime evaluation method | |
| US11164784B2 (en) | Open-drain transistor monitoring circuit in a multi-chip package to control power | |
| US20250006281A1 (en) | Program continuation strategies after memory device power loss | |
| US20230063585A1 (en) | Memory device with detection of out-of-range operating temperature | |
| US12524054B2 (en) | Power loss protection using thermoelectric generator | |
| US20240201893A1 (en) | Input voltage degradation detection | |
| US20250383792A1 (en) | Power management with dynamic data transfer speed adjustment | |
| US11747843B1 (en) | Power supply voltage drop compensation | |
| US20240036596A1 (en) | Voltage regulation system | |
| US20240201891A1 (en) | Input voltage degradation detection |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FEPP | Fee payment procedure |
Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PTGR); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| PRDP | Patent reinstated due to the acceptance of a late maintenance fee |
Effective date: 20250305 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20250105 |
|
| FEPP | Fee payment procedure |
Free format text: PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: M1558); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |