(57)【要約】【課題】二重障害の発生時に上位装置はデータの書込み、読出しを正常終了させ、障害の発生アドレスの修復中も該当アドレスのデータを読出し、障害の発生アドレスの修復が完了した時点でＨＤＤに書込みを完了することを可能とするデータ書込み装置、データ書込み読出し装置を提供する。【解決手段】論理ディスク書込み／読出し手段１１２は論理ディスク１２０の論理アドレス１４０Ａに対し二重障害により書込みを行えなかった場合、メモリ１１３に該当データを書込み、上位装置１００には書込み正常終了報告を行う。上位装置１００の該当データの読出しはメモリ１１３から行う。論理アドレス１４０Ａが書込み可能になったことを書込み可能報告手段１６０から報告された論理ディスク書込み／読出し手段１１２は、メモリ１１３内の該当データを論理ディスク１２０の論理アドレス１４０Ａに書込む。【選択図】　　　図１
2004126878.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、
前記制御装置は前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行う論理ディスク書込み／読出し手段を備えることを特徴とするデータ書込み装置。
【請求項２】
前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、
前記論理ディスク書込み／読出し手段は前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする請求項１記載のデータ書込み装置。
【請求項３】
前記論理ディスク監視手段は、一定時間経過したら管理テーブル更新手段に伝えるタイマと、
前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、
前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする請求項１，２記載のデータ書込み装置。
【請求項４】
前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする請求項１，２，３記載のデータ書込み装置。
【請求項５】
前記第２の記憶手段は前記制御装置により書き込まれたデータが前記第１の記憶手段に書き込まれるまで前記データを保持することを特徴とする請求項１乃至４記載のデータ書込み装置。
【請求項６】
上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、
前記制御装置は前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行い、前記上位装置から前記アドレスへの読出し命令のあるデータがある場合は前記データを第２の記憶手段から読出す論理ディスク書込み／読出し手段を備えることを特徴とするデータ書込み読出し装置。
【請求項７】
前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、
前記論理ディスク書込み／読出し手段は、前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする請求項６記載のデータ書込み読出し装置。
【請求項８】
前記論理ディスク監視手段は、一定時間経過したら管理テーブル更新手段に伝えるタイマと、
前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、
前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする請求項６，７記載のデータ書込み読出し装置。
【請求項９】
前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする請求項６，７，８記載のデータ書込み読出し装置。
【請求項１０】
前記第２の記憶手段は前記制御装置により書き込まれたデータを前記制御装置により読出されるまで保持することを特徴とする請求項６乃至９記載のデータ書込み読出し装置。
【請求項１１】
上位装置と、上位装置から書込み命令を受けたデータ及び冗長データを含み、該冗長データの大きさに相当するデータが破壊されても書込み命令を受けたデータを修復しながら残りのデータにより上位装置からの命令により書込みを行うことのできる第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、
前記制御装置は前記第１の記憶手段のあるアドレスを含む領域においてデータの修理中にエラーにより書込みができない場合、
前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行う論理ディスク書込み／読出し手段を備えることを特徴とするデータ書込み装置。
【請求項１２】
前記制御装置は前記データの修復が完了したことを確認する論理ディスク監視手段を更に備え、
前記論理ディスク書込み／読出し手段は前記論理ディスク監視手段が前記データの修復が完了したことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする請求項１１記載のデータ書込み装置。
【請求項１３】
前記論理ディスク監視手段は、一定時間経過したら管理テーブル更新手段に伝えるタイマと、
前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、
前記管理テーブルにおいて前記アドレスにおける前記データの修復が完了した場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする請求項１１，１２記載のデータ書込み装置。
【請求項１４】
前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする請求項１１，１２，１３記載のデータ書込み装置。
【請求項１５】
前記第２の記憶手段は前記制御装置により書き込まれたデータが前記第１の記憶手段に書き込まれるまで前記データを保持することを特徴とする請求項１１乃至１４記載のデータ書込み装置。
【請求項１６】
上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置のデータ書込み方法において、
前記制御装置は論理ディスク書込み／読出し手段を備え、
前記論理ディスク書込み／読出し手段が前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込むステップと、
前記上位装置に書込み完了報告を行うステップを備えることを特徴とするデータ書込み方法。
【請求項１７】
前記制御装置は論理ディスク監視手段を更に備え、
前記論理ディスク監視手段が前記アドレスにおける前記冗長破壊が回復されたことを確認するステップと、
前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記論理ディスク書込み／読出し手段が前記第２の記憶手段に書き込まれたデータを読出すステップと、
前記記憶手段の前記アドレスに前記データを書き込むステップとを更に備えることを特徴とする請求項１６記載のデータ書込み方法。
【請求項１８】
前記論理ディスク監視手段はタイマと管理テーブル更新手段と書込み可能報告手段とを更に備え、
一定時間経過したら前記タイマが管理テーブル更新手段に伝えるステップと、
前記管理テーブル更新手段が前記第１の記憶手段の状態を調べ管理テーブルを更新するステップと、
書込み可能報告手段が前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告するステップとを更に備えることを特徴とする請求項１６，１７記載のデータ書込み方法。
【請求項１９】
上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、
前記制御装置は論理ディスク書込み／読出し手段を更に備え、
前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記論理ディスク書込み／読出し手段が、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込むステップと、
前記論理ディスク書込み／読出し手段が、前記上位装置に書込み完了報告を行うステップと、
前記上位装置から前記アドレスへの読出し命令のあるデータがある場合は、前記論理ディスク書込み／読出し手段が、前記データを第２の記憶手段から読出するステップとを備えることを特徴とするデータ書込み読出し方法。
【請求項２０】
前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、
前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記論理ディスク書込み／読出し手段が前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むステップを更に備えることを特徴とする請求項１９記載のデータ書込み読出し方法。
【請求項２１】
前記論理ディスク監視手段は、タイマと管理テーブル更新手段と書込み可能報告手段とを備え、
一定時間経過したら前期タイマが管理テーブル更新手段に伝えるステップと、
前記管理テーブル更新手段が前記第１の記憶手段の状態を調べ管理テーブルを更新するステップと、
前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に、前期書込み可能報告手段が、該回復を前記論理ディスク書込み／読出し手段に報告するステップとを更に備えることを特徴とする請求項１９，２０記載のデータ書込み読出し方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ書込み、書込み読出し装置、データ書込み、書込み読出し方法に関し、特に冗長構成を備えた記憶装置において冗長破壊が起こった場合のデータ書込み、読出し装置、データ書込み、書込み読出し方法に関する。
【０００２】
【従来の技術】
従来のデータ書込み装置として例えば、ディスクアレイ装置がある。
【０００３】
図１０は従来のディスクアレイ装置であり、上位装置１００とコントローラ１１０１と論理ディスク１２０の構成を示すブロック図である。
【０００４】
上位装置１００はデータの書込み／読出しを論理ディスク１２０から行うために、コントローラ１１０１に対しデータの書込み／読出し命令を送信し、コントローラ１１０１に該当データを転送し、また読出しの場合はコントローラ１１０１から該当データを受信する。
【０００５】
コントローラ１１０１は論理ディスク監視手段１１１と論理ディスク書込み／読出し手段１１２とを備える。
【０００６】
論理ディスク監視手段１１１は管理テーブル更新手段１５０とタイマ１１４を備えている。タイマ１１４は電源が入っている状態では定期的に管理テーブル更新手段１５０に一定時間が経過したことを伝える。タイマ１１４から一定時間が経過したことを伝えられると管理テーブル更新手段１５０は論理ディスク１２０の各論理アドレスの状態を監視する。その結果そして、管理テーブル更新手段１５０は上位装置とは非同期に論理ディスク１２０の状態を調べる。
【０００７】
論理ディスク書込み／読出し手段１１２は上位装置１００からデータの書込み命令とデータを受信すると、上位装置１００の指定する論理ディスク１２０の該当論理アドレスにデータの書込みを行う。書込みができない場合は規定回数リトライ動作を行う。規定回数リトライ動作を行っても書込みを完了することができない場合は上位装置１００に書込みエラー報告を行う。書込みを完了すると上位装置１００に対して書込み正常終了報告を行う。書込みを完了することができなかった場合は上位装置１００に対し書込みエラー報告を行う。
【０００８】
論理ディスク書込み／読出し手段１１２は上位装置１００からデータの読出し命令を受信すると、上位装置１００の指定する論理ディスク１２０の該当論理アドレスからデータの読出しを行う。読出しができない場合は規定回数リトライ動作を行う。規定回数リトライ動作を行っても読出しを完了することができない場合は上位装置１００に読出しエラー報告を行う。読出しを完了すると上位装置１００に対して読出し正常終了報告を行う。読出しを完了することができなかった場合は上位装置１００に対し読出しエラー報告を行う。
【０００９】
論理ディスク１２０は複数のＨＤＤを備え、ここではＨＤＤ１３０Ａ〜ＨＤＤ１３０Ｅの５台を備えている例を示す。コントローラ１１０１からデータの書込み命令を受けると、コントローラ１１０１に指定された論理アドレスに冗長性を持ってデータは書込まれる。ここでは論理アドレス１４０Ａに書込まれる例を示す。またコントローラ１１０１からデータの読出し命令を受けると、コントローラ１１０１に指定された論理アドレスからデータは読出される。ここでは論理アドレス１４０Ａから読出される例を示す。
【００１０】
ここで、論理ディスク１２０はＨＤＤ１３０Ｅにおける論理アドレス１４０Ａに媒体エラーがあり、かつＨＤＤ１３０Ａはディスク障害によりＨＤＤ交換後、データ修復を行っている途中の状態である。このため論理アドレス１４０Ａは二重障害状態にありアクセス不可とされるため書込みを行うことができない。また、同様に論理アドレス１４０Ａからデータの読出しを行うことはできない。
【００１１】
逆に論理アドレス１４０ＢはＨＤＤ１３０Ｅにおいて媒体エラーはなくＨＤＤ１３０Ａのみデータ修復中であるので、書込み、読出しとも行うことができる。
【００１２】
図１１は上位装置１００とコントローラ１１０１と論理ディスク１２０とを備える従来のディスクアレイ装置の動作を示し、上位装置１００が論理ディスク１２０に書込みを行うときの動作を示したフローチャートである。
【００１３】
上位装置１００がコントローラ１１０１に論理ディスク１２０への書込みデータを送信すると（ステップＰ１）、コントローラ１１０１内の論理ディスク書込み／読出し手段１１２が書込みデータを受信する（ステップＰ２）。次に、論理ディスク書込み／読出し手段１１２は上位装置１００が指定する論理ディスク１２０の論理アドレス１４０Ａへデータの書込みを行う。このとき書込みができない場合は規定回数リトライ動作を行う。初回から規定回数までのリトライ動作の間に論理アドレス１４０Ａへ書込みを完了したら（ステップＰ３，Ｙ）、論理ディスク書込み／読出し手段１１２は上位装置１００に書込み正常終了を報告する（ステップＰ４）。規定回数までのリトライ動作の間に論理アドレス１４０Ａへ書込みを完了できなかった場合は（ステップＰ３，Ｎ）は、上位装置１００に書込みエラーを報告する（ステップＰ５）。
【００１４】
図１２は上位装置１００とコントローラ１１０１と論理ディスク１２０とを備える従来のディスクアレイ装置の動作を示し、上位装置１００が論理ディスク１２０から読出しを行うときの動作を示したフローチャートである。
【００１５】
上位装置１００がコントローラ１１０１に論理ディスク１２０からデータを読出す、読出し命令を送信すると（ステップＱ１）、コントローラ１１０１内の論理ディスク書込み／読出し手段１１２が読出し命令を受信する（ステップＱ２）。次に、論理ディスク書込み／読出し手段１１２は上位装置１００が指定する論理ディスク１２０の論理アドレス１４０Ａからデータの読出しを行う。このとき読出しができない場合は規定回数リトライ動作を行う。初回から規定回数までのリトライ動作の間に論理アドレス１４０Ａのデータ読出しを完了したら（ステップＱ３，Ｙ）、論理ディスク書込み／読出し手段１１２は上位装置１００に読出したデータを転送する（ステップＱ４）。規定回数までのリトライ動作の間に論理アドレス１４０Ａからの読出し完了できなかった場合は（ステップＱ３，Ｎ）は、上位装置１００に読出しエラーを報告する（ステップＱ５）。
【００１６】
次に、論理ディスク監視手段１１１の動作を説明する。図１３は論理ディスク監視手段１１１の動作を示したフローチャートである。コントローラ１１０１に電源が入ると、タイマ１１４は時間計測を開始し一定時間が経過すると管理テーブル更新手段１５０に伝える（ステップＲ１）。管理テーブル更新手段１５０は論理ディスク１２０の状態を調べ、その状態を基に管理テーブル１５１を更新する（ステップＲ２）。タイマ１１４はコントローラ１１０１に電源が入っている限り動作を継続する。論理ディスク監視手段１１１の上記動作は上位装置１００の動作とは非同期に行われる。
【００１７】
次に、図１０に召すように論理ディスク１２０がＨＤＤ１３０ＡとＨＤＤ１３０Ｅにおいて二重障害状態にある場合の図チのフローチャートにおける従来のディスクアレイ装置の動作を説明する。論理ディスク１２０はＨＤＤ１３０Ｅにおける論理アドレス１４０Ａ部に媒体エラーがあり、かつＨＤＤ１３０Ａはディスク障害によりＨＤＤ交換後、データ修復を行っている途中の状態である。このように論理アドレス１４０Ａは二重障害状態にあるため、書込みを行うことができない。そのため、規定回数リトライ動作を行っても論理アドレス１４０Ａへの書込みを完了することができない（ステップＰ３，Ｎ）。そして、論理ディスク書込み／読出し手段１１２は上位装置１００に書込みエラーを報告をすることになる（ステップＰ５）。
【００１８】
このようにディスクアレイ装置はＨＤＤの一時的二重障害の発生時には、上位装置からＨＤＤへ一部のデータ書込みができないため、またその結果該当データの読出しができないため、上位装置へ書込みエラー報告或いは読出しエラー報告を行うＩ／Ｏエラーが発生する可能性が高くなる（図１１、ステップＰ５）。そして、Ｉ／Ｏエラーが発生した場合、原因の特定及びデータの再書込み等の付加作業が必要となり、通常業務に支障をきたすことになる。
【００１９】
このような二重障害対策として従来のディスクアレイ装置では二重障害からの回復のためにパリティーデータを二重化しているものがある（例えば、特許文献１参照）。
【００２０】
【特許文献１】
特開２０００−３９９７０号公報
また、一般のライトキャッシュ方式を採用したディスクアレイ装置に於いては、上位装置からのデータを一時的にライトキャッシュに格納した時点で上位装置へ書込み正常終了報告を行うことにより、Ｉ／Ｏエラーの発生する可能性を低下させることが可能な場合も考えられる。
【００２１】
図１０、図１１を用いて説明すると、図１０における論理ディスク書込み／読出し手段１１２がライトキャッシュを備え、図１１におけるステップＰ２において、コントローラ１１０１内の論理ディスク書込み／読出し手段１１２が書込みデータを受信すると、上位装置１００に書込み正常終了報告を行うことに相当する。そして二重障害発生中の上位装置からの該当データの読出しはライトキャッシュから行い、障害発生中のＨＤＤの修復処理の完了を待ってライトキャッシュから該当データをＨＤＤに書込むことによって二重障害発生時のデータアクセスの救済を行い、Ｉ／Ｏエラーの発生する可能性を低下させること可能な場合もあると考えられる。しかしながら、次のような問題点が考えられる。
【００２２】
【発明が解決しようとする課題】
第１の問題点は、ライトキャッシュを採用した救済方法では、ライトキャッシュが常に有効状態である必要がある点である。通常このようなディスクアレイ装置ではライトキャッシュのＯＮ／ＯＦＦが可能であり、仮に設定上はＯＮ（有効）状態の場合でもディスクアレイ装置内の各リソースの動作状態により障害発生時などにはライトキャッシュが強制的にＯＦＦ（無効）状態とされることが多い。この場合、ライトキャッシュにデータを一時的に保存することができないため、ＨＤＤの一時的二重障害発生時にはＨＤＤへの書込み読出しができず、Ｉ／Ｏエラーとなる。
【００２３】
第２の問題点は、ライトキャッシュが有効状態であった場合においてもデータ書込みができず、Ｉ／Ｏエラーとなる点である。論理ディスクが修復中のケースに於いて上位装置からの書込みデータをいったんライトキャッシュに保存した後、順次論理ディスクへ書込みを開始する。ＨＤＤの一時的二重障害発生時にデータ書込みがエラーとなった場合、規定回数のリトライ動作中に修復対象のＨＤＤの該当アドレスの修復処理が完了すればリトライ動作によるデータの書込みが可能となる。しかし、リトライ動作中に修復対象のＨＤＤの該当アドレスの修復処理が完了できない場合はライトキャッシュからのデータ書込みができずＩ／Ｏエラーとなる。また、論理ディスクが縮退中の場合は該当アドレス部で常にＨＤＤの二重障害状態となるためリトライ動作での書込みも不可であることから上記と同様にライトキャッシュからのデータ書込みができずＩ／Ｏエラーとなる。
【００２４】
ライトキャッシュを採用したディスクアレイ装置ではコントローラが、上位装置からのデータの書込みを完了すると、コントローラが上位装置へ書込み正常終了報告を行う。そして正常終了報告後、ライトキャッシュからＨＤＤへ書込みが行えない場合であっても上位装置へエラー報告を行わない装置の場合は、上位装置から見るとＩ／Ｏエラーが生じていないことになる。しかしながら、ＨＤＤの該当アドレスに書込みが行えていないことに変わりはなく、従って、該当アドレスのデータを読出すこともできない。
【００２５】
本発明の目的は、二重障害の発生時に上位装置としてはデータの書込み、読出しを正常終了させることが可能となり、障害の発生アドレスの修復中も該当アドレスのデータを読出すことが可能となり、障害の発生アドレスの修復が完了した時点でＨＤＤに書込みを完了することを可能とするデータ書込み装置、データ書込み読出し装置を提供することにある。
【００２６】
【課題を解決するための手段】
本発明のデータ書込み装置は上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、前記制御装置は前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行う論理ディスク書込み／読出し手段を備えることを特徴とする。
【００２７】
請求項２記載のデータ書込み装置は前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、前記論理ディスク書込み／読出し手段は前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする。
【００２８】
請求項３記載のデータ書込み装置は前記論理ディスク監視手段は、一定時間経過したら管理テーブル更新手段に伝えるタイマと、前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする。
【００２９】
請求項４記載のデータ書込み装置は、前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする。
【００３０】
請求項５記載のデータ書込み装置は前記第２の記憶手段は前記制御装置により書き込まれたデータが前記第１の記憶手段に書き込まれるまで前記データを保持することを特徴とする。
【００３１】
請求項６記載のデータ書込み読出し装置は、上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、前記制御装置は前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行い、前記上位装置から前記アドレスへの読出し命令のあるデータがある場合は前記データを第２の記憶手段から読出す論理ディスク書込み／読出し手段を備えることを特徴とする。
【００３２】
請求項７記載のデータ書込み読出し装置は、前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、
前記論理ディスク書込み／読出し手段は、前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする。
【００３３】
請求項８記載のデータ書込み読出し装置は、前記論理ディスク監視手段は、一定時間経過したら管理テーブル更新手段に伝えるタイマと、前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする。
【００３４】
請求項９記載のデータ書込み読出し装置は、前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする。
【００３５】
請求項１０記載のデータ書込み読出し装置は、前記第２の記憶手段は前記制御装置により書き込まれたデータを前記制御装置により読出されるまで保持することを特徴とする。
【００３６】
請求項１１記載のデータ書込み装置は、上位装置と、上位装置から書込み命令を受けたデータ及び冗長データを含み、該冗長データの大きさに相当するデータが破壊されても書込み命令を受けたデータを修復しながら残りのデータにより上位装置からの命令により書込みを行うことのできる第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、前記制御装置は前記第１の記憶手段のあるアドレスを含む領域においてデータの修理中にエラーにより書込みができない場合、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込み、前記上位装置に書込み完了報告を行う論理ディスク書込み／読出し手段を備えることを特徴とする。
【００３７】
請求項１２記載のデータ書込み装置は、前記制御装置は前記データの修復が完了したことを確認する論理ディスク監視手段を更に備え、前記論理ディスク書込み／読出し手段は前記論理ディスク監視手段が前記データの修復が完了したことを確認すると、前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むことを特徴とする。
【００３８】
請求項１３記載のデータ書込み装置は、前記論理ディスク監視手段が、一定時間経過したら管理テーブル更新手段に伝えるタイマと、前記第１の記憶手段の状態を調べ管理テーブルを更新する前記管理テーブル更新手段と、前記管理テーブルにおいて前記アドレスにおける前記データの修復が完了した場合に該回復を前記論理ディスク書込み／読出し手段に報告する書込み可能報告手段とを更に備えることを特徴とする。
【００３９】
請求項１４記載のデータ書込み装置は、前記第２の記憶手段は不揮発性の記憶手段であるか、または揮発性であっても独自に電源を持つことを特徴とする。
【００４０】
請求項１５記載のデータ書込み装置は、前記第２の記憶手段は前記制御装置により書き込まれたデータが前記第１の記憶手段に書き込まれるまで前記データを保持することを特徴とする。
【００４１】
請求項１６記載のデータ書込み方法は、上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置のデータ書込み方法において、前記制御装置は論理ディスク書込み／読出し手段を備え、前記論理ディスク書込み／読出し手段が前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込むステップと、前記上位装置に書込み完了報告を行うステップを備えることを特徴とする。
【００４２】
請求項１７記載のデータ書込み方法は、前記制御装置は論理ディスク監視手段を更に備え、前記論理ディスク監視手段が前記アドレスにおける前記冗長破壊が回復されたことを確認するステップと、前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記論理ディスク書込み／読出し手段が前記第２の記憶手段に書き込まれたデータを読出すステップと、前記記憶手段の前記アドレスに前記データを書き込むステップとを更に備えることを特徴とする。
【００４３】
請求項１８記載のデータ書込み方法は、前記論理ディスク監視手段はタイマと管理テーブル更新手段と書込み可能報告手段とを更に備え、一定時間経過したら前記タイマが管理テーブル更新手段に伝えるステップと、前記管理テーブル更新手段が前記第１の記憶手段の状態を調べ管理テーブルを更新するステップと、書込み可能報告手段が前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に該回復を前記論理ディスク書込み／読出し手段に報告するステップとを更に備えることを特徴とする。
【００４４】
請求項１９記載のデータ書込み読出し方法は、上位装置と、記録されるデータが冗長構成となっている第１の記憶手段と、前記上位装置からの命令により前記第１の記憶手段にデータの書込みを行う制御装置とを備えたデータ書込み装置において、前記制御装置は論理ディスク書込み／読出し手段を更に備え、前記第１の記憶手段のあるアドレスにおいて冗長破壊が発生した場合に、前記論理ディスク書込み／読出し手段が、前記上位装置から前記アドレスへの書き込み命令のあるデータを第２の記憶手段に書込むステップと、前記論理ディスク書込み／読出し手段が、前記上位装置に書込み完了報告を行うステップと、前記上位装置から前記アドレスへの読出し命令のあるデータがある場合は、前記論理ディスク書込み／読出し手段が、前記データを第２の記憶手段から読出するステップとを備えることを特徴とする。
【００４５】
請求項２０記載のデータ書込み読出し方法は、前記制御装置は前記アドレスにおける前記冗長破壊が回復されたことを確認する論理ディスク監視手段を更に備え、前記論理ディスク監視手段が前記冗長破壊が回復されたことを確認すると、前記論理ディスク書込み／読出し手段が前記第２の記憶手段に書き込まれたデータを読出し、前記記憶手段の前記アドレスに書き込むステップを更に備えることを特徴とする。
【００４６】
請求項２１記載のデータ書込み読出し方法は、前記論理ディスク監視手段は、タイマと管理テーブル更新手段と書込み可能報告手段とを備え、一定時間経過したら前期タイマが管理テーブル更新手段に伝えるステップと、前記管理テーブル更新手段が前記第１の記憶手段の状態を調べ管理テーブルを更新するステップと、前記管理テーブルにおいて前記アドレスにおける前記冗長破壊が回復された場合に、前期書込み可能報告手段が、該回復を前記論理ディスク書込み／読出し手段に報告するステップとを更に備えることを特徴とする。
【００４７】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図を参照して詳細に説明する
図１は本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図である。図１１に示された従来のディスクアレイ装置と比較して、コントローラ１１０にメモリ１１３がある点、論理ディスク監視手段１１１に書込み可能報告手段１６０がある点で異なる。
【００４８】
上位装置１００はデータの書込み／読出しを論理ディスク１２０に対して行うために、コントローラ１１０に対しデータの書込み／読出し命令を送信し、コントローラ１１０に該当データを転送し、また読出しの場合はコントローラ１１０から該当データを受信する。またコントローラ１１０から書込み正常終了報告、書込みエラー報告、読出しエラー報告を受信する。書込み正常終了報告を受信した場合は、上位装置１００として該当データの書込みを正常終了する。
【００４９】
コントローラ１１０は論理ディスク監視手段１１１と論理ディスク書込み／読出し手段１１２とメモリ１１３とを備える。
【００５０】
論理ディスク監視手段１１１はタイマ１１４と管理テーブル更新手段１５０と書込み可能報告手段１６０とを備えている。タイマ１１４は電源が入っている状態では定期的にタイマ１１４が管理テーブル更新手段１５０に一定時間が経過したことを伝える。そして、管理テーブル更新手段１５０は上位装置とは非同期に論理ディスク１２０の状態を調べる。管理テーブル更新手段１５０は内部に管理テーブル１５１（図５参照）を備え、論理ディスク１２０の状態に応じて順次その管理テーブル１５１を更新する。
【００５１】
書込み可能報告手段１６０は論理ディスク書込み／読出し手段１１２から書込みを行うことができなかった論理アドレスを知らされると、管理テーブル１５１を常に参照する。そして、論理ディスク監視手段１１１が書込みを行おうとして行えなかった論理アドレス、即ち本実施の形態では論理アドレス１４０ＡがＲｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、二重障害が解除されたことを示す）の状態となると、論理ディスク書込み／読出し手段１１２に書込みを行おうとして行えなかった論理アドレスにおいて書込みが可能になったことを伝える。尚、管理テーブル１５１については後述する。
【００５２】
論理ディスク書込み／読出し手段１１２は上位装置１００からデータの書込み命令とデータを受信すると、上位装置１００の指定する論理ディスク１２０の該当論理アドレスにデータの書込みを行う。書込みを行うことができない場合は規定回数リトライ動作を行う。書込みを完了すると上位装置１００に対して書込み正常終了報告を行う。規定回数リトライ動作を行っても書込みを完了することができない場合は該当データをメモリ１１３に書込み、書込み可能報告手段１６０に書込みを行えなかった論理アドレスを伝え、上位装置１００に書込み正常終了報告を行う。そして、書込み可能報告手段１６０より書込みを行おうとした論理アドレス、即ち本実施の形態では論理アドレス１４０ＡがＲｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、二重障害が解除されたことを示す）の状態となったことを知らされると、メモリ１１３内のデータを論理ディスク１２０内の書込みを行おうとした論理アドレス１４０Ａに書込む。
【００５３】
論理ディスク書込み／読出し手段１１２は上位装置１００からデータの読出し命令を受信すると、上位装置１００の指定する論理ディスク１２０の該当論理アドレス、本実施の形態では論理アドレス１４０Ａからデータの読出しを行う。読出しを行うことができない場合は規定回数リトライ動作を行う。読出しを完了すると上位装置１００へ読出したデータを転送する。規定回数リトライ動作を行っても読出しを完了することができない場合は該当データがメモリ１１３に記録されているかどうか判断する。メモリ１１３に該当データが記録されていた場合は読出し、上位装置１００へ該当データを転送する。メモリ１１３に記録されていない場合は、上位装置１００に読出しエラー報告を行う。
【００５４】
メモリ１１３は、論理ディスク書込み／読出し手段１１２から転送されてきたデータを書込み、論理ディスク書込み／読出し手段１１２から読出し命令のあるデータを読出し論理ディスク書込み／読出し手段１１２に送出する。ここでメモリ１１３はＨＤＤ１３０Ｅの媒体欠陥箇所（特定アドレス部（ここでは論理アドレス１４０Ａ）でのメディアエラー）への書込み不可データを一時的に保存する部分であるため、バッファサイズとしては数十ＫＢから数百ＫＢ程度の容量
でよい。また、メモリ１１３は書き込まれたデータが論理ディスク書込み／読出し手段１１２から読出され、論理ディスク１２０に書込まれるまで保持する。
【００５５】
論理ディスク１２０は複数の単体ＨＤＤを備え、ここではＨＤＤ１３０Ａ〜ＨＤＤ１３０Ｅの５台を備えている例を示す。そして論理ディスク１２０は冗長構成となっていて、ＲＡＩＤの構成としてはＲＡＩＤ１／３／５などが使用される。コントローラ１１０からデータの書込み命令を受けると、コントローラ１１０に指定された論理アドレスに冗長性を持ってデータは書込まれる。ここでは論理アドレス１４０Ａに書込まれる例を示す。また論理ディスク１２０はコントローラ１１０からデータの読出し命令を受けると、コントローラ１１０に指定された論理アドレスからデータは読出される。ここでは論理アドレス１４０Ａから読出される例を示す。通常時、論理ディスク１２０は上述のとおり冗長構成となっているため、論理ディスク１２０内のＨＤＤ１３０Ａ〜ＨＤＤ１３０Ｅのうち任意のＨＤＤが１台故障した場合（冗長内故障時）でもコントローラ１１０からのデータを書込んだり、他のディスクのパリティーデータを元にデータを生成することによりデータを読出してコントローラ１１０に転送することができる。論理アドレス１４０Ｂはこの冗長内故障の状態にあるアドレスである。
【００５６】
ここで、図１に示した論理ディスク１２０はＨＤＤ１３０Ａがディスク障害によりＨＤＤ交換後データ修復を行っている途中の状態であり、ＨＤＤ１３０Ｅにおける論理アドレス１４０Ａ部には媒体エラーが発生している。そのため論理アドレス１４０ＡにおいてはＨＤＤ２台が故障している二重障害状態であり、データを読出そうとしても他のディスクのパリティーデータを元にデータを生成することができない冗長破壊（冗長外故障）の状態である。そのため、論理アドレス１４０Ａへアクセスが不可となるため書込みを行うことができない。また、同様に論理アドレス１４０Ａからデータの読出しを行うことはできない。逆に論理アドレス１４０ＢはＨＤＤ１３０Ｅにおいて媒体エラーはなくＨＤＤ１３０Ａのみデータ修復中であるので、書込み、読出しとも行うことができる。
【００５７】
データの修復は上位装置１００とは非同期に論理ディスク１２０を構成する他のＨＤＤ１３０Ｂ〜ＨＤＤ１３０Ｅのパリティーデータを基にＨＤＤ１３０Ａへのデータの修復が実施される。尚、ＲＡＩＤ構成によってはこのパリティーデータを特定の１台のＨＤＤに持つタイプもある。
【００５８】
次に図１に示した上位装置１００とコントローラ１１０と論理ディスク１２０の動作を図１、図２を参照して詳細に説明する。
【００５９】
図２は本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示し、上位装置１００が論理ディスク１２０に書込みを行うときの動作を示したフローチャートである。従来技術の上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示したフローチャートである図１１とステップＡ５からステップＡ１０までの処理が異なる。尚、本発明第１の実施の形態において示す処理動作は論理ディスク書込み／読出し手段１１２と論理ディスク論理ディスク監視手段１１１が該プログラムを記録した記録媒体（磁気ディスク、磁気テープ、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）等の光ディスク）から読出し装置を介して読出すか、もしくはサーバ等から通信媒体を介してダウンロードすることでコントローラ１１０のプロセッサ（図示せず）の記録媒体（ハードディスク等、図示せず）にインストールし、該プロセッサのメモリ（図示せず）に該プログラムを読出し、実行することで実現される。
【００６０】
上位装置１００がコントローラ１１０に論理ディスク１２０への書込みデータを送信すると（ステップＡ１）、コントローラ１１０内の論理ディスク書込み／読出し手段１１２が書込みデータを受信する（ステップＡ２）。次に、論理ディスク書込み／読出し手段１１２は上位装置１００が指定する論理ディスク１２０の論理アドレス１４０Ａへデータの書込みを行う。このとき書込みができない場合は規定回数リトライ動作を行う。初回から規定回数までのリトライ動作の間に論理アドレス１４０Ａへ書込みを行うことができた場合は（ステップＡ３，Ｙ）、論理ディスク書込み／読出し手段１１２は上位装置１００に書込み正常終了を報告し、この時点で上位装置１００からの該当データの書込みは正常終了する（ステップＡ４）。
【００６１】
次に、図１に示すように論理ディスク１２０がＨＤＤ１３０ＡとＨＤＤ１３０Ｅの二重障害状態にある場合を説明する。論理ディスク１２０はＨＤＤ１３０Ｅにおける論理アドレス１４０Ａ部に媒体エラーがあり、かつＨＤＤ１３０Ａはディスク障害によりＨＤＤ交換後、データ修復を行っている途中の状態である。このため論理アドレス１４０Ａは自アドレスにおいてデータ修復、代替処理が行われるまでは一時的に二重障害状態にあるため、書込みを行うことができない。そのため、規定回数リトライ動作を行っても論理アドレス１４０Ａへの書込みを完了することができず、その場合は書込み不可能と判断する（ステップＡ３，Ｎ）。
【００６２】
論理ディスク書込み／読出し手段１１２は論理ディスク１２０の論理アドレス１４０Ａに代わってメモリ１１３にデータを書込み、書込みを行えなかった論理アドレス１４０Ａを書込み可能報告手段１６０に伝える（ステップＡ５）。論理ディスク書込み／読出し手段１１２はメモリ１１３への書込みを終えると、上位装置１００に書込み正常終了を報告する。この時点で上位装置１００からの該当データの書き込みは正常終了する（ステップＡ６）。この後、論理ディスク書込み／読出し手段１１２に対して書込み可能報告手段１６０からステップＡ３において書込みを行おうとして行えなかった論理アドレス１４０Ａについて書込みが可能となったという報告があると（ステップＡ７）、論理ディスク書込み／読出し手段１１２はメモリ１１３内のデータを論理ディスク１２０内の論理アドレス１４０Ａへ書込む（ステップＡ８）。ここで、メモリ１１３は保持している論理アドレス１４０Ａに書き込まれるべきであったデータを少なくとも論理ディスク書込み／読出し手段１１２がメモリ１１３内のデータを読出し論理ディスク１２０の論理アドレス１４０Ａへ書き込むまでは保持している。
【００６３】
論理ディスク書込み／読出し手段１１２がメモリ１１３内のデータを論理ディスク１２０内の論理アドレス１４０Ａへ書込むときに書込みを完了できなかった場合（ステップＡ９，Ｎ）、論理ディスク書込み／読出し手段１１２は上位装置１００にエラー報告をする（ステップＡ１０）。書込みを完了できた場合は（ステップＡ９，Ｙ）、はそのまま処理を終了する。
【００６４】
ここで図３の説明をする。図３は、上位装置１００とは非同期に行っていた論理ディスク１２０におけるＨＤＤ１３０Ａにおいて論理アドレス１４０Ａ部までデータの修復及び代替処理が完了し、論理アドレス１４０Ａ部のＨＤＤ１３０ＡとＨＤＤ１３０Ｅにおける一時的な二重障害が解除されたことを示した図である。前述のように論理アドレス１４０Ａは修復することはできないので実際の修復処理はスキップされており、該当データの書込みがされているわけではない。しかし、媒体エラー発生箇所以外の場所へデータ領域を移動させる代替処理が完了している。即ち、論理アドレス１４０Ａの修復が完了しＲｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、後述）の状態である。そのため一時的な二重障害が解除されたことになる。少なくとも本実施の形態においては論理アドレス１４０Ａのデータの書込みに関してはデータの書込みが可能になったため、二重障害は確実に解除されたことになる。
【００６５】
図４は上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示し、上位装置１００が論理ディスク１２０から読出しを行うときの動作を示したフローチャートである。従来技術の上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示したフローチャートである図１２とステップＢ５からステップＢ７までの処理が異なる。
【００６６】
上位装置１００がコントローラ１１０に論理ディスク１２０からデータを読出す、読出し命令を送信すると（ステップＢ１）、コントローラ１１０内の論理ディスク書込み／読出し手段１１２が読出し命令を受信する（ステップＢ２）。次に、論理ディスク書込み／読出し手段１１２は上位装置１００が指定する論理ディスク１２０の論理アドレス１４０Ａからのデータ読出しを行う。このとき読出しができない場合は規定回数リトライ動作を行う。初回から規定回数までのリトライ動作の間に論理アドレス１４０Ａから読出しを完了することができた場合は（ステップＢ３，Ｙ）、論理ディスク書込み／読出し手段１１２は上位装置１００に読出したデータを転送する（ステップＢ４）。
【００６７】
初回から規定回数までのリトライ動作の間に論理アドレス１４０Ａから読出しを完了することができなかった場合は（ステップＢ３，Ｎ）、論理ディスク書込み／読出し手段１１２は該当データがメモリ１１３に記録されているかどうか判断し（ステップＢ５）、メモリ１１３に記録されている場合は（ステップＢ５，Ｙ）、論理ディスク書込み／読出し手段１１２はメモリ１１３からデータを読出し（ステップＢ６）、論理ディスク書込み／読出し手段１１２は読出したデータを上位装置１００へ転送する（ステップＢ７）。該当データがメモリ１１３に記録されていなかった場合は（ステップＢ５，Ｎ）、論理ディスク書込み／読出し手段１１２は上位装置１００に読出しエラー報告をする（ステップＢ８）。
【００６８】
次に、管理テーブル１５１の説明をする。図５は管理テーブル更新手段１５０の内部にある管理テーブル１５１の全体図を示した図である。管理テーブル１５１は論理ディスク１２０の各論理アドレスの状態を示し、論理ディスク監視手段１１１が論理ディスク１２０から得た情報により順次書き換えられ、また書込み可能報告手段１６０が論理ディスク書込み／読出し手段１１２に論理ディスク１２０の状態を報告するときは、管理テーブル１５１を参照する。
【００６９】
テーブルの横の項目は論理ディスク１２０の論理アドレスを示す。ここでは複数の論理アドレスがある中、１４０Ａ（論理アドレス１４０Ａ）、１４０Ｂ（論理アドレス１４０Ｂ）を代表して示している。論理アドレス１４０Ａは図１に示したとおりＨＤＤ１３０Ａがデータ修復中であり、ＨＤＤ１３０Ｅの論理アドレス１４０Ａに媒体エラーがあるため二重障害の状態にある（図５では図示せず）。
【００７０】
テーブルの縦の項目はそれぞれの論理ディスクの状態を示す項目であり、１．Ｒｅｐａｉｒはパリティーデータを元に修復（Ｒｅｐａｉｒ）が完了したかどうかを示し、完了した場合は、Ｒｅｐａｉｒ　ＯＫと記載され、完了していない場合はＲｅｐａｉｒ　ＮＧ、修復（Ｒｅｐａｉｒ）を行わず飛ばした場合は、Ｒｅｐａｉｒ　ｓｋｉｐと記載される。
【００７１】
２．Ｒｅａｓｓｉｇｎの有無はディスクにおいて媒体エラーのため使用不可能である場合に、代替領域を物理的にディスクの別の場所に用意したか、どうかを示す。Ｒｅａｓｓｉｇｎ　ＯＫの場合は代替処理が終了し、Ｒｅａｓｓｉｇｎ　ＮＧの場合は代替処理が終了していないことを示す。ディスクにおいて媒体エラーが発生しておらず、そもそも代替処理の必要がない場合はこの項目は空欄となる。
【００７２】
３．Ｒｅａｄ／Ｗｒｉｔｅは読出し、書込みが可能かどうかを示す。読出し書き込みが可能な場合Ｒｅａｄ　ＯＫ，Ｗｒｉｔｅ　ＯＫと記載され、読出し書き込みが不可能な場合Ｒｅａｄ　ＮＧ，Ｗｒｉｔｅ　ＮＧと記載される。次に、図５における各論理アドレスにおける具体的な例を示す。
【００７３】
図６は図５における論理アドレス１４０Ａに関する情報の詳細を示した図である。まず１番目の１．Ｒｅｐａｉｒの項目にＲｅｐａｉｒ　ｓｋｉｐと記載されている。これは論理アドレス１４０Ａは二重障害状態にあったためパリティーデータを元に修復（Ｒｅｐａｉｒ）を行うことができず論理アドレス１４０Ａは修復処理を飛ばした（ｓｋｉｐ）したことを示す。
【００７４】
次に２番目として２．Ｒｅａｓｓｉｇｎの有無の項目にＲｅａｓｓｉｇｎ　ＯＫと記載されている。これはＨＤＤ１３０Ｅの論理アドレス１４０Ａの領域は媒体エラーのため使用不可能であるため、代替領域を物理的にディスクの別の場所に用意したことを示す。この代替領域も論理的には論理アドレス１４０Ａとして扱われるため、論理アドレス１４０Ａにおいても冗長性を持ってデータを書き込むことが可能となる（本実施の形態の場合５台のＨＤＤ全てにデータを書き込むことが可能となる。）。そのため、Ｒｅａｓｓｉｇｎ　ＯＫにより、論理アドレス１４０Ａにおけるデータの二重障害は解除されたことを示す。
【００７５】
次に３番目として３．Ｒｅａｄ／Ｗｒｉｔｅ　の項目にＲＥＡＤ　ＮＧ　／　ＷＲＩＴＥ　ＯＫと記載されている。これは上位装置１００からのアクセスに対して論理アドレス１４０Ａの領域は、Ｒｅａｓｓｉｇｎの処理により書込みは冗長性をもって行うことができるが、それまでの二重障害のためデータを回復させることができなかったためにデータの保証を行うことができず、読出しは不可能であることを示す。
【００７６】
図７は図５における論理アドレス１４０Ｂに関する情報の詳細を示した図である。まず１番目として１．Ｒｅｐａｉｒの項目にＲｅｐａｉｒ　ＯＫと記載されている。これは論理アドレス１４０Ｂにおいてパリティーデータを元に修復（Ｒｅｐａｉｒ）が正常に終了したことを示す。
【００７７】
次に２番目として２．Ｒｅａｓｓｉｇｎの有無の項目にＲｅａｓｓｉｇｎの記載はない。論理アドレス１４０Ｂは代替領域が必要でないためである。
【００７８】
次に３番目として３．Ｒｅａｄ／Ｗｒｉｔｅ　の項目にＲＥＡＤ　ＯＫ　／　ＷＲＩＴＥ　ＯＫと記載されている。これは上位装置１００からのアクセスに対して論理アドレス１４０Ｂの領域は、書込みも読出しも可能であることを示す。
【００７９】
次に、論理ディスク監視手段１１１の動作を説明する。論理ディスク監視手段１１１は従来の技術と比較して書込み可能報告手段１６０を有する点が異なるので、書込み可能報告手段１６０の動作を説明する。図８は書込み可能報告手段１６０の動作を示したフローチャートである。書込み可能報告手段１６０は論理ディスク書込み／読出し手段１１２から論理ディスク１２０へ書込みを行えなかった論理アドレス１４０Ａを知らされると（ステップＣ１）、管理テーブル１５１を参照し、論理アドレス１４０ＡにおいてＲｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、書込み可能）となっているか調べることで該当アドレスが書き込み可能であるか調べ、Ｒｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、書込み可能）となっている場合は（ステップＣ２、Ｙ）、書込み可能報告手段１６０が論理ディスク書込み／読出し手段１１２に書込み可能報告を行う（ステップＣ３）。Ｒｅａｓｓｉｇｎ　ＯＫ（代替処理ＯＫ、書込み可能）となっていない場合は（ステップＣ２、Ｎ）、再びステップＣ２の動作を行う。
【００８０】
ここで、このステップＣ３の処理が図２におけるステップＡ７と対応する。また、従来の技術における従来の論理ディスク監視手段１１１の動作を示したフローチャートである図１３において説明したとおり、管理テーブル１５１は一定間隔で更新されている。そのため、Ｒｅａｓｓｉｇｎの項目が更新されると、書込み可能報告手段１６０によって該当アドレスが書込み可能であることが認識される。
【００８１】
このように本発明の第１の実施の形態では、二重障害の発生時にも上位装置としてはデータの書込み、読出しを正常終了させることができ、Ｉ／Ｏエラーを発生しない。その理由は、該当する論理アドレスへのデータの書き込みが不可能な場合は、メモリへ書込み（即ち退避させ）、上位装置へ書込み正常終了報告を行うためである。また、該当する論理アドレスからのデータの読出しが不可能な場合は、メモリから退避中のデータを読出す構成としたためである。
【００８２】
また、本発明の第１の実施の形態では、二重障害発生時においてもデータ書込み命令のあるデータの書込みを行うことができる。その理由は、該当する論理アドレスへのデータ書込みが不可能な場合はメモリへ書込み、論理アドレスの修復が完了後、メモリに退避中のデータをＨＤＤに書込むためである。
【００８３】
また、障害の発生した論理アドレスの修復完了後すぐにＨＤＤにデータの書込みを行うこともできる。その理由は、メモリへデータの書込みを行った後上位装置とは非同期に定期的に論理ディスク内の該当する論理アドレスが書込み可能であるかどうか調べるためである。
【００８４】
次に、本発明の第２の実施の形態について図を参照して詳細に説明する。本発明の第１の実施の形態ではＨＤＤ１３０Ａの修復動作中のためＨＤＤ二重障害が発生している場合のデータアクセスに関して救済する方法を説明したが、本発明の第２の実施の形態ではＨＤＤ１３０Ａが縮退動作中のためＨＤＤ二重障害が発生している場合のデータアクセスに関して救済する方法を説明する。
【００８５】
図９は本発明の第２の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図である。図１の本発明の第１の実施の形態における構成を示すブロック図と比較してメモリ１１３が不揮発性メモリ１１３１である、もしくは括弧書きで示したメモリ１１３とバッテリ１１３２である点が異なる。また、ＨＤＤ１３０Ａが修復動作中であったものが、縮退動作中である点が異なる。
【００８６】
次に図９に示した上位装置１００とコントローラ１１０と論理ディスク１２０の動作を図９、図２を参照して詳細に説明する。本発明の第２の実施の形態の動作は第１の実施の形態の動作とほぼ同一であるため、第２の実施の形態の動作が第１の実施の形態の動作と異なる点のみを説明する。
【００８７】
本発明の第１の実施の形態と同様図２において、ＨＤＤ１３０Ａが縮退動作中に上位装置１００がコントローラ１１０に論理ディスク１２０への書込みデータを送信すると（ステップＡ１）、その後の処理は本発明の第１の実施の形態において説明した動作と同じ動作を行う。しかしながら縮退中のＨＤＤ１３０Ａがすぐに保守作業により修復されるとは限らないため、ディスクアレイ装置の電源断等によりメモリ内のデータが損失しないよう不揮発性メモリ１１３１を用いる、もしくはバッテリ１１３２によってメモリバックアップされたメモリ１１３を用いる。
【００８８】
本発明の第２の実施の形態では、ＨＤＤの縮退動作により二重障害が発生している場合においても上位装置としてはデータの書込み、読出しを正常終了させることが可能となり、縮退動作中も該当アドレスのデータを読出すことが可能となり、障害の発生アドレスの修復が完了した時点でＨＤＤに書込みを完了することができる。その理由は、メモリ内のデータが損失しないよう不揮発性メモリを用いる、もしくはバッテリによってメモリバックアップされたメモリを用いているためである。
【００８９】
【発明の効果】
本発明は以下の効果により、ＨＤＤの一時的な二重障害発生時に於いても上位装置からのデータアクセスが可能となり、論理ディスクの冗長内故障時の信頼性を向上させることができる。
【００９０】
本発明の第１の効果は、二重障害の発生時にも上位装置としてはデータの書込み、読出しを正常終了させることができ、Ｉ／Ｏエラーを発生しないことである。その理由は、該当する論理アドレスへのデータの書き込みが不可能な場合は、メモリへ書込み（即ち退避させ）、上位装置へ書込み正常終了報告を行うためである。また、該当する論理アドレスからのデータの読出しが不可能な場合は、メモリから退避中のデータを読出す構成としたためである。
【００９１】
第２の効果は、二重障害発生時においてもデータ書込み命令のあるデータの書込みを行うことができることである。その理由は、該当する論理アドレスへのデータ書込みが不可能な場合はメモリへ書込む。そして、論理アドレスの修復が完了後、メモリに退避中のデータをＨＤＤに書込むためである。
【００９２】
第３の効果は、障害の発生した論理アドレスの修復完了後すぐにＨＤＤにデータの書込みを行うことができることである。その理由は、メモリへデータの書込みを行った後上位装置とは非同期に定期的に論理ディスク内の該当する論理アドレスが書込み可能であるかどうか調べ、書込みであるとすぐにメモリに書き込まれているデータをＨＤＤに書込むためである。
【００９３】
第４の効果は、ＨＤＤの縮退動作により二重障害が発生している場合においても上位装置としてはデータの書込み、読出しを正常終了させることが可能となり、障害の発生アドレスの修復中も該当アドレスのデータを読出すことが可能となり、障害の発生アドレスの修復が完了した時点でＨＤＤに書込みを完了することができることである。その理由は、メモリ内のデータが損失しないよう不揮発性メモリを用いる、もしくはバッテリによってメモリバックアップされたメモリを用いているためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図
【図２】本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示し、上位装置１００が論理ディスク１２０に書込みを行うときの動作を示したフローチャート
【図３】本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図であり、上位装置１００とは非同期に行っていた論理ディスク１２０におけるＨＤＤ１３０Ａにおいて論理アドレス１４０Ａ部までデータの修復が完了し、論理アドレス１４０Ａ部のＨＤＤ１３０ＡとＨＤＤ１３０Ｅにおける二重障害が解除されたことを示した図
【図４】本発明の第１の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の動作を示し、上位装置１００が論理ディスク１２０から読出しを行うときの動作を示したフローチャート
【図５】管理テーブル更新手段１５０の全体図を示した図
【図６】論理アドレス１４０Ａに関する情報の詳細を示した図
【図７】論理アドレス１４０Ｂに関する情報の詳細を示した図
【図８】論理ディスク監視手段１１１の動作を示したフローチャート
【図９】本発明の第２の実施の形態における上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図であり、ＨＤＤ１３０Ａが縮退動作中であることを示した図
【図１０】従来の上位装置１００とコントローラ１１０と論理ディスク１２０の構成を示すブロック図
【図１１】従来の上位装置１００とコントローラ１１０と論理ディスク１２０とを備える従来のディスクアレイ装置の動作を示し、上位装置１００が論理ディスク１２０に書込みを行うときの動作を示したフローチャート
【図１２】従来の上位装置１００とコントローラ１１０と論理ディスク１２０とを備える従来のディスクアレイ装置の動作を示し、上位装置１００が論理ディスク１２０から読出しを行うときの動作を示したフローチャート
【図１３】従来の論理ディスク監視手段１１１の動作を示したフローチャート
【符号の説明】
１００　　上位装置
１１０　　コントローラ
１１１　　論理ディスク監視手段
１１２　　論理ディスク書込み／読出し手段
１１３　　メモリ
１１４　　タイマ
１２０　　論理ディスク
１３０Ａ　　ＨＤＤ
１３０Ｂ　　ＨＤＤ
１３０Ｃ　　ＨＤＤ
１３０Ｄ　　ＨＤＤ
１３０Ｅ　　ＨＤＤ
１４０Ａ　　論理アドレス
１４０Ｂ　　論理アドレス
１５０　　管理テーブル更新手段
１５１　　管理テーブル
１６０　　書込み可能報告手段
１１０１　　コントローラ
１１３１　　不揮発性メモリ
１１３２　　バッテリ
【図１】
2004126878.tif 000003
【図２】
2004126878.tif 000004
【図３】
2004126878.tif 000005
【図４】
2004126878.tif 000006
【図５】
2004126878.tif 000007
【図６】
2004126878.tif 000008
【図７】
2004126878.tif 000009
【図８】
2004126878.tif 000010
【図９】
2004126878.tif 000011
【図１０】
2004126878.tif 000012
【図１１】
2004126878.tif 000013
【図１２】
2004126878.tif 000014
【図１３】
2004126878.tif 000015