子块的动态分配 背景技术 [0001] 随着三维NAND存储器阵列变得更先进,每个NAND串内的字线的数量随着每一代而增加。例如,常规存储器阵列可以能够在六十四字线上存储数据,而未来的存储器技术可以具有九十六条字线用于数据存储。字线计数的这种增加导致更大的存储块大小。对于具有相同容量的存储器管芯,可以减少存储块的数量,从而在系统级带来挑战。可以实现两层级存储器孔的概念,以允许字线的数量大约加倍。在该配置中,制造接头可位于管芯内的两层级的存储器层之间。 [0002] 在多管芯配置中,随着制造接头任一侧上的存储器单元层的数量的扩展,与常规配置相比,存储块(也称为元块)可能变得非常大。较大的元块可能导致与存储器产率、坏块管理和块故障处置相关的许多问题和约束,这是由于每个故障具有较大的容量损失。因此,需要一种解决方案用于设计和处置更大的物理存储器分区/元块,并从而设计和处理更大的逻辑存储器分区/元块。 发明内容 [0003] 本公开涉及用于子块的动态分配的方法。首先,非易失性存储器阵列接收一组写入命令。非易失性存储器阵列包括被组织成元块的多个存储器管芯。元块被配置为跨越两个或更多个存储器管芯。为该组写入命令确定工作负载类型。选择目标存储块以基于工作负载类型接收该组写入命令。选定的目标存储块被配置为接收用于工作负载类型的数据块,并且将该组写入命令引导到目标存储块。 [0004] 本公开还涉及一种装置,该装置包括流管理器电路、元块管理电路、模式电路、跟踪电路和读取/写入电路。流管理器电路被配置为监控写入命令并确定一组写入命令与顺序工作负载类型相关。元块管理电路被配置为指定自由元块以接收该组写入命令的数据并在全块模式下擦除自由元块。模式电路被配置为将全块模式命令发送到多个存储器管芯,该多个存储器管芯包括自由元块的一部分。存储器管芯并联耦接到接口总线。跟踪电路被配置为将自由元块与存储器管芯中的每个存储器管芯上的一对姊妹子块相关联。电路被配置为在一组写入命令具有顺序工作负载类型时,在全块模式下将数据写入读取/写入自由元块。 [0005] 最后,本公开涉及一种系统,该系统包括非易失性存储器阵列、一组逻辑擦除块、写入数据流水线、流管理器、块分配管理器和开放块管理器。非易失性存储器阵列包括被组织成至少一行和两个或更多个列的多个存储器管芯。逻辑擦除块包括来自非易失性存储器阵列的行的每个存储器管芯的物理擦除块,并且每个物理擦除块包括两个姊妹子块。 [0006] “物理擦除块”是指被配置为在单个擦除操作中被擦除的一组物理页面。在某些实施方案中,物理擦除块可被进一步划分为两个或更多个子块。在此实施方案中,每个子块可独立于共享同一物理擦除块的其他子块而被擦除。物理擦除块的集合可用于形成逻辑擦除块。 [0007] 写入数据流水线被配置为在子块模式下接收写入命令并将数据写入逻辑擦除块中的一个逻辑擦除块中。写入命令中的每个包括逻辑块地址。流管理器被配置为监控写入命令,这些写入命令依次被接收,以确定工作负载类型。“顺序”是指执行或实行某种活动、事件或操作的次序。 [0008] 流管理器将来自写入命令的逻辑块地址与先前写入命令的逻辑块地址进行比较。 流管理器然后基于逻辑块地址的比较来确定工作负载类型是顺序的。块分配管理器在全块模式下重新配置逻辑擦除块中的一个以用于存储操作,并且将顺序工作负载类型的写入命令引导到重新配置的逻辑擦除块。块分配管理器引导写入数据流水线在全块模式下将数据写入重新配置的逻辑擦除块。最后,开放块管理器在全块模式下管理重新配置的逻辑擦除块。 附图说明 [0009] 为了容易地识别对任何特定元件或动作的讨论,参考标号中最有意义的一个或多个数位是指首次引入该元件的附图标号。 [0010] 图1示出了根据一个实施方案的存储系统100。 [0011] 图2是一个实施方案中的示例存储设备102的框图。 [0012] 图3示出了根据一个实施方案的存储器阵列300。 [0013] 图4是示出NAND串400的一个实施方案的示意性框图。 [0014] 图5示出了根据一个实施方案的存储器阵列500。 [0015] 图6示出了根据一个实施方案的系统600。 [0016] 图7示出了根据一个实施方案的存储控制器700。 [0017] 图8示出了根据一个实施方案的存储控制器800。 [0018] 图9示出了根据一个实施方案的元块跟踪表900。 [0019] 图10示出了根据一个实施方案的例程1000。 [0020] 图11是可以结合某些实施方案的计算设备1100的示例框图。 具体实施方式 [0021] 为了克服由尺寸增长的存储器阵列所提出的挑战,公开了子块模式,其中每个物理块可以被分成两个或更多个物理姊妹子块。可以彼此独立地使用(编程、擦除和读取)姊妹子块。两层级存储器孔架构的层级之间的制造接头可用于将物理块分成接头任一侧上的隔离子块。该解决方案具有以下有益效果:如果子块发生故障,则可能不需要撤回全物理块,从而减小了此类故障对存储块预算的影响。 [0022] “子块”是指作为物理擦除块的一部分的逻辑结构。在某些实施方案中,子块是接头与构成物理擦除块的列的NAND串的漏极侧之间或接头与该NAND串的源极侧之间的物理擦除块的字线或物理页面中的每一者。 [0023] 在一个实施方案中,存储器阵列包括被组织成字线的行和NAND串的列的一组存储单元。每个NAND串具有源极侧、漏极侧和它们之间的接头。存储器阵列的字线的某些行一起形成物理擦除块。接头与物理擦除块的源极侧之间的字线形成子块,并且接头与物理擦除块的漏极侧之间的字线形成另一个子块。 [0024] 子块在物理上是同一物理擦除块的一部分,但是可用于对一个子块执行存储操作,而对不是该一个子块的一部分的物理擦除块的存储单元几乎没有影响、有最小影响、有可管理的影响或没有影响。影响单个子块的存储操作在本文中被被称为子块模式存储操作或在子块模式下使用子块。 [0025] 在某些实施方案中,存储控制器或管芯控制器可以通过用于在存储操作期间耦接到存储器阵列的存储单元的控制线的配置设置来管理、操作和控制子块。具有一个或多个特定值的一组特定配置设置可用于操作物理擦除块内的子块。在一个实施方案中,这些配置设置被称为子块模式配置设置或子块配置设置,以将它们与全块模式配置设置区分开。 [0026] 在一个实施方案中,单个物理擦除块可包括两个子块,每个子块的尺寸被设定成包括物理擦除块的存储单元的一半。在另一个实施方案中,单个物理擦除块可包括多于两个子块,每个子块的尺寸被设定成包括物理擦除块的存储单元的一部分。 [0027] “存储器”是指被配置、编程、设计、布置或工程化为保留数据的任何硬件、电路、部件、模块、逻辑、设备或装置。某些类型的存储器需要恒定电源的可用性以存储和保持数据。 当电源不可用时,其他类型的存储器保留和/或存储数据。 [0028] “存储器阵列”是指被组织成具有行和列的阵列结构的一组存储器单元(也称为存储单元)。因此,非易失性存储器阵列是具有存储器单元的存储器阵列,该存储器单元被配置为使得用于表示所存储数据的存储器单元的特性(例如,阈值电压电平、电阻电平、电导率等)保持存储器单元的属性,而无需使用电源来保持该特性。 [0029] 存储器阵列可使用行标识符和列标识符寻址。本领域技术人员认识到,存储器阵列可包括平面内的该组存储器单元、存储器管芯内的该组存储器单元、一组平面内的该组存储器单元,一组存储器管芯内的该组存储器单元、存储器封装件内的该组存储器单元、一组存储器封装件内的该组存储器单元,或者具有其他已知的存储器单元组架构和配置。 [0030] 存储器阵列可包括在存储系统或存储器系统内的多个组织级别的一组存储器单元。在一个实施方案中,平面内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储器管芯的多个平面内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储器设备的多个存储器管芯内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储系统的多个存储器设备内的存储器单元可被组织成存储器阵列。 [0031] “存储器单元”是指被配置为在感测、读取或检测到存储介质时通过存储介质的可确定物理特性来表示一个或多个二进制值以确定最后将哪个(哪些)二进制值存储在存储器单元中的存储介质的类型。存储器单元和存储单元在本文中可互换使用。 [0032] “平面”是指允许使用某些物理行地址和某些物理列地址在两个平面上执行某些存储操作的存储器阵列的划分。 [0033] “存储介质”是指被组织和配置为存储一个或多个位数据的任何物理介质。在一个实施方案中,存储介质是指在易失性存储器介质中使用的物理存储单元和/或存储器单元。 在另一个实施方案中,存储介质是指在非易失性存储器介质中使用的物理存储单元和/或存储器单元。 [0034] “存储操作”是指在存储单元或存储器单元上执行以便改变或获得由存储单元的状态特性表示的数据值的操作。存储操作的示例包括但不限于从存储单元读取数据(或感测存储单元的状态)、将数据写入存储单元(或对存储单元编程)和/或擦除存储在存储单元中的数据。 [0035] 为了在存储器系统中实现子块模式解决方案,可能需要设置和/或修改某些参数以便独立地访问每个姊妹子块。每当要实现该模式时,为子块模式设置此类参数可能花费足够的时间以具有显著的性能影响。为此,子块模式特定的参数可用作默认值。 [0036] 在一些实施方案中,由于本领域熟知的存储器架构中的约束,使用子块模式时的擦除时间可以是全块模式下的擦除时间的两倍。换句话讲,对于所写入的相同量的数据,当在子块模式下操作时,与在全块模式下的操作相比,可能需要两倍数量的擦除操作并且因此需要两倍的擦除时间,从而在写入工作负载包含大量顺序或伪顺序写入时,导致显著的性能影响。“工作负载”是指由非易失性存储设备接收和/或服务的存储命令的数量和类型以及服务于那些存储命令的成果或结果。工作负载还可包括关于存储命令的任何统计数据。 [0037] 在子块模式下使用物理块还可能导致诸如未擦除子块干扰(USBD)之类的问题,其中擦除超过某个阈值的子块而不擦除其姊妹子块可能干扰存储在姊妹子块上的数据。“阈值”是指这样的水平、点或值,高于该水平、点或值则条件为真或将发生的,并且低于该水平、点或值则条件不为真或将不发生。(“阈值”。Merriam-Webster.com。Merriam-Webster, 2019。网络。编辑于2019年11月14日) [0038] “干扰”是指在存储操作和/或存储操作阶段期间、之后或因存储操作和/或存储操作阶段而产生的电子干扰和/或磁干扰的类型。为此,可能需要在某个Δ值内执行姊妹子块之间的擦除循环,从而导致附加的垃圾收集操作、影响性能、写入放大以及特定数据存储容量所需的块的数量。 [0039] “写入放大”是指在非易失性存储设备上执行的导致写入任何数据的写入/编程操作的量度,并且特别是用户数据比在第一实例中初始写入数据更多的次数。在某些实施方案中,写入放大可对由非易失性存储设备执行的写入操作的数量进行计数,以便管理和维护存储在非易失性存储设备上的数据。在其他实施方案中,写入放大对在非易失性存储设备上的数据的初始存储之外写入的数据量、位的数量进行测量。 [0040] “垃圾收集操作”是指存储容量恢复操作。在非易失性存储器介质(诸如NAND)中,其是一次写入存储介质,对已存储的数据的改变或删除数据的肯定指令导致存储块的数据块变为无效数据。 [0041] 垃圾收集操作将有效数据从存储块复制到新的存储位置,并布置用于擦除存储块。垃圾收集操作可以执行存储块的擦除操作或标记存储块以用于后续擦除。垃圾收集操作在本文中可被称为压实操作。 [0042] “无效数据”是指存储在存储块中的主机已经肯定地删除或已经指示不再需要或可以删除的数据,因为数据已经被数据的新版本或改变版本取代。在包括为一次写入存储介质的存储单元的非易失性存储介质中。如果数据被主机修改,则数据的修改版本使得存储在一次写入型存储介质中的原始数据变为无效数据,因为该数据不再表示数据的当前版本,所以该数据无效。 [0043] “有效数据”是指存储块的数据,该数据由主机存储并且应被保存和保持,直到主机指示不再需要并且可以或应删除该数据。 [0044] “存储块”是指被组织成使得存储操作可并行地在存储单元组上执行的一组存储单元。该组存储单元的组织可以在物理级或逻辑级实现。因此,在一个实施方案中,存储块可包括物理页面,诸如字线、包括跨越平面和/或存储器管芯的物理页面的逻辑页面、包括一组物理页面的物理擦除块、包括一组逻辑页面的逻辑擦除块(LEB)等。存储块在本文中可被称为“块”、“存储器块”、“元块”或LEB。 [0045] “存储单元”是指被配置为在感测、读取或检测存储介质时通过存储介质的可确定特性来表示一个或多个二进制值,以确定存储的或由存储器单元的可确定特性表示的一个或多个二进制值的存储介质的类型。存储单元和存储器单元在本文中可互换使用。 [0046] 用于将数据存储在存储器单元中的可确定特性的类型可取决于所使用的存储器或存储技术的类型而变化。例如,在每个存储器单元包括具有源极引线、漏极引线和栅极的晶体管的闪存存储器单元中,可确定特性是当施加到栅极时使得存储器单元在漏极引线和源极引线之间传导电流的电压电平。在该示例中,电压电平在本文中被称为阈值电压。阈值电压也可被称为控制栅极参考电压(CGRV)、读取电压、读取电平或参考电压。 [0047] 可确定物理特性的示例包括但不限于晶体管的阈值电压、存储器单元的电阻电平、通过存储器单元的电流电平、磁极取向、自旋传递扭矩等。 [0048] “晶体管”是指被配置为用作信号放大器或电子开关的电子部件。晶体管包括栅极端子、源极端子、漏极端子和体端子或仅体端子。晶体管可包括分立的电子或半导体部件,或者可包括嵌入在集成电路或半导体部件或半导体器件中的结构或者结构或器件的部分。 [0049] 作为开关操作的晶体管被配置为使得源极端子电连接到第一电结构,并且漏极端子电连接到第二电结构。在开关配置中,晶体管的栅极端子连接到控制线。通过将控制线上的电压升高到或高于阈值电压来激活晶体管,并且通过将控制线上的电压降低到低于阈值电压来停用晶体管。通过控制线激活晶体管在本文中被称为将晶体管置于导通状态。 [0050] 晶体管的激活形成导电路径和/或使得晶体管传导电流和/或允许电压或偏置在源极端子和漏极端子之间转移。 [0051] 本文所公开的解决方案可以用子块模式使用解决这些问题,并且可以提供混合子块模式和全块模式以克服这些挑战的方式。“子块模式”是指操作存储单元阵列的方式、过程、方法或手法,使得阵列的第一组存储单元上的存储操作独立于与第一组存储单元相同的物理阵列中的第二组存储单元上的存储操作。 [0052] 在一个实施方案中,存储器阵列包括被组织成字线行和NAND串列的一组存储单元,每个NAND串具有源极侧、漏极侧和它们之间的接头。存储器阵列的字线的某些行一起形成物理擦除块。当管芯控制器在子块模式下操作物理擦除块时,接头和物理擦除块的源极侧之间的字线形成第一子块,并且接头和物理擦除块的漏极侧之间的字线形成第二子块。 [0053] 在一个实施方案中,管芯控制器通过对耦接到物理擦除块的控制线进行偏置在子块模式下操作物理擦除块,使得涉及一个子块的存储操作对在物理上是同一物理擦除块的部分的另一个子块中的存储单元没有影响、有最小影响和/或影响减轻。换句话讲,管芯控制器以这样的方式操作物理擦除块,其中控制线的偏置和存储操作的部分的定时使得一个子块上的存储操作的执行对同一物理擦除块中的第二子块的数据或存储单元设置造成最小干扰或无干扰。 [0054] “全块模式”是指操作存储单元阵列的方式、过程、方法或手法,使得在存储器阵列的一组存储单元的存储单元中编码的数据值在单个擦除存储操作中是可擦除的。 [0055] 在一个实施方案中,阵列包括被组织成字线行和NAND串列的一组存储单元,每个NAND串具有源极侧、漏极侧和它们之间的接头。存储器阵列的字线的某些行一起形成物理擦除块。当管芯控制器在全块模式下操作物理擦除块时,接头与源极侧之间的字线以及接头与漏极侧之间的字线一起形成物理擦除块。 [0056] 在一个实施方案中,管芯控制器通过对耦接到物理擦除块的控制线进行偏置在全块模式下操作物理擦除块,使得擦除存储操作影响作为整体的物理擦除块的存储单元。在某些实施方案中,在全块模式下操作物理擦除块类似于从物理擦除块的存储单元读取数据、向物理擦除块的存储单元写入数据以及擦除物理擦除块的存储单元。 [0057] 在某些实施方案中,可对单个存储器管芯的单个存储单元阵列的单个物理擦除块执行全块模式存储操作。另选地或除此之外,可对多个存储器管芯的多个存储单元阵列的多个物理擦除块执行全块模式存储操作,该多个存储器管芯被组织和配置为使得来自存储控制器的单个存储操作并行地对多个物理擦除块进行操作。在此实施方案和配置中,多个物理擦除块被称为逻辑擦除块、元块或超块。 [0058] “逻辑擦除块”是指存储块的另一个术语。在某些实施方案中,逻辑擦除块是指跨越平面、存储器管芯和/或芯片的一组逻辑页面。存储单元的这种组织被认为是“逻辑的”,因为物理页面可能不会彼此直接耦接。物理页面之间的逻辑关系可在表或其他映射中跟踪,或者可由于物理页面在存储器管芯或存储器阵列中的位置以及连接多个存储器管芯或存储器阵列的架构而为固有的。 [0059] 物理页面可包括字线并且并行操作,好像它们是跨越存储器管芯和/或存储器平面和/或存储器阵列的单个逻辑页面那样。以类似的方式,跨越存储器管芯和/或存储器平面和/或存储器阵列的多个物理擦除块可以并行操作,好像它们是单个擦除块一样,并且因此被称为逻辑擦除块。术语逻辑擦除块、元块和超级块在本文中可互换使用。 [0060] “逻辑页面”是指被视为用于存储操作的单个页面的物理页面的集合。 [0061] “元块”是指被组织成使得存储操作可在存储单元组上并行执行的一组存储单元。 元块是在逻辑级组织该组存储单元的逻辑结构。在一个实施方案中,元块是可以在单个擦除存储操作中擦除的最小存储单位。 [0062] 在一个实施方案中,元块是来自两个或更多个不同物理平面、存储器管芯或芯片的物理擦除块的集合。因此,在一个实施方案中,元块可以跨越存储器阵列的存储器平面、存储器管芯或存储器芯片。在一个实施方案中,元块是沿着存储器管芯的存储器阵列的行的物理擦除块的集合。元块在本文中可被称为“块”、“存储器块”、“逻辑擦除块”或LEB。 [0063] 图1是示出根据本发明所公开的解决方案的包括存储设备的存储系统100的一个实施方案的示意性框图。存储系统100包括存储设备102、存储控制器104、存储器管芯106、主机108、用户应用程序110、存储客户端112、数据总线114、总线116和网络118。“主机”是指被配置为发送和接收存储命令的任何计算设备或计算机设备或计算机系统。主机的示例包括但不限于计算机、膝上型计算机、移动设备、电器、虚拟机、企业服务器、台式计算机、平板计算机、主机架等。 [0064] “存储命令”是指与存储操作相关的任何命令。存储命令的示例包括但不限于读取命令、写入命令、维护命令、配置命令、管理命令、诊断命令、测试模式命令、对策命令和存储控制器可从主机接收或向另一个部件、设备或系统发出的任何其他命令。 [0065] “写入命令”是指被配置为引导接收方在持久性存储介质(诸如硬盘驱动器、非易失性存储器介质等)上写入或存储一个或多个数据块的存储命令。写入命令可包括可导致数据被写入存储设备的物理存储介质的任何存储命令。写入命令可包括足够的数据以填充一个或多个数据块,或者写入命令可包括足够的数据以填充一个或多个数据块的一部分。 在一个实施方案中,写入命令包括起始LBA和指示要写入存储介质上的数据的LBA数据的计数。 [0066] 存储系统100包括至少一个存储设备102,该存储设备包括由总线116连接的存储控制器104和一个或多个存储器管芯106。“存储控制器”是指被配置为管理非易失性存储介质上的数据操作的任何硬件、设备、部件、元件或电路,并可包括一个或多个处理器、可编程处理器(例如,FPGA)、ASIC、微控制器等。在一些实施方案中,存储控制器被配置为将数据存储在非易失性存储器介质上和/或从该非易失性存储器介质读取数据,以将数据传输到一个或多个非易失性存储器装置/从该一个或多个非易失性存储器装置传输数据等。 [0067] “存储器管芯”是指在其上制造给定功能电路的一小片半导体材料。通常,通过诸如光刻法的工艺在电子级硅(EGS)或其他半导体(诸如GaAs)的单个晶圆上大批量生产集成电路。将晶圆切割(切片)成许多片,每片包含电路的一个副本。这些片中的每个被称为管芯或存储器管芯。(搜索2019年10月9日Wikipedia.com上的“管芯(集成电路)(die (integrated circuit))”。2019年11月18日访问)。 [0068] 在一个实施方案中,存储器管芯是包括用于作为非易失性存储器介质和/或非易失性存储器阵列操作的一个或多个功能电路的管芯。“非易失性存储器阵列”是指被组织成具有行和列的阵列结构的一组非易失性存储单元(也称为存储器单元或非易失性存储器单元)。存储器阵列可使用行标识符和列标识符寻址。 [0069] “非易失性存储器介质”是指被配置为在主电源被移除之后保持用于表示零或一的二进制值的可变物理特性的任何硬件、设备、部件、元件或电路。可变物理特性的示例包括但不限于晶体管的阈值电压、存储器单元的电阻电平、通过存储器单元的电流电平、磁极取向、自旋传递扭矩等。 [0070] 可变物理特性使得一旦设置,物理特性就保持足够固定,使得当用于非易失性存储器介质的主电源不可用时,可在读取、检索或感测二进制值时测量、检测或感测可变物理特性。换句话讲,非易失性存储器介质是被配置为使得存储在非易失性存储器介质上的数据在用于非易失性存储器介质的电源被移除并且然后恢复之后可检索的存储介质。非易失性存储器介质可包括一个或多个非易失性存储器元件,该非易失性存储器元件可包括但不限于:芯片、封装件、平面、存储器管芯等。 [0071] 非易失性存储器介质的示例可包括但不限于:ReRAM、忆阻器存储器、可编程的金属化单元存储器、相变存储器(PCM、PCME、PRAM、PCRAM、双向统一存储器、硫属化物RAM或C-RAM)、NAND闪存存储器(例如,2D NAND闪存存储器、3D NAND闪存存储器)、NOR闪存存储器、纳米随机存取存储器(纳米RAM或NRAM)、基于纳米晶体线的存储器、基于硅氧化物的亚10纳米工艺存储器、石墨烯存储器、氧化硅氮氧化硅(SONOS)、可编程金属化单元(PMC)、导电桥接RAM(CBRAM)、磁阻RAM(MRAM)、磁存储介质(例如,硬盘、磁带)、光存储介质等。 [0072] 虽然非易失性存储器介质在本文中被称为“存储器介质”,但在各种实施方案中,非易失性存储器介质可更一般地被称为非易失性存储器。因为非易失性存储器介质能够在移除电源时存储数据,所以非易失性存储器介质也可以被称为记录介质、非易失性记录介质、非易失性存储介质、存储装置、非易失性存储器、易失性存储器介质、非易失性存储介质、非易失性存储装置等。 [0073] 在某些实施方案中,存储在非易失性存储器介质中的数据可在块级寻址,这意味着非易失性存储器介质中的数据被组织成各自具有唯一逻辑地址(例如,LBA)的数据块。在其他实施方案中,存储在非易失性存储器介质中的数据可以字节级寻址,这意味着非易失性存储器介质中的数据被组织成数据的字节(8位),每个字节具有唯一地址,诸如逻辑地址。字节可寻址非易失性存储器介质的一个示例是存储级存储器(SCM)。“非易失性存储器阵列”是指被组织成具有行和列的阵列结构的一组非易失性存储单元(也称为存储器单元或非易失性存储器单元)。存储器阵列可使用行标识符和列标识符寻址。 [0074] 在一些实施方案中,每个存储设备102可包括两个或更多个存储器管芯106,诸如闪存存储器、纳米随机存取存储器(“纳米RAM或NRAM”)、磁阻RAM(“MRAM”)、动态RAM(“DRAM”)、相变RAM(“PRAM”)等。在另外的实施方案中,数据存储设备102可包括其他类型的非易失性和/或易失性数据存储,诸如动态RAM(“DRAM”)、静态RAM(“SRAM”)、磁性数据存储、光学数据存储和/或其他数据存储技术。 [0075] 存储设备102(在本文中也称为存储设备)可以是主机108内的部件,如这里所描绘,并且可以使用数据总线114连接,诸如外围部件快速互连(“PCI-e”)总线、串行高级技术附件(“串行ATA”)总线等。在另一个实施方案中,存储设备102在主机108外部并且被连接,通用串行总线(“USB”)连接、电气与电子工程师协会(“IEEE”)1394总线(“火线”)等。在其他实施方案中,存储设备102使用外围部件互连(“PCI”)快速总线连接到主机108,该外围部件互连快速总线使用外部电气或光学总线扩展或总线网络解决方案,诸如无限带宽或PCI快速高级切换(“PCIe-AS”)等。 [0076] 在各种实施方案中,存储设备102可为双列直插式存储器模块(“DIMM”)、子卡或微模块的形式。在另一个实施方案中,存储设备102为机架安装的刀片内的部件。在另一个实施方案中,存储设备102包含在直接集成到更高级组件(例如,母板、膝上型计算机、图形处理器)上的封装件内。在另一个实施方案中,将包括存储设备102的各个部件直接集成到更高级组件上而无需中间封装件。参考图2更详细地描述存储设备102。 [0077] “处理器”是指被配置为接收、解译、解码和执行机器指令的任何电路、部件、芯片、管芯、封装件或模块。处理器的示例可包括但不限于中央处理单元、通用处理器、专用处理器、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上系统(SoC)、虚拟处理器、处理器内核等。 [0078] 在另一个实施方案中,数据存储设备102可通过数据网络连接到主机108,而不是作为DAS直接连接到主机108。例如,数据存储设备102可包括存储域网络(“SAN”)存储设备、网络附接存储(“NAS”)设备、网络共享等。在一个实施方案中,存储系统100可包括数据网络,诸如互联网、广域网(“WAN”)、城域网(“MAN”)、局域网(“LAN”)、令牌环、无线网络、光纤信道网络、SAN、NAS、ESCON等,或网络的任何组合。数据网络还可包括来自IEEE 802系列的网络技术的网络,诸如以太网、令牌环、Wi-Fi、Wi-Max等。数据网络可包括服务器、交换机、路由器、电缆、无线电设备和用于促进主机108与数据存储设备102之间的联网的其他设备。 [0079] 存储系统100包括连接到存储设备102的至少一个主机108。可以使用多个主机 108,并且该多个主机可以包括服务器、存储域网络(“SAN”)的存储控制器、工作站、个人计算机、膝上型计算机、手持计算机、超级计算机、计算机群集、网络交换机、路由器或器具、数据库或存储器具、数据采集或数据捕获系统、诊断系统、测试系统、机器人、便携式电子设备、无线设备等。在另一个实施方案中,主机108可以是客户端,并且存储设备102自主操作以服务于从主机108发送的数据请求。在该实施方案中,主机108和存储设备102可使用计算机网络、系统总线、直接附接存储(DAS)或适用于计算机和自主存储设备102之间的连接的其他通信装置来进行连接。 [0080] 所描绘的实施方案示出了作为主机108的一部分与存储客户端112通信的用户应用程序110。在一个实施方案中,用户应用程序110是在存储客户端112上或与存储客户端 112结合操作的软件应用程序。“存储客户端”是指被配置为与存储设备通信以便使用存储服务的任何硬件、软件、固件或逻辑部件或模块。存储客户端的示例包括但不限于操作系统、文件系统、数据库应用程序、数据库管理系统(“DBMS”)、服务器应用程序、服务器、音量管理器、内核级进程、用户级进程、应用程序、移动应用程序、线程、进程等。“软件”是指实现为机器存储器(例如,读取/写入易失性存储器介质或非易失性存储器介质)中的处理器可执行指令的逻辑。 [0081] 存储客户端112管理文件和数据,并且利用存储控制器104和相关联存储器管芯 106的功能和特征。存储客户端的代表性示例包括但不限于服务器、文件系统、操作系统、数据库管理系统(“DBMS”)、卷管理器等。存储客户端112与存储设备102内的存储控制器104通信。在一些实施方案中,存储客户端112可包括在主机108上操作或以其他方式经由网络118可访问的远程存储客户端。存储客户端可包括但不限于:操作系统、文件系统、数据库应用程序、服务器应用程序、内核级进程、用户级进程、应用程序等。 [0082] 在一个实施方案中,存储系统100包括通过一个或多个计算机网络118连接到一个或多个主机108的一个或多个客户端。主机108可以是服务器、SAN的存储控制器、工作站、个人计算机、膝上型计算机、手持计算机、超级计算机、计算机群集、网络交换机、路由器或器具、数据库或存储器具、数据采集或数据捕获系统、诊断系统、测试系统、机器人、便携式电子设备、无线设备等。网络118可包括互联网、广域网(“WAN”)、城域网(“MAN”)、局域网(“LAN”)、令牌环、无线网络、光纤信道网络、SAN、网络附接存储装置(“NAS”)、ESCON等,或网络的任何组合。网络118还可包括来自IEEE 802系列的网络技术的网络,诸如以太网、令牌环、WiFi、WiMax等。 [0083] 网络118可包括服务器、交换机、路由器、电缆、无线电设备以及用于促进将主机 108或主机和主机108或客户端联网的其他设备。在一个实施方案中,存储系统100包括通过网络118作为对等实体通信的多个主机。在另一个实施方案中,存储系统100包括通过网络 118作为对等实体通信的多个存储器设备102。本领域技术人员将认识到,其他计算机网络包括一个或多个计算机网络以及在一个或多个客户端之间具有单个或冗余连接的相关设备,或者具有一个或多个存储器设备102或连接到一个或多个主机的一个或多个存储器设备102的其他计算机。在一个实施方案中,存储系统100包括在没有主机108的情况下通过网络118连接到主机108的两个或更多个存储器设备102。 [0084] 在一个实施方案中,存储客户端112通过包括输入/输出(I/O)接口的主机接口与存储控制器104通信。例如,存储设备102可支持ATA接口标准、ATA包接口(“ATAPI”)标准、小型计算机系统接口(“SCSI”)标准和/或光纤信道标准,这些标准由国际信息技术标准委员会(“INCITS”)维护。 [0085] 在某些实施方案中,存储器设备的存储介质被划分为卷或分区。每个卷或分区可包括多个扇区。传统上,扇区是512字节的数据。一个或多个扇区被组织成块(在本文中可互换地称为块和数据块两者)。“数据块”是指使用存储命令可访问和/或可寻址的物理存储介质上的最小物理量的存储空间。物理存储介质可以是易失性存储器介质、非易失性存储器介质、持久性存储装置、非易失性存储装置、闪存存储介质、硬盘驱动器等。某些常规存储设备将物理存储介质划分为卷或逻辑分区(也称为分区)。每个卷或逻辑分区可包括多个扇区。一个或多个扇区被组织成块(也称为数据块)。在某些存储系统(诸如与 操作 系统对接的存储系统)中,数据块被称为群集。在其他存储系统(诸如与UNIX、Linux或类似操作系统对接的存储系统)中,数据块被简称为块。数据块或群集表示由存储控制器管理的存储介质上的最小物理量的存储空间。块存储设备可将可用于跨物理存储介质的用户数据存储的n个数据块与从0至n编号的逻辑块地址(LBA)相关联。在某些块存储设备中,每个卷或逻辑分区的逻辑块地址范围可为从0到n。在常规块存储设备中,逻辑块地址直接映射到一个且仅一个数据块。“逻辑块地址”是指在块存储设备中用于将跨存储介质的可用于用户数据存储的n个逻辑块中的每个逻辑块与逻辑地址相关联的值。在某些块存储设备中,每个卷或分区的逻辑块地址(LBA)范围可为从0到n。在块存储设备中,每个LBA直接映射到特定数据块,并且每个数据块映射到物理存储介质上的一组特定物理扇区或物理数据块地址。 “用户数据”是指主机引导非易失性存储设备存储或记录的数据。 [0086] 在一个示例实施方案中,数据块包括八个4KB的扇区。在某些存储系统(诸如与操作系统对接的那些存储系统)中,数据块被称为群集。在其他存储系统(诸如 与UNIX、Linux或类似操作系统对接的存储系统)中,数据块被简称为块。块或数据块或群集表示由存储管理器(诸如存储控制器、存储系统、存储单位、存储设备等)管理的存储介质上的最小物理量的存储空间。 [0087] 在一些实施方案中,存储控制器104可被配置为将数据存储在一个或多个不对称的一次写入存储介质上,诸如存储器管芯106内的固态存储存储器单元。“一次写入存储介质”是指在新数据或数据的改变被写入或编程在其上之前被重新初始化(例如,擦除)的存储介质,诸如存储单元。换句话讲,一次写入存储介质的数据不能被重写,一次写入存储介质必须在随后将数据写入一次写入存储介质之前被擦除。“非对称存储介质”是指针对不同存储操作具有不同延迟的存储介质。许多类型的固态存储介质(例如,存储器管芯)是非对称的;例如,读取操作可比写入/编程操作快得多,并且写入/编程操作可比擦除操作快得多(例如,读取存储介质可比擦除快数百倍,并且比对存储介质进行编程快数十倍)。 [0088] “编程”是指存储器单元的特性从第一状态(通常为擦除状态)改变为第二状态的存储操作。编程存储操作在本文中也可称为写入操作。 [0089] 在某些实施方案中,编程存储操作可包括递增地改变特性直到实现至少目标改变水平的一系列迭代。在其他实施方案中,编程存储操作可以使属性通过单次迭代改变到目标水平。 [0090] 存储器管芯106可被划分成可作为群组(例如,擦除块)进行擦除以便尤其考虑存储器管芯106等的不对称性质的存储器分区。因此,就地修改单个数据段可需要擦除包含该数据的整个擦除块,并且将经修改的数据连同原始未更改的数据一起重写到擦除块。这可能会导致效率低下的写入放大,该写入放大可能过度损耗存储器管芯106。 [0091] “擦除块”是指逻辑擦除块或物理擦除块。在一个实施方案中,物理擦除块表示给定存储器管芯内可在给定时间擦除的最小存储单位(例如,由于存储器管芯上的存储单元的布线)。在一个实施方案中,逻辑擦除块表示可由存储控制器响应于接收到擦除命令而擦除的最小存储单位或存储块。在此实施方案中,当存储控制器接收到指定特定逻辑擦除块的擦除命令时,存储控制器可同时擦除逻辑擦除块内的每个物理擦除块。需注意,给定逻辑擦除块内的物理擦除块可被视为在物理地址空间内是连续的,即使它们驻留在单独的管芯中。因此,术语“连续的”不仅可适用于存储在同一物理介质内的数据,还可适用于存储在单独介质内的数据。 [0092] 因此,在一些实施方案中,存储控制器104可被配置为异地写入数据。如本文所用,“异地”写入数据是指将数据写入一个或多个不同介质存储位置,而不是“就地”覆写数据(例如,覆写数据的原始物理位置)。异地修改数据可避免写入放大,因为具有要修改的数据的擦除块上的现有有效数据不需要被擦除和重新复制。此外,异地写入数据可从许多存储操作的延迟路径中移除擦除(例如,擦除延迟不再是写入操作的关键路径的一部分)。 [0093] 存储管理器对数据块的管理包括特别地针对读取操作、写入操作或维护操作对特定数据块寻址。“维护操作”是指在非易失性存储设备上执行的操作,该操作被配置、设计、校准或布置为改善或延长非易失性存储设备和/或其上存储的数据的寿命。 [0094] 块存储设备可将可用于跨存储介质的用户数据存储的n个块与从0到n编号的逻辑块地址相关联。在某些块存储设备中,每个卷或分区的逻辑块地址范围可为从0至n。逻辑地址是指用于引用存储器资源(例如,数据)的任何标识符,包括但不限于:逻辑块地址(LBA)、柱面/磁头/扇区(CHS)地址、文件名、对象标识符、索引节点、通用唯一标识符(UUID)、全局唯一标识符(GUID)、哈希码、签名、索引条目、范围、程度等。逻辑地址不指示数据在存储介质上的物理位置,而是对数据的抽象引用。 [0095] 在常规块存储设备中,逻辑地址直接映射到物理存储介质上的特定数据块。在常规块存储设备中,每个数据块映射到物理存储介质上的一组特定物理扇区。然而,某些存储设备不直接或必然地将逻辑地址与特定物理数据块相关联。这些存储设备可对常规块存储接口进行仿真以保持与块存储客户端112的兼容性。 [0096] 在一个实施方案中,存储控制器104提供块I/O仿真层,该块I/O仿真层用作块设备接口或API。在该实施方案中,存储客户端112通过该块设备接口与存储设备通信。在一个实施方案中,根据该块设备接口,块I/O仿真层从存储客户端112接收命令和逻辑地址。因此,块I/O仿真层提供与块存储客户端112的存储设备兼容性。 [0097] 在一个实施方案中,存储客户端112通过包括直接接口的主机接口与存储控制器 104通信。在该实施方案中,存储设备直接交换特定于非易失性存储设备的信息。“非易失性存储设备”是指被配置为在主电源被移除之后保持用于表示零或一的二进制值的可变物理特性的任何硬件、设备、部件、元件或电路。非易失性存储设备的示例包括但不限于硬盘驱动器(HDD)、固态驱动器(SSD)、非易失性存储器介质等。 [0098] 使用直接接口的存储设备可以使用各种组织构造将数据存储在存储器管芯106中,该组织构造包括但不限于块、扇区、页面、逻辑块、逻辑页面、擦除块、逻辑擦除块、ECC码字、逻辑ECC码字,或者呈有利于存储器管芯106的技术特性的任何其他格式或结构。“特性”是指对象或事物的任何性质、性状、质量或属性。特性的示例包括但不限于条件、使用准备就绪、未使用准备就绪、尺寸、重量、组成、特征组等。 [0099] 存储控制器104从存储客户端112接收逻辑地址和命令,并且执行与存储器管芯 106相关的对应操作。存储控制器104可以支持块I/O仿真、直接接口或两者。 [0100] 图2是示例性存储设备102的框图。“存储设备”是指任何硬件、系统、子系统、电路、部件、模块、非易失性存储器介质、硬盘驱动器、存储阵列、设备或装置,其被配置、编程、设计或工程化为在存储设备不使用来自电源的电力的同时将数据存储一段时间并将数据保持在存储设备中。存储设备的示例包括但不限于硬盘驱动器、闪存存储器、MRAM存储器、固态存储设备、磁盘束(JBOD)、闪存束(JBOF)、外部硬盘、内部硬盘等。 [0101] 存储设备102可包括存储控制器104和存储器阵列202。存储器阵列202中的每个存储器管芯106可包括管芯控制器204和呈三维存储器阵列形式的至少一个非易失性存储器阵列206,以及读取/写入电路208。“三维存储器阵列”是指与二维(2D)存储器阵列形成对比的存储器阵列的部件的物理布置。2D存储器阵列沿着半导体晶圆或其他衬底的平坦表面形成。三维(3D)存储器阵列从晶圆表面/衬底向上延伸,并且通常包括在z方向上向上延伸的存储器单元的叠堆或列。在3D存储器阵列中,字线包括当存储器阵列向上延伸时彼此堆叠的层。各种3D布置是可能的。在一种布置中,NAND串竖直地形成,其中一端(例如,源极)在晶圆表面处,并且另一端(例如,漏极)在顶部上。 [0102] “阈值电压”是指当施加到晶体管的栅极电极时使得晶体管在漏极电极和源极电极之间传导电流的电压电平。 [0103] 因此,非易失性存储器阵列是具有存储器单元的存储器阵列,该存储器单元被配置为使得用于表示所存储数据的存储器单元的特性(例如,阈值电压电平、电阻电平、电导率等)保持存储器单元的属性,而无需使用电源来维持该特性。 [0104] 存储器阵列可使用行标识符和列标识符寻址。本领域技术人员认识到,存储器阵列可包括平面内的该组存储器单元、存储器管芯内的该组存储器单元、一组平面内的该组存储器单元,一组存储器管芯内的该组存储器单元、存储器封装件内的该组存储器单元、一组存储器封装件内的该组存储器单元,或者具有其他已知的存储器单元组架构和配置。 [0105] 存储器阵列可包括在存储或存储器系统内的多个组织级的一组存储器单元。在一个实施方案中,平面内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储器管芯的多个平面内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储器设备的多个存储器管芯内的存储器单元可被组织成存储器阵列。在一个实施方案中,存储系统的多个存储器设备内的存储器单元可被组织成存储器阵列。 [0106] 非易失性存储器阵列206能够经由行解码器210通过字线寻址,并且能够经由列解码器212通过位线寻址。“位线”是指被配置为将递送电压和/或传导电流到存储器阵列的列的电路结构。在一个实施方案中,该列包括NAND串或存储器串,并且也可被称为沟道。在一个实施方案中,该列被称为NAND串,并且NAND串包括沟道。在一个实施方案中,位线在NAND串的漏极端或漏极侧处连接到NAND串。存储器阵列对于沿着存储器阵列的字线的每个存储器单元可具有一条位线。“字线”是指包括一组存储器单元的存储器阵列内的结构。存储器阵列被配置为使得在读取操作期间读取或感测字线的操作存储器单元。类似地,存储器阵列被配置为使得在读取操作期间读取或感测字线的操作存储器单元。字线也可以被称为物理页面或简称为页面。 [0107] “沟道”是指存储器阵列内从源极侧延伸到漏极侧的结构。在一个实施方案中,沟道是存储器阵列内的竖直列,该竖直列在耦接到NAND串的一端的源极线和耦接到NAND串的另一端的位线之间形成导电路径。沟道可由多种材料形成,包括例如多晶硅。 [0108] 在一个实施方案中,NAND串内的沟道通过激活沿NAND串的一个或多个存储器单元(例如,一个或多个选定的存储器单元和未选定的存储器单元)以及一个或多个控制结构(例如,在连接到NAND串的一端(例如,源极侧)的源极线与连接到NAND串的另一端(例如,漏极侧)的感测放大器或位线之间的选择门(源极和/或漏极))形成导电路径。 [0109] “选择门”是指晶体管,该晶体管在结构上和/或电气地被配置为用作开关以将连接到晶体管的源极端子的第一电结构与连接到漏极端子的第二电结构电连接。当用作开关时,晶体管在本文中被称为“选择门”,并且用于(选择性地)选通或控制电流或电压何时以及以什么量在第一电结构和第二电结构之间流动或通过。取决于上下文,本文对选择门的引用可指整个晶体管或晶体管的栅极端子。 [0110] 读取/写入电路208包括多个感测块SB1、SB2...SBp(感测电路)并且允许并行读取或编程存储器单元的页面。“电路”是指具有至少一个分立电路的电路、具有至少一个集成电路的电路、具有至少一个专用集成电路的电路、形成由计算机程序配置的通用计算设备(例如,由至少部分地执行本文所述的过程或设备的计算机程序配置的通用计算机,或由至少部分地执行本文所述的过程或设备的计算机程序配置的微处理器)的电路、形成存储器设备(例如,随机存取存储器的形式)的电路,或形成通信设备(例如,调制解调器、通信开关、光电设备)的电路。在某些实施方案中,跨存储器阵列的行的每个存储器单元一起形成物理页面。“读取/写入电路”是指被配置为和/或可操作以从存储介质(诸如存储阵列的存储单元)读取数据并将数据写入该存储介质的设备、部件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。 [0111] 物理页面可包括用于单个平面或用于单个存储器管芯的沿着存储器阵列的行的存储器单元。在一个实施方案中,存储器管芯包括由两个相等尺寸的平面组成的存储器阵列。在一个实施方案中,存储器管芯的一个平面的物理页面包括四个数据块(例如,16KB)。 在一个实施方案中,存储器管芯的物理页面(也称为“管芯页面”)包括各自具有四个数据块(例如,32KB)的两个平面。 [0112] 命令和数据经由数据总线114在主机108与存储控制器104之间传输,并且经由总线116在存储控制器104与一个或多个存储器管芯106之间传输。存储控制器104可包括关于图1更详细描述的逻辑模块。 [0113] 非易失性存储器阵列206可为二维的(2D-布置在单个制造平面中)或三维的(3D-布置在多个制造平面中)。非易失性存储器阵列206可包括存储器单元的一个或多个阵列,该一个或多个阵列包括3D阵列。在一个实施方案中,非易失性存储器阵列206可包括单片三维存储器结构(3D阵列),其中多个存储器级形成在诸如晶圆的单个衬底上方(并且不在其中),没有中间衬底。非易失性存储器阵列206可包括任何类型的非易失性存储器,该非易失性存储器一体地形成在具有设置在硅衬底上方的有源区域的一个或多个物理级的存储器单元阵列中。非易失性存储器阵列206可在非易失性固态驱动器中,该非易失性固态驱动器具有与存储器单元的操作相关联的电路,无论相关联的电路是在衬底上方还是在衬底内。 [0114] 字线可包括包含存储器单元的层的区段,这些区段设置在衬底上方的层中。多条字线可以借助于沟槽或其他非导电隔离特征部形成在单个层上。 [0115] 管芯控制器204与读取/写入电路208协作以在非易失性存储器阵列206的存储器单元上执行存储器操作,并且包括状态机214、地址解码器216和功率控件218。状态机214提供存储器操作的芯片级控制。“管芯控制器”是指被配置为管理管芯的操作的一组电路、电路系统、逻辑或部件。在一个实施方案中,管芯控制器是集成电路。在另一个实施方案中,管芯控制器是分立部件的组合。在另一个实施方案中,管芯控制器是一个或多个集成电路和一个或多个分立部件的组合。 [0116] 地址解码器216将主机或存储控制器104所使用的地址接口之间的地址接口提供给行解码器210和列解码器212所使用的硬件地址。“硬件”是指体现为模拟和/或数字电路的功能元件。 [0117] 功率控件218控制在存储器操作期间供应给各种控制线的功率和电压。“控制线”是指被配置为将电流和/或电压从源输送到目的地的结构、电路、电路系统和/或相关联的逻辑部件。在某些实施方案中,通过控制线供应或放电的模拟电压、电流、偏置和/或数字信号用于控制开关、选择门和/或其他电气部件。基于控制线控制的电路的什么部分或控制线耦接或连接到其他电路的位置,某些控制线可具有特定名称。命名的控制线的示例包括字线、位线、源极控制线、漏极控制线等。 [0118] “源极控制线”是指被配置为操作选择门(例如,接通、激活和断开、去激活选择门)以用于将NAND串的源极侧耦接到源极线和/或另一个电路的控制线。 [0119] “源极侧”是指连接到存储器管芯上的源极层或线的NAND串的端部或三维存储器阵列的侧面。该术语来自场效应晶体管或类似部件的源极端子。在菊花链式晶体管串中,第一晶体管的源极端子可连接到源极线、地线或一些其他较低电压线,并且漏极端子可连接到下一个晶体管的源极端子,该晶体管的漏极端子可连接到下一个源极端子等,其中最终晶体管的漏极端子连接到较高电压信号或电源线。然后,每个晶体管的栅极端子可控制电流是否从源极到漏极流过晶体管,并且从源极线到位线流过串。 [0120] “源极线”是指被配置为将电流和/或电压从电源输送到相关联NAND串的一个或多个沟道的结构、电路、电路系统和/或相关联的逻辑。在某些实施方案中,源极线被配置为同时向多个NAND串输送电压,和/或同时从多个NAND串释放电压。在其他实施方案中,源极线被配置为向串联的多个NAND串输送电压和/或从串联的多个NAND串释放电压。 [0121] 在某些实施方案中,源极控制线耦接到位于源极线和一个或多个NAND串之间的一个或多个源极侧选择门,并且源极控制线管理电压或电流是否在源极线和NAND串之间通过。在此实施方案中,源极线也可被称为公共源极线。 [0122] “源极侧选择门”是指用作开关以将源极线电连接到NAND串和/或NAND串的沟道的选择门。源极线的示例包括源极侧选择门、虚设字线选择门等。在某些实施方案中,源极侧选择门可以仅包括源极侧选择门(例如,SGS0、SGS1等)。在其他实施方案中,源极侧选择门可以仅包括虚设字线选择门(例如,DWLS0、DWLS1等)。在其他实施方案中,源极侧选择门可以包括源极侧选择门(例如,SGS0、SGS1等)和虚设字线选择门(例如,DWLS0、DWLS1等)两者。 在NAND串的源极侧上定位在源极线和NAND串之间的选择门被称为源极侧选择门。 [0123] “漏极控制线”是指被配置为操作选择门(例如,接通、激活和断开、去激活选择门)以用于将NAND串的漏极侧耦接到位线和/或感测电路的控制线。“漏极侧”是指连接到一条或多条位线的NAND串的端部或三维存储器阵列的侧面。该术语来自场效应晶体管或类似部件的漏极端子。在菊花链式晶体管串中,第一晶体管的源极端子可连接到源极线、地线或一些其他较低电压线,并且漏极端子可连接到下一个晶体管的源极端子,该晶体管的漏极端子可连接到下一个源极端子等,其中最终晶体管的漏极端子连接到较高电压信号或电源线。然后,每个晶体管的栅极端子可控制电流是否从源极到漏极流过晶体管,并且从源极线到位线流过串。 [0124] “漏极侧选择门”是指用作开关以将位线电连接到NAND串和/或NAND串的沟道的选择门。在NAND串的漏极侧上定位在位线和NAND串之间的选择门被称为漏极侧选择门。 [0125] “逻辑”是指机器存储器电路、非暂态机器可读介质和/或电路,通过该电路的材料和/或材料能量配置包括控制和/或程序信号和/或设置和值(诸如电阻、阻抗、电容、电感、电流/电压等级等),这可应用于影响设备的操作。磁介质、电子电路、电和光学存储器(易失性和非易失性)以及固件为逻辑的示例。逻辑具体地排除纯信号或软件本身(然而不排除包括软件并由此形成事物的配置的机器存储器)。 [0126] 功率控件218和/或读取/写入电路208可包括用于字线、源极栅极选择(SGS)晶体管、漏极栅极选择(DGS)晶体管、位线、衬底(在2D存储器结构中)、电荷泵和源极线的驱动器。在某些实施方案中,功率控件218可以检测到突然的功率损失并采取预防措施。功率控件218可包括各种第一电压发生器(例如,驱动器)以生成本文所述的电压。在一种方法中,感测块可包括位线驱动器和感测放大器。 [0127] 在一些具体实施中,可组合部件中的一些部件。在各种设计中,除了非易失性存储器阵列206之外的部件中的一个或多个部件(单独或组合)可被认为是至少一个控制电路或存储控制器,该至少一个控制电路或存储控制器被配置为执行本文所述的技术。例如,控制电路可以包括以下任何一个或其组合:管芯控制器204、状态机214、地址解码器216、列解码器212、功率控件218、感测块SB1、SB2、...、SBp、读取/写入电路208、存储控制器104等。 [0128] 在一个实施方案中,主机108是计算设备(例如,膝上型计算机、台式计算机、智能电话、平板计算机、数字相机),其包括一个或多个处理器、一个或多个处理器可读存储设备(RAM、ROM、闪存存储器、硬盘驱动器、固态存储器),该一个或多个处理器可读存储设备存储用于对存储控制器104进行编程以执行本文所述的方法的处理器可读代码(例如,软件)。主机还可包括附加系统存储器、一个或多个输入/输出接口和/或与一个或多个处理器通信的一个或多个输入/输出设备、以及本领域中所熟知的其他部件。 [0129] 通常需要相关联的电路来操作存储器单元并与存储器单元通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器单元以实现诸如编程和读取的功能的电路。 该相关联的电路可在与存储器单元相同的衬底上和/或在单独的衬底上。例如,用于存储器读取-写入操作的存储控制器可以位于单独的存储控制器芯片上和/或位于与存储器单元相同的衬底上。 [0130] 本领域技术人员将认识到,本发明所公开的技术和设备不限于所述的二维和三维示例性结构,但涵盖如本文所述的并且如本领域技术人员所理解的本技术的实质和范围内的所有相关存储器结构。 [0131] 图3示出了根据一个实施方案的存储器阵列300。存储器阵列300包括管芯0 302、管芯1 304等直到管芯N 306。在所示的实施方案中,存储器阵列300被组织成逻辑擦除块(LEB)(在本文中也称为“元块”(“MB”)或“超块”),如逻辑擦除块/元块0 308和逻辑擦除块/元块N 310所示。这些LEB包括由物理擦除块0 312、物理擦除块n-1 314、物理擦除块n 316、物理擦除块0 318、物理擦除块n-1 320、物理擦除块n 322、物理擦除块0 324、物理擦除块n-1 326和物理擦除块n 328示出的多个物理擦除块(PEB)。LEB可包括单个行内的PEB,诸如逻辑擦除块/元块0 308,其跨所有管芯将PEB并入PEB0行中。另选地,LEB可包括来自不同行的PEB,诸如逻辑擦除块/元块N 310,其包括物理擦除块n 316、物理擦除块n 322,以及跨管芯的其他PEB,包括物理擦除块n-1 326。 [0132] 物理擦除块可位于单独的存储管芯中,如管芯0 302、管芯1 304和管芯N 306所示。在某些实施方案中,管芯可被分成平面。物理擦除块可使用两层级存储器架构来构造,并因此可由制造接头划分,诸如划分物理擦除块0 312的制造接头370、划分物理擦除块0 318的制造接头372和划分物理擦除块0 324的制造接头374。制造接头任一侧上的物理页面和逻辑页面可被分组为子块,诸如所示的子块0 376和子块1 378。 [0133] 本领域技术人员理解物理擦除块与逻辑擦除块之间的关系和差异,并且可通过使用缩略版本擦除块、块或存储块来指代一者或另一者或两者。根据对擦除块的引用的上下文,本领域技术人员理解物理擦除块或逻辑擦除块(或元块或超块)是否正被引用。本领域所用的概念和技术以及权利要求书中所述的那些概念和技术可同样应用于物理擦除块或逻辑擦除块。 [0134] 如本文所用,“物理”结构诸如物理页面、物理字线、物理擦除块、物理平面、物理存储器管芯等是指单个物理结构,控制器、管理器、模块或系统的其他逻辑部件可在设备、系统或装置的组织中的物理抽象的一个或多个级别内以一定级别控制该单个物理结构和/或与其通信。类似地,“逻辑”结构诸如逻辑页面、逻辑字线、逻辑擦除块、逻辑平面、逻辑存储器管芯等是指相同类型的两个或更多个单个物理结构的集合,控制器、管理器、模块或系统的其他逻辑部件可在设备、系统或装置的组织中的物理抽象的一个或多个级别内以一定级别控制该集合和/或与其通信。应当指出的是,“物理”结构和“逻辑”结构中的一者或另一者或两者可具有不同的地址,这些地址可用于识别相对于具有类似性质和类型的其他结构的一个“物理”结构或“逻辑”结构。“物理页面”是指可在单个操作中写入的给定存储器管芯和/或平面(诸如存储器管芯)内的最小物理单位或存储块。在某些实施方案中,物理页面包括字线,该字线是存储单元的存储器阵列中的行。 [0135] 逻辑擦除块诸如逻辑擦除块/元块0 308被进一步划分为多个逻辑页面(逻辑页面 330、逻辑页面332、逻辑页面334、逻辑页面336和逻辑页面338),该多个逻辑页面继而包括多个物理页面,诸如物理页面0 340、物理页面1 342、物理页面2 344、物理页面n-1 346、物理页面n 348、物理页面0 350、物理页面1 352、物理页面2 354、物理页面n-1 356、物理页面n 358、物理页面0 360、物理页面1 362、物理页面2 364、物理页面n-1 366和物理页面n 368。 [0136] 在一个实施方案中,物理页面表示可在给定时间写入的给定管芯内的最小存储块。在一个实施方案中,逻辑页面是由存储控制器支持的最小可写存储块。(在一个实施方案中,存储控制器可包括缓冲器,该缓冲器被配置为存储最多一个逻辑页面的数据;在填充缓冲器时,存储控制器可将缓冲器的内容同时写入单个逻辑页面。)在一些情况下,跨多个管芯划分逻辑页面可导致在并行访问多个管芯时数据集的访问时间更快。正如逻辑擦除块一样,逻辑页面配置可以映射到管芯上或跨多个存储器管芯的任何物理页面。 [0137] 在一些实施方案中,存储控制器(诸如图1所示的存储控制器104)可将元数据(也称为介质特性)与存储块(逻辑擦除块、物理擦除块、逻辑页面和/或物理页面、子块等)中的一者或多者相关联。“元数据”是指可用于促进非易失性存储设备的操作的系统数据。元数据与例如由应用程序产生的数据(即,“应用程序数据”)或将被操作系统视为“用户数据”的数据形式形成对比。 [0138] 例如,区或逻辑擦除块可包括元数据,该元数据指定但不限于使用统计值(例如,在该区或逻辑擦除块上执行的编程擦除循环的数量)、健康统计值(例如,指示从该区或逻辑擦除块读取损坏数据的频率的值)、安全性或访问控制参数、序列信息(例如,序列指示符)、持久性元数据标志(例如,指示包括在原子存储操作中)、事务标识符等。在一些实施方案中,区或逻辑擦除块包括标识区或逻辑擦除块存储数据的逻辑地址的元数据,以及区内每个逻辑块或扇区的所存储数据块/包的相应数量。 [0139] 在某些实施方案中,元数据包括区的交叉温度、非易失性存储设备的开放区的平均交叉温度、温度变化率、区的平均编程擦除计数、区的不可校正的误码率(UBER)、区的失效位计数和电荷泄漏率。 [0140] “介质特性”是指一组特定存储单元的属性或统计值,诸如该组存储单元的编程/擦除循环计数、该组存储单元的读取计数、自该组存储单元的前一次写入以来的保留时间(亦称数据保留时间)、该组存储单元(诸如逻辑或物理擦除块)的停留时间(例如,擦除块的编程与擦除块的擦除之间的时间)、该组存储单元的多个先前停留时间的平均值、该组存储单元的误差统计值等。 [0141] 一组存储单元的介质特性可以是基本上静态的,或者可以是动态的并随时间推移而改变。在一个实施方案中,介质特性是与非易失性存储器介质的属性相关联的统计的、启发式的、数学的模型、变换或其他描述符。 [0142] 在一个实施方案中,介质特性包括或涉及存储设备和/或非易失性存储器介质的品牌、型号、制造商、产品版本等。在另一个实施方案中,介质特性可包括或涉及存储设备和/或非易失性存储器介质的环境条件或用途,诸如温度、用例(例如,高速缓存用例、存档用例、服务器用例、企业用例、消费者用例等)等。 [0143] 存储控制器可管理识别逻辑擦除块存储数据的逻辑地址的元数据,以及逻辑地址空间内每个逻辑擦除块、数据块或扇区的存储数据包的相应数量。“逻辑地址空间”是指存储器资源的逻辑表示。逻辑地址空间可包括多个(例如,一定范围内的)逻辑地址。存储控制器可将元数据或介质特性数据存储在多个位置中,包括非易失性存储器介质上、易失性存储器中、与每个逻辑擦除块一起存储的结构中等。 [0144] 图4是描绘NAND串400的电路图,该NAND串包括漏极侧选择门402、源极侧选择门 404以及由其源极端子和漏极端子形成菊花链的一系列或一组存储器单元406(例如,n=4、 8、16或更高)。“NAND串”是指包括多个存储器单元的电路。NAND串包括被配置为由每个存储器单元的源极电极和漏极电极形成菊花链的晶体管(例如,n=4、8、16或更高)的一系列存储器单元。至少一对选择晶体管(例如,选择门)通过NAND串的漏极电极将存储器晶体管链、NAND串连接到偏置源,并且通过NAND串的源极电极将存储器晶体管链、NAND串连接到接地源。 [0145] 虽然为了简单起见在NAND串400中示出了10个存储器单元,但是一些NAND串可以包括任何数量的存储器单元(例如,三十二、六十四或更多)。存储器单元406可从漏极侧408链接到源极侧410。在漏极侧408上,NAND串400可连接到位线412。在源极侧410上,NAND串 400可连接到源极线414。使用NAND结构的存储器阵列的架构可包括大量NAND串。 [0146] 一个或多个漏极侧选择晶体管(漏极侧选择门402)通过NAND串的漏极端子将存储器晶体管链连接到偏置,并且通过源极端子将存储器晶体管链连接到接地源。 [0147] 在存储器阵列中,当源极侧选择门404接通时,源极端子耦接到源极线414。类似地,当源极侧选择门404导通时,NAND串的漏极端子耦接到存储器阵列的位线412。源极控制线416(SGS和SGSB)可用于控制源极侧选择门404(晶体管)。在一个实施方案中,NAND串400通过漏极侧选择门402连接到其位线412,如图所示。漏极侧选择门402可由漏极控制线418(SGD)控制。在一些实施方案中,源极控制线416和漏极控制线418(统称为控制线)可能不一定在NAND串之间共同配置;也就是说,可针对不同的NAND串提供不同的控制线。 [0148] 存储器单元406可以是包含控制栅极和电荷俘获层的晶体管。每个存储器晶体管的控制栅极可允许控制读取和写入操作。电荷俘获层可以包括电荷存储元件以存储给定量的电荷,以便表示预期的存储器状态。“存储器状态”是指被设计和/或配置为表示对一个或多个数据位值的编码的存储器单元的状况。在某些实施方案中,可通过使用存储操作来改变存储器状态。在非易失性存储器单元中,存储器单元在没有电源的情况下保持其存储器状态。一行存储器阵列的对应存储器晶体管的控制栅极(每个NAND串一个)全部连接到相同的字线。类似地,选择晶体管中的每个选择晶体管的控制栅极分别经由其源极端子和漏极端子提供对NAND串的受控访问。 [0149] 当NAND串内的寻址的存储器单元(例如,存储器单元406)在编程期间被读取或验证时,其控制栅极被提供有适当的电压,也被称为参考电压或读取电压。“读取电压”是指被配置为测试或检查哪些存储器单元在该电压电平下导通的电压电平。在某些实施方案中,存储器单元可包括晶体管,并且读取电压是处于或高于存储器单元的使得存储器单元传导电流的阈值电压的电压电平。 [0150] 在某些实施方案中,取决于用于将数据存储在存储器单元上的编码类型和在每个存储器单元上编码的位数,使用单个读取电压的单个读取/感测操作可以确定存储器单元的存储器状态。在其他实施方案中,可使用各自在不同读取电压电平下执行的多个读取/感测操作来确定存储器单元的存储器状态。然后可将所确定的存储器状态解码成由存储器单元存储的数据位的表示。“读取电压”是对“读取阈值电压”的简写引用。“读取电平”是常用于描述“读取电压”的另一个术语,并且这两个术语在本文中可互换使用。 [0151] 同时,NAND串400中的未寻址的存储器单元的其余部分通过在其控制栅极上施加足够的电压(也称为通过电压)而完全导通。以这种方式,有效地形成从单独存储器单元的源极到NAND串400的源极端子(例如,源极线414)的导电路径,并且同样形成从单独存储器单元的漏极到存储器单元的漏极端子(例如,位线412)的导电路径。该导电路径可以行进通过NAND串的一个或多个结构并且在本文中被称为沟道420。在物理存储器管芯上,沟道420从NAND串400的源极侧410延伸到漏极侧408。 [0152] “通过电压”是指被配置为激活(导致导通)存储器单元的电压电平,而不管存储/保持在存储器单元上的存储器状态如何。通过电压被设置为足够高的电压,使得当通过电压被提供给实现为晶体管的存储器单元的栅极时,具有高阈值电压(例如,大于6伏)的存储器单元将激活/导通。 [0153] 在某些实施方案中,通过电压的目的是在感测放大器与源极线之间形成传导路径,该感测放大器在包括存储器单元的NAND串(也称为沟道)的一端处连接到位线,该源极线在NAND串的另一端处连接。传导路径可能是期望的,使得可以对沿着NAND串耦接到选定字线的存储器单元进行读取、感测或编程。在一个实施方案中,向未选定字线提供通过电压,使得可以在选定字线的存储器单元上执行存储操作。在某些实施方案中,通过电压不用于读取存储器单元的存储器状态。 [0154] 如图所示,字线422WL0至WLn中的每个(其中WLn是最靠近漏极侧选择门402的字线)包括一个或多个存储器单元406。存储器阵列中的每条位线412和相应NAND串400可以包括NAND串400的列、存储块、擦除块等。这些列也可称为沟道。在一些实施方案中,字线 422WL0至WLn包括NAND串400的行、存储块、擦除块等。在一些实施方案中,每个字线WL0至WLn将每个存储器单元406的控制栅极连接成一行。另选地,控制栅极可由字线422WL0至WLn本身提供。在一些实施方案中,字线可包括数十、数百、数千、数百万等的存储器单元406。在某些实施方案中,字线422WL0至WLn可以包括制造接头,诸如定位在字线422WL0至WLn之间中间的制造接头370。 [0155] 在存储器阵列中,字线可以被组织或架构化以有利于以顺序次序使用,使得存储器阵列被有效使用。“顺序次序”是指被布置成以特定顺序完成的一组步骤、操作、子步骤或事件。 [0156] 相同或不同的顺序可用于任何存储操作。例如,在一个实施方案中,存储器阵列的字线可以顺序次序编程,从最靠近源极线的字线开始,并且随着每个相邻的未编程字线朝向最靠近选择门漏极和/或位线的字线顺序前进。在另一个示例中,在一个实施方案中,存储器阵列的字线可以从最靠近选择门漏极和/或位线的字线开始以顺序次序编程,并且随着每个相邻的未编程字线朝向最靠近源极线和/或源极选择门的字线顺序地前进。在其他示例中,用于选择在最后编程字线之后将哪个字线编程的顺序可以遵循除顺序之外的模式。 [0157] 在存储器阵列中,耦接效应可能对存储器阵列的各种结构和/或电路部件(包括存储器单元、NAND串沟道、选择门等)造成不期望的效应。“耦接效应”是指两个电路、电路的部分、电路系统或其他电子部件(包括半导体)之间的偏置、电势、电压和/或电磁场的变化。因此,耦接效应在本文中可至少部分地由于这些不期望的效应而被称为干扰的类型。取决于效应发生的时间和/或方式,耦接效应也可被称为编程干扰、程序干扰或读取干扰。“程序干扰”是指在编程存储操作和/或编程存储操作的阶段期间、之后或作为编程存储操作和/或编程存储操作的阶段的结果而产生的电子干扰和/或磁干扰的类型。 [0158] 耦接效应可以影响用于管理NAND串的沟道内的偏置电平的选择门。例如,由于控制线中的信号所产生的电磁场的影响,耦接到选择门的一条或多条控制线上的偏置可在沟道内的电压电平上引入足够强的电势,使得沟道的电压向上耦接(或向下耦接,这取决于偏置的符号)。 [0159] 这样,本文要求保护的设备可以包括管芯控制器,该管芯控制器被配置为通过对从多个漏极侧虚设字线424朝向源极侧虚设字线426前进的顺序中的每个字线进行编程来对三维存储器阵列的字线进行编程。“虚设字线”是指存储器阵列内被配置为像在存储器单元中存储数据的字线那样的结构,然而虚设字线通常不用于存储数据,而是在存储器阵列内被定位、控制和管理,以补偿、抑制或缓冲电干扰,或者来自定位在虚设虚设字线周围的电路的干扰。在一个实施方案中,虚设字线包括定位在虚设字线和NAND串的交汇处的一组存储器单元,每个存储器单元通过虚设字线选择门耦接到虚设字线。在虚设字线上发送的控制信号可以具有等于或高于虚设字线选择门的阈值电压的电压,使得虚设字线选择门被激活,这可以使得偏置或电流能够在NAND串的沟道内并且在存储器单元的源极端子和漏极端子之间通过。这样,虚设字线可以用作控制线。 [0160] 在一个实施方案中,每个存储器单元被配置为存储数据。例如,当存储一个位的数字数据时,每个存储器单元的可能阈值电压(“Vt”)的范围可分成两个范围,这两个范围被分配逻辑数据“1”和“0”。如本文所用,阈值电压是指施加到存储器单元栅极的足以致使存储器单元激活的电压的量值。在其中存储器单元是NAND晶体管的实施方案中,阈值电压是施加到晶体管的栅极端子的致使晶体管在其源极端子和漏极端子之间传导电流的足够电压。在NAND类型闪存存储器的一个示例中,Vt在存储器单元被擦除之后可能为负并被定义为逻辑“1”。在一个实施方案中,编程操作之后的Vt为正并被定义为逻辑“0”。 [0161] 在一些实施方案中,当Vt为负并且尝试读取时,存储器单元将接通以指示逻辑“1”正被存储。在又一个实施方案中,当Vt为正并且尝试读取操作时,存储器单元将不接通,这指示逻辑“0”被存储。每个存储器单元还可存储多个级别的信息,例如,多个位的数字数据。 在此实施方案中,Vt的范围被划分为数据的级别的数量。例如,如果可在每个存储器单元中存储四级信息,则将存在分配给数据值“11”、“10”、“01”和“00”的四个Vt范围。 [0162] 在NAND类型存储器的一个示例中,擦除操作之后的Vt可为负并被定义为“11”。正Vt值可用于“10”、“01”和“00”的状态。在一个实施方案中,被编程到存储器单元中的数据与存储器单元的阈值电压范围之间的具体关系取决于该存储器单元所采用的数据编码方案。 [0163] 图5示出了根据一个实施方案的具有子块0 502和子块1 504的存储器阵列500。存储器阵列500可以包括多个NAND串组506。NAND串组506可以包括延伸到三维存储器阵列的页面中的NAND串的分组。NAND串组506中的每个NAND串可以实现多个字线和虚设字线,诸如布置在制造接头512的任一侧上的下部字线508和上部字线510。 [0164] 当在子块模式下使用时,存储器阵列结构诸如本文所示的存储器阵列结构可在制造接头512的任一侧上被分成两个姊妹子块,诸如如图所示的子块0 502和子块1 504。在其他存储器架构中,取决于所使用的存储器管芯的结构和能力,可以实现两个以上的姊妹子块。 [0165] “姊妹子块”是指同一物理擦除块内的两个或更多个子块中的一个。在某些实施方案中,子块及其姊妹子块一起可在结构上与包括它们的单个物理擦除块没有不同。在此类实施方案中,管芯控制器可通过管芯控制器如何管理耦接到包括姊妹子块的物理擦除块的控制线来对每个姊妹子块执行独立的存储操作。在某些实施方案中,管芯控制器可通过为物理擦除块定义的配置设置来管理耦接到包括姊妹子块的物理擦除块的控制线。 [0166] “配置设置”是指可通过接口修改的一组存储单元的参数。配置设置的示例包括但不限于读取阈值或读取电平、写入或编程阈值、擦除阈值、用于编程的多次编程脉冲迭代、编程脉冲之间的步长设置、编程脉冲持续时间、通过电压电平、选择门电压电平、擦除电压电平、擦除脉冲持续时间、擦除操作方法、存储单元是存储一位还是一位以上等。在某些实施方案中,配置设置可被称为“修整”参数。这些修整参数可包括由存储控制器进行的设置和调整,以考虑由于工艺变化、电压电平差异和温差(PVT)引起的存储单元组的差异。 [0167] 在某些实施方案中,配置设置包括用于存储单元的非易失性存储器阵列的一条或多条控制线的一个或多个源极选择门、漏极选择门、未选定字线、选定字线、源极线、位线等的电压电平和定时设置。 [0168] 用于修改配置设置的接口可包括可编程数据寄存器、存储器位置、用于非易失性存储器阵列的控制总线的命令接口、存储设备的设备驱动程序的API、用于存储控制器的控制参数等。 [0169] 在某些实施方案中,在独立于子块1 504的操作子块0 502之前设置用于存储器阵列500的配置设置。另选地,配置设置可被设置为将子块0 502和子块1 504视为单个物理擦除块或逻辑擦除块。在某些实施方案中,存储器阵列500可以包括数据字线任一侧上的一条或两条虚设字线,诸如源极侧上的DWLS 0和DWLS1、漏极侧上的DWLD 0和DWLD1、制造接头 512下侧上的虚设字线DWLL和制造接头512上侧上的虚设字线DWLU。 [0170] 图6示出了根据一个实施方案的系统600。该系统包括本文所公开的解决方案的功能,包括存储设备102、存储控制器104和一组存储器管芯106。存储控制器104可包括写入数据流水线602、读取数据流水线604、流管理器606、控制电路608、块分配管理器610和开放块管理器612。 [0171] 存储设备102、存储控制器104和存储器管芯106可以有效地起作用,如前所述。存储器管芯106可被布置成具有至少一行和至少两列的阵列。为了实现本发明所公开的解决方案,存储控制器104可以接受来自主机的写入命令614,并且通过实现详细描述的逻辑以本文所公开的方式处理那些写入命令。存储器管芯106可被分成逻辑擦除块组,每个逻辑擦除块包括来自非易失性存储器阵列的行的每个存储器管芯的物理擦除块。形成逻辑擦除块的每个物理擦除块可以包括两个姊妹子块,如图5所示。 [0172] 存储控制器104可包括写入数据流水线602和读取数据流水线604,该写入数据流水线用于接收写入命令614并将数据(系统和用户两者)写入固态存储装置(例如,存储设备 102),该读取数据流水线用于检索存储在固态存储装置(例如,存储设备102)上的数据(系统和/或用户)。写入数据流水线602可包括打包器,该打包器接收要写入固态存储装置的数据(也称为数据段),并创建大小适于固态存储装置的一个或多个数据包。每个数据包可包括标头和来自数据段的数据。写入数据流水线602可包括ECC生成器,该ECC生成器为在将数据包写入固态存储之前从打包器接收的一个或多个数据包生成一个或多个ECC码字。写入数据流水线602可在本发明所公开的解决方案中接收写入命令614,该写入命令包括逻辑块地址并且可被配置为在子块模式下将写入命令614的数据写入一组逻辑擦除块中。 [0173] 读取数据流水线604可包括ECC解码器,该ECC解码器将从固态存储装置检索的一个或多个ECC码字转换成一个或多个数据包,并校正和/或识别解码的数据中的错误。读取数据流水线604可以包括解包器,该解包器从ECC解码器接收解码的数据(该数据也可以被错误校正),并将一个或多个数据包转换成可用于服务读取命令的数据(用户或系统)。 [0174] 流管理器606跟踪或监控由存储设备102接收的写入命令614,以便确定关于存储设备102正在处置的工作负载的信息。“流”是指具有公共工作负载属性的一组输入/输出(I/O)存储命令和相关联的数据。例如,在工作负载属性为IO存储命令用于顺序工作负载类型的情况下,与顺序工作负载类型相关联的流可被称为顺序流。在工作负载属性是IO存储命令用于随机工作负载类型的情况下,与随机工作负载类型相关联的流可被称为随机流。 [0175] “工作负载属性”是指关于工作负载的任何质量、特性、属性、特征、行为、性状或性质。工作负载属性可例如由存储客户端明确地识别和定义。另选地,可暗示并可基于其他信息导出工作负载属性。工作负载属性的示例包括但不限于更新/访问频率,是否根据顺序上升、顺序下降或随机识别的LBA、LBA参考群集或其他类似属性来访问存储命令中访问的数据。 [0176] “工作负载类型”是指存储控制器正从主机接收的存储命令的类型的指定。基于包括服务质量和在排序存储命令的序列中接收的逻辑块地址的排序的各种量度,可存在各种工作负载类型。工作负载类型的示例包括顺序工作负载类型和随机工作负载类型。 [0177] 除了写入命令614之外,存储设备102还可以处置其他存储命令。如本文所用,存储命令包括读取命令、写入命令、维护命令、诊断命令、测试模式命令和存储控制器104可接收的任何其他命令。如本文所用,“工作负载”是由存储设备102接收和/或服务的写入命令614的数量和类型,以及由服务那些写入命令614所产生的一个或多个成果或结果。工作负载还可包括关于写入命令614的任何统计值。在一个实施方案中,流管理器606保持关于写入命令614的统计值,包括但不限于在特定时间段内已经接收到多少写入命令、多少写入命令成功、多少写入命令失败等。 [0178] 当流管理器606监控写入命令614(连同其他存储命令,也称为输入IO事务)时,流管理器606跟踪定义、描述或表征工作负载的一个或多个工作负载属性。如本文所用,“工作负载属性”是关于工作负载的任何质量、特性、属性、特征、行为、性状或性质。工作负载属性可例如由存储客户端明确地识别和定义。另选地,可暗示并可基于其他信息导出工作负载属性。 [0179] 在一个实施方案中,流管理器606查看或分析一个或多个工作负载属性,并且确定基于工作负载属性的存储命令之间的模式、相似性、关系和/或共性。在某些实施方案中,这些模式、相似性、关系和/或共性被称为提示,并且可用于改善存储设备102的性能。在某些实施方案中,流管理器606确定或导出存储命令之间的关系。关系是第一组存储命令关于第二组存储命令的工作负载属性之间的任何连接或相关联。在某些实施方案中,该关系是明确的并且基于对工作负载属性的查看来确定。在其他实施方案中,该关系是隐式的并且基于对工作负载属性的查看而导出。 [0180] 本公开的系统中的流管理器606可确定一组写入命令614的工作负载类型属性。为此,流管理器606可在写入命令614从主机依次接收时监控写入命令614。流管理器606然后可以将传入写入命令614的逻辑块地址与先前写入命令614的逻辑块地址进行比较。当顺序写入命令614的逻辑块地址在到达时处于顺序次序时,可确定顺序工作负载类型。“顺序工作负载类型”是指用于所接收的存储命令的一组逻辑块地址(LBA),使得所接收的每个存储命令以顺序次序引用下一个LBA。 [0181] 存储控制器104的控制电路608可包括垃圾收集器616。存储器管芯106的每个逻辑擦除块可以被配置为在子块模式下存储数据,并且因此可以包括至少两个姊妹子块。垃圾收集器616可以合并来自一个姊妹子块的有效数据,并将有效数据移动到另一个存储块。在一个姊妹子块上的垃圾收集操作期间,对应的姊妹子块中的数据可以保持在对应的姊妹子块中并且可以不受影响。 [0182] 块分配管理器610与流管理器606和开放块管理器612协调以确定用于在存储器管芯106上写入数据的物理位置。“块分配管理器”是指被配置、编程、设计、布置或工程化为确定在非易失性存储设备内何处存储数据的任何硬件、软件、固件、电路、部件、模块、逻辑、设备或装置。在某些实施方案中,块分配管理器确定哪个存储块用于传入的写入数据。 [0183] 块分配管理器610可重新配置一组逻辑擦除块中的一个逻辑擦除块以用于全块模式下的存储操作。为此,块分配管理器610可将配置命令诸如全块模式命令发送到包括逻辑擦除块的存储器管芯106。“配置命令”是指引导存储设备、存储控制器、管芯控制器等改变一个或多个配置设置的存储命令的类型。“全块模式命令”是指使得管芯控制器操作存储块作为全逻辑擦除块的配置命令的类型,其中逻辑擦除块由来自两个或更多个存储器平面的两个或更多个物理擦除块和/或存储器管芯组成。全块模式命令是与子块模式命令相反的命令,该子块模式命令是使管芯控制器操作存储块作为一起跨越两个或更多个存储器平面的一组子块和/或存储器管芯的配置命令的类型。形成每个存储块的子块是物理擦除块的逻辑划分。 [0184] 块分配管理器610可将具有顺序工作负载类型的写入命令614引导到重新配置的逻辑擦除块。块分配管理器610可指示写入数据流水线602在全块模式下将数据写入重新配置的逻辑擦除块。在全块模式下操作逻辑擦除块意味着逻辑擦除块的每个存储器管芯的两个姊妹子块被用作单个物理擦除块。块分配管理器610可引导写入数据流水线602在全块模式下将数据写入逻辑擦除块,直到流管理器606确定/检测到具有随机工作负载类型的写入命令。“随机工作负载类型”是指用于所接收的存储命令的一组逻辑块地址(LBA),使得所接收的每个存储命令以随机次序、伪随机次序或除顺序次序之外的次序引用下一个LBA。 [0185] 当确定随机工作负载类型时,目标存储块的两个或更多个存储器管芯的配置设置可从全块模式配置设置改变为子块模式子块模式配置设置。应当注意,改变配置设置是影响存储器管芯的所有存储块的操作。利用本发明所公开的解决方案,某些存储块可在全块模式下配置和使用,而同一存储器管芯上的其他存储块可在子块模式下配置和使用。 [0186] “目标存储块”是指选定、选择、指定或识别以用于写入数据的一组一个或两个元块。在一个实施方案中,目标存储块包括由来自存储器阵列的两个或更多个平面和/或存储器管芯的子块组成的单个元块。在另一个实施方案中,目标存储块包括由来自存储器阵列的两个或更多个平面和/或存储器管芯的单个物理擦除块的姊妹子块组成的两个元块。在又一个实施方案中,目标存储块包括单个元块或跨越存储器阵列的两个或更多个平面和/或存储器管芯的两个元块(一对元块)。因此,取决于如何使用目标存储块(全块模式或子块模式),目标存储块包括来自存储器阵列的每个存储器管芯的单个姊妹子块或来自存储器阵列的每个存储器管芯的一对相邻姊妹子块。 [0187] “全块模式配置设置”是指被配置、设计、调整和/或设置为使得擦除块(物理擦除块和/或逻辑擦除块两者)上的存储操作能够使用擦除块作为全块的配置设置,一个全块不具有/不包括子块。“子块模式配置设置”是指被配置、设计和/或设置为在擦除块的子块(物理擦除块和/或逻辑擦除块两者)上启用存储操作的配置设置。 [0188] 为了实现本发明所公开的解决方案,块分配管理器610可以结合关于图9进一步详细描述的元块跟踪表618。元块跟踪表618可用于基于由流管理器606确定的工作负载类型来注册用于传入写入数据的目标存储块。当流管理器606确定工作负载是顺序工作负载类型时,块分配管理器610可以从自由元块池622选择自由元块620以用作目标存储块。“自由元块”是指未用于存储有效数据并且可用于存储当前或未来写入命令的数据的元块。“自由元块池”是指被识别、准备和/或指定由存储控制器使用的一组自由元块。 [0189] 目标存储块的存储器管芯106的配置设置可以被设置为指示存储器管芯106的哪些部分将在全块模式下操作。在一个实施方案中,默认配置设置可以指示存储器管芯106将在子块模式下操作,并且可以在需要全块时更新这些设置。可以在全块模式下擦除目标存储块以使其准备接收数据,然后在元块跟踪表618中注册为全存储块。“全存储块”是指被配置为作为单个单位编程和/或擦除的一对元块。在一个实施方案中,全存储块包括由来自存储器阵列的两个或更多个平面和/或存储器管芯的单个物理擦除块的姊妹子块组成的两个元块。在元块跟踪表618中注册目标存储块可以包括更新元块跟踪表618以将目标存储块识别为全存储块,并且将目标存储块管理为全存储块,直到在接收到用于该组写入命令的数据之后,目标存储块被擦除。在一个实施方案中,块分配管理器610指示开放块管理器612在哪里存储当前开放擦除块内的写入数据。 [0190] 开放块管理器612管理跨越存储器管芯106的哪些元块是开放元块624,哪些元块是封闭元块626,以及哪些元块是自由元块620。“开放元块”是指被配置为接收用于一个或多个写入命令的数据块的元块。通常,开放元块包括用于一个或多个附加数据块的存储空间。在某些实施方案中,开放元块可以与特定数据集诸如流相关联。 [0191] 开放块管理器612保持跟踪每个存储器管芯106内的物理地址,其中可以将后续页面(物理或逻辑)写入该特定开放元块624,并且在将数据写入开放元块624时推进跟踪该物理地址的指针。开放块管理器612确定开放元块624何时将变得充满,关闭开放元块624以形成关闭的元块626,将自由元块620转换为开放元块624,并且与存储控制器104的其他部件协调以确保足够的自由元块620可用。开放块管理器612还可被配置为在全块模式下管理重新配置的逻辑擦除块。 [0192] 图7示出了根据一个实施方案的存储控制器700。存储控制器700包括流管理器电路702、元块管理电路704、模式电路706、跟踪电路708和读取/写入电路710。 [0193] 流管理器电路702可被配置为监控写入命令。由此,流管理器电路702可确定其监控的一组写入命令与顺序工作负载类型相关。在一个实施方案中,流管理器电路702还可被配置为确定写入命令与随机工作负载类型而不是顺序工作负载类型相关。 [0194] 元块管理电路704可被配置为指定自由元块以接收用于一组写入命令的数据。元块管理电路704还可被配置为在全块模式下擦除如此指定的自由元块。在全块模式下擦除自由元块意味着在单个擦除操作中擦除自由元块的两个姊妹子块。该擦除操作是单独擦除自由元块的每个姊妹子块的两倍快,例如,其中自由元块在子块模式下使用。元块管理电路 704还可以被配置为指定第二自由元块以接收用于第二组写入命令的数据。然后,元块管理电路704可在子块模式下擦除第二自由元块。自由元块可以包括多个存储器管芯的子部分。 [0195] 存储器管芯可并联耦接到接口总线,如图1所示。模式电路706可以向存储器管芯发送包括自由元块的部分的全块模式命令或子块模式命令。“子块模式命令”是指使得管芯控制器操作存储块作为一起跨越两个或更多个存储器平面的一组子块和/或存储器管芯的配置命令的类型。形成每个存储块的子块是物理擦除块的逻辑划分。子块模式命令是与全块模式命令相反的命令,该全块模式命令是使管芯控制器操作存储块作为全逻辑擦除块的配置命令的类型,其中逻辑擦除块由来自两个或更多个存储器平面的两个或更多个物理擦除块和/或存储器管芯组成。 [0196] 子块模式命令可被配置为将存储器管芯配置设置从全块模式改变为子块模式设置。全块模式命令可被配置为将存储器管芯设置从子块模式或一些其他默认模式改变。在一些实施方案中,子块模式可以是用于多个存储器管芯中的全部或一些的默认模式。在一个实施方案中,模式电路706可专门地响应于用于后续监控到的多组写入命令的工作负载类型的变化而发出全块模式命令或子块模式命令。 [0197] 跟踪电路708可以将自由元块与被配置为包括自由元块的一部分的存储器管芯中的每个存储器管芯上的一对姊妹子块相关联。第一自由元块和第二自由元块可以各自分别与第一对姊妹子块和第二对姊妹子块相关联。每对姊妹子块可以与特定物理擦除块相关联,如图3和图5所示。 [0198] 读取/写入电路710可被配置为在接收到与顺序工作负载类型相关的一组写入命令时,在全块模式下将数据写入自由元块。读取/写入电路710可以响应于与随机工作负载类型相关的第二组写入命令,在子块模式下将数据写入第二自由元块。 [0199] 图8示出了根据一个实施方案的存储控制器800。存储控制器800包括流管理器电路802、元块管理电路804、模式电路806、跟踪电路808、读取/写入电路810和易失性存储器 812。流管理器电路802、元块管理电路804、模式电路806、跟踪电路808和读取/写入电路810可以与图7所示的存储控制器700的类似元件相似的方式操作。“易失性存储器”是指易失性存储器介质的缩略名称。在某些实施方案中,易失性存储器是指易失性存储器介质和逻辑、控制器、一个或多个处理器、一个或多个状态机和/或管理易失性存储器介质并提供对易失性存储器介质的访问的其他外围电路。 [0200] 易失性存储器812可存储配置设置814,包括全块模式配置设置816和子块模式配置设置818。配置设置814可被发送到存储器管芯以改变配置设置。 [0201] 另选地或在另一个实施方案中,多个存储器管芯(未示出)可将全块模式配置设置 816和子块模式配置设置818存储在管芯控制器(诸如图2所示的管芯控制器204)上的易失性存储器812内。由模式电路806发出的全块模式命令可以被配置为使得多个存储器管芯中的每个存储器管芯的管芯控制器针对全块模式配置设置交换该管芯的子块模式配置设置。 子块模式命令可以被配置为对所涉及的存储器管芯执行相反的操作。在配置设置814存储在管芯控制器的易失性存储器中的情况下,可以快速地从子块模式配置设置818改变为全块模式配置设置816。 [0202] 图9示出了根据一个实施方案的元块跟踪表900。“元块跟踪表”是指用于维护关于元块的元数据的数据结构。元块跟踪表中的元数据的示例包括元块的编程和擦除操作的数量、元块是要在子块模式还是全块模式下使用、元块是自由元块还是不可用的元块、元块的数据的写入温度等。 [0203] 除了常规地址映射表之外,还可以实现元块跟踪表900。“地址映射表”是指将逻辑块地址与非易失性存储器阵列上存储的数据的物理地址相关联的数据结构。该表可被实现为索引、映射、b树、内容可寻址存储器(CAM)、二叉树和/或散列表等。地址映射表可被可互换地称为组分配表(GAT)。 [0204] 元块跟踪表900可以结合关于哪些元块或逻辑擦除块由物理存储器管芯的哪些部分组成、元块/逻辑擦除块可以在什么模式下操作以及哪些元块/逻辑擦除块可用的信息。 在所示的元块跟踪表900中,后接数字的“MB”可以用于指定特定的元块或存储块或逻辑擦除块。标记为“块模式”的列指示正在使用元块的模式。该列中的“1”指示元块正在全块模式(FBM)下使用。该列中的“0”指示元块正在子块模式(SBM)下使用。可以存储在元块跟踪表 900中的某些其他元数据,诸如上一次将数据写入元块时的温度(写入温度902)、元块已被编程和擦除的次数(PE计数904)等。 [0205] 存储控制器内的块分配管理器可以参考元块跟踪表900以确定一组逻辑擦除块/元块/存储块中的哪些是可用逻辑擦除块/可用元块906,诸如在“块可用性”下标记为“1”的那些,如图所示。当可用逻辑擦除块/可用元块906包括物理擦除块时,可用逻辑擦除块/可用元块906可以被指定为在全块模式下从具有顺序工作负载类型的写入命令接收数据,每个物理擦除块包括两个姊妹子块910。可用逻辑擦除块/可用元块906MB8可以被指定用于全块模式,因为MB9中的对应潜在姊妹子块被标记为可用。一旦指定了全存储块908,其可以由其第一指定符指代,诸如用于所示的全存储块908的MB0和MB6。第二指定符(例如,MB1和MB7)可以不被使用,因为在全块模式下,它们的子块可能无法与它们的姊妹子块分开访问。 [0206] 在所示的示例中,可用逻辑擦除块/可用元块906MB2和MB5可以不用于顺序工作负载类型写入命令的全块模式,因为它们的姊妹子块(分别为MB3和MB4)是不可用的逻辑擦除块/元块。 [0207] 在一个实施方案中,可以确定顺序工作负载类型,但是自由元块池可以不包括在对应的存储器管芯上共享公共物理擦除块的一对子块。在此情况下,可以选择诸如MB2的自由元块作为目标存储块。配置该目标存储块然后可包括将目标存储块的两个或更多个存储器管芯的设置保持为子块模式配置设置。可在子块模式下擦除目标存储块并注册以供在子块模式下使用。一旦目标存储块已被改变,用于目标存储块的设置就可能不会自动恢复到默认值。相反,这些设置可针对特定工作负载类型保持设置,直到检测到不同工作负载类型。 [0208] 图10示出了用于子块的动态分配的例程1000。本文所公开的系统和装置可被配置为通过该例程1000来实现本发明所公开的方法。 [0209] 在框1002中,存储控制器可以接收用于包括多个存储器管芯的非易失性存储器阵列的一组写入命令。存储器管芯可以被组织成元块,这些元块被配置为跨越多个存储器管芯中的两个或更多个存储器管芯。 [0210] 在框1004中,存储控制器可确定用于该组写入命令的工作负载类型。如果一组写入命令各自引用以顺序次序进展的逻辑块地址,则存储控制器可确定该组写入命令具有顺序工作负载类型。如果所引用的逻辑块地址未按顺序次序到达,则可确定该组具有随机工作负载类型。 [0211] 在框1006中,存储控制器可基于工作负载类型选择目标存储块以接收该组写入命令。在存储块被默认配置为在子块模式下操作的实施方案中,并且只要接收到随机工作负载类型的命令,就可以将目标存储块分配给一组可用逻辑擦除块或自由元块中的任一个。 当接收到顺序工作负载类型的命令时,存储控制器可尝试定位适用于全块模式的可用逻辑擦除块,并且在可能的情况下将这些可用逻辑擦除块指定为目标存储块。 [0212] 一旦在框1006中确定了目标存储块,就可在框1008中配置目标存储块以接收在框 1004中检测到的工作负载类型的数据块。目标存储块可被配置为在全块模式下操作以接收顺序工作负载类型的数据块。目标存储块可保持在子块模式下或被重新配置用于在子块模式下操作以接收随机工作负载类型的数据块。 [0213] 在框1010中,一旦目标存储块被配置,存储控制器就可以将该组写入命令引导到目标存储块。目标存储块可被配置为使得与该组写入命令相关联的未来写入命令被存储在目标存储块中,直到检测到工作负载类型的变化、目标存储块变得充满,或者一些其他事件触发指定不同目标存储块的需要。 [0214] 图11是可以结合本解决方案的实施方案的计算设备1100的示例框图。图11仅示出了执行本文所述的技术过程各方面的机器系统,并且不限制权利要求书的范围。本领域的普通技术人员将认识到其他变型、修改和替代。在某些实施方案中,计算设备1100包括数据处理系统1102、通信网络1104、通信网络接口1106、一个或多个输入设备1108、一个或多个输出设备1110等。 [0215] 如图11所描绘,数据处理系统1102可包括一个或多个处理器1112和存储子系统 1114。一个或多个处理器1112经由总线子系统1116与多个外围设备进行通信。这些外围设备可包括一个或多个输入设备1108、一个或多个输出设备1110、通信网络接口1106和存储子系统1114。在一个实施方案中,存储子系统1114包括一个或多个存储设备和/或一个或多个存储器设备。 [0216] 在一个实施方案中,存储子系统1114包括易失性存储器1118和非易失性存储器 1120。易失性存储器1118和/或非易失性存储器1120可以存储计算机可执行的指令,该指令单独或一起形成逻辑1122,该逻辑在被应用于一个或多个处理器1112并且由该一个或多个处理器执行时,实现本文所公开的过程的实施方案。 [0217] 一个或多个输入设备1108包括用于将信息输入到数据处理系统1102的设备和机制。这些可以包括键盘、小键盘、结合到图形用户界面中的触摸屏、诸如语音识别系统、麦克风的音频输入设备以及其他类型的输入设备。在各种实施方案中,一个或多个输入设备 1108可以体现为计算机鼠标、轨迹球、触控板、操纵杆、无线遥控器、绘图板、语音命令系统、眼睛跟踪系统等。一个或多个输入设备1108通常允许用户经由诸如单击按钮等的命令来选择出现在图形用户界面上的对象、图标、控制区域、文本等。 [0218] 一个或多个输出设备1110包括用于从数据处理系统1102输出信息的设备和机制。 这些可以包括本领域公知的图形用户界面、扬声器、打印机、红外LED等。在某些实施方案中,图形用户界面通过有线连接直接耦接到总线子系统1116。在其他实施方案中,图形用户界面通过通信网络接口1106耦接到数据处理系统1102。例如,图形用户界面可包括单独计算设备1100诸如台式计算机、服务器或移动设备上的命令行界面。 [0219] 通信网络接口1106提供到通信网络(例如,通信网络1104)和数据处理系统1102外部的设备的接口。通信网络接口1106可以用作用于从其他系统接收数据并且向其他系统传输数据的接口。通信网络接口1106的实施方案可以包括以太网接口、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字订户线路(DSL)、火线、USB、诸如蓝牙或WiFi的无线通信接口、近场通信无线接口、蜂窝接口等。 [0220] 通信网络接口1106可以经由天线、电缆等耦接到通信网络1104。在一些实施方案中,通信网络接口1106可以物理地集成在数据处理系统1102的电路板上,或者在一些情况下可以在诸如“软调制解调器”等的软件或固件中实现。“固件”是指体现为存储在易失性存储器介质和/或非易失性存储器介质上的处理器可执行指令的逻辑。 [0221] 计算设备1100可以包括使得使用诸如HTTP、TCP/IP、RTP/RTSP、IPX、UDP等的协议通过网络能够通信的逻辑。 [0222] 易失性存储器1118和非易失性存储器1120是被配置为存储计算机可读数据和指令以实现本文所述的过程的各种实施方案的有形介质的示例。其他类型的有形介质包括可移除存储器(例如,可插拔USB存储器设备、移动设备SIM卡)、光学存储介质诸如CD-ROM、DVD、半导体存储器诸如闪存存储器、非暂态只读存储器(ROMS)、电池支持的易失性存储器、联网存储设备等。易失性存储器1118和非易失性存储器1120可以被配置为存储提供落入本发明的范围内的其所公开的过程和其他实施方案的功能的基本编程和数据构造。 [0223] 实现本解决方案的实施方案的一个或多个部分的逻辑1122可存储在易失性存储器1118和/或非易失性存储器1120中。逻辑1122可以从易失性存储器1118和/或非易失性存储器1120读取并且由一个或多个处理器1112执行。易失性存储器1118和非易失性存储器 1120可还提供用于存储由逻辑1122使用的数据的存储库。 [0224] 易失性存储器1118和非易失性存储器1120可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)和在其中存储只读非暂态指令的只读存储器(ROM)。易失性存储器1118和非易失性存储器1120可以包括为程序和数据文件提供持久(非易失性)存储的文件存储子系统。易失性存储器1118和非易失性存储器1120可以包括诸如可移除的闪存存储器的可移除的存储系统。 [0225] 总线子系统1116提供用于使数据处理系统1102的各种部件和子系统能够按预期彼此通信的机制。尽管通信网络接口1106被示意性地描绘为单条总线,但总线子系统1116的一些实施方案可利用多条不同的总线。 [0226] 对于本领域的普通技术人员将显而易见的是,计算设备1100可以是诸如智能电话、台式计算机、膝上型计算机、机架式计算机系统、计算机服务器或平板计算机设备等的设备。如本领域所公知的,计算设备1100可以被实现为多个联网计算设备的集合。此外,计算设备1100通常将包括操作系统逻辑(未示出),该操作系统逻辑的类型和性质在本领域中是公知的。 [0227] 本文所用的术语应被赋予它们在相关领域中的普通含义,或它们在上下文中的使用所指示的含义,但是如果提供了明确的定义,则意味着控制。 [0228] 在本公开中,可将不同实体(其可不同地被称为“单元”、“电路”、“其他部件”等)描述或声明为“被配置”以执行一个或多个任务或操作。该表达方式—[实体]被配置为[执行一个或多个任务]—在本文被用来指代结构(即,诸如电子电路之类的物理工具)。更具体地,该表达方式用于指示该结构被布置用于在操作期间执行所述一个或多个任务。可以说结构“被配置为”执行一些任务,即使当前未在操作该结构也可如此。被配置为将信用分配到多个处理器内核的“信用分配电路”旨在涵盖例如集成电路,该集成电路具有在操作期间执行该功能的电路,即使所考虑的该集成电路当前未被使用(例如,电源未与其连接)。因此,被描述或列举为“被配置为”执行一些任务的实体是指物理的实体,诸如存储可执行以实现任务的程序指令的设备、电路、存储器等。本文中不使用该短语来指无形的事物。 [0229] 术语“被配置为”并非旨在表示“可配置为”。例如,未编程的FPGA将不被认为是“被配置为”执行一些特定功能,尽管它在编程之后可为“可配置为”执行该功能。 [0230] 在所附权利要求书中指出,结构“被配置为”执行一个或多个任务,这明确地旨在不对该权利要求要素调用35U.S.C.§112(f)。因此,本申请中不以另外的方式包括用于[执行功能]构造的“装置”的权利要求不应根据35U.S.C§112(f)进行解释。 [0231] 如本文所用,术语“基于”用于描述影响确定的一个或多个因素。该术语不排除其他因素可影响该确定的可能性。即,确定可仅基于指定的因素或基于指定的因素以及其他未指定的因素。参考短语“基于B确定A”该短语指定B是用于确定A或影响A的确定的因素。该短语不排除A的确定也可基于一些其他因素,诸如C。该短语也旨在涵盖其中仅基于B决定A的实施方案。如本文所用,短语“基于”与短语“至少部分地基于”同义。 [0232] 如本文所用,短语“响应于”描述触发效果的一个或多个因素。该短语不排除附加因素可影响或以其他方式触发效果的可能性。即,效果可仅响应于那些因素,或可响应于指定的因素以及其他未指定的因素。参考短语“响应于B执行A”该短语指定B是触发A的性能的因素。该短语不排除执行A也可响应于一些其他因素,诸如C。该短语也旨在涵盖其中仅响应于B执行A的实施方案。 [0233] 如本文所用,除非另外指明,否则术语“第一”、“第二”等用作它们前面的名词的标签,并且不意味着任何类型的排序(例如,空间的、时间的、逻辑的等)。例如,在具有八个寄存器的寄存器文件中,术语“第一寄存器”和“第二寄存器”可用于指代八个寄存器中的任两个,而不是例如仅逻辑寄存器0和1。 [0234] 当用于权利要求书中时,术语“或”用作包括性的或,而不是排他性的或。例如,短语“x、y或z中的至少一者”是指x、y和z中的任一个,以及它们的任何组合。