(57)【特許請求の範囲】
【請求項１】
データを記憶する複数の記憶媒体と、前記記憶媒体へのデータの書き込み及び読み出しを制御する制御部を有するディスクアレイ装置において、
前記制御部は、
前記記憶媒体にエラー領域があるかを検出するメディアチェック手段と、
前記メディアチェック手段による前記記憶媒体におけるエラー領域の検出動作が設定時間としてあらかじめ設定された第１の設定時間内に終了したか否かを監視し、前記第１の設定時間内に前記メディアチェック手段によるエラー領域の検出動作が終了しなかった場合、タイムアウトエラーと判定するタイムアウトエラー監視手段と、
前記タイムアウトエラー監視手段がタイムアウトエラーと判定した場合、前記設定時間として前記第１の設定時間よりも時間が延長された第２の設定時間を設定する設定時間延長手段と、
前記設定時間延長手段で設定された前記第２の設定時間が最大設定時間を上回ったか否かを判定する延長時間チェック手段と、
前記延長時間チェック手段が前記第２の設定時間が最大設定時間を上回ったと判定した場合、エラーが発生したと判定するエラー判定手段と、
前記延長時間チェック手段が前記第２の設定時間が最大設定時間を上回っていないと判定した場合、前記設定時間として前記第２の設定時間が設定された前記タイムアウトエラー監視手段を再度実行させる再実行制御手段と
を具備することを特徴とするディスクアレイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ハードディスク装置のタイムアウトエラーとして検出されるメディアエラーを救済するディスクアレイ装置に関する。
【０００２】
【従来の技術】
従来、大記憶容量と共に、高信頼性に対する要求の強い大規模な装置に適用する記憶装置として、冗長性を有するRAID（Redundant  Arrays  of  Independent  Disks）で構成されるディスクアレイ装置が開発されている。ディスクアレイ装置では、ディスクアレイを構成する複数のハードディスク装置のうち何らかの障害等により、仮にその中の一台が停止してしまってもディスクアレイを構成する残りのハードディスク装置のデータとパリティを使用して容易に元の状態に回復させることができる。
図1に一般的なディスクアレイ装置の構成を示す。１はサーバ、２はディスクアレイ装置、３はハードディスク装置を制御するディスクアレイコントローラ、４はデータが格納されているハードディスク装置、５はハードディスク装置にあるデータを記憶するブロックである。
図８に従来のディスクアレイ装置の動作を示すフローチャートを示す。ディスクアレイコントローラ３は、ハードディスク装置４のブロック5のエラーを検出するために、サーバ１からのアクセスとは独自にハードディスク装置４にあるブロック５のメディアチェック（監視）を行う（ステップ８０）。
【０００３】
ブロック5にメディアエラーがなければ通常動作へ戻る（ステップ８３）。
タイムアウトエラーにはならなかったがブロック5にメディア系エラーが発生した場合には、エラーが発生したブロック５の代替処理を行い（ステップ８５）、ディスクアレイコントローラ３はエラーが発生したブロック５以外のデータを読み出し、これらのデータからデータを復元するＲＡＩＤの機能を使ってブロック５のデータを復元する（ステップ８６）。ブロック５は代替処理されていて使用可能であるので復元したデータを書き込み、ブロック5のデータを復元し終了する（ステップ８７）。
ここでメディア系エラーについて説明する。メディア系エラーにはメディアエラーとリカバードエラーがある。ハードディスク装置４のメディアにエラーが発生するとハードディスク装置はエラーが発生したブロック５のリトライ処理を行う。リトライ処理により救済されないとメディアエラーとなり、リトライ処理により救済されるとリカバードエラーとなる。
ブロック５のメディアチェックでハードディスク装置４から応答がなくタイムアウトエラーとなった場合にはエラー終了する（ステップ８４）。タイムアウトエラーには、ハードディスク装置４のメディアエラーに関する要因以外で監視時間によらずタイムアウトエラーとなった場合と、ハードディスク装置４がエラーの発生したブロック５のリトライ処理を実施していて監視時間の設定値よりもリトライ時の処理時間のほうが長くなったため、ディスクアレイコントローラ３に読み出しができずにタイムアウトエラーとなった場合がある。
【０００４】
従来のディスクアレイ装置２のディスクアレイコントローラ３によるハードディスク装置４の監視時間は、必ずしもハードディスク装置がリトライ処理を行う際に必要とする最大限の時間が設定されているわけではない。システムで要求される障害検出の応答性により監視時間が決定されるためハードディスク装置のリトライ処理進行中であるが処理時間がコントローラの時間監視の設定値を超えてしまい、リトライ処理で救済できるようなメディアエラーの場合にもタイムアウトエラーとして検出される場合がある。
【０００５】
【発明が解決しようとする課題】
従来のディスクアレイ装置では、メディアエラー発生によるハードディスク故障発生を低減するための、ハードディスク装置のメディアチェックの機能において、監視時間内にメディアエラーのリトライ処理を完了できずにタイムアウトエラーとして検出されてしまう。このためリトライ処理で救済できるメディアエラーを救済することができない。
本発明はハードディスク装置のリトライ処理で救済できるメディアエラーをタイムアウトエラーとして検出することを低減して、その結果ハードディスク装置の故障となる現象を低減させることを目的としている。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明においては、データを記憶する複数の記憶媒体と、前記記憶媒体へのデータの書き込み及び読み出しを制御する制御部を有するディスクアレイ装置において、前記制御部は、前記記憶媒体にエラー領域があるかを検出するメディアチェック手段と、前記メディアチェック手段による前記記憶媒体におけるエラー領域の検出動作が設定時間としてあらかじめ設定された第１の設定時間内に終了したか否かを監視し、前記第１の設定時間内に前記メディアチェック手段によるエラー領域の検出動作が終了しなかった場合、タイムアウトエラーと判定するタイムアウトエラー監視手段と、前記タイムアウトエラー監視手段がタイムアウトエラーと判定した場合、前記設定時間として前記第１の設定時間よりも時間が延長された第２の設定時間を設定する設定時間延長手段と、前記設定時間延長手段で設定された前記第２の設定時間が最大設定時間を上回ったか否かを判定する延長時間チェック手段と、前記延長時間チェック手段が前記第２の設定時間が最大設定時間を上回ったと判定した場合、エラーが発生したと判定するエラー判定手段と、前記延長時間チェック手段が前記第２の設定時間が最大設定時間を上回っていないと判定した場合、前記設定時間として前記第２の設定時間が設定された前記タイムアウトエラー監視手段を再度実行させる再実行制御手段とを具備することを特徴とするディスクアレイ装置を提供する。
【０００７】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。ディスクアレイ装置はRAID５の方式である。図１に示すディスクアレイ装置において、１はサーバ、２はディスクアレイ装置、３はアレイ型ディスクを制御するディスクアレイコントローラ、４はデータが格納されているハードディスク装置、５はハードディスク装置内にありデータを記憶するブロックである。
次に本発明に関わるディスクアレイ装置の動作の流れを図で説明する。ディスクアレイコントローラ３は、サーバ１からのアクセスとは独自にハードディスク装置４にあるブロック５のエラーを検出するためにブロック５のディスクのトラックを読み込むメディアチェック（監視）を行う（ステップ７０）。各ブロックはディスクアレイコントローラ３へ読み出しを行う。
ブロック５にメディアエラーが発生し、ハードディスク装置４がエラーの発生したブロック５のリトライ処理を実施していてディスクアレイコントローラ３に読み出しができずにタイムアウトエラー（ステップ７１）となった場合には、ハードディスク装置４がリトライ処理を実施しているので通常のアクセス時間より長い時間が必要である。監視時間を延長すれば監視時間内にリトライ処理が完了しタイムアウトエラーを救済できるので、図3のようにディスクアレイコントローラ３がタイムアウトエラーとなると時間監視の設定値を増加させ（ステップ７４）、監視時間を延長して再びメディアチェックを行う（ステップ７０）。監視時間が最大延長時間を上回るまで時間監視の設定値を段階的に増加させてメディアチェックを繰り返し行う。監視時間を延長しているのでディスクアレイコントローラへの読み出しができ、図４のようにタイムアウトエラーとならずメディア系エラーとなる。監視時間の延長により読み出しはできたが、リトライ不可のメディアエラーに発展する可能性があるので、図５のようにディスクアレイコントローラ３がブロック５のエラーが発生したディスク領域を代替処理するように命令する。ブロック５のエラーが発生したディスク領域はＣＥ領域にある代替領域を使って代替処理される（ステップ７７）。ディスクアレイコントローラ３は図６のようにエラーが発生したブロック５以外のデータを読み出し、これらのデータからデータを復元するＲＡＩＤの機能を使ってブロック５のデータを復元する（ステップ７８）。ブロック５は代替処理されていて使用可能であるので復元したデータを書き込み、ブロック5のデータを復元し終了する（ステップ７９）。
【０００８】
ブロック５がメディアエラーに関する要因以外で故障し監視時間によらないでタイムアウトエラーとなった場合、図3のように監視時間が最大延長時間を上回るまで時間監視の設定値を段階的に増加させて（ステップ７４）メディアチェックを繰り返し行い（ステップ７０）、監視時間が最大延長時間を上回ったら時点でエラー終了する（ステップ７６）。
タイムアウトエラーにはならなかったが、ブロック５にメディアエラーが発生しハードディスク装置４がエラーの発生したブロック５のリトライ処理を実施したが救済できなかった場合には、ハードディスク装置４からディスクアレイコントローラ３にメディアエラー発生のエラー通知があり、図５のようにディスクアレイコントローラ３がブロック５のエラーが発生したディスク領域を代替処理するように命令する。ブロック５のエラーが発生したディスク領域はＣＥ領域にある代替領域を使って代替処理される（ステップ７７）。ディスクアレイコントローラ３は図６のようにエラーが発生したブロック５以外のデータを読み出し、これらのデータからデータを復元するＲＡＩＤの機能を使ってブロック５のデータを復元する（ステップ７８）。プロックは代替処理されていて使用可能であるので、復元したデータを書き込みブロック5のデータを復元し終了する（ステップ７９）。
【０００９】
タイムアウトエラーにはならなかったが、ブロック５にメディアエラーが発生しハードディスク装置４がエラーの発生したブロック５のリトライ処理の実施により救済できた場合には、ハードディスク装置４からディスクアレイコントローラ３にリカバードエラー発生の通知があり、リカバードエラー発生の通知をされたブロック５でも将来的にはメディアエラーとなる可能性が高いので、図５のようにディスクアレイコントローラ３がエラーが発生したディスク領域を代替処理するように命令する。ブロック５のエラーが発生したディスク領域は補修領域を使って代替処理される（ステップ７７）。ディスクアレイコントローラ３は図６のようにエラーが発生したブロック５以外のデータを読み出し、これらのデータからデータを復元するＲＡＩＤの機能を使ってブロック５のデータを復元する（ステップ７８）。プロックは代替処理されていて使用可能であるので、復元したデータを書き込みブロック5のデータを復元し終了する（ステップ７９）。
ディスクアレイコントローラ３からのメディアチェック（ステップ７０）に対して、ハードディスク装置４から正常に読み出しが行われれば通常動作へ戻る（ステップ７３）。
【００１０】
なお、ディスクアレイ装置２をRAID３の方式で構成しても同等の効果が得られる。
以上のことからハードディスク装置４の時間監視の設定値を段階的に増加させることでリトライ処理で救済できるメディアエラーをタイムアウトエラーとして検出することがなくなる。
またタイムアウト監視時間を延長することによりハードディスク装置４のリトライ処理で救済された場合にも、そのブロック５が将来メディアエラーとなる可能性があり代替処理とデータの復元を行うため、メディアエラー発生の確率がさらに低減する。
【００１１】
【発明の効果】
本発明によれば、データ用記憶媒体装置のメディアエラーが発生した場合、時間監視の値を延長して再度メディアチェックすることによって、メディアエラーが救済でき、データ用記憶媒体装置の故障によるシステムへの悪影響を低減できる。
【図面の簡単な説明】
【図１】一般的なディスクアレイ装置のブロック図。
【図２】本発明のディスクアレイ装置の読み出し動作を示す図。
【図３】本発明のディスクアレイ装置の再度メディアチェックを示す図。
【図４】本発明のディスクアレイ装置の読み出し動作を示す図。
【図５】本発明のディスクアレイ装置の代替処理を示す図。
【図６】本発明のディスクアレイ装置のデータ復元処理を示す図。
【図７】本発明のディスクアレイ装置の動作の処理を示すフローチャート。
【図８】従来のディスクアレイ装置の動作の処理を示すフローチャート。
【符号の説明】
１…サーバ
２…ディスクアレイ装置
３…ディスクアレイコントローラ
４…ハードディスク装置
５…ブロック
【図１】
0004176908.tif 000002
【図２】
0004176908.tif 000003
【図３】
0004176908.tif 000004
【図４】
0004176908.tif 000005
【図５】
0004176908.tif 000006
【図６】
0004176908.tif 000007
【図７】
0004176908.tif 000008
【図８】
0004176908.tif 000009