(57)【要約】【課題】  ディスクアレイを構成するディスクの故障危険度を早期に回避し、データの再構築処理およびデータ損失の可能性を減らすディスクアレイ制御方法およびディスクアレイ制御装置を提供する。【解決手段】  ディスクアレイ部３の複数個のディスクが正常に動作している間に、そのうちの１つのディスクに格納されているデータを予備ディスクに複写し、複写後に複写元と複写先の各ディスクの故障危険率を算出・比較し、複写元と複写先の故障危険率の低いディスクを採用する。【選択図】  図１
2006079219.tif 000002
【特許請求の範囲】
【請求項１】
外部からのデータを分割して記録する複数の記憶装置と予備の記憶装置からなるディスクアレイ部と、前記ディスクアレイ部を制御するディスクアレイ制御部からなるディスクアレイ制御装置であって、
外部からのデータの送受信を行う送受信手段と、前記ディスクアレイ部のデータの記録再生を行う記録再生手段と、外部から送られてきたデータを分割し、または前記ディスクアレイ部から再生したデータを結合するデータ分割／結合手段と、前記データ分割／結合手段によって分割されたデータに対してパリティを生成し、あるいは前記ディスクアレイ部から再生したデータに対してパリティチェックを行うパリティ生成／チェック手段と、前記複数の記憶装置の中から一つの記憶装置を対象記憶装置として選択して、前記対象記憶装置に記録された内容を前記予備の記憶装置に複写する複写制御手段と、前記対象記憶装置と複写後の前記予備の記憶装置の故障危険率を算出して所定の値と比較する故障危険率算出／判定手段と、前記複数の記憶装置と前記予備の記憶装置の各々の故障危険率を記憶する故障危険率格納手段と、前記ディスクアレイ部を構成する記憶装置の一部が故障した際に、他の正常な記憶装置から故障した記憶装置のデータを再構築する再構築制御手段とを備え、
前記故障危険率算出／判定手段が、前記対象記憶装置および前記予備の記憶装置の内で、前記故障危険率が低い方の記憶装置を前記ディスクアレイ部を構成する複数の記憶装置の中の一つとし、前記故障危険率が高い方の記憶装置を予備の記憶装置とすることを特徴とするディスクアレイ制御装置。
【請求項２】
前記故障危険率算出／判定手段が、前記故障危険率が高い方の記憶装置を交換するよう警告を発し、交換された記憶装置を新たな予備の記憶装置とすることを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項３】
前記複写制御手段が、前記対象記憶装置に記憶された内容を前記新たな予備の記憶装置に複写することを特徴とする請求項２に記載のディスクアレイ制御装置。
【請求項４】
前記故障危険率が、各記憶装置のそれぞれに格納されている内容に対するリード／ライトアクセス時に生じた誤り訂正エラーの発生数、またはリトライ数、または欠陥セクタの数、または各記憶装置の故障予測を行うことが可能な要因から算出されることを特徴とする請求項１〜３の何れか１項に記載のディスクアレイ制御装置。
【請求項５】
各記憶装置がハードディスクドライブであることを特徴とする請求項１〜４の何れか１項に記載のディスクアレイ制御装置。
【請求項６】
外部からのデータを分割して記録する複数の記憶装置と予備の記憶装置からなるディスクアレイ部と、前記ディスクアレイ部を制御するディスクアレイ制御部からなるディスクアレイ制御装置における故障対策の方法であって、
前記複数の記憶装置の中から一つの記憶装置を対象記憶装置として選択して、前記対象記憶装置に記録された内容を前記予備の記憶装置に複写する複写制御ステップと、前記対象記憶装置と前記複写後の前記予備の記憶装置の故障危険率を算出して所定の値と比較する故障危険率算出／判定ステップとを備え、
前記故障危険率算出／判定ステップが、前記対象記憶装置および前記予備の記憶装置の内で、前記故障危険率が低い方の記憶装置を前記ディスクアレイ部を構成する複数の記憶装置の中の一つとし、前記故障危険率が高い方の記憶装置を予備の記憶装置とすることを特徴とするディスクアレイ制御方法。
【請求項７】
前記故障危険率算出／判定ステップが、前記故障危険率が高い方の記憶装置を交換するよう警告を発し、交換された記憶装置を新たな予備の記憶装置とすることを特徴とする請求項６に記載のディスクアレイ制御方法。
【請求項８】
前記複写制御ステップが、前記対象記憶装置に記憶された内容を前記新たな予備の記憶装置に複写することを特徴とする請求項７に記載のディスクアレイ制御方法。
【請求項９】
前記複数の記憶装置のすべてに対し、それぞれを対象記憶装置として、前記複写制御ステップおよび前記故障危険率算出／判定ステップを繰り返し行うことを特徴とする請求項６から８の何れか１項に記載のディスクアレイ制御方法。
【請求項１０】
前記故障危険率が、各記憶装置のそれぞれに格納されている内容に対するリード／ライトアクセス時に生じた誤り訂正エラーの発生数、またはリトライ数、または欠陥セクタの数、または記憶装置の故障予測を行うことが可能な要因から算出されることを特徴とする請求項６から９の何れか１項に記載のディスクアレイ制御方法。
【請求項１１】
前記複数の記憶装置および前記予備の記憶装置および前記新たな予備の記憶装置がハードディスクドライブであることを特徴とする請求項６から１０の何れか１項に記載のディスクアレイ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ制御装置およびディスクアレイ制御方法に関し、ハードディスク装置等のデータ記憶装置の故障を未然に防ぐ技術に係るものである。
【背景技術】
【０００２】
ディスクアレイは、ハードディスク等の複数の記憶装置（以下にディスクと記す）をまとめて1台の装置として管理する技術であり、高信頼かつ大記憶容量を実現している。ディスクアレイの最も一般的な形式は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）である。
【０００３】
例えばＲＡＩＤレベル５においては、データからパリティと呼ばれる誤り訂正符号を生成し、データとともに分散して記録する。このため、ディスクが１台故障しても新しいディスクと交換後に、他の正常なディスクのデータから誤り訂正処理を行うことで、故障したディスクのデータを復元すること（以下、再構築と記す）が可能である（例えば特許文献１および非特許文献１参照）。
【０００４】
従来のディスクアレイ制御装置（ディスクアレイ装置とも言う）は、ディスクアレイ制御装置を構成する１つのディスクに対し、故障の可能性がある場合に警告を発生する手段を有しており、さらに故障警告が発せられたディスクの内容を他のディスクに複写する手段を有している。これらの手段によりあるディスクが故障する前に、そのディスクのデータを別のディスクに複写することが可能となり、前述したような被害を防ぐことが可能となる（例えば特許文献２参照）。
【０００５】
図７に従来のディスクアレイ制御装置のブロック図を示す。図７において、中央演算処理装置（以下ＣＰＵと記す）９０１は、ディスクアレイ制御部９０２を介してディスクアレイ部９０３にデータの送受信を行う。ディスクアレイ制御部９０２はディスクアレイ部９０３を制御するものであり、ディスクアレイ部９０３はＮ個のディスク９０３＿１〜９０３＿Ｎおよび１個の予備ディスク（９０３＿Ｒ）から構成される。ここで予備ディスク９０３＿Ｒは、通常動作時にはどの装置にも接続されておらず、Ｎ個のディスク９０３＿１〜９０３＿Ｎ内の１台が故障した際に、ディスクアレイ制御部９０２に接続され、故障ディスクのデータが予備ディスク９０３＿Ｒに再構築される。
【０００６】
図８に示すフローチャート図は、従来の装置においてソフトウェアにより実行される処理の流れ、およびＣＰＵ９０１、ディスクアレイ制御部９０２、ディスクアレイ部９０３のいずれかにより実現される処理の流れを表したものである。
【０００７】
図８において、ディスクアレイ部９０３を構成する各ディスク（９０３＿１〜９０３＿Ｎ）が作動可能であるとき、ディスクアレイ部９０３は正常状態９２０にある。
一つのエラー状況として、例えばあるディスク９０３＿１が故障したとすると、ディスクアレイ部９０３は機能低下状態９２５で稼動する。そして、ディスクアレイ部９０３は故障したディスク９０３＿１の内容を予備ディスク９０３＿Ｒへ再構築するために、再構築状態９２４へ移行する。再構築が完了すると、ディスクアレイ部９０３は正常状態９２０へ戻る。
【０００８】
ディスクアレイ制御部９０２は、ディスク表面上の読み取り／書き込みヘッドの移動高度から判断するヘッドフライハイト解析や、探索エラーや不良セクタにより生じるセクタ再割り当てなどから判断するエラーログ解析などから、故障の可能性の高いディスクに対して警告を発することができる構成となっている。これらはともにディスク個々に行われ、ディスク単位で故障警告を発することができる。
【０００９】
例えば正常状態９２０においてあるディスク９０３＿１に対して故障警告が発せられると、複写状態９２１へ進み、このディスク９０３＿１から予備ディスク９０３＿Ｒへとデータが複写される。これが完了すると正常状態９２０に戻る。
【００１０】
この故障の可能性の高いディスク９０３＿１は、予備ディスク９０３＿Ｒへの複写処理が完了する前に故障してしまう場合もある。その場合には再構築状態９２４へ移行し、ディスク９０３＿１のデータのうちディスク９０３＿Ｒへの複写処理が終わっていないデータについての再構築が行われる。
【００１１】
別のエラー状況として、警告が発せられたディスク以外のディスクが警告なしに故障してしまう場合もある。例えば、ディスク９０３＿１が故障の可能性が高かったため警告が発せられたとする。この警告によってディスクアレイ制御部９０２は複写状態９２１においてディスク９０３＿１から予備ディスク９０３＿Ｒへの複写を開始する。
【００１２】
この複写中に別のディスク９０３＿２が故障したとする。この場合、高優先複写状態９２２へ移行することにより、ディスク９０３＿１の複写操作に高い優先度が与えられる。これは故障警告が発せられたディスク９０３＿１が故障してしまうと、２台のディスク９０３＿１、９０３＿２が故障してしまうことになり、再構築するためのデータが失われてしまうので、まだ故障には至っていないディスク９０３＿１の複写を優先するためである。ディスク９０３＿１が故障する前に複写が完了すれば、再構築状態９２４へ移行し、故障したディスク９０３＿２の内容が再構築される。
【００１３】
高優先複写状態９２２や機能低下状態９２５、再構築状態９２４の３つの状態のいずれかにおいて、もし別のディスク９０３＿３が故障したならば、データは失われてしまう（データ損失状態９２３）。
【特許文献１】米国特許第４７６１７８５号公報
【特許文献２】特開平８−２４９１３３号公報
【非特許文献１】「Ａ  Ｃａｓｅ  ｆｏｒ  Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）」（Ｐａｔｔｅｒｓｏｎ  ｅｔ  ａｌ．、Ｒｅｐｏｒｔ  Ｎｏ．ＵＣＢ／ＣＳＤ  ８７／３９１、Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｄｉｖｉｓｉｏｎ（ＥＥＣＳ）、Ｕｎｉｖ．  ｏｆ  Ｃａｌｉｆｏｒｎｉａ、Ｂｅｒｋｅｌｙ、ＣＡ、Ｄｅｃｅｍｂｅｒ  １９８７）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら上記した従来の構成では、以下のような問題が生じる。
第一に、故障ディスクのデータ再構築中は通常動作が実質不可能となる。ディスクからデータをリードする場合、故障ディスクのデータを他のディスクのデータから計算しつつリード動作を行い、それと並行して交換後のディスクにデータを再構築する必要があるため、リード動作の処理速度の低下を免れることはできない。
【００１５】
また、ライト動作にいたっては、故障ディスクのデータの再構築を優先する必要があるため、ライト動作を行うことができない。なぜなら、故障した時点のデータをもとに再構築しなくてはならず、再構築中に正常なディスクのデータが書き換わってしまった場合は、その更新されたデータをもとに故障ディスクのデータを再構築してしまい、本来の故障ディスクのデータとは異なるデータに再構築してしまうからである。
【００１６】
第二に、故障ディスクのデータを再構築している間にさらに別のディスクが故障してしまった場合には、ＲＡＩＤレベル５構成のディスクアレイ装置では、データを復旧することができなくなる。つまりシステム全体のデータを失ってしまうことになる。
【００１７】
本発明は上記した従来の課題を解決するもので、通常動作に影響がないようアイドル状態において各ディスクの状態を確認し、故障するおそれのあるディスクをいち早く検出することで、データの再構築処理を極力なくすとともに、システム全体のデータの消失を防ぐためのディスクアレイ制御装置およびディスクアレイ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記従来の課題を解決するために、本発明のディスクアレイ制御装置は、外部からのデータを分割して記録する複数の記憶装置と予備の記憶装置からなるディスクアレイ部と、前記ディスクアレイ部を制御するディスクアレイ制御部からなるディスクアレイ制御装置であって、
外部からのデータの送受信を行う送受信手段と、前記ディスクアレイ部のデータの記録再生を行う記録再生手段と、外部から送られてきたデータを分割し、または前記ディスクアレイ部から再生したデータを結合するデータ分割／結合手段と、前記データ分割／結合手段によって分割されたデータに対してパリティを生成し、あるいは前記ディスクアレイ部から再生したデータに対してパリティチェックを行うパリティ生成／チェック手段と、前記複数の記憶装置の中から一つの記憶装置を対象記憶装置として選択して、前記対象記憶装置に記録された内容を前記予備の記憶装置に複写する複写制御手段と、前記対象記憶装置と複写後の前記予備の記憶装置の故障危険率を算出して所定の値と比較する故障危険率算出／判定手段と、前記複数の記憶装置と前記予備の記憶装置の各々の故障危険率を記憶する故障危険率格納手段と、前記ディスクアレイ部を構成する記憶装置の一部が故障した際に、他の正常な記憶装置から故障した記憶装置のデータを再構築する再構築制御手段とを備え、
前記故障危険率算出／判定手段が、前記対象記憶装置および前記予備の記憶装置の内で、前記故障危険率が低い方の記憶装置を前記ディスクアレイ部を構成する複数の記憶装置の中の一つとし、前記故障危険率が高い方の記憶装置を予備の記憶装置とすることを特徴としたものである。
【００１９】
また、本発明は、前記故障危険率算出／判定手段が、前記故障危険率が高い方の記憶装置を交換するよう警告を発し、交換された記憶装置を新たな予備の記憶装置とすることを特徴としたものである。
【００２０】
また、本発明は、前記複写制御手段が、前記対象記憶装置に記憶された内容を前記新たな予備の記憶装置に複写することを特徴としたものである。
また、本発明は、前記故障危険率が、各記憶装置のそれぞれに格納されている内容に対するリード／ライトアクセス時に生じた誤り訂正エラーの発生数、またはリトライ数、または欠陥セクタの数、または各記憶装置の故障予測を行うことが可能な要因から算出されることを特徴としたものである。
【００２１】
また、本発明は、各記憶装置がハードディスクドライブであることを特徴としたものである。
さらに、本発明のディスクアレイ制御方法は、外部からのデータを分割して記録する複数の記憶装置と予備の記憶装置からなるディスクアレイ部と、前記ディスクアレイ部を制御するディスクアレイ制御部からなるディスクアレイ制御装置における故障対策の方法であって、
前記複数の記憶装置の中から一つの記憶装置を対象記憶装置として選択して、前記対象記憶装置に記録された内容を前記予備の記憶装置に複写する複写制御ステップと、前記対象記憶装置と前記複写後の前記予備の記憶装置の故障危険率を算出して所定の値と比較する故障危険率算出／判定ステップとを備え、
前記故障危険率算出／判定ステップが、前記対象記憶装置および前記予備の記憶装置の内で、前記故障危険率が低い方の記憶装置を前記ディスクアレイ部を構成する複数の記憶装置の中の一つとし、前記故障危険率が高い方の記憶装置を予備の記憶装置とすることを特徴としたものである。
【００２２】
また、本発明は、前記故障危険率算出／判定ステップが、前記故障危険率が高い方の記憶装置を交換するよう警告を発し、交換された記憶装置を新たな予備の記憶装置とすることを特徴としたものである。
【００２３】
また、本発明は、前記複写制御ステップが、前記対象記憶装置に記憶された内容を前記新たな予備の記憶装置に複写することを特徴としたものである。
また、本発明は、前記複数の記憶装置のすべてに対し、それぞれを対象記憶装置として、前記複写制御ステップおよび前記故障危険率算出／判定ステップを繰り返し行うことを特徴としたものである。
【００２４】
また、本発明は、各記憶装置に格納されている内容に対するリード／ライトアクセス時に生じた誤り訂正エラーの発生数、またはリトライ数、または欠陥セクタの数、または記憶装置の故障予測を行うことが可能な要因から算出されることを特徴としたものである。
【００２５】
また、本発明は、前記複数の記憶装置および前記予備の記憶装置および前記新たな予備の記憶装置がハードディスクドライブであることを特徴としたものである。
【発明の効果】
【００２６】
以上のように本発明によれば、ディスクアレイ部内の複数個のディスクが正常に動作している間に、そのうちの１つのディスクに格納されているデータを予備ディスクに複写し、複写後に複写元と複写先の各ディスクの故障危険率を算出・比較し、複写元と複写先の故障危険率の低いディスクを採用することで、故障警告が発生する確率を常に低減させ、ひいてはデータの再構築を極力行わないですむことが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下に、本発明のディスクアレイ制御方法およびディスクアレイ制御装置の実施の形態を図面とともに詳細に説明する。
図１は、本発明の実施の形態におけるディスクアレイ制御装置の構成を示したブロック図である。ディスクアレイ制御装置１はディスクアレイ制御部２、ディスクアレイ部３からなり、ディスクアレイ制御装置１はホスト４と接続されている。
【００２８】
図１において、ディスクアレイ制御部２は、ホスト４とデータの送受信の仲介を行うホストＩ／Ｆ部２１と、ディスクアレイ部３を構成するディスク３＿１〜３＿Ｎ、３＿Ｒとデータの送受信の仲介を行うディスクＩ／Ｆ部２２と、ホスト４から転送されてきたデータを分割したり、ディスクアレイ部３に分割して格納されているデータを結合したりするデータ分割／結合部２３と、データ分割／結合部２３によって分割されたデータに対してパリティを生成したり、ディスクアレイ部３に分割されて格納されているデータに対してパリティチェックを行ったりするパリティ生成／チェック部２４と、ディスク故障時に失われたデータを再構築する再構築制御部２５と、ディスクアレイ部３内の一つのディスクに格納されているデータを別のディスクに複写する際の制御を行う複写制御部２６と、ディスクアレイ部３を構成する各ディスク３＿１〜３＿Ｎ、３＿Ｒの故障危険率を求め、それによりその後の処理方法を決定する故障危険率算出／判定部２７と、故障危険率算出／判定部２７により算出されたディスクごとの故障危険率を記憶する故障危険率格納レジスタ２８からなる。
【００２９】
一方、ディスクアレイ部３は、「３＿１」〜「３＿Ｎ」のラベルの付けられたＮ個のハードディスク３＿１〜３＿Ｎ（以下ディスクと記す）と、「３＿Ｒ」のラベルの付けられた１個の予備ハードディスク３＿Ｒ（以下予備ディスクと記す）からなる。この予備ディスク３＿Ｒは通常動作時においても他のＮ個のディスク同様、ディスクアレイ制御部２とバスにより接続されている。各ブロックの動作に関しては後述する。
【００３０】
ここでディスク３＿１〜３＿Ｎ、および予備ディスク３＿ＲはＳＭＡＲＴ機能に対応しているものとする。このＳＭＡＲＴ機能とは「Ｓｅｌｆ  Ｍｏｎｉｔｏｒｉｎｇ、  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ  Ｓｙｓｔｅｍ」の略で、アクセスエラーや温度情報などをはじめとするディスク内部の情報をモニタすることができる自己診断機能のことであり、ハードディスクに付加されている一般的な機能である。
【００３１】
これによりディスクにライトしたデータが正常にディスクの所定のエリアに格納できなかったり、あるいはディスクに格納されているデータをリードできないような症状が発生することを早期に発見することが可能となる。つまりこのようなディスクの故障を前もって察知し、早い段階で対応することが可能となる。各ディスク３＿１〜３＿Ｎ、３＿Ｒはこのような情報を格納する内部情報格納レジスタを持っており、これらの情報はディスクアレイ制御部２がバスを経由して参照することができるとする。
【００３２】
図２は、ディスクアレイ制御部２がディスクアレイ部３を制御する際の流れを示したフローチャート図である。図３〜図６は図２のステップ６〜１０における各処理の概要を表した図である。
【００３３】
図２において、通常動作状態ではディスクアレイ制御部２はステップ０にある。
ライト動作時、ホスト４からホストＩ／Ｆ部２１を介して送られてきたデータはデータ分割／結合部２３によって一定の単位に分割されるとともにパリティ生成／チェック部２４により前記各単位毎にパリティが生成され、ディスクアレイ部３の所定のディスクにデータとパリティがディスクＩ／Ｆ部２２を介してライトされる。
【００３４】
リード時はディスクアレイ部３の所定のディスクからデータをディスクＩ／Ｆ部２２を介してリードし、必要ならばパリティ生成／チェック部２４によりデータが正しいかどうかパリティチェックを行いつつ、データ分割／結合部２３によってそれらのデータを結合し、ホストＩ／Ｆ部２１を介してホスト４へ転送する。
【００３５】
またディスクアレイ部３内のいずれか一つのディスクが故障した場合は、故障危険率／判定部２７がホストＩ／Ｆ部２１およびホスト４を介して、故障ディスクを新しいディスクと交換するよう管理者に通知し、正常なディスク（つまり故障ディスクと予備ディスク以外のＮ−１個のディスク）に格納されているデータから故障したディスクのデータを再構築制御部２５によって予備ディスク３＿Ｒに再構築する。
【００３６】
この通常動作時にディスクアレイ制御部２が行う上述したような一連の処理に関しては、ＲＡＩＤ技術を採用したシステムにおいて一般的な動作であるため、ここでの詳細な説明は省略する。
【００３７】
ステップ０の通常動作時において、ホスト４から一定時間アクセス要求がなく、所定時間アクセスが無いことを複写制御部２６が検知した場合に、ステップ１のアイドル状態となる。本発明はこのアイドル状態になると同時に、以下で説明する動作が開始される。
【００３８】
まずステップ２において、複写制御部２６は内部変数ｉに１を設定する。
次に、ステップ３に移行し、複写制御部２６はディスクアレイ部３内のディスク３＿１（ｉ＝１より）に格納されているデータを予備ディスク３＿Ｒに複写する。複写完了後、複写元のディスク３＿１および複写先の予備ディスク３＿Ｒの内部情報格納レジスタに格納されている情報を、故障危険率算出／判定部２７が読み出す。
【００３９】
この内部情報格納レジスタには、例えばリード／ライトアクセス時に生じた誤り訂正エラーの発生数、リトライの数、欠陥セクタの数、またはディスクの故障予測を行うことが可能な要因としてのディスク内部の温度などの情報が格納されている。
【００４０】
次に、ステップ４において、故障危険率算出／判定部２７は、上述したディスクの異常状態を検知することのできる情報をもとに故障危険率を算出し、ディスク３＿１の故障危険率をＡ、ディスク３＿Ｒの故障危険率をＢとして、故障危険率格納レジスタ２８に格納する。
【００４１】
この故障危険率は、例えば上述した誤り訂正エラーが１回発生すれば１点、同様にリトライが１回発生すれば１点というように点数を加算していき、これらの合計点が所定の値を超えた時点で故障するおそれがあると判断する。この故障危険率を格納するためのレジスタとして不揮発性メモリを用いることで、電源が切断されても故障危険率の値が消去されないようにする。
【００４２】
また、現在格納されている故障危険率は複写処理が行われるたびに更新されていく。例えばディスク３＿１を新しいディスクに交換した場合に、故障危険率算出／判定部２７は故障危険率格納レジスタ２８に格納されているディスク３＿１に対する故障危険率の値を初期化する。それ以外の場合は故障危険率格納レジスタ２８に格納されている故障危険率の値は初期化されることはない。
【００４３】
その後、ステップ５において、故障危険率算出／判定部２７は、ステップ３における複写元のディスク３＿１および複写先の予備ディスク３＿Ｒのそれぞれの故障危険率を故障危険率格納レジスタ２８から読み出し、それらの故障危険率と所定の閾値との関係から、ステップ６からステップ１０（ステップ９を除く）のいずれかに分岐する。
【００４４】
この所定の閾値とは、該閾値よりも故障危険率が高ければ該当するディスクが故障する危険があると判断し、また低ければ故障する危険はないと判断するための閾値であり、これらは任意の値を外部から設定できるものとする。
【００４５】
ステップ６（Ａ，Ｂ＜閾値）では、複写元のディスク３＿１の故障危険率Ａも複写先の予備ディスク３＿Ｒの故障危険率Ｂもともに閾値よりも低く、故障する危険性はないと判断できる。このステップ６では、さらにＢ＜Ａの場合とＡ＜Ｂの場合が考えられる。
【００４６】
前者のＢ＜Ａの場合には、より故障危険率の少ない複写先の予備ディスク３＿Ｒを通常動作に用いるディスクとする。つまり、図３に示すように、複写制御部２６は今まで「３＿Ｒ」とラベル付けされていた予備ディスクを通常動作に用いるディスクとするために「３＿１」とラベル化し、逆に「３＿１」とラベル付けられていたディスクを予備ディスクであることを示す「３＿Ｒ」とラベル化する。
【００４７】
ここで注意すべき点として、ディスク自体を移動するのではなく、ラベルを変更するだけである。「３＿１」とラベル付けられたディスクはもともと予備ディスクであったが、ステップ３の複写処理によりすでにデータが複写されているため、今後通常動作でそのまま用いても支障はない。この後他のディスクに対しても同様の複写処理を行うため、ステップ１１に移行する。
【００４８】
一方、後者のＡ＜Ｂの場合には、Ｂ＜Ａ＜閾値の場合と同様の処理を行ってもいいが、複写元の方が故障危険率が少ないため、ラベル交換を行わず複写処理前と同様に複写元をそのまま３＿１として使用する。この後、ステップ１１に移行する。
【００４９】
ステップ７（Ａ＜閾値＜Ｂ）では、複写元のディスク３＿１の故障危険率Ａは閾値よりも低いが、複写先の予備ディスク３＿Ｒの故障危険率Ｂは閾値よりも高いので、故障危険率算出／判定部２７は複写先の予備ディスク３＿Ｒに対し故障の危険があると判断し、ホストＩ／Ｆ部２１およびホスト４を通して管理者に通知する。
【００５０】
図４に示すように管理者は今まで予備としていたディスクを新しいディスクに交換する。ディスク交換後、管理者はホスト４に交換したことを示すコマンド等の入力を行い、ホスト４からホストＩ／Ｆ部２１を介して複写制御部２６に通知される。その後、複写制御部２６が再度複写処理を行うために、ステップ３に移行する。
【００５１】
ステップ８（Ｂ＜閾値＜Ａ）では、複写元のディスク３＿１の故障危険率Ａは閾値よりも高く、複写先の予備ディスク３＿Ｒの故障危険率Ｂは閾値よりも低いので、故障危険率算出／判定部２７はディスク３＿１に対し故障する可能性が高くなっていると判断する。
【００５２】
この時点ですでに予備ディスク３＿Ｒにはディスク３＿１のデータの複写が完了している。このため、図５に示すように、複写制御部２６は今まで「３＿Ｒ」とラベル付けされていた予備ディスクを通常動作で用いるために「３＿１」とラベル化する。逆に「３＿１」とラベル付けられていたディスクは故障の恐れがある。
【００５３】
このため、ステップ９において、故障危険率算出／判定部２７は管理者に対し新しいディスクに交換するようホストＩ／Ｆ部２１およびホスト４を通して管理者に通知する。複写制御部２６は交換された新しいディスクを３＿Ｒとラベル化することで予備ディスクとしておく。その後に他のディスクに対する複写処理を行うために、ステップ１１に移行する。
【００５４】
ステップ１０（閾値＜Ａ，Ｂ）では、複写元のディスク３＿１の故障危険率Ａも複写先の予備ディスク３＿Ｒの故障危険率Ｂもともに閾値よりも高く、故障する危険性が高いと判断でき、早急に別のディスクに複写しなおす必要がある。このステップ１０では、さらにＢ＜Ａの場合とＡ＜Ｂの場合が考えられる。
【００５５】
前者のＢ＜Ａの場合には、複写元のディスク３＿１のデータは予備ディスク３＿Ｒに複写はされているが、より故障危険率の少ない複写先の予備ディスク３＿Ｒに格納されているデータを別の新たな予備ディスクに複写する。このため複写制御部２６は複写先の予備ディスクを３＿１とラベル化し、その後に管理者への通知によってもともと複写元であったディスクを予備ディスクと交換し、この新しいディスクを複写制御部２６により３＿Ｒとラベル化する。その後、ステップ３に移行することで複写処理をやり直すこととなる。
【００５６】
一方、Ａ＜Ｂの場合には、複写先の予備ディスク３＿Ｒの方が故障危険率が高いので、図６に示すように、管理者への通知によって複写先の予備ディスク３＿Ｒを新しいディスクに交換し、ステップ３に移行することで複写処理をやり直す。
【００５７】
ステップ１１において、複写制御部２６はまずホスト４からのアクセス要求がないか確認する。もしアクセス要求がなければステップ１２に移行する。もしアクセス要求があれば、内部変数ｉの値を保持しておき、ステップ０に移行することで通常動作に戻る。その後アイドル状態となり本来ならばステップ１を経由してステップ２移行するが、ステップ１１に移行し、中断していた複写処理を再開する。
【００５８】
ステップ１２において、内部変数ｉがＮに等しくなければ、つまりＮ個のディスクすべてに対して複写処理を終了していない場合は、ｉの値を１つインクリメントする。その後ステップ３に移行し、上述した処理をディスクアレイ部３の中のすべてのディスクに対して同様に行っていく。一方内部変数ｉがＮに等しければ、ディスク３＿１〜３＿Ｎのすべてのディスクに対して複写処理が完了したことになるため、通常動作状態のステップ０に移行する。
【００５９】
ここで、上述した複写処理中に通常動作のアクセス要求がホスト４から受けた場合に、複写元のディスクにはデータが前回の通常動作時のデータが残っているので、基本的にはアクセス可能であるが、もし複写処理後の判定で故障危険率が高いと判断された複写元あるいは複写先のディスクにアクセスをする必要が生じた場合は、新たな予備ディスクに交換し、その新しいディスクにデータが複写されるまでは、アクセス要求を拒否する。
【００６０】
なぜなら故障危険率が高いままホスト４からのアクセスを受け入れ、そのために故障してしまう可能性があるからである。つまりステップ１１においてホスト４からのアクセス要求を認識してステップ０に移行しても、故障危険率の高いディスクが管理者により新たなディスクに交換されていなければ、通常動作のアクセスを拒否する。
【００６１】
なお、各ディスクの内部情報は各ディスクに記載される構成以外に制御装置側に別途記憶部をもたせ、全内部情報を記憶、管理する構成であってもよい。これにより、例えばＩＣメモリや光ディスク、フロッピー（登録商標）ディスクなどのように、ハードディスクのＳＭＡＲＴ機能に類似するものを有していない場合でも、本発明を適用することが可能となる。
【００６２】
また、複写後に予備となったディスクに対してフォーマット処理を行ってもよい。
また、本発明のディスクアレイ制御装置１において、故障危険率算出／判定部２７にＬＥＤ等の表示装置を付けておき、ディスクアレイ部３を構成するディスクの内、どれかの故障危険率が閾値を超えた場合、ＬＥＤを点灯することで、管理者に視覚的に通知する構成であってもよい。
【００６３】
以上のように本実施の形態１においては、予備ディスクを通常動作時においてもバスに接続しておき、アイドル状態の際にディスクのデータを他のディスクに複写することを繰り返す。これにより各ディスクのリード／ライトアクセスをチェックでき、故障のおそれのある場合には早い段階で検知することが可能となる。また故障するおそれが判明した時点ですでに予備ディスクにバックアップされているため、従来技術のように、データのバックアップをあらためて行う必要もなく、またそのバックアップ中に他のディスクが故障することによるデータ損失を引き起こす確率も低くすることが可能となる。
【産業上の利用可能性】
【００６４】
本発明にかかるディスクアレイ制御方法およびディスクアレイ制御装置は、通常動作に影響がないようアイドル状態において各ディスクの状態を確認し、故障するおそれのあるディスクをいち早く検出することで、データの再構築処理やデータの損失の確率を格段に低くする機能を有し、高い信頼性が必要なサーバー向けディスクアレイ装置等として有用である。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施の形態におけるディスクアレイ制御装置のブロック図
【図２】本発明の実施の形態におけるディスクアレイ制御方法を示したフローチャート図
【図３】図２におけるステップ６の処理の概要を示した図
【図４】図２におけるステップ７の処理の概要を示した図
【図５】図２におけるステップ８、ステップ９の処理の概要を示した図
【図６】図２におけるステップ１０の処理の概要を示した図
【図７】従来のディスクアレイ制御装置のブロック図
【図８】従来のディスクアレイ制御方法を示したフローチャート図
【符号の説明】
【００６６】
１  ディスクアレイ制御装置
２  ディスクアレイ制御部
３  ディスクアレイ部
４  ホスト
２１  ホストＩ／Ｆ部
２２  ディスクＩ／Ｆ部
２３  データ分割／結合部
２４  パリティ生成／チェック部
２５  再構築制御部
２６  複写制御部
２７  故障危険率算出／判定部
２８  故障危険率格納レジスタ
３＿１、３＿２、…、３＿Ｎ  Ｎ個のハードディスク
３＿Ｒ  予備のハードディスク
９０１  中央演算処理装置（ＣＰＵ）
９０２  ディスクアレイ制御装置
９０３  ディスクアレイ
９０３＿１、９０３＿２、…、９０３＿Ｎ  Ｎ個のハードディスク
９０３＿Ｒ  予備のハードディスク
【図１】
2006079219.tif 000003
【図２】
2006079219.tif 000004
【図３】
2006079219.tif 000005
【図４】
2006079219.tif 000006
【図５】
2006079219.tif 000007
【図６】
2006079219.tif 000008
【図７】
2006079219.tif 000009
【図８】
2006079219.tif 000010