(57)【特許請求の範囲】
【請求項１】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データをＮ台のデバイスに格納して多重化した第１論理グループと、同一データを少なくとも（Ｎ＋１）台のデバイスに格納して多重化した第２論理グループとを構築する構成制御部と、
前記第１論理グループで１台のデバイスが故障して冗長性が失われた際に、前記第２論理グループの１台のデバイスを第１論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２】
請求項１記載のデバイスアレイ・システムに於いて、
前記構成制御部は、前記論理グループとして、同一データを２台のデバイスに格納して２重化した第１論理グループと、同一データを３台のデバイスに格納して３重化した第２論理グループとを構築し、
前記故障処理部は、前記第１論理グループで１台のデバイスが故障して冗長性が失われた際に、前記第２論理グループのデバイスを第１論理グループに取込み、故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。
【請求項３】
請求項１記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第１論理グループの故障デバイスを正常なデバイスに交換した際に、交換デバイスを前記第１論理グループに取り込んで前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスを第２論理グループに戻して元のデータを復元することを特徴とするデバイスアレイ・システム。
【請求項４】
請求項１記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第１論理グループの故障デバイスを正常なデバイスに交換した際に、交換デバイスを前記第２論理グループに取り込んでデータを復元し、前記故障代替デバイスは第１論理グループにそのまま残すことを特徴とするデバイスアレイ・システム。
【請求項５】
請求項１記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第１論理グループで１台のデバイスが故障して冗長性が失われ、前記第２論理グループのデバイスを第１論理グループに取り込んで故障代替デバイスとしてデータを復元させた後に、前記第１論理グループで更に１台のデバイスが故障した場合は、他の第２論理グループのデバイスを第１論理グループに取り込んで故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。
【請求項６】
請求項１記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第１論理グループの故障代替デバイスを前記第２論理グループから取り込む際に、前記故障デバイスと同一ポートに接続している第２論理グループのデバイスを優先的に選択することを特徴とするデバイスアレイ・システム。
【請求項７】
請求項１記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第２論理グループのデバイスが故障した場合は、該故障デバイスを切り離した状態でアクセスを継続させ、前記故障デバイスが正常なデバイスに交換された際に第２論理グループに戻してデータを復元することを特徴とするデバイスアレイ・システム。
【請求項８】
請求項１記載のデバイスアレイ・システムに於いて、
前記構成制御部は、前記第２論理グループとして（Ｎ＋１）重化、（Ｎ＋２）重化等の冗長性の異なる複数の第２論理グループを構築し、
前記故障処理部は、前記第１論理グループでデバイスが故障して冗長性が失われた際に、前記複数の第２論理グループの中の最も冗長性の高いグループのデバイスを第１論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。
【請求項９】
請求項１記載のデバイスアレイ・システムに於いて、
前記デバイスアレイユニットは、磁気ディスク装置と半導体メモリで構成されており、  前記構成制御部は、前記第２論理グループの複数デバイスの中に少なくとも１台の半導体メモリを配置し、
前記故障処理部は、前記第１論理グループでデバイスが故障して冗長性が失われた際に、前記第２論理グループの半導体メモリを第１論理グループに組み込んで故障デバイスの代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。
【請求項１０】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、データを分割して複数台のデータデバイスの各々に格納すると共に、複数台のパリティデバイスの各々に前記格納したデータから求めたパリティを格納してパリティの多重化を行った第１論理グループと、データを分割して複数台のデータデバイスに格納すると共に前記格納データから求めたパリティを１台のパリティデバイスに格納した第２論理グループとを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際には、前記第１論理グループの１台のパリティデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項１１】
請求項１０記載のデバイスアレイ・システムに於いて、前記構成制御部は、ＲＡＩＤ−３のパリティデバイスを多重化した第１論理グループと、ＲＡＩＤ−３の第２論理グループを構築することを特徴とするデバイスアレイ・システム。
【請求項１２】
請求項１０記載のデバイスアレイ・システムに於いて、前記構成制御部は、ＲＡＩＤ−４のパリティデバイスを多重化した第１論理グループと、ＲＡＩＤ−４の第２論理グループを構築することを特徴とするデバイスアレイ・システム。
【請求項１３】
請求項１０記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第２論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記第２論理グループと同じパリティを復元してパリティデバイスを２重化し、前記第１論理グループから取り込んだ故障代替デバイスは第２論理グループにそのまま残すことを特徴とするデバイスアレイ・システム。
【請求項１４】
請求項１０記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第２論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第１論理グループに戻して元のパリティを復元させることを特徴とするデバイスアレイ・システム。
【請求項１５】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、データを分割して格納する複数台のデータデバイス、前記格納データから求めたパリティを格納する１台のパリティデバイス、及び前記複数のデータデバイスの一部と同じデータを格納して多重化した少なくとも１台のデータ多重化デバイスを備えた第１論理グループと、データを分割して格納する複数台のデータデバイスと前記格納データから求めたパリティを格納する１台のパリティデバイスを備えた第２論理グループとを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際には、前記第１論理グループの１台のデータ多重化デバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項１６】
請求項１５記載のデバイスアレイ・システムに於いて、前記構成制御部は、ＲＡＩＤ−３のデータデバイスの一部を多重化した第１論理グループと、ＲＡＩＤ−３の第２論理グループを構築することを特徴とするデバイスアレイ・システム。
【請求項１７】
請求項１５記載のデバイスアレイ・システムに於いて、前記構成制御部は、ＲＡＩＤ−４のデータデバイスの一部を多重化した第１論理グループと、ＲＡＩＤ−４の第２論理グループを構築することを特徴とするデバイスアレイ・システム。
【請求項１８】
請求項１５記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第２論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第１論理グループに戻して元のデータを復元させることを特徴とするデバイスアレイ・システム。
【請求項１９】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、ＲＡＩＤ−５に対応したデータ及びパリティを格納する複数デバイスと該複数デバイスの一部と同じデータ及びパリティを格納する多重化デバイスを備えた第１論理グループと、
ＲＡＩＤ−５に対応したデータ及びパリティを格納する複数デバイスを備えた第２論理グループを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際には、前記第１論理グループの多重化デバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２０】
請求項１９記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第２論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第１論理グループに戻して元のデータを復元させることを特徴とするデバイスアレイ・システム。
【請求項２１】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、ＲＡＩＤ−２に対応したデータ及びハミングコードを複数のデバイスに格納した第１論理グループと、ＲＡＩＤ−３，４又は５に対応したデータ及びパリティを複数のデバイスに格納した第２論理グループと、ＲＡＩＤ−１に対応した第２論理グループとを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際には、前記第１論理グループのハミングコードデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２２】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、ＲＡＩＤ−２に対応したデータ及びハミングコードを複数のデバイスに格納する第１論理グループと、ＲＡＩＤ−３，４又は５に対応したデータ及びパリティを複数のデバイスに格納した第２論理グループとＲＡＩＤ−１に対応する第２論理グループとを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際には、前記第１論理グループをＲＡＩＤ−３の論理グループに変更し、第１論理グループから開放された複数のハミングコードデバイスの中の１台を前記第２論理グループに取込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２３】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データを複数のデバイスに格納する第１論理グループと、データを複数のデバイスに格納し、データに対するパリティを第１のパリティデバイスに格納すると共に前記パリティと同一の内容を第２のパリティデバイスにも格納してパリティの２重化を行う第２論理グループを構築する構成制御部と、
前記第１論理グループのデバイスが故障して冗長性が失われた際に、前記第２論理グループのパリティデバイスを前記第１論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２４】
請求項２３記載のデバイスアレイ・システムに於いて、前記構成制御部は、前記第１論理グループとして同一データを２台のデバイスに格納した２重化論理グループを構築し、前記第２論理グループとしてパリティデバイスを固定したＲＡＩＤ−３又は４の論理グループを構築したことを特徴とするデバイスアレイ・システム。
【請求項２５】
複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データを３台以上のデバイスに格納した第１論理グループと、データ及びパリティを複数のデバイスに格納した第２論理グループを構築する構成制御部と、
前記第２論理グループのデバイスが故障して冗長性が失われた際に、前記第１論理グループの１台のデバイスを前記第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。
【請求項２６】
請求項２５記載のデバイスアレイ・システムに於いて、前記構成制御部は、前記第１論理グループとして同一データを３台以上のデバイスに格納した多重化論理グループを構築し、前記第２論理グループとしてＲＡＩＤ−３，４又は５の論理グループを構築したことを特徴とするデバイスアレイ・システム。
【請求項２７】
請求項１乃至２６のいずれかに記載のデバイスアレイ・システムに於いて、前記デバイスアレイユニットは、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置のうちの同一種類の入出力デバイスであることを特徴とするデバイスアレイ・システム。
【請求項２８】
請求項１乃至２６のいずれかに記載のデバイスアレイ・システムに於いて、前記デバイスアレイユニットは、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置のうちの種類の異なる入出力デバイスを混在したことを特徴とするデバイスアレイ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディクスクドライブ等の複数の入出力デバイスにより冗長性をもつ論理グループを構成してデバイスの故障時にデータを修復可能とするデバイスアレイ・システムに関し、特に、デバイス故障に対し冗長性の高い別の論理グループから故障代替デバイスを取り込んで冗長性を回復するディスクアレイ装置に関する。
【０００２】
【従来の技術】
従来、高速に大量のデータを多くのディスクドライブ等の入出力デバイスにアクセスし、デバイス故障時におけるデータの冗長性を実現するディスクアレイシステムとして、１９８７年のカルフォルニア大学バークレイ校のデビット・Ａ・パターソン等の論文に由来するＲＡＩＤレベルが知られている。
【０００３】
このＲＡＩＤレベルは、ＲＡＩＤ−１からＲＡＩＤ−５のレベルに分類されている。ＲＡＩＤ−１は同じデータを２台のディスクドライブに格納したミラーディスクである。ＲＡＩＤ−２では数台のディスクドライブに、データと故障したドライブのデータを回復するためのハミングコードを保持している。またＲＡＩＤ−３からＲＡＩＤ−５では、ディスクドライブの故障時にデータを回復するためにパリティを保持している。
【０００４】
このＲＡＩＤレベルの中でも、ＲＡＩＤ−４，５では複数のディスクドライブの同時読出しが可能であり、更に、ＲＡＩＤ−５レベルにおいては、パリティを格納するディスクドライブを固定しないことで複数の同時書込みをも可能にしており、大量のトランザクション処理においてその効果を発揮する。
これらのＲＡＩＤシステムにおいて、ディスクドライブが１台故障した際にそのまま使用を継続すると、更にもう１台故障した場合にはデータが消えてしまうという問題がある。従って、１台故障したら直ぐにＲＩＡＤの冗長性によるデータ復元機能を用いて、故障したディクスドライブのデータを新たに準備した正常なディクスドライブに修復することにより、再び冗長性を取り戻すことができる。このためディスクアレイ装置では、故障時のデータ修復に使われるホットスペアと呼ばれるディスクドライブをアレイの中に設置している。
【０００５】
【発明が解決しようとする課題】
ところで、ディスクアレイ・システムでホットスペアを設置した場合、ホットスペアが正常であるか否かを常に監視する必要があり、そのためホットスペアパトロールの機能を設けている。ホットスペアパトロールは、例えば１時間に１回ベリファイ・コマンドをホットスペアに対し発行し、例えば１ケ月の間にホットスペアのディスク全面のベリファイ処理を行う。またベリアァイ・コマンドだけではホットスペアのライト・リード回路を検証できないため、更にホットスペアに対し複数ブロックデータのリードとライトも行う。
【０００６】
しかし、このようなホットスペアパトロールは、ホストアクセスオペレーションに対し非同期に透過的に行われており、ホットスペアをアクセスした際に、同じポートに接続している他のディスクドライブに対するホストアクセスオペレーションと衝突する場合がある。衝突が起きるとホストアクセスオペレーションはホットスペアのアクセス終了まで待たされることとなり、アクセス性能を低下させる要因となっている。
【０００７】
本発明は、ホットスペアパトロールを必要とすることなく、冗長性の高い別の論理グループから故障代替デバイスを取り込んで冗長性を回復することによりアクセス性能を向上させたテバイスアレイ・システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
図１は本発明の原理説明図である。まず本発明のデバイスアレイシステムは、図１（Ａ）のように、デバイスアレイユニット１２とコントローラ１０で構成される。デバイスアレイユニット１２は、複数のポートＰ０〜Ｐ５の各々に複数のランクＲ０〜Ｒ３に亘って入出力用のデバイス１６を複数接続し、ランク単位に複数のデバイス１６を並列的にアクセス可能とする。コントローラ１０は、デバイスアレイユニット１２に設けた複数のデバイス１６を複数の論理グループに分け、上位装置１４からのアクセス要求に基づき論理グループ単位にアクセスする。
【０００９】
（ＲＡＩＤ−１対応）
このようなデバイスアレイ・システムにつき本発明にあっては、コントローラ１０に、ＲＡＩＤ−１のミラーデバイスに対応した構成制御部３６と故障処理部３８を設ける。構成制御部３６は、デバイスアレイユニット１２の論理グループとして、同一データをＮ台のデバイス１６に格納して多重化した第１論理グループと、同一データを少なくとも（Ｎ＋１）台のデバイス１６に格納して多重化した第２論理グループとを構築する。
【００１０】
故障処理部３８は、冗長度の低い第１論理グループで１台のデバイス１６が故障して冗長性が失われた際に、冗長度の高い第２論理グループの１台のデバイス１６を第１論理グループに取り込み、故障代替デバイスとしてデータを復元し、第１論理グループの冗長性を回復する。
例えば構成制御部３６は、図１（Ｂ）のように、同一データを２台のデバイス１６に格納して２重化した９つの第１論理グループＡと、同一データを３台のデバイス１６に格納して３重化した２つの第２論理グループＢを構築する。この場合、故障処理部３８は、２重化した第１論理グループＡで１台のデバイス１６−０１が故障して冗長性が失われた際に、３重化した第２論理グループＢのデバイス１６−３１を第１論理グループＡに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復（２重化）させる。
【００１１】
このようなＲＡＩＤ−１対応のデバイスアレイ・システムによれば、通常の運用中には、デバイスアレイユニット１２の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアとしてのデバイスを固定して設けた場合のように、ホットスペアが正常に機能するか否かを検証するホットスペアパトロールは必要ない。その結果、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【００１２】
冗長度の低い第１論理グループでデバイス故障が起きると、冗長度の高い第２論理グループのデバイスが故障代替デバイスとして取り込まれ、デバイス故障を起こした第１論理グループの冗長度が回復できる。このとき故障代替デバイスを提供した第２論理グループの冗長度は低下するが、所定の閾値、例えば第１論理グループの冗長度を下回ることはない。
【００１３】
冗長度の低い第１論理グループのデバイス故障に対し冗長度の高い第２論理グループのデバイスが故障代替デバイスとして取り込まれ、デバイス故障を起した第１論理グループの冗長度が回復した後、第１論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部３８は、交換デバイスを第１論理グループに取り込んで故障代替デバイスと同じデータを復元し、次に故障代替デバイスを第２論理グループに戻して元のデータを復元し、故障代替で低下した冗長度を回復させる。
【００１４】
この第１論理グループの故障デバイスを正常なデバイスに交換した際の故障処理部３８の他の処理としては、交換デバイスを第２論理グループに取り込んでデータを復元して故障代替で低下した冗長度を回復させる。また故障代替デバイス１６は第１論理グループをそのまま残し、データの復元処理を省略する。
第１論理グループのデバイスが順次故障する複数故障に対し故障処理部３８は次のように処理する。まず第１論理グループで１台のデバイスが故障して冗長性が失われ、第２論理グループのデバイスを第１論理グループに取り込んで故障代替デバイスとしてデータを復元させる。その後に、第１論理グループで更に１台のデバイスが故障した場合は、他の第２論理グループのデバイスを第１論理グループに取り込んで故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００１５】
故障処理部３８は、第１論理グループの故障代替デバイス１６を第２論理グループから取り込む際に、故障デバイス１６と同一ポートに接続している第２論理グループのデバイス１６を優先的に選択する。これによって第１論理グループに取込んだ故障代替デバイスと既存の正常デバイスを別ポートとし、同一ポートにグループ内の複数デバイスが存在することによるアクセスの衝突を回避させる。
【００１６】
故障処理部３８は、冗長度の高い第２論理グループのデバイスが故障した場合は、故障デバイスを切した状態でアクセスを継続させ、故障デバイスが正常なデバイス１６に交換された際に第２論理グループに戻してデータを復元する。即ち、冗長度を高くしている第２論理グループ内のデバイス故障に対しては故障代替は必要ない。
【００１７】
故障処理部３８によるデバイス故障の判定は、デバイスアレイユニットト１２に設けた複数のデバイス１６のアクセスに対するエラー率を計測し、エラー率が所定値以上となった際にデバイス故障と判定して対応する故障処理を行ってもよい。このようにエラー率からデバイス故障を判定すれば、実際にデバイス故障が起きる前に正常なデバイスへの交換ができ、より信頼性が向上する。故障デバイスの交換時には、冗長度の高い第２論理グループから故障代替デバイスが提供されるため、デバイス交換中に第１論理グループの冗長度が低下してしまうことはない。
【００１８】
ＲＡＩＤ−１対応の別の形態として、構成制御部３６は、第２論理グループとして（Ｎ＋１）重化、（Ｎ＋２）重化等の冗長性の異なる複数の第２論理グループを構築する。この場合、故障処理部３８は、冗長度の低い第１論理グループでデバイスが故障して冗長性が失われた際に、複数の第２論理グループの中の最も冗長性の高いグループのデバイスを第１論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００１９】
デバイスアレイユニット１２のデバイス１６は、一般に磁気ディスク装置のみで構成されるが、これに加えて半導体メモリを設け、構成制御部３６により第２論理グループの複数デバイス１６の中に少なくとも１台の半導体メモリを配置する。この場合、故障処理部３８は、冗長度の低い第１論理グループでデバイス１６が故障して冗長性が失われた際に、冗長度の高い第２論理グループの半導体メモリを第１論理グループに組み込んで故障デバイス１６の代替デバイス１６としてデータを復元して冗長性を回復させる。アクセス速度の高い半導体メモリを故障代替デバイスとして取り込むことで、第１論理グループの冗長性の回復を短時間で実現する。
【００２０】
（ＲＡＩＤ−２対応）
本発明のデバイスアレイ・システムをハミングコードの誤り訂正によって冗長性を持たせたＲＡＩＤ−２に対応させる場合、コントローラ１０の構成制御部３６と故障処理部３８は次のように構成する。まず構成制御部３６は、データを格納する複数のデータデバイスとデータデバイスの格納データに対応するハミングコードを格納する複数のハミングコードデバイスとを備えた所定の冗長度をもつ論理グループを複数グループ構築する。
【００２１】
故障処理部３８は、ある論理グループでデバイスが故障して所定の冗長度を下回った際に、他の論理グループのハミングデバイスを所定の冗長度を下回らないことを条件に、デバイス故障を起した論理グループに組み込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
このＲＡＩＤ−２対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット１２の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【００２２】
故障デバイスを正常なデバイスに交換した場合、故障処理部３８は、交換デバイスに故障代替デバイスと同じデータを復元し、次に故障代替デバイスを元の論理グループに戻して元のハミングコードを復元させる。
（ＲＡＩＤ−３，４対応）
本発明のデバイスアレイ・システムをパリティデバイスを固定したＲＡＩＤ−３又は４に対応させる場合、コントローラ１０の構成制御部３６と故障処理部３８は次のように構成する。まず構成制御部３６は、論理グループとして、データを分割して複数台のデータデバイスの各々に格納すると共に、格納データから求めたパリティを複数のパリティデバイス（多重化パリティ）に格納した第１論理グループと、データを分割して複数台のデータデバイスに格納すると共に格納データから求めたパリティを１台のパリティデバイスに格納した第２論理グループとを構築する。
【００２３】
例えばＲＡＩＤ−３のパリティデバイスを多重化した第１論理グループと、ＲＡＩＤ−３のみの第２論理グループを構築する。またＲＡＩＤ−４のパリティデバイスを多重化した第１論理グループと、ＲＡＩＤ−４のみの第２論理グループを構築してもよい。
故障処理部３８は、ＲＡＩＤ−３又は４のみの第２論理グループのデバイスが故障して冗長性が失われた際には、パリティ多重化によって冗長度が高い第１論理グループの１台のパリティデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００２４】
このＲＡＩＤ−３，４対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット１２の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【００２５】
第２論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部３８は、交換デバイスに第２論理グループと同じパリティを復元してパリティデバイスを２重化する。このとき第１論理グループから取り込んだ故障代替デバイスは第２論理グループにそのまま残し、データの復元を不要とする。
また第２論理グループの故障デバイスを正常なデバイスに交換した場合の故障処理部３８の別の処理としては、交換デバイスに故障代替デバイスと同じデータを復元し、次に故障代替デバイスを元の第１論理グループに戻して元のパリティを復元させてもよい。
【００２６】
ＲＡＩＤ−３，４対応の別の形態としては、パリティデバイスの多重化ではなく、複数のデータデバイスの一部を多重化して故障代替に使用する。即ち、構成制御部３６は、論理グループとして、データを分割して格納する複数台のデータデバイス、格納データから求めた同じパリティを格納する１台のパリティデバイス、及び複数のデータデバイスの一部と同じデータを格納して多重化した少なくとも１台のデータ多重化デバイスを備えた第１論理グループと、データを分割して格納する複数台のデータデバイスと格納データから求めたパリティを格納する１台のパリティデバイスを備えた第２論理グループとを構築する。
【００２７】
具体的には、ＲＡＩＤ−３のデータデバイスの一部を多重化した第１論理グループと、ＲＡＩＤ−４のみの第２論理グループを構築する。またＲＡＩＤ−４のデータデバイスの一部を多重化した第１論理グループと、ＲＡＩＤ−４のみの第２論理グループを構築してもよい。
この場合、故障処理部３８は、ＲＡＩＤ−３又はＲＡＩＤ−４のみの第２論理グループのデバイスが故障して冗長性が失われた際には、データデバイスの一部を多重化した第１論理グループの１台の多重化データデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００２８】
このシステムにあっても、第２論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部３８は、交換デバイスに第２論理グループの特定のデータデバイスと同じデータを復元して一部のデータデバイスを２重化し、第１論理グループから取り込んだ故障代替デバイスは第２論理グループにそのまま残してデータ復元を不要としても良い。
【００２９】
第２論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部３８の他の処理として、交換デバイスに故障代替デバイスと同じデータを復元し、故障代替デバイスは第１論理グループに戻して元のデータを復元させてもよい。
（ＲＡＩＤ−５対応）
本発明のデバイスアレイ・システムをパリティデバイスを固定しないＲＡＩＤ−５に対応させる場合、コントローラ１０の構成制御部３６と故障処理部３８は次のように構成する。まず構成制御部３６は、デバイスアレイユニット１２の論理グループとして、ＲＡＩＤ−５に対応したデータ及びパリティを格納する複数デバイスと一部のデバイスと同じデータ及びパリティを格納する少なくとも１台の多重化デバイスを備えた第１論理グループと、ＲＡＩＤ−５に対応したデータ及びパリティを格納する複数デバイスを備えた第２論理グループを構築する。
【００３０】
この場合、故障処理部は、ＲＡＩＤ−５のみの第２論理グループのデバイスが故障して冗長性が失われた際には、第１論理グループの多重化デバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
このＲＡＩＤ−５対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット１２の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【００３１】
このシステムで第２論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部３８は、交換デバイスに故障代替デバイスと同じデータを復元し、故障代替デバイスは第１論理グループに戻して元のデータを復元させる。
（ＲＡＩＤレベルの組合せ）
本発明のデバイスアレイ・システムをＲＡＩＤ−１〜５の組合せに対応させる場合、コントローラ１０の構成制御部３６と故障処理部３８は次のように構成する。まずコントローラ１０は、デバイスアレイユニット１２の論理グループとして、ＲＡＩＤ−２に対応したデータ及びハミングコードを複数のデバイスに格納した第１論理グループと、ＲＡＩＤ−１，３，４又は５に対応したデータ及びパリティを複数のデバイスに格納した第２論理グループを構築する。
【００３２】
この場合、故障処理部３８は、冗長度の低いＲＡＩＤ−１，３，４又は５対応の第２論理グループのデバイスが故障して冗長性が失われた際には、第１論理グループのハミングコードデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
またＲＡＩＤレベルを組み合わせた別のシステム形態にあっては、故障処理部３８は、ＲＡＩＤ−１，３，４，５対応の第２論理グループのデバイスが故障して冗長性が失われた際には、ＲＡＩＤ−２対応の第１論理グループをＲＡＩＤ−３の論理グループに変更し、第１論理グループから開放された複数のハミングコードデバイスの中の１台を第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
またＲＡＩＤレベルを組み合わせた別のシステム形態にあっては、まず構成制御部３６は、デバイスアレイユニット１２の論理グループとして、同一データを複数のデバイスに格納する第１論理グループと、データ及びパリティを複数のデバイスに格納する第２論理グループを構築する。この場合、故障処理部３８は、第１論理グループの多重化デバイスの１つが故障して冗長性が失われた際に、第２論理グループのパリティデバイスを第１論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００３３】
具体例として構成制御部３６は、第１論理グループとして同一データを２台のデバイスに格納した２重化論理グループ（ＲＡＩＤ−１）を構築し、第２論理グループとしてパリティデバイスが固定したＲＡＩＤ−３又は４の論理グループを構築する。この場合、故障処理部３８は、２重化論理グループのデバイスの１つが故障して冗長性が失われた際に、ＲＡＩＤ−３又は４の論理グループのパリティデバイスを故障代替デバイスとして取り込んでデータを復元して冗長性を回復させる。
【００３４】
更に、ＲＡＩＤレベルを組み合わせた別のシステム形態にあっては、まず構成制御部３６は、デバイスアレイユニット１２の論理グループとして、同一データを複数のデバイスに格納した第１論理グループと、データ及びパリティを複数のデバイスに格納した第２論理グループを構築し、故障処理部３８は、第２論理グループのデバイスが故障して冗長性が失われた際に、第１論理グループの１台のデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００３５】
例えば構成制御部３６は、第１論理グループとして同一データを３台以上のデバイスに格納した多重化論理グループを構築し、第２論理グループとしてＲＡＩＤ−３，４又は５のパリティ論理グループを構築する。この場合、故障処理部３８は、冗長度の低いＲＡＩＤ−３，４，５の第２論理グループのデバイスが故障して冗長性が失われた際に、３重化以上の冗長性をもつ第１論理グループの１台のデバイスを第２論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【００３６】
このＲＡＩＤレベルの組合せに対応したデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット１２の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【００３７】
本発明のデバイスアレイユニット１２には、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置等の同じ種類の入出力デバイス１６を使用する。またデバイスアレイユニット１２に、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置等の種類の異なる入出力デバイス１６を混在させてもよい。
【００３８】
【発明の実施の形態】
＜目次＞
１．システムの構成と機能
２．ＲＡＩＤ−１の対応システム
３．ＲＡＩＤ−２の対応システム
４．ＲＡＩＤ−３，４の対応システム
５．ＲＡＩＤ−５の対応システム
６．ＲＡＩＤレベルを組み合わせたシステム
１．システム構成と機能図２は本発明のデバイスアレイ・システムのハードウェア構成のブロック図である。本発明のデバイスアレイ・システムはデバイスアレイコントローラ１０とデバイスアレイユニット１２で構成される。コントローラ１０はホストコンピュータ１４の外部記憶システムとして接続される。デバイスアレイユニット１２は、例えば２４台のデバイス１６−００〜１６−３５を備える。
【００３９】
デバイス１６−００〜１６−３５としては、例えば磁気ディスク装置が使用される。デバイスアレイユニット１２に設けられた２４台のデバイス１６−００〜１６−３５の配置位置は、デバイスコントローラ１０の６つのポートＰ０〜Ｐ５と６台のデバイスを並列アクセス可能に階層接続した４つのランクＲ０〜Ｒ３で定義される。即ち、２４台のデバイス１６−００〜１６−３５は、ポート番号Ｐｉとランク番号Ｒｉを使用して一般的にデバイス１６−Ｒｉ，Ｐｉと表わすことができる。
【００４０】
デバイスアレイコントローラ１０のポートＰ０〜Ｐ５からはデバイスパス２５−０〜２５−５がそれぞれデバイスアレイユニット１２に引き出され、各デバイスパス２５−０〜２５−５のそれぞれにランク方向に４台のデバイスを、例えばデバイスパス２５−０にあってはデバイス１６−００，１６−１０，１６−２０，１６−３０を接続している。
【００４１】
デバイスアレイコントローラ１０にはＭＰＵ１８が設けられ、ＭＰＵ１８からのコントロールバス２６にホストアダプタ２０及びデバイスアダプタ２４−０〜２４−５を接続している。ホストアダプタ２０はキャッシュユニット２２を備えており、チャネルパス２７によってホストコンピュータ１４と接続され、ホストコンピュータ１４による入出力要求を表示する。
【００４２】
ホストアダプタ２０で受領されたホストコンピュータ１４からのアクセス要求、即ちライト要求またはリード要求はＭＰＵ１８に与えられる。ＭＰＵ１８はシステム立ち上げ時に、指定されたＲＡＩＤレベルに対応した論理グループをデバイスアレイユニット１２に対し構築し、ライト要求に対してはライトデータをバッファし、デバイスアダプタ２４−０〜２４−５の並列処理によりデバイスアレイユニット１２側の指定された論理グループにふくまれる複数デバイスに対しライト処理を行わせる。
【００４３】
またリード処理にあっては、ＭＰＵ１８は、同じくデバイスアダプタ２４−０〜２４−５の並列リード処理でデバイスアレイユニット１２側から得られた各デバイスごとのリードデータを組み合わせてホストアダプタ２０を経由してホストコンピュータ１４にリードデータを応答する。本発明のデバイスアレイ・システムにあっては、ＭＰＵ１８の構成制御の機能によって
（ａ）ＲＡＩＤ−１対応システム
（ｂ）ＲＡＩＤ−２対応システム
（ｃ）ＲＡＩＤ−３．４対応システム
（ｄ）ＲＡＩＤ−５対応システム
（ｅ）ＲＡＩＤレベル組み合わせシステム
のいずれかを構築することができる。即ち、ＭＰＵ１８はシステムのセットアップの際に、ディップスイッチやソフトウェア等でそのとき指定されているＲＡＩＤレベルに対応した複数の論理グループを、デバイスアレイユニット１２のデバイス１６−００〜１６−３５を対象に構築する。この論理グループは、１つのＲＡＩＤを構成するデバイスグループの集まりである。
【００４４】
更にデバイスアレイコントローラ１０にはブリッジ回路３０が設けられ、ブリッジ回路３０を介して別のデバイスアレイコントローラ１０を接続し、デバイスアレイコントローラ１０の２重化構成を取ることができる。デバイスアレイコントローラ１０を２重化構成した場合には、デバイスアレイユニット１２に対し２つのデバイスアレイコントローラ１０からのデバイスパス２５−１０〜２５−０が各デバイス１６−００〜１６−３５に対し個別パスとして接続され、それぞれのデバイスアレイコントローラ１０からデバイスアレイユニット１２を独立にアクセスすることができる。
【００４５】
図３は図２のシステム機能のブロック図である。図３においてデバイスアレイコントローラ１０は、ホストアダプタ２０及びキャッシュユニット２２で構成されるホストアクセス部３２、デバイスアダプタ２４−０〜２４−５で構成されるデバイスアクセス部３４、更にＭＰＵ１８の機能により実現される構成制御部３６と故障処理部３８を備える。
【００４６】
構成制御部３６はシステムのセットアップ時に、そのとき指定されているＲＡＩＤレベルに対応した複数の論理グループをデバイスアレイユニット１２のデバイス１６−００〜１６−３５を対象に構築する。構成制御部３６で構築する複数の論理グループは、ＲＡＩＤレベルに応じて異なるが、基本的には冗長度の低い論理グループと冗長度の高い論理グループを構築する。
【００４７】
故障処理部３８は、構成制御部３６で構築された複数の論理グループを対象としたホストコンピュータ１４からのアクセス要求に基づく処理中にデバイス故障が起きた場合の対応処理を行う。故障処理部３８による故障対応処理は、冗長度の低い論理グループのデバイスが故障した場合の対応処理と、冗長度の高い論理グループのデバイスが故障した場合の対応処理に大別される。
【００４８】
冗長度の低い論理グループのデバイスが故障した場合には、冗長度の高い論理グループのデバイスを故障代替デバイスとして取り込んで冗長度を回復させる。このとき冗長度の高い論理グループは故障代替デバイスを取り出してもその冗長度が所定の閾値を下回らないことを条件とする。
デバイスが故障した冗長度の低い論理グループに冗長度の高い論理グループから故障代替デバイスを取り込んで冗長度を回復した後は、故障デバイスを正常なデバイスと交換する。故障デバイスを交換した後の復旧処理は、交換デバイスに故障代替デバイスと同じデータを回復させ、次に故障代替デバイスを取込み先となる元の冗長度の高い論理グループに戻して元のデータを回復させる。
【００４９】
一方、冗長度の高い論理グループのデバイスが故障した場合には、論理グループの冗長性は失われないことから、故障デバイスを切り離して処理をそのまま継続し、故障デバイスを正常なデバイスに交換した後に元のデータを復元して冗長度を元に戻すようになる。  図４は図３のデバイスアレイ・システムの一般的な処理動作のフローチャートである。まず電源投入によりシステムを立ち上げると、ステップＳ１で初期化処理が行われ、続いてステップＳ２で図３のディスクアレイコントローラ１０に設けた構成制御部３６による構成制御が行われる。構成制御により構築される複数の論理グループは、そのときディップスイッチもしくはソフトウェアにより指定されているＲＡＩＤレベルに依存して決められる。
【００５０】
ステップＳ２のシステム構成制御が終了すると、通常の運用状態となり、ステップＳ３でホストコンピュータ１４によるアクセス要求をチェックしている。ステップＳ３でホストコンピュータ１４からのアクセス要求があると、ステップＳ４に進み、ライトアクセスか否かチェックする。ライトアクセスであればステップＳ５に進み、特定の論理グループを対象にディスクアレイユニット１２に対するライト処理を行う。
【００５１】
このライト処理は、基本的には論理グループに属する全デバイスに対する並列ライト処理となる。一方、リードアクセスであった場合にはステップＳ６に進み、指定された論理グループに対するリード処理となる。このリード処理は、ＲＡＩＤ−１対応システムにあっては、論理グループに属する複数のデバイスのいずれか１つからのリード処理となる。
【００５２】
ＲＡＩＤ−２，３，４にあっては、論理グループに属するデータデバイスの並列リード処理となる。更にＲＡＩＤ−５対応システムにあっては、論理グループに属する特定のデバイスのリード処理となる。
続いてステップＳ７でドライブ故障をチェックしており、もし特定の論理グループでデバイス故障が起きると、ステップＳ８に進み、そのとき構築されているＲＡＩＤ対応システムに対応した故障対応処理を実行する。
【００５３】
これにより、デバイス故障により冗長度が失われた場合には、他の論理グループからの故障代替デバイスの取込みにより冗長度が回復できる。続いてステップＳ９で故障デバイスの復旧即ち故障デバイスの正常なデバイスへの交換をチェックしており、故障デバイスが正常なデバイスに交換されると、ステップＳ１０でシステム復旧処理が行われ、ステップＳ２で初期設定したＲＡＩＤ対応システムの複数論理グループの構築状態に回復する。
【００５４】
このような図４のフローチャートにおけるＲＡＩＤ対応システムを対象とした処理動作の詳細は、続いてＲＡＩＤレベルに分けて詳細に説明される。
２．ＲＡＩＤ−１対応システム
図５は本発明によるＲＡＩＤ−１対応システムの構成制御で構築されたデバイスアレイユニット１２における論理グループの説明図である。
【００５５】
ＲＡＩＤ−１レベルは、基本的に同一データを２台のデバイスに格納したミラー構成を持っている。本発明のＲＡＩＤ−１対応システムにあっては、デバイスアレイユニット１２に設けている２４台のデバイス１６−００〜１６−３５を対象に２重化デバイスの論理グループと３重化デバイスの論理グループを構築している。
【００５６】
即ち、２重化論理グループとして論理グループ１５−０〜１５−８を構築し、また３重化論理グループとして論理グループ１５−９，１５−１０を構築している。即ち、論理グループ１５−０〜１５−８にはそれぞれ２台のデバイス１６−００，１６−０１〜１６−２４，１６−２５が設けられ、それぞれ同一データを格納したミラーデバイスとなっている。
【００５７】
これに対し論理グループ１５−９については、デバイス１６−３０，１６−３１，１６−３２の３台が設けられ、それぞれ同一データを格納した３重化デバイスとしている。同様にグループ１５−１０についても、デバイス１６−３３，１６−３４，１６−３５に同一データを格納した３重化構成としている。
このようなＲＡＩＤ−１の論理グループの構成を一般的に表現すると、同一データをＮ台（但しＮは２以上の整数）のデバイスに格納して多重化した第１論理グループ１５−０〜１５−８と、同一データを少なくとも（Ｎ＋１）台のデバイスに格納して多重化した第２論理グループ１５−９，１５−１０を構築している。そして図５はＮ＝２とした場合の最小構成のＲＡＩＤ−１対応システムの論理グループである。
【００５８】
図６は図５のＲＡＩＤ−１対応システムの冗長度の低い論理グループ１５−０のデバイス１６−０１が故障した場合の対応処理である。冗長度の低い論理グループ１５−０のデバイス１６−０１が故障した場合には、冗長度の高い論理グループ例えば論理グループ１５−９の中の特定のデバイス例えばデバイス１６−３１をデバイス故障を起こした論理グループ１５−０に取り込み、故障代替デバイスとする。
【００５９】
デバイス故障を起こしたグループ１５−０に取り込まれた故障代替デバイス１６−３１には、故障デバイス１６−０１と同じデータを復元する。具体的には、正常なデバイス１６−００のデータを故障代替デバイス１６−３１にコピーする。これによってデバイス１６−０１が故障した論理グループ１５−０の冗長性が回復される。
【００６０】
一方、故障代替デバイス１６−３１が取り出された論理グループ１５−０９にあっては、最初３重化構成であったものが、故障代替デバイス１６−３１の提供によりデバイス１６−３０，１６−３２の２台を備えた２重化構成となり、冗長度は低下するが冗長性そのものは失われることはない。
即ち本発明のＲＡＩＤ−１対応システムにあっては、冗長度の低い論理グループのデバイス故障に対し冗長度の高い論理グループから故障代替デバイスを取り出して提供する場合、故障代替デバイスの取出しにより冗長度が所定の閾値を下回って冗長性が失われたことを条件にデバイス取出しを行う。
【００６１】
図７は図６の論理グループ１５−０で故障したデバイス１６−０１を正常なデバイスに交換した後の復旧処理の説明図である。
論理グループ１５−０で故障したデバイス１６−０１を正常なデバイス１６−０１に交換した場合には、交換後のデバイス１６−０１に正常に機能しているデバイス１６−００の低下をコピーして復元し、データ復元が済んだならば故障代替デバイス１６−３１を切り離して、データ復元が済んだデバイス１６−０１をグループに取り込んで元の冗長度を持つ論理グループ１５−０を再構築する。
【００６２】
続いて図７で論理グループ１５−０１から切り離された故障代替デバイス１６−３１を図８のように元の論理グループ１５−９に戻し、論理グループ１５−９の例えばデバイス１６−３０のデータを、戻したデバイス１６−３１にコピーしてデータを復元し、これによって元の３重化された論理グループ１５−９を再構築する。
【００６３】
図９は図５〜図８に示したＲＡＩＤ−１対応システムの処理動作のフローチャートである。システム電源の投入が行われると、まずステップＳ１で初期化処理が行われ、続いてステップＳ２で、図５のようにＲＡＩＤ−１の２重化論理グループと３重化論理グループの構築が行われる。続いてステップＳ３でホストアクセスを待っており、ホストアクセスがあるとステップＳ４でライトアクセスか否かチェックする。
【００６４】
ライトアクセスであればステップＳ５で、アクセス対象となった２重化論理グループまたは３重化論理グループに対し並列的にホストからのライトデータを書き込むライト処理を行う。一方、リード処理であればステップＳ６に進み、各論理グループ内の特定のドライブの単独リード処理を行う。
アクセス中にドライブ故障がステップＳ７で判別されると、ステップＳ８で冗長度の低い二重化論理グループのデバイス故障か否かチェックする。２重化論理グループのデバイス故障であればステップＳ９に進み、冗長度の高い３重化論理グループの中からドライブを取り込んで故障代替ドライブとしてデータを復元し、２重化論理グループを再構築する。
【００６５】
一方、冗長度の高い３重化論理グループのデバイス故障であった場合には、ステップＳ１０に進み、故障ドライブを３重化論理グループから切り離して除外し、２重化論理グループとして動作する。
ステップＳ９またはステップＳ１０によるデバイス故障の対応処理が済んだならば、ステップＳ１１で故障ドライブの復旧、即ち故障ドライブの正常なドライブへの交換をチェックしており、故障ドライブの交換が行われると、ステップＳ１２で２重化論理グループの故障であったか否かチェックする。
【００６６】
２重化論理グループの故障であった場合には、ステップＳ１３で図７のように、２重化論理グループの交換済デバイスにグループ内の他のデバイスと同じデータを復元する。続いて図８のように、故障代替を行ったデバイスを元の３重化論理グループに戻し、データを復元する。
ステップＳ１２で３重化論理グループの故障であったことが判別された場合には、ステップＳ１４に進み、３重化論理グループの交換済デバイスにデータを復元して冗長度を回復させる。
【００６７】
図１０はＲＡＩＤ−１対応システムで冗長度の低い論理グループの故障デバイスを正常なデバイスに交換した際の復旧処理の他の処理形態である。
図１０の故障復旧処理にあっては、故障デバイス１６−０１を正常なデバイスに交換したならば、交換済デバイス１６−０１を元の論理グループ１５−０に戻さず、故障代替デバイス１６−３１を取り出した論理グループ１５−９に取り込んで、例えばデバイス１６−３０と同じデータを復元し、３重化化構成の論理グループ１５−９をデバイス１６−３０，１６−０１及び１６−３２の３台で構築する。
【００６８】
また２重化論理グループ１５−０にあっては、正常なデバイス１６−００と障代替として取り込んだデバイス１６−３１の２台によって、継続して２重化構成の論理グループ１５−０を維持する。
この図１０のデバイス交換後の回復処理にあっては、図７，図８のように、交換済デバイスを元の論理グループに戻すためのデータ復元と故障代替デバイスを元の論理グループに戻すためのデータ復元の２つを必要としたものが、故障デバイスに対する交換デバイスのデータ復元のみで済み、故障デバイス交換後の復元処理を短時間で行うことができる。
【００６９】
図１１は図１０の故障回復処理に対応したＲＡＩＤ−１対応システムの処理動作のフローチャートである。このフローチャートは、ステップＳ１〜ステップＳ１２，Ｓ１４は図９と同じであり、ステップＳ１３の故障回復処理が異なっている。
即ち、図１１のステップＳ１３にあっては、冗長度の低い図１０の論理グループ１５−０の故障デバイス１６−０１が正常なデバイスに交換された際には、交換後のデバイス１６−０１に故障代替デバイス１６−３１を提供して、２重化構成となっている論理グループ１５−０９のデバイス１６−３０のデータをコピーして復元し、論理グループ１５−９にデバイス１６−０１を取り込んで元の３重化論理グループを再構築する。
【００７０】
図１２はＲＡＩＤ−１対応システムで冗長度の低い２重化された論理グループ１５−０で２台のデバイス１６−０１，１６−００が順番に故障した場合の対応処理である。即ち、２重化論理グループ１５−０でまずデバイス１６−０１が故障したとすると、３重化論理グループ１５−９のデバイス１６−３１を取り込んでデータを復元し、２重化構成を回復する。
【００７１】
続いて故障デバイス１６−０１が正常なものと交換する前に同じ論理グループ１５−０のデバイス１６−００が故障したとすると、別の３重化論理グループ１５−１０のデバイス１６−３３を取り込んで、最初のデバイス故障で故障代替を行っているデバイス１６−３１のデータをデバイス１６−３３にコピーして復元し、２重化の冗長性を回復する。
【００７２】
このとき２重化論理グループ１５−０は、故障代替を行った論理グループ１５−９，１５−１０で使用していた２台のデバイス１６−３１，１６−３３による論理グループを構築することになる。
このような冗長度の低い論理グループのデバイス故障は、冗長度の低い論理グループに設けているデバイス数Ｎに一致する数の冗長度の高い論理グループが存在すれば、冗長度の低い論理グループの全デバイスの順次故障に対し冗長度の高い論理グループからデバイスを取り込んで故障代替することにより、冗長性を維持することができる。
【００７３】
図１３はＲＡＩＤ−１対応システムで冗長度の低い論理グループのデバイス故障に対し、冗長度の高い論理グループから故障代替デバイスを取り込む際のポート選択の説明図である。例えば、２重化された冗長度の低い論理グループ１５−０のデバイス１６−０１が故障した場合には、３重化された上位の論理グループ１５−９に設けているデバイス１６−３０，１６−３１，１６−３２のいずれかを故障代替デバイスとして論理グループ１５−０に取り込む。
【００７４】
この場合、論理グループ１５−０の故障デバイス１６−０１はポートＰ１のデバイスパス２５−１に接続されており、故障代替デバイスとして論理グループ１５−９のデバイス１６−３０を取り込んでデータを復元すると、故障対応が済んだ後の論理グループ１５−０のデバイス１６−００，１６−３０はポートＰ０からの同じデバイスパス２５−０に接続される。
【００７５】
このように同一ポートＰ０のデバイスパス２５−０に同じ論理グループ１５−０のデバイス１６−００，１６−３０が接続されると、同一データをデバイス１６−００，１６−３０に書き込む際に２回のライトアクセスを必要とし、アクセス性能が低下する。そこで論理グループ１５−０のデバイス１６−０１の故障に対しては、同じポートＰ１のデバイスパス２５−１に接続している冗長度の高い論理グループ１５−９のデバイス１６−３１を取り込み、取込み後の故障代替デバイス１６−３１に対し元のデバイス１６−００と共に独立したポートＰ０，Ｐ１による並列アクセスができるようにする。
【００７６】
図１４は本発明のＲＡＩＤ−１対応システムで冗長度の高い３重化された論理グループ１５−９の中のデバイス１６−３２が故障した場合の対応処理である。このように冗長度の高い論理グループ１５−９のデバイス１６−３２の故障にあっては、冗長度は低下するがデバイス１６−３０，１６−３１による２重化構成で冗長度は失われていないことから、他の論理グループからのデバイスの取込みによる冗長度の回復は行わず、デバイス１６−３０，１６−３１による２重化の冗長度が低下した状態で論理グループ１５−９の運用を続ける。
【００７７】
そして故障デバイス１６−３２が正常なデバイスに交換された場合には、グループ内の他のデバイス例えばデバイス１６−３０のデータをコピーして復元することにより、元の３重化構成の論理グループ１５−９を回復する。図１５は本発明によるＲＡＩＤ−１対応システムの他の実施形態であり、この実施形態にあっては、複数の論理グループの冗長度を階層的に高くするように構築したことを特徴とする。
【００７８】
即ち、論理グループ１５−０〜１５−５については図５と同様、２重化構成の論理グループを構築しているが、論理グループ１５−６，１５−７については３重化構成の論理グループとし、更に論理グループ１５−８については４重化構成の論理グループとしている。
即ち、論理グループ１５−０〜１５−５の冗長度を決める多重化台数をＮ台とすると、次に冗長度の高い論理グループ１５−６，１５−７についてはデバイスを（Ｎ＋１）台とし、更に冗長度の高い論理グループ１５−８についてはデバイス台数を（Ｎ＋２）台としている。
【００７９】
このように多重化デバイス台数をＮ，Ｎ＋１，Ｎ＋２と階層化した論理グループの構築にあっては、例えば冗長度の最も低い論理グループ１５−０のデバイス１６−０１が故障した場合には、冗長度の高い上位の論理グループの中で最も冗長度が高い４重化された論理グループ１５−８の中の特定のデバイス、例えばデバイス１６−３３を取り込んで故障代替デバイスとしてデータを復元し、論理グループ１５−０の冗長性を回復させる。
【００８０】
ここで冗長度の高い３重化論理グループ１５−６，１５−７にあっては、冗長度の低い論理グループ１５−０〜１５−５のデバイス故障に対し冗長性を失うことのないデバイス１台の故障段階のための提供が可能である。また更に冗長度の高い論理グループ１５−８にあっては、冗長性を失わないデバイス２台までの故障代替のための提供が可能である。
【００８１】
図１６は図１５の階層的な冗長度の論理グループを構築した場合の処理動作のフローチャートである。図１６において、ステップＳ１の初期化処理後にステップＳ２でＲＡＩＤ−１の２重化、３重化及び４重化の各論理グループを図１５のように構築する。ステップＳ３のホストアクセスに対し、ステップＳ４でライトアクセスを判別した場合には、ステップＳ５に進み、２重化、３重化、４重化構成の各論理グループに対応してグループに含まれる各デバイスに対する並列ライト処理を行う。
【００８２】
一方、リードアクセスについてはステップＳ６で各グループ内の特定のデバイスの単独リード処理を行う。アクセス中にステップＳ７でデバイス故障が判別されると、ステップＳ８で２重化論理グループのデバイス故障であることが判別された場合には、ステップＳ９に進み、最上位の冗長度を持つ多重化論理グループ、具体的には４重化構成の論理グループのドライブを取り込んでデータを復元し、冗長性を回復させる。
【００８３】
一方、２重化構成の論理グループ以外のデバイス故障即ち３重化構成または４重化構成の論理グループでのデバイス故障については、デバイス故障によって冗長性は失われないことから、他の論理グループからのデバイス取込みによる冗長性の回復は行わず、故障デバイスをグループから切り離す除外処理のみを行う。ステップＳ９またはステップＳ１０の故障対応処理が終了した後に、ステップＳ１１で故障ドライブを正常なドライブに交換した故障ドライブ復旧処理が判別されると、ステップＳ１２に進む。
【００８４】
ステップＳ１２では、２重化構成の論理グループのデバイス故障であった場合には、ステップＳ１３で２重化構成の論理グループの交換デバイスにデータを復元して元の２重化論理グループを構築する。また故障代替を行ったデバイスに元のグループの他のデバイスと同じデータを復元し、冗長度の高い元の論理グループを再構築する。
【００８５】
一方、デバイス故障が３重化または４重化の論理グループで起きて故障デバイスの交換が行われた場合には、ステップＳ１４で交換デバイスにグループ内の他のデバイスのデータを復元して元の冗長度を持つ論理グループを再構築する。図１７はＲＡＩＤ−１対応システムの他の実施形態であり、この実施形態にあってはデバイスアレイユニット１２のデバイスとしてアクセス速度の高い半導体メモリを一部に設けたことを特徴とする。
【００８６】
図１７にあっては、冗長度の低い論理グループ１５−０〜１５−８は全てハードディスクドライブであるが、冗長度の高い論理グループ１５−９にあっては、デバイス１６−３０，１６−３１はハードディスクドライブとしているが、もう１つのデバイスとして半導体メモリ４０−３２を使用している。なお、冗長度の高い論理グループ１５−１０のデバイス１６−３３〜１６−３５はハードディスクドライブである。
【００８７】
冗長度の高い論理グループ１５−９に半導体メモリ４０−３２を設けている場合には、例えば冗長度の低い論理グループ１５−０のデバイス１６−０１が故障した場合には冗長度の高い論理グループ１５−９の中のアクセス性能の高い半導体メモリ４０−３２を故障代替デバイスとして取り込んでデータを復元し、冗長性を回復する。
【００８８】
このようにデバイス故障に対する故障代替デバイスとして半導体デバイス４０−３２を使用することで、故障代替時のデータの回復が短時間で済み、デバイス故障を起こした論理グループの冗長性の回復が高速にできる。また故障デバイス１６−０１を正常なデバイスに交換した際の故障復旧処理についても、故障代替を行っていた半導体メモリ４０−３２を元の論理グループ１５−９に戻してデータを復元する処理が高速にできる。
３．ＲＡＩＤ−２対応システム
図１８は本発明のＲＡＩＤ−２対応システムの構成制御により構築されるデバイスアレイユニット１２に対する論理グループの説明図である。
【００８９】
図１８にあっては、ＲＡＩＤ−２に対応した第１論理グループ４２と第２論理グループ４４が構築されている。ＲＡＩＤ−２に対応した第１論理グループ４２は、所定データ長例えばセクタ単位に分割したデータ０，１，・・・Ｘを格納したデータデバイス１６−００，１６−０１，・・・１６−０Ｘと、データ０〜Ｘのエラー検出訂正コードであるハミングコード０，１，・・・Ｙを格納したハミングコードデバイス１６−Ｈ０，１６−Ｈ１，・・・１６−ＨＹで構成される。
【００９０】
例えばＲＡＩＤ−２の第１論理グループ４２は４台のデータデバイス１６−００〜１６−０３と３台のハミングコードデバイス１６−Ｈ０〜１６−Ｈ２で構成される。第２論理グループ４４も第１論理グループ４２と同様であり、データ０〜Ｘをそれぞれ格納したデータデバイス１６−１０〜１６−１Ｘとエラー検出訂正用のハミングコード０〜Ｙを格納したハミングコードデバイス１６−１０〜１６−１Ｙで構成される。
【００９１】
このようなＲＡＩＤ−２対応システムの第１論理グループ４２，第２論理グループ４４について、例えば図１９のように第１論理グループ４２のデータデバイス１６−０１とデータデバイス１６−０Ｘでデバイス故障が発生した場合、ハミングコードデバイス１６−Ｈ０〜１６−ＨＹのハミングコード０〜Ｙを用いて故障デバイスのデータを復旧することが可能であるが、冗長性が低下している。
【００９２】
このデバイス故障で低下した第１論理グループ４２の冗長性を少しでも回復するため、正常な第２論理グループ４４に設けているいずれかのデバイスをデバイス故障を起こした第１論理グループ４２に取り込んで、故障デバイスのデータを復元する。
図１９の場合には、第２論理グループ４４の中のハミングコードデバイス１６−１０をデータデバイス１６−０１，１６−０Ｘの故障により冗長性の落ちた第１論理グループ４２に取り込んで、例えば故障データデバイス１６−０１のデータ１を復元し、第１論理グルー４２の冗長性をデータデバイス１６−０Ｘの故障のみによる冗長性に回復させる。
【００９３】
ここでデバイス故障を起こした第１論理グループ４２に第２論理グループ４４から故障代替デバイスを取り込む際に、デバイスの切り離しで第２論理グループ４４の冗長性が取込み先となるデバイス故障を起こしている第１論理グループ４２の冗長性を下回らないことを条件に故障デバイスの代替を行う。
図２０は図１８及び図１９に示したＲＡＩＤ−２対応システムの処理動作のフローチャートである。まずシステム電源投入に伴うセットアップ時にあっては、ステップＳ１で初期化処理を行い、続いてステップＳ２で図１８のようなＲＡＩＤ−２の論理グループを複数グループ構築する。続いてステップＳ３でホストアクセスを判別する。
【００９４】
ステップＳ４でライトアクセスであった場合には、ステップＳ５に進み、指定された論理グループのデータデバイスに分割したデータと分割データのハミングコードを生成し、論理グループに含まれるデバイスに対し並列ライト処理を行う。一方、リードアクセスであった場合にはステップＳ６に進み、指定された論理グループのデータドライブから並列リード処理を行う。
【００９５】
このリード処理で特定のデバイスのデータが失われていた場合には、ハミングデバイスの対応するハミングコードを呼び出すことで、失われたデバイスのデータを復元することができる。続いてステップＳ７でアクセス中のデバイス故障をチェックしており、デバイス故障があるとステップＳ８に進み、他の論理グループのデバイスを取り込む。
【００９６】
このときステップＳ９で取込み元の論理グループの冗長度が、デバイス故障を起こしている取込み先の冗長度より低下したか否かチェックし、低下しなければステップＳ１０に進み、取り込んだデバイスに故障ドライブのデータを復元して、ドライブ故障を起こした論理グループの冗長性を回復させる。
一方、ステップＳ９でデバイス取込み元となる論理グループの冗長度がデバイス取込みによりデバイス故障を起こしている取込み先の冗長度より低下した場合には、デバイス取込みができないことからステップＳ１２に進み、別の取込み先の論理グループの有無をチェックする。別の取込み先の論理グループがあれば再びステップＳ８に戻ってデバイス取込みを行う。もしデバイス取込み先の論理グループがなければ、ステップＳ１３で故障デバイスを論理グループから切り離し、冗長性の回復は行わない。
【００９７】
ステップＳ１０でデバイス故障を起こした論理グループの冗長性の回復処理が終了した状態で、故障デバイスを正常なデバイスに交換する故障デバイスの復旧がステップＳ１４で判別されると、ステップＳ１５で修理等による正常な交換済デバイスに故障媒体デバイスのデータを復元し、デバイス故障を起こした論理グループの冗長性を元に回復させる。続いて故障代替デバイスに元の論理グループの組込み時と同じデータまたはハミングコードを復元して、故障デバイス取込み元の冗長性を初期状態に回復させる。
４．ＲＡＩＤ−３，４の対応システム
図２１はＲＡＩＤ−３またはＲＡＩＤ−４に対応した本発明のデバイスアレイ・システムで構築した論理グループの説明図である。
【００９８】
図２１において、ＲＡＩＤ−３及びＲＡＩＤ−４のいずれにあっても、基本的な論理グループは複数台のデータを格納したデータデバイスと、各データデバイスのデータから求められたパリティを格納した１台のパリティデバイスで構成される。このようなＲＡＩＤ−３，４の論理グループについて本発明にあっては、複数の論理グループの内の一部の論理グループについてパリティディスクを２台設けて同じパリティを格納してパリティ２重化とすることにより冗長性を高めている。
【００９９】
図２１の論理グループにあっては、論理グループ１５−２０，１５−２１の２つについてパリティ２重化を行っている。例えば論理グループ１５−２０にあっては、データデバイス１６−００〜１６−０３の４台にデータ０〜３を格納し、パリティデバイス１６−０４にデータ０〜３から求めたパリティを格納し、更にパリティデバイス１６−０５を設けてパリティデバイス１６−０４と同じパリティを格納することにより、パリティの２重化を図っている。
【０１００】
論理グループ１５−２１についても、４台のデータデバイス１６−１０〜１６−１３と２重化した２台のパリティデバイス１６−１４，１６−１５を設けている。
これに対し論理グループ１５−２２，１５−２３については、４台のデータデバイス１６−２０〜１６−２３，１６−３０〜１６−３３とパリティデバイス１６−２４，１６−３４により通常のＲＡＩＤ−３，４の論理グループとしている。
【０１０１】
このようにパリティ多重化により冗長度の高い論理グループとパリティのみの冗長度の低い論理グループを構築したＲＡＩＤ−３，４対応システムにあっては、例えば冗長度の低い論理グループ１５−２２のデータデバイス１６−２３が故障した場合には、パリティ２重化により冗長度の高い論理グループ１５−２０の一方のパリティデバイス１６−０５を故障代替デバイスとしてデバイス故障を起こした論理グループ１５−２２に取り込み、故障デバイス１６−２３のデータを復元する。
【０１０２】
図２２は図２１の論理グループ１５−２２の故障デバイス１６−２３を正常なデバイスに交換した場合の故障復旧処理である。即ち図２２（Ａ）は論理グループ１５−２２の故障デバイス１６−２３のデータ３を故障代替デバイスに復元して冗長性を回復した状態であり、この故障代替デバイスは、図２１のようにパリティ２重化を行っている論理グループ１５−２０のパリティデバイス１６−０５を取込んでいる。
【０１０３】
この状態で故障デバイス１６−２３を正常なデバイスに交換したならば、図２２（Ｂ）のように、交換後の正常なデータデバイス１６−２３に故障代替デバイス１６−０５と同じデータ３を復元する。交換したデータデバイス１６−２３に対する元のデータ３の復元は、論理グループ１５−２２のデータデバイス１６−２０〜１６−２２とパリティデバイス１６−２４のデータ０〜２及びパリティから復元してもよいし、図２２（Ａ）のように他の論理グループから取り込んでいる故障代替デバイス１６−０５のデータをコピーすることで復元してもよい。
【０１０４】
図２２（Ｂ）のような故障代替デバイスの交換デバイス１６−２３に対するデータの復元による論理グループ１５−２２の冗長性の回復が済んだならば、故障代替デバイス１６−０５については図２１の元の論理グループ１５−２０に戻し、パリティデバイス１６−０５のデータをコピーして復元させ、論理グループ１５−２０のパリティ２重化による冗長性を回復させる。
【０１０５】
図２３は図２１，図２２のＲＡＩＤ−３の対応システムの処理動作のフローチャートである。電源投入によりシステムを立ち上げると、まずステップＳ１で初期化処理を行い、続いてステップＳ２でＲＡＩＤ−３の論理グループとパリティ２重化を行った論理グループを図２１のように構築する。続いてステップＳ３でホストアクセスを受けると、ステップＳ４に進む。
【０１０６】
ライトアクセスであればステップＳ５に進み、ホストデータをデータデバイスごとに例えばセクタ分割し、更に分割したセクタデータからパリティを生成し、このときアクセス先の論理グループが図２１の論理グループ１５−２０または１５−２１であった場合には、４台のデータデバイスに対するセクタデータと２台のパリティディスクに対する同じパリティデータの並列ライト処理を行う。
【０１０７】
一方、リードアクセスであった場合にはステップＳ６に進み、指定した論理グループのデータディスクの並列リード処理を行う。論理グループのアクセス中にステップＳ７でデバイス故障が判別されると、ステップＳ８でパリティ２重化側の論理グループのデバイス故障か否かチェックする。
パリティ２重化側の論理グループのデバイス故障でなかった場合、即ち図２１のＲＡＩＤ−３の論理グループ１５−２２または１５−２３側であった場合にはステップＳ９に進む。ステップＳ９で、グループ内の２重化パリティデバイスを持つ冗長度の高い論理グループ、例えば論理グループ１５−２０の２台のパリティデバイスの片方を故障代替デバイスとして取り込んで、デバイス故障で失われたデータを復元し、冗長性を回復する。
【０１０８】
一方、パリティ２重化側の論理グループのデバイス故障であった場合にはステップＳ１０に進み、故障デバイスがデータデバイスであった場合は、２重化されているパリティデバイスの片方に故障デバイスのデータを復元する。
尚、故障デバイスが２重化されたパリティディスクの一方であった場合にはパリティによる冗長性は失われていないことから、故障したパリティデバイスを切り離して特別な代替処理は行わない。
【０１０９】
ステップＳ９またはステップＳ１０のデバイス故障に対する対応処理が終了した後、ステップＳ１１で故障デバイスを正常なデバイスに交換する復旧が判別されると、ステップＳ１２でパリティ２重化側のデバイス故障であったか否かチェックする。
パリティ２重化側のデバイス故障でなかった場合、即ち図２２（Ａ）のような２重化されていない論理グループ１５−２２側のデバイス故障に対して故障デバイスの交換が行われた場合には、ステップＳ１３に進み、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを元の論理グループに戻して２重化パリティディスクによる冗長性を復元する。
【０１１０】
一方、パリティ２重化側のデバイス故障であった場合にはステップＳ１４に進み、交換済みのデバイスに片方のパリティディスクで代替した故障代替デバイスのデータを復元する。次に故障代替デバイスにパリティを復元してパリティ２重化による冗長性を回復させる。
図２４は、ＲＡＩＤ−３対応システムで冗長度の低いパリティ２重化が行われていない論理グループのデバイス故障に対するパリティ２重化側の故障代替デバイスの取込みで冗長性を回復した後に、故障代替デバイスを正常なデバイスに交換した際の故障回復処理の他の実施形態である。
【０１１１】
即ち図２４（Ａ）は、図２２（Ａ）と同じ論理グループ１５−２２のデータデバイス１６−２３の故障に対し、図２１のパリティを２重化した論理グループ１５−２０の片方のパリティデバイス１６−０５を故障代替デバイスとして取り込んでデータ３を復元した状態である。
その後に故障デバイス１６−２３を正常なデバイスに交換した場合、図２４（Ｂ）のように、交換したデバイス１６−２３に論理グループ１５−２２のパリティデバイス１６−２４と同じパリティを復元する。
またデバイス１６−２３の故障で他の論理グループから取り込んだ故障代替デバイス１６−０５については、論理グループ１５−２２にそのまま残す。この結果、デバイス故障を起こした論理グループ１５−２２は故障デバイスを交換した時に、パリティデータをパリティデバイス１６−２３，１６−２４の２台に格納したパリティ２重化の論理グループとして再構築される。
【０１１２】
即ち、デバイス故障ごとに故障したデバイスを持つ論理グループが故障デバイスの交換でパリティ２重化の論理グループに再構築されて、パリティ２重化を行っていない他の論理グループに対するデバイス故障代替を可能とする。
図２５は図２４の処理動作のフローチャートであり、図２３のフローチャートとステップＳ１３の故障復旧処理のみが異なる。
【０１１３】
即ち、図２５のステップＳ１３にあっては、図２４のようなパリティ２重化が行われていない論理グループ１５−２２のデバイス故障に対する故障対応処理が終了した後の故障デバイス１６−２３の交換に対し、交換済デバイスに論理グループ１５−２２のパリティを復元してパリティ２重化を行い、他のグループから取り込んだ故障代替デバイスは元に戻さずにそのまま維持する。
【０１１４】
図２６はＲＡＩＤ−３，４の対応システムで構築される論理グループの他の実施形態であり、図２１の実施形態にあっては論理グループのパリティ２重化を行っていたが、図２６の実施形態にあっては、論理グループのパリティではなく複数のデータデバイスの一部を２重化するようにしたことを特徴とする。即ち、論理グループ１５−２０，１５−２１についてデータデバイスの１部の２重化が行われており、論理グループ１５−２２，１５−２３は通常のＲＡＩＤ−３，４の論理グループである。
【０１１５】
例えば論理グループ１５−２０にあっては、データ０〜３のデータデバイス１６−００〜１６−０３とパリティのパリティデバイス１６−０４に加え、更にデータデバイス１６−０５を追加し、ここに例えばデータデバイス１６−０１と同じデータ１を格納して２重化している。
論理グループ１５−２１についても、データデバイス１６−１０〜１６−１３とパリティデバイス１６−１４に加えデータデバイス１６−１５を追加し、データデバイス１６−１１のデータ１を格納してデータの２重化を行っている。
【０１１６】
このような一部のデータの２重化を行った論理グループを持つＲＡＩＤ−３，４の対応システムにあっては、例えばデータ２重化を行わずに冗長度の低い論理グループ１５−２２のデータデバイス１６−２３が故障した場合、論理グループ１５−２０のデータ１を２重化して格納しているデータデバイス１６−０５を取り込んで故障デバイス１６−２３のデータを復元し、冗長性を回復させる。
【０１１７】
一方、データの一部の２重化を行った例えば論理グループ１５−２１の中でパリティデバイス１６−１４が故障した場合には、データ１を多重化しているデータデバイス１６−１５に故障したパリティデバイス１６−１４のパリティを復元して冗長性を回復する。
また論理グループ１５−２１でデータ１を２重化しているデータデバイス１６−１１，１６−１５のいずれか一方が故障した場合には、グループ内もしくは他の論理グループからのデバイス取込みによる故障代替は行わず、データ２重化を行っている故障した片側のデータデバイスを論理グループから切り離すだけでよい。
【０１１８】
図２７は図２６のデータの一部の２重化を行ったＲＡＩＤ−２対応システムの処理動作のフローチャートである。電源投入によりシステムが立ち上げられると、ステップＳ１で初期処理を行った後、ステップＳ２でＲＡＩＤ−３の論理グループと一部のデータデバイスを２重化した論理グループを図２６のように構築する。
【０１１９】
続いてステップＳ３でホストアクセスを判別すると、ステップＳ４でライトアクセスか否かチェックし、ライトアクセスであればステップＳ５に進み、ＲＡＩＤ−３対応の並列ライト処理を行う。この場合、一部データを２重化している論理グループ、即ち図２６の論理グループ１５−２０または１５−２１のライトアクセスであった場合には、通常のＲＡＩＤ−３並列ライトに加えて、２重化しているデータデバイスに対する２重化データのライト処理を同時に行う。
【０１２０】
一方、リードアクセスであった場合にはステップＳ６に進み、指定された論理グループを対象にＲＡＩＤ−３の並列リード処理、即ち複数のデータデバイスに格納しているデータの並列リード処理を行う。この場合、２重化データを格納している２台のデータデバイスについては、片側のデバイスからのリードを行うことになる。
【０１２１】
ステップＳ５またはステップＳ６のアクセス中にステップＳ７でデバイス故障が判別されると、ステップＳ８に進み、データ２重化側のデバイス故障か否かチェックする。データ２重化側のデバイス故障でなければステップＳ９に進み、図２６の論理グループ１５−２２のデータデバイス１６−２３の故障のように、データの一部を２重化している論理グループ１５−２０のデータデバイス１６−０５を故障代替デバイスとして取り込んでデータを復元し、冗長性を回復させる。
【０１２２】
また図２６の論理グループ１５−２１のようにデータ２重化側のデバイス故障であった場合には、２重化されているデータ１のデータデバイス１６−１１，１６−１５のいずれか一方に故障デバイスのデータを復元する。この場合、データ１を２重化しているデータデバイス１６−１１または１６−１５のデバイス故障であった場合には、グループ内でのデバイス代替による復元処理は特に行わない。
【０１２３】
このようなステップＳ９またはステップＳ１０のデバイス故障に対する対応処理が済んだならば、ステップＳ１１で故障デバイスを正常なデバイスに交換する復旧の有無をチェックしており、デバイス交換が行われるとステップＳ１２でデータ２重化側のデバイス故障か否かチェックする。
データ２重化側のデバイス故障でなかった場合にはステップＳ１３に進み、交換済デバイスに他の論理グループから取り込んでいる故障代替デバイスのデータを復元して冗長性を回復する。続いて他の論理グループから取り込んでいる故障代替デバイスを元の論理グループに戻して元のデータを復元し、デバイス取込み元の論理グループの冗長性を回復させる。
【０１２４】
一方、データ２重化側の論理グループのデバイス故障であった場合には、ステップＳ１４に進み、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスに元のデータを復元して２重化する。ここで、２重化されたデータデバイスの片側のデバイス故障に対する交換時にあっては、交換デバイスに正常に動作している２重化データ側の残りのデータデバイスのデータをコピーにより復元し、２重化データデバイスによる冗長性を回復させる。
【０１２５】
尚、図２３，図２５及び図２７のフローチャートにあっては、ＲＡＩＤ−３の対応システムの処理動作を例にとっているが、ＲＡＩＤ−４の対応システムについても、論理グループに対するデータのライト処理及びリード処理がデータデバイスごとのデータ単位例えばデータデバイスのセクタ単位に個別的に行われる点以外は、ＲＡＩＤ−３の対応システムと同じになる。
５．ＲＡＩＤ−５の対応システム
図２８は本発明によるＲＡＩＤ−５対応システムのデバイスアレイユニット１２を対象に構築される論理グループの説明図である。ＲＡＩＤ−５対応の論理グループは、論理グループ１５−３０〜１５−３３のように例えば５台のデバイスで構成され、パリティはセクタ位置によって異なったデバイスに配置される。
【０１２６】
例えば論理グループ１５−３０を例にとると、デバイス１６−００〜１６−０４の各々にデータ０〜データ４が個別に格納され、パリティ０〜パリティ５はデバイス１６−００〜１６−０４の異なるセクタ位置に順次格納される。この点は残りの論理グループ１５−３１〜１５−３３についても同様である。
このようなＲＡＩＤ−５に対応した論理グループ１５−３０〜１５−３３について本発明にあっては、論理グループ１５−３０，１５−３１について更にもう１台のデータデバイス１６−０５，１６−１５を追加し、ここにデバイス１６−００，１６−１０と同じデータ０とパリティ０を格納して、一部のデバイスの２重化を図っている。
【０１２７】
このような論理グループ１５−３０，１５−３１における一部のデバイスの２重化により、通常の論理グループ１５−３２，１５−３３に対し冗長度を高くすることができる。  ＲＡＩＤ−５対応システムのデバイス故障は次のように処理する。いま図２８の冗長度の低い論理グループ１５−３２のデバイス１６−２３が故障したとする。このデバイス１６−２３の故障に対し冗長度の高い論理グループ１５−３０の中のデータ０を２重化している一方のデバイス１６−０５を故障代替デバイスとして取り込み、故障デバイス１６−２３のデータ３を復元し、論理グループ１５−３２の冗長性を回復させる。
【０１２８】
これに対し冗長性の高い例えば論理グループ１５−３１のデバイス１６−１４が故障した場合には、グループ内のデータ０を２重化している一方のデバイス１６−１５を故障代替デバイスに指定し、故障デバイス１６−４のデータ４を復元し、論理グループ１５−３１の冗長性を回復させる。また論理グループ１５−３１でデータ０を２重化しているデバイス１６−１０または１６−１５のいずれかが故障した場合には、デバイスの故障代替は行わず、故障デバイスを切り離す。
【０１２９】
故障デバイスを正常なデバイスに交換した後の故障復旧処理については、冗長度の低い論理グループ１５−３２の故障デバイス１６−２３の交換時には、交換後のデバイス１６−２３に元のデータ３を復元して正常な論理グループに戻し、故障代替デバイス１６−０５については論理グループ１５−３０に戻してデータ０の復元により２重化による冗長性を回復させる。
【０１３０】
また冗長度の高い論理グループ１５−３１内のデバイス１６−１４の交換については、交換後のデバイス１６−１４に元のデータ４を復元し、このとき代替しているデバイス１６−１５には２重化のためデバイス１６−１０のデータ０を復元させて、元の冗長度を持つ論理グループ１５−３１を再構築する。
図２９は図２８のＲＡＩＤ−５の対応システムのフローチャートである。電源投入によりシステムが立ち上げられると、ステップＳ１で初期化処理を行った後、ステップＳ２でＲＡＩＤ−５の論理グループを複数構築し、更に一部の論理グループのデバイスを２重化した冗長度の高い論理グループを構築する。
【０１３１】
ステップＳ３のホストアクセスに対しては、ステップＳ４でライトアクセスであれば、ステップＳ５に進み、ＲＡＩＤ−５のライト処理を行う。このとき図２８の論理グループ１５−３０のデバイス１６−００または論理グループ１５−３１のデバイス１６−１０のライト処理にあっては、同じデータを２重化されているグループ内のデバイス１６−０５あるいは１６−１５に同時に書き込む多重ライト処理を行う。
【０１３２】
またリードアクセスであった場合にはステップＳ６に進み、ＲＡＩＤ−５のリード処理となる。この場合、リード要求先のデバイスが論理グループの中の２重化されたデバイスであった場合には、片方のデバイスからのリード処理を行う。論理グループに対するリードまたはライトのアクセス中にデバイス故障がステップＳ７で判別されると、ステップＳ８に進み、デバイス２重化側の論理グループのデバイス故障か否かチェックする。
【０１３３】
デバイス２重化側のデバイス故障でなかった場合には、具体的には図２８の論理グループ１５−３２または１５−３３側のデバイス故障であった場合には、ステップＳ９に進み、グループ内の論理グループの２重化ドライブの片側を取り込んで故障デバイスのデータを復元することにより、冗長性を回復させる。
一方、ドライブ２重化側の論理グループにおけるデバイス故障であった場合にはステップＳ１０に進み、グループ内の２重化デバイスの片側に故障デバイスのデータを復元する。なお故障デバイスが２重化デバイスの片方であった場合には、データ復元を行わず故障デバイスを切り離すだけになる。
【０１３４】
このようなデバイス故障に対する対応処理を行った後、ステップＳ１１で故障デバイスを正常なデバイスに交換する復旧が判別され、ステップＳ１２でドライブ２重化側のデバイス故障でないことを判別した場合には、ステップＳ１３に進み、交換済デバイスに故障代替デバイスのデータを復元して冗長性を回復する。
次に故障代替デバイスを元の論理グループに戻してデータを復元し、２重化デバイスを有する論理グループの冗長性を回復させる。一方、故障ドライブの交換がドライブ２重化側の故障デバイスに対して行われた場合には、ステップＳ１４に進み、交換済ドライブにグループ内の故障代替デバイスのデータを復元し、次に故障代替デバイスにデータを復元して２重化する。
【０１３５】
もちろん、２重化デバイスの片方の故障に対し正常なデバイスに交換した場合には、単に元のデータを復元して２重化するだけで良い。
６．ＲＡＩＤレベルを組み合わせたシステム
図３０はＲＡＩＤ−１，２，３，４，５の組み合わせによる本発明のデバイスアレイ・システムを対象とした論理グループの構成であり、この実施形態にあってはＲＡＩＤ−２に対応した第１論理グループ４６とＲＡＩＤ−３に対応した冗長性を持った第２論理グループ４８−１、およびＲＡＩＤ−１に対応して第２論理グループ４８−２に分けて論理グループを構築したことを特徴とする。
【０１３６】
即ち、第１論理グループ４６はＲＡＩＤ−２に対応してデータデバイス１６−００〜１６−０Ｘにデータ０〜Ｘを格納し、またハミングコードデバイス１６−Ｈ０〜１６−ＨＹにハミングコード０〜Ｙを格納している。これに対し第２論理グループ４８−１はＲＡＩＤ−３に対応し、データデバイス１６−１０〜１６−１３にデータ０〜３を格納し、パリティデバイス１６−１４にデータ０〜３から求めたパリティを格納している。
【０１３７】
また第２論理グループ４８−２はＲＡＩＤ−１の論理グループであり、デバイス１６−２０，１６−２１に同じデータ０を格納している。このようなＲＡＩＤの組合せの論理グループについては、ハミングコードを用いたＲＡＩＤ−２の第１論理グループ４６の方がパリティを用いたＲＡＩＤ−３，１の第２論理グループ４８−１，４８−２より冗長度が高いことから、第２論理グループ４８−１，４８−２側のデバイス故障に対し冗長度の高い第１論理グループ４６のデバイスを故障代替デバイスとして取り込んで冗長性を回復させる。
【０１３８】
図３１はＲＡＩＤ−３の第２論理グループ４８−１のデータデバイス１６−１３が故障した場合であり、この場合、ＲＡＩＤ−２の第１論理グループ４６の中の例えばハミンコードデバイス１６−Ｈ１を故障代替デバイスとして取り込んで故障デバイス１６−１３のデータ１を復元し、第２論理グループ４８のＲＡＩＤ−３としての冗長性を回復する。
【０１３９】
第１論理グループ４６にあっては、故障代替デバイスとしてハミングコードデバイス１６−Ｈ１を開放しても、残りのデータデバイス１６−００〜１６−０Ｘ及びハミングコードデバイス１６−Ｈ０，１６−Ｈ２〜１６−ＨＹにより冗長性が確保されており、冗長性は低下するが失われることはない。
図３２は図３０，図３１のＲＡＩＤ組合せシステムの処理動作のフローチャートである。電源投入によりシステムが立ち上げられると、ステップＳ１で初期化処理を行った後、ステップＳ２で、図３０のようにＲＡＩＤ−２の冗長度の高い第１論理グループと冗長度がパリティに依存したＲＡＩＤ−１，３，４，５を含む第２論理グループを構築する。ここで図３０にあっては、第２論理グループとしてＲＡＩＤ３，１を例にとっているが、これ以外にＲＡＩＤ−４，５を含めてもよい。
【０１４０】
次にステップＳ３でホストアクセスを判別すると、ステップＳ４でライトアクセスか否かチェックし、ライトアクセスであればステップＳ５に進み、アクセス先となる論理グループのＲＡＩＤ形態に対応したライト処理を実行する。またリード処理であればステップＳ６に進み、アクセス先のＲＡＩＤ形態に対応したリード処理を行う。
【０１４１】このような論理グループのライトまたはリード処理のアクセス中にステップＳ７でデバイス故障が判別されると、パリティにより冗長性を確保している第２論理グループのデバイス故障か否かステップＳ８でチェックする。第２論理グループのデバイス故障であればステップＳ９に進み、ＲＡＩＤ−２の第１論理グループのデバイスを故障代替デバイスとして取り込んでデータを復元し、第２論理グループとしてのＲＡＩＤ−１，３，４または５の冗長性を回復する。
【０１４２】
一方、ＲＡＩＤ−２の第１論理グループのデバイス故障であった場合には、ＲＡＩＤ−２のハミングコードに対応したデータ復元を行うだけで、特別な故障対応処理は行わない。続いてステップＳ１１で故障デバイスを正常なデバイスへの交換が判別されると、ステップＳ１２で第２論理グループ側のデバイス故障であることが判別されると、ステップＳ１３に進む。
【０１４３】
ステップＳ１３では、交換済デバイスに故障代替デバイスのデータを復元して元の論理グループを回復し、次に故障代替デバイスを第１論理グループに戻して元のデータを復元し、同様に元の冗長性の論理グループを回復させる。一方、第１論理グループ内のデバイス故障であった場合には、ステップＳ１４で交換済デバイスに元のデータを復元するだけでよい。
【０１４４】
図３３は図３０に示したＲＡＩＤレベルを組み合わせた論理グループの構築について、第２論理グループ側のデバイス故障に対し第１論理グループ４６を初期設定したＲＡＩＤ−２からＲＡＩＤ−３の論理グループに変更し、ＲＡＩＤ−２で使用していた複数台のハミングデータディスクを故障代替ディスクとして開放し、故障デバイスを代替させるようにしたことを特徴とする。
【０１４５】
例えばＲＡＩＤ−３となる第２論理グループ４８−１のデバイス１６−１３が故障した場合、故障代替デバイスを提供するＲＡＩＤ−１の第１論理グループ４６を図示のＲＡＩＤ−３の論理グループに変更する。このＲＡＩＤ−３の論理グループへの変更によりデータ０〜Ｘのデータディスク１６−００〜１６−０Ｘに対し、データ０〜Ｘから求めたパリティを格納する１台のハミングコードデバイス１６−Ｈ０のみが必要となり、残りの１６−Ｈ１〜１６−ＨＹは第１論理グループ４６から切り離される。
【０１４６】
このため第２論理グループ４８−１の故障デバイス１６−１３に対し、ＲＡＩＤ−３への変更により開放されたハミングコードデバイス１６−Ｈ１〜１６−ＨＹの中の例えば先頭のハミングコードデバイス１６−Ｈ１を第２論理グループ４８−１に取り込み、故障デバイス１６−１３のデータ３を復元してＲＡＩＤ−３としての冗長性を回復させる。
【０１４７】
第１論理グループ４６を最初のデバイス故障に対応してＲＡＩＤ−３へ変更した後は、変更により開放されているハミングコードデバイスが他の第２論理グループのデバイス故障に対する故障代替デバイスとして使用できる。また第２論理グループ側の故障デバイスが全て正常なデバイスに交換されて冗長性が回復された後は、第１論理グループ４６に必要な全てのハミングコードデバイス１６−Ｈ０〜１６−ＨＹがグループに戻されることから、再びＲＡＩＤ−２の論理グループに変更して新たなデバイス故障に備える。
【０１４８】
図３４は図３３の故障デバイスに対する故障代替で第１論理グループ４６をＲＡＩＤ−２からＲＡＩＤ−３に変更する場合の処理動作のフローチャートである。図３４において、ステップＳ１〜Ｓ８は図３２と同じである。ステップＳ９の第２論理グループ側のデバイス故障に対する故障対応処理は、第１論理グループをＲＡＩＤ−２からＲＡＩＤ−３に変更してパリティデバイス以外のハミングコードデバイスを開放し、開放したハミングコードデバイスを故障代替デバイスとして取り込んでデータを復元することにより冗長性を回復する。
【０１４９】
また故障対応処理が行われた後の第２論理グループの故障デバイスを正常デバイスに交換した場合の故障復旧処理は、ステップＳ１３のように、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを第１論理グループに戻し、故障代替のために取り出されているデバイスがなければＲＡＩＤ−３から元のＲＡＩＤ−２の論理グループに変更して再構築する。
【０１５０】
図３５はＲＡＩＤレベルを組み合わせたデバイスアレイ・システムで構築される他の論理グループであり、同一データを複数デバイスに共通に格納したＲＡＩＤ−１対応の多重化により冗長性を確保する第１論理グループと、パリティにより冗長性を確保する第２論理グループに分けたことを特徴とする。
図３５の論理グループの構築にあっては、第１論理グループ５２としてデバイス１６−００，１６−０１に同じデータ０を格納した２重化デバイスとしている。これに対し第２論理グループ５４はＲＡＩＤ−３に従って４台のデータデバイス１６−１０〜１６−１３とパリティデバイス１６−１４を備えており、更に冗長性を高めるためにパリティデバイス１６−１５を設けてパリティデータを２重化している。
【０１５１】
この図３５の第１論理グループ５２と第２論理グループ５４にあっては、第１論理グループ５２の冗長度に対し、パリティ２重化を行っている第２論理グループ５４の方が冗長度が高い。したがって冗長度の低い第１論理グループ５２で例えばデバイス１６−０１が故障した場合には、第２論理グループ５４の例えば２重化されている一方のパリティデバイス１６−１４を故障代替デバイスとして取り込み、故障デバイス１６−０１のデータを復元して第１論理グループ５２の冗長性を回復させる。
【０１５２】
図３６は多重化デバイスにより冗長性を得ているＲＡＩＤ−１の第１論理グループ５６と、パリティデバイスにより冗長性を得ているＲＡＩＤ−３の第２論理グループ５８を構築した場合の他の実施形態であり、この実施形態にあっては第１論理グループ５６側にデバイス１６−００〜１６−０２の３台を設けて３重化することで、第２論理グループ５８に対し冗長度を高めている。
【０１５３】
この場合には、冗長度の低いＲＡＩＤ−３の第２論理グループ５８のデバイス１６−１３が故障した場合、冗長度の高い第１論理グループ５６の例えばデバイス１６−０１を取り込んでデータ３を復元し、第２論理グループ５８の冗長性を回復する。
第１論理グループ５６にあっては、デバイス１６−０１を故障代替デバイスとして提供しても、２台のデバイス１６−００，１６−０２が残っていることから、冗長性は低下するが失われることはない。尚、図３５，図３６は第２論理グループ５４，５８としてＲＡＩＤ−３を例にとっているが、これ以外にＲＡＩＤ−４，５を含んでもよいことはもちろんである。また図３６の第１論理グループ５６にあっては、３重化した場合を例にとっているが、多重化数は３重化以上であれば適宜の多重化数とできる。
【０１５４】
図３７は図３５及び図３６を対象とした処理動作のフローチャートである。電源投入によりシステムを立ち上げると、ステップＳ１で初期化処理を行った後、ステップＳ２で多重化ドライブの第１論理グループとＲＡＩＤ−３，４，５の第２論理グループを構築する。この論理グループの構築にあっては、図３５のように第２論理グループ５４側の冗長度を高くするか、あるいは図３６のように第１論理グループ５６側の冗長度を高くするかのいずれかが行われる。
【０１５５】
ステップＳ３〜Ｓ６のホストアクセスに対するリード・ライト処理は、ＲＡＩＤ−１の多重化ドライブあるいはＲＡＩＤ−３，４，５の各々に対応した処理となる。ステップＳ７でデバイス故障が判別されると、ステップＳ８で多重化グループとしての第１論理グループのデバイス故障か否かチェックされ、第１論理グループのデバイス故障であればステップＳ９に進み、図３５のような第２論理グループの例えばパリティデバイスを故障代替デバイスとして取り込んでデータを復元し、第１論理グループの冗長性を回復する。
【０１５６】
一方、第２論理グループ側のデバイス故障であった場合には、ステップＳ１０に進み、図３６のように第１論理グループ５６側の冗長度が高くなっている論理グループの構築状態を前提に第１論理グループのデバイスを取り込んでデータを復元することにより、デバイス故障を起こした第２論理グループの冗長性を回復する。
【０１５７】
デバイス故障後のステップＳ１１における故障デバイスの交換による復旧が判別されると、ステップＳ１２で第１論理グループ側のデバイス故障であった場合には、ステップＳ１３で交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを第２論理グループに戻してデータを復元することで元の論理グループを再構築する。
【０１５８】
また第２論理グループ側のデバイス故障であった場合には、ステップＳ１４で、交換済デバイスに故障代替デバイスのデータを復元し、続いて故障代替デバイスを元の第１論理グループに戻して初期設定した論理グループ状態を再構築する。
尚、本発明は上記の実施例に示した数値による限定は受けない。また上記の実施形態はデバイスアレイユニット１２のデバイスとして磁気ディスク装置を例にとっているが、これ以外に光ディスク装置や磁気テープ装置等の適宜の入出力デバイスを使用することができる。更にデバイスアレイユニット１２には、同一種類のデバイスのみならず複数種類の異なった入出力デバイスを混在させるようにしてもよい。
【０１５９】
【発明の効果】
以上説明してきたように本発明によれば、デバイス故障のない通常の運用状態にあっては、デバイスアレイユニットの中にはデバイス故障に対処するための予備デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属して上位装置からの要求に基づいたアクセスを受けた動作状態にあり、ホットスペアとしてのデバイスを固定して設けた場合のようにホットスペアの機能を検証するホットスペアパトロールは不要であり、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、これによりシステム性能の維持を保証することができる。
【０１６０】
更にアクセス対象とする冗長度を持つ論理グループの中に、より高い冗長度の論理グループを構築しているため、システム全体としての冗長性が更に向上でき、データ入出力要求に対する信頼性を更に向上することができる。更に、従来のアレイディスク装置においては、ホットスペアディスクを備えることでディスク故障による冗長性の低下を防止していた。ここで、ホットスペアディスクはいわゆる予備のディスクであり、データディスクが故障した際にその代わりとして論理ディスクに組み込まれるものである。
【０１６１】
これに対し、本発明ではホットスペアディスクという概念をなくし、全てのディスクをデータディスクとして使用する。この結果、冗長性の増加による信頼性の向上はもとより、以下のような特別な効果を奏するに至った。
ＲＡＩＤ−１に関しては、同時に同一の論理ディスクに対するリード要求が発生した場合には、当該論理ディスクの多重度分の同時処理が可能となる。このため、論理ディスクの多重度を増すことでリード処理の待ち時間を削減でき、性能向上に寄与する。
【０１６２】
ＲＡＩＤ−３に関しては、論理ディスクを構成するいずれかのディスクの多重度を増やすことにより、最初に位置づけの完了したディスクを使用してデータ転送することができるので、性能向上に寄与する。例えば、不良交代リンクの張られたディスクを対象とすることで顕著な効果が得られる。
ＲＡＩＤ−５に関しては、ストライピングによってアクセスの分散による性能向上が図られているが、更にその中でもアクセスが集中している物理ディスクを多重化することにより、ＲＡＩＤ−１と同じ理由によりアクセスの多重処理が可能となり性能向上に寄与することとなる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明のシステム構成のブロック図
【図３】本発明のシステム機能のブロック図
【図４】本発明の基本的な処理のフローチャート
【図５】本発明のＲＡＩＤ−１対応システムにおける論理グループ構成の説明図
【図６】図５のＲＡＩＤ−１対応システムで冗長度の低いグループデバイス故障時の対応処理の説明図
【図７】図６で故障デバイスを交換した際の復旧処理の説明図
【図８】図７に続いて行う故障代替デバイスの復旧処理の説明図
【図９】本発明によるＲＡＩＤ−１対応システムの処理動作のフローチャート
【図１０】図６で故障デバイスを交換した際の他の復旧処理の説明図
【図１１】本発明のＲＡＩＤ−１対応システムの処理動作のフローチャート
【図１２】ＲＡＩＤ−１対応システムで複数デバイスが順次故障した場合の対応処理の説明図
【図１３】ＲＡＩＤ−１対応システムで故障代替デバイスを取り込む際のポート選択の説明図
【図１４】ＲＡＩＤ−１対応システムで冗長度の高いグループデバイス故障時の対応説明図
【図１５】冗長度を階層設定したＲＡＩＤ−１対応システムの故障対応処理の説明図
【図１６】図１５のＲＡＩＤ−１対応システムの処理動作のフローチャート
【図１７】冗長度の高いグループデバイスに半導体メモリを設けたＲＡＩＤ−１対応システムの説明図
【図１８】本発明のＲＡＩＤ−２対応システムにおける論理グループ構成の説明図
【図１９】図１８のＲＡＩＤ−２対応システムにおける故障対応処理の説明図
【図２０】本発明のＲＡＩＤ−２対応システムの処理動作のフローチャート
【図２１】本発明のＲＡＩＤ−３，４対応システムにおけるパリティデバイスの多重化による論理グループ構成と故障対応処理の説明図
【図２２】図２１の故障デバイスを交換した際の復旧処理の説明図
【図２３】図２１及び図２２に対応したＲＡＩＤ−３，４対応システムの処理動作のフローチャート
【図２４】図２１の故障デバイスを交換した際の他の復旧処理の説明図
【図２５】図２４に対応したＲＡＩＤ−３，４対応システムの処理動作のフローチャート
【図２６】本発明のＲＡＩＤ−３，４対応システムにおけるデータデバイスの一部の多重化による論理グループ構成と故障対応処理の説明図
【図２７】図２６によるＲＡＩＤ−３，４対応システムの処理動作のフローチャート
【図２８】本発明のＲＡＩＤ−５対応システムにおける論理グループ構成と故障対応処理の説明図
【図２９】図２８によるＲＡＩＤ−５対応システムの処理動作のフローチャート
【図３０】本発明のＲＡＩＤ組合せシステムにおける論理グループ構成の説明図
【図３１】図３０のＲＡＩＤ組合せシステムにおける故障対応処理の説明図
【図３２】図３０，３１によるＲＡＩＤ組合せシステムの処理動作のフローチャート
【図３３】ＲＡＩＤ組合せシステムでデバイス故障時にＲＡＩＤ−２をＲＡＩＤ−３に変更して代替する処理の説明図
【図３４】図３３によるＲＡＩＤ組合せシステムの処理動作のフローチャート
【図３５】ＲＡＩＤ組合せシステムで多重化論理グループのデバイス故障をパリティ論理グループのデバイスで代替して対応する処理の説明図
【図３６】ＲＡＩＤ組合せシステムでパリティ論理グループのデバイス故障を多重化論理グループのデバイスで代替して対応する処理の説明図
【図３７】図３５，３６によるＲＡＩＤ組合せシステムの処理動作のフローチャート
【符号の説明】
１０：ディスクアレイコントローラ（コントローラ）
１２：デバイスアレイユニット
１４：ホストコンピュータ（上位装置）
１５−００〜１５−３３：論理グループ
１６，１６−００〜１６−３５：デバイス（ディスクドライブ）
１８：ＭＰＵ
２０：ホストアダプタ
２２：キャッシュユニット
２４−０〜２４−５：デバイスアダプタ
２６：コントロールバス
２８：データバス
３０：ブリッジ回路
３２：ホストアクセス部
３４：デバイスアクセス部
３６：構成制御部
３８：故障処理部
【図１】
0003595099.tif 000002
【図２】
0003595099.tif 000003
【図３】
0003595099.tif 000004
【図４】
0003595099.tif 000005
【図５】
0003595099.tif 000006
【図６】
0003595099.tif 000007
【図７】
0003595099.tif 000008
【図８】
0003595099.tif 000009
【図９】
0003595099.tif 000010
【図１０】
0003595099.tif 000011
【図１１】
0003595099.tif 000012
【図１２】
0003595099.tif 000013
【図１３】
0003595099.tif 000014
【図１４】
0003595099.tif 000015
【図１５】
0003595099.tif 000016
【図１６】
0003595099.tif 000017
【図１７】
0003595099.tif 000018
【図１８】
0003595099.tif 000019
【図１９】
0003595099.tif 000020
【図２０】
0003595099.tif 000021
【図２１】
0003595099.tif 000022
【図２２】
0003595099.tif 000023
【図２３】
0003595099.tif 000024
【図２４】
0003595099.tif 000025
【図２５】
0003595099.tif 000026
【図２６】
0003595099.tif 000027
【図２７】
0003595099.tif 000028
【図２８】
0003595099.tif 000029
【図２９】
0003595099.tif 000030
【図３０】
0003595099.tif 000031
【図３１】
0003595099.tif 000032
【図３２】
0003595099.tif 000033
【図３３】
0003595099.tif 000034
【図３４】
0003595099.tif 000035
【図３５】
0003595099.tif 000036
【図３６】
0003595099.tif 000037
【図３７】
0003595099.tif 000038