(57)【要約】【課題】ストレージエリアネットワークについて、ホスト装置及び記憶装置を変更することなく、データの局所性が高く、且つキャッシュ動作の負荷が軽い、キャッシュ制御方法、スイッチ装置及びプログラムを提供する。【解決手段】ホスト装置２が、スイッチ装置１を介して記憶装置ＸＸＸへ、宛先アドレス及びブロックアドレスを含むデータ読出要求を送信し、記憶装置ＸＸＸが、スイッチ装置１を介してホスト装置２へ、ブロックアドレスに対応するブロックを含むデータ読出応答を送信する。次に、スイッチ装置１が、転送されたブロックを、記憶装置ＸＸＸから記憶装置ＹＹＹへ、コピーするべく転送する。そして、ホスト装置２が、スイッチ装置１へ、ブロックアドレスと同じブロックアドレスを含むデータ読出要求を送信した際に、スイッチ装置１は、データ読出要求を記憶装置ＹＹＹへ送信する。【選択図】図２
2008158733.tif 000002
【特許請求の範囲】
【請求項１】
ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置におけるキャッシュ制御方法であって、
前記ホスト装置が、前記スイッチ装置を介して第１の記憶装置へ、宛先アドレス及びブロックアドレスを含むデータ読出要求を送信し、第１の記憶装置が、前記スイッチ装置を介して前記ホスト装置へ、前記ブロックアドレスに対応するブロックを含むデータ読出応答を送信する第１のステップと、
前記スイッチ装置が、転送された前記ブロックを、第１の記憶装置から第２の記憶装置へ、コピーするべく転送する第２のステップと、
前記ホスト装置が、前記スイッチ装置へ、前記ブロックアドレスと同じブロックアドレスを含むデータ読出要求を送信した際に、前記スイッチ装置は、前記データ読出要求を第２の記憶装置へ送信する第３のステップと
を有することを特徴とするキャッシュ制御方法。
【請求項２】
前記記憶装置の宛先アドレスと、該記憶装置に記憶されている前記ファイルのブロックアドレスとを対応付けて記憶する、前記ホスト装置に対する第１のルーティングテーブルと、
記憶装置のアドレスと、該記憶装置に記憶されている前記ファイルのブロックアドレスとを対応付けて記憶する、前記記憶装置に対する第２のルーティングテーブルと
を有し、
第１のルーティングテーブルの各項目と、第２のルーティングテーブルの各項目とは対応付けられており、
第２のステップについて、第２のルーティングテーブルにおける前記ブロックに係る前記記憶装置のアドレスが変更される
ことを特徴とする請求項１に記載のキャッシュ制御方法。
【請求項３】
前記ルーティングテーブルを、他のスイッチ装置へ送信し、且つ、他のスイッチ装置から受信したルーティングテーブルを蓄積することを特徴とする請求項２に記載のキャッシュ制御方法。
【請求項４】
前記スイッチ装置は、ファイバチャネルネットワークに備えられており、
前記記憶装置のアドレスは、ファイバチャネルフレームヘッダによって特定され、
前記データ読出要求は、ＳＣＳＩ(Small Computer System Interface)コマンドによって特定され、
前記ファイルのブロックアドレスは、ＳＣＳＩフレームヘッダによって特定される
ことを特徴とする請求項１から３のいずれか１項に記載のキャッシュ制御方法。
【請求項５】
ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置において、
前記記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶したルーティングテーブルを用いて、前記ホスト装置から受信したデータ読出要求を第１の記憶装置へ送信し、第１の記憶装置から受信した、ブロックを含むデータ読出応答を前記ホスト装置へ送信するルーティング手段と
前記ルーティング手段によって転送された前記ブロックを、第１の記憶装置から第２の記憶装置へコピーするべく転送するコピー手段と、
転送された前記ブロックの前記ブロックアドレスに対応する第１の記憶装置のアドレスを、第２の記憶装置のアドレスに変更するべく前記ルーティング手段へ通知するコピー先通知手段と
を有することを特徴とするスイッチ装置。
【請求項６】
前記ルーティングテーブルは、第１のルーティングテーブルと第２のルーティングテーブルとを有し、第１のルーティングテーブルの各項目と、第２のルーティングテーブルの各項目とは対応付けられており、
第１のルーティングテーブルは、前記ホスト装置に対して、前記記憶装置の宛先アドレスと、該記憶装置に記憶されている前記ファイルのブロックアドレスとを対応付けたものであり、
第２のルーティングテーブルは、前記記憶装置に対して、記憶装置のアドレスと、該記憶装置に記憶されている前記ファイルのブロックアドレスとを対応付けたものであり、
前記コピー先通知手段から通知された情報に基づいて、第２のルーティングテーブルにおける前記ブロックに係る前記記憶装置のアドレスが変更される
ことを特徴とする請求項５に記載のスイッチ装置。
【請求項７】
前記ルーティング手段は、前記ルーティングテーブルを、他のスイッチ装置へ送信し、且つ、他のスイッチ装置から受信したルーティングテーブルを蓄積することを特徴とする請求項６に記載のキャッシュ制御方法。
【請求項８】
ファイバチャネルネットワークに備えられており、
前記記憶装置のアドレスは、ファイバチャネルフレームヘッダによって特定され、
前記データ読出要求は、ＳＣＳＩコマンドによって特定され、
前記ファイルのブロックアドレスは、ＳＣＳＩフレームヘッダによって特定される
ことを特徴とする請求項５から７のいずれか１項に記載のスイッチ装置。
【請求項９】
ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置に搭載されたコンピュータを機能させるプログラムにおいて、
前記記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶したルーティングテーブルを用いて、前記ホスト装置から受信したデータ読出要求を第１の記憶装置へ送信し、第１の記憶装置から受信した、ブロックを含むデータ読出応答を前記ホスト装置へ送信するルーティング手段と
前記ルーティング手段によって転送された前記ブロックを、第１の記憶装置から第２の記憶装置へコピーするべく転送するコピー手段と、
転送された前記ブロックの前記ブロックアドレスに対応する第１の記憶装置のアドレスを、第２の記憶装置のアドレスに変更するべく前記ルーティング手段へ通知するコピー先通知手段と
してコンピュータを機能させることを特徴とするスイッチ装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージエリアネットワーク（ＳＡＮ：Storage Area Network）におけるキャッシュ制御方法、スイッチ装置及びプログラムに関する。
【背景技術】
【０００２】
図１は、従来技術におけるストレージエリアネットワークのシステム構成図である。
【０００３】
図１によれば、複数の端末５が、ＬＡＮ(Local Area Network)（ＩＰ(Internet Protocol)ネットワーク）を介して複数のホスト装置（サーバ）２に接続されている。ＬＡＮは、複数のＬＡＮスイッチ装置４によって構成されており、通常、イーサネット（登録商標）によって接続される。ＬＡＮは、ＩＰを用いて通信されており、ＬＡＮスイッチ装置４は、ＩＰヘッダ又はＭＡＣヘッダに基づいてパケットの経路を制御する。
【０００４】
また、複数のホスト装置２は、ＳＡＮを介して複数の記憶装置３に接続されている。このように、記憶装置は、ＬＡＮとは別の専用ネットワークに接続される。ＳＡＮは、複数のファイバチャネルスイッチ装置１によって構成されており、通常、光ファイバ（又は同軸ケーブル）によって接続される。例えば、光ファイバの場合、１．０６２５Ｇｂｐｓ（同軸ケーブルの場合、１３３Ｍｐｓ）の最大転送速度を実現する。
【０００５】
従来技術として、記憶装置に記憶されているファイルと、そのファイルの記憶装置内のアドレスとを関連付けて管理している制御装置がある（例えば特許文献１参照）。この制御装置は、端末からファイルの読み出し要求を検知した際に、記憶装置内のディスクから、記憶装置内のキャッシュメモリへ事前にデータを移動させる。これにより、記憶装置からの読み出しを高速化する。
【０００６】
他の従来技術として、同一のデータを複数の記憶装置に記憶しており、端末が、別の記憶装置に接続して、同じ手順でデータ読み出すことができる技術もある（例えば特許文献２参照）。この技術は、記憶装置内に備えられた制御装置によって実現する。
【０００７】
更に、記憶装置によって構成されるストレージエリアネットワークに関する標準規格も規定されている（例えば非特許文献１参照）。
【０００８】
【特許文献１】特開２００５−１４８８６８号公報
【特許文献２】特開２００６−３０９６４０号公報
【非特許文献１】辻哲也、「ストレージ・ネットワークはどこへ向かうのか」、＠ＩＴ情報マネジメント、[online]、２００６年１０月２８日、［平成１８年１２月２１日検索］、インターネット＜URL:http://www.atmarkit.co.jp/im/cop/serial/storagenw/06/01.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載された技術によれば、同一の記憶装置内のキャッシュ制御方法であって、複数の記憶装置間でデータをキャッシュする技術については記載されていない。また、特許文献２に記載された技術によれば、記憶装置内の制御装置が連携して他の記憶装置へファイルをバックアップするものであって、異なる種類の記憶装置間での連携はできない。
【００１０】
また、従来技術におけるキャッシュ制御方法は、ファイル単位でコピーされるために、ディスク容量の制限の問題がある。また、大容量のファイルがキャッシュされる際には、バースト的にネットワークへ影響を与えるという問題もある。
【００１１】
従って、本発明は、ストレージエリアネットワークについて、ホスト装置及び記憶装置を変更することなく、データの局所性が高く、且つキャッシュ動作の負荷が軽い、キャッシュ制御方法、スイッチ装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置におけるキャッシュ制御方法であって、
ホスト装置が、スイッチ装置を介して第１の記憶装置へ、宛先アドレス及びブロックアドレスを含むデータ読出要求を送信し、第１の記憶装置が、スイッチ装置を介してホスト装置へ、ブロックアドレスに対応するブロックを含むデータ読出応答を送信する第１のステップと、
スイッチ装置が、転送されたブロックを、第１の記憶装置から第２の記憶装置へ、コピーするべく転送する第２のステップと、
ホスト装置が、スイッチ装置へ、ブロックアドレスと同じブロックアドレスを含むデータ読出要求を送信した際に、スイッチ装置は、データ読出要求を第２の記憶装置へ送信する第３のステップと
を有することを特徴とする。
【００１３】
本発明のキャッシュ制御方法における他の実施形態によれば、
記憶装置の宛先アドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶する、ホスト装置に対する第１のルーティングテーブルと、
記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶する、記憶装置に対する第２のルーティングテーブルと
を有し、
第１のルーティングテーブルの各項目と、第２のルーティングテーブルの各項目とは対応付けられており、
第２のステップについて、第２のルーティングテーブルにおけるブロックに係る記憶装置のアドレスが変更される
ことも好ましい。
【００１４】
本発明のキャッシュ制御方法における他の実施形態によれば、
ルーティングテーブルを、他のスイッチ装置へ送信し、且つ、他のスイッチ装置から受信したルーティングテーブルを蓄積することも好ましい。
【００１５】
本発明のキャッシュ制御方法における他の実施形態によれば、
スイッチ装置は、ファイバチャネルネットワークに備えられており、
記憶装置のアドレスは、ファイバチャネルフレームヘッダによって特定され、
データ読出要求は、ＳＣＳＩ(Small Computer System Interface)コマンドによって特定され、
ファイルのブロックアドレスは、ＳＣＳＩフレームヘッダによって特定される
ことも好ましい。
【００１６】
本発明によれば、ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置において、
記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶したルーティングテーブルを用いて、ホスト装置から受信したデータ読出要求を第１の記憶装置へ送信し、第１の記憶装置から受信した、ブロックを含むデータ読出応答をホスト装置へ送信するルーティング手段と
ルーティング手段によって転送されたブロックを、第１の記憶装置から第２の記憶装置へコピーするべく転送するコピー手段と、
転送されたブロックのブロックアドレスに対応する第１の記憶装置のアドレスを、第２の記憶装置のアドレスに変更するべくルーティング手段へ通知するコピー先通知手段と
を有することを特徴とする。
【００１７】
本発明のスイッチ装置における他の実施形態によれば、
ルーティングテーブルは、第１のルーティングテーブルと第２のルーティングテーブルとを有し、第１のルーティングテーブルの各項目と、第２のルーティングテーブルの各項目とは対応付けられており、
第１のルーティングテーブルは、ホスト装置に対して、記憶装置の宛先アドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けたものであり、
第２のルーティングテーブルは、記憶装置に対して、記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けたものであり、
コピー先通知手段から通知された情報に基づいて、第２のルーティングテーブルにおけるブロックに係る記憶装置のアドレスが変更される
ことも好ましい。
【００１８】
本発明のスイッチ装置における他の実施形態によれば、ルーティング手段は、ルーティングテーブルを、他のスイッチ装置へ送信し、且つ、他のスイッチ装置から受信したルーティングテーブルを蓄積することも好ましい。
【００１９】
本発明のスイッチ装置における他の実施形態によれば、
ファイバチャネルネットワークに備えられており、
記憶装置のアドレスは、ファイバチャネルフレームヘッダによって特定され、
データ読出要求は、ＳＣＳＩコマンドによって特定され、
ファイルのブロックアドレスは、ＳＣＳＩフレームヘッダによって特定される
ことも好ましい。
【００２０】
本発明によれば、ストレージエリアネットワークを介して、ホスト装置と複数の記憶装置とを接続するスイッチ装置に搭載されたコンピュータを機能させるプログラムにおいて、
記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶したルーティングテーブルを用いて、ホスト装置から受信したデータ読出要求を第１の記憶装置へ送信し、第１の記憶装置から受信した、ブロックを含むデータ読出応答をホスト装置へ送信するルーティング手段と
ルーティング手段によって転送されたブロックを、第１の記憶装置から第２の記憶装置へコピーするべく転送するコピー手段と、
転送されたブロックのブロックアドレスに対応する第１の記憶装置のアドレスを、第２の記憶装置のアドレスに変更するべくルーティング手段へ通知するコピー先通知手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２１】
本発明におけるキャッシュ制御方法、スイッチ装置及びプログラムによれば、ストレージエリアネットワークについて、ホスト装置及び記憶装置を変更することなく、データの局所性（キャッシュ性能）が高く、且つキャッシュ動作の負荷を軽くすることができる。
【発明を実施するための最良の形態】
【００２２】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２３】
本発明によれば、ＳＡＮについて、１つのデータを、複数の記憶装置によって記憶する。これは、データのバックアップの役割だけでなく、ホスト装置からのデータ読出要求に対して、データの高速読み出しを実現する役割も有する。例えば、ホスト装置は、過去に読み出されたデータ又は読み出しの可能性が高いデータを、当該ホスト装置から物理的又は論理的に近い位置に存在する記憶装置へキャッシュしておくことができる。
【００２４】
図２は、本発明におけるＳＡＮのシーケンス図である。
【００２５】
最初に、記憶装置ＸＸＸが、所定のファイルを蓄積しているとする。このファイルは、４つのブロックに区分されており、ブロックアドレス１〜４が付与されているとする。また、ホスト装置２から見て、記憶装置ＹＹＹの位置は、記憶装置ＸＸＸの位置よりも物理的又は論理的に近いとする。従って、ホスト装置２は、記憶装置ＸＸＸからデータを読み出すよりも、記憶装置ＹＹＹからデータを読み出す方が高速に実行できる。
【００２６】
（Ｓ２０１）ホスト装置２は、スイッチ装置１へ、データ読出要求を送信する。このデータ読出要求には、記憶装置ＸＸＸに記憶されたファイルについて、ブロックアドレス２及び３のブロックの読み出しを要求するものである。また、このデータ読出要求は、宛先アドレスを記憶装置ＸＸＸのアドレスとする。
【００２７】
（Ｓ２０２）スイッチ装置１は、ホスト装置２から受信したデータ読出要求を、宛先アドレス（記憶装置ＸＸＸのアドレス）に基づいて、記憶装置ＸＸＸへ転送する。
【００２８】
（Ｓ２０３）記憶装置ＸＸＸは、データ読出要求に対して、予め記憶されていたブロック２及び３を読み出し、これらブロックを付加したデータ読出応答をスイッチ装置１へ返信する。
【００２９】
（Ｓ２０４）スイッチ装置１は、記憶装置ＸＸＸから受信したデータ読出応答を、ホスト装置２へ送信する。
（Ｓ２０５）このとき（又はその後）、スイッチ装置１は、ホスト装置２から見て、記憶装置ＸＸＸよりも近い記憶装置ＹＹＹへ、データ書込要求を送信する。データ書込要求には、記憶装置ＸＸＸから受信したブロック２及び３が付加される。
（Ｓ２０６）記憶装置ＹＹＹは、スイッチ装置１からデータ書込要求を受信し、それに付加されたブロックを、記憶装置ＹＹＹに記憶する。そして、記憶装置ＹＹＹは、データ書込応答をスイッチ装置１へ返信する。
【００３０】
（Ｓ２０７）その後、ホスト装置２が、スイッチ装置１へ、データ読出要求を送信する。このデータ読出要求は、以前と同様に、ブロックアドレス２及び３のブロックの読み出しを要求するものである。また、このデータ読出要求は、宛先アドレスを記憶装置ＸＸＸのアドレスとする。
（Ｓ２０８）このとき、スイッチ装置１は、ホスト装置２から受信したデータ読出要求を、記憶装置ＹＹＹへ転送する。
【００３１】
（Ｓ２０９）記憶装置ＹＹＹは、データ読出要求に対して、予め記憶されていたブロック１及び２のデータを読み出し、これらブロックを付加したデータ読出応答をスイッチ装置１へ返信する。
（Ｓ２１０）スイッチ装置１は、記憶装置ＹＹＹから受信したデータ読出応答を、ホスト装置２へ送信する。これにより、ファイルのブロックアドレス２及び３のブロックは、記憶装置ＹＹＹから読み出される。記憶装置ＸＸＸから読み出すよりも高速に実現できる。また、ホスト装置及び記憶装置は既存のものであって、何ら変更を要しない。
【００３２】
図３は、本発明におけるスイッチ装置の第１の機能構成図である。
【００３３】
図３によれば、スイッチ装置１は、ルーティング部１１と、コピー部１２と、コピー先通知部１３と、ポート１４とを有する。ポート１４以外の機能部は、スイッチ装置１に搭載されたコンピュータを機能させるプログラムを実行することによっても実現できる。
【００３４】
ルーティング部１１は、ルーティングテーブル１及び２を有し、フレームの経路制御をする。第１のポート１４から受信されたフレームは、ルーティングテーブル１及び２に基づいて、第２のポート１４へ送信される。
【００３５】
ルーティングテーブル１は、ホスト装置に対して、記憶装置の宛先アドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶する。ルーティングテーブル１は、ホストアドレス、宛先アドレス、ＬＵＮ(Logical Unit Number)と、ブロックアドレスとを含む。ホストアドレスは、ホスト装置毎に異なる。宛先アドレスは、そのブロックが記憶されている記憶装置のアドレスである。ホスト装置は、最初に、その記憶装置のアドレスを知っている。ＬＵＮは、その記憶装置内のディスク番号を表す。ブロックアドレスは、その記憶装置におけるそのＬＵＮのディスクに記憶されるブロック単位のアドレスを表す。これにより、そのブロック単位でデータを読み出し又は書き込みをすることができる。
【００３６】
ルーティングテーブル２は、記憶装置に対して、記憶装置のアドレスと、該記憶装置に記憶されているファイルのブロックアドレスとを対応付けて記憶する。ルーティングテーブル２は、記憶装置アドレスと、記憶装置ＬＵＮと、ブロックアドレスとを含む。記憶装置アドレスは、スイッチ装置によって経路制御可能なアドレスである。記憶装置ＬＵＮは、その記憶装置内のディスク番号を表す。ブロックアドレスは、その記憶装置におけるそのＬＵＮのディスクに記憶されているブロックのアドレスを表す。
【００３７】
図３に表されたルーティングテーブル１及び２は、各項目（ブロック単位）で１対１に対応付けられている。これにより、ブロック単位で、どの記憶装置にデータ読出要求を送信すればよいかが把握できる。
【００３８】
また、スイッチ装置１は、ルーティングテーブル１及び２を他のスイッチ装置へ送信することもでき、他のスイッチ装置から受信したルーティングテーブル１及び２を蓄積することもできる。このように近隣のスイッチ装置１の間で、ルーティングテーブルを交換することによって、物理的又は論理的に近くに位置する記憶装置に記憶された同一のブロックを容易に発見することができる。
【００３９】
コピー部１２は、第１の記憶装置に記憶されたデータを、第２の記憶装置へコピーする。このようなコピーは、データのバックアップの役割だけでなく、ホスト装置からのデータ読出要求に対して、高速なデータの読み出しを実現する役割も有する。データ読出要求を送信したホスト装置に、物理的又は論理的に近い位置にある記憶装置にブロック単位で記憶する。
【００４０】
コピー先通知部１２は、コピー部１２によるコピー動作をルーティング部１１へ通知する。コピーされたブロックのブロックアドレスに対応する第１の記憶装置のアドレスを、第２の記憶装置のアドレスに変更するべく、ルーティング部１１へ通知する。
【００４１】
次に、図３のシーケンスに沿って説明する。
【００４２】
ホスト装置２は、スイッチ装置１を介して、記憶装置ＸＸＸ及び記憶装置ＹＹＹに接続されている。最初に、記憶装置ＸＸＸが、所定のファイルを蓄積しているとする。このファイルは、４つのブロックに区分されており、ブロックアドレス１〜４が付与されているとする。また、ホスト装置２から見て、記憶装置ＹＹＹの位置は、記憶装置ＸＸＸの位置よりも物理的又は論理的に近いとする。従って、ホスト装置２は、記憶装置ＸＸＸからデータを読み出すよりも、記憶装置ＹＹＹからデータを読み出す方が高速に実行できる。
【００４３】
（Ｓ３０１）スイッチ装置１は、ホスト装置２からデータ読出要求を受信する。データ読出要求は、宛先アドレスを記憶装置ＸＸＸとし、ブロックアドレスを２及び３としている。スイッチ装置１のルーティング部１１におけるルーティングテーブル１は、最初、全てのブロック（ブロックアドレス１〜４）について記憶装置ＸＸＸへ経路制御されている。従って、ルーティング部１１は、このデータ読出要求を、記憶装置ＸＸＸへ送信する。
【００４４】
これに対し、スイッチ装置１は、記憶装置ＸＸＸから、ブロック２及び３を含むデータ読出応答を受信する。このデータ読出応答は、ルーティング部１１によって、ホスト装置２へ転送される。
【００４５】
（Ｓ３０２）ルーティング部１１は、コピー部１２へ、記憶装置ＸＸＸに記憶されたブロック「２及び３」がホスト装置２によって読み出されたことを通知する。これにより、コピー部１２は、記憶装置ＸＸＸに記憶されているブロックアドレス２及び３のブロックを、記憶装置ＹＹＹへコピーするべく転送をする。この動作によって、記憶装置ＹＹＹは、ホスト装置２によって先に読み出されたブロック２及び３を記憶する。
【００４６】
（Ｓ３０３）コピー先通知部１３は、コピー部１２によるコピー動作をルーティング部１１へ通知する。図３によれば、コピー先通知部１２は、ブロックアドレス２及び３のブロックが、記憶装置ＸＸＸから記憶装置ＹＹＹへコピーされた旨の情報を、ルーティング部１１へ通知する。
【００４７】
これにより、ルーティング部１１は、ルーティングテーブル２を書き換える。図３におけるコピー後のルーティングテーブル２によれば、ルーティングテーブル１における宛先アドレスＸＸＸのブロックアドレス２及び３について、記憶装置ＹＹＹにブロックアドレス１及び２として記憶されていることが理解できる。
【００４８】
（Ｓ３０４）スイッチ装置１が、ホスト装置２から、再び、ブロック２及び３についてのデータ読出要求を受信したとする。同様に、データ読出要求は、宛先アドレスを記憶装置ＸＸＸとし、読み出しのブロックアドレスを２及び３としている。このとき、ルーティング部１１におけるルーティングテーブル２は、ブロックアドレス２及び３について記憶装置ＹＹＹへ経路制御されている。従って、ルーティング部１１は、そのデータ読出要求について、ブロックアドレス１及び２に変換し、記憶装置ＹＹＹへ送信する。
【００４９】
これに対し、記憶装置ＹＹＹは、ブロック１及び２を含むデータ読出応答を、スイッチ装置１へ返信する。データ読出応答は、ルーティング部１１によって、ホスト装置２へ転送される。
【００５０】
図４は、本発明におけるスイッチ装置の第２の機能構成図である。
【００５１】
図４の機能構成は、図３と比較して、コピー部１２が、ルーティング部１１とポート１４との間に備えられている点で相異する。図４の構成によれば、ルーティング部１１が、読み出されたブロックアドレスを、コピー部１２へ通知する必要がない。コピー部１２は、ルーティング部１１のコピー動作を監視することができる。
【００５２】
（Ｓ４０１）図３におけるＳ３０１と、全く同様に動作する。但し、ルーティング部１１は、コピー部１２を介して、ポートＸに接続された記憶装置ＸＸＸと通信している点が相異する。
【００５３】
（Ｓ４０２）コピー部１２は、記憶装置ＸＸＸに記憶されたブロック「２及び３」がホスト装置２によって読み出されたことを知っている。これにより、コピー部１２は、記憶装置ＸＸＸに記憶されているブロックアドレス２及び３のブロックを、記憶装置ＹＹＹへコピーするべく転送をする。この動作によって、記憶装置ＹＹＹは、ホスト装置２によって先に読み出されたブロック２及び３を記憶する。
【００５４】
（Ｓ４０３）図３におけるＳ３０３と、全く同様に動作する。
（Ｓ４０４）図３におけるＳ３０４と、全く同様に動作する。
【００５５】
図５は、本発明におけるルーティングテーブルの推移を表す説明図である。
【００５６】
図３及び図４に表されたルーティングテーブルは、ブロックアドレス毎に１対１に対応するものである。これに対し、図５のルーティングテーブルは、ブロック範囲によって記憶装置が特定されている。
【００５７】
（Ｓ５０１）ブロックアドレス１〜３００００のブロックが、記憶装置ＸＸＸに、ブロックアドレス１から記憶されている。
【００５８】
（Ｓ５０２）ホスト装置が、記憶装置ＸＸＸからブロックアドレス１０００１〜１５０００のブロックを読み出したとする。このとき、ルーティングテーブル１について、ブロックアドレス１〜１００００、１０００１〜１５０００、１５００１〜３００００の３つに区分される。そして、ルーティングテーブル２によれば、ブロックアドレス１０００１〜１５０００について、記憶装置ＹＹＹにブロックアドレス１から記憶されている。
【００５９】
（Ｓ５０３）次に、ホスト装置が、記憶装置ＸＸＸからブロックアドレス２０００１〜３００００のブロックを読み出したとする。このとき、ルーティングテーブル１について、ブロックアドレス１〜１００００、１０００１〜１５０００、１５００１〜２００００、２０００１〜３００００の４つに区分される。そして、ルーティングテーブル２によれば、ブロックアドレス２０００１〜３００００について、記憶装置ＹＹＹにブロックアドレス５０００から記憶されている。
【００６０】
（Ｓ５０４）次に、ホスト装置が、記憶装置ＸＸＸからブロックアドレス１５００１〜２００００のブロックを読み出したとする。このとき、ルーティングテーブル２によれば、ブロックアドレス１５００１〜２００００について、記憶装置ＹＹＹにブロックアドレス１５００１から記憶されている。
【００６１】
図６は、ＳＡＮプロトコルのフレーム構成図である。
【００６２】
ＳＡＮのプロトコルは、ファイバチャネルとＳＣＳＩとによって構成される。スイッチ装置は、ファイバチャネルプロトコルヘッダに基づいてフレームの経路を制御する。また、記憶装置によって記憶されるデータの読出及び書込は、ＳＣＳＩコマンドによって制御される。
【００６３】
図６によれば、ファイバチャネルフレームは、ファイバチャネルヘッダと、ＳＣＳＩコマンド部とからなる。ファイバチャネルヘッダは、宛先アドレスと送信元アドレスとを含む。要求コマンドの場合、記憶装置のアドレスが宛先アドレスに含まれ、ホスト装置のアドレスが送信元アドレスに含まれる。
【００６４】
ＳＣＳＩコマンド部は、ＬＵＮと、動作コードと、ブロックアドレスとを含む。ＬＵＮは、記憶装置のディスク番号である。動作コードは、例えばデータ読出要求、データ読出応答、データ書込要求、データ書込応答等がある。ブロックアドレスは、その記憶装置のそのディスクにおけるブロックのアドレスを表す。
【００６５】
以上、詳細に説明したように、本発明におけるキャッシュ制御方法、スイッチ装置及びプログラムによれば、ストレージエリアネットワークについて、ホスト装置及び記憶装置に負荷をかけると無く且つ変更することも無く、データの局所性（キャッシュ性能）を高めることができる。
【００６６】
特に、本発明によれば、スイッチ装置が、ＳＣＳＩコマンドを検出することができ、その内容に応じてブロック単位で経路を制御するという特徴を有する。また、キャッシュ動作は、データの読み出し動作によって自動的に行われ、別途のキャッシュ動作要求を必要としない。
【００６７】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００６８】
【図１】従来技術におけるストレージエリアネットワークのシステム構成図である。
【図２】本発明におけるＳＡＮのシーケンス図である。
【図３】本発明におけるスイッチ装置の第１の機能構成図である。
【図４】本発明におけるスイッチ装置の第２の機能構成図である。
【図５】本発明におけるルーティングテーブルの推移を表す説明図である。
【図６】ＳＡＮプロトコルのフレーム構成図である。
【符号の説明】
【００６９】
１  スイッチ装置、ファイバチャネルスイッチ装置
１１  ルーティング部
１２  コピー部
１３  コピー先通知部
１４  ポート部
２  ホスト装置
３  記憶装置
４  ＬＡＮスイッチ装置
５  端末
【図１】
2008158733.tif 000003
【図２】
2008158733.tif 000004
【図３】
2008158733.tif 000005
【図４】
2008158733.tif 000006
【図５】
2008158733.tif 000007
【図６】
2008158733.tif 000008