(57)【要約】【課題】周辺装置を複数のCPU間で共有するためにCPUと周辺装置を分散してネットワークに接続したシステムにおいて、CPUや周辺装置をネットワークに接続するブリッジの回路規模を削減する。【解決手段】複数の周辺装置109を複数のCPU101の任意の1つに接続する、イーサネットを介したPCIエクスプレススイッチ104は、複数の上流及び下流PCIエクスプレス-ネットワークブリッジ105、108と、イーサネットスイッチ106と、システムマネージャ107とから構成される。各上流及び下流PCIエクスプレス-ネットワークブリッジ105、108は、PCIエクスプレスバスを終端するPCIエクスプレスアダプタと、イーサネットスイッチ106との間のリンクを終端するネットワークアダプタと、TLPをそのあて先が接続するブリッジのMACアドレスをあて先とするフレームにカプセル化して送受信する制御部とを備える。【選択図】図１
2011100470.tif 000002
【特許請求の範囲】
【請求項１】
第一のPCIエクスプレス−ネットワークブリッジと、
前記第一のPCIエクスプレス−ネットワークブリッジにネットワークを介して接続される第二のPCIエクスプレス−ネットワークブリッジとを備え、
前記第一及び第二のPCIエクスプレス−ネットワークブリッジは、
P  CIエクスプレスバスを終端するPCIエクスプレスアダプタと、
前記PCIエクスプレスアダプタから受信したパケットを、前記パケットのあて先に対応する物理アドレスを用いて前記ネットワークのフレームにカプセル化して送信する制御部と
を備えることを特徴とするスイッチ。
【請求項２】
前記制御部は、
前記PCIエクスプレスバスから受信したパケットのあて先を検出し、
前記ネットワークへ送信すべきあて先のパケットは、前記パケットのあて先であるブリッジの物理アドレスを用いて前記ネットワークのフレームにカプセル化して前記ネットワークに送信し、
前記ネットワークから受信したフレームをディカプセル化したパケットのあて先を検出し、
前記PCIエクスプレスバスへ送信すべきあて先のパケットは前記PCIエクスプレスアダプタを介して前記PCIエクスプレスバスに送信すること
を特徴とする請求項１記載のスイッチ。
【請求項３】
前記制御部は、
PCIエクスプレス構成空間レジスタと、
前記パケットのあて先に対応する物理アドレスを保持するパケットカプセル化テーブルと、
前記パケットを前記パケットのあて先に対応して前記パケットカプセル化テーブルに保持された物理アドレスを用いて前記ネットワークのフレームにカプセル化するパケットカプセル化ユニットと、
前記フレームから前記パケットをディカプセル化するディカプセル化ユニットと、
前記ディカプセル化ユニットから出力された前記パケットを、前記PCIエクスプレス構成空間レジスタを参照して、前記パケットのあて先へ転送するパケット転送ロジックと、
前記パケットカプセル化ユニットから出力されたフレームを前記フレームのあて先へ転送するフレーム転送ロジックと
を備えることを特徴とする請求項２記載のスイッチ。
【請求項４】
前記制御部は、さらに、
PCIエクスプレス空間の再構成のために、前記パケットから周辺装置に割り当てられたあて先情報を検出し、前記検出したあて先情報と前記周辺装置が接続するブリッジの物理アドレスとの対応関係を前記パケットカプセル化テーブルに登録するPCIエクスプレス−ネットワークブリッジ制御ロジックを備えることを特徴とする請求項３記載のスイッチ。
【請求項５】
前記ネットワークがイーサネット（登録商標）であること
を特徴とする請求項１乃至４の何れか１項に記載のスイッチ。
【請求項６】
どの前記第一のPCIエクスプレスブリッジとどの前記第二のPCIエクスプレスブリッジとを接続させるかを管理するマネージャー手段
を備えることを特徴とする請求項１乃至５の何れか１項に記載のスイッチ。
【請求項７】
PCIエクスプレスバスを終端するPCIエクスプレスアダプタと、
前記PCIエクスプレスアダプタから受信したパケットを、前記パケットのあて先に対応する物理アドレスを用いてネットワークのフレームにカプセル化して送信する制御部と
を備えることを特徴とするネットワークブリッジ装置。
【請求項８】
前記制御部は、
前記PCIエクスプレスバスから受信したパケットのあて先を検出し、
前記ネットワークへ送信すべきあて先のパケットは、前記パケットのあて先であるブリッジの物理アドレスを用いて前記ネットワークのフレームにカプセル化して前記ネットワークに送信し、
前記ネットワークから受信したフレームをディカプセル化したパケットのあて先を検出し、
前記PCIエクスプレスバスへ送信すべきあて先のパケットは前記PCIエクスプレスアダプタを介して前記PCIエクスプレスバスに送信すること
を特徴とする請求項７記載のネットワークブリッジ装置。
【請求項９】
前記制御部は、
PCIエクスプレス構成空間レジスタと、
前記パケットのあて先に対応する物理アドレスを保持するパケットカプセル化テーブルと、
前記パケットを前記パケットのあて先に対応して前記パケットカプセル化テーブルに保持された物理アドレスを用いて前記ネットワークのフレームにカプセル化するパケットカプセル化ユニットと、
前記フレームから前記パケットをディカプセル化するディカプセル化ユニットと、
前記ディカプセル化ユニットから出力された前記パケットを、前記PCIエクスプレス構成空間レジスタを参照して、前記パケットのあて先へ転送するパケット転送ロジックと、
前記パケットカプセル化ユニットから出力されたフレームを前記フレームのあて先へ転送するフレーム転送ロジックと
を備えることを特徴とする請求項８記載のネットワークブリッジ装置。
【請求項１０】
前記制御部は、さらに、
PCIエクスプレス空間の再構成のために、前記パケットから周辺装置に割り当てられたあて先情報を検出し、前記検出したあて先情報と前記周辺装置が接続するブリッジの物理アドレスとの対応関係を前記パケットカプセル化テーブルに登録するPCIエクスプレス−ネットワークブリッジ制御ロジックを備えることを特徴とする請求項９記載のネットワークブリッジ装置。
【請求項１１】
前記ネットワークがイーサネット（登録商標）であること
を特徴とする請求項７乃至１０の何れか１項に記載のネットワークブリッジ装置。
【請求項１２】
コンピュータを、
PCIエクスプレスバスを終端するPCIエクスプレスアダプタと、
前記PCIエクスプレスアダプタから受信したパケットを、前記パケットのあて先に対応する物理アドレスを用いてネットワークのフレームにカプセル化して送信する制御部と
して機能させるためのプログラム。
【請求項１３】
前記制御部は、
前記PCIエクスプレスバスから受信したパケットのあて先を検出し、
前記ネットワークへ送信すべきあて先のパケットは、前記パケットのあて先であるブリッジの物理アドレスを用いて前記ネットワークのフレームにカプセル化して前記ネットワークに送信し、
前記ネットワークから受信したフレームをディカプセル化したパケットのあて先を検出し、
前記PCIエクスプレスバスへ送信すべきあて先のパケットは前記PCIエクスプレスアダプタを介して前記PCIエクスプレスバスに送信すること
を特徴とする請求項１２記載のプログラム。
【請求項１４】
前記制御部は、
PCIエクスプレス構成空間レジスタと、
前記パケットのあて先に対応する物理アドレスを保持するパケットカプセル化テーブルと、
前記パケットを前記パケットのあて先に対応して前記パケットカプセル化テーブルに保持された物理アドレスを用いて前記ネットワークのフレームにカプセル化するパケットカプセル化ユニットと、
前記フレームから前記パケットをディカプセル化するディカプセル化ユニットと、
前記ディカプセル化ユニットから出力された前記パケットを、前記PCIエクスプレス構成空間レジスタを参照して、前記パケットのあて先へ転送するパケット転送ロジックと、
前記パケットカプセル化ユニットから出力されたフレームを前記フレームのあて先へ転送するフレーム転送ロジックと
を備えることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記制御部は、さらに、
PCIエクスプレス空間の再構成のために、前記パケットから周辺装置に割り当てられたあて先情報を検出し、前記検出したあて先情報と前記周辺装置が接続するブリッジの物理アドレスとの対応関係を前記パケットカプセル化テーブルに登録するPCIエクスプレス−ネットワークブリッジ制御ロジックを備えることを特徴とする請求項１４記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置を複数のCPU間で共有するためにCPUと周辺装置を分散してネットワークに接続したシステムに関し、特にネットワークを介したPCIエクスプレススイッチを介して複数のCPUと周辺装置を接続したシステムに関する。
【背景技術】
【０００２】
中央演算装置(CPU)と、ストレージ装置やネットワークインタフェースカード(NIC)などの周辺装置とを接続するバス規格として、ペリフェラルコンポーネントインターコネクト(PCI)が広く普及している。このPCIの次世代規格として、PCIのパラレルバスをシリアル化し、通信をスイッチングを伴うパケット方式で行うPCIエクスプレスが標準化されている。このPCIエクスプレスにより形成されるPCIエクスプレススイッチネットワークの一例が、非特許文献1に記載されている。
【０００３】
図10を参照すると、非特許文献1に記載されるPCIエクスプレススイッチネットワークは、CPU101と、チップセットで実現されるルートコンプレックス102と、メモリ103と、PCIエクスプレススイッチ801と、周辺装置109とから構成される。
【０００４】
CPU101とルートコンプレックス102との間及びルートコンプレックス102とメモリ103との間は、PCIエクスプレスと異なる高速通信方式で結ばれる。一方、ルートコンプレックス102とPCIエクスプレススイッチ801との間及びPCIエクスプレススイッチ801と周辺装置109との間はPCIエクスプレスバスで結ばれており、PCIエクスプレスに従った通信方式で通信する。
【０００５】
ルートコンプレックス102は、CPU101からの命令を受け、CPU101と周辺装置109との間のピアツーピア通信、メモリ103と周辺装置109との間のピアツーピア通信の転送を行う。このとき、ルートコンプレックス102と周辺装置109との間で、PCIエクスプレスのパケット(TLP：Transaction Layer Pakcet)を用いて通信が行われる。従って、PCIエクスプレススイッチネットワークは、ルートコンプレックス102を木構造のルートとし、周辺装置109をリーフとする、階層型ネットワークを形成する。この意味で、PCIエクスプレススイッチネットワークにおいて、ルートコンプレックス102側を上流、周辺装置109側を下流と呼ぶ。
【０００６】
また、PCIエクスプレススイッチ801は、自スイッチの各ポートから受信したTLPを、あて先のルートコンプレックス102や周辺装置109が接続する自スイッチ801のポートへ転送する。このようなPCIエクスプレススイッチ801の構成の一例が、非特許文献2に記載されている。
【０００７】
図11を参照すると、非特許文献2に記載されるPCIエクスプレススイッチ801は、ルートコンプレックス102に接続する上流PCI-PCIブリッジ1101と、周辺装置109に接続する下流PCI-PCIブリッジ1103と、上流PCI-PCIブリッジ1101と下流PCI-PCIブリッジ1103とを接続するPCIエクスプレススイッチ内部バス1102とを含む。
【０００８】
上流PCI-PCIブリッジ1101または下流PCI-PCIブリッジ1103から入力されたTLPは、PCIエクスプレススイッチ内部バス1102を通り、TLPのあて先と接続する下流PCI-PCIブリッジ1103または上流PCI-PCIブリッジ1101から送信される。
【０００９】
図12Aを参照すると、上流PCI-PCIブリッジ1101は、ルートコンプレックス102との間を接続するPCIエクスプレスバスを終端し、TLP転送ロジック205にTLPの受け渡しを行うPCIエクスプレスアダプタ201と、TLPのあて先へTLPを転送するTLP転送ロジック205と、自ブリッジ1101あてのTLPで指定された処理や自ブリッジ1101の設定を行う上流PCI-PCIブリッジ制御ロジック1201と、PCIエクスプレス構成空間を提供するPCI-PCIブリッジ設定レジスタ207と、PCIエクスプレススイッチ内部バス1102の実装形態に合わせ、TLPをあて先に届けるために必要な処理をするPCIエクスプレススイッチ内部バスアダプタ1202とを含む。
【００１０】
PCIエクスプレスアダプタ201は、PCIエクスプレスの標準に従った物理規格の信号を用いて信号の送受信を行うPCIエクスプレス物理層202と、TLPの再送制御を行うPCIエクスプレスデータリンク層203と、TLPの受け渡しを行うPCIエクスプレストランザクション層204とを含む。
【００１１】
一方、図12Bを参照すると、下流PCI-PCIブリッジ1103は、図12Aに示された上流PCI-PCIブリッジ1101と比較して、上流PCI-PCIブリッジ制御ロジック1201の代わりに下流PCI-PCIブリッジ制御ロジック1203を含む点で異なる。これは、下流PCI-PCIブリッジ1103における周辺装置109のホットプラグ及びホットリムーブに関する処理など、自ブリッジ1103自身あてのTLPで指定された処理や自ブリッジ1103の設定に関して、上流PCI-PCIブリッジ1101と異なる制御が行われるためである。
【００１２】
図10に示すPCIエクスプレススイッチネットワークは、複数の周辺装置109の内の任意のものをCPU101に接続することができるが、外部に閉じた階層構造を形成するため、複数のCPU101の間で周辺装置109を共有することはできない。
【００１３】
従来、この問題を解決する手法として、ネットワークに複数のCPU101と周辺装置109とを分散して接続し、CPU101と周辺装置109間の接続を動的に設定するアドバンストスイッチングインターコネクト(ASI)が標準化されている。このASIの一例が非特許文献3に記載されている。
【００１４】
図13を参照すると、ASIネットワーク1301は、ルートコンプレックス102に接続し、TLPをASIパケットにカプセル化して送受信する機能を有するルートコンプレックス側PCIエクスプレス-ASIブリッジ1302と、TLPをカプセル化したASIパケットのあて先が接続するポートへASIパケットを転送するASIスイッチ1303と、周辺装置109に接続し、TLPをASIパケットにカプセル化して送受信する機能を有する周辺装置側PCIエクスプレス-ASIブリッジ1305と、ルートコンプレックス側PCIエクスプレス-ASIブリッジ1302と周辺装置側PCIエクスプレス-ASIブリッジ1305との間の接続を管理するファブリックマネージャ1304とを含む。
【００１５】
ここで、各ルートコンプレックス側PCIエクスプレス-ASIブリッジ1302は、PCIエクスプレススイッチ1401とASIネットワークアダプタ1403とで構成され、周辺装置側PCIエクスプレス-ASIブリッジ1305は、ASIネットワークアダプタ1403とPCIエクスプレススイッチ1601とで構成される。
【００１６】
図14を参照すると、ルートコンプレックス側PCIエクスプレス-ASIブリッジ1302のPCIエクスプレススイッチ1401は、図11に示されるPCIエクスプレススイッチ801と比較して、下流PCI-PCIブリッジ1103の代わりに下流PCI-PCIブリッジ1402を含む点が相違する。下流PCI-PCIブリッジ1402は、図15に示されるように、図12Bで示された下流PCI-PCIブリッジ1103からPCIエクスプレスアダプタ201を取り除いたものに相当する。これは、PCIエクスプレススイッチ1401とASIネットワークアダプタ1403とが同じチップ内に実装されるため、内部バスで直接接続されることによる。ASIネットワークアダプタ1403は、PCIエクスプレススイッチ1401のポート毎に定められたASIパケットを用いてTLPをカプセル化して送受信する機能を持つ。
【００１７】
一方、図16を参照すると、周辺装置側PCIエクスプレス-ASIブリッジ1305のPCIエクスプレススイッチ1601は、ASIネットワークアダプタ1403に接続される上流PCI-PCIブリッジ1602と、これに接続される下流PCI-PCIブリッジ1103とで構成される。下流PCI-PCIブリッジ1103は、図12Bに示される構成を持つ。これに対して上流PCI-PCIブリッジ1602は、図17に示されるように、図12Aに示される上流PCI-PCIブリッジ1101からPCIエクスプレスアダプタ201を取り除いたものに相当する。これは、図14における下流PCI-PCIブリッジ1402の場合と同様に、ASIネットワークアダプタ1403と上流PCI-PCIブリッジ1602とは内部バスで直接接続されるためである。なお、図16では、下流PCI-PCIブリッジ1103の数を1つとしているが、これは説明の都合であり、1つに制限されるわけではない。
【００１８】
ファブリックマネージャ1304は、ルートコンプレックス側PCIエクスプレス-ASIブリッジ1302のPCIエクスプレススイッチ1401における下流PCI-PCIブリッジ1402と、周辺装置側PCIエクスプレス-ASIブリッジ1305のPCIエクスプレススイッチ1601における上流PCI-PCIブリッジ1602との間で、TLPをASIパケットにカプセル化してトンネリングするように、双方のブリッジ1302、1305のASIネットワークアダプタ1403を設定する。この設定は、制御用ASIパケットを用いて行う。ここで、CPU101上で動作する応用プログラムや、入出力インタフェースからの要求により、必要に応じて下流PCI-PCIブリッジ1402と上流PCI-PCIブリッジ1602との間の接続を変更する。この操作により、複数の周辺装置109を複数のCPU101間で共有する。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】PCI Express Base Specification Revision1.1, PCI-SIG, March 28, 2005, pp. 30
【非特許文献２】PCI Express Base Specification Revision1.1, PCI-SIG, March 28, 2005, pp. 34
【非特許文献３】Protocol Interface #8 (PI-8) R1.0,ASI-SIG, February 2004, pp. 7-11
【発明の概要】
【発明が解決しようとする課題】
【００２０】
上述したように、図13に示されるASIネットワーク1301を用いれば、周辺装置を複数のCPU間で共有することができる。しかし、ASIネットワークは、図11に示されるPCIエクスプレススイッチの活用を前提としたものであるため、2個のCPUで3個の周辺装置を共有可能に接続するだけでも、ブリッジ総数4個のPCIエクスプレススイッチ1401が2個、ブリッジ総数2個のPCIエクスプレススイッチ1601が3個の、合計5個ものPCIエクスプレススイッチが必要になり、ブリッジ総数は14個になる。一般に、n個のCPUでm個の周辺装置を共有可能に接続する場合、ブリッジ総数はn(1+m)+2m個必要である。このため、CPUと周辺装置を分散してネットワークに接続したシステムを構築する上で、CPUや周辺装置をネットワークに接続するブリッジの回路が大規模になるという課題があった。
【００２１】
本発明の目的は、周辺装置を複数のCPU間で共有するためにCPUと周辺装置を分散してネットワークに接続したシステムにおいて、CPUや周辺装置をネットワークに接続するブリッジの回路規模を削減することにある。
【課題を解決するための手段】
【００２２】
本発明のネットワークブリッジ装置は、PCIエクスプレスバスを終端するPCIエクスプレスアダプタと、ネットワークとの間のリンクを終端するネットワークアダプタと、前記PCIエクスプレスアダプタと前記ネットワークアダプタとの間に設けられ、TLPをそのあて先が接続するブリッジの物理アドレスをあて先とする前記リンクのフレームにカプセル化して送受信する制御部とを備えている。そして、本発明のスイッチは、本発明のネットワークブリッジ装置を上流及び下流PCIエクスプレス-ネットワークブリッジに使用し、複数の上流PCIエクスプレス-ネットワークブリッジと複数の下流PCIエクスプレス-ネットワークブリッジとをネットワークを介して接続する。
【００２３】
ネットワークとしては、例えばイーサネットを用いることができる。この場合、物理アドレスはMACアドレスになる。イーサネットは、1つのイーサネットスイッチで構成しても良いし、複数のイーサネットスイッチで構成しても良い。イーサネット以外のネットワークも同様に1以上のレイヤ2スイッチで構成することができる。
【００２４】
『作用』
本発明のネットワークブリッジ装置は、PCIエクスプレスバスの終端機能に加えて、イーサネットなどのネットワークとの間のリンクの終端機能を有し、さらにTLPをそのあて先が接続するブリッジの物理アドレスをあて先とする前記リンクのフレームにカプセル化して送受信する機能を有するため、当該ブリッジ装置単独で、図13に示されるルートコンプレックス側PCIエクスプレス-ASIブリッジ1302あるいは周辺装置側PCIエクスプレス-ASIブリッジ1305と同等の機能を果たすことできる。
【発明の効果】
【００２５】
本発明によれば、周辺装置を複数のCPU間で共有するためにCPUと周辺装置を分散してネットワークに接続したシステムにおいて、CPUや周辺装置をネットワークに接続するブリッジの回路規模を大幅に削減することができる。その理由は、本発明のネットワークブリッジ装置は、従来のPCIエクスプレススイッチ内の上流あるいは下流PCI-PCIブリッジの回路に、TLPのカプセル化とディカプセル化にかかる回路を追加した程度の規模で実現できるからである。また、本発明のスイッチは、2個のCPUで3個の周辺装置を共有可能に接続する場合、ブリッジ総数は5個で済み、一般に、n個のCPUでm個の周辺装置を共有可能に接続する場合、ブリッジ総数はn+m個で済むからである。
【図面の簡単な説明】
【００２６】
【図１】本発明の第1の実施の形態のブロック図である。
【図２Ａ】上流PCIエクスプレス-イーサネットブリッジの内部構成例を示すブロック図である。
【図２Ｂ】下流PCIエクスプレス-イーサネットブリッジの内部構成例を示すブロック図である。
【図３】TLPカプセル化テーブルの構成例を示す図である。
【図４】本発明の第1の実施の形態の概略動作を示すフローチャートである。
【図５Ａ】上流PCIエクスプレス-イーサネットブリッジがTLPを受信した際の動作を示すフローチャートである。
【図５Ｂ】上流PCIエクスプレス-イーサネットブリッジがイーサネットフレームを受信した際の動作を示すフローチャートである。
【図６Ａ】下流PCIエクスプレス-イーサネットブリッジがイーサネットフレームを受信した際の動作を示すフローチャートである。
【図６Ｂ】下流PCIエクスプレス-イーサネットブリッジがTLPを受信した際の動作を示すフローチャートである。
【図７Ａ】上流PCIエクスプレス-イーサネットブリッジがシステムマネージャから制御イーサネットフレームを受信した際の動作を示すフローチャートである。
【図７Ｂ】下流PCIエクスプレス-イーサネットブリッジがシステムマネージャから制御イーサネットフレームを受信した際の動作を示すフローチャートである。
【図８】本発明の別の実施の形態のブロック図である。
【図９】本発明のさらに別の実施の形態のブロック図である。
【図１０】従来のPCIエクスプレススイッチネットワークのブロック図である。
【図１１】従来のPCIエクスプレススイッチのブロック図である。
【図１２Ａ】従来のPCIエクスプレススイッチ内の上流PCI-PCIブリッジのブロック図である。
【図１２Ｂ】従来のPCIエクスプレススイッチ内の下流PCI-PCIブリッジのブロック図である。
【図１３】ASIネットワークのブロック図である。
【図１４】ASIネットワークのルートコンプレックス側PCIエクスプレス-ASIブリッジのブロック図である。
【図１５】ルートコンプレックス側PCIエクスプレス-ASIブリッジ内の下流PCI-PCIブリッジのブロック図である。
【図１６】ASIネットワークの周辺装置側PCIエクスプレス-ASIブリッジのブロック図である。
【図１７】周辺装置側PCIエクスプレス-ASIブリッジ内の上流PCI-PCIブリッジのブロック図である。
【発明を実施するための形態】
【００２７】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２８】
『第１の実施の形態』
図1を参照すると、本発明の第1の実施の形態は、2個のCPU101と、チップセットで実現される2個のルートコンプレックス102と、2個のメモリ103と、イーサネットを介したPCIエクスプレススイッチ104と、3個の周辺装置109とを含み、2個のCPU101で3個の周辺装置109を共有可能としている。
【００２９】
イーサネットを介したPCIエクスプレススイッチ104は、ルートコンプレックス102に接続し、MACアドレスを保持し、TLPをイーサネットフレームにカプセル化して送受信する機能を有する2個の上流PCIエクスプレス-イーサネットブリッジ105と、TLPをカプセル化したイーサネットフレームのあて先が接続するポートへイーサネットフレームを転送する1個のイーサネットスイッチ106と、周辺装置109に接続し、MACアドレスを保持し、TLPをイーサネットフレームにカプセル化して送受信する3個の下流PCIエクスプレス-イーサネットブリッジ108と、下流PCIエクスプレス-イーサネットブリッジ108がどの上流PCIエクスプレス-イーサネットブリッジ105と接続するかを管理するシステムマネージャ107とを含む。イーサネットを介したPCIエクスプレススイッチ104は、接続するPCIエクスプレススイッチネットワークに対し、従来のPCIエクスプレススイッチと同じインタフェースを提供し、従来のPCIに関するソフトウェアが使用可能である。
【００３０】
図2Aを参照すると、上流PCIエクスプレス-イーサネットブリッジ105は、ルートコンプレックス102との間を接続するPCIエクスプレスバスを終端するPCIエクスプレスアダプタ201と、TLPのあて先へTLPを転送するTLP転送ロジック205と、自ブリッジ105あてのTLPで指定された処理やブリッジの設定を行う上流PCIエクスプレス-イーサネットブリッジ制御ロジック206と、PCIエクスプレスの標準で定められたPCIエクスプレス構成空間を提供するPCI-PCIブリッジ設定レジスタ207と、TLPのあて先を検出し、あて先に対応する下流PCIエクスプレス-イーサネットブリッジ108のMACアドレスを検索し、そのMACアドレスを用いてTLPをイーサネットフレームにカプセル化するTLPカプセル化ユニット208と、TLPのあて先に対応するMACアドレスの情報を保持するTLPカプセル化テーブル209と、TLPがカプセル化されたイーサネットフレームからTLPをディカプセル化するTLPディカプセル化ユニット210と、イーサネットフレームのあて先へイーサネットフレームを転送するイーサネットフレーム転送ロジック211と、イーサネットスイッチ106との間を接続するリンクを終端するイーサネットアダプタ212とを含む。
【００３１】
PCIエクスプレスアダプタ201は、PCIエクスプレスの標準に従った物理規格の信号を用いて信号の送受信を行うPCIエクスプレス物理層202と、TLPの再送制御を行うPCIエクスプレスデータリンク層203と、TLPの受け渡しを行うPCIエクスプレストランザクション層204とを含む。
【００３２】
イーサネットアダプタ212は、イーサネットの標準に従った物理規格の信号を用いて信号の送受信を行うイーサネット物理層213と、受信したイーサネットフレームに対し、あて先が自分あてのイーサネットフレームをフィルタする機能や、イーサネットフレームの再送制御機能を提供するイーサネットデータリンク層214とを含む。
【００３３】
図2Bを参照すると、下流PCIエクスプレス-イーサネットブリッジ108は、上流PCIエクスプレス-イーサネットブリッジ105と比較して、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206の代わりに下流PCIエクスプレス-イーサネットワークブリッジ制御ロジック215を含む点で異なる。これは、周辺装置109のホットプラグ及びホットリムーブに関する処理や、TLPカプセル化テーブル209の作成方法など、自ブリッジ108あてのTLPや制御イーサネットフレームで指定された処理および自ブリッジ108の設定に関して、上流PCIエクスプレス-イーサネットブリッジ105と異なる点を含むためである。
【００３４】
図3を参照すると、TLPカプセル化テーブル209は、MACアドレス301とTLPのヘッダに含まれるあて先情報との対応を保持するテーブルであり、図3の例では、あて先情報として、バス番号302、デバイス番号303、I/O32ビットアドレス下限304、I/O32ビットアドレス上限305、メモリ32ビットアドレス下限306、メモリ32ビットアドレス上限307、メモリ64ビットアドレス下限308、メモリ64ビットアドレス上限309が設定可能になっている。
【００３５】
PCIエクスプレスでは、TLPのヘッダの表記からTLPの転送先を特定する手法として、IDルーティングとアドレスルーティングの2種類が定義されている。IDルーティングは、あて先が接続するバスの番号、同一バス内のデバイス識別のために割り当てられたデバイス番号、デバイス内の各機能に割り当てられたファンクション番号を指定することで、あて先を特定する手法である。TLPカプセル化テーブル209のバス番号302、デバイス番号303の欄は、IDルーティングによってTLPのあて先が指定されている場合に、そのあて先の周辺装置などが接続する上流PCIエクスプレス-イーサネットブリッジ105あるいは下流PCIエクスプレス-イーサネットブリッジ108（あて先が上流PCIエクスプレス-イーサネットブリッジ105や下流PCIエクスプレス-イーサネットブリッジ108の場合はブリッジ自身)のMACアドレス301が何であるかを知るために使用される。この場合、あて先のファンクション番号はMACアドレス301の対応付けに必要な情報ではないため省略されている。
【００３６】
他方、アドレスルーティングは、あて先である周辺装置などに割り当てられたI/O空間あるいはメモリ空間を指定することで、あて先を特定する手法である。TLPカプセル化テーブル209のI/O32ビットアドレス下限304、I/O32ビットアドレス上限305、メモリ32ビットアドレス下限306、メモリ32ビットアドレス上限307、メモリ64ビットアドレス下限308、メモリ64ビットアドレス上限309の欄は、IDルーティングによってTLPのあて先が指定されている場合に、そのあて先の周辺装置などが接続する上流PCIエクスプレス-イーサネットブリッジ105あるいは下流PCIエクスプレス-イーサネットブリッジ108（あて先が上流PCIエクスプレス-イーサネットブリッジ105や下流PCIエクスプレス-イーサネットブリッジ108の場合はブリッジ自身)のMACアドレス301が何であるかを知るために使用される。ここで、あて先に割り当てられたI/O空間の下限値と上限値であるI/O32ビットアドレス下限304とI/O32ビットアドレス上限305、32ビットメモリ空間の下限値と上限値であるメモリ32ビットアドレス下限306とメモリ32ビットアドレス上限307、および、64ビットメモリ空間の下限値と上限値であるメモリ64ビットアドレス下限308とメモリ64ビットアドレス上限309のすべてが設定されるわけではなく、あて先の装置に該当するものだけが設定される。
【００３７】
システムマネージャ107は、CPU101上で動作する応用ソフトや、入出力インタフェースからの要求に基づき、イーサネット(イーサネットスイッチ106)に接続する複数のCPU101のうちの1つのCPU101に周辺装置109を割り当てる。この割り当ては、接続対象となるCPU101に対応する上流PCIエクスプレス-イーサネットブリッジ105に、下流PCIエクスプレス-イーサネットブリッジ108を接続することで行う。各ブリッジへの接続の命令は、制御イーサネットフレームにより行う。このとき、接続先のMACアドレスを通知する。接続の設定の後、上流PCIエクスプレス-イーサネットブリッジ105と下流PCIエクスプレス-イーサネットブリッジ108内で接続に関する処理が行われ、CPU101は割り当てられた周辺装置109が使用可能となる。これらの動作の詳細は後述する。
【００３８】
次に、図1及び図4を参照して本実施の形態における動作の概略を説明する。
【００３９】
まず上流から下流へのTLPの転送動作を説明する。上流PCIエクスプレス-イーサネットブリッジ105は、ルートコンプレックス102からTLPを受信すると(ステップ401)、TLPのあて先が自ブリッジ105か否かを調べる(ステップ402)。TLPのあて先が自ブリッジ105の場合、TLPを収容し、TLPで指定された処理や自ブリッジ105の設定を行う(ステップ403)。一方、TLPのあて先が下流PCIエクスプレス-イーサネットブリッジ108あるいは周辺装置109の場合、あて先が接続する下流PCIエクスプレス-イーサネットブリッジ108(あて先が下流PCIエクスプレス-イーサネットブリッジ108の場合は下流PCIエクスプレス-イーサネットブリッジ108自身)のMACアドレスを用いて、TLPをイーサネットフレームにカプセル化し(ステップ404)、イーサネットスイッチ106に送信する(ステップ405)。
【００４０】
イーサネットスイッチ106は、TLPがカプセル化されたイーサネットフレームを受信し(ステップ406)、フレームに記載されたあて先MACアドレスを持つ下流PCIエクスプレス-イーサネットブリッジ108が接続するイーサネットスイッチ106のポートへイーサネットフレームを転送する(ステップ407)。
【００４１】
下流PCIエクスプレス-イーサネットブリッジ108は、イーサネットスイッチ106よりTLPがカプセル化されたイーサネットフレームを受信し(ステップ408)、TLPをディカプセル化し(ステップ409)、TLPのあて先が自ブリッジ108か否かを調べる(ステップ410)。TLPのあて先が自ブリッジ108の場合、TLPを収容し、TLPで指定された処理や自ブリッジ108の設定を行う(ステップ411)。一方、TLPのあて先が周辺装置109の場合、TLPを周辺装置109へ送信する(ステップ412)。
【００４２】
次に下流から上流へのTLPの転送動作を説明する。周辺装置109からルートコンプレックス102や上流PCIエクスプレス-イーサネットブリッジ105、下流PCIエクスプレス-イーサネットブリッジ108へTLPを送信する場合、周辺装置109からTLPを受信する下流PCIエクスプレス-イーサネットブリッジ108が図4のステップ401〜ステップ405の動作を行い、イーサネットスイッチ106からTLPがカプセル化されたイーサネットフレームを受信する上流PCIエクスプレス-イーサネットブリッジ105がステップ408〜ステップ412の動作を行う。
【００４３】
次に、本実施の形態における動作をより詳細に説明する。まず、図2A及び図5Aを参照して、上流PCIエクスプレス-イーサネットブリッジ105において、ルートコンプレックス102から受信したTLPをイーサネットフレームにカプセル化し、イーサネットスイッチ106に送信する動作、及びルートコンプレックス102から受信した自ブリッジ105あてのTLPを収容する動作について詳細に説明する。
【００４４】
PCIエクスプレス物理層202は、TLPを伝える信号を受信し、パケットの単位にまとめる(ステップ501)。PCIエクスプレスデータリンク層203は、PCIエクスプレス物理層202から、TLPとTLPに割り当てられたパケット番号(シーケンス番号)と、誤り検出符号の組を受け取る。パケット番号の非連続から判明した、受信されていないTLPや、符号誤りが発生したTLPは、送信側に再送の要求を行う(ステップ502)。PCIエクスプレストランザクション層204は、PCIエクスプレスデータリンク層203からTLPを受け取り、TLP転送ロジック205に渡す。
【００４５】
TLP転送ロジック205は、TLPのあて先を検出し、あて先が上流PCIエクスプレス-イーサネットブリッジ105自身か、自ブリッジ105より下流に接続された下流PCIエクスプレス-イーサネットブリッジ108や周辺装置109であるかを、PCI-PCIブリッジ設定レジスタ207を参照して調べる(ステップ503)。
【００４６】
上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、あて先が上流PCIエクスプレス-イーサネットブリッジ105自身であるTLPをTLP転送ロジック205から受け取り、TLPで指定された処理や自ブリッジ105自身の設定を実行する(ステップ504)。これらの処理や設定は、PCI-PCIブリッジ設定レジスタ207に対する読み書きを含む。
【００４７】
また、TLP転送ロジック205は、あて先が下流PCIエクスプレス-イーサネットブリッジ108や周辺装置109であるTLPの内、PCIエクスプレス構成空間を制御する種類のTLPを検出し(ステップ505)、TLPを複製して上流PCIエクスプレス-イーサネットブリッジ制御ロジック206に渡す(ステップ506)。上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、受け取ったPCIエクスプレス構成空間制御TLPの内容から、下流PCIエクスプレス-イーサネットブリッジ108や周辺装置109に割り当てられるバス番号とデバイス番号、I/O空間あるいはメモリ空間を検出し、TLPカプセル化テーブル209を作成する(ステップ507)。TLPカプセル化テーブル209の作成には、PCIエクスプレス構成空間制御TLPで与えられる前記情報に加えて、システムマネージャ107から制御イーサネットフレームで与えられる接続先のMACアドレスの情報が用いられる。
【００４８】
例えば、或る周辺装置109に対して、バス番号Bx、デバイス番号Dxを割り当てるPCIエクスプレス構成空間制御TLPが検出され、また、その周辺装置109が接続する下流PCIエクスプレス-イーサネットブリッジ108のMACアドレスとしてシステムマネージャ107からMACアドレスMxが制御イーサネットフレームで通知されたとすると、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、TLPカプセル化テーブル209に、MACアドレスMxとバス番号Bxおよびデバイス番号Dxとの対応関係を登録する。
【００４９】
なお、TLP転送ロジック205は、必要に応じて転送するTLPの一部を書き換えることがある。これはPCIエクスプレス構成空間制御TLPのタイプを変更する操作を含む。
【００５０】
TLPカプセル化ユニット208は、あて先が上流PCIエクスプレス-イーサネットブリッジ105の下流に接続された下流PCIエクスプレス-イーサネットブリッジ108や周辺装置109であるTLPをTLP転送ロジック205から受け取り、TLPのヘッダに含まれるあて先情報をキーにTLPカプセル化テーブル209を検索することにより、あて先が接続する下流PCIエクスプレス-イーサネットブリッジ108(あて先が下流PCIエクスプレス-イーサネットブリッジ108の場合は下流PCIエクスプレス-イーサネットブリッジ108自身)のMACアドレスを取得し、このMACアドレスを用いて、TLPをイーサネットフレームにカプセル化する(ステップ508)。
【００５１】
イーサネットフレーム転送ロジック211は、カプセル化されたイーサネットフレームをTLPカプセル化ユニット208から受け取り、イーサネットデータリンク層214に渡す。イーサネットデータリンク層214は、TLPがカプセル化されたイーサネットフレームの再送要求に備え、イーサネットフレームを複製して保持する(ステップ509)。イーサネット物理層213は、イーサネットデータリンク層214からイーサネットフレームを受け取り、イーサネットスイッチ106に送信する(ステップ510)。
【００５２】
次に、図2A及び図5Bを参照して、上流PCIエクスプレス-イーサネットブリッジ105において、イーサネットスイッチ106からTLPがカプセル化されたイーサネットフレームを受信し、TLPをディカプセル化し、ルートコンプレックス102に送信する動作、及びイーサネットスイッチ106から自ブリッジ105あてのTLPがカプセル化されたイーサネットフレームを受信し、TLPをディカプセル化し、収容する動作について詳細に説明する。
【００５３】
イーサネット物理層213は、イーサネットスイッチ106からTLPがカプセル化されたイーサネットフレームを受信する(ステップ511)。イーサネットデータリンク層214は、イーサネット物理層213からイーサネットフレームを受け取り、フレームに記載されたフレーム番号と、誤り検出符号を調べる。フレーム番号の非連続から判明した、受信していないイーサネットフレームや、符号誤りが発生したイーサネットフレームは、送信側に再送の要求を行う(ステップ512)。
【００５４】
イーサネットフレーム転送ロジック211は、イーサネットデータリンク層214からTLPがカプセル化されたイーサネットフレームを受け取り、TLPディカプセル化ユニット210に渡す。
【００５５】
TLPディカプセル化ユニット210は、TLPがカプセル化されたイーサネットフレームから、TLPをディカプセル化し、TLP転送ロジック205に渡す(ステップ513)。
【００５６】
ステップ503と504は図5(A)における動作と同じである。すなわち、TLP転送ロジック205は、TLPのあて先が自ブリッジ105自身か否かを調べ、自ブリッジ105あてのTLPであれば、TLPで指定された処理や自ブリッジ105の設定を実行するために上流PCIエクスプレス-イーサネットブリッジ制御ロジック206に転送し、自ブリッジ105以外のあて先であればPCIエクスプレストランザクション層204に転送する。
【００５７】
PCIエクスプレスデータリンク層203は、PCIエクスプレストランザクション層204を介してTLP転送ロジック205からTLPを受け取り、TLPの再送に備えTLPを複製する(ステップ514)。PCIエクスプレス物理層202は、PCIエクスプレスデータリンク層203からTLPを受け取り、ルートコンプレックス102に送信する(ステップ515)。
【００５８】
なお、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206はTLPを作成し、発行する場合がある。これはステップ504の結果、TLPを返信する必要がある場合を含む。このような場合、作成されたTLPはTLP転送ロジック205に引き渡され、図5Aにおけるステップ508〜510と同様の手順によりイーサネットスイッチ106へ送信されるか、図5Bにおけるステップ514、515と同様の手順によりルートコンプレックス102に送信される。
【００５９】
次に、図2B及び図6Aを参照して、下流PCIエクスプレス-イーサネットブリッジ108において、イーサネットスイッチ106からTLPがカプセル化されたイーサネットフレームを受信し、TLPをディカプセル化し、周辺装置109に送信する場合の動作、及び下流PCIエクスプレス-イーサネットブリッジ108あてのTLPがカプセル化されたイーサネットフレームを受信し、TLPをディカプセル化し、収容する動作について詳細に説明する。
【００６０】
図6Aで示される動作のうち、ステップ601以外のステップの動作は、図5Bで示された上流PCIエクスプレス-イーサネットブリッジ105の動作と同じである。ステップ601においては、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215は、あて先が自ブリッジ108自身であるTLPをイーサネットフレーム転送ロジック211から受け取り、TLPで指定された処理や自ブリッジ108の設定を実行する。これらの処理や設定は、PCI-PCIブリッジ設定レジスタ207に対する読み書きを含む。
【００６１】
さらに、ステップ601はTLPカプセル化テーブル209の作成を含む場合がある。下流PCIエクスプレス-イーサネットブリッジ108が、CPU101と周辺装置109との間の通信だけを提供する場合、TLPカプセル化テーブル209は、下流PCIエクスプレス-イーサネットブリッジ108が接続する上流PCIエクスプレス-イーサネットブリッジ105のMACアドレスだけを保持し、この情報はシステムマネージャ107が発行する制御イーサネットフレームから得る。一方、下流PCIエクスプレス-イーサネットブリッジ108がイーサネットスイッチ106を介して他の周辺装置109の間でも通信を提供する場合、TLPカプセル化テーブル209は、他の下流PCIエクスプレス-イーサネットブリッジ108のMACアドレスと、当該他の下流PCIエクスプレス-イーサネットブリッジ108に接続するPCIエクスプレススイッチネットワークの構成に関する情報を含む。この場合、MACアドレスに関する情報は、制御イーサネットフレームから取得し、PCIエクスプレススイッチネットワークの構成に関する情報は、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206が発行した、下流PCIエクスプレス-イーサネットブリッジ108あてのTLPから受け取ることが可能である。このとき、ステップ601では、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206が発行したTLPから、TLPカプセル化テーブル209を作成する。
【００６２】
例えば、或る他の周辺装置109に対してバス番号By、デバイス番号Dyが割り当てられたことを通知するTLPが上流PCIエクスプレス-イーサネットブリッジ制御ロジック206から発行された場合、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215は、当該他の周辺装置109が接続する下流PCIエクスプレス-イーサネットブリッジ108のMACアドレスがMACアドレスMyとすると、TLPカプセル化テーブル209に、MACアドレスMyとバス番号Byおよびデバイス番号Dyとの対応関係を登録する。
【００６３】
次に、図2B及び図6Bを参照して、下流PCIエクスプレス-イーサネットブリッジ108において、周辺装置109から受信したTLPをイーサネットフレームにカプセル化し、イーサネットスイッチ106に送信する動作、および、周辺装置109から下流PCIエクスプレス-イーサネットブリッジ108あてのTLPを受信し、収容する動作について詳細に説明する。
【００６４】
図6Bで示される動作のうち、ステップ601以外のステップの動作は、図5Aで示された上流PCIエクスプレス-イーサネットブリッジ105の動作と同じである。また、ステップ601の動作は図6Aのステップ601の動作と同じである。すなわち、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215は、あて先が自ブリッジ108自身であるTLPをTLP転送ロジック205から受け取り、TLPで指定された処理や自ブリッジ108の設定を実行する。なお、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215はTLPを作成し、発行する場合がある。これはステップ601の結果、TLPを返信する必要がある場合を含む。このような場合、作成されたTLPはTLP転送ロジック205に渡され、図6Bにおけるステップ508〜510と同様の手順によりイーサネットスイッチ106へ送信されるか、図6Aにおけるステップ514、515と同様の手順により周辺装置109に送信される。
【００６５】
次に、図2A及び図7Aを参照して、上流PCIエクスプレス-イーサネットブリッジ105において、システムマネージャ107から制御イーサネットフレームを受信し、制御イーサネットフレームで指定された処理や自ブリッジ105の設定を行う動作について詳細に説明する。
【００６６】
図7Aで示される動作のうち、ステップ511とステップ512で示されるイーサネット物理層213とイーサネットデータリンク層214の動作は、図5Bにおける動作と同じである。この処理を経て、イーサネットデータリンク層214からイーサネットフレーム転送ロジック211を通じて制御イーサネットフレームが渡されると、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、制御イーサネットフレームで指定された処理や自ブリッジ105の設定を行う(ステップ701)。
【００６７】
ステップ701における処理は、何れかのCPU101への周辺装置109の割り当てを目的とした、自ブリッジ105と下流PCIエクスプレス-イーサネットブリッジ108との接続及び切断の処理を含む。自ブリッジ105を下流PCIエクスプレス-イーサネットブリッジ108と接続する場合、接続先のMACアドレスは制御イーサネットフレームにより通知される。このMACアドレスはTLPカプセル化テーブル209の作成に用いるために一時的に保持される。上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、制御イーサネットフレームによる接続及び切断の通知を契機として、CPU101へ、周辺装置109のホットプラグ及びホットリムーブの割り込みを通知する。この通知により、PCIエクスプレス空間の再構成が行われ、前述したPCIエクスプレス構成空間制御TLPが発行される。上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は、この発行されたPCIエクスプレス構成空間制御TLPから当該周辺装置109に割り当てられたバス番号及びデバイス番号等のPCIエクスプレス構成空間上のあて先情報を取得し、これと当該周辺装置が接続する下流PCIエクスプレス-イーサネットブリッジ108のMACアドレスとを用いて、TLPカプセル化テーブル209に当該周辺装置109にかかる情報を登録する。
【００６８】
なお、上記のCPU101への周辺装置109のホットプラグ及びホットリムーブの割り込み通知は、標準のPCIエクスプレスの規格に従い、図2Bで示す下流PCIエクスプレス-イーサネットブリッジ制御ロジック215が行うことも可能である。
【００６９】
一方、上流PCIエクスプレス-イーサネットブリッジ制御ロジック206は制御イーサネットフレームを作成し、発行する場合がある。これはステップ701の結果、制御イーサネットフレームを返信する必要がある場合を含む。このような場合、作成された制御イーサネットフレームはイーサネットフレーム転送ロジック211に渡され、図5Aで示されるステップ509、510と同様の手順によりイーサネットスイッチ106へ送信される。
【００７０】
次に、図2B及び図7Bを参照して、下流PCIエクスプレス-イーサネットブリッジ108において、システムマネージャ107から制御イーサネットフレームを受信し、制御イーサネットフレームで指定された処理や自ブリッジ108の設定を行う動作について詳細に説明する。
【００７１】
図7Bで示される動作のうち、ステップ511とステップ512で示されるイーサネット物理層213とイーサネットデータリンク層214の動作は、図6Aにおける動作と同じである。この処理を経て、イーサネットデータリンク層214からイーサネットフレーム転送ロジック211を通じて制御イーサネットフレームが渡されると、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215は、制御イーサネットフレームで指定された処理や自ブリッジ108の設定を行う(ステップ702)。
【００７２】
ステップ702における処理は、CPU101への周辺装置109の割り当てを目的とした、自ブリッジ108と上流PCIエクスプレス-イーサネットブリッジ105との接続及び切断の処理を含む。自ブリッジ108を上流PCIエクスプレス-イーサネットブリッジ105と接続する場合、接続先のMACアドレスは制御イーサネットフレームにより通知される。このMACアドレスがTLPカプセル化テーブル209の作成に用いられる等、TLPカプセル化テーブル209の作成に関する処理は図7Aのステップ701と同じである。
【００７３】
なお、下流PCIエクスプレス-イーサネットブリッジ制御ロジック215は、制御イーサネットフレームを作成し、発行する場合がある。これはステップ702の結果、制御イーサネットフレームを返信する必要がある場合を含む。このような場合、作成された制御イーサネットフレームはイーサネットフレーム転送ロジック211に渡され、図6Bにおけるステップ509、510と同様の手順によりイーサネットスイッチ106へ送信される。
【００７４】
次に本実施の形態の効果を説明する。
【００７５】
本実施の形態によれば、周辺装置を複数のCPU間で共有するためにCPUと周辺装置を分散してネットワークに接続したシステムにおいて、CPUや周辺装置をネットワークに接続するブリッジの回路規模を大幅に削減することができる。具体的には、上流PCIエクスプレス-イーサネットブリッジ105は、図13のルートコンプレックス側PCIエクスプレス-ASIブリッジ1302を構成するPCIエクスプレススイッチ1401内の上流PCI-PCIブリッジ1101の回路に、TLPのカプセル化とディカプセル化にかかる回路を追加した程度の規模で実現でき、また、下流PCIエクスプレス-イーサネットブリッジ108は、図13の周辺装置側PCIエクスプレス-ASIブリッジ1305を構成するPCIエクスプレススイッチ1601内の下流PCI-PCIブリッジ1103の回路に、TLPのカプセル化とディカプセル化にかかる回路を追加した程度の規模で実現できる。
【００７６】
また本実施の形態によれば、PCIエクスプレス空間の再構成に同期して、TLPカプセル化テーブル209を作成することができる。その理由は、PCIエクスプレス構成空間制御TLPから周辺装置等に割り当てられたバス番号及びデバイス番号などのPCIエクスプレス構成空間上のあて先情報を検出し、この検出したあて先情報と当該周辺装置等が接続されるブリッジ105、108のMACアドレスとの対応関係をTLPカプセル化テーブル209に登録するようにしたためである。
【００７７】
『その他の実施の形態』
以上、本発明の第1の実施の形態について説明したが、本発明は以上の例に限定されず、以下のような各種の付加変更が可能である。
【００７８】
第1の実施の形態では、イーサネット(イーサネットスイッチ106)に接続するCPU101の数を2個、周辺装置109の数を3個としたが、本発明はこの数に制限されるものではない。
【００７９】
第1の実施の形態では、ブリッジ間の接続をMACアドレスだけで管理したが、VLANを識別するタグを使用して、1つの上流PCIエクスプレス-イーサネットブリッジ105と、それに接続する下流PCIエクスプレス-イーサネットブリッジ108との組を1つのVLANとして管理することも可能である。
【００８０】
第1の実施の形態では、ルートコンプレックス102と上流PCIエクスプレス-イーサネットブリッジ105とがバスにより直接接続されている場合を示したが、図8に示すように、ルートコンプレックス102と上流PCIエクスプレス-イーサネットブリッジ105との間にPCIエクスプレススイッチ801など、他のPCIエクスプレスのブロック(構成要素)を挿入する構成も可能である。
【００８１】
第1の実施の形態では、イーサネットスイッチ106を1つとしたが、図9に示すように、複数のイーサネットスイッチ106を用いる構成も可能である。
【００８２】
上流PCIエクスプレス-イーサネットブリッジ105及び下流PCIエクスプレス-イーサネットブリッジ108は、FPGAなどで実現することができる他、DSPなどのプロセッサとプログラムとで実現することもできる。プログラムは半導体メモリなどのコンピュータ可読記録媒体に記憶され、コンピュータの動作を制御することにより、コンピュータを上流PCIエクスプレス-イーサネットブリッジ105あるいは下流PCIエクスプレス-イーサネットブリッジ108として機能させ、前述した各処理を実行させる。
【００８３】
第1の実施の形態では、ネットワークとしてイーサネットを使用したが、それに限定されずFDDI等の他の種類のネットワークであっても良い。
【符号の説明】
【００８４】
101…CPU
102…ルートコンプレックス
103…メモリ
104…イーサネットを介したPCIエクスプレススイッチ
105…上流PCIエクスプレス-イーサネットブリッジ
106…イーサネットスイッチ
107…システムマネージャ
108…下流PCIエクスプレス-イーサネットブリッジ
109…周辺装置
【図１】
2011100470.tif 000003
【図２Ａ】
2011100470.tif 000004
【図２Ｂ】
2011100470.tif 000005
【図３】
2011100470.tif 000006
【図４】
2011100470.tif 000007
【図５Ａ】
2011100470.tif 000008
【図５Ｂ】
2011100470.tif 000009
【図６Ａ】
2011100470.tif 000010
【図６Ｂ】
2011100470.tif 000011
【図７Ａ】
2011100470.tif 000012
【図７Ｂ】
2011100470.tif 000013
【図８】
2011100470.tif 000014
【図９】
2011100470.tif 000015
【図１０】
2011100470.tif 000016
【図１１】
2011100470.tif 000017
【図１２Ａ】
2011100470.tif 000018
【図１２Ｂ】
2011100470.tif 000019
【図１３】
2011100470.tif 000020
【図１４】
2011100470.tif 000021
【図１５】
2011100470.tif 000022
【図１６】
2011100470.tif 000023
【図１７】
2011100470.tif 000024