一种存储设备及其垃圾数据回收的方法

文档序号:9921965阅读:788来源:国知局
一种存储设备及其垃圾数据回收的方法
【技术领域】
[0001]本发明涉及存储系统领域,尤其涉及一种存储设备及其垃圾数据回收的方法。
【背景技术】
[0002]存储设备在进行重复数据删除后,会将非重复的数据块存储到特定的存储区域,例如容器(container)中,并且建立数据块的逻辑地址到存储该非重复块的物理地址的映射关系。在后续的重复数据删除操作中,存储设备确认重复的数据块时,则不再存储重复的数据块,将该重复数据块的逻辑地址指向该非重复数据块的物理地址。同时会建立非重复数据块所在的物理地址与逻辑地址的映射,用于表示该非重复数据块被引用的次数。一个存储区域中的非重复数据块的物理地址没有与逻辑地址的映射关系时,表示该非重复数据块不再被任何逻辑地址引用时,引用次数变为O,则就意味着该非重复数据块需要被删除。通常存储设备会以一个存储区域为粒度,将引用次数为O的数据块删除,同时将该存储区域中引用次数不为O的数据块(也称为有效数据块)复制到新的存储区域中存储,并且建立逻辑地址到有效数据块的物理地址的映射关系及有效数据块的物理地址与引用该数据块的逻辑地址的映射关系,并将原存储区域中的数据块删除,这一过程称为垃圾回收,可见,垃圾回收会带来额外的读写开销。其中,有效数据块的物理地址与引用该数据块的逻辑地址的映射称为反向映射,用于记录该映射的表称为反向映射表。
[0003]现有的垃圾回收方式中,如果存储区域中的有效数据块占该存储区域中存储的数据块的比例小于一定值(80%),就对该存储区域进行垃圾回收。但是在将该存储区域中的有效数据复制到新的存储区域、建立有效数据块的逻辑地址与有效数据块的物理地址的映射关系及记录有效数据块的物理地址与引用该数据块的逻辑地址的映射关系会增加额外的读写开销。

【发明内容】

[0004]本发明实施例提供了一种存储设备及其垃圾数据回收的方法,根据存储区域中非重复数据块中有效数据块的数量以及所述有效数据块的被引用次数,决定是否对存储区域进行垃圾数据回收,从而减小垃圾数据回收带来的写放大。
[0005]—方面,本发明实施例提供了一种存储设备垃圾数据回收的方法,根据存储区域中非重复数据块中有效数据块的数量以及所述有效数据块的被引用次数确定所述存储区域满足垃圾回收条件。对满足垃圾数据回收条件的存储区域,删除所述存储区域中引用次数为O的非重复数据块,并将存储区域中有效数据块复制到目标存储区域中。综合考虑存储区域中有效数据块的数量和有效数据块的被引用次数,减小垃圾数据回收带来的写放大。
[0006]在一个可能的设计中,根据存储区域中有效数据块的数量确定有效数据块比率Vr。有效数据块比率Vr为有效数据块的数量与所述非重复数据块的数量的比值。计算存储区域的X*Vr+Y*Rc是否满足垃圾回收条件。其中,X和Y为常数。从而根据有效数据块占所有非重复数据块的比例作为确定该存储区域是否满足的一个因素,对有效数据比率和引用次数配置一个常量,通过调节常量确定有效数据比率和引用次数对存储区域是否满足垃圾回收条件的影响。
[0007]在一个可能的设计中,目标存储区域中的每一个存储区域设置有数据块引用次数区间。将存储区域中有效数据块复制到目标存储区域时,需要根据有效数据块的被引用次数和目标存储区域中每一个存储区域的数据块引用次数区间进行对比。将有效数据块复制到目标存储区域中与有效数据块的引用次数相对应的存储区域。从而再对目标存储区域进行垃圾数据回收时,各个存储区域具有相似的引用次数,从而减小对目标存储区域在垃圾回收时的写放大。
[0008]在一个可能的设计中,有效数据块的被引用次数由存储设备根据有效数据块的物理地址与逻辑地址的映射关系确定。从而确定每个存储区域中的每个数据块所被引用的次数。
[0009]另一方面,本发明实施例提供了一种存储设备,所述设备包括:计算单元和处理单元。计算单元用于根据存储区域中非重复数据块中有效数据块的数量以及所述有效数据块的被引用次数Re确定所述存储区域满足垃圾回收条件。其中,所述有效数据块为引用次数不为O的非重复数据块。处理单元,用于删除所述存储区域中引用次数为O的非重复数据块以及用于将所述存储区域中所述有效数据块复制到目标存储区域。综合考虑存储区域中有效数据块的数量和有效数据块的被引用次数,减小垃圾数据回收带来的写放大。
[0010]在一个可能的设计中,处理单元根据存储区域中有效数据块的数量确定有效数据块比率Vr。有效数据块比率Vr为有效数据块的数量与所述非重复数据块的数量的比值。计算单元采用X*Vr+Y*Rc计算存储区域是否满足垃圾回收条件。其中,X和Y为常数。从而根据有效数据块占所有非重复数据块的比例作为确定该存储区域是否满足的一个因素,对有效数据比率和引用次数配置一个常量,通过调节常量确定有效数据比率和引用次数对存储区域是否满足垃圾回收条件的影响。
[0011]在一个可能的设计中,目标存储区域中的每一个存储区域设置有数据块引用次数区间。处理单元在将存储区域中有效数据块复制到目标存储区域时,需要根据有效数据块的被引用次数和目标存储区域中每一个存储区域的数据块引用次数区间进行对比。将有效数据块复制到目标存储区域中与有效数据块的引用次数相对应的存储区域。从而再对模板存储区域进行垃圾数据回收时,各个存储区域具有相似的引用次数,从而减小对目标存储区域在垃圾回收时的写放大。
[0012]在一个可能的设计中,处理单元所采用的有效数据块的被引用次数由存储设备根据有效数据块的物理地址与逻辑地址的映射关系确定。从而确定每个存储区域中的每个数据块所被引用的次数。
[0013]本发明提出一种存储设备及其垃圾数据的回收方法,根据存储区域中非重复数据块中有效数据块的数量以及所述有效数据块的被引用次数确定所述存储区域满足垃圾回收条件。对满足条件的存储区域进行垃圾数据回收,从而减少了垃圾回收带来的元数据修改,减小了写放大。
【附图说明】
[0014]图1为本发明实施例提供的一种存储设备;
[0015]图2为本发明实施例提供的一种存储设备中保存的映射表;
[0016]图3为本发明实施例提供的一种存储设备中保存的反向映射表;
[0017]图4为本发明实施例提供的一种存储设备中保存的指纹表;
[0018]图5为本发明实施例提供的一种存储设备;
[0019]图6为本发明实施例提供的一种存储设备中保存的映射表;
[0020]图7为本发明实施例提供的一种存储设备垃圾数据回收的方法流程图;
[0021 ]图8为本发明实施例提供的一种存储设备。
【具体实施方式】
[0022]下面,通过附图和具体实施例对本发明的技术方案做进一步详细的描述。
[0023]本发明实施例提供一种存储设备及其垃圾数据回收的方法。通过统计存储区域中非重复数据块中有效数据块的比率Vr以及所述有效数据块的被引用次数Re。确定存储区域是否满足垃圾回收条件。对满足垃圾数据回收条件的存储区域中包括的引用次数为O的数据块进行垃圾数据回收。
[0024]图1为本发明实施例提供的一种存储设备。如图1所示,存储设备与主机相连,接收主机的相关请求。存储设备包括持久化存储介质和存储控制器。
[0025]持久化存储介质可以是一个或多个
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1