Current budget adaptation

CN115731970BActive Publication Date: 2026-10-16MICRON TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211040324.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-08-30
Filing Date
2022-08-29
Publication Date
2026-10-16
Estimated Expiration
2042-08-29

AI Technical Summary

Technical Problem

除非由外部电源周期性刷新,否则易失性存储器单元(例如,DRAM单元)可随时间推移而丢失其编程状态

Benefits of technology

[0008] This document describes an apparatus. The apparatus may include: a memory device; a power supply line coupled to the memory device; and a local controller coupled to the memory device and configured to cause the apparatus to: determine a corresponding current consumption associated with the memory device; transmit an indication of the corresponding current consumption to the controller coupled to the memory device; and receive, at least in part, a control signal indicating an updated upper limit for the current consumption of the memory device based on the transmission of the indication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115731970B_ABST
    Figure CN115731970B_ABST
Patent Text Reader

Abstract

This application relates to current budget adaptation. A controller can be coupled with a set of memory devices. The controller can receive current consumption information from the set of memory devices, and update a current consumption budget for the set of memory devices based on the current consumption information.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related application citation

[0002] This application claims priority to U.S. Patent Application No. 17 / 461,558, entitled “Current Budget Adaptation,” filed by CARIELLO on August 30, 2021, which is assigned to the assignee and is expressly incorporated herein by reference in its entirety. Technical Field

[0003] The technical field involves current budget adaptation. Background Technology

[0004] Memory devices are widely used to store information in various electronic devices such as computers, user devices, wireless communication devices, cameras, digital displays, and so on. Information is stored by programming memory cells within the memory device into different states. For example, a binary memory cell can be programmed to typically correspond to one of two supported states: logic 1 or logic 0. In some instances, a single memory cell can support more than two possible states, any of which can be stored by the memory cell. To access the information stored by the memory device, a component can read or sense the state of one or more memory cells within the memory device. To store information, a component can write or program one or more memory cells within the memory device into corresponding states.

[0005] Various types of memory devices exist, including magnetic hard disks, random access memory (RAM), read-only memory (ROM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), static RAM (SRAM), ferroelectric RAM (FeRAM), magnetic RAM (MRAM), resistive RAM (RRAM), flash memory, phase-change memory (PCM), 3D crosspoint memory, NOR (Non-OR), and NAND (NAND) memory devices. Memory devices can be volatile or non-volatile. Volatile memory cells (e.g., DRAM cells) can lose their programmed state over time unless periodically refreshed by an external power supply. Non-volatile memory cells (e.g., NAND memory cells) can maintain their programmed state for a long period of time even in the absence of an external power supply. Summary of the Invention

[0006] This document describes an apparatus. The apparatus may include: a power supply line coupled to a group of memory devices; and a controller coupled to the group of memory devices and the power supply line, the controller being configured to cause the apparatus to: determine whether the voltage of the power supply line is below a threshold; in response to determining that the voltage is below the threshold, determine whether the collective current consumed by the group of memory devices is within an upper limit for current consumption of the group of memory devices; and update the upper limit for current consumption of the group of memory devices, at least in part, based on determining that the collective current is within the upper limit.

[0007] This document describes an apparatus. The apparatus may include: a power supply line coupled to a group of memory devices; and a controller coupled to the group of memory devices and the power supply line, the controller being configured to cause the apparatus to: receive one or more messages, each indicating a corresponding current consumption for each memory device in the group of memory devices; determine, at least in part, a correlation between the collective current consumption of the group of memory devices and a corresponding decrease in voltage on the power supply line based on the one or more messages; and update an upper limit for the current consumption of the group of memory devices, at least in part, based on the correlation.

[0008] This document describes an apparatus. The apparatus may include: a memory device; a power supply line coupled to the memory device; and a local controller coupled to the memory device and configured to cause the apparatus to: determine a corresponding current consumption associated with the memory device; transmit an indication of the corresponding current consumption to the controller coupled to the memory device; and receive, at least in part, a control signal indicating an updated upper limit for the current consumption of the memory device based on the transmission of the indication. Attached Figure Description

[0009] Figure 1 Examples of systems that support current budget adaptation based on the examples disclosed herein are shown.

[0010] Figure 2 Examples of systems that support current budget adaptation based on the examples disclosed herein are shown.

[0011] Figure 3 An example of a process flow that supports current budget adaptation based on the examples disclosed herein is shown.

[0012] Figure 4 An example of a process flow that supports current budget adaptation based on the examples disclosed herein is shown.

[0013] Figure 5 A block diagram is shown of a controller that supports current budget adaptation based on the examples disclosed herein.

[0014] Figure 6 A block diagram is shown that supports current budget adaptation of a memory device according to the examples disclosed herein.

[0015] Figures 7 to 9 Flowcharts illustrating one or more methods supporting current budget adaptation based on the examples disclosed herein are presented. Detailed Implementation

[0016] In some systems, there may be an upper limit on the amount of current consumed by a group of memory devices at any given time, which may be referred to as the current consumption budget or peak current budget. However, the current consumption budget set for the group of memory devices may not be suitable for the system (e.g., due to manufacturing variability in the system and platform). If the current consumption budget is set too high, the full utilization of the current consumption budget by the group of memory devices can adversely affect the voltage of the power supply lines that supply power to the group of memory devices. For example, full utilization of the current consumption budget can pull the voltage of the power supply lines (referred to as the supply voltage) down to a level insufficient for various operations, which can impair system performance and have other disadvantages. According to the techniques described herein, a controller can improve system performance by adaptively updating the current consumption budget of the group of memory devices.

[0017] For cost and efficiency reasons, the controller may lack the hardware to measure the current consumed by the memory controller and the memory devices in the system. To maintain peak current consumption under control, both the controller and the memory devices can predict expected consumption before distributing power to different circuit systems and operations. According to the techniques described herein, the controller can correlate this current consumption information with the voltage level on the power supply line, which can be monitored to protect the system from conditions beyond its supported range.

[0018] In a first example of the technology described herein, the controller may enable a group of memory devices to save (e.g., store) current consumption information after detecting a decrease in a threshold of the supply voltage. If the current consumption information indicates that the group of memory devices is using (or is close to using) the full current consumption budget near the time of the decrease in the supply voltage, the controller may set a new (e.g., lower) current consumption budget for the group of memory devices.

[0019] In a second embodiment of the technology described herein, the controller may be connected to a group of memory devices in a manner that allows the controller to receive current consumption messages exchanged between memory devices for power management. Based on the current consumption information conveyed by the messages, the controller may correlate the current consumption of the group of memory devices with a reduction in the voltage supply and infer an amount of current consumption that would cause an unacceptable reduction in the supply voltage. The controller may then set a new current consumption budget for the group of memory devices based on (e.g., according to) the inference. Although described separately, aspects of the first and second embodiments can be combined.

[0020] Firstly, in reference Figure 1 and 2 The features of this disclosure are described in the context of systems, apparatus, and circuits. (Referencing...) Figures 3 to 4 The features of this disclosure are described in the context of the process flow. (See references...) Figures 5 to 9 The device diagrams and flowcharts relating to current budget adaptation are used to further illustrate and describe these and other features of this disclosure in the context of the device diagrams and flowcharts.

[0021] Figure 1 An example of a system 100 supporting current budget adaptation according to the examples disclosed herein is shown. System 100 includes a host system 105 coupled to a memory system 110.

[0022] The memory system 110 may be or include any device or set of devices, wherein the device or set of devices includes at least one memory array. For example, the memory system 110 may be or include a universal flash memory (UFS) device, an embedded multimedia controller (eMMC) device, a flash device, a universal serial bus (USB) flash device, a secure digital card (SD card), a solid-state drive (SSD), a hard disk drive (HDD), a dual in-line memory module (DIMM), a small form factor DIMM (SO-DIMM), or a non-volatile DIMM (NVDIMM), and other possibilities.

[0023] System 100 may be included in a computing device, such as a desktop computer, laptop computer, web server, mobile device, vehicle (e.g., airplane, drone, train, car or other means of transport), Internet of Things (IoT) enabled device, embedded computer (e.g., embedded computer included in a vehicle, industrial equipment or networked business device), or any other computing device that includes memory and processing.

[0024] System 100 may include a host system 105, which may be coupled to a memory system 110. In some instances, this coupling may include an interface to a host system controller 106, which may be an instance of a controller or control component configured to cause the host system 105 to perform various operations as described herein. The host system 105 may include one or more devices, and in some cases, may include a processor chipset and a software stack executed by the processor chipset. For example, the host system 105 may include an application configured to communicate with the memory system 110 or devices therein. The processor chipset may include one or more cores, one or more caches (e.g., memory native to the host system 105 or included in the host system), a memory controller (e.g., an NVDIMM controller), and a storage protocol controller (e.g., a Peripheral Component Interconnect High Speed ​​(PCIe) controller, a Serial Advanced Technology Attachment (SATA) controller). The host system 105 may use the memory system 110, for example, to write data to and read data from the memory system 110. Although in Figure 1 The diagram shows a memory system 110, but the host system 105 can be coupled to any number of memory systems 110.

[0025] Host system 105 may be coupled to memory system 110 via at least one physical host interface. In some cases, host system 105 and memory system 110 may be configured to communicate via the physical host interface using associated protocols (e.g., to exchange or otherwise convey control, address, data, and other signals between memory system 110 and host system 105). Examples of physical host interfaces may include, but are not limited to, SATA interfaces, UFS interfaces, eMMC interfaces, PCIe interfaces, USB interfaces, Fibre Channel interfaces, Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Dual Data Rate (DDR) interfaces, DIMM interfaces (e.g., DDR-enabled DIMM sockets), Open NAND Flash Interface (ONFI), and Low Power Dual Data Rate (LPDDR) interfaces. In some instances, one or more such interfaces may be contained in or otherwise supported between host system controller 106 of host system 105 and memory system controller 115 of memory system 110. In some instances, host system 105 may be coupled to memory system 110 via a corresponding physical host interface for each memory device 130 included in memory system 110, or via a corresponding physical host interface for each type of memory device 130 included in memory system 110 (e.g., host system controller 106 may be coupled to memory system controller 115).

[0026] Memory system 110 may include memory system controller 115 and one or more memory devices 130. Memory device 130 may include one or more memory arrays of any type of memory cells (e.g., non-volatile memory cells, volatile memory cells, or any combination thereof). Although in Figure 1 The example shows two memory devices 130-a and 130-b, but the memory system 110 may contain any number of memory devices 130. Furthermore, if the memory system 110 contains more than one memory device 130, then the different memory devices 130 within the memory system 110 may contain the same or different types of memory cells.

[0027] The memory system controller 115 may be coupled to and communicate with the host system 105 (e.g., via a physical host interface) and may be an example of a controller or control component configured to cause the memory system 110 to perform various operations as described herein. The memory system controller 115 may also be coupled to and communicate with the memory device 130 to perform operations generally referred to as access operations at the memory device 130, such as reading data, writing data, erasing data, or refreshing data, and other such operations. In some cases, the memory system controller 115 may receive commands from the host system 105 and communicate with one or more memory devices 130 to execute such commands (e.g., at a memory array within one or more memory devices 130). For example, the memory system controller 115 may receive commands or operations from the host system 105 and may translate these commands or operations into instructions or appropriate commands to implement the desired access to the memory device 130. In some cases, the memory system controller 115 may exchange data with the host system 105 and with one or more memory devices 130 (e.g., in response to or otherwise associated with a command from the host system 105). For example, the memory system controller 115 may translate responses associated with the memory device 130 (e.g., data packets or other signals) into corresponding signals for the host system 105.

[0028] The memory system controller 115 may be configured for other operations associated with the memory device 130. For example, the memory system controller 115 may perform or manage operations such as wear leveling, garbage collection, error control operations such as error detection or error correction, encryption, caching, media management, background refresh, health monitoring, and address translation between logical addresses (e.g., logical block addresses (LBAs)) associated with commands from the host system 105 and physical addresses (e.g., physical block addresses) associated with memory cells within the memory device 130.

[0029] The memory system controller 115 may include hardware such as one or more integrated circuits or discrete components, buffer memories, or combinations thereof. The hardware may include circuitry with dedicated (e.g., hard-decoded) logic to perform the operations attributed herein to the memory system controller 115. The memory system controller 115 may be or include a microcontroller, a dedicated logic circuitry (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a digital signal processor (DSP)), or any other suitable processor or processing circuitry.

[0030] The memory system controller 115 may also include local memory 120. In some cases, local memory 120 may include read-only memory (ROM) or other memory that stores operational code (e.g., executable instructions) that can be executed by the memory system controller 115 to perform the functions attributed to the memory system controller 115 herein. In some cases, local memory 120 may additionally or alternatively include static random access memory (SRAM) or other memory that can be used by the memory system controller 115 for, for example, internal storage or operations related to the functions attributed to the memory system controller 115 herein.

[0031] although Figure 1 An example of memory system 110 has been shown to include memory system controller 115, but in some cases, memory system 110 may not include memory system controller 115. For example, memory system 110 may additionally or alternatively rely on an external controller (e.g., implemented by host system 105) or one or more local controllers 135, each located within memory device 130, to perform the functions attributed herein to memory system controller 115. Generally, one or more functions attributed herein to memory system controller 115 may, in some cases, be alternatively performed by host system 105, local controller 135, or any combination thereof. In some cases, memory device 130, at least partially managed by memory system controller 115, may be referred to as a managed memory device. An example of a managed memory device is a managed NAND (MNAND) device.

[0032] Memory device 130 may include one or more arrays of non-volatile memory cells. For example, memory device 130 may include NAND (e.g., NAND flash) memory, ROM, phase-change memory (PCM), auto-select memory, other chalcogenide-based memories, ferroelectric random access memory (RAM) (FeRAM), magnetic RAM (MRAM), NOR (e.g., NOR flash) memory, spin-transfer torque (STT)-MRAM, conductive bridged RAM (CBRAM), resistive random access memory (RRAM), oxide-based RRAM (OxRAM), electrically erasable programmable ROM (EEPROM), or any combination thereof. Alternatively or additionally, memory device 130 may include one or more arrays of volatile memory cells. For example, memory device 130 may include RAM memory cells, such as dynamic RAM (DRAM) memory cells and synchronous DRAM (SDRAM) memory cells.

[0033] In some instances, memory device 130 may (e.g., on the same die or within the same package) include a local controller 135 that can perform operations on one or more memory cells of the respective memory device 130. The local controller 135 may operate in conjunction with memory system controller 115, or may perform one or more functions attributed herein to memory system controller 115. For example, such as Figure 1 As shown, memory device 130-a may include local controller 135-a, and memory device 130-b may include local controller 135-b.

[0034] In some cases, memory device 130 may be or include a NAND device (e.g., a NAND flash device). Memory device 130 may be or include a memory die 160. For example, in some cases, memory device 130 may be a package including one or more dies 160. In some instances, die 160 may be a block of electronic-grade semiconductor diced from a wafer (e.g., a silicon die diced from a silicon wafer). Each die 160 may include one or more planes 165, and each plane 165 may include a corresponding set of blocks 170, wherein each block 170 may include a corresponding set of pages 175, and each page 175 may include a set of memory cells.

[0035] In some cases, the NAND memory device 130 may include memory cells configured to each store one bit of information, which may be referred to as a single-level cell (SLC). Alternatively, the NAND memory device 130 may include memory cells configured to each store multiple bits of information; if configured to store two bits of information, it may be referred to as a multi-level cell (MLC); if configured to store three bits of information, it may be referred to as a three-level cell (TLC); if configured to store four bits of information, it may be referred to as a four-level cell (QLC), or more generally, a multi-level memory cell. Compared to SLC memory cells, multi-level memory cells can provide greater storage density, but in some cases may involve narrower read or write tolerances or greater complexity for supporting circuitry.

[0036] In some cases, plane 165 may refer to a group of blocks 170, and in some cases, concurrent operations may occur within different planes 165. For example, concurrent operations can be performed on memory cells within different blocks 170, as long as the different blocks 170 are located in different planes 165. In some cases, individual blocks 170 may be referred to as physical blocks, and virtual blocks 180 may refer to a group of blocks 170 within which concurrent operations can occur. For example, concurrent operations can be performed on blocks 170-a, 170-b, 170-c, and 170-d within planes 165-a, 165-b, 165-c, and 165-d, respectively, and blocks 170-a, 170-b, 170-c, and 170-d may be collectively referred to as virtual blocks 180. In some cases, a virtual block may contain blocks 170 from different memory devices 130 (e.g., blocks in one or more planes including memory devices 130-a and 130-b). In some cases, blocks 170 within a virtual block may have the same block address within their respective planes 165 (e.g., block 170-a may be “block 0” of plane 165-a, block 170-b may be “block 0” of plane 165-b, etc.). In some cases, performing concurrent operations in different planes 165 may be subject to one or more restrictions, such as performing concurrent operations on memory cells within different pages 175 that have the same page address within their respective planes 165 (e.g., regarding command decoding, page address decoding circuitry, and other circuitry shared across planes 165).

[0037] In some cases, block 170 may contain memory cells organized into rows (page 175) and columns (e.g., strings, not shown). For example, memory cells in the same page 175 may share a common word line (e.g., coupled thereto), and memory cells in the same string may share a common digital line (which may alternatively be called a bit line) (e.g., coupled thereto).

[0038] For some NAND architectures, memory cells can be read and programmed (e.g., written) at a first-level granularity (e.g., at the page level), but can be erased at a second-level granularity (e.g., at the block level). That is, page 175 can be the smallest unit (e.g., a set of memory cells) of memory that can be independently programmed or read (e.g., programmed or read concurrently as a portion of a single programming or reading operation), and block 170 can be the smallest unit (e.g., a set of memory cells) of memory that can be independently erased (e.g., erased concurrently as a portion of a single erase operation). Furthermore, in some cases, NAND memory cells can be erased before they are rewritten with new data. Therefore, for example, in some cases, the used page 175 may not be updated until the entire block 170 containing page 175 has been erased.

[0039] System 100 may include any number of non-transitory computer-readable media supporting current budget adaptation. For example, host system 105, memory system controller 115, or memory device 130 may include or otherwise have access to one or more non-transitory computer-readable media storing instructions (e.g., firmware) for performing the functions attributed herein to host system 105, memory system controller 115, or memory device 130. For example, if such instructions are executed by host system 105 (e.g., by host system controller 106), by memory system controller 115, or by memory device 130 (e.g., by local controller 135), then such instructions may cause host system 105, memory system controller 115, or memory device 130 to perform one or more associated functions described herein.

[0040] In some instances, a controller (e.g., host system controller 106 or memory system controller 115) may set a current consumption budget for memory device 130. Alternatively, a current consumption budget may be pre-configured at memory device 130. The current consumption budget may be the amount of peak current that memory device 130 is permitted to consume at any given time. The current consumption budget can affect the performance of system 100. For example, if the current consumption budget is set too low, memory device 130 may perform operations serially rather than in parallel (e.g., to stay within the current consumption budget), which may reduce efficiency. If the current consumption budget is set too high, the current consumption of memory device 130 may pull the voltage supply down to an unacceptable or inoperable level, which may impair operation, cause operational interruption, or both.

[0041] By exchanging current consumption messages (which may be referred to as current consumption information) that convey information about the device's current consumption, memory device 130 can adhere to a current consumption budget. For example, a current consumption message may indicate the number of tokens that memory device 130 expects to use within a given time period. A token, also referred to as a current token, may represent a predefined amount of current, such as x milliamperes (mA), or be associated with said current amount. Thus, memory device 130, which expects to consume 40 mA during a certain time period, can indicate its expected consumption to other memory devices 130 by sending a current consumption message indicating two tokens (assuming the tokens are quantized to 20 mA). The current consumption message may also indicate a time period. By monitoring the current consumption of other memory devices 130, each memory device 130 can adjust its own individual current consumption to ensure that the collective (e.g., total) current consumption of memory devices 130 remains within the current consumption budget. The phrase "current consumption" may refer to the consumption of current, rather than the relative timing of the consumption.

[0042] In some cases, the current consumption budget for memory device 130 may not be applicable to system 100. For example, the current consumption budget may not take into account manufacturing variability between memory device 130 or system 100, which could lead to different power distributions between those memory devices 130 and system 100. Alternatively, the current consumption budget may not take into account quantization errors that cause the actual current consumption of memory device 130 to exceed the predicted current consumption (which in turn could cause memory device 130 to unintentionally exceed the current consumption budget). As mentioned, if the current consumption budget for memory device 130 is set too high, full utilization of the current consumption budget can pull the supply voltage below a threshold level (e.g., below an insufficient operating level). However, setting the current consumption budget conservatively can degrade the performance of memory device 130.

[0043] According to the techniques described herein, the controller can adaptively update the current consumption budget for memory device 130 to a level adapted for system 100. For example, the controller (e.g., host system controller 106 or memory system controller 115) can receive current consumption information from memory device 130 and use said current consumption information as the basis for updating the current consumption budget. Therefore, an initial current consumption budget can be actively set, and then adaptively retracted based on the power distribution of system 100, which allows memory device 130 to operate at (or closer to) full capacity without interfering with the supply voltage.

[0044] Figure 2 An example of a system 200 supporting current budget adaptation according to the examples disclosed herein is shown. System 200 may be used as a reference. Figure 1An example of system 100 as described in reference to [other aspects]. System 200 may include controller 205, which may be as described in reference to [other aspects]. Figure 1 Examples of the described host system controller 106 or memory system controller 115. System 200 may also include a memory device 210, including memory device 210-a, which may be a reference. Figure 1 An example of the described memory device 130.

[0045] Controller 205 may include power control logic 245, which may be configured to use current consumption information from memory device 210 as a basis for adaptively setting a current consumption budget for memory device 210. For example, power control logic 245 may be configured to use the current consumption information to determine whether the current consumption budget is inappropriate (e.g., too high), and if so, update the current consumption budget to an appropriate (e.g., lower) level.

[0046] Each memory device 210 may include corresponding power management (PM) logic 235, which may also be referred to as peak power management (PPM) logic, programmable peak power management (PPPM) logic, or other suitable terms. The power management logic 235 for the memory device 210 may be configured to manage the power consumption of the memory device 210 based on various factors, such as the operation of the memory device 210, current consumption information from other memory devices 210, and current consumption budget. For example, the power management logic 235 may be configured to determine the expected current consumption of the memory device 210, process current consumption messages from other memory devices 210, and send the current consumption messages to the other memory devices 210. Current consumption messages may also be referred to as power management messages or other suitable terms.

[0047] As mentioned, the current consumption message issued by power management logic 235 can indicate the current consumption of memory device 210 within a given time period (e.g., in tokens) to allow adjustment of the power consumption of other memory devices 210 (e.g., to ensure that memory devices 210 remain within a current consumption budget). Therefore, the power management logic 235 for each memory device 210 can be coupled to the power management logic 235 of other memory devices 210 via one or more pins or buses. In some instances, power management logic 235 may include or be coupled to one or more latches 240 configured to store current consumption information. In such instances, memory device 210 can transfer current consumption information from latches 240 to one or more registers (e.g., mode registers) that can be indirectly accessed by controller 205. The one or more latches 240 may also be referred to as latch components, latch circuitry, or other suitable terms.

[0048] System 200 may include a power supply line 215, which may also be referred to as a power supply rail or other suitable terms. The power supply line 215 may be coupled to a power source and may provide power (e.g., voltage and current) to the controller 205 and the memory device 210.

[0049] Various conditions can cause the voltage of the power supply line 215 (referred to as the supply voltage V) to be... SUPP Fluctuations. For example, if the power source (e.g., a battery) runs out, if an external (e.g., peripheral) device draws (e.g., consumes) current, or if the memory device 210 draws current, and other possibilities exist, then the supply voltage V will fluctuate. SUPP It can be reduced. Supply voltage V SUPP The reduction can be proportional to the amount of current consumed by the memory device 210 (e.g., higher current consumption corresponds to a larger reduction). If the supply voltage V SUPP Reduce to below the threshold level required for reliable operation (referred to as the minimum voltage level (V)). MIN Then the controller 205, memory device 210, or both can pause, interrupt, or abort some or all operations until the supply voltage V is reached. SUPP Rise above minimum voltage level V MIN until.

[0050] In some instances, the current consumption budget for memory device 210 can be aggressively set (e.g., set relatively high) to fully (or almost fully) utilize the current consumption budget to make the supply voltage V SUPP Pulled below the minimum voltage level V MIN To what extent. In this scenario, controller 205 can prevent memory device 210 from dynamically updating the current consumption budget using current consumption information from memory device 210, thereby preventing the memory device 210 from supplying the power supply voltage V. SUPP Pull (or repeatedly pull) to a level below the minimum voltage level V. MIN (and thus interrupt or stop system operation).

[0051] In the first example, the controller 205 can use the voltage detector 220 to detect the supply voltage V. SUPP Whether to reduce to below the minimum voltage level V MIN For example, voltage detector 220 can detect the supply voltage V. SUPP It can be equal to the minimum voltage level V MIN The reference voltage (expressed as V) REF A comparison was made. Upon detecting the supply voltage V... SUPP It has been switched to below the minimum voltage level V MIN (or less than the minimum voltage level V) MINAfterwards, voltage detector 220 can issue commands, such as asserting a write protection (WP) signal (also referred to as a write protection command) instructing memory device 210 to suspend one or more operations. The write protection command can also instruct or prompt memory device 210 to save (e.g., in latch 240) individual current consumption information for memory device 210. This individual current consumption information for memory device 210 can indicate the actual or expected current consumption of memory device 210 (e.g., at a voltage supply voltage V). SUPP Switch to below the minimum voltage level V MIN (The actual or expected current consumption near the time). A write protection command can be transmitted to the memory device 210 using a dedicated write protection pin or via a bus such as bus 225.

[0052] When the voltage drops below the minimum threshold voltage V MIN Then, the voltage supply V SUPP It can be increased up to the voltage supply V SUPP Again above the minimum threshold voltage V MIN Until then. Upon detection (e.g., via voltage detector 220) of a voltage supply V SUPP It has been increased to above the minimum voltage level V MIN (or greater than the minimum voltage level V) MIN Subsequently, controller 205 may instruct memory device 210 to 1) resume one or more suspended operations, restart one or more aborted operations, or both, and 2) send individual current consumption information stored in latch 240. The individual current consumption information may be transmitted from memory device 210 to controller 205 via a bus such as bus 230. Controller 205 may then (e.g., via power control logic 245) use the individual current consumption information from memory device 210 to determine whether the collective current consumption of memory device 210 causes voltage supply V. SUPP The reduction. For example, power control logic 245 may add or combine individual current consumption indicated for each memory device 210 and determine whether the sum (which represents the collective current consumption of memory devices 210) is equal to (or within) the current consumption budget.

[0053] If the collective current consumption of memory device 210 equals (or is within) the current consumption budget, then controller 205 can determine (e.g., via power control logic 245) that the current consumption budget is too high. That is, controller 205 can determine that the current consumption budget is insufficient to prevent the collective current consumption of memory device 210 from exceeding the supply voltage V. SUPP Pulled below the minimum threshold voltage V MINIn other words, controller 205 can determine that the collective current consumption of memory device 210, constrained by current consumption budget, at least partially (if not primarily or entirely) causes the supply voltage V to be affected. SUPP Reduce to below the minimum threshold voltage V MIN Therefore, controller 205 can update (e.g., reduce) the current consumption budget and indicate the updated current consumption budget to memory device 210.

[0054] The first example allows for an aggressive setting of the current consumption budget, which is then adapted to the characteristics of system 200, which may also include a host system (e.g., host system 105) and a memory system (e.g., memory system 110). Adapting the current consumption budget to the characteristics of system 200 allows components of system 200, such as memory device 210, to operate closer to full load capacity (compared to other techniques that overly conservatively set the current consumption budget statically) and 2) reduce supply voltage interruptions (compared to techniques that overly aggressively set the current consumption budget statically). If it is not a condition of current consumption of memory device 210 (e.g., low battery power) that causes voltage supply V... SUPP Drops below minimum voltage V MIN The first instance can also prevent the controller 205 from inappropriately or indiscriminately reducing the current consumption budget.

[0055] In a second example, controller 205 may include voltmeter 250, which is configured to supply voltage V. SUPP Sampling is performed (e.g., to determine the level of the supply voltage). Additionally, controller 205 may be coupled to the memory device via one or more conductive lines. For example, power control logic 245 may be coupled to power management logic 235 of some or all memory devices 210. Therefore, power control logic 245 may receive power management messages from power management logic 235. Based on (e.g., using) the power management messages, power control logic 245 may determine the collective current consumption of memory devices 210 at various points in time. For example, power control logic 245 may determine the collective current consumption of memory devices 210 by adding the corresponding individual current consumption of each memory device 210. In some instances, voltmeter 250 may be an example of a voltage detector. In some instances, voltage detector 220 may include a voltmeter.

[0056] The power control logic 245 can use the collective current consumption of the memory device 210 to determine the current consumption of the memory device relative to the supply voltage V. SUPP The correlation or relationship between the reduction of supply voltage V. For example, power control logic 245 can (e.g., via voltmeter 250) adjust the supply voltage V. SUPPSampling (e.g., measurement) is performed to determine the supply voltage V at various points in time. SUPP The power control logic 245 determines the supply voltage V. SUPP The difference between consecutive measurements is plotted relative to the collective current consumption of the memory device 210 that is consistent with (or at least partially overlaps with) the measured values ​​in time.

[0057] Therefore, the power control logic 245 can determine the relationship between the collective current consumption and the supply voltage V. SUPP The correlation between the reduction and the power control logic 245 can be inferred based on this correlation to reduce the voltage supply V. SUPP Reduced to below the minimum threshold level V MIN The collective current consumption. If the collective current consumption is equal to or within a threshold range of the current consumption budget (e.g., within 5%), then the controller 205 may update (e.g., reduce) the current consumption budget and indicate the updated current consumption budget to the memory device 210.

[0058] The second example allows the controller 205 to adaptively update the current consumption budget without waiting for the voltage V. SUPP Drops below minimum voltage level V MIN As in the first example, if it were not due to conditions such as the current consumption of the memory device 210 (e.g., low battery power) that the voltage supply V... SUPP Drops below minimum voltage V MIN Therefore, the second instance can prevent the controller 205 from inappropriately or indiscriminately reducing the current consumption budget.

[0059] In some instances of the second embodiment, voltmeter 250 and voltage detector 220 may be combined into a single circuit providing the functionality of voltmeter 250 and voltage detector 220. Although described separately, aspects of the first and second embodiments are combinable. Alternatively, system 200 may be switched between the first and second embodiments.

[0060] Figure 3 An example of process flow 300 supporting current budget adaptation according to the examples disclosed herein is shown. Process flow 300 may be derived from, for example, references to Figure 2 The system implementation described is similar to system 200. For example, system 200 may implement aspects of process flow 300 to perform a first instance of adaptively updating the current consumption budget. Operations that can be performed by a controller, such as controller 205, are shown by white boxes, and operations that can be performed by one or more memory devices, such as memory device 210, are shown by shaded boxes. However, other distributions of operations between devices are taken into consideration, and such distributions are within the scope of this disclosure.

[0061] Various aspects of process flow 300 may be implemented by one or more controllers and other components. Alternatively, aspects of process flow 300 may be implemented as instructions stored in memory (e.g., firmware stored in memory coupled to controller 205 or memory device 210). For example, if the instructions are executed by a controller (e.g., controller 205 or a controller coupled to memory device 210), then the instructions may cause the controller to perform the operation of process flow 300.

[0062] At point 305, the supply voltage V can be determined. SUPP The supply voltage V is below (or has decreased to below) a threshold level. For example, controller 205 may (e.g., via voltage detector 220) determine the supply voltage V. SUPP The voltage is below (or has decreased to below) the minimum threshold voltage V. MIN .

[0063] At point 310, a request for retained current consumption information can be made. For example, controller 205 can issue one or more commands (e.g., write protection commands) instructing receiving memory device 210 to retain (e.g., save, store) the most recent current consumption information (which may be referred to as individual current consumption information) for the individual memory device. For example, the command can trigger, instruct, or otherwise prompt receiving memory device 210 to store the most recent (e.g., latest) individual current consumption information for the memory device 210. In some instances, the command can also instruct receiving memory device 210 to suspend or abort one or more operations (which may also be damaged by low supply voltage).

[0064] At point 315, individual current consumption information can be stored. For example, some or all of the memory devices 210 can store corresponding individual current consumption information. The individual current consumption information can indicate or represent the current consumption by the memory device 210 at the supply voltage V. SUPP The individual current amount actually consumed or expected to be consumed within the threshold time period, when the supply voltage decreases below the minimum threshold voltage V. MIN In some instances, individual current consumption information may be stored in one or more latches 240 before being transferred to one or more mode registers in memory device 210.

[0065] At 320, the voltage supply V can be determined. SUPP The voltage level is above a threshold level. For example, controller 205 may (e.g., via voltage detector 220) determine the voltage supply V. SUPP Above the minimum threshold voltage V MINAt point 325, a request for current consumption information can be made. For example, controller 205 can make a request based on (e.g., in response to) the voltage supply V. SUPP Increase to above the minimum threshold voltage V MIN The controller 205 issues a command instructing the receiving memory device 210 to send individual current consumption information for that specific memory device 210. In some instances, the command may be a mode register read command. In some instances, the controller 205 may also base its command on (e.g., in response to) a voltage supply V. SUPP Increase to above the minimum threshold voltage V MIN The receiver memory device 210 is instructed to resume one or more paused operations.

[0066] At 330, current consumption information can be conveyed. For example, each memory device 210 can send corresponding individual current consumption information to the controller 205 based on (e.g., in response to) a request made at 325. In some instances, individual current consumption information can be conveyed from one or more mode registers.

[0067] At 335, the collective current consumption for memory device 210 can be determined. For example, controller 205 can (e.g., via power control logic 245) add (e.g., combine) the individual current consumption of each memory device 210 to determine the collective current consumption for memory device 210.

[0068] At 340, it can be determined that the collective current consumption of memory device 210 meets a threshold. For example, controller 205 can (e.g., via power control logic 245) determine that the collective current consumption is within a threshold range of the current consumption budget (e.g., within 5%). As another example, controller 205 can determine that the collective current consumption is above a threshold level (e.g., 95% of the current consumption budget). As yet another example, controller 205 can determine that the collective current consumption is equal to the current consumption budget.

[0069] At 345, the current consumption budget can be updated based on (e.g., in response to) the determination at 340. For example, controller 205 can (e.g., via power control logic 245) update the current consumption budget from a first value to a second value. The second value can be lower than the first value to effectively reduce the current consumption budget.

[0070] As mentioned, controller 205 can use current consumption information to determine the voltage supply V. SUPP Whether the reduction is related to collective current consumption. In some instances, the controller can record correlation results and update the budget based on historical data (e.g., recorded correlation results). For example, the controller can track the voltage supply V. SUPPThe voltage drops below the minimum threshold voltage V MIN The minimum threshold voltage corresponds to the collective current consumption at or near the current consumption budget. If the percentage is higher than the threshold, the controller 205 may update the current consumption budget (e.g., because the current consumption budget may be causing voltage supply V). SUPP The main factor for the reduction). If the percentage is below the threshold, then controller 205 may prevent updating the current consumption budget (e.g., because the voltage supply V). SUPP The reduction may be attributed to accompanying conditions rather than the collective current consumption of the memory device 210.

[0071] At 350, the updated current consumption budget can be indicated to the memory device 210. For example, the controller 205 can transmit a second value for the current consumption budget to the memory device 210. At 355, the memory device 210 can manage power consumption based on (e.g., according to) the updated current consumption budget.

[0072] Therefore, controller 205 can adaptively update the current consumption budget based on the first instance. Alternative instances of the foregoing can be implemented, some of which may be performed in a different order than described, in parallel, or not at all. In some cases, operations may include additional features not mentioned herein, or additional operations may be added. Furthermore, some operations may be performed multiple times, or combinations of repeatable or cyclical operations may be performed.

[0073] Figure 4 An example of a process flow 400 supporting current budget adaptation, based on the examples disclosed herein, is shown. Process flow 400 may be derived from, for example, references to... Figure 2 The system implementation described is similar to system 200. For example, system 200 may implement aspects of process flow 400 to perform a second instance for adaptively updating the current consumption budget. Operations that can be performed by a controller, such as controller 205, are shown by white boxes, and operations that can be performed by one or more memory devices, such as memory device 210, are shown by shaded boxes. However, other distributions of operations between devices are taken into consideration, and such distributions are within the scope of this disclosure.

[0074] Various aspects of process flow 400 may be implemented by one or more controllers and other components. Alternatively, aspects of process flow 400 may be implemented as instructions stored in memory (e.g., firmware stored in memory coupled to controller 205 or memory device 210). For example, if the instructions are executed by a controller (e.g., controller 205 or a controller coupled to memory device 210), then the instructions may cause the controller to perform the operation of process flow 400.

[0075] At 405, it can be determined that the collective current consumption of memory device 210 meets a threshold. For example, controller 205 can determine that the collective current consumption of memory device 210 meets a threshold as a percentage (e.g., 70%) of the current consumption budget for memory device 210. In some instances, the determination at 405 can be based on (e.g., depending on) current consumption information passed from one or more memory devices 210 current consumption messages.

[0076] At 410, one or more power control operations can be initiated based on (e.g., in response to) a collective current consumption budget meeting a threshold. For example, controller 205 can initiate power consumption operations (e.g., supply voltage V) based on a collective current consumption budget meeting a threshold. SUPP Sampling, correlation calculation, and inference calculation. Because the supply voltage V SUPP A meaningful (e.g., substantial, detectable) reduction may not occur until the collective current consumption reaches a threshold, so controller 205 can save power by waiting to perform power control operations until the collective current consumption meets the threshold.

[0077] At 415, current consumption messages can be communicated. For example, one or more of the memory devices 210 can communicate corresponding current consumption messages via a connection accessible by the controller 205. The current consumption messages can indicate individual current consumption information for the memory devices 210. The memory devices 210 can communicate current consumption messages as part of an ongoing effort to manage power between the memory devices 210 (e.g., to keep collective current consumption below a current consumption budget).

[0078] At 420, current consumption messages can be received. For example, controller 205 can receive current consumption messages conveyed by memory device 210. For example, controller 205 can listen to (e.g., receive and process) current consumption messages exchanged between memory devices 210.

[0079] At 425, the supply voltage can be sampled. For example, controller 205 can (e.g., via voltmeter 250) sample the supply voltage V. SUPP Sampling is performed on the supply voltage V. SUPP Sampling can be used to measure and determine the supply voltage V. SUPP The level (e.g., amplitude, magnitude). At 430, one or more reductions in the supply voltage can be determined (e.g., by sampling the supply voltage). For example, controller 205 can (e.g., via power control logic 245) determine the supply voltage V. SUPP One or more reductions. The reduction may occur between measurement pairs.

[0080] At 435, the correlation between collective current consumption and the decrease in voltage supply can be determined. For example, controller 205 can determine the relationship between collective current consumption and voltage supply V. SUPP The correlation between the reduction and the supply voltage V. To achieve this, controller 205 can evaluate the correlation between the supply voltage V and the supply voltage V. SUPP The collective current consumption decreases (e.g., occurs within the threshold time period of the decrease). The collective current consumption at each time point can be determined based on the current consumption messages (e.g., those received at 415).

[0081] At 440, it can be inferred (e.g., determined) that it is related to the supply voltage V. SUPP The threshold reduction is associated with the collective current consumption. For example, controller 205 may infer the collective current consumption based on (e.g., according to) a correlation determined at 435. This threshold reduction may be for the expected voltage supply V. SUPP Pulled below the minimum threshold voltage V MIN The decrease.

[0082] At 445, the current consumption budget can be updated based on (e.g., depending on) the inference at 440. For example, controller 205 can (e.g., via power control logic 245) update the current consumption budget from a first value to a second value. The second value can be lower than the first value to effectively reduce the current consumption budget.

[0083] At 450, the updated current consumption budget can be indicated to the memory device 210. For example, the controller 205 can transmit a second value for the current consumption budget to the memory device 210. At 455, the memory device 210 can manage power consumption based on (e.g., according to) the updated current consumption budget.

[0084] Therefore, controller 205 can adaptively update the current consumption budget based on the second instance. Alternative instances of the foregoing can be implemented, some of which may be performed in a different order than described, in parallel, or not at all. In some cases, operations may include additional features not mentioned herein, or additional operations may be added. Furthermore, some operations may be performed multiple times, or combinations of repeatable or cyclical operations may be performed.

[0085] Figure 5 A block diagram 500 is shown of a controller 520 supporting current budget adaptation according to the examples disclosed herein. The controller 520 may be as described in the references... Figures 1 to 4Examples of various aspects of the controller described herein. Controller 520 or its various components may be examples of components used to perform various aspects of current budget adaptation as described herein. For example, controller 520 may include voltage detection circuitry system 525, power control logic 530, receiving circuitry system 535, transmitting circuitry system 540, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).

[0086] Voltage detection circuitry 525 may be configured or otherwise supported to support components for determining, via a controller coupled to the power supply line and a group of memory devices, whether the voltage of the power supply line is below a threshold. Power control logic 530 may be configured or otherwise supported to support components for determining, in response to determining that the collective current consumed by the group of memory devices is within an upper limit for current consumption of the group of memory devices. In some instances, power control logic 530 may be configured or otherwise supported to support components for updating the upper limit for current consumption of the group of memory devices, at least in part, based on determining that the collective current is within the specified range.

[0087] In some instances, the transmission circuitry 540 may be configured or otherwise supported to support means for requesting information about the corresponding amount of current consumed by each memory device in the group of memory devices. In some instances, the receiving circuitry 535 may be configured or otherwise supported to support means for receiving information about the corresponding amount of current consumed by each memory device, at least in part based on the request, wherein the collective current consumed by the group of memory devices is determined at least in part based on the corresponding amount of current consumed by each memory device.

[0088] In some instances, the voltage detection circuit system 525 may be configured or otherwise supported for components used to determine whether the voltage of the power supply line is higher than a threshold, wherein the request for information is based at least in part on the determination that the voltage of the power supply line is higher than the threshold.

[0089] In some instances, the transmission circuitry system 540 may be configured or otherwise supported to request each memory device in the group of memory devices to store phase current consumption information and suspend one or more operations, based at least in part on the determination that the voltage of the power supply line has decreased to below a threshold.

[0090] In some instances, to support updating the upper limit, power control logic 530 may be configured or otherwise supported to support means for reducing the upper limit from a first value to a second value. In some instances, to support updating the upper limit, transmission circuitry system 540 may be configured or otherwise supported to support means for indicating a second value to the group memory device.

[0091] In some instances, the voltage detection circuit system 525 may be configured or otherwise supported by components for comparing the voltage of the power supply line with a threshold, wherein the determination that the voltage of the power supply line is below the threshold is based at least in part on the comparison.

[0092] The receiving circuitry 535 may be configured or otherwise supported to include components for receiving one or more messages via a controller coupled to a power supply line and a group of memory devices, each message indicating a corresponding current consumption for each memory device in the group. In some instances, power control logic 530 may be configured or otherwise supported to include components for determining, at least in part, a correlation between the collective current consumption of the memory devices and a corresponding decrease in voltage on the power supply line, based on the one or more messages. In some instances, power control logic 530 may be configured or otherwise supported to include components for updating an upper limit for the current consumption of the group of memory devices, at least in part, based on said correlation.

[0093] In some instances, the power control logic 530 may be configured or otherwise supported to determine the collective current consumption based at least in part on the respective current consumption for each memory device.

[0094] In some instances, power control logic 530 may be configured or otherwise support components for combining corresponding current consumption amounts for a memory device, wherein the collective current consumption amounts are at least partially based on the combination of corresponding amounts.

[0095] In some instances, the power control logic 530 may be configured or otherwise supported to support components for determining a corresponding decrease in the amount of voltage on the power supply line, wherein the correlation is determined at least in part based on the corresponding decrease in the amount of voltage.

[0096] In some instances, to support updating the upper limit, power control logic 530 may be configured or otherwise supported to support means for reducing the upper limit from a first value to a second value. In some instances, to support updating the upper limit, transmission circuitry system 540 may be configured or otherwise supported to support means for indicating a second value to the group memory device.

[0097] In some instances, the voltage sensing circuit system 525 may be configured or otherwise support components for sampling voltage on a power supply line, wherein a corresponding reduction in voltage is at least partially based on voltage sampling.

[0098] In some instances, power control logic 530 may be configured or otherwise supported for components used to determine whether a second collective current consumption of the group memory device meets a threshold, wherein the voltage on the power supply line is sampled at least in part based on the determination that the second collective current consumption meets the threshold.

[0099] In some instances, the threshold is below the upper limit for current consumption of the group memory device. In some instances, each of the group one or more messages indicates the corresponding number of tokens associated with the current amount. In some instances, each of the group one or more messages is associated with a duration, and the collective current consumption occurs within that duration.

[0100] Figure 6 A block diagram 600 is shown illustrating a memory device 620 supporting current budget adaptation according to an example disclosed herein. The memory device 620 may be as described in the references... Figures 1 to 4 Examples of various aspects of the described memory device. Memory device 620 or its various components may be examples of components used to perform various aspects of current budget adaptation as described herein. For example, memory device 620 may include power management logic 625, transmission circuitry 630, receiving circuitry 635, latching circuitry 640, local controller 645, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).

[0101] Power management logic 625 may be configured or otherwise supported for determining a corresponding current consumption associated with a memory device via a memory device coupled to a power supply line. Transmission circuitry 630 may be configured or otherwise supported for transmitting an indication of the corresponding current consumption to a controller coupled to the memory device. Receiving circuitry 635 may be configured or otherwise supported for receiving, at least in part, a control signal indicating an updated upper limit for the current consumption of the memory device based on the transmission of said indication.

[0102] In some instances, the receiving circuitry 635 may be configured or otherwise supported to support components for receiving commands that instruct a memory device to store an indication of a corresponding current consumption. In some instances, the latching circuitry 640 may be configured or otherwise supported to support components for storing an indication of a corresponding current consumption, at least in part, based on the command.

[0103] In some instances, the command instructs the memory device to suspend one or more operations at the memory device, and the local controller 645 may be configured or otherwise support components for suspending one or more operations at least in part based on the command.

[0104] In some instances, the receiving circuitry 635 may be configured or otherwise supported to include components for receiving a request for current consumption information for a memory device after storing an indication of the corresponding current consumption, wherein the indication of the corresponding current consumption is communicated at least in part based on the request.

[0105] In some instances, to support the transmission of indications of corresponding current consumption, the transmission circuitry system 630 may be configured or otherwise supported to support components for conveying messages indicating the number of tokens associated with each current quantity.

[0106] In some instances, the transmission circuitry system 630 may be configured or otherwise support components for transmitting messages to a group of one or more memory devices coupled to the memory devices.

[0107] In some instances, the local controller 645 may be configured or otherwise supported to include components for storing the updated upper limit at the memory device. In some instances, power management logic 625 may be configured or otherwise supported to include components for managing the current consumption of the memory device, at least in part, based on the updated upper limit.

[0108] Figure 7 A flowchart illustrating a method 700 supporting current budget adaptation according to an example disclosed herein is provided. Operation of method 700 may be implemented by a controller or its components as described herein. For example, operation of method 700 may be performed by [reference to...] Figures 1 to 5 The controller described is used to perform this function. In some instances, the controller may execute a set of instructions to control the functional elements of the device to perform the described function. Alternatively, the controller may use dedicated hardware to perform aspects of the described function.

[0109] At 705, the method may include determining whether the voltage of the power supply line is below a threshold via a controller coupled to a power supply line and a set of memory devices. Operation of 705 may be performed according to examples as disclosed herein. In some instances, aspects of operation of 705 may be as described in references... Figure 5 The voltage detection circuit system 525 described herein is used to perform this operation.

[0110] At 710, the method may include determining, in response to determining that the voltage is below a threshold, whether the collective current consumed by the group memory device is within an upper limit for current consumption of the group memory device. Operation of 710 may be performed according to examples disclosed herein. In some instances, aspects of operation of 710 may be as described in references... Figure 5 The described power control logic 530 is executed.

[0111] At 715, the method may include updating an upper limit for the current consumption of the group memory device, at least in part, based on determining that the collective current amount is within the range. Operation of 715 may be performed according to examples as disclosed herein. In some instances, aspects of the operation of 715 may be as described in references... Figure 5 The described power control logic 530 is executed.

[0112] In some instances, the device as described herein may perform one or more methods, such as method 700. In some instances, the device may include a power supply line coupled to a set of memory devices, and a controller coupled to the set of memory devices and the power supply line and configured to cause the device to perform the operations described herein.

[0113] The device may include features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for determining, via a controller coupled to a power supply line and a group of memory devices, whether the voltage of the power supply line is below a threshold; determining, in response to determining that the voltage is below the threshold, whether the collective current consumed by the group of memory devices is within an upper limit for current consumption of the group of memory devices; and updating the upper limit for current consumption of the group of memory devices, at least in part, based on determining that the collective current is within the upper limit. The upper limit may refer to a target upper limit, and therefore the group of memory devices may unintentionally exceed the upper limit. The upper limit for current consumption may also be referred to as a power budget, total current budget, peak current budget, or other suitable terms.

[0114] Method 700 and some examples of the devices described herein may further include operations, features, circuitry, logic, components, or instructions for requesting information about the corresponding amount of current consumed by each memory device in the group of memory devices, and receiving information about the corresponding amount of current consumed by each memory device at least in part based on the request, wherein the collective amount of current consumed by the group of memory devices may be determined at least in part based on the corresponding amount of current consumed by each memory device.

[0115] Method 700 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for determining whether the voltage of the power supply line may be higher than a threshold, wherein the request information may be based at least in part on the determination that the voltage of the power supply line may be higher than the threshold.

[0116] Method 700 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for requesting each memory device in the group of memory devices to store corresponding current consumption information and suspend one or more operations, at least in part based on the determination that the voltage of the power supply line may have decreased to below a threshold.

[0117] In some instances of method 700 and the devices described herein, updating the upper limit may include operations, features, circuitry, logic, components, or instructions for reducing the upper limit from a first value to a second value and indicating the second value to the group of memory devices.

[0118] Method 700 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for comparing the voltage of a power supply line with a threshold, wherein the determination that the voltage of the power supply line may be lower than the threshold may be based at least in part on the comparison.

[0119] Figure 8 A flowchart illustrating a method 800 supporting current budget adaptation according to an example disclosed herein is provided. Operation of method 800 may be implemented by a controller or its components as described herein. For example, operation of method 800 may be performed by [reference to...] Figures 1 to 5 The controller described is used to perform this function. In some instances, the controller may execute a set of instructions to control the functional elements of the device to perform the described function. Alternatively, the controller may use dedicated hardware to perform aspects of the described function.

[0120] At 805, the method may include receiving one or more messages, each indicating a corresponding current consumption for each of the group of memory devices, via a controller coupled to a power supply line and a group of memory devices. Operation of 805 may be performed according to examples as disclosed herein. In some examples, aspects of operation of 805 may be as described in references... Figure 5 The described receiving circuit system 535 is used to perform this.

[0121] At 810, the method may include determining, at least in part, a correlation between the collective current consumption of the group of memory devices and a corresponding decrease in voltage on the power supply line, based on the group one or more messages. Operation of 810 may be performed according to examples as disclosed herein. In some examples, aspects of the operation of 810 may be as described in references... Figure 5 The described power control logic 530 is executed.

[0122] At 815, the method may include updating the upper limit of current consumption for the group memory device, at least in part, based on the correlation. Operation of 815 may be performed according to examples disclosed herein. In some instances, aspects of operation of 815 may be as described in references... Figure 5 The described power control logic 530 is executed.

[0123] In some instances, the device as described herein may perform one or more methods, such as method 800. In some instances, the device may include a power supply line coupled to a set of memory devices, and a controller coupled to the set of memory devices and the power supply line and configured to cause the device to perform the operations described herein.

[0124] The device may include features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for receiving, via a controller coupled to a power supply line and a set of memory devices, a set of one or more messages respectively indicating a corresponding current consumption for each memory device in the set of memory devices, determining, at least in part, a correlation between the collective current consumption of the set of memory devices and a corresponding decrease in voltage on the power supply line, and updating, at least in part, an upper limit for the current consumption of the set of memory devices based on the correlation.

[0125] Method 800 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for determining collective current consumption at least in part based on the respective current consumption for each memory device.

[0126] Method 800 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for combining corresponding current consumptions for a memory device, wherein the collective current consumptions may be based at least in part on combining the corresponding amounts.

[0127] Method 800 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for determining a corresponding amount of reduction in voltage on a power supply line, wherein the correlation may be determined at least in part based on the corresponding amount of reduction in voltage.

[0128] In some instances of method 800 and the devices described herein, updating the upper limit may include operations, features, circuitry, logic, components, or instructions for reducing the upper limit from a first value to a second value and indicating the second value to the group of memory devices.

[0129] Method 800 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for sampling voltage on a power supply line, wherein a corresponding reduction in voltage may be based at least in part on sampling voltage.

[0130] Method 800 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for determining whether a second collective current consumption of the group memory device meets a threshold, wherein the voltage on the power supply line may be sampled at least in part based on the determination that the second collective current consumption meets the threshold.

[0131] In some instances of method 800 and the devices described herein, the threshold may be lower than an upper limit for current consumption of the group of memory devices. In some instances of method 800 and the devices described herein, each of the group one or more messages indicates a corresponding number of tokens associated with a current quantity. In some instances of method 800 and the devices described herein, each of the group one or more messages may be associated with a duration, and the collective current consumption may be within said duration.

[0132] Figure 9 A flowchart illustrating a method 900 supporting current budget adaptation according to an example disclosed herein is provided. Operation of method 900 may be implemented by a memory device or its components as described herein. For example, operation of method 900 may be performed as described in the references... Figures 1 to 4 The memory device described in section 6 is used to perform this function. In some instances, the memory device may execute a set of instructions to control the functional elements of the device to perform the described function. Alternatively, the memory device may use dedicated hardware to perform aspects of the described function.

[0133] At 905, the method may include determining a corresponding current consumption associated with a memory device via a memory device coupled to a power supply line. Operation of 905 may be performed according to examples disclosed herein. In some instances, aspects of operation of 905 may be as described in references... Figure 6 The described power management logic 625 is executed.

[0134] At 910, the method may include communicating an indication of the corresponding current consumption to a controller coupled to the memory device. Operation of 910 may be performed according to examples disclosed herein. In some instances, aspects of the operation of 910 may be as described in references... Figure 6 The described transmission circuit system 630 is used to perform this.

[0135] At 915, the method may include receiving, at least in part, a control signal indicating an updated upper limit for current consumption of the memory device based on the communication of the instruction. Operation of 915 may be performed according to examples disclosed herein. In some examples, aspects of operation of 915 may be as described in references... Figure 6 The described receiving circuit system 635 is used to perform this.

[0136] In some instances, the device as described herein may perform one or more methods, such as method 900. In some instances, the device may include: a memory device; a power supply line coupled to the memory device; and a local controller coupled to the memory device and configured to cause the device to perform the operations described herein.

[0137] The device may include features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for determining a corresponding current consumption associated with a memory device via a memory device coupled to a power supply line; communicating an indication of the corresponding current consumption to a controller coupled to the memory device; and receiving, at least in part, a control signal indicating an updated upper limit for the current consumption of the memory device based on the communication of the indication.

[0138] Method 900 and some examples of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for receiving a command that instructs a memory device to store an indication of a corresponding current consumption and to store the indication of the corresponding current consumption at least in part based on the command.

[0139] In some instances of method 900 and the apparatus described herein, the command instructs the memory device to suspend one or more operations at the memory device, and the method, apparatus, and non-transitory computer-readable medium may include other operations, features, circuitry, logic, components, or instructions for suspending one or more operations at least in part based on the command.

[0140] Method 900 and some examples of the devices described herein may further include operations, features, circuitry, logic, components, or instructions for receiving a request for current consumption information for a memory device after storing an indication of a corresponding current consumption, wherein the indication of the corresponding current consumption may be communicated at least in part based on the request.

[0141] In some instances of method 900 and the devices described herein, the indication of a corresponding current consumption may include operations, features, circuitry, logic, components, or instructions for conveying a message indicating the number of tokens associated with each current consumption.

[0142] Method 900 and some instances of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for communicating messages to a group of one or more memory devices coupled to the memory devices.

[0143] Method 900 and some instances of the devices described herein may further include operations, features, circuit systems, logic, components, or instructions for storing an updated upper limit at the memory device and managing the current consumption of the memory device at least in part based on the updated upper limit.

[0144] It should be noted that the methods described above describe possible implementations, and the operations and steps can be rearranged or otherwise modified, and other implementations are possible. Furthermore, two or more parts from the methods can be combined.

[0145] The information and signals described herein can be represented using any of a variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof. Some diagrams may show a signal as a single signal; however, the signal may represent a bus of signals, which may have various bit widths.

[0146] The terms "electronic communication," "conductive contact," "connection," and "coupling" can refer to the relationship between components that enables the flow of signals between them. Components are considered to be in electronic communication (or in conductive contact, connected, or coupled) with each other if any conductive path exists between them that can enable the flow of signals between them at any given time. At any given time, the conductive path between components that are in electronic communication (or in conductive contact, connected, or coupled) can be open or closed, depending on the operation of the device containing the connected components. The conductive path between connected components can be a direct conductive path or an indirect conductive path, which may include intermediate components such as switches, transistors, or other components. In some instances, the signal flow between connected components may be interrupted for a period of time, for example, using one or more intermediate components such as switches or transistors.

[0147] The term "coupling" refers to a shift from an open-circuit relationship between components to a closed-circuit relationship, in which a signal is currently not allowed to travel between the components via a conductive path, and in which a signal can travel between the components via the conductive path. If a component, such as a controller, couples other components together, then the component initiates the change that allows signals to flow between the other components via conductive paths that were previously not permitted.

[0148] The term "isolation" refers to a relationship between components in which signals are currently not allowed to flow between them. If there is an open circuit between components, then the components are isolated from each other. For example, if a switch is open, then the components separated by the switch positioned between the two components are isolated from each other. If a controller isolates two components, then the controller performs the following change: preventing signals from flowing between the components using previously permitted conductive paths.

[0149] The terms “if,” “when,” “based on,” or “at least partially based on” are used interchangeably. In some instances, the terms “if,” “when,” “based on,” or “at least partially based on” are used to describe a connection between conditional actions, conditional processes, or parts of a process.

[0150] The term "in response to" can refer to a condition or action that occurs at least partially (if not completely) as a result of a preceding condition or action. For example, a first condition or action may be performed, and a second condition or action may occur at least partially as a result of the preceding condition or action (whether directly after the first condition or action or after one or more other intermediate conditions or actions following the first condition or action).

[0151] Additionally, the terms "directly in response to" or "directly in response to" can refer to a condition or action that occurs as a direct result of a preceding condition or action. In some instances, a first condition or action may be performed, and a second condition or action may occur directly as a result of a preceding condition or action that is independent of whether other conditions or actions occur. In some instances, a first condition or action may be performed, and a second condition or action may occur directly as a result of a preceding condition or action, such that no other intermediate conditions or actions occur between the earlier condition or action and the second condition or action, or a limited number of one or more intermediate steps or actions occur between the earlier condition or action and the second condition or action. Unless otherwise specified, any condition or action described herein as being performed "based on," "at least in part based on," or "in response to" some other step, action, event, or condition may additionally or alternatively (e.g., in alternative instances) be performed "directly in response to" or "directly in response to" such other conditions or actions.

[0152] The devices containing memory arrays discussed herein can be formed on semiconductor substrates such as silicon, germanium, silicon-germanium alloys, gallium arsenide, gallium nitride, etc. In some instances, the substrate is a semiconductor wafer. In other instances, the substrate can be a silicon-on-insulator (SOI) substrate, such as silicon-on-glass (SOG) or silicon-on-sapphire (SOP), or an epitaxial layer of semiconductor material on another substrate. The conductivity of the substrate or substrate subregions can be controlled by using doping with various chemicals including, but not limited to, phosphorus, boron, or arsenic. Doping can be performed during the initial formation or growth of the substrate by ion implantation or by any other doping method.

[0153] The switching components or transistors discussed herein may represent field-effect transistors (FETs) and include a three-terminal device comprising a source, drain, and gate. The terminals may be connected to other electronic components via a conductive material such as a metal. The source and drain may be conductive and may include heavily doped semiconductor regions, such as degenerate semiconductor regions. The source and drain may be separated by lightly doped semiconductor regions or channels. If the channel is n-type (i.e., the majority carriers are electrons), then the FET may be called an n-type FET. If the channel is p-type (i.e., the majority carriers are holes), then the FET may be called a p-type FET. The channel may be end-capped with an insulating gate oxide. The channel conductivity can be controlled by applying a voltage to the gate. For example, applying a positive or negative voltage to an n-type FET or a p-type FET, respectively, makes the channel conductive. If a voltage greater than or equal to the transistor's threshold voltage is applied to the transistor's gate, then the transistor may be "turned on" or "activated." If a voltage less than the transistor's threshold voltage is applied to the transistor's gate, then the transistor may be "turned off" or "deactivated."

[0154] The description herein, illustrated with reference to the accompanying drawings, describes exemplary configurations and does not represent all instances that can be implemented or that are within the scope of the claims. The term "exemplary" as used herein means "serving as an example, illustration, or description" and is not "preferred" or "superior" to other instances. The detailed description includes specific details to provide an understanding of the described techniques. However, these techniques may be practiced without these specific details. In some cases, well-known structures and apparatuses are shown in block diagram form to avoid obscuring the concepts of the described instances.

[0155] In the accompanying drawings, similar components or features may have the same reference numerals. Furthermore, various components of the same type can be distinguished by a hyphen following the reference numeral and a second numeral for differentiation among similar components. If only the first reference numeral is used in the specification, the description applies to any similar component having the same first reference numeral, regardless of the second reference numeral.

[0156] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored as one or more instructions or code on or transmitted via a computer-readable medium. Other examples and embodiments are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. Features implementing the functions can also be physically located in various locations, including distributed implementations such that different parts of the functions are implemented in different physical locations.

[0157] For example, the various illustrative blocks and components described in connection with the disclosure herein can be implemented or executed using a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device designed to perform the functions described herein, discrete gate or transistor logic, discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor; however, alternatively, the processor may be any processor, controller, microcontroller, or state machine. The processor may be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration).

[0158] As used herein, the word "or," as used in the claims, such as in a list of items (e.g., a list of items preceded by phrases such as "at least one of" or "one or more of"), indicates a list containing end values ​​such that a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Similarly, as used herein, the phrase "based on" should not be construed as referring to a closed set of conditions. For example, without departing from the scope of this disclosure, an exemplary step described as "based on condition A" may be based on both condition A and condition B. In other words, as used herein, the phrase "based on" should be interpreted in the same manner as the phrase "at least partially based on".

[0159] Computer-readable media includes both non-transitory computer storage media and communication media, wherein the communication media includes any media that facilitates the transfer of a computer program from one place to another. Non-transitory storage media can be any usable media accessible by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compact optical disc (CD) ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other non-transitory media that can be used to carry or store desired program code components in the form of instructions or data structures and is accessible by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Furthermore, any connection is appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of media. As used herein, disks and optical discs include CDs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of these are also included within the scope of computer-readable media.

[0160] The description herein is provided to enable those skilled in the art to make or use this disclosure. Various modifications to this disclosure will become apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of this disclosure. Therefore, this disclosure is not limited to the examples and designs described herein, but is given the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. An apparatus comprising: A power supply line coupled to a set of memory devices; as well as A controller, coupled to the group memory device and the power supply line, is configured to cause the device to: Determine whether the voltage of the power supply line is below a threshold; In response to determining that the voltage is below the threshold, it is determined whether the collective current consumed by the group memory device is within the upper limit of current consumption for the group memory device; and The upper limit for current consumption of the group memory device is updated at least in part based on determining that the collective current amount is within the range.

2. The device of claim 1, wherein the controller is further configured to cause the device to: Request information regarding the amount of current consumed by each memory device in the group of memory devices; and The information regarding the corresponding current consumption of each memory device is received at least in part based on the request, wherein the collective current consumption of the group of memory devices is determined at least in part based on the corresponding current consumption of each memory device.

3. The device of claim 2, wherein the controller is further configured to cause the device to: Determine whether the voltage of the power supply line is higher than the threshold, wherein requesting the information is based at least in part on determining that the voltage of the power supply line is higher than the threshold.

4. The device of claim 1, wherein the controller is further configured to cause the device to: At least in part, based on the determination that the voltage of the power supply line has decreased below the threshold, each memory device in the group of memory devices is requested to store the corresponding current consumption information and one or more operations are suspended.

5. The device of claim 1, wherein updating the upper limit further comprises the controller being configured to cause the device to: The upper limit is reduced from the first value to the second value; and Indicate the second value to the group memory device.

6. The device of claim 1, wherein the controller is further configured to cause the device to: The voltage of the power supply line is compared with the threshold, wherein determining that the voltage of the power supply line is lower than the threshold is based at least in part on the comparison.

7. An apparatus comprising: A power supply line coupled to a set of memory devices; as well as A controller, coupled to the group memory device and the power supply line, is configured to cause the device to: A set of messages is received, each message in the set of messages being transmitted from a corresponding memory device in the set of memory devices, and each indicating a corresponding current consumption for the corresponding memory device, wherein each message in the set of messages indicates a corresponding number of tokens associated with the current consumption. The correlation between the collective current consumption of the group memory device and the corresponding decrease in voltage on the power supply line is determined at least in part based on the group messages; and The upper limit of current consumption for the group of memory devices is updated at least in part based on the correlation.

8. The device of claim 7, wherein the controller is further configured to cause the device to: The collective current consumption is determined at least in part based on the respective current consumption for each memory device.

9. The device of claim 8, wherein the controller is further configured to cause the device to: The respective current consumption for the memory device is combined, wherein the collective current consumption is at least partially based on the combined respective current consumption.

10. The device of claim 7, wherein the controller is further configured to cause the device to: Determine the corresponding amount of reduction in the voltage on the power supply line, wherein the correlation is determined at least in part based on the corresponding amount of reduction in the voltage.

11. The device of claim 7, wherein updating the upper limit further comprises the controller being configured to cause the device to: The upper limit is reduced from the first value to the second value; and Indicate the second value to the group memory device.

12. The device of claim 7, wherein the controller is further configured to cause the device to: The voltage on the power supply line is sampled, wherein the corresponding reduction in voltage is at least partially based on the sampling of the voltage.

13. The device of claim 12, wherein the controller is further configured to cause the device to: Determine whether a second collective current consumption of the group of memory devices meets a threshold, wherein the voltage on the power supply line is sampled based at least in part on the determination that the second collective current consumption meets the threshold.

14. The device of claim 13, wherein the threshold is lower than the upper limit for current consumption of the group memory device.

15. The device of claim 7, wherein each message in the group messages is associated with a duration, and the collective current consumption occurs within the duration.

16. An apparatus comprising: Memory devices; A power supply line, which is coupled to the memory device; as well as A local controller, coupled to the memory device and configured to cause the device to: Determine the corresponding current consumption associated with the memory device; The indication of the corresponding current consumption is transmitted to a controller coupled to the memory device, wherein the indication indicates the number of tokens associated with each current consumption; and The system receives, at least in part, a control signal indicating an updated upper limit for the current consumption of the memory device, based on the communication of the instruction.

17. The device of claim 16, wherein the local controller is further configured to cause the device to: Receive a command, the command instructing the memory device to store the indication of the corresponding current consumption; and The indication of the corresponding current consumption is stored, at least in part, based on the command.

18. The device of claim 17, wherein the command instructs the memory device to suspend one or more operations at the memory device, and wherein the local controller is further configured to cause the device to: The one or more operations are suspended, at least in part, based on the command.

19. The device of claim 17, wherein the local controller is further configured to cause the device to: After storing the indication of the corresponding current consumption, a request for current consumption information for the memory device is received, wherein the indication of the corresponding current consumption is communicated at least in part based on the request.

20. The device of claim 16, wherein the local controller is further configured to cause the device to: The message containing the instruction is communicated to one or more memory devices coupled to the memory device.

21. The device of claim 16, wherein the local controller is further configured to cause the device to: The updated upper limit is stored in the memory device; and The current consumption of the memory device is managed at least in part based on the updated upper limit.

Citation Information

Patent Citations

  • Methods and systems for dynamically controlling operations in a non-volatile memory

    CN102347078A

  • Power supply management circuit configured to manage power transfer with limiting current intensity, and storage device and communication cable including the same

    US20170060158A1