(57)【要約】【課題】ＲＡＩＤを構成するＨＤＤが故障した場合においても、当該ＨＤＤが復旧するまでの間、ホストからのリード／ライトアクセスに対する処理性能を低下させることなく稼働することができる磁気ディスク装置を提供する。【解決手段】ＲＡＩＤを構成するＨＤＤが故障した場合に、当該ＨＤＤが復旧するまでの間、他のＨＤＤに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態で稼働させる。【選択図】図１
2010026812.tif 000002
【特許請求の範囲】
【請求項１】
複数の磁気ディスクにより冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、
ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
前記磁気ディスクの状態を管理するＨＤＤ状態管理部と、
前記ＲＡＩＤグループの状態を管理するＲＡＩＤ状態管理部と、
前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、
前記ＨＤＤ状態管理部が磁気ディスクの障害を検知すると、
前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納し、
前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを冗長性レベルが下がったＲＡＩＤとして管理することを特徴とする磁気ディスク装置。
【請求項２】
前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理を実行し、
前記進捗管理部は、前記データ回復制御部による消失データの回復処理において、当該回復処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項１に記載の磁気ディスク装置。
【請求項３】
前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
前記対ホスト制御部は、
前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復され同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納されたデータを読み込み、
前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする請求項２に記載の磁気ディスク装置。
【請求項４】
前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、
前記対ホスト制御部は、
前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所にデータの書き込みを行い、
前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする請求項２に記載の磁気ディスク装置。
【請求項５】
複数の磁気ディスクにより冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、
ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
前記磁気ディスクの状態を管理するＨＤＤ状態管理部と、
前記ＲＡＩＤグループの状態を管理するＲＡＩＤ状態管理部と、
前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
前記磁気ディスク上の消失したパリティデータ再生成するパリティ再生成部と、
前記データ回復制御部による消失データの回復処理、及び前記パリティ再生成部による消失パリティデータの再生成処理の進捗を管理する進捗管理部とを備え、
前記ＨＤＤ状態管理部が磁気ディスクの障害を検知すると、
前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納し、
前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを冗長性レベルが下がったＲＡＩＤとして管理し、
前記ＨＤＤ状態管理部が磁気ディスクの復旧を検知すると、
前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データを前記復旧した磁気ディスク上の正常格納位置にコピーし、同ＲＡＩＤグループ内の磁気ディスク上のデータを用いて前記上書きにより消失したパリティデータを再生成し、当該再生成されたパリティデータを同ＲＡＩＤグループ内の磁気ディスク上の正常格納位置にコピーし、
前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを正常状態における冗長性レベルのＲＡＩＤとして管理することを特徴とする磁気ディスク装置。
【請求項６】
前記パリティ再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失パリティデータの再生成処理を実行し、
前記進捗管理部は、前記消失データの消失パリティデータの再生成処理において、当該再生成処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項５に記載の磁気ディスク装置。
【請求項７】
前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
前記対ホスト制御部は、
前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、
前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納された回復データを読み込むことを特徴とする請求項６に記載の磁気ディスク装置。
【請求項８】
前記パリティ再生成部による消失パリティデータの再生成処理中に、
ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、
前記対ホスト制御部は、
前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともにパリティデータの更新を行い、
前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所にデータの書き込みを行うことを特徴とする請求項６に記載の磁気ディスク装置。
【請求項９】
前記磁気ディスク装置は、第１パリティデータ及び第２パリティデータにより二重に冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、
前記データ回復制御部は、消失したデータ又は消失した第２パリティデータを回復し同ＲＡＩＤグループ内の第１パリティデータの格納場所に上書きして格納し、
前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを冗長性レベルが二重から一重に下がったＲＡＩＤとして管理することを特徴とする１から８のいずれか１項に記載の磁気ディスク装置。
【請求項１０】
前記磁気ディスク装置は、第１パリティデータ及び第２パリティデータにより二重に冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、
前記パリティ再生成部は、
前記パリティデータの格納場所に上書きして格納された回復データ及び回復第２パリティデータを前記復旧した磁気ディスク上の正常格納位置にコピーし、同ＲＡＩＤグループ内の磁気ディスク上のデータを用いて前記上書きにより消失した第１パリティデータを再生成し、当該再生成された第１パリティデータを同ＲＡＩＤグループ内の磁気ディスク上の正常格納位置にコピーし、
前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを二重の冗長性レベルのＲＡＩＤとして管理することを特徴とする請求項５から８のいずれか１項に記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを冗長化・分散化して記憶するＲＡＩＤ方式の磁気ディスク装置に関し、特に、ＲＡＩＤを構成するディスクの故障時においても処理性能を低下させることなく稼働できる磁気ディスクに関するものである。
【背景技術】
【０００２】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙｓ ｏｆ Ｉｎｅｘｅｎｓｉｖｅ Ｄｉｓｋｓ）方式の磁気ディスク装置とは、複数台の磁気ハードディスク（以下、「ＨＤＤ」という）の集合を１台の記憶装置として管理するものであり、データを複数ブロック単位（あるいはビット・バイト単位）で分散化して記憶したり、データを２重化（あるいは多重化）して記憶したり、エラー検出・訂正用データを付加したりすることで、処理性能、信頼性、可用性の向上が図られている。
現在、ＲＡＩＤ方式としては、ＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ２、ＲＡＩＤ３、ＲＡＩＤ４、ＲＡＩＤ５、ＲＡＩＤ６などが利用されている。
【０００３】
ＲＡＩＤ方式の中でも、特に、ＲＡＩＤ５、ＲＡＩＤ６は、エラー訂正用パリティデータを各ＨＤＤに分散させて記憶させることで、１台又は２台のＨＤＤが故障しても完全なデータ復旧が可能であることを特徴とし、信頼性、可用性が高く、かつ、経済的なストレージシステムを構築可能であるので、広く利用されている。
【０００４】
特許文献１には、一般的なＲＡＩＤ方式の磁気ディスク装置が開示されており、特に、データ消失の恐れなく、磁気ディスクの記憶データを書き換えて、ＲＡＩＤレベルをＲＡＩＤ５からＲＡＩＤ０に変換するＬＤＥ（Ｌｏｇｉｃａｌ Ｄｉｓｋ Ｅｘｐａｎｓｉｏｎ）技術が開示されている。
【特許文献１】特開２００７−３２３２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＲＡＩＤ５、ＲＡＩＤ６等のパリティデータ付きＲＡＩＤでは、ＨＤＤが故障した場合、他のＨＤＤが記憶しているデータとパリティデータとを用いて、ＨＤＤ故障により消失したデータを復旧することができる。
しかしながら、アレイのＨＤＤ数が多いと、多数のＨＤＤからデータ及びパリティデータを読み出す必要があるので、消失データの復旧に相当な時間がかかってしまう。
また、復旧したデータは、キャッシュ上に全て残しておく事は出来ないため、故障したＨＤＤ内のデータをアクセスは殆ど、同ＲＡＩＤグループ内の他ＨＤＤから回復したデータとなる。その他、ホストからのランダムアクセスは、処理性能が極めて低くなってしまう。さらには、故障したＨＤＤのデータ復旧のためには、ホストからのライトアクセスに対してパリティ生成を継続しなければならないことも、処理性能を圧迫する。
【０００６】
本発明は、このような実情に鑑みてなされたものであり、ＲＡＩＤを構成するＨＤＤが故障した場合でにおいても、当該ＨＤＤが復旧するまでの間、ホストからのリード／ライトアクセスに対する処理性能を低下させることなく稼働することができる磁気ディスク装置を提供しようとするものである。
【課題を解決するための手段】
【０００７】
上記課題に鑑みて鋭意研究の結果、本発明者は、ＲＡＩＤを構成するＨＤＤが故障した場合に、当該ＨＤＤが復旧するまでの間、他のＨＤＤに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態（例えば、ＲＡＩＤ５の場合はＲＡＩＤ０に下げる）で稼働させることに想到し、本発明をなすに至った。
【０００８】
すなわち、本発明は、複数の磁気ディスクにより冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するＨＤＤ状態管理部と、前記ＲＡＩＤグループの状態を管理するＲＡＩＤ状態管理部と、前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、前記ＨＤＤ状態管理部が磁気ディスクの障害を検知すると、前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納し、前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを冗長性レベルが下がったＲＡＩＤとして管理することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク障害発生により消失したデータをパリティデータを用いて回復した後、当該パリティデータに置き換えることにより、当該ＨＤＤが復旧するまでの間、冗長性レベルをダウンした状態で維持・運用することが可能である。
【０００９】
本発明の磁気ディスク装置において、前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理を実行し、前記進捗管理部は、前記データ回復制御部による消失データの回復処理において、当該回復処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失データの回復処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
【００１０】
前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復され同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納されたデータを読み込み、前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする。
【００１１】
また、前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所にデータの書き込みを行い、前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同ＲＡＩＤグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする。
【００１２】
本発明は、また、複数の磁気ディスクにより冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するＨＤＤ状態管理部と、前記ＲＡＩＤグループの状態を管理するＲＡＩＤ状態管理部と、前記磁気ディスク上の消失したパリティデータ再生成するパリティ再生成部とを備え、前記ＨＤＤ状態管理部が磁気ディスクの復旧を検知すると、前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データを前記復旧した磁気ディスク上の正常格納位置にコピーし、同ＲＡＩＤグループ内の磁気ディスク上のデータを用いて前記上書きにより消失したパリティデータを再生成し、当該再生成されたパリティデータを同ＲＡＩＤグループ内の磁気ディスク上の正常格納位置にコピーし、前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを正常状態における冗長性レベルのＲＡＩＤとして管理することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク復旧後に、消失したデータを元の格納位置に戻すとともに、上書きにより消されたパリティデータを回復することにより、障害発生前の状態のＨＤＤが復元され、本来の冗長性レベルでの運用を再開することが可能である。
【００１３】
本発明の磁気ディスク装置において、前記パリティ再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失パリティデータの再生成処理を実行し、前記進捗管理部は、前記消失パリティデータの再生成処理において、当該再生成処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失パリティデータの再生成処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
【００１４】
前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所に上書きして格納された回復データを読み込むことを特徴とする。
【００１５】
前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともにパリティデータの更新を行い、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同ＲＡＩＤグループ内のパリティデータの格納場所にデータの書き込みを行うことを特徴とする。
【００１６】
上記した本発明の磁気ディスク装置は、冗長性を有するＲＡＩＤ２、ＲＡＩＤ３，ＲＡＩＤ４，ＲＡＩＤ５などに応用可能であるほか、ダブルパリティ方式を採用するＲＡＩＤ６等においても好適に適用可能である。以下はＲＡＩＤ６に代表されるダブルパリティ方式の磁気ディスク装置への適用形態である。
【００１７】
本発明の磁気ディスク装置において、前記磁気ディスク装置は、第１パリティデータ及び第２パリティデータにより二重に冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、前記データ回復制御部は、消失したデータ又は消失した第２パリティデータを回復し同ＲＡＩＤグループ内の第１パリティデータの格納場所に上書きして格納し、前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを冗長性レベルが二重から一重に下がったＲＡＩＤとして管理することを特徴とする。
このように、磁気ディスクの障害発生時に、パリティデータを用いて消失データ及び消失パリティデータの一部を回復し、ダブルパリティのうち一方のパリティデータと置き換えることにより、当該ＨＤＤが復旧するまでの間、冗長性レベルをシングルパリティに下げた状態で、磁気ディスク装置を維持・運用することが可能である。
【００１８】
本発明の磁気ディスク装置において、前記磁気ディスク装置は、第１パリティデータ及び第２パリティデータにより二重に冗長性を有するＲＡＩＤグループを構成する磁気ディスク装置であって、前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データ及び回復第２パリティデータを前記復旧した磁気ディスク上の正常格納位置にコピーし、同ＲＡＩＤグループ内の磁気ディスク上のデータを用いて前記上書きにより消失した第１パリティデータを再生成し、当該再生成された第１パリティデータを同ＲＡＩＤグループ内の磁気ディスク上の正常格納位置にコピーし、前記ＲＡＩＤ状態管理部は、当該ＲＡＩＤグループを二重の冗長性レベルのＲＡＩＤとして管理することを特徴とする。
このように、磁気ディスク復旧後に、消失したデータ及びパリティデータを元の格納位置に戻すとともに、上書きにより消されたパリティデータを回復することにより、障害発生前の状態のＨＤＤが復元され、ダブルパリティ方式での運用を再開することが可能である。
【発明の効果】
【００１９】
以上、説明したように、本発明の磁気ディスク装置は、磁気ディスク障害発生の際に、パリティデータを用いて消失したデータを回復し、回復データを当該パリティデータに置き換えて、冗長性レベルをダウンした状態で維持・運用することにより、ホストからのリード／ライトアクセスに対する処理性能を大幅に低下させることなく稼働することが可能である。
【００２０】
一方で、磁気ディスクが復旧した際にも、回復データを本来の磁気ディスク上の格納位置に回復するとともに、消去されていたパリティデータを本来の磁気ディスク上の格納位置に回復することで、障害発生前の磁気ディスクの状態として再稼動可能となる。この復旧後から完全回復までの間においても、ホストからのリード／ライトアクセスに対する処理性能を大幅に低下させることなく稼働することが可能である。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照しながら、本発明の磁気ディスク装置を実施するための最良の形態を詳細に説明する。図１〜図９は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
【００２２】
＜構成＞
図１は、本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。
図１に示すように、本実施形態の磁気ディスク装置２１は、ホストインタフェース２２と、キャッシュメモリ２３と、ドライブインタフェース２４と、ホストコンピュータ１１からのリードライト要求を処理する対ホスト制御部３１と、ＲＡＩＤ構成のＨＤＤ群を制御する対ドライブ制御部４１と、ＲＡＩＤを構成する複数のＨＤＤからなるドライブモジュール６１とを有している。
【００２３】
対ホスト制御部３１は、ホストコンピュータ１１からのリード要求を処理するリード処理部３２と、ライト要求を処理するライト処理部３３とを有している。
【００２４】
対ドライブ制御部４１は、ドライブモジュール６１における各ＨＤＤの稼働状態を管理するＨＤＤ状態管理部４２と、ドライブモジュール６１のＲＡＩＤの稼働状態を管理するＲＡＩＤ状態管理部４３と、ＨＤＤ障害時に消失データの回復及び復旧を行う回復／復旧コピー機能部４４と、消失データの回復及び復旧処理におけるデータコピー作業を管理するコピー進捗管理部５１と、タイマ監視部５３とを有している。
【００２５】
回復／復旧コピー機能部４４は、障害の発生したＨＤＤ以外のＨＤＤに記憶されたデータ及びパリティデータから消失データを回復させるデータ回復制御部４４Ａと、回復されたデータのパリティデータを再生成するパリティ再生部４４Ｂとを有している。
コピー進捗管理部５１は、消失データの回復及び復旧処理におけるデータコピー作業の進捗に関する情報として、コピー中ポインタ５２Ａとコピー済ポインタ５２Ｂとを有している。
【００２６】
ドライブモジュール６１は、ＨＤＤ＃０〜＃１１の１２台のＨＤＤを有している。ＨＤＤ＃０〜＃３がＲＡＩＤグループ＃０（６２）を構成し、ＨＤＤ＃４〜＃１１がＲＡＩＤグループ＃１（６３）を構成している。ＲＡＩＤグループ＃０は、３Ｄ＋１ＰのＲＡＩＤ５であり、ＲＡＩＤグループ＃１は、６Ｄ＋２ＰのＲＡＩＤ６である。
【００２７】
＜障害対応の原理＞
図２は、本実施形態の磁気ディスク装置におけるＨＤＤ障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。
図２（Ａ）に、正常状態のＲＡＩＤシステムの構成を示している。図中、Ｄ０〜Ｄ５はデータブロックを示し、Ｐ０〜Ｐ２はパリティブロックを示している。ここでは簡略化のため、ＨＤＤ３台でＲＡＩＤ５を構成し、各ＨＤＤを３つのストライプに分割した場合を例示するが、本原理は一般的なＲＡＩＤシステムに応用が可能である。
【００２８】
図２（Ｂ）−１,２に示すように、ＨＤＤ＃２に障害が発生した場合、ＨＤＤ＃２に格納されていたデータブロック及びパリティブロックは消失する。そこで、磁気ディスク装置の対ドライブ制御部４１は、正常状態のＨＤＤ＃０及びＨＤＤ＃１に格納されたデータブロック及びパリティブロックから、消失したデータブロックを回復する。回復されたデータブロックは、当該回復に必要となったパリティブロックの格納場所に格納される。こうして、ＲＡＩＤシステム全体としては、消失されたデータブロックがＨＤＤ上に回復されるとともに、冗長性が失われることとなる。すなわち、ＲＡＩＤ５からＲＡＩＤ０に構成変更されたこととなる。
その後、ＨＤＤ＃２が障害から復旧されると、図２（Ｃ）−１〜（Ｃ）−３に示すように、ＨＤＤ＃２の復旧及び、ＨＤＤ＃０，＃１のパリティの回復が行われる。まず、図（Ｃ）−１は、ＨＤＤ＃２への復旧の対象がパリティブロックであるため、パリティブロックの再生成及び、ＨＤＤ＃２へのパリティブロックの格納が行われる。
【００２９】
続いて、図２（Ｃ）−２，（Ｃ）−３に示すよに、ＨＤＤ＃２への復旧の対象がデータブロックであり、ＨＤＤ＃２の回復処理失敗に備えるための順序で処理をおこなう。まず、パリティブロックを、データブロックから先に再生成する。その後、ＨＤＤ＃２へデータブロックを格納し、次にパリティブロックを元の格納位置に格納する。
このようにして、ＲＡＩＤシステムは再び、図２（Ａ）に示す正常状態のＲＡＩＤシステムに戻ることができる。
【００３０】
図３は、図１に示す磁気ディスク装置２１におけるＨＤＤ状態管理部４２及びＲＡＩＤ状態管理部４３によるＨＤＤ及びＲＡＩＤの状態管理の方法を示す図である。
図示するように、図１に示す各ＲＡＩＤグループの各ＨＤＤについては、正常、閉塞、復旧中の３つの状態が設定されている。これに対応して、各ＲＡＩＤグループついては、正常状態のほか、ＨＤＤ閉塞状態で消失データの回復・コピーの実行中とその完了の状態が設定され、さらに、ＨＤＤ復旧中の状態でパリティ復旧・コピーの状態が設定されている。このように、ＨＤＤ状態とＲＡＩＤ状態とは関連付けられて管理されている。
【００３１】
＜動作＞
次に、本実施形態の磁気ディスク装置におけるＨＤＤ障害発生時の回復・復旧のための動作について、ＲＡＩＤ５の場合とＲＡＩＤ６の場合とに分けて、詳細に説明する。
【００３２】
＜障害対応の動作（ＲＡＩＤ５）＞
図４は、図１に示す本実施形態の磁気ディスク装置において、ＲＡＩＤ５で構成したＲＡＩＤグループ＃０（６２）のうち１台のＨＤＤに障害が発生した場合のデータ回復コピー動作を説明する図である。以下に説明するデータ回復コピー動作は、磁気ディスク装置２１の回復／復旧コピー機能部４４のデータ回復制御部４４Ａが、上記した障害対応の原理に基づいて実行・管理する。
【００３３】
データ回復コピー動作においては、図２（Ｂ）に示すのと同様に、各ＨＤＤの先頭論理ブロック（ストライプ）から順に、当該ストライプに属するデータブロック及びパリティブロックから消失データブロックを回復し、回復されたデータブロックをパリティブロックの格納場所に上書きして格納する。図示するように、このコピー及び回復動作は、キャッシュメモリ２３上の作業領域で行われる。すなわち、回復処理に必要なデータブロック及びパリティブロックが、キャッシュメモリ２３上の作業領域にコピー（ステージ）され、回復されたデータブロックがＨＤＤ上の格納場所にコピー（デステージ）される。
以下の説明において、便宜上、ＨＤＤ上のデータをキャッシュメモリに読み込むことを「ステージ」といい、キャッシュメモリ上のデータをＨＤＤに書き込むことを「デステージ」という。
【００３４】
１つの論理ブロック（ストライプ）について、消失データブロック回復処理が完了すると、次の論理ブロック（ストライプ）に作業が移行する。ここで、本実施形態の磁気ディスク装置では、コピー進捗管理部５１により、消失データブロック回復処理の進捗状況を管理している。具体的には、図示するように、論理ブロック（ストライプ）単位で、消失データブロック回復処理が完了した位置を示すコピー済ポインタ５２Ｂと、現在データブロック回復処理中である先頭位置とを示すコピー中ポインタ５２Ａとを用いて管理している。これらのポインタにより、論理ブロック（ストライプ）単位で、データ回復コピー済み範囲、データ回復コピー中範囲、データ回復コピー未着手範囲が容易に把握できるようになっている。
尚、図中、ストライプ＃１のようにパリティブロックが消失している論理ブロック（ストライプ）については、データブロック回復処理は行う必要がなく、コピー進捗ポインタ更新処理のみを行えばよい。
【００３５】
コピー進捗管理部５１は、データ回復コピーを開始した先頭論理ブロックにコピー済ポインタを加算した結果が最終論理ブロックと等しくなった時点で、データ回復コピー動作を完了とする。また、データブロック回復処理におけるステージングデータの位置、回復データの同一ストライプ列内のパリティ位置を求める際にも、各ＨＤＤの先頭論理ブロックにコピー進捗ポインタを加算して求めるものとする。このため、コピー進捗ポインタは、オフセット形式の値で記憶するのが好ましい。
【００３６】
図５は、図１に示す本実施形態の磁気ディスク装置において、図４に示すデータ回復コピー動作が完了し、閉塞していたＨＤＤが回復された際におけるパリティ復旧コピー動作を説明する図である。以下に説明するパリティ復旧コピー動作は、磁気ディスク装置２１の回復／復旧コピー機能部４４のパリティ再生部４４Ｂが、上記した障害対応の原理に基づいて実行・管理する。
【００３７】
パリティ復旧コピー動作においては、図２（Ｃ）及び（Ｄ）に示すのと同様に、各ＨＤＤの先頭論理ブロック（ストライプ）から順に、当該ストライプに属するデータブロックを正常な格納位置にコピーするとともに、これらのデータブロックからパリティブロック再生成し、パリティブロックの格納場所に上書きして格納する。図示するように、これらのコピー、再生成、格納動作は、キャッシュメモリ２３上の作業領域で行われる。すなわち、パリティ復旧コピー処理に必要なデータブロックが、キャッシュメモリ２３上の作業領域にコピー（ステージ）され、データブロックが正常な格納位置に再コピー（デステージ）されるとともに、再生成されたパリティブロックがパリティブロックの格納場所にコピー（デステージ）される。
【００３８】
１つの論理ブロック（ストライプ）について、パリティ復旧コピー処理が完了すると、次の論理ブロック（ストライプ）に作業が移行する。ここで、本実施形態の磁気ディスク装置では、コピー進捗管理部５１により、消失データブロック回復処理の進捗状況を管理している。具体的には、図示するように、論理ブロック（ストライプ）単位で、パリティ復旧コピー処理が完了した位置を示すコピー済ポインタ５２Ｂと、現在データブロック回復処理中である先頭位置とを示すコピー中ポインタ５２Ａとを用いて管理している。これらのポインタにより、論理ブロック（ストライプ）単位で、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲、パリティ復旧コピー未着手範囲が容易に把握できるようになっている。コピー進捗管理部５１及びコピー中ポインタ５２Ａ、コピー済ポインタ５２Ｂについては、上記データ回復コピー動作と同様である。
尚、図中、ストライプ＃１のようにデータブロックが全て正常な格納位置にある論理ブロック（ストライプ）については、データブロックの再コピー処理は行う必要がなく、パリティの再生成及びコピー処理のみを行えばよい。
【００３９】
以上、ＲＡＩＤ５の場合における障害対応の動作について説明したが、パリティが１台のパリティディスクに集約されているＲＡＩＤ３、ＲＡＩＤ４についても、全く同様に適用することが可能である。また、データからハミングコード（ＥＣＣコード）を生成し、ビット毎に複数のＨＤＤに分散して記憶するＲＡＩＤ２についても、全く同様に適用することが可能である。
【００４０】
＜障害対応の動作（ＲＡＩＤ６）＞
図６は、図１に示す本実施形態の磁気ディスク装置において、ＲＡＩＤ６で構成したＲＡＩＤグループ＃１（６３）のうち１台のＨＤＤに障害が発生した場合のデータ回復コピー動作を説明する図である。以下に説明するデータ回復コピー動作は、磁気ディスク装置２１の回復／復旧コピー機能部４４のデータ回復制御部４４Ａが、上記した障害対応の原理をダブルパリティ方式のＲＡＩＤ６に応用して、実行・管理する。
【００４１】
データ回復コピー動作においては、図４に示すのと同様に、各ＨＤＤの先頭論理ブロック（ストライプ）から順に、当該ストライプに属するデータブロック及びパリティブロックから消失データブロック又は消失パリティブロックを回復し、回復されたデータブロックを所定の格納場所に上書きして格納する。
【００４２】
ここで、ＲＡＩＤ６の場合にはＲＡＩＤグループ内に第１パリティブロックＰ０〜ｎ（平行ＸＯＲパリティ）及び第２パリティブロックＱ０〜ｎ（平行ＥＣＣパリティ）が用いられるが、消失し回復させたデータブロックは第１パリティブロック上に上書きするものとし、消失した第１パリティブロックは回復をせず、消失した第２パリティブロックは回復して第１パリティブロック上に上書きするものとする。尚、第１パリティブロックの消失については、後のパリティ復旧コピー動作において回復処理を行う。
【００４３】
図示するように、このコピー及び回復動作は、キャッシュメモリ２３上の作業領域で行われる。すなわち、回復処理に必要なデータブロック及びパリティブロックが、キャッシュメモリ２３上の作業領域にコピー（ステージ）され、回復されたデータブロック及び第２パリティブロックがＨＤＤ上の格納場所にコピー（デステージ）される。
【００４４】
１つの論理ブロック（ストライプ）について、消失データブロック回復処理が完了すると、次の論理ブロック（ストライプ）に作業が移行する。
ここで、コピーポインタによる進捗管理、並びにコピーポインタを用いたステージングデータの位置算出については、上記したＲＡＩＤ５の場合と同様であるので、説明を省略する。
【００４５】
図７は、図１に示す本実施形態の磁気ディスク装置において、図６に示すデータ回復コピー動作が完了し、閉塞していたＨＤＤが回復された際におけるパリティ復旧コピー動作を説明する図である。以下に説明するパリティ復旧コピー動作は、磁気ディスク装置２１の回復／復旧コピー機能部４４のパリティ再生部４４Ｂが、上記した障害対応の原理に基づいて実行・管理する。
【００４６】
パリティ復旧コピー動作においては、図５に示すのと同様に、各ＨＤＤの先頭論理ブロック（ストライプ）から順に、当該ストライプに属するデータブロック又は第２パリティブロックを正常な格納位置にコピーするとともに、これらのデータブロックから消失した第１パリティブロック再生成し、第１パリティブロックの格納場所に上書きして格納する。図示するように、これらのコピー、再生成、格納動作は、キャッシュメモリ２３上の作業領域で行われる。すなわち、パリティ復旧コピー処理に必要なデータブロックが、キャッシュメモリ２３上の作業領域にコピー（ステージ）され、データブロック又は第２パリティブロックが正常な格納位置に再コピー（デステージ）されるとともに、再生成された第１パリティブロックがパリティブロックの格納場所にコピー（デステージ）される。
【００４７】
１つの論理ブロック（ストライプ）について、消失データブロック回復処理が完了すると、次の論理ブロック（ストライプ）に作業が移行する。
ここで、コピーポインタによる進捗管理、並びにコピーポインタを用いたステージングデータの位置算出については、上記したＲＡＩＤ５の場合と同様であるので、説明を省略する。
【００４８】
ダブルパリティ方式を採用するＲＡＩＤ６では、１つのデータブロックの消失に対しては、他のデータブロックと１つのパリティブロックのみを用いて回復が可能である。そこで、上記のように、データ回復コピー動作においては、第２パリティブロックの消失についてのみ回復処理を行い、後のパリティ復旧コピー動作において、第１パリティブロックの消失についての回復処理を行うようにすることで、各動作時でのパリティ回復にかかる処理負荷が分散され、迅速な障害対応処理を行うことが可能となっている。
尚、上記では、冗長性レベルをダブルパリティからシングルパリティに下げて障害発生したＨＤＤの復旧を待つこととしているが、シングルパリティの状態でさらに他のＨＤＤに障害が発生した場合には、上記のＲＡＩＤ５の例と同様にしてさらに冗長性レベルを下げて対応することが可能である。この場合、復旧の手順は、上記のＲＡＩＤ５の例と同様のパリティ再生成処理を行った後、以下に説明するＲＡＩＤ６におけるパリティ再生成処理を行えば、障害前の状態への復旧が可能である。
【００４９】
＜閉塞中又は復旧中のＨＤＤへのアクセス＞
次に、本実施形態の磁気ディスク装置におけるＨＤＤ障害発生時の閉塞中又は復旧中のＨＤＤへのアクセスの処理方法について、図４及び図５に示したＲＡＩＤ５の場合を例に挙げて、詳細に説明する。
このアクセス処理は、図１に示す磁気ディスク装置２１の対ホスト制御部３１のリード処理部３２及びライト処理部３３が実行する。
【００５０】
＜データ回復コピー動作中の閉塞ＨＤＤへのアクセス＞
図８は、本実施形態の磁気ディスク装置において、ホストコンピュータ１１からのデータ回復コピー動作中の閉塞ＨＤＤへのアクセスの処理方法を説明する図である。図示するように、データ回復コピー動作中の閉塞ＨＤＤへのアクセスは全て、キャッシュメモリ２３上のデータブロックに対して行われるものとする。以下、アクセス対象データが、データ回復コピー済み範囲、データ回復コピー中範囲、データ回復コピー未着手範囲のそれぞれにある場合について、説明する。
【００５１】
（１），（２）アクセス対象データがデータ回復コピー済み範囲にある場合
図８において、コピー済み範囲であるストライプ＃０のデータブロックＤ２は、キャッシュメモリからＨＤＤ＃３へのデステージが完了しているため、キャッシュメモリ上にはデータブロックＤ２は存在しない。この場合、対ホスト制御部３１は、ＨＤＤ＃３からデータブロックＤ２を再ステージさせ、このキャッシュメモリ上のデータブロックＤ２にアクセスする。（（１）の場合。）
一方、コピー済み範囲であるストライプ＃２のデータブロックＤ６は、キャッシュメモリからＨＤＤ＃１へのデステージが未完了であるため、対ホスト制御部３１は、キャッシュメモリ上に残存するデータブロックＤ６にアクセスすることができる。（（２）の場合。）
【００５２】
（３）アクセス対象データがデータ回復コピー中範囲にある場合
図８において、コピー中範囲であるストライプ＃３のデータブロックＤ１０にアクセスする場合、データブロックＤ１０はこれからキャッシュメモリ上に回復されるため、対ホスト制御部３１は、キャッシュメモリ上でデータブロックＤ１０にヒットするまで、複数回アクセスを再試行する。（再試行は図１に示すタイマ監視部５３が管理する。）
【００５３】
（４）アクセス対象データがデータ回復コピー未着手範囲にある場合
図８において、コピー未着手範囲であるストライプ＃ｍのデータブロックＤｎ−１にアクセスする場合、対ホスト制御部３１は、ＨＤＤ＃０、ＨＤＤ＃１、ＨＤＤ＃３からパリティブロックＰｍ、データブロックＤｎ−２、データブロックＤｎを再ステージさせ、これらからキャッシュメモリ上に回復されたデータブロックＤｎ−１にアクセスする。
【００５４】
本実施形態の磁気ディスク装置においては、以上のようにして、データ回復コピー動作中の閉塞ＨＤＤについても、ホストコンピュータ１１からのアクセスに対して処理性能を低下させることなく応答することができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、データ回復コピー済み範囲、データ回復コピー中範囲のデータ書き込みの際には、パリティ生成を行わず、データ回復コピー未着手範囲のデータ書き込みの際には、同ストライプ上のデータブロック及びパリティブロックからライト処理後のデータブロックが回復されるように当該パリティブロックを書き換えるようにすることで、データ回復コピー動作の進捗状況に関わらず、ライト処理を行うことができる。
【００５５】
＜パリティ復旧コピー動作中の復旧中ＨＤＤへのアクセス＞
図９は、本実施形態の磁気ディスク装置において、ホストコンピュータ１１からのパリティ復旧コピー動作中の復旧中ＨＤＤへのアクセスの処理方法を説明する図である。図示するように、パリティ復旧コピー動作中の復旧中ＨＤＤへのアクセスは全て、キャッシュメモリ２３上のデータブロックに対して行われるものとする。以下、アクセス対象データが、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲、パリティ復旧コピー未着手範囲のそれぞれにある場合について、説明する。
【００５６】
（１），（２）アクセス対象データがパリティ復旧コピー済み範囲にある場合
図９において、コピー済み範囲であるストライプ＃０のデータブロックＤ２は、キャッシュメモリから復旧したＨＤＤへの格納が完了しているため、キャッシュメモリ上にはデータブロックＤ２は存在しない。この場合、対ホスト制御部３１は、復旧したＨＤＤからデータブロックＤ２を再ステージさせ、このキャッシュメモリ上のデータブロックＤ２にアクセスする。（（１）の場合。）
一方、コピー済み範囲であるストライプ＃２のデータブロックＤ６は、キャッシュメモリから復旧したＨＤＤへの格納（デステージ）が完了しているが、パリティブロックＰ２の復旧コピー処理中であり、キャッシュメモリ上に残存しているため、対ホスト制御部３１は、キャッシュメモリ上のデータブロックＤ６にアクセスすることができる。（（２）の場合。）
【００５７】
（３）アクセス対象データがパリティ復旧コピー中範囲にある場合
図９において、コピー中範囲であるストライプ＃３のデータブロックＤ１０にアクセスする場合、データブロックＤ１０は、パリティブロックＰ３の復旧コピー処理のためにこれからキャッシュメモリ上に回復されるため、対ホスト制御部３１は、キャッシュメモリ上でデータブロックＤ１０にヒットするまで、複数回アクセスを再試行する。（再試行は図１に示すタイマ監視部５３が管理する。）
【００５８】
（４）アクセス対象データがパリティ復旧コピー未着手範囲にある場合
図９において、コピー未着手範囲であるストライプ＃ｍのデータブロックＤｎ−１にアクセスする場合、対ホスト制御部３１は、ＨＤＤ＃０上に格納されているデータブロックＤｎ−１をキャッシュメモリ上にステージさせ、このステージされたデータブロックＤｎ−１にアクセスする。
【００５９】
本実施形態の磁気ディスク装置においては、以上のようにして、パリティ復旧コピー動作中の復旧中ＨＤＤについても、ホストコンピュータ１１からのアクセスに対して処理性能を低下させることなく応答することができる
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲のデータ書き込みの際には、データ書き込みとともにパリティ生成を行い、パリティ復旧コピー未着手範囲のデータ書き込みの際には、データ書き込みのみを行いパリティ生成を行わないようにすることで、パリティ復旧コピー動作の進捗状況に関わらず、ライト処理を行うことができる。
【００６０】
以上、本発明の磁気ディスク装置について、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、上記各実施形態における磁気ディスクの構成、ＲＡＩＤ構成、ホストからのリードライト制御、対ドライブ制御などについて、本発明の要旨を逸脱しない範囲内において適当な変更・改良を加えることが可能である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。
【図２】図１に示す磁気ディスク装置におけるＨＤＤ障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。
【図３】図１に示すＨＤＤ状態管理部及びＲＡＩＤ状態管理部によるＨＤＤ及びＲＡＩＤの状態管理の方法を示す図である。
【図４】図１に示す本実施形態の磁気ディスク装置において、ＲＡＩＤ５で構成したＲＡＩＤグループ＃０のうち１台のＨＤＤに障害が発生した場合のデータ回復コピー動作を説明する図である。
【図５】図１に示す本実施形態の磁気ディスク装置において、図４に示すデータ回復コピー動作が完了し、閉塞していたＨＤＤが回復された際におけるパリティ復旧コピー動作を説明する図である。
【図６】図１に示す本実施形態の磁気ディスク装置において、ＲＡＩＤ６で構成したＲＡＩＤグループ＃１のうち１台のＨＤＤに障害が発生した場合のデータ回復コピー動作を説明する図である。
【図７】図１に示す本実施形態の磁気ディスク装置において、図６に示すデータ回復コピー動作が完了し、閉塞していたＨＤＤが回復された際におけるパリティ復旧コピー動作を説明する図である。
【図８】本実施形態の磁気ディスク装置において、ホストからのデータ回復コピー動作中の閉塞ＨＤＤへのアクセスの処理方法を説明する図である。
【図９】本実施形態の磁気ディスク装置において、ホストからのパリティ復旧コピー動作中の復旧中ＨＤＤへのアクセスの処理方法を説明する図である。
【符号の説明】
【００６２】
１１  ホストコンピュータ
２１  磁気ディスク装置
２２  ホストインタフェース
２３  キャッシュメモリ
２４  ドライブインタフェース
３１  対ホスト制御部
３２  リード処理部
３３  ライト処理部
４１  対ドライブ制御部
４２  ＨＤＤ状態管理部
４３  ＲＡＩＤ状態管理部
４４  復旧コピー機能部
４４Ａ  データ回復制御部
４４Ｂ  パリティ再生部
５１  コピー進捗管理部
５２Ａ  コピー中ポインタ
５２Ｂ  コピー済ポインタ
５３  タイマ監視部
６１  ドライブモジュール
６２  ＲＡＩＤグループ＃０
６３  ＲＡＩＤグループ＃１
【図１】
2010026812.tif 000003
【図２】
2010026812.tif 000004
【図３】
2010026812.tif 000005
【図４】
2010026812.tif 000006
【図５】
2010026812.tif 000007
【図６】
2010026812.tif 000008
【図７】
2010026812.tif 000009
【図８】
2010026812.tif 000010
【図９】
2010026812.tif 000011