CN101971168B - 动态量化和提高分布式数据存储系统的可靠性 - Google Patents

动态量化和提高分布式数据存储系统的可靠性 Download PDF

Info

Publication number
CN101971168B
CN101971168B CN2009801072146A CN200980107214A CN101971168B CN 101971168 B CN101971168 B CN 101971168B CN 2009801072146 A CN2009801072146 A CN 2009801072146A CN 200980107214 A CN200980107214 A CN 200980107214A CN 101971168 B CN101971168 B CN 101971168B
Authority
CN
China
Prior art keywords
disk
normality
reconstruction
data
value
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
CN2009801072146A
Other languages
English (en)
Other versions
CN101971168A (zh
Inventor
R·巴赫瓦尼
L·格里兹
R·比安基尼
C·杜布尼基
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.)
NEC Corp
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of CN101971168A publication Critical patent/CN101971168A/zh
Application granted granted Critical
Publication of CN101971168B publication Critical patent/CN101971168B/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/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/1096Parity calculation or recalculation after configuration or reconfiguration of the system

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)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

数据被存储在包括多个磁盘的分布式数据存储系统中。当磁盘出现故障时,通过根据调度表执行重建集来恢复系统可靠性。系统可靠性由动态常态偏差分数来表征。用于执行重建集的调度表通过最小交集策略来确定。重建集被接收并被划分为根据从最低冗余级到最高冗余级变动的冗余级而按等级排序的队列集。对于每个队列中的重建,计算交集矩阵。计算每个磁盘的磁盘分数。用于该重建集的调度表至少部分基于交集矩阵、常态偏差分数和磁盘分数。

Description

动态量化和提高分布式数据存储系统的可靠性
本申请要求于2008年4月17日提交的申请号为61/045,718的美国临时申请的优先权,该临时申请通过引用结合于此。
背景技术
本申请大体涉及数据存储系统,更具体地,涉及动态量化和提高分布式数据存储系统的可靠性。
数据的可靠存储在广泛的应用上是关键性操作:例如,个人记录,金融交易,多媒体服务,工业过程控制,以及基础研究。数据被存储在物理介质上,诸如半导体介质(如闪存)、光电介质(如光盘和数字视频盘)和磁介质(如磁带和硬盘驱动器)。由于各种应用需要高容量和快速动态读/写速度,磁盘驱动器是当前最常用的数据存储设备。然而,其他介质的容量和读/写速度都在不断增加。
对于高容量数据存储系统,多个数据存储设备可被连接在一起。例如,多个硬盘驱动器可以经由本地接口被连接以形成数据存储单元。之后,多个数据存储单元可以经由数据通信网络被连接以形成分布式数据存储系统。由于每个设备都可能会出故障,所以分布式数据存储系统具有多个故障点。通常使用冗余来提高可靠性,通过复制数据块,如在RAID-1或基于副本的分布式系统中,或通过存储附加信息,如在RAID-5或纠删编码的(erasure-coded)分布式系统中。当大规模系统中的设备出故障时,由于设备修复或更换可能花费很长时间,并且期间还可能发生新的故障,因此存储在该设备上的数据必须立即在其他设备上重建,除非系统中的冗余量非常巨大。然而,因为高冗余包含额外设备的支出,所以所期望的是通过故障管理策略而不是额外的硬件来提高可靠性。
为了提高可靠性,首先需要定义表征分布式数据存储系统的定量度量(quantitative metric)。现有的度量包括数据丢失概率(PDL)和平均数据丢失时间(MTTDL)。PDL作为导致数据丢失仿真运行的比例来估计,或者通过使用该系统的PDL的(典型地组合)模型来估计。类似地,MTTDL作为在大量仿真上的数据丢失时间的平均值来估计,或者通过使用系统可靠性的(典型地马尔可夫)模型来估计。然而,无论它们被如何计算,PDL和MTTDL都以单一的、静态度量对可靠性进行量化,不论该系统的时间或当前状态。尽管在某些应用中非常有用,但是这些度量也仅仅提供系统可靠性的宏观的、长期的视角。当发生设备故障、数据重建、设备更换时,这些度量并不能评估每个时间点的可靠性。
因此,需要用于动态量化分布式数据存储系统的可靠性以及在没有附加设备冗余的情况下提高可靠性的方法和设备。
发明内容
在本发明的一个实施例中,数据存储在包括多个磁盘的分布式数据存储系统中。当磁盘发生故障时,通过根据调度表(schedule)执行重建集来恢复系统可靠性。重建集被接收并且划分为队列集,所述队列集通过从最低冗余级到最高冗余级变动的冗余级而按等级排序(rank-ordered)。计算用于具有最低冗余级的队列中的重建的第一交集(intersection)矩阵。计算表征系统可靠性的第一常态偏差分数(Normalcy Deviation Score)。计算每个磁盘的第一磁盘分数。至少部分基于第一交集矩阵、第一常态偏差分数、以及第一磁盘分数,为所接收到的重建集生成第一调度表。对于剩余队列重复该过程,并生成最终调度表。
通过参照下面的详细描述以及相应的附图,本发明的上述以及其他优点对于本领域技术人员来说是清楚的。
附图说明
图1示出了数据通信系统的高层次示意图;
图2示出了簇(cluster)分配的冗余方案;
图3示出了链式去簇(decluster)分配的冗余方案;
图4示出了去簇分配的冗余方案;
图5示出了恢复过程的高层次流程图;
图6A-图6D示出了MinI策略的步骤的高层次流程图;
图7示出了计算机的高层次示意图。
具体实施方式
图1示出了数据通信系统的高层次示意图。各种网络元件之间通过数据网络102进行通信。网络元件的数量可能会很大(数千或更多)。代表性的网络元件包括网络服务器1108、网络服务器2110、用户设备1112、以及用户设备2114。用户设备的例子包括工作站、个人计算机以及蜂窝电话。数据被存储在物理数据存储设备上,例如闪存驱动器、CD驱动器、DVD驱动器和磁性硬盘驱动器。这里,单独的物理数据存储设备被称为“磁盘”。注意该“磁盘”并不仅限于磁性硬盘驱动器,而是指任意物理数据存储设备。多个磁盘可以被连接形成数据存储单元,例如硬盘驱动器组(集)。此处,数据存储单元包括单个磁盘的情形。多个数据存储单元可以经由数据网络102被连接以形成分布式数据存储系统。这里,分布式数据存储系统包括单个数据存储单元的情形。这里,分布式数据存储系统包括磁盘组。
在图1中,分布式数据存储系统104包括三个数据存储单元:数据存储单元1120、数据存储单元2 130、以及数据存储单元3 140。每个数据存储单元包括三个磁盘:数据存储单元1 120包括磁盘1 122、磁盘2 124和磁盘3 126;数据存储单元2 130包括磁盘1 132、磁盘2 134和磁盘3 136;以及数据存储单元3 140包括磁盘1 142、磁盘2 144和磁盘3 146。通常来说,数据存储单元中的磁盘数量可能很大;例如,当前数据存储单元包括多达12个硬盘驱动器。随着技术的进步,这一数字会继续增长。分布式数据存储系统中的数据存储单元的数量可能也很大;例如,数百或者更多。
图1示出了数据通信系统的一个代表性的网络架构。本发明的实施例可根据特定网络架构进行适配。举个例子,每个数据存储单元的磁盘数目可能不同,而且,数据存储单元组之间可以经由本地接口或者局域网进行连接。然后,多个组可以被连接形成分布式数据存储系统。通常来说,数据存储单元可以在地理上分布于多个站点以提供冗余以防特定站点掉电或者损坏。需注意的是,磁盘或数据存储单元可以是专用的、独立的单元或网络元件的组成部分,例如网络服务器1 108中的硬盘驱动器或者用户设备1 112。
分布式数据存储系统的可靠性状态动态地变化,当磁盘和数据存储单元出现故障时,它们的数据被重建,并且出故障的设备被更换或者修复。用于在时间上量化系统的可靠性的度量被分成两个一般类:前向(forward-looking)和反向(backward-looking)。在前向度量中,每个时间点的可靠性由可能会导致数据丢失的潜在未来事件来表征。前向动态度量类似于传统的静态度量,例如PDL或者MTTDL,其依赖于未来事件的概率。后向度量不依赖于潜在未来事件;它们表示系统的实际当前状态。当前可靠性是已经减少了数据冗余的过往事件的函数。
在本发明的一个实施例中,系统可靠性由动态后向度量来表征,该后向度量在此被称为常态偏差分数(NDS)。在这一表述中,数据被组织到数据块中。这里,数据块也被称成块。一个块被分割为片段(fragment)。需要片段子集来重建该块。这里,块包括片段集。参见下面的进一步探讨。时间t处的NDS根据下面的算法进行计算:
NDS ( t ) = ( Σ i = 0 k - 1 b i ( t ) × f k - i ) × T alloc - - - ( E 1 )
其中
k是在正常操作下该分布式数据存储系统中的所有块的冗余级,其中正常操作是指分布式数据存储系统的如下状态,其中所有磁盘都可以运转(operational)且所有数据块的冗余都完整;
bi是在时间t处具有剩余的i冗余级的块的数量;
Talloc是重建磁盘的最少时间;以及
f是用户选择的比例因子(这里,用户也称为系统管理员)。
如下所述,参数Talloc依赖于数据分配方案。本领域技术人员可以针对根据其他结构所组织的数据来开发NDS算法。
系统管理员可选择f来反映额外冗余级的损失有多严重。例如,对于f=10,每个冗余级的损失将导致系统可靠性降低一个额外的数量级。k-值依赖于内建于系统中的冗余级。系统冗余可由标记(n,m)来表示,其中每个数据块被复制、剥去(strip)、或者编码成n个片段,不过只需要其中的m个(m≤n)来读取块。这里,k等于n-m。例如,RAID-1系统可以被描述为(2,1),其中k=1,由于每个块具有复制品(replica)但只需要其中一个副本(片段)来读取该块。如果特定数据块的所有片段都存在,那么剩余冗余级为k。如果特定数据块的一个片段丢失,那么剩余的冗余级为k-1。一般来说,特定数据块的剩余冗余级是额外片段的数量,数据块可以丢失这些片段而不致于丢失该数据块。在一个实施例中,每个磁盘主控(host)最多任一数据块的一个片段,特定数据块的剩余冗余级是在特定数据块丢失之前可以出故障的磁盘的数量。就是说,剩余冗余级是k减去缺失片段的数量。
当一个或多个片段丢失时,执行重建来将系统可靠性恢复至正常操作下的可靠性。这里,“片段重建”是指使用该块的其他片段来重新创建(重组)丢失片段的过程。这里,“块重建”是指重构(rebuild)块的缺失片段的过程。
NDS度量的主要优点包括如下:
(a)它能够被高效动态地计算。由于分布式数据存储系统需要数据分配和设备故障信息来进行合适的操作,关于bi的信息很容易获得。此外,指数分量能够很容易被预先计算,而且Talloc是常数,也能够很容易被预先计算。
(b)它是灵活的,并且参数可以由用户(系统管理员)针对特定系统进行配置。系统管理员可以通过适当地设置f来对冗余的损失进行加权(weight)。
(c)接近于丢失的块可在度量中被重加权(heavily weighted)。NDS用因子f以指数方式以及每个冗余级的块数量线性地加权冗余的损失。
(d)相对少的块的冗余的严重损失并非由系统中的大量剩余冗余来分摊(amortize)。由于i从0到k-1变动,所以NDS不受那些未损失冗余的块的影响。
(e)将用于在磁盘上重建数据的时间也考虑在内。随着磁盘大小的增加,重建损失的冗余的时间成为系统可靠性的一个越来越重要的因素。明确地将重建时间作为参数包含在内也允许在相同故障事件下,将不同的数据分配进行直接比较。NDS线性地考虑重建磁盘的时间。
在(E1)所描述的实施例中,NDS是没有单位的。在正常操作下,度量值等于0。如果所有块都失去了其所有冗余(也就是说,系统中任一处的再多一个故障会导致数据丢失),该值变为B×fk×Talloc,其中B是系统中块的总数量。当数据丢失时,NDS被定义为正无穷大。因此,较低的度量值对系统可靠性而言更好。在另一实施例中,NDS值按照最差可能的分数(在数据丢失前)被归一化,使得归一化分数处于0-1的范围内。
NDS允许相同系统的状态的比较或者具有相同冗余方案(就是说,相同的n值和m值)但具有不同数据分配方案的不同系统的状态的比较。NDS也可以与标准(静态)可靠性度量(如PDL和MTTDL)相结合,其能够用来在正常操作下估计可靠性。
如上所述,Talloc依赖于数据分配方案。下面将讨论应用于三种常见数据分配方案的本发明的实施例。这些数据分配方案被称为成簇(clustering)(Talloc=Tclus),链式去簇(Talloc=Tcdc)以及去簇(Talloc=Tdeclus)。
成簇放置数据块的片段,以使得存储相同块的片段的磁盘数量最小化。图2A示出了具有四个磁盘(标注为D0 202-D3 208)和总共12个块的(2,1)数据存储系统,其中每个块具有两个片段。对于读取该块而言只需要其中一个片段。在图2A中,块和片段由索引块:片段来指示;例如,标记0:1指示块0和片段1。如图2A中所示,磁盘D0 202和D1 204存储块0-5的片段;而磁盘D2 206和D3 208存储块6-11的片段。如图2B中所示,如果磁盘D0 202出现故障,那么剩余的易受下一个故障影响的数据只有存储在磁盘D1 204上的数据;而出现数据丢失的唯一可能就是磁盘D1 204出现故障。然而,为了重建存储在磁盘D0 202上的片段,磁盘D1 204是唯一源;也就是说,在所有片段重建的恢复集中磁盘D1 204是唯一的磁盘。这将会导致所有的重建都去争夺磁盘D1 204的恢复带宽。
这种情况下最佳的调度表(对于恒定恢复带宽来说)将是顺序地执行重建,而不是并行。一般来说,利用重叠恢复集执行重建会分割重叠磁盘的恢复带宽,由此会降低所有重建的速度。在成簇下,在磁盘出现故障后,可以并行执行的重建的最大数量为
Figure BPA00001232197800061
当恢复带宽恒定时,并行执行该数量的重建产生最小重建时间。因此,在成簇下,重建故障磁盘的所有数据片段的最小时间是:
Figure BPA00001232197800062
其中dsize是故障磁盘上存储的数据量,并且br是恢复带宽。注意Tclus只考虑数据重建,而忽略在磁盘被更换、修复以及重新结合至系统中之后将那些数据转移回其原始磁盘的时间。如此选择的原因是NDS与冗余有关,重建在硬盘出现故障后增加了冗余,而转移回原始磁盘并不增加冗余。此外,注意即使当磁盘被迅速更换或者修复时,Tclus也是重建数据的最小时间。当该磁盘上线(comeon-line)时,假定其是空的;也就是说,该磁盘的全部内容必须在它们被复制回之前被重建。下面用类似的方式定义Tcdc和Tdeclus
链式去簇分布每个块的片段,以使得它们以均衡的方式存储在逻辑上相邻的磁盘上。例如,图3A示出了在这种冗余方案下的片段放置。该数据存储系统包括四个磁盘,标注为D0 302-D3 308。如果磁盘出现故障,如图3B中的磁盘D0 302,那么磁盘D1 304和D3 308可以用作重建的源。可以并行重建两个片段,这样相比于成簇分配方案,减少了总的重建时间以及其间数据易受损的时间。然而,磁盘D1 304或D3 308的任一个的故障会丢失数据,如果它在磁盘D0 302上的数据被重建之前出现故障。鉴于这种分配方案,在磁盘故障之后可并行执行的重建的最大数量为
Figure BPA00001232197800063
假设恢复带宽是恒定的,那么重建在故障磁盘上存储的数据将花费的最小时间为:
去簇(组旋转去簇的简称)分布数据块的片段以使磁盘间的共置(co-location)的程度最小化。这导致了组中活动的磁盘上的均衡的重建负载。图4A示出了用于去簇的数据片段的放置。数据存储系统包括四个磁盘,标注为D0 402-D3 408。如图4B所示,如果磁盘D0 402出现故障,则其余磁盘(D1 404-D3 408)中的每一个可恰好作为两个片段的重建源,从而允许并行进行多达三个重建。然而,如果在存储于磁盘D0 402上的数据脂够被重建之前,任何其他磁盘出现故障,那么数据将会丢失。在这三种分配方案中,对于去簇而言完成数据重建的时间将是最小的。由于去簇均匀地散布片段,可潜在并行执行的重建的数目为
Figure BPA00001232197800065
其中dg是每个组中的磁盘数;即每个磁盘的数据被散布于其上的磁盘数。同样,假设恢复带宽是恒定的,重建故障磁盘的数据将花费的最小时间为:
Figure BPA00001232197800071
在本发明的实施例中,NDS在数据恢复调度策略(算法)中用作度量以快速重建来自故障磁盘和数据存储单元的数据,以避免在分布式数据存储系统中长时间的冗余减少。这个策略,在此称为最小交集(MinI,Minimum Intersection),为每个片段重建选择恢复集,并且对该重建集进行排序以使总重建时间最小化。这里,恢复集指的是源磁盘和目的地磁盘的集合。对指定目的地磁盘而言,恢复集也指源磁盘的集合。这里,目的地磁盘也称为目标磁盘。MinI确定每个重建何时应该被执行,以及哪些磁盘应该参与其中。由于冗余的缘故,在每个重建中,多个磁盘能够潜在地作为数据源参与其中。为了达到更高的性能,MinI尝试在每个重建中使用不同的目标(目的地)磁盘。为了做出决定,MinI利用NDS度量来权衡可靠性和性能。例如,在一个实施例中,MinI将专用于重建的磁盘带宽增加到预定义限值,如果这种增加会产生超过预期的性能损失百分比的NDS增益百分比。
MinI调度算法使用基于以下原理的贪婪法:
(a)MinI基于其当前冗余级来对重建进行优先化(prioritize)。当前冗余量越低,优先级越高。如果发生了额外故障,则首先重建最易受损数据块的片段确保数据丢失的可能性被最小化。另外,重建相比复制回(copy back)具有更高的优先级;后者不增加冗余,因此在相应磁盘上没有重建进行的时候才允许执行复制。
(b)MinI为每个重建选择了恢复集以在避免干扰的同时最大化平行性(parallelism)。为了重建片段,可以使用相同块的剩余片段中的任意m个片段。MinI利用这种灵活的源磁盘的选择来最小化并行的重建的恢复集之间的交集。其使用二维磁盘分数和贪婪算法来选择m个磁盘分数最小的磁盘。不能完全独立完成的重建(即它们必须具有重叠的恢复集)只在可靠性增益(如由NDS计算的)弥补了(justify)常规访问(regular-access)性能的潜在损失的时候才并行运行。
(c)增加分配给恢复的磁盘带宽提高了整体可靠性。然而,恢复带宽越高,会导致实际对分布式数据存储系统的访问的带宽越低。而且,如果只有一小组磁盘是恢复过程中的瓶颈,那么增加系统中所有磁盘的恢复带宽可能是不够的。MinI将参与多个重建的磁盘子集的恢复带宽动态增加至某一预先确定的限值。该限值可由用户(系统管理员)指定。因为常规访问带宽中的损失较小,这种方法导致了更高的系统可靠性。
MinI将待执行的重建集作为输入,并产生调度表作为输出。该调度表包含接下来应执行的重建以及重建应使用的恢复集。所输入的重建集通过能够用来再造特定块的缺失片段的现有片段的位置来确定。为了计算该调度表,MinI将重建集划分为单独的队列,所述队列基于其剩余的冗余量;即,用于具有相同数量的剩余片段的块的重建被集合在一起。所述队列根据冗余级而按等级排序,所述冗余级从最低冗余级到最高冗余级变动。该策略开始于调度与具有最小剩余冗余量的非空队列相关联的重建。下面将讨论为这些重建计算交集矩阵。从该交集矩阵中,MinI选择具有最小交集的潜在磁盘源集的重建对。如果有多对具有最小交集,则在集合中选择随机一对。本发明的其他实施例可以使用更复杂的平分决胜(tie breaking)法,该平分决胜法使相同冗余级内的未来交集最小化。
之后,MinI使用二维磁盘分数为已选重建选择恢复集,如下所述。如果已选重建有重叠的恢复集,则MinI根据可靠性和性能之间的权衡将它们添加至调度表。如下所述,实际的权衡函数可以由用户指定。该策略然后迭代通过当前冗余级队列中的剩余重建,选择与已经在调度表中的重建具有最小交集的重建(再次查看该冗余级的交集矩阵),指派恢复集,并且在可靠性和性能之间权衡,如上所述。以剩余冗余的递增次序,针对其他冗余级队列中的重建来重复上述过程。对每个其他冗余级来说,针对来自在调度表中出现的先前队列的那些重建和当前队列中的重建来计算交集。有关后者交集的信息出现在当前交集矩阵中。
对每个冗余级来说,在第一个重建被拒绝包括在调度表中之后,不必考虑额外的重建。当所有冗余级队列内的重建都已经就是否包括在调度表中被考虑了一次时,该策略停止。在当前调度表被执行之后,没有包括在调度表中的任何重建都将被再次考虑。
为每个冗余级队列计算交集矩阵。矩阵的每个元素包含队列中重建的潜在源集的两两(pairwise)交集的大小。第i行包含该队列中所有剩余重建的第i个重建的源集的交集的大小。这样,每个交集矩阵都是对称的;即,交集(i,j)和(j,i)相同。
磁盘分数是为系统中的所有磁盘计算的二维分数。磁盘分数包括静态分数和动态分数。磁盘的静态分数指示可作为源或者目的地参与的重建的数量。磁盘的动态分数指示已调度重建的数量,这些已调度重建的恢复集作为源或者目的地。最初,所有磁盘都被指派0:0的磁盘分数。第一个数字指示静态分数,并且第二个指示动态分数。MinI迭代通过各重建,并且,对作为相同重建的潜在源的每个磁盘,递增磁盘的静态分数。当MinI将重建添加至当前调度表时,动态分数被更新。比较两个磁盘的磁盘分数包括首先比较其动态分数以及,仅当二者相等时,然后才比较其静态分数。
MinI使用潜在源集中的磁盘的磁盘分数来选择具有最小磁盘分数的m个磁盘。如果目的地磁盘还未选择(如果相同重建已经开始但被系统中的另一事件中断,则目的地磁盘可能已经被选择),则选择其他可用磁盘中具有最小磁盘分数的磁盘,并且其动态分数也递增。
MinI利用NDS在可靠性和性能之间权衡:其仅调度两个并行的非独立重建,如果这么做与潜在性能丢失相比会足够地提高NDS。潜在性能丢失的原因是MinI将恢复带宽指派给在磁盘上同时运行的每个重建(一直到下面所讨论的用户指定的限值),就好像其是单独在磁盘上运行一样。这意味着那些具有重叠恢复集的重建消耗(take away)可被用于常规存储访问的带宽。这样,当在性能和可靠性之间权衡时,性能的改变由常规访问带宽中的损失百分比来表示。这里,常规访问带宽的损失百分比由变量“loss(损失)”来表示。NDS的增益作为重建前的NDS值和预测的重建后NDS值之间的差异百分比来计算。这里,NDS的增益由变量“gain(增益)”来表示。
当重建的恢复集与其他已经在调度表上的重建的恢复集互相重叠时,MinI将调度表上每个重建的NDS增益的总和与在重叠磁盘的恢复带宽增加的情况下系统会发生的额外性能损失进行比较。本领域技术人员可以为本发明的实施例指定不同的比较函数。这里,比较函数也称作tradeoff(权衡)函数且明确地是gain和loss的函数:tradeoff(gain,loss)。在本发明的一个实施例中,MinI使用可靠性增益和性能潜在损失之间的线性比较。也就是说,如果可靠性的增益百分比高于性能损失百分比,则将重建添加至调度表。最后,对于由指派给重建的额外磁盘带宽造成的最大可接受的性能损失存在用户定义的限值。可靠性增益无论是比性能损失相对小,还是达到了性能损失限值,MinI都跳至下一个冗余级队列。
图5示出了整体恢复过程的实施例的高级示意图。在步骤502中,检测到磁盘或者数据存储单元的故障。然后过程转到步骤504,在该步骤中配置恢复任务集(重建集)。在步骤506中监视任务。步骤508中,执行状态检查。如果没有任务等待执行,那么过程转到步骤510,并且该过程结束;即故障已经恢复。如果有任务等待执行,那么过程转到步骤512,在该步骤中执行MinI策略。步骤512的进一步细节如下给出。步骤512的输出是任务集,其在步骤514中被调度并在步骤516中被执行。之后,过程转回至步骤506,并且步骤506-步骤516被重复。
MinI策略(步骤512)的细节在图6A-图6D中给出。步骤512的输入和输出分别由参考索引A501和参考索引B 503指示。参照图6A。在步骤602中,初始化算法中的参数。要被调度并执行的任务的列表(由schedList表示)被初始化为空集。参数rLevelQs是设置为根据剩余冗余量排序的冗余队列的列表。初始化所有磁盘的磁盘分数。
该过程然后转到步骤604,在该步骤中执行状态检查。如果rLevelQs为空,那么该过程转到步骤610,在该步骤中返回schedList,并且MinI策略退出。如果rLevelQs不为空,那么该过程转到步骤606。参数rLevelQ被定义为rLevelQs中的第一列表元素,表示为rLevelQs.first_list_element。该第一列表元素然后被从rLevelQs中除去。然后,该过程转到步骤608,在该步骤中执行状态检查。如果rLevelQs为空,那么该过程返回到步骤604。如果rLevelQs不为空,那么该过程转到步骤612(见图6B)。在步骤612中,为rLevelQs中的重建创建交集矩阵。
然后,该过程转到步骤614,在该步骤中执行状态检查。如果rLevelQ为空,那么该过程返回到步骤604(图6A)。如果rLevelQ不为空,那么该过程转到步骤616,在该步骤中执行状态检查。如果schedList为空,那么该过程转到步骤618(见图6C)。如果schedList不为空,那么该过程转到步骤630(见图6D)。
首先讨论开始于步骤618的分支。在步骤618(图6C)中,执行下面的过程:(a)使用交集矩阵,从rLevelQ中选择具有最小交集的重建对。如果存在多于一个这样的重建对,则随机选择其中一对,(b)为每个重建选择具有最小磁盘分数的m个源磁盘。如果存在多于一个这样的源磁盘集,则随机选择其中一个集合,(c)为每个重建选择具有最小磁盘分数的另一磁盘作为目的地。如果存在多于一个这样的磁盘,随机选择其中一个磁盘。之后,该过程转到步骤620,在该步骤中设置以下参数:(a)recovery_set_1是第一重建的所有源磁盘和目的地磁盘的集合,(b)recovery_set_2是第二重建的所有源磁盘和目的地磁盘的集合,(c)intersection是属于recovery_set_1和recovery_set_2这二者的磁盘集。
之后,该过程转到步骤622,在该步骤中执行状态检查。如果intersection为空,那么该过程转到步骤624,在该步骤中将重建对添加至schedList,并且从rLevelQ中除去该重建对。之后该过程返回到步骤614(图6B)。如果intersection不为空,那么该过程转到步骤626,在该步骤中计算重建对的gain、loss和tradeoff的值(如上所述)。之后该过程转到步骤628,在该步骤中执行状态检查。如果tradeoff值可接受,那么该过程转到步骤624并且之后返回到步骤614(图6B)。如果tradeoff值不可接受,那么该过程返回到步骤604(图6A)。
返回参考图6B中的步骤616,如果schedList不为空,那么该过程转到步骤630(见图6D)。在步骤630中,执行以下过程:(a)使用交集矩阵,从rLevelQ中选择具有最小交集的重建。如果存在多于一个这样的重建,则随机选择一个,(b)为每个重建选择具有最小磁盘分数的m个源磁盘。如果存在多于一个这样的源磁盘集,则随机选择一个集合,(c)为每个重建选择具有最小磁盘分数的另一磁盘作为目的地。如果存在多于一个这样的磁盘,随机选择一个。之后,该过程转到步骤632,在该步骤中设置以下参数:(a)recovery_set是重建的所有源磁盘和目的地磁盘的集合,(b)intersection是属于recovery_set和schedList这二者的磁盘集。
之后,该过程转到步骤634,在该步骤中执行状态检查。如果intersection为空,那么该过程转到步骤636,在该步骤中将重建添加至schedList,并且从rLevelQ中除去该重建。之后该过程返回到步骤614(图6B)。如果intersection不为空,那么该过程转到步骤638,在该步骤中计算重建的gain、loss和tradeoff的值。之后该过程转到步骤640,在该步骤中执行状态检查。如果tradeoff值可接受,那么过程转到步骤636并且之后返回到步骤614(图6B)。如果tradeoff值不可接受,那么该过程返回到步骤604(图6A)。
本发明的实施例可利用计算机来实施,示意性地在图1中作为恢复管理器106示出,所述恢复管理器106通过数据网络102与分布式数据存储系统104进行通信。每当有重建要执行时,都由恢复管理器106激活MinI策略。在本发明的一个实施例中,恢复管理器106通过向每个数据管理单元(如数据存储单元1120,数据存储单元2130,和数据存储单元3140)查询任何故障磁盘、其内容和每个片段重建的潜在源,来追踪(keep track of)所需的重建。在本发明的其他实施例中,数据存储单元可以自主地传输信息(如状态和故障报警)到恢复管理器106。恢复管理器106立即根据MinI的输出来同时调度重建。当这些重建完成时,恢复管理器106再次调用MinI,直到已经执行了所有重建为止。再次,通过与数据存储单元交互,管理器发现有关磁盘更换的信息。在任意这些可靠性事件(故障、重建和更换)之后,恢复管理器106使用上述模型来计算系统的NDS。
图7示出了恢复管理器106的一个实施例的高级示意图,该恢复管理器106可以是包括中央处理单元CPU 702、存储器704、数据存储设备706和数据网络接口708的任意类型的公知计算机。数据存储设备706包括硬盘驱动器、非易失性存储器、或其他计算机可读介质(如光盘只读存储器)。数据网络接口708将恢复管理器106连接至数据网络102。恢复管理器106另外可以通过用户输入/输出接口710连接至用户输入/输出设备712(如键盘或鼠标)以及通过视频显示器接口714连接至视频显示器716。
众所周知,计算机在定义计算机和应用的整体操作的计算机软件的控制下进行操作。CPU 702通过执行定义整体操作和应用的计算机程序指令,来控制计算机和应用的整体操作。所述计算机程序指令可以被存储于数据存储设备706中,并当需要执行程序指令时被加载至存储器704中。图5和图6A-6D的方法步骤可以由存储在存储器704中或数据存储设备706中(或存储器704和数据存储设备706的组合中)的计算机程序指令定义,并由执行计算机程序指令的CPU 702来控制。例如,计算机程序指令可作为由本领域技术人员编写的计算机可执行代码实现,以执行实现图5和图6A-6D的方法步骤的算法。因此,通过执行计算机程序指令,CPU 702执行实现图5和图6A-6D的方法步骤的算法。
本领域技术人员将会认识到实际计算机的实现还可以包含其他组件,并且图7是出于说明目的的计算机的一些组件的高级表示。
之前的详细描述,应理解为在各方面都是说明和示例性的,但不限于此,并且此处公开的本发明的范围并非由详细说明所确定,而是按照专利法所允许的整个宽度所解释的权利要求所确定。可以理解,此处所示出并描述的实施例仅为本发明的原理的说明,并且本领域技术人员可在不违背本发明的范围和精神的情况下实施多种修正。本领域技术人员可在不违背本发明的范围和精神的情况下实施多种其他特征组合。

Claims (16)

1.一种用于调度数据重建的方法,所述数据存储在包括多个磁盘的分布式数据存储系统中,所述方法包括步骤:
接收重建集;
将重建集划分为根据从最低冗余级到最高冗余级变动的冗余级而按等级排序的队列集;
计算用于第一队列中的重建的第一交集矩阵,所述第一队列具有最低冗余级;
计算第一常态偏差分数;
计算多个磁盘中的每个磁盘的第一磁盘分数;以及
至少部分基于第一交集矩阵、第一常态偏差分数以及第一磁盘分数为所接收的重建集生成第一调度表,
其中数据被组织成块,并且其中计算常态偏差分数的步骤包括按照下面的算法计算常态偏差分数的步骤:
NDS ( t ) = ( Σ i = 0 k - 1 b i ( t ) × f k - i ) × T alloc
其中:
NDS(t)是时间t处的常态偏差分数;
k是在正常操作下分布式数据存储系统中的所有块的冗余级;
bi是在时间t处具有剩余的i冗余级的块的数量;
Talloc是重建磁盘的最少时间;以及
f是用户定义的比例因子。
2.如权利要求1所述的方法,进一步包括步骤:
至少部分基于第一常态偏差分数来计算第一增益值;
计算第一性能损失值;
至少部分基于计算出的第一增益值和计算出的第一性能损失来计算第一权衡值;以及
至少部分基于计算出的第一权衡值来生成第一调度表。
3.如权利要求2所述的方法,进一步包括步骤:
如果计算出的第一权衡值大于用户定义值,则增加恢复带宽。
4.如权利要求1所述的方法,其中用于队列集中的每个特定队列的交集矩阵包含用于特定队列中的重建的潜在源磁盘的两两交集的大小。
5.如权利要求1所述的方法,其中磁盘分数包括静态分数和动态分数。
6.如权利要求1所述的方法,进一步包括步骤:
计算用于第二队列中的重建的第二交集矩阵,所述第二队列具有次最低冗余级;
计算第二常态偏差分数;
计算多个磁盘中的每个磁盘的第二磁盘分数;以及
至少部分基于第一交集矩阵、第一常态偏差分数、第一磁盘分数、第二交集矩阵、第二常态偏差分数以及第二磁盘分数为所接收的重建集生成第二调度表。
7.如权利要求6所述的方法,进一步包括步骤:
至少部分基于第二常态偏差分数来计算第二增益值;
计算第二性能损失值;
至少部分基于计算出的第二增益值和计算出的第二性能损失来计算第二权衡值;以及
至少部分基于计算出的第二权衡值来生成第二调度表。
8.如权利要求7所述的方法,进一步包括步骤:
如果计算出的第二权衡值大于或等于用户定义值,则增加恢复带宽。
9.一种用于调度数据重建的设备,所述数据存储在包括多个磁盘的分布式数据存储系统中,所述设备包括:
用于接收重建集的装置;
用于将重建集划分为根据从最低冗余级到最高冗余级变动的冗余级而按等级排序的队列集的装置;
用于计算用于第一队列中的重建的第一交集矩阵的装置,所述第一队列具有最低冗余级;
用于计算第一常态偏差分数的装置;
用于计算多个磁盘中的每个磁盘的第一磁盘分数的装置;以及
用于至少部分基于第一交集矩阵、第一常态偏差分数以及第一磁盘分数为所接收的重建集生成第一调度表的装置,
其中数据被组织成块,并且其中用于计算常态偏差分数的装置包括按照下面的算法计算常态偏差分数的装置:
NDS ( t ) = ( Σ i = 0 k - 1 b i ( t ) × f k - i ) × T alloc
其中:
NDS(t)是时间t处的常态偏差分数;
k是在正常操作下分布式数据存储系统中的所有块的冗余级;
bi是在时间t处具有剩余的i冗余级的块的数量;
Talloc是重建磁盘的最少时间;以及
f是用户定义的比例因子。
10.如权利要求9所述的设备,进一步包括:
用于至少部分基于第一常态偏差分数来计算第一增益值的装置;
用于计算第一性能损失值的装置;
用于至少部分基于计算出的第一增益值和计算出的第一性能损失来计算第一权衡值的装置;以及
用于至少部分基于计算出的第一权衡值来生成第一调度表的装置。
11.如权利要求10所述的设备,进一步包括:
用于在计算出的第一权衡值大于或等于用户定义值的情况下增加恢复带宽的装置。
12.如权利要求9所述的设备,其中用于队列集中的每个特定队列的交集矩阵包含用于特定队列中的重建的潜在源磁盘的两两交集的大小。
13.如权利要求9所述的设备,其中磁盘分数包括静态分数和动态分数。
14.如权利要求9所述的设备,进一步包括:
用于计算第二队列中的重建的第二交集矩阵的装置,所述第二队列具有次最低冗余级;
用于计算第二常态偏差分数的装置;
用于计算多个磁盘中的每个磁盘的第二磁盘分数的装置;以及
用于至少部分基于第一交集矩阵、第一常态偏差分数、第一磁盘分数、第二交集矩阵、第二常态偏差分数以及第二磁盘分数来为所接收的重建集生成第二调度表的装置。
15.如权利要求14所述的设备,进一步包括:
用于至少部分基于第二常态偏差分数来计算第二增益值的装置;
用于计算第二性能损失值的装置;
用于至少部分基于计算出的第二增益值和计算出的第二性能损失来计算第二权衡值的装置;以及
用于至少部分基于计算出的第二权衡值来生成第二调度表的装置。
16.如权利要求15所述的设备,进一步包括:
用于在计算出的第二权衡值大于或等于用户定义值的情况下增加恢复带宽的装置。
CN2009801072146A 2008-04-17 2009-04-02 动态量化和提高分布式数据存储系统的可靠性 Expired - Fee Related CN101971168B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4571808P 2008-04-17 2008-04-17
US61/045718 2008-04-17
US12/397,371 US8019728B2 (en) 2008-04-17 2009-03-04 Dynamically quantifying and improving the reliability of distributed data storage systems
US12/397371 2009-03-04
PCT/US2009/039271 WO2009129054A2 (en) 2008-04-17 2009-04-02 Dynamically quantifying and improving the reliability of distributed data storage systems

Publications (2)

Publication Number Publication Date
CN101971168A CN101971168A (zh) 2011-02-09
CN101971168B true CN101971168B (zh) 2013-11-06

Family

ID=41199641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801072146A Expired - Fee Related CN101971168B (zh) 2008-04-17 2009-04-02 动态量化和提高分布式数据存储系统的可靠性

Country Status (6)

Country Link
US (1) US8019728B2 (zh)
EP (1) EP2272001B1 (zh)
JP (1) JP5289557B2 (zh)
CN (1) CN101971168B (zh)
CA (1) CA2717549C (zh)
WO (1) WO2009129054A2 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITRM20080037A1 (it) * 2008-01-23 2009-07-24 Uni Degli Studi Perugia Procedimento per la ultrapurificazione di alginati.
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US8918534B2 (en) * 2009-09-29 2014-12-23 Cleversafe, Inc. Writing data slices to ready and non-ready distributed storage units in a distributed storage network
US9898373B2 (en) * 2010-04-26 2018-02-20 International Business Machines Corporation Prioritizing rebuilding of stored data in a dispersed storage network
EP2793130B1 (en) 2010-12-27 2015-12-23 Amplidata NV Apparatus for storage or retrieval of a data object on a storage medium, which is unreliable
JP5891842B2 (ja) * 2012-02-24 2016-03-23 日本電気株式会社 ストレージシステム
JP5938965B2 (ja) * 2012-03-19 2016-06-22 富士通株式会社 マルチノードストレージシステムのノード装置および処理速度管理方法
EP2672387B1 (en) * 2012-06-04 2018-08-01 Amplidata NV A distributed object storage system
CN103034739A (zh) * 2012-12-29 2013-04-10 天津南大通用数据技术有限公司 一种分布式存储系统及其更新和查询方法
US9600365B2 (en) 2013-04-16 2017-03-21 Microsoft Technology Licensing, Llc Local erasure codes for data storage
US9336091B2 (en) 2014-03-06 2016-05-10 International Business Machines Corporation Reliability enhancement in a distributed storage system
GB2538110B (en) * 2015-05-08 2017-07-26 Norwegian Univ Of Science And Tech (Ntnu) Systematic coding technique
US9430443B1 (en) 2015-05-08 2016-08-30 Norwegian University Of Science And Technology Systematic coding technique
CN106293492B (zh) * 2015-05-14 2021-08-20 中兴通讯股份有限公司 一种存储管理方法及分布式文件系统
US10003357B2 (en) 2015-08-28 2018-06-19 Qualcomm Incorporated Systems and methods for verification of code resiliency for data storage
US9678824B2 (en) * 2015-11-05 2017-06-13 International Business Machines Corporation Durability and availability evaluation for distributed storage systems
US10275302B2 (en) 2015-12-18 2019-04-30 Microsoft Technology Licensing, Llc System reliability by prioritizing recovery of objects
US9665446B1 (en) 2015-12-29 2017-05-30 International Business Machines Corporation Fully distributed intelligent rebuild
CN106250055A (zh) * 2016-07-12 2016-12-21 乐视控股(北京)有限公司 一种数据存储方法及系统
US10310749B2 (en) * 2016-09-16 2019-06-04 Netscout Systems Texas, Llc System and method for predicting disk failure
CN107977578B (zh) * 2016-10-25 2022-12-02 中兴通讯股份有限公司 一种分布式存储系统及其数据修复方法和装置
CN106648992A (zh) * 2016-12-29 2017-05-10 创新科存储技术(深圳)有限公司 一种分布式存储系统中重构热点消除方法和装置
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US10911307B2 (en) 2019-01-29 2021-02-02 Dell Products L.P. System and method for out of the box solution-level configuration and diagnostic logging and reporting
US10972343B2 (en) 2019-01-29 2021-04-06 Dell Products L.P. System and method for device configuration update
US10979312B2 (en) 2019-01-29 2021-04-13 Dell Products L.P. System and method to assign, monitor, and validate solution infrastructure deployment prerequisites in a customer data center
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
US10901641B2 (en) 2019-01-29 2021-01-26 Dell Products L.P. Method and system for inline deduplication
US10929243B2 (en) * 2019-04-11 2021-02-23 EMC IP Holding Company LLC Service-level rebuild
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
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
US10963345B2 (en) * 2019-07-31 2021-03-30 Dell Products L.P. Method and system for a proactive health check and reconstruction of data
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
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11645013B2 (en) 2019-11-25 2023-05-09 International Business Machines Corporation Managing dispersed storage network background tasks
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
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
US11175842B2 (en) 2020-03-06 2021-11-16 Dell Products L.P. Method and system for performing data deduplication in a data pipeline
US11119858B1 (en) 2020-03-06 2021-09-14 Dell Products L.P. Method and system for performing a proactive copy operation for a spare persistent storage
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
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
CN116149576B (zh) * 2023-04-20 2023-07-25 北京大学 面向服务器无感知计算的磁盘冗余阵列重建方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281560A (zh) * 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
US5974544A (en) * 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
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
JP4601969B2 (ja) * 2004-01-27 2010-12-22 株式会社日立製作所 ファイル入出力制御装置
US7305579B2 (en) * 2005-03-22 2007-12-04 Xiotech Corporation Method, apparatus and program storage device for providing intelligent rebuild order selection
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281560A (zh) * 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法

Also Published As

Publication number Publication date
JP2011520182A (ja) 2011-07-14
CN101971168A (zh) 2011-02-09
JP5289557B2 (ja) 2013-09-11
CA2717549A1 (en) 2009-10-22
WO2009129054A3 (en) 2010-01-07
US8019728B2 (en) 2011-09-13
EP2272001B1 (en) 2016-12-14
CA2717549C (en) 2014-12-09
EP2272001A2 (en) 2011-01-12
EP2272001A4 (en) 2014-05-07
US20090265360A1 (en) 2009-10-22
WO2009129054A2 (en) 2009-10-22

Similar Documents

Publication Publication Date Title
CN101971168B (zh) 动态量化和提高分布式数据存储系统的可靠性
US9823980B2 (en) Prioritizing data reconstruction in distributed storage systems
CN102667738B (zh) 具有多个raid组分条的内存系统及其方法
US9104321B2 (en) Redundant array of independent disks (RAID) system backup management
US7739579B2 (en) Storage system, control method, and program for enhancing reliability by storing data redundantly encoded
CN101566931B (zh) 虚拟磁盘驱动系统和方法
CN105531677A (zh) Raid奇偶校验条带重建
US7496785B2 (en) Enclosure-based raid parity assist
CN110737393A (zh) 数据读取方法、设备和计算机程序产品
EP2702502A1 (en) Archival storage and retrieval system
US7363532B2 (en) System and method for recovering from a drive failure in a storage array
US20060136778A1 (en) Process for generating and reconstructing variable number of parity for byte streams independent of host block size
CN104503706A (zh) 一种基于磁盘阵列的数据存储及读取方法
US20200127684A1 (en) Method and system for storing data locally repairable and efficient multiple encoding
CN113190377B (zh) 一种基于分布式存储系统的可靠冗余方法及设备
CN100478865C (zh) 虚拟磁盘驱动系统和方法
CN100388176C (zh) 从冗余阵列中检索多路径数据
CN111459710A (zh) 感知热度与风险的纠删码内存恢复方法、设备及内存系统
CN110268397B (zh) 应用于数据仓库系统的高效优化数据布局方法
CN104281499A (zh) 基于奇偶校验的raid条带镜像数据分布方法
Ramkumar et al. RAID-6 code variants for recovery of a failed disk
CN109151054B (zh) 一种层次码的构造方法及故障节点的修复方法
CN113504875A (zh) 一种基于多级调度的纠删码系统恢复方法及系统
CN111984443A (zh) 一种分布式系统环境下的编码方法、解码方法和对应装置
Druk et al. The system approach to the organization of heterogeneous data storage system for decision support system

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
ASS Succession or assignment of patent right

Owner name: NEC CORP.

Free format text: FORMER OWNER: NEC LAB AMERICA INC.

Effective date: 20131216

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131216

Address after: Tokyo, Japan

Patentee after: NEC Corp.

Address before: New jersey, USA

Patentee before: NEC LABORATORIES AMERICA, Inc.

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

Granted publication date: 20131106