CN111708713B - 一种固态硬盘智能垃圾回收与调度方法 - Google Patents
一种固态硬盘智能垃圾回收与调度方法 Download PDFInfo
- Publication number
- CN111708713B CN111708713B CN202010429973.2A CN202010429973A CN111708713B CN 111708713 B CN111708713 B CN 111708713B CN 202010429973 A CN202010429973 A CN 202010429973A CN 111708713 B CN111708713 B CN 111708713B
- Authority
- CN
- China
- Prior art keywords
- channel
- block
- request
- garbage
- scheduling
- 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
Links
Images
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
- 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
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, 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
本发明提供一种固态硬盘智能垃圾回收与调度方法。本发明方法通过两级阈值来确定产生GC的类型。将可中断垃圾回收的读写擦除操作与各个通道的读写IO合并管理,充分利用各个通道的空闲时间主动回收可用空间。设置可中断垃圾回收IO队列,利用GC缓冲区来暂存回收受害块的有效页,延迟可中断垃圾回收的有效页写入操作,降低GC对主机IO的影响。对于不可中断GC,受害块的选取采用贪婪策略,选取无效页最多的块,最大化GC效率。对于可中断GC,受害块的选取综合考虑回收效率,数据更新频率和擦除次数,兼顾垃圾回收效率与磨损均衡。本方法能够保证GC的效率的同时,降低GC对主机IO的影响。
Description
技术领域
本发明属于固态硬盘(SSD)固件算法设计领域,具体涉及了一种固态硬盘智能垃圾回收(GC)与调度方法。
背景技术
随着半导体技术的发展,在计算机系统中,存储子系统已经成为制约计算机系统发展的瓶颈。基于NAND闪存的SSD由于其高速读写性能,成为目前主流的存储设备之一。
SSD的存储介质NAND闪存具有如下物理特性:1)闪存只提供读、写和擦除3种操作,且这三种操作性能不对称,读最快,写次之,擦除最慢;2)闪存是按页、块、平面的结构进行组织;页是读/写的最小单位,一般为2/4/8KB;块是擦除的最小单位,一个块一般包含64/128个页;3)闪存擦除后只能写一次,即所谓的erase-before-write,这造成闪存不支持原地更新;4)闪存每个存储单元的编程/擦除(P/E)次数有限,超过该P/E次数后,闪存存储数据不再可靠。
由于NAND闪存的上述物理特性,造成SSD只能采用异地更新策略:将以前写入的数据无效化,然后将数据写入到新的位置。随着数据的不断写入或更新,SSD的空闲空间逐渐减少;当空闲空间低于一定阈值后,SSD必须进行垃圾回收操作,即回收以前无效化的空间。由于NAND闪存是按块进行擦除,因而垃圾回收时也是先选定垃圾回收目标块或受害块(VictimBlock,VB),然后将VB中的有效数据迁移至其它块中,最后将VB进行擦除,以备后续写入数据使用。
具体实现过程中,垃圾回收有两种实现方式:不可中断和可中断方式。不可中断方式在执行垃圾回收时停止响应主机输入输出(IO)请求,直到垃圾回收完成后才继续响应主机IO。可中断方式提出在SSD空闲时进行垃圾回收,同时垃圾回收过程可以被主机IO响应打断。不可中断垃圾回收的优势在于将垃圾回收延迟到最后时刻,通常能减少垃圾回收的次数和减轻SSD的写放大问题,从而延长SSD的寿命。可中断垃圾回收的优势在于可以减少对主机端IO响应的影响,从而提高SSD的读写性能。由此可见,垃圾回收方式对SSD的性能和寿命影响较大,是SSD固件设计领域的一个关键问题。
发明内容
针对现有固态硬盘的垃圾回收技术的不足之处,本发明公布一种固态硬盘智能垃圾回收与调度方法,其核心包括:1)根据底层SSD的空余空间量智能产生可中断垃圾回收和不可中断垃圾回收操作;2)设置一个可中断垃圾回收队列,将可中断的垃圾回收造成的IO与主机端各个通道IO一起进行调度,充分利用各个通道的空闲时间;3)利用SSD控制器内部的缓存来暂存各个通道可中断垃圾回收VB块的有效数据,然后利用通道空闲时间读出或写入有效页。
为实现本发明的目的,本发明的技术方案如下:
一种固态硬盘智能垃圾回收与调度方法,包括各个通道主机IO队列CH_IO,可中断垃圾回收IO队列GC_IO,GC缓冲区BufGC,IO调度模块和GC决策模块。
CH_IO保存主机接口发送至各个通道的用户IO请求,即主机端的读写请求。GC_IO保存可中断垃圾回收的VB块的有效页读/写请求和VB块的擦除请求。BufGC暂存VB块的有效页。IO调度模块负责调度各CH_IO队列和GC_IO队列中的请求。GC决策模块负责决定垃圾回收操作方式,此外,也负责不可中断的垃圾回收。
对于每个通道,当有新的写请求到达,其GC决策模块的工作过程如下:
G1、判断该通道剩余空闲空间比例U是否大于不可中断垃圾回收触发阈值THhard;
当U<THhard时,产生不可中断垃圾回收,执行G2;
当U≥THhard时,执行G3;
其中,NBfree为空闲的闪存块数,NBtotal为总的闪存块数;
其中,NPvalid为该通道闪存块中的有效页数,NPtotal为该通道闪存块的总页数;
G3、判断是否有正在进行的可中断垃圾回收,采用CH_IGC_flag进行标志。若没有,即CH_IGC_flag=0,执行G4;否则,执行G9。
G4、判断该通道剩余空间比例U是否小于可中断垃圾回收触发阈值THsoft;
当U<THsoft时,执行G5;
当U≥THsoft时,执行G9;
G5、判断该通道可中断GC的VB块是否为空。若是,执行G6;否则,执行G7。
其中,age为此块包含的数据页上次无效化距现在的时间,erase_count为块的擦除次数;
G7、判断GC缓冲区BufGC是否有足够空间容纳VB块的有效页。若有足够空间,则执行G8;否则,执行G9。
G8、设置该通道的CH_IGC_flag=1,生成对VB块有效页的读、写请求和对VB块的擦除请求,并加载至GC_IO队列。然后执行G9。
G9、结束本次垃圾回收决策。
IO调度模块工作过程如下:
如果某一通道的CH_IO不为空或者SSD的GC_IO不为空的时候,进行如下的调度过程:
S1、判断该通道的CH_IO队列是否为空。若不为空,调度CH_IO中的请求直到空为止。然后执行S2。
S2、判断GC_IO队列是否为空。若不为空,执行S3;否则,结束本次IO调度。
S3、判断GC_IO队列中是否有满足下面2个条件之一的请求:
条件一,属于该通道的读请求或擦除请求;
条件二,写请求且该写请求对应的读请求已经完成。
若存在这样的请求,取出第一个请求,执行S4;若没有,则结束本次IO调度。
S4、根据取出请求的类型进行相应的响应。具体如下:
若是读请求,则将该通道的数据读取到GC缓冲区BufGC中;
若是写请求,则将GC缓冲区BufGC中的数据写入到该通道;
若是擦除请求,则将该通道下对应闪存块擦除,并清除该通道的CH_IGC_flag标志,即设置CH_IGC_flag=0;并设置VB块号为空,即设置VB=-1。
S5,跳回到S1进行执行。
进一步,GC决策过程中不可中断垃圾回收触发阈值THhard和可中断垃圾回收触发阈值THsoft需要满足THhard<THsoft。这两个阈值可以采用固定阈值,比如取THsoft=0.1,THhard=0.01;也可以采用自适应阈值。
进一步,GC缓冲区BufGC既可以利用SSD内部的数据缓冲进行实现,也可以增设一个专门的缓冲用来实现。
本发明有益效果如下:
本发明提出的SSD智能垃圾回收与调度方法,通过两级阈值来确定产生GC的类型。将可中断垃圾回收的读写擦除操作与各个通道的读写IO合并管理,充分利用各个通道的空闲时间主动回收可用空间。设置可中断垃圾回收读写擦除队列,利用缓存来暂存回收受害块的有效页,延迟可中断垃圾回收的有效页写入操作,降低GC对主机IO的影响。对于不可中断GC,受害块的选取采用贪婪策略,选取无效页最多的块,最大化GC效率。对于可中断GC,受害块的选取综合考虑回收效率,数据更新频率和擦除次数,兼顾垃圾回收效率与磨损均衡。本方法能够保证GC的效率的同时,降低GC对主机IO的影响。
附图说明
图1:本发明的整体结构;
图2:本发明的垃圾回收产生流程图;
图3:本发明的IO调度流程图;
图4:本发明的垃圾回收与IO调度具体案例。
具体实施方式
为了使本领域技术人员能更好地理解本发明的技术方案,下面将结合附图以及具体实施方式,对本发明进行详细的介绍说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,本发明的技术方案由下面5个模块组成:各个通道的CH_IO队列,可中断垃圾回收IO队列GC_IO,GC缓冲区BufGC,IO调度模块,GC决策模块。
CH_IO保存主机接口发送至各个通道的用户IO请求,即读写请求。GC_IO保存可中断垃圾回收的VB块的有效页读、写请求和VB块的擦除请求。BufGC暂存VB块中的有效页。IO调度模块负责调度各CH_IO队列和GC_IO队列中的请求。GC决策模块负责决定垃圾回收操作方式,此外,也负责不可中断的垃圾回收。
对于每个通道,当有新的写请求到达,其GC决策模块的工作过程如图2所示,具体步骤如下:
步骤1,判断该通道剩余空闲空间比例U是否大于不可中断垃圾回收触发阈值THhard;
当U<THhard时,产生不可中断垃圾回收,执行步骤2;
当U≥THhard时,执行步骤3;
其中,NBfree为空闲的闪存块数,NBtotal为总的闪存块数;
其中,NPvalid为该通道闪存块中的有效页数,NPtotal为该通道闪存块的总页数;
步骤3,判断是否有正在进行的可中断垃圾回收,采用CH_IGC_flag进行标志。若没有,即CH_IGC_flag=0,执行步骤4;否则,执行步骤9。
步骤4,判断该通道剩余空间比例U是否小于可中断垃圾回收触发阈值THsoft;
当U<THsoft时,执行步骤5;
当U≥THsoft时,执行步骤9;
步骤5,判断该通道可中断GC的VB块是否为空。若是,执行步骤6;否则,执行步骤7。
其中,age为此块包含的数据页上次无效化距现在的时间,erase_count为块的擦除次数;
步骤7,判断GC缓冲区BufGC是否有足够空间容纳VB块的有效页。若有足够空间,则执行步骤8;否则,执行步骤9。
步骤8,设置该通道的CH_IGC_flag=1,生成对VB块有效页的读、VB块的擦除请求和有效页的写请求,并加载至GC_IO队列。然后执行步骤9。
步骤9,结束本次垃圾回收决策。
IO调度模块工作过程如下:
如图3所示,如果某一通道的CH_IO不为空或者SSD的GC_IO不为空的时候,进行如下的调度过程:
步骤1,判断该通道的CH_IO队列是否为空。若不为空,调度CH_IO中的请求直到空为止。然后执行步骤2。
步骤2,判断GC_IO队列是否为空。若不为空,执行步骤3;否则,结束本次IO调度。
步骤3,判断GC_IO队列中是否有满足下面2个条件之一的请求:
条件一,属于该通道的读请求或擦除请求;
条件二,写请求且该写请求对应的读请求已经完成。
若存在这样的请求,取出第一个满足条件的请求,执行步骤4;若没有,则结束本次IO调度。
步骤4,根据取出请求的类型进行相应的响应。具体如下:
若是读请求,则将该通道的数据读取到GC缓冲区BufGC中;
若是写请求,则将GC缓冲区BufGC中的数据写入到该通道;
若是擦除请求,则将该通道下对应的VB块擦除,并清除该通道的CH_IGC_flag标志,即设置CH_IGC_flag=0,并设置VB块号为空即VB=-1。
步骤5,跳回到IO调度的步骤1进行执行。
进一步,GC决策过程中不可中断垃圾回收触发阈值THhard和可中断垃圾回收触发阈值THsoft需要满足THhard<THsoft。这两个阈值可以采用固定阈值,比如取THsoft=0.1,THhard=0.01;也可以采用自适应阈值。
进一步,GC缓冲区BufGC既可以利用SSD内部的数据缓冲进行实现,也可以增设一个专门的缓冲用来实现。
实施例1:垃圾回收与IO调度具体案例。
为了对本发明的垃圾回收产生和IO调度进行进一步解释,结合具体的情况进行说明。为了方便描述,所指的页均为物理页,省略了地址转换的过程。假设闪存共有2个通道,每个通道4个块,每个块为4个页,每个通道共有16个页,每个数字表示物理页号,空白方格表示空闲页,横线方格表示有效页,斜线方格表示无效页。R_x_y和W_x_y、分别表示对x通道中物理页y的读和写操作,E_x_y表示对x通道中物理块y的擦除操作。BGC的大小为2个页,THhard=0.3,THsoft=0.35。此外,由于本例子中涉及的块数过少,这里利用每个通道下的空闲页数和总页数来计算通道空闲空间比例U。
垃圾回收与IO调度具体案例如图4所示,图中flag表示CH_IGC_flag。其处理过程如下所示:
A1,通道0,写请求W_0_0到达,U=4/16<0.3,产生不可中断垃圾回收操作。根据公式(1)选择Block1为受害块。将有效页4迁移至通道0的物理页12,擦除Block1。通道1,无CH_IO,无GC_IO,不执行操作。
A2,通道0,W_0_0待写入,U=7/16>0.35,不产生垃圾回收操作,将W_0_0写入至物理页13。通道1,写。W_1_9到达,flag=0,0.3<U=5/16<0.35,产生可中断垃圾回收,通道1的VB=-1,为空,根据公式(2)选择VB为Block0,Block0只有一个无效页,BufGC可容纳,设置VB=0,flag=1。将W_1_9写入物理页11。
A3,通道0无CH_IO,响应GC_IO,GC_IO中没有通道0的读或擦除请求,且写请求未读出,不执行任何操作。通道1无CH_IO,GC_IO中有通道1的读和擦除操作,响应第一个请求R_1_3,将通道1的物理页3读取至BufGC中。
A4,通道0无CH_IO,响应GC_IO,GC_IO中没有请求访问通道0,写请求W_1_3准备就绪,U=6/16>0.35不产生垃圾回收。将BufGC中通道1的物理页3写入通道0的物理页14。通道1,读请求R_1_4到达,响应CH_IO中的R_1_4。
A5,通道0无CH_IO,响应GC_IO,GC_IO中没有通道0的读或擦除请求,且写请求未读出,不执行任何操作。通道1无CH_IO,响应GC_IO中的E_1_0,将通道1的Block0擦除,设置VB=-1,flag=0。
以上所述仅为本发明的优先实施例而已,并不用于限制本发明,对本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同的替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种固态硬盘智能垃圾回收与调度方法,其特征在于,包括各个通道主机IO队列CH_IO,可中断垃圾回收IO队列GC_IO,GC缓冲区BufGC,IO调度模块和GC决策模块;
CH_IO保存主机接口发送至各个通道的用户IO请求,即主机端的读写请求;GC_IO保存可中断垃圾回收的VB块的有效页读/写请求和VB块的擦除请求;BufGC暂存VB块的有效页;IO调度模块负责调度各CH_IO队列和GC_IO队列中的请求;GC决策模块负责决定垃圾回收操作方式,此外,也负责不可中断的垃圾回收;
对于每个通道,当有新的写请求到达,其GC决策模块的工作过程如下:
G1、判断该通道剩余空闲空间比例U是否大于不可中断垃圾回收触发阈值THhard;
当U<THhard时,产生不可中断垃圾回收,执行G2;
当U≥THhard时,执行G3;
其中,NBfree为空闲的闪存块数,NBtotal为总的闪存块数;
其中,NPvalid为该通道闪存块中的有效页数,NPtotal为该通道闪存块的总页数;
G3、判断是否有正在进行的可中断垃圾回收,采用CH_IGC_flag进行标志;若没有,即CH_IGC_flag=0,执行G4;否则,执行G9;
G4、判断该通道剩余空间比例U是否小于可中断垃圾回收触发阈值THsoft;
当U<THsoft时,执行G5;
当U≥THsoft时,执行G9;
G5、判断该通道可中断GC的VB块是否为空;若是,执行G6;否则,执行G7;
其中,age为此块包含的数据页上次无效化距现在的时间,erase_count为块的擦除次数;
G7、判断GC缓冲区BufGC是否有足够空间容纳VB块的有效页;若有足够空间,则执行G8;否则,执行G9;
G8、设置该通道的CH_IGC_flag=1,生成对VB块有效页的读、写请求和对VB块的擦除请求,并加载至GC_IO队列;然后执行G9;
G9、结束本次垃圾回收决策。
2.根据权利要求1所述的一种固态硬盘智能垃圾回收与调度方法,其特征在于,IO调度模块工作过程如下:
如果某个通道的CH_IO不为空或者SSD的GC_IO不为空的时候,进行如下的调度过程:
S1、判断该通道的CH_IO队列是否为空;若不为空,调度CH_IO中的请求直到空为止;然后执行S2;
S2、判断GC_IO队列是否为空;若不为空,执行S3;否则,结束本次IO调度;
S3、判断GC_IO队列中是否有满足下面2个条件之一的请求:
条件一,属于该通道的读请求或擦除请求;
条件二,写请求且该写请求对应的读请求已经完成;
若存在这样的请求,取出第一个请求,执行S4;若没有,则结束本次IO调度;
S4、根据取出请求的类型进行相应的响应;具体如下:
若是读请求,则将该通道的数据读取到GC缓冲区BufGC中;
若是写请求,则将GC缓冲区BufGC中的数据写入到该通道;
若是擦除请求,则将该通道下对应闪存块擦除,并清除该通道的CH_IGC_flag标志,即设置CH_IGC_flag=0;并设置VB块号为空,即设置VB=-1;
S5,跳回到S1进行执行。
3.根据权利要求1所述的一种固态硬盘智能垃圾回收与调度方法,其特征在于,进一步,GC决策过程中不可中断垃圾回收触发阈值THhard和可中断垃圾回收触发阈值THsoft需要满足THhard<THsoft;这两个阈值可以采用固定阈值,也可以采用自适应阈值。
4.根据权利要求1或2或3所述的一种固态硬盘智能垃圾回收与调度方法,其特征在于,进一步,GC缓冲区BufGC既可以利用SSD内部的数据缓冲进行实现,也可以增设一个专门的缓冲用来实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429973.2A CN111708713B (zh) | 2020-05-20 | 2020-05-20 | 一种固态硬盘智能垃圾回收与调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429973.2A CN111708713B (zh) | 2020-05-20 | 2020-05-20 | 一种固态硬盘智能垃圾回收与调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708713A CN111708713A (zh) | 2020-09-25 |
CN111708713B true CN111708713B (zh) | 2022-07-05 |
Family
ID=72537630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429973.2A Active CN111708713B (zh) | 2020-05-20 | 2020-05-20 | 一种固态硬盘智能垃圾回收与调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708713B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433958B (zh) * | 2020-11-17 | 2023-04-14 | 合肥康芯威存储技术有限公司 | 一种固态硬盘的垃圾回收方法、系统、装置及其存储介质 |
CN112631523B (zh) * | 2020-12-29 | 2022-08-30 | 杭州电子科技大学 | 用于固态硬盘垃圾回收受害块的选择方法 |
CN112835534B (zh) * | 2021-02-26 | 2022-08-02 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
CN117769741A (zh) * | 2021-08-30 | 2024-03-26 | 美光科技公司 | 针对按需擦除的写入性能优化 |
CN114238162B (zh) * | 2022-02-21 | 2022-06-10 | 深圳佰维存储科技股份有限公司 | 垃圾回收方法、装置、可读存储介质及电子设备 |
WO2024085681A1 (ko) * | 2022-10-20 | 2024-04-25 | 삼성전자 주식회사 | 가비지 컬렉션 수행 방법 및 이를 지원하는 전자 장치 |
CN116540948B (zh) * | 2023-07-04 | 2023-08-29 | 绿晶半导体科技(北京)有限公司 | 一种固态硬盘垃圾处理方法及其固态硬盘 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN108595112A (zh) * | 2018-03-14 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种优化触发机制的ssd垃圾回收方法及固态硬盘 |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110515859A (zh) * | 2019-07-09 | 2019-11-29 | 杭州电子科技大学 | 一种固态硬盘读写请求并行处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274945B2 (en) * | 2011-12-15 | 2016-03-01 | International Business Machines Corporation | Processing unit reclaiming requests in a solid state memory device |
CN103135945B (zh) * | 2013-03-25 | 2014-11-26 | 中国人民解放军国防科学技术大学 | 用于ssd的多通道动态读写调度方法 |
US10185657B2 (en) * | 2016-04-13 | 2019-01-22 | Nanjing University | Method and system for optimizing deterministic garbage collection in NAND flash storage systems |
-
2020
- 2020-05-20 CN CN202010429973.2A patent/CN111708713B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN108595112A (zh) * | 2018-03-14 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种优化触发机制的ssd垃圾回收方法及固态硬盘 |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110515859A (zh) * | 2019-07-09 | 2019-11-29 | 杭州电子科技大学 | 一种固态硬盘读写请求并行处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111708713A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708713B (zh) | 一种固态硬盘智能垃圾回收与调度方法 | |
US20180356984A1 (en) | Memory system and method of controlling memory system | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
US9384123B2 (en) | Memory system | |
JP4536785B2 (ja) | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
CN100501868C (zh) | 基于NAND Flash存储器文件系统的实现方法 | |
JP5808854B2 (ja) | ストレージシステム及びストレージ方法 | |
JP5983019B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
US20120144097A1 (en) | Memory system and data deleting method | |
KR101581679B1 (ko) | 저장 장치 및 저장 장치의 버퍼 메모리 관리 방법 | |
US8667209B2 (en) | Non-volatile memory access method and system, and non-volatile memory controller | |
US20110058422A1 (en) | Systems and Methods for Circular Buffering Control in a Memory Device | |
JP2010250847A (ja) | 半導体記憶装置 | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
TW202001565A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
US8954646B2 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
JP5579135B2 (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
KR102243923B1 (ko) | 캐쉬를 동반한 효율적인 페이지 컬렉션 매핑을 이용하는 비휘발성 메모리 장치 및 그 동작 방법 | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 | |
KR101353967B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬에 데이터를 읽고 쓰기 위한 데이터 처리 방법 |
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 |