CN101971148B - 选择用于数据存储库的重复删除协议 - Google Patents
选择用于数据存储库的重复删除协议 Download PDFInfo
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 97
- 238000012217 deletion Methods 0.000 claims description 28
- 230000037430 deletion Effects 0.000 claims description 28
- 239000000835 fiber Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1084—Degraded 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%的重复主机数据块进行重复删除。
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)
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)
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)
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 |
-
2008
- 2008-03-11 US US12/046,315 patent/US8234444B2/en not_active Expired - Fee Related
-
2009
- 2009-02-18 KR KR1020107021839A patent/KR20100135765A/ko not_active Application Discontinuation
- 2009-02-18 WO PCT/EP2009/051921 patent/WO2009112332A2/en active Application Filing
- 2009-02-18 JP JP2010550113A patent/JP4876187B2/ja not_active Expired - Fee Related
- 2009-02-18 CN CN200980108498.0A patent/CN101971148B/zh not_active Expired - Fee Related
- 2009-02-18 CN CN201210436082.5A patent/CN102981922B/zh not_active Expired - Fee Related
- 2009-02-18 EP EP09719575A patent/EP2255287B1/en active Active
-
2011
- 2011-09-22 JP JP2011207613A patent/JP5147979B2/ja not_active Expired - Fee Related
Patent Citations (5)
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)
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 |