CN101971148B - 选择用于数据存储库的重复删除协议 - Google Patents

选择用于数据存储库的重复删除协议 Download PDF

Info

Publication number
CN101971148B
CN101971148B CN200980108498.0A CN200980108498A CN101971148B CN 101971148 B CN101971148 B CN 101971148B CN 200980108498 A CN200980108498 A CN 200980108498A CN 101971148 B CN101971148 B CN 101971148B
Authority
CN
China
Prior art keywords
raid
data
fault
agreement
delete
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.)
Expired - Fee Related
Application number
CN200980108498.0A
Other languages
English (en)
Other versions
CN101971148A (zh
Inventor
N·豪斯泰恩
D·J·维纳尔斯基
U·特罗普恩斯
C·A·克莱恩
A·K·贝特斯
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
Priority to CN201210436082.5A priority Critical patent/CN102981922B/zh
Publication of CN101971148A publication Critical patent/CN101971148A/zh
Application granted granted Critical
Publication of CN101971148B publication Critical patent/CN101971148B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种选择用于数据存储库的重复删除协议的方法,该数据存储库包括配置为RAID阵列的多个数据存储设备,该方法建立:常规重复删除协议、RAID故障重复删除协议、以及多存储设备故障重复删除协议。该方法接收包括多个交织数据块的主机数据。如果系统在没有任何存储设备故障的情况下运行,则该方法使用常规重复删除协议来处理主机数据。如果系统在具有一个存储设备故障的情况下运行,则该方法使用RAID故障重复删除协议来处理主机数据。如果系统在具有多个存储设备故障的情况下运行,则该方法使用多存储设备故障重复删除协议来处理主机数据。

Description

选择用于数据存储库的重复删除协议
技术领域
本发明涉及选择用于数据存储库的重复删除(deduplication)协议的装置和方法。
背景技术
计算系统生成信息。使用多个数据存储介质来存储这种信息在本领域内是已知的。在独立磁盘冗余阵列(“RAID”)配置中,信息被存储在数据存储介质的阵列中,以提供容错和改进的数据访问性能。RAID通过使用专用硬件或者软件将物理存储介质组合到单个逻辑单元中。
在RAID 3、4、5和6阵列配置中,称为“数据条带化(datastriping)”的过程与奇偶校验数据(也即,编码的冗余信息)结合使用。在RAID 6中,使用行条带和对角线条带二者,并且一组奇偶校验与每个行条带相关联,而另一组奇偶校验与每个对角线条带相关联,以用于双冗余。在RAID 6中,行奇偶校验可以集中在单个行奇偶校验存储介质中,而对角线奇偶校验可以集中在不同的单个对角线奇偶校验存储介质中,或者行和对角线奇偶校验可以跨阵列中的所有数据存储介质而分布。每个RAID条带包括预定数目的顺序逻辑块阵列。
通过对数据进行条带化以及跨阵列中的所有驱动器来分布奇偶校验,优化的性能通过最小化对单个驱动器的恒定访问得以实现。如果RAID 6配置中的驱动器发生故障失效,则可以使用其余驱动器上的奇偶校验数据来重建写入故障驱动器的数据。如果阵列配置有在线备用驱动器,则当检测到故障驱动器时,RAID重建自动开始。如果阵列未配置有备用驱动器,则RAID重建在故障驱动器被替换后开始。
为了重建丢失的数据,从阵列中的其余驱动器读取每个丢失的条带。使用由RAID控制器异或(“XOR”)引擎执行的XOR操作来恢复丢失的条带。在XOR引擎恢复丢失的条带之后,向替换驱动器或者在线备用驱动器写入该恢复的条带。对于RAID 3、4和5而言,重建过程涉及从阵列中可操作驱动器的N-1次读取,以及向替换驱动器或在线备用驱动器的单次写入。当条带完全恢复时,重建过程继续恢复下一丢失的条带。对于RAID级别6下的双故障,使用行条带和对角线条带二者来构造驱动器数据,该数据正被重建到两个备用驱动器中。
在重建过程期间,阵列保持对于用户是可访问的。RAID控制器必须分配系统资源以处理主机I/O请求以及处理RAID重建二者。
发明内容
本发明包括一种选择用于数据存储库的重复删除协议的方法,该数据存储库包括配置为RAID阵列的多个数据存储设备。该方法建立:常规重复删除协议、RAID故障重复删除协议、以及多存储设备故障重复删除协议。该方法接收包括多个交织数据块的主机数据。如果系统在没有任何存储设备故障的情况下运行,则该方法使用常规重复删除协议来处理主机数据。如果系统在具有一个存储设备故障的情况下运行,则该方法使用RAID故障重复删除协议来处理主机数据。如果系统在具有多个存储设备故障的情况下运行,则该方法使用多存储设备故障重复删除协议来处理主机数据。
在某些实施方式中,该方法动态地设置重复删除协议。在这些实施方式中,重复删除协议是故障数据存储设备的数目、实际RAID重建速率、最小RAID重建阈值以及最大RAID重建阈值的函数。
附图说明
现在,将仅仅通过示例的方式参考附图来描述本发明的实施方式,其中:
图1是示出按照本发明一个实施方式的数据存储系统的一个实施方式的框图。
图2A是示出使用光纤信道仲裁回路与多个数据存储介质通信的一个RAID控制器的框图。
图2B是示出使用双光纤信道仲裁回路与多个数据存储介质通信的两个RAID控制器的框图。
图3是概括出按照本发明第一实施方式的方法中的某些步骤的流程图。
图4是概括出按照本发明第二实施方式的方法中的某些步骤的流程图。
图5是概括出第二实施方式的某些附加步骤的流程图。
具体实施方式
在下文描述中,将参考附图通过优选实施方式来描述本发明,附图中的相似数字表示相同或相似的元素。在整个说明书中,提及“一个实施方式”、“实施方式”或类似的语言表示:结合该实施方式描述的特定特征、结构或者特性包括在本发明的至少一个实施方式中。由此,在本发明中出现的短语“在一个实施方式中”、“在实施方式中”以及类似语言可以但并非一定都表示相同的实施方式。
所描述的本发明的特征、结构或者特性可以通过任何适当的方式结合在一个或多个实施方式中。在下文描述中,记载了多个特定的细节,以便提供对本发明实施方式的透彻理解。然而,相关领域的技术人员将会认识到,可以在无需一个或多个特定细节的情况下实践本发明,或者可以利用其他方法、组件、材料等来实践本发明。在其他情况下,没有示出或详细描述公知的结构、材料或者操作,以便混淆本发明的方面。
在图1示出的实施方式中,数据处理系统100包括RAID控制器120以及数据存储介质130、140、150和160。在图1示出的实施方式中,RAID控制器120分别经由I/O协议132、142、152和162来与数据存储介质130、140、150和160通信。I/O协议132、142、152和162可以包括任何类型的I/O协议,包括但不限于:光纤信道回路、SCSI(小型计算机系统接口)、iSCSI(因特网SCSI)、SAS(串行附接SCSI)、光纤信道、光纤信道上的SCSI、以太网、以太网上的光纤信道、无限频带以及SATA(串行ATA)。
“数据存储介质”表示信息存储介质,其结合有向该信息存储介质写入信息以及从其读取信息所需的硬件、固件和/或软件。在某些实施方式中,信息存储介质包括磁性信息存储介质,诸如但不限于磁盘、磁带等。在某些实施方式中,信息存储介质包括光学信息存储介质,诸如但不限于CD、DVD(数字通用盘)、HD-DVD(高清DVD)、BD(蓝光盘)等。在某些实施方式中,信息存储介质包括电子信息存储介质,诸如PROM、EPROM、EEPROM、闪速PROM、压缩闪存、智能介质等。在某些实施方式中,信息存储介质包括全息信息存储介质。
在图1示出的实施方式中,RAID控制器120与主机计算机102、104和106通信。一般而言,主机计算机102、104和106每个都包括计算系统,诸如大型机、个人计算机、工作站及其组合,其包括操作系统,诸如Windows、AIX、Unix、MVS、LINUX等(Windows是微软公司的注册商标;AIX是IBM公司的注册商标,MVS是IBM公司的商标;UNIX是美国和其他国家中的注册商标,通过OpenGroup独占许可;并且LINUX是Linux Torvald的注册商标)。在某些实施方式中,一个或多个主机计算机102、104和/或106还包括存储管理程序。在某些实施方式中,该存储管理程序可以包括本领域中已知的存储管理类程序的功能,其管理去往和来自数据存储和检索系统(例如但不限于在IBM MVS操作系统中实现的IBM DFSMS)的数据传送。
在图1示出的实施方式中,本发明的RAID控制器120包括:处理器128、XOR引擎129、计算机可读介质121、写入到计算机可读介质121的微码122,以及写入到计算机可读介质121的指令124。处理器128使用微码122来操作RAID控制器120。在图1示出的实施方式中,RAID控制器120还包括重建位图126,其中重建位图包括N个指示符,并且其中每个指示符与不同的数据条带相关联。如果第i个指示符被设为第一值,则相关联的数据条带尚未重建,并且其中如果第i个指示符被设为第二值,则相关联的数据条带已经重建,其中i小于或等于1,并且大于或等于N。
除了处理与接收自一个或多个主机计算机的数据相关的输出/输出(“I/O”)操作(例如但不限于,数据重复删除)之外,处理器128还执行某些后台操作,例如但不限于:检查和验证奇偶校验,RAID重建,以及其他“内务(housekeeping)”杂务。在某些实施方式中,处理器必须分配系统资源,例如但不限于,在数据重复删除与RAID重建之间分配处理器资源。
在图1示出的实施方式中,主机计算机102、104和106分别使用I/O协议103、105和107连接至架构110。I/O协议103、105和107可以是任意类型的I/O协议;例如,光纤信道(“FC”)回路,与架构110的直接附接,或者由主机计算机102、104和106用来传送去往以及来自架构110的信息的一个或多个信号线。
在某些实施方式中,架构110例如包括一个或多个FC交换机115。在某些实施方式中,这一个或多个交换机115包括一个或多个传统路由器交换机。在图1示出的实施方式中,一个或多个交换机115经由I/O协议117将主机计算机102、104和106与RAID控制器120互联。I/O协议117可以包括任意类型的I/O接口,例如,光纤信道、无限频带、千兆以太网、以太网、TCP/IP、iSCSI、SCSI I/O接口或者由FC交换机115用来传送去往和来自RAID控制器以及随后的数据存储介质30、140、150和160的信息的一个或多个信号线。在其他实施方式中,一个或多个主机计算机(例如但不限于,主机计算机102、104和106)分别使用I/O协议103、105和107与RAID控制器120直接通信。
在图2A示出的实施方式中,本发明的RAID控制器120使用交换机的光纤信道仲裁(“FC-AL”)回路与数据存储介质130、140、150和160通信,其中控制器120以及介质130、140、150和160不是在信息存储和检索系统200中。本领域的技术人员将会理解,信息存储和检索系统200还包括附加元件,例如但不限于一个或多个主机适配器、一个或多个设备适配器、数据高速缓存、非易失性存储等。图2A示出的实施方式不应被认为将本发明限制于使用光纤信道网络或者设备。在其他实施方式中,使用其他网络拓扑和设备,包括但不限于SAS设备和/或SATA设备。
在图2B示出的实施方式中,本发明的信息存储和检索系统202包括交换机的双FC-AL回路,其中RAID控制器120A和RAID控制器120B与两个FC-AL回路互联。每个FC-AL回路包含一个或多个本地控制器,诸如本地控制器210、220、230、240、250和260。本领域的技术人员将会理解,信息存储和检索系统200还包括附加元件,例如但不限于一个或多个主机适配器、一个或多个设备适配器、数据高速缓存、非易失性存储等。在图2B示出的实施方式中,每个RAID控制器与第一多个数据存储介质270、第二多个数据存储介质280和第三多个数据存储介质290通信。
图2B示出的实施方式不应认为将本发明限于使用光纤信道网络或设备。在图2B示出的实施方式中,两个FC-AL回路的记载包括本发明装置的一个实施方式。在其他实施方式中,使用其他网络拓扑和设备,包括但不限于SAS设备和/或SATA设备。
本领域的技术人员将会理解,数据重复删除包括消除冗余数据的过程。在重复删除过程中,删除重复数据,保留待存储数据的仅一个拷贝。在某些实施方式中,仍然保持所有数据的索引,如果该数据曾经需要的话。因为只存储了唯一的数据,所以重复删除能够提高RAID阵列的存储容量。
一般地,数据的重复删除可以在文件级别或者数据块级别操作。文件级别重复删除消除了重复文件,但这并不是非常有效的重复删除手段。块重复删除在文件内进行,并且保存每个块或比特的唯一迭代。使用诸如MD 5或者SHA-1的散列算法对每个数据区块进行处理。该过程生成针对每个片的唯一编号,该编号继而被存储在索引中。
如果文件被更新,则仅保存改变的数据。也即,如果只改变了文档或者表示的几个字节,则只保存改变的块或字节,改变不会构造全新的文件。因此,块重复删除比文件重复删除节省更多的存储空间。然而,块重复删除需要较多的处理器资源。
在RAID重建期间,本发明的RAID控制器在RAID重建与数据重复删除之间分配处理资源。图3概括出了本发明的用于在同时执行RAID重建时选择数据重复删除协议的方法。现在参考图3,在步骤310中,该方法提供包括RAID控制器和RAID阵列的数据存储系统。
在步骤315中,该方法建立常规重复删除协议。在某些实施方式中,步骤315的常规重复删除协议对接收自一个或多个主机计算机的信息中安置的约90%到100%的重复数据块进行重复删除。在某些实施方式中,步骤315的常规重复删除协议对接收自一个或多个主机计算机的信息中安置的100%的重复数据块进行重复删除。
在某些实施方式中,步骤310的数据存储系统的制造商执行步骤315。在某些实施方式中,步骤310的数据存储系统的所有者和/或操作者执行步骤315。在某些实施方式中,与步骤310的数据存储系统互联的主机计算机执行步骤315。
在步骤320,该方法建立RAID故障重复删除协议。“RAID故障”表示RAID阵列中配置的一个数据存储设备的故障。在某些实施方式中,步骤320的RAID故障重复删除协议对接收自一个或多个主机计算机的信息中安置的约40%到60%的重复数据块进行重复删除。在某些实施方式中,步骤320的RAID故障重复删除协议对接收自一个或多个主机计算机的信息中安置的约50%的重复数据块进行重复删除。
在某些实施方式中,步骤310的数据存储系统的制造商执行步骤320。在某些实施方式中,步骤310的数据存储系统的所有者和/或操作者执行步骤320。在某些实施方式中,与步骤310的数据存储系统互联的主机计算机执行步骤320。
在步骤325,该方法建立多存储设备故障重复删除协议。在某些实施方式中,步骤320的RAID多存储设备故障重复删除协议对接收自一个或多个主机计算机的信息中安置的约15%到35%的重复数据块进行重复删除。在某些实施方式中,步骤325的多个存储设备故障重复删除协议对接收自一个或多个主机计算机的信息中安置的约25%的重复数据块进行重复删除。
在某些实施方式中,步骤310的数据存储系统的制造商执行步骤325。在某些实施方式中,步骤310的数据存储系统的所有者和/或操作者执行步骤325。在某些实施方式中,与步骤310的数据存储系统互联的主机计算机执行步骤325。
在步骤330中,该方法提供包括多个交织数据块的主机数据。在某些实施方式中,步骤330的数据由RAID控制器接收。在某些实施方式中,步骤330由主机计算机执行。
在步骤335中,该方法确定步骤310的数据存储系统是否在具有RAID故障的情况下运行,也即,是否已经检测到数据存储设备故障。在某些实施方式中,步骤335由RAID控制器执行。在某些实施方式中,步骤335由主机计算机执行。
如果该方法在步骤335中确定步骤310的数据存储系统不是在具有RAID故障的情况下运行,则该方法从步骤335转到步骤345,其中该方法使用步骤315的常规重复删除协议来处理步骤330的主机数据。在某些实施方式中,步骤345由RAID控制器执行。在某些实施方式中,步骤345由主机计算机执行。
在步骤355中,该方法确定是否接收到附加主机数据。在某些实施方式中,步骤355由RAID控制器执行。在某些实施方式中,步骤355由主机计算机执行。
如果该方法在步骤355中确定没有接收到附加主机数据,则该方法从步骤355转到步骤370,并且结束。备选地,如果该方法在步骤355中确定已经接收到附加主机数据,则该方法从步骤355转到步骤335,并且如在此描述地继续。
如果该方法在步骤335中确定步骤310的数据存储系统在具有RAID故障的情况下运行,则该方法从步骤335转到步骤340,其中该方法确定步骤310的数据存储系统是否在具有多个数据存储设备故障的情况下运行。在某些实施方式中,步骤340由RAID控制器执行。在某些实施方式中,步骤340由主机计算机执行。
如果该方法在步骤340中确定步骤310的数据存储系统未在具有多个数据存储设备故障的情况下运行,则该方法从步骤340转到步骤350,其中该方法使用步骤320的RAID故障重复删除协议来处理步骤330的主机数据。在某些实施方式中,步骤350由RAID控制器执行。在某些实施方式中,步骤350由主机计算机执行。该方法从步骤350转到步骤355,并且如在此描述的那样继续进行。
如果该方法在步骤340中确定步骤310的数据存储系统在具有多个数据存储设备故障的情况下运行,则该方法从步骤340转到步骤360,其中该方法使用步骤325的多设备故障重复删除协议来处理步骤330的主机数据。在某些实施方式中,步骤360由RAID控制器执行。在某些实施方式中,步骤360由主机计算机执行。该方法从步骤360转到步骤355,并且如在此描述的那样继续进行。
在某些实施方式中,图4概括出了本发明人的用于动态设置重复删除协议的方法步骤。现在转到图4,在步骤410中,该方法提供包括RAID控制器和RAID阵列的数据存储系统。
在步骤420中,该方法提供包括多个交织数据块的主机数据。在某些实施方式中,步骤420的数据有RAID控制器接收。在某些实施方式中,步骤420由主机计算机执行。
在步骤430中,该方法确定RAID阵列中配置的故障数据存储设备的数目M。在某些实施方式中,步骤430由RAID控制器执行。在某些实施方式中,步骤430由主机计算机执行。
在步骤440中,该方法建立偏移因子O的值。在某些实施方式中,O大于或等于0并且小于或等于2。在某些实施方式中,O大于或等于0并且小于或等于3。在某些实施方式中,O大于或等于0并且小于或等于4。在某些实施方式中,步骤440由RAID控制器执行。在某些实施方式中,步骤440由主机计算机执行。
在步骤450中,该方法使用公式(i)来计算N的值。
N=M+1+MO    (i)
在某些实施方式中,步骤450由RAID控制器执行。在某些实施方式中,步骤450由主机计算机执行。
在步骤460中,该方法对步骤420中的主机数据中标识的每第N个重复数据块进行重复删除。在某些实施方式中,步骤460由RAID控制器执行。在某些实施方式中,步骤460由主机计算机执行。
为了向本领域技术人员说明如何实现和使用图4的方法,给出下面的示例。然而,这些示例并非意在限制本发明的范围。
示例I
如果步骤410的数据存储系统在没有任何数据存储设备故障的情况下运行,则使用公式(i)计算出N为1。在此示例中,该方法对步骤420的主机数据中标识的每个重复数据块进行重复删除。
示例II
如果步骤410的数据存储系统在具有1个数据存储设备故障的情况下运行,并且O设为0,则使用公式(i)计算出N为2。在此示例中,该方法对步骤420的主机数据中标识的50%的重复数据块进行重复删除。
示例III
如果步骤410的数据存储系统在具有1个数据存储设备故障的情况下运行,并且O被设为1,则使用公式(i)计算出N为3。在此示例中,该方法对步骤420的主机数据中标识的33.3%的重复数据块进行重复删除。
在某些实施方式中,图4中记载的步骤440包括图5中记载的步骤。现在参考图5,在步骤510中,该方法建立最小RAID重建阈值。例如但非限制,在某些实施方式中,该方法在步骤510中设置约为每小时100GB的最小RAID重建速率。在某些实施方式中,步骤410的数据存储系统的制造商执行步骤510。在某些实施方式中,步骤410的数据存储系统的所有者和/或操作者执行步骤510。在某些实施方式中,与步骤410的数据存储系统互联的主机计算机执行步骤510。
在步骤520中,该方法建立最大RAID重建阈值。例如但非限制,在某些实施方式中,该方法在步骤520中设置约为每小时200GB的最大RAID重建速率。在某些实施方式中,步骤410的数据存储系统的制造商执行步骤520。在某些实施方式中,步骤410的数据存储系统的所有者和/或操作者执行步骤520。在某些实施方式中,与步骤410的数据存储系统互联的主机计算机执行步骤520。
在步骤530中,该方法确定实际RAID重建速率。在某些实施方式中,步骤530由RAID控制器执行。在某些实施方式中,步骤530由主机计算机执行。
在步骤540中,该方法确定步骤530的实际RAID速率是否小于步骤510的最小RAID重建速率阈值。在某些实施方式中,步骤540由RAID控制器执行。在某些实施方式中,步骤540由主机计算机执行。
如果该方法在步骤540中确定步骤530的实际RAID重建速率小于步骤510的最小RAID重建速率阈值,则该方法从步骤540转到步骤550,其中该方法将偏移因子O设为2。在某些实施方式中,步骤550由RAID控制器执行。在某些实施方式中,步骤550由主机计算机执行。该方法从步骤550转到步骤450,并如在此描述的那样继续进行。
如果该方法在步骤540中确定步骤530的实际RAID重建速率未小于步骤510的最小RAID重建速率阈值,则该方法从步骤540转到步骤560,其中该方法确定步骤530的实际RAID重建速率是否小于步骤520的最大RAID重建速率阈值。在某些实施方式中,步骤560由RAID控制器执行。在某些实施方式中,步骤560由主机计算机执行。
如果该方法在步骤560中确定步骤530的实际RAID重建速率小于步骤520的最大RAID重建速率阈值,则该方法从步骤560转到步骤570,其中该方法将偏移因子O设为1。在某些实施方式中,步骤570由RAID控制器执行。在某些实施方式中,步骤570由主机计算机执行。该方法从步骤570转到步骤450,并如在此描述的那样继续进行。
备选地,如果该方法在步骤560中确定步骤530的实际RAID重建速率未小于步骤520的最大RAID重建速率阈值,则该方法从步骤560转到步骤580,其中该方法将偏移因子O设为0。该方法从步骤580转到步骤450,并如在此描述地继续。
在某些实施方式中,图3、图4和图5中记载的各步骤可以合并、消除或者重新排序。
在某些实施方式中,本发明包括诸如指令124(图1)的指令,其驻留在例如计算机可读介质121(图1)的计算机可读介质中,其中这些指令由诸如处理器128(图1)的处理器执行,以执行图3中记载的一个或多个步骤315、320、325、330、335、340、345、350、355、360和/或370,图4中记载的一个或多个步骤420、430、440、450和/或460,和/或图5中记载的一个或多个步骤510、520、530、540、550、560、570和/或580。
在其他实施方式中,本发明包括驻留在任何其他计算机程序产品中的指令,其中这些指令由数据存储系统100(图1)或200(图2A)或202(图2B)外部或内部的计算机执行,以执行图3中记载的一个或多个步骤315、320、325、330、335、340、345、350、355、360和/或370,图4中记载的一个或多个步骤420、430、440、450和/或460,和/或图5中记载的一个或多个步骤510、520、530、540、550、560、570和/或580。在任一情况下,指令可以编码在计算机可读介质中,包括但不限于磁性信息存储介质、光学信息存储介质、电子信息存储介质等。“电子存储介质”表示例如但不限于一个或多个设备,诸如但不限于PROM、EPROM、EEPROM、闪速PROM、压缩闪存、智能介质等。
尽管已经详细说明了本发明的优选实施方式,对于本领域技术人员应当易见的是,在不脱离所附权利要求书中记载的本发明范围的情况下,可以对这些实施方式进行修改和调整。

Claims (8)

1.一种用于选择在数据存储库中使用的重复删除协议的方法,所述数据存储库包括配置为RAID阵列的多个数据存储设备,所述方法包括步骤:
建立常规重复删除协议;
建立RAID故障重复删除协议;
建立多存储设备故障重复删除协议;
接收包括多个交织数据块的主机数据;
确定所述RAID阵列是否在具有RAID故障的情况下运行;
当所述RAID阵列不在具有RAID故障的情况下运行时,使用所述常规重复删除协议来处理所述主机数据;
当所述RAID阵列在具有RAID故障的情况下运行时,确定所述RAID阵列是否在具有多个存储设备故障的情况下运行;
当所述RAID阵列在具有RAID故障、但不具有多个存储设备故障的情况下运行时,使用所述RAID故障重复删除协议来处理所述主机数据;以及
如果所述RAID阵列在具有多个存储设备故障的情况下运行,则使用所述多存储设备故障重复删除协议来处理所述主机数据。
2.如权利要求1所述的方法,其中所述常规重复删除协议对约90%到约100%之间的重复主机数据块进行重复删除。
3.如权利要求1所述的方法,其中所述RAID故障重复删除协议对约40%到约60%之间的重复主机数据块进行重复删除。
4.如权利要求1所述的方法,其中所述多存储设备故障重复删除协议对约15%到约35%的重复主机数据块进行重复删除。
5.一种用于选择在数据存储库中使用的重复删除协议的系统,所述数据存储库包括配置为RAID阵列的多个数据存储设备,所述系统包括:
用于建立常规重复删除协议的装置;
用于建立RAID故障重复删除协议的装置;
用于建立多存储设备故障重复删除协议的装置;
用于接收包括多个交织数据块的主机数据的装置;
用于确定所述RAID阵列是否在具有RAID故障的情况下运行的装置;
用于当所述RAID阵列不在具有RAID故障的情况下运行时,使用所述常规重复删除协议来处理所述主机数据的装置;
用于当所述RAID阵列在具有RAID故障的情况下运行时,确定所述RAID阵列是否在具有多个存储设备故障的情况下运行的装置;
用于当所述RAID阵列在具有RAID故障、但不具有多个存储设备故障的情况下运行时,使用所述RAID故障重复删除协议来处理所述主机数据的装置;以及
用于如果所述RAID阵列在具有多个存储设备故障的情况下运行,则使用所述多存储设备故障重复删除协议来处理所述主机数据的装置。
6.如权利要求5所述的系统,其中所述常规重复删除协议对约90%到约100%之间的重复主机数据块进行重复删除。
7.如权利要求5所述的系统,其中所述RAID故障重复删除协议对约40%到约60%之间的重复主机数据块进行重复删除。
8.如权利要求5所述的系统,其中所述多存储设备故障重复删除协议对约15%到约35%的重复主机数据块进行重复删除。
CN200980108498.0A 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议 Expired - Fee Related CN101971148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210436082.5A CN102981922B (zh) 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/046,315 2008-03-11
US12/046,315 US8234444B2 (en) 2008-03-11 2008-03-11 Apparatus and method to select a deduplication protocol for a data storage library
PCT/EP2009/051921 WO2009112332A2 (en) 2008-03-11 2009-02-18 Selecting a deduplication protocol for a data storage library

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210436082.5A Division CN102981922B (zh) 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议

Publications (2)

Publication Number Publication Date
CN101971148A CN101971148A (zh) 2011-02-09
CN101971148B true CN101971148B (zh) 2013-04-17

Family

ID=40941909

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200980108498.0A Expired - Fee Related CN101971148B (zh) 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议
CN201210436082.5A Expired - Fee Related CN102981922B (zh) 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210436082.5A Expired - Fee Related CN102981922B (zh) 2008-03-11 2009-02-18 选择用于数据存储库的重复删除协议

Country Status (6)

Country Link
US (1) US8234444B2 (zh)
EP (1) EP2255287B1 (zh)
JP (2) JP4876187B2 (zh)
KR (1) KR20100135765A (zh)
CN (2) CN101971148B (zh)
WO (1) WO2009112332A2 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640746B2 (en) * 2005-05-27 2010-01-05 Markon Technologies, LLC Method and system integrating solar heat into a regenerative rankine steam cycle
US8261068B1 (en) 2008-09-30 2012-09-04 Emc Corporation Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US9501355B2 (en) * 2008-03-31 2016-11-22 International Business Machines Corporation Storing data and directory information in a distributed storage network
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8166263B2 (en) 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
CA2729078C (en) 2008-09-26 2016-05-24 Commvault Systems, Inc. Systems and methods for managing single instancing data
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
US8412677B2 (en) * 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
US8166314B1 (en) 2008-12-30 2012-04-24 Emc Corporation Selective I/O to logical unit when encrypted, but key is not available or when encryption status is unknown
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8578120B2 (en) 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US8140821B1 (en) 2009-12-18 2012-03-20 Emc Corporation Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8156306B1 (en) 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
JP5691234B2 (ja) * 2010-04-27 2015-04-01 日本電気株式会社 ディスクアレイ装置、及び、ミラーリング制御方法
JP2010257477A (ja) * 2010-06-21 2010-11-11 Hitachi Ltd 記憶制御システム及び同システムの制御方法
US8612699B2 (en) 2010-06-25 2013-12-17 International Business Machines Corporation Deduplication in a hybrid storage environment
US8935492B2 (en) 2010-09-30 2015-01-13 Commvault Systems, Inc. Archiving data objects using secondary copies
GB2473409B (en) * 2011-01-17 2013-03-13 Quantum Corp Cloud-based de-duplication
EP2687974A4 (en) * 2011-03-18 2014-08-13 Fujitsu Ltd STORAGE DEVICE, CONTROL DEVICE, AND CONTROL METHOD
US8775376B2 (en) 2011-06-30 2014-07-08 International Business Machines Corporation Hybrid data backup in a networked computing environment
US8620886B1 (en) 2011-09-20 2013-12-31 Netapp Inc. Host side deduplication
US8781800B2 (en) 2011-11-01 2014-07-15 International Business Machines Corporation Data de-duplication in computer storage systems
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US9298386B2 (en) 2013-08-23 2016-03-29 Globalfoundries Inc. System and method for improved placement of blocks in a deduplication-erasure code environment
US9336076B2 (en) 2013-08-23 2016-05-10 Globalfoundries Inc. System and method for controlling a redundancy parity encoding amount based on deduplication indications of activity
KR101748717B1 (ko) * 2013-09-27 2017-06-19 인하대학교 산학협력단 Ssd 기반 raid 시스템에서 패리티 데이터의 중복제거
US9454434B2 (en) * 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US10242020B2 (en) * 2014-06-17 2019-03-26 International Business Machines Corporation Placement of data fragments generated by an erasure code in distributed computational devices based on a deduplication factor
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9645897B2 (en) 2015-03-11 2017-05-09 International Business Machines Corporation Using duplicated data to enhance data security in RAID environments
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10235396B2 (en) * 2016-08-29 2019-03-19 International Business Machines Corporation Workload optimized data deduplication using ghost fingerprints
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
KR102611571B1 (ko) * 2016-11-09 2023-12-07 삼성전자주식회사 비휘발성 메모리를 포함하는 raid 시스템
US10846178B2 (en) * 2019-01-11 2020-11-24 EMC IP Holding Company LLC Hash-based remote rebuild assistance for content addressable storage systems
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US20210034472A1 (en) * 2019-07-31 2021-02-04 Dell Products L.P. Method and system for any-point-in-time recovery within a continuous data protection software-defined storage
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
EP4053180A4 (en) * 2019-10-29 2023-11-22 Sekisui Kasei Co., Ltd. HOLLOW RESIN PARTICLE AND PRODUCTION METHOD THEREFOR
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11281535B2 (en) 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11403175B2 (en) * 2020-07-31 2022-08-02 EMC IP Holding Company LLC Rebuilding data previously stored on a failed data storage drive

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US6715006B1 (en) * 1999-07-29 2004-03-30 Fujitsu Limited Disk time-sharing apparatus and method
CN1825269A (zh) * 2005-02-24 2006-08-30 日本电气株式会社 盘阵列设备和数据备份方法
CN1862501A (zh) * 2005-05-09 2006-11-15 国际商业机器公司 存储信息的系统和方法
US7159071B2 (en) * 2003-03-07 2007-01-02 Fujitsu Limited Storage system and disk load balance control method thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5486844A (en) 1992-05-01 1996-01-23 Radius Inc Method and apparatus for superimposing displayed images
DE4323471C2 (de) 1993-07-14 1996-10-17 Atecom Advanced Telecommunicat Anordnung und Verfahren zum Bearbeiten von Datenstrukturen bei deren Durchlauf durch einen Netzwerkknoten
US6453396B1 (en) 1999-07-14 2002-09-17 Compaq Computer Corporation System, method and computer program product for hardware assisted backup for a computer mass storage system
US6636878B1 (en) 2001-01-16 2003-10-21 Sun Microsystems, Inc. Mechanism for replicating and maintaining files in a spaced-efficient manner
US7072910B2 (en) * 2002-03-22 2006-07-04 Network Appliance, Inc. File folding technique
JP4225378B2 (ja) 2003-12-17 2009-02-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 複製装置、複製方法、複製プログラム、ブロック識別情報取得プログラム、及び記録媒体
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
JP4324088B2 (ja) 2004-12-17 2009-09-02 富士通株式会社 データ複製制御装置
JP4690783B2 (ja) 2005-06-08 2011-06-01 株式会社日立製作所 ボリューム管理システムおよびその方法
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715006B1 (en) * 1999-07-29 2004-03-30 Fujitsu Limited Disk time-sharing apparatus and method
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US7159071B2 (en) * 2003-03-07 2007-01-02 Fujitsu Limited Storage system and disk load balance control method thereof
CN1825269A (zh) * 2005-02-24 2006-08-30 日本电气株式会社 盘阵列设备和数据备份方法
CN1862501A (zh) * 2005-05-09 2006-11-15 国际商业机器公司 存储信息的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Computing replica placement in distributed systems;McCue,D.L.等;《Management of Replicated Data,1992.,Second Workshop on the》;19921113;58-61 *
McCue,D.L.等.Computing replica placement in distributed systems.《Management of Replicated Data,1992.,Second Workshop on the》.1992,58-61.

Also Published As

Publication number Publication date
WO2009112332A2 (en) 2009-09-17
US20090235022A1 (en) 2009-09-17
EP2255287B1 (en) 2012-11-07
JP2012043449A (ja) 2012-03-01
CN102981922B (zh) 2015-08-26
EP2255287A2 (en) 2010-12-01
JP2011515746A (ja) 2011-05-19
US8234444B2 (en) 2012-07-31
WO2009112332A3 (en) 2010-02-25
JP4876187B2 (ja) 2012-02-15
JP5147979B2 (ja) 2013-02-20
CN101971148A (zh) 2011-02-09
KR20100135765A (ko) 2010-12-27
CN102981922A (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
CN101971148B (zh) 选择用于数据存储库的重复删除协议
CN100390745C (zh) 在处理数据时检验数据完整性的装置及方法
US7979635B2 (en) Apparatus and method to allocate resources in a data storage library
US8464094B2 (en) Disk array system and control method thereof
US8065558B2 (en) Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
US8984241B2 (en) Heterogeneous redundant storage array
US7506200B2 (en) Apparatus and method to reconfigure a storage array disposed in a data storage system
US7962690B2 (en) Apparatus and method to access data in a raid array
US20200004631A1 (en) Efficient utilization of storage space in arrays of storage drives
US20110022889A1 (en) Disk array apparatus and physical disk restoration method
US7506201B2 (en) System and method of repair management for RAID arrays
US10768822B2 (en) Increasing storage capacity in heterogeneous storage arrays
US11748196B2 (en) Adaptive parity rotation for redundant arrays of independent disks
US10152378B2 (en) Data protection for a cold storage system
US10133630B2 (en) Disposable subset parities for use in a distributed RAID
US11592994B2 (en) Providing preferential treatment to metadata over user data
US11049570B2 (en) Dynamic writes-per-day adjustment for storage drives
US11163482B2 (en) Dynamic performance-class adjustment for storage drives

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130417

CF01 Termination of patent right due to non-payment of annual fee