JP2010225085A - スイッチ、スイッチの制御方法及びスイッチシステムの制御方法 - Google Patents

スイッチ、スイッチの制御方法及びスイッチシステムの制御方法 Download PDF

Info

Publication number
JP2010225085A
JP2010225085A JP2009074287A JP2009074287A JP2010225085A JP 2010225085 A JP2010225085 A JP 2010225085A JP 2009074287 A JP2009074287 A JP 2009074287A JP 2009074287 A JP2009074287 A JP 2009074287A JP 2010225085 A JP2010225085 A JP 2010225085A
Authority
JP
Japan
Prior art keywords
packet
bridge
port
switch
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009074287A
Other languages
English (en)
Other versions
JP5310175B2 (ja
Inventor
Takashi Miyoshi
貴史 三吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009074287A priority Critical patent/JP5310175B2/ja
Priority to US12/728,667 priority patent/US8392645B2/en
Publication of JP2010225085A publication Critical patent/JP2010225085A/ja
Application granted granted Critical
Publication of JP5310175B2 publication Critical patent/JP5310175B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】本発明の課題は、バス階層を増加させることなく、システムを増大させることである。
【解決手段】上記課題を解決するために、第1ブリッジに備えられた第1ステートマシンは、第1ポートからパケットを受信した時、テーブルを参照して当該パケット内のアドレスに対応する入出力装置または他のスイッチに当該パケットを転送し、第2ブリッジに備えられた第2ステートマシンは、当該第1ブリッジから転送されたパケット内のアドレスと、第2レジスタに格納されたアドレスとを参照して、当該パケットを第2ポートを介して当該入出力装置に転送し、第3ブリッジに備えられた第3ステートマシンは、第1ブリッジから転送されたパケットを第3ポートを介して当該他のスイッチに転送する。
【選択図】図10

Description

本発明は、情報処理装置と入出力装置間のパケット転送を行うスイッチに関する。
情報処理装置と入出力装置とを接続するI/Oバスの1つとして、例えばPCI Expressがある。PCI Expressは、PCIバスと同じく、ホストブリッジを頂点とし、入出力装置を終点とするツリー構造を有する。複数のI/Oデバイスを接続するには、ツリー構造の中間点にPCI Expressスイッチが必要となる。PCI Expressスイッチは各ポートをPCI-to-PCI(P2P)ブリッジとする2段のツリー構造を持つ。PCI Expressを構成するデバイスには、OS/BIOSから固有の番号が割り当てられる。
同一システム内において、多数のI/Oデバイスを接続するには、サポートするポート数の多いスイッチが必要になる。しかし、単一のスイッチLSIにおいて単純にポート数を増加させると、LSI設計製造およびプリント板実装時におけるコストが増加してしまう。そこで、多数のI/Oデバイスを接続するために、複数のPCI Expressスイッチを単純に接続して、ポート数を増加させている。スイッチを接続すると、どのスイッチがホストブリッジに近いかにより、PCI Expressの階層構造が決定される。つまり、OS/BIOSからは情報処理装置の起動時には、これらのスイッチのバス階層が異なって見える。ところが、バス階層は有限であり、またOS/BIOSがサポート可能なバスの階層の深さも限定されている。
先行技術文献としては、下記のものがある。
特開2001−125694号公報 特開2007−334764号公報
本発明の課題は、バス階層を増加させることなく、システムを増大させることである。
上記課題を解決するために、情報処理装置と入出力装置とからスイッチングするためのアドレスを含むパケットを受信し、該パケットをスイッチングするスイッチは、該情報処理装置と接続され、該パケットを送受信する第1ポートと、該入出力装置と接続され、該パケットを送受信する第2ポートと、他のスイッチと接続され、該パケットを送受信する第3ポートと、該第1ポートと接続され、情報を格納する第1レジスタと、該パケットを転送する第1ステートマシンを有する第1ブリッジと、該第2ポートと接続され、該スイッチに接続された入出力装置に対応するアドレスを格納する第2レジスタと、該パケット内のアドレスと該レジスタに格納されたアドレスに基づいて該パケットを転送する第2ステートマシンを有する第2ブリッジと、該第3ポートと接続され、該パケットを転送する第3ステートマシンを有する第3ブリッジと、該第1ブリッジと該第2ブリッジと該第3ブリッジとを互いと接続するバスと、該第1ポートから該第3ポートのポート番号と、該第1ポートから該第3ポートに接続された該情報処理装置、該入出力装置及び該他のスイッチに割り付けられた装置番号と、該情報処理装置、該入出力装置及び該他のスイッチに割り付けられたアドレスとからなるテーブルとを備え、該第1ステートマシンは、該第1ポートから該パケットを受信した時、該テーブルを参照して該パケット内のアドレスに対応する該入出力装置または該他のスイッチに該パケットを転送し、該第2ステートマシンは、該第1ブリッジから転送されたパケット内のアドレスと、該第2レジスタに格納されたアドレスとを参照して、該パケットを該第2ポートを介して該入出力装置に転送し、該第3ステートマシンは、該第1ブリッジから転送されたパケットを該第3ポートを介して該他のスイッチに転送することを特徴とする。
本実施形態の一側面によれば、スイッチに備えられたテーブルを参照して、パケット内のアドレスに対応する入出力装置または他のスイッチにパケットを転送するので、当該スイッチと当該他のスイッチとをユニット化することができる。そのため、バス階層を増加させることなく、システムを増大させることができる。
実施形態1におけるシステムを表す図である。 実施形態1におけるPCIeシステムを表す図である。 実施形態1におけるシステムツリーを表す図である。 バス番号の割り当て方を説明する図である。 実施形態1におけるパケットフォーマットの一例を表す図である。 実施形態1におけるスイッチシステムを表す図(その1)である。 実施形態1の接続前のスイッチを表す図(その1)である。 実施形態1におけるスイッチシステムを表す図(その2)である。 実施形態1の接続前のスイッチを表す図(その2)である。 実施形態1におけるスイッチシステムを表す図(その3)である。 構成情報テーブルを表す図である。 実施形態1における構成情報テーブルの更新処理を表すフローチャートである。 マスタスイッチで受信したパケットのルーティングを表す図である。 スレーブスイッチで受信したパケットのルーティングを表す図である。 マスタスイッチのパケット転送処理を表すフローチャートである。 スレーブスイッチのパケット転送処理を表すフローチャートである。 パケットの宛先検索処理を表すフローチャートである。 実施形態1の有効性を説明するための図である。 実施形態2におけるシステムを表す図である。 実施形態2におけるPCIeシステムを表す図である。 実施形態2におけるパケットフォーマットの一例を表す図である。 実施形態2におけるスイッチシステムを表す図である。 実施形態2における接続前のスイッチを表す図(その1)である。 実施形態2におけるスイッチシステムを表す図である。 パーティションテーブルを表す図である。 実施形態2における構成情報テーブルの更新処理を表すフローチャートである。 マスタスイッチで受信したパケットのルーティングを表す図である。 スレーブスイッチで受信したパケットのルーティングを表す図である。 実施形態2のパケットの転送処理を表すフローチャート(その1)である。 実施形態2のパケットの転送処理を表すフローチャート(その2)である。 実施形態2の有効性を説明するための図である。
以下に図面を用いて本実施形態について説明する。
(実施形態1)
図1は、本実施形態におけるシステム100の構成図を表す。システム100は、ホスト102、PCIeスイッチ104、I/O(Input/Output)デバイス106、ネットワークインタフェースカード(NIC:Network Interface Card)108、ネットワーク110、ホストバスアダプタ(HBA:Host Bus Adaptor)112及びディスク114を有する。
システム100は、ホストブリッジ1021を頂点とするツリー構造を有する。リーフの構成要素は、エンドポイント(EP:End Point)と呼ばれる。ホスト102は、中央処理装置(CPU:Central Processing Unit)1022及びホストブリッジ1021を有する。
ホスト102は、データの処理を行う。CPU1022はホストブリッジ1021に接続される。ホストブリッジ1021は、CPU1022とPCIバスを接続し、データの制御を行う。ホストブリッジ1021はPCIeスイッチ104に接続される。PCIeスイッチ104はホスト102とEnd PointであるI/Oデバイス106、NIC108及びHBA112とを接続する。
NIC108は、PCIeスイッチ104を構内通信網(LAN:Local Area Network)に接続するための拡張カードである。NIC108はネットワーク110に接続される。HBA112は、PCIeスイッチ104をディスク114に接続するアダプタである。HBA112はディスク114に接続される。ディスク114は、情報を格納する。
図2は、本実施形態におけるPCIeスイッチ104の構成図を表す。PCIeスイッチ104は、上流ポート1041、上流P2P(PCI−to−PCI)ブリッジ1040、下流P2Pブリッジ1042、及び下流ポート1043を有する。上流ポート1041は上流P2Pブリッジ1040に接続される。上流P2Pブリッジ1040及び下流P2Pブリッジ1042は内部PCIバス1044によって、互いに接続される。下流P2Pブリッジ1042は下流ポート1043に接続される。なおマスタスイッチは構成情報テーブル500を有する。構成情報テーブル500については後述する。
物理ポートである上流ポート1041及び下流ポート1043は他のデバイスとの通信路であるPCIeリンクを制御し、データ転送を行う。
上流P2Pブリッジ1040及び下流P2Pブリッジ1042は、パケットの転送とオーダリングを行う。上流P2Pブリッジ1040及び下流P2Pブリッジ1042は、それぞれ上流側部分と下流側部分に大別される。PCIeスイッチ104は、上流P2Pブリッジ1040を一つ有する。上流P2Pブリッジ1040及び下流P2Pブリッジ1042の上流側部分には、バス番号508、デバイス番号506及びファンクション番号509が割り当てられる。バス番号508は、OS/BIOSから割り当てられる番号である。デバイス番号506は、PCIeスイッチの連結後の相対的なポート番号を表す。ファンクション番号509は、デバイスが有する機能毎に割り当てられる番号である。上流P2Pブリッジ1040及び下流P2Pブリッジ1042の下流側部分には、割り当てるバス番号508の範囲情報を有する。また、上流P2Pブリッジ1040及び下流P2Pブリッジ1042の下流側部分には、割り当てるアドレス空間の先頭アドレス及びサイズ情報を有する。
上流P2Pブリッジ1040及び下流P2Pブリッジ1042は、それぞれステートマシン1037及びレジスタ1039を有する。レジスタ1039は下流に接続されるデバイス等のバス番号等を格納する。ステートマシン1037は、例えば、ホスト102から送信されるパケット内のバス番号と、レジスタ1039が格納するバス番号を参照して、当該パケットの送信先を決定する。
図3は、本実施形態におけるシステムツリー200の一例を表す。ツリーを構成するデバイスには上述したように、バス番号、デバイス番号及びファンクション番号が割り当てられる。全てのPCIeリンク及び内部バスには固有のバス番号が割り当てられる。ここで、内部バスとは、デバイス内のP2Pブリッジ同士を接続するバスである。バス番号は有限資源であり、バスセグメントの総数は256個である。P2Pブリッジは、バスセグメントを分割する。バスセグメントは、P2Pブリッジを挟んで上流側と下流側に分けられる。バスセグメントは、ホスト102に近い側が上流側となり、ホスト102に遠い側が下流となる。下流P2Pブリッジ1042のホストからの距離を階層の深さとして定義する。
図4を参照してOSによるブリッジへのバス番号の割り当て方について説明する。システム102は、CPU1022、「ブリッジ1」10、「ブリッジ1」20及び「ブリッジ3」30、さらに、デバイス21、22、23及び24を有する。CPU1022、「ブリッジ1」10、デバイス21及びデバイス22は、「バス0」9を介して互いに接続される。また、「ブリッジ1」10、デバイス23、デバイス24、「ブリッジ2」20及び「ブリッジ3」30は「バス1」11を介して互いに接続される。さらに、「ブリッジ2」20には「バス2」12が接続され、「ブリッジ3」30には「バス3」13が接続される。なお、システム102において、ポートは省略して表している。
OSは、スキャンによって最初のブリッジとして「ブリッジ1」10を発見する。スキャンの方法として、例えば、デプスワイズ・アルゴリズム(depthwise algorithm)が使われる。OSは、「ブリッジ1」10の下流に位置する「バス1」11を、バス1と番号付ける。「ブリッジ1」10には、「ブリッジ1」10の直上のバス番号であるプリマリバス番号として0が割り当てられる。また、「ブリッジ1」10には、「ブリッジ1」10の直下のバス番号であるセカンダリバス番号として1が割り当てられる。さらに、「ブリッジ1」10の下流に位置する到達可能なバスの中で最も大きな番号であるサブオーディネイトバス番号として一時的にOxFFが割り当てられる。これは、バス番号として1かそれ以上を指定するType1のPCIコンフィグレーションアドレスが、「ブリッジ1」10を通ってバス1に渡されることを意味する。パケットがバス番号1を持つ場合は、Type1からType0に変換される。しかし、パケットがバス番号1以外の番号を有する場合は、Type1からType0に変換されない。
OSは、「バス1」11へと進んでスキャンを行う。ここで、OSは、「ブリッジ2」20を発見する。OSは、「ブリッジ2」20に、プリマリバス番号として0を、セカンダリバス番号として1を割り当てる。「ブリッジ2」20以下には新たなブリッジは存在しないので、OSは、「ブリッジ2」20にサブオーディネイトバス番号として2を割り当てる。
OSは、バス1のスキャニングに戻り、「ブリッジ3」30を発見する。OS、「ブリッジ3」30のプライマリバス番号として1を、セカンダリバス番号として3を割り当てる。「ブリッジ3」30以下には新たなブリッジは存在しないので、OSは、「ブリッジ3」30にサブオーディネイトバス番号として3を割り当てる。最後に、OSは「ブリッジ1」10にサブオーディネイトバス番号として3を割り当てる。
図5にパケットのフォーマットの一例を表す。パケット300は、ヘッダ302、TLP304及び「CRC32」306を有する。ヘッダ302はパケットの開始を識別するためのヘッダである。TLP304はコマンドとデータを送受信するためのパケットであり、宛先アドレスまたはバス番号が含まれている。「CRC32」306は誤り検出符号である。本実施形態では、例えば、ヘッダ302は2Byte、TLP304は12Byte〜4116Byte、「CRC32」306は4Byteである。
パケットのルーティング方式には、アドレスルーティング方式と、IDルーティング方式とがある。アドレスルーティング方式は、パケットの宛先ポートを宛先アドレスによって指定する方式である。宛先アドレスを配下のアドレス空間に持つ下流側P2Pブリッジに対してパケットを転送する。対応するP2Pブリッジが無い場合は、パケットを上流側ブリッジに転送する。IDルーティング方式は、パケットの宛先ポートをバス番号、デバイス番号及びファンクション番号の組で指定する方式である。対応するバス番号を配下に持つ下流P2Pブリッジに対してパケットを転送する。
パケットはコンフィグレーション・リード/ライト(Configuration R/W)、メモリ・リード/ライト(MemoryR/W)及びメッセージ(Message)の三種類に大別される。コンフィグレーション・リード/ライトはデバイス情報のリードまたはライトを表すパケットであり、コンフィグレーションアクセスに使用される。メモリ・リード/ライトとは、データのリードまたはライトを表すパケットである。メッセージとは、割り込みを表すパケットである。ここで、コンフィグレーションアクセスとは、OS/BIOSから発行される構成設定用トランザクションである。コンフィグレーションアクセスは、OS/BIOSによるP2PブリッジやI/Oデバイスのバス番号の設定やベンダ情報の取得、P2PブリッジやI/Oデバイスに対するダイレクト・メモリ・アクセスの可否の設定を行うためのトランザクションである。PCIeスイッチを含むPCIeデバイス構成情報は、コンフィグレーションアクセスによって設定される。
さらに、コンフィグレーションアクセスは、タイプ0及びタイプ1に分別される。タイプ0のコンフィグレーションアクセスにはバス番号が含まれない。そして、タイプ0のコンフィグレーションアクセスは、全てのデバイスによって、そのPCIバス上のコンフィグレーションアドレスであると解釈される。タイプ1のコンフィグレーションアクセスにはバス番号が含まれる。そして、タイプ1のコンフィグレーションアクセスは、P2Pブリッジ以外の全てのPCIeデバイスから無視される。タイプ1のコンフィグレーションアドレスを参照した全てのP2Pブリッジは、パケットを下流に転送する。
図6に本実施形態におけるスイッチシステム400を表す。図6に表したシステム400は、図7に表した2つのスイッチを接続したものである。連結対象となるスイッチについて、ホストブリッジ1021に最も近いスイッチをマスタスイッチ402とする。その他のスイッチをスレーブスイッチ404とする。マスタスイッチ402とスレーブスイッチ404の間は仮想リンクと呼ばれる専用リンクによって接続される。仮想リンクが接続されるポートは仮想ポート1045と呼ばれる。システム内でN個のスイッチを接続する場合、マスタスイッチ402にはN−1個の仮想ポート1045、スレーブスイッチ404には、1個の仮想ポートを有する。
仮想ポート1045に接続されるP2Pブリッジ1046では、まずOS/BIOSから送信されるコマンドがコンフィグレーションアクセスのコマンドであるか否かを判定する。そして、当該コマンドがコンフィグレーションアクセスである場合は、当該コマンドを接続されたスイッチに送信する。このように、仮想ポートに接続されるP2Pブリッジ1046では、OS/BIOSからのコンフィグレーションアクセスを終端せず、コンフィグレーションアクセスのコマンドをそのまま仮想リンクを通じて対向スイッチに転送する。またタイプ1からタイプ0への変換も行わない。この動作により、 OS/BIOSに仮想リンクの階層を認識させない。PCIExpressスイッチ間をつなぐ仮想リンク間には、全てのトランザクションを変更なしにそのまま転送する。コンフィグレーションアクセスについても同様である。仮想ポートおよび仮想リンクはPCIExpressのプロトコルに依存しない。仮想ポートの実施例として、仮想ポートおよび仮想リンクに閉じたPCIExpressバスを使用することができる。つまり、OS/BIOSから独立したアドレス空間を持つことにより、上記機能を実現する。
なお、図2で説明したステートマシン1037が、パケットがレジスタ1039へのアクセスを要求するパケットであるか否かを判定することにより、OS/BIOSから送信されるコマンドがコンフィグレーションアクセスのコマンドであるか否かを判定している。OS/BIOSから送信されるコマンドがコンフィグレーションアクセスのコマンドである場合、ステートマシン1037は、パケットをレジスタ1039にアクセスさせることなく、転送する。また、仮想ポート1045に接続されるP2Pブリッジ1046でのOS/BIOSから送信されるコマンドがコンフィグレーションアクセスのコマンドであるか否かを判定する処理は、例えばファームウェアによって実行されても良い。
また、図8に、本実施形態におけるスイッチシステム401を表す。図8に表したシステム401は、図9に表した3つのスイッチを接続したものである。
図10は、スイッチシステム400を表す。マスタスイッチ402はマスタスイッチ402及びスレーブスイッチ404の構成情報を構成情報テーブル500として有する。構成情報テーブル500の更新は、OS/BIOSが発行するコンフィグレーションアクセスに基づいて行われる。マスタスイッチ402が、コンフィグレーションアクセスパケットをスヌープし、コンフィグレーションアクセスパケットの情報を用いて構成情報テーブル500を作成する。
図11に構成情報テーブル500を表す。構成情報テーブル500は、スイッチ番号502、ポート番号504、デバイス番号506、バス番号508、バス範囲情報512を有する。スイッチ番号502は、システム内で固有の番号である。ポート番号504は、各スイッチのポート位置を表す。デバイス番号506は、連結後の相対的なポート番号を表す。バス番号508は、OS/BIOSから割り当てられる番号である。アドレス範囲情報510は、対応するP2Pブリッジの配下にあるアドレス空間の範囲を表し、OS/BIOSから割り当てられる。バス範囲情報512は、対応するP2Pブリッジの配下にあるPCIバスの範囲を表し、OS/BIOSから割り当てられる。
図12を参照して、構成情報テーブルの更新処理について説明する。ステップS101において、マスタスイッチ402の上流P2Pブリッジ1040は、パケットを受信する。処理はステップS102へ移行する。
ステップS102において、上流P2Pブリッジ1040は、受信したパケットのヘッダを検査する。処理はステップS103へ移行する。
ステップS103において、上流P2Pブリッジ1040は、受信したパケットのヘッダを参照して、受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストであるか否かを判定する。受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストである場合は、処理はステップS104へ移行する。一方、受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストでない場合は、処理はステップS106へ移行する。
ステップS104において、上流P2Pブリッジ1040は、受信したパケットのヘッダを参照して、受信したパケットのコンフィグレーションアドレスはセカンダリ・バス・ナンバー(Secondly Bus Number)であるか否かを判定する。セカンダリ・バス・ナンバーとは、PCIブリッジの直下のバス番号を表す。受信したパケットのコンフィグレーションアドレスがセカンダリ・バス・ナンバーである場合、処理はステップS105へ移行する。一方、受信したパケットのコンフィグレーションアドレスはセカンダリ・バス・ナンバーでない場合、処理はステップS109へ移行する。
ステップS105において、上流P2Pブリッジ1040は、内部バス番号を更新する。処理は終了する。
上述したステップS103において、受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストでない場合、処理はステップS106へ移行する。
ステップS106において、上流P2Pブリッジ1040は、受信したパケットのヘッダを参照して、受信したパケットがタイプ1のコンフィグレーション・ライト・リクエストであるか否かを判定する。受信したパケットがタイプ1のコンフィグレーション・ライト・リクエストである場合、処理はステップS107へ移行する。一方、受信したパケットがタイプ1のコンフィグレーション・ライト・リクエストでない場合、処理は終了する。
ステップS107において、上流P2Pブリッジ1040は、受信したパケットのヘッダを参照して、パケットのバス番号が内部バス番号であるか否かを判定する。パケットのバス番号が内部バス番号である場合、処理はステップS108へ移行する。一方、パケットのバス番号が内部バス番号でない場合、処理は終了する。
ステップS108において、上流P2Pブリッジ1040は、バケットのデバイス番号を参照して、構成情報の更新対象エントリを設定し、当該エントリのバス番号を更新する。処理はステップS109へ移行する。
ステップS109において、上流P2Pブリッジ1040は、バケットのデバイス番号を参照して、コンフィグレーションアドレスがブリッジ情報であるか否かを判定する。コンフィグレーションアドレスがブリッジ情報である場合、処理はステップS110へ移行する。一方、コンフィグレーションアドレスがブリッジ情報でない場合、処理は終了する。
ステップS110において、上流P2Pブリッジ1040は、ステップS108において設定した更新対象エントリのブリッジ情報を更新する。処理は終了する。
図13及び図14を参照して、パケットのルーティング方式について説明する。図13は、マスタスイッチ402のポートで受信したパケットのルーティングを表している。まず、受信ポートでパケットのヘッダを解析し、構成情報テーブル500に宛先解決を要求する。構成情報テーブル500では、パケットの種類に応じ、番号対応表、バス範囲キャッシュ(IDルーティング)またはアドレス範囲キャッシュ(アドレスルーティング)によりパケットの宛先ポートを決定する。パケットの宛先ポートがスレーブスイッチ404の場合、パケットを仮想リンク対応する仮想ポート1045に転送する。スレーブスイッチ404は、通常のPCIeスイッチと同様の処理を行う。一方、図14は、スレーブスイッチ404のポートで受信したパケットのルーティングを表している。受信ポートは、パケットを仮想リンクを通じてマスタスイッチ402に転送する。マスタスイッチ402は、上述した手順に従って、パケットのルーティングを行う。
図15を参照して、マスタスイッチ402のパケット転送処理について説明する。
ステップS201において、マスタスイッチ402の上流P2Pブリッジ1040は、パケットを受信する。処理はステップS202へ移行する。
ステップS202において、上流P2Pブリッジ1040は、受信したパケットのヘッダを検査する。処理はステップS203へ移行する。
ステップS203において、上流P2Pブリッジ1040は、構成情報テーブル500を参照して、パケットの宛先を検索する。宛先検索処理については図17を用いて後述する。処理はステップS204へ移行する。
ステップS204において、上流P2Pブリッジ1040は、パケットの宛先がマスタスイッチ402内か否かを判定する。パケットの宛先がマスタスイッチ402内である場合、処理はステップS205へ移行する。一方、パケットの宛先がマスタスイッチ402内でない場合、処理はステップS206へ移行する。
ステップS205において、上流P2Pブリッジ1040は、マスタスイッチ402内の対応するポートにパケットを転送する。処理は終了する。
ステップS205において、上流P2Pブリッジ1040は、対応するスレーブスイッチ404の仮想ポートにパケットを転送する。処理は終了する。
図16を参照して、スレーブスイッチ404のパケット転送処理について説明する。
ステップS211において、スレーブスイッチ404の下流P2Pブリッジ1042はパケットを受信する。処理はステップS212へ移行する。
ステップS212において、下流P2Pブリッジ1042は、受信ポートが仮想リンクであるか否かを判定する。受信ポートが仮想リンクである場合、処理はステップS213へ移行する。一方、受信ポートが仮想リンクでない場合、処理はステップS214へ移行する。
ステップS213において、下流P2Pブリッジ1042は、PCIExpressのルールに従ってパケットを転送する。処理は終了する。
ステップS214において、下流P2Pブリッジ1042は、マスタスイッチ402に接続する仮想ポートにパケットを転送する。処理は終了する。
図17を参照してパケットの宛先検索処理について説明する。
ステップS301において、上流P2Pブリッジ1040は、パケットのルーティングタイプがアドレスまたはIDのいずれかであるかを判定する。パケットのルーティングタイプがアドレスである場合、処理はステップS302へ移行する。一方、パケットのルーティングタイプがIDである場合、処理はステップS303へ移行する。
ステップS302において、上流P2Pブリッジ1040は、パケットのアドレスが構成情報テーブル500に登録されているアドレスの範囲内にあるか否かを判定する。パケットのアドレスが構成情報テーブル500に登録されているアドレスの範囲内にある場合、処理はステップS304へ移行する。一方、パケットのアドレスが構成情報テーブル500に登録されているアドレスの範囲内にない場合、処理はステップS306へ移行する。
ステップS304において、上流P2Pブリッジ1040は、対応するポートを宛先ポートに設定する。処理は終了する。
ステップS303において、上流P2Pブリッジ1040は、パケットのIDが構成情報テーブル500に登録されているIDの範囲内にあるか否かを判定する。パケットのIDが構成情報テーブル500に登録されているIDの範囲内にある場合、処理はステップS304へ移行し、上流P2Pブリッジ1040は、対応するポートを宛先ポートに設定する。一方、パケットのIDが構成情報テーブル500に登録されているIDの範囲内にない場合、処理はステップS305へ移行する。
ステップS305において、上流P2Pブリッジ1040は、パケットのバスが構成情報テーブル500に登録されているバスの範囲内にあるか否かを判定する。パケットのバスが構成情報テーブル500に登録されているバスの範囲内にある場合、処理はステップS304へ移行し、上流P2Pブリッジ1040は、対応するポートを宛先ポートに設定する。一方、パケットのバスが構成情報テーブル500に登録されているバスの範囲内にない場合、処理はステップS306へ移行する。
ステップS306において、上流P2Pブリッジ1040は、パケットが下流ポートから送信されてきたか否かを判定する。パケットが下流ポートから送信されてきた場合、処理はステップS307へ移行する。一方、パケットが下流ポートから送信されてきていない場合、処理はステップS308へ移行する。
ステップS307において、上流P2Pブリッジ1040は、上流ポートを宛先ポートに設定する。処理は終了する。
ステップS308において、上流P2Pブリッジ1040は、パケットの転送先無しとしてエラーを出力する。処理は終了する。
図18を参照して、第一実施形態の有効性について説明する。例えば、図18に表すスイッチシステム421のように、2つのPCIeスイッチを上流ポートと下流ポートを組み合わせる形で接続した場合、システム内で使用されるバス番号及びエンド・ポイントまでの階層が、単一スイッチと比較してそれぞれ2つ増加する。これに対して、第一実施形態によれば、2つのPCIeスイッチを仮想リンクによって接続するため、システム内で使用されるバス番号及びエンド・ポイントまでの階層が増加しない。ゆえに、複数のスイッチを接続しても、使用するバス階層及び階層の深さを一定に保つことができる。
(実施形態2)
図19は、本実施形態におけるシステム101の構成図を表す。実施形態1において説明したものと同様のものには同一の番号を付している。サーバやPCなどにおいて複数のホストを有するシステムを論理分割(パーティショニング)して使用したいという要求がある。システム101は当該要求を実現している。システム101は、第一のホストブリッジ1021及び第二のホストブリッジ1021を有する。ホストブリッジ1021が複数存在するため、PCIeスイッチにおいてもパーティショニングを行う必要がある。複数のスイッチチップからなるPCIeスイッチを論理分割する技術として、PCISIGにおいてマルチ・ルート・アイオー・バーチュライゼーション(MR−IOV:Multi−Root I/O Virtualization)が規定されている。
図20は、本実施形態におけるPCIeスイッチ114の論理分割を表している。PCIeスイッチ114は、パーティション1及びパーティション2を有する。パーティション1は、上流ポート1141、上流ブリッジ1140、下流ブリッジ1142及び下流ポート1143を有する。上流ブリッジ1140と下流ブリッジ1142とは、内部PCIバス11441によって互いに接続される。パーティション2は、上流ポート1141、上流ブリッジ1140、下流ブリッジ1142及び下流ポート1143を有する。上流ブリッジ1140と下流ブリッジ1142とは、内部PCIバス11442によって互いに接続される。
図21にパケットのフォーマットの一例を表す。パケット310は、ヘッダ302、Tag301、PTN#303、TLP304及び「CRC32」306を有する。図5において説明したものについては同一番号を付し、その説明を省略する。Tag301は、PTN#303の開始を識別するためのヘッダである。PTN#303はパーティションの番号を表す。本実施形態においては、例えば、ヘッダ320は2Byte、Tagは2Byte、PTN#303は2Byte、TLP304は12Byte〜4116Byte、「CRC32」306は4Byteである。
図22に本実施形態におけるスイッチシステム411を表す。図22に表したシステム411は、図23に表した2つのスイッチを接続したものである。連結対象となるスイッチについて、ホストブリッジ1021に最も近いスイッチをマスタスイッチ412とする。その他のスイッチをスレーブスイッチ414とする。マスタスイッチ412とスレーブスイッチ414の間は仮想リンクと呼ばれる専用リンクによって接続される。仮想リンクが接続されるポートは仮想ポート1145と呼ばれる。システム内でN個のスイッチを接続する場合、マスタスイッチ412にはN−1個の仮想ポート1145、スレーブスイッチ414には、1個の仮想ポートを有する。
仮想ポート1145に接続されるP2Pブリッジ1146では、まずOS/BIOSから送信されるコマンドがコンフィグレーションアクセスのコマンドであるか否かを判定する。そして、当該コマンドがコンフィグレーションアクセスである場合は、当該コマンドを接続されたスイッチに送信する。
図24にスイッチシステム410を表す。マスタスイッチ412はマスタスイッチ412及びスレーブスイッチ414の構成情報を構成情報テーブル500として有する。
図25にパーティションテーブル600を表す。パーティションテーブル600は、パーティション番号602、スイッチ番号604、ポート番号606、転送ポート番号608及び下流ポート群番号610を有する。パーティション番号602は、インデックスである。スイッチ番号604及びポート番号606は上流ポート情報である。転送ポート番号608及び下流ポート群番号610は自スイッチ情報である。なお、パーティションテーブル600は、例えば、パーティション構成決定時にソフトウェアによって設定される。
図26を参照して、構成情報テーブルの更新処理について説明する。
ステップS401において、ステップS101において、マスタスイッチ412の上流P2Pブリッジ1140は、パケットを受信する。処理はステップS402へ移行する。
ステップS402において、上流P2Pブリッジ1140は、パケットの受信ポート番号からパーティション番号を取得する。処理はステップS403へ移行する。
ステップS403において、上流P2Pブリッジ1140は、ステップS402において取得したパーティション番号に対応する構成情報テーブルを取得する。処理はステップS404へ移行する。
ステップS404において、上流P2Pブリッジ1140は、受信したパケットのヘッダを検査する。処理はステップS405へ移行する。
ステップS405において、上流P2Pブリッジ1140は、受信したパケットのヘッダを参照して、受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストであるか否かを判定する。受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストである場合は、処理はステップS406へ移行する。一方、受信したパケットがタイプ0のコンフィグレーション・ライト・リクエストでない場合は、処理はステップS408へ移行する。
ステップS406において、上流P2Pブリッジ1140は、受信したパケットのヘッダを参照して、受信したパケットのコンフィグレーションアドレスはセカンダリ・バス・ナンバーであるか否かを判定する。受信したパケットのコンフィグレーションアドレスがセカンダリ・バス・ナンバーである場合、処理はステップS407へ移行する。一方、受信したパケットのコンフィグレーションアドレスがセカンダリ・バス・ナンバーでない場合、処理はステップS411へ移行する。
ステップS407において、上流P2Pブリッジ1140は、内部バス番号を更新する。処理は終了する。
ステップS408において、上流P2Pブリッジ1140は、受信したパケットのヘッダを参照して、受信したパケットがタイプ1の Configuration Write Requestであるか否かを判定する。受信したパケットがタイプ1 Configuration Write Requestである場合、処理はステップS409へ移行する。一方、受信したパケットがタイプ1 Configuration Write Requestでない場合、処理は終了する。
ステップS409において、上流P2Pブリッジ1140は、受信したパケットのヘッダを参照して、パケットのバス番号が内部バス番号であるか否かを判定する。パケットのバス番号が内部バス番号である場合、処理はステップS410へ移行する。一方、パケットのバス番号が内部バス番号でない場合、処理は終了する。
ステップS410において、上流P2Pブリッジ1140は、バケットのデバイス番号を参照して、構成情報の更新対象エントリを設定し、当該エントリのバス番号を更新する。処理はステップS411へ移行する。
ステップS411において、上流P2Pブリッジ1140は、バケットのデバイス番号を参照して、コンフィグレーションアドレスがブリッジ情報であるか否かを判定する。コンフィグレーションアドレスがブリッジ情報である場合、処理はステップS412へ移行する。一方、コンフィグレーションアドレスがブリッジ情報でない場合、処理は終了する。
ステップS412において、マスタスイッチ412は、ステップS410において設定した更新対象エントリのブリッジ情報を更新する。処理は終了する。
図27及び図28を参照して、パケットのルーティング方式について説明する。図27は、マスタスイッチ412のポートで受信したパケットのルーティングを表している。まず、受信ポートでパケットのヘッダを解析し、構成情報テーブル500に宛先解決を要求する。構成情報テーブル500では、パケットの種類に応じ、番号対応表、バス範囲キャッシュ(IDルーティング)またはアドレス範囲キャッシュ(アドレスルーティング)によりパケットの宛先ポートを決定する。パケットの宛先ポートがスレーブスイッチ414の場合、パケットを仮想リンク対応する仮想ポート1145に転送する。転送ポートは、パケットの受信ポートのパーティション番号によって、パーティションテーブル600から取得する。スレーブスイッチ414は、通常のPCIeスイッチと同様の処理を行う。一方、図28は、スレーブスイッチ414のポートで受信したパケットのルーティングを表している。受信ポートは、パケットを仮想リンクを通じてマスタスイッチ412に転送する。マスタスイッチ412は、上述した手順に従って、パケットのルーティングを行う。転送ポートは、パケットの受信ポートのパーティション番号によって、パーティションテーブル600から取得する。
図29及び図30を参照して、パケット転送処理について説明する。
ステップS501において、パケットを受信したマスタスイッチ412の上流P2Pブリッジ1140は、受信ポートが仮想リンクであるか否かを判定する。受信ポートが仮想リンクである場合、処理はステップS502へ移行する。一方、受信ポートが仮想リンクでない場合、処理はステップS503へ移行する。
ステップS502において、上流P2Pブリッジ1140は、ステップS501において取得したパケットからパーティション番号を取得する。処理はステップS504へ移行する。
ステップS503において、上流P2Pブリッジ1140は、受信ポート番号からパーティション番号を取得する。処理はステップS504へ移行する。
ステップS504において、上流P2Pブリッジ1140は、パーティション番号に対応する仮想スイッチはマスタスイッチであるか否か判定する。パーティション番号に対応する仮想スイッチがマスタスイッチである場合、処理はステップS509へ移行する。一方、パーティション番号に対応する仮想スイッチはマスタスイッチでない場合、処理はステップS505へ移行する。
ステップS505において、上流P2Pブリッジ1140は、受信ポートは仮想リンクであるか否かを判定する。受信ポートが仮想リンクである場合、処理はステップS506へ移行する。一方、受信ポートが仮想リンクでない場合、処理はステップS508へ移行する。
ステップS506において、下流P2Pブリッジ1142は、パーティション番号に対応する下流ポートを選択する。処理はステップS507へ移行する。
ステップS507において、下流P2Pブリッジ1142は、PCIExpressのルールに従ってパケットを転送する。処理は終了する。
ステップS508において、下流P2Pブリッジ1142は、マスタスイッチ412に接続する仮想ポート1145にパケットを転送する。処理は終了する。
ステップS509において、下流P2Pブリッジ1142は、パーティション番号に対応した構成情報テーブルを取得する。処理は図30のステップS510へ移行する。
ステップS510において、上流P2Pブリッジ1140は、受信したパケットのヘッダを検査する。処理はステップS511へ移行する。
ステップS511において、上流P2Pブリッジ1140は、受信したパケットの宛先を検索する。宛先検索処理については図0を用いて説明したのと同様なので、その説明を省略する。処理はステップS512へ移行する。
ステップS512において、上流P2Pブリッジ1140は、受信したパケットの宛先がマスタスイッチ412内か否かを判定する。パケットの宛先がマスタスイッチ412内である場合、処理はステップS513へ移行する。一方、パケットの宛先がマスタスイッチ412内でない場合、処理はステップS514へ移行する。
ステップS513において、上流P2Pブリッジ1140は、マスタスイッチ412内の対応するポートにパケットを転送する。処理は終了する。
ステップS514において、上流P2Pブリッジ1140は、対応するスレーブスイッチ414の仮想ポート1145にパケットを転送する。処理は終了する。
図31を参照して、本実施形態の有効性について説明する。例えば、図31のスイッチシステム431ように2つのPCIeスイッチを上流ポートと下流ポートを組み合わせる形で接続した場合、システム内で使用されるバス番号及びEnd Pointまでの階層が、単一スイッチと比較してそれぞれ2つ増加する。これに対して、第二実施形態によれば、2つのPCIeスイッチを仮想リンクによって接続するため、システム内で使用されるバス番号及びEnd Pointまでの階層が増加しない。ゆえに、複数のスイッチを接続しても、使用するバス階層及び階層の深さを一定に保つことができる。
1、2 パーティション
9 バス0
10 ブリッジ1
11 バス1
12 バス2
13 バス3
100、101 システム
102 ホスト
1021 ホストブリッジ
1022 CPU
104、114 PCIeスイッチ
1040、1140 上流P2Pブリッジ
1041、1141 上流ポート
1042、1142 下流P2Pブリッジ
1043、1143 下流ポート
1044、11441、11442 内部バス
1045 仮想ポート
1046 仮想ポートに接続されるP2Pブリッジ
106 I/Oデバイス
108 NIC
110 ネットワーク
112 HBA
114 ディスク
20 ブリッジ2
21、22、23、24 デバイス
200 システムツリー
30 ブリッジ3
300、310 パケット
301 tag
302 ヘッダ
303 パーティション番号
304 TLP
306 CRC32
401、411、421、431 スイッチシステム
402、412 マスタスイッチ
404、414 スレーブスイッチ
500 構成情報テーブル
502 スイッチ番号
504 ポート番号
506 デバイス番号
508 バス番号
509 ファンクション番号
510 アドレス範囲情報
512 バス範囲情報
600 パーティションテーブル
602 パーティション番号
604 スイッチ番号
606 ポート番号
608 転送ポート番号
610 下流ポート群番号

Claims (8)

  1. 情報処理装置と入出力装置とからスイッチングするためのアドレスを含むパケットを受信し、該パケットをスイッチングするスイッチにおいて、
    該情報処理装置と接続され、該パケットを送受信する第1ポートと、
    該入出力装置と接続され、該パケットを送受信する第2ポートと、
    他のスイッチと接続され、該パケットを送受信する第3ポートと、
    該第1ポートと接続され、情報を格納する第1レジスタと、該パケットを転送する第1ステートマシンを有する第1ブリッジと、
    該第2ポートと接続され、該スイッチに接続された入出力装置に対応するアドレスを格納する第2レジスタと、該パケット内のアドレスと該レジスタに格納されたアドレスに基づいて該パケットを転送する第2ステートマシンを有する第2ブリッジと、
    該第3ポートと接続され、該パケットを転送する第3ステートマシンを有する第3ブリッジと、
    該第1ブリッジと該第2ブリッジと該第3ブリッジとを互いと接続するバスと、
    該第1ポートから該第3ポートのポート番号と、該第1ポートから該第3ポートに接続された該情報処理装置、該入出力装置及び該他のスイッチに割り付けられた装置番号と、該情報処理装置、該入出力装置及び該他のスイッチに割り付けられたアドレスとからなるテーブルとを備え、
    該第1ステートマシンは、該第1ポートから該パケットを受信した時、該テーブルを参照して該パケット内のアドレスに対応する該入出力装置または該他のスイッチに該パケットを転送し、該第2ステートマシンは、該第1ブリッジから転送されたパケット内のアドレスと、該第2レジスタに格納されたアドレスとを参照して、該パケットを該第2ポートを介して該入出力装置に転送し、該第3ステートマシンは、該第1ブリッジから転送されたパケットを該第3ポートを介して該他のスイッチに転送することを特徴とするスイッチ。
  2. 該第1ブリッジは、該情報処理装置から受信したパケットを参照して、該テーブルを更新することを特徴とする請求項1記載のスイッチ。
  3. 該第2ブリッジは、該第2ポートを介して該入出力装置からパケットを受信した場合、該パケットを該第1ブリッジに転送し、該第1ステートマシンは、該第2ブリッジから転送されたパケット内のアドレスと該テーブルを参照して、該パケットを宛先に転送することを特徴とする請求項1記載のスイッチ。
  4. 情報処理装置と入出力装置とからスイッチングするためのアドレスを含むパケットを受信し、該情報処理装置と接続され、該パケットを送受信する第1ポートと、該入出力装置と接続され、該パケットを送受信する第2ポートと、他のスイッチと接続され、該パケットを送受信する第3ポートと、該第1ポートと接続され、情報を格納する第1レジスタと、該パケットを転送する第1ステートマシンを有する第1ブリッジと、該第2ポートと接続され、該スイッチに接続された入出力装置に対応するアドレスを格納する第2レジスタと、該パケット内のアドレスと該レジスタに格納されたアドレスに基づいて該パケットを転送する第2ステートマシンを有する第2ブリッジと、該第3ポートと接続され、該パケットを転送する第3ステートマシンを有する第3ブリッジと、該第1ブリッジと該第2ブリッジと該第3ブリッジとを互いと接続するバスとを備えるスイッチの制御方法において、
    該スイッチは、該第1ポートから該第3ポートのポート番号と、該第1ポートから該第3ポートに接続された該情報処理装置、該入出力装置及び該他のスイッチに割り付けられた装置番号と、該情報処理装置、該入出力装置及び該他のスイッチに割り付けられたアドレスとからなるテーブルを備え、
    該第1ステートマシンは、該第1ポートから該パケットを受信した時、該テーブルを参照して該パケット内のアドレスに対応する該入出力装置または該他のスイッチに該パケットを転送し、該第2ステートマシンは、該第1ブリッジから転送されたパケット内のアドレスと、該第2レジスタに格納されたアドレスとを参照して、該パケットを該第2ポートを介して該入出力装置に転送し、該第3ステートマシンは、該第1ブリッジから転送されたパケットを該第3ポートを介して該他のスイッチに転送することを特徴とするスイッチの制御方法。
  5. 該第1ブリッジは、該情報処理装置から受信したパケットを参照して、該テーブルを更新することを特徴とする請求項4記載のスイッチの制御方法。
  6. 該第2ブリッジは、該第2ポートを介して該入出力装置からパケットを受信した場合、該パケットを該第1ブリッジに転送し、該第1ステートマシンは、該第2ブリッジから転送されたパケット内のアドレスと該テーブルを参照して、該パケットを宛先に転送することを特徴とする請求項4記載のスイッチの制御方法。
  7. パケットを送信する情報処理装置と、
    該情報処理装置が送信したパケットを受信する第1ポートと、情報を格納する第1レジスタを有し、該第1ポートが受信したパケットを転送する第1ブリッジと、該第1ブリッジと接続される第1バスと、情報を格納する第2レジスタを有し、該第1バスと接続される第2ブリッジと、該第2ブリッジと接続される第2ポートと、該第2ポートと接続される第2バスと、該第2バスと接続される第1デバイスと、情報を格納する第3レジスタを有し、該第1バスと接続される第3ブリッジと、該第3ブリッジと接続される第3ポートとを有する第1スイッチと、
    該第3ポートと接続される第4ポートと、情報を格納する第4レジスタを有し、該第4ポートが受信したパケットを転送する第4ブリッジと、該第4ブリッジと接続される第3バスと、情報を格納する第5レジスタを有し、該第3バスと接続される第5ブリッジと、該第5ブリッジと接続される第5ポートと、情報を格納する第6レジスタを有し、該第3バスと接続される第6ブリッジと、該第6ブリッジと接続される第6ポートと、該第6ポートと接続される第4バスと、該第4バスと接続される第2デバイスとを有する第2スイッチとを有するスイッチシステムの制御方法において、
    該第1ポート及び該第1ブリッジと、該第3ブリッジ及び該第3ポートと、該第4ポート及び該第4ブリッジと、該第6ブリッジ及び該第6ポートは第1パーティションを構成し、
    該第2ポート及び該第2ブリッジと、該第3ブリッジ及び該第3ポートと、該第4ポート及び該第4ブリッジと、該第5ブリッジ及び該第5ポートは第2パーティションを構成し、
    該第1スイッチは、該第1パーティションと該第1デバイスと該第1デバイスが接続されたバスの番号とが対応付けられた第1対応情報と、該第2パーティションと該第2デバイスと該第2デバイスと接続されたバスの番号とが対応付けられた第2対応情報とを有し、
    該第1レジスタは、該第1バスの番号を格納し、
    該第2レジスタは、該第2バスの番号を格納し、
    該第5レジスタは、該第3バスの番号を格納し、
    該第6レジスタは、該第4バスの番号を格納し、
    該第1ブリッジは、該パケットが該第1レジスタへのアクセスを要求するパケットである場合、該第1ポートが有するパーティション番号に基いて、該第1対応情報または該第2対応情報を選択し、該第1対応情報を選択した場合、該第1レジスタに格納されたバス番号及び該第1対応情報に基づいて、該パケットの宛先が該第2スイッチである場合、該パケットを該第3ブリッジに送信し、
    該第3ブリッジは、該パケットが該第3レジスタへのアクセスを要求するパケットである場合、該パケットを該第3ポートを介して該第4ポートに送信し、
    該第4ブリッジは、該パケットが該第4レジスタへのアクセスを要求するパケットである場合、該パケットを該第6ブリッジに送信し、
    該第6ブリッジは、該パケットが該第6レジスタへのアクセスを要求するパケットである場合、該パケットに含まれるバス番号と、該第6レジスタに格納されたバス番号に基づき決定した宛先に該パケットを送信する、
    ことを特徴とするスイッチシステムの制御方法。
  8. 該第5ブリッジは、該パケットが該第5レジスタへのアクセスを要求するパケットである場合、該第5ポートが有するパーティション番号に基づいて、該第1対応情報または該第2対応情報を選択し、該第2対応情報を選択した場合、該第5レジスタに格納されたバス番号及び該第2対応情報に基づいて、該パケットの宛先が該第1スイッチである場合、該パケットを該第4ブリッジに送信し、
    該第4ブリッジは、該パケットが該第4レジスタへのアクセスを要求するパケットである場合、該パケットを該第4ポートを介して該第3ポートに送信し、
    該第3ブリッジは、該パケットが該第3レジスタへのアクセスを要求するパケットである場合、該パケットを該第2ブリッジに送信し、
    該第2ブリッジは、該パケットが該第2レジスタへのアクセスを要求するパケットである場合、該パケットに含まれるバス番号と、該第2レジスタに格納されたバス番号に基づき決定した宛先に該パケットを送信することを特徴とする請求項7記載のスイッチシステムの制御方法。
JP2009074287A 2009-03-25 2009-03-25 スイッチシステム、及びスイッチシステムの制御方法 Expired - Fee Related JP5310175B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009074287A JP5310175B2 (ja) 2009-03-25 2009-03-25 スイッチシステム、及びスイッチシステムの制御方法
US12/728,667 US8392645B2 (en) 2009-03-25 2010-03-22 Switch system, sub-switch and method of controlling switch system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009074287A JP5310175B2 (ja) 2009-03-25 2009-03-25 スイッチシステム、及びスイッチシステムの制御方法

Publications (2)

Publication Number Publication Date
JP2010225085A true JP2010225085A (ja) 2010-10-07
JP5310175B2 JP5310175B2 (ja) 2013-10-09

Family

ID=42785670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009074287A Expired - Fee Related JP5310175B2 (ja) 2009-03-25 2009-03-25 スイッチシステム、及びスイッチシステムの制御方法

Country Status (2)

Country Link
US (1) US8392645B2 (ja)
JP (1) JP5310175B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013046814A1 (ja) * 2011-09-27 2015-03-26 日本電気株式会社 分散型計算機システム
WO2015092973A1 (ja) * 2013-12-17 2015-06-25 日本電気株式会社 情報処理装置及びトラフィック制御方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
WO2012143954A1 (en) * 2011-04-21 2012-10-26 Ineda Systems Pvt. Ltd Multi-root peripheral connect interface manager
WO2013105978A1 (en) * 2012-01-13 2013-07-18 Intel Corporation Allocation of flow control credits for high performance devices
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
KR102007368B1 (ko) * 2012-12-17 2019-08-05 한국전자통신연구원 Pci 익스프레스 스위치 및 이를 이용한 컴퓨터 시스템
US9244874B2 (en) * 2013-06-14 2016-01-26 National Instruments Corporation Selectively transparent bridge for peripheral component interconnect express bus systems
US9319349B2 (en) 2013-06-20 2016-04-19 Micron Technology, Inc. Encapsulation enabled PCIE virtualisation
CA3015725C (en) 2016-02-26 2022-03-22 Micro Motion, Inc. Communicating with two or more slaves
CN114553797B (zh) * 2022-02-25 2023-05-09 星宸科技股份有限公司 具有命令转发机制的多芯片系统及地址产生方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07134686A (ja) * 1993-11-10 1995-05-23 Hitachi Ltd 階層接続バスのバス変換装置およびバス制御方式
US5764924A (en) * 1995-08-24 1998-06-09 Ncr Corporation Method and apparatus for extending a local PCI bus to a remote I/O backplane
JPH11191073A (ja) * 1997-12-25 1999-07-13 Mitsubishi Electric Corp Pciバス処理装置
JPH11328099A (ja) * 1998-05-15 1999-11-30 Hitachi Ltd 情報処理装置用バスおよびその情報処理装置
JP2004326790A (ja) * 2003-04-29 2004-11-18 Microsoft Corp ネットワーク装置をディスカバリするための方法および装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128664A (en) * 1986-03-05 1992-07-07 Ampex Corporation Search technique for identifying slave devices connected to a serial bus
US5781747A (en) * 1995-11-14 1998-07-14 Mesa Ridge Technologies, Inc. Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location
US5761462A (en) * 1996-12-13 1998-06-02 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data-processing system
US5898888A (en) * 1996-12-13 1999-04-27 International Business Machines Corporation Method and system for translating peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a computer system
US5881253A (en) * 1996-12-31 1999-03-09 Compaq Computer Corporation Computer system using posted memory write buffers in a bridge to implement system management mode
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6195717B1 (en) * 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6249834B1 (en) * 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6425033B1 (en) * 1997-06-20 2002-07-23 National Instruments Corporation System and method for connecting peripheral buses through a serial bus
US6233641B1 (en) * 1998-06-08 2001-05-15 International Business Machines Corporation Apparatus and method of PCI routing in a bridge configuration
JP2001014269A (ja) * 1999-06-29 2001-01-19 Toshiba Corp コンピュータシステム
JP2001125694A (ja) 1999-10-29 2001-05-11 Toshiba Corp ブリッジ装置
US6567876B1 (en) * 1999-12-03 2003-05-20 Hewlett-Packard Development Company, L.P. Docking PCI to PCI bridge using IEEE 1394 link
US6687779B1 (en) * 2000-07-14 2004-02-03 Texas Instruments Incorporated Method and apparatus for transmitting control information across a serialized bus interface
US6675237B1 (en) * 2000-08-07 2004-01-06 International Business Machines Corporation System and intelligent dock using a symmetric extended bus bridge and method therefor
US20030065869A1 (en) * 2001-10-01 2003-04-03 Francois Balay PCI/LVDS half bridge
US6996658B2 (en) * 2001-10-17 2006-02-07 Stargen Technologies, Inc. Multi-port system and method for routing a data element within an interconnection fabric
US6968464B2 (en) * 2002-01-10 2005-11-22 National Instruments Corporation System and method for reconfiguring a system coupled to a host computer through a split bridge
US7096305B2 (en) * 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
US7243167B2 (en) * 2003-09-19 2007-07-10 Intel Corporation Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
US7062594B1 (en) * 2004-06-30 2006-06-13 Emc Corporation Root complex connection system
JP2007334764A (ja) 2006-06-16 2007-12-27 Hitachi Ltd Nasシステムおよびnasシステムの情報処理方法
JP5154238B2 (ja) * 2008-01-18 2013-02-27 株式会社日立製作所 複合型計算機システムの管理方法及び複合型計算機システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07134686A (ja) * 1993-11-10 1995-05-23 Hitachi Ltd 階層接続バスのバス変換装置およびバス制御方式
US5764924A (en) * 1995-08-24 1998-06-09 Ncr Corporation Method and apparatus for extending a local PCI bus to a remote I/O backplane
JPH11191073A (ja) * 1997-12-25 1999-07-13 Mitsubishi Electric Corp Pciバス処理装置
JPH11328099A (ja) * 1998-05-15 1999-11-30 Hitachi Ltd 情報処理装置用バスおよびその情報処理装置
JP2004326790A (ja) * 2003-04-29 2004-11-18 Microsoft Corp ネットワーク装置をディスカバリするための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013046814A1 (ja) * 2011-09-27 2015-03-26 日本電気株式会社 分散型計算機システム
WO2015092973A1 (ja) * 2013-12-17 2015-06-25 日本電気株式会社 情報処理装置及びトラフィック制御方法
US10097658B2 (en) 2013-12-17 2018-10-09 Nec Corporation Traffic control of packet transfer

Also Published As

Publication number Publication date
US20100250807A1 (en) 2010-09-30
JP5310175B2 (ja) 2013-10-09
US8392645B2 (en) 2013-03-05

Similar Documents

Publication Publication Date Title
JP5310175B2 (ja) スイッチシステム、及びスイッチシステムの制御方法
US20210216485A1 (en) System and Method for Extended Peripheral Component Interconnect Express Fabrics
US8412875B2 (en) Switch and network bridge apparatus
JP4998469B2 (ja) インターコネクション用スイッチおよびシステム
JP5763873B2 (ja) データ処理システムの複数のルート複合体間の通信のために共用メモリを初期設定するための方法、コンピュータ・プログラム、およびデータ処理システム
JP5598148B2 (ja) スイッチング装置、情報処理装置、及びスイッチング装置の制御方法
JP5362980B2 (ja) データ処理システム内で第1のホスト・システムと第2のホスト・システムとの間で通信するための方法、プログラム、およびシステム(ソケット接続および共用メモリを使用するホスト・システム間の通信のためのシステムおよび方法)
US9047417B2 (en) NUMA aware network interface
US9146890B1 (en) Method and apparatus for mapped I/O routing in an interconnect switch
JP5399570B2 (ja) 計算機システム、それに使用されるスイッチ及びパケット転送制御方法
JP5928087B2 (ja) スイッチ、情報処理装置および通信制御方法
JP2008152786A (ja) データ処理システム内で1つまたは複数のエンドポイントの第1の物理機能から第2の物理機能に仮想機能を移行するための方法、プログラム、およびシステム(単一ルート・ステートレス仮想機能の移行のためのシステムおよび方法)
CN103117929A (zh) 一种基于PCIe数据交换的通信方法及系统
JP2006302250A (ja) PCI−Express通信システム
CN104641360A (zh) 对存储器及对等设备的双播PCIe入站写入
JP2002149592A (ja) ネットワーク上でのpciブリッジ
JP2006195870A (ja) データ転送システム及び電子機器
JPWO2012086068A1 (ja) 計算機システムおよびルーティング制御方法
EP2593876A1 (en) System and method for accessing resources of a pci express compliant device
CN113168384B (zh) 通信设备、信息处理系统和通信方法
JP2007316755A (ja) PCI−Express通信システム
JPWO2017154943A1 (ja) 情報処理装置
JP4603335B2 (ja) データ転送システム、画像形成システム及びデータ転送方法
JP2011113163A (ja) Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法
JP2007282187A (ja) 情報処理装置、情報処理システムおよびデータ通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees