CN103500161B - 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统 - Google Patents

用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统 Download PDF

Info

Publication number
CN103500161B
CN103500161B CN201310142064.0A CN201310142064A CN103500161B CN 103500161 B CN103500161 B CN 103500161B CN 201310142064 A CN201310142064 A CN 201310142064A CN 103500161 B CN103500161 B CN 103500161B
Authority
CN
China
Prior art keywords
data
storage
range
choice
storage control
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.)
Active
Application number
CN201310142064.0A
Other languages
English (en)
Other versions
CN103500161A (zh
Inventor
R·M·菲斯科
C·E·琼斯
S·罗伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103500161A publication Critical patent/CN103500161A/zh
Application granted granted Critical
Publication of CN103500161B publication Critical patent/CN103500161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了各种实施例,用于在计算环境中的数据重复删除系统中保存相同数据的数据冗余。在一个实施例中,公开了用于这种保存的方法。将计算环境中虚拟存储设备的虚拟地址的选定范围指定为不受重复删除操作的影响。公开了其它系统和计算机程序产品的实施例并且提供了相关优点。

Description

用于通过指定虚拟地址在重复删除系统中保存冗余的方法和 系统
技术领域
本发明通常涉及计算机,并且更具体地涉及用于在计算环境中保存冗余及其它数据安全性特征的方法、系统和计算机程序产品,所述计算环境包括数据重复删除(deduplication)系统。
背景技术
在当今社会的各种环境中都可以见到计算机和计算机系统。可以在家里、在工作中、在学校里、在政府中以及在其它环境中找到计算环境和网络。计算环境逐渐将数据储存在一个或者多个存储环境中,所述存储环境多数情况下远离提供给用户的本地接口。
这些计算存储环境可以使用许多存储设备(例如磁盘驱动器),它们通常协同工作以存储、检索和更新大量数据,所述数据可能随后被提供给请求或者传送该数据的主计算机。在某些情况下,将许多数据存储子系统当作单个数据存储系统进行共同管理。可以通过主"sysplex"(系统综合体)配置来管理这些子系统,所述主"sysplex"配置与若干处理单元或者处理单元集群相结合。这样,多层级/多系统计算环境通常包括各种类型的存储设备,其可以用于组织和处理大量数据。
发明内容
许多多层级/多系统计算环境通过减少各存储设备上重复存储的数量实现数据重复删除技术以提高存储性能。由于数据重复删除系统帮助减少需要用于存储数据的物理存储总量,因此它们越来越多地被使用。这种减少是通过保证重复数据不被多次存储来完成的。相反, 例如,如果一个数据块与已经存储的数据块相匹配,那么原始数据的指针被存储在虚拟存储映射中,而不是分配新的物理存储空间用于新数据块。
然而,在某些情况下,重复删除的行为可能不利于例如托管应用程序或者存储政策的冗余需求,或者其它需求。需要一种机制,借此机制保护具有冗余需求的数据,然而通过允许对不具有这种需求的其余数据进行重复删除,从而重复删除系统的好处不会减少。
综上所述,公开了用于在数据重复删除系统中保存相同数据的数据冗余的各种实施例。在一个实施例中,仅作为示例,公开了用于这种保存的方法。将计算环境中虚拟存储设备的虚拟地址的选定范围指定为不经历重复删除操作。因此,对此该选定地址范围的任何写入都将不经历重复删除。
除上述示例性实施例之外,提供了各种系统和计算机程序实施例并且提供相关优点。
附图说明
为了容易地理解本发明的优点,将参照附图中示出的具体实施例对上面简述的发明进行更详细的描述。可以理解,这些附图仅描述各典型实施例,从而不被认为是对其范围的限制,将通过使用附图用附加特征和细节来描述和说明本发明,其中:
图1是示出了可以在其中实现本发明各方面的数据存储系统的硬件结构的框图;
图2示出了可以在其中实现本发明各方面的示例性应用程序和文件系统,其可以在先前图1中描述的数据存储环境中操作;
图3示出了如示例性流程中示出的本发明的功能的各方面的框图;
图4示出了再次如示例性流程中示出的本发明的功能的其他各方面的框图;
图5示出了在根据本发明的数据重复删除系统中用于确保冗余 的示例性方法;以及
图6示出了在其中可以实现本发明各方面的用于处理数据的示例性方法。
具体实施方式
在存储控制器中的数据重复删除通常在应用程序的"幕后"工作,并且当针对应用程序的需要执行重复删除操作时可能有时进行的操作与应用程序的关注点相反。如果应用程序写入相同数据的多个副本,并且打算保留多个物理副本,而同时重复删除子系统(重复删除引擎)找到了这些匹配副本并且当存储数据时结束对副本的重复删除时,就可能出现这种情况。这可能对应用程序是不利的,其期待在不同位置处找到多个副本,并且使得相信其已经通过存储子系统进行了这样的操作,但实际上仅写入了数据的单个副本。
考虑以下示例。文件系统通常倾向于在基于块的存储设备上写入"超级块"的多个物理副本或者描述文件系统的元数据片段或者在虚拟磁盘上进行写入这些数据(或其它元数据信息)以确保冗余。由于超级块的内容是相同的,因此数据重复删除将导致保留超级块的单个物理副本并且为相同物理块指出多个虚拟地址。由于当没有超级块的冗余副本时,超级块的物理副本上的单个块的损失可能使得文件系统完全不可用,因此这种情况非常不可取的。即使这些重复删除副本可以被写入冗余存储(示例:双向镜像卷或者三向镜像卷),但是因为通常存储的超级块副本的数量取决于文件系统的大小,所以由于文件系统意图超过两倍或者三倍地写入超级块,因此这仍然不够。通常,在数据重复删除系统中不存在直接解决该问题的方法。
可以采用各种间接方法以尝试解决这一问题。在一个示例中,可以对存储池进行镜像,其中数据重复删除子系统从所述存储池划分物理存储器(即,包括相同数据的2个或者3个副本)。从而即使重复删除也可以创建多个冗余副本。然而,由于下列理由,这对于应用程序的保护是不充分的。首先,应用程序可能希望例如保持相同数据 的十(10)个副本。但是,如果存储池是双向镜像的,那么它可以仅保留最多两(2)个副本中。其次,由于数据重复删除划分跨越大量存储和多个文件系统的物理存储器池,因此很可能多个应用程序和文件系统共用相同的物理存储器池。从而,数据的某些关键副本(像超级块)即使属于多个文件系统,但是它们在物理上也可能放置在相同的磁盘上。由于重复删除将阻止相同数据的多个副本被写入多个物理位置,因此关键数据的副本数量减少并且它们可以位于多个文件系统的相同物理磁盘上。这些增加了单个故障变得致命的风险。
所示实施例提供多种机制用于解决先前讨论的问题。这些机制的一个目标是保证在存储控制器(或者它可能位于的位置)中的重复删除子系统平衡减少数据副本数量的好处与为关键数据物理分配多个副本的应用程序需求。在以下所示实施例中描述的方法中的每一个都可以被用于各种环境中并且可能具有针对那些环境的附带好处。
在一个这种实施例中,当存储控制器(或者其它存储管理设备)暴露虚拟磁盘(设备)以供拥有的应用程序使用时,存储控制器能够创建这样的设备——它们的整个块地址范围的一些部分被指定为对输入的写入命令不进行重复删除。从而为了存储相同数据的多个物理副本,拥有的应用程序可以从该特定虚拟地址范围分配空间。在一个实施例中,这些地址范围可以跨越整个虚拟地址范围以便可以达到足够的地址范围覆盖。
鉴于所述实施例,通过允许应用程序将某些数据分配给不重复删除的存储,并且由此指定写入是否必须被重复删除,由此允许应用程序灵活地实现与它生成的数据相关联的存储策略。这样,应用程序处于比重复删除系统更好的位置以确定所选择的数据块(即使是相同的)是否仍必须位于单独的物理位置。另外,存储控制器(或者其它存储管理设备)继续通过重复删除执行其数据减少的任务,并且同时允许对拥有的应用程序有足够的控制以在需要时取消重复删除。
实际上,通过允许对拥有的应用程序的控制以通过对它如此特别分配来指定哪些数据将停止数据重复删除操作,从而为应用程序提 供非常精细的控制,在仍然保留重复删除功能的优点以及为关键数据保留冗余的同时允许实现的灵活性。
在以下描述中,参照形成本发明一部分并示出本发明的若干实施例的附图。可以理解,可以利用其它实施例,并且在不脱离本发明的范围的情况下可以进行结构和操作的改变。
图1示出了可以在其中实现本发明各方面的计算存储环境。多个主机系统2a、b…n通过存储控制器6将输入/输出(I/O)请求传送至一个或者多个存储卷28、30和32,所述存储控制器管理对存储卷28、30和32的访问。在某些实现中,存储卷可以在物理上由多个硬盘驱动器组成,所述硬盘驱动器被组织成简单磁盘捆绑(JBOD)、RAID阵列、直接访问存储设备(DASD)、SSD、磁带设备等。
作为对提供许多物理卷或者逻辑卷(通常可以以复杂关系进行物理配置)的替代,将许多虚拟卷22、24和26提供给主机系统2a、b…n。主机系统2a、b…n可以通过网络8(例如因特网、存储区域网络(SAN)、内联网、局域网(LAN)、广域网等)使用协议栈中的不同层处的多个通信协议(例如TCP/IP、光纤信道、以太网等)与存储控制器6进行通信。
存储控制器6包括处理器10用于执行代码12以执行存储控制器操作。存储控制器6进一步包括高速缓存系统14和非易失性存储单元16(例如电池备份存储器设备)。存储控制器6将从主机2a、b…n接收到的数据更新存储在高速缓存14中,用以写入虚拟存储卷22、24和26(从而写入卷28、30和32)以及将从卷28、30和32读取的数据存储在高速缓存14中用以返回主机2a、b…n。当以快速写入模式操作时,从主机2a、b…n接收到的数据更新被复制到高速缓存14和NVS16。在更新被复制到高速缓存14和NVS16之后,结束状态被返回至发送数据更新的主机2a、b…n。
如下面将进一步描述的,存储控制器6还包括与存储管理组件18进行通信的数据重复删除引擎17。数据重复删除引擎17被配置为 与处理器10一起对写入数据执行数据重复删除操作,其中所述写入数据通过存储控制器6写入到虚拟卷20和卷28、30和32。
高速缓存系统14可以包括数据频率索引映射或者简称“存储映射”(为了说明方便起见未示出)。在一个实施例中,高速缓存系统14从主机2a、b…n或者类似设备接受写入数据,其随后被放置于高速缓存存储器中。然后数据重复删除引擎17为高速缓存存储器中的复制测试写入数据,并且为存储映射中的这些写入索引和频率。
如本领域技术人员将理解的,图1可以说明具有许多相互联系组件(例如先前所示的存储控制器6)的较大的、多系统/多集群存储环境的一部分。如前所述,在将虚拟卷22、24和26经由主机系统2a、b…n提供给用户时,底层物理配置可以采取很多可能的形式。例如,在不同类型中的许多相互联系存储设备(例如SSD、SATA、HDD、磁带等)根据具体配置可以包括存储卷28、30和32。
转至图2,示出了在其中可以实现本发明各方面的示例主计算机系统200。如先前在图1中描述的,主计算机系统200包括主机2,该主机2具有连接至大容量存储设备204和存储器设备206的中央处理单元(CPU)202。大容量存储设备204可以包括硬盘驱动器(HDD)设备,该硬盘驱动器设备可以被配置为独立磁盘冗余阵列(RAID)。
可以在位于系统200或者其它位置的存储器206上执行进一步描述的存储器管理操作。存储器设备206可以包括像电可擦可编程序只读存储器(EEPROM)或者相关设备的主机这样的存储器。存储器设备206和大容量存储器设备204经由信号承载介质被连接至CPU202。另外,CPU202和整个主机2被连接至通信网络8。
如图所示的存储器206包括应用程序208和应用程序210,在其中文件系统212是可操作的。应用程序208和应用程序210可以创建、删除或者管理数据片段(例如数据组块或者数据块),所述数据片段被物理存储在像大容量存储器设备204这样的设备中,例如,存储在分级存储设备中的如图1所示的存储器28、30和32中。文件系 统212通过提供流程以存储、检索和更新数据从而提供用以组织在应用程序210终止之后期望被保留的数据的手段,以及管理包括文件系统212的设备上的可用空间。文件系统212以有效的方式组织数据,并且被协调到设备的特定特征(例如计算机主机2、CPU202和/或者存储器206)。
在一个实施例中,应用程序208可以是操作系统(OS)208,或者应用程序210可以是OS210,并且文件系统212在OS210和文件系统212之间保留了紧密的耦合。文件系统212可以提供控制对数据和元数据的访问的机制,并且可以包括用于确保数据可靠性的机制,例如,如本领域技术人员将要理解的,本发明进一步的某些方面所需的机制。文件系统212可以为多个应用程序208、210提供用以在几乎相同的时间在相同文件中更新数据的手段。
如前所述,存储控制器6(再次,图1)可以具有将虚拟卷(设备)20的一部分或者虚拟卷20的整个卷分类为无数据重复删除处理的能力。如将进一步描述的,应用程序208、210和文件系统212与存储控制器6协同操作以将该已分类的存储分配给选定的数据片段。
在一个示例性实施例中,当虚拟设备20被创建在存储控制器6上时,计算管理员可以在必须不执行数据重复删除的虚拟设备20上指定各种大小的逻辑块地址(LBA)范围或者多个范围。因此,针对这一/这些特定虚拟地址范围的任何写入被写入物理磁盘。通过与之前的数据匹配进行重复删除的尝试对于落入这些指定LBA范围内的那些写入操作来说不执行。
计算管理员可以选择让存储控制器6在内部确定停止数据重复删除操作的虚拟地址范围是否是单一的、连续的范围,或者该范围是否是被分成均匀分布在虚拟设备20整个地址范围上的多个不连续片段。在一个实施例中,例如,可以由存储控制器选择被存储控制器指定为“没有重复删除”的虚拟地址空间以使得它们位于不同的物理磁盘上。例如,可以由存储控制器智能地执行虚拟地址范围的选择以使得这些范围分布于故障域中。
当发现由存储控制器6创建的上述虚拟设备20时,可以借助于特别的小型计算系统接口(SCSI)命令将块地址的范围传输至拥有的应用程序。在一个实施例中,该命令可以是模式感知命令或者查询命令的唯一页。其它技术对本领域技术人员将是显而易见的。
一旦应用程序208、210或者文件系统212变得知道先前所述的块地址范围,那么应用程序208、210或者文件系统212可以为那些不需要进行重复删除的数据片段(例如,超级块)从这些选定的范围分配空间。这样,当拥有的应用程序向这些特殊地址范围发出写入命令时,可以由拥有的应用程序存储相同数据块的多个副本。
现转至图3,本发明各功能方面的框图被描绘成示例性流程300。在所描述的实施例中,文件系统212向存储控制器6发出命令302(例如前面提到的SCSI命令)以传输已经被指定用于停止数据重复删除操作的可用地址范围。如前面提到的,如本领域技术人员将理解的,虚拟地址的范围可以在不同的物理磁盘上或者可以改变。如图所示,存储控制器6接下来分配304虚拟卷20的一部分306。
在图4中,接着,文件系统当前已经发出写入命令以将所选择的数据物理地写入(写入请求/写入数据402)所指定的虚拟地址范围。写入请求和伴随的写入数据402绕开重复删除引擎,而不在其上执行任何重复删除操作(例如指纹匹配功能和本领域普通技术人员所知的其它操作),并且将所选择的数据作为片段406和408写入虚拟卷(并且最终写入对应于那些范围的物理磁盘)。如图所示,虚拟卷片段406和408是不连续的(它们由片段410隔开)。在另一个实施例中,存储控制器6可以决定将所选择的数据写入连续片段中分配的存储器或者非连续片段中分配的存储器。
接着,图5示出了用于在具有数据重复删除系统的存储子系统中确保数据冗余的示例性方法500的流程图,在所述流程图中可以实现本发明的各方面。方法500开始(步骤502)于将虚拟设备上的虚拟地址(例如LBA范围)的一个或者多个选定范围指定为不经历重复删除操作。然后方法500结束(步骤506)。
接着,图6示出了用于数据处理的示例性方法600的另外的流程图,这里同样在所述流程图中可以实现本发明的各方面。方法600开始于(步骤602)三个可能性中的一个。首先,系统和管理员之间的接口可以帮助上述虚拟地址选择。其次,为了满足特定存储需求或者解决在存储环境中特定时间发现的不同情况,存储控制器可以智能地分配虚拟地址范围。该决定可以基于有关如何横跨不同物理存储介质分配虚拟地址部分的内部认知。如前面所述,例如,存储控制器可以智能分配虚拟地址以使得范围不会分布于故障域。第三,存储管理员本身可以选择性地选择特定虚拟地址范围。无论如何,每个选择都导致那些虚拟地址(和对应的物理存储)的指定为免于在其上执行重复删除操作。
如接下来的步骤,接着向所指定的虚拟地址范围发出写入命令(步骤610)。写入数据绕过重复删除系统到达虚拟卷中分配的存储器(步骤612),并且因此阻止执行重复删除操作(步骤614)。然后方法600结束(步骤614)。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM 或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据 处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然已经详细地说明了本发明的一个或多个实施例,本领域的普通技术人员应当理解,在不脱离下列权利要求所限定的本发明保护范围的情况下,可以对这些实施例进行修改和改变。

Claims (14)

1.一种用于通过处理器在计算环境中的数据重复删除系统中保留相同数据的数据冗余的方法,所述数据重复删除系统包括存储设备和存储控制器,所述存储设备可与包括主机应用程序的主机计算设备耦合,所述存储设备包括具有多个虚拟地址的虚拟存储设备,所述存储控制器与所述存储设备耦合,可在计算环境中操作,所述存储控制器用于执行防止存储相同数据的多个副本的重复删除操作,所述方法包括:
由所述存储控制器将所述计算环境中的虚拟存储设备的虚拟地址的选择范围指定为不经历重复删除操作;
由所述主机应用程序生成多个数据片段;以及
由所述主机应用程序为所生成的数据片段实施相关联的存储策略,使得所生成的所述数据片段的至少一部分不经历重复删除操作,其中所述主机应用程序或者文件系统可以为那些不需要进行重复删除的数据片段从所述选择范围分配空间。
2.根据权利要求1所述的方法,其中指定所述选择范围包括规定虚拟卷上的虚拟地址的大小。
3.根据权利要求1所述的方法,进一步包括处理要被写入所指定的选择范围的数据以绕开所述数据重复删除系统,从而阻止对要被写入的数据执行所述重复删除操作。
4.根据权利要求3所述的方法,其中处理数据包括向所指定的选择范围的分配部分发出写入命令。
5.根据权利要求3所述的方法,进一步包括,根据处理数据,执行以下中的至少一个:
发现所指定的选择范围,以及
借助命令将所发现的范围传输至在所述计算环境中操作的应用程序。
6.根据权利要求1所述的方法,其中指定所述选择范围进一步包括规定所述选择范围的大小,所述选择范围是由在所述计算环境中操作的主机应用程序和管理员中的至少一个中的一个指定的。
7.根据权利要求1所述的方法,进一步包括由在所述计算环境中操作的存储控制器智能地确定所述选择范围必须是连续的还是不连续的,所述智能地确定基于如何跨不同物理存储介质对部分虚拟地址进行分配的内部认知。
8.一种用于在计算环境中的数据重复删除系统中保留相同数据的数据冗余的系统,所述数据重复删除系统包括存储设备,所述存储设备可与包括主机应用程序的主机计算设备耦合,所述存储设备包括具有多个虚拟地址的虚拟存储设备,所述系统包括:
能够在所述计算环境中操作的存储控制器,所述存储控制器与所述存储设备耦合,可在计算环境中操作,所述存储控制器用于执行防止存储相同数据的多个副本的重复删除操作,其中所述存储控制器被配置为将所述计算环境中的虚拟存储设备的虚拟地址的选择范围指定为不经历重复删除操作;
与所述存储控制器可操作地通信的主机应用程序,被配置为生成多个数据片段,以及为所生成的数据片段实施相关联的存储策略,使得所生成的所述数据片段的至少一部分不经历重复删除操作,其中所述主机应用程序可以为那些不需要进行重复删除的数据片段从所述选择范围分配空间。
9.根据权利要求8所述的系统,其中所述存储控制器进一步被配置为根据指定所述选择范围,规定虚拟卷上的虚拟地址的大小。
10.根据权利要求8所述的系统,其中所述存储控制器进一步被配置为处理要被写入所指定的选择范围的数据以绕开所述数据重复删除系统,从而阻止对要被写入的数据执行所述重复删除操作。
11.根据权利要求10所述的系统,进一步包括与所述存储控制器可操作地通信的文件系统,其中所述文件系统被配置为向所指定的选择范围的分配部分发出写入命令。
12.根据权利要求10所述的系统,其中所述存储控制器进一步被配置为,根据所述处理数据,执行以下中的至少一个:
发现所指定的选择范围,以及
借助于命令将所发现的范围传输至所述主机应用程序。
13.根据权利要求8所述的系统,其中所述存储控制器进一步适于根据指定所述选择范围,规定所述选择范围的大小,所述选择范围是由在所述计算环境中操作的主机应用程序和管理员中的至少一个中的一个指定的。
14.根据权利要求8所述的系统,其中所述存储控制器进一步被配置为由在所述计算环境中操作的存储控制器智能地确定所述选择范围必须是连续的还是不连续的,所述智能地确定基于如何跨不同的物理存储介质对部分虚拟地址进行分配的内部认知。
CN201310142064.0A 2012-04-23 2013-04-23 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统 Active CN103500161B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/453,266 2012-04-23
US13/453,266 US9262428B2 (en) 2012-04-23 2012-04-23 Preserving redundancy in data deduplication systems by designation of virtual address

Publications (2)

Publication Number Publication Date
CN103500161A CN103500161A (zh) 2014-01-08
CN103500161B true CN103500161B (zh) 2018-07-20

Family

ID=49381081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310142064.0A Active CN103500161B (zh) 2012-04-23 2013-04-23 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统

Country Status (2)

Country Link
US (3) US9262428B2 (zh)
CN (1) CN103500161B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156420B (zh) * 2014-08-06 2017-10-03 曙光信息产业(北京)有限公司 事务日志的管理方法和装置
US9851906B2 (en) * 2015-06-16 2017-12-26 Vmware, Inc. Virtual machine data placement in a virtualized computing environment
US10037149B2 (en) * 2016-06-17 2018-07-31 Seagate Technology Llc Read cache management
US10496292B2 (en) * 2017-01-19 2019-12-03 International Business Machines Corporation Saving/restoring guarded storage controls in a virtualized environment
US20190034306A1 (en) * 2017-07-31 2019-01-31 Intel Corporation Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs
CN110502184B (zh) * 2018-05-17 2021-01-05 杭州海康威视系统技术有限公司 一种存储数据的方法、读取数据的方法、装置及系统
US10795861B2 (en) * 2018-06-20 2020-10-06 International Business Machines Corporation Online measurement of potential deduplication efficiency
CN112486414A (zh) * 2020-11-27 2021-03-12 惠州Tcl移动通信有限公司 数据处理方法及装置、存储介质和移动终端

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749428B1 (ko) 1999-12-20 2007-08-14 다이니폰 인사츠 가부시키가이샤 분산형 데이터 아카이브 장치, 시스템 및 기록 매체
US20040111625A1 (en) 2001-02-14 2004-06-10 Duffy Dominic Gavan Data processing apparatus and method
EP1271951A1 (en) 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
US7287047B2 (en) * 2001-11-23 2007-10-23 Commvault Systems, Inc. Selective data replication system and method
US20030115447A1 (en) 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
US20040131182A1 (en) 2002-09-03 2004-07-08 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
JP4620518B2 (ja) 2005-04-26 2011-01-26 株式会社ケンウッド 音声データベース製造装置、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム
US20070168350A1 (en) 2006-01-17 2007-07-19 Tom Utiger Management of non-traditional content repositories
US9465823B2 (en) 2006-10-19 2016-10-11 Oracle International Corporation System and method for data de-duplication
US7873809B2 (en) * 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
JP5060876B2 (ja) 2007-08-30 2012-10-31 株式会社日立製作所 ストレージシステム及びストレージシステムの消費電力低減方法
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
JP5026213B2 (ja) 2007-09-28 2012-09-12 株式会社日立製作所 ストレージ装置及びデータ重複排除方法
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US7979670B2 (en) 2008-01-24 2011-07-12 Quantum Corporation Methods and systems for vectored data de-duplication
US7814074B2 (en) 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
US20090319772A1 (en) 2008-04-25 2009-12-24 Netapp, Inc. In-line content based security for data at rest in a network storage system
US8346730B2 (en) 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks
US7908436B1 (en) 2008-04-25 2011-03-15 Netapp, Inc. Deduplication of data on disk devices using low-latency random read memory
US9395929B2 (en) 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US8117464B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8219524B2 (en) 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US8392791B2 (en) 2008-08-08 2013-03-05 George Saliba Unified data protection and data de-duplication in a storage system
US8086799B2 (en) 2008-08-12 2011-12-27 Netapp, Inc. Scalable deduplication of stored data
US8074049B2 (en) 2008-08-26 2011-12-06 Nine Technology, Llc Online backup system with global two staged deduplication without using an indexing database
US8290915B2 (en) 2008-09-15 2012-10-16 International Business Machines Corporation Retrieval and recovery of data chunks from alternate data stores in a deduplicating system
US8190823B2 (en) 2008-09-18 2012-05-29 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for storage cache deduplication
US8131687B2 (en) 2008-11-13 2012-03-06 International Business Machines Corporation File system with internal deduplication and management of data blocks
US9058118B1 (en) 2008-12-31 2015-06-16 Symantec Corporation Techniques for synchronizing and/or consolidating storage areas
US8271718B2 (en) * 2009-03-11 2012-09-18 Hitachi, Ltd. Storage system and control method for the same, and program
US8140491B2 (en) 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8218759B2 (en) 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
US8412848B2 (en) 2009-05-29 2013-04-02 Exagrid Systems, Inc. Method and apparatus for content-aware and adaptive deduplication
US8401181B2 (en) 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
GB2472072B (en) 2009-07-24 2013-10-16 Hewlett Packard Development Co Deduplication of encoded data
CN101656720B (zh) 2009-08-12 2012-10-17 北京握奇数据系统有限公司 对信息系统中访问对象信息统一维护的方法及装置
US8200641B2 (en) 2009-09-11 2012-06-12 Dell Products L.P. Dictionary for data deduplication
EP2414926A1 (en) 2009-09-18 2012-02-08 Hitachi, Ltd. Storage system for eliminating duplicated data
FR2952778B1 (fr) 2009-11-17 2011-12-23 Thales Sa Procede de transmission de donnees securise et systeme de chiffrement et de dechiffrement permettant une telle transmission
US9239843B2 (en) 2009-12-15 2016-01-19 Symantec Corporation Scalable de-duplication for storage systems
US8108447B2 (en) 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
JP5434705B2 (ja) 2010-03-12 2014-03-05 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
JP4892072B2 (ja) 2010-03-24 2012-03-07 株式会社東芝 ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法
US8453031B2 (en) 2010-03-24 2013-05-28 International Business Machines Corporation Data deduplication using CRC-seed differentiation between data and stubs
US8442942B2 (en) 2010-03-25 2013-05-14 Andrew C. Leppard Combining hash-based duplication with sub-block differencing to deduplicate data
US8954669B2 (en) * 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8886613B2 (en) 2010-10-12 2014-11-11 Don Doerner Prioritizing data deduplication
US20120095968A1 (en) * 2010-10-17 2012-04-19 Stephen Gold Storage tiers for different backup types
US8380681B2 (en) 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
CN102156727A (zh) 2011-04-01 2011-08-17 华中科技大学 一种采用双指纹哈希校验的重复数据删除方法
CN102281320A (zh) 2011-04-25 2011-12-14 程旭 控制云存储中数据冗余的方法及装置
CN102221982B (zh) * 2011-06-13 2013-09-11 北京卓微天成科技咨询有限公司 块级虚拟化存储设备上实现重复数据删除的方法及系统
US20120317084A1 (en) 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
US8930307B2 (en) 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8468138B1 (en) 2011-12-02 2013-06-18 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
US8712976B1 (en) 2012-03-28 2014-04-29 Emc Corporation Managing deduplication density
US8812456B2 (en) 2012-03-30 2014-08-19 Netapp Inc. Systems, methods, and computer program products for scheduling processing to achieve space savings

Also Published As

Publication number Publication date
US9767113B2 (en) 2017-09-19
CN103500161A (zh) 2014-01-08
US9262428B2 (en) 2016-02-16
US9268785B2 (en) 2016-02-23
US20130282674A1 (en) 2013-10-24
US20160124985A1 (en) 2016-05-05
US20130282670A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
CN103500161B (zh) 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统
JP7312251B2 (ja) 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること
US8204858B2 (en) Snapshot reset method and apparatus
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
CN103473250B (zh) 用于保存文件系统节点的过去状态的方法与系统
US6779095B2 (en) Apparatus and method for instant copy of data using pointers to new and original data in a data location
US8495293B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
US8055622B1 (en) Immutable data containers in tiered storage hierarchies
US10635340B2 (en) Storage tiering with efficient allocation of redundant data
CN106407040A (zh) 一种远程数据复制方法及系统
US8850145B1 (en) Managing consistency groups in storage systems
US20020087544A1 (en) Dynamically changeable virtual mapping scheme
US9218138B1 (en) Restoring snapshots to consistency groups of mount points
WO2002103510A2 (en) Apparatus and method for dynamically changeable virtual mapping scheme
WO2002103509A2 (en) Apparatus and method for instant copy of data in a dynamically changeable virtual mapping environment
CN104246774A (zh) 通过指示符在数据重复消除系统中保留冗余
CN113448502B (zh) 分布式存储系统和存储控制方法
JP2021140402A (ja) ストレージシステム及びその制御方法
US10331362B1 (en) Adaptive replication for segmentation anchoring type
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
JP2021060818A (ja) ストレージシステムおよびデータ移行方法
US20080177960A1 (en) Export of Logical Volumes By Pools
US20130282675A1 (en) Preserving redundancy in data deduplication systems by designation of virtual device
US11803527B2 (en) Techniques for efficient data deduplication
CN113360082B (zh) 存储系统及其控制方法

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