用于存储器子系统的媒体管理操作的扫描技术转让专利

申请号 : CN202010876384.9

文献号 : CN112445719A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱方芳王维J·朱戴颖煜

申请人 : 美光科技公司

摘要 :

本申请涉及用于存储器子系统的媒体管理操作的扫描技术。存储器的方法、系统和装置可包含用于以下的技术:识别存储器子系统的映射区域中第一多个超级管理单元SMU的第一写入计数量;通过所述存储器子系统的硬件组件识别所述第一多个中包含所述第一写入计数量中的最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于所述存储器子系统的未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。

权利要求 :

1.一种方法,其包括:

识别映射区域中第一多个超级管理单元SMU的第一写入计数量;

通过硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。

2.根据权利要求1所述的方法,其进一步包括:

至少部分地基于识别所述第一SMU,向存储器子系统的固件传输所述第一SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第一SMU的所述识别符。

3.根据权利要求2所述的方法,其进一步包括:

至少部分地基于传输所述第一SMU的所述识别符,从所述固件接收执行所述耗损均衡操作的命令,其中执行所述耗损均衡操作至少部分地基于接收到所述命令。

4.根据权利要求1所述的方法,其进一步包括:

从元数据表格检索所述第一多个SMU的所述第一写入计数量,其中识别所述第一写入计数量至少部分地基于从所述元数据表格检索所述写入计数。

5.根据权利要求1所述的方法,其进一步包括:

识别所述未映射区域中所述第二多个SMU的第二写入计数量;

至少部分地基于识别所述第二多个的所述第二写入计数量,识别所述第二多个中包含最少写入计数量的所述第二SMU,其中执行所述耗损均衡操作至少部分地基于识别所述第二多个中的所述第二SMU;以及确定所述第一写入计数量小于所述第二写入计数量,其中执行所述耗损均衡操作至少部分地基于所述确定。

6.根据权利要求5所述的方法,其进一步包括:

至少部分地基于识别所述第二SMU,向存储器子系统的固件传输所述第二SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第二SMU的所述识别符。

7.根据权利要求1所述的方法,其进一步包括:

从存储器子系统的固件接收执行所述存储器子系统的所述SMU的扫描的命令;以及至少部分地基于接收到所述命令,执行所述SMU的所述扫描,其中识别所述第一SMU至少部分地基于执行所述扫描。

8.根据权利要求7所述的方法,其中所述命令包括由所述硬件组件发起所述扫描的周期性。

9.根据权利要求7所述的方法,其中所述命令包括将所述扫描的结果传输到所述固件的周期性。

10.根据权利要求1所述的方法,其进一步包括:确定所述第一SMU的所述第一写入计数量满足阈值;以及至少部分地基于确定所述第一SMU的所述第一写入计数量满足所述阈值,发起存储器子系统的所述SMU的扫描。

11.根据权利要求10所述的方法,其进一步包括:从所述存储器子系统的固件接收所述阈值的指示,其中确定所述第一SMU的所述第一写入计数量满足所述阈值至少部分地基于接收到所述指示。

12.根据权利要求1所述的方法,其进一步包括:比较所述第一写入计数量与所述第二写入计数量,其中执行所述耗损均衡操作至少部分地基于执行所述比较。

13.根据权利要求1所述的方法,其进一步包括:将存储在所述映射区域中所述第一多个中的所述第一SMU上的数据传送到所述未映射区域中的所述SMU的至少一部分,其中执行所述耗损均衡操作至少部分地基于传送所述数据;以及至少部分地基于传送所述数据,更新存储器子系统的元数据表格。

14.一种方法,其包括:

从存储器子系统的硬件组件接收映射区域中第一多个超级管理单元SMU中的第一SMU的第一写入计数量的指示,所述第一SMU具有所述第一多个SMU中的最少写入计数量;

通过所述存储器子系统的固件识别未映射区域中第二多个SMU中的第二SMU;

通过所述固件确定所述映射区域中所述第一多个中的所述第一SMU的所述第一写入计数量小于所述未映射区域中所述第二多个SMU中的所述第二SMU的第二写入计数量;以及至少部分地基于确定所述第一量小于所述第二量,发起耗损均衡操作。

15.根据权利要求14所述的方法,其进一步包括:从所述硬件组件接收所述未映射区域中的所述第二SMU的所述第二写入计数量,其中识别所述第二量至少部分地基于接收到所述第二量。

16.根据权利要求14所述的方法,其进一步包括:从所述存储器子系统的元数据表格检索所述第二SMU的写入计数,其中识别所述第二量至少部分地基于从所述元数据表格检索所述写入计数。

17.根据权利要求14所述的方法,其进一步包括:至少部分地基于确定所述第一量小于所述第二量,向所述存储器子系统传输命令,其中发起所述耗损均衡操作至少部分地基于传输所述命令。

18.一种系统,其包括:

多个存储器组件;以及

处理装置,其与所述多个存储器组件操作性地耦合且用于:识别映射区域中第一多个超级管理单元SMU的第一写入计数量;

通过存储器子系统的硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;

以及

至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。

19.根据权利要求18所述的系统,其中所述处理装置进一步可用于:至少部分地基于识别所述第一SMU,向所述存储器子系统的固件传输所述第一SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第一SMU的所述识别符。

20.根据权利要求19所述的系统,其中所述处理装置进一步可用于:至少部分地基于传输所述第一SMU的所述识别符,从所述固件接收执行所述耗损均衡操作的命令,其中执行所述耗损均衡操作至少部分地基于接收到所述命令。

说明书 :

用于存储器子系统的媒体管理操作的扫描技术

[0001] 相关申请的交叉引用
[0002] 本专利申请要求朱(Zhu)等人于2019年8月29日提交的标题为“用于存储器子系统的媒体管理操作的扫描技术(SCANNING TECHNIQUES FOR A MEDIA-MANAGEMENT OPERATION OF A MEMORY SUB-SYSTEM)”且转让给本受让人的第16/555,997号美国专利申请的优先权,所述申请以全文引用的方式并入本文中。

技术领域

[0003] 下文大体上涉及存储器子系统,且更确切地说,涉及用于存储器子系统的媒体管理操作的扫描技术。

背景技术

[0004] 存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统在存储器组件处存储数据且从存储器组件检索数据。

发明内容

[0005] 描述一种方法。所述方法可包含:识别映射区域中第一多个超级管理单元(SMU)的第一写入计数量;通过硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。
[0006] 描述一种方法。所述方法可包含:从存储器子系统的硬件组件接收映射区域中第一多个SMU中的第一SMU的第一写入计数量的指示,所述第一SMU具有所述第一多个SMU中的最少写入计数量;通过所述存储器子系统的固件识别未映射区域中第二多个SMU中的第二SMU;通过所述固件确定所述映射区域中所述第一多个中的所述第一SMU的所述第一写入计数量小于所述未映射区域中所述第二多个SMU中的所述第二SMU的第二写入计数量;以及至少部分地基于确定所述第一量小于所述第二量,发起耗损均衡操作。
[0007] 描述一种系统。所述系统可包含多个存储器组件和处理装置,所述处理装置与所述多个存储器组件操作性地耦合且用于:识别映射区域中第一多个SMU的第一写入计数量;通过存储器子系统的硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。

附图说明

[0008] 图1示出根据如本文中所公开的实例的计算环境的实例。
[0009] 图2示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的存储器装置过程流的实例。
[0010] 图3示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的存储器子系统控制器过程流的实例。
[0011] 图4示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的系统的实例。
[0012] 图5示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的计算机系统的实例机器。

具体实施方式

[0013] 本公开的方面涉及用于存储器子系统的媒体管理操作的扫描技术。存储器子系统可以是存储装置、存储器模块或存储装置和存储器模块的混合物。参考图1描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含存储数据的一或多个存储器装置的存储器子系统。主机系统可提供将存储在存储器子系统处的数据,并且可请求将从存储器子系统检索的数据。
[0014] 存储器装置可以是非易失性存储器装置,它是一或多个裸片的封装。封装中的裸片可以指派给一或多个通道用于与存储器子系统控制器通信。非易失性存储器装置包含分组成页以存储数据位的单元(即,存储信息的电子电路)。非易失性存储器装置可包含三维交叉点(“3D交叉点”)存储器装置,它们是可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储的非易失性存储器交叉点阵列。非易失性存储器装置的另一实例是“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。
[0015] 3D交叉点存储器装置可跨裸片和通道将页分组以形成管理单元(MU)。MU可包含用户数据和对应元数据。存储器子系统控制器可向存储器装置发送和从存储器装置接收用户数据和对应元数据作为管理单元。超级管理单元(SMU)是一组一起受管理的一或多个MU。例如,存储器子系统控制器可对SMU执行媒体管理操作(例如,耗损均衡操作、刷新操作等)。媒体管理操作的其它实例包含垃圾数据收集和清理操作。
[0016] 主机系统可向存储器子系统发送存取请求(例如,写入命令、读取命令),例如在存储器子系统处的存储器装置上存储数据和从存储器子系统上的存储器装置读取数据。如由主机请求指定,要读取或写入的数据在下文称为“主机数据”。
[0017] 存取操作可通过存储器装置上的存储器子系统执行,并且可包含读取操作、擦除操作、写入操作和重写操作。存取操作可导致存储器单元的耗损。在一些情况下,一些存储器单元的耗损可不同于存储器装置内的其它存储器单元。存储器单元的耗损不均匀性的原因可在于一些存储器单元的存取比其它存储器单元更频繁。在此类实例中,存储器装置内被更频繁地存取的存储器单元的读取/写入寿命可低于其它存储器单元。因而,存储器装置的总寿命可受到被更频繁地存取的存储器单元的不利影响。存储器子系统可实施一或多个耗损均衡操作,以在更广泛数量的存储器单元上分布存取操作,并由此延长存储器装置的总寿命。
[0018] 耗损均衡是一种通过跨存储器装置分布写入操作而帮助减少存储器装置中的过早耗损的过程。耗损均衡包含一组操作,用于确定每次对数据进行编程时要使用的物理媒体(例如,存储器单元组),以帮助确保某些物理存储器单元组的写入和擦除频率不会高于其它物理存储器单元组。耗损均衡操作可包含对存储器单元的写入的热交换和冷交换。“热”在下文中是指存取频率相对较高。“冷”在下文中是指存取频率相对较低。“存取”在下文中是指读取、写入和擦除。存储器单元的热交换可包含识别在一段时间内存取或(例如,写入)次数满足阈值的存储器单元(例如,存储器单元为“热”并且被相当频繁地存取)。当满足操作或写入操作的阈值次数时,存储器子系统可将“热”存储器单元的数据(例如,主机数据、元数据)传送到不同存储器单元,以使不同存储器单元之间的相对耗损均衡。
[0019] 本公开的方面通过具有可以执行或协调一或多个耗损均衡操作的存储器子系统来解决上述和其它缺陷。存储器单元的冷交换可包含识别用于耗损均衡操作的存储器单元,其存取量不如用于上述热交换的“热”存储器单元多。例如,存储器子系统可以计数对SMU的映射区域(例如,SMU中存储器单元正主动写入的区域)中的存储器单元执行的写入操作的次数(例如,写入计数)。存储器子系统可以比较对映射区域中的所有SMU执行的写入操作的最小次数(例如,最小写入计数)与对SMU的未映射区域(例如,SMU中存储器单元未主动写入的区域)中的存储器单元执行的写入操作的最小次数(例如,最小写入计数)。存储器子系统可识别未映射区域中具有最小写入计数的SMU。在一些情况下,当映射区域中SMU的最小写入计数小于未映射区域中SMU的最小写入计数时,存储器子系统可交换存储在所述两个SMU中的数据。在这些情况下,存储器子系统可写入到以前未映射的SMU(例如,交换到映射区域),并且存储器子系统可停止写入到以前映射的SMU(例如,交换到未映射区域)。执行此类操作可以在整个存储器装置的映射和未映射SMU之间更均匀地分布耗损。但是,SMU的写入计数可能难以跟踪,因为存储器子系统一直在向存储器装置中的许多SMU写入。因而,写入计数可能一直在变化。因此,在一些情况下,确定具有最小写入计数的SMU可能需要多个时钟循环,因为SMU的写入计数可能一直在变化,由此造成对写入计数的频繁扫描。此外,执行对当前写入计数的扫描可在存储器子系统的操作中引入时延,因为计数所有SMU的当前写入计数可能会使用大量数据处理,它们会使用存储器子系统的处理资源。
[0020] 在一些实施例中,存储器子系统可扫描含有对SMU或存储器单元自身执行的存取操作的列表的表格或另一数据结构。存储器子系统可基于扫描而确定映射和未映射SMU的最小写入计数。最小写入计数可用于触发冷交换,如上文所描述。在一些情况下,可以使用硬件(例如,扫描引擎)执行所述表格或另一数据结构的扫描。硬件可减小扫描的时延,并因此提高系统的性能。
[0021] 本公开的特征一开始在参考图1所描述的计算环境的上下文中加以描述。本公开的特征在参考图2和3所描述的时序图的上下文中加以描述。本公开的这些和其它特征进一步通过参考图4-5所描述的设备图和计算图来说明,并参考这些图加以描述。
[0022] 图1示出根据如本文中所公开的实例的计算环境100的实例。计算环境可包含主机系统105和存储器子系统110。存储器子系统110可包含媒体,例如一或多个非易失性存储器装置(例如,存储器装置130)、一或多个易失性存储器装置(例如,存储器装置140)或其组合。
[0023] 存储器子系统110可以是存储装置、存储器模块或存储装置和存储器模块的混合物。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外廓DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
[0024] 计算环境100可包含与存储器系统耦合的主机系统105。存储器系统可以是一或多个存储器子系统110。在一些实例中,主机系统105与不同类型的存储器子系统110耦合。图1示出与一个存储器子系统110耦合的主机系统105的一个实例。主机系统105使用存储器子系统110,例如,将数据写入到存储器子系统110并从存储器子系统110读取数据。如本文中所使用,“耦合到”或“与耦合”大体上是指组件之间的连接,此连接可以是间接通信连接或直接通信连接(例如,不具有中间组件),不管是有线还是无线,包含电气、光学、磁性等连接。
[0025] 主机系统105可以是计算装置,例如台式电脑、笔记本电脑、网络服务器、移动装置、车辆(例如,飞机、无人机、火车、汽车或其它运输工具)、嵌入式系统、物联网(IoT)装置,或此类包含存储器和处理装置的计算装置。主机系统105可以使用物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等等。物理主机接口可用于在主机系统105和存储器子系统110之间传输数据。当存储器子系统
110通过PCIe接口与主机系统105耦合时,主机系统105可另外利用NVM快速(NVMe)接口存取存储器组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110和主机系统105之间传递控制、地址、数据和其它信号的接口。
[0026] 存储器装置可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
[0027] 非易失性存储器装置(例如,存储器装置130)的实例包含3D交叉点型快闪存储器,它是非易失性存储器单元交叉点阵列。非易失性存储器交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可以在其先前已进行擦除的情况下进行编程。
[0028] 虽然描述了例如3D交叉点类型存储器的非易失性存储器组件,但存储器装置130可以基于任何其它类型的非易失性存储器,例如“与非”(NAND)、只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(FeRAM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器,以及电可擦除可编程只读存储器(EEPROM)。
[0029] 在一些实施例中,存储器装置130中的每一个可包含存储器单元的一或多个阵列,例如单层级单元(SLC)、多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)或这些的组合。在一些实例中,特定存储器组件可包含存储器单元的SLC部分,以及MLC部分、TLC部分或QLC部分。存储器单元中的每一个可存储供主机系统105使用的一或多个数据位。
[0030] 存储器子系统控制器115可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合的硬件。存储器子系统控制器
115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。
[0031] 存储器子系统控制器115可包含处理器120(例如,处理装置),其配置成执行存储在本地存储器125中的指令。在所示的实例中,存储器子系统控制器115的本地存储器125包含嵌入式存储器,其配置成存储用于执行各种过程、操作、逻辑流以及控制存储器子系统110的操作的例程的指令,包含处理存储器子系统110与主机系统105之间的通信。
[0032] 在一些实例中,本地存储器125可包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器125还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实例中,存储器子系统110无法包含存储器子系统控制器115,而是替代地可以依赖于外部控制(例如,通过外部主机提供,或通过与存储器子系统分开的处理器或控制器提供)。
[0033] 一般来说,存储器子系统控制器115可从主机系统105接收命令或操作,并且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如耗损均衡操作、垃圾数据收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及逻辑块地址(例如,逻辑块地址(LBA))和物理地址之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统105通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统105的信息。
[0034] 存储器子系统110还可包含没有示出的额外电路系统或组件。在一些实例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),它们可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130。
[0035] 在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115用于对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130可以是本地管理的存储器装置,它是与本地媒体控制器135组合的原始存储器装置,所述本地媒体控制器135对相同存储器装置封装内的存储器装置130执行存储器管理操作。
[0036] 存储器子系统110包含扫描管理器150,它可使用元数据表格155和扫描引擎160来确定存储器装置130内SMU的写入计数。扫描管理器150的功能可由存储器子系统110、存储器子系统控制器115、存储器装置130、本地媒体控制器135或其组合实施。元数据表格155可记录存储器装置130内存储器单元上的写入操作的发生。在一些实例中,元数据表格155可以是本地媒体控制器135的部分。但是,在一些实例中,元数据表格155可以与存储器装置130中的本地媒体控制器135分离。在一些实例中,元数据表格155可由存储器子系统控制器
115扫描。存储器子系统控制器115可检索存储在元数据表格中的数据,并且可确定是否应该触发耗损均衡操作。触发存储器子系统控制器115的耗损均衡操作可基于存储器装置130的SMU中存储器单元的写入计数。此类实施例可使用大量处理资源和/或通信资源,这可能是因为存储器子系统控制器115和存储器装置130之间用于执行此类操作的信令。在其它实施例中,存储器装置130内的专用硬件可配置成扫描元数据表格155,并确定是否应该触发耗损均衡操作。在一些情况下,专用硬件可以是扫描引擎160的实例。在一些实例中,存储器子系统控制器115包含扫描管理器150的至少一部分。例如,存储器子系统控制器115可包含配置成执行存储在本地存储器125中的指令以执行本文中所描述的操作的处理器120(例如,处理装置)。在一些实例中,扫描管理器150是主机系统105、应用程序或操作系统的部分。
[0037] 存储器子系统110可包含扫描管理器150,它使用扫描引擎160扫描元数据表格155并确定存储器装置130内SMU的写入计数。扫描引擎160可扫描元数据表格155,以确定存储器装置130中数据正在主动写入的区域(例如,存储器装置130的映射区域)中SMU的写入计数。扫描引擎160还可扫描元数据表格155,以确定存储器装置130中数据未主动写入的区域(例如,存储器装置130的未映射区域)中SMU的写入计数。扫描引擎160可确定在映射区域和未映射区域中具有最小写入计数的SMU。
[0038] 扫描管理器150可使用扫描引擎160,它可独立于存储器子系统控制器115扫描元数据表格155。在这些情况下,存储器子系统控制器115的处理能力不会受到元数据表格155的扫描的影响。这可改善存储器子系统110的操作的时延。扫描引擎160扫描元数据表格155的速度还可快于其它方法,例如快于存储器子系统控制器115的扫描速度。在这些情况下,确定SMU的写入计数的时延可以减小。因此,用于耗损均衡的写入计数可以更准确,因为元数据表格155的扫描进行得比其它方法更快。下文描述关于扫描管理器150、元数据表格155和扫描引擎160的操作的其它细节。
[0039] 图2示出支持用于存储器子系统的媒体管理操作的扫描技术的方法200的实例。在一些实例中,方法200可由存储器子系统、存储器装置或其组合执行,它们可以是参考图1所描述的存储器子系统110或存储器装置130的实例。
[0040] 方法200可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法200可通过图1的本地媒体控制器135执行。在其它实施例中,方法200可以另外或替代地通过图1的存储器子系统控制器115执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程的次序可以修改。因此,所示实施例应理解为只是实例,并且所示过程可以按照不同次序执行,一些过程可以并行执行。另外,在各种实施例中,可以省略一或多个过程。因此,并非在每个实施例中都使用所有过程。其它过程流是可能的。
[0041] 存储器子系统可从主机系统接收存取命令。此类存取命令可以是可读取、擦除、写入和/或重写数据到存储器子系统的存储器装置中特定存储器单元读取命令、写入命令或擦除命令。在一些情况下,在存储器单元中写入数据可使存储器单元耗损,这可能会限制存储器子系统内的存储器单元的寿命。在一些情况下,如果任存储器子系统的耗损发展,那么存储器子系统的寿命可能会缩短。
[0042] 为了减小由对存储器子系统中的存储器单元的存取操作(例如,写入操作)造成的耗损的影响,可使用耗损均衡操作。在一些实例中,耗损均衡可限制由旋转存储频繁存取的数据或被映射到导致SMU的存储器单元被频繁存取的用途的SMU或存储器单元造成的耗损的影响。耗损均衡可为一种通过跨存储器装置的SMU分布写入操作来帮助减少存储器装置中的过早耗损的过程。耗损均衡可包含一组操作,用于确定要使用的物理媒体(例如,存储器单元组)。每一时间数据进行编程,以帮助确保某些物理存储器单元组的写入频率不会高于其它物理存储器单元组。耗损均衡可允许特定存储器单元的耗损类似于存储器子系统内其它存储器单元所经受的耗损(例如,不同单元的耗损可以均衡)。在一些实例中,写入操作跨存储器子系统的不同单元的均匀分布可确保特定存储器单元与其它存储器单元相比不会被更频繁地写入。
[0043] 耗损均衡可包含将数据从“热”SMU传送到不太主动的SMU。在这些情况下,SMU内存储器单元的热交换可基于SMU内的存储器单元经受的写入操作的最大次数满足阈值。存储器单元的热交换可包含识别一段时间内存取或写入的次数满足阈值的存储器单元(例如,存储器单元为“热”并且被相当频繁地存取)。当满足操作或写入操作的阈值次数时,存储器子系统可将“热”存储器单元的数据传送到不同存储器单元,以使不同存储器单元之间的相对耗损均衡。例如,存储器子系统可计数对具有被主动写入的SMU的存储器单元执行的写入操作的次数(例如,新鲜写入计数)。写入操作的阈值(例如,限值)可以由存储器子系统控制器和/或主机装置设置并被传送到本地媒体控制器。当满足写入操作的阈值次数(例如,新鲜写入计数大于或等于阈值)时,存储器子系统可将“热”存储器单元的数据传送到不同存储器单元,以使不同存储器单元之间的相对耗损均衡。一旦达到阈值,存储器子系统控制器、本地媒体控制器或主机装置就可触发数据的交换。热存储器单元中数据到不同SMU的热交换可以通过限制SMU可经受的主动写入的最大次数来减轻特定SMU中的某些存储器单元的过度耗损。
[0044] 耗损均衡可包含存储在存储器单元或SMU中的数据的冷交换。存储器单元的冷交换可包含识别用于耗损均衡操作的存储器单元,其存取量不如用于上述热交换的“热”存储器单元多。在此情况下,存储器单元中存储在SMU内的数据的冷交换可贯穿存储器装置中的SMU均匀地分布对存储器单元执行的最小次数的写入操作。冷交换可涉及协调存储器子系统控制器和本地媒体控制器,例如参考图1所描述的存储器子系统控制器115和本地媒体控制器135。在一些情况下,本地媒体控制器可包含专用硬件,例如扫描引擎和元数据表格(例如,参考图1所描述的扫描引擎160和元数据表格155)。但是,在一些实例中,专用硬件和元数据表格可以独立于存储器装置中的本地媒体控制器。
[0045] 在操作205处,本地媒体控制器可从存储器子系统控制器接收扫描命令。在一些实例中,存储器子系统可从存储器子系统的固件接收执行存储器子系统的SMU的扫描的命令,并至少部分地基于接收到所述命令,执行SMU的扫描,其中识别第一SMU至少部分地基于执行所述扫描。扫描命令可触发元数据表格的扫描。所述扫描可用于确定存储器装置中的每个SMU或存储器装置的映射区域中的每个SMU的写入计数。SMU的写入计数可用于识别在存储器装置的映射和未映射区域中具有最小写入计数的SMU。
[0046] 元数据表格可含有对存储器装置内的SMU或存储器单元执行的存取操作(例如,写入操作)日志。扫描可涉及分析表格中的元数据的至少一部分,以确定每个SMU或每个存储器单元已经受的存取次数。每一个SMU的写入计数可以基于对每个SMU内的存储器单元执行的写入操作次数。因而,元数据表格中所含的数据量可能特别大(例如,约数千兆比特的数据)。在这些情况下,存储器子系统控制器可使用大量时间和/或处理能力来扫描元数据表格并确定写入计数。这可将时延引入到系统中,因为存储器子系统控制器中的资源可能需要专门用于扫描元数据表格来确定每个SMU的写入计数,而不是用于其它操作。另外,由于扫描中的时延,存储器子系统控制器所确定的写入计数不可能是准确的,因为数据在元数据表格的扫描期间可能是不断地写入到存储器装置的。
[0047] 元数据表格的扫描可通过专用硬件(例如,扫描引擎)执行。扫描引擎可通过使用以特定配置布置的硬件组件并通过减少存储器装置和存储器子系统之间的信令来提高执行扫描的速度和/或效率。在这些情况下,扫描引擎可用作存储器装置的本地媒体控制器内的专用硬件零件。扫描引擎可独立于存储器子系统控制器扫描元数据表格。这可缓解存储器子系统控制器扫描元数据表格的处理负担。这还可减少存储器子系统控制器用来扫描元数据表格的功率消耗。扫描引擎扫描元数据表格的速度还可快于存储器子系统控制器。这可增加扫描的准确性。例如,SMU的写入计数在映射区域(例如,存储器装置中数据主动写入的区域)中可能一直在变化,因为一直在向那些存储器单元写入数据。扫描引擎可快速扫描元数据表格,并报告SMU写入计数,报告速度相比于其它扫描方法更快。这可允许确定的写入计数更准确,因为从发起扫描到通过利用扫描引擎完成扫描的时间更短。
[0048] 在第一实例中,元数据表格的扫描可以基于可通过存储器子系统控制器确定的扫描频率(例如,周期性)来执行。例如,存储器子系统控制器可确定周期性,扫描引擎以所述周期性发起元数据表格的扫描(例如,每1毫秒)。存储器子系统控制器可以各种方式传送选定周期性。在一些实例中,存储器装置可接收包含周期性或频率的命令,然后使用所述周期性或频率发起对其自身的扫描。在一些实例中,命令包含由硬件组件发起扫描的周期性。在一些实例中,存储器装置可接收在基于周期性进行的每次扫描时触发扫描引擎扫描元数据表格的命令。在此类实例中,存储器子系统控制器跟踪选定周期性。扫描引擎可基于接收到这些类型的命令而扫描元数据表格。扫描引擎可在完成扫描之后将SMU的写入计数返回到本地媒体控制器。
[0049] 在第二实例中,元数据表格的扫描可以一直执行,且可以基于某一频率(例如,周期性)报告扫描结果。在此实例中,扫描引擎可发起元数据表格的持续扫描以确定SMU的写入计数。存储器子系统控制器可确定周期性地接收扫描结果(例如,写入计数)的时间。存储器子系统控制器可以各种方式传送选定周期性。在一些实例中,存储器装置可接收包含周期性或频率的命令,然后使用所述周期性或频率发起对其自身的扫描。在一些实例中,存储器装置可接收使本地媒体控制器返回写入计数作为扫描结果的命令。在一些实例中,命令包含将扫描结果传输到固件的周期性。接着,本地媒体控制器可响应于命令将写入计数值返回到存储器子系统控制器。在此情况下,相比于其中通过存储器子系统控制器触发扫描的实施例,系统的时延可减小,因为本地媒体控制器不需要等到扫描完成再发送写入计数。
[0050] 可以从元数据表格的扫描中保留一些SMU地址。例如,扫描大小可以基于从扫描中去除特定数目的SMU。在此实例中,扫描可从扫描中去除N个SMU。所去除的SMU的数目可以与未被存储器装置用于存储数据的SMU的数目相同(例如,O个)。在此实例中,如果发生冷交换,那么未使用的SMU的数目可减少一个(例如,O=O-1)。在一些实例中,扫描发起的次数可以是扫描中未使用的SMU的数目(例如,N)(即,扫描频率可通过所述数目确定)。在一些情况下,扫描频率可以基于存储器装置中未使用的SMU的数目(例如,O个)。例如,在一些情况下,扫描频率可以基于未使用的SMU的数目小于阈值次数T(例如,O<T)。
[0051] 元数据表格的扫描可以基于映射区域中SMU的写入计数的阈值来发起。在一些实例中,存储器子系统可确定第一SMU的第一写入计数量满足阈值;以及至少部分地基于确定第一SMU的第一写入计数量满足阈值,发起存储器子系统的SMU的扫描。在一些实例中,存储器子系统可从存储器子系统的固件接收阈值的指示,其中确定第一SMU的第一写入计数量满足阈值至少部分地基于接收到所述指示。例如,写入计数的阈值数目可以确定并与映射区域中SMU的写入计数比较。在此实例中,一旦达到写入计数的阈值,就可进行元数据表格的扫描。
[0052] 存储器子系统控制器和/或扫描引擎对元数据表格的扫描可确定存储器装置的映射和未映射区域中SMU的最小写入计数。如本文所描述,存储器装置的映射区域可以是其中数据正在主动写入到存储器单元的区域。未映射区域可以是存储器装置中数据未主动写入的区域。映射和未映射区域的SMU的写入计数可用于确定何时可以发起耗损均衡,例如冷交换。
[0053] 在操作210处,可以从元数据表格检索SMU的写入计数。在一些实例中,存储器子系统可从存储器子系统的元数据表格检索一或多个SMU的第一写入计数量,其中识别第一写入计数量至少部分地基于从元数据表格检索写入计数。例如,本地媒体控制器可检索存储器装置中的SMU的写入计数,这可基于扫描引擎扫描元数据表格。检索到的写入计数可包含映射和未映射区域中的任一个或两个SMU的写入计数。检索到的写入计数可用于确定映射和未映射区域的最小写入计数。
[0054] 在操作215处,可以识别映射区域中具有最小写入计数的SMU。在一些实例中,存储器子系统可识别映射区域中一或多个SMU的第一写入计数量。在一些实例中,存储器子系统可通过存储器子系统的硬件组件识别一或多个SMU中包含第一写入计数量中的最少写入计数量的第一SMU。元数据表格的扫描可确定存储器装置的映射区域中的SMU的写入计数。映射区域中的每一个SMU都可具有对应写入计数。在一些实施例中,扫描引擎可识别映射区域中的SMU中的哪一SMU具有最小写入计数。替代地或另外,本地媒体控制器可识别映射区域中的SMU中的哪一SMU具有最小写入计数。此SMU写入计数可以与未映射区域中的SMU写入计数进行比较,以确定是否在存储器装置中触发耗损均衡操作。
[0055] 在操作220处,本地媒体控制器可向存储器子系统控制器传输SMU的标识和/或映射区域的最小写入计数。在一些实例中,存储器子系统可至少部分地基于识别第一SMU而向存储器子系统的固件传输第一SMU的识别符,其中执行耗损均衡操作至少部分地基于传输第一SMU的识别符。识别符可包含映射区域中具有最小写入计数的SMU的当前写入计数。识别符可另外或替代地包含SMU的地址。在一些情况下,识别符还可包含存储器装置的映射区域中的最小写入计数。识别符可供存储器子系统控制器用于确定何时应该触发耗损均衡操作。
[0056] 在操作225处,可以识别未映射区域中具有最小写入计数的SMU。在一些实例中,存储器子系统可识别未映射区域中一或多个SMU的第二写入计数量。在此类实例中,元数据列表的扫描可确定存储器装置的未映射区域中的SMU的写入计数。未映射区域中的每一个SMU可具有对应写入计数。在一些实例中,本地媒体控制器可识别未映射区域中的SMU中的哪一SMU具有最小写入计数。例如,存储器子系统可至少部分地基于识别一或多个SMU的第二写入计数量而识别一或多个SMU中包含最少写入计数量的第二SMU,其中执行耗损均衡操作至少部分地基于识别一或多个SMU中的第二SMU。此SMU写入计数可以与映射区域中的SMU写入计数进行比较,以确定是否在存储器装置中触发耗损均衡操作。在一些实例中,存储器子系统可比较第一写入计数量与第二写入计数量,其中执行耗损均衡操作至少部分地基于执行所述比较。在其它实例中,未映射区域中的SMU的最小写入计数可由存储器子系统控制器确定。在此类实例中,本地媒体控制器和/或扫描引擎无法识别未映射SMU的写入计数。
[0057] 在操作230处,本地媒体控制器可任选地向存储器子系统控制器传输未映射区域中具有最小写入计数的SMU的标识。在一些实例中,存储器子系统可至少部分地基于识别第二SMU而向存储器子系统的固件传输第二SMU的识别符,其中执行耗损均衡操作至少部分地基于传输第二SMU的识别符。识别符可包含未映射区域中具有最小写入计数的SMU的当前写入计数。识别符可另外或替代地包含此SMU在存储器装置的未映射区域内的地址。识别符可供存储器子系统控制器用于确定何时应该触发耗损均衡操作。
[0058] 在操作235处,存储器子系统控制器可确定映射区域中具有最小写入计数的SMU的写入计数是否小于未映射区域中具有最小写入计数的SMU的写入计数。例如,存储器子系统可确定第一写入计数量小于第二写入计数量,其中执行耗损均衡操作至少部分地基于所述确定。在一些实例中,存储器子系统控制器可比较所述两个最小写入计数SMU的写入计数。如果存储器子系统控制器确定映射区域中的SMU的最小写入计数小于未映射区域中的SMU的写入计数,那么可以触发耗损均衡操作。在其它实例中,存储器子系统控制器可确定映射区域中具有最小写入计数的SMU的写入计数是否小于未映射区域中的SMU的写入计数(不一定是最小写入计数)。如果存储器子系统控制器确定映射区域中的SMU的最小写入计数小于未映射区域中的SMU的写入计数,那么可以触发耗损均衡操作。在一些情况下,本地媒体控制器可另外或替代地比较写入计数,并确定是否可以触发耗损均衡操作,而不是存储器子系统控制器。
[0059] 在操作240处,本地媒体控制器可接收耗损均衡命令并在存储器装置中执行耗损均衡操作。在一些实例中,存储器子系统可至少部分地基于传输第一SMU的识别符而从固件接收执行耗损均衡操作的命令,其中执行耗损均衡操作至少部分地基于接收到所述命令。耗损均衡命令可基于映射和/或未映射区域中的SMU的最小写入计数的指示。映射和未映射区域中具有最小写入计数的SMU的指示可供存储器子系统控制器用于确定映射区域中的SMU的最小写入计数是否小于未映射区域中的SMU的写入计数。在此情况下,当映射区域中具有最小写入计数的SMU的写入计数小于未映射区域中具有最小写入计数的SMU的写入计数时,可以将耗损均衡命令发送到存储器装置。此命令可基于存储器子系统控制器的确定,它可限定存储器装置中的耗损均衡操作何时进行是合适的。
[0060] 可以基于来自存储器子系统控制器的命令在存储器装置中执行耗损均衡操作。在一些实例中,存储器子系统可至少部分地基于映射区域中一或多个SMU中的第一SMU的第一写入计数量小于未映射区域中一或多个SMU中的第二SMU的第二写入计数量而执行耗损均衡操作。例如,当存储器装置从存储器子系统控制器接收耗损均衡命令时,可以触发SMU的交换。在冷交换的情况下,当接收到命令时,可以停止将数据写入到映射区域中具有最小计数的SMU,并且可以开始写入到未映射区域中具有最小写入计数的SMU。在此实例中,所述两个SMU可“交换”写入,并因此“交换”它们的映射和未映射分类。在一些情况下,存储在映射区域中的SMU中的数据可以传送到未映射区域中的SMU。这可以作为耗损均衡操作的部分来执行,或者在一些情况下,独立于耗损均衡操作来执行。在任一情况下,可以更新元数据表格以反映数据从映射区域中的SMU到未映射区域中的SMU的传送。在一些实例中,存储器子系统可将存储在映射区域中的所述一或多个SMU中的第一SMU上的数据传送到未映射区域中的SMU的至少一部分,其中执行耗损均衡操作至少部分地基于传送数据;并且至少部分地基于传送数据而更新存储器子系统的元数据表格。
[0061] 一种用于执行方法200的设备可包含用于进行以下操作的构件:识别映射区域中第一多个SMU的第一写入计数量;通过硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。
[0062] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:至少部分地基于识别所述第一SMU,向存储器子系统的固件传输所述第一SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第一SMU的所述识别符。
[0063] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:至少部分地基于传输所述第一SMU的所述识别符,从所述固件接收执行所述耗损均衡操作的命令,其中执行所述耗损均衡操作至少部分地基于接收到所述命令。
[0064] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:识别所述未映射区域中所述第二多个SMU的第二写入计数量;至少部分地基于识别所述第二多个的所述第二写入计数量,识别所述第二多个中包含最少写入计数量的所述第二SMU,其中执行所述耗损均衡操作至少部分地基于识别所述第二多个中的所述第二SMU;以及确定所述第一写入计数量小于所述第二写入计数量,其中执行所述耗损均衡操作至少部分地基于所述确定。
[0065] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:至少部分地基于识别所述第二SMU,向存储器子系统的固件传输所述第二SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第二SMU的所述识别符。
[0066] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:从存储器子系统的固件接收执行所述存储器子系统的所述SMU的扫描的命令,并至少部分地基于接收到所述命令而执行所述SMU的所述扫描,其中识别所述第一SMU至少部分地基于执行所述扫描。
[0067] 在一些实例中,所述命令包括由硬件组件发起扫描的周期性。在一些实例中,所述命令包括向固件传输扫描结果的周期性。
[0068] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:确定所述第一SMU的所述第一写入计数量满足阈值,并至少部分地基于确定所述第一SMU的所述第一写入计数量满足所述阈值而发起存储器子系统的SMU的扫描。
[0069] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:从所述存储器子系统的固件接收所述阈值的指示,其中确定所述第一SMU的所述第一写入计数量满足所述阈值至少部分地基于接收到所述指示。
[0070] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:比较所述第一写入计数量与所述第二写入计数量,其中执行所述耗损均衡操作至少部分地基于执行所述比较。
[0071] 方法200的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:将存储在所述映射区域中所述第一多个中的所述第一SMU上的数据传送到所述未映射区域中的所述SMU的至少一部分,其中执行所述耗损均衡操作至少部分地基于传送所述数据,并至少部分地基于传送所述数据而更新存储器子系统的元数据表格。
[0072] 图3示出支持用于存储器子系统的媒体管理操作的扫描技术的方法300的实例。在一些实例中,方法300可由存储器子系统、存储器装置或其组合执行,它们可以是参考图1所描述的存储器子系统110或存储器装置130的实例。
[0073] 方法300可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程的次序可以修改。因此,所示实施例应理解为只是实例,并且所示过程可以按照不同次序执行,一些过程可以并行执行。另外,在各种实施例中,可以省略一或多个过程。因此,并非在每个实施例中都使用所有过程。其它过程流是可能的。
[0074] 如参考图2描述,存储器子系统可从主机系统接收存取命令。此类存取命令可以是可读取、擦除、写入和/或重写数据到存储器子系统的存储器装置中特定存储器单元读取命令、写入命令或擦除命令。在一些情况下,在存储器单元中写入数据可使存储器单元耗损,这可能会限制存储器子系统内的存储器单元的寿命。在一些情况下,如果任存储器子系统的耗损发展,那么存储器子系统的寿命可能会缩短。
[0075] 如参考图2描述,耗损均衡操作可用于减小由对存储器子系统中的存储器单元的存取操作造成的耗损的影响,且类似于方法200,耗损均衡操作可包含热交换和冷交换。同样类似于方法200,热交换可包含存储器子系统控制器(和/或主机装置)设置写入操作的阈值次数以限制SMU内的存储器单元被写入的次数,并且当达到阈值时,可以触发数据到另一SMU的“热交换”。
[0076] 同样类似于参考图2所描述的方法200,耗损均衡可包含数据的冷交换。在此情况下,SMU中存储器单元内的数据的冷交换可贯穿存储器装置中的SMU均匀地分布对存储器单元执行的最小次数的写入操作。冷交换可涉及协调存储器子系统控制器和本地媒体控制器,例如参考图1所描述的存储器子系统控制器115和本地媒体控制器135。在一些情况下,本地媒体控制器可包含专用硬件,例如扫描引擎和元数据表格(例如,参考图1所描述的扫描引擎160和元数据表格155)。方法300还可结合操作存储器子系统控制器、本地媒体控制器、扫描引擎和/或元数据表格的方法,如关于方法200所描述的。
[0077] 在操作305处,存储器子系统控制器可接收映射区域中具有最小写入计数的SMU的指示。在一些实例中,指示可以作为映射区域中具有最小写入计数的SMU的地址来接收。在一些实例中,存储器子系统可从存储器子系统的硬件组件接收映射区域中一或多个SMU的第一超级管理单元(SMU)的第一写入计数量的指示,所述第一SMU具有一或多个SMU中的最少写入计数量。在其它实例中,存储器装置的映射区域中的SMU的写入计数可以从本地媒体控制器接收。在此情况下,映射SMU的写入计数可包含映射区域中具有最小写入计数的SMU。在一些情况下,可以识别映射区域中具有最小写入计数的SMU,这可基于从本地媒体控制器接收到的写入计数。
[0078] 在操作310处,存储器子系统控制器可任选地接收未映射区域中具有最小写入计数的SMU的指示。在一些实例中,指示可以作为未映射区域中具有最小写入计数的SMU的地址来接收。在其它实例中,存储器装置的映射区域中的SMU的写入计数可以从本地媒体控制器接收。在此情况下,未映射SMU的写入计数可包含未映射区域中具有最小写入计数的SMU。
[0079] 在一些实施例中,存储器子系统控制器可检索映射或未映射区域中的任一个或两个中的SMU的写入计数。在一些实例中,存储器子系统可从硬件组件接收未映射区域中的第二SMU的第二写入计数量,其中识别第二量至少部分地基于接收到第二量。类似于方法200,SMU的写入计数可基于元数据表格的扫描,这可通过专用硬件(例如,扫描引擎)执行。在一些实例中,存储器子系统可从存储器子系统的元数据表格检索第二SMU的写入计数,其中识别第二量至少部分地基于从元数据表格检索写入计数。同样类似于方法200,这可基于存储器子系统控制器发起扫描的周期性,且另外或替代地,基于存储器子系统控制器接收连续扫描输出的频率。SMU写入计数值可用于识别映射和未映射区域中具有最小写入计数的SMU。
[0080] 在操作315处,可以识别未映射区域中具有最小写入计数的SMU。在一些实例中,存储器子系统可通过存储器子系统的固件识别未映射区域中的一或多个SMU中的第二SMU。未映射区域中具有最小写入计数的SMU的识别可基于来自本地存储器控制器的指示和/或未映射区域中的SMU的写入计数。
[0081] 映射和未映射区域中具有SMU的写入计数可以进行比较以确定何时可以发起耗损均衡操作。例如,在操作320处,存储器子系统控制器可确定映射区域中具有最小写入计数的SMU的写入计数是否小于未映射区域中具有最小写入计数的SMU的写入计数。例如,存储器子系统可通过固件确定映射区域中一或多个SMU中的第一SMU的第一写入计数量小于未映射区域中一或多个SMU中的第二SMU的第二写入计数量。在映射区域中的SMU的写入计数小于未映射区域中的SMU的写入计数的情况下,存储器子系统控制器可确定耗损均衡操作是合适的。此时,存储器子系统控制器可发起SMU的冷交换。在其它实例中,存储器子系统控制器可确定映射区域中具有最小写入计数的SMU的写入计数是否小于未映射区域中的SMU的写入计数(不一定是最小写入计数)。当映射区域中的SMU的写入计数小于未映射区域中的SMU的写入计数时,存储器子系统控制器可确定耗损均衡操作是合适的。此时,存储器子系统控制器可发起SMU的冷交换。例如,存储器子系统可至少部分地基于确定第一写入计数量小于第二写入计数量而发起耗损均衡操作。
[0082] 在操作325处,存储器子系统控制器可向存储器装置传输耗损均衡命令。例如,存储器子系统可至少部分地基于确定第一量小于第二量而向存储器子系统传输命令,其中发起耗损均衡操作至少部分地基于传输所述命令。耗损均衡命令可以基于确定映射区域中的SMU的写入计数小于未映射区域中的SMU的写入计数来传输。在此情况下,耗损均衡命令可指示SMU的冷交换是合适的。命令可以通过存储器装置接收,存储器装置可发起耗损均衡操作。如参考方法200所描述的,耗损均衡操作可包含冷交换,其中映射区域中具有最小写入计数的SMU与未映射区域中具有最小写入计数的SMU“交换”。在此情况下,可开始到先前在未映射区域中的SMU的写入,并且可结束到映射区域中的SMU的写入。因此,在此情况下,SMU可交换存储器装置内的映射和未映射区域。
[0083] 一种用于执行方法300的设备可包含用于进行以下操作的构件:从存储器子系统的硬件组件接收映射区域中第一多个SMU中的第一SMU的第一写入计数量的指示,所述第一SMU具有所述第一多个SMU中的最少写入计数量;通过所述存储器子系统的固件识别未映射区域中第二多个SMU中的第二SMU;通过所述固件确定所述映射区域中所述第一多个中的所述第一SMU的所述第一写入计数量小于所述未映射区域中所述第二多个SMU中的所述第二SMU的第二写入计数量;以及至少部分地基于确定所述第一量小于所述第二量,发起耗损均衡操作。
[0084] 方法300的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:从所述硬件组件接收所述未映射区域中的所述第二SMU的所述第二写入计数量,其中识别所述第二量至少部分地基于接收到所述第二量。
[0085] 方法300的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:从所述存储器子系统的元数据表格检索所述第二SMU的写入计数,其中识别所述第二量至少部分地基于从所述元数据表格检索所述写入计数。
[0086] 方法300的一些实例可进一步包含用于进行以下操作的过程、特征、构件或指令:至少部分地基于确定所述第一量小于所述第二量,向所述存储器子系统传输命令,其中发起所述耗损均衡操作至少部分地基于传输所述命令。
[0087] 图4示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的系统400的实例。系统400可以是存储器子系统(例如,参考图1、2和3所描述的存储器子系统)内单独一组存储器单元的系统的实例。在一些情况下,系统400可执行参考图2和3所描述的方法200和/或300。
[0088] 系统400可包含存储器子系统控制器405。存储器子系统控制器可以是参考图1所描述的存储器子系统控制器115的实例。系统400可执行参考图2和3所描述的方法200和/或300。在一些情况下,存储器子系统控制器405可与存储器装置410通信。例如,存储器子系统控制器可接收存储器装置410的SMU中具有最小写入计数的一或多个SMU的指示,和/或可接收存储器装置410的至少一些SMU的写入计数。写入计数可用于确定何时可以在存储器装置
410中发起耗损均衡操作。如本文所描述,当存储器装置410的映射区域中具有最小写入计数的SMU的写入计数小于存储器装置410的未映射区域中具有SMU的最小写入计数的SMU的写入计数时,可以发起耗损均衡,例如冷交换。在此情况下,存储器子系统控制器405可发起所述两个SMU的冷交换(例如,通过命令),如参考方法200和300所描述的。
[0089] 系统400可包含存储器装置410的本地媒体控制器415。本地媒体控制器415可以是参考图1所描述的本地媒体控制器135的实例。本地媒体控制器415可执行参考图2和3所描述的方法200和/或300的至少部分。例如,本地媒体控制器415可与存储器子系统控制器405通信,并协调耗损均衡操作,例如冷交换。在一些情况下,本地媒体控制器415可包含元数据表格420、扫描引擎425或其组合。元数据表格420和扫描引擎425可以是参考图1所描述的扫描管理器150和元数据表格155的实例。
[0090] 元数据表格420和扫描引擎425可彼此通信,并且扫描引擎425可扫描元数据表格420以确定存储器装置410中的至少一些SMU的写入计数。扫描引擎425可以是专用硬件零件,它可扫描元数据表格420。因而,元数据表格420的扫描可以通过扫描引擎425快速执行。
例如,因为扫描引擎425是专门用于扫描元数据表格420的硬件组件,所以扫描引擎425可以快速响应命令(例如,来自存储器子系统控制器405的命令)以扫描元数据表格420。另外或替代地,扫描引擎425可持续扫描元数据表格420,并且可响应于命令(例如,来自存储器子系统控制器405)而快速报告SMU的写入计数。对命令的快速响应和/或对SMU的写入计数的确定可基于扫描引擎专用于扫描元数据表格420的处理能力和功率。这可以减小扫描元数据表格420的时延,并且因此减小系统操作的时延。与缺少扫描元数据的专用硬件组件的其它系统相比,这可以提高系统的性能。
[0091] 扫描引擎425快速扫描元数据表格420的能力可以提高扫描的准确性。例如,传统的扫描(例如,由存储器子系统控制器405执行的扫描)可能需要相对较长的时间量(例如,大约数秒或数分钟)。这可能是因为元数据表格420中所含的数据量(例如,数千兆比特的数据)以及在存储器子系统控制器405处分析数据的处理要求。这会将时延引入到系统中,因为存储器子系统控制器405可能需要贡献资源来扫描元数据表格420中的大量数据,而不是将那些资源用于其它操作。但是,在扫描期间,存储器装置410内的存储器单元可能会被写入。因而,元数据表格420的扫描可为不准确的,因为根据扫描确定的写入计数可基于过时的写入计数,这是因为在扫描过程中,存储器单元一直被写入。因此,在此实例中,通过扫描确定的写入计数无法反映SMU的实际写入计数,因为扫描所需时长很长。使用专用硬件零件(例如,扫描引擎425)可以减小扫描的时延,并且因此提高写入计数的准确性。例如,因为扫描引擎425扫描元数据表格420所需要的时间可能比存储器子系统控制器405少,所以在扫描期间发生的到存储器装置410中的存储器单元的写入也可能较少。因此,所报告的SMU的写入计数可以是最新的,并且因此比存储器子系统扫描更准确。这可提高系统中耗损均衡的准确性,并因此提供性能。
[0092] 应注意,上文描述的方法描述了可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可以组合两个或更多个方法中的各部分。
[0093] 图5示出根据如本文中所公开的实例的支持用于存储器子系统的媒体管理操作的扫描技术的计算机系统500的实例机器。计算机系统500可包含一组指令,用于使机器执行本文中所描述的技术中的任何一或多个。在一些实例中,计算机系统500可对应于主机系统(例如,参考图1所描述的主机系统105),所述主机系统包含、耦合到或利用存储器子系统(例如,参考图1所描述的存储器子系统110),或者可用于执行控制器的操作(例如,执行操作系统以执行对应于参考图1所描述的扫描管理器150的操作)。在一些实例中,机器可以与LAN、内联网、外联网和/或互联网中的其它机器连接(例如,联网)。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中以服务器或客户端机器的身份操作。
[0094] 机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器、或能够(依序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。另外,尽管示出单个机器,但术语“机器”还可包含机器的任何集合,这些机器单独地或共同地执行一组(或多组)指令以进行本文中所描述的方法中的任何一或多种。
[0095] 实例计算机系统500可包含处理装置505、主存储器510(例如,只读存储器(ROM)、快闪存储器、DRAM(例如SDRAM或RDRAM)等等)、静态存储器515(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统525,它们经由总线545彼此通信。
[0096] 处理装置505表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更具体地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置505也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置505配置成执行指令535以执行本文所描述的操作和步骤。计算机系统500可进一步包含网络接口装置520以通过网络540通信。
[0097] 数据存储系统525可以包含机器可读存储媒体530(也称为计算机可读媒体),上面存储有一或多组指令535或体现本文中所描述的方法或功能中的任何一或多种的软件。指令535还可在由计算机系统500执行期间完全或至少部分地驻存在主存储器510内和/或处理装置505内,主存储器510和处理装置505还构成机器可读存储媒体。机器可读存储媒体530、数据存储系统525和/或主存储器510可对应于存储器子系统。
[0098] 在一个实例中,指令535包含用于实施对应于扫描管理器550(例如,参考图1所描述的扫描管理器150)的功能性的指令。尽管将机器可读存储媒体530示出为单个媒体,但术语“机器可读存储媒体”可包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还可包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
[0099] 描述一种系统。所述系统可包含多个存储器组件和处理装置,所述处理装置与所述多个存储器组件操作性地耦合且用于:识别映射区域中第一多个SMU的第一写入计数量;通过存储器子系统的硬件组件识别所述第一多个中包含最少写入计数量的第一SMU;以及至少部分地基于所述映射区域中所述第一多个中的所述第一SMU的第一写入计数量小于未映射区域中第二多个SMU中的第二SMU的第二写入计数量,执行耗损均衡操作。在一些实例中,处理装置进一步可用于至少部分地基于识别所述第一SMU,向所述存储器子系统的固件传输所述第一SMU的识别符,其中执行所述耗损均衡操作至少部分地基于传输所述第一SMU的所述识别符。在一些实例中,所述处理装置进一步可用于至少部分地基于传输所述第一SMU的所述识别符,从所述固件接收执行所述耗损均衡操作的命令,其中执行所述耗损均衡操作至少部分地基于接收到所述命令。
[0100] 可使用多种不同技术和技艺中的任何者来表示本文中所描述的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中所述总线可具有多种位宽度。
[0101] 术语“电子通信”、“导电接触”、“连接”和“耦合”可以指组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的导电路径,那么组件被视为与彼此电子通信(或导电接触或连接或耦合)。在任何给定时间,基于包含所连接组件的装置的操作,与彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可以是断路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或者所连接组件之间的导电路径可以是可包含中间组件的间接导电路径,所述中间组件例如是开关、晶体管或其它组件。在一些情况下,信号在所连接组件之间的流动可以在一时间内中断,例如,使用一或多个中间组件,例如开关或晶体管。
[0102] 术语“耦合”是指从组件之间的断路关系移动到组件之间的闭路关系的情形,在所述断路关系中信号目前无法通过导电路径在组件之间传送,在所述闭路关系中信号能够通过导电路径在组件之间传送。当例如控制器的一组件将其它组件耦合在一起时,那么所述组件引发允许信号通过导电路径在所述其它组件之间流动的改变,所述导电路径先前不允许信号流动。
[0103] 本文中所论述的包含存储器阵列的装置可形成于半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些情况下,衬底是半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含(但不限于)磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
[0104] 本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料例如金属连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂例如简并半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分隔开。如果沟道是n型(即,大部分载体为信号),那么FET可以被称作n型FET。如果沟道是p型(即,大部分载体为电洞),那么FET可以被称作p型FET。沟道可被绝缘栅极氧化物端封。可通过将电压施加到栅极,控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。当大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“启动”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“撤销启动”。
[0105] 本文结合附图阐述的描述内容描述实例配置,且并不表示可实施或在权利要求书的范围的所有实例。本文中所使用术语“示范性”意指“充当实例、例子或说明”且并不意谓“优选的”或“优于其它实例”。详细描述包含用于提供对所描述技术的理解的具体细节。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
[0106] 在附图中,类似组件或特征可以具有相同参考标记。此外,通过遵循虚线和第二标记的参考标记可以区分相同类型的各种组件,这些虚线和第二标记在相似组件当中予以区分。如果在说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任一个。
[0107] 结合本文中的公开内容所描述的各种说明性块与模块可使用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或经设计以执行本文所描述的功能的其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心结合,或任何其它此类配置)。
[0108] 本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软体实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体发射。其它实例和实施方案在本公开和所附权利要求书的范围内。例如,归因于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合实施。实施功能的特征也可物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。此外,如本文中(包含在权利要求书中)所使用,如在项列表(例如,前加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。并且,如本文中所使用,短语“基于”不应被理解为提及一组封闭条件。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。
[0109] 计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传送到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用电脑存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用的,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各项的组合也包含在计算机可读媒体的范围内。
[0110] 提供本文中的描述以使所属领域的技术人员能够进行或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的精神或范围。因此,本公开不限于本文所述的实例和设计,而是被赋予与本文所公开的原理和新颖特征一致的最宽范围。