首页> 中国专利> 独立磁盘冗余阵列毁损时的数据恢复方法及其系统

独立磁盘冗余阵列毁损时的数据恢复方法及其系统

摘要

本发明是一种独立磁盘冗余阵列毁损时的数据恢复方法及其系统,该方法应用至独立磁盘冗余阵列(Redundant Array of Independent Disks,以下简称RAID),该RAID由至少3台以上的实体磁盘驱动器及一个RAID控制器所组成的逻辑磁盘驱动器,其中相同数据分别储存在多台磁盘驱动器中的不同数据块(data block)内,该方法在发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,执行下列步骤:读取所有磁盘驱动器的超级区块;比对所有超级区块中存放的前次运作的磁盘数及时间,并选取其在前次降级模式(degraded mode)时所使用的共享数据;将所获得的该共享数据写入所有磁盘驱动器的超级区块;在完成将该共享数据写入所有磁盘驱动器的超级区块后,将该RAID的组态恢复成降级模式;及在降级模式中运作,读取所有磁盘中各数据块时,检测各该数据块是否受损,将尚未损毁的各该数据块复制至外接式的储存媒体,且将已受损的数据块位置记录至该外接式的储存媒体,如此,即可在该RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用该外接式的储存媒体,完成对其它磁盘驱动器中尚未损毁数据块的恢复工作。

著录项

  • 公开/公告号CN101126999A

    专利类型发明专利

  • 公开/公告日2008-02-20

    原文格式PDF

  • 申请/专利权人 威联通科技股份有限公司;

    申请/专利号CN200710127271.3

  • 发明设计人 陈贻浚;蔡昆达;

    申请日2007-07-05

  • 分类号G06F11/14(20060101);

  • 代理机构11278 北京连和连知识产权代理有限公司;

  • 代理人王光辉

  • 地址 台湾省台北县汐止市新台五路一段77号21楼

  • 入库时间 2023-12-17 19:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-05-27

    授权

    授权

  • 2008-07-16

    实质审查的生效

    实质审查的生效

  • 2008-02-20

    公开

    公开

说明书

技术领域

本发明涉及一种对磁盘驱动器中尚未损毁的数据块进行数据恢复的方法,尤指一种在独立磁盘冗余阵列(Redundant Array of IndependentDisks,以下简称RAID)中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用外接式的储存媒体,对其它磁盘驱动器中尚未受损数据块进行数据恢复的方法。

背景技术

按,RAID指通过RAID控制器(Controller),通过硬件或软件方式,将多台实体磁盘驱动器结合成一台大容量的虚拟磁盘驱动器,RAID的储存原理是利用位带(Bit Striping)及目前主流的区块带(Block Striping)的分割方式,将相同的数据分散储存至各磁盘驱动器中的不同数据块(DataBlocks),以在任一磁盘驱动器的数据块受损时,可经由XOR运算,对储存在其它磁盘驱动器内的校验磁盘分段(Parity Blocks)及数据块内的数据进行比对及运算,以重建(Rebuild)受损的数据。由于,将数据写入至RAID时,通过多台实体磁盘驱动器上的多个读写头,执行数据的写入动作,故不仅其写入数据的速度相当快,且因相同数据储存在多台实体磁盘驱动器中不同的数据块位置,故RAID亦具备数据的容错功能(Fault Tolerant),为数据储存提供了较佳的安全保障。

以目前市场上普遍使用的RAID-5(RAID Level 5)型的独立磁盘冗余阵列为例,请参照图1RAID的架构示意图,其由3台以上的磁盘驱动器搭配RAID控制器所组成,其中该RAID控制器中的异或(Xclusive OR,以下简称XOR)运算器,在将数据写入RAID前,会将数据切割为多个数据块A、B、C、D、E及F,分散储存于各实体磁盘驱动器11、12及13中,同时,会计算出数据的同位检查数据,并将对应的校验磁盘分段(ParityBlock)分散储存于各实体磁盘驱动器11、12及13中,其中数据块A与B的同位区块为P(A,B),数据块C与D的同位区块为P(C,D),数据块E与F的校验磁盘分段为P(E,F)。当上述这些磁盘驱动器11、12及13中任一台磁盘驱动器的数据块受损而无法存取数据时,如:磁盘驱动器13中数据块受损时,请参照图2,RAID控制器会将RAID转换成降级模式(Degraded Mode),并在降级模式下,利用上述这些磁盘驱动器11及12中数据块及校验磁盘分段内所储存的数据,继续进行数据的存取,此时,若将受损的磁盘驱动器13取出,并更换上正常且空白的新磁盘驱动器14,请参照图3,RAID控制器将会为RAID进行组态重建,利用上述这些磁盘驱动器11及12中数据块A、B、C、E及校验磁盘分段P(C,D)及P(E,F)内的数据,将旧数据回写至新磁盘驱动器14,以重建新磁盘驱动器14中的数据,使RAID得以继续正常运作。

然而,在传统RAID的架构下,若遇上同时2台磁盘驱动器受损,如:磁盘驱动器12与磁盘驱动器13均受损,请参照图4,RAID控制器即无法令RAID转换成降级模式,继续执行对数据进行重建的工作,而造成RAID毁损(Crush)。因此,如何设计出一种数据恢复的方法及系统,以在RAID毁损时,即发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能对数据进行恢复,即成为业者努力研究亟思改善的重要课题。

发明内容

有鉴于前述在RAID毁损的情形下,无法对数据进行恢复的问题,发明人经过长久努力研究与实验,终于开发设计出本发明的一种独立磁盘冗余阵列毁损时的数据恢复方法及其系统,希望使RAID在发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能利用所有磁盘驱动器中超级区块(Super Block)内所存放的数据信息,将RAID的组态回复至先前的降级模式,再配合对受损数据块的检测,将欲恢复的磁盘驱动器中尚未损毁的数据块复制至外接式的储存媒体,且将已受损的数据块位置记录至该外接式的储存媒体中,以顺利完成数据的恢复工作。

本发明目的是,该方法应用至RAID,该RAID由至少3台以上的磁盘驱动器及一个RAID控制器所组成的逻辑磁盘驱动器,其中相同数据别储存在多个磁盘驱动器中的不同数据块内,该方法在发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,可藉读取所有磁盘驱动器的超级区块;比对所有超级区块中存放的前次运作的磁盘数及时间,并选取其在前次降级模式时所使用的共享数据;将所获得的该共享数据写入所有磁盘的超级区块;及在完成将该共享数据写入所有磁盘的超级区块后,将RAID的组态恢复成降级模式。

本发明的另一目的,是在降级模式中运作时,读取所有磁盘中各数据块,并检测各该数据块是否受损,且将尚未损毁的各该数据块复制至外接式的储存媒体,并将已受损的数据块位置记录至该外接式的储存媒体,如此,即可在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用该外接式的储存媒体,对其它磁盘驱动器中尚未损毁的数据块进行数据恢复。

为让本发明之上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。

附图说明

图1为传统RAID中具有三台磁盘驱动器且正常运作时的架构示意图;

图2为图1所示传统RAID中有一台磁盘驱动器的数据块受损而失效时的架构示意图;

图3为图2所示传统RAID中更换一台正常且空白的新磁盘驱动器时的架构示意图;

图4为图1所示传统RAID中有两台磁盘驱动器的数据块受损而失效时的架构示意图;

图5为本发明实施例中之一,当两台磁盘驱动器的数据块受损而失效时的架构示意图;

图6为本发明中磁盘驱动器的分割区被分割成许多磁柱群时,每个磁柱的架构示意图;

图7为本发明对RAID执行超级区块修复的处理动作的流程示意图;

图8为本发明在RAID于降级模式中工作时,执行尚存数据复制的处理动作的流程示意图;

图9为本发明之一实施例中,数据恢复系统架构的方框图;及

图10为本发明的另一实施例中,数据恢复系统架构的方框图。

主要元件标记说明:

磁盘驱动器          ...............51、52、53、821、921

RAID                ................82

系统媒体            ................83

磁盘驱动器超级区块读   .............831、931

写程序

超级区块数据比对程序   .............832、932

受损数据段侦测程序  ................833、933

尚存数据复制程序     ...............834、934

RAID控制器         .................93

具体实施方式

本发明恢复应用独立磁盘冗余阵列(Redundant Array of IndependentDisks,以下简称RAID),尤指一种RAID-5型架构的独立磁盘冗余阵列,RAID由至少3台以上的磁盘驱动器搭配RAID控制器所组成的逻辑磁盘驱动器,其中相同数据分别储存在多个磁盘驱动器中的不同区块内。在本发明之一最佳实施例中,以3台磁盘驱动器所组成的RAID为例,请参照图5所示,详细说明本发明的设计理念及工作情形如下:

在该实施例中,请参照图5所示,当RAID中的第一台磁盘驱动器51因数据块受损而失效时,RAID控制器(图中未示)会将RAID转换成降级模式,并在降级模式下运作,执行对受损数据的重建工作,然而,当RAID中的第二台磁盘驱动器52因数据块受损而失效,仅剩一台磁盘驱动器53中无受损数据块,而导致RAID组态毁损时,该实施例将在RAID上连接外接式的储存媒体(图中未示),如:硬盘、光驱或磁带机等,并通过对RAID执行超级区块修复(Super Block Recovery)及尚存数据复制等两个处理程序,完成对尚存数据的恢复工作。按,所谓“超级区块”,指在将磁盘驱动器的分割区(partition)分割成许多磁柱群(Cylinder Group)时,每一个磁柱群将依据该磁盘驱动器的容量大小,包含1到32个相邻的磁柱(Cylinder),各该磁柱内分别包括超级区块、磁柱群区块及索引节点区块等,请参照图6,其中该磁柱群区块包含了在该磁柱群中的空白区块、空白索引节点数据及磁柱群运用的状态,该超级区块则可在每个磁柱群内占用不同的位置,如:一个超级区块在某一磁道上,而另一个超级区块则在另一磁道上,一般而言,所有的超级区块同时受损的机率很小,且当某一超级区块受损时,亦可利用其它超级区块内的数据,来对受损的数据进行修复。因此,本发明即利用各该磁盘驱动器中超级区块的特性,实现本发明对受损数据进行修复的任务,将因数据块受损而失效的磁盘驱动器中的尚存数据,复制到RAID上所连接的该外接式的储存媒体,以完成对尚存数据的恢复工作。

在该实施例中,请参照图5,当仅剩一台磁盘驱动器53中无受损数据块,其余磁盘驱动器51、52均因数据块受损而失效,导致RAID的组态毁损的情况下,该方法将对RAID执行超级区块修复的处理动作,如图7所示,包括:

步骤61,将该外接式的储存媒体(如:硬盘、光驱或磁带机等)连接至RAID,以在后续的处理过程中,令RAID控制器将其视为RAID上的磁盘驱动器;

步骤62,读取所有磁盘驱动器的超级区块;

步骤63,比对所有超级区块中所存放的前次运作的磁盘驱动器数及时间后,选取其在前次降级模式(degraded mode)时所使用的共享数据;

步骤64,将所获得的该共享数据写入所有磁盘的超级区块;及

步骤65,在完成将该共享数据写入所有磁盘的超级区块后,将RAID的组态恢复成降级模式。

本发明对RAID完成超级区块修复的处理动作,并将RAID的组态恢复成降级模式后,本发明将在RAID于降级模式中运作时,执行尚存数据复制的处理动作,参照图8所示,包括:

步骤71,读取欲恢复的磁盘驱动器的各数据块;

步骤72,检查各数据块是否受损,若是,进入步骤75;否则,继续下列步骤;

步骤73,读取各数据块内的数据,并将其逐一复制至该外接式的储存媒体;

步骤74,判断是否已完成读取最后数据块内的数据,若否,返回步骤71,继续读取欲恢复的磁盘驱动器的下一数据块;若是,即结束尚存数据的复制动作;

步骤75,将已受损的各数据块位置逐一记录至该外接式的储存媒体中。

如此,即可在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用该外接式的储存媒体对其它磁盘驱动器中尚未损毁的数据块进行数据恢复。

另,本发明根据前述方法,还可建构数据恢复系统,用以在RAID毁损时,对其磁盘驱动器中尚未损毁的数据块进行数据恢复,参照图9,该系统包括RAID 82,RAID 82由至少3台以上的磁盘驱动器821与RAID控制器(图中未示)所组成的逻辑磁盘驱动器;系统媒体83,可为计算机或服务器,该系统媒体83分别与RAID 82及外接式的储存媒体81相连接,其中装置有磁盘驱动器超级区块读写程序831,用以读写上述这些磁盘驱动器821中超级区块内所存放的数据;超级区块数据比对程序832,与该超级区块读写程序831相链接(link),用以在比对该超级区块读写程序831自上述这些磁盘驱动器821中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并透过该超级区块读写程序831,将所获得的该共享数据写入所有磁盘的超级区块;受损数据块检测程序833,用以读取上述这些磁盘驱动器821的数据块,并检测所读取的数据块是否已受损;及尚存数据复制程序834,与该受损数据块检测程序833相链接,用以将上述这些磁盘驱动器833中尚未受损的数据块复制至该外接式的储存媒体81,并将已受损的各数据块位置逐一记录至该外接式的储存媒体81中。

在此需特别说明的是前述数据恢复系统,仅本发明具体实施例之一,本发明在实际工作时,并不局限于此,在本发明的另一实施例中,参照图10,该系统包括至少3台以上的磁盘驱动器921;RAID控制器93,分别与上述这些磁盘驱动器921及外接式的储存媒体91相连接,该RAID控制器93中装设磁盘驱动器超级区块读写程序931,用以读写上述这些磁盘驱动器921中超级区块内所存放的数据;超级区块数据比对程序932,与该超级区块读写程序931相链接,用以在比对该超级区块读写程序931自上述这些磁盘驱动器921中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并透过该超级区块读写程序931,将所获得的该共享数据写入所有磁盘的超级区块;受损数据块检测程序933,用以读取上述这些磁盘驱动器921的数据块,并检测所读取的数据块是否已受损;及尚存数据复制程序934,与该受损数据块检测程序933相链接,用以将上述这些磁盘驱动器921中尚未受损的数据块复制至该外接式的储存媒体91,并将已受损的各数据块位置逐一记录至该外接式的储存媒体91中。

根据以上所述可知,本发明在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能利用所有磁盘驱动器中超级区块内所存放的数据,并配合外接式的储存媒体,通过将RAID的组态回复至先前的降级模式,再利用对磁盘驱动器中各数据块的检测,以将磁盘驱动器中尚未受损的数据块复制至该外接式的储存媒体,并将已受损的数据块位置亦记录至该外接式的储存媒体,顺利完成对磁盘驱动器中尚未损毁数据块的恢复工作。

按,以上所述,仅为本发明的最佳具体实施例,惟本发明的特征并不局限于此,任何所属技术领域的技术人员在本发明领域内,可轻易思及的变化或改进,皆应涵盖在以下本发明的权利要求范围中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号