CN112116931B - 固态驱动(ssd)系统的智能省电模式 - Google Patents
固态驱动(ssd)系统的智能省电模式 Download PDFInfo
- Publication number
- CN112116931B CN112116931B CN202010215684.2A CN202010215684A CN112116931B CN 112116931 B CN112116931 B CN 112116931B CN 202010215684 A CN202010215684 A CN 202010215684A CN 112116931 B CN112116931 B CN 112116931B
- Authority
- CN
- China
- Prior art keywords
- standby mode
- memory
- memory dies
- die
- dies
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000007787 solid Substances 0.000 title claims abstract description 13
- 230000015654 memory Effects 0.000 claims abstract description 412
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 3
- 239000007788 liquid Substances 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 19
- 238000012360 testing method Methods 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000009529 body temperature measurement Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000005415 magnetization Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007784 solid electrolyte Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910017629 Sb2Te3 Inorganic materials 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical group [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000010922 spray-dried dispersion Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
- 239000010937 tungsten Substances 0.000 description 1
Classifications
-
- 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/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/141—Battery and back-up 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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2227—Standby or low power modes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Power Engineering (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
对于由多个存储器裸片形成的固态驱动器(SSD)或其它存储器系统,呈现了用于在待机模式中操作的技术,其中增加了功率节省。所述存储器裸片可在常规待机模式和低功率待机模式中操作。基于在所述常规待机模式中所述存储器裸片中的每一个的电流量,当装置进入待机时,当处于所述常规待机模式时汲取较高电流量的所述存储器裸片改为处于所述低功率待机模式。在所述常规待机模式中所述存储器裸片中的每一个汲取的所述电流量可在裸片排序时或作为存储器测试过程的一部分而针对所述存储器裸片中的每一个确定,或者可以通过组装好的SSD自身来确定。
Description
技术领域
背景技术
半导体存储器广泛应用于各种电子装置,如蜂窝电话、数码相机、个人数字助理、医疗电子器件、移动计算装置、服务器、固态驱动、非移动计算装置和其它装置。半导体存储器可以包括非易失性存储器或易失性存储器。非易失性存储器允许存储和保留信息,即使非易失性存储器没有连接到电源(例如电池)。非易失性存储器的实例包含快闪存储器(例如,NAND型和NOR型快闪存储器)。
固态驱动(SSD)是一种固态存储装置,它使用非易失性集成电路存储器组合件作为存储器来持久地存储大量数据。相对于其它大容量存储,SSD的优点在于它的低功耗。因此,可以通过为此类装置引入进一步的功率节省来进一步提高SSD的实用性。
发明内容
附图说明
编号相似的元件在不同图中指代共同组件。
图1是连接到主机的存储器系统的一个实施例的框图。
图2是前端处理器电路的一个实施例的框图。在一些实施例中,前端处理器电路是控制器的一部分。
图3是后端处理器电路的一个实施例的框图。在一些实施例中,后端处理器电路是控制器的一部分。
图4是存储器封装的一个实施例的框图。
图5是存储器裸片的一个实施例的框图
图6示出当存储器裸片、控制器元件和固件处于待机省电算法时SSD功率特性的实施例的一些主要元件。
图7是图1至5的存储器系统的简化表示,示出了在图6中表示的元件的布置。
图8是描述用于在裸片排序或存储器测试级下监测待机电流(Iccs)并将其记录到存储器裸片的ROM中的过程的一个实施例的流程图。
图9示出存储器裸片基于它们的待机电流值进行的分仓。
图10是描述将一组存储器裸片组装到SSD中的过程的一个实施例的流程图,所述SSD并有对各个存储器裸片的Iccs值的了解。
图11是描述使SSD单独确定它的组成存储器裸片的Iccs电平的过程的一个实施例的流程图。
图12是描述使用组成存储器裸片的Iccs值进行的驱动电平待机功率管理的过程的一个实施例的流程图。
图13是描述使存储器系统处于深度待机模式的过程的一个实施例的流程图。
图14是描述选择性地使存储器系统的存储器裸片脱离深度待机模式的过程的一个实施例的流程图。
具体实施方式
省电是固态驱动的一个重要特性,也是SSD相对于硬盘驱动(HDD)的一个重要优势。这尤其适用于客户端和移动应用程序,其中当存储器装置未实际使用时,待机功率应尽可能低。SDD和其它非易失性存储器系统通常包含数个单独的存储器电路。由于不同集成存储器电路之间的待机电流(Iccs)的变化,SSD中使用的裸片可以汲取不同量的Iccs。当SSD被构建时,SSD中使用的每个裸片的Iccs通常是未知的,但是通常封装级泄漏电流需要低于阈值,阈值通过存储器测试决定。如果SSD知晓实际应用中每个裸片的Iccs值,从而选择性地调整裸片的Iccs以实现最佳待机模式省电,同时不引入长时延,则这种情况可以得到改善。然而,这会涉及到SSD知晓来自每个裸片的Iccs量,以及如何进一步改进在NAND裸片级下的SSD待机功率减小。
下面介绍如何处理这个SSD设计问题,以实现实时调整、基于机器学习的省电。这项技术使用了对每个驱动的存储器裸片的待机电流或Iccs的了解,其中这些值可以在裸片排序或存储器测试级下针对每个存储器裸片而确定,并存储在存储器裸片的ROM中,在那里驱动的控制电路可以存取这些值。或者,存储器驱动本身可以通过将存储器裸片设置为低功率、深度待机模式来确定每个存储器裸片的Iccs值,并测量存储器裸片所汲取的组合电流。在保持所有其它存储器裸片处于低功率深度待机模式的同时,存储器裸片一次一个地设置为常规待机,以确定可以归因于特定裸片处于常规待机模式的驱动的累积Iccs的相对增加。
当它的组成存储器裸片的Iccs值已知时,在SSD的功率待机模式中,驱动的控制器可向存储器裸片发出低功率深度待机模式命令,所述存储器裸片在处于正常待机模式中时具有相对较高的Iccs值,而具有较低Iccs值的其它存储器裸片可以设置成处于正常待机模式。这种确定可随着温度而改变。当驱动脱离待机模式时,只有选定的NAND裸片可以脱离深度待机模式,而不是使所有存储器裸片都脱离深度待机,从而进一步增加功率节省。
图1是连接到主机120的存储器系统100的一个实施例的框图。存储器系统100可实施本文中针对智能省电模式所提议的技术。存储器系统100包含控制器102,所述控制器102利用对应级别的ECC编码数据流,将流形成为ECC码字,将码字形成为页,并将页传送到存储器封装104以便写入到存储器中。许多不同类型的存储器系统可以与本文中所提议的技术一起使用。示例存储器系统包含固态驱动(“SSD”)、存储卡和嵌入式存储器装置;但是,还可使用其它类型的存储器系统。
图1的存储器系统100包括控制器102、用于存储数据的非易失性存储器104和本地存储器(例如,DRAM/ReRAM)106。控制器102包括前端处理器(FEP)电路110和一个或多个后端处理器(BEP)电路112。在一个实施例中,FEP电路110实施于ASIC上。在一个实施例中,每个BEP电路112实施于单独的ASIC上。在其它实施例中,通用控制器ASIC可组合前端和后端功能。在一个实施例中,BEP电路112和FEP电路110中的每一个的ASIC实施于相同的半导体上,使得控制器102制造为芯片上系统(“SoC”)。FEP电路110和BEP电路112均包含它们自身的处理器。在一个实施例中,FEP电路110和BEP电路112充当主从配置,其中FEP电路110是主控装置,每个BEP电路112是从属装置。例如,FEP电路110实施执行存储器管理(例如,垃圾数据收集、耗损均衡等)、逻辑到物理地址转换、与主机120的通信、DRAM(本地易失性存储器)的管理和SSD(或其它非易失性存储系统)的总体操作的管理的快闪转换层(FTL)或介质管理层(MML)。BEP电路112在FEP电路110请求时管理存储器封装/裸片中的存储器操作。例如,BEP电路112可实施读取、擦除和编程过程。另外,BEP电路112可执行缓冲器管理,设置FEP电路110所需要的特定电压电平,执行错误校正(ECC),控制到存储器封装的转换模式接口等等。在一个实施例中,每个BEP电路112负责它自己的一组存储器封装。
在一个实施例中,存储器封装104的非易失性存储器包括多个存储器封装。每个存储器封装包含一个或多个存储器裸片。因此,控制器102连接到一个或多个非易失性存储器裸片。在一个实施例中,存储器封装104中的每个存储器裸片利用NAND快闪存储器(例如,二维NAND快闪存储器和/或三维NAND快闪存储器)。在其它实施例中,存储器封装可包含其它类型的存储器。
控制器102通过接口130与主机120通信,接口130实施PCI快速(PCIe)上NVM快速(NVMe)。为了与存储器系统100合作,主机120包含沿着总线128连接的主机处理器122、主机存储器124和PCIe接口126。主机存储器124是主机的物理存储器,并且可为DRAM、SRAM、非易失性存储器或另一类型的存储装置。在一个实施例中,主机120在存储器系统100外部且与其分离。在另一实施例中,存储器系统100嵌入在主机120中。
图2是FEP电路110的一个实施例的框图。图2示出与主机120通信的PCIe接口150和与所述PCIe接口150通信的主机处理器152。主机处理器152可以是本领域中已知的适于实施的任何类型的处理器。主机处理器152与芯片上网络(NOC)154通信。NOC是集成电路上的通信子系统,通常在SoC中的芯之间。NOC可横跨同步和异步时钟域或使用非时控异步逻辑。NOC技术向芯片上通信应用联网理论和方法,并产生优于常规总线和交叉开关互连件的显著改进。相较于其它设计,NOC改进了SoC的可扩展性和复杂SoC的功率效率。NOC 154的线路和链路由许多信号共享。因为NOC 154中的所有链路都可在不同数据包上同时操作,所以实现了高度并行性。因此,随着集成子系统的复杂性不断增长,NOC提供了相比先前通信架构(例如,专用点到点信号线路、共享总线或具有桥的分段总线)增强的性能(例如,吞吐量)和可扩展性。连接到NOC154且与其通信的是存储器处理器156、SRAM 160和DRAM控制器162。DRAM控制器162用于操作DRAM(例如,DRAM 106)并与其通信。SRAM 160是供存储器处理器156使用的本地RAM存储器。存储器处理器156用于运行FEP电路并执行各种存储器操作。并且,与NOC 154通信的是两个PCIe接口164和166。在图2的实施例中,SSD控制器将包含两个BEP电路112;因此,存在两个PCIe接口164/166。每个PCIe接口与BEP电路112中的一个通信。在其它实施例中,可存在多于或少于两个BEP电路112;因此,可存在超过两个PCIe接口。
FEP电路110还可包含快闪转换层(FTL)或更一般地包含执行存储器管理(例如,垃圾数据收集、耗损均衡、负载均衡等)、逻辑到物理地址转换、与主机的通信、DRAM(本地易失性存储器)的管理和SSD或其它非易失性存储系统的总体操作的管理的介质管理层(MML)158。介质管理层MML 158可以集成为可处理存储器错误存储器管理的一部分,并且可与主机介接。具体地说,MML 158可以是FEP电路110中的模块,并且可以负责存储器管理的内部构件。具体地说,MML 158可包含存储器装置固件中将来自主机的写入转换成到裸片的存储器结构(例如,下文图5的326)的写入的算法。可能需要MML 158,因为:1)存储器的耐久性可为有限的;2)存储器结构只能以多页写入;和/或3)除非存储器结构作为块被擦除,否则它无法写入。MML 158理解存储器结构的这些潜在限制,但是主机可能无法看到这些限制。因此,MML 158尝试将来自主机的写入转换成到存储器结构中的写入。
图3是BEP电路112的一个实施例的框图。图3示出用于与FEP电路110通信(例如,与图2的PCIe接口164和166中的一个通信)的PCIe接口200。PCIe接口200与两个NOC 202和204通信。在一个实施例中,这两个NOC可以组合成一个大型NOC。每个NOC(202/204)通过XOR引擎(224/254)和ECC引擎(226/256)连接到SRAM(230/260)、缓冲器(232/262)、处理器(220/250)和数据路径控制器(222/252)。ECC引擎226/256用于执行错误校正,如本领域中已知。SRAM 230/260是供存储器处理器220/250使用的本地RAM存储器。XOR引擎224/254用于对数据进行XOR运算,使得数据可以一种在存在编程错误的情况下可以恢复的方式进行组合和存储。数据路径控制器222连接到接口模块,以通过四个通道与存储器封装通信。因此,顶部NOC 202与用于与存储器封装通信的四个通道的接口228相关联,且底部NOC 204与用于与存储器封装通信的四个额外通道的接口258相关联。每个接口228/258包含四个转换模式接口(TM接口)、四个缓冲器和四个调度器。每一个通道具有一个调度器、缓冲器和TM接口。处理器可以是本领域中已知的任何标准处理器。数据路径控制器222/252可以是处理器、FPGA、微处理器或其它类型的控制器。在某些实施例中,XOR引擎224/254和ECC引擎226/256是专用硬件电路,被称为硬件加速器。在其它实施例中,XOR引擎224/254和ECC引擎226/256可以在软件中实施。下文关于“竖直ECC”的使用来进一步论述ECC引擎224/254的实施例。调度器、缓冲器和TM接口是硬件电路。
图4是包含连接到存储器总线(数据线和芯片启用线)294的多个存储器裸片292的存储器封装104的一个实施例的框图。存储器总线294连接到转换模式接口296,用于与BEP电路112(例如,见图3)的TM接口通信。在一些实施例中,存储器封装104可包含连接到存储器总线和TM接口的小型控制器。存储器封装104可具有一个或多个存储器裸片292。在一个实施例中,每个存储器封装104包含八个或16个存储器裸片;但是,还可实施其它数目个存储器裸片。本文中所描述的技术不限于任何特定数目个存储器裸片。
图5是存储器裸片300(例如,图4中的存储器裸片292)的一个实施例的功能框图。图5中描绘的组件是电路。在一个实施例中,每个存储器裸片300包含存储器结构326、控制电路系统310和读取/写入电路328。存储器结构326可通过字线经由行解码器324和通过位线经由列解码器332来寻址。读取/写入电路328包含多个感测块350,包含SB1、SB2、……、SBp(感测电路系统),并且允许存储器单元页并行读取或编程。命令和数据通过线318在控制器102(图1中)和存储器裸片300之间传送。在一个实施例中,存储器裸片300包含连接到线318的一组输入和/或输出(I/O)引脚。
控制电路系统310与读取/写入电路328配合以对存储器结构326执行存储器操作(例如,写入、读取等),并且包含状态机312、芯片上地址解码器314、功率控制电路316和温度传感器电路317。状态机312提供存储器操作的裸片级控制。在一个实施例中,状态机312可通过软件编程。在其它实施例中,状态机312不使用软件,且完全在硬件(例如,电路)中实施。在另一实施例中,状态机312替换为微型控制器。在一个实施例中,控制电路系统310包含缓冲器,例如寄存器、ROM 315和用于存储基电压和其它参数等默认值的其它存储装置。在一些实施例中,在可存储于存储器裸片的ROM中的值当中的是存储器裸片的待机电流值(Iccs),如下文更详细地论述。温度传感器电路317检测存储器裸片300处的当前温度。
芯片上地址解码器314提供供控制器102使用的地址到供解码器324和332使用的硬件地址之间的地址接口。功率控制模块316控制在存储器操作期间供应给字线和位线的功率和电压。功率控制模块316可包含用于形成电压的电荷泵。感测块包含位线驱动器。
出于本文的目的,短语“一个或多个控制电路”是指控制器(例如,102)、状态机(例如,312)、微型控制器和/或控制电路系统(例如,310)或用于控制非易失性存储器的其它类似电路。
在一个实施例中,存储器结构326包括非易失性存储器单元的三维存储器阵列,其中多个存储器层级在例如晶片的单个衬底上方形成。存储器结构326可包括在具有安置在硅(或其它类型的)衬底上方的有源区域的存储器单元的一个或多个物理层级中整体形成的任何类型的非易失性存储器。在一个实例中,非易失性存储器单元包括具有电荷捕获材料的竖直NAND串,例如以全文引用的方式并入本文中的美国专利9,721,662中所描述。
在另一实施例中,存储器结构326包括非易失性存储器单元的二维存储器阵列。在一个实例中,非易失性存储器单元是利用浮动栅极的NAND快闪存储器单元,例如以全文引用的方式并入本文中的美国专利9,082,502中所描述。还可使用其它类型的存储器单元(例如,NOR型快闪存储器)。
包含在存储器结构326中的存储器阵列架构或存储器单元的精确类型不限于上文实例。许多不同类型的存储器阵列架构或存储器技术可用于形成存储器结构326。出于本文中所提议的新的要求保护的实施例的目的,不需要任何特定的非易失性存储器技术。存储器结构326的存储器单元的合适技术的其它实例包含ReRAM存储器、磁阻存储器(例如,MRAM、自旋转移力矩MRAM、自旋轨道力矩MRAM)、相变存储器(例如,PCM)等等。存储器结构326的存储器单元架构的合适技术的实例包含二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列等等。
ReRAM或PCM交叉点存储器的一个实例包含布置成通过X线和Y线(例如,字线和位线)存取的交叉点阵列的可逆电阻开关元件。在另一实施例中,存储器单元可包含导电桥存储器元件。导电桥存储器元件还可被称作可编程金属化单元。基于固体电解质内离子的物理重定位,导电桥存储器元件可用作状态改变元件。在一些情况下,导电桥存储器元件可包含两个固体金属电极,一个是相对惰性的(例如,钨),另一个是电化学活性的(例如,银或铜),其中这两个电极之间具有固体电解质的薄膜。当温度增加时,离子的移动性也增加,使得导电桥存储器单元的编程阈值减小。因此,导电桥存储器元件可随着温度改变而具有各种编程阈值。
磁阻存储器(MRAM)通过磁存储元件存储数据。元件由通过薄绝缘层间隔开两个铁磁板形成,每一个铁磁板可具有一磁化强度。这两个板中的一个是设置成特定极性的永久磁体;另一个板的磁化强度可以改变以匹配外部场的磁化强度从而存储数据。存储器装置由此类存储器单元的网格构建。在编程的一个实施例中,每一存储器单元位于一对布置成彼此垂直且平行于单元的写入线之间,一个写入线在单元上方,一个写入线在单元下方。当电流穿过它们时,形成感生磁场。
相变存储器(PCM)利用硫属玻璃的独特特性。一个实施例使用GeTe-Sb2Te3超晶格通过简单地改变锗原子与激光脉冲(或来自另一来源的光脉冲)的协调状态来实现非热相变。因此,编程是用激光脉冲进行的。通过阻止存储器单元接收光,可以抑制存储器单元。在其它PCM实施例中,存储器单元由电流脉冲编程。应注意,在本文件中使用“脉冲”不需要是矩形脉冲,但包含声音、电流、电压光或其它波的(连续或非连续)振动或突发。
所属领域的普通技术人员将认识到,本文中所描述的技术不限于单个特定存储器结构,而是覆盖在如本文中所描述且如所属领域的普通技术人员所理解的本技术的精神和范围内的许多相关存储器结构。
在SSD或其它存储器系统100的设计中,功耗是一个重要因素。省电是SSD的一个重要特性,也是它们相对于硬盘驱动的优势之一。这尤其适用于其中待机功率需要尽可能低的客户端和移动应用程序。SSD由数个单独的NAND快闪存储器裸片等存储器裸片形成。由于快闪存储器待机电流(Iccs)的变化,在SSD中使用的NAND裸片可以显示不同量的Iccs。当SSD被构建时,SSD中使用的每个裸片的Iccs通常并不为人所知,但是通常情况下,封装级泄漏电流需要低于特定阈值,所述阈值可以通过存储器测试来确定。
如果SSD知晓实际应用中每个组成裸片的Iccs量,那么它可以选择性地调整各个裸片的Iccs,以在待机模式下优化省电,同时不引入长时延。以前,SSD在实际应用中不知道各个存储器裸片的Iccs值,因此,也不知道如何在存储器裸片级下提高SSD的待机功耗。下面介绍处理此SSD设计问题的技术,以实现实时调整、基于机器学习的省电。SSD以前没有使用任何特定的对策来降低待机功率,或者,如果它们使用了,那么它们可以通过在待机模式下降低从电源到所有存储器裸片的电压(Vcc)来做到这一点;但是,尚不存在此处所示的基于机器学习的省电模式。
尽管以下论述主要是在具有数个NAND快闪存储器型的存储器裸片的固态驱动的上下文中呈现的,但是单独存储器裸片还可基于上文所描述的其它非易失性存储器技术,例如MRAM或相变存储器(PCM)。这些技术也可应用于其它存储器系统,例如DRAM。更一般来说,这些技术可以在具有数个单独集成电路的系统中应用,所述数个单独集成电路由一个电源共同供应,且在待机模式中汲取在这些集成电路之间会发生变化的电流电平。
图6示出用于SSD改进功率特性的实施例的一些主要元件,示出了待机省电算法所涉及的存储器裸片、控制器元件和固件。图6的示意性表示包含向SSD的其它元件供电的功率模块集成电路(PMIC)601。尽管此处呈现为SSD的单独集成电路,但是在其它实施例中,这可以是控制器ASIC上的模块。如在下文中更详细描述的,PMIC 601可具有待机电流Iccs监测的逐裸片映射。
SSD或其它存储器系统还包含多个存储器裸片611,例如在图5处所示的那些。每一个裸片可以在常规待机模式中操作,例如当对应芯片启用(CE)撤销确证时。存储器裸片中的每一个还具有深度待机模式,其可由为此目的的特殊命令启用。在常规待机模式中,当它的CE撤销确证时,存储器裸片将准备好在其对应的CE重新确证时做出响应。当存储器裸片的CE撤销确证时,存储器裸片通常还能执行各种后台操作,包含内务处理操作,例如后台擦除操作或垃圾数据收集。在深度待机中,存储器裸片只维持在唤醒命令的情况下恢复所需要的那些功能。在深度待机中,不具有后台操作或功率循环,并且裸片上的大多数电路元件将关闭,除了控制电路310中对使裸片脱离深度待机并准备好执行命令的命令做出响应所需要的一些元件。
存储器裸片的实施例还可包含温度监测器617(对应于图5的温度传感器317),用于监测集成电路上的温度。待机电流Iccs通常取决于装置的温度,大体上随着装置温度的升高而增加。如在下文呈现的流程中所论述,在一些实施例中,不同存储器裸片的温度变化可用于确定将哪些存储器裸片以及将多少存储器裸片设置成深度待机。
一个或多个控制器ASIC(例如,图1的102)上的元件可包含ASIC温度监测器631,控制器可使用ASIC温度监测器631来选择使存储器裸片中的哪一个处于深度待机。控制器还可包含NAND命令定序器633,所述NAND命令定序器633可选择性地通过撤销确证存储器芯片的CE信号而发出常规待机命令或在将SSD设置成待机模式时向存储器装置的存储器电路发出特定深度待机命令,以及其它命令。控制器还可包含用于管理PMIC 601的操作的功率管理模块635。如所提到,在一些实施例中,PMIC功能可以是单独的PMIC 601,在其它实施例中,这些可以是单个控制器ASIC的部分。
上文所描述的图6的所有元件都与待机省电算法621通信。基于来自图6的其它模块的输入,省电算法621可基于各个存储器裸片的特性,在一些实施例中还基于温度,确定PMIC 601和NAND命令定序器633的操作,以将SSD设置成待机模式并选择要使其处于(常规)待机的存储器电路和要使其处于深度待机模式的存储器电路。待机省电算法621以及NAND命令定序器633和功率管理模块635可由156等控制器处理器和后端处理器220/250通过固件以不同方式实施。更一般来说,这些功能可以通过固件、软件和硬件元件中的一个或多个的各种组合来实施。
图7是图1至5的存储器系统的简化表示,示出了在图6中表示的元件的布置。图6是待机操作所涉及的SSD的功率模块(硬件和固件)之间的交互的示意性表示。图7示出可以在SSD的组件上进行的布置的不同之处的实施例,其中返回参考图1至5,一个或多个控制器ASIC 730可对应控制器102,且存储器裸片711-i中的每一个可对应存储器裸片300。图7已经简化,以便关注以下论述所涉及的主要元件。
在图7中,PMIC 701连接到电源线703,从而向控制器ASIC 730和数个存储器芯片711-i供应电平Vcc。存储器系统通常具有数个不同供应电平,但是出于此论述,只示出了基本供应电平Vcc。实施例还呈现单个控制器ASIC 730和单独的PMIC 701,但是其它实施例可具有数个控制器ASIC,并且PMIC功能可以并入到所述一个或多个控制器ASIC中。在示出的元件中,存储器裸片温度监测器717可对应于温度传感器317。温度监测器731可以在控制器102的控制器ASIC上形成,并且控制器730上的其它模块(命令定序器733、功率管理模块735和待机省电算法721)可以通过控制器102的包含处理器220/250和156的前端和后端元件以不同方式实施。
存储器裸片711-i中的每一个包含温度监测器717,就像控制器ASIC在631处的那样。控制器ASIC 730还包含NAND命令定序器733和功率管理模块735,所述NAND命令定序器733可以通过命令线723向对应芯片711-i发出CEi和深度待机(DSi)命令,所述功率管理模块735可通过线725与PMIC 701通信。在固件中的控制器ASIC上运行的待机省电算法在721处呈现。
图7还示出连接于功率轨703和地面之间的电阻器Res 751,其中跨Res 751具有压降ΔV。将在下文关于图11论述此元件的使用。
为了使SSD实施待机省电算法,SSD将知晓或监测存储器芯片中的每一个的Iccs。这可以通过在裸片排序或存储器测试级下确定各个存储器芯片的Iccs或通过使SSD确定存储器芯片Iccs电平来实施。图8示出这些选择方案中的第一个的实施例。
图8是描述用于在裸片排序或存储器测试级下监测待机电流(Iccs)并将其记录到存储器裸片的ROM中的过程的一个实施例的流程图。图8的实施例包含在超过一种温度下测量存储器裸片的Iccs。开始于步骤801,针对正在表征的存储器裸片设置温度值。接着,在步骤803处,将存储器裸片设置成处于(正常)待机模式,并测量装置所汲取的电流。例如,存储器裸片可以连接到电源以接收电压电平,所述电压电平对应于存储器裸片在典型应用中所具有的电压电平,并使其芯片启用信号CE撤销确证,对应于处于(常规)休眠状态。然后,测量所汲取的电流在步骤801的温度值T下得到待机电流Iccs(T)。步骤805是确定Iccs是否将在更多温度值下进行测量:如果是,那么流程循环回到步骤801,在801处重设温度并重复步骤803;如果否,那么流程移动到步骤807。
其中测量Iccs的不同温度值的数目取决于实施例。在一些实施例中,只确定单个Iccs值。在其它实施例中,可以针对两个或更多个温度测量值。待机省电算法可使用来自存储器裸片上的温度监测器717、来自ASIC温度监测器731或这两者的温度值来获得存储器裸片上的温度值。基于这一确定的温度,待机省电算法可使用步骤803中在不同温度下的Iccs值来确定在测量温度下的Iccs值。例如,可使用在最接近于测量温度的温度(在步骤801中)下的Iccs,或者可基于所测量的值外推算法。在一个实施例中,可在步骤803处针对两个温度测量Iccs,并且可使用线性内插/外推来确定温度监测器所提供的温度值下的Iccs值。
在步骤807处,一旦Iccs值已经确定,这些就可以记录在存储器装置上的ROM中,例如通过设置图5的ROM 315中的熔丝值。例如,对于每10uA的仓,存储器裸片可在ROM中存储关于00h到Fh的代码的Iccs值,对应于0~10uA、10~20uA等等直到290~300uA为止的ICCS。在生产SSD时或在固件下载时,这些值可以下载到SSD的文件系统中。在步骤809处,存储器裸片可以与其它存储器裸片一起组装到SSD中。
如果存储器裸片的Iccs值是已知的,那么这可用于选择用来SSD组装的存储器裸片。如上文所提及,针对存储器裸片所确定的Iccs值可允许它们分组到不同仓中,如图9中所示。
图9示出存储器裸片基于它们的待机电流Iccs值进行的分仓。图9的实例使用宽度为10毫微安培的Iccs仓,其中每一个仓中具有一定数目的存储器裸片(由Xs指示)。在一些应用中,可以预期SSD在处于待机时不超过最大电流消耗,使得SSD的存储器裸片具有总体Iccs预算。对每个裸片的各个Iccs的了解可用来实现更高产量,如果使用深度待机模式,那么产量可以变得更高。
例如,如果SSD可具有1000na的组合Iccs,并且具有20个存储器裸片,那么这得出每裸片平均Iccs 50na。参考图9中的分仓,如果选择用于SSD的所有存储器裸片需要不超过此平均值,那么相当大比例的存储器裸片可能是不可用的,从而降低装置产量。但是,如果各个Iccs值是已知的,那么存储器裸片可选择成使得具有较高Iccs的装置的促成作用与具有较低Iccs的装置抵消,从而使可接受Iccs值扩展到比如100na。如果使用待机省电算法,且深度待机模式可用,那么高Iccs可处于这种深度待机模式以减小它们的(深度)待机电流,从而降低总体Iccs值,使得能够使用原本会超过组合Iccs的具有更高Iccs值的存储器裸片。通过这种方式,可以使用具有比如Iccs=200na的(常规)待机电流的存储器裸片,同时保持在预算内,从而放宽单独裸片的Iccs并且进一步提高产量。
图10是描述将一组存储器裸片组装到SSD中的过程的一个实施例的流程图,所述SSD并有对单独存储器裸片的Iccs值的了解。开始于步骤1001,接收一组存储器裸片,以及每个存储器裸片的指定Iccs值或者(如果包含温度依赖性)不同温度值下的一组Iccs值。在步骤1003处,基于Iccs值来选择一组存储器裸片,使得当存储器裸片中的一个或多个处于深度待机模式时,组合的一组存储器裸片符合为这一组存储器裸片分配的组合Iccs预算。在步骤1005处,将选定的一组存储器裸片以及控制器ASIC和PMIC等控制器元件一起组装到SSD中。在步骤1007处,一旦组装好,就可以在生产SSD时或在固件下载时将选定的一组存储器裸片的Iccs值下载到SSD的文件系统中。
如上文所提到,为了使SSD实施待机省电算法,SSD将知晓或监测存储器芯片中的每一个的Iccs,其中这可以通过在裸片排序或存储器测试级下确定各个存储器芯片的Iccs或通过使SSD确定存储器芯片的Iccs电平来实施。图8示出了这些选择方案中的第一个的实施例,而图11示出了第二个选择方案的实施例。
图11是描述使SSD单独确定它的组成存储器芯片的Iccs电平使得SSD能够识别具有最高Iccs值的裸片的过程的一个实施例的流程图。开始于步骤1101,SSD将所有存储器裸片设置成处于深度待机模式。如果Iccs值要在超过一种温度下确定,那么在步骤1103处设置第一温度,并在步骤1105处确定由SSD的所有存储器裸片拉动的组合电流的估计值。
步骤1105将在所有存储器裸片都处于深度待机模式时提供基线Iccs,并相对于典型SSD中的正常待机模式将存储器的组合Iccs减少例如约30%。PMIC 701可估计所有NAND裸片的复合ICCS,所有这些NAND裸片通过使用Iccs_a=ΔV/Res而共享存储器封装上的相同VCC供应,其中图7的Res 751是到NAND封装的电源轨703中的固定大小电阻器,所述NAND封装只能在驱动待机模式期间接通。ΔV是电阻器Res 751的两个节点之间的电压差。PMIC701可包含电压比较器,并且能够执行数模转换以测量Iccs_a值。
接着,可相对于步骤1105的基线值确定步骤1103的温度值下的单独存储器裸片的Iccs。从裸片0开始,确定各个存储器裸片的Iccs。在步骤1107处,除了选定裸片以外的所有存储器裸片都维持处于深度待机模式,但是选定存储器裸片处于SSD的常规待机模式。接着,在步骤1109处,通过使用Iccs_b=ΔV/Res,PMIC 701可估计所有存储器裸片的组合Iccs,其中选定存储器裸片处于正常待机模式,而所有其它存储器裸片处于深度待机。然后,选定存储器裸片的值是(Iccs_b-Iccs_a)/(ΔIccs_total),其中ΔIccs_total是处于正常待机的所有存储器裸片的组合总计Iccs值减去处于深度待机的所有存储器裸片的组合总计Iccs值之间的差。例如,如果在步骤1105处确定的处于深度待机的总计组合Iccs_a值比正常待机总计组合Iccs小30%,那么ΔIccs_total将是0.3。
此过程针对其它存储器裸片且针对任何额外温度以类似方式重复。在步骤1111处,确定是否存在更多某些温度值下的Iccs待确定的存储器裸片。如果是,那么在1113处使存储器裸片值增加之后,流程循环回到步骤1107。如果所有存储器裸片的所有Iccs值都已经确定,那么在步骤1111处,流程实际上转到步骤1115,确定是否将针对额外温度值计算Iccs值:如果是,那么流程循环回到步骤1103,重设温度值并重复步骤1103至1113的过程;如果否,那么流程转到步骤1117。在替代实施例中,从步骤1115开始的环路和从步骤1111开始的环路可以互换,但是要首先确定给定存储器裸片的不同温度值,接着循环通过不同存储器裸片。不管是哪种次序,一旦所有待确定的Iccs值都已经确定,它们就可以在步骤1117处存储在SSD的文件系统中。
图12是描述使用组成存储器电路的Iccs值进行的驱动电平待机功率管理的过程的一个实施例的流程图。SSD待机功率管理过程开始于步骤1201,在组装好的驱动上发起过程。在步骤1203处,SSD上的控制器电路确定各个存储器电路的Iccs值是否可获自存储器装置自身,例如上文关于图8所描述,其中每个存储器裸片的Iccs在裸片排序或存储器测试时映射并存储到存储器装置的ROM中。如果Iccs值可用,那么在步骤1205处,从存储器裸片中提取它们并通过存储器控制器730的控制器电路、PMIC 701或这两者下载。接着在1207处,可将Iccs值编译到文件系统中以供SSD使用。
如果在步骤1203处,单独存储器裸片的Iccs值不可用,那么在步骤1209处,SSD可在驱动测试时执行这一操作,例如上文关于图11的实施例所描述的。一旦SSD确定组成存储器裸片的Iccs值,这些就可在1207处编译到驱动的文件系统中以供SSD使用。一旦在步骤1207处,Iccs值在文件系统中,就可以借助步骤1205、1209或其它方法在SSD的操作期间使用它们,例如在图13和14的实施例中所描述。
一旦存储器裸片的Iccs值是已知的,那么在SSD的功率待机模式期间,待机省电算法的固件可向具有高于给定阈值的ICCS的NAND裸片发出深度待机模式命令。这可以是SSD的所有存储器裸片的组合阈值或逐芯片阈值。对于一些实施例,此阈值可以是温度的函数,并且可随着温度而改变,因此温度测量值同样可用于准确控制。在一些实施例中,系统可使用额外因素来确定阈值,例如驱动所经历的循环数量,因为在装置老化时Iccs值可发生改变,其中此信息可通过以一定间隔(例如,每10k个循环)重复图11的过程来确定。对于常规待机电流Iccs较低或几乎与深度待机值相同的那些存储器裸片,将这些装置设置成处于深度待机几乎没有优势,可以基于存储器装置的芯片启用信号被撤销确证,将它们设置处于常规待机模式。
图13是描述使SSD或其它存储器系统处于深度待机模式的过程的一个实施例的流程图。在步骤1301处,SSD监测主机活动,在步骤1303处判定是否移动到待机模式中。例如,如果驱动在某一时段内未从主机接收到存取其存储器裸片的任何命令,那么SSD的控制器电路可将驱动设置成处于待机。如果确定不进入待机,例如如果驱动最近已由主机存取,那么流程循环回到步骤1301并继续监测主机活动。如果在步骤1303处确定进入待机,那么流程移动到步骤1305。在一些实施例中,主机可清楚地指示驱动可以设置成处于待机。
在步骤1305处,驱动发起到待机模式的移动,包含将其存储器裸片中的选定存储器裸片设置成处于深度待机。对于并入有温度依赖性的实施例,在步骤1307处,测量驱动温度。如果Iccs值依赖于其它参数,例如装置老化,那么还在步骤1307处确定这些参数(例如,编程/擦除循环的数目)。
在步骤1309处,系统基于存储器裸片的Iccs值确定应该使用什么阈值作为针对要将哪一裸片设置成处于深度待机模式的阈值。所述阈值可以是以逐个存储器裸片为基础的,其中具有高于阈值的Iccs的所有存储器裸片都将设置成处于深度待机,或者所述阈值可以基于驱动的存储器裸片的总体Iccs值,其中例如从最高Iccs存储器裸片开始并一直向下,将存储器裸片设置成处于深度待机,直到足以使累积Iccs值符合总Iccs阈值的存储器裸片被选定为止。在一些实施例中,如果存储器裸片当前正在执行控制器请求的后台活动(例如,垃圾数据收集),那么深度待机命令的发出可以一直延迟到操作完成为止。
在步骤1311处,使存储器裸片处于待机模式。对于具有相对较低的Iccs值的存储器裸片,如果进入深度待机模式几乎没有增益,那么可以通过在这些存储器裸片的芯片启用(CE)信号当前被确证的情况下使对应CE信号撤销确证来使这些存储器裸片处于(常规)待机模式。对于在步骤1309处选定的存储器裸片,将通过命令定序器733向这些装置发出深度待机命令。基于CE值和选择性地发出的深度待机命令,驱动将会处于待机。
图14是描述选择性地使SSD或其它存储器系统的存储器裸片脱离深度待机模式的过程的一个实施例的流程图。在一些实施例中,当驱动脱离待机模式时,只有选定的存储器裸片需要脱离深度待机模式,而不是所有存储器裸片都要脱离深度待机模式。在步骤1401处,驱动监测主机活动,并且在步骤1403处,确定是否脱离standby。这可以响应于来自主机的存取驱动的存储器裸片上的数据的命令,或在一些实施例中,响应于脱离待机模式的特定请求。如果不存在会使主机脱离待机的主机活动,那么流程循环回到步骤1401。如果驱动确定它应该脱离待机,那么流程移动到步骤1405。
在步骤1405处,系统移出待机模式。一旦驱动系统脱离待机,系统中处于深度待机模式的任一个存储器裸片在它们当前并不需要存取的情况下就可以继续维持处于深度待机模式。接着,在处于深度待机模式的存储器裸片要进行存取时,可选择性地使它们脱离深度待机。依据实施例,处于深度待机的存储器裸片可以通过接收对应芯片启用信号或返回的特定命令而脱离深度待机。在步骤1407处,由命令定序器733发出使单独裸片脱离深度待机的命令。
上文所描述的技术允许SSD或其它多裸片系统基于温度动态地调整待机功率。实施例通过用于SSD的各个存储器裸片的自我学习和效率改进实现了系统级的自动待机功率管理。它还允许使用可具有较高Iccs值的存储器裸片,使得存储器裸片产量可以提高,并且在裸片排序期间放宽了Iccs值。
一个实施例包含一种设备,包含多个非易失性存储器裸片和连接到所述多个存储器裸片的一个或多个控制电路。所述存储器裸片中的每一个配置成可在第一待机模式和第二待机模式中操作,其中所述存储器裸片当在所述第二待机模式中操作时汲取的电流量低于当在所述第一待机模式中操作时汲取的电流量。所述一个或多个控制电路配置成针对所述存储器裸片中的每一个维持当在所述第一待机模式中操作时汲取的电流的对应值,并且通过将所述存储器裸片中的一个或多个选定存储器裸片设置成处于所述第二待机模式来使所述设备处于待机模式,所述选定存储器裸片是基于当在所述第一待机模式中操作时汲取的所述电流的所述对应值来选择的,并且将所述存储器裸片中的其它存储器裸片设置成处于所述第一待机模式。
一个实施例包含一种将包含多个存储器裸片的存储器系统设置成处于待机模式的方法,所述存储器裸片中的每一个具有第一待机模式和第二待机模式,所述第二待机模式消耗电流的速率低于所述第一待机模式。将所述存储器系统设置成处于待机模式包含:针对每个所述存储器裸片,维持当处于所述第一待机模式时汲取的电流的量的值;将当处于所述第一待机模式时每一个存储器裸片汲取的所述电流量的所述值与阈值进行比较;基于比较,选择所述存储器裸片中的一个或多个以使其处于所述第二待机模式;以及将选定的存储器裸片设置成处于所述第二待机模式,并将所述存储器裸片中的其它存储器裸片设置成处于所述第一待机模式。
一个实施例包含一种固态装置,包含多个存储器裸片和控制器。所述存储器裸片中的每一个可在低功率待机模式和常规待机模式中操作,其中所述存储器裸片中的每一个在所述常规待机模式中消耗的电流多于在所述低功率待机模式中消耗的电流。所述控制器连接到所述多个存储器裸片,且配置成:将所述多个存储器裸片并行设置成处于所述低功率待机模式;确定对应于当并行设置成处于所述低功率待机模式时所述多个存储器裸片消耗的组合电流量的第一电流电平;对于所述存储器裸片中的选定一个或多个中的每一个,确定对应于在选定的存储器裸片设置成处于所述常规待机模式且所述多个存储器裸片中的其它存储器裸片并行设置成处于所述低功率待机模式的情况下所述多个存储器裸片消耗的组合电流量的对应第二电流电平;以及对于所述存储器裸片中的所述选定一个或多个中的每一个,根据第一电流电平和对应第二电流电平的差来确定对应的差动电流电平。
出于本文的目的,说明书中对“实施例”、“一个实施例”、“一些实施例”或“另一实施例”的引用可用于描述不同的实施例或相同的实施例。
出于本文的目的,连接可以是直接连接或间接连接(例如,经由一个或多个其它部分)。在一些情况下,当元件被称为连接或耦合到另一元件时,所述元件可以直接连接到另一元件或经由中间元件间接连接到另一元件。当一个元件被称为直接连接到另一个元件时,则在所述元件和另一元件之间没有中间元件。如果两个装置直接或间接连接,使得这两个装置可以在它们之间传送电子信号,则这两个装置“通信”。
出于本文的目的,术语“基于”可以被理解为“至少部分基于”。
出于本文的目的,在没有额外上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能并不暗示对象的排序,而是可以用于识别目的以识别不同的对象。
出于本文的目的,术语“一组”对象可以指“一组”对象中的一个或多个。
已出于说明和描述的目的呈现以上描述。它并不意欲为穷尽的或将本发明限于所公开的精确形式。鉴于上文教导,许多修改和变化都是可能的。所描述的实施例被选定用来最佳解释所提议技术的原理和其实际应用,由此使得所属领域的其它技术人员能够在各种实施例中最佳地利用适合于所预期的特定用途的各种修改来使用它。本发明的范围由所附权利要求书限定。
Claims (20)
1.一种设备,其包括:
多个非易失性存储器裸片,其中所述存储器裸片中的每一个配置成在以下模式中可操作:
第一待机模式,在所述第一待机模式中,所述存储器裸片被配置为执行后台操作,和
第二待机模式,在所述第二待机模式中,所述存储器裸片不执行后台操作,并且其中所述存储器裸片中的每一个当在所述第二待机模式中操作时汲取的电流量低于当在所述第一待机模式中操作时汲取的电流量;以及
一个或多个控制电路,其连接到所述多个存储器裸片,所述一个或多个控制电路配置成:
针对所述存储器裸片中的每一个,维持当在所述第一待机模式中操作时汲取的电流的对应值;
基于当在所述第一待机模式中操作时汲取的所述电流的所述对应值,选择要置于所述第二待机模式的所述存储器裸片中的一个或多个;且
通过将一个或多个选定存储器裸片设置成处于所述第二待机模式并将所述存储器裸片中的其它存储器裸片设置成处于所述第一待机模式来使所述设备处于待机模式。
2.根据权利要求1所述的设备,其中:
每一个所述存储器裸片包括存储当在所述第一待机模式中操作时汲取的所述电流的所述对应值的ROM存储器,且
其中所述一个或多个控制电路进一步配置成:
从所述存储器裸片中的每一个读取当在所述第一待机模式中操作时汲取的所述电流的所述对应值。
3.根据权利要求1所述的设备,其中所述一个或多个控制电路进一步配置成:
从所述存储器裸片中的每一个确定当在所述第一待机模式中操作时汲取的所述电流的所述对应值。
4.根据权利要求3所述的设备,其中所述一个或多个控制电路进一步配置成:
使所述存储器裸片中的每一个并行处于所述第二待机模式;
在所述多个存储器裸片中的每一个并行处于所述第二待机模式的情况下,确定所述多个存储器裸片汲取的总体电流;以及
对于所述存储器裸片中的每一个,通过确定所述总体电流和对应差动电流之间的差来确定当在所述第一待机模式中操作时汲取的所述电流的所述对应值,所述差动电流是在所述存储器裸片处于所述第一待机模式且所述存储器裸片中的其它存储器裸片并行处于所述第二待机模式的情况下所述多个存储器裸片汲取的电流。
5.根据权利要求1所述的设备,其进一步包括:
一个或多个温度监测器,每一温度监测器配置成向所述控制电路提供温度值,
其中所述一个或多个控制电路进一步配置成:
针对所述存储器裸片中的每一个,维持当在所述第一待机模式中操作时汲取的电流的对应多个值,其中所述对应多个值中的每一个对应于不同温度;以及
基于从所述一个或多个温度值接收到的第一温度值,确定在所述第一温度值下当在所述第一待机模式中操作时所述存储器裸片中的每一个的所汲取的电流的对应值,
其中所述选定存储器裸片是基于在所述第一温度值下当在所述第一待机模式中操作时汲取的所述电流的所述对应值选择的。
6.根据权利要求5所述的设备,其中所述一个或多个温度监测器包含在所述一个或多个控制电路上形成的温度监测器。
7.根据权利要求5所述的设备,其中所述一个或多个温度监测器包含在所述存储器裸片中的每一个上形成的温度监测器。
8.根据权利要求1所述的设备,其中所述一个或多个控制电路进一步配置成:
通过撤销确证指定存储器裸片的芯片启用信号,将所述指定存储器裸片设置成处于所述第一待机模式;以及
通过特定于进入所述第二待机模式的命令,将指定存储器裸片设置成处于所述第二待机模式。
9.根据权利要求1所述的设备,其中所述一个或多个控制电路进一步配置成:
监测与所述设备连接到的主机的交互;以及
基于所述监测与所述主机的所述交互,使所述设备处于所述待机模式。
10.根据权利要求1所述的设备,其中所述一个或多个控制电路进一步配置成:
响应于从所述设备连接到的主机接收到的命令,使所述设备处于所述待机模式。
11.根据权利要求1所述的设备,其中所述一个或多个控制电路进一步配置成:
响应于从所述设备连接到的主机接收到的命令,使所述设备脱离所述待机模式,其中处于所述第二待机模式的每一个所述存储器裸片维持处于所述第二待机模式,除非所述命令是存取所述存储器裸片。
12.根据权利要求11所述的设备,其中处于所述第二待机模式的每一个所述存储器裸片维持处于所述第二待机模式,除非接收到芯片启用信号。
13.一种方法,其包括:
将包含多个存储器裸片的存储器系统设置成处于待机模式,所述存储器裸片中的每一个具有第一待机模式和第二待机模式,在所述第一待机模式中,所述存储器裸片被配置为执行后台操作,在所述第二待机模式中,所述存储器裸片不执行后台操作并且消耗电流的速率低于所述第一待机模式,将所述存储器系统设置成处于所述待机模式包括:
对于每个所述存储器裸片,维持当处于所述第一待机模式时汲取的电流量的值;
将当处于所述第一待机模式时每一个存储器裸片汲取的所述电流量的所述值与阈值进行比较;
基于所述比较,选择所述存储器裸片中的一个或多个以使其处于所述第二待机模式;以及
将选定存储器裸片设置成处于所述第二待机模式,并将所述存储器裸片中的其它存储器裸片设置成处于所述第一待机模式。
14.根据权利要求13所述的方法,其进一步包括:
在将所述存储器系统设置成处于所述待机模式之后,接收存取设置成处于所述第二待机模式的所述存储器裸片中的第一存储器裸片的命令;以及
响应于所述命令,使所述第一存储器裸片脱离所述第二待机模式,同时使设置成处于所述第二待机模式的所述存储器裸片中的其它存储器裸片维持处于所述第二待机模式。
15.根据权利要求13所述的方法,其中:
将当处于所述第一待机模式时每一个所述存储器裸片汲取的所述电流量与阈值进行比较包括单独地将当处于所述第一待机模式时每一个所述存储器裸片汲取的所述电流量与所述阈值进行比较。
16.根据权利要求13所述的方法,其进一步包括:
针对每个所述存储器裸片,确定当处于所述第一待机模式时汲取的所述电流量的所述值。
17.根据权利要求13所述的方法,其进一步包括:
通过连接到所述存储器系统的主机装置的所述存储器系统监测所述存储器系统响应于所述监测将其自身设置成处于所述待机模式。
18.根据权利要求13所述的方法,其中将所述存储器系统设置成处于所述待机模式进一步包括:
针对所述存储器裸片中的每一个,维持当处于所述第一待机模式时汲取的电流量的多个值,其中所述存储器裸片中的每一个的所述多个值中的每一个对应于在对应多个温度中的一个温度下当处于所述第一待机模式时汲取的电流量;
接收温度值;以及
针对所述存储器裸片中的每一个,确定在接收到的温度值下当处于所述第一待机模式时汲取的电流量的值,且
其中将当处于所述第一待机模式时每一个所述存储器裸片汲取的所述电流量的所述值与阈值进行比较使用与在所述接收到的温度值下汲取的电流量相对应的阈值。
19.一种固态装置,其包括:
多个存储器裸片,每个存储器裸片在以下模式中可操作:
低功率待机模式,在所述低功率待机模式中,所述存储器裸片不执行后台操作,和
常规待机模式,在所述常规待机模式中,所述存储器裸片被配置为执行后台操作,其中所述存储器裸片中的每一个在所述常规待机模式中消耗的电流多于在所述低功率待机模式中消耗的电流;以及
控制器,其连接到所述多个存储器裸片,所述控制器配置成:
将所述多个存储器裸片并行设置成处于所述低功率待机模式;
确定对应于当并行设置成处于所述低功率待机模式时所述多个存储器裸片消耗的组合电流量的第一电流电平;
针对所述存储器裸片中的选定一个或多个中的每一个,确定对应于在所述选定存储器裸片设置成处于所述常规待机模式且所述多个存储器裸片中的其它存储器裸片并行设置成处于所述低功率待机模式的情况下所述多个存储器裸片消耗的组合电流量的对应第二电流电平;以及
针对所述存储器裸片中的所述选定一个或多个中的每一个,根据所述第一电流电平和所述对应第二电流电平的差来确定对应的差动电流电平。
20.根据权利要求19所述的固态装置,其进一步包括
温度传感器,
其中所述控制器进一步配置成:
从所述温度传感器接收温度值;以及
针对多个温度值中的每一个,确定所述第一电流电平、所述一个或多个第二电流电平中的每一个和所述一个或多个差动电流电平中的每一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/446,927 US11397460B2 (en) | 2019-06-20 | 2019-06-20 | Intelligent power saving mode for solid state drive (ssd) systems |
US16/446,927 | 2019-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112116931A CN112116931A (zh) | 2020-12-22 |
CN112116931B true CN112116931B (zh) | 2024-06-21 |
Family
ID=73654310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010215684.2A Active CN112116931B (zh) | 2019-06-20 | 2020-03-25 | 固态驱动(ssd)系统的智能省电模式 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11397460B2 (zh) |
CN (1) | CN112116931B (zh) |
DE (1) | DE102020106137A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986123A (zh) * | 2021-10-22 | 2022-01-28 | 深圳忆联信息系统有限公司 | 基于行为监控的ssd优化管理方法、装置及计算机设备 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004039802A (ja) * | 2002-07-02 | 2004-02-05 | Renesas Technology Corp | 半導体装置の製造方法および半導体製造装置 |
US7549066B2 (en) | 2002-11-15 | 2009-06-16 | Intel Corporation | Automatic power savings stand-by control for non-volatile memory |
US7266031B2 (en) * | 2003-11-19 | 2007-09-04 | Infineon Technologies Ag | Internal voltage generator with temperature control |
US7304905B2 (en) * | 2004-05-24 | 2007-12-04 | Intel Corporation | Throttling memory in response to an internal temperature of a memory device |
US7472292B2 (en) * | 2005-10-03 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | System and method for throttling memory power consumption based on status of cover switch of a computer system |
US7992020B1 (en) * | 2008-03-05 | 2011-08-02 | Xilinx, Inc. | Power management with packaged multi-die integrated circuit |
US8289760B2 (en) * | 2008-07-02 | 2012-10-16 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
US8710916B2 (en) * | 2011-02-03 | 2014-04-29 | Freescale Semiconductor, Inc. | Electronic circuit having shared leakage current reduction circuits |
US8547769B2 (en) * | 2011-03-31 | 2013-10-01 | Intel Corporation | Energy efficient power distribution for 3D integrated circuit stack |
US9965208B1 (en) * | 2012-02-23 | 2018-05-08 | Micron Technology, Inc. | Memory device having a controller to enable and disable mode control circuitry of the controller |
US9037890B2 (en) * | 2012-07-26 | 2015-05-19 | Artemis Acquisition Llc | Ultra-deep power-down mode for memory devices |
JP2014081688A (ja) * | 2012-10-12 | 2014-05-08 | Canon Inc | 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 |
US9535614B2 (en) * | 2013-11-21 | 2017-01-03 | Sandisk Technologies Llc | Temperature based flash memory system maintenance |
US8929169B1 (en) * | 2014-05-13 | 2015-01-06 | Sandisk Technologies Inc. | Power management for nonvolatile memory array |
US20160078939A1 (en) * | 2014-09-11 | 2016-03-17 | Intel Corporation | Appointing semiconductor dice to enable high stacking capability |
US9558848B2 (en) | 2014-11-04 | 2017-01-31 | Microsoft Technology Licensing, Llc | Testing storage device power circuitry |
US9489146B2 (en) * | 2014-12-09 | 2016-11-08 | Sandisk Technologies Llc | Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures |
KR102272248B1 (ko) * | 2015-01-09 | 2021-07-06 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
US10275001B2 (en) * | 2015-06-26 | 2019-04-30 | Intel Corporation | Thermal throttling of electronic devices |
KR102311916B1 (ko) * | 2015-08-17 | 2021-10-15 | 삼성전자주식회사 | 스토리지 장치 |
KR102288546B1 (ko) * | 2015-08-31 | 2021-08-10 | 삼성전자주식회사 | 스토리지 장치 및 그 제어 방법 |
US9449655B1 (en) * | 2015-08-31 | 2016-09-20 | Cypress Semiconductor Corporation | Low standby power with fast turn on for non-volatile memory devices |
US9711232B2 (en) * | 2015-09-22 | 2017-07-18 | Samsung Electronics Co., Ltd. | Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives |
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 |
US9996486B2 (en) * | 2015-10-28 | 2018-06-12 | Sandisk Technologies Llc | Data transfer rate adjustment |
US10936044B2 (en) * | 2015-12-21 | 2021-03-02 | Hewlett Packard Enterprise Development Lp | Quality of service based memory throttling |
KR102535700B1 (ko) * | 2016-02-01 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US9996281B2 (en) * | 2016-03-04 | 2018-06-12 | Western Digital Technologies, Inc. | Temperature variation compensation |
US10007311B2 (en) * | 2016-08-15 | 2018-06-26 | Sandisk Technologies Llc | Adaptive temperature and memory parameter throttling |
TWI609372B (zh) * | 2016-11-16 | 2017-12-21 | 修平學校財團法人修平科技大學 | 單埠靜態隨機存取記憶體 |
KR20190016191A (ko) * | 2017-08-08 | 2019-02-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US20190050153A1 (en) * | 2017-08-08 | 2019-02-14 | Western Digital Technologies, Inc. | Routing data blocks during thermal throttling |
US10698610B2 (en) * | 2018-02-23 | 2020-06-30 | Western Digital Technologies, Inc. | Storage system and method for performing high-speed read and write operations |
JP2019159802A (ja) * | 2018-03-13 | 2019-09-19 | 東芝メモリ株式会社 | 記憶装置の電力制御方法および記憶装置 |
KR20190127173A (ko) * | 2018-05-03 | 2019-11-13 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10872640B2 (en) * | 2018-08-31 | 2020-12-22 | Micron Technology, Inc. | Capacitive voltage dividers coupled to voltage regulators |
-
2019
- 2019-06-20 US US16/446,927 patent/US11397460B2/en active Active
-
2020
- 2020-03-06 DE DE102020106137.4A patent/DE102020106137A1/de active Pending
- 2020-03-25 CN CN202010215684.2A patent/CN112116931B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20200401207A1 (en) | 2020-12-24 |
US11397460B2 (en) | 2022-07-26 |
CN112116931A (zh) | 2020-12-22 |
DE102020106137A1 (de) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713158B2 (en) | Non-volatile storage system with dynamic allocation of applications to memory based on usage monitoring | |
AU2011203893B2 (en) | Controlling and staggering operations to limit current spikes | |
KR102318541B1 (ko) | 전력 소비를 제어하는 시스템 및 방법 | |
US9123400B1 (en) | Power management for nonvolatile memory array | |
US9852090B2 (en) | Serial memory device alert of an external host to completion of an internally self-timed operation | |
CN106683704B (zh) | 数据保持电荷损失传感器 | |
CN109872734B (zh) | 动态分布式电源控制电路 | |
TW201719642A (zh) | 用於非揮發性記憶體裝置之具有快速開啟的低待機電源 | |
US9898059B2 (en) | Dynamic control of power consumption based on memory device activity | |
US11023326B2 (en) | SSD restart based on off-time tracker | |
US20220137694A1 (en) | Charge-sharing capacitive monitoring circuit in a multi-chip package to control power | |
TWI646537B (zh) | 序列記憶體裝置通知外部主機內部自計時操作已完成 | |
US10218166B2 (en) | System and method for dynamic monitoring of controller current consumption | |
US20240120012A1 (en) | Multi-sampled, charge-sharing thermometer in memory device | |
CN112116931B (zh) | 固态驱动(ssd)系统的智能省电模式 | |
US11928342B2 (en) | Power target calibration for controlling drive-to-drive performance variations in solid state drives (SSDs) | |
US20240061592A1 (en) | Multiple current quantization values for peak power management | |
US11935615B2 (en) | Thermometer sample and hold design for non-volatile memory | |
US11062780B1 (en) | System and method of reading two pages in a nonvolatile memory | |
AU2014100558B4 (en) | Controlling and staggering operations to limit current spikes |
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 |