(57)【要約】      （修正有）【課題】異なるトポロジーのＰＣＩ−Ｅｘｐｒｅｓｓ通信モジュールを接続する場合に、同じターゲットに対する通過経路を判定できるようにする。【解決手段】アドレス変換を行う際、経路毎に異なるアドレスを付与することにより、通過経路を確認することが可能になる。経路毎に異なるアドレスを付与する場合、ルートコンプレックス１２１に到達する最終アドレスが異なるため、同一空間に対するアクセスが別空間にマップされてしまう問題が生じるが、ルートコンプレックスの前段にアドレスフィルタ１２２を接続搭載することにより、同一アドレス空間への変換が可能となる。【選択図】図４
2010237839.tif 000002
【特許請求の範囲】
【請求項１】
外部のルートコンプレックスと第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、前記第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第１の経路を示すパラメータを付与する第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジと、
前記外部のルートコンプレックスと第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、前記第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第２の経路を示すパラメータを付与する第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジと、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方から受け取ったパケットに対して、アドレス範囲を制限するアドレスフィルタと、
前記アドレスフィルタからパケットを受け取るルートコンプレックスと
を含む
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項２】
請求項１に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムであって、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジの各々は、受け取ったパケットに対して、転送先を示すターゲットモジュールアドレスを、前記ルートコンプレックスのアドレス空間を示すローカルアドレスに変換し、経路を示すパラメータとして付与されたルーティングアドレスの内容を、経路に応じた内容に変換する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項３】
請求項２に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムであって、
前記アドレスフィルタは、
アドレス範囲を制限するためのルーティングアドレスの内容を格納するフィルタレジスタ
を有し、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方から受け取ったパケットに対して、前記ルーティングアドレスの内容を、前記フィルタアドレスに格納された内容に置き換える
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムであって、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方からパケットを受け取り、前記受け取ったパケットを前記アドレスフィルタに転送するスイッチと、
前記スイッチと接続し、前記スイッチが受け取ったパケットに付与されたパラメータを記憶するデバイスと
を更に含む
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項５】
請求項４に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムであって、
前記ルートコンプレックスは、前記アドレスフィルタから受け取ったパケットに対して、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラーの有無を確認し、パケットに異常があった場合、前記デバイスに記憶されたパラメータを参照して、問題のある経路を特定する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項６】
請求項５に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムであって、
前記アドレスフィルタは、前記ルートコンプレックスから送出されたパケットを、そのまま前記スイッチに送出し、
前記スイッチは、前記アドレスフィルタから送出されたパケットを、前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのいずれか一方に送出し、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのいずれか一方は、前記スイッチから受け取ったパケットを送出する際、アドレス変換を行わずにパケットを送出する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム。
【請求項７】
外部のルートコンプレックスと第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジとを、第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第１の経路を示すパラメータを付与し、
前記外部のルートコンプレックスと第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジとを、第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、
前記第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第２の経路を示すパラメータを付与し、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方からアドレスフィルタに送出し、前記アドレスフィルタで、パケットのアドレス範囲を制限し、
前記アドレスフィルタからルートコンプレックスにパケットを送出する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【請求項８】
請求項７に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法であって、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジの各々で、受け取ったパケットに対して、転送先を示すターゲットモジュールアドレスを、前記ルートコンプレックスのアドレス空間を示すローカルアドレスに変換し、経路を示すパラメータとして付与されたルーティングアドレスを、経路に応じた内容に変換する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【請求項９】
請求項８に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法であって、
前記アドレスフィルタで、アドレス範囲を制限するためのルーティングアドレスの内容を格納するフィルタレジスタを参照し、前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方から前記アドレスフィルタに送出されたパケットに対して、前記ルーティングアドレスの内容を、前記フィルタアドレスに格納された内容に置き換える
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【請求項１０】
請求項７乃至９のいずれか一項に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法であって、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方からスイッチにパケットを送出し、
前記スイッチに接続されたデバイスで、前記スイッチが受け取ったパケットに付与されたパラメータを記憶し、
前記スイッチから前記アドレスフィルタにパケットを送出する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【請求項１１】
請求項９に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法であって、
前記ルートコンプレックスで、前記アドレスフィルタから受け取ったパケットに対して、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラーの有無を確認し、パケットに異常があった場合、前記デバイスに記憶されたパラメータを参照して、問題のある経路を特定する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【請求項１２】
請求項１１に記載のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法であって、
前記ルートコンプレックスから送出されたパケットを、前記アドレスフィルタを介して、そのまま前記スイッチに送出し、
前記スイッチから、前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのいずれか一方にパケットを送出し、
前記第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び前記第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのいずれか一方からパケットを送出する際、アドレス変換を行わずにパケットを送出する
ＰＣＩ−Ｅｘｐｒｅｓｓ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ−Ｅｘｐｒｅｓｓ通信システムに関し、特に複数のＰＣＩ−Ｅｘｐｒｅｓｓ準拠のデバイスを接続するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムに関する。
【背景技術】
【０００２】
ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）は、３ＧＩＯ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｉ／Ｏ）を標準規格化した、ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｕｓ）に代わるシリアル転送インターフェースである。
【０００３】
現在、ＰＣＩ−Ｅｘｐｒｅｓｓとして、「ＰＣＩ−Ｅｘｐｒｅｓｓ１．１」と、「ＰＣＩ−Ｅｘｐｒｅｓｓ２．０」が知られている。ＰＣＩ−Ｅｘｐｒｅｓｓ２．０は、ＰＣＩ−Ｅｘｐｒｅｓｓ１．１の上位互換となっており、ＰＣＩ−Ｅｘｐｒｅｓｓ１．１用の機器をそのまま接続することができる。
【０００４】
ＰＣＩ−Ｅｘｐｒｅｓｓ１．１で用いられる最小構成の伝送路（レーン）では、片方向２．５Ｇｂｐｓ、双方向５．０Ｇｂｐｓの全二重通信が可能である。また、ＰＣＩ−Ｅｘｐｒｅｓｓ２．０で用いられるレーンでは、片方向５．０Ｇｂｐｓ、双方向１０Ｇｂｐｓの全二重通信が可能である。但し、ＰＣＩ−Ｅｘｐｒｅｓｓによる通信では、８ビットのデータを送るのに、クロック信号等の２ビットを追加した１０ビットを費やす必要がある。そのため、実効データ転送レートは、ＰＣＩ−Ｅｘｐｒｅｓｓ１．１では、片方向２．０Ｇｂｐｓ（２５０ＭＢ／ｓ）、双方向４．０Ｇｂｐｓ（５００ＭＢ／ｓ）となり、ＰＣＩ−Ｅｘｐｒｅｓｓ２．０では、片方向４Ｇｂｐｓ（５００ＭＢ／ｓ）、双方向８Ｇｂｐｓ（１ＧＢ／ｓ）となる。
【０００５】
実際のＰＣＩ−Ｅｘｐｒｅｓｓポートは、このレーンを複数束ねた構成になっていることが多く、１レーンで構成されたＰＣＩ−Ｅｘｐｒｅｓｓポートを「ＰＣＩ−Ｅｘｐｒｅｓｓ  ｘ１」、２レーンで構成されたＰＣＩ−Ｅｘｐｒｅｓｓポートを「ＰＣＩ−Ｅｘｐｒｅｓｓ  ｘ２」といった具合に呼称する。複数のレーンをまとめたものをリンクと呼称する。現在では、ｘ２、ｘ４、ｘ８、ｘ１２、ｘ１６、ｘ３２等の製品が登場している。ＰＣＩ−Ｅｘｐｒｅｓｓは、その高速性を生かして、ビデオカード用インターフェースとして利用されることも多い。
【０００６】
また、ＰＣＩ−Ｅｘｐｒｅｓｓは、ホットプラグ（ｈｏｔ  ｐｌｕｇ）に対応しており、カセット型のハードウェアユニットをコンピュータに差し込んでそのまま使うといった利用形態も可能となっている。ＰＣカードに代わる新しいモバイルパソコン向け拡張カード規格の「ＥｘｐｒｅｓｓＣａｒｄ」では、通信方式に「ＵＳＢ２．０」と並んで「ＰＣＩ−Ｅｘｐｒｅｓｓ  ｘ１」が利用されている。
【０００７】
また、ＰＣＩ−Ｅｘｐｒｅｓｓは、従来の拡張スロットにカードを差し込む接続方法だけでなく、１０ｍまでの長さのメタルケーブルで機器間を接続することができる「ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｃａｂｌｅ」と呼ばれる仕様についても定められている。
【０００８】
更に、現在では、ＰＣＩ−Ｅｘｐｒｅｓｓを用いた通信システム（ＰＣＩ−Ｅｘｐｒｅｓｓ通信システム）が登場している。ＰＣＩ−Ｅｘｐｒｅｓｓ通信システムでは、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチにより各モジュールを接続し、ＰＣＩ−Ｅｘｐｒｅｓｓに基づいてモジュール間の通信を行う。
【０００９】
関連する技術として、特開２００６−３０２２５０号公報（特許文献１）に、ＰＣＩ−Ｅｘｐｒｅｓｓ通信システムが開示されている。このＰＣＩ−Ｅｘｐｒｅｓｓ通信システムでは、データ転送についてのパケットのアドレス部内に、転送先モジュールのノードＩＤと、データ転送に使用するチャネルＩＤと、リクエストであるかレスポンスであるのかを識別するパケットタイプとを設定する。
【００１０】
ネットワーク通信システムにおいては、通信障害発生時のために代替経路を準備する必要がある。
【００１１】
ＰＣＩ−Ｅｘｐｒｅｓｓを使用した通信システムを構築するとき、ターゲットデバイス毎にターゲットアドレスが一意に決定されている。そのため、ＰＣＩ−Ｅｘｐｒｅｓｓを使用した通信システムでは、通信経路毎に異なるターゲットアドレスを設定する必要がある。ＰＣＩ−Ｅｘｐｒｅｓｓの特徴として、アドレス空間が下位デバイス毎に連続している必要がある。これは、ルートコンプレックスから見て、特定経路のアドレス空間は、アドレスの上限と下限のみ設定可能というＰＣＩ−Ｅｘｐｒｅｓｓの仕様による。
【００１２】
また、ルートコンプレックスのアドレス空間は、下位デバイスのアドレス空間に割り当てられていない全てのアドレス空間となる。そのため、あるルートコンプレックスで、他のルートコンプレックスに接続されるＰＣＩ−Ｅｘｐｒｅｓｓスイッチに割り当てられたアドレス空間は、全体のアドレス空間の中で、経路毎に分離されなければならない。
【００１３】
図１は、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ上でのアドレス空間の割り当てを図示したものである。図１では、ルートコンプレックス（ＲＣ）０の制御下のＰＣＩ−Ｅｘｐｒｅｓｓスイッチと、ルートコンプレックス（ＲＣ）４の制御下のＰＣＩ−Ｅｘｐｒｅｓｓスイッチとでアドレス空間が分離されている。ところが、各アドレス空間は、他のルートコンプレックスのＰＣＩ−Ｅｘｐｒｅｓｓスイッチの空間に割り当てられているため、ルートコンプレックスのアドレス空間は含まれないため、そのままでは他のルートコンプレックスへパケットを送付することができない。
【００１４】
従来技術として、ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジでは、異なるトポロジー間を接続する場合、トポロジー毎にアドレス空間を分離するため、ブリッジ内部にアドレス変換機能が搭載されている。
【００１５】
このアドレス変換機能により、異なるトポロジーを持つルートコンプレックス間のパケット送信が可能となる。図２で、ルートコンプレックス（ＲＣ）１から送付されたパケットは、それぞれ、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチのアドレス空間とは異なる、同一のアドレス空間へ変換される。このパケットは、スイッチ等に割り当てられた空間ではないため、ルートコンプレックスへと転送される。
【００１６】
ところが、アドレス変換機能を使用する場合、同じルートコンプレックスのアドレス空間へのパケット送信になるため、ルートコンプレックス側では、送付されてきた経路を判定することが困難になる。
【００１７】
特開２００６−３０２２５０号公報（特許文献１）では、受信先デバイスのアドレスの他に、送信元デバイスのノードＩＤ等を付与する方式が示されているが、複数の通信経路が存在する場合、何れの経路を使用した通信であるかは明らかではない。
【００１８】
また、特開２００６−３０２２５０号公報（特許文献１）には、２つの経路を持つ実施例が図示されているが、どのように経路を切り換えるかの説明が一切なされていない。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００６−３０２２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
ブリッジ内部でアドレス変換を行う際に、経路毎に異なるアドレスを付与することにより、通過経路を確認することが可能となる。図３では、各ブリッジ毎に異なるアドレスを付与した場合を示している。
【００２１】
しかし、ブリッジ内部でアドレス変換を行う際に、経路毎に異なるアドレスを付与する場合、ルートコンプレックスに到達する最終アドレスが異なるため、同一アドレス空間に対するアクセスが別のアドレス空間にマップされてしまう問題が生じる。
【００２２】
この問題の解決方法として、ルートコンプレックスの前段にアドレスフィルタリング機能を持つＰＣＩ−Ｅｘｐｒｅｓｓデバイスを搭載することを提案する。
【課題を解決するための手段】
【００２３】
本発明のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムは、外部のルートコンプレックスと第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第１の経路を示すパラメータを付与する第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジと、外部のルートコンプレックスと第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続し、第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第２の経路を示すパラメータを付与する第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジと、第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方から受け取ったパケットに対して、アドレス範囲を制限するアドレスフィルタと、アドレスフィルタからパケットを受け取るルートコンプレックスとを含む。
【００２４】
本発明のＰＣＩ−Ｅｘｐｒｅｓｓ通信方法では、外部のルートコンプレックスと第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジとを、第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続する。また、第１のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第１の経路を示すパラメータを付与する。また、外部のルートコンプレックスと第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジとを、第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチを介して接続する。また、第２のＰＣＩ−Ｅｘｐｒｅｓｓスイッチから受け取ったパケットに対して、アドレス変換を行い、ターゲットアドレスに第２の経路を示すパラメータを付与する。また、第１のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ及び第２のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジのうち少なくとも一方からアドレスフィルタに送出し、アドレスフィルタで、パケットのアドレス範囲を制限する。また、アドレスフィルタからルートコンプレックスにパケットを送出する。
【発明の効果】
【００２５】
ＰＣＩ−Ｅｘｐｒｅｓｓ通信システムにおいて、アドレス変換を行う際に、同一アドレス空間への変換が可能となる。
【図面の簡単な説明】
【００２６】
【図１】ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ上でのＰＣＩアドレス空間の割当に関する概略図である。
【図２】ＰＣＩ−Ｅｘｐｒｅｓｓスイッチでアドレス変換を行った場合のＰＣＩアドレス空間の例を示す図である。
【図３】経路毎に異なるアドレス付与を行った場合のＰＣＩアドレス空間の例を示す図である。
【図４】本発明の第１実施形態のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムの概要を示す図である。
【図５】本発明の第１実施形態のアドレスフィルタの詳細を示す図である。
【図６】本発明の第１実施形態のＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジの詳細を示す図である。
【図７】本発明におけるＰＣＩアドレスの表示方法を示す図である。
【図８】本発明におけるＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジでのアドレス変換方法を示す図である。
【図９】本発明におけるパケット転送の実施例（スイッチデバイス２１経由の場合）を示す図である。
【図１０】本発明におけるパケット転送の実施例（スイッチデバイス２２経由の場合）を示す図である。
【発明を実施するための形態】
【００２７】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図４を参照すると、本発明のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムは、モジュール１１と、モジュール１２と、モジュール１３と、スイッチデバイス２１と、スイッチデバイス２２を含む。
【００２８】
モジュール１１、モジュール１２、及びモジュール１３は、異なるルートコンプレックスを持つ独立したＰＣＩ−Ｅｘｐｒｅｓｓ通信モジュールである。ここでは、記載の簡略化のため、ＰＣＩ−Ｅｘｐｒｅｓｓ通信モジュールを、モジュールと呼ぶ。
【００２９】
モジュール１１は、ルートコンプレックス（ＲＣ）１１１と、アドレスフィルタ１１２と、スイッチ１１３と、ブリッジ１１４と、ブリッジ１１５と、デバイス１１６と、デバイス１１７を備える。
【００３０】
モジュール１２は、ルートコンプレックス（ＲＣ）１２１と、アドレスフィルタ１２２と、スイッチ１２３と、ブリッジ１２４と、ブリッジ１２５と、デバイス１２６と、デバイス１２７を備える。
【００３１】
モジュール１３は、ルートコンプレックス（ＲＣ）１３１と、アドレスフィルタ１３２と、スイッチ１３３と、ブリッジ１３４と、ブリッジ１３５と、デバイス１３６と、デバイス１３７を備える。
【００３２】
ルートコンプレックス（ＲＣ）１１１、ルートコンプレックス（ＲＣ）１２１、及びルートコンプレックス（ＲＣ）１３１は、異なるルートコンプレックスである。各ルートコンプレックスは、アドレスフィルタリング機構を介してＰＣＩ−Ｅｘｐｒｅｓｓスイッチに接続されている。
【００３３】
ルートコンプレックス（ＲＣ）１１１は、アドレスフィルタ１１２を介して、スイッチ１１３に接続されている。ルートコンプレックス（ＲＣ）１２１は、アドレスフィルタ１２２を介して、スイッチ１２３に接続されている。ルートコンプレックス（ＲＣ）１３１は、アドレスフィルタ１３２を介して、スイッチ１３３に接続されている。
【００３４】
アドレスフィルタ１１２、アドレスフィルタ１２２、及びアドレスフィルタ１３２は、モジュールに搭載されたアドレスフィルタリング機構である。
【００３５】
スイッチ１１３、スイッチ１２３、及びスイッチ１３３は、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチである。ここでは、記載の簡略化のため、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチを、スイッチと呼ぶ。
【００３６】
スイッチ１１３は、アドレスフィルタ１１２、ブリッジ１１４、ブリッジ１１５、デバイス１１６、及びデバイス１１７に接続されている。スイッチ１２３は、アドレスフィルタ１２２、ブリッジ１２４、ブリッジ１２５、デバイス１２６及びデバイス１２７に接続されている。スイッチ１３３は、アドレスフィルタ１３２、ブリッジ１３４、ブリッジ１３５、デバイス１３６、及びデバイス１３７に接続されている。
【００３７】
ブリッジ１１４、ブリッジ１１５、ブリッジ１２４、ブリッジ１２５、ブリッジ１３４、及びブリッジ１３５は、ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジである。ここでは、記載の簡略化のため、ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジを、ブリッジと呼ぶ。
【００３８】
ブリッジ１１４は、モジュール１１をスイッチデバイス２１に接続する。ブリッジ１１５は、モジュール１１をスイッチデバイス２２に接続する。ブリッジ１２４は、モジュール１２をスイッチデバイス２１に接続する。ブリッジ１２５は、モジュール１２をスイッチデバイス２２に接続する。ブリッジ１３４は、モジュール１３をスイッチデバイス２１に接続する。ブリッジ１３５は、モジュール１３をスイッチデバイス２２に接続する。
【００３９】
デバイス１１６、デバイス１１７、デバイス１２６、デバイス１２７、デバイス１３６、及びデバイス１３７は、各モジュールに実装されたＰＣＩ−Ｅｘｐｒｅｓｓデバイスである。
【００４０】
スイッチデバイス２１、及びスイッチデバイス２２は、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチデバイスである。ここでは、記載の簡略化のため、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチデバイスを、スイッチデバイスと呼ぶ。
【００４１】
スイッチデバイス２１は、ルートコンプレックス（ＲＣ）２１１と、スイッチ２１２を備える。
【００４２】
スイッチデバイス２２は、ルートコンプレックス（ＲＣ）２２１と、スイッチ２２２を備える。
【００４３】
ルートコンプレックス（ＲＣ）２１１、及びルートコンプレックス（ＲＣ）２２１は、ルートコンプレックスである。
【００４４】
スイッチ２１２、及びスイッチ２２２は、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチである。
【００４５】
ここでは、モジュール１１、モジュール１２、及びモジュール１３の例として、ＰＣＩ−Ｅｘｐｒｅｓｓを利用する半導体装置や電子回路を想定している。但し、実際には、これらの例に限定されない。
【００４６】
また、スイッチデバイス２１及びスイッチデバイス２２の例として、ＰＣＩ−Ｅｘｐｒｅｓｓ通信に対応し、回線やパケットの交換（スイッチング）機能を持った通信装置や通信回路を想定している。但し、実際には、これらの例に限定されない。
【００４７】
ルートコンプレックス（ＲＣ）１１１、アドレスフィルタ１１２、スイッチ１１３、ブリッジ１１４、ブリッジ１１５、デバイス１１６、デバイス１１７、ルートコンプレックス（ＲＣ）１２１、アドレスフィルタ１２２、スイッチ１２３、ブリッジ１２４、ブリッジ１２５、デバイス１２６、デバイス１２７、ルートコンプレックス（ＲＣ）１３１、アドレスフィルタ１３２、スイッチ１３３、ブリッジ１３４、ブリッジ１３５、デバイス１３６、及びデバイス１３７の各々は、ハードウェア回路でも良いし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等により実行されるプログラムでも良い。
【００４８】
図５は、本発明におけるアドレスフィルタの詳細である。ここでは、アドレスフィルタ１１２を例に説明する。
【００４９】
アドレスフィルタ１１２は、モジュール内接続部１１２１と、アドレスフィルタリング部１１２２と、ルートコンプレックス接続部１１２３を備える。
【００５０】
モジュール内接続部１１２１は、スイッチ１１３からパケットを受け取り、アドレスフィルタリング部１１２２へ送信する。
【００５１】
アドレスフィルタリング部１１２２は、フィルタレジスタ１１２２１を有する。
【００５２】
また、アドレスフィルタリング部１１２２は、モジュール内接続部１１２１からパケットを受け取り、受け取ったパケットからアドレスを抽出し、特定のアドレスビットをフィルタレジスタ１１２２１の内容と置き換える。その後、アドレスフィルタリング部１１２２は、当該パケットをルートコンプレックス接続部１１２３に送出する。
【００５３】
ルートコンプレックス接続部１１２３は、アドレスフィルタリング部１１２２から受け取ったパケットを、ルートコンプレックス（ＲＣ）１１１へ送出する。
【００５４】
また、ルートコンプレックス接続部１１２３は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、そのままモジュール内接続部１１２１へ送出する。このとき、ルートコンプレックス接続部１１２３は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、アドレスフィルタリング部１１２２を経由して、そのままモジュール内接続部１１２１へ送出するようにしても良い。
【００５５】
モジュール内接続部１１２１は、ルートコンプレックス接続部１１２３から受け取ったパケットを、スイッチ１１３へ送信する。
【００５６】
なお、他のアドレスフィルタ（アドレスフィルタ１２２、及びアドレスフィルタ１３２）も、アドレスフィルタ１１２と同様の構成である。
【００５７】
図示しないが、アドレスフィルタ１２２は、モジュール内接続部１２２１と、アドレスフィルタリング部１２２２と、ルートコンプレックス接続部１２２３を備える。
【００５８】
また、アドレスフィルタ１３２は、モジュール内接続部１３２１と、アドレスフィルタリング部１３２２と、ルートコンプレックス接続部１３２３を備える。
【００５９】
モジュール内接続部１２２１及びモジュール内接続部１３２１は、図５に示すモジュール内接続部１１１１に相当する。
【００６０】
アドレスフィルタリング部１２２２及びアドレスフィルタリング部１３２２は、図５に示すアドレスフィルタリング部１１１２に相当する。
【００６１】
ルートコンプレックス接続部１２２３及びルートコンプレックス接続部１３２３は、図５に示すルートコンプレックス接続部１１１３に相当する。
【００６２】
図６は、本発明におけるＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジの詳細である。ここでは、ブリッジ１１４を例に説明する。
【００６３】
ブリッジ１１４は、スイッチ側接続部１１４１と、アドレス変換部１１４２と、モジュール内接続部１１４３と、アドレス変換部１１４４を備える。
【００６４】
スイッチ側接続部１１４１は、スイッチデバイス２１からパケットを受け取り、アドレス変換部１１４２へ送信する。
【００６５】
アドレス変換部１１４２は、変換元アドレスレジスタ１１４２１と、変換アドレスレジスタ１１４２２を有する。
【００６６】
変換元アドレスレジスタ１１４２１は、アドレス変換の対象となるアドレスの上位アドレスを格納している。ここでは、変換元アドレスレジスタ１１４２１は、転送先となるモジュールを示すターゲットモジュールアドレス（Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ）と、経路を示すルーティングアドレス（Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ）用に確保されたアドレスとを含むアドレスを格納している。
【００６７】
変換アドレスレジスタ１１４２２は、ルートコンプレックスのアドレス空間であるローカルアドレス（Ｌｏｃａｌ  Ａｄｄｒｅｓｓ）と、経路を示すルーティングアドレス（Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ）とを含むアドレスを格納している。
【００６８】
アドレス変換部１１４２は、スイッチ側接続部１１４１からパケットを受け取り、受け取ったパケットからアドレスを抽出し、抽出されたアドレスの上位アドレスを、変換元アドレスレジスタ１１４２１に格納されたアドレスと比較する。
【００６９】
また、アドレス変換部１１４２は、パケットの上位アドレスが変換元アドレスレジスタ１１４２１に格納されたアドレスと一致した場合、抽出されたアドレスを変換アドレスレジスタ１１４２２のアドレスと置き換え、パケットを変換する。
【００７０】
更に、アドレス変換部１１４２は、変換されたパケットを、モジュール内接続部１１４３へ送信する。
【００７１】
モジュール内接続部１１４３は、変換されたパケットをスイッチ１１３へ出力する。
【００７２】
また、モジュール内接続部１１４３は、スイッチ１１３からパケットを受信し、アドレス変換部１１４４へ送信する。
【００７３】
アドレス変換部１１４４は、アドレス変換部１１４２と同様の構成である。ここでは、アドレス変換部１１４４は、モジュール内接続部１１４３から受け取ったパケットに対して、アドレス変換を行わずに、当該パケットをそのままスイッチ側接続部１１４１へ送信する。
【００７４】
スイッチ側接続部１１４１は、アドレス変換部１１４４からパケットを受け取り、スイッチデバイス２１へ送信する。
【００７５】
なお、他のブリッジ（ブリッジ１１５、ブリッジ１２４、ブリッジ１２５、ブリッジ１３４、及びブリッジ１３５）も、ブリッジ１１４と同様の構成である。
【００７６】
図示しないが、ブリッジ１１５は、スイッチ側接続部１１５１と、アドレス変換部１１５２と、モジュール内接続部１１５３と、アドレス変換部１１５４を備える。
【００７７】
また、ブリッジ１２４は、スイッチ側接続部１２４１と、アドレス変換部１２４２と、モジュール内接続部１２４３と、アドレス変換部１２４４を備える。
【００７８】
また、ブリッジ１２５は、スイッチ側接続部１２５１と、アドレス変換部１２５２と、モジュール内接続部１２５３と、アドレス変換部１２５４を備える。
【００７９】
また、ブリッジ１３４は、スイッチ側接続部１３４１と、アドレス変換部１３４２と、モジュール内接続部１３４３と、アドレス変換部１３４４を備える。
【００８０】
また、ブリッジ１３５は、スイッチ側接続部１３５１と、アドレス変換部１３５２と、モジュール内接続部１３５３と、アドレス変換部１３５４を備える。
【００８１】
スイッチ側接続部１１５１、スイッチ側接続部１２４１、スイッチ側接続部１２５１、スイッチ側接続部１３４１、及びスイッチ側接続部１３５１は、図６に示すスイッチ側接続部１１４１に相当する。
【００８２】
アドレス変換部１１５２、アドレス変換部１２４２、アドレス変換部１２５２、アドレス変換部１３４２、及びアドレス変換部１３５２は、図６に示すアドレス変換部１１４２に相当する。
【００８３】
モジュール内接続部１１５３、モジュール内接続部１２４３、モジュール内接続部１２５３、モジュール内接続部１３４３、及びモジュール内接続部１３５３は、図６に示すモジュール内接続部１１４３に相当する。
【００８４】
アドレス変換部１１５４、アドレス変換部１２４４、アドレス変換部１２５４、アドレス変換部１３４４、及びアドレス変換部１３５４は、図６に示すアドレス変換部１１４４に相当する。
【００８５】
図７は、本発明におけるアドレス空間の例である。
【００８６】
このアドレス空間は、ターゲットアドレスのアドレス空間である。ターゲットアドレスのアドレス空間には、上位側に、転送先を示す「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」に続いて、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」、「Ｔａｒｇｅｔ  Ａｄｄｒｅｓｓ」を設定する。
【００８７】
「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」は、転送先となるモジュールのアドレス空間である。
【００８８】
「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は、パケットが経由してきた経路を示す経路情報を格納するアドレス空間である。
【００８９】
「Ｔａｒｇｅｔ  Ａｄｄｒｅｓｓ」は、ターゲットとなるルートコンプレックスのアドレス空間である。
【００９０】
なお、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の表示領域のサイズは、使用する経路の数を区別するのに必要な領域を確保する必要がある。
【００９１】
本実施形態では、１つのモジュールにつきＰＣＩ−Ｅｘｐｒｅｓｓ通信の経路は２つのみであるため、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の表示領域は、「１ｂｉｔ」で十分である。
【００９２】
ここでは、スイッチデバイス２１を経由する経路の場合、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は「０」とする。また、スイッチデバイス２２を経由する経路の場合、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は「１」とする。但し、実際には、送信前の初期状態の「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は「０（未設定）」として、スイッチデバイス２１を経由する経路の場合、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は「０ｂ０」とし、スイッチデバイス２２を経由する経路の場合、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は「０ｂ１」とするようにしても良い。
【００９３】
なお、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の表示領域に、経路数以上の冗長性を持たせることも可能である。
【００９４】
また、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」、又は「Ｔａｒｇｅｔ  Ａｄｄｒｅｓｓ」の一部を、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」として用いることも考えられる。
【００９５】
図８は、ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジでのアドレス変換の方法を示した図である。
【００９６】
本発明におけるＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジの各々（ブリッジ１１４、ブリッジ１１５、ブリッジ１２４、ブリッジ１２５、ブリッジ１３４、及びブリッジ１３５）は、受け取ったパケットに対して、各モジュール毎に割り振られた「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」を、ルートコンプレックスのアドレス空間である「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」に変換する。また、各ブリッジは、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を、当該パケットの経路情報を示す「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」に変換する。
【００９７】
「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」は、ルートコンプレックスのアドレス空間を示す。ここでは、「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」は、当該モジュールのアドレス空間におけるルートコンプレックスのアドレス空間を示す。
【００９８】
例えば、各ブリッジは、スイッチデバイスから受け取ったパケットに対して、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」（０ｂ０１０）を、「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」（０ｂ１１１）に変換する。
【００９９】
また、各ブリッジは、スイッチデバイスから受け取ったパケットに対して、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」（０）を、当該スイッチデバイスを含む経路を示す「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」（０ｂ０、又は０ｂ１）に変換する。
【０１００】
なお、各ブリッジは、スイッチデバイスから受け取ったパケットに対して、「Ｔａｒｇｅｔ  Ａｄｄｒｅｓｓ」（０ｘ０４０００００Ｆ＿２４００００００）を、変換せずに、そのまま保持する。但し、実際には、これらの例に限定されない。
【０１０１】
図９及び図１０を用いて、本発明の動作を説明する。
ここでは、ルートコンプレックス（ＲＣ）１１１からルートコンプレックス（ＲＣ）１２１へパケットを送信する事例について説明する。
【０１０２】
図９は、スイッチデバイス２１を経由した場合の動作である。
【０１０３】
ルートコンプレックス（ＲＣ）１１１は、ルートコンプレックス（ＲＣ）１２１へパケットを送信する際、パケットのアドレスに、ターゲットであるルートコンプレックス（ＲＣ）１２１を含むモジュール１２を示す「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」を設定し、パケットを送出する。
【０１０４】
すなわち、ルートコンプレックス（ＲＣ）１１１から送出されたパケットのアドレス空間には、モジュール１２を示す「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」が設定されている。
【０１０５】
アドレスフィルタ１１２は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、そのままスイッチ１１３へ送信する。このとき、図５に示すアドレスフィルタ１１２において、ルートコンプレックス接続部１１２３は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、そのままモジュール内接続部１１２１へ送出する。モジュール内接続部１１２１は、当該パケットを、そのままスイッチ１１３へ送信する。
【０１０６】
ここでは、スイッチ１１３は、アドレスフィルタ１１２から受け取ったパケットを、ブリッジ１１４へ送信する。なお、スイッチ１１３がパケットをブリッジ１１４又はブリッジ１１５のどちらへ送信するかについては、ＰＣＩ−Ｅｘｐｒｅｓｓ通信における経路選択に関する既存技術で対応できるため、説明を省略する。
【０１０７】
ブリッジ１１４は、スイッチ１１３からパケットを受け取ると、アドレス変換を行わずに、当該パケットを、そのままスイッチデバイス２１に送信する。
【０１０８】
スイッチ２１２は、ブリッジ１１４からのパケットを受信する。
【０１０９】
スイッチ２１２は、パケットのアドレス空間を参照し、転送先となるモジュールを決定し、パケットを転送する。「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」は、モジュール１２を示しているため、スイッチ２１２は、モジュール１２に、パケットを転送する。
【０１１０】
ブリッジ１２４は、スイッチ２１２からのパケットを受信し、受信されたパケットに対して、内部でアドレス変換を行い、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」を「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」に変換する。また、ブリッジ１２４は、スイッチデバイス２１を経由する経路から当該パケットを受信しているため、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を現在の値「０」から当該経路を示す値「０」へ変換する。ここでは、ブリッジ１２４は、外部のスイッチデバイスからパケットを受信する際、必ずスイッチデバイス２１からパケットを受信するため、受信されたパケット「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を無条件で「０」へ変換するようにしても良い。その後、ブリッジ１２４は、パケットをスイッチ１２３へ送信する。
【０１１１】
このとき、ブリッジ１２４内において、スイッチ側接続部１２４１は、スイッチデバイス２１からパケットを受け取り、アドレス変換部１２４２へ送信する。
【０１１２】
アドレス変換部１２４２は、変換元アドレスレジスタ１２４２１と、変換アドレスレジスタ１２４２２を有する。変換元アドレスレジスタ１２４２１は、変換元アドレスレジスタ１１４２１に相当する。変換アドレスレジスタ１２４２２に相当する。
【０１１３】
アドレス変換部１２４２は、スイッチ側接続部からパケットを受け取り、受け取ったパケットからアドレスを抽出し、抽出されたアドレス「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」の上位アドレスを、変換元アドレスレジスタ１２４２１に格納されたアドレスと比較する。
【０１１４】
ここでは、変換元アドレスレジスタ１２４２１は、事前に、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」の上位アドレスを格納しているものとする。
【０１１５】
アドレス変換部１２４２は、パケットの上位アドレスが変換元アドレスレジスタ１２４２１に格納されたアドレスと一致した場合、抽出されたアドレスを、変換アドレスレジスタ１２４２２のアドレス「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」と置き換え、パケットを変換する。
【０１１６】
ここでは、変換アドレスレジスタ１２４２２は、事前に、「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」のアドレスを格納しているものとする。
【０１１７】
また、アドレス変換部１２４２は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を、現在の値「０」から、スイッチデバイス２１を経由する経路を示す値「０」へ変換する。なお、スイッチデバイス２１を経由する経路を示す値「０」は、変換アドレスレジスタ１２４２２に格納されていても良い。
【０１１８】
その後、アドレス変換部１２４２は、変換されたパケットを、モジュール内接続部１２４３へ送信する。
【０１１９】
モジュール内接続部１２４３は、変換されたパケットをスイッチ１２３へ出力する。
【０１２０】
スイッチ１２３は、ブリッジ１２４から受け取ったパケットを、アドレスフィルタ１２２へ送信する。このとき、スイッチ１２３は、ブリッジ１２４から受け取ったパケットを、デバイス１１６やデバイス１１７へ送信する。ここでは、デバイス１１６及びデバイス１１７のうち少なくとも１つは、メモリ、バッファ、又はレジスタ等であり、ブリッジ１２４により変換された「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を格納する。格納される「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値は、「０」である。
【０１２１】
ここで、ブリッジ１２４により「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」が変換された場合、パケットのアドレス範囲が異常となり、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：巡回冗長検査）等のエラーチェック等が正確にできなくなる可能性がある。そのため、アドレスフィルタ１２２では、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値を変換前の値に戻し、アドレス範囲を制限する。
【０１２２】
アドレスフィルタ１２２は、アドレス範囲を制限するために、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を「０」へ置き換え、ルートコンプレックス（ＲＣ）１２１へパケットを送信する。
【０１２３】
このとき、アドレスフィルタ１２２内において、モジュール内接続部１２２１は、スイッチ１２３からパケットを受け取り、アドレスフィルタリング部１２２２へ送信する。
【０１２４】
アドレスフィルタリング部１２２２は、フィルタレジスタ１２２２１を有する。フィルタレジスタ１２２２１は、図５に示すフィルタレジスタ１１２２１に相当する。
【０１２５】
ここでは、フィルタレジスタ１２２２１は、アドレス範囲を制限するための「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値として、「０」を格納している。なお、フィルタレジスタ１２２２１は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値を、事前に格納していても良いし、ブリッジ１２４によるアドレス変換の際にブリッジ１２４から変換前の値を受け取るようにしても良い。
【０１２６】
アドレスフィルタリング部１２２２は、モジュール内接続部１２２１からパケットを受け取り、受け取ったパケットからアドレスを抽出し、特定のアドレスビット「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」をフィルタレジスタ１２２２１の内容「０」と置き換える。ここでは、アドレスフィルタリング部１２２２は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を、「０」から「０」に変換する。
【０１２７】
その後、アドレスフィルタリング部１２２２は、当該パケットをルートコンプレックス接続部１２２３に送出する。
【０１２８】
ルートコンプレックス接続部１２２３は、アドレスフィルタリング部１２２２から受け取ったパケットを、ルートコンプレックス（ＲＣ）１２１へ送出する。
【０１２９】
ルートコンプレックス（ＲＣ）１２１は、アドレスフィルタ１２２からパケットを受け取る。図示しないが、ルートコンプレックス（ＲＣ）１２１は、当該パケットを、ＣＰＵに送出しても良い。ルートコンプレックス（ＲＣ）１２１は、パケットを受け取ると、パケットのアドレス空間を参照し、ＣＲＣ等のエラーチェックを行い、パケットに異常が合った際に、デバイス１１６及びデバイス１１７のうち少なくとも１つに格納された「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を参照し、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」に基づいて、問題のある経路を特定する。
【０１３０】
なお、この事例では、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」は、対外的には変化していないと言える。
【０１３１】
図１０は、スイッチデバイス２２を経由した場合の動作である。
【０１３２】
ルートコンプレックス（ＲＣ）１１１は、ルートコンプレックス（ＲＣ）１２１へパケットを送信する際、パケットのアドレスに、ターゲットであるルートコンプレックス（ＲＣ）１２１を含むモジュール１２を示す「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」を設定し、パケットを送出する。
【０１３３】
すなわち、ルートコンプレックス（ＲＣ）１１１から送出されたパケットのアドレス空間には、モジュール１２を示す「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」が設定されている。
【０１３４】
アドレスフィルタ１１２は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、そのままスイッチ１１３へ送信する。このとき、図５に示すアドレスフィルタ１１２において、ルートコンプレックス接続部１１２３は、ルートコンプレックス（ＲＣ）１１１から受け取ったパケットを、そのままモジュール内接続部１１２１へ送出する。モジュール内接続部１１２１は、当該パケットを、そのままスイッチ１１３へ送信する。
【０１３５】
ここでは、スイッチ１１３は、アドレスフィルタ１１２から受け取ったパケットを、ブリッジ１１５へ送信する。なお、スイッチ１１３がパケットをブリッジ１１５又はブリッジ１１５のどちらへ送信するかについては、ＰＣＩ−Ｅｘｐｒｅｓｓ通信における経路選択に関する既存技術で対応できるため、説明を省略する。
【０１３６】
ブリッジ１１５は、スイッチ１１３からパケットを受け取ると、アドレス変換を行わずに、当該パケットを、そのままスイッチデバイス２２に送信する。
【０１３７】
スイッチ２２２は、ブリッジ１１５からのパケットを受信する。
【０１３８】
スイッチ２２２は、パケットのアドレス空間を参照し、転送先となるモジュールを決定し、パケットを転送する。「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」は、モジュール１２を示しているため、スイッチ２２２は、モジュール１２に、パケットを転送する。
【０１３９】
ブリッジ１２５は、スイッチ２２２からのパケットを受信し、受信されたパケットに対して、内部でアドレス変換を行い、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」を「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」に変換する。また、ブリッジ１２５は、スイッチデバイス２２を経由する経路から当該パケットを受信しているため、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を現在の値「０」から当該経路を示す値「１」へ変換する。ここでは、ブリッジ１２５は、外部のスイッチデバイスからパケットを受信する際、必ずスイッチデバイス２２からパケットを受信するため、受信されたパケット「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を無条件で「１」へ変換するようにしても良い。その後、ブリッジ１２５は、パケットをスイッチ１２３へ送信する。
【０１４０】
このとき、ブリッジ１２５内において、スイッチ側接続部１２５１は、スイッチデバイス２２からパケットを受け取り、アドレス変換部１２５２へ送信する。
【０１４１】
アドレス変換部１２５２は、変換元アドレスレジスタ１２５２１と、変換アドレスレジスタ１２５２２を有する。変換元アドレスレジスタ１２５２１は、変換元アドレスレジスタ１１５２１に相当する。変換アドレスレジスタ１２５２２に相当する。
【０１４２】
アドレス変換部１２５２は、スイッチ側接続部からパケットを受け取り、受け取ったパケットからアドレスを抽出し、抽出されたアドレス「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」の上位アドレスを、変換元アドレスレジスタ１２５２１に格納されたアドレスと比較する。
【０１４３】
ここでは、変換元アドレスレジスタ１２５２１は、事前に、「Ｔａｒｇｅｔ  Ｍｏｄｕｌｅ  Ａｄｄｒｅｓｓ」の上位アドレスを格納しているものとする。
【０１４４】
アドレス変換部１２５２は、パケットの上位アドレスが変換元アドレスレジスタ１２５２１に格納されたアドレスと一致した場合、抽出されたアドレスを、変換アドレスレジスタ１２５２２のアドレス「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」と置き換え、パケットを変換する。
【０１４５】
ここでは、変換アドレスレジスタ１２５２２は、事前に、「Ｌｏｃａｌ  Ａｄｄｒｅｓｓ」のアドレスを格納しているものとする。
【０１４６】
また、アドレス変換部１２５２は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を、現在の値「０」から、スイッチデバイス２２を経由する経路を示す値「１」へ変換する。なお、スイッチデバイス２２を経由する経路を示す値「１」は、変換アドレスレジスタ１２５２２に格納されていても良い。
【０１４７】
その後、アドレス変換部１２５２は、変換されたパケットを、モジュール内接続部１２５３へ送信する。
【０１４８】
モジュール内接続部１２５３は、変換されたパケットをスイッチ１２３へ出力する。
【０１４９】
スイッチ１２３は、ブリッジ１２５から受け取ったパケットを、アドレスフィルタ１２２へ送信する。このとき、スイッチ１２３は、ブリッジ１２５から受け取ったパケットを、デバイス１１６やデバイス１１７へ送信する。ここでは、デバイス１１６及びデバイス１１７のうち少なくとも１つは、メモリ、バッファ、又はレジスタ等であり、ブリッジ１２５により変換された「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を格納する。格納される「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値は、「１」である。
【０１５０】
アドレスフィルタ１２２は、アドレス範囲を制限するために、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を「０」へ置き換え、ルートコンプレックス（ＲＣ）１２１へパケットを送信する。
【０１５１】
このとき、アドレスフィルタ１２２内において、モジュール内接続部１２２１は、スイッチ１２３からパケットを受け取り、アドレスフィルタリング部１２２２へ送信する。
【０１５２】
アドレスフィルタリング部１２２２は、フィルタレジスタ１２２２１を有する。フィルタレジスタ１２２２１は、図５に示すフィルタレジスタ１１２２１に相当する。
【０１５３】
ここでは、フィルタレジスタ１２２２１は、アドレス範囲を制限するための「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値として、「０」を格納している。なお、フィルタレジスタ１２２２１は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」の値を、事前に格納していても良いし、ブリッジ１２５によるアドレス変換の際にブリッジ１２５から変換前の値を受け取るようにしても良い。
【０１５４】
アドレスフィルタリング部１２２２は、モジュール内接続部１２２１からパケットを受け取り、受け取ったパケットからアドレスを抽出し、特定のアドレスビット「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」をフィルタレジスタ１２２２１の内容「０」と置き換える。ここでは、アドレスフィルタリング部１２２２は、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を、「１」から「０」に変換する。
【０１５５】
その後、アドレスフィルタリング部１２２２は、当該パケットをルートコンプレックス接続部１２２３に送出する。
【０１５６】
ルートコンプレックス接続部１２２３は、アドレスフィルタリング部１２２２から受け取ったパケットを、ルートコンプレックス（ＲＣ）１２１へ送出する。
【０１５７】
ルートコンプレックス（ＲＣ）１２１は、アドレスフィルタ１２２からパケットを受け取る。図示しないが、ルートコンプレックス（ＲＣ）１２１は、当該パケットを、ＣＰＵに送出しても良い。ルートコンプレックス（ＲＣ）１２１は、パケットを受け取ると、パケットのアドレス空間を参照し、ＣＲＣ等のエラーチェックを行い、パケットに異常が合った際に、デバイス１１６及びデバイス１１７のうち少なくとも１つに格納された「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」を参照し、「Ｒｏｕｔｉｎｇ  Ａｄｄｒｅｓｓ」に基づいて、問題のある経路を特定する。
【０１５８】
以上のように、本発明は、経路情報を付与するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムに関する。
【０１５９】
ネットワーク通信システムにおいては、通信障害発生時のために代替経路を準備する必要がある。異なるトポロジーのＰＣＩ−Ｅｘｐｒｅｓｓ通信モジュールを接続する場合、ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジでは、トポロジー毎にアドレス空間を分離するため、ブリッジ内部にアドレス変換機能が搭載されているが、同じターゲットに対するアドレスが経路によらず同じになるため、通信経路が判定できないという問題がある。
【０１６０】
この問題を解決するため、本発明では、ＰＣＩ−Ｅｘｐｒｅｓｓスイッチでアドレス変換を行う際に、ルートコンプレックスのアドレス空間の範囲内で、経路毎に割り当てるアドレス空間が異なるよう、アドレス変換を行う。
【０１６１】
本発明のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムは、複数のＰＣＩ−Ｅｘｐｒｅｓｓ接続ポートを有するＰＣＩ−Ｅｘｐｒｅｓｓスイッチを複数有する。また、複数のルートコンプレックスを有する。また、あるルートコンプレックスが属するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムと、別のルートコンプレックスが属するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムとを相互に接続する機能を持つＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジを有する。また、ルートコンプレックスに入力されるパケットに対して、アドレス範囲を制限するアドレスフィルタリング機能を有する。また、あるルートコンプレックスから別のルートコンプレックスへ至る経路が複数存在し、上記異なる経路を使用する場合、ターゲットアドレスに経路毎のパラメータを付与する機能を有する。
【０１６２】
本発明のＰＣＩ−Ｅｘｐｒｅｓｓ通信システムは、複数のＰＣＩ−Ｅｘｐｒｅｓｓ接続ポートを有するＰＣＩ−Ｅｘｐｒｅｓｓスイッチを複数有する。また、複数のルートコンプレックスを有する。また、あるルートコンプレックスが属するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムと、別のルートコンプレックスが属するＰＣＩ−Ｅｘｐｒｅｓｓ通信システムとを相互に接続する機能を持つＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジを有する。また、上記ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジを経由するパケットに対して、アドレス変換を行う機能を有する。また、ルートコンプレックスに入力されるパケットに対して、アドレス範囲を制限するアドレスフィルタリング機能を有する。また、あるルートコンプレックスから別のルートコンプレックスへ至る経路が複数存在し、上記異なる経路を使用する場合、ターゲットアドレスに経路毎のパラメータを付与する機能を有する。
【０１６３】
本発明では、アドレス変換を行う際、経路毎に異なるアドレスを付与することにより、通過経路を確認することが可能となる。アドレス変換を行う際に、経路毎に異なるアドレスを付与する場合、ルートコンプレックスに到達する最終アドレスが異なるため、同一空間に対するアクセスが別空間にマップされてしまう問題が生じる。この問題は、ルートコンプレックスの前段にアドレスフィルタリング機能を持つＰＣＩ−Ｅｘｐｒｅｓｓデバイスを搭載することにより、同一アドレス空間への変換が可能となる。
【０１６４】
また、本発明では、パケットを受信したルートコンプレックス側で経路情報を入手することにより、ＣＲＣエラー等、パケットに異常が合った際に、問題のある経路を特定することが可能となる。また、問題のある経路が判明することによりパス切換えを行うことで、障害を事前に回避することが可能となる。
【０１６５】
ここでは、ＰＣＩ−Ｅｘｐｒｅｓｓの使用を例に説明しているが、実際には、ＰＣＩ−Ｅｘｐｒｅｓｓ自体に限定されるものではなく、ＰＣＩ−Ｅｘｐｒｅｓｓを拡張、応用、又は発展させた規格、或いは、ＰＣＩ−Ｅｘｐｒｅｓｓと類似の規格を使用しても良い。
【０１６６】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【０１６７】
１１，１２，１３…  モジュール
１１１，１２１，１３１…  ルートコンプレックス（ＲＣ）
１１２，１２２，１３２…  アドレスフィルタ
１１２１，１２２１，１３２１…  モジュール内接続部
１１２２，１２２２，１３２２…  アドレスフィルタリング部
１１２２１，１２２２１，１３２２１…  フィルタレジスタ
１１２３，１２２３，１３２３…  ルートコンプレックス接続部
１１３，１２３，１３３…  スイッチ（ＰＣＩ−Ｅｘｐｒｅｓｓスイッチ）
１１４，１２４，１３４…  ブリッジ（ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ）
１１４１，１２４１，１３４１…  スイッチ側接続部
１１４２，１２４２，１３４２…  アドレス変換部
１１４２１，１２４２１，１３４２１…  変換元アドレスレジスタ
１１４２２，１２４２２，１３４２２…  変換アドレスレジスタ
１１４３，１２４３，１３４３…  モジュール内接続部
１１４４，１２４４，１３４４…  アドレス変換部
１１５，１２５，１３５…  ブリッジ（ＰＣＩ−Ｅｘｐｒｅｓｓ＝ＰＣＩ−Ｅｘｐｒｅｓｓブリッジ）
１１５１，１２５１，１３５１…  スイッチ側接続部
１１５２，１２５２，１３５２…  アドレス変換部
１１５２１，１２５２１，１３５２１…  変換元アドレスレジスタ
１１５２２，１２５２２，１３５２２…  変換アドレスレジスタ
１１５３，１２５３，１３５３…  モジュール内接続部
１１５４，１２５４，１３５４…  アドレス変換部
１１６，１２６，１３６…  デバイス
１１７，１２７，１３７…  デバイス
２１，２２…  スイッチデバイス
２１１，２２１…  ルートコンプレックス（ＲＣ）
２１２，２２２…  スイッチ
【図１】
2010237839.tif 000003
【図２】
2010237839.tif 000004
【図３】
2010237839.tif 000005
【図４】
2010237839.tif 000006
【図５】
2010237839.tif 000007
【図６】
2010237839.tif 000008
【図７】
2010237839.tif 000009
【図８】
2010237839.tif 000010
【図９】
2010237839.tif 000011
【図１０】
2010237839.tif 000012