CN113643745A - 存储器子系统中的存储器裸片的峰值电流的管理 - Google Patents
存储器子系统中的存储器裸片的峰值电流的管理 Download PDFInfo
- Publication number
- CN113643745A CN113643745A CN202110504114.XA CN202110504114A CN113643745A CN 113643745 A CN113643745 A CN 113643745A CN 202110504114 A CN202110504114 A CN 202110504114A CN 113643745 A CN113643745 A CN 113643745A
- Authority
- CN
- China
- Prior art keywords
- memory
- current level
- measured
- operations
- memory management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 391
- 230000009471 action Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 38
- 238000012549 training Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 101
- 230000000873 masking effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000003491 array Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及存储器子系统中的存储器裸片的峰值电流的管理。在存储器子系统的多个存储器裸片上执行存储器管理操作。所述存储器子系统确定对应于所述存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件。所述存储器子系统确定对应于所述存储器管理操作的执行的测得的第二电流电平是否满足与所述阈值峰值电流电平相关的所述条件。生成识别所述测得的第一电流电平和所述测得的第二电流电平的掩模数据。从主机系统接收执行所述存储器管理操作的请求。所述存储器子系统基于所述掩模数据在所述存储器管理操作的执行期间执行峰值电流管理动作。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说涉及存储器子系统中的多个存储器裸片的峰值电流事件的管理。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统在存储器装置处存储数据及从存储器装置检索数据。
发明内容
在一个方面中,本公开涉及一种方法,所述方法包括:由处理装置在存储器子系统的多个存储器裸片上执行存储器管理操作;确定对应于所述存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件;确定对应于所述存储器管理操作的执行的测得的第二电流电平是否满足与所述阈值峰值电流电平相关的所述条件;响应于确定所述测得的第一电流电平满足所述条件以及所述测得的第二电流电平满足所述条件,生成识别所述测得的第一电流电平和所述测得的第二电流电平的掩模数据;从主机系统接收执行所述存储器管理操作的请求;以及基于所述掩模数据在所述存储器管理操作的执行期间执行峰值电流管理动作。
在另一方面中,本公开涉及一种包括指令的非暂时性计算机可读介质,所述指令在由处理装置执行时使所述处理装置执行包括以下的操作:在训练阶段中在存储器子系统的多个存储器裸片上执行存储器管理操作阵列;识别通过执行所述存储器管理操作阵列的第一部分而产生的第一对连续峰值电流;以及生成与所述存储器管理操作阵列的所述第一部分相关联的掩模数据。
在又一方面中,本公开涉及一种系统,所述系统包括:多个存储器裸片;以及处理装置,其以操作方式与所述多个存储器裸片耦合以执行包括以下的操作:在存储器子系统的所述多个存储器裸片上执行存储器管理操作;确定对应于所述存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件;确定对应于所述存储器管理操作的执行的测得的第二电流电平是否满足与所述阈值峰值电流电平相关的所述条件;响应于确定所述测得的第一电流电平满足所述条件以及所述测得的第二电流电平满足所述条件,生成识别所述测得的第一电流电平和所述测得的第二电流电平的掩模数据;从主机系统接收执行所述存储器管理操作的请求;以及基于所述掩模数据执行峰值电流管理动作。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于特定实施例,而是仅用于解释和理解。
图1示出根据本公开的一些实施例包含存储器子系统的实例计算系统。
图2是根据一些实施例用以在对应于存储器子系统的存储器裸片的检视掩模数据中执行峰值电流管理动作的实例方法的流程图。
图3示出根据一些实施例包含被配置成管理存储器裸片的峰值电流的峰值电流管理组件的实例系统。
图4示出根据一些实施例对应于存储器子系统中的一组存储器裸片的掩模数据的峰值电流管理动作。
图5是本公开的实施方案可以在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面是针对基于与存储器子系统中的多个峰值电流电平相关联的掩模数据的峰值电流管理。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器子系统可执行涉及具有多个存储器裸片的多个存储器装置的多个并行操作(例如,随机读取、循序读取、随机写入、循序写入等)。为了执行存储器管理操作(例如,读取操作、编程操作、擦除操作等),存储器子系统可执行一组相应的子操作。举例来说,可通过测量存储器单元的阈值电压以与读取电压电平进行比较以确定所存储数据值来执行读取操作。涉及多个存储器装置的多个存储器管理操作的并行执行导致在电力供应上消耗较高电流汲取的峰值。存储器管理操作的执行可导致跨多个存储器裸片的多个重叠或并行的峰值电流事件。
常规功率管理技术采用掩模来基于产品验证数据仅标记或识别执行存储器管理操作的每一存储器裸片的最高电流峰值。此类型的功率管理方法不能有效地管理跨多个存储器裸片的单个编程/擦除迭代中发生的多个高电流峰值(例如,高于150mA的电流峰值)。如此,仅基于每一存储器裸片的最高电流掩蔽进一步操作未能考虑执行并行操作的其它存储器裸片上的其它高电流事件。相应地,常规方法无法恰当地减小峰值电流冲突或重叠的概率,在峰值电流冲突或重叠中在多个不同存储器裸片上同时经历多个高电流峰值,从而导致数据的稳定性和可靠性降低。
本公开的方面通过一种存储器子系统来解决以上和其它缺陷,所述存储器子系统可在训练阶段期间发布训练命令序列以在存储器子系统的多个存储器裸片上执行一组存储器管理操作。举例来说,所述组存储器管理操作可包含读取操作(例如,执行一组子操作来执行读取操作的指令集)、编程操作(例如,执行一组子操作来执行编程操作的指令集)、擦除操作(例如,执行一组子操作来执行擦除操作的指令集)、峰值功率模拟操作(例如,产生一或多个峰值功率或峰值电流汲取事件的指令集)等中的一或多个。
在此训练阶段期间,每一存储器裸片执行训练操作(例如,读取操作、编程操作、擦除操作、功率测试操作)的阵列且确定相应的峰值电流事件。可通过测量对应于存储器管理操作的一或多个阶段或部分的电流汲取电平来确定峰值电流事件。将测得的电流汲取电平与阈值电流值进行比较以确定是否满足条件。如果测得的电流电平超出阈值峰值电流值(例如,90mA),则识别出峰值电流。识别对应于在训练阶段期间识别的一组多个连续峰值电流的掩模。有利的是,掩模(也称为“超掩模”)对应于多个峰值电流(例如,高于阈值峰值电流电平的电流)以作为单个峰值电流对连续峰值电流进行识别、分组和管理。在训练阶段中,系统识别对应于相应存储器管理操作的掩模数据。
在训练阶段之后,系统在由主机系统起始的存储器管理操作的执行期间使用识别对应于数组多个峰值电流的多个超掩模的掩模数据管理存储器裸片的电流电平消耗。为了解决主机系统所请求的存储器管理操作(也称为“目标操作”)的执行期间多个存储器裸片中的重叠的峰值电流,系统可识别与目标操作相关联的掩模数据,且跨多个存储器裸片应用掩模数据来阻止或暂停重叠的峰值电流。
相应地,系统以沿着编程-擦除环路中的峰值的剩余部分向下级联的方式实现存储器管理操作(例如,编程/擦除环路)的执行期间发生的一组多个峰值电流的阻止。训练阶段期间识别的掩模数据可由存储器裸片共享以识别可适于具有不同功率消耗条件的不同主机系统的峰值电流的经优化配置。有利的是,在主机系统所请求的存储器管理操作的执行期间掩蔽多个高电流峰值实现通过减少高电流峰值的近似30%而有效减小多个裸片峰值冲突概率。
图1示出根据本公开的一些实施例包含存储器子系统110的实例计算系统100。存储器子系统110可包含介质,例如一或多个易失性存储器装置(例如,存储装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此些介质的组合。
存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM),及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置的计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到......”或“与......耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有中间组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
主机系统120可包含处理器芯片组以及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接的SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1示出存储器子系统110作为一实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(NAND)型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含(例如)二维NAND(2D NAND)和三维NAND(3D NAND)。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC),可存储每单元一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)和四层级单元(QLC),可存储每单元多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,和MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
尽管描述了例如非易失性存储器单元的3D交叉点阵列等非易失性存储器组件及NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。
存储器子系统控制器115可包含被配置成执行存储于本地存储器119中的指令的处理器117(例如,处理装置)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程,包含处置存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可以包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令来实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,及与存储器装置130相关联的逻辑块地址(例如,逻辑块地址(LBA)、名称空间)与物理块地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。举例来说,存储器装置130可表示具有体现在其上的一些控制逻辑(例如,本地媒体控制器135)的单个裸片。在一些实施例中,可省略存储器子系统110的一或多个组件。
存储器子系统110包含峰值电流管理组件113以管理在此期间将训练命令序列发布到存储器子系统的多个存储器裸片的训练阶段。在一实施例中,可由存储器子系统控制器115起始或发布训练命令序列。在一实施例中,峰值电流管理组件113在训练操作的阵列(例如,与训练命令序列相关联的一或多组存储器管理操作)的执行期间监视目标存储器裸片的性能。每一训练操作可包含一或多个存储器管理操作,所述存储器管理操作包含与一或多个任务或操作(例如,读取操作、编程操作、擦除操作、功率测试模拟操作等)的执行相关的一组子操作或功能。在一实施例中,峰值电流管理组件113将训练命令序列依次发送到每一存储器裸片,直至所有存储器裸片已经执行所述组存储器管理操作。
在一实施例中,峰值电流管理组件113测量由于执行存储器管理操作的部分或阶段(也称为“存储器管理操作部分”)而产生的电流电平。存储器管理操作部分可包含结合存储器管理操作(例如读取操作)的执行而执行的一或多个子操作(例如,位线预充电子操作、字线斜升子操作等)。在一实施例中,将每一测得的电流电平与阈值峰值电流电平(例如,90mA)进行比较以确定是否满足条件。在一实施例中,如果满足条件(例如,如果测得的电流电平超出阈值峰值电流电平),则系统识别出峰值电流事件。在一实施例中,峰值电流管理组件113识别并记录具有大于阈值峰值电流电平的值的所有电流峰值。对应于峰值电流的存储器管理操作或部分可归因于所得峰值电流而由系统识别为“敏感”操作。
峰值电流管理组件113基于所识别峰值电流生成掩模数据。在一实施例中,针对多个连续峰值电流(例如,超过阈值峰值电流电平的测得的电流电平)生成掩模。此掩模(也称为“超掩模”)使系统能够作为一个较大峰值电流管理多个峰值电流。识别超掩模的掩模数据可存储于存储器子系统110的日志(例如,存储于易失性存储器(例如,控制器115的RAM或SRAM存储位置)或非易失性存储器(例如,存储器装置130的锁存存储区域)中的日志)中。峰值电流管理组件113在存储器管理操作的执行期间在多个存储器裸片之间共享掩模数据以允许跨多个存储器裸片的峰值电流管理。
在训练阶段之后,峰值电流管理组件113使用掩模数据在主机系统120所请求的存储器管理操作的执行期间管理多个存储器裸片的峰值电流消耗。在一实施例中,响应于来自主机系统120的执行目标操作的请求,峰值电流管理组件113识别对应于目标操作的掩模数据以实现暂停或阻止一或多个存储器裸片执行目标操作的部分,从而避免重叠的峰值电流。峰值电流管理组件113使用掩模数据来改进峰值电流减少效率改进,且不与NAND 140的预测性PPM设计冲突,且其可以是将来将超越预测性PPM设计的先进特征。
图2是根据本公开的一些实施例用以生成对应于与训练操作的阵列(例如,一组存储器管理操作)的执行对应的多个峰值电流事件(例如,超过阈值峰值电流电平的测得的电流电平)的掩模数据的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,处理装置上运行或执行的指令),或其组合。在一些实施例中,方法200由图1的峰值电流管理组件113执行。此外,图3示出包含被配置成执行方法200的操作的峰值电流管理组件113的实例存储器子系统115。虽然以特定序列或次序展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明的实施例仅为实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,在各个实施例中可以省略一或多个过程。因此,并非在每个实施例中需要所有过程。其它过程流程也是可能的。
如图2所示,在操作210处,处理逻辑在存储器子系统的一组存储器裸片上执行存储器管理操作。在一实施例中,存储器管理操作是与所述组存储器裸片相关的训练阶段期间执行的训练操作的阵列的一部分。存储器管理操作可包含用以执行例如读取操作、编程操作、擦除操作、功率模拟操作等操作的指令集。在一实施例中,每一相应存储器裸片(例如,图3的存储器裸片1到存储器裸片N)执行所述组存储器管理操作,这基于训练操作阵列的存储器管理操作的相应部分(例如,一或多个子操作)的执行期间相应存储器裸片从电力供应350汲取电流而产生各种电流电平。
在一实施例中,处理逻辑执行用于由存储器子系统的存储器封装的一组存储器裸片执行训练操作阵列的命令(也称为“训练命令”)。在一实施例中,在训练阶段期间起始和执行所述命令,在所述训练阶段期间,所述组存储器裸片执行训练操作阵列。
在一实施例中,存储器子系统控制器115的峰值电流管理组件113可起始命令序列以实现由多个存储器裸片(例如,图3的存储器裸片1到存储器裸片N)执行训练操作阵列1到训练操作阵列N。在一实施例中,峰值电流管理组件113可将每一命令序列依次发布到存储器裸片(存储器裸片1到N)中的每一个直至所有存储器裸片已经执行所述组存储器管理操作。在一实施例中,峰值电流管理组件113可发布单个训练命令序列,所述单个训练命令序列发送到存储器裸片中的每一个以用于所述组存储器管理操作的并行执行。
在操作220处,处理逻辑确定对应于存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件(例如,满足或超出阈值峰值电流电平)。在一实施例中,响应于由所述组存储器裸片的第一存储器裸片执行存储器管理操作的相应部分来检测测得的第一电流电平。相应地,在操作220中,如果处理逻辑确定测得的第一电流电平因超过阈值峰值电流电平而满足条件,则将测得的第一电流电平识别为第一峰值电流(或峰值电流事件)。否则,如果处理逻辑确定测得的第一电流电平不满足条件(即,测得的第一电流电平低于阈值峰值电流电平),则不将测得的第一电流电平识别为峰值电流事件。
在一实施例中,如图3所示,存储器裸片可包含峰值电流检测器,所述峰值电流检测器包含电流检测器组件或电路以测量电流电平。峰值电流检测器可维持预定义或确定的阈值峰值电流电平(例如,90mA、100mA、110mA、120mA等)。在操作230处,处理逻辑确定对应于存储器管理操作的执行的测得的第二电流电平是否满足与阈值峰值电流电平相关的条件(例如,满足或超出阈值峰值电流电平)。在一实施例中,响应于由所述组存储器裸片中的存储器裸片执行存储器管理操作的相应部分来检测测得的第二电流电平。相应地,在操作230中,如果处理逻辑确定测得的第二电流电平因超过阈值峰值电流电平而满足条件,则将测得的第二电流电平识别为第二峰值电流(或峰值电流事件)。否则,如果处理逻辑确定测得的第二电流电平不满足条件(即,测得的第二电流电平低于阈值峰值电流电平),则不将测得的第二电流电平识别为峰值电流事件。如图3所示,识别(如上文所描述)多个峰值电流(例如,峰值1具有电流电平130mA,且峰值2具有电流电平95mA),且将其存储于日志中。
在操作240处,响应于确定测得的第一电流电平满足条件以及测得的第二电流电平满足条件,处理逻辑生成识别测得的第一电流电平和测得的第二电流电平的掩模数据。在一实施例中,掩模数据将产生第一峰值电流(例如,测得的第一电流电平)和第二峰值电流(例如,测得的第二电流电平)的存储器管理操作的至少一部分(例如,训练操作阵列的一部分)识别为掩蔽操作。如图3所示,掩模数据识别对应于产生峰值1和峰值2的掩蔽操作(也称为“敏感操作”)的掩模(或超掩模)。在一实施例中,生成掩模数据以识别针对多个存储器裸片的存储器裸片中的每一个的掩蔽操作(例如,产生多个连续峰值电流的操作)。根据实施例,掩模数据可存储于存储器子系统控制器115的存储器裸片(例如,存储器裸片的锁存存储区域)或易失性存储器(例如,RAM或SRAM存储器)的存储位置中。
如图3所示,针对每一存储器裸片的掩模数据通过峰值电流管理组件113的相应功率管理模块(例如,功率管理模块1到功率管理模块N)与其它存储器裸片共享或同步。
在一实施例中,在完成训练阶段(例如,由存储器子系统的每一存储器裸片执行命令序列和相应的训练操作阵列)后,针对每一存储器裸片生成的掩模数据被存储且可由电力管理组件(例如,电力管理组件1到电力管理组件N)存取。在一实施例中,功率管理组件是峰值电流管理组件113的一部分,且被配置成存取与每一存储器裸片相关联的掩模数据。在一实施例中,处理逻辑可被配置成不针对训练阶段期间识别的最后或最终峰值电流(例如,图3的峰值N)生成掩模。
在操作250处,处理逻辑从主机系统接收执行存储器管理操作的请求。在一实施例中,在完成训练阶段之后,峰值电流管理组件113操作以在系统中执行来自主机系统120的操作请求期间管理存储器子系统的峰值电流电平。在一实施例中,主机系统120请求作为掩蔽操作(例如,具有由超掩模掩蔽的多个连续峰值电流的操作)执行训练阶段期间识别的存储器管理操作(也称为“目标存储器管理操作”)。在一实施例中,鉴于所述请求,处理逻辑识别与目标存储器管理操作相关联的掩模数据。作为图3中展示的实例,掩模数据识别对应于由存储器裸片1执行训练操作阵列期间识别的峰值1和峰值2的超掩模。在一实施例中,时钟360维持用于使存储器裸片的执行同步的计数器。存储器裸片中的每一个可与时钟计数器范围相关联,所述时钟计数器范围用于基于当前时钟计数器值控制存储器裸片何时操作。
在操作260处,处理逻辑基于掩模数据在存储器管理操作的执行期间执行峰值电流管理动作。在一实施例中,峰值电流管理动作可包含在第一存储器裸片执行掩蔽操作期间暂停或延迟所述组存储器裸片中的其它存储器裸片的执行。在一实施例中,在由第一存储器裸片执行掩蔽操作和产生多个连续峰值电流期间,作为峰值电流管理动作的结果暂停或延迟剩余存储器裸片的执行。
图4示出由本公开的峰值电流管理组件113管理的一组实例存储器裸片(即,存储器裸片1、存储器裸片2、存储器裸片3和存储器裸片4)。如所展示,所述组存储器裸片与建立每一存储器裸片执行的时间范围的时钟360相关联(例如,经由时钟总线)。在一实施例中,在每一存储器裸片的初始化期间(例如,经由设定特征命令)向所有存储器裸片指派地址。在一实施例中,每一存储器裸片与相应存储器裸片在此期间执行所发布的存储器管理操作的时钟计数器范围相关联。
在一实例中,如图4中所展示,向存储器裸片1指派时钟计数器范围0-2,向存储器裸片2指派时钟计数器范围3-5,向存储器裸片3指派时钟计数器范围6-8,且向存储器裸片4指派时钟计数器范围9-11。
在图4中所展示的实例中,当所述组存储器裸片(例如,存储器裸片1到存储器裸片4)开始在第一时间(例如,时钟计数器等于3)运行存储器管理操作时,识别与存储器裸片2相关联的掩模数据,因为时钟计数器值(例如,值3)同与存储器裸片2相关联的时钟计数器范围(3-5)匹配。如所展示,当存储器裸片2执行与超掩模(例如,裸片2超掩模)相关联的存储器管理操作的部分时,处理逻辑识别相应掩模数据且将超掩模指示符(例如,由峰值电流管理组件113管理的旗标或令牌)指派到存储器裸片2。在执行掩蔽操作期间将超掩模指示符指派到存储器裸片(例如,具有由超掩模掩蔽的多个峰值电流的操作执行峰值电流管理动作)。因为时钟计数器对应于存储器裸片2的时钟计数器范围,所以其它存储器裸片(存储器裸片1、存储器裸片3和存储器裸片4)确定超掩模指示符指派到存储器裸片2。作为响应,其它存储器裸片延迟或暂停执行(例如,服从存储器裸片2)直至释放超掩模指示符(例如,不再指派到存储器裸片2)。
在所展示的实例中,在由存储器裸片2释放超掩模指示符之后,时钟计数器可具有经过存储器裸片3的时钟计数器范围的开始值的值。举例来说,在由存储器裸片2释放超掩模指示符后当前时钟计数器可处于值7,经过存储器裸片3的时钟范围(例如,存储器裸片的时钟范围6-8)的开始值。相应地,在此实例中,对于存储器裸片4恢复执行,如图4所示。执行存储器裸片4超掩模,且如此,将超掩模指示符指派到存储器裸片4,且暂停剩余存储器裸片(例如,存储器裸片1、存储器裸片2和存储器裸片3),等待释放超掩模指示符。在此实例中,存储器裸片3和存储器裸片1依次执行其相应的掩蔽操作,如图4所展示。
图5示出计算机系统500的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,以执行操作系统来执行对应于图1的峰值电流管理组件113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或网桥、数字或非数字电路系统,或能够执行(循序地或以其它方式)指定待由所述机器进行的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含个别地或共同地执行一(或多)个指令集以执行本文中所论述的方法中的任何一或多种的机器的任何集合。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等动态随机存取存储器(DRAM))、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502被配置成执行用于执行本文中所论述的操作和步骤的指令526。计算机系统500可进一步包含网络接口装置508以经由网络520通信。
数据存储系统518可以包含机器可读存储介质524(也称为计算机可读介质),其上存储有一或多个指令集526或体现本文中所描述的任何一或多种方法或功能的软件。指526还可在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储介质。机器可读存储介质524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含实施对应于数据保护组件(例如,图1的峰值电流管理组件113)的功能性的指令。尽管在实例实施例中机器可读存储介质524展示为单个介质,但是应认为术语“机器可读存储介质”包含存储所述一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一或多种的任何介质。术语“机器可读存储介质”应相应地被理解为包含(但不限于)固态存储器、光学介质和磁性介质。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够被存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、要素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅是应用于这些量的便利的标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储介质中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的介质,其各自连接到计算机系统总线。
本文中呈现的算法和显示在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含上面存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读介质。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开作出各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。
Claims (20)
1.一种方法,其包括:
由处理装置在存储器子系统的多个存储器裸片上执行存储器管理操作;
确定对应于所述存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件;
确定对应于所述存储器管理操作的执行的测得的第二电流电平是否满足与所述阈值峰值电流电平相关的所述条件;
响应于确定所述测得的第一电流电平满足所述条件以及所述测得的第二电流电平满足所述条件,生成识别所述测得的第一电流电平和所述测得的第二电流电平的掩模数据;
从主机系统接收执行所述存储器管理操作的请求;以及
基于所述掩模数据在所述存储器管理操作的执行期间执行峰值电流管理动作。
2.根据权利要求1所述的方法,其中所述测得的第一电流电平表示在由所述多个存储器裸片的第一存储器裸片执行所述存储器管理操作的一部分期间发生的第一峰值电流,且所述测得的第二电流电平表示在由所述多个存储器裸片的第一存储器裸片执行所述存储器管理操作的一部分期间发生的第二峰值电流。
3.根据权利要求2所述的方法,其中所述掩模数据识别与产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的一部分相关联的掩模。
4.根据权利要求1所述的方法,其进一步包括在执行产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的一部分期间将掩模指示符指派到第一存储器裸片。
5.根据权利要求4所述的方法,其中所述峰值电流管理动作包括响应于将所述掩模指示符指派到所述第一存储器裸片而延迟所述多个存储器裸片的存储器裸片的子集的执行。
6.根据权利要求4所述的方法,其进一步包括在执行产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的所述部分之后释放指派到所述第一存储器裸片的所述掩模指示符。
7.根据权利要求6所述的方法,其进一步包括:
识别被指派对应于时钟计数器的值的时钟范围的所述多个存储器裸片的第二存储器裸片;
执行所述存储器管理操作的另一部分以产生第三电流电平和第四电流电平,其中所述另一部分与额外掩模数据相关联;以及
基于所述额外掩模数据在执行产生所述第三电流电平和所述第四电流电平的所述存储器管理操作的所述另一部分期间将所述掩模指示符指派到所述第二存储器裸片。
8.一种包括指令的非暂时性计算机可读介质,所述指令在由处理装置执行时使所述处理装置执行包括以下的操作:
在训练阶段中在存储器子系统的多个存储器裸片上执行存储器管理操作阵列;
识别通过执行所述存储器管理操作阵列的第一部分而产生的第一对连续峰值电流;以及
生成与所述存储器管理操作阵列的所述第一部分相关联的掩模数据。
9.根据权利要求8所述的非暂时性计算机可读介质,所述操作进一步包括:
响应于来自主机系统的执行所述存储器管理操作阵列的所述第一部分的请求,识别所述掩模数据;
识别所述多个存储器裸片的第一存储器裸片以执行所述存储器管理操作阵列的所述第一部分;以及
基于所述掩模数据在执行所述第一对连续峰值电流期间将掩模指示符指派到所述第一存储器裸片。
10.根据权利要求9所述的非暂时性计算机可读介质,所述操作进一步包括基于所述掩模数据执行功率管理动作。
11.根据权利要求9所述的非暂时性计算机可读介质,其中所述功率管理动作包括由所述多个存储器裸片的子集在所述掩模指示符被指派到所述第一存储器裸片的周期期间执行。
12.根据权利要求11所述的非暂时性计算机可读介质,所述操作进一步包括在完成所述存储器管理操作阵列的所述第一部分的随后执行后释放所述掩模指示符到所述第一存储器裸片的指派。
13.根据权利要求8所述的非暂时性计算机可读介质,其中所述掩模数据存储于所述存储器子系统的控制器的存储位置中。
14.一种系统,其包括:
多个存储器裸片;以及
处理装置,其以操作方式与所述多个存储器裸片耦合以执行包括以下的操作:
在存储器子系统的所述多个存储器裸片上执行存储器管理操作;
确定对应于所述存储器管理操作的执行的测得的第一电流电平是否满足与阈值峰值电流电平相关的条件;
确定对应于所述存储器管理操作的执行的测得的第二电流电平是否满足与所述阈值峰值电流电平相关的所述条件;
响应于确定所述测得的第一电流电平满足所述条件以及所述测得的第二电流电平满足所述条件,生成识别所述测得的第一电流电平和所述测得的第二电流电平的掩模数据;
从主机系统接收执行所述存储器管理操作的请求;以及
基于所述掩模数据执行峰值电流管理动作。
15.根据权利要求14所述的系统,其中所述测得的第一电流电平表示在由所述多个存储器裸片的第一存储器裸片执行所述存储器管理操作的一部分期间发生的第一峰值电流,且所述测得的第二电流电平表示在由所述多个存储器裸片的第一存储器裸片执行所述存储器管理操作的一部分期间发生的第二峰值电流。
16.根据权利要求15所述的系统,其中所述掩模数据识别与产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的一部分相关联的掩模。
17.根据权利要求14所述的系统,所述操作进一步包括在执行产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的一部分期间将掩模指示符指派到所述多个存储器裸片的第一存储器裸片。
18.根据权利要求17所述的系统,其中所述峰值电流管理动作包括响应于将所述掩模指示符指派到所述第一存储器裸片而延迟所述多个存储器裸片的存储器裸片的子集的执行。
19.根据权利要求17所述的系统,所述操作进一步包括在执行产生所述第一电流电平和所述第二电流电平的所述存储器管理操作的所述部分之后释放指派到所述第一存储器裸片的所述掩模指示符。
20.根据权利要求19所述的系统,所述操作进一步包括:
识别被指派对应于时钟计数器的值的时钟范围的所述多个存储器裸片的第二存储器裸片;
执行所述存储器管理操作的另一部分以产生第三电流电平和第四电流电平,其中所述另一部分与额外掩模数据相关联;以及
基于所述额外掩模数据在执行产生所述第三电流电平和所述第四电流电平的所述存储器管理操作的所述另一部分期间将所述掩模指示符指派到所述第二存储器裸片。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/871,366 | 2020-05-11 | ||
US16/871,366 US11216219B2 (en) | 2020-05-11 | 2020-05-11 | Management of peak current of memory dies in a memory sub-system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113643745A true CN113643745A (zh) | 2021-11-12 |
CN113643745B CN113643745B (zh) | 2024-04-05 |
Family
ID=78412613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110504114.XA Active CN113643745B (zh) | 2020-05-11 | 2021-05-10 | 存储器子系统中的存储器裸片的峰值电流的管理 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11216219B2 (zh) |
KR (1) | KR20210138497A (zh) |
CN (1) | CN113643745B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210146643A (ko) * | 2020-05-27 | 2021-12-06 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194020A1 (en) * | 2003-03-27 | 2004-09-30 | Beda Joseph S. | Markup language and object model for vector graphics |
CN104115130A (zh) * | 2011-12-20 | 2014-10-22 | 桑迪士克科技股份有限公司 | 存储器设备的损耗均匀化 |
CN110083556A (zh) * | 2013-01-07 | 2019-08-02 | 美光科技公司 | 电力管理 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203919A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
-
2020
- 2020-05-11 US US16/871,366 patent/US11216219B2/en active Active
-
2021
- 2021-05-07 KR KR1020210059148A patent/KR20210138497A/ko active IP Right Grant
- 2021-05-10 CN CN202110504114.XA patent/CN113643745B/zh active Active
- 2021-12-27 US US17/562,590 patent/US11681474B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194020A1 (en) * | 2003-03-27 | 2004-09-30 | Beda Joseph S. | Markup language and object model for vector graphics |
US7417645B2 (en) * | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
CN104115130A (zh) * | 2011-12-20 | 2014-10-22 | 桑迪士克科技股份有限公司 | 存储器设备的损耗均匀化 |
CN110083556A (zh) * | 2013-01-07 | 2019-08-02 | 美光科技公司 | 电力管理 |
Also Published As
Publication number | Publication date |
---|---|
US20210349663A1 (en) | 2021-11-11 |
US11216219B2 (en) | 2022-01-04 |
KR20210138497A (ko) | 2021-11-19 |
US20220121399A1 (en) | 2022-04-21 |
CN113643745B (zh) | 2024-04-05 |
US11681474B2 (en) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11282567B2 (en) | Sequential SLC read optimization | |
US20240062820A1 (en) | Tracking operations performed at a memory device | |
US11681474B2 (en) | Management of peak current of memory dies in a memory sub-system | |
US11720262B2 (en) | Power management based on detected voltage parameter levels in a memory sub-system | |
US11664082B2 (en) | Capacitor health check | |
US11720490B2 (en) | Managing host input/output in a memory system executing a table flush | |
US11868655B2 (en) | Memory performance using memory access command queues in memory devices | |
WO2022027578A1 (en) | Memory overlay using host memory buffer | |
US11636904B2 (en) | Almost ready memory management | |
US11735272B2 (en) | Noise reduction during parallel plane access in a multi-plane memory device | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US11635900B2 (en) | Memory sub-system signature generation | |
US11868660B2 (en) | End-to-end quality of service management for memory device | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US20240070084A1 (en) | Padding cached data with valid data for memory flush commands | |
US20230214157A1 (en) | NVMe COMMAND COMPLETION MANAGEMENT FOR HOST SYSTEM MEMORY | |
US20210248066A1 (en) | Multi state purgatory for media management for a memory subsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |