This application provides a method and device for recovering storage blocks, which includes: acquiring state information of the target storage area to be recovered in the storage device, which is used to determine whether the storage block in the target storage area is in a recoverable or non-recoverable state, and determining the location according to the state information. The storage block in the target storage area is in the said recoverable state; the storage block in the said recoverable state is marked as an idle block capable of data storage. In the embodiment of this application, the storage block in the storage device is used as the granularity to recover the storage resources, and the storage block in the recoverable state is marked as an idle block directly. Therefore, it is not necessary to store the effective data in the storage resources to be recovered into other storage spaces before the storage resources can be recovered, which is conducive to improving the efficiency of the recovery of storage blocks.
【技术实现步骤摘要】
存储块的回收方法和装置
本申请涉及存储领域,并且更具体地,涉及存储块的回收方法和装置。
技术介绍
通常存储设备的缓存和/或内存的存储空间非常有限,在有限的存储空间中还会存储有访问频度非常低,甚至不会被访问的数据,例如,无效数据和/或冷数据。为了提高存储设备中缓存和内存的存储资源的利用率,可以通过垃圾回收(GarbageCollection,GC)机制,将存储设备中用于存储上述数据的存储块(Block)进行回收,以释放这些存储块的存储资源,用于继续存储其他的数据。由于使用固态硬盘(SolidStateDrives,SSD)作为提供存储空间是比较主流的方式,而SSD是以闪存(FlashMemory)芯片为存储介质的存储器,因此,现有的GC机制都是基于闪存的存储特性制定的。然而,随着存储技术的发展,新型存储设备相对于闪存而言,具有不同的存储特性,例如,相变存储器(PhaseChangeMemory,PCM)。如果继续沿用传统的GC机制,会大大限制GC的效率。
技术实现思路
本申请提供一种存储块的回收方法和装置,有利于提高回收存储块的效率。第一方面,提供了一种存储块的回收方法,包括:获取存储设备中待回收的目标存储区域的状态信息,所述状态信息用于确定所述目标存储区域中的存储块处于可回收状态或不可回收状态;根据所述状态信息,确定所述目标存储区域中处于所述可回收状态的存储块;将所述处于所述可回收状态的存储块标记为能够用于数据存储的空闲块。本申请实施例中,以存储设备中的存储块为粒度进行存储资源的回收,并直接将处于可回收状态的存储块标记为空闲块。从而无需像传统的存储块回收那样, ...
【技术保护点】
1.一种存储块的回收方法,其特征在于,包括:获取存储设备中待回收的目标存储区域的状态信息,所述状态信息用于确定所述目标存储区域中的存储块处于可回收状态或不可回收状态;根据所述状态信息,确定所述目标存储区域中处于所述可回收状态的存储块;将所述处于所述可回收状态的存储块标记为能够用于数据存储的空闲块。
【技术特征摘要】
1.一种存储块的回收方法,其特征在于,包括:获取存储设备中待回收的目标存储区域的状态信息,所述状态信息用于确定所述目标存储区域中的存储块处于可回收状态或不可回收状态;根据所述状态信息,确定所述目标存储区域中处于所述可回收状态的存储块;将所述处于所述可回收状态的存储块标记为能够用于数据存储的空闲块。2.如权利要求1所述的方法,其特征在于,所述目标存储区域与所述存储设备中的第一存储区域不重叠,所述第一存储区域为在对所述目标存储区域进行回收之前执行的回收过程中使用的待回收的存储区域。3.如权利要求2所述的方法,其特征在于,所述方法还包括:按照第一顺序,选择位于所述第一存储区域之后的存储区域作为所述目标存储区域,所述第一顺序为向所述存储设备中写数据的过程中,由先到后占用存储块的顺序。4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:根据在对所述目标存储区域进行回收之前,执行的至少一次回收过程中使用的访问频度阈值,确定所述目标存储区域的大小。5.如权利要求4所述的方法,其特征在于,第一访问频度阈值为在对所述第一存储区域进行回收的过程中使用的访问频度阈值,目标访问频度为在对目标存储区域进行回收的过程中使用的访问频度阈值,所述根据在对所述目标存储区域进行回收之前,执行的至少一次回收过程中使用的访问频度阈值,确定所述目标存储区域的大小,包括:确定所述第一访问频度阈值与基准访问频度阈值之间的变化量;根据所述变化量,调整所述第一存储区域的大小;根据所述调整后的第一存储区域的大小,确定所述目标存储区域的大小,以降低所述目标访问频度阈值与所述基准访问频度阈值之间的变化量。6.如权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:根据需要所述存储设备中回收的存储块的数量,确定所述目标存储区域的大小。7.如权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:获取所述目标存储区域中不同访问频度的存储块的数量;基于所述不同访问频度的存储块的数量,按照所述目标存储区域中存储块的访问频度从低到高的顺序,确定出需要从所述存储设备中回收的存储块。8.如权利要求1-7中任一项所述的方法,其特征在于,在所述将所述处于所述可回收状态的存储块标记为能够用于数据存储的空闲块之后,所述方法还包括:基于衰减倍数,对所述目标存储区域中存储块的访问频度进行衰减。9.如权利要求8所述的方法,其特征在于,所述方法还包括:根据公式确定所述衰减倍数f,其中,α表示预配置的衰减倍数因子,N表示所述目标存储区域的大小,n表示从所述目标存储区域中回收的存储块的数量。10.如权利要求1-9中任一项所述的方法,其特征在于,所述存储设备中的存储空间被划分为多个存储区域,在所述获取存储设备中待回收的目标存储区域的状态信息之前,所述方法还包括:获取所述多个存储区域中每个存储区域包含的无效块的数量;将所述多个存储区域中,无效块的数量高于预设阈值的存储区域的指针存储至快速回收队列;将所述快速回收队列中记录的存储区域中的存储块标记为空闲块。11.一种存储块的回收装置,其特征在于,包括:获取单元,用于获取存储...
【专利技术属性】
技术研发人员:王力玉,张真波,王阳,黄磊,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。