CN104050233A - 有效计算相似搜索值和摘要块边界的方法和系统 - Google Patents
有效计算相似搜索值和摘要块边界的方法和系统 Download PDFInfo
- Publication number
- CN104050233A CN104050233A CN201410098083.2A CN201410098083A CN104050233A CN 104050233 A CN104050233 A CN 104050233A CN 201410098083 A CN201410098083 A CN 201410098083A CN 104050233 A CN104050233 A CN 104050233A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- value
- rolling
- similarity
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
为了在重复数据删除中有效计算相似搜索值和摘要块的边界两者,将输入数据划分成大块,以及对于每个大块,计算一组滚动散列值。将滚动散列值的单个线性扫描用于产生该大块的相似搜索值和摘要块的边界两者。
Description
技术领域
本发明一般涉及计算机,尤其涉及在计算环境下在重复数据删除系统(data deduplication system)中有效计算相似搜索值和摘要块的边界两者。
背景技术
在当今社会里,计算机系统是司空见惯的。在工作场所,在家里,或在学校都可以找到计算机系统。计算机系统可以包括数据存储系统或盘存储系统来处理和存储数据。每天都必须处理大量数据,当前的趋势暗示着在可预见的将来这些数量将继续日益增加。缓解该问题的有效途径是使用重复删除。重复删除系统所依据的概念是利用通过定位重复数据和只存储它的第一次出现,一而再地复制可用数据的大部分的事实。随后的副本用指向所存储出现的指针来取代,如果数据的确是重复的,则显著降低了存储要求。
发明内容
在一个实施例中,提供了在计算环境下在使用处理器设备的重复数据删除系统中有效计算相似搜索值和摘要块的边界两者的方法。在一个实施例中,仅举例来说,将输入数据划分成大数据块,以及对于每个大块,计算一组滚动散列值。将滚动散列值的单个线性扫描用于产生该大块的相似搜索值和摘要块的边界两者。
在另一个实施例中,提供了在计算环境下,在使用处理器设备的重复数据删除系统中有效计算相似搜索值和摘要块的边界两者的计算机系统。该计算机系统包括计算机可读介质和可操作地与该计算机可读介质通信的处理器。在一个实施例中,仅举例来说,该处理器将输入数据划分成大数据块,以及对于每个大块,计算一组滚动散列值。将滚动散列值的单个线性扫描用于产生该大块的相似搜索值和摘要块的边界两者。
在进一步的实施例中,提供了在计算环境下,在使用处理器设备的重复数据删除系统中有效计算相似搜索值和摘要块的边界两者的计算机程序产品。该计算机可读存储介质含有存储在上面的计算机可读程序代码部分。该计算机可读程序代码部分包括将输入数据划分成大数据块的第一可执行部分。对于每个大块,计算一组滚动散列值。将滚动散列值的单个线性扫描用于产生该大块的相似搜索值和摘要块的边界两者。
除了前面的示范性方法实施例之外,还提供了其它示范性系统和计算机产品实施例,它们也具有相关优点。提供前面的总结是为了以简化形式介绍下面在详细描述中作进一步描述的构思的选择。这个总结无意标识要求保护的主题的关键特征或基本特征,也无意用于帮助确定要求保护的主题的范围。要求保护的主题不限于解决在背景技术中所述的任何或所有缺点的实现。
附图说明
为了易于了解本发明的优点,将参照例示在附图中的特定实施例给出上面简述的本发明的更具体描述。当明白这些图形是描绘本发明的实施例,因此不认为是限制其范围时,将使用附图以另外的特征和细节描述和说明本发明,在附图中:
图1是例示含有可以实现本发明的各个方面的示范性存储设备的计算系统环境的框图;
图2是例示可以实现本发明的各个方面的计算机系统中的数据存储系统的硬件结构的框图;
图3是例示在可以实现本发明的各个方面的重复数据删除系统中在重复删除处理中根据相似搜索进行摘要检索的示范性方法的流程图;
图4是例示在可以实现本发明的各个方面的重复数据删除系统中在重复删除处理中根据相似搜索进行摘要检索的示范性可替代方法的流程图;以及
图5是例示在可以实现本发明的各个方面的重复数据删除系统中,使用滚动散列值的单个线性计算有效计算相似搜索值和摘要块的边界两者的示范性方法的流程图。
具体实施方式
重复数据删除在计算存储系统中是高度重要和充满活力的领域。重复数据删除指的是减少和/或消除冗余数据。在重复数据删除中,将可以是文件、数据流、或一些其它形式的数据的数据对象分解成称为大块或块的一个或多个部分。在重复数据删除过程中,分别减少或消除数据的重复副本,留下数据的最少量冗余副本或单个副本。重复数据删除系统的目标是存储重复数据的单个副本,实现这一目标所面临的挑战是在通常大型的中心库中有效寻找重复数据模式,并以存储划算重复删除形式存储数据模式。重复删除存储系统中的重大挑战是可伸缩地支持数据的巨大中心库。这样的大型中心库可以达到拍字节(1拍字节=250字节)或更大的规模。支持这样中心库规模的重复删除存储系统必须提供在中心库中寻找重复数据模式的有效处理,其中用实现重复删除的资源消耗来度量有效性(该资源可以是CPU循环、RAM存储、持久性存储、联网等)。在一个实施例中,重复删除存储系统可以基于保留称为指纹或摘要的数值的搜索优化索引,其中一个(小)指纹代表中心库中的一个(较大)块数据。指纹值可以是根据块的数据计算的保密散列值。在一个实施例中,可以使用作为保密散列函数一族的安全散列算法(SHA),例如,SHA-1或SHA-256。使用索引查找表识别指纹匹配使得能够存储对已存在于中心库中的数据的引用。
为了在这种做法中提供合理的重复删除,生成指纹所基于的数据块的平均尺寸必须限于较小尺寸而不得过大。数据块内位的变化将概率性地改变数据块的相应指纹,因此含有大数据块的原因使该方案与含有小块相比对数据的更新更敏感。取决于应用的类型和工作负荷,典型的数据块尺寸的范围可以从4KB到64KB。因此,仅举例来说,小数据块的范围可以直到64KB的尺寸,而大数据块是尺寸大于64KB的那些数据块。
为了支持可伸缩到拍字节的巨大中心库(例如,可伸缩到至少一个拍字节的中心库),与指纹的尺寸(范围在16个字节与64个字节之间)耦合存储的指纹的数量大得惊人。例如,对于1拍字节的重复删除数据,4KB平均数据块尺寸,以及32字节指纹尺寸(例如,SHA-256),存储指纹所需的存储是8太字节。为这样体量的指令保留搜索优化数据结构是困难的,需要优化技术。但是,现有优化技术无法在保持性能的同时可伸缩到这些尺寸。由于这个原因,为了提供合理性能,支持的中心库必须相对较小(数十TB的数量级)。即使对于这样的较小尺寸,由于指纹索引的大尺度,也会引起相当大的挑战和运行时成本,这给重复删除处理带来瓶颈。
为了解决这个问题,在一个实施例中,重复删除系统可以基于在重复删除期间搜索数据模式的两步做法。在第一步中,在中心库中从大块输入数据(例如,几兆字节)中搜索现有数据的相似(而不是相同)大数据块,相应地将输入大数据块划分成区间并与相应(相似)中心库区间配对。在第二步中,将逐个字节匹配算法应用在相似区间对上,以识别已存储在数据的中心库中的相同子区间。第二步的匹配算法依赖于读取中心库中的所有相关相似数据,以便逐个字节地将它与输入数据相比较。
然而,源于作为第二步的匹配算法的基础的数据的逐个字节比较的问题是为了比较的目的,应该从中心库中读取大小和比率与输入数据大致相同的数据。例如,每秒处理1GB输入数据的系统为了逐个字节比较,应该从中心库中每秒大约读取1GB的数据。这要求存储中心库数据的存储设备具有相当高的每秒I/O(输入/输出)能力,这又使它们的成本增加。
信息技术与上面的问题一致的另外趋势如下:(1)通过提高CPU(中央处理单元)速度和增加CPU内核的数量提高计算能力;以及(2)在盘吞吐量保持相对恒定或只适度提高的同时,提高盘密度。这意味着相对于数据容量存在较少的主轴,因此实际上使总吞吐量减少。由于上述的问题,需要设计出无需从中心库中高速/大体量读取、要并入上述的两步重复删除系统实施例中的可替代解决方案。
因此,在一个实施例中,仅举例来说,另外的实施例解决了这个问题,以及从盘到CPU的转移资源消耗,以便从上面的趋势中获益。本文所述的实施例被并入上述的两步和可伸缩重复删除实施例中,在重复删除期间使用相似搜索把重点放在摘要的查找上。在一个实施例中,将全局相似搜索用作把重点放在对最有可能与输入数据匹配的中心库数据的摘要的相似搜索上的基础。
本文所述的实施例显著降低了基本盘所要求的每秒I/O能力,从计算能力和盘密度的提高中受益,以及相当大地降低了处理的成本,以及维护成本和环境额外开销(例如,功耗)。
在一个实施例中,将输入数据分段成小段(例如,4KB),并为每个这样的段计算摘要(保密散列值,例如,SHA1)。首先,将如上所述的相似搜索算法应用在输入的大块数据(例如,16MB)上,并定位和寻找中心库中最相似参考数据的位置。然后将这些位置用于查找相似参考数据的摘要。以与它们在数据中的出现相对应的形式存储和检索包含在中心库中的所有数据的摘要。给定包含在中心库中的数据的一部分的位置,在中心库中有效地定位和检索与数据的该部分相联系的摘要。接着,将这些参考摘要装载到存储器中,并取代比较数据来寻找匹配,将输入摘要与装载的参考摘要匹配。
所述实施例提供了架构重复数据删除系统的新基本做法,它将后面接着搜索相同匹配段的可伸缩两步做法与有效和成本划算的基于摘要/指纹匹配算法合并(而不是逐个字节数据比较)。基于摘要/指纹的匹配算法使得可以只读取逐个字节数据比较所需的数据的体量的一小部分(1%)。如本文提出的本发明,除了高的效率和性能、和降低的处理和硬件成本之外,重复删除系统还可以提供巨大数据中心库的高可伸缩性。
在一个实施例中,仅举例来说,术语“相似数据”可能指的是:对于任何给定输入数据,将与输入数据相似的数据定义成与输入数据几乎相同(即,不完全相同但至少50%相似)的数据。从二进制的角度(视角)观看数据,这意味着相似数据是大多数字节与输入数据相同(即,不完全相同但至少50%相似)的数据。
在一个实施例中,仅举例来说,术语“相似搜索”可以指的是搜索数据的中心库中与输入数据相似的数据的过程。在一个实施例中,这个过程可以使用内部保留和搜索的、相似元素的搜索结构来进行。
在一个实施例中,仅举例来说,术语“相似元素”可以根据数据计算和有助于对数据的中心库中与输入数据相似的数据的全局搜索。一般说来,计算一个或多个相似元素,它们代表大块(例如,至少16MB)数据。
因此,本文所述的各种实施例为在计算环境下,在使用处理器设备的重复数据删除系统中,在重复删除处理中基于相似搜索的摘要检索提供了各种解决方案。在一个实施例中,仅举例来说,将输入数据划分成固定尺寸大数据块。为每个固定尺寸大数据块计算相似元素、摘要块边界和摘要值。在数据的中心库中为每个固定尺寸大数据块从包含相似元素的搜索结构(即,索引)中搜索匹配相似元素。在中心库中定位相似数据的位置。将相似数据的位置用于定位和向存储器装载中心库中的相似数据的所存储摘要值和相应所存储摘要块边界。应该注意到,在一个实施例中,该位置可以是物理的或逻辑的(即,虚拟的)。该位置属于数据的中心库内部的数据。“位置”的重要性质是,给定中心库的数据的位置(物理的或逻辑的),就可以有效地定位和存取那个位置中的数据。将摘要值和相应摘要块边界与所存储摘要值和相应所存储摘要块边界匹配以寻找数据匹配。
因此,本文所述的各种实施例为在计算环境下,在使用处理器设备的重复数据删除系统中,在重复删除处理中基于相似搜索的摘要检索提供了各种解决方案。在一个实施例中,仅举例来说,将输入数据划分成固定尺寸大数据块。为每个固定尺寸大数据块计算相似元素、摘要块边界和摘要值。在数据的中心库中为每个固定尺寸大数据块从包含相似元素的搜索结构(即,索引)中搜索匹配相似元素。在中心库中定位相似数据的位置。将相似数据的位置用于定位和向存储器装载中心库中的相似数据的所存储摘要值和相应所存储摘要块边界。将摘要值和相应摘要块边界与所存储摘要值和相应所存储摘要块边界匹配以寻找数据匹配。
在一个实施例中,本发明提供了为了有效的重复删除处理,利用相似搜索将相关摘要从中心库装载到存储器中的解决方案。在重复数据删除系统中,通过将数据划分成大固定尺寸块,以及对于每个大块,计算(两样东西—相似元素和/或摘要块/摘要值)相似搜索的散列值(摘要块/摘要值)和摘要值。该重复数据删除系统从相似值的搜索结构中搜索大块的匹配相似值,并在中心库中寻找相似数据的位置。该重复数据删除系统使用相似数据的这些位置来定位和向存储器装载相似中心库数据的所存储摘要,然后匹配输入数据和中心库摘要值以寻找数据匹配。
在一个实施例中,本发明使用滚动散列值的单个线性计算,为有效计算相似搜索值和摘要块的分段(即,边界)两者创造了条件。在重复数据删除系统中,将输入数据划分成大块,以及对于每个大块,计算一组滚动散列值。滚动散列值的单个线性扫描产生了大块的相似搜索值和摘要块的边界两者。每个滚动散列值以字节偏移量对应于字节的相继窗口。相似搜索值用于在中心库中搜索相似数据。摘要块分段用于为摘要匹配计算大块的摘要块边界和相应摘要值。将每个滚动散列值贡献给相似值的计算和摘要块分段的计算。在贡献给计算之后丢弃每个滚动散列值。所述实施例使处理效率显著提高并使CPU消耗显著降低,以及使性能得到相当大提高。
因此,如上所述,本发明的重复删除做法在重复删除期间将两步过程用于搜索数据模式。在第一步中,在中心库中从大块输入数据(例如,2兆字节“MB”)中搜索现有数据的相似(而不是相同)大块,相应地将输入大块划分成区间并与相应(相似)中心库区间配对。用在第一步中的相似索引是紧缩的,易于在内部保留和搜索,因为用于相似搜索的元素相对于它们所代表的数据是非常紧缩的(例如,16字节代表4兆字节)。除了相似元素的计算之外,进一步包括在第一步中的是输入大块数据的摘要段和各自摘要值的计算。所有这些计算都基于滚动散列值的单个计算。在第二步中,检索相似中心库区间的参考摘要,然后将输入摘要与参考摘要匹配以识别数据匹配。
在一个实施例中,在本文所述的基于相似重复删除做法中,将输入数据流划分成大块(例如,至少16MB),并在两个主要步骤中处理每个大块。在第一步中,应用相似搜索过程,寻找中心库中最相似参考数据的位置。在这个步骤内,根据滚动散列值的单个线性计算,为输入大块计算相似搜索元素和摘要段边界两者。根据产生的分段为输入大块计算摘要值,并以它们出现在输入数据中的顺序存储在存储器中。然后将相似数据的位置用于查找相似参考数据的摘要,并且也以顺序形式将这些摘要装载到存储器中。然后,将输入摘要与参考摘要匹配以形成数据匹配。
当完成输入大块数据的重复删除时,将与输入大块数据相联系的摘要存储在中心库中,用作随后输入数据的参考摘要。以独立于存储这些摘要所描述的数据的重复删除形式的线性形式,以及以它们出现在数据中的顺序存储摘要。这种存储方法能够独立于表示重复删除存储形式的分段地有效检索摘要的部分,因此降低了I/O和计算资源消耗。
现在转到图1,图中描绘了计算系统环境的示范性架构10。计算机系统10包括与通信端口18和存储器件16连接的中央处理单元(CPU)12。通信端口18与通信网络20通信。通信网络20和存储网络可以配置成与服务器(主机)24和可以包括存储设备14的存储系统通信。存储系统可以包括可以以独立盘冗余阵列(RAID)配置的硬盘驱动器(HDD)设备、固态设备(SSD)等。如下所述的操作可以在存储设备14上执行,存储设备14可以处在系统10中或其它地方,可以含有与其它CPU设备12独立和/或结合工作的多个存储器件16。存储器件16可以包括像电可擦除可编程只读存储器(EEPROM)那样的存储器或相关器件的主机。存储器件16和存储设备14经由信号承载介质与CPU12通信。另外,CPU12通过通信端口18与含有附在上面的多个另外计算机主机系统24的通信网络20连接。另外,存储器件16和CPU12可以内置和包括在计算系统10的每个组件中。每个存储系统还可以包括结合在一起或作为独立存储器件16和/或CPU12工作的独立和/或不同存储器件16和CPU12。
图2是示出按照本发明的计算机系统中的数据存储系统的硬件结构的示范性框图。图中示出了主计算机210,220,225,每一台起作为数据存储系统200的一部分进行数据处理的中央处理单元的作用。群集主机/节点(物理或虚拟设备)210,220和225可以是数据存储系统200中完成本发明的目的的一个或多个新物理设备或逻辑设备。在一个实施例中,仅举例来说,数据存储系统200可以实现成重复删除系统TS7650GTM。网络连接260可以是光纤通道Fabric架构、光纤通道点到点链路、以太网上光纤通道Fabric架构或点到点链路、FICON或ESCON I/O接口、任何其它I/O接口类型、无线网络、有线网络、LAN、WAN、各向异性的、各向同性的、公用的(即,互联网)、专用的、或它们的组合体。主机210,220和225可以是局部的或分布在一个或多个地点中,可以装备像光纤通道、FICON、ESCON、以太网、光纤、无线、或同轴适配器那样,到存储控制器240的任何类型的Fabric架构(或光纤通道)(未显示在图2中)或网络适配器260。数据存储系统200相应地装备适当Fabric架构(未显示在图2中)或网络适配器260以便进行通信。数据存储系统200在图2中被描绘成包含存储控制器240和群集主机210,220和225。群集主机210,220和225可以包括群集节点。
为了促进人们更清楚地理解本文所述的方法,存储控制器240在图2中被显示成包括微处理器242、系统存储器243和非易失性存储(“NVS”)216的单个处理单元。要注意的是,在一些实施例中,存储控制器240由多个处理单元组成,每一个带有它们自己的处理器复合体和系统存储器,并通过数据存储系统200内的专用网络互连。存储230(在图2中标为230a,230b和230n)可以由像存储阵列那样的一个或多个存储设备组成,该存储设备与存储控制器240连接(通过存储网络),以及一个或多个群集主机210,220和225与每个存储控制器240连接。
在一些实施例中,包括在存储230中的设备可以以循环架构连接。存储控制器240管理存储230,并促进旨在用于存储230的写入和读取请求的处理。存储控制器240的系统存储器243存储处理器243可以为了执行本发明的功能和方法步骤而加以存取以便如本文所述运行和管理存储230的程序指令和数据。在一个实施例中,系统存储器243包括执行本文所述的方法和操作的操作软件250,与其相联系,或与其通信。如图2所示,系统存储器243还可以包括用于存储230、本文也称为“高速缓冲存储器”、用于缓冲分别指写入/读取请求和它们的相关数据的“写入数据”和“读取数据”的高速缓存245,或与其通信。在一个实施例中,高速缓存245被分配在系统存储器243外部的设备中,但微处理器242仍然可存取,并且除了进行如本文所述的操作之外,还可以用于提供抵抗数据损失的额外安全性。
在一些实施例中,高速缓存245利用易失性存储器和非易失性存储器来实现,经由局部总线(未显示在图2中)与微处理器242耦合,以便提高数据存储系统200的性能。包括在数据存储控制器中的NVS216可由微处理器242存取,用于提供对如在其它图形中所述的本发明的操作和执行的额外支持。NAV216也可以称为“永久”高速缓存、或“高速缓冲存储器”,利用可以利用或可以不利用外部电力的非易失性存储器来实现,以便保留存储在其中的数据。对于适合实现本发明的目的的任何用途,NVS可以存储在高速缓存245中或与高速缓存245一起存储。在一些实施例中,像蓄电池那样的备用电源(未显示在图2中)将足够的电力供给NVS216,以便在数据存储系统200断电的情况下保留存储在其中的数据。在某些实施例中,NVS216的容量小于等于高速缓存245的总容量。
存储230在物理上可以由像存储阵列那样的一个或多个存储设备组成。存储阵列是像硬盘那样的单独存储设备的逻辑分组。在某些实施例中,存储230由JBOD(简单盘捆绑)阵列或RAID(独立盘冗余阵列)阵列组成。可以进一步组合一批物理存储阵列以形成将物理存储与逻辑配置分离的队列。可以将队列中的存储空间分配给定义规定在写入/读取请求中的存储地点的逻辑卷。
在一个实施例中,仅举例来说,如图2所示的存储系统可以包括逻辑卷,或简称为“卷”,可以具有不同类型的分配。存储230a,230b和230n被显示成数据存储系统200中的队列,本文称为队列230a,230b和230n。队列可以在数据存储系统200本地,或可以处在物理远地点。换句话说,本地存储控制器可以与远程存储控制器连接,管理远程地点上的存储。队列230a被显示成由两个完整卷234和236,以及一个部分卷232a构成。队列230b被显示成具有另一个部分卷232b。因此,卷232跨过队列230a和230b地分配。队列230n被显示成完全分配给卷238—也就是说,队列230n指的是卷238的整个物理存储。从上面的例子中可以懂得,一个队列可以被配置成包括一个或多个部分和/或完整卷。卷和队列可以进一步划分成代表存储的固定块的所谓“轨道”。一个轨道因此与给定卷相联系和可以赋予给定队列。
存储控制器240可以包括重复数据删除模块255、相似索引模块257(例如,相似搜索结构)、和相似搜索模块259。重复数据删除模块255、相似索引模块257、和相似搜索模块259可以结合存储控制器240、主机210,220和225、和存储设备230的每个组件来工作。重复数据删除模块255、相似索引模块257、和相似搜索模块259在结构上可以是一个完全模块或可以与其它单独模块相联系和/或包括在其中。重复数据删除模块255、相似索引模块257、和相似搜索模块259也可以处在高速缓存245或其它组件中。
存储控制器240包括控制与主计算机210,220,225的光纤通道协议的控制开关241、控制所有存储控制器240的微处理器242、存储控制存储控制器240的操作的微程序(操作软件)250的非易失性控制存储器243、用于控制的数据、临时存储(缓冲)数据的高速缓存245、和帮助高速缓存245读取和写入数据的缓冲器245,控制开关241用于控制协议以便控制到或从可能设置了信息的存储设备230、重复数据删除模块255、相似索引模块257、和相似搜索模块259的数据传送。可以利用本发明实现多个缓冲器244以帮助如本文所述的操作。在一个实施例中,群集主机/节点210,220,225和存储控制器240通过作为接口的网络适配器(可以是光纤通道)260,即,经由叫做“Fabric架构”的至少一个交换机连接。
在一个实施例中,主计算机或一个或多个物理或虚拟设备210,220,225、和存储控制器240通过作为接口的网络(可以是光纤通道)260,即,经由叫做“Fabric架构”的至少一个交换机连接。在一个实施例中,将描述显示在图2中的系统的操作。微处理器242可以控制存储器243来存储来自主设备(物理或虚拟)210的命令信息和识别主设备(物理或虚拟)210的信息。控制开关241、缓冲器244、高速缓存245、操作软件250、微处理器242、存储器243、NVS216、重复数据删除模块255、相似索引模块257、和相似搜索模块259可以相互通信,并且可以是分开的或一个单独组件。此外,像操作软件250那样的组件即使不是全部,也有几个包括在存储器243内。对于适合本发明的用途,所示的设备内的每个组件可以链接在一起并可以相互通信。如上所述,重复数据删除模块255、相似索引模块257、和相似搜索模块259也可以处在高速缓存245或其它组件中。这样,可以根据存储架构和用户偏好按需使用重复数据删除模块255、相似索引模块257、和相似搜索模块259。
如上所述,在一个实施例中,将输入数据划分成大固定尺寸块(例如,16MB),并对每个输入大块应用相似搜索过程。相似搜索过程根据数据的输入大块,计算也可以称为区分特征(DC)的紧缩相似元素,并在中心库中搜索存储在紧缩搜索结构(即,索引)中的匹配相似元素。按数据的每个大块存储的相似元素的尺寸通常是32个字节(在大块尺寸是几兆字节的情况下),因此使存储相似元素的搜索结构非常紧缩,易于在内部保留和搜索。
通过对大块的数据计算滚动散列值,即,以字节偏移量在字节的每个相继窗口内产生滚动散列值,然后将特定散列值和相关位置(未必是这些散列值的精确位置)选成大块的相似元素来计算相似元素。
本发明提供的一个重要方面和创新是在计算方面是昂贵操作的滚动散列值的单个线性计算用作计算大块的相似元素(用于相似搜索)和大块数据到摘要块的分段(用于寻找精确匹配)两者的基础。将每个滚动散列值加入相似元素的计算中以及加入摘要块分段的计算中。在加入两种计算中之后,可以丢弃滚动散列值,因为存储滚动散列值的需要降到最低程度或消失了。这种算法元素使效率显著提高并使CPU消耗显著降低,以及使性能得到相当大提高。
在一个实施例中,本发明的相似搜索过程产生两种类型的输出。第一种类型的输出是中心库中最相似参考数据的一组位置。第二种类型的输出是输入大块的摘要,其由摘要块的分段和与摘要块相对应的摘要值组成,其中摘要值是根据摘要块的数据计算的。
在一个实施例中,以与摘要在数据中的出现相对应的形式将摘要存储在中心库中。给定中心库中的位置和数据的一部分的尺寸,有效地确定与数据的那个区间相对应的摘要在中心库中的地点。然后将通过相似搜索过程产生的位置用于查找相似参考数据的所存储摘要,并将这些参考摘要装载到存储器中。然后,不是比较数据,而是将输入摘要与装载的参数摘要匹配。该匹配过程通过将参考摘要装载到存储器中摘要的紧缩搜索结构中,然后对于每个输入摘要,就那个摘要值的存在性查询摘要的搜索结构。摘要的搜索结构中的搜索根据摘要值来进行。如果发现匹配,则确定在中心库中找到与那个摘要相联系的输入数据,并根据中心库中参考摘要的位置确定中心库中输入数据的位置。在这种情况下,记录输入摘要涵盖的输入数据与匹配参考摘要涵盖的中心库数据之间的等同性。如果未发现匹配,则确定在中心库中未找到与那个摘要相联系的输入数据,将其记录成新数据。在一个实施例中,相似搜索结构是相似元素的全局搜索结构,摘要的存储器搜索结构是存储器中摘要的局部搜索结构。摘要的存储器搜索结构中的搜索通过摘要值来进行。
图3是例示在可以实现本发明的各个方面的重复数据删除系统中在重复删除处理中根据相似搜索进行摘要检索的示范性方法300的流程图。启动方法300(步骤302)。方法300将输入数据划分成大数据块(步骤304)。可以将输入数据划分成固定尺寸大数据块。方法300为每个大数据块计算相似元素、摘要块边界、和相应摘要值(步骤306)。方法300为每个大数据块(可以是固定尺寸大数据块)在搜索结构(即,索引)中搜索匹配相似元素(步骤308)。定位中心库(例如,数据的中心库)中相似数据的位置(步骤310)。方法300将相似数据的位置用于定位和向存储器装载中心库中的相似数据的所存储摘要值和相应所存储摘要块边界(步骤312)。方法300将输入数据的摘要值和相应摘要块边界与所存储摘要值和相应所存储摘要块边界匹配以寻找数据匹配(步骤314)。结束方法300(步骤316)。
图4是例示在可以实现本发明的各个方面的重复数据删除系统中在重复删除处理中根据相似搜索进行摘要检索的示范性可替代方法400的流程图。启动方法400(步骤402)。方法400将输入数据划分成大块(例如,将输入数据划分成大固定尺寸块)(步骤404),以及对于输入大数据块,根据输入大数据块的数据计算滚动散列值、相似元素、摘要块边界、和摘要值(步骤406)。方法400在相似搜索结构(即,索引)中搜索输入大数据块的相似元素(步骤408和410)。方法400确定是否存在足够或充分数量的匹配相似元素(步骤412)。如果未找到足够的匹配相似元素,则方法400确定在中心库中未为输入大数据块找到相似数据,将输入大块的数据存储在中心库中(步骤414),然后结束方法400(步骤438)。如果找到足够的相似元素,则对于在中心库中找到的每个相似数据区间,方法400确定中心库中每个相似数据区域的位置和大小(步骤416)。方法400定位中心库中代表相似数据区间的摘要(步骤418)。方法400将这些摘要装载到存储器中摘要的搜索数据结构中(步骤420)。方法400确定是否存在另外的相似数据区间(步骤422)。如果是,则方法400返回到步骤416。如果否,则方法400考虑输入大数据块的每个摘要(步骤424)。方法400确定在摘要的存储器搜索结构中是否存在摘要值(步骤426)。如果是,则方法400记录摘要涵盖的输入数据与具有匹配摘要值的中心库数据之间的等同性(步骤428)。如果否,则方法400记录在中心库中未找到摘要涵盖的输入数据(步骤430)。从步骤428和430两者中,方法400确定是否存在输入大数据块的另外摘要(步骤432)。如果是,则方法400返回到步骤424。如果否,则方法400从相似搜索结构中删除中心库中匹配数据的相似元素(步骤434和步骤410)。方法400将输入大数据块的相似元素加入相似搜索结构中(步骤436)。结束方法400(步骤438)。
图5是例示在可以实现本发明的各个方面的重复数据删除系统中,使用滚动散列值的单个线性计算有效计算相似搜索值和摘要块的边界两者的示范性方法500的流程图。启动方法500(步骤502)。方法500将输入数据划分成大数据块(步骤504)。该大数据块可以是固定尺寸大数据块。方法500在输入数据中以字节偏移量考虑字节的每个相继窗口(步骤506)。方法500确定是否存在字节的另外相继窗口要处理(步骤508)。如果是,则方法500根据字节的相继窗口的数据计算滚动散列值(步骤510)。方法500将滚动散列值贡献给相似值的计算和摘要块分段(即,摘要块边界)的计算(步骤512)。方法500丢弃滚动散列值(步骤514),并返回到步骤506。如果否,则方法500决定计算相似元素和摘要块分段,得出输入数据的最终相似元素和摘要块分段(步骤516)。方法500根据摘要块分段计算摘要值,其中对每个摘要块指定相应摘要值(步骤518)。将相似元素用于在中心库中搜索相似数据(步骤520)。将该摘要块和相应摘要值用于与存储在中心库中的摘要块和相应摘要值匹配,以确定中心库中与输入数据相同的数据(步骤522)。结束方法500(步骤524)。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。也可以将计算机程序指令装载到计算机、其它可编程数据处理装置、或其它设备上使一系列操作步骤在计算机、其它可编程数据处理装置、或其它设备上得到执行,形成计算机实现过程,以便在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (14)
1.一种在计算环境下在使用处理器设备的重复数据删除系统中有效计算相似搜索值和摘要块的边界两者的方法,包含:
将输入数据划分成大数据块;
对于每个大数据块,计算一组滚动散列值;以及
将滚动散列值的单个线性扫描用于产生相似搜索值和摘要块的边界两者。
2.如权利要求1所述的方法,进一步包括以字节偏移量将每个滚动散列值与字节的相继窗口对应。
3.如权利要求1所述的方法,进一步包括使用相似搜索值来搜索数据的中心库中与输入数据相似的数据。
4.如权利要求1所述的方法,进一步包括使用摘要块的边界为每个大数据块计算摘要值以便用于摘要匹配。
5.如权利要求1所述的方法,进一步包括将每个滚动散列值用于贡献给相似搜索值的计算和摘要块的边界的计算。
6.如权利要求5所述的方法,进一步包括在贡献给相似搜索值的计算和摘要块的边界的计算之后丢弃每个滚动散列值。
7.如权利要求1所述的方法,进一步包括将输入数据划分成固定尺寸大数据块。
8.一种在计算环境的重复数据删除系统中有效计算相似搜索值和摘要块的边界两者的系统,该系统包含:
重复数据删除系统;
与该重复数据删除系统通信的计算环境中的中心库;
可工作在计算存储环境中以便控制该重复数据删除系统的至少一个处理器设备,其中该至少一个处理器设备:
将输入数据划分成大数据块,
对于每个大数据块,计算一组滚动散列值,以及
将滚动散列值的单个线性扫描用于产生相似搜索值和摘要块的边界两者。
9.如权利要求8所述的系统,其中该至少一个处理器设备以字节偏移量将每个滚动散列值与字节的相继窗口对应。
10.如权利要求8所述的系统,其中该至少一个处理器设备使用相似搜索值来搜索数据的中心库中与输入数据相似的数据。
11.如权利要求8所述的系统,其中该至少一个处理器设备使用摘要块的边界为每个大数据块计算摘要值以便用于摘要匹配。
12.如权利要求8所述的系统,其中该至少一个处理器设备将每个滚动散列值用于贡献给相似搜索值的计算和摘要块的边界的计算。
13.如权利要求12所述的系统,其中该至少一个处理器设备在贡献给相似搜索值的计算和摘要块的边界的计算之后丢弃每个滚动散列值。
14.如权利要求8所述的系统,其中该至少一个处理器设备将输入数据划分成固定尺寸大数据块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/840,094 | 2013-03-15 | ||
US13/840,094 US9244937B2 (en) | 2013-03-15 | 2013-03-15 | Efficient calculation of similarity search values and digest block boundaries for data deduplication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050233A true CN104050233A (zh) | 2014-09-17 |
CN104050233B CN104050233B (zh) | 2018-04-10 |
Family
ID=51503066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410098083.2A Active CN104050233B (zh) | 2013-03-15 | 2014-03-17 | 有效计算相似搜索值和摘要块边界的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9244937B2 (zh) |
CN (1) | CN104050233B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9159327B1 (en) * | 2012-12-20 | 2015-10-13 | Google Inc. | System and method for adding pitch shift resistance to an audio fingerprint |
US9116941B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Reducing digest storage consumption by tracking similarity elements in a data deduplication system |
US9678975B2 (en) | 2013-03-15 | 2017-06-13 | International Business Machines Corporation | Reducing digest storage consumption in a data deduplication system |
US9547662B2 (en) | 2013-03-15 | 2017-01-17 | International Business Machines Corporation | Digest retrieval based on similarity search in data deduplication |
US10372695B2 (en) * | 2014-12-27 | 2019-08-06 | Intel Corporation | Technologies for computing rolling hashes |
US20170068458A1 (en) * | 2015-09-03 | 2017-03-09 | Qualcomm Incorporated | Hardware-accelerated storage compression |
US9665287B2 (en) | 2015-09-18 | 2017-05-30 | Alibaba Group Holding Limited | Data deduplication using a solid state drive controller |
US10783145B2 (en) * | 2015-09-23 | 2020-09-22 | EMC IP Holding Company LLC | Block level deduplication with block similarity |
US9678977B1 (en) * | 2015-11-25 | 2017-06-13 | International Business Machines Corporation | Similarity based deduplication of snapshots data |
US10545832B2 (en) * | 2016-03-01 | 2020-01-28 | International Business Machines Corporation | Similarity based deduplication for secondary storage |
US10437684B2 (en) * | 2016-03-29 | 2019-10-08 | International Business Machines Corporation | Similarity based deduplication for secondary storage |
US10235080B2 (en) | 2017-06-06 | 2019-03-19 | Saudi Arabian Oil Company | Systems and methods for assessing upstream oil and gas electronic data duplication |
US10747729B2 (en) | 2017-09-01 | 2020-08-18 | Microsoft Technology Licensing, Llc | Device specific chunked hash size tuning |
CN108494875A (zh) * | 2018-04-10 | 2018-09-04 | 网宿科技股份有限公司 | 一种反馈资源文件的方法和装置 |
CN109299260B (zh) * | 2018-09-29 | 2021-01-19 | 上海晶赞融宣科技有限公司 | 数据分类方法、装置以及计算机可读存储介质 |
US11003629B2 (en) * | 2018-10-31 | 2021-05-11 | EMC IP Holding Company LLC | Dual layer deduplication for application specific file types in an information processing system |
CN113407798B (zh) * | 2021-06-22 | 2023-12-22 | 深圳大学 | 度量空间划分多边界搜索性能衡量的方法及相关组件 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406603B1 (en) * | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US8725705B2 (en) | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US7870409B2 (en) * | 2007-09-26 | 2011-01-11 | Hitachi, Ltd. | Power efficient data storage with data de-duplication |
US8527482B2 (en) | 2008-06-06 | 2013-09-03 | Chrysalis Storage, Llc | Method for reducing redundancy between two or more datasets |
WO2010036889A1 (en) | 2008-09-25 | 2010-04-01 | Bakbone Software, Inc. | Remote backup and restore |
WO2010045262A1 (en) | 2008-10-14 | 2010-04-22 | Wanova Technologies, Ltd. | Storage-network de-duplication |
US8375182B2 (en) * | 2009-02-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | System and method for segmenting a data stream |
US8489612B2 (en) * | 2009-03-24 | 2013-07-16 | Hewlett-Packard Development Company, L.P. | Identifying similar files in an environment having multiple client computers |
US20100318759A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Distributed rdc chunk store |
US9280609B2 (en) | 2009-09-08 | 2016-03-08 | Brocade Communications Systems, Inc. | Exact match lookup scheme |
WO2011053274A1 (en) * | 2009-10-26 | 2011-05-05 | Hewlett-Packard Development Company, L.P. | Sparse index bidding and auction based storage |
US8321648B2 (en) * | 2009-10-26 | 2012-11-27 | Netapp, Inc | Use of similarity hash to route data for improved deduplication in a storage server cluster |
GB2467239B (en) * | 2010-03-09 | 2011-02-16 | Quantum Corp | Controlling configurable variable data reduction |
US8250325B2 (en) * | 2010-04-01 | 2012-08-21 | Oracle International Corporation | Data deduplication dictionary system |
US8326824B2 (en) * | 2010-05-28 | 2012-12-04 | International Business Machines Corporation | Methods to estimate existing cache contents for better query optimization |
US8694703B2 (en) * | 2010-06-09 | 2014-04-08 | Brocade Communications Systems, Inc. | Hardware-accelerated lossless data compression |
US8463797B2 (en) | 2010-07-20 | 2013-06-11 | Barracuda Networks Inc. | Method for measuring similarity of diverse binary objects comprising bit patterns |
US8924663B2 (en) * | 2010-09-09 | 2014-12-30 | Nec Corporation | Storage system, computer-readable medium, and data management method having a duplicate storage elimination function |
US8682873B2 (en) | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US9639543B2 (en) * | 2010-12-28 | 2017-05-02 | Microsoft Technology Licensing, Llc | Adaptive index for data deduplication |
US9110936B2 (en) * | 2010-12-28 | 2015-08-18 | Microsoft Technology Licensing, Llc | Using index partitioning and reconciliation for data deduplication |
GB2477607B (en) * | 2011-01-17 | 2011-12-28 | Quantum Corp | Sampling based data de-duplication |
US20120185612A1 (en) | 2011-01-19 | 2012-07-19 | Exar Corporation | Apparatus and method of delta compression |
US8612392B2 (en) | 2011-05-09 | 2013-12-17 | International Business Machines Corporation | Identifying modified chunks in a data set for storage |
US8805796B1 (en) | 2011-06-27 | 2014-08-12 | Emc Corporation | Deduplicating sets of data blocks |
US8825626B1 (en) * | 2011-08-23 | 2014-09-02 | Emc Corporation | Method and system for detecting unwanted content of files |
US8990171B2 (en) * | 2011-09-01 | 2015-03-24 | Microsoft Corporation | Optimization of a partially deduplicated file |
US8484170B2 (en) * | 2011-09-19 | 2013-07-09 | International Business Machines Corporation | Scalable deduplication system with small blocks |
CN103034659B (zh) * | 2011-09-29 | 2015-08-19 | 国际商业机器公司 | 一种重复数据删除的方法和系统 |
US9047304B2 (en) | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
US8914338B1 (en) * | 2011-12-22 | 2014-12-16 | Emc Corporation | Out-of-core similarity matching |
US20140115182A1 (en) * | 2012-10-24 | 2014-04-24 | Brocade Communications Systems, Inc. | Fibre Channel Storage Area Network to Cloud Storage Gateway |
US9069478B2 (en) * | 2013-01-02 | 2015-06-30 | International Business Machines Corporation | Controlling segment size distribution in hash-based deduplication |
US9547662B2 (en) | 2013-03-15 | 2017-01-17 | International Business Machines Corporation | Digest retrieval based on similarity search in data deduplication |
US9678975B2 (en) | 2013-03-15 | 2017-06-13 | International Business Machines Corporation | Reducing digest storage consumption in a data deduplication system |
US9116941B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Reducing digest storage consumption by tracking similarity elements in a data deduplication system |
US10366072B2 (en) | 2013-04-05 | 2019-07-30 | Catalogic Software, Inc. | De-duplication data bank |
-
2013
- 2013-03-15 US US13/840,094 patent/US9244937B2/en active Active
-
2014
- 2014-03-17 CN CN201410098083.2A patent/CN104050233B/zh active Active
-
2015
- 2015-12-16 US US14/970,740 patent/US9600515B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140279952A1 (en) | 2014-09-18 |
US9600515B2 (en) | 2017-03-21 |
CN104050233B (zh) | 2018-04-10 |
US20160103868A1 (en) | 2016-04-14 |
US9244937B2 (en) | 2016-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050233A (zh) | 有效计算相似搜索值和摘要块边界的方法和系统 | |
CN104050234A (zh) | 在重复数据删除系统中减少摘要存储消耗的方法和系统 | |
CN103530310B (zh) | 为基于散列的消重进行子块分割的方法和系统 | |
CN104199815B (zh) | 在重复数据删除系统中减少摘要存储消耗的方法和系统 | |
US10102150B1 (en) | Adaptive smart data cache eviction | |
CN104919430B (zh) | 将数据实时分类到数据压缩域 | |
CN103514247A (zh) | 将去除了重复的数据打包到有限大小容器中的方法和系统 | |
JP6212137B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP6320432B2 (ja) | データ重複排除における、類似性探索に基づくダイジェスト検索 | |
JP6429963B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
CN103678473B (zh) | 用于在去重虚拟介质中进行高效文件归档回收的方法和系统 | |
CN107924291B (zh) | 存储系统 | |
US10261946B2 (en) | Rebalancing distributed metadata | |
CN104272275A (zh) | 增强数据缓存性能 | |
CN105009085A (zh) | 信息处理系统、控制程序以及信息处理设备 | |
CN103942157A (zh) | 用于计算存储环境中的数据处理的方法和系统 | |
US10242021B2 (en) | Storing data deduplication metadata in a grid of processors | |
US11151056B2 (en) | Efficient virtualization layer structure for a data storage system | |
CN103197924A (zh) | 用于实时选择压缩操作的方法和系统 | |
US10255288B2 (en) | Distributed data deduplication in a grid of processors | |
US10963177B2 (en) | Deduplication using fingerprint tries | |
US10474587B1 (en) | Smart weighted container data cache eviction | |
US20140160591A1 (en) | Storage apparatus and data management method | |
EP3819754B1 (en) | Information processing apparatus and recording medium storing information processing program | |
Shu | Data Storage Architectures and Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |