(57)【要約】【課題】  多数のホストアクセスがストレージに集中するようなネットワーク環境において、データ転送帯域を消費せずに、ストレージ装置がボトルネックになることを回避し、また中継器のハードウェア（回路規模）を比較的シンプルに構成しつつホストからの要求に対するレスポンス向上を図る技術を提供する。【解決手段】  ストレージネットワークシステムにおいて、中継器３０は、ストレージデバイス１１からの読み出しデータを記憶するキャッシュメモリ３５を内蔵する。そして、ストレージ装置１０は、ホスト５０からのデータの読み出し要求を受領した際に、中継器３０に当該データを記憶する指示を付加して当該データを送出する処理と、再度、同じデータへの読み出し要求があった場合は、中継器３０へ、指定されたホスト５０に当該データを送出するように指示する処理とを実行する。一方、中継器３０は、指定されたホスト５０に、自身に記憶された当該データを送出する処理を実行する。【選択図】  図３
2006252019.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するストレージデバイスと、前記ストレージデバイスに対するデータの書き込みおよび読み出しを制御するストレージコントローラとを有するストレージ装置と、
前記ストレージ装置に対する上位装置からのデータの書き込み要求および読み出し要求を中継する中継器とを有し、
前記中継器は、前記ストレージデバイスからの読み出しデータを記憶するキャッシュメモリを内蔵し、
前記ストレージ装置は、前記上位装置からのデータの読み出し要求を受領した際に、前記中継器のキャッシュメモリに当該データを記憶する指示を付加して当該データを送出する処理と、再度、同じデータへの読み出し要求があった場合は、前記中継器へ、指定された上位装置に当該データを送出するように指示する処理とを実行し、
前記中継器は、前記指定された上位装置に、自身のキャッシュメモリに記憶された当該データを送出する処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項２】
請求項１記載のストレージネットワークシステムにおいて、
前記中継器は、電源入力断時に電圧を供給するバッテリを内蔵する、ことを特徴とするストレージネットワークシステム。
【請求項３】
請求項１記載のストレージネットワークシステムにおいて、
前記中継器は、当該データを記憶する際に、当該データのうちの一部分を記憶する処理を実行し、
前記ストレージ装置は、前記中継器が当該データの一部分を前記指定された上位装置へ転送している間に、前記ストレージデバイスへ当該データの残りのデータにアクセスする処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項４】
請求項１記載のストレージネットワークシステムにおいて、
前記中継器は、複数からなり、
前記ストレージ装置と前記上位装置との間には、各中継器が複数経路で配置されている、ことを特徴とするストレージネットワークシステム。
【請求項５】
請求項４記載のストレージネットワークシステムにおいて、
前記ストレージ装置は、前記中継器への命令を発行する為に、前記中継器を選択する手段と、前記中継器の位置情報を管理する為のテーブルとを備える、ことを特徴とするストレージネットワークシステム。
【請求項６】
請求項４記載のストレージネットワークシステムにおいて、
前記複数経路の各中継器のそれぞれは、異なるデータを記憶する処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項７】
請求項６記載のストレージネットワークシステムにおいて、
前記各中継器は、当該データを記憶する際に、当該データのうちの一部分を記憶する処理を実行し、
前記ストレージ装置は、前記各中継器が当該データの一部分を前記指定された上位装置へ転送している間に、前記ストレージデバイスへ当該データの残りのデータにアクセスする処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項８】
請求項４記載のストレージネットワークシステムにおいて、
前記複数経路内の同一系路上にある複数の中継器に、特定の同じデータを記憶する処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項９】
請求項８記載のストレージネットワークシステムにおいて、
前記ストレージコントローラの指示により指定された第１の中継器が第２の中継器へデータを転送し、前記第２の中継器がデータを検証する、ことを特徴とするストレージネットワークシステム。
【請求項１０】
請求項９記載のストレージネットワークシステムにおいて、
前記各中継器は、当該データを記憶する際に、当該データのうちの一部分を記憶する処理を実行し、
前記ストレージ装置は、前記各中継器が当該データの一部分を前記指定された上位装置へ転送している間に、前記ストレージデバイスへ当該データの残りのデータにアクセスする処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項１１】
請求項４記載のストレージネットワークシステムにおいて、
前記各中継器は、特定のデータに一定時間以上転送要求が無い場合、前記ストレージ装置がルートテーブルから削除された場合、キャッシュ要求されたデータよりキャッシュメモリの残量が少ない場合、およびデータ検証時における異常を検出した場合のいずれかの場合に、キャッシュしたデータを破棄する処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項１２】
請求項４記載のストレージネットワークシステムにおいて、
前記各中継器は、前記ストレージ装置の指示により、キャッシュしたデータを破棄する処理を実行する、ことを特徴とするストレージネットワークシステム。
【請求項１３】
請求項４記載のストレージネットワークシステムにおいて、
前記各中継器は、予め前記ストレージコントローラの単位で一定量のキャッシュ領域の割り当てを行い、
前記ストレージコントローラは、自身に割り当てられた容量を問い合わせにより把握し、前記各中継器へ、前記割り当てられた容量以上のキャッシュ要求を行わないように制御する、ことを特徴とするストレージネットワークシステム。
【請求項１４】
請求項４記載のストレージネットワークシステムにおいて、
前記各中継器は、キャッシュしたデータの削除によりキャッシュ領域の割り当て可能領域に一定以上の変化が生じた場合に、前記ストレージコントローラにメッセージを送出する処理を行い、
前記ストレージコントローラは、前記メッセージの受領を契機として再度自身に割り当てられた容量を問い合わせにより把握する処理を行う、ことを特徴とするストレージネットワークシステム。
【請求項１５】
請求項４記載のストレージネットワークシステムにおいて、
前記ストレージ装置は、前記各中継器に対して、第１のポートを選択し、前記第１のポートへのデータ転送負荷が一定量以上の場合に、前記第１のポートと対応する第２のポートへデータの振り分け許可を設定する、ことを特徴とするストレージネットワークシステム。
【請求項１６】
請求項４記載のストレージネットワークシステムにおいて、
前記各中継器は、第１のポートへのデータ転送負荷が前記ストレージ装置により設定された閾値以上の場合に、前記第１のポートと対応する第２のポートへ、前記データの一部を出力するように自動制御する、ことを特徴とするストレージネットワークシステム。
【請求項１７】
請求項４記載のストレージネットワークシステムにおいて、
前記複数の中継器のうち、第３の中継器は、２種類以上の異なるインタフェースをそれぞれ独立したスイッチ機能で制御し、また前記第３の中継器に搭載されるキャッシュメモリへは前記異なるインタフェースのそれぞれからアクセス可能である、ことを特徴とするストレージネットワークシステム。
【請求項１８】
請求項１７記載のストレージネットワークシステムにおいて、
前記第３の中継器は、前記ストレージ装置のバックエンド側に配置され、前記ストレージ装置内のデバイスと接続される、ことを特徴とするストレージネットワークシステム。
【請求項１９】
請求項１７記載のストレージネットワークシステムにおいて、
前記第３の中継器は、前記ストレージコントローラの指示により指定された複数のデバイスへの２つ以上の複製データを転送する、ことを特徴とするストレージネットワークシステム。
【請求項２０】
請求項１８記載のストレージネットワークシステムにおいて、
前記第３の中継器は、複数からなり、
前記複数の第３の中継器のうち、前記ストレージコントローラの指示により指定された一方の中継器が冗長化されている別系の中継器へデータを転送し、前記別系の中継器がデータを検証する、ことを特徴とするストレージネットワークシステム。
【請求項２１】
請求項１７記載のストレージネットワークシステムにおいて、
前記第３の中継器は、複数からなり、
前記複数の第３の中継器のうち、第４の中継器は、２種類以上の異なるインタフェース間の変換を行うプロトコル変換部を有し、前記異なるインタフェース間で相互にデータの乗り入れを実行する、ことを特徴とするストレージネットワークシステム。
【請求項２２】
請求項２１記載のストレージネットワークシステムにおいて、
前記プロトコル変換部は、制御コード付のオーダードセットの送受信を、識別子を変更して、データとして送出する、ことを特徴とするストレージネットワークシステム。
【請求項２３】
データを記憶するストレージデバイスと、前記ストレージデバイスに対するデータの書き込みおよび読み出しを制御するストレージコントローラとを有するストレージ装置と、
前記ストレージ装置に対する上位装置からのデータの書き込み要求および読み出し要求を中継する複数の中継器とを有し、
前記複数の中継器のそれぞれは、前記ストレージデバイスからの読み出しデータを記憶するキャッシュメモリを内蔵し、
前記ストレージ装置は、前記上位装置からのデータの読み出し要求を受領した際に、前記中継器のキャッシュメモリに当該データを記憶する指示を付加して当該データを送出する処理と、再度、同じデータへの読み出し要求があった場合は、前記中継器へ、指定された上位装置に当該データを送出するように指示する処理とを実行し、
前記中継器は、前記指定された上位装置に、自身のキャッシュメモリに記憶された当該データを送出する処理を実行するものであり、
前記中継器は、当該データを記憶する際に、当該データのうちの一部分を記憶する処理を実行し、
前記ストレージ装置は、前記中継器が当該データの一部分を前記指定された上位装置へ転送している間に、前記ストレージデバイスへ当該データの残りのデータにアクセスする処理を実行し、
前記ストレージ装置と前記中継器との間は、指示および応答の短いフレームを送受信する、ことを特徴とするストレージネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージネットワークシステムに関し、特に、上位装置（ホスト）とストレージ装置との間に中継器を有するネットワークシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のストレージ装置のような複数のホストが接続可能な形態のストレージネットワークシステムにおいては、ネットワーク規模の急速な拡大に伴い、多数のホストからのアクセス応答の高速化が求められている。また、上記システムの接続形態は、ほとんどの場合、クライアント−サーバ形のシステム形態であり、Ｗｅｂサーバに代表されるように、多くの場合、ストレージ装置へのアクセスはデータの書き込みよりも読み出し要求の方が上回って運用されている。
【０００３】
一方、これらの高負荷要求に応えるため、ストレージ装置は高速なキャッシュメモリを装備しているが、キャッシュ容量には限界がある。また、装置のコスト増の要因となるため、一部のハイエンドな装置を除き、一般的にキャッシュ容量はそれ程大きくはないと言える。もうひとつの要因として、ディスク容量の急激な増大化およびストレージ装置への高密度実装化により、キャッシュ容量対ディスク容量の比率の低下に伴うキャッシュヒット率の低下によるレスポンス悪化が懸念される。
【０００４】
このようなＳＡＮに代表されるネットワークの拡大は、ストレージ装置にアクセス可能なホストの増大を生じている。これら多数のホスト別にアクセスされるデータ（ファイル）は必要とされるデータが異なるため、全てキャッシュメモリに保存することが不可能となり、キャッシュヒット率の低下によるレスポンスの悪化を引き起こす。
【０００５】
また、例え大容量のキャッシュメモリを搭載していても、インタフェースのデータ転送帯域は限られている。このため、帯域性能を向上させるためには、多数のインタフェースポートを有し、負荷分散（ロードバランス）制御等と組み合せる等、やはりコスト面での負担が非常に大きくなる。
【０００６】
そこで、例えば、特許文献１に記載のように、キャッシュメモリを装備する中継器を実現し、中継器自身の判断によりデータをキャッシュする方式がある。また、特許文献２に記載のように、階層化された各制御装置に分散して置かれたキャッシュメモリの統一化された制御に関する技術がある。
【特許文献１】特開平１１−１１２５４１号公報
【特許文献２】特開２０００−３５３１２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、例えば、前記特許文献１に記載の技術では、中継器が自らパケット等を監視し、キャッシュする方式である。そのため、同一経路上に同型の中継器が存在する場合、それらのキャッシュ内容には重複するデータが多数存在することとなり、効率が良くない。また、ホストが必要とするデータの全てがキャッシュされている必要がある。これは、もしホストからの要求の一部のデータしかキャッシュできていない場合、残りのデータについて、中継器はホストが発行するコマンドを変換してストレージ装置に発行する等の複雑な処理が必要となり、ハードウェア規模も非常に大掛かりなものとなってしまう。
【０００８】
そこで、本発明は、上記のような課題を解決し、第１の目的として、ホストとストレージ装置との間に中継器を有するストレージネットワークシステムにおいて、中継器での処理を単純化して、中継器のハードウェア（回路規模）を比較的シンプルに構成することができる技術を提供することにある。
【０００９】
また、前記特許文献２に記載の技術では、ストレージ装置の内部に存在するメモリ資源である入出力制御部のＩ／Ｏキャッシュ、ストレージコントローラのコントローラキャッシュ、ストレージデバイスのデバイスキャッシュによりキャッシュメモリ容量を増大化させることで、キャッシュヒット率を向上させることが目的であり、データ転送帯域の低減等は考慮されていない。
【００１０】
言い換えれば、このストレージ装置は、上記のそれぞれのキャッシュ容量を合計した従来のストレージ装置と、性能面においてオーバヘッドや各Ｉ／Ｆバスの転送帯域を考慮しない最大効果で比較したとしても等価である。よって、単にコスト面においてのみ優位のため、本発明のような複数のホストからの集中的なアクセスに対する応答には従来装置と同様、対応することが難しい。
【００１１】
さらに、より現実的な比較をすれば、この技術では、コントローラキャッシュを除き、入出力制御部やデバイスとのインタフェースを共用してメモリにアクセスを行うため、各インタフェースバスの転送帯域をその分消費することとなる。インタフェースバスの占有率が上昇すると、コマンドの多重化や並列実行が困難となり、パフォーマンスの低下を招く上、当然ながらインタフェースバスの転送帯域を上回ったデータ転送は不可能なため、性能のボトルネックを生じ易い。これらの欠点を回避するにはインタフェースバスの増設や帯域向上が必要となり、そのような場合においては、もはや従来の装置に比べて必ずしもコスト的に優位であるとは言えない。
【００１２】
そこで、本発明は、上記のような課題を解決し、第２の目的として、ストレージ装置そのものがシステム性能のボトルネックになることを回避して、データ転送帯域を消費せずに、ホストからの要求に対するレスポンス向上を図ることができる技術を提供することにある。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１４】
本発明は、ホストと、データを記憶するストレージデバイス、ストレージデバイスに対するデータの書き込みおよび読み出しを制御するストレージコントローラを有するストレージ装置との間に、ストレージ装置に対するホストからのデータの書き込み要求および読み出し要求を中継する中継器を有するストレージネットワークシステムに適用され、以下のような特徴を有するものである。
【００１５】
（１）中継器は、ストレージデバイスからの読み出しデータを記憶するキャッシュメモリを内蔵する。そして、ストレージ装置は、ホストからのデータの読み出し要求を受領した際に、中継器のキャッシュメモリに当該データを記憶する指示を付加して当該データを送出する処理と、再度、同じデータへの読み出し要求があった場合は、中継器へ、指定されたホストに当該データを送出するように指示する処理とを実行する。一方、中継器は、指定されたホストに、自身のキャッシュメモリに記憶された当該データを送出する処理を実行する。
【００１６】
（２）中継器は、電源入力断時に電圧を供給するバッテリを内蔵する。
【００１７】
（３）中継器は、当該データを記憶する際に、当該データのうちの一部分を記憶する処理を実行する。そして、ストレージ装置は、中継器が当該データの一部分を指定されたホストへ転送している間に、ストレージデバイスへ当該データの残りのデータにアクセスする処理を実行する。
【００１８】
（４）中継器は、複数からなり、ストレージ装置とホストとの間には、各中継器が複数経路で配置されている。
【００１９】
（５）ストレージ装置は、中継器への命令を発行する為に、中継器を選択する手段と、中継器の位置情報を管理する為のテーブルとを備える。
【００２０】
（６）複数経路の各中継器のそれぞれは、異なるデータを記憶する処理を実行する。
【００２１】
（７）複数経路内の同一系路上にある複数の中継器に、特定の同じデータを記憶する処理を実行する。
【００２２】
（８）ストレージコントローラの指示により指定された第１の中継器が第２の中継器へデータを転送し、第２の中継器がデータを検証する。
【００２３】
（９）各中継器は、特定のデータに一定時間以上転送要求が無い場合、ストレージ装置がルートテーブルから削除された場合、キャッシュ要求されたデータよりキャッシュメモリの残量が少ない場合、およびデータ検証時における異常を検出した場合のいずれかの場合に、キャッシュしたデータを破棄する処理を実行する。
【００２４】
（１０）各中継器は、ストレージ装置の指示により、キャッシュしたデータを破棄する処理を実行する。
【００２５】
（１１）各中継器は、予めストレージコントローラの単位で一定量のキャッシュ領域の割り当てを行う。そして、ストレージコントローラは、自身に割り当てられた容量を問い合わせにより把握し、各中継器へ、割り当てられた容量以上のキャッシュ要求を行わないように制御する。
【００２６】
（１２）各中継器は、キャッシュしたデータの削除によりキャッシュ領域の割り当て可能領域に一定以上の変化が生じた場合に、ストレージコントローラにメッセージを送出する処理を行う。そして、ストレージコントローラは、メッセージの受領を契機として再度自身に割り当てられた容量を問い合わせにより把握する処理を行う。
【００２７】
（１３）ストレージ装置は、各中継器に対して、第１のポートを選択し、第１のポートへのデータ転送負荷が一定量以上の場合に、第１のポートと対応する第２のポートへデータの振り分け許可を設定する。
【００２８】
（１４）各中継器は、第１のポートへのデータ転送負荷がストレージ装置により設定された閾値以上の場合に、第１のポートと対応する第２のポートへ、データの一部を出力するように自動制御する。
【００２９】
（１５）複数の中継器のうち、第３の中継器は、２種類以上の異なるインタフェースをそれぞれ独立したスイッチ機能で制御する。また、第３の中継器に搭載されるキャッシュメモリへは異なるインタフェースのそれぞれからアクセス可能である。
【００３０】
（１６）第３の中継器は、ストレージ装置のバックエンド側に配置され、ストレージ装置内のデバイスと接続される。
【００３１】
（１７）第３の中継器は、ストレージコントローラの指示により指定された複数のデバイスへの２つ以上の複製データを転送する。
【００３２】
（１８）第３の中継器は、複数からなり、複数の第３の中継器のうち、ストレージコントローラの指示により指定された一方の中継器が冗長化されている別系の中継器へデータを転送し、別系の中継器がデータを検証する。
【００３３】
（１９）第３の中継器は、複数からなり、複数の第３の中継器のうち、第４の中継器は、２種類以上の異なるインタフェース間の変換を行うプロトコル変換部を有し、異なるインタフェース間で相互にデータの乗り入れを実行する。
【００３４】
（２０）プロトコル変換部は、制御コード付のオーダードセットの送受信を、識別子を変更して、データとして送出する。
【発明の効果】
【００３５】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００３６】
本発明によれば、ホストとストレージ装置との間に中継器を有するストレージネットワークシステムにおいて、中継器での処理を単純化することで、中継器のハードウェア（回路規模）を比較的シンプルに構成することが可能となる。
【００３７】
また、本発明によれば、ストレージ装置そのものがシステム性能のボトルネックになることを回避することで、データ転送帯域を消費せずに、ホストからの要求に対するレスポンス向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００３８】
《本発明の概念》
本発明のストレージネットワークシステムは、ホストとストレージ装置との間に中継器を有する。中継器は、キャッシュメモリを内蔵する。ストレージ装置は、ホストからのデータ読み出し要求の際に、中継器のキャッシュメモリに当該データを記憶する指示を付加してデータを送出する。再度、同じデータへのアクセス要求があった場合、ストレージ装置は、中継器へ指定ホストに当該データを送出するよう指示を出す。すると、中継器は、ホストに、自身のキャッシュメモリにキャッシュされたデータを送出する。これにより、ホストからのデータリード要求に対する応答の高速化を図る。また、中継器は、ストレージ装置側からの指示により決まった応答を行うだけなので、ハードウェア（回路規模）を比較的シンプルに構成可能である。
【００３９】
この際に、大きなデータは、部分的なデータ、例えば先頭の一部分を中継器にキャッシュする。中継器が当該データをホストへ転送している間に、ストレージ装置は、内蔵のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のストレージデバイスへ残りのデータにアクセスする。これにより、オーバヘッドを軽減する。
【００４０】
また、中継器は、複数のホストとの間で複数経路に配置する。ストレージ装置は、経路上の各中継器にそれぞれ異なったデータを記憶させる。これにより、容易にキャッシュ容量の増設等が可能となる。
【００４１】
本発明による方式は、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）においてはネットワークスイッチおよびルータ、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）においてはファイバチャネルスイッチ、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）エクスパンダ等のネットワーク中継器に広く応用可能である。
【００４２】
例えば、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）−ＳＡＮと、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）−ＳＡＮ等の変換部を経由しても、キャッシュ機能が利用できるように設計すれば、対象となるネットワーク範囲をさらに広げることが可能である。例えば、ＳＡＳ等のＮＥＡＲ  ＬＩＮＥをＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）経由で構成する応用が可能である。
【００４３】
また、ストレージ装置内のストレージコントローラとＨＤＤ等のストレージデバイス筐体間に配置するスイッチユニットとしても応用可能である。この場合に、組み込み形のみならず、ＮＡＳヘッダ等のブレードサーバ配下にスイッチが構成される場合等を含む。
【００４４】
さらに、ブリッジＩＤ等で中継器およびポートを認識して、ホストのプログラム等のサポート不要で、自動的なロードバランスを制御することにも応用可能である。
【００４５】
以下において、本発明の実施の形態および応用例を図面に基づいて詳細に説明する。なお、実施の形態、応用例を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００４６】
《実施の形態》
〔ストレージネットワークシステムのモデル〕
図１により、本発明の一実施の形態におけるストレージネットワークシステムのモデルの一例を説明する。図１は、ストレージネットワークシステムのモデルを示す。
【００４７】
本実施の形態におけるストレージネットワークシステムのモデルは、ディスクアレイ装置等からなるストレージ装置１０と、このストレージ装置１０に対するホストからのデータの書き込み要求および読み出し要求を中継する８台の中継器Ａ〜Ｈ（３０）と、この中継器２０に接続される８台のホストＡ〜Ｈ（５０）から構成される。
【００４８】
このようなストレージネットワークシステムのモデルにおいて、例えば、前述した特許文献１の技術を適用した場合には、次のようになる。例えば、中継器３０に何もデータがキャッシュされていない状態で、ホストＡがストレージ装置１０からデータをリードした場合、経路上の中継器は、リードしたデータをホストＡに中継すると共に、自身にキャッシュする。すると、中継器Ａ，Ｂ，Ｃの全てが同じデータを記憶することになる。これでは中継器３０のキャッシュメモリを効率良く使用することはできない。
【００４９】
また、次にホストＡからの同一データに対するリード要求に対し、中継器Ｃがキャッシュメモリにより応答することになる。この時、中継器Ｃを経由しないホストＤが当該データの更新を行っていた場合に、中継器Ｃはそれを認知することができない。よって、中継器Ｃは古いデータを自身のキャッシュメモリより応答することになり、正しいデータの取得ができないケースが存在する。
【００５０】
そこで、本実施の形態においては、詳細は後述するが、中継器３０はストレージ装置１０の指示により、ホスト５０のリードデータのみをキャッシュする。このキャッシュメモリを中継器３０に持たせることで、Ａ点に流れるデータはキャッシュミス時のデータのみとなる。各中継器３０のキャッシュ状態はストレージ装置１０側で管理することで、メモリ使用効率の良いシステム構築が可能となる。経路上でのデータ消失防止のために、ホスト５０からのライトデータはキャッシュしないが、一般的にストレージ装置１０へのアクセスはデータのライトよりもリード要求の方が多い（ライト：リード＝１：５程度）。また、Ｗｅｂデータ等の場合は、９０％以上がリードであるケースが珍しくない。以上の観点から、リードデータのみをキャッシュするだけでも応答パフォーマンスの改善が可能である。
【００５１】
〔中継器の外観〕
図２により、本実施の形態におけるストレージネットワークシステムにおいて、スタンドアロン型の中継器の一例を説明する。図２は、スタンドアロン型の中継器の外観（前面と後面）を示す。
【００５２】
中継器３０は、例えばスタンドアロン型からなり、ＡＣ／ＤＣ電源からなる電源ユニットと、バッテリからなるＵＰＳ（Ｕｎｉｎｔｅｒｒｕｐｔａｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）ユニットと、ＣＰＵやデータコントローラ、メモリ、ダイレクタからなるコントロールユニットと、キャッシュメモリからなるキャッシュモジュールユニット等から構成され、筐体内に収納されている。この構成では、電源ユニット、コントロールユニット、キャッシュモジュールユニットがそれぞれ２台収納され、二重化構成となっている。
【００５３】
キャッシュモジュールユニットは、増設することができる。このキャッシュモジュールユニットには、複数のメモリモジュールが収納されている。このキャッシュモジュールは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）−Ｅｘｐｒｅｓｓ等のコネクタにより接続され、活線挿抜を可能とすることが望ましい。また、キャッシュモジュールユニットは、異種のＩ／Ｆユニットと交換可能である。
【００５４】
この中継器３０の前面には、ダイレクタにつながるＩ／Ｆコネクタポートが設けられている。また、中継器３０の後面には、電源ユニットのスイッチ、ファン、ＡＣケーブルが接続されるＡＣコネクタが設けられている。
【００５５】
〔ストレージネットワークシステムの構成〕
図３により、本実施の形態におけるストレージネットワークシステムの一例を説明する。図３は、ストレージネットワークシステムの機能ブロックを示す。
【００５６】
図３に示すストレージネットワークシステムは、前述した図１のモデルを縮小した形態を示し、ディスクアレイ装置等からなるストレージ装置１０と、このストレージ装置１０に対するホストからのデータの書き込み要求および読み出し要求を中継する３台の中継器３０と、この中継器３０に接続される情報処理装置等からなる４台のホスト５０から構成される。この例では、中継器３０が２段構成となっており、ストレージ装置１０は１段目の中継器Ａに接続される。この１段目の中継器Ａは、２段目の各中継器Ｂ，Ｃに接続される。この２段目の各中継器Ｂ，Ｃは、各ホストＡ，Ｂ，Ｃ，Ｄに接続されている。
【００５７】
ストレージ装置１０は、データを記憶するＨＤＤ等のストレージデバイス１１と、このストレージデバイス１１に対するデータの書き込みおよび読み出しを制御するストレージコントローラ１２から構成される。この例では、基本筐体に加えて増設筐体が設けられ、ストレージデバイス１１における記憶容量が増大されている。
【００５８】
ストレージコントローラ１２は、ホスト５０からのデータ入出力要求を受けるチャネル制御部１３と、ストレージデバイス１１に対するデータの書き込みや読み出しを制御するディスク制御部１４と、チャネル制御部１３とディスク制御部１４との間のデータ転送を制御するデータコントローラ１５と、ストレージコントローラ１２の制御を司るＣＰＵ１６と、チャネル制御部１３とディスク制御部１４との間で通信されるデータが一時的に保存されるキャッシュメモリ１７と、制御情報が記憶されるメモリ１８等から構成される。特に、キャッシュメモリ１７には、詳細は後述するが、ルートテーブル、外部キャッシュテーブル等の各種テーブル１７ａが設けられている。
【００５９】
中継器３０は、ＡＣ電源をＤＣ電源に変換するＡＣ／ＤＣ電源３１と、ＡＣ電源の供給が停止した場合のバッテリ３２と、中継器３０の制御を司るＣＰＵ３３と、データ転送を制御するデータコントローラ３４と、ホスト３０とストレージ装置１０との間で通信されるデータが一時的に保存されるキャッシュメモリ３５と、制御情報が記憶されるメモリ３６と、入出力Ｉ／Ｆからなるダイレクタ３７等から構成される。特に、キャッシュメモリ３５には、詳細は後述するが、ルートテーブル、キャッシュ管理テーブル等の各種テーブル３５ａが設けられている。
【００６０】
〔ストレージ装置内のルートテーブルおよび外部キャッシュテーブルとその作成方法〕
図４〜図６により、ストレージ装置内のルートテーブルおよび外部キャッシュテーブルの一例を説明する。それぞれ、図４はルートテーブル、図５はルートテーブル（応用例）、図６は外部キャッシュテーブルの構成を示す。
【００６１】
（１）ルートテーブル
ルートテーブルは、図４に示すように、ストレージ装置１０のポート毎に、ホスト５０側の情報として、ホスト識別子、中継段数およびハンドルなどを格納する各領域を持ち、また、中継器３０側の情報として、中継器識別子およびハンドルなどを格納する各領域を持っている。このルートテーブルにより、ストレージ装置１０の各ポートから、中継器３０を中継したホスト５０までの経路が管理されている。
【００６２】
また、複数のホスト５０が同一経路上にある場合、それらをまとめてノードグループとして管理しても良い。この場合、ルートテーブルには、図５に示すように、ホスト識別子、中継段数、ハンドル１、ハンドル２、ハンドル３、ハンドル４などが格納される。この例では、ノードＡとノードＢで、ハンドル１の「Ａ１」が同一セグメントの場合を示している。
【００６３】
（２）外部キャッシュテーブル
外部キャッシュテーブルは、図６に示すように、先頭ＬＢＡ、データ長、ハンドル１、データ識別タグ、ハンドル２、データ識別タグ、最新アクセス時刻などを格納する各領域を持っている。この例では、先頭ＬＢＡが「０００１００００」で、データ長が「４００００」のデータは、Ａ１とＢ１の中継器３０にキャッシュされている。また、先頭ＬＢＡが「１００ＡＢＣＤＥ」で、データ長が「１２４００」のデータは、Ｂ１の中継器３０にのみキャッシュされている。
【００６４】
（３）テーブルの作成方法
まず、ストレージ装置１０の各ポートと中継器３０との間でリンクの確立時に、ストレージ装置１０は各ポートと直接接続される中継器３０を認識する。次に、ノードＡのホスト５０が起動時に、ＩＮＱＵＩＲＹコマンド等によりストレージデバイス１１のスキャンを実施する。
【００６５】
さらに、ストレージ装置１０は、初めてそのホスト５０からのコマンドを受領した際に、そのコマンドに応答すると共に、上位の中継器３０に当該ノードへの中継器識別子（ブリッジＩＤ、ポートＩＤ）を報告させる。そして、ストレージ装置１０は、各中継器３０が報告した識別子をテーブルに格納し、各識別子に任意のハンドルを割り当てる。この時、各ノード毎にストレージ装置１０に近い側から昇順にハンドルを割り振ることで、中継器３０の位置を含めて管理する。
【００６６】
なお、本機能の拡張によるロードバランス制御方式については、後述する応用例１にて説明する。またさらに、中継器３０が管理する通信（リンク）コスト等の情報を利用して、通信速度の遅い部分のデータ量を軽減するように、どの中継器３０にデータをキャッシュさせるかの配分を変更することも容易に可能となる。
【００６７】
〔中継器内のルートテーブルおよびキャッシュ管理テーブルとキャッシュ関連動作〕
図７により、中継器内のキャッシュ管理テーブルの一例を説明する。図７はキャッシュ管理テーブルの構成を示す。
【００６８】
（１）ルートテーブル
各中継器３０は、Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ａｌｇｏｒｉｔｈｍ（ＳＴＡ；スパニングツリーアルゴリズム）等により最初に使用するセグメント毎のネットワークパスを選択するディスカバリプロセスを実行する。ＬＡＮスイッチの場合、この情報は、Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ（ＢＰＤＵ；ブリッジプロトコルデータユニット）と呼ばれる特別なネットワークフレームを使用して、すべてのスイッチの間で共有される。各スイッチは、ＢＰＤＵのテーブルを保持し、継続的にそれを更新する。
【００６９】
（２）キャッシュ管理テーブル
キャッシュ管理テーブルは、図７に示すように、先頭アドレス、データ長、データ識別子（データ・タグ）、デバイス識別子、最新アクセス時刻などを格納する各領域を持っている。
【００７０】
（３）中継器にキャッシュしたデータの破棄
中継器３０は、以下の（ａ）〜（ｃ）のような場合に、キャッシュしたデータの破棄（削除）を実行する。
【００７１】
（ａ）一定時間以上転送要求が無いデータ（当該データのみ、但し、キャッシュに余裕がある場合等では必ずしも実施する必要は無い）。
【００７２】
（ｂ）ストレージ装置が電源断等で無応答となりルートテーブルから削除された場合（当該ストレージの全データを削除）。
【００７３】
（ｃ）キャッシュ要求されたデータよりキャッシュメモリの残量が少ない場合（当該ストレージコントローラのアクセス頻度の低いデータ（複数の場合有）を削除、もしくは、アクセス頻度に応じたストレージへのキャッシュ容量配分を行う場合等において、ストレージコントローラの限定無しでアクセス頻度の低いデータ（複数の場合有）を削除）。
【００７４】
これらにより、キャッシュヒット効率を高める動作を行う。
【００７５】
（４）ストレージコントローラに割り当て可能なキャッシュ容量等の報告および容量確認要求メッセージの送出
中継器３０の配下に複数のストレージコントローラ１２が接続されている場合に、常に新しいキャッシュ要求に応じて他のストレージコントローラのキャッシュデータを廃棄していたのでは、かえってオーバヘッドが大きくなり、レスポンスが悪化することにもなりかねない。
【００７６】
そこで、予めストレージコントローラ１２の単位で一定量のキャッシュ領域を割り当て可能な機能を有するようにしても良い。ストレージコントローラ１２は、自分に割り当てられる容量を問い合わせにより把握することで、中継器３０へ必要以上のキャッシュ要求を行わないように制御し、アルゴリズムを最適化させることができる。
【００７７】
また、配下のストレージコントローラ１２が少ない場合や、電源ＯＦＦ等で開放された領域により、割り当て領域に余力が生じた場合は、中継器３０からストレージコントローラ１２に割り当て容量の確認要求をメッセージする。すると、ストレージコントローラ１２が再度、中継器３０に割り当て可能容量を問い合せることで、ストレージコントローラ１２側のキャッシュ制御アルゴリズムの再調整を行う。
【００７８】
同様に、新しいストレージコントローラ１２の起動により、キャッシュ容量の新規割り当てにより、以前から接続されているストレージコントローラ１２の容量を減らす必要が生じた場合も、中継器３０からストレージコントローラ１２に割り当て容量の確認要求をメッセージする。すると、ストレージコントローラ１２が再度問い合わせると共に、領域開放に伴い削除されたキャッシュデータの識別タグ等をストレージコントローラ１２からの要求に従い報告する。
【００７９】
また、本機能により、ストレージコントローラ１２は、当該中継器３０に本機能が装備されているか否かを判断する。この他にも、ＳＭＰ（Ｓｗｉｔｃｈ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）等を使用して機能の有無を確認できるようにしても良い。
【００８０】
〔ストレージ装置側からの中継器への処理手順（ストレージ装置−中継器連携動作）〕
＜１＞中継器にキャッシュさせる場合の処理
図８及び図９により、中継器にキャッシュさせる場合の処理の一例を説明する。図８及び図９はこの処理のフローを示す。なお、図８及び図９は、後述する＜２＞中継器にキャッシュしたデータをホストへ転送させる場合の処理も併せて示す。
【００８１】
この処理は、ホスト５０からのデータリード時に、ストレージ装置１０（ストレージコントローラ１２）および中継器３０の動作として実行される。
【００８２】
（１）ストレージコントローラ１２は、ホスト５０からのリード要求によるリード命令を受領する。
【００８３】
（２）ストレージコントローラ１２は、ホスト５０のルートを認識するため、ホスト５０のルート上の中継器３０のキャッシュテーブルを検索する。
【００８４】
（３）ストレージコントローラ１２は、データ転送に先立ち、対象とするホスト５０のルートの中継器３０へ以後のデータをキャッシュするように、キャッシュ命令（データタグ、記憶バイト数等）を発行する。この際に、中継器３０へのコマンドの転送は中継器３０のＩＤを指示して行う。また例えば、データ転送は、ＦｉｂｒｅＣｈａｎｎｅｌ等で行い、ＬＡＮ等の別Ｉ／Ｆでコマンドを送受信する方式としても良い。また、大きなデータの場合は、一部を中継器３０にキャッシュさせる指示により、自身のアクセス応答時間をカバーする。
【００８５】
（４）ストレージコントローラ１２は、中継器３０へデータを転送する。
【００８６】
（５）中継器３０は、ホスト５０に向けてデータを転送すると共に、指定されたデータをタグと関連付けてキャッシュを行う。この時のフレームヘッダ等は再利用するためのヒナ型として、部分的に記憶する。この際に、ストレージコントローラ１２からのキャッシュ要求に対し、中継器３０は、ストレージコントローラ１２へステータスを報告する。キャッシュできた場合は、ストレージコントローラ１２からのデータタグと共に中継器３０が生成した識別タグをストレージコントローラ１２へ報告する。
【００８７】
なお、キャッシュできない場合は、以下の（ａ），（ｂ）の２通りのモードがある（障害時以外にも発生するケース有り）。
【００８８】
（ａ）キャッシュできなかった旨のステータスを返答する。このケースでは、データを全く記憶できなかった場合の他に、ストレージコントローラ１２が要求したバイト数よりも少ないデータしか記憶できなかった場合を含む。部分的に記憶できた場合は、識別タグおよび中継器３０が記憶したバイト数を含む情報を同時に報告する。この時、記憶するバイト数は、例えばブロック形式のＳＡＮストレージの場合は、ストレージコントローラ１２が扱うブロック長の整数倍とするのが良い。また、ファイル形式のＮＡＳの場合は、バイト単位もしくはＩＰフレームのヘッダを除いたデータ長の整数倍とするのが効率的である。
【００８９】
（ｂ）ストレージコントローラ１２のＩＤに対応した旧データをクリアして、新データをキャッシュし、新データの識別タグ等および消去した旧データの識別タグ等（複数のケース有り）を報告する。ストレージコントローラ１２は、中継器３０がキャッシュメモリ３５から消去したタグの情報を元に、当該データがキャッシュされていないことを示すため、内部テーブルから当該エントリを消去（キャッシュログの削除）する。
【００９０】
（６）中継器３０へのキャッシュ要求が正常終了した場合、ストレージコントローラ１２は、中継器３０にキャッシュ要求したデータをストレージコントローラ１２のキャッシュメモリ１７から破棄して当該データ領域を開放し、キャッシュログ（データ識別タグ、データ長等）のみ記憶する。
【００９１】
（７）ストレージコントローラ１２は、ホスト５０に正常終了ステータスを報告する。これにより、中継器３０にキャッシュさせる場合の処理は終了となる。
【００９２】
＜２＞中継器にキャッシュしたデータをホストへ転送させる場合の処理
図８及び図９により、中継器にキャッシュしたデータをホストへ転送させる場合の処理の一例を説明する。図８及び図９はこの処理のフローを示す。
【００９３】
この処理は、ホスト５０からのデータリード時に、ストレージ装置１０（ストレージコントローラ１２）および中継器３０の動作として実行される。
【００９４】
（１）ストレージコントローラ１２は、ホスト５０からのリード要求によるリード命令を受領する。
【００９５】
（２）ストレージコントローラ１２は、ホスト５０のルートを認識するため、ホスト５０のルート上の中継器３０のキャッシュテーブルを検索する。
【００９６】
（３）当該データが中継器３０のキャッシュメモリ３５にある場合、ストレージコントローラ１２は、キャッシュデータ転送コマンド（ホストアドレス、データ識別タグ、転送バイト数等）を中継器３０へ発行する。この際に、中継器３０のキャッシュメモリ３５に障害が発生した場合、ストレージコントローラ１２からのデータ転送指示に対し、実行不可を応答することでストレージコントローラ１２がデータ転送を行う他、ルート上の別の中継器３０に当該データのキャッシュを指示できる。また、中継器３０の電源ＯＦＦ／ＯＮ等により、当該データが揮発している場合も同様に実行不可を報告するが、この場合、ストレージコントローラ１２は再度、当該中継器３０にストレージコントローラ１２が転送するデータのキャッシュを指示できる。
【００９７】
（４）中継器３０のキャッシュメモリ３５にデータが存在する場合、中継器３０は、ホスト５０へデータを転送（ヘッダ部分等は一部自動生成）する。
【００９８】
（５）中継器３０のキャッシュメモリ３５に無いデータを含んでいる場合、ストレージコントローラ１２は残りのデータにアクセスする（（２）−（３）を同時に実行）。
【００９９】
（６）中継器３０の全データ転送が完了した場合、中継器３０は、ストレージコントローラ１２にデータ転送の終了もしくは終了予告のステータスを報告する。
【０１００】
（７）残りのデータがある場合、中継器３０が生成済のデータに続けて、ストレージコントローラ１２は、残りのデータをホスト５０へ転送する。
【０１０１】
（８）ストレージコントローラ１２は、ホスト５０に正常終了ステータスを報告する。これにより、中継器３０にキャッシュしたデータをホスト５０へ転送させる場合の処理は終了となる。
【０１０２】
＜３＞中継器にキャッシュしたデータを破棄させる場合（データ更新時）の処理
図１０により、中継器にキャッシュしたデータを破棄させる場合（データ更新時）の処理の一例を説明する。図１０はこの処理のフローを示す。なお、図１０は、後述する＜４＞中継器にキャッシュしたデータを破棄させる場合（ストレージ起動時）の処理も併せて示す。
【０１０３】
この処理は、ホスト５０からのデータライト時に、ストレージ装置１０（ストレージコントローラ１２）および中継器３０の動作として実行される。
【０１０４】
（１）ストレージコントローラ１２は、ホスト５０からのライト要求によるライト命令を受領する。
【０１０５】
（２）ストレージコントローラ１２は、ホスト５０のルートを認識するため、ホスト５０のルート上の中継器３０のキャッシュテーブルを検索する。
【０１０６】
（３）当該データの旧データが中継器３０のキャッシュメモリ３５にある場合、ストレージコントローラ１２は、当該中継器３０に更新されたデータの旧データに相当するキャッシュデータの破棄（削除）を指示するため、当該データのキャッシュ領域開放コマンドを中継器３０に発行する。
【０１０７】
（４）中継器３０は、キャッシュメモリ３５内の当該データを削除し、当該キャッシュ領域を開放する。
【０１０８】
（５）中継器３０は、ストレージコントローラ１２に当該データの削除完了ステータスを報告する。これにより、中継器３０にキャッシュしたデータを破棄させる場合（データ更新時）の処理は終了となる。
【０１０９】
＜４＞中継器にキャッシュしたデータを破棄させる場合（ストレージ起動時）の処理
図１０により、中継器にキャッシュしたデータを破棄させる場合（ストレージ起動時）の処理の一例を説明する。図１０はこの処理のフローを示す。
【０１１０】
この処理は、ストレージ装置の起動時に、ストレージ装置１０（ストレージコントローラ１２）および中継器３０の動作として実行される。
【０１１１】
（１）ストレージ装置１０が起動（再起動を含む）する。この際に、キャッシュテーブルを初期化する。
【０１１２】
（２）ストレージコントローラ１２は、全ての中継器３０へ自身に関するキャッシュ領域のクリアを指示するため、自身のＩＤ情報および全キャッシュ領域開放コマンドをブロードキャストする。
【０１１３】
（３）中継器３０は、キャッシュメモリ３５内の当該データを全て削除し、当該キャッシュ領域を開放する。この場合、中継器３０は、処理の終了を報告する必要が無いが、ストレージコントローラ１２がルート上の中継器３０を認識するために、中継器３０から終了報告をするようにしても良い。また、ブロードキャストではなく、ホスト５０がストレージコントローラ１２を認識する際に、ルート上にある中継器３０に個別に指示を出すようにしても良い。
【０１１４】
これにより、中継器３０にキャッシュしたデータを破棄させる場合（ストレージ起動時）の処理は終了となる。
【０１１５】
＜５＞中継器にキャッシュしたデータのコンペアを指示する場合の処理
図１１及び図１２により、中継器にキャッシュしたデータのコンペアを指示する場合の処理の一例を説明する。図１１及び図１２はこの処理のフローを示す。
【０１１６】
この処理は、ホスト５０からのデータリード時、第１の中継器（ホスト５０に近い側）、第２の中継器（ストレージ装置１０に近い側）に同じデータがキャッシュされている場合に、ストレージ装置１０（ストレージコントローラ１２）および第１、第２の中継器３０の動作として実行される。
【０１１７】
（１）ストレージコントローラ１２は、ホスト５０からのリード要求によるリード命令を受領する。
【０１１８】
（２）ストレージコントローラ１２は、ホスト５０のルートを認識するため、ホスト５０のルート上の中継器３０のキャッシュテーブルを検索する。
【０１１９】
（３）当該データが中継器３０のキャッシュメモリ３５にある場合、ストレージコントローラ１２は、ホストアドレス、データ識別タグ、転送バイト数、チェック先中継器ＩＤ等を第１の中継器３０へ指示（コンペアチェック用）するため、当該データの検証コマンドを発行する。
【０１２０】
（４）当該データが中継器３０のキャッシュメモリ３５にある場合、ストレージコントローラ１２は、ホストアドレス、データ識別タグ、転送バイト数、チェック元中継器ＩＤ等を第２の中継器３０へ指示（データ転送用）するため、キャッシュデータ転送コマンドを発行する。
【０１２１】
（５）データ転送を行う第２の中継器３０は、データ転送に先立って、データチェックを行う第１の中継器３０に当該データの転送開始を通知する。
【０１２２】
（６）第２の中継器３０は、前述した＜２＞（４）以降と同様の手順に従い、当該データを転送する。
【０１２３】
（７）第１の中継器３０は、データをホスト５０に中継すると共に、自己キャッシュメモリ３５内のデータと比較する。
【０１２４】
（８）チェックの結果に応じて、下記の（ａ），（ｂ），（ｃ）の動作を行う。
【０１２５】
（ａ）チェックが正常な場合、第１の中継器３０は、ストレージコントローラ１２およびデータ転送元の第２の中継器３０に正常終了ステータスを報告する。さらに、ストレージコントローラ１２は、ホスト５０に正常終了ステータスを報告する。
【０１２６】
（ｂ）チェックが不能な場合、第１の中継器３０は、ストレージコントローラ１２およびデータ転送元の第２の中継器３０にチェック不能の異常終了ステータスを報告する。この場合、転送元の中継器３０はデータ転送は行わずに、当該キャッシュデータを削除する。また、ストレージコントローラ１２は、ホスト５０にデータ転送を行う他、ルート上の中継器（複数）３０に当該データのキャッシュを指示できる。
【０１２７】
（ｃ）チェックが異常な場合、第１の中継器３０は、ストレージコントローラ１２およびデータ転送元の第２の中継器３０にチェック異常の異常終了ステータスを報告する。この場合、ホスト５０へのデータは転送されてしまっているため、ストレージコントローラ１２は、ホスト５０へ異常終了ステータスを報告する。さらに、転送先および転送元の中継器３０は当該キャッシュデータを削除する。また、ホスト５０からの再実行要求に対し、ストレージコントローラ１２は、データ転送を行う他、転送先および転送元の中継器３０に当該データのキャッシュを指示できる。
【０１２８】
また、上の例で、中継器３０がチェック異常をストレージコントローラ１２に報告する時に、チェックＯＫの最終フレームのデータ位置等をストレージコントローラに報告することで、異常検出した以降の残りのデータをストレージコントローラ１２が転送するようにしても良い。
【０１２９】
これにより、中継器３０にキャッシュしたデータのコンペアを指示する場合の処理は終了となる。
【０１３０】
〔本実施の形態の効果〕
（１）キャッシュヒットの場合、ストレージ装置１０と中継器３０との間は、中継器３０への指示／応答の短いフレームを送受信するだけなので、データ転送を行う場合に比べて帯域の占有率を低減することができる。また、中継器３０の転送帯域は一般的にストレージ装置１０の使用帯域より広いため、ストレージ装置１０の転送性能向上と同等の効果が得られる。さらに、中継器３０は、決まった応答を行うだけなので、ハードウェア（回路規模）は比較的シンプルに構成することができる。
【０１３１】
（２）本方式により、データ転送帯域を消費せずに、ホスト５０からのリード要求に対するシステム全体のレスポンスを向上できる他、ストレージ装置１０側でもリード用とライト用のキャッシュメモリの使用比率をライト用に大きく振り分けて、ライト処理の性能を向上させることが可能となる。もしくは、ストレージ装置１０のメモリ搭載量を少なくでき、コストダウンが可能である等のメリットがある。
【０１３２】
（３）複数ポートを有し、複数ホスト５０からの処理を実行するような用途では、ホスト毎の経路に当該中継器３０を設置することで、経路別のホスト毎に必要なデータがキャッシュされるため、さらなるレスポンスの向上が期待できる。
【０１３３】
（４）さらに、経路上の複数の中継器３０に同一のデータをキャッシュさせておくことで、ホスト５０に近い側の中継器３０にデータのコンペアチェックを指示し、下位側の中継器３０からのデータをチェックすることで、データの信頼性の向上が図れる。
【０１３４】
（５）また、中継器３０にバッテリ３２を搭載してＵＰＳ内蔵とすることで、停電時でもＵＰＳ接続されたホスト５０からのシャットダウン処理を適切に中継することが可能である。また、独自にストレージ装置１０へのデステージ要求発信も可能となる。
【０１３５】
《応用例１》
本応用例は、前述した実施の形態のテーブルの作成方法に従い、ストレージ装置内にルートテーブルを作成する時に、以後に記述する手順及び中継器への機能の実装により、自動的なロードバランス制御手段を実現する例である。
【０１３６】
図１３により、本応用例におけるストレージネットワークシステムのモデルの一例を説明する。図１３は、本応用例のストレージネットワークシステムのモデルを示す。
【０１３７】
本応用例におけるストレージネットワークシステムのモデルは、ディスクアレイ装置等からなるストレージ装置１０と、このストレージ装置１０に対するホストからのデータの書き込み要求および読み出し要求を中継する８台の中継器Ａ〜Ｈ（３０）と、この中継器３０に接続される情報処理装置等からなる６台のホストＡ〜Ｆ（５０）から構成される。
【０１３８】
図１４により、自動的なロードバランス制御を実現する場合の処理の一例を説明する。図１４は、この処理のフローを示す。
【０１３９】
（１）前記実施の形態のテーブルの作成方法に従い、ストレージ装置１０は、ノードＡのホスト５０の経路上にある中継器３０を認識する。
【０１４０】
（２）この時に、ストレージ装置１０の当該ポートの代替ポート（サブポート）が設定されている場合、ストレージ装置１０は、サブポートを使用してノードＡの経路上の中継器３０を検索し、例えば当該ポートとサブポートの分岐点に該当する中継器Ｂを特定する。すなわち、図１３において、中継器Ｅに、中継器Ａ，Ｂ，Ｄの位置（ポート）及び距離（中継器段数）を問い合わせる。
【０１４１】
（３）ストレージ装置１０は、中継器Ｂに対し、当該ポートへの転送負荷が一定量以上の場合に、サブポートへデータの振り分け許可を設定する。
【０１４２】
例えば、ホスト５０側からのライト負荷過大時に、中継器３０側がロードバランスを制御する場合は次のようになる。中継器Ｂは、ストレージ装置１０の当該ポートへ到るポートＸのデータ転送負荷がストレージ装置１０により設定された数値を上回るか、もしくは上回ることが予測された場合、データの一部をストレージ装置１０のサブポートへ到るポートＹに出力し、ポートＸの転送負荷を一定以下に保つように制御を行う。
【０１４３】
（４）例えば、ホスト５０側からのリード負荷過大時に、ストレージ装置１０側がロードバランスを制御する場合は次のようになる。ストレージ装置１０の当該ポートのデータ転送負荷がストレージ装置１０の内部に設定された数値を上回るか、もしくは上回ることが予測された場合、ストレージ装置１０は、データの一部をストレージ装置１０のサブポート側に出力し、当該ポートの転送負荷を一定以下に保つように制御を行う。また、中継器Ａおよび中継器Ｅは、各ポートのデータを目的のノードへ中継する（通常動作）。
【０１４４】
以上により、本応用例の効果としては、ブリッジＩＤ等で中継器３０およびポートを認識して、ホスト５０のプログラム等のサポート不要で、自動的なロードバランス制御を実現することができる。
【０１４５】
《応用例２》
本応用例は、中継器をバックエンドに配置し、かつ中継器に搭載のメモリを大容量化してストレージコントローラのキャッシュメモリや共用メモリとして使用し、ストレージコントローラ上のキャッシュメモリ等を廃止した構成の例である。
【０１４６】
図１５により、本応用例におけるストレージネットワークシステムにおいて、ブレード型システムへの実装の一例を説明する。図１５は、ブレード型システムへの実装の外観を示す。
【０１４７】
ブレード型システムへの実装では、筐体に、上段から順に、ストレージコントローラユニット、バックエンド用中継器、ストレージデバイスユニット、フロントエンド用中継器が配置されている。また、後面には電源ユニットが配置されている。
【０１４８】
このシステムでは、電源ＯＮ中のメモリ増設が容易、あるいは筐体の増設に応じて必要なキャッシュメモリを増設することが可能である。また、ディスク制御部と連携することでスループットの最適化等のチューニングが容易に行える。
【０１４９】
図１６により、本応用例におけるストレージネットワークシステムの一例を説明する。図１６は、ストレージネットワークシステムの機能ブロックを示す。
【０１５０】
本応用例のストレージネットワークシステムは、ディスクアレイ装置等からなるストレージ装置１０ａと、このストレージ装置１０ａに対するホストからのデータの書き込み要求および読み出し要求を中継し、ホスト側に配置された２台のフロントエンド用（Ｆ．Ｅ）の中継器Ａ，Ｂ（３０）と、ストレージ装置側に配置された４台のバックエンド用（Ｂ．Ｅ）の中継器Ｃ〜Ｆ（４０）と、中継器３０に接続される情報処理装置等からなる４台のホストＡ〜Ｄ（５０）から構成される。
【０１５１】
バックエンド用の中継器４０は、ＳＡＳ  Ｉ／Ｆとメモリ用シリアルＩ／Ｆ（ＰＣＩ  Ｅｘｐｒｅｓｓ）の２種類の異なるインタフェースをそれぞれ独立したスイッチ機能で制御する。この中継器４０も、前述した中継器３０とほぼ同様の構成（後述する図１７、図１８）となっている。ただし、このバックエンド用の中継器４０のキャッシュメモリ４５は、ストレージ装置１０ａのキャッシュメモリとしても使用する。さらに、キャッシュメモリ４５と共有メモリ４６とは運用上分離されているが、ハードウェア的に独立させる必要はない。また、バックエンド用の中継器４０のＡＣ／ＤＣ電源４１は、ストレージ装置１０ａ内で共用されている。
【０１５２】
フロントエンド用の中継器３０は、前述した中継器３０と構成及び動作が同じなので、ここでの説明は省略する。
【０１５３】
本システムにおいて、他系への通知は、ＰＣＩ  Ｅｘｐｒｅｓｓのメッセージトランザクション機能を使用して他系へメモリの書き換え等を通知する。なお、ＰＣＩ−ＥｘｐｒｅｓｓとＳＡＳの変換は行わない（キャッシュメモリは共用するが独立した２種類のスイッチとして動作）。
【０１５４】
また、キャッシュメモリ等の２重化部への書き込みは、中継器４０のデバイス識別子を付けたヘッダを付加し、中継器４０側が２重書きを実行する。すなわち、フラグ指定子、自系デバイスの中継器ＩＤ及びアドレス指定子と、他系デバイスの中継器ＩＤ及びアドレス指定子、さらにデータ長等により構成されるヘッダ情報及びデータによりフレームを構成する。これで、データ転送が１回で済むことにより、さらなるトラフィック軽減が可能である。もしくは、自系と他系の中継器４０でマルチキャストグループを作成し、データをマルチキャストするようにしても良い。
【０１５５】
キャッシュリード時は、前述の実施の形態のように、他系の中継器側にデータ転送を指示し、自系の中継器が経由する際に自系の中継器側がデータ検証するか、もしくは他系の中継器に当該データの検証コードのみを転送させ、自系の中継器が転送するデータの検証をデータコントローラ側で行うようにすることで、データ転送量を大きく増加させること無く、使用帯域の低減と高信頼性の両立が可能である。
【０１５６】
図１７、図１８により、バックエンド用中継器の構成の一例を説明する。図１７及び図１８はバックエンド用中継器の内部ブロックを示し、図１７は１ＣＰＵ構成の例、図１８は２ＣＰＵ構成の例である。
【０１５７】
図１７に示すように、１ＣＰＵ構成のバックエンド用の中継器４０は、バッテリ４２、ＣＰＵ４３、データコントローラ４４、キャッシュメモリ４５、およびメモリ４６を共通にして、データコントローラ４４にＳＡＳエクスパンダ（Ｓｗｉｔｃｈ）部のダイレクタ（ＳＡＳインタフェース用）４７ａとＰＣＩ−Ｅｘｐｒｅｓｓ  Ｓｗｉｔｃｈ部のダイレクタ（ＰＣＩ−Ｅｘｐｒｅｓｓ用）４７ｂとが接続されている。また、キャッシュメモリ４５は、一部を共有メモリとして使用し、ルートテーブル等の各種テーブル４５ａを備えている。
【０１５８】
図１８に示すように、２ＣＰＵ構成のバックエンド用の中継器４０は、１ＣＰＵ構成に対して、ＳＡＳエクスパンダ（Ｓｗｉｔｃｈ）部とＰＣＩ−Ｅｘｐｒｅｓｓ  Ｓｗｉｔｃｈ部とのそれぞれに、ＣＰＵ４３、データコントローラ４４、メモリ４６が備えられている。この構成では、ＳＡＳエクスパンダ部とＰＣＩ−Ｅｘｐｒｅｓｓ  Ｓｗｉｔｃｈ部は完全に独立したハードウェアにより構成される。
【０１５９】
なお、データコントローラ４４にプロトコル変換部（Ｉ／Ｆ変換機能）を実装し、ＰＣＩ−ＥｘｐｒｅｓｓをＬＡＮに変更すると、後述する〔応用例３〕の中継器となる。
【０１６０】
図１９及び図２０により、ストレージデバイスのディスク（ＨＤＤ）へのデータライト時の処理の一例を説明する。図１９及び図２０はこの処理のフローを示す。
【０１６１】
この処理は、データライト時に、ストレージ装置１０ａおよび中継器４０の動作として実行される。
【０１６２】
（１）ストレージ装置１０ａは、ホスト５０からのライト命令を受領する。
【０１６３】
（２）チャネル制御部１３は、データコントローラ１５にライト命令の受領及び転送データ長を通知する。
【０１６４】
（３）受領するライトデータは、新規データであり、かつ中継器４０のキャッシュメモリ４５に充分な空き領域がある場合、データコントローラ１５は、データを格納するための中継器４０のキャッシュ領域を決定する。
【０１６５】
（４）データコントローラ１５は、データのキャッシュコマンドを両系の中継器４０に発行し、他系のデータコントローラ１５へメッセージトランザクションにより通知する。
【０１６６】
（５）チャネル制御部１３は、データコントローラ１５を介して、両系の中継器４０へライトデータを転送する。この際に、パリティデータを使用の場合、データコントローラ１５は、パリティを生成し、両系の中継器４０へ同様に転送する。
【０１６７】
（６）データコントローラ１５は、ディスク制御部１４へディスクへの書込を指示すると共に、中継器４０へ当該ディスクへのデータ転送を指示する。
【０１６８】
（７）ディスク制御部１４は、ディスクへライトコマンドを発行する。この際に、中継器４０は、当該ディスクへ命令を中継し、続いて当該ディスク装置に対してライトデータを送出する。
【０１６９】
（８）データ転送処理の終了後、中継器４０のＣＰＵ４３は、データコントローラ１５へステータスを報告する。
【０１７０】
（９）そして、正常終了の場合、ディスク装置は、データを記録し、ステータスを報告する。この際に、中継器４０は、ディスク制御部１４へステータスを中継する。さらに、ディスク制御部１４は、データコントローラ１５へ実行終了を報告する。そして、正常終了の場合、ディスクへのデータライト時の処理は終了となる。
【０１７１】
（１０）また、受領するライトデータは、新規データでないか、もしくは中継器４０のキャッシュメモリ４５に充分な空き領域がない場合、データコントローラ１５は、不要な中継器４０のキャッシュ領域開放コマンドを両系の中継器４０に発行すると共に、他系のデータコントローラ１５へメッセージトランザクションにより通知する。さらに、中継器４０のＣＰＵ４３は、当該キャッシュ領域を開放し、データコントローラ１５へステータスを報告する。
【０１７２】
（１１）また、中継器４０のＣＰＵ４３が当該キャッシュ領域を開放した後、正常終了でない場合、データコントローラ１５は、他系のデータコントローラ１５へメッセージトランザクションにより通知する。さらに、ストレージコントローラ１２のＣＰＵ１６は、当該中継器４０に対するエラー処理を実施する。これにより、処理は終了となる。
【０１７３】
図２１及び図２２により、ストレージデバイスのディスク（ＨＤＤ）からのデータリード時の処理の一例を説明する。図２１及び図２２はこの処理のフローを示す。
【０１７４】
この処理は、データリード時に、ストレージ装置１０ａおよび中継器４０の動作として実行される。
【０１７５】
（１）ストレージ装置１０ａは、ホスト５０からのリード命令を受領する。
【０１７６】
（２）チャネル制御部１３は、データコントローラ１５にリード命令の受領及び転送データ長を通知する。
【０１７７】
（３）そして、中継器４０のキャッシュメモリ４５に当該データが全く存在しないか、当該データの一部がある場合で、キャッシュ済データ以外の部分の読み出しを行う場合、データコントローラ１５は、ディスク制御部１４へディスクからの読出しを指示すると共に、両中継器４０へ当該データのキャッシュ命令を発行する。
【０１７８】
（４）ディスク装置は、データを転送する。すると、当該ポートの中継器４０は、ディスク制御部１４及び他系の中継器４０へデータを転送すると共に、当該データのキャッシュを行う。さらに、チャネル制御部１３は、ホスト５０へデータを転送する。
【０１７９】
（５）さらに、全データの転送が完了した場合、各中継器４０のＣＰＵ４３は、データコントローラ１５へステータスを報告する。
【０１８０】
（６）そして、正常終了の場合、データコントローラ１５は、他系のデータコントローラ１５へメッセージトランザクションによりキャッシュが更新されたことを通知する。これにより、ディスクからのデータリード時の処理は終了となる。
【０１８１】
（７）また、中継器４０のキャッシュメモリ４５に完全な当該データがある場合の読み出し、あるいは、当該データの一部がある場合で、キャッシュ済データ部分の読み出しである場合、データコントローラ１５は、他系の中継器４０にキャッシュデータ転送コマンドを、自系の中継器４０に当該データの検証コマンドをそれぞれ発行する。
【０１８２】
（８）他系の中継器４０は、自系の中継器４０にデータを転送し、この自系の中継器４０はキャッシュメモリ４５内の当該データと比較する。この比較により、データが一致した場合、自系の中継器４０は、データコントローラ１５へデータを中継し、このデータコントローラ１５はチャネル制御部１３にデータを転送する。そして、チャネル制御部１３は、ホスト５０へデータを転送する。
【０１８３】
（９）さらに、全データの転送が完了した場合、各中継器４０のＣＰＵ４３は、データコントローラ１５へステータスを報告する。
【０１８４】
（１０）そして、正常終了の場合、処理を終了する。また、データ検証が異常終了した場合は、データコントローラ１５は他系のデータコントローラ１５へメッセージトランザクションにより異常発生を通知する。そして、ＣＰＵ１６は、当該中継器４０に対するエラー処理を実施する。これにより、処理は終了となる。
【０１８５】
以上のように、ストレージ装置１０ａのディスク制御部１４は、データ転送から開放され、コマンドの多重化が容易となり、帯域の有効利用が図れるようになる。
【０１８６】
《応用例３》
本応用例は、前記応用例２では独立していた２系統のインタフェースを変換機能により相互にデータの乗り入れができるように、バックエンド用中継器にプロトコル変換部を実装した例である。
【０１８７】
図２３により、本応用例におけるストレージネットワークシステムの一例を説明する。図２３は、ストレージネットワークシステムの機能ブロックを示す。
【０１８８】
本応用例のストレージネットワークシステムは、ディスクアレイ装置等からなるストレージ装置１０ｂと、このストレージ装置１０ｂに対するホストからのデータの書き込み要求および読み出し要求を中継し、ホスト側に配置された３台のフロントエンド用（Ｆ．Ｅ）の中継器Ａ〜Ｃ（３０）と、ストレージ装置側に配置された４台のバックエンド用（Ｂ．Ｅ）の中継器Ｄ〜Ｇ（４０ａ）と、中継器３０に接続される情報処理装置等からなる４台のホストＡ〜Ｄ（５０）から構成される。
【０１８９】
バックエンド用の中継器４０ａは、Ｉ／Ｆ変換機能としてのプロトコル変換部４８を持つ。このプロトコル変換部４８を除き、前述したバックエンド用の中継器４０と構成及び動作が同じなので、ここでの説明は省略する。また、フロントエンド用の中継器３０も、前述したフロントエンド用の中継器３０と構成及び動作が同じなので、ここでの説明は省略する。
【０１９０】
一般的に、キャッシュメモリの容量が同じ場合に、ストレージのデータ容量が増大するとキャッシュヒット率は低下するという問題があるが、本応用例では、前記応用例２と同様、ＨＤＤの増設筐体単位にキャッシュメモリの増設を行うため、キャッシュメモリ容量／データ容量の比率を一定にすることが可能なため、キャッシュヒット率の低下を防止できる。
【０１９１】
また、従来のＦＣループをバックエンドに採用する方式では、増設筐体は直列接続のみ可能であったが、本方式では、さらに増設筐体の並列配置が可能となり、従来は不可能であった増設筐体単位のホットスワップや切り離し保守等が可能となる。なお、最後以外の増設筐体も電源ＯＮ中に交換することが可能となる等のメリットもある。また、直列接続に比べ、経由パスが少なくなるので、転送帯域の有効利用が可能となる。その他、装置レイアウトの自由度が大きい。なお、ＳＡＳ等のＮｅａｒＬｉｎｅ  ＳｔｏｒａｇｅをＷＡＮのような構成で接続することも可能である。
【０１９２】
また、本応用例では、異種インターフェース（ＬＡＮ−ＦＣ）間のプロトコル変換を低負荷で行うための工夫も施されており、以下において説明する。
【０１９３】
図２４により、他のシリアルデータ転送プロトコルとの変換を容易にするためのメカニズムの一例を説明する。図２４は、ＦＣ→ＬＡＮ変換のメカニズムを示す。
【０１９４】
ストレージ装置用のシリアルＩ／ＦであるファイバチャネルやＳＡＳ等に広く使用されている１０ｂ（ビット）−８ｂ変換を使用する方式においては、特にプロトコル変換の必要は無く、相互のプロトコルを通過させること、及び各プロトコルヘッダの識別子を解析して適切なポートに配信する程度で良い。しかし、ＬＡＮの場合は、１０００ＢＡＳＥ−ＦＸ等の光通信インタフェース以外は前述の１０ｂ−８ｂ変換を使用していないものが多いため、そのままでは大掛かりなプロトコル変換が必要であり、回路規模の増大による複雑化やコスト増大要因となってしまう。
【０１９５】
そこで、本方式では、図２４に示すように、１０ｂ−８ｂ非対応のＬＡＮに存在しない制御コード（Ｋｘｘ．ｘ）付のオーダードセットの送受信を、ＭＡＣアドレス等の識別子を変更（＋１する等）して、データ（例えばＤｘｘ．ｘに相当）として送出する。
【０１９６】
なお、初期状態における各ポートとデバイス／他の中継器とのデータリンクの確立は、従来方式にて行う。例えば、Ｉｄｌｅフレームやその応答のＲ＿ＲＤＹはＦＣ側リンクのみで行い、ＬＡＮ側には出力しない。
【０１９７】
これにより、例えばＬＡＮのネットワーク速度の方がＳＡＳ等の速度より高速な場合には、変換のオーバヘッドやフレーム分割によるデータ量の増加分を相殺できる上、変換後は相手側のＰｈｙ層データとなるため、相手側のプロトコルをあまり意識せずに変換が可能となる。例えば、タイミング的に重要な部分の調節を行う程度で良い。もちろん、一般的な方式によるプロトコル変換を行っても、前記の構成を構築することは可能である。
【０１９８】
図２５により、ＦＣ→ＬＡＮ変換の処理の一例を説明する。図２５は、ＦＣ→ＬＡＮ変換の処理のフローを示す。なお、ＬＡＮ→ＦＣへは本変換の逆変換により行う。
【０１９９】
この処理は、ＦＣフレームの受領時に、中継器４０ａ内のプロトコル変換部４８の動作として実行される。
【０２００】
（１）中継器４０ａは、ＦＣフレームを受領する。
【０２０１】
（２）プロトコル変換部４８は、宛先アドレス抽出などによるフレームヘッダを解析する。そして、プロトコル変換部４８は、宛先アドレスのルートテーブルを検索する。
【０２０２】
（３）そして、ＬＡＮポート出力の場合で、オーダードセットが（Ｋｘｘ．ｘ）を含む場合、プロトコル変換部４８は、（Ｋｘｘ．ｘ）をＤ（ｘｘ．ｘ）のコードに変換し、指定のＬＡＮポートに第２のＭＡＣアドレスのフレームとして出力する。そして、フレーム変換が完了した場合は、ＦＣ→ＬＡＮ変換の処理は終了となる。
【０２０３】
（４）また、ＬＡＮポート出力でない場合、プロトコル変換部４８は、指定のＦＣポートにフレームを出力する。これにより、処理は終了となる。
【０２０４】
（５）また、オーダードセットが（Ｋｘｘ．ｘ）を含まない場合、プロトコル変換部４８は、第１のＭＡＣアドレス用フレームとして蓄積する。
【０２０５】
（６）そして、フレーム変換が完了した場合、プロトコル変換部４８は、指定のＬＡＮポートに第１のＭＡＣアドレスのフレームとして出力する。これにより、処理は終了となる。
【０２０６】
（７）また、フレーム変換が完了していない場合、プロトコル変換部４８は、次のオーダードセットが（Ｋｘｘ．ｘ）を含むか否かを判定する。この判定の結果、（Ｋｘｘ．ｘ）を含む場合、プロトコル変換部４８は、指定のＬＡＮポートに第１のＭＡＣアドレスのフレームとして出力する。そして、プロトコル変換部４８は、フレーム変換が完了していない場合、あるいは、次のオーダードセットが（Ｋｘｘ．ｘ）を含まない場合も含めて、ポインタを次のオーダードセットへ移動し、処理を繰り返す。
【０２０７】
以上により、２系統のインタフェースに関して、プロトコル変換部４８による変換機能により相互にデータの乗り入れができるようになる。
【０２０８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０２０９】
本発明は、ストレージネットワークシステムに関し、特に、ホストとストレージ装置との間に中継器を有するネットワークシステムに適用して有効であり、さらに、ＮＡＳにおいてはネットワークスイッチおよびルータ、ＳＡＮにおいてはファイバチャネルスイッチ、ＳＡＳエクスパンダ等のネットワーク中継器に広く応用可能である。
【図面の簡単な説明】
【０２１０】
【図１】本発明の一実施の形態におけるストレージネットワークシステムのモデルを示す図である。
【図２】本発明の一実施の形態におけるストレージネットワークシステムにおいて、スタンドアロン型の中継器の外観（前面と後面）を示す図である。
【図３】本発明の一実施の形態におけるストレージネットワークシステムの機能ブロックを示す図である。
【図４】本発明の一実施の形態におけるストレージネットワークシステムにおいて、ストレージ装置内のルートテーブルの構成を示す図である。
【図５】本発明の一実施の形態におけるストレージネットワークシステムにおいて、ストレージ装置内のルートテーブル（応用例）の構成を示す図である。
【図６】本発明の一実施の形態におけるストレージネットワークシステムにおいて、ストレージ装置内の外部キャッシュテーブルの構成を示す図である。
【図７】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器内のキャッシュ管理テーブルの構成を示す図である。
【図８】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器にキャッシュさせる場合と、中継器にキャッシュしたデータをホストへ転送させる場合の処理のフローを示す図である。
【図９】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器にキャッシュさせる場合と、中継器にキャッシュしたデータをホストへ転送させる場合の、図８に続く処理のフローを示す図である。
【図１０】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器にキャッシュしたデータを破棄させる場合（データ更新時とストレージ起動時）の処理のフローを示す図である。
【図１１】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器にキャッシュしたデータのコンペアを指示する場合の処理のフローを示す図である。
【図１２】本発明の一実施の形態におけるストレージネットワークシステムにおいて、中継器にキャッシュしたデータのコンペアを指示する場合の、図１１に続く処理のフローを示す図である。
【図１３】本発明の一実施の形態の応用例１におけるストレージネットワークシステムのモデルを示す図である。
【図１４】本発明の一実施の形態の応用例１におけるストレージネットワークシステムにおいて、自動的なロードバランス制御を実現する場合の処理のフローを示す図である。
【図１５】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、ブレード型システムへの実装の外観を示す図である。
【図１６】本発明の一実施の形態の応用例２におけるストレージネットワークシステムの機能ブロックを示す図である。
【図１７】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、バックエンド用中継器の内部ブロック（１ＣＰＵ構成の例）を示す図である。
【図１８】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、バックエンド用中継器の内部ブロック（２ＣＰＵ構成の例）を示す図である。
【図１９】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、ストレージデバイスのディスクへのデータライト時の処理のフローを示す図である。
【図２０】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、ストレージデバイスのディスクへのデータライト時の、図１９に続く処理のフローを示す図である。
【図２１】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、ストレージデバイスのディスクからのデータリード時の処理のフローを示す図である。
【図２２】本発明の一実施の形態の応用例２におけるストレージネットワークシステムにおいて、ストレージデバイスのディスクからのデータリード時の、図２１に続く処理のフローを示す図である。
【図２３】本発明の一実施の形態の応用例３におけるストレージネットワークシステムの機能ブロックを示す図である。
【図２４】本発明の一実施の形態の応用例３におけるストレージネットワークシステムにおいて、ＦＣ→ＬＡＮ変換のメカニズムを示す図である。
【図２５】本発明の一実施の形態の応用例３におけるストレージネットワークシステムにおいて、ＦＣ→ＬＡＮ変換の処理のフローを示す図である。
【符号の説明】
【０２１１】
１０，１０ａ，１０ｂ…ストレージ装置、１１…ストレージデバイス、１２…ストレージコントローラ、１３…チャネル制御部、１４…ディスク制御部、１５…データコントローラ、１６…ＣＰＵ、１７…キャッシュメモリ、１７ａ…テーブル、１８…メモリ、３０…中継器（Ｆ．Ｅ）、３１…ＡＣ／ＤＣ電源、３２…バッテリ、３３…ＣＰＵ、３４…データコントローラ、３５…キャッシュメモリ、３５ａ…テーブル、３６…メモリ、３７…ダイレクタ、４０，４０ａ…中継器（Ｂ．Ｅ）、４１…ＡＣ／ＤＣ電源、４２…バッテリ、４３…ＣＰＵ、４４…データコントローラ、４５…キャッシュメモリ、４５ａ…テーブル、４６…メモリ、４７ａ，４７ｂ…ダイレクタ、４８…プロトコル変換部、５０…ホスト。
【図１】
2006252019.tif 000003
【図２】
2006252019.tif 000004
【図３】
2006252019.tif 000005
【図４】
2006252019.tif 000006
【図５】
2006252019.tif 000007
【図６】
2006252019.tif 000008
【図７】
2006252019.tif 000009
【図８】
2006252019.tif 000010
【図９】
2006252019.tif 000011
【図１０】
2006252019.tif 000012
【図１１】
2006252019.tif 000013
【図１２】
2006252019.tif 000014
【図１３】
2006252019.tif 000015
【図１４】
2006252019.tif 000016
【図１５】
2006252019.tif 000017
【図１６】
2006252019.tif 000018
【図１７】
2006252019.tif 000019
【図１８】
2006252019.tif 000020
【図１９】
2006252019.tif 000021
【図２０】
2006252019.tif 000022
【図２１】
2006252019.tif 000023
【図２２】
2006252019.tif 000024
【図２３】
2006252019.tif 000025
【図２４】
2006252019.tif 000026
【図２５】
2006252019.tif 000027