(57)【特許請求の範囲】
【請求項１】
第１のバスと第２のバスとを接続し、第１のバスに接続された処理要求元装置からの処理要求を第２のバスに接続された処理要求先装置に転送するバスブリッジ装置であって、
前記処理要求元装置からの処理要求に対する応答方法指示に基づいて応答方法を記憶部に設定する応答方法設定手段と、
前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、前記記憶部に設定された応答方法で前記処理要求元装置に対して応答する応答手段
を備えたことを特徴とするバスブリッジ装置。
【請求項２】
前記応答手段は、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から該処理要求に対する処理報告を受けていない場合に、処理中であると応答することを特徴とする請求項１に記載のバスブリッジ装置。
【請求項３】
前記応答手段は、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して該処理報告の内容を伝えることを特徴とする請求項１に記載のバスブリッジ装置。
【請求項４】
前記応答手段は、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生することを特徴とする請求項１に記載のバスブリッジ装置。
【請求項５】
前記バスはＰＣＩバスであることを特徴とする請求項１〜４のいずれか一つに記載のバスブリッジ装置。
【請求項６】
前記処理要求元装置はストレージシステムを制御するストレージ制御装置であり、前記処理要求先装置は前記ストレージシステムへのアクセスを高速化するキャッシュ制御装置であり、前記処理要求はストレージ制御装置からキャッシュ制御装置へのデータの書き込み要求であることを特徴とする請求項５に記載のバスブリッジ装置。
【請求項７】
第１のバスと第２のバスとを接続し、第１のバスに接続された処理要求元装置からの処理要求を第２のバスに接続された処理要求先装置に転送するバスブリッジ方法であって、
前記処理要求元装置からの処理要求に対する応答方法指示に基づいて応答方法を記憶部に設定する応答方法設定工程と、
前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、前記記憶部に設定された応答方法で前記処理要求元装置に対して応答する応答工程
を含んだことを特徴とするバスブリッジ方法。
【請求項８】
前記応答工程は、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から該処理要求に対する処理報告を受けていない場合に、処理中であると応答することを特徴とする請求項７に記載のバスブリッジ方法。
【請求項９】
前記応答工程は、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して該処理報告の内容を伝えることを特徴とする請求項７に記載のバスブリッジ方法。
【請求項１０】
前記応答工程は、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生することを特徴とする請求項７に記載のバスブリッジ方法。
【請求項１１】
請求項５に記載されたバスブリッジ装置を備えたことを特徴とする入出力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、第１のバスと第２のバスとを接続し、第１のバスに接続された処理要求元装置からの処理要求を第２のバスに接続された処理要求先装置に転送するバスブリッジ装置、バスブリッジ方法およびバスブリッジ装置を備えた入出力制御装置に関し、特に、要求した処理に対する処理結果を処理要求元装置が効率良く取得することを可能とするバスブリッジ装置、バスブリッジ方法およびバスブリッジ装置を備えた入出力制御装置に関するものである。
【背景技術】
【０００２】
従来、複数のバスにそれぞれ接続した複数の装置間で通信をおこなう必要がある場合には、複数のバスをバスブリッジなどを用いて接続することによって、装置間での通信を可能としている。
【０００３】
たとえば、第５図は、複数のＰＣＩバス(Peripheral Component Interconnect Bus)をＰＣＩブリッジモジュールおよびパケットネットワークを用いて接続したストレージシステムを示す図である。同図に示すように、このストレージシステム２０は、ホスト１０1および１０2からの要求を受けてストレージシステム２０を制御するストレージ制御モジュール１００1および１００2と、データを格納するディスク７００1および７００2と、データのアクセスを高速化するためのキャッシュメモリモジュール３００1〜３００4とがそれぞれ別のＰＣＩバス４００1〜４００8に接続され、これらのＰＣＩバス４００1〜４００8をＰＣＩブリッジモジュール８００1〜８００8を介してパケットネットワーク５００で接続して構成される。
【０００４】
このストレージシステム２０にデータを書き込む場合、たとえば、ストレージ制御モジュール１００1がホスト１０1からデータ書き込み要求を受けた場合、ストレージ制御モジュール１００1は、ＰＣＩバス４００1を介してＰＣＩブリッジモジュール８００1にデータ書き込み要求を送る。すると、ＰＣＩブリッジモジュール８００1は、パケットネットワーク５００を介してＰＣＩブリッジモジュール８００2にデータ書き込み要求を転送し、ＰＣＩブリッジモジュール８００2がＰＣＩバス４００2を介してキャッシュメモリモジュール３００1にデータ書き込み要求を送り、キャッシュメモリモジュール３００1がキャッシュメモリにデータを書き込む。
【０００５】
また、ストレージ制御モジュール１００1は、キャッシュメモリモジュール３００1の故障に備えて、ＰＣＩブリッジモジュール８００1、パケットネットワーク５００、ＰＣＩブリッジモジュール８００4を介してキャッシュメモリモジュール３００2にもデータ書き込み要求を送る。
【０００６】
そして、キャッシュメモリモジュール３００1およびキャッシュメモリモジュール３００2がキャッシュメモリに書き込んだデータは、別の時点でディスク制御装置６００1またはディスク制御装置６００2に送られ、ディスク７００1または７００2に書き込まれる。
【０００７】
このように、このストレージシステム２０では、ストレージ制御モジュール１００1が接続するＰＣＩバス４００1と異なるＰＣＩバス４００2および４００4に接続されたキャッシュメモリモジュール３００1および３００2にデータ書き込み要求を送る必要がある。
【０００８】
また、第６図は、第５図に示したストレージシステム２０がキャッシュメモリにデータを書き込むシーケンスを示す図である。同図に示すように、ストレージ制御モジュール１００1がデータをキャッシュメモリモジュール３００1に書き込む場合、ストレージ制御モジュール１００1がライトコマンドを発行すると（ステップＳ６０１）、ライトコマンドを受け取ったＰＣＩブリッジモジュール８００1は、データの転送中であることを示す転送中通知レジスタ２５０をセットし（ステップＳ６０２）、パケットネットワーク５００を用いてＰＣＩブリッジモジュール８００2にライトコマンドをパケット転送する（ステップＳ６０３）。
【０００９】
そして、ＰＣＩブリッジモジュール８００2は、パケットを受け取ってキャッシュメモリモジュール３００1にライトコマンドを発行し（ステップＳ６０４）、キャッシュメモリモジュール３００1がキャッシュメモリにライトデータの書き込みをおこなう（ステップＳ６０５）。そして、キャッシュメモリモジュール３００1は書き込みの結果を示すリプライコードを発行し（ステップＳ６０６）、リプライコードを受け取ったＰＣＩブリッジモジュール８００2は、パケットネットワーク５００を用いてＰＣＩブリッジモジュール８００1にリプライコードをパケット転送する。そして、リプライコードを受け取ったＰＣＩブリッジモジュール８００1は、リプライコードを受信したことを示すリプライコード通知レジスタ２６０をセットし（ステップＳ６０７）、転送中通知レジスタ２５０をリセットする（ステップＳ６０８）。
【００１０】
一方、ライトコマンドを発行したストレージ制御モジュール１００1は、リプライコードを取得するためにＰＣＩブリッジモジュール８００1に対して検証コマンドを発行する（ステップＳ６０９）。すると、ＰＣＩブリッジモジュール８００1は、リプライコードを受信していない場合には、再度検証コマンドの発行を依頼するためにリトライをストレージ制御モジュール１００1に送る（ステップＳ６１０）。そして、ストレージ制御モジュール１００1による検証コマンドの発行とＰＣＩブリッジモジュール８００1によるリトライの応答が繰り返される。
【００１１】
その後、ＰＣＩブリッジモジュール８００1がリプライコードを取得し、ストレージ制御モジュール１００1が検証コマンドを発行すると（ステップＳ６１１）、ＰＣＩブリッジモジュール８００1は、リプライコードをストレージ制御モジュール１００1に送る（ステップＳ６１２）。
【００１２】
このように、従来のＰＣＩブリッジモジュール８００1は、ストレージ制御モジュール１００1が発行する検証コマンドに対してＰＣＩブリッジモジュール８００2から受け取ったリプライコードを返すことによって、他のＰＣＩバス４００2に接続したキャッシュメモリ３００1へのデータ書き込みの状況をストレージ制御モジュール１００1に報告していた（特許文献１参照。）。なお、非特許文献１には、ＰＣＩバスの仕様が開示されている。
【００１３】
【特許文献１】特開２００１−２４３２０６号公報
【非特許文献１】PCI  Local  Bus  Specification  Rev2.2  1998/12/18(PCI  Special  Interest  Group)
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、この従来技術では、処理要求元であるストレージ制御モジュール１００1は、リプライコードを受け取るまで他の処理をおこなうことができないという問題があった。すなわち、処理要求元装置であるストレージ制御モジュール１００1は、リトライを受け取っている間は検証コマンドを発行し続ける必要があり、リプライコードを受け取るまでの間、無駄な動作を繰り返していた。
【００１５】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、要求した処理に対する処理結果を処理要求元装置が効率良く取得することを可能とするバスブリッジ装置、バスブリッジ方法およびバスブリッジ装置を備えた入出力制御装置を提供することを目的としている。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、本発明は、第１のバスと第２のバスとを接続し、第１のバスに接続された処理要求元装置からの処理要求を第２のバスに接続された処理要求先装置に転送するバスブリッジ装置であって、前記処理要求元装置からの処理要求に対する応答方法指示に基づいて応答方法を記憶部に設定する応答方法設定手段と、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、前記記憶部に設定された応答方法で前記処理要求元装置に対して応答する応答手段を備えたことを特徴とする。
【００１７】
また、本発明は、第１のバスと第２のバスとを接続し、第１のバスに接続された処理要求元装置からの処理要求を第２のバスに接続された処理要求先装置に転送するバスブリッジ方法であって、前記処理要求元装置からの処理要求に対する応答方法指示に基づいて応答方法を記憶部に設定する応答方法設定工程と、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、前記記憶部に設定された応答方法で前記処理要求元装置に対して応答する応答工程を含んだことを特徴とする。
【００１８】
かかる発明によれば、処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、記憶部に設定された応答方法で処理要求元装置に対して応答することとしたので、要求した処理に対する処理結果を処理要求元装置が効率良く取得することができる。
【００１９】
また、本発明は、前記応答手段が、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から該処理要求に対する処理報告を受けていない場合に、処理中であると応答することを特徴とする。
【００２０】
また、本発明は、前記応答工程が、前記処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から該処理要求に対する処理報告を受けていない場合に、処理中であると応答することを特徴とする
【００２１】
かかる発明によれば、処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から該処理要求に対する処理報告を受けていない場合に、処理中であると応答することとしたので、要求した処理に対する処理結果を処理要求元装置が効率良く取得することができる。
【００２２】
また、本発明は、前記応答手段が、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して該処理報告の内容を伝えることを特徴とする。
【００２３】
また、本発明は、前記応答工程が、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して該処理報告の内容を伝えることを特徴とする。
【００２４】
かかる発明によれば、処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して処理報告の内容を伝えることとしたので、要求した処理に対する処理結果を処理要求先装置が効率良く取得することができる。
【００２５】
また、本発明は、前記応答手段が、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生することを特徴とする。
【００２６】
また、本発明は、前記応答工程は、前記処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生することを特徴とする。
【００２７】
かかる発明によれば、処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生することとしたので、要求した処理に対する処理結果を処理要求先装置が効率良く取得することができる。
【００２８】
また、本発明は、バスがＰＣＩバスであり、上記発明のいずれか一つに記載されたバスブリッジ装置を備えた入出力制御装置であり、バスブリッジ装置を介して要求した処理に対する処理結果を効率良く取得することとしたので、入出力処理を効率良くおこなうことができる。
【発明の効果】
【００２９】
本発明によれば、処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、記憶部に設定された応答方法で処理要求元装置に対して応答するよう構成したので、要求した処理に対する処理結果を処理要求元装置が効率良く取得することができるという効果を奏する。
【００３０】
また、本発明によれば、処理要求をおこなった処理要求元装置からの処理結果の問い合わせに対して、処理要求先装置から処理要求に対する処理報告を受けていない場合に、処理中であると応答するよう構成したので、要求した処理に対する処理結果を処理要求元装置が効率良く取得することができるという効果を奏する。
【００３１】
また、本発明によれば、処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して処理報告の内容を伝えるよう構成したので、要求した処理に対する処理結果を処理要求先装置が効率良く取得することができるという効果を奏する。
【００３２】
また、本発明によれば、処理要求に対する処理報告を処理要求先装置から受けた際に、処理要求元装置に対して割り込みを発生するよう構成したので、要求した処理に対する処理結果を処理要求先装置が効率良く取得することができるという効果を奏する。
【００３３】
また、本発明によれば、ＰＣＩバスのバスブリッジ装置を介して要求した処理に対する処理結果を効率良く取得するよう構成したので、入出力処理を効率良くおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３４】
以下、添付図面を参照して、この発明に係るバスブリッジ装置、バスブリッジ方法および入出力制御装置の好適な実施の形態を詳細に説明する。なお、本実施の形態では、本発明をＰＣＩブリッジモジュールに適用した場合について説明する。また、本実施の形態では、第５図に示した従来のＰＣＩブリッジモジュール８００1〜８００8に替わって本実施の形態に係るＰＣＩブリッジモジュール２００1〜２００8を用いたストレージシステムについて説明する。
【実施例】
【００３５】
まず、本実施の形態に係るＰＣＩブリッジモジュール２００1が有する４つの応答モードの概念について説明する。第１図は、本実施の形態に係るＰＣＩブリッジモジュール２００1が有する４つの応答モードの概念を説明するための説明図である。
【００３６】
本実施の形態に係るＰＣＩブリッジモジュール２００1は、ライトコマンドを発行したストレージ制御モジュール１００1に対してその処理結果を報告するモードとして４つの応答モード、具体的には、リトライモード、ビジーモード、リプライ書き込みモードおよび割り込みモードを有する。そして、同図（ａ）はリトライモードを示し、同図（ｂ）はビジーモードを示し、同図（ｃ）はリプライ書き込みモードを示し、同図（ｄ）は割り込みモードを示している。
【００３７】
同図（ａ）に示すように、リトライモードでは、従来と同様に、ＰＣＩブリッジモジュール２００1は、ストレージ制御モジュール１００1が発行する検証コマンドに対して、キャッシュメモリモジュール３００1に接続されたＰＣＩブリッジモジュール２００2からライトコマンドの処理結果を受け取っていない場合には、リトライを返す。
【００３８】
そして、リトライを受け取ったストレージ制御モジュール１００1は、再度検証コマンドを発行し、リトライを受け取っている間は、検証コマンドを繰り返し発行する。そして、この繰り返し発行される検証コマンドに対して、ＰＣＩブリッジモジュール２００1は、キャッシュメモリモジュール３００1に接続されたＰＣＩブリッジモジュール２００2からライトコマンドの処理結果であるリプライコードを受け取ると、リプライコードを返す。
【００３９】
これに対して、同図（ｂ）に示すように、ビジーモードでは、ＰＣＩブリッジモジュール２００1は、ストレージ制御モジュール１００1が発行する検証コマンドに対して、ライトコマンドの処理結果をＰＣＩブリッジモジュール２００2から受け取っていない場合には、ビジーコードを返す。すると、ストレージ制御モジュール１００1は、他におこなう処理がある場合には、その処理を実行した後、検証コマンドを再発行する。そして、ＰＣＩブリッジモジュール２００1は、キャッシュメモリモジュール３００1に接続されたＰＣＩブリッジモジュール２００2からリプライコードを受け取ると、受け取ったリプライコードを返す。
【００４０】
このビジーモードを用いることによって、ストレージ制御モジュール１００1は、検証コマンドを継続して発行する必要がなくなり、優先する他の処理を実行することができる。
【００４１】
また、同図（ｃ）に示すように、リプライ書き込みモードでは、ストレージ制御モジュール１００1は検証コマンドを発行する必要はなく、ＰＣＩブリッジモジュール２００1がキャッシュメモリモジュール３００1に接続されたＰＣＩブリッジモジュール２００2からリプライコードを受け取ると、受け取ったリプライコードをストレージ制御モジュール１００1の所定の場所に書き込む。
【００４２】
このリプライ書き込みモードを用いることによって、ストレージ制御モジュール１００1は、検証コマンドを発行する必要がなくなり、リプライコードが書き込まれるまでの間、他の処理を実行することができる。
【００４３】
また、同図（ｄ）に示すように、割り込みモードでは、ＰＣＩブリッジモジュール２００1は、キャッシュメモリモジュール３００1に接続されたＰＣＩブリッジモジュール２００2からリプライコードを受け取ると、ストレージ制御モジュール１００1に対して割り込みを発生する。すると、ストレージ制御モジュール１００1が検証コマンドを発行して、リプライコードを取得する。
【００４４】
この割り込みモードを用いることによって、ストレージ制御モジュール１００1は、不要な検証コマンドを発行する必要がなくなり、割り込みが発生するまでの間、他の処理を実行することができる。
【００４５】
このように、本実施の形態では、ＰＣＩブリッジモジュール２００1は、ライトコマンドに対して４つの応答モードを備え、ストレージ制御モジュール１００1は、４つの応答モードを適宜使い分けることによって、ライトコマンドに対する処理結果を効率良く取得することができる。
【００４６】
次に、本実施の形態に係るＰＣＩブリッジモジュール２００1の構成について説明する。第２図は、本実施の形態に係るＰＣＩブリッジモジュール２００1の構成を示す機能ブロック図である。同図に示すように、このＰＣＩブリッジモジュール２００1は、ＰＣＩインターフェース制御部２１０と、コマンド判定部２２１と、アドレス／ページ変換部２２２と、アドレス／応答モード変換部２２３と、アドレス／書き込みアドレス変換部２２４と、パケット送信制御部２３０と、検証コマンド応答制御部２４０と、転送中通知レジスタ２５０と、リプライコード通知レジスタ２６０と、リプライ制御部２７０と、ブリッジインターフェース制御部２８０とを有する。
【００４７】
ＰＣＩインターフェース制御部２１０は、ＰＣＩバス４００1とのインターフェースとして動作する処理部であり、ベースアドレス判定部２１１を有する。このＰＣＩインターフェース制御部２１０は、ストレージ制御モジュール１００1のライトコマンド制御部１１０が発行するライトコマンドならびに検証コマンド制御部１２０が発行する検証コマンドおよび応答モード指定コマンドをＰＣＩバス４００1を介して受け取る。そして、ベースアドレス判定部２１１が、これらのコマンドの宛先が自分宛であるかＰＣＩバス４００1に接続する他の装置宛であるかを判定し、自分宛のコマンドを他の処理部に渡す。
【００４８】
第３図は、ストレージ制御モジュール１００1が発行するコマンドのアドレスフォーマットの一例を示す図である。同図において、ライトコマンドは、キャッシュメモリにデータを書き込むためにストレージ制御モジュール１００1のライトコマンド制御部１１０が発行するコマンドであり、検証コマンドは、ライトコマンドの処理結果を受け取るためにストレージ制御モジュール１００1の検証コマンド制御部１２０が発行するコマンドであり、応答モード指定コマンドは、ライトコマンドの処理結果を受け取るモードを指定するために検証コマンド制御部１２０が発行するコマンドである。
【００４９】
第３図に示すように、ライトコマンドのアドレスは、ベースアドレス３１とメッセージユニットアドレス３２とを有する。ベースアドレス３１は、ＰＣＩバス４００1に接続する装置を指定し、ここでは、ＰＣＩブリッジモジュール２００1を指定する。ＰＣＩインターフェース制御部２１０のベースアドレス判定部２１１は、このベースアドレス３１を用いてライトコマンドが自分宛であるか否かを判定する。
【００５０】
メッセージユニットアドレス３２は、キャッシュメモリモジュール３００1に書き込むデータの書き込み先のアドレスを指定する。このメッセージユニットアドレス３２の上位部分は、複数発行されるライトコマンドのうちの各ライトコマンドを区別するページ３３として使用される。
【００５１】
検証コマンドのアドレスは、検証コマンド指定４１と、ベースアドレス４２と、ページ４３とを有し、検証コマンド指定４１は、コマンドが検証コマンドであることを指定する。ベースアドレス４２は、ベースアドレス３１と同様にＰＣＩブリッジモジュール２００1を指定する。また、ページ４３は、ライトコマンドのページ３３に対応し、検証コマンドがライトコマンド毎に発行されるため、検証コマンドがどのライトコマンドに対応するかを指定する。
【００５２】
応答モード指定コマンドのアドレスは、応答コマンド指定５１と、ベースアドレス５２と、応答モード種別５３と、リプライ書き込みアドレス５４とを有する。応答コマンド指定５１は、コマンドが応答モード指定コマンドであることを指定し、ベースアドレス５２は、ベースアドレス３１と同様にＰＣＩブリッジモジュール２００1を指定する。また、応答モード種別５３は、設定する応答モードを指定し、リプライ書き込みアドレス５４は、応答モードがリプライ書き込みモードである場合に、リプライコードを書き込む場所を指定する。
【００５３】
第２図に示したコマンド判定部２２１は、ＰＣＩインターフェース制御部２１０からコマンドを受け取り、受け取ったコマンドの種別を判定する処理部であり、コマンドがライトコマンドである場合には、そのコマンドをパケット送信制御部２３０に渡す。
【００５４】
アドレス／ページ変換部２２２は、コマンドがライトコマンドまたは検証コマンドである場合に、ＰＣＩインターフェース制御部２１０からコマンドのアドレス部分を受け取り、受け取ったアドレス部分からページ３３またはページ４３を取り出してパケット送信制御部２３０および検証コマンド応答制御部２４０に渡す処理部である。
【００５５】
アドレス／応答モード変換部２２３は、コマンドが応答モード指定コマンドである場合に、ＰＣＩインターフェース制御部２１０から応答モード指定コマンドのアドレス部分を受け取り、受け取ったアドレス部分から応答モード種別５３を取り出して検証コマンド応答制御部２４０に渡す処理部である。
【００５６】
アドレス／書き込みアドレス変換部２２４は、コマンドが応答モード指定コマンドであり、応答モード種別５３としてリプライ書き込みモードが指定されている場合に、ＰＣＩインターフェース制御部２１０から応答モード指定コマンドのアドレス部分を受け取り、受け取ったアドレス部分からリプライ書き込みアドレス５４を取り出して検証コマンド応答制御部２４０に渡す処理部である。
【００５７】
パケット送信制御部２３０は、コマンド判定部２２１から受け取ったコマンドをパケットにしてブリッジインターフェース制御部２８０に渡す処理部であり、ライトコマンドを処理した場合には、転送中通知レジスタ２５０をセットする。
【００５８】
検証コマンド応答制御部２４０は、ストレージ制御モジュール１００1が発行する検証コマンドおよび応答モード指定コマンドに対する処理をおこなう処理部であり、モードレジスタ２４１〜２４４と、ビジーコード生成部２４５と、ライトリクエスト生成部２４６と、書き込みアドレスレジスタ２４７とを有する。
【００５９】
モードレジスタ２４１〜２４４は、アドレス／応答モード変換部２２３から受け取った応答モード種別５３に対応してセットされるレジスタであり、応答モード種別５３がリトライモードの場合にはモードレジスタ２４１がセットされ、ビジーモードの場合にはモードレジスタ２４２がセットされ、リプライ書き込みモードの場合にはモードレジスタ２４３がセットされ、割り込みモードの場合にはモードレジスタ２４４がセットされる。
【００６０】
ビジーコード生成部２４５は、応答モード種別５３がビジーモードであって、検証コマンドのページ４３に指定されたライトコマンドに対するリプライコードが未着の場合に、ビジーコードを生成してＰＣＩインターフェース制御部２１０に渡す処理部である。
【００６１】
ライトリクエスト生成部２４６は、応答モード種別５３がリプライ書き込みモードであって、ライトコマンドに対するリプライコードを受け取った場合に、リプライコードをストレージ制御モジュール１００1の所定のアドレスに書き込むコードを生成してＰＣＩインターフェース制御部２１０に渡す処理部である。
【００６２】
書き込みアドレスレジスタ２４７は、ライトリクエスト生成部２４６がリプライコードをストレージ制御モジュール１００1に書き込む場合のアドレスを格納したレジスタであり、アドレス／書き込みアドレス変換部２２４が応答モード指定コマンドから取り出したリプライ書き込みアドレス５４を格納する。
【００６３】
このように、この検証コマンド応答制御部２４０がモードレジスタ２４１〜２４４を用いて応答モードに対応した処理をおこなうことにより、ストレージ制御モジュール１００1は、ライトコマンドの処理結果をＰＣＩブリッジモジュール２００1から効率良く受け取ることができる。
【００６４】
転送中通知レジスタ２５０は、リプライコードが未着であるライトコマンドを記憶したレジスタであり、各ライトコマンドは、ページ３３を用いて識別される。
【００６５】
リプライコード通知レジスタ２６０は、ライトコマンドに対して受け取ったリプライコードを記憶したレジスタであり、各リプライコードはページ３３を用いてライトコマンドと対応づけられる。
【００６６】
リプライ制御部２７０は、ブリッジインターフェース制御部２８０からリプライコードの入ったパケットを受け取り、転送中通知レジスタ２５０の対応するページ３３を削除し、応答モードに対応した処理をおこなう処理部である。すなわち、このリプライ制御部２７０は、リトライモードおよびビジーモードの場合には、受け取ったリプライコードをリプライコード通知レジスタ２６０に格納し、リプライ書き込みモードの場合には、リプライコードをライトリクエスト生成部２４６に渡し、割り込みモードの場合には、ＰＣＩインターフェース制御部２１０を介してストレージ制御モジュール１００1に割り込みを発生させる。
【００６７】
ブリッジインターフェース制御部２８０は、パケットネットワーク５００とのインターフェースとして動作する処理部であり、パケット送信制御部２３０により作成されたパケットをパケットネットワーク５００に渡し、パケットネットワーク５００から受け取ったパケットをリプライ制御部２７０に渡す。
【００６８】
次に、本実施の形態に係るストレージシステムがキャッシュメモリにデータを書き込むシーケンスについて説明する。第４図は、本実施の形態に係るストレージシステムがキャッシュメモリにデータを書き込むシーケンスを示す図である。
【００６９】
同図に示すように、ストレージ制御モジュール１００1は、キャシュメモリモジュール３００1へのデータ書き込みに先立って、まず、応答モード指定コマンドを用いて応答モードを指定する。この時、応答モードにリプライ書き込みモードを指定する場合には、書き込みアドレスも指定する（ステップＳ４０１）。
【００７０】
そして、応答モード指定コマンドを受け取ったＰＣＩブリッジモジュール２００1は、指定された応答モードに対応するモードレジスタ２４１〜２４４をセットし、応答モードがリプライ書き込みモードである場合には、書き込みアドレスレジスタ２４７にリプライコードを書き込むアドレスをセットする（ステップＳ４０２）。
【００７１】
その後、ストレージ制御モジュール１００1がデータをキャッシュメモリモジュール３００1に書き込むためにライトコマンドを発行すると（ステップＳ４０３）、ＰＣＩブリッジモジュール２００1は、データの転送中であることを示す転送中通知レジスタ２５０をセットし（ステップＳ４０４）、キャシュメモリモジュール３００1がＰＣＩバス４００2で接続されたＰＣＩブリッジモジュール２００2にパケットネットワーク５００を用いてライトコマンドをパケット転送する（ステップＳ４０５）。
【００７２】
そして、ＰＣＩブリッジモジュール２００2は、パケットを受け取ってキャッシュメモリモジュール３００1にライトコマンドを発行し（ステップＳ４０６）、キャッシュメモリモジュール３００1がキャッシュメモリにライトデータの書き込みをおこなう（ステップＳ４０７）。そして、キャッシュメモリモジュール３００1は書き込みの結果を示すリプライコードを発行し（ステップＳ４０８）、リプライコードを受け取ったＰＣＩブリッジモジュール２００2は、パケットネットワーク５００を用いてＰＣＩブリッジモジュール２００1にリプライコードをパケット転送する。
【００７３】
そして、リプライコードを受け取ったＰＣＩブリッジモジュール２００1は、応答モードがリトライモードまたはビジーモードである場合には、リプライコードをリプライコード通知レジスタ２６０にセットする（ステップＳ４０９）。また、ＰＣＩブリッジモジュール２００1は、転送中通知レジスタ２５０をリセットする（ステップＳ４１０）。
【００７４】
一方、ライトコマンドを発行したストレージ制御モジュール１００1は、リトライモードの場合には、リプライコードを取得するために検証コマンドを発行する（ステップＳ４１１）。すると、ＰＣＩブリッジモジュール２００1は、リプライコードを受信していない場合には、再度検証コマンドの発行を依頼するためにリトライをストレージ制御モジュール１００1に送る（ステップＳ４１２）。そして、ストレージ制御モジュール１００1による検証コマンドの発行とＰＣＩブリッジモジュール２００1によるリトライの応答が繰り返される。
【００７５】
その後、ＰＣＩブリッジモジュール２００1がリプライコードを取得し、ストレージ制御モジュール１００1が検証コマンドを発行すると（ステップＳ４１５）、ＰＣＩブリッジモジュール２００1は、リプライコードをストレージ制御モジュール１００1に送る（ステップＳ４１６）。
【００７６】
また、ビジーモードの場合には、ライトコマンドを発行したストレージ制御モジュール１００1は、リプライコードを取得するために検証コマンドを発行する（ステップＳ４１３）。すると、ＰＣＩブリッジモジュール２００1は、リプライコードを受信していない場合には、ビジーコードをストレージ制御モジュール１００1に送る（ステップＳ４１４）。その後、ＰＣＩブリッジモジュール２００1がリプライコードを取得後にストレージ制御モジュール１００1が検証コマンドを発行すると（ステップＳ４１５）、ＰＣＩブリッジモジュール２００1は、リプライコードをストレージ制御モジュール１００1に送る（ステップＳ４１６）。
【００７７】
また、リプライ書き込みモードの場合には、ＰＣＩブリッジモジュール２００1は、ＰＣＩブリッジモジュール２００2からリプライコードコードを受け取ると、受け取ったリプライコードをストレージ制御モジュール１００1に書き込む（ステップＳ４１７）。
【００７８】
また、割り込みモードの場合には、ＰＣＩブリッジモジュール２００1は、ＰＣＩブリッジモジュール２００2からリプライコードコードを受け取ると、ストレージ制御モジュール１００1に割り込みを発生させ（ステップＳ４１８）、ストレージ制御モジュール１００1が検証コマンドを発行すると（ステップＳ４１９）、リプライコードを返す（ステップＳ４２０）。
【００７９】
上述したように、本実施の形態では、検証コマンド応答制御部２４０がモードレジスタ２４１〜２４４に応答モードを設定し、設定した応答モードに基づいてライトコマンドの処理結果をストレージ制御モジュール１００1に報告することとしたので、ストレージ制御モジュール１００1は、ライトコマンドの処理結果を効率良く取得することができる。
【００８０】
なお、本実施の形態では、ＰＣＩバス４００1〜４００8が、ＰＣＩブリッジモジュール２００1〜２００8およびパケットネトワーク５００を用いて相互に接続される場合について説明したが、本発明はこれに限定されるものではなく、ＰＣＩバスがＰＣＩブリッジモジュールだけによって接続される場合にも同様に適用することができる。
【産業上の利用可能性】
【００８１】
以上のように、本発明に係るバスブリッジ装置、バスブリッジ方法および入出力制御装置は、複数の独立したバスにそれぞれ接続した複数の装置間でバスを介して通信をおこなう必要があるストレージシステムなどに適している。
【図面の簡単な説明】
【００８２】
【図１】本実施の形態に係るＰＣＩブリッジモジュールが有する４つの応答モードの概念を説明するための説明図である。
【図２】本実施の形態に係るＰＣＩブリッジモジュールの構成を示す機能ブロック図である。
【図３】ストレージ制御モジュールが発行するコマンドのアドレスフォーマットの一例を示す図である。
【図４】本実施の形態に係るストレージシステムがキャッシュメモリにデータを書き込むシーケンスを示す図である。
【図５】ストレージシステムの構成を示す機能ブロック図である。
【図６】図５に示したストレージシステムがキャッシュメモリにデータを書き込むシーケンスを示す図である。
【図１】
0004197517.tif 000002
【図２】
0004197517.tif 000003
【図３】
0004197517.tif 000004
【図４】
0004197517.tif 000005
【図５】
0004197517.tif 000006
【図６】
0004197517.tif 000007