容忍磁盘阵列中多个相关或任意双盘故障的方法和装置制造方法及图纸

技术编号:2858465 阅读:176 留言:0更新日期:2012-04-11 18:40
一种用于在磁盘阵列中存储数据的方法,该磁盘阵列具有能够存储相当于n个物理磁盘数据的至少2n+1个物理磁盘,所述方法包括步骤:    将数据存储在至少一个数据带的n个物理磁盘上,每个数据带被分成n个被称作条的大小基本相等的组,并被分布在该n个物理磁盘上;    产生每个相应数据带的校验条,每个数据带的数据条仅一次性被包含在相应产生的校验条中;以及    将每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条分布在磁盘阵列的2n+1个物理磁盘上,每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条均在磁盘阵列的分别不同的磁盘上。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及大容量存储设备的领域。本专利技术尤其涉及可以容忍多个相关磁盘故障或任意双磁盘故障而不丢失任何存储数据的磁盘阵列。
技术介绍
为性能及管理的目的,磁盘通常被组织成阵列。为防止阵列中任何磁盘损坏而导致的数据丢失,数据被以冗余方式存储在阵列的磁盘内,以使磁盘的子集足够用来导出存储在该阵列的所有数据。迄今为止,大多数系统被设计成容忍单磁盘故障。对单磁盘故障的设计基本原理是,磁盘发生故障应该较少,使得当磁盘发生故障时,在另一个故障发生前有足够的时间从故障中恢复。然而,现场数据显示磁盘故障可能是相关的。就是说,一个存储系统或一个磁盘阵列内的第二个磁盘故障很可能在第一个故障之后不久发生。这样的相关性可能仅仅由这样的事实引起,即一个阵列中的磁盘往往是来自同一批磁盘,经受相同的物理和电气条件,处理来自相同的工作负荷和来自控制器的相同命令,等等。另外,阵列中一个磁盘故障的发生可能触发增加剩余磁盘压力的系统内变化。甚至替换故障磁盘的行为可能增加阵列中其他部分发生故障的机会。例如,错误的磁盘可能被替换掉。工业中有若干趋势使单故障容错越来越不足。第一,越来越多的磁盘在被分组到一个阵列。相应地,一个阵列中发生多个故障的机会增加了。第二,磁盘容量的增加比数据速度的增加要快。因此,重建一个磁盘的时间通常会增加,因此加长了其间阵列可能易产生随后的磁盘故障的时间窗口。第三,磁盘商家正持续积极地增加区域密度。在历史上,这已经导致了可能预期持续到将来的磁盘可靠性的减小。第四,与多磁盘故障相关的费用正在增加。将主逻辑单元号(LUN)分布在许多磁盘阵列上的类似虚拟化的技术,增加了多磁盘故障的不利影响,因为会影响更多的主LUN。一个磁盘阵列中从多磁盘故障恢复的常规技术大致分类为双校验,双镜像及RAID 51型模式。双校验型模式将RAID 5型模式(使用单校验)扩展为使用双校验。双校验型模式的一个不足之处是在支持的磁盘数量方面的不可变更性,例如,磁盘的基本数量。例如,见L.Xu等人的“X-CodeMDS array codes with optimal encoding,”IEEE Transactions on Information Theory,45,1,pp.272-276,1999。双校验型模式的另一个不足之处是可能需要非常复杂的更新过程,这一过程中一个块的每次更新可能需要若干其他块被更新。例如,见M.Blaum等人,“The EVENODD code and its generalizationAnefficient scheme for tolerating multiple disk failures in RAIDarchitectures,”High Performance Mass Storage and Parallel I/OTechnologies and Applications(H.Jin等人编辑),Ch.14,pp.187-208,New York,NYIEEE Computer Society Press and Wiley,2001。而双校验型模式的另一个不足是校验编码和解码复杂度可能较高。例如,见P.M.Chen等人,“RAIDHigh-performance,reliable secondarystorage,”ACM Computing Surveys,26,2,pp.145-185,June 1994。每个写请求产生至少三个磁盘读操作和三个磁盘写操作。双校验型模式可以容忍最多两个磁盘故障。在双镜像型模式中,数据被镜像两次,使得有该数据的三个拷贝。每个写请求产生三个磁盘写操作来更新每个拷贝。双镜像模式使用未保护阵列的三倍存储空间。RAID 51型模式防止单磁盘故障破坏数据,并且镜像RAID 5阵列来保护多达三个任意磁盘故障。对于一个写请求,产生两个磁盘读操作和4个磁盘写操作。美国专利5258984,Menon等人,题目为“DASD阵列中的分布式共享方法和装置,”揭示了为提高性能在磁盘阵列中的所有磁盘均匀分布备用空间。所需要的是在磁盘阵列中存储数据的一种有效技术,以便即使当阵列中有任何两个磁盘发生故障或当多于两个相关磁盘发生故障时,仍能获得数据。
技术实现思路
本专利技术提供了磁盘阵列中存储数据的一种有效技术,使得当阵列中有任何两个磁盘发生故障,或当多于两个的相关磁盘发生故障时,仍能获得数据。本专利技术的优点是由一种磁盘阵列来提供,该磁盘阵列包含能够存储相当于n个物理磁盘的数据的至少2n+1个物理磁盘。数据被存储在至少一个数据带(data stripe)的物理磁盘上。每个数据带被分成n个称作条(strip)的大小基本相等的组。每个数据带具有一个相应的校验条(parity strip),当校验条生成时,通过仅一次性包含每个数据条来产生该校验条。每个数据带中的数据条、每个这样的数据条的拷贝及每个数据带的相应校验条,被分布在磁盘阵列的2n+1个物理磁盘中。分布按照这样的方式实现,即数据带的每个数据条、每个这样的数据条的拷贝及每个数据带的相应校验条均在磁盘阵列的分别不同的磁盘上。当磁盘阵列包含至少一个备用物理磁盘时,每个数据带的数据条、每个这样的数据条的拷贝及每个数据带的相应校验条分布在磁盘阵列的2n+1个物理磁盘和每个备用磁盘上。该分布使得每个数据带的数据条、每个这样的数据条的拷贝及每个数据带的相应校验条均在磁盘阵列的分别不同的磁盘上。本专利技术的另一个实施例提供了一种磁盘阵列系统,该磁盘阵列系统具有多个磁盘,其中至少一个磁盘对主机数据处理系统是可见的。该磁盘阵列系统通过执行仅两次多个磁盘的读操作以及仅三次多个磁盘的写操作来响应来自主机数据处理系统的主机数据写请求。根据本专利技术,当多个磁盘中的任何两个磁盘发生故障时,磁盘阵列系统能够恢复所有存储的数据。第一个可选实施例假定多个磁盘存储数据,数据的完全拷贝,以及对数据的至少一个子集所计算出的校验数据。第二个可选实施例假定如同RAID 5系统结构那样,校验数据在阵列的多个磁盘中基本均匀地分布。而第三个可选实施例假定多个磁盘中的至少一个磁盘是备用磁盘,并且由每个备用磁盘提供的备用空间在多个磁盘中基本均匀地分布。第四个可选实施例假定多个磁盘被分成两个子阵列,其中有控制器控制每个相应子阵列。相应地,这两个子阵列可以共同定位或相互远离地定位。一个子阵列最好按照RAID 5系统结构布置,而另一个子阵列按照RAID 0系统结构布置。按照RAID 0系统结构布置的子阵列存储在按照RAID 5系统结构布置的子阵列中存储的数据的镜像数据,但是不存储在按照RAID 5系统结构布置的子阵列中存储的数据的校验数据。为了基本上平衡两个子阵列的每个磁盘的工作负荷,从主机数据处理系统接收的请求被有选择地分配给两个子阵列中的任一个。另一个可选实施例假定多个磁盘被分成两个子阵列,并且多个磁盘中的至少一个磁盘为备用磁盘。每个备用磁盘所提供的备用空间被基本均匀地分布在子阵列和多个磁盘中。由磁盘阵列系统存储的RAID 5系统校验被基本均匀地分布在子阵列和多个磁盘中。一个子阵列存储另一个子阵列所存储数据的镜像数据。从另一个角度看,本专利技术提供了包含多个磁盘的磁盘阵列系统,至少一个磁盘对主机数据处理系统是可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于在磁盘阵列中存储数据的方法,该磁盘阵列具有能够存储相当于n个物理磁盘数据的至少2n+1个物理磁盘,所述方法包括步骤将数据存储在至少一个数据带的n个物理磁盘上,每个数据带被分成n个被称作条的大小基本相等的组,并被分布在该n个物理磁盘上;产生每个相应数据带的校验条,每个数据带的数据条仅一次性被包含在相应产生的校验条中;以及将每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条分布在磁盘阵列的2n+1个物理磁盘上,每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条均在磁盘阵列的分别不同的磁盘上。2.根据权利要求1的方法,其中数据存储在多个数据带中,并且其中多个校验条基本均匀地分布在2n+1个物理磁盘上。3.根据权利要求1的方法,其中磁盘阵列进一步包含至少一个备用物理磁盘;并且其中分布步骤包括分布每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条在磁盘阵列的2n+1个物理磁盘以及磁盘阵列的每个备用磁盘上的步骤,每个数据带的数据条、每个这样的数据条的拷贝以及每个数据带的相应校验条在磁盘阵列的各自不同的磁盘...

【专利技术属性】
技术研发人员:温德索尔·维·桑·苏杰什安卡尔·姆塞德斯·梅农奥内斯蒂·成·杨斯潘塞NG
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1