CN115373587A - 用于废弃项目收集的页面有效性表颜色 - Google Patents
用于废弃项目收集的页面有效性表颜色 Download PDFInfo
- Publication number
- CN115373587A CN115373587A CN202210446751.0A CN202210446751A CN115373587A CN 115373587 A CN115373587 A CN 115373587A CN 202210446751 A CN202210446751 A CN 202210446751A CN 115373587 A CN115373587 A CN 115373587A
- Authority
- CN
- China
- Prior art keywords
- data
- memory system
- block
- page
- characteristic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请案涉及用于废弃项目收集的页面有效性表颜色。存储器系统可基于在所述存储器系统的数据块上启动重组程序来获得有效性信息及与所述数据块的每一页面的特性相关联的信息。所述存储器系统可针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分。所述存储器系统可针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
Description
交叉参考
本专利申请案主张卡列罗在2021年4月27日申请、标题为“用于废弃项目收集的页面有效性表颜色(PAGE VALIDITY TABLE COLORS FOR GARBAGE COLLECTION)”的第17/241,856号美国专利申请案的优先权,所述申请案已转让给其受让人,且其全文明确地以引用的方式并入本文中。
技术领域
本技术领域涉及用于废弃项目收集的页面有效性表颜色。
背景技术
存储器装置广泛地用以存储各种电子装置,例如计算机、用户装置、无线通信装置、相机、数字显示器等中的信息。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为两种受支持状态中的一者,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两种可能状态,可由所述存储器单元存储所述状态中的任一者。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程为对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D交叉点)、或非(NOR)及与非(NAND)存储器装置等等。存储器装置可为易失性或非易失性的。即使在不存在外部电源的情况下,非易失性存储器,例如FeRAM也可长时间维持它们的经存储逻辑状态。当与外部电源断开时,易失性存储器装置,例如DRAM可能丢失它们的经存储状态。
发明内容
描述一种设备。所述设备可包含:存储器系统;及控制电路,其与所述存储器系统耦合。所述控制电路可经配置以致使所述设备:基于在所述存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
描述一种存储代码的非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包含指令的代码,所述指令在由电子装置的处理器执行时致使所述电子装置:基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
描述一种方法。所述方法可包含:基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
附图说明
图1说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的系统的实例。
图2说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的系统的实例。
图3A说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的框图的实例。
图3B说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的虚拟块的实例。
图4说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的流程图的实例。
图5展示根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的受管理存储器系统控制器的框图。
图6展示说明根据如本文所公开的实例的支持用于废弃项目收集的页面有效性表颜色的一或若干方法的流程图。
具体实施方式
在一些废弃项目收集程序中,块可包含有效数据及无效数据(例如,先前写入但不再与有效逻辑地址,例如由主机系统在逻辑到物理(L2P)映射表中引用的逻辑地址相关联的旧数据)的页面。在一些情况下,页面有效性表(PVT)可用以跟踪物理存储器块内的页面的映射状态(例如,有效或无效数据)。每当写入到物理块的页面被覆写(例如,写入到新位置)或未被映射时,可更新PVT以反映所述页面无效。在一些情况下,因为频繁地更新PVT,所以可将PVT存储在存储数据页面的物理存储器块外部的位置中。PVT可用于废弃项目收集程序中,所述废弃项目收集程序可通过将有效数据移动到新块来释放块。例如,可将有效数据写入(例如,重写)到存储器系统(例如,到存储器系统的不同物理块)。然而,PVT可不包含用以使存储器系统能够在废弃项目收集程序期间且因此在执行废弃项目收集程序之后分离出不同类型的数据(例如,热/冷数据、与不同流或应用程序相关联的数据等)的信息,一些块可很快变得碎片化,因为热数据可被覆写(例如,且因此写入到不同物理位置),而冷数据仍保留在所述块中。
就主机系统的TBW(写入的总字节)来说,此类技术(例如,在不分离数据的情况下执行废弃项目收集程序)可能导致增加的写入放大率及降低的耐久性。此外,存储器系统可能经历性能损失(例如,由于额外的废弃项目收集程序或增加写入操作的量),这可能增加与主机系统相关的其它操作的延时。存储器系统的总体性能可能降低,这可能导致主机系统经历受损的读取、写入及擦除速度。可期望用于增加废弃项目收集及页面管理的效率的技术。
本公开的方面通过针对废弃项目收集程序利用PVT颜色来解决以上及其它缺陷。例如,除PVT之外,存储器系统还可存储额外信息(例如,PVT“颜色”信息)。所述“颜色”信息可指示数据是热的还是冷的,或与不同流或应用程序相关联。在一些情况下,所述“颜色”信息可与所述数据维持在同一块内,因为所述“颜色”信息相对于有效数据可为静态的。为了在废弃项目收集程序中使用所述“颜色”信息,存储器系统可在表示第一“颜色”(例如,与第一流相关联的热数据等)的位图与PVT之间使用逻辑运算(例如,AND),以将与第一“颜色”相关联的有效数据移动到第一位置。存储器系统接着可在表示第二“颜色”(例如,冷数据、与第二流相关的数据等)的位图与PVT之间使用逻辑运算(例如,AND),以将与第二“颜色”相关联的有效数据移动到第二位置。通过基于所述“颜色”信息及PVT来分离所述数据,可增加存储器系统的总体性能。例如,分离用于废弃项目收集的数据可改进存储器系统的总体效率,这可能导致存储器系统经历改进的读取、写入及擦除速度、降低的功率消耗、改进的处理时间、减少的存储器单元损耗等。
本公开的特征最初在参考图1到2的系统的上下文中进行描述。本公开的特征在参考图3-4的框图及流程图的上下文中进行描述。本公开的这些及其它特征通过参考图5-6的与用于废弃项目收集的页面有效性表颜色相关的设备图及流程图进行进一步说明且在所述设备图及流程图的上下文中进行描述。
图1说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可为或包含任何装置或装置集合,其中所述装置或装置集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪存储器装置、通用串行总线(USB)快闪存储器装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可被包含在计算装置中,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的计算机)或包含存储器及处理装置的任何其它计算装置。
系统100可包含主机系统105,所述主机系统可与存储器系统110耦合。在一些实例中,这个耦合可包含与主机系统控制器106的接口,所述接口可为经配置以致使主机系统105根据如本文中所描述的实例来执行各种操作的控制器或控制器组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组及由处理器芯片组执行的软件堆叠。例如,主机系统105可包含经配置用于与存储器系统110或其中的装置进行通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器)及存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110例如以将数据写入到存储器系统110及从存储器系统110读取数据。尽管在图1中展示一个存储器系统110,但主机系统105可与任何量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。主机系统105及存储器系统110在一些情况下可经配置以使用相关联协议经由物理主机接口进行通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双倍数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接字接口)、开放式NAND快闪存储器接口(ONFI)及低功耗双倍数据速率(LPDDR)接口。在一些实例中,一或多个此类接口可被包含在主机系统105的主机系统控制器106及存储器系统110的存储器系统控制器115中或在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115之间以其它方式受支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每一存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115及一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管在图1的实例中展示两个存储器装置130-a及130-b,但存储器系统110可包含任何量的存储器装置130。此外,如果存储器系统110包含多于一个存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合并进行通信(例如,经由物理主机接口)且可为经配置以致使存储器系统110根据如本文中所描述的实例来执行各种操作的控制器或控制器组件的实例。存储器系统控制器115还可与存储器装置130耦合并进行通信以执行例如在存储器装置130处读取数据、写入数据、擦除数据或刷新数据的操作,以及其它此类操作,其通常可被称为存取操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130进行通信以执行此类命令(例如,在一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作且可将命令或操作转换成用以实现对存储器装置130的所期望存取的指令或适当命令。在一些情况下,存储器系统控制器115可与主机系统105及一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或以其它方式与来自主机系统105的命令相关联)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据分组或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可经配置用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理以下操作:例如损耗均衡操作、废弃项目收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓冲存储操作、媒体管理操作、后台刷新、健康监测及相关联于来自主机系统105的命令的逻辑地址(例如,逻辑块地址(LBA))与相关联于存储器装置130内的存储器单元的物理地址(例如,物理块地址)之间的地址转译。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲器存储器或其组合。所述硬件可包含具有专用(例如,硬编码)逻辑以执行本文中归属于存储器系统控制器115的操作的电路系统。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))或任何其它合适处理器或处理电路系统。
存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行以执行本文中归属于存储器系统控制器115的功能的操作代码(例如,可执行指令)的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于例如与本文中归属于存储器系统控制器115的功能相关的内部存储或计算的其它存储器。另外或替代地,本地存储器120可用作存储器系统控制器115的高速缓存。例如,如果数据从存储器装置130读取或写入到存储器装置130,那么数据可存储在本地存储器120中且数据可在本地存储器120内用于由主机系统105根据高速缓存策略来进行后续检索或操纵(例如,更新)(例如,相对于存储器装置130具有减少的延时)。
尽管图1中的存储器系统110的实例已被说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135,以执行本文中归属于存储器系统控制器115的功能。一般来说,本文中归属于存储器系统控制器115的一或多个功能在一些情况下可代替地由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可被称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪存储器)存储器、ROM、相变存储器(PCM)、自选择存储器、其它基于硫属化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁RAM(MRAM)、NOR(例如,NOR快闪存储器)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM)或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。例如,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元及同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,所述本地控制器可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作或可执行本文中归属于存储器系统控制器115的一或多个功能。例如,如图1中所说明,存储器装置130-a可包含本地控制器135-a且存储器装置130-b可包含本地控制器135-b。
在一些情况下,存储器装置130可为或包含NAND装置(例如,NAND快闪存储器装置)。存储器装置130可为或包含存储器裸片160。例如,在一些情况下,存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可为从晶片切割的一片电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含一组相应块170,其中每一块170可包含一组相应页面175,且每一页面175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含经配置以每一者存储一个位的信息的存储器单元,所述存储器单元可被称为单电平单元(SLC)。另外或替代地,NAND存储器装置130可包含经配置以每一者存储多个位的信息的存储器单元,所述存储器单元如果经配置以每一者存储两个位的信息,那么可被称为多电平单元(MLC),如果经配置以每一者存储三个位的信息,那么可被称为三电平单元(MLC),如果经配置以每一者存储四个位的信息,那么可被称为四电平单元(MLC),或更一般地被称为多电平存储器单元。多电平存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下可能涉及支持电路系统的更窄读取或写入余量或更大复杂性。
在一些情况下,平面165可指块170的群组,且在一些情况下,并发操作可发生在不同平面165内。例如,可在不同块170内的存储器单元上执行并发操作,只要不同块170在不同平面165中即可。在一些情况下,在不同平面165中执行并发操作可能受到一或多个限制,例如在它们相应的平面165内具有相同页面地址(例如,与命令解码、页面地址解码电路系统或跨平面165共享的其它电路系统相关)的不同页面175内的存储器单元上执行相同操作。
在一些情况下,块170可包含组织成行(页面175)及列(例如,串,未展示)的存储器单元。例如,同一页面175中的存储器单元可共享共同字线(例如,与共同字线耦合),且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与共同数字线耦合)。
针对一些NAND架构,可在第一粒度级(例如,在页面粒度级)下读取及编程(例如,写入),但可在第二粒度级(例如,在块粒度级)下擦除存储器单元。即,页面175可为可独立地编程或读取(例如,作为单个编程或读取操作的部分并发地编程或读取)的最小存储器单位(例如,一组存储器单元),且块170可为可独立地擦除(例如,作为单个擦除操作的部分并发地擦除)的最小存储器单位(例如,一组存储器单元)。此外,在一些情况下,NAND存储器单元可能在它们被新数据重写之前被擦除。因此,例如,所使用页面175在一些情况下可能直到包含页面175的整个块170已被擦除才被更新。
在一些情况下,为了更新块170内的某个数据同时保留块170内的其它数据,存储器装置130可将待保留数据复制到新块170且将经更新数据写入到新块170的一或多个剩余页面。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保留在旧块170中的数据标记或以其它方式指定为无效或过时且可更新逻辑到物理(L2P)映射表以将所述数据的逻辑地址(例如,LBA)与新的有效块170而不是旧的无效块170相关联。在一些情况下,可执行此复制及重新映射而非例如,由于延时或损耗考虑而擦除并重写整个旧块170。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,在一或多个块170或平面165内)以供本地控制器135或存储器系统控制器115使用(例如,参考及更新)。
在一些情况下,可维持L2P映射表且可在页面粒度级下将数据标记为有效或无效,且页面175可含有有效数据、无效数据或不含有数据。无效数据可为由于数据的较新或更新版本存储在存储器装置130的不同页面175中而过时的数据。无效数据可能先前已编程到无效页面175但可能不再与有效逻辑地址,例如由主机系统105引用的逻辑地址相关联。有效数据可为此数据存储在存储器装置130上的最新版本。不包含数据的页面175可为从未被写入或已被删除的页面175。
在一些情况下,存储器系统控制器115或本地控制器135可针对存储器装置130执行操作(例如,作为一或多个媒体管理算法的部分),例如损耗均衡、后台刷新、废弃项目收集、擦洗、块扫描、健康监测或其它操作,或其任何组合。例如,在存储器装置130内,块170可具有含有有效数据的一些页面175及含有无效数据的一些页面175。为了避免等待块170中的所有页面175具有无效数据以便擦除及重用块170,可调用被称为“废弃项目收集”的算法以允许块170作为用于后续写入操作的自由块被擦除及释放。废弃项目收集可指一组媒体管理操作,包含例如选择含有有效及无效数据的块170、选择所述块中的含有有效数据的页面175、将有效数据从选定页面175复制到新位置(例如,另一块170中的自由页面175)、将先前选定页面175中的数据标记为无效及擦除选定块170。因此,可增加已经擦除的块170的量使得更多块170可用于存储后续数据(例如,随后从主机系统105接收的数据)。
系统100可包含支持用于废弃项目收集的页面有效性表颜色的任何量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取存储用于执行本文中归属于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)的一或多个非暂时性计算机可读媒体。例如,此类指令如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115或由存储器装置130(例如,由本地控制器135)执行,那么可致使主机系统105、存储器系统控制器115或存储器装置130执行如本文中所描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如与本地(例如,裸片上或封装内)控制器(例如,本地控制器135)组合的一或多个存储器阵列及相关联电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,存储器系统110可启动重组程序。重组程序可为废弃项目收集程序的实例。存储器系统110可响应于在存储器系统110的数据块上启动重组程序而获得所述数据块的每一页面的有效性信息。在一些情况下,可从PVT获得有效性信息。存储器系统110可响应于启动重组程序而获得与数据块的每一页面的特性相关联的信息。例如,与所述特性相关联的信息可为“颜色”信息的实例。
存储器系统110可针对重组程序,根据与所述特性的第一值相关联的数据块的第一组页面的有效性信息来将所述第一组页面移动到存储器系统110的第一部分。存储器系统110可针对重组程序,根据与所述特性的第二值相关联的数据块的第二组页面的有效性信息来将所述第二组页面移动到存储器系统110的第二部分。存储器系统110的第二部分可为用于SLC存储器的不同块或不同类型的存储器(例如,TLC或QLC)。
图2说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的系统200的实例。系统200可为如参考图1或其方面所描述的系统100的实例。系统200可包含存储器系统210,所述存储器系统经配置以存储从主机系统205接收的数据且如果主机系统205使用存取命令(例如,读取命令或写入命令)来请求,那么将数据发送到主机系统205。系统200可实施如参考图1所描述的系统100的方面。例如,存储器系统210及主机系统205可分别为存储器系统110及主机系统105的实例。
存储器系统210可包含用以例如响应于从主机系统205接收存取命令而存储在存储器系统210与主机系统205之间传送的数据的存储器装置240,如本文中所描述。存储器装置240可包含如参考图1所描述的一或多个存储器装置。例如,存储器装置240可包含NAND存储器、PCM、自选择存储器、3D交叉点、其它基于硫属化物的存储器、FERAM、MRAM、NOR(例如,NOR快闪存储器)存储器、STT-MRAM、CBRAM、RRAM或OxRAM。
存储器系统210可包含用于控制直接将数据传递到存储器装置240及从存储器装置240传递数据,例如用于存储数据、检索数据及确定将数据存储在其中及从其检索数据的存储器位置的存储控制器230。存储控制器230可使用特定于每种类型的存储器装置240的协议来直接或经由总线(未展示)与存储器装置240进行通信。在一些情况下,单个存储控制器230可用以控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如用于每种类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1所描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205进行通信的接口220及用于暂时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225及存储控制器230可用于在主机系统205与存储器装置240之间转译数据,例如如由数据路径250所展示,且可被统称为数据路径组件。
在传送期间使用缓冲器225以暂时存储数据可允许在处理命令时缓冲数据,由此减少命令之间的延时且允许与命令相关联的任意数据大小。这也可允许处置命令的突发,且一旦突发已停止,就可存储或传输(或两者)经缓冲数据。缓冲器225可包含用以允许将数据快速存储到缓冲器225及自缓冲器225快速检索数据的相对快速存储器(例如,某种类型的易失性存储器,例如SRAM或DRAM)或硬件加速器或两者。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。
缓冲器225内的数据的暂时性存储可指在存取命令的执行期间将数据存储在缓冲器225中。即,在存取命令完成后,相关联数据可能不再维持在缓冲器225中(例如,可被用于额外存取命令的数据覆写)。另外,缓冲器225可为非高速缓存缓冲器。即,主机系统205可不直接从缓冲器225读取数据。例如,可在没有用以将所述地址与已在缓冲器225中的地址匹配的操作(例如,没有高速缓存地址匹配或查找操作)的情况下将读取命令添加到队列。
存储器系统210可另外包含用于执行从主机系统205接收的命令且控制数据移动中的数据路径组件的存储器系统控制器215。存储器系统控制器215可为如参考图1所描述的存储器系统控制器115的实例。总线235可用以在所述系统组件之间进行通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265及存储队列270)可用以控制存取命令的处理及对应数据的移动。例如如果由存储器系统210并发地处理来自主机系统205的多于一个存取命令,那么这可是有益的。命令队列260、缓冲器队列265及存储队列270分别在接口220、存储器系统控制器215及存储控制器230处被描绘为可能实施方案的实例。然而,队列如果被使用,那么可定位在存储器系统210内的任何地方。
主机系统205与存储器装置240之间传送的数据可在存储器系统210中采取与非数据信息(例如,命令、状态信息)不同的路径。例如,存储器系统210中的系统组件可使用总线235彼此通信,而所述数据可通过数据路径组件而非总线235使用数据路径250。存储器系统控制器215可控制如何及是否通过透过总线235与数据路径组件进行通信(例如,使用特定于存储器系统210的协议)来在主机系统205与存储器装置240之间传送数据。
如果主机系统205将存取命令传输到存储器系统210,那么可由接口220例如根据协议(例如,UFS协议或eMMC协议)来接收所述命令。因此,接口220可被视为存储器系统210的前端。在接收每一存取命令后,接口220可例如经由总线235将所述命令传达到存储器系统控制器215。在一些情况下,可由接口220将每一命令添加到命令队列260以将所述命令传达到存储器系统控制器215。
存储器系统控制器215可基于来自接口220的通信来确定已接收存取命令。在一些情况下,存储器系统控制器215可通过从命令队列260检索存取命令来确定已接收所述命令。在例如由存储器系统控制器215从命令队列260检索命令之后,可从所述命令队列移除所述命令。在一些情况下,存储器系统控制器215可致使接口220例如经由总线235从命令队列260移除所述命令。
在确定已接收存取命令后,存储器系统控制器215可执行存取命令。针对读取命令,这可表示从存储器装置240获得数据并将数据传输到主机系统205。针对写入命令,这可表示从主机系统205接收数据并将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可使用缓冲器225以用于尤其暂时存储从主机系统205接收或发送到主机系统205的数据。缓冲器225可被视为存储器系统210的中间端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)执行。
为了处理从主机系统205接收的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与所述命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定缓冲器225内的可用于存储与写入命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用以控制与存储在缓冲器225中的数据相关联的命令流,包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可通过存储器系统控制器215移动到缓冲器队列265且可保留在缓冲器队列265中,而相关联数据存储在缓冲器225中。在一些情况下,缓冲器队列265中的每一命令可与缓冲器225处的地址相关联。即,可维持指示缓冲器225中的存储每一指令相关联的数据的位置的指针。使用缓冲器队列265,可从主机系统205循序地接收多个存取命令且可并发地处理所述存取命令的至少部分。
如果缓冲器225具有足够空间来存储写入数据,那么存储器系统控制器215可致使接口220例如根据协议(例如,UFS协议或eMMC协议)来将可用性指示(例如,“准备好传送”指示)传输到主机系统205。随着接口220随后从主机系统205接收与写入命令相关联的数据,接口220可使用数据路径250来将所述数据传送到缓冲器225以供暂时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内的用以存储所述数据的位置。接口220可例如经由总线235向存储器系统控制器215指示到缓冲器225的数据传送是否已完成。
一旦写入数据已通过接口220存储在缓冲器225中,数据就可从缓冲器225中传送出并存储在存储器装置240中。这可使用存储控制器230来完成。例如,存储器系统控制器215可致使存储控制器230使用数据路径250来从缓冲器225中检索数据并将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示到存储器装置240的存储器装置的数据传送已完成。
在一些情况下,存储队列270可用以辅助传送写入数据。例如,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含每一存取命令的条目。在一些实例中,存储队列270可另外包含可指示与所述命令相关联的数据存储在缓冲器225中的位置的缓冲器指针(例如,地址)及可指示与所述数据相关联的存储器装置240中的位置的存储指针(例如,地址)。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得缓冲器225内的从其获得所述数据的位置。存储控制器230可管理存储器装置240内的位置以存储所述数据(例如,执行损耗均衡、废弃项目收集等)。例如,可由存储器系统控制器215将所述条目添加到存储队列270。例如,可由存储控制器230或存储器系统控制器215在数据传送完成后从存储队列270移除所述条目。
为了处理从主机系统205接收的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与所述命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定缓冲器225内的可用于存储与读取命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用以按与上文关于写入命令所论述的方式类似的方式辅助缓冲存储与读取命令相关联的数据。例如,如果缓冲器225具有足够空间来存储读取数据,那么存储器系统控制器215可致使存储控制器230从存储器装置240检索与读取命令相关联的数据并将所述数据存储在缓冲器225中以用于使用数据路径250进行暂时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示到缓冲器225的数据传送何时已完成。
在一些情况下,存储队列270可用以辅助传送读取数据。例如,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内的从其检索所述数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内的用以存储所述数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内的用以存储所述数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移回到命令队列260。
一旦已由存储控制器230将数据存储在缓冲器225中,数据就可从缓冲器225中传出并发送到主机系统205。例如,存储器系统控制器215可致使接口220例如根据协议(例如,UFS协议或eMMC协议)使用数据路径250来从缓冲器225中检索数据并将数据传输到主机系统205。例如,接口220可处理来自命令队列260的命令且可例如经由总线235向存储器系统控制器215指示到主机系统205的数据传输已完成。
存储器系统控制器215可根据顺序(例如,先进先出顺序、根据命令队列260的顺序)来执行经接收命令。针对每一命令,存储器系统控制器215可致使对应于所述命令的数据移入及移出缓冲器225,如上文所论述。随着数据移入并存储在缓冲器225中,所述命令可保留在缓冲器队列265中。例如,如果命令的处理已完成(例如,如果对应于存取命令的数据已从缓冲器225传出),那么由存储器系统控制器215从缓冲器队列265移除所述命令。如果从缓冲器队列265移除命令,那么先前存储与那个命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外经配置用于与存储器装置240相关联的操作。例如,存储器系统控制器215可执行或管理以下操作:例如损耗均衡操作、废弃项目收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓冲存储操作、媒体管理操作、后台刷新、健康监测及与来自主机系统205的命令相关联的逻辑地址(例如,LBA)与相关联于存储器装置240内的存储器单元的物理地址(例如,物理块地址)之间的地址转译。即,主机系统205可发出指示一或多个LBA的命令且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个连续LBA可对应于非连续物理块地址。在一些情况下,存储控制器230可经配置以结合或代替存储器系统控制器215执行以上操作中的一或多者。在一些情况下,存储器系统控制器215可执行存储控制器230的功能且可省略存储控制器230。
存储器系统210可启动废弃项目收集程序(例如,重组程序),针对存储器系统210的源块加载PVT,且针对存储器系统210的源块加载颜色位图。存储器系统210接着可根据PVT一次处理一种颜色(例如,特性)。PVT可为跟踪物理块的映射状态的位图的实例。在一些实例中,每当LBA经覆写或未经映射时,可更新PVT。PVT可用以加快废弃项目收集程序。
例如,存储器系统210可在表示第一颜色(例如,与第一流相关联的热数据等)的颜色位图与PVT之间使用逻辑运算(例如,AND),以将与第一“颜色”相关联的有效数据移动到第一位置(例如,目的地块)。存储器系统接着可在表示第二颜色(例如,冷数据、与第二流相关的数据等)的颜色位图与PVT之间使用逻辑运算(例如,AND),以将与第二“颜色”相关联的有效数据移动到第二位置(例如,不同目的地块)。
在其它系统中,由于硬件限制(例如,写入缓冲器的SRAM、开放块的过度配置或写入带宽限制),存储器系统210可能无法有效及高效地确保数据在直接写入时的恰当分离,这可能导致在存储器系统210的单个虚拟块内混合不同特性的数据。为了在废弃项目收集程序期间实现有效及高效的数据分离,存储器系统可将数据属性信息(例如,颜色)保存在存储器系统210的专用结构中。在此类情况下,存储器系统210可识别热数据并将热数据与冷数据分离及/或存储可能在逻辑上相关的物理上连续的数据(例如,属于同一流或应用程序的数据),由此改进存储器系统210的操作。尽管在NAND(例如,快闪存储器)存储器的上下文中进行描述,但在一些情况下可使用新兴存储器来取代NAND存储器。
图3A说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的框图300-a的实例。框图300-a可包含主机系统305及存储器系统310,它们可分别为如参考图1及2所描述的主机系统及存储器系统的实例。存储器系统310可包含源块315、目的地块325及PVT 330。源块315及目的地块325可包含页面320,且所述源块可包含颜色位图335,所述颜色位图可包含第一颜色322及第二颜色324。
在一些情况下,存储器系统310可根据颜色位图335及PVT 330来识别数据是第一类型的数据(例如,热数据)还是第二类型的数据(例如,冷数据)。例如,热数据可为具有较高被覆写趋势的数据,而冷数据可具有较低被覆写趋势。在此类情况下,存储器系统310可直接将第一类型的数据写入到第一位置(例如,目的地块325-a)且将第二类型的数据写入到第二位置(例如,目的地块325-b)使得存储器系统310可在废弃项目收集程序期间分离数据。存储器系统310可使用颜色位图335及PVT 330以在废弃项目收集程序期间通过将第一类型的数据移动到一个位置且将第二类型的数据移动到不同位置来有效及高效地分离不同类型的数据。
例如,存储器系统310可从主机系统305接收用以执行写入操作的多个命令。多个命令可每一者包含与多个命令相关联的数据的页面320的流识别符(例如,流标识(ID))。例如,存储器系统310可接收写入操作内包含的流识别符。流识别符可指示页面320中包含的数据是第一类型的数据还是第二类型的数据。在一些情况下,写入命令可包含与写入操作相关联的一或多个数据流的不同流识别符。在一些情况下,流识别符可针对与多个命令中的每一者相关联的LBA、物理块地址或数据单位,其可具有与页面320不同的大小。
存储器系统310可将流识别符存储在数据块(例如,源块315)内。存储器系统310可基于流识别符来确定源块315的每一页面320的特性。例如,所述特性可包含数据类型(例如,第一类型或第二类型)、与数据相关联的应用程序类型、流识别符或其组合。存储器系统310可基于流识别符来确定与每一页面320相关联的颜色。所述颜色可指示数据类型、流识别符、应用程序类型或其组合。例如,第一颜色322可与第一类型的数据相关联且第二颜色324可与第二类型的数据相关联。在一些情况下,存储器系统310可基于流识别符来确定与每一LBA、物理块地址或数据单位相关联的颜色。
在一些实例中,存储器系统310可接收命令且将颜色位图335(例如,包含颜色信息)存储在源块315内。例如,存储器系统310可在写入源块315之后将颜色位图335存储在源块315的末端处。颜色位图335可包含静态的(例如,不变的)信息。在一些情况下,可在写入操作发生时识别并存储包含在颜色位图335中的信息。在一些实例中,与所述特性相关联的信息包含具有表示数据块的一个页面320的特性的每一位的颜色位图335。在一些实例中,与所述特性相关联的颜色位图335中的信息可包含数据块的每一页面320的多个部分中的每一者的一个条目(例如,一个位或多个位)。例如,每一页面320可包含多个部分,且所述颜色位图可包含用以指示每一页面320的每一部分的颜色的一或多个位。在此类情况下,存储器系统可读取页面320及与所述特性相关联的信息以识别单个单位(例如,数据单位、物理地址、逻辑块地址)的颜色。
存储器系统310可识别用于废弃项目收集程序的源块315。源块315可包含多个页面320,其中页面320可被识别为与第一颜色322或第二颜色324相关联。颜色位图335可包含第一颜色322及第二颜色324的指示。例如,颜色位图335可指示第一页面320-a可包含第一类型的数据(例如,与第一颜色322相关联)且第二页面320-b可包含第二类型的数据(例如,与第二颜色324相关联)。
存储器系统310可引用PVT 330且识别页面320是包含有效数据还是无效数据。PVT330可包含可指示数据是有效还是无效的页表单位(PTU)。例如,存储器系统310可从PVT330获得有效性信息且基于PVT 330包含有效PTU 334来确定第一页面320-a可包含有效数据。存储器系统310可基于PVT 330包含无效PTU 332来确定第四页面320-d可包含无效数据。
PVT 330可为源块315的物理块的位图的实例。每一位(例如,PTU)可表示物理位置是包含有效数据还是无效数据。通过存储器系统310从PVT 330获得有效性信息,存储器系统310可通过绕过L2P表中的查找程序来按改进的速度及效率操作。PVT 330可指示哪些页面320可移动(例如,写入)到新块(例如,目的地块325)。例如,存储器系统310将有效数据移动到新块,而将无效数据维持在源块315中以供稍后擦除。PVT 330可在废弃项目收集程序期间进行更新以指示页面320是包含有效数据还是无效数据。例如,在颜色位图335可为静态(例如,不变)时,可更新PVT 330。
在废弃项目收集之前,PVT 330可指示数据块含有超过阈值量的无效数据量。相反,PVT 330可指示数据块不含无效数据(例如,含有有效数据)。存储器系统310可确定数据块的有效数据量下降到低于阈值(例如,含有无效数据)。在此类情况下,存储器系统310可执行废弃项目收集。在废弃项目收集之后,PVT 330中指示的无效数据可指示整个数据块含有无效数据。存储器系统310可在验证数据块的废弃项目收集程序的所有读取操作完成之后擦除数据块。
在一些情况下,存储器系统310可接收由颜色位图335及PVT 330编码的信息以基于有效性信息及特性(例如颜色)来分离包含在源块315中的数据。例如,存储器系统310可将颜色指示与PVT 330分离并将颜色指示与所述数据一起存储在源块315的一部分中。例如,颜色指示可保存在源块315的末端处的颜色位图335中。在废弃项目收集程序期间,操作的速度可增加,因为存储器系统310可从源块315存取颜色位图335以识别数据块的逻辑地址。PVT 330可存储在源块315的外部但在存储器系统310内。例如,PVT 330可存储在存储器系统310的专用区中,或在存储器系统310的与源块315及目的地块325分离的块中。
存储器系统310可基于数据是第一颜色322(例如,第一类型的数据)还是第二颜色324(例如,第二类型的数据)来分离数据串(例如,包含流识别符)。在此类情况下,存储器系统310可将不同颜色的数据移动到不同存储器位置(例如,不同目的地块325,包含SLC、TLC、QLC等的不同类型的单元)。例如,热数据可移动到SLC单元,而冷数据可移动到TLC或QLC单元。
存储器系统310可将与第一颜色322相关联的数据(例如,热数据)重新复制(例如,传送)到目的地块325-a。在一些情况下,存储器系统310可针对经识别第一颜色322检查其它源块315。例如,存储器系统310可识别第一页面320-a及第三页面320-c每一者包含基于PVT 330及由颜色位图335指示的第一颜色322的有效数据。在此类情况下,存储器系统310可移动(例如,复制及作废)数据(例如,按循序顺序)使得第一页面320-a及第三页面320-c可从源块315移动并到目的地块325-a。即使颜色位图335指示第六页面320-f是第一颜色322,存储器系统310仍可基于PVT 330指示第六页面320-f包含无效数据来避免将第六页面320-f从源块315移动到目的地块325-a。
在一些情况下,存储器系统310可识别逻辑块地址、物理块地址或数据单位可每一者包含基于PVT 330及由颜色位图335指示的第一颜色322的有效数据。在此类情况下,存储器系统310可将与逻辑块地址、物理块地址或数据单位相关联的数据(例如,按循序顺序)移动(例如,复制及作废)到不同位置。
存储器系统310可在传送与第一颜色322相关联的数据之后将与第二颜色324相关联的数据(例如,冷数据)移动(例如,复制及作废)到目的地块325-b。在一些情况下,存储器系统310可针对经识别第二颜色324检查其它源块315。例如,存储器系统310可识别第二页面320-b及第五页面320-e每一者包含基于PVT 330及由颜色位图335指示的第二颜色324的有效数据。在此类情况下,存储器系统310可移动数据(例如,按循序顺序)使得第二页面320-b及第五页面320-e可从源块315移动并到目的地块325-b。即使颜色位图335指示第四页面320-d是第二颜色324,存储器系统310仍可基于PVT 330指示第四页面320-d包含无效数据来避免将第四页面320-d从源块315移动到目的地块325-b。
在一些情况下,存储器系统310可识别逻辑块地址、物理块地址或数据单位可每一者包含基于PVT 330及由颜色位图335指示的第二颜色324的有效数据。在此类情况下,存储器系统310可将与逻辑块地址、物理块地址或数据单位相关联的数据(例如,按循序顺序)移动(例如,复制及作废)到不同于与第一颜色322相关联的数据的位置。例如,PVT 330可指示页面是有效的,且颜色位图335可指示页面的第一部分与第一颜色322相关联且页面的第二部分与第二颜色324相关联并且存储器系统310可将第一部分移动到第一位置(例如,第一目的地块)且将第二部分移动到第二位置(例如,第二目的地块)。存储器系统310可相应地更新L2P表。
在此类情况下,存储器系统310可一次对一种颜色执行废弃项目收集程序(例如,独立于另一颜色处理每种颜色)。存储器系统310可在对第二颜色324(例如,冷数据)执行废弃项目收集程序的第二部分之前对第一颜色322(例如,热数据)执行废弃项目收集的第一部分。
存储器系统310可读取有效数据并将有效数据写入到新块(例如,目的地块325-a或325-b)。在此类情况下,目的地块325可包含有效数据,由此确保目的地块325包含废弃项目收集程序中可能涉及的有效数据。源块315可包含无效数据,所述无效数据可通过传入主机数据来覆写(例如,在移动所有有效数据且擦除所述块之后)。例如,数据可通过将写入操作从主机系统305传入到先前写入的逻辑地址来作废而不是由于废弃项目收集程序而变得无效。无效数据可能不包含在目的地块325中,由此释放额外存储器资源。
在常规废弃项目收集程序中,存储器系统310可确定哪些数据块可经选择用于废弃项目收集程序且基于确定所述数据块包含较少量有效数据来选择源块315以用于废弃项目收集程序。在此类情况下,存储器系统310可在不分离数据(例如,热及冷数据的分离)的情况下将有效数据从源块315传送到目的地块325,由此增加管理操作的量且降低存储器系统310的总体性能。
在其它系统中,在废弃项目收集程序期间,存储器系统310可识别页面320是否包含第一类型的数据(例如,热数据)且将第一类型的数据移动到不同类型的存储器(例如,SLC)。与覆写第二类型的数据(例如,冷数据)相比,第一类型的数据可以增加的速率覆写。在此类情况下,存储器系统310可将第一类型的数据移动到不同类型的存储器且启动第二废弃项目收集程序。在一些实例中,写入放大因子可能受影响使得存储器系统310的操作可能减少,由此增加其它存储器系统操作的延时且使总体存储器系统310降级。
通过实施智能废弃项目收集程序,可在废弃项目收集程序期间组合及使用PVT330及颜色位图335以基于颜色(例如,数据类型)及有效性信息来分离数据。如果存储器系统310在废弃项目收集程序期间根据PVT 330及颜色位图335来分离数据,那么存储器系统310可将有效的热数据存储在与有效的冷数据分离的目的地块325中且避免混合有效的冷数据与更频繁更新的其它数据,由此增加未来废弃项目收集程序的效率(例如,在更少总体页面上执行废弃项目收集)。基于PVT 330及颜色位图335来将数据分类成不同块可导致更少数据成为未来废弃项目收集程序的部分。
图3B说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的虚拟块300-b的实例。虚拟块300-b可包含物理块360。虚拟块300-b可指示颜色以及数据是对应裸片340、平面345及页面355的有效数据还是无效数据(例如,存储在虚拟块300-b外部的PVT中)。虚拟块300-b也可包含位图365。
虚拟块300-b可跨多个裸片340及多个平面345。例如,虚拟块300-b可包含第一裸片340及第二裸片340。虚拟块300-b可包含用于每一裸片340的四个平面345。虚拟块300-b还可包含偏移350,所述偏移可包含用于每一平面345的四个偏移350。在此类情况下,存储器系统可一次在裸片340上对多个平面345的同一地址执行写入操作。
在一些情况下,除PVT之外,还可存储额外位,且关于虚拟块300-b的有效性的信息可从“黑及白”图片变换为“有色”位图。在此类情况下,虚拟块300-b可包含有效PTU 334或无效PTU 332以及每一物理块360的相关联颜色以优化废弃项目收集程序。在一些实例中,第一颜色322可指示热数据且第二颜色324可指示冷数据。在一些情况下,虚拟块300-b可包含多于两种颜色(例如,包含第三颜色、第四颜色等)。虚拟块300-b可用以将冷数据(例如,第二颜色324)移动到不同类型的存储器(例如,TLC或QLC)。虚拟块300-b的PVT可指示PTU是包含有效数据还是无效数据。
存储器系统可包含由本质上静态的PVT颜色编码的信息(例如,响应于从主机系统接收数据而识别且之后不更新)使得存储器系统可将所述颜色与PVT分离并将所述颜色连同数据一起保存在同一虚拟块300-b中(例如,虚拟块300-b的末端)。例如,所述颜色可存储在位图365中。在此类情况下,废弃项目收集程序的PVT颜色可缩放到不同及动态量的颜色。
在一些情况下,可针对每一群组获得位图365(例如,类型或流识别符)。流识别符可识别可与不同性能约束相关联(例如,使用或关于不同性能约束的操作方面)以增加用户体验的一或多个不同数据流。存储器系统可响应于确定流识别符而确定可指示写入操作的数据类型、与写入应用程序相关联的应用程序类型(例如,图片、电影、视频等)或两者的应用程序标识(ID)。在一些情况下,存储器系统可包含或获得用于不同群组的一定量的不同颜色位图。例如,如果主机系统使用多于两个群组,那么存储器系统可将每一群组存储在不同位图中或每一群组可组合在同一位图中(例如,对应于一个页面的每一位置可包含多于一个位)。
存储器系统可从颜色信息(例如,第一位图可与存储时相同,而第二位图是相反的)及可用以确定用于给定颜色的有效页面的逻辑运算(例如,AND)产生位图365。例如,存储器系统可直接响应于获得与所述特性相关联的信息而确定与数据块的每一页面相关联的数据类型。在此类情况下,所述特性包含所述数据类型。例如,存储器系统可确定所述数据是第一类型的数据(例如,热数据)还是第二类型的数据(例如,冷数据)。存储器系统可从虚拟块300-b的末端(例如,包含在虚拟块300-b的最后一个物理块360中)加载位图365。
图4说明根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的流程图400的实例。流程图400的操作可由如本文中所描述的任何装置或其组件实施。例如,流程图400的操作可由如参考图1所描述的存储器系统执行。可实施以下项的替代实例,其中一些步骤按不同顺序执行或根本不执行。一些步骤可另外包含下文未提及的额外特征。流程图400说明其中存储器系统可使用PVT及颜色位图以执行废弃项目收集程序的技术。
流程图400的方面可由控制器以及其它组件实施。另外或替代地,流程图400的方面可被实施为存储在控制器(例如,与存储器系统耦合的控制器)中的指令。例如,所述指令在由控制器(例如,存储器系统控制器115)执行时可致使控制器执行流程图400的操作。
在405处,可起始废弃项目收集程序。例如,存储器系统可在存储器系统的数据块上启动废弃项目收集程序(例如,重组程序)。存储器系统可在闲置周期期间启动废弃项目收集程序。在此类情况下,无论是否接收用以执行废弃项目收集程序的命令,存储器系统均可启动废弃项目收集程序。
在410处,可加载PVT。例如,存储器系统可从源块外部的位置加载所述块的PVT。在此类情况下,存储器系统可从数据块外部的存储器系统的一部分获得PVT。在一些实例中,存储器系统可直接响应于启动废弃项目收集程序及加载PVT表而获得数据块的每一页面的有效性信息。
在415处,可加载颜色位图。例如,存储器系统可从存储器系统的一或多个存储器单元(例如,在数据块内)加载颜色位图。在此类情况下,存储器系统可从与数据块相关联的一或多个存储器单元获得与所述特性相关联的信息(例如,与颜色位图相关联的颜色)。存储器系统可基于启动废弃项目收集程序来获得与数据块的每一页面的特性相关联的信息。所述特性可与从主机系统传输的数据一起接收。那个特性可指示数据类型(例如,热或冷数据)、流、应用程序或其组合。在一些情况下,可从与流相关联的信息(例如,流ID)确定所述特性。
在420处,可组合PVT及颜色位图。例如,存储器系统可将PVT及颜色位图与逐位AND运算组合。在此类情况下,存储器系统可在表示颜色的颜色位图与PVT之间使用逻辑运算(例如,AND运算)。存储器系统可获得与PVT相关联的信息,获得与颜色位图相关联的信息,且组合待用于废弃项目收集程序中的信息。在一些情况下,存储器系统可针对颜色位图的第一颜色使用逻辑AND运算,且接着针对颜色位图的第二颜色使用逻辑AND运算。在一些情况下,存储器系统可针对第三颜色或第四颜色使用逻辑AND运算。
在425处,可选择目标块。例如,存储器系统可选择目标块(例如,目的地块)。在一些情况下,存储器系统可选择与第一颜色相关联的目标块且接着选择与第二颜色相关联的目标块。存储器系统可选择与热数据(例如,第一颜色)相关联的目标块且可选择与冷数据(例如,第二颜色)相关联的目标块。如果选定目标块不可用于接收选定类型的数据,那么存储器系统可使用自由块来启动新目标块。
在430处,可收集数据。例如,存储器系统可使用逻辑AND运算来收集数据。存储器系统可根据PVT来处理颜色。在此类情况下,存储器系统可确定所述数据是有效数据还是无效数据。响应于确定所述数据是有效数据还是无效数据,存储器系统可避免移动无效数据。在一些情况下,存储器系统可根据PVT处理来第一颜色且接着根据PVT来处理第二颜色。在此类情况下,存储器系统可在处理冷数据之前处理热数据。在一些实例中,可一次一个地处理所述颜色(例如,一个接一个)。
在435处,可在目标块中写入数据。例如,存储器系统可直接响应于处理颜色而在目标块(例如,目的地块)中写入数据。存储器系统可针对废弃项目收集程序,根据与所述特性的第一值(例如,第一颜色)相关联的数据块的第一组页面的有效性信息(例如,PVT)来将所述第一组页面移动到存储器系统的第一部分。存储器系统可针对废弃项目收集程序,根据与所述特性的第二值(例如,第二颜色)相关联的数据块的第二组页面的有效性信息(例如,PVT)来将所述第二组页面移动到存储器系统的第二部分。在此类情况下,存储器系统可移动有效数据且避免移动无效数据。在一些实例中,存储器系统可在废弃项目收集程序的第一部分中移动与第一颜色相关联的数据子集且在废弃项目收集程序的第二部分中移动与第二颜色相关联的不同数据子集。
在一些实例中,存储器系统可针对废弃项目收集程序,根据所述数据块的页面的有效性信息及与所述页面的特性相关联的信息来将与所述特性的第一值(例如,第一颜色)相关联的所述页面的第一部分移动到存储器系统的第一部分。存储器系统可针对废弃项目收集程序,根据所述数据块的所述页面的有效性信息及与所述页面的特性相关联的信息来将与所述特性的第二值(例如,第二颜色)相关联的所述页面的第二部分移动到存储器系统的第二部分。
在440处,可作出颜色的移动操作是否完成的确定。例如,存储器系统可确定给定颜色的所有有效数据是否已移动到目标块。响应于确定所述块的颜色的移动操作未完成,存储器系统可在430处从所述块收集数据(例如,针对颜色)。在一些实例中,存储器系统可确定所述颜色是完整的(例如,来自所述块的颜色的所有有效数据已移动到目标块)。存储器系统可响应于移动所述块中的颜色的所有有效数据而确定所述颜色是完整的。
在445处,可作出是否处理所有颜色的确定。例如,存储器系统可确定经处理颜色的量是否满足阈值。在一些实例中,存储器系统可确定经处理颜色的量未能满足阈值。响应于确定一或多种颜色仍待处理,存储器系统可在415处加载颜色位图。在其它实例中,存储器系统可确定经处理颜色的量满足阈值(例如,所有颜色被处理)。响应于确定处理所有颜色,存储器系统可针对废弃项目收集程序,根据与所述特性的第三值相关联的数据块的第三组页面的有效性信息(例如,PVT)来将所述第三组页面移动到存储器系统的第三部分。
在450处,可终止废弃项目收集程序。例如,存储器系统可响应于确定可处理所有颜色而结束(例如,终止)废弃项目收集程序。
图5展示根据如本文中所公开的实例的支持用于废弃项目收集的页面有效性表颜色的受管理存储器系统控制器520的框图500。受管理存储器系统控制器520可为如参考图1到4所描述的受管理存储器系统控制器的方面的实例。受管理存储器系统控制器520或其各种组件可为用来执行如本文中所描述的用于废弃项目收集的页面有效性表颜色的各个方面的部件的实例。例如,受管理存储器系统控制器520可包含有效性组件525、颜色组件530、重组组件535、处理组件540、写入组件545或其任何组合。这些组件中的每一者可直接或间接彼此进行通信(例如,经由一或多个总线)。
有效性组件525可经配置为或以其它方式支持用于至少部分地基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息的部件。颜色组件530可经配置为或以其它方式支持用于至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息的部件。重组组件535可经配置为或以其它方式支持用于针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分的部件。处理组件540可经配置为或以其它方式支持用于针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分的部件。
在一些实例中,写入组件545可经配置为或以其它方式支持用于从主机系统接收用以执行写入操作的多个命令的部件,其中所述多个命令包含与所述多个命令相关联的数据页面的流识别符,且其中获得与所述特性相关联的所述信息至少部分地基于接收所述多个命令。
在一些实例中,写入组件545可经配置为或以其它方式支持用于将所述流识别符存储在所述数据块内的部件。在一些实例中,颜色组件530可经配置为或以其它方式支持用于至少部分地基于所述流识别符来确定所述数据块的每一页面的所述特性的部件。
在一些实例中,颜色组件530可经配置为或以其它方式支持用于至少部分地基于获得与所述特性相关联的所述信息来确定与所述数据块的每一页面相关联的数据类型的部件,其中所述特性包含所述数据类型。
在一些实例中,为了获得与所述特性相关联的所述信息,颜色组件530可经配置为或以其它方式支持用于从与所述数据块相关联的一或多个存储器单元获得与所述特性相关联的所述信息的部件。
在一些实例中,为了获得所述数据块的每一页面的所述有效性信息,有效性组件525可经配置为或以其它方式支持用于从所述数据块外部的所述存储器系统的一部分获得页面有效性表的部件。
在一些实例中,重组组件535可经配置为或以其它方式支持用于针对所述重组程序,根据与所述特性的第三值相关联的所述数据块的第三组页面的所述有效性信息来将所述第三组页面移动到所述存储器系统的第三部分的部件。
在一些实例中,与所述特性相关联的所述信息包含具有表示所述数据块的每一页面的所述特性的每一位的位图。
在一些实例中,重组组件535可经配置为或以其它方式支持用于针对所述重组程序,根据所述数据块的页面的所述有效性信息及与所述数据块的所述页面的所述特性相关联的所述信息来将与所述特性的所述第一值相关联的所述页面的第一部分移动到所述存储器系统的所述第一部分及将与所述特性的所述第二值相关联的所述页面的第二部分移动到所述存储器系统的所述第二部分的部件。
图6展示说明根据如本文所公开的实例的支持用于废弃项目收集的页面有效性表颜色的方法600的流程图。方法600的操作可由如本文中所描述的受管理存储器系统控制器或其组件实施。例如,方法600的操作可由如参考图1到5所描述的受管理存储器系统控制器执行。在一些实例中,受管理存储器系统控制器可执行一组指令以控制所述装置的功能元件以执行所描述功能。另外或替代地,受管理存储器系统控制器可使用专用硬件来执行所描述功能的方面。
在605处,可获得有效性信息。例如,所述方法可包含至少部分地基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息。605的操作可根据如本文中所公开的实例来执行。在一些实例中,605的操作的方面可由如参考图5所描述的有效性组件525执行。
在610处,可获得与特性相关联的信息。例如,所述方法可包含至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息。610的操作可根据如本文中所公开的实例来执行。在一些实例中,610的操作的方面可由如参考图5所描述的颜色组件530执行。
在615处,可移动第一组页面。例如,所述方法可包含针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分。615的操作可根据如本文中所公开的实例来执行。在一些实例中,615的操作的方面可由如参考图5所描述的重组组件535执行。
在620处,可移动第二组页面。例如,所述方法可包含针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。620的操作可根据如本文中所公开的实例来执行。在一些实例中,620的操作的方面可由如参考图5所描述的处理组件540执行。
在一些实例中,如本文中所描述的设备可执行一或若干方法,例如方法600。所述设备可包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):至少部分地基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
本文所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:从主机系统接收用以执行写入操作的多个命令,其中所述多个命令包含与所述多个命令相关联的数据页面的流识别符,且其中获得与所述特性相关联的所述信息至少部分地基于接收所述多个命令。
本文所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:将所述流识别符存储在所述数据块内;及至少部分地基于所述流识别符来确定所述数据块的每一页面的所述特性。
本文所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:至少部分地基于获得与所述特性相关联的所述信息来确定与所述数据块的每一页面相关联的数据类型,其中所述特性包含所述数据类型。
在本文中所描述的方法600及设备的一些实例中,获得与所述特性相关联的所述信息可包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:从与所述数据块相关联的一或多个存储器单元获得与所述特性相关联的所述信息。
在本文所描述的方法600及设备的一些实例中,获得所述数据块的每一页面的所述有效性信息可包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:从所述数据块外部的所述存储器系统的一部分获得页面有效性表。
本文所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:针对所述重组程序,根据与所述特性的第三值相关联的所述数据块的第三组页面的所述有效性信息来将所述第三组页面移动到所述存储器系统的第三部分。
在本文所描述的方法600及设备的一些实例中,与所述特性相关联的所述信息包含具有表示所述数据块的每一页面的所述特性的每一位的位图。
本文所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、电路系统、逻辑、部件或指令:针对所述重组程序,根据所述数据块的页面的所述有效性信息及与所述数据块的所述页面的所述特性相关联的所述信息来将与所述特性的所述第一值相关联的所述页面的第一部分移动到所述存储器系统的所述第一部分及将与所述特性的所述第二值相关联的所述页面的第二部分移动到所述存储器系统的所述第二部分。
应注意,本文中所描述的方法描述可能的实施方案,且可重新布置或以其它方式修改操作及步骤,且其它实施方案也是可能的。此外,可组合来自两种或更多种方法的部分。
本文中所描述的信息及信号可使用多种不同科技及技术中的任一者来表示。例如,可贯穿上文描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示。一些附图可将信号说明为单个信号;然而,信号可表示信号总线,其中所述总线可具有多种位宽度。
术语“电子通信”、“导电接触”、“连接”及“耦合”可指组件之间的关系,其支持组件之间的信号流。如果组件之间存在可随时支持组件之间的信号流的任何导电路径,那么组件被视为彼此电子通信(或导电接触或连接或耦合)。在任何给定时间,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径基于包含所连接组件的装置的操作而可为开路或闭路。所连接组件之间的导电路径可为所述组件之间的直接导电路径或所连接组件之间的导电路径可为可包含中间组件,例如开关、晶体管或其它组件的间接导电路径。在一些实例中,所连接组件之间的信号流可例如使用例如开关或晶体管的一或多个中间组件而被中断一段时间。
术语“耦合”是指从组件之间的开路关系(其中信号目前不能通过导电路径在组件之间进行传达)移动到组件之间的闭路关系(其中信号通过导电路径在组件之间进行传达)的条件。如果组件(例如控制器)将其它组件耦合在一起时,那么组件启动允许通过先前不容许信号流动的导电路径在其它组件之间流动的变化。
术语“经隔离”是指组件之间的关系,其中信号目前不能在组件之间流动。如果组件之间存在开路,那么组件彼此隔离。例如,由定位在组件之间的开关分离的两个组件在开关断开的情况下彼此隔离。如果控制器使两个组件隔离时,那么控制器产生变化,其防止信号使用先前容许信号流动的导电路径在组件之间流动。
术语“如果”、“当…时”、“基于”或“至少部分地基于”可互换d2使用。在一些实例中,如果使用术语“如果”、“当…时”、“基于”或“至少部分地基于”以描述条件动作、条件过程或过程的部分之间的连接,那么所述术语可互换。
术语“响应于”可指作为先前条件或动作的结果而至少部分地(如果不是完全地)发生的一个条件或动作。例如,可执行第一条件或动作,且第二条件或动作可至少部分地作为先前条件或动作发生的结果而发生(无论是直接在还是在发生在第一条件或动作之后的一或多个其它中间条件或动作之后)。
另外,术语“直接地响应于”或“直接响应于”可指作为先前条件或动作的直接结果而发生的一个条件或动作。在一些实例中,可执行第一条件或动作,且第二条件或动作可作为先前条件或动作发生的结果而直接发生,而与其它条件或动作是否发生无关。在一些实例中,可执行第一条件或动作,且第二条件或动作可作为先前条件或动作发生的结果而直接发生,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作且在较早条件或动作与第二条件或动作之间发生有限量的一或多个中间步骤或动作。本文中被描述为“基于”、“至少部分地基于”或“响应于”某个其它步骤、动作、事件或条件执行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”此其它条件或动作而执行,除非另有指定。
本文中所论述的装置(包含存储器阵列)可经形成在半导体衬底,例如硅、锗、硅锗合金、砷化镓、氮化镓等上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可为绝缘体上硅(SOI)衬底(例如玻璃上硅(SOS)或蓝宝石上硅(SOP))或另一衬底上的半导体材料的外延层。可通过使用各种化学物种(包含但不限于磷、硼或砷)掺杂来控制衬底或衬底的子区的导电率。可通过离子植入或通过任何其它掺杂方法在衬底的初始形成或生长期间执行掺杂。
本文中所论述的切换组件或晶体管可表示场效晶体管(FET)且包括包含源极、漏极及栅极的三终端装置。所述终端可通过导电材料(例如,金属)连接到其它电子元件。源极及漏极可为导电的且可包括重度掺杂(例如,简并)半导体区。可通过轻度掺杂半导体区或沟道分离源极及漏极。如果沟道是n型(即,多数载子是电子),那么FET可被称为n型FET。如果沟道是p型(即,多数载子是空穴),那么FET可被称为p型FET。沟道可通过绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电率。例如,分别将正电压或负电压施加到n型FET或p型FET可能导致沟道变成导电的。如果将大于或等于晶体管的阈值电压的电压施加到晶体管栅极,那么可“导通”或“激活”晶体管。如果将小于晶体管的阈值电压的电压施加到晶体管栅极,那么可“关断”或“取消激活”所述晶体管。
本文中所阐述的描述结合附图描述实例配置且不表示可实施或在权利要求书的范围内的所有实例。本文中所使用的术语“实例性”表示“充当实例、例子或说明”且非“优选”或“优于其它实例”。详细描述包含特定细节以提供对所描述技术的理解。然而,可在没有这些特定细节的情况下实践这些技术。在一些例子中,以框图形式展示熟知结构及装置以避免模糊所描述实例的概念。
在附图中,类似组件或特征可具有相同参考标签。此外,可通过在参考标签后加连字号及区分类似组件的第二标签来区分相同类型的各种组件。当仅在说明书中使用第一参考标签时,描述可适用于具有相同第一参考标签的类似组件中的任一者,而无关于第二参考标签。
可在硬件、由处理器实行的软件、固件或其任何组合中实施本文中所描述的功能。如果在由处理器实行的软件中实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或通过计算机可读媒体传输。其它实例及实施方案是在本公开及所附权利要求书的范围内。例如,由于软件的性质,可使用由处理器实行的软件、硬件、固件、硬接线或这些中的任一者的组合来实施上文所描述的功能。实施功能的特征也可在物理上位于各种位置处,包含经分布使得在不同物理位置处实施功能的部分。
例如,结合本公开所描述的各种说明性块及组件可使用经设计以执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何处理器、控制器、微控制器或状态机。处理器可被实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此配置)。
如本文中(包含在权利要求书中)所使用,如项目列表(例如,以例如“…中的至少一者”或“…中的一或多者”的短语开始的项目列表)中使用的“或”指示包含性列表,使得例如A、B或C中的至少一者的列表表示A或B或C或AB或AC或BC或ABC(即,A及B及C)。而且,如本文中所使用,短语“基于”不应被解释为对条件闭集的参考。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的实例性步骤可基于条件A及条件B两者。换句话说,如本文中所使用,短语“基于”应以与短语“至少部分地基于”相同的方式来解释。
计算机可读媒体包含非暂时性计算机存储媒体及通信媒体两者,所述通信媒体包含促进计算机程序从一个地方到另一地方的任何媒体的传送。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、或可用于以指令或数据结构形式携带或存储所要程序代码且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。而且,任何连接适当地被称为计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输软件,那么媒体的定义中包含同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)。如本文中所使用,磁盘及光盘包含CD、激光光盘、光盘、数字多功能光盘(DVD)、软盘及蓝光盘,其中磁盘通常以磁性方式重现数据,而光盘则以激光光学方式重现数据。上述的组合也包含在计算机可读媒体的范围内。
提供本文描述以使所属领域的技术人员能够制成或使用本公开。所属领域的技术人员将明白对本公开的各种修改,且在不脱离本公开的范围的情况下,本文中所定义的通用原理可应用于其它变型。因此,本公开不限于本文中所描述的实例及设计,而是应符合与本文中所公开的原则及新颖特征一致的最广范围。
Claims (25)
1.一种设备,其包括:
存储器系统;
控制电路,其与所述存储器系统耦合且经配置以致使所述设备:
至少部分地基于在所述存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;
至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;
针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及
针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
2.根据权利要求1所述的设备,其中所述控制电路进一步经配置以致使所述设备:
从主机系统接收用以执行写入操作的多个命令,其中所述多个命令包括与所述多个命令相关联的数据页面的流识别符,且其中获得与所述特性相关联的所述信息至少部分地基于接收所述多个命令。
3.根据权利要求2所述的设备,其中所述控制电路进一步经配置以致使所述设备:
将所述流识别符存储在所述数据块内;及
至少部分地基于所述流识别符来确定所述数据块的每一页面的所述特性。
4.根据权利要求1所述的设备,其中所述控制电路进一步经配置以致使所述设备:
至少部分地基于获得与所述特性相关联的所述信息来确定与所述数据块的每一页面相关联的数据类型,其中所述特性包括所述数据类型。
5.根据权利要求1所述的设备,其中为了获得与所述特性相关联的所述信息,所述控制电路经配置以致使所述设备:
从与所述数据块相关联的一或多个存储器单元获得与所述特性相关联的所述信息。
6.根据权利要求1所述的设备,其中为了获得所述数据块的每一页面的所述有效性信息,所述控制电路经配置以致使所述设备:
从所述数据块外部的所述存储器系统的一部分获得页面有效性表。
7.根据权利要求1所述的设备,其中所述控制电路进一步经配置以致使所述设备:
针对所述重组程序,根据与所述特性的第三值相关联的所述数据块的第三组页面的所述有效性信息来将所述第三组页面移动到所述存储器系统的第三部分。
8.根据权利要求1所述的设备,其中与所述特性相关联的所述信息包括具有表示所述数据块的每一页面的所述特性的每一位的位图。
9.根据权利要求1所述的设备,其中所述控制电路进一步经配置以致使所述设备:
针对所述重组程序,根据所述数据块的页面的所述有效性信息及与所述数据块的所述页面的所述特性相关联的所述信息来将与所述特性的所述第一值相关联的所述页面的第一部分移动到所述存储器系统的所述第一部分及将与所述特性的所述第二值相关联的所述页面的第二部分移动到所述存储器系统的所述第二部分。
10.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时致使所述电子装置:
至少部分地基于在存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;
至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;
针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及
针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
11.根据权利要求10所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置:
从主机系统接收用以执行写入操作的多个命令,其中所述多个命令包括与所述多个命令相关联的数据页面的流识别符,且其中获得与所述特性相关联的所述信息至少部分地基于接收所述多个命令。
12.根据权利要求11所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置:
将所述流识别符存储在所述数据块内;及
至少部分地基于所述流识别符来确定所述数据块的每一页面的所述特性。
13.根据权利要求10所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置:
至少部分地基于获得与所述特性相关联的所述信息来确定与所述数据块的每一页面相关联的数据类型,其中所述特性包括所述数据类型。
14.根据权利要求10所述的非暂时性计算机可读媒体,其中用以获得与所述特性相关联的所述信息的所述指令在由所述电子装置的所述处理器执行时致使所述电子装置:
从与所述数据块相关联的一或多个存储器单元获得与所述特性相关联的所述信息。
15.根据权利要求10所述的非暂时性计算机可读媒体,其中用以获得所述数据块的每一页面的所述有效性信息的所述指令在由所述电子装置的所述处理器执行时致使所述电子装置:
从所述数据块外部的所述存储器系统的一部分获得页面有效性表。
16.根据权利要求10所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置:
针对所述重组程序,根据与所述特性的第三值相关联的所述数据块的第三组页面的所述有效性信息来将所述第三组页面移动到所述存储器系统的第三部分。
17.根据权利要求10所述的非暂时性计算机可读媒体,其中与所述特性相关联的所述信息包括具有表示所述数据块的每一页面的所述特性的每一位的位图。
18.一种由存储器系统执行的方法,其包括:
至少部分地基于在所述存储器系统的数据块上启动重组程序来获得所述数据块的每一页面的有效性信息;
至少部分地基于启动所述重组程序来获得与所述数据块的每一页面的特性相关联的信息;
针对所述重组程序,根据与所述特性的第一值相关联的所述数据块的第一组页面的所述有效性信息来将所述第一组页面移动到所述存储器系统的第一部分;及
针对所述重组程序,根据与所述特性的第二值相关联的所述数据块的第二组页面的所述有效性信息来将所述第二组页面移动到所述存储器系统的第二部分。
19.根据权利要求18所述的方法,其进一步包括:
从主机系统接收用以执行写入操作的多个命令,其中所述多个命令包括与所述多个命令相关联的数据页面的流识别符,且其中获得与所述特性相关联的所述信息至少部分地基于接收所述多个命令。
20.根据权利要求19所述的方法,其进一步包括:
将所述流识别符存储在所述数据块内;及
至少部分地基于所述流识别符来确定所述数据块的每一页面的所述特性。
21.根据权利要求18所述的方法,其进一步包括:
至少部分地基于获得与所述特性相关联的所述信息来确定与所述数据块的每一页面相关联的数据类型,其中所述特性包括所述数据类型。
22.根据权利要求18所述的方法,其中获得与所述特性相关联的所述信息进一步包括:
从与所述数据块相关联的一或多个存储器单元获得与所述特性相关联的所述信息。
23.根据权利要求18所述的方法,其中获得所述数据块的每一页面的所述有效性信息进一步包括:
从所述数据块外部的所述存储器系统的一部分获得页面有效性表。
24.根据权利要求18所述的方法,其进一步包括:
针对所述重组程序,根据与所述特性的第三值相关联的所述数据块的第三组页面的所述有效性信息来将所述第三组页面移动到所述存储器系统的第三部分。
25.根据权利要求18所述的方法,其中与所述特性相关联的所述信息包括具有表示所述数据块的每一页面的所述特性的每一位的位图。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/241,856 | 2021-04-27 | ||
US17/241,856 US11663123B2 (en) | 2021-04-27 | 2021-04-27 | Page validity table colors for garbage collection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373587A true CN115373587A (zh) | 2022-11-22 |
Family
ID=83694234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446751.0A Pending CN115373587A (zh) | 2021-04-27 | 2022-04-26 | 用于废弃项目收集的页面有效性表颜色 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11663123B2 (zh) |
CN (1) | CN115373587A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230018216A (ko) * | 2021-07-29 | 2023-02-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 컨트롤러의 동작 방법 |
CN118051170A (zh) * | 2022-11-16 | 2024-05-17 | 长江存储科技有限责任公司 | 存储器控制器及其操作方法、存储器系统、电子设备 |
CN117453147B (zh) * | 2023-12-22 | 2024-04-02 | 合肥联宝信息技术有限公司 | 固态硬盘垃圾回收方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642505B1 (en) * | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US11249652B1 (en) * | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9928166B2 (en) * | 2013-12-24 | 2018-03-27 | International Business Machines Corporation | Detecting hot spots through flash memory management table snapshots |
KR20160143259A (ko) * | 2015-06-05 | 2016-12-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US11048624B2 (en) * | 2017-04-25 | 2021-06-29 | Samsung Electronics Co., Ltd. | Methods for multi-stream garbage collection |
KR20200027858A (ko) * | 2018-09-05 | 2020-03-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20210083448A (ko) * | 2019-12-26 | 2021-07-07 | 삼성전자주식회사 | 비지도 학습 기법을 사용하는 스토리지 장치 및 그것의 메모리 관리 방법 |
KR20210158043A (ko) * | 2020-06-23 | 2021-12-30 | 삼성전자주식회사 | 스트림 분류 번호에 따른 데이터 분류 스토리지 장치 및 그 동작 방법 |
-
2021
- 2021-04-27 US US17/241,856 patent/US11663123B2/en active Active
-
2022
- 2022-04-26 CN CN202210446751.0A patent/CN115373587A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11663123B2 (en) | 2023-05-30 |
US20220342812A1 (en) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663123B2 (en) | Page validity table colors for garbage collection | |
US11768627B2 (en) | Techniques for page line filler data | |
CN115374025A (zh) | 可配置刷新操作速度 | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
CN117667760A (zh) | 存储器系统逻辑单元号程序 | |
US11687291B2 (en) | Techniques for non-consecutive logical addresses | |
WO2022232969A1 (en) | Data organization for logical to physical table compression | |
WO2022183308A1 (en) | Two-stage buffer operations supporting write commands | |
CN114924689A (zh) | 经优化命令序列 | |
US20240078031A1 (en) | Dividing blocks for special functions | |
US20240176550A1 (en) | Transferring valid data using a system latch | |
US20240201860A1 (en) | Address mappings for random access operations | |
US12124723B2 (en) | Techniques for data transfer operations | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US20240078020A1 (en) | Write booster pinning | |
US12045495B2 (en) | Read latency and suspend modes | |
US11995346B2 (en) | Resuming write operations after suspension | |
US12112066B2 (en) | Techniques for firmware enhancement in memory devices | |
US11940926B2 (en) | Creating high density logical to physical mapping | |
US20230297516A1 (en) | Circular buffer partitions | |
US20240281169A1 (en) | Reliable and efficient boot logical unit access | |
WO2023173363A1 (en) | Low-latency processing for unmap commands | |
US20240289042A1 (en) | Block replacement using combined blocks | |
US20240231702A1 (en) | Multiplane data transfer commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |