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