(57)【特許請求の範囲】
【請求項１】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、前記パケット送受信部の各々は、
前記外部モジュールから受信したパケットを送信する際には、該送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止する計算機システムのパケット送受信方法に於いて、
前記パケット送受信部で送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
前記パケット送受信部は、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高い応答系パケットを送信することを特徴とする計算機システムのパケット送受信方法。
【請求項２】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、前記パケット送受信部の各々は、
前記外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止する計算機システムのパケット送受信方法に於いて、
前記パケット送受信部で送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
前記パケット送受信部は、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、同じ送信先に対する優先度が最も高い内部レジスタアクセス用パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して最も優先度の高い内部レジスタアクセス用パケットを送信し、
送信先のパケット送受信部は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、最も優先度の高い内部レジスタアクセス用パケットの送信要求を受信した場合は送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュールのエラー状態を示すエラー詳細情報パケットを返送することを特徴とする計算機システムのパケット送受信方法。
【請求項３】
請求項２記載の計算機システムのパケット送受信方法に於いて、前記送信先のパケット送受信部は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、パケット送信要求を受信した後に該パケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高い前記内部レジスタアクセス用パケットの送信要求と判断して送信許可を応答することを特徴とする計算機システムのパケット受信方法。
【請求項４】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、
前記パケット送受信部の各々は、
外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止するパケット送受信方法に於いて、
前記パケット送受信部で送受信するパケットの種類に応じて優先順位を設定し、
前記パケット送受信部は、ある送信先に対する優先順位の低いパケットの転送待ち状態で、他の送信先に対する優先度の高いパケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高いパケットを送信することを特徴とする計算機システムのパケット送受信方法。
【請求項５】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、前記パケット送受信部の各々は、
外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止する計算機システムのパケット送受信方法に於いて、
前記パケット送受信部で送受信するパケットの種類に応じて優先順位を設定し、
前記パケット送受信部は、ある送信先に対するパケットの転送待ち状態で、同じ送信先に対する優先度が最も高いパケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して最も優先度の高いパケットを送信し、
送信先のパケット送受信部は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、最も優先度の高いパケットの送信要求を受信した場合には送信許可を応答してパケットを受信し、外部モジュールのエラー詳細情報パケットを返送することを特徴とする計算機システムのパケット送受信方法。
【請求項６】
請求項５記載のパケット送受信方法に於いて、前記送信先のパケット送受信部は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、パケット送信要求を受信した後に該パケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高いパケットの送信要求と判断して送信許可を応答することを特徴とする計算機システムのパケット受信方法。
【請求項７】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、前記パケット送受信部の各々は、
外部モジュールから受信したパケットを送信する際には、送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とするパケット送信機能部と、
パケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止するパケット受信機能部と、
を備え、
更に前記パケット送信機能部は、
外部モジュールから受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に定めた優先順位を判別して別々のバッファに格納するパケット優先度判別部と、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高い応答系パケットを送信させるパケット送信要求アービタと、
を備えたことを特徴とする計算機システムのパケット送受信装置。
【請求項８】
外部モジュールに対応して設けた複数のパケット送受信部をパケットバスを介して接続し、前記パケット送受信部の各々は、
外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とするパケット送信機能部と、
他のパケット送受信部から送信要求を受けた際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を停止するパケット受信機能部と、
を備え、
更に、前記パケット送信機能部は、
他のパケット送受信部から受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に定めた優先順位を判別して別々のバッファに格納する送信パケット優先度判別部と、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の最も高い内部レジスタアクセス用パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高い応答系パケットを送信させるパケット送信要求アービタと、
を備え、
前記パケット受信機能部は、
他のパケット送受信部から受信した内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に定めた優先順位を判別して別々のバッファに格納する受信パケット優先度判別部と、
外部モジュールのエラーに起因した送信許可の応答禁止状態で、優先順位の最も高い前記内部レジスタアクセス用パケットの送信要求を受信した場合にのみ送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュールのエラー状態を示すエラー詳細情報パケットを返送させるパケット受信要求アービタと、
を備えたことを特徴とする計算機システムのパケット送受信装置。
【請求項９】
請求項８記載の計算機システムのパケット送受信装置に於いて、前記パケット受信要求アービタは、外部モジュールのエラーに起因した送信許可の応答禁止状態で、他の送受信モジュールからパケット送信要求を受信した後に該パケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高い前記内部レジスタアクセス用パケットの送信要求と判断して送信許可を応答することを特徴とする計算機システムのパケット送受信装置。
【請求項１０】
請求項７又は８記載の計算機システムのパケット送受信装置に於いて、前記外部モジュールは、ＰＣＩバスのコマンドとパケットの間の変換を行うＰＣＩブリッジモジュールであることを特徴とする計算機システムのパケット送受信装置。
【請求項１１】
請求項１０記載の計算機システムのパケット送受信装置に於いて、前記ＰＣＩブリッジのＰＣＩバスには、ＰＣＩモジュールを介してホスト、入出力デバイス、メモリ等のモジュールが接続されたことを特徴とする計算機システムのパケット送受信装置。
【請求項１２】
計算機に、
外部モジュールから受信したパケットを送信する際には、該送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信プログラムからパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止し、
送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高い応答系パケットを送信することを実行させることを特徴とするパケット送受信プログラム。
【請求項１３】
計算機に、
外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、
他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止し、
送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、同じ送信先に対する優先度が最も高い内部レジスタアクセス用パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して最も優先度の高い内部レジスタアクセス用パケットを送信し、
外部モジュールのエラーに起因した送信許可の応答禁止状態で、最も優先度の高い内部レジスタアクセス用パケットの送信要求を受信した場合は送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュールのエラー状態を示すエラー詳細情報パケットを返送することを実行させることを特徴とするパケット送受信プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト、メモリ、入出力デバイス等のモジュール間でコマンドを転送する計算機システムのパケット送受信方法、装置及びパケット送受信プログラムに関し、特に、パケット転送待ちであっても優先順位の高いパケットについては転送待ちを撤回して優先的に転送可能とする計算機システムのパケット送受信方法、装置及びパケット送受信プログラムに関する。
【０００２】
【従来の技術】
従来、ホスト、主記憶として機能するメモリユニット、及び入出力デバイスを分散配置した計算機システムにあっては、ホスト、メモリユニット及び入出力デバイスを高速拡張バスとして知られたＰＣＩバス(Periheral Component Interconnect Bus ）で接続している。
【０００３】
一方、近年におけるＣＰＵの処理性能の向上と高速化に伴ない、ＰＣＩバスに接続しているホスト、メモリユニット及び入出力デバイスをパケットネットワーク（パケットバス）で接続したシステムが提案されている。
【０００４】
図１１は、パケット送受信を使用した計算機システムの概略である。ホスト１１０−１，１１０−２はＰＣＩモジュール１１２−１，１１２−２によりＰＣＩバス１１２−１，１１２−３に接続され、ＰＣＩバス１１２−１，１１２−３はＰＣＩブリッジモジュール１０６−１，１０６−２によりパケット送受信モジュール１００に接続される。
【０００５】
また主記憶として機能するメモリモジュール１１４−１，１１４−２は別のＰＣＩバス１１２−２，１１２−４に接続され、このＰＣＩバス１１２−２，１１２−４もＰＣＩブリッジモジュール１０６−２，１０６−４介してパケット送受信モジュール１００に接続されている。
【０００６】
送受信モジュール１００は、パケット送受信部１０２−１，１０２−２，１０２−３，１０２−４を備え、パケットバス１０４で接続している。
【０００７】
計算機システムの動作は例えば次のようになる。ホスト１１０−１から例えばライト命令があると、ＰＣＩモジュール１１２−１がライトコマンド（コマンドコード、アドレス、データを含む）をブリッジモジュール１０６−１に転送する。
【０００８】
このバス転送が完了すると、ＰＣＩブリッジモジュール１０６−１は、ライトコマンドをパケットに変換し、パケット送受信モジュール１００のパケット送受信部１０２−１から例えばメモリモジュール１１４−２側のパケット送受信部１０２−４にライトパケットを転送する。
【０００９】
パケット送受信部１０２−４で受信されたパケットはＰＣＩブリッジモジュール１０６−４でＰＣＩライトコマンドに変換され、ＰＣＩバス１０８−４によりメモリモジュール１１４−２に転送されてデータ書込みが行われる。
【００１０】
パケット送受信モジュール１００内でのパケット転送は次のようになる。送信元のパケット送受信部１０２−１は、まず送信先のパケット送受信部１０２−４に送信要求を行って送信許可が得られた場合にパケットを送信する。送信許可が得られない場合には送信パケットをバッファに格納したまま転送待ち状態とする。転送待ち状態でバッファがフルとなった場合はＰＣＩブリッジモジュール１０６−１からのパケット受け入れを禁止する。
【００１１】
送信先のパケット送受信部１０２−４は、パケット送受信部１０２−１から送信要求を受けた際には、バッファに空きがあり、また外部のＰＣＩブリッジモジュール１０６−４なエラーがなければ、パケット受信可能状態にあることから、送信許可を応答してパケットを受信する。
【００１２】
これに対しパケット送受信部１０２−４のバッファがフルであったり、ＰＣＩブリッジモジュール１０６−４の故障等によるエラーでパケット受信不可状態にあれば送信許可の応答を禁止する。この送信許可の応答停止に対応して送信元のパケット送受信部１０２−４は、転送待ち状態となる。
【００１３】
【発明が解決しようとする課題】
しかしながら、このようなパケット送受信にあっては、特定のパケット送受信部に対する送信要求を行って許可応答が得られずに転送待ち状態になると、他のパケット送受信部が受信可能状態にあっても、転送待ち状態では全てのパケット転送が阻止された状態となり、パケット送受信機能が阻害される。
【００１４】
特に、転送待ちとなったパケットがコマンドパケットを転送した後の応答パケット（リプライパケット）であった場合、パケットシーケンスが途中で転送待ちとなり、パケット転送の処理性能を低下させる重大な要因となる。
【００１５】
また送信先のパケット送受信部１０２−４に外部接続しているＰＣＩブリッジモジュール１０６−４がハード故障等のエラーで許可応答が得れなかった場合には、送信元のパケット送受信部１０２−１の転送待ち状態が解消されず、ハング・アップしてしまうという問題も起きる。
【００１６】
本発明は、転送待ち状態にあっても優先度の高いパケットを転送可能としてパケット転送性能の向上し、またハードエラー時のハング・アップを回避するようにした信頼性の高い計算機システムのパケット送受信方法、装置及びパケット送受信プログラムを提供することを目的とする。
【００１７】
【課題を解決するための手段】
図１は本発明の原理説明図である。
【００１８】
まず本発明の計算機システムのパケット送受信方法は、図１（Ａ）のように、ＰＣＩブリッジモジュール等の外部モジュール２４に対応して設けた複数のパケット送受信部２８をパケットバス１８を介して接続する。このパケット送受信部２８の各々は、外部モジュール２４から受信したパケットを他のパケット送受信部２８に送信する際には、送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納してたまま送待ち状態とし、更に、転送待ち状態でバッファがフルとなった場合は前記外部モジュールからのパケット受け入れを禁止する。
【００１９】
また他のパケット送受信部２８から送信要求を受けた際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止する。
【００２０】
このような計算機システムのパケット送受信方法につき本発明にあっては、パケット送受信部で送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、パケット送受信部２８は、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュール２４から受信した場合、転送待ち状態を撤回して優先度の高い応答系パケットを送信することを特徴とする。
【００２１】
このため、コマンドパケットを送信して応答許可が得られずに転送待ちとなり、この転送待ちで外部モジュールから他のパケット送受信部に対する応答系パケットを受信した場合、転送待ち状態が強制的に撤回されて応答系パケットの転送要求を行うことができ、転送待ちに阻害されることなく応答系パケットを優先的に転送でき、パケット転送の処理性能を低下を防止する。
【００２２】
また同様な計算機システムのパケット送受信方法につき、本発明の別の形態にあっては、同じくパケット送受信部２８で送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、パケット送受信部２８は、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、同じ送信先に対する優先度が最も高い内部レジスタアクセス用パケットを外部モジュール２４から受信した場合、転送待ち状態を撤回して最も優先度の高い内部レジスタアクセス用パケットを送信する。
【００２３】
また送信先のパケット送受信部２８は、外部モジュール２４のエラー検出による送信許可の応答禁止状態で、他のパケット送受信部２８から最も優先度の高い内部レジスタアクセス用パケットの送信要求を受信した場合、送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュールのエラー状態を示すエラー詳細情報パケットを返送する。
【００２４】
この場合、エラー検出による送信許可の応答禁止状態にあるパケット送受信部２８は、パケット送信要求を受信した後に、このパケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高い内部レジスタアクセス用パケットの送信要求と判断して送信許可を応答する。
【００２５】
このため送信先のパケット送受信部に接続している外部モジュール２８がハード故障等のエラーで許可応答が得られなかった場合には、送信元からエラー情報を収集するための内部レジスタアクセス用パケット、例えばエラーリードパケットを送ってエラー状況を認識することができ、エラー状況を認識できないことにより起きるハング・アップを防止する。
【００２６】
本発明の別の変形は、パケットの種類を具体的に特定しない一般的なパケット送受信方法を提供する。この場合には、パケット送受信部２８で送受信するパケットの種類に応じて優先順位を設定し、パケット送受信部２８は、ある送信先に対する優先順位の低いパケットの転送待ち状態で、他の送信先に対する優先度の高いパケットを外部モジュール２４から受信した場合、転送待ち状態を撤回して優先度の高いパケットを送信する。
【００２７】
また本発明は、パケット送受信部２８で送受信するパケットの種類に応じて優先順位を設定し、パケット送受信部２８は、ある送信先に対する低い優先順位のパケットの転送待ち状態で、同じ送信先に対する優先度が最も高いパケットを外部モジュールから受信した場合、転送待ち状態を撤回して最も優先度の高いパケットを送信し、送信先のパケット送受信部２８は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、最も優先度の高いパケットの送信要求を受信した場合にのみ送信許可を応答してパケットを受信し、外部モジュールのエラー情報パケットを返送する。
【００２８】
この場合にも、送信先のパケット送受信部は、外部モジュールのエラーに起因した送信許可の応答禁止状態で、パケット送信要求を受信した後に、このパケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高いパケットの送信要求と判断して送信許可を応答する。
【００２９】
更に本発明は、計算機システムのパケット送受信装置を提供する。本発明のパケット送受信装置は、外部モジュール２４に対応して設けた複数のパケット送受信部２８をパケットバス１８を介して接続する。パケット送受信部２８の各々は、図１（Ｂ）のパケット送信機能部４８とパケット受信機能部５０を備える。
【００３０】
パケット送信機能部４８は、他のパケット送受信部２８にパケットを送信する際には、送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納したまま転送待ち状態とし、転送待ち状態でバッファがフルとなった場合は外部モジュール２４からのパケット受け入れを禁止する。
【００３１】
パケット受信機能部５０は、他のパケット送受信部２８から送信要求を受けた際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止する。
【００３２】
これに加え本発明にあっては、パケット送信機能部４８に、送信パケット優先度判別部５４とパケット送信要求アービタ６８を設けたことを特徴とする。
【００３３】
送信パケット優先度判別部５４は、外部モジュール２４から受信した内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に設定したパケットの優先順位を判別して別々のバッファに格納する。
【００３４】
パケット送信要求アービタ６８は、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュール２４から受信した場合、転送待ち状態を撤回して優先度の高い応答系パケットを送信する。
【００３５】
このため、コマンドパケットを送信して応答許可が得られずに転送待ちとなり、この転送待ちで外部モジュールから他のパケット送受信部に対する応答系パケットを受信した場合、転送待ち状態が強制的に撤回されて応答系パケットの転送要求を行うことができ、応答系パケットが転送待ちに阻害されることなく優先的に転送され、パケット転送の処理性能を低下を防止できる。
【００３６】
また本発明の別の形態にあっては、パケット送受信部２８のパケット送信機能部４８に、他のパケット送受信部から受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に設定したパケットの優先順位を判別して別々のバッファに格納する送信パケット優先度判別部５４と、ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、同じ送信先に対する優先度の最も高い内部レジスタアクセス用パケットを外部モジュール２４から受信した場合、転送待ち状態を撤回して優先度の高い応答系パケットを送信するパケット送信要求アービタ６８とを設ける。
【００３７】
同時にパケット送受信部のパケット受信機能部５０に、他のパケット送受信部から受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に設定したパケットの優先順位を判別して別々のバッファに格納する受信パケット優先度判別部７６と、外部モジュール２４のエラーに起因した送信許可の応答禁止状態で、優先順位の最も高い内部レジスタアクセス用パケットの送信要求を受信した場合にのみ送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュール２４のエラー状態を示すエラー詳細情報パケットを返送させるパケット受信要求アービタ７４とを設けたことを特徴とする。
【００３８】
この場合、パケット受信要求アービタ７４は、外部モジュール２４のエラーに起因した送信許可の応答禁止状態で、他のパケット送受信部からパケット送信要求を受信した後にこのパケット送信要求が撤回され、続いて再度パケット送信要求があった場合、優先順位の最も高い内部レジスタアクセス用パケットの送信要求と判断して送信許可を応答する。
【００３９】
このため送信先のパケット送受信部に接続している外部モジュールがハード故障等のエラーで許可応答が得られなかった場合には、送信元からエラー情報を収集するための内部レジスタアクセス用パケット、例えばエラーリードパケットを送ってエラー状況を認識することができ、エラー状況を認識できないことにより起きるハング・アップを防止する。
【００４０】
本発明のパケット送受信装置の外部モジュール２４は、ＰＣＩバスのコマンドとパケットの間の変換を行うＰＣＩブリッジモジュールである。このＰＣＩブリッジのＰＣＩバスには、ＰＣＩモジュールを介してホスト、入出力デバイス、メモリ等のモジュールが接続される。
【００４１】
また本発明によればパケット送受信プログラムが提供される。即ち、本発明は、計算機に、外部モジュールから受信したパケットを送信する際には、該送信先に送信要求を行って送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、他のパケット送受信プログラムからパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止することを実行させるパケット送受信プログラムに於いて、更に計算機に、
送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、他の送信先に対する優先度の高い応答系パケットを外部モジュールから受信した場合、前記転送待ち状態を撤回して優先度の高い応答系パケットを送信することを実行させることを特徴とする。
【００４２】
また本発明のパケット送受信プログラムの変形にあっては、計算機に、外部モジュールから受信したパケットを送信する際には、送信要求を行って送信先から送信許可が得られた場合にパケットを送信し、送信許可が得られない場合は送信パケットをバッファに格納して転送待ち状態とし、他のパケット送受信部からパケットの送信要求を受信した際には、パケット受信可能状態にあれば送信許可を応答してパケットを受信し、パケット受信不可状態にあれば送信許可の応答を禁止しすることを実行させるパケット送受信プログラムに於いて、更に、計算機に、送受信する内部レジスタアクセス用パケット、応答系パケット及びコマンド系パケットの順番に優先順位を設定し、
ある送信先に対する優先順位の低いコマンド系パケットの転送待ち状態で、同じ送信先に対する優先度が最も高い内部レジスタアクセス用パケットを外部モジュールから受信した場合、転送待ち状態を撤回して最も優先度の高い内部レジスタアクセス用パケットを送信し、
外部モジュールのエラーに起因した送信許可の応答禁止状態で、最も優先度の高い内部レジスタアクセス用パケットの送信要求を受信した場合は送信許可を応答して内部レジスタアクセス用パケットを受信し、外部モジュールのエラー状態を示すエラー詳細情報パケットを返送することを実行させることを特徴とする。
【００４３】
【発明の実施の形態】
図２は、本発明のパケット送受信方法及び装置が適用される計算機システムの構成図である。
【００４４】
図２において、本発明のパケット送受信が適用される計算機システムは、ホスト１０−１，１０−２を有し、それぞれＰＣＩバス１２−１，１２−２に接続されている。ホスト１０−１を接続したＰＣＩバス１２−１には入出力サブシステムとして機能するデバイス１４−１が接続され、ホスト１０−２を接続したＰＣＩバス１２−３にも同様にデバイス１４−２が接続される。
【００４５】
ホスト１０−１，１０−２の主記憶として機能するメモリモジュールは、本発明によるパケット送受信モジュールと共に筐体１６−１，１６−２，・・・１６−ｎのそれぞれに格納されており、筐体１６−１〜１６−ｎのそれぞれはＰＣＩバス１２−１，１２−３に接続される。
【００４６】
これら筐体１６−１〜１６−ｎはパケットバス１８で接続されており、パケットバス１８を経由して筐体１６−１〜１６−ｎの相互間でもパケット転送ができるようにしている。
【００４７】
図３は、図２の筐体１６−１の内部構成を外部のホスト及びデバイス側と共に示している。尚、図２にあっては、ＰＣＩバス１２−１，１２−３は筐体１６−１〜１６−ｎの外部バスとして示しているが、実際の装置にあっては図３のようにＰＣＩバス１２−１，１２−３は筐体１６−１内に位置しており、これに対し外部に設置しているホスト１０−１，１０−２及びデバイス１４−１，１４−２はＰＣＩモジュールを介して接続することになる。
【００４８】
図３において、筐体１６−１には、ホスト１０−１，１０−２からのライト命令やリード命令に対しライトコマンドやリードコマンドを発行する処理モジュール２０−１，２０−２が設けられている。処理モジュール２０−１，２０−２はＰＣＩバス１２−１，１２−３のそれぞれに接続される。
【００４９】
またＰＣＩバス１２−１，１２−３には、デバイスモジュール２２−１，２２−２を介して外部のデバイス１４−１，１４−２が接続されている。また筐体１６−１内には別のＰＣＩバス１２−２，１２−４によりメモリモジュール３２−１，３２−２が接続されており、それぞれ主記憶ユニット３４−１，３４−２を設けている。
【００５０】
このように処理モジュール２０−１，２０−２，デバイスモジュール２２−１，２２−２及びメモリモジュール３２−１，３２−２を接続したＰＣＩバス１２−１〜１２−４は、本発明によるパケット送受信モジュール２６を介して接続される。
【００５１】
このパケット送受信モジュール２６とＰＣＩバス１２−１〜１２−４との間には、ＰＣＩブリッジモジュール２４−１，２４−２，２４−３，２４−４が設けられる。ブリッジモジュール２４−１〜２４−４は、ＰＣＩバス１２−１〜１２−４のコマンドとパケット送受信モジュール２６との間のパケットの変換を行う。
【００５２】
図４は、図３の本発明によるパケット送受信モジュール２６の内部構成のブロック図であり、ＰＣＩバス側に設けた外部モジュールとしてのＰＣＩブリッジモジュールと共に示している。
【００５３】
図４において、パケット送受信モジュール２６には、ＰＣＩバス１２−１〜１２−４のＰＣＩブリッジモジュール２４−１〜２４−４に対応してパケット送受信部２８−１，２８−２，２８−３，２８−４が設けられている。パケット送受信部２８−１〜２８−４はパケットバス１８で接続される。
【００５４】
パケットバス１８は例えば６４ビット幅のバスであり、例えば６６メガヘルツで動作する。このパケットバス１８はパケット送受信モジュール２６の外部にも引き出され、図２のように他の筐体に設けているパケット送受信モジュールに接続される。
【００５５】
またパケット送受信部２８−１〜２８−４には、予めパケット送受信のアドレスとなるノードＩＤ３６−１，３６−２，３６−３，３６−４が設定されている。ここでノードＩＤ３６−１〜３６−４を、説明を簡単にするためノードＩＤ「＃Ａ」「＃Ｂ」「＃Ｃ」「＃Ｄ」で表わす。
【００５６】
図５は、図４のパケット送受信モジュール２６に設けているパケット送受信部２８−４を送信先とした場合のパケット送受信部２８−１〜２８−３のパケット送受信処理のタイムチャートである。
【００５７】
パケット送受信部２８−１〜２８−３による送信シーケンスは、まず送信元のパケット送受信部がパケットバス１８に対し送信先のノードＩＤを指定して送信要求信号ＲＥＱ、具体的にはバス使用要求信号をアサートする。この送信元でアサートした送信要求信号ＲＥＱに対し、送信先のパケット送受信部は、パケット受信可能状態であれば送信機からの応答信号、具体的にはバス使用許可信号としてのグラント信号を許可応答ＡＣＫとして送信する。このため送信元のパケット送受信部は、送信要求信号ＲＥＱに対する送信先の許可応答ＡＣＫを受信した場合にのみパケットのデータ転送を開始する。
【００５８】
図５のタイムチャートにあっては、まずノードＩＤ「＃Ｂ」のパケット送受信部２８−２がパケット送受信部２８−４に対し送信要求「ＲＥＱ＃Ｂ」をアサートしており、この送信要求「ＲＥＱ＃Ｂ」のアサートに対し時刻ｔ１でパケット送受信部２８−４から許可応答「ＡＣＫ＃Ｂ」が受信されると、時刻ｔ２よりパケット送受信部２８−２は、パケットデータ「ＤＴ＃Ｂ」に示すように、パケットデータＤ０，Ｄ１，Ｄ２のパケット転送を行う。
【００５９】
また時刻ｔ２でノードＩＤ「＃Ａ」のパケット送受信部２８−１が、同じくパケット送受信部２８−４を指定して送信要求「ＲＥＱ＃Ａ」をアサートしている。このとき送信先のパケット送受信部２８−４は、時刻ｔ２でパケット送受信部２８−２からのパケットデータ転送Ｄ０〜Ｄ２の受信を行っているため、パケット送受信部２８−１に対する許可応答「ＡＣＫ＃Ａ」は出さない。
【００６０】
パケットデータＤ２の転送が時刻ｔ３で終了すると、パケット送受信部２８−４はパケット送受信部２８−１に対し許可応答「ＡＣＫ＃Ａ」を送出する。このため、時刻ｔ３よりパケット送受信部２８−１からパケット送受信部２８−４に対しパケットデータＤ３，Ｄ４，Ｄ５のパケット転送が行われる。
【００６１】
このように本発明のパケット送受信部２８−１〜２８−４にあっては、送信先に送信要求ＲＥＱを行って許可応答ＡＣＫが得られた時に、初めてパケットデータの転送を行うようになる。
【００６２】
ここで例えばパケット送受信部２８−１からパケット送受信部２８−４に対し送信要求「ＲＥＱ＃Ａ」をアサートした場合にパケット送受信部２８−４より許可応答「ＡＣＫ＃Ａ」が送出されない受信不可状態は、図５のタイムチャートの時刻ｔ２〜ｔ３のように他のパケット送受信部からのパケットデータが受信中の場合の他に、送信先のパケット送受信部２８−４に設けているバッファからＰＣＩブリッジモジュール２４−４に対する受信パケットの転送が終了せずにバッファがフルとなっている場合、あるいはＰＣＩブリッジモジュール２４−４のハード故障によるエラー検出で送信要求に対する送信許可応答の禁止状態となっている場合がある。
【００６３】
このように送信先のＰＣＩブリッジモジュール２４−４が受信不可状態にある時、送信要求を行ったパケット送受信部２８−１は送信許可応答が得られないために、図５の時刻ｔ２〜ｔ３の間、パケットをバッファに格納したまま転送待ち状態となる。
【００６４】
この転送待ち状態にあっては、パケット送受信部２８−１に対し外部のＰＣＩブリッジモジュール２４−１から新たな送信パケットが受信されても、その受信パケットはバッファに格納することで転送待ちとする。またパケット送受信部２８−１に設けているバッファがフルとなった場合には、ＰＣＩブリッジモジュール２４−１からの新たなパケットの受け入れを禁止する。
【００６５】
このようなパケット送受信部２８−１〜２８−４における基本的なパケット送受信のシーケンスに加え、本発明にあっては、送信要求に対する送信許可応答が得られずに転送待ち状態となっている状態で、優先度の高いパケットが外部のＰＣＩブリッジモジュールから受信された場合、強制的に転送待ち状態を撤回して優先度の高いパケットを転送する機能を新たに設けている。
【００６６】
このような優先度の高いパケットを転送待ち状態を撤回して優先的に転送するため、本発明にあってはパケット送受信モジュール２６において転送するパケットの種別に応じて優先度を設けている。
【００６７】
ここで本発明のパケット送受信モジュール２６で転送するパケットには、リードライト等のコマンド系パケットと、このコマンド系に対するアンサ系パケット（応答系パケット）があり、更にエラー情報収集等に使用される内部レジスタアクセス用パケットに大別できる。
【００６８】
そこで本発明にあっては、この３種類のパケットに対し予め優先順位を設定している。まずコマンド系パケットとそのアンサ系パケットでは緊急度の高いアンサ系パケットの方にコマンド系パケットより上位の優先順位を設定している。またコマンド系パケットとアンサ系パケットに対し、内部レジスタアクセス用パケットに最も高い優先順位を設定している。即ち優先順位を１位、２位、３位とすると、次のような優先順位の設定が行われる。
優先順位第１位：内部レジスタアクセス用パケット
優先順位第２位：アンサ系パケット
優先順位第３位：コマンド系パケット
まずアンサ系パケットの優先処理を簡単に説明すると次のようになる。図５のタイムチャートの時刻ｔ２〜ｔ３のように、パケット送受信部２８−１が転送待ち状態にある時、ＰＣＩブリッジモジュール２４−１より、それ以前にパケット送受信部２８−２から受信したコマンド系パケットのアンサパケットを受けたとすると、転送待ち状態を撤回し、パケット送受信部２８−２に対しアンサパケットを送信する。
【００６９】
具体的には転送待ち状態を撤回したパケット送受信部２８−１はパケット送受信部２８−２に転送要求を行い、このときパケット送受信部２８−２は受信可能状態にあることから送信許可応答を返し、これに基づきアンサ系パケットの転送が行われる。アンサ系パケットの転送が済むと、パケット送受信部２８−４の転送可能状態が解除されていないためパケット送受信部２８−１は再び転送待ち状態に戻る。
【００７０】
次に内部レジスタアクセス用パケットの優先処理を簡単に説明する。内部レジスタアクセス用パケットの転送は、例えば転送先のパケット受信部の外部に設けているＰＣＩブリッジモジュールがハード故障等によりエラー検出となり、このエラー検出により受信不可状態となって送信要求に対する送信許可応答が得られなかった状態でエラー情報を収集するための内部レジスタアクセス系コマンド、例えばエラーリードパケットを送信する場合である。
【００７１】
例えば図４のパケット送受信部２８−４の外部に設けているＰＣＩブリッジモジュール２４−４がハード故障となり、このエラー検出がパケット送受信部２８−４で行われると、パケット送受信部２８−１からの送信要求に対する送信許可応答が出されず、パケット送受信部２８−１は転送待ち状態となる。
【００７２】
パケット送受信部２８−４の受信不可状態はＰＣＩブリッジモジュール２４−４のハード故障に起因しているため、パケット送受信部２８−１の転送待ち状態は解消されない。
【００７３】
そこでＰＣＩブリッジモジュール２４−１に対しＰＣＩバス１２−１を介して接続している処理モジュール側で転送異常を認識し、転送先のエラーログがＰＣＩブリッジモジュール２４−１に対し要求され、これによってＰＣＩブリッジモジュール２４−１は内部レジスタアクセス用パケットとしてエラーリードパケットを出力する。
【００７４】
このエラーリードパケットが転送待ち状態にあるパケット送受信部２８−１で受信されると、他のコマンド系パケット及びアンサ系パケットに対し最も優先度が高い内部レジスタアクセス用パケットであることが判別され、パケット送受信部２８−１は転送待ち状態を撤回し、パケット送受信部２８−４に対しエラーリードパケットの送信要求を行う。
【００７５】
このときパケット送受信部２８−４はＰＣＩブリッジモジュール２４−４のハード故障に起因したエラー検出で送信許可応答の禁止状態にあるが、パケット送受信部２８−１より内部レジスタアクセス用パケットの送信要求が行われたことを判断すると、送信許可応答をパケット送受信部２８−１に返す。
【００７６】
このためパケット送受信部２８−１よりパケット送受信部２８−４にエラーリードパケットが転送され、ＰＣＩブリッジモジュール２４−４がエラー詳細情報を生成してアンサ系パケットをパケット送受信部２８−４からパケット送受信部２８−１に返すことができ、ＰＣＩブリッジモジュール２４−１で受信したエラー詳細情報を上位の処理モジュールに記述することでＰＩＣブリッジモジュール２４−４のハード故障を認識し、ＰＣＩバス１２−４側のモジュールに対するその後のアクセスを禁止する対応処理をとることができる。
【００７７】
図６は、図４のパケット送受信モジュール２６に設けているパケット送受信部２８−１〜２８−４のそれぞれに内蔵されたパケット送信機能部とパケット受信機能部の詳細を示したブロック図である。
【００７８】
図６において、パケット送受信部２８は、パケット送信機能部４８とパケット受信機能部５０に大別される。パケット送信機能部４８は、外部のＰＣＩブリッジモジュールからのパケットを受信し、パケットバスを介して他のパケット送受信部にパケットを送信する。これに対しパケット受信機能部５０はパケットバスを介して他のパケット送受信部からのパケットを受信し、これを外部のＰＣＩブリッジモジュールに出力する。
【００７９】
パケット送信機能部４８は、パケット受信部５２、送信パケット優先度判別部５４、レジスタアクセス系パケットバッファ５６、コマンド系パケットバッファ５８、アンサ系パケットバッファ６０、レジスタアクセス系送信要求生成部６２、コマンド系送信要求生成部６４、アンサ系送信要求生成部６６、パケット送信要求アービタ６８、パケット送信部７０で構成される。
【００８０】
送信パケット優先度判別部５４には、ＰＣＩブリッジモジュールから受信したパケットの種別に対応した優先度を判別する機能が設けられ、受信パケットが優先度の最も高いレジスタ系パケットか、次に優先度が高いアンサ系パケットか、更に優先度が最も低いコマンド系パケットかを判別し、それぞれのパケット種別に対応して設けられたパケットバッファ５６，５８，６０に受信パケットを格納する。ここで実線はデータの流れを示し、破線は制御信号の流れを示している。
【００８１】
パケットバッファ５６，５８，６０にそれぞれのパケット種別に対応したパケットが格納されると、次の送信要求生成部６２，６４，６６の対応するパケット種別の系統が動作して送信要求をパケット送信要求アービタ６８に行う。
【００８２】
パケット送信要求アービタ６８は、転送待ち状態になければ、送信先のノードＩＤを指定してパケット送信要求ＲＥＱをアサートする。この送信要求ＲＥＱのアサートに対し、送出先のパケット送受信部より許可応答ＡＣＫが受信されると、パケット送受信部７０により対応するパケットバッファからパケットデータを読み出してパケットバスに転送する。
【００８３】
パケット送信要求アービタ６８は、転送待ち状態で送信要求が得られると、送信要求を行ったパケット種別より異なった動作を行う。まずコマンド系送信要求に対する送信許可応答が得られずにパケット送信要求アービタ６８が転送待ち状態となっている場合には、それより優先度の高いアンサ系送信要求をアンサ系送信要求生成部６６より受けると、転送待ち状態を撤回して送信先に送信要求ＲＥＱをアサートする。
【００８４】
また優先順位の最も高いレジスタアクセス系送信要求生成部６２より送信要求を受けた場合にも、パケット送信要求アービタ６８は転送待ち状態を撤回し、送信先に送信要求ＲＥＱをアサートする。
【００８５】
またアンサ系パケットの送信要求に対する許可応答が得られずにパケット送信要求アービタ６８が転送待ち状態となっている場合には、それより優先順位の低いコマンド系送信要求を受けても転送待ち状態は撤回されない。これに対しアンサ系パケットより優先順位の高いレジスタアクセス系パケットの送信要求があった場合には転送待ち状態を撤回し、レジスタアクセス系パケットの送信要求をアサートする。
【００８６】
即ち、ある優先順位のパケット送信要求で転送待ち状態にあった場合、パケット送信要求アービタ６８はそれより高い優先順位のパケット転送要求があった時に、転送待ち状態を撤回して優先順位の高いパケットの送信要求を行うことになる。
【００８７】
このパケット送信要求アービタ６８のパケットの優先順位に従った転送待ち状態の撤回による処理で、例えばコマンド系パケットの送信要求で転送待ちとなった状態でアンサ系パケットの送信要求があれば、アンサ系パケットを優先的に処理することができる。
【００８８】
次にパケット受信機能部５０を説明する。パケット受信機能部５０は、パケット受信部７２、パケット受信要求アービタ７４、受信パケット優先度判別部７６、レジスタアクセス系，コマンド系及びアンサ系パケットバッファ７８，８０，８２、レジスタ系，コマンド系及びアンサパケット送信制御部８４，８６，８８、パケット送信制御アービタ９０及びパケット送信エラー検出部９２で構成される。
【００８９】
パケット受信要求アービタ７４は、パケットバス１８を経由した他の送受信ユニットからの送信要求ＲＥＱに対し、受信可能状態であれば許可応答ＡＣＫを返す。
【００９０】
他の送受信ユニットから送信要求ＲＥＱを受けた際に、送信要求を行ったパケット種別に対応したパケットバッファ７８，８０，８２のいずれかがバッファフルとなっている場合には、許可応答ＡＣＫは返さずに送信元を転送待ち状態とさせる。
【００９１】
またパケット送信エラー検出部９２よりエラー検出信号が得られている場合にも、パケット受信要求アービタ７４は送信許可応答の禁止状態となっており、送信要求ＲＥＱがあっても許可応答ＡＣＫは原則として返さない。パケット送信エラー検出部９２は、パケット送信制御アービタ９０からのパケット転送先に設けている外部のＰＣＩブリッジモジュールが例えばハード故障した場合にエラー検出出力を生ずる。
【００９２】
本発明のパケット受信機能部５０に設けたパケット受信要求アービタ７４は、外部のＰＣＩブリッジモジュールのハード故障等に起因したエラー検出による送信許可応答の禁止状態で、パケットバス１８を介して他のパケット送受信部より優先順位が最も高いレジスタアクセス系パケットの送信要求ＲＥＱの受信を判断した場合には、エラー検出に基づく送信許可応答の禁止状態にあっても、要求元に対し送信許可応答ＡＣＫを返すようにしている。
【００９３】
このパケット受信要求アービタ７４における送信要求ＲＥＱがレジスタアクセス系パケットに基づく送信要求であることの判断は、次の送信要求のシーケンスを判断して行う。
（１）送信要求ＲＥＱを受信する。
（２）受信している送信要求ＲＥＱが撤回される。
（３）送信要求ＲＥＱが再度、受信される。
【００９４】
この（１）〜（３）の送信要求ＲＥＱのシーケンスが成立したとき、パケット受信要求アービタ７４はレジスタアクセス系パケットの送信要求と判断し、送信許可応答ＡＣＫを返すようになる。
【００９５】
このため、外部のＰＣＩモジュールのハード故障によるエラー検出状態でパケット受信要求アービタ７４が送信許可応答の禁止状態にあっても、レジスタアクセス系パケットの送信要求と判断した場合には送信許可応答を返し、これによってエラー情報を収集するためのレジスタアクセス系パケットの送受信を可能とする。
【００９６】
パケット受信要求アービタ７４における送信要求の（１）〜（３）のシーケンスは、エラー情報を収集するための処理が、まずコマンド系パケットの送信要求を行い、応答が得られないことで次にコマンド系パケットの転送要求を撤回し、エラーログを得るためのレジスタアクセス系パケットを送信するために再度、転送要求を行うという送信元のシーケンスに対応している。
【００９７】
図７，図８は、図４のパケット送受信モジュール２６におけるアンサ系パケットの優先処理の処理手順である。
【００９８】
図７において、まずＰＣＩブリッジモジュール２４−１がＰＣＩバス１２−１よりＰＣＩコマンドをステップＳ１で受信すると、ステップＳ２でＰＣＩコマンドをパケットに変換し、パケット送受信部２８−１に送信する。パケット送受信部２８−１は、ステップＳ３でＰＣＩブリッジモジュール２４−１からのパケットを受信し、ステップＳ４で送信先となるパケット送受信部２８−４のノードＩＤの指定でパケット送信要求をアサートする。
【００９９】
パケット送受信部２８−４はこのとき受信可能状態にあり、ステップＳ５でパケット送信許可をパケット送受信部２８−１に返す。このためパケット送受信部２８−１は、ステップＳ６でパケットをパケット送受信部２８−４に送信し、ステップＳ７でパケット受信が行われる。パケット受信が済むとパケット送受信部２８−４は、ステップＳ８でＰＣＩブリッジモジュール２４−４に受信パケットを送信し、ステップＳ９のパケット受信となる。そしてステップＳ１０でＰＣＩブリッジモジュール２４−４は、ＰＣＩコマンドに変換してＰＣＩバスを介してアドレス先のモジュールにコマンドを送信する。
【０１００】
続いてＰＣＩブリッジモジュール２４−４が自分のＰＣＩブリッジよりステップＳ１１でパケット送受信部２８−２を送信先とするＰＣＩコマンドを受信すると、ステップＳ１２でパケットに変換してパケット送受信部２８−４に送信し、パケット送受信部２８−４はステップＳ１３でパケットを受信し、ステップＳ１４で指定されたノードＩＤのパケット送受信部２８−２に対しパケット送信要求を行う。
【０１０１】
しかしながら、送信先のパケット送受信部２８−２にあっては、このときビジー状態にあり、ステップＳ１４で行ったパケット送信要求に対しパケット送信許可は出されず、この結果、パケット送受信部２８−４はステップＳ１５のようにパケット転送待ち状態となる。
【０１０２】
続いて図８のステップＳ１６のように、ＰＣＩブリッジモジュール２４−４が図７のステップＳ１０で変換送信したＰＣＩコマンドに対するＰＣＩアンサコマンドを受信すると、ステップＳ１７でアンサパケットに変換してパケット送受信部２８−４に送信し、ステップＳ１８で受信される。
【０１０３】
このときパケット送受信部２８−４は、図７のステップＳ１４で行ったパケット送受信部２８−２に対する送信要求に対するビジーで、ステップＳ１５のようにパケット転送待ち状態となっている。しかし、ステップＳ１８で受信したパケットがアンサパケットであることを判断すると、ステップＳ１９でパケット転送要求を撤回し、ステップＳ２０でアンサパケットの送信要求を送信先のパケット送受信部２８−１に対し行う。
【０１０４】
パケット送受信部２８−１は、ステップＳ２１でアンサパケットの送信許可を発行し、このためパケット送受信部２８−２はステップＳ２２でアンサパケットをパケット送受信部２８−１に送信し、ステップＳ２３でアンサパケットが受信され、ステップＳ２４でアンサパケットをＰＣＩブリッジモジュール２４−１に送信する。
【０１０５】
ＰＣＩブリッジモジュール２４−１は、ステップＳ２５でアンサパケットを受信し、ステップＳ２６でＰＣＩアンサコマンドに変換して外部のＰＣＩバスを介して送信元のモジュールに転送する。
【０１０６】
このようにパケット送受信部２８−４がステップＳ１５でパケット転送待ち状態にあっても、この状態でＰＣＩブリッジモジュール２４−４よりアンサパケットを受信した場合には、パケット転送要求を撤回してアンサパケットを優先的に転送することができる。
【０１０７】
パケット送受信部２８−４にあっては、パケット送受信部２８−２に対するパケットが送信待ちになっていることから、ステップＳ２７でパケット送信要求を行うが、このときもパケット送受信部２８−２はビジー状態にある。
【０１０８】
その後、パケット送受信部２８−２はビジー状態が解除され、ステップＳ２８でパケット送信許可をパケット送受信部２８−４に返し、ステップＳ２９でパケット送信が行われ、ステップＳ３０で受信され、ステップＳ３１でＰＣＩブリッジモジュール２４−２に出力し、ステップＳ３２でパケット受信した後、ステップＳ３３でＰＣＩコマンドに変換して、そのＰＣＩバスを介して対応モジュールに送信する。
【０１０９】
図９，図１０は、図４のパケット送受信モジュール２６において、外部のＰＣＩブリッジモジュールのハード故障に基づくエラー検出におけるエラーログのための内部レジスタアクセス検出パケットの優先処理を、パケット送受信部２８−１と２８−４の間を送受信を例にとったタイムチャートである。
【０１１０】
まず図９のステップＳ１でＰＣＩブリッジモジュール２４−１がＰＣＩコマンドを受信し、ステップＳ２でパケットに変換してパケット送受信部２８−１に送信する。パケット送受信部２８−１はステップＳ３でパケットを受信し、ステップＳ４で送信先のパケット送受信部２８−４に対する送信要求をアサートする。
【０１１１】
このときパケット送受信部２８−４は受信可能状態にあるため、ステップＳ５でパケット送信許可を返し、ステップＳ６でパケット送受信部２８−１よりパケット送信が行われ、これがステップＳ７で受信され、ステップＳ８でパケットをＰＣＩブリッジモジュール２４−４に送信し、ステップＳ９で受信される。
【０１１２】
このときＰＣＩブリッジモジュール２４−４がハード故障となり、ステップＳ１０でパケット送信エラー検出がパケット送受信部２８−４に通知され、このためステップＳ１２でパケット送受信部２８−４はエラー詳細情報のパケットのみ送信可能とする動作状態となる。
【０１１３】
また、エラーを起こしたＰＣＩブリッジモジュール２４−４にあっては、ステップＳ１１のように受信パケットをＰＣＩコマンドに変換するパケット処理を停止した状態となる。
【０１１４】
一方、パケット送受信部２８−１側のＰＣＩブリッジモジュール２４−１にあっては、ステップＳ１３で新たなＰＣＩコマンドを受信し、ステップＳ１４でパケットに変換してパケット送受信部２８−１に送信し、ステップＳ１５で受信し、ステップＳ１６でパケット送受信部２８−１はパケット送受信部２８−４に対し送信要求をアサートする。
【０１１５】
このときパケット送受信部２８−４はステップＳ１２のように、ＰＣＩブリッジモジュール２４−４のエラー検出に基づき内部レジスタアクセス検出コマンドに対してのみ送信許可応答をする動作状態に切り替わっている。このためステップＳ１６からのコマンド系パケット送信要求のアサートに対しては送信許可を返さず、そのためパケット送受信部２８−１はステップＳ１７でパケット転送待ち状態となる。
【０１１６】
次に図１０において、ＰＣＩブリッジモジュール２４−１はステップＳ１８でＰＣＩバス側のＰＣＩコマンドの送信元からのエラーログの要求を受け、ステップＳ１９でＰＣＩエラーリードコマンドを受信する。このＰＣＩエラーリードコマンドＳ２０は、内部レジスタアクセス用パケットとなるエラーリードパケットに変換されてパケット送受信部２８−１に送信される。
【０１１７】
パケット送受信部２８−１は、ステップＳ２１でＰＣＩブリッジモジュール２４−１からのエラーリードパケットを受信すると、エラーリードパケットが内部レジスタアクセス系パケットであることを判別し、ステップＳ２２でパケット転送待ち状態を撤回し、ステップＳ２３でパケット送受信部２８−４に対しエラーリードパケットの送信要求をアサートする。パケット送受信部２８−４はステップＳ２４で、この送信要求がエラーリードパケットの送信要求であることを判断し、送信許可を返す。
【０１１８】
ステップＳ２４におけるエラーリードパケットの送信要求であることの判断は、図９のステップＳ１６で最初の送信要求が行われ、次に図１０のステップＳ２２でパケット転送待ちの撤回により転送要求も撤回され、続いてステップＳ２３で再度、転送要求が行われるという３つのシーケンス手順が得られたことで、エラーリードパケットの送信要求、即ち内部レジスタアクセスパケットの送信要求であると判断し、図９のステップＳ１２のようにエラー詳細情報を要求するエラーリードパケットに対してのみステップＳ２４で送信許可を返す。
【０１１９】
この送信許可を受信したパケット送受信部２８−１は、ステップＳ２５でエラーリードパケットを送信し、ステップＳ２６でエラーリードパケットが受信され、ステップＳ２７でＰＣＩブリッジモジュール２４−４にエラーリードパケットを送信する。
【０１２０】
ＰＣＩブリッジモジュール２４−４は、ステップＳ２８でエラーリードパケットを受信すると、ステップＳ２９でエラー詳細情報のパケットを生成し、ステップＳ３０でエラー詳細情報のパケットをパケット送受信部２８−４に送信し、ステップＳ３１でそのパケット送信要求がパケット送受信部２８−１に対し行われる。
【０１２１】
ステップＳ２３でパケット送信許可がアサートされると、ステップＳ３３でエラー詳細情報のパケット送信が行われ、これをパケット送受信部２８−１がステップＳ３４で受信し、ＰＣＩブリッジモジュール２４−１に送信して、ステップＳ３５で受信し、更にステップＳ３６でＰＣＩアンサコマンドに変換してＰＣＩバスを介して送信元のモジュールに送信し、これにより送信先のＰＣＩブリッジモジュール２４−４のエラー状態が外部ＰＣＩコマンドの送信元で認識される。
【０１２２】
ＰＣＩブリッジモジュール２４−４のエラー状態が認識されれば、ＰＣＩブリッジモジュール２４−４の系統を使ったアクセスはできないことから、この系統をアクセス対象から除外し、他の系統による必要モジュールに対するアクセスとなり、ＰＣＩブリッジモジュール２４−４のハード故障でシステムがハング・アップするような事態を回避することができる。
【０１２３】
尚、上記の実施形態は優先順位の高い順にパケットの種別を内部レジスタアクセス用パケット、アンサ系パケット及びコマンド系パケットに分けているが、本発明は、このパケット種別の優先順位に限定されず、緊急度の高いパケットコマンドに必要に応じて優先順位をつけることができる。
【０１２４】
また同じコマンド系パケットであっても、緊急度が高い処理のコマンドについてはコマンドコードの中に優先度を含ませることで、優先度の低いコマンド系パケットの送信要求で転送待ち状態にあっても、この転送待ち状態を撤回して優先的に優先度の高いコマンド系パケットを送信することができる。
【０１２５】
また本発明は、その目的と利点を損なわない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【０１２６】
【発明の効果】
以上説明してきたように本発明によれば、コマンド系パケットを送信して送信許可が得られずに転送待ちとなり、この転送待ちの状態で優先度の高い例えばアンサ系パケットを外部モジュールから受信した場合には、転送待ち状態が強制的に撤回され、優先度の高いアンサ系パケットの転送要求を行うことができ、緊急性の高いアンサ系パケットが転送待ちに阻害されることなく優先的に転送され、これによってパケット転送の処理性能の低下を防止できる。
【０１２７】
またＰＣＩブリッジモジュール等の外部モジュールがエラー検出に起因した送信許可の応答禁止状態でエラーログをとるための最も高い優先順位をもつ内部レジスタアクセス用パケット例えばエラーリードパケットの受信要求を判断した場合には、このエラーリードパケットの送信要求に対してのみ送信許可を応答してエラーリードパケットを受信し、外部モジュールのエラー情報を送信元に対し確実に返送することができ、パケット送受信系で起きたハード故障によってパケット送受信が転送待ちにより機能しなくなり、ハング・アップを確実に防止できる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明が適用される計算機システムのブロック図
【図３】図２のパケット転送モジュールの内部構成のブロック図
【図４】図３のパケット送受信部の機能構成のブロック図
【図５】図３のパケット送受信部による送信要求、許可応答、パケットデータ転送のタイムチャート
【図６】図４のパケット送受信無部の詳細を示したブロック図
【図７】本発明によるアンサ系パケットを優先して転送する本発明のパケット転送処理のシーケンス説明図
【図８】図７に続くパケット転送処理のシーケンス説明図
【図９】本発明による内部レジスタアクセス用パケットを優先して転送する本発明のパケット転送処理のシーケンス説明図
【図１０】図９に続くパケット転送処理のシーケンス説明図
【図１１】パケット送受信処理を行う計算機システムの概略構成の説明図
【符号の説明】
１０，１０−１，１０−２：ホスト
１２−１〜１２−４：ＰＣＩバス
１４−１，１４−２：デバイス
１６−１〜１６−ｎ：筐体
１８：パケットバス
２０−１，２０−２：処理モジュール
２２−１，２２−２：デバイスモジュール
２４−１〜２４−４：ＰＣＩブリッジモジュール（外部モジュール）
２６：パケット送受信モジュール
２８−１〜２８−４：パケット送受信部
３２−１，３２−２：メモリモジュール
３４−１，３４−２：主記憶ユニット（ＭＳＵ）
３６−１〜３６−４：ノードＩＤ
４８：パケット送信機能部
５０：パケット受信機能部
５２，７２：パケット受信部
５４：送信パケット優先度判別部
５６，８４：レジスタアクセス系パケットバッファ
５８，８０：コマンド系パケットバッファ
６０，８２：アンサ系パケットバッファ
６２：レジスタアクセス系送信要求生成部
６４：コマンド系送信要求生成部
６６：アンサ系送信要求生成部
６８：パケット送信要求アービタ
７０：パケット送信部
７２：パケット受信部
７４：パケット受信要求アービタ
５４：受信パケット優先度判別部
８２：アンサ系パケットバッファ
８４：レジスタアクセス系送信制御部
８６：コマンド系送信制御部
８８：アンサ系送信制御部
９０：パケット送信制御アービタ
９２：パケット送信エラー検出部
【図１】
0004010438.tif 000002
【図２】
0004010438.tif 000003
【図３】
0004010438.tif 000004
【図４】
0004010438.tif 000005
【図５】
0004010438.tif 000006
【図６】
0004010438.tif 000007
【図７】
0004010438.tif 000008
【図８】
0004010438.tif 000009
【図９】
0004010438.tif 000010
【図１０】
0004010438.tif 000011
【図１１】
0004010438.tif 000012