CN114546250A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN114546250A CN114546250A CN202110585669.1A CN202110585669A CN114546250A CN 114546250 A CN114546250 A CN 114546250A CN 202110585669 A CN202110585669 A CN 202110585669A CN 114546250 A CN114546250 A CN 114546250A
- Authority
- CN
- China
- Prior art keywords
- memory
- inefficiency
- memory region
- garbage collection
- controller
- 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.)
- Withdrawn
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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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/0614—Improving the reliability of storage systems
-
- 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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F2212/1024—Latency reduction
-
- 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
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)
Abstract
存储器系统包括存储介质和控制器。存储介质包括多个存储器区域。控制器根据存储器区域的无效率增加量来将多个存储器区域中的存储器区域上的垃圾收集操作延迟。
Description
相关申请的交叉引用
本申请要求于2020年11月19日提交的韩国申请号10-2020-0155122的优先权,上述申请通过引用整体并入本文。
技术领域
各种实施例涉及存储器系统,并且更具体地,涉及包括非易失性存储器设备的存储器系统。
背景技术
存储器系统通常被配置为响应于来自主机设备的写入请求而存储由主机设备提供的数据。此外,存储器系统被配置为响应于来自主机设备的读取请求而将所存储的数据提供给主机设备。主机设备是能够处理数据的电子设备,并且可以包括计算机、数码相机或移动电话。用于操作的存储器系统可以被安装在主机设备中,或者可以被制造为能够被连接到主机设备并且能够从主机设备被拆卸。
发明内容
本公开的实施例提供了能够有效地执行垃圾收集操作的存储器系统及其操作方法。
在本公开的一个实施例中,存储器系统可以包括存储介质和控制器。存储介质可以包括多个存储器区域。控制器可以被配置为:根据存储器区域的无效率增加量来将多个存储器区域中的存储器区域上的垃圾收集操作延迟。
在本公开的一个实施例中,存储器系统可以包括存储介质和控制器。存储介质可以包括多个存储器区域。控制器可以被配置为:将多个存储器区域中的其无效率快速增加的第一存储器区域上的垃圾收集操作延迟。
在本公开的一个实施例中,存储器系统可以包括存储介质和控制器。存储介质可以包括多个存储器区域。控制器可以被配置为:基于存储器区域在当前更新时间点处的无效率以及存储器区域在先前更新时间点处的无效率,来计算多个存储器区域中的存储器区域在当前更新时间点处的无效率增加量,并且控制器可以被配置为将无效率增加量包括在无效率增加量表中。无效率增加量表可以包括存储器区域的分别在一个或多个更新时间点处计算的无效率增加量。
一种控制器的操作方法,该操作方法可以包括:每当在存储器设备内一个或多个其他存储器区域变为封闭时,测量存储器区域的无效率;当无效率的统计特征指示无效率快速增加时,在存储器区域上执行较低优先级的垃圾收集(GC)操作;当统计特征指示无效率缓慢增加时,在存储器区域上执行较高优先级的GC操作;以及当统计特征指示无效率常规增加时,在存储器区域上执行常规优先级的GC操作,其中以比常规优先级的GC操作高的优先级执行较高优先级的GC操作,并且以比常规优先级的GC操作低的优先级来执行较低优先级的GC操作。
根据本公开的一个实施例,提供了能够有效地执行垃圾收集操作的存储器系统及其操作方法。
附图说明
图1是图示了根据本公开的一个实施例的存储器系统的框图。
图2是图示了根据本公开的一个实施例的图1的GC管理器更新无效率增加量表的操作的图。
图3是图示了根据本公开的一个实施例的图1的GC管理器确定GC操作的延迟和提前的操作的图。
图4是图示了根据本公开的一个实施例的图1的GC管理器确定GC操作的延迟和提前的操作的图。
图5是图示了根据本公开的一个实施例的图1的GC管理器确定GC操作的提前的操作的图。
图6是图示了根据本公开的一个实施例的GC候选列表和GC延迟列表的图。
图7是图示了根据本公开的一个实施例的图1的GC管理器的操作方法的流程图。
图8是图示了根据本公开的一个实施例的图1的GC管理器的操作方法的流程图。
图9是图示了根据本公开的一个实施例的图1的GC管理器的操作方法的流程图。
图10是图示了根据本公开的一个实施例的包括固态驱动器(SSD)的数据处理系统的图。
图11是图示了根据本公开的一个实施例的包括存储器系统的数据处理系统的图。
图12是图示了根据本公开的一个实施例的包括存储器系统的数据处理系统的图。
图13是图示了根据本公开的一个实施例的包括存储器系统的网络系统的图。
图14是图示了根据本公开的一个实施例的存储器系统中包括的非易失性存储器设备的框图。
具体实施方式
以下将参考附图来更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式来体现,并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例来使得本公开将是透彻且完整的,并且将向本领域技术人员充分传达本发明的范围。
附图并不一定按比例绘制,并且在一些情况下,比例可能已经被夸大,以清楚地图示实施例的特征。本文所使用的术语仅出于描述特定实施例的目的,并且不旨在限制本发明。
如本文所使用的,术语“和/或”包括相关联的所列项中的至少一项。将理解的是,当元件被称为“连接到”或“耦合到”另一元件时,该元件可以直接在另一元件上,或者直接被连接到或耦合到另一元件,或者可以存在一个或多个中间元件。除非上下文另外明确指出,否则如本文所使用的,单数形式旨在包括复数形式,反之亦然。还将理解的是,当在本说明书中使用时,术语“包括”、“包含”指定存在所述元件,并且不排除存在或添加一个或多个其他元件。
在下文中,以下将参考附图来描述本公开的各种实施例。
图1是图示了根据本公开的一个实施例的存储器系统100的框图。
存储器系统100可以被配置为响应于来自主机设备的写入请求而存储从外部主机设备提供的数据。存储器系统100可以被配置为响应于来自主机设备的读取请求而向主机设备提供存储在存储器系统100中的数据。
存储器系统100可以被配置为个人计算机存储器卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(例如,MMC、eMMC、RS-MMC和MMC-micro)、安全数字(SD)卡(例如,SD、Mini-SD和Micro-SD)、通用闪存(UFS)或固态驱动器(SSD)。
存储器系统100可以包括控制器110和存储介质120。
控制器110可以控制存储器系统100的整体操作。控制器110可以控制存储介质120,以响应于来自主机设备的指令而执行前台操作。前台操作可以包括响应于来自主机设备的指令(即,写入请求和读取请求)而在存储介质120中写入数据以及从存储介质120读取数据的操作。
此外,控制器110可以控制存储介质120,以独立于主机设备而执行内部必要的后台操作。后台操作可以包括针对存储介质120的损耗平衡操作、垃圾收集操作(在下文中被称为“GC操作”)、擦除操作、读取收回操作和刷新操作中的至少一项。类似于前台操作,后台操作可以包括将数据写入存储介质120和从存储介质120读取数据的操作。
控制器110可以包括GC管理器111。
与其无效率在常规范围内变化并且因此在其上执行常规优先级的常规GC操作的其他存储器区域相比,GC管理器111可以将其无效率快速增加的存储器区域上的GC操作延迟。即,GC管理器111可以以比其他存储器区域低的优先级在具有快速增加的无效率的存储器区域上执行GC操作。在待在存储器区域上执行的GC操作的顺序中,较低优先级的GC操作可以晚于常规GC操作被执行。与其无效率在常规范围内变化并且因此在其上执行常规GC操作的其他存储器区域相比,GC管理器111可以将其无效率缓慢增加的存储器区域上的GC操作提前。即,GC管理器111可以以比其他存储器区域高的优先级在具有缓慢增加的无效率的存储器区域上执行GC操作。在待在存储器区域上执行的GC操作的顺序中,较高优先级的GC操作可以早于常规GC操作被执行。将参考图6来详细描述待在存储器区域上执行的GC操作的顺序。根据一个实施例,GC管理器111还可以预测存储器系统100的操作性能降级的可能性,以将其无效率与其他存储器区域相比缓慢增加的存储器区域上的GC操作提前。
为了确定无效率的增加速率,GC管理器111可以管理无效率增加量表IVTB。无效率增加量表IVTB可以包括每个存储器区域在一个或多个更新时间点处的无效率增加量。
对于每个存储器区域,GC管理器111可以将当前更新时间点处的无效率与先前更新时间点处的无效率之间的差计算为当前更新时间点处的无效率增加量。GC管理器111可以将所计算的无效率增加量添加到无效率增加量表IVTB中。
通过参考经更新的无效率增加量表IVTB,当存储器区域的一个或多个无效率增加量的平均值被确定为大于第一阈值(在下文中被称为“延迟阈值”)时,GC管理器111可以确定存储器区域的无效率快速增加,并且可以将存储器区域上的GC操作延迟。在此,可以从当前更新时间点处的无效率增加量中以预定数目选择一个或多个无效率增加量。一个无效率增加量的平均值可以是该一个无效率增加量本身。
通过参考经更新的无效率增加量表IVTB,当存储器区域的一个或多个无效率增加量的平均值被确定为小于第二阈值(在下文中被称为“提前阈值”)时,GC管理器111可以确定存储器区域的无效率缓慢增加,并且可以将存储器区域上的GC操作提前。根据一个实施例,当存储器系统100的操作性能被预测为:即使GC操作在存储器区域上被执行,操作性能也不会降级时,GC管理器111可以将其无效率缓慢增加的存储器区域上的GC操作提前。
根据一个实施例,GC管理器111可以根据上述方案通过无效率增加量表IVTB来确定存储器区域上的GC操作的延迟/提前,该存储器区域被用作存储器区域MR1至MRm之中的单级单元(SLC)缓冲器。
综上所述,当存储器区域的无效由于局部性而自然快速进行时,可能不一定需要在存储器区域上执行GC操作。因此,GC管理器111可以将其无效率快速增加的存储器区域上的GC操作延迟,从而抑制不必要的GC操作。
当存储器区域的无效缓慢进行时,冷数据可能被存储在存储器区域中。因此,GC管理器111可以将存储器区域上的GC操作提前,而不是在存储器区域上执行耗损平衡操作,从而减轻了之后要施加在存储器系统100上的负担。在该情况下,GC操作可以通过刷新冷数据来保持数据可靠性。当在SLC缓冲器上将GC操作提前时,可以持续保证SLC缓冲器的可用存储空间,这可以极大地改进对主机设备的响应性能。
根据一个实施例,控制器110可以基于有效率减少量表而不是无效率增加量表IVTB来操作。在该情况下,有效率减少量表可以包括每个存储器区域的有效率减少量。对于每个存储器区域,可以基于当前更新时间点处的有效率与先前更新时间点处的有效率之间的差来计算当前更新时间点处的有效率减少量。因此,通过参考有效率减少量表,控制器110可以将其有效率快速减少的存储器区域上的GC操作延迟,并且可以将其有效率缓慢减少的存储器区域上的GC操作提前。即,存储器区域的无效率和有效率可以具有互补关系,并且因此对无效率和有效率中的任一个的使用可以被应用于本公开的实施例。
存储介质120可以在控制器110的控制下将从主机设备提供的数据存储在存储介质120中。
控制器110可以配置存储介质120内的多个存储器区域MR1至MRm。每个存储器区域可以包括多个存储器块。擦除操作可以以存储器块为单位在存储介质120内被执行。每个存储器块可以包括多个存储器单元。写入操作或读取操作可以以存储器单元为单位在存储介质120内被执行。
在控制器110的控制下,存储介质120可以并行地访问构成单个存储器区域的存储器块。这样的并行访问方案可以增加一次写入存储介质120的数据量或从存储介质120一次读取的数据量,从而改进了存储器系统100的性能。
存储器区域MR1至MRm可以包括空存储器区域和其中至少部分地存储数据的存储器区域。当空存储器区域被选择为在其中存储数据时,它可以表示存储器区域是开放的。即,开放的存储器区域可以是其中正在存储数据的存储器区域。当开放的存储器区域变为充满数据时,它可以表示存储器区域是封闭的。即,封闭的存储器区域可以是其中不能存储任何其他数据的存储器区域。
存储器区域中存储的数据逐渐变得无效。当无效数据的比率(在下文中被称为“无效率”)在存储器区域中增加时,可以在存储器区域上执行GC操作来保证可用存储空间。通过GC操作,受害存储器区域中存储的有效数据可以被移动到另一存储器区域,并且受害存储器区域可以通过擦除操作而变为空存储器区域。
存储器区域MR1至MRm的一部分可以被用作SLC缓冲器。例如,存储器区域MR1至MRm之中除了SLC缓冲器之外的其余存储器区域可以是三级单元(TLC)存储器区域,这些三级单元(TLC)存储器区域各自具有比SLC缓冲器大的存储空间。数据可以被优先存储到SLC缓冲器中,并且然后从SLC缓冲器被移动到TLC存储器区域。
构成单个存储器区域的存储器块可以被设置在一个或多个非易失性存储器装置内。非易失性存储器装置可以包括闪存设备(例如,NAND闪存或NOR闪存)、铁电型随机存取存储器(FeRAM)、相变型随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。非易失性存储器装置可以包括一个或多个平面、一个或多个存储器芯片、一个或多个存储器管芯、或一个或多个存储器封装件。
图2是图示了根据本公开的一个实施例的图1的GC管理器111更新无效率增加量表IVTB的操作的图。
参考图2,在无效率表TB中,时间点t1至t11可以表示存储器区域MR1至MRm依次变为封闭的时间。无效率表TB内的条目值可以是在时间点t1至t11中的每个时间点处,存储器区域MR1至MRm之中的在使用中的存储器区域的无效率。例如,无效率可以被表示为百分比。在时间点t1至t11中的每个时间点处,GC管理器111可以通过参考与在对应存储器区域中存储的数据是有效还是无效有关的信息来计算每个存储器区域的无效率。
例如,在时间点t1处,存储器区域MR1可以变为封闭,并且存储器区域MR2至MR11可以保持为空。在时间点t1处,存储器区域MR1的无效率可以是“0”。当存储器区域MR2在时间点t2处变为封闭时,存储器区域MR1和MR2的无效率中的每个无效率可以是“0”。当存储器区域MR3在时间点t3处变为封闭时,存储器区域MR1的无效率可以是“1”,并且存储器区域MR2和MR3的无效率中的每个无效率可以是“0”。
无效率增加量表IVTB可以包括相应存储器区域MR1至MRm的、基于相应存储器区域MR1至MRm的无效率计算的无效率增加量。对于存储器区域MR1至MRm中的每个存储器区域,可以基于当前时间点处的无效率与在当前时间点之前的先前时间点处的无效率之间的差来计算当前时间点处的无效率增加量。
根据一个实施例,每当数目为“n”的存储器区域变为封闭时,无效率增加量表IVTB可以被更新。一旦被更新,当数目为“n”的存储器区域变为封闭时,无效率增加量表IVTB可以被再次更新。例如,当“n”为“2”时,无效率增加量表IVTB可以在时间点t1、t3、t5、t7、t9和t11处被更新。
具体地,在更新时间点t1处,无效率增加量表IVTB可以包括初始值,例如“0”。在更新时间点t1处,GC管理器111可以将无效率增加量表IVTB初始化。
在更新时间点t3处,GC管理器111可以针对相应存储器区域MR1至MR3来计算从更新时间点t1到更新时间点t3的无效率增加量。例如,存储器区域MR1的无效率增加量可以是“1”。由于存储器区域MR2和MR3中的每个存储器区域在时间点t1处是空的,因此存储器区域MR2和MR3中的每个存储器区域的无效率在时间点t1处可以被视为“0”,并且对于存储器区域MR2和MR3中的每个存储器区域,从更新时间点t1到更新时间点t3的无效率增加量可以被计算为“0”。
在更新时间点t5处,GC管理器111可以针对相应存储器区域MR1至MR5来计算从更新时间点t3到更新时间点t5的无效率增加量。例如,对于存储器区域MR1和MR3中的每个存储器区域,从更新时间点t3到更新时间点t5的无效率增加量可以是“1”。对于存储器区域MR2、MR4和MR5中的每个存储器区域,从更新时间点t3到更新时间点t5的无效率增加量可以是“0”。以类似的方式,在更新时间点t7、t9和t11中的每个更新时间点处,GC管理器111可以针对在使用中的相应存储器区域计算从先前时间点到当前更新时间点的无效率增加量。
根据一个实施例,GC管理器111可以仅在更新时间点t1、t3、t5、t7、t9和t11处计算存储器区域MR1至MRm中的每个存储器区域的无效率,而不是在无效率表TB的所有时间点t1至t11处计算存储器区域MR1至MRm中的每个存储器区域的无效率。在该情况下,GC管理器111可以基于先前更新时间点处的无效率和当前更新时间点处的无效率来计算存储器区域MR1至MRm中的每个存储器区域在当前更新时间点处的无效率增加量,并且因此GC管理器111可以仅计算对于计算无效率增加量所需的无效率。GC管理器111可以仅将对于计算当前更新时间点处的无效率增加量所需的无效率管理为无效率表TB或另一数据结构。
根据一个实施例,无效率增加量表IVTB的更新时间点可以包括存储器系统100进入空闲状态的时间。
图3是图示了根据本公开的一个实施例的图1的GC管理器111确定GC操作的延迟和提前的操作的图。
参考图3,GC管理器111可以通过参考无效率增加量表IVTB来确定存储器区域MR1至MR11中的每个存储器区域的无效率的增加速率。在本公开中,基本上保持在某个值处的无效率也可以被认为是缓慢增加的无效率。
具体地,当通过参考无效率增加量表IVTB而确定存储器区域的无效率增加量大于延迟阈值时,GC管理器111可以将存储器区域的无效率确定为快速增加。另一方面,当通过参考无效率增加量表IVTB而确定存储器区域的无效率增加量小于提前阈值时,GC管理器111可以将存储器区域的无效率确定为缓慢增加。
根据一个实施例,延迟阈值可以不同于提前阈值,并且可以大于提前阈值。根据一个实施例,延迟阈值可以与提前阈值相同。
GC管理器111可以确定将其无效率被确定为快速增加的存储器区域上的GC操作延迟。GC管理器111可以确定将其无效率被确定为缓慢增加的存储器区域上的GC操作提前。
例如,在时间点t9处,GC管理器111可以通过参考无效率增加量表IVTB确定存储器区域MR2和MR3中的每个存储器区域的无效率增加量“9”大于延迟阈值,并且可以确定存储器区域MR2和MR3中的每个存储器区域的无效率快速增加。因此,GC管理器111可以确定将存储器区域MR2和MR3中的每个存储器区域上的GC操作延迟。
另一方面,在时间点t9处,GC管理器111可以通过参考无效率增加量表IVTB确定存储器区域MR1的无效率增加量“1”以及存储器区域MR4的无效率增加量“2”中的每个无效率增加量小于提前阈值,并且可以确定存储器区域MR1和MR4中的每个存储器区域的无效率缓慢增加。因此,GC管理器111可以确定将存储器区域MR1和MR4中的每个存储器区域上的GC操作提前。
尽管进一步的描述将被省略,但是可以以类似的方式来确定是否将存储器区域MR1至MR11之中的其余存储器区域中的每个存储器区域上的GC操作延迟/提前。
当存储器区域的无效率增加量被确定为不大于延迟阈值且不小于提前阈值时,即,当存储器区域的无效率增加量被确定为属于常规范围时,GC管理器111可以确定不将存储器区域上的GC操作延迟或提前,即,GC管理器111可以确定在存储器区域上执行常规GC操作。
根据一个实施例,GC管理器111可以确定在从存储器区域变为封闭起预定时间量之后将存储器区域上的GC操作延迟或提前。
根据一个实施例,当在存储介质120内空存储器区域的数目或可用存储容量变为小于预定阈值时,GC管理器111可以确定将存储器区域上的GC操作延迟或提前。
根据一个实施例,一旦在某个时间点处确定是否将存储器区域上的GC操作延迟/提前,管理器111可以在不同的时间点处再次确定将存储器区域上的GC操作延迟或提前。
图4是图示了根据本公开的一个实施例的图1的GC管理器111确定GC操作的延迟和提前的操作的图。
参考图4,根据一个实施例,GC管理器111可以参考多个时间点的无效率增加量的平均值,而不是像参考图3所描述的那样参考单个时间点的无效率增加量。
具体地,当通过参考无效率增加量表IVTB将存储器区域的预定数目的连续的无效率增加量的平均值确定为大于延迟阈值时,GC管理器111可以将存储器区域的无效率确定为快速增加。另一方面,当通过参考无效率增加量表IVTB将存储器区域的预定数目的连续的无效率增加量的平均值确定为小于提前阈值时,GC管理器111可以将存储器区域的无效率确定为缓慢增加。例如,GC管理器111可以以如下方式参考2个连续的无效率增加量的平均值。
例如,在时间点t11处,GC管理器111可以通过参考无效率增加量表IVTB将存储器区域MR3在时间点t9和t11处的无效率增加量“9”和“7”的平均值“8”确定为大于延迟阈值,并且可以将存储器区域MR3的无效率确定为快速增加。因此,GC管理器111可以确定将存储器区域MR3上的GC操作延迟。然而,在时间点t11处,GC管理器111可以通过参考无效率增加量表IVTB将存储器区域MR2在时间点t9和t11处的无效率增加量“9”和“1”的平均值“5”确定为不大于延迟阈值。因此,GC管理器111可以确定不延迟存储器区域MR2上的GC操作,这与图3的情况不同。
另一方面,在时间点t11处,GC管理器111可以通过参考无效率增加量表IVTB将存储器区域MR1在时间点t9和t11处的无效率增加量“1”和“1”的平均值“1”确定为小于提前阈值,并且可以将存储器区域MR1的无效率确定为缓慢增加。因此,GC管理器111可以确定将存储器区域MR1上的GC操作提前。然而,在时间点t11处,GC管理器111可以通过参考无效率增加量表IVTB将存储器区域MR4在时间点t9和t11处的无效率增加量“2”和“6”的平均值“4”确定为不小于提前阈值。因此,GC管理器111可以确定不将存储器区域MR4上的GC操作提前,这与图3的情况不同。
综上所述,通过考虑多个无效率增加量的平均值,可以根据无效率的趋势而不是无效率的暂时波动来执行GC操作。因此,用户工作负载可以被更精确地反映到GC操作中,这使得可以执行经优化的GC操作。
图5是图示了根据本公开的一个实施例的图1的GC管理器111确定GC操作的提前的操作的图。
参考图5,根据一个实施例,GC管理器111还可以确定在其无效率被确定为缓慢增加的存储器区域上是否满足附加条件。存储器区域上的附加条件可以是:即使GC操作在存储器区域上被执行,存储器系统100的操作性能也不应当被降级。例如,存储器区域上的附加条件可以是:存储器区域的无效率应当大于第三阈值(在下文中被称为“最小阈值”)。
因此,当进一步考虑存储器区域上的附加条件时,当存储器区域的一个或多个无效率增加量的平均值被确定为小于提前阈值并且存储器区域的无效率被确定为大于最小阈值时,GC管理器111可以确定将存储器区域上的GC操作提前。另一方面,当存储器区域的一个或多个无效率增加量的平均值被确定为小于提前阈值但是存储器区域的无效率被确定为不大于最小阈值时,GC管理器111可以确定不将存储器区域上的GC操作提前。
例如,在时间点t11处,GC管理器111可以将存储器区域MR1在时间点t9和t11处的无效率增加量的平均值“1”确定为小于提前阈值,并且可以将存储器区域MR1在时间点t11处的无效率“7”确定为大于最小阈值。因此,GC管理器111可以确定将存储器区域MR1上的GC操作提前。
根据一个实施例,存储器区域上的附加条件可以是:由于在存储器区域上的GC操作而引起的数据传输量与由于主机设备的请求而引起的数据传输量的比率应小于预定比率。为了确定在存储器区域上是否满足这样的附加条件,GC管理器111可以预测由于主机设备的当前的未决请求而在控制器110和存储介质120之间待处理的数据量。当所预测的数据量小于预定值时,GC管理器111可以确定这样的附加条件在存储器区域上被满足。
图6是图示了根据本公开的一个实施例的GC候选列表VTL和GC延迟列表SPL的图。
参考图6,GC候选列表VTL可以包括:在存储介质120中包括的存储器区域MR1至MRm之中的、GC操作被期望在其上执行的一个或多个存储器区域。例如,GC候选列表VTL可以包括其无效率大于预定GC阈值的存储器区域,这不会限制本公开。GC管理器111可以根据GC候选列表VTL中的优先级顺序来依次执行GC操作。当执行GC操作时,GC管理器111可以首先在GC候选列表VTL内的具有最高优先级的存储器区域上执行GC操作。
通过管理GC候选列表VTL,GC管理器111可以根据参考图4所描述的确定来将存储器区域MR3上的GC操作延迟。具体地,当存储器区域MR3被包括在GC候选列表VTL中时,GC管理器111可以在GC候选列表VTL内将存储器区域MR3的优先级降低多达预定排名。例如,存储器区域MR3可以被排列在GC候选列表VTL的底部。根据一个实施例,当存储器区域MR3被包括在GC候选列表VTL中时,GC管理器111可以将存储器区域MR3从GC候选列表VTL中逐出。当存储器区域MR3从GC候选列表VTL中被逐出时,可以不在存储器区域MR3上执行GC操作。
通过管理GC候选列表VTL,GC管理器111可以根据参考图4所描述的确定来将存储器区域MR1上的GC操作提前。具体地,当存储器区域MR1尚未被包括在GC候选列表VTL中时,GC管理器111可以将存储器区域MR1包括到GC候选列表VTL中,并且可以向存储器区域MR1分配高优先级。例如,存储器区域MR1可以被排列在GC候选列表VTL的顶部。根据一个实施例,当存储器区域MR1被包括在GC候选列表VTL中时,GC管理器111可以在GC候选列表VTL内将存储器区域MR1的优先级提高多达预定排名。
为了将存储器区域MR3上的GC操作延迟,GC管理器111还可以管理GC延迟列表SPL。具体地,当存储器区域MR3未被包括在GC延迟列表SPL中时,GC管理器111可以将存储器区域MR3包括到GC延迟列表SPL中。如图6所示,在存储器区域MR3存在于GC候选列表VTL中的同时,存储器区域MR3可以被添加到GC延迟列表SPL。根据一个实施例,存储器区域MR3可以从GC候选列表VTL中被逐出,并且仅被添加到GC延迟列表SPL。即使在将存储器区域MR3包括到GC候选列表VTL中的条件(例如,存储器区域MR3的无效率应当大于GC阈值的条件)被满足时,只要存储器区域MR3被包括在GC延迟列表SPL中,GC管理器111也可以不将存储器区域MR3包括到GC候选列表VTL中。
根据一个实施例,当确定将存储器区域MR3上的GC操作提前时,GC管理器111可以将存储器区域MR3从GC延迟列表SPL中逐出。根据一个实施例,在从存储器区域MR3被包括在GC延迟列表SPL中起预定时间量之后,GC管理器111可以将存储器区域MR3从GC延迟列表SPL中逐出。根据一个实施例,当存储器区域MR3中存储的所有数据变为无效时,GC管理器111可以将存储器区域MR3从GC延迟列表SPL中逐出。
图7是图示了根据本公开的一个实施例的图1的GC管理器111的操作方法的流程图。
参考图7,在操作S110中,GC管理器111可以确定是否是更新无效率增加量表IVTB的更新时间点。例如,GC管理器111可以确定在最近的更新时间点之后,数目为“n”的存储器区域是否变为封闭。例如,GC管理器111可以确定存储器系统100是否进入空闲状态。当确定不是更新时间点时,过程可以重复操作S110。当确定是更新时间点时,过程可以继续进行到操作S120。
在操作S120中,GC管理器111可以更新无效率增加量表IVTB。例如,对于每个存储器区域,GC管理器111可以将先前更新时间点的无效率与当前更新时间点的无效率之间的差计算为无效率增加量,并且可以将所计算的无效率增加量包括到无效率增加量表IVTB中。
图8是图示了根据本公开的一个实施例的图1的GC管理器111的操作方法的流程图。
参考图8,在操作S210中,GC管理器111可以通过参考经更新的无效率增加量表IVTB来确定存储器区域的无效率是否快速增加。例如,当存储器区域的一个或多个无效率增加量的平均值被确定为大于延迟阈值时,GC管理器111可以确定存储器区域的无效率快速增加。当存储器区域的无效率被确定为没有快速增加时,过程可以继续进行到操作S220。当存储器区域的无效率被确定为快速增加时,过程可以继续进行到操作S230。
在操作S220中,GC管理器111可以通过参考经更新的无效率增加量表IVTB来确定存储器区域的无效率是否缓慢增加。例如,当存储器区域的一个或多个无效率增加量的平均值被确定为小于提前阈值时,GC管理器111可以确定存储器区域的无效率缓慢增加。当存储器区域的无效率被确定为没有缓慢增加时,过程可以结束。当存储器区域的无效率被确定为缓慢增加时,过程可以继续进行到操作S240。
在操作S230中,GC管理器111可以将存储器区域上的GC操作延迟。
在操作S240中,GC管理器111可以将存储器区域上的GC操作提前。
图9是图示了根据本公开的一个实施例的图1的GC管理器111的操作方法的流程图。
参考图9,在操作S310中,GC管理器111可以通过参考经更新的无效率增加量表IVTB来确定存储器区域的无效率是否快速增加。当存储器区域的无效率被确定为没有快速增加时,过程可以继续进行到操作S320。当存储器区域的无效率被确定为快速增加时,过程可以继续进行到操作S340。
在操作S320中,GC管理器111可以通过参考经更新的无效率增加量表IVTB来确定存储器区域的无效率是否缓慢增加。当存储器区域的无效率被确定为没有缓慢增加时,过程可以结束。当存储器区域的无效率被确定为缓慢增加时,过程可以继续进行到操作S330。
在操作S330中,GC管理器111可以预测:是否即使GC操作在存储器区域上被执行,存储器系统100的操作性能也不会被降级。例如,当存储器区域的无效率被确定为大于最小阈值时,GC管理器111可以预测操作性能将不会被降级。当操作性能被预测为会被降级时,过程可以结束。当操作性能被预测为不会被降级时,过程可以继续进行到操作S350。
在操作S340中,GC管理器111可以将存储器区域上的GC操作延迟。
在操作S350中,GC管理器111可以将存储器区域上的GC操作提前。
图10是图示了根据本公开的一个实施例的包括固态驱动器(SSD)1200的数据处理系统1000的图。参考图10,数据处理系统1000可以包括主机设备1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器设备1220、多个非易失性存储器设备1231至123n、电源1240、信号连接器1250和功率连接器1260。
控制器1210可以控制SSD 1200的整体操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250来与主机设备1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机设备1100的协议来将主机设备1100和SSD 1200对接。例如,主机接口单元1211可以通过标准接口协议中的任何标准接口协议来与主机设备1100进行通信,标准接口协议诸如是安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储器卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、外围组件互连(PCI)、PCI快速(PCI-E)和通用闪存(UFS)。
控制单元1212可以分析和处理从主机设备1100接收的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。控制单元1212可以包括图1所示的GC管理器111。随机存取存储器1213可以被用作用于驱动这样的固件或软件的工作存储器。
ECC单元1214可以生成待被传输到非易失性存储器设备1231至123n中的至少一个非易失性存储器设备的数据的奇偶校验数据。所生成的奇偶校验数据可以与数据一起被存储在非易失性存储器设备1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备读取的数据的错误。如果所检测到的错误在可校正的范围内,则ECC单元1214可以校正所检测到的错误。
存储器接口单元1215可以根据控制单元1212的控制来将诸如命令和地址的控制信号提供给非易失性存储器设备1231至123n中的至少一个非易失性存储器设备。此外,存储器接口单元1215可以根据控制单元1212的控制来与非易失性存储器设备1231至123n中的至少一个非易失性存储器设备交换数据。例如,存储器接口单元1215可以将缓冲存储器设备1220中存储的数据提供给非易失性存储器设备1231至123n中的至少一个非易失性存储器设备,或者将从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备读取的数据提供给缓冲存储器设备1220。
缓冲存储器设备1220可以临时存储待存储在非易失性存储器设备1231至123n中的至少一个非易失性存储器设备中的数据。此外,缓冲存储器设备1220可以临时存储从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备读取的数据。缓冲存储器设备1220中临时存储的数据可以根据控制器1210的控制而被传输到主机设备1100或非易失性存储器设备1231至123n中的至少一个非易失性存储器设备。
非易失性存储器设备1231至123n可以被用作SSD 1200的存储介质。非易失性存储器设备1231至123n可以通过多个通道CH1至CHn分别与控制器1210耦合。一个或多个非易失性存储器设备可以被耦合到一个通道。与每个通道耦合的非易失性存储器设备可以被耦合到相同的信号总线和数据总线。
电源1240可以将通过功率连接器1260输入的功率PWR提供到SSD 1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以提供功率,以允许在发生突然断电时SSD1200被正常终止。辅助电源1241可以包括大容量电容器。
取决于主机设备1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器来配置。
取决于主机设备1100的电源方案,功率连接器1260可以由各种类型的连接器来配置。
图11是图示了根据本公开的一个实施例的包括存储器系统2200的数据处理系统2000的图。参考图11,数据处理系统2000可以包括主机设备2100和存储器系统2200。
主机设备2100可以被配置为诸如印刷电路板的板的形式。尽管未示出,但是主机设备2100可以包括用于执行主机设备的功能的内部功能块。
主机设备2100可以包括连接端子2110,诸如插座、插槽或连接器。存储器系统2200可以被安装到连接端子2110。
存储器系统2200可以被配置为诸如印刷电路板的板的形式。存储器系统2200可以被称为存储器模块或存储器卡。存储器系统2200可以包括控制器2210、缓冲存储器设备2220、非易失性存储器设备2231和2232、功率管理集成电路(PMIC)2240以及连接端子2250。
控制器2210可以控制存储器系统2200的整体操作。控制器2210可以以与图10所示的控制器1210相同的方式被配置。
缓冲存储器设备2220可以临时存储待存储在非易失性存储器设备2231和2232中的数据。此外,缓冲存储器设备2220可以临时存储从非易失性存储器设备2231和2232读取的数据。缓冲存储器设备2220中临时存储的数据可以根据控制器2210的控制而被传输到主机设备2100或非易失性存储器设备2231和2232。
非易失性存储器设备2231和2232可以被用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的功率提供到存储器系统2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器系统2200的功率。
连接端子2250可以被耦合到主机设备2100的连接端子2110。通过连接端子2250,可以在主机设备2100和存储器系统2200之间传递诸如命令、地址、数据等的信号以及功率。取决于主机设备2100和存储器系统2200之间的接口方案,连接端子2250可以被配置成各种类型。连接端子2250可以被设置在存储器系统2200的任一侧上。
图12是图示了根据本公开的一个实施例的包括存储器系统3200的数据处理系统3000的图。参考图12,数据处理系统3000可以包括主机设备3100和存储器系统3200。
主机设备3100可以被配置为诸如印刷电路板的板的形式。尽管未示出,但是主机设备3100可以包括用于执行主机设备的功能的内部功能块。
存储器系统3200可以被配置为表面安装型封装件的形式。存储器系统3200可以通过焊球3250而被安装到主机设备3100。存储器系统3200可以包括控制器3210、缓冲存储器设备3220和非易失性存储器设备3230。
控制器3210可以控制存储器系统3200的整体操作。控制器3210可以以与图10中所示的控制器1210相同的方式被配置。
缓冲存储器设备3220可以临时存储待存储在非易失性存储器设备3230中的数据。此外,缓冲存储器设备3220可以临时存储从非易失性存储器设备3230读取的数据。缓冲存储器设备3220中临时存储的数据可以根据控制器3210的控制而被传输到主机设备3100或非易失性存储器设备3230。
非易失性存储器设备3230可以用作存储器系统3200的存储介质。
图13是图示了根据本公开的一个实施例的包括存储器系统4200的网络系统4000的图。参考图13,网络系统4000可以包括通过网络4500耦合的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可以向多个客户端系统4410至4430提供数据。
服务器系统4300可以包括主机设备4100和存储器系统4200。存储器系统4200可以由图1中所示的存储器系统100、图10中所示的存储器系统1200、图11中所示的存储器系统2200或者图12中所示的存储器系统3200配置。
图14是图示了根据本公开的一个实施例的存储器系统中包括的非易失性存储器设备300的框图。参考图14,非易失性存储器设备300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括存储器单元MC,存储器单元MC被布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处。
行解码器320可以通过字线WL1至WLm来与存储器单元阵列310耦合。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以对从外部设备(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn来与存储器单元阵列310耦合。数据读取/写入块330可以包括分别与位线BL1至BLn对应的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式而操作为写入驱动器或感测放大器。例如,在写入操作中,数据读取/写入块330可以操作为将从外部设备提供的数据存储在存储器单元阵列310中的写入驱动器。又例如,在读取操作中,数据读取/写入块330可以操作为从存储器单元阵列310读出数据的感测放大器。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以对从外部设备提供的地址进行解码。列解码器340可以基于解码结果而将数据读取/写入块330的分别与位线BL1至BLn对应的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器耦合。
电压发生器350可以生成在非易失性存储器设备300的内部操作中使用的电压。由电压发生器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以被施加到待对其执行编程操作的存储器单元的字线。又例如,擦除操作中生成的擦除电压可以被施加到待对其执行擦除操作的存储器单元的阱区域。再例如,读取操作中生成的读取电压可以被施加到待对其执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部设备提供的控制信号来控制非易失性存储器设备300的整体操作。例如,控制逻辑360可以控制非易失性存储器设备300的操作,诸如非易失性存储器设备300的读取操作、写入操作和擦除操作。
尽管上文已经描述了某些实施例,但是本领域技术人员将理解,所描述的实施例仅是示例性的。因此,不应当基于所描述的实施例来限制存储器系统。相反,应当仅根据结合以上描述和附图的所附权利要求来限制本文所描述的存储器系统。
Claims (20)
1.一种存储器系统,包括:
存储介质,所述存储介质包括多个存储器区域;以及
控制器,所述控制器根据所述存储器区域的无效率增加量来将所述多个存储器区域中的存储器区域上的垃圾收集操作延迟。
2.根据权利要求1所述的存储器系统,其中所述控制器将所述存储器区域在当前更新时间点处的无效率与所述存储器区域在先前更新时间点处的无效率之间的差计算为所述当前更新时间点处的所述无效率增加量。
3.根据权利要求2所述的存储器系统,其中当所述存储器区域在一个或多个更新时间点处的无效率增加量的平均值被确定为大于延迟阈值时,所述控制器将所述垃圾收集操作延迟。
4.根据权利要求2所述的存储器系统,其中当所述存储器区域在一个或多个更新时间点处的无效率增加量的平均值被确定为小于提前阈值时,所述控制器将所述垃圾收集操作提前。
5.根据权利要求2所述的存储器系统,其中当所述存储器区域在一个或多个更新时间点处的无效率增加量的平均值被确定为小于提前阈值,并且所述存储器区域的无效率被确定为大于最小阈值时,所述控制器将所述垃圾收集操作提前。
6.根据权利要求1所述的存储器系统,其中所述控制器通过更新垃圾收集候选列表和垃圾收集延迟列表中的至少一个列表来将所述垃圾收集操作延迟。
7.根据权利要求1所述的存储器系统,其中所述存储器区域是单级单元(SLC)缓冲器。
8.一种存储器系统,包括:
存储介质,所述存储介质包括多个存储器区域;以及
控制器,所述控制器将所述多个存储器区域中的其无效率快速增加的第一存储器区域上的垃圾收集操作延迟。
9.根据权利要求8所述的存储器系统,其中所述控制器通过降低所述第一存储器区域在垃圾收集候选列表内的优先级来将所述第一存储器区域上的所述垃圾收集操作延迟。
10.根据权利要求8所述的存储器系统,其中所述控制器将所述第一存储器区域从垃圾收集候选列表中逐出。
11.根据权利要求8所述的存储器系统,其中所述控制器将所述第一存储器区域包括在垃圾收集延迟列表中,并且只要所述第一存储器区域被包括在所述垃圾收集延迟列表中,所述控制器就不将所述第一存储器区域包括在垃圾收集候选列表中。
12.根据权利要求8所述的存储器系统,其中所述控制器将所述多个存储器区域中的其无效率缓慢增加的第二存储器区域上的垃圾收集操作提前。
13.根据权利要求12所述的存储器系统,其中所述控制器通过将所述第二存储器区域包括在垃圾收集候选列表中并且向所述第二存储器区域分配高优先级,来将所述第二存储器区域上的所述垃圾收集操作提前。
14.根据权利要求13所述的存储器系统,其中当所述第二存储器区域被包括在垃圾收集延迟列表中时,所述控制器将所述第二存储器区域从所述垃圾收集延迟列表中逐出。
15.根据权利要求12所述的存储器系统,其中当确定由于所述第二存储器区域上的所述垃圾收集操作而导致所述存储器系统的操作性能降级的可能性不存在时,所述控制器将所述第二存储器区域上的所述垃圾收集操作提前。
16.一种存储器系统,包括:
存储介质,所述存储介质包括多个存储器区域;以及
控制器,所述控制器基于所述多个存储器区域中的存储器区域在当前更新时间点处的无效率以及所述存储器区域在先前更新时间点处的无效率来计算所述存储器区域在所述当前更新时间点处的无效率增加量,并且所述控制器将所述无效率增加量包括在无效率增加量表中,
其中所述无效率增加量表包括所述存储器区域的分别在一个或多个更新时间点处计算的一个或多个无效率增加量。
17.根据权利要求16所述的存储器系统,其中当所述存储器区域在所述一个或多个更新时间点处的一个或多个无效率增加量的平均值大于延迟阈值时,所述控制器将所述存储器区域上的垃圾收集操作延迟。
18.根据权利要求16所述的存储器系统,其中当所述存储器区域在所述一个或多个更新时间点处的一个或多个无效率增加量的平均值小于提前阈值时,所述控制器将所述存储器区域上的垃圾收集操作提前。
19.根据权利要求16所述的存储器系统,其中当所述存储器区域在所述一个或多个更新时间点处的一个或多个无效率增加量的平均值小于提前阈值,并且所述存储器区域在所述当前更新时间点处的无效率大于最小阈值时,所述控制器将所述存储器区域上的垃圾收集操作提前。
20.根据权利要求16所述的存储器系统,其中所述当前更新时间点是在所述先前更新时间点之后,预定数目的存储器区域变为封闭的时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200155122A KR20220068385A (ko) | 2020-11-19 | 2020-11-19 | 메모리 시스템 |
KR10-2020-0155122 | 2020-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546250A true CN114546250A (zh) | 2022-05-27 |
Family
ID=81586664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110585669.1A Withdrawn CN114546250A (zh) | 2020-11-19 | 2021-05-27 | 存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220156184A1 (zh) |
KR (1) | KR20220068385A (zh) |
CN (1) | CN114546250A (zh) |
-
2020
- 2020-11-19 KR KR1020200155122A patent/KR20220068385A/ko unknown
-
2021
- 2021-04-26 US US17/239,912 patent/US20220156184A1/en not_active Abandoned
- 2021-05-27 CN CN202110585669.1A patent/CN114546250A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20220156184A1 (en) | 2022-05-19 |
KR20220068385A (ko) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220138096A1 (en) | Memory system | |
CN109960466B (zh) | 存储器系统及其操作方法 | |
US12026398B2 (en) | Memory system performing flush operation for buffer region | |
US20210216458A1 (en) | Memory system performing host map management | |
US12014054B2 (en) | Memory system and operating method thereof for performing re-ordering operation based on temperature increment | |
KR102381233B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN110389907B (zh) | 电子装置 | |
KR20190006677A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20200125285A1 (en) | Memory system and operating method thereof | |
CN115701577A (zh) | 存储器系统和存储器系统的控制器 | |
CN112835514B (zh) | 存储器系统 | |
CN111177018A (zh) | 存储器系统及其操作方法 | |
CN113672525A (zh) | 存储器系统 | |
US20230289059A1 (en) | Memory system and operating method thereof | |
CN114546249B (zh) | 数据存储装置及其操作方法 | |
CN111352856B (zh) | 存储器系统及其操作方法 | |
US20220156184A1 (en) | Memory system | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
US20190339868A1 (en) | Memory system and operating method thereof | |
CN110825654B (zh) | 存储器系统及其操作方法 | |
US10628322B2 (en) | Memory system and operating method thereof | |
US11954351B2 (en) | Memory system, operating method thereof, and data processing system for processing duplicate data | |
CN111309647B (zh) | 存储装置 | |
US20200117390A1 (en) | Data storage device and operating method thereof |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220527 |
|
WW01 | Invention patent application withdrawn after publication |