(57)【要約】【課題】  アレイの任意の２つのディスクが故障した場合、または３つ以上の従属ディスクが故障した場合でも、データを回復できるディスク・アレイを提供すること。  【解決手段】  ディスク・アレイは、ｎ個の物理ディスク分のデータを格納することができる少なくとも２ｎ＋１個の物理ディスクを有する。データは、ｎ個のほぼ等しいサイズのグループに分割されていて、ｎ個のディスクにわたり分配されているデータ・ストライプ内に格納される。各データ・ストライプは、パリティ・ストリップが生成される時に１度だけ、各データ・ストライプ内にデータ・ストリップを含めて生成される対応パリティ・ストリップを有する。各データ・ストライプのデータ・ストリップ、そのコピーおよび対応するパリティ・ストリップは、それぞれがディスク・アレイの異なるディスク上に位置するように分配される。
2006505035.tif 000002
【特許請求の範囲】
【請求項１】
ｎ個の物理ディスク分のデータを格納することができる少なくとも２ｎ＋１個の物理ディスクを有するディスク・アレイ内にデータを格納するための方法であって、
少なくとも１つのデータ・ストライプ内の前記ｎ個の物理ディスク上にデータを格納するステップであって、各データ・ストライプがストリップと呼ばれるｎ個のほぼ等しいサイズのグループに分割され、前記ｎ個の物理ディスクにわたり分配されるステップと、
各データ・ストライプに対するパリティ・ストリップを生成するステップであって、各データ・ストライプ内のデータ・ストリップが１回だけ対応する生成パリティ・ストリップ内に内蔵されるステップと、
各データ・ストライプのデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップを前記ディスク・アレイの前記２ｎ＋１個の物理ディスクにわたって分配するステップであって、各データ・ストライプのデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、前記ディスク・アレイの異なる各ディスク上に位置するステップと
を含む方法。
【請求項２】
データが複数のデータ・ストライプ内に格納され、複数のパリティ・ストリップが、前記２ｎ＋１個の物理ディスクにわたりほぼ均等に分配される、請求項１に記載の方法。
【請求項３】
前記ディスク・アレイが少なくとも１つの予備物理ディスクをさらに備え、
前記分配ステップが、各データ・ストライプのデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップを前記ディスク・アレイの２ｎ＋１個の物理ディスクおよび各予備ディスクにわたって分配するステップを含み、各データ・ストライプのデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、前記ディスク・アレイの異なるディスク上に位置する、請求項１に記載の方法。
【請求項４】
ｎ個の物理ディスク分のデータを格納することができる少なくとも２ｎ＋１個の物理ディスクを備えるディスク・アレイであって、データが少なくとも１つのデータ・ストライプ内のディスク上に格納され、各データ・ストライプがｎ個のほぼ等しいサイズのストリップに分割され、前記ｎ個の物理ディスクにわたって分配され、各データ・ストライプが、前記パリティ・ストリップが生成される時に１回だけ各データ・ストライプに対する各データ・ストリップを内蔵させることにより生成される対応するパリティ・ストリップを有し、
このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、前記ディスク・アレイの２ｎ＋１個の物理ディスクにわたって分配され、各データ・ストライプに対するデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対する対応するパリティ・ストリップが、前記ディスク・アレイの異なるディスク上に位置するディスク・アレイ。
【請求項５】
データが複数のデータ・ストライプ内に格納され、複数のパリティ・ストリップが前記２ｎ＋１個の物理ディスクにわたってほぼ均等に分配される、請求項４に記載のディスク・アレイ。
【請求項６】
前記ディスク・アレイが少なくとも１つの予備物理ディスクをさらに備え、
各データ・ストライプに対するデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、各データ・ストライプに対するデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが前記ディスク・アレイの異なるディスク上にそれぞれ位置するように、前記ディスク・アレイの２ｎ＋１個の物理ディスクおよび予備ディスクにわたって分配される、請求項４に記載のディスク・アレイ。
【請求項７】
前記ディスク・アレイが複数のディスクを備える、請求項４に記載のディスク・アレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量記憶装置の分野に関する。より詳細には、本発明は、すべての格納しているデータを喪失することなく、多重従属ディスク故障または任意の二重ディスク故障があっても許容される（tolerate）、つまり使用することができるディスク・アレイに関する。
【背景技術】
【０００２】
ディスクは、多くの場合、性能および管理しやすくするためにアレイ状に構成される。アレイ内の任意のディスクの故障によりデータが喪失するのを防止するために、データはアレイ状の複数のディスクにわたり重複して格納される。そのためディスクのサブセットは、アレイ内にすでに格納しているすべてのデータを取り出すのに十分な容量を有する。現在まで、ほとんどのシステムは、ディスクに故障が１つあっても使用できるように設計されている。１つのディスク故障があっても大丈夫なように設計する根本的な理由は、ディスク故障は比較的まれなものであるからである。そのため、ディスクに障害が発生した場合でも、次の障害が発生する前に障害から回復するのに十分な時間的余裕がある。
【０００３】
しかし、現場でのデータは、ディスク故障が依存性を有する場合があることを示唆している。すなわち、記憶システムまたはディスク・アレイ内に第２のディスク故障が第１の故障の直後に発生するおそれは十分にある。このような依存性は、単に、アレイ内のディスクは、ディスクの同じバッチから作られる傾向があり、同じ物理的および電気的条件で使用され、同じ制御装置から同じ仕事量およびコマンドを処理するという事実等によるものである。さらに、アレイ内でディスクが故障を起こすと、システムに変化が起こり、そのため残りのディスクが大きな影響を受ける。故障したディスクを交換した場合でも、アレイ内の他の何かが故障を起こす恐れが増大する。例えば、間違ったディスクを交換するかもしれない。
【０００４】
業界内においては、単一障害の故障を許容するだけでは十分でないとするいくつかの傾向がある。まず第一に、ますます多くのディスクがアレイ内にグループ分けされるようになっている。それ故、アレイ内に複数の障害が発生する機会が増大しつつある。第二に、ディスク容量は、データ速度の増大よりも急速に増大しつつある。それ故、ディスクを再構成するための時間が一般的に長くなってきていて、それによりアレイが以降のディスク故障に無防備な時間が長くなってきている。第三に、ディスク販売業者は、依然として積極的に記憶域密度を増大し続けている。歴史的に見て、これによりディスクの信頼性が低下し、この傾向は将来も続くと予想される。第四に、多重ディスク故障に関連するコストが上昇を続けている。多くのディスク・アレイ全体にわたり、ホストの論理装置番号（ＬＵＮ）を拡張することができる仮想化のような技術は、多重ディスク故障の悪影響を増大する。何故なら、もっと多くのホストＬＵＮが影響を受ける恐れがあるからである。
【０００５】
ディスク・アレイ内の多重ディスク故障から回復するための従来の技術は、ダブル・パリティ・スキーム、二重ミラーリング・スキーム、およびＲＡＩＤ５１タイプ・スキームに大別することができる。ダブル・パリティ・タイプ・スキームは、ＲＡＩＤ５タイプ・スキーム（単一パリティを使用する）を、ダブル・パリティを使用することができるように拡張する。ダブル・パリティ・タイプ・スキームの１つの欠点は、ディスクの素数のように、支持するディスクの数に柔軟性がないことである。例えば、１９９９年発行の情報理論に関するＩＥＥＥ議事録、４５、１、２７２〜２７６ページ掲載のＬ．Ｘｕ他の「X-Code: MDS array codes with optimal encoding」を参照されたい。ダブル・パリティ・タイプ・スキームのもう１つの欠点は、ブロックの各更新が、いくつかの他のブロックの更新を必要とする非常に複雑な更新手順を必要とする場合があることである。例えば、２００１年、ニューヨーク州ニューヨーク所在のＩＥＥＥ  Computer Society Press and Wiley、１４章、１８７〜２０８ページ掲載の、Ｂｌａｕｍ他の「The EVENODD code and its generalization: An efficient scheme fortolerating multiple disk failures in RAID architectures」、高性能大容量記憶装置および並列Ｉ／Ｏ：技術および適用（Ｈ．Ｊｉｎ他、編集）を参照されたい。ダブル・パリティ・タイプ・スキームのさらにもう１つの欠点は、パリティ符号化および復号が非常に複雑なことである。例えば、１９９４年６月発行の、ＡＣＭ  Computing Surveys、２６、２、１４５〜１８５ページ掲載の、Ｐ．Ｍ．チェン他の「RAID: High-performance, reliable secondary storage」を参照されたい。各書込み要求は、少なくとも３回のディスク読取り動作、および３回のディスク書込み動作を必要とする。ダブル・パリティ・タイプ・スキームは、２つまでのディスク故障があっても使用することができる。
【０００６】
二重ミラーリング・タイプ・スキームの場合には、データは２回ミラー化され、そのためデータのコピーは３つになる。各書込み要求は、各コピーを更新するのに３回のディスク書込み動作を必要とする。二重ミラー・スキームは、保護されていないアレイの記憶装置を３回使用する。
【０００７】
ＲＡＩＤ５１タイプ・スキームは、１つのディスク故障からデータを保護し、最高３つまでの任意のディスク故障を保護するために、ＲＡＩＤ５アレイをミラー化する。書込み要求の場合には、２回のディスク読取り動作および４回のディスク書込み動作が必要になる。
【０００８】
「Method and means fordistributed sparing in DASD Arrays」という名称のＭｅｎｏｎ他の米国特許第５，２５８，９８４号は、性能を改善するために、ディスク・アレイ内のすべてのディスク間での予備空間の均等な分配を開示している。
【特許文献１】米国特許第５，２５８，９８４号
【非特許文献１】１９９９年発行の情報理論に関するＩＥＥＥ議事録、４５、１、２７２〜２７６ページ掲載のＬ．Ｘｕ他の「X-Code: MDS array codes with optimal encoding」
【非特許文献２】２００１年、ニューヨーク州ニューヨーク所在のIEEE Computer Society Press and Wiley、１４章、１８７〜２０８ページ掲載の、Ｂｌａｕｍ他の「The EVENODD code and its generalization: An efficient scheme fortolerating multiple disk failures in RAID architectures」、高性能大容量記憶装置および並列Ｉ／Ｏ：技術および適用（Ｈ．Ｊｉｎ他、編集）
【非特許文献３】１９９４年６月発行の、ＡＣＭ  Computing Surveys、26、2、145〜185ページ掲載の、P.M.チェン他の「RAID: High-performance, reliable secondary storage」
【発明の開示】
【発明が解決しようとする課題】
【０００９】
アレイの任意の２つのディスクが故障した場合でも、または３つ以上の従属ディスクが故障した場合でも、データを依然として使用できるように、ディスクのアレイ上にデータを格納するための効率的な技術の開発が待望されている。
【課題を解決するための手段】
【００１０】
本発明は、アレイの任意の２つのディスクが故障した場合に、または３つ以上の従属ディスクが故障した場合に、データを依然として使用できるように、ディスクのアレイ上にデータを格納するための効率的な技術を提供する。
【００１１】
本発明の利点は、ｎ個の物理ディスク分のデータを格納することができる少なくとも２ｎ＋１個の物理ディスクを備えるディスク・アレイによるものである。データは、少なくとも１つのデータ・ストライプ内の物理ディスク上に格納される。各データ・ストライプは、ストリップと呼ばれるｎ個のほぼ等しいサイズのグループに分割される。各データ・ストライプは、パリティ・ストリップが生成される時に１回だけ、各データ・ストリップを内蔵させることにより生成される対応するパリティ・ストリップを有する。各データ・ストライプ内のデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対する対応するパリティ・ストリップは、ディスク・アレイの２ｎ＋１個の物理ディスクにわたり分配される。この分配は、データ・ストライプの各データ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対する対応するパリティ・ストリップが、それぞれディスク・アレイの異なるディスク上に位置するように行われる。ディスク・アレイが少なくとも１つの予備物理ディスクを含む場合には、各データ・ストライプに対するデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップは、ディスク・アレイの２ｎ＋１個の物理ディスク、および予備ディスクにわたって分配される。分配は、各データ・ストライプ用のデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、それぞれディスク・アレイの異なる各ディスク上にそれぞれ位置するように行われる。
【００１２】
本発明のもう１つの実施形態は、ホスト・データ処理システムが、少なくとも１つのディスクを見ることができる複数のディスクを有するディスク・アレイ・システムを提供する。このディスク・アレイ・システムは、複数のディスクの読取り動作を２回だけ行い、複数のディスクへの書込み動作を３回だけ行うことにより、ホスト・データ処理システムからのホスト・データ書込み要求に応答する。本発明によれば、ディスク・アレイ・システムは、複数のディスクのうちの任意の２つのディスクが故障した場合でも、すべての格納しているデータを回復することができる。第１の他の実施形態の場合には、複数のディスクがデータ、データの全コピー、およびデータの少なくとも１つのサブセット上で計算したパリティ・データを格納する。第２の他の実施形態の場合には、パリティ・データが、ＲＡＩＤ５システム構成としてのアレイ内の複数のディスク間でほぼ均等に分配される。さらに第３の他の実施形態の場合には、複数のディスクのうちの少なくとも１つのディスクが予備ディスクであり、予備ディスクが供給する予備空間が、複数のディスク間でほぼ均等に分配される。
【００１３】
さらに第４の他の実施形態の場合には、複数のディスクが、各サブアレイを制御する制御装置により２つのサブアレイに分割される。それ故、２つのサブアレイは、同じ場所に位置することもできるし、相互に離れた別の場所に位置することもできる。１つのサブアレイは、好適には、ＲＡＩＤ５システム構成として配置されることが好ましく、一方、他のサブアレイは、ＲＡＩＤ０システム構成として配置される。ＲＡＩＤ０システム構成として配置されているサブアレイは、ＲＡＩＤ５システム構成として配置されているサブアレイ上に格納しているデータのミラー化したデータを格納するが、ＲＡＩＤ５システム構成として配置されているサブアレイ上に格納しているデータのパリティ・データは格納しない。ホスト・データ処理システムから受信した要求は、２つのサブアレイの各ディスクの仕事量のバランスを実質的にとるために、２つのサブアレイのうちのどちらかに選択的に送られる。
【００１４】
もう１つの別の実施形態の場合には、複数のディスクは、２つのサブアレイに分割され、複数のディスクのうちの少なくとも１つのディスクは予備ディスクである。各予備ディスクが供給する予備空間は、サブアレイ間および複数のディスク間でほぼ均等に分配される。ディスク・アレイ・システムが格納しているＲＡＩＤ５システム・パリティは、サブアレイ間および複数のディスク間でほぼ均等に分配される。１つのサブアレイは、他のサブアレイ上に格納しているデータのミラー化したデータを格納する。
【００１５】
他の態様によれば、本発明は、複数のディスクを備えるディスク・アレイ・システムを提供する。ホスト・データ処理システムは、少なくとも１つのディスクを見ることができ、ディスク・アレイ・システムは、複数のディスクの２回だけの読取り動作、複数のディスクへの３回だけの書込み動作を行うことにより、ホスト・データ処理システムからのホスト・データ書込み要求に応答し、ディスク・アレイ・システムは、複数のディスクのうちの任意の２つのディスクが故障した場合でも、格納しているすべてのデータを回復することができる。
【００１６】
好適には、本発明は、複数のディスクが、データ、データの全コピー、およびデータの少なくとも１つのサブセットについて計算したパリティ・データを格納するための手段を提供するディスク・アレイ・システムを提供する。
【００１７】
好適には、本発明は、パリティ・データが、ＲＡＩＤ５システム構成としてのアレイ内の複数のディスク間で、それ自身をほぼ均等に分配するための手段を提供するディスク・アレイ・システムを提供する。
【００１８】
好適には、本発明は、複数のディスクのうちの少なくとも１つのディスクのための手段が予備ディスクであり、各予備ディスクが供給する予備空間のための手段が複数のディスク間でほぼ均等に分配されるディスク・アレイ・システムを提供する。
【００１９】
好適には、本発明は、各予備ディスクが供給する予備空間のための手段が、ＲＡＩＤ５システム構成のパリティと類似の方法で複数のディスク間で分配されるディスク・アレイ・システムを提供する。
【００２０】
好適には、本発明は、複数のディスクが２つのサブアレイに分割され、ディスク・アレイ・システムのための手段が、さらに各サブアレイを制御する制御装置のための手段を備えるディスク・アレイ・システムを提供する。
【００２１】
好適には、本発明は、ディスク・アレイ・システムが、２つのサブアレイを相互に離して位置させるための手段を提供するディスク・アレイ・システムを提供する。
【００２２】
好適には、本発明は、１つのサブアレイのための手段がＲＡＩＤ５システム構成として配置されていて、他のサブアレイのための手段がＲＡＩＤ０システム構成として配置されていて、サブアレイ上に格納しているデータのミラー化したデータを格納するための手段、およびＲＡＩＤ５システム構成として配置されている手段、およびサブアレイ上に格納しているデータのパリティ・データを格納するためのものではない手段がＲＡＩＤ５システム構成として配置されているディスク・アレイ・システムを提供する。
【００２３】
好適には、本発明は、ホスト・データ処理システムから受信した要求に対する手段が、２つのサブアレイの各ディスクの仕事量のバランスを実質的にとるために、２つのサブアレイのうちのどちらかに選択的に送られるディスク・アレイ・システムを提供する。
【００２４】
好適には、本発明は、ＲＡＩＤ０システム構成として配置されているサブアレイが、ＲＡＩＤ５システム構成として配置されているサブアレイが内蔵するディスクとは異なるタイプのディスクを有するディスク・アレイ・システムを提供する。
【００２５】
好適には、本発明は、ＲＡＩＤ０システム構成として配置されているサブアレイのための手段が、ＲＡＩＤ５システム構成として配置されているサブアレイが内蔵するディスクの容量とは異なる容量のための手段を有するディスクのための手段を備えるディスク・アレイ・システムを提供する。
【００２６】
好適には、本発明は、ＲＡＩＤ０システム構成として配置されているサブアレイのための手段が、ＲＡＩＤ５システム構成として配置されているサブアレイが内蔵するディスクの全数とは異なるディスクの全数のための手段を備えるディスク・アレイ・システムを提供する。
【００２７】
好適には、本発明は、複数のディスクのうちの少なくとも１つのディスクのための手段が予備ディスクであり、予備ディスクは予備空間を供給し、１つのサブアレイのための手段がＲＡＩＤ５システム構成として配置され、ディスク・アレイ・システム上に格納しているデータのためのすべてのパリティ情報を含み、他のサブアレイのための手段が、ＲＡＩＤ０システム構成として配置するための手段を提供し、予備ディスクが供給するすべての予備空間を備え、サブアレイ上に格納しているデータのミラー化したデータを格納するための手段が、ＲＡＩＤ５システム構成として配置され、ＲＡＩＤ５システム構成として配置されているサブアレイ上に格納しているデータのパリティ・データを格納しないディスク・アレイ・システムを提供する。
【００２８】
好適には、本発明は、２つのサブアレイを相互に離して位置させるためのディスク・アレイ・システムを提供する。
【００２９】
好適には、本発明は、複数のディスクのうちの少なくとも１つのディスクのための手段が予備ディスクであり、各予備ディスクが予備空間を供給し、予備空間のための手段が、サブアレイ間および複数のディスク間でほぼ均等に分配するための手段を提供し、ディスク・アレイ・システムが格納しているＲＡＩＤ５システム・パリティが、サブアレイ間および複数のディスク間でほぼ均等に分配され、１つのサブアレイが、他のサブアレイ上に格納しているデータのミラー化したデータを格納するディスク・アレイ・システムを提供する。
【００３０】
好適には、本発明は、２つのサブアレイが相互に離れて位置するディスク・アレイ・システムを提供する。
【００３１】
本発明のもう１つの実施形態は、ｎ個の物理ディスク分のデータを格納することができる少なくとも２ｎ＋１個の物理ディスクを有するディスク・アレイ内にデータを格納するための方法を提供する。データは、各データ・ストライプが、ストリップと呼ばれるｎ個のほぼ等しいサイズのグループに分割されるように、少なくとも１つのデータ・ストライプ内の物理ディスク上に格納される。データ・ストライプの各データ・ストリップが、一度だけ対応する生成したパリティ・ストリップ内に収容されるように、パリティ・ストリップが各データ・ストライプに対して生成される。次に、各データ・ストライプ内のデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対する対応するパリティ・ストリップは、ディスク・アレイの２ｎ＋１個の物理ディスクにわたって分配される。この分配は、各データ・ストライプに対するデータ・ストリップ、このような各データ・ストリップのコピーおよび各データ・ストライプに対応するパリティ・ストリップが、それぞれディスク・アレイの異なるディスク上に位置するように行われる。
【００３２】
添付の図面を参照しながら、本発明のいくつかの実施形態について以下に説明するが、これは単に例示としてのものに過ぎない。
【発明を実施するための最良の形態】
【００３３】
本発明は、アレイの任意の２つのディスクが故障した場合に、または３つ以上の従属ディスクが故障した場合に、データを依然として使用できるように、ディスクのアレイ上にデータを格納するための技術を提供する。さらに、本発明は、任意の数のディスクに等しい記憶容量を有するディスク・アレイを提供し、ＸＯＲ動作だけを使用し、任意の２つのディスクが故障した場合でも使用するために必要なディスクの書込みの数において最適である。
【００３４】
任意の２つのディスクが故障した場合でも使用することができるディスク・アレイは、データの少なくとも３つの独立しているコピーを格納しなければならない。この点において、本発明は、データの元のコピー、追加の全コピー、およびデータのサブセットにわたって計算したパリティ・データからなる派生コピーを維持する。本発明が必要とする記憶容量は、非保護ディスク・アレイの記憶容量のちょうど２倍である。
【００３５】
図１は、本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステム１００である。システム１００は、全容量が３つのディスクに等しい７つのディスク０〜６全部を含む。ディスク０〜６は、第１のサブアレイ１０１および第２のサブアレイ１０２に構成されている。サブアレイ１０１は、４つのディスク、すなわち、ディスク０〜３のグループを含む。サブアレイ１０２は、３つのディスク、すなわち、ディスク４〜６のグループを含む。図１〜図６において、Ｄｉはデータ・ユニット（またはストリップ）ｉであり、Ｐｊは、行またはストライプｊのためのパリティである。サブアレイ１０２の３つのディスク上のデータのミラーリング、サブアレイ１０１内のパリティのためのスペースを供給するディスクの追加はデータを保護する。サブアレイ１０１は、ＲＡＩＤ５アレイ・システムとして構成され、一方、サブアレイ１０２は、ＲＡＩＤ０アレイ・システムとして構成される。
【００３６】
ホストの読取り動作中、データは、サブアレイ１０１またはサブアレイ１０２のどちらかから読み出すことができる。ホストの書込み動作中、第１のアレイ内のデータおよび対応するパリティのコピー両方を更新しなければならない。サブアレイ１０１内での書込み動作は、ＲＡＩＤ５システムの更新として進行する。このことは、短い書込みの間、データの古い値および対応する古いパリティを読み出さなければならないことを意味する。計算した新しいパリティ、および新しいデータおよび新しいパリティが書き込まれ、それにより２回のディスク読取り動作および２回のディスク書込み動作を必要とする。第２のアレイ内での書込みは、ＲＡＩＤ０システムの更新として行われる。このことは、データが単に書き込まれることを意味する。それ故、ホストの書込み動作中、２回のディスク読取り動作および３回のディスク書込み動作の全部が必要である。３回のディスク書込み動作を必要とすることは最適である。何故なら、任意の２つのディスクが故障しても使用できるようにするには、データの少なくとも３つのコピーが必要だからである。ホストの書込み動作は、サブアレイの一方または両方が更新された場合、終了したとのフラグを立てることができる。ＲＡＩＤ５１スキームとは対称的に、本発明は、ディスクの数が１つ少なくてすむ他に、各ホストの書込み要求に対する書込み動作が１回少なくてすむ。
【００３７】
ホストの書込み動作中、サブアレイ１０１は、古いパリティの読取り動作および新しいパリティおよび新しいデータの書込み動作を行わなければならない。２つのアレイ間で負荷のバランスをとるために、古いデータをサブアレイ１０２から読み出すことができる。それ故、サブアレイ１０１は、１回のホストの書込み動作当たり３つのＩ／Ｏを処理し、サブアレイ１０２は、１回のホストの書込み動作当たり２つのＩ／Ｏを処理する。さらに負荷のバランスをとるために、サブアレイ１０２によりもっと多くのホストの読取り動作を行わせることができる。例えば、ｒが仕事量内の読取り動作の一部であるとしよう。ｆがサブアレイ１０１により行わなければならない読取り動作の一部としよう。
【００３８】
外部からの各Ｉ／Ｏ要求に対して、
サブアレイ１０１で行ったディスク読取り動作の平均回数はｒｆであり、
サブアレイ１０１で行ったディスク書込み動作の平均回数は３（１−ｒ）であり、
サブアレイ１０２で行ったディスク読取り動作の平均回数はｒ（１−ｆ）であり、
サブアレイ１０２で行ったディスク書込み動作の平均回数は２（１−ｒ）である。
負荷のバランスをとるためには、下式を満足させなければならない。
ｒｆ＋３（１−ｒ）＝ｒ（１−ｆ）＋２（１−ｒ）
それ故、
ｆ＝１−(１／２ｒ)
となる。
【００３９】
すなわち、サブアレイ１０１に対し行わなければならない読取り動作の一部は１−(１／２ｒ)になる。サブアレイ１０１および１０２を横切る負荷も、サブアレイ１０２はサブアレイ１０１より１つ少ないディスクを有するという事実を考慮にいれて、類似の方法でバランスをとることができる。
【００４０】
システム１００は、サブアレイ１０２内に任意の数のディスク故障がある場合でもサブアレイ１０１内のディスク故障が１つだけの場合は、またはサブアレイ１０２内にディスク故障がない場合には、サブアレイ１０１内に任意の数のディスク故障がある場合でも使用することができる。すなわち、システム１００は、任意の２つのディスク故障、または同じサブアレイ内の複数のディスク故障によりデータが喪失するのを保護する。それ故、本発明が提供するデータ保護は、記憶システム内のディスクの故障率がある種の相関を示す傾向があり、アレイ内の故障率も相関を有する傾向があるという点で実際に起こる故障を解決する。
【００４１】
１つまたは複数のディスクが故障した場合には、ＲＡＩＤ１およびＲＡＩＤ５システム再構成の組合わせによりデータの回復が行われる。ＲＡＩＤ１再構成はもっと効率的なので、ＲＡＩＤ１システムの再構成はできるだけ多く使用される。例えば、サブアレイ１０１内の１つまたは複数のディスクが故障した場合には、サブアレイ１０２からデータ・ブロックが最初に回復され、次に、喪失したパリティが再度生成される。サブアレイ１０２内の任意の数のディスクが故障した場合には、故障ディスク上のデータが、サブアレイ１０１からのデータを単にコピーすることにより回復される。サブアレイ１０１内の１つのディスクおよびサブアレイ１０２内の何枚かのディスクが故障した場合、再構成サブアレイ１０１により回復プロセスがスタートする。データがサブアレイ１０２内の動作ドライブ上に位置している場合には、データはサブアレイ１０２からコピーされ、次に喪失パリティが再度生成される。そうでない場合には、データは、ＲＡＩＤ５システム再構成により回復される。いったんサブアレイ１０１が再構成されると、サブアレイ１０２は、サブアレイ１０１からデータを単にコピーすることにより修復される。
【００４２】
データ喪失の確率をさらに低減するために、故障が検出された場合、再構成システム１００がすぐに使用することができる予備スペースを供給するために、サブアレイ１０２にもう１つのディスクを追加することができ、それによりシステム１００が低化モード（disgraded mode）である時間間隔が最小限度まで低減する。サブアレイ１０２にもう１つのディスクを追加し、サブアレイ１０２内のすべてのディスクにわたって使用できる予備スペースを論理的に拡張することにより分散された予備を、例示としてのシステム１００と一緒に使用することができる。
【００４３】
図２は、本発明によるパリティ保護ミラー化アレイ技術および分散予備を使用する例示としてのシステム２００である。システム２００は、第１のサブアレイ２０１および第２のサブアレイ２０２を形成している全部で８つのディスク、ディスク０〜７を含む。サブアレイ２０１は、４つのディスク、すなわちディスク０〜３のグループを含む。サブアレイ２０２は、４つのディスク、すなわちディスク４〜７のグループを含む。ブロックは、図２に例示として示すように配置されている。図２中、Ｓｋはストライプｋのための予備スペースである。サブアレイ２０１または２０２内のディスクが故障した場合、回復したブロックは、サブアレイ２０２にわたって分散している予備位置に移動する。
【００４４】
図３は、図２のシステム２００のサブアレイ２０１内でディスク１が故障した場合の例示としての回復である。例えば、サブアレイ２０１内でディスク１が故障した場合には（ディスク１のブロックで示すように横線で消してある）、図３に示すように故障したブロックは回復され、サブアレイ２０２内に収容される。
【００４５】
サブアレイ２０２に分散された予備ディスクを追加した場合には、サブアレイ２０１および２０２は対称になるが、パリティがサブアレイ２０２に書き込まれないのだけが例外である。このように対称になるので、システムが簡単になり、パッケージングする際に実際上のいくつかの利点が生じる。さらに、２つのサブアレイ内の故障境界は整合している。それ故、サブアレイ２０１または２０２内の任意のディスクが故障すると、他方のサブアレイ内の１つのディスクだけが格納しているデータが影響を受ける。さらに、上記故障シナリオの他に、このようなシステムは、他方のサブアレイ内のそのミラー化した予備のデータが使用できる限りは、両方のサブアレイ内の任意のディスクが故障しても使用することができる。例えば、サブアレイ２０２内のディスク５およびディスク６が故障していて、サブアレイ２０１内のディスク０およびディスク３が故障していても使用することができる。
【００４６】
本発明は、２つのディスク・アレイ（および／またはサブアレイ）が異なる記憶システム内で物理的に異なっているディスク・アレイにも適用することができることは明らかである。それ故、本発明は、１つの第１のサブアレイがローカルサイトに位置していて、もう１つのサブアレイが遠隔災害復旧サイトに位置していて、２つのアレイが長距離ネットワークで接続している場合のように、サブアレイが地理的に離れているシステムにも適用することができる。さらに、２つのサブアレイ内のディスクは、異なるタイプおよび容量ものであってもよく、一方、２つのサブアレイが必ずそうでなくてもよいが、同数のディスクを有すると有利である。
【００４７】
２つのサブアレイの記憶装置として、物理ディスクにより本発明を説明してきたが、本発明の技術は光記憶装置およびＭＥＭＳ（微小電子機械システム）をベースとする記憶装置のような別の形の大容量記憶装置にも適用することができる。
【００４８】
上記の本発明のパリティ保護ミラー化アレイ技術を使用するシステムのいくつかの実施形態は、現在のＲＡＩＤ５およびＲＡＩＤ０アレイ・システムの使用をベースとしている。冒頭の本発明によるパリティ保護ミラー化アレイ技術を使用するシステムを設計するのに柔軟性があるなら、負荷のバランスを改善し、それにより性能を改善するために、すべてのディスクにわたってパリティを分散すると有利である。図４は、システムのすべてのディスクにわたってパリティが分散している本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステム４００を示す。システム４００は全部で７つのディスクを含む。パリティは７つすべてのディスクにわたって分散している。
【００４９】
図５は、システムのすべてのディスクにわたってパリティおよび予備が分散している本発明のパリティ保護ミラー化アレイ技術を使用する例示としてのシステム５００である。システム５００は全部で８つのディスクを含む。
【００５０】
整合している故障境界の原理を念頭に置いて、図６は、対称的であり、システムのすべてのディスクにわたってパリティおよび予備が分散している本発明のパリティ保護ミラー化アレイ技術を使用するもう１つの例示としてのシステム６００を示す。システム６００は、フォールト・トレランスの観点から見て上記利点を提供するが、整合された故障境界を有することにより、例示としてのシステム５００とは異なる特徴を有する。
【図面の簡単な説明】
【００５１】
【図１】本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステムである。
【図２】本発明によるパリティ保護ミラー化アレイ技術および分散された予備を使用する例示としてのシステムである。
【図３】図２の例示としてのシステムのサブアレイ内のディスク１に故障が生じた場合の例示としての回復である。
【図４】パリティがシステムのすべてのディスクにわたって分散している場合の、本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステムである。
【図５】パリティおよび予備がシステムのすべてのディスクにわたって分散している場合の、本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステムである。
【図６】対称的であり、パリティおよび予備がシステムのすべてのディスクにわたって分散している場合の、本発明によるパリティ保護ミラー化アレイ技術を使用する例示としてのシステムである。
【符号の説明】
【００５２】
１００，２００，４００，５００，６００  システム
１０１  第１のサブアレイ
１０２  第２のサブアレイ
２０１  第１のサブアレイ
２０２  第２のサブアレイ
Ｄｉ  データ・ユニット
Ｐｊ  パリティ
Ｓｋ  予備空間
【図１】
2006505035.tif 000003
【図２】
2006505035.tif 000004
【図３】
2006505035.tif 000005
【図４】
2006505035.tif 000006
【図５】
2006505035.tif 000007
【図６】
2006505035.tif 000008
【国際調査報告】
2006505035.tif 000009
2006505035.tif 000010
2006505035.tif 000011