CN109597584A - 一种固态硬盘垃圾回收管理方法、装置及设备 - Google Patents

一种固态硬盘垃圾回收管理方法、装置及设备 Download PDF

Info

Publication number
CN109597584A
CN109597584A CN201811474693.2A CN201811474693A CN109597584A CN 109597584 A CN109597584 A CN 109597584A CN 201811474693 A CN201811474693 A CN 201811474693A CN 109597584 A CN109597584 A CN 109597584A
Authority
CN
China
Prior art keywords
hard disk
solid state
state hard
block
block number
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
CN201811474693.2A
Other languages
English (en)
Other versions
CN109597584B (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201811474693.2A priority Critical patent/CN109597584B/zh
Publication of CN109597584A publication Critical patent/CN109597584A/zh
Application granted granted Critical
Publication of CN109597584B publication Critical patent/CN109597584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Of Solid Wastes (AREA)

Abstract

本发明公开了一种固态硬盘垃圾回收管理方法,包括:在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;检测是否满足固态硬盘预设的GC触发条件以及区块个数是否为0,若满足GC触发条件且区块个数不为0,从GC链表上选取区块进行垃圾回收处理;若满足GC触发条件且区块个数为0,从dirty链表上选取区块进行垃圾回收处理。本发明能够提前感知GC链表上的区块存在情况,在满足触发条件且GC链表上的区块个数为0时,直接从GC链表以外的链表获取区块,垃圾回收的效率更高;本发明还公开了一种基于上述方法的装置、设备及计算机可读存储介质。

Description

一种固态硬盘垃圾回收管理方法、装置及设备
技术领域
本发明涉及固态硬盘垃圾回收技术领域,特别是涉及一种固态硬盘垃圾回收管理方法。本发明还涉及一种固态硬盘垃圾回收管理装置、设备及计算机可读存储介质。
背景技术
SSD(Solid State Drives,固态硬盘)的垃圾回收(Garbage Collection,GC)其实就相当于碎片整理,它是固态硬盘自身主控芯片的自动处理机制,不依赖于操作系统。由于SSD擦除是以block(区块)为单位,所以垃圾回收也是以block为单位进行回收的,即将block中的所有有效page搬移到一个新的block中,并将旧的block进行擦除,这样做的好处一方面减少寻址负担,另一方面留出更多的空闲block。所以垃圾回收对固态硬盘的性能和寿命都起到至关重要的作用。
举例来说,在SSD内,每个block有768个page,每个page写入时间约为3.8ms,假如Block内page全部有效,即block内所有的page都需要搬移,搬移时间约为768*3.8ms=2918ms,再计入读取block及程序上下文执行时间,回收时间约为3s。
现有的方案,GC触发条件主要有:空闲block太少、有block出现flash读写错误等,GC分配时处于考虑固态硬盘擦写次数的原因,尽量平均的为各个block分配写入数据,来尽量保证各个block磨损平衡。GC的流程大体分三步:挑选SRC(source,源)/DST(destination,目的)block,SRC block中的有效页会往DST block搬移,搬移完成更新SRC/DST block状态,其中,SRC block为需要进行垃圾回收的block。SSR内包含GC链表和dirty链表,GC链表内包含有固态硬盘内存在异常操作的区块,这些区块为需要进行垃圾处理的区块,这些区块完成垃圾处理后,会从GC链表内移除;dirty链表内包含的是存有数据、且没有异常操作的区块。
在目前的垃圾回收过程中,当满足GC的触发条件时,首先会尝试从GC链表上取,如果取不到,再到其他链表上取,但是GC链表内可能存在不包含区块的可能,此时即影响了整个GC处理的效率。
因此,如何提供一种垃圾处理效率高的固态硬盘垃圾回收管理方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种固态硬盘垃圾回收管理方法,能够提前感知GC链表上的区块存在情况,在满足触发条件且GC链表上的区块个数为0时,直接从GC链表以外的链表获取区块,垃圾回收的效率更高;本发明的另一目的是提供一种基于上述方法的装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供了一种固态硬盘垃圾回收管理方法,包括:
在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理。
优选地,所述检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理的过程包括:
检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;
若满足,检测当前所述区块个数是否为0;若为0,则从所述dirty链表上选取区块进行垃圾回收处理;若不为0,从所述GC链表上选取区块进行垃圾回收处理。
优选地,所述GC触发条件包括所述区块个数为0;
所述检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理的过程包括:
实时检测所述区块个数是否为0,若所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;
若所述区块个数为0,检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,从dirty链表上选取区块进行垃圾回收处理;若不满足,返回检测所述区块个数是否为0。
优选地,所述固态硬盘预设的其他GC触发条件包括:固态硬盘内空闲区块的个数小于预设空闲块阈值。
优选地,所述异常操作包括block写错误、GC停止、强制GC等待。
为解决上述技术问题,本发明还提供了一种固态硬盘垃圾回收管理装置,包括:
个数统计模块,用于在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
检测模块,用于检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,触发第一垃圾处理模块;若满足所述GC触发条件且所述区块个数为0,触发第二垃圾处理模块;
所述第一垃圾处理模块,用于从所述GC链表上选取区块进行垃圾回收处理;
所述第二垃圾处理模块,用于从dirty链表上选取区块进行垃圾回收处理。
优选地,所述检测模块具体包括:
第一GC检测单元,用于检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;若满足,触发第一个数检测单元;
所述第一个数检测单元,用于检测当前所述区块个数是否为0;若不为0,触发所述第一垃圾处理模块;若为0,触发所述第二垃圾处理模块。
优选地,所述GC触发条件包括所述区块个数为0;
所述检测模块具体包括:
第二个数检测单元,用于实时检测所述区块个数是否为0,若所述区块个数不为0,触发所述第一垃圾处理模块;若所述区块个数为0,触发第二GC检测单元;
所述第二GC检测单元,用于检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,触发所述第二垃圾处理模块;若不满足,返回触发所述第二个数检测单元。
为解决上述技术问题,本发明还提供了一种固态硬盘垃圾回收管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上任一项所述的固态硬盘垃圾回收管理方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任一项所述的固态硬盘垃圾回收管理方法的步骤。
本发明提供了一种固态硬盘垃圾回收管理方法,在固态硬盘上电后,实时统计固态硬盘中GC链表上的区块个数;检测是否满足固态硬盘预设的GC触发条件以及GC链表上的区块个数是否为0,若满足触发条件且GC链表上的区块个数不为0,则直接从GC链表内获取区块进行垃圾回收;若满足触发条件且GC链表上的区块个数为0,则不从GC链表上获取区块,而是直接从dirty链表内获取区块进行垃圾回收。可见,本发明通过统计并检测GC链表上的区块个数,来提前感知GC链表上的区块存在情况,使得在满足GC的触发条件但GC链表内没有区块的情况下,不会再首先尝试从GC链表内获取区块,而是直接从dirty链表内获取区块,从而减少了无效操作的进行,提高了垃圾处理时挑选SRC block的效率,进而提高固态硬盘垃圾处理的整体效率。本发明还提供了一种基于上述方法的装置、设备及计算机可读存储介质。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种固态硬盘垃圾回收管理方法的过程的流程图;
图2为本发明提供的一种固态硬盘垃圾回收管理方法的具体实施例的过程的流程图;
图3为本发明提供的一种固态硬盘垃圾回收管理方法的另一种具体实施例的过程的流程图;
图4为本发明提供的一种固态硬盘垃圾回收管理装置的结构示意图。
具体实施方式
本发明的核心是提供一种固态硬盘垃圾回收管理方法,能够提前感知GC链表上的区块存在情况,在满足触发条件且GC链表上的区块个数为0时,直接从GC链表以外的链表获取区块,垃圾回收的效率更高;本发明的另一核心是提供一种基于上述方法的装置、设备及计算机可读存储介质。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种固态硬盘垃圾回收管理方法,参见图1所示,图1为本发明提供的一种固态硬盘垃圾回收管理方法的过程的流程图;该方法包括:
步骤s1:在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
即在固态硬盘的主控芯片内添加对GC链表内区块个数的实时统计功能。其中,GC链表内包含的区块是存在异常操作需要进行垃圾处理的区块,当固态硬盘内发生异常操作后,发生异常操作的区块则会添加至GC链表内,GC链表统计的区块个数加1;反之,当对GC链表中的某个区块进行垃圾回收后,则该区块则从GC链表内移除,GC链表统计的区块个数减1;如此维护SSD运行过程中的GC链表block块计数操作。其中,每次SSD上电时,均需要创建恢复SSD中的各个链表同时初始化GC链表上block块计数。
本发明通过增加GC链表内的区块个数统计,使得能够实时对GC链表上区块的存在情况进行感知,使得后续在进行垃圾回收时,能够依据GC链表上的区块存在情况来选择合适的链表获取SRC block(即源区块,或者说垃圾回收的对象区块),如此提高SSD的GC效率。
步骤s2:检测是否满足固态硬盘预设的GC触发条件以及区块个数是否为0;若不满足GC触发条件,则重复本步骤操作;若满足GC触发条件且区块个数不为0,进入步骤s3;若满足GC触发条件且区块个数为0,进入步骤s4;
目前的GC过程中,由于不知道GC链表上的区块个数,因此只要触发GC流程,即会首先从GC链表内获取源区块,但是GC链表可能为空,故此时从GC链表内获取源区块的操作即为无效操作,之后还要继续从其他链表内获取源区块,这就降低了垃圾回收的速度。因此,本发明对GC链表上的区块个数进行了提前感知,在GC流程触发时,若GC链表为空,则直接从dirty链表内获取,避免从空的GC链表内获取区块的无效操作,从而提高垃圾回收的速度和效率。
步骤s3:从GC链表上选取区块进行垃圾回收处理;
步骤s4:从dirty链表上选取区块进行垃圾回收处理。
本发明提供了一种固态硬盘垃圾回收管理方法,在固态硬盘上电后,实时统计固态硬盘中GC链表上的区块个数;检测是否满足固态硬盘预设的GC触发条件以及GC链表上的区块个数是否为0,若满足触发条件且GC链表上的区块个数不为0,则直接从GC链表内获取区块进行垃圾回收;若满足触发条件且GC链表上的区块个数为0,则不从GC链表上获取区块,而是直接从dirty链表内获取区块进行垃圾回收。可见,本发明通过统计并检测GC链表上的区块个数,来提前感知GC链表上的区块存在情况,使得在满足GC的触发条件但GC链表内没有区块的情况下,不会再首先尝试从GC链表内获取区块,而是直接从dirty链表内获取区块,从而减少了无效操作的进行,提高了垃圾处理时挑选SRC block的效率,进而提高固态硬盘垃圾处理的整体效率。
其中,上述提到的导致区块加入GC链表的异常操作,包括block写错误、GC停止、强制GC等待等;当然还可包含其他异常操作,本发明对此不作限定。
在一种优选实施例中,参见图2所示,图2为本发明提供的一种固态硬盘垃圾回收管理方法的具体实施例的过程的流程图;步骤s2~s4的过程包括:
步骤s211:检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;若满足,进入步骤s212;
步骤s212:检测当前区块个数是否为0;若为0,则进入步骤s4;若不为0,进入步骤s3。
即在本实施例中,首先检测是否满足GC触发条件,该检测可以是实时进行的或者是周期性进行的,还可以是在满足特定时间条件时进行检测,本发明对此不做限定。之后,当满足GC触发条件时,表明此时应该进行垃圾回收处理,因此为了提高选择SRC block(即待进行垃圾回收的源区块)的效率,本实施例此时判断GC链表内区块个数是否为0,若为0,则直接从dirty链表内获取区块,若不为0,则从GC链表内获取区块。这种方式相比目前的GC控制方式来说,仅是在原有的GC触发检测之后,增加了判断区块个数是否为0的操作,因此在实现本发明目的的基础上,尽可能减少了对原有GC流程程序的修改,方便了工作人员实现本发明时的程序构建工作。
在另一优选实施例中,GC触发条件包括区块个数为0;
参见图3所示,图3为本发明提供的一种固态硬盘垃圾回收管理方法的另一种具体实施例的过程的流程图;步骤s2~s4的过程包括:
步骤s221:实时检测区块个数是否为0,若区块个数不为0,进入步骤s3;若区块个数为0,进入步骤s222;
步骤s222:检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,进入步骤s4;若不满足,返回步骤s221。
可以理解的是,理论上GC链表内的区块均是需要进行垃圾回收的对象,因此一旦GC链表内出现区块,则应该对其进行垃圾回收,但是目前采用的GC触发条件,通常无法及时的对GC链表内的区块进行垃圾回收。而本实施例通过在GC触发条件内增加区块个数为0,使得一旦GC链表内的区块个数不为0,即可立即触发GC处理,增加了垃圾回收的及时性。
其中,固态硬盘预设的其他GC触发条件包括:固态硬盘内空闲区块的个数小于预设空闲块阈值。当然,还可以包含其他触发条件,本发明对此不做限定。
本发明还提供了一种固态硬盘垃圾回收管理装置,参见图4所示,图4为本发明提供的一种固态硬盘垃圾回收管理装置的结构示意图。该装置包括:
个数统计模块1,用于在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
检测模块2,用于检测是否满足固态硬盘预设的GC触发条件以及区块个数是否为0,若满足GC触发条件且区块个数不为0,触发第一垃圾处理模块3;若满足GC触发条件且区块个数为0,触发第二垃圾处理模块4;
第一垃圾处理模块3,用于从GC链表上选取区块进行垃圾回收处理;
第二垃圾处理模块4,用于从dirty链表上选取区块进行垃圾回收处理。
作为优选地,检测模块2具体包括:
第一GC检测单元,用于检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;若满足,触发第一个数检测单元;
第一个数检测单元,用于检测当前区块个数是否为0;若不为0,触发第一垃圾处理模块3;若为0,触发第二垃圾处理模块4。
作为优选地,GC触发条件包括区块个数为0;
检测模块2具体包括:
第二个数检测单元,用于实时检测区块个数是否为0,若区块个数不为0,触发第一垃圾处理模块3;若区块个数为0,触发第二GC检测单元;
第二GC检测单元,用于检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,触发第二垃圾处理模块4;若不满足,返回触发第二个数检测单元。
本发明提供的固态硬盘垃圾回收管理装置是用于实现上述固态硬盘垃圾回收管理方法的。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明还提供了一种固态硬盘垃圾回收管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如以上任一项的固态硬盘垃圾回收管理方法的步骤。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上任一项的固态硬盘垃圾回收管理方法的步骤。
以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种固态硬盘垃圾回收管理方法,其特征在于,包括:
在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理。
2.根据权利要求1所述的固态硬盘垃圾回收管理方法,其特征在于,所述检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理的过程包括:
检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;
若满足,检测当前所述区块个数是否为0;若为0,则从所述dirty链表上选取区块进行垃圾回收处理;若不为0,从所述GC链表上选取区块进行垃圾回收处理。
3.根据权利要求1所述的固态硬盘垃圾回收管理方法,其特征在于,所述GC触发条件包括所述区块个数为0;
所述检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;若满足所述GC触发条件且所述区块个数为0,从dirty链表上选取区块进行垃圾回收处理的过程包括:
实时检测所述区块个数是否为0,若所述区块个数不为0,从所述GC链表上选取区块进行垃圾回收处理;
若所述区块个数为0,检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,从dirty链表上选取区块进行垃圾回收处理;若不满足,返回检测所述区块个数是否为0。
4.根据权利要求3所述的固态硬盘垃圾回收管理方法,其特征在于,所述固态硬盘预设的其他GC触发条件包括:固态硬盘内空闲区块的个数小于预设空闲块阈值。
5.根据权利要求1所述的固态硬盘垃圾回收管理方法,其特征在于,所述异常操作包括block写错误、GC停止、强制GC等待。
6.一种固态硬盘垃圾回收管理装置,其特征在于,包括:
个数统计模块,用于在固态硬盘上电后,实时统计固态硬盘中垃圾回收GC链表上的区块个数并保存;
检测模块,用于检测是否满足固态硬盘预设的GC触发条件以及所述区块个数是否为0,若满足所述GC触发条件且所述区块个数不为0,触发第一垃圾处理模块;若满足所述GC触发条件且所述区块个数为0,触发第二垃圾处理模块;
所述第一垃圾处理模块,用于从所述GC链表上选取区块进行垃圾回收处理;
所述第二垃圾处理模块,用于从dirty链表上选取区块进行垃圾回收处理。
7.根据权利要求6所述的固态硬盘垃圾回收管理装置,其特征在于,所述检测模块具体包括:
第一GC检测单元,用于检测是否满足固态硬盘预设的GC触发条件;若不满足,重复上述检测;若满足,触发第一个数检测单元;
所述第一个数检测单元,用于检测当前所述区块个数是否为0;若不为0,触发所述第一垃圾处理模块;若为0,触发所述第二垃圾处理模块。
8.根据权利要求6所述的固态硬盘垃圾回收管理装置,其特征在于,所述GC触发条件包括所述区块个数为0;
所述检测模块具体包括:
第二个数检测单元,用于实时检测所述区块个数是否为0,若所述区块个数不为0,触发所述第一垃圾处理模块;若所述区块个数为0,触发第二GC检测单元;
所述第二GC检测单元,用于检测当前是否满足固态硬盘预设的其他GC触发条件,若满足,触发所述第二垃圾处理模块;若不满足,返回触发所述第二个数检测单元。
9.一种固态硬盘垃圾回收管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的固态硬盘垃圾回收管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的固态硬盘垃圾回收管理方法的步骤。
CN201811474693.2A 2018-12-04 2018-12-04 一种固态硬盘垃圾回收管理方法、装置及设备 Active CN109597584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811474693.2A CN109597584B (zh) 2018-12-04 2018-12-04 一种固态硬盘垃圾回收管理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811474693.2A CN109597584B (zh) 2018-12-04 2018-12-04 一种固态硬盘垃圾回收管理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN109597584A true CN109597584A (zh) 2019-04-09
CN109597584B CN109597584B (zh) 2022-03-08

Family

ID=65960897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811474693.2A Active CN109597584B (zh) 2018-12-04 2018-12-04 一种固态硬盘垃圾回收管理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109597584B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659217A (zh) * 2019-08-30 2020-01-07 苏州浪潮智能科技有限公司 一种固态硬盘的垃圾回收方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004706A (zh) * 2009-09-01 2011-04-06 联芯科技有限公司 一种基于ftl的闪存擦写掉电保护方法
CN102929699A (zh) * 2012-10-10 2013-02-13 武汉钢铁(集团)公司 一种Java虚拟机的垃圾回收方法及其监测系统
CN104424110A (zh) * 2013-09-10 2015-03-18 Lsi公司 固态驱动器的主动回收
CN105138277A (zh) * 2015-07-23 2015-12-09 厦门大学 一种固态盘阵列的缓存管理方法
CN106598878A (zh) * 2016-12-27 2017-04-26 湖南国科微电子股份有限公司 一种固态硬盘冷热数据分离方法
US20170153847A1 (en) * 2015-11-30 2017-06-01 Freescale Semiconductor, Inc. System and method for removing hash table entries
CN107797772A (zh) * 2017-11-27 2018-03-13 郑州云海信息技术有限公司 一种基于闪存介质的垃圾回收系统及方法
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息系统有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN108089822A (zh) * 2017-12-20 2018-05-29 北京京存技术有限公司 存储芯片的管理方法、系统、设备及存储介质
CN108829355A (zh) * 2018-06-28 2018-11-16 新华三技术有限公司 一种垃圾回收方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004706A (zh) * 2009-09-01 2011-04-06 联芯科技有限公司 一种基于ftl的闪存擦写掉电保护方法
CN102929699A (zh) * 2012-10-10 2013-02-13 武汉钢铁(集团)公司 一种Java虚拟机的垃圾回收方法及其监测系统
CN104424110A (zh) * 2013-09-10 2015-03-18 Lsi公司 固态驱动器的主动回收
CN105138277A (zh) * 2015-07-23 2015-12-09 厦门大学 一种固态盘阵列的缓存管理方法
US20170153847A1 (en) * 2015-11-30 2017-06-01 Freescale Semiconductor, Inc. System and method for removing hash table entries
CN106598878A (zh) * 2016-12-27 2017-04-26 湖南国科微电子股份有限公司 一种固态硬盘冷热数据分离方法
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息系统有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN107797772A (zh) * 2017-11-27 2018-03-13 郑州云海信息技术有限公司 一种基于闪存介质的垃圾回收系统及方法
CN108089822A (zh) * 2017-12-20 2018-05-29 北京京存技术有限公司 存储芯片的管理方法、系统、设备及存储介质
CN108829355A (zh) * 2018-06-28 2018-11-16 新华三技术有限公司 一种垃圾回收方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Y. DU等: "Enhancing SSD Performance with LDPC-aware Garbage Collection", 《2017 IEEE 6TH NON-VOLATILE MEMORY SYSTEMS AND APPLICATIONS SYMPOSIUM (NVMSA)》 *
岳勇: "面向固态硬盘的闪存控制器研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
杜晔华: "基于数据相关性的多片闪存系统垃圾回收器", 《华中科技大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659217A (zh) * 2019-08-30 2020-01-07 苏州浪潮智能科技有限公司 一种固态硬盘的垃圾回收方法、装置、设备及存储介质
CN110659217B (zh) * 2019-08-30 2021-10-15 苏州浪潮智能科技有限公司 一种固态硬盘的垃圾回收方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109597584B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
US9436390B2 (en) Virtual disk drive system and method
US20120317337A1 (en) Managing data placement on flash-based storage by use
JP4782825B2 (ja) データの保存先を複数のテープ記録装置から選択するための装置、方法及びプログラム
US20190369892A1 (en) Method and Apparatus for Facilitating a Trim Process Using Auxiliary Tables
WO2012106362A2 (en) Apparatus, system, and method for managing eviction of data
CN1532682A (zh) 外部存储装置及外部存储装置的数据恢复方法与程序
CN100456253C (zh) 存储系统的高速缓存数据的保护方法
JP2003345632A5 (zh)
US8935304B2 (en) Efficient garbage collection in a compressed journal file
US20150227544A1 (en) Efficient data storage utilization and recycling by gradual data degradation
CN105224474A (zh) 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
US11016889B1 (en) Storage device with enhanced time to ready performance
CN109597584A (zh) 一种固态硬盘垃圾回收管理方法、装置及设备
CN1991776A (zh) 存储系统的高速缓存的数据的保护方法
CN108009101A (zh) 一种固态硬盘异常掉电处理方法、系统、介质及设备
US10168944B2 (en) Information processing apparatus and method executed by an information processing apparatus
CN101464790B (zh) 命令排程装置及其方法
JP2008269408A (ja) データ検索システム
EP2385458A2 (en) Virtual disk drive system and method

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