(57)【要約】【課題】本発明の課題は、外部ストレージ接続構成のストレージシステムにおいて、第１ストレージ装置が外部ストレージ装置である第２ストレージ装置におけるキャッシュ常駐化設定を一元的に管理できるようにすることである。【解決手段】第１ストレージ装置は、外部ストレージ装置である第２ストレージ装置におけるキャッシュ常駐化情報を共有メモリに保持しておく。管理装置等からのキャッシュ常駐化設定要求があると、第１ストレージ装置は、当該常駐化情報を参照して、第２ストレージ装置に対するキャッシュ常駐化設定を指示する。第２ストレージ装置は、当該設定指示に従い、自身のキャッシュメモリ上にキャッシュ常駐化領域を設定する。【選択図】図１
2008234056.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に接続され、前記ホスト装置がＩ／Ｏアクセスするための第１の論理デバイスを提供する第１ストレージ装置と、前記第１ストレージ装置に接続され、前記第１の論理デバイスの少なくとも一部として構成される第２の論理デバイスを有する少なくとも１つの第２ストレージ装置とを備えるストレージシステムであって、
前記第１ストレージ装置は、
第１のディスクドライブと、
前記ホスト装置からの第１のＩ／Ｏアクセス要求に基づいて前記第１のディスクドライブを制御する第１の制御部と、を備え、
前記第１の制御部は、
前記ホスト装置と前記第１のディスクドライブとの間で、前記第１のＩ／Ｏアクセス要求に関わるデータをキャッシュする第１のキャッシュメモリを備え、
前記少なくとも１つの第２ストレージ装置は、
第２のディスクドライブと、
前記第１ストレージ装置に接続され、前記第１ストレージ装置を介して受領する前記ホスト装置からの第２のＩ／Ｏアクセス要求に基づいて前記第２のディスクドライブを制御する第２の制御部と、を備え、
前記第２の制御部は、
前記ホスト装置と前記第２のディスクドライブとの間で、前記第２のＩ／Ｏアクセス要求に関わるデータをキャッシュする第２のキャッシュメモリを備え、
前記第１の制御部は、
前記第２のキャッシュメモリにおける所定の領域を常駐化領域として設定するための常駐化設定指示を前記第２ストレージ装置に送出することを特徴とするストレージシステム。
【請求項２】
前記第２の制御部は、
前記第２のキャッシュメモリにおける所定の領域を常駐化領域として設定することを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記第２の制御部は、
前記常駐化設定指示で指定された前記所定の領域に書き込まれた退避対象データを、前記ディスクドライブに格納することを特徴とする請求項２記載のストレージシステム。
【請求項４】
前記第２の制御部は、
前記常駐化設定指示で指定された前記第２のディスクドライブに格納された常駐化対象データを、前記設定された常駐化領域に書き込むことを特徴とする請求項２記載のストレージシステム。
【請求項５】
前記第２のＩ／Ｏアクセス要求は、前記常駐化設定指示を含むことを特徴とする請求項４記載のストレージシステム。
【請求項６】
前記第１の制御部は、
前記第２のキャッシュメモリに設定された前記常駐化領域を解除するための常駐化解除指示を前記第２ストレージ装置に送出することを特徴とする請求項２記載のストレージシステム。
【請求項７】
前記第１の制御部は、
前記第２のキャッシュメモリに設定された前記常駐化領域を管理するための常駐化領域に関するテーブルを備えることを特徴とする請求項４記載のストレージシステム。
【請求項８】
前記常駐化領域に関するテーブルは、
前記第２のキャッシュメモリについてのキャッシュ容量及び常駐化領域サイズに関する情報を含むことを特徴とする請求項７記載のストレージシステム。
【請求項９】
前記第１の制御部は、
前記キャッシュ容量及び前記常駐化領域サイズから得られる非常駐化領域サイズに基づいて、前記第２のキャッシュメモリにおける所定の領域を前記常駐化領域として設定できるか否かを判断することを特徴とする請求項８記載のストレージシステム。
【請求項１０】
前記第１の制御部は、
前記常駐化設定指示に従って前記第２ストレージ装置が前記第２のキャッシュメモリに前記常駐化領域を設定した場合に、前記設定された常駐化領域に関する情報に基づいて前記常駐化領域に関するテーブルを更新することを特徴とする請求項９記載のストレージシステム。
【請求項１１】
前記常駐化領域に関するテーブルは、
前記第２のキャッシュメモリにおける常駐化領域に対する属性を含み、
前記第１の制御部は、
前記データ属性に基づいて、前記第１のキャッシュメモリ及び前記第２のキャッシュメモリのいずれかにおける常駐化領域に、前記常駐化対象データを書き込むことを特徴とする請求項７記載のストレージシステム。
【請求項１２】
前記第１の制御部は、
前記第２のキャッシュメモリにおける所定の領域を前記常駐化領域として設定できないと判断する場合に、前記常駐化領域に関するテーブルに基づいて、２以上の前記第２ストレージ装置の中から、前記常駐化領域を設定可能な第２のキャッシュメモリを有する他の第２ストレージ装置を選択し、
前記選択した他の第２ストレージ装置に対して前記常駐化領域を設定するように制御することを特徴とする請求項９記載のストレージシステム。
【請求項１３】
前記第１の制御部は、
前記常駐化領域として設定できないと判断された第２のキャッシュメモリを有する第２ストレージ装置の第２のディスクドライブから前記常駐化対象データを読み出して、前記選択された他の第２ストレージ装置に書き込みように制御することを特徴とする請求項１２記載のストレージシステム。
【請求項１４】
ホスト装置に接続され、前記ホスト装置がＩ／Ｏアクセスするための第１の論理デバイスを提供する第１ストレージ装置と、前記第１ストレージ装置に接続され、前記第１の論理デバイスの少なくとも一部として構成される第２の論理デバイスを有する少なくとも１つの第２ストレージ装置とを備えるストレージシステムにおけるキャッシュ常駐化領域の制御方法であって、
前記第１ストレージ装置は、
外部から受領した常駐化設定要求に基づいて、常駐化領域の設定を要求された第２ストレージ装置を特定するステップと、
前記特定された第２ストレージ装置に設けられたキャッシュメモリの所定の領域を前記常駐化領域として設定できるか否かを判断するステップと、
前記常駐化領域として設定できると判断する場合に、前記常駐化領域が設定されるように第２ストレージ装置を制御するステップと、
を実行することを特徴とするキャッシュ常駐化領域の制御方法。
【請求項１５】
ホスト装置に接続するためのチャネルを介して相互に接続された複数のストレージ装置を備えるストレージシステムであって、
前記複数のストレージ装置のそれぞれは、
ディスクドライブと、
前記ホスト装置からのＩ／Ｏアクセス要求に基づいて前記ディスクドライブを制御する制御部と、を備え、
前記制御部は、
前記ホスト装置と前記ディスクドライブとの間で、前記Ｉ／Ｏアクセス要求に関わるデータをキャッシュするキャッシュメモリを備えており、
前記複数のストレージ装置のいずれかが、
特定のストレージ装置のキャッシュメモリにおける所定の領域を常駐化領域として設定するための常駐化設定指示を前記所定のストレージ装置に送出し、
前記常駐化設定指示を受領した前記特定のストレージ装置は、
前記常駐化設定指示に基づいて常駐化領域を設定することを特徴とするストレージシステム。
【請求項１６】
前記常駐化設定指示を送出したストレージ装置は、
前記他のストレージ装置が常駐化領域を設定した場合に、前記他のストレージ装置における前記常駐化領域を管理するための常駐化領域に関するテーブルを他のストレージ装置に送出することを特徴とする請求項１５記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置によって使用されるデータを格納するストレージシステムに関し、特に、ストレージシステムにおけるキャッシュ常駐化技術に関する。
【背景技術】
【０００２】
ストレージ装置は、ネットワークを介してホスト装置と接続され、コンピュータシステムを構成する。複数のストレージ装置を接続する形態として、第１ストレージ装置に複数の第２ストレージ装置を接続し、ホスト装置は第１ストレージ装置と接続される形態をとる外部ストレージ接続構成がある。この構成では、第１ストレージ装置は、自身の論理デバイスと、第２ストレージ装置上に形成された論理デバイスとを仮想的に統合して、ホスト装置に提供する。つまり、ホスト装置は、第２ストレージ装置の存在を意識することなく、第１ストレージ装置に対してＩ／Ｏアクセスを行うことができる。
【０００３】
ところで、ストレージ装置は、システムパフォーマンスの向上を図るため、一般に、大容量のキャッシュメモリを配置し、キャッシュ機能を提供している。通常のキャッシュ機能においては、キャッシュメモリの効率的利用の観点から、キャッシュメモリ上のデータは、ＬＲＵアルゴリズム等にしたがって、入れ替えられる。これに加え、ストレージ装置は、アプリケーションデータの特性を考慮して、キャッシュメモリ上の所定の領域にデータを常駐させておくキャッシュ常駐化機能を備えている。
【０００４】
下記特許文献１は、ストレージに複数の外部ストレージを接続した外部ストレージ接続構成を採用する計算機システムを開示している。この計算機システムにおけるストレージは、キャッシュ常駐化等のディスクキャッシュ機能が設定されている場合、キャッシュメモリ経由で入出力処理を行う。
【０００５】
また、下記特許文献２は、それぞれにキャッシュを有する上位制御装置及び複数の下位制御装置からなるディスクアレイ制御装置を開示している。このディスクアレイ装置は、これら階層的なキャッシュに格納されるべきデータが重複して格納されないように制御する。
【特許文献１】特開２００５−１１２７７号公報
【特許文献２】特開平１０−６３５７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
外部ストレージ接続構成を採用したストレージシステムにおいて、外部ストレージ装置である第２ストレージ装置はその内部で固有の論理アドレスに基づいてデータを管理しているため、第１ストレージ装置を介して見る第２ストレージ装置に対してキャッシュ常駐化設定を行うことは非常に煩雑であった。
【０００７】
また、仮に第２ストレージ装置に対するキャッシュ常駐化設定を行ったとしても、第１ストレージ装置のキャッシュメモリには第２ストレージ装置をターゲットとするデータもキャッシュされてしまい、第１ストレージ装置のキャッシュメモリの領域は必要以上に消費されていた。つまり、第２ストレージ装置に対するアクセスが増加すれば、第１ストレージ装置のキャッシュメモリの領域も消費されてしまい、第１ストレージ装置が、自身のために使用するキャッシュメモリの領域を十分に確保することができなかった。
【課題を解決するための手段】
【０００８】
上記課題に鑑みてなされたものであり、本発明は、外部ストレージ接続構成のストレージシステムにおいて、第１ストレージ装置が外部ストレージ装置である第２ストレージ装置におけるキャッシュ常駐化設定を一元的に管理するように構成している。
【０００９】
このため、第１ストレージ装置は、第２ストレージ装置におけるキャッシュ常駐化情報を共有メモリに保持しておく。管理装置等からのキャッシュ常駐化設定要求があると、第１ストレージ装置は、当該キャッシュ常駐化情報を参照して、第２ストレージ装置に対するキャッシュ常駐化設定を指示する。第２ストレージ装置は、当該設定指示に従い、自身のキャッシュメモリ上にキャッシュ常駐化領域を設定する。
【００１０】
より具体的には、本発明のある観点によれば、本発明は、ホスト装置に接続され、前記ホスト装置がＩ／Ｏアクセスするための第１の論理デバイスを提供する第１ストレージ装置と、前記第１ストレージ装置に接続され、前記第１の論理デバイスの少なくとも一部として構成される第２の論理デバイスを有する少なくとも１つの第２ストレージ装置とを備えるストレージシステムを提供する。
【００１１】
前記第１ストレージ装置は、第１のディスクドライブと、前記ホスト装置からの第１のＩ／Ｏアクセス要求に基づいて前記第１のディスクドライブを制御する第１の制御部と、を備え、前記第１の制御部は、前記ホスト装置と前記第１のディスクドライブとの間で、前記第１のＩ／Ｏアクセス要求に関わるデータをキャッシュする第１のキャッシュメモリを備える。
【００１２】
また、前記少なくとも１つの第２ストレージ装置は、第２のディスクドライブと、前記第１ストレージ装置に接続され、前記第１ストレージ装置を介して受領する前記ホスト装置からの第２のＩ／Ｏアクセス要求に基づいて前記第２のディスクドライブを制御する第２の制御部と、を備え、前記第２の制御部は、前記ホスト装置と前記第２のディスクドライブとの間で、前記第２のＩ／Ｏアクセス要求に関わるデータをキャッシュする第２のキャッシュメモリを備える。
【００１３】
そして、前記第１の制御部は、前記第２のキャッシュメモリにおける所定の領域を常駐化領域として設定するための常駐化設定指示を前記第２ストレージ装置に送出し、前記第２ストレージ装置は、前記第２のキャッシュメモリに常駐化領域を設定する。
【００１４】
また、本発明の別の観点によれば、本発明は、ホスト装置に接続され、前記ホスト装置がＩ／Ｏアクセスするための第１の論理デバイスを提供する第１ストレージ装置と、前記第１ストレージ装置に接続され、前記第１の論理デバイスの少なくとも一部として構成される第２の論理デバイスを有する少なくとも１つの第２ストレージ装置とを備えるストレージシステムにおけるキャッシュ常駐化領域の制御方法を提供する。
【００１５】
前記第１ストレージ装置は、外部から受領した常駐化設定要求に基づいて、常駐化領域の設定を要求された第２ストレージ装置を特定するステップと、前記特定された第２ストレージ装置に設けられたキャッシュメモリの所定の領域を前記常駐化領域として設定できるか否かを判断するステップと、前記常駐化領域として設定できると判断する場合に、前記常駐化領域が設定されるように第２ストレージ装置を制御するステップと、を実行する。これにより、第２ストレージ装置は、自身に設けられた前記キャッシュメモリに常駐化領域を設定する。
【００１６】
さらに、本発明の別の観点によれば、本発明は、ホスト装置に接続するためのチャネルを介して相互に接続された複数のストレージ装置を備えるストレージシステムを提供する。
【００１７】
前記複数のストレージ装置のそれぞれは、ディスクドライブと、前記ホスト装置からのＩ／Ｏアクセス要求に基づいて前記ディスクドライブを制御する制御部と、を備え、前記制御部は、前記ホスト装置と前記ディスクドライブとの間で、前記Ｉ／Ｏアクセス要求に関わるデータをキャッシュするキャッシュメモリを備える。
【００１８】
そして、前記複数のストレージ装置のいずれかが、特定のストレージ装置のキャッシュメモリにおける所定の領域を常駐化領域として設定するための常駐化設定指示を前記所定のストレージ装置に送出すると、前記常駐化設定指示を受領した前記特定のストレージ装置は、前記常駐化設定指示に基づいて常駐化領域を設定する。
【発明の効果】
【００１９】
本発明によれば、外部ストレージ接続構成のストレージシステムにおける第１ストレージ装置が、第２ストレージ装置に設けられたキャッシュメモリに対してキャッシュ常駐化領域を設定することができるようになる。これによって、システム管理者は、第１ストレージ装置を介して第２ストレージ装置に対してキャッシュ常駐化設定を容易に行えるようになる。
【００２０】
また、第１ストレージ装置が第２ストレージ装置に対するＩ／Ｏアクセス要求を頻繁に受領する場合であっても、第１ストレージ装置は、キャッシュメモリ５２２の領域を自身のために専有して使用することができるようになる。したがって、第１ストレージ装置は、自身のキャッシュメモリを効率的に使用することができ、第１ストレージ装置５のシステムパフォーマンスの低下を防止することができる。
【００２１】
これにより、ストレージシステム全体のシステムパフォーマンスの低下を防止することができるようになる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
［第１の実施形態］
【００２３】
図１は、本発明の一実施形態に係るコンピュータシステム１の構成を示す図である。同図に示すように、コンピュータシステム１は、第１チャネル２Ａを介して接続されたホスト装置３及びストレージシステム４を含み、例えば、銀行の業務システムや航空機の座席予約業務システム等として構成される。コンピュータシステム１はまた、管理装置７を含む
【００２４】
第１チャネル２Ａは、例えばＬＡＮ、インターネット、又はＳＡＮ（Storage Area Network）であり、ネットワークスイッチやハブ等を含んで構成される。本実施形態では、第１チャネル２Ａは、ファイバーチャネルプロトコルを用いたＳＡＮ（ＦＣ−ＳＡＮ）で構成されているものとする。
【００２５】
ホスト装置３は、例えば、銀行の業務システムや航空機の座席予約業務システム等の中核をなすコンピュータである。具体的には、ホスト装置３は、プロセッサと、メインメモリと、通信インターフェースと、キーボード及びディスプレイ等のローカル入出力装置等のハードウェア資源を備え、また、デバイスドライバやオペレーティングシステム（ＯＳ）、アプリケーションプログラム等のソフトウェア資源を備えている（図示せず）。これによって、ホスト装置３は、プロセッサの制御の下、各種のプログラムを実行して、ハードウェア資源との協働作用により、所望の処理を実現する。例えば、ホスト装置３は、プロセッサの制御の下、ＯＳ上で業務アプリケーションプログラムを実行することにより、以下に詳述されるストレージシステム４にアクセスし、所望の業務システムを実現する。
【００２６】
ストレージシステム４は、データを格納するための記憶領域をホスト装置３に提供する。ストレージシステム４は、１又は複数の論理デバイスＬＤＥＶがそれぞれに定義された第１ストレージ装置５及び複数の第２ストレージ装置６を備える。論理デバイスＬＤＥＶは、物理的なディスクドライブＰＤＥＶに対応づけられた、ホスト装置３が認識するための論理的なデバイスである。
【００２７】
第１ストレージ装置５は、第１チャネル２Ａを介してホスト装置３と接続され、また、第２チャネル２Ｂを介して第２ストレージ装置６を接続している。つまり、第２ストレージ装置６は、第１ストレージ装置５の外部ストレージ装置として機能している。このような接続形態を外部ストレージ接続構成と呼ぶこともある。第２チャネル２Ｂは、例えばファイバーチャネルプロトコルをベースにしたチャネルである。
【００２８】
外部ストレージ接続構成においては、第２ストレージ装置６の論理デバイスＬＤＥＶ（これを「外部論理デバイス−Ｅ」という。）は、第１ストレージ装置５の外部デバイスとみなされ、ホスト装置３は直接的にこれを認識することはできない。第１ストレージ装置５は、自身の論理デバイスＬＤＥＶ（これを「内部論理デバイスＬＤＥＶ−Ｉ」という。）に外部論理デバイスＬＤＥＶ−Ｅを対応付け、これによって、ホスト装置３に第２ストレージ装置６の論理デバイスＬＤＥＶ（外部論理デバイスＬＤＥＶ）を認識させる。
【００２９】
典型的には、さらに、いくつかの物理デバイスＰＤＥＶからなるデバイスである仮想デバイスＶＤＥＶが定義され、第１ストレージ装置５は、この仮想デバイスＶＤＥＶを介して内部論理デバイスＬＤＥＶ−Ｉと外部論理デバイスＬＤＥＶ−Ｅとを対応付ける。仮想デバイスＶＤＥＶは、１又は複数の物理デバイスＰＤＥＶからなるデバイスである。したがって、ホスト装置３は、第１ストレージ装置５によって提供される内部論理デバイスＬＤＥＶ−Ｉのみを認識するが、第２ストレージ装置６の存在を意識することなく、外部論理デバイスＬＤＥＶ−Ｅにアクセスすることができる。なお、以下の説明では、内部論理デバイスＬＤＥＶ−Ｉと外部論理デバイスＬＤＥＶ−Ｅとを特に区別する必要がない限り、これらを単に論理デバイスＬＤＥＶと呼ぶこともある。
【００３０】
論理デバイスＬＤＥＶには、論理ユニットＬＵが定義される。各論理ユニットＬＵには、論理ユニット番号ＬＵＮが付与される。また、論理ユニットＬＵは、Ｉ／Ｏアクセスの最小単位であるブロックに分割され、各ブロックには、論理ブロックアドレスＬＢＡが割り当てられる。これにより、ホスト装置３は、論理ユニット番号ＬＵＮおよび論理ブロックアドレスＬＢＡからなる論理アドレスを第１ストレージ装置５に与えることにより、特定の論理ユニットＬＵ上の任意の記憶領域に記憶されたデータに対してアクセスを行うことができる。
【００３１】
第１ストレージ装置５は、物理デバイスＰＤＥＶである複数のディスクドライブ５１と、ディスクドライブ５１に対する書き込み又は読み込みといったＩ／Ｏアクセスを制御するディスク制御装置５２とを備える。ディスクドライブ５１とディスク制御装置５２とは、ディスクチャネル５３を介して接続される。
【００３２】
ディスクドライブ５１は、例えばハードディスクドライブや不揮発性メモリ等の記憶媒体を含んで構成される。ディスクドライブ５１は、ＲＡＩＤ（Redundant Arrays of Independence Disks）を構成するかもしれない。
【００３３】
ディスク制御装置５２は、チャネルアダプタ（ＣＨＡ）５２１と、キャッシュメモリ（ＣＭ）５２２と、ディスクアダプタ（ＤＫＡ）５２３と、共有メモリ（ＳＭ）５２４とを備え、これらのモジュール乃至はコンポーネントは、接続部５２５により相互に接続されている。なお、これらモジュールは、冗長化によりそれぞれ複数ずつで構成されても良い。
【００３４】
チャネルアダプタ５２１は、複数のポート（図示せず）を有し、チャネル２Ａを介してポートに接続されたホスト装置３との間でＩ／Ｏアクセス要求に基づく通信を行う通信インターフェースとして機能するシステム回路である。
【００３５】
キャッシュメモリ５２２は、ホスト装置３に対して高いシステムパフォーマンスを提供するため、ホスト装置３とディスクドライブ５１との間でやり取りされるデータを一時的に記憶する。キャッシュメモリ５２２は、チャネルアダプタ５２１とディスクアダプタ５２３との間のデータの受け渡しに利用される。キャッシュメモリ５２２に記憶されたデータセットは、通常、例えばＬＲＵアルゴリズムに従い、キャッシュメモリ５２２から追い出される（デステージング）。本実施形態では、キャッシュ常駐化機能により、キャッシュ常駐化設定が指示された論理デバイスＬＤＥＶ上の記憶領域のデータ（常駐化対象データ）は、キャッシュメモリに５２２に書き込まれ（ステージング）、常駐化解除指示があるまでキャッシュメモリ５２２から追い出されることなく保持される。
【００３６】
ディスクアダプタ５２３は、複数のポートを有し（図示せず）、ディスクチャネル５３を介してポートに接続されたディスクドライブ５１に対するＩ／Ｏアクセスの制御を行うインターフェースとして機能するコンポーネント乃至はシステム回路である。すなわち、ディスクアダプタ５２３は、キャッシュメモリ５２２からデータを取り出して、ディスクドライブ５１に格納し、また、ディスクドライブ５１からデータを読み出して、キャッシュメモリ５２２に書き込む。例えば、ディスクアダプタ５２３は、チャネルアダプタ５２１による常駐化設定指示に従って、論理デバイスＬＤＥＶの記憶領域からデータ（常駐化対象データ）を読み出して、キャッシュメモリ５２２に書き込む。この場合、キャッシュメモリ５２２から退避すべきデータ（退避対象データ）があれば、常駐化対象データをキャッシュメモリ５２２に書き込む前に、論理デバイスＬＤＥＶの記憶領域に格納する。また、ディスクアダプタ５２３は、常駐化解除指示に従って、キャッシュメモリ５２２上の所定のデータを論理デバイスＬＤＥＶの記憶領域に格納する。
【００３７】
共有メモリ５２４は、第１ストレージ装置内の各モジュールが参照するためのメモリである。共有メモリ５２４は、図２に示すように、第１ストレージ装置５に関わる、キャッシュ動作におけるディレクトリ情報、並びにＬＤＥＶ管理テーブル４００、ＶＤＥＶ管理テーブル５００、外部ストレージ装置管理テーブル６００、キャッシュ容量管理テーブル７００、及び常駐化領域管理テーブル８００等の各種のテーブルを含むシステム構成情報を記憶する。これら管理テーブル４００〜８００の詳細については後述する。
【００３８】
図１に戻り、接続部５２５は、クロスバースイッチ等により構成されるスイッチングデバイスである。接続部５２５は、入力されるデータ信号の競合を調停し、データ信号のパスを切り替えて、送出元のモジュールと送出先のモジュールとのパスを構築する。なお、接続部５２５は、パケット交換方式のスイッチングデバイスであってもよい。
【００３９】
第２ストレージ装置６ａ及び６ｂは、複数のディスクドライブ６１と、ディスクドライブ６１に対する書き込み又は読み込みといったＩ／Ｏアクセスを制御するディスク制御装置６２とを備える。なお、以下では、第２ストレージ装置６ａ及び６ｂを特に区別する必要がない場合には、第２ストレージ装置６と称することもある。ディスクドライブ６１とディスク制御装置６２とは、ディスクチャネル６２３を介して接続される。第２ストレージ装置６は、基本的な構成に関しては、第１ストレージ装置６と同様であるため、その説明を省略する。第２ストレージ装置６もまた、キャッシュ常駐化機能を有し、キャッシュメモリ６２２にデータを常駐化させることができる。第２ストレージ装置６の共有メモリ６２４は、図３に示すように、キャッシュ動作におけるディレクトリ情報及び常駐化管理テーブル９００等のシステム構成情報を記憶する。
【００４０】
コンピュータシステム１はまた、ストレージシステム４全体を管理する管理装置７を備える。管理装置７は、例えばイーサネット（登録商標）等を用いて構成されるＬＡＮ等のネットワーク第１ストレージ装置５に接続されている。また、本実施形態では、管理装置７は、第２ストレージ装置６にも接続されている。これによって、第１ストレージ装置５は、管理装置７を介して、第２ストレージ装置６に対して常駐化指示を通知することができる。管理装置７は、典型的には、汎用のコンピュータであり、ＣＰＵの制御の下、所定の管理プログラムを実行することにより、所望の管理業務を遂行する。本実施形態では、システム管理者（ユーザ）は、管理装置７上のＷｅｂコンソールを操作して、常駐化設定／解除を行うことができる。
【００４１】
図４は、本発明の一実施形態に係る第１ストレージ装置５におけるＬＤＥＶ管理テーブル４００の一例を示す図である。ＬＤＥＶ管理テーブル４００は、第１ストレージ装置５上に定義された論理デバイスＬＤＥＶ（内部論理デバイスＬＤＥＶ−Ｉ）とストレージシステム４全体のディスクドライブ群（すなわち、ディスクドライブ５１及び６１）で形成される複数の仮想デバイスＶＤＥＶとの対応関係を定義している。
【００４２】
すなわち、同図に示すように、ＬＤＥＶ管理テーブル４００は、内部ＬＤＥＶ番号欄４０１と、ＶＤＥＶ番号欄４０２とを含む。内部ＬＤＥＶ番号欄４０１は、第１ストレージ装置５上に定義された論理デバイスＬＤＥＶ（内部論理デバイスＬＤＥＶ−Ｉ）に一意に割り当てられた番号を示している。ＶＤＥＶ番号欄４０２は、ストレージシステム４全体のディスクドライブ群で形成される仮想デバイスＶＤＥＶに一意に割り当てられた番号を示している。例えば、内部ＬＤＥＶ“ｘ００００”は、仮想デバイス“ｘ００００”に対応づけられていることを示す。
【００４３】
図５は、本発明の一実施形態に係る第１ストレージ装置５におけるＶＤＥＶ管理テーブル５００の一例を示す図である。ＶＤＥＶ管理テーブル５００は、ストレージシステム４全体のディスクドライブ群で形成される仮想デバイスＶＤＥＶと外部ストレージ装置である第２ストレージ装置６上に定義された論理デバイス（外部論理デバイスＬＤＥＶ−Ｅ）との対応関係を定義している。ＶＤＥＶ管理テーブル５００は、第１ストレージ装置５に第２ストレージ装置６を接続した際のデバイスマッピング処理時に設定される。
【００４４】
すなわち、同図に示すように、ＶＤＥＶ管理テーブル５００は、ＶＤＥＶ番号欄５０１と、外部ストレージ番号欄５０２と、外部ストレージＬＤＥＶ番号欄５０３とを含む。ＶＤＥＶ番号欄４０２は、仮想デバイスＶＤＥＶに一意に割り当てられた番号を示しており、図４に示したＬＤＥＶ管理テーブル４００におけるそれと同じである。外部ストレージ装置番号欄５０３は、第１ストレージ装置５に接続された第２ストレージ装置６を一意に識別するための番号である。外部ストレージ装置番号欄５０３の値が“０”の場合は、第１ストレージ装置５であることを示す。外部ストレージＬＤＥＶ番号欄５０３は、各第２ストレージ装置６上に定義された論理デバイスＬＤＥＶを一意に識別するための番号を示す。
【００４５】
したがって、図４に示されたＬＤＥＶ管理テーブル４００及びＶＤＥＶ管理テーブル５００を参照することにより、第１ストレージ装置５によって提供される内部論理デバイスＬＤＥＶ−Ｉに実際に割り当てられている論理デバイスＬＤＥＶが特定されることになる。例えば、図４に示したＬＤＥＶ管理テーブル４００の内部ＬＤＥＶ“ｘ０００６”は、外部ストレージ装置番号“１”で示される第２ストレージ装置６の論理デバイス“ｘ０１００”に対応づけられていることを示す。このように、ホスト装置３は、第１ストレージ装置５が提供する内部論理デバイスＬＤＥＶ−Ｉに対するアクセスを通じて、外部ストレージ装置である第２ストレージ装置６の実際の論理デバイスＬＤＥＶ（外部論理デバイスＬＤＥＶ−Ｅ）を意識することなく、これにアクセスすることができる。
【００４６】
図６は、本発明の一実施形態に係る第１ストレージ装置５における外部ストレージ装置管理テーブル６００の一例を示す図である。外部ストレージ装置管理テーブル６００は、外部ストレージ装置である各第２ストレージ装置６を管理するためのものであり、外部ストレージ装置番号欄６０１と、製造番号欄６０２と、パス本数欄６０３欄と、パス番号欄６０４とを含む。すなわち、外部ストレージ装置管理テーブル６００は、第１ストレージ装置５が特定の第２ストレージ装置６にＩ／Ｏアクセス要求を送信する際に使用するパスを識別するためのものである。
【００４７】
外部ストレージ装置番号欄６０１は、第１ストレージ装置５に接続された第２ストレージ装置６を一意に識別するための番号であり、製造番号欄６０２は、第２ストレージ装置６に割り当てられた固有の製造番号である。パス本数欄６０３は、当該第２ストレージ装置６に対して割り当てられたポートの総数を示す。パス番号欄６０４は、当該第２ストレージ装置６に対して割り当てられたポートを一意に識別するための番号であり、パス本数欄６０３で示された数だけの欄が設けられる。
【００４８】
図７は、本発明の一実施形態に係る第１ストレージ装置５におけるキャッシュ容量管理テーブル７００の一例を示すための図である。キャッシュ容量管理テーブル７００は、外部ストレージ装置である各第２ストレージ装置６に対するキャッシュ容量及び常駐化領域サイズを管理するためのテーブルである。
【００４９】
同図に示すように、キャッシュ容量管理テーブル７００は、ストレージ装置番号欄７０１と、キャッシュ容量欄７０２と、常駐化領域サイズ欄７０３と、常駐化領域数欄７０４とを含む。ストレージ装置番号欄７０１は、ストレージ装置を一意に識別するための番号である。ストレージ装置番号欄７０１の値が“０”の場合は、第１ストレージ装置５であることを示す。キャッシュ容量欄７０２は、各第２ストレージ装置６のキャッシュメモリ６２２の全記憶容量（サイズ）を示す。常駐化領域サイズ欄７０３は、当該キャッシュメモリ６２２のサイズのうち、常駐化領域として指定された領域のサイズを示す。常駐化領域数欄７０４は、常駐化領域として指定されている領域の数を示す。
【００５０】
図８は、本発明の一実施形態に係る第１ストレージ装置５における常駐化領域管理テーブル８００の一例を示す図である。常駐化領域管理テーブル８００は、各第２ストレージ装置６のキャッシュメモリ６２２における常駐化領域を管理するためのテーブルである。
【００５１】
同図に示すように、常駐化領域管理テーブル８００は、シーケンシャル番号８０１で管理された内部ＬＤＥＶ番号欄８０２と、先頭アドレス欄８０３、終了アドレス欄８０４と、領域サイズ欄８０５と、外部ストレージ番号欄８０６とを含む。内部ＬＤＥＶ番号欄８０２は、第１ストレージ装置５によって管理される内部論理デバイスＬＤＥＶ−Ｉの番号を示す。先頭アドレス欄８０３及び終了アドレス欄８０４は、当該内部論理デバイスＬＤＥＶ−Ｉに対して割り当てられた常駐化領域の先頭アドレス及び終了アドレスを示し、領域サイズ欄８０５は、これらのアドレスから求められた当該常駐化領域のサイズを示す。外部ストレージ番号欄８０６は、キャッシュ常駐化されているストレージ装置の番号を示す。ストレージ装置番号欄８０６の値が“０”の場合は、第１ストレージ装置５であることを示す。
【００５２】
したがって、例えば、図７に示したキャッシュ容量管理テーブル７００におけるストレージ装置番号“０”（つまり、第１ストレージ装置５）のキャッシュ常駐化領域は、図８に示した常駐化領域管理テーブル８００のシーケンシャル番号“１”及び“２”で示されるような常駐化領域であることがわかる。
【００５３】
図９は、本発明の一実施形態に係る第２ストレージ装置６における常駐化領域管理テーブル９００の一例を示す図である。常駐化領域管理テーブル９００は、各第２ストレージ装置６がキャッシュメモリ６２２における常駐化領域を管理するためのテーブルである。各第２ストレージ装置６は、自身の共有メモリ６２４に常駐化領域管理テーブル９００を記憶する。常駐化領域管理テーブル９００は、図８に示した常駐化領域管理テーブル８００とほぼ同様の構成であるが、外部ストレージ装置番号欄を持たない点で異なっている。  すなわち、同図に示すように、常駐化領域管理テーブル９００は、シーケンシャル番号９０１で管理されたＬＤＥＶ欄９０１と、先頭アドレス欄９０３、終了アドレス欄９０４と、領域サイズ欄９０５とを含む。第２ストレージ装置６における常駐化領域管理テーブル９００が示す領域サイズの合計は、第１ストレージ装置５が保持する常駐化領域のサイズと等しくなる。
【００５４】
図１０は、本発明の一実施形態に係るストレージシステム４のキャッシュ常駐化機能を説明するための概念図である。同図は、図１に示されたストレージシステム４を簡略的に示しているが、その構成は同じである。
【００５５】
すなわち、外部ストレージ接続構成を採用するストレージシステム４において、第１ストレージ装置５は、第２ストレージ装置に対してキャッシュ常駐化設定（以下、単に「常駐化設定」という。）の指示を行う。常駐化設定指示を受領した第２ストレージ装置６は、自身の論理デバイスＬＤＥＶ上の指定された記憶領域のデータをディスクドライブ６１からキャッシュメモリ６２２のキャッシュ常駐化領域にステージングするとともに、キャッシュ常駐化情報を第１ストレージ装置５に送出する。第１ストレージ装置５は、第２ストレージ６から送出された常駐化管理情報を共有メモリ５２４に保持する。
【００５６】
図１１は、本発明の一実施形態に係るストレージシステム４の構築時の処理を説明するためのフローチャートである。
【００５７】
まず、第１ストレージ装置５に第２ストレージ装置６が第２チャネル２ＢとしてのＦｉｂｒｅケーブルで接続されると、第１ストレージ装置５は、接続されたＦｉｂｒｅケーブルを介して第２ストレージ装置６の製造番号を取得するとともに、当該第２ストレージ装置６に対するパス本数及びパス番号を決定して、これらを共有メモリ５２４の外部ストレージ装置管理テーブル６００に登録する（ＳＴＥＰ１１０１）。パス本数及びパス番号は、予め定められた値が採用されてもよいし、管理装置７を介してシステム管理者により指定されてもよい。
【００５８】
第１ストレージ装置５は、次に、第２ストレージ装置６に対して、キャッシュ容量読み込みコマンドを送出する（ＳＴＥＰ１１０２）。第２ストレージ装置６は、これを受けて、共有メモリ６２４からキャッシュ容量及び予め設定された常駐化情報を読み出して、第１ストレージ装置５に送出する。常駐化情報は、ＬＤＥＶ番号、先頭領域アドレス、及び終了領域アドレスからなる。第１ストレージ装置５は、第２ストレージ装置６から送出されたキャッシュ容量及び常駐化情報を受領し（ＳＴＥＰ１１０３）、これらに基づいてキャッシュ容量管理テーブル７００及び常駐化領域管理テーブル８００を更新する（ＳＴＥＰ１１０４）。
【００５９】
次に、システム管理者による内部論理デバイスＬＤＥＶに対する仮想デバイスＶＤＥＶの割り当て指示に従い、第１ストレージ装置５は、ＬＤＥＶ管理テーブル４００を更新する（ＳＴＥＰ１１０５）。また、システム管理者による仮想デバイスＶＤＥＶに対する外部論理デバイスＬＤＥＶの割り当て指示に従い、第１ストレージ装置５は、ＶＤＥＶ管理テーブル５００を更新する（ＳＴＥＰ１１０６）。
【００６０】
図１２及び図１３は、本発明の一実施形態に図１２及び図１３は、本発明の一実施形態に図１２及び図１３は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化設定処理を説明するためのフローチャートである。具体的には、図１２は、第１ストレージ装置５における処理を示し、図１３は、第２ストレージ装置６における処理を示している。第１ストレージ装置５を介して管理装置７から与えられるキャッシュ常駐化設定指示に基づいて、第２ストレージ装置６は、指定された論理デバイスＬＤＥＶ上の記憶領域のデータをキャッシュメモリ６２２の常駐化領域にステージングする。
【００６１】
まず、システム管理者は、図１４に示すような管理装置７上のＷｅｂコンソール１４００用いて、第１ストレージ装置５に対してキャッシュ常駐化設定指示を行う。すなわち、システム管理者は、ＬＤＥＶ番号入力フィールド１４０１にキャッシュ常駐化設定をしようとするＬＤＥＶ番号を入力するとともに、開始アドレス入力フィールド１４０２及び終了アドレス入力フィールド１４０３に開始アドレス及び終了アドレスをそれぞれ入力する。常駐化領域サイズフィールド１４０４は、開始アドレス入力フィールド１４０２及び終了アドレス入力フィールド１４０３に連動しており、これらのフィールドに入力されたアドレス値に基づいて計算された値を表示する。あるいは、入力された開始アドレス値と常駐化領域サイズから終了アドレス値を算出してもよい。システム管理者が、Ｗｅｂコンソール１４００に必要な値を入力した後、設定ボタン１４０５を選択することにより、管理装置７は、入力された値に基づいてキャッシュ常駐化設定要求を作成して、第１ストレージ装置５に送出する。システム管理者は、Ｗｅｂコンソール１４００に対する入力に際して、例えば、図１５及び図１６に示すようなウィンドウを管理装置７の画面に呼び出し、参照する。
【００６２】
第１ストレージ装置５は、キャッシュ常駐化設定要求を受領すると（ＳＴＥＰ１２０１）、ＬＤＥＶ管理テーブル４００を参照して、当該設定要求で指定された論理デバイスＬＤＥＶに対応する仮想デバイスＶＤＥＶを特定し（ＳＴＥＰ１２０２）、さらに、ＶＤＥＶ管理テーブル５００を参照して、当該仮想デバイスＶＤＥＶに対応する外部ストレージ装置及び外部論理デバイスＬＤＥＶを特定する（ＳＴＥＰ１２０３）。続いて、第１ストレージ装置５は、外部ストレージ装置管理テーブル６００を参照し、特定された外部ストレージ装置のパスを決定する（ＳＴＥＰ１２０４）。
【００６３】
第１ストレージ装置５は、次に、キャッシュ常駐化設定要求で指定された開始アドレス及び終了アドレスに基づいて要求された常駐化領域サイズを算出する（ＳＴＥＰ１２０５）。第１ストレージ装置５は、キャッシュ容量管理テーブル７００を参照して、特定された外部ストレージ装置の非常駐化領域サイズを取得して（ＳＴＥＰ１２０６）、要求されたサイズのキャッシュ常駐化領域を確保できるか否かをチェックする（ＳＴＥＰ１２０７）。つまり、要求された常駐化領域サイズが、キャッシュ容量から常駐化領域サイズを減算した値（非常駐化領域）よりも小さければ、常駐化領域を確保できると判断する。
【００６４】
第１ストレージ装置５は、常駐化領域を確保できないと判断する場合には（ＳＴＥＰ１２０７のＮｏ）、エラーステータスを含む終了報告を管理装置７に送出する（ＳＴＥＰ１２１３）。管理装置７は、これを受けて、Ｗｅｂコンソール１４００に当該エラーメッセージを表示する。
【００６５】
一方、第１ストレージ装置５は、常駐化領域を確保できると判断する場合には（ＳＴＥＰ１２０７のＹｅｓ）、図１７に示すようなキャッシュ常駐化制御コマンドを作成し（ＳＴＥＰ１２０８）、特定したパスを介して第２ストレージ装置６にキャッシュ常駐化制御コマンドを送出する（ＳＴＥＰ１２０９）。キャッシュ常駐化制御コマンドは、常駐化設定又は常駐化解除の制御コードを含む。常駐化設定が指定されたキャッシュ常駐化制御コマンドをキャッシュ常駐化設定コマンドと呼び、常駐化解除が指定されたものをキャッシュ常駐化解除コマンドと呼ぶ。
【００６６】
第２ストレージ装置６は、キャッシュ常駐化設定コマンドを受領すると（図１３のＳＴＥＰ１３０１）、常駐化領域管理テーブル９００を参照して、キャッシュ容量及び常駐化領域サイズからキャッシュ空き容量（非常駐化領域サイズ）を取得して（ＳＴＥＰ１３０２）、要求された常駐化領域を確保できるか否かをチェックする（ＳＴＥＰ１３０３）。第２ストレージ装置６は、キャッシュ常駐化領域を確保できないと判断する場合には（ＳＴＥＰ１３０３の）、エラーステータスを含む終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ１３０６）。
【００６７】
一方、第２ストレージ装置６は、キャッシュ常駐化領域を確保できると判断する場合には（ＳＴＥＰ１３０３のＹｅｓ）、ディスクドライブ６１からデータを読み出して、常駐化領域として設定されるキャッシュメモリ６２２上の領域に当該データをステージングする（ＳＴＥＰ１３０４）。具体的には、第２ストレージ装置６のチャネル制御部６２１は、共有メモリ６２４のディレクトリ情報を参照して、ディスクドライブ６１の所定の記憶領域に格納されたデータを、常駐化領域として設定される予定のキャッシュメモリ６２２の記憶領域にステージングする。この場合、キャッシュ常駐化領域として設定される領域にすでに他のデータが保持されている場合には、当該他のデータをディスクドライブ６１にデステージングしてもよい。続いて、第２ストレージ装置６は、常駐化領域管理テーブル９００の常駐化情報を更新し（ＳＴＥＰ１３０５）、正常ステータスを含む終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ１３０６）。
【００６８】
第１ストレージ装置５は、正常ステータスを含む終了報告を受領すると（ＳＴＥＰ１２１０）、キャッシュ容量管理テーブル７００を更新する（ＳＴＥＰ１２１１）。具体的には、常駐化領域サイズ欄７０３及び常駐化領域数欄７が更新されることになる。続いて、第１ストレージ装置５は、常駐化領域管理テーブル８００に、今回新たに設定されたキャッシュ常駐化領域に関わるエントリを追加する（ＳＴＥＰ１２１２）。そして、第１ストレージ装置５は、キャッシュ常駐化設定要求に対する終了報告を作成し、管理装置７に送出する（ＳＴＥＰ１２１３）。なお、第１ストレージ装置５が、エラーステータスを含む終了報告を受領した場合には、管理テーブル７００及び８００を更新することなく、その旨を管理装置７に通知する。
【００６９】
このように、第１ストレージ装置５から第２ストレージ装置６に対してキャッシュ常駐化指示が送出されることにより、ユーザは、第２ストレージ装置６内の論理デバイス番号を意識することなく、第２ストレージ装置６内のキャッシュメモリ６２２に所望のデータを常駐化させることができるようになる。
【００７０】
また、キャッシュ常駐化設定がされたストレージシステム４においては、第１ストレージ装置５は、自身の論理デバイスＬＤＥＶをターゲットにしているデータが優先的にキャッシュメモリ５２２に記憶されるように制御する。これにより、第１ストレージ装置５内のキャッシュメモリ５２２を、自身の論理デバイスＬＤＥＶにとして有効に使用することができるようになる。
【００７１】
上記の例では、システム管理者が管理装置７を用いてキャッシュ常駐化設定指示を行ったが、これに限らず、例えば、予め常駐化領域を設定するとともに、タイマーを設定しておき、当該タイマーが指定した時刻を示した時点で、キャッシュ常駐化設定がなされるように制御してもよい。あるいは、アクセス頻度のしきい値を設定し、アクセス頻度が多角なり、当該しきい値を超えた場合に、常駐化設定がされるように制御してもよい。
【００７２】
図１８は、本発明の一実施形態に係る第１ストレージ装置５のチャネルアダプタ５２１による処理を説明するためのフローチャートである。
【００７３】
同図に示すように、チャネルアダプタ５２１は、ホスト装置３からＩ／Ｏコマンドを受領し、これを解釈する（ＳＴＥＰ１８０１）。チャネルアダプタ５２１は、常駐化領域管理テーブル８００を参照して、当該Ｉ／Ｏコマンドが外部論理デバイスＬＤＥＶをターゲットにしているか否かを判断する（ＳＴＥＰ１８０２）。当該Ｉ／Ｏコマンドが外部論理デバイスＬＤＥＶをターゲットにしていないと判断する場合（ＳＴＥＰ１８０２のＮｏ）、チャネルアダプタ５２１は、さらに、当該Ｉ／Ｏコマンドが常駐化設定指定された論理デバイスＬＤＥＶ上の記憶領域に対するＩ／Ｏアクセスであるか否かを判断する（ＳＴＥＰ１８０３）。
【００７４】
チャネルアダプタ５２１は、当該Ｉ／Ｏコマンドが常駐化設定された論理デバイスＬＤＥＶ上の記憶領域に対するアクセスであると判断する場合（ＳＴＥＰ１８０３のＹｅｓ）、キャッシュメモリ５２２の常駐化領域に対してＩ／Ｏアクセス処理を行い（ＳＴＥＰ１８０４）、Ｉ／Ｏコマンドに対する応答をホスト装置３に送出する（ＳＴＥＰ１８０５）。常駐化設定された記憶領域に対するアクセスの場合、Ｉ／Ｏアクセス要求されたデータは、常に常駐化領域に存在するので、チャネルアダプタ５２１は、直ちにホスト装置３に応答することができる。一方、当該Ｉ／Ｏコマンドが常駐化設定された論理デバイスＬＤＥＶ上の記憶領域に対するアクセスでないと判断する場合（ＳＴＥＰ１８０３のＮｏ）、チャネルアダプタ５２１は、非常駐化領域に対するＩ／Ｏアクセス処理を行う（ＳＴＥＰ１８０６）。この場合は、通常のＩ／Ｏ処理が行われることになる。
【００７５】
一方、ＳＴＥＰ１８０２において当該Ｉ／Ｏコマンドが外部論理デバイスＬＤＥＶをターゲットにしていると判断する場合、チャネルアダプタ５２１は、外部ストレージ装置管理テーブル６００を参照し、当該Ｉ／Ｏコマンドをキャッシュメモリ５２２に格納せずに、ターゲットにしている外部論理デバイスＬＤＥＶのある第２ストレージ装置に転送する（ＳＴＥＰ１８０７）。この場合には、チャネルアダプタ５２１は、第２ストレージ装置６からの終了報告を待って（ＳＴＥＰ１８０８）、ホスト装置３に応答する（ＳＴＥＰ１８０５）。
【００７６】
転送されたＩ／Ｏコマンドを受領した第２ストレージ装置６のチャネルアダプタ６２１は、自身の常駐化領域管理テーブル９００を参照して、同様に処理を行う。
【００７７】
以上のように、第１ストレージ装置５が第２ストレージ装置６に対するＩ／Ｏコマンドを頻繁に受領する場合であっても、第１ストレージ装置５は、キャッシュメモリ５２２の領域を自身のために専有して使用することができるようになる。したがって、第１ストレージ装置５のキャッシュメモリ５２２は効率的に使用され、第１ストレージ装置５のシステムパフォーマンスの低下を防止することができ、ひいてはストレージシステム４全体のシステムパフォーマンスの低下を防止することができるようになる。
【００７８】
上記の例では、第１ストレージ装置５は、外部論理デバイスＬＤＥＶをターゲットにしているデータをキャッシュメモリ５２２に格納しないように制御しているが、これは、第１ストレージ装置５がこのようなデータをキャッシュメモリ５２２に格納するように制御することを排除するものではない。ただし、第１ストレージ装置５のキャッシュメモリ５２２が、第１ストレージ装置５のために優先的に使用されるように以下に説明されるようなメカニズムが導入されることが好ましい。
【００７９】
通常のキャッシュ機能においては、例えばＬＲＵアルゴリズム（あるいは疑似ＬＲＵアルゴリズム）に従って、長い間アクセスがないデータがキャッシュメモリから追い出される。本実施形態においても、キャッシュメモリ５２２上の非常駐化領域に格納されたデータは、ＬＲＵアルゴリズムに従い、ディスクドライブ５１にデステージングされる。
【００８０】
本実施形態では、さらに、外部論理デバイスＬＤＥＶをターゲットにしているデータは、キュー方式（またはＦＩＦＯ方式）の下で、キャッシュメモリ５２２に格納される。すなわち、チャネルアダプタ５２１は、外部論理デバイスＬＤＥＶをターゲットにしているデータをキャッシュメモリ５２２に書き込むとともに、当該データのメタデータをキャッシュメモリ５２２上のキューエリアにキューイングする。キューエリアにキューイングされたメタデータは、データの書き込みに伴って古いものから追い出される。チャネルアダプタ５２１は、追い出されるメタデータに関連付けられたデータを本来の第２ストレージ装置６に転送する。
【００８１】
図１９及び図２０は、本発明の一実施形態に係るストレージシステム４における常駐化解除処理を説明するためのフローチャートである。具体的には、図１９は、第１ストレージ装置５における処理を示し、図２０は、第２ストレージ装置６における処理を示している。
【００８２】
システム管理者は、管理装置７上のＷｅｂコンソールを介して、現在常駐化設定がされている常駐化領域の解除指示を行う。管理装置７は、Ｗｅｂコンソールからの常駐化解除指示を受けて、常駐化解除要求を第１ストレージ装置５に送出する。
【００８３】
第１ストレージ装置５は、キャッシュ常駐化解除要求を受領すると（ＳＴＥＰ１９０１）、ＬＤＥＶ管理テーブル４００を参照して、当該解除要求で指定された論理デバイスＬＤＥＶに対応する仮想デバイスＶＤＥＶを特定し（ＳＴＥＰ１９０２）、さらに、ＶＤＥＶ管理テーブル５００を参照して、当該仮想デバイスＶＤＥＶに対応する外部ストレージ装置及び外部論理デバイスＬＤＥＶを特定する（ＳＴＥＰ１９０３）。続いて、第１ストレージ装置５は、外部ストレージ装置管理テーブル６００を参照し、特定された外部ストレージ装置のパスを決定する（ＳＴＥＰ１９０４）。
【００８４】
次に、第１ストレージ装置５は、常駐化解除を指定したキャッシュ常駐化制御コマンドを作成し（ＳＴＥＰ１９０５）、特定したパスを介して第２ストレージ装置６にキャッシュ常駐化制御コマンドを送出する（ＳＴＥＰ１９０６）。
【００８５】
第２ストレージ装置６は、常駐化解除が指定されたキャッシュ常駐化制御コマンドを受領すると（ＳＴＥＰ２００１）、当該制御コマンドで指定されたキャッシュ常駐化領域のデータをディスクドライブ６１にデステージングする（ＳＴＥＰ２００２）。具体的には、第２ストレージ装置６のチャネルアダプタ６２１は、共有メモリ６２４を介してディスクアダプタ６２４にデステージング要求を送出する。デステージング要求を受領したディスクアダプタ６２４は、当該データをディスクドライブ６１にデステージングする。
【００８６】
デステージング終了後、第２ストレージ装置６は、常駐化領域管理テーブル９００から当該常駐化領域を削除し（ＳＴＥＰ２００３）、正常ステータスを含む終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ２００４）。なお、第２ストレージ装置６におけるデステージングが何らかの理由により異常終了した場合には、第２ストレージ装置６は、エラーステータスを含む終了報告を第１ストレージ装置５に送出する。
【００８７】
第１ストレージ装置５は、第２ストレージ装置６から処理完了報告を受領すると（ＳＴＥＰ１９０７）、終了報告に基づいてキャッシュ容量管理テーブル７００を更新する（ＳＴＥＰ１９０８）。具体的には、常駐化領域サイズ欄７０３及び常駐化領域数欄７が更新されることになる。続いて、第１ストレージ装置５は、常駐化領域管理テーブル８００に、今回解除されたキャッシュ常駐化領域に関わるエントリを削除する（ＳＴＥＰ１９０９）。そして、第１ストレージ装置５は、常駐化解除要求に対する終了報告を作成し、管理装置７に送出する（ＳＴＥＰ１９１０）。
【００８８】
以上により、第１ストレージ装置５は、管理装置７上のＷｅｂコンソールから与えられる常駐化解除要求に従って、第２ストレージ装置６におけるキャッシュ常駐化領域を解除することができる。
【００８９】
上記の例では、システム管理者によるＷｅｂコンソールを介した常駐化解除要求を説明したが、特にこれにこだわるものではない。例えば、常駐化領域の有効期間を設定し、有効期間を過ぎた常駐化領域が解除されるように制御しても良い。あるいは、アクセス頻度のしきい値を設定し、アクセス頻度が当該しきい値を下回った場合に、常駐化領域が解除されるように制御しても良い。
［第２の実施形態］
【００９０】
図２１は、本発明の一実施形態に係るストレージシステム４における常駐化設定処理を説明するためのフローチャートである。本実施形態では、ストレージシステム４は、ホスト装置３からのＩ／Ｏコマンドを利用してキャッシュ常駐化を制御する。
【００９１】
第１ストレージ装置５は、ホスト装置３からのＩ／Ｏコマンドの受領に先立ち、システム管理者による管理装置７のＷｅｂコンソール１４００からキャッシュ常駐化設定指示を受けて、上述したようなキャッシュ常駐化設定を行う。同図のＳＴＥＰ２１０１〜２１０７は、図１２のＳＴＥＰ１２０１〜１２０７と同じであるため、説明を省略する。
【００９２】
ＳＴＥＰ２１０７において、第１ストレージ装置５は、キャッシュ常駐化領域を確保できると判断する場合、キャッシュ容量管理テーブル７００の常駐化領域サイズ及び領域数を更新し（ＳＴＥＰ２１０８）、さらに、常駐化領域管理テーブル８００に今回新たに設定されたキャッシュ常駐化領域に関わるエントリを追加する（ＳＴＥＰ２１０９）。そして、第１ストレージ装置５は、常駐化設定要求に対する終了報告を作成し、管理装置７に送出する（ＳＴＥＰ２１１０）。
【００９３】
図２２及び図２３は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化制御を説明するためのフローチャートである。具体的には、図２２は、第１ストレージ装置５における処理を示し、図２３は、第２ストレージ装置６における処理を示している。
【００９４】
まず、図２２に示すように、第１ストレージ装置５は、ホスト装置３からＩ／Ｏコマンドを受領し、当該Ｉ／Ｏコマンドを解釈する（ＳＴＥＰ２２０１）。次に、第１ストレージ装置５は、常駐化領域管理テーブル８００を参照して、当該Ｉ／Ｏコマンドが指定する論理アドレスＬＤＥＶの記憶領域がキャッシュ常駐化領域内のものであるか否かを判断する（ＳＴＥＰ２２０２）。
【００９５】
第１ストレージ装置５は、当該論理アドレスがキャッシュ常駐化領域内のものでないと判断する場合、Ｉ／Ｏコマンドのキャッシュ常駐化指示ビットをＯＦＦにして（ＳＴＥＰ２２０３）、ターゲットとなっている第２ストレージ装置６にＩ／Ｏコマンドを送出する（ＳＴＥＰ２２０５）。一方、第１ストレージ装置５は、当該論理アドレスがキャッシュ常駐化領域内のものであると判断する場合、Ｉ／Ｏコマンドのキャッシュ常駐化指示ビットをＯＮにして（ＳＴＥＰ２２０４）、ターゲットとなっている第２ストレージ装置６にＩ／Ｏコマンドを送出する（ＳＴＥＰ２２０５）。
【００９６】
そして、第１ストレージ装置５は、後述する図２３に示す処理に従って第２ストレージ装置６から送出される終了報告を受領し（ＳＴＥＰ２２０６）、ホスト装置３に対して、Ｉ／Ｏコマンドに対する応答を送出する（ＳＴＥＰ２２０７）。
【００９７】
第２ストレージ装置６は、第１ストレージ装置５からキャッシュ常駐化指示ビットを持つＩ／Ｏコマンドを受領すると、当該Ｉ／Ｏコマンドを解釈し（図２３のＳＴＥＰ２３０１）、当該Ｉ／Ｏコマンドのキャッシュ常駐化指示ビットがＯＮであるか否かを判断する（ＳＴＥＰ２３０２）。
【００９８】
第２ストレージ装置６は、当該Ｉ／Ｏコマンドのキャッシュ常駐化指示ビットがＯＦＦであると判断する場合、通常のＩ／Ｏ処理を行う（ＳＴＥＰ２３０３）。すなわち、例えば、Ｉ／Ｏコマンドがデータの書き込み要求であれば、第２ストレージ装置６のチャネルアダプタ６２１は、キャッシュメモリ６２２の通常の領域（非常駐化領域）にデータを格納する。そして、ディスクアダプタ６２３は、適宜のタイミングで、非常駐化領域に格納されたデータをデステージングして、ディスクドライブ６１に格納する。第２ストレージ装置６は、通常のＩ／Ｏ処理を完了すると、第１ストレージ装置５に終了報告を送出する（ＳＴＥＰ２３０５）。
【００９９】
一方、当該Ｉ／Ｏコマンドのキャッシュ常駐化指示ビットがＯＮであると判断する場合、第２ストレージ装置６は、当該Ｉ／Ｏコマンドのデータをキャッシュ常駐化領域に格納する（ＳＴＥＰ２３０４）。本実施形態では、キャッシュ常駐化領域は、図２４に示すように、常駐化データの書き込みに応じて拡張される。つまり、新たな常駐化データの書き込み指示があるごとに、未使用の非常駐化領域は常駐化領域に変更される。
【０１００】
第２ストレージ装置６は、キャッシュ常駐化領域への書き込みが完了すると、第１ストレージ装置５に処理完了報告を送出する（ＳＴＥＰ２３０５）。
［第３の実施形態］
【０１０１】
本実施形態は、ホスト装置３を用いて常駐化設定指示を行うものである。
【０１０２】
図２５は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化設定指示を説明するためのフローチャートである。
【０１０３】
同図に示すように、ホスト装置３は、キャッシュ容量チェックコマンドを第１ストレージ装置５に送出する（ＳＴＥＰ２５０１）。第１ストレージ装置５は、これを受けて、キャッシュ容量管理テーブル７００を参照し、第２ストレージ装置についてのキャッシュサイズの合計値を取得して、これをホスト装置３に送出する（ＳＴＥＰ２５０２）。ホスト装置３は、キャッシュサイズの合計値に従い、キャッシュ常駐化設定指示を行う（ＳＴＥＰ２５０３）。
【０１０４】
これにより、システム管理者は、管理装置７を用いずに、外部ストレージとして構成された全ての第２ストレージ装置６におけるキャッシュメモリ６２２に対して、ホスト装置３を用いてキャッシュ常駐化設定を行うことができる。
［第４の実施形態］
【０１０５】
本実施形態は、データ属性を利用したキャッシュ常駐化機能を有するストレージシステム４を提供するものである。ここで、データ属性とは、例えば、データアクセスの頻度、データアクセスに対してユーザが期待するレスポンス速度等に示す情報であり、本実施形態では、「高速」、「中速」、及び「低速」の３つのカテゴリが用意されている。
【０１０６】
図２６は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化機能を説明するための概念図である。同図は、図１に示されたストレージシステム４を簡略的に示しているが、その構成は同じである。
【０１０７】
すなわち、本実施形態のストレージシステム４は、キャッシュ常駐化領域に対してデータ属性が与えられる。常駐化の対象となるデータは、データ属性に応じて、適切なストレージ装置のキャッシュ常駐化領域に記憶されることになる。また、運用中に、このような常駐化設定を行えば、第１ストレージ装置５は、第１ストレージ装置５及び第２ストレージ装置６の中でデータ属性に応じて当該データが移動されるように制御する。このようなデータ属性を管理するため、図２７に示すような常駐化領域管理テーブル８００’が用意される。この常駐化領域管理テーブル８００’は、処理速度欄８０７が設けられている。
【０１０８】
図２８は、本発明の一実施形態に係るストレージシステム４における常駐化制御を説明するためのフローチャートである。
【０１０９】
まず、システム管理者は、図２９に示すＷｅｂコンソール２９００を用いて、常駐化領域ごとにデータの属性を指定することができる。つまり、Ｗｅｂコンソール２９００は、データ属性を指定するデータ速度入力フィールド２９０１を含んでいる。システム管理者がデータ属性及び他の値を入力して常駐化設定指示を行うと、管理装置７は、常駐化設定要求を第１ストレージ装置５に送出する。
【０１１０】
第１ストレージ装置５は、データ属性を含む常駐化設定要求を受領すると、図２７に示す常駐化領域管理テーブルを参照して、常駐化領域に対する設定要求速度と現在設定されている速度とが一致しているか否かを判断する（ＳＴＥＰ２８０１）。常駐化領域に対する設定要求速度と現在設定されている速度とが一致している場合（ＳＴＥＰ２８０１のＹｅｓ）、第１ストレージ装置５は、何もせずに当該処理を終了する。
【０１１１】
常駐化領域に対する設定要求速度と現在設定されている速度とが一致していない場合（ＳＴＥＰ２８０１のＮｏ）、第１ストレージ装置５は、設定要求速度に応じた処理を行うため分岐処理を行う（ＳＴＥＰ２８０２）。
【０１１２】
設定要求速度が「高速」の場合、第１ストレージ装置は、外部ストレージ番号を特定し、常駐化制御のための読み込みコマンドを作成し、これを当該外部ストレージ番号に対応する第２ストレージ装置６に送出する（ＳＴＥＰ２８０３）。ここで、常駐化制御のための読み込みコマンドは、キャッシュ常駐化解除指示情報を含む。第２ストレージ装置６は、当該コマンドを受領すると、読み込みコマンドで指定されたデータを読み出して、これを第１ストレージ装置５に送出する。そして、第２ストレージ装置６は、常駐化領域に格納されたデータをデステージングする。
【０１１３】
設定要求速度が「中速」の場合、第１ストレージ装置は、現設定速度に応じた処理を行うためさらに分岐判断を行う（ＳＴＥＰ２８０４）。すなわち、現設定速度が「高速」である場合、第１ストレージ装置５は、第２ストレージ装置６に対して、常駐化設定指示を行う（ＳＴＥＰ２８０５）。第１ストレージ装置５は、続いて、キャッシュメモリ５２２の常駐化領域の当該データを破棄し（ＳＴＥＰ２８０６）、常駐化領域管理テーブル８００’を更新する（ＳＴＥＰ２８０７）。つまり、常駐化領域管理テーブル８００’の現速度欄の値は「高速」から「中速」に変更される。一方、現設定速度が「低速」である場合、第１ストレージ装置５は、第２ストレージ装置６に対して常駐化指示を行う（ＳＴＥＰ２８０８）。
【０１１４】
設定要求速度が「低速」の場合、第１ストレージ装置は、現設定速度に応じた処理を行うためさらに分岐判断を行う（ＳＴＥＰ２８０９）。設定要求速度が「低速」であって、かつ、現設定速度が「高速」の場合、第１ストレージ装置５は、当該キャッシュメモリ６２２の常駐化領域へのデータの書き込みコマンドを第２ストレージ装置６に送出する（ＳＴＥＰ２８１０）。続いて、第１ストレージ装置５は、キャッシュメモリ５２２の常駐化領域の当該データを破棄し（ＳＴＥＰ２８１１）、常駐化領域管理テーブル８００’を更新する（ＳＴＥＰ２８１２）。一方、現設定速度が「中速」の場合、第１ストレージ装置５は、第２ストレージ装置６に対して常駐化指示を行う（ＳＴＥＰ２８１３）。
【０１１５】
以上のように、本実施形態によれば、Ｗｅｂコンソールから「高速」、「中速」、又は「低速」といったデータ属性を指定した常駐化指示を行うことにより、常駐化指示された論理デバイスＬＤＥＶのデータは、適切なストレージ装置のキャッシュ常駐化領域に記憶されることになる。また、運用中に、このような常駐化指示を行えば、対象となるデータは、第１ストレージ装置５及び第２ストレージ装置６の中で、データ属性に応じて移動されることになる。これによって、ストレージシステム４は、ユーザが期待した速度で応答できるようになる。
【０１１６】
上記の例では、ユーザが期待するレスポンス速度に応じてデータ属性のカテゴリを設定したが、例えば、チャネルアダプタ５２１によって監視されるＩ／Ｏアクセス量等のパラメータに基づいて、データ属性を設定してもよい。チャネルアダプタは、一定時間の間のＩ／Ｏアクセス量に応じて、「高速」、「中速」、及び「低速」といったカテゴリに分類し、常駐化制御を行ってもよい。
［第５の実施形態］
【０１１７】
本実施形態は、外部ストレージである第２ストレージ装置６のキャッシュメモリ６２２の常駐化領域に十分な空きがない場合に、他の第２ストレージ装置６のキャッシュメモリ６２２の常駐化領域を使用するものである。
【０１１８】
図３０は、本発明の一実施形態に係るストレージシステム４のキャッシュ常駐化機能を説明するための概念図である。同図は、図１に示されたストレージシステム４を簡略的に示しているが、その構成は同じである。
【０１１９】
すなわち、外部ストレージ接続構成を採用するストレージシステム４において、第１ストレージ装置５は、第２ストレージ装置６ａに対して常駐化設定指示を行う。このとき、第１のストレージ装置５は、常駐化設定指示を受領した第２ストレージ装置６ａのキャッシュメモリ６２２の常駐化領域を確保できないことを認識すると、代替の外部ストレージ装置として第２ストレージ装置６ｂを選択し、常駐化領域が確保できるか否かをチェックする。第１ストレージ装置５は、第２ストレージ装置６ｂに常駐化領域を確保できることを認識すると、第２ストレージ装置６ａからデータを読み出して、これを第２ストレージ装置６ｂのキャッシュメモリ６２２の常駐化領域に書き込む。第１ストレージ装置５は、これらに関する常駐化情報を共有メモリ５２４に保持する。
【０１２０】
図３１及び図３２は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【０１２１】
第１ストレージ装置５は、管理装置７からキャッシュ常駐化設定要求を受領すると（ＳＴＥＰ３１０１）、設定要求で指定される第２ストレージ装置６を特定する（ＳＴＥＰ３１０２）。具体的には、第１ストレージ装置５は、ＬＤＥＶ管理テーブル４００を参照して、当該要求で指定された論理デバイスＬＤＥＶに対応する仮想デバイスＶＤＥＶを特定し、さらに、ＶＤＥＶ管理テーブル５００を参照して、当該仮想デバイスＶＤＥＶに対応する外部ストレージ装置及び外部論理デバイスＬＤＥＶを特定する。続いて、第１ストレージ装置５は、外部ストレージ装置管理テーブル６００を参照し、特定された外部ストレージ装置のパスを決定する。これは、図１２のＳＴＥＰ１２０２〜ＳＴＥＰ１２０４に対応する。本例では、設定要求において第２ストレージ装置６ａが指定されているものとする。
【０１２２】
第１ストレージ装置５は、次に、キャッシュ常駐化設定要求で指定された開始アドレス及び終了アドレスに基づいて要求された常駐化領域サイズを算出する（ＳＴＥＰ３１０３）。第１ストレージ装置５は、さらに、キャッシュ容量管理テーブル７００を参照して、特定された外部ストレージ装置の非常駐化領域サイズを取得して（ＳＴＥＰ３１０４）、要求されたサイズのキャッシュ常駐化領域を確保できるか否かをチェックする（ＳＴＥＰ３１０５）。
【０１２３】
第１ストレージ装置５は、キャッシュ常駐化領域を確保できると判断する場合には（ＳＴＥＰ０５のＹｅｓ）、第２ストレージ装置６ａに対する常駐化設定指示を行い（ＳＴＥＰ３１０６）、第２ストレージ装置６ａからの終了報告を待つ（ＳＴＥＰ３１０７）。具体的には、第１ストレージ装置５は、図１７に示したキャッシュ常駐化制御コマンドを作成し、特定したパスを介して第２ストレージ装置６ａにキャッシュ常駐化制御コマンドを送出する。第１ストレージ装置５は、第２ストレージ装置６ａから終了報告を受領すると、キャッシュ常駐化情報を更新する（ＳＴＥＰ３１０８）。これは、図１２におけるＳＴＥＰ１２１２及びＳＴＥＰ１２１３の処理に対応する。そして、第１ストレージ装置５は、常駐化設定要求に対する終了報告を管理装置７に送出して、終了する（ＳＴＥＰ３１０９）。
【０１２４】
一方、第１ストレージ装置５は、第２ストレージ装置６ａにおいてキャッシュ常駐化領域を確保できないと判断する場合には（ＳＴＥＰ３１０５のＮｏ）、他の第２ストレージ装置６が接続されているか否かを判断する（ＳＴＥＰ３１１０）。第１ストレージ装置５は、他の第２ストレージ装置６が接続されていないと判断する場合（ＳＴＥＰ３１１０のＮｏ）、異常終了報告を管理装置７に送出する（ＳＴＥＰ３１０９）。
【０１２５】
第１ストレージ装置５は、他の第２ストレージ装置６が接続されていると判断する場合（ＳＴＥＰ３１１０のＹｅｓ）、当該他の第２ストレージ装置６を代替外部ストレージ装置として選択する（ＳＴＥＰ３１１１）。第１ストレージ装置５は、例えば、ポート番号順に第２ストレージ装置６を代替の外部ストレージ装置として選択してもよい。あるいは、第１ストレージ装置５は、キャッシュメモリ６２２の残容量が大きいものを選択してもよい。さらには、アクセス頻度が低い第２ストレージ装置６が選択されるようにしても良い。アクセス頻度は、例えば、ディスクアダプタ５２１がその動作中にポートを監視し、収集して得られる統計情報である。ここでは、第２ストレージ装置６ｂが選択されたものとする。
【０１２６】
続いて、第１ストレージ装置５は、選択された第２ストレージ装置６ｂの非常駐化領域サイズを取得して（ＳＴＥＰ３１１２）、第２ストレージ装置６ｂのキャッシュメモリ６２２ｂにキャッシュ常駐化領域を確保できるか否かを判断する（ＳＴＥＰ３１１３）。
【０１２７】
第１ストレージ装置５は、第２ストレージ装置６ｂにキャッシュ常駐化領域を確保できると判断する場合には、当該第２ストレージ装置６ｂに対して常駐化設定指示を行って（図３２のＳＴＥＰ３２０１）、当該第２ストレージ装置６ｂから送出される終了報告を待つ（ＳＴＥＰ３２０２）。具体的には、第１ストレージ装置５は、図３３に示すキャッシュ常駐化制御コマンドを作成し、特定したパスを介して第２ストレージ装置６ｂにキャッシュ常駐化制御コマンドを送出する。本実施形態のキャッシュ常駐化制御コマンドは、代替の外部ストレージ装置である第２ストレージ装置６ｂの外部ストレージ番号を含んでいる。
【０１２８】
第１ストレージ装置５は、第２ストレージ装置６ｂから終了報告を受領すると、続いて、設定要求で指定された常駐化しようとする論理デバイスＬＤＥＶの記憶領域のデータを読み出すための読み込みコマンドを設定要求で指定された第２ストレージ装置６ａに送出する（ＳＴＥＰ３２０３）。第１ストレージ装置５は、読み出しコマンドに応答して読み出されたデータに基づいて書き込みコマンドを作成し（ＳＴＥＰ３２０４）、これを選択された第２ストレージ装置６ｂに送出し（ＳＴＥＰ３２０５）、終了報告を待つ（ＳＴＥＰ３２０６）。これにより、図３４で示されるように、第２ストレージ装置６ｂは、当該書き込みコマンドに従って、当該データを常駐化領域に書き込み、終了報告を第１ストレージ装置５に送出する。
【０１２９】
第１ストレージ装置５は、第２ストレージ装置６ｂから終了報告を受領すると、終了報告に基づいて、キャッシュ常駐化情報を更新する（ＳＴＥＰ３２０７）。そして、第１ストレージ装置５は、常駐化設定要求に対する終了報告を管理装置７に送出する（ＳＴＥＰ３２０８）。
【０１３０】
図３４は、本発明の一実施形態に係るストレージ装置６における処理を説明するためのフローチャートである。具体的には、同図は、代替の外部ストレージ装置として選択された第２ストレージ装置６ｂにおける処理を説明しており、常駐化設定処理を行う第１ステージと、書き込みコマンドに従う書き込み処理を行う第２ステージとからなる。
【０１３１】
同図に示すように、第２ストレージ装置６ｂは、第１ストレージ装置からキャッシュ常駐化制御コマンドを受領すると（ＳＴＥＰ３４０１）、常駐化領域管理テーブル９００を参照して、非常駐化領域サイズを取得して（ＳＴＥＰ３４０２）、キャッシュ常駐化領域を確保できるか否かをチェックする（ＳＴＥＰ３４０３）。第２ストレージ装置６ｂは、キャッシュ常駐化領域を確保できないと判断する場合には（ＳＴＥＰ３４０３のＮｏ）、エラーメッセージを含む終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ３４０６）。
【０１３２】
一方、第２ストレージ装置６ｂは、キャッシュ常駐化領域を確保できると判断する場合には（ＳＴＥＰ３４０３のＹｅｓ）、指定されたキャッシュメモリ上のデータをディスクドライブ６１にデステージングする（ＳＴＥＰ３４０４）。具体的には、第２ストレージ装置６ｂのチャネル制御部６２１は、共有メモリ６２４のディレクトリ情報を参照して、キャッシュメモリ６２２の記憶領域に記憶されたデータをディスクドライブ６１の所定の記憶領域にデステージングする。続いて、第２ストレージ装置６は、常駐化領域管理テーブル９００の常駐化情報を更新し（ＳＴＥＰ３４０５）、終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ３４０６）。
【０１３３】
第１ストレージ装置５からの常駐化設定指示後、第２ストレージ装置６ｂは、第１ストレージ装置５から常駐化領域に対するデータを書き込むための書き込みコマンドを受領する（ＳＴＥＰ３４０７）。第２ストレージ装置６ｂは、これを受けて、常駐化領域管理テーブル９００を参照し、当該書き込みコマンドのデータを常駐化領域に書き込む（ＳＴＥＰ３４０８）。そして、第２ストレージ装置６ｂは、終了報告を第１ストレージ装置５に送出する（ＳＴＥＰ３４０９）。
【０１３４】
以上のように、本実施形態によれば、第１ストレージ装置５は、常駐化設定を指定した第２ストレージ装置６のキャッシュメモリ６２２の常駐化領域に十分な空きがない場合であっても、キャッシュメモリ６２２の常駐化領域に余裕がある他の第２ストレージ装置６を検出し、指定した第２ストレージ装置６の常駐化領域に代えて、当該他の第２ストレージ装置６に常駐化領域を設定することができるようになる。
【０１３５】
第１ストレージ装置５は、ホスト装置５からＩ／Ｏコマンドを受領した場合、共有メモリ５２４の常駐化領域管理テーブル８００を参照し、当該Ｉ／Ｏコマンドがターゲットとしている論理デバイスＬＤＥＶに当該Ｉ／Ｏコマンドを振り分ける。具体的には、第１ストレージ装置５は、Ｉ／Ｏコマンドが指定する論理アドレスが常駐化領域を指定するものであるか否かを判断し、常駐化領域を指定するものであれば、常駐化領域管理テーブル８００で示される外部ストレージ番号の第２ストレージ装置６に当該Ｉ／Ｏコマンドを送出する。
【０１３６】
図３５は、本発明の一実施形態に係るストレージシステム４における常駐化解除処理を説明するためのフローチャートである。
【０１３７】
システム管理者は、管理装置７上のＷｅｂコンソールを介して、現在常駐化設定がされている常駐化領域の解除指示を行う。管理装置７は、Ｗｅｂコンソールからの常駐化解除指示を受けて、常駐化解除要求を第１ストレージ装置５に送出する。以下では、代替の外部ストレージ装置として選択された第２ストレージ装置６ｂの常駐化領域を解除する例を説明する。
【０１３８】
第１ストレージ装置５は、管理装置７から常駐化解除要求を受領すると（ＳＴＥＰ３５０１）、解除要求で指定された第２ストレージ装置６ｂに読み込みコマンドを送出する（ＳＴＥＰ３５０２）。第１ストレージ装置５は、これに応答して第２ストレージ装置６ｂから読み出されたデータに基づく書き込みコマンドを、元の第２ストレージ装置６ａに送出し（ＳＴＥＰ３５０３）、第２ストレージ装置６ａから送出される終了報告を待つ（ＳＴＥＰ３５０４）。書き込みコマンドを受領した第２ストレージ装置６ａは、通常のＩ／Ｏ処理に従い、当該データを格納する。
【０１３９】
第１ストレージ装置５は、書き込みコマンドに対する終了報告を受領すると、常駐化解除コマンドを代替の第２ストレージ装置６ｂに送出し（ＳＴＥＰ３５０５）、終了報告を待つ（ＳＴＥＰ３５０６）。第２ストレージ装置６ｂは、常駐化解除コマンドを受領すると、図１３に示した処理を行って、終了報告を第１ストレージ装置５に送出する。
【０１４０】
第１ストレージ装置５は、常駐化解除コマンドに対する終了報告を受領すると、常駐化情報を更新し（ＳＴＥＰ３５０７）、常駐化解除要求に対する終了報告を管理装置７に送出する（ＳＴＥＰ３５０８）。
［第６の実施形態］
【０１４１】
本実施形態は、外部ストレージ接続構成に代えて、キャッシュ常駐化機能を有するグリッド構成のストレージシステム４’提供する。
【０１４２】
図３６は、本発明の一実施形態に係るストレージシステム４’におけるキャッシュ常駐化処理を説明するための概念図である。
【０１４３】
同図に示すように、ストレージ装置５ａ〜５ｃはそれぞれ対等の関係にあり、チャネル２ＡであるＳＡＮを介してホスト装置３と接続されている。つまり、ホスト装置３は、ストレージ装置５ａ〜５ｃのいずれにも直接的にアクセスすることができる。また、ストレージ装置５ａ〜５ｃは、相互に通信可能なように構成されている。あるストレージ装置５から見れば、他のストレージ装置５は、外部ストレージ装置と見ることができる。
【０１４４】
ストレージシステム４’は、各ストレージ装置５ａ〜５ｃが備えるキャッシュメモリ５２２ａ〜５２２ｃを全体として１つのキャッシュメモリであるように見せかける。
【０１４５】
ストレージ装置５ａ〜５ｃのそれぞれは、上述したようなＬＤＥＶ管理テーブル４００と、ＶＤＥＶ管理テーブル５００と、外部ストレージ装置管理テーブル６００と、キャッシュ容量管理テーブル７００と、常駐化領域管理テーブル８００とを自身の共有メモリ５２４ａ〜５２４ｃに記憶する。各テーブル中、外部ストレージ番号は、ストレージ装置を一意に識別しうるものであればよい。これらテーブルの内容は、各ストレージ装置５ａ〜５ｃで同じである。
【０１４６】
図示しない管理装置７は、ストレージ装置５ａ〜５ｃのいずれかに対して常駐化設定を指示する。常駐化設定指示を受領したストレージ装置５は、上述したような常駐化設定処理を行い、常駐化情報の一貫性が保持されるように、更新された常駐化情報を他のストレージ装置５に送出する。
【０１４７】
図３７は、本発明の一実施形態に係るストレージシステム４におけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【０１４８】
同図に示すように、まず、ストレージシステム４における一のストレージ装置５は、管理装置７から送出されたキャッシュ常駐化設定要求を受領する（ＳＴＥＰ３７０１）。本例では、ストレージ装置５ａが当該設定要求を受領したものとする。ストレージ装置５ａは、常駐化領域管理テーブル８００を参照して、自身を含む各ストレージ装置５のキャッシュ空き容量を取得する（ＳＴＥＰ３７０２）。続いて、ストレージ装置５ａは、取得したキャッシュ空き容量に基づき、最も空き容量が大きいキャッシュメモリ５２２を有するストレージ装置５を選択する（ＳＴＥＰ３７０３）。ストレージ装置５ａは、例えば、アクセス頻度及びキャッシュ使用率等の他のパラメータを考慮してもよい。本例では、ストレージ装置５ｂが選択されたものとする。
【０１４９】
次に、ストレージ装置５ａは、選択したストレージ装置５ｂに対して、キャッシュ常駐化設定指示コマンドを送出し（ＳＴＥＰ３７０４）、当該設定指示コマンドに対する終了報告を待つ（ＳＴＥＰ３７０５）。当該設定指示コマンドを受領したストレージ装置５ｂは、上述した常駐化設定のための処理を行った後、終了報告をストレージ装置５ａに送出する。
【０１５０】
終了報告を受領したストレージ装置５ａは、常駐化情報を更新し（ＳＴＥＰ３７０６）、更新した常駐化情報を他のストレージ装置５（つまりストレージ装置５ｂ及び５ｃ）に送出する（ＳＴＥＰ３７０７）。更新された常駐化情報を受領した他のストレージ装置５ｂ及び５ｃは、自身の常駐化情報を更新する。
【０１５１】
そして、ストレージ装置５ａは、常駐化設定要求に対する終了報告を管理装置７に送出する（ＳＴＥＰ３７０８）。
【０１５２】
例えば、ストレージ装置５ｂは、ホスト装置３からのアクセス頻度が低く、キャッシュメモリ５２２ｂの使用率が低いものとする。また、ストレージ装置５ａ及び５ｃは、キャッシュメモリ５２２ａ及び５２２ｃの使用率が高いものとする。このような場合に、ストレージ装置５ａ及び／又は５ｃのデータが、ストレージ装置５ｂのキャッシュメモリ５２２ｂの常駐化領域に常駐するように、常駐化設定が行われる。これにより、グリッド構成のストレージシステム４’内の各ストレージ５ａ〜５ｃのキャッシュメモリ５２２ａ〜５２２ｃを有効に利用することができる。したがって、ストレージシステム４’のシステムパフォーマンスを向上させることができる。
【産業上の利用可能性】
【０１５３】
本発明は、複数のストレージ装置を備えるストレージシステムに広く適用することができる。
【図面の簡単な説明】
【０１５４】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示す図である。
【図２】本発明の一実施形態に係る第１ストレージ装置の共有メモリの内容を示す図である。
【図３】本発明の一実施形態に係る第２ストレージ装置の共有メモリの内容を示す図である。
【図４】本発明の一実施形態に係る第１ストレージ装置におけるＬＤＥＶ管理テーブルの一例を示す図である。
【図５】本発明の一実施形態に係る第１ストレージ装置におけるＶＤＥＶ管理テーブルの一例を示す図である。
【図６】本発明の一実施形態に係る第１ストレージ装置における外部ストレージ装置管理テーブルの一例を示す図である。
【図７】本発明の一実施形態に係る第１ストレージ装置におけるキャッシュ容量管理テーブルの一例を示すための図である。
【図８】本発明の一実施形態に係る第１ストレージ装置における常駐化領域管理テーブルの一例を示す図である。
【図９】本発明の一実施形態に係る第２ストレージ装置における常駐化領域管理テーブルの一例を示す図である。
【図１０】本発明の一実施形態に係るストレージシステムのキャッシュ常駐化機能を説明するための概念図である。
【図１１】本発明の一実施形態に係るストレージシステムにおける外部ストレージ接続構成の構築時の処理を説明するためのフローチャートである。
【図１２】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【図１３】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【図１４】本発明の一実施形態に係る管理装置上のＷｅｂコンソールの一例を示す図である。
【図１５】本発明の一実施形態に係る管理装置上に表示されるキャッシュ容量及び常駐化設定参照画面の一例を示す図である。
【図１６】本発明の一実施形態に係る管理装置上に表示されるキャッシュ常駐化領域参照画面の一例を示す図である。
【図１７】発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化制御コマンドを説明するための図である。
【図１８】本発明の一実施形態に係る第１ストレージ装置のチャネルアダプタによる処理を説明するためのフローチャートである。
【図１９】本発明の一実施形態に係るストレージシステムにおける常駐化解除処理を説明するためのフローチャートである。
【図２０】本発明の一実施形態に係るストレージシステムにおける常駐化解除処理を説明するためのフローチャートである。
【図２１】本発明の一実施形態に係るストレージシステムにおける常駐化設定処理を説明するためのフローチャートである。
【図２２】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化制御を説明するためのフローチャートである。
【図２３】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化制御を説明するためのフローチャートである。
【図２４】本発明の一実施形態に係る第２ストレージ装置のキャッシュメモリの使用状態を説明するための図である。
【図２５】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定指示を説明するためのフローチャートである。
【図２６】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化機能を説明するための概念図である。
【図２７】本発明の一実施形態に係る第１ストレージ装置における常駐化領域管理テーブルの一例を示す図である。
【図２８】本発明の一実施形態に係るストレージシステムにおける常駐化制御を説明するためのフローチャートである。
【図２９】本発明の一実施形態に係る管理装置上のＷｅｂコンソールの一例を示す図である。
【図３０】本発明の一実施形態に係るストレージシステムのキャッシュ常駐化機能を説明するための概念図である。
【図３１】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【図３２】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【図３３】発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化制御コマンドを説明するための図である。
【図３４】本発明の一実施形態に係るストレージ装置における処理を説明するためのフローチャートである。
【図３５】本発明の一実施形態に係るストレージシステムにおける常駐化解除処理を説明するためのフローチャートである。
【図３６】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化処理を説明するための概念図である。
【図３７】本発明の一実施形態に係るストレージシステムにおけるキャッシュ常駐化設定処理を説明するためのフローチャートである。
【符号の説明】
【０１５５】
１…コンピュータシステム
２…チャネル
３…ホスト装置
４…ストレージシステム
５…第１ストレージ装置
５１…ディスクドライブ
５２…ディスク制御装置
５２１…チャネルアダプタ
５２２…キャッシュメモリ
５２３…ディスクアダプタ
５２４…共有メモリ
５２５…接続部
５３…ディスクチャネル
６…第２ストレージ装置
６１…ディスクドライブ
６２…ディスク制御装置
６２１…チャネルアダプタ
６２２…キャッシュメモリ
６２３…ディスクアダプタ
６２４…共有メモリ
６２５…接続部
６３…ディスクチャネル
【図１】
2008234056.tif 000003
【図２】
2008234056.tif 000004
【図３】
2008234056.tif 000005
【図４】
2008234056.tif 000006
【図５】
2008234056.tif 000007
【図６】
2008234056.tif 000008
【図７】
2008234056.tif 000009
【図８】
2008234056.tif 000010
【図９】
2008234056.tif 000011
【図１０】
2008234056.tif 000012
【図１１】
2008234056.tif 000013
【図１２】
2008234056.tif 000014
【図１３】
2008234056.tif 000015
【図１４】
2008234056.tif 000016
【図１５】
2008234056.tif 000017
【図１６】
2008234056.tif 000018
【図１７】
2008234056.tif 000019
【図１８】
2008234056.tif 000020
【図１９】
2008234056.tif 000021
【図２０】
2008234056.tif 000022
【図２１】
2008234056.tif 000023
【図２２】
2008234056.tif 000024
【図２３】
2008234056.tif 000025
【図２４】
2008234056.tif 000026
【図２５】
2008234056.tif 000027
【図２６】
2008234056.tif 000028
【図２７】
2008234056.tif 000029
【図２８】
2008234056.tif 000030
【図２９】
2008234056.tif 000031
【図３０】
2008234056.tif 000032
【図３１】
2008234056.tif 000033
【図３２】
2008234056.tif 000034
【図３３】
2008234056.tif 000035
【図３４】
2008234056.tif 000036
【図３５】
2008234056.tif 000037
【図３６】
2008234056.tif 000038
【図３７】
2008234056.tif 000039