顺序写入存储器装置的块分配和擦除技术的制作方法

文档序号:33159244发布日期:2023-02-04 00:18阅读:49来源:国知局
顺序写入存储器装置的块分配和擦除技术的制作方法

1.本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及顺序写入存储器装置的块分配和擦除技术。


背景技术:

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


技术实现要素:

3.在一个方面中,本技术提供一种系统,其包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以执行包括以下各项的操作:维持多个区域复位计数器,其中所述多个区域复位计数器中的区域复位计数器表示已复位所述存储器装置的相应区域的次数;维持用于所述存储器装置的全局复位计数器,其中所述全局复位计数器表示所述多个区域复位计数器的集中趋势的度量;响应于接收到指向所述存储器装置的目标区域的写入命令,确定所述目标区域的目标部分是否为开放的;响应于确定所述目标区域的所述目标部分不开放,将所述目标区域的所述区域复位计数器的值与所述全局复位计数器的值进行比较;以及响应于基于所述比较确定所述目标区域的所述区域复位计数器的所述值等于或超过所述全局复位计数器的所述值,将来自空闲块列表的第一部分分配到所述目标区域,其中所述第一部分在所述空闲块列表中的一或多个部分当中具有最低编程擦除计数。
4.在另一方面中,本技术提供一种方法,其包括:由处理装置接收指向存储器装置的目标区域的写入命令;响应于确定所述目标区域的第一部分是开放的,在所述第一部分处执行所述写入命令;响应于确定所述第一部分已达到阈值容量,标识被分配到媒体管理池的第二部分,其中所述第二部分满足阈值准则,且其中所述媒体管理池包括一或多个部分;擦除与所述第二部分相关联的一或多个块;以及将所述第二部分分配到空闲块列表。
5.在另一方面中,本技术提供一种非暂时性计算机可读存储媒体,其包括指令,所述指令当由处理装置执行时使得所述处理装置执行包括以下各项的操作:维持多个区域复位计数器,其中所述多个区域复位计数器中的区域复位计数器表示已复位存储器装置的相应区域的次数;维持用于所述存储器装置的全局复位计数器,其中所述全局复位计数器表示所述多个区域复位计数器的集中趋势的度量;响应于接收到指向所述存储器装置的目标区域的写入命令,确定所述目标区域的目标部分是否为开放的;响应于确定所述目标区域的所述目标部分不开放,将所述目标区域的所述区域复位计数器的值与所述全局复位计数器的值进行比较;以及响应于基于所述比较确定所述目标区域的所述区域复位计数器的所述值等于或超过所述全局复位计数器的所述值,将来自空闲块列表的第一部分分配到所述目标区域,其中所述第一部分在所述空闲块列表中的一或多个部分当中具有最低编程擦除计数。
附图说明
6.根据下文给出的详细描述和本公开的各种实施例的随附图式将更充分地理解本公开。然而,图式不应被视为将本公开限于特定实施例,而是仅用于解释和理解。
7.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
8.图2另外详细说明根据本公开的一些实施例的图1的存储器子系统。
9.图3为说明根据本公开的各种实施例的区域映射数据结构的实例的框图。
10.图4为根据本公开的一些实施例的以高效方式在顺序写入存储器装置中分配块的实例方法的流程图。
11.图5为根据本公开的一些实施例的以高效方式在顺序写入存储器装置中擦除块的实例方法的流程图。
12.图6为其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
13.本公开的各方面涉及顺序写入存储器装置的块分配和擦除技术。存储器子系统可为存储装置、存储器模块,或存储装置与存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供要存储在存储器子系统处的数据且可请求要从存储器子系统检索的数据。
14.存储器子系统可包含高密度非易失性存储器装置,其中当未向存储器装置供应电力时,需要保留数据。非易失性存储器装置的一个实例是与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可以由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,nand装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器单元(“单元”)组成。单元为存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储的位数相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”和“1”)或这些值的组合表示。
15.可通过将某一电压施加到存储器单元来编程(写入到)存储器单元,这使得电荷由存储器单元保持,从而确定电压信号,所述电压信号必须被施加到单元的控制电极或控制栅极以使单元在源极电极与漏极电极之间对跨单元的电流开放。在存储器装置中观察到的一种现象是存储电荷损耗或缓慢电荷损耗(scl),有时被称为时间电压移位(tvs),其中阈值电压分布随着电荷随例如时间和/或温度减小而向较低电压电平移位。scl影响被编程到的存储器单元和为空(例如,最近已擦除)的存储器单元两者。因此,在延长时间段内保持在空闲块列表中的块单元可能会经历电压移位。写入到已经历电压移位的存储器单元可能会使所存储数据的表示不准确。因此,一些存储器子系统控制器执行校准扫描以在写入到块之前评估块内的单元的数据状态度量(例如,电压移位)。如果校准扫描结果展示分配到空闲块列表的块中的存储器单元已经历阈值电压移位,那么存储器子系统控制器可在写入到块之前对所述块执行第二擦除操作。执行校准扫描和重新擦除块可能会影响存储器子系统的等待时间和效率。
16.裸片还可被称为逻辑单元(lun)。lun可含有一或多个平面。存储器子系统可使用
分条(striping)方案在执行数据操作(例如,写入、读取、擦除)时将各个数据集处理为单元。lun条带为在写入、读取或擦除数据时被处理为一个单元的平面的集合。lun条带中的每一平面可并行地进行lun条带中的所有其它平面的相同操作。块条带是被处理为单元的块的集合(lun条带中的每一平面一个)。块条带中的块在其相应平面中具有相同块标识符(例如,块编号)。块条带可为跨不同裸片的平面排列的块群组,使得所述块出于数据存储的目的而分组在一起。写入到块条带允许跨多个裸片同时并发地写入和读取更多数据。
17.存储器子系统控制器可从主机系统接收多个写入请求,且可被配置成并行地执行写入请求。被配置成并行地执行多个写入请求的存储器子系统的一个实例被称为分区名字空间(zns)。在分区名字空间(zns)中,存储器装置(或存储器子系统的多于一个存储器装置)的地址空间(例如,逻辑块地址空间)被划分成多个区域,这允许随着存储器装置的容量增加而更高效地管理数据。例如,每一个别区域可被指定以供由主机系统或具有对存储器装置的存取权的某一其它系统执行的特定客户端应用程序使用。在存储器装置或存储器子系统中,可实施一或多个分区名字空间,且每一分区名字空间可实施一或多个区域。区域可包含多个存储器单元。存储器单元可指代平面、块、页、单元、区域、区或存储器的任何其它区段。可使用存储器装置或存储器子系统的地址空间的一部分来寻址每一区。
18.可以不同速率将数据顺序地且独立于其它区域写入到特定区域。zns内的一些区域可被频繁写入(被称为“热区域”),而zns内的其它区域可在相对较长时间段内保持不变(被称为“冷区域”)。在存储器装置内顺序地写入区域。区域可进行区域复位,以再使用被分配到所述区域的块。区域复位涉及擦除被分配到区域的所有块,以及将所述块分配到空闲块列表。可在不受限制的时间量内将块分配到空闲块列表。
19.对于某一区域,写入到块由写入光标管理。可存在许多作用中写入光标并发地操作。当存储器子系统控制器将块分配到写入光标时,一些存储器子系统控制器可从空闲块列表选择具有最低编程擦除计数器值的块。块的编程擦除计数器(pec)表示已擦除块的次数,且因此在每次擦除块时递增。将具有最低pec的块指派到冷区域可能会使块在长时间段内保持未接触,这可能会导致耗损均衡效率低下。
20.本公开的各方面通过实施基于区域的使用频率将块分配到区域的写入光标的存储器子系统控制器来解决上述和其它缺陷。存储器子系统控制器可维持每一区域的区域复位计数器,所述区域复位计数器在每次复位区域时递增。存储器子系统控制器还可维持全局复位计数器,其可为所有区域复位计数器的平均值。具有高于全局复位计数器(即,高于平均值)的区域复位计数器值的区域为热区域,而具有低于全局复位计数器(即,低于平均值)的区域复位计数器值的区域为冷区域。
21.存储器子系统控制器还可在块层级下维持编程擦除计数器。存储器子系统控制器可在每一块擦除操作之后使特定块的编程擦除计数器递增。当存储器子系统控制器将块分配到特定区域(或写入光标)时,存储器子系统控制器可首先标识所述区域是热的还是冷的。如果所述区域是热的,那么存储器子系统控制器可分配具有低编程擦除计数器值的块(即,冷块)。如果区域是冷的,那么存储器子系统可分配具有高编程擦除计数器值的块(即,热块)。
22.当存储器子系统控制器接收到写入命令时,存储器子系统控制器可确定写入命令所指向的区域(“目标区域”)是否具有足够的空间来存储由写入命令指定的数据。在实施例
中,存储器子系统控制器可确定目标区域是否具有开放块条带。块条带是处理为单个单元的块的集合。在实施例中,块条带含有来自每一逻辑单元(例如,来自存储器装置的每一裸片)的块。如果目标区域具有开放块条带,那么存储器子系统控制器可通过在开放块条带处写入数据来执行写入命令。
23.存储器子系统控制器可进一步确定块条带是否已达到阈值容量层级。这可指示块条带接近满容量。响应于块条带达到阈值容量层级,存储器子系统控制器可将块条带从媒体管理池传送到空闲块列表。媒体管理池为被标记为擦除的块条带的列表(或块的列表)。为了避免当块在媒体管理池中时发生阈值电压移位,存储器子系统控制器可维持两个列表:媒体管理池和空闲块列表。与媒体管理池相关联的块可被标记为擦除,但实际上并未被擦除。一旦存储器子系统控制器已确定将在将避免阈值电压移位的时间段内写入块(或块条带),存储器子系统控制器便可擦除块(或块条带)且将所述块(或块条带)从媒体管理池分配到空闲块列表。因此,存储器子系统控制器可从媒体管理池选择块条带,擦除选定块条带,且将选定块条带传送到空闲块列表。通过等待目标区域的块条带达到阈值容量层级,然后从媒体管理池擦除块条带,块条带在相对较短的时间段内被分配到空闲池,并且不太可能经历阈值电压移位。因此,存储器子系统控制器可减少或消除执行校准扫描和/或重新擦除先前擦除的块的需要。
24.此外,存储器子系统控制器可调整阈值容量以便进一步降低块(或块条带)将在延长时间段内保持在空闲块列表中的可能性。在一些实施例中,存储器子系统控制器可基于空闲块列表为空还是满而调整阈值容量层级。如果当目标区域的开放块条带达到阈值容量层级时空闲块列表为空,那么存储器子系统控制器可将阈值容量层级减小某一值以增加空闲池列表中的块条带的数目。在一些实施例中,存储器子系统控制器可确定即使空闲块列表为空,块条带也正进行擦除过程,且因此可将阈值容量层级减小某一百分比(例如,2%)。如果存储器子系统控制器确定空闲块列表为空且块条带未在进行擦除过程,那么存储器子系统控制器可将阈值容量层级减小某一百分比的两倍(例如,4%)。有时,存储器子系统控制器可确定空闲块列表已满或已对空闲块列表中的块条带执行阈值数目的重新擦除操作,且可将阈值容量层级增大某一百分比(例如,2%)。
25.本公开的优点包含但不限于存储器装置的高效耗损均衡,从而延长存储器装置的耐久性。通过以此方式分配块(即,将热块分配到冷区域,且将冷块分配到热区域),存储器子系统控制器可确保存储器装置内的块的更高效耗损均衡,这可延长存储器装置的耐久性。另外,通过响应于存储器装置的当前状态调整阈值容量层级,本公开的各方面通过避免不必要的校准扫描和对空块执行双重擦除操作来减少等待时间且延长存储器装置的寿命。
26.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类媒体的组合。
27.存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的组合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm),以及各种类型的非易失性双列直插式存储器模块(nvdimm)。
28.计算系统100可以是计算装置,例如台式计算机、笔记本计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或包含存储器和处理装置的此类计算装置。
29.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与
……
耦合”通常指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,没有中间组件),无论有线或无线,包含例如电连接、光学连接、磁性连接等连接。
30.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110以及从存储器子系统110读取数据。
31.主机系统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可经由同一通信连接、多个分开的通信连接和/或通信连接的组合存取多个存储器子系统。
32.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
33.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器及就地写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)和三维nand(3d nand)。
34.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)每单元可存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五层级单元(plc)每单元可存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc、plc或这些的任何组合。在一些实施例中,特定存储器装置可以包含存储器单元的slc部分,以及mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器单元可分组
为页,所述页可指用于存储数据的存储器装置的逻辑单元。在一些类型的存储器(例如,nand)的情况下,页可分组以形成块。
35.尽管描述了例如非易失性存储器单元的3d交叉点阵列等非易失性存储器组件和nand型快闪存储器(例如,2d nand、3d nand),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器,或电可擦除可编程只读存储器(eeprom)。
36.存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据之类的操作以及其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
37.存储器子系统控制器115可包含处理装置,所述处理装置包含被配置成执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。
38.在一些实施例中,本地存储器119可包含存储器寄存器,其存储存储器指针、所获取数据等。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,且可改为依靠外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
39.通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
40.存储器子系统110还可以包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存器或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
41.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115进行操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例
如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110是受管理存储器装置,其是具有裸片上的控制逻辑(例如,本地媒体控制器135)和用于在同一存储器装置封装内进行媒体管理的控制器(例如,存储器子系统控制器115)的原始存储器装置130。受管理存储器装置的实例是受管理nand(mnand)装置。
42.存储器子系统110包含块分配管理器113,其可为顺序写入存储器装置高效地分配和擦除块。在一些实施例中,存储器子系统控制器115包含块分配管理器113的至少一部分。在一些实施例中,块分配管理器113是主机系统120、应用或操作系统的部分。在其它实施例中,本地媒体控制器135包含块分配管理器113的至少一部分,且被配置成执行本文中所描述的功能。
43.块分配管理器113可为顺序写入存储器装置执行高效块分配和擦除技术。在实施例中,块分配管理器113可维持存储器装置中的每一块的编程擦除计数器(pec),且针对存储器装置中的每一区域维持区域复位计数器值。块分配管理器113可在每次擦除块时使与所述块相关联的pec递增(例如,1),且可在每次复位区域时使与所述区域相关联的区域复位计数器递增(例如,1)。高pec可指示相关联块是“热块”,而高区域复位计数器可指示相关联区域是“热区域”。相反,低pec可指示相关联块是“冷块”,而低区域复位计数器可指示相关联区域是“冷区域”。在实施例中,块分配管理器113可通过取与块条带相关联的块的pec的平均值来确定块条带的pec,或可维持每一块条带的pec。
44.块分配管理器113还可维持全局复位计数器。全局复位计数器可表示多个区域复位计数器的集中趋势的度量(例如,均值、众数或中值)。举例来说,全局复位计数器可为与存储器装置相关联的区域复位计数器的平均值。块分配管理器113可在每一区域复位之后或响应于触发事件(例如,每设置分钟数,或在每设置区域复位数之后)而使全局复位计数器递增。当存储器子系统控制器(例如,从主机系统120)接收到指向目标区域的写入命令时,块分配管理器113可确定目标区域是否具有足够的空间来存储写入命令中含有的数据。也就是说,写入命令可包含有效负载(即,要存储在存储器装置上的数据)和存储有效负载的逻辑块地址(lba)。块分配管理器113可例如使用区域映射数据结构基于lba而确定目标区域。在一些实施例中,写入命令可包含存储有效负载的目标区域,且块分配管理器113可例如使用区域映射数据结构将目标区域编号转译为lba。
45.在实施例中,块分配管理器113可确定目标区域是否具有开放块条带。如果目标区域具有开放块条带,那么块分配管理器113可通过在开放块条带处写入数据(例如,有效负载)来执行写入命令。块分配管理器113控制器可进一步确定块条带是否已达到阈值容量层级。这可指示块条带接近满容量,且存储器子系统控制器可很快将来自空闲块列表的另一块条带指派到目标区域。因而,响应于块条带到达阈值容量层级,块分配管理器113可执行块条带擦除循环。
46.在块条带擦除循环期间,块分配管理器113将块条带从媒体管理池传送到空闲块列表。媒体管理池是被标记为擦除的块条带的列表。也就是说,在接收到指向特定区域的区域复位命令之后,块分配管理器113可将与所述特定区域相关联的块条带分配到媒体管理池,且可增加与所述特定区域相关联的区域复位计数器。在块条带擦除循环期间,块分配管理器113可从媒体管理池选择块条带,擦除选定块条带,且将选定块条带传送到空闲块列
表。响应于区域复位,将块条带分配到媒体管理池。与媒体管理池相关联的块可被标记为擦除,但实际上并未被擦除。一旦块分配管理器113已确定将在将避免电压移位的时间段内写入块条带(即,通过确定开放块条带已达到阈值容量),块分配管理器113便可擦除与块条带相关联的块且将所述块条带从媒体管理池分配到空闲块列表。
47.在从媒体管理池选择块条带时,块分配管理器113可选择具有最低的低编程擦除计数器值的块条带。在实施例中,块分配管理器113可选择媒体管理池内具有与目标区域(即,执行写入命令所处的含有块条带的区域)的区域复位计数器值最紧密匹配的pec值的块条带。在实施例中,如果目标区域是冷的,那么块分配管理器113可选择热块条带,且如果目标区域是热的,那么可选择冷块条带。块分配管理器113接着可擦除与选定块条带相关联的块,且将块条带分配到空闲块列表。
48.如果目标区域不具有开放块条带,那么块分配管理器113可将来自空闲块列表的块条带分配到目标区域。可按编程擦除计数(pec)值的递减次序对空闲块列表进行排序。因此,具有最高pec值的块条带(“热”块条带)可位于列表的顶部,而具有最低pec值的块条带(“冷”块条带)可位于列表的底部。当将来自空闲块列表的块条带分配到目标区域时,块分配管理器113可将区域复位计数器的值与全局复位计数器进行比较以确定目标区域是热的还是冷的。如果目标区域的复位计数器值高于全局复位计数器值,那么存储器子系统控制器可确定目标区域是热的。如果目标区域的复位计数器值低于全局复位计数器值,那么存储器子系统控制器可确定目标区域是冷的。为了支持高效耗损均衡,存储器子系统控制器可将热块条带分配到冷区域,且将冷块条带分配到热区域。也就是说,如果目标区域具有大于或等于全局复位计数器值的复位计数器值,那么块分配管理器113可从空闲块列表(即,从空闲块列表的底部)分配具有最低pec值的块条带。相反,如果目标区域具有小于全局复位计数器值的复位计数器值,那么块分配管理器113可从空闲块列表(即,从空闲块列表的顶部)分配具有最高pec值的块条带。
49.如果空闲块列表为空,那么块分配管理器113可等待,直到将块条带分配到空闲块列表为止,且在此时将块条带分配到目标区域。空的空闲块列表可指示将调整用于确定何时将块条带从媒体管理池传送到空闲块列表的阈值容量。块分配管理器113可确定块条带当前是否正在进行块条带擦除循环。如果块分配管理器113确定块条带当前正被擦除(即,块条带正进行块条带擦除循环),那么块分配管理器113可将阈值容量减小第一百分比(或值)。如果块分配管理器113确定块条带当前未被擦除,那么块分配管理器113可将阈值容量减小第二百分比(例如,第一百分比的两倍)。在实施例中,块分配管理器113可确定空闲块列表已满,且因此可确定将阈值容量增大第三百分比。第三百分比可与第一百分比、第二百分比相同,或可为不同值。
50.下文描述关于块分配管理器113的操作的其它细节。
51.图2另外详细说明根据本公开的一些实施例的图1的存储器子系统110。存储器子系统控制器可包含块分配管理器113,其可执行与图1中的块分配管理器113相同的功能。在一些实施例中,块分配管理器113可包含擦除调度单元250和块分配器252。在一些实施例中,存储器子系统控制器115可包含本地易失性存储器125,例如紧耦合存储器(tcm)或易失性存储器装置(例如,sram装置)中的一个或组合。在一些实施例中,本地易失性存储器125可为单独的存储器装置,例如图1的存储器装置140。易失性存储器125可存储区域映射数据
结构201、媒体管理池254、空闲池256和计数器258。在一些实施例中,区域映射数据结构201、媒体管理池245、空闲池256和/或计数器258可存储在非易失性存储器中。在一个实施例中,区域映射数据结构201包含多个条目,使得每一条目具有链接到块条带映射数据结构(未说明)内的条目的块条带条目标识符。关于图3更详细地解释区域映射数据结构201。
52.存储器子系统控制器115可通信地耦合到存储器装置130。多个裸片(例如,裸片a 205和裸片b 207)的物理地址空间可由平面、块和页分层组织。因此,举例来说,裸片a 205和裸片b 207中的每一个可包含平面a 221、261到平面m 225、265,且平面a 221、261到平面m 225、265中的每一个可包含块a 221、271到块n 233、273。块条带可定义为跨存储器装置的多个裸片的平面排列的块群组。如所说明,块条带244排列成包含裸片a 205的平面a 221的块a 231、裸片b 207的平面b 263的块a 271等,例如,还包含裸片c的平面c的块a,直到其它裸片(如果存在且在线上的话)。一或多个块条带可与存储器装置130的区域相关联。
53.存储器子系统控制器115可从主机系统120接收写入命令。写入命令可包含有效负载和在何处存储有效负载的指示。指示可为目标区域和/或存储有效负载的逻辑块地址(lba)。有效负载可包含要存储的数据。
54.存储器子系统控制器115可从主机系统120接收区域复位命令。响应于接收到区域复位命令,存储器子系统控制器115可将与区域复位相关联的一或多个块条带标记为擦除,且可将与区域复位相关联的一或多个块条带分配到媒体管理池254。存储器子系统控制器115还可使与区域复位相关联的区域复位计数器值递增某一值,例如1。
55.块分配管理器113可包含擦除调度单元250和块分配器252。擦除调度单元250可高效地擦除存储器装置130内的块或块条带,且块分配器252可高效地将存储器装置130内的块或块条带分配到区域。
56.易失性存储器125可包含区域映射201、媒体管理池254、空闲池256和计数器258。区域映射201可以是区域映射数据结构,如关于图3进一步描述。媒体管理池254可存储被标记为擦除的块条带的列表(或在一些实施例中,块的列表)。空闲池256可存储已被擦除且可分配到区域的块条带的列表(或在一些实施例中,块的列表)。计数器258可存储块和/或块条带的编程擦除计数(pec)值、区域复位计数器值、全局复位计数器值和与存储器装置130相关联的媒体管理计数器。在实施例中,每一区域的区域复位计数器值存储在区域映射数据结构201中。
57.在一个实施例中,存储器子系统控制器115可从主机系统120接收指向目标区域的写入命令。块分配管理器113可确定块条带244与目标区域相关联(例如,基于区域映射201),且块条带244是开放的(即,块条带244未满,或其尚未达到某一容量)。因而,块分配管理器113可通过将写入命令中包含的有效负载存储到块条带244内的块来执行写入命令。此外,在实施例中,块分配管理器113可确定块条带244已达到阈值容量。响应于确定块条带244已达到阈值容量,块分配管理器113可调用擦除调度单元250。
58.擦除调度单元250可从媒体管理池254选择块条带,擦除与选定块条带相关联的块,且将选定块条带分配到空闲池256。响应于将选定块条带分配到空闲池256,擦除调度单元250可从媒体管理池254解除分配(或移除)选定块条带。擦除调度单元250可基于块条带的编程擦除计数(pec)从媒体管理池254选择块条带。在实施例中,擦除调度单元250可从媒体管理池选择具有与目标区域的区域复位计数值最紧密匹配的pec的块条带。在实施例中,
如果目标区域为“冷”,那么媒体管理池254可从媒体管理池选择“热”块条带,且如果目标区域为“热”,那么可从媒体管理池选择“冷”块条带。也就是说,如果与已达到阈值容量的块条带相关联的目标区域具有高于或等于全局复位计数器值(即,高于或等于平均值)的区域复位计数器值,那么擦除调度单元250可从具有低编程擦除计数值的媒体管理池选择块条带。如果与已达到阈值容量的块条带相关联的目标区域具有低于全局复位计数器值的区域复位计数器值,那么擦除调度单元250可从具有高编程擦除计数值的媒体管理池选择块条带。
59.如果从主机系统120接收到的写入命令指向不具有开放块条带的目标区域(未说明),那么块分配器252可从空闲池256选择块条带以分配到目标区域。在从空闲池256写入新选定块条带之前,块分配器252可执行校准扫描以确定新选定块条带中的块中的任一个是否已经历阈值电压移位。对第一块条带执行校准扫描可涉及确定与新选定块条带相关联的电压分布度量的值。如果电压分布度量超过阈值准则,那么块分配器252可对新选定块条带执行媒体管理操作;具体地说,块分配器252可重新擦除已经历阈值电压移位的块。在一些实施例中,计数器258包含媒体管理计数器,其跟踪在某一时间段(例如,5分钟或1小时)内对存储器装置130执行的重新擦除操作的数目。当块分配管理器113执行大量重新擦除操作时,媒体管理计数器可发出信号。因此,响应于确定媒体管理计数器超过媒体管理阈值准则,块分配管理器113可调整触发擦除调度单元250的容量阈值。也就是说,如果由块分配器252执行的校准扫描使得对空闲池256内的块条带执行大量重新擦除操作,那么块分配管理器113可增大容量阈值以减少进行由擦除调度单元250执行的块条带擦除循环的块条带的数目。
60.块分配器252可基于目标区域的使用频率从空闲池256选择块条带以分配到目标区域。因此,如果目标区域为“热”,那么块分配器252可从空闲池256分配“冷”块条带;如果目标区域为“冷”,那么块分配器252可从空闲池256分配“热”块条带。更具体地说,如果与目标区域相关联的区域复位计数器值高于或等于全局复位计数器值,那么块分配器252可从具有低(或最低)编程擦除计数值的空闲池256分配块条带。如果与目标区域相关联的区域复位计数器值低于全局复位计数器值,那么块分配器252可从具有高(或最高)编程擦除计数值的空闲池256分配块条带。
61.图3为根据各种实施例的说明区域映射数据结构301的实例的框图。存储器子系统控制器115可将区域映射数据结构301存储在图1的非易失性存储器装置130中。替代地或另外,存储器子系统控制器115可将区域映射数据结构301存储在易失性存储器装置(例如,图1的存储器装置140)中。替代地或另外,主机系统120可将区域映射数据结构301的至少一部分存储在本地存储器中。存储器子系统控制器115可使用区域映射数据结构301本身或结合未描画的其它数据结构来配置或实施媒体布局(例如,区域的数据群组将位于物理地址空间内何处的布局)。
62.在图3中,区域映射数据结构301被配置成针对名字空间(例如,用于zns操作的lba空间)中的区域提供存储器装置布局信息。区域映射数据结构301可与图2中的区域映射201相同。区域映射数据结构301可具有多个条目。区域映射数据结构301中的每个区域映射条目标识关于区域的信息,例如区域的起始lba 311、与区域相关联的块条带标识符313、区域光标值315、区域的状态317、区域复位计数器319等。块条带标识符313可指示与区域相关联的一或多个块条带。区域光标值315可指示用于写入所接收数据的当前lab地址。在一些实
施例中,区域映射数据结构301可包含指示当前块条带(例如,与光标值315相关联)是否开放的数据字段。状态317可具有指示区域为空、满、隐式地开放、显式地开放、关闭等的值,以跟踪写入所述区域的进程。在每一区域复位之后,区域复位计数器319可递增设置值(例如,“1”)。
63.图4为根据本公开的一些实施例的以高效方式在顺序写入存储器装置中分配块的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的块分配管理器113执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,并且所说明过程可以不同次序执行,并且一些过程可并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每个实施例中都需要所有过程。其它过程流程是可能的。
64.在操作410处,处理逻辑维持多个区域复位计数器。区域复位计数器表示已复位顺序写入存储器装置的相应区域的次数。也就是说,在区域复位之后,处理逻辑使与特定区域相关联的区域复位计数器递增某一量(例如,1)。
65.在实施例中,处理逻辑可从主机系统接收区域复位命令。在接收到指向存储器装置的特定区域的区域复位命令之后,处理逻辑可标识与特定区域相关联的一或多个部分。部分可以是块或块条带。为了执行区域复位命令,处理逻辑可将与特定区域相关联的一或多个所标识部分(即,块条带或块)添加到媒体管理池。媒体管理池可存储被标记为擦除的区的列表。也就是说,分配到媒体管理池的部分含有过时的数据,且因此可再使用媒体管理池中的部分。处理逻辑还可使与特定区域相关联的区域复位计数器递增。
66.在操作420处,处理逻辑维持用于存储器装置的全局复位计数器。全局复位计数器表示多个区域复位计数器的集中趋势的度量(例如,多个区域复位计数器的均值、众数和/或中值)。在一些实施例中,处理逻辑通过计算多个区域复位计数器值的平均值来确定全局复位计数器值。处理装置可响应于触发事件(例如,每设置分钟数或每设置的执行区域复位数)而确定全局复位计数器值。
67.在操作430处,响应于(例如,从主机系统)接收到指向存储器装置的目标区域的写入命令,处理逻辑确定目标区域的一部分是否为开放的。如果部分未满,或如果部分尚未达到某一阈值容量,那么所述部分是开放的。在实施例中,处理逻辑维持包含部分标识符(例如,如图3中所说明的块条带标识符)和/或光标值的区域映射数据结构,所述部分标识符和/或光标值标识要执行指向目标区域的写入的部分(例如,光标值可标识要存储写入命令的有效负载的逻辑块地址(lba),且部分标识符可标识与lba相关联的部分)。处理逻辑可通过将目标区域的部分的已使用容量与阈值容量进行比较来确定所述部分是否为开放的。已使用容量是指当前用于存储数据的部分中的空间量。如果所述部分的已使用容量满足或超过阈值容量,那么所述部分可被视为关闭(即,不开放)。如果所述部分的已使用容量低于阈值容量,那么所述部分可被视为开放的。另外或替代地,处理逻辑可(例如,在区域映射数据结构中)维持指示所述部分是否开放的数据字段指示符。举例来说,如果所述部分的已使用容量低于阈值容量(指示所述部分是开放的),那么指示符可为值“0”,且如果所述部分的已使用容量达到或超过阈值容量,那么处理逻辑可将指示符的值改为值“1”。
68.在操作440处,响应于确定目标区域的部分不开放,处理装置将目标区域的区域复位计数器的值与全局复位计数器的值进行比较。在实施例中,在比较之前,处理逻辑可通过计算多个区域复位计数器的值的平均值来确定全局复位计数器的值。
69.在操作450处,响应于基于所述比较确定目标区域的区域复位计数器的值等于或超过全局复位计数器的值,处理装置将来自空闲块列表的第一部分分配到目标区域,其中所述第一部分具有最低编程擦除计数。空闲块列表可包含已进行块条带擦除循环的部分(例如,块条带或块)的列表。块条带擦除循环是过程逻辑从媒体管理池选择部分、擦除与选定部分相关联的块且使所述部分与空闲块列表相关联的过程。关于图5进一步描述块条带擦除循环。
70.在实施例中,处理逻辑可维持存储器装置的每一块的编程擦除计数(pec)。在每次擦除块之后,与块相关联的pec递增某一量(例如,“1”)。另外,处理逻辑可维持和/或计算每一部分(例如,每一块条带)的编程擦除计数。部分的编程擦除计数可以是同与所述部分相关联的一或多个块相关联的编程擦除计数的平均值、均值和/或中值。在实施例中,处理逻辑可以pec的递减次序存储与空闲块列表相关联的部分,在此情况下,处理逻辑从空闲块列表的底部选择第一部分作为具有最低pec的部分。因此,处理逻辑将“冷”部分(即,具有低pec的部分)分配到“热”区域(即,具有等于或超过全局复位计数器值的区域复位计数器值的区域)。
71.替代地,响应于基于所述比较确定目标区域的区域复位计数器的值小于全局复位计数器的值,处理装置将来自空闲块列表的第二部分分配到目标区域,其中所述第二部分具有最高编程擦除计数。也就是说,处理逻辑将“热”部分(即,具有高pec的部分)分配到“冷”区域(即,具有低于全局复位计数器值的区域复位计数器值的区域)。在处理逻辑以pec的递减次序存储与空闲块列表相关联的部分的实施例中,处理逻辑从空闲块列表的顶部选择第二部分作为具有最高pec的部分。
72.在实施例中,处理逻辑可确定空闲块列表为空。也就是说,处理逻辑可确定不存在与空闲块列表相关联的部分。响应于确定空闲块列表为空,处理逻辑可确定是否已触发块条带擦除循环。可响应于处理逻辑确定目标区域的开放部分达到阈值容量而触发块条带擦除循环。响应于确定已触发块条带擦除循环,处理逻辑将阈值容量减小第一值(例如,某一百分比,例如2%)。响应于确定尚未触发块条带擦除循环,处理逻辑将阈值容量减小第二值(例如,第一百分比的两倍,例如4%)。也就是说,如果当处理逻辑尝试将来自空闲块列表的部分分配到目标区域时空闲块为空,那么处理逻辑减小触发块条带擦除循环的阈值容量。减小触发块条带擦除循环的阈值容量可使得空闲块列表更快速地接收部分,因此避免了当需要空闲部分时空闲块列表为空的情况。减小阈值容量的量可取决于块条带擦除循环是否在进行中。因此,如果块条带擦除循环在进行中,那么处理逻辑可将阈值容量减小与块条带擦除循环不在进行中的情况相比更小的值(或百分比)。
73.在实施例中,处理逻辑可确定空闲块列表已满。处理逻辑可具有可分配到空闲块列表的最大数目个部分。响应于确定空闲块列表已达到或超过部分的最大数目,处理逻辑将阈值容量增大某一值(或百分比)。阈值容量是触发块条带擦除循环的容量层级。阈值容量增大的值可与阈值容量减小的值相同或不同(如上文和下文所描述)。也就是说,在一些实施例中,处理逻辑可将阈值容量增大2%、4%或某一其它值或百分比。增大触发块条带擦
除循环的阈值容量可使得较少部分被分配到空闲块列表,这在空闲块列表已满(即,超过某一容量层级)时是期望的。
74.在实施例中,处理逻辑可对来自空闲块列表的分配到目标区域的第一部分和/或第二部分执行校准扫描。对第一部分执行校准扫描可涉及确定与第一部分相关联的电压分布度量的值。响应于确定与第一部分相关联的电压分布度量的值满足电压分布准则,处理逻辑关于与第一部分相关联的一或多个块执行媒体管理操作。举例来说,电压分布度量与阈值准则的比较可指示与第一部分相关联的块中的一或多个的阈值电压已移位。由于电压移位,处理逻辑在写入到第一部分之前重新擦除与所述部分相关联的块。
75.处理逻辑可进一步维持与存储器装置相关联的媒体管理计数器。媒体管理计数器表示在某一时间段内关于与空闲块列表相关联的一或多个部分执行的媒体管理操作的数目(例如,重新擦除操作的数目)。也就是说,每当处理逻辑响应于确定与空闲块列表中的部分相关联的一或多个块具有超过电压分布准则的电压分布度量而执行重新擦除操作时,处理逻辑可使媒体管理计数器递增某一量(例如,“1”)。媒体管理计数器可每特定时间段(例如,5分钟或1小时)复位,以便准确地表示在所述时间段内执行的重新擦除操作的数目。
76.响应于确定媒体管理计数器满足媒体管理准则(例如,超过时间段内的重新擦除操作的阈值数目),处理逻辑将阈值容量增大某一值(例如,某一百分比)。也就是说,对与空闲块列表相关联的部分执行大于某一数目的重新擦除操作可指示与空闲块列表相关联的部分在被分配到目标区域之前在空闲块列表中等待延长时间段(延长时间段由超过电压分配阈值的阈值分布指示)。为了避免对与空闲块列表相关联的部分执行重新擦除操作,处理逻辑可调整触发块条带擦除循环的阈值容量。处理逻辑可将阈值容量增大某一百分比(例如,2%),以便延长部分与媒体管理池相关联的时间,且减少部分在被分配到目标区域之前与空闲块列表相关联的时间。
77.图5为根据本公开的一些实施例的以高效方式在顺序写入存储器装置中擦除块的实例方法500的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的块分配管理器113执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,并且所说明过程可以不同次序执行,并且一些过程可并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每个实施例中都需要所有过程。其它过程流程是可能的。
78.在操作510处,处理逻辑接收指向存储器装置的目标区域的写入命令。在实施例中,处理逻辑可从主机系统接收写入命令。写入命令可包含有效负载(即,要写入到存储器装置的数据)和存储有效负载的逻辑块地址(lba)。处理逻辑可例如使用区域映射数据结构基于lba而确定目标区域。在一些实施例中,写入命令可包含存储有效负载的目标区域编号而不是特定lba,且处理逻辑可例如使用区域映射数据结构将目标区域编号转译为lba。
79.在操作520处,响应于确定目标区域的第一部分是开放的,处理装置在第一部分处执行写入命令。处理逻辑可使用例如区域映射数据结构确定目标的一部分是否为开放的。如果部分未满,或如果部分尚未达到某一阈值容量,那么所述部分是开放的。执行写入命令可涉及将有效负载存储在目标区域的部分处。
80.在操作530处,响应于确定第一部分已达到阈值容量,处理逻辑标识分配到媒体管理池的第二部分。媒体管理池包含被标记为擦除的一或多个部分。处理逻辑可将来自媒体管理池的满足阈值条件的部分标识为第二部分。在实施例中,满足阈值条件的部分基于与目标区域的区域擦除计数相比的部分的pec。也就是说,在标识满足阈值准则的第二部分时,处理逻辑标识与目标区域相关联的区域复位计数器的值。处理逻辑还标识媒体管理池中的一或多个部分的对应编程擦除计数(pec)。处理逻辑可维持存储器装置中的每一块的pec,且部分的对应pec可为与所述部分相关联的块的pec值的平均值。替代地,处理逻辑可维持所述部分的pec。处理逻辑可比较目标区域的区域复位计数器值以确定目标区域是“热”的还是“冷”的。如果目标区域为“热”,那么处理逻辑可将第二部分标识为具有最低pec的部分;如果目标区域为“冷”,那么处理可将第二部分标识为具有最高pec的部分。如果目标区域既不为“热”也不为“冷”(即,目标区域复位计数器值与全局复位计数器值匹配),那么处理逻辑可将“冷”部分标识为第二部分。
81.在实施例中,满足阈值条件的部分为pec值与目标区域的区域复位计数器最紧密匹配的部分。处理逻辑将与媒体管理池相关联的每一部分的pec同与目标区域相关联的区域复位计数器进行比较。处理逻辑将来自与媒体管理池相关联的一或多个部分的第二部分标识为具有与目标区域的区域复位计数器值最紧密匹配的pec的部分。以此方式,处理逻辑从媒体管理池选择具有与达到满容量的目标区域类似的特性的部分。
82.在操作540处,处理逻辑擦除与第二部分相关联的一或多个块。在实施例中,处理逻辑可响应于擦除与第二部分相关联的一或多个块而使与第二部分相关联的编程擦除计数递增。也就是说,处理逻辑可维持存储器装置的每一部分(例如,每一块和/或每一块条带)的编程擦除计数(pec)。处理逻辑可响应于对每一部分执行擦除操作而使所述部分的pec递增。在操作550处,处理逻辑将第二部分分配到空闲块列表。
83.在实施例中,处理逻辑可确定媒体管理池为空,即,不存在与媒体管理池相关联的部分。响应于确定媒体管理池为空,处理逻辑将阈值容量减小某一值(例如,某一百分比,例如3%)。阈值容量是触发块条带擦除循环的容量。将阈值容量减小某一值可使得块条带擦除循环较早被触发,因此避免空的媒体管理池。
84.图6说明计算机系统600的实例机器,在所述实例机器内可执行用于使机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的块分配管理器113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
85.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(按顺序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。此外,虽然说明单个机器,但应认为术语“机器”还包含机器的任何集合,所述机器单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多种。
86.实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rdram等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统618,其经由总线630彼此通信。
87.处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置602被配置成执行用于执行本文中所论述的操作和步骤的指令626。计算机系统600可以进一步包含网络接口装置608以经由网络620进行通信。
88.数据存储系统618可以包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多组指令626或体现本文中所描述的方法或功能中的任何一或多种的软件。指令626还可在由计算机系统600执行期间完全或至少部分地驻留在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。
89.在一个实施例中,指令626包含用以实施对应于块分配管理器(例如,图1的块分配管理器113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体624展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多组指令的单个媒体或多个媒体。还应认为术语“机器可读存储媒体”包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
90.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。数据处理领域的技术人员使用这些算法描述和表示将其工作的主旨最有效地传达给所属领域的其它技术人员。算法在这里且通常认为是引起所需结果的操作的自洽序列。所述操作为需要对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。已证明,有时,主要出于普遍使用的原因,将这些信号称为位、值、要素、符号、字符、项、数字等是方便的。
91.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可涉及将计算机系统的寄存器及存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
92.本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,所述计算机可读存储媒体例如但不限于任何类型的盘(包含软盘、光盘、cd-rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
93.本文中呈现的算法和显示本质上不与任何特定计算机或其它设备相关。各种通用
系统可与根据本文中的教示的程序一起使用,或可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述来呈现多种这些系统的结构。另外,不参考任何特定编程语言描述本公开。将了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
94.本公开可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含上面存储有可用以对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
95.在前述说明书中,本公开的实施例已经参考其具体实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中所阐述的本公开的实施例的更广泛精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1