一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于块族扫描的智能取样的制作方法

2022-06-22 16:21:06 来源:中国专利 TAG:


1.本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及用于块族扫描的智能取样。


背景技术:

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


技术实现要素:

3.本公开的一方面提供一种系统,其包括:存储器装置;和处理装置,其以操作方式与所述存储器装置耦合以执行包括以下操作的操作:执行所述存储器装置的块族校准扫描,其中所述校准扫描包括多个扫描重复,其中每个扫描重复根据至少一个阈值扫描准则发起,并且其中每个扫描重复包括:识别至少一个第一电压格仓,其中每个第一电压格仓与多个读取电平偏移相关联;根据块族创建次序,从与所述第一电压格仓相关联的多个块族识别最旧块族;和基于所述最旧块族的至少一个块的数据状态度量,更新所述最旧块族的至少一个格仓指针。
4.本公开的另一方面提供一种方法,其包括:通过计算装置执行存储器装置的块族校准扫描,其中所述校准扫描包括多个扫描重复,其中每个扫描重复与重复编号相关联并且响应于确定满足一或多个阈值扫描准则而发起,且其中每个扫描重复包括:基于所述重复编号识别至少一个第一电压格仓,其中每个第一电压格仓与多个读取电平偏移相关联;根据块族创建次序,从与所述第一电压格仓相关联的多个块族识别最旧块族;和基于所述最旧块族的至少一个块的数据状态度量,更新所述最旧块族的至少一个格仓指针。
5.本公开的另一方面提供一种存储指令的非暂时性机器可读存储媒体,所述指令致使处理装置执行包括以下操作的操作:执行所述存储器装置的块族校准扫描,其中所述校准扫描包括多个扫描重复,其中每个扫描重复根据至少一个阈值扫描准则发起,并且其中每个扫描重复包括:识别至少一个第一电压格仓,其中每个第一电压格仓与多个读取电平偏移相关联;根据块族创建次序,从与所述第一电压格仓相关联的多个块族识别最旧块族;和基于所述最旧块族的至少一个块的数据状态度量,更新所述最旧块族的至少一个格仓指针。
附图说明
6.根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
7.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
8.图2示意性地说明根据本公开的一些实施例的由三层级存储器单元所展现的缓慢
电荷损失引起的时间电压移位。
9.图3描绘实例电压边界表和实例电压偏移表。
10.图4a描绘说明根据本公开的一些实施例的阈值电压偏移对编程后时间(即,从块已被编程开始经过的时间段)的相依性的实例图表。
11.图4b示意性地说明根据本公开的实施例的预定义电压格仓集。
12.图5示意性地说明根据本公开的实施例的由块族管理器组件实施的块族管理操作。
13.图6示意性地说明根据本公开的实施例的选择块族进行校准。
14.图7示意性地说明根据本公开的方面的由存储器子系统控制器维持的实例元数据。
15.图8a示意性地说明根据本公开的方面的由媒体管理扫描产生并且由存储器子系统控制器维持的实例扫描元数据。
16.图8b示意性地说明根据本公开的方面的由校准扫描产生并且由存储器子系统控制器维持的实例旧块元数据。
17.图9是根据本公开的方面的执行校准扫描的实例方法的流程图。
18.图10是根据本公开的方面的执行媒体管理扫描的实例方法的流程图。
19.图11a示意性地说明根据本公开的方面的由存储器子系统控制器基于特定扫描频率执行的实例校准扫描。
20.图11b示意性地说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于功率状态而变化。
21.图11c示意性地说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于工作负载而变化。
22.图11d示意性说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于编程/擦除计数而变化。
23.图12a是根据本公开的方面的执行校准扫描的实例方法的流程图,其中扫描每个格仓内的最旧块族。
24.图12b是根据本公开的方面的执行校准扫描的实例方法的流程图,其中块族优先级排序和校准扫描频率可基于与存储器子系统相关联的特性而变化。
25.图12c是根据本公开的方面的基于与存储器子系统相关联的特性确定块族优先级排序的实例方法的流程图。
26.图12d是根据本公开的方面的基于与存储器子系统相关联的特性确定校准扫描频率的实例方法的流程图。
27.图13示意性地说明根据本公开的方面的由存储器子系统控制器执行的校准扫描,其中扫描频率基于功率状态而变化。
28.图14a和14b是根据本公开的方面的执行校准扫描的实例方法的流程图,其中扫描频率基于功率状态而变化。
29.图15是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
30.本公开的方面针对于可靠性扫描辅助的格仓选择。存储器子系统可以为存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
31.存储器子系统可以包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例为与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,nand装置),每一平面由物理块集组成。每一块由页集组成。每个页由一组存储器单元(“单元”)组成。单元是存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储的位数相关的各种逻辑状态。逻辑状态可以由二进制值(例如,“0”和“1”)或此类值的组合表示。
32.数据操作可以由存储器子系统执行。数据操作可为主机发起的操作。举例来说,主机系统可在存储器子系统上起始数据操作(例如写入、读取、擦除等)。主机系统可将存取请求(例如,写入命令、读取命令)发送到存储器子系统,以便将数据存储在存储器子系统处的存储器装置上,且从存储器子系统上的存储器装置读取数据。如由主机请求指定的待读取或写入的数据在下文中被称作“主机数据”。主机请求可包含用于主机数据的逻辑地址信息(例如,逻辑块地址(lba)、名字空间),其是主机系统与主机数据相关联的位置。逻辑地址信息(例如,lba、名字空间)可为主机数据的元数据的部分。元数据还可包括错误处理数据(例如,ecc码字、奇偶检验码)、数据版本(例如,用于区分所写入数据的新旧(age))、有效位图(其lba或逻辑传送单元含有有效数据)等。
33.存储器装置包含多个存储器单元,其中的每一个可取决于存储器单元类型而存储一或多个信息位。可通过将某一电压施加到存储器单元来编程存储器单元(向其写入),这使得存储器单元保持电荷,从而允许调制由存储器单元产生的电压分布。此外,精确地控制存储器单元所存储的电荷的量允许使用对应于不同逻辑电平的多个阈值电压电平。多个阈值电平允许单个存储器单元存储多位信息:以2n个不同阈值电压电平进行操作的存储器单元能够存储n位信息。“阈值电压”在本文中将指代定义对应于两个逻辑电平的两个相邻电压分布之间的边界的电压电平。因此,可通过将存储器单元所展现的所测量电压与一或多个阈值电压电平进行比较以便区分用于单层级单元的两个逻辑电平以及区分用于多层级单元的多个逻辑电平,以此来执行读取操作。
34.由于被称为缓慢电荷损耗(“scl”)的现象,存储器单元的阈值电压在时间上随着单元的电荷降级而发生改变,其被称作“时间电压移位”(因为使电荷降级导致电压分布沿电压轴朝较低电压电平移位)。时间电压移位(tvs)在本文中将指代单元的所测量电压随时间的改变。时间电压移位可包含不同分量,例如固有电荷损失、系统电荷损失、快速电荷损失等。由某些nand技术形成的存储器通常展现比浮动栅极nand更多的tvs。tvs通常随着编程擦除循环(pec)、较高温度和较高编程电压而增加。tvs展示显著的裸片到裸片变化。在展现tvs的存储器中,阈值电压首先快速改变(紧接在存储器单元被编程之后),且接着相对于
从单元编程事件开始经过的时间以大致对数线性方式减慢。由缓慢电荷损失引起的时间电压移位如果不减小则可能会使读取操作中的位错误率增大。
35.可通过实施采用基于块族的错误避免策略的存储器子系统来减小时间电压移位,因此显著地降低存储器子系统展现的位错误率。根据本公开的实施例,针对按块族分组的经编程存储器单元集,选择性地跟踪时间电压移位。将基于与特定块族的块隶属关系的适当电压“读取电平偏移”施加到基础读取电平以执行读取操作。“块”在本文中将指代连续或不连续的存储器页的集。“块”的实例为“可擦除块”,其为存储器的最小可擦除单元,而“页”为存储器的最小可写入单元。每一页包括存储器单元集。存储器单元是存储信息的电子电路。“块族”在本文中将指代可能不连续的存储器单元集(其可驻留在一或多个完整和/或部分块中,后者在本文中被称作“分区”),其已经在指定时间窗和规定温度窗内编程且因此预期在用于其相应数据状态度量方面展现类似或相关改变。块族可以任何粒度制成,仅含有全部码字、全部页、全部超级页或全部超级块或其任何组合。在一些实施方案中,基础读取电平可存储在存储器装置的元数据中。本文中的“数据状态度量”将指从存储在存储器装置上的数据的状态测量或推断的量。具体地,数据状态度量可反映时间电压移位的状态、读取干扰的程度和/或数据状态的其它可测量函数,如将更详细地论述。复合数据状态度量为组件状态度量集的函数(例如,加权和)。
[0036]“读取电平”在本文中将指代电压位置。读取电平按电压递增方式编号为l1到2n,其中n是可存储于单元中的位数。“读取电平值”在本文中将指代电压或表示出于读取所述单元的目的而施加到读取元件的电压的dac值(通常为nand单元的控制栅极)。“读取电平偏移”在本文中将指代确定读取电平值的方程式的分量。“校准”在本文中将指代更改读取电平值(可能通过调整读取电平偏移或读取电平基数)以更好地匹配用于读取或读取集的理想读取电平。
[0037]“格仓”(或“电压格仓”或“电压偏移格仓”)在本文中将指代施加到数据集的读取电平偏移集。格仓偏移为影响格仓内的块族的读取电平的读取电平偏移。旧的或较旧的格仓为读取电平偏移针对在相对较早时间写入的数据的格仓。新的或较新的格仓为读取电平偏移针对相对最近写入的数据的格仓。“格仓选择”在本文中将指代存储器装置选择哪一个格仓以用于给定读取的过程。
[0038]
存储器子系统控制器可周期性地执行校准过程(还被称作校准扫描)以更新块族与格仓之间的关联。每个块族与存储有块族的块的裸片集相关联。块族和裸片与电压格仓的关联可由格仓指针集表示,所述格仓指针集包含用于块族的每一裸片的格仓指针。对于特定块族,每个特定裸片与识别(“指向”)电压格仓的格仓指针相关联,进而建立特定裸片的块族与电压格仓之间的关联。可通过格仓编号(例如,在8电压格仓架构中介于0和7之间的数字)识别格仓。每个格仓指针因此可为格仓编号。块与块族以及块族和裸片与电压格仓的关联可存储于由存储器子系统控制器维持的相应元数据表中(例如,作为元数据表中的格仓编号)。
[0039]
校准扫描可例如通过针对每个块族的每一裸片,测量存储于裸片上的(块族的)块的数据状态度量的值,针对预定义电压格仓集中的一个评估每个块族的每一裸片的数据状态度量(例如,电压移位或位错误率)。校准扫描随后可更新与裸片和块族相关联的格仓指针以指向与数据状态度量的所测量值对应的电压格仓。每个电压格仓又与将针对读取操作
施加的电压偏移相关联。举例来说,格仓指针可在数据状态度量处于与现有格仓指针相关联的范围内的情况下保持相同,或可在数据状态度量处于与较旧格仓相关联的范围内的情况下改变为指向较旧格仓。虽然块族可(通过格仓指针)与多个不同格仓相关联,但块族在本文中被称为与格仓中的一个特定格仓相关联(“处于格仓中的一个特定格仓中”)。更具体地说,块族与关联于块族的裸片的最旧格仓相关联(或处于所述最旧格仓中)。
[0040]
通常,针对较新块族(即,最近产生的块族)的时间电压移位显著大于针对较旧块族(即,较早产生的块族)的时间电压移位。存储器子系统控制器可基于块族的新旧周期性地执行针对每个块族的校准扫描,所述块族的新旧对应于与块族相关联的电压格仓。举例来说,在8电压格仓架构中,新近产生的块族可与电压格仓0相关联,而最旧(即,较早产生的)块族与电压格仓7相关联。基于与电压格仓0相关联的块族的新旧(例如,基于scl的对数线性性质),存储器子系统控制器对处于电压格仓0中的块族比对处于电压格仓7中的块族更频繁地执行校准扫描。
[0041]
由于校准扫描涉及获得每个经扫描块族处的数据的当前状态的测量并且基于测量的状态数据执行计算,因此校准扫描可利用大量的存储器子系统资源。因此,校准扫描可增加存储器子系统的时延和电力消耗。因此,应不频繁执行校准扫描以使系统性能的降低减至最少。然而,校准扫描时间敏感的,原因是当与块族相关联的指针不以补偿存储于与块族相关联的块中的数据的时间电压移位的及时方式更新时,可进行错误校准。此类错误校准可引起读取错误,这可能不利地影响存储器子系统的性能。因此,应频繁地执行校准扫描以避免错误校准和读取错误。可能难以确定适当的校准扫描频率,原因是频繁校准扫描可避免错误校准和读取错误,但还可因为消耗系统资源(例如处理器时间)而降低系统性能。
[0042]
本公开的方面通过调整校准扫描以适应存储器子系统的改变的特性来解决以上和其它缺陷。存储器子系统的这些特性在本文中被称作校准需求特性,并且可包含系统状态特性,例如存储器子系统或主机的功率状态,以及正在存储的数据的特性,例如工作负载特性。校准需求特性可包含块族新旧、存储器子系统或主机的功率状态(例如,处于作用中、空闲、休眠或睡眠)、工作负载、存储器装置的编程/擦除循环计数、或读取错误率。可调整校准扫描以通过例如根据校准需求特性改变校准扫描频率来适应改变的校准需求特性。可响应于检测到校准需求特性满足阈值校准需求准则而执行校准扫描调整。举例来说,校准需求范围集(例如读取错误率范围)可与对应校准扫描调整参数集相关联,所述对应校准扫描调整参数集规定针对所述范围中的每一个如何调整校准扫描。替代地,可使用将校准需求映射到校准扫描调整参数的其它合适的函数,例如线性函数或二次函数。因此,可基于与存储器子系统相关联的特性,通过修改扫描参数(例如扫描频率或其它控制校准扫描的起始的准则)来调整校准扫描。
[0043]
作为实例,可基于块族新旧,选择块族子集,随后扫描所述块族子集而非其它块族,以此调整校准扫描。将被扫描的块族子集可包含例如每个电压格仓中的最旧块族。替代地或另外,可使所述块族子集优先以使得在其它块族之前扫描所述子集中的块族。可基于与块族相关联的读取错误率来确定将优先的块族子集,使得在具有低于阈值错误率的错误率的其它块族之前扫描与大于所述阈值的读取错误率相关联的块族。替代地,优先级可基于块族的错误率与每个块族相关联,且可按根据其优先级的次序扫描块族。
[0044]
可基于存储器子系统或主机系统的功率状态执行校准扫描。在空闲状态中,存储
器子系统可将大量的处理时间用于执行扫描操作,原因是预期进行极少(如果存在的话)主机读取或写入。因此,响应于从作用中状态1114转变到空闲状态1116,块族管理器组件113可增大扫描频率。可响应于确定满足至少一个阈值准则而执行校准扫描。阈值准则可基于存储器子系统或主机系统的功率状态。举例来说,当存储器子系统处于空闲功率状态中时,或当存储器子系统从睡眠状态或低功率状态转变到有效功率状态时,可满足阈值准则。另外,可与工作负载强度(例如由存储器子系统在一段时间内执行的写入操作的数目)成比例地,或与和存储器装置相关联的编程/擦除循环的数目成比例地调整校准扫描频率。
[0045]
本公开的优点包含但不限于减少块族校准扫描中使用的操作数目,且因此减少时间量。举例来说,由校准扫描执行的数据状态度量测量操作会消耗很大时间量。使用本文所公开的自适应扫描频率技术,存储器子系统能够在有较高校准需求的时间期间高频率执行校准(具有低时延),使得格仓指针可更准确地反映较新格仓的较快速率的电荷损失。可在其中低频率足以维持读取电平校准的时间期间低频率执行校准。因此,存储器子系统可减少在不需要高频率扫描的时间段期间供校准扫描使用的处理时间的量,同时保持在更大需求时段期间高频率扫描的益处,这些时段都对应于更具时间敏感度的时段。
[0046]
由于可在更大校准需求的时段期间增加校准扫描频率,并且在较低校准需求的时段期间减小校准扫描频率,因此可以更大准确度维持电压格仓给块族的指配,同时在较低校准需求的时段期间使用较少计算资源。举例来说,将近转变到另一电压格仓的块族中的经编程数据单元可比其目前关联的电压格仓的新旧阈值更旧,进而致使读取使用较不准确的读取电平偏移用于所述经编程数据单元。通过校准扫描将经编程数据单元最终重新指配给适当的较旧格仓。使用本文所公开的技术,可通过将每个格仓内的最旧块族进行优先级排序,和/或例如通过增加当工作负载为高时的扫描频率来增加扫描格仓的速率,以此减少此重新指配之前的延迟。作为另一实例,如果经编程数据单元比其关联的电压格仓的新旧阈值更旧,那么尝试读取数据单元或相关联的数据单元(例如,同一页或块中的其它单元)可致使单元的块的读取错误率增加。可使用本文所公开的技术,通过将在校准扫描中具有高错误率的块进行优先级排序来加速单元给适当格仓的重新指配。
[0047]
另外,由于校准扫描可识别将扫描的特定块族,例如每个格仓中的最旧块族,或与具有高错误率的块相关联的块族,因此可以减少扫描块的数目。因此,作为上文所描述的校准扫描频率增加的益处的补充或替代方案,可使大量的存储器子系统资源可用于其它过程。存储器系统资源在除校准扫描以外的过程中的此可用性引起整体存储器子系统时延减少和整体存储器子系统效率提高。
[0048]
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
[0049]
存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm),以及各种类型的非易失性双列直插式存储器模块(nvdimm)。
[0050]
计算系统100可以是计算装置,例如台式计算机、手提式计算机、网络服务器、移动
装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置(例如,处理器)的计算装置。
[0051]
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与
……
耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
[0052]
主机系统120可包括处理器芯片组和由所述处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。
[0053]
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1说明作为实例的存储器子系统110。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
[0054]
存储器装置130、140可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
[0055]
非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(nand)型快闪存储器和就地写入存储器,例如三维交叉点(“3d交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含(例如)二维nand(2d nand)和三维nand(3d nand)。
[0056]
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(slc)可存储一个位每单元。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)和四层级单元(qlc)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分,和mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,nand),页可进行分组以形成块。
[0057]
虽然描述了非易失性存储器装置,例如3d交叉点非易失性存储器单元阵列和nand型快闪存储器(例如,2d nand、3d nand),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、“或非”(nor)快闪存储器,以及电可擦除可编程只读存储器(eeprom)。
[0058]
存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以进行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。
[0059]
存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程,包含处置存储器子系统110与主机系统120之间的通信。
[0060]
在一些实施例中,本地存储器119可包含存储存储器指针、提取的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,而是替代地可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
[0061]
通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令来实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ecc)操作、加密操作、高速缓存操作,及与存储器装置130相关联的逻辑地址(如,逻辑块地址(lba)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
[0062]
在一些实施方案中,存储器子系统110可使用分条方案,根据此方案,每个数据有效负载(例如,用户数据)利用存储器装置130、140(例如,nand型快闪存储器装置)的多个裸片,使得有效负载分布在裸片子集上,而剩余的一或多个裸片用以存储错误校正信息(例如,奇偶校验位)。因此,本文将使用分条方案跨存储器装置的裸片集分布的块集称为“超级块”。
[0063]
存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可以包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
[0064]
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控
制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
[0065]
存储器子系统110包含块族管理器组件113,其可例如通过执行校准扫描选择将与存储器装置处的块族相关联的电压格仓。块族管理器组件113或存储器子系统控制器115的另一组件可执行媒体管理扫描,所述媒体管理扫描可对存储器装置130执行媒体管理操作。块族管理器组件113还可例如通过基于与存储器装置相关联的特性修改扫描的参数,修改校准扫描。在一些实施例中,存储器子系统控制器115包含块族管理器组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其被配置成执行存储于本地存储器119中的指令以用于执行本文所描述的操作。在一些实施例中,块族管理器组件113是主机系统110、应用程序或操作系统的部分。下文描述关于块族和块族管理器组件113的另外细节。
[0066]
图2说明根据本公开的实施例的至少部分地由三层级存储器单元所展现的缓慢电荷损失引起的时间电压移位。虽然图2的说明性实例利用三层级单元,但可进行相同观测,且因此,相同的补救措施可适用于单层级单元和具有多个层级的任何存储器单元。
[0067]
可通过将某一电压(例如,编程电压)施加到存储器单元来编程(写入到)存储器单元,从而产生由存储器单元存储的电荷。精确控制由存储器单元存储的电荷的量允许存储器单元具有对应于不同逻辑电平的多个阈值电压电平,因此有效地允许单个存储器单元存储多个信息位。以2n个不同阈值电压电平操作的存储器单元能够存储n位信息。
[0068]
图表210和230中的每一个说明通过相应写入电平(其可被假设处于编程分布的中点处)编程以编码对应的逻辑电平的存储器单元的编程电压分布220a-420n(在本文中也被称作“编程分布”或“电压分布”或“分布”)。编程分布220a到220n可说明用于以相应写入电平(例如编程电压)编程的存储器单元的阈值电压的范围(例如阈值电压的正态分布)。为了区分邻近程序分布(对应于两个不同逻辑电平),定义读取阈值电压电平(由竖直虚线展示),使得低于读取阈值电平的任何所测量电压与一对邻近程序分布中的一个程序分布相关联,而大于或等于读取阈值电平的任何所测量电压与所述一对相邻分布中的另一程序分布相关联。
[0069]
在图表210中,在对应的程序分布下方展示存储器单元的八个状态(除了标记为er的作为已擦除状态的状态以外,未展示状态的分布)。每一状态对应于逻辑电平。阈值电压电平标记为va至vh。如所展示,低于va的任何所测量电压与er状态相关联。标记为p1、p2、p3、p4、p5、p6和p7的状态分别地对应于分布22a-220n。
[0070]
编程后时间(tap)在本文中将指代从单元已经被写入起经过的时间且是时间性电压移位(tvs)的主要驱动因素。可估计(例如,根据数据状态度量推断)或(例如,根据控制器时钟)直接测量tap。单元、块、页、块族等在其具有(相对)小的tap的情况下是新的(或相对较新),且在其具有(相对)大的tap的情况下是旧的(或相对较旧)。时间片是两个tap点之间的持续时间,在此持续时间期间,可进行测量(例如在编程之后的8到12分钟进行参考校准)。时间片可由其中心点(例如,10分钟)参考。
[0071]
如根据比较分别反映为0的编程后时间(tap)(紧接在编程之后)和t小时的tap(其中t为小时数)的实例图表210和230而看出,程序分布主要由于缓慢电荷损失而随时间变化。为了降低读取位错误率,调整对应读取阈值电压以补偿由竖直虚线展示的程序分布的移位。在本公开的各种实施例中,基于在裸片群组的一或多个代表性小片处进行的测量针对裸片群组选择性地跟踪时间电压移位。基于对裸片群组中的代表性裸片进行的特性化裸片群组中的裸片的时间电压移位和操作温度的测量,更新用于针对裸片群组中的裸片读取存储器单元的读取阈值电压偏移且将其施加到基础读取阈值电平以执行读取操作。
[0072]
图3描绘实例电压边界表和实例电压偏移表。电压边界表310和电压偏移表320可用以确定读取电平偏移,所述读取电平偏移添加到基础读取电平电压以从存储器单元读取数据。随着编程后时间增加,存储器单元的分布的阈值电压可能由于存储电荷损失而变化,如图2的实例所示。为了确定用于读取单元的适当的读取电平偏移,可执行对单元的测量以基于例如电压的数据状态度量来估计单元的编程后时间。举例来说,可测量单元的层级7分布,并且可确定测量的读取电平(例如,100毫伏)与参考读取电平(例如,0伏特)之间的差。所述差对应于存储器单元的编程后时间,且可用于识别待添加到基础读取阈值电平以执行读取操作的读取电平偏移。
[0073]
电压边界表310可用以识别含有供在从存储器单元读取数据时使用的读取偏移的格仓。待使用的格仓为电压差(在所测量读取电平与参考读取电平之间)对应于边界列中展示的电压范围的格仓列的值。举例来说,如果差小于v1,那么将使用格仓0。如果所述差在v1与v2之间,那么将使用格仓1,以此类推。电压偏移量表可用于识别待用于所识别格仓的读取电平偏移。举例来说,如果待使用的格仓为格仓0,那么当读取存储器单元时,在标记为“格仓0”322的列中展示的偏移(例如,v10、v20
……
v60)中的一个对应偏移将添加到层级1-7中的每一个的基础读取偏移电平(和任何其它偏移)。“格仓0”322对应于图2中展示的0小时的编程后时间。列“格仓5”324对应于图2中展示的t小时的编程后时间,并且具有较大量值的偏移。小于阈值新旧值的格仓编号可被称为“较新格仓”,且大于或等于阈值新旧值的格仓编号可被称为“较旧格仓”。举例来说,如果阈值新旧值为格仓编号5,那么格仓0到4可被称为较新格仓,且格仓5到7可被称为较旧格仓。作为另一实例,如果阈值新旧值为格仓编号4,那么格仓0到3可被称为较新格仓,且格仓4到7可被称为较旧格仓。
[0074]
如上文所描述,“读取电平”在本文中将指代电压位置。读取电平按电压递增方式编号为l1到2^(位数)。作为实例,对于tlc,读取电平将为l1、l2、
……
、l7。“读取电平值”在本文中将指代电压或表示出于读取所述单元的目的而施加到读取元件的电压的dac值(通常为nand单元的控制栅极)。“读取电平偏移”在本文中将指代确定读取电平值的方程式的分量。可对偏移求和(即,读取电平值=offset_a offset_b
……
)。按照惯例,读取电平偏移中的一个可称为读取电平基数。“校准”在本文中将指代更改读取电平值(可能通过调整读取电平偏移或读取电平基数)以更好地匹配用于读取或读取集的理想读取电平。
[0075]
如上文所描述,“格仓”(或“电压格仓”或“电压偏移格仓”)在本文中将指代施加到一组数据的一组读取电平偏移。格仓偏移为影响格仓内的块族的读取电平的读取电平偏移。在此上下文中,格仓通常主要针对解决tvs,但也可针对其它机制(例如,温度系数(tempco)错误校准)。旧的或较旧的格仓为读取电平偏移针对在相对较早时间写入的数据的格仓。新的或较新的格仓为读取电平偏移针对相对最近写入的数据的格仓。读取电平调
整可通过偏移或读取重试或甚至作为到基础的调整来实施。格仓选择在本文中将指代存储器装置选择哪一个格仓以用于给定读取的过程。
[0076]
图4a描绘说明根据本公开的一些实施例的阈值电压偏移对编程后时间(即,从块已被编程开始经过的时间段)的相依性的实例图表400。如由图4a示意性地说明,将存储器装置的块族分组成格仓430a-430n,使得每一块族包含已在指定时间窗和指定温度窗内经编程的一或多个块。如上文所提及,由于在编程之后经过的时间以及温度是影响时间电压移位的主要因素,所以推测单个块族内的所有块和/或分区在存储器单元中展现类似的阈值电压分布,且因此将需要相同的电压偏移来进行读取操作。
[0077]
可相对于块编程事件异步创建块族。在说明性实例中,每当从最后一个块族的创建开始已经过指定时间段(例如预定分钟数),或每当从当前块族的创建开始,存储器单元的参考温度(其以指定时间间隔更新)已改变了超过指定阈值,那么图1的存储器子系统控制器115可创建新的块族。存储器子系统控制器可维护活动块族的识别符,其在一或多个块被编程时与所述块相关联。
[0078]
新创建的块族可与格仓0相关联。随后,存储器子系统控制器可周期性地执行校准过程,以便使每个块族的每一裸片与预定义阈值电压格仓(在图4a的说明性实例中,格仓0-7)中的一个相关联,所述格仓又与将对读取操作施加的电压偏移相关联。块与块族以及块族和裸片与电压格仓的关联可存储在由存储器子系统控制器维护的相应元数据表中,所述元数据表例如关于下图7所描述的元数据表。
[0079]
图4b示意性地说明根据本公开的实施例的预定义阈值电压格仓集。如图4b示意性地说明,可将阈值电压偏移曲线图450细分为多个电压格仓,使得每一电压格仓对应于阈值电压偏移的预定范围。虽然图4b的说明性实例定义了十个电压格仓,但在其它实施方案中,可使用各种其它数目的电压格仓(例如,64个格仓)。存储器子系统控制器可基于周期性执行的校准过程而使每一块族的每一裸片与电压格仓相关联,如下文进一步详细描述。
[0080]
图5示意性地说明根据本公开的实施例的由存储器子系统控制器115的块族管理器组件113实施的块族管理操作。如图5示意性地说明,块族管理器组件113可在存储器变量中维持作用中块族的识别符520,其与光标530a-530k被编程时所述光标的一或多个块相关联。“光标”在本文中将广泛地指代存储器装置上向其写入数据的位置。
[0081]
存储器子系统控制器可利用通电分钟(pom)时钟来跟踪块族的创建时间。在一些实施方案中,除pom时钟之外,可利用当控制器处于各种低电力状态时继续运行的较不准确的时钟,使得在控制器从低电力状态唤醒后,即刻基于较不准确的时钟来更新pom时钟。
[0082]
因此,在每个块族的初始化之后,块族管理器组件113即刻将当前时间540作为块族开始时间550存储于存储器变量中。在将块进行编程时,块族管理器组件113将当前时间540与块族开始时间550进行比较。响应于检测到当前时间540与块族开始时间550的差大于或等于指定时间段(例如预定分钟数),块族管理器组件113更新存储作用中块族识别符520的存储器变量,以存储下一块族数目(例如下一循序整数数目),且更新存储块族开始时间550的存储器变量以存储当前时间540。
[0083]
块族管理器510还可维持两个存储器变量,以用于存储每一存储器装置的选定裸片的高和低参考温度。在初始化每一块族之后,高温560和低温570变量存储存储器装置的选定裸片的当前温度的值。在操作中,在作用中块族识别符520保持相同时,周期性地获得
温度测量值,并将其与相应地更新的所存储的高温560和低温570值进行比较:若发现温度测量值大于或等于高温变量560所存储的值,则将高温变量560所存储的值更新以存储所述温度测量值;相反地,若发现温度测量值降到低温变量570所存储的值以下,则将低温变量570所存储的值更新以存储所述温度测量值。
[0084]
块族管理器510可进一步周期性地计算高温560与低温570之间的差。响应于确定高温560与低温570之间的差大于或等于指定温度阈值,块族管理器510可创建新的作用中块族:存储作用中块族识别符520的存储器变量经更新以存储下一块族数目(例如下一循序整数数目),存储块族开始时间550的存储器变量经更新以存储当前时间540,且高温560和低温570变量经更新以存储存储器装置的所选裸片的当前温度的值。
[0085]
在编程块的时间,块族管理器组件113将所述块与目前作用中块族相关联。通过块族元数据710反映每个块与对应块族的关联,如本文中在下文参考图7更详细描述。
[0086]
如先前所描述,基于周期性地执行的校准过程,块族管理器组件113使每个块族的每一裸片与电压格仓关联,所述电压格仓定义将施加到基础电压读取电平以便执行读取操作的阈值电压偏移集。校准过程涉及相对于正校准的块族内指定数目的随机选定块,利用不同阈值电压偏移执行读取操作,以及挑选使读取操作的错误率最小化的阈值电压偏移。块族管理器113确定对应于所选阈值电压偏移的特定电压格仓并且更新块族的元数据以对应于所确定的电压格仓。
[0087]
在一些实施例中,存储器子系统控制器对每个电压格仓执行校准过程的频率可基于与电压格仓相关联的块族的新旧。如先前关于图4a所描述,新近产生的块族可与电压格仓0相关联,且存储器装置上的较旧块族可与编号在后的电压格仓相关联。较新电压格仓中的块族的时间电压移位显著大于和较旧电压格仓相关联的块族的时间电压移位。这在图4b中说明为格仓0的电压偏移与较旧电压格仓(例如,电压格仓9、8、7等)的电压偏移相比以更快速速率进行移位。因此,存储器子系统控制器可针对与电压格仓0相关联的块族和与电压格仓9相关联的块族相比以更高频率执行校准过程,以此使每个块族与适当的电压格仓相关联。
[0088]
图6示意性地说明根据本公开的实施例的选择块族进行校准。示出了三个是,命名为格仓0、格仓1和格仓2。格仓0包含块族610、612和614。格仓1包含块族620、622和626。格仓2包含块族628。归因于缓慢电荷损失,电压格仓中的最旧块族将在当前格仓的任何其它块族之前迁移到下一电压格仓。因而,存储器子系统控制器可将校准操作限制到格仓中的最旧块族(例如,格仓0中的块族610和格仓1中的块族620)。在一些实施例中,存储器子系统控制器可基于格仓的格仓边界616,识别电压格仓中的最旧块族。格仓边界515可表示各自与不同格仓相关联的两个相邻块族之间的边界。存储器子系统控制器可使用块族元数据表识别特定电压格仓的格仓边界616,如在下文进一步详细描述。格仓边界616处于格仓0和1之间。第二格仓边界624处于格仓1和2之间。
[0089]
图7示意性地说明根据本公开的方面的由存储器子系统控制器维持的实例元数据。在一些实施例中,块族管理器组件113可维持块元数据表710和块族元数据表720。在一些实施例中,块元数据表710和/或块族元数据表720可存储于存储器子系统的存储器中(例如,存储于存储器装置130、140、本地存储器119等处)并且可供块族管理器组件113参考以确定与特定块相关联的块族和/或与块族相关联的电压格仓。如图7中所说明,块元数据表
710和块族元数据表720可为单独元数据表。在其它或类似实施例中,块元数据表710和块族元数据表720可包含在单个元数据表中。另外或替代地,块元数据表710和块族元数据表720可包含在由块族管理器组件113维持的其它元数据表(例如超级块表、偏移表等)中。
[0090]
在一些实施例中,块元数据表710可以块族作索引且块元数据表710的每一条目可包含横跨一或多个裸片包含在块族中的一或多个块的指示。如图7中所说明,块元数据表710以块族作索引并且包含包含在每个块族中的块范围的指示。在其它或类似实施例中,块元数据表710可以块作索引且每一条目可包含与块相关联的块族的指示。块元数据表710的每一条目还可包含对应于每个块的额外数据。举例来说,当块写入到存储器装置时,块元数据表710的每一条目可包含时间的指示(例如,以小时为单位)。另外或替代地,当块写入到存储器装置时,每一条目可包含温度的指示(例如,以摄氏度为单位)。
[0091]
块族表720以块族编号作索引,使得块族表720的每个记录针对记录索引所参考的块族,规定与块族的相应裸片相关联的电压格仓集。换句话说,块族表720的每个记录包含向量,所述向量的每一元素规定与向量元素(被称为格仓指针)的索引所参考的裸片相关联的电压格仓。虽然块族的个别裸片可与不同电压格仓相关联,但块族本身与特定电压格仓相关联。块族管理器组件113基于包含在块族的向量中的格仓指针具有最低值,确定与特定块族相关联的电压格仓。在说明性实例中,块族60的向量的最低格仓指针值与电压格仓0(即,针对裸片1)相关联。因此,块族管理器组件113使块族60与电压格仓0相关联。类似地,块族61-64与电压格仓0相关联(因为块61-64中的每一个中的最低格仓指针值是0),块族59与格仓1相关联,块族5与格仓6相关联,且块族0-4与格仓7相关联。作为实例,响应于接收到对读取包含在块族60中的数据的请求,块族管理器组件113使用与电压格仓0相关联的阈值电压。
[0092]“格仓0”标签730示出为紧挨着块族60-64以说明块族60-64与格仓0相关联(“处于格仓0中”),“格仓1”标签731示出为紧挨着块族59以说明块族59处于格仓1中,“格仓6”标签736示出为紧挨着块族5以说明块族5处于格仓6中,且“格仓7”标签737示出为紧挨着块族0-4以说明块族0-4处于格仓7中。
[0093]
格仓边界可表示各自与不同电压格仓相关联的两个相邻块族之间的边界。因此,块族管理器组件113可基于包含在块族表720的每个记录中的向量的格仓指针,识别电压格仓的格仓边界。块族管理器组件113可通过识别与包含针对一或多个裸片的与特定电压格仓对应的格仓指针的向量相关联的最旧块族(即,最早产生的块族),以此识别所述特定电压格仓的电压格仓边界。如图7中所说明,块族60-64的向量包含与电压格仓0相关联的格仓指针。块族管理器组件113可使块族60与电压格仓0的格仓边界722相关联,原因是块族60是块族表720的最旧块族,其中裸片1的格仓指针对应于电压格仓0。根据先前所描述的实施例,块族管理器组件113可将块族5与电压格仓6的格仓边界724相关联。
[0094]
随着时间流逝且针对特定裸片的编程后时间增加,与裸片相关联的阈值电压电平可改变,且裸片可重新指配给具有适用于与所述裸片相关联的编程后时间的阈值电压电平的“较旧”格仓。块族管理器组件113可执行校准扫描以更新每个块族的格仓指针,使得每一裸片的格仓指针指向对应于所述裸片的编程后时间的格仓。因此,格仓编号可随时间由于校准扫描而从最新格仓(例如,0)增加到最旧格仓(例如,格仓7)。可通过使用块族表720识别与电压格仓相关联的最旧块族(即,与格仓边界相关联的块族),的特定电压格仓执行校
准扫描。在一些实施例中,块族管理器组件113可针对与电压格仓相关联的预定义数目的块族(例如,针对每个校准扫描的2个块族)执行校准扫描。在这类实施例中,块族管理器组件113可使用块族表720选择与电压格仓相关联的两个最旧块族(例如,块族60和块族61)。根据本文所描述的实施例,响应于选择预定义数目的块族,块族管理器组件113可执行校准扫描。
[0095]
在操作中,在接收到读取命令后,存储器子系统控制器确定对应于读取命令所指定的逻辑块地址(lba)的物理地址。物理地址的分量(例如物理块编号和裸片识别符)用于执行元数据表遍历:首先,块表710用于识别对应于物理块编号的块族识别符;接着,块族识别符用作族表720的索引以便确定与块族和裸片相关联的电压格仓;最终,经识别电压格仓用作偏移表(未说明)的索引以便确定对应于格仓的阈值电压偏移。存储器子系统控制器可接着将所识别的阈值电压偏移叠加地施加到基础电压读取电平,以便执行所请求的读取操作。
[0096]
图8a示意性地说明根据本公开的方面的由媒体管理扫描产生并且由存储器子系统控制器维持的实例扫描元数据。可通过媒体管理扫描在每个扫描期间或之后产生扫描元数据表810。扫描元数据表810包含测量数据,其可为媒体管理扫描测量(例如,读取)的数据状态度量的值。举例来说,测量数据可为每个块族的每一裸片的电压偏移。时间戳840指示为校准扫描产生或提供扫描元数据表810(例如,使其可用)时的时间。校准扫描可使用时间戳确定是使用(例如,在时间戳840小于阈值时间戳的情况下)还是不使用(例如,在时间戳840大于阈值时间戳的情况下)扫描元数据表810。扫描元数据表810中示出的测量数据包含针对块族0、1、2、5和11的条目。每一条目包含用于特定块族的n个裸片的电压偏移。举例来说,族0、1和2的条目各自含有用于每一裸片的偏移值-22。族5的条目含有分别用于裸片0、1、n-1和n的偏移值-22、-19、-22和-19,且族11的条目含有分别用于裸片0、1、n-1和n的偏移值-17、-16、-17和-16。
[0097]
校准扫描可使用扫描元数据表810中的偏移值校准扫描元数据表810中列出的块族的格仓指针。举例来说,校准扫描可识别扫描元数据表810中列出的每个块族的最低电压偏移,并且使用最低电压偏移确定将与块族相关联的格仓。可使用将电压范围映射到格仓编号的格仓查找表(例如电压边界表310)确定格仓。举例来说,电压边界表310可包含指示处于-27伏特到-21伏特的范围内的电压对应于格仓7的条目。在此实例中,由于族0、1和2与电压-22相关联,因此族0、1和2处于格仓7中。电压边界表310还可包含指示介于-21和-18之间的电压对应于格仓6,且介于-18和-15之间的电压对应于格仓5的条目。在此实例中,族5处于格仓6中,原因是最低值-19伏特介于-21和-18之间,且族11处于格仓5中,原因是最低值-16伏特介于-18和-15之间。扫描元数据表810包含较旧格仓(例如,格仓5、6和7)中的块族的条目,原因是媒体管理扫描产生针对较旧格仓的数据测量。
[0098]
图8b示意性地说明根据本公开的方面的由校准扫描产生并且由存储器子系统控制器维持的实例旧块元数据850。校准扫描可识别一或多个格仓的最旧块中的一或多个并且将所识别最旧块的块识别符存储于旧块元数据表850中。媒体管理扫描可例如通过在扫描旧块元数据表850中没有列出的其它块之前扫描元数据表850中列出的旧块,以此对所述旧块进行优先级排序。对旧块进行优先级排序可减少错误校准和位读取错误,原因是旧块可能将近转变到另一(较旧)格仓,且较早扫描旧块可减少旧块保持于所述旧块在其中已变
得太旧的格仓中的时间量(因为扫描尚未处理所述旧块)。
[0099]
旧块元数据表850包含电压格仓0-7中的每一个的条目。每一条目含有对应格仓中的最旧块、第二旧的块和第三旧的块的块编号。最旧块比第二旧的块更旧,且第二旧的块比第三旧的块更旧。举例来说,对于格仓5,最旧块是块281,第二旧的块是块302,且第三旧的块是块329。媒体管理扫描可通过扫描块281(例如,尽快)随后扫描块302并且接着扫描块329来对这些旧块进行优先级排序。为实施优先级排序,媒体管理扫描可将最旧块(281)添加到将扫描的块的队列的头端,并且将第二旧的块和第三旧的块(302和329)添加到队列中头端后面的第二位置和第三位置。媒体管理扫描可类似地扫描格仓6和7的最旧块。替代地,旧块元数据表850可仅包含每个格仓的最旧块,或针对任何合适的编号n,包含每个格仓的第n旧的块。
[0100]
旧块元数据表850中比格仓新旧阈值852更旧的格仓标记为“较旧格仓”。格仓新旧阈值在表850中介于格仓4和5之间,因此格仓5、6和7是较旧格仓。媒体管理扫描扫描较旧格仓。因此,可从旧块元数据表850省略较新格仓(格仓0-4)。然而,校准扫描可使用较新格仓,因此还在旧块元数据表850中示出较新格仓。举例来说,可通过在读取和写入命令的样本工作负载上执行实验,并确定格仓新旧阈值852的哪个值提供工作负载的最佳性能,以此凭经验确定格仓新旧阈值852,
[0101]
图9是根据本公开的方面的执行校准扫描的实例方法的流程图。所述方法900可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法900是由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0102]
图9说明实例校准扫描,其可使用通过例如媒体管理扫描或其它过程提供给校准扫描的数据状态度量测量(“测量数据”)。提供给校准扫描的测量数据可针对较旧格仓,且校准扫描可基于测量数据针对较旧格仓执行块族到格仓关联的校准,且无需执行收集测量数据的费时测量操作。对于较新格仓,校准扫描可执行测量操作并且使用所得测量数据主动较新格仓执行块族到格仓关联的校准。
[0103]
可根据新旧阈值准则,将电压格仓分类为较新格仓或较旧格仓。举例来说,新旧阈值准则可规定具有小于5的编号的格仓是较新格仓,且具有大于或等于5的编号的格仓是较旧格仓。换句话说,在8格仓存储器子系统中,格仓0-4可分类为较新格仓,且格仓5-7可分类为较旧格仓。可如上文所描述凭经验或通过其它合适的技术确定将较新格仓与较旧格仓区分开(例如,在此实例中,将格仓4与格仓5区分开)的格仓新旧阈值852。
[0104]
作为其操作的部分,媒体管理扫描可对每个块执行测量操作(以不同于校准扫描的速率)。举例来说,媒体管理扫描可为如下的可靠性扫描:通过测量每个块的数据状态度量以评估块的完整性来执行数据完整性检查。举例来说,媒体管理扫描可对存储器子系统中的全部块执行测量操作。数据状态度量的测量在本文中被称作“数据测量”。通过将较旧格仓的数据测量提供给校准扫描,本文中所公开的实施例可减少或消除原本在先前已通过
校准扫描对较旧格仓执行的冗余数据状态测量。校准扫描随后可通过以下操作集中于较新格仓:对较新格仓更频繁地执行数据状态度量测量,并且使用那些数据状态度量对与较新格仓相关联的块族执行校准操作。较旧格仓适用于媒体管理扫描进行的扫描,原因是其与块族的关联与较新格仓的关联相比较不频繁地改变,且媒体管理扫描可能以低于校准扫描针对较新块所使用的频率,但类似于或大于校准扫描针对较旧块所使用的频率的频率扫描块。
[0105]
在操作902处,处理装置识别存储器装置的一或多个第一电压偏移格仓,其中第一电压偏移格仓中的每一个满足第一新旧阈值准则。在操作904处,处理装置识别存储器装置的一或多个第二电压偏移格仓,其中第二电压偏移格仓中的每一个满足第二新旧阈值准则。在操作906处,处理装置识别与第一电压偏移格仓中的一个相关联的第一块族。第一和第二新旧阈值准则与本文所描述的其它阈值一样可例如通过以下操作凭经验确定:对读取和写入命令的样本工作负载执行实验,并确定每个阈值的哪个值为工作负载提供最佳性能。
[0106]
在操作908处,处理装置开始通过执行以下操作来执行第一块族的第一扫描。举例来说,第一扫描可为块族校准扫描。在操作910处,处理装置基于第一块确定第一数据状态度量的一或多个值。作为实例,第一数据状态度量的值可表征与第一块相关联的电压移位。可基于第一块的一或多个电压的测量来确定第一数据状态度量的值。第一块可为第一块族中的最旧块,且可在规定的电压分布(例如第7分布)处(例如,在规定的电压分布的谷值中)执行测量。
[0107]
在操作912处,处理装置基于第一数据状态度量的一或多个值,识别第一经识别电压偏移格仓。存储器子系统110可存储和存取电压边界表310,所述电压边界表包括与电压范围对应的电压边界集并且使电压边界或范围中的每一个与对应电压偏移格仓相关联。随后可通过确定与第一块相关联的电压移位处于多个电压范围中的一个特定电压范围内,识别第一电压偏移格仓。举例来说,电压边界表310可将多个电压范围中的一个特定电压范围映射到所识别的第一电压偏移格仓。
[0108]
如上文所描述,校准扫描可使用通过媒体管理扫描获得的测量数据执行校准操作,例如针对与较旧格仓相关联的块族,更新格仓指针。校准扫描可存取并使用来自媒体管理扫描的测量数据,原因是测量数据变得可用于校准扫描(例如,响应于媒体管理扫描发送测量数据给校准扫描,或以其它方式使测量数据可用于校准扫描)。校准扫描可使用测量数据,原因是其在例如校准扫描在测量数据提供给校准扫描的时间空闲(例如,不执行校准操作)的情况下变得可用。替代地或另外,媒体管理扫描可将测量数据例如与测量数据所对应的块族和裸片相关联地存储于扫描元数据表810中,且校准扫描可按需要从扫描元数据表810检索测量数据(例如,当校准扫描处理测量数据所对应的块族时)。
[0109]
测量数据可包含与较旧电压格仓相关联的块族中的块的数据状态度量。校准扫描可使用数据状态度量更新格仓给块族的指配。举例来说,对于分类为处于较旧格仓中的每个块族,媒体管理扫描可测量并存储存储器装置的每一裸片的数据状态度量的值,例如电压。媒体管理扫描可将经测量值存储于块族元数据表720或其它合适的数据结构中。校准扫描可当扫描每个块族时存取数据状态度量的所存储值,并且使用所存储的值更新格仓给块族的指配。举例来说,当扫描块族时,校准扫描可针对每一裸片,基于块族和裸片的数据状
态度量的所存储值,确定应给所述裸片的块族指配哪个格仓,并相应地更新指配。更新指配可引起与块族相关联的格仓指针中的一或多个递增一(或更大),进而将块族指配给较旧格仓(针对一或多个裸片)。作为实例,如上文参考图8a所描述,如果根据电压边界表310,针对块族5、裸片1的测量数据在对应于格仓7的范围内,那么校准扫描可使裸片1的块族5的格仓指针从6递增到7
[0110]
在操作914处,处理装置识别第二扫描产生的扫描元数据中的第二数据状态度量的一或多个值,其中所述第二数据状态度量的一或多个值与第二块族相关联。举例来说,第二扫描可为媒体管理扫描。举例来说,扫描元数据可为扫描元数据表810。在其中校准扫描选择与较旧格仓相关联的块族,但第二扫描尚未提供所述块族的测量数据(例如,扫描元数据中的第二数据状态度量的值)的情形中,校准扫描则可执行测量操作以获得所述块族的测量数据。期望此类情形是罕见的,原因是如上文所描述,与较新格仓相比,以显著更慢的速率扫描较旧格仓。
[0111]
在操作916处,处理装置基于第二数据状态度量的一或多个值,识别第二经识别电压偏移格仓。举例来说,类似于识别第一经识别电压偏移格仓的方式(如上文关于操作912所描述),可使用电压边界表310识别第二经识别电压偏移格仓。在操作918处,处理装置将第一块族与第一经识别电压偏移格仓相关联并将第二块族与第二经识别电压偏移格仓相关联。处理装置可通过在块族元数据表720处,识别对应于第一块族的特定条目,并且将特定条目更新为包含对所识别电压偏移格仓的参考,以此使第一块族与所识别的电压偏移格仓相关联。
[0112]
图10是根据本公开的方面的执行媒体管理扫描的实例方法的流程图。所述方法1000可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法1000是由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0113]
在操作1002处,处理装置通过对第二块中的每一个执行以下操作来执行存储器装置的多个第二块的第二扫描。第一扫描和第二扫描可例如作为由存储器系统控制器115并行执行的过程来并行执行。第一扫描可比处理第二电压偏移格仓更频繁地处理第一电压偏移格仓,且第二扫描可以与处理第二电压偏移格仓相同的频率处理第一电压偏移格仓。举例来说,第一扫描可为校准扫描。第二扫描可为媒体管理扫描,且媒体管理扫描可对第二块中的每一个,基于与第二块相关联的第二数据状态度量的一或多个值执行媒体管理操作。举例来说,媒体管理操作可包含数据完整性检查、垃圾收集、折叠或耗损均衡。举例来说,执行数据完整性检查的媒体管理扫描在本文中被称作“可靠性扫描”。
[0114]
媒体管理扫描可对来自将近转变到不同格仓的块族的块进行优先级排序,使得可获得块的测量数据并且使所述测量数据比其它块的测量数据更早地可用于校准扫描。通过在存储器单元的时间电压移位从与目前指配的格仓相关联的范围移动到与较旧格仓相关联的范围之后尽快更新与接近格仓转变的块族相关联的格仓指针(可通过校准扫描执行),
给予这些块族优先级。尽快将格仓指针更新为指向较旧格仓可避免通过其中存储有块的单元的时间电压单元对当前格仓的读取电平的错误校准。举例来说,错误校准可引起较高位错误计数。媒体管理扫描可通过例如在扫描其它块之前扫描块来对所述块进行优先级排序。校准扫描可识别将被优先级排序的块并且将所述块包含在经优先级排序块的列表或表中。经优先级排序块的列表或表可提供给媒体管理扫描,所述媒体管理扫描可在扫描不处于经优先级排序块的列表中的块之前扫描所述列表中的块。经优先级排序块可为与处于较旧格仓中的块族相关联的块,原因是媒体管理扫描无需将较新格仓的数据测量提供给校准扫描。经优先级排序块可为较旧格仓中的每一个中的最旧块(例如,较旧格仓中的每一个中的多达阈值数目的最旧块)。校准扫描可从块族管理器组件113获得最旧块的列表,所述块族管理器组件113可按新旧依序跟踪每个格仓内的块族(例如,如图7中所示)。媒体扫描还可从块族管理器组件113获得关于每格仓最旧块的信息以识别每格仓的最旧块。存储器子系统可跟踪在产生或写入到块(并且分类为按新旧排序)时的通电分钟或小时数。举例来说,经优先级排序块的列表或表可为如图8b中所示的旧块元数据表850。
[0115]
为识别接近格仓转变的经优先级排序块,处理装置可存取旧块元数据表850。旧块元数据表850包含一或多个条目。每一条目对应于格仓并且规定格仓的最旧块。对于旧块元数据表850中的每一条目规定的每个最旧块,处理装置可在对不被规定为旧块元数据表850中的最旧块的其它(第二)块执行第二扫描之前,对最旧块执行第二扫描。
[0116]
媒体管理扫描可使用不同于校准扫描的格仓选择标准。由于媒体管理扫描与校准扫描相比可以更慢的速率对块进行处理,因此媒体管理扫描与校准扫描相比可获得每个块的更多测量数据。举例来说,校准扫描通常通过测量是单个规定的电压分布(例如,层级7分布)的位置度量的数据状态度量(例如,读取层级电压)来获得测量数据,原因是测量电压分布中的多于一个的电压分布涉及的额外时间将减小扫描频率。然而,媒体管理扫描具有可用于执行额外测量的时间。因此,媒体管理扫描可测量电压分布中的两个或更多个,例如层级1分布和层级7分布,以获得两个读取层级电压。测量更多电压分布通常会增加测量的准确度。举例来说,读取层级7分布提供单个读取层级电压,所述单个读取层级电压可用以确定从编程起的特定时间处的读取层级电压的改变。然而,读取层级1和层级7分布提供两个值,所述两个值可分别用以确定层级1和7的读取层级电压的改变。
[0117]
可使用读取层级电压的改变值,例如通过描述数据状态度量如何随编程后时间变化的时间电压移位(tvs)功能,确定正在扫描的块的编程后时间。编程后时间随后可用于确定哪个格仓与块相关联。然而,层级1到6的基于层级7分布的值的内插可为不精确的。另外,单个所测量值容易发生可使所测量值失真的噪声。媒体管理扫描可测量多个值,原因是其与校准扫描相比以较慢速率操作。另外,媒体管理扫描可使用(例如,全部8个分布的)多个所测量的值确定块的可靠性,并且可提供这些值供校准扫描使用。因此,举例来说,媒体管理扫描可将层级1和层级7分布的所测量的值提供给校准扫描。校准扫描可使用层级1值内插层级1-3,并且可使用层级7值内插层级4-6。因此,额外所测量值的可用度可增加提供给校准扫描的层级1-3分布的测量的准确度。
[0118]
在操作1004处,处理装置例如使用块元数据表710识别与第二块相关联的第二块族。在操作1006处,处理装置例如使用块族元数据表720确定第二块族是否与第二电压格仓中的一个相关联。
[0119]
在操作1008处,如果第二块族与第二电压格仓中的一个相关联,那么处理装置执行操作1010。如果第二块族不与第二电压格仓中的一个相关联,那么方法1000结束。在操作1010处,处理装置基于第二块确定第二数据状态度量的一或多个值。第二数据状态度量的值可表征与第二块相关联的电压移位。第二数据状态度量可包含第一规定电压分布的第一位置度量和第二规定电压分布的第二位置度量。举例来说,可通过测量第二块的一或多个存储器单元内的第一和第二规定电压分布,确定第二数据状态度量的值。可基于第二块,通过确定块族元数据表720不包含对第二块已经处理的指示来确定第二数据状态度量的值。另外,可将块族元数据表720更新为包含对第二块已经处理的指示。
[0120]
在操作1012处,处理装置将扫描元数据表810更新为包含将第二块族与第二数据状态度量的一或多个值相关联的条目。处理装置可将扫描元数据表810提供给第一扫描,并且还可将时间戳840提供给第一扫描,所述时间戳指示提供或产生扫描元数据表810时的时间。
[0121]
图11a示意性地说明根据本公开的方面的由存储器子系统控制器基于特定扫描频率执行的实例校准扫描。校准扫描说明为随时间进行的操作序列。每个操作示出为竖直线,且时间如由指向右的箭头所示地增加。所说明的操作包含读取操作1102(各自示出为最短竖直线中的一个)、写入操作1104(各自示出为中等长度的竖直线中的一个),以及扫描重复1106(各自示出为最高竖直线中的一个)。存储器子系统可响应于来自主机的相应读取或写入请求而执行每个读取操作1102或每个写入操作1104。校准扫描重复1106可包含校准存储器子系统中的块族的至少一部分的校准过程的执行。可在不同时间重复(例如,周期性地,或响应于满足特定准则)执行校准扫描过程。举例来说,在每个校准扫描重复中,可校准一或多个格仓。图11a-11d中线不一定按比例示出。每个线可理解为表示所表示操作的执行,或至少发起所表示操作的执行。举例来说,所表示操作可能在线的左侧与右侧之间的时间期间完成,但不一定非在所述时间内完成。
[0122]
扫描重复1106a
‑ⅰ
中的每一个可表示通过更新块族的格仓指针调用校准扫描过程,所述校准扫描过程以对应格仓来校准块族。扫描重复1106a
‑ⅰ
以特定频率,例如每分钟一个扫描重复或其它合适的频率发起。因此,举例来说,可在重复1106a发起与重复1106b发起,以此类推之间存在时间延迟。所述时间延迟可对应于扫描频率,并且可为一毫秒、10毫秒、1秒、1分钟,或其它合适的时间量。如由读取操作1102和写入操作1104所示,可由存储器子系统在相连的扫描重复1106之间执行一或多个读取和/或写入操作。
[0123]
每个校准扫描重复1106可例如通过对与所选格仓集相关联的块族执行每个校准扫描重复1106来扫描一或多个所选格仓。所选格仓集对于不同扫描重复1105可为不同的。举例来说,与较旧格仓相比,可更频繁扫描较新格仓,例如格仓1。因此,如所示出,在每个扫描重复1106a
‑ⅰ
中扫描格仓1。在每隔一个的扫描重复1106b、1106d、1106f、1106h中扫描比格仓1旧的格仓2。在每八个扫描重复1106i中扫描比格仓1旧的格仓3。根据其相关联的新旧排名(例如,格仓1在新旧上可排名第一,且格仓8在新旧上可排名第8),较不频繁地扫描较旧格仓,例如格仓4到格仓8。如可见,以第一频率发起格仓1的扫描重复,而以低于第一频率的第二频率发起格仓2的扫描重复。因此,可以第一频率调用校准扫描过程,但以第一频率执行一个格仓(例如,格仓1)的扫描,且通过在调用子集(例如,每隔一个调用,对应于是第一频率的一半的第二频率)中扫描格仓2,以更低的第二频率执行另一格仓(例如,格仓2)的
扫描。虽然扫描重复1106的频率对于每个格仓是不同的,但每一个别格仓的频率在图11a的实例中不发生变化。举例来说,在图11a中,以第一恒定频率扫描格仓1,并且以是第一恒定频率的一半的第二恒定频率扫描格仓2。
[0124]
在特定实施例中,块族管理器组件113可调整校准扫描以适应存储器子系统的改变的特性。存储器子系统的这些特性在本文中被称作校准需求特性,并且可包含系统状态特性,例如存储器子系统或主机的功率状态,以及正在存储的数据的特性,例如工作负载特性。校准需求特性可包含块族新旧、存储器子系统或主机的功率状态(例如,处于作用中、空闲、休眠或睡眠)、工作负载、存储器装置的编程/擦除循环计数、或读取错误率。可调整校准扫描以通过例如根据校准需求特性改变扫描重复1106的频率来适应改变的校准需求特性。可响应于检测到校准需求特性满足阈值校准需求准则而执行校准扫描调整。举例来说,校准需求范围集(例如读取错误率范围)可与对应校准扫描调整参数集相关联,所述对应校准扫描调整参数集规定针对所述范围中的每一个如何调整校准扫描。替代地,可使用将校准需求映射到校准扫描调整参数的其它合适的函数,例如线性函数或二次函数。因此,可基于与存储器子系统相关联的特性,通过修改扫描参数(例如扫描频率或其它控制校准扫描的起始的准则)来调整校准扫描。
[0125]
作为实例,可通过选择块族的子集并且扫描块族子集,而非不在子集中的其它块族,以此基于块族新旧调整校准扫描。举例来说,如下文参考图12a和12b所描述,将扫描的块族子集可为每个电压格仓中的最旧块族。如下文参考图12b所描述,可基于存储器子系统特性调整校准扫描重复1106的频率。如下文参考图12c所描述,可基于与块族相关联的读取错误率确定将在校准扫描中优先级排序的块族。基于读取错误率对块族进行优先级排序可涉及在扫描具有低于阈值错误率的错误率的其它块族之前,扫描与大于所述阈值的读取错误率相关联的块族。
[0126]
如下文参考图11b所描述,可基于例如功率状态的存储器子系统特性来调整校准扫描重复1106的频率。还可如参考图11c和12d下文所描述,与工作负载强度(例如由存储器子系统在一段时间内执行的写入操作的数目)成比例地,或如下文参考图11d和12d所描述,与和存储器装置相关联的编程/擦除循环的数目成比例地调整校准扫描重复1106的频率。
[0127]
图11b示意性地说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于功率状态而变化。在空闲状态中,存储器子系统可将大量的处理时间用于执行扫描操作,原因是预期进行极少(如果存在的话)主机读取或写入。因此,响应于从作用中状态1114转变到空闲状态1116,块族管理器组件113可增大扫描频率,如由扫描重复1108所示。举例来说,在空闲状态1116中,扫描频率可增大到与扫描重复1108之间的最小延迟(例如,无延迟,或小于延迟阈值量)对应的高频率。作为另一实例,在空闲状态1116中,扫描频率可响应于存储器子系统或主机系统在至少一阈值时间量内处于空闲功率状态而增大到高频率。另外,在空闲功率状态中,块族管理器组件113可重复调用扫描过程直到全部格仓已经校准,或功率状态改变为止。作为另一实例,可响应于确定满足至少一个阈值准则而执行校准扫描或校准扫描的重复。阈值准则可基于存储器子系统或主机系统的功率状态。举例来说,当存储器子系统处于空闲功率状态时,或当存储器子系统从睡眠状态或低功率状态转变到有效功率状态时,可满足阈值准则。
[0128]
在低功率状态1118(例如,休眠)中,块族管理器组件113可致使存储器子系统以较
低扫描频率执行扫描重复1110。举例来说,存储器子系统控制器可在较低频率下唤醒(例如,从低功率转变到暂时空闲)并且扫描数个由参数规定的块或页。减小的扫描频率可基于扫描周期参数,例如处于唤醒之间的数毫秒。周期性唤醒和扫描可继续直到扫描个例完成为止,例如直到一或多个块族中的全部块族格仓指针已经校准为止。在低功率状态1118之后,存储器子系统和/或主机可转变到作用中状态1120,其中扫描重复可以在前一作用中状态1114中使用的频率继续。
[0129]
作为另一实例,可响应于主机的功率状态从睡眠状态转变到另一状态(例如低功率(例如,休眠)状态),或从睡眠状态或低功率状态转变到有效功率状态,执行校准扫描。可对最旧块格仓执行校准扫描以确定是否将改变块族给最旧块格仓的指配(例如,基于数据状态度量)。如果不改变给最旧块族的指配,那么其它格仓给其它(较新)块族的指配也不改变。因此,可在扫描最旧块格仓之后停止校准扫描。
[0130]
图11c示意性地说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于工作负载而变化。当写入频繁发生时,可能将写入相对大量的新数据,这意味着新数据正在进入格仓1。因此,应以相对高的频率执行校准扫描以校准新数据。当写入不发生时,例如因为主机已在一段时间内停止写入数据,现有数据继续变旧。随着最后一个数据写入(例如,编程)之后的时间增加,数据移动到较旧格仓,且随着所述时间继续增加,不会再如此快速地在格仓之间移动。因此,扫描频率可在从最近写入起经过阈值时间量之后减小。
[0131]
如图11c中所示,在时间t1之前,块族管理器组件113以基线扫描频率(例如,每分钟重复一次)发起扫描重复1126a、1126b和1126c。在时间t1,已发生最近写入1124。不进行后续写入直到时间t3,在此时间发生后续写入1128。块族管理器组件113可响应于检测到在至少一阈值时间段内未执行写入而减小扫描频率,所述阈值时间段示出为在时间t1和t2之间不具有写入的阈值时段。在时间t2,块族管理器组件113检测到已经过了没有写入的阈值时段,且将扫描频率改变为减小的扫描频率,例如预定的减小值(例如,每三分钟重复一次),或基线扫描频率的预定分数(例如,1/3)。扫描频率可保持减小值,如由扫描重复1126d和1126e所示,直到在时间t3检测到后续写入1128。响应于检测到后续写入1128,块族管理器组件113将扫描频率改变回到基线扫描频率,原因是写入正在更频繁地进行且格仓指配更可能发生改变。
[0132]
图11d示意性地说明根据本公开的方面的由存储器子系统控制器执行的实例校准扫描,其中扫描频率基于编程/擦除计数而增大。可通过所述装置已执行的编程/擦除循环(pec)的数目来估算存储器装置的新旧。当存储器装置为新,例如小于100pec时,时间电压移位相对为小。随着所述装置变旧,例如在100pec之后,时间电压移位增加。随着所述装置继续变旧,例如在1000pec之后,时间电压又进一步增加。因此,当所述装置小于第一阈值数目的pec(例如100pec)时,扫描频率可设置为相对低基线值,例如每10秒扫描重复1次。当所述装置处于第一阈值数目th1的pec(例如,100)和第二阈值数目th2的pec(例如,1000)之间时,扫描频率可设置为第一增大值,例如每5秒扫描重复1次。当所述装置处于第二阈值数目th2的pec(例如,1000)和第三阈值数目th3的pec(例如,10,000)之间时,扫描频率可设置为第二增大值,例如每秒扫描重复1次,以此类推。
[0133]
如图11d中所示,当pec小于第一阈值时,以基线扫描频率执行扫描重复1136a、
1136b和1136c。在时间t4,pec变得大于第一阈值。在时间t4之后,块族管理器组件113检测到pec处于第一阈值和第二阈值之间,并将扫描频率设置为第一增大值。重复1136c和重复1136d之间的扫描重复以第一增大扫描频率进行。在时间t5,pec变得大于第二阈值。在时间t5之后,块族管理器组件113检测到pec处于第二阈值和第三阈值之间,并将扫描频率设置为第二增大值。在重复1136d之后的扫描重复以第二增大扫描频率进行。
[0134]
图12a是根据本公开的方面的执行校准扫描的实例方法1200的流程图,其中扫描每个格仓内的最旧块族。可调整校准扫描以对近期可能被错误校准的块进行优先级排序。可基于块族新旧通过以下操作对块族进行优先级排序:选择比其它块族更旧的块族子集,并且扫描所述块族子集,而非其它块族。举例来说,将被扫描的块族子集可为每个电压格仓中的最旧块族,或每个电压格仓中的地n旧块族,其中n是最旧块族阈值数目。
[0135]
方法1200可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法1200由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0136]
在操作1202处,处理装置执行存储器装置的块族校准扫描,其中校准扫描包括多个扫描重复。根据至少一个阈值扫描准则发起每个扫描重复,且其中每个扫描重复包括以下操作。在操作1204处,处理装置识别至少一个第一电压格仓,其中每个第一电压格仓与多个读取电平偏移相关联。在操作1206处,处理装置根据块族创建次序,从与第一电压格仓相关联的多个块族识别最旧块族。如图7中所示,可通过在块族元数据表720搜索与格仓相关联的最低块族编号来识别与格仓相关联的最旧块族。如上文关于图7所描述,在实例块族元数据表720中,格仓0与块族60-64相关联,格仓1与块族59相关联,格仓6与块族5相关联,且格仓7与块族0-4相关联。在块族元数据表720中,与格仓0相关联的最旧块族是块族60,原因是块族编号(60)是与格仓0相关联的块族编号中的最低编号。类似地,与格仓1相关联的最旧块族是块族59,与格仓6相关联的最旧块族是块族5,且与格仓7相关联的最旧块族是块族0。
[0137]
在操作1208处,处理装置通过鉴于最旧块族的至少一个块的数据状态度量来更新最旧块族的至少一个格仓指针,以此执行块族校准。
[0138]
图12b是根据本公开的方面的执行校准扫描的实例方法1210的流程图,其中块族优先级排序和校准扫描频率可基于与存储器子系统相关联的特性而变化。方法1210可对所选块族进行优先级排序并且调整校准扫描频率。
[0139]
方法1210可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法1210由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可
能的。
[0140]
在操作1212处,处理装置确定校准扫描频率。在操作1214处,处理装置评估一或多个扫描准则,并且确定是否满足扫描准则。举例来说,扫描准则可为当前系统时间已超过将根据当前扫描频率执行下一扫描重复时的时间。其它扫描准则是可能的。举例来说,扫描准则可为存储器子系统和/或主机的功率状态已转变。所述转变可为转变到空闲状态,举例来说,在此情况下,扫描频率可增大,如上文所描述。作为另一实例,所述转变可为转变到低功率(例如,休眠)状态,在此情况下,扫描频率可降低并且可安排进行唤醒以基于降低的扫描频率一次执行下一扫描重复。
[0141]
在操作1216处,如果不满足扫描准则,那么处理装置等待例如一段时间,或直到检测到一条件,例如影响扫描准则的条件(例如,主机读取或写入操作)改变。在等待之后,处理装置再次执行操作1214以确定是否满足扫描准则。
[0142]
如果操作1214确定满足扫描准则,那么在操作1218处,处理装置产生或更新将扫描的块族或块列表。将扫描的块族可为例如每个格仓的最旧块族。所述块可为个别块,在此情况下,所述块可映射到其相关联的块族。可通过图12c的方法产生所述列表。在操作1220处,处理装置通过校准所述列表所识别的每个块族的一或多个格仓指针来执行扫描重复。如果所述列表含有一块,那么可校准与所述块相关联的块族。为校准块族,处理装置可鉴于通过对块族的块中的至少一个的测量(例如,对块的一部分进行存储的存储器单元的测量)确定的数据状态度量,更新块族的一或多个格仓指针。在操作1222处,处理装置确定经更新校准扫描频率。可通过图12d的方法确定经更新校准扫描频率。操作1222致使处理装置调用操作1214以准备执行另一扫描重复。下一扫描重复可使用在操作1218处产生的族或块列表和在操作1222处确定的经更新校准扫描频率。
[0143]
图12c是根据本公开的方面的基于与存储器子系统相关联的特性确定块族优先级排序的实例方法1230的流程图。举例来说,可基于与块族相关联的读取错误率,确定将在校准扫描中进行优先级排序的块族。基于读取错误率对块族进行优先级排序可致使块族管理器组件113在扫描具有低于阈值错误率的错误率的其它块族之前扫描与大于所述阈值的读取错误率相关联的块族。替代地,优先级可基于块族的错误率的函数与每个块族相关联,且可按根据块族优先级的次序扫描所述块族。
[0144]
方法1230可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法1230由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0145]
在操作1232处,例如如上文关于图12a所描述,处理装置识别电压格仓中的最旧块族。在操作1234处,处理装置识别具有大于阈值错误率的错误率的一或多个块族或块。错误率可为读取错误率,处理装置可将所述读取错误率确定以已致使错误处置器执行的读取数目与由存储器子系统执行的读取总数目的比率。替代地或另外,错误率可为原始位错误率(rber),其可基于当从块族(或块)读取数据时收集的信息来确定。所述信息可包含每块族
(或块)的错误位的均值数目、中值数目、最大数目和最小数目。如果与块族或块相关联的读取错误率大于读取错误率阈值,或原始位错误率大于原始位错误率阈值,那么可例如通过将相关联的块族(或块)添加到列表,对相关联的块族(或块)进行优先级排序以用于重新校准。在操作1236处,处理装置将所识别的块族或块中的每一个添加到将扫描的块族或块列表。
[0146]
图12d是根据本公开的方面的基于与存储器子系统相关联的特性确定校准扫描频率的实例方法1240的流程图。可以与工作负载强度(例如由存储器子系统在一段时间内执行的写入操作的数目)成比例地,或与和存储器装置相关联的编程/擦除循环的数目成比例地调整校准扫描重复1106的频率。
[0147]
方法1240可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法1240由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0148]
在操作1242处,处理装置确定是否已在当前(系统)时间和过去的阈值时间之间发生写入操作。如果是,则处理装置执行操作1246。如果尚未在当前时间和过去的阈值时间之间发生写入操作,那么在操作1244处,处理装置使扫描频率减小确定的量,例如如上文关于图11c所描述。操作1244随后致使处理装置执行操作1250。
[0149]
在操作1246处,处理装置确定扫描频率是否由于操作1244的先前执行而处于降低的电平下。如果是,那么在操作1248处,处理装置使扫描频率增加确定的量。替代地,如果操作1244将扫描频率从基线频率减小,那么处理装置可将扫描频率设置为基线频率。如果扫描频率不会由于操作1244而处于降低的电平,那么处理装置执行操作1250。在操作1250处,处理装置确定与存储器子系统相关联的编程/擦除循环(pec)数目是否大于pec阈值。如果是,那么在操作1252处,处理装置基于编程/擦除循环的数目增加校准扫描频率。如果与存储器子系统相关联的编程/擦除循环(pec)的数目不大于pec阈值,那么校准扫描频率不改变。
[0150]
图13示意性地说明根据本公开的方面的由存储器子系统控制器执行的校准扫描,其中扫描频率基于功率状态而变化。每个校准扫描说明为随时间进行的操作序列。每个操作示出为竖直线,且时间如由指向右的箭头所示地增加。图13示出在如下各项期间进行的操作:作用中状态1310、空闲状态1314、低功率(休眠)状态1318、由于睡眠请求1320发生的迟延状态1324,以及也是由于睡眠请求1320发生并且在迟延状态1324之后的睡眠状态1326。作用中状态1310类似于上文关于图11a所描述的作用中状态。作用中状态1310对应于其中存储器子系统(或主机系统)处于作用中(例如,唤醒)功率状态的时间段。发起特定实例操作时的时间由读取操作1302(各自示出为短接竖直线中的一个)、写入操作1304(各自示出为中等长度竖直线中的一个)和扫描重复1306(各自示出为最高竖直线中的一个)表示。“校准扫描重复”在本文中可以指校准存储器子系统中的块族的至少一部分的校准过程的执行。可在不同时间重复(例如,周期性地,或响应于满足特定准则)执行校准过程。调整
校准扫描频率可包含响应于某些准则(例如功率状态从休眠状态转变到空闲状态而执行校准扫描重复。可响应于存储器子系统从较低功率状态转变到较高功率状态(例如从例如睡眠或休眠状态的低功率状态转变到作用中状态)而发起校准扫描重复。
[0151]
存储器子系统可响应于来自主机的相应读取或写入请求而执行每个读取操作1302或每个写入操作1304。校准扫描重复可为可在不同时间重复(例如,周期性地,或响应于满足特定准则)执行的校准过程的执行。上文关于图11a提供作用中状态、读取操作1302、写入操作1304和校准扫描重复1306的另外细节。
[0152]
系统的功率状态可对应于系统中发生的活动水平,并且对应于可被系统消耗的功率量。系统在特定时间的功率状态可为支持的状态集中的一个,例如处于作用中、空闲、低功率(休眠)或深度睡眠。功率状态可响应于系统正检测到的特定条件(例如在未接收到来自用户的输入下经过阈值时间量、电池电量低于阈值电量、接收到请求功率状态改变的用户输入等等)而在支持的状态之间转变。在作用中状态中,唤醒系统(例如,存储器子系统和/或主机系统)并且处于其中存储器子系统接受主机命令并且执行主机请求的读取或写入操作的完全运行状态中。当系统处于有效功率状态中时,可以特定“基线”频率执行校准扫描,所述特定“基线”频率可随时间改变。还可在其它时间在有效功率状态中,例如响应于检测到高读取错误率而执行校准扫描。举例来说,基线频率可用以确定何时发起对格仓1的校准扫描重复,如上文所描述。其它格仓的频率可基于格仓1的频率(例如,随格仓新旧对数性地减小),因此每个格仓的频率虽然不同于其它格仓可在其中系统处于有效功率状态的时间期间保持恒定。基线频率还可随时间例如响应于工作负载强度或编程/擦除循环数目的改变而改变。举例来说,基线扫描频率可为介于两个页线的扫描之间的时间,或其它合适的持续时间。
[0153]
在图13的实例中,存储器子系统在作用中状态1310之后进入(例如,转变到)空闲状态1314。转变到空闲状态1314可响应于例如用户输入、不存在应用程序活动或用户输入等等的准则而进行。举例来说,空闲状态1314可为其中现在不接收主机命令,不过仍唤醒系统(例如,装置仍通电)的状态。空闲状态1314可对应于移动装置的空闲状态,或nvme/pcie装置的ps0状态。由于主机现在不请求在空闲状态中操作,因此存储器子系统可通过使用其尽可能大的处理资源执行并完成校准扫描个例(例如,全部格仓或全部块族的扫描),以高频率(例如以尽可能高的频率)执行空闲扫描操作1312。在相连扫描重复1312的发起之间存在极小(如果存在的话)延迟。举例来说,存储器子系统可紧接在前一扫描重复1312完成之后执行每个后续空闲扫描重复1312,在后续空闲扫描重复1312之间不发起其它操作。可通过例如对每个电压格仓的每个块族执行扫描来完成校准扫描个例。举例来说,存储器子系统可执行校准扫描直到校准完成(例如,一个校准个例完成)为止或直到功率状态改变除空闲以外的状态为止。如在图13中的空闲状态1314接近结束时不存在操作可见,实例校准扫描个例已在空闲状态1314结束之前完成。在空闲状态1314期间或在后续空闲状态(未示出)中,存储器子系统可在校准扫描个例完成之后,或在从完成前一校准扫描个例起已经过一时间段之后开始另一校准扫描个例。
[0154]
在空闲状态1314之后,存储器子系统进入低电力(休眠)状态1318。低功率(休眠)状态可为其中在时间段内电力消耗减少到低水平且停止处理的状态。系统时钟可减缓以减少存储器子系统的电力消耗。例如存储器单元的某些组件可保持通电。低功率(休眠)状态
1318可具有自唤醒特征,其中存储器子系统控制器可请求例如以规定的频率执行操作。在低功率(休眠)状态1318中,存储器子系统可致使以规定的频率执行校准扫描的重复,且每一重复可扫描规定数目的页。在低功率状态1318中,存储器子系统在以规定的频率发起的脉冲串中执行低功率扫描重复1316。每个脉冲串可包含扫描重复1316中的一或多个。在所说明实例中,在每个突发中示出三个重复。扫描可在低功率(休眠)状态中以规定的频率继续直到举例来说,扫描个例(例如,全部格仓或全部块族的扫描)已完成,或系统功率状态转变到不同状态为止。低功率(休眠)状态可对应于移动装置的休眠状态,或nvme/pcie装置的ps1-ps3状态。
[0155]
在空闲状态1314之后,存储器子系统开始转变到睡眠状态1326。睡眠状态可为其中系统关断,例如不执行操作的状态。校准扫描通常当系统处于睡眠状态时不执行,但可在进入睡眠状态之前,使用睡眠推迟特征在短时间段(示出为迟延状态1324)内执行。存储器子系统可接收睡眠请求1320或功率状态将转变到睡眠状态1326的其它通知。存储器子系统控制器随后可请求睡眠状态迟延以在进入睡眠状态1326之前的迟延时间段内执行校准扫描操作。系统响应于迟延时间段到期而进入睡眠状态1326。迟延时间段可为例如1毫秒,或其它合适的时间。迟延时间段示出为迟延状态1324。在迟延时间段期间,存储器子系统可执行一或多个迟延扫描重复1322。可对高优先级格仓或块族(例如最旧格仓)或已被识别为具有高错误率的块族执行迟延扫描重复。如图13中所示,迟延扫描重复1322在对应于迟延状态1324的迟延时间段结束之前完成。在迟延时间段到期之后,系统即刻进入睡眠状态1326。举例来说,睡眠状态可对应于移动装置的深度睡眠状态,或nvme/pcie装置的ps4状态。
[0156]
图14a是根据本公开的方面的执行媒体管理扫描的实例方法1400的流程图。所述方法1400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法1400由图1的块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0157]
在操作1402处,处理装置发起存储器装置的块族校准扫描。校准扫描包括多个扫描重复,根据扫描频率发起所述多个扫描重复中的每一个。每个扫描重复包括操作1404-1408。在操作1404处,处理装置检测与存储器装置相关联的从第一功率状态到第二功率状态的转变。在操作1406处,处理装置响应于检测到从第一功率状态到第二功率状态的转变,基于第二功率状态确定扫描频率的经更新值。根据扫描频率的经更新值发起一或多个后续扫描重复(例如,通过操作1402的一或多个后续执行)。在操作1408处,处理装置通过基于至少一个块族的至少一个块的数据状态度来更新至少一个块族的至少一个格仓指针,以此执行一或多个校准操作。
[0158]
图14b是根据本公开的方面的执行媒体管理扫描的实例方法1420的流程图,其中扫描频率基于功率状态而变化。所述方法1420可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法1420由图1的
块族管理器组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0159]
在操作1422处,处理装置确定系统功率状态是否是空闲状态。如果是,那么在操作1424处,处理装置增加校准扫描频率以执行尽可能多的校准操作,且执行随后在操作1426处继续。如果操作1422确定功率状态不空闲,那么执行在操作1426处继续。
[0160]
在操作1426处,处理装置确定系统功率状态是否是低功率(例如,休眠)状态。如果是,那么在操作1428处,处理装置安排以规定的频率进行一或多个唤醒以执行校准扫描操作,且执行随后在操作1430处继续。如果操作1426确定功率状态不空闲,那么执行在操作1430处继续。
[0161]
在操作1430处,处理装置确定主机是否已请求系统进入睡眠功率状态。举例来说,处理装置可从主机接收指示主机正在请求睡眠功率状态的通知。如果主机已请求系统进入睡眠功率状态,那么处理装置推迟进入睡眠状态并且在迟延时段期间执行优先级扫描操作。在迟延时段到期之后,主机即刻进入睡眠功率状态。虽然本文中描述特定电力状态和有关执行校准扫描的对应动作,但涵盖其它功率状态,且可由存储器子系统执行有关执行校准扫描的任何适合的动作。
[0162]
图15说明计算机系统1500的实例机器,在所述计算机系统1500内可执行用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统1500对应于主机系统(例如图1的主机系统120),其包含、耦合到或利用存储器子系统(例如图1的存储器子系统150)或可用以执行控制器的操作(例如以执行操作系统来执行对应于图1的块族管理器组件153的操作)。在替代性实施例中,机器可连接(例如联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
[0163]
所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集,所述集单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
[0164]
实例计算机系统1500包含处理装置1502、主存储器1504(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rdram等)、静态存储器1506(例如,闪存存储器、静态随机存取存储器(sram)等),以及数据存储系统1518,其经由总线1530彼此通信。
[0165]
处理装置1502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1502也可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等等。处理装置1502被配置成执行指令
1526以用于执行本文中所论述的操作和步骤。计算机系统1500可另外包含网络接口装置1508以在网络1520上通信。
[0166]
数据存储系统1518可包含机器可读存储媒体1524(也称为计算机可读媒体),其上存储有一或多个指令集1526或体现本文中所描述的方法或功能中的任一或多种的软件。指令1526还可在由计算机系统1500执行期间完全或至少部分地驻留在主存储器1504内和/或处理装置1502内,主存储器1504和处理装置1502也构成机器可读存储媒体。机器可读存储媒体1524、数据存储系统1518和/或主存储器1504可对应于图1的存储器子系统150。
[0167]
在一个实施例中,指令1526包含用以实施对应于块族管理器组件(例如图1的块族管理器组件153)的功能性的指令。尽管在实例实施例中机器可读存储媒体1524展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
[0168]
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
[0169]
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
[0170]
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom以及磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自连接到计算机系统总线。
[0171]
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
[0172]
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。
[0173]
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而
易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献