JP2007195166A - 組み込みdidによるpciバス・アドレス・ベースのルーティング用ルーティング・テーブルを作成し、管理する方法、コンピュータ・プログラムおよび装置 - Google Patents

組み込みdidによるpciバス・アドレス・ベースのルーティング用ルーティング・テーブルを作成し、管理する方法、コンピュータ・プログラムおよび装置 Download PDF

Info

Publication number
JP2007195166A
JP2007195166A JP2006348980A JP2006348980A JP2007195166A JP 2007195166 A JP2007195166 A JP 2007195166A JP 2006348980 A JP2006348980 A JP 2006348980A JP 2006348980 A JP2006348980 A JP 2006348980A JP 2007195166 A JP2007195166 A JP 2007195166A
Authority
JP
Japan
Prior art keywords
pci
root
switch
adapters
switches
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.)
Pending
Application number
JP2006348980A
Other languages
English (en)
Inventor
J Recio Renato
レナート・ジェイ・レシオ
Wade Hunter Steven
スティーヴン・ウエイド・ハンター
William Todd Boyd
ウィリアム・トッド・ボイド
Steven Mark Thurber
スティーヴン・マーク・サーバー
Vega Madeline
マデリン・ヴェガ
William G Holland
ウィリアム・ガヴィン・ホーランド
Douglas M Freimuth
ダグラス・エム・フライミュース
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007195166A publication Critical patent/JP2007195166A/ja
Pending legal-status Critical Current

Links

Images

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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】PCIアダプタを複数のブレードで共用する。
【解決手段】複数のルートノードと、1つまたは複数のPCIスイッチ及びPCIアダプタを備え、ルートノードが複数のホストを含み、ルートノードのうちの1つがPCI構成マネージャ(PCM)を含む分散コンピューティングシステムにおいて、ホストとアダプタの間でスイッチを通してPCIトランザクションパケットをルーティングするための方法で、1つの指定されたスイッチ内にテーブルを作成し、特定のホストが指定されたスイッチに接続された場合に、PCMを操作して指定されたビットセットを有する送信先識別子をテーブルに入力し、指定されたスイッチを通して特定のホストからアダプタの1つに送出されたPCIパケットに送信先識別子をアドレスとして追加し、送信先識別子を用いてアダプタの1つから指定されたスイッチを通して送出されたPCIパケットが特定のホスト用であると判定する。
【選択図】図3

Description

本明細書に開示し特許請求する発明は、概して、PCIeスイッチファブリックによって複数のホストとアダプタの間でPCIeトランザクション・パケットをルーティングするための方法および関連する装置に関する。より詳細には、本発明は、PBA内に組み込まれた送信先ID(DID)を用いた場合に、複数のホストとアダプタの間でPCIトランザクション・パケットをルーティングするために必要な構造を構築し管理するための方法に関する。
当業者には周知のように、PCI Express(PCIe)はPCIスイッチファブリック・バスなどでホスト・ユニットをアダプタまたは他のコンポーネントと相互接続するためにコンピューティング・システムで広く用いられている。しかし、PCIeは、現在、複数の共用PCIeリンクを備えた複数のホストがあるトポロジー内での入出力(I/O)アダプタの共用を認めていない。その結果、ブレード・クラスタまたは他のクラスタ化サーバを使用する際には、そのような共用機能が極めて価値があるとしても、PCIe用のアダプタおよび二次ネットワーク(例えば、FC、IB、Enet)は現在、通常は、個々のブレードおよびサーバ・システム内にしか配置されていない。それ故、クラスタ化ブレード間、またはクラスタ化システム内の複数のルート間でさえそのようなアダプタを共用できない。
複数のブレードまたはブレード・クラスタを含む環境では、PCIアダプタを1つのブレード専用に用いることは極めてコスト高につく。例えば、10ギガビット・イーサネット(R)(10GigE)アダプタは、現在、6,000ドル程度の価格である。これらの高価なアダプタをブレード間で共用できないため、実際、10GigEなどのある種の新しいネットワーク技術を採用する率が低いという結果が生じている。さらに、ブレード内でI/Oアダプタを収容するための空間が限られていることによる制約がある。PCネットワークが複数のホストを1つのPCIアダプタに接続し、複数のホスト間で仮想PCIe I/Oアダプタを共用できるならば、この空間が限られているという問題は解決できよう。
上記環境でPCIeアダプタの仮想化を可能にするには、複数のホストとアダプタの間でPCIトランザクション・パケットをルーティングするために必要な構造を構築し管理するための機構が必要である。この機構は、1つのホストのシステム・イメージ内のメモリおよびデータが他のホストのシステム・イメージ内の権限がないアプリケーションからアクセスされることを防止するように設計されていなければならない。同じPCIツリー内の他のアダプタからのアクセスも防止しなければならない。さらに、この機構の実施は、現在使用されているPCIハードウェアへの必要な変更を最小限にするものでなければならない。
本発明は、一般的に、複数のホストおよび共用PCIeスイッチおよびアダプタを含む環境でパケットをルーティングするためのテーブルを提供し管理することを指向している。本発明は、PCIバス・アドレス(PBA)内に送信先ID(DID)フィールドを含めることで従来のPBAを修正することを特徴とする。それ故、DIDフィールドは、PCIeスイッチを通して送り出されるトランザクション・パケット内に埋め込まれ、PCIアドレスに組み込まれている。特定のDIDが、特定のホストまたはシステム・イメージに関連付けられ、それ故、そのパケットの物理または仮想エンド・ポイントを識別する。本発明の有用な一実施形態は、各々が1つまたは複数のホストを含む複数のルート・ノードを含む分散コンピューティング・システム内のPCIeスイッチを通してPCIeトランザクション・パケットをルーティングするのに必要な構造を構築し管理するための方法を指向する。このシステムは、1つまたは複数のPCIアダプタをさらに含む。分散コンピューティング・システムの物理構成を示す物理ツリーが決定され、この物理ツリーから仮想ツリーが作成される。次に、仮想ツリーは、仮想ツリー内の少なくとも1つの送信元デバイスと少なくとも1つの送信先デバイスの間の関連を変更するように修正される。有効化機構が少なくとも1つの送信元デバイスと少なくとも1つの送信先デバイスの間の変更された関連を有効化し、少なくとも1つの送信元デバイスから少なくとも1つの送信先デバイスへのデータのルーティングを可能にする。
図1は、本発明の好ましい実施形態を含む分散コンピューティング・システム100を示す図である。図1の分散コンピューティング・システム100は、それぞれI/Oリンク150、152、154、156および158を通してI/Oスイッチファブリック・バス144に接続され、ルート・ノード(RN)160〜166のメモリ制御装置108、118、128、および138に接続された複数のルート・コンプレックス(RC)110、120、130、140および142の形態をとる。I/Oファブリックは、リンク180〜194を通してI/Oアダプタ(IOA)168〜178に取り付けられている。IOAは、IOA168〜170および176などの1つの機能でよく、またはIOA172〜174および178などの複数の機能でもよい。さらに、それぞれのIOAは、リンク180〜186などの1つのリンクを介してI/Oファブリック144に接続されていてもよく、またはリンク188〜194などの冗長構成のための複数のリンクに接続されていてもよい。
RC110、120、および130は、それぞれRN160、162および164の組み込みコンポーネントである。共にRN166の組み込みコンポーネントであるRC140および142などの2つ以上のRCがRN内に存在することがある。RCに加えて、各RNは、1つまたは複数の中央処理装置(CPU)102〜104、112〜114、122〜124および132〜134、メモリ106、116、126および136、ならびにメモリ制御装置108、118、128および138から構成される。メモリ制御装置は、それぞれその対応するRNのCPU、メモリ、およびI/O RCを相互接続し、それぞれのメモリのコヒーレンシ・トラフィックの処理などの機能を実行する。
RNは、RN160および162のメモリ制御装置108および118間に延びるリンク146によってメモリ制御装置の位置で接続されている。これは、1つの対称型多重処理(SMP)システムとして機能することができる1つのコヒーレンシ・ドメインを形成する。あるいは、ノードは、RN164および166内と同様、別のコヒーレンシ・ドメインによって互いに独立している。
図1は、RN160などのその組み込みコンポーネントとしての、RNの1つに組み込まれたPCI構成マネージャ(PCM)148を示す。PCMはI/Oファブリックの共用リソースを構成し、RNにリソースを割り当てる。
分散コンピューティング・システム100は、種々の商用コンピューティング・システムを用いて実施できる。例えば、分散コンピューティング・システム100は、International Business Machines Corporationから販売されているIBM eServer iSeries Model840システムを用いて実施できる。そのようなシステムは、同様にInternational Business Machines Corporationから販売されているOS/400オペレーティング・システムを用いた論理分割をサポートすることができる。
当業者には、図1に示すハードウェアが異なってもよいことを理解することができるだろう。例えば、光ディスク・ドライブなどの他の周辺装置も図示のハードウェアと併用、またはその代わりに使用することができる。図示の例は、本発明のアーチテクチャを限定するものではない。
図2を参照すると、本発明を実施できる論理パーティション・プラットフォーム200の一例を示すブロック図が示されている。論理パーティション・プラットフォーム200内のハードウェアは、例えば、図1のデータ処理システム100として実施できる。論理パーティション・プラットフォーム200は、パーティション・ハードウェア230と、オペレーティング・システム202、204、206、208と、ハイパーバイザ210とを含む。オペレーティング・システム202、204、206、および208は、1つのオペレーティング・システムの複数のコピーでもよく、またはプラットフォーム200上で同時に実行される複数の異種オペレーティング・システムでもよい。これらのオペレーティング・システムは、ハイパーバイザとインタフェースをとるように設計されているOS/400を用いて実施できる。オペレーティング・システム202、204、206および208は、それぞれパーティション212、214、216および218内に位置する。さらに、これらのパーティションは、それぞれファームウェア・ローダ222、224、226および228を含む。パーティション212、214、216および218がインスタンス化されると、オープン・ファームウェアのコピーがハイパーバイザのパーティション・マネージャによって各パーティション内にロードされる。次に、パーティションに関連するかまたは割り当てられたプロセッサは、パーティションのメモリにディスパッチされてパーティション・ファームウェアを実行する。
パーティション・ハードウェア230は、複数のプロセッサ232〜238と、複数のシステム・メモリ・ユニット240〜246と、複数の入出力(I/O)アダプタ248〜262と、記憶ユニット270とを含む。パーティション・ハードウェア230は、また、パーティション内のエラーの処理などのさまざまなサービスを提供するために使用することができるサービス・プロセッサ290を含む。プロセッサ232〜238、メモリ・ユニット240〜246、NVRAM298、I/Oアダプタ248〜262の各々を、各々がオペレーティング・システム202、204、206および208の1つに対応する論理パーティション・プラットフォーム200内の複数のパーティションの1つに割り当てることができる。
パーティション管理ファームウェア(ハイパーバイザ)210は、パーティション212、214,216および218が論理パーティション・プラットフォーム200の分割を作成し実行するためのいくつかの機能とサービスとを実行する。ハイパーバイザ210は、基本ハードウェアと同一のファームウェアで実施される仮想マシンである。International Business Machines Corporationからハイパーバイザ・ソフトウェアが販売されている。ファームウェアは、電力が供給されなくてもその内容を保持するメモリ・チップ内に格納された「ソフトウェア」であり、例えば、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的消去可能プログラマブルROM(EEPROM)、および不揮発性ランダム・アクセス・メモリ(NVRAM)などである。それ故、ハイパーバイザ210は、論理パーティション・プラットフォーム200のすべてのハードウェア・リソースを仮想化することで独立OSイメージ202、204、206および208の同時実行を可能にする。
異なるパーティションの動作は、ハードウェア管理コンソール280などのハードウェア管理コンソールによって制御できる。ハードウェア管理コンソール280は、システム管理者がリソースの異なるパーティションへの再割り当てなどのさまざまな機能を実行できる別の分散コンピューティング・システムである。
図2に示すタイプの環境で、1つのパーティション内のリソースまたはプログラムが別のパーティション内の動作に影響することは許容されない。さらに、有用であるため、リソースの割り当てを細分化する必要がある。例えば、特定のPHB下のすべてのIOAを同じパーティションに割り当てることは許容できない場合が多い。これは、リソースをパーティション間で動的に移動させる機能を含め、システムの構成可能性を制限するからである。
したがって、個別のIOAまたはIOAの部分などのリソースを別々のパーティションに割り当てられるように、IOAをI/Oバスに接続し、同時に、割り当てられたリソースが他のパーティションのリソースにアクセスするなどの方法で他のパーティションに影響することを防ぐ何らかの機能がブリッジ内に必要である。
図3を参照すると、図1のI/Oスイッチファブリック144の詳細を示す分散コンピューティング・システム300が示されている。特に、複数のスイッチの使用を通して複数のルート・ノードをサポートしているPCIファブリックの概念をさらに示すために、スイッチ302および304がマルチルート・アウェア・スイッチである複数のPCIスイッチ(またはブリッジ)302、304および306を含むファブリック144が図3に示されている。図3は、さらに、それぞれポート308〜314、316〜324および326〜330を備えたスイッチ302、304および306を示す。本明細書で単独で用いる場合、「スイッチ」という用語はスイッチとブリッジの両方を含むことを理解されたい。本明細書で使用する「ブリッジ」という用語は、一般的に、同じプロトコルを使用するネットワークの2つのセグメントを接続するデバイスに関する。
図3はさらに、組み込み送信先識別子−ポート・ルーティング・テーブル(IDIRT)382を備えたスイッチ302を示す。スイッチ304も同様にIDIRT384を備える。以降、図4および図5に関連して詳述するIDIRTは、組み込みDIDを用いたPCIパケットのルーティングのために設定される。より詳細には、各IDIRTは特定のホストおよびアダプタに関するエントリを含む。
図3をさらに参照すると、各々が1つまたは複数のシステム・イメージ(SI)を含むホストCPUセット332、334および336が示されている。それ故、ホスト・セット332はシステム・イメージSI1およびSI2を含み、ホスト・セット334はシステム・イメージSI3を含み、ホスト・セット336はシステム・イメージSI4およびSI5を含む。各システム・イメージは、図2に関連して上に述べたパーティション212〜218などのパーティションと同等であるかまたはこれに対応することを理解されたい。各システム・イメージはホストとも同等である。それ故、システム・イメージSI1およびSI2は、各々ホストCPUセット332のホストの1つと同等である。
ホストCPUセットの各々は、上記のように関連するルート・コンプレックスを有する。ルート・コンプレックスを通して、それぞれのホストのシステム・イメージは、I/Oファブリック144とインタフェースをとるかこれにアクセスする。より詳細には、ホスト・セット332〜336は、それぞれRC338〜342に相互接続されている。ルート・コンプレックス338は、ポート344および346を有し、ルート・コンプレックス340および342は、それぞれ1つのポート、すなわち、ポート348および350しか有さない。ホストCPUセットの各々とそれに対応するルート・コンプレックスは、図1に示すRN160〜166などのルート・ノードの例またはインスタンスを含む。さらに、ホストCPUセット332は、図1のPCM148と同様または同一のPCM370を備える。
図3は、さらに、マルチルート・アウェア・スイッチ304のポートをそれぞれ含むポート316〜320の1つに接続された各RC338〜342を示す。マルチルート・アウェア・スイッチ304および302の各々は、複数のルート・ノードを収容するために複数のルーティングまたはデータ経路を備えたI/Oファブリック144などのPCIファブリックを構成する機能を提供する。
スイッチ302および304などのマルチルート・アウェア・スイッチのそれぞれのポートを、アップストリーム・ポート、ダウンストリーム・ポート、またはアップストリーム・ポート、ダウンストリーム・ポートの両方として使用できる。一般に、アップストリーム・ポートの方がデータ・ソースに近く、データ・ストリームを受信する。ダウンストリーム・ポートは、データ・ソースから遠く、データ・ストリームを送信する。アップストリーム/ダウンストリーム・ポートは、アップストリーム・ポート、ダウンストリーム・ポートの両方の特性を有することができる。図3で、ポート316、318、320、326および308はアップストリーム・ポートである。ポート324、312、314、328および330はダウンストリーム・ポートで、ポート322および310はアップストリーム/ダウンストリーム・ポートである。
ダウンストリーム・ポートとして構成されたポートは、アダプタまたは別のスイッチのアップストリーム・ポートに取り付けるか接続する必要がある。図3で、マルチルート・アウェア・スイッチ302は、ダウンストリーム・ポート312を用いて2つの仮想I/Oアダプタまたはリソース354および356を有するI/Oアダプタ352に接続する。同様に、マルチルート・アウェア・スイッチ302は、ダウンストリーム・ポート314を用いて3つの仮想I/Oアダプタまたはリソース360、362および364を有するI/Oアダプタ358に接続する。マルチルート・アウェア・スイッチ304は、ダウンストリーム・ポート324を用いてスイッチ306のポート326に接続する。マルチルート・アウェア・スイッチ304は、ダウンストリーム・ポート328および330を用いてそれぞれI/Oアダプタ366およびI/Oアダプタ368に接続する。
アップストリーム・ポートとして構成されているポートの各々は、ルート・コンプレックス338〜342の1つに接続するために用いられる。それ故、図3は、アップストリーム・ポート308を用いてRC338のポート344に接続するマルチルート・アウェア・スイッチ302を示す。同様に、マルチルート・アウェア・スイッチ304は、アップストリーム・ポート316、318および320を用いてルート・コンプレックス338のポート346、RC340の単一のポート348、およびRC342の単一のポート350にそれぞれ接続する。
アップストリーム/ダウンストリーム・ポートとして構成されたポートは、別のスイッチのアップストリーム/ダウンストリーム・ポートに接続するために使用される。それ故、図3は、アップストリーム/ダウンストリーム・ポート310を用いてマルチルート・アウェア・スイッチ304のアップストリーム/ダウンストリーム・ポート322に接続するマルチルート・アウェア・スイッチ302を示す。
I/Oアダプタ352は、機能0(F0)がシステム・イメージSI1に割り当てられ、そこからアクセス可能であり、機能1(F1)がシステム・イメージSI2に割り当てられ、そこからアクセス可能な仮想化I/Oアダプタとして示されている。同様に、I/Oアダプタ358は、機能0(F0)がSI3に割り当てられ、そこからアクセス可能であり、機能1(F1)がSI4に割り当てられ、そこからアクセス可能であり、機能3(F3)がSI5に割り当てられた仮想化I/Oアダプタとして示されている。I/Oアダプタ366は、機能F0がSI2に割り当てられ、そこからアクセス可能であり、機能F1がSI4に割り当てられ、そこからアクセス可能な仮想化I/Oアダプタとして示されている。I/Oアダプタ368は、SI5に割り当てられ、そこからアクセス可能な1つの機能I/Oアダプタとして示されている。
分散コンピューティング・システム300などのシステムでは、PCMは、PCIスイッチに問い合わせてスイッチがパケットのルーティングのための組み込みDIDの使用をサポートしているか否かを決定する。システム300では、スイッチ302および304は、本明細書に記載するように組み込みDIDをサポートしているが、スイッチ306はサポートしていない。
図4を参照すると、スイッチ304のIDIRT384などのIDIRTの部分またはコンポーネント400の概略図が示されている。より詳細には、図4は、各々が総計64ビットを含むPCIバス・アドレス空間402〜410を示す。さらに、図4では、各アドレス空間のビットが上位16ビットおよび下位48ビットにそれぞれグループ分けされる。
より詳細には、IDIRTに関連して、PCIアドレス空間の上位ビット(本実施形態では上位16ビットに選択されている)を用いて送信先を識別する。それ故、PCIeパケットを受信するスイッチは上位ビット、例えば、上位16ビットのアドレスを使用して正しい送信先にルーティングするポートを選択する。次に、アドレス・ベースの残りの48ビットは、その送信先が使用するアドレスになる。
図4は、さらに、各PCIアドレス空間のアドレス型を示す。これは、図4のアドレス空間が異なるアドレス型で使用できることを強調するためである。それ故、アドレス402、404および406は、各々ルート・コンプレックスで用いられるが、アドレス408および410は、各々仮想エンド・ポイントで用いられる。
特定のホストが組み込みDIDをサポートしているスイッチに接続すると、PCMは、IDIRTのPBAアドレス空間の1つが特定のホストに割り当てられるようにスイッチを構成する。PCMは、各々の接続されたホストのIDIRT内にエントリを作成することでこれを実行する。それ故、例えば、図4のアドレス空間402をホストCPUセット332のSI2に関連するホストに割り当てるようなエントリを作成することができる。同様に、アドレス空間404をホスト・セット334のSI3に関連するホストに割り当てることができる。
上記のように、PBAアドレス空間がホストに割り当てられると、その後、アドレス空間の上位16ビットが、ホストに関連する送信先識別子またはDIDとして使用される。例えば、空間402のビットx0000がルート・コンプレックス338に割り当てられたDIDになる。次に、スイッチは、アドレス空間402の下位48ビットがルート・コンプレックス338に関連するパケットで利用可能であることをホストに報告する。ルート・コンプレックス338、340、および342などの各ルート・コンプレックスは、送信先識別子によって識別され、ホスト仮想化を用いて着信PCIeトランザクションを適当なホストSIにルーティングできる。この配置構成で、354などの仮想エンド・ポイントがPCIeメモリ・トランザクションを開始すると、アダプタは、組み込みDIDをPCIeメモリ・トランザクションのアドレス・フィールドの上位16ビットに配置する。スイッチは、IDIRTを用いてPCIeトランザクションを組み込みDIDに関連するルート・コンプレックスにルーティングする。
組み込みDIDをサポートできるスイッチにアダプタが接続されると、スイッチはこのイベントをPCMに報告する。次に、PCMは、エントリを各仮想エンド・ポイントのスイッチIDIRT内に配置し、各ルート・コンプレックスに、そのルート・コンプレックスに関連する仮想エンド・ポイントのセットとこれらの仮想エンド・ポイントの各々の組込みDIDを送信する。この処理の結果、仮想エンド・ポイント・アダプタは、関連するホストの各々から「見える」ようになり、それによってアクセスできるようになる。例えば、空間408のビットx0001は、仮想エンド・ポイント354に割り当てられたDIDである。仮想エンド・ポイント354、356、360、362、364、350、351、および352などの各仮想エンド・ポイントは、送信先識別子によって識別され、ホスト仮想化を用いて着信PCIeトランザクションを適当な仮想エンド・ポイントにルーティングできる。この配置構成で、338などのルート・コンプレックスがPCIeメモリ・トランザクションを開始すると、ルート・コンプレックスは、組み込みDIDをPCIeメモリ・トランザクションのアドレス・フィールドの上位16ビットに配置する。次に、スイッチは、IDIRTを用いてPCIeトランザクションを組み込みDIDに関連する仮想エンド・ポイントにルーティングする。
PCMは、スイッチのIDIRTに問い合わせてスイッチ構成に含まれるものを判定することができる。また、PCMは、スイッチIDIRT内のエントリを修正したり、それらのエントリが有効でなくなると、エントリを破棄または削除することができる。このように、本発明の実施形態は、1つのDID番号で複数のデバイスを組み合わせまたは集合させ、ルーティング・ルックアップを簡単化する。さらに、各ホストは、そのPCIアドレス空間セグメント内にあるPCIアドレスにだけ送信できる。この処理は、本明細書でルート・スイッチとも呼ぶIDIRTを含むスイッチのところで実行される。ルート・スイッチ傘下のすべてのPCIeコンポーネント・ツリーは、このスイッチでつながって1つのツリーを形成する。
図5を参照すると、PCIexpressパケット540を受信したシステム300のルート・スイッチ内の簡単化されたIDIRT500が示されている。パケット540は、BDFおよびPBAフィールド544および546を含み、BDF番号はバス、デバイスおよびPCIコンポーネントの機能を表す整数である。パケット540は、図のように、PBAアドレス・フィールド内にある上記の組み込みDID番号542をさらに含む。上記のように、パケット540は、やはり図のように、PBAアドレス・フィールド内にあるPCIeコンポーネント・アドレス564をさらに含む。
パケットの組み込みDID番号542をスイッチは使用してパケットを送出するスイッチ・ポート番号を含むIDIRT500内のエントリをルックアップする。例えば、組み込みDID番号542がIDIRTエントリ1 548をポイントする場合、スイッチ上のポートA 556を用いてパケットが送出される。図5は、ポート558および560にそれぞれ対応するエントリ550および552をさらに示す。
発信PCIeパケットをポートから送出できる前に、スイッチは、着信PCIeパケット540に含まれるBDF#からそのポートがPCIeパケットを受信可能か否かを検査する。スイッチは、組み込みDID542を用いて組み込みDID−BDF#有効化テーブル(IDIVT)570内のエントリをルックアップし、着信パケット540からのBDF#544をIDIVT570内のBDFのリスト590と照合することでこの機能を実行する。IDID番号584および588は、BDF番号595および598にそれぞれ対応する。
図6は、本発明の例示としての実施形態のPCI構成ヘッダを示す。PCI構成ヘッダは、一般的に、参照番号600で示され、PCI Expressは、PCI構成ヘッダ600内の固定アドレスでその拡張機能602を起動する。これらを用いてPCIコンポーネントがマルチルート・アウェアPCIコンポーネントであるか否か、デバイスが組み込みDIDベースのルーティングをサポートしているか否か判定できる。PCI Express拡張機能602がマルチルート・アウェア・ビット603セットおよび組み込みDIDベースのルーティング・サポート・ビット604を有する場合、デバイスのIDID#は、PCI Express拡張機能領域605に格納することができる。しかし、本発明は、PCI拡張機能を用いてIDIDが定義されるという本明細書に記載のシナリオに限定されないことを理解されたい。他の任意のフィールドも再定義でき、または予備のフィールドもPCIの他の仕様に関する組み込み送信先IDフィールドの実施態様に使用できる。
本発明は、例えば、PCI Expressプロトコルを用いてI/Oファブリック上で通信し、分散コンピューティング・システムへの修正を反映する分散コンピューティング・システムのような分散コンピューティング・システム内のデータのルーティングを管理するための方法およびシステムを指向する。特に、本発明は、上記のデータ・ルーティング機構が、ホスト間でIOAを転送する、あるいはシステムに対しホストおよび/またはIOAを追加したり削除するなどのシステムを介したデータのルーティングに影響する分散コンピューティング・システム内の修正を確実に適正に反映するように、データ・ルーティング機構に含まれる組み込み送信先IDフィールドを管理する機構を提供する。
図7は、本発明の例示としての実施形態の分散コンピューティング・システムでのデータのルーティングを管理するシステムの概略図である。特に、図7は、分散コンピューティング・システム内のルーティング機構を変更して分散コンピューティング・システム内のルート・コンプレックスとIOAの間の関連の変更を反映する方法の具体例を示す図である。
702に示すように、PCI構成マネージャ(PCM)は、最初に、分散コンピューティング・システムの現在の物理構成を示すツリーを表す組み込みDIDルーティング・テーブル(IDIDRT)を作成する。PCMは、ファブリックの物理構成の全容がわかるようにI/Oファブリックの現在の構成を確認し、次に、この情報からIDIDRTを作成することでこのテーブルを作成する。702に示す物理ツリーでは、エンド・ポイント1(EP1)およびEP3がRC1に割り当てられ、EP2がRC2に割り当てられているものとする。次に、PCMは、704に示すRC1の管理者またはエージェントに提示する仮想ツリーを物理ツリーから作成する。この構成は702に示す物理構成と同じであるが、今度は仮想であることに留意されたい。
次に、RC1のシステム管理者またはエージェントは、EP2を削除することで仮想ツリーを修正するので、706に示すように、RC1と通信できない。次に、PCMは、新しいIDID有効化テーブル(IDIDVT)を作成して仮想ツリーの修正を反映する。
次に、704および706に示す手順がRC2について繰り返される。特に、PCMは、RC2のシステム管理者またはエージェントに仮想ツリーを提示し、システム管理者またはエージェントは、EP1およびEP3を削除することで仮想ツリーを修正するので、708に示すように、RC2とは通信できない。
物理ツリー内のすべてのRCについて上記プロセスが完了すると、スイッチ内のIDIDVTは710に示すようになり、IDIDVTは、RC1を有効化してEP1およびEP3と通信させ、またその逆を可能にし、RC2を有効化してEP2と通信させ、またその逆を可能にする。図7の物理ツリーには2つのRCと3つのEPしか含まれていないが、これはあくまで例示のためであって、ツリーは任意の所望の数のRCおよびEPを含むことができることを理解されたい。
図8は、本発明の例示としての実施形態の分散コンピューティング・システム内でのデータのルーティングを管理するための方法を示すフローチャートである。I/Oファブリックの物理構成の完全なテーブルを作成する(ステップ802)。次に、PCMは、物理構成に関する情報からIDIDRTを作成し、「IDID−スイッチ・ポート」の関連付けを行う(ステップ804)。次に、IDIDRT内のすべてのRCおよびEPにIDIDおよびBDF#が割り当てられ、バス#がすべてのスイッチ間リンクに割り当てられる(ステップ806)。
図9は、本発明の例示としての実施形態の分散コンピューティング・システム内でのデータのルーティングの管理に関連して送信元および送信先識別子を割り当てる方法を示すフローチャートである。この方法は、一般に参照番号900で示され、図8のステップ806として実施される。
図9を参照すると、スイッチがマルチルート・アウェアか否かが最初に判定される(ステップ902)。スイッチがマルチルート・アウェアでない場合(ステップ902の出力が「No」の場合)、この方法はエラーで終了する(ステップ904)。これはスイッチがマルチルート構成をサポートしていないためである。
スイッチがマルチルート・アウェアである場合(ステップ902の出力が「Yes」の場合)、PCMは、スイッチのポートAP(AP=アクティブ・ポート)で開始し、バス#=0で開始する(ステップ906)。次に、PCMは、PCIe構成空間にポートAPに取り付けられているコンポーネントについて問い合わせする(ステップ908)。コンポーネントがスイッチか否かの判定がなされる(ステップ910)。コンポーネントがスイッチの場合(ステップ910の出力が「Yes」の場合)、ポートAPにバス#が割り当てられているか否かが判定される(ステップ912)。ポートAPにバス#が割り当てられている場合(ステップ912の出力が「Yes」の場合)、ポートAP−1に等しくポートAPが設定され(ステップ914)、この方法はステップ908に戻って次のポートについて繰り返される。
ポートAPにバス#が割り当てられていない場合(ステップ912の出力が「No」の場合)、APのバス#=BNがcurrent;BN=BN+1に割り当てられ(ステップ916)、スイッチの下のスイッチについてこの方法を再度実行することでスイッチの下のI/Oファブリックにバス#が割り当てられる(ステップ918)。次に、ポートAP−1に等しくポートAPが設定され(ステップ914)、この方法は、ステップ908に戻って次のポートについて繰り返される。
コンポーネントがスイッチではないと判定された場合(ステップ910の出力が「No」の場合)、コンポーネントがRCか否かが判定される(ステップ920)。コンポーネントがRCの場合(ステップ920の出力が「Yes」の場合)、BDF#が割り当てられ(ステップ922)、RCがIDIDをサポートしているか否かが判定される(ステップ924)。RCがIDIDをサポートしている場合(ステップ924の出力が「Yes」の場合)、RCにIDIDが割り当てられる(ステップ926)。次に、AP−1に等しくAPが設定され(ステップ928)、APが0より大きいか否かが判定される(ステップ930)。APが0より大きくない場合(ステップ930の出力が「No」の場合)、この方法は終了する。APが0より大きい場合(ステップ930の出力が「Yes」の場合)、この方法はステップ908に戻ってPCIe構成空間に次のポートに取り付けられているコンポーネントについて問い合わせする。
RCがIDIDをサポートしていない場合(ステップ924の出力が「No」の場合)、AP−1に等しくAPが設定され(ステップ928)、プロセスは上記のように継続する。
この間、コンポーネントがRCでないと判定された場合(ステップ920の出力が「No」の場合)、BDF#が割り当てられ(ステップ932)、EPがIDIDをサポートしているか否かが判定される(ステップ934)。EPがIDIDをサポートしている場合(ステップ934の出力が「Yes」の場合)、各仮想EPにIDIDが割り当てられる(ステップ936)。AP−1に等しくAPが設定され(ステップ928)、上記のようにプロセスは継続する。
EPがIDIDをサポートしていない場合(ステップ934の出力が「No」の場合)、AP−1に等しくAPが設定され(ステップ928)、上記のようにプロセスは継続する。
図8に戻って、IDIDRT内のすべてのRCおよびEPにIDIDおよびBDF#が割り当てられ、すべてのスイッチ間リンクにバス#が割り当てられた(ステップ806)後で、ファブリック内のRC数にRCNが設定され(ステップ808)、物理ツリー全体を複製することでRCNについて仮想ツリーが作成される(ステップ810)。次に、仮想ツリーは、RCの管理者またはエージェントに提示される(ステップ812)。システム管理者またはエージェントは、ツリーからEPを削除し(ステップ814)、仮想ツリーが、必要に応じて、完全に修正されるまで同様のプロセスが繰り返される。
次に、EP BDFのリストに関連するRC IDID#、およびEP BDF#のリストに関連するEP IDID#を示すIDIDVTが各スイッチ上で作成される(ステップ816)。次に、RCNは、RCN−1に等しくされ(ステップ818)、RCN=0か否かが判定される(ステップ820)。RCN=0の場合(ステップ820の出力が「Yes」の場合)、この方法は終了する。RCNが0に等しくない場合(ステップ820の出力が「No」の場合)、この方法は、ステップ810に戻り、次の物理ツリーを複製し、次の仮想ツリーについて以降のステップを繰り返すことで仮想ツリーが作成される。
それ故、本発明は、PCI Expressプロトコルを用いてI/Oファブリック上で通信する分散コンピューティング・システムなどの分散コンピューティング・システムでのデータのルーティングを管理するための方法およびシステムを提供する。分散コンピューティング・システムの物理構成を示す物理ツリーが決定され、物理ツリーから仮想ツリーが作成される。次に、仮想ツリーは修正され、仮想ツリー内の少なくとも1つの送信元デバイスと少なくとも1つの送信先デバイスの間の関連が変更される。有効化機構は少なくとも1つの送信元デバイスと少なくとも1つの送信先デバイスの間の変更された関連を有効化して、少なくとも1つの送信元デバイスから少なくとも1つの送信先デバイスへのデータのルーティングを可能にする。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、または、ハードウェアおよびソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態では、本発明は、これに限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアで実施される。
さらに、本発明は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して用いられるプログラム・コードを提供するコンピュータ可用またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明のため、コンピュータ可用またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して用いられるプログラムを含み、格納し、通信し、伝搬し、または移送することができる任意の装置でよい。
媒体は、電子、磁気、光、電磁気、赤外線、または半導体システム(または装置もしくはデバイス)または伝搬媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、堅牢な磁気ディスクおよび光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−読み出し専用メモリ(CD−ROM)、コンパクト・ディスク−読み出し/書き込み(CD−R/W)およびDVDを含む。
プログラム・コードを格納しまたは実行するかあるいはその両方を行うのに適したデータ処理システムは、システム・バスを通してメモリ素子に直接または間接に結合された少なくとも1つのプロセッサを含む。メモリ素子は、プログラム・コードの実際の実行時に使用するローカル・メモリ、大容量記憶装置、および実行時に大容量記憶装置からコードを取り出す回数を減らすために少なくとも何らかのプログラム・コードの一時記憶域を提供するキャッシュ・メモリを含むことができる。
入出力またはI/Oデバイス(これに限定はされないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む)を、直接または介在するI/O制御装置を通してシステムに結合することができる。
また、ネットワーク・アダプタをシステムに結合して、介在する私設または公衆ネットワークを通して、データ処理システムを他のデータ処理システムまたはリモート・プリンタまたは記憶装置に結合することができる。モデム、ケーブル・モデムおよびイーサネット・カードは現在利用可能な種類のネットワーク・アダプタのごく一部である。
本発明を図示し、説明するために、本発明を記述してきたが、上記記述は、本発明全体を網羅するものでもなければ、開示した形態に本発明を限定するためのものでもない。通常の当業者であれば、多くの修正および変更を思い付くことができるだろう。実施形態は、本発明の原理、実際の用途を最も分かり易く説明するために、また他の当業者が、特定の用途に適するように種々に修正した種々の実施形態について、本発明を理解することができるように選択し、記述した。
本発明のある実施形態と併用できる汎用分散コンピューティング・システムを示すブロック図である。 図1のシステム内の論理パーティション・プラットフォームの一例を示すブロック図である。 同図のシステムが本発明のある実施形態を実施することができる分散コンピューティング・システムの詳細なブロック図である。 各々が組み込みDIDコンポーネントを備えた、本発明のある実施形態で使用するルート・コンプレックスまたは仮想エンド・ポイントに関連するいくつかのPCIバス・アドレスを示す概略図である。 本発明のある実施形態のPCI−Eトランザクション・パケットと、簡単化された組み込み送信先IDルーティング・テーブルと、簡単化された組み込み送信先ID有効化テーブルとを示す概略図である。 本発明の例示としての実施形態のPCI構成ヘッダを示す図である。 本発明の例示としての実施形態の分散コンピューティング・システム内でのデータのルーティングを管理するシステムの概略図である。 本発明の例示としての実施形態の分散コンピューティング・システム内でのデータのルーティングを管理するための方法を示すフローチャートである。 本発明の例示としての実施形態の分散コンピューティング・システム内でのデータのルーティングの管理に関連して送信元および送信先識別子を割り当てる方法を示すフローチャートである。
符号の説明
100 分散コンピューティング・システム
102〜104,112〜114,122〜124,132〜134 中央処理装置(CPU)
106、116、126、136 メモリ
108,118,128,138 メモリ制御装置
150,152,154,156,158 I/Oリンク
144 I/Oスイッチファブリック・バス
148,370 PCI構成マネージャ(PCM)
160〜166 ルート・ノード(RN)
108,118,128,138 メモリ制御装置
110,120,130,140,142 ルート・コンプレックス(RC)
180〜194 リンク
168〜178 I/Oアダプタ(IOA)
200 論理パーティション・プラットフォーム
202,204,206,208 オペレーティング・システム
210 ハイパーバイザ
212,214,216,218 パーティション
222,224,226,228 ファームウェア・ローダ
230 パーティション・ハードウェア
232〜238 プロセッサ
240〜246 システム・メモリ・ユニット
248〜262 入出力(I/O)アダプタ
270 記憶ユニット
280 ハードウェア管理コンソール
290 サービス・プロセッサ
298 NVRAM
300 分散コンピューティング・システム
302,304,306 PCIスイッチ(またはブリッジ)
308〜314,316〜324,326〜330 ポート
382 組み込み送信先識別子−ポート・ルーティング・テーブル(IDIRT)
332,334,336 ホストCPUセット
338,340,342 ルート・コンプレックス
344,346,348,350 ポート
354,356,360,362,364 リソース
352,358,368 I/Oアダプタ
402〜410 PCIバス・アドレス空間
500 IDIRT
540 PCIexpressパケット
542 組み込みDID
544 BDFフィールド
546 PBAフィールド
548 IDIRTエントリ1
556 ポートA
558,560 ポート
570 組み込みDID−BDF#有効化テーブル(IDIVT)
584 IDID番号
590 BDFのリスト
595,598 BDF番号
600 PCI構成ヘッダ
602 拡張機能
603 マルチルート・アウェア・ビット
604 ルーティング・サポート・ビット
605 PCI Express拡張機能領域
SI1,SI2,SI3,SI4,SI5 システム・イメージ

Claims (20)

  1. 複数のルート・ノードを備え、1つまたは複数のPCIスイッチおよび1つまたは複数のPCIアダプタをさらに備え、各ルート・ノードが1つまたは複数のホストを含み、前記ルート・ノードのうちの1つがPCI構成マネージャ(PCM)を含む分散コンピューティング・システムにおいて、それぞれのホストとアダプタの間で前記スイッチを通してPCIトランザクション・パケットをルーティングするための方法であって、
    前記スイッチのうちの少なくとも1つの指定されたスイッチ内にテーブルを作成するステップと、
    前記ルート・ノードのうちの1つのルート・ノードの特定のホストが前記指定されたスイッチに接続された場合に、前記PCMを操作して指定されたビット・セットを有する送信先識別子を前記テーブルに入力するステップと、
    前記指定されたスイッチを通して前記特定のホストから前記アダプタのうちの1つに送出されたPCIパケットに前記送信先識別子をアドレスとして追加するステップと、
    前記送信先識別子を用いて前記アダプタのうちの1つから前記指定されたスイッチを通して送出されたPCIパケットが前記特定のホスト用であると判定するステップとを含む方法。
  2. 前記送信先識別子を入力する前記ステップが、前記指定されたスイッチが前記送信先識別子の使用をサポートしていることを判定するステップに先行される請求項1に記載の方法。
  3. 前記指定されたスイッチにアダプタが接続されると、前記指定されたスイッチが前記PCMに報告を送信する請求項1に記載の方法。
  4. 前記報告に応答して、1つまたは複数の前記ホストと前記接続されたアダプタの間の関連を確立するように前記PCMが前記指定されたスイッチを構成し、その後、前記テーブル内のそれぞれのエントリを用いて前記接続されたアダプタと前記関連するホストの間でPCIパケットをルーティングする請求項3に記載の方法。
  5. 前記指定されたスイッチが複数のほぼ同一のルート・スイッチのうちの1つを備え、
    各ルート・ノードがホストCPUセットと、それに接続されたルート・コンプレックスとを備え、
    前記ルート・コンプレックスの各々が前記ルート・スイッチのうちの1つに接続され、前記ルート・スイッチの各々が前記送信先識別子の使用をサポートし、送信先識別子エントリを収容するためのテーブルを有する請求項4に記載の方法。
  6. 前記分散コンピューティング・システムが、関連するPCIバス・アドレス空間を有し、前記バス・アドレス空間が送信先識別フィールドを含み、前記送信先識別フィールド内の特定の番号が前記ホストのうち特定のホストを識別する請求項1に記載の方法。
  7. 前記送信先識別フィールドが選択された数の前記PCIバス・アドレスの上位ビットを含む請求項6に記載の方法。
  8. 前記ルート・スイッチのうち選択されたスイッチの下に接続されたPCIコンポーネントが、いくつかのコンポーネント・ツリーによってそれぞれ表され、前記ツリーが、前記選択されたスイッチで結合して1つのツリーを形成する請求項5に記載の方法。
  9. 前記ルート・スイッチの各々が送信先識別子を用いて前記PCIパケットのうちの1つをルーティングするためのスイッチ・ポートを選択する請求項5に記載の方法。
  10. 前記PCMが、前記ルート・スイッチのテーブルの各々内の送信先識別子エントリを修正し、問い合わせ、削除することができる請求項5に記載の方法。
  11. 複数のルート・ノードを備え、1つまたは複数のPCIスイッチおよび1つまたは複数のPCIアダプタをさらに備え、各ルート・ノードが1つまたは複数のホストを含み、前記ルート・ノードのうちの1つがPCI構成マネージャ(PCM)を含む分散コンピューティング・システムにおいて、それぞれのホストとアダプタの間で前記スイッチを通してPCIトランザクション・パケットをルーティングするコンピュータ可読媒体内のコンピュータ・プログラムであって、
    前記スイッチのうちの少なくとも1つの指定されたスイッチ内にテーブルを作成するための第1の命令と、
    前記ルート・ノードのうちの1つのルート・ノードの特定のホストが前記指定されたスイッチに接続された時に、前記PCMを操作して指定されたビットを含む送信先識別子を前記テーブルに入力するための第2の命令と、
    前記指定されたスイッチを通して前記特定のホストから前記アダプタのうちの1つに送出されたPCIパケットに前記送信先識別子をアドレスとして追加するための第3の命令と、
    前記送信先識別子を用いて前記アダプタのうちの1つから前記指定されたスイッチを通して送出されたPCIパケットが、前記特定のホスト用であると判定するための第4の命令とを含むコンピュータ・プログラム。
  12. 前記指定されたスイッチにアダプタが接続されると、前記指定されたスイッチが前記PCMに報告を送信し、
    前記報告に応答して、1つまたは複数の前記ホストと前記接続されたアダプタの間の関連を確立するように前記PCMが前記指定されたスイッチを構成し、その後、前記テーブル内のそれぞれのエントリを用いて前記接続されたアダプタと前記関連するホストの間でPCIパケットをルーティングする請求項11に記載のコンピュータ・プログラム。
  13. 前記指定されたスイッチが複数のほぼ同一のルート・スイッチのうちの1つを備え、
    各ルート・ノードがホストCPUセットと、それに接続されたルート・コンプレックスとを含み、
    前記ルート・コンプレックスの各々が前記ルート・スイッチのうちの1つに接続され、前記ルート・スイッチの各々が前記送信先識別子の使用をサポートし、送信先識別子エントリを収容するためのテーブルを有する請求項12に記載のコンピュータ・プログラム。
  14. 前記分散コンピューティング・システムが、関連するPCIバス・アドレス空間を有し、前記バス・アドレス空間が送信先識別フィールドを含み、前記送信先識別フィールド内の特定の番号が前記ホストのうち特定のホストを一意的に識別する請求項11に記載のコンピュータ・プログラム。
  15. 前記ルート・スイッチの各々が送信先識別子を用いて前記PCIパケットのうちの1つをルーティングするためのスイッチ・ポートを選択する請求項13に記載のコンピュータ・プログラム。
  16. 分散コンピューティング・システムのための装置であって、
    各々が1つまたは複数のホストを含む複数のルート・ノードと、
    1つまたは複数のPCIアダプタと、
    異なるルート・ノードを接続して同じアダプタを共用するように動作することができる1つまたは複数のPCIスイッチと、
    前記スイッチの少なくとも1つの指定されたスイッチ内のテーブルを有するデータと、
    前記ルート・ノードのうちの1つに常駐し、前記指定されたスイッチに前記ルート・ノードのうちの1つのルート・ノードの特定のホストが接続された時に、指定されたビットを有する送信先識別子を前記テーブルに入力するように動作することができるPCIコンポーネントであって、前記送信先識別子が前記指定されたスイッチを通して前記特定のホストから前記アダプタのうちの1つに送出されたPCIパケットにアドレスとして追加され、前記送信先識別子を用いて前記アダプタのうちの1つから前記指定されたスイッチを通して送出されたPCIパケットが前記特定のホスト用であると判定されるPCIコンポーネントとを備える装置。
  17. 前記指定されたスイッチにアダプタが接続されると、前記指定されたスイッチがPCMに報告を送信し、
    前記報告に応答して、1つまたは複数の前記ホストと前記接続されたアダプタの間の関連を確立するように前記PCMが前記指定されたスイッチを構成し、その後、前記テーブル内のそれぞれのエントリを用いて前記接続されたアダプタと前記関連するホストの間でPCIパケットをルーティングする請求項16に記載の装置。
  18. 前記指定されたスイッチが、複数のほぼ同一のルート・スイッチのうちの1つを備え、
    各ルート・ノードが、ホストCPUセットと、それに接続されたルート・コンプレックスとを備え、
    前記ルート・コンプレックスの各々が前記ルート・スイッチのうちの1つに接続され、前記ルート・スイッチの各々が前記送信先識別子の使用をサポートし、送信先識別子エントリを収容するためのテーブルを有する請求項17に記載の装置。
  19. 前記分散コンピューティング・システムが、関連するPCIバス・アドレス空間を有し、前記バス・アドレス空間が送信先識別フィールドを含み、前記送信先識別フィールド内の特定の番号が前記ホストのうち特定のホストを一意的に識別する請求項16に記載の装置。
  20. 前記ルート・スイッチの各々が送信先識別子を用いて前記PCIパケットのうちの1つをルーティングするためのスイッチ・ポートを選択する請求項18に記載の装置。
JP2006348980A 2006-01-18 2006-12-26 組み込みdidによるpciバス・アドレス・ベースのルーティング用ルーティング・テーブルを作成し、管理する方法、コンピュータ・プログラムおよび装置 Pending JP2007195166A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/334,678 US20070165596A1 (en) 2006-01-18 2006-01-18 Creation and management of routing table for PCI bus address based routing with integrated DID

Publications (1)

Publication Number Publication Date
JP2007195166A true JP2007195166A (ja) 2007-08-02

Family

ID=38263071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006348980A Pending JP2007195166A (ja) 2006-01-18 2006-12-26 組み込みdidによるpciバス・アドレス・ベースのルーティング用ルーティング・テーブルを作成し、管理する方法、コンピュータ・プログラムおよび装置

Country Status (4)

Country Link
US (2) US20070165596A1 (ja)
JP (1) JP2007195166A (ja)
CN (1) CN101013989B (ja)
TW (1) TW200736924A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151767A (ja) * 2007-12-03 2009-07-09 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
JP2009169842A (ja) * 2008-01-18 2009-07-30 Hitachi Ltd 複合型計算機システムの管理方法及び複合型計算機システム
JP2009258978A (ja) * 2008-04-16 2009-11-05 Hitachi Ltd 計算機システム及び通信経路の監視方法
JP2010061194A (ja) * 2008-09-01 2010-03-18 Hitachi Ltd データ転送装置
WO2010084529A1 (ja) * 2009-01-23 2010-07-29 株式会社日立製作所 情報処理システム
JP2010282387A (ja) * 2009-06-04 2010-12-16 Hitachi Ltd 計算機システム、スイッチ切り替え方法及びpciスイッチ
JP2011081462A (ja) * 2009-10-05 2011-04-21 Hitachi Ltd 計算機装置、計算機システム、アダプタ承継方法
WO2012128282A1 (ja) 2011-03-23 2012-09-27 日本電気株式会社 通信制御システム、スイッチノード、及び通信制御方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496045B2 (en) 2005-07-28 2009-02-24 International Business Machines Corporation Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7430630B2 (en) * 2005-10-27 2008-09-30 International Business Machines Corporation Routing mechanism in PCI multi-host topologies using destination ID field
US7363404B2 (en) * 2005-10-27 2008-04-22 International Business Machines Corporation Creation and management of destination ID routing structures in multi-host PCI topologies
US7380046B2 (en) * 2006-02-07 2008-05-27 International Business Machines Corporation Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
US7484029B2 (en) * 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
JP4469010B2 (ja) * 2006-03-10 2010-05-26 ソニー株式会社 ブリッジ、情報処理システムおよびアクセス制御方法
US7752346B2 (en) * 2007-12-21 2010-07-06 Aprius, Inc. Universal routing in PCI-Express fabrics
JP5180729B2 (ja) * 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
JP5272265B2 (ja) * 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US20110047313A1 (en) * 2008-10-23 2011-02-24 Joseph Hui Memory area network for extended computer systems
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
US8775579B2 (en) * 2010-01-13 2014-07-08 Htc Corporation Method for addressing management object in management tree and associated device management system
US9110865B2 (en) 2011-07-01 2015-08-18 International Business Machines Corporation Virtual machine dynamic routing
US9176913B2 (en) * 2011-09-07 2015-11-03 Apple Inc. Coherence switch for I/O traffic
US8949474B1 (en) * 2011-11-21 2015-02-03 Marvell International Ltd. Method for inter-chip and intra-chip addressing using port identifiers and address mapping
US8793539B2 (en) 2012-06-13 2014-07-29 International Business Machines Corporation External settings that reconfigure the error handling behavior of a distributed PCIe switch
US10447575B1 (en) * 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
WO2014169010A1 (en) * 2013-04-10 2014-10-16 Marvell World Trade Ltd. Tunneling transaction packets
US10013385B2 (en) * 2014-11-13 2018-07-03 Cavium, Inc. Programmable validation of transaction requests
US9858228B2 (en) * 2015-08-10 2018-01-02 Futurewei Technologies, Inc. Dynamic assignment of groups of resources in a peripheral component interconnect express network
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US10756961B2 (en) 2016-01-27 2020-08-25 Oracle International Corporation System and method of assigning admin partition membership based on switch connectivity in a high-performance computing environment
FR3076142A1 (fr) * 2017-12-21 2019-06-28 Bull Sas Procede et serveur d'attribution d'adresses topologiques a des commutateurs de reseau, programme d'ordinateur et grappe de serveurs correspondants
CN110688237B (zh) 2019-06-25 2024-02-09 华为技术有限公司 转发报文的方法、中间设备和计算机设备
CN112540941B (zh) * 2019-09-21 2024-09-20 华为技术有限公司 一种数据转发芯片及服务器
US20210255973A1 (en) * 2020-12-17 2021-08-19 Intel Corporation Stream routing and ide enhancements for pcie
US20220292026A1 (en) * 2021-03-12 2022-09-15 Micron Technology, Inc. Virtual addresses for a memory system
US11899593B2 (en) * 2021-12-21 2024-02-13 Intel Corporation Method and apparatus for detecting ATS-based DMA attack

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086893A (ja) * 1994-06-20 1996-01-12 Internatl Business Mach Corp <Ibm> マルチプル・バス情報処理システム及びブリッジ回路
JP2002149592A (ja) * 2000-10-31 2002-05-24 Fujitsu Ltd ネットワーク上でのpciブリッジ
US20020172195A1 (en) * 2001-03-23 2002-11-21 Pekkala Richard E. Apparatus amd method for disparate fabric data and transaction buffering within infiniband device
JP2004258985A (ja) * 2003-02-26 2004-09-16 Nec Corp マルチプロセッサシステム及びその入出力制御方法
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US719538A (en) * 1902-04-09 1903-02-03 William C Gaston Buggy-top attachment.
US5257353A (en) * 1986-07-18 1993-10-26 Intel Corporation I/O control system having a plurality of access enabling bits for controlling access to selective parts of an I/O device
US5367695A (en) * 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5392328A (en) * 1993-02-04 1995-02-21 Bell Communications Research, Inc. System and method for automatically detecting root causes of switching connection failures in a telephone network
US5960213A (en) * 1995-12-18 1999-09-28 3D Labs Inc. Ltd Dynamically reconfigurable multi-function PCI adapter device
US5968189A (en) * 1997-04-08 1999-10-19 International Business Machines Corporation System of reporting errors by a hardware element of a distributed computer system
US6061753A (en) * 1998-01-27 2000-05-09 Emc Corporation Apparatus and method of accessing target devices across a bus utilizing initiator identifiers
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6769021B1 (en) * 1999-09-15 2004-07-27 Adaptec, Inc. Methods for partitioning end nodes in a network fabric
US6611883B1 (en) * 2000-11-16 2003-08-26 Sun Microsystems, Inc. Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US6662251B2 (en) * 2001-03-26 2003-12-09 International Business Machines Corporation Selective targeting of transactions to devices on a shared bus
US7363389B2 (en) * 2001-03-29 2008-04-22 Intel Corporation Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine
US6691184B2 (en) * 2001-04-30 2004-02-10 Lsi Logic Corporation System and method employing a dynamic logical identifier
US7171458B2 (en) * 2001-06-12 2007-01-30 International Business Machines Corporation Apparatus and method for managing configuration of computer systems on a computer network
US6775750B2 (en) * 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
US20040025166A1 (en) * 2002-02-02 2004-02-05 International Business Machines Corporation Server computer and a method for accessing resources from virtual machines of a server computer via a fibre channel
US7036122B2 (en) * 2002-04-01 2006-04-25 Intel Corporation Device virtualization and assignment of interconnect devices
US6907510B2 (en) * 2002-04-01 2005-06-14 Intel Corporation Mapping of interconnect configuration space
US20030221030A1 (en) * 2002-05-24 2003-11-27 Timothy A. Pontius Access control bus system
US7194538B1 (en) 2002-06-04 2007-03-20 Veritas Operating Corporation Storage area network (SAN) management system for discovering SAN components using a SAN management server
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7120711B2 (en) * 2002-12-19 2006-10-10 Intel Corporation System and method for communicating over intra-hierarchy and inter-hierarchy links
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7174413B2 (en) * 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US20040210754A1 (en) * 2003-04-16 2004-10-21 Barron Dwight L. Shared security transform device, system and methods
US7096305B2 (en) * 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
US7380018B2 (en) * 2003-05-15 2008-05-27 Broadcom Corporation Peripheral bus transaction routing using primary and node ID routing information
US7134052B2 (en) * 2003-05-15 2006-11-07 International Business Machines Corporation Autonomic recovery from hardware errors in an input/output fabric
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US7437738B2 (en) * 2003-11-12 2008-10-14 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices
US20050228531A1 (en) * 2004-03-31 2005-10-13 Genovker Victoria V Advanced switching fabric discovery protocol
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US8285907B2 (en) * 2004-12-10 2012-10-09 Intel Corporation Packet processing in switched fabric networks
US20060174094A1 (en) * 2005-02-02 2006-08-03 Bryan Lloyd Systems and methods for providing complementary operands to an ALU
US7886086B2 (en) * 2005-02-03 2011-02-08 International Business Machines Corporation Method and apparatus for restricting input/output device peer-to-peer operations in a data processing system to improve reliability, availability, and serviceability
US20060179265A1 (en) * 2005-02-08 2006-08-10 Flood Rachel M Systems and methods for executing x-form instructions
US7360058B2 (en) * 2005-02-09 2008-04-15 International Business Machines Corporation System and method for generating effective address
US7380066B2 (en) * 2005-02-10 2008-05-27 International Business Machines Corporation Store stream prefetching in a microprocessor
US7350029B2 (en) * 2005-02-10 2008-03-25 International Business Machines Corporation Data stream prefetching in a microprocessor
US20060184769A1 (en) * 2005-02-11 2006-08-17 International Business Machines Corporation Localized generation of global flush requests while guaranteeing forward progress of a processor
US7395414B2 (en) * 2005-02-11 2008-07-01 International Business Machines Corporation Dynamic recalculation of resource vector at issue queue for steering of dependent instructions
US7254697B2 (en) * 2005-02-11 2007-08-07 International Business Machines Corporation Method and apparatus for dynamic modification of microprocessor instruction group at dispatch
US7631308B2 (en) * 2005-02-11 2009-12-08 International Business Machines Corporation Thread priority method for ensuring processing fairness in simultaneous multi-threading microprocessors
US20060184770A1 (en) * 2005-02-12 2006-08-17 International Business Machines Corporation Method of implementing precise, localized hardware-error workarounds under centralized control
US7694047B1 (en) * 2005-02-17 2010-04-06 Qlogic, Corporation Method and system for sharing input/output devices
US7398337B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization
US7480742B2 (en) 2005-02-25 2009-01-20 International Business Machines Corporation Method for virtual adapter destruction on a physical adapter that supports virtual adapters
US7376770B2 (en) * 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US20060195663A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Virtualized I/O adapter for a multi-processor data processing system
US20060195848A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method of virtual resource modification on a physical adapter that supports virtual resources
US7260664B2 (en) * 2005-02-25 2007-08-21 International Business Machines Corporation Interrupt mechanism on an IO adapter that supports virtualization
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US20060195617A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US7870301B2 (en) * 2005-02-25 2011-01-11 International Business Machines Corporation System and method for modification of virtual adapter resources in a logically partitioned data processing system
US7685335B2 (en) * 2005-02-25 2010-03-23 International Business Machines Corporation Virtualized fibre channel adapter for a multi-processor data processing system
US7496790B2 (en) * 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US7493425B2 (en) * 2005-02-25 2009-02-17 International Business Machines Corporation Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization
US7543084B2 (en) * 2005-02-25 2009-06-02 International Business Machines Corporation Method for destroying virtual resources in a logically partitioned data processing system
US7386637B2 (en) * 2005-02-25 2008-06-10 International Business Machines Corporation System, method, and computer program product for a fully trusted adapter validation of incoming memory mapped I/O operations on a physical adapter that supports virtual adapters or virtual resources
US8656488B2 (en) * 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
US8176204B2 (en) * 2005-03-11 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for multi-host sharing of a single-host device
US7765357B2 (en) * 2005-03-24 2010-07-27 Fujitsu Limited PCI-express communications system
US8223745B2 (en) * 2005-04-22 2012-07-17 Oracle America, Inc. Adding packet routing information without ECRC recalculation
US7613864B2 (en) * 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US7478178B2 (en) * 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7565463B2 (en) * 2005-04-22 2009-07-21 Sun Microsystems, Inc. Scalable routing and addressing
US7293129B2 (en) * 2005-04-22 2007-11-06 Sun Microsystems, Inc. Flexible routing and addressing
US7409589B2 (en) * 2005-05-27 2008-08-05 International Business Machines Corporation Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor
US7492723B2 (en) * 2005-07-07 2009-02-17 International Business Machines Corporation Mechanism to virtualize all address spaces in shared I/O fabrics
US7496045B2 (en) * 2005-07-28 2009-02-24 International Business Machines Corporation Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US7363404B2 (en) * 2005-10-27 2008-04-22 International Business Machines Corporation Creation and management of destination ID routing structures in multi-host PCI topologies
US7474623B2 (en) * 2005-10-27 2009-01-06 International Business Machines Corporation Method of routing I/O adapter error messages in a multi-host environment
US7631050B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7430630B2 (en) * 2005-10-27 2008-09-30 International Business Machines Corporation Routing mechanism in PCI multi-host topologies using destination ID field
US20070136458A1 (en) * 2005-12-12 2007-06-14 Boyd William T Creation and management of ATPT in switches of multi-host PCI topologies
US7707465B2 (en) * 2006-01-26 2010-04-27 International Business Machines Corporation Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US7380046B2 (en) * 2006-02-07 2008-05-27 International Business Machines Corporation Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
US7484029B2 (en) * 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086893A (ja) * 1994-06-20 1996-01-12 Internatl Business Mach Corp <Ibm> マルチプル・バス情報処理システム及びブリッジ回路
JP2002149592A (ja) * 2000-10-31 2002-05-24 Fujitsu Ltd ネットワーク上でのpciブリッジ
US20020172195A1 (en) * 2001-03-23 2002-11-21 Pekkala Richard E. Apparatus amd method for disparate fabric data and transaction buffering within infiniband device
JP2004258985A (ja) * 2003-02-26 2004-09-16 Nec Corp マルチプロセッサシステム及びその入出力制御方法
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151767A (ja) * 2007-12-03 2009-07-09 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
JP2009169842A (ja) * 2008-01-18 2009-07-30 Hitachi Ltd 複合型計算機システムの管理方法及び複合型計算機システム
JP2009258978A (ja) * 2008-04-16 2009-11-05 Hitachi Ltd 計算機システム及び通信経路の監視方法
JP2010061194A (ja) * 2008-09-01 2010-03-18 Hitachi Ltd データ転送装置
WO2010084529A1 (ja) * 2009-01-23 2010-07-29 株式会社日立製作所 情報処理システム
JPWO2010084529A1 (ja) * 2009-01-23 2012-07-12 株式会社日立製作所 情報処理システム
US8407391B2 (en) 2009-06-04 2013-03-26 Hitachi, Ltd. Computer system managing I/O path and port
JP2010282387A (ja) * 2009-06-04 2010-12-16 Hitachi Ltd 計算機システム、スイッチ切り替え方法及びpciスイッチ
JP2011081462A (ja) * 2009-10-05 2011-04-21 Hitachi Ltd 計算機装置、計算機システム、アダプタ承継方法
US8285911B2 (en) 2009-10-05 2012-10-09 Hitachi, Ltd. Computer apparatus, computer system and adapter carry-over method
US8626978B2 (en) 2009-10-05 2014-01-07 Hitachi, Ltd. Computer apparatus, computer system and adapter carry-over method
WO2012128282A1 (ja) 2011-03-23 2012-09-27 日本電気株式会社 通信制御システム、スイッチノード、及び通信制御方法
US9407577B2 (en) 2011-03-23 2016-08-02 Nec Corporation Communication control system, switch node and communication control method

Also Published As

Publication number Publication date
TW200736924A (en) 2007-10-01
US20080235430A1 (en) 2008-09-25
CN101013989A (zh) 2007-08-08
US20070165596A1 (en) 2007-07-19
CN101013989B (zh) 2011-01-12
US7907604B2 (en) 2011-03-15

Similar Documents

Publication Publication Date Title
JP2007195166A (ja) 組み込みdidによるpciバス・アドレス・ベースのルーティング用ルーティング・テーブルを作成し、管理する方法、コンピュータ・プログラムおよび装置
US7395367B2 (en) Method using a master node to control I/O fabric configuration in a multi-host environment
US7430630B2 (en) Routing mechanism in PCI multi-host topologies using destination ID field
US7363404B2 (en) Creation and management of destination ID routing structures in multi-host PCI topologies
US7707465B2 (en) Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US7930598B2 (en) Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US7571273B2 (en) Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches
US7831759B2 (en) Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
US20070136458A1 (en) Creation and management of ATPT in switches of multi-host PCI topologies
JP5315209B2 (ja) 冗長構成を生成するための周辺機器相互接続入出力仮想化デバイスの使用
US7474623B2 (en) Method of routing I/O adapter error messages in a multi-host environment
US7631050B2 (en) Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US8412863B2 (en) Storage apparatus and virtual port migration method for storage apparatus
US8583848B2 (en) Switching circuit connected to an I/O device, and switching circuit connected to an I/O device control method
US20080137676A1 (en) Bus/device/function translation within and routing of communications packets in a pci switched-fabric in a multi-host environment environment utilizing a root switch
US7492723B2 (en) Mechanism to virtualize all address spaces in shared I/O fabrics
JP2007507793A (ja) 共用資源を有するデータ記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110929

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120420

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120713

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120713