JP2002175158A - ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ - Google Patents

ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ

Info

Publication number
JP2002175158A
JP2002175158A JP2000374616A JP2000374616A JP2002175158A JP 2002175158 A JP2002175158 A JP 2002175158A JP 2000374616 A JP2000374616 A JP 2000374616A JP 2000374616 A JP2000374616 A JP 2000374616A JP 2002175158 A JP2002175158 A JP 2002175158A
Authority
JP
Japan
Prior art keywords
disk
stripe
data
disk array
file system
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.)
Granted
Application number
JP2000374616A
Other languages
English (en)
Other versions
JP3435400B2 (ja
Inventor
Kyoichi Sasamoto
享一 笹本
Masayuki Takakuwa
正幸 高桑
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000374616A priority Critical patent/JP3435400B2/ja
Priority to US09/931,012 priority patent/US6772286B2/en
Publication of JP2002175158A publication Critical patent/JP2002175158A/ja
Application granted granted Critical
Publication of JP3435400B2 publication Critical patent/JP3435400B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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

Abstract

(57)【要約】 【課題】ディスクアレイのディスク領域のうちファイル
システムにて実際に使用されている領域のみを対象にデ
ィスクドライブのデータ修復を行うことにより、データ
修復処理に要する時間を短縮し、これによりディスクド
ライブの多重障害となる危険性を低減して、ディスクア
レイ装置の信頼性を向上する。 【解決手段】ディスクアレイを構成する複数のHDDの
うちの1つが故障したために、故障したHDD内のデー
タを当該HDDに代えて用いられるHDDに修復する場
合に、ディスクアレイのディスク領域の各ストライプに
ついて、ディスク資源管理テーブルに基づいて、そのス
トライプがファイルシステムにより使用されているか否
かを判定し(S21,S22)、ファイルシステムによ
り使用されているストライプに対してのみRAID機能
によりデータを修復する(S23〜S25)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、RAID(Redund
ant Arrays of Inexpensive Disks)構成のディスクア
レイ装置におけるデータ修復方法に係り、特にディスク
アレイを構成するメンバーのディスクドライブが故障し
た場合に好適なデータ修復方法及びディスクアレイコン
トローラに関する。
【0002】
【従来の技術】一般にディスクアレイ装置は、複数のデ
ィスクドライブ、問えば磁気ディスク装置(以下、HD
Dと称する)から構成されるディスクアレイと、このデ
ィスクアレイ内の各HDD(メンバーHDD)に対する
アクセスを制御するディスクアレイコントローラとを備
え、当該各HDDを並列に動かして読み出し/書き込み
を分散して実行することでアクセスの高速化を図ると共
に、冗長構成によって信頼性の向上を図るようにした外
部記憶装置として知られている。
【0003】上記ディスクアレイコントローラは、ホス
ト計算機から転送される書き込みデータに対して、デー
タ訂正情報としての冗長データを生成し、上記複数のH
DDのうちのいずれかに書き込むようになっている。こ
れにより、複数のHDDのうちの1台の故障に対し、こ
の冗長データと残りのHDDのデータを用いて故障した
HDDのデータを修復することを可能としている。
【0004】データ冗長化の手法の1つとして、RAI
Dの手法が知られている。RAID手法では、RAID
のデータと冗長データとの関連において、種々のRAI
Dレベルに分類されている。RAIDレベルの代表的な
ものにレベル3とレベル5がある。
【0005】レベル3(RAIDレベル3)では、ホス
ト計算機から転送される更新データ(書き込みデータ)
を分割して、その分割された更新データ間の排他的論理
和演算を行うことで冗長データとしてのパリティデータ
を生成し、当該パリティデータで複数のHDDのいずれ
かに書き込まれている元のパリティデータを更新する。
一方、レベル5(RAIDレベル5)では、ホスト計算
機から転送される更新データ(新データ)と、当該更新
データの格納先となるHDD内領域に格納されている更
新前のデータ(旧データ)と、当該更新データの格納先
に対応する別のHDDの領域に格納されている更新前の
パリティデータ(旧パリティデータ)との間の排他的論
理和演算を行うことで、更新されたパリティデータ(新
パリティデータ)を生成し、当該更新パリティデータで
元のパリティデータを更新する。
【0006】このようなRAID構成のディスクアレイ
装置では、ディスクアレイ内のメンバーHDDが故障し
た場合に、故障したHDD以外のHDDから、ディスク
アレイのディスク領域を管理する単位であるストライプ
毎にデータを読み出して、それらのデータの排他的論理
和演算を行うRAIDの機能により、故障したHDDの
すべての領域のデータを、故障したHDDに代えて用い
られるHDD内に修復することができる。この故障した
HDDに代えて用いられるHDDは、故障したHDDと
交換して用いられるHDD、またはディスクコントロー
ラに予め接続されていて、故障したHDDの代替として
割り付けられるスペアHDDである。
【0007】
【発明が解決しようとする課題】このように、RAID
構成のディスクアレイ装置では、HDDが故障しても、
故障したHDDのデータを元通りに修復することができ
る。
【0008】ところが従来のディスクアレイ装置では、
故障したHDD内のデータを元通りに修復するのに、す
べてのHDD領域のデータをRAIDの機能により修復
していた。このため、近年のようにHDD容量が増加す
るのに伴い、データの修復に非常に時間がかかるという
問題があった。
【0009】また、データ修復をしている最中は、一般
にRAIDによるデータの冗長性が損なわれる。このた
め、修復に時間がかかるほど更に他のHDD故障も発生
しやすくなって、データ修復不能となり、データが消失
する危険性が高まる。また、故障したHDDのデータを
修復するためには、その他のHDDの全領域を読み出す
必要がある。もし、この読み出しの対象となるHDDに
てメディア障害(HDDの部分的な障害)が発生する
と、HDDの多重障害となってデータ修復不能となるた
め、ディスクアレイのディスク領域(ディスクボリュー
ム)の閉塞またはデータ修復処理の継続不能となる。こ
れによりディスクアレイ装置の信頼性が低下する。
【0010】ところが本発明者は、ディスクアレイ装置
を利用するホスト計算機のファイルシステムが実際に使
用しているHDD領域以外は、データ修復処理は必ずし
も必要でないことを想到するに至った。そこで、ファイ
ルシステムが実際に使用しているHDD領域(ディスク
領域)のみを対象にHDD(ディスクドライブ)のデー
タ修復を行うならば、データ修復処理に要する時間を短
縮して、HDD故障などの危険性を減らすことが可能と
なる。しかし、従来のディスクアレイ装置は、ホスト計
算機のファイルシステムが実際に使用しているHDD領
域を知ることができず、したがってファイルシステムが
使用しているHDD領域のみを対象にHDDのデータ修
復を行うことはできない。
【0011】また、HDDのメディア障害、つまりHD
Dの部分的な障害であるセクタブロックの障害を早期に
検出しこれを修復する目的で、周期的にHDDの内容を
読み出して検査するHDDメディア検査処理が一般に知
られている。しかし従来のディスクアレイ装置では、フ
ァイルシステムが使用しているHDD領域が不明のた
め、HDDの全領域について読み出し検査をする必要が
あった。このため、故障したHDDのデータの修復処理
の場合と同様に、検査に非常に時間を要するという問題
があった。
【0012】また、メディア障害を発見した際には、そ
の障害箇所のセクタブロックを他のセクタブロックに代
替する処理を行い、その代替先のブロック内に、代替元
のデータを修復する必要がある。しかし、このデータ修
復が行えるのは、RAIDの機能によりデータの冗長性
が確保されている場合に限られる。したがって、HDD
故障などに起因して行われるデータの修復中は、HDD
メディア検査処理にてメディア障害を見つけても修復す
ることができず、ディスクアレイ装置の信頼性が低下す
るという問題もあった。
【0013】本発明は上記事情を考慮してなされたもの
でその目的は、ディスクアレイのディスク領域のうちフ
ァイルシステムにて実際に使用されている領域と使用さ
れていない領域とを区別して処理することで、ディスク
アレイ装置の信頼性を向上できるようにすることにあ
る。
【0014】
【課題を解決するための手段】本発明は、ディスクアレ
イのディスク領域を論理ブロック単位に管理するファイ
ルシステムを備えたホスト計算機から、当該ファイルシ
ステムにより使用されている論理ブロックまたは当該論
理ブロックを含むストライプを示す第1のディスク資源
管理情報を取得するステップと、上記第1のディスク資
源管理情報から上記ディスク領域内の各ストライプ毎に
ファイルシステムにより使用されている論理ブロックを
含むか否かを示す第2のディスク資源管理情報を生成し
てディスクアレイ装置内に保持するステップと、ディス
クアレイを構成する複数のディスクドライブのうちの1
つが故障した場合、上記ディスク領域のすべてのストラ
イプについて、ファイルシステムにより使用されている
論理ブロックを含む第1のストライプであるか、或いは
ファイルシステムにより使用されている論理ブロックを
含まない第2のストライプであるかを、上記第2のディ
スク資源管理情報に基づいて判定するステップと、この
判定ステップで第1のストライプであると判定された場
合だけ、当該ストライプを対象にRAID機能によりデ
ータを修復するステップとを備えたことを特徴とする。
【0015】このような構成においては、ディスクアレ
イ装置内の例えばディスクアレイコントローラにて、ホ
スト計算機から第1のディスク資源管理情報が取得さ
れ、当該情報から第2のディスク資源管理情報が生成さ
れてディスクアレイ装置内の例えばディスクアレイコン
トローラに保持される。もし、ディスクドライブの1つ
が故障した場合、ファイルシステムが実際に使用してい
る論理ブロックを含んでいることが第2のディスク資源
管理情報によって示されているストライプ(第2のスト
ライプ)だけを対象に、当該ディスクドライブのRAI
D機能によるデータ修復が行われる。
【0016】このように、ファイルシステムが実際に使
用している領域だけに絞って、故障したディスクドライ
ブのデータ修復を行うことにより、データ修復に要する
処理時間を短縮することができる。ここで、ファイルシ
ステムが使用していないストライプには、修復すべき有
効なデータは格納されていない。したがって、RAID
機能によるデータ修復を行わなくても何ら問題はない。
また、データ修復に要する処理時間を短縮したことで、
その結果としてディスクドライブの多重障害によるディ
スク領域(ディスクボリューム)の閉塞など致命的な障
害となる危険性を低減することができる。
【0017】ホスト計算機から取得した第1のディスク
資源管理情報は、当該情報を取得した直前までの論理ブ
ロックの使用状況を表す。したがって、それ以降に発生
したファイルの更新(ディスクアレイ装置へのデータ書
き込み)については反映されていない。しかし、ファイ
ルの更新の度に最新の第1のディスク資源管理情報をホ
スト計算機から取得するのは大幅な性能低下となる。
【0018】そこで、ホスト計算機からのデータ書き込
み要求をディスクアレイ装置が受け取った場合、つまり
ディスクアレイ装置でのファイル更新が発生する場合、
当該データ書き込み要求に基づいて、ディスクアレイ装
置にて保持している第2のディスク資源管理情報を、ス
トライプの最新の使用状況を表すようにディスクアレイ
装置自身が更新するとよい。
【0019】また、ファイルシステムが使用していない
ストライプに対しては、RAID機能によるデータ修復
に代えて予め定められた固定データを書き込むようにし
てもよい。このように、ファイルシステムが使用してい
ないストライプに固定データを書き込むことで、RAI
D機能によるデータ修復を行うことなく、RAIDにお
けるデータと冗長データとの整合性を得ることができ
る。しかも、ファイルシステムが使用していないストラ
イプには、修復すべき有効なデータは格納されていない
ため、当該ストライプに固定データを書き込んでも何ら
問題はない。また、固定データの書き込みでは、RAI
D機能によるデータ修復とは異なって、ディスクドライ
ブ(正常なディスクドライブ)からのデータ読み出しが
行われないため、処理時間が短くて済む。更に、正常な
ディスクドライブからのデータ読み出しが行われないこ
とにより、ディスクドライブの多重障害となる危険性が
大幅に低下する。この理由は次の通りである。
【0020】故障したディスクドライブのデータを例え
ばRAIDレベル5の方法により修復するには、他の全
ての正常なディスクドライブ内のデータを読み出してか
らそれらの排他的論理和を計算し、その結果を、故障し
たディスクドライブに代えて用いられるディスクドライ
ブ、例えば故障したディスクドライブと交換して用いら
れるディスクドライブまたは故障したディスクドライブ
の代替用として予め割り付けられているスペアディスク
ドライブに書き込む必要がある。したがって、正常なデ
ィスクドライブからのデータ読み出しで万一メディア障
害などが発生すると、データの修復作業ができなくな
り、その結果としてディスクアレイのディスク領域(デ
ィスクボリューム)が閉塞したりデータ修復処理が不能
な状態となってしまう。これに対して本発明では、ファ
イルシステムにて使用されていないストライプについて
は、データの修復作業において上記した正常なディスク
ドライブからのデータ読み出しを行わないため、ディス
クドライブの多重障害となる危険性が大幅に低下して、
ディスクアレイ装置の信頼性が一層向上する。
【0021】また、ファイルシステムが使用していない
ストライプに対しては、データ修復ステップをスキップ
して、RAID機能によるデータ修復は勿論、上記した
固定データの書き込みによる修復も行わないようにして
も構わない。この場合、固定データの書き込みによる修
復を行う場合より、更に処理時間を短縮できる。その結
果、ディスクドライブの多重障害となる危険性を低減で
き、更にはホスト計算機からのアクセスに対する性能低
下を最小限の時間に短縮できる。但し、ファイルシステ
ムにより使用されていないストライプについては、RA
IDにおけるデータと冗長データとの整合性が得られな
くなる。
【0022】そこで、ホスト計算機からデータ書き込み
要求を受け取った場合、当該要求で指定されたデータ書
き込み先が属するストライプが第2のストライプである
ならば、即ちファイルシステムが使用していないストラ
イプであるならば、データ書き込み要求で指定される書
き込みデータと予め定められている固定データとから当
該ストライプの冗長データを生成し、書き込みデータと
固定データとこの生成された冗長データとをデータ書き
込み先が属するストライプに書き込むとよい。
【0023】また本発明は、ディスクアレイ内の各ディ
スクドライブの記憶内容を読み出すことにより当該ディ
スクドライブの部分的な障害を検出するメディア検査処
理を実行する場合に、ディスクアレイのディスク領域の
すべてのストライプについて第1のストライプである
か、或いは第2のストライプであるかを判定し、第1の
ストライプ、即ちファイルシステムが使用しているスト
ライプについてのみ、ディスクドライブからのデータ読
み出しを含むメディア検査を実行し、このメディア検査
で障害が検出された箇所のデータをRAID機能により
修復するようにしたことをも特徴とする。
【0024】このように、ファイルシステムにて使用さ
れているストライプのみ抽出してメディア検査をするこ
とにより、その検査に要する処理時間を短縮することが
できる。また、処理時間を短縮したことで、その結果と
してメディア障害をより早期に見つけることが可能とな
り、ディスクドライブの信頼性向上が図れる。これによ
りディスクアレイ装置の信頼性も向上する。
【0025】また本発明は、上記メディア検査処理を全
てのストライプについてストライプ毎に順次実行し、デ
ィスクドライブの部分的な障害が検出された場合には、
障害が検出された箇所を含むストライプが第1または第
2のストライプのいずれであるかを判定し、第1のスト
ライプの場合で、即ちファイルシステムが使用している
ストライプである場合で、障害が検出されたディスクド
ライブ以外のディスクドライブが正常な場合には、障害
が検出された箇所のデータをRAID機能により修復
し、第2のストライプの場合で、即ちファイルシステム
が使用していないストライプである場合には、障害が検
出された箇所のデータを固定データにより修復すること
をも特徴とする。
【0026】このように、メディア検査で障害が検出さ
れた箇所を含むストライプがファイルシステムにより使
用されている場合で、且つ障害が検出されたディスクド
ライブ以外のディスクドライブが正常な場合だけ、障害
が検出された箇所のデータをRAID機能により修復す
る。これに対し、障害が検出された箇所を含むストライ
プがファイルシステムにより使用されていない場合に
は、そのストライプ内のデータを保持している必要はな
いため、障害が検出されたディスクドライブ以外のディ
スクドライブが正常であるか否かに無関係に、つまりR
AID機能によるデータの冗長性が確保されているか否
かに無関係に、障害が検出された箇所のデータを強制的
に固定データにより修復することで、メディア障害の修
復できる可能性が大幅に向上してディスクドライブの信
頼性を向上し、これによりディスクアレイ装置の信頼性
も向上する。
【0027】なお、以上の方法に係る発明は、装置(デ
ィスクアレイコントローラ、または同ディスクアレイコ
ントローラを備えたディスクアレイ装置、または同ディ
スクアレイ装置を備えた計算機システム)に係る発明と
しても成立する。
【0028】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。図1は本発明の一実施形態に
係るディスクアレイ装置を備えた計算機システムの構成
を示すブロック図である。図1の計算機システムは、ホ
スト計算機10と、このホスト計算機10によって利用
されるディスクアレイ装置20とから構成される。
【0029】ホスト計算機10は、当該ホスト計算機1
0と接続されているディスクアレイ装置20(のディス
ク領域)に格納されるファイルを管理するファイルシス
テム11を備えている。このファイルシステム11はO
S(オペレーティングシステム)により提供される機能
の一部である。
【0030】ホスト計算機10は、ディスクアレイ装置
20のディスク領域内のすべての論理ブロック(連続す
る複数の物理セクタブロックで構成される固定長のブロ
ック)について、そのブロックがファイルシステム11
により使用されている(つまり有効なデータが格納され
ている)か、或いは使用されていない(つまりデータは
格納されておらず新しいデータを格納できる)かを示す
管理テーブル(以下、ディスク資源管理テーブルと称す
る)12を、当該計算機10が持つ記憶装置、例えばH
DD(図示せず)に保持している。この記憶装置がディ
スクアレイ装置20であっても構わない。また、ディス
ク資源管理テーブル12が、ディスク領域内のすべての
物理セクタブロックについて、そのブロックがファイル
システム11により使用されている否かを示すものであ
っても構わない。
【0031】ホスト計算機10(が持つ記憶装置)に
は、ファイルシステム11から予め定められたタイミン
グでディスク資源管理テーブル12を取得して、当該テ
ーブル12から生成されるディスク資源管理情報リスト
90(図9参照)をディスクアレイ装置20に送信する
専用ソフトウエア13がインストールされている。この
ディスク資源管理情報リスト90は、後述するようにフ
ァイルシステム11により使用されているすべての論理
ブロックについて、そのブロックの識別情報としての論
理ブロック番号の集合からなる。
【0032】ディスクアレイ装置20は、ディスクアレ
イ21とディスクアレイコントローラ22とから構成さ
れている。ディスクアレイ21は、ディスクアレイコン
トローラ22と接続される複数のディスクドライブ、例
えば4台のHDD(磁気ディスク装置)210-0〜21
0-3から構成される。ディスクアレイコントローラ22
には、HDD210-0〜210-3のいずれかに障害が発
生した場合のバックアップディスク用に割り当てられる
スペアHDD(図示せず)も接続されている。
【0033】ディスクアレイコントローラ22は、ディ
スクアレイ21内の各HDD210-0〜210-3に対す
るアクセスを制御する。ディスクアレイコントローラ2
2は、当該コントローラ22の主制御部をなすマイクロ
プロセッサ221と、メモリ222とを備えている。メ
モリ222には、マイクロプロセッサ221が実行する
制御プログラム222aが格納されている。またメモリ
222には、ディスク資源管理テーブル領域222bが
確保されている。このディスク資源管理テーブル領域2
22bは、ホスト計算機10から送信されるディスク資
源管理情報リスト90をもとに生成されるディスク資源
管理テーブル120を格納するのに用いられる。
【0034】本実施形態では、ディスクアレイ装置20
がRAID5レベルで用いられるものとする。この場
合、HDD210-0〜210-3がいずれもデータ並びに
パリティデータ(冗長データ)の格納用(データ・パリ
ティディスク用)に用いられる。なお、ディスクアレイ
装置20がRAID3レベルで用いられる場合には、H
DD210-0〜210-3のうちの3台がデータ格納用
(データディスク用)に、残りの1台がパリティデータ
格納用(パリティディスク用)に割り当てられる。
【0035】ディスクアレイ装置20(内のディスクア
レイコントローラ22)では、HDD210-0〜210
-3によって実現されるディスクアレイ21のディスク領
域を、図2に示すように複数のストライプ23に分割し
て管理する。このストライプ23のサイズは、1HDD
当たり64K(キロ)バイト〜256Kバイト程度に設
定されるのが一般的である。ストライプ23は、少なく
とも1つの論理ブロック24から構成される。この論理
ブロック24は、ホスト計算機10のファイルシステム
11がディスクアレイ装置20(内のディスクアレイ装
置20)のディスク領域を管理する際の最小単位であ
る。つまり、ディスクアレイ装置20のディスク領域
は、当該ディスクアレイ装置20ではストライプ23を
単位に管理され、ホスト計算機10では論理ブロック2
4を単位に管理される。通常、論理ブロックのサイズは
1Kバイト〜8Kバイト程度である。論理ブロック24
は、連続する複数の物理セクタブロック25から構成さ
れる。このセクタブロック25のサイズは512バイト
であるのが一般的である。
【0036】図3は、ホスト計算機10内に保持される
ディスク資源管理テーブル12とディスクアレイコント
ローラ22のメモリ222内のディスク資源管理情報領
域222bに格納されるディスク資源管理テーブル12
0のデータ構造例を示す。
【0037】ディスク資源管理テーブル12の各エント
リの並び順で決まるエントリ番号は、そのまま論理ブロ
ック番号を表すようになっている。このテーブル12の
各エントリには、そのエントリに固有の論理ブロック番
号で表される論理ブロックがファイルシステム11によ
り使用されているか否かを示すフラグが設定されてい
る。なお、ディスク資源管理テーブル12の各エントリ
に、論理ブロック番号と上記フラグとの対が設定される
ものであっても構わない。
【0038】一方、ディスク資源管理テーブル120の
各エントリの並び順で決まるエントリ番号は、そのまま
ストライプ番号を表すようになっている。このテーブル
120の各エントリには、そのエントリに固有のストラ
イプ番号で表されるストライプ(に含まれる論理ブロッ
クの少なくとも1つ)がファイルシステム11により使
用されているか否かを示すフラグが設定されている。な
お、ディスク資源管理テーブル120の各エントリに、
ストライプ番号と上記フラグとの対が設定されるもので
あっても構わない。
【0039】次に、図1の構成の計算機システムにおけ
る動作を、(1)ホスト計算機10からのディスク資源
管理情報リスト送信時の処理、(2)ホスト計算機10
からのデータ書き込み要求発行時の処理、(3)ディス
クアレイ装置20におけるデータ修復処理、(4)ディ
スクアレイ装置20におけるHDDメディア障害検査処
理を例に順に説明する。
【0040】(1)ホスト計算機10からのディスク資
源管理情報リスト送信時の処理 まず、ホスト計算機10からのディスク資源管理情報リ
スト送信時の処理について、図4のフローチャートを参
照して説明する。
【0041】ホスト計算機10は、当該計算機10(の
記憶装置)にインストールされている専用ソフトウエア
13に従い、予め定められたタイミングで、その時点に
当該計算機10(の記憶装置)に保持されているディス
ク資源管理テーブル12をファイルシステム11から取
得する。そしてホスト計算機10は、このディスク資源
管理テーブル12から図9に示すディスク資源管理情報
リスト90を作成し、当該リスト90をディスクアレイ
装置20に送信する。このときホスト計算機10は、デ
ィスク資源管理テーブル12の内容がディスク資源管理
情報リスト90の送信中に変化するのを防止するため
に、ファイルの更新が発生しないように配慮することが
好ましい。また、ディスク資源管理情報リスト90は極
めて大きなサイズとなる可能性があり、その場合には当
該リスト90の送信に長時間を要する。そこで、ディス
ク資源管理情報リスト90の送信がホスト計算機10の
効率に影響を及ぼさないように、送信タイミングとし
て、ホスト計算機10の立ち上げ時、或いはホスト計算
機10の負荷が少ない夜間等の一定周期を設定するとよ
い。
【0042】さて、ホスト計算機10からディスクアレ
イ装置20に送信されるディスク資源管理情報リスト9
0は、図9に示すように、ホスト計算機10内のファイ
ルシステム11がディスクアレイ装置20のディスク領
域(ディスクボリューム)を扱う際の論理ブロック24
のサイズ91と、このディスク領域内のすべての論理ブ
ロック24のうち、ファイルシステム11により使用さ
れている論理ブロック24のブロック番号(論理ブロッ
ク番号)92,92…の集合とから構成される。このよ
うに、ディスク資源管理情報リスト90内に、ファイル
システム11により使用されていない論理ブロック24
の情報(論理ブロック番号)が含まれていないのは、当
該リスト90のサイズを小さくすることで、当該リスト
90をホスト計算機10からディスクアレイ装置20に
送信するのに要する時間を短縮するためである。通常、
ディスクアレイ装置20のディスク領域のうち、ファイ
ルシステム11によって使用されている領域の占める割
合は少ない。このような場合、ファイルシステム11に
より使用されていない論理ブロック24の情報をディス
ク資源管理情報リスト90に含まないことは、当該リス
ト90の送信時間を短縮するのに特に効果がある。な
お、ディスク資源管理テーブル12自体をホスト計算機
10からディスクアレイ装置20に送信するようにして
も構わない。また、ディスク資源管理情報リスト90ま
たはディスク資源管理テーブル120のうちデータ量の
少ない方を送信するようにしても構わない。この場合、
リスト90またはテーブル120のいずれの送信である
かを示す情報を付加して送信するとよい。
【0043】ディスクアレイ装置20内のディスクアレ
イコントローラ22(に設けられたマイクロプロセッサ
221)は、ホスト計算機10からディスク資源管理情
報リスト90が送信されると、当該リスト90を受信す
る(ステップS1)。するとディスクアレイコントロー
ラ22は、ディスク資源管理情報リスト90に含まれて
いるすべての論理ブロック番号をもとに、ファイルシス
テム11により使用されていない論理ブロックの論理ブ
ロック番号を判別し、ディスクアレイ装置20のディス
ク領域内のすべての論理ブロックについて、そのブロッ
クを示す論理ブロック番号の例えば昇順に、そのブロッ
クが使用されているか否かを示すエントリが配置され
た、図3に示すディスク資源管理テーブル12を復元す
る(ステップS2)。
【0044】次にディスクアレイコントローラ22は、
ホスト計算機10により管理される論理ブロック番号と
ディスクアレイ装置20により管理されるストライプ番
号との対応付けを行う(ステップS3)。この対応付け
は次のように行われる。
【0045】まずディスクアレイコントローラ22は、
「ストライプ当たりの論理ブロック数」を、自身が管理
している「ストライプのサイズ」と、ホスト計算機10
から送信されたディスク資源管理情報リスト90に含ま
れている「論理ブロックのサイズ」91とから、 「ストライプ当たりの論理ブロック数」=「ストライプ
のサイズ」/「論理ブロックのサイズ」 により算出する。
【0046】次にディスクアレイコントローラ22は、
すべての「論理ブロック番号」について、その「論理ブ
ロック番号」と「ストライプ当たりの論理ブロック数」
とから、「論理ブロック番号」の示す論理ブロック24
が含まれているストライプ23を示す「ストライプ番
号」を、 「ストライプ番号」={「論理ブロック番号」/「スト
ライプ当たりの論理ブロック数」}の整数部 により算出する。例えば、「ストライプ当たりの論理ブ
ロック数」を「4」とすると、「論理ブロック番号」が
「0」〜「3」の論理ブロックを含むストライプの「ス
トライプ番号」はいずれも「0」である。この結果、ホ
スト計算機10により管理される論理ブロック番号とデ
ィスクアレイ装置20により管理されるストライプ番号
との対応付けが行われたことになる。
【0047】ディスクアレイコントローラ22は、論理
ブロック番号とストライプ番号との対応付けを行うと、
その対応付けの結果と復元されたディスク資源管理テー
ブル12とから、ディスクアレイ装置20内のすべての
ストライプについて、そのストライプを示すストライプ
番号の例えば昇順に、そのストライプがファイルシステ
ム11により使用されているか否かを示すエントリが配
置された、図3に示すディスク資源管理テーブル120
を作成する(ステップS4)。ここでは、ファイルシス
テム11によって使用されている論理ブロックを1つで
も含むストライプは、ファイルシステム11により使用
されていると判定されて、対応するエントリに使用中を
示すフラグが設定される。これに対し、ファイルシステ
ム11によって使用されている論理ブロックを含まない
ストライプは、ファイルシステム11によって使用され
ていないと判定されて、対応するエントリに未使用(不
使用)を示すフラグが設定される。
【0048】ディスクアレイコントローラ22はディス
ク資源管理テーブル120を作成すると、当該テーブル
120をメモリ222内のディスク資源管理テーブル領
域222bに上書きコピーする(ステップS5)。
【0049】上記のように、論理ブロック番号とストラ
イプ番号との対応付けをディスクアレイ装置20で行う
場合、ホスト計算機10ではディスクアレイ装置20に
固有のストライプのサイズを考慮する必要がない。但
し、ディスクアレイ装置20では、ホスト計算機10に
固有の論理ブロックのサイズを考慮する必要がある。
【0050】これに対し、図9のディスク資源管理情報
リスト90に代えて、図10のデータ構造のディスク資
源管理情報リスト100を用いるならば、ディスクアレ
イ装置20では、ホスト計算機10に固有の論理ブロッ
クのサイズを考慮する必要がない。この図10の構造の
ディスク資源管理情報リスト100は、ファイルシステ
ム11により使用されている論理ブロック24が含まれ
るストライプを示すストライプ番号101,101…の
集合から構成される。但し、図10の構造のディスク資
源管理情報リスト100をホスト計算機10で用意する
には、当該ホスト計算機10がディスクアレイ装置20
内のディスクアレイコントローラ22から予めストライ
プのサイズを取得し、論理ブロック番号とストライプ番
号との対応付けを、当該ホスト計算機10にインストー
ルされている専用ソフトウエア13に従って実行する必
要がある。
【0051】(2)ホスト計算機10からのデータ書き
込み要求発行時の処理 次に、メモリ222内のディスク資源管理テーブル領域
222bに、図3に示すディスク資源管理テーブル12
0が格納されている状態で、ホスト計算機10からディ
スクアレイ装置20内のディスクアレイコントローラ2
2に対してデータの書き込み要求が発行された場合の処
理について、図5のフローチャートを参照して説明す
る。
【0052】まずディスクアレイコントローラ22(内
のマイクロプロセッサ221)は、ホスト計算機10
(内のファイルシステム11)からディスクアレイ装置
20に対してデータ書き込み要求が発行されると、当該
要求を受信する(ステップS11)。この要求には、ア
ドレス(開始アドレス)とサイズとが含まれている。
【0053】次にディスクアレイコントローラ22は、
受信したデータ書き込み要求に含まれている開始アドレ
スとサイズとから、書き込み対象となるストライプを示
すストライプ番号を算出する(ステップS12)。
【0054】次にディスクアレイコントローラ22は、
ディスク資源管理テーブル領域222bに格納されてい
るディスク資源管理テーブル120内のエントリのう
ち、ステップS12で算出したストライプ番号で指定さ
れるエントリを参照することにより、当該ストライプ番
号の示す書き込み対象ストライプがファイルシステム1
1にて既に使用されているか否かを判定する(ステップ
S13)。もし、書き込み対象ストライプがそれまで使
用されていなかった場合、ディスクアレイコントローラ
22はステップS13で参照したディスク資源管理テー
ブル120内のエントリの内容(フラグの状態)を、未
使用から使用中を示すように更新する(ステップS1
4)。このように、ホスト計算機10からのデータ書き
込み要求で指定されるデータ書き込みにより、当該要求
で指定される論理ブロックを含むストライプの状態が未
使用から使用中に変化すると判定された場合には、当該
ストライプに対応するディスク資源管理テーブル120
内のエントリの内容が使用中を示すように更新される。
【0055】ディスクアレイコントローラ22はステッ
プS14を実行すると、ディスクアレイ21に対してホ
スト計算機10からのデータ書き込み要求で指定された
データ書き込みを行う(ステップS15)。
【0056】またディスクアレイコントローラ22は、
ステップS12で算出したストライプ番号の示す書き込
み対象ストライプがファイルシステム11にて既に使用
されている場合には(ステップS13)、ステップS1
4をスキップしてステップS15に進み、ホスト計算機
10からのデータ書き込み要求で指定されたデータ書き
込みを行う。
【0057】(3)ディスクアレイ装置20におけるデ
ータ修復処理 次に、ディスクアレイ装置20におけるデータ修復処理
について、図6のフローチャートを参照して説明する。
【0058】今、ディスクアレイ21内のHDD210
-0〜210-3のうちHDD210-3が故障したために、
その故障したHDD(旧HDD)210-3を新たなHD
D(新HDD)210-3に交換して、旧HDD210-3
内のデータを新HDD210-3に修復するものとする。
ここでは便宜的に、新HDD、つまり修復先となるHD
Dにも、故障した旧HDD210-3と同一符号“210
-3”を付してある。なお、修復先となるHDDがディス
クアレイコントローラ22に予め接続されているスペア
HDDであっても構わない。
【0059】ディスクアレイコントローラ22(内のマ
イクロプロセッサ221)はHDD210-3が故障した
場合、その故障したHDD(旧HDD)210-3内のデ
ータを、新HDD210-3に修復する処理を、ストライ
プ番号nが0の先頭のストライプから順番に次のように
実行する(ステップS21)。
【0060】まずディスクアレイコントローラ22は、
ストライプ番号n(nの初期値は0)のストライプ23
のデータ修復のために、そのストライプ番号nで指定さ
れるディスク資源管理テーブル120内のエントリを参
照して、そのストライプ番号nの示すストライプ23
(に含まれている論理ブロックの少なくとも1つ)がフ
ァイルシステム11により使用されているか否かを判定
する(ステップS22)。
【0061】もし、ストライプ番号nの示すストライプ
23が使用されているならば、ディスクアレイコントロ
ーラ22は、従来から知られているRAIDの機能に従
う通常のデータ修復処理を以下に述べる手順で図11に
示すように行う。
【0062】まず、ディスクアレイコントローラ22
は、修復するストライプ23について、正常なすべての
HDD210-0〜210-2からのデータ読み出し111
を行う(ステップS23)。次にディスクアレイコント
ローラ22は、読み出したデータを使用してRAIDの
機能により、つまり排他的論理和演算112により、そ
の演算結果として修復されたデータを取得する(ステッ
プS24)。そしてディスクアレイコントローラ22
は、取得したデータをストライプ23に含まれる新HD
D210-3内の領域に書き込む動作113を実行する
(ステップS25)。これにより旧HDD210-3内の
データが新HDD210-3に修復される。
【0063】これに対し、ストライプ番号nの示すスト
ライプ23がファイルシステム11により使用されてい
ないならば、ディスクアレイコントローラ22は当該ス
トライプ23内には修復すべき有効なデータが格納され
ていないものと判断する。この場合、ディスクアレイコ
ントローラ22は図12に示す動作を行う。即ちディス
クアレイコントローラ22は、ストライプ23に含まれ
る正常なすべてのHDD210-0〜210-2内の各領域
に対して予め定められた固定データを書き込む動作21
1を実行すると共に、その固定データの排他的論理和値
をストライプ23に含まれる新HDD210-3内の領域
に書き込む動作212を実行する(ステップS26)。
ここで、固定データの排他的論理和値は、実際に排他的
論理和演算を行うことにより取得されるものでも、予め
定められた固定値であっても構わない。つまり、ステッ
プS26では、ファイルシステム11により使用されて
いないストライプ23への固定データの書き込みが行わ
れる。このステップS26の動作は、正常なHDD21
0-0〜210-2からの読み出しを必要としないため、フ
ァイルシステム11により使用されているストライプ2
3のデータを修復する場合(ステップS23〜S25)
に比べて、短時間で実行できる。また、HDD210-0
〜210-2からの読み出しが行われないことにより、H
DDの多重障害となる危険性が大幅に低下する。
【0064】ディスクアレイコントローラ22はステッ
プS25またはS26を終了すると、ストライプ番号n
を1だけインクリメントし(ステップS27)、そのイ
ンクリメント後のストライプ番号nが最終ストライプ番
号を越えたか否かにより、最終ストライプまで修復処理
を終了したか否かを判定する(ステップS28)。ディ
スクアレイコントローラ22は、ステップS28で未終
了を判定したならば、ステップS21以降の動作を再度
実行し、終了を判定したならば一連のデータ修復処理を
終了する。
【0065】なお、以上に述べた故障したHDD内のデ
ータを修復する処理では、ファイルシステム11により
使用されていないストライプについては、当該ストライ
プへの固定データの書き込み(ステップS26)が行わ
れるものとして説明した。しかし、ファイルシステム1
1により使用されていないストライプ内には修復すべき
有効なデータが格納されていないことから、図6のフロ
ーチャートにおいて破線60で示すように、このステッ
プS26の動作(固定データによるストライプの修復動
作)をスキップするようにしても構わない。
【0066】しかし、ステップS26をスキップする
と、ファイルシステム11により使用されていないスト
ライプについては、RAIDレベル5におけるデータと
冗長データ(パリティデータ)との整合性が得られなく
なる。つまり、データに対して正しいパリティデータが
生成されていない状態となる。したがって、ステップS
26の動作をスキップする方法を適用する場合、ホスト
計算機10からのデータ書き込み要求を、図7のフロー
チャートに示す手順に従って図13に示すように処理す
る必要がある。
【0067】まずディスクアレイコントローラ22は、
ホスト計算機10からディスクアレイ装置20に対して
データ書き込み要求が発行された場合、当該要求で指定
されたデータの書き込み対象となるストライプ23のス
トライプ番号を算出し、そのストライプ23がファイル
システム11により使用されているか否かをディスク資
源管理テーブル120に基づいて判定する(ステップS
31〜S33)。ここまでは図5のフローチャートのス
テップS11〜S13と同様である。
【0068】もし、データの書き込み対象となるストラ
イプ23がファイルシステム11により使用されていな
い場合、ディスクアレイコントローラ22は当該ストラ
イプ23はRAIDレベル5によるパリティデータの整
合性が得られていないものと判断する。この場合、まず
ディスクアレイコントローラ22は、ホスト計算機10
からのデータ書き込み要求で指定された書き込みデータ
(新規書き込みデータ)131と予め定められた、“デ
ィスクアレイ21を構成するHDDの数−2”個のHD
D用の固定データ133との排他的論理和値135を正
しいパリティデータ(冗長データ)として取得する(ス
テップS34)。ここで、固定データ133を全ビット
が“0”のデータとするならば、排他的論理和値135
は書き込みデータ131に一致する。この場合、書き込
みデータ131を排他的論理和値(冗長データ)135
とすることができるため、排他的論理和演算を必要とし
ない。
【0069】次にディスクアレイコントローラ22は、
データの書き込み対象となるストライプ23に含まれる
すべてのHDD210-0〜210-3内の領域に、各HD
D毎に、書き込みデータ131、固定データ133、ま
たは排他的論理和値(冗長データ)135を書き込む
(ステップS35)。ここでは、ホスト計算機10から
のデータ書き込み要求で指定されたデータの書き込み先
HDDがHDD210-0であり、ストライプ23におい
て冗長データが格納されているHDDがHDD210-3
であるものとすると、HDD210-0に対する書き込み
データ131の書き込み132と、HDD210-1及び
210-2に対する固定データ133の書き込み134
と、HDD210-3に対する排他的論理和値(冗長デー
タ)135の書き込み136とが、それぞれ行われる。
これにより、故障したHDDのデータ修復の際に修復を
スキップしたストライプについてもデータの冗長性を保
証できる。
【0070】ディスクアレイコントローラ22はステッ
プS35を終了すると、ステップS33で参照したディ
スク資源管理テーブル120内のエントリの内容、つま
りデータの書き込み対象となったストライプ23の使用
の有無を示すディスク資源管理テーブル120内のエン
トリの内容を、未使用から使用中を示すように更新する
(ステップS36)。
【0071】なお、データの書き込み対象となるストラ
イプ23がファイルシステム11により使用されている
場合には、ディスクアレイコントローラ22は通常のR
AID手法によるデータ書き込みを行う(ステップS3
7)。ここでは、データ書き込み要求で指定されたデー
タ(新データ)と、当該新データの格納先となるHDD
内領域に格納されているデータ(旧データ)と、同じス
トライプ23に含まれている別のHDD内領域に格納さ
れているパリティデータ(旧パリティデータ)との間の
排他的論理和演算を行うことで、新パリティデータ(新
冗長データ)を生成し、当該新パリティデータで旧パリ
ティデータを更新する。
【0072】(4)ディスクアレイ装置20におけるH
DDメディア障害検査処理 次に、ディスクアレイ装置20におけるHDDメディア
障害検査処理について、図8のフローチャートを参照し
て説明する。
【0073】ディスクアレイコントローラ22は、HD
Dメディア検査を例えば当該コントローラ22の有する
パトロール機能により周期的に実行する。ここではディ
スクアレイコントローラ22は、HDDメディア検査
を、ストライプ番号nが0の先頭のストライプから順番
に次のように実行する(ステップS41)。
【0074】まずディスクアレイコントローラ22は、
ストライプ番号n(nの初期値は0)のストライプ23
のHDDメディア検査のために、そのストライプ番号n
で指定されるディスク資源管理テーブル120内のエン
トリを参照して、そのストライプ番号nの示すストライ
プ23がファイルシステム11により使用されているか
否かを判定する(ステップS42)。
【0075】もし、ストライプ番号nの示すストライプ
23が使用されているならば、ディスクアレイコントロ
ーラ22は、当該ストライプについて、すべてのHDD
210-0〜210-3からのデータ読み出しを行う(ステ
ップS43)。
【0076】次にディスクアレイコントローラ22は、
HDD210-0〜210-3からのデータ読み出し結果を
チェックして、読み出しに成功したか否かを判定する
(ステップS44)。
【0077】もし、HDD210-0〜210-3のいずれ
かからのデータ読み出しに失敗したならば、ディスクア
レイコントローラ22は、その失敗したセクタブロッ
ク、つまりメディア障害が検出された不良セクタブロッ
クを、同じHDD内の別のセクタ(交代セクタ)に代替
する代替処理を行う(ステップS45)。例えば、図1
4に示すように、HDD210-1内のセクタブロック1
41が不良セクタブロックとして検出された場合であれ
ば、当該セクタブロック141を同じHDD210-1内
の任意の交代セクタ142に代替する代替処理143が
行われる。
【0078】次にディスクアレイコントローラ22は、
RAIDの機能を使用して、不良セクタブロック141
の修復されたデータを算出し、そのデータを交代セクタ
142に書き込む動作144を行う(ステップS4
6)。そしてディスクアレイコントローラ22はステッ
プS47に進む。
【0079】これに対し、ストライプ番号nの示すスト
ライプ23についてHDD210-0〜210-3からのデ
ータ読み出しに成功したならば、ディスクアレイコント
ローラ22はステップS45,S46ををスキップして
ステップS47に進む。
【0080】また、ストライプ番号nの示すストライプ
23がファイルシステム11によって使用されていない
ならば、ディスクアレイコントローラ22は当該ストラ
イプ23の検査をせずに、ステップS43〜S46をス
キップしてステップS47に進む。
【0081】ディスクアレイコントローラ22は、ステ
ップS47においてストライプ番号nを1だけインクリ
メントし、そのインクリメント後のストライプ番号nが
最終ストライプ番号を越えるまで(ステップS48)、
ステップS41以降の動作を繰り返す。
【0082】以上に述べたHDDメディア障害検査処理
では、ファイルシステム11により使用されているスト
ライプのみ、HDDからのデータ読み出しによる検査
(メディア検査)を実行する場合について説明したが、
これに限るものではない。例えば図15のフローチャー
トに示すように、ディスクアレイ装置20のディスク領
域のすべてのストライプについて、その使用の有無に無
関係にHDDからのデータ読み出しによる検査を実行す
るようにしてもよい(ステップS52,S53)。ここ
では、データ読み出しによる検査で、メディア障害とな
ったセクタブロック(不良セクタブロック)が検出され
た場合に、ディスク資源管理テーブル120を参照し
て、そのセクタブロックを含むストライプがファイルシ
ステム11により使用されているか否かを判定する(ス
テップS54)。
【0083】もし、上記ストライプがファイルシステム
11により使用されていない場合、そのストライプ内の
データを保持する必要性はない。そこで、この場合に
は、RAIDの冗長性の有無に拘わらずに、図12に示
すように不良セクタブロック(141)の代替処理(1
43)を行った後に(ステップS55)、交代セクタ
(142)に(修復データではなくて)予め定められた
固定データの書き込み(144)を行って修復する(ス
テップS56)。このステップS56では、上記ステッ
プS26におけるストライプに対するのと同様に、交代
セクタに対応する他の正常なHDD内のセクタに固定デ
ータが書き込まれる。
【0084】一方、上記ストライプがファイルシステム
11により使用されている場合、他のHDDにて故障な
どが発生しておらず(ステップS57)、したがってデ
ータの冗長性が確保されている場合は、不良セクタブロ
ック(141)を交代セクタ(142)に代替する処理
(143)を行った後(ステップS58)、RAIDの
機能を使用して、不良セクタブロック(141)のデー
タを修復し、その修復データの交代セクタ(142)へ
の書き込み(144)を行う(ステップS59)。
【0085】これに対し、他のHDDが故障しているた
めにデータの冗長性がなくなっている場合は(ステップ
S57)、不良セクタブロック(141)のデータをR
AIDの機能により修復することができない。この場
合、上記ステップS58,S59をスキップし、不良セ
クタブロック(141)をそのまま放置する。
【0086】なお、以上の実施形態では、ディスクアレ
イ装置20がRAID5レベルで用いられるものとして
説明したが、本発明は、RAID3レベルなど、他のR
AIDレベルで用いられるディスクアレイ装置にも、デ
ータ修復の方法は異なるものの、RAID5レベルの場
合と同様に適用できる。
【0087】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果の少なくとも1つが得
られる場合には、この構成要件が削除された構成が発明
として抽出され得る。
【0088】
【発明の効果】以上詳述したように本発明によれば、デ
ィスクアレイのディスク領域のうちファイルシステムに
て実際に使用されている領域を判定し、このファイルシ
ステムにて実際に使用されている領域に絞ってディスク
ドライブのデータ修復またはメディア障害検査を行うよ
うにしたので、処理時間を短縮することができ、その結
果、ディスクドライブの多重障害となる危険性の低減ま
たはメディア障害の早期検出が可能となり、ディスクア
レイ装置の信頼性を向上することができる。
【0089】また本発明によれば、障害が検出された箇
所を含むストライプがファイルシステムにより使用され
ていないならば、そのストライプ内のデータを保持して
いる必要はないことを考慮して、障害が検出されたディ
スクドライブ以外のディスクドライブが正常でない場合
でも、つまりディスクドライブRAID機能によるデー
タのの冗長性が確保されていない場合でも、障害が検出
された箇所のデータを強制的に固定データにより修復す
るようにしたので、メディア障害の修復できる可能性が
大幅に向上し、これによりディスクアレイ装置の信頼性
を向上することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るディスクアレイ装置
20を備えた計算機システムの構成を示すブロック図。
【図2】ディスクアレイ21のディスク領域を管理する
のに用いられるストライプ、論理ブロック及びセクタブ
ロックの関係を説明するための図。
【図3】ホスト計算機10内に保持されるディスク資源
管理テーブル12とディスクアレイコントローラ22の
メモリ222内のディスク資源管理情報領域222bに
格納されるディスク資源管理テーブル120のデータ構
造例を示す図。
【図4】ディスク資源管理情報リスト送信時の処理手順
を示すフローチャート。
【図5】ホスト計算機10からのデータ書き込み要求発
行時の処理手順を示すフローチャート。
【図6】ディスクアレイ装置20におけるデータ修復処
理手順を示すフローチャート。
【図7】ホスト計算機10からのデータ書き込み要求発
行時の処理手順の変形例を示すフローチャート。
【図8】ディスクアレイ装置20におけるHDDメディ
ア障害検査の処理手順を示すフローチャート。
【図9】ホスト計算機10からディスクアレイ装置20
に送信されるディスク資源管理情報リストのデータ構造
例を示す図。
【図10】上記ディスク資源管理情報リストの変形例を
示す図。
【図11】RAIDレベル5における通常のデータ修復
処理を説明するための図。
【図12】使用されていないストライプへの固定データ
書き込み時の動作を説明するための図。
【図13】使用されていないストライプへの新規データ
書き込み時の動作を説明するための図。
【図14】HDDメディア障害検査で不良セクタブロッ
クが検出された場合のデータ修復動作を説明するための
図。
【図15】図8に示したHDDメディア障害検査の処理
手順の変形例を示すフローチャート
【符号の説明】
10…ホスト計算機 11…ファイルシステム 12…ディスク資源管理テーブル 13…専用ソフトウエア 20…ディスクアレイ装置 21…ディスクアレイ 22…ディスクアレイコントローラ 23…ストライプ 24…論理ブロック 25…セクタブロック 90,100…ディスク資源管理情報リスト(第1のデ
ィスク資源管理情報) 120…ディスク資源管理テーブル(第2のディスク資
源管理情報) 210-0〜210-3…HDD(ディスクドライブ) 222b…ディスク資源管理テーブル領域

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを備えたディスクアレイ装置にお
    けるデータ修復方法であって、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機か
    ら、前記ファイルシステムにより使用されている論理ブ
    ロックまたは当該論理ブロックを含むストライプを示す
    第1のディスク資源管理情報を取得するステップと、 前記第1のディスク資源管理情報から前記ディスクアレ
    イのディスク領域内の各ストライプ毎に前記ファイルシ
    ステムにより使用されている論理ブロックを含むか否か
    を示す第2のディスク資源管理情報を生成して前記ディ
    スクアレイ装置内に保持するステップと、 前記複数のディスクドライブのうちの1つが故障した場
    合、前記ディスクアレイのディスク領域のすべてのスト
    ライプについて、前記ファイルシステムにより使用され
    ている論理ブロックを含む第1のストライプであるか、
    或いは前記ファイルシステムにより使用されている論理
    ブロックを含まない第2のストライプであるかを、前記
    第2のディスク資源管理情報に基づいて判定するステッ
    プと、 前記判定ステップで前記第1のストライプであると判定
    された場合だけ、当該ストライプを対象にRAID機能
    によりデータを修復するステップとを具備することを特
    徴とするディスクアレイ装置におけるデータ修復方法。
  2. 【請求項2】 前記判定ステップで前記第2のストライ
    プであると判定され場合、RAID機能によるデータ修
    復に代えて当該ストライプに対し予め定められた固定デ
    ータを書き込むステップを更に具備することを特徴とす
    る請求項1記載のディスクアレイ装置におけるデータ修
    復方法。
  3. 【請求項3】 前記ホスト計算機からデータ書き込み要
    求を受け取った場合、当該要求で指定されたデータ書き
    込み先が属するストライプを特定するステップと、 前記特定されたストライプが前記第1のストライプであ
    るか或いは第2のストライプであるかを前記第2のディ
    スク資源管理情報に基づいて判定するステップと、 前記特定されたストライプが前記第2のストライプであ
    る場合、当該ストライプが前記第1のストライプである
    ことを示すように前記第2のディスク資源管理情報を更
    新するステップとを更に具備することを特徴とする請求
    項1記載のディスクアレイ装置におけるデータ修復方
    法。
  4. 【請求項4】 前記ホスト計算機からデータ書き込み要
    求を受け取った場合、当該要求で指定されたデータ書き
    込み先が属するストライプを特定するステップと、 前記特定されたストライプが前記第1のストライプであ
    るか或いは第2のストライプであるかを前記第2のディ
    スク資源管理情報に基づいて判定するステップと、 前記特定されたストライプが前記第2のストライプであ
    る場合、前記データ書き込み要求で指定される書き込み
    データと予め定められている固定データとから当該スト
    ライプの冗長データを生成するステップと、 前記書き込みデータと前記固定データと前記生成された
    冗長データとを前記特定されたストライプのそれぞれ対
    応する領域に書き込むステップと、 前記書き込みステップで書き込みがなされた前記ストラ
    イプが前記第1のストライプであることを示すように前
    記第2のディスク資源管理情報を更新するステップとを
    更に具備することを特徴とする請求項1記載のディスク
    アレイ装置におけるデータ修復方法。
  5. 【請求項5】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを備えたディスクアレイ装置にお
    けるデータ修復方法であって、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機か
    ら、前記ファイルシステムにより使用されている論理ブ
    ロックまたは当該論理ブロックを含むストライプを示す
    第1のディスク資源管理情報を取得するステップと、 前記第1のディスク資源管理情報から前記ディスクアレ
    イのディスク領域内の各ストライプ毎に前記ファイルシ
    ステムにより使用されている論理ブロックを含むか否か
    を示す第2のディスク資源管理情報を生成して前記ディ
    スクアレイ装置内に保持するステップと、 前記ディスクアレイ内の前記各ディスクドライブの記憶
    内容を読み出すことにより当該ディスクドライブの部分
    的な障害を検出するメディア検査処理を実行する場合
    に、前記ディスクアレイのディスク領域のすべてのスト
    ライプについて、前記ファイルシステムにより使用され
    ている論理ブロックを含む第1のストライプであるか、
    或いは前記ファイルシステムにより使用されている論理
    ブロックを含まない第2のストライプであるかを、前記
    第2のディスク資源管理情報に基づいて判定するステッ
    プと、 前記判定ステップでの判定結果をもとに、前記第1のス
    トライプについてのみ、前記ディスクドライブからのデ
    ータ読み出しを含むメディア検査を実行するステップ
    と、 前記メディア検査で障害が検出された箇所のデータをR
    AID機能により修復するステップとを具備することを
    特徴とするディスクアレイ装置におけるデータ修復方
    法。
  6. 【請求項6】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを備えたディスクアレイ装置にお
    けるデータ修復方法であって、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機か
    ら、前記ファイルシステムにより使用されている論理ブ
    ロックまたは当該論理ブロックを含むストライプを示す
    第1のディスク資源管理情報を取得するステップと、 前記第1のディスク資源管理情報から前記ディスクアレ
    イのディスク領域内の各ストライプ毎に前記ファイルシ
    ステムにより使用されている論理ブロックを含むか否か
    を示す第2のディスク資源管理情報を生成して前記ディ
    スクアレイ装置内に保持するステップと、 前記ディスクアレイ内の前記各ディスクドライブの記憶
    内容を読み出すことにより当該ディスクドライブの部分
    的な障害を検出するメディア検査処理を前記ディスクア
    レイのディスク領域内の全てのストライプについてスト
    ライプ毎に順次実行するステップと、 前記メディア検査処理で前記ディスクドライブの部分的
    な障害が検出された場合、当該障害が検出された箇所を
    含むストライプが前記ファイルシステムにより使用され
    ている論理ブロックを含む第1のストライプであるか、
    或いは前記ファイルシステムにより使用されている論理
    ブロックを含まない第2のストライプであるかを、前記
    第2のディスク資源管理情報に基づいて判定するステッ
    プと、 前記判定ステップで前記第1のストライプであると判定
    され、且つ前記ディスクアレイ内の前記複数のディスク
    ドライブのうち前記障害が検出された前記ディスクドラ
    イブ以外のディスクドライブが正常な場合、前記障害が
    検出された箇所のデータをRAID機能により修復する
    ステップと、 前記判定ステップで前記第2のストライプであると判定
    された場合、前記障害が検出された箇所のデータを固定
    データにより修復するステップとを具備することを特徴
    とするディスクアレイ装置におけるデータ修復方法。
  7. 【請求項7】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを制御するディスクアレイコント
    ローラにおいて、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機から
    送信される、前記ファイルシステムにより使用されてい
    る論理ブロックまたは当該論理ブロックを含むストライ
    プを示す第1のディスク資源管理情報から、前記ディス
    クアレイのディスク領域内の各ストライプ毎に前記ファ
    イルシステムにより使用されている論理ブロックを含む
    か否かを示す第2のディスク資源管理情報を生成する手
    段と、 前記第2のディスク資源管理情報が格納されるメモリ
    と、 前記ディスクアレイのディスク領域のすべてのストライ
    プについて、前記ファイルシステムにより使用されてい
    る論理ブロックを含む第1のストライプであるか、或い
    は前記ファイルシステムにより使用されている論理ブロ
    ックを含まない第2のストライプであるかを、前記第2
    のディスク資源管理情報に基づいて判定する手段と、 前記複数のディスクドライブのうちの1つが故障した場
    合に、当該故障したディスクドライブ内のデータを当該
    ディスクドライブに代えて用いられるディスクドライブ
    に修復する手段であって、前記ディスクアレイのディス
    ク領域のすべてのストライプのうち、前記判定手段によ
    り前記第1のストライプであると判定されたたストライ
    プだけを対象にRAID機能によりデータを修復する手
    段とを具備することを特徴とするディスクアレイコント
    ローラ。
  8. 【請求項8】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを制御するディスクアレイコント
    ローラにおいて、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機から
    送信される、前記ファイルシステムにより使用されてい
    る論理ブロックまたは当該論理ブロックを含むストライ
    プを示す第1のディスク資源管理情報から、前記ディス
    クアレイのディスク領域内の各ストライプ毎に前記ファ
    イルシステムにより使用されている論理ブロックを含む
    か否かを示す第2のディスク資源管理情報を生成する手
    段と、 前記第2のディスク資源管理情報が格納されるメモリ
    と、 前記ディスクアレイのディスク領域のすべてのストライ
    プについて、前記ファイルシステムにより使用されてい
    る論理ブロックを含む第1のストライプであるか、或い
    は前記ファイルシステムにより使用されている論理ブロ
    ックを含まない第2のストライプであるかを、前記第2
    のディスク資源管理情報に基づいて判定する手段と、 前記ディスクアレイ内の前記各ディスクドライブの記憶
    内容を読み出すことにより当該ディスクドライブの部分
    的な障害を検出するメディア検査手段であって、前記判
    定手段により前記第1のストライプであると判定された
    ストライプだけを対象に、前記ディスクドライブからの
    データ読み出しを含むメディア検査を実行するメディア
    検査手段と、 前記メディア検査手段により障害が検出された箇所のデ
    ータをRAID機能により修復するデータ修復手段とを
    具備することを特徴とするディスクアレイコントロー
    ラ。
  9. 【請求項9】 複数のディスクドライブから構成される
    RAID(Redundant Arrays of Inexpensive Disks)
    構成のディスクアレイを制御するディスクアレイコント
    ローラにおいて、 前記ディスクアレイのディスク領域を論理ブロック単位
    に管理するファイルシステムを備えたホスト計算機から
    送信される、前記ファイルシステムにより使用されてい
    る論理ブロックまたは当該論理ブロックを含むストライ
    プを示す第1のディスク資源管理情報から、前記ディス
    クアレイのディスク領域内の各ストライプ毎に前記ファ
    イルシステムにより使用されている論理ブロックを含む
    か否かを示す第2のディスク資源管理情報を生成する手
    段と、 前記第2のディスク資源管理情報が格納されるメモリ
    と、 前記ディスクアレイ内の前記各ディスクドライブの記憶
    内容を読み出すことにより当該ディスクドライブの部分
    的な障害を検出するメディア検査処理を前記ストライプ
    毎に実行するメディア検査手段と、 前記メディア検査手段により前記ディスクドライブの部
    分的な障害が検出された場合、当該障害が検出された箇
    所を含むストライプが前記ファイルシステムにより使用
    されている論理ブロックを含む第1のストライプである
    か、或いは前記ファイルシステムにより使用されている
    論理ブロックを含まない第2のストライプであるかを、
    前記第2のディスク資源管理情報に基づいて判定する手
    段と、 前記判定手段により前記第1のストライプであると判定
    され、且つ前記ディスクアレイ内の前記複数のディスク
    ドライブのうち前記障害が検出された前記ディスクドラ
    イブ以外のディスクドライブが正常な場合、前記障害が
    検出された箇所のデータをRAID機能により修復する
    第1のデータ修復手段と、 前記判定手段により前記第2のストライプであると判定
    された場合、前記障害が検出された箇所のデータを固定
    データにより修復する第2のデータ修復手段とを具備す
    ることを特徴とするディスクアレイコントローラ。
JP2000374616A 2000-12-08 2000-12-08 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ Expired - Fee Related JP3435400B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000374616A JP3435400B2 (ja) 2000-12-08 2000-12-08 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
US09/931,012 US6772286B2 (en) 2000-12-08 2001-08-17 Method for regenerating data in disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000374616A JP3435400B2 (ja) 2000-12-08 2000-12-08 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003085671A Division JP2003303057A (ja) 2003-03-26 2003-03-26 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ

Publications (2)

Publication Number Publication Date
JP2002175158A true JP2002175158A (ja) 2002-06-21
JP3435400B2 JP3435400B2 (ja) 2003-08-11

Family

ID=18843770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000374616A Expired - Fee Related JP3435400B2 (ja) 2000-12-08 2000-12-08 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ

Country Status (2)

Country Link
US (1) US6772286B2 (ja)
JP (1) JP3435400B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277545A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd 計算機システム、記憶装置システムおよびライト処理制御方法
JP2008077478A (ja) * 2006-09-22 2008-04-03 Hitachi Ltd 記憶装置制御装置、記憶装置制御方法、ストレージ装置およびストレージ装置による記憶装置制御方法
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
US8032703B2 (en) 2008-06-05 2011-10-04 Hitachi, Ltd. Storage apparatus and failure recovery method
JP2011237934A (ja) * 2010-05-07 2011-11-24 Canon Inc 記憶装置アレイシステム、情報処理装置、記憶装置アレイ制御方法、及び、プログラム
JP2015166958A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658528B2 (en) * 2001-07-30 2003-12-02 International Business Machines Corporation System and method for improving file system transfer through the use of an intelligent geometry engine
US6871263B2 (en) * 2001-08-28 2005-03-22 Sedna Patent Services, Llc Method and apparatus for striping data onto a plurality of disk drives
JP4080227B2 (ja) * 2002-03-28 2008-04-23 株式会社日立製作所 データ検証方法およびディスクアレイ装置
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
US7308599B2 (en) * 2003-06-09 2007-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for data reconstruction after failure of a storage device in a storage array
WO2005041609A1 (ja) * 2003-10-27 2005-05-06 Fujitsu Limited 接続先基地局決定装置
JP5637552B2 (ja) * 2009-02-17 2014-12-10 日本電気株式会社 ストレージシステム
US9626248B2 (en) * 2009-11-25 2017-04-18 International Business Machines Corporation Likelihood based rebuilding of missing encoded data slices
US9311184B2 (en) * 2010-02-27 2016-04-12 Cleversafe, Inc. Storing raid data as encoded data slices in a dispersed storage network
US20150095696A1 (en) * 2013-09-27 2015-04-02 Datadirect Networks, Inc. Second-level raid cache splicing
CN103678044B (zh) * 2013-12-30 2016-08-17 厦门市美亚柏科信息股份有限公司 在ext3文件系统下的raid5的数据恢复方法和装置
CN112698787A (zh) * 2020-12-28 2021-04-23 杭州海康威视系统技术有限公司 写数据方法、装置及计算机存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333305A (en) * 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
JP3944280B2 (ja) 1997-07-08 2007-07-11 株式会社日立製作所 障害回復方法および装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
JP2006277545A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd 計算機システム、記憶装置システムおよびライト処理制御方法
JP2008077478A (ja) * 2006-09-22 2008-04-03 Hitachi Ltd 記憶装置制御装置、記憶装置制御方法、ストレージ装置およびストレージ装置による記憶装置制御方法
US8032703B2 (en) 2008-06-05 2011-10-04 Hitachi, Ltd. Storage apparatus and failure recovery method
JP2011237934A (ja) * 2010-05-07 2011-11-24 Canon Inc 記憶装置アレイシステム、情報処理装置、記憶装置アレイ制御方法、及び、プログラム
US8819522B2 (en) 2010-05-07 2014-08-26 Canon Kabushiki Kaisha Storage device array system, information processing apparatus, storage device array control method, and program
JP2015166958A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Also Published As

Publication number Publication date
US6772286B2 (en) 2004-08-03
JP3435400B2 (ja) 2003-08-11
US20020073279A1 (en) 2002-06-13

Similar Documents

Publication Publication Date Title
JP3435400B2 (ja) ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US6535994B1 (en) Method and apparatus for identifying and repairing mismatched data
KR100510808B1 (ko) 데이터 저장 장치 및 시스템을 위한 로그 구조 기록 캐시
US6219752B1 (en) Disk storage data updating method and disk storage controller
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
KR100697761B1 (ko) 디스크 어레이 장치와 그 데이터의 리커버리 방법 및 데이터 리커버리 프로그램을 기록한 기록 매체
JP4815825B2 (ja) ディスクアレイ装置及びその再構築方法
US7721143B2 (en) Method for reducing rebuild time on a RAID device
US6233696B1 (en) Data verification and repair in redundant storage systems
US8356292B2 (en) Method for updating control program of physical storage device in storage virtualization system and storage virtualization controller and system thereof
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
US20080184062A1 (en) System and method for detecting write errors in a storage device
US6389511B1 (en) On-line data verification and repair in redundant storage system
JP2006139478A (ja) ディスクアレイシステム
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
US7730370B2 (en) Apparatus and method for disk read checking
JP2003303057A (ja) ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
JP4143040B2 (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
JP3790756B2 (ja) ディスクアレイ装置、ディスク制御装置及びディスクアレイのデータ障害を復旧する方法
KR20030073982A (ko) 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법
JPH06119125A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090530

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090530

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100530

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100530

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140530

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees