1.本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及使用存储器装置中的基于层面(deck)的媒体管理操作提高存储器性能。
背景技术:2.存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
技术实现要素:附图说明
3.根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
4.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
5.图2是根据本公开的一些实施例的用于执行媒体管理操作的实例方法的流程图。
6.图3示意性地说明根据本公开的一些实施例的由存储器装置维持的实例层面。
7.图4示意性地说明根据本公开的一些实施例的由存储器子系统控制器维持的实例元数据。
8.图5是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
9.本公开的方面针对于执行存储器装置中的基于层面的媒体管理操作。存储器子系统可以为存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
10.存储器子系统可以包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例为与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片的封装。每一裸片可包含两个或更多个平面。对于一些类型的非易失性存储器装置(例如,nand装置),每个平面包含物理块的集合。在一些实施方案中,每一块可包含多个子块。每一平面承载形成到硅晶片上并且通过被称为字线和位线的导体连结的存储器单元矩阵,使得字线连结形成存储器单元矩阵的行的多个存储器单元,而位线连结形成存储器单元矩阵的列的多个存储器单元。
11.取决于单元类型,每一存储器单元可存储一或多个二进制信息位,且具有与正存
储的位数相关的各种逻辑状态。逻辑状态可以由二进制值(例如,“0”和“1”或这类值的组合)表示。可在单个操作中例如通过选择连续位线一起编程称为存储器页的存储器单元集合。
12.存储器装置的个别片段、数据单元或块仅可被写入、读取和/或擦除有限次数,此后物理耗损会导致存储器装置失效。为了抵消存储器装置的此受限的耐久性,已经开发出管理存储器装置上的耗损的技术。一种管理耐久性的技术是媒体管理,例如耗损均衡。耗损均衡操作可尝试跨存储器装置均匀地分布数据操作(例如,读取操作、写入操作和擦除操作),且因此均匀地分布对应的物理损耗。一个存储器装置可划分成多个管理单元(mu),例如存储器装置的页或块,所述每个页或块均经历物理损耗。mu可为跨裸片和/或通道的页群组。mu可表示可在单个操作中写入或擦除的存储器装置的个别片段。写入计数(例如,在mu的寿命期间对mu执行将数据写入到mu的写入操作的次数)、读取计数(例如,在mu的寿命期间对mu执行从mu读取数据的读取操作的次数),或擦除计数(例如,在mu的寿命期间对mu执行从mu擦除数据的擦除操作的次数)可为对存储器装置的mu上的耗损的有力指示。因此,一些耗损均衡技术可使用分选过程以找到具有高读取或写入计数的mu和具有低读取计数或写入计数的mu。来自具有高读取或写入计数的mu的数据可与具有低读取或写入计数的mu的数据交换以试图跨越存储器装置的mu均匀地分布耗损。
13.例如三维(3d)交叉点装置的一些存储器装置可包含多个部分。例如层面或层的部分可定义为可通过竖直存取线以电子方式定址的二维(2d)存储器单元阵列。多个层面可堆叠于存储器装置内(例如,竖直地堆叠)。每一层面可具有本身不同的耐久性水平。如上文所论述,耐久性可反映在物理损耗致使层面失效之前可写入到、读取和/或擦除所述层面的预期次数。举例来说,在两层面式存储器装置中,一个层面可在大约八百万个编程/擦除循环(pec)之后失效,而另一个层面可在大约四百万个pec之后失效。如果多层面存储器装置中的一个层面失效,那么整个存储器装置可经历失效。
14.因此,耗损均衡操作可能对具有相对高耐久性的层面使用不足,却过度使用具有相对低耐久性的层面。这可能由于具有相对低耐久性的层面触发整个存储器装置失效而引起存储器装置的使用寿命减小。
15.本公开的方面通过实施存储器装置中的基于层面的媒体管理操作来解决以上和其它缺陷。在一些实施例中,存储器子系统控制器可实施用于存储器装置的每一层面的每一mu的媒体管理度量。可使用mu写入计数、mu读取计数、mu擦除计数、层面耐久性因子、读取因子等的任何组合计算媒体管理度量。mu写入计数可反映在mu的寿命期间对mu执行的写入操作的数目。mu读取计数可反映在mu的寿命期间对mu执行的读取操作的量。mu擦除计数可反映在mu的寿命期间对mu执行的擦除操作的量。读取因子可为用以归一化(例如,将按不同尺度测量的计数调整为共同尺度)写入计数或读取计数的权重值。层面耐久性因子可反映层面的计划耐久性。存储器子系统控制器可使用存储器管理方案,其中较高层面耐久性因子降低响应于每一存储器存取命令而增加媒体管理度量的频率,或降低响应于每一存储器存取命令而使媒体管理度量增加的值。层面耐久性值可为反映与存储器装置的制造工艺有关的统计数据和分析结果的预定值、在类似条件下制造的其它存储器装置的性能,或任何其它与存储器装置的制造、检查、测试或性能有关的度量。
16.在一些实施例中,存储器子系统控制器可确定用于mu的媒体管理度量是否满足阈
值准则。举例来说,存储器子系统控制器可确定媒体管理度量的值是否超过预定阈值。可在存储器子系统的制造和/或校准期间设置预定阈值。响应于媒体管理度量超过预定阈值,存储器子系统控制器可执行媒体管理操作以将存储于mu处的数据重定位到不同mu。
17.本公开的优点包含但不限于存储器装置的改进的较长使用寿命。举例来说,基于层面的媒体管理度量可基于每一层面的预期耐久性将数据操作分布到多个层面当中。这允许存储器子系统通过防止单个层面在存储器装置上的其它层面还未接近其使用寿命的终点时到达失效点,以此延长存储器装置的使用寿命。因此,本公开的实施例通过鉴于层面的耐久性来平衡层面的物理损耗,以此提高存储器装置的性能和耐久性。
18.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
19.存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm),和各种类型的非易失性双列直插式存储器模块(nvdimm)。
20.计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置的计算装置。
21.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到
……”
或“与
……
耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
22.主机系统120可包含处理器芯片组和由所述处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用例如存储器子系统110将数据写入到存储器子系统110并从存储器子系统110读取数据。
23.主机系统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可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
24.存储器装置130、140可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
25.非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(nand)型快闪存储器和就地写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)和三维nand(3d nand)。
26.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(slc)可每单元存储一个位。其它类型的存储器单元(例如多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五到层级单元(plc))可每单元存储多个位。在一些实施例中,每一存储器装置130可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc、plc或其任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分、mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,nand),页可进行分组以形成块。一些类型的存储器(例如3d交叉点)可将跨裸片和通道的页分组以形成管理单元(mu)。mu是数据单位的一个实例。超级管理单元(smu)是数据单元的另一实例,且可包含一组多个mu(例如1000个mu、2000个mu等)。
27.存储器装置130可包含一或多个层面。层面可定义为具有导电存取线的存储器单元阵列。多个层面可堆叠于存储器装置130内。每一层面可具有本身不同的耐久性水平(例如,在物理损耗致使层面失效之前可写入到、读取和/或擦除层面大约多少次的指示)。
28.虽然描述了非易失性存储器组件,例如3d交叉点非易失性存储器单元阵列和nand型快闪存储器(例如,2d nand、3d nand),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom)。
29.存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,及其它这类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。
30.存储器子系统控制器115可为处理装置,其包含配置成执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含配置成存储指令的嵌入式存储器,所述指令用于进行控制存储器
子系统110的操作的各种过程、操作、逻辑流程和例程,包含处置存储器子系统110与主机系统120之间的通信。
31.在所示实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。
32.在一些实施例中,本地存储器119可包含存储存储器指针、提取的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,而是替代地可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
33.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如媒体管理操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)与物理地址(例如,物理mu地址、物理块地址)之间的地址转译。存储器子系统控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
34.存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可以包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
35.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以在存储器装置130的一或多个存储器单元上执行操作。外部控制器(例如,存储器系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110是包含原始存储器装置130的受管理存储器装置,所述原始存储器装置具有在裸片上的控制逻辑(例如,本地控制器132)和同一存储器装置封装内进行媒体管理的控制器(例如,存储器子系统控制器115)。受管理存储器装置的实例是受管理nand(mnand)装置。
36.存储器子系统110包含可用以基于存储器装置130的每一层面的层面耐久性度量实施媒体管理操作的媒体管理组件113。在一些实施例中,存储器子系统控制器115包含媒体管理组件113的至少一部分。在一些实施例中,媒体管理组件113是主机系统110、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含媒体管理组件113的至少一部分且被配置成执行本文所描述的功能性。
37.媒体管理组件113可基于媒体管理度量执行耗损均衡。媒体管理度量可反映mu或smu经历的耗损水平并且可用于确定是否将数据从一个mu(或smu)移动到另一mu(或smu)。举例来说,媒体管理组件113可维持用于存储器装置的每一mu的媒体管理度量。举例来说,媒体管理组件113可维持由多个记录组成的数据结构(例如,元数据表),其中每个记录使mu(经由mu识别符)与对应媒体管理度量值相关。在图4中示出元数据表的实例。
38.媒体管理组件113随后可确定用于mu的媒体管理度量是否满足阈值准则。举例来
说,媒体管理组件113可确定媒体管理度量的值是否超过预定阈值。可在存储器子系统110的制造和/或校准期间设置所述预定阈值。响应于媒体管理度量超过预定阈值,媒体管理组件113可执行媒体管理操作以将存储于mu处的数据重定位到不同mu。
39.在一些实施例中,媒体管理操作包含通过媒体管理组件113将数据从mu复制到存储器装置130上的可用物理方位。可选择此可用的物理方位作为例如具有最低写入计数的物理方位、最近最少存取的物理方位等。可用物理方位的列表可维持在存储于本地存储器119中的空闲池中。在复制数据之后,媒体管理组件113即刻记录与来自mu的数据相关联的逻辑地址到查找表中的可用物理地址的映射。在一个实施例中,查找表维持在存储器子系统控制器115的本地存储器119中。因此,当存储器子系统控制器115将逻辑地址施加到查找表时,输出对应的物理地址。在其它实施例中,映射可维持在某一其它类型的数据结构(例如阵列、链表等)中。
40.在一些实施例中,媒体管理度量可基于媒体管理度量方案,例如层面相依性写入方案、层面相依性写入和读取方案,或任何其它基于写入操作、读取操作和/或擦除操作的方案。在一些实施例中,层面相依性只写方案可表达为mu写入计数与层面耐久性因子的比率(例如,[mu写入计数]/[层面耐久性因子])。在一些实施例中,层面相依性写入和读取方案可表达为mu读取计数除以读取因子与mu写入计数之间的总和,其中所述总和除以层面耐久性因子(例如([mu写入计数]+([mu读取计数]/[读取因子]))/[层面耐久性因子])。在其它实施例中,层面相依性写入和读取方案可表达为mu写入计数与层面耐久性写入因子的比率加mu读取计数与层面耐久性读取因子的比率(例如,([mu写入计数]/[层面耐久性写入因子])+([mu读取计数]/[层面耐久性读取因子]))。
[0041]
mu写入计数可反映在mu的寿命期间对mu执行的写入操作的数目。举例来说,媒体管理组件113可跟踪对每一mu执行的写入操作。对于对mu执行的每个写入操作,媒体管理组件113可使mu写入计数器增加值1。
[0042]
mu读取计数可反映在mu的寿命期间对mu执行的读取操作的量。举例来说,媒体管理组件113可跟踪对每一mu执行的读取操作。对于对mu执行的每个读取操作,媒体管理组件113可使mu读取计数器增加值1。
[0043]
由读取操作引起的mu上的物理损耗可小于由写入操作引起的物理损耗。为组合mu的读取计数和写入计数,可通过加权写入计数或读取计数来归一化(例如,调整为共同尺度)mu的读取计数或写入计数。在一些实施例中,读取因子可反映读取操作相较于写入操作的权重。可在存储器子系统110的制造期间或在存储器子系统110的编程和/或校准期间确定和设置读取操作相较于写入操作的权重。因此,读取因子启用媒体管理组件113调整每个读取操作对媒体管理度量的效应的量值。举例来说,读取因子64意味着64个读取操作加权为单个写入操作相同。在一些实施例中,读取因子可为16、32、64、128、256或任何其它值。在一些实施例中,读取因子可设置为每一层面的不同值。可在存储器子系统110的制造期间或在存储器子系统110的编程和/或校准期间确定和设置每一层面的读取因子。读取因子可反映特定量的读取命令引起的耗损与写入命令的比率。
[0044]
层面耐久性因子可反映层面的计划耐久性。在一个示范性实例中,可将四个值(1、2、4和8)中的一个指配给存储器装置130的每一层面。所述四个值中的每一个可与层面耐久性度量相关,其中值1指示基线耐久性水平,值2指示比由值1指示的耐久性水平强的耐久性
水平,值4指示比由值2指示的耐久性水平强的耐久性水平,且值8指示比由值4指示的耐久性水平强的耐久性水平。可在存储器子系统110的制造期间或在存储器子系统110的编程和/或校准期间确定和设置层面耐久性值。层面耐久性值可反映与制造工艺有关的统计数据和分析结果、在类似条件下制造的其它存储器子系统的性能、相关存储器子系统的历史错误率,或任何其它与存储器子系统110的制造、检查、测试或性能有关的度量或参数。
[0045]
在一些实施例中,媒体管理方案可为不同类型的存储器存取命令使用不同层面耐久性因子。举例来说,媒体管理度量方案可使用一个值用于写入命令(例如,层面耐久性写入因子),使用另一值用于读取命令(层面耐久性读取因子),并且使用又一值用于擦除命令(层面耐久性擦除因子)。
[0046]
作为说明性实例,使用层面相依性只写方案并且使用mu,对于每一mu,媒体管理组件113可针对对mu执行的每个写入操作使mu写入操作计数器增加一。用于mu的媒体管理度量可等于mu写入操作计数器除以层面耐久性因子。耗损均衡组件113可将媒体管理度量与预定阈值进行比较。此比较可由耗损均衡组件113周期性地、在执行每个写入操作之后等执行。响应于媒体管理度量超过预定阈值,媒体管理组件113可执行媒体管理操作以将存储于mu处的数据重定位到不同mu。
[0047]
作为说明性实例,使用层面相依性写入和写入方案,对于每一mu,媒体管理组件113可针对对mu执行的每个写入操作使mu写入操作计数器增加一,并且针对对mu执行的每个读取操作使读取操作计数器增加1除以读取因子。用于mu的媒体管理度量可等于mu写入操作计数器与mu读取操作计数器除以层面耐久性因子的总和。耗损均衡组件113可将媒体管理度量与预定阈值进行比较。响应于媒体管理度量超过预定阈值,媒体管理组件113可执行媒体管理操作以将存储于mu处的数据重定位到不同mu。
[0048]
在一些实施例中,对于接收到的每一写入命令,媒体管理组件113可确定写入命令的物理地址引用的层面的层面耐久性因子。响应于层面耐久性因子是一,媒体管理组件113可使媒体管理度量增加值1。响应于层面耐久性因子大于一(值m),媒体管理组件113可产生规定范围内(例如,0或1和n之间)的随机数。响应于随机数未能超过n与m的比率(例如,n/m),媒体管理度量增加值一。表可包含多个记录,使得每个记录指示每一层面耐久性因子的规定范围。可在存储器子系统110的制造期间或在存储器子系统110的编程和/或校准期间确定和设置所述规定范围。所述规定范围可用以通过加权随层面耐久性因子而变的写入计数来归一化(例如,调整为共同尺度)媒体管理度量的增量增加。举例来说,层面耐久性因子2可指示层面与具有层面耐久性因子1的层面相比可经受两倍的pec。在规定范围1-n中,n可设置为值4。因此,响应于随机数产生器产生数值1或2,媒体管理组件113将使媒体管理度量增加值1(1和2不超过n/m值2)。响应于随机数产生器产生数值3或4,媒体管理组件113将不增加媒体管理度量(3和4超过n/m值2)。
[0049]
在一些实施例中,对于接收到的每一读取命令,媒体管理组件113可确定由从读取命令的逻辑地址转译的物理地址引用的层面的层面耐久性因子。响应于层面耐久性因子和读取因子的乘积是1,媒体管理组件113可使媒体管理度量增加值1。响应于层面耐久性因子和读取因子的乘积大于一(值m),对于层面上的每一读取命令,媒体管理组件113可产生规定范围内(例如,0或1和n之间)的随机数。响应于随机数未能超过n/m,媒体管理度量增加值一。
[0050]
在一些实施例中,可随写入操作、读取操作、擦除操作、层面耐久性因子、读取因子或其任何组合而变的确定媒体管理度量。在利用擦除操作的方案中,擦除计数器可反映在mu的寿命期间对mu执行的擦除操作的次数(mu的擦除数据)。擦除因子可反映擦除操作相较于写入操作和/或读取操作的权重。
[0051]
图2是说明根据本公开的一些实施例的针对媒体管理操作执行的过程的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的耗损均衡组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
[0052]
在操作210处,处理逻辑可接收指定逻辑地址的存储器存取命令。举例来说,处理逻辑可接收写入命令、读取命令、擦除命令等。
[0053]
在操作220处,处理逻辑可确定与逻辑地址相关联的物理地址。在一些实施例中,物理地址可位于层面的地址空间中。
[0054]
在操作230处,处理逻辑可确定存储器装置的被物理地址引用的部分。举例来说,处理逻辑可使用表确定存储器装置的哪个部分(例如,层面)包含地址空间。
[0055]
在操作240处,处理逻辑可确定与所述部分相关联的耐久性因子。举例来说,处理逻辑可使用数据结构(例如,元数据表)查找层面的耐久性因子。
[0056]
在操作250处,处理逻辑可使与存储器装置的管理单元相关联的媒体管理度量增加从耐久性因子导出的值。所述管理单元可被物理地址引用。在一些实施例中,处理逻辑可使用媒体管理方案确定是否增加媒体管理度量、使媒体管理度量增加多少量,或其任何组合。举例来说,处理逻辑可产生随耐久性因子而变的值,并且响应于所述值满足阈值准则,增加与物理地址相关联的媒体管理度量。所述值可通过产生规定范围内的随机数并确定所述随机数是否超过随机数和耐久性因子的函数而产生。
[0057]
在一些实施例中,响应于确定媒体管理度量满足准则,关于位于与物理地址相关联的地址空间中的数据执行媒体管理操作。举例来说,媒体管理操作可包含处理逻辑将存储于与物理地址相关联的地址空间处的数据写入到不同物理地址的新地址空间。可选择不同物理地址作为例如具有最低写入计数的物理地址、最近最少存取的物理地址等。处理逻辑随后可将所述逻辑地址映射到不同物理地址。
[0058]
图3示意性地说明根据本公开的一些实施例的由存储器装置300维持的实例层面。存储器装置300可类似于存储器130和/或存储器装置140。mu是数据单位的一个实例。举例来说,mu可为基于快闪的存储器的非易失性存储器或块(例如,在基于快闪的存储器中可擦除的最小数据单元)的交叉点阵列的页(例如,可写入至交叉点阵列或从交叉点阵列读取的最小数据单元)。超级管理单元(smu)是数据单元的另一实例,且可包含一组多个管理单元(例如1000个mu、2000个mu等)。
[0059]
存储器装置300包含层面310和层面320。每一层面310、320可包含多个smu。如所示出,层面310包含smu 315a到smu 315n,且层面320包含smu 325a到smu325n。每个smu可包含
固定数目的mu。媒体管理组件113可维持用于存储器装置300的每个smu的媒体管理度量。响应于对smu执行存储器存取操作,媒体管理组件113可使用本公开的一或多个媒体管理方案增加用于所述smu的媒体管理度量。
[0060]
图4示意性地说明根据本公开的一些实施例的由存储器子系统控制器维持的实例元数据。在一些实施例中,媒体管理组件113可维持元数据表400。在一些实施例中,元数据表400可存储于存储器子系统的存储器中(例如,存储器装置130、140、本地存储器119等处)并且可被媒体管理组件113引用以确定用于特定mu或smu的媒体管理度量。如图4中所说明,借助于示范性实例,元数据表400维持使层面310和320的每个smu与媒体管理度量相关的条目。每个smu可包含识别符。媒体管理组件113可使用本公开的一或多个媒体管理方案增加用于所述smu的媒体管理度量。
[0061]
图5说明计算机系统500的实例机器,可执行所述计算机系统500内的用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的媒体管理组件113的操作)。在替代性实施例中,机器可连接(例如联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
[0062]
所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
[0063]
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器506(例如,闪存存储器、静态随机存取存储器(sram)等),以及数据存储系统518,其经由总线530彼此通信。处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等等。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可另外包含网络接口装置508以在网络520上通信。
[0064]
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任一或多种的软件。指令526还可在由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
[0065]
在一个实施例中,指令526包含用于实施对应于图1的媒体管理组件113的功能性
的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
[0066]
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
[0067]
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
[0068]
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、cd-rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
[0069]
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
[0070]
本公开可提供为计算机程序产品或软件,其可包含在其上储存有可用以编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。举例来说,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读取存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
[0071]
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。