基于存储设备的磨损量的重复数据删除系统阈值技术方案

技术编号:28977384 阅读:17 留言:0更新日期:2021-06-23 09:22
示例可以包括基于存储设备的磨损量的重复数据删除系统阈值。示例可以获得存储有重复数据删除系统的多个容器索引的至少一个存储设备所经历的磨损量的指示,并且可以基于所述磨损量来调整所述重复数据删除系统的阈值。

【技术实现步骤摘要】
基于存储设备的磨损量的重复数据删除系统阈值
技术介绍
诸如主机服务器等的客户端计算设备可以将数据存储在主存储阵列中,并且可以针对存储在主存储阵列中的数据执行工作负荷。在一些示例中,出于诸如冗余和数据保护等目的,可以将存储在主存储阵列中的数据备份在与客户端计算设备和主存储阵列两者分开的备份装置中。在一些示例中,例如,备份装置可以以重复数据删除(deduplicated)的形式存储数据,使得与在主存储阵列上相比更紧凑地存储数据。附图说明以下具体实施方式参考附图,其中:图1是用于基于存储设备磨损量来调整阈值的示例重复数据删除系统的框图;图2是包括调整容器索引阈值的示例方法的流程图;图3是包括调整压缩阈值的示例方法的流程图;图4是具有可调压缩阈值的示例重复数据删除系统的框图;图5是包括设置容器索引阈值的示例方法的流程图;图6是包括设置压缩阈值的示例方法的流程图;图7是用于获得存储设备磨损量的指示的示例重复数据删除系统的框图;以及图8是包括调整压缩阈值的示例方法的流程图。具体实施方式如上所述,计算设备(诸如主机、服务器、存储阵列等)可以通过将数据存储在能够对数据执行重复数据删除的计算系统中(此处称为“重复数据删除系统”)来备份数据,以便以比非重复数据删除的形式更紧凑的重复数据删除的形式存储数据。在本文所描述的示例中,重复数据删除过程可以由重复数据删除系统对数据集合(在本文中称为数据的“流”或“数据流”)执行。图1是根据本文描述的示例的基于存储设备磨损量来调整阈值的示例重复数据删除系统100的框图。在图1所图示的示例中,重复数据删除系统100可以由包括至少一个处理资源110和至少一个机器可读存储介质120的计算设备(如至少一个存储阵列、备份装置等)来实施,所述机器可读存储介质至少包括(例如,编码有)存储指令122、124、125、126、128和129,所述存储指令可由重复数据删除系统100的至少一个处理资源110执行以实施本文描述的与指令122、124、125、126、128和129有关的功能。以下关于图1的示例描述重复数据删除的示例过程,其中,重复数据删除系统100包括至少一个处理资源110和至少一个机器可读存储介质120,所述机器可读存储介质存储有可由至少一个处理资源110执行以执行本文描述的与重复数据删除系统100有关的功能的指令。重复数据删除系统100可以使用包括容器、容器索引和清单(也可以称为“部分索引”)的数据结构来存储一个或多个数据流的重复数据删除表示。这些数据结构的示例将在以下结合重复数据删除系统100的示例数据重复数据删除过程进行描述。在一些示例中,这些数据结构可以是“重复数据删除域”(在本文中也可以称为“重复数据删除存储(deduplicationstore)”)的一部分,其可以表示可以通过重复数据删除系统对其执行数据的重复数据删除的特定数据集合。例如,重复数据删除系统100的指令可以针对给定数据流(例如130)的特定重复数据删除域的内容(例如容器、容器索引等)执行重复数据删除。在一些示例中,重复数据删除系统100可以包括多个不同的重复数据删除域。在本文所描述的示例中,描述为由重复数据删除系统(例如,重复数据删除系统100)执行的所有功能可以由存储在重复数据删除系统100的机器可读存储介质上并由重复数据删除系统的至少一个处理资源执行的指令执行。在一些示例中,重复数据删除系统100可以接收数据流130用于以重复数据删除的形式存储。数据流可以对应于(多个)用户对象(例如,(多个)文件、文件系统、(多个)卷或任何其他合适的数据集合)。重复数据删除系统100的指令可以将流130划分为多个部分,并且一次对流130的一部分执行重复数据删除过程的各个方面(例如,匹配等)。如本文所使用的,其中“部分(portion)”是数据流的连续子集。例如,指令128可以划分出流130的一部分132以进行处理。在这样的示例中,指令128可以将部分132划分为固定长度或可变长度的段(在本文中称为“块”),识别内容与其他(多个)块相同的“重复”块,存储未被识别为已存储块的复制品的每个块的一个(完整或压缩)副本,并且对于每个重复块,存储对所述块的已存储副本的引用(例如,指针),而无需再次存储重复块。以这种方式,重复数据删除过程通常可以避免在重复数据删除系统中存储相同块的复制品。在这样的示例中,重复数据删除系统可以存储数据流的重复数据删除表示,所述重复数据删除表示包括经选择的数据块和足够的元数据以从经选择的数据块和元数据重建数据流的完整版本。例如,指令128可以将部分132划分为多个块260(例如,包括块201至205),然后为每个块260确定相应的块签名270(例如,包括块签名SIG-1至SIG-5)。虽然为了便于说明,图1示出了部分132的五个块260和五个相应的块签名270,但指令128可以将部分132划分为任何合适数量的块(例如,基于部分132的整体大小),并确定对应数量的块签名(即,每个块一个)。在本文所描述的示例中,“块签名”可以是通过将签名函数应用于块而得到的表示块内容的数据。在一些示例中,签名函数可以是散列函数,并且块签名可以是通过将散列函数应用于块而生成的块的散列(或散列值)。可以使用任何合适的散列函数来生成块签名。在其他示例中,可以使用任何其他合适类型的签名函数来代替散列函数以生成适当的块签名(例如,用于生成合适类型的指纹的函数)。在一些示例中,诸如数据流130等数据流可以被细分为多个部分,并且重复数据删除系统100可以一次对数据流的一部分执行重复数据删除。在图1的示例中,一个这样的部分就是部分132,重复数据删除系统100可以将其作为数据流130的一部分接收。对于数据流的每个部分,重复数据删除系统100可以将所述部分划分为固定大小(例如,大约4K)或可变大小的相应块,然后针对每个块,将适当的签名函数应用于块的内容以获得块的块签名。例如,对于图1的部分132,重复数据删除系统100可以将部分132划分为多个块260(例如,块201至205等),所述多个块一起构成部分132的所有数据。对于多个块260中的每个块,重复数据删除系统100将签名函数(例如,散列函数)应用于每个块的内容,以获得每个块的相应块签名270(例如,散列值)。例如,重复数据删除系统100可以将签名函数应用于块201以获得块签名“SIG-1”,应用于块202以获得块签名“SIG-2”,应用于块203以获得块签名“SIG-3”,应用于块204以获得块签名“SIG-4”,应用于块205以获得块签名“SIG-5”,针对每个块260以此类推。对于部分132的每个块260,指令128可以将从所述块得到的块签名存储在重复数据删除系统100的清单232中,以使得清单232包括部分132的每个块的相应块签名,其中,相应的块签名以与块本身出现在部分132中的相同顺序存储在清单232中。在这样的示例中,清单232可以为数据流130的每个部分的每个块存储相应的块签名。在将每本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n获得存储有重复数据删除系统的多个容器索引的至少一个存储设备所经历的磨损量的指示;/n基于所述磨损量调整容器索引阈值;/n在所述多个容器索引中识别具有针对给定数据流的给定部分的命中的容器索引;/n从所述至少一个存储设备中取回一数量的所识别容器索引,所述数量不超过所述容器索引阈值,其中,所述容器索引阈值是要从所述至少一个存储设备读取以对任何数据流的单个部分进行重复数据删除的所识别容器索引的最大数量;以及/n相对于所取回的容器索引对所述给定部分执行重复数据删除。/n

【技术特征摘要】
20200127 US 16/773,7101.一种方法,包括:
获得存储有重复数据删除系统的多个容器索引的至少一个存储设备所经历的磨损量的指示;
基于所述磨损量调整容器索引阈值;
在所述多个容器索引中识别具有针对给定数据流的给定部分的命中的容器索引;
从所述至少一个存储设备中取回一数量的所识别容器索引,所述数量不超过所述容器索引阈值,其中,所述容器索引阈值是要从所述至少一个存储设备读取以对任何数据流的单个部分进行重复数据删除的所识别容器索引的最大数量;以及
相对于所取回的容器索引对所述给定部分执行重复数据删除。


2.如权利要求1所述的方法,还包括:
基于确定所述至少一个存储设备所经历的磨损量已经超过阈值磨损量来增大所述容器索引阈值。


3.如权利要求1所述的方法,其中,基于所述磨损量调整所述容器索引阈值包括:
随着所述至少一个存储设备的磨损量增加,递增所述容器索引阈值。


4.如权利要求3所述的方法,还包括:
每当确定所述磨损量已经超过多个相继更大磨损水平边界的下一个边界时,增大所述容器索引阈值。


5.如权利要求1所述的方法,其中,所述磨损量由对所述至少一个存储设备的剩余寿命量的估计来表示。


6.如权利要求1所述的方法,其中:
所述重复数据删除系统包括多个容器,每个容器包括一个或多个数据块;
所述容器索引中的每个容器索引是多个容器中的相应容器的索引;
所述容器索引中的每个容器索引包括一个或多个条目,每个条目针对相应容器的相应块,所述容器索引是该相应容器的索引,并且针对相应块的每个条目包括:
所述相应块的块签名;以及
所述块签名的引用计数。


7.如权利要求6所述的方法,其中,所述识别具有针对所述给定部分的命中的容器索引包括:
将所述给定数据流的所述给定部分的经选择的块签名与稀疏索引进行比较,所述稀疏索引将块签名映射到所述多个容器索引中的容器索引;以及
基于存在于所述稀疏索引中的所述经选择的块签名,在所述多个容器索引中识别具有针对所述给定部分的命中的容器索引。


8.如权利要求7所述的方法,其中:
所述稀疏索引将所述稀疏索引中的每个块签名映射到所述多个容器索引中的具有包括所述块签名的条目的容器索引的标识符;并且
其中,所述识别具有针对所述给定部分的命中的容器索引包括:将所述容器索引中的、具有在所述稀疏索引中将所述经选择的块签名中的给定块签名映射到的标识符的每个容器索引识别为具有命中的容器索引。


9.如权利要求6所述的方法,还包括:
基于所述磨损量调整压缩阈值;
对所述容器索引中的具有大于或等于所述压缩阈值的数量的未被引用的条目的经选择的容器索引执行压缩;以及
防止对任何具有小于所述压缩阈值的数量的未被引用的条目的容器索引进行压缩;
其中,针对所述容器索引中的每个容器索引的所述条目中的每个条目,该条目的引用计数指示该条目是否未被引用。


10.如权利要求8所述的方法,其中,基于所述磨损量调整所述压缩阈值包括:
随着所述至少一个存储设备的磨损量增加,递增所述压缩阈值。


11.如权利要求6所述的方法,还包括:
响应于确定所述至少一个存储设备所经历的磨损量已超过锁定阈值:
针对每个容器索引的每个条目,当所述引用计数达到计数阈值时,将该引用计数指定为不可修改的,使得其在被指定为不可修改时不会被改变。


12.如权利要求11所述的方法,其中,所述多个容器索引包括容器索引的子集,在所述容器索引的子集中的每个条目的引用计数被指定为不可修改的,使得其在被指定为不可修改时不会被改变。


13.一种重复数据删除系统,包括:
至少一个处理资源;以及
至少一个非暂态机器可读存储介质,所述至少一个非暂态机器可读存储介质包括指令,所述指令可由至少一个处理资源执行以进行以下操作:
获得存储有所述重复数据删除系统的多个容器索引的至少一个存储设备所经历的磨损量的指示,所述...

【专利技术属性】
技术研发人员:J·巴特D·多纳希M·贾恩
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1