(57)【要約】    【課題】故障ディスク装置を切り離すことなく可能な限り冗長構成を保持した状態での保守を可能として信頼性を向上する。    【解決手段】  エラー統計値が所定の閾値を越えた場合に被疑ディスク装置と判定した復元モード設定中の上位装置１６からのアクセス空き時間に、被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置３４へ順次コピーして復元する処理を開始する。アドレス範囲が管理テーブル４８のライト失敗アドレス範囲に該当しない時は被疑ディスク装置のデータを予備ディスク装置３４にコピーして復元する。アドレス範囲がライト失敗アドレス範囲に該当する時は、正常ディスク装置のデータを予備ディスク装置３４にコピーして復元する。復元完了で前記被疑ディスク装置３２を切り離して予備ディスク装置３４に切替える。    【選択図】      図１
2006139339.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を実行させることを特徴とするプログラム。
【請求項２】
請求項１記載のプログラムに於いて、
前記記憶装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置及び予備ディスク装置にデータをライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をライト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイ
スアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。
【請求項３】
請求項１記載のプログラムに於いて、
前記記憶装置は、同一アドレスに複数のストライプデータとそのパリティを格納し且つパリティデータの格納ディスク位置をアドレス毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマンドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づ
き前記被疑ディスク装置の旧データを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
前記新データを前記被疑ディスク装置及び予備ディスク装置にライトすると共に新パリティを対応する正常ディスク装置にライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をライト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、正常ディスク装置からリードしたデータ及びパリティに基づき前記被疑ディスク装置のデータを算出して前記予備ディスク装置にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。
【請求項４】
コンピュータに、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を実行させることを特徴とするプログラム。
【請求項５】
請求項４記載のプログラムに於いて、
前記記憶装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答し、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備デ
ィスク装置へリビルドして復元する処理を開始し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復
元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。
【請求項６】
請求項４記載のプログラムに於いて、
前記記憶装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づ
き前記被疑ディスク装置の旧データ又は旧パリティを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
前記新データとパリティを正常ディスクと予備ディスク装置にライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、及び被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマンドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記正常ディスク装置のアドレス範囲を順次指定しながらリードしたデータ及びパリティに基づき前記被疑デ
ィスク装置のリードデータを算出して予備ディスク装置へリビルドする復元処理を開始
し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復
元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。
【請求項７】
上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶制御方法に於いて、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする記憶制御方法。
【請求項８】
上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶制御方法に於いて、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする記憶制御方法。
【請求項９】
上位装置からのコマンドに基づいて冗長構成をとる複数のディスク装置にデータを読み書きする記憶装置に於いて、
前記複数のディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理部と、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理部と、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする記憶装置。
【請求項１０】
上位装置からのコマンドに基づいて冗長構成をとる複数のディスク装置にデータを読み書きする記憶装置に於いて、
前記複数のディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理部と、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理部と、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からのコマンドに基づいて冗長構成を取る複数のディスク装置にデータを読み書きするプログラム、記憶制御方法及び記憶装置に関し、特に、エラー統計加算値が閾値に達した被疑ディスク装置のデータをホットスタンバイしている予備装置に復元して切り離すプログラム、記憶制御方法及び記憶装置に関する。
【背景技術】
【０００２】
従来、ホストからの入出力要求を処理するディスクアレイサブシステムにあっては、ＲＡＩＤ１やＲＡＩＤ５として知られた冗長構成を採用し、冗長構成をとる一部のディスク装置が故障しても残りの正常なディスク装置によりホストからの入出力要求に対応できるようにしている。
【０００３】
ところでディスクアレイを構成しているディスク装置の故障は、モーター故障等による突然の故障と、部分故障等の要因が少しずつ積み重なり故障に至る場合がある。このうち後者の部分故障等の要因が少しずつ積み重なり故障に至るディスク故障については、故障要因の積み重なりによるエラー統計加算値を求め、エラー統計加算値が所定の閾値に達した時に、ホットスタンバイとして知られた待機中の予備ディスク装置にデータの復元処理を実行し、復元が完了した時点で故障ディスク装置を切り離して予備ディスク装置に接続し、故障ディスク装置の交換修理を行っている。
【特許文献１】特開平０９−２６９８７１
【特許文献２】特開平１０−４００２２
【特許文献３】特開２０００−０５６９３５
【特許文献４】特開平０３−２４０１２３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来のディスクアレイサブシステムにおける故障ディスク装置から予備ディスク装置へのデータ復元処理あっては、データ復元中に再びエラーが検出された場合、エラー統計加算値が閾値を越えた後のエラーであることから、予備ディスク装置へのデータ復元が未完了状態でも故障ディスク装置の切り離し処理が行われ、冗長性が失われてしまう問題があった。
【０００５】
本発明は、データ復元中に故障状態が検出されても故障ディスク装置を切り離すことなく可能な限り冗長構成を保持した状態での保守を可能として信頼性を向上するプログラム、記憶制御方法及び記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（プログラム）
本発明は、上位装置１６からのコマンドに基づいて冗長構成をとる複数のディスク装置にデータを読み書きする記憶装置（ディスクアレイ制御装置１２）のコンピュータで実行されるプログラムを提供する。本発明にあっては、予備ディスク装置３４へのデータ復元を同じデバイスアダプタの配下にある被疑ディスク装置からのコピー処理を主体に行うことを特徴とする。
【０００７】
本発明のプログラムは、コンピュータに、
複数のディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答するリード処理ステップと、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置、被疑ディスク装置を及び予備ディスク装置にデータをライトし、被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
復元モード設定中の上位装置からのアクセス空き時間に、被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、アドレス範囲が管理テーブルのライト失敗アドレス範囲に該当した時または被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある正常ディスク装置のデータを予備ディスク装置にリビルドして復元し、復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする。
【０００８】
ここで本発明の記憶装置は、例えば同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、この場合、本発明のプログラムは、コンピュータに、
エラー判定ステップは、プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
リード処理ステップは、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答し、
ライト処理ステップは、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置、被疑ディスク装置及び予備ディスク装置にデータをライトし、
被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をライト管理テーブルに登録し、
復元処理ステップは、
復元モード設定中の上位装置からのアクセス空き時間に、擬似ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、
アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある正常ディスク装置のデータを予備ディスク装置にリビルドして復元し、
復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする。
【０００９】
また本発明の記憶装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、この場合、本発明のプログラムは、コンピュータに、
エラー判定ステップは、ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
リード処理ステップは、
復元モードの設定中に上位装置から被疑ディスク装置に対するリードコマンドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき被疑ディスク装置のリードデータを算出して応答し、
正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答し、
ライト処理ステップは、
復元モード設定中に上位装置から被疑ディスク装置に対するライトコマンドを受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づき被疑ディスク装置の旧データを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
新データを前記被疑ディスク装置及び予備ディスク装置にライトすると共に新パリティを対応する正常ディスク装置にライトし、
被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をライト管理テーブルに登録し、
復元処理ステップは、
復元モード設定中の上位装置からのアクセス空き時間に、擬似ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、
アドレス範囲が管理テーブルのライト失敗アドレス範囲に該当した時または被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、正常ディスク装置からリードしたデータ及びパリティに基づき被疑ディスク装置のデータを算出して予備ディスク装置にリビルドして復元し、
復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする。
【００１０】
本発明の別の形態にあっては、予備ディスク装置へのデータ復元を別のデバイスアダプタの配下にある正常ディスク装置からのリビルド処理を主体に行うことを特徴とする。
本願は、第２発明して、上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶装置のコンピュータで実行されるプログラムを提供する。
【００１１】
本発明による別の形態のプログラムにあっては、コンピュータに、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に管理テーブルから有効アドレス範囲にあることを確認して被疑ディスク装置のデータをリード応答するリード処理ステップと、
復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、リビルド復元処理が失敗した場合に管理テーブルの有効アドレス範囲にあることを確認して被疑ディスク装置のデータを予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を実行させることを特徴とする。
【００１２】
また記憶装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
エラー判定ステップは、プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
ライト処理ステップは、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置と予備ディスク装置にデータをライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
リード処理ステップは、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク以の正常ディスク装置からデータをリードして応答し、
正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答し、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
正常ディスク装置のリードが失敗した場合に管理テーブルから有効アドレス範囲にあることを確認して被疑ディスク装置のデータをリード応答し、
復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、
リビルド復元処理が失敗した場合に管理テーブルの有効アドレス範囲にあることを確認して被疑ディスク装置のデータを予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする。
【００１３】
更に、記憶装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
ライト処理ステップは、
復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づき被疑ディスク装置の旧データ又は旧パリティを復元し、
復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、新データとパリティを正常ディスクと予備ディスク装置にライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、及び被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
リード処理ステップは、
復元モードの設定中に上位装置から被疑ディスク装置に対するリードコマンドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき被疑ディスク装置のリードデータを算出して応答し、
正常ディスク装置のリードが失敗した場合に管理テーブルから有効アドレス範囲にあることを確認して被疑ディスク装置のデータをリード応答し、
復元処理ステップは、
復元モード設定中の上位装置からのアクセス空き時間に、正常ディスク装置のアドレス範囲を順次指定しながらリードしたデータ及びパリティに基づき被疑ディスク装置のリードデータを算出して予備ディスク装置へリビルドする復元処理を開始し、
リビルド復元処理が失敗した場合に管理テーブルの有効アドレス範囲にあることを確認して被疑ディスク装置のデータを予備ディスク装置にコピーして復元し、
復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする。
【００１４】
（方法）
本発明は記憶制御方法を提供する。本発明は、上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶制御方法に於いて、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答するリード処理ステップと、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置、被疑ディスク装置を及び予備ディスク装置にデータをライトし、被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
復元モード設定中の上位装置からのアクセス空き時間に、被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、アドレス範囲が管理テーブルのライト失敗アドレス範囲に該当した時または被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある正常ディスク装置のデータを予備ディスク装置にリビルドして復元し、復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする。
【００１５】
本発明は記憶制御方法の別の形態を提供する。本発明は、上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶制御方法に於いて、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に管理テーブルから有効アドレス範囲にあることを確認して被疑ディスク装置のデータをリード応答するリード処理ステップと、
復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、リビルド復元処理が失敗した場合に管理テーブルの有効アドレス範囲にあることを確認して被疑ディスク装置のデータを予備ディスク装置にコピーして復元し、復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする。
【００１６】
（装置）
本発明は記憶装置を提供する。本発明は、上位装置からのコマンドに基づいて冗長構成を取る複数のディスク装置に対しデータを読み書きする記憶装置に於いて、
前記ディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に被疑ディスク装置からデータをリードして応答するリード処理部と、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置、被疑ディスク装置を及び予備ディスク装置にデータをライトし、被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理部と、
復元モード設定中の上位装置からのアクセス空き時間に、被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、アドレス範囲が管理テーブルのライト失敗アドレス範囲に該当した時または被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする。
【００１７】
本発明は、複数の記憶部と、記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、複数の記憶部の一方にエラーが発生した場合に、リードコマンドを受信したときには、複数の記憶部の他方よりデータをリードし、他方の記憶部からのデータリードが失敗した場合にはた一方の記憶部からデータをリードするリード処理部を備えたことを特徴とする。
【００１８】
本発明は、複数の記憶部と、記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、
複数の記憶部の一方にエラーが発生した場合、予備記憶部にデータを復元するための復元モードを設定するエラー判定部と、
復元モード設定中にライトコマンドを受信したときに、一方の記憶部へのデータライト失敗が判定された場合には、ライト失敗アドレス範囲を管理テーブルに登録するライト処理部と、
一方の記憶部のアドレス範囲を指定しながらデータを予備記憶部へ順次コピーして復元する処理を行ない、アドレス範囲が管理テーブルのライト失敗アドレス範囲に該当したとき、または一方の記憶部から予備記憶部への復元処理が失敗したときには、複数の記憶部の他方に記憶されたデータを予備記憶部に復元する復元処理部と、
を備えたことを特徴とする。
【００１９】
本発明は記憶装置の別の形態を提供する。本発明は、上位装置からのコマンドに基づいて冗長構成をとる複数のディスク装置にデータを読み書きする記憶装置に於いて、
複数のディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
復元モード設定中に上位装置からライトコマンドを受信した場合、正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理部と、
復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合に管理テーブルから有効アドレス範囲にあることを確認して被疑ディスク装置のデータをリード応答するリード処理部と、
復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、リビルド復元処理が失敗した場合に管理テーブルの有効アドレス範囲にあることを確認して被疑ディスク装置のデータを予備ディスク装置にコピーして復元し、復元完了で被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする。
【００２０】
本発明は、複数の記憶部と、記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、
複数の記憶部のいずれかにエラーが発生した場合、予備記憶部にデータを復元するための復元モードを設定するエラー判定部と、
復元モード設定中にライトコマンドを受信したときに、ライトアドレス範囲に対応して、ライト処理の正常終了とエラーを発生した記憶部のデータの無効またはライト処理の異常終了とエラーを発生した記憶部のデータの有効を管理テーブルに登録するライト処理部と、
復元モード設定中に、正常な記憶部のアドレス範囲を指定しながらデータを予備記憶部に復元する処理を実行し、復元処理が失敗した際に、失敗したアドレス範囲のデータが有効であることを管理テーブルから確認してエラーを発生した記憶部のデータを予備記憶部に復元する復元処理部と、
を備えたことを特徴とする。
【００２１】
なお、本発明の方法及び装置におけるＲＡＩＤ１及びＲＡＩＤ５についての具体例は本発明のプログラムと基本的に同じになる。
【発明の効果】
【００２２】
本発明によれば、エラー統計加算値が所定の閾値を越えた被疑ディスク装置から予備ディスク装置へのデータ復元処理中に上位装置からの入出力要求に対しリード失敗やライト失敗が発生しても被疑ディスク装置を含む冗長処理で対応することで、被疑ディスク装置の切り離し条件が発生しにくい状況を作り出し、データ復元中であっても冗長性を可能な限り保持し、冗長性が喪失される時間及び領域を最小限に抑え、データ喪失の危険性を大幅に低減することができる。
【００２３】
本発明の被疑ディスクを主体とした復元処理にあっては、被疑ディスク装置をコピー元として同じディスクアダプタの配下にある予備ディスク装置にデータを復元することを基本とする。この場合、ホスト入出力要求の内、リード要求については、正常ディスク装置のリード処理が失敗した場合を除いて被疑ディスク装置へのリード要求は行わず、データ復元中の故障発生の可能性を低減する。
【００２４】
またライト要求については、被疑ディスク装置を含む冗長構成のディスク装置と予備ディスク装置に２重ライトするが、被疑ディスク装置のライト処理でエラーが発生しても、被疑ディスク装置の切り離しやホストへのエラー応答は行わず、被疑ディスク装置のライト失敗箇所を管理テーブルに登録しておく。
【００２５】
データ復元処理は、被疑ディスク装置をコピー元として同じデバイスアダプタの配下にある予備ディスク装置にデータを復元しているが、被疑ディスク装置のライト失敗箇所を管理テーブルから認識した場合、ライト失敗箇所については別のデバイスアダプタの配下にある正常ディスク装置から予備ディスク装置にデータをリビルド処理で復元する。また被疑ディスク装置から予備ディスク装置へデータ復元処理が失敗した場合も正常ディスク装置から予備ディスク装置へリビルド処理でデータを復元する。これによってデータ復元処理を冗長処理とすることができる。
【００２６】
本発明の別の形態にあちては、正常ディスク装置を主体としたデータ復元処理は、正常ディスク装置をコピー元としてリビルド処理により予備ディスク装置にデータを復元することを基本とする。この場合、ホスト入出力要求の内、リード要求については、正常ディスク装置のリード処理が失敗した場合を除いて被疑ディスク装置へのリード要求は行わず、データ復元中の故障発生の可能性を低減する。
【００２７】
またライト要求については、被疑ディスク装置を除く冗長構成の正常ディスク装置と予備ディスク装置にライトし、ライトアドレス範囲に対応してライト処理の正常終了か異常終了かと、被疑ディスク装置のデータが有効（ライト異常終了時）か無効（ライト正常終了時）かを管理テーブルに登録しておく。
【００２８】
データ復元処理は、別のデバイスアダプタの配下にある正常ディスク装置をコピー元としリビルド処理により予備ディスク装置にデータを復元しているが、リビルド処理に失敗した場合、管理テーブルから有効アドレス範囲を確認して被疑ディスク装置から予備ディスク装置へコピー処理によりデータ復元する。これによってデータ復元処理についても冗長処理とすることができる。
【発明を実施するための最良の形態】
【００２９】
図２は、本発明が適用される冗長構成をとる記憶装置であるディスクアレイサブシステムのブロック図である。図２において、ディスクアレイサブシステム１０は、ディスクアレイ制御装置１２とデバイスエンクロージャ１４−１，１４−２で構成される。ディスクアレイ制御装置１２に対しては上位装置としてホスト１６−１，１６−２が接続される。
【００３０】
ディスクアレイ制御装置１２には、チャネルアダプタ１８−１〜１８−４、ルーター２０−１，２０−２、中央処理モジュール２２−１〜２２−４、ルーター２０−３，２０−４及びデバイスアダプタ２４−１〜２４−４が設けられる。
【００３１】
デバイスエンクロージャ１４−１，１４−２には論理物理デバイス（ＰＬＵ）として、この実施形態にあってはハードディスクドライブＨＤＤを用いたディスク装置２６−１１〜２６−２ｎを設けている。なお、ディスクアレイサブシステム１０におけるチャネルアダプタ、ルータ及びデバイスアダプタの台数は、必要に応じて更に増加させることができる。
【００３２】
図３は、本発明によるディスクアレイ制御装置の第１実施形態のブロック図であり、この第１実施形態にあってはＲＡＩＤ１の冗長構成を対象とし、復元モードにおける予備ディスクへのデータの復元を、エラー統計加算値が閾値を超えた被疑ディスク装置を主体に行うようにしたことを特徴とする。
【００３３】
図３において、ディスクアレイ制御装置１２は図２の中央処理モジュール２２−１の系統について取り出して示しており、中央処理モジュール２２−１はプロセッサ３６とキャッシュ処理部３８を備えている。プロセッサ３６にはホスト１６−１が、図２に示したチャネルアダプタ１８−１〜１８−４のいずれか及びルーター２０−１〜２０−２のいずれかを介して接続される。
【００３４】
またプロセッサ３６は、ルーター２０−３，２０−４のいずれかを介してデバイスアダプタ２４−１，２４−２に接続され、デバイスアダプタ２４−１，２４−２に対してはディスクアレイ２８が接続され、ディスクアレイ２８はＲＡＩＤ１に対応してプライマリディスク装置３０とセカンダリディスク装置３２が設けられ、更にホットスタンバイとしての予備ディスク装置３４が設けられている。
【００３５】
ここでデバイスアダプタ２４−１，２４−２はその配下に予備ディスク装置を少なくとも1台接続しており、図３にあっては、セカンダリディスク装置３２のデータを予備ディスク装置に復元する場合を例につることから、デバイスアダプタ２４−２の配下の予備ディスク装置３４を示している。
【００３６】
ＲＡＩＤ１の冗長構成にあっては、プライマリディスク装置３０とセカンダリディスク装置３２に同じデータを格納したミラー構成としており、ホスト１６−１からの入出力要求に基づくリード要求に対しては、例えば予め定めたプライマリディスク３０からリードして応答し、一方、ライト要求についてはプライマリディスク３０とセカンダリディスク３２の両方に書き込む。
【００３７】
ディスクアレイ制御装置１２に設けているプロセッサ３６には、そのプログラム制御により実現される機能として、エラー判定部４０、リード処理部４２、ライト処理部４４、データ復元処理部４６、更に管理テーブル４８が設けられている。
【００３８】
エラー判定部４０はプライマリディスク装置３０及びセカンダリディスク装置３２のそれぞれについて、エラー統計加算値が所定の閾値を超えた場合に被疑ディスクと判定して、被疑ディスク装置から同じデバイスアダプタ２４−２の配下にある予備ディスク装置３４にデータを復元するための復元モードを設定する。この例ではセカンダリディスク３２のエラー統計加算値が閾値を超え、セカンダリディスク装置３２が被疑ディスク装置と判定された場合を例にとって以下説明する。
【００３９】
ここでディスク装置のエラー統計加算値は、ディスクアレイ制御装置１２の運用中におけるディスク装置の各種の故障、例えばモータストップ、媒体欠陥エラー、モードエラーなどのエラー種別について、予め加算値を設定しておき、エラー発生ごとに対応する加算値をエラー統計加算値として求め、これが閾値を超えたときに復元モードを設定することになる。
【００４０】
リード処理部４２は、復元モードの設定中にホスト１６−１からリードコマンドを受信した際に、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、正常ディスク装置のリードが失敗した場合には被疑ディスク装置からデータをリードして応答する。このように被疑ディスク装置をリード対象から除外しておくことで、データ復元中における故障発生を可能な限り回避する。
【００４１】
ライト処理部４４は、復元モードの設定中にホスト１６−１からライトコマンドを受信した場合、正常ディスク装置及び被疑ディスク装置の両方にデータを書き込み、更に被疑ディスク装置については同時に予備ディスク装置３４のも同時に書き込む２重書込みを行う。
【００４２】
このとき、被疑ディスク装置の書込みに失敗した場合には、被疑ディスク装置の切り離し処理やライト処理のエラー応答は行わず、管理テーブル４８に書込みを失敗したアドレス範囲を登録する。この書込みを失敗したアドレス範囲の登録としては、被疑ディスク装置における論理ブロックアドレスＬＢＡによる開始アドレスと終了アドレスを登録することになる。
【００４３】
データ復元処理部４６は、復元モード設定中におけるホスト１６−１からのアクセス空き時間に被疑ディスク装置のアドレス範囲を所定単位に指定しながら、被疑ディスク装置のデータを同じデバイスアダプタ２４−２の配下にある予備ディスク装置３４に順次コピーして復元する。
【００４４】
このデータ復元処理の際には、被疑ディスク装置の管理テーブル４８を参照し、コピーするアドレス範囲が管理テーブル４８に登録している書込みが失敗したアドレス範囲に該当するときは、別のデバイスアダプタ２４−１の配下にある正常ディスク装置から中央処理モジュール２２−１にステージングした後に予備ディスク装置３４にライトするリビルド処理によってデータを復元する。
【００４５】
またコピーするアドレス範囲が管理テーブル４８の書込みを失敗したアドレス範囲に該当せずに、被疑ディスク装置からデータを復元した際に、このデータ復元処理が失敗した場合にも、正常ディスク装置からデータをリビルド処理により復元する。
【００４６】
この被疑ディスク装置を主体とした予備ディスク装置３４に対するデータ復元が完了すると、被疑ディスク装置を切り離して予備ディスク装置に切り替える。切り離された被疑ディスク装置は、その後、保守要員が交換修理などの必要な処置をとることになる。
【００４７】
図４は図３のディスクアレイ制御装置による復元モードへのリード処理、ライト処理及びデータ復元処理の概略の説明図である。図４において、セカンダリディスク装置３２が被疑ディスク装置と判定された復元モードの設定中にあっては、ホスト１６−１からのリード要求に対しては正常ディスク装置であるプライマリディスク装置３０のみからリードデータを応答するリード処理４８を行う。
【００４８】
またホスト１６−１からのライト要求に対しては、正常ディスク装置であるプライマリディスク装置３０に書き込むライト処理５０を行うと共に、被疑ディスク装置であるセカンダリディスク装置３２と予備ディスク装置３４の両方に同時書込みを行う２重ライト処理５２行う。
【００４９】
またホスト１６−１からのアクセスがないアイドル状態にあっては、被疑ディスク装置であるセカンダリディスク装置３２からデバイスアダプタ２４−２経由で予備ディスク装置３４にデータをコピーして復元させるコピー処理５４を行う。
【００５０】
図５は、図３のディスクアレイ制御装置１２に設けている管理テーブル４８の説明図である。管理テーブル４８は、インデックス、ライト失敗開始アドレス、ライト失敗終了アドレスを持ち、被疑ディスク装置に対するライト処理が失敗した場合に、そのときのライト開始の論理ブロックアドレス（ＬＢＡ）及び終了論理ブロックアドレスを登録している。
【００５１】
この管理テーブル４８は、予備ディスク装置に対する被疑ディスク装置からのデータコピーによる復元処理の際に参照され、もし管理テーブル４８に登録しているライト失敗アドレス範囲に該当する場合には被疑ディスク装置からのデータ復元は行わず、正常ディスク装置からデータ復元を行うことになる。
【００５２】
図６は、図３のディスクアレイ制御処理のフローチャートである。図６において、ステップＳ１にあっては、ＲＡＩＤ１の冗長構成を持つプライマリディスク装置３０とセカンダリディスク装置３２につき、それぞれのエラー統計加算値が所定の閾値を超えたか否かチェックしており、超えていなければステップＳ２でＲＡＩＤ１の通常処理を行う。
【００５３】
ステップＳ１でプライマリディスク装置３０またはセカンダリディスク装置３２のうちのいずれか、例えばセカンダリディスク装置３２のエラー統計加算値が閾値を超えると、同じデバイスアダプタ２４−２の配下にある予備ディスク装置３４に対する復元モードを設定してステップＳ３に進み、ホストコマンドの受信をチェックしている。
【００５４】
ホストコマンドの受信がないアイドル状態にあっては、ステップＳ１４に進んでデータ復元処理を実行する。データ復元処理は被疑ディスク装置であるセカンダリディスク装置３２のデータを予備ディスク装置３４にコピーして復元する処理である。
【００５５】
ステップＳ３で復元モード設定中にホストコマンドを受信すると、ステップＳ４に進み、リードコマンドであった場合には、ステップＳ７でステップＳ５で正常ディスク装置であるプライマリディスク装置３０からリードして応答する。もし正常ディスク装置からのリードにつきステップＳ６でリードエラーが判定された場合には、被疑ディスク装置であるセカンダリディスク装置３２からリードして応答する。この被疑ディスク装置のリードについてステップＳ８でリードエラーが判定された場合には異常終了とする。
【００５６】
一方、ホストコマンドがステップＳ９でライトコマンドと判定された場合には、ステップＳ１０に進み、正常ディスク装置と被疑ディスク装置、即ちプライマリディスク装置３０とセカンダリディスク装置３２、更に予備ディスク装置３４にデータをライトする。
【００５７】
このときステップＳ１１で被疑ディスク装置であるセカンダリディスク装置３２のライト失敗が判定されると、セカンダリディスク装置３２の切り離しやライト処理のエラー応答をすることなく、ステップＳ１２で図５に示した被疑ディスク装置用の管理テーブル４８にライト失敗のアドレス範囲として開始アドレスと終了アドレスを登録する。
【００５８】
続いてステップＳ１３で停止指示の有無をチェックしており、停止指示があるまでステップＳ３からの処理を繰り返す。またステップＳ１４のデータ復元処理において予備ディスク装置３４への復元処理が完了すると復元モードが解除され、ステップＳ１，Ｓ２の通常処理に戻る。
【００５９】
図７は、図６におけるステップＳ１４のデータ復元処理のフローチャートである。図７において、ステップＳ１でコピー元となる被疑ディスク装置の論理ブロックアドレスＬＢＡについて最初のコピー範囲をセットし、ステップＳ２で被疑ディスク用の管理テーブル４８を参照し、セットしたアドレス範囲がライト失敗アドレス範囲かどうか、ステップＳ３で判定する。
【００６０】
ライト失敗アドレス範囲でなければステップＳ４に進み、被疑ディスク装置から予備ディスク装置３４に、セットしたアドレス範囲のデータのコピーを行う。続いてステップＳ５でデータ復元処理が失敗していなければ、ステップＳ７に進み、最終論理ブロックアドレスか否かチェックし、そうでなければステップＳ８でコピーアドレスを更新した後、ステップＳ１に戻って処理を繰り返す。
【００６１】
ステップＳ３で、セットしたコピー用のアドレス範囲が被疑ディスク用の管理テーブル４８のライト失敗アドレス範囲に該当していた場合には、ステップＳ６に進み、正常ディスク装置から、そのアドレス範囲のデータを予備ディスク装置にリビルド処理で復元する。
【００６２】
ステップＳ７でコピーアドレス範囲が最終論理ブロックアドレスに達すると、ステップＳ９に進み、被疑ディスク装置を切り離すと共に、復元モードを解除し、これによって被疑ディスク装置がデータ復元の済んだ予備ディスク装置に切り替わり、ＲＡＩＤ１の冗長構成による通常処理に復帰する。
【００６３】
図８は、本発明によるディスクアレイ制御装置の第２実施形態のブロック図である。この第２実施形態にあっては、ＲＡＩＤ５の冗長構成を対象とし、図３の第１実施形態と同様、復元モードの設定中に被疑ディスク装置を主体に予備ディスク装置にデータを復元するようにしたことを特徴とする。
【００６４】
図８において、ディスクアレイ制御装置１２には中央処理モジュール２２−１を代表して示し、中央処理モジュール２２−１にはプロセッサ３６とキャッシュ処理部３８が設けられている。プロセッサ３６に対してはホスト１６−１が接続されて入出力要求を行い、またデバイスアダプタ２４−１，２４−２を介してディスクアレイ５８を接続している。
【００６５】
ディスクアレイ５８はＲＡＩＤ５の冗長構成をとっており、ディスク装置６０，６２，６４，６６の４台でＲＡＩＤの冗長構成をとり、更にホットスタンバイとして予備ディスク装置６８を設けている。
【００６６】
ＲＡＩＤ５の冗長構成は、４台のディスク装置６０，６２，６４，６６のうちの３台に分割したデータいわゆるストライプデータを格納し、残りの１台に３つのストライプデータから求めたパリティを格納している。そしてパリティを格納するディスク装置は、３つのディスク装置に対するストライプデータのアドレスごとに位置が変化する。
【００６７】
このＲＡＩＤ５の冗長構成をとる４台のディスク装置６０，６２，６４，６６に対するデータの格納状態は、例えば図９（Ａ）に示すようになる。なお図８の第２実施形態にあっては、４台のディスクのうちのディスク装置６６について、エラー統計加算値が閾値を超えて被疑ディスクと判定された場合を例にとっていることから、図９（Ａ）にあってはディスク装置６０，６２，６４を正常ディスク装置、ディスク装置６６を被疑ディスク装置として示している。
【００６８】
図９（Ａ）から明らかなように、ディスク装置６０，６２，６４，６６の論理ブロックアドレスＬＢＡ＝０，１，２，３，・・・にはストライプデータとパリティが格納されている。このうちパリティはアドレスごとに異なる位置に格納されている。
【００６９】
ＲＡＩＤ５の冗長構成のディスク装置群に対するアクセスは、各ディスク装置単位のストライプデータを最小単位として読出しまたは書込みを行うことができる。
【００７０】
再び図８を参照するに、ディスクアレイ制御装置１２のプロセッサ３６には、エラー判定部７０、リード処理部７２、ライト処理部７４、データ復元処理部７６及び管理テーブル７８が設けられている。
【００７１】
エラー判定部７０は、ＲＡＩＤ５の冗長構成をとるディスク装置６０，６２，６４，６６のいずれかのエラー統計加算値が所定の閾値を超えた場合に被疑ディスク装置と判定して、被疑ディスク装置と同じデバイスアダプタ２４−２の配下にある予備ディスク装置６８にデータを復元するための復元モードを設定する。この実施形態の説明にあっては、ディスク装置６６でエラー統計加算値が閾値を超えて被疑ディスク装置と判定された場合を例にとっている。
【００７２】
リード処理部７２は、復元モードの設定中にホスト１６−１からリードコマンドを受信した場合、リード対象に被疑ディスク装置としてのディスク装置６６のデータを含む場合、正常ディスク装置であるディスク装置６０，６２，６４からリードしたデータ及びまたはパリティに基づき、ＲＡＩＤ５の冗長方式に従って被疑ディスク装置であるディスク装置６６のデータを算出して応答する。
【００７３】
例えば図９（Ａ）の論理ブロックアドレスＬＢＡ＝０で被疑ディスク装置であるディスク装置６６のリード要求を受けたとすると、正常ディスク装置であるディスク装置６０，６２，６４のデータＰ１，Ｄ１，Ｄ２を、図９（Ｂ）のように読み出す。ここで図９（Ａ）のように既にディスク装置に格納されているデータを読み出した場合、これを旧データと呼び、パリティについては旧パリティと呼び、それぞれ符号の後ろに「ＯＬＤ」を下付けする。また新たにディスク装置に書き込むデータについては、新データまたは新パリティと呼んで、符合の後ろに「ＮＥＷ」を下付けして表わす。
（旧パリティＰ１OLD）、（旧データＤ１OLD、）、（旧データＤ２OLD）
となり、被疑ディスク装置６６のデータＤ３OLDは破線のように読み出していない。
【００７４】
この図９（Ｂ）の正常ディスク装置６０，６２，６４からの読出しデータに基づき、図９（Ｃ）のようにＲＡＩＤの冗長方式に従って被疑ディスク６６に格納している旧データＤ３OLDを算出する。即ち、正常ディスク装置６０，６２，６４から読み出した旧パリティＰ１OLD、旧データＤ１OLD、Ｄ２OLDの３つの（＋）で示す排他論理和をとることで算出する。
【００７５】
このように図８の復元モード設定中におけるリード処理にあっては、被疑ディスク装置であるディスク装置６６のストライプデータのリード要求について、被疑ディスク装置から読み出さずに他の正常なディスク装置６０，６２，６４から読み出したデータに基づいて計算して求めることで、被疑ディスク装置となっているディスク装置６６からのリード処理に伴うエラー発生を回避するようにしている。
【００７６】
プロセッサ３６に設けたライト処理部７４は、復元モード設定中にホスト１６−１からライトコマンドを受信した場合、ライト対象に被疑ディスク装置であるディスク装置６６のデータを含む場合、リード処理部７２の場合と同様に正常ディスク装置であるディスク装置６０，６２，６４から読み出したデータに基づいて、例えば図９（Ｂ）（Ｃ）に示したようにして被疑ディスク装置であるディスク装置６６のデータを計算する。
【００７７】
続いて図９（Ｄ）に示すような被疑ディスク装置６６に対するライト要求の新データＤ３NEWが得られていることから、図９（Ｅ）に示すように
新パリティ＝旧パリティ（＋）旧データ（＋）新データ
Ｐ１NEW＝Ｐ１OLD（＋）Ｄ３OLD（＋）Ｄ３NEW
によって新パリティを計算する。
【００７８】
そして、新パリティＰ１NEWを新データＤ３NEWと共に、図９（Ｆ）のように、パリティについては対応するディスク装置６０に書き込み、新データについては被疑ディスク装置６６に書き込む。
【００７９】
更に、新データを被疑ディスク装置６６に書き込んだ際に書き込み失敗を判定した場合には、管理テーブル７８に書込みに失敗したアドレス範囲を登録する。この管理テーブル７８は、図５に示した第１実施形態の管理テーブル４８と基本的に同じであり、インデックス、ライト失敗開始アドレス及びライト失敗終了アドレスを登録する。
【００８０】
プロセッサ３６に設けたデータ復元処理部７６は、復元モードの設定中のホスト１６−１からのアクセス空き時間に、被疑ディスク装置であるディスク装置６６のアドレス範囲を指定しながらデータを予備ディスク装置６８に順次コピーして復元する。
【００８１】
この予備ディスク装置６８への復元処理は、コピー元となる被疑ディスク装置６６のコピーアドレス範囲が管理テーブル７８のライト失敗アドレス範囲に該当するか否かチェックし、該当しなければ被疑ディスク装置６６から復元し、該当する場合には正常ディスク装置であるディスク装置６０，６２，６４からリードしたデータ及びパリティに基づき、被疑ディスク装置６６のデータを算出して、予備ディスク装置６８にリビルド処理により復元する。
【００８２】
図１０は図８のＲＡＩＤ５の冗長構成を対象としたディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の概略を示している。まずホスト１６−１から被疑ディスク装置６６に対しリード要求があった場合には、被疑ディスク装置６６からリード応答せず、正常ディスク装置６０，６２，６４からデータを読み出し、読み出したデータ及びまたはパリティに基づいて論理和計算を行うことで被疑ディスク装置６６のデータを求め、これを応答する。
【００８３】
ホスト１６−１から被疑ディスク装置６６に対しライト要求があった場合には、リード要求の場合と同様、正常ディスク装置６０，６２，６４の読出しデータから排他論理和をとることにより被疑ディスク装置６６のデータを計算し、ホストからの新データと被疑ディスク装置６６の計算した旧データ、更に正常ディスク装置６０，６２，６４のいずれかから得られた旧パリティに基づいて新パリティを計算し、新データはデータライト処理８０により被疑ディスク装置６６に格納し、新パリティについては例えばパリティを格納している正常ディスク装置６４に対しパリティライト処理８２を行う。
【００８４】
復元モードの設定中における被疑ディスク装置６６からの予備ディスク装置６８に対するデータ復元処理は、被疑ディスク装置６６のコピーアドレス範囲が、その管理テーブル７８のライト失敗アドレス範囲に該当しなければ、被疑ディスク装置６６のデータをコピー処理８４によりコピーして予備ディスク装置６８に格納するコピー処理８４を行う。
【００８５】
被疑ディスク装置６６のコピーアドレス範囲が管理テーブル７８に登録されているライト失敗アドレス範囲に該当する場合には、正常ディスク装置６０，６２，６４の読出しデータから排他論理和計算により被疑ディスク装置６６のデータを計算して、リビルド処理により予備ディスク装置６８に復元する。
【００８６】
図１１は、図８のディスクアレイ制御処理のフローチャートである。図１１において、ステップＳ１でＲＡＩＤ５の冗長構成をとる４台のディスク装置正常ディスク装置６０，６２，６４，６６についてエラー統計加算値が閾値を超えたか否かチェックしており、閾値を超えるまではステップＳ２のＲＡＩＤ５通常処理を行っている。
【００８７】
ステップＳ１でいずれかのディスク装置のエラー統計加算値が閾値を超えると、復元モードを設定してステップＳ３に進み、ホストコマンドの受信の有無をチェックしており、ホストコマンドを受信されないアイドル状態において、ステップＳ１２のデータ復元処理を実行している。
【００８８】
ステップＳ３でホストコマンドが受信され、ステップＳ４でリードコマンドであることが判別されると、ステップＳ５のＲＡＩＤ５のリード処理を実行する。続いてステップＳ６でリードエラーの有無をチェックし、もしリードエラーがあった場合には異常終了とする。ホストコマンドがライトコマンドであることをステップＳ７で判別すると、ステップＳ８に進み、ＲＡＩＤ５のライト処理を実行する。
【００８９】
続いてステップＳ９で被疑ディスク装置のライト失敗が判別されると、ステップＳ１０に進み、被疑ディスク用の管理テーブル７８にライト失敗とアドレス範囲を記録し、ステップＳ１１で停止指示があるまで、ステップＳ３からの処理を繰り返す。ステップＳ５のＲＡＩＤ５リード処理、ステップＳ８のＲＡＩＤ５ライト処理、更にステップＳ１２のデータ復元処理は、図１２、図１３及び図１４のフローチャートで詳細に示す。
【００９０】
図１２は、図１１のステップＳ５におけるＲＡＩＤ５リード処理のフローチャートである。図１２において、ステップＳ１でリード要求が被疑ディスク装置からのリードか否かチェックし、被疑ディスク装置からのリードであればステップＳ２に進み、正常ディスク装置の全ストライプデータ（パリティを含む）をリードし、全データの排他論理和をとることにより、ステップＳ３で被疑ディスク装置のデータを計算により復元してリード応答とする。またステップＳ１でリード要求が被疑ディスク装置以外のディスク装置であった場合には、ステップＳ４に進み、正常ディスク装置のストライプデータをリードして応答する。
【００９１】
このように復元応答設定中のＲＡＩＤ５リード処理にあっては、被疑ディスク装置からのリード処理は行なわず、正常ディスク装置のリードデータから計算により被疑ディスク装置のデータを復元してリード応答することで、被疑ディスク装置のリード処理を行なうことによるエラー発生を回避している。
【００９２】
図１３は、図１１のステップＳ８のＲＡＩＤ５ライト処理のフローチャートである。図１３において、ステップＳ１でライト要求が行なわれたアドレスの全ストライプデータのライト要求か否かチェックしており、一部であればステップＳ２に進み、被疑ディスク装置を含む部分ストライプデータのライト要求か否かチェックする。
【００９３】
被疑ディスク装置のデータを含むライト要求であった場合にはステップＳ３に進み、正常ディスク装置の全データをリードした後、ステップＳ４で正常ディスク装置の全データの排他論理和を求めることで被疑ディスク装置のデータを計算により復元する。続いてステップＳ５で旧パリティ、旧データ及び新データの排他論理和をとることで新パリティを計算する。そしてステップＳ６で新データを被疑ディスク装置にライトするとともに新パリティを開放する正常ディスク装置にライトする。
【００９４】
ステップＳ２で部分ストライプデータのライトが被疑ディスク装置を含まない場合には、ステップＳ７でストライプデータとパリティを正常ディスク装置からそれぞれ読み出し、ステップＳ５で新パリティを計算し、ステップＳ６で新データと新パリティをそれぞれ正常ディスク装置にライトする。
【００９５】
更にステップＳ１で全ストライプデータのライトであった場合にはステップＳ８に進み、この場合には新データの排他論理和から新パリティを計算し、ステップＳ６で新データと新パリティを対応するディスク装置にライトする。
【００９６】
図１４は、図１１のステップＳ１２におけるデータ復元処理のフローチャートである。図１４において、ステップＳ１で被疑ディスク装置の論理ブロックアドレスＬＢＡにつき最初のコピー範囲をセットし、ステップＳ２で被疑ディスク装置６８の管理テーブル７８を参照し、ステップＳ３でライト失敗アドレス範囲になければステップＳ４で被疑ディスク装置から予備ディスク装置にコピー処理を行なってデータを復元をする。
【００９７】
続いてステップＳ５でデータ復元失敗の有無をチェックしており、失敗がなければステップＳ７に進み、最終論理ブロックアドレスに達していなければステップＳ８でコピーアドレスを更新した後、ステップＳ１からの処理を繰り返す。
【００９８】
ステップＳ３でコピーアドレス範囲が管理テーブル７８のライト失敗アドレス範囲に該当する場合にはステップＳ６に進み、正常ディスク装置からデータを読み出して排他論理和計算により被疑ディスク装置のデータを再生成した後、予備ディスク装置６８にコピー処理により復元する。
【００９９】
ステップＳ７で最終論理ブロックアドレスへの到達が判別されると、ステップＳ９で被疑ディスク装置を切り離して復元のすんだ予備ディスク装置に切り替え、復元モードを解除してＲＡＩＤ５通常処理に戻る。
【０１００】
図１５は本発明によるディスクアレイ制御処理の第３実施形態のブロック図である。この第３実施形態にあってはＲＡＩＤ１の冗長構成を対象とし、データ復元処理については異なるデバイスアダプタの配下にある正常ディスク装置からのリビルド処理により予備ディスク装置にデータを復元するようにしたことを特徴とする。
【０１０１】
図１５において、ディスクアレイ制御装置１２の中央処理モジュール２２−１にはプロセッサ３６とキャッシュ処理部３８が設けられ、デバイスアダプタ２４−１，２４−２を介して接続したディスクアレイ２８にはＲＡＩＤ１の冗長構成をとるプライマリディスク装置３０とセカンダリディスク装置３２が設けられ、更にホットスタンバイとしての予備ディスク３４が設けられている。ここでセカンダリディスク装置３２のエラー統計合計値が閾値に達して被疑ディスク装置と判定された場合を例にとる。
【０１０２】
プロセッサ３６にはエラー判定部９０、リード処理部９２、ライト処理部９４、データ復元処理部９６及び管理テーブル９８が設けられている。エラー判定部９０は、ディスクアレイでＲＡＩＤ１の冗長構成をとるプライマリディスク装置３０とセカンダリディスク装置３２のエラー統計合計値を監視し、所定の閾値を超えた場合に被疑ディスク装置と判定して、同じデバイスアダプタ２４−２の配下にある予備ディスク装置３４にデータを復元するための復元モードを設定する。
【０１０３】
リード処理部９２は復元モードの設定中にホスト１６−１からリードコマンドを受信した場合、正常ディスク装置であるプライマリディスク装置３０からデータをリードして応答し、被疑ディスク装置としてセカンダリディスク装置３２からのリード応答は行なわない。また正常ディスク装置であるプライマリディスク装置３０のリード処理に失敗した場合には、後の説明で明らかにする管理テーブル９８から有効アドレス範囲にあることを確認して被疑ディスク装置であるセカンダリディスク装置３２からデータをリードして応答する。
【０１０４】
ライト処理部９４は復元モード設定中にホスト１６−１からライトコマンドを受信した場合、被疑ディスク装置であるセカンダリディスク装置３２は除き、正常ディスク装置であるプライマリディスク装置３０と予備ディスク３４に書き込む。そしてライト処理につき、管理テーブル９８にライトアドレス範囲に対応してライト処理は正常終了か異常終了か、及び被疑ディスク装置となるセカンダリディスク装置３２のデータの有効と無効を登録する。
【０１０５】
ここで、ライト処理が正常終了であれば被疑ディスク装置となるセカンダリディスク装置３２のデータは更新されていないことから無効となり、一方、ライト処理が異常終了であれば被疑ディスク装置となるセカンダリディスク装置３２のデータは有効となっている。
【０１０６】
図１６は、図１５の管理テーブル９８の説明図である。管理テーブル９８はインデックス、ライト開始アドレス、ライト終了アドレス、ライト処理の終了状態（正常終了または異常終了）、及び被疑ディスクデータの有効／無効で構成されている。ライト開始アドレスとライト終了アドレスはライトのアドレス範囲を特定する。
【０１０７】
ライト処理の終了状態はライト実行による正常終了またはライト非実行による異常終了を登録する。被疑ディスクデータの有効／無効については、ライト処理が正常終了であれば被疑ディスク装置のデータは更新されていないことから無効を登録し、一方、ライト処理が異常終了であれば正常ディスク装置のデータは更新されていないから被疑ディスク装置のデータは有効を登録する。
【０１０８】
なお、図１６の管理テーブル９８の具体例にあっては、ライト処理の終了状態について正常終了であればフラグビット１をセットし、異常終了であればフラグビット０をセットし、また被疑ディスクデータの有効／無効についても、有効でフラグピット１をセットし、無効でフラグビット０をセットすることになる。
【０１０９】
再び図１５を参照するに、データ復元処理部９６は、復元モード設定中のホスト１６−１からのアクセス空き時間に正常ディスク装置であるプライマリディスク装置３０のアドレス範囲を順次指定しながらデータを予備ディスク装置３４にリビルド処理により復元する。
【０１１０】
リビルド処理は、別のデバイスアダプタ２４−１の配下にあるプライマリディスク装置３０のデータをプロセッサ３６のキャッシュ処理部３８に設けているキャッシュメモリ上にステージングした後に予備ディスク装置３４に書き込む処理となる。
【０１１１】
またデータ復元処理部９６は予備ディスク装置３４に対するデータ復元のためのリビルド処理が失敗した際に、失敗したアドレス範囲が管理テーブル９８の被疑ディスク装置であるセカンダリディスク装置３２のデータが有効となる有効アドレス範囲に含まれている場合には、被疑ディスク装置であるセカンダリディスク装置３２のデータを予備ディスク装置３４にコピー処理により復元する。このように予備ディスク装置３４に対する正常ディスク装置のリビルド処理を主体としたデータ復元についても、被疑ディスク装置であるセカンダリディスク装置３２による冗長処理が行なわれることになる。
【０１１２】
図１７は、図１５のディスクアレイ制御装置１２による復元モードでのリード処理、ライト処理及びデータ復元処理の概略説明図である。図１７において、セカンダリディスク装置３２が被疑ディスク装置と判定された復元モードの設定中にホスト１６−１からリード要求があると、正常ディスク装置であるプライマリディスク装置３０からリード応答１００を行なう。
【０１１３】
またホスト１６−１から復元モード設定中にライト要求を受けると、正常ディスク装置であるプライマリディスク装置３０にライト処理１０２を行なうと共に、予備ディスク装置３４に対してもライト１０４を行なう。
【０１１４】
一方、ホスト１６−１から入出力要求のないアイドル状態にあっては、正常ディスク装置であるプライマリディスク装置３０のデータを中央処理モジュール２２−１のキャッシュ上にステージングした後に予備ディスク装置３４に書き込むリビルド処理１０６を行なっている。
【０１１５】
このリビルド処理１０６についてエラーが判別された場合、管理テーブル９８を参照して被疑ディスク装置であるセカンダリディスク装置３２のアドレス範囲が有効データとなっていることを確認した場合には、セカンダリディスク装置３２からコピー処理によりデータを予備ディスク装置３４に復元する。
【０１１６】
図１８は、図１５のディスクアレイ制御処理のフローチャートである。図１８において、ステップＳ１でいずれかのディスク装置のエラー統計加算値が閾値を超えたことを判別した場合の復元モードの設定によるリード処理及びライト処理であるステップＳ１〜Ｓ１０の処理は、図６の第１実施形態の処理と同じである。
【０１１７】
これに対し図１８の第４実施形態にあっては、正常ディスク装置を主体としたリビルド処理により予備ディスク装置３４に対するデータ復元を行なうことから、ステップＳ１０で正常ディスク装置と予備ディスク装置３４にライト処理を行なった後、ステップＳ１１で管理テーブル９８に対し、図１６に示したように、ライト開始アドレスとライト終了アドレスによるアドレス範囲、ライト処理の正常終了または異常終了、更に被疑ディスク装置のデータが有効か無効かを登録する。ライト処理が正常終了すれば、被疑ディスク装置のデータについて無効を登録し、ライト処理が異常終了すれば非議ディスク装置のデータについて有効を登録する。なお、管理テーブルに登録されていないアドレス範囲について、当然に、被疑ディスク装置のデータはある。
【０１１８】
図１９は、図１８のステップＳ１３のデータ復元処理のフローチャートである。図１９において、ステップＳ１で正常ディスク装置の論理ブロックアドレスＬＢＡにつきリビルドのアドレス範囲をセットした後、ステップＳ２で正常ディスク装置から予備ディスク装置にリビルド処理によりデータを復元する。
【０１１９】
続いてステップＳ３でリビルド処理の失敗の有無をチェックしており、万一、リビルド処理に失敗した場合には、ステップＳ４で管理テーブル９８を参照し、ステップＳ５で有効データのアドレス範囲であることを確認した場合にはステップＳ６に進み、被疑ディスク装置から予備ディスク装置３４にコピー処理によりデータを復元する。なお、ステップＳ６でアドレス範囲が無効でデータの場合又はステップＳ７で被疑ディスク装置からのリビルド処理にに失敗した場合には異常終了となる。
【０１２０】
ステップＳ８にあっては最終論理ブロックアドレスへの到達の有無をチェックしており、到達するまではステップＳ９でアドレスを更新した後、ステップＳ１からの処理を繰り返す。ステップＳ８で最終論理ブロックアドレスへの到達が判別されるとステップＳ１０で被疑ディスク装置を切り離して、データ復元のその他予備ディスク装置６８に切り替え復元モードを解除することで通常のＲＡＩＤ１の処理に戻る。
【０１２１】
図２０は、本発明によるディスクアレイ制御装置の第４実施形態のブロック図である。この第４実施形態にあってはＲＡＩＤ５の冗長構成をとり、予備ディスク装置に対するデータ復元については正常ディスク装置を主体に復元することを特徴とする。
【０１２２】
図２０において、ディスクアレイ制御装置１２の中央処理モジュール２２−１にはプロセッサ３６とキャッシュ処理部３８が設けられ、デバイスアダプタ２４−１，２４−２を介してディスクアレイ５８としてＲＡＩＤ５の冗長構成をとる例えば４台のディスク装置６０、６２，６４，６６を接続し、更にホットスタンバイとして予備ディスク装置６８を設けている。ここでディスク装置６６のエラー統計加算値が閾値を超えて被疑ディスクと判定されて復元モードが設定された場合を例にとって説明する。
【０１２３】
プロセッサ３６にはエラー判定部１１０、リード処理部１１２、ライト処理部１１４、データ復元処理部１１６及び管理テーブル１１８が設けられている。エラー判定部１１０はＲＡＩＤ５の冗長構成をとるディスク装置６０，６２，６４，６６のいずれかのエラー統計合計値が所定の閾値を超えた場合、被疑ディスク装置と判定して同じデバイスアダプタ２４−２の配下にある予備ディスク装置６８にデータを復元するための復元モードを設定する。この例ではディスク装置６６が被疑ディスク装置と判定されている。
【０１２４】
リード処理部１１２は復元モード設定中にホスト１６−１から被疑ディスク装置６６のデータを対象とするリードコマンドを受信した場合、正常ディスク装置であるディスク装置６０，６２，６４から読み出したデータ及びパリティに基づき、図９（Ｂ）（Ｃ）に示したように、被疑ディスク装置であるディスク装置６６のデータを排他論理和計算により算出して応答する。
【０１２５】
この場合、正常ディスク装置であるディスク装置６０，６２，６４からのリード処理に失敗した場合には、管理テーブル１１８から被疑ディスク装置であるディスク装置６６のデータが有効であることを確認した場合に、読み出し応答する。
【０１２６】
ライト処理部１１４は、復元モード設定中にホスト１６−１から被疑ディスク装置であるディスク装置６６のデータを対象にライトコマンドを受信した場合、正常ディスク装置であるディスク装置６０，６２，６４からリードした旧データ及び旧パリティに基づき、被疑ディスク装置であるディスク装置６６の旧データの排他論理和をとることにより復元し、更に復元した被疑ディスク装置の旧データ、ホスト１６−１から受けた新データ、更に正常ディスク装置から読み出した旧パリティに基づいて新パリティを排他論理和により算出し、新データを予備ディスク装置６８にも書き込む。更にパリティについては対応する正常なディスク装置に書き込む。
【０１２７】
更にライト処理の結果に基づき管理テーブル１１８にアドレス範囲である開始アドレス及び終了アドレス、ライト処理の正常終了又は異常終了、更に被疑ディスク装置のデータの有効又は無効を登録する。
【０１２８】
データ復元処理部１１６は、復元モード設定中にホスト１６−１からのアクセス空き時間となるアイドル中に正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置６８にリビルド処理により復元する。
【０１２９】
この正常ディスク装置からのリビルド復元処理に失敗した場合、失敗したアドレス範囲が被疑ディスク装置の有効データのアドレス範囲に含まれることを管理テーブル１１８の参照で確認した場合は、被疑ディスク装置のデータを予備ディスク装置６８にコピーにより復元する。このため予備ディスク装置６８に対するデータ復元のリビルド処理についても冗長処理が維持できる。
【０１３０】
図２１は、図２０のディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の概略である。図２１において、復元モード設定中にホスト１６−１から被疑ディスク装置６６に対するリード要求があると、正常ディスク装置６０，６２，６４からステージング１２０により読み出したデータに基づいて、その排他論理和から被疑ディスク装置６６のデータを計算１２２により復元し、ホスト１６−１にリード応答１２４を行う。
【０１３１】
また復元モード設定中にホスト１６−１から被疑ディスク装置６６を対象にライト要求を受けると、リード要求の場合と同様、正常ディスク装置６０，６２，６４のリードデータの排他論理和から被疑ディスク装置６６のデータを計算１２２により復元し、これにホスト１６−１から受けた新データと正常ディスク装置６０，６２，６４側からリードしている旧パリティの排他論理和をとることにより新パリティを計算し、新データは予備ディスク装置６８にデータライト１２８により書込み、また新パリティは例えば対応する正常ディスク装置６０，６２，６４にパリティライト１２６により書き込む。
【０１３２】
またホスト１６−１からのアクセスのないアイドル中にあっては、正常ディスク装置６０，６２，６４のリードデータの排他論理和から被疑ディスク装置６６のデータを中央処理モジュール２２−１のキャッシュ上にステージング１２２により展開し、ステージングしたデータから被疑ディスク装置６６のデータを排他論理和により計算して復元し、これをリビルド処理１３０により予備ディスク装置６８に書き込んでデータを復元する。
【０１３３】
また正常ディスク装置６０，６２，６４からのステージングに失敗した場合には、管理テーブル１１８の参照で被疑ディスク装置６８のアドレス範囲のデータが有効であることを確認した場合に、被疑ディスク装置６６のデータを予備ディスク装置６８に書き込むコピー１３２を行なう。
【０１３４】
図２２は、図２１のディスクアレイ制御装置のフローチャートである。復元モード設定状態におけるＲＡＩＤ５のリード処理及びＲＡＩＤ５のライト処理となるステップＳ１〜Ｓ８の処理については図１１の第２実施形態のステップＳ１〜Ｓ８と同じである。一方、ステップＳ８でＲＡＩＤ５のライト処理を行なった後、ステップＳ９で被疑ディスク装置用の管理テーブル１１８にライト処理の結果に基づきアドレス範囲、ライト処理の正常終了又は異常終了,及び被疑ディスク装置のデータの有効又は無効を登録している。
【０１３５】
ここで図２２のステップＳ５のＲＡＩＤ５のリード処理は図２３のフローチャートのようになり、これは図１２に示した第２実施形態と同じである。また図２２のステップＳ８のＲＡＩＤ５のライト処理は図２４のフローチャートに示しており、図１３に示した第２実施形態に示したＲＡＩＤ５のライト処理と同じである。
【０１３６】
図２５は、図２２のステップＳ１１のデータ復元処理のフローチャートである。図２５において、ステップＳ１で正常ディスク装置を対象に論理ブロックアドレスＬＡＢにつきリビルド範囲となるアドレス範囲をセットする。続いてステップＳ２で正常ディスク装置のストライプデータをステージングして被疑ディスク装置のストライプデータを排他論理和を求めることにより再生成し、予備ディスク装置６８に書き込むリビルド処理を実行する。
【０１３７】
次にステップＳ３でリビルド処理の失敗の有無をチェックしており、万一、リビルド処理に失敗した場合にはステップＳ４で管理テーブル１１８を参照し、ステップＳ５で失敗したアドレス範囲が被疑ディスク装置に有効データとして存在していることを確認した場合、ステップＳ６で被疑ディスク装置から予備ディスク装置へのコピー処理を実行する。なお、ステップＳ５で被疑ディスク装置のデータが無効の場合又はステップＳ７の被疑ディスク装置からのコピー処理について処理失敗が判別された場合は異常終了とする。
【０１３８】
ステップＳ８のあっては最終論理ブロックアドレスへの到達をチェックしており、到達するまではステップＳ９でアドレスの更新を行なってステップＳ１からの処理を繰り返す。ステップＳ８で最終論理ブロックアドレスへの到達が判別されるとステップＳ１０で被疑ディスク装置を切り離してデータ復元の済んだ予備ディスク装置を接続して復元モードを解除してＲＡＩＤ５の通常処理に戻る。
【０１３９】
また、本発明はディスク制御装置１２の中央処理モジュールに設けているプロセッサで実行されるプログラムを提供するものであり、第１実施例、第２実施例、第３実施例、第４実施例のいずれについても、それぞれに対応して示したフローチャートがそのプログラムの処理手順を示している。
【０１４０】
また本発明のプログラムが実行されるコンピュータのハードウェア資源としては、ディスクアレイ制御装置１２のプロセッサ３６におけるＣＰＵ、ＲＡＭ、ハードディスクドライブで構成され、本発明のプログラムをハードディスクドライブにローディングしており、コンピュータの起動時にハードディスクドライブからプログラムを読み出してＲＡＭ上に展開し、ＣＰＵにより実行することになる。
【０１４１】
なお、本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【０１４２】
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
（付記）
（付記１）
コンピュータに、
冗長構成のディスクアレイに含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピートして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を実行させることを特徴とするプログラム。（１）
【０１４３】
（付記２）
付記１記載のプログラムに於いて、
前記ディスクアレイは、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディ
スク装置、被疑ディスク装置及び予備ディスク装置にデータをライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別の
デバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置
にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。（２）
【０１４４】
（付記３）
付記１記載のプログラムに於いて、
前記ディスクアレイは、同一アドレスに複数のストライプデータとそのパリティを格納し且つパリティデータの格納ディスク位置をアドレス毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを
受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づき
前記被疑ディスク装置の旧データを復元し、
更に復元した被疑ディスク装置の旧データ、新データ、旧パリティに基づいて新パリ
ティを算出し、
前記新データを前記被疑ディスク装置及び予備ディスク装置にライトすると共に新パリティを対応する正常ディスク装置にライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、正常
ディスク装置からリードしたデータ及びパリティに基づき前記被疑ディスク装置のデー
タを算出して前記予備ディスク装置にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。（３）
【０１４５】
（付記４）
コンピュータに、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を実行させることを特徴とするプログラム。（４）
【０１４６】
（付記５）
付記４記載のプログラムに於いて、
前記記憶装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。（５）
【０１４７】
（付記６）
付記４記載のプログラムに於いて、
前記記憶装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンド
を受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づ
き前記被疑ディスク装置の旧データ又は旧パリティを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
前記新データとパリティを正常ディスクと予備ディスク装置にライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、及び被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記正常ディスク装置
のアドレス範囲を順次指定しながらリードしたデータ及びパリティに基づき前記被疑デ
ィスク装置のリードデータを算出して予備ディスク装置へリビルドする復元処理を開始
し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とするプログラム。（６）
【０１４８】
（付記７）
上位装置からのコマンドに基づいて冗長構成のディスクアレイにデータを読み書きする記憶制御方法に於いて、
冗長構成のディスクアレイに含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする記憶制御方法。（７）
【０１４９】
（付記８）
付記７記載の記憶制御方法に於いて、
前記ディスクアレイは、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディ
スク装置、被疑ディスク装置及び予備ディスク装置にデータをライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別の
デバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置
にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶制御方法。
【０１５０】
（付記９）
付記７記載の記憶制御方法に於いて、
前記ディスクアレイは、同一アドレスに複数のストライプデータとそのパリティを格納し且つパリティデータの格納ディスク位置をアドレス毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを
受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づき
前記被疑ディスク装置の旧データを復元し、
更に復元した被疑ディスク装置の旧データ、新データ、旧パリティに基づいて新パリ
ティを算出し、
前記新データを前記被疑ディスク装置及び予備ディスク装置にライトすると共に新パリティを対応する正常ディスク装置にライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、正常
ディスク装置からリードしたデータ及びパリティに基づき前記被疑ディスク装置のデー
タを算出して前記予備ディスク装置にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶制御方法。
【０１５１】
（付記１０）
上位装置からのコマンドに基づいて冗長構成の記憶装置にデータを読み書きする記憶制御方法に於いて、
冗長構成の記憶装置に含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定ステップと、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理ステップと、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理ステップと、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理ステップと、
を備えたことを特徴とする記憶制御方法。（７）
【０１５２】
（付記１１）
付記１０記載の記憶制御方法に於いて、
前記記憶装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定ステップは、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶制御方法。
【０１５３】
（付記１２）
付記１０記載の記憶制御方法に於いて、
前記記憶装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定ステップは、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理ステップは、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンド
を受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づ
き前記被疑ディスク装置の旧データ又は旧パリティを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
前記新データとパリティを正常ディスクと予備ディスク装置にライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、及び被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理ステップは、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元処理ステップは、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記正常ディスク装置
のアドレス範囲を順次指定しながらリードしたデータ及びパリティに基づき前記被疑デ
ィスク装置のリードデータを算出して予備ディスク装置へリビルドする復元処理を開始
し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶制御方法。
【０１５４】
（付記１３）
上位装置からのコマンドに基づいて冗長構成のディスクアレイにデータを読み書きする記憶装置に於いて、
冗長構成のディスクアレイに含まれるディスク装置のエラー統計加算値が所定の閾値を越えた場合に、被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータをリードして応答するリード処理部と、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置、被疑ディスク装置を及び前記予備ディスク装置にデータをライトし、前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲を管理テーブルに登録するライト処理部と、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記被疑ディスク装置のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピートして復元する処理を開始し、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別のデバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置にリビルドして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする記憶装置。（９）
【０１５５】
（付記１４）
付記１３記載の記憶装置に於いて、
前記ディスクアレイは、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定部は、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理部は、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理部は、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディ
スク装置、被疑ディスク装置及び予備ディスク装置にデータをライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理部は、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、別の
デバイスアダプタの配下にある前記正常ディスク装置のデータを前記予備ディスク装置
にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶装置。
【０１５６】
（付記１５）
付記１３記載の記憶装置に於いて、
前記ディスクアレイは、同一アドレスに複数のストライプデータとそのパリティを格納し且つパリティデータの格納ディスク位置をアドレス毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定部は、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記リード処理部は、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記ライト処理部は、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンドを受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づき前
記被疑ディスク装置の旧データを復元し、
更に復元した被疑ディスク装置の旧データ、新データ、旧パリティに基づいて新パリ
ティを算出し、
前記新データを前記被疑ディスク装置及び予備ディスク装置にライトすると共に新パ
リティを対応する正常ディスク装置にライトし、
前記被疑ディスク装置のライト失敗を判定した場合は、ライト失敗アドレス範囲をラ
イト管理テーブルに登録し、
前記復元処理部は、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記擬似ディスク装置
のアドレス範囲を指定しながらデータを予備ディスク装置へ順次コピーして復元する処
理を開始し、
前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当した時
または前記被疑ディスク装置から予備ディスク装置への復元処理が失敗した時は、正常
ディスク装置からリードしたデータ及びパリティに基づき前記被疑ディスク装置のデー
タを算出して前記予備ディスク装置にリビルドして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶制御方法。
【０１５７】
（付記１６）
複数の記憶部と、前記記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、
前記複数の記憶部の一方にエラーが発生した場合に、リードコマンドを受信したときには、前記複数の記憶部の他方よりデータをリードし、前記他方の記憶部からのデータリードが失敗した場合には前記一方の記憶部からデータをリードするリード処理部を備えたことを特徴とする記憶装置。
【０１５８】
（付記１７）
複数の記憶部と、前記記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、
前記複数の記憶部の一方にエラーが発生した場合、予備記憶部にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モード設定中にライトコマンドを受信したときに、前記一方の記憶部へのデータライト失敗が判定された場合には、ライト失敗アドレス範囲を管理テーブルに登録するライト処理部と、
前記一方の記憶部のアドレス範囲を指定しながらデータを予備記憶部へ順次コピーして復元する処理を行ない、前記アドレス範囲が前記管理テーブルのライト失敗アドレス範囲に該当したとき、または前記一方の記憶部から前記予備記憶部への復元処理が失敗したときには、前記複数の記憶部の他方に記憶されたデータを前記予備記憶部に復元する復元処理部と、
を備えたことを特徴とする記憶装置。
【０１５９】
（付記１８）
上位装置からのコマンドに基づいて冗長構成をとる複数のディスク装置にデータを読み書きする記憶装置に於いて、
前記複数のディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、更にライトアドレス範囲に対応して前記正常ディスク装置のライト処理の正常終了又は異常終了、および前記被疑ディスク装置のデータの有効又は無効を管理テーブルに登録するライト処理部と、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答するリード処理部と、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える復元処理部と、
を備えたことを特徴とする記憶装置。（１０）
【０１６０】
（付記１９）
付記１８記載の記憶装置に於いて、
前記複数のディスク装置は、同一データを格納したプライマリディスク装置とセカンダリディスク装置を備えたＲＡＩＤ１の冗長構成であり、
前記エラー判定部は、前記プライマリディスク装置又はセカンダリディスク装置のエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理部は、
前記復元モード設定中に上位装置からライトコマンドを受信した場合、前記正常ディスク装置と予備ディスク装置にデータをライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、および被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理部は、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディス
ク以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記被疑ディスク装置からデータを
リードして応答し、
前記復元モードの設定中に上位装置からリードコマンドを受信した場合、被疑ディスク装置以外の正常ディスク装置からデータをリードして応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元モード設定中の上位装置からのアクセス空き時間に、別のデバイスアダプタの配下にある前記正常ディスク装置のアドレス範囲を順次指定しながらデータを予備ディスク装置へリビルドして復元する処理を開始し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶装置。
【０１６１】
（付記２０）
付記１８記載の記憶装置に於いて、
前記複数のディスク装置は、複数のストライプデータとそのパリティを格納し、且つパリティデータの格納ディスク位置をストライプ位置毎に変化させる複数のディスク装置を備えたＲＡＩＤ５の冗長構成であり、
前記エラー判定部は、前記ディスク装置のいずれかのエラー統計加算値が所定の閾値を越えた場合に被疑ディスク装置と判定して同一デバイスアダプタの配下にある予備ディスク装置にデータを復元するための復元モードを設定し、
前記ライト処理部は、
前記復元モード設定中に上位装置から前記被疑ディスク装置に対するライトコマンド
を受信した場合、正常ディスク装置からリードした旧データ及び又は旧パリティに基づ
き前記被疑ディスク装置の旧データ又は旧パリティを復元し、
更に復元した被疑ディスク装置の新データと旧パリティに基づいて新パリティを算出し、
前記新データとパリティを正常ディスクと予備ディスク装置にライトし、
更にライトアドレス範囲に対応して正常ディスク装置のライト処理の正常終了又は異常終了、及び被疑ディスク装置のデータの有効又は無効を管理テーブルに登録し、
前記リード処理部は、
前記復元モードの設定中に上位装置から前記被疑ディスク装置に対するリードコマン
ドを受信した場合、正常ディスク装置からリードしたデータ及びパリティに基づき前記
被疑ディスク装置のリードデータを算出して応答し、
前記正常ディスク装置のリードが失敗した場合に前記管理テーブルから有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータをリード応答し、
前記復元処理部は、
前記復元モード設定中の上位装置からのアクセス空き時間に、前記正常ディスク装置
のアドレス範囲を順次指定しながらリードしたデータ及びパリティに基づき前記被疑デ
ィスク装置のリードデータを算出して予備ディスク装置へリビルドする復元処理を開始
し、
前記リビルド復元処理が失敗した場合に前記管理テーブルの有効アドレス範囲にあることを確認して前記被疑ディスク装置のデータを前記予備ディスク装置にコピーして復元し、
復元完了で前記被疑ディスク装置を切り離して予備ディスク装置に切替える、
ことを特徴とする記憶装置。
【０１６２】
（付記２１）
複数の記憶部と、前記記憶部へのデータ入出力を制御する制御部とを備えた記憶装置に於いて、
前記複数の記憶部のいずれかにエラーが発生した場合、予備記憶部にデータを復元するための復元モードを設定するエラー判定部と、
前記復元モード設定中にライトコマンドを受信したときに、ライトアドレス範囲に対応して、ライト処理の正常終了とエラーを発生した記憶部のデータの無効またはライト処理の異常終了とエラーを発生した記憶部のデータの有効を管理テーブルに登録するライト処理部と、
前記復元モード設定中に、正常な記憶部のアドレス範囲を指定しながらデータを予備記憶部に復元する処理を実行し、前記復元処理が失敗した際に、失敗したアドレス範囲のデータが有効であることを前記管理テーブルから確認して前記エラーを発生した記憶部のデータを前記予備記憶部に復元する復元処理部と、
を備えたことを特徴とする記憶装置。
【図面の簡単な説明】
【０１６３】
【図１】本発明の原理説明図
【図２】本発明が適用されるディスクアレイサブシステムのブロック図
【図３】ＲＡＩＤ１の冗長構成を対象とした本発明によるディスクアレイ制御装置の第1実施形態のブロック図
【図４】図３のディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の説明図
【図５】図３の中央処理モジュールに設けた管理テーブルの説明図
【図６】図３のディスクアレイ制御処理のフローチャート
【図７】図６におけるデータ復元処理のフローチャート
【図８】ＲＡＩＤ５の冗長構成を対象とした本発明によるディスクアレイ制御装置の第２実施形態のブロック図
【図９】図８のＲＡＩＤ５リード処理における被疑ディスク装置のデータ復元とライト処理における新パリティ計算と書込みを示した説明図
【図１０】図８のディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の説明図
【図１１】図８のディスクアレイ制御処理のフローチャート
【図１２】図１１におけるＲＡＩＤ５リード処理のフローチャート
【図１３】図１１におけるＲＡＩＤ５ライト処理のフローチャート
【図１４】図１１におけるデータ復元処理のフローチャート
【図１５】ＲＡＩＤ１の冗長構成を対象とした本発明によるディスクアレイ制御装置の第３実施形態のブロック図
【図１６】図８の中央処理モジュールに設けた管理テーブルの説明図
【図１７】図１５のディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の説明図
【図１８】図１５のディスクアレイ制御処理のフローチャート
【図１９】図１８におけるデータ復元処理のフローチャート
【図２０】ＲＡＩＤ５の冗長構成を対象とした本発明によるディスクアレイ制御装置の第４実施形態のブロック図
【図２１】図２０のディスクアレイ制御装置による復元モードでのリード処理、ライト処理及びデータ復元処理の説明図
【図２２】図２０のディスクアレイ制御処理のフローチャート
【図２３】図２２におけるＲＡＩＤ５リード処理のフローチャート
【図２４】図２２におけるＲＡＩＤ５ライト処理のフローチャート
【図２５】図２２におけるデータ復元処理のフローチャート
【符号の説明】
【０１６４】
１０：ディスクアレイサブシステム
１２：ディスクアレイ制御装置
１４−１，１４−２：デバイスエンクロージャ
１６：上位装置
１６−１，１６−２：ホスト
１８−１〜１８−４：チャネルアダプタ
２０−１〜２０−４：ルーター
２２−１〜２２−４：中央処理モジュール
２４−１〜２４−４：デバイスアダプタ
２６−１１〜２６−２ｎ：ディスク装置
２８，５８：ディスクアレイ
３０：プライマリディスク装置
３２：セカンダリディスク装置（被疑ディスク装置）
３４，６８：予備ディスク装置
３６：プロセッサ
３８：キャッシュ処理部
４０，７０，９０，１１０：エラー判定部
４２，７２，９２，，１１２：リード処理部
４４，７４，９４，１１４：ライト処理部
４６，７６，９６，１１６：データ復元処理部
４８，７８，９８，１１８：管理テーブル
６０，６２，６４：正常ディスク装置
６６：被疑ディスク装置
【図１】
2006139339.tif 000003
【図２】
2006139339.tif 000004
【図３】
2006139339.tif 000005
【図４】
2006139339.tif 000006
【図５】
2006139339.tif 000007
【図６】
2006139339.tif 000008
【図７】
2006139339.tif 000009
【図８】
2006139339.tif 000010
【図９】
2006139339.tif 000011
【図１０】
2006139339.tif 000012
【図１１】
2006139339.tif 000013
【図１２】
2006139339.tif 000014
【図１３】
2006139339.tif 000015
【図１４】
2006139339.tif 000016
【図１５】
2006139339.tif 000017
【図１６】
2006139339.tif 000018
【図１７】
2006139339.tif 000019
【図１８】
2006139339.tif 000020
【図１９】
2006139339.tif 000021
【図２０】
2006139339.tif 000022
【図２１】
2006139339.tif 000023
【図２２】
2006139339.tif 000024
【図２３】
2006139339.tif 000025
【図２４】
2006139339.tif 000026
【図２５】
2006139339.tif 000027