本文作者:kaifamei

管理用于低阈值电压偏移区间放置的读取电平电压偏移的制作方法

更新时间:2025-12-27 16:32:48 0条评论

管理用于低阈值电压偏移区间放置的读取电平电压偏移的制作方法



1.本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及管理用于低阈值电压偏移区间放置的读取电平电压偏移。


背景技术:



2.存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可以是例如非易失性存储器装置和易失性存储器装置。大体来说,主机系统可以利用存储器子系统将数据存储在存储器装置处且从存储器装置检索数据。


技术实现要素:



3.根据本公开的实施例,提供了一种方法。方法包括:创建与存储器装置相关联的块族;使所述块族与阈值电压偏移区间相关联;确定读取电平电压偏移集,使得当被施加到与所述块族相关联的基础读取电平阈值电压时产生不超过最大可允许错误率的次佳错误率;以及使所述读取电平电压偏移集与所述阈值电压偏移区间相关联。
4.根据本公开的实施例,提供了一种系统。系统包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以执行以下操作:识别与所述存储器装置相关联的块;使用多个读取电平电压偏移集针对所述块执行一系列读取操作;以及识别所述多个读取电平电压偏移集中的读取电平电压偏移集,其中所述读取电平电压偏移集在被施加到与所述块相关联的基础读取电平电压时产生不超过最大可允许错误率的次佳错误率。
5.根据本公开的实施例,提供了一种非暂时性计算机可读存储媒体。非暂时性计算机可读存储媒体包括指令,所述指令在由处理装置执行时使处理装置执行以下操作:创建与存储器装置相关联的块族;使块族与阈值电压偏移区间相关联;确定读取电平电压偏移集,使得当被施加到与块族相关联的基础读取电平阈值电压时产生不超过最大可允许错误率的次佳错误率;以及使读取电平电压偏移集与阈值电压偏移区间相关联。
附图说明
6.根据下文给出的实施方式且根据本公开的各种实施例的附图将更加充分地理解本公开。然而,图式不应被视为将本公开限于特定实施例,而是仅用于阐释和理解。
7.图1示出根据本公开的一些实施例的包含存储器子系统的实例计算系统。
8.图2示意性地示出根据本公开的一些实施例的因三层级存储器单元所展现的缓慢电荷损失而导致的时间电压移位。
9.图3描绘示出根据本公开的实施例的阈值电压偏移与编程后时间(即,从块已编程以来经过的时间段)的相关性的实例曲线图。
10.图4示意性地示出根据本公开的实施例的预定义阈值电压偏移区间集。
11.图5示意性地示出由根据本公开的实施例操作的存储器子系统控制器的块族管理器组件实施的块族管理操作。
12.图6示意性地示出根据本公开的实施例选择块族用于校准。
13.图7示意性地示出根据本公开的实施例的由存储器子系统控制器维持以用于使块和/或分区与块族相关联的实例元数据。
14.图8描绘根据本公开的实施例示出编程后时间中的错误率的发展的实例曲线图。
15.图9为根据本公开的一些实施例的确定用于阈值电压偏移区间的读取电平电压偏移集的实例方法的流程图。
16.图10为根据本公开的一些实施例的确定用于读取操作的读取电平电压偏移集的实例方法的流程图。
17.图11为根据本公开的一些实施例所确定的读取电平电压偏移集的实例。
18.图12为本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
19.本公开的各方面涉及管理用于低阈值电压偏移区间放置的读取电平电压偏移。存储器子系统可以是存储装置、存储器模块或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。大体来说,主机系统可以利用包含一或多个组件的存储器子系统,所述一或多个组件例如存储数据的存储器装置。主机系统可提供待存储在存储器子系统处的数据,且可请求待从存储器子系统检索的数据。
20.存储器子系统可以利用一或多个存储器装置存储由主机系统提供的数据,所述一或多个存储器装置包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。非易失性存储器装置的一个实例为与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。存储器装置中的每一者可包含一或多个存储器单元阵列。存储器单元(“单元”)为存储信息的电子电路。取决于单元类型,单元可以存储一或多位二进制信息,且具有与所存储的位数相关的各种逻辑状态。逻辑状态可以由二进制值,例如“0”和“1”或此类值的组合表示。
21.可由存储器子系统执行各种数据操作。数据操作可以是主机发起的操作。例如,主机系统可以在存储器子系统上发起数据操作(例如,写入、读取、擦除等)。主机系统可以将存取请求(例如,写入命令、读取命令)发送到存储器子系统,以便将数据存储在存储器子系统处的存储器装置上,且从存储器子系统上的存储器装置读取数据。如由主机请求指定的待读取或写入的数据在下文中被称为“主机数据”。主机请求可以包含主机数据的逻辑地址信息(例如,逻辑块地址(lba)、名称空间),其为主机系统使之与主机数据相关联的位置。逻辑地址信息(例如,lba、名称空间)可以是主机数据的元数据的部分。元数据还可包含错误处理数据(例如,错误校正码(ecc)码字、奇偶检验码)、数据版本(例如,用于区分所写入数据的期限)、有效位图(其lba或逻辑传输单元含有有效数据)等。
22.存储器装置包含能够取决于存储器单元类型而存储一或多位信息的多个存储器单元。可通过将某一电压施加到存储器单元来对存储器单元进行编程(写入存储单元),这促使电荷由被称为“阈值电压”且表示为v
t
的存储器单元保持。
23.高质量存储器装置可具有与装置的单元所容许的控制电压的工作范围相比较窄的分布。因此,多个分布(其中分布之间的“谷值”)可拟合到工作电压窗口中,从而允许存储且可靠地检测每一单元的多个位,例如对于三层级单元(tlc)为23=8分布(7谷值),对于多
层级单元(mlc)为22=4分布(3谷值)等。分布之间穿插有电压间隔(谷值裕度),其中装置的存储器单元没有(或极少)具有其阈值电压。因此,此类谷值裕度可用于分离各种电荷状态,单元的逻辑状态可通过在读取操作期间通过施加对应于每一谷值的读取电压来进行检测而确定。此有效地允许单个存储器单元存储多位信息:以2n个分布(其也被称为层级)操作的存储器单元能够存储n位信息。在读取操作期间,施加2
n-1个读取电压以区分2n个分布。具体来说,可通过比较由存储器单元展现的所测量的阈值电压v
t
与对应于存储器装置的已知谷值(例如,谷值的中心)的一或多个参考读取电压电平(读取电平)来执行读取操作。
24.归因于被称作缓慢电荷损失(scl)的现象,随着单元的电荷减少,存储器单元的阈值电压v
t
可随时间变化,过程有时被称作“时间电压移位”(tvs)。tvs可以包含不同分量,例如固有电荷损失、系统电荷损失、快速电荷损失等。tvs通常随着编程擦除循环(pec)、较高温度和较高编程电压的数目增加而增加。tvs可展示显著的裸片间变化。
25.因为典型单元存储带负电的粒子(电子),所以电子的损失使得阈值电压沿着电压轴线朝较低阈值电压v
t
移位。阈值电压可首先(紧接在存储器单元被编程之后)快速地改变,同时相对于从单元编程事件以来经过的时间t,在本文中被称作编程后时间(tap)以大致对数线性或幂律方式(δv
t
(t)=-c*tb)在较长时间减缓。可估计(例如,根据数据状态度量推断)或(例如,根据控制器时钟)直接测量tap。单元、块、页、块族(块的组)等在其具有(相对)小的tap的情况下是新的(或相对较新),且在其具有(相对)大的tap的情况下是旧的(或相对较旧)。时间片是两个tap点之间的持续时间,在此持续时间期间,可进行测量(例如,在编程之后的8到12分钟执行参考校准)。时间片可通过其中心点(例如,10分钟)来参考。在本公开的一些实施例中,可通过保持跟踪从编程事件以来经过的时间以及特定存储器分区(块、平面等)的例如温度的环境条件,且使待在读取操作期间使用的每一谷值的电压偏移δv
t
相关联来减缓tvs,其中标准“基础读取电平”阈值电压v
t
(在编程之后立即由单元展现)改变量为电压偏移:v
t
→vt
+δv
t
,其中δv
t
由于电荷损失而为负值。尽管tvs为连续过程且对δv
t
(t)的补偿可以随着时间不断改变,但在一些实施例中,可以利用离散数目个阈值电压偏移“区间”来充分实现偏移的准确性。在指定时间窗口内和/或在类似环境(例如,温度)条件下编程的块“族”(或任何其它存储器分区)可与阈值电压偏移区间中的一者相关联。鉴于耗损均衡保持在类似编程擦除循环(pec)下编程,从编程以来经过的时间和温度条件为影响tvs的量的主要因素,可假定单个块族内的不同分区展现其存储器单元的阈值电压的类似分布,且因此将需要将相同电压偏移施加到基础读取电平以用于读取操作。
26.可相对于块编程事件异步地创建块族。“块”在本文中将指代连续或不连续的存储器页的集合。“块”的实例为“可擦除块”,其为存储器的最小可擦除单元,而“页”为存储器的最小可写入单元。每一页包含存储器单元集合。存储器单元为存储信息的电子电路。“块族”在本文中将指代可能不连续的存储器单元集合(其可驻存在一或多个完整和/或部分块中,后者在本文中被称作“分区”),其已经在指定时间窗口和指定温度窗口内编程,且因此预期在时间电压移位方面展现其相应数据状态度量的类似或相关改变。块族可以任何粒度制成,从而仅具有全部码字、全部页、全部超级页、或全部超级块或其任何组合。
27.块族创建为开放块族、维持开放的块族持续一段时间且接着关闭块族的过程。开放块族开始开放块族期,所述开放块族期为一段时间,在此期间驱动器可将数据写入块族或可从块族读取数据。关闭块族开始关闭块族期,所述关闭块族期为一段时间,在此期间驱
动器可从块族读取数据但不将数据写入块族。使块族无效开始无效块族期,所述无效块族期为一段时间,在此期间块族通常通过垃圾收集不具有尚未显现为无效的数据。开放块族期和关闭块族期共同为块族期。
28.在说明性实例中,每当从上一块族创建以来已经过指定时间段δt(例如,预定数分钟)时或每当存储器单元的参考温度已改变超过指定阈值δθ(例如,10℃、20℃或任何其它值)时,可创建(开放)新的块族。类似地,在从创建族以来已经过时间段δt之后或当参考温度(在任一方向上)已改变超过δθ时,可“关闭”族(且可创建新族)。存储器子系统控制器可维护作用中块族的识别符,所述识别符在一或多个块被编程时与所述块相关联。
29.存储器子系统控制器可周期性地执行校准过程,以便使各个族的分区与阈值电压偏移区间中的一者相关联。每一阈值电压偏移区间又可与待施加用于读取操作的电压偏移集相关联。分区与族和族与阈值电压偏移区间的关联在本文中被称作辅助读取元数据(arm),其表示存储器装置的较广泛状态度量的部分。状态度量还可包含弃用物理存储器块(或其它分区)的数目、各种物理块已被擦除的次数、各种存储器分区的单元的配置类型(例如,单层级单元与多层级单元)或表示存储器装置的状态的任何其它类型的信息。arm可存储在由存储器子系统控制器维持的元数据表中。
30.根据本公开的实施例,可针对分组成族的经编程分区选择性地跟踪tvs。基于分区到族的分组,在读取操作中将适当的区间特定读取(电压)偏移施加到基础读取(电压)电平。基础读取电平还可存储在存储器装置的元数据中。在接收到读取命令后,存储器子系统控制器可(1)识别与读取命令中指定的逻辑地址所识别的存储器分区相关联的族,(2)识别与所识别族相关联的当前阈值电压偏移区间,(3)确定所识别的阈值电压偏移区间的读取偏移集,(4)通过将与所识别的阈值电压偏移区间相关联的读取偏移叠加地施加到基础读取电平来计算新的读取电压,且(5)使用新的读取电压来执行读取操作,如下文更详细地描述。
31.校准过程可使用预定义阈值电压偏移区间集中的一者例如通过针对每一块族的每一裸片测量存储在裸片上的(块族的)块的数据状态度量的值来针对每一块族的每一裸片评估数据状态度量(例如,电压移位或误码率)。校准过程可随后更新与裸片和块族相关联的区间指针以指向对应于数据状态度量的测量值的阈值电压偏移区间。每一阈值电压偏移区间又与待施加用于读取操作的电压偏移相关联;对于具有8个分布(层级)的tlc,存在7谷值,且对于包含7个偏移的给定阈值电压偏移区间,每一谷值一个偏移。举例来说,如果数据状态度量在与现有区间指针相关联的范围内,那么区间指针可保持相同,或如果数据状态度量在与早期区间相关联的范围内,那么区间指针可变为指向早期区间。尽管块族可与多个不同区间相关联(通过区间指针),但块族在本文中被称作与区间中的特定一者相关联(“在其中”)。更确切地说,块族与关联于块族的裸片的早期区间相关联(或在其中)。
32.大体来说,用于较新块族(即,最近创建的块族)的时间电压移位比用于较旧块族(即,较早创建的块族)的时间电压移位更重要。存储器子系统控制器可基于块族的期限周期性地执行用于每一块族的校准过程,所述期限对应于与块族相关联的阈值电压偏移区间。举例来说,在8个阈值电压偏移区间架构中,新创建的块族可与阈值电压偏移区间0相关联,而最旧(即,最早创建)的块族与阈值电压偏移区间7相关联。相比于针对阈值电压偏移区间7中的块族,存储器子系统控制器更频繁地基于与阈值电压偏移区间0相关联的块族的
期限(例如,基于scl的对数线性性质)针对阈值电压偏移区间0中的块族执行校准过程。
33.在一些实施方案中,与每一阈值电压偏移区间相关联的电压偏移在被施加到基础读取电平时使错误率最小化,即,不存在用于特定区间的产生更低错误率的其它阈值电压偏移集。可靠的错误率度量的一个实例为原始误码率(rber)。rber对应于每一存储在块处的数据单位经历的位错误数目。当错误率超过阈值(例如,超过基于具有硬信息的ecc校正能力的最大可允许错误率)时,存储器子系统执行导致系统时延增加的错误恢复操作。为了实现低错误率,相比于较早创建的块族的校准扫描过程,将需要更频繁地执行最近创建的块族的校准扫描过程,因为如上文所描述,用于最近创建的块族的时间电压移位更重要。作为实例,单元在编程之后在1分钟到10分钟之间经历的时间电压移位将类似于编程之后在10分钟到100分钟之间经历的时间电压移位,且类似于编程之后在100分钟到1000分钟之间经历的时间电压移位。为了有效,校准过程应比在块族与特定阈值电压偏移区间相关联期间的时间量更频繁。作为实例,假设平均来看,块族与区间0相关联持续10分钟。在此情况下,用于区间0的校准过程需要比10分钟更频繁,例如每5分钟,以确定是否使块族与区间1相关联。校准过程可利用大量存储器子系统资源。此外,在校准过程进行时,无法执行从主机接收到的请求,从而引起主机系统潜在地影响qos(服务质量)的增加的时延。因此,频繁地针对较低阈值电压偏移区间(例如,区间0)中最近创建的块族执行校准过程增加了总体系统时延。
34.本公开的各方面通过实施存储器子系统来解决上述和其它不足,其通过延长块族分配到较低阈值电压偏移区间(例如,区间0)的时间来减小最近创建的块族的校准过程的频率。存储器子系统控制器可将较低阈值电压偏移区间的读取电平电压偏移设定为当被施加到基础读取电平时产生不超过最大可允许错误率的次佳错误率的值(即,系统可使用产生较低错误率的不同电压偏移集)。这可使块族更长时间地保持在较低电压阈值偏移区间中,这可降低将块族分配到电压阈值偏移区间的校准过程的频率。为了继续上文所提供的实例,此选择可增加块族与区间0相关联的平均时间量,例如从10分钟增加到30分钟。因此,与每5分钟相比,校准过程可每15分钟运行一次。这减小了校准过程的系统性能影响。次佳错误率可以是低于最大可允许错误率的在预定间隔内的错误率。最大可允许错误率可以例如高于存储器子系统控制器115执行额外错误恢复操作以便传回有效数据将需要的错误率(即,硬输入ecc解码器可校正错误率)。
35.当块族经历时间电压移位时,电压分布沿着电压轴线朝较低电压电平移位。随着电压分布移位,存储器子系统控制器执行校准过程以确定待添加到基础读取电平以补偿预定偏移集当中的时间电压移位的适当电压偏移。这等效于将块族的每一裸片分配到具有用于每一谷值的对应偏移的阈值电压偏移区间。鉴于分布移动到较低电压值(即,电荷损失),所添加的区间电压偏移可为负值(即,小于零)。在实施例中,存储器子系统控制器可将电压偏移添加到块族的基础读取电平,以相比于编程时的电平有效地模拟沿着电压轴线朝较低电压电平的电压分布的移位。如果存储器子系统控制器确定相对于在时间0处最佳,用于区间0的读取电平电压偏移将持续最佳更长时间(例如,最佳持续30分钟),那么可扩展期间块族将与区间0相关联的时间间隔。这可导致时间0处的rber次佳,即高于可能的情况。然而,只要时间0处的rber小于硬输入ecc解码器可校正错误率,对存储器子系统的影响就最小。此方法还可应用于其它阈值电压偏移区间。简单地说,以在时间0处呈次佳(即,较高rber)
为代价,存储器子系统扩展块保持在区间0中的平均时间。
36.在实施例中,如果数据状态度量在与下一阈值电压偏移区间相关联的范围内,那么存储器子系统控制器可基于校准过程确定改变区间指针以指向下一阈值电压偏移区间。通过根据本公开的实施例调整块族的读取电平电压偏移,数据状态度量可在稍后时间点到达与下一阈值电压偏移区间相关联的范围。举例来说,虽然编程时无电压偏移的块族的经调整电压电平可能在1小时之后达到移动到下一阈值电压偏移区间所需的错误率,但根据本公开的实施例的编程集合时具有电压偏移的块族的经调整电压电平直到编程后3小时才可能达到移动到下一电压所需的错误率。此外,由于校准过程的频率是基于块族与阈值电压偏移区间相关联的时间段,所以通过延长块族与特定阈值电压偏移区间相关联的时间段,存储器子系统控制器可减小用于阈值电压偏移区间中的块族的校准过程的频率。
37.本公开的优点包含但不限于通过延长块族与较低阈值电压偏移区间相关联的时间段来减少系统时延并提高总体服务质量,因此减小与区间校准相关联的操作频率。存储器装置的每一校准操作消耗有价值的资源。通过在编程时校准块族以具有较高错误率,本公开的各方面延长了块族与较低创建阈值电压偏移区间(例如,区间0)相关联的时间段。由于校准过程的频率是基于块族与阈值电压偏移区间相关联的时间量,因此通过延长块族与较低阈值电压偏移区间(例如,区间0)相关联的时间,本公开的各方面减小了块族在区间0时校准的频率。较不频繁地执行校准释放可用于其它操作的资源,因此减少时延且提高系统性能。
38.图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类组合。
39.存储器子系统110可以是存储装置、存储器模块或存储装置和存储器模块的组合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)和各种类型的非易失性双列直插式存储器模块(nvdimm)。
40.计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机)或包含存储器和处理装置的此类计算装置。
41.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的多个存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文所用,“耦合到”或“与
……
耦合”一般是指组件之间的连接,所述连接可以是间接通信连接或直接通信连接(例如,无中间组件),无论有线还是无线,包含例如电连接、光学连接、磁性连接等连接。
42.主机系统120可包含处理器芯片组和由处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器)和存储协议控制器(例如,外围组件互连高速(peripheral component interconnect express,pcie)控制器、串行高级技术附件(serial advanced technology attachment,sata)控制
器)。主机系统120使用存储器子系统110例如以将数据写入到存储器子系统110且从存储器子系统110读取数据。
43.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤信道、串行附接scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过物理主机接口(例如,pcie总线)与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvm express,nvme)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1将存储器子系统110示出为实例。一般来说,主机系统120可经由同一通信连接、多个独立通信连接和/或通信连接的组合来存取多个存储器子系统。
44.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以但不限于是随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
45.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器和就地写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2dnand)和三维nand(3d nand)。
46.每一存储器装置130可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)每单元可存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五层级单元(plc)每单元可存储多个位。在一些实施例中,每一存储器装置130可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc、plc或其任何组合。在一些实施例中,特定存储器装置可以包含存储器单元的slc部分,以及mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器单元可分组为页,所述页可指用以存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,nand),页可分组以形成块。
47.尽管描述了例如非易失性存储器单元的3d交叉点阵列和nand型快闪存储器(例如,2d nand、3d nand)等非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器或电可擦除可编程只读存储器(eeprom)。
48.存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系
统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬编码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
49.存储器子系统控制器115可包含处理装置,所述处理装置包含配置成执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所示出的实例中,存储器子系统控制器115的本地存储器119包含配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作,包含处置存储器子系统110与主机系统120之间的通信的各种过程、操作、逻辑流程和例程。
50.在一些实施例中,本地存储器119可包含存储器寄存器,其存储存储器指针、所提取数据等。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可替代地依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
51.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转译为指令或适当命令以实现对存储器装置130的期望存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名称空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转译成命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转译成用于主机系统120的信息。
52.存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存器或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址,且对地址进行解码以存取存储器装置130。
53.在一些实施例中,存储器装置130包含本地媒体控制器135,所述本地媒体控制器结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110是受管理存储器装置,其是具有裸片上的控制逻辑(例如,本地控制器132)和用于同一存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)的原始存储器装置130。受管理存储器装置的实例为受管理nand(mnand)装置。
54.存储器子系统110包含块族管理器组件113,所述块族管理器组件可将块族的读取偏移电压电平设定在阈值电压偏移区间中(例如,在阈值电压偏移区间0中),以便最大化给定块族与特定阈值电压偏移区间相关联的时间段。在一些实施例中,存储器子系统控制器115包含块族管理器组件113的至少一部分。在一些实施例中,块族管理器组件113是主机系统110、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含块族管理器组件113的至少一部分,且配置成执行本文中所描述的功能。
55.块族管理器组件113可确定将与阈值电压偏移区间相关联的读取电平偏移,以便最大化给定块族与特定阈值电压偏移区间(例如,阈值电压偏移区间0)相关联的时间段。块族管理器组件113可创建块族且使块族与阈值电压偏移区间相关联。在实施例中,可通过在块被编程时对所述块进行分组来创建块族。分组可基于块被编程的时间范围和/或温度范围。块族管理器组件113可通过更新块族元数据来使块族与阈值电压偏移区间相关联。
56.块族管理器组件113可确定将施加于阈值电压偏移区间的读取电平电压偏移集,以便最大化给定块族与特定阈值电压偏移区间相关联的时间段。此过程可被称为“区间偏移校准过程”。区间偏移校准过程可包含产生和/或确定将施加于每一阈值电压偏移区间的读取电平电压偏移集。举例来说,如果存在与tlc相关联的8个阈值电压偏移区间,那么区间偏移校准过程可产生用于8个阈值电压偏移区间中的每一者的读取电平电压偏移集,且每一集可包含7个读取电平电压偏移,一个读取电平电压偏移用于每一谷值。关于图11描述了读取电平电压偏移集的实例。
57.在实施例中,为了确定待施加的读取电平电压偏移集,块族管理器组件113可识别读取电平电压偏移集。读取电平电压偏移集可存储在非易失性存储器装置130中。另外或替代地,块族管理器组件113可产生处于某一范围内的读取电平电压偏移集。举例来说,如果块的阈值电压通常在块与特定阈值电压偏移区间(例如,区间0)相关联的时间段中朝特定阈值电压移位,那么块族管理器组件113可产生将在0内的读取电平电压偏移集且特定阈值电压移位通常由与阈值电压偏移区间(例如,区间0)相关联的块经历。块族管理器组件113可在确定用于读取电平电压偏移集的范围时确定平均电压移位,或可在确定读取电平电压偏移集时确定最大电压移位。在实施例中,块族管理器组件113可在产生读取电平电压偏移集时使用最小阈值电压偏移、平均阈值电压偏移或某一其它测量值。可在客户使用之前的存储器子系统的制造阶段完成确定读取电平电压偏移集与每一阈值电压偏移区间相关联以延长块族与特定区间(例如,区间0)相关联的时间而不超过所允许/预定错误率的区间偏移校准过程。因此,一旦客户使用存储器子系统,就可获得读取电平电压偏移,且校准过程将块族分配到使用预定读取电平电压偏移的阈值电压偏移区间。替代地,可在存储器子系统的寿命期间以预定步调周期性地进行区间偏移校准过程。
58.块族管理器组件113可使用多个电压偏移集针对块族执行一系列读取操作。一系列读取操作中的每一读取操作使用电压偏移集中的一者。每一电压偏移集包含所读取的存储器单元的每一谷值的电压偏移。在实施例中,可对块族内的随机选择的块或页执行一系列读取操作。块族管理器组件113可接着从一系列读取操作中选择产生不超过最大可允许错误率的次佳错误率的读取操作,所述次佳错误率即低于最大可允许错误率的在预定间隔内的错误率。预定间隔可以是例如最大可允许错误率的预定份额(例如1/2或3/4)。因此,对于一系列读取操作中的每一读取操作,块族管理器组件113可确定与关联于所述读取操作的电压偏移集相关联的错误率。块族管理器组件113可随后选择与读取操作相关联的电压偏移,所述读取操作产生不超过最大可允许错误率的次佳错误率。在区间偏移电压集中,所选择的电压偏移产生最低错误率,然而在不同区间偏移电压集产生较低错误率的意义上,此最低错误率为次佳的。在实施例中,块族管理器组件113可将最大可允许错误率设定为硬解码错误率的某一百分比,例如设定为硬解码速率的90%,以允许误差容限。可在客户使用之前的存储器子系统的制造阶段处完成确定读取电平偏移电压以延长块族保持在特定区
间(例如,区间0)中的时间而不超过预定最大允许错误率的区间偏移校准过程。因此,一旦客户使用存储器子系统,就可获得每一区间的读取电平电压偏移,且校准过程将块族分配到使用预定读取电平电压偏移的区间。
59.通过将阈值电压偏移区间的读取电平电压偏移设定为在编程时产生不超过最大可允许错误率的次佳错误率的电平,块族可保持与阈值电压偏移区间相关联持续较长时间段。块族管理器组件113可因此减小在块族与阈值电压偏移区间相关联时执行的校准过程的频率。
60.在实施例中,块族管理器组件113应用读取电平电压偏移集以用于后台操作,包含用于确定存储器装置的正常状态的读取操作。为了确定存储器装置的准确正常状态,块族管理器组件113可使用最小化错误率的阈值电压偏移而非延长块族与特定阈值电压偏移区间相关联的时间段的阈值电压偏移来执行后台读取操作。因此,响应于确定读取操作为后台操作,块族管理器组件113可应用可产生低于阈值的错误率的读取电平电压偏移集。也就是说,块族管理器组件113可确定产生最低错误率或产生低于阈值的错误率的读取电平电压偏移集。块族管理器组件113可接着应用读取电平电压偏移集以最小化后台读取操作的错误率。在其它实施例中,对于后台读取操作,块族管理器组件113可使用递送最低可能错误率的特殊读取模式。这些特殊读取模式可确定最佳化读取阈值电压电平以递送最低可能错误率的实时读取电平偏移。
61.下文描述关于块族管理器组件113的操作的其它细节。
62.图2示意性地示出根据本公开的一些实施例的因三层级存储器单元所展现的缓慢电荷损失而导致的时间电压移位。虽然图2的说明性实例利用三层级单元,但可进行相同观测,且因此相同补救措施适用于单层级单元和多层级单元,以及每一单元的任何其它分数或整数个位(例如,每单元3.5位等),以便补偿缓慢电荷损失。
63.可通过将某一电压(例如,编程电压)施加到存储器单元来编程(写入到)存储器单元,这产生由存储器单元存储的电荷。精确控制存储器单元所存储的电荷的量允许存储器单元具有对应于不同逻辑电平的多个阈值电压电平,因此有效地允许单个存储器单元存储多位信息。以2n个不同阈值电压电平操作的存储器单元能够存储n位信息。
64.图表210和230中的每一者示出通过相应写入电平(可假设其位于编程分布的中点处)编程以编码对应逻辑电平(在tlc的情况下为“000”到“111”)的存储器单元的编程电压分布220a至220n(在本文中也称为“编程分布”或“电压分布”或“分布”或“电平”)。编程分布220a到220n可示出用于以相应写入电平(例如,编程电压)编程的存储器单元的阈值电压的范围(例如,阈值电压的正态分布)。为了区分邻近编程分布(对应于两个不同逻辑电平),限定读取阈值电压电平(由竖直虚线展示),使得低于读取阈值电平的任何测得电压与一对邻近编程分布中的一个编程分布相关联,而大于或等于读取阈值电平的任何测得电压与一对相邻分布中的另一编程分布相关联。
65.在图表210中,在对应的编程分布下方展示存储器单元的八个状态(除了标记为er的作为已擦除状态的状态以外,未展示状态的分布)。每一状态对应于逻辑电平。读取阈值电压电平被标记为va-vh。如所展示,低于va的任何测得电压与er状态相关联。标记为p1、p2、p3、p4、p5、p6和p7的状态分别对应于分布220a至220n。
66.编程后时间(tap)在本文中将指代从单元已被写入的时间且为随着温度变化的时
间电压移位(tvs)的主要驱动因素。tvs捕获scl以及其它电荷损失机制。可估计(例如,根据数据状态度量推断)或(例如,根据控制器时钟)直接测量tap。单元、块、页、块族等在其具有(相对)小的tap的情况下是新的(或相对较新),且在其具有(相对)大的tap的情况下是旧的(或相对较旧)。时间片是两个tap点之间的持续时间,在此持续时间期间,可进行测量(例如,在编程之后的x到y分钟或小时执行参考校准)。时间片可通过其中心点来参考。
67.如从比较分别反映为0的编程后时间(tap)(紧接在编程之后)和t小时的tap(其中t为小时数)的实例图表210和230看出,编程分布主要由于缓慢的电荷损失而随时间推移改变。为了减小读取误码率,需要调整对应的读取阈值电压以补偿由竖直虚线展示的编程分布的移位。在本公开的各种实施例中,基于在裸片组的一或多个代表性裸片处进行的测量而针对裸片组选择性地跟踪时间电压移位。基于在裸片组的代表性裸片上进行的特性化裸片组的裸片的时间电压移位和操作温度的测量,用于读取裸片组的裸片的存储器单元的读取阈值电压偏移经更新且施加到基础读取阈值电平以执行读取操作。
68.图3描绘示出根据本公开的实施例的阈值电压偏移310与编程后时间320(即,从块已编程以来经过的时间段)的相关性的实例曲线图300。如由图3示意性地示出,将存储器装置的块族分组成区间330a至330n,使得每一块族包含已在指定时间窗口和指定温度窗口内编程的一或多个块。如上文所指出,由于编程之后经过的时间和温度是影响时间电压移位的主要因素,所以推测块族310内的所有块和/或分区在存储器单元中展现类似的阈值电压分布,且因此将需要将相同的电压偏移施加到基础读取电平以用于读取操作。
69.可相对于页编程事件异步地创建块族。在说明性实例中,每当从上一个块族的创建以来已经过指定时间段(例如,预定数分钟),或每当从当前块族的创建以来以指定时间间隔更新的存储器单元的参考温度已改变超过指定阈值,那么图1的存储器子系统控制器115可创建新的块族。
70.新创建的块族可与区间0相关联。接着,存储器子系统控制器可周期性地执行前台或后台校准过程,以便使每一块族的每一裸片与预定义阈值电压偏移区间(在图3的说明性实例中为区间0-7)中的一者相关联,所述预定义阈值电压区间又与待施加用于读取操作的电压偏移相关联。块与块族以及块族和裸片与阈值电压偏移区间的关联可存储在由存储器子系统控制器维护的相应元数据表中。
71.图4示意性地示出根据本公开的实施例的所放置的阈值电压偏移区间集(区间0到区间9)。如图4示意性地示出,可将阈值电压偏移曲线图细分为多个阈值电压偏移区间,使得每一区间对应于阈值电压偏移的范围。虽然图4的说明性实例限定了十个区间,但在其它实施方案中,可使用各种其它数目的区间(例如,64个区间)。
72.存储器子系统控制器可基于周期性执行的校准过程而使每一块族的每一裸片与阈值电压偏移区间相关联。校准过程选择待施加到基础电压读取电平的阈值电压偏移集以便执行读取操作。校准过程涉及相对于所校准的块族内的指定数目个随机选定页或块利用不同阈值电压偏移集执行读取操作,且选择产生读取操作的限定错误率(例如,误码率)的阈值电压偏移集。所限定的错误率可以是最小错误率,或其可以是处于某一范围内的错误率。在实施例中,存储器子系统控制器可选择阈值电压偏移集,所述阈值电压偏移集在被施加到基础读取电平时产生不超过最大可允许错误率的次佳错误率,即,低于最大可允许错误率的在预定间隔内的错误率。预定间隔可以是例如最大可允许错误率的预定份额(例如
1/2或3/4)。关于图9提供关于校准过程的其它细节。
73.图5示意性地示出由根据本公开的实施例操作的存储器子系统控制器的块族管理器组件实施的块族管理操作。如图5示意性地示出,块族管理器510可在存储器变量中维持作用中块族的识别符520,所述识别符与光标530a至530k被编程时所述光标的一或多个块相关联。“光标”在本文中将广泛地指代存储器装置上向其写入数据的位置。
74.存储器子系统控制器可利用通电分钟(pom)时钟来跟踪块族的创建时间。在一些实施方案中,除pom时钟之外,还可利用在控制器处于各种低电力状态时继续运行的较不准确的时钟,使得在控制器从低电力状态唤醒后即刻基于较不准确的时钟更新pom时钟。
75.因此,在初始化每一块族后,当前时间540作为块族开始时间550存储在存储器变量中。当编程页或块时,将当前时间540与块族开始时间550进行比较。响应于检测到当前时间540与块族开始时间550的差大于或等于指定时间段(例如,预定数分钟),更新存储作用中块族识别符520的存储器变量以存储下一块族编号(例如,下一循序整数编号),且更新存储块族开始时间550的存储器变量以存储当前时间540。
76.块族管理器510还可维持两个存储器变量,以用于存储每一存储器装置的选定裸片的高和低参考温度。在初始化每一块族之后,高温560和低温570变量存储存储器装置的选定裸片的当前温度的值。在操作中,虽然作用中块族识别符520保持相同,但周期性地获得温度测量值并将其与相应地更新的所存储的高温560和低温570值进行比较:如果发现温度测量值大于或等于由高温变量560存储的值,则更新由所述高温变量存储的值以存储所述温度测量值;相反地,如果发现温度测量值降到低于由低温变量570存储的值,则更新由所述低温变量存储的值以存储所述温度测量值。
77.块族管理器510可进一步周期性地计算高温560与低温570之间的差。响应于确定高温560与低温570之间的差大于或等于指定温度阈值,块族管理器510可关闭现有块族并可创建新的作用中块族:更新存储作用中块族识别符520的存储器变量以存储下一块族编号(例如,下一循序整数编号),更新存储块族开始时间550的存储器变量以存储当前时间540,且更新高温560和低温570变量以存储存储器装置的选定裸片的当前温度的值。
78.在编程块时,存储器子系统控制器使块与当前作用中的块族相关联。每一块与对应块族的关联性由块族元数据580反映,如下文参考图7更详细地描述。
79.如本文在上文中所述,基于周期性地执行的校准过程,存储器子系统控制器使每一块族的每一裸片与阈值电压偏移区间相关联,所述阈值电压偏移区间限定待施加到基础电压读取电平以便执行读取操作的阈值电压偏移集。校准过程涉及相对于所校准的块族内指定数目个选定块利用不同阈值电压偏移执行读取操作,且选择产生所定义范围内的读取操作的错误率的区间。可随机地选择或基于符合特定准则(例如在块族中是最旧的)而选择块族内的块。
80.在一些实施例中,存储器子系统控制器针对每一阈值电压偏移区间执行校准过程的频率可基于块族与特定阈值电压偏移区间相关联的时间段。存储器子系统控制器可确定将与阈值电压偏移区间相关联的阈值电压偏移,以便最大化块族与特定阈值电压偏移区间相关联的时间段,因此减小存储器子系统控制器执行校准过程的频率。
81.图6示意性地示出根据本公开的实施例选择块族用于校准。如图6示意性地示出,存储器子系统控制器可将校准操作限制于每一区间中的最旧块族(例如区间0中的块族610
和区间1中的块族620),这是因为其为归因于缓慢电荷损失而将在当前区间的任何其它块族之前偏移到下一区间的最旧块族。
82.图7示意性地示出根据本公开的实施例的由存储器子系统控制器维持以用于使块和/或分区与块族相关联的实例元数据。如图7示意性地示出,存储器子系统控制器可维持超级块表710、族表720和偏移表730。
83.超级块表710的每一记录指定与指定超级块和分区组合相关联的块族。在一些实施方案中,超级块表记录可进一步包含与指定超级块和分区组合相关联的时间和温度值。
84.族表720由块族编号索引,使得族表720的每一记录为记录的索引所参考的块族指定与块族的相应裸片相关联的阈值电压偏移区间集。换句话说,族表720的每一记录包含向量,所述向量的每一元素指定与向量元素的索引所参考的裸片相关联的阈值电压偏移区间。可通过校准过程确定将与块族裸片相关联的阈值电压偏移区间,如上文更详细地描述。
85.最后,偏移表730由区间编号索引。偏移表730的每一记录(例如,针对tlc、mlc和/或slc)指定与阈值电压偏移区间相关联的阈值电压偏移集。存储器子系统控制器可确定阈值电压偏移,如下文参考图9和10更详细地描述。
86.元数据表710至730可存储在图1的一或多个存储器装置130上。在一些实施方案中,元数据表的至少一部分可高速缓存在图1的存储器子系统控制器115的本地存储器119中。
87.在操作中,在接收到读取命令后,存储器子系统控制器确定对应于读取命令所指定的逻辑块地址(lba)的物理地址。例如物理块编号和裸片识别符的物理地址分量用于执行元数据表遍历:首先,超级块表710用于识别对应于物理块编号的块族识别符;接着,块族识别符用作族表720的索引以便确定与块族和裸片相关联的阈值电压偏移区间;最终,所识别的阈值电压偏移区间用作偏移表730的索引以便确定对应于区间的阈值电压偏移。存储器子系统控制器可接着将所识别的阈值电压偏移叠加地施加到基础电压读取电平,以便执行所请求的读取操作。
88.在图7的说明性实例中,超级块表710将超级块0的分区0映射到块族4,所述块族用作族表720的索引以便确定裸片0被映射到区间2。将后一值用作偏移表的索引,以便确定区间2的阈值电压偏移值。
89.图8描绘根据本公开的实施例示出编程后时间中的错误率的发展的实例曲线图。x轴表示编程后时间。y轴表示与使用调整后的阈值电压(即,由添加到基础电压读取电平的阈值电压偏移区间所参考的阈值偏移电压)执行的读取操作相关联的错误率。在实施例中,错误率度量为原始误码率(rber)。线810表示最大可允许错误率。在实施例中,可基于触发度量确定线810。触发度量指代指示存储器装置必须进入错误恢复的程度或与所述程度有关的测量。在一个实施方案中,触发度量可以是触发率,其表示具有在错误处置过程之外读取时存储器装置的不可校正的高错误率的码字的份额。在符合预定义触发率要求的情况下,可基于硬ecc校正能力确定线810。
90.线816表示与使用如通过本公开的实施例所确定的调整后的阈值电压执行的读取操作相关联的错误率的发展。如图8中所示出,本公开的实施例使得存储器子系统控制器能够将阈值电压偏移集指派到低阈值电压偏移区间(例如,区间0),使得在时间0处执行的读取操作可具有不超过最大可允许错误率(810)的次佳错误率。如根据本公开的实施例所确
定,与低阈值电压偏移区间(例如,区间0)相关联的阈值电压偏移集可模拟单元将在较高tap处经历的大阈值电压移位。在编程时,使用如根据本公开的实施例所确定的阈值电压偏移集执行的读取操作的错误率可为高的,例如示出为图8中的错误率820。当阈值电压在编程后时间中沿着电压轴线朝较低阈值电压移位时,与使用如根据本公开的实施例所确定的阈值电压偏移集执行的读取操作相关联的错误率可减小,如图8中所示。在实施例中,阈值电压可沿着电压轴线移位到阈值电压,使得当与如根据本公开的实施例所确定的阈值电压偏移集组合时产生较低错误率,例如如图8中的错误率822所示。也就是说,与低阈值电压偏移区间(例如,区间0)相关联的设定的阈值电压偏移抵消了块所经历的阈值电压移位。当阈值电压继续沿着电压轴线移位时,与使用如根据本公开的实施例所确定的阈值电压偏移集执行的读取操作相关联的错误率可开始增大,如图8中所示。
91.随着时间流逝和所编程单元中的电荷减少,与低阈值电压偏移区间相关联的阈值电压可使得错误率在再次增大之前减小,如图8中所示。因此,使块族达到将块族移动到下一阈值电压偏移区间所需的触发率所花费的时间延长。举例来说,错误率824可表示与将块族移动到下一阈值电压偏移区间相关联的触发率。一旦与使用如根据本公开的实施例所确定的阈值电压偏移集执行的读取操作相关联的错误率达到错误率824,那么块族管理器可使块族与将递送低于824的错误率的另一阈值电压偏移区间相关联。通过根据本公开的实施例将低阈值电压偏移区间(例如,区间0)与阈值电压偏移相关联,块族管理器可延长到达所述错误率所花费的时间量。举例来说,块族可在编程后6小时内到达触发率,而非编程后1小时。因此,举例来说,如果存储器子系统在块族处于区间0中时执行3次校准,那么当块族处于区间0中时,常规存储器子系统将每20分钟执行一次校准。根据本公开的实施例使用区间0的调整后的电压读取电平,存储器子系统控制器可在块族处于区间0中时每2小时执行一次校准。减小校准过程的频率释放存储器子系统资源,因此减少时延且提高系统性能。
92.图9为根据本公开的一些实施例的确定用于阈值电压偏移区间的读取电平电压偏移集的实例方法900的流程图。方法900可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法900由图1的块族管理器组件113执行。尽管以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,示出的实施例应仅作为实例理解,且示出的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
93.在操作910处,处理逻辑创建与存储器装置相关联的块族。在创建块族中时,处理逻辑可初始化与存储器装置相关联的块族,且存储块族的识别符。处理逻辑可初始化与块族相关联的超时。响应于对驻存在存储器装置上的块进行编程,处理逻辑可使块与块族相关联。响应于检测到超时到期,处理逻辑可关闭块族。
94.在实施例中,处理逻辑还可初始化与块族相关联的低温和高温以存储存储器装置的选定裸片(例如,随机选定的裸片)的当前温度。响应于确定高温值与低温值之间的差大于或等于特定温度阈值,处理逻辑可关闭块族。
95.在操作920处,处理逻辑使块族与阈值电压偏移区间相关联。在实施例中,处理逻辑在编程时将块族与低阈值电压偏移区间(例如,区间0)相关联。处理逻辑可通过更新与存
储器装置相关联的块族元数据来使块族与阈值电压偏移区间相关联。块族元数据可包含数据结构,例如存储记录的表。表中的每一记录使块与块族相关联。关于图7描述块族元数据的实例。
96.在操作930处,处理逻辑从多个读取电平电压偏移集确定和/或选择读取电平电压偏移集,使得当被施加到与块族相关联的基础读取电平阈值电压时产生不超过最大可允许错误率的次佳错误率。在实施例中,错误率可为原始误码率(rber)。可在制造存储器子系统时或在存储器子系统的使用期间产生读取电平电压偏移集。
97.处理逻辑可使用多个电压偏移集针对块族执行一系列读取操作。处理逻辑可在一系列读取操作当中从一系列读取操作识别产生低于最大可允许错误率的在预定间隔内的误码率的读取操作。举例来说,预定间隔可为最大可允许错误率的预定份额(例如,1/2或3/4)。处理逻辑可随后确定和/或选择用于执行所识别的读取操作,即产生预定间隔内的误码率的读取操作的电压偏移集。
98.在实施例中,可针对特定触发度量和硬输入ecc解码器校正能力确定最大可允许错误率。触发度量可指代指示存储器装置必须进入错误恢复的程度或与所述程度有关的测量。在实施例中,存储器子系统控制器可将最大可允许误码率设定为硬输入ecc解码器校正能力以下的值,同时满足触发度量。举例来说,最大可允许误码率可比硬输入ecc解码器校正能力小5%,以允许误差容限。
99.在操作940处,处理逻辑使读取电平电压偏移集与阈值电压偏移区间相关联。在操作950处,处理逻辑更新与存储器装置相关联的块族元数据。块族元数据可包含使读取电平电压偏移与对应阈值电压偏移区间相关联的偏移表。图7中展示偏移表的实例。
100.在操作960处,处理逻辑针对阈值电压偏移区间执行一系列校准。校准可更新与块族相关联的区间指针以指向对应于数据状态度量的测量值(例如,误码率)的阈值电压偏移区间。基于块族已与阈值电压偏移区间相关联的时间段来确定一系列校准中的两个校准之间的时间段。
101.在实施例中,处理逻辑可接收指定逻辑块的识别符的命令。处理逻辑可将逻辑块的识别符转译为存储在存储器装置上的物理块的物理地址。物理地址可包含存储器装置裸片的识别符。在说明性实例中,通过查与存储器装置相关联的逻辑到物理(l2p)表中的逻辑块识别符(也被称作逻辑块地址或lba)来执行转译。l2p表包含多个映射记录,使得每一映射记录将lba映射到对应的物理地址。对于快闪存储器装置,物理地址可包含信道识别符、裸片识别符、页识别符、平面识别符和/或帧识别符。
102.处理装置基于与存储器装置相关联的块族元数据识别与物理地址相关联的块族。在说明性实例中,处理装置利用图7的超级块表710来识别与物理地址相关联的块族。
103.处理装置确定与块族和存储器装置裸片相关联的阈值电压偏移。在说明性实例中,处理装置利用图7的块族表720来确定对应于块族识别符和裸片识别符的组合的区间识别符。处理装置接着利用图7的偏移表730来确定所识别的阈值电压偏移区间的阈值电压偏移。处理装置通过将所识别的阈值电压偏移施加到与存储器装置相关联的基础读取电平电压来计算修改后的阈值电压。如上文所提及,基础读取电平电压可存储在存储器装置的元数据区域中。处理装置利用所计算的修改后的阈值电压来执行所请求的读取操作。
104.图10为根据本公开的一些实施例的确定用于读取操作的读取电平偏移集的实例
方法1000的流程图。方法1000可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法1000由图1的块族管理器组件113执行。尽管以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,示出的实施例应仅作为实例理解,且示出的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
105.在操作1010处,处理逻辑识别与存储器装置相关联的块。在实施例中,处理逻辑可识别在从主机接收到的读取请求中指定的块。替代地,处理逻辑可识别待对其执行存储器管理操作的块。
106.在操作1020处,处理逻辑使用多个电压偏移集针对块执行一系列读取操作。一系列读取操作中的每一读取操作使用电压偏移集中的一者。每一电压偏移集包含所读取的存储器单元的每一谷值的电压偏移。多个电压偏移集可存储在存储器子系统内,或可由存储器子系统控制器构建。
107.在操作1030处,处理逻辑识别多个读取电平电压集的第一读取电平电压偏移集。第一读取电平电压偏移集在被施加到与块相关联的基础读取电平电压时,产生不超过最大可允许错误率的次佳错误率。
108.处理逻辑可在一系列读取操作当中从一系列读取操作识别产生低于最大可允许错误率的在预定间隔内的误码率的读取操作。举例来说,预定间隔可为最大可允许错误率的预定份额(例如,1/2或3/4)。处理逻辑可随后确定用于执行所识别的读取操作,即产生预定间隔内的误码率的读取操作的电压偏移集。
109.在实施例中,最大可允许错误率可为用于预定义触发度量的硬解码错误水平。触发度量可指代指示存储器装置必须进入错误恢复的程度或与所述程度有关的测量。在实施例中,存储器子系统控制器可在误差水平方面将最大可允许误码率设定为硬输入ecc解码器校正能力以下的值。举例来说,最大可允许误码率可比硬输入ecc解码器校正能力小5%,以允许误差容限。
110.在操作1040处,处理逻辑确定读取操作为后台操作。举例来说,读取操作可为存储器子系统控制器的存储器管理操作的部分,例如正常状态读取。响应于确定读取操作为后台操作,处理逻辑识别第二读取电平电压偏移集。第二读取电平电压偏移集在被施加到与块相关联的基础读取电平电压时产生低于阈值的错误率。阈值可设定成最小化与作为后台操作(例如,正常状态读取)执行的读取操作相关联的错误率。
111.在实施例中,处理逻辑可将特殊读取模式分配到某些后台操作,例如正常状态读取。当执行特殊读取模式时,处理逻辑可确定当被施加到与所读取的块相关联的基础读取电平电压时产生最低错误率的读取偏移电平。
112.在操作1050处,处理逻辑通过将第一读取电平电压偏移集或第二读取电平电压偏移集施加到与块相关联的基础读取电平电压来计算修改后的阈值电压。处理逻辑可响应于确定读取操作为后台操作而施加第二读取电平电压偏移集,否则处理逻辑可施加第一读取电平电压偏移集。在操作1060处,处理逻辑使用修改后的阈值电压从块读取数据。
113.在实施例中,处理逻辑可确定与所识别的块相关联的阈值电压偏移区间,且可使
第一读取电平电压偏移集与阈值电压偏移区间相关联。处理逻辑可通过更新与存储器装置相关联的块族元数据来使第一读取电平电压偏移集与阈值电压偏移区间相关联。块族元数据可包含使读取电平电压偏移与对应阈值电压偏移区间相关联的偏移表。图7中展示偏移表的实例。
114.在实施例中,处理逻辑可识别存储在存储器装置上的所识别块的物理地址。物理地址可包含存储器装置裸片的识别符。处理逻辑可基于与存储器装置相关联的块族元数据识别与物理地址相关联的块族。处理逻辑可基于与存储器装置相关联的块族元数据识别与块族相关联的阈值电压偏移区间。块族元数据可包含多个记录,且每一记录可使块与块族相关联。
115.图11为根据本公开的一些实施例所确定的实例读取电平电压偏移集。区间偏移校准过程确定产生不超过最大可允许错误率的次佳错误率的读取电平电压偏移集,因此延长给定块族与特定阈值电压偏移区间相关联的时间段。图11示出读取电平电压偏移的实例集合n 1101。此实例读取电平电压偏移集针对三层级单元(tlc),且因此具有7个谷值1105。应注意,用于单层级单元(slc)的集合将具有1个谷值,用于多层级单元(mlc)的集合将具有3个谷值,用于四层级单元(qlc)的集合将具有15个谷值,以此类推。并且,在图11中示出的实例中,集合具有8个区间1103。字母a至z表示读取电平电压偏移。应注意,字母a至z为实例;某些谷值和区间中的读取电平电压偏移可相同,或其可全部不同。与图11中所示出的相比,可存在更多或更少的不同读取电平电压偏移(也就是说,读取电平电压偏移不限于图11中所示出的26个a至z值)。
116.在此实例中,存储器子系统控制器已确定:当读取电平电压偏移a被施加到与区间0相关联的tlc的谷值1时产生不超过最大可允许错误率的次佳错误率;当读取电平电压偏移b被施加到与区间0相关联的tlc的谷值2时产生不超过最大可允许错误率的次佳错误率;当读取电平电压偏移d被施加到与区间0相关联的tlc的谷值3时产生不超过最大可允许错误率的次佳错误率;以此类推。因此,使块族与集合n 1101相关联可延长块族将处于区间0中的时间段,因此减小校准过程的频率且提高总体系统性能。
117.图12示出计算机系统1200的实例机器,在所述机器内可执行指令集以用于使得机器执行本文中所论述的方法中的任何一或多个。在一些实施例中,计算机系统1200可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,运行操作系统以执行对应于图1的块族管理器组件113的操作)。在替代性实施例中,机器可连接(例如,联网)到局域网(local area network,lan)、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
118.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由机器采取的动作的指令集的任何机器。此外,虽然示出了单个机器,但还应认为术语“机器”包含单独地或共同地执行(一或多个)指令集以执行本文所论述的方法中的任何一或多种的机器的任何集合。
119.实例计算机系统1200包含经由总线1230彼此通信的处理装置1202、主存储器1204
(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rdram等)、静态存储器1206(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统1218。
120.处理装置1202表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更确切地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置1202还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器或类似者。处理装置1202配置成执行指令1226以用于执行本文所论述的操作和步骤。计算机系统1200可进一步包含网络接口装置1208以经由网络1220通信。
121.数据存储系统1218可包含机器可读存储媒体1224(也称为计算机可读媒体),所述机器可读存储媒体上存储有一或多个指令集1226或体现本文所描述的方法或功能中的任何一或多个的软件。指令1226还可在由计算机系统1200执行其期间完全或至少部分地驻存在主存储器1204内和/或处理装置1202内,主存储器1204和处理装置1202还构成机器可读存储媒体。机器可读存储媒体1224、数据存储系统1218和/或主存储器1204可对应于图1的存储器子系统110。
122.在一个实施例中,指令1226包含用以实施对应于块族管理器组件(例如,图1的块族管理器组件113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体1224展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储由机器执行的指令集或对其进行编码且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
123.已就对计算机存储器内的数据位的操作的算法和符号表示而言呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在本文中且一般被认为是产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操控的那些操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电信号或磁信号的形式。主要出于常用的原因,已证明将这些信号称为位、值、元素、符号、字符、术语、编号或类似者有时是方便的。
124.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标记。本公开可涉及将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操控且变换成类似地表示为计算机系统的存储器或寄存器或其它此类信息存储系统内的物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
125.本公开还涉及一种用于执行本文中的操作的设备。此设备可出于预期目的而专门构建,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、只读光盘存储器(compact disc read-only memory,cd-rom)和磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
126.本文中呈现的算法和显示本质上并不与任何特定计算机或其它设备相关。各种通
用系统可根据本文中的教示与程序一起使用,或其可以证明构造更专用的设备来执行方法是方便的。将如下文描述中所阐述的那样呈现用于各种这些系统的结构。另外,并不参考任何特定编程语言来描述本公开。应了解,可使用多种编程语言来实施如本文所描述的本公开的教示。
127.本公开可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含其上存储有可用以对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于存储呈机器(例如,计算机)可读形式的信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。
128.在前述说明书中,已参考本公开的具体实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。

技术特征:


1.一种方法,其包括:创建与存储器装置相关联的块族;使所述块族与阈值电压偏移区间相关联;确定读取电平电压偏移集,使得当被施加到与所述块族相关联的基础读取电平阈值电压时产生不超过最大可允许错误率的次佳错误率;以及使所述读取电平电压偏移集与所述阈值电压偏移区间相关联。2.根据权利要求1所述的方法,其中使所述读取电平电压偏移集与所述阈值电压偏移区间相关联包括:更新与所述存储器装置相关联的块族元数据,其中所述块族元数据包括包含多个记录的偏移表,其中所述多个记录中的记录使读取电平电压偏移集与对应阈值电压偏移区间相关联。3.根据权利要求1所述的方法,其中创建与所述存储器装置相关联的所述块族包括:初始化与所述存储器装置相关联的所述块族;初始化与所述块族相关联的超时;响应于对驻存在所述存储器装置上的块进行编程,使所述块与所述块族相关联;以及响应于检测到所述超时到期,关闭所述块族。4.根据权利要求1所述的方法,其中使所述块族与所述阈值电压偏移区间相关联包括:更新与所述存储器装置相关联的块族元数据,其中所述块族元数据包括包含多个记录的表,且其中所述多个记录中的记录使块族与阈值电压偏移区间相关联。5.根据权利要求1所述的方法,其中确定所述读取电平电压偏移集,使得当被施加到与所述块族相关联的所述基础读取电平阈值电压时产生不超过所述最大可允许错误率的所述次佳错误率包括:使用多个电压偏移集针对所述块族执行一系列读取操作;在所述一系列读取操作当中识别产生低于所述最大可允许误码率的在预定间隔内的误码率的读取操作;以及确定所述多个电压偏移集中用于执行所识别的读取操作的电压偏移集。6.根据权利要求1所述的方法,其进一步包括:针对所述阈值电压偏移区间执行一系列校准,其中基于所述块族已与所述阈值电压偏移区间相关联的时间段而确定所述一系列校准中的两个校准之间的时间段。7.根据权利要求2所述的方法,其进一步包括:接收指定逻辑块的识别符的读取命令;将所述逻辑块的所述识别符转译为存储在所述存储器装置上的物理块的物理地址,其中所述物理地址包括存储器装置裸片的识别符;基于与所述存储器装置相关联的块族元数据,识别与所述物理地址相关联的所述块族;确定与所述块族和所述存储器装置裸片相关联的阈值电压偏移;通过将所述阈值电压偏移施加到与所述存储器装置裸片相关联的基础读取电平电压来计算修改后的阈值电压;以及使用所述修改后的阈值电压从所述物理块读取数据。
8.一种系统,其包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以执行包括以下各项的操作:识别与所述存储器装置相关联的块;使用多个读取电平电压偏移集针对所述块执行一系列读取操作;以及识别所述多个读取电平电压偏移集中的读取电平电压偏移集,其中所述读取电平电压偏移集在被施加到与所述块相关联的基础读取电平电压时产生不超过最大可允许错误率的次佳错误率。9.根据权利要求8所述的系统,其进一步包括:确定读取操作为后台操作;响应于确定所述读取操作为所述后台操作,识别所述多个读取电平电压偏移集中的第二读取电平电压偏移集,其中所述第二读取电平电压偏移集在被施加到与所述块相关联的所述基础读取电平电压时产生最低错误率;通过将所述第二读取电平电压偏移集施加到与所述块相关联的所述基础读取电平电压来计算修改后的阈值电压;以及使用所述修改后的阈值电压从所述块读取数据。10.根据权利要求8所述的系统,其进一步包括:确定与所述块相关联的阈值电压偏移区间;通过更新与所述存储器装置相关联的块族元数据来使所述读取电平电压偏移集与所述阈值电压偏移区间相关联,其中所述块族元数据包括包含多个记录的偏移表,其中所述多个记录中的记录使读取电平电压偏移集与对应阈值电压偏移区间相关联。11.根据权利要求10所述的系统,确定与所述块相关联的所述阈值电压偏移区间包括:识别存储在所述存储器装置上的所述块的物理地址,其中所述物理地址包括所述存储器装置裸片的识别符;基于与所述存储器装置相关联的块族元数据,识别与所述物理地址相关联的块族;以及基于与所述存储器装置相关联的所述块族元数据,识别与所述块族相关联的阈值电压偏移区间,其中所述块族元数据包括包含多个记录的表,且其中所述多个记录中的记录使所述块与所述块族相关联。12.根据权利要求11所述的系统,其进一步包括:通过将所述读取电平电压偏移集施加到与所述存储器装置裸片相关联的所述基础读取电平电压来计算修改后的阈值电压;以及使用所述修改后的阈值电压从所述块读取数据。13.根据权利要求11所述的系统,其进一步包括:针对所述阈值电压偏移区间执行一系列校准,其中基于所述块族已与所述阈值电压偏移区间相关联的时间段而确定所述一系列校准中的两个校准之间的时间段。14.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置执行包括以下各项的操作:创建与存储器装置相关联的块族;
使所述块族与阈值电压偏移区间相关联;确定读取电平电压偏移集,使得当被施加到与所述块族相关联的基础读取电平阈值电压时产生不超过最大可允许错误率的次佳错误率;以及使所述读取电平电压偏移集与所述阈值电压偏移区间相关联。15.根据权利要求14所述的非暂时性计算机可读存储媒体,其中使所述读取电平电压偏移集与所述阈值电压偏移区间相关联包括:更新与所述存储器装置相关联的块族元数据,其中所述块族元数据包括包含多个记录的偏移表,其中所述多个记录中的记录使读取电平电压偏移集与对应阈值电压偏移区间相关联。16.根据权利要求14所述的非暂时性计算机可读存储媒体,其中创建与所述存储器装置相关联的所述块族包括:初始化与所述存储器装置相关联的所述块族;初始化与所述块族相关联的超时;响应于对驻存在所述存储器装置上的块进行编程,使所述块与所述块族相关联;以及响应于检测到所述超时到期,关闭所述块族。17.根据权利要求14所述的非暂时性计算机可读存储媒体,其中使所述块族与所述阈值电压偏移区间相关联包括:更新与所述存储器装置相关联的块族元数据,其中所述块族元数据包括包含多个记录的表,且其中所述多个记录中的记录使块族与阈值电压偏移区间相关联。18.根据权利要求14所述的非暂时性计算机可读存储媒体,其中确定所述读取电平电压偏移集,使得当被施加到与所述块族相关联的所述基础读取电平阈值电压时产生不超过所述最大可允许错误率的所述次佳错误率包括:使用多个电压偏移集针对所述块族执行一系列读取操作;在所述一系列读取操作当中识别产生在阈值与所述最大可允许错误率之间的误码率的读取操作;以及确定所述多个电压偏移集中用于执行所识别的读取操作的电压偏移集。19.根据权利要求14所述的非暂时性计算机可读存储媒体,其进一步包括:针对所述阈值电压偏移区间执行一系列校准,其中基于所述块族已与所述阈值电压偏移区间相关联的时间段而确定所述一系列校准中的两个校准之间的时间段。20.根据权利要求15所述的非暂时性计算机可读存储媒体,其进一步包括:接收指定逻辑块的识别符的读取命令;将所述逻辑块的所述识别符转译为存储在所述存储器装置上的物理块的物理地址,其中所述物理地址包括存储器装置裸片的识别符;基于与所述存储器装置相关联的块族元数据,识别与所述物理地址相关联的所述块族;确定与所述块族和所述存储器装置裸片相关联的阈值电压偏移;通过将所述阈值电压偏移施加到与所述存储器装置裸片相关联的基础读取电平电压来计算修改后的阈值电压;以及使用所述修改后的阈值电压从所述物理块读取数据。

技术总结


本申请的实施例涉及管理用于低阈值电压偏移区间放置的读取电平电压偏移。创建与存储器装置相关联的块族。所述块族与阈值电压偏移区间相关联。确定读取电平电压偏移集,使得将所述读取电平电压偏移集施加到与所述块族相关联的基础读取电平阈值电压产生不超过最大可允许错误率的次佳错误率。通过更新块族元数据,使所确定的读取电平偏移集与所述阈值电压偏移区间相关联。偏移区间相关联。偏移区间相关联。


技术研发人员:

K

受保护的技术使用者:

美光科技公司

技术研发日:

2021.12.16

技术公布日:

2022/6/16


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-52679-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-20 22:15:55

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论