CN111383679A - 用于管理存储器的仲裁技术 - Google Patents
用于管理存储器的仲裁技术 Download PDFInfo
- Publication number
- CN111383679A CN111383679A CN201911411887.2A CN201911411887A CN111383679A CN 111383679 A CN111383679 A CN 111383679A CN 201911411887 A CN201911411887 A CN 201911411887A CN 111383679 A CN111383679 A CN 111383679A
- Authority
- CN
- China
- Prior art keywords
- memory
- die
- power
- dies
- nand
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 709
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000000977 initiatory effect Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 15
- 230000003139 buffering effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 4
- 238000005265 energy consumption Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 description 67
- 230000008859 change Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000003491 array Methods 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 12
- 230000009849 deactivation Effects 0.000 description 9
- 238000007667 floating Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000003213 activating effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000004020 conductor Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101001038535 Pelodiscus sinensis Lysozyme C Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000037228 dieting effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
Images
Classifications
-
- 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/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- 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/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/0656—Data buffering arrangements
-
- 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
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请案涉及用于受管理存储器的仲裁技术。用于仲裁受管理NAND存储器系统中的存储器装置的操作以使所述操作符合电力预算的装置及技术。在一实例中,一种方法可包含:启用具有多个存储器裸片的存储器系统的存储器裸片子集;起动用于每一作用中存储器裸片的作用中定时器;基于与经缓冲存储器命令相关联的时间戳在每一作用中裸片处起始所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的电力预算的遵从性。
Description
优先权
本申请案主张以全文引用的方式并入本文中的2018年12月31日申请且标题为“用于受管理存储器的仲裁技术(ARBITRATION TECHNIQUES FOR MANAGED MEMORY)”的第62/786,764号美国临时专利申请案及以全文引用的方式并入本文中的2019年3月5日申请且标题为“用于管理存储器的仲裁技术(ARBITRATION TECHNIQUES FOR MANAGE MEMORY)”的第16/293,227号美国专利申请案的优先权益。
技术领域
本公开论述存储器,且更确切地说,论述用于仲裁所管理的存储器的技术。
背景技术
存储器装置可提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。非易失性存储器可在未被供电时保持所存储的数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、磁阻式随机存取存储器(MRAM)或存储类(例如,忆阻器)存储器等等。
快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷阱存储器单元的一或多个群组。两个常见类型的快闪存储器阵列架构包含NAND和NOR架构,以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在一实例中,阵列的一行中的每个浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的一串中的每一存储器单元的漏极以源极到漏极方式一起串联耦合在源极线与位线之间。以指定传递电压(例如,Vpass)驱动耦合到每一群组的非所选存储器单元的栅极的字线,以使每一群组的非所选存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可个别地或共同地编程到一个或若干经编程状态。举例来说,单层级单元(SLC)可表示两个编程状态(例如,1或0)中的一个,从而表示一个数据位。然而,快闪存储器单元也可表示超过两个经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每个单元可表示超过一个二进制数字(例如,超过一个位)。这些单元可称为多状态存储器单元、多数位单元或多电平单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三层级单元(triple-level cell;TLC)可指代每单元可存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四层级单元(quad-levelcell;QLC)可每单元存储四个数据位。MLC在本文中以其较广泛情形使用,以指代每单元可存储多于一个数据位(即,可表示多于两个经编程状态)的任何存储器单元。
发明内容
用于仲裁受管理NAND存储器系统中的存储器装置的操作以使所述操作符合电力预算的装置及技术。在一实例中,一种方法可包含:启用具有多个存储器裸片的存储器系统的存储器裸片子集;起动用于每一作用中存储器裸片的作用中定时器;基于与经缓冲存储器命令相关联的时间戳在每一作用中裸片处起始所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的电力预算的遵从性。
此部分意欲提供对本专利申请案的标的物的概述。其并不意欲提供对本发明的排它性或穷举性解释。包含具体实施方式以提供有关本专利申请案的其它信息。
附图说明
在不一定按比例绘制的图式中,相似标号可在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例而非限制性地总体上说明本文件中所论述的各种实施例。
图1说明包含可在上面实施一或多个实施例的存储器装置的环境的实例。
图2是根据本公开的数个实施例的包含至少一个存储器系统的环境的替代视图。
图3说明包含数个存储器单元串的3D NAND架构半导体存储器阵列的实例示意图。
图4说明包含布置成二维串阵列的多个存储器单元的NAND架构半导体存储器阵列的一部分的实例示意图。
图5大体说明存储器控制器仲裁多个存储器裸片装置的裸片的启动及撤销启动以维持尽可能多的作用中裸片同时仍依据电力预算管理存储器装置的电力消耗的实例方法的流程图。
图6大体说明存储器控制器仲裁多个存储器裸片装置的裸片的启动及撤销启动以维持尽可能多的作用中裸片同时仍依据电力预算管理存储器装置的电力消耗的替代实例方法的流程图。
图7大体说明用于在实例仲裁方案下操作通道以使存储器系统的操作符合电力预算的实例方法的流程图。
图8大体说明用于仲裁受管理NAND存储器装置中的工作负荷,使得可满足装置的电力预算的实例方法的流程图。
图9大体说明操作存储器系统以符合电力预算的实例方法的流程图。在某些实例中,电力预算可能限制可自存储器系统获得的最大性能。
图10A及10B大体说明图9的技术的更详细实例,且包含用于在电力预算内操作受管理NAND存储器系统的实例的流程图。
图11是说明可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
可利用受管理NAND存储器装置的系统可以许多形式出现。一些系统促进高性能,且经设计以按照用户的请求连续地以持续高性能水平操作。然而,例如移动系统的一些系统的可用电力可能有限,且可包含在电力预算内操作所述系统同时尝试借助于优良用户体验提供高性能的技术。
本发明的发明人已认识到,受管理NAND存储器装置的操作可表示电力预算的显著部分,尤其是用来经由连接主机装置与NAND存储器装置的通信通道或通信接口传送数据的电力。对于可能能够例如同时经由多个通信通道读取命令到一或多个NAND裸片的每一平面的最新的受管理NAND可能尤其如此。为提供最佳用户体验,保持所有系统组件,包含所有存储器裸片,始终被供电是合情合理的。然而,保持受管理NAND装置的所有存储器裸片被供电且操作可使用相对大量的电力,且又会在移动装置的电池在相对短时间之后未能提供电力时显著降低用户体验。为防止电池电力的过早消耗,例如移动系统的系统可预算各种子系统的电力。
本文档解决用于仲裁受管理NAND存储器装置的哪一裸片在作用中以遵从给定电力预算同时提供最佳用户体验的各种技术。第一种技术监视每一存储器裸片的活动时间及失活时间,且基于那些时间进行仲裁。第二种技术监视每一裸片的工作负荷任务,且允许被供电的NAND阵列处于读取模式或写入模式但不同时处于两者模式,使得电力预算可以与较精细解决方案一起使用,因为较之于允许被供电的NAND阵列以读取与写入的混合进行操作,执行相同功能的每一NAND阵列的功率分布被更好地估计。第三种技术可允许机会估计,且以更精细的电力估计解决方案执行管理NAND存储器的操作,以便更好地确保电力预算为净,同时还对于所述电力预算提供最大用户体验。所述第三种技术可包含将读取操作与写入操作中的每一者分裂为两个子操作及对应功率分布,且接着基于存储器装置裸片的活动时间和失活时间以及与子操作的功率分布相关的信用系统调节受管理NAND存储器装置的操作。
图1说明经配置以经由通信接口彼此通信的包含主机装置105和受管理存储器装置110的环境100的实例。因此,如本文中所描述,归于主机装置105的动作在受管理存储器装置110的那些动作之外,如所说明,甚至在受管理存储器装置110是主机装置105内的封装时也是如此。因此,在一些实例中,受管理存储器装置110可被包含为主机105的部分(如图1中所描绘),或受管理存储器装置110可为在主机装置105外部的独立组件。主机装置105或受管理存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、无人驾驶飞机等),以支持产品150的处理、通信或控制。
受管理存储器装置110包含存储器控制器115和存储器阵列120,所述存储器阵列包含例如数个个别存储器装置(例如,每个存储器装置是三维(3D)NAND裸片的堆叠)。因此,受管理存储器装置110包含存储器控制器115和一或多个存储器装置-存储器装置的实例说明在图5中。在没有受管理存储器装置110的实例中,存储器控制器115或其等效物将为主机装置105的部分且在包括存储器阵列120的一或多个存储器装置的封装外部。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层数、物理页且因此增加给定存储器装置(例如,存储装置)的密度。
在一实例中,受管理存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,受管理存储器装置110可为集成电路(例如,系统芯片(SOC)等)的部分,其与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起。
一或多个通信接口或通道可用来在受管理存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、控制电路系统或存储卡读卡器。在一些实例中,主机装置105可为具有参考图11的机器1100论述的一部分或所有组件的机器。数据可以经由I/O总线在受管理存储器装置110与其它组件之间传送。
存储器控制器115可从主机装置105的处理电路系统(例如,处理器)接收指令,并且可与存储器阵列120通信以便将数据传送(例如,写入或擦除)到存储器阵列120的存储器装置和相关联存储器单元、平面、子块、块或页中的一或多个或从存储器阵列120的存储器装置和相关联存储器单元、平面、子块、块或页中的一或多个传送(例如,读取)数据。存储器控制器115可尤其包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可以包含一或多个电路、控制电路系统或经配置以控制跨越存储器阵列120的存取并在主机装置105与存储器阵列120的存储器装置之间提供转换层的组件。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以向存储器阵列120传送数据或传送来自所述存储器阵列的数据。存储器控制器115可包含存储器管理器125和阵列控制器135。
阵列控制器135尤其可包含经配置以控制与以下相关联的存储器操作的电路系统或组件:将数据写入到存储器阵列120中的存储器装置的一或多个存储器单元、从所述一或多个存储器单元读取数据或擦除所述一或多个存储器单元。存储器操作可基于例如从主机装置105的处理电路系统接收或由存储器管理器125内部产生的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
在操作中,数据通常以页写入到NAND受管理存储器装置110或从其读取,且以块擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND受管理存储器装置110的数据传送大小通常被称作页,而主机的数据传送大小通常被称作扇区。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件140尤其可包含ECC引擎或经配置以检测或校正与以下相关联的错误的其它电路系统:将数据写入到耦合到存储器控制器115的存储器装置的一或多个存储器单元或从所述一或多个存储器单元读取数据。ECC组件140例如可检测或计算与执行数个存储器操作相关联的位错误率(BER)。BER可对应于I/O总线的锁存器中发生的位错误、控制器115的内部错误、受管理存储器装置110的存储器装置中的一或多个中发生的错误。存储器控制器115可经配置以有效地检测与各种操作或数据存储相关联的错误出现(例如,误码、操作错误等)并从中恢复,同时维持在主机装置105的处理器与受管理存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等),并可去除(例如,引退(retire))发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以预防未来错误。在一实例中,这些操作中的一些,例如检测读取错误,可实施于存储器阵列120中的每个存储器装置的存储器控制单元中。
在某些实例中,控制器115可包含根据本文所描述的实施例的用以管理电力的电力管理器160。然而,控制器115可包含未说明以便不混淆本公开的实施例的各种其它组件。而且,尽管电力管理器160被说明为驻留在控制器115上,但在一些实施例中,电力管理器160可驻留在存储器系统110中的其它处(例如,作为独立组件,或驻留在系统的不同组件上)。电力管理器160可例如以硬体及/或固件实施,且可根据数个不同电力模式或电力预算阈值限制电力。在某些实例中,电力模式可基于例如数据优先级(例如,数据是否为高优先级数据、低优先级数据、垃圾收集数据等)、与SSD相关联的写入扩增、应用类型(例如,一些应用可能比其它应用需要的I/O带宽低)及/或编程类型(例如,待写入的数据页为下部页还是上部页)等特性,以及其它特性。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的若干组件或集成电路。出于本描述的目的,将在NAND存储器的上下文中描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这类NAND管理功能包含耗损均衡(例如,垃圾数据收集或回收)、错误检测(例如,位错误率(BER)监视)或校正、块注销,或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机装置105的处理电路系统接收到的命令)剖析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或受管理存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。在一实例中,这些操作中的一些可实施于存储器阵列120中的每一存储器装置的存储器控制单元中。
存储器管理器125可包含经配置以维持与受管理存储器装置110的一或多个组件相关联的各种信息(例如,与存储器阵列或耦合到存储器控制器115的一或多个存储器单元相关联的各种信息)的一组管理表130。举例来说,管理表130可包含关于耦合到存储器控制器115的存储器单元的一或多个块的块使用期(block age)、块擦除计数、错误历史、错误参数信息或一或多个错误计数(例如,写入操作错误计数、读取误码计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个(例如,错误参数)检测到的错误的数目高于阈值(例如,可允许的错误阈值),则误码可称为不可校正的误码。管理表130尤其可维持可校正或不可校正的位错误的计数。
如上文所提及,存储器阵列120可包含一或多个存储器装置。个别存储器装置可包含布置于例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLCNAND存储器装置可包含每页18,592个字节(16,384+2208个字节)的数据、每块1536页、每平面548个块和每装置四个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,四个可编程状态))可包含每页18,592个字节(16,384+2208个字节)的数据、每块1024页、每平面548个块和每装置四个平面,但相比于对应TLC存储器装置,所需写入时间为一半且编码/擦除(P/E)循环为两倍。其它实例可以包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性地操作。
不同类型的存储器装置可提供不同的页大小,或可能需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,这可能导致需要不同量的元数据来确保数据页的完整性(例如,相比于具有较低位错误率的存储器装置,具有较高位错误率的存储器装置可能需要更多字节的错误校正码数据)。作为一实例,相比于对应单层级单元(SLC)NAND快闪存储器装置,多层级单元(MLC)NAND快闪存储器装置可具有更高的误码率。由此,相比于对应SLC装置,MLC装置可能需要更多的元数据字节用于错误数据。
图2是根据本公开的数个实施例的包含至少一个存储器系统210的环境200的替代视图。如本文所使用,存储器系统210、控制器215或存储器装置220也可单独地视为“设备”。存储器系统210可为例如固态驱动器(SSD),且可包含主机接口206、控制器215(例如,处理器及/或其它控制电路系统),及数个存储器装置220-1、…、220-M(例如,固态存储器装置,例如NAND闪存装置),其提供用于存储器系统210的储存容量。在数个实施例中,控制器215、存储器装置220-1到220-M及/或主机接口106可物理地位于单个裸片上或单个封装内(例如,受管理NAND应用)。而且,在数个实施例中,存储器(例如,存储器装置220-1到220-M)可包含单个存储器装置。在此实例中,存储器装置220-1到220-M中的每一者对应于相应存储器通道(例如,通道1存储器、…、通道M存储器),其可包括存储器装置(例如,裸片或晶片)群组;然而,实施例不限于此。
在某些实例中,控制器210可经由相应的数个I/O总线213-1、…、213-M耦合到主机接口206及存储器装置220-1、…、220-M。主机接口206可用来在存储器系统210与主机205之间传送数据。接口206可呈标准化接口的形式。举例来说,在存储器系统210用于计算环境200中的数据存储时,接口206可为串行高级技术附件(SATA)、串行附接SCSI(SAS)、外围组件互连高速(PCIe),或通用串行总线(USB),以及其它连接器及接口。然而,一般来说,接口206可提供用于在具有接口206的兼容接受器的存储器系统210与主机205之间传递控制、地址、数据及其它信号的接口。尽管未在图2中展示,但主机接口206可包含主机总线接口(HBA),其可经由数个I/O总线耦合到主机205,这可由主机205与接口206之间的箭头表示。
主机205可为主机系统,例如个人膝上型计算机、台式计算机、数码相机、移动电话或存储卡读取器,以及各种其它类型的主机。主机205可包含系统主板和/或底板,且可包含数个存储器存取装置(例如数个处理器)。
在某些实例中,每一总线213-1、…、213-M可与相应存储器通道相关联;然而,实施例不限于此配置。举例而言,在数个实施例中,单个I/O总线可支持多个通道。I/O总线213-1到213-M可包括数个信号线(例如,数据线、地址线、控制线,等)。控制器210包含用来将I/O总线213-1到213-M耦合到相应存储器装置220-1到220-M(例如,经由对应接口214-1到214-M)的存储器接口212。存储器接口212及/或214-1到214-M可提供用于总线213-1到213-M的信号线的物理连接,且可包括各种组件,例如驱动器电路系统(例如,SSTL驱动器、LVCMOS驱动器,等)及/或ODT电路系统。接口212及/或214-1到214-M可支持各种信令标准,例如DDR、DDR2及/或DDR3,以及其它信令标准。作为一实例,接口212及214以及I/O总线213可遵从开放NAND快闪接口(ONFI)。
控制器215可与存储器(例如,存储器装置220-1到220-M)通信以控制数据读取、写入及擦除操作,以及其它操作。控制器215可包含例如硬件和/或固件形式的多个组件(例如一或多个集成电路)和/或用于控制对存储器的存取和/或用于促进主机205与存储器之间的数据传递的软件。在某些实例中,控制器215包含根据本文所描述的实施例的用以管理电力的电力管理器260。然而,控制器215可包含未说明以便不混淆本公开的实施例的各种其它组件。而且,尽管电力管理器260被说明为驻留在控制器215上,但在一些实施例中,电力管理器260可驻留在存储器系统210中的其它处(例如,作为独立组件,或驻留在系统的不同组件上)。电力管理器260可例如以硬体及/或固件实施,且可根据数个不同电力模式限制电力。举例而言,电力模式可基于例如数据优先级(例如,数据是否为高优先级数据、低优先级数据、垃圾收集数据等)、与SSD相关联的写入扩增、应用类型(例如,一些应用可能比其它应用需要的I/O带宽低)及/或编程类型(例如,待写入的数据页为下部页还是上部页)等特性,以及其它特性。而且,在数个实施例中,电力管理器260可用来限制主机205与控制器215之间的I/O总线。
存储器(例如,存储器装置220-1到220-M)可包含数个存储器单元阵列。举例来说,阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可例如分组成包含多个物理页的多个块。多个块可包含于存储器单元的平面中,且阵列可包含多个平面。作为一个实例,存储器装置可经配置以每页存储8KB(千字节)用户数据、每块128页用户数据、每平面2048个块,及每装置16个平面。
在其中存储器装置220-1到220-M包括具有NAND架构的快闪阵列的实施例中,所述阵列可包括存取线(例如字线)及相交的数据线,例如位线。阵列可包括从源极到漏极串联连接于经配置以将相应串选择性地耦合到共同源极的源极选择栅极与经配置以将相应串选择性地耦合到相应位线的漏极选择栅极之间的存储器单元的“串”。存储器单元可包括例如源极、漏极、电荷存储结构(例如,浮动栅极)及控制栅极,其中单元的控制栅极对应于共同耦合到字线的单元的“行”。NOR快闪阵列将类似地结构化,例外之处为存储器单元串并联耦合在选择栅极之间。
如在本文中进一步描述,在本公开的若干实施例中,电力管理器(例如,电力管理器260)可经配置以通过限制I/O总线(例如,213-1到213-M)的数目而不调整所述数个I/O总线的传送速率来调整与在控制器(例如,控制器215)与数个存储器装置(例如,220-1到220-M)之间传送数据相关联的I/O电力消耗。
图3说明包含数个存储器单元串(例如,第一A0存储器串305A0到第三A0存储器串307A0、第一An存储器串305An到第三An存储器串307An、第一B0存储器串305B0到第三B0存储器串307B0、第一Bn存储器串305Bn到第三Bn存储器串307Bn等)的3D NAND架构半导体存储器阵列300的实例示意图,所述存储器单元串组织成块(例如,块A 301A、块B 301B等)和子块(例如,子块A0 301A0、子块An 301An、子块B0 301B0、子块Bn 301Bn等)。存储器阵列300表示通常在存储器装置的块、装置或其它单元中发现的较大数目的类似结构的一部分。
每一存储器单元串包含若干层的电荷存储晶体管(例如,浮动栅极晶体管、电荷截留结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)335或源极侧选择栅极(SGS)(例如,第一到第三A0 SGS 331A0-333A0、第一到第三An SGS331An-333An、第一到第三B0 SGS 331B0-333B0、第一到第三Bn SGS 331Bn-333Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0 SGD 326A0-328A0、第一到第三An SGD 326An-328An、第一到第三B0 SGD 326B0-328B0、第一到第三Bn SGD 326Bn-328Bn等)之间。3D存储器阵列中的每个存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0 320到BL2 322),且沿着Y方向布置为物理页。
在物理页内,每一层表示一行存储器单元,且每串存储器单元表示列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如,128、256、384等)。出于描述的目的提供的所说明的存储器装置包含两个块,每个块具有两个子块,每个子块具有单个物理页,其中每个物理页具有三个存储器单元串,且每个串具有8个层的存储器单元。在实际装置中,存储器阵列300将通常包含数目大得多的块、子块、物理页、存储器单元串、存储器单元和/或层。举例来说,按需要,每个存储器单元串可包含所选数目的层(例如,16、32、64、128等),以及高于或低于电荷存储晶体管的半导体材料的一或多个额外层(例如,选择栅极、数据线等)。作为一实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块,和每装置4个或更多个平面。
存储器阵列300中的每一存储器单元包含耦合到(例如,以电或另外以操作方式连接到)存取线(例如,字线(WL)WL00 310A到WL70 317A、WL01 310B到WL71 317B等)的控制栅极(CG),所述存取线按需要跨越特定层或层的一部分共同地耦合控制栅极(CG)。可以使用相应存取线来存取或控制3D存储器阵列300中的特定层,且因此存取或控制串中的特定存储器单元。可以使用各种选择线存取多组选择栅极。举例来说,可使用A0 SGD线SGDA0 325A0存取第一A0 SGD 326A0到第三A0 SGD 328A0,可使用SGD线SGDAn 325An存取第一An SGD326An到第三An SGD 328An,可使用B0 SGD线SGDB0 325B0存取第一B0 SGD 326B0到第三B0SGD 328B0,且可使用Bn SGD线SGDBn 325Bn存取第一Bn SGD 326Bn到第三Bn SGD 328Bn。可使用栅极选择线SGS0 330A存取第一到第三A0 SGS 331A0-333A0和第一到第三An SGS 331An-333An,且可使用栅极选择线SGS1 330B存取第一到第三B0 SGS 331B0-333B0和第一到第三BnSGS 331Bn-333Bn。
在实例中,存储器阵列300可包含数个层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可以使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层的特定存储器单元。
图4说明NAND架构半导体存储器阵列400的一部分的实例示意图,所述NAND架构半导体存储器阵列包含布置成串(例如,第一串405到第三串407)和层(例如,说明为相应字线(WL)WL0 410到WL7 417、漏极侧选择栅极(SGD)线425、源极侧选择栅极(SGS)线430等)的二维阵列的多个存储器单元402以及装置或感测放大器460。举例来说,存储器阵列400可说明例如图3中说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 431-433)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 426-428)耦合到相应数据线(例如,第一到第三位线(BL)BL0-BL2 420-422)。虽然在图4的实例中说明为具有8个层(例如,使用字线(WL)WL0-WL7 410-417)和三个数据线(BL0-BL2 426-428),但其它实例按需要可包含具有更多或更少层或数据线的存储器单元串。
在例如实例存储器阵列400等NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化而存取所选存储器单元402的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在一实例中,一或多个驱动器可通过取决于将需要在特定存储器单元或存储器单元的集合上执行的操作的类型将特定电位驱动到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极来激活特定存储器单元或存储器单元的集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到所选字线(例如,WL4),且因此施加到耦合到所选字线的每个存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一控制栅极(CG)441到第三控制栅极443)。编程脉冲可以例如在15V处或附近开始,并且在某些实例中,可以在每一编程脉冲施加期间增加幅度。在将编程电压施加到所选字线的同时,可将例如接地电位(例如,Vss)等电位施加到作为编程的目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不作为编程的目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不作为编程的目标的存储器单元的数据线(例如,位线),以例如禁止电荷从沟道转移到此类非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与作为编程的目标的字线的接近度而变化。抑制电压可包含供应电压(Vcc),例如相对于接地电位(例如,Vss)来自外部源或供应(例如,电池、AC到DC转换器等)的电压。
作为一实例,如果将编程电压(例如,15V或更高)施加于特定字线,例如WL4,则可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不作为编程的目标的这些存储器单元上存储的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15V的编程电压施加到WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,通过电压或字线的数目等等可更高或更低、或更大或更小。
耦合到数据线(例如,第一位线、第二位线或第三位线(BL0到BL2)420到422)中的一或多个的感测放大器460可通过感测特定数据线上的电压或电流而检测相应数据线中的每个存储器单元402的状态。感测放大器460可确定给定存储器单元402或单元组的状态是否不稳定。在此类情形下,感测放大器460可将此不稳定性记录为错误参数。感测放大器460可与控制器通信以校正错误参数。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行验证操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已达到其预期经编程状态,则可以禁止其进一步编程。如果所选存储器单元尚未达到其预期经编程状态,则可以施加额外编程脉冲。如果所选存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其既定编程状态,则可将所选存储器单元或与此类所选存储器单元相关联的串、块或页标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到作为擦除的目标的存储器单元的衬底(及因此源极和漏极之间的沟道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)等电位,从而导致从目标存储器单元的浮动栅极到所述沟道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
为了从存储器单元的给定页读取数据,将读取阈值电压或电位(Vt)施加到字线且从对应数据线感测电压。如果对给定单元编程,则施加Vt(或在Vt范围内的电压)可能导致在对应位线处感测到给定电压电平(在经编程范围内)。如果所感测的电压电平在可接受的经编程范围内,则可确定位值‘0’被存储在给定单元中。如果未编程给定单元,则施加Vt(或在Vt范围内的电压)可能导致在对应位线处感测到给定电压电平(在经擦除范围内)。如果所感测的电压电平在可接受的经擦除范围内,则可确定位值‘1’被存储在给定单元中。
除了管理受管理NAND存储器装置的上述功能中的一或多者之外,存储器控制器可能需要还管理存储器装置的多个NAND裸片的电力使用以提供用户体验(有时称为性能)与所需电池充电事件之间的间隔长度之间的平衡。如上文所论述,为提供移动装置的可能最佳用户体验,维持移动装置的每一存储器装置的每一存储器裸片的全电力将是合乎逻辑的。然而,在这样做时,用户可能需要非常频繁地为移动装置的电池再充电。本发明的发明人已认识到仲裁多裸片受管理NAND装置的各种功能以使装置的操作符合电力预算同时尝试在电力预算内提供最佳用户体验的技术。
图5大体说明存储器控制器仲裁多个存储器裸片装置的裸片的启动及撤销启动以维持尽可能多的作用中裸片同时仍依据电力预算管理存储器装置的电力消耗的实例方法500的流程图。在某些实例中存储器控制器的仲裁电路可被编程有电力预算方案及可能的一或多个参数以指示可启动或供电多裸片NAND存储器装置的多少裸片且仍在电力预算内操作。在一些实例中,电力预算方案及参数可从在计划移动环境内对存储器装置的基准测试来导出。在501处,多裸片NAND存储器装置的裸片的子集可在作用中或启动以在电力预算内操作。在503处,可起始用于每一新作用中裸片的作用中定时器。在某些实例中,定时器的起始可包含保存时间戳、加载预设值及启用倒数定时器或计数器,或使计数器及定时器复位且启用计数器或定时器以开始累积时间或计数。在505处,可起始用于多裸片NAND存储器装置的每一新撤销启动的裸片的非作用中定时器。在507处,存储器控制器可开始将作用中存储器裸片的存储器请求投送到对应作用中存储器裸片或执行所述存储器请求。在某些实例中,存储器请求可累积及缓冲例如在移位寄存器、队列、平面队列等中。在509处,可评估作用中定时器以确定作用中裸片中的任一者是否已在作用中达预设间隔。
如果作用中裸片已在作用中达例如由与裸片相关联的到期作用中定时器所指示的预设间隔,则在511处,存储器控制器可撤销启动或停用作用中裸片,且在513处,可启用被确定为在非作用中达最长持续时间的非作用中裸片。如果作用中裸片的作用中定时器尚未到期,则在515处,可评估非作用中定时器以确定非作用中定时器中的任一者已到期。在某些实例中,可通过比较定时器的值与当前值来评估定时器。在一些实例中,可通过比较与启动定时器的时间相关联的定时器的时间戳与当前时间戳以提供定时器的持续时间来评估定时器。接着可比较所述持续时间与预定参数值以确定定时器是否已到期。在一些实例中,存储器控制器可在用于每一作用中裸片的作用中定时器尚未到期时且用于每一非作用中裸片的非作用中定时器尚未到期时继续投送或执行作用中存储器裸片的存储器请求。如本文中所使用,“启用”装置可包含例如通过使装置通电、从低功率、睡眠或待用模式切换到装置的较高功率模式、启动装置或允许装置操作或装置与另一装置之间的通信来向装置提供电力。如本文中所使用,“停用”装置可包含例如通过使装置失能、从高功率模式切换到装置的较低功率模式(例如睡眠或待用模式)、撤销启动或闲置装置或停止装置的操作或装置与另一装置之间的通信来移除装置的电力。
如果非作用中裸片已在非作用中达例如由到期非作用中定时器指示的存在间隔,则在517处,存储器控制器可撤销启动被确定为在作用中达最长持续时间的作用中裸片,且在519处,可启用与到期非作用中定时器相关联的非作用中裸片。以上仲裁方法可确保多裸片NAND存储器装置在电力预算内操作,同时尝试避免对任何一个裸片的存储器请求缓冲达延长的时间周期,因为使存储器裸片保持在非作用中可能最终导致总体系统的用户体验的劣化。在某些实例中,所述方法可表示单个时序电路或仲裁电路的连续指令集合。
图6大体说明存储器控制器仲裁多个存储器裸片装置的裸片的启动及撤销启动以维持尽可能多的作用中裸片同时仍依据电力预算管理存储器装置的电力消耗的替代实例方法600的流程图。在某些实例中,所述方法可针对每一作用中裸片复制,且与一或多个其它类似方法并行地运行。在601处,可启用裸片。所述裸片可为由存储器控制器控制的存储器系统的数个裸片中的一者。在任一时间处,存储器控制器可能有多个裸片被启用,且各自可执行方法600,其中“X”为所启用的特定裸片的占位符。在603处,可针对裸片(X)起动作用中定时器。在605处,存储器控制器可确定是否已缓冲裸片(X)的任何存储器请求。如果不存在用于裸片(X)的已缓冲存储器请求,则在617处,可停用裸片(X)。如果存在用于裸片(X)的待决的已缓冲存储器请求,则在609处,可开始执行存储器请求。在611处,在执行用于裸片(X)的存储器请求时,可监视及评估作用中定时器。在某些实例中,每一裸片可保持在作用中达预定间隔。在某一实例中,预定间隔为由裸片中的每一者共享的固定持续时间。在一些实例中,预定间隔为动态的,且可基于对裸片的历史存取或对存储在裸片上的数据类型的了解而改变。
如果用于裸片(X)的作用中定时器已过去或到期,则在617处,可停用裸片(X)。如果用于裸片(X)的作用中定时器尚未到期,则在613处,存储器控制器可通过评估任何裸片是否具有到期的停用定时器来评估任何其它裸片是否已停用或在非作用中达过长时间。如果被停用或在非作用中的裸片的停用定时器全部未到期,则在605处,存储器控制器可继续使裸片(X)执行任何经缓冲命令。如果另一裸片的停用定时器已到期,则在615处,存储器控制器可评估裸片(X)与存储器系统的其它作用中裸片相比是否已在作用中达最长时间。如果裸片(X)尚未启用或在作用中的时间比任何其它当前作用中裸片都长,则在605处,存储器控制器可继续使裸片(X)执行任何经缓冲命令。如果裸片(X)已在作用中的时间比任何其它当前作用中裸片都长,则在617处,存储器控制器可停用裸片(X),起始与裸片(X)相关联的停用定时器,且可在619处结束所述方法,直到裸片(X)再次变得在作用中。
在某些实例中,控制器可监视经缓冲命令的持续时间在缓冲区或队列中,且可在经缓冲命令已在缓冲区中达延长的预定持续时间时发出闲置限制指示。在接收到闲置限制指示时,存储器控制器可启动与经缓冲命令相关联的存储器裸片(如果已经不在作用中),且可允许裸片保持在作用中直到执行经缓冲命令,而不管存储器裸片的作用中定时器是否到期。在某些实例中,可能需要撤销启动存储器裸片以适应经缓冲命令的执行且遵从电力预算。
本发明的发明人已认识到经配置以与图5和6的机制相比提供对存储器装置的电力估计及管理的更精细的解决方案的替代仲裁机制。在某些实例中,相对于图7及8论述的技术可与图5和6的技术组合使用。
再次,作为一实例,依靠电池壳操作的移动存储装置具有与电池相关联的电力递送网路,其在时间及总电流容量方面可提供有限的峰值功率响应性。移动NAND存储装置可通过在NAND装置层级处执行多平面读取命令来对通道执行系统读取操作,且可通过跨越并联的某一组NAND装置在NAND装置层级处执行多平面写入命令来对通道执行系统写入操作。系统读取与写入操作可具有不同功率分布,因此混合模式操作(其中主机业务为读取与写入命令的混合)在峰值功率角度可能难以在有限电力预算内进行管理。
图7及8的实例技术提供例如用于存储器控制器(例如图1或图2的控制器115、215)的NAND测序仪的仲裁机制,所述存储器控制器可监视及评估来自主机的例如通过FTL转译为NAND操作的传入工作负荷或存储器请求,使得允许所有NAND通道及那些通道上的所有NAND装置在给定时间间隔期间执行读取命令或写入命令,但不同时执行两者。
在某些实例中,读取命令的电力消耗分布可包含在感测操作期间的电流尖峰,且接着为在从存储器装置到主机的数据传送期间的恒定电流电平。一般来说,NAND读取在传送数据之前执行感测操作。在一些实例中,在编程算法使用一组脉冲来将数据推送到NAND单元上时,编程或写入命令的电力消耗分布可包含在从主机到存储器装置的数据传送期间的平稳电力消耗,且接着为重复峰值。一般来说,NAND写入操作在将数据推送或编程到NAND单元之前传送数据。
在于时间间隔期间对NAND阵列一起执行读取操作及写入操作时,传送数据的时间与感测或编程算法处于峰值电流操作的时间的混合可能是复杂的。在常规方法中,为符合电力预算,控制器将对于数个并行作用中裸片及跨越那些裸片的操作排序估计对准数据传送、感测操作及编程操作的最差情形。此类悲观算法可能会显著限制总体性能。
在某些实例中,裸片或裸片堆叠及相关联通道内的NAND装置阵列在特定时间间隔内可能限于仅执行读取命令,且接着在第二时间间隔内切换成限于仅执行写入命令。在某些实例中,存储器控制器可使作用中通道的只读模式与只写模式交替以缓解任何特定的经缓冲读取命令或写入命令待决延长的时间的问题。应理解,存储器装置的每一通道的写入命令及读取命令的电力消耗分布可用基准问题测试且良好地理解。因此,存储器装置的实例模态操作(其中在所确定的间隔期间,通道的所有操作为相同类型),可由控制器针对读取模式及写入模式确定高度优化的个别作用中裸片计数及命令排序方案,使得每一模式提供高性能,同时符合电力预算。
图7大体说明用于在实例仲裁方案下操作通道以使存储器系统的操作符合电力预算的实例方法700的流程图。在某些实例中,方法700可允许存储器装置的更高利用率同时还符合电力预算。在701处,可在第一间隔内经由存储器装置的第一通道执行第一类型的多个同种的主机请求的NAND存储器操作,例如读取操作。在703处,可监视第一间隔的到期。如果第一间隔未到期或完成,则在701处,可继续在第一通道上执行第一类型的命令。如果第一间隔到期,则在705处,可在第二间隔内经由第一通道起始第二类型的多个同种的主机请求的NAND存储器操作,例如写入操作。在707处,可监视第二间隔的到期。如果第二间隔未到期或完成,则在705处,可继续在第一通道上执行第二类型的命令。如果第二间隔到期,则所述方法可重复。在某些实例中,所述方法可在存储器装置的多个通道上并行地运行。在一些实例中,存储器控制器可启用或停用耦合到每一通道的存储器裸片以允许存储器装置在给定电力预算内操作。在一些实例中,存储器控制器可启用存储器装置的通道及从执行方法700停用所述通道以使存储器装置的操作符合电力预算。
图8大体说明用于仲裁受管理NAND存储器装置中的工作负荷,使得可满足装置的电力预算的实例方法的流程图。在某些实例中,所述方法可与图4或图5的方法中的一者组合以提供对电力消耗估计的较精细的解决方案。此类估计可允许存储器装置的更高利用率,同时还符合电力预算。在某些实例中,在801处,所述方法可启动存储器系统的一或多个通道。在某些实例中,启动通道可包含对于每一通道起始图7的方法700。在803处,所述方法可包含基于作用中通道的数目及每一作用中通道上的每一命令类型的间隔调度来确定电力估计值。在805处,可将所述估计值与电力预算进行比较以提供电力预算错误。在807处,可调整作用中通道的数目、每一作用中通道上的每一命令类型的间隔调度或其组合以减小电力预算错误。举例来说,如果电力预算错误指示存储器装置比电力预算所允许的电力使用的电力多,则可减小通道的数目,或可调整间隔的调度以减少电力使用。在某些实例中,所述方法可包含例如基于关于图5和6论述的技术仲裁作用中裸片。
本发明的发明人已认识到经配置以与图7及8的机制相比提供对于存储器系统的电力估计及管理的更精细的解决方案的额外仲裁机制。在某些实例中,相对于图9和10论述的技术可与图5到8的技术组合使用。
图9大体说明操作存储器系统以符合电力预算的实例方法900的流程图。在某些实例中,电力预算可能限制可自存储器系统获得的最大性能。图9的仲裁方法通过使特定快闪存储器操作分裂成若干分量且调度所述分量以尽可能多地利用电力预算来允许存储器裸片的混合操作。不同于图4到8的实例,存储器操作分量可允许对电力消耗估计的较精细的解决方案。不同于图7及8的实例,图9和10的实例技术对混合命令执行的允许可通过不使主机缺乏某一类型的存储器请求而辅助提供更好性能或至少提供更好用户体验。
如上文所论述,读取命令的电力消耗分布可在感测操作期间包含电流的尖峰或峰值,且接着在从存储器装置到主机的数据传送期间包含恒定电流电平。一般来说,NAND读取在传送数据之前执行感测操作。在一些实例中,在编程算法使用一组脉冲来将数据推送到NAND单元上时,编程或写入命令的电力消耗分布可包含在从主机到存储器装置的数据传送期间的平稳电力消耗,且接着为重复峰值或尖峰。一般来说,NAND写入操作在将数据推送或编程到NAND单元之前传送数据。在某些实例中,在数据传送期间,读取命令及写入命令的可包含电流尖峰的命令部分可比恒定电流部分使用的电力多。在其它实例中,例如在数据传送速率高时,读取及写入命令的恒定电流部分可比包含电流尖峰的命令部分使用的电力多。
在于时间间隔期间对NAND阵列一起执行读取操作及写入操作时,传送数据的时间与感测或编程算法处于峰值电流操作的时间的混合可能是复杂的。在常规方法中,为符合电力预算,控制器将对于数个并行作用中裸片及跨越那些裸片的操作排序估计对准数据传送、感测操作及编程操作的最差情形。此类悲观算法可能会显著限制总体性能。
关于图9所论述的技术允许存储器控制器个别地调度及命令数个存储器请求的分量以允许更严格的电力预算控制及操纵。在某些实例中,存储器请求可包含但不限于读取操作、写入操作及擦除操作。在某些实例中,读取操作可划分成两个分量:感测操作及读取传送。感测操作可用以感测NAND单元内到页缓冲区的数据的位值。读取传送可将所感测到的位值从页缓冲区移动到主机接口。在某些实例中,写入操作可划分成两个分量:写入传送及编程操作。写入传送可将数据从主机接口移动到NAND装置上的页缓冲区,且编程操作可将数据编程到NAND单元。图9的技术允许存储器控制器更有限地控制存储器系统的操作以便允许混合命令执行。
在某些实例中,存储器控制器可接收可周期性地更新的阈值电力预算值。在一些实例中,电力预算阈值可针对存储器系统,在其它实例中,电力预算阈值可针对存储器装置、存储器裸片、存储器阵列,或针对存储器控制器与数个存储器裸片之间的通道。此外,存储器控制器可包含装置或通道的各种状态寄存器以对瞬时功率使用进行监视及求和,且将总和与阈值电力预算值进行比较。存储器控制器可使用比较结果来仲裁存储器请求分量的调度及命令。在一些实例中,除了下文关于图9论述的技术之外,存储器控制器可使用与图4到8相关联的技术,以使存储器系统的操作符合给定电力预算。
在901处,存储器控制器可监视一或多个状态寄存器的改变。状态寄存器可指示是否已接收到新存储器请求、是否等待发布命令分量、命令分量是否已完成操作,或其组合。在903处,存储器控制器可确定命令分量的执行是否已终止。如果命令分量的执行已终止,则在905处,可递减电力状态寄存器以指示存储器装置的瞬时电力消耗已减小。如果命令分量的执行尚未终止,则在907处,存储器控制器可确定命令分量是否等待执行。如果分量不等待执行,则控制可返回到901处的检查状态改变。如果命令分量正等待执行,则在909处,可对与所述分量相关联的电力与指示瞬时电力消耗的状态寄存器求和,且可将总和与阈值电力预算进行比较以确定是否存在备用预算来允许所述分量执行。在某些实例中,备用预算可由从阈值电力预算值减去瞬时电力消耗的结果来指示。如果存在可用的备用电力预算,则在911处,可起始命令分量的执行,且在913处,可用所述总和更新状态寄存器以提供存储器装置的瞬时电力消耗的经更新状态。在某些实例中,方法900可使用电力消耗的进行中的估计来监视对电力预算的遵从性且尽可能多地使用电力预算。在某些实例中,可在电流消耗方面监视电力预算,在电压相对恒定时,电流消耗可非常良好地指示电力。在一些实例中,如果不存在备用预算来运行命令的第一分量,则存储器控制器可评估其它经缓冲命令以查看是否可在可用备用预算内执行另一命令分量。在例如总体电力预算阈值动态地降低的情境中,存储器系统可置于环路中,直到足够存储器操作完成以允许足够的备用预算来开始起始额外存储器操作或命令分量。
图10A及10B大体说明图9的技术的更详细实例,且包含用于在电力预算内操作受管理NAND存储器系统的实例1000的流程图。在1001处,受管理NAND存储器系统的存储器控制器可评估与主机存储器请求相关联的NAND存储器操作是否已完成。如果NAND存储器操作已完成,则所述方法可评估何类型的存储器操作已完成,且可更新瞬时电力消耗估计值。在1003处,存储器控制器可确定“感测”操作是否完成。感测操作可为NAND存储器响应于来自主机的读取请求的读取命令分量。“感测”操作可包含调节NAND存储器的特定导体以感测例如存储到页缓冲区的数据。特定量的电力可与执行“感测”操作相关联,因此在“感测”操作完成时,在1005处,可通过用与“感测”操作相关联的电力表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的电力消耗的瞬时指示。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
在1007处,存储器控制器可确定“编程”操作是否完成。“编程”操作可为NAND存储器响应于来自主机的写入请求的写入命令分量。“编程”操作可包含调节NAND存储器的特定导体以将数据从页缓冲区存储到例如原始NAND存储器电路的单元。特定量的电力可与执行“编程”操作相关联,因此在“编程”操作完成时,在1009处,可通过用与“编程”操作相关联的电力表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的电力消耗的瞬时指示。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
在1011处,存储器控制器可确定“传送到NAND”操作是否完成。“传送到NAND”操作可为NAND存储器响应于来自主机的写入请求的第二写入命令分量。“传送到NAND”操作可将数据从主机或主机接口移动到页缓冲区以供存储在NAND存储器电路中。在某些实例中,“传送到NAND”操作是在例如“编程”操作之前执行。特定量的电力可与执行“传送到NAND”操作相关联,因此在“传送到NAND”操作完成时,在1013处,可通过用与“传送到NAND”操作相关联的电力表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的电力消耗的瞬时指示。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
在1015处,存储器控制器可确定“从NAND传送”操作是否完成。“从NAND传送”操作可为NAND存储器响应于来自主机的读取请求的第二读取命令分量。“从NAND传送”操作可将数据从页缓冲区移动到主机或主机接口。在某些实例中,“从NAND传送”操作是在例如“感测”操作之后执行。特定量的电力可与执行“从NAND传送”操作相关联,因此在“从NAND传送”操作完成时,在1017处,可通过用与刚刚完成的“从NAND传送”操作相关联的电力表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的电力消耗的瞬时指示。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
在1015处,存储器控制器可确定“擦除”操作是否完成。“擦除”操作可修改NAND存储器电路或表以指示受管理NAND存储器的一或多个块可用于存储数据。特定量的电力可与执行“擦除”操作相关联,因此在“擦除”操作完成时,在1021处,可通过用与刚刚完成的“擦除”操作相关联的电力表示减去或递减寄存器来更新状态寄存器以提供受管理NAND存储器系统的电力消耗的瞬时指示。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
返回参考框1001,如果状态寄存器不指示存储器操作已完成,则在1023处,存储器控制器可确定“感测”操作是否正等待执行。在1025处,如果“感测”操作正等待执行,则存储器控制器可确定“感测”操作的执行是否可在不违反电力预算阈值的情况下实现。在某些实例中,可通过将与“感测”操作相关联的电力量相加到提供存储器系统的瞬时电力消耗的估计值的状态寄存器且将临时总和与电力预算阈值进行比较来实现此确定。如果临时总和小于电力预算阈值,则在1027处,可起始“感测”操作,且可将提供存储器系统的瞬时电力消耗的估计值的状态寄存器递增与“感测”操作相关联的电力量。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
如果在1025处,确定“感测”操作可能会违反电力预算阈值,如可由临时总和大于电力预算阈值所指示,或在1023处,“感测”命令不等待执行,则在1029处,存储器控制器可确定“编程”操作是否正等待执行。在1031处,如果“编程”操作正等待执行,则存储器控制器可确定“编程”操作的执行是否可在不违反电力预算阈值的情况下实现。在某些实例中,可通过将与“编程”操作相关联的电力量相加到提供存储器系统的瞬时电力消耗的估计值的状态寄存器且将临时总和与电力预算阈值进行比较来实现此确定。如果临时总和小于电力预算阈值,则在1033处,可起始“编程”操作,且可将提供存储器系统的瞬时电力消耗的估计值的状态寄存器递增与“编程”操作相关联的电力量。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
如果在1031处,确定“编程”操作可能会违反电力预算阈值,如可由临时总和大于电力预算阈值所指示,或在1029处,“编程”请求不等待执行,则在1035处,存储器控制器可确定“写入”操作或“传送到NAND”操作是否正等待执行。在1037处,如果“写入”操作正等待执行,则存储器控制器可确定“写入”操作的执行是否可在不违反电力预算阈值的情况下实现。在某些实例中,可通过将与“写入”操作相关联的电力量相加到提供存储器系统的瞬时电力消耗的估计值的状态寄存器且将临时总和与电力预算阈值进行比较来实现此确定。如果临时总和小于电力预算阈值,则在1039处,可起始“写入”操作,且可将提供存储器系统的瞬时电力消耗的估计值的状态寄存器递增与“写入”操作相关联的电力量。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
如果在1037处,确定“写入”操作可能会违反电力预算阈值,如可由临时总和大于电力预算阈值所指示,或在1035处,“写入”请求不等待执行,则在1041处,存储器控制器可确定“读取”操作或“从NAND传送”操作是否正等待执行。在1043处,如果“读取”操作正等待执行,则存储器控制器可确定“读取”操作的执行是否可在不违反电力预算阈值的情况下实现。在某些实例中,可通过将与“读取”操作相关联的电力量相加到提供存储器系统的瞬时电力消耗的估计值的状态寄存器且将临时总和与电力预算阈值进行比较来实现此确定。如果临时总和小于电力预算阈值,则在1045处,可起始“读取”操作,且可将提供存储器系统的瞬时电力消耗的估计值的状态寄存器递增与“读取”操作相关联的电力量。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
如果在1043处,确定“读取”操作可能会违反电力预算阈值,如可由临时总和大于电力预算阈值所指示,或在1041处,“读取”请求不等待执行,则在1047处,存储器控制器可确定“擦除”操作是否正等待执行。在1049处,如果“擦除”操作正等待执行,则存储器控制器可确定“擦除”操作的执行是否可在不违反电力预算阈值的情况下实现。在某些实例中,可通过将与“擦除”操作相关联的电力量相加到提供存储器系统的瞬时电力消耗的估计值的状态寄存器且将临时总和与电力预算阈值进行比较来实现此确定。如果临时总和小于电力预算阈值,则在1051处,可起始“擦除”操作,且可将提供存储器系统的瞬时电力消耗的估计值的状态寄存器递增与“擦除”操作相关联的电力量。在某些实例中,电流可表示电力,且可用作指示电力消耗的值。
在某些实例中,由于可相对精确地确定与操作中的每一者相关联的电力量,因此图9、10A及10B的技术可在给定电力预算内维持存储器系统的高水平的利用或性能。应理解,受管理NAND存储器系统可包含比图9、10A及10B的实例方法中所示的操作多或少的操作,而不脱离本发明的标的物。图10A和10B意味着作为控制器可给出的执行经缓冲请求及相关联操作的许多可能优先化的仅一个实例的特定优先化。在某些实例中,可调整图9、10A及10B的方法的条件之间的相对排序以满足不同应用优先级(例如,一个系统可能首先优先化读取操作,且尝试执行读取传送且首先发起感测操作;另一系统可能优先化I/O,且将读取及写入置于感测及编程之前;等)。应理解,操作的其它优先化是可能对,而不脱离本发明标的物的范围。
图11说明可在上面执行本文中论述的技术(例如,方法)中的任何一或多者的实例机器1100的框图。在替代实施例中,机器1100可作为独立装置而操作,或可连接(例如,联网)到其它机器。在联网部署中,机器1100可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的能力操作。在一实例中,机器1100可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器1100可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单一机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一个或多和(例如,云计算、软体即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可以随时间和基础硬件可变性而为灵活的。电路系统包含操作时可单独或组合地执行特定任务的部件。在一实例中,可将电路系统的硬件不变地设计成执行特定操作(例如,硬连线)。在一实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变质量粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件成分的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由可变连接产生硬件中的电路系统部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一者可以用于多于一个电路系统中的多于一个部件中。举例来说,在操作下,执行单元可以在一个时间点用于第一电路系统的第一电路,并且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)1100(例如,主机装置105、受管理存储器装置110等)可包含硬件处理器1102(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器1104和静态存储器1106,其中的一些或全部可经由互连件(例如,总线)1108彼此通信。机器1100可进一步包含显示单元1110、字母数字输入装置1112(例如键盘)和用户界面(UI)导览装置1114(例如鼠标)。在一实例中,显示单元1110、输入装置1112和UI导览装置1114可为触摸屏显示器。机器1100可另外包含存储装置(例如,驱动单元)、信号产生装置1118(例如,扬声器)、网络接口装置1120、一或多个传感器1116,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器1100可包含输出控制器1128,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
机器可读媒体1122可包含存储装置1121,所述存储装置上存储有体现本文中所描述的技术或功能中的任何一或多个或由本文中所描述的技术或功能中的任何一或多者利用的一或多组数据结构或指令1124(例如,软件)。指令1124还可在其由机器1100执行期间完全或至少部分地驻留于主存储器1104、静态存储器1106或硬件处理器1102内。在一实例中,硬件处理器1102、主存储器1104、静态存储器1106或存储装置1121中的一个或任何组合可构成机器可读媒体1122。
虽然机器可读媒体1122说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令1124的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓冲存储器和服务器)。
术语“机器可读媒体”可包含能够存储、编码或携载供机器1100执行且致使机器1100执行本公开的技术中的任何一或多种的暂时性或非暂时性指令或能够存储、编码或携载由此类指令使用或与此类指令相关联的数据结构的任何暂时性或非暂时性媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在一实例中,有质量的机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,有质量的机器可读媒体是非暂时性传播信号。有质量的机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令1124(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储装置1121上,可由存储器1104存取以供处理器1102使用。存储器1104(例如,DRAM)通常是快速但易失性的,且因此是不同于适用于长期存储(包含在处于“关断”状态时的存储)的存储装置1121(例如,SSD)的类型的存储装置。供用户或机器1100使用的指令1124或数据通常加载在存储器1104中,以供处理器1102使用。在存储器1104满时,存储装置1121的虚拟空间可经分配以补充存储器1104;然而,由于存储装置1121通常比存储器1104慢且写入速度通常比读取速度慢至少两倍,因此归因于存储装置时延(相比于存储器1104,例如DRAM),虚拟存储器的使用可能极大地降低用户体验。此外,用于虚拟存储器的存储装置1121的使用可能会极大地减少存储装置1121的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置1121的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置1121为止。虚拟存储器压缩增加存储器1104的可用大小,同时减少存储装置1121上的磨损。
针对移动电子装置或移动存储装置而优化的存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡,等)。MMC装置包含与主机装置的若干并行接口(例如,8位并行接口),且通常为可从主机装置移除及分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求持续增加,以便完全实现虚拟或增强现实装置、利用增加的网络速度等。响应于这种需求,存储装置已从并行转换到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
可进一步利用数个传送协议中的任一者(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置1120使用传输媒体在通信网络1126上发射或接收指令1124。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气电子工程师学会(IEEE)802.11系列标准、称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络等等。在一实例中,网络接口装置1120可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络1126。在一实例中,网络接口装置1120可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器1100执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。附图借助于说明示出具体实施例,其中可实践本发明的主题。这些实施例在本文中也称为“实例”。此类实例可包含除了所示出或所描述的那些元件之外的元件。然而,本发明的发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可包含存储于物理装置上的物理电路系统或固件等。如本文所使用,“处理器”意味着任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、控制电路系统、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含一组处理器或多核心装置。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称作“直接”在另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,则除非另有指示,否则所述两个元件可耦合或直接耦合。
将理解,术语“模块”(例如,回写模块)可指代用于执行或经配置以执行所描述的功能的软件和电路系统的任何组合。“模块”可指可编程装置、不可编程装置、ASIC、PLD、FGPA或经配置以执行所描述功能的其它专用或特定电路系统或硬件元件。“模块”可指经配置以执行所描述功能的软件(例如,一或多个计算机可读指令、代码或在计算机或处理器或控制电路系统上运行的程序)。
本文所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含用可操作以配置电子装置以执行如以上实例中所描述的方法的暂时性或非暂时性指令编码暂时性或非暂时性计算机可读媒体或机器可读媒体。这类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码或类似物。此类代码可包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可移除式磁盘、可移除式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置,及类似物。
上文所描述的装置和技术的额外实例如下:
实例1为一种存储器装置其包括:多个存储器裸片,每一存储器裸片包含多个存储器平面,且其中每一存储器平面可独立于其它存储器平面接收并处理存储器命令;以及控制器,其经配置以缓冲并触发所述存储器命令的执行,以独立地使所述多个存储器裸片中的每一存储器裸片通电及断电、为经缓冲存储器命令加时间戳且基于经缓冲存储器命令的时间戳使所述多个存储器裸片通电及断电。
在实例2中,实例1的标的物,其中所述存储器装置包含NAND存储器。
在实例3中,实例1到2中任一者的标的物,其中所述控制器经配置以估计所述存储器装置的能量消耗、比较估计值与预定能量预算以提供能量错误,且基于所述经缓冲存储器命令的所述时间戳或所述能量错误使所述多个存储器裸片通电及断电。
在实例4中,实例1到3中任一者的标的物,其中所述控制器经配置以确定所述多个存储器裸片中的每一经通电存储器裸片的通电间隔,且基于所述经缓冲存储器命令的所述时间戳及一或多个经通电存储器裸片的所述通电间隔来使所述多个存储器裸片通电及断电。
在实例5中,实例1到4中任一者的标的物,其中所述控制器包含用于所述多个存储器裸片中的每一存储器裸片的队列,其经配置以存储用于对应存储器裸片的每一经缓冲命令的指示、确定最长经缓冲命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
在实例6中,实例5的标的物,其中所述控制器经配置以接收所述闲置限制指示、响应于所述闲置限制指示而开始缓冲最长通电裸片的命令。
在实例7中,实例6的标的物,其中所述控制器经配置以确定所述最长通电裸片何时变得闲置、使所述最长通电裸片断电、使与所述最长经缓冲命令相关联的第二裸片通电,且将相应队列的经缓冲命令传输到所述第二裸片。
在实例8中,实例1到7中任一者的标的物,其中所述控制器包含用于所述多个存储器裸片中的每一存储器平面的存储器队列,每一存储器平面队列经配置以存储用于对应存储器平面的每一经缓冲命令的指示、确定最长经缓冲命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
在实例9中,实例8的标的物,其中所述控制器经配置以接收所述闲置限制指示,且响应于所述闲置限制指示而开始缓冲最长通电裸片的命令。
在实例10中,实例9的标的物,其中所述控制器经配置以确定所述最长通电裸片何时变得闲置、使所述最长通电裸片断电、使与所述最长经缓冲命令相关联的第二裸片通电,且响应于所述第二裸片的通电而传输与所述闲置限制指示相关联的存储器平面队列的经缓冲命令。
在实例11中,实例10的标的物,其中所述控制器经配置以传输所述第二裸片的每一存储器平面队列的经缓冲命令。
实例12为一种方法,其包括:启用具有多个存储器裸片的存储器系统的存储器裸片子集;起动用于每一作用中存储器裸片的作用中定时器;基于与经缓冲存储器命令相关联的时间戳在每一作用中裸片处起始所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的电力预算的遵从性。
在实例13中,实例12的标的物,其中起动作用中定时器包含起动用于所述存储器系统的每一被停用存储器裸片的撤销启动定时器。
在实例14中,实例13的标的物,其包含在第一撤销启动定时器到期时,确定所述存储器裸片子集中的最长作用中存储器裸片。
在实例15中,实例12到14中任一者的标的物,其包含停用所述最长作用中存储器裸片以及起动与所述最长作用中存储器裸片相关联的撤销启动时间。
在实例16中,实例15的标的物,其包含使用用于所述存储器系统的每一被停用存储器裸片的所述撤销启动定时器来确定最长被停用存储器裸片。
在实例17中,实例16的标的物,其包含启动所述最长被停用存储器裸片以提供新启动的存储器裸片,以及起动与新作用中存储器裸片相关联的作用中定时器。
实例18为一种机器可读媒体,其包含用于NAND存储器系统的电力管理的指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作,所述操作包括:启用具有多个存储器裸片的存储器系统的存储器裸片子集;起动用于每一作用中存储器裸片的作用中定时器;基于与经缓冲存储器命令相关联的时间戳在每一作用中裸片处起始所述经缓冲存储器命令的执行;以及在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时停用所述第一裸片,以维持对所述存储器系统的电力预算的遵从性。
在实例19中,实例18的标的物,其中起动作用中定时器包含起动用于所述存储器系统的每一被停用存储器裸片的撤销启动定时器。
在实例20中,实例19的标的物,其中,在第一撤销启动定时器到期时,所述操作包含:确定所述存储器裸片子集中的最长作用中存储器裸片;停用所述最长作用中存储器裸片以提供新撤销启动的存储器裸片;起动与所述新撤销启动的存储器裸片相关联的撤销启动时间;使用用于所述存储器系统的每一被停用存储器裸片的所述撤销启动定时器确定最长被停用存储器裸片;以及启动所述最长被停用存储器裸片以提供新启动的存储器裸片且起动与新作用中存储器裸片相关联的作用中定时器。
实例21为一种方法,其包括:在第一间隔内在存储器装置的第一通道处起始第一类型的第一多个主机请求的NAND存储器操作;以及在完成所述第一间隔时,在第二间隔内在第一多平面存储器裸片处执行第二类型的第二多个同种的主机请求的NAND存储器操作。
在实例22中,实例21的标的物,其中所述主机请求的NAND存储器操作的所述第一类型为具有在第一电力电平下的命令电力峰值继之以在第二电力电平下的输出数据传送的NAND读取操作;且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:排他性地执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令电力峰值在时间上交错。
在实例23中,实例22的标的物,其中所述主机请求的NAND存储器操作的所述第二类型为具有在第三电力电平下的接收数据传送继之以在第四电力电平下的多个命令电力峰值的NAND写入操作;且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间排他性地执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令电力峰值在时间上交错。
在实例24中,实例23的标的物,其中所述第三电力电平小于所述第四电力电平。
在实例25中,实例23到24中任一者的标的物,其中所述第二电力电平小于所述第一电力电平。
在实例26中,实例21到25中任一者的标的物,其中所述主机请求的NAND存储器操作的所述第一类型为具有在第一电力电平下的接收数据传送继之以在第二电力电平下的多个命令电力峰值的NAND写入操作;且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间排他性地执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令电力峰值在时间上交错。
在实例27中,实例26的标的物,其中所述主机请求的NAND存储器操作的所述第二类型为具有在第三电力电平下的命令电力峰值继之以在第四电力电平下的输出数据传送的NAND读取操作;且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间排他性地执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令电力峰值在时间上交错。
在实例28中,实例27的标的物,其中所述第四电力电平小于所述第三电力电平。
在实例29中,实例27到28中任一者的标的物,其中所述第一电力电平小于所述第二电力电平。
实例30为一种NAND存储器系统,其包括:多个NAND多平面存储器阵列,其中每一存储器阵列经配置以并行地同时处理读取请求及写入请求;控制器,其经配置以从主机装置接收存储器请求且使用所述多个NAND多平面存储器阵列在电力预算内服务于所述请求,其中所述存储器请求可包含读取请求及写入请求;其中所述存储器控制器进一步经配置以对于给定多平面存储器阵列,在第一间隔内起始对所述给定多平面存储器阵列的多个仅读取请求,且在所述第一间隔之后的第二间隔内起始对所述给定多平面存储器阵列的多个仅写入请求以使所述NAND存储器系统的操作符合所述电力预算;且其中所述多个NAND多平面存储器阵列中的所有所述NAND多平面存储器阵列在处理存储器请求时的同时操作经配置以超过所述电力预算。
在实例31中,实例30的标的物,其中所述控制器经配置以缓冲所述存储器请求以提供经缓冲读取请求及经缓冲写入请求,且起始及终止所述第一间隔及所述第二间隔以符合所述电力预算。
在实例32中,实例31的标的物,其中所述存储器控制器经配置以启用及停用所述多个多平面存储器阵列的子集以使所述NAND存储器系统的操作符合所述电力预算,且改善任何一个经缓冲读取请求或任何一个经缓冲写入请求的待决性。
实例33为一种机器可读媒体,其包含用于NAND存储器系统的电力管理的指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作,所述操作包括:在第一间隔内在存储器装置的第一通道处起始第一类型的第一多个主机请求的NAND存储器操作;以及在完成所述第一间隔时,在第二间隔内在第一多平面存储器裸片处执行第二类型的第二多个主机请求的NAND存储器操作。
在实例34中,实例33的标的物,其中所述主机请求的NAND存储器操作的所述第一类型为具有在第一电力电平下的命令电力峰值继之以在第二电力电平下的输出数据传送的NAND读取操作;且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间排他性地执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令电力峰值在时间上交错。
在实例35中,实例34的标的物,其中所述主机请求的NAND存储器操作的所述第二类型为具有在第三电力电平下的接收数据传送继之以在第四电力电平下的多个命令电力峰值的NAND写入操作;且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间排他性地执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令电力峰值在时间上交错。
在实例36中,实例35的标的物,其中所述第三电力电平小于所述第四电力电平;且其中所述第二电力电平小于所述第一电力电平。
在实例37中,实例33到36中任一者的标的物,其中所述主机请求的NAND存储器操作的所述第一类型为具有在第一电力电平下的接收数据传送继之以在第二电力电平下的多个命令电力峰值的NAND写入操作;且其中所述起始所述第一类型的所述第一多个主机请求的NAND存储器操作包含:在所述第一间隔期间排他性地执行多个NAND写入操作;以及使所述多个NAND写入操作中的每一NAND写入操作的所述多个命令电力峰值在时间上交错。
在实例38中,实例37的标的物,其中所述主机请求的NAND存储器操作的所述第二类型为具有在第三电力电平下的命令电力峰值继之以在第四电力电平下的输出数据传送的NAND读取操作;且其中所述起始所述第二类型的所述第二多个主机请求的NAND存储器操作包含:在所述第二间隔期间排他性地执行多个NAND读取操作;以及使所述多个NAND读取操作中的每一NAND读取操作的所述命令电力峰值在时间上交错。
在实例39中,实例38的标的物,其中所述第四电力电平小于所述第三电力电平;且其中所述第一电力电平小于所述第二电力电平。
在实例40中,实例39的标的物,其中所述操作包含启用及停用所述NAND存储器系统的多个多平面存储器阵列的子集以使所述NAND存储器系统的操作符合所述电力预算,以及改善在所述NAND存储器系统处从主机接收的任何一个经缓冲读取请求或任何一个经缓冲写入请求的待决性。
实例41为一种方法,其包括:在NAND存储器系统的电力管理电路处接收用于NAND存储器操作的操作改变指示;对电力信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时电力消耗的指示作为所述第一寄存器的所述值,其中,在所述操作改变指示为第一操作完成指示时,所述对电力信用进行求和包含对负第一电力信用与所述第一寄存器的值进行求和以提供瞬时电力消耗的所述指示;且其中,在所述操作改变指示为第一新命令指示时,所述方法包含:对正第一电力信用与瞬时电力消耗的所述指示的总和与第一电力预算进行比较以提供第一总和;如果所述第一总和小于所述第一电力预算,则递增瞬时电力消耗的所述指示与所述第一电力信用;以及如果所述第一总和大于所述第一电力预算,则不递增瞬时电力消耗的所述指示与所述第一电力信用。
在实例42中,实例41的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于例如主机的缓冲区的缓冲区的数据编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作。
在实例43中,实例41到42中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据从所述NAND存储器系统的主机接口传送到缓冲区的写入传送操作。
在实例44中,实例41到43中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以感测所述NAND存储器系统的NAND存储器阵列的单元到缓冲区的状态的感测操作。
在实例45中,实例41到44中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据跨越通信通道从NAND缓冲区传送到主机的读取传送操作。
在实例46中,实例41到45中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
在实例47中,实例41到46中任一者的标的物,其中所述电力信用为相关联于与所述第一操作改变指示相关联的第一操作的电流值。
实例48为一种NAND存储器系统,其包括:多个NAND存储器阵列,其中每一存储器阵列经配置以并行地同时处理读取请求及写入请求;控制器,其经配置以从主机装置接收存储器请求且使用所述多个NAND存储器阵列在电力预算内服务于所述请求;其中所述控制器进一步经配置以:在NAND存储器系统的电力管理电路处接收用于NAND存储器操作的操作改变指示;对电力信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时电力消耗的指示作为所述第一寄存器的所述值,其中,在所述操作改变指示为第一操作完成指示时,所述电力信用包含负第一电力信用;且其中,在所述操作改变指示为第一新命令指示时,所述控制器经配置以:对第一总和与第一电力预算进行比较,所述第一总和包含正第一电力信用及瞬时电力消耗的所述指示;在所述第一总和小于所述第一电力预算时,递增瞬时电力消耗的所述指示与所述第一电力信用;以及在所述第一总和大于所述第一电力预算时,不修改瞬时电力消耗的所述指示与所述第一电力信用。
在实例49中,实例48的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于缓冲区的数据编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作。
在实例50中,实例48到49中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据跨越通信通道从主机传送到NAND缓冲区的写入传送操作。
在实例51中,实例48到50中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以感测所述NAND存储器系统的NAND存储器阵列的单元到缓冲区的状态的感测操作。
在实例52中,实例48到51中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据跨越通信通道从NAND缓冲区传送到主机的读取传送操作。
在实例53中,实例48到52中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
在实例54中,实例48到53中任一者的标的物,其中所述电力信用为相关联于与所述第一操作改变指示相关联的第一操作的电流值。
实例55为一种机器可读媒体,其包含用于NAND存储器系统的电力管理的指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作,所述操作包括:在NAND存储器系统的电力管理电路处接收用于NAND存储器操作的操作改变指示;对电力信用和与所述操作改变指示相关联的第一寄存器的值进行求和以提供所述NAND存储器系统的瞬时电力消耗的指示作为所述第一寄存器的所述值,其中,在所述操作改变指示为第一操作完成指示时,所述对电力信用进行求和包含对负第一电力信用与所述第一寄存器的值进行求和以提供瞬时电力消耗的所述指示;且其中,在所述操作改变指示为第一新命令指示时,所述方法包含:对正第一电力信用与瞬时电力消耗的所述指示的总和与第一电力预算进行比较以提供第一总和;如果所述第一总和小于所述第一电力预算,则递增瞬时电力消耗的所述指示与所述第一电力信用;以及如果所述第一总和大于所述第一电力预算,则不递增瞬时电力消耗的所述指示与所述第一电力信用。
在实例56中,实例55的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以基于缓冲区的数据编程所述NAND存储器系统的NAND存储器阵列的单元的编程操作。
在实例57中,实例55到56中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据从所述NAND存储器系统的主机接口传送到缓冲区的写入传送操作。
在实例58中,实例55到57中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以感测所述NAND存储器系统的NAND存储器阵列的单元到缓冲区的状态的感测操作。
在实例59中,实例55到58中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含经配置以将数据从缓冲区传送到所述NAND存储器系统的主机接口的读取传送操作。
在实例60中,实例55到59中任一者的标的物,其中与所述第一操作改变指示相关联的第一操作包含擦除操作。
实例61为一种方法,其包括:在存储器系统的电力管理电路处接收用于第一存储器存取操作的第一存储器请求,所述第一存储器存取操作在所述存储器系统的第一部分内的位置处;相对于用于所述存储器系统的至少所述第一部分的预算电力消耗中的可用电力消耗评估与执行所述第一存储器存取操作相关联的第一电力负荷;确定与执行所述所请求的第一存储器存取操作相关联的所述第一电力负荷在用于所述存储器系统的至少所述第一部分的所述可用电力消耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例62中,实例61的标的物包含:在所述存储器系统的所述电力管理电路处接收用于第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的位置处;相对于用于所述存储器系统的至少所述第一部分的预算电力消耗的可用电力消耗评估与执行所述第二存储器存取操作相关联的第二电力负荷;确定与执行所述所请求的第二存储器存取操作相关联的所述第二电力负荷在用于所述存储器系统的至少所述第一部分的可用电力消耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算电力消耗中的可用电力消耗足以使得能够执行所述所请求的第二存储器存取操作。
在实例63中,实例61到62的标的物包含,其中所述预算电力消耗是针对所述存储器系统内的个别存储器装置而建立。
在实例64中,实例61到63的标的物包含,其中所述预算电力消耗是针对所述存储器系统内的一或多个存储器装置的通道而建立。
在实例65中,实例61到64的标的物包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的可用电力的减少。
在实例66中,实例61到65的标的物包含,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的所述可用电力的增大。
在实例67中,实例61到66的标的物包含,其中所述预算电力消耗中的所述可用电力维护在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时电力消耗的值。
在实例68中,实例67的标的物包含,其中相对于所述可用电力消耗评估所述第一电力负荷包括对所述第一电力负荷与所述存储器系统的至少所述第一部分中的瞬时电力消耗的所述值进行求和以及将求和值与所述预算电力消耗进行比较。
实例69为一种存储器系统,其包括:多个存储器裸片;控制器,其用一或多个通道耦合到所述多个存储器裸片中的每一存储器裸片,所述控制器经配置以接收多个存储器请求且使用所述多个存储器裸片在电力预算内服务于所述请求;其中所述存储器控制器包含电力管理电路系统,所述电力管理电路系统经配置以:接收所述多个存储器请求中对于在所述存储器系统的第一部分内的位置处的第一存储器存取操作的第一存储器请求;相对于用于所述存储器系统的至少所述第一部分的预算电力消耗中的可用电力消耗评估与执行所述第一存储器存取操作相关联的第一电力负荷;确定与执行所述所请求的第一存储器存取操作相关联的所述第一电力负荷在用于所述存储器系统的至少所述第一部分的所述可用电力消耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例70中,实例69的标的物包含,其中所述电力管理电路进一步经配置以:接收所述多个存储器请求中对于在所述存储器系统的所述第一部分内的位置处的第二存储器存取操作的第二请求;相对于用于所述存储器系统的至少所述第一部分的所述预算电力消耗中的所述可用电力消耗评估与执行所述第二存储器存取操作相关联的第二电力负荷;确定与执行所述所请求的第二存储器存取操作相关联的所述第二电力负荷在用于所述存储器系统的至少所述第一部分的所述可用电力消耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算电力消耗中的可用电力消耗足以使得能够执行所述所请求的第二存储器存取操作。
在实例71中,实例69到70的标的物包含,其中所述预算电力消耗是针对所述多个存储器裸片中的个别存储器裸片而建立。
在实例72中,实例69到71的标的物包含,其中所述预算电力消耗是针对所述多个存储器裸片中的一或多个存储器裸片的通道而建立。
在实例73中,实例69到72的标的物包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的可用电力的减少。
在实例74中,实例69到73的标的物包含,其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的所述可用电力的增大。
在实例75中,实例69到74的标的物包含,其中所述预算电力消耗中的所述可用电力维护在第一寄存器中,从而提供指示所述存储器系统的至少所述第一部分中的瞬时电力消耗的值。
在实例76中,实例75的标的物包含,其中相对于所述可用电力消耗评估所述第一电力负荷包括对所述第一电力负荷与所述存储器系统的至少所述第一部分中的瞬时电力消耗的所述值进行求和以及将求和值与所述预算电力消耗进行比较。
实例77为一种机器可读媒体,其包括用于NAND存储器系统的电力管理的指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作,所述操作包括:接收所述多个存储器请求中对于在所述存储器系统的第一部分内的位置处的第一存储器存取操作的第一存储器请求;相对于用于所述存储器系统的至少所述第一部分的预算电力消耗中的可用电力消耗评估与执行所述第一存储器存取操作相关联的第一电力负荷;确定与执行所述所请求的第一存储器存取操作相关联的所述第一电力负荷在用于所述存储器系统的至少所述第一部分的所述可用电力消耗内;以及响应于此确定,执行所述所请求的第一存储器存取操作。
在实例78中,实例77的标的物包含:在所述存储器系统的所述电力管理电路处接收用于第二存储器存取操作的第二请求,所述第二存储器存取操作在所述存储器系统的所述第一部分内的位置处;相对于用于所述存储器系统的至少所述第一部分的预算电力消耗的可用电力消耗评估与执行所述第二存储器存取操作相关联的第二电力负荷;确定与执行所述所请求的第二存储器存取操作相关联的所述第二电力负荷在用于所述存储器系统的至少所述第一部分的可用电力消耗外;以及缓冲所述所请求的第二存储器存取操作,直到所述预算电力消耗中的可用电力消耗足以使得能够执行所述所请求的第二存储器存取操作。
在实例79中,实例77到78的标的物包含,其中执行所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的可用电力的减少;且其中完成所述第一存储器存取操作导致所述存储器系统的至少所述第一部分的所述预算电力消耗中的所述可用电力的增大。
在实例80中,实例77到79的标的物包含,其中所述预算电力消耗是针对所述多个存储器裸片中的一或多个存储器裸片的通道而建立。
实例81为至少一个机器可读媒体,其包含指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作以实施实例1到80中的任一者。
实例82为一种包括用于实施实例1到80中的任一者的构件的设备。
实例83为一种用于实施实例1到80中的任一者的系统。
实例84为一种实施实例1到80中的任一者的方法。
上文描述意欲为说明性的,而非限定性的。本发明标的物的范围应通过参考所附权利要求书以及此类权利要求书所赋予的等效物的完整范围来确定。
Claims (20)
1.一种存储器系统,其包括:
多个存储器裸片;以及
控制器,其经配置以:
缓冲存储器请求且对其加时间戳,
基于所述存储器请求的时间戳及所述多个存储器裸片中的作用中裸片将存储器命令发布到所述多个存储器裸片,及
响应于经缓冲存储器请求的时间戳而独立地启用及停用所述多个存储器裸片中的一或多个存储器裸片。
2.根据权利要求1所述的存储器系统,其中所述存储器系统包含NAND存储器。
3.根据权利要求1所述的存储器系统,其中所述控制器经配置以估计所述存储器系统的能量消耗、比较估计值与预定能量预算以提供能量错误,且基于所述能量错误启用及停用所述多个存储器裸片。
4.根据权利要求1所述的存储器系统,其中所述控制器经配置以确定所述多个存储器裸片中的每一经启用存储器裸片的启用间隔,且至少基于所述经缓冲存储器命令的所述时间戳及一或多个经启用存储器裸片的所述启用间隔而启用及停用所述多个存储器裸片中的一或多者。
5.根据权利要求1所述的存储器系统,其中所述控制器包含用于所述多个存储器裸片中的每一存储器裸片的队列,其经配置以存储用于对应存储器裸片的每一经缓冲存储器命令的指示、确定最长经缓冲存储器命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
6.根据权利要求5所述的存储器系统,其中所述控制器经配置以接收所述闲置限制指示,且响应于所述闲置限制指示而开始缓冲最长经启用裸片的存储器请求。
7.根据权利要求6所述的存储器系统,其中所述控制器经配置以确定所述最长经启用裸片何时变得闲置、停用所述最长经启用裸片、启用与所述最长经缓冲存储器命令相关联的第二裸片,且基于相应队列的包含所述最长经缓冲存储器请求的所述经缓冲存储器请求将命令发布到所述第二裸片。
8.根据权利要求1所述的存储器系统,其中每一存储器裸片包含多个存储器平面;
其中每一存储器平面可独立于其它存储器平面接收并处理存储器命令;且
其中所述控制器包含用于所述多个存储器裸片的每一存储器平面的存储器队列,每一存储器平面队列经配置以存储用于对应存储器平面的每一经缓冲存储器命令的指示、确定最长经缓冲存储器命令的缓冲持续时间,且在所述缓冲持续时间超过预定闲置阈值时将闲置限制指示提供到所述控制器。
9.根据权利要求8所述的存储器系统,其中所述控制器经配置以接收所述闲置限制指示,且响应于所述闲置限制指示而开始发布最长经启用裸片的存储器请求。
10.根据权利要求9所述的存储器系统,其中所述控制器经配置以确定所述最长经启用裸片何时变得闲置、停用所述最长经启用裸片、启用与所述最长经缓冲存储器命令相关联的第二裸片,且响应于所述第二裸片的启用状态而基于与所述闲置限制指示相关联的存储器平面队列的所缓冲命令来将命令发布到所述第二裸片。
11.根据权利要求10所述的存储器系统,其中所述控制器经配置以基于所述第二裸片的每一存储器平面队列的所述经缓冲命令来将命令发布到所述第二裸片。
12.一种方法,其包括:
缓冲存储器系统的存储器请求且对其加时间戳以提供经缓冲存储器请求;
启用所述存储器系统的存储器裸片子集,所述存储器系统具有多个存储器裸片;
起动用于所述存储器裸片子集中的所述经启用存储器裸片的作用中定时器;
基于所述经缓冲存储器请求中的经缓冲存储器请求的时间戳来将命令发布到所述子集中的经启用存储器裸片;以及
在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时,停用所述第一裸片以维持对所述存储器系统的电力预算的遵从性。
13.根据权利要求12所述的方法,其中起动作用中定时器包含起动用于所述存储器系统的一或多个被停用存储器裸片的闲置定时器。
14.根据权利要求13所述的方法,其包含在第一闲置定时器到期时,确定所述存储器裸片子集中的最长经启用存储器裸片。
15.根据权利要求12所述的方法,其包含停用所述最长经启用存储器裸片以及起动与最长作用中存储器裸片相关联的闲置定时器。
16.根据权利要求15所述的方法,其包含使用用于所述存储器系统的一或多个未启用存储器裸片的所述闲置定时器确定最长闲置存储器裸片。
17.根据权利要求16所述的方法,其包含启用所述最长闲置存储器裸片以提供新启用的存储器裸片,以及起动与所述新启用的存储器裸片相关联的作用中定时器。
18.一种机器可读媒体,其包含用于NAND存储器系统的电力管理的指令,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作,所述操作包括:
启用具有多个存储器裸片的存储器系统的存储器裸片子集;
起动用于所述多个存储器裸片中的所述经启用存储器裸片的作用中定时器;
基于与经缓冲存储器命令相关联的时间戳在一或多个经启用裸片处起始所述经缓冲存储器命令的执行;以及
在用于所述存储器裸片子集中的第一存储器裸片的所述作用中定时器到期时,停用所述第一裸片以维持对所述存储器系统的电力预算的遵从性。
19.根据权利要求18所述的机器可读媒体,其中起动作用中定时器包含起动用于所述存储器系统的一或多个被停用存储器裸片的闲置定时器。
20.根据权利要求19所述的机器可读媒体,其中在第一闲置定时器到期时,所述操作包含确定所述存储器裸片子集中的最长经启用存储器裸片;
停用所述最长经启用存储器裸片以提供新的被停用存储器裸片;
起动与所述新的被停用存储器裸片相关联的闲置定时器;
使用用于所述一或多个被停用存储器裸片的所述闲置定时器确定最长被停用存储器裸片;以及
启用所述最长被停用存储器裸片以提供新启用的存储器裸片,以及起动与所述新启用的存储器裸片相关联的作用中定时器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862786764P | 2018-12-31 | 2018-12-31 | |
US62/786,764 | 2018-12-31 | ||
US16/293,227 | 2019-03-05 | ||
US16/293,227 US11194511B2 (en) | 2018-12-31 | 2019-03-05 | Arbitration techniques for managed memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111383679A true CN111383679A (zh) | 2020-07-07 |
Family
ID=71122946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911411887.2A Pending CN111383679A (zh) | 2018-12-31 | 2019-12-31 | 用于管理存储器的仲裁技术 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11194511B2 (zh) |
CN (1) | CN111383679A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194511B2 (en) | 2018-12-31 | 2021-12-07 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11237617B2 (en) | 2018-12-31 | 2022-02-01 | Micron Technology, Inc. | Arbitration techniques for managed memory |
CN114201423A (zh) * | 2020-09-17 | 2022-03-18 | 美光科技公司 | 用于存储器装置中的多个并发存取操作的功率预算仲裁 |
CN114550782A (zh) * | 2020-11-19 | 2022-05-27 | 美光科技公司 | 用于存储器装置的初始化技术 |
US11687277B2 (en) | 2018-12-31 | 2023-06-27 | Micron Technology, Inc. | Arbitration techniques for managed memory |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381269B2 (ja) * | 2019-09-20 | 2023-11-15 | キオクシア株式会社 | ストレージコントローラ、ストレージ装置及びストレージ装置の制御方法 |
CN113261060B (zh) * | 2021-03-31 | 2023-10-27 | 长江存储科技有限责任公司 | 功率管理机制和具有所述功率管理机制的存储器件 |
US11907547B2 (en) * | 2021-04-30 | 2024-02-20 | Micron Technology, Inc. | Power management |
US11899963B2 (en) * | 2022-03-11 | 2024-02-13 | Micron Technology, Inc. | Suspension during a multi-plane write procedure |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120185187A1 (en) * | 2011-01-13 | 2012-07-19 | Deeya Energy, Incorporated | Communications system |
US20130262745A1 (en) * | 2012-03-30 | 2013-10-03 | Gary Lin | Memory System with Command Queue Reordering |
US20160139639A1 (en) * | 2014-11-18 | 2016-05-19 | HGST Netherlands B.V. | Resource allocation and deallocation for power management in devices |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210304A1 (en) | 2003-06-26 | 2005-09-22 | Copan Systems | Method and apparatus for power-efficient high-capacity scalable storage system |
CN100527047C (zh) | 2004-12-14 | 2009-08-12 | 松下电器产业株式会社 | 电子装置及其相关峰值功率控制方法 |
US7487371B2 (en) | 2005-12-16 | 2009-02-03 | Nvidia Corporation | Data path controller with integrated power management to manage power consumption of a computing device and its components |
US9477586B1 (en) | 2011-11-03 | 2016-10-25 | Altera Corporation | Power-aware memory controller circuitry |
US9223373B2 (en) | 2012-03-21 | 2015-12-29 | Hgst Technologies Santa Ana, Inc. | Power arbitration for storage devices |
US8938630B2 (en) | 2012-07-30 | 2015-01-20 | Micron Technology, Inc. | Apparatus power control |
US9405355B2 (en) | 2012-08-21 | 2016-08-02 | Micron Technology, Inc. | Memory operation power management by data transfer time adjustment |
US9727248B2 (en) * | 2014-02-05 | 2017-08-08 | Apple Inc. | Dynamic IO operation timeout assignment for a solid state drive |
US9293176B2 (en) * | 2014-02-18 | 2016-03-22 | Micron Technology, Inc. | Power management |
US9658789B2 (en) | 2014-08-05 | 2017-05-23 | Sandisk Technologies Llc | Storage module and method for optimized power utilization |
US20160070327A1 (en) | 2014-09-08 | 2016-03-10 | Qualcomm Incorporated | System and method for peak current management to a system on a chip |
US20160091957A1 (en) | 2014-09-26 | 2016-03-31 | Suketu R. Partiwala | Power management for memory accesses in a system-on-chip |
US9734098B2 (en) * | 2015-03-31 | 2017-08-15 | Sandisk Technologies Llc | Memory bus management |
US20160372160A1 (en) | 2015-06-16 | 2016-12-22 | Sandisk Technologies Inc. | Memory System and method for power management |
US9418712B1 (en) | 2015-06-16 | 2016-08-16 | Sandisk Technologies Llc | Memory system and method for power management using a token bucket |
US10665305B2 (en) | 2015-09-09 | 2020-05-26 | Toshiba Memory Corporation | Host device connectable to memory device performing patrol read and memory device performing patrol read |
US9977487B2 (en) | 2015-09-22 | 2018-05-22 | Samsung Electronics Co., Ltd. | Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives |
US9760311B1 (en) | 2016-06-23 | 2017-09-12 | Sandisk Technologies Llc | Storage system and method for adaptive thermal throttling |
US20180181186A1 (en) * | 2016-12-27 | 2018-06-28 | Paul S. Diefenbaugh | Buffering data from high-speed i/o to enable longer reduced power consumption state residency |
US11029859B2 (en) * | 2017-08-23 | 2021-06-08 | Toshiba Memory Corporation | Credit based command scheduling |
US10228746B1 (en) | 2017-12-05 | 2019-03-12 | Western Digital Technologies, Inc. | Dynamic distributed power control circuits |
US10372373B1 (en) | 2018-01-29 | 2019-08-06 | Western Digital Technologies, Inc. | Adaptive power balancing for memory device operations |
US11307778B2 (en) * | 2018-03-09 | 2022-04-19 | Kioxia Corporation | Power management for solid state drives in a network |
US10732897B2 (en) * | 2018-07-03 | 2020-08-04 | Western Digital Technologies, Inc. | Quality of service based arbitrations optimized for enterprise solid state drives |
US10739839B2 (en) * | 2018-09-24 | 2020-08-11 | Western Digital Technologies, Inc. | Efficient power management stand-by modes for multiple dies in a storage device |
KR20200036627A (ko) | 2018-09-28 | 2020-04-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10732900B2 (en) * | 2018-10-24 | 2020-08-04 | Western Digital Technologies, Inc. | Bounded latency and command non service methods and apparatus |
US11194511B2 (en) | 2018-12-31 | 2021-12-07 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11237617B2 (en) | 2018-12-31 | 2022-02-01 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11687277B2 (en) | 2018-12-31 | 2023-06-27 | Micron Technology, Inc. | Arbitration techniques for managed memory |
-
2019
- 2019-03-05 US US16/293,227 patent/US11194511B2/en active Active
- 2019-12-31 CN CN201911411887.2A patent/CN111383679A/zh active Pending
-
2021
- 2021-12-02 US US17/540,546 patent/US11914897B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120185187A1 (en) * | 2011-01-13 | 2012-07-19 | Deeya Energy, Incorporated | Communications system |
US20130262745A1 (en) * | 2012-03-30 | 2013-10-03 | Gary Lin | Memory System with Command Queue Reordering |
US20160139639A1 (en) * | 2014-11-18 | 2016-05-19 | HGST Netherlands B.V. | Resource allocation and deallocation for power management in devices |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194511B2 (en) | 2018-12-31 | 2021-12-07 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11237617B2 (en) | 2018-12-31 | 2022-02-01 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11687277B2 (en) | 2018-12-31 | 2023-06-27 | Micron Technology, Inc. | Arbitration techniques for managed memory |
US11914897B2 (en) | 2018-12-31 | 2024-02-27 | Micron Technology, Inc. | Arbitration techniques for managed memory |
CN114201423A (zh) * | 2020-09-17 | 2022-03-18 | 美光科技公司 | 用于存储器装置中的多个并发存取操作的功率预算仲裁 |
CN114550782A (zh) * | 2020-11-19 | 2022-05-27 | 美光科技公司 | 用于存储器装置的初始化技术 |
US11657878B2 (en) | 2020-11-19 | 2023-05-23 | Micron Technology, Inc. | Initialization techniques for memory devices |
Also Published As
Publication number | Publication date |
---|---|
US20220091788A1 (en) | 2022-03-24 |
US20200210107A1 (en) | 2020-07-02 |
US11194511B2 (en) | 2021-12-07 |
US11914897B2 (en) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237617B2 (en) | Arbitration techniques for managed memory | |
US11625176B2 (en) | Managed NVM adaptive cache management | |
US11914897B2 (en) | Arbitration techniques for managed memory | |
US20220129168A1 (en) | Slc-tlc-mlc cache management | |
US20210124519A1 (en) | Ufs based idle time garbage collection management | |
US11687277B2 (en) | Arbitration techniques for managed memory | |
US11687340B2 (en) | Managed multiple die memory QoS | |
US10991436B2 (en) | Dynamic delay of NAND read commands | |
CN113168377A (zh) | Slc高速缓存分配 | |
CN113126740A (zh) | 管理降低功率的存储器操作 | |
US10747441B2 (en) | Efficient allocation of storage connection resources | |
US10424382B2 (en) | Increased NAND performance under high thermal conditions |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200707 |