JP3595099B2 - デバイスアレイ・システム - Google Patents
デバイスアレイ・システム Download PDFInfo
- Publication number
- JP3595099B2 JP3595099B2 JP6275997A JP6275997A JP3595099B2 JP 3595099 B2 JP3595099 B2 JP 3595099B2 JP 6275997 A JP6275997 A JP 6275997A JP 6275997 A JP6275997 A JP 6275997A JP 3595099 B2 JP3595099 B2 JP 3595099B2
- Authority
- JP
- Japan
- Prior art keywords
- logical group
- data
- devices
- redundancy
- failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1004—Adaptive RAID, i.e. RAID system adapts to changing circumstances, e.g. RAID1 becomes RAID5 as disks fill up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/103—Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
Description
【発明の属する技術分野】
本発明は、ディクスクドライブ等の複数の入出力デバイスにより冗長性をもつ論理グループを構成してデバイスの故障時にデータを修復可能とするデバイスアレイ・システムに関し、特に、デバイス故障に対し冗長性の高い別の論理グループから故障代替デバイスを取り込んで冗長性を回復するディスクアレイ装置に関する。
【0002】
【従来の技術】
従来、高速に大量のデータを多くのディスクドライブ等の入出力デバイスにアクセスし、デバイス故障時におけるデータの冗長性を実現するディスクアレイシステムとして、1987年のカルフォルニア大学バークレイ校のデビット・A・パターソン等の論文に由来するRAIDレベルが知られている。
【0003】
このRAIDレベルは、RAID−1からRAID−5のレベルに分類されている。RAID−1は同じデータを2台のディスクドライブに格納したミラーディスクである。RAID−2では数台のディスクドライブに、データと故障したドライブのデータを回復するためのハミングコードを保持している。またRAID−3からRAID−5では、ディスクドライブの故障時にデータを回復するためにパリティを保持している。
【0004】
このRAIDレベルの中でも、RAID−4,5では複数のディスクドライブの同時読出しが可能であり、更に、RAID−5レベルにおいては、パリティを格納するディスクドライブを固定しないことで複数の同時書込みをも可能にしており、大量のトランザクション処理においてその効果を発揮する。
これらのRAIDシステムにおいて、ディスクドライブが1台故障した際にそのまま使用を継続すると、更にもう1台故障した場合にはデータが消えてしまうという問題がある。従って、1台故障したら直ぐにRIADの冗長性によるデータ復元機能を用いて、故障したディクスドライブのデータを新たに準備した正常なディクスドライブに修復することにより、再び冗長性を取り戻すことができる。このためディスクアレイ装置では、故障時のデータ修復に使われるホットスペアと呼ばれるディスクドライブをアレイの中に設置している。
【0005】
【発明が解決しようとする課題】
ところで、ディスクアレイ・システムでホットスペアを設置した場合、ホットスペアが正常であるか否かを常に監視する必要があり、そのためホットスペアパトロールの機能を設けている。ホットスペアパトロールは、例えば1時間に1回ベリファイ・コマンドをホットスペアに対し発行し、例えば1ケ月の間にホットスペアのディスク全面のベリファイ処理を行う。またベリアァイ・コマンドだけではホットスペアのライト・リード回路を検証できないため、更にホットスペアに対し複数ブロックデータのリードとライトも行う。
【0006】
しかし、このようなホットスペアパトロールは、ホストアクセスオペレーションに対し非同期に透過的に行われており、ホットスペアをアクセスした際に、同じポートに接続している他のディスクドライブに対するホストアクセスオペレーションと衝突する場合がある。衝突が起きるとホストアクセスオペレーションはホットスペアのアクセス終了まで待たされることとなり、アクセス性能を低下させる要因となっている。
【0007】
本発明は、ホットスペアパトロールを必要とすることなく、冗長性の高い別の論理グループから故障代替デバイスを取り込んで冗長性を回復することによりアクセス性能を向上させたテバイスアレイ・システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
図1は本発明の原理説明図である。まず本発明のデバイスアレイシステムは、図1(A)のように、デバイスアレイユニット12とコントローラ10で構成される。デバイスアレイユニット12は、複数のポートP0〜P5の各々に複数のランクR0〜R3に亘って入出力用のデバイス16を複数接続し、ランク単位に複数のデバイス16を並列的にアクセス可能とする。コントローラ10は、デバイスアレイユニット12に設けた複数のデバイス16を複数の論理グループに分け、上位装置14からのアクセス要求に基づき論理グループ単位にアクセスする。
【0009】
(RAID−1対応)
このようなデバイスアレイ・システムにつき本発明にあっては、コントローラ10に、RAID−1のミラーデバイスに対応した構成制御部36と故障処理部38を設ける。構成制御部36は、デバイスアレイユニット12の論理グループとして、同一データをN台のデバイス16に格納して多重化した第1論理グループと、同一データを少なくとも(N+1)台のデバイス16に格納して多重化した第2論理グループとを構築する。
【0010】
故障処理部38は、冗長度の低い第1論理グループで1台のデバイス16が故障して冗長性が失われた際に、冗長度の高い第2論理グループの1台のデバイス16を第1論理グループに取り込み、故障代替デバイスとしてデータを復元し、第1論理グループの冗長性を回復する。
例えば構成制御部36は、図1(B)のように、同一データを2台のデバイス16に格納して2重化した9つの第1論理グループAと、同一データを3台のデバイス16に格納して3重化した2つの第2論理グループBを構築する。この場合、故障処理部38は、2重化した第1論理グループAで1台のデバイス16−01が故障して冗長性が失われた際に、3重化した第2論理グループBのデバイス16−31を第1論理グループAに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復(2重化)させる。
【0011】
このようなRAID−1対応のデバイスアレイ・システムによれば、通常の運用中には、デバイスアレイユニット12の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアとしてのデバイスを固定して設けた場合のように、ホットスペアが正常に機能するか否かを検証するホットスペアパトロールは必要ない。その結果、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【0012】
冗長度の低い第1論理グループでデバイス故障が起きると、冗長度の高い第2論理グループのデバイスが故障代替デバイスとして取り込まれ、デバイス故障を起こした第1論理グループの冗長度が回復できる。このとき故障代替デバイスを提供した第2論理グループの冗長度は低下するが、所定の閾値、例えば第1論理グループの冗長度を下回ることはない。
【0013】
冗長度の低い第1論理グループのデバイス故障に対し冗長度の高い第2論理グループのデバイスが故障代替デバイスとして取り込まれ、デバイス故障を起した第1論理グループの冗長度が回復した後、第1論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部38は、交換デバイスを第1論理グループに取り込んで故障代替デバイスと同じデータを復元し、次に故障代替デバイスを第2論理グループに戻して元のデータを復元し、故障代替で低下した冗長度を回復させる。
【0014】
この第1論理グループの故障デバイスを正常なデバイスに交換した際の故障処理部38の他の処理としては、交換デバイスを第2論理グループに取り込んでデータを復元して故障代替で低下した冗長度を回復させる。また故障代替デバイス16は第1論理グループをそのまま残し、データの復元処理を省略する。
第1論理グループのデバイスが順次故障する複数故障に対し故障処理部38は次のように処理する。まず第1論理グループで1台のデバイスが故障して冗長性が失われ、第2論理グループのデバイスを第1論理グループに取り込んで故障代替デバイスとしてデータを復元させる。その後に、第1論理グループで更に1台のデバイスが故障した場合は、他の第2論理グループのデバイスを第1論理グループに取り込んで故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0015】
故障処理部38は、第1論理グループの故障代替デバイス16を第2論理グループから取り込む際に、故障デバイス16と同一ポートに接続している第2論理グループのデバイス16を優先的に選択する。これによって第1論理グループに取込んだ故障代替デバイスと既存の正常デバイスを別ポートとし、同一ポートにグループ内の複数デバイスが存在することによるアクセスの衝突を回避させる。
【0016】
故障処理部38は、冗長度の高い第2論理グループのデバイスが故障した場合は、故障デバイスを切した状態でアクセスを継続させ、故障デバイスが正常なデバイス16に交換された際に第2論理グループに戻してデータを復元する。即ち、冗長度を高くしている第2論理グループ内のデバイス故障に対しては故障代替は必要ない。
【0017】
故障処理部38によるデバイス故障の判定は、デバイスアレイユニットト12に設けた複数のデバイス16のアクセスに対するエラー率を計測し、エラー率が所定値以上となった際にデバイス故障と判定して対応する故障処理を行ってもよい。このようにエラー率からデバイス故障を判定すれば、実際にデバイス故障が起きる前に正常なデバイスへの交換ができ、より信頼性が向上する。故障デバイスの交換時には、冗長度の高い第2論理グループから故障代替デバイスが提供されるため、デバイス交換中に第1論理グループの冗長度が低下してしまうことはない。
【0018】
RAID−1対応の別の形態として、構成制御部36は、第2論理グループとして(N+1)重化、(N+2)重化等の冗長性の異なる複数の第2論理グループを構築する。この場合、故障処理部38は、冗長度の低い第1論理グループでデバイスが故障して冗長性が失われた際に、複数の第2論理グループの中の最も冗長性の高いグループのデバイスを第1論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0019】
デバイスアレイユニット12のデバイス16は、一般に磁気ディスク装置のみで構成されるが、これに加えて半導体メモリを設け、構成制御部36により第2論理グループの複数デバイス16の中に少なくとも1台の半導体メモリを配置する。この場合、故障処理部38は、冗長度の低い第1論理グループでデバイス16が故障して冗長性が失われた際に、冗長度の高い第2論理グループの半導体メモリを第1論理グループに組み込んで故障デバイス16の代替デバイス16としてデータを復元して冗長性を回復させる。アクセス速度の高い半導体メモリを故障代替デバイスとして取り込むことで、第1論理グループの冗長性の回復を短時間で実現する。
【0020】
(RAID−2対応)
本発明のデバイスアレイ・システムをハミングコードの誤り訂正によって冗長性を持たせたRAID−2に対応させる場合、コントローラ10の構成制御部36と故障処理部38は次のように構成する。まず構成制御部36は、データを格納する複数のデータデバイスとデータデバイスの格納データに対応するハミングコードを格納する複数のハミングコードデバイスとを備えた所定の冗長度をもつ論理グループを複数グループ構築する。
【0021】
故障処理部38は、ある論理グループでデバイスが故障して所定の冗長度を下回った際に、他の論理グループのハミングデバイスを所定の冗長度を下回らないことを条件に、デバイス故障を起した論理グループに組み込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
このRAID−2対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット12の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【0022】
故障デバイスを正常なデバイスに交換した場合、故障処理部38は、交換デバイスに故障代替デバイスと同じデータを復元し、次に故障代替デバイスを元の論理グループに戻して元のハミングコードを復元させる。
(RAID−3,4対応)
本発明のデバイスアレイ・システムをパリティデバイスを固定したRAID−3又は4に対応させる場合、コントローラ10の構成制御部36と故障処理部38は次のように構成する。まず構成制御部36は、論理グループとして、データを分割して複数台のデータデバイスの各々に格納すると共に、格納データから求めたパリティを複数のパリティデバイス(多重化パリティ)に格納した第1論理グループと、データを分割して複数台のデータデバイスに格納すると共に格納データから求めたパリティを1台のパリティデバイスに格納した第2論理グループとを構築する。
【0023】
例えばRAID−3のパリティデバイスを多重化した第1論理グループと、RAID−3のみの第2論理グループを構築する。またRAID−4のパリティデバイスを多重化した第1論理グループと、RAID−4のみの第2論理グループを構築してもよい。
故障処理部38は、RAID−3又は4のみの第2論理グループのデバイスが故障して冗長性が失われた際には、パリティ多重化によって冗長度が高い第1論理グループの1台のパリティデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0024】
このRAID−3,4対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット12の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【0025】
第2論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部38は、交換デバイスに第2論理グループと同じパリティを復元してパリティデバイスを2重化する。このとき第1論理グループから取り込んだ故障代替デバイスは第2論理グループにそのまま残し、データの復元を不要とする。
また第2論理グループの故障デバイスを正常なデバイスに交換した場合の故障処理部38の別の処理としては、交換デバイスに故障代替デバイスと同じデータを復元し、次に故障代替デバイスを元の第1論理グループに戻して元のパリティを復元させてもよい。
【0026】
RAID−3,4対応の別の形態としては、パリティデバイスの多重化ではなく、複数のデータデバイスの一部を多重化して故障代替に使用する。即ち、構成制御部36は、論理グループとして、データを分割して格納する複数台のデータデバイス、格納データから求めた同じパリティを格納する1台のパリティデバイス、及び複数のデータデバイスの一部と同じデータを格納して多重化した少なくとも1台のデータ多重化デバイスを備えた第1論理グループと、データを分割して格納する複数台のデータデバイスと格納データから求めたパリティを格納する1台のパリティデバイスを備えた第2論理グループとを構築する。
【0027】
具体的には、RAID−3のデータデバイスの一部を多重化した第1論理グループと、RAID−4のみの第2論理グループを構築する。またRAID−4のデータデバイスの一部を多重化した第1論理グループと、RAID−4のみの第2論理グループを構築してもよい。
この場合、故障処理部38は、RAID−3又はRAID−4のみの第2論理グループのデバイスが故障して冗長性が失われた際には、データデバイスの一部を多重化した第1論理グループの1台の多重化データデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0028】
このシステムにあっても、第2論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部38は、交換デバイスに第2論理グループの特定のデータデバイスと同じデータを復元して一部のデータデバイスを2重化し、第1論理グループから取り込んだ故障代替デバイスは第2論理グループにそのまま残してデータ復元を不要としても良い。
【0029】
第2論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部38の他の処理として、交換デバイスに故障代替デバイスと同じデータを復元し、故障代替デバイスは第1論理グループに戻して元のデータを復元させてもよい。
(RAID−5対応)
本発明のデバイスアレイ・システムをパリティデバイスを固定しないRAID−5に対応させる場合、コントローラ10の構成制御部36と故障処理部38は次のように構成する。まず構成制御部36は、デバイスアレイユニット12の論理グループとして、RAID−5に対応したデータ及びパリティを格納する複数デバイスと一部のデバイスと同じデータ及びパリティを格納する少なくとも1台の多重化デバイスを備えた第1論理グループと、RAID−5に対応したデータ及びパリティを格納する複数デバイスを備えた第2論理グループを構築する。
【0030】
この場合、故障処理部は、RAID−5のみの第2論理グループのデバイスが故障して冗長性が失われた際には、第1論理グループの多重化デバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
このRAID−5対応のデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット12の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【0031】
このシステムで第2論理グループの故障デバイスを正常なデバイスに交換した場合、故障処理部38は、交換デバイスに故障代替デバイスと同じデータを復元し、故障代替デバイスは第1論理グループに戻して元のデータを復元させる。
(RAIDレベルの組合せ)
本発明のデバイスアレイ・システムをRAID−1〜5の組合せに対応させる場合、コントローラ10の構成制御部36と故障処理部38は次のように構成する。まずコントローラ10は、デバイスアレイユニット12の論理グループとして、RAID−2に対応したデータ及びハミングコードを複数のデバイスに格納した第1論理グループと、RAID−1,3,4又は5に対応したデータ及びパリティを複数のデバイスに格納した第2論理グループを構築する。
【0032】
この場合、故障処理部38は、冗長度の低いRAID−1,3,4又は5対応の第2論理グループのデバイスが故障して冗長性が失われた際には、第1論理グループのハミングコードデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
またRAIDレベルを組み合わせた別のシステム形態にあっては、故障処理部38は、RAID−1,3,4,5対応の第2論理グループのデバイスが故障して冗長性が失われた際には、RAID−2対応の第1論理グループをRAID−3の論理グループに変更し、第1論理グループから開放された複数のハミングコードデバイスの中の1台を第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
またRAIDレベルを組み合わせた別のシステム形態にあっては、まず構成制御部36は、デバイスアレイユニット12の論理グループとして、同一データを複数のデバイスに格納する第1論理グループと、データ及びパリティを複数のデバイスに格納する第2論理グループを構築する。この場合、故障処理部38は、第1論理グループの多重化デバイスの1つが故障して冗長性が失われた際に、第2論理グループのパリティデバイスを第1論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0033】
具体例として構成制御部36は、第1論理グループとして同一データを2台のデバイスに格納した2重化論理グループ(RAID−1)を構築し、第2論理グループとしてパリティデバイスが固定したRAID−3又は4の論理グループを構築する。この場合、故障処理部38は、2重化論理グループのデバイスの1つが故障して冗長性が失われた際に、RAID−3又は4の論理グループのパリティデバイスを故障代替デバイスとして取り込んでデータを復元して冗長性を回復させる。
【0034】
更に、RAIDレベルを組み合わせた別のシステム形態にあっては、まず構成制御部36は、デバイスアレイユニット12の論理グループとして、同一データを複数のデバイスに格納した第1論理グループと、データ及びパリティを複数のデバイスに格納した第2論理グループを構築し、故障処理部38は、第2論理グループのデバイスが故障して冗長性が失われた際に、第1論理グループの1台のデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0035】
例えば構成制御部36は、第1論理グループとして同一データを3台以上のデバイスに格納した多重化論理グループを構築し、第2論理グループとしてRAID−3,4又は5のパリティ論理グループを構築する。この場合、故障処理部38は、冗長度の低いRAID−3,4,5の第2論理グループのデバイスが故障して冗長性が失われた際に、3重化以上の冗長性をもつ第1論理グループの1台のデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる。
【0036】
このRAIDレベルの組合せに対応したデバイスアレイ・システムでも、通常の運用中は、デバイスアレイユニット12の中には、デバイス故障に対する故障代替デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属してアクセスを受けた動作状態にある。このためホットスペアパトロールは必要なく、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、システム性能が保証できる。
【0037】
本発明のデバイスアレイユニット12には、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置等の同じ種類の入出力デバイス16を使用する。またデバイスアレイユニット12に、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置等の種類の異なる入出力デバイス16を混在させてもよい。
【0038】
【発明の実施の形態】
<目次>
1.システムの構成と機能
2.RAID−1の対応システム
3.RAID−2の対応システム
4.RAID−3,4の対応システム
5.RAID−5の対応システム
6.RAIDレベルを組み合わせたシステム
1.システム構成と機能図2は本発明のデバイスアレイ・システムのハードウェア構成のブロック図である。本発明のデバイスアレイ・システムはデバイスアレイコントローラ10とデバイスアレイユニット12で構成される。コントローラ10はホストコンピュータ14の外部記憶システムとして接続される。デバイスアレイユニット12は、例えば24台のデバイス16−00〜16−35を備える。
【0039】
デバイス16−00〜16−35としては、例えば磁気ディスク装置が使用される。デバイスアレイユニット12に設けられた24台のデバイス16−00〜16−35の配置位置は、デバイスコントローラ10の6つのポートP0〜P5と6台のデバイスを並列アクセス可能に階層接続した4つのランクR0〜R3で定義される。即ち、24台のデバイス16−00〜16−35は、ポート番号Piとランク番号Riを使用して一般的にデバイス16−Ri,Piと表わすことができる。
【0040】
デバイスアレイコントローラ10のポートP0〜P5からはデバイスパス25−0〜25−5がそれぞれデバイスアレイユニット12に引き出され、各デバイスパス25−0〜25−5のそれぞれにランク方向に4台のデバイスを、例えばデバイスパス25−0にあってはデバイス16−00,16−10,16−20,16−30を接続している。
【0041】
デバイスアレイコントローラ10にはMPU18が設けられ、MPU18からのコントロールバス26にホストアダプタ20及びデバイスアダプタ24−0〜24−5を接続している。ホストアダプタ20はキャッシュユニット22を備えており、チャネルパス27によってホストコンピュータ14と接続され、ホストコンピュータ14による入出力要求を表示する。
【0042】
ホストアダプタ20で受領されたホストコンピュータ14からのアクセス要求、即ちライト要求またはリード要求はMPU18に与えられる。MPU18はシステム立ち上げ時に、指定されたRAIDレベルに対応した論理グループをデバイスアレイユニット12に対し構築し、ライト要求に対してはライトデータをバッファし、デバイスアダプタ24−0〜24−5の並列処理によりデバイスアレイユニット12側の指定された論理グループにふくまれる複数デバイスに対しライト処理を行わせる。
【0043】
またリード処理にあっては、MPU18は、同じくデバイスアダプタ24−0〜24−5の並列リード処理でデバイスアレイユニット12側から得られた各デバイスごとのリードデータを組み合わせてホストアダプタ20を経由してホストコンピュータ14にリードデータを応答する。本発明のデバイスアレイ・システムにあっては、MPU18の構成制御の機能によって
(a)RAID−1対応システム
(b)RAID−2対応システム
(c)RAID−3.4対応システム
(d)RAID−5対応システム
(e)RAIDレベル組み合わせシステム
のいずれかを構築することができる。即ち、MPU18はシステムのセットアップの際に、ディップスイッチやソフトウェア等でそのとき指定されているRAIDレベルに対応した複数の論理グループを、デバイスアレイユニット12のデバイス16−00〜16−35を対象に構築する。この論理グループは、1つのRAIDを構成するデバイスグループの集まりである。
【0044】
更にデバイスアレイコントローラ10にはブリッジ回路30が設けられ、ブリッジ回路30を介して別のデバイスアレイコントローラ10を接続し、デバイスアレイコントローラ10の2重化構成を取ることができる。デバイスアレイコントローラ10を2重化構成した場合には、デバイスアレイユニット12に対し2つのデバイスアレイコントローラ10からのデバイスパス25−10〜25−0が各デバイス16−00〜16−35に対し個別パスとして接続され、それぞれのデバイスアレイコントローラ10からデバイスアレイユニット12を独立にアクセスすることができる。
【0045】
図3は図2のシステム機能のブロック図である。図3においてデバイスアレイコントローラ10は、ホストアダプタ20及びキャッシュユニット22で構成されるホストアクセス部32、デバイスアダプタ24−0〜24−5で構成されるデバイスアクセス部34、更にMPU18の機能により実現される構成制御部36と故障処理部38を備える。
【0046】
構成制御部36はシステムのセットアップ時に、そのとき指定されているRAIDレベルに対応した複数の論理グループをデバイスアレイユニット12のデバイス16−00〜16−35を対象に構築する。構成制御部36で構築する複数の論理グループは、RAIDレベルに応じて異なるが、基本的には冗長度の低い論理グループと冗長度の高い論理グループを構築する。
【0047】
故障処理部38は、構成制御部36で構築された複数の論理グループを対象としたホストコンピュータ14からのアクセス要求に基づく処理中にデバイス故障が起きた場合の対応処理を行う。故障処理部38による故障対応処理は、冗長度の低い論理グループのデバイスが故障した場合の対応処理と、冗長度の高い論理グループのデバイスが故障した場合の対応処理に大別される。
【0048】
冗長度の低い論理グループのデバイスが故障した場合には、冗長度の高い論理グループのデバイスを故障代替デバイスとして取り込んで冗長度を回復させる。このとき冗長度の高い論理グループは故障代替デバイスを取り出してもその冗長度が所定の閾値を下回らないことを条件とする。
デバイスが故障した冗長度の低い論理グループに冗長度の高い論理グループから故障代替デバイスを取り込んで冗長度を回復した後は、故障デバイスを正常なデバイスと交換する。故障デバイスを交換した後の復旧処理は、交換デバイスに故障代替デバイスと同じデータを回復させ、次に故障代替デバイスを取込み先となる元の冗長度の高い論理グループに戻して元のデータを回復させる。
【0049】
一方、冗長度の高い論理グループのデバイスが故障した場合には、論理グループの冗長性は失われないことから、故障デバイスを切り離して処理をそのまま継続し、故障デバイスを正常なデバイスに交換した後に元のデータを復元して冗長度を元に戻すようになる。 図4は図3のデバイスアレイ・システムの一般的な処理動作のフローチャートである。まず電源投入によりシステムを立ち上げると、ステップS1で初期化処理が行われ、続いてステップS2で図3のディスクアレイコントローラ10に設けた構成制御部36による構成制御が行われる。構成制御により構築される複数の論理グループは、そのときディップスイッチもしくはソフトウェアにより指定されているRAIDレベルに依存して決められる。
【0050】
ステップS2のシステム構成制御が終了すると、通常の運用状態となり、ステップS3でホストコンピュータ14によるアクセス要求をチェックしている。ステップS3でホストコンピュータ14からのアクセス要求があると、ステップS4に進み、ライトアクセスか否かチェックする。ライトアクセスであればステップS5に進み、特定の論理グループを対象にディスクアレイユニット12に対するライト処理を行う。
【0051】
このライト処理は、基本的には論理グループに属する全デバイスに対する並列ライト処理となる。一方、リードアクセスであった場合にはステップS6に進み、指定された論理グループに対するリード処理となる。このリード処理は、RAID−1対応システムにあっては、論理グループに属する複数のデバイスのいずれか1つからのリード処理となる。
【0052】
RAID−2,3,4にあっては、論理グループに属するデータデバイスの並列リード処理となる。更にRAID−5対応システムにあっては、論理グループに属する特定のデバイスのリード処理となる。
続いてステップS7でドライブ故障をチェックしており、もし特定の論理グループでデバイス故障が起きると、ステップS8に進み、そのとき構築されているRAID対応システムに対応した故障対応処理を実行する。
【0053】
これにより、デバイス故障により冗長度が失われた場合には、他の論理グループからの故障代替デバイスの取込みにより冗長度が回復できる。続いてステップS9で故障デバイスの復旧即ち故障デバイスの正常なデバイスへの交換をチェックしており、故障デバイスが正常なデバイスに交換されると、ステップS10でシステム復旧処理が行われ、ステップS2で初期設定したRAID対応システムの複数論理グループの構築状態に回復する。
【0054】
このような図4のフローチャートにおけるRAID対応システムを対象とした処理動作の詳細は、続いてRAIDレベルに分けて詳細に説明される。
2.RAID−1対応システム
図5は本発明によるRAID−1対応システムの構成制御で構築されたデバイスアレイユニット12における論理グループの説明図である。
【0055】
RAID−1レベルは、基本的に同一データを2台のデバイスに格納したミラー構成を持っている。本発明のRAID−1対応システムにあっては、デバイスアレイユニット12に設けている24台のデバイス16−00〜16−35を対象に2重化デバイスの論理グループと3重化デバイスの論理グループを構築している。
【0056】
即ち、2重化論理グループとして論理グループ15−0〜15−8を構築し、また3重化論理グループとして論理グループ15−9,15−10を構築している。即ち、論理グループ15−0〜15−8にはそれぞれ2台のデバイス16−00,16−01〜16−24,16−25が設けられ、それぞれ同一データを格納したミラーデバイスとなっている。
【0057】
これに対し論理グループ15−9については、デバイス16−30,16−31,16−32の3台が設けられ、それぞれ同一データを格納した3重化デバイスとしている。同様にグループ15−10についても、デバイス16−33,16−34,16−35に同一データを格納した3重化構成としている。
このようなRAID−1の論理グループの構成を一般的に表現すると、同一データをN台(但しNは2以上の整数)のデバイスに格納して多重化した第1論理グループ15−0〜15−8と、同一データを少なくとも(N+1)台のデバイスに格納して多重化した第2論理グループ15−9,15−10を構築している。そして図5はN=2とした場合の最小構成のRAID−1対応システムの論理グループである。
【0058】
図6は図5のRAID−1対応システムの冗長度の低い論理グループ15−0のデバイス16−01が故障した場合の対応処理である。冗長度の低い論理グループ15−0のデバイス16−01が故障した場合には、冗長度の高い論理グループ例えば論理グループ15−9の中の特定のデバイス例えばデバイス16−31をデバイス故障を起こした論理グループ15−0に取り込み、故障代替デバイスとする。
【0059】
デバイス故障を起こしたグループ15−0に取り込まれた故障代替デバイス16−31には、故障デバイス16−01と同じデータを復元する。具体的には、正常なデバイス16−00のデータを故障代替デバイス16−31にコピーする。これによってデバイス16−01が故障した論理グループ15−0の冗長性が回復される。
【0060】
一方、故障代替デバイス16−31が取り出された論理グループ15−09にあっては、最初3重化構成であったものが、故障代替デバイス16−31の提供によりデバイス16−30,16−32の2台を備えた2重化構成となり、冗長度は低下するが冗長性そのものは失われることはない。
即ち本発明のRAID−1対応システムにあっては、冗長度の低い論理グループのデバイス故障に対し冗長度の高い論理グループから故障代替デバイスを取り出して提供する場合、故障代替デバイスの取出しにより冗長度が所定の閾値を下回って冗長性が失われたことを条件にデバイス取出しを行う。
【0061】
図7は図6の論理グループ15−0で故障したデバイス16−01を正常なデバイスに交換した後の復旧処理の説明図である。
論理グループ15−0で故障したデバイス16−01を正常なデバイス16−01に交換した場合には、交換後のデバイス16−01に正常に機能しているデバイス16−00の低下をコピーして復元し、データ復元が済んだならば故障代替デバイス16−31を切り離して、データ復元が済んだデバイス16−01をグループに取り込んで元の冗長度を持つ論理グループ15−0を再構築する。
【0062】
続いて図7で論理グループ15−01から切り離された故障代替デバイス16−31を図8のように元の論理グループ15−9に戻し、論理グループ15−9の例えばデバイス16−30のデータを、戻したデバイス16−31にコピーしてデータを復元し、これによって元の3重化された論理グループ15−9を再構築する。
【0063】
図9は図5〜図8に示したRAID−1対応システムの処理動作のフローチャートである。システム電源の投入が行われると、まずステップS1で初期化処理が行われ、続いてステップS2で、図5のようにRAID−1の2重化論理グループと3重化論理グループの構築が行われる。続いてステップS3でホストアクセスを待っており、ホストアクセスがあるとステップS4でライトアクセスか否かチェックする。
【0064】
ライトアクセスであればステップS5で、アクセス対象となった2重化論理グループまたは3重化論理グループに対し並列的にホストからのライトデータを書き込むライト処理を行う。一方、リード処理であればステップS6に進み、各論理グループ内の特定のドライブの単独リード処理を行う。
アクセス中にドライブ故障がステップS7で判別されると、ステップS8で冗長度の低い二重化論理グループのデバイス故障か否かチェックする。2重化論理グループのデバイス故障であればステップS9に進み、冗長度の高い3重化論理グループの中からドライブを取り込んで故障代替ドライブとしてデータを復元し、2重化論理グループを再構築する。
【0065】
一方、冗長度の高い3重化論理グループのデバイス故障であった場合には、ステップS10に進み、故障ドライブを3重化論理グループから切り離して除外し、2重化論理グループとして動作する。
ステップS9またはステップS10によるデバイス故障の対応処理が済んだならば、ステップS11で故障ドライブの復旧、即ち故障ドライブの正常なドライブへの交換をチェックしており、故障ドライブの交換が行われると、ステップS12で2重化論理グループの故障であったか否かチェックする。
【0066】
2重化論理グループの故障であった場合には、ステップS13で図7のように、2重化論理グループの交換済デバイスにグループ内の他のデバイスと同じデータを復元する。続いて図8のように、故障代替を行ったデバイスを元の3重化論理グループに戻し、データを復元する。
ステップS12で3重化論理グループの故障であったことが判別された場合には、ステップS14に進み、3重化論理グループの交換済デバイスにデータを復元して冗長度を回復させる。
【0067】
図10はRAID−1対応システムで冗長度の低い論理グループの故障デバイスを正常なデバイスに交換した際の復旧処理の他の処理形態である。
図10の故障復旧処理にあっては、故障デバイス16−01を正常なデバイスに交換したならば、交換済デバイス16−01を元の論理グループ15−0に戻さず、故障代替デバイス16−31を取り出した論理グループ15−9に取り込んで、例えばデバイス16−30と同じデータを復元し、3重化化構成の論理グループ15−9をデバイス16−30,16−01及び16−32の3台で構築する。
【0068】
また2重化論理グループ15−0にあっては、正常なデバイス16−00と障代替として取り込んだデバイス16−31の2台によって、継続して2重化構成の論理グループ15−0を維持する。
この図10のデバイス交換後の回復処理にあっては、図7,図8のように、交換済デバイスを元の論理グループに戻すためのデータ復元と故障代替デバイスを元の論理グループに戻すためのデータ復元の2つを必要としたものが、故障デバイスに対する交換デバイスのデータ復元のみで済み、故障デバイス交換後の復元処理を短時間で行うことができる。
【0069】
図11は図10の故障回復処理に対応したRAID−1対応システムの処理動作のフローチャートである。このフローチャートは、ステップS1〜ステップS12,S14は図9と同じであり、ステップS13の故障回復処理が異なっている。
即ち、図11のステップS13にあっては、冗長度の低い図10の論理グループ15−0の故障デバイス16−01が正常なデバイスに交換された際には、交換後のデバイス16−01に故障代替デバイス16−31を提供して、2重化構成となっている論理グループ15−09のデバイス16−30のデータをコピーして復元し、論理グループ15−9にデバイス16−01を取り込んで元の3重化論理グループを再構築する。
【0070】
図12はRAID−1対応システムで冗長度の低い2重化された論理グループ15−0で2台のデバイス16−01,16−00が順番に故障した場合の対応処理である。即ち、2重化論理グループ15−0でまずデバイス16−01が故障したとすると、3重化論理グループ15−9のデバイス16−31を取り込んでデータを復元し、2重化構成を回復する。
【0071】
続いて故障デバイス16−01が正常なものと交換する前に同じ論理グループ15−0のデバイス16−00が故障したとすると、別の3重化論理グループ15−10のデバイス16−33を取り込んで、最初のデバイス故障で故障代替を行っているデバイス16−31のデータをデバイス16−33にコピーして復元し、2重化の冗長性を回復する。
【0072】
このとき2重化論理グループ15−0は、故障代替を行った論理グループ15−9,15−10で使用していた2台のデバイス16−31,16−33による論理グループを構築することになる。
このような冗長度の低い論理グループのデバイス故障は、冗長度の低い論理グループに設けているデバイス数Nに一致する数の冗長度の高い論理グループが存在すれば、冗長度の低い論理グループの全デバイスの順次故障に対し冗長度の高い論理グループからデバイスを取り込んで故障代替することにより、冗長性を維持することができる。
【0073】
図13はRAID−1対応システムで冗長度の低い論理グループのデバイス故障に対し、冗長度の高い論理グループから故障代替デバイスを取り込む際のポート選択の説明図である。例えば、2重化された冗長度の低い論理グループ15−0のデバイス16−01が故障した場合には、3重化された上位の論理グループ15−9に設けているデバイス16−30,16−31,16−32のいずれかを故障代替デバイスとして論理グループ15−0に取り込む。
【0074】
この場合、論理グループ15−0の故障デバイス16−01はポートP1のデバイスパス25−1に接続されており、故障代替デバイスとして論理グループ15−9のデバイス16−30を取り込んでデータを復元すると、故障対応が済んだ後の論理グループ15−0のデバイス16−00,16−30はポートP0からの同じデバイスパス25−0に接続される。
【0075】
このように同一ポートP0のデバイスパス25−0に同じ論理グループ15−0のデバイス16−00,16−30が接続されると、同一データをデバイス16−00,16−30に書き込む際に2回のライトアクセスを必要とし、アクセス性能が低下する。そこで論理グループ15−0のデバイス16−01の故障に対しては、同じポートP1のデバイスパス25−1に接続している冗長度の高い論理グループ15−9のデバイス16−31を取り込み、取込み後の故障代替デバイス16−31に対し元のデバイス16−00と共に独立したポートP0,P1による並列アクセスができるようにする。
【0076】
図14は本発明のRAID−1対応システムで冗長度の高い3重化された論理グループ15−9の中のデバイス16−32が故障した場合の対応処理である。このように冗長度の高い論理グループ15−9のデバイス16−32の故障にあっては、冗長度は低下するがデバイス16−30,16−31による2重化構成で冗長度は失われていないことから、他の論理グループからのデバイスの取込みによる冗長度の回復は行わず、デバイス16−30,16−31による2重化の冗長度が低下した状態で論理グループ15−9の運用を続ける。
【0077】
そして故障デバイス16−32が正常なデバイスに交換された場合には、グループ内の他のデバイス例えばデバイス16−30のデータをコピーして復元することにより、元の3重化構成の論理グループ15−9を回復する。図15は本発明によるRAID−1対応システムの他の実施形態であり、この実施形態にあっては、複数の論理グループの冗長度を階層的に高くするように構築したことを特徴とする。
【0078】
即ち、論理グループ15−0〜15−5については図5と同様、2重化構成の論理グループを構築しているが、論理グループ15−6,15−7については3重化構成の論理グループとし、更に論理グループ15−8については4重化構成の論理グループとしている。
即ち、論理グループ15−0〜15−5の冗長度を決める多重化台数をN台とすると、次に冗長度の高い論理グループ15−6,15−7についてはデバイスを(N+1)台とし、更に冗長度の高い論理グループ15−8についてはデバイス台数を(N+2)台としている。
【0079】
このように多重化デバイス台数をN,N+1,N+2と階層化した論理グループの構築にあっては、例えば冗長度の最も低い論理グループ15−0のデバイス16−01が故障した場合には、冗長度の高い上位の論理グループの中で最も冗長度が高い4重化された論理グループ15−8の中の特定のデバイス、例えばデバイス16−33を取り込んで故障代替デバイスとしてデータを復元し、論理グループ15−0の冗長性を回復させる。
【0080】
ここで冗長度の高い3重化論理グループ15−6,15−7にあっては、冗長度の低い論理グループ15−0〜15−5のデバイス故障に対し冗長性を失うことのないデバイス1台の故障段階のための提供が可能である。また更に冗長度の高い論理グループ15−8にあっては、冗長性を失わないデバイス2台までの故障代替のための提供が可能である。
【0081】
図16は図15の階層的な冗長度の論理グループを構築した場合の処理動作のフローチャートである。図16において、ステップS1の初期化処理後にステップS2でRAID−1の2重化、3重化及び4重化の各論理グループを図15のように構築する。ステップS3のホストアクセスに対し、ステップS4でライトアクセスを判別した場合には、ステップS5に進み、2重化、3重化、4重化構成の各論理グループに対応してグループに含まれる各デバイスに対する並列ライト処理を行う。
【0082】
一方、リードアクセスについてはステップS6で各グループ内の特定のデバイスの単独リード処理を行う。アクセス中にステップS7でデバイス故障が判別されると、ステップS8で2重化論理グループのデバイス故障であることが判別された場合には、ステップS9に進み、最上位の冗長度を持つ多重化論理グループ、具体的には4重化構成の論理グループのドライブを取り込んでデータを復元し、冗長性を回復させる。
【0083】
一方、2重化構成の論理グループ以外のデバイス故障即ち3重化構成または4重化構成の論理グループでのデバイス故障については、デバイス故障によって冗長性は失われないことから、他の論理グループからのデバイス取込みによる冗長性の回復は行わず、故障デバイスをグループから切り離す除外処理のみを行う。ステップS9またはステップS10の故障対応処理が終了した後に、ステップS11で故障ドライブを正常なドライブに交換した故障ドライブ復旧処理が判別されると、ステップS12に進む。
【0084】
ステップS12では、2重化構成の論理グループのデバイス故障であった場合には、ステップS13で2重化構成の論理グループの交換デバイスにデータを復元して元の2重化論理グループを構築する。また故障代替を行ったデバイスに元のグループの他のデバイスと同じデータを復元し、冗長度の高い元の論理グループを再構築する。
【0085】
一方、デバイス故障が3重化または4重化の論理グループで起きて故障デバイスの交換が行われた場合には、ステップS14で交換デバイスにグループ内の他のデバイスのデータを復元して元の冗長度を持つ論理グループを再構築する。図17はRAID−1対応システムの他の実施形態であり、この実施形態にあってはデバイスアレイユニット12のデバイスとしてアクセス速度の高い半導体メモリを一部に設けたことを特徴とする。
【0086】
図17にあっては、冗長度の低い論理グループ15−0〜15−8は全てハードディスクドライブであるが、冗長度の高い論理グループ15−9にあっては、デバイス16−30,16−31はハードディスクドライブとしているが、もう1つのデバイスとして半導体メモリ40−32を使用している。なお、冗長度の高い論理グループ15−10のデバイス16−33〜16−35はハードディスクドライブである。
【0087】
冗長度の高い論理グループ15−9に半導体メモリ40−32を設けている場合には、例えば冗長度の低い論理グループ15−0のデバイス16−01が故障した場合には冗長度の高い論理グループ15−9の中のアクセス性能の高い半導体メモリ40−32を故障代替デバイスとして取り込んでデータを復元し、冗長性を回復する。
【0088】
このようにデバイス故障に対する故障代替デバイスとして半導体デバイス40−32を使用することで、故障代替時のデータの回復が短時間で済み、デバイス故障を起こした論理グループの冗長性の回復が高速にできる。また故障デバイス16−01を正常なデバイスに交換した際の故障復旧処理についても、故障代替を行っていた半導体メモリ40−32を元の論理グループ15−9に戻してデータを復元する処理が高速にできる。
3.RAID−2対応システム
図18は本発明のRAID−2対応システムの構成制御により構築されるデバイスアレイユニット12に対する論理グループの説明図である。
【0089】
図18にあっては、RAID−2に対応した第1論理グループ42と第2論理グループ44が構築されている。RAID−2に対応した第1論理グループ42は、所定データ長例えばセクタ単位に分割したデータ0,1,・・・Xを格納したデータデバイス16−00,16−01,・・・16−0Xと、データ0〜Xのエラー検出訂正コードであるハミングコード0,1,・・・Yを格納したハミングコードデバイス16−H0,16−H1,・・・16−HYで構成される。
【0090】
例えばRAID−2の第1論理グループ42は4台のデータデバイス16−00〜16−03と3台のハミングコードデバイス16−H0〜16−H2で構成される。第2論理グループ44も第1論理グループ42と同様であり、データ0〜Xをそれぞれ格納したデータデバイス16−10〜16−1Xとエラー検出訂正用のハミングコード0〜Yを格納したハミングコードデバイス16−10〜16−1Yで構成される。
【0091】
このようなRAID−2対応システムの第1論理グループ42,第2論理グループ44について、例えば図19のように第1論理グループ42のデータデバイス16−01とデータデバイス16−0Xでデバイス故障が発生した場合、ハミングコードデバイス16−H0〜16−HYのハミングコード0〜Yを用いて故障デバイスのデータを復旧することが可能であるが、冗長性が低下している。
【0092】
このデバイス故障で低下した第1論理グループ42の冗長性を少しでも回復するため、正常な第2論理グループ44に設けているいずれかのデバイスをデバイス故障を起こした第1論理グループ42に取り込んで、故障デバイスのデータを復元する。
図19の場合には、第2論理グループ44の中のハミングコードデバイス16−10をデータデバイス16−01,16−0Xの故障により冗長性の落ちた第1論理グループ42に取り込んで、例えば故障データデバイス16−01のデータ1を復元し、第1論理グルー42の冗長性をデータデバイス16−0Xの故障のみによる冗長性に回復させる。
【0093】
ここでデバイス故障を起こした第1論理グループ42に第2論理グループ44から故障代替デバイスを取り込む際に、デバイスの切り離しで第2論理グループ44の冗長性が取込み先となるデバイス故障を起こしている第1論理グループ42の冗長性を下回らないことを条件に故障デバイスの代替を行う。
図20は図18及び図19に示したRAID−2対応システムの処理動作のフローチャートである。まずシステム電源投入に伴うセットアップ時にあっては、ステップS1で初期化処理を行い、続いてステップS2で図18のようなRAID−2の論理グループを複数グループ構築する。続いてステップS3でホストアクセスを判別する。
【0094】
ステップS4でライトアクセスであった場合には、ステップS5に進み、指定された論理グループのデータデバイスに分割したデータと分割データのハミングコードを生成し、論理グループに含まれるデバイスに対し並列ライト処理を行う。一方、リードアクセスであった場合にはステップS6に進み、指定された論理グループのデータドライブから並列リード処理を行う。
【0095】
このリード処理で特定のデバイスのデータが失われていた場合には、ハミングデバイスの対応するハミングコードを呼び出すことで、失われたデバイスのデータを復元することができる。続いてステップS7でアクセス中のデバイス故障をチェックしており、デバイス故障があるとステップS8に進み、他の論理グループのデバイスを取り込む。
【0096】
このときステップS9で取込み元の論理グループの冗長度が、デバイス故障を起こしている取込み先の冗長度より低下したか否かチェックし、低下しなければステップS10に進み、取り込んだデバイスに故障ドライブのデータを復元して、ドライブ故障を起こした論理グループの冗長性を回復させる。
一方、ステップS9でデバイス取込み元となる論理グループの冗長度がデバイス取込みによりデバイス故障を起こしている取込み先の冗長度より低下した場合には、デバイス取込みができないことからステップS12に進み、別の取込み先の論理グループの有無をチェックする。別の取込み先の論理グループがあれば再びステップS8に戻ってデバイス取込みを行う。もしデバイス取込み先の論理グループがなければ、ステップS13で故障デバイスを論理グループから切り離し、冗長性の回復は行わない。
【0097】
ステップS10でデバイス故障を起こした論理グループの冗長性の回復処理が終了した状態で、故障デバイスを正常なデバイスに交換する故障デバイスの復旧がステップS14で判別されると、ステップS15で修理等による正常な交換済デバイスに故障媒体デバイスのデータを復元し、デバイス故障を起こした論理グループの冗長性を元に回復させる。続いて故障代替デバイスに元の論理グループの組込み時と同じデータまたはハミングコードを復元して、故障デバイス取込み元の冗長性を初期状態に回復させる。
4.RAID−3,4の対応システム
図21はRAID−3またはRAID−4に対応した本発明のデバイスアレイ・システムで構築した論理グループの説明図である。
【0098】
図21において、RAID−3及びRAID−4のいずれにあっても、基本的な論理グループは複数台のデータを格納したデータデバイスと、各データデバイスのデータから求められたパリティを格納した1台のパリティデバイスで構成される。このようなRAID−3,4の論理グループについて本発明にあっては、複数の論理グループの内の一部の論理グループについてパリティディスクを2台設けて同じパリティを格納してパリティ2重化とすることにより冗長性を高めている。
【0099】
図21の論理グループにあっては、論理グループ15−20,15−21の2つについてパリティ2重化を行っている。例えば論理グループ15−20にあっては、データデバイス16−00〜16−03の4台にデータ0〜3を格納し、パリティデバイス16−04にデータ0〜3から求めたパリティを格納し、更にパリティデバイス16−05を設けてパリティデバイス16−04と同じパリティを格納することにより、パリティの2重化を図っている。
【0100】
論理グループ15−21についても、4台のデータデバイス16−10〜16−13と2重化した2台のパリティデバイス16−14,16−15を設けている。
これに対し論理グループ15−22,15−23については、4台のデータデバイス16−20〜16−23,16−30〜16−33とパリティデバイス16−24,16−34により通常のRAID−3,4の論理グループとしている。
【0101】
このようにパリティ多重化により冗長度の高い論理グループとパリティのみの冗長度の低い論理グループを構築したRAID−3,4対応システムにあっては、例えば冗長度の低い論理グループ15−22のデータデバイス16−23が故障した場合には、パリティ2重化により冗長度の高い論理グループ15−20の一方のパリティデバイス16−05を故障代替デバイスとしてデバイス故障を起こした論理グループ15−22に取り込み、故障デバイス16−23のデータを復元する。
【0102】
図22は図21の論理グループ15−22の故障デバイス16−23を正常なデバイスに交換した場合の故障復旧処理である。即ち図22(A)は論理グループ15−22の故障デバイス16−23のデータ3を故障代替デバイスに復元して冗長性を回復した状態であり、この故障代替デバイスは、図21のようにパリティ2重化を行っている論理グループ15−20のパリティデバイス16−05を取込んでいる。
【0103】
この状態で故障デバイス16−23を正常なデバイスに交換したならば、図22(B)のように、交換後の正常なデータデバイス16−23に故障代替デバイス16−05と同じデータ3を復元する。交換したデータデバイス16−23に対する元のデータ3の復元は、論理グループ15−22のデータデバイス16−20〜16−22とパリティデバイス16−24のデータ0〜2及びパリティから復元してもよいし、図22(A)のように他の論理グループから取り込んでいる故障代替デバイス16−05のデータをコピーすることで復元してもよい。
【0104】
図22(B)のような故障代替デバイスの交換デバイス16−23に対するデータの復元による論理グループ15−22の冗長性の回復が済んだならば、故障代替デバイス16−05については図21の元の論理グループ15−20に戻し、パリティデバイス16−05のデータをコピーして復元させ、論理グループ15−20のパリティ2重化による冗長性を回復させる。
【0105】
図23は図21,図22のRAID−3の対応システムの処理動作のフローチャートである。電源投入によりシステムを立ち上げると、まずステップS1で初期化処理を行い、続いてステップS2でRAID−3の論理グループとパリティ2重化を行った論理グループを図21のように構築する。続いてステップS3でホストアクセスを受けると、ステップS4に進む。
【0106】
ライトアクセスであればステップS5に進み、ホストデータをデータデバイスごとに例えばセクタ分割し、更に分割したセクタデータからパリティを生成し、このときアクセス先の論理グループが図21の論理グループ15−20または15−21であった場合には、4台のデータデバイスに対するセクタデータと2台のパリティディスクに対する同じパリティデータの並列ライト処理を行う。
【0107】
一方、リードアクセスであった場合にはステップS6に進み、指定した論理グループのデータディスクの並列リード処理を行う。論理グループのアクセス中にステップS7でデバイス故障が判別されると、ステップS8でパリティ2重化側の論理グループのデバイス故障か否かチェックする。
パリティ2重化側の論理グループのデバイス故障でなかった場合、即ち図21のRAID−3の論理グループ15−22または15−23側であった場合にはステップS9に進む。ステップS9で、グループ内の2重化パリティデバイスを持つ冗長度の高い論理グループ、例えば論理グループ15−20の2台のパリティデバイスの片方を故障代替デバイスとして取り込んで、デバイス故障で失われたデータを復元し、冗長性を回復する。
【0108】
一方、パリティ2重化側の論理グループのデバイス故障であった場合にはステップS10に進み、故障デバイスがデータデバイスであった場合は、2重化されているパリティデバイスの片方に故障デバイスのデータを復元する。
尚、故障デバイスが2重化されたパリティディスクの一方であった場合にはパリティによる冗長性は失われていないことから、故障したパリティデバイスを切り離して特別な代替処理は行わない。
【0109】
ステップS9またはステップS10のデバイス故障に対する対応処理が終了した後、ステップS11で故障デバイスを正常なデバイスに交換する復旧が判別されると、ステップS12でパリティ2重化側のデバイス故障であったか否かチェックする。
パリティ2重化側のデバイス故障でなかった場合、即ち図22(A)のような2重化されていない論理グループ15−22側のデバイス故障に対して故障デバイスの交換が行われた場合には、ステップS13に進み、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを元の論理グループに戻して2重化パリティディスクによる冗長性を復元する。
【0110】
一方、パリティ2重化側のデバイス故障であった場合にはステップS14に進み、交換済みのデバイスに片方のパリティディスクで代替した故障代替デバイスのデータを復元する。次に故障代替デバイスにパリティを復元してパリティ2重化による冗長性を回復させる。
図24は、RAID−3対応システムで冗長度の低いパリティ2重化が行われていない論理グループのデバイス故障に対するパリティ2重化側の故障代替デバイスの取込みで冗長性を回復した後に、故障代替デバイスを正常なデバイスに交換した際の故障回復処理の他の実施形態である。
【0111】
即ち図24(A)は、図22(A)と同じ論理グループ15−22のデータデバイス16−23の故障に対し、図21のパリティを2重化した論理グループ15−20の片方のパリティデバイス16−05を故障代替デバイスとして取り込んでデータ3を復元した状態である。
その後に故障デバイス16−23を正常なデバイスに交換した場合、図24(B)のように、交換したデバイス16−23に論理グループ15−22のパリティデバイス16−24と同じパリティを復元する。
またデバイス16−23の故障で他の論理グループから取り込んだ故障代替デバイス16−05については、論理グループ15−22にそのまま残す。この結果、デバイス故障を起こした論理グループ15−22は故障デバイスを交換した時に、パリティデータをパリティデバイス16−23,16−24の2台に格納したパリティ2重化の論理グループとして再構築される。
【0112】
即ち、デバイス故障ごとに故障したデバイスを持つ論理グループが故障デバイスの交換でパリティ2重化の論理グループに再構築されて、パリティ2重化を行っていない他の論理グループに対するデバイス故障代替を可能とする。
図25は図24の処理動作のフローチャートであり、図23のフローチャートとステップS13の故障復旧処理のみが異なる。
【0113】
即ち、図25のステップS13にあっては、図24のようなパリティ2重化が行われていない論理グループ15−22のデバイス故障に対する故障対応処理が終了した後の故障デバイス16−23の交換に対し、交換済デバイスに論理グループ15−22のパリティを復元してパリティ2重化を行い、他のグループから取り込んだ故障代替デバイスは元に戻さずにそのまま維持する。
【0114】
図26はRAID−3,4の対応システムで構築される論理グループの他の実施形態であり、図21の実施形態にあっては論理グループのパリティ2重化を行っていたが、図26の実施形態にあっては、論理グループのパリティではなく複数のデータデバイスの一部を2重化するようにしたことを特徴とする。即ち、論理グループ15−20,15−21についてデータデバイスの1部の2重化が行われており、論理グループ15−22,15−23は通常のRAID−3,4の論理グループである。
【0115】
例えば論理グループ15−20にあっては、データ0〜3のデータデバイス16−00〜16−03とパリティのパリティデバイス16−04に加え、更にデータデバイス16−05を追加し、ここに例えばデータデバイス16−01と同じデータ1を格納して2重化している。
論理グループ15−21についても、データデバイス16−10〜16−13とパリティデバイス16−14に加えデータデバイス16−15を追加し、データデバイス16−11のデータ1を格納してデータの2重化を行っている。
【0116】
このような一部のデータの2重化を行った論理グループを持つRAID−3,4の対応システムにあっては、例えばデータ2重化を行わずに冗長度の低い論理グループ15−22のデータデバイス16−23が故障した場合、論理グループ15−20のデータ1を2重化して格納しているデータデバイス16−05を取り込んで故障デバイス16−23のデータを復元し、冗長性を回復させる。
【0117】
一方、データの一部の2重化を行った例えば論理グループ15−21の中でパリティデバイス16−14が故障した場合には、データ1を多重化しているデータデバイス16−15に故障したパリティデバイス16−14のパリティを復元して冗長性を回復する。
また論理グループ15−21でデータ1を2重化しているデータデバイス16−11,16−15のいずれか一方が故障した場合には、グループ内もしくは他の論理グループからのデバイス取込みによる故障代替は行わず、データ2重化を行っている故障した片側のデータデバイスを論理グループから切り離すだけでよい。
【0118】
図27は図26のデータの一部の2重化を行ったRAID−2対応システムの処理動作のフローチャートである。電源投入によりシステムが立ち上げられると、ステップS1で初期処理を行った後、ステップS2でRAID−3の論理グループと一部のデータデバイスを2重化した論理グループを図26のように構築する。
【0119】
続いてステップS3でホストアクセスを判別すると、ステップS4でライトアクセスか否かチェックし、ライトアクセスであればステップS5に進み、RAID−3対応の並列ライト処理を行う。この場合、一部データを2重化している論理グループ、即ち図26の論理グループ15−20または15−21のライトアクセスであった場合には、通常のRAID−3並列ライトに加えて、2重化しているデータデバイスに対する2重化データのライト処理を同時に行う。
【0120】
一方、リードアクセスであった場合にはステップS6に進み、指定された論理グループを対象にRAID−3の並列リード処理、即ち複数のデータデバイスに格納しているデータの並列リード処理を行う。この場合、2重化データを格納している2台のデータデバイスについては、片側のデバイスからのリードを行うことになる。
【0121】
ステップS5またはステップS6のアクセス中にステップS7でデバイス故障が判別されると、ステップS8に進み、データ2重化側のデバイス故障か否かチェックする。データ2重化側のデバイス故障でなければステップS9に進み、図26の論理グループ15−22のデータデバイス16−23の故障のように、データの一部を2重化している論理グループ15−20のデータデバイス16−05を故障代替デバイスとして取り込んでデータを復元し、冗長性を回復させる。
【0122】
また図26の論理グループ15−21のようにデータ2重化側のデバイス故障であった場合には、2重化されているデータ1のデータデバイス16−11,16−15のいずれか一方に故障デバイスのデータを復元する。この場合、データ1を2重化しているデータデバイス16−11または16−15のデバイス故障であった場合には、グループ内でのデバイス代替による復元処理は特に行わない。
【0123】
このようなステップS9またはステップS10のデバイス故障に対する対応処理が済んだならば、ステップS11で故障デバイスを正常なデバイスに交換する復旧の有無をチェックしており、デバイス交換が行われるとステップS12でデータ2重化側のデバイス故障か否かチェックする。
データ2重化側のデバイス故障でなかった場合にはステップS13に進み、交換済デバイスに他の論理グループから取り込んでいる故障代替デバイスのデータを復元して冗長性を回復する。続いて他の論理グループから取り込んでいる故障代替デバイスを元の論理グループに戻して元のデータを復元し、デバイス取込み元の論理グループの冗長性を回復させる。
【0124】
一方、データ2重化側の論理グループのデバイス故障であった場合には、ステップS14に進み、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスに元のデータを復元して2重化する。ここで、2重化されたデータデバイスの片側のデバイス故障に対する交換時にあっては、交換デバイスに正常に動作している2重化データ側の残りのデータデバイスのデータをコピーにより復元し、2重化データデバイスによる冗長性を回復させる。
【0125】
尚、図23,図25及び図27のフローチャートにあっては、RAID−3の対応システムの処理動作を例にとっているが、RAID−4の対応システムについても、論理グループに対するデータのライト処理及びリード処理がデータデバイスごとのデータ単位例えばデータデバイスのセクタ単位に個別的に行われる点以外は、RAID−3の対応システムと同じになる。
5.RAID−5の対応システム
図28は本発明によるRAID−5対応システムのデバイスアレイユニット12を対象に構築される論理グループの説明図である。RAID−5対応の論理グループは、論理グループ15−30〜15−33のように例えば5台のデバイスで構成され、パリティはセクタ位置によって異なったデバイスに配置される。
【0126】
例えば論理グループ15−30を例にとると、デバイス16−00〜16−04の各々にデータ0〜データ4が個別に格納され、パリティ0〜パリティ5はデバイス16−00〜16−04の異なるセクタ位置に順次格納される。この点は残りの論理グループ15−31〜15−33についても同様である。
このようなRAID−5に対応した論理グループ15−30〜15−33について本発明にあっては、論理グループ15−30,15−31について更にもう1台のデータデバイス16−05,16−15を追加し、ここにデバイス16−00,16−10と同じデータ0とパリティ0を格納して、一部のデバイスの2重化を図っている。
【0127】
このような論理グループ15−30,15−31における一部のデバイスの2重化により、通常の論理グループ15−32,15−33に対し冗長度を高くすることができる。 RAID−5対応システムのデバイス故障は次のように処理する。いま図28の冗長度の低い論理グループ15−32のデバイス16−23が故障したとする。このデバイス16−23の故障に対し冗長度の高い論理グループ15−30の中のデータ0を2重化している一方のデバイス16−05を故障代替デバイスとして取り込み、故障デバイス16−23のデータ3を復元し、論理グループ15−32の冗長性を回復させる。
【0128】
これに対し冗長性の高い例えば論理グループ15−31のデバイス16−14が故障した場合には、グループ内のデータ0を2重化している一方のデバイス16−15を故障代替デバイスに指定し、故障デバイス16−4のデータ4を復元し、論理グループ15−31の冗長性を回復させる。また論理グループ15−31でデータ0を2重化しているデバイス16−10または16−15のいずれかが故障した場合には、デバイスの故障代替は行わず、故障デバイスを切り離す。
【0129】
故障デバイスを正常なデバイスに交換した後の故障復旧処理については、冗長度の低い論理グループ15−32の故障デバイス16−23の交換時には、交換後のデバイス16−23に元のデータ3を復元して正常な論理グループに戻し、故障代替デバイス16−05については論理グループ15−30に戻してデータ0の復元により2重化による冗長性を回復させる。
【0130】
また冗長度の高い論理グループ15−31内のデバイス16−14の交換については、交換後のデバイス16−14に元のデータ4を復元し、このとき代替しているデバイス16−15には2重化のためデバイス16−10のデータ0を復元させて、元の冗長度を持つ論理グループ15−31を再構築する。
図29は図28のRAID−5の対応システムのフローチャートである。電源投入によりシステムが立ち上げられると、ステップS1で初期化処理を行った後、ステップS2でRAID−5の論理グループを複数構築し、更に一部の論理グループのデバイスを2重化した冗長度の高い論理グループを構築する。
【0131】
ステップS3のホストアクセスに対しては、ステップS4でライトアクセスであれば、ステップS5に進み、RAID−5のライト処理を行う。このとき図28の論理グループ15−30のデバイス16−00または論理グループ15−31のデバイス16−10のライト処理にあっては、同じデータを2重化されているグループ内のデバイス16−05あるいは16−15に同時に書き込む多重ライト処理を行う。
【0132】
またリードアクセスであった場合にはステップS6に進み、RAID−5のリード処理となる。この場合、リード要求先のデバイスが論理グループの中の2重化されたデバイスであった場合には、片方のデバイスからのリード処理を行う。論理グループに対するリードまたはライトのアクセス中にデバイス故障がステップS7で判別されると、ステップS8に進み、デバイス2重化側の論理グループのデバイス故障か否かチェックする。
【0133】
デバイス2重化側のデバイス故障でなかった場合には、具体的には図28の論理グループ15−32または15−33側のデバイス故障であった場合には、ステップS9に進み、グループ内の論理グループの2重化ドライブの片側を取り込んで故障デバイスのデータを復元することにより、冗長性を回復させる。
一方、ドライブ2重化側の論理グループにおけるデバイス故障であった場合にはステップS10に進み、グループ内の2重化デバイスの片側に故障デバイスのデータを復元する。なお故障デバイスが2重化デバイスの片方であった場合には、データ復元を行わず故障デバイスを切り離すだけになる。
【0134】
このようなデバイス故障に対する対応処理を行った後、ステップS11で故障デバイスを正常なデバイスに交換する復旧が判別され、ステップS12でドライブ2重化側のデバイス故障でないことを判別した場合には、ステップS13に進み、交換済デバイスに故障代替デバイスのデータを復元して冗長性を回復する。
次に故障代替デバイスを元の論理グループに戻してデータを復元し、2重化デバイスを有する論理グループの冗長性を回復させる。一方、故障ドライブの交換がドライブ2重化側の故障デバイスに対して行われた場合には、ステップS14に進み、交換済ドライブにグループ内の故障代替デバイスのデータを復元し、次に故障代替デバイスにデータを復元して2重化する。
【0135】
もちろん、2重化デバイスの片方の故障に対し正常なデバイスに交換した場合には、単に元のデータを復元して2重化するだけで良い。
6.RAIDレベルを組み合わせたシステム
図30はRAID−1,2,3,4,5の組み合わせによる本発明のデバイスアレイ・システムを対象とした論理グループの構成であり、この実施形態にあってはRAID−2に対応した第1論理グループ46とRAID−3に対応した冗長性を持った第2論理グループ48−1、およびRAID−1に対応して第2論理グループ48−2に分けて論理グループを構築したことを特徴とする。
【0136】
即ち、第1論理グループ46はRAID−2に対応してデータデバイス16−00〜16−0Xにデータ0〜Xを格納し、またハミングコードデバイス16−H0〜16−HYにハミングコード0〜Yを格納している。これに対し第2論理グループ48−1はRAID−3に対応し、データデバイス16−10〜16−13にデータ0〜3を格納し、パリティデバイス16−14にデータ0〜3から求めたパリティを格納している。
【0137】
また第2論理グループ48−2はRAID−1の論理グループであり、デバイス16−20,16−21に同じデータ0を格納している。このようなRAIDの組合せの論理グループについては、ハミングコードを用いたRAID−2の第1論理グループ46の方がパリティを用いたRAID−3,1の第2論理グループ48−1,48−2より冗長度が高いことから、第2論理グループ48−1,48−2側のデバイス故障に対し冗長度の高い第1論理グループ46のデバイスを故障代替デバイスとして取り込んで冗長性を回復させる。
【0138】
図31はRAID−3の第2論理グループ48−1のデータデバイス16−13が故障した場合であり、この場合、RAID−2の第1論理グループ46の中の例えばハミンコードデバイス16−H1を故障代替デバイスとして取り込んで故障デバイス16−13のデータ1を復元し、第2論理グループ48のRAID−3としての冗長性を回復する。
【0139】
第1論理グループ46にあっては、故障代替デバイスとしてハミングコードデバイス16−H1を開放しても、残りのデータデバイス16−00〜16−0X及びハミングコードデバイス16−H0,16−H2〜16−HYにより冗長性が確保されており、冗長性は低下するが失われることはない。
図32は図30,図31のRAID組合せシステムの処理動作のフローチャートである。電源投入によりシステムが立ち上げられると、ステップS1で初期化処理を行った後、ステップS2で、図30のようにRAID−2の冗長度の高い第1論理グループと冗長度がパリティに依存したRAID−1,3,4,5を含む第2論理グループを構築する。ここで図30にあっては、第2論理グループとしてRAID3,1を例にとっているが、これ以外にRAID−4,5を含めてもよい。
【0140】
次にステップS3でホストアクセスを判別すると、ステップS4でライトアクセスか否かチェックし、ライトアクセスであればステップS5に進み、アクセス先となる論理グループのRAID形態に対応したライト処理を実行する。またリード処理であればステップS6に進み、アクセス先のRAID形態に対応したリード処理を行う。
【0141】このような論理グループのライトまたはリード処理のアクセス中にステップS7でデバイス故障が判別されると、パリティにより冗長性を確保している第2論理グループのデバイス故障か否かステップS8でチェックする。第2論理グループのデバイス故障であればステップS9に進み、RAID−2の第1論理グループのデバイスを故障代替デバイスとして取り込んでデータを復元し、第2論理グループとしてのRAID−1,3,4または5の冗長性を回復する。
【0142】
一方、RAID−2の第1論理グループのデバイス故障であった場合には、RAID−2のハミングコードに対応したデータ復元を行うだけで、特別な故障対応処理は行わない。続いてステップS11で故障デバイスを正常なデバイスへの交換が判別されると、ステップS12で第2論理グループ側のデバイス故障であることが判別されると、ステップS13に進む。
【0143】
ステップS13では、交換済デバイスに故障代替デバイスのデータを復元して元の論理グループを回復し、次に故障代替デバイスを第1論理グループに戻して元のデータを復元し、同様に元の冗長性の論理グループを回復させる。一方、第1論理グループ内のデバイス故障であった場合には、ステップS14で交換済デバイスに元のデータを復元するだけでよい。
【0144】
図33は図30に示したRAIDレベルを組み合わせた論理グループの構築について、第2論理グループ側のデバイス故障に対し第1論理グループ46を初期設定したRAID−2からRAID−3の論理グループに変更し、RAID−2で使用していた複数台のハミングデータディスクを故障代替ディスクとして開放し、故障デバイスを代替させるようにしたことを特徴とする。
【0145】
例えばRAID−3となる第2論理グループ48−1のデバイス16−13が故障した場合、故障代替デバイスを提供するRAID−1の第1論理グループ46を図示のRAID−3の論理グループに変更する。このRAID−3の論理グループへの変更によりデータ0〜Xのデータディスク16−00〜16−0Xに対し、データ0〜Xから求めたパリティを格納する1台のハミングコードデバイス16−H0のみが必要となり、残りの16−H1〜16−HYは第1論理グループ46から切り離される。
【0146】
このため第2論理グループ48−1の故障デバイス16−13に対し、RAID−3への変更により開放されたハミングコードデバイス16−H1〜16−HYの中の例えば先頭のハミングコードデバイス16−H1を第2論理グループ48−1に取り込み、故障デバイス16−13のデータ3を復元してRAID−3としての冗長性を回復させる。
【0147】
第1論理グループ46を最初のデバイス故障に対応してRAID−3へ変更した後は、変更により開放されているハミングコードデバイスが他の第2論理グループのデバイス故障に対する故障代替デバイスとして使用できる。また第2論理グループ側の故障デバイスが全て正常なデバイスに交換されて冗長性が回復された後は、第1論理グループ46に必要な全てのハミングコードデバイス16−H0〜16−HYがグループに戻されることから、再びRAID−2の論理グループに変更して新たなデバイス故障に備える。
【0148】
図34は図33の故障デバイスに対する故障代替で第1論理グループ46をRAID−2からRAID−3に変更する場合の処理動作のフローチャートである。図34において、ステップS1〜S8は図32と同じである。ステップS9の第2論理グループ側のデバイス故障に対する故障対応処理は、第1論理グループをRAID−2からRAID−3に変更してパリティデバイス以外のハミングコードデバイスを開放し、開放したハミングコードデバイスを故障代替デバイスとして取り込んでデータを復元することにより冗長性を回復する。
【0149】
また故障対応処理が行われた後の第2論理グループの故障デバイスを正常デバイスに交換した場合の故障復旧処理は、ステップS13のように、交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを第1論理グループに戻し、故障代替のために取り出されているデバイスがなければRAID−3から元のRAID−2の論理グループに変更して再構築する。
【0150】
図35はRAIDレベルを組み合わせたデバイスアレイ・システムで構築される他の論理グループであり、同一データを複数デバイスに共通に格納したRAID−1対応の多重化により冗長性を確保する第1論理グループと、パリティにより冗長性を確保する第2論理グループに分けたことを特徴とする。
図35の論理グループの構築にあっては、第1論理グループ52としてデバイス16−00,16−01に同じデータ0を格納した2重化デバイスとしている。これに対し第2論理グループ54はRAID−3に従って4台のデータデバイス16−10〜16−13とパリティデバイス16−14を備えており、更に冗長性を高めるためにパリティデバイス16−15を設けてパリティデータを2重化している。
【0151】
この図35の第1論理グループ52と第2論理グループ54にあっては、第1論理グループ52の冗長度に対し、パリティ2重化を行っている第2論理グループ54の方が冗長度が高い。したがって冗長度の低い第1論理グループ52で例えばデバイス16−01が故障した場合には、第2論理グループ54の例えば2重化されている一方のパリティデバイス16−14を故障代替デバイスとして取り込み、故障デバイス16−01のデータを復元して第1論理グループ52の冗長性を回復させる。
【0152】
図36は多重化デバイスにより冗長性を得ているRAID−1の第1論理グループ56と、パリティデバイスにより冗長性を得ているRAID−3の第2論理グループ58を構築した場合の他の実施形態であり、この実施形態にあっては第1論理グループ56側にデバイス16−00〜16−02の3台を設けて3重化することで、第2論理グループ58に対し冗長度を高めている。
【0153】
この場合には、冗長度の低いRAID−3の第2論理グループ58のデバイス16−13が故障した場合、冗長度の高い第1論理グループ56の例えばデバイス16−01を取り込んでデータ3を復元し、第2論理グループ58の冗長性を回復する。
第1論理グループ56にあっては、デバイス16−01を故障代替デバイスとして提供しても、2台のデバイス16−00,16−02が残っていることから、冗長性は低下するが失われることはない。尚、図35,図36は第2論理グループ54,58としてRAID−3を例にとっているが、これ以外にRAID−4,5を含んでもよいことはもちろんである。また図36の第1論理グループ56にあっては、3重化した場合を例にとっているが、多重化数は3重化以上であれば適宜の多重化数とできる。
【0154】
図37は図35及び図36を対象とした処理動作のフローチャートである。電源投入によりシステムを立ち上げると、ステップS1で初期化処理を行った後、ステップS2で多重化ドライブの第1論理グループとRAID−3,4,5の第2論理グループを構築する。この論理グループの構築にあっては、図35のように第2論理グループ54側の冗長度を高くするか、あるいは図36のように第1論理グループ56側の冗長度を高くするかのいずれかが行われる。
【0155】
ステップS3〜S6のホストアクセスに対するリード・ライト処理は、RAID−1の多重化ドライブあるいはRAID−3,4,5の各々に対応した処理となる。ステップS7でデバイス故障が判別されると、ステップS8で多重化グループとしての第1論理グループのデバイス故障か否かチェックされ、第1論理グループのデバイス故障であればステップS9に進み、図35のような第2論理グループの例えばパリティデバイスを故障代替デバイスとして取り込んでデータを復元し、第1論理グループの冗長性を回復する。
【0156】
一方、第2論理グループ側のデバイス故障であった場合には、ステップS10に進み、図36のように第1論理グループ56側の冗長度が高くなっている論理グループの構築状態を前提に第1論理グループのデバイスを取り込んでデータを復元することにより、デバイス故障を起こした第2論理グループの冗長性を回復する。
【0157】
デバイス故障後のステップS11における故障デバイスの交換による復旧が判別されると、ステップS12で第1論理グループ側のデバイス故障であった場合には、ステップS13で交換済デバイスに故障代替デバイスのデータを復元し、次に故障代替デバイスを第2論理グループに戻してデータを復元することで元の論理グループを再構築する。
【0158】
また第2論理グループ側のデバイス故障であった場合には、ステップS14で、交換済デバイスに故障代替デバイスのデータを復元し、続いて故障代替デバイスを元の第1論理グループに戻して初期設定した論理グループ状態を再構築する。
尚、本発明は上記の実施例に示した数値による限定は受けない。また上記の実施形態はデバイスアレイユニット12のデバイスとして磁気ディスク装置を例にとっているが、これ以外に光ディスク装置や磁気テープ装置等の適宜の入出力デバイスを使用することができる。更にデバイスアレイユニット12には、同一種類のデバイスのみならず複数種類の異なった入出力デバイスを混在させるようにしてもよい。
【0159】
【発明の効果】
以上説明してきたように本発明によれば、デバイス故障のない通常の運用状態にあっては、デバイスアレイユニットの中にはデバイス故障に対処するための予備デバイスとして使用するホットスペアは存在せず、全てのデバイスはいずれかの論理グループに属して上位装置からの要求に基づいたアクセスを受けた動作状態にあり、ホットスペアとしてのデバイスを固定して設けた場合のようにホットスペアの機能を検証するホットスペアパトロールは不要であり、ホットスペアパトロールによるデバイスアクセスとホスト要求に基づくデバイスアクセスとの衝突は起きず、これによりシステム性能の維持を保証することができる。
【0160】
更にアクセス対象とする冗長度を持つ論理グループの中に、より高い冗長度の論理グループを構築しているため、システム全体としての冗長性が更に向上でき、データ入出力要求に対する信頼性を更に向上することができる。更に、従来のアレイディスク装置においては、ホットスペアディスクを備えることでディスク故障による冗長性の低下を防止していた。ここで、ホットスペアディスクはいわゆる予備のディスクであり、データディスクが故障した際にその代わりとして論理ディスクに組み込まれるものである。
【0161】
これに対し、本発明ではホットスペアディスクという概念をなくし、全てのディスクをデータディスクとして使用する。この結果、冗長性の増加による信頼性の向上はもとより、以下のような特別な効果を奏するに至った。
RAID−1に関しては、同時に同一の論理ディスクに対するリード要求が発生した場合には、当該論理ディスクの多重度分の同時処理が可能となる。このため、論理ディスクの多重度を増すことでリード処理の待ち時間を削減でき、性能向上に寄与する。
【0162】
RAID−3に関しては、論理ディスクを構成するいずれかのディスクの多重度を増やすことにより、最初に位置づけの完了したディスクを使用してデータ転送することができるので、性能向上に寄与する。例えば、不良交代リンクの張られたディスクを対象とすることで顕著な効果が得られる。
RAID−5に関しては、ストライピングによってアクセスの分散による性能向上が図られているが、更にその中でもアクセスが集中している物理ディスクを多重化することにより、RAID−1と同じ理由によりアクセスの多重処理が可能となり性能向上に寄与することとなる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のシステム構成のブロック図
【図3】本発明のシステム機能のブロック図
【図4】本発明の基本的な処理のフローチャート
【図5】本発明のRAID−1対応システムにおける論理グループ構成の説明図
【図6】図5のRAID−1対応システムで冗長度の低いグループデバイス故障時の対応処理の説明図
【図7】図6で故障デバイスを交換した際の復旧処理の説明図
【図8】図7に続いて行う故障代替デバイスの復旧処理の説明図
【図9】本発明によるRAID−1対応システムの処理動作のフローチャート
【図10】図6で故障デバイスを交換した際の他の復旧処理の説明図
【図11】本発明のRAID−1対応システムの処理動作のフローチャート
【図12】RAID−1対応システムで複数デバイスが順次故障した場合の対応処理の説明図
【図13】RAID−1対応システムで故障代替デバイスを取り込む際のポート選択の説明図
【図14】RAID−1対応システムで冗長度の高いグループデバイス故障時の対応説明図
【図15】冗長度を階層設定したRAID−1対応システムの故障対応処理の説明図
【図16】図15のRAID−1対応システムの処理動作のフローチャート
【図17】冗長度の高いグループデバイスに半導体メモリを設けたRAID−1対応システムの説明図
【図18】本発明のRAID−2対応システムにおける論理グループ構成の説明図
【図19】図18のRAID−2対応システムにおける故障対応処理の説明図
【図20】本発明のRAID−2対応システムの処理動作のフローチャート
【図21】本発明のRAID−3,4対応システムにおけるパリティデバイスの多重化による論理グループ構成と故障対応処理の説明図
【図22】図21の故障デバイスを交換した際の復旧処理の説明図
【図23】図21及び図22に対応したRAID−3,4対応システムの処理動作のフローチャート
【図24】図21の故障デバイスを交換した際の他の復旧処理の説明図
【図25】図24に対応したRAID−3,4対応システムの処理動作のフローチャート
【図26】本発明のRAID−3,4対応システムにおけるデータデバイスの一部の多重化による論理グループ構成と故障対応処理の説明図
【図27】図26によるRAID−3,4対応システムの処理動作のフローチャート
【図28】本発明のRAID−5対応システムにおける論理グループ構成と故障対応処理の説明図
【図29】図28によるRAID−5対応システムの処理動作のフローチャート
【図30】本発明のRAID組合せシステムにおける論理グループ構成の説明図
【図31】図30のRAID組合せシステムにおける故障対応処理の説明図
【図32】図30,31によるRAID組合せシステムの処理動作のフローチャート
【図33】RAID組合せシステムでデバイス故障時にRAID−2をRAID−3に変更して代替する処理の説明図
【図34】図33によるRAID組合せシステムの処理動作のフローチャート
【図35】RAID組合せシステムで多重化論理グループのデバイス故障をパリティ論理グループのデバイスで代替して対応する処理の説明図
【図36】RAID組合せシステムでパリティ論理グループのデバイス故障を多重化論理グループのデバイスで代替して対応する処理の説明図
【図37】図35,36によるRAID組合せシステムの処理動作のフローチャート
【符号の説明】
10:ディスクアレイコントローラ(コントローラ)
12:デバイスアレイユニット
14:ホストコンピュータ(上位装置)
15−00〜15−33:論理グループ
16,16−00〜16−35:デバイス(ディスクドライブ)
18:MPU
20:ホストアダプタ
22:キャッシュユニット
24−0〜24−5:デバイスアダプタ
26:コントロールバス
28:データバス
30:ブリッジ回路
32:ホストアクセス部
34:デバイスアクセス部
36:構成制御部
38:故障処理部
Claims (28)
- 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データをN台のデバイスに格納して多重化した第1論理グループと、同一データを少なくとも(N+1)台のデバイスに格納して多重化した第2論理グループとを構築する構成制御部と、
前記第1論理グループで1台のデバイスが故障して冗長性が失われた際に、前記第2論理グループの1台のデバイスを第1論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項1記載のデバイスアレイ・システムに於いて、
前記構成制御部は、前記論理グループとして、同一データを2台のデバイスに格納して2重化した第1論理グループと、同一データを3台のデバイスに格納して3重化した第2論理グループとを構築し、
前記故障処理部は、前記第1論理グループで1台のデバイスが故障して冗長性が失われた際に、前記第2論理グループのデバイスを第1論理グループに取込み、故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。 - 請求項1記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第1論理グループの故障デバイスを正常なデバイスに交換した際に、交換デバイスを前記第1論理グループに取り込んで前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスを第2論理グループに戻して元のデータを復元することを特徴とするデバイスアレイ・システム。
- 請求項1記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第1論理グループの故障デバイスを正常なデバイスに交換した際に、交換デバイスを前記第2論理グループに取り込んでデータを復元し、前記故障代替デバイスは第1論理グループにそのまま残すことを特徴とするデバイスアレイ・システム。
- 請求項1記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第1論理グループで1台のデバイスが故障して冗長性が失われ、前記第2論理グループのデバイスを第1論理グループに取り込んで故障代替デバイスとしてデータを復元させた後に、前記第1論理グループで更に1台のデバイスが故障した場合は、他の第2論理グループのデバイスを第1論理グループに取り込んで故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。
- 請求項1記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第1論理グループの故障代替デバイスを前記第2論理グループから取り込む際に、前記故障デバイスと同一ポートに接続している第2論理グループのデバイスを優先的に選択することを特徴とするデバイスアレイ・システム。
- 請求項1記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第2論理グループのデバイスが故障した場合は、該故障デバイスを切り離した状態でアクセスを継続させ、前記故障デバイスが正常なデバイスに交換された際に第2論理グループに戻してデータを復元することを特徴とするデバイスアレイ・システム。
- 請求項1記載のデバイスアレイ・システムに於いて、
前記構成制御部は、前記第2論理グループとして(N+1)重化、(N+2)重化等の冗長性の異なる複数の第2論理グループを構築し、
前記故障処理部は、前記第1論理グループでデバイスが故障して冗長性が失われた際に、前記複数の第2論理グループの中の最も冗長性の高いグループのデバイスを第1論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。 - 請求項1記載のデバイスアレイ・システムに於いて、
前記デバイスアレイユニットは、磁気ディスク装置と半導体メモリで構成されており、 前記構成制御部は、前記第2論理グループの複数デバイスの中に少なくとも1台の半導体メモリを配置し、
前記故障処理部は、前記第1論理グループでデバイスが故障して冗長性が失われた際に、前記第2論理グループの半導体メモリを第1論理グループに組み込んで故障デバイスの代替デバイスとしてデータを復元して冗長性を回復させることを特徴とするデバイスアレイ・システム。 - 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、データを分割して複数台のデータデバイスの各々に格納すると共に、複数台のパリティデバイスの各々に前記格納したデータから求めたパリティを格納してパリティの多重化を行った第1論理グループと、データを分割して複数台のデータデバイスに格納すると共に前記格納データから求めたパリティを1台のパリティデバイスに格納した第2論理グループとを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際には、前記第1論理グループの1台のパリティデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項10記載のデバイスアレイ・システムに於いて、前記構成制御部は、RAID−3のパリティデバイスを多重化した第1論理グループと、RAID−3の第2論理グループを構築することを特徴とするデバイスアレイ・システム。
- 請求項10記載のデバイスアレイ・システムに於いて、前記構成制御部は、RAID−4のパリティデバイスを多重化した第1論理グループと、RAID−4の第2論理グループを構築することを特徴とするデバイスアレイ・システム。
- 請求項10記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第2論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記第2論理グループと同じパリティを復元してパリティデバイスを2重化し、前記第1論理グループから取り込んだ故障代替デバイスは第2論理グループにそのまま残すことを特徴とするデバイスアレイ・システム。
- 請求項10記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第2論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第1論理グループに戻して元のパリティを復元させることを特徴とするデバイスアレイ・システム。
- 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、データを分割して格納する複数台のデータデバイス、前記格納データから求めたパリティを格納する1台のパリティデバイス、及び前記複数のデータデバイスの一部と同じデータを格納して多重化した少なくとも1台のデータ多重化デバイスを備えた第1論理グループと、データを分割して格納する複数台のデータデバイスと前記格納データから求めたパリティを格納する1台のパリティデバイスを備えた第2論理グループとを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際には、前記第1論理グループの1台のデータ多重化デバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項15記載のデバイスアレイ・システムに於いて、前記構成制御部は、RAID−3のデータデバイスの一部を多重化した第1論理グループと、RAID−3の第2論理グループを構築することを特徴とするデバイスアレイ・システム。
- 請求項15記載のデバイスアレイ・システムに於いて、前記構成制御部は、RAID−4のデータデバイスの一部を多重化した第1論理グループと、RAID−4の第2論理グループを構築することを特徴とするデバイスアレイ・システム。
- 請求項15記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第2論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第1論理グループに戻して元のデータを復元させることを特徴とするデバイスアレイ・システム。
- 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、RAID−5に対応したデータ及びパリティを格納する複数デバイスと該複数デバイスの一部と同じデータ及びパリティを格納する多重化デバイスを備えた第1論理グループと、
RAID−5に対応したデータ及びパリティを格納する複数デバイスを備えた第2論理グループを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際には、前記第1論理グループの多重化デバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項19記載のデバイスアレイ・システムに於いて、前記故障処理部は、前記第2論理グループの故障デバイスを正常なデバイスに交換した際に、該交換デバイスに前記故障代替デバイスと同じデータを復元し、前記故障代替デバイスは第1論理グループに戻して元のデータを復元させることを特徴とするデバイスアレイ・システム。
- 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、RAID−2に対応したデータ及びハミングコードを複数のデバイスに格納した第1論理グループと、RAID−3,4又は5に対応したデータ及びパリティを複数のデバイスに格納した第2論理グループと、RAID−1に対応した第2論理グループとを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際には、前記第1論理グループのハミングコードデバイスを第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、RAID−2に対応したデータ及びハミングコードを複数のデバイスに格納する第1論理グループと、RAID−3,4又は5に対応したデータ及びパリティを複数のデバイスに格納した第2論理グループとRAID−1に対応する第2論理グループとを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際には、前記第1論理グループをRAID−3の論理グループに変更し、第1論理グループから開放された複数のハミングコードデバイスの中の1台を前記第2論理グループに取込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データを複数のデバイスに格納する第1論理グループと、データを複数のデバイスに格納し、データに対するパリティを第1のパリティデバイスに格納すると共に前記パリティと同一の内容を第2のパリティデバイスにも格納してパリティの2重化を行う第2論理グループを構築する構成制御部と、
前記第1論理グループのデバイスが故障して冗長性が失われた際に、前記第2論理グループのパリティデバイスを前記第1論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項23記載のデバイスアレイ・システムに於いて、前記構成制御部は、前記第1論理グループとして同一データを2台のデバイスに格納した2重化論理グループを構築し、前記第2論理グループとしてパリティデバイスを固定したRAID−3又は4の論理グループを構築したことを特徴とするデバイスアレイ・システム。
- 複数のポートの各々に複数のランクに亘って入出力用のデバイスを複数接続し、ランク単位に複数のデバイスを並列的にアクセス可能なデバイスアレイユニットと、
前記デバイスアレイユニットに設けた複数のデバイスを複数の論理グループに分け、上位装置からのアクセス要求に基づき前記論理グループ単位にアクセスするコントローラと、
を備えたデバイスアレイ・システムに於いて、
前記コントローラに、
前記論理グループとして、同一データを3台以上のデバイスに格納した第1論理グループと、データ及びパリティを複数のデバイスに格納した第2論理グループを構築する構成制御部と、
前記第2論理グループのデバイスが故障して冗長性が失われた際に、前記第1論理グループの1台のデバイスを前記第2論理グループに取り込み、故障代替デバイスとしてデータを復元して冗長性を回復させる故障処理部と、
を設けたことを特徴とするデバイスアレイ・システム。 - 請求項25記載のデバイスアレイ・システムに於いて、前記構成制御部は、前記第1論理グループとして同一データを3台以上のデバイスに格納した多重化論理グループを構築し、前記第2論理グループとしてRAID−3,4又は5の論理グループを構築したことを特徴とするデバイスアレイ・システム。
- 請求項1乃至26のいずれかに記載のデバイスアレイ・システムに於いて、前記デバイスアレイユニットは、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置のうちの同一種類の入出力デバイスであることを特徴とするデバイスアレイ・システム。
- 請求項1乃至26のいずれかに記載のデバイスアレイ・システムに於いて、前記デバイスアレイユニットは、磁気ディスク装置、光磁気ディスク装置、半導体メモリ又は磁気テープ装置のうちの種類の異なる入出力デバイスを混在したことを特徴とするデバイスアレイ・システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6275997A JP3595099B2 (ja) | 1997-03-17 | 1997-03-17 | デバイスアレイ・システム |
EP03009737A EP1345123A2 (en) | 1997-03-17 | 1997-09-29 | Device array system providing redundancy of disks from active system disks during a disk failure |
EP97307631A EP0866402A3 (en) | 1997-03-17 | 1997-09-29 | Device array system providing redundancy of disks from active system disks during a disk failure |
US08/979,951 US6079029A (en) | 1997-03-17 | 1997-11-26 | Device array system providing redundancy of disks from active system disks during a disk failure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6275997A JP3595099B2 (ja) | 1997-03-17 | 1997-03-17 | デバイスアレイ・システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10260789A JPH10260789A (ja) | 1998-09-29 |
JP3595099B2 true JP3595099B2 (ja) | 2004-12-02 |
Family
ID=13209654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6275997A Expired - Fee Related JP3595099B2 (ja) | 1997-03-17 | 1997-03-17 | デバイスアレイ・システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6079029A (ja) |
EP (2) | EP0866402A3 (ja) |
JP (1) | JP3595099B2 (ja) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542961B1 (en) | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
WO2001031430A1 (fr) * | 1999-10-29 | 2001-05-03 | V-Sync Co., Ltd. | Systeme de base de donnees |
US6678768B1 (en) * | 2000-10-06 | 2004-01-13 | International Business Machines Corporation | Method and apparatus for configuring redundant array of independent disks (RAID) |
US6810491B1 (en) * | 2000-10-12 | 2004-10-26 | Hitachi America, Ltd. | Method and apparatus for the takeover of primary volume in multiple volume mirroring |
US6986075B2 (en) * | 2001-02-23 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Storage-device activation control for a high-availability storage system |
JP2002259062A (ja) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 |
US6845465B2 (en) * | 2001-09-17 | 2005-01-18 | Sun Microsystems, Inc. | Method and system for leveraging spares in a data storage system including a plurality of disk drives |
US6959399B2 (en) * | 2001-09-24 | 2005-10-25 | International Business Machines Corporation | Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery |
US6976187B2 (en) * | 2001-11-08 | 2005-12-13 | Broadcom Corporation | Rebuilding redundant disk arrays using distributed hot spare space |
KR20030073982A (ko) * | 2002-03-14 | 2003-09-19 | 한국전자통신연구원 | 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법 |
JP4554216B2 (ja) * | 2002-03-31 | 2010-09-29 | ユィロス・パテント・アクチボラグ | 効率的なマイクロ流体デバイス |
US6934804B2 (en) * | 2002-05-28 | 2005-08-23 | Sun Microsystems, Inc. | Method and system for striping spares in a data storage system including an array of disk drives |
JP2004102815A (ja) * | 2002-09-11 | 2004-04-02 | Toshiba Corp | 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ |
US6892276B2 (en) * | 2002-11-26 | 2005-05-10 | Lsi Logic Corporation | Increased data availability in raid arrays using smart drives |
JP2004192483A (ja) * | 2002-12-13 | 2004-07-08 | Hitachi Ltd | 分散ストレージシステムの管理方法 |
US7260739B2 (en) * | 2003-05-09 | 2007-08-21 | International Business Machines Corporation | Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment |
US7533325B2 (en) | 2003-07-14 | 2009-05-12 | International Business Machines Corporation | Anamorphic codes |
US7281177B2 (en) * | 2003-07-14 | 2007-10-09 | International Business Machines Corporation | Autonomic parity exchange |
US7254754B2 (en) | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
JP4634049B2 (ja) * | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
US7565569B2 (en) * | 2004-10-22 | 2009-07-21 | International Business Machines Corporation | Data protection in a mass storage system |
JP2006236001A (ja) * | 2005-02-24 | 2006-09-07 | Nec Corp | ディスクアレイ装置 |
US7418621B2 (en) * | 2005-02-24 | 2008-08-26 | Dot Hill Systems Corp. | Redundant storage array method and apparatus |
US7552357B2 (en) * | 2005-04-29 | 2009-06-23 | Network Appliance, Inc. | Lost writes detection in a redundancy group based on RAID with multiple parity |
US20070113006A1 (en) * | 2005-11-16 | 2007-05-17 | Elliott John C | Apparatus and method to configure one or more storage arrays |
TWI312943B (en) * | 2005-12-08 | 2009-08-01 | Via Tech Inc | Raid (redundant arrays of independent disks) systems and set up methods thereto |
TW200723254A (en) * | 2005-12-08 | 2007-06-16 | Via Tech Inc | RAID (redundant arrays of independent disks) systems and set up methods thereto |
JP2007193887A (ja) * | 2006-01-18 | 2007-08-02 | Fujitsu Ltd | ディスク装置およびディスク制御方法 |
JP4630828B2 (ja) * | 2006-01-31 | 2011-02-09 | 株式会社東芝 | 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法 |
JP2008197886A (ja) * | 2007-02-13 | 2008-08-28 | Nec Corp | ストレージ装置及びその制御方法 |
JP2008217624A (ja) * | 2007-03-07 | 2008-09-18 | Nec Corp | ディスクアレイ装置及びその制御方法 |
JP2008250566A (ja) * | 2007-03-29 | 2008-10-16 | Nec Corp | ディスクアレイ装置、該装置の運用方法、およびプログラム |
JP5080140B2 (ja) * | 2007-06-13 | 2012-11-21 | 株式会社日立製作所 | I/oデバイス切り替え方法 |
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
KR20110050404A (ko) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
JP2010238124A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | データ管理プログラム、データ管理装置、およびデータ管理方法 |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
US8181062B2 (en) * | 2010-03-26 | 2012-05-15 | Lsi Corporation | Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring |
US8112663B2 (en) * | 2010-03-26 | 2012-02-07 | Lsi Corporation | Method to establish redundancy and fault tolerance better than RAID level 6 without using parity |
JP5170794B2 (ja) * | 2010-09-28 | 2013-03-27 | 株式会社バッファロー | 記憶システム及びフェイルオーバ制御方法 |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8694866B2 (en) * | 2011-03-15 | 2014-04-08 | California Institute Of Technology | MDS array codes with optimal building |
JP5776436B2 (ja) | 2011-08-22 | 2015-09-09 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
JP6369226B2 (ja) | 2014-08-28 | 2018-08-08 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム |
US9720774B2 (en) * | 2015-06-29 | 2017-08-01 | Sap Se | Adaptive recovery for SCM-enabled databases |
US10013323B1 (en) * | 2015-09-29 | 2018-07-03 | EMC IP Holding Company LLC | Providing resiliency to a raid group of storage devices |
US10496319B2 (en) | 2017-02-28 | 2019-12-03 | Sap Se | Lifecycle management for data in non-volatile memory including blocking creation of a database savepoint and associating non-volatile memory block identifiers with database column fragments |
CN109213427B (zh) * | 2017-06-30 | 2021-06-29 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
US11442826B2 (en) | 2019-06-15 | 2022-09-13 | International Business Machines Corporation | Reducing incidents of data loss in raid arrays having the same raid level |
US11074118B2 (en) | 2019-06-15 | 2021-07-27 | International Business Machines Corporation | Reporting incidents of data loss in RAID arrays |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077736A (en) * | 1988-06-28 | 1991-12-31 | Storage Technology Corporation | Disk drive memory |
US4989206A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
US4989205A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
JPH07261945A (ja) * | 1994-03-17 | 1995-10-13 | Hitachi Ltd | ディスクアレイ装置およびディスクアレイの区分け方法 |
US5479653A (en) * | 1994-07-14 | 1995-12-26 | Dellusa, L.P. | Disk array apparatus and method which supports compound raid configurations and spareless hot sparing |
US5657439A (en) * | 1994-08-23 | 1997-08-12 | International Business Machines Corporation | Distributed subsystem sparing |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
-
1997
- 1997-03-17 JP JP6275997A patent/JP3595099B2/ja not_active Expired - Fee Related
- 1997-09-29 EP EP97307631A patent/EP0866402A3/en not_active Withdrawn
- 1997-09-29 EP EP03009737A patent/EP1345123A2/en not_active Withdrawn
- 1997-11-26 US US08/979,951 patent/US6079029A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6079029A (en) | 2000-06-20 |
EP0866402A3 (en) | 2001-09-05 |
EP0866402A2 (en) | 1998-09-23 |
JPH10260789A (ja) | 1998-09-29 |
EP1345123A2 (en) | 2003-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3595099B2 (ja) | デバイスアレイ・システム | |
US5720027A (en) | Redundant disc computer having targeted data broadcast | |
EP0515499B1 (en) | Disk drive memory | |
JP3742494B2 (ja) | 大容量記憶装置 | |
US5566316A (en) | Method and apparatus for hierarchical management of data storage elements in an array storage device | |
EP0518603B1 (en) | Distributed sparing in DASD arrays | |
US5479611A (en) | Disk array apparatus | |
US4989205A (en) | Disk drive memory | |
JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
JPH06500186A (ja) | ディスク・アレイ・システム | |
AU3698489A (en) | Disk drive memory | |
WO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
US20060190683A1 (en) | Disk array apparatus and backup method of data | |
EP2375332B1 (en) | Method to establish redundancy and fault tolerance better than raid level 6 without using parity | |
KR101158838B1 (ko) | Raid 시스템에서 패리티와 미러링을 사용하지 않으면서 하이 레벨의 리던던시, 내고장성, 및 성능을 확립하기 위한 방법 | |
JPH06230903A (ja) | ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 | |
JPH06119126A (ja) | ディスクアレイ装置 | |
JP2000148409A (ja) | 冗長記憶装置 | |
JP2005166016A (ja) | ディスクアレイ装置 | |
KR19990051729A (ko) | 이중 어레이 제어기를 갖는 래이드 시스템의 구조 | |
JPH06266508A (ja) | ディスクアレイ制御方法 | |
JPH1185410A (ja) | データ二重化記憶サブシステム | |
KR100447267B1 (ko) | 레이드 시스템의 분산 제어장치 | |
WO2019138999A1 (ja) | ディスクアレイコントローラ、ストレージ装置、ストレージ装置の復旧方法、及びディスクアレイコントローラの復旧プログラムを格納した非一時的な記憶媒体 | |
JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040902 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090910 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090910 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100910 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100910 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110910 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120910 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120910 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |