用于实现从存储阵列中的三重故障中高效恢复的三重奇偶校验技术制造技术

技术编号:5799198 阅读:304 留言:0更新日期:2012-04-11 18:40
一种三重奇偶校验(TP)技术减少了为存储阵列计算对角和反对角 奇偶校验的开销,其中所述存储阵列被适配成实现从该阵列中的三个存 储设备的同时故障中高效地恢复。沿着共同跨越所述阵列的所有数据盘 和行奇偶校验盘的各对角奇偶校验集合计算所述对角奇偶校验。对应于 除了一个之外的所有所述对角奇偶校验集合的奇偶校验被存储在所述 对角奇偶校验盘上。类似地,沿着共同跨越所述阵列的所有数据盘和行 奇偶校验盘的各反对角奇偶校验集合计算所述反对角奇偶校验。对应于 除了一个之外的所有所述反对角奇偶校验集合的奇偶校验被存储在所 述反对角奇偶校验盘上。所述TP技术提供了均匀的条带深度和最优的 奇偶校验信息量。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及存储系统阵列,更具体来说,本专利技术涉及一种用于高效地重建存储阵列的三个故障存储设备的任何组合的技术。
技术介绍
一个存储系统通常包括一个或多个存储设备,其中可以按照期望把数据输入到所述存储设备中并且可以从中获得数据。所述存储系统可以根据多种存储体系结构来实现,其中包括但不限于网络附属存储环境、存储区域网络以及直接附着到客户端或主计算机的盘组件。所述存储设备通常是盘驱动器,其中术语"盘"通常描述独立的旋转磁介质存储设备。术语"盘"在本上下文中与硬盘驱动器(HDD)或直接访问存储设备(DASD)同义。存储系统内的盘通常被组织为 一组或多组,其中每一组被操作为一个独立(或廉,)盘冗余阵列(RAID)。大多数RAID实现方式都通过在所述RAID组中的给定数目的物理盘上冗余地写入数据"条带(stripe),,以及关于所述条带化的数据适当地存储冗余信息而增强数据存储的可靠性/完整性。所迷冗余信息允许在某一存储设备发生故障时恢复所丢失的数据。在盘阵列的操作中,预期盘可能会发生故障。高性能存储系统的一个目标是使得平均数据丟失时间(MTTDL)尽可能长,优选地远长于所述系统的预期服务寿命。在一个或多个盘发生故障时可能会丢失数据,从而使得不可能从所述设备恢复数据。用于避免数据丢失的典型方案包括镜像、备份以及奇偶校验保护。镜像在存储资源(比如盘)的消耗方面是一种昂贵的解决方案。备份不保护在创建了所述备份之后受到修改的数据。奇偶校验方案是常见的,这是因为其提供了对数据的冗余编码,从而通过向所述系统添加仅仅一个盘驱动器而允许单个擦除(丢失一个盘)。奇偶校验保护被使用在计算机系统中,以便防止存储设备(比如盘)上的数据丢失。可以通过把拥有不同数据的多个类似盘上的特定字长(通常是1比特)的数据相加(通常模2 )并且随后将结果存储在附加的类似盘上来计算奇偶校验值。也就是,可以在由每一个所述盘上的相应位置处的比特构成的1比特宽的矢量上计算奇偶校验。当在1比特宽的矢量上计算时,所述奇偶校验可以是所计算的和或其补数;所述和及其补数分别被称作偶数和奇数的奇偶校验。在1比特矢量上的加法和减法对于异或(XOR)逻辑运算来说是等效的。于是可以针对任一个盘或者任一个盘上的任一数据部分的丟失来保护所述数据。如果存储所述奇偶校验的盘丢失,则可以从所述数据再生所述奇偶校验。如果其中一个数据盘丢失,则可以通过把仍然存在的各数据盘加在一起并且随后从所存储的奇偶校验中减去其结果来再生所述数据。通常来说,所述各盘被划分成各奇偶校验组,其中的每一组包括一个或多个数据盘和一个奇偶校验盘。奇偶校验集合是其中包括几个数据块和一个奇偶校验块的块的集合,其中所述奇偶校验块是所有所述数据块的异或。奇偶校验组是从中选择一个或多个奇偶校验集合的盘的集合。盘空间被划分成各条带,其中每一个条带包含来自每一个盘的一个块。 一个条带的各块通常处在所述奇偶校验组中的每一个盘上的相同位置处。在一个条带内,除了一个块之外的所有块都是包含数据的块("数据块"),并且有一个块是包含由所有所述数据的异或所计算的奇偶校验的块("奇偶校验块,,)。如果所述各奇偶校验块都被存储在一个盘上,从而提供包含所有(并且仅有)奇偶校验信息的单个盘,则提供了RAID-4实现方式。如果所述各奇偶校验块被包含在每一个条带中的不同盘内(通常是按照旋转模式),则这种实现方式是RAID-5。术语"RAID"及其各种实现方式是公知的,并且在D. A. Patterson、 G. A. Gibson和R.H. Katz 6勺"^4 Case/or i edwwt/cmf ^4 ra;AS o//wex/7e M7've Z)&A:s (T^4/D) f,斧^"^:余萍/y ^^4/D, ^一#/#沈,,,(Proceedings of the InternationalConference on Management of Data (SIGMOD), 1998年6月)中被公开。这里使用的术语"编码"是指在数据块的预定子集上计算冗余度值,而术语"解码"是指通过使用数据块的子集和冗余度值来重建数据或奇偶校验块。如果所述奇偶校验组中的一个盘发生故障,则可以通过把剩余数据块的所有内容相加并且从所述奇偶校验块中减去其结果而在一个或多个备用盘上解码(重建)该故障盘的内容。由于在1比特字段上进行的2的互补加法和减法对于异或运算都是等效的,因此上述重建包括对所有仍然存在的数据和奇偶校验块的异或。类似地,如果所述奇偶校验盘丢失,则可以按照相同的方式从仍然存在的数据重新计算该奇偶校验盘。奇偶校验方案通常提供针对某一奇偶校验组内的单个盘故障的保护。这些方案还可以防止多盘故障,只要每一个故障发生在不同的奇偶校验组内。然而,如果在某一奇偶校验组内有两个盘同时发生故障,则会遭受不可恢复的数据丢失。在某一奇偶校验组内有两个盘同时发生故障是相当常见的事情,这特别是由于盘"磨损,,以及由于与盘操作相关的环境因素而造成的。在本上下文中,在某一奇偶校验组内有两个盘同时发生故障的情况被称作"双重故障"。双重故障通常是由于一个盘发生故障并且另一个盘在尝试从该第一故障中恢复时发生后续故障而造成的。所述恢复或重建时间取决于所述存储系统的活动水平。也就是,在重建故障盘的过程中,所述存储系统有可能保持"在线"并且继续服务于(来自客户端或用户的)针对访问(即读取和/或写入)数据的请求。如果所述存储系统忙于为请求提供服务,则对于重建所经过的时间会延长。所述重建处理时间还随着所述存储系统中的盘的尺寸和数目的增大而延长,这是由于必须读取所有仍然存在的盘以重建丟失的数据。此外,双重盘故障率与奇偶校验组中的盘数目的平方成比例。然而,令奇偶校验组较小是昂贵的,这是因为每一个奇偶校验组需要一个专用于冗余数据的整个盘。盘的另一种故障模式是介质读取错误,其中盘的单个块或扇区无法被读取。如果奇偶校验被保持在所述存储阵列中,则可以重建所述不可读取的数据。然而,如果一个盘已经发生故障,则随后在所述阵列中的另一个盘上的介质读取错误将导致丢失数据。这是第二种形式的双重故障。可以容易地证明,校正双重故障所需的冗余信息的最少数量是两个单位。因此,可以被添加到各数据盘中的奇偶校验盘的最少数目是两个。不管所述奇偶校验是分布在各盘上还是集中在所述两个附加盘上,上述内容都是成立的。一种已知的双重故障校正奇偶校验方案是基于EVENODD异或的技术,其允许对丢失的(故障的)盘进行串行重建。EVENODD奇偶校验需要恰好两个盘的冗余数据,这种做法是最优的。根据该奇偶校验技术,所有盘块属于两个奇偶校验集合,其中一个是在所有数据盘上按照典型的RAID-4风格异或计算的,另一个是沿着对角相邻的盘块的集合计算的。所述各对角奇偶校验集合包含来自除了其中 一个数据盘之外的所有数据盘的盘。对于w个数据盘,在一个条带中有"-l行块。每一个块处在一条对角线上,并且有"条对角线,每一条的长度为"-l个块。值得注意的是,只有在"是素数的情况下所述EVENODD方案才适用。在Blaum等人的标题为"丑r^7V(9Z)Dz」"^^'c,'eW Sc/zeme/or 7Wera〃"gDow6/e Z)/W Fm7wms本文档来自技高网...

【技术保护点】

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

【专利技术属性】
技术研发人员:P·F·科尔贝特A·格尔
申请(专利权)人:网络装置公司
类型:发明
国别省市:

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

1
相关领域技术