CN100489808C - 储存系统及其不良储存装置资料维持方法 - Google Patents

储存系统及其不良储存装置资料维持方法 Download PDF

Info

Publication number
CN100489808C
CN100489808C CNB2005101302673A CN200510130267A CN100489808C CN 100489808 C CN100489808 C CN 100489808C CN B2005101302673 A CNB2005101302673 A CN B2005101302673A CN 200510130267 A CN200510130267 A CN 200510130267A CN 100489808 C CN100489808 C CN 100489808C
Authority
CN
China
Prior art keywords
data
annotation
read
storage device
new
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.)
Active
Application number
CNB2005101302673A
Other languages
English (en)
Other versions
CN1815455A (zh
Inventor
洪清海
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.)
INFORTREND Inc
Original Assignee
INFORTREND 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 INFORTREND Inc filed Critical INFORTREND Inc
Publication of CN1815455A publication Critical patent/CN1815455A/zh
Application granted granted Critical
Publication of CN100489808C publication Critical patent/CN100489808C/zh
Active 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/1084Degraded 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是有关于一种储存系统及其不良储存装置资料维持方法,其是提供第一注记及/或第二注记用于冗余储存装置的降次模式(DegradedMode)状况下又发生媒体错误(Media Error)时的资料处理,或者用于资料写入且有储存装置发生读取异常而致新的检查资料无法被产生时,能提供一较佳的资料保护方式。该方法包括下述步骤:读取相关资料步骤;注记步骤;以及更新检查资料步骤。该储存系统包括:需求应用端;控制器;储存装置阵列;以及至少一错误资料区块表。本发明的储存系统及其不良存储装置资料维持方法可以提供较佳的资料保护,并可以提高整个系统的稳定性。

Description

储存系统及其不良储存装置资料维持方法
技术领域
本发明是关于磁碟阵列储存系统,尤指一种储存系统的不良储存装置资料维持方法。
背景技术
高容量、快速以及高可用性是磁碟阵列(Redundant Array ofInexpensive/Independent Disks,RAID)系统受到青睐的主因。广义的RAID系统包括N-RAID(Non-RAID,或称磁碟扩展(Disk Spanning))、RAID 0(DiskStriping)、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5及RAID 6等型态及其各种不同的组合,其中RAID 1的主要特征为镜像(Mirroring),使供通过镜像来备份资料,该备份资料通常称为检查资料(Check Data);RAID3RAID 5的检查资料是通过互斥或运算(XOR Operation)所产生的同位资料(Parity Data)来维持资料一致性,使当磁碟机发生错误时能够确保资料的完整性。RAID 6则需要较多的检查资料,以允许较多的磁碟机异常时,还能维持资料的完整。
请参阅图1所示,为现有习知的磁碟阵列系统的示意图,例如为RAID 4系统,其是由复数个磁碟机D1,D2,D3,D4所组成,这些磁碟机称为此磁碟阵列系统的成员磁碟机,而互为冗余磁碟机或称为相关磁碟机,且被划分为复数个等量磁区条带(stripe),每一等量磁区条带由每一成员磁碟机的一等量磁区(chunk)所构成,且一等量磁区是包含复数个区块(block或sector)。在成员磁碟机中,位于同一等量磁区条带的使用者资料与检查资料互为冗余资料,或称为相关资料。在正常情况下,若其中一个磁碟机D2的资料D21发生错误,则可通过读取与资料D21位于同一等量磁区条带(Stripe)上的相关资料D11,D31及P1,并对其进行互斥或运算来产生与资料D21相同的资料,亦即 D 21 = P 1 ⊕ D 11 ⊕ D 31 。当然,若整个磁碟机D2发生故障(Fail)时,亦可通过上述的互斥或运算来重建(Rebuild)整个磁碟机D2中的资料。
然而,当该等磁碟机D1,D2,D3,D4的其中一个因故障而进行重建时,若在重建时,又发生一笔资料读取错误,则将有可能无法完成重建动作。
请参阅图2所示.是现有习知的在降次模式(Degraded Mode)下进行资料重新建构的示意图,其是包括复数个磁碟机D1,D2,D3及D4,其中资料D12,D22,D32以及同位资料P2位于同一等量磁区条带20,资料D13,D23,D33以及同位资料P3位于同一等量磁区条带21。当磁碟机D1发生故障而进行重建时,若要重建资料D12,则读取同一等量磁区条带20上的资料D22,D32及同位资料P2,若读取资料D22时发生媒体错误(Media Error)而导致无法读取,则资料D21将无法被重新建构。此外,现有习知的系统可能会因为一直尝试读取资料D22而使得重建磁碟机D1上的资料无法顺利进行。
然而,若跳过该区块而略过对资料D12进行重新建构,以继续对其他区块进行重建,如此将会使得之后再次存取资料D12时,虽然可以读取该笔资料D12,但此时所读取到的资料D12是错误的,如此将造成需求应用端不知道而使用错误的资料。
请参阅图3所示,显示美国专利案号US5913927(下述简称’927)为解决上述问题的流程图,其是在重建或资料重新建构时进行。首先,判断是否需要进行整个磁碟机的重建动作(步骤S300),若需要对整个磁碟机进行重建,则插入新磁碟机(步骤S301),接着开始进行同位重建,以重建毁损的磁碟机的资料,亦即通过读取其他成员磁碟机中的相关资料,并执行互斥或运算来重建资料(步骤S302),若不需执行磁碟机的重建动作,而只针对特定资料来进行重新建构(Reconstruction)动作,则直接执行步骤S302。
在执行互斥或运算之前,会先读取其他成员磁碟机中的相关资料,并判断所读取的资料是否为坏资料(步骤S308)。若读取资料时没有坏资料,则通过上述的互斥或运算来完成资料重建。若在读取资料时,所读取的资料为坏资料,则继续判断该笔坏资料是否位于同位区块中(步骤S309),若该笔资料位于同位区块,则代表该笔资料为一同位资料,但是该笔资料是坏的,此时将一具有特定值的充填区块(Filler)填入待重建资料的区块,以使得待重建的资料成为一特定值,但该特定值不等于原本的资料,也就是说该填入特定值后的重建资料相对于未毁损前的资料(原本的资料)而言是无效(Invalid)的(步骤S303)。接着,重新对重建资料所属的等量磁区条带上的相关资料以及该笔填入特定值的重建资料进行互斥或运算,以获得一新的同位资料,并以新的同位资料更新同位资料区块(步骤S305)。
若所读取的资料为坏资料,且该笔坏资料不在同位区块中,则将具有特定值的充填区块填入待重建资料区块以及所读取的坏的资料区块,以使得其资料成为一特定值,但该特定值不等于原本的资料,也就是说该等特定值对于未毁损前的资料(原本的资料)而言是无效的(步骤S304)。继而,再执行步骤S305,以重新进行互斥或运算并将所获得的同位资料更新同位资料区块。
由于上述填入特定值的资料区块,其值是错误的,因此为了避免将来主机端读取该等区块时发生读取错误资料的情形,927专利是将填入特定值的资料区块的位址记录于一坏资料表(BDT)中,并在完成互斥或运算后更新该坏资料表(步骤S306)。最后,再继续下一资料区块的重建动作,直到重建动作完成(步骤S307)。因此,当主机端读取到填入特定值的资料区块时,将得到一错误讯息,直到主机端再将新的资料覆写于该等先前填入特定值的资料区块时,才会将坏资料表中的记录取消。
然而,上述作法对于资料保护的可靠度并不佳。例如:若在进行资料重建时,读取资料发生媒体错误的情形,即马上将一充填区块填入该读取的资料区块。由于,发生媒体错误的情形有可能是因为电压不稳、温度过高、系统不稳等暂态因素而发生,虽然该笔资料暂时有可能无法读取,但下一次还是有机会可以被成功读取,是故马上填入充填区块将导致该笔资料永久遗失,使得系统的可靠度不佳。
由此可见,上述现有的磁碟储存系统及其不良储存装置资料维持方法在结构、方法与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决储存系统及其不良储存装置资料维持方法存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般产品又没有适切的结构能够解决上述问题,此显然是相关业者急欲解决的问题。因此如何能创设一种新的储存系统及其不良储存装置资料维持方法,便成了当前业界极需改进的目标。
有鉴于上述现有的储存系统及其不良储存装置资料维持方法存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的储存系统及其不良储存装置资料维持方法,能够改进一般现有的储存系统及其不良储存装置资料维持方法,使其更具有实用性。经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的储存系统存在的缺陷,而提供一种新型结构的储存系统,所要解决的技术问题是使其能够提供一较佳的资料保护。
本发明的另一目的在于,克服现有的储存系统的不良储存装置资料维持方法存在的缺陷,而提供一种新的储存系统的不良储存装置资料维持方法,所要解决的技术问题是使其可以提供一较佳的资料保护。
本发明的再一目的是在提供一种储存系统及其不良储存媒体资料维持方法,所要解决的技术问题是使其能够提高系统整体可靠度,从而更加适于实用。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的不良储存装置资料维持方法,是使用于一降次模式下的储存系统中,其中在该降次模式下是有一笔目标资料需重新建构,该方法包括下述步骤:一读取相关资料步骤,读取至少一笔相关资料,其中该至少一笔相关资料是与该目标资料相关;一注记步骤,若该至少一笔相关资料读取错误而致该目标资料无法重新建构,且该读取错误的相关资料为使用者资料,则注记一第一注记于该读取错误的相关资料的位置,而该需重新建构的目标资料若为使用者资料,则一并对该目标资料的位置注记为一第二注记;以及一更新检查资料步骤,通过没有被注记的所述相关资料中的使用者资料来重新计算出一新的检查资料,并以之更新原有的检查资料。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的不良储存装置资料维持方法,其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记可被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
前述的不良储存装置资料维持方法,其中更包含若写入一笔新资料于一已经被注记的资料的位置时,则删除该资料的位置的注记,且写入该笔新资料以及更新与该新资料相关的检查资料。
前述的不良储存装置资料维持方法,其中更包含在写入一笔新资料前,是记录与该笔目标资料相关的检查资料的位置,并在完成写入该笔新资料与更新检查资料后,删除先前记录的该位置。
前述的不良储存装置资料维持方法,其中被注记为该坏资料注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
前述的不良储存装置资料维持方法,其中被注记为该未保护注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
前述的不良储存装置资料维持方法,其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该笔相关资料的其他相关资料来重新产生该笔相关资料。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的不良储存装置资料维持方法,是用于储存系统的资料写入储存装置时,而当有一新的资料待写入且需重新计算一新的检查资料之时,该方法包括下述步骤:一注记步骤,若该新的资料的至少一笔相关资料无法读取而致该新的检查资料无法产生,其中若该相关资料为使用者资料且因媒体错误而无法读取,则对其位置注记一第未保护注记,若该相关资料为使用者资料且因储存装置故障而无法读取,则对其位置注记一坏资料注记;以及一更新检查资料步骤,通过没有被注记的所述相关资料中的使用者资料与该新的资料来重新计算出一新的检查资料,并以之更新原有的检查资料,其中若该新的资料写入时,写入资料的位置已经有注记,则删除该注记。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的不良储存装置资料维持方法,其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
前述的不良储存装置资料维持方法,其中被注记为该坏资料注记的相关资料的位置再次被读取时,,则回传一错误讯息回一需求应用端。
前述的不良储存装置资料维持方法,其中被注记为该未保护注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
前述的不良储存装置资料维持方法,其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该笔相关资料的其他相关资料来重新产生该笔相关资料。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的储存系统,其包括:一需求应用端;一控制器,与该需求应用端耦接;一储存装置阵列,与该控制器耦接,且其具有复数储存装置;以及至少一错误资料区块表,记录有一未保护注记与一坏资料注记,其中当该储存系统于一降次模式下且在该降次模式下有一笔目标资料需重新建构之时,该控制器执行下述步骤:一读取相关资料步骤,读取至少一笔相关资料,其中该相关资料是与该目标资料相关;一注记步骤,若该相关资料因读取错误而致该目标资料无法重新建构,且该读取错误的相关资料为使用者资料,则注记该未保护注记于该读取错误的相关资料的位置,而该需重新建构的目标资料若为使用者资料,则一并对该目标资料的位置注记为该坏资料注记;以及一更新检查资料步骤,通过没有被注记的所述相关资料中的使用者资料来重新计算出一新的检查资料,并以之更新原有的检查资料;或
其中当有一新的资料待写入该储存装置阵列且需重新计算一新的检查资料之时,该控制器执行下述步骤:一注记步骤,若该新的资料的至少一笔相关资料无法读取而致该新的检查资料无法产生,其中若该相关资料为使用者资料且因媒体错误而无法读取,则对其位置注记该未保护注记,若该相关资料为使用者资料且因该储存装置阵列中的储存装置故障而无法读取时,则对其位置注记该坏资料注记;以及一更新检查资料步骤,是通过没有被注记的所述相关资料中的使用者资料与该新的资料来重新计算出一新的检查资料,并以之更新原有的检查资料,其中若该新的资料写入时,写入资料的位置已经有注记,则删除该注记。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的储存系统,其中所述的至少一错误资料区块表是能分别储存于每一储存装置中。
前述的储存系统,其中所述的至少一错误资料区块表是能储存于一非挥发性储存单元中。
前述的储存系统,其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
前述的储存系统,其中被注记为该坏资料注记的相关资料的位置再次被读取时,则回传一错误讯息至该需求应用端。
前述的储存系统,其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该相关资料的其他相关资料来重新产生该笔相关资料。
前述的储存系统,其中更包括若写入一笔新资料于一已经被注记的资料的位置时,则删除该资料的位置的注记,且写入该笔新资料与更新与该新资料相关的检查资料。
前述的储存系统,其中被注记为该未保注记的相关资料的位置再次被读取时,则回传一错误讯息至该需求应用端。
本发明与现有技术相比具有明显的优点和有益效果。由以上技术方案可知,本发明储存系统及其不良储存装置资料维持方法至少具有下列优点:
本发明储存系统及其不良储存装置资料维持方法是提供“未保护”注记及/或“坏资料”注记来管理资料,其中“未保护”注记用来注记发生媒体错误而导致无法重新产生检查资料的储存装置中的使用者资料的位置,使当其位置被注记为“未保护”注记的资料被成功读取时,该资料仍为有效的,且该“未保护”注记可被取消,使能在媒体错误情形下维持该资料。此外,“坏资料”注记是用于故障的储存装置中的使用者资料的位置,其中在降次模式时,该故障的储存装置是为待重建的储存装置;在资料写入且有储存装置发生读取异常时,该故障的储存装置是为资料没有写入的非目标储存装置。在此“坏资料”是指该笔资料或许可以被读取,但其值为错误的,因此被读取时,主机将接收到一资料错误讯息,因此藉由上述手段来达成提供一较佳的资料保护以及提高系统整体可靠度。
综上所述,本发明特殊的储存系统及其不良储存装置资料维持方法,其具有上述诸多的优点及实用价值,并在同类产品及方法中未见有类似的结构设计及方法公开发表或使用而确属创新,其不论在产品结构、方法或功能上皆有较大的改进,在技术上有较大的进步,并产生了好用及实用的效果,且较现有的储存系统及其不良储存装置资料维持方法具有增进的多项功效,从而更加适于实用,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1显示习知磁碟阵列系统的示意图。
图2显示习知降次模式下进行重建的示意图。
图3显示习知在降次模式下进行资料管理的流程图。
图4显示本发明较佳实施例的储存系统示意图。
图5显示本发明较佳实施例的动作流程图。
图6显示本发明较佳实施例的待重建资料是为使用者资料的示意图。
图7a显示本发明较佳实施例的写入资料流程图。
图7b显示本发明较佳实施例的读取资料流程图。
图7c显示本发明较佳实施例的移除未保护注记的流程图。
图8显示本发明较佳实施例的移除未保护注记的示意图。
图9显示本发明于资料写入时发生储存装置读取异常而致新的检查资料无法被产生的资料维持示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的储存系统及其不良储存装置资料维持方法其具体实施方式、结构、方法、步骤、特征及其功效,详细说明如后。
本发明所提供的储存系统及其不良储存装置资料维持方法是能用在冗余储存装置的降次模式(Degraded Mode)下又发生媒体错误(Media Error)时的资料处理,或者用于资料写入且有储存装置发生读取异常而致新的检查资料无法被产生时,其中储存装置可为磁带(Tape)、磁碟机(Disk Drive)、记忆体(Memory)或光储存记录媒体或其他等效的储存装置。在RAID1,3,4,5降次模式时,已有一第一储存装置无法读取资料,若此时又有一第二储存装置无法读取资料,则将使得该第一储存装置的资料无法被重建,但在RAID6中,则允许同时有较多的储存装置读不到资料,而能进行资料重建。因此,本发明提供“未保护”注记及/或“坏资料”注记来进行资料管理,能使得其他没有被注记之资料能维持较佳的保护,其中被注记为“未保护”的资料是指该笔资料暂时无法读取,但若再次读取时,该笔资料的内容仍有可能读取成功,若读取成功则该笔资料仍是有效(Valid)的资料;被注记为“坏资料”的资料是指该笔资料已经遗失,但该笔资料所在位置也许可以被读取,但却是无效的资料。此外,本发明并在注记资料后重新计算新的检查资料(Check Data),其中新的检查资料计算时是不包括被注记为“坏资料”与“未保护”的资料,亦即检查资料没有保护被注记为“坏资料”与“未保护”的资料。
图4显示本发明的较佳实施例的储存系统示意图,其包括主机41、控制器42以及实体储存装置阵列43,其中实体储存装置阵列43具有复数个实体磁碟机431,432,433,434,435,该等磁碟机431,432,433,434,435可相连接于同一通道(Channel)(或汇流排介面)或不同通道上。
在本实施例中,是设置有错误资料区块表以记录被注记资料的位置,而每一磁碟阵列(RAID)均设有一错误资料区块表,其中该磁碟阵列由复数储存装置(例如:磁碟机、记忆体、磁带等)所组成,而该磁碟阵列可为RAID1、RAID3、RAID 4、RAID 5、RAID6或其他磁碟阵列阶层(组态)。
如图4所示,该等磁碟机431,432,433,434,435皆储存有错误资料区块表44,供其中至少一磁碟机故障时,错误资料区块表44仍会存在,且错误资料区块表44亦不会因为控制器42故障而不见。在其他实施例中,错误资料区块表44可储存于一非挥发性储存单元(Non-Volatile StorageUnit)中,其中该非挥发性储存单元可位于控制器42内部或位于控制器42外部。在此,该非挥发性储存单元可以为快闪记忆体(Flash)、磁性随机存取记忆体(Magnetic Random Access Memory,MRAM)、铁电记忆体(Ferroelectronic RAM,FRAM)、磁带或磁碟机。有关如何通过错误资料区块表44来达成错误资料管理,敬请参照下述说明。
图5显示本发明较佳实施例的动作流程图,有关其说明,敬请一并参照图4及图6,在本实施例中,是以RAID 4为例。当实体储存装置阵列43的其中一个磁碟机发生故障而需进行重建(Rebuild)时,是开始执行步骤S500。在本实施例中,是以图6中的磁碟机432发生故障而进行重建,当资料D151进行重新建构时,是读取与资料D151相关的其他资料(包括使用者资料D141,D161,D171及同位资料P4)(步骤S505),并判断该等相关的其他资料是否因媒体错误而导致读取错误(步骤S510),若该等相关的其他资料皆读取成功,则对该等相关的其他资料进行互斥或运算,以重新建构资料D151(步骤S540)。
若在读取该等相关的其他资料时,有一笔资料因媒体错误而导致读取错误,则判断该笔读取错误的资料是否为使用者资料(步骤S515),若该笔读取错误的资料(例如为资料D161)为使用者资料,则对资料D161的位置注记为“未保护”,亦即在错误资料区块表44中对资料D161的位置注记为“未保护”。若该笔读取错误的资料不是使用者资料,或者在执行完步骤S520后,继续判断需要重新建构的资料(在此称为目标资料(Target Data))是否为使用者资料(步骤S525),若目标资料为使用者资料(在本实施例中,目标资料D151为使用者资料)却无法重新建构,因此资料将会遗失,继而在错误资料区块表44中注记该资料的位置为“坏资料”(步骤S530)。
若目标资料D151不是使用者资料,或者在执行完步骤S530后,则对没有被注记的资料进行互斥或运算,以获得新的同位资料,并将其更新(覆写旧的同位资料)(步骤S535)。在本实施例中,同位资料即为检查资料。
在本实施例中,目标资料D151的位置与读取错误的资料D161的位置分别被注记为“坏资料”与“未保护”,因此在更新同位资料时,只有读取使用者资料D141,D171来进行互斥或运算,使得新的同位资料 P 4 , = D 141 ⊕ D 171 , 能维持使用者资料D141,D171与新的同位资料P4’具有资料一致性,以保护资料D141,D171。如此,在之后的资料存取时,若使用者资料D141,D171与新的同位资料P4’其中一个资料发生问题而无法存取时皆能通过互斥或运算再次重新产生(Regenerate)。
在上述该等实施例当中,每一笔资料可包含一个或多个区块的资料,同时“未保护”注记及“坏资料”注记可以针对资料区块来进行。当然,虽然上述该等实施例是以RAID 4为例,其亦可应用于RAID 1,3,5,6及其延伸与组合。唯,应用于RAID 6时,由于其是有较多的检查资料,因此可以容许有较多的错误,所以在重新建构资料时,若有储存装置无法读取资料而致无法重新建构该资料时,即可适用。
图7a显示本发明较佳实施例的写入资料流程图,有关其说明,敬请一并参照图4的系统示意图。当写入新资料(步骤S705)时,控制器42会先计算待写入资料的相关的新同位资料,并记录其位置于控制器42的非挥发性记忆体(图未示)中,以防止写入资料因电源中断而未完成写入,而能通过上述计算的新同位资料及写入位置的记录来进行资料回复(步骤S710)。接着,控制器42通过错误资料区块表来判断待写入资料的位置是否有被注记(步骤S715),若待写入资料的位置有被注记,则先删除该待写入资料的位置的注记(步骤S720),继而写入新的资料与新的同位资料(步骤S725)。若待写入资料的位置没有被注记,则直接写入新的资料与新的同位资料(步骤S725)。在完成上述资料写入动作后,控制器42并将先前所记录的待写入资料的位置予以删除(步骤S730),继而回传一写入资料完成讯息给需求应用端,其可为一装置或一应用软体(图未示)。
图7b显示本发明较佳实施例的读取资料流程图,有关其说明,敬请一并参照图4的系统示意图。当读取资料(步骤S740)时,控制器42会先判断待读取资料的位置是否被注记为“坏资料”(步骤S745)。若待读取资料的位置有被注记为“坏资料”,则回传一媒体错误讯息给需求应用端(例如:主机41)(步骤S780)。若待读取资料的位置没有被注记为“坏资料”,则读取资料(步骤S750);在读取资料时,并判断是否发生媒体错误(Media Error)(步骤S755)。
若读取资料时发生媒体错误,则判断该待读取资料的位置是否有被注记为“未保护”(步骤S760)。若该待读取资料的位置被注记为“未保护”,表示该待读取资料没有被同位资料保护,因此无法通过读取其他相关资料来重新产生,并回传媒体错误讯息给需求应用端(步骤S780);若待读取资料的位置没有被注记为“未保护”,则控制器42通过读取与待读取资料相关的其他资料来重新产生(Regenerate)该待读取资料(步骤S765)。
在执行资料重新产生时,有可能因为其中一笔冗余资料无法读取而导致资料重新产生失败。因此,在执行完资料重新产生后,控制器42判断是否成功重新产生资料(步骤S770)。若成功重新产生资料,则回传重新产生的待读取资料至需求应用端(步骤S775);若没有成功重新产生资料,则回传媒体错误讯息给需求应用端(步骤S780)。
在步骤S755中,若读取资料时没有发生媒体错误,则判断该待读取资料的位置是否有被注记为“未保护”(步骤S790)。若该读取资料的位置没有被注记为“未保护”,则回传该资料至需求应用端(步骤S775);若该读取资料的位置有被注记为“未保护”,则可初始化一消除“未保护注记”程序(步骤S795),并回传读取资料(步骤S775)。有关消除“未保护注记”程序的详细说明,敬请参照图7c与图8。
在图8中,使用者资料D15,D25,D35与同位资料P5位于同一等量磁区条带(Stripe)80,使用者资料D25为待读取资料,且其被注记为“未保护”。由于使用者资料D25被注记,所以同位资料P5是由使用者资料D15,D35通过互斥或运算计算而来。
在图7c中,在开始执行消除“未保护”程序(步骤S796)时,由于资料D25已成功读取,是故必须重新计算与该资料D25位于同一等量磁区条带80上的新同位资料P5’,以保护该等资料D15,D25,D35。首先,读出与该读取资料D25位于同一等量磁区条带的同位资料P5,该同位资料P5可由控制器42中的快取记忆体(图未示)读出或由相关的磁碟机中读出(步骤S797)。接着,藉由已读取的资料D25与旧的同位资料P5重新计算一新的同位资料P5’(步骤S798)。然而,为了避免写入新的同位资料P5’时发生电源中断而导致未完成写入新的同位资料P5’,所以控制器42会记录新的同位资料P5’所位于的等量磁区条带的位置于控制器42的非挥发性记忆体(图未示)中(步骤S711)。继而控制器42写入新的同位资料P5’以及将错误资料区块表中有关资料D25的“未保护”注记予以删除(步骤S799)。之后,控制器42将先前所记录的新的同位资料P5’的等量磁区条带位置予以删除(步骤S731)。
图9显示本发明实施于资料写入且发生储存装置读取异常而致新的检查资料无法被产生的示意图。在图9中,其是包括有主机41、控制器42以及实体储存装置阵列43,其中控制器42具有记忆体421,实体储存装置阵列43具有磁碟机431,432,433,434及435。在该等磁碟机431,432,433,434及435中分别具有使用者资料R1,R2,R3,R4及同位资料P6,且其是位于同一等量磁区条带90上,同位资料P6是由该等使用者资料R1,R2,R3及R4进行互斥或运算所获得,亦即 P 6 = R 1 ⊕ R 2 ⊕ R 3 ⊕ R 4 .
当主机41通过控制器42将一待写入资料W1写入磁碟机431时,若此时磁碟机431及432皆发生媒体错误(例如:在磁碟机431中的使用者资料R1读取错误,在磁碟机432中的使用者资料R2亦读取错误),则此时需进行资料保护机制。在本实例中,由于磁碟机431发生媒体错误,待写入资料W1写入磁碟机时可以直接覆写旧的使用者资料R1或通过重新分配(Reassign)机制来将待写入资料W1写至其他位置。
但在写入待写入资料W1时,亦必须重新计算同位资料,而位于磁碟机432中的使用者资料R2无法读取,因而导致新的同位资料无法建立,因此本发明将使用者资料R2的位置注记为“未保护”,亦即计算新的同位资料时不包含使用者资料R2。此时,新的同位资料P6’会由该写入资料W1与使用者资料R3,R4来通过互斥或运算产生,亦即 P 6 , = W 1 ⊕ R 3 ⊕ R 4 . 也就是说,新的同位资料P6’仅保护该写入资料W1与使用者资料R3,R4,而不会保护其位置被注记的使用者资料R2,能藉此维持资料保护。但如果使用者资料R2能再被读取成功,其资料仍是正确的,只是没有受到同位资料P6’的保护。有关注记于使用者资料R2的位置的“未保护”注记的移除及移除后的相关处理,上述实施例已说明,在此不再详加描述。
在其他实施例中,有可能磁碟机432已发生故障而储存系统在降次模式下,若此时磁碟机431在写入资料W1前先读取资使用者资料R1亦发生媒体错误,则此时使用者资料R2将会遗失而无法重新产生,故使用者资料R2的位置会被注记为“坏资料”注记。相类似的,新的同位资料P6’仍然由该写入资料W1与使用者资料R3,R4来通过互斥或运算产生。
在某些情况下,磁碟机431有可能发生故障,且另一磁碟机432可能发生媒体错误的情形,此时虽然因为磁碟机431故障而待写入资料W1不会马上被写入,但新的同位资料P6’仍会被更新,即 P 6 , = W 1 ⊕ R 3 ⊕ R 4 . 由于磁碟机432发生媒体错误,因此使用者资料R2的位置会被注记为“未保护”注记,是故新的同位资料P6’不会保护使用者资料R2。之后,以另一个磁碟机来替代故障的磁碟机431时,该写入资料W1可通过读取之前被保护的使用者资料R3,R4与新的同位资料P6’,并将其进行互斥或运算来产生之,亦即 W 1 = P 6 , ⊕ R 3 ⊕ R 4 , 且该写入资料W1在重新产生后,会被写入该替代的磁碟机。相类似地,本实施例亦能适用于RAID 1,3,5,6及其延伸与组合。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (19)

1、一种不良储存装置资料维持方法,使用于一降次模式下的储存系统中,其中在该降次模式下有一笔目标资料需重新建构,其特征在于该方法包括下述步骤:
一读取相关资料步骤,读取至少一笔相关资料,其中该相关资料是与该目标资料相关;
一注记步骤,若该相关资料因读取错误而致该目标资料无法重新建构,且该读取错误的相关资料为使用者资料,则注记一未保护注记于该读取错误的相关资料的位置,而该需重新建构的目标资料若为使用者资料,则一并对该目标资料的位置注记为一坏资料注记;以及
一更新检查资料步骤,通过没有被注记的所述相关资料中的使用者资料来重新计算出一新的检查资料,并以之更新原有的检查资料。
2、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
3、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中更包括若写入一笔新资料于一已经被注记的资料的位置时,则删除该资料的位置的注记,且写入该笔新资料以及更新与该新资料相关的检查资料。
4、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中更包括在写入一笔新资料前,记录与该笔目标资料相关的检查资料的位置,并在完成写入该笔新资料与更新检查资料后,删除先前记录的该位置。
5、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中被注记为该坏资料注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
6、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中被注记为该未保护注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
7、根据权利要求1所述的不良储存装置资料维持方法,其特征在于其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该笔相关资料的其他相关资料来重新产生该笔相关资料。
8、一种不良储存装置资料维持方法,用于储存系统的资料写入储存装置时,而当有一新的资料待写入且需重新计算一新的检查资料之时,其特征在于该方法包括下述步骤:
一注记步骤,若该新的资料的至少一笔相关资料无法读取而致该新的检查资料无法产生,其中若该相关资料为使用者资料且因媒体错误而无法读取,则对其位置注记一未保护注记,若该相关资料为使用者资料且因储存装置故障而无法读取,则对其位置注记一坏资料注记;以及
一更新检查资料步骤,是通过没有被注记的所述相关资料中的使用者资料与该新的资料来重新计算出一新的检查资料,并以之更新原有的检查资料,其中若该新的资料写入时,写入资料的位置已经有注记,则删除该注记。
9、根据权利要求8所述的不良储存装置资料维持方法,其特征在于其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
10、根据权利要求8所述的不良储存装置资料维持方法,其特征在于其中被注记为该坏资料注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
11、根据权利要求8所述的不良储存装置资料维持方法,其特征在于其中被注记为该未保护注记的相关资料的位置再次被读取时,则回传一错误讯息回一需求应用端。
12、根据权利要求8所述的不良储存装置资料维持方法,其特征在于其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该笔相关资料的其他相关资料来重新产生该笔相关资料。
13、一种储存系统,其特征在于其包括:
一需求应用端;
一控制器,与该需求应用端耦接;
一储存装置阵列,与该控制器耦接,且其具有复数储存装置;以及
至少一错误资料区块表,记录有一未保护注记与一坏资料注记;
其中当该储存系统于一降次模式下且在该降次模式下有一笔目标资料需重新建构之时,该控制器执行下述步骤:
一读取相关资料步骤,读取至少一笔相关资料,其中该相关资料是与该目标资料相关;
一注记步骤,若该相关资料因读取错误而致该目标资料无法重新建构,且该读取错误的相关资料为使用者资料,则注记该未保护注记于该读取错误的相关资料的位置,而该需重新建构的目标资料若为使用者资料,则一并对该目标资料的位置注记为该坏资料注记;以及
一更新检查资料步骤,通过没有被注记的所述相关资料中的使用者资料来重新计算出一新的检查资料,并以之更新原有的检查资料;或
其中当有一新的资料待写入该储存装置阵列且需重新计算一新的检查资料之时,该控制器执行下述步骤:
一注记步骤,若该新的资料的至少一笔相关资料无法读取而致该新的检查资料无法产生,其中若该相关资料为使用者资料且因媒体错误而无法读取,则对其位置注记该未保护注记,若该相关资料为使用者资料且因该储存装置阵列中的储存装置故障而无法读取时,则对其位置注记该坏资料注记;以及
一更新检查资料步骤,是通过没有被注记的所述相关资料中的使用者资料与该新的资料来重新计算出一新的检查资料,并以之更新原有的检查资料,其中若该新的资料写入时,写入资料的位置已经有注记,则删除该注记。14、根据权利要求13所述的储存系统,其特征在于其中所述的至少一错误资料区块表分别储存于每一储存装置中。
15、根据权利要求13所述的储存系统,其特征在于其中所述的至少一错误资料区块表储存于一非挥发性储存单元中。
16、根据权利要求13所述的储存系统,其特征在于其中被注记为该未保护注记的相关资料再次被读取时,若读取成功,则该未保护注记被删除,并在删除该未保护注记后,更新与被删除该未保护注记的资料相关的检查资料。
17、根据权利要求13所述的储存系统,其特征在于其中被注记为该坏资料注记的相关资料的位置再次被读取时,则回传一错误讯息至该需求应用端。
18、根据权利要求13所述的储存系统,其特征在于其中若读取一笔该相关资料发生错误,而该笔相关资料的位置没有被注记,则通过读取该笔相关资料的其他相关资料来重新产生该笔相关资料。
19、根据权利要求13所述的储存系统,其特征在于其中更包括若写入一笔新资料于一已经被注记的资料的位置时,则删除该资料的位置的注记,且写入该笔新资料以及更新与该新资料相关的检查资料。
20、根据权利要求13所述的储存系统,其特征在于其中被注记为该未保护注记的相关资料的位置再次被读取时,则回传一错误讯息至该需求应用端。
CNB2005101302673A 2004-12-10 2005-12-12 储存系统及其不良储存装置资料维持方法 Active CN100489808C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59310404P 2004-12-10 2004-12-10
US60/593,104 2004-12-10

Publications (2)

Publication Number Publication Date
CN1815455A CN1815455A (zh) 2006-08-09
CN100489808C true CN100489808C (zh) 2009-05-20

Family

ID=36907671

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101302673A Active CN100489808C (zh) 2004-12-10 2005-12-12 储存系统及其不良储存装置资料维持方法

Country Status (3)

Country Link
US (1) US7464289B2 (zh)
CN (1) CN100489808C (zh)
TW (1) TWI295021B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7561482B2 (en) * 2006-09-07 2009-07-14 Sandisk Corporation Defective block isolation in a non-volatile memory system
CN103984587B (zh) * 2008-06-12 2017-10-20 普安科技股份有限公司 储存虚拟化系统中更新实体储存装置的控制程序的方法
CN101510445B (zh) * 2009-03-19 2012-11-21 无锡中星微电子有限公司 存储器坏块表的保存方法以及装置
TWI417893B (zh) * 2009-05-06 2013-12-01 Silicon Motion Inc 資料存取裝置及資料存取方法
CN101901115B (zh) * 2010-07-23 2011-12-14 华中科技大学 一种磁盘阵列raid6级别的构建方法
US8578208B2 (en) 2011-01-13 2013-11-05 Micron Technology, Inc. Determining location of error detection data
US9268644B1 (en) 2011-04-18 2016-02-23 American Megatrends, Inc. Systems and methods for raid acceleration
US8954670B1 (en) * 2011-04-18 2015-02-10 American Megatrends, Inc. Systems and methods for improved fault tolerance in RAID configurations
US9268640B1 (en) * 2013-12-20 2016-02-23 Emc Corporation Limiting data loss on parity RAID groups
WO2016106663A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 一种将数据写入存储系统的方法和存储系统
US9678665B2 (en) * 2015-03-06 2017-06-13 Western Digital Technologies, Inc. Methods and systems for memory page allocation
CN113868019B (zh) * 2021-08-27 2023-11-03 苏州浪潮智能科技有限公司 一种数据处理方法、装置及相关设备
US11687426B1 (en) * 2022-04-28 2023-06-27 Dell Products L.P. Techniques for managing failed storage devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
US6851082B1 (en) * 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
US6944791B2 (en) * 2002-07-18 2005-09-13 Lsi Logic Corporation Method of handling unreadable blocks during write of a RAID device
US7275179B1 (en) * 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
US7552357B2 (en) * 2005-04-29 2009-06-23 Network Appliance, Inc. Lost writes detection in a redundancy group based on RAID with multiple parity

Also Published As

Publication number Publication date
US20060149999A1 (en) 2006-07-06
TW200629086A (en) 2006-08-16
CN1815455A (zh) 2006-08-09
US7464289B2 (en) 2008-12-09
TWI295021B (en) 2008-03-21

Similar Documents

Publication Publication Date Title
CN100489808C (zh) 储存系统及其不良储存装置资料维持方法
US11210170B2 (en) Failed storage device rebuild method
JP4512111B2 (ja) 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
US8307159B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
TWI362667B (en) Data writing method for flash memory and controller thereof
US7721143B2 (en) Method for reducing rebuild time on a RAID device
CN102508724B (zh) 一种基于软raid的磁盘坏块处理方法
TWI467581B (zh) 複合式儲存裝置及其複合式儲存媒體控制器與定址方法
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
CN101494085B (zh) 防止非易失性存储器发生读取干扰的方法及其控制器
CN103049222A (zh) 一种raid5的写io优化处理方法
US9785438B1 (en) Media cache cleaning based on workload
CN104050056A (zh) 多存储介质设备的文件系统备份
CN101604251A (zh) 多同位储存系统中更新实体储存装置控制程序的方法
CN108958656B (zh) 基于raid5固态硬盘阵列的动态条带系统设计方法
US10860446B2 (en) Failed storage device rebuild using dynamically selected locations in overprovisioned space
TW201007740A (en) Method for managing data and storage apparatus thereof and controller thereof
JP4978259B2 (ja) データ整合性チェック方法およびデータ整合性チェックシステム
KR100618848B1 (ko) 하드디스크 드라이브의 소오스 데이터 복구 방법 및 이를이용한 시스템 정보 독출 방법
JP2010026812A (ja) 磁気ディスク装置
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
CN1324474C (zh) 检测用于存储系统中写错误的设备与方法
CN105893172A (zh) 硬盘数据恢复方法及系统
CN111831470B (zh) 磁盘阵列系统的数据还原方法

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