CN113885786B - 用于垃圾收集的数据分离 - Google Patents

用于垃圾收集的数据分离 Download PDF

Info

Publication number
CN113885786B
CN113885786B CN202110743910.9A CN202110743910A CN113885786B CN 113885786 B CN113885786 B CN 113885786B CN 202110743910 A CN202110743910 A CN 202110743910A CN 113885786 B CN113885786 B CN 113885786B
Authority
CN
China
Prior art keywords
pages
type
identifying
translation
memory system
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.)
Active
Application number
CN202110743910.9A
Other languages
English (en)
Other versions
CN113885786A (zh
Inventor
N·科莱拉
A·波利奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113885786A publication Critical patent/CN113885786A/zh
Application granted granted Critical
Publication of CN113885786B publication Critical patent/CN113885786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management
    • G06F2212/702Conservative garbage collection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Memory System (AREA)

Abstract

本申请案是针对用于垃圾收集的数据分离。耦合到所述存储器阵列的控制组件可识别用于垃圾收集程序的源块。在一些情况下,所述源块的第一页集可被识别为与第一存取频率相关联的第一类型,且所述源块的第二页集可被识别为与第二存取频率相关联的第二类型。作为所述垃圾收集程序的部分,一旦所述页被识别为所述第一类型或所述第二类型,所述第一页集可传送到第一目的地块,且所述第二页集可传送到第二目的地块。

Description

用于垃圾收集的数据分离
交叉引用
本专利申请案主张科莱拉(Colella)等人2020年7月1日申请的标题为“用于垃圾收集的数据分离(DATA SEPARATION FOR GARBAGE COLLECTION)”的美国专利申请案第16/918,333号的优先权,所述申请案转让给本受让人,并且明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及用于垃圾收集的数据分离。
背景技术
下文大体上涉及用于存储器的一或多个系统,且更具体来说,涉及用于垃圾收集的数据分离。
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一个。在一些实例中,单个存储器单元可支持多于两个可能状态,存储器单元可存储所述两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D XPoint)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。易失性存储器单元(例如,DRAM单元)除非由外部电源周期性地刷新,否则可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述了一种设备。在一些实例中,所述设备可包含存储器阵列;控制组件,其与所述存储器阵列耦合且被配置成致使所述设备:识别用于垃圾收集操作的源块,所述源块包括多个页;将所述源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述源块的第二有效页集识别为与第二存取频率参数相关联的第二类型;作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
描述了一种方法。在一些实例中,所述方法可包含识别用于垃圾收集操作的源块,所述源块包括多个页;将所述源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述源块的第二有效页集识别为与第二存取频率参数相关联的第二类型;作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
描述一种存储代码的非暂时性计算机可读媒体。在一些实例中,所述存储代码的非暂时性计算机可读媒体可包含指令,所述指令在由电子装置的处理器执行时致使所述电子装置:识别用于垃圾收集操作的源块,所述源块包括多个页;将所述源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述源块的第二有效页集识别为与第二存取频率参数相关联的第二类型;作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
附图说明
图1说明根据本文所公开的实例的支持用于垃圾收集的数据分离的系统的实例。
图2说明根据本文所公开的实例的支持用于垃圾收集的数据分离的框图的实例。
图3说明根据本文所公开的实例的支持用于垃圾收集的数据分离的先进先出(FIFO)结构的实例。
图4说明根据本文所公开的实例的支持用于垃圾收集的数据分离的框图的实例。
图5示出根据本文所公开的实例的支持用于垃圾收集的数据分离的存储器装置的框图。
图6示出说明根据本文所公开的实例的支持用于垃圾收集的数据分离的一或多种方法的流程图。
具体实施方式
在一些垃圾收集程序中,块可包含有效数据页和无效数据页(例如,先前写入的但不再与有效逻辑地址相关联的旧数据,所述逻辑地址例如主机系统在逻辑到物理(L2P)映射表中所引用的逻辑地址)。块还可包含具有有效数据的页,以及不含有数据的页。在垃圾收集期间,基于存储器系统控制器发出的一或多个读取命令,最初将即将被擦除的块的有效数据读取到缓冲器中并且由缓冲器存储,且擦除对应块(例如,其上含有有效数据的块)。接着可将有效数据写入(例如,重写)到存储器系统(例如,存储器系统的不同页)。为了将有效数据写入到一方位(例如,存储器系统的不同页),控制器可发出写入命令,每一写入命令指示有效数据将写入到的地址(例如,目的地地址)。在一些垃圾收集程序中,一旦对应的读取命令已完成,就发出写入命令。也就是说,源地址(例如将被擦除的页上的地址)处的用于数据的读取命令。
在一些情况下,存储器系统可被配置成代表主机系统存储信息。此类主机系统可发出存取存储器系统的写入命令或读取命令。在一些情况下,为了有助于存储器系统的执行,可在与执行主机起始的存取操作相同的时间执行一或多个管理操作(例如,垃圾收集操作)。此类程序可引起在存储器系统中写入或读取与主机系统所请求的数据相比更多的数据。此类技术(例如,使用增加的量的管理操作)可引起存储器系统当执行垃圾收集程序时经历性能损失,这可增加与主机系统相关的其它操作的时延。存储器系统可使用增加的量的管理操作,这可降低存储器系统的总体性能,从而可引起主机系统经历读取、写入和擦除速度受损。减小存储器系统执行的管理操作的量的技术可为所要的。
本公开的方面通过具有包含智能垃圾收集程序的存储器系统解决以上和其它缺陷。垃圾收集程序可通过使用逻辑到物理地址转译(PPT)表确定逻辑块地址(LBA)的存取历史(例如,存取频率)。在这类情况下,可基于写入存取频率将LBA分离。举例来说,存储器系统可将频繁存取的数据(例如,热数据)和较不频繁存取的数据(例如,冷数据)分离成存储器阵列的不同部分。一旦数据经分离,可针对频繁存取的数据(例如,热数据)更频繁地执行管理操作,而可针对较不频繁存取的数据(例如,冷数据)较不频繁地执行管理操作。
在这类情况下,执行的管理操作的量可减小。通过基于存取频率分离数据,可提高存储器系统的总体性能。举例来说,分离用于垃圾收集的数据可提高存储器系统的总效率,这可引起存储器系统经历读取、写入和擦除速度提高、功率消耗降低、处理时间减小等等。
首先在如参考图1所描述的系统的上下文中描述本公开的特征。在如参考图2-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可包含可与系统110耦合的主机系统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可经由用于包含在系统110中的每一存储器装置130或存储器装置140的相应物理主机接口,或经由用于包含在系统110中的每一类型的存储器装置130或存储器装置140的相应物理主机接口而与系统110耦合(例如,主机系统控制器106可与系统控制器115耦合)。
系统110可包含系统控制器115、存储器装置130和存储器装置140。存储器装置130可包含第一类型的存储器单元(例如,一种类型的非易失性存储器单元)的一或多个存储器阵列,且存储器装置140可包含第二类型的存储器单元(例如,一种类型的易失性存储器单元)的一或多个存储器阵列。虽然在图1的实例中展示一个存储器装置130和一个存储器装置140,但应理解,系统110可包含任何数量的存储器装置130和存储器装置140,且在一些情况下,系统110可缺乏存储器装置130或存储器装置140。
系统控制器115可与主机系统105耦合且通信(例如,经由物理主机接口)。系统控制器115还可与存储器装置130或存储器装置140耦合和通信以进行例如在存储器装置130或存储器装置140处读取数据、写入数据、擦除数据或刷新数据的操作,以及可通常被称为存取操作的其它此类操作。在一些情况下,系统控制器115可从主机系统105接收命令且与一或多个存储器装置130或存储器装置140通信以执行此类命令(例如,在所述一或多个存储器装置130或存储器装置140内的存储器阵列处)。举例来说,系统控制器115可从主机系统105接收命令或操作并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130或存储器装置140的所要存取。且在一些情况下,系统控制器115可与主机系统105以及一或多个存储器装置130或存储器装置140交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。举例来说,系统控制器115可将与存储器装置130或存储器装置140相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。
系统控制器115可配置成用于与存储器装置130或存储器装置140相关联的其它操作。举例来说,系统控制器115可执行或管理操作,例如耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,LBA)和与存储器装置130或存储器装置140内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。
系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器,或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统,以执行本文中归于系统控制器115的操作。系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或其它存储器,其可存储可由系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归因于系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由系统控制器115用于例如与本文中归因于系统控制器115的功能有关的内部存储或运算。另外或替代地,本地存储器120可充当用于系统控制器115的高速缓存器。举例来说,在从存储器装置130或存储器装置140读取或者向存储器装置130或存储器装置140写入时,数据可存储到本地存储器120,并且可在本地存储器120内可用以用于根据高速缓存策略由主机系统105后续检索或操纵(更新)(例如,在相对于存储器装置130或存储器装置140的减少的时延的情况下)。
虽然图1中的系统110的实例已示出为包含系统控制器115,但在某些情况下,系统110可不包含系统控制器115。举例来说,系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130或存储器装置140内部的一或多个本地控制器135或本地控制器145,以进行本文中归因于系统控制器115的功能。一般来说,本文中归因于系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或本地控制器145或其任何组合进行。
存储器装置140可包含易失性存储器单元的一或多个阵列。举例来说,存储器装置140可包含随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。在一些实例中,存储器装置140可在相对于存储器装置130的减小的时延的情况下支持随机接入操作(例如,由主机系统105进行),或可提供相对于存储器装置130的一或多个其它性能差异。
存储器装置130可包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM)。
在一些实例中,存储器装置130或存储器装置140可分别包含(例如,在同一裸片上或同一封装内)本地控制器135或本地控制器145,其可执行存储器装置130或存储器装置140的一或多个存储器单元上的操作。本地控制器135或本地控制器145可结合系统控制器115操作,或可执行本文中归于系统控制器115的一或多个功能。在一些情况下,包含本地控制器135或本地控制器145的存储器装置130或存储器装置140可被称为受管理存储器装置,且可包含与本地(例如,裸片上或封装内)控制器(例如,本地控制器135或本地控制器145)组合的存储器阵列和相关电路系统。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一些情况下,存储器装置130可为或包含NAND装置(例如,NAND快闪装置)。存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每个裸片160可包含一或多个平面165,并且每个平面165可包含相应的块170的集,其中每个块170可包含相应的页175的集,并且每个页175可包含存储器单元集。
在一些情况下,NAND存储器装置130可包含被配置成各自存储一个信息位的存储器单元,其可被称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,则其可称为多层级单元(MLC),如果配置成各自存储三个信息位,则其可称为三层级单元(TLC),如果配置成各自存储四个信息位,则其可称为四层级单元(QLC),或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可涉及用于支持电路的更窄读取或写入裕度或更大复杂度。
在一些情况下,平面165可指块170的群组,且在一些情况下,可在不同平面165内发生并行操作。举例来说,可对不同块170内的存储器单元执行并行操作,只要不同块170处于不同平面165中。在一些情况下,在不同平面165中执行并行操作可受制于一或多个限制,例如对不同页面175内的存储器单元执行并行操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨越平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未展示)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。此外,在一些情况下,NAND存储器单元可在可使用新数据重新写入之前被擦除。因此,举例来说,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
在一些情况下,为了在块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或本地控制器145可执行存储器装置130或存储器装置140的操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。举例来说,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用称为“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指媒体管理操作集,其包含例如:选择含有有效和无效数据的块170;选择所述块中含有有效数据的页175;将所述有效数据从所选页175复制到新位置(例如,另一块170中的自由页175);将先前选择的页175中的数据标记为无效;和擦除所选块170。因此,可增加已擦除的块170的数量,使得可使用更多的块170来存储后续数据(例如,随后从主机系统105接收到的数据)。
系统100可包含支持用于垃圾收集的数据分离的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、系统控制器115、存储器装置130或存储器装置140可包含或以其它方式可存取存储指令(例如,固件)的一或多个非暂时性计算机可读媒体以用于执行本文中归属于主机系统105、系统控制器115、存储器装置130或存储器装置140的功能。举例来说,此类指令当由主机系统105(例如,由主机系统控制器106)、由系统控制器115、由存储器装置130(例如,由本地控制器135)或由存储器装置140(例如,由本地控制器145)执行时可致使主机系统105、系统控制器115、存储器装置130或存储器装置140执行本文所描述的相关联功能。
在一些情况下,存储器装置130可识别用于垃圾收集程序的源块(例如,块170)。源块可包含多个页175。存储器装置130可将源块的第一页集175识别为第一类型(例如,相对较不频繁地存取的冷数据)并且将源块的第二页集175识别为第二类型(例如,相对频繁地存取的热数据)。在这类情况下,第一类型可与存取第一页集175的频率相关联,且第二类型可与存取第二页集175的频率相关联。
垃圾收集程序可使用存取频率将较不频繁存取的数据(例如,第一类型)和频繁存取的数据(例如,第二类型)分离成存储器阵列的不同部分。举例来说,作为垃圾收集程序的部分,存储器装置130可将指示较不频繁存取的数据的第一页集175传送到目的地块(例如,块170)并且将指示频繁存取的数据的第二页集175传送到不同目的地块(例如,块170)。在这类情况下,可针对频繁存取的数据(例如,第二类型)较频繁地执行管理操作,而可针对较不频繁存取的数据(例如,第一类型)较不频繁地执行管理操作,进而减小执行的管理操作的量。基于将数据分离,存储器装置可在垃圾收集程序中包含第一类型。
图2说明根据本文所公开的实例的支持用于垃圾收集的数据分离的框图200的实例。框图200可包含PPT表205、转译索引210(例如,PPT索引)和转译群组(例如,PPT群组)。
主机系统可发出存取存储器系统的写入命令或读取命令。在一些情况下,写入的总字节(TBW)可表示在可执行编程/擦除(PE)操作之前主机系统可写入的数据量。管理操作可在与执行主机起始的操作(例如,主机起始的写入操作)相同的时间执行。此类程序在可在存储器系统中写入或读取与主机系统所请求的数据相比更多的数据时可引起TBW的量增加。在维持存储器系统的管理操作的同时增加TBW的量的技术可为所要的。
TBW可取决于执行PE操作的系统的容量。在一些情况下,TBW可取决于写入放大因子(WAF)。WAF可为在存储器系统中写入的数据量与主机系统所请求的数据量之间的比较(例如,比率)的实例。在一些系统中,归因于可与主机起始的操作在同一时间执行的管理操作的量增加,WAF可大于1(例如,在存储器系统中写入的数据量大于由主机系统写入的数据量)。在维持存储器系统的管理操作的同时增加TBW的量的技术可提高垃圾收集程序的效率,进而减小WAF并且增加TBW。在这类情况下,减小在写入操作期间出现的管理操作的量可使得存储器系统能够写入增加的量的主机数据而非增加管理操作。
在一些实例中,可通过使用PPT表205确定LBA的写入存取历史(例如,频率)来提高垃圾收集程序的效率。PPT表205可用于将逻辑地址转译成物理地址。PPT表205可包含多个转译索引210(例如,转译索引210-a、210-b和210-c)。在这类情况下,PPT表205可将包含转译索引210的LBA范围定址以维持逻辑到物理转换。
一或多个PPT表205可合并成转译群组215,进而减小用于每一PPT表205的个别更新的数量。举例来说,可用来自主机系统的传入数据更新PPT表205的转译索引210。在更新与转译索引210相关联的信息(例如,物理地址和逻辑地址之间的相关性)之后,可基于转译群组215内存在经更新转译索引210而更新转译群组215。在这类情况下,与PPT表205相关联的更新可与转译群组215相关联。存储器系统可产生可包含转译索引210-a、210-b和210-c的转译群组215。在一些情况下,转译群组215的转译索引210-a、210-b和210-c可各自与一或多个页相关联。存储器系统可识别与用于一或多个页的写入操作相关联的转译群组215。
在一些实例中,存储器系统可包含在表1中识别的转译群组215(例如,PPT群组)的不同转译索引210(例如,PPT索引)和对应不同大小。
密度[GB] PPT索引(4M) PPT大小(MB) PPT群组(32MB)
64 16384 64 2048
128 32768 128 4096
256 65536 256 8192
512 131072 512 16384
表1
为适应对转译群组215的更新,可使用并且针对记录数量(例如,64条记录、128条记录、256条记录、512条记录等)定义先入先出(FIFO)队列。在这类情况下,记录数量可用于跟踪频繁使用的转译群组215。在一些情况下,位14到0可用于存储转译群组215的索引,且位15可用于转译群组215的特性。
图3说明根据本文所公开的实例的支持用于垃圾收集的数据分离的FIFO结构300的实例。FIFO结构300可包含队列305和转译群组310。每一转译群组310可与位置315相关联。转译群组310可为参考图2所描述的转译群组215的实例。
队列305可包含一或多个转译群组310。存储器系统可识别转译群组310与有效页相关联。举例来说,转译群组310可各自包含与一或多个有效页相关联的一或多个转译索引。队列305可包含位置315。举例来说,转译群组310-a可与队列305中的第一位置(例如,位置315-a)相关联,转译群组310-b可与队列305中的第二位置(例如,位置315-b)相关联,转译群组310-c可与队列305中的第三位置(例如,位置315-c)相关联,转译群组310-d可与队列305中的第四位置(例如,位置315-d)相关联,且转译群组310-e可与队列305中的第五(例如,最后一个)位置(例如,位置315-e)相关联。
队列305可在存储器系统加电之后或在存储器系统退出休眠循环之后加载到共享存储器(例如,SRAM)缓冲器中。在一些情况下,存储器系统可清空与转译群组310中的一个的页相关联的数据。举例来说,存储器系统可在产生转译群组310之后存取页。在同步化事件期间,存储器系统可接收写入命令,且存储器系统可识别队列305中的哪个转译群组310包含与写入命令(例如,存取页)相关联的转译索引。可更新与存取的转译索引相关联的转译群组310,进而更新队列305。举例来说,当(例如,经由写入操作)存取转译群组310中的转译索引时,转译群组310可移动到较高位置或移动到队列305顶部。当存储器系统接收新命令(例如,存取命令)时,转译群组310可插入到队列305的队首(例如,位置315-a)中,或者如果转译群组310已经存在于队列305中,那么转译群组310可移动到位置315-a。在一些情况下,当经由读取操作存取转译群组310中的转译索引时,转译群组310可在通过读取操作存取之前保持于同一位置中。在这类情况下,读取操作可能不会改变队列305内的转译群组310的位置。
在一个实例中,可存取与转译群组310-b的转译索引相关联的页。在这类情况下,转译群组310-b可从队列305内的位置315-b移动到位置315-a,且转译群组310-a可从队列305内的位置315-a移动到位置315-b。在另一实例中,可存取与转译群组310-c的转译索引相关联的页。在这类情况下,转译群组310-c可从队列305内的位置315-c移动到位置315-a,且转译群组310-b可从队列305内的位置315-b移动到位置315-c。在一些情况下,如果其它转译群组添加到队列305且队列已达到其容量(例如,256条记录),那么可从队列305移除转译群组。在这类情况下,存储器系统可基于存取所述页,重新定位(例如,更新)队列305内的转译群组310的位置315。
存储器系统可基于转译群组是队列305的部分还是并非队列305的部分,确定转译群组310的类型。举例来说,如果转译群组310包含在队列305中,那么其可分类为热数据,且如果转译群组310不包含在队列305中,那么其可分类为冷数据。在一些情况下,存储器系统可基于队列305内的位置,确定转译群组310的类型。举例来说,存储器系统可基于与队列305相关联的一或多个位置阈值,确定转译群组310是与第一存取频率相关联的第一类型还是与第二存取频率相关联的第二类型。在一些实例中,转译群组310可在被频繁存取的情况下处于队列305中的较高位置并且在较不频繁地被存取的情况下处于队列305中的较低位置。在这类情况下,最近经更新的转译群组310可定位于队列305的顶部(例如,位置315-a)并且确定为与第二存取频率相关联的第二类型。在较早时间经更新的转译群组310可定位于队列305的底部(或底部附近)(例如,位置315-e)并且确定为与第一存取频率相关联的第一类型。在一些情况下,很少被存取的转译群组310可不定位于队列305内并且确定为与第一存取频率相关联的第一类型。识别队列305内的转译群组310的位置315可用于将与页相关联的数据的类型识别为第一类型或第二类型。举例来说,队列305内的转译群组310的位置315可与一或多个阈值进行比较以将转译群组识别为第一类型或第二类型。与包含在转译群组310-a中的转译索引相关联的页可识别为与冷数据较频繁被存取的热数据。
在一些情况下,队列305中不存在的转译群组可识别为第一类型。与包含在转译群组310-e中的转译索引相关联的页可识别为与热数据较不频繁被存取的冷数据。如下文更详细地描述,可在垃圾收集程序期间分离热数据和冷数据以提高效率并且改进存储器系统的操作。
存储器系统可确定第一类型在较早时间被存取和/或较不频繁被存取(例如,冷数据)。举例来说,存储器系统可基于确定存取页的次数低于存取频率阈值,确定第一存取频率。存储器系统可确定第二类型最近被存取和/或较频繁被存取(例如,热数据)。举例来说,存储器系统可基于确定存取页的次数高于存取频率阈值,确定第二存取频率。
在一些情况下,存储器系统可确定转译群组310是否包含在队列305中。举例来说,存储器系统可确定转译群组310-a、310-b、310-c、310-d和310-e包含在队列305中。在一些情况下,识别为第二类型的转译群组310可存在于队列305中,而识别为第一类型的转译群组310可不存在于队列305中。举例来说,存储器系统可确定转译群组310不包含在队列305中。在这类情况下,存储器系统可确定与一或多个页相关联的转译索引不指派给队列305中的转译群组310并且将数据识别为第一类型。
队列305可基于队列305内的位置315,包含第三类型的转译群组310。举例来说,经更新为大于第一类型并且小于第二类型的转译群组可被识别为第三类型(例如温数据)。温数据可定位于热数据(例如,位置315-a)与冷数据(例如,位置315-e)之间。在一些实例中,温数据可定位于队列305的底部(例如,位置315-e)。热数据可定位于位置315-a、315-b、315-c、315-d和315-e中的任一个中。温数据可定位于位置315-b、315-c、315-d和315-e中的任一个中。冷数据可定位于位置315-e中或可不存在于队列305中。
在一些情况下,新转译群组310可放置到队列305中。在这类情况下,先前存在于队列305中的转译群组310可基于存取与转译群组相关联的页而在队列305中向上移动或可基于与新转译群组310相比较不频繁地存取页而在队列305中向下移动。在一些实例中,新转译群组310可与传入主机写入操作相关联。在这类情况下,新转译群组310可置于队列305内的顶部位置(例如,位置315-a)中。当新转译群组310可放置到队列305中时,在位置315-e中的转译群组(例如,转译群组310-e)可退出队列305。在这类情况下,从队列丢弃的转译群组310-e可被识别为第一类型(例如,冷数据),使得所述数据与关联于其它转译群组310的数据相比较不频繁地更新。一些实例将第一类型的数据描述为冷数据并且将第二类型的数据描述为热数据。在其它实例中,第一类型的数据可为热数据且第二类型的数据可为冷数据。
图4说明根据本文所公开的实例的支持用于垃圾收集的数据分离的框图400的实例。所述框图可包含源块405和目的地块420。源块405和目的地块420可包含被识别为第一类型410或第二类型415的页。
存储器系统可识别用于垃圾收集程序的源块405。源块405可包含多个页,其中页可被识别为第一类型410或第二类型415。举例来说,存储器系统可将源块405的第一页集识别为与第一存取频率相关联的第一类型410。存储器系统可将源块405的第二页集识别为与不同于第一存取频率的第二存取频率相关联的第二类型415。第一类型410和第二类型415可分别为参考图3所描述的第一类型和第二类型的实例。在一些情况下,为识别类型(第一类型410或第二类型415),存储器系统可识别与源块405相关联的页,接着可通过所识别页中的每一个来识别转译群组,并且接着识别与转译群组相关联的类型(第一类型410或第二类型415)。
在选择(例如,识别)源块405之后,存储器系统可识别包含在转译群组中的哪些转译索引是管理操作的部分。如果所识别的转译索引包含在转译群组中和队列内,那么存储器系统可确定数据是第二类型415。存储器系统可将与不包含在队列中的转译索引相关联的数据(例如,冷数据)重新复制(例如,传送)到目的地块420-a。存储器系统可针对所识别的转译索引检查其它源块405。在这类情况下,存储器系统可按循序次序重新复制数据。
在第一实例中,存储器系统可将来自源块405的有效页复制到目的地块420-a中,其中有效页可与不包含在队列中的转译群组相关联。在这类情况下,所述页可被识别为第一类型410的数据(例如,冷数据)。存储器系统可将第一类型410从源块405传送到目的地块420-a。在一些情况下,存储器系统可基于转译群组不包含在队列中(例如,确定转译索引未被指派给队列中的转译群组),选择目的地块420-a用于垃圾收集程序。
在第二实例中,存储器系统可将有效页从源块405复制到目的地块420-a或420-b中,其中有效页可与包含在队列的处于一或多个阈值下方的位置中的转译群组相关联。在这类情况下,通过将数据类型的位置与不同阈值进行比较,可将所述页识别为第一类型的数据(例如,冷数据)或第三类型的数据(例如,温数据)。存储器系统可将第一类型410从源块405传送到目的地块420-a。存储器系统可将第三类型从源块405传送到目的地块420-b。在一些情况下,存储器系统可基于将页识别为第一类型,选择目的地块420-a用于垃圾收集程序。
在第三实例中,存储器系统可将有效页从源块405复制到目的地块420-b中,其中有效页可与包含在队列的处于一或多个阈值上方的位置中的转译群组相关联。在这类情况下,所述页可被识别为第二类型的数据(例如,热数据)。存储器系统可将第二类型415从源块405传送到目的地块420-b。在一些情况下,存储器系统可基于将所述页识别为第二类型,选择目的地块420-b用于垃圾收集程序。
在一些实例中,目的地块420-a可包含第一类型410的数据,进而确保目的地块420-a包含可在垃圾收集程序中涉及的有效数据。目的地块420-b可包含第二类型415的数据,所述数据可被传入主机数据覆写。在这类情况下,可通过从主机系统的传入写入操作使第二类型415的数据而非归因于垃圾收集程序而变成无效数据。第二类型415的数据可不包含在目的地块420-b中,进而提高垃圾收集程序的效率。
在其它垃圾收集程序中,存储器系统可确定可选择哪些数据块用于垃圾收集程序并且基于确定数据块包含较低量的有效数据而选择源块405用于垃圾收集程序。在这类情况下,存储器系统可将有效数据从源块405复制(例如,传送)到目的地块420而无需分离数据(例如,热数据和冷数据的分离),进而增加管理操作的量并且降低存储器系统的总体性能。
通过实施智能垃圾收集程序,可在垃圾收集程序期间使用队列基于存取频率分离数据。在这类情况下,存储器系统可避免或延迟涉及主机数据的操作,因为被识别为第二类型415的数据(例如,热数据)可被主机系统覆写并且变为无效数据。如果存储器系统在垃圾收集程序期间根据第一类型410和第二类型415分离数据,那么存储器系统可存储有效数据并且避免将有效数据与其它频繁更新的数据混合,进而提高未来垃圾收集程序的效率。基于存取频率参数将数据排序到不同块中可引起较少数据是未来垃圾收集程序的部分。
图5示出根据本文所公开的实例的支持用于垃圾收集的数据分离的存储器系统505的框图500。存储器系统505可为参考图1到4所描述的存储器系统的方面的实例。存储器系统505可包含垃圾收集组件510、存取组件515、传送组件520、转译群组识别器525和位置组件530。这些模块中的每一个可与彼此直接或间接(例如,经由一或多个总线)通信。
垃圾收集组件510可识别用于垃圾收集操作的源块,所述源块包含页集。在一些实例中,垃圾收集组件510可基于确定转译索引集未被指派给转译群组,选择第一目的地块用于垃圾收集操作,其中基于选择第一目的地块将第一有效页集传送到第一目的地块。
在一些实例中,垃圾收集组件510可基于将第一集识别为第一类型,选择第一目的地块用于垃圾收集操作,其中基于选择第一目的地块将第一有效页集传送到第一目的地块。在一些实例中,垃圾收集组件510可基于将第二集识别为第二类型,选择第二目的地块用于垃圾收集操作,其中基于选择第二目的地块将第二有效页集传送到第二目的地块。
存取组件515可将源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将源块的第二有效页集识别为与第二存取频率参数相关联的第二类型。在一些实例中,存取组件515可基于产生转译群组而存取页集中的页,其中所述识别是基于存取页。
在一些实例中,存取组件515可基于确定存取第一有效页集的次数低于存取频率阈值,确定第一存取频率参数,其中将第一有效页集识别为第一类型是基于确定第一存取频率参数。在一些实例中,存取组件515可基于确定存取第二有效页集的次数高于存取频率阈值,确定第二存取频率参数,其中将第二有效页集识别为第二类型是基于确定第二存取频率参数。
在一些情况下,与第一存取频率参数相关联的第一类型的第一有效页集包含与热数据相比较不频繁地被存取的冷数据。在一些情况下,与第二存取频率参数相关联的第二类型的第二有效页集包含与冷数据相比较频繁被存取的热数据。
作为垃圾收集操作的部分,传送组件520可将第一有效页集传送到第一目的地块。在一些实例中,作为垃圾收集操作的部分,传送组件520可将第二有效页集传送到第二目的地块。
转译群组识别器525可识别与第一有效页集和第二有效页集相关联的一或多个转译群组,其中将第一集识别为第一类型并且将第二集识别为第二类型是基于识别一或多个转译群组。在一些实例中,转译群组识别器525可确定与第一有效页集和第二有效页集相关联的一或多个转译群组定位于队列中以用于识别与页相关联的类型,其中将第一集识别为第一类型并且将第二集识别为第二类型是基于所述确定。
在一些实例中,转译群组识别器525可产生包含转译索引集的转译群组,其中转译群组中的转译索引集与一或多个页相关联。在一些实例中,转译群组识别器525可基于重新定位确定转译群组是与第一存取频率参数相关联第一类型还是与第二存取频率参数相关联的第二类型。在一些实例中,转译群组识别器525可确定与一或多个页相关联的转译索引集未被指派给队列中的转译群组,其中将第一集识别为第一类型并且将第二集识别为第二类型是基于所述确定。
位置组件530可识别队列中与第一有效页集和第二有效页集相关联的用于识别与页相关联的类型的一或多个转译群组的位置,其中将第一集识别为第一类型并且将第二集识别为第二类型是基于识别所述位置。在一些实例中,位置组件530可将队列中的所识别位置与阈值进行比较,其中将第一集识别为第一类型并且将第二集识别为第二类型是基于所述比较。在一些实例中,位置组件530可基于存取所述页将转译群组重新定位于包含转译群组集的队列中。
图6示出说明根据本文所公开的实例的支持用于垃圾收集的数据分离的一或多种方法600的流程图。方法600的操作可由如本文中所描述的存储器系统或其组件实施。举例来说,方法600的操作可由参考图5所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集以控制存储器系统的功能元件来执行所描述的功能。另外或替代地,存储器系统可使用专用硬件执行所描述的功能的方面。
在605处,可识别用于垃圾收集的源块,其中所述源块包含页集。举例来说,存储器系统可识别用于垃圾收集操作的源块。可根据本文中所描述的方法执行605的操作。在一些实例中,可由参考图5所描述的垃圾收集组件执行605的操作的方面。
在610处,可将源块的第一有效页集识别为与第一存取频率参数相关联的第一类型,并且可将源块的第二有效页集识别为与第二存取频率参数相关联的第二类型。举例来说,存储器系统可将源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将源块的第二有效页集识别为与第二存取频率参数相关联的第二类型。可根据本文中所描述的方法执行610的操作。在一些实例中,可由参考图5所描述的存取组件执行610的操作的方面。
在615处,作为垃圾收集操作的部分,可将第一有效页集传送到第一目的地块。举例来说,作为垃圾收集操作的部分,存储器系统可将第一有效页集传送到第一目的地块。可根据本文中所描述的方法执行615的操作。在一些实例中,可由参考图5所描述的传送组件执行615的操作的方面。
在620处,作为垃圾收集操作的部分,可将第二有效页集传送到第二目的地块。举例来说,作为垃圾收集操作的部分,存储器系统可将第二有效页集传送到第二目的地块。可根据本文中所描述的方法执行620的操作。在一些实例中,可由参考图5所描述的传送组件执行620的操作的方面。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):识别用于垃圾收集操作的源块,所述源块包含多个页;将所述源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述源块的第二有效页集识别为与第二存取频率参数相关联的第二类型;作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:识别与所述第一有效页集和所述第二有效页集相关联的一或多个转译群组,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于识别所述一或多个转译群组。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:确定与所述第一有效页集和所述第二有效页集相关联的一或多个转译群组可定位于队列中以用于识别与页相关联的类型,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述确定。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:识别队列中与所述第一有效页集和所述第二有效页集相关联的用于识别与页相关联的类型的一或多个转译群组的位置,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于识别所述位置。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:将所述队列中所述所识别的位置与阈值进行比较,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述比较。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:产生包含转译索引集的转译群组,其中转译群组中的转译索引集可与一或多个页相关联。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于产生转译群组而存取页集中的页,其中所述识别可基于存取页。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于存取所述页将转译群组重新定位于包含转译群组集的队列中。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述重新定位,确定所述转译群组是否可为与所述第一存取频率参数相关联的所述第一类型或与所述第二存取频率参数相关联的所述第二类型。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:确定与所述一或多个页相关联的所述多个转译索引可未被指派给所述队列中的所述转译群组,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述确定。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于确定转译索引集可未被指派给转译群组,选择第一目的地块用于垃圾收集操作,其中基于选择第一目的地块将第一有效页集传送到第一目的地块。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于确定可存取第一有效页集的次数可低于存取频率阈值,确定第一存取频率参数,其中将第一有效页集识别为第一类型可基于确定第一存取频率参数;和基于确定可存取第二有效页集的次数可高于存取频率阈值,确定第二存取频率参数,其中将第二有效页集识别为第二类型可基于确定第二存取频率参数。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于将所述第一集识别为所述第一类型,选择所述第一目的地块用于所述垃圾收集操作,其中基于选择所述第一目的地块将所述第一有效页集传送到所述第一目的地块。
本文所描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于将所述第二集识别为所述第二类型,选择所述第二目的地块用于所述垃圾收集操作,其中基于选择所述第二目的地块将所述第二有效页集传送到所述第二目的地块。
在本文所描述的方法600和设备的一些实例中,与所述第一存取频率参数相关联的所述第一类型的所述第一有效页集包含与热数据相比可较不频繁地被存取的冷数据,且与所述第二存取频率参数相关联的所述第二类型的所述第二有效页集包含与冷数据相比可较频繁被存取的热数据。
应注意,本文中所描述的方法是可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。此外,可以组合来自方法中的两个或更多个的部分。
描述了一种设备。所述设备可包含存储器阵列;和控制组件,其与所述存储器阵列耦合且被配置成致使所述设备:识别用于垃圾收集操作的源块,所述源块包含多个页;将所述源块的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述源块的第二有效页集识别为与第二存取频率参数相关联的第二类型;作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
一些实例可另外包含识别与所述第一有效页集和所述第二有效页集相关联的一或多个转译群组,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于识别所述一或多个转译群组。
一些实例可另外包含确定与所述第一有效页集和所述第二有效页集相关联的一或多个转译群组可定位于队列中以用于识别与页相关联的类型,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述确定。
一些实例可另外包含识别队列中与所述第一有效页集和所述第二有效页集相关联的用于识别与页相关联的类型的一或多个转译群组的位置,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于识别所述位置。
一些实例可另外包含将所述队列中所述所识别的位置与阈值进行比较,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述比较。
一些实例可另外包含产生包含转译索引集的转译群组,其中转译群组中的转译索引集可与一或多个页相关联。
一些实例可另外包含基于产生转译群组而存取页集中的页,其中所述识别可基于存取页。
一些实例可另外包含基于存取所述页将转译群组重新定位于包含转译群组集的队列中。
一些实例可另外包含基于所述重新定位,确定所述转译群组是否可为与所述第一存取频率参数相关联的所述第一类型或与所述第二存取频率参数相关联的所述第二类型。
一些实例可另外包含确定与所述一或多个页相关联的所述转译索引集可未被指派给所述队列中的所述转译群组,其中将所述第一集识别为所述第一类型并且将所述第二集识别为所述第二类型可基于所述确定。
一些实例可另外包含基于确定所述转译索引集可未被指派给所述转译群组,选择所述第一目的地块用于所述垃圾收集操作,其中基于选择所述第一目的地块将所述第一有效页集传送到所述第一目的地块。
一些实例可另外包含基于确定可存取第一有效页集的次数可低于存取频率阈值,确定第一存取频率参数,其中将第一有效页集识别为第一类型可基于确定第一存取频率参数;和基于确定可存取第二有效页集的次数可高于存取频率阈值,确定第二存取频率参数,其中将第二有效页集识别为第二类型可基于确定第二存取频率参数。
一些实例可另外包含基于将所述第一集识别为所述第一类型,选择所述第一目的地块用于所述垃圾收集操作,其中基于选择所述第一目的地块将所述第一有效页集传送到所述第一目的地块。
一些实例可另外包含基于将所述第二集识别为所述第二类型,选择所述第二目的地块用于所述垃圾收集操作,其中基于选择所述第二目的地块将所述第二有效页集传送到所述第二目的地块。
在一些实例中,与所述第一存取频率参数相关联的所述第一类型的所述第一有效页集包含与热数据相比可较不频繁地被存取的冷数据,且与所述第二存取频率参数相关联的所述第二类型的所述第二有效页集包含与冷数据相比可较频繁被存取的热数据。在一些实例中,与所述第一存取频率参数相关联的所述第一类型的所述第一有效页集包含与冷数据相比可较频繁地被存取的热数据,且与所述第二存取频率参数相关联的所述第二类型的所述第二有效页集包含与热数据相比可较不频繁被存取的冷数据。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。
术语“电子通信”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底为半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOS),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(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 (23)

1.一种存储器系统,其包括:
存储器阵列;以及
控制组件,其与所述存储器阵列耦合且被配置成致使所述存储器系统:
识别用于垃圾收集操作的源块,所述源块包括多个页;
至少部分地基于识别所述源块来确定队列中的一或多个转译群组的位置,其中所述一或多个转译群组与所述多个页相关联;
至少部分地基于所述一或多个转译群组在所述队列中的所述位置而将所述多个页的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述多个页的第二有效页集识别为与第二存取频率参数相关联的第二类型;
作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和
作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
2.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
识别与所述多个页相关联的所述一或多个转译群组,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于识别所述一或多个转译群组。
3.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
产生包括多个转译索引的转译群组,其中所述转译群组中的所述多个转译索引与一或多个页相关联。
4.根据权利要求3所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于产生所述转译群组而存取所述多个页中的页,其中所述第一有效页集和所述第二有效页集的所述识别至少部分地基于存取所述页。
5.根据权利要求4所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于存取所述页,将所述转译群组重新定位于包括多个转译群组的所述队列中。
6.根据权利要求5所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于所述重新定位,确定所述转译群组是与所述第一存取频率参数相关联的所述第一类型还是与所述第二存取频率参数相关联的所述第二类型。
7.根据权利要求5所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
确定一或多个转译群组未被指派给所述队列,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于所述确定一或多个转译群组未被指派。
8.根据权利要求7所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于确定所述多个转译索引未被指派,选择所述第一目的地块用于所述垃圾收集操作,其中至少部分地基于选择所述第一目的地块将所述第一有效页集传送到所述第一目的地块。
9.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于确定存取所述第一有效页集的第一次数低于存取频率阈值,确定所述第一存取频率参数,其中将所述第一有效页集识别为所述第一类型至少部分地基于确定所述第一存取频率参数;和
至少部分地基于确定存取所述第二有效页集的第二次数高于所述存取频率阈值,确定所述第二存取频率参数,其中将所述第二有效页集识别为所述第二类型至少部分地基于确定所述第二存取频率参数。
10.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于将所述第一有效页集识别为所述第一类型,选择所述第一目的地块用于所述垃圾收集操作,其中至少部分地基于选择所述第一目的地块将所述第一有效页集传送到所述第一目的地块。
11.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
至少部分地基于将所述第二有效页集识别为所述第二类型,选择所述第二目的地块用于所述垃圾收集操作,其中至少部分地基于选择所述第二目的地块将所述第二有效页集传送到所述第二目的地块。
12.根据权利要求1所述的存储器系统,其中:
与所述第一存取频率参数相关联的所述第一类型的所述第一有效页集包括与热数据相比较不频繁地被存取的冷数据;且
与所述第二存取频率参数相关联的所述第二类型的所述第二有效页集包括与冷数据相比较频繁被存取的热数据。
13.根据权利要求1所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
识别所述队列中与所述第一有效页集和所述第二有效页集相关联的用于识别所述第一类型的有效页和所述第二类型的有效页的一或多个转译群组的位置,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于识别所述位置。
14.根据权利要求13所述的存储器系统,其中所述控制组件被进一步配置成致使所述存储器系统:
将所述队列中识别的所述位置与阈值进行比较,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于所述比较。
15.一种用于操作存储器系统的方法,其包括:
识别用于垃圾收集操作的源块,所述源块包括多个页;
确定一或多个转译群组的队列,其中所述一或多个转译群组与所述多个页相关联;
至少部分地基于所确定的队列将所述多个页的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述多个页的第二有效页集识别为与第二存取频率参数相关联的第二类型;
作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和
作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
16.根据权利要求15所述的方法,其另外包括:
识别与所述多个页相关联的所述一或多个转译群组,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于识别所述一或多个转译群组。
17.根据权利要求15所述的方法,其另外包括:
识别所述队列中与所述第一有效页集和所述第二有效页集相关联的用于识别所述第一类型的有效页和所述第二类型的有效页的一或多个转译群组的位置,其中将所述第一有效页集识别为所述第一类型的有效页并且将所述第二有效页集识别为所述第二类型的有效页至少部分地基于识别所述位置。
18.根据权利要求17所述的方法,其另外包括:
将所述队列中识别的所述位置与阈值进行比较,其中将所述第一有效页集识别为所述第一类型的有效页并且将所述第二有效页集识别为所述第二类型的有效页至少部分地基于所述比较。
19.根据权利要求15所述的方法,其另外包括:
产生包括多个转译索引的转译群组,其中所述转译群组中的所述多个转译索引与一或多个页相关联。
20.根据权利要求19所述的方法,其另外包括:
至少部分地基于产生所述转译群组而存取所述多个页中的页,其中所述识别至少部分地基于存取所述页。
21.根据权利要求20所述的方法,其另外包括:
至少部分地基于存取所述页,将所述转译群组重新定位于包括多个转译群组的所述队列中。
22.一种存储包括指令的代码的非暂时性计算机可读介质,所述指令在由电子装置的处理器执行时致使所述电子装置:
识别用于垃圾收集操作的源块,所述源块包括多个页;
确定一或多个转译群组的队列,其中所述一或多个转译群组与所述多个页相关联;
至少部分地基于所确定的队列将所述多个页的第一有效页集识别为与第一存取频率参数相关联的第一类型并且将所述多个页的第二有效页集识别为与第二存取频率参数相关联的第二类型;
作为所述垃圾收集操作的部分,将所述第一有效页集传送到第一目的地块;和
作为所述垃圾收集操作的部分,将所述第二有效页集传送到第二目的地块。
23.根据权利要求22所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步致使所述电子装置:
识别与所述多个页相关联的所述一或多个转译群组,其中将所述第一有效页集识别为所述第一类型并且将所述第二有效页集识别为所述第二类型至少部分地基于识别所述一或多个转译群组。
CN202110743910.9A 2020-07-01 2021-07-01 用于垃圾收集的数据分离 Active CN113885786B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/918,333 US11513952B2 (en) 2020-07-01 2020-07-01 Data separation for garbage collection
US16/918,333 2020-07-01

Publications (2)

Publication Number Publication Date
CN113885786A CN113885786A (zh) 2022-01-04
CN113885786B true CN113885786B (zh) 2024-06-07

Family

ID=79010411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110743910.9A Active CN113885786B (zh) 2020-07-01 2021-07-01 用于垃圾收集的数据分离

Country Status (2)

Country Link
US (2) US11513952B2 (zh)
CN (1) CN113885786B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940063B2 (en) * 2015-06-05 2018-04-10 SK Hynix Inc. Memory system and operating method thereof
CN110928805A (zh) * 2018-09-20 2020-03-27 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US20120023144A1 (en) * 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
KR101257691B1 (ko) * 2011-08-12 2013-04-24 아주대학교산학협력단 메모리 컨트롤러 및 이의 데이터 관리방법
US9558112B1 (en) * 2012-05-08 2017-01-31 Google Inc. Data management in a data storage device
US20140059279A1 (en) * 2012-08-27 2014-02-27 Virginia Commonwealth University SSD Lifetime Via Exploiting Content Locality
US9747202B1 (en) * 2013-03-14 2017-08-29 Sandisk Technologies Llc Storage module and method for identifying hot and cold data
KR20150089544A (ko) * 2014-01-28 2015-08-05 한국전자통신연구원 혼용 워크로드 지원을 위한 데이터 관리 장치 및 데이터 관리 방법
KR102254392B1 (ko) * 2014-05-12 2021-05-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US10372613B2 (en) * 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10318414B2 (en) * 2014-10-29 2019-06-11 SK Hynix Inc. Memory system and memory management method thereof
US9996297B2 (en) * 2014-11-14 2018-06-12 SK Hynix Inc. Hot-cold data separation method in flash translation layer
US9916238B2 (en) * 2015-08-25 2018-03-13 Sandisk Technologies Llc Memory system and method for performing garbage collection on blocks based on their obsolescence patterns
US10102119B2 (en) * 2015-10-30 2018-10-16 Sandisk Technologies Llc Garbage collection based on queued and/or selected write commands
US10740016B2 (en) * 2016-11-11 2020-08-11 Scale Computing, Inc. Management of block storage devices based on access frequency wherein migration of block is based on maximum and minimum heat values of data structure that maps heat values to block identifiers, said block identifiers are also mapped to said heat values in first data structure
US10101942B1 (en) * 2017-04-17 2018-10-16 Sandisk Technologies Llc System and method for hybrid push-pull data management in a non-volatile memory
CN110413545B (zh) * 2018-04-28 2023-06-20 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品
KR20200027858A (ko) * 2018-09-05 2020-03-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US10838859B2 (en) * 2018-09-25 2020-11-17 Western Digital Technologies, Inc. Recency based victim block selection for garbage collection in a solid state device (SSD)
US11151053B2 (en) * 2019-08-07 2021-10-19 International Business Machines Corporation Increasing data read and/or write heat tracking resolution in storage devices having cache architecture
US11762569B2 (en) * 2019-10-29 2023-09-19 International Business Machines Corporation Workload based relief valve activation for hybrid controller architectures
US11204869B2 (en) * 2019-12-05 2021-12-21 Alibaba Group Holding Limited System and method for facilitating data storage with low-latency input/output and persistent data
US11144250B2 (en) * 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940063B2 (en) * 2015-06-05 2018-04-10 SK Hynix Inc. Memory system and operating method thereof
CN110928805A (zh) * 2018-09-20 2020-03-27 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
CN113885786A (zh) 2022-01-04
US11513952B2 (en) 2022-11-29
US20230161696A1 (en) 2023-05-25
US20220004493A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US11907556B2 (en) Data relocation operation techniques
CN115373592B (zh) 用于页线填充数据的设备、非暂时性计算机可读介质及方法
CN116340213A (zh) 用于快速系统启动的数据高速缓存
CN114639418A (zh) 取消映射操作技术
US12019877B2 (en) Metadata allocation in memory systems
US11847468B2 (en) Data defragmentation for a system boot procedure having random indexes indicating a relationship between sequential logical addresses and random logical addresses
CN115605850A (zh) 用于逻辑到物理表压缩的数据组织
CN113885786B (zh) 用于垃圾收集的数据分离
US20240289052A1 (en) Ordering entries of an input command queue
US12111769B2 (en) Validity mapping techniques
CN114520016B (zh) 用于存储器地址区的激活和去激活的增强
US11790961B2 (en) Memory device access techniques
US11989133B2 (en) Logical-to-physical mapping compression techniques
US11977758B2 (en) Assigning blocks of memory systems
CN114546895B (zh) 主机侧存储器地址管理
US12112066B2 (en) Techniques for firmware enhancement in memory devices
US20240281383A1 (en) Buffer expansion for random write operations
US12124723B2 (en) Techniques for data transfer operations
US20240086070A1 (en) Read disturb management for memory
US20240078020A1 (en) Write booster pinning
US20230359552A1 (en) Memory write performance techniques
US20230367710A1 (en) Data defragmentation control
US20220300208A1 (en) Memory read performance techniques
US20240176550A1 (en) Transferring valid data using a system latch
WO2024020707A1 (en) Memory performance evaluation using address mapping information

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
GR01 Patent grant