CN110502451A - 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质 - Google Patents

固态硬盘垃圾回收方法、装置、固态硬盘和存储介质 Download PDF

Info

Publication number
CN110502451A
CN110502451A CN201910621817.3A CN201910621817A CN110502451A CN 110502451 A CN110502451 A CN 110502451A CN 201910621817 A CN201910621817 A CN 201910621817A CN 110502451 A CN110502451 A CN 110502451A
Authority
CN
China
Prior art keywords
data
degree grade
logical address
hard disk
solid state
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
Application number
CN201910621817.3A
Other languages
English (en)
Other versions
CN110502451B (zh
Inventor
李创锋
陈柏轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN TIGO SEMICONDUCTOR CO Ltd
Original Assignee
SHENZHEN TIGO SEMICONDUCTOR CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN TIGO SEMICONDUCTOR CO Ltd filed Critical SHENZHEN TIGO SEMICONDUCTOR CO Ltd
Priority to CN201910621817.3A priority Critical patent/CN110502451B/zh
Publication of CN110502451A publication Critical patent/CN110502451A/zh
Application granted granted Critical
Publication of CN110502451B publication Critical patent/CN110502451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

本申请涉及一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质。所述方法包括:确定垃圾回收每一次待搬运的有效数据的逻辑地址,累计搬运次数;若搬运次数大于预设搬运次数阈值,乱度等级加一,并对搬运次数清零;若任一乱度等级大于预设乱度等级阈值,将预设写入乱度等级记录表中的各乱度等级均等比例缩小;将逻辑地址区域划分成多个群组;对于每个群组,当有效数据的数据量达到预设数据量,将群组中的有效数据写入与该群组对应的数据块。本申请实施例可以有效减少垃圾回收的次数,并且减少垃圾回收的总数据量,可以提升NAND闪存的操作效率,进而可以提升固态硬盘的工作效率,延长固态硬盘的使用寿命。

Description

固态硬盘垃圾回收方法、装置、固态硬盘和存储介质
技术领域
本申请涉及固态硬盘技术领域,尤其涉及一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质。
背景技术
固态硬盘SSD(Solid State Drive),是用固态电子存储芯片阵列制成的硬盘。SSD由控制单元和存储单元NAND FLASH芯片组成。
存储单元NAND FLASH芯片中设置有固件,即:“固化在硬件中的软件”,用于引导固态硬盘工作。SSD固件(Firmware,FW)中的算法包括:映射表(Mapping Table)、垃圾回收(Garbage Collection)、磨损平衡(Wear Leveling,WL)等。
然而,固件(Firmware)算法的写入方式对整个固态硬盘的读写效率和固态硬盘的寿命有极大的影响,如果固件算法的操作效率低,则整个固态硬盘的工作效率会降低,且固态硬盘的寿命也会受到影响。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质。
第一方面,本申请提供了一种固态硬盘垃圾回收方法,所述方法包括:
确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
可选地,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
可选地,所述方法还包括:
对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
可选地,还包括:
在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,将待搬运的有效数据暂存在内存中;
所述将所述群组中的有效数据写入与该群组对应的数据块,包括:
将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
第二方面,本申请提供了一种固态硬盘垃圾回收装置,所述装置包括:
确定累计模块,用于确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
增加清零模块,用于若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
缩小模块,用于若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
划分模块,用于按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
写入模块,用于对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
可选地,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
可选地,所述装置还包括:
分割模块,用于对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
建立模块,用于在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
确定模块,用于针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
可选地,在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,还包括:
暂存模块,用于将待搬运的有效数据暂存在内存中;
所述写入模块,还用于:
将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
第三方面,本申请提供了一种固态硬盘,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面任一项所述方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法的步骤。
本申请实施例通过首先确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;再按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;最后可以对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
本申请实施例能够根据乱度等级,对逻辑地址区域划分群组,使得每个群组的乱度等级不同,并且能够在有效数据的数据量达到预设数据量时,才将所述群组中的有效数据写入与该群组对应的数据块中,实现不同乱度等级的群组中的有效数据对应不同数据块,可以有效减少垃圾回收的次数,并且减少垃圾回收的总数据量,可以提升NAND闪存的操作效率,进而可以提升固态硬盘的工作效率,延长固态硬盘的使用寿命。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种固态硬盘垃圾回收方法的流程示意图;
图2为本发明实施例中另一种固态硬盘垃圾回收方法的流程示意图;
图3为本发明实施例中一种固态硬盘垃圾回收方法的原理示意图;
图4为本发明实施例中一种固态硬盘垃圾回收方法的原理示意图;
图5为本发明实施例中一种固态硬盘垃圾回收方法的原理示意图;
图6为本发明实施例中一种固态硬盘垃圾回收方法的原理示意图;
图7为本发明实施例中一种固态硬盘垃圾回收方法的原理示意图;
图8本发明实施例中数据写入装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,在一个实施例中,提供了一种固态硬盘垃圾回收方法。参照图1,该固态硬盘垃圾回收方法具体包括如下步骤:
步骤S101,确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,可以将待搬运的有效数据暂存在内存中。
步骤S102,若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
步骤S103,若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
步骤S104,按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
步骤S105,对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
在本发明实施例中,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
在该步骤中,可以将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
本申请实施例通过首先确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;再按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;最后可以对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
本申请实施例能够根据乱度等级,对逻辑地址区域划分群组,使得每个群组的乱度等级不同,并且能够在有效数据的数据量达到预设数据量时,才将所述群组中的有效数据写入与该群组对应的数据块中,实现不同乱度等级的群组中的有效数据对应不同数据块,可以有效减少垃圾回收的次数,并且减少垃圾回收的总数据量,可以提升NAND闪存的操作效率,进而可以提升固态硬盘的工作效率,延长固态硬盘的使用寿命。
上述固态硬盘垃圾回收方法,利用固态硬盘垃圾回收方法独权的技术特征进行推导,实现能够解决背景技术中所提出技术问题的有益效果。
图1为一个实施例中固态硬盘垃圾回收方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本发明的又一实施例中,在步骤S101之前,如图2所示,还包括以下步骤:
步骤S201,对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
步骤S202,在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
步骤S203,针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
图2为一个实施例中固态硬盘垃圾回收方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了便于理解,本申请还提供了一种实际应用中的实施例。
1.如图3所示,设NAND Flash控制器一次可写入到Nand flash的最大资料量为U,以U的某倍数(1……N)为U1;
2.设用户可擦写储存的Nand Flash储存装置的逻辑数据总量为D1(固态硬盘大小);
3.如图4所示,将整个储存装置的数据总量D1,以连续的逻辑地址(LogicalAddress)方式,使用U1的数据大小为一个单位,加以切割,并编码(切割后,不足一个U1单位,视同一个U1大小的单位,加以编码);
4.每个由D1,以U1大小为单位,切割出来的编号,在系统内存中,都会有一个对应的变更累计记录表和一个写入乱度等级记录表;
5.如图5所示,在垃圾回收(GC)过程中,搬运重整Nand flash内数据时,会记录GC每一笔所搬运的数据的逻辑地址(Logical Address),并累计到对应的逻辑地址的“逻辑数据变更累计记录表”中;
5.如图6所示,当某一个编号的“逻辑数据变更累计记录表”的内容数字,累计到大于某一个数字时,将会增加对应”写入乱度等级记录表”的码号的级数,并对在“逻辑数据变更累计记录表”中的此编号的内容进行归零;
6.当“写入乱度等级记录表”的某一个编码的等级数大于某一数目时,将整个“写入乱度等级记录表”的等级数字,以某等比例缩小;
7.如图7所示,NAND Flash控制器会依“写入乱度等级记录表”的等级,将写入的逻辑地址范围,依某个乱度等级大小的范围,分为数个写入的群组;
8.每一笔由用户写入的数据,会先放到内存中,等到某一个写入的群组累计到U的大小,再一次写入到NAND Flash特定数据块(Block)中;
9.任一次,一次写入NAND Flash的群组,都必需写完特定分配给此群组的Block后,才能写入到下一群,新分配给群组的Block。
在本发明的又一实施例中,还提供一种固态硬盘垃圾回收装置,如图8所示,所述装置包括:
确定累计模块11,用于确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
增加清零模块12,用于若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
缩小模块13,用于若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
划分模块14,用于按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
写入模块15,用于对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
在本发明的又一实施例中,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
在本发明的又一实施例中,所述装置还包括:
分割模块,用于对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
建立模块,用于在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
确定模块,用于针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
在本发明的又一实施例中,在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,还包括:
暂存模块,用于将待搬运的有效数据暂存在内存中;
所述写入模块,还用于:
将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
在本发明的又一实施例中,还提供一种固态硬盘,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现方法实施例所述的方法的步骤。
在本发明的又一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方法实施例所述的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种固态硬盘垃圾回收方法,其特征在于,所述方法包括:
确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
2.根据权利要求1所述的固态硬盘垃圾回收方法,其特征在于,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
3.根据权利要求2所述的固态硬盘垃圾回收方法,其特征在于,所述方法还包括:
对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
4.根据权利要求1所述的固态硬盘垃圾回收方法,其特征在于,还包括:
在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,将待搬运的有效数据暂存在内存中;
所述将所述群组中的有效数据写入与该群组对应的数据块,包括:
将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
5.一种固态硬盘垃圾回收装置,其特征在于,所述装置包括:
确定累计模块,用于确定垃圾回收每一次待搬运的有效数据的逻辑地址,在预设逻辑数据变更记录表内与所述逻辑地址所在的逻辑地址区域对应的逻辑数据记录单元中累计搬运次数;
增加清零模块,用于若所述搬运次数大于预设搬运次数阈值,在预设写入乱度等级记录表内与所述逻辑地址区域对应的乱度等级记录单元中的乱度等级加一,并对所述逻辑数据记录单元中的搬运次数清零;
缩小模块,用于若任一乱度等级记录单元中的乱度等级大于预设乱度等级阈值,将所述预设写入乱度等级记录表中的各乱度等级均等比例缩小;
划分模块,用于按照缩小后的乱度等级,将所述逻辑地址区域划分成多个群组;
写入模块,用于对于每个群组,当根据逻辑地址确定的有效数据的数据量达到预设数据量,将所述群组中的有效数据写入与该群组对应的数据块。
6.根据权利要求5所述的固态硬盘垃圾回收装置,其特征在于,所述预设数据量为一次可写入至闪存的最大数据量,所述逻辑地址区域中的逻辑数据总量为预设数据量的N倍,N>0。
7.根据权利要求6所述的固态硬盘垃圾回收装置,其特征在于,所述装置还包括:
分割模块,用于对闪存按照逻辑地址区域的逻辑数据总量进行分割,得到多个逻辑地址区域;
建立模块,用于在内存中建立预设逻辑数据变更记录表及预设写入乱度等级记录表;
确定模块,用于针对每个所述逻辑地址区域,在预设逻辑数据变更记录表中确定对应的逻辑数据记录单元,在预设写入乱度等级记录表中确定对应的写入乱度记录单元。
8.根据权利要求5所述的固态硬盘垃圾回收装置,其特征在于,在确定垃圾回收每一次搬运的有效数据的逻辑地址之前,还包括:
暂存模块,用于将待搬运的有效数据暂存在内存中;
所述写入模块,还用于:
将所述群组中的有效数据由内存读出并写入闪存中与该群组对应的数据块。
9.一种固态硬盘,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN201910621817.3A 2019-07-10 2019-07-10 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质 Active CN110502451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910621817.3A CN110502451B (zh) 2019-07-10 2019-07-10 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910621817.3A CN110502451B (zh) 2019-07-10 2019-07-10 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质

Publications (2)

Publication Number Publication Date
CN110502451A true CN110502451A (zh) 2019-11-26
CN110502451B CN110502451B (zh) 2023-01-06

Family

ID=68585883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910621817.3A Active CN110502451B (zh) 2019-07-10 2019-07-10 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质

Country Status (1)

Country Link
CN (1) CN110502451B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177022A (zh) * 2019-12-26 2020-05-19 广东浪潮大数据研究有限公司 一种特征提取方法、装置、设备及存储介质
CN111722807A (zh) * 2020-06-20 2020-09-29 苏州浪潮智能科技有限公司 固态硬盘垃圾回收方法、装置、计算机设备及存储介质
CN115065664A (zh) * 2022-06-17 2022-09-16 北京天融信网络安全技术有限公司 一种互联网协议地址的回收方法、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609358A (zh) * 2012-01-12 2012-07-25 记忆科技(深圳)有限公司 聚集静态数据的方法及其固态硬盘
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
US8521972B1 (en) * 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
WO2016101145A1 (zh) * 2014-12-23 2016-06-30 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储系统
CN106649132A (zh) * 2016-12-29 2017-05-10 记忆科技(深圳)有限公司 一种固态硬盘垃圾回收的方法
CN106681935A (zh) * 2016-12-29 2017-05-17 郑州云海信息技术有限公司 一种固态硬盘垃圾回收方法
CN108776614A (zh) * 2018-05-03 2018-11-09 华为技术有限公司 存储块的回收方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521972B1 (en) * 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
CN102609358A (zh) * 2012-01-12 2012-07-25 记忆科技(深圳)有限公司 聚集静态数据的方法及其固态硬盘
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
US20160179386A1 (en) * 2014-12-17 2016-06-23 Violin Memory, Inc. Adaptive garbage collection
WO2016101145A1 (zh) * 2014-12-23 2016-06-30 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储系统
CN106649132A (zh) * 2016-12-29 2017-05-10 记忆科技(深圳)有限公司 一种固态硬盘垃圾回收的方法
CN106681935A (zh) * 2016-12-29 2017-05-17 郑州云海信息技术有限公司 一种固态硬盘垃圾回收方法
CN108776614A (zh) * 2018-05-03 2018-11-09 华为技术有限公司 存储块的回收方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
方才华,刘景宁,童薇,高阳,雷霞,蒋瑜: "全程优化的固态硬盘垃圾回收方法", 《计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177022A (zh) * 2019-12-26 2020-05-19 广东浪潮大数据研究有限公司 一种特征提取方法、装置、设备及存储介质
CN111722807A (zh) * 2020-06-20 2020-09-29 苏州浪潮智能科技有限公司 固态硬盘垃圾回收方法、装置、计算机设备及存储介质
CN111722807B (zh) * 2020-06-20 2023-01-06 苏州浪潮智能科技有限公司 固态硬盘垃圾回收方法、装置、计算机设备及存储介质
CN115065664A (zh) * 2022-06-17 2022-09-16 北京天融信网络安全技术有限公司 一种互联网协议地址的回收方法、电子设备及存储介质
CN115065664B (zh) * 2022-06-17 2024-01-26 北京天融信网络安全技术有限公司 一种互联网协议地址的回收方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN110502451B (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN100419714C (zh) 闪存存取方法、闪存文件系统的块替换方法及其管理装置
CN101236789B (zh) 检测静态数据区、磨损均衡和合并数据单元的方法和装置
CN102243613B (zh) 管理固态存储器中垃圾收集的系统和方法
CN110502451A (zh) 固态硬盘垃圾回收方法、装置、固态硬盘和存储介质
CN106681934B (zh) 一种存储设备垃圾回收的方法及设备
US7272696B2 (en) Dynamic volume management
TWI587136B (zh) 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
CN1902599B (zh) 将数据更新到非易失性存储器系统和操作该系统的方法
US6895486B2 (en) Linear object management for a range of flash memory
CN103577338B (zh) 一种回收垃圾数据的方法及存储设备
US20070233941A1 (en) Method for initializing and operating flash memory file system and computer-readable medium storing related program
US20100185805A1 (en) Method And Apparatus For Performing Wear Leveling In Memory
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
CN101739352A (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
CN1645516B (zh) 用于闪速存储器的数据恢复设备和方法
CN102508788A (zh) Ssd及ssd垃圾回收方法和装置
CN1973334A (zh) 具有控制数据管理的非易失性存储器和方法
CN101634967B (zh) 用于闪存的区块管理方法、储存系统与控制器
US10061696B2 (en) Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
TWI399642B (zh) 具區塊管理之非揮發性記憶體
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
KR100624973B1 (ko) 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)
CN109669889B (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN101894077B (zh) 一种数据存储方法及系统
CN113010091B (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