CN111159059A - 一种垃圾回收方法、装置及非易失性的存储设备 - Google Patents
一种垃圾回收方法、装置及非易失性的存储设备 Download PDFInfo
- Publication number
- CN111159059A CN111159059A CN201911382450.0A CN201911382450A CN111159059A CN 111159059 A CN111159059 A CN 111159059A CN 201911382450 A CN201911382450 A CN 201911382450A CN 111159059 A CN111159059 A CN 111159059A
- Authority
- CN
- China
- Prior art keywords
- physical block
- physical
- storage device
- erasing
- data
- 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
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
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例涉及存储设备应用领域,公开了一种垃圾回收方法、装置及非易失性的存储设备。其中所述的垃圾回收方法,包括:在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。通过加入擦除时间间隔作为狙击标准,本发明实施例能够降低写放大,提高存储设备的使用寿命。
Description
技术领域
本发明涉及存储设备应用领域,特别是涉及一种垃圾回收方法、装置及非易失性的存储设备。
背景技术
固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘会包括控制单元和存储单元(FLASH存储芯片以及DRAM存储芯片),在固态硬盘中,已写入数据的物理块(block),不能直接改写,只有先通过垃圾回收才能写入新的数据。
为了减少SSD数据的写放大,现有技术提出通过将垃圾回收任务和磨损均衡任务合二为一的算法,通过综合选取具有最小的有效物理页和最小的擦除次数的物理块作为源物理块,从而降低写放大。
但是,现有技术存在选源不当的问题,从而导致无效的内部数据搬移,使得仍然存在无谓的写放大。
基于此,现有技术亟待改进。
发明内容
本发明实施例旨在提供一种垃圾回收方法、装置及非易失性的存储设备,其能够降低写放大,提高存储设备的使用寿命。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种垃圾回收方法,应用于非易失性的存储设备,所述方法包括:
在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
在一些实施例中,所述每一物理块的擦除时间间隔为该物理块距上一次被擦除的时间,所述方法还包括:
若当前存在被擦除的物理块,则获取全局时间戳,其中,所述全局时间戳为当前时刻距离上一物理块被擦除的时刻的时间间隔;
将当前被擦除的物理块的擦除时间间隔设置为零,并以所述全局时间戳增加其余物理块的擦除时间间隔;
重置所述全局时间戳为零。
在一些实施例中,所述根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块,包括:
确定狙击值函数;
根据所述狙击值函数,计算每一物理块的狙击值;
确定所述狙击值的最大值对应的物理块为源物理块。
在一些实施例中,所述狙击值函数为以擦除时间间隔、有效物理页的比例以及擦除次数为自变量的三元函数,其中,所述狙击值函数与所述擦除时间间隔正相关,与所述有效物理页的比例以及擦除次数负相关。
在一些实施例中,所述狙击值函数为:
其中,i为整数且0≤i≤M-1,M为存储设备的物理块的数量,J_i为物理块i的狙击值,N_i为物理块i中有效物理页的比例,PE_i为物理块i当前的擦除次数,T_i为物理块i的擦除时间间隔,PE_Max为所有物理块的擦除次数中的最大值。
在一些实施例中,所述方法还包括:
获取所述存储设备中每一物理块的热数据以及热数据被复写的速率,其中,所述存储设备的热数据的总量为一个物理块的容量;
根据所述热数据被复写的速率,计算每一物理块中的热数据被复写的比例;
根据每一物理块的热数据被复写的比例,确定每一物理块的有效物理页的比例。
在一些实施例中,所述方法还包括:
在将所述源物理块中的有效物理页搬移到空闲物理块之后,将该空闲物理块作为主机写入点写入主机数据,直至所述空闲物理块被写满。
在一些实施例中,所述非易失性的存储设备为固态硬盘,所述预设数量阈值为2。
第二方面,本发明实施例提供一种垃圾回收装置,所述装置包括:
获取单元,用于在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
选源单元,用于根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
搬移单元,用于获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
第三方面,本发明实施例提供一种非易失性的存储设备,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的垃圾回收方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使非易失性的存储设备能够执行如上所述的垃圾回收方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种垃圾回收方法、装置及非易失性的存储设备。其中所述的垃圾回收方法,包括:在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。通过加入擦除时间间隔作为狙击标准,本发明实施例能够降低写放大,提高存储设备的使用寿命。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是现有技术的垃圾回收的示意图;
图2是现有技术的磨损均衡的示意图;
图3是本发明实施例提供的一种垃圾回收方法的流程示意图;
图4是本发明实施例提供的一种更新物理块的擦除时间间隔的流程图;
图5是图3中的步骤S20的细化流程图;
图6是本发明实施例提供的一种垃圾回收方法的整体流程示意图;
图7是现有技术的第一个时刻的各个物理块的状态示意图;
图8是现有技术的第二个时刻的各个物理块的状态示意图;
图9是现有技术的第三个时刻的各个物理块的状态示意图;
图10是现有技术的第四个时刻的各个物理块的状态示意图;
图11是现有技术的第五个时刻的各个物理块的状态示意图;
图12是现有技术的第六个时刻的各个物理块的状态示意图;
图13是现有技术的第七个时刻的各个物理块的状态示意图;
图14是现有技术的第八个时刻的各个物理块的状态示意图;
图15是本发明实施例提供的第一个时刻的各个物理块的状态示意图;
图16是本发明实施例提供的第二个时刻的各个物理块的状态示意图;
图17是本发明实施例提供的第三个时刻的各个物理块的状态示意图;
图18是本发明实施例提供的第四个时刻的各个物理块的状态示意图;
图19是本发明实施例提供的第五个时刻的各个物理块的状态示意图;
图20是本发明实施例提供的第六个时刻的各个物理块的状态示意图;
图21是本发明实施例提供的第七个时刻的各个物理块的状态示意图;
图22是本发明实施例提供的第八个时刻的各个物理块的状态示意图;
图23是本发明实施例提供的一种垃圾回收装置的结构示意图;
图24是本发明实施例提供的一种固态硬盘的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明实施例中,存储设备包括为具有垃圾回收机制的非易失性的存储设备,非易失性存储器(Non-Volatile Memory,NVM)是所有形式的固态(没有可动部分)存储器的一个一般的术语,它不用定期地刷新存储器内容,包括所有形式的只读存储器(Read-OnlyMemory,ROM),例如:可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存(FlashMemory)以及电池供电的随机存取储存器(Random Access Memory,RAM)。
具体的,本发明实施例以非易失性的存储设备为固态硬盘为例进行阐述。
请参阅图1,图1是现有技术的垃圾回收的示意图;
在固态硬盘中,由于NAND FLASH读写原理,不能对已写入的数据在其存储物理位置上直接改写。需要首先以物理块(Block)为单位执行擦除操作,然后才允许对该块包含的数据页(Page)执行写操作,这使得SSD具有非常低效的就地更新操作的关键弱点。为此,SSD系统通常采用异地更新操作,即将数据复制到缓冲区进行更新,更新后存储至新位置,包含原数据的旧位置标记为“垃圾”,须经由“垃圾回收(Garbage Collection,GC)”才能将一个物理块Block包含的全部物理页Page重新转换为可用空间。
垃圾回收(Garbage Collection,GC)是将NAND FLASH中一个物理块里的有效页的数据复制到另一个空闲块(未被使用的物理块)里,然后把这个物理块完全擦除,其中,当NAND FLASH中任意一个物理页中有数据需要修改时,该物理页会被标识为无效页,该无效页内的数据均成为无效数据,并在其他物理块上申请页空间大小进行数据写入,而未被标记为无效页且已使用的物理页被称为有效页。其中,固态硬盘(Solid State Drives,SSD)的编程/擦除次数(Program/Erase Cycles,PE),简称为擦除次数,决定固态硬盘的寿命。
如图1所示,物理块0,1,2中存在部分有效物理页,那么必须将有效物理页读出来写到物理块N中,然后再擦除物理块0,1,2,即腾出了空闲的闪存空间。被选中的物理块称为源物理块,一般选择有效物理页最少的那个物理块作为源物理块,这样可以降低写放大,写放大定义为闪存写入数据量与主机写入数据量的比值,其中,写放大以写放大系数表征,例如:写放大系数=闪存写入数据量/主机写入数据量,由于闪存写入数据量=主机写入数据量+SSD写入数据量,因此,写放大系数=(主机写入数据量+SSD写入数据量)/主机写入数据量。
请再参阅图2,图2是现有技术的磨损均衡的示意图;
磨损均衡任务目的是使得所有物理块的擦除次数趋于一致,随着主机数据持续写入,物理块的擦除次数(Program/Erase,PE)是整体向上涨的,但是由于主机写入的数据有冷热之分,冷数据为主机很少复写的逻辑区块地址数据(Logical Block Address,LBA),简称LBA数据,这些数据存储在某些物理块上基本不会被垃圾回收任务选为源物理块(因为物理块中有效物理页比较多),所以这些物理块的擦除次数基本不变,然而热数据(主机频繁复写的LBA数据)所在的物理块中有效物理页很快就会降得很低,所以大概率会被垃圾回收任务选为源物理块,数据搬移后被擦除,所以这些物理块的擦除次数上升的很快,渐渐的物理块之间的擦除次数就变得不均衡了。
如图2所示,物理块1的擦除次数与其他物理块的擦除次数较大,磨损均衡任务会将物理块1作为源物理块,将数据搬移后擦除,如此后续物理块1会写入热数据,然后很快被垃圾回收任务选中回收,擦除次数又会快速上去,渐渐赶上其他物理块的擦除次数,达到均衡的效果。
为了满足垃圾回收任务和磨损均衡任务的需求,现有技术提出一种将垃圾回收任务和磨损均衡任务合二为一的算法,垃圾回收算法只考虑选取有效物理页最少的源物理块,而磨损均衡算法只考虑选取擦除次数最少的源物理块。所以最理想的源物理块具有最少的有效物理页和最小的擦除次数,因为有效物理页最少的物理块在垃圾回收过程中产生最小的写放大,擦除次数最小表示该物理已经很长时间没被擦除了,从侧面可以反映出该物理块存储的是冷数据,它被擦除之后存储主机下发的热数据,再之后大概率再被垃圾回收任务选为源物理块,擦除次数继续变大,最终起到磨损均衡的效果。但是实际情况下基本不会存在这么理想的物理块,所以现有技术退而求其次期望找到一个物理块,它具有相对较少的有效物理页和相对较小的擦除次数。
定义N_i表示物理块i中有效物理页的比例(有效页数目/总物理页数),PE_i表示物理块i当前的擦除次数,再定义物理块i的狙击值函数为:
J(i)=F(N_i,PE_i),(公式0)
其中F(N_i,PE_i)是任意具有如下性质的函数:
性质1:F(N_i,PE_i)是以N_i和PE_i为自变量的任意形式的二元函数。
性质2:F(N_i,PE_i)是关于N_i的减函数。也就是说PE_i相等情况下,N_i越小F(N_i,PE_i)越大。
性质3:F(N_i,PE_i)是关于PE_i的减函数。
根据上述选源公式0计算出具有最大狙击值的物理块,又称为狙击物理块,选择其为源物理块进行垃圾回收操作。当各物理块的N差不多时,该算法的性质2可知选中的源物理块具有最小的PE,相反,当各物理块的PE差不多时,根据性质3可知选中的源物理块具有最小的N,当各物理块的N和PE分布都不均匀时,选中物理块具有较少的N和较少的PE,无论如何都是比较理想的结果。
为了方便理解,例举一个选源函数如下:
J(i)=F(N_i,PE_i)=(1–N_i)/N_i*(PE_Max+1-PE_i),(公式1)
PE_Max表示所有物理块的擦除次数中的最大值,以图2中的物理块为例,各物理块的擦除次数不够均衡且有效物理页比例也不是很均匀,物理块1擦除次数最小,物理块4的有效物理页最少。各物理块的有效页比例N_i、擦除次数PE_i以及狙击值J(i)如表1所示:
表1
根据公式1选择物理块4为垃圾回收的源物理块,擦除后它的PE会慢慢增加,即它的狙击值会慢慢降低,狙击值第二大的物理块1很快也会被选为源物理块而达到更好的均衡效果。
但是,现有技术只根据物理块的有效物理页的比例和擦除次数选择源物理块,PE较小的物理块被回收掉后立马写入热数据,写满后(有效页比例较高)又启动综合垃圾回收任务,由于该物理块的PE仍然很小,所以很有可能依然会被选为狙击块而进行垃圾回收,此时存在选源不当的问题,而这搬移出去的是热数据(可能很快会被主机复写),是无效搬移,导致无效的内部数据搬移,例如:冷数据的搬移,使得仍然存在较大的写放大。
基于此,本发明提供一种垃圾回收方法,通过加入擦除时间间隔作为狙击标准,本发明实施例能够降低写放大,提高存储设备的使用寿命。
下面结合附图对该方法进行进一步的阐述。
请参阅图3,图3是本发明实施例提供的一种垃圾回收方法的流程示意图;
如图3所示,该垃圾回收方法,应用于非易失性的存储设备,例如:固态硬盘,所述方法包括:
步骤S10:在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
具体的,所述预设数量阈值为2,当所述存储设备的空闲物理块的数量为1个或0个时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
其中,每一物理块的擦除时间间隔为该物理块距上一次被擦除的时间,所述每一物理块的有效物理页的比例为该物理块中的有效物理页与全部物理页的比例,所述擦除次数为该物理块的编程或擦除次数。
在本发明实施例中,所述方法还包括:更新每一所述物理块的擦除时间间隔。
具体的,请再参阅图4,图4是本发明实施例提供的一种更新物理块的擦除时间间隔的流程图;
如图4所示,该更新每一所述物理块的擦除时间间隔,包括:
步骤S101:若当前存在被擦除的物理块,则获取全局时间戳,其中,所述全局时间戳为当前时刻距离上一物理块被擦除的时刻的时间间隔;
具体的,通过SSD固件维护一个全局时间戳T_Globel,所述全局时间戳为当前时刻距离上一物理块被擦除的时刻的时间间隔,若当前存在被擦除的物理块,则获取所述全局时间戳T_Globel。
步骤S102:将当前被擦除的物理块的擦除时间间隔设置为零,并以所述全局时间戳增加其余物理块的擦除时间间隔;
具体的,若当前存在被擦除的物理块,则将当前被擦除的物理块的擦除时间间隔设置为零,并且将其他物理块的擦除时间间隔加上所述全局时间戳。
步骤S103:重置所述全局时间戳为零。
在更新所述存储设备的全部物理块的时间间隔之后,重置所述全局时间戳为零。
例如:物理块i的擦除时间间隔为T_i,每当有一个物理块,假设为物理块m被擦除时,进行如下操作:
(1)其他所有的物理块的擦除时间间隔T_i=T_i+T_Globel,i满足i≠m;
(2)物理块m的擦除时间间隔T_m=0;
(3)T_Globel=0。
步骤S20:根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
具体的,请再参阅图5,图5是图3中的步骤S20的细化流程图;
如图5所示,该步骤S20:根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块,包括:
步骤S21:确定狙击值函数;
具体的,所述狙击值函数为以擦除时间间隔、有效物理页的比例以及擦除次数为自变量的三元函数,其中,所述狙击值函数与所述擦除时间间隔正相关,与所述有效物理页的比例以及擦除次数负相关。定义所述物理块i的狙击值函数为:
J(i)=F(N_i,PE_i,T_i)(公式2)
其中F(N_i,PE_i,T_i)是任意具有如下性质的函数:
性质1:F(N_i,PE_i,T_i)是以N_i、PE_i和,T_i为自变量的任意形式的三元函数。
性质2:F(N_i,PE_i,T_i)是关于N_i的减函数,也就是说PE_i相等情况下,N_i越小F(N_i,PE_i)越大。
性质3:F(N_i,PE_i,T_i)是关于PE_i的减函数。
性质4:F(N_i,PE_i,T_i)是关于T_i的增函数。
在本发明实施例中,所述狙击值函数具体为:
J(i)=F(N_i,PE_i,T_i)=(1–N_i)/N_i*(PE_Max+1-PE_i)*T_i,即公式3:
其中,i为整数且0≤i≤M-1,M为存储设备的物理块的数量,J_i为物理块i的狙击值,N_i为物理块i中有效物理页的比例,PE_i为物理块i当前的擦除次数,T_i为物理块i的擦除时间间隔,PE_Max为所有物理块的擦除次数中的最大值。
步骤S22:根据所述狙击值函数,计算每一物理块的狙击值;
具体的,根据获取到的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,代入所述狙击值函数,即上述公式3,计算每一物理块的狙击值。
步骤S23:确定所述狙击值的最大值对应的物理块为源物理块。
具体的,根据计算得到的每一物理块的狙击值,确定狙击值最大的物理块,将狙击值最大的物理块作为源物理块,所述源物理块即为垃圾回收任务的狙击物理块。
步骤S30:获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
可以理解的是,所述源物理块在被擦除之前,需要将其有效数据搬移到其他物理块中,具体的,获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并在所述源物理块中的所有有效物理页完全搬移到所述空闲物理块之后,擦除所述源物理块。在本发明实施例中,所述空闲物理块有且仅有一个。
在本发明实施例中,所述方法还包括:
获取所述存储设备中每一物理块的热数据以及热数据被复写的速率,其中,所述存储设备的热数据的总量为一个物理块的容量;
根据所述热数据被复写的速率,计算每一物理块中的热数据被复写的比例;
根据每一物理块的热数据被复写的比例,确定每一物理块的有效物理页的比例。
具体的,所述存储设备的热数据的总量为一个物理块的容量,主机新写入的数据都是热数据,之前写入到物理块的热数据,随着主机复写,每一物理块中的热数据的比例减少,因此,可以获取当前时刻所述每一物理块中的热数据,结合热数据被复写的速率,计算下一时刻每一物理块中的热数据被复写的比例,并确定下一时刻每一物理块的有效物理页的比例,例如:所述存储设备的热数据的总量为C,所述主机以每秒10%*C的速率随机写入之前写入存储设备的热数据,则可以根据当前时刻所述存储设备的每一物理块的热数据,确定下一时刻该物理块的热数据的数量,可以理解的是,由于主机采用的是随机写的方式,导致主机写入的热数据也会被复写,例如:Block4中20%的空闲空间,主机数据是一点点写入的,假设Block 4中20%空间能存储4个LBA数据,而主机写了4个写命令(热数据)进去,每个写命令的逻辑地址都是LBA0,那么纵观该过程这4个热数据有3个被复写,具体举例阐述请参见下文中的各个时刻SSD内部所有物理块的状态变化。
在本发明实施例中,所述方法还包括:
在将所述源物理块中的有效物理页搬移到空闲物理块之后,将该空闲物理块作为主机写入点写入主机数据,直至所述空闲物理块被写满。
具体的,由于源物理块中的有效物理页不可能满足一个空闲物理块的容量,因此当所述源物理块中的有效物理页搬移到空闲物理块之后,该空闲物理块中仍有部分空间,此时主机会将该空闲物理块的剩余空间作为主机写入点写入主机数据,直至所述空闲物理块被写满之后,主机再选择另一个空闲物理块写入主机数据。
在本发明实施例中,所述非易失性的存储设备为固态硬盘,所述预设数量阈值为2。
通过引入擦除时间间隔因素,当物理块距上一次擦除的时间间隔较小时,表示该物理块中存储的是热数据,那么该物理块不被垃圾回收算法立马选中,而是等待一段时间,让主机尽量多复写掉一点数据,使其有效页比例下降后,再将其选为狙击块,此时搬移的数据量会小一点,而且数据的属性是温数据甚至是冷数据,这是相对有效的搬移,从而实现降低写放大。
请再参阅图6,图6是本发明实施例提供的一种垃圾回收方法的整体流程示意图;
如图6所示,该垃圾回收方法,包括:
开始;
步骤S61:判断存储设备的空闲物理块的数量是否大于预设数量阈值;
若否,则证明当前的空闲物理块的数量不足,需要触发垃圾回收任务进行垃圾回收并擦除相应的物理块;若是,则证明当前不需要开启垃圾回收任务,此时结束。
步骤S62:触发垃圾回收任务;
步骤S63:获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
步骤S64:根据狙击值函数,计算每一物理块的狙击值;
步骤S65:确定所述狙击值的最大值对应的物理块为源物理块;
步骤S66:将所述源物理块中的有效数据搬移到空闲物理块;
步骤S67:主机数据写入被搬移的空闲物理块,直至写满;
具体的,由于所述源物理块中的有效数据不能完全占满所述空闲物理块的空间,因此,在主机数据写入时,通过所述被搬移的空闲物理块,即保存有所述源物理块中的有效数据的物理块,接收所述主机数据,直至所述主机数据写满所述被搬移的空闲物理块。
步骤S68:更新每一物理块的擦除时间间隔,并重置全局时间戳为零;
步骤S69:擦除被搬移的空闲物理块;
其中,在擦除被搬移的空闲物理块之后,返回步骤S61:判断存储设备的空闲物理块的数量是否大于预设数量阈值,以确定是否触发下一次的垃圾回收任务。
结束;
下面以非易失性的存储设备为固态硬盘(Solid State Drives,SSD),结合实例具体解释本发明的技术方案与现有技术方案的区别:
假设一个物理块的数据量是C,本实例遵循如下运行规则:
(1)SSD一共有4个物理块,每个物理块的容量为C;
(2)Cold表示冷数据,且主机不会复写冷数据;Hot表示热数据,且主机会以每秒10%*C的速率随机复写之前写入SSD的热数据;invalid表示无效的数据(已被复写);Free表示空闲物理空间,具有100%空闲空间的物理块称为空闲物理块;
(3)当SSD内部的空闲物理块数目小于等于1时,触发垃圾回收任务;
为方便描述,将该时刻之后的写放大作为参考依据,定义该时刻的主机写入数据量和SSD写入数据量都为0;
请参阅图7,图7是现有技术的第一个时刻的各个物理块的状态示意图;
如图7所示,该SSD内部所有物理块的状态如下:
第一个时刻,可以理解的是,第一个时刻为SSD的初始状态,只剩一个空闲物理块,触发垃圾回收任务,现有技术运用公式1选择物理块1为狙击物理块,并将80%*C的冷数据搬移到物理块4(SSD内部写入数据)后擦除物理块1,见图8,图8是现有技术的第二个时刻的各个物理块的状态示意图;
第二个时刻,物理块4还剩下20%的空闲空间。后续主机以每秒10%*C的速率随机复写之前写入SSD的热数据(热数据总量永远是50%*C+50%*C=C(50%*C Block 2和50%*C Block3中的热数据)),即新数据会写入物理块4中,由于主机是随机复写,所以存储了热数据的物理块2、3、4中有效热数据以相同比例减少,假设当物理块4的20%空间被主机热数据填充完毕后,之前已写入的数据被复写掉(减少)的比例是P,那么有50%*C*(1-P)+50%*C*(1-P)+20%*C*(1-P)=C,得出该过程的P=1/6,则物理块2剩余的热数据为50%*C*(1-P)=41.67%*C,物理块3剩余的热数据为50%*C*(1-P)=41.67%*C,物理块4剩余的热数据为20%*C*(1-P)=16.66%*C,物理块4剩余的冷数据为80%*C(主机不复写冷数据,所以不变),各物理块的状态如图9,图9是现有技术的第三个时刻的各个物理块的状态示意图;
第三个时刻,主机写入20%*C热数据后,即物理块4被写满后,又触发垃圾回收任务,根据公式1选择物理块2为狙击对象,并将物理块2中41.67%*C的热数据搬移到物理块1(SSD内部写入数据)后擦除物理块2,如图10,图10是现有技术的第四个时刻的各个物理块的状态示意图;
第四个时刻,后续主机继续随机复写,将58.33%*C的热数据写入到物理块1的空闲空间,假设写完后各物理块中热数据被复写掉的比例为P2,则100%*C*(1-P2)+41.67%*C*(1-P2)+16.66%*C*(1-P2)=C,得出P2=36.85%。则物理块1剩余的热数据为100%*C*(1-P2)=63.15%*C,物理块3剩余的热数据为41.67%*C*(1-P2)=26.32%*C,物理块4剩余的热数据为16.66%*C*(1-P2)=10.53%*C,物理块4剩余的冷数据为80%*C,如图11,图11是现有技术的第五个时刻的各个物理块的状态示意图;
第五个时刻,此时物理块1被写完,所以触发垃圾回收任务,根据公式1物理块1被选为狙击对象,则将63.15%*C的热数据搬移到物理块2(SSD内部写入数据)后擦除物理块1,如图12,图12是现有技术的第六个时刻的各个物理块的状态示意图;
第六个时刻,主机继续复写,将36.85%*C的热数据写入到物理块2的空闲空间,写完后,假设P3为各物理块中热数据被复写的比例,则100%*C*(1-P3)+26.32%*C*(1-P3)+10.53%*C*(1-P3)=C,得出P3=27%,则物理块2剩余的热数据为100%*C*(1-P3)=73%*C,物理块3剩余的热数据为26.32%*C*(1-P3)=19.21%*C,物理块4剩余的热数据为10.53%*C*(1-P3)=7.68%*C,物理块4剩余的冷数据为80%*C,如图13,图13是现有技术的第七个时刻的各个物理块的状态示意图;
第七个时刻,物理块2被写完,触发垃圾回收任务,根据公式1物理块3为狙击对象,将19.21%*C的热数据搬移到物理块1(SSD内部写入数据)后擦除物理块3,如图14,图14是现有技术的第八个时刻的各个物理块的状态示意图;
第八个时刻,主机写入数据量=(20%*C+58.33%*C+36.85%*C)=1.1518*C,SSD写入数据量=(80%*C+41.67%*C+63.15%*C+19.21%*C)=2.0403*C,所以现有技术下整个过程的写放大=(主机写入数据量+SSD写入数据量)/主机写入数据量=(1.1518*C+2.0403*C)/(1.1518*C)=2.77。
可以理解的是,在第四个时刻,物理块1持续写入主机的热数据,写完后,在第五个时刻,物理块1中的热数据(有效页比例)肯定是最多的,那么后续被主机复写(无效)的数据也是最多的,理想的做法是在接下来的一段时间内不要将物理块1作为狙击物理块,等到其有效页比例下降多一点后再对物理块1进行垃圾回收,那么SSD内部搬移的数据量才是较小的,即产生较小的写放大。然而采用现有技术的话在第五个时刻具有最多热数据的物理块1竟然直接被选为狙击物理块,这么多热数据被搬移到其他物理块后,马上又被主机复写无效掉,这其实就是无效的内部数据搬移,造成无谓的写放大。
请再参阅图15,图15是本发明实施例提供的第一个时刻的各个物理块的状态示意图;
如图15所示,PE_i和N_i与图1相同,由于增加了T_i元素,所以假设初始状态下T_1=5s(因为物理块1存储的是冷数据,所以T_1取值大一点比较符合实际),T_2=3s,T_3=3s,T_4=3s;
第一个时刻,也即SSD的初始状态,通过运用公式3计算狙击值,选择物理块1作为狙击物理块,并将80%*C的冷数据搬移到物理块4(SSD内部写入数据)后擦除物理块1(T_1置为0),见图16,图16是本发明实施例提供的第二个时刻的各个物理块的状态示意图;
第二个时刻,物理块4还剩下20%的空闲空间。后续主机以每秒10%*C的速率随机复写之前写入SSD的热数据,经过2s后物理块4的20%被主机热数据填充完毕后,假设之前已写入的数据被复写掉的比例是P,那么50%*C*(1-P)+50%*C*(1-P)+20%*C*(1-P)=C,得出该过程的P=1/6,则物理块2剩余的热数据为50%*C*(1-P)=41.67%*C,物理块3剩余的热数据为50%*C*(1-P)=41.67%*C,物理块4剩余的热数据为20%*C*(1-P)=16.66%*C,物理块4剩余的冷数据为80%*C各物理块的状态如图17,图17是本发明实施例提供的第三个时刻的各个物理块的状态示意图;
第三个时刻,物理块4被填满,再次触发垃圾回收任务,根据公式3选择物理块2为狙击对象,并将物理块2中41.67%*C的热数据搬移到物理块1(SSD内部写入数据)后擦除物理块2(T_i重置为0),如图18,图18是本发明实施例提供的第四个时刻的各个物理块的状态示意图;
第四个时刻,后续主机继续随机复写,经过5.833s将58.33%*C的热数据写入到物理块1的空闲空间,假设写完后各物理块中热数据被复写掉的比例为P2,则100%*C*(1-P2)+41.67%*C*(1-P2)+16.66%*C*(1-P2)=C,得出P2=36.85%。则物理块1剩余的热数据为63.15%*C,物理块3剩余的热数据为41.67%*C*(1-P2)=26.32%*C,物理块4剩余的热数据为16.66%*C*(1-P2)=10.53%*C,物理块4剩余的冷数据为80%*C,如图19,图19是本发明实施例提供的第五个时刻的各个物理块的状态示意图;
结合现有技术的第一个时刻到第四个时刻,可以看出,本申请的技术方案和现有技术的技术方案相比,前四个时刻的狙击物理块相同。
第五个时刻,此刻触发垃圾回收任务后,根据公式3选择物理块3为狙击物理块,将物理块3中26.32%*C的热数据搬移到物理块2后擦除物理块3(T_3=0),如图20,图20是本发明实施例提供的第六个时刻的各个物理块的状态示意图;
第六个时刻,经过7.368s后主机将73.68%*C的热数据写入物理块2中,假设热数据被复写掉的比例是P3,则65.15%*C*(1-P3)+100%*C*(1-P3)+10.53%*C*(1-P3)=C,得出P3=42.42%,则物理块1剩余的热数据为36.36%*C,物理块2剩余的热数据为100%*C*(1-P3)=57.58%*C,物理块4剩余的热数据为10.53%*C*(1-P3)=6.06%*C,物理块4剩余的冷数据为80%*C,如图21,图21是本发明实施例提供的第七个时刻的各个物理块的状态示意图;
第七个时刻,又触发垃圾回收,根据公式3物理块1被选为狙击物理块(可见与现有技术相比,本发明算法将物理块1被狙击的时间点向后推移了很多),将物理块1中36.36%*C的热数据搬移到物理块3后擦除物理块1,如图22,图22是本发明实施例提供的第八个时刻的各个物理块的状态示意图;
第八个时刻,主机写入数据量=(20%*C+58.33%*C+73.68%*C)=1.5201*C,SSD写入数据量=(80%*C+41.67%*C+26.32%*C+36.36%*C)=1.8435*C,所以现有技术下整个过程的写放大=(主机写入数据量+SSD写入数据量)/主机写入数据量=(1.5201*C+1.8435*C)/(1.5201*C)=2.21。可见相比现有技术(公式1),本发明提出的狙击值函数(公式3)能将写放大下降20%,从而能够显著提高存储设备的性能和使用寿命。
请参阅图23,图23是本发明实施例提供的一种垃圾回收装置的结构示意图;
该垃圾回收装置可以应用于非易失性的存储设备,例如:固态硬盘,如图23所示,该垃圾回收装置230包括:
获取单元231,用于在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
选源单元232,用于根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
搬移单元233,用于获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,装置实施例的内容可以引用方法实施例的,在此不赘述。
请参阅图24,图24是本发明实施例提供的一种固态硬盘的结构示意图;
如图24所示,该固态硬盘240,包括:主控制器241以及闪存芯片242,所述主控制器241连接所述闪存芯片242;
具体的,所述主控制器241,包括:一个或多个处理器2411以及存储器2412。其中,图24中以一个处理器2411为例。
处理器2411和存储器2412可以通过总线或者其他方式连接,图24中以通过总线连接为例。
存储器2412作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器2411通过运行存储在存储器2412中的非易失性软件程序、指令以及模块,从而执行本发明实施例的垃圾回收方法的各种功能应用以及数据处理。
存储器2412可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器2412可选包括相对于处理器2411远程设置的存储器,这些远程存储器可以通过网络连接至处理器2411。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述模块存储在所述存储器2412中,当被所述一个或者多个处理器2411执行时,执行本发明实施例中的垃圾回收方法。
具体的,所述闪存芯片242,包括多个晶圆(die),每个晶圆由多个分组(plane)组成,每个分组由多个块(block)组成,即本发明中所述的物理块(block),其中,块是闪存芯片242擦除的基本单位,每个块有多个页(page),即物理页,物理页(page)是闪存芯片242读写的基本单位。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图24中的一个处理器2411,可使得上述一个或多个处理器可执行上述任意方法实施例中的垃圾回收方法,例如,执行上述任意方法实施例中的垃圾回收方法,例如,执行以上描述的图3所示的各个步骤;也可实现图23所示的各个单元的功能。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种垃圾回收方法,应用于非易失性的存储设备,其特征在于,所述方法包括:
在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
2.根据权利要求1所述的方法,其特征在于,所述每一物理块的擦除时间间隔为该物理块距上一次被擦除的时间,所述方法还包括:
若当前存在被擦除的物理块,则获取全局时间戳,其中,所述全局时间戳为当前时刻距离上一物理块被擦除的时刻的时间间隔;
将当前被擦除的物理块的擦除时间间隔设置为零,并以所述全局时间戳增加其余物理块的擦除时间间隔;
重置所述全局时间戳为零。
3.根据权利要求1所述的方法,其特征在于,所述根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块,包括:
确定狙击值函数;
根据所述狙击值函数,计算每一物理块的狙击值;
确定所述狙击值的最大值对应的物理块为源物理块。
4.根据权利要求3所述的方法,其特征在于,所述狙击值函数为以擦除时间间隔、有效物理页的比例以及擦除次数为自变量的三元函数,其中,所述狙击值函数与所述擦除时间间隔正相关,与所述有效物理页的比例以及擦除次数负相关。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述存储设备中每一物理块的热数据以及热数据被复写的速率,其中,所述存储设备的热数据的总量为一个物理块的容量;
根据所述热数据被复写的速率,计算每一物理块中的热数据被复写的比例;
根据每一物理块的热数据被复写的比例,确定每一物理块的热数据的比例。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述源物理块中的有效物理页搬移到空闲物理块之后,将该空闲物理块作为主机写入点写入主机数据,直至所述空闲物理块被写满。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述非易失性的存储设备为固态硬盘,所述预设数量阈值为2。
9.一种垃圾回收装置,其特征在于,所述装置包括:
获取单元,用于在所述存储设备的空闲物理块的数量小于预设数量阈值时,获取所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数;
选源单元,用于根据所述存储设备的每一物理块的擦除时间间隔、有效物理页的比例以及擦除次数,选取源物理块;
搬移单元,用于获取所述源物理块的有效物理页,将所述源物理块中的有效物理页搬移到空闲物理块,并擦除所述源物理块。
10.一种非易失性的存储设备,其特征在于,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的垃圾回收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382450.0A CN111159059B (zh) | 2019-12-27 | 2019-12-27 | 一种垃圾回收方法、装置及非易失性的存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382450.0A CN111159059B (zh) | 2019-12-27 | 2019-12-27 | 一种垃圾回收方法、装置及非易失性的存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159059A true CN111159059A (zh) | 2020-05-15 |
CN111159059B CN111159059B (zh) | 2022-03-04 |
Family
ID=70558669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382450.0A Active CN111159059B (zh) | 2019-12-27 | 2019-12-27 | 一种垃圾回收方法、装置及非易失性的存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159059B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748542B (zh) * | 2020-07-01 | 2021-12-01 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法 |
CN115586874A (zh) * | 2022-11-24 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据块回收方法、装置及电子设备和存储介质 |
CN116610597A (zh) * | 2023-07-20 | 2023-08-18 | 合肥康芯威存储技术有限公司 | 一种存储器件及其垃圾回收的控制方法 |
CN117234962A (zh) * | 2023-11-10 | 2023-12-15 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336744A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其系统 |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
CN108595112A (zh) * | 2018-03-14 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种优化触发机制的ssd垃圾回收方法及固态硬盘 |
CN108628758A (zh) * | 2018-03-14 | 2018-10-09 | 深圳忆联信息系统有限公司 | 一种选择垃圾回收目标块的方法及固态硬盘 |
US20190146679A1 (en) * | 2017-11-16 | 2019-05-16 | Samsung Electronics Co., Ltd. | Method of performing garbage collection, storage device performing the same and computing system including the same |
-
2019
- 2019-12-27 CN CN201911382450.0A patent/CN111159059B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336744A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其系统 |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
US20190146679A1 (en) * | 2017-11-16 | 2019-05-16 | Samsung Electronics Co., Ltd. | Method of performing garbage collection, storage device performing the same and computing system including the same |
CN108595112A (zh) * | 2018-03-14 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种优化触发机制的ssd垃圾回收方法及固态硬盘 |
CN108628758A (zh) * | 2018-03-14 | 2018-10-09 | 深圳忆联信息系统有限公司 | 一种选择垃圾回收目标块的方法及固态硬盘 |
Non-Patent Citations (1)
Title |
---|
SUNG HO KIM等: ""Garbage Collection Technique using Erasure Interval for NAND Flash Memory-based Storage Systems"", 《INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748542B (zh) * | 2020-07-01 | 2021-12-01 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法 |
US11194502B1 (en) | 2020-07-01 | 2021-12-07 | Silicon Motion, Inc. | Electronic device, flash memory controller and method for performing garbage collection operation on flash memory module |
CN115586874A (zh) * | 2022-11-24 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据块回收方法、装置及电子设备和存储介质 |
CN116610597A (zh) * | 2023-07-20 | 2023-08-18 | 合肥康芯威存储技术有限公司 | 一种存储器件及其垃圾回收的控制方法 |
CN116610597B (zh) * | 2023-07-20 | 2023-10-17 | 合肥康芯威存储技术有限公司 | 一种存储器件及其垃圾回收的控制方法 |
CN117234962A (zh) * | 2023-11-10 | 2023-12-15 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
CN117234962B (zh) * | 2023-11-10 | 2024-03-26 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111159059B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960393B2 (en) | Data processing method and apparatus, and flash device | |
CN111159059B (zh) | 一种垃圾回收方法、装置及非易失性的存储设备 | |
CN106874217B (zh) | 存储器系统及控制方法 | |
US10838859B2 (en) | Recency based victim block selection for garbage collection in a solid state device (SSD) | |
CN106874211B (zh) | 存储器系统及非易失性存储器的控制方法 | |
US10409526B2 (en) | Adaptive garbage collection | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
US20170139826A1 (en) | Memory system, memory control device, and memory control method | |
US20150127889A1 (en) | Nonvolatile memory system | |
TW201802683A (zh) | 用於資料儲存裝置的損耗平均方法 | |
Agarwal et al. | A closed-form expression for write amplification in nand flash | |
US10310766B2 (en) | Memory system and data relocating method | |
US20180276123A1 (en) | Memory system and control method | |
CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
JP6167646B2 (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
WO2017123776A1 (en) | System and method of write amplification factor mitigation and flash lifespan extension | |
CN111538680A (zh) | 基于逻辑饱和度选择用于垃圾收集的大容量存储装置流 | |
US20230070976A1 (en) | Memory system and control method | |
JP2013200726A (ja) | 半導体記憶装置 | |
TWI803179B (zh) | 記憶體系統及非揮發性記憶體的控制方法 | |
JP6666405B2 (ja) | メモリシステムおよび制御方法 | |
JP6721765B2 (ja) | メモリシステムおよび制御方法 | |
JP6552701B2 (ja) | メモリシステムおよび制御方法 |
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 |