CN116364136A - 用于在保持损失后增强系统性能的技术 - Google Patents
用于在保持损失后增强系统性能的技术 Download PDFInfo
- Publication number
- CN116364136A CN116364136A CN202211696014.2A CN202211696014A CN116364136A CN 116364136 A CN116364136 A CN 116364136A CN 202211696014 A CN202211696014 A CN 202211696014A CN 116364136 A CN116364136 A CN 116364136A
- Authority
- CN
- China
- Prior art keywords
- voltage
- memory
- memory system
- page
- read
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000014759 maintenance of location Effects 0.000 title abstract description 54
- 230000002708 enhancing effect Effects 0.000 title abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000009826 distribution Methods 0.000 claims description 61
- 238000012512 characterization method Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 239000000758 substrate Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 238000003491 array Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000014616 translation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 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
- 230000003287 optical effect Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 150000004770 chalcogenides Chemical class 0.000 description 2
- 230000001276 controlling effect Effects 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
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 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
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000219000 Populus Species 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
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- -1 but not limited to Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 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
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000012423 maintenance 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
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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
- 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
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—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/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/30—Power supply circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及用于在保持损失后增强系统性能的技术。存储器系统可响应于接收到断电通知而对存储器单元页进行编程。作为所述编程的一部分,所述存储器系统可记录所述页的电压阈值的指示,并在一段时间内断电,在此期间所述存储器系统可能经历保持损失。通电时,所述存储器装置可将所述页的所述电压阈值与断电之前存储的所述指示进行比较,并确定所述存储器系统的一或多个块的电压偏移。在一些情况下,所述存储器系统可使用所述电压偏移来确定起始块组,并且可发起块组扫描以确定所述一或多个块的最终块组。
Description
交叉引用
本专利申请要求杨(YEUNG)等人于2021年12月28日提交的标题为“用于在保持损失后增强系统性能的技术(TECHNIQUES FOR ENHANCED SYSTEM PERFORMANCE AFTERRETENTION LOSS)”的第17/646,253号美国专利申请的优先权,所述美国专利申请转让给本受让人且以全文引用的方式明确地并入本文中。
技术领域
以下内容大体上涉及用于存储器的一或多个系统,且更具体地,涉及用于在保持损失后增强系统性能的技术。
背景技术
存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一者。在一些实例中,单个存储器单元可支持超过两个可能状态,存储器单元可存储所述超过两个可能状态中的任一者。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程为对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性地刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述了一种设备。所述设备可包含:存储器系统;以及控制器,其与所述存储器系统耦合且配置成使所述设备进行以下操作:接收来自主机系统的断电通知;至少部分地基于接收到所述断电通知而写入所述存储器系统的第一页;至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;作为通电操作的一部分,读取所述存储器系统的所述第一页;以及至少部分地基于读取所述第一页而使用所述一或多个存储器单元的电压移位来选择用于所述存储器系统的一或多个存储器单元的与第一读取电压偏移相关联的第一存储块组。
描述了一种存储代码的非暂时性计算机可读媒体。所述代码可包含指令,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:接收来自主机系统的断电通知;至少部分地基于接收到所述断电通知而写入存储器系统的第一页;至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;作为通电操作的一部分,读取所述存储器系统的所述第一页;以及至少部分地基于读取所述第一页而使用所述一或多个存储器单元的电压移位来选择用于所述存储器系统的一或多个存储器单元的与第一读取电压偏移相关联的第一存储块组。
描述了一种方法。所述方法可由存储器系统执行,包含:接收来自主机系统的断电通知;至少部分地基于接收到所述断电通知而写入所述存储器系统的第一页;至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;作为通电操作的一部分,读取所述存储器系统的所述第一页;以及至少部分地基于读取所述第一页而使用所述一或多个存储器单元的电压移位来选择用于所述存储器系统的一或多个存储器单元的与第一读取电压偏移相关联的第一存储块组。
附图说明
图1示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的系统的实例。
图2示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的系统的实例。
图3示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的实例读取分布的曲线图的实例。
图4示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的实例读取分布的曲线图的实例。
图5示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的过程流的实例。
图6示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的存储器装置的框图。
图7示出说明根据本文公开的实例支持用于在保持损失后增强系统性能的技术的一或多种方法的流程图。
具体实施方式
在一些存储器系统中,保持损失可能随时间推移影响存储器系统的读取性能。例如,存储在一或多个存储器单元中的电压电平可能由于保持损失而随时间推移改变(例如,电荷可能从存储器单元泄漏)。此类保持损失可能导致系统性能降低,例如不准确读取存储器单元(例如,电压可能下降到读取阈值电压以下,并且存储器单元可能作为不同逻辑状态被错误读取)、不必要触发错误处理、增加读取延迟或其任何组合。一或多个存储器单元(例如,存储器单元块)的保持损失量可由块组指示。例如,存储器系统可以具有可将存储器单元块分类到其中的一定数量的块组(例如,八个块组)。可以对块组进行编号、排序或以其它方式标记,使得“小”块组(例如,块组0,序列的第一个块组)中的存储器单元块比“大”块组(例如,序列中的后续块组,例如块组1、块组2等)中的存储器单元块经历更少的保持损失。在一些情况下,存储器系统可发出块组扫描。例如,块组扫描可以是确定存储器单元块已经历的保持损失量并选择存储器单元块的块组编号的过程,块组编号指示块经历的保持损失的大小或量。在一些情况下,块组扫描可以是根据时间表运行的后台扫描,例如每24小时发出一次块组扫描,但是可以使用块组扫描的任何时间表或周期。因此,存储器系统可以识别和记录存储器系统的相应部分的块组编号。块组编号可指示存储器系统的一部分的保持损失(例如,块组编号可指示从存储器单元块中损失了多少电荷,用于调整存储器单元块的读取阈值的电压偏移,其可解释保持损失等),使用电压偏移作为存取命令的一部分可以提高读取性能和准确性。例如,存储器系统可在存取操作期间将读取阈值移位与块组编号相关联的所指示电压偏移,这可产生读取操作的更准确结果、减少错误等。然而,根据时间表发出此类块组扫描可能仍然会导致读取性能降低。例如,如果存储器系统在断电状态下花费相对较长的时间,则存储器系统可能经历显著的保持损失,但可能在相对较长的时间内不执行块组扫描(例如,直到时间表指示的下一个块组扫描)。因此,在通电与发出块组扫描之间,存储器系统可能经历读取性能降低。
根据本文描述的技术,存储器系统可实施用于保持损失恢复的技术,其可使存储器系统能够确定是否发生了相对较高的保持损失(例如,由于断电时间相对较长或经历高温)。例如,作为通电操作的一部分,存储器系统可以确定与存储器单元的参考集(例如,块、页等)相关联的电压偏移。在一些实例中,存储器系统可以使用电压偏移来确定(例如,选择)一或多个存储器单元块的块组。例如,在接收到断电通知之后,存储器系统可以对存储器单元的参考集(例如,页)进行编程,例如对与固件日志或快闪转换层(FTL)表相关联的存储器单元进行编程。存储器系统可记录页的电压指示(例如,电压分布的度量),并且存储器系统可随后断电。在通电时,存储器系统可确定页的第二电压(例如,在页已经历保持损失之后),并将所述第二电压与在电力循环之前存储的电压指示进行比较。在一些实例中,电压偏移可以是所存储电压(例如,存储器系统断电之前的电压)与第二电压(例如,存储器系统通电之后的电压)之间的差。在一些情况下,存储器系统可使用电压偏移为一或多个块选择块组(例如,存储器系统可选择用于读取操作的块组而无需发出块组扫描)。另外或替代地,存储器系统可使用电压偏移来确定用于块组扫描的起始块组(例如,除了经调度块组扫描之外或替代经调度块组扫描的动态发出的块组扫描)。这些技术可以通过减少由于例如在存储器系统的通电与下一次经调度块组扫描之间的时间段内的保持损失而导致的读取错误来提高系统性能,还有其它优势。
首先在参考图1到2的系统、装置和电路的上下文中描述本公开的特征。在参考图3-5的读取分布曲线图和过程流的上下文中描述本公开的特征。在参考图6-7涉及用于在保持损失后增强系统性能的技术的设备图和流程图的上下文中进一步说明和描述本公开的这些和其它特征。
图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的接口,所述主机系统控制器可以是配置成使主机系统105根据如本文中描述的实例进行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统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处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据,或更新数据,以及其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当命令,以实现对存储器装置130的所需存取。在一些情况下,存储器系统控制器115可与主机系统105和一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统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读取或写入所述存储器装置,则数据可存储于本地存储器120中,并且所述数据可在本地存储器120中可用,以供主机系统105根据高速缓存策略进行后续检索或操作(例如,更新)(例如,相对于存储器装置130的延迟减少)。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在一些情况下存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135,以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置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中。在一些情况下,单独的块170可称为物理块,并且虚拟块180可指可在其内发生并行操作的块170的群组。例如,可对分别在平面165-a、165-b、165-c和165-d内的块170-a、170-b、170-c和170-d进行并行操作,且块170-a、170-b、170-c和170-d可统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a和存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在其相应平面165内具有相同的块地址(例如,块170-a可以是平面165-a的“块0”,块170-b可以是平面165-b的“块0”,等等)。在一些情况下,在不同平面165中进行并行操作可受制于一或多个限制,例如对不同页175内的存储器单元进行并行操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。另外,在一些情况下,NAND存储器单元可在其可用新数据重写之前擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
系统100可以包含支持在保持损失后增强系统性能的技术的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则这种指令可使得主机系统105、存储器系统控制器115或存储器装置130进行如本文描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些情况下,存储器系统110可通过确定参考块170的电压偏移来确定通电时用于一或多个存储器单元块170的块组。例如,在接收到断电通知之后,存储器系统可以对页175的一或多个存储器单元进行编程,例如对固件日志或FTL表进行编程。作为对页175进行编程的一部分,存储器系统可记录一或多个存储器单元的电压度量的指示,例如中间电压或低电压等,并且存储器系统110可随后断电。在通电时,存储器系统可确定页175的电压度量(例如,在页175已经历保持损失之后),并将所述电压度量与在电力循环之前存储的读取阈值指示进行比较。使用这两个度量的差,存储器系统110可以确定电压偏移。在一些情况下,存储器系统110可以使用电压偏移来确定用于包含存储器单元页175的块170的最终块组。另外或替代地,存储器系统110可以使用电压偏移来确定用于块组扫描的起始块组。确定存储器单元块170的块组可以通过在作为块组扫描时间表的一部分发出的块组扫描之前减少由于保持损失而导致的读取错误来提高系统性能。
图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可用于例如由数据路径250所示在主机系统205与存储器装置240之间转译数据,且可统称为数据路径组件。
在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的延迟且允许与命令相关联的任意数据大小。这还可允许处置命令的突发,且一旦突发已停止,便可存储或传输(或两者)缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM),或硬件加速器或这两者,以允许快速地将数据存储到缓冲器225和从所述缓冲器检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径开关组件。
数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可不直接从缓冲器225读取数据。例如,可将读取命令添加到队列中,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。例如,如果存储器系统210并行处理来自主机系统205的超过一个存取命令,则这可能是有益的。作为可能实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲器队列265和存储队列270。然而,队列(如果使用)可位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。例如,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件而不是总线235使用数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定针对存储器系统210的协议)而控制如何及是否在主机系统205与存储器装置240之间传送数据。
如果主机系统205将存取命令传输到存储器系统210,则命令可由接口220例如根据协议(例如,UFS协议或eMMC协议)接收。因此,接口220可被视为存储器系统210的前端。在接收到每个存取命令后,接口220可例如经由总线235将命令传达到存储器系统控制器215。在一些情况下,可通过接口220将每个命令添加到命令队列260,以将命令传达到存储器系统控制器215。
存储器系统控制器215可确定已基于(例如,使用)来自接口220的通信而接收到存取命令。在一些情况下,存储器系统控制器215可确定已通过从命令队列260检索命令而接收到存取命令。在例如已经由存储器系统控制器215从命令队列260检索命令之后,可将所述命令从所述命令队列移除。在一些情况下,存储器系统控制器215可使接口220例如经由总线235从命令队列260移除命令。
在确定已接收到存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据和将数据传输到主机系统205。对于写入命令,这可意味着从主机系统205接收数据和将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可将缓冲器225尤其用于从主机系统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可执行存储控制器230的功能并且可省略存储控制器230。
在一些情况下,存储器系统210可以例如使用存储器系统控制器215通过确定参考块的电压偏移来确定通电时用于存储器装置240的一或多个存储器单元块的块组。例如,在接收到断电通知之后,存储器系统210可以对存储器装置240的页的一或多个存储器单元进行编程,例如对固件日志或FTL表进行编程。作为对页进行编程的一部分,存储器系统可记录页的电压度量的指示,并且存储器系统210可随后断电。在通电时,存储器系统210可确定页的电压度量(例如,在页已经历保持损失之后),并将所述电压度量与在电力循环之前存储的电压度量的指示进行比较。使用这两个电压度量的差,存储器系统210可以确定电压偏移。在一些情况下,存储器系统210可以使用电压偏移来确定用于包含存储器单元页的块的最终块组。另外或替代地,存储器系统210可以使用电压偏移来确定用于块组扫描的起始块组。确定存储器单元块的块组可以通过在作为块组扫描时间表的一部分发出的块组扫描之前减少由于保持损失而导致的读取错误来提高系统性能。
图3示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的实例读取分布的曲线图300的实例。曲线图300可以示出由如参考图1描述的系统100或如本文描述的另一系统实施的操作的实例。为了说明清楚,曲线图300可以包含电压轴305和数量轴310,但是也可以使用任何其它度量(例如,电流轴或电荷轴而不是电压轴)。一般来说,曲线图300可以示出在断电状态下经过一定持续时间前后存储器阵列中的存储器单元的电压的实例分布315。
曲线图300可以包含分布315-a和315-b。分布315可以示出在断电状态下经过一定持续时间前后用相同逻辑状态(例如,逻辑1、0或其它逻辑状态)编程的一或多个存储器单元(例如,存储器单元页)的电压分布。例如,分布315-a可以是与在接收到断电通知之后但在将包含存储器单元的存储器系统断电之前编程到所述存储器单元的第一逻辑状态(例如,用于SLC存储器单元的逻辑1)相对应的电压分布的实例,而分布315-b可以是与在处于断电状态一定持续时间之后存储在存储器单元中的相同逻辑状态相对应的电压分布的实例。
曲线图300可以包含电压度量320-a和电压度量320-b,其可以是分布315的低阈值、高阈值、平均值或分布315的中间值的实例以及其它度量实例。也就是说,电压度量320可以是与相应电压分布315相关联的度量(例如,电压度量320-a可以对应于分布315-a,且电压度量320-b可以对应于分布315-b)。在一些情况下,存储器系统(例如,存储器装置)可以使用读取阈值进行读取操作。例如,如果存储器系统的感测组件检测到低于读取阈值的电压,则存储器系统可以读取相应存储器单元作为存储第一逻辑值(例如,0或1)。替代地,如果感测组件检测到高于读取阈值的电压,则存储器系统可以读取相应存储器单元作为存储第二逻辑值(例如,1或0)。
在一些实例中,分布315-b可能由于保持损失(例如由于经历相对高温、处于断电状态相对长时间,或两者)而相对于分布315-a移位。例如,在断电状态下经过一定持续时间之后分布315-b可能已经向下移位(例如,存储在存储器单元中的电压可能已经降低)。也就是说,存储在存储器单元中的电荷的一部分可能已经泄漏出单元,从而降低存储的电压。在此类实例中,在断电状态下经过一定持续时间之后使用读取阈值读取存储在存储器单元中的数据可能导致读取错误(例如,由于分布315-b的移位)。因此,存储器系统可确定电压偏移325以应用于在存储器单元上执行的读取操作,从而提高读取命令的准确性和速度。例如,存储器系统可以识别指示电压从分布315-a下移到分布315-b的电压偏移325(例如,可以使用度量320-a与度量320-b之间的差来估计电压移位,例如分布的平均电压移位)。
在一些情况下,存储器系统可使用电压偏移325以确定来自用于存储器单元的一或多个块组的块组。在一些实例中,块组可指示块所经历的保持损失的大小或量。也就是说,分配给“小”块组的块可能经历了较少的保持损失,且因此与比分配给“大”块组的块更小的电压偏移相关联。例如,如果存储器系统识别出相对较大的电压偏移325,则存储器系统可分配与较大的保持损失相关联的块组编号。因此,如果从与所分配的块组编号相关联的存储器单元读取,则存储器系统可以使用调整了与块组编号相关联的量的读取阈值(例如,存储器系统可以将读取阈值向左移动一个值,即与块组编号相关联的值),这可以使得能够使用更准确的读取阈值。换句话说,调整后的读取阈值可以解释电压下移,并纠正由于将分布315中的逻辑状态错误地读取为不同的逻辑状态而可能发生的任何错误(例如,分布中的一些状态可能具有移到未调整的读取阈值以下的电压,且因此被错误地读取)。
在一些情况下,存储器系统可通过例如将在断电之前编程的参考存储器单元集(例如,SLC页)的分布315-a与通电之后的参考存储器单元集的分布315-b进行比较来识别在断电状态下经过一定持续时间之后分布315的电压偏移325。例如,在断电之前,存储器系统可能会接收到来自主机系统的断电通知(例如,正常断电)。响应于接收到断电通知,作为断电操作的一部分,存储器系统可写入存储器单元页,例如写入或更新固件日志或FTL表,以及其它实例。在一些实例中,存储器单元页可以是SLC页的实例,但也可以是其它页类型(例如,多层级单元(MLC)页、三层级单元(TLC)页、四层级单元(QLC)页等)或存储器系统的一部分。
在一些情况下,作为写入存储器单元页的一部分,存储器系统还可以存储电压度量320-a的指示。在这种情况下,存储器系统可在通电期间获得电压度量320-b,并将其与存储的电压度量320-a进行比较以确定电压偏移325。另外或替代地,可在通电之后使用表征数据来确定(例如,估计)电压度量320-a。例如,存储器系统可以使用与页(或用于识别电压偏移325的存储器单元的任何其它参考部分)的表征相关联的数据来估计断电之前的电压度量320-a,并且使用电压度量320-a来识别电压偏移325。
通电后,存储器系统可例如通过使用二进制搜索和擦除页检查来确定存储器单元页的电压度量320-b,以确定存储器单元页的电压度量320-b是否高于阈值。因此,可以通过比较电压度量320-a(例如,断电之前编程的存储器单元的中间电压)与电压度量320-b(例如,经历保持损失后的页中间电压)来确定电压偏移325。
存储器系统可使用电压偏移325(例如,在断电状态下经过一定持续时间前后对应于参考SLC的电压偏移)来确定用于对TLC块执行读取的读取阈值。也就是说,例如使用SLC的保持损失与TLC块或表征数据之间的已知关系以及其它实例,SLC页的电压偏移325可允许快速估计TLC页的电压偏移325。
在一些情况下,可以使用不同的电压度量330-a和330-b(例如,不同于电压度量320-a和320-b)来确定电压偏移325。例如,可以使用分布315-a的中间电压与分布315-b的中间电压之间的差来确定电压偏移。另外或替代地,可以使用分布315-a的低电压与分布315-b的低电压之间的差来确定电压偏移。在这种情况下,不同的电压度量330-a和330-b(例如,低电压阈值或中间电压阈值)可以使用表征数据来确定,或者作为写入固件日志或FTL表的一部分来记录。在一些实例中,可使用度量的一些组合来识别电压偏移325。
在一些情况下,存储器系统可确定电压偏移325是否满足阈值。也就是说,存储器系统可以确定电压偏移325是否相对较小(例如,足够小因而不会显著地引起读取错误)。如果存储器系统确定电压偏移325不满足阈值(例如,电压偏移325大于阈值偏移,其可能指示电压偏移325相对较大),存储器系统可以在存储器系统的每个块上发起块组扫描,以重定存储器系统的每个块的读取偏移的目标。块组扫描可以是由存储器系统(例如,通过固件)执行的将块组分配给存储器单元块的过程。在一些情况下,在执行块组扫描之前,存储器系统可以选择块组(例如,使用电压偏移325)作为块组扫描中的起始块组。
使用利用所确定的电压偏移325选择的块组可以例如通过使用块组直接跳到更大块组近似值来提高块组扫描的速度和效率。也就是说,通过使用起始块组(例如,小块组,即对应于小保持损失的块组)并迭代地增加块组大小,块组扫描可以开始搜索用于确定读取阈值的最终块组,直到已经确定最终块组为止。使用利用所确定的电压偏移325选择的块组作为起始块组可以减少在块组扫描中执行的迭代,从而减少系统延迟和功耗。
另外或替代地,存储器系统可使用电压偏移325确定最终块组(例如,不执行块组扫描)。例如,存储器系统可使用表征数据、执行计算或其组合。确定最终块组可例如通过避免执行完整块组扫描(例如,直到经调度块组扫描)而减少系统延迟和功耗。
如果存储器系统确定电压偏移325满足阈值,则存储器系统可延迟发起块组扫描。例如,作为块组扫描时间表的一部分,存储器系统可以发出块组扫描,其中周期性地(例如,每24小时)发出块组扫描。作为块组扫描时间表的一部分发出块组扫描可减少通电过程期间的系统延迟或处理开销,因为,如果电压偏移325较小(例如,满足阈值),则存储器系统可准确读取存储在块中的数据,而无需更新读取阈值。
在一些情况下,存储器系统可使用块中的所选块组对存储器单元块执行存取操作(例如,读取操作)以调整读取阈值。例如,如果测量存储器单元的电压并将其与读取电压进行比较,则存储器系统可将读取阈值调整(例如,移位、增大、减小)与块相关联的相应块组(例如,使用电压偏移325选择的块组)指示的量。通过允许存储器系统补偿与包含存储器单元的块相关联的任何保持损失,调整读取电压可允许存储器系统更准确地感测存储在存储器单元中的逻辑状态。
图4示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的实例读取分布的曲线图400的实例。曲线图400可以示出由如参考图1描述的系统100或如本文描述的另一系统实施的操作的实例。曲线图400可包含曲线图300的方面。例如,为了说明清楚,曲线图400可以包含电压轴405-a和405-b以及数量轴410-a和410-b,但是也可以使用其它度量(例如,电流轴或电荷轴而不是电压轴),所述曲线图还包含分布415,其可以是如参考图3描述的分布315的实例。
一般来说,曲线图400可以示出分别对应于在断电状态下经过一定持续时间之前参考存储器单元集(例如,SLC存储器单元页)的第一逻辑状态(例如,逻辑0或1)和第二逻辑状态(例如,逻辑1或0)的实例分布415-a和420-a,而分布415-b和420-b可对应于在断电状态下经过一定持续时间并且经历保持损失之后的SLC存储器单元页的第一逻辑状态和第二逻辑状态。此外,曲线图400可示出分布425-a,其可对应于在断电状态下经过一定持续时间之前的TLC存储器单元页的逻辑状态(例如,逻辑0、1、2、3、4、5、6或7),而分布425-b可对应于在断电状态下经过一定持续时间并且经历保持损失之后的TLC存储器单元页的逻辑状态。
在一些情况下,SLC存储器单元页的电压度量430可与TLC存储器单元页的电压度量430相关。也就是说,如果SLC块和TLC块经历了类似的保持损失,则SLC块的电压度量430与TLC块的电压度量430之间可存在关系(例如,公式、计算、等式等)。因此,通过确定在断电状态下经过一定持续时间前后SLC块的电压偏移435,可以估计TLC块的电压偏移435。
在一些情况下,测量SLC单元页的电压偏移435可比确定TLC单元页的电压偏移435更有效(例如,执行速度更快、使用更少的计算、消耗更少的功率等)。此外,例如因为SLC块中的状态之间存在相对较大的电压间隙(例如,较大的读取边距、较大的写入边距),因此测量SLC单元页的电压偏移435可比测量TLC单元页的电压偏移435更准确。因此,存储器系统可以通过确定SLC存储器单元页的电压偏移435并使用SLC存储器单元页的电压偏移435来估计存储器系统中其它TLC存储器单元块的电压偏移435来提高系统性能。
例如,如参考图3所描述,存储器系统可响应于接收到断电通知而对SLC存储器单元页进行编程,例如作为更新FTL表或固件日志的一部分。作为对页进行编程的一部分,存储器系统可对SLC单元页的电压度量指示或其它表征数据的指示(例如,断电之前的电压度量的指示)进行编程。随后,存储器系统可能断电,在断电状态下保持一定持续时间。
在断电状态期间,存储器系统的存储器单元可能会经历保持损失(例如,SLC存储器单元页的分布415-a和420-a可能会下移到分布415-b和420-b,TLC存储器单元页的分布425-a可能会下移到分布425-b)。如果存储器系统随后通电,则存储器系统可确定例如分布420-a和420-b的电压偏移435。
可通过例如使用断电之前记录的SLC单元页的电压度量或其它表征数据的指示来确定电压偏移435。例如,存储器系统可在发生保持损失之后测量SLC存储器单元页的电压度量的指示,以与断电之前记录的指示进行比较,或者以其它方式使用在断电状态下经过一定持续时间前后的SLC存储器单元页的表征数据来确定SLC存储器单元页的电压偏移435。在一些情况下,SLC存储器单元页的电压偏移435可用于估计TLC存储器单元页的电压偏移435。
存储器系统可使用电压偏移来选择用于对存储器系统块执行存取操作的块组。在某一实例中,存储器系统可以使用所述块组作为块组扫描的起始块组。存储器系统可发起块组扫描以确定存储器系统的块(例如,SLC、MLC、TLC、QLC块)的最终读取电平。如参考图3所讨论的,使用利用电压偏移435所确定的起始块组可以提高系统性能。另外或替代地,存储器系统可以避免执行块组扫描,而是使用所选块组来确定用于使用表征数据或执行计算对存储器系统块执行存取操作的最终块组。
在一些情况下,电压偏移435可能很小(例如,小于阈值)。在这种情况下,存储器系统使用所选块组对存储器系统块执行存取操作,而不确定最终块组,如参考图3所描述。在此类情况下,作为时间表的一部分,存储器系统可发出块组扫描(例如,每小时、每24小时等发出一次块组扫描)。作为时间表的一部分发出块组扫描可通过例如释放原本将在通电期间用于执行块组扫描的系统资源来提高系统性能。
图5示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的过程流500的实例。过程流500可由存储器系统(例如,参考图1和2描述的存储器系统110)的组件执行。例如,过程流500可由存储器系统或存储器装置(或两者)(例如分别如参考图1描述的存储器系统控制器115或本地控制器135)的控制器执行。可实施过程流500以减少延迟和功耗且提高系统性能,以及其它益处。过程流500的方面可由控制器以及其它组件实施。另外或替代地,过程流500的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统控制器115或本地控制器135耦合的存储器中的固件)。例如,指令如果由控制器(例如,存储器系统控制器115、本地控制器135)执行,则可使控制器执行过程流500的操作。在过程流500的以下描述中,可按照与所示顺序不同的顺序执行操作。例如,也可从过程流500省略特定操作,或可将其它操作添加到过程流500。
在505处,可接收断电通知。例如,主机系统可向存储器系统传输断电通知。响应于接收到断电通知,在510处,可写入第一页。例如,存储器系统可将存储器单元页写入一或多个块,例如固件日志块或FTL表。在一些情况下,一或多个块可以是SLC块的实例。
在一些情况下,作为写入存储器单元页的一部分,可以测量第一电压。例如,响应于在505处接收的断电通知,存储器系统可以识别(例如,测量)与存储器单元页相关联的第一电压。第一电压可以是低电压或中间电压的实例。在一些实例中,第一电压可称为如本文描述的电压度量。例如,可以例如通过存储器系统将第一电压的指示写入一或多个块。
在515处,可以例如响应于在505处接收到断电通知而将存储器系统断电(例如,其进入断电状态)。在一些情况下,存储器系统可在持续时间520内保持断电状态。在一些情况下,在持续时间520期间,一或多个块可能经历保持损失。在一些情况下,例如,如果存储器系统经历高温烘焙,则保持损失可能会加速或加剧。
在525处,可将存储器系统通电(例如,退出断电状态)。在一些情况下,作为执行通电过程的一部分,在530处,可以读取第一页。例如,存储器系统可以读取第一页(例如,在510处编程的固件日志或FTL表)。作为读取第一页的一部分,存储器系统可以识别与第一页相关联的第二电压。例如,第二电压可指示低电压或中间电压。
在一些情况下,存储器系统可进一步读取存储第一电压(例如,可在断电状态下经历的持续时间之后识别第一电压)的指示的一或多个存储器块。另外或替代地,存储器系统可使用与第一页相关联的表征数据来估计第一电压。在一些情况下,存储器系统可以使用第一电压与第二电压之间的差来识别电压移位。
在535处,可确定(例如,识别)电压移位是否满足阈值。例如,存储器系统可确定在525处识别的电压移位是否足够小(例如,小于阈值),以便使用默认读取电压不会显著地引起读取错误。
在540处,响应于确定电压偏移满足阈值(例如,电压偏移小于阈值),可以读取一或多个存储器单元。例如,存储器系统可以使用第一读取电压偏移来读取一或多个存储器单元。也就是说,存储器系统可以不执行块组扫描或选择用于执行存取操作的最终块组(例如,对与包含第一页的存储器块不同的一或多个存储器块(例如TLC块)的存取操作),而是作为在530处读取第一页的一部分使用所确定的第一读取电压偏移。
另外或替代地,在545处,响应于确定电压偏移不满足阈值(例如,电压大于阈值),可以选择第一块组。例如,存储器系统可以使用存储器系统的一或多个存储器单元的电压移位来选择用于一或多个存储器单元的与第一读取电压偏移相关联的第一块组。在一些情况下,
在550处,可发起块组扫描。例如,存储器系统可以使用在545处选择的第一块组作为起始块组来发起块组扫描。在一些情况下,块组扫描可确定存储器系统的一或多个存储器单元块的最终(例如,第二)块组。最终块组可以指示用于对存储器系统的一或多个块执行存取操作的第二读取电压偏移。因此,在555处,作为存取操作的一部分,可以例如通过存储器系统使用第二读取电压偏移来读取一或多个存储器单元。
过程流500的方面可由控制器以及其它组件实施。另外或替代地,过程流500的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统耦合的存储器中的固件)。例如,指令可在由控制器执行的情况下使控制器执行过程流500的操作。
图6示出根据本文公开的实例支持用于在保持损失后增强系统性能的技术的存储器系统620的框图600。存储器系统620可以是如参考图1到5描述的存储器系统的方面的实例。存储器系统620或其各种组件可以是用于执行如本文描述的用于在保持损失后增强系统性能的技术的各种方面的装置的实例。例如,存储器系统620可以包含电源管理器625、写入组件630、读取组件635、块组管理器640、电压管理器645或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
电源管理器625可配置为或以其它方式支持用于接收来自主机系统的断电通知的装置。写入组件630可配置为或以其它方式支持用于至少部分地基于接收到断电通知而写入存储器系统的第一页的装置。在一些实例中,电源管理器625可配置为或以其它方式支持用于至少部分地基于写入存储器系统的第一页而将存储器系统断电的装置。读取组件635可配置为或以其它方式支持用于作为通电操作的一部分读取存储器系统的第一页的装置。块组管理器640可配置为或以其它方式支持用于至少部分地基于读取第一页而使用存储器系统的一或多个存储器单元的电压移位来选择用于一或多个存储器单元的与第一读取电压偏移相关联的第一块组的装置。
在一些实例中,为了支持将存储器系统断电,电源管理器625可配置为或以其它方式支持用于将存储器系统断电一定持续时间的装置,其中选择第一块组是至少部分地基于将存储器系统断电所述持续时间。
在一些实例中,块组管理器640可配置为或以其它方式支持用于使用所选第一块组对一或多个存储器单元发起块组扫描的装置。在一些实例中,块组管理器640可配置为或以其它方式支持用于至少部分地基于发起块组扫描来识别用于一或多个存储器单元的与第二读取电压偏移相关联的第二块组的装置。在一些实例中,读取组件635可配置为或以其它方式支持用于至少部分地基于识别第二块组而使用与第二读取电压偏移相对应的读取电压阈值读取一或多个存储器单元的装置。
在一些实例中,读取组件635可配置为或以其它方式支持用于至少部分地基于选择第一块组而使用与第一读取电压偏移相对应的读取电压阈值读取一或多个存储器单元的装置。
在一些实例中,电压管理器645可配置为或以其它方式支持用于在与写入第一页相关联的第一持续时间期间识别与第一页相关联的第一电压的装置。在一些实例中,电压管理器645可配置为或以其它方式支持用于在与读取第一页相关联的第二持续时间期间识别与第一页相关联的第二电压的装置。在一些实例中,电压管理器645可配置为或以其它方式支持用于至少部分地基于读取第一页来识别电压移位的装置,其中电压移位包含第一电压与第二电压之间的差。
在一些实例中,为了支持识别第一电压,电压管理器645可配置为或以其它方式支持用于响应于断电通知和写入第一页而测量第一电压的装置。在一些实例中,为了支持识别第一电压,写入组件630可配置为或以其它方式支持用于在将存储器系统断电之前在一或多个存储器块中写入第一电压的指示的装置。在一些实例中,为了支持识别第一电压,读取组件635可配置为或以其它方式支持用于至少部分地基于通电操作而读取一或多个存储器块的装置。
在一些实例中,一或多个存储器块包含一或多个日志块或快闪转换层表。
在一些实例中,为了支持识别第一电压,电压管理器645可配置为或以其它方式支持用于至少部分地基于与第一页相关联的表征数据而作为通电操作的一部分估计第一电压的装置。
在一些实例中,为了支持识别第二电压,电压管理器645可配置为或以其它方式支持用于确定第一页的电压分布是否满足阈值的装置。在一些实例中,为了支持识别第二电压,电压管理器645可配置为或以其它方式支持用于至少部分地基于确定电压分布是否满足阈值而识别电压分布的低电压或电压分布的中间电压的装置,其中第二电压包含低电压或中间电压。
在一些实例中,电压管理器645可配置为或以其它方式支持用于确定电压移位是否满足阈值的装置,其中选择第一块组是至少部分地基于电压移位满足阈值。
图7示出说明根据本文公开的实例支持用于在保持损失后增强系统性能的技术的方法700的流程图。方法700的操作可以由如本文描述的存储器系统或其组件来实施。例如,方法700的操作可由如参考图1到6描述的存储器系统执行。在一些实例中,存储器系统可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器系统可以使用专用硬件来执行所描述的功能的各方面。
在705处,所述方法可以包含接收来自主机系统的断电通知。可根据如本文所公开的实例执行705的操作。在一些实例中,705的操作的各方面可由如参考图6描述的电源管理器625执行。
在710处,所述方法可以包含至少部分地基于接收到断电通知而写入存储器系统的第一页。可根据如本文所公开的实例执行710的操作。在一些实例中,710的操作的各方面可由如参考图6描述的写入组件630执行。
在715处,所述方法可以包含至少部分地基于写入存储器系统的第一页而将存储器系统断电。可根据如本文所公开的实例执行715的操作。在一些实例中,715的操作的各方面可由如参考图6描述的电源管理器625执行。
在720处,所述方法可以包含作为通电操作的一部分读取存储器系统的第一页。可根据如本文所公开的实例执行720的操作。在一些实例中,720的操作的各方面可由如参考图6描述的读取组件635执行。
在725处,所述方法可以包含至少部分地基于读取第一页而使用存储器系统的一或多个存储器单元的电压移位来选择用于一或多个存储器单元的与第一读取电压偏移相关联的第一块组。可根据如本文所公开的实例执行725的操作。在一些实例中,725的操作的各方面可由如参考图6描述的块组管理器640执行。
在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法700。所述设备可以包含用于进行以下操作的特征、电路系统、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收来自主机系统的断电通知,至少部分地基于接收到断电通知而写入存储器系统的第一页,至少部分地基于写入存储器系统的第一页而将存储器系统断电,作为通电操作的一部分读取存储器系统的第一页,以及至少部分地基于读取第一页而使用存储器系统的一或多个存储器单元的电压移位来选择用于一或多个存储器单元的与第一读取电压偏移相关联的第一块组。
在方法700和本文描述的设备的一些实例中,将存储器系统断电可以包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:将存储器系统断电一定持续时间,其中选择第一块组可以是至少部分地基于将存储器系统断电所述持续时间。
方法700和本文描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:使用所选第一块组对一或多个存储器单元发起块组扫描,至少部分地基于发起块组扫描来识别用于一或多个存储器单元的与第二读取电压偏移相关联的第二块组,以及至少部分地基于识别第二块组而使用与第二读取电压偏移相对应的读取电压阈值读取一或多个存储器单元。
方法700和本文描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于选择第一块组而使用与第一读取电压偏移相对应的读取电压阈值读取一或多个存储器单元。
方法700和本文描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:在与写入第一页相关联的第一持续时间期间识别与第一页相关联的第一电压,在与读取第一页相关联的第二持续时间期间识别与第一页相关联的第二电压,以及至少部分地基于读取第一页来识别电压移位,其中电压移位包含第一电压与第二电压之间的差。
在方法700和本文描述的设备的一些实例中,识别第一电压可以包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:响应于断电通知和写入第一页而测量第一电压,在将存储器系统断电之前在一或多个存储器块中写入第一电压的指示,以及至少部分地基于通电操作而读取一或多个存储器块。
在方法700和本文描述的设备的一些实例中,一或多个存储器块包含一或多个日志块或快闪转换层表。
在方法700和本文描述的设备的一些实例中,识别第一电压可以包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:至少部分地基于与第一页相关联的表征数据而作为通电操作的一部分估计第一电压。
在方法700和本文描述的设备的一些实例中,识别第二电压可以包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:确定第一页的电压分布是否满足阈值;以及至少部分地基于确定电压分布是否满足阈值而识别电压分布的低电压或电压分布的中间电压,其中第二电压包含低电压或中间电压。
方法700和本文描述的设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路系统、逻辑、装置或指令:确定电压移位是否满足阈值,其中选择第一块组可以是至少部分地基于电压移位满足阈值。
应注意,上文描述的方法描述了可能的实施方案,且操作和步骤可重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能引用的数据、指令、命令、信息、信号、位、符号和码片。一些图可将信号说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,则组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,则控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当……时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,则所述术语可互换。
术语“响应于”可指由于先前条件或动作而至少部分地(如果不完全地)发生的一个条件或动作。例如,可进行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可进行第一条件或动作,且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可进行第一条件或动作,且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(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或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载送或存储呈指令或数据结构形式的所需程序代码方式并且可由通用或专用计算机,或通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用的磁盘及光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。以上各者的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种设备,其包括:
存储器系统;以及
控制器,其与所述存储器系统耦合且配置成使所述设备进行以下操作:
接收来自主机系统的断电通知;
至少部分地基于接收到所述断电通知而写入所述存储器系统的第一页;
至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;
作为通电操作的一部分,读取所述存储器系统的所述第一页;以及
至少部分地基于读取所述第一页而使用所述存储器系统的一或多个存储器单元的电压移位来选择用于所述一或多个存储器单元的与第一读取电压偏移相关联的第一块组。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
将所述存储器系统断电一定持续时间,其中选择所述第一块组是至少部分地基于将所述存储器系统断电所述持续时间。
3.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
使用所选第一块组对所述一或多个存储器单元发起块组扫描;
至少部分地基于发起所述块组扫描来识别用于所述一或多个存储器单元的与第二读取电压偏移相关联的第二块组;以及
至少部分地基于识别所述第二块组,使用与所述第二读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
4.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
至少部分地基于选择所述第一块组,使用与所述第一读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
5.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
在与写入所述第一页相关联的第一持续时间期间,识别与所述第一页相关联的第一电压;
在与读取所述第一页相关联的第二持续时间期间,识别与所述第一页相关联的第二电压;以及
至少部分地基于读取所述第一页来识别所述电压移位,其中所述电压移位包括所述第一电压与所述第二电压之间的差。
6.根据权利要求5所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
响应于所述断电通知和写入所述第一页而测量所述第一电压;
在将所述存储器系统断电之前,在一或多个存储器块中写入所述第一电压的指示;以及
至少部分地基于所述通电操作而读取所述一或多个存储器块。
7.根据权利要求6所述的设备,其中所述一或多个存储器块包括一或多个日志块或快闪转换层表。
8.根据权利要求5所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
至少部分地基于与所述第一页相关联的表征数据而作为所述通电操作的一部分估计所述第一电压。
9.根据权利要求5所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
确定所述第一页的电压分布是否满足阈值;以及
至少部分地基于确定所述电压分布是否满足所述阈值而识别所述电压分布的低电压或所述电压分布的中间电压,其中所述第二电压包括所述低电压或所述中间电压。
10.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
确定电压移位是否满足阈值,其中选择所述第一块组是至少部分地基于所述电压移位满足所述阈值。
11.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:
接收来自主机系统的断电通知;
至少部分地基于接收到所述断电通知而写入存储器系统的第一页;
至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;
作为通电操作的一部分,读取所述存储器系统的所述第一页;以及
至少部分地基于读取所述第一页而使用所述存储器系统的一或多个存储器单元的电压移位来选择用于所述一或多个存储器单元的与第一读取电压偏移相关联的第一块组。
12.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
将所述存储器系统断电一定持续时间,其中选择所述第一块组是至少部分地基于将所述存储器系统断电所述持续时间。
13.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
使用所选第一块组对所述一或多个存储器单元发起块组扫描;
至少部分地基于发起所述块组扫描来识别用于所述一或多个存储器单元的与第二读取电压偏移相关联的第二块组;以及
至少部分地基于识别所述第二块组,使用与所述第二读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
14.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于选择所述第一块组,使用与所述第一读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
15.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
在与写入所述第一页相关联的第一持续时间期间,识别与所述第一页相关联的第一电压;
在与读取所述第一页相关联的第二持续时间期间,识别与所述第一页相关联的第二电压;以及
至少部分地基于读取所述第一页来识别所述电压移位,其中所述电压移位包括所述第一电压与所述第二电压之间的差。
16.根据权利要求15所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
响应于所述断电通知和写入所述第一页而测量所述第一电压;
在将所述存储器系统断电之前,在一或多个存储器块中写入所述第一电压的指示;以及
至少部分地基于所述通电操作而读取所述一或多个存储器块。
17.根据权利要求16所述的非暂时性计算机可读媒体,其中所述一或多个存储器块包括一或多个日志块或快闪转换层表。
18.根据权利要求15所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于与所述第一页相关联的表征数据而作为所述通电操作的一部分估计所述第一电压。
19.根据权利要求15所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
确定所述第一页的电压分布是否满足阈值;以及
至少部分地基于确定所述电压分布是否满足所述阈值而识别所述电压分布的低电压或所述电压分布的中间电压,其中所述第二电压包括所述低电压或所述中间电压。
20.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
确定电压移位是否满足阈值,其中选择所述第一块组是至少部分地基于所述电压移位满足所述阈值。
21.一种由存储器系统执行的方法,其包括:
接收来自主机系统的断电通知;
至少部分地基于接收到所述断电通知而写入所述存储器系统的第一页;
至少部分地基于写入所述存储器系统的所述第一页而将所述存储器系统断电;
作为通电操作的一部分,读取所述存储器系统的所述第一页;以及
至少部分地基于读取所述第一页而使用所述存储器系统的一或多个存储器单元的电压移位来选择用于所述一或多个存储器单元的与第一读取电压偏移相关联的第一块组。
22.根据权利要求21所述的方法,其中将所述存储器系统断电包括:
将所述存储器系统断电一定持续时间,其中选择所述第一块组是至少部分地基于将所述存储器系统断电所述持续时间。
23.根据权利要求21所述的方法,其进一步包括:
使用所选第一块组对所述一或多个存储器单元发起块组扫描;
至少部分地基于发起所述块组扫描来识别用于所述一或多个存储器单元的与第二读取电压偏移相关联的第二块组;以及
至少部分地基于识别所述第二块组,使用与所述第二读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
24.根据权利要求21所述的方法,其进一步包括:
至少部分地基于选择所述第一块组,使用与所述第一读取电压偏移相对应的读取电压阈值读取所述一或多个存储器单元。
25.根据权利要求21所述的方法,其进一步包括:
在与写入所述第一页相关联的第一持续时间期间,识别与所述第一页相关联的第一电压;
在与读取所述第一页相关联的第二持续时间期间,识别与所述第一页相关联的第二电压;以及
至少部分地基于读取所述第一页来识别所述电压移位,其中所述电压移位包括所述第一电压与所述第二电压之间的差。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/646,253 | 2021-12-28 | ||
US17/646,253 US11983112B2 (en) | 2021-12-28 | 2021-12-28 | Techniques for enhanced system performance after retention loss |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116364136A true CN116364136A (zh) | 2023-06-30 |
Family
ID=86897997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211696014.2A Pending CN116364136A (zh) | 2021-12-28 | 2022-12-28 | 用于在保持损失后增强系统性能的技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11983112B2 (zh) |
CN (1) | CN116364136A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11995346B2 (en) * | 2022-08-09 | 2024-05-28 | Micron Technology, Inc. | Resuming write operations after suspension |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620074B2 (en) * | 2021-03-16 | 2023-04-04 | Micron Technology, Inc. | Voltage bin calibration based on a voltage distribution reference voltage |
-
2021
- 2021-12-28 US US17/646,253 patent/US11983112B2/en active Active
-
2022
- 2022-12-28 CN CN202211696014.2A patent/CN116364136A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230205690A1 (en) | 2023-06-29 |
US11983112B2 (en) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220404968A1 (en) | Read performance techniques for time retention | |
CN114882927B (zh) | 存储器装置的事件管理 | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN116897342A (zh) | 存储器装置的偏压控制 | |
CN116364136A (zh) | 用于在保持损失后增强系统性能的技术 | |
US12019877B2 (en) | Metadata allocation in memory systems | |
CN115373592B (zh) | 用于页线填充数据的设备、非暂时性计算机可读介质及方法 | |
US11899963B2 (en) | Suspension during a multi-plane write procedure | |
CN116610251A (zh) | 执行写入操作的技术 | |
US20230367486A1 (en) | Block conversion to preserve memory capacity | |
US20230205425A1 (en) | Sacrificial block pool | |
US11625333B2 (en) | Configurable flush operation speed | |
CN115457994A (zh) | 动态功率控制 | |
CN114924689A (zh) | 经优化命令序列 | |
CN114816236A (zh) | 数据迁移技术 | |
US11768629B2 (en) | Techniques for memory system configuration using queue refill time | |
US12039189B2 (en) | Idle mode temperature control for memory systems | |
US11900992B2 (en) | Reference voltage adjustment for word line groups | |
US20240055046A1 (en) | Model for predicting memory system performance | |
US12014077B2 (en) | Rating-based mapping of data to memory | |
US11762771B2 (en) | Advanced power off notification for managed memory | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US20240069784A1 (en) | Idle mode temperature control for memory systems | |
US20240012751A1 (en) | Adaptive wear leveling for a memory system | |
US20240242760A1 (en) | Reference voltage adjustment for word line groups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |