説明

PCIEのSR−IOV機能をレガシー機能として現出するように変換するシステム及び方法

シングル・ルート入出力仮想化(SR−IOV)機能を、レガシー機能として現出するように変換するシステム、及び対応する方法は、レガシー・ホストとSR−IOV対応可能なデバイスとを接続するスイッチ・プラットフォームを含む。スイッチ・プラットフォームには、タイプ毎にコンフィグレーション・サイクルを区別し、前記コンフィグレーション・サイクルを処理するようにプログラムしたプロセッサと、コンフィグレーション・サイクルに関するデータを保存する1つ又は複数のローカル・レジスタとを含む。

【発明の詳細な説明】
【背景技術】
【0001】
コンピュータ・システムでは、様々な周辺構成要素又は入出力(I/O)デバイスを採用している。例えば、典型的なコンピュータ・システムは、モニタ、キーボード、マウス、ネットワーク制御装置、単一または複数の一連のディスク・ドライブ、又は任意にはプリンタを含むことが多い。サーバ等の高性能コンピュータ・システムでは、I/Oデバイス要件はより複雑となる。
【0002】
コンポーネント・バスを介してI/Oデバイスに接続したコンピュータ・システムのホスト・プロセッサの例が、PCI−SIGが発表したPCI(Peripheral Component Interconnect)ローカル・バス仕様で規定されている。システムの初期化中、ホスト・プロセッサは、PCIバスに関する各PCIデバイスのデバイス・ドライバをロードする。典型的なPCIデバイスは、各PCIデバイスのコンフィグレーション・メモリ空間に配置される複数のコンフィグレーション・レジスタを含む。例えば、ベンダーID、デバイスID、リビジョン・レジスタ等の識別レジスタを含むコンフィグレーション・レジスタを、デバイス・ドライバ及びホスト・システムで初期化又は通常操作中に読み出して、PCIデバイスを識別する。典型的には、識別レジスタは、PCIデバイスの製造プロセス中に固定値で組込まれており、ホストのデバイス・ドライバ又はオペレーション・システム(OS)では変更できない。その結果、PCIデバイスの特定のIDを探すレガシー・デバイス・ドライバは、異なるベンダーID又は異なるデバイスID等の異なる識別情報を持つPCIデバイスとは動作しない。
【0003】
PCIエクスプレス(PCIe)は、PCIを改良したもので、様々なコンピューティング・プラットフォームや通信プラットフォームの高性能な汎用I/O相互接続を規定する。PCI使用モデル、ロード−ストア・アーキテクチャ、ソフトウェア・インタフェース等の主要なPCIe属性は、PCIeでも維持されるが、PCIのパラレル・バス実装については、PCIeでは高度にスケーラブルな完全なシリアル・インタフェースに置換えられる。PCIeは、高度なポイント・ツー・ポイント相互接続、スイッチに基づく技術、パケット化プロトコルを利用して、向上した性能特徴を提供する。
【0004】
入出力仮想化(IOV)は、I/Oデバイスを、同一の又は異なるCPUで動作する複数のオペレーティング・システム(OS−システム・イメージと呼ばれることもある)で使用できる能力に付けられた名称である。現代のコンピューティング・システム及び記憶システムではIOVを使用するが、これはIOVにより、情報技術リソースの管理を負荷バランシングを通して向上させ、十分活用されていないリソースが有効に使用可能になるからである。例えば、IOVにより、コンピュータ・メモリ等の限定的なリソース組を、多数の異なるオペレーティング・システム間で共有してリソースを利用可能にすることで、アイドル・タイムを短縮して、更に十分に使用可能になる。従って、各OS用に別々なメモリを有した場合それぞれのメモリの利用率が低くなってしまうが、その代わりに、共有メモリを全てのオペレーティング・システムに使用可能にしたことで、共有メモリの利用率は、どの別々なリソースの利用率よりも高くなっている。
【0005】
PCIe技術を組み込んだコンピューティング・システム及び通信システムが増大する一方で、多くのレガシー(例えば、PCI)システムが依然として使用されている。そうしたレガシー・システムを、最新のPCIeシステムと組合せる場合、これらのレガシー・システムと最新PCIeシステムとの通信で問題が生じることがある。
【発明の概要】
【0006】
シングル・ルート入出力仮想化(SR−IOV)機能を、レガシー機能として現出するように、変換するシステムを開示する。このシステムは、レガシー・ホストとSR−IOV対応可能なデバイスとを接続するスイッチ・プラットフォームを含む。スイッチ・プラットフォームは、タイプ毎にコンフィグレーション・サイクルを区別し、これらのコンフィグレーション・サイクルを処理するようにプログラムしたプロセッサと、コンフィグレーション・サイクルに関するデータを保存する1つ又は複数のローカル・レジスタとを含む。また、スイッチ・プラットフォーム・プロセッサにより、スイッチ・プラットフォームの他の操作を監視又は制御する。
【0007】
SR−IOV仮想機能とレガシー・ホスト・プロセッサのアドレス空間との間で変換を行なう方法も開示する。この方法は、ホスト・プロセッサからコンフィグレーション・サイクルを受信するステップと、ホスト・プロセッサからのコンフィグレーション・サイクルをコンフィグレーション・レジスタと比較するステップと、コンフィグレーション・サイクルのタイプを判定するステップと、受信したコンフィグレーション・サイクルで変換操作を実行するステップと、コンフィグレーション完了サイクルを、ホスト・プロセッサに返すステップとを含む。
【0008】
更に、レガシー・ホスト・プロセッサが、SR−IOVエンド・デバイスの割当てられた仮想機能となり得るように、変換を行なうシステムも開示する。このシステムは、ホスト・プロセッサとエンド・デバイスとの間に、インテリジェント・スイッチ・ファブリック仲介を含む。スイッチ・ファブリックには、仮想機能が生じるエンド・デバイスのタイプを識別する処理手段と、エンド・デバイスに関する選択情報を保存する保存手段と、入力されたホストの宛先情報を対応するエンド・デバイスの規定宛先情報に変換する手段と、エンド・デバイスの入力エンド・デバイス完了情報を、ホスト・プロセッサの対応する完了情報に変換する手段とを含む。このシステムには更に、コンフィグレーション・サイクル及びコンフィグレーション完了サイクルをスイッチ・ファブリックで受信する手段を含む。
【図面の簡単な説明】
【0009】
【図1】シングル・ルート・アーキテクチャを使用するPCIe対応可能なコンピューティング・システムのブロック図である。
【図2】図1のシステム用コンフィグレーション空間の実施例を示す。
【図3】図1のシステムの仮想機能を利用するよう構成したレガシー・コンピューティング・システムに追加する例示的要素を示す。
【図4A】図1の仮想機能が、図3のシステムに対するレガシー機能として現出するように、様々なコンフィグレーション・サイクルを変換する例示的メカニズムを示す。
【図4B】図1の仮想機能が、図3のシステムに対するレガシー機能として現出するように、様々なコンフィグレーション・サイクルを変換する例示的メカニズムを示す。
【図4C】図1の仮想機能が、図3のシステムに対するレガシー機能として現出するように、様々なコンフィグレーション・サイクルを変換する例示的メカニズムを示す。
【図5】図4A〜図4Cに関して記載した変換を実現するのに使用する例示的なスイッチ・プラットフォーム及び関連するコントローラを示す。
【図6】メモリ変換を実現する例示的なメカニズムを示す。
【図7】図3のシステムで実行する例示的なルーチンを示すフローチャートである。
【発明を実施するための形態】
【0010】
詳細な説明では以上の図面を参照するが、同じ番号では同様のアイテムを指すものとする。
【0011】
以下の説明では、PCI−Expressにおいて相互に接続したデバイスから構成するシステムをPCIeシステムと呼び、接続する数種類のデバイスをPCIeデバイスと呼び、これらのデバイスを接続するバスをPCIeバスと呼び、通信で使用するパケットをPCIeパケットと呼ぶ。PCIe以前の技術を使用しているシステムを、レガシー・システムと呼び、対応するレガシー・デバイス及びバスを有する。
【0012】
図1を参照すると、PCIeシステム100は、PCIeのツリー型トポロジの「ルート」としての役割を果たすものとして、ホスト・バスを介してCPU120と接続し、メモリ・バスを介してメモリ130と接続するルート・コンプレックス110を含むと共に、ファンアウト機能をPCIeバスに提供するPCIeスイッチ140と、PCIeバスを介して接続するI/Oデバイス150とを含む。CPU120を、汎用プロセッサ、埋め込みプロセッサ、又は専用処理要素としてもよい。メモリ130を、汎用メモリ又は埋め込みメモリとしてもよい。一般に、PCIeのツリー型トポロジのCPU120に隣接したルート・コンプレックス110の側を上流と呼び、I/Oデバイス150に隣接したルート・コンプレックス110の側を下流と呼ぶ。図1では、2つのI/Oデバイス150を、PCIeスイッチ140に接続しているが、接続可能なI/Oデバイス150の数は2つに限定にされるものではない。CPU120で提供する設定ソフトウェアを、PCIシステム100を構成するのに使用する。
【0013】
各PCIeデバイス150を、ルート・ポート115を通してルート・コンプレックス110に接続する。複数のPCIeデバイス150を単一のルート・ポート115に接続する場合には、スイッチ140等のスイッチを、ルート・ポート115とPCIeデバイス150の間に配置する。
【0014】
プロセッサ120と関連して、仮想化仲介160を示したが、仮想化仲介160を使用して、システム100の基盤となるハードウェアを抽象化して、各システム・イメージ(SI)170をシステム自体の仮想コンピューティング・システムで表示する。システム・イメージ170は、システム100におけるアプリケーションを実行するのに使用するオペレーティング・システム等のソフトウェア要素とする。シングル・ルートPCIマネージャ(SR−PCIM)165を、システムのSR−IOV能力を構成し、物理機能(PF)及び仮想機能(VF)を管理し、関連するエラー・イベントを処理するのに使用するソフトウェアとする。物理機能は、SR−IOV能力をサポートし、SR−PCIM165、VI160、又はSI170にアクセス可能なPCIe機能である。仮想機能は、SI170が直接アクセス可能な軽量なPCIe機能である。仮想機能は、異なるシステム・イメージ170で、連続的に共有できる。
【0015】
最後に、図1で示したシステム100は、「シングル・ルート」システムであることに、注意されたい。他のコンピューティング・システムでは、マルチ・ルートを使用してもよい。
【0016】
PCIeスイッチ140には、上流のPCI−PCIブリッジと、内部PCIバスと、下流のPCI−PCIブリッジとを、備える(次に構成要素を示す)。上流のPCI−PCIブリッジと下流のPCI−PCIブリッジには、各ブリッジの下流に接続したPCIeリソース空間に関する情報を保持する各コンフィグレーション・レジスタを備える。PCIeリソース空間は、PCIeシステムで使用する複数のアドレス下で占める空間である。
【0017】
図2は、PCIeタイプ0コンフィグレーション・レジスタの内部配列の例を示す略図である。アドレスの例として、デバイスIDはベンダーに特定の装置番号を指し、ベンダーIDはメーカー番号を指し(両方共オフセットは00h)、クラス・コード(オフセットは08h)はデバイス属性を指す。アドレス・オフセット10h〜24h及び30hを、ベース・アドレス・レジスタに使用する。SR−PCIM165に含む設定ソフトウェアで、レジスタ値を調べて、デバイスを識別できる。I/Oデバイスのアドレス空間を割り当てる際に、ベース・アドレス・レジスタを、ベース・アドレスを配線するSR−PCIM165の設定ソフトウェアで使用する。デバイス識別及び関連プロセスは、PCIeコンフィグレーション・サイクル中に行なわれる。こうしたコンフィグレーション・サイクルは、システム起動中及び場合によってはホットプラグ操作後に、行なわれる。以下で説明するように、本明細書で開示する変換デバイスでは同じレジスタ値を使用して、SR−IOV仮想機能を、レガシー・ホストにレガシー機能として現出させる。
【0018】
図1に戻ると、PCIeに基づくシステム100の起動時、初期コンフィグレーション・サイクル中に、PCIeシステム100に存在する全てのPCIeデバイスを、設定ソフトウェア160で検索する。特に、システム100の全てのPCIバスをスキャンし、PCIバス毎にある各スロットを、スロットを占領するPCIeデバイスの属性についてチェックする。次に、見つかった各PCIeデバイスが必要とするPCIeリソース空間を連続的に割り当てて、コンフィグレーションを獲得する。例えば、図1のPCIeシステム100では、PCIeスイッチ140の下流に接続したI/Oデバイス150を、デバイスが必要とする夫々のリソース空間に割り当て、割り当てた空間のサイズに従い、図2で示したコンフィグレーション・レジスタにおける値を設定する。
【0019】
PCIeは、未使用のスロットへ/からI/Oデバイスのプラグを活電中に断接できるホットプラグ機能を提供する。ホットプラグは、I/Oデバイス等を、システムの他のデバイスを使用しながら、物理的に着脱可能にする技術である。従来のPCIeシステムでは、主なホットプラグ機能は、例えば、初期コンフィグレーション・サイクル中に図1のPCIeスイッチ140に取付けたI/Oデバイス150が故障した際、同様なI/Oデバイス150と交換する場合に、役に立つ。I/Oデバイス150をスロットに挿入すると、下流のCPU120とI/Oデバイス150との間にリンクを確立し、電気信号の同期や信用情報の交換等を自動的にアクティブにする。ホットプラグ・レジスタをオンにし、同時に割込みをCPU120に対して発生させる。割込みがトリガーとなり、SR−PCIM165の設定ソフトウェアを呼び出して、挿入したI/Oデバイス150をコンフィグレーションし、ホットプラグ・レジスタをクリアする。このコンフィグレーション・プロセスの完了後に、挿入したI/Oデバイス150をイネーブルにする。
【0020】
システム100ではホットプラグ操作でI/Oデバイスを交換可能にできるが、I/Oデバイス150を未使用のスロットに設置すると、PCIeスイッチ140が保持するコンフィグレーション・レジスタや、既に割当てられているPCIeリソース空間に関する情報を含む他のI/Oデバイスが保持するベース・アドレス・レジスタを含む、全てのPCIシステム100を、リコンフィギュレーションする必要があるかも知れない。その訳は、初期コンフィグレーション・サイクル中、バス番号をPCIeバスに割り当て、デバイス番号、機能番号、32ビットのI/O空間、32ビットのメモリ空間、及び必要に応じて64ビットのメモリ空間を、PCIeスイッチ140及びI/Oデバイス150に連続的に割当てるが、これらは未使用のスロットには割当てない。従って、I/Oデバイス150を未使用のスロット(例えば、PCIeスイッチ140の)に挿入すると、挿入したI/Oデバイス150に割り当てるPCIeリソース空間が、当前記空間を使用している別のI/Oデバイス150を妨害するかも知れない。
【0021】
SR−IOVは、仮想機能と呼ばれる新タイプの機能を規定する新たなPCIe仕様である。仮想機能は、従来の(レガシー)PCI機能とは大幅に異なり、SR−IOVデバイスを取付けるホストのPCIコードも変更する必要がある。ホストのPCIコードを変更する代わりの手段として、仮想機能を通常のPCI機能のように見せることができる。この変換を、PCIホストが実行するコンフィグレーション・プロセスの一部として、生じさせる。この変換を、ホストと仮想機能との間に存在する中間デバイスで実行する。
【0022】
図3では、図1のシステムの仮想機能を利用するよう構成したコンピューティング・システムのレガシー・ホスト・プロセッサに追加する例示的要素について、説明している。図3に示すように、コンピューティング・システム300は、レガシー・ホスト・プロセッサ310を含み、プロセッサ310を、更なるスイッチ・プラットフォーム320を介して、1つ又は複数のI/Oデバイス150と接続する。I/Oデバイス150は、全ての関連する点において、図1に示した対応するデバイスと同様である。即ち、図3に示したI/Oデバイス150は、SR−IOV仕様による仮想機能を実施する。一例として、I/Oデバイス1501は、SR−IOV仕様に準じて構成された単一のイーサネット(登録商標、以下同じ)・ポートで、4つの仮想イーサネット・ポートを表すことができる。このように、4つの仮想イーサネット・ポートの何れかを、図1に示したシステム・イメージ170等、特定のシステム・イメージに割り当ててもよい。また、ホスト・プロセッサ310は、4つの仮想イーサネット・ポートの何れにもアクセスできる。しかしながら、ホスト・プロセッサ310は、PCIeのSR−IOVデバイスではないので、まずホスト・プロセッサ310に対して変換操作を完了して、I/Oデバイス1501とインターフェース接続する必要がある。通常、そうした変換は、コンピュータ・システム300の起動中に、様々なコンフィグレーション・サイクルを実施して、接続したI/Oデバイス150をイネーブルにすると発生する。この変換を、スイッチ・プラットフォーム320で実行する。
【0023】
図4A〜図4Cでは、様々なコンフィグレーション・サイクルを、I/Oデバイス150の仮想機能が、レガシー機能として図3のホスト・プロセッサに現出するように、変換する例示的なメカニズムについて説明している。コンフィグレーション・サイクルのタイプには、図4A〜図4Cに示したようなものがある。図4Aでは、スイッチ・プラットフォーム320によって、ホストの規定宛先バス又はデバイス機能をエンド・デバイス(即ち、I/Oデバイス150)の規定宛先バス/デバイス/機能番号に対応させるように変えて、ホスト・プロセッサ310から入力されたタイプAのコンフィグレーション・サイクルを変更する。1実施例では、タイプAのコンフィグレーション・サイクルは、図2に示したように、アドレス空間08h、0Ch、28h、2Ch、34h、38hに関するものである。こうして変更したコンフィグレーション・サイクルを、I/Oデバイス150から特定の情報を得るために、I/Oデバイス150に送出する。I/Oデバイス150からホスト・プロセッサ310に送出したコンフィグレーション完了サイクル信号を、同様に、スイッチ・プラットフォーム320で変換する。
【0024】
図4Bでは、コンフィグレーション・サイクルを、スイッチ・プラットフォーム320で、信号をI/Oデバイス150に送出せずに、遮断し、処理する。1実施例では、この変換を、図2に示したように、コンフィグレーション空間のアドレス空間10h〜24h及び30hに適用する。スイッチ・プラットフォーム320により、データをローカル・レジスタに書き込み、データをローカル・レジスタから読み出す。ローカル・レジスタに保存したI/Oデバイスについての情報に基づいて、スイッチ・プラットフォーム320でコンフィグレーション・サイクルを局所的に生成する。
【0025】
図4Cでは、コンフィグレーション・サイクルは、コンフィグレーション・サイクルがI/Oデバイス150を通過する前に、宛先バス/デバイス/機能番号を変更させるが、データの一部を、このデータをローカル・レジスタに書き込む又は読み出すスイッチ・プラットフォーム320で処理する。スイッチ・プラットフォーム320において、入力I/Oデバイスの規定完了バス/デバイス/機能番号を、対応するホスト・プロセッサ310の完了したバス/デバイス/機能番号と一致させるように変換して、I/Oデバイス150から入力されたコンフィグレーション・サイクルを変更し、こうして変更した信号を、スイッチ・プラットフォーム310のローカル・レジスタからのデータと組合せて、出力するコンフィグレーション完了サイクルを作成する。
【0026】
図5は、例示的なスイッチ・プラットフォーム320のブロック図である。図5では、スイッチ・プラットフォーム320を、プロセッサ322及びローカル・レジスタ324を含んで、視認できる。プロセッサ322を、ホスト・プロセッサ310からのコンフィグレーション・サイクルを遮断し、図4A〜図4Cの3メカニズムの何れかを、必要な変換を実現するために適用するかを決定するよう、プログラムする。変換によっては、プロセッサ322により、ローカル・レジスタ324からデータを読み出す、又はデータを書き込む。
【0027】
図6では、メモリ変換を実現する例示的メカニズムを説明している。コンフィグレーション・サイクルについては前述同様に、ホスト・プロセッサ310がメモリにアクセスするのに、コンフィグレーション空間レジスタ(図2に示した例)のために、メモリ・アドレスの何らかの変換が必要であるかも知れない。特に、コンフィグレーション空間レジスタ180は、ベース・アドレス・レジスタ(BAR)を、アドレス・オフセット10h〜24h及び30hとして示している。これらのアドレス・オフセットを、ホスト・プロセッサ310によりメモリアドレス機能を正確に解釈するように変換する。図6に示したように、ホスト・プロセッサ310は、メモリ・サイクルを発行し、このサイクルをスイッチ・プラットフォーム320で受取り、ローカルBARと比較する。一致が見つかった場合(アドレスがヒットした場合)、このアドレスを、プロセッサ322を使用して変換する。 比較して全く一致が見つからなかった場合は、プロセッサ322は、Unsupported Requestを発行する。
【0028】
図7は、図3のシステムで実行される例示的なルーチン600を説明するフローチャートである。このルーチンはブロック605から開始する。ブロック610では、スイッチ・プラットフォーム320でホスト・プロセッサ310からコンフィグレーション・サイクルを受信する。ブロック615では、コンフィグレーション・サイクルにおいて、特定のエンド・ポイント・デバイスに関して、プロセッサ322でコンフィグレーション・バス/デバイス/機能情報を比較する。ブロック620では、プロセッサにより、どのタイプのコンフィグレーション・サイクルを処理するかを判定する。ブロック625では、プロセッサ322により、ホスト・デバイスから意図するエンド・デバイスへの、必要なバス/デバイス/機能変換を実行する。
【0029】
ブロック630では、プロセッサが、コンフィグレーション・サイクルがタイプA、B又はCかを注記する。コンフィグレーション・サイクルがタイプA又はCでなければ、ルーチン600はブロック640に移動し、コンフィグレーション・サイクルはスイッチ・プラットフォーム320で終了する。しかしながら、コンフィグレーション・サイクルがタイプA又はCのどちらかであれば、ルーチンはブロック645に移動して、コンフィグレーション・サイクルをエンド・デバイスに送る。ブロック650では、エンド・デバイスで適切に処理した後に、エンド・デバイスは、コンフィグレーション完了サイクルを返す。コンフィグレーション完了サイクルを変換し(ブロック655)、ルーチン600は、ホスト・コンピュータに送信するブロック660に移動し、次に終了665する。

【特許請求の範囲】
【請求項1】
シングル・ルート入出力仮想化(SR−IOV)機能を、レガシー機能として現出するように変換するシステムであって、
レガシー・ホストとSR−IOV対応可能なエンド・デバイスとを接続するスイッチ・プラットフォームを備え、
前記スイッチ・プラットフォームは、タイプ毎にコンフィグレーション・サイクルを区別し、前記コンフィグレーション・サイクルを処理するようにプログラムしたプロセッサと、
前記コンフィグレーション・サイクルに関するデータを保存する1つ又は複数のローカル・レジスタとを備えることを特徴とするシステム。
【請求項2】
前記コンフィグレーション・サイクルは、コンフィグレーション・レジスタにおけるアドレス空間を、前記エンド・デバイスの物理アドレスと関連付けることを特徴とする請求項1に記載のシステム。
【請求項3】
前記エンド・デバイスをPCIeのI/Oデバイスとすることを特徴とする請求項1に記載のシステム。
【請求項4】
前記ホスト・プロセッサからの入力メモリ・サイクルを、前記エンド・デバイスが理解可能なメモリ・サイクルに変換する手段を更に備えることを特徴とする請求項1に記載のシステム。
【請求項5】
前記エンド・デバイスの代わりに交換デバイスを挿入するホットプラグ操作を検出する手段と、
前記交換デバイスの仮想機能が、前記ホスト・プロセッサにレガシー機能として現出するように、前記交換デバイスをコンフィグレーションする手段とを更に備えることを特徴とする請求項1に記載のシステム。
【請求項6】
エンド・デバイスのSR−IOV仮想機能とレガシー・ホスト・プロセッサのアドレス空間との間で変換する方法であって、
前記エンド・デバイスと前記ホスト・プロセッサとの間のスイッチ・プラットフォーム仲介で、前記ホスト・プロセッサからコンフィグレーション・サイクルを受信し、
前記ホスト・プロセッサからの前記コンフィグレーション・サイクルをコンフィグレーション・レジスタと比較し、コンフィグレーション・サイクルのタイプを判定し、
前記受信したコンフィグレーション・サイクルに変換操作を実行し、
コンフィグレーション完了サイクルを、前記ホスト・プロセッサに返すことを含むことを特徴とする方法。
【請求項7】
前記変換したコンフィグレーション・サイクルを前記エンド・デバイスに送信し、
コンフィグレーション完了信号を、前記エンド・デバイスから受信し、
前記受信したコンフィグレーション完了信号を変換して、前記コンフィグレーション完了サイクルを作成することを更に含むことを特徴とする請求項6に記載の方法。
【請求項8】
入力メモリ・サイクルをコンフィグレーション・レジスタにおけるベース・アドレス・レジスタと比較することで、メモリ・アクセス・サイクルを変換することを更に含み、
メモリ・アドレスが変換されることを特徴とする請求項7に記載の方法。
【請求項9】
交換デバイスを前記エンド・デバイスの代わりに挿入するホットプラグ操作の指示を受信し、
コンフィグレーション・サイクルを、スイッチ・プラットフォームに送信し、
前記エンド・デバイスからコンフィグレーション完了サイクルを受信することを更に含むことを特徴とする請求項6に記載の方法。
【請求項10】
前記スイッチ・プラットフォームにおいて前記交換デバイスに関する情報を保存し、
前記スイッチ・プラットフォームにおいて前記コンフィグレーション完了サイクルを生成することを更に含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記スイッチ・プラットフォームにおいて前記交換デバイスに関する情報の第1部分を保存し、
前記交換デバイスに関する前記情報の第2部分を前記交換デバイスに送信し、
前記交換デバイスから、前記受信した情報の第2部分に基づくコンフィグレーション完了信号を受信し、
前記保存した情報の第1部分と前記コンフィグレーション完了信号とを組合せて、前記コンフィグレーション完了サイクルを生成し、
前記コンフィグレーション完了サイクルを、前記ホスト・プロセッサに送信することを更に含むことを特徴とする請求項9に記載の方法。
【請求項12】
前記コンフィグレーション・サイクルを前記交換デバイスに送信し、
前記交換デバイスから、コンフィグレーション完了信号を受信し、
前記受信したコンフィグレーション完了信号を変換し、
前記変換した信号を、コンフィグレーション完了サイクルとして、前記ホスト・プロセッサに送信することを更に備えることを特徴とする請求項9に記載の方法。
【請求項13】
レガシー・ホスト・プロセッサが、SR−IOVエンド・デバイスの割り当てられた仮想機能となり得るように、変換を行なうシステムであって、
前記ホスト・プロセッサと前記エンド・デバイスとの間にインテリジェント・スイッチ・ファブリック仲介を備え、
前記インテリジェント・スイッチ・ファブリックは、
仮想機能が発生するエンド・デバイスのタイプを識別する処理手段と、
前記エンド・デバイスに関する選択情報を保存する保存手段と、
入力されたホストの規定宛先情報を、対応するエンド・デバイスの規定宛先情報に変換する手段と、
前記エンド・デバイスに関する入力されたエンド・デバイス完了情報を、前記ホスト・プロセッサに関する対応する完了情報に変換する手段と、
コンフィグレーション・サイクル及びコンフィグレーション完了サイクルを、前記スイッチ・ファブリックで受信する手段とを備えることを特徴とするシステム。
【請求項14】
交換デバイスで前記エンド・デバイスを交換するホットプラグ操作を発見する手段と、
前記交換デバイスを構成する手段とを更に含むことを特徴とする請求項13に記載のシステム。
【請求項15】
前記スイッチ・ファブリックにおいて、前記エンド・デバイスのバス/デバイス/機能情報に関する情報を保存する手段と、
前記スイッチ・ファブリックにおいて前記コンフィグレーション完了サイクルを生成することを更に含むことを特徴とする請求項13に記載のシステム。
【請求項16】
前記スイッチ・ファブリックにおいて、前記エンド・デバイスに関する情報の第1部分を保存する手段と、
前記エンド・デバイスに関する前記情報の第2部分を、前記エンド・デバイスに送信する手段と、
前記エンド・デバイスから、前記受信した情報の第2部分に基づくコンフィグレーション完了信号を受信する手段と、
前記保存した情報の第1部分と、前記コンフィグレーション完了信号を組合せて、前記コンフィグレーション完了サイクルを生成する手段と、
前記コンフィグレーション完了サイクルを、前記ホスト・プロセッサに送信する手段とを更に含むことを特徴とする請求項13に記載のシステム。
【請求項17】
前記コンフィグレーション・サイクルを前記エンド・デバイスに送信する手段と、
前記エンド・デバイスから、コンフィグレーション完了信号を受信する手段と、
前記受信したコンフィグレーション完了信号を変換する手段と、
前記変換した信号を、コンフィグレーション完了サイクルとして、前記ホスト・プロセッサに送信する手段とを更に含むことを特徴とする請求項13に記載のシステム。
【請求項18】
交換デバイスで前記エンド・デバイスを交換するホットプラグ操作を検出する手段と、
前記交換デバイスからのバス/デバイス/機能情報を交換する手段であって、前記交換デバイスの機能が、前記ホスト・プロセッサにレガシー機能として現出することを更に含むことを特徴とする請求項13に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

image rotate


【公表番号】特表2011−517497(P2011−517497A)
【公表日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2011−501759(P2011−501759)
【出願日】平成20年3月25日(2008.3.25)
【国際出願番号】PCT/US2008/058110
【国際公開番号】WO2009/120187
【国際公開日】平成21年10月1日(2009.10.1)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】