(57)【要約】【課題】ストレージシステムにおいてデータを移動させる方法を提供する。【解決手段】ストレージを管理する方法は、複数の仮想ディスクをディスクコントローラのディスクコントローラループに接続すること、及びディスクコントローラに複数の仮想ディスクの一部をマウントすることを含み、ストレージマップは、マウントされた各仮想ディスクについてディスクコントローラの固定サイズのメモリにロードされる。この方法は、アンマウントされた仮想ディスクに含まれるデータの要求を受け取ることを含み、アンマウントされた仮想ディスクは、一定のサイズのストレージマップを有する。十分な個数のマウントされた仮想ディスクがディスマウントされ、それによって、固定サイズのメモリは、一定のサイズのアンマウントされた仮想ディスクストレージマップに収容することが可能になる。【選択図】図１
2006302274.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデータを移動させる方法であって、
複数のディスク（１１０）をディスクグループサブセット（１０６）に分割することと、
個々のディスクグループを、仮想化されたディスクがそこから論理ユニットとして前記クライアントへ割り当てられ、且つ、提示される自己完結的なドメインとして構成することと、
マッピング情報と前記ディスクグループの状態を自己識別する状態情報とを含むメタデータ（１０４）情報をディスクグループに書き込むことと、
前記ディスクグループを第１のアレイからディスマウントすることと、
前記ディスクグループを前記第１のアレイから第２のアレイへ物理的に移動させることと、
前記ディスクグループメタデータを読み出すことと、ディスクコントローラ（１０８）が、前記ディスクグループに対応する前記仮想化されたディスクを論理ユニットとしてクライアント（１１２）へロードして提示することを可能にすることとを含む前記第２のアレイへ前記ディスクグループをマウントすることと、
前記第２のアレイから前記ディスクグループにアクセスすることと
を含む
クライアントデータを移動させる方法。
【請求項２】
ストレージを管理する方法であって、
複数の仮想ディスクをディスクコントローラ（１０８）のディスクコントローラループに接続することと、
前記ディスクコントローラ（１０８）に前記複数の仮想ディスクの一部をマウントすることであって、ストレージマップが、マウントされた各仮想ディスクについて前記ディスクコントローラ（１０８）の固定サイズのメモリにロードされるマウントすることと、
アンマウントされた仮想ディスクに含まれるデータの要求を受け取ることであって、該アンマウントされた仮想ディスクは、一定のサイズのストレージマップを有する受け取ることと、
十分な個数のマウントされた仮想ディスクをディスマウントすることであって、それによって、前記固定サイズのメモリが、前記一定のサイズの前記アンマウントされた仮想ディスクストレージマップに収容することを可能にするディスマウントすることと、
前記アンマウントされた仮想ディスクをマウントすることと
を含む
ストレージを管理する方法。
【請求項３】
前記アンマウントされた仮想ディスクをマウントすることは、
前記アンマウントされた仮想ディスクからディスクグループメタデータを読み出すことと、ディスクコントローラが、前記ディスクグループに対応する前記仮想化されたディスクを論理ユニットとしてクライアントへロードして提示することを可能にすることと
をさらに含む
請求項２に記載のストレージを管理する方法。
【請求項４】
前記アンマウントされた仮想ディスクをマウントすることは、
前記アンマウントされた仮想ディスクからディスクグループメタデータを読み出すことと、
マウント状態に従って前記ディスクグループメタデータの状態情報を更新することと
をさらに含む
請求項２に記載のストレージを管理する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにおけるデータの移動に関する。
【背景技術】
【０００２】
ライフサイクルデータ管理は、前に取得されたデータ及び進行中のデータの集まりの価値を増加させるか、又は、最大にするように実施することができる。さまざまなライフサイクルデータ管理方式は、規制レビュー及び法的保護のための文書化された決定パスを課す。ライフサイクルデータ管理は、データセットのサイズが増大するにつれてますます難しくなるデータアーカイブの厳しい要求を課す。テープバックアップは、可能であるが、夜間のタイムウィンドウ内の復旧にますます多大な費用を要する一方、多くの状況及び状態において、高速の応答が要求される。
【０００３】
ディスクドライブのサイズが増加し、大きなデータセットに対する要求が増大するにつれて、仮想化ディスクコントローラが、性能及び可用性のボトルネックになる可能性がある。物理ディスクストレージの大きなプールが、シングルディスクコントローラ又はデュアルディスクコントローラを通じて、クライアントホストの増大するクラスタに供給される。コントローラは、いくつかの周辺機器インターフェースエクスプレス（ＰＣＩ−Ｘ）バスの最大値によって制限された帯域幅を有する。さらに、コントローラの平均故障間隔（ＭＴＢＦ）性能は、データセットのサイズ及びクライアントの仕事負荷の上方の拡大（upward scaling）によって課せられたデータ可用性を遅らせることになる。
【０００４】
コントローラを仮想化するための物理ディスク空間に対するマッピングの限界に対処するために、いくつかの技法が使用されてきた。たとえば、ランダムアクセスメモリの量を増加させることなく、より多くの物理ディスク空間をマッピングすることを可能にするために、仮想化粒度を増加させることが試みられているが、一技法は、ランダムな書き込み仕事負荷においてスナップショットの性能が乏しいという難点がある。
【０００５】
ディスクコントローラにポートをより多く追加することによって、帯域幅は増加する。しかし、この産業は、現在、ＰＣＩ−Ｘ等のマルチドロップバスでは、ファンアウトの限界にある。したがって、より多くのポートの追加は、クロック速度を遅くすることを犠牲にして達成されることが多く、帯域幅の増加の可能性が制限される。
【０００６】
ディスクコントローラは、独立ディスク冗長アレイ（ＲＡＩＤ）のメタデータ及び仮想化構成体を含み、それによって、ディスクコントローラを、それらコントローラがサーブするデータに結合する。したがって、ディスクの取り替えは複雑化され、データの移動は阻止される。
【０００７】
デュアルコントローラ構成は、一般に、平均故障間隔（ＭＴＢＦ）の制限及びデータ可用性の制限に対処するのに使用される。デュアルコントローラ構成は、通常、ミラーリングされたライトバックキャッシュを有する密結合対である。対を越えて拡張する場合、ミラーリングされたキャッシュを管理する制御問題が扱いにくいものとなる。コントローラを粗く対にすると、密結合コントローラアーキテクチャで重要となるコモンモードのソフトウェア問題を犠牲にして、ハードウェアＭＴＢＦが清算される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、ストレージシステムにおいてデータを移動する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
ストレージシステムの一実施の形態によれば、ストレージを管理する方法は、複数の仮想ディスクをディスクコントローラのディスクコントローラループに接続すること、及びディスクコントローラに複数の仮想ディスクの一部をマウントすることを含み、ストレージマップは、マウントされた各仮想ディスクについてディスクコントローラの固定サイズのメモリにロードされる。この方法は、さらに、アンマウントされた仮想ディスクに含まれるデータの要求を受け取ることを含み、アンマウントされた仮想ディスクは、一定のサイズのストレージマップを有する。十分な個数のマウントされた仮想ディスクがディスマウントされ、それによって、固定サイズのメモリは、一定のサイズのアンマウントされた仮想ディスクストレージマップに収容することが可能になる。アンマウントされた仮想ディスクはマウントすることができる。
【００１０】
オペレーションの構造及び方法の双方に関するこの発明の実施の形態は、以下の説明及び添付図面を参照することによって最も良く理解することができる。
【発明を実施するための最良の形態】
【００１１】
仮想化ディスクコントローラは、本来的に、マッピングできる物理ディスク空間の量が制限される。一制限は、仮想化マップ参照を高性能で動作させるのに使用される比較的高価なランダムアクセスメモリ（ＲＡＭ）の量によって課せられる。これらの制限は、すべてのストレージを常時マッピングする必要があるとは限らないことから克服することができる。あまり使用されないデータセットは、仮想化マップをＲＡＭからオフロードして、ニアライン状態又はオフライン状態に移行させることができる。
【００１２】
数組のディスクドライブにメタデータで書き込みを行って、自己識別型仮想化グループを形成することができる。一組のディスクは、オフライン状態にすることもできるし、トランスポートすることもできるし、移動させることもできるし、アーカイブすることもできる。このディスクセットは、後に、同じ仮想化コントローラ又は異なる仮想化コントローラに再ロードして、オンライン状態にすることができる。
【００１３】
いくつかの実施形態では、複数の仮想化コントローラが、ネットワークの一組のディスクを共有して、ストレージクラスタ又はグリッドアーキテクチャを形成することができる。
【００１４】
図１を参照して、概略ブロック図が、仮想的に無制限のストレージにアクセスするように構成されたストレージ装置１００の一実施の形態を示している。このストレージ装置１００は、状態情報を含む情報をディスクグループメタデータ１０４に書き込むようになっているロジック１０２を備える。この状態情報は、ディスクグループ１０６の状態を自己識別し、ディスクグループ状態情報がディスクコントローラ１０８に含まれていない場合に、ディスクコントローラ１０８が、ディスクグループ１０６に対応する仮想ディスク１１０を論理ユニットとしてクライアント１１２へロードして提示することを可能にするものである。仮想ディスクのクライアント又はホストへの提示は、仮想ディスクがそのクライアント又はホストに利用可能になることを意味する。
【００１５】
一例示の実施の形態では、ストレージ装置１００は、さらに、ディスクコントローラ１０８を備える。ロジック１０２は、ディスクコントローラ１０８において実行可能である。ロジック１０２は、プロセッサ、中央処理装置（ＣＰＵ）、デジタル信号プロセッサ、コンピュータ、状態マシン、プログラマブルロジックアレイ等のあらゆる適切な実行可能コンポーネントとして実施することができる。他の実施の形態では、ロジックは、ホストコンピュータ、ワークステーション、ストレージコントローラ、ネットワーク機器等の他のデバイスにおいて実施することができる。このロジックは、ハードウェア素子で実行されるソフトウェア又はファームウェアであると考えることもできるし、動作する処理素子又は回路機構とすることもできる。
【００１６】
仮想ディスク１１０は、１つ又は複数のホスト用のストレージとしてディスクコントローラ１０８により生成された、仮想化されたディスクドライブである。仮想ディスクの特徴は、容量、可用性、性能、及びアクセス性の特定の組み合わせを指定する。コントローラ対は、仮想ディスク１１０用に指定されたディスクグループ１０６内の仮想ディスクの特徴を管理する。定義によれば、ホストは、同じ特徴を有する物理ディスクの方法で仮想ディスク１１０を正確に見る。
【００１７】
いくつかの実施の形態では、ストレージ装置１００は、ストレージシステムの形態とすることができる。自己識別型仮想化グループの生成に備えて、ロジック１０２は、複数のディスク１１４をディスクグループサブセット１０６に分割するプロセスを含むことができる。個々のディスクグループは、自己完結的なドメインを形成し、このドメインから、仮想化されたディスクが割り当てられる。
【００１８】
ディスクグループは、仮想ディスクが生成される一組の物理ディスクドライブである。物理ディスクは、ドライブベイに差し込まれて、デバイス側のファイバチャネルループ等のインターフェースを通じてコントローラと通信するディスクドライブである。コントローラ単独で、物理ディスクと直接通信する。物理ディスクは、組み合わされると、アレイと呼ばれ、ストレージプールを構成する。このストレージプールから、コントローラは仮想ディスクを生成する。特定の一例の実施の形態では、１つのコントローラ対が、２４０個までの物理ディスクをサポートすることができる。特定のディスクドライブは、１つのディスクグループにしか属することができない。１つのディスクグループに複数の仮想ディスクを生成することができる。単一の仮想ディスクは、全体が１つのディスクグループ内に存在する。ディスクグループは、コントローラ対のアレイにすべての物理ディスクドライブを収容することもできるし、そのアレイのサブセットを収容することもできる。
【００１９】
ロジック１０２は、いくつかの動作を実行するように構成される。ロジック１０２は、１つ又は複数の物理ディスクドライブを結合して１つのディスクグループにすることにより、ディスクグループを生成することができる。通常のシステムは、物理ロケーションに基づいてドライブを自動的に選択する。また、ロジック１０２は、ディスクグループのプロパティを変更することによってディスクグループを変更することもできる。ディスクグループのプロパティは、ディスク障害保護レベル、占有アラームレベル、ディスクグループ名、又はコメントを含む。ロジック１０２は、新しい物理ディスクをディスクグループに追加することもできるし、そのディスクグループに含まれるすべての物理ドライブを解放することによってディスクグループを削除することもできる。ロジック１０２は、ディスクグループからディスクを除去することによって、ディスクのグループ解除を行うことができる。
【００２０】
ロジック１０２は、仮想ディスクコンテンツ及びマッピングを記述するディスクグループメタデータ１０４に情報を書き込む機能を実施する。特定の一実施形態では、仮想ディスクコンテンツ及びマッピングを自己記述するメタデータ１０４をディスクグループ１０６に書き込むことができる。ロジック１０２は、ディスクのミラーリングされた保護領域に状態情報を書き込むことができ、それによって、ディスクコントローラ１０８が、ディスクグループ１０６の状態データを含むことなく、仮想ディスク１１０を論理ユニット（ｌｕｎ）としてロードして提示できるようにする。ディスクグループメタデータ１０４は、ディスクグループ１０６の自己記述機能を生成する。情報は、さまざまなオンライン状態、ニアライン状態、及びオフライン状態の間におけるディスクグループ１０６の状態進行を記述するタグを含むことができる。
【００２１】
十分なメタデータをディスクグループ内に書き込んで、追加情報がなくても、ディスクグループの完全な復元を可能にすることにより、メタデータは自己記述的にされる。したがって、ディスクグループは、将来の不確定な時においても、異なるコントローラで異なるシステムにおける復元を可能にすべきである。
【００２２】
１つ又は複数のストレージアレイ１１８において、複数のスロット１１６のいずれにもオプションでディスクをインストールできるように、個々のディスクに選択的にタグを付けるようロジック１０２を構成することができる。ディスクのインストール位置にかかわらず、且つ、アーカイブ、移動、又はトランスポートからディスクを復帰させるストレージシステムにかかわらず、タグは、ディスクグループマッピングを十分に復元するディスクプロパティを記述するように形成される。
【００２３】
例示の仮想化オペレーションによって、メタデータを含むデータを、位置又は順序にかかわらず一般的にアクセス可能にすることが可能になる。少量のブートストラップ情報が、マップをロードするプロセスを開始元とするディスクの開始時に含められる。このブートストラップ情報は、残りのデータの位置を記述し、データセット全体及びすべてのメタデータの再生成を可能にする。ロジック１０２は、ディスクのオフライン、トランスポート、移動、及びアーカイブを行い、次いで、始発スロット又は任意のシステムの任意のスロットに戻すことを可能にするのに十分なデータをディスクに書き込み、それによって、マップは、ディスクの再インストール時に再生成される。
【００２４】
例示の仮想化オペレーションによって、アーカイブの目的で、又は、ローカルディスクコントローラのメモリ量がマッピングを保持するのに十分でない状況において、ストレージの仮想化サブセット全体をページアウトすることが可能になる。ローカルメモリを保存するために、一度にすべての仮想化マップがメモリにはロードされない。その代わり、現在アクセスされているデータ及び現在のデータスナップショットを含めて、現在アクティブな情報のみがマッピングされる。たとえば、バックアップデータを含めて、現在アクセスされていない休止状態のデータは、たとえば、キャビネットでウォームスタンバイに維持することもできるし、ヴォルト等でコールドスタンバイに維持することもできる。
【００２５】
仮想的に無制限のストレージを達成する仮想化オペレーションを実行するために、ロジック１０２は、ディスクに書き込まれるメタデータ内においてディスクグループの状態を指定する。いくつかの実施の形態では、この状態は、オフライン又はオンラインのようなものを単に識別するものとすることができる。一例示の実施の形態は、オンライン、ニアライン又はウォームスタンバイ、ディスクドライブをスピンダウンさせたクール状態、及びオフラインを含むいくつかの状態を定義することができる。
【００２６】
また、ロジック１０２は、ディスクグループの操作中に追跡オペレーションも実行する。追跡される情報は、たとえば、（１）ディスクグループが現在ランダムアクセスメモリにマッピングされているのか、それとも、ディスクにマッピングされているのかの表示と、（２）ディスクグループが現在メモリにマッピングされている場合には、メモリが更新されたかどうかの表示と、（３）ディスクグループをオフライン状態にする前にキャッシュがフラッシュされるかどうかの表示と、それ以外の可能な情報とを含む。
【００２７】
また、ロジック１０２は、ディスクグループのすべてのメタデータをディスクから転送して、そのメタデータをランダムアクセスメモリに配置する実現オペレーション（realizing operation）も実行することができる。この実現オペレーションは、別のデータ項目のロケーションを単に決定するためだけのデータ項目の読み出し等の非効率的又は不要なディスク読み出しオペレーションを回避することによって、効率性を増進し、したがって、性能を増進する。実現オペレーションの間、メタデータの更新、変更、又は移動を行うことができる。たとえば、実現は、特定のディスクにおけるデータ量をバランスさせること又は一様にすることを含むことができる。データの一部を選択的に削除することができる。データは、フリープールに戻すことができる。
【００２８】
データ操作は、ランダムアクセスメモリにおいて実行することができる。特定のディスクグループがオフラインにされ、且つ、メタデータがメモリから除去されて、取り替えディスクグループからのメタデータによって取り替えられると、更新されたメタデータは、ディスクにフラッシュバックされる。ユーザは、場合により、ディスクをスピンダウンして除去可能なオフラインにすることができる。したがって、ロジック１０２は、これらの操作をメタデータに対して知的に行い、たとえば、ディスクがスピンダウンされるか、又は、システムから除去される前に、メタデータのキャッシュされたコピーを使用中にＲＡＭに保持し、更新されたメタデータをディスクにフラッシュバックする。
【００２９】
ロジック１０２は、メタデータの状態進行タグを管理するようになっている。この進行タグは、たとえば、ニアライン状態、クール状態、及びオフライン状態といったディスクグループの状態を示し、且つ、ディスクグループが位置する場所、及び、ディスクグループが使用中であるかどうかも示すことができる。状態進行処理の一部として、ロジック１０２は、さらに、ディスクグループの衝突を処理する機能も実施することができる。たとえば、ディスクコントローラに新しく取り付けられたディスクグループは、ディスクコントローラにおいて使用中のディスクグループと衝突する論理ユニット番号（ｌｕｎ）の割り当てを有する場合がある。したがって、ロジック１０２は、ディスクグループが非アクティブな状態から再びロードされる時の論理ユニット割り当てを検出し、あらゆる衝突を判断し、たとえば、オンラインにされたディスクグループの論理ユニット割り当てを変更することにより、又は、データセットをディスマウントして、戻りディスクグループの場所を開けることにより、それら衝突を解決する。
【００３０】
また、ロジック１０２は、たとえば、ロード時に要求を見積もることによって、特定のデータセットが利用可能なものよりも多くのＲＡＭを要求するかどうかを判断することもできる。したがって、ロジック１０２は、ロードするディスクグループによって記述されたすべてのデータを仮想的にマッピングするのに十分な空間がＲＡＭで利用可能であることを保証する。十分な空間で利用可能でない場合、ロジック１０２は、たとえば、その状況を示すメッセージを生成して、ユーザに解決を要求することによるか、所定の基準に従ってディスクコントローラで取り替えられるディスクグループを自動的に選択することによるか、又は、他の動作によって、選択された方法でその状況に対処することができる。
【００３１】
ストレージ装置１００のいくつかの実施の形態は、１つ又は複数のストレージ管理ツールを実行するようにすることができる。たとえば、ストレージ装置は、さらに、ストレージ管理ツールオペレーションを実行するようになっているロジック１２２を備えることができる。通常の一実施形態では、ロジック１２２は、グラフィカルユーザインターフェース等のユーザインターフェース１２４と共に動作する。ただし、たとえば、フロントパネルのスイッチ又はボタン、キーボードインターフェース、リモート通信インターフェース等の他のタイプのインターフェースも使用することができる。ストレージ管理ツールオペレーションは、ディスクグループ１０６に記憶された、状態情報を含むメタデータ１０４に対して作用する。この状態情報は、ディスクグループ１０６の状態を自己記述し、ディスクグループ状態情報がディスクコントローラ１０８に含まれていない場合に、ディスクコントローラ１０８が、ディスクグループに対応する仮想ディスク１１０を論理ユニットとしてクライアント１１２へロードして提示することを可能にするものである。
【００３２】
ロジック１２２は、例示の実施の形態では、単なる一例としての目的でストレージ管理機器に常駐するものとして示されている。ロジック１２２は、あらゆる適切なデバイス又はシステムに等しく配置することができ、たとえば、例示のホスト若しくはクライアント、又は、サーバ等の別のデバイスに等しく配置することができる。また、例示の目的で、ロジック１２２及びグラフィカルユーザインターフェース１２４は、異なるデバイスに常駐するものとして示されている。ロジック１２２及びグラフィカルユーザインターフェース１２４は、同じデバイスに共通に配置することができる。
【００３３】
ストレージ装置１００は、テキサス州ヒューストンのHewlett-Packard社によって市販されているエンタープライズ仮想アレイ（ＥＶＡ（Enterprise Virtual Array））として構成することができる。エンタープライズ仮想アレイは、コマンドビューＥＶＡと呼ばれる管理ソフトウェアを含む。この管理ソフトウェアは、コントローラ１０８と通信し、コントローラ１０８と協力して動作し、エンタープライズ仮想アレイストレージシステムの制御及び監視を行う。また、エンタープライズ仮想アレイは、仮想コントローラソフトウェア（ＶＣＳ（Virtual Controller Software））も含む。このＶＣＳによって、エンタープライズ仮想アレイは、コントローラ１０８を介してコマンドビューＥＶＡと通信することが可能になる。ＶＣＳは、ストレージコントローラソフトウェア機能を実施する。このストレージコントローラソフトウェア機能は、ロジック１０２で少なくとも部分的に実行され、動的な容量拡張、自動的な負荷バランシング、ディスク利用強化、フォールトトレランス等を含むオペレーションをサポートする。エンタープライズ仮想アレイは、さらに、エンタープライズ仮想アレイを構成する物理ハードウェアも含む。この物理ハードウェアは、ディスクドライブ、ドライブ筐体、及びコントローラ１０８を含む。これらは、ラックにおいて結合し、ストレージエリアネットワーク（ＳＡＮ）に接続される。また、エンタープライズ仮想アレイは、エンタープライズ仮想アレイのストレージプールに付随して仮想ディスクを任意のディスク資源として使用するコンピュータであるホストサーバも含む。エンタープライズ仮想アレイは、ブラウザを通じてコマンドビューＥＶＡにアクセスすることにより管理される。
【００３４】
ストレージ装置１００は、ストレージアドミニストレータが自己記述的ディスクグループ１０６を状況に応じてマウントしたりディスマウントしたりすることをさらに可能にするストレージ管理ツールオペレーションの生成も可能にする。ユーザが、関連したストレージにアクセスしようと試みる時、仮想ストレージは、限られた量の高価なランダムアクセスメモリ（ＲＡＭ）にのみマッピングされる。それ以外の時は、アイドルなストレージディスクグループ１０６は、ウォームスタンバイニアライン状態、ディスクがスピンダウンされたクール状態、又は関連したディスク媒体が除去されてアーカイブされたオフラインに維持することができる。
【００３５】
ストレージ装置１００は、さらに、ロジック１０２による読み出し及び書き込みが可能なランダムアクセスメモリ１２０を含むことができる。ロジック１０２は、ディスクグループ１０６のマウント及びディスマウントを制御可能に行うストレージ管理ツールオペレーションを実施するように構成することができる。また、仮想ディスク１１０が選択的にアクセスされる時、ロジック１０２は、対応する仮想ディスク１１０をランダムアクセスメモリ１２０にマッピングすることもできる。
【００３６】
ロジック１０２は、ディスクグループの状態を選択的に設定するストレージ管理ツールオペレーションを定義するように構成することができる。一例示の実施の形態では、ディスクグループの状態には、アクティブ状態、ニアライン状態、スピンダウン状態、及びオフライン状態が含まれる。
【００３７】
例示のストレージ装置１００は、テープライブラリのハードウェア及び／又はソフトウェア等のストレージ容量をさらに追加することなく、オンラインからニアラインへ、ニアラインからオフラインへ及ぶさまざまなデータセット可用性選択肢の生成を可能にする。例示のストレージ装置１００は、低価格のシリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）ディスクドライブ及びファイバアッタチトテクノロジーアダプテッド（ＦＡＴＡ）ディスクドライブと組み合わさって、ニアライングループ又はオフライングループへの顧客データの定期的なスナップショットの取得、サイト外へのアーカイブ、及びより安価なストレージへのデータの移動を可能にする。また、例示のストレージ装置１００は、特別なライブラリのハードウェア及びソフトウェアの使用を管理する困難さがなく、且つ、アクティブな高性能ストレージコントローラ機能のマッピングを負担させることなく、テープバックアップの利点を可能にする。
【００３８】
ニアライン状態では、自動化された技法を使用してディスクドライブからのデータにアクセスすることができる。ただし、データがアクセス可能になる前に、１つ又は複数の動作上の必要条件が満たされることになる。例示では、ディスクが、読み出し及び書き込みオペレーションに適した定格回転速度にスピンアップされるように、ディスクドライブは、アイドリング状態で動作している。
【００３９】
ロジック１０２は、ディスクグループ媒体を１つ又は複数の媒体ドライブにインストールすることによって、ディスクグループをニアライン状態でのオペレーション用に構成する。ロジック１０２は、そのディスクグループにアクセスするためのメタデータを、そのディスクグループの物理ドライブに常駐するディスクグループ媒体に書き込む。ニアライン状態では、ディスクグループの１つ又は複数の媒体ドライブは、アイドリング状態で動作する。ディスクグループ媒体ドライブに常駐するメタデータは、ディスクグループ状態情報がディスクコントローラに含まれていない場合に、ディスクグループのアクセスを可能にするのに十分な情報と共に書き込まれる。
【００４０】
ウォームスタンバイ状態と呼ぶこともできるニアライン状態では、ディスクグループメタデータは、ディスクコントローラの内部メモリではなく、ディスクドライブに記憶される。その結果、高価なメモリが保存される。ニアライン状態のディスクグループは、ディスクコントローラの内部メモリを使用しないが、それ以外では、差し迫ったアクセスに利用可能であり、アイドリングディスクドライブにマウントされ、そのディスクグループのデータセットが要求された時のアクセスに準備される。その要求に応答して、ロジック１０２は、アイドリングドライブをスピンアップさせ、マッピングメタデータをディスクから読み出し、マップをディスクコントローラ内部メモリに転送する。したがって、ディスクコントローラＲＡＭメモリは、本質的に無制限の個数のディスクグループ間の多重使用に割り当てられ、本質的に無制限の量の仮想空間が利用可能にされる。すべてのディスクグループが同時にインスタンス化される必要も実現される必要もない場合に、ニアライン状態によって、仮想的に無制限の個数のディスクグループの差し迫ったアクセスが可能になる。この文脈における「本質的に無制限」及び「仮想的に無制限」という用語は、仮想空間の量が、ディスクドライブへのハードウェア接続に対する制限によってのみ限られることを意味する。ループ用の容量及びＮポートサービスを有するファイバチャネルスイッチは、バスアドレス指定能力に対する理論的限界を有しない。
【００４１】
ストレージ管理ツールオペレーションは、ディスクグループをニアライン状態にするために呼び出すことができる。このオペレーションの一例の実施の形態は、この選択されたディスクグループを対象にした新たな書き込みコマンドの受け付けを終了し、ディスクグループのユーザデータをディスクコントローラライトバックキャッシュからディスクへ転送し、ユーザダーティデータ（user-dirty data）のディスクコントローラライトバックキャッシュをフラッシュすることによって、このディスクグループを一時停止する。一時停止動作の実行によって、ライトバックキャッシュのユーザデータはディスクへ確実に転送され、メタデータは確実に更新され、ディスクグループメタデータのキャッシュは確実にフラッシュされる。また、ニアラインストレージ管理ツールオペレーションは、データのレベル化等のさまざまな操作を含むこともできる。また、このオペレーションは、ディスクコントローラローカルメモリのメタデータに対するあらゆる変更を終了させることができ、その結果、ディスクに書き込まれたメタデータは最終状態になる。終了すると、ディスクグループはニアライン状態になり、ディスクは自己記述的であり、コヒーレントであり、且つ、一貫性を有する。ニアライン状態では、ディスクグループメタデータをもはや書き込むことはできず、マッピング情報のすべてはディスクに記憶される。したがって、ニアライン状態ストレージ管理ツールオペレーションは、ローカルディスクコントローラメモリの関連したディスクグループマップのすべてを削除し、他のディスクグループによる使用にメモリを解放し、ディスクグループにニアライン状態にあるものとして印又はタグを付ける。また、ニアライン状態ストレージ管理ツールオペレーションは、ソフトウェアにおいて、マップ用に事前に予約されたランダムアクセスメモリの割り当ても解放する。現在のマッピングはディスクに書き込まれるので、メモリのマップはもはや必要とされない。ディスクグループがニアライン状態になると、エラーメッセージが生成されて、ディスクグループへのアクセスが試みられる。ニアライン状態のディスクグループは、ディスクグループをオンライン状態に戻すストレージ管理ツールオペレーションを明示的に実行した後にのみ、アクセスすることができる。
【００４２】
オンライン状態、ニアライン状態、及びクール状態の場合、ディスクグループは、ディスク筐体の同じスロット内に留まる。クール状態は、ニアライン状態と類似しているが、ディスクドライブがスピンダウンされた状態のクール状態にあるとしてタグ付けされ、スロットに収容されているものとして識別される。ニアライン状態のように、クール状態では、ディスクグループに書き込むことができない。ディスクグループは、一般にクール状態にされて、ディスクグループをクール状態に無期限に維持する意図が宣言され、節電されるが、スロット又はキャビネットからディスクグループを除去する意図はない。クール状態のディスクグループは、絶えずストレージシステム内に留まっているので、そのディスクグループは、単にディスクをスピンアップさせて、ディスクグループをオンラインにするだけで、アクセス可能な状態にされ、ディスクグループに対するあらゆる更新及びデータの一貫性が維持される。
【００４３】
したがって、ストレージ管理ツールオペレーションは、ディスクグループがクール状態にあるものとしてタグ付けされることを除いて、ニアライン遷移と同じ手順を使用して、ディスクグループをクール状態にする。
【００４４】
オフライン状態では、ディスクグループのディスクは、除去されてアーカイブされる。ストレージ管理ツールオペレーションは、オンラインからニアラインへの遷移を再現する手順をいくつかの追加動作を組み合わせて使用して、ディスクグループをオンライン状態からオフライン状態へ遷移させる。ディスクグループのディスマウント及びマウントは、本来的に、メタデータの読み出し、並びに、状態情報の設定及び／又は変更を含む。また、オフラインストレージ管理ツールオペレーションは、ディスクグループを、オフライン状態にあるものとしてタグ付けし、ホストコンピュータがアクセス可能なワールドワイドＩＤ等の識別子でディスクグループを識別する。オフラインストレージ管理ツールオペレーションは、ディスクグループメタデータの一部の変更も行い、フォーリンディスクグループ（foreign disk group）がディスクコントローラにマウントされた状態で、メタデータの内容の一貫しない解釈又は正しくない解釈を回避する。フォーリンディスクグループは、異なるディスクコントローラから書き込まれたメタデータ及び／又はデータを有するディスクグループである。
【００４５】
ディスクグループメタデータは、そのディスクグループのデータを記述する情報を含む。また、ディスクグループメタデータは、ディスクコントローラの状態を記述する情報も含み、たとえば、ディスクコントローラ名の識別情報、ディスクグループのワールドワイドＩＤ、エラーログ、並びに、コントローラ及びコントローラに取り付けられたディスクの管理グラフィカルユーザインターフェース表示を含む。ディスクコントローラの状態を記述するディスクグループメタデータは、コントローラ並びにディスクコントローラに関連したラック及び／又はキャビネットを記述する情報、ディスクコントローラに接続できる環境モニタユニットがもしあれば、当該環境モニタユニットを識別する情報を含むこともできる。
【００４６】
通常のディスクコントローラは、指定された個数のディスクグループをサポートすることができる。一例では、ディスクコントローラは、１６個までのディスクグループをサポートすることができる。通常の構成では、ディスクグループメタデータは、そのディスクグループ単独のデータの記述を含み、また、コントローラ全体、ディスクグループを収容するラック、環境モニタ、並びにホスト及び管理グラフィカルユーザインターフェースに対する関連したすべての提示も含む。したがって、１６個のディスクグループのいずれか又は１５個すべてが破壊された場合、残りのディスクグループが、その残りのグループ及びコントローラ全体のデータを記述することができる。
【００４７】
オフライン状態は、ディスクグループのフォーリンステータス（foreign status）の概念を生成する。オフラインにされたディスクグループは、異なるコントローラに取り付けることもできるし、誤った動作又は衝突した動作の可能性を生み出すように変更された同じコントローラに取り付けることもできる。したがって、オフライン状態にあるディスクグループは、フォーリンであり、それによって、ディスクグループデータの正しい記述を有するが、関係しないコントローラ環境の記述を有するメタデータを含む。
【００４８】
このように、ストレージ管理ツールオペレーションは、ディスクグループが移動することが可能である意図を示すオフラインとしてディスクグループをタグ付けする。たとえば、コントローラＡからオフラインにされたディスクグループは、そのディスクグループをフォーリンとして宣言し、移動を可能にする。このディスクグループは、コントローラＢに取り付けることができる。コントローラＢは、メタデータにアクセスし、ディスクグループのフォーリン性を示す関連したタグを読み出し、ディスクグループがコントローラＢの子孫でないと判断する。コントローラＢは、ディスクグループデータに対して作用することができ、メタデータのコントローラ状態情報による影響を受けない。一例示の実施の形態では、ディスクグループメタデータは、ワールドワイドＩＤでタグ付けされ、コントローラは、ディスクグループがそのコントローラに対してフォーリンであるかどうかを判断することが可能になる。ディスクグループがコントローラＡに戻される場合、コントローラＡは、ワールドワイドＩＤタグを読み出して、ディスクグループがフォーリンでないと判断することができ、また、オフライン状態を示すタグを読み出すこともでき、メタデータのコントローラ状態情報が現在のものでない場合があり、且つ、コントローラメタデータの正式なコピーとして信頼できない場合があるとの判断が可能になる。
【００４９】
いくつかのアプリケーションでは、ワールドワイドＩＤ等のタグ情報は、データのソース又は起源を識別するのに使用することができる。たとえば、ビジネスエンティティは、データをオフラインに移動させて、ソース情報を有するメタデータをタグ付けすることにより、第１のビジネスユニットから第２のビジネスユニットへデータを移動させることができる。たとえば、人事部から蓄積されたディスクグループを法務部へ移動させることができ、タグによって、法務部は、データソース及び真正さを判断することが可能になる。
【００５０】
データを移動させる機能によって、物理ディスクを、同じ物理設備又は異なる物理設備の或るアレイから別のアレイへ移動させることが可能になる。同様に、ファームウェア及び／又は製品版にわたる一貫した一組のシグネチャにより、移動機能は、古いアレイから新しいアレイへデータをコピーする休止時間を必要とすることなく、ストレージアレイの更新を可能にするのに使用することができる。また、移動機能は、ストレージシステムのハードウェアにおける主要な変化を、変更に対処するのに追加されたメタデータで対応するように実施することができると同時に、メタデータの上位互換性及びレガシーメタデータの継続したサポートも可能にする。
【００５１】
メタデータの互換性は、互換性インデックスに基づいて追跡することができる。この互換性インデックスによって、現在のインデックスと同じ互換性インデックス、又は、多くとも１つの、現在のインデックスより小さな互換性インデックスによりディスクグループからデータを常に読み出すことができる。データがコントローラの進行を通じて移動するように、前の世代のデバイスに形成されたデータセットを常に更新することができる。各進行事象において、互換性インデックスを現在の状態に増加させることができ、したがって、データはあまり古いものとなることはない。アーカイブストレージは、互換性インデックスのインクリメントごとにマッピングされる必要はなく、メタデータの変更が、選択されたビットカウントを超える実質的な新しい特徴のインストールについてのみインクリメントされる。
【００５２】
例示の構造及び技法は、ループ又は拡張可能ポート（Ｎポート）サービスに適合されたファイバチャネルスイッチ等の拡張可能ネットワークファブリックと組み合わせて実施することができ、その結果、ディスク筐体は、ネットワーク標準規格において課せられたアドレス指定能力の限界を超える大きなキャビネットに集めることができる。図２を参照して、概略ブロック図が、ストレージシステム２０２をさらに備えるストレージ装置２００の一実施の形態を示している。ストレージシステム２０２は、１つ又は複数のストレージキャビネット２０４を備える。このストレージキャビネット２０４は、当該ストレージキャビネット２０４に配置されてディスクグループサブセット２０８に分割された複数のディスクドライブ２０６を収容する。ストレージシステム２０２は、さらに、ディスクドライブ２０６に通信結合された１つ又は複数の仮想化ディスクコントローラ２１０も備える。ストレージシステム２０２は、さらに、仮想化ディスクコントローラ２１０の配置をディスクグループサブセット２０８にマッピングするようになっているロジック２１２も備える。ロジック２１２は、仮想化ディスクコントローラ２１０の１つ又は複数において実行可能とすることができ、ホスト２１４又はホストクラスタへディスクグループ２０８の選択された１つ又は複数の論理ユニットをサーブするように動作する。
【００５３】
いくつかの実施形態では、ロジック２１２は、仮想化ディスクコントローラ２１０のディスクグループサブセット２０８へのマッピングを動的に再構成することによりディスクコントローラの構成の変化に応答する。
【００５４】
例示の構造及び技法は、格子の複数の仮想化ストレージコントローラをストレージエリアネットワーク（ＳＡＮ）に構築して、たとえば数千個のディスクドライブといった非常に多数のディスクドライブへのアクセスを可能にするように適用することができる。用途又は目的に応じて多数のディスクドライブを配置してそれらディスクドライブにアクセスすることができる。図３を参照して、概略ブロック図が、相互に切り離された複数のストレージコントローラ３０６を有するストレージ装置３００の一実施の形態を示している。これらのストレージコントローラ３０６は、格子でネットワークファブリック３０２に接続されて、潜在的に無制限の量のストレージを共有する。この配置によって、障害を受けたコントローラと同じディスクグループにアクセスするように構成された他の多くのコントローラがディスクグループをマッピングして、ディスクグループをオフライン状態からオンライン状態へすることを可能にすることにより、１つ又は複数のコントローラの障害によって引き起こされる障害モードが回避される。したがって、置換されたコントローラは、ディスクグループによって表されたストレージを、障害を受けたコントローラがサーブしていた１つ又は複数の同じホストにかなり高速に提示することができる。
【００５５】
ストレージ装置３００は、ストレージエリアネットワーク３０２を備える。このストレージエリアネットワーク３０２は、バックエンドファブリック３０４により数千個のディスクドライブ３０８に接続されたストレージエリアネットワーク（ＳＡＮ）に格子の複数の仮想化ストレージコントローラ３０６を有する。このストレージエリアネットワークは、ネットワークファブリック３０２を備える。このネットワークファブリック３０２は、複数の仮想化ストレージコントローラ３０６及び多数のディスクドライブ３０８を接続する。ストレージ装置３００は、さらに、複数の仮想化ストレージコントローラ３０６の１つ又は複数で実行可能なロジック３１０も備えることができる。仮想化ストレージコントローラ３０６は、ディスクドライブ３０８を、共通の目的で協調的に編成された１つ又は複数のディスクグループ３１２に分割する。ロジック３１０は、選択されたストレージコントローラから、ネットワークファブリック３０２によりストレージエリアネットワークに結合された１つ又は複数のクライアントホスト３１４における選択されたアプリケーションセットへの論理ユニットを生成することができる。
【００５６】
ストレージ装置３００によって、仮想化ディスクコントローラの集まりがサーブする格子のデータストレージ資源を構築することが可能になる。ディスクコントローラは、従来のファイバチャネル調停ループ（ＦＣＡＬ）バス技術上のいずれか１つのコントローラがサーブすることができるものよりもはるかに大きな集まりのディスクドライブへの共有されたシリアルアクセスを有する。格子のコントローラは、全体として、ファイバチャネルスイッチファブリックの複数の同時接続によって可能にされる高い帯域幅でストレージをサーブする。また、コントローラは、互いに対してスタンバイとして動作することもでき、データ可用性が増大される。
【００５７】
一例示の配置では、ストレージエリアネットワーク３０２は、１つ又は複数の常駐ディスクグループを有することができる格子を形成する。これらの常駐ディスクグループは、移動せず、常に、コントローラのメタデータを含む。複数の非常駐ディスクグループを割り当てることができる。これらの非常駐ディスクグループは、自由に移動し、データを含むが、コントローラのメタデータが省かれる場合があり、したがって、冗長なコントローラ情報で場所をふさがれることはない。
【００５８】
ストレージコントローラ３０６は、クライアントホスト３１４からストレージエリアネットワーク３０２を通じてストレージ要求のターゲットとして動作する。ホスト３１４は、ホストバスアダプタ（ＨＢＡ（host bus adapter））を有する。このＨＢＡは、ストレージエリアネットワーク相互接続を介して、ストレージエリアネットワークファブリックのスイッチにインターフェースする。ストレージコントローラ３０６は、ストレージアレイのバックエンドリンクへイニシエータとして要求を渡す。ストレージエリアネットワーク３０２は、通常、ＳＡＮエッジリンク、スイッチ、及び相互スイッチリンクから成る。相互スイッチリンクは、サーバ、コントローラ、テープ、ストレージエリアネットワーク機器等のデバイスを相互接続する。
【００５９】
図４を参照して、フローチャートが、仮想的に無制限のストレージの生成及び／又はアクセスのための方法４００の一実施の形態を示している。この方法４００は、あらゆる適切なストレージシステムロジック１０２、２１２、及び３１０で実行することができる。特定の例では、方法４００は、システム１００、２００、３００等のバックエンドディスクの集まりからのストレージエリアネットワーク（ＳＡＮ）をサーブするスタンドアロンディスクコントローラで実施することができる。１つ又は複数のインテリジェントな独立ディスク冗長アレイ（ＲＡＩＤ）のデータムーバモジュールを使用して、データ転送を容易にすることができる。
【００６０】
ステップ４０２において、ロジックは、複数のディスクをディスクグループサブセットに分割する。ステップ４０４において、ロジックは、個々のディスクグループを自己完結的なドメインとして構成する。仮想化されたディスクが、ディスクグループの自己完結的なドメインから割り当てられる。ステップ４０６において、ロジックは、ディスクグループメタデータにさまざまな情報を書き込む。このさまざまな情報は、ディスクグループ状態を自己識別する状態情報を含む。この情報によって、ディスクグループ状態情報が、ディスクコントローラに含まれない場合に、ディスクコントローラは、そのディスクグループに対応した仮想ディスクを論理ユニットとしてクライアントへロードして提示することも可能になる。
【００６１】
図５を参照して、フローチャートが、仮想的に無制限のストレージを有するシステムにおいて自己記述的なディスクグループを管理するための方法５００の一実施の形態を示している。ステップ５０２において、ロジックは、ディスクグループのマウント及びディスマウントを制御可能に行うストレージ管理ツールオペレーションを生成する。ロジックは、ステップ５０６において、選択されたディスクグループのマウント又はディスマウントを制御可能に行い、ステップ５０８において、仮想ディスクが同時実行中のさまざまなプロセス又はタスクによってアクセスされた時に、対応する仮想ディスクをランダムアクセスメモリにマッピングすることによって、ステップ５０４において、生成されたストレージ管理ツールオペレーションを実行することができる。
【００６２】
ストレージ管理ツールオペレーションは、さまざまなオペレーション及びアプリケーションを実行することができる。特定の例では、ストレージ管理ツールによって、ロジックは、ステップ５１０において、複数の状態の中からディスクグループの状態を設定することが可能になる。たとえば、ステップ５１０において、ロジックは、アクティブ状態、ニアライン状態、スピンダウン状態、及びオフライン状態の中からディスクグループ状態を選択することができる。
【００６３】
図６を参照して、概略フローチャートが、仮想的に無制限のストレージ容量をサポートするようになっている方法６００の別の態様の一実施の形態を示している。ループ又はＮポートサービスをサポートする比較的安価なファイバチャネルスイッチの出現により、ディスク筐体を、ファイバチャネル調停ループ（ＦＣ−ＡＬ）バスの共通のアドレス指定能力を超える大きなキャビネットに集めることができる。方法６００は、１つ又は複数のストレージキャビネットを設けるステップ６０２、及び、複数のディスクドライブを１つ又は複数のストレージキャビネットに配置するステップ６０４を含む。ドライブ筐体の大きな集まり及び関連したドライブは、ステップ６０６において、ディスクグループサブセットに再分割される。ディスクグループは、特定のクライアントホストの１つ又は複数のアプリケーションに適用されるストレージ空間を備える、関連したファイルセット又はデータベースを含むことができる。１つ又は複数の仮想化ディスクコントローラは、ステップ６０８において、複数のディスクドライブを含むネットワークに接続することができる。たとえば、複数の仮想化ディスクコントローラは、ディスクの大きな集まりに取り付けることができ、ステップ６１０において、個々のディスクコントローラは、いつでも、ホスト又はホストのクラスタへディスクグループの１つの論理ユニット（ｌｕｎ）をサーブすることができる。方法６００は、さらに、仮想化ディスクコントローラの配置をディスクグループサブセットにマッピングするステップ６１２を含む。或るディスクコントローラが障害になった時、又は、新たなディスクコントローラがシステムに追加された時、ステップ６１４において、ディスクコントローラのディスクグループへのマッピングを動的に再構成して、障害の場合のサービスの継続又はサービスのバランスの改善を行うことができる。
【００６４】
特定の技法では、複数のディスクをディスクグループサブセットに分割し、且つ、仮想化ディスクがそこから論理ユニットとしてクライアントに割り当てられて提示される自己完結的なドメインとして個々のディスクグループを構成することによって、クライアントデータを移動させることができる。ディスクグループにとって、メタデータは、マッピング情報及びディスクグループの状態を自己識別する状態情報を含む情報である。ディスクグループは、第１のアレイからディスマウントし、第１のアレイから第２のアレイへ物理的に移動させ、次いで第２のアレイにマウントすることができる。マウント動作は、ディスクグループメタデータを読み出すこと、及びディスクコントローラが、そのディスクグループに対応する仮想化されたディスクを論理ユニットとしてクライアントへロードして提示することを可能にすることを含む。ディスクグループは、第２のアレイからアクセス可能になる。
【００６５】
図７を参照して、概略フローチャートが、仮想的に無制限のストレージを適用して格子の複数の仮想化ストレージコントローラを構築するための方法７００の一実施の形態を示している。方法７００は、複数の仮想化ストレージコントローラ及び多数のディスクドライブを有するストレージエリアネットワークを構成するステップ７０２を含む。たとえば、格子は、バックエンドファブリックを介して数千個のディスクドライブに接続されたストレージエリアネットワーク（ＳＡＮ）における複数の仮想化ストレージコントローラで構築することができる。ステップ７０４において、多数のディスクドライブは、共通の目的で協調的に編成された１つ又は複数のディスクグループに分割することができる。方法７００は、さらに、選択された個々のストレージコントローラから、ストレージエリアネットワークに接続された１つ又は複数のクライアントホストにおける選択されたアプリケーションセットへの論理ユニット（ｌｕｎ）のサービスグループの関連付けを生成するステップ７０６も含む。ストレージコントローラを異なるアプリケーションセットに関連付けるｌｕｎのサービスは、ストレージコントローラの一部又はすべてについて生成することができる。コントローラの障害の場合に、アプリケーションセットが、別の機能しているコントローラへフェールオーバすることを可能にする管理ツールオペレーションを生成することができる。
【００６６】
いくつかの実施の形態では、ストレージは、複数の仮想ディスクを、ディスクコントローラのディスクコントローラループに接続して、それら複数の仮想ディスクの一部をディスクコントローラにマウントすることによって管理することができる。ストレージマップは、マウントされた各仮想ディスクについてディスクコントローラの固定サイズのメモリにロードされる。アンマウントされた仮想ディスクに含まれるデータの要求は、一定のサイズのストレージマップを有するアンマウントされた仮想ディスクで受信することができる。十分な個数のマウントされた仮想ディスクをディスマウントして、固定サイズのメモリが、一定のサイズのアンマウントされた仮想ディスクストレージマップを収容することを可能にすることができる。アンマウントされた仮想ディスクは、マウントすることができる。
【００６７】
いくつかの実施形態では、アンマウントされた仮想ディスクをマウントすることは、さらに、アンマウントされた仮想ディスクからディスクグループメタデータを読み出すことを含むことができ、それによって、ディスクコントローラは、ディスクグループに対応する仮想化されたディスクを論理ユニットとしてクライアントへロードして提示することが可能になる。
【００６８】
いくつかの構成は、アンマウントされた仮想ディスクをマウントすることが、ディスクグループメタデータをアンマウントされた仮想ディスクから読み出す動作と、マウント状態に従ってディスクグループメタデータの状態情報を更新する動作とを含むことができるシステムを実施することができる。
【００６９】
システムによって遂行又は実行されるさまざまな機能、プロセス、方法、及びオペレーションは、プログラムとして実施することができる。これらのプログラムは、さまざまなタイプのプロセッサ、コントローラ、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、状態マシン、プログラマブルロジックアレイ等で実行可能である。プログラムは、あらゆるコンピュータ関連システム若しくはコンピュータ関連方法によって使用されるか、又は、それらと共に使用されるあらゆるコンピュータ可読媒体に記憶することができる。コンピュータ可読媒体は、コンピュータ関連システム、コンピュータ関連方法、コンピュータ関連プロセス、若しくはコンピュータ関連プロシージャによって使用されるか、又は、それらと共に使用されるコンピュータプログラムを含むか、又は、記憶することができる電子的、磁気的、光学的、又は他の物理的なデバイス又は手段である。プログラムは、コンピュータ又はプロセッサに基づくシステム、又はあらゆる適切なタイプの命令メモリ又はストレージから命令をフェッチできる他のシステム等、命令実行システム、命令実行デバイス、命令実行コンポーネント、命令実行素子、若しくは命令実行装置によって使用されるか、又は、それらと共に使用されるコンピュータ可読媒体で具現することができる。コンピュータ可読媒体は、命令実行システム、命令実行装置、若しくは命令実行デバイスによって使用されるか、又は、それらと共に使用されるプログラムの記憶、通信、伝播、又は転送が可能であるあらゆる構造体、デバイス、コンポーネント、製品、又は他の手段とすることができる。
【００７０】
例示のブロック図及びフローチャートは、プロセスの特定の論理機能又はステップを実施するための１つ又は複数の実行可能命令を含むコードのモジュール、セグメント、又は部分を表すことができるプロセスステップ又はプロセスブロックを示している。特定の例は、特定のプロセスステップ又は動作を示しているが、多くの代替的な実施形態が可能であり、一般に簡単な設計選択によって行われる。動作及びステップは、機能、目的、標準規格との適合、レガシー構造等の考慮に基づいて、本明細書の特定の説明とは異なる順序で実行することができる。
【００７１】
本開示はさまざまな実施の形態を説明しているが、これらの実施の形態は、例示として理解されるべきであり、特許請求の範囲を限定するものではない。説明した実施の形態の多くの変形、変更、追加、及び改良が可能である。たとえば、当業者は、本明細書に開示した構造及び方法を提供するのに必要なステップを容易に実施し、プロセスパラメータ、材料、及び寸法が単なる例として与えられることを理解する。パラメータ、材料、及び寸法は、所望の構造及び変更したものを達成するために変化する可能性があり、それらの構造及び変更したものも、特許請求の範囲内に含まれる。本明細書に開示した実施の形態の変形及び変更も、添付の特許請求の範囲に含まれることを維持しつつ行うことができる。たとえば、開示したストレージコントローラ、ストレージデバイス、及びファブリックは、あらゆる適切な構成を有することができ、あらゆる適切な個数のコンポーネント及びデバイスを含むことができる。例示の構造及び技法は、あらゆるサイズのシステムで使用することができる。ディスクグループ状態の定義、個数、及び用語は、用途、慣習、及び他の考慮事項に応じて変化し得るが、引き続き特許請求の範囲に含まれる。フローチャートは、データの処理例を示しており、他の読み出し機能及び書き込み機能にさらに拡張することもできるし、類似の動作、機能、又はオペレーションの実行に変更することもできる。
【図面の簡単な説明】
【００７２】
【図１】仮想的に無制限のストレージにアクセスするように構成されたストレージ装置の一実施の形態を示す概略ブロック図である。
【図２】ネットワーク標準規格において課せられたアドレス指定能力の限界を超える大きなキャビネットに収集されたディスク筐体を含むストレージシステムの一実施の形態を示す概略ブロック図である。
【図３】格子でネットワークファブリックに接続されて潜在的に無制限の量のストレージを共有する複数の相互に切り離されたストレージコントローラを有するストレージ装置の一実施の形態を示す概略ブロック図である。
【図４】仮想的に無制限のストレージの生成及び／又はアクセスのための方法の一実施の形態を示すフローチャートである。
【図５】仮想的に無制限のストレージを有するシステムにおいて自己記述的なディスクグループを管理するための方法の一実施の形態を示すフローチャートである。
【図６】仮想的に無制限のストレージ容量をサポートするようになっている方法の別の態様の一実施の形態を示す概略フローチャートである。
【図７】仮想的に無制限のストレージを適用して格子の複数の仮想化ストレージコントローラを構築するための方法の一実施の形態を示す概略フローチャートである。
【符号の説明】
【００７３】
１００・・・ストレージ装置
１０２、１２２・・・ロジック
１０４・・・ディスクグループメタデータ
１０６・・・ディスクグループ
１０８・・・ディスクコントローラ
１１０・・・仮想ディスク
１１２・・・クライアント
１１４・・・ディスク
１１６・・・スロット
１１８・・・ストレージアレイ
１２０・・・ＲＡＭ
１２４・・・ＧＵＩ
２００・・・ストレージ装置
２０２・・・ストレージシステム
２０４・・・ストレージキャビネット
２０６・・・ディスクドライブ
２０８・・・ディスクグループ
２１０・・・ディスクコントローラ
２１２・・・ロジック
２１４・・・ホスト
３００・・・ストレージ装置
３０２・・・ＳＡＮファブリック
３０４・・・バックエンドファブリック
３０６・・・ストレージコントローラ
３０８・・・ディスクドライブ
３１０・・・ロジック
３１２・・・ディスクグループ
３１４・・・ホスト
【図１】
2006302274.tif 000003
【図２】
2006302274.tif 000004
【図３】
2006302274.tif 000005
【図４】
2006302274.tif 000006
【図５】
2006302274.tif 000007
【図６】
2006302274.tif 000008
【図７】
2006302274.tif 000009