CN110018794A - 一种垃圾回收方法、装置、存储系统及可读存储介质 - Google Patents

一种垃圾回收方法、装置、存储系统及可读存储介质 Download PDF

Info

Publication number
CN110018794A
CN110018794A CN201910290035.6A CN201910290035A CN110018794A CN 110018794 A CN110018794 A CN 110018794A CN 201910290035 A CN201910290035 A CN 201910290035A CN 110018794 A CN110018794 A CN 110018794A
Authority
CN
China
Prior art keywords
block
information
space rate
block information
recycled
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.)
Withdrawn
Application number
CN201910290035.6A
Other languages
English (en)
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910290035.6A priority Critical patent/CN110018794A/zh
Publication of CN110018794A publication Critical patent/CN110018794A/zh
Withdrawn legal-status Critical Current

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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种垃圾回收方法,包括:设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息;当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;根据待回收BLOCK信息执行垃圾回收操作;该方法在进行垃圾回收时,可以直接从具有BLOCK信息的预设无效空间率范围较高的集合中选取待回收BLOCK信息即可,不需要对整体BLOCK信息进行遍历,提高了选择BLOCK的效率,也就提高了垃圾回收的效率,最终稳定阵列的性能表现;本发明还公开了一种垃圾回收装置、存储系统及计算机可读存储介质,具有上述有益效果。

Description

一种垃圾回收方法、装置、存储系统及可读存储介质
技术领域
本发明涉及存储技术领域,特别涉及一种垃圾回收方法、装置、存储系统及计算机可读存储介质。
背景技术
目前,全闪阵列存储产品成为存储领域的主打产品。在全闪阵列中,对写业务的处理往往采用重定向写的方式,这样就需要垃圾回收将包含无效数据的空间回收回来,才能为新的写业务提供空间。当前,全闪阵列在进行垃圾回收的过程中,需要将所有BLOCK包含的无效数据量的信息保存在内存中,在选择BLOCK进行回收时,遍历所有的BLOCK,找到包含无效空间最多的BLOCK,其中,BLOCK为全闪阵列进行物理空间分配和回收的基本单位。
但是,阵列的容量非常大,BLOCK的个数就也非常多,所以遍历所有BLOCK需要较长时间,效率就较低,也导致垃圾回收效率较低。而且因为垃圾回收一直在进行,会很频繁的去选择BLOCK,这样CPU大量时间用在遍历选择BLOCK,对CPU造成浪费。
发明内容
本发明的目的是提供一种垃圾回收方法、装置、存储系统及计算机可读存储介质,能够提高选择BLOCK的效率,也就提高了垃圾回收的效率,最终提高和稳定阵列的性能表现。
为解决上述技术问题,本发明提供一种垃圾回收方法,包括:
设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应预设无效空间率范围的BLOCK信息;
当接收到垃圾回收请求时,按照所述预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;
根据所述待回收BLOCK信息执行垃圾回收操作。
可选地,所述设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应无效空间率范围的BLOCK,包括:
设置所述预设数量的BLOCK集合;其中,每个所述BLOCK集合具有对应预设无效空间率范围;
将各BLOCK的无效空间率与各所述预设无效空间率范围进行比较,确定各所述BLOCK所属的BLOCK集合,并将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合。
可选地,所述将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合,包括:
将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,所述链表中的BLOCK信息按照加入的时间顺序依次存储。
可选地,所述将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合,包括:
将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,所述链表中的BLOCK信息按照无效空间率从高到低的顺序依次存储。
可选地,当存在BLOCK中无效空间率发生变化的目标BLOCK时,还包括:
根据所述目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;
根据更新后的无效空间率,确定所述目标BLOCK是否仍属于所述原始BLOCK集合中;
若不属于,则将所述目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
本发明还提供一种垃圾回收装置,包括:
集合模块,用于设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应预设无效空间率范围的BLOCK信息;
待回收BLOCK确定模块,用于当接收到垃圾回收请求时,按照所述预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;
垃圾回收模块,用于根据所述待回收BLOCK信息执行垃圾回收操作。
可选地,所述集合模块,包括:
集合设置单元,用于设置所述预设数量的BLOCK集合;其中,每个所述BLOCK集合具有对应预设无效空间率范围;
集合组成单元,用于将各BLOCK的无效空间率与各所述预设无效空间率范围进行比较,确定各所述BLOCK所属的BLOCK集合,并将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合。
可选地,所述集合组成单元,包括:
更新子单元,用于当存在BLOCK中无效空间率发生变化的目标BLOCK时,根据所述目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;根据更新后的无效空间率,确定所述目标BLOCK是否仍属于所述原始BLOCK集合中;若不属于,则将所述目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
本发明还提供一种存储系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述所述的垃圾回收方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的垃圾回收方法的步骤。
本发明所提供的一种垃圾回收方法,包括:设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息;当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;根据待回收BLOCK信息执行垃圾回收操作。
可见,该方法通过设置具有不同预设无效空间率范围的BLOCK集合来存储具有相应无效空间率的各个BLOCK信息,在进行垃圾回收时,可以直接从具有BLOCK信息的预设无效空间率范围较高的集合中选取待回收BLOCK信息即可,不需要对整体BLOCK信息进行遍历,避免了相关技术中需要整体遍历每个BLOCK才能够确定最终待回收BLOCK的方式,进而提高选择待回收BLOCK的效率,也就提高了垃圾回收的效率,最终提高和稳定阵列的性能表现;本发明还提供了一种垃圾回收装置、存储系统及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的垃圾回收方法的流程图;
图2为本发明实施例所提供的垃圾回收装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于垃圾回收的空间回收效率对全闪阵列的功能和性能就非常重要,而选择合适的BLOCK进行回收和选择BLOCK的效率,对垃圾回收的效率的影响非常大,选择的BLOCK包含的无效数据越多,回收该BLOCK的效率就越高,反之,包含的无效数据越少,则需要迁移的数据越多,修改的元数据也越多,回收该BLOCK的效率就越低,且会长时间占用CPU,会导致CPU不能及时处理其它事情,浪费了CPU的能力。当前,全闪阵列在进行垃圾回收的过程中,需要将所有BLOCK包含的无效数据量的信息保存在内存中,在选择BLOCK进行回收时,遍历所有的BLOCK,找到包含无效空间最多的BLOCK作为待回收BLOCK。但是,阵列的容量非常大,BLOCK的个数就也非常多,所以遍历所有BLOCK需要较长时间,效率就较低,也导致垃圾回收效率较低。本实施例中通过设置具有不同预设无效空间率范围的BLOCK集合来提高待回收BLOCK确定效率,进而提高垃圾回收的效率,最终提高和稳定阵列的性能表现。具体请参考图1,图1为本发明实施例所提供的垃圾回收方法的流程图;该方法可以包括:
S101:设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息。
需要说明的是,本实施例中并不限定预设数量的数值,例如预设数量可以是5,对应设置5个BLOCK集合。进而本实施例中也不限定每个BLOCK集合对应的预设无效空间率范围的具体数值,只要保证每个BLOCK集合对应的预设无效空间率范围不同即可。本实施例中每个BLOCK集合分别用来容纳不同无效空间率范围的BLOCK信息。例如设置5个BLOCK集合,每个BLOCK集合对应的预设无效空间率范围分别是:第一BLOCK集合对应的预设无效空间率范围为100%~80%;第二BLOCK集合对应的预设无效空间率范围为80%~60%;第三BLOCK集合对应的预设无效空间率范围为60%~40%;第四BLOCK集合对应的预设无效空间率范围为40%~20%;第五BLOCK集合对应的预设无效空间率范围为20%~0%。
本实施例中并不对BLOCK信息的具体内容进行限定,例如BLOCK信息可以包含该BLOCK对应的无效空间率信息;也可以包含该BLOCK所在的BLOCK集合的信息;也可以是包含该BLOCK对应的ID信息;也可以是保存自己相关信息的位置信息;当然,也可以直接是包含无效空间率信息的BLOCK本身。
本实施例中并不限定各个BLOCK集合存储对应预设无效空间率范围的BLOCK信息的方式,例如各个BLOCK集合内BLOCK信息的组织方式可以是链表,也可以是其它。当其是链表时,链表内的BLOCK信息可以按照先加入的靠前后加入的靠后来组织,也可以用其它方式来组织(如按照BLOCK信息中的无效空间率大小进行排序,链表从前往后对应的无效空间率从大到小)。
本实施例中并不限定各个BLOCK集合形成的方式,具体的,设置预设数量的BLOCK集合;其中,每个BLOCK集合具有对应预设无效空间率范围;将各BLOCK的无效空间率与各预设无效空间率范围进行比较,确定各BLOCK所属的BLOCK集合,并将各BLOCK对应的BLOCK信息放入所属的BLOCK集合。
具体的,根据每个BLOCK对应的无效空间率将其放入到对应的预设无效空间率范围的BLOCK集合中。本实施例中并不限定集合中各个BLOCK信息的具体存储形式。具体的,可以是将各BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,链表中的BLOCK信息按照加入的时间顺序依次存储。也可以是将各BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,链表中的BLOCK信息按照无效空间率从高到低的顺序依次存储。用户可以根据实际阵列中BLOCK的情况进行选择。
进一步,当存在BLOCK中无效空间率发生变化的目标BLOCK时,需要根据变化后的新的无效空间率从新确定该BLOCK所属的BLOCK集合,即可以将目标BLOCK从原始BLOCK集合中取出,重新确定其对应的BLOCK集合。当然也可以是根据更新后的新的无效空间率来判定该目标BLOCK是否需要移动到其他BLOCK集合。即当存在BLOCK中无效空间率发生变化的目标BLOCK时,本实施例中还可以包括:
根据目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;
根据更新后的无效空间率,确定目标BLOCK是否仍属于原始BLOCK集合中;
若不属于,则将目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
若属于,则可以不移动。
本实施例中并不限定是否需要改变该目标BLOCK在BLOCK集合中的位置信息,此时可以根据用户所选择的BLOCK集合中BLOCK信息的存储方式进行确定。例如当BLOCK集合中BLOCK信息不是按照无效空间率大小进行排序的情况下,则可以不移动该目标BLOCK对应的BLOCK信息。当BLOCK集合中BLOCK信息是按照无效空间率大小进行排序的情况下,则需要根据该目标BLOCK的无效空间率数值确定是否需要移动该目标BLOCK对应的BLOCK信息。具体的,在BLOCK中的无效数据量发生变化也就是BLOCK中无效空间率发送变化时,依据无效空间率发生变化的目标BLOCK的ID信息,找到该目标BLOCK的信息保存位置,更新该目标BLOCK的无效空间率信息,同时判断是否需要转移到其它的BLOCK集合,若需要转移,则转移到其它相应的BLOCK集合,并确定自己在新BLOCK集合中的位置(例如集合用链表来组织,可以将BLOCK加入链表的尾部);如果不需要转移,则判断是否需要更新在该BLOCK集合中的位置(例如位置不变,也可以是根据无效空间率大小发生位置改变)。
S102:当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息。
本实施例中在垃圾回收选择待回收BLOCK信息时,优先从包含预设无效空间率范围最高的BLOCK的集合中选择BLOCK(例如集合用链表来组织,从链表头来获取BLOCK),然后对该BLOCK进行垃圾回收。即可以是在当前存在BLOCK信息全部BLOCK集合中选择预设无效空间率范围最高的BLOCK集合中选取所需数量的待回收BLOCK信息。此时若该BLOCK集合中待回收的BLOCK信息数量不足时,可以按照顺序从比该BLOCK集合对应的无效空间率范围小的BLOCK集合继续选取,依次类推,直到选取所需数量的待回收BLOCK信息为止。可以理解为,在垃圾回收选择BLOCK进行回收时,依据所含BLOCK的无效空间率的高低,依次到这些BLOCK集合中去获取BLOCK,这样无需遍历所有BLOCK,提高选择BLOCK的效率,也提高垃圾回收的效率,最终可以提高和稳定阵列的性能表现。
本实施例中并不限定从BLOCK集合中选择待回收BLOCK信息的方式。可以是在某一个BLOCK集合中随机选取所需数量的待回收BLOCK信息。此时若该BLOCK集合中待回收的BLOCK信息数量不足时,可以按照顺序从比该BLOCK集合对应的无效空间率范围小的BLOCK集合继续选取,依次类推,直到选取所需数量的待回收BLOCK信息为止。当然一般情况下从一个BLOCK集合中选取就可以满足需求。当然,也可以是在某一个BLOCK集合中按照无效空间率从高到低选取所需数量的待回收BLOCK信息。用户可以根据实际情况进行选择。例如,当阵列中BLOCK数量非常多或者是每个BLOCK集合中对应的BLOCK信息比较多,此时,为了提高待回收BLOCK对象的选取效率,可以不进行遍历,直接从当前存在BLOCK信息的预设无效空间率范围最大的BLOCK集合中选取所需的BLOCK对象。此时可以直接在链表中按照时间顺序依次存储BLOCK信息。当阵列中BLOCK数量不是特别多,或者是BLOCK集合数量很多,即BLOCK集合对应的无效空间率范围划分比较详细的情况下,每个BLOCK集合中对应的BLOCK信息数量不会多,此时可以按照无效空间率从高到低选取所需数量的待回收BLOCK信息。
S103:根据待回收BLOCK信息执行垃圾回收操作。
本实施例中并不对垃圾回收操作进行限定,可以参考相关技术。
基于上述技术方案,本发明实施例提供的垃圾回收方法,该方法依据BLOCK的无效空间率的高低,即BLOCK包含无效空间的多少,将BLOCK分到不同的BLOCK集合,在垃圾回收选择BLOCK进行回收时,依据所含BLOCK的无效空间率的高低,依次到这些BLOCK集合中去获取BLOCK,这样无需遍历所有BLOCK,提高选择BLOCK的效率,也提高垃圾回收的效率,最终可以提高和稳定阵列的性能表现。
下面对本发明实施例提供的垃圾回收装置、存储系统及计算机可读存储介质进行介绍,下文描述的垃圾回收装置、存储系统及计算机可读存储介质与上文描述的垃圾回收方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的垃圾回收装置的结构框图;该装置可以包括:
集合模块100,用于设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息;
待回收BLOCK确定模块200,用于当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;
垃圾回收模块300,用于根据待回收BLOCK信息执行垃圾回收操作。
基于上述实施例,集合模块100可以包括:
集合设置单元,用于设置预设数量的BLOCK集合;其中,每个BLOCK集合具有对应预设无效空间率范围;
集合组成单元,用于将各BLOCK的无效空间率与各预设无效空间率范围进行比较,确定各BLOCK所属的BLOCK集合,并将各BLOCK对应的BLOCK信息放入所属的BLOCK集合。
基于上述实施例,集合组成单元可以包括:
更新子单元,用于当存在BLOCK中无效空间率发生变化的目标BLOCK时,根据目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;根据更新后的无效空间率,确定目标BLOCK是否仍属于原始BLOCK集合中;若不属于,则将目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
基于上述实施例,集合组成单元可以包括:
第一存储子单元,用于将各BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,链表中的BLOCK信息按照加入的时间顺序依次存储。
基于上述实施例,集合组成单元可以包括:
第二存储子单元,用于将各BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,链表中的BLOCK信息按照无效空间率从高到低的顺序依次存储。
需要说明的是,基于上述任意实施例,装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括FPGA,CPLD,单片机,处理器等。该可编程逻辑器件可以是在存储系统中。
基于上述技术方案,本发明实施例提供的垃圾回收装置,依据BLOCK的无效空间率的高低,即BLOCK包含无效空间的多少,将BLOCK分为不同的BLOCK集合,随着BLOCK的无效空间率的变化,BLOCK可以在不同集合间移动;在垃圾回收选择BLOCK进行回收时,依据所含BLOCK的无效空间率的高低,依次到这些BLOCK集合中去获取BLOCK,这样无需遍历所有BLOCK,提高选择BLOCK的效率,也提高垃圾回收的效率,最终可以提高和稳定阵列的性能表现。提高全闪存储阵列产品的竞争力。
本发明实施例还提供一种存储系统,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任意实施例所述的垃圾回收方法的步骤。如处理器用于执行计算机程序时实现设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息;当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;根据待回收BLOCK信息执行垃圾回收操作。
本实施例中并不对存储系统的具体结构进行限定。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例所述的垃圾回收方法的步骤。如计算机程序被处理器执行时实现设置预设数量的BLOCK集合,每个BLOCK集合存储对应预设无效空间率范围的BLOCK信息;当接收到垃圾回收请求时,按照预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;根据待回收BLOCK信息执行垃圾回收操作。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、存储系统及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种垃圾回收方法、装置、存储系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种垃圾回收方法,其特征在于,包括:
设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应预设无效空间率范围的BLOCK信息;
当接收到垃圾回收请求时,按照所述预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;
根据所述待回收BLOCK信息执行垃圾回收操作。
2.根据权利要求1所述的垃圾回收方法,其特征在于,所述设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应无效空间率范围的BLOCK,包括:
设置所述预设数量的BLOCK集合;其中,每个所述BLOCK集合具有对应预设无效空间率范围;
将各BLOCK的无效空间率与各所述预设无效空间率范围进行比较,确定各所述BLOCK所属的BLOCK集合,并将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合。
3.根据权利要求2所述的垃圾回收方法,其特征在于,所述将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合,包括:
将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,所述链表中的BLOCK信息按照加入的时间顺序依次存储。
4.根据权利要求2所述的垃圾回收方法,其特征在于,所述将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合,包括:
将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合中的链表内;其中,所述链表中的BLOCK信息按照无效空间率从高到低的顺序依次存储。
5.根据权利要求2所述的垃圾回收方法,其特征在于,当存在BLOCK中无效空间率发生变化的目标BLOCK时,还包括:
根据所述目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;
根据更新后的无效空间率,确定所述目标BLOCK是否仍属于所述原始BLOCK集合中;
若不属于,则将所述目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
6.一种垃圾回收装置,其特征在于,包括:
集合模块,用于设置预设数量的BLOCK集合,每个所述BLOCK集合存储对应预设无效空间率范围的BLOCK信息;
待回收BLOCK确定模块,用于当接收到垃圾回收请求时,按照所述预设无效空间率范围从高到低的顺序从BLOCK集合中选择待回收BLOCK信息;
垃圾回收模块,用于根据所述待回收BLOCK信息执行垃圾回收操作。
7.根据权利要求6所述的垃圾回收装置,其特征在于,所述集合模块,包括:
集合设置单元,用于设置所述预设数量的BLOCK集合;其中,每个所述BLOCK集合具有对应预设无效空间率范围;
集合组成单元,用于将各BLOCK的无效空间率与各所述预设无效空间率范围进行比较,确定各所述BLOCK所属的BLOCK集合,并将各所述BLOCK对应的BLOCK信息放入所属的BLOCK集合。
8.根据权利要求7所述的垃圾回收装置,其特征在于,所述集合组成单元,包括:
更新子单元,用于当存在BLOCK中无效空间率发生变化的目标BLOCK时,根据所述目标BLOCK的ID信息,从所属的原始BLOCK集合中确定对应BLOCK信息,并更新对应的无效空间率;根据更新后的无效空间率,确定所述目标BLOCK是否仍属于所述原始BLOCK集合中;若不属于,则将所述目标BLOCK对应的BLOCK信息转移到所属的BLOCK集合中。
9.一种存储系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的垃圾回收方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的垃圾回收方法的步骤。
CN201910290035.6A 2019-04-11 2019-04-11 一种垃圾回收方法、装置、存储系统及可读存储介质 Withdrawn CN110018794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910290035.6A CN110018794A (zh) 2019-04-11 2019-04-11 一种垃圾回收方法、装置、存储系统及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910290035.6A CN110018794A (zh) 2019-04-11 2019-04-11 一种垃圾回收方法、装置、存储系统及可读存储介质

Publications (1)

Publication Number Publication Date
CN110018794A true CN110018794A (zh) 2019-07-16

Family

ID=67191063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910290035.6A Withdrawn CN110018794A (zh) 2019-04-11 2019-04-11 一种垃圾回收方法、装置、存储系统及可读存储介质

Country Status (1)

Country Link
CN (1) CN110018794A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158598A (zh) * 2019-12-29 2020-05-15 北京浪潮数据技术有限公司 一种全闪磁盘阵列的垃圾回收方法、装置、设备及介质
CN111813347A (zh) * 2020-07-24 2020-10-23 济南浪潮数据技术有限公司 垃圾回收空间管理方法、装置及计算机可读存储介质
CN115826886A (zh) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 追加写模式的数据垃圾回收方法、装置、系统及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158598A (zh) * 2019-12-29 2020-05-15 北京浪潮数据技术有限公司 一种全闪磁盘阵列的垃圾回收方法、装置、设备及介质
CN111158598B (zh) * 2019-12-29 2022-03-22 北京浪潮数据技术有限公司 一种全闪磁盘阵列的垃圾回收方法、装置、设备及介质
CN111813347A (zh) * 2020-07-24 2020-10-23 济南浪潮数据技术有限公司 垃圾回收空间管理方法、装置及计算机可读存储介质
CN111813347B (zh) * 2020-07-24 2022-06-07 济南浪潮数据技术有限公司 垃圾回收空间管理方法、装置及计算机可读存储介质
CN115826886A (zh) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 追加写模式的数据垃圾回收方法、装置、系统及存储介质

Similar Documents

Publication Publication Date Title
CN110018794A (zh) 一种垃圾回收方法、装置、存储系统及可读存储介质
CN105493051B (zh) 自适应高速缓冲存储器控制器
CN109783004A (zh) 数据储存装置与存储器装置的数据处理方法
CN103678160B (zh) 一种存储数据的方法和装置
CN103995855B (zh) 存储数据的方法和装置
CN103425663B (zh) 嵌入式系统数据库创建表、存记录、删记录的方法和装置
CN108829344A (zh) 数据存储方法、装置及存储介质
CN104503703B (zh) 缓存的处理方法和装置
CN104798063B (zh) 存储设备和主机设备
CN103164490B (zh) 一种不固定长度数据的高效存储实现方法和装置
CN108572792A (zh) 数据存储方法、装置、电子设备及计算机可读存储介质
CN106557272B (zh) 一种高效的传感器历史数据归档方法
CN105511806B (zh) 处理写请求的方法和移动终端
CN103440207A (zh) 缓存方法及装置
CN110321301A (zh) 一种数据处理的方法及装置
CN108984130A (zh) 一种分布式存储的缓存读取方法及其装置
CN104750432B (zh) 一种数据存储方法及装置
CN106354890B (zh) 一种基于N-ary树结构的随机访问的文件系统的实现方法
CN110109886A (zh) 分布式文件系统的文件存储方法及分布式文件系统
CN108073522A (zh) 可用于数据储存装置的垃圾搜集方法
CN107203330A (zh) 一种面向读写数据流的闪存数据分布方法
CN107291405A (zh) 一种NorFlash的数据管理方法与装置
CN106339324A (zh) 一种选择垃圾回收块的方法及装置
CN103890856A (zh) 支持内存储数据结构的可移位存储器
CN109960471A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190716