(57)【要約】拡張可能であって信頼性が高く、電力効率に優れ大容量であるデータ記憶を提供するためのシステムおよび方法であって、密に詰め込まれた多数のデータドライブが、対応するメタデータボリュームおよびパリティボリュームを有し、かつそれぞれの使用に応じて独立にパワーオンおよびパワーオフされる。本発明は、独立して制御される多数のハードディスクドライブを使用するＲＡＩＤ型のデータ記憶システムに実装され、使用されているディスク・ドライブのみがパワーオンされる。電力消費の低減によって、ディスクドライブを従来可能であったよりも小さい筐体に収容することができる。好ましい実施の形態においては、データ保護の仕組みが、使用されないデータディスクドライブを停止させることができるよう、データディスクドライブ上の空間の大きな隣接ブロックを利用し、一度に１つのデータディスクドライブ上の空間を使用するように設計される。
2005539303.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ記憶ドライブ、および
該データ記憶ドライブのそれぞれに接続されたコントローラ
を備えており、
該コントローラが、前記データ記憶ドライブの第１の部分集合をパワーオンにし、かつ前記データ記憶ドライブの第２の部分集合をパワーオフにするように構成されており、該第１および第２の部分集合のそれぞれに、前記データ記憶ドライブが少なくとも１台含まれている
システム。
【請求項２】
前記複数のデータ記憶ドライブが、データ記憶ドライブからなる１つのＲＡＩＤセットからなる請求項１に記載のシステム。
【請求項３】
前記第１の部分集合が、第１のＲＡＩＤセットの少なくとも１つのデータ記憶ドライブからなり、前記第２の部分集合が、該第１のＲＡＩＤセットの少なくとも１つのデータ記憶ドライブからなる
請求項１に記載のシステム。
【請求項４】
前記複数のデータ記憶ドライブのそれぞれが、当該データ記憶ドライブをパワーオンまたはパワーオフすべく、該複数のデータ記憶ドライブの残りのドライブと独立して個々に制御可能である
請求項１に記載のシステム。
【請求項５】
前記データ記憶ドライブが、ハードディスク・ドライブからなる請求項１に記載のシステム。
【請求項６】
当該システムがＲＡＩＤシステムからなる請求項５に記載のシステム。
【請求項７】
当該システムが複数の棚を有しており、棚のそれぞれが、データ記憶ドライブからなる部分集合を複数有している請求項５に記載のシステム。
【請求項８】
当該システムが、データ記憶ドライブからなる１つ以上のＲＡＩＤセットを備えており、該データ記憶ドライブからなる１つ以上のＲＡＩＤセットのそれぞれが、少なくとも２つの棚からのデータ記憶ドライブで構成されている請求項７に記載のシステム。
【請求項９】
前記コントローラが、複数の棚コントローラへと接続されたラック・コントローラからなり、棚コントローラのそれぞれが、対応する棚のデータ記憶ドライブの集合を制御するよう構成されている請求項７に記載のシステム。
【請求項１０】
前記データ記憶ドライブが、１つの物理的な筐体内に収容されている請求項７に記載のシステム。
【請求項１１】
前記データ記憶ドライブが、光学式ディスク・ドライブからなる請求項１に記載のシステム。
【請求項１２】
１つ以上のパリティ・ドライブをさらに備え、該パリティ・ドライブのそれぞれが、前記複数のデータ記憶ドライブからなる対応するＲＡＩＤセットに関係付けられている請求項１に記載のシステム。
【請求項１３】
当該システムが、当該ＲＡＩＤセットについてのパリティ情報を、古いパリティ値を当該ＲＡＩＤセットのデータ記憶ドライブの１つにただ今書き込まれた値でＸＯＲすることによって計算して、現在のパリティ値を生成し、該現在のパリティ値を前記パリティ・ドライブに記憶するよう構成されている請求項１２に記載のシステム。
【請求項１４】
１つ以上のパリティ・ドライブが常にパワーオンにされている請求項１２に記載のシステム。
【請求項１５】
１つ以上のメタデータ・ドライブをさらに備え、該メタデータ・ドライブのそれぞれが、前記複数のデータ記憶ドライブからなる対応するグループに関係付けられている請求項１に記載のシステム。
【請求項１６】
当該システムが、メタデータ情報を前記メタデータ・ドライブに保存するよう構成されており、該メタデータが、当該システムの論理アドレスをデータ記憶ドライブからなる前記対応するグループの物理アドレスへと対応付ける写像を含んでいる請求項１５に記載のシステム。
【請求項１７】
当該システムが、メタデータ情報を前記メタデータ・ドライブに保存するよう構成されており、該メタデータが、データ記憶ドライブからなる前記対応するグループについての健康情報を含んでいる請求項１５に記載のシステム。
【請求項１８】
当該システムが、メタデータ情報を前記メタデータ・ドライブに保存するよう構成されており、該メタデータが、データ記憶ドライブからなる前記対応するグループのそれぞれの一部を複製したデータを含んでいる請求項１５に記載のシステム。
【請求項１９】
１つ以上のメタデータ・ドライブが常にパワーオンにされている請求項１５に記載のシステム。
【請求項２０】
前記第１の部分集合が、前記複数のデータ記憶ドライブの所定の割合以下からなる請求項１に記載のシステム。
【請求項２１】
前記所定の割合が、個々のデータ記憶ドライブの故障率、要求される最小の保守間隔、および当該システムのデータ記憶ドライブの総数の関数である請求項１に記載のシステム。
【請求項２２】
前記所定の割合が、ｆ／｛１−（１−１／Ｔ）＊＊１／Ｎ｝に等しく、ここで、ｆは個々のデータ記憶ドライブの平均故障間隔であり、Ｔは要求される最小の保守間隔であり、Ｎは当該システムのデータ記憶ドライブの総数である請求項２１に記載のシステム。
【請求項２３】
複数のデータ記憶ドライブを有するデータ記憶システムを用意すること、
前記データ記憶ドライブのパワーオンされている第１の部分集合に対するアクセスを含んでいるデータ・アクセスを、前記データ記憶システムに対して実行すること、および
前記データ記憶ドライブの第２の部分集合を停止させること
を含んでおり、
前記データ・アクセスが、前記データ記憶ドライブの前記第２の部分集合へのアクセスを含んでいない
方法。
【請求項２４】
前記複数のデータ記憶ドライブが、データ記憶ドライブからなる１つのＲＡＩＤセットからなる請求項２３に記載の方法。
【請求項２５】
前記第１の部分集合が、第１のＲＡＩＤセットの少なくとも１つのデータ記憶ドライブからなり、前記第２の部分集合が、該第１のＲＡＩＤセットの少なくとも１つのデータ記憶ドライブからなる
請求項２３に記載の方法。
【請求項２６】
前記複数のデータ記憶ドライブのそれぞれが、当該データ記憶ドライブをパワーオンまたはパワーオフすべく、該複数のデータ記憶ドライブの残りのドライブと独立して個々に制御される
請求項２３に記載の方法。
【請求項２７】
前記データ記憶システムに対するデータ・アクセスの実行が、
第１のデータ記憶ドライブおよび第２のデータ記憶ドライブにまたがる記憶ブロックへとアクセスすることを含んでおり、
該第１のデータ記憶ドライブへとアクセスが行なわれるとき、該第１のデータ記憶ドライブがパワーオンであって、前記第２のデータ記憶ドライブがパワーオフであり、該第２のデータ記憶ドライブへとアクセスが行なわれるとき、該第２のデータ記憶ドライブがパワーオンであって、前記第１のデータ記憶ドライブがパワーオフである
請求項２３に記載の方法。
【請求項２８】
前記データ・アクセスが書き込みからなる場合に、前記第２のデータ記憶ドライブへのデータを、該第２のデータ記憶ドライブがパワーオフ状態からパワーオン状態へと移行するあいだキャッシュしておくこと
をさらに含んでいる請求項２７に記載の方法。
【請求項２９】
前記データ・アクセスが読み出しからなる場合に、前記第２のデータ記憶ドライブに対応するデータを、該第２のデータ記憶ドライブがパワーオフ状態からパワーオン状態へと移行するあいだメタデータ・ボリュームから取り出すこと
をさらに含んでいる請求項２７に記載の方法。
【請求項３０】
前記データ記憶システムに対するデータ・アクセスの実行が、１つ以上のデータ記憶ドライブおよび対応するパリティ・ドライブへのアクセスを含んでいる請求項２３に記載の方法。
【請求項３１】
ＲＡＩＤセットについてのパリティ情報を、古いパリティ値を当該ＲＡＩＤセットのデータ記憶ドライブの１つにただ今書き込まれた値でＸＯＲすることによって計算して、現在のパリティ値を生成すること、および該現在のパリティ値を前記パリティ・ドライブに記憶することをさらに含んでいる請求項３０に記載の方法。
【請求項３２】
前記データ記憶システムに対するデータ・アクセスの実行が、１つ以上のデータ記憶ドライブおよび対応するメタデータ・ドライブへのアクセスを含んでいる請求項２３に記載の方法。
【請求項３３】
前記メタデータ・ドライブへのアクセスが、該メタデータ・ドライブへのメタデータ情報の記憶を含んでおり、該メタデータが、データ記憶ドライブからなる前記対応するグループについての健康情報を含んでいる請求項３２に記載の方法。
【請求項３４】
前記メタデータ・ドライブへのアクセスが、該メタデータ・ドライブへのメタデータ情報の記憶を含んでおり、該メタデータが、データ記憶ドライブからなる前記対応するグループのそれぞれの一部を複製したデータを含んでいる請求項３２に記載の方法。
【請求項３５】
前記メタデータ・ドライブに保存した情報にもとづいて、１つ以上のデータ記憶ドライブのデータをリフレッシュすることをさらに含んでいる請求項３２に記載の方法。
【請求項３６】
前記第１の部分集合が、前記複数のデータ記憶ドライブの所定の割合以下からなる請求項２３に記載の方法。
【請求項３７】
前記所定の割合が、個々のデータ記憶ドライブの故障率、要求される最小の保守間隔、および当該システムのデータ記憶ドライブの総数の関数である請求項３６に記載の方法。
【請求項３８】
前記所定の割合が、ｆ／｛１−（１−１／Ｔ）＊＊１／Ｎ｝に等しく、ここで、ｆは個々のデータ記憶ドライブの平均故障間隔であり、Ｔは要求される最小の保守間隔であり、Ｎは当該システムのデータ記憶ドライブの総数である請求項３７に記載の方法。
【請求項３９】
前記第２の部分集合に属する１つ以上のデータ記憶ドライブを交換することをさらに含んでいる請求項２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、広くはデータ記憶システムに関し、より詳しくは、拡張性があり、信頼性が高く、電力効率が高く、容量の大きいデータ記憶システムに関する。
【背景技術】
【０００２】
背景技術
大量のデータの記憶のニーズが、大規模かつ大容量の記憶システムの構築の必要性を後押ししている。拡張可能なシステムを構築するための１つの選択肢は、複数の記憶システムをストレージ・エリア・ネットワーク（ＳＡＮ）などのネットワークを介して接続して、中央で管理することである。しかしながら、第１に、個々のシステムの総記憶容量の増加が、結局はＳＡＮを介した総計の記憶容量に乗数効果をもたらすこと、および第２に、多くの用途において、大容量の記憶を管理するただ１つの装置を設けることが、試験、統合化および配備において常に費用対効果が優れているという２つの理由から、単一のシステムにおける固有の容量の増大が、依然として強く望まれている。
【０００３】
伝統的に、テープ駆動装置、自動テープ・ライブラリ、または他のリムーバブル・メディアによる記憶装置が、単一のシステムに大容量の記憶をもたらすために使用されてきた。これは、大部分は、これらの種類のシステムのコストおよび占有面積がディスク・ドライブなどのメディアと比べて小さいためである。しかしながら、ディスク技術における近年の進歩は、設計者に、ディスク・ドライブを使用する大規模記憶システムの設計の再考慮を促した。これには、２つの主たる理由が存在する。第１は、より容量の大きいディスク・ドライブが効果的に低いコストで入手できるようになったため、単位記憶容量当たりのディスクとテープとの間のコストの差が、急速に縮小したという点である。第２に、アクセス時間およびスループットに関し、ディスク・システムの性能がテープ・システムよりもはるかに優れているという点である。
【０００４】
ディスク・ドライブのコストの低下ならびに優れたスループットおよびアクセス時間にもかかわらず、いくつかのテープ駆動装置は、ただ１つの自動ライブラリで多数（例えば１０個またはそれ以上）の取り外し式カートリッジをサポートすることができるという利点を有している。ただ１つのテープ駆動装置が、複数のテープ巻にアクセスすることができるため、等価な記憶容量を複数のディスク・ドライブ上に構成すると、たとえ設置面積を同等にできたとしても、等価なテープ駆動装置システムよりも多くの（例えば、１０倍以上の）電力を消費する。さらに、動力付きのドライブをテープ・システムにおける不動のカートリッジの数と同数備えるディスク基盤の記憶システムは、ディスク記憶システムにおける故障の可能性が高くなる。したがって、単一で大容量であるディスクにもとづく記憶システムを、第三紀のテープ記憶システムと同じ費用対効果で、しかしながら高い信頼性とより高い性能を備えて提供することが望まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＲＡＩＤおよびデータ保護の仕組みの問題点
大きな記憶システムを構築するための最有力なアプローチは、安価な（個々の）ディスクの冗長アレイ（ＲＡＩＤ）を使用することである。ＲＡＩＤシステムは、例えば、Ｄａｖｉｄ  Ａ．Ｐａｔｔｅｒｓｏｎ、Ｇ．Ｇｉｂｓｏｎ、およびＲａｎｄｙ  Ｈ．Ｋａｔｚの「Ａ  Ｃａｓｅ  ｆｏｒ  Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｄａｔａ（ＳＩＧＭＯＤ）、１０９〜１１６頁、１９８８年６月に説明されている。ＲＡＩＤの主たる目標は、データの保護、および故障とくにはディスクの故障の場合に、データへのアクセス障害の許容をもたらすことにある。第２の利益は、データを複数のディスク・ドライブに分散させて並列動作を実行させることにより、ただ１つの転送命令で複数のドライブを動作させることができるようにして、Ｉ／Ｏ性能を向上させることにある。
【０００６】
６つのＲＡＩＤの「レベル」すなわち標準構成が広く知られており、従来からのＲＡＩＤ記憶システムにおいて一般的に使用されている。一種の冗長性をもたらす最も簡単なアレイであるＲＡＩＤレベル１のシステムは、データを記憶するための１つ以上のディスクと、これらデータ・ディスクに書き込まれた情報のコピーを記憶するための同数の追加のミラー・ディスクとからなる。ＲＡＩＤレベル２〜６のシステムとして特定される残りのＲＡＩＤレベルは、いくつかのデータ・ディスクにまたがって記憶するため、データをいくつかの部位に分割する。１つ以上の追加のディスクが、エラー・チェックまたはパリティ情報を記憶するために利用される。
【０００７】
ＲＡＩＤ記憶サブシステムは、通常は、ユーザまたはホスト・システムを冗長アレイの管理の詳細から遮蔽する制御モジュールを利用する。コントローラが、サブシステムを、ＲＡＩＤコントローラによってデータを多数の小さいドライブにまたがって分配しているにもかかわらず、ホスト・コンピュータにとってただ１つの高信頼度、大容量ディスク・ドライブのように見えるようにしている。ＲＡＩＤサブシステムは、サブシステムの性能をさらに向上させるため、大型のキャッシュ・メモリ構造を提供することが多い。ホスト・システムは、単純に読み出しすべきデータまたは書き込みすべきデータのブロックを要求し、ＲＡＩＤコントローラが、要求されたとおりにディスク・アレイおよびキャッシュ・メモリを操作する。
【０００８】
種々のＲＡＩＤレベルは、それらの相対的な性能能力ならびにオーバヘッド記憶容量の要件によって区別される。例えば、ＲＡＩＤレベル１の「ミラー」記憶システムは、必要な冗長性をもたらすためにＸＯＲパリティを利用するＲＡＩＤレベル２〜５よりも、多くのオーバヘッド記憶容量を必要とする。ＲＡＩＤレベル１が、すべてのデータを複製するがために１００％のオーバヘッドを必要とする一方で、ＲＡＩＤレベル５は、ＲＡＩＤセットにおいて使用されるデータ・ディスク・ドライブの数をＮとすると、データを記憶するために使用される記憶容量の１／Ｎしか必要としない。
【０００９】
従来の電力消費の問題
データ・センターのコンピュータ関連リソースのパワー・サイクリングにおいて、いくつかの努力が近年行なわれている。これは、エネルギーのコストおよび信頼性など、さまざまに異なる理由で行なわれている。例えば、データ記憶システムを、きわめて多数のディスク・ドライブを組み込むべく拡張することができる。システム内のディスク・ドライブの数が多くなるにつれ、システムを動作させるために必要なエネルギーの量が増大することは明白である。これに比べるとやや目につきにくいかもしれないが、システム内のディスク・ドライブの発する熱が増加することによって、システムの信頼性も低下する傾向にある。従来技術のシステムは、この問題を解決すべくさまざまなアプローチを使用しているが、それらは通常、以下の例によって示されるとおり、システムのすべてのドライブを日和見的に停止させている。
【００１０】
データ・センターにおけるエネルギーのコストを低減するため、或るアプローチは、要求負荷を現在の総計の負荷レベルに対する最小のサーバの活動セットへと集中させることによって、エネルギーを意識したサービスの提供をおこなっている（Ｊｅｆｆｒｅｙ  Ｓ．Ｃｈａｓｅ、Ｄａｒｒｅｌｌ  Ｃ．Ａｎｄｅｒｓｏｎ、Ｐａｒｃｈｉ  Ｎ．Ｔｈａｋａｒ、Ａｍｉｎ  Ｍ．Ｖａｈｄａｔ、およびＲｏｎａｌｄ  Ｐ．Ｄｏｙｌｅ、Ｍａｎａｇｉｎｇ  ｅｎｅｒｇｙ  ａｎｄ  ｓｅｒｖｅｒ  ｒｅｓｏｕｒｃｅｓ  ｉｎ  ｈｏｓｔｉｎｇ  ｃｅｎｔｅｒｓ、Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １８ｔｈ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ  Ｐｒｉｎｃｉｐｌｅｓ、１０３〜１１６頁、２００１年１０月を参照されたい）。活動中のサーバは、常に設定された利用しきい値の付近で運転され、一方、余分なサーバは低電力の休止状態へと移行して、負荷の軽い期間において余剰の能力を維持するためのエネルギーのコストを低減する。焦点は、パワー・サイクリング・サーバにあって、記憶装置にはない。Ｃｈａｓｅらは、パワー・サイクリングによってディスクの寿命が短くなるかもしれないが、現在のディスクが有する回転／停止の上限を超えることはないだろうと述べている。
【００１１】
もう１つのアプローチは、休止ディスクの巨大アレイすなわちＭＡＩＤと呼ばれる大容量記憶システムを使用している（Ｄｅｎｎｉｓ  Ｃｏｌａｒｅｌｌｉ、Ｄｉｒｋ  ＧｒｕｎｗａｌｄおよびＭｉｃｈａｅｌ  Ｎｅｕｆｅｌｄ、Ｔｈｅ  Ｃａｓｅ  ｆｏｒ  Ｍａｓｓｉｖｅ  Ａｒｒａｙｓ  ｏｆ  Ｉｄｌｅ  Ｄｉｓｋｓ（ＭＡＩＤ）、Ｕｓｅｎｉｘ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｆｉｌｅ  ａｎｄ  Ｓｔｏｒａｇｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ（ＦＡＳＴ）、２００２年１月、Ｍｏｎｔｅｒｅｙ  ＣＡを参照されたい）。このアプローチにおいては、ブロック・レベル記憶システムが、ドライブのアレイ全体へのアクセスを可能にするフロントエンド・キャッシュおよびコントローラを使用する。全アレイを、ＩＤＥまたはＡＴＡドライブの寿命を延ばすために日和見的にパワーオフすることができる。パワーオフのスケジュールは、最近最も使われていない（ｌｅａｓｔ‐ｒｅｃｅｎｔｒｙ‐ｕｓｅｄ）または最も使われないと思われるモデルなど、ヒューリスティック・モデルにもとづいており、すなわち、ドライブのアレイが、当該アレイのドライブのいずれについてもデータ・アクセスが予想されないときにオフにされる。他のアプローチは、やはりＡＴＡドライブが前記ＬＲＵポリシーと類似のアルゴリズムによって（ＭＡＩＤの場合のように）パワーオフされるアーカイブ記憶システムを使用している（Ｋａｉ  ＬｉおよびＨｏｗａｒｄ  Ｌｅｅ、Ａｒｃｈｉｖａｌ  ｄａｔａ  ｓｔｏｒａｇｅ  ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ、米国特許出願公開第２００２／０１４４０５７号明細書、２００２年１０月３日付を参照されたい）。いくつかのシステムにおいては、ドライブのアレイがＲＡＩＤセットを構成する。これらのシステムにおいて、ＲＡＩＤセット全体が、日和見的にパワーオンまたはパワーオフされる（例えば、Ｆｉｒｅｆｌｙ  Ｄｉｇｉｔａｌ  Ｖｉｒｔｕａｌ  Ｌｉｂｒａｒｙ、ｈｔｔｐ：／／ｗｗｗ．ａｓａｃａ．ｃｏｍ／ＤＶＬ／ＤＭ＿２００．ｈｔｍを参照されたい）。これらのシステムは、長時間非活動の状態にあるＲＡＩＤセットを停止でき、あるいはＩ／Ｏ要求が係属しているＲＡＩＤセットをパワーオンできる。
【００１２】
きわめて多数のドライブを備えるシステム
現在のデータ記憶環境に存在する挑戦の１つは、大規模記憶能力を提供すべく何百ものドライブを取り扱うことができる記憶コントローラを、性能および信頼性を維持しつつ構築することである。この挑戦は、システムの信頼性、ドライブの制御のための相互接続および切替えの仕組み、ディスクＩ／Ｏに関する性能、およびシステムのコストといったシステム設計のいくつかの異なる側面を包含している。これらの側面のそれぞれについて、以下に簡潔に触れる。
【００１３】
システムの信頼性
システムにおいて動作するドライブの数が増加すると、とくに多数のドライブが同時にデータをシークする場合に、ドライブの故障の可能性がドライブの数とほぼ線形に増加し、システム全体の信頼性を低下させる。例えば、典型的なディスク・ドライブを、平均故障時間（ＭＴＴＦ）が５００，０００時間であると特徴付けることができるとすると、このドライブを１０００台備えるシステムは、５００．５時間、すなわち２１日で、最初のディスク故障に見舞われると予想される。
【００１４】
ドライブの制御のための相互接続および切替えの仕組み
ドライブの数が増えるとともに、データの移動およびコントローラとすべてのドライブとの間のコマンドの制御の両者のために、効果的な相互接続の仕組みが必要になる。ここで言うドライブの制御とは、Ｉ／Ｏ操作のためのドライブへのアクセスの制御、および、例えばＲＡＩＤパリティの仕組みを使用することによるデータ保護の提供の両者を指すものとする。相互接続の機構に関しては、相互接続のコスト、およびコントローラからドライブへの扇状展開に関連する複雑さという２つの挑戦が生じることが明らかである。
【００１５】
ディスクＩ／Ｏの性能
コントローラが、すべてのドライブからデータを読み出し、すべてのドライブへとデータを書き込むため、コントローラとドライブとの間に必要とされる帯域幅が、活動しているドライブの数に比例する。さらに、ＲＡＩＤセット内のドライブの数とともに、複雑性、処理ロジックの範囲、およびパリティ計算の遅延が大きくなるため、きわめて大きなセットにまたがってＲＡＩＤを行なうには、困難が存在する。
【００１６】
コスト
以上の設計上の課題はすべて、ディスク・システム全体のコストを低コストであることが通常である第三紀のテープ記憶装置と競争できるように保ちつつ、解決されなければならない。
【課題を解決するための手段】
【００１７】
発明の開示
以上概括した課題の１つ以上は、本発明の種々の実施の形態によって解決することができる。大まかに言えば、本発明は、拡張可能であって信頼性が高く、電力効率に優れ大容量であるデータ記憶を提供するためのシステムおよび方法であって、密に詰め込まれた多数のデータ・ドライブが、対応するメタデータ・ボリュームおよびパリティ・ボリュームを有しており、かつ使用要求に応じて独立にパワーオンおよびパワーオフされるシステムおよび方法からなる。
【００１８】
一実施の形態において、本発明は、ＲＡＩＤ型のデータ記憶システムに実装される。このシステムは、独立して制御される多数のハードディスク・ドライブを使用し、この実施の形態においては、利用されているディスク・ドライブのみがパワーオンされる。したがって、このシステムは、システムのすべてのディスク・ドライブをパワーオンしなければならない場合に消費する電力の一部分しか使用しない。好ましい実施の形態においては、データ保護の仕組みが、使用しないデータ・ディスク・ドライブを停止させることができるよう、データ・ディスク・ドライブ上の空間の大きな隣接ブロックを利用し、一度に１つのデータ・ディスク・ドライブ上の空間を使用するように設計される。
【００１９】
本発明の一実施の形態は、複数のデータ記憶ドライブを有するデータ記憶システムを用意する工程、前記データ記憶ドライブのパワーオンされている第１の部分集合に対するアクセスを含んでいるデータ・アクセスを、前記データ記憶システムに対して実行する工程、および、前記データ記憶ドライブの第２の部分集合を停止させることを含んでいる方法であって、前記データ・アクセスが、前記データ記憶ドライブの前記第２の部分集合へのアクセスを含んでいない方法からなる。
【００２０】
数多くの他の実施の形態も可能である。
【発明を実施するための最良の形態】
【００２１】
本発明の１つ以上の実施の形態を、以下に説明する。これらの実施の形態、および以下で説明する他のすべての実施の形態は、あくまで例示であり、本発明を説明しようとするものであって、本発明を限定しようとするものではないことに注意すべきである。
【００２２】
ここに説明するとおり、本発明の種々の実施の形態は、拡張可能であって信頼性が高く、電力効率に優れ大容量であるデータ記憶を提供するためのシステムおよび方法からなり、密に詰め込まれた多数のデータ・ドライブが、対応するデータ記憶ドライブを含むとともに、使用要求に応じて独立にパワーオンおよびパワーオフされる。
【００２３】
一実施の形態において、本発明は、ＲＡＩＤ型のデータ記憶システムとして実施される。このシステムは、多数のハードディスク・ドライブを使用する。システムにデータが書き込まれるとき、当該データは、１つ以上のディスク・ドライブに書き込まれる。データに対応するメタデータおよびパリティ情報も、データの喪失または不正の可能性を少なくするため、１つ以上のディスク・ドライブに書き込まれる。データをディスクへと書き込むやり方には、通常、メタデータ・ディスクおよびパリティ・ディスクのほか、一度にただ１つのデータ・ディスクが関与する。同様に、データの読み出しにも、一度にただ１つのデータ・ディスクのみが関与する。したがって、現在アクセスされていないデータ・ディスクを、停止させることができる。すなわち、システムは、アクセスされていないディスクの部分集合を停止させつつ、現在アクセスされているディスクの部分集合をパワーオンできるよう、各ディスクへの電力を独立に制御するように構成されている。
【００２４】
所与のいずれの時点においても、システムのディスク・ドライブの一部のみがパワーオンしているため、システムの電力消費は、同時にすべてのディスク・ドライブをパワーオンしなければならない同等の従来のシステム（すなわち、同等のディスク・ドライブをほぼ同じ数だけ備えているシステム）と比べて、少なくなる。システムの電力消費が小さくなった結果として、従来のシステムよりも熱の発生が少なくなり、冷却の必要性が小さくなる。したがって、本発明のシステムを、同等の従来のシステムよりも小さい筐体に組み込むことができる。本発明のシステムと従来のシステムとの他の相違は、従来のシステムが、システムの使用するデータ保護の仕組み（例えば、ＲＡＩＤレベル３）に従ってデータを適切なデータ・ディスクへと経路付けするため、スイッチを必要とする点にある。一方、本発明のシステムでは、所与のあらゆる時点においてディスク・ドライブの多くが停止しているため、データを単純な扇状展開の相互接続によって分配することができ、従来のシステムにおいて使用されているスイッチに比べ、電力をより消費せず、システムの筐体内において占める体積も少ない。本発明のシステムと従来のシステムとのさらに他の相違は、個々のディスク・ドライブの或る特有の信頼性（例えば、平均故障時間、すなわちＭＴＴＦ）が与えられたとき、本質的にシステム内のディスク・ドライブの数および個々のディスク・ドライブの信頼性によって制約される従来のシステムと対照的に、本発明のシステムを特定の信頼性水準（例えば、平均故障間隔ＭＴＢＦのしきい値）を満足するように設計することができる点にある。
【００２５】
本発明の種々の実施の形態は、前記した電力管理、データ保護、物理的な組み込み、および記憶データ処理性能という４つの領域において、従来技術（例えば、ＲＡＩＤシステム）に対する利点をもたらすことができる。それらの利点を、種々の効果の領域に関して以下に説明する。
【００２６】
電力管理
電力管理に関し、本発明の実施の形態は、電力消費を低減するだけではなく、ドライブの最適なパワー・サイクリングによってシステムの信頼性も向上させる。換言すれば、あらゆる時点において、ドライブ総数のうちの部分集合のみがパワーオンされる。従って、システム全体の信頼性を、或る受け入れ可能なしきい値を上回るように設計できる。
【００２７】
ドライブを個々にパワー・サイクリングすることは、本発明の実施の形態を従来技術から区別する１つの特徴である。前述のとおり、多数のドライブを備える従来技術のシステムは、システムの動作中にエネルギーを節約するため、個々のドライブあるいはドライブの部分集合を決定論的なやり方でパワーオフすることはできない。代わりに、従来技術は、システム全体を日和見的にパワーオフすることを教示している。換言すれば、システムがまったく使用されないと予想される場合に、システム全体を停止させることができる。当然ながら、システムがパワーオフとなっている期間の間は、このシステムを利用することはできない。本発明の実施の形態は、システム中の他のドライブをパワーオンにしたまま個々のドライブをパワーオフすることによって、電力効率に優れたデータ記憶システムを提供することができ、この特徴によってドライブを密に組み込んで使用することが可能になり、同じ占有面積の従来のシステムに比べ高いドライブ密度を達成できる。
【００２８】
データ保護
データ保護に関しては、故障したディスクの交換を重大な中断を伴うことなく可能にしつつ、記憶システムのオーバヘッドにおける効率を確保したデータ保護の仕組みを提供することが望まれる。この仕組みは、あらゆる時点において、パワーオンされているドライブの正しい部分集合によってＲＡＩＤの仕組みが機能できなければならないため、ドライブのパワー・サイクリングに関して最適化されなければならない。したがって、読み出しまたは書き込みの操作はすべて、ドライブの固定の集合がパワーオンである場合でも、予想の時間内に完了しなければならない。本発明の実施の形態は、大部分またはすべてのデータ・ディスクを同時には使用しないデータ保護の仕組みを使用するため、パワーオフされているドライブを、動作の重大な中断を伴うことなく容易に交換することができる。
【００２９】
物理的な組み込み
システムの物理的な組み込みに関し、多くの記憶装置は、特有の体積の制約に適合しなければならない。例えば、規格品のラックに対応した寸法および重量の限界が存在し、多くの顧客は、これらの限界内に入るシステムを使用しなければならないであろう。本発明の実施の形態は、ドライブの高密度の組み込みおよび相互接続を使用し、ドライブの物理的構成を最適化し、これらの制約内において可能な最大の数のドライブを実現する。
【００３０】
記憶データ処理性能
記憶データ処理性能に関しては、ドライブのパワー・サイクリングゆえ、いずれの時点においても限定数のドライブがパワーオンしていることになる。これは、２つの領域で性能に影響する。第１に、全体のＩ／Ｏが、パワーオンされているドライブの数に縛られる。第２に、停止しているドライブ内のブロックに対するランダム読み出しの操作に、回転立ち上げ時間というきわめて大きいペナルティが課される。本発明の実施の形態は、多数の独立したドライブを使用するため、それがドライブの総数のごく一部だとしても依然多数のドライブがパワーオンであり、全体としてのＩ／Ｏを仕様の範囲内とすることができる。回転立ち上げのための遅延については、データ・アクセスの仕組みが、この遅延を隠し、ホスト・システムは、この遅延に気づかず、性能の低下を感じない。
【００３１】
図１を参照すると、本発明の一実施の形態による複数ディスク・データ記憶システムの一般的構造を示した図が示されている。図１に示したシステムがきわめて簡略化した構造であって、本発明の一実施の形態の或る１つの側面（パワー・サイクリング）を説明することだけを目的としたものであることに注意すべきである。好ましい実施の形態についてのさらに詳細な説明は、図２および以下の関連する文章に示されている。
【００３２】
図１に描かれているとおり、データ記憶システム１０は、複数のディスク・ドライブ２０を備えている。この明細書における開示の目的のため、図中における同じ品物を、例えば２０ａ、２０ｂ、・・・などと、小文字を続けた同じ参照番号を使用して指し示すことがある。本明細書では、参照番号だけで、それらの品物をまとめて指し示すことがある。ディスク・ドライブ２０のそれぞれが、相互接続４０を介してコントローラ３０に接続されている。
【００３３】
ディスク・ドライブ２０が、２つの部分集合５０および６０にグループ化されていることを、図１に見て取ることができる。部分集合５０と部分集合６０は、一方の部分集合（例えば、５０）のディスク・ドライブがパワーオンされており、他方の部分集合（例えば、６０）のディスク・ドライブが停止している点で、相違している。システムの個々のディスク・ドライブは、必要なときにのみパワーオンされる（すなわち、稼動する）。必要でない場合、それらはパワーオフされる（停止する）。したがって、各部分集合を構成する特定のディスク・ドライブは、１つ以上のユーザによるデータ・アクセス（読み出し、および書き込み）を可能にするため必要に応じて変化する。これは、前述のとおり従来のデータ記憶（例えば、ＲＡＩＤ）システムがディスク・ドライブの組の全体のパワー・サイクリングのみを提供しており、システムの個々のディスク・ドライブを必要に応じて稼動または停止させることができるようにしてはいないことから、相違点である。
【００３４】
すでに述べたとおり、図１によって示されているシステムは、ここでは、単に本発明の一態様におけるパワー・サイクリングの側面を紹介するためだけに使用されている。この実施の形態および本明細書にて説明する他の実施の形態は、あくまで例であり、これら実施の形態について多数の変形が可能である。例えば、図１の実施の形態は複数のディスク・ドライブを使用しているが、半導体メモリや光学式ドライブ、あるいはその他など、他の形式のデータ記憶装置も使用可能である。各種メディアのドライブを混ぜて使用することも、実際にはあまりないと考えられるが、可能ではある。したがって、ここでのディスク・ドライブまたはデータ記憶・ドライブへの言及は、あらゆる種類のデータ記憶装置を包含するよう広く解釈すべきである。同様に、図１の実施の形態は、２つのディスク・ドライブ部分集合を有していて、その１つがパワーオンであり、１つがパワーオフであるが、この他のパワー状態も可能である。例えば、ディスク・ドライブがとり得る種々の追加の動作状態（例えば、スタンバイ）があり、それぞれの状態が固有の電力消費特性を有している。
【００３５】
システムのディスク・ドライブの部分集合の１つのみに電力を供給することにより、すべてのドライブに同時に電力を供給するシステムと同じ占有面積で、より多数のドライブを使用することが可能になる。したがって、本発明の一実施の形態は、ディスク・ドライブの高密度の組み込みおよび相互接続を提供する。このシステムは、複数の棚を有するラックからなり、棚のそれぞれが、ディスク・ドライブの複数の列すなわち「スティック」を収容している。このシステムの構造が、図２に示されている。
【００３６】
図２を参照すると、システム・コントローラ１２０と棚１１０との間の最上位レベルの相互接続が、図の左側に示されている。ディスク・ドライブ１６０からなる各スティック１５０への棚レベルの相互接続が、図の右側に示されている。図の左側に示されているとおり、システムが複数の棚１１０を有しており、そのそれぞれがシステム・コントローラ１２０に接続されている。棚のそれぞれは、棚コントローラ１４０を有しており、棚内のスティック１５０に接続されている。同様に、各スティック１５０は、ディスク・ドライブ１６０のそれぞれに接続されており、これらディスク・ドライブを、これらディスク・ドライブへのデータ・アクセスおよびこれらディスク・ドライブのパワーオン／パワーオフの両者に関し、独立に制御することができる。システムにおけるドライブの最適な組み込みおよび相互接続の構成の決定機構を、以下に説明する。
【００３７】
分かりやすくするため、図２中の同一の品物のすべてにそれぞれ参照番号を付しているわけではないことに、注意すべきである。例えば、ディスク棚（１００ａ〜１１０ｃ）、スティック（１５０ａ、１５０ｂ）およびディスク・ドライブ（１６０ａ〜１６０ｃ）のいくつかについてのみ、番号が付されている。参照番号付きの品物を、参照番号なしの品物と区別しようとするものではない。
【００３８】
システムのドライブの数をＮとし、ここでＮは大きな数である。
【００３９】
次いで、Ｎを、Ｎ＝ｓ．ｔ．ｄなどと３個組みに分解できる。
【００４０】
ここで、ｓは、システムの棚ユニットの数であり、通常はシステムの物理的な高さによって決定される。例えば４４Ｕの標準のラックシステムでは、ｓが８になるよう選択できる。
【００４１】
ｔは、各棚ユニットの「スティック」の数であり、各スティックはディスクの列から構成されている。例えば２４インチ幅のラックにおいては、ｔ＜＝８である。
【００４２】
ｄは、棚の各スティックのディスク・ドライブの数である。標準のラックでは、ｄを１４とすることができる。
【００４３】
図２に示した構成は、体積あたりのディスク・ドライブ収容能力を最大とする目的で、最良の密なディスクの組み込みが達成できるよう、棚、スティックおよびディスクへと分解される。この一例が、図３に示されている。市販の大型ラックによって、１０００個近くの３．５インチ・ディスクをラックに詰め込むことができる。
【００４４】
好ましい構成は、Ｎを、ｉ）ドライブおよびシステム全体（ラック）の体積の制約、および、ｉｉ）システム一式の重量の制約に関して最適化しつつ、ｓ、ｔおよびｄへと分解することよって決定される。後者の制約は、データ・センターの標準ラック・サイズの物理的寸法および重量の制限によって課される。
【００４５】
さらに、重量および寸法に関する制約とともに、ドライブの大規模な組み込みにおいては、ディスクが指定の周温以下で動作することができるよう、適切な空気流および熱放散がもたらされなければならない。この熱放散の制約も、ディスクをどのようにシステム内に配置するかに影響を与える。
【００４６】
熱放散のための充分な空気流をもたらしつつドライブの密度を最大にする特定の実装の１つが、図３に示した構成である。
【００４７】
システムの信頼性および保守性を向上させるためのドライブのパワー・サイクリング
本発明の一実施の形態は、大容量記憶システムまたはニア・オンライン（ＮＯＬ）システムからなる。この記憶システムは、複数の棚を有するラック・レベルのディスク・システムである。ホストは、システム・レベル・ラック・コントローラのファイバーチャネル・ポートを介してこの記憶システムに接続でき、システム・レベル・ラック・コントローラがラック内の棚へと相互接続されている。各棚は、その棚のすべてのドライブを制御するローカル・コントローラを備えている。ＲＡＩＤの機能は、各棚において、パリティ保護のための冗長性をもたらすために充分なドライブ、ならびに故障したドライブを置き替えるためのディスクの予備によってサポートされている。
【００４８】
この実施の形態において、システムがパワーサイクルされる。さらに詳しくは、ドライブの全体（巨大）集合にまたがるシステムの信頼性を改善するため、個々のドライブがパワーオンまたはパワーオフされる。現時点において知られている年平均故障率（ＡＦＲ）を考えると、１０００個のＡＴＡドライブからなる集合のＭＴＢＦは、約２０日になると予想される。企業の現場においては、記憶システムの保守のため２０日間隔でドライブを交換することは、受け入れられない。個々のドライブをパワー・サイクリングする本発明の仕組みによれば、ドライブの実際の寿命を、大きく効果的に延長することができる。しかしながら、そのようなパワー・サイクリングは、多くの理由で、かなりの最適化を必要とする。例えば、パワー・サイクリングによって、ヘッドの着地と浮上（ＣＳＳ）が多数回になり、ＣＳＳの増加がドライブの総寿命を短くする。さらに、パワーオンされているドライブが少なくなると、データを大きなＲＡＩＤセットにわたって分散させることが難しくなる。この結果、ＲＡＩＤ５と同等なレベルでのデータ保護の実行が難しくなる可能性がある。さらにまた、稼動しているドライブが少ないと、システムの有効帯域幅が減少する。
【００４９】
一実施の形態において、パワー・サイクリング・パラメータの決定手法は、図４のフロー図に示し下記に説明するとおりである。以下の説明が、ディスク・ドライブが指数関数的な故障率を有する（すなわち、故障の可能性が１−ｅ−λｔであり、λは故障率の逆数である）と仮定している点に注意すべきである。他の実施の形態におけるディスク・ドライブ（あるいは、他の種類のドライブ）の故障率は、他の数学的関数でより近く近似される故障率を有するかもしれない。そのようなシステムにおいては、以下に計算する説明において、現在の指数関数の代わりに別の故障関数が使用されるであろう。
【００５０】
ただ１つの物理的システムに密に組み込まれた多数台（Ｎ台）のドライブにおいては、Ｎが大きな数になるにつれて、システムのＭＴＴＦが大きく成長する。
【００５１】
単独のドライブのＭＴＴＦがｆ（通常は単位は時間）であり、ここでｆ＝１／（ドライブの故障率）である場合、システムのＭＴＢＦ、すなわちシステム内の個々のディスクの故障の間隔Ｆは、
Ｆ＝１／（１−（１−１／ｆ）＊＊Ｎ）
となる。
【００５２】
Ｎ＝１０００、かつｆ＝５００，０００時間、すなわち５７年であるとき、Ｆ＝２２日である。このような短いＭＴＢＦは、多くのデータ・センターおよび企業にとって容認できない。前述のとおり、システムのＭＴＢＦは、システム内の各ドライブの総寿命を延ばすべくドライブをパワーオンおよびパワーオフする、すなわちドライブをパワー・サイクリングすることによって、大きくすることができる。これにより、企業におけるコンピューティング・システムの保守では、部品（ドライブ）を修理または交換できる保守時期が決定論的かつあらかじめ日時が定められている必要があるため、システムの保守が容易になる。規則的な間隔での予定にもとづく保守が望まれるため、この制約条件が、以下の計算に組み込まれる。
【００５３】
故障したディスク・ドライブを交換すべくシステムを保守するための間隔をＴとし、そのために必要となるパワー・サイクリングのデューティ比をＲとする。
【００５４】
システムの実効ＭＴＢＦはＴであり、システムの実効故障率は１／Ｔである。
【００５５】
したがって、ディスクがＮ台であるシステムの実効ＭＴＢＦは、
ｆ＊＝１／｛１−（１−１／Ｔ）＊＊１／Ｎ｝
である。
【００５６】
ここから、１つのシステム内の多数のドライブのディスクの実効ＭＴＴＦを、保守間隔がＴとなるように計算できる。
【００５７】
実際のＭＴＴＦがｆであることから、われわれのとるアプローチは、ドライブをパワー・サイクリングし、すなわち或る長さの時間だけドライブをオフにし、次いで、ある長さの時間だけオンにすることである。
【００５８】
Ｒが実効ＭＴＴＦを満足するデューティ比である場合、
Ｒ＝ｆ／ｆ＊＜１
である。
【００５９】
したがって、ドライブのオン期間がｐ時間であるならば、このドライブをｐ／Ｒ時間にわたってオフにしなければならない。
【００６０】
さらに、あらゆる時点において、すべてのドライブのうちの部分集合のみがパワーオンであるため、システムにおいてパワーオンされているドライブの実効数はＲ＊Ｎである。
【００６１】
したがって、或る棚にあるすべてのドライブの比Ｒは、各棚においてパワーオンしなければならないドライブの数の総計でもある。これも、データの書き込みまたは読み出しに使用されるドライブ、ならびにメタデータの保持に使用される他のあらゆるドライブの数を制限する。
【００６２】
ｐ時間、すなわちオン期間を決定するパワー・サイクリングにおいて、満足しなければならない制約条件がもう１つある。
【００６３】
ドライブの典型的な寿命がｆ時間（公称のＭＴＴＦと同じ）である場合、ドライブにおけるパワー・サイクリング・イベントの数は、（ヘッドの着地と浮上についての）ＣＳＳであらわされる。
【００６４】
ＣＳＳ＝ｆ／（ｐ＋ｐ／Ｒ）
ＣＳＳは、最大値ＣＳＳｍａｘまでに制限されることから、すべてのドライブについて、
ＣＳＳ＜ＣＳＳｍａｘ
でなければならない。
【００６５】
したがって、ｐは、ＣＳＳｍａｘが決して突破されることがないように選択されなければならない。
【００６６】
図４に、パワー・サイクリング・パラメータの決定のためのフローチャートを示す。
【００６７】
ニア・オンライン（ＮＯＬ）システムのための効率的なデータ保護の仕組み
一実施の形態において、本発明の電力制御付きシステムのニーズに合致すべく、ＲＡＩＤの新規な変種が実装される。システムの保守性要件を満足するため、ドライブのパワー・デューティ・サイクルＲは、１００％未満とされ、好都合には５０％未満であろう。この結果、データ・ボリュームが棚内のＲＡＩＤボリュームに書き込まれるとき、ＲＡＩＤセット内のすべてのドライブを稼動（パワーオン）にすることはできない。ここに開示するＲＡＩＤの変種は、以下の特徴をもたらすように設計されている。
【００６８】
第１に、この仕組みは、適切なパリティ保護をもたらすように設計されている。さらに、保守性の要求によって課されたＣＳＳしきい値を突破しないように保つべく設計されている。さらに、ＲＡＩＤストライピング・パラメータが、動作負荷パターン、ラック・レベルでサポートされる帯域幅、およびアクセス時間の必要性に合致するように設計されている。さらに、最初のバイトにアクセスするための時間が、テープまたはシーケンシャル・メディアよりもはるかに良好でなければならない。この仕組みは、さらに、パリティにもとづくデータ保護およびディスクの予備を、少ないオーバヘッドでもたらすように設計されている。
【００６９】
データ保護の仕組みにおいて解決しなければならない問題が多数存在する。例えば、書き込み中のディスクの故障（システム内のドライブの数が多いために、ディスク故障の可能性が大きくなるため）は、Ｉ／Ｏデータ処理が未完に終わることにつながりかねない。したがって、書き込み時においてデータの完全性を確保しデータの喪失を回避するための手段が、この仕組みの中に設計されなければならない。さらに、データ保護は、ＲＡＩＤの冗長性またはパリティ保護を必要とする。しかしながら、ＲＡＩＤ操作は、データおよびパリティを複数のドライブに書き込むため、通常はすべてのドライブをパワーオンする必要がある。さらに、ＲＡＩＤ保護およびディスク予備の使用は、通常はディスク・スペースのオーバヘッドを大きくすることにつながり、有効容量が減少することになりかねない。さらにまた、パワー・サイクリングによってヘッドの着地と浮上（ＣＳＳ）の回数が増し、ＣＳＳ故障率が、おそらくは４倍またはそれ以上に大きくなる。
【００７０】
一実施の形態においては、各棚に３種類のドライブが存在する。すなわち、スケジュールにもとづいてパワー・サイクリングされ、あるいは読み出し／書き込み動作によってパワー・サイクリングされるデータ・ドライブおよびパリティ・ドライブ、ドライブ故障の場合にデータを移すために使用される予備のドライブ、および所与のあらゆるＲＡＩＤセットの状態および構成を維持するメタデータ・ドライブである。メタデータ・ドライブは、すべてのＩ／Ｏ操作およびディスク・ドライブの動作状態変化（稼動、停止、予備など）についてのメタデータを収容する。このボリュームにあるデータは、ディスク・ドライブの集合上のデータについての情報を提供し、さらに未だ稼動していないドライブへと書き込まれ、あるいは未だ稼動していないドライブから読み出されるべきキャッシュ・データを提供するよう管理される。したがって、このメタデータ・ボリュームが、ディスクの管理、Ｉ／Ｏ性能、および故障の許容において重要な役割を演じる。
【００７１】
本発明のシステムにおいて使用されるＲＡＩＤの変種は、ＣＳＳ限界を越えないように保ち、書き込みＩ／Ｏ性能がアクセス時間およびデータ速度に苦しむことがないように保ちつつ、ＲＡＩＤセット内のディスクの最小の部分集合へと「順番に」書き込む。
【００７２】
ＲＡＩＤの変種へのアプローチ
データ保護技術の適用において、ドライブの集合およびデータがとりうる複数の状態が存在する。一実施の形態においては、以下の状態が使用される。初期化‐この状態においては、ボリュームが割り当てられるが、可能なファイルのメタデータを除き、対応するディスクにデータは書き込まれない。通常‐この状態においては、ボリュームが、対応するディスク・ドライブの集合内に有効なデータを有している。これには、データの転送においてＩ／Ｏ動作が引き起こされるボリュームが含まれる。データ冗長性‐この状態においては、ボリュームの地位が前もって下げられ、ボリューム全体にわたる冗長性の回復プロセスにある。予備‐この状態において、集合内のディスク・ドライブが交換される。
【００７３】
仮定
データ保護のための技術を開発するとき、選択した技術に応じて受け入れなければならないトレードオフが存在する。トレードオフを考慮するとき、２つの仮定がなされる。第１の仮定は、このデータ記憶システムが、企業のオンライン記憶システムのＩ／Ｏ性能を達成しようとするものではなく、それに近づこうとするものでもないというものである。換言すれば、システムが、高Ｉ／Ｏトランザクションのために設計されてはおらず、信頼性のために設計されている。第２の仮定は、このデータ記憶装置のＩ／Ｏ動作負荷の使用が、通常は、大きなシーケンシャル書き込み、および中程度から大規模なシーケンシャル読み出しであるというものである。
【００７４】
初期化されたディスク・ドライブ集合
初期化されたディスク・ドライブ集合は、１つのディスク・ドライブの故障がデータの喪失をもたらすことがないようにマップされたデータ構成から構成されている。この技法のため、すべてのディスク・ドライブは、値０へと初期化される。
【００７５】
「ゼロ初期化された」ディスク・ドライブの存在は、「転生パリティ」更新を生成するための基礎として使用される。例えば、図５を参照すると、４つのディスク・ドライブ２０１〜２０４からなる集合において、すべてのドライブ（３つがデータ・ディスクであり、１つがパリティ・ディスクである）が「０」へと初期化される（図では、ディスク・ドライブが横に並べられており、縦に並んだ列はそれぞれ、各ディスクを異なる時点について表現していることに注意すべきである）。ＸＯＲ演算の結果が、パリティ・ドライブの内容の結末を示している（
【数１】
2005539303.tif 000003
。値「５」を有するデータが第１のディスク２０１に書き込まれた場合、パリティ・ディスク２０４に書き込まれるパリティは「５」を表わす（
【数２】
2005539303.tif 000004
）。次のデータ・ディスク（ディスク２０２）に値「Ａ」で書き込みがなされたならば、パリティは「Ｆ」と表わされる（
【数３】
2005539303.tif 000005
）。パリティ・ディスクが、３つのデータ・ディスクのすべてのＸＯＲと等しい値を含んでいるが、正しいパリティを生成するためにすべてのディスクをパワーオンする必要がない点に注意すべきである。代わりに、新しいパリティ（「Ｆ」）を生成するためには、単に古いパリティ（「５」）を新しく書き込まれたデータ（「Ａ」）でＸＯＲするだけでよい。すなわち、ディスク２０２の古いデータをＸＯＲで追い出す必要はない。
【００７６】
メタデータ・ボリューム
一実施の形態において所与のＲＡＩＤセットの状態および構成を維持するため、「メタデータ・ボリューム」（ＭＤＶ）が存在する。このボリュームは、オンラインで動作しているディスク・ドライブの集合であり、故障許容のためにミラーリングされてもよい。このボリュームは、ディスク・ドライブの集合と同じドメイン内に存在する。したがって、動作環境が、このボリュームをサポートするために充分な電力、冷却、および組み込みを提供すべきである。このボリュームは、すべてのＩ／Ｏ操作およびディスク・ドライブの動作状態変化（稼動、停止、予備など）のために使用されるメタデータを収容する。このボリュームにあるデータは、データの部分集合のコピーがディスク・ドライブ集合上のデータを表わすように管理される。
【００７７】
好ましい実装においては、メタデータ・ボリュームが各棚内に位置し、当該棚内のディスク上にあるすべてのデータ・ボリュームについてのメタデータに対応する。図６および７を参照すると、メタデータ・ボリュームのデータ内容が示されている。このボリュームは、棚、ＲＡＩＤ、ディスク、および筐体についてのすべてのメタデータを含んでいる。ラック・コントローラについてのメタデータも存在する。このメタデータは、ラック・コントローラとディスク棚との間の正しいシステム構成を決定するために使用される。
【００７８】
一実施の形態において、メタデータ・ボリュームは、ドライブの総数、ドライブの予備、使用されないデータなどの棚属性、ＲＡＩＤセット・セットなどのＲＡＩＤセット属性およびメンバーシップ、シリアル番号、ハードウェア・リビジョン、ファームウェア・リビジョン、ならびに読み出しキャッシュおよび書き込みキャッシュを含むボリューム・キャッシュなどのドライブ属性を含んでいる。
【００７９】
ボリューム構成
一実施の形態においては、メタデータ・ボリュームが、ミラーリングされたディスク・ドライブの集合である。この実施の形態においてミラーリングされるドライブの最小数は２である。メタデータ・ボリュームのディスク・ドライブの数は、ユーザの要求する保護のレベルに合致するよう構成することができる。ディスクの数は、ディスク・コントローラの数を超えることはできない。ディスク棚内の故障許容のレベルを最高にするため、メタデータ・ボリュームは、各ディスク・コントローラを横切ってミラーリングされる。これにより、１つのディスク・コントローラが棚コントローラを駄目にする可能性を除いている。
【００８０】
メタデータ・ボリュームの最高性能を提供するため、ディスク・ドライブを動作させるべき最良のディスク・コントローラを決定すべく、動的再構成が可能にされる。さらに、メタデータ・ボリューム・ディスクの故障の場合には、ディスク棚内の割り当てされていない最初のディスク・ドライブが使用される。したがって、割り当てされてないディスク・ドライブがもはや存在しないならば、割り当て済みの最初の予備ディスク・ドライブが使用される。利用できるディスク・ドライブがもはや存在しない場合、棚コントローラが、メタデータ・ボリュームが割り当てられるまで停止状態を保つ。
【００８１】
ボリュームのレイアウト
メタデータ・ボリュームのレイアウトは、永続的なデータおよびディスク棚の状態をもたらすように設計される。このデータが、棚の構成、ＲＡＩＤセットの構成、ボリュームの構成、およびディスクの構成のために使用される。この永続的なメタデータは、ディスク棚のすべての局面（初期化、通常、再構成、保守など）において更新され、利用される。
【００８２】
メタデータ・ボリューム・データは、状態および構成データをラック・コントローラへと通報するために使用される。例えば、メタデータが、「各ディスク・ドライブの健康情報（すなわち、ディスク・ドライブがどれほどの期間稼動したか、パワーのオンおよびオフが何回行なわれたか、および信頼性に影響しうるその他の要因についての情報）」を含んでいてもよい。ある特定のディスク・ドライブについての健康情報が、当該ドライブを交換すべきであることを示している場合、システムは、最初のドライブの故障の場合に、当該ディスク・ドライブ上のデータの他のドライブへのコピーを開始してもよく、あるいは、単純に当該ドライブを次回の通常の保守間隔において交換すべきであるとの告知を提供してもよい。さらに、メタデータ・ボリューム・データは、ボリュームのそれぞれのために指定されたボリューム・キャッシュ領域を有している。ボリュームがオフラインであるとき、当該オフライン・ボリュームのためにメタデータ・ボリュームに記憶されたデータを、当該ボリュームがオンラインになるまでの間、使用することができる。これは、ラック・コントローラからの要求を介して、書き込みデータをキャッシュしつつオフライン・ボリュームのドライブを稼動する１０〜１２秒（あるいは、対応するドライブをパワーオンするために必要な任意の時間）の窓をもたらす。ドライブが稼動し、ボリュームがオンラインになった後、キャッシュしたデータが、当該ボリュームに書き込まれる。
【００８３】
棚の初期化
ディスク棚のパワーオン／リセットにおいて、すべてのデータがメタデータ・ボリュームから読み出される。このデータが、ディスク棚を動作モードにするために使用される。ひとたび初期化を完了すると、ディスク棚は、ラック・コントローラによるラック・コントローラ初期化プロセスの開始を待つ。
【００８４】
ボリュームの動作
ひとたびディスク棚が動作モードになると、各ボリュームが、メタデータ・ボリュームと同期される。各ボリュームが、自身に関連付けられたメタデータのセットをディスク・ドライブ上に有することになるであろう。これは、メタデータ・ボリュームが悲惨にも故障した場合に必要であろう。
【００８５】
読み出しキャッシュの動作
メタデータ・ボリュームは、各ボリュームのための予備の空間を有している。メタデータ・ボリュームの予備の空間内には、割り当てられたボリュームの読み出しキャッシュ（ＶＲＣ）が位置している。この読み出しキャッシュは、電力投入時のディスク・ドライブの回転の立ち上げおよびシーク時間を緩和するように設計されている。ＶＲＣは、各ボリュームの最初の部分を複製している。ＶＲＣ内に複製されるデータの大きさは、所望される性能および環境条件に応じて決まる。このようにして、オフラインのボリュームにＩ／Ｏ読み出し要求が与えられた場合に、データをＶＲＣから供給することができる。このデータが一貫しており関連するボリュームと矛盾することがないよう、注意を払わなければならない。
【００８６】
書き込みキャッシュの動作
すでに述べたように、メタデータ・ボリュームは、各ボリュームのための予備の空間を有している。メタデータ・ボリュームの予備の空間内には、割り当てられたボリュームの書き込みキャッシュ（ＶＷＣ）が位置している。この書き込みキャッシュは、電力投入時のディスク・ドライブの回転の立ち上げおよびシーク時間を緩和するように設計されている。ＶＷＣは、各ボリュームについて複製された例えば５１２ＭＢの最初のデータ部分を有している。したがって、オフラインのボリュームにＩ／Ｏ書き込み要求が与えられた場合に、データをＶＷＣに一時的に記憶することができる。やはり、このデータが一貫しており関連するボリュームと矛盾することがないよう、注意を払う必要がある。
【００８７】
ディスク集合のＩ／Ｏ動作
図８を参照すると、データをディスクの集合に記憶するやり方を示した図が示されている。ディスクの集合は、コンテナとして知られるデータ・ブロックの「大きな隣接」セットへと、パーティション分けされている。記憶装置ユーザまたはサーバへと用意されている１つまたは複数のディスク・ボリュームが、コンテナを務めることができる。コンテナ内のデータ・ブロックは、ディスクのセクタ・サイズによって決定され、典型的には５１２バイトである。各コンテナは、静的に割り当てられて０からｘで呼称され、ここでｘは、データ・ブロックの数から１を減算したものである。次いで、各コンテナをいくつかのサブ・コンテナに分割することができる。
【００８８】
コンテナのそれぞれへのアクセスは、アドレス間接化のレベルによる。コンテナは、０〜ｘで呼称されるブロックの隣接セットである。装置がアクセスされるとき、関連するディスク・ドライブは、パワーオンであり動作していなければならない。一例として、コンテナ０がディスク・ドライブ１のアドレス空間内に完全に含まれているとする。このとき、コンテナ０が読み書きされる場合、パワーオンでなければならないディスク・ドライブは、ディスク・ドライブ１だけである。
【００８９】
システムの電力量および冷却能力が限られており、同時に１つのディスク・ドライブにしかアクセスできない場合、ディスク・ドライブ１および２にまたがっているコンテナ２にアクセスするためには、ディスク・ドライブ１および２を交互にパワーオンしなければならない。最初に、ディスク・ドライブ１がパワーオンされる。次いで、ディスク・ドライブ１を停止させ、ディスク・ドライブ２を稼動させる。この結果、ディスク・ドライブ２について、アクセス準備ができるまでの遅延が生じるであろう。このため、ディスク・ドライブ２にある次のデータ・ブロック・セットへのアクセスが遅れるであろう。これは、一般に、ディスク・ドライブへのアクセスにおいて認容できない挙動である。したがって、各ディスク・ドライブおよび／またはコンテナの最初の部位が、別個のアクティブ／オンラインであるディスク・ドライブの集合にキャッシュされる。この実施の形態においては、図９に示すとおり、コンテナ２のためのデータ・ブロックが、メタデータ・ボリューム上にある。
【００９０】
２つのディスク・ドライブの間の移行が１つのディスク・ドライブを停止させて他方のディスク・ドライブを稼動させることによって達成されるこの技法は、ただ１組のディスク・ドライブだけでなく、より多数のディスク・ドライブからなる集合にも適用できる。より広い帯域幅が必要とされる場合、前記した１つのドライブがそれぞれ、ディスク・ドライブの集合を代表することができる。このディスク・ドライブ構成は、ホットスポットを多数のディスク・ドライブ（スピンドル）へと「配分」するＲＡＩＤ１０またはいくつかの形式のデータ管理を有することができる。
【００９１】
ディスク・ドライブの集合による冗長性
図１０を参照すると、一対の冗長ディスク・ドライブの使用を示した図が示されている。データがディスク・ドライブの集合へと割り当てられるとき、データ複製の必要性が存在する。複製がＲＡＩＤ（１、４、５、など）の形式であると仮定すると、マージのプロセスにおいて、データの一貫性が保たれなければならない。このプロセスは、各書込み操作と同調して行なうことができ、あるいは後の時点で実行することができる。すべてのディスク・ドライブが一時にパワーオンされているわけではないため、ディスク・ドライブの集合の現在の状態について追加の記録が存在する。この記録は、どのディスク・ドライブの集合またはディスク・ドライブの部分集合がデータの回復において有効であるかを正確に知り、データ・ブロックを再生するために必要な情報からなる。
【００９２】
可変のＲＡＩＤセット・メンバーシップ
本明細書に説明する電力管理付きシステムの大きな利点の一つは、たとえ複数のディスク・ドライブが故障した場合であっても、ＲＡＩＤセット内のドライブを再使用できるという点にある。従来のＲＡＩＤシステムにおいては、ＲＡＩＤセット内のすべてのドライブにわたってデータをストライピング、すなわち分配しているため、ＲＡＩＤセット内の２つ以上のドライブが故障した場合、当該ＲＡＩＤセット内のすべてのドライブを放棄する必要が生じる。本明細書に説明する電力管理付きシステムの場合には、残ったドライブを、別のＲＡＩＤセットまたはサイズの異なるＲＡＩＤセットに再使用することが可能である。これは、システム全体の記憶スペースのはるかに有効な利用をもたらす。
【００９３】
同じＲＡＩＤセット内の複数のドライブが故障した場合、当該ＲＡＩＤセットのメンバーであるドライブの集合を（例えば、６つのドライブから４つのドライブへと）減らすことができる。すでに説明した「ゼロ基準」のＸＯＲパリティの特性を使用し、ドライブの縮小集合についてのパリティを、それらのドライブ上にあるデータから計算することができる。これにより、将来のドライブ故障の場合に、残りのドライブ上のデータの保護が可能になる。パリティ・ドライブが故障したドライブの１つである場合には、新しく形成されるＲＡＩＤセットについて新しいパリティ・ドライブを指定することができ、このドライブにパリティ情報を記憶することができる。ディスク・ドライブ・メタデータが、縮小ＲＡＩＤセットまたは新たに形成されたＲＡＩＤセットを現在構成している生き残りのドライブおよび／または新たに加入したドライブを反映すべく、更新される。
【００９４】
一例の実施の形態では、ＲＡＩＤセットが、４つのデータ・ドライブおよび１つのパリティ・ドライブを含む５つのメンバー・ドライブを有している。１つのデータ・ドライブが故障した場合、残るディスク・ドライブのいずれかが利用可能な空間を充分有しているならば、データを再構成することができる（故障したドライブを置き替えるための予備が利用可能であって、ＲＡＩＤセットの縮小が必要ない場合、データを新しいメンバー・ドライブ上に再構成することができる）。２つ以上のデータ・ドライブが同時に故障した場合、故障していないドライブ上のデータを保持し、縮小ＲＡＩＤセット上の残りのデータで動作を続行することができ、あるいは、縮小ＲＡＩＤセットを再度初期化して、新しいＲＡＩＤセットとして使用することができる。
【００９５】
この同じ原理を、ディスク・ドライブ集合を拡張するために適用できる。換言すれば、ＲＡＩＤセットにドライブを追加したいと望む場合（例えば、セットを４つのドライブから５つのドライブへと増やす）に、それをＲＡＩＤセットの縮小と同様のやり方で達成できる。ＲＡＩＤセットが追加のディスク・ドライブを受け入れる場合、ディスク・ドライブ・メタデータも、新しいドライブの加入を表現すべく更新する必要がある。
【００９６】
ディスク・ドライブ集合の予備
ディスク・ドライブ集合の故障ディスクの予備は、データ・ブロックの故障およびディスク・ドライブの故障の両者の場合において実行される。故障したデータ・ブロックの予備が、一時的に再生される。メタデータ・ボリュームおよび「予備の」ディスク・ドライブの両者を使用し、ディスク・ドライブ集合内の冗長性の回復プロセスを、より効率的かつ効果的にすることができる。このプロセスは、ディスク・ドライブ集合内の残りのディスク・ドライブのそれぞれのパワー・サイクリングに合わされる。
【００９７】
データ・ブロックの故障に関するしきい値を超える場合、予備のディスク・ドライブが、当該ＲＡＩＤセットへの交換の候補として割り当てられる。一度にパワーオンにできるドライブの数は限られているため、故障したデータ・ブロックを含んでいるドライブおよび候補となったドライブのみがパワーオンにされる。この時点で、既知の良好なデータ・ブロックのみが、故障したデータ・ブロックの対応するアドレス位置にコピーされる。既知の良好なブロックがすべてコピーされると、故障ブロックの回復プロセスが開始される。したがって、ＲＡＩＤセット全体をパワーオンする必要があるであろう。ディスク・ドライブ集合の全体をパワーオンしなければならないが、それは故障ブロックの回復に必要な時間の間だけである。すべての故障ブロックが修復された後、ドライブはパワーオフの状態に戻される。
【００９８】
ディスク・ドライブの故障の場合には、ＲＡＩＤセットのすべてのディスク・ドライブがパワーオンされる。次いで、先のセクションで説明した再構成のプロセスが、故障ディスク・ドライブのすべてのデータを回復すべく開始される。
【００９９】
ＲＡＩＤ自動記憶管理の特徴
システムの最終ユーザは、本発明のシステムを、例えば直接接続型ストレージ（ＤＡＳ）としてサーバへと直接接続されたディスク・システムとして使用することができ、あるいはストレージ・エリア・ネットワーク（ＳＡＮ）内の共有の記憶装置として使用することができる。図１１においては、システムが、主記憶装置のバックアップ・ターゲットとして直接接続を介して使用されており、次いでメディア（バックアップ）サーバを介してテープ・ライブラリに接続されている。他の実施の形態においては、システムを他の方法で使用してもよい。
【０１００】
この実施の形態では、システムがボリューム・イメージをサーバまたはシステムのユーザに提示する。しかしながら、最終ユーザが物理ボリュームに直接アクセスすることはできない。これは、先に述べたように、パワー管理されたＲＡＩＤによってシステムが、物理的なドライブへのアクセスの複雑さを、それらがパワーオンであろうとそうでなかろうと、隠しているためである。ラックおよび棚レベルのコントローラが、論理ボリュームを物理ボリュームおよびドライブから隔離している。
【０１０１】
ディスク・ボリュームの論理的観点についてのこの提示を考慮すれば、システムは、論理ボリュームを別の物理的位置へと書き換えでき、再配置でき、移動させることができる。これは、以下に説明する多数のボリューム・レベルの機能を可能にする。例えば、システムが、ディスク・ドライブの形式、容量、データ速度などからの独立をもたらすことができる。これは、新しいメディアが利用可能になったとき、および新しい技術が採用されたときに、それらへの移行を可能にする。また、これにより、装置（ディスク）の管理運営において陳腐化した技術を取り入れるよう要求されることがなくなる。
【０１０２】
さらにシステムは、災害復旧のための自動複製をもたらすことができる。主ボリュームの２番目のコピーを、構内通信網または広域通信網のいずれかのネットワークを介して第３者の記憶装置に独立にコピーすることができる。さらに、この装置が、別のディスク・システムや別のテープ・システムなどであってもよい。また、ボリュームを、複数の遠隔または局所コピーを同時に生成するため、複数の場所に複製することができる。
【０１０３】
さらにシステムが、メディアおよび帯域幅を節約すべく自動増分バックアップを提供することができる。記憶ボリュームにおける増分および差分を、第３または後のコピーへと伝えることができる。
【０１０４】
さらにシステムが、確認および認証の機能を提供してもよい。ラックおよび棚コントローラが、ボリュームの最終ユーザと物理的なドライブとの間に介装されているため、物理および論理の両方のボリュームおよびドライブへのアクセスを、ラックおよび棚コントローラで制御することができる。
【０１０５】
また、システムは、自動化されたデータ回復をもたらすことができる。ディスク・メディア上のデータは時間とともに劣化する可能性があるため、システム・コントローラが、データの完全性が維持されるよう、ボリューム・データを他のドライブへと自動的にリフレッシュすることができる。コントローラが、いつディスクおよびボリュームに書き込まれたかについての情報を有しているため、どのディスク・データをリフレッシュ、すなわち回復させなければならないかを把握することができる。
【０１０６】
さらにシステムは、同時回復を提供することができ、すなわち、おそらくは非同期で開始され、あるいはシステムのコントローラによる政策で開始された複数の回復を、同時に実行することができる。
【０１０７】
また、システムは、棚内のメタデータ・ボリューム内など、ボリューム内に含まれる対象の詳細についてのメタデータ情報を保持することによって、記憶ボリューム内のメタデータの固有の索引付けを提供することができる。コントローラが、このメタデータを、特定の対象をシステムの各ボリュームにわたって迅速に検索するために利用することができる。
【０１０８】
さらにシステムは、すべてのボリューム・コピーの管理の簡単化およびコスト低減のための全データの一覧、データのコピーの配分の自動管理、およびシステムがバックアップ生成に使用されている場合のバックアップすべき主ボリュームの自動発見および変化の検出など、ボリュームの二次的および複数コピーの管理のための他の記憶管理上の特徴をもたらすことができる。
【０１０９】
好ましい実装例
相互接続
好ましい相互接続システムは、ラックあたり８個の棚、かつ棚あたり１１２台のディスクとして構成された８９６台のディスク・ドライブを接続するための手段をもたらす。この内部システム相互接続は、６つの２Ｇｂ／秒のファイバーチャネル・インターフェイス（１０００ＭＢ／秒の読み出しまたは書き込み）と等価な総処理能力を提供するように設計されている。外部システム・インターフェイスは、ファイバーチャネルである。相互接続システムは、必要とされる処理能力におけるディスクあたりのコストが最小となるよう最適化される。図１２は、ホスト（サーバまたは最終ユーザ）から終端のディスク・ドライブまでの相互接続の仕組みを示している。
【０１１０】
相互接続システムは、データの信頼性をもたらすため棚レベルでＲＡＩＤを取り入れている。ＲＡＩＤコントローラは、１１２台のディスクを扱うように設計されており、これらディスクのいくつかを予備に割り当ててもよい。ＲＡＩＤコントローラは、それぞれが１４台のディスクからなる８つのスティックにまたがっている。ＲＡＩＤセットは、どれか１つのスティック・コントローラまたは相互接続あるいはどれか１つのディスク・ドライブの喪失に対する防御のため、複数のスティックにまたがるように構成すべきである。
【０１１１】
棚からスティックへのシステムの相互接続は、利用性向上のためスティック・レベルにおける冗長性をもたらすように構成することができる。
【０１１２】
スティック・レベルの相互接続は、スティック・コントローラ（ＦＰＧＡ／ＡＳＩＣとＳＥＲＤＥＳ）、棚コントローラ（ＦＰＧＡ／ＡＳＩＣとＳＥＲＤＥＳ、外部プロセッサおよびメモリ）、ラック・コントローラ（ＦＰＧＡ／ＡＳＩＣとＳＥＲＤＥＳ）、ならびに関連のケーブル、コネクタ、プリント回路基板、電源、およびその他の部品で構成される。随意により、ＳＥＲＤＥＳおよび／またはプロセッサの機能を、進化したＦＰＧＡへと統合することができる（例えば、Ｘｉｌｉｎｘ社のＶｉｒｔｅｘ  ＩＩ  Ｐｒｏを使用する）。
【０１１３】
棚およびスティック・コントローラ
棚コントローラおよびこれに関係する８つのスティック・コントローラが、図１３に示されている。この実装例において、棚コントローラは、ファイバーチャネル相互接続によってラック・コントローラ（図１５）に接続されている。他の実施の形態においては、他の種類のコントローラおよび相互接続（例えば、ＳＣＳＩ）を使用してもよいことに注意すべきである。
【０１１４】
この棚コントローラは、ＲＡＩＤ０、１および５、ならびにこれらの組み合わせなど、８つのＳＡＴＡイニシエータ・ポートを介してアクセスできるプログラム可能なディスクＲＡＩＤセットにわたって、種々のＲＡＩＤレベルのサポートを提供することができる。ＲＡＩＤ機能は、ハードウェアに実装されたＸＯＲエンジンおよびＤＭＡエンジンによるアクセラレーションを備えて、ファームウェアに実装される。この場合、ＸＯＲを備えたＣＰＵであるＩｎｔｅｌ社のＩＯＰ３２１が使用される。
【０１１５】
棚コントローラＲＡＩＤ制御ユニットは、ＰＣＩ‐Ｘバス上のＳＡＴＡチャンネル・コントローラを介してスティック・コントローラにつながっている。ＳＡＴＡチャネル・コントローラの８つのＳＡＴＡ出力のそれぞれが、スティック・コントローラのデータ／コマンド・ルータ装置（図１４）につながっている。それぞれのデータ／コマンド・ルータが、各スティックの１４台のＳＡＴＡドライブを制御する。
【０１１６】
ラック・コントローラ
ラック・コントローラは、ＳｅｒｖｅｒＷｏｒｋｓ  ＧＣ‐ＬＥチップセットおよび４〜８基のＰＣＩ‐Ｘスロットを備えるマザーボードからなる。図１５に示した実装例では、ＰＣＩ‐Ｘスロットには、２ポートまたは４ポートの２ＧファイバーチャネルＰＣＩ‐Ｘターゲット・バス・アダプタ（ＴＢＡ）が設置されている。他の実施の形態においては、他のプロトコルを使用する他の構成部品を使用することができる。例えば、一実施の形態では、棚ユニットにｕ３２０を使用する４ポートの棚ＳＣＳＩアダプタを使用してもよい。
【０１１７】
以上、本発明の提供する利益および長所を、特定の実施の形態に関し説明した。これらの利益および長所、ならびにそれらを生じさせあるいはより明瞭にするあらゆる要素および限定事項を、いずれかまたはすべての請求項にとって重大、必要、あるいは不可欠な特徴と解釈すべきではない。本明細書で使用されるとき、用語「からなる」および「からなっている」ならびにこれらの他のあらゆる変形は、これら用語に続く要素または限定事項を、それら以外を排除することなく含んでいると解釈すべきものである。したがって、要素の組からなるシステム、方法、または他の実施の形態は、それらの要素にのみ限られるわけではなく、明示的には挙げられていない他の要素、または記載の実施の形態に本質的に備わっている要素を含むことができる。
【０１１８】
本発明を、特定の実施の形態を参照して説明したが、これら実施の形態が説明のためのものであって、本発明の技術的範囲がこれらの実施の形態に限られるわけではないことを理解すべきである。これら実施の形態に対して多数の変形、修正、追加および改善が可能である。それらの変形、修正、追加および改善は、以下の特許請求の範囲に記載される本発明の技術的範囲に包含されると考えられる。
【０１１９】
本発明の他の目的および利点は、以下の詳細な説明を読み、添付の図面を参照することによって、明らかになるであろう。
【０１２０】
本発明は、種々に変更することができ、他の形式とすることもできるが、図面および以下の詳細な説明においては、本発明の特定の実施の形態が、例として示されている。しかしながら、図面および詳細な説明が、本発明を開示されている特定の実施の形態に限定しようとするものではないことを、理解すべきである。この開示は、添付の特許請求の範囲によって定められる本発明の技術的範囲内に入るすべての変更、均等物および代替物を包含するものである。
【図面の簡単な説明】
【０１２１】
【図１】図１は、一実施の形態による複数ディスク・データ記憶システムの一般的構成を示した図である。
【図２Ａ】図２Ａおよび２Ｂは、一実施の形態によって密に組み込まれたデータ記憶システムについて、コントローラとディスク・ドライブの間の相互接続を示した図である。
【図２Ｂ】図２Ａおよび２Ｂは、一実施の形態によって密に組み込まれたデータ記憶システムについて、コントローラとディスク・ドライブの間の相互接続を示した図である。
【図３】図３は、一実施の形態によって密に組み込まれたデータ記憶システムについて、物理的構成を示した図である。
【図４】図４は、密に組み込まれたデータ記憶システムについて、電力管理の仕組みを決定する一実施の形態による手法を示したフロー図である。
【図５】図５は、一実施の形態によってパリティ・ディスクに情報を書き込む手法、およびディスク・ドライブをパワーオンおよびパワーオフする手法を示した図である。
【図６】図６は、一実施の形態によるメタデータ・ディスクの内容を示した図である。
【図７】図７は、一実施の形態によってメタデータ・ディスクに記憶した情報の構造を示した図である。
【図８】図８は、一実施の形態によってデータのコンテナをディスク・ドライブの集合に配置する手法を示した図である。
【図９】図９は、一実施の形態によって複数のディスク・ドライブからのデータの最初の部位をメタデータ・ボリュームに記憶する手法を示した図である。
【図１０】図１０は、一実施の形態による冗長ディスク・ドライブならびに対応するパリティ・ボリュームおよびメタデータ・ボリュームの組の使用を示した図である。
【図１１】図１１は、データ記憶システムについて、一実施の形態による直接接続を介しての主記憶装置のバックアップ・ターゲットとしての使用、およびテープ・ライブラリへの媒体（バックアップ）サーバとしての使用を示した図である。
【図１２】図１２は、一実施の形態によるホスト（サーバまたは最終ユーザ）から終端のディスク・ドライブまでの相互接続を示した図である。
【図１３】図１３は、一実施の形態によるチャネル・コントローラと複数のスティック・コントローラとの相互接続を示した図である。
【図１４】図１４は、一実施の形態によるＳＡＴＡチャネル・コントローラの出力と対応するスティック・コントローラのデータ／コマンド・ルータ装置との相互接続を示した図である。
【図１５】図１５は、一実施の形態によるラック・コントローラの実装を示した図である。
【図１】
2005539303.tif 000006
【図２Ａ】
2005539303.tif 000007
【図２Ｂ】
2005539303.tif 000008
【図３】
2005539303.tif 000009
【図４】
2005539303.tif 000010
【図５】
2005539303.tif 000011
【図６】
2005539303.tif 000012
【図７】
2005539303.tif 000013
【図８】
2005539303.tif 000014
【図９】
2005539303.tif 000015
【図１０】
2005539303.tif 000016
【図１１】
2005539303.tif 000017
【図１２】
2005539303.tif 000018
【図１３】
2005539303.tif 000019
【図１４】
2005539303.tif 000020
【図１５】
2005539303.tif 000021
【国際調査報告】
2005539303.tif 000022