CN115376572A - 用于受管理存储器的高级断电通知 - Google Patents
用于受管理存储器的高级断电通知 Download PDFInfo
- Publication number
- CN115376572A CN115376572A CN202210446633.XA CN202210446633A CN115376572A CN 115376572 A CN115376572 A CN 115376572A CN 202210446633 A CN202210446633 A CN 202210446633A CN 115376572 A CN115376572 A CN 115376572A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory system
- operations
- notification
- controller
- 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 695
- 230000007704 transition Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims description 41
- 238000012546 transfer Methods 0.000 claims description 18
- 238000012423 maintenance Methods 0.000 claims description 15
- 230000008520 organization Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 description 78
- 230000009471 action Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 239000000758 substrate Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000009849 deactivation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 150000004770 chalcogenides Chemical class 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- BHEPBYXIRTUNPN-UHFFFAOYSA-N hydridophosphorus(.) (triplet) Chemical compound [PH] BHEPBYXIRTUNPN-UHFFFAOYSA-N 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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
- G11C5/144—Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K3/00—Thermometers giving results other than momentary value of temperature
- G01K3/02—Thermometers giving results other than momentary value of temperature giving means values; giving integrated values
- G01K3/06—Thermometers giving results other than momentary value of temperature giving means values; giving integrated values in respect of space
-
- 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/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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
- 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/32—Timing 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/148—Details of power up or power down circuits, standby circuits or recovery circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- 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
-
- 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/2245—Memory devices with an internal cache buffer
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及受管理存储器的高级断电通知。设备可包含:包括多个存储器单元的存储器阵列,和与所述存储器阵列耦合的控制器。所述控制器可经配置以接收指示从所述存储器阵列的第一状态到所述存储器阵列的第二状态的转变的通知。所述通知可包含值,所述值包括多个位且对应于直到所述存储器阵列的电源被去激活为止剩余的最小持续时间。所述控制器还可根据至少部分地基于与所述存储器阵列相关联的参数以及接收包括所述值的所述通知而确定的次序来执行多个操作。
Description
交叉引用
本专利申请要求雷纳(Reina)等人于2021年4月27日提交的标题为“用于受管理存储器的高级断电通知(ADVANCED POWER OFF NOTIFICATION FOR MANAGED MEMORY)”的第17/241,850号美国专利申请的优先权,该美国专利申请被转让给本申请的受让人,并且其全部内容通过引用明确地结合于此。
技术领域
本技术领域涉及用于受管理存储器的高级断电通知。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,可将二进制存储器单元编程到两个支持状态中的一者,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持两个以上可能状态,两个以上可能状态中的任一者可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置及其它。存储器装置可以是易失性或非易失性的。除非由外部电源周期性更新,否则易失性存储器单元(例如,DRAM单元)可随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述了一种设备。该设备包含:包含多个存储器单元的存储器阵列,与存储器阵列耦合的控制器,且经配置以:接收指示从存储器阵列的第一状态到存储器阵列的第二状态的转变的通知,通知包含值,该值包含多个位并且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间;以及根据至少部分地基于与存储器阵列相关联的参数以及接收包含值的通知而确定的次序来执行多个操作。
描述了一种设备。该设备包含:经配置以执行操作的多个组件,和与多个组件和存储器系统耦合的控制器,控制器经配置以:确定将多个组件从第一功率状态转换到第二功率状态的最小持续时间;向存储器系统传输指示从存储器系统的第一状态到第二状态的转变的通知,通知包含对应于最小持续时间的值,其中该值指示直到存储器系统的电源被去激活为止剩余的最小持续时间;至少部分地基于将通知传输到存储器系统来制止在去激活存储器系统的电源之前将命令传输到存储器系统;以及至少部分地基于传输通知,将多个组件从第一功率状态转换到第二功率状态,并在最小持续时间之后去激活存储器系统的电源。
描述了一种设备。该设备包含:包含存储数据集的多个存储器单元的存储器阵列,与存储器阵列耦合的控制器,且经配置以:接收指示从存储器阵列的第一状态到第二状态的转变的通知,通知包含第一值,第一值对应于直到存储器阵列的电源被去激活为止剩余的第一最小持续时间;确定执行与数据集的维护相关联的多个操作的第二最小持续时间;以及至少部分地基于确定第二最小持续时间来传输响应,其中响应包含对应于第二最小持续时间的第二值,以执行多个操作。
描述了一种存储包含指令的代码的非暂时性计算机可读媒体。非暂时性计算机可读媒体存储包含指令的代码,指令在由电子装置的处理器执行时致使电子装置:接收指示从存储器阵列的第一状态到第二状态的转变的通知,通知包含值,该值包含多个位并且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间;以及根据至少部分地基于与存储器阵列相关联的参数以及接收包含值的通知而确定的次序来执行多个操作。
附图说明
图1示出了根据本文所公开的实例的支持用于受管理存储器的高级断电通知的系统的实例。
图2示出了根据本文所公开的实例的支持用于受管理存储器的高级断电通知的系统的实例。
图3示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的过程流程图的实例。
图4示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的过程流程图的实例。
图5示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的受管理存储器系统控制器的框图。
图6示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的主机系统控制器的框图。
图7展示根据本文所公开的实例的支持受管理存储器的高级断电通知的存储器系统控制器的框图。
图8至10示出了说明根据本文所公开的实例的支持用于受管理存储器的高级断电通知的一或多种方法的流程图。
具体实施方式
系统可包含主机系统和为主机系统存储数据的存储器系统。举例来说,存储器系统可包含存储与来自主机系统的数据相关联的逻辑状态的NAND存储器单元。在一些情况下,存储器系统可执行后台操作或数据维护操作,例如垃圾收集、数据刷新或将数据从一个位置传递到另一位置。举例来说,在受管理NAND系统中,存储器系统可执行从单层级单元(SLC)块到三层级单元(TLC)块的数据折叠。当这些操作未在后台中执行时,存储器系统的性能可能降级且影响用户体验—例如,当这些操作与由主机系统发起的其它存取操作同时执行时,存储器系统的性能可能降级。另外,主机系统可在其发出断电通知之后的某段时间向存储器系统提供电力—例如,存储器系统可在接收到电力通知之后的某段时间保持供应有电压,而非立即切断。存储器系统可尝试利用此额外功率时段(例如,时间预算)来执行后台操作。在当前实施方案中,存储器系统可能不知道时间预算(例如,在供应到存储器系统的电源被去激活之前的持续时间)。因此,存储器系统可能无法完全利用时间并执行后台操作。
本文中描述用于主机系统的系统、技术和装置以指示在主机系统传输断电通知之后直到存储器系统的电源被去激活有多少时间可用(例如,时间预算)。这可使存储器系统能够利用后台操作的时间预算,同时降低操作被中断的风险—例如,在存储器系统正执行操作时电源被去激活。主机系统可通过索引多个(三个或三个以上)时间值中的一者或通过指示对应于时间量的数字(例如,当乘以一因数时)而使用指示时间量的值来提供时间预算。在一些实例中,存储器系统还可通过基于确定执行后台操作的持续时间而在去激活电源之前提供所请求的持续时间来进一步响应断电通知。如果所请求的持续时间小于主机系统所传输的时间预算,那么主机系统可基于初始值去激活电源。如果所请求的持续时间大于主机系统所传输的时间预算,那么主机系统可接受所请求的持续时间并用经更新的时间预算来响应,或者主机系统可保持初始时间预算而不提供经更新的时间—例如,主机系统可不发送具有所请求的持续时间的新电力通知。
本公开的特征最初在参考图1和2描述的系统、装置和电路的上下文中描述。在参考图3和4描述的上下文过程流程图中描述本公开的特征。参考图5至10所描述的用于受管理存储器的高级断电通知相关的设备图和流程图来进一步说明和描述本公开的这些和其它特征。
图1示出了根据本文所公开的实例的支持用于受管理存储器的高级断电通知的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可包含与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,主机系统控制器106可以是经配置以致使主机系统105根据本文所描述的实例执行各种操作的控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可包含经配置以用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用(例如)存储器系统110来将数据写入到存储器系统110并从存储器系统110读取数据。尽管图1中示出了一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口而与存储器系统110耦合。在一些情况下,主机系统105及存储器系统110可经配置以使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),和低功率双数据速率(LPDDR)接口。在一些实例中,可在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115之间包含或以其它方式支持一或多个此类接口。在一些实例中,主机系统105可经由存储器系统110中所包含的每一存储器装置130的相应物理主机接口或经由存储器系统110中所包含的每一类型的存储器装置130的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管在图1的实例中展示两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含一个以上存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合及通信(例如,经由物理主机接口),并且可以是经配置以致使存储器系统110根据如本文所描述的实例执行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并与存储器装置130通信以在存储器装置130处执行例如读取数据、写入数据、擦除数据或刷新数据的操作—以及其它此类操作—一般可称为存取操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此些命令(例如,在一或多个存储器装置130内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作,且可将命令或操作转换为指令或适当命令以实现存储器装置130的所需存取。在一些情况下,存储器系统控制器115可与主机系统105及与一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或以其它方式与来自主机系统105的命令相关联)。举例来说,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可经配置以用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如磨损均衡操作、垃圾收集操作、错误控制操作(例如错误检测操作或错误校正操作)、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监视,和与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬编码)逻辑的电路以执行本文中归属于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))或任何其它合适的处理器或处理电路。
存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行以执行本文中归属于存储器系统控制器115的功能的操作码(例如,可执行指令)的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于内部存储或计算的其它存储器,例如,与本文中归属于存储器系统控制器115的功能相关的存储器。另外或替代地,本地存储器120可用作存储器系统控制器115的高速缓存。例如,如果从存储器装置130读取数据或将数据写入到存储器装置130,那么数据可存储在本地存储器120中,且数据可在本地存储器120内可用以用于随后由主机系统105(例如,以相对于存储器装置130减少的时延)根据高速缓存策略进行检索或操纵(例如,更新)。
存储器装置130可包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在相同裸片上或在相同封装内)本地控制器135,其可对相应存储器装置130的一或多个存储器单元执行操作。本地控制器135可结合存储器系统控制器115操作,或可执行本文中归属于存储器系统控制器115的一或多个功能。例如,如图1所示,存储器装置130-a可包含本地控制器135-a,且存储器装置130-b可包含本地控制器135-b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。举例来说,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一片电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含一组相应的块170,其中每一块170可包含一组相应的页175,且每一页175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含经配置以各自存储一个信息位的存储器单元,其可被称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含经配置以各自存储多个信息位的存储器单元,如果经配置以各自存储两个信息位,那么其可称为多层级单元(MLC),如果经配置以各自存储三个信息位,那么其可称为三层级单元(TLC),如果经配置以各自存储四个信息位,那么其可称为四层级单元(QLC),或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。
在一些情况下,平面165可以指块170的群组,并且在一些情况下,并行操作可在不同平面165内进行。例如,并行操作可在不同块170内的存储器单元上执行,只要不同块170是在不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如相同操作是在相应平面165内具有相同页地址的不同页175内的存储器单元上执行的(例如,涉及命令解码、页地址解码电路系统或跨平面165共享的其它电路系统)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未展示)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。此外,在一些情况下,NAND存储器单元可在其可用新数据重写之前进行擦除。因此,举例来说,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
在一些情况下,为了更新块170内的一些数据同时保留块170内的其它数据,存储器装置130可将待保留的数据复制到新块170且将经更新的数据写入到新块170的一或多个剩余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保留在旧块170中的数据标记或以其它方式指定为无效或过时的,且可更新逻辑到物理(L2P)映射表以将数据的逻辑地址(例如,LBA)与新的有效块170而非旧的无效块170相关联。在一些情况下,这种复制和重新映射可代替擦除和重写整个旧块170,例如由于时延或磨损考虑。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,在一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
在一些情况下,可维护L2P映射表且可在页粒度级别上将数据标记为有效或无效,并且页175可包含有效数据、无效数据或不包含数据。无效数据可以是由于存储在存储器装置130的不同页175中的数据的更近版本或经更新版本而过时的数据。无效数据可能已先前编程到无效页175,但可能不再与有效逻辑地址(例如主机系统105所参考的逻辑地址)相关联。有效数据可以是存储在存储装置130上的这种数据的最新版本。不包含数据的页175可以是从未写入或已擦除的页175。
在一些情况下,存储器系统控制器115或本地控制器135可执行存储器装置130的操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。举例来说,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用被称作“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指媒体管理操作集,其包含(例如)选择含有有效和无效数据的块170,选择含有有效数据的块中的页175,将有效数据从选定页175复制到新位置(例如,另一块170中的空闲页175),将先前选定页175中的数据标记为无效,以及擦除选定块170。因此,可增加已擦除的块170的数量,使得更多块170可用于存储后续数据(例如,后续从主机系统105接收到的数据)。
系统100可包含支持受管理存储器的高级断电通知的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取存储用于执行本文中归属于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)的一或多个非暂时性计算机可读媒体。举例来说,此类指令在由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115或由存储器装置130(例如,由本地控制器135)执行时可致使主机系统105、存储器系统控制器115或存储器装置130执行如本文所描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例为受管理NAND(MNAND)系统。
在一些实例中,主机系统105可向存储器系统110传输断电通知。也就是说,主机系统105可不立即关闭存储器系统110,而是可传输指示即将断电的通知。在一些实例中,存储器系统110可能无法确定直到存储器系统110的电源被去激活为止剩余的时间量。也就是说,尽管存储器系统110可被给予将发生断电的指示,但存储器系统110可能不知道何时被去激活或还有多长时间被去激活。因此,存储器系统110可限制存储器系统110可在断电通知与去激活之间执行的操作的类型或量。例如,存储器系统110可能需要时间来执行后台操作,例如刷新或垃圾收集。与主机系统105相关联的操作同时执行这些操作可导致系统的性能降级。断电通知与去激活之间的时间可允许存储器系统110执行这些后台操作。在不知道剩余的时间量的情况下,存储器系统110可能无法完全利用此时间。
如本文中所描述,主机系统105可传输断电通知,断电通知包含指示直到存储器系统110被去激活(例如,电源被移除或被去激活)为止剩余的时间量的值。因此,存储器系统110可更好地利用剩余的时间—例如,存储器系统110可减少由于存储器系统110的去激活而暂停操作的风险。存储器系统110还可确定执行操作所需的时间量并传输对额外时间的请求。在此类实例中,主机系统105可接受请求并增加时间或维持原始时间,且在断电通知中指示的时间之后去激活存储器系统110。
图2示出了根据本文所公开的实例的支持用于受管理存储器的高级断电通知的系统200的实例。系统200可以是如参考图1或其方面描述的系统100的实例。系统200可包含存储器系统210,其经配置以存储从主机系统205接收到的数据,且如果由主机系统205使用存取命令(例如,读取命令或写入命令)来请求,那么将数据发送到主机系统205。系统200可实施参考图1所描述的系统100的方面。举例来说,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收到存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中所描述。存储器装置240可包含如参考图1所描述的一或多个存储器装置。举例来说,存储器装置240可包含NAND存储器、PCM、自选择存储器、3D交叉点、其它基于硫属化物的存储器、FERAM、MRAM、NOR(例如,NOR快闪)存储器、STT-MRAM、CBRAM、RRAM或OxRAM。
存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,例如用于存储数据、检索数据,和确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用对每种类型的存储装置240特定的协议直接或经由总线(未示出)与存储装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每一类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1所描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220和用于临时存储在主机系统205与存储器装置240之间传递的数据的缓冲器225。接口220、缓冲器225和存储控制器230可用于在主机系统205与存储器装置240之间转换数据,例如,如数据路径250所示,且可统称为数据路径组件。
在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的时延且允许与命令相关联的任意数据大小。这还可允许处置命令的突发,且一旦突发已停止,便可存储或传输(或两者)缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM)或硬件加速器或两者,以允许将数据快速存储到缓冲器225和从缓冲器225检索数据。缓冲器225可包含用于在缓冲器225与其它组件之间双向数据传递的数据路径交换组件。
数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可能不直接从缓冲器225读取数据。例如,可将读取命令添加到队列中,而无需将地址与已经在缓冲器225中的地址相匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。例如,如果来自主机系统205的一个以上存取命令由存储器系统210同时处理,那么这可能是有益的。作为可能实施方案的实例,命令队列260、缓冲器队列265和存储队列270分别被描绘为在接口220、存储器系统控制器215和存储控制器230处。然而,队列(如果使用)可位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可使用通过数据路径组件的数据路径250而非总线235。存储器系统控制器215可通过在总线235上与数据路径组件通信(例如,使用特定于存储器系统210的协议)来控制如何及是否在主机系统205与存储器装置240之间传递数据。
如果主机系统205将存取命令传输到存储器系统210,那么命令可由接口220例如根据协议(例如,UFS协议或eMMC协议)接收。因此,接口220可被视为存储器系统210的前端。在接收到每一存取命令后,接口220可(例如)经由总线235将命令传送到存储器系统控制器215。在一些情况下,可通过接口220将每一命令添加到命令队列260以将命令传送到存储器系统控制器215。
存储器系统控制器215可基于来自接口220的通信来确定已接收到存取命令。在一些情况下,存储器系统控制器215可通过从命令队列260检索命令来确定已接收到存取命令。例如,在命令由存储器系统控制器215从命令队列260检索命令之后,命令可从命令队列260移除。在一些情况下,存储器系统控制器215可(例如)经由总线235致使接口220从命令队列260移除命令。
在确定已接收到存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据并将数据传输到主机系统205。对于写入命令,这可能意味着从主机系统205接收数据并将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可使用缓冲器225来临时存储正从主机系统205接收或发送到主机系统205的数据。缓冲器225可被视为存储器系统210的中间端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)执行。
为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与写入命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,命令流包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可由存储器系统控制器215移动到缓冲器队列265,且可在相关联的数据存储在缓冲器225中时保持在缓冲器队列265中。在一些情况下,缓冲器队列265中的每一命令可与缓冲器225处的地址相关联。也就是说,可维持指示与每一命令相关联的数据存储在缓冲器225中何处的指针。使用缓冲器队列265,可从主机系统205循序接收多个存取命令且可并行处理存取命令的至少若干部分。
如果缓冲器225具有足够的空间来存储写入数据,那么存储器系统控制器215可致使接口220例如根据协议(例如,UFS协议或eMMC协议)将可用性指示(例如,“准备好传递”指示)传输到主机系统205。当接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传递到缓冲器225以用于临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内用以存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传送。
一旦接口220已将写入数据存储在缓冲器225中,数据就被可传递出缓冲器225并存储在存储器装置240中。这可使用存储控制器230来完成。举例来说,存储器系统控制器215可致使存储控制器230使用数据路径250从缓冲器225检索数据并将数据传递到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可(例如)经由总线235向存储器系统控制器215指示到存储器装置240的存储器装置的数据传递已完成。
在一些情况下,存储队列270可用于辅助写入数据的传送。举例来说,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示在缓冲器225中何处存储与命令相关联的数据;及存储指针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得缓冲器225内的从其获得数据的位置。存储控制器230可管理存储器装置240内的存储数据(例如,进行耗损均衡、垃圾收集和其类似物)的位置。条目可(例如)由存储器系统控制器215添加到存储队列270。在完成数据传递时,例如可由存储控制器230或存储器系统控制器215从存储队列270中移除条目。
为了处理从主机系统205接收到的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于以与上文关于写入命令所论述的类似方式来辅助与读取命令相关联的数据的缓冲器存储。举例来说,如果缓冲器225具有足够的空间来存储读取数据,那么存储器系统控制器215可致使存储控制器230从存储器装置240检索与读取命令相关联的数据并使用数据路径250将数据存储在缓冲器225中以用于临时存储。存储控制器230可(例如)经由总线235向存储器系统控制器215指示到缓冲器225的数据传递何时已完成。
在一些情况下,存储队列270可用于辅助读取数据的传送。举例来说,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内的从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内用以存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内用以存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
一旦数据已由存储控制器230存储在缓冲器225中,那么数据可被传递出缓冲器225并发送至主机系统205。举例来说,存储器系统控制器215可致使接口220使用数据路径250从缓冲器225检索数据并(例如)根据协议(例如,UFS协议或eMMC协议)将数据传输到主机系统205。举例来说,接口220可处理来自命令队列260的命令,且可例如经由总线235向存储器系统控制器215指示已完成到主机系统205的数据传输。
存储器系统控制器215可根据次序(例如,根据命令队列260的次序的先入先出次序)执行接收到的命令。对于每一命令,存储器系统控制器215可使得对应于命令的数据移动进出缓冲器225,如上文所论述。当数据被移入并存储在缓冲器225中时,命令可保留在缓冲器队列265中。如果命令的处理已完成(例如,如果对应于存取命令的数据已被传递出缓冲器225),那么可(例如)由存储器系统控制器215从缓冲器队列265移除命令。如果从缓冲器队列265移除命令,那么先前存储与命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外经配置以用于与存储器装置240相关联的操作。举例来说,存储器系统控制器215可执行或管理操作,例如磨损均衡操作、垃圾收集操作、错误控制操作(例如错误检测操作或错误校正操作)、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监视,和与来自主机系统205的命令相关联的逻辑地址(例如,LBA)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。也就是说,主机系统205可发出指示一或多个LBA的命令,且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个邻接LBA可对应于非邻接的物理块地址。在一些情况下,存储控制器230可经配置以结合存储器系统控制器215或代替存储器系统控制器215来执行上述操作中的一或多个。在一些情况下,存储器系统控制器215可执行存储控制器230的功能,且存储控制器230可被省略。
在一些实例中,存储器系统控制器215可从主机系统205接收指示存储器系统210将很快被去激活的断电通知。存储器系统控制器215可经配置以在接收断电通知的持续时间与去激活之间执行后台操作。当存储器系统控制器215不知道剩余多少时间时,存储器系统控制器215可能无法完全利用此时段。
如本文中所描述,存储器系统控制器215可从主机系统205接收断电通知,断电通知还包含指示直到存储器系统210的电源被去激活为止剩余的时间量的值(例如,指示功率将保持至少由该值指示的时间量)。通过知道剩余的最小时间量,存储器系统控制器215可确定后台操作或要执行的后台操作的次序—例如,如果存在相对较长的剩余的时间,那么存储器系统控制器215可执行更多或相对较长的后台操作。存储器系统控制器215还可经配置以传输对通知的响应,该响应包含存储器系统控制器215估计其需要完成某些后台操作的第二时间。主机系统205可接受第二时间并传输具有第二时间的第二断电通知,或者维持所指示的原始时间。
图3示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的过程流程300的实例。过程流程300可包含主机系统305和存储器系统310,其可以是如参考图1所描述的主机系统105和存储器系统110的相应实例。尽管以特定的序列或顺序显示,但除非另有说明,否则可以修改过程的顺序。因此,所说明的实例用作实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实例中省略一或多个过程。因此,在每个实例中并不需要所有过程。其它过程流程也是可能的。过程流程300说明了这样的实例,即主机系统提供断电通知(该通知具有直到存储器系统的电源被去激活为止剩余的时间),从而使存储器系统能够执行后台操作,操作被暂停的风险降低。
在315处,确定多个组件的最小持续时间。例如,主机系统305(例如,参考图1描述的主机系统105)可确定多个组件断电的最小持续时间。在一些实例中,主机系统305可包含片上系统(SOC)和功率管理组件。在此类实例中,功率管理组件可确定主机系统305中的多个组件从第一功率状态转换到第二功率状态(例如,从上电状态转换到断电状态)的最小持续时间。例如,主机系统305可包含在汽车中。在此类情况下,主机系统305功率管理组件可确定关闭汽车中的组件(如前灯、刹车灯、显示器、门灯等)的最小持续时间。主机系统305还可基于主机系统305执行内务处理操作(例如,主机系统处的数据维护)将花费的时间来确定最小持续时间。
然后,主机系统305可将第一断电通知320发送到存储器系统310。举例来说,存储器系统310(例如,如参考图1所描述的存储器系统110)可从主机系统305接收第一断电通知320。可在存储器系统控制器(例如,如参考图1所描述的存储器系统控制器115)处接收第一断电通知320。在一些实例中,主机系统305可传输第一断电通知320以指示存储器系统310将从第一状态转变到第二状态。举例来说,第一电力通知可将存储器系统310置于正常操作与被去激活或未通电状态之间的过渡状态中。也就是说,在第二状态期间,主机系统305可制止与存储器系统310通信,而是继续对多个组件断电或执行内务处理操作。主机系统305还可传输具有对应于最小持续时间的值321的第一断电通知320。在此类情况下,主机系统305可指示直到存储器系统310的电源被去激活(例如,存储器系统310被关闭)为止剩余的最小时间量。也就是说,主机系统305可不立即使存储器系统310断电。在一些实例中,值321可包括多个比特。也就是说,主机系统305可利用第一断电通知的保留位来指示剩余的最小时间量。当该值指示时间值时,主机系统305可利用多个比特来传送信息。在一些情况下,主机系统305还可对该值进行编码。
在325处,可确定最小持续时间。举例来说,存储器系统310可基于从主机系统305接收到的值321来确定最小持续时间。最小持续时间可在存储器系统控制器处确定。在一些实例中,主机系统305可传输对直到存储器阵列的电源被去激活为止剩余的时间量的索引(例如,对预配置值的表的索引)。也就是说,主机系统305可基于确定的最小持续时间从多个(三或多个)时间值中选择时间预算。因此,存储器系统310可接收该值并确定直到电源被去激活为止剩余的最小持续时间(例如,时间预算)。例如,存储器系统310可基于读取在存储器系统310的一或多个寄存器处存储多个最小持续时间的表来识别最小持续时间。也就是说,该表可包含至少三个或三个以上最小持续时间,且存储器系统310可通过使用所接收到的值来选择该表的条目来确定从主机系统305接收到的最小持续时间。在一些情况下,主机系统305可预先配置值表。在其它实例中,存储器系统310可通过转换数值321(例如,将数值乘以一因数)来确定最小持续时间。例如,数值321包含两个或两个以上位,且存储器系统310可将由两个或两个以上位给定的数目乘以一因数来获得最小持续时间。通过确定最小持续时间,存储器系统310可确定直到电源被去激活为止剩余的时间。存储器系统310可通过利用从主机系统305接收到的最小持续时间和时间值来降低在接收到第一断电通知320之后执行操作的风险。
在330处,可确定操作次序。举例来说,存储器系统310可基于从主机系统305接收到的值来确定用以执行操作的次序。可在存储器系统控制器处确定执行操作的次序。在一些实例中,存储器系统310可执行后台操作,如垃圾收集、数据刷新或从SLC块到TLC块的数据折叠。通过接收该值并确定最小持续时间,存储器系统310可确定执行多个后台操作的次序。举例来说,存储器系统310可基于从主机系统305接收到的时间预算来确定次序—例如,如果时间预算相对较长,那么存储器系统310可执行更多后台操作,或花费较长时间量的后台操作。相反,当时间预算相对较短时,存储器系统310可执行花费较短时间量的后台操作。存储器系统310还可基于维护数据来确定操作的次序。举例来说,存储器系统310可优先化数据从高速缓存到主阵列的移动以避免在被去激活时丢失数据—例如,将数据从易失性单元移动到非易失性单元以避免在电源被去激活时丢失数据。存储器系统310还可基于与存储器系统310的存储器阵列相关联的参数来确定次序。
在335处,可确定参数。举例来说,存储器系统310可在确定操作的次序的同时确定参数。可在存储器系统控制器处确定参数。在一些实例中,存储器系统310可在确定执行操作的次序之前、之后或期间确定参数。也就是说,步骤335可在330之前、与330同时或在330之后。存储器系统310可利用该参数来确定次序。举例来说,存储器系统310可通过检测存储器系统310内的存储器单元的温度来确定参数。在一些情况下,存储器系统310可从写入存储器单元时的温度和接收到断电通知时的温度确定显著的温度变化。因此,存储器系统310可在执行其它内务处理操作之前首先复制存储在与温度改变相关联的存储器单元中的数据。
在其它实例中,存储器系统310可通过确定与存储器单元相关联的经编程擦除循环(例如,擦除操作)的数量来确定参数。在一些情况下,存储器系统310可在对已擦除相对较低次数的存储器单元执行内务处理操作之前对已擦除相对较高次数的存储器单元执行内务处理操作(例如,刷新数据)。另外或替代地,存储器系统310可通过确定存储器系统310中要刷新或收集垃圾的块数量来确定参数。如果存储器系统310确定存在待刷新或待收集垃圾的相对较高数量的块,那么存储器系统310可首先执行刷新和垃圾收集操作。在其它情况下,存储器系统310可通过确定存储器系统310的电源被去激活的平均持续时间来确定参数。也就是说,存储器系统310可确定存储器系统310被去激活的平均时间量。如果存储器系统310被去激活相对较长的时间段,那么存储器系统310可更周期性地执行刷新操作—例如,存储器系统310可将刷新操作区分优先次序以确保数据的维护。
在340处,可执行操作。举例来说,存储器系统310可基于在330处确定的次序执行操作。操作可由存储器系统控制器执行。存储器系统310可在确定次序之后执行内务处理操作。举例来说,存储器系统310可执行垃圾收集操作,将存储在高速缓存处的数据传递到存储器阵列,执行数据折叠,执行刷新操作等。
在345处,存储器系统310可被去激活。举例来说,主机系统305可去激活存储器系统310。在一些实例中,主机系统305可在最小持续时间之后去激活(例如,关闭或移除)存储器系统310的电源。主机系统305还可将多个组件从第一功率状态转换到第二功率状态—例如,将多个组件断电。在一些实例中,存储器系统310可在电源被去激活时执行操作。在此类实例中,存储器系统310可暂停操作。在一些实例中,存储器系统310可随后由主机系统305激活。存储器系统310可最终接收包括对应于第二最小持续时间的第二值的第二断电通知。在此类实例中,存储器系统310可如325处所描述确定第二最小持续时间。存储器系统310还可如330处所描述确定操作次序。在345处主机系统305去激活存储器系统310之后操作被暂停的实例中,存储器系统310可基于该暂停确定次序。举例来说,存储器系统310可在第二最小持续时间期间执行其它内务处理操作之前首先执行暂停操作。
图4示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的过程流程400的实例。过程流程400可包含主机系统405和存储器系统410,其可以是如参考图1所描述的主机系统105和存储器系统110的相应实例。尽管以特定的序列或顺序显示,但除非另有说明,否则可以修改过程的顺序。因此,所说明的实例用作实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实例中省略一或多个过程。因此,在每个实例中并不需要所有过程。其它过程流程也是可能的。过程流程400说明了这样的实例,即主机系统提供断电通知(该通知具有直到存储器系统的电源被去激活为止剩余的时间),且存储器系统以其将用以执行内务处理操作的第二时间作出响应。
主机系统可将具有第一最小持续时间的第一断电通知415传输到存储器系统410。存储器系统410(例如,如参考图1所描述的存储器系统110)可从主机系统405(例如,如参考图1所描述的主机系统105)接收第一断电通知415。可在存储器系统控制器(例如,如参考图1所描述的存储器系统控制器115)处接收第一断电通知415。如参考图3所描述,主机系统405可确定使多个组件断电的第一最小持续时间并传输断电通知,该断电通知包含与直到存储器系统的电源被去激活为止剩余的时间相关联的值416。主机系统405还可将存储器系统410从第一状态转变到第二状态,如参考图3所描述。
在420处,可确定第二最小持续时间。例如,存储器系统410可确定第二最小持续时间。可在存储器系统控制器处作出该确定。在一些实例中,存储器系统410可确定执行经调度后台操作的持续时间—例如,存储器系统410在此功率循环中需要多长时间来执行后台操作。举例来说,存储器系统410可确定执行刷新操作、执行从SLC块到TLC块的数据折叠或执行垃圾收集操作的持续时间。在一些实例中,存储器系统410可在类似于确定执行参考图3所描述的多个操作的次序的过程中确定第二最小持续时间。例如,存储器系统410可利用参数来确定第二最小持续时间。参数可基于存储器系统中的存储器阵列的温度、在存储器阵列处执行的经编程擦除循环的数量、待经历垃圾收集的块数量或存储器系统410被去激活(例如,处于断电状态)的平均持续时间。
存储器系统410可向主机系统405传输包含第二最小持续时间426的断电通知响应425。通过传输断电通知响应415,存储器系统410可向主机系统405指示存储器系统410正请求执行后台操作的第二最小持续时间426—例如,存储器系统410将需要执行后台操作的时间量。
在430处,可比较第一最小持续时间和第二最小持续时间。例如,主机系统405可比较第一最小持续时间和第二最小持续时间。在一些实例中,主机系统405可确定存储器系统410正请求的时间少于主机系统405最初提供的时间—例如,主机系统405可确定第二最小持续时间小于第一最小持续时间。在此类实例中,主机系统405可前进到步骤440。在其它实例中,主机系统405可确定存储器系统410正请求的时间多于主机系统405最初提供的时间—例如,主机系统405可确定第二最小持续时间大于第一最小持续时间。在此类实例中,主机系统405可忽略第二最小持续时间(例如,保持初始最小持续时间)并前进到步骤440,或者主机系统405可接受第二最小持续时间。
如果主机系统405接受第二最小持续时间,那么主机系统405可将具有第三最小持续时间436的第二断电通知435发送到存储器系统410。第二断电通知435可在存储器系统控制器处被接收。在一些情况下,第三最小持续时间可与第二最小持续时间相同。在一些实例中,存储器系统410还可在接收到第二断电通知435之后将第二断电通知响应传输到主机系统405。也就是说,存储器系统410可传输响应以向主机系统405指示主机系统405可在第三最小持续时间之后去激活存储器系统的电源。
在440处,可不传输第二通知。举例来说,主机系统405可制止将第二断电通知传输到存储器系统410。在一些实例中,主机系统405可基于第一最小持续时间超过第二最小持续时间而制止传输具有由存储器系统410请求的第二最小持续时间的第二断电通知。也就是说,主机系统405可确定存储器系统410具有充足的时间来执行后台操作且不需要额外时间。因此,主机系统405可不传输额外通知并继续如参考图3所描述的对多个组件断电。在其它实例中,即使第二最小持续时间超过第一最小持续时间,主机系统405也可制止传输第二通知。也就是说,主机系统405可忽略存储器系统410的请求。
在445处,可由存储器系统410执行操作。举例来说,存储器系统410可执行后台操作或内务处理操作。操作可由存储器系统控制器发起。在一些实例中,存储器系统410可接收第二断电通知435。在此类实例中,存储器系统410可执行其所请求完成的操作—例如,存储器系统410用以确定第二最小持续时间的操作。在其它实例中,存储器系统410可确定不存在第二断电通知。当存储器系统410确定不存在第二断电通知时,其可利用第一最小持续时间和值416修改用于在445处执行的操作,以完成操作。当存储器系统410确定第二最小持续时间小于第一最小持续时间时,存储器系统410可继续正常地执行多个操作—例如,具有因存储器系统410电源的去激活而中断或暂停操作的低风险。存储器系统410可确定执行如参考图3所描述的操作的次序。当存储器系统410确定第二最小持续时间大于第一最小持续时间时(例如,且在未接收到第二断电通知的情况下),存储器系统410可首先确定执行操作的次序。也就是说,存储器系统410可确定没有足够的时间来完成所有操作且首先将某些操作(例如,将数据从高速缓存传递到存储器阵列)区分优先级。存储器系统410可确定如参考图3所描述的次序。然后,存储器系统410可执行操作。如果操作被暂停(例如,在存储器系统410执行操作时电源被去激活),那么存储器系统410可如参考图3所描述继续进行—例如,通过考虑暂停的操作来确定后续断电通知的顺序。
在450处,存储器系统可被去激活。举例来说,主机系统405可去激活存储器系统410。在一些实例中,主机系统450可通过移除或去激活存储器系统410的电源来去激活存储器系统410。在主机系统405制止传输第二通知的实例中,主机系统405可在第一最小持续时间之后去激活电源。在主机系统405传输第二通知的实例中,主机系统405可在第二最小持续时间之后去激活电源。
图5示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的受管理存储器系统控制器520的框图500。受管理存储器系统控制器520可以是如参考图1至4所描述的受管理存储器系统控制器的方面的实例。受管理存储器系统控制器520或其各种组件可以是用于执行如本文所描述的受管理存储器的高级断电通知的各方面的构件的实例。例如,受管理存储器系统控制器520可包含通知组件530、操作组件535、数据组件540、参数组件545或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
通知组件530可经配置为或以其它方式支持用于在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示从存储器阵列的第一状态到存储器阵列的第二状态的转变的通知的构件,该通知包含值,该值包含多个位且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间。在一些情况下,通知组件530可经配置为或以其它方式支持用于接收指示从存储器阵列的第一状态到第二状态的转变的第二通知的构件,该通知包含第二值,第二值对应于直到存储器阵列的电源被去激活为止剩余的第二最小持续时间。
操作组件535可经配置为或以其它方式支持用于根据至少部分地基于与存储器阵列相关联的参数而确定的次序来执行多个操作,且接收包含值的通知的构件。在一些情况下,由操作组件535执行的多个操作可与存储在多个存储器单元处的数据的维护相关联。在一些实例中,操作组件535可经配置为或以其它方式支持用于至少部分地基于直到存储器阵列的电源被去激活为止剩余的最小持续时间的期满来暂停多个操作中的操作的构件。
在一些情况下,操作组件535可经配置为或以其它方式支持用于至少部分地基于正被激活的存储器阵列的电源在第二持续时间之后初始化存储器阵列的构件。在一些情况下,操作组件535可经配置为或以其它方式支持用于根据至少部分地基于参数而确定的第二次序,在第二最小持续时间中执行第二多个操作且接收通知和值的构件,其中第二多个操作包含多个操作中的操作,并且其中第二次序至少部分地基于暂停操作。
在一些实例中,数据组件540可经配置为或以其它方式支持用于至少部分地基于接收到通知而将存储在与存储器阵列耦合的高速缓存处的数据传递到存储器阵列的构件。
在一些情况下,参数组件545可经配置为或以其它方式支持用于检测多个存储器单元的温度的构件,其中参数至少部分地基于多个存储器单元的温度。在一些情况下,参数组件545可经配置为或以其它方式支持用于确定在存储器阵列处执行的擦除操作的数量的构件,其中参数至少部分地基于擦除操作的数量。在一些实例中,参数组件545可经配置为或以其它方式支持用于确定与存储器组织操作相关联的存储器阵列中的多个块的块数量的构件,其中参数至少部分地基于块数量。
在一些情况下,参数组件545可经配置为或以其它方式支持用于确定存储器阵列的电源被去激活的平均持续时间的构件,其中参数至少部分地基于平均持续时间。在一些情况下,参数组件545可经配置为或以其它方式支持用于至少部分地基于接收到值来从多个最小持续时间中识别最小持续时间的构件,其中多个最小持续时间至少包含最小持续时间,第二最小持续时间和第三最小持续时间。在一些情况下,参数组件545可经配置为或以其它方式支持用于至少部分地基于读取存储在寄存器中的表来确定最小持续时间的构件,该寄存器存储多个最小持续时间。
图6示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的主机系统控制器620的框图600。主机系统控制器620可以是参考图1至4所描述的主机系统控制器的方面的实例。主机系统控制器620或其各种组件可以是用于执行如本文所描述的受管理存储器的高级断电通知的各方面的构件的实例。例如,主机系统控制器620可包含功率组件625、传输组件630、接收组件635或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
功率组件625可经配置为或以其它方式支持用于确定将经配置以执行操作的多个组件从第一功率状态转换到第二功率状态的最小持续时间的构件。在一些情况下,功率组件625可经配置为或以其它方式支持用于至少部分地基于传输通知,将多个组件从第一功率状态转换到第二功率状态,并在最小持续时间之后去激活存储器系统的电源的构件。在一些情况下,功率组件625可经配置为或以其它方式支持用于至少部分地基于从存储器系统接收响应而确定第二值大于该值的构件。
在一些实例中,功率组件625可经配置为或以其它方式支持用于至少部分地基于传输第二通知而在第二最小持续时间之后去激活存储器系统的电源的构件。
在一些实例中,功率组件625可经配置为或以其它方式支持用于至少部分地基于从存储器系统接收响应而确定第二值大于该值的构件。在一些情况下,功率组件625可经配置为或以其它方式支持用于至少部分地基于从存储器系统接收响应而确定第二值小于该值的构件。在一些实例中,功率组件625可经配置为或以其它方式支持用于至少部分地基于确定第二值而在最小持续时间之后去激活存储器系统的电源的构件。
传输组件630可经配置为或以其它方式支持用于向存储器系统传输指示从存储器系统的第一状态到第二状态的转变的通知的构件,通知包含对应于最小持续时间的值,其中该值指示直到存储器系统的电源被去激活为止剩余的最小持续时间。在一些情况下,传输组件630可经配置为或以其它方式支持用于至少部分地基于将通知传输到存储器系统来制止在去激活存储器系统的电源之前将命令传输到存储器系统的构件。在一些情况下,传输组件630可经配置为或以其它方式支持用于将第二通知传输到存储器系统的构件,第二通知包含第二值,第二值指示直到存储器系统的电源被去激活为止剩余的第二最小持续时间。在一些情况下,传输组件630可经配置为或以其它方式支持用于至少部分地基于确定第二值来制止向存储器系统传输第二通知并在最小持续时间之后去激活电源的构件。
在一些情况下,接收组件635可经配置为或以其它方式支持用于在传输通知之后从存储器系统接收响应的构件,响应包含第二值,第二值对应于与在存储器系统处执行多个操作相关联的第二最小持续时间。
图7示出了根据本文所公开的实例的支持受管理存储器的高级断电通知的存储器系统控制器720的框图700。存储器系统控制器720可以是参考图1至4所描述的存储器系统控制器的方面的实例。存储器系统控制器720或其各种组件可以是用于执行如本文所描述的受管理存储器的高级断电通知的各方面的构件的实例。举例来说,存储器系统控制器720可包含通知管理器725、操作管理器730、传输管理器735、参数管理器740或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
通知管理器725可经配置为或以其它方式支持用于在控制器处接收指示从包含存储数据集的多个存储器单元的存储器阵列的第一状态到第二状态的转变的通知的构件,该通知包含第一值,第一值对应于直到存储器阵列的电源被去激活为止剩余的第一最小持续时间。在一些情况下,通知管理器725可经配置为或以其它方式支持用于接收第二通知的构件,第二通知包含第二值,第二值对应于直到存储器阵列的电源被去激活为止剩余的第二最小持续时间。
在一些情况下,通知管理器725可经配置为或以其它方式支持用于确定不存在包含对应于第二最小持续时间的第二值的第二通知的构件。在一些实例中,通知管理器725可经配置为或以其它方式支持用于确定不存在包含对应于第二最小持续时间的第二值的第二通知的构件。
操作管理器730可经配置为或以其它方式支持用于确定第二最小持续时间以执行与该数据集的维护相关联的多个操作的构件。在一些情况下,操作管理器730可经配置为或以其它方式支持用于根据至少部分地基于确定不存在第二通知和确定第二最小持续时间超过第一最小持续时间而确定的次序来执行大量操作的构件。在一些情况下,操作管理器730可经配置以或者支持用于至少部分地基于识别出第二最小持续时间小于第一最小持续时间来在第二最小持续时间中执行多个操作的构件。
传输管理器735可经配置以或者支持用于至少部分地基于确定第二最小持续时间来传输响应的构件,其中响应包含对应于第二最小持续时间的第二值,以执行多个操作。
在一些情况下,参数管理器740可经配置为或以其它方式支持用于确定与存储器阵列相关联的参数的构件,其中控制器经配置以至少部分地基于参数来确定第二最小持续时间。在一些情况下,参数管理器740可经配置以确定与存储器阵列的温度、在存储器阵列处执行的擦除操作的数量、与存储器组织操作相关联的存储器阵列中的多个块的块数量或存储器阵列的电源被去激活的平均持续时间相关联的参数。
图8示出了说明根据本文所公开的实例的支持用于受管理存储器的高级断电通知的方法800的流程图。方法800的操作可由如本文所描述的受管理存储器系统控制器或其组件来实施。举例来说,方法800的操作可由如参考图1至5所描述的受管理存储器系统控制器来执行。在一些实例中,受管理存储器系统控制器可执行指令集,以控制装置的功能元件来执行所描述的功能。另外或替代地,受管理系统存储器控制器可使用专用硬件来执行所描述的功能的方面。
在805处,方法可包含在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示从存储器阵列的第一状态到存储器阵列的第二状态的转变的通知,该通知包含值,该值包含多个位且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间。可根据如本文中所公开的实例执行805的操作。在一些实例中,805的操作的方面可由如参考图5所描述的通知组件530来执行。
在810处,方法可包含根据至少部分地基于与存储器阵列相关联的参数以及接收包含值的通知而确定的次序来执行多个操作。可根据如本文中所公开的实例执行810的操作。在一些实例中,810的操作的方面可由如参考图5所描述的操作组件535来执行。
在一些实例中,本文所描述的设备可执行一或多种方法,例如方法800。该设备可包含用于在与包含多个存储器单元的存储器阵列耦合的控制器处接收指示从存储器阵列的第一状态到存储器阵列的第二状态的转变的通知的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体),该通知包含值,该值包含多个位且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间,且根据至少部分地基于与存储器阵列相关联的参数以及接收包含该值的通知而确定的次序来执行多个操作。
在本文中所描述的方法800和设备的一些实例中,多个操作可与对存储在多个存储器单元处的数据的维护相关联。
在本文中所描述的方法800和设备的一些情况下,方法、设备和非暂时性计算机可读媒体可包含用于至少部分地基于接收到通知而将存储在与存储器阵列耦合的高速缓存处的数据传递到存储器阵列的其它操作、特征、电路、逻辑、构件或指令。
本文中所描述的方法800和设备的一些情况可进一步包含用于检测多个存储器单元的温度的操作、特征、电路、逻辑、构件或指令,其中参数可至少部分地基于多个存储器单元的温度。
本文中所描述的方法800和设备的一些实例可进一步包含用于确定在存储器阵列处执行的擦除操作的数量的操作、特征、电路、逻辑、构件或指令,其中参数可至少部分地基于擦除操作的数量。
本文中所描述的方法800和设备的一些实例可进一步包含用于确定与存储器组织操作相关联的存储器阵列中的多个块的块数量的操作、特征、电路、逻辑、构件或指令,其中参数可至少部分地基于块数量。
本文所描述的方法800和设备的一些实例可进一步包含用于确定存储器阵列的电源可被去激活的平均持续时间的操作、特征、电路、逻辑、构件或指令,其中参数可至少部分地基于平均持续时间。
本文中所描述的方法800和设备的一些情况可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:至少部分地基于直到存储器阵列的电源可被去激活为止剩余的最小持续时间的期满来暂停多个操作中的操作;至少部分地基于存储器阵列的电源被激活,在第二持续时间之后,初始化存储器阵列;接收指示从存储器阵列的第一状态到第二状态的转变的第二通知,通知包含第二值,第二值对应于直到存储器阵列的电源可被去激活为止剩余的第二最小持续时间;以及根据至少部分地基于参数以及接收通知和值而确定的第二次序,在第二最小持续时间中执行第二多个操作,其中第二多个操作包含多个操作中的操作,并且其中第二次序可至少部分地基于暂停操作。
本文中所描述的方法800和设备的一些实例可进一步包含用于至少部分地基于接收到该值来从多个最小持续时间中标识最小持续时间的操作、特征、电路、逻辑、构件或指令,其中多个最小持续时间至少包含最小持续时间,第二最小持续时间和第三最小持续时间。
本文中所描述的方法800和设备的一些情况还可包含用于至少部分地基于读取存储在寄存器中的表来确定最小持续时间的操作、特征、电路、逻辑、构件或指令,该寄存器存储多个最小持续时间。
图9示出了说明根据本文所公开的实例的支持用于受管理存储器的高级断电通知的方法900的流程图。方法900的操作可由本文中所描述的主机系统控制器或其组件来实施。例如,方法900的操作可由参考图1至4和6所描述的主机系统控制器来执行。在一些实例中,主机系统控制器可执行指令集以控制装置的功能元件来执行所描述的功能。另外或替代地,主机系统存储器控制器可使用专用硬件来执行所描述的功能的方面。
在905处,该方法可包含确定将经配置以执行操作的多个组件从第一功率状态转换到第二功率状态的最小持续时间。可根据如本文中所公开的实例执行905的操作。在一些实例中,905的操作的方面可由如参考图6所描述的功率组件625来执行。
在910处,方法可包含向存储器系统传输指示从存储器系统的第一状态到第二状态的转变的通知,通知包含对应于最小持续时间的值,其中该值指示直到存储器系统的电源被去激活为止剩余的最小持续时间。可根据如本文中所公开的实例执行910的操作。在一些实例中,910的操作的方面可由如参考图6所描述的传输组件630来执行。
在915处,方法可包含至少部分地基于将通知传输到存储器系统来制止在去激活存储器系统的电源之前将命令传输到存储器系统。可根据如本文中所公开的实例执行915的操作。在一些实例中,915的操作的方面可由如参考图6所描述的传输组件630来执行。
在920处,方法可包含至少部分地基于传输通知,将多个组件从第一功率状态转换到第二功率状态,并在最小持续时间之后去激活存储器系统的电源。可根据如本文中所公开的实例执行920的操作。在一些实例中,920的操作的方面可由如参考图6所描述的功率组件625来执行。
在一些实例中,本文所描述的设备可执行一或多种方法,例如方法900。设备可包含用于执行以下动作的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):确定将经配置以执行操作的多个组件从第一功率状态转换到第二功率状态的最小持续时间;向存储器系统传输指示从存储器系统的第一状态到第二状态的转变的通知,通知包含对应于最小持续时间的值,其中该值指示直到存储器系统的电源被去激活为止剩余的最小持续时间;至少部分地基于将通知传输到存储器系统来制止在去激活存储器系统的电源之前将命令传输到存储器系统;以及至少部分地基于传输通知,将多个组件从第一功率状态转换到第二功率状态,并在最小持续时间之后去激活存储器系统的电源。
本文中所描述的方法900和设备的一些实例可进一步包含用于在传输通知之后从存储器系统接收响应的操作、特征、电路、逻辑、构件或指令,响应包含第二值,第二值对应于与在存储器系统处执行多个操作相关联的第二最小持续时间。
本文中所描述的方法900和设备的一些情况可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:至少部分地基于从存储器系统接收到响应而确定第二值可大于值;将第二通知传输到存储器系统,第二通知包含指示直到存储器系统的电源可被去激活为止剩余的第二最小持续时间的第二值;以及至少部分地基于传输第二通知而在第二最小持续时间之后去激活存储器系统的电源。
本文中所描述的方法900和设备的一些情况可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:至少部分地基于从存储器系统接收到响应而确定第二值可大于值;以及至少部分地基于确定第二值来制止向存储器系统传输第二通知并在最小持续时间之后去激活电源。
本文中所描述的方法900和设备的一些实例可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:至少部分地基于从存储器系统接收到响应而确定第二值可小于值;以及至少部分地基于确定第二值而在最小持续时间之后去激活存储器系统的电源。
图10示出了说明根据本文所公开的实例的支持用于受管理存储器的高级断电通知的方法1000的流程图。方法1000的操作可由本文中所描述的存储器系统控制器或其组件来实施。例如,方法1000的操作可由参考图1至4和7所描述的存储器系统控制器来执行。在一些实例中,存储器系统控制器可执行指令集以控制装置的功能元件来执行所描述的功能。另外或替代地,系统存储器控制器可使用专用硬件来执行所描述的功能的方面。
在1005处,方法可包含在控制器处接收指示从包含存储数据集的多个存储器单元的存储器阵列的第一状态到第二状态的转变的通知,该通知包含第一值,第一值对应于直到存储器阵列的电源被去激活为止剩余的第一最小持续时间。可根据如本文中所公开的实例执行1005的操作。在一些实例中,1005的操作的方面可由如参考图7所描述的通知管理器725来执行。
在1010处,该方法可包含确定执行与数据集的维护相关联的多个操作的第二最小持续时间。可根据如本文中所公开的实例执行1010的操作。在一些实例中,1010的操作的方面可由如参考图7所描述的操作管理器730来执行。
在1015处,该方法可包含至少部分地基于确定第二最小持续时间来传输响应,其中响应包含对应于第二最小持续时间的第二值,以执行多个操作。可根据如本文中所公开的实例执行1015的操作。在一些实例中,1015的操作的方面可由如参考图7所描述的传输管理器735来执行。
在一些实例中,本文所描述的设备可执行一或多种方法,例如方法1000。设备可包含用于执行以下动作的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在控制器处接收指示从包含存储数据集的多个存储器单元的存储器阵列的第一状态到第二状态的转变的通知,该通知包含第一值,第一值对应于直到存储器阵列的电源被去激活为止剩余的第一最小持续时间,确定执行与数据集的维护相关联的多个操作的第二最小持续时间;以及至少部分地基于确定第二最小持续时间来传输响应,其中响应包含对应于第二最小持续时间的第二值,以执行多个操作。
本文中所描述的方法1000和设备的一些实例可进一步包含用于接收第二通知的操作、特征、电路、逻辑、构件或指令,第二通知包含第二值,第二值对应于直到存储器阵列的电源可被去激活为止剩余的第二最小持续时间。
本文中所描述的方法1000和设备的一些情况可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:确定不存在包含对应于第二最小持续时间的第二值的第二通知;以及根据至少部分地基于确定不存在第二通知和确定第二最小持续时间超过第一最小持续时间而确定的次序来执行大量操作。
本文中所描述的方法1000和设备的一些情况可进一步包含用于执行以下动作的操作、特征、电路、逻辑、构件或指令:确定不存在包含对应于第二最小持续时间的第二值的第二通知;以及至少部分地基于识别出第二最小持续时间可小于第一最小持续时间来在第二最小持续时间中执行多个操作。
本文中所描述的方法1000和设备的一些实例可进一步包含用于确定与存储器阵列相关联的参数的操作、特征、电路、逻辑、构件或指令,其中控制器可经配置以至少部分地基于参数来确定第二最小持续时间。
在本文中所描述的方法1000和设备的一些情况下,参数可与存储器阵列的温度、在存储器阵列处执行的擦除操作的数量、与存储器组织操作相关联的存储器阵列中的多个块的块数量或存储器阵列的电源可被去激活的平均持续时间相关联。
应注意,上文所描述的方法描述了可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自方法中的两种或更多种的部分。
描述了一种设备。该设备可包含:包含多个存储器单元的存储器阵列,和与存储器阵列耦合的控制器,且经配置以:接收指示从存储器阵列的第一状态到存储器阵列的第二状态的转变的通知,该通知包含值,该值包含多个位且对应于直到存储器阵列的电源被去激活为止剩余的最小持续时间,且根据至少部分地基于与存储器阵列相关联的参数而确定的次序来执行多个操作,且接收包含该值的通知。
在设备的一些情况下,多个操作可与对存储在多个存储器单元处的数据的维护相关联。
在设备的一些实例中,控制器可进一步经配置以执行多个操作,控制器可进一步经配置以至少部分地基于接收到通知而将存储在高速缓存处的数据传递到存储器阵列。
在一些情况下,控制器可进一步经配置以检测多个存储器单元的温度,其中参数可至少部分地基于多个存储器单元的温度。
在一些实例中,控制器可进一步经配置以确定在存储器阵列处执行的擦除操作的数量,其中参数可至少部分地基于擦除操作的数量。
在一些情况下,控制器可进一步经配置以确定与存储器组织操作相关联的多个块的块数量,其中参数可至少部分地基于块数量。
在一些实例中,控制器可进一步经配置以确定存储器阵列的电源可被去激活的平均持续时间,其中参数可至少部分地基于平均持续时间。
在一些情况下,控制器可进一步经配置以:至少部分地基于直到存储器阵列的电源可被去激活为止剩余的最小持续时间的期满来暂停多个操作中的操作;至少部分地基于存储器阵列的电源被激活,在第二持续时间之后,初始化存储器阵列;接收指示从存储器阵列的第一状态到第二状态的转变的第二通知,通知包含第二值,第二值对应于直到存储器阵列的电源可被去激活为止剩余的第二最小持续时间;以及根据至少部分地基于参数而确定的第二次序,在第二最小持续时间中执行第二多个操作且接收通知和值,其中第二多个操作包含多个操作中的操作,并且其中第二次序可至少部分地基于暂停操作。
在一些情况下,控制器还可经配置以至少部分地基于接收到值来从多个最小持续时间中识别最小持续时间,其中多个最小持续时间至少包含最小持续时间,第二最小持续时间和第三最小持续时间。
在一些情况下,控制器还可经配置以至少部分地基于读取存储在寄存器处的表来确定最小持续时间,寄存器存储多个最小持续时间。
描述另一种设备。该设备可包含:经配置以执行操作的多个组件,和与多个组件和存储器系统耦合的控制器,控制器经配置以:确定将多个组件从第一功率状态转换到第二功率状态的最小持续时间;向存储器系统传输指示从存储器系统的第一状态到第二状态的转变的通知,通知包含对应于最小持续时间的值,其中该值指示直到存储器系统的电源被去激活为止剩余的最小持续时间;至少部分地基于将通知传输到存储器系统来制止在去激活存储器系统的电源之前将命令传输到存储器系统;以及至少部分地基于传输通知,将多个组件从第一功率状态转换到第二功率状态,并在最小持续时间之后去激活存储器系统的电源
在一些情况下,控制器可进一步经配置以在传输通知之后从存储器系统接收响应,响应包含第二值,第二值对应于与在存储器系统处执行多个操作相关联的第二最小持续时间。
在一些情况下,控制器可进一步经配置以:至少部分地基于从存储器系统接收到响应而确定第二值可大于值;将第二通知传输到存储器系统,第二通知包含指示直到存储器系统的电源可被去激活为止剩余的第二最小持续时间的第二值;以及至少部分地基于传输第二通知而在第二最小持续时间之后去激活存储器系统的电源。
在一些实例中,控制器可进一步经配置以:至少部分地基于从存储器系统接收到响应而确定第二值可大于值;以及制止将第二通知传输到存储器系统;以及至少部分地基于确定第二值而在最小持续时间之后去激活电源。
在一些情况下,控制器可进一步经配置以:至少部分地基于从存储器系统接收到响应而确定第二值可小于值;以及至少部分地基于确定第二值而在最小持续时间之后去激活存储器系统的电源。
描述另一种设备。该设备可包含:包含存储数据集的多个存储器单元的存储器阵列,和存储器阵列耦合的控制器,且经配置以:接收指示从存储器阵列的第一状态到第二状态的转变的通知,通知包含第一值,第一值对应于直到存储器阵列的电源被去激活为止剩余的第一最小持续时间;确定执行与数据集的维护相关联的多个操作的第二最小持续时间;以及至少部分地基于确定第二最小持续时间来传输响应,其中响应包含对应于第二最小持续时间的第二值,以执行多个操作。
在一些情况下,控制器可进一步经配置以接收第二通知,第二通知包含第二值,第二值对应于直到存储器阵列的电源可被去激活为止剩余的第二最小持续时间。
在一些情况下,控制器可进一步经配置以:确定不存在包含对应于第二最小持续时间的第二值的第二通知;以及根据至少部分地基于确定不存在第二通知和确定第二最小持续时间超过第一最小持续时间而确定的次序来执行大量操作。
在一些实例中,控制器可进一步经配置以:确定不存在包含对应于第二最小持续时间的第二值的第二通知;以及至少部分地基于识别出第二最小持续时间可小于第一最小持续时间来在第二最小持续时间中执行多个操作。
在一些情况下,控制器可进一步经配置以确定与存储器阵列相关联的参数,其中控制器可经配置以至少部分地基于参数来确定第二最小持续时间。
在设备的一些情况下,参数可与存储器阵列的温度、在存储器阵列处执行的擦除操作的数量、存储器阵列中与存储器组织操作相关联的多个块的块数量或存储器阵列的电源可被去激活的平均持续时间相关联。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,贯穿以上描述可能提及的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合来表示。一些图式可将信令说明为单个信号;然而,信号可表示信号总线,其中总线可以具有各种位宽。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,那么组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,那么组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,那么控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当……时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,那么术语可互换。
术语“响应于”可指由于先前条件或动作而至少部分地(如果不完全地)发生的一个条件或动作。举例来说,可进行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可进行第一条件或动作,且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可进行第一条件或动作,且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(silicon-on-insulator,SOI)衬底,例如玻璃上硅(silicon-on-glass,SOG)或蓝宝石上硅(silicon-on-sapphire,SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型(即,多数载流子是电子),那么FET可被称为n型FET。如果沟道是p型(即,多数载流子是空穴),那么FET可被称为p型FET。通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致通道变得导电。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“断开”或“去激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中使用的术语“示范性”是指“用作实例、情况或说明”,而不是“优选的”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,这些技术可在没有这些具体细节的情况下实施。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。此外,可通过在参考标记之后跟着短横及在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
本文中所描述的功能可用硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体发射。其它实例和实施在本公开和所附权利要求书的范围内。例如,由于软件的性质,上述功能可使用由处理器执行的软件、硬件、固件、硬布线或任何这些的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
举例来说,结合本文中的公开内容所描述的各种说明性块及组件可使用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文中所描述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的组合,或任何其它此类配置)。
如本文所用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。另外,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(digital subscriber line,DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所用,磁盘和光盘包含CD、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。以上各者的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本发明。所属领域技术人员将清楚对本发明的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本发明的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种设备,包括:
包括多个存储器单元的存储器阵列;
控制器,其与所述存储器阵列耦合且经配置以:
接收指示从所述存储器阵列的第一状态到所述存储器阵列的第二状态的转变的通知,所述通知包括值,所述值包括多个位并且对应于直到所述存储器阵列的电源被去激活为止剩余的最小持续时间;以及
根据至少部分地基于与所述存储器阵列相关联的参数以及接收包括所述值的所述通知而确定的次序来执行多个操作。
2.根据权利要求1所述的设备,其中所述多个操作与存储在所述多个存储器单元处的数据的维护相关联。
3.根据权利要求1所述的设备,其中所述设备进一步包括高速缓存,并且其中为了执行所述多个操作,所述控制器进一步经配置以:
至少部分地基于接收到所述通知而将存储在所述高速缓存处的数据传递到所述存储器阵列。
4.根据权利要求1所述的设备,其中所述控制器进一步经配置以:
检测所述多个存储器单元的温度,其中所述参数至少部分地基于所述多个存储器单元的所述温度。
5.根据权利要求1所述的设备,其中所述控制器进一步经配置以:
确定在所述存储器阵列处执行的擦除操作的数量,其中所述参数至少部分地基于所述擦除操作的所述数量。
6.根据权利要求1所述的设备,其中所述存储器阵列进一步包括多个块,且所述控制器进一步经配置以:
确定与存储器组织操作相关联的所述多个块的块数量,其中所述参数至少部分地基于所述块数量。
7.根据权利要求1所述的设备,其中所述控制器进一步经配置以:
确定所述存储器阵列的所述电源被去激活的平均持续时间,其中所述参数至少部分地基于所述平均持续时间。
8.根据权利要求1所述的设备,其中所述控制器进一步经配置以:
至少部分地基于直到所述存储器阵列的所述电源被去激活为止剩余的所述最小持续时间的期满来暂停所述多个操作中的操作;
至少部分地基于所述存储器阵列的所述电源被激活,在第二持续时间之后,初始化所述存储器阵列;
接收指示从所述存储器阵列的所述第一状态到所述第二状态的所述转变的第二通知,所述通知包括第二值,所述第二值对应于直到所述存储器阵列的所述电源被去激活为止剩余的第二最小持续时间;以及
根据至少部分地基于所述参数以及接收所述通知和所述值而确定的第二次序,在所述第二最小持续时间中执行第二多个操作,其中所述第二多个操作包含所述多个操作中的所述操作,并且其中所述第二次序至少部分地基于暂停所述操作。
9.根据权利要求1所述的设备,其中所述控制器进一步经配置以:
至少部分地基于接收到所述值来从多个最小持续时间中识别所述最小持续时间,其中所述多个最小持续时间至少包括所述最小持续时间、第二最小持续时间和第三最小持续时间。
10.根据权利要求9所述的设备,其中所述控制器进一步经配置以:
至少部分地基于读取存储在寄存器处的表来确定所述最小持续时间,所述寄存器存储所述多个最小持续时间。
11.一种设备,包括:
经配置以执行操作的多个组件;以及
与所述多个组件和存储器系统耦合的控制器,所述控制器经配置以:
确定将所述多个组件从第一功率状态转换到第二功率状态的最小持续时间;
向所述存储器系统传输指示从所述存储器系统的第一状态到第二状态的转变的通知,所述通知包括对应于所述最小持续时间的值,其中所述值指示直到所述存储器系统的电源被去激活为止剩余的所述最小持续时间;
至少部分地基于将所述通知传输到所述存储器系统来制止在去激活所述存储器系统的所述电源之前将命令传输到所述存储器系统;以及
至少部分地基于传输所述通知,将所述多个组件从所述第一功率状态转换到所述第二功率状态,并在所述最小持续时间之后去激活所述存储器系统的所述电源。
12.根据权利要求11所述的设备,其中所述控制器进一步经配置以:
在传输所述通知之后从所述存储器系统接收响应,所述响应包括第二值,所述第二值对应于与在所述存储器系统处执行多个操作相关联的第二最小持续时间。
13.根据权利要求12所述的设备,其中所述控制器进一步经配置以:
至少部分地基于从所述存储器系统接收到所述响应而确定所述第二值大于所述值;
将第二通知传输到所述存储器系统,所述第二通知包括指示直到所述存储器系统的所述电源被去激活为止剩余的所述第二最小持续时间的所述第二值;以及
至少部分地基于传输所述第二通知而在所述第二最小持续时间之后去激活所述存储器系统的所述电源。
14.根据权利要求12所述的设备,其中所述控制器进一步经配置以:
至少部分地基于从所述存储器系统接收到所述响应而确定所述第二值大于所述值;以及
至少部分地基于确定所述第二值来制止向所述存储器系统传输第二通知并在所述最小持续时间之后去激活所述电源。
15.根据权利要求12所述的设备,其中所述控制器进一步经配置以:
至少部分地基于从所述存储器系统接收到所述响应而确定所述第二值小于所述值;以及
至少部分地基于确定所述第二值而在所述最小持续时间之后去激活所述存储器系统的所述电源。
16.一种设备,包括:
存储器阵列,其包括存储数据集的多个存储器单元;
控制器,其与所述存储器阵列耦合且经配置以:
接收指示从所述存储器阵列的第一状态到第二状态的转变的通知,所述通知包括第一值,所述第一值对应于直到所述存储器阵列的电源被去激活为止剩余的第一最小持续时间;
确定执行与所述数据集的维护相关联的多个操作的第二最小持续时间;以及
至少部分地基于确定所述第二最小持续时间来传输响应,其中所述响应包括对应于所述第二最小持续时间的第二值,以执行所述多个操作。
17.根据权利要求16所述的设备,其中所述控制器进一步经配置以:
接收第二通知,所述第二通知包括第二值,所述第二值对应于直到所述存储器阵列的所述电源被去激活为止剩余的所述第二最小持续时间。
18.根据权利要求16所述的设备,其中所述控制器进一步经配置以:
确定不存在包括对应于所述第二最小持续时间的所述第二值的第二通知;以及
根据至少部分地基于确定不存在所述第二通知和确定所述第二最小持续时间超过所述第一最小持续时间而确定的次序来执行大量操作。
19.根据权利要求16所述的设备,其中所述控制器进一步经配置以:
确定不存在包括对应于所述第二最小持续时间的所述第二值的第二通知;以及
至少部分地基于识别出所述第二最小持续时间小于所述第一最小持续时间来在所述第二最小持续时间中执行所述多个操作。
20.根据权利要求16所述的设备,其中为了确定所述第二最小持续时间,所述控制器进一步经配置以:
确定与所述存储器阵列相关联的参数,其中所述控制器经配置以至少部分地基于所述参数来确定所述第二最小持续时间。
21.根据权利要求20所述的设备,其中所述参数与所述存储器阵列的温度、在所述存储器阵列处执行的擦除操作的数量、与存储器组织操作相关联的所述存储器阵列中的多个块的块数量或所述存储器阵列的所述电源被去激活的平均持续时间相关联。
22.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时致使所述电子装置:
接收指示从存储器阵列的第一状态到第二状态的转变的通知,所述通知包括值,所述值包括多个位并且对应于直到所述存储器阵列的电源被去激活为止剩余的最小持续时间;以及
根据至少部分地基于与所述存储器阵列相关联的参数以及接收包括所述值的所述通知而确定的次序来执行多个操作。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中所述多个操作与存储在所述存储器阵列中的多个存储器单元处的数据的维护相关联。
24.根据权利要求22所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置至少部分地基于接收所述通知并执行所述多个操作而将存储在高速缓存处的数据传递到所述存储器阵列。
25.根据权利要求22所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置确定所述参数,其中所述参数与所述存储器阵列相关联,并且其中所述参数与温度、在所述存储器阵列处执行的擦除操作的数量、与存储器组织操作相关联的所述存储器阵列中的多个块的块数量或所述存储器阵列的所述电源被去激活的平均持续时间相关联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/241,850 US11762771B2 (en) | 2021-04-27 | 2021-04-27 | Advanced power off notification for managed memory |
US17/241,850 | 2021-04-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115376572A true CN115376572A (zh) | 2022-11-22 |
Family
ID=83694236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446633.XA Pending CN115376572A (zh) | 2021-04-27 | 2022-04-26 | 用于受管理存储器的高级断电通知 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11762771B2 (zh) |
CN (1) | CN115376572A (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536506B2 (en) * | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US9430011B2 (en) * | 2010-01-25 | 2016-08-30 | Dell Products L.P. | Systems and methods for determining the state of health of a capacitor module |
US10289552B2 (en) * | 2017-05-03 | 2019-05-14 | Western Digital Technologies, Inc. | Storage system and method for flush optimization |
US10013194B1 (en) * | 2017-06-02 | 2018-07-03 | Western Digital Technologies, Inc. | Handling thermal shutdown for memory devices |
US11422825B2 (en) * | 2020-12-30 | 2022-08-23 | Kioxia Corporation | Determination of power-off duration of NVMe SSD |
-
2021
- 2021-04-27 US US17/241,850 patent/US11762771B2/en active Active
-
2022
- 2022-04-26 CN CN202210446633.XA patent/CN115376572A/zh active Pending
-
2023
- 2023-08-30 US US18/239,969 patent/US20230409477A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11762771B2 (en) | 2023-09-19 |
US20220342819A1 (en) | 2022-10-27 |
US20230409477A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114077393A (zh) | 将存储器系统数据传送到主机系统 | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN115705889A (zh) | 功率管理技术 | |
CN115248662A (zh) | 动态超级块 | |
CN114882927A (zh) | 存储器装置的事件管理 | |
CN116897342A (zh) | 存储器装置的偏压控制 | |
CN114968085A (zh) | 数据重定位操作技术 | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
US11899963B2 (en) | Suspension during a multi-plane write procedure | |
US20230367486A1 (en) | Block conversion to preserve memory capacity | |
CN115951932A (zh) | 用于命令序列调整的技术 | |
US11625333B2 (en) | Configurable flush operation speed | |
CN115729630A (zh) | 汽车引导优化 | |
WO2022193130A1 (en) | Managing regions of a memory system | |
CN115457994A (zh) | 动态功率控制 | |
CN114924689A (zh) | 经优化命令序列 | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
CN114077394A (zh) | 将存储器系统数据传送到辅助阵列 | |
US11762771B2 (en) | Advanced power off notification for managed memory | |
US20230043502A1 (en) | Read latency and suspend modes | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US11995346B2 (en) | Resuming write operations after suspension | |
US20240078020A1 (en) | Write booster pinning | |
US11687291B2 (en) | Techniques for non-consecutive logical addresses | |
US20230342060A1 (en) | Techniques for data transfer operations |
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 |