用于数据重复删除的系统及方法技术方案

技术编号:7191515 阅读:295 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示一种用于数据重复删除的系统,其包括:卡,其可操作以接收至少一个数据块;以及该卡上的处理器,其产生各数据块的散列。该系统进一步包括:第一模块,其确定该散列的处理状态;以及第二模块,其丢弃重复散列及其数据块并将唯一散列及其数据块写入计算机可读介质。在一实施例中,该处理器还使用压缩算法来压缩每一个数据块。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及电子系统中用于重复删除(deduplicate)数据的系统及方法。
技术介绍
磁盘提供一种用于备份数据中心的容易、快速及方便的方式。当制作包含完全备份、累加备份及差异备份的额外备份时,需要额外的磁盘及磁盘空间。然而,磁盘增加了任何备份解决方案的成本,包含磁盘自身之成本、与向磁盘提供电力及冷却磁盘相关联之成本及与将磁盘实体地储存在数据中心相关联之成本。因此,期望最大化各磁盘上可用磁盘储存的使用。一种使磁盘上的储存最大化的方法是使用某种形式的数据压缩。基于软件的压缩可能缓慢且是处理器密集的 (processor-intensive),因此可使用硬件加速压缩。然而,使用数据压缩可实现2 1的标称压缩比,这仅减缓了对增加额外磁盘储存的需求。数据重复删除(data deduplication)提供了另一种容量最佳化方法,其可减少给定数据量所需的储存容量。这又可减少获取成本、电力成本、加热成本及冷却成本。另外, 可藉由减少数据备份所需的实体磁盘的个数而减少管理成本。可在线内(in-line)或在后处理中执行数据重复删除。当写入数据时,实时地执行线内数据重复删除。后处理发生在数据已被写入至非重复删除磁盘之后但在该数据被交付至永久介质之前。后处理需要临时储存完全备份,因此使重复删除的储存优点失效。
技术实现思路
在一实施例中,一种用于数据重复删除的系统包括卡,可操作以接收至少一个数据块;以及该卡上的处理器,其产生每一个数据块的散列。该系统进一步包括第一模块, 其确定散列的处理状态;以及第二模块,其丢弃重复的散列及其数据块,并将唯一的散列及其数据块写入计算机可读介质。在一实施例中,该处理器还使用压缩算法来压缩每一个数据块。附图说明借助于附图来描述本专利技术的进一步的细节,其中图1示出根据一实施例的块层级重复删除的示意图。图2示出根据一实施例的用于数据重复删除的系统。图3示出根据一实施例的用于数据重复删除的方法。图4示出根据一实施例的用于数据重复删除的第二方法。图5示出根据一实施例的文件至块的映射。图6示出根据一实施例的网络化储存示例。图7示出根据一实施例的潜在重复删除部署点。具体实施例方式数据重复删除是一种可用以藉由消除给定数据量内的冗余或重复数据模式 (pattern)而最小化该给定数据量所需的储存量的技术。数据的唯一模式中的每一个可与基于每一个数据模式所计算的“指纹”相关联。每一个指纹识别唯一的数据模式且可用以识别并丢弃重复数据模式。因为仅储存唯一数据,所以总所需磁盘空间得以减小。通常可使用密码散列函数来完成识别指纹并将指纹指派给数据模式。该密码散列函数可接收数据模式并基于该数据模式而产生唯一指纹。类似于数据压缩,散列处理亦可为处理器密集的。例如,线内软件重复删除(即其中实时执行重复删除)可以每秒数十 (10)个兆字节接受数据流,与可以每秒数百(100)个兆字节接受数据流的非重复删除方法形成鲜明对比。因此,将散列处理转移(off-load)至专属硬件是有益的。这能够加速散列处理并缓解通用处理器上的处理压力。在一实施例中,一种用于重复删除的方法包括接收数据块。可从文件系统接收该数据块。该方法进一步包括产生该数据块的散列值。可使用各种不同算法来产生该散列值。该方法还包括确定该散列值是否是唯一的。此可藉由比较该数据块的散列值与已被处理且被写入磁盘的其它数据块的散列值而完成。另外,该方法包括如果该散列值并非是唯一的,则丢弃该散列值及该数据块;而如果该散列值是唯一的,则将该数据块写入磁盘。此外,数据压缩服务可结合数据重复删除而使用,以进一步最小化给定数据集所需的储存空间。在一实施例中,如果该散列值是唯一的,则在将该数据块写入磁盘之前对其进行压缩。在一实施例中,可于文件层级或于块(子文件)层级执行数据重复删除。文件层级的重复删除(亦称为单一实例储存(SIS))消除了系统内或跨系统的相同文件。然而,文件层级重复删除要求待重复删除之文件相同。图1示出根据一实施例的块层级重复删除的示意图。当在文件系统处接收应用数据时,应用数据在被写入至磁盘之前被分解成若干群集或块。在图1中,NTFS文件100包括如群集1至群集η所示的一个或多个群集。使用文件层级的重复删除,将比较NTFS文件100与系统中的其它文件。若发现NTFS文件100与已储存在该系统上的另一文件相同,则将其丢弃。使用块层级的重复删除,可重复删除包括该文件的每一个群集(或块)。例如,将不会于文件层级重复删除具有相同内容但具有不同标题页的两个展示文件。当于块或子文件层级执行数据重复删除时,重复删除包括每一个文件的数据块。块层级的重复删除可用以丢弃重复的块,并储存那些不同的块(例如,与标题页相对应的块)。在一实施例中,一种用于数据重复删除的系统可包括可操作以接收至少一个数据块的专属硬件卡。该卡上的处理器可产生针对每一个数据块的散列。该系统还可包括确定该散列的处理状态的第一模块。该处理状态可指示与该散列相关联的数据块是否唯一。另外,第二模块可丢弃重复散列及其数据块,并将唯一散列及其数据块写入计算机可读介质。 在一实施例中,该专属硬件卡可包括亦可操作以使用压缩算法来压缩每一个数据块的处理ο5图2示出根据一实施例的用于数据重复删除的系统。在图2中,该系统包含文件系统,该文件系统包括I/O管理器200、NT文件系统(NTre)驱动器202、动态磁盘管理器204、 磁盘类驱动器206及MorPort驱动器208。该系统进一步包含一个或更多个虚拟块设备 (VBD) 210,该虚拟块设备(VBD)210提供应用程序接口给容量最佳化服务。在一实施例中, 该容量最佳化服务包含数据重复删除服务。在其它实施例中,该容量最佳化服务可进一步包含自适应性数据压缩、精简配置(thin provisioning)及容量监测服务。应用与每一个 VBD交互,如同其为任何其它标准容体(例如,VBD可表示为D 驱动器或其它典型的容体标签)。每一个VBD可被配置为使用不同的重复删除块大小。例如,重复删除块大小可设定为4k、8k、16k或32k。若块大小被设定为4k,则文件将被分成含有该文件所必需的许多个 4k大小的块。接着,将重复删除这些块。块大小可被配置为针对具有不同性能需求的不同应用提供改进的性能。在一实施例中,由可管理多达16个不同的VBD的MorPort VMiniport 驱动器112建立每一个VBD。StorPort驱动器108进一步可操作以使数据转向重复删除服务,并使用由重复删除服务建立的指纹来过滤该数据。图2进一步包含重复删除块管理器(DBM) 214。该DBM提供与可包含重复删除及压缩服务的硬件容量最佳化服务的接口。在写入操作期间,该DBM经由卡驱动器216将数据块传递至卡218上的处理器。该处理器针对每一个数据块产生指纹(亦称为散列)并将该散列返回至DBM。在一实施例中,卡压缩数据块并将已经压缩的块连同其对应的散列返回至DBM。接着,该DBM可使用每一个散列值来确定数据块是唯一的(并因此应将其写入磁盘 220)或该数据块是重复的(应将其丢弃)。在一实施例中,卡218可以是购自Los Gatos, California 的 Hifn 公司的 Hifn DR255 卡。在一实施例中,使本文档来自技高网...

【技术保护点】
1.一种用于重复删除的方法,包括:接收数据块;产生所述数据块的散列值;确定所述散列值是否唯一;若所述散列值不是唯一的,则丢弃所述散列值及所述数据块;以及若所述散列值是唯一的,则将所述数据块写入磁盘。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:约翰·爱德华多·杰拉德·马特兹
申请(专利权)人:爱萨有限公司
类型:发明
国别省市:US

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

1