(57)【特許請求の範囲】
【請求項１】
各ディスクアレイ装置における記憶制御装置が備え、当該ディスクアレイ装置の各種管理情報等を格納している共有メモリを制御して、記憶制御装置を跨ったＩ／Ｏデータの授受を実行する方法であって、
ネットワーク機器監視プロトコルに基づいて他記憶制御装置の構成管理データを収集して他記憶制御装置の共有メモリのアドレスを取得し、各記憶制御装置の共有メモリにおいて、前記Ｉ／Ｏデータ授受の対象となる前記他記憶制御装置の共有メモリのアドレスを記憶するステップと、
ネットワーク機器監視プロトコルに基づいて他記憶制御装置の構成管理データを収集して他記憶制御装置の新設または削除を認識し、これに応じて各共有メモリに対し、該当他記憶制御装置の共有メモリのアドレスを登録または削除して各共有メモリ内容を更新し同期させるステップと、
上位装置からのＩ／Ｏ要求を受信した記憶制御装置Ａにおいて、Ｉ／Ｏ要求対象のボリュームを管理する共有メモリのアドレスを、共有メモリにおいて認識するステップと、
認識した共有メモリのアドレスが他記憶制御装置Ｂの共有メモリに該当する場合、各記憶制御装置の共有メモリ間を結ぶネットワーク上に配置され、当該ネットワークのパケットフォーマットに含まれる各記憶制御装置および共有メモリのアドレスに応じて各共有メモリ間のパス切替を行うスイッチ装置に、前記記憶制御装置Ａおよび記憶制御装置Ｂにおける接続対象の共有メモリ間のパスを確立する指示を発するステップと、
Ｉ／Ｏ要求に対してパスが確立された旨を上位装置に通知するステップと、
を含むことを特徴とする共有メモリ制御方法。
【請求項２】
各共有メモリ内容の前記更新および同期処理を所定タイミングで、若しくはディスクアレイ装置の起動または終了時に行うことを特徴とする請求項１に記載の共有メモリ制御方法。
【請求項３】
請求項１または２に記載の共有メモリ制御方法を実現するシステムであって、前記各ステップを実行する手段を備えることを特徴とする共有メモリ制御システム。
【請求項４】
前記共有メモリ制御システムが各ディスクアレイ装置に組み込まれていることを特徴とする請求項３に記載の共有メモリ制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上の複数のディスクアレイ装置の記憶制御装置が各々備える共有メモリを制御して、記憶制御装置を跨ったＩ／Ｏデータの授受を実行する共有メモリ制御方法とそのシステムに関する。
【０００２】
【発明の背景】
近年の情報技術の進展と歩調を合わせるように、コンピュータシステムとストレージに対する負荷は増大し続け、それらに要求される処理内容も高度化、複雑化している。そこで、ストレージを簡素化し、可用性を高め、なおかつ増大するデータとアプリケーションの要求を満たすため、例えばＳＡＮ（ＳｔｏｒａｇｅＡｒｅａ Ｎｅｔｗｏｒｋ）やコンピュータクラスタの概念を重視するようになってきた。このような環境ではストレージの共有やそれに伴うデータ共有を実現するものとなっているが、例えば前記ＳＡＮを構成するディスクアレイ装置間では、直接にデータのやり取りを行う技術は確立されていない。その結果、ディスクアレイ装置の各種管理情報は、各記憶制御装置が独立して管理するものとなっていた。
【０００３】
【発明が解決しようとする課題】
上記したＳＡＮの如く複数のストレージを専用のネットワークで結んで共用化することで確かにストレージ管理の簡便化と効率化を招来することとなった。しかしながら、このようなストレージシステムにアクセスするアプリケーションサーバ等の上位装置、またそのユーザからみれば、ＳＡＮに連なる各ディスクアレイ装置の各ストレージ毎にそのアドレスをファブリックに対して指定して該当ストレージへのパスを確保し、これにアクセスし利用する手順を必要とした。
【０００４】
つまり、各ディスクアレイ装置およびその配下のストレージ群は、ＳＡＮに接続されている上位装置からは別個のストレージシステムとしてイメージされることとなり、各ストレージを一体にアクセス管理することはなかった。勿論、ディスクアレイ装置間でのデータ連携やリモートコピー等の各種データ移動を行う場合には、各ディスクアレイ装置のチャネルアダプタおよびバスを介して上位装置と通信し、イニシエータとターゲットとの間のパスを確保する必要があった。ここで扱うデータ量が膨大であれば、バスを占有しプロセッサへの負荷を非常に高めてシステム全体の処理効率を低下させる惧れもある。
【０００５】
そこで本発明はこのような経緯に基づいてなされたもので、記憶制御装置を跨ったＩ／Ｏデータの授受を可能にする共有メモリ制御方法およびシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
この目的を達成するための、本発明の主たる発明は、各ディスクアレイ装置における記憶制御装置が備え、当該ディスクアレイ装置の各種管理情報等を格納している共有メモリを制御して、記憶制御装置を跨ったＩ／Ｏデータの授受を実行する方法であって、ネットワーク機器監視プロトコルに基づいて他記憶制御装置の構成管理データを収集して他記憶制御装置の共有メモリのアドレスを取得し、各記憶制御装置の共有メモリにおいて、前記Ｉ／Ｏデータ授受の対象となる前記他記憶制御装置の共有メモリのアドレスを記憶するステップと、ネットワーク機器監視プロトコルに基づいて他記憶制御装置の構成管理データを収集して他記憶制御装置の新設または削除を認識し、これに応じて各共有メモリに対し、該当他記憶制御装置の共有メモリのアドレスを登録または削除して各共有メモリ内容を更新し同期させるステップと、上位装置からのＩ／Ｏ要求を受信した記憶制御装置Ａにおいて、Ｉ／Ｏ要求対象のボリュームを管理する共有メモリのアドレスを、共有メモリにおいて認識するステップと、認識した共有メモリのアドレスが他記憶制御装置Ｂの共有メモリに該当する場合、各記憶制御装置の共有メモリ間を結ぶネットワーク上に配置され、当該ネットワークのパケットフォーマットに含まれる各記憶制御装置および共有メモリのアドレスに応じて各共有メモリ間のパス切替を行うスイッチ装置に、前記記憶制御装置Ａおよび記憶制御装置Ｂにおける接続対象の共有メモリ間のパスを確立する指示を発するステップと、Ｉ／Ｏ要求に対してパスが確立された旨を上位装置に通知するステップと、を含むことを特徴とする。
【０００７】
【発明の実施の形態】
図１は本実施形態の共有メモリ制御システム含むネットワーク構成図である。以下、システム構成について図面を用いて詳細に説明する。このネットワークには、クライアント１０、アプリケーションサーバ等の上位装置２０、スイッチ装置４０、ディスクアレイ装置５０などが含まれている。上位装置２０は、ＳＣＳＩやファイバーチャネルなどのインタフェースを介して記憶制御装置５１に接続されている。
【０００８】
この記憶制御装置５１はＣＰＵや上位装置２０との間の入出力インタフェース（いずれも図示しない）を備えるのは勿論のこと、キャッシュメモリ５２、共有メモリ５３、キャッシュ制御やデータ転送制御などを行うチャンネルアダプタ（ＣＨＡと記載）５４、記憶装置５６への入出力制御を行うディスクアダプタ（ＤＫＡと記載）５５、などを備えている。この記憶制御装置５１は、上位装置２０からの要求に応じて共有メモリ５３等に記録した各種制御情報を、各装置等を接続するバス５７を介して記憶装置５２の各ディスクアダプタ５５に伝達し各記憶装置の制御を実行する。なお、前記の制御情報は、実際にはチャネルアダプタ５４やディスクアダプタ５５の備えるプロセッサで使用される。
【０００９】
記憶装置５６は記憶デバイスであり、図中には複数の記憶装置５６を示している。これらの記憶装置５６はＳＣＳＩなどのインタフェースを介して記憶制御装置５１のディスクアダプタ５５に接続する。記憶制御装置５１は、これら複数台の記憶装置５６の記憶エリアを用いて編成される論理ユニット、およびこの論理ユニット内に区画されたデータブロックを用いて記憶装置により提供される記憶エリアの管理を行っている。なお、論理ユニットはＬＵＮ（Logical Unit Number）で識別され、また、データブロックはブロックアドレスで指定される。
【００１０】
本実施形態における記憶制御装置５１らは、互いの共有メモリ５３間をネットワーク７０で結び、その間にはスイッチ装置４０を配置してパスの切替を確立している。これにより、共有メモリ５３間のパス確保とＩ／Ｏデータ授受が実現される。スイッチ装置４０は、図１および図２に示すように、上位装置または各記憶制御装置５１のＩ／Ｏ要求を送受信するポート４１を複数備えている。これら送受信ポート４１の間にはスイッチ部４２が配置され、これらポート間のスイッチングを行っている。勿論、各ポート４１には、受信したＩ／Ｏ要求を一旦格納するフレームバッファや、各記憶制御装置５１や共有メモリ５３のIDやアドレスのテーブルを備えている。
【００１１】
スイッチ装置４０の処理を見てみると、例えばクライアント１０由来のある記憶装置５２（論理又は物理ボリューム）に対するＩ／Ｏ要求は、クライアント１０がネットワーク８０を介して接続するアプリケーションサーバ等の前記上位装置２０を通じて、本システムを構成するうちのディスクアレイ装置５０に転送される。このＩ／Ｏ要求は、例えばＳＣＳＩパケット６０とする。このＳＣＳＩパケット６０は、上位装置２０に対応付けされたディスクアレイ装置５０で受信されるとともに、いずれの記憶装置５６に対する要求なのか判定されることになる。
【００１２】
ＳＣＳＩパケット６０は、例えば図示するように、送信元および受信先の記憶制御装置５１（ＣＴＬと表記）のID６４、６４を記述したヘッダ部６１と、送信主体たるコマンドやデータが格納されるペイロード部６２と、ＳＣＳＩパケット６０が壊れていないかどうかをチェックするためのフィールドたるＦＣＳ(Frame
Check Seaquence)部６３とから構成される。
【００１３】
このＳＣＳＩパケット６０のヘッダ部６１から他記憶制御装置の配下にある記憶装置５６に対する要求であると判断されれば、スイッチ装置４０に対して、該当記憶制御装置とのパスを確立するよう指示が出される。スイッチ装置４０ではこれを受けて該当記憶制御装置の共有メモリにスイッチングを行いパスを確立する。
【００１４】
記憶制御装置５１ら、つまりディスクアレイ装置５０は、各共有メモリ５３を介してスイッチ装置４０により接続されるので、ディスクアレイ装置５０を自由に追加、削除、変更することが可能となる。よって、ストレージ容量や、記憶するデータの種類や使用目的に合致したストレージを自在に追加、削除することが可能である。またスイッチ装置４０が、各ディスクアレイ装置５０およびその配下の記憶装置５６、ひいては各論理ボリュームのアドレスを判断してスイッチング処理やＩ／Ｏ要求等のパス確保を実行するため、上位装置２０側ではどのディスクアレイ装置５０にアクセスしても、他のディスクアレイ装置にもパスを確保してアクセスを行うことが出来る。このことは、バスやプロセッサの負荷平準化にもつながり、システムの効率化にも資するのである。
【００１５】
なお、上位装置２０やそれにアクセスするクライアント１０は、例えば、汎用コンピュータやパーソナルコンピュータなどで構成される。上位装置２０は、適宜なオペレーションシステムを備えてアプリケーションの管理・実行を行うと共に、例えばＳＣＳＩなどのドライバとＮＩＣ（Network Interface Card）を介してＩ／Ｏ要求などの各種データをネットワーク上に送り出し、データ通信を可能とする。
【００１６】
上位装置２０とディスクアレイ装置５０を結ぶネットワーク８０、およびディスクアレイ装置５０相互間を結ぶネットワーク７０のプロトコルとして例えばＳＣＳＩ等が想定できるが、勿論、本発明を実現可能な技術であれば、いかなるネットワークとプロトコルが採用可能であるのは言うまでもない。
【００１７】
図３は本実施形態における共有メモリ制御手順を説明するフロー図である。以下、ディスクアレイ装置５０、つまり記憶制御装置５１を跨ったＩ／Ｏデータ授受の実際流れを述べる。各記憶制御装置は、当初よりスイッチ装置４０にて接続された他の記憶制御装置の共有メモリについて、自身の共有メモリ領域においてアドレスマッピングを行って適宜な領域を確保しておく。他の記憶制御装置の存在とその構成に関する情報については、例えばＳＮＭＰ（Simple Network Management Protocol）経由でマネージメント・インフォメーション・ベース（ＭＩＢ）から収集する手法がある。
【００１８】
このようにして各記憶制御装置５１の備える共有メモリ５３は、自身が元来備える共有メモリ５３の内容のみならず、他の記憶制御装置５１の共有メモリ５３の内容もしくはそのアドレスについて記憶する。この共有メモリ５３の内容は、一定期間毎、或いは所定機会を捉えて更新し、記憶制御装置５１を跨って同期させる必要がある。一定期間、或いは所定機会とは、例えば、単に１週間や一月といったカレンダー単位であったり、他記憶制御装置の新設または削除のタイミングであったり、ディスクアレイ装置の起動または終了時である場合が想定できる。勿論、任意にこの更新・同期のタイミングは設定可能であるから、どのような設定も可能である。
【００１９】
そこで、記憶制御装置５１は、まず共有メモリ５３の同期タイミングが到来した場合（ｓ３０１）、新設或いは削除されたディスクアレイ装置５０（記憶制御装置５１）があるか否かを認識する。ここでディスクアレイ装置の増減があったと判断されたならば（ｓ３０２）、該当ディスクアレイ装置の共有メモリを認識する（ｓ３０３）。ここでは例えば共有メモリがどのディスクアレイ装置５０、つまりどの記憶制御装置５１に備わったものであるか認識するため、属する記憶制御装置５１またはディスクアレイ装置５０のIDをそのアドレスとして把握する。新設等が無く、ディスクアレイ装置５０群の構成に変化がなければ、共有メモリの更新・同期処理は終了する。
【００２０】
新設等された記憶制御装置の共有メモリのアドレスは、各記憶制御装置において同様に把握され、その共有メモリに各々反映される（ｓ３０４）。実際には、図２に示したように、ある記憶制御装置Ａの共有メモリ５３においては、当該記憶制御装置Ａ用に元来備わっている共有メモリ５６の他に、記憶制御装置Ｂ〜Ｅ各用の共有メモリがマッピングされている。これは他の記憶制御装置Ｂにおいても同様であり、この記憶制御装置Ｂ用の共有メモリ５７の他に、記憶制御装置Ａ、Ｃ〜Ｅ各用の共有メモリがマッピングされる。他の記憶制御装置用の共有メモリを自分の共有メモリ領域にマッピングする場合、他装置用の共有メモリの内容と完全同期させるとしてもよいし、上位装置２０等からのＩ／Ｏ要求に応じてパスを確保すべき他の記憶制御装置の共有メモリアドレスを格納するとしてもよい。“仮想マッピング”とも言える。以上のように、スイッチ装置４０で結ばれた各記憶制御装置５１間で、各共有メモリ５３の内容が適宜更新されて同期が図られている。
【００２１】
そこで、あるクライアント１０が上位装置２０を介してＩ／Ｏ要求を発信したとする。このＩ／Ｏ要求は、まず上位装置２０が受け、当該上位装置２０からそのＮＩＣを通じて関連づけされたディスクアレイ装置５０に送信される。ディスクアレイ装置５０では、適宜なＩ／Ｏインターフェイスからチャネルアダプタ５４がこれを受信し、その要求を確認する（ｓ３０５）。
【００２２】
Ｉ／Ｏ要求内容には、上述したようにＩ／Ｏ要求対象であるボリューム（記憶装置５６またはこれらを区画生成した論理ボリューム）を管理する共有メモリのアドレスが付与されている。Ｉ／Ｏ要求を認識した記憶制御装置５１は（ｓ３０６）、このＩ／Ｏ要求に含まれる共有メモリのアドレス、つまり記憶制御装置のIDから、この要求が自他のいずれの記憶制御装置に対するものであるかを判定する（ｓ３０７）。自らに対するＩ／Ｏ要求であるならば、通常通りにディスクアダプタ５５を介して該当記憶装置５６とのパスを確立し上位装置に通知する（ｓ３０９）。
【００２３】
他方、他の記憶制御装置に対するＩ／Ｏ要求であるならば、スイッチ装置４０に対して他装置の共有メモリとのパス確立指示を発信する（ｓ３０８）。なお、スイッチ装置４０では、ポート４１にてＩ／Ｏ要求の実体たる、例えばＳＣＳＩパケット６０を受信してフレームバッファに格納している。スイッチ装置４０は、ＳＣＳＩパケット６０が含む送信元の記憶制御装置IDが例えばＡ、受信先の記憶制御装置IDがＢであるとすれば、スイッチ部４２に対して、“記憶制御装置Ｂ（の共有メモリ）にルーティングするべくスイッチ指示を発することになる。スイッチングによりパスが確保されたならば、その旨を該当上位装置に通知し（ｓ３０９）、フレームバッファから記憶制御装置Ｂの共有メモリに向け、ＳＣＳＩパケット６０を送信してＩ／Ｏ処理が実行される。
【００２４】
本発明の共有メモリ制御方法によれば、上位装置のパスを占有することなく、記憶制御装置５１間で高速なデータ連携を実現することが可能となる。複数クラスタ、例えばディスクアレイ装置５０間でデータの分散配置がなされて負荷が平準化される上、スイッチ装置４０で接続されたディスクアレイ装置５０の増減に応じて共有メモリの内容が更新され、効率的にデータ分散を図ることができる。また、データのバックアップを想定する場合、別のクラスタにスナップショットを配置することにより、当該スナップショットに対するアクセスと正ボリュームに対するアクセスとに関するアクセス経路をスイッチ装置により切り分けることが出来、Ｉ／Ｏ効率低下を抑制出来る。更に各クラスタ（例：ディスクアレイ装置）におけるデータのバックアップを、他クラスタに格納することで可用性が向上し、その更新順序も考慮しておけばクラスタフェイルオーバを実現できる。
【００２５】
本発明に係る実施の形態としては、前記目的を達成すべく、次の通りとしてもよい。前記共有メモリ制御方法において、各共有メモリ内容の前記更新および同期処理を所定タイミングで、若しくはディスクアレイ装置の起動または終了時に行うこととする。
【００２６】
また、前記共有メモリ制御方法において、前記他記憶制御装置の共有メモリのアドレスを取得するステップにおいて、ネットワーク機器監視プロトコルに基づいて他記憶制御装置の構成管理データを収集して他記憶制御装置の共有メモリの内容を取得し、当該他記憶制御装置の共有メモリの内容をアドレスとして共有メモリに記憶することとする。
【００２７】
更に、前記共有メモリ制御方法を実現するシステムであって、前記各ステップを実行する手段を備えることを特徴とする共有メモリ制御システムをなすこととする。
また、前記共有メモリ制御システムにおいて、前記共有メモリ制御システムが各ディスクアレイ装置に組み込まれていることとする。
【００２８】
【発明の効果】
本発明によれば、記憶制御装置を跨ったＩ／Ｏデータの授受を可能にする共有メモリ制御方法を提供可能となる。
【図面の簡単な説明】
【図１】本実施形態の共有メモリ制御システム含むネットワーク構成図である。
【図２】本実施形態におけるスイッチ装置による共有メモリ間の接続形態を示す説明図である。
【図３】本実施形態における共有メモリ制御手順を説明するフロー図である。
【符号の説明】
１０  クライアント
２０  上位装置
４０  スイッチ装置
４１  ポート
４２  スイッチ部
４５  バッファ、フレームバッファ
５０  ディスクアレイ装置
５１  記憶制御装置
５２  キャッシュ
５３  共有メモリ
５４  チャネルアダプタ
５５  ディスクアダプタ
５６  記憶装置
５７  バス
６０  Ｉ／Ｏ要求、ＳＣＳＩパケット
７０、８０  ネットワーク
【図１】
0004014923.tif 000002
【図２】
0004014923.tif 000003
【図３】
0004014923.tif 000004