CN110058794A - 用于动态执行垃圾回收数据储存装置与操作方法 - Google Patents
用于动态执行垃圾回收数据储存装置与操作方法 Download PDFInfo
- Publication number
- CN110058794A CN110058794A CN201810054111.9A CN201810054111A CN110058794A CN 110058794 A CN110058794 A CN 110058794A CN 201810054111 A CN201810054111 A CN 201810054111A CN 110058794 A CN110058794 A CN 110058794A
- Authority
- CN
- China
- Prior art keywords
- data
- bandwidth
- garbage reclamation
- reclamation process
- blocks
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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/0608—Saving storage space on 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Memory System (AREA)
Abstract
一种用于动态执行垃圾回收流程的数据储存装置,包括一闪存以及一控制器。闪存包括多个区块,其中上述区块的每一者包括多个页面。控制器耦接闪存,用以计算闪存的至少一备用区块的数量是否小于一预设值,并且依据备用区块的数量与预设值的差值,在闪存执行一垃圾回收流程。垃圾回收流程是用以合并上述区块中的至少两个该等数据区块,以释放至少一备用区块。
Description
技术领域
本发明是关于一种包含闪存(FLASH Memory)的数据储存装置,特别是关于在闪存上动态执行垃圾回收(Garbage-Collection,GC)的流程。
背景技术
垃圾回收流程被广泛使用于各种存储器装置中。垃圾回收流程特别被使用在大多数页面储存无效(Invalid)数据的数据区块,合并多个数据区块中的有效数据至一个备用区块(之后,称为数据区块),则多个储存无效数据的数据区块可转化成备用(Spare)区块。藉由规律地执行垃圾回收流程,能够提升存储器装置的效率。
然而,是否执行垃圾回收流程通常是由一个临界值所决定。当决定执行垃圾回收流程时,会降低存储器装置的效能。此外,存储器装置可能会短时间被写入大量数据而消耗许多区块。如果同时写入数据以及执行垃圾回收流程,会造成写入延迟的突然增加以及效能突然劣化。因此,需要一种动态调整的垃圾回收流程,配合主机写入数据,并且防止存储器装置的效能突然劣化。
发明内容
本发明是依据存储器的备用区块的数量,比较备用区块的数量与预设值的差值,动态调整垃圾回收流程的带宽与速度。当主机写入数据越多时,备用区块的数量就越少,因此计算备用区块的数量能够反映出主机写入数据的情况。要注意的是,本发明不会在主机写入数据时立刻启动垃圾回收流程,而是在一段时间之后才动态调整垃圾回收流程的带宽与速度。因此,本发明的数据储存方法能够避免造成写入延迟的突然增加、以及备用区块的突然减少,维持数据储存装置的运作效能。
本发明提供一种用于动态执行垃圾回收流程的数据储存装置,包括一闪存以及一控制器。闪存包括多个区块,其中上述区块的每一者包括多个页面。控制器耦接闪存,用以计算闪存的至少一备用区块的数量是否小于一预设值,并且依据备用区块的数量与预设值的差值,在闪存执行一垃圾回收流程。垃圾回收流程是用以合并上述区块中的至少两个该等数据区块,以释放至少一备用区块。
当闪存的至少一备用区块的数量小于预设值时,控制器依据备用区块的数量与预设值的差值执行垃圾回收流程。当差值越大时,控制器执行垃圾回收流程的带宽则越快。当主机写入数据储存装置的数据越多时,闪存的备用区块的数量则越少。在一实施例中,当主机将数据写入数据储存装置时,控制器不会立即执行垃圾回收流程。此外,主机将数据写入数据储存装置的带宽以及控制器执行垃圾回收流程的带宽的总和,是小于或等于数据储存装置的***流量。
再者,当该存的至少一备用区块的数量小于预设值时,控制器依据至少一备用区块的数量设定一阀值带宽。当备用区块的数量与预设值的差值愈大,或备用区块的数量的值愈小,则阀值带宽愈大。控制器判断一写入数据带宽是否小于该阀值带宽,其中写入数据带宽是一主机将数据写入该数据储存装置的速度。当写入数据带宽小于该阀值带宽,控制器计算阀值带宽与写入数据带宽的一差值,并且以差值执行垃圾回收流程。当写入数据带宽大于阀值带宽,则控制器不启动垃圾回收流程;当写入数据带宽小于阀值带宽,则控制器启动垃圾回收流程。当写入数据带宽愈小或阀值带宽愈大,则控制器执行垃圾回收流程的带宽则越大。
本发明提供一种一种动态执行垃圾回收流程的数据储存方法,应用于一数据储存装置。数据储存装置包括一闪存以及一控制器,闪存包括多个区块,上述区块的每一者包括多个页面。数据储存方法包括:计算该闪存的至少一备用区块的数量;判断至少一备用区块的数量是否小于一预设值;以及依据备用区块的数量与该预设值的差值,在闪存执行一垃圾回收流程。垃圾回收流程是用以合并上述区块中的至少两个数据区块,以释放至少一备用区块。
关于本发明其他附加的特征与优点,本领域的技术人员,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭露的数据储存装置与操作方法。
附图说明
图1是显示根据本发明一实施例所述的数据储存装置的方块示意图;
图2是显示根据本发明一实施例所述的依据备用区块的数量执行垃圾回收流程的示意图;
图3是显示根据本发明一实施例的阀值带宽、写入数据带宽以及垃圾回收流程的带宽的三者关系的示意图;
图4是显示根据本发明一实施例所述的写入数据带宽以及执行垃圾回收流程的带宽的示意图;以及
图5是根据本发明一实施例的智能型垃圾回收程序的流程的示意图。
符号说明
100~数据储存装置
120~控制器
140~闪存
160-16N~储存矩阵
160_A、160_Z…16N_A、16N_Z~区块
160_A_1、160_Z_1…16N_A_X、16N_Z_X~页面
180~随机存取存储器
200~主机
H2F~对照表
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合所附图式,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1是显示根据本发明一实施例所述的数据储存装置100与主机200的示意图。在一实施例中,数据储存装置100包括控制器120、非挥发性存储器以及随机存取存储器(RAM)180。数据储存装置100耦接主机200以传送数据与指令、或是接收数据与指令。数据储存装置100与主机200之间的通信协议是符合嵌入式闪存模块(eMMC)规范、通用闪存(UFS)、NVMe、SD或SATA规范。非挥发式存储器可以是闪存(Flash Memory)、磁阻式挥发性存储器(Magnetoresistive RAM)、铁电挥发性存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩挥发性存储器(Spin Transfer Torque-RAM,STT-RAM)…等具有长时间数据保存的存储器装置。以下特别以闪存(Flash Memory)140为例进行讨论。
如图1所示,控制器120耦接闪存140以及随机存取存储器180。随机存取存储器180用以暂存以及预取控制器120所需的数据,或是用以暂存主机200要写入闪存140的数据,以加快数据储存装置100的访问时间。随机存取存储器180较佳是SRAM,也可以是DRAM。
控制器120耦接闪存140以相互传送数据与指令或接收数据与指令。在一实施例中,控制器120与闪存140之间具有4个通道(亦即CH0~CH3)以传输数据或指令。进一步而言,控制器120可包括具有固件码的一微控制器以及只读存储器(ROM),并且微控制器执行固件码以操作或是存取闪存140。
闪存140包括多个储存单元160~16N所形成的储存矩阵。举例而言,闪存140具有4个储存单元160~163所形成的储存矩阵。在一实施例中,每个储存单元包括一个以上的模块(Die),并且每个模块包括一个以上的平面(Plane),每个平面包括多个区块(Blocks)160_A~16N_Z,每个包括多个页面。在一实施例中,将每个平面的一个区块组合成一超级区块(Super Block),使得闪存140包括多个超级区块,每一超级区块包括多个超级页面。由于页面与超级页面的运作原理类似,在下述的说明中两者将交替使用以简化说明,但不以此为限
如图1所示,储存单元160包括区块160_A~160_Z;储存单元16N包括区块16N_A~16N_Z,Z例如是2048。对于储存单元160而言,区块160_A~160_Z中的每一者更包括多个页面160_A_1~16N_Z_X,X例如是768,每一页面160_A_1~16N_Z_X的数据储存量例如是16KB,一个页面数据例如是4笔4KB大小的数据。控制器120在对闪存140执行写入动作时,是以页面为最小数据写入单位来执行数据写入的动作,其中,页面是由字符线所控制。
对于闪存140而言,每一区块160_A~16N_Z的每一页面160_A_1~16N_Z_X皆具有不同的实体地址。当数据储存装置100执行一数据写入运作时,控制器120决定闪存140的一实体地址以写入数据。此外,控制器120则分别将上述实体地址对应至数据的逻辑地址,并依此建立了对照表H2F。因此,对于主机200而言,主机200是藉由逻辑地址,来读取数据储存装置100的数据,控制器120藉由对照表H2F得知实体地址,并提供实体地址所储存的数据至主机200。其中,对照表H2F可以由控制器120建立并维护,也可以由主机200建立并维护。
在一实施例中,控制器120是用以依据闪存140中的备用区块的数量,在闪存140执行垃圾回收流程。垃圾回收流程是用以合并至少两个数据区块所储存的数据(有效),从数据区块中释放出至少一个备用区块。进一步而言,备用区块的特征在于其每一个页面都是空的、没有写入任何数据。数据区块的特征在于其一部分或全部页面有储存数据。如果一数据区块的大部分页面是空的、没有储存有效数据,则该数据区块为无效率区块。详细而言,无效率区块是垃圾回收流程所欲回收的数据区块。
在一实施例中,垃圾回收流程是根据备用区块的数量进行动态调整、而不是单一临界值来执行或操作,以避免造成闪存140运作时的延迟。控制器120计算闪存140的备用区块的数量是否小于一预设值。当闪存140的备用区块的数量小于预设值时,控制器120依据备用区块的数量与预设值的差值动态调整垃圾回收流程的速度。如图2所示,备用区块的数量与预设值的差值愈大,或备用区块的数量的值愈小,则阀值带宽(Threshold Bandwidth)愈大,两者为负相关,可为线性关系、指数式关系等,或非线性关系。
如图3所示,阀值带宽与写入数据带宽可决定垃圾回收流程的带宽,三者关系如下列方程式所示:
垃圾回收流程的带宽=阀值带宽-写入数据带宽
由上列方程式可知,如果写入数据带宽大于阀值带宽,则不启动垃圾回收流程;如果写入数据带宽小于阀值带宽,则启动垃圾回收流程。写入数据带宽愈小或阀值带宽愈大,则执行垃圾回收流程的带宽则越大,其中,带宽为每秒钟的数据传输量,写入数据带宽表示每秒钟数据储存装置100的数据传输量,垃圾回收流程的带宽表示每秒钟垃圾回收流程的数据传输量。
在一实施例中,当主机200将数据写入数据储存装置100时,控制器120不会立即执行垃圾回收流程。当主机200写入数据储存装置100的数据越多时,闪存140的备用区块的数量则越少并小于一预设值,则依据备用区块的数量与预设值的差值来决定阀值带宽。
图4是显示根据本发明一实施例所述的写入数据带宽(如虚线所示)以及执行垃圾回收流程(如实线所示)的带宽的示意图。主机200在时间T0开始写入数据至数据储存装置100,并且在时间T1时以300MB/秒的速度写入数据至数据储存装置100。在时间T1时,控制器120计算闪存140的备用区块的数量并未小于预设值(例如:25)。换言之,备用区块的数量是足够的。因此,控制器120并未在时间T1立刻执行垃圾回收程序。此外,控制器120是周期性地计算闪存140的备用区块的数量。例如,控制器120是每隔1毫秒(ms)计算闪存140的备用区块的数量。在时间T2时,控制器120判断闪存140的备用区块的数量为20,小于预设值,开始执行垃圾回收程序,并依据备用区块的数量而决定阀值带宽等于150MB/秒。由于此时写入数据带宽为100MB/秒,所以垃圾回收流程的带宽为50MB/秒。因此,虽然备用区块被消耗时,启动垃圾回收流程的带宽可有效地降低备用区块的消耗量,因此,能够避免垃圾回收程序影响数据储存装置100的效能、并且防止备用区块的数量被过度消耗。
在时间T3,控制器120判断闪存140的备用区块的数量为15,小于预设值,并依据备用区块的数量而决定阀值带宽等于250MB/秒。由于此时写入数据带宽为50MB/秒,所以垃圾回收程序的带宽为200MB/秒。因为垃圾回收程序的带宽大于写入数据的带宽,垃圾回收程序可显著地增加了备用区块的数量。
在时间T4,控制器120判断闪存140的备用区块的数量为20,小于预设值,并依据备用区块的数量而决定阀值带宽等于150MB/秒。由于此时写入数据带宽为400MB/秒,所以垃圾回收程序的带宽为0MB/秒。
在时间T5,控制器120判断闪存140的备用区块的数量为13,小于预设值,并依据备用区块的数量而决定阀值带宽等于350MB/秒。由于此时写入数据带宽为50MB/秒,所以垃圾回收程序的带宽为300MB/秒。垃圾回收程序的带宽大于写入数据的带宽,备用区块的数量再次增加,并朝着默认值而增加
在时间T6,控制器120判断闪存140的备用区块的数量为20,小于预设值,并依据备用区块的数量而决定阀值带宽等于150MB/秒。由于此时写入数据带宽为500MB/秒,所以垃圾回收程序的带宽为0MB/秒。
在时间T7,控制器120判断闪存140的备用区块的数量为13,小于预设值,并依据备用区块的数量而决定阀值带宽等于350MB/秒。由于此时写入数据带宽为0MB/秒,所以垃圾回收程序的带宽为350MB/秒。垃圾回收程序的带宽大于写入数据的带宽,备用区块的数量再次增加,并朝着默认值而增加。
由上述中可知,当写入数据的带宽增加时,控制器120降低垃圾回收程序的带宽,待写入数据的带宽降低时,控制器120增加垃圾回收程序的带宽,写入数据的带宽与写入数据的带宽如同翘翘板,使垃圾回收程序能发挥其功能且将垃圾回收程序对***效能的影响降至最低。
以下将进一步说明依据备用区块的数量与预设值的差值,对闪存140执行垃圾回收流程的方法。图5是本发明智能型垃圾回收程序的流程的示意图。在此实施例中,预设值为25。当控制器120计算备用区块的数量低于25,则表示备用区块的数量不足,应执行垃圾回收流程以释放更多备用区块。当备用区块的数量越少,或与预设值的差值就越大,则控制器120所设定的阀值带宽则越大。
在步骤S502,控制器120(周期性地)计算闪存140的备用区块的数量。在步骤S504,控制器120判断备用区块的数量是否小于预设值。如果没有小于预设值,则回到步骤S502。在时间T1时,控制器120计算闪存140的备用区块的数量并未小于预设值。换言之,备用区块的数量是足够的。如果小于预设值,则执行步骤S506,控制器120依据备用区块的数量设定阀值带宽。在时间T2时,控制器120判断闪存140的备用区块的数量为20,小于预设值。
在步骤S508,控制器120判斷写入数据带宽是否小于阀值带宽。如果没有小于预设值,则回到步骤S502。如果小于预设值,则执行步骤S510,控制器120计算阀值带宽与写入数据带宽的差值。控制器120依据备用区块的数量而决定阀值带宽等于150MB/秒。此时,写入数据带宽为100MB/秒,所以阀值带宽与写入数据带宽的差值为50MB/秒。
在步骤S512,控制器120以此差值执行垃圾回收程序。控制器120以50MB/秒执行垃圾回收程序,並结束本发明智能型垃圾回收程序的流程。
本发明是藉由比较备用区块的数量与预设值,动态调整垃圾回收流程的带宽与速度。当主机200写入数据越多时,备用区块的数量就越少,因此计算备用区块的数量能够反映出主机200写入数据的情况。然而,本发明不会在主机200写入数据时立刻启动垃圾回收流程,或是让垃圾回收流程占据闪存140的访问速度,而是在一段时间之后动态调整垃圾回收流程的带宽与速度。因此,本发明的数据储存方法能够避免造成数据的写入延迟,维持相当数量的备用区块,使数据储存装置100能够运作顺畅。
本发明的方法,或特定型态或其部份,可以以程序代码的型态存在。程序代码可储存于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如计算机可读取)储存媒体,亦或不限于外在形式的计算机程序产品,其中,当程序代码被机器,如计算机加载且执行时,此机器变成用以参与本发明的装置。程序代码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序代码被机器,如计算机接收、加载且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序代码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
在本说明书以及权利要求书中的序数,例如「第一」、「第二」、「第三」等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中「耦接」一词是泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。
Claims (14)
1.一种用于动态执行一垃圾回收流程的数据储存装置,包括:
一闪存,包括多个区块,其中该等区块的每一者包括多个页面;以及
一控制器,耦接该闪存,用以计算该闪存的至少一备用区块的数量是否小于一预设值,并且依据该至少一备用区块的数量与该预设值的差值,在该闪存执行一垃圾回收流程,其中该垃圾回收流程是用以合并该等区块中的至少两个该等数据区块,以释放该至少一备用区块。
2.如权利要求1所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
当该闪存的该至少一备用区块的数量小于该预设值时,该控制器依据该至少一备用区块的数量设定一阀值带宽,其中当该备用区块的数量与该预设值的差值愈大,或备用区块的数量的值愈小,则该阀值带宽愈大。
3.如权利要求2所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
该控制器判断一写入数据带宽是否小于该阀值带宽,其中该写入数据带宽是一主机将数据写入该数据储存装置的速度。
4.如权利要求3所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
其中当该写入数据带宽小于该阀值带宽,该控制器计算该阀值带宽与该写入数据带宽的一差值,并且以该差值执行该垃圾回收流程。
5.如权利要求4所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
当该写入数据带宽大于该阀值带宽,则该控制器不启动该垃圾回收流程;
当该写入数据带宽小于该阀值带宽,则该控制器启动该垃圾回收流程。
6.如权利要求4所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
当该写入数据带宽愈小或该阀值带宽愈大,则该控制器执行该垃圾回收流程的带宽则越大。
7.如权利要求1所述的用于动态执行垃圾回收流程的数据储存装置,其特征在于:
该控制器是周期性地计算该闪存的至少一备用区块的数量,并且判断该至少一备用区块的数量是否小于该预设值。
8.一种动态执行一垃圾回收流程的数据储存方法,应用于一数据储存装置,该数据储存装置包括一闪存以及一控制器,该闪存包括多个区块,该等区块的每一者包括多个页面,该数据储存方法包括:
计算该闪存的至少一备用区块的数量;
判断该至少一备用区块的数量是否小于一预设值;以及
依据该至少一备用区块的数量与该预设值的差值,在该闪存执行一垃圾回收流程,其中该垃圾回收流程是用以合并该等区块中的至少两个该等数据区块,以释放该至少一备用区块。
9.如权利要求8所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
当该闪存的该至少一备用区块的数量小于该预设值时,依据该至少一备用区块的数量设定一阀值带宽,其中当该备用区块的数量与该预设值的差值愈大,或备用区块的数量的值愈小,则该阀值带宽愈大。
10.如权利要求9所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
判断一写入数据带宽是否小于该阀值带宽,其中该写入数据带宽是一主机将数据写入该数据储存装置的速度。
11.如权利要求10所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
其中当该写入数据带宽小于该阀值带宽,计算该阀值带宽与该写入数据带宽的一差值,并且以该差值执行该垃圾回收流程。
12.如权利要求11所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
当该写入数据带宽大于该阀值带宽,则不启动该垃圾回收流程;
当该写入数据带宽小于该阀值带宽,则启动该垃圾回收流程。
13.如权利要求11所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
当该写入数据带宽愈小或该阀值带宽愈大,则执行该垃圾回收流程的带宽则越大。
14.如权利要求8所述的用于动态执行垃圾回收流程的数据储存方法,其特征在于:
周期性地计算该闪存的至少一备用区块的数量,并且判断该至少一备用区块的数量是否小于该预设值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810054111.9A CN110058794B (zh) | 2018-01-19 | 2018-01-19 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US16/239,714 US20190227927A1 (en) | 2018-01-19 | 2019-01-04 | Data storage device and data storage method for dynamically executing a garbage-collection process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810054111.9A CN110058794B (zh) | 2018-01-19 | 2018-01-19 | 用于动态执行垃圾回收数据储存装置与操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058794A true CN110058794A (zh) | 2019-07-26 |
CN110058794B CN110058794B (zh) | 2022-11-01 |
Family
ID=67299401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810054111.9A Active CN110058794B (zh) | 2018-01-19 | 2018-01-19 | 用于动态执行垃圾回收数据储存装置与操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190227927A1 (zh) |
CN (1) | CN110058794B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495850A (zh) * | 2020-04-08 | 2021-10-12 | 慧荣科技股份有限公司 | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 |
CN114063893A (zh) * | 2020-07-29 | 2022-02-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
TWI782654B (zh) * | 2021-02-18 | 2022-11-01 | 慧榮科技股份有限公司 | 垃圾回收操作的管理機制 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10877898B2 (en) | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US11816043B2 (en) | 2018-06-25 | 2023-11-14 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of I/O requests |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US11068168B2 (en) * | 2018-07-17 | 2021-07-20 | Micron Technology, Inc. | Managing storage performance consistency with feedback control |
US10996886B2 (en) * | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
KR102620731B1 (ko) * | 2018-09-27 | 2024-01-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US10977122B2 (en) | 2018-12-31 | 2021-04-13 | Alibaba Group Holding Limited | System and method for facilitating differentiated error correction in high-density flash devices |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11132291B2 (en) | 2019-01-04 | 2021-09-28 | Alibaba Group Holding Limited | System and method of FPGA-executed flash translation layer in multiple solid state drives |
US11200337B2 (en) | 2019-02-11 | 2021-12-14 | Alibaba Group Holding Limited | System and method for user data isolation |
US10970212B2 (en) | 2019-02-15 | 2021-04-06 | Alibaba Group Holding Limited | Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones |
US11061834B2 (en) | 2019-02-26 | 2021-07-13 | Alibaba Group Holding Limited | Method and system for facilitating an improved storage system by decoupling the controller from the storage medium |
US10891065B2 (en) | 2019-04-01 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US10908960B2 (en) | 2019-04-16 | 2021-02-02 | Alibaba Group Holding Limited | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11074124B2 (en) | 2019-07-23 | 2021-07-27 | Alibaba Group Holding Limited | Method and system for enhancing throughput of big data analysis in a NAND-based read source storage |
US11580016B2 (en) * | 2019-08-30 | 2023-02-14 | Micron Technology, Inc. | Adjustable garbage collection suspension interval |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
TWI748542B (zh) | 2020-07-01 | 2021-12-01 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法 |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
TWI795249B (zh) * | 2022-03-29 | 2023-03-01 | 睿寬智能科技有限公司 | 用於閃存裝置之性能平衡導向之寫入速度控制法 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085054A (ja) * | 2001-06-27 | 2003-03-20 | Mitsubishi Electric Corp | フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法 |
US20110185117A1 (en) * | 2010-01-25 | 2011-07-28 | International Business Machines Corporation | Systems and methods for managing a cache in a multi-node virtual tape controller |
JP2011227835A (ja) * | 2010-04-22 | 2011-11-10 | Mitsubishi Electric Corp | 記憶媒体の制御装置、制御プログラム、及び制御方法 |
US20130024641A1 (en) * | 2011-07-22 | 2013-01-24 | Fusion-Io, Inc. | Apparatus, system, and method for managing storage capacity recovery |
US20130060991A1 (en) * | 2011-09-05 | 2013-03-07 | Lite-On It Corporation | Solid state drive and garbage collection control method thereof |
CN103425595A (zh) * | 2012-05-18 | 2013-12-04 | 慧荣科技股份有限公司 | 数据储存装置和闪存的区块管理方法 |
KR20140020442A (ko) * | 2012-08-08 | 2014-02-19 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 |
US20140101379A1 (en) * | 2011-04-26 | 2014-04-10 | Lsi Corporation | Variable Over-Provisioning For Non-Volatile Storage |
US20140372723A1 (en) * | 2013-06-14 | 2014-12-18 | International Business Machines Corporation | Dynamically optimizing memory allocation across virtual machines |
US20150019797A1 (en) * | 2013-07-14 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Improved Garbage Collection Process In Solid State Drive |
US20150347025A1 (en) * | 2014-05-27 | 2015-12-03 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
CN105589811A (zh) * | 2014-11-10 | 2016-05-18 | 慧荣科技股份有限公司 | 数据储存装置与操作方法 |
US20160210060A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
US20160321171A1 (en) * | 2015-04-30 | 2016-11-03 | Kabushiki Kaisha Toshiba | Memory system executing garbage collection |
US20170090752A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Methods and apparatus to configure performance of a solid state drive based on host write bandwidth |
US20170168930A1 (en) * | 2015-12-15 | 2017-06-15 | Samsung Electronics Co., Ltd. | Method for operating storage controller and method for operating storage device including the same |
US20170285945A1 (en) * | 2016-04-01 | 2017-10-05 | Sk Hynix Memory Solutions Inc. | Throttling for a memory system and operating method thereof |
US20170300410A1 (en) * | 2016-04-13 | 2017-10-19 | Nanjing University | Method and System for Optimizing Deterministic Garbage Collection in Nand Flash Storage Systems |
CN107422995A (zh) * | 2017-08-08 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘写带宽调整方法及装置 |
US20170351604A1 (en) * | 2016-06-02 | 2017-12-07 | Futurewei Technologies, Inc. | Host and garbage collection write ratio controller |
CN107506136A (zh) * | 2017-08-07 | 2017-12-22 | 成都华为技术有限公司 | 一种垃圾回收的方法和装置 |
US20170371794A1 (en) * | 2016-06-28 | 2017-12-28 | Dell Products, Lp | System and method for dynamic optimization for burst and sustained performance in solid state drives |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255179B2 (en) * | 2016-12-30 | 2019-04-09 | Western Digital Technologies, Inc. | Garbage collection read throttling |
TWI643065B (zh) * | 2017-12-20 | 2018-12-01 | 慧榮科技股份有限公司 | 用於動態執行記憶體回收資料儲存裝置與操作方法 |
-
2018
- 2018-01-19 CN CN201810054111.9A patent/CN110058794B/zh active Active
-
2019
- 2019-01-04 US US16/239,714 patent/US20190227927A1/en not_active Abandoned
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003085054A (ja) * | 2001-06-27 | 2003-03-20 | Mitsubishi Electric Corp | フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法 |
US20110185117A1 (en) * | 2010-01-25 | 2011-07-28 | International Business Machines Corporation | Systems and methods for managing a cache in a multi-node virtual tape controller |
JP2011227835A (ja) * | 2010-04-22 | 2011-11-10 | Mitsubishi Electric Corp | 記憶媒体の制御装置、制御プログラム、及び制御方法 |
US20140101379A1 (en) * | 2011-04-26 | 2014-04-10 | Lsi Corporation | Variable Over-Provisioning For Non-Volatile Storage |
US20130024641A1 (en) * | 2011-07-22 | 2013-01-24 | Fusion-Io, Inc. | Apparatus, system, and method for managing storage capacity recovery |
US20130060991A1 (en) * | 2011-09-05 | 2013-03-07 | Lite-On It Corporation | Solid state drive and garbage collection control method thereof |
CN103425595A (zh) * | 2012-05-18 | 2013-12-04 | 慧荣科技股份有限公司 | 数据储存装置和闪存的区块管理方法 |
KR20140020442A (ko) * | 2012-08-08 | 2014-02-19 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 |
US20140372723A1 (en) * | 2013-06-14 | 2014-12-18 | International Business Machines Corporation | Dynamically optimizing memory allocation across virtual machines |
US20150019797A1 (en) * | 2013-07-14 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Improved Garbage Collection Process In Solid State Drive |
US20150347025A1 (en) * | 2014-05-27 | 2015-12-03 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
CN105589811A (zh) * | 2014-11-10 | 2016-05-18 | 慧荣科技股份有限公司 | 数据储存装置与操作方法 |
US20160210060A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
US20160321171A1 (en) * | 2015-04-30 | 2016-11-03 | Kabushiki Kaisha Toshiba | Memory system executing garbage collection |
US20170090752A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Methods and apparatus to configure performance of a solid state drive based on host write bandwidth |
US20170168930A1 (en) * | 2015-12-15 | 2017-06-15 | Samsung Electronics Co., Ltd. | Method for operating storage controller and method for operating storage device including the same |
US20170285945A1 (en) * | 2016-04-01 | 2017-10-05 | Sk Hynix Memory Solutions Inc. | Throttling for a memory system and operating method thereof |
US20170300410A1 (en) * | 2016-04-13 | 2017-10-19 | Nanjing University | Method and System for Optimizing Deterministic Garbage Collection in Nand Flash Storage Systems |
US20170351604A1 (en) * | 2016-06-02 | 2017-12-07 | Futurewei Technologies, Inc. | Host and garbage collection write ratio controller |
US20170371794A1 (en) * | 2016-06-28 | 2017-12-28 | Dell Products, Lp | System and method for dynamic optimization for burst and sustained performance in solid state drives |
CN107506136A (zh) * | 2017-08-07 | 2017-12-22 | 成都华为技术有限公司 | 一种垃圾回收的方法和装置 |
CN107422995A (zh) * | 2017-08-08 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘写带宽调整方法及装置 |
Non-Patent Citations (3)
Title |
---|
LEE,JUNGHEE等: "Preemptible I/O Scheduling of Garbage Collection for Solid State Drives", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTERGRATED CIRCUITS AND SYSTEMS》 * |
时正等: "一种基于差分进化的Flash文件***垃圾回收算法", 《电子学报》 * |
王蓉晖: "大规模闪存固态存储并行访问控制关键技术的研究与实现", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495850A (zh) * | 2020-04-08 | 2021-10-12 | 慧荣科技股份有限公司 | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 |
CN113495850B (zh) * | 2020-04-08 | 2024-02-09 | 慧荣科技股份有限公司 | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 |
CN114063893A (zh) * | 2020-07-29 | 2022-02-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
TWI782654B (zh) * | 2021-02-18 | 2022-11-01 | 慧榮科技股份有限公司 | 垃圾回收操作的管理機制 |
US11494299B2 (en) | 2021-02-18 | 2022-11-08 | Silicon Motion, Inc. | Garbage collection operation management with early garbage collection starting point |
US11681615B2 (en) | 2021-02-18 | 2023-06-20 | Silicon Motion, Inc. | Garbage collection operation management based on overall valid page percentage of source block and candidate source block |
US11704241B2 (en) | 2021-02-18 | 2023-07-18 | Silicon Motion, Inc. | Garbage collection operation management with early garbage collection starting point |
US11809312B2 (en) | 2021-02-18 | 2023-11-07 | Silicon Motion, Inc. | Garbage collection operation management based on overall spare area |
Also Published As
Publication number | Publication date |
---|---|
US20190227927A1 (en) | 2019-07-25 |
CN110058794B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058794A (zh) | 用于动态执行垃圾回收数据储存装置与操作方法 | |
US10318175B2 (en) | SSD with heterogeneous NVM types | |
JP5213965B2 (ja) | 1セル当り単一ビットnandフラッシュメモリをエミュレートする1セル当り多ビットnandフラッシュメモリ用コントローラ | |
US11074007B2 (en) | Optimize information requests to a memory system | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8880836B2 (en) | Memory management device and method | |
CN102508785B (zh) | 一种磨损均衡方法及装置 | |
US20120030413A1 (en) | Memory management device, information processing device, and memory management method | |
US20190018598A1 (en) | Data Storage Device and Method for Operating Non-Volatile Memory | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN112988616B (zh) | 使用枢纽表从存储器读取顺序数据 | |
JP6697410B2 (ja) | メモリシステムおよび制御方法 | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
EP3223160B1 (en) | Managing backup of logical-to-physical translation information to control boot-time and write amplification | |
WO2006067923A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 | |
US9268681B2 (en) | Heterogeneous data paths for systems having tiered memories | |
US20140325134A1 (en) | Prearranging data to commit to non-volatile memory | |
US20220334968A1 (en) | Memory card with volatile and non volatile memory space having multiple usage model configurations | |
CN109960471A (zh) | 数据存储方法、装置、设备以及存储介质 | |
CN109558335A (zh) | 一种基于Nor Flash存储器的嵌入式***的文件存储格式 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN102467351A (zh) | U盘及其快速切换存储与启动的方法 | |
CN104133779A (zh) | 非易失性存储装置及其动态调整映射方式的方法 | |
CN113986773A (zh) | 基于固态硬盘的写放大优化方法、装置及计算机设备 | |
CN104750425A (zh) | 一种存储***及其非易失性存储器的控制方法 |
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 | ||
GR01 | Patent grant |