JP2011516964A - Pciデバイス用pciメモリ空間の確保 - Google Patents

Pciデバイス用pciメモリ空間の確保 Download PDF

Info

Publication number
JP2011516964A
JP2011516964A JP2011502917A JP2011502917A JP2011516964A JP 2011516964 A JP2011516964 A JP 2011516964A JP 2011502917 A JP2011502917 A JP 2011502917A JP 2011502917 A JP2011502917 A JP 2011502917A JP 2011516964 A JP2011516964 A JP 2011516964A
Authority
JP
Japan
Prior art keywords
pci
virtual
memory
bridge
host computer
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
JP2011502917A
Other languages
English (en)
Inventor
ヒューバート ブリンクマン,
ダレン セプリス,
デイヴィッド マシュー,
ドゥワイト ライリ,
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2011516964A publication Critical patent/JP2011516964A/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging

Landscapes

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

Abstract

実施形態は、PCI(Peripheral Component Interconnect)デバイス用にメモリ空間を確保する方法、装置、システムを含む。1実施形態は、PCIスイッチ又はPCIブリッジを介してホストコンピュータに接続している周辺機器を判定し、次にPCIスイッチ又はPCIブリッジに接続しているとして、仮想デバイスを提示する方法を含む。バス番号及びメモリを仮想デバイス用に確保して、ホストコンピュータにホットプラグしたPCIデバイスに割当てる。
【選択図】図1

Description

PCI(Peripheral Component Interconnect)規格は、周辺機器をマザーボードに取付けるためのコンピュータバスについて規定するものである。PCI仕様では、バスの物理的属性、電気特性、バスタイミング、通信プロトコル等について記載している。PCI−SIG(PCI Special Interest Group)が、様々なPCIアーキテクチャに関する仕様を、維持、管理している。
コンピュータを立ち上げると、PCI列挙期間となる。この間、コンピュータのPCI列挙ソフトウェアが、インストールされた周辺機器全てと、それらが必要とするメモリ空間のリストをコンパイルする。つまり、コンピュータが、どの周辺機器がPCIバスに接続されているかを判定する。次に、そのソフトウェアが、インストールされたデバイス全てに対して空間を割当てるメモリマップを作成する。
作成されるメモリマップは、将来的なデバイス用の隙間もないほど密に詰まっているかも知れない。更に、このPCIバスの番号付けで、列挙完了後に接続するデバイス用にはPCIバスが残っていない可能性もある。これは、ホットプラグデバイス対応可能なシステムにとって問題となる。具体的には、メモリマップ及びPCIバスの番号付けを、列挙後にホットプラグするデバイス用の空間を含むよう変更するのが、厄介な場合がある。コンピュータシステムによっては、デバイスをホットプラグした後に、ホストがシステムを再列挙する必要が出てくる。
例示的な実施形態は、PCIデバイス用のPCIメモリ空間を確保する方法、システム、及び装置に関する。1実施形態では、コンピュータが起動し、PCI列挙が開始された後に、ホットプラグするPCIデバイス用にメモリ空間を確保する。
例示的な1実施形態では、ホットプラグ能力はあるが接続デバイスを有さない下流ブリッジにより、下流ブリッジ後方のバスに仮想デバイスを提示する。これらの仮想デバイスは、後付けする可能性があるデバイスのために「ダミー」メモリを要求する。デバイスをホットプラグしたなら、下流ブリッジはもう仮想デバイスを提示しなくなる。仮想デバイスが初めに要求した「ダミー」メモリ空間は、その結果使用可能となり、ホットプラグしたデバイスに割当てられる。更に、仮想デバイスに割当てたPCIバスが、ホットプラグしたデバイスに対して使用可能になる。
1実施形態では、ホストが最初に立ちあがる際に、該ホストと物理デバイスとの間のブリッジが仮想デバイスとして表示する該物理デバイスを、該ホストは認識又は検出する。また、仮想デバイスとして表示された物理デバイスをブリッジにホットプラグする今後のためにブリッジが作成した予約場所である、ダミーの仮想デバイスを、ホストが認識する。新たなデバイスを物理的に取付けるのに、必ずしもブリッジに接続する必要はない。
例示的な実施形態による、仮想PCIデバイス用にPCIバス番号及びメモリ空間を確保し発行するコンピュータシステムのブロック図である。 例示的な実施形態による、仮想PCIデバイス用にPCIバス番号及びメモリ空間を確保するためのフローチャートである。 例示的な実施形態による、確保したPCIバス番号及びメモリ空間を、ホットプラグしたPCIデバイスに発行するフローチャートである。
図1は、例示的な実施形態による、仮想PCIデバイス用のPCIバス番号及びメモリ空間を確保し発行するコンピュータシステム100のブロック図である。説明のために、PCI Expressアーキテクチャを用いてコンピュータシステムを示すが、例示的な実施形態は、如何なる特定タイプのPCIアーキテクチャにも限定するものではない。
図1は、単一ファブリックのインスタンス又は階層を示しており、このインスタンス又は階層は、ルートコンプレックス、複数のエンドポイント(例えば、入出力(I/O)デバイス)、スイッチ、PCI Express−to−PCI/PCI−Xブリッジを含み、全てがPCI Expressバス又はリンクを介して相互接続されている。具体的には、ルートノード、計算ノード又はホストコンピュータ110は、1つ又は複数のスイッチ130(説明の便宜上1つのスイッチを示したが)を介して、複数のPCI Expressのエンドポイント120に、接続している。ルートノードは、様々なデバイス(エンドポイント又はエンドノード、ブリッジ、スイッチ等)に、PCI Express又はリンク160を介して、接続している。1実施形態では、1つ又は複数のPCI Expressのエンドポイント120を、スイッチ130に物理的に接続する。他の実施形態では、1つ又は複数のPCI Expressのエンドポイント120を、スイッチ130からばらす。つまり、エンドポイント120を、物理的にポート170Bに接続せず、ばらしている。
ルートノード110は、CPU140と、メモリ145と、ホストバス155を介して接続したルートコンプレックス150を含む。ルートコンプレックス150は、様々な仮想PCI Expressのエンドポイント125と、PCI Express−to−PCI/PCI−Xブリッジ165と、スイッチ130に、別々のPCI Expressバス160を介して、接続する。PCI Express−to−PCI/PCI−Xブリッジ165により、PCI ExpressファブリックとPCI/PCI−X階層との接続を提供する。
ルートコンプレックス(RC)150は、CPU/メモリサブシステムをI/Oデバイスに接続するI/O階層のルートを表す。ルートコンプレックスにより、1つ又は複数のポートをサポートできる。
各インタフェースにより、別々の階層ドメインを定義し、各階層ドメインは、単一のエンドポイント或は、1つ又は複数のスイッチコンポーネント及びエンドポイントを含有するサブ階層を含む。階層ドメイン間でのピアツーピア(P2P)トランザクションをルートコンプレックス経由でルーティングする能力は、任意であって、実装次第とする。例えば、実装には、ソフトウェア透過的にピアツーピア(P2P)を完全にサポート可能にするよう、ルートコンプレックス内部に実際の又は仮想スイッチを含むことができる。
ルートコンプレックス150により、以下の1つ又は複数を機能させる又はサポートすることができる:リクエスタとしてコンフィグレーション要求の生成をサポートすること;リクエスタとしてI/O要求の生成をサポートすること;リクエスタとしてロック要求の生成をサポートすること。
エンドポイントは、仮想エンドポイントと実際のエンドポイント即ち物理エンドポイントの両方を含む。物理又は実際のエンドポイントは、それ自体又は異なる非PCIデバイス(PCIデバイス又はホストCPU以外)、例えばPCI Expressに接続したグラフィックスコントローラ、PCI Express−USBホストコントローラ等又は他のI/Oデバイス(ディスクドライブ等)のためにPCIトランザクションのリクエスタ又はコンプリータになれるデバイス又はデバイス群である。対照的に、仮想エンドポイントは、コンピュータシステムに実際に物理的に提示及び/又は接続されないデバイスである。従って、ホスト110は、物理デバイスがコンピュータシステムのスロット/ポートに接続されていると検出する又は信じるが、実は、物理デバイスは実際には全く存在してはいない。
図示するように、スイッチ130は、複数のポート170と複数の仮想PCI−PCIブリッジ175を含む。説明のために、スイッチ130を、1つの上流ポート170Aと3つの下流ポート170Bと共に示している。スイッチは、1つ又は複数の物理エンドポイント120及び仮想エンドポイント125と、PCIリンク160を介して接続する。
スイッチは1つ又は複数の以下のルールに従う:各スイッチは、設定ソフトウェアに2つ以上の論理的なPCI−to−PCIブリッジとして現れること;スイッチは、トランザクションをPCIブリッジメカニズム(アドレスに基づくルーティング)を用いて送ること;スイッチは、各種のトランザクションレイヤパケットをポート組間で送ること。
1実施形態では、各PCI Expressリンク160を、仮想PCI−to−PCIブリッジ構造を通してマッピングし、各PCI Expressリンク160は、それと関連する論理PCIバスを有する。仮想PCI−to−PCIブリッジ構造を、PCI Expressのルートコンプレックスポート、スイッチの上流ポート、又はスイッチの下流ポートの一部とすることができる。ルートポートを、PCI Express階層ドメインがPCIルートコンプレックスから始まる仮想PCI−to−PCIブリッジ構造とする。各デバイスが特定のデバイス番号に応答するように、デバイスをコンフィグレーション空間にマッピングする。
1実施形態では、ホスト110が最初に立ちあがる際に、ホストとデバイスとの間のブリッジ又はスイッチ(即ち、スイッチ130)が仮想デバイス(即ち、仮想PCI Expressのエンドポイント125)として表示する物理デバイスを、ホストが認識又は検出する。また、ホストは、仮想PCI Expressのエンドポイント125も、物理的に接続したデバイスと認識する。しかしながら、これらのデバイスは、仮想デバイスとして表示された物理デバイスをブリッジにホットプラグする今後のために、スイッチ130が作成した予約場所であり、実際にはダミーの仮想デバイスである。
図2は、例示的な実施形態による、仮想PCIデバイス用にPCIバス番号及びメモリ空間を確保するためのフローチャートである。
ブロック200によると、ホストコンピュータ又はルートノードが起動する。例えば、ホストをオンにする、或は再起動する。
ブロック210によると、ホストがPCI列挙を実行する。コンピュータが始動した後に、PCI列挙期間が始まる。その間に、コンピュータのPCI列挙ソフトウェアが、インストールされた周辺機器全てとそれらが必要とするメモリ空間リストをコンパイルする。つまり、コンピュータにより、どの周辺機器が実際に又は物理的にPCIバスに接続されているかを判定する。
1実施形態では、コンピュータを立ち上げる前に、コンピュータはオペレーションシステム(OS)にアドレスマップを構築する。列挙ソフトウェアにより、システムにどれ程のメモリ容量があるか、システムのI/Oコントローラがどれ程のアドレス空間を必要とするかを、判定する。このマップ(PCIリソース割当てマップと呼ばれることが多い)を、起動時にどのアドレスをPCIスロットのカード及び/又はI/Oコントローラと相互作用するよう割当てるかを示すアドレスマップとする。
ブロック220によると、ホストはPCIバスに接続しているデバイスのリストを取得する。例えば、ホストは、システムに接続している物理又は実際のエンドポイント(図1に示したPCI Expressのエンドポイント120等)のリストを受信する。
ブロック230によると、仮想エンドポイントを、実際の物理エンドポイントとして、ホスト又は計算ノードに提示する。これにより、ホストはブロック240による2つの機能を実行する。第1の機能として、ホストは、下流ブリッジ後方にあるバスのバス番号を確保する。第2の機能として、ホストは、仮想デバイス用に線形メモリマップでメモリを確保する。
こうして、ホストは、コンピュータシステムにインストールされたデバイス及び仮想デバイス全てに空間及びバス番号を割当てるメモリマップを作成する。メモリマップは、まだPCIバスに接続されていない任意の将来的なデバイス(例えば、PCIホットプラグ可能なデバイス)が使用可能な空間を含む。更に、PCIバス番号付けには、まだPCIバスに接続されていない任意の将来的なデバイスが使用可能な番号も含む。
図3は、例示的な実施形態による、確保したPCIバス番号及びメモリ空間を、ホットプラグしたPCIデバイスに発行するフローチャートである。
ブロック300によると、1つ又は複数のデバイスをコンピュータシステムにホットプラグする。例えば、エンドポイントをPCIブリッジ又はスイッチにホットプラグする。図1は、列挙後に実際の物理デバイスをスイッチ130に差し込み又は取付けできるPCI Expressの仮想エンドポイント125の例について、示している。
ブロック310によると、ホストが新たに追加されたデバイス又はエンドポイントを発見する。デバイスをポート又はスロットにホットプラグしたなら、仮想デバイスはもうホストに提示されない。つまり、実際の物理デバイスがその時点で接続されているので、下流ブリッジは、ブリッジに接続されているものとして仮想デバイスを提示しなくなる。
次に、ブロック320によると、ホストは新たに追加されたデバイスを、列挙中に仮想デバイス用に予め割当てた1つ又は複数のバス番号及びメモリに基づきセットアップする。例えば、ホストは、ポート又はスロットに割当てたバス番号をデバイスに提供し、対応するメモリ空間をそのポート又はスロット用に提供する。
デバイスがバス番号及びメモリ空間を備えたなら、デバイスは、ブロック330により、ポート又はスロットで使用可能になる。ホストは、この時点で別のポート又はスロットで別の新たなホットプラグデバイスに対応できる状態となり、その後ブロック300に戻る。
このプロセスにより、ホットプラグデバイスに対応可能なシステムに関する問題を解決できる。具体的には、新たなデバイスを追加した際に、メモリマップには新たに追加したホットプラグデバイス用の未使用又は使用可能な空間を既に含んでいるため、メモリマップを変更しなくて済む。そのため、コンピュータシステムでは、デバイスをホットプラグした後に、システムを再立ち上げ又は再起動する必要がない。従って、例示的な実施形態により、ホストを完全に再列挙する必要無く、共有I/Oシステムにおいてデバイスをホットプラグ可能となる。
定義:本明細書及び特許請求の範囲では、次の単語及び用語を以下の通り定義する。
単語「ブリッジ」は、同じプロトコル(例えば、イーサネット又はトークンリング)(イーサネットは登録商標)を用いて、2つのローカルエリアネットワーク(LAN)又はLANセグメントを接続するデバイスを意味する。例えば、ブリッジを、PCI/PCI−Xセグメント又はPCI Expressポートを内部コンポーネント相互接続部と又は別のPCI/PCI−Xバスセグメント若しくは別のPCI Expressポートと仮想的に或は実際に接続する機能とする。
用語「コンフィグレーション空間」は、PCIアーキテクチャ内のアドレス空間を意味する。コンフィグレーション空間のアドレスを有するパケットを使用して、デバイス内の機能(即ち、アドレスエンティティ)を構成する。
単語「下流」は、相互接続/システム要素(ポート/コンポーネント)の相対的な位置でルートコンプレックスから遠い位置を意味する。例えば、上流ポートではないスイッチのポートは、下流ポートとなる。ルートコンプレックスの全ポートは下流ポートとなる。このように、下流は、情報がルートコンプレックスから流れる情報流の方向も含む。
単語「エンドポイント」又は「エンドノード」は、異なるルールセットに従い動作するデバイス(アドレス可能な電子的エンティティ)又はデバイス群を意味する。
単語「ホットプラグ」、「ホットスワップ」等は、機械又はシステムの電子部品を継続動作させながら、取外し、交換できる能力を意味する。例えば、ホットスワップにより、1つ又は複数のデバイス(例えば、ハードドライブ)を、該デバイスを配置しているブレード全体又はエンクロージャの動作に影響を与えずに、交換或は修理可能となる。例えば、故障した場合に、個々のハードドライブをブレードから取外して、新たな又は異なるハードドライブと交換する。ブレードの継続動作を中断せずにエンクロージャ内に残したまま、新しいハードドライブをブレードに接続できる。
頭字語「PCI」は、Peripheral Component Interconnect(ペリフェラル コンポーネント インターコネクト)を意味する。PCI仕様には、バスの物理的属性、電気特性、バスタイミング、通信プロトコル等について記載されている。PCI−SIG(PCI Special Interest Group)が、様々なPCIアーキテクチャに関する仕様を、維持、管理している。
単語「ポート」は、コンポーネントとリンクとの間のインタフェース(即ち、2デバイス間の通信経路)を論理的に意味し、リンクを定義するチップに配設した送受信機群を物理的に意味する。
用語「ルートコンプレックス」は、ホストブリッジ及び1つ又は複数のポートを含むデバイス又はデバイス群を意味する。例えば、ホストコンピュータは、ルートコンプレックスである、PCIとホストをブリッジする機能を有する。ルートコンプレックスにより、CPUバス(ハイパートランスポート等)とPCIバスとの間にブリッジを提供する。
用語「ルートノード」は、ホストコンピュータ、コンピュータシステム、又はサーバを意味する。
単語「スイッチ」は、2つ以上のポートを接続して、パケットをポートからポートにルーティング可能にするデバイス又はデバイス群を意味する。設定ソフトウェアには、スイッチは、仮想のPCI−to−PCIブリッジ群として現れる。
単語「仮想」は、実在しないことを意味し、単なる概念的なもの(例えば、物理デバイス)を、物理的に実在するものと区別する。一例としては、事実上物理エンドポイントをバスに実際に接続していない場合に、ホストは、仮想エンドポイントを物理エンドポイントと見做し、検知する(想像上のデバイスだが、ホストが検出又は存在すると信じるデバイス)。仮想の反対は、実在又は物理的である。
単語「上流」は、相互接続/システム要素(ポート/コンポーネント)の相対的な位置でルートコンプレックスにより近い位置を意味する。例えば、トポロジ的にルートコンプレックスに最も近いスイッチのポートを、上流ポートとする。例えば、エンドポイントのみを含むコンポーネントのポートを、上流ポートとする。上流には、情報がルートコンプレックスへと流れる情報流の方向も含む。
例示的な1実施形態では、本明細書で記述した1つ又は複数のブロック又はステップを自動化する。つまり、装置、システム、及び方法は自動的に起動する。本明細書では、用語「自動化した」又は「自動的に」(及びこれらに類する用語)は、人間の介入、観察、取組み、決定の必要なく、コンピュータ及び/又は機械装置/電気装置を使用して、装置、システム、及び/又はプロセスを制御動作させることを意味する。
本発明の例示的な実施形態による方法は、例として提供するもので、本発明の範囲内で他の実施形態を限定すると解釈すべきものではない。例えば、図のブロック又は数字((1)、(2)等)は、特定の順序で進めねばならないステップとして、解釈すべきではない。更なるブロック/ステップを追加してもよく、幾つかのブロック/ステップを除去したもの、又はブロック/ステップの順序を変更したものも、依然として本発明の範囲内とする。更に、各図面中に記述した方法又はステップを、他の図面に加える、或は他の図面の方法又はステップと交換することもできる。更にまた、特定のデータ数値(特定の量、数、カテゴリ等)又は他の特定情報は、例示的な実施形態を記述するのに説明したように、解釈すべきである。そうした特定情報は、本発明を限定するために提供したものではない。
本発明による様々な実施形態では、実施形態を、方法、システム及び/又は装置として実行する。1例として、例示的な実施形態及びそれに関連するステップを、本明細書に記載した方法を実行する1つ又は複数のコンピュータソフトウェアプログラムとして実行する。ソフトウェアを、1つ又は複数のモジュール(コードサブルーチン、又はオブジェクト指向プログラミングで「オブジェクト」とも呼ぶ)として実行する。ソフトウェアの格納先は、個々の代替実施形態によって異なる。例えば、コンピュータ又はサーバの1プロセッサ又は複数のプロセッサが、CD−ROMドライブ、又はハードドライブ等の一種の長期記憶媒体から、ソフトウェアのプログラミングコードにアクセスする。ソフトウェアのプログラミングコードを、データ処理システムで使用するあらゆる既知の各種媒体や、ディスク、ハードドライブ、CD−ROM、ROM等を含む、半導体、磁気装置、光学デバイスといった記憶装置に、具現又は保存する。このコードを、そうした媒体で配信する、又はこのコードをユーザに、1コンピュータシステムのメモリ又はストレージから、何らかのネットワークを介して、他のコンピュータシステムに、かかる他のシステムのユーザが使用するために、配信する。或は、プログラミングコードを、メモリに具現し、このコードにプロセッサがバスを使用してアクセスする。ソフトウェアのプログラミングコードを、物理媒体のメモリに具現する、及び/又はソフトウェアコードをネットワークを介して配信する方法は、既知であり、本明細書では詳細には説明しない。
以上の記述は、本発明の原理及び様々な実施形態の例示を意図するものである。上記開示を完全に理解したなら、多くの変形例及び変更例が当業者には明らかになろう。以下の請求項は、そうした変形例及び変更例全てを包含すると解釈されるものとする。

Claims (20)

  1. PCI(Peripheral Component Interconnect)スイッチ又はPCIブリッジを介して実際にホストコンピュータに接続されている周辺機器のリストを確立し、
    前記PCIスイッチ又は前記PCIブリッジに接続されているとして仮想デバイスを提示し、
    前記仮想デバイス用にバス番号及びメモリを確保し、
    前記バス番号及び前記メモリを、前記ホストコンピュータにホットプラグしたPCIデバイスに、割当てること、
    を含む、方法。
  2. PCIデバイスが下流ブリッジに接続されているとして、前記下流ブリッジを前記ホストコンピュータに提示することを更に含み、前記下流ブリッジに接続された前記PCIデバイスを前記仮想デバイスとする、請求項1に記載の方法。
  3. 前記ホストコンピュータの列挙プロセス中にメモリを要求することを更に含み、前記要求されるメモリを前記仮想デバイス用とする、請求項1に記載の方法。
  4. 仮想デバイスを前記ホストコンピュータに提示するのを、実際のデバイスを前記仮想デバイスが提示されたポート又はスロットにホットプラグした後に、中止することを更に含む、請求項1に記載の方法。
  5. 予め仮想デバイスに割当てたメモリ空間を、前記ホストコンピュータにホットプラグした前記PCIデバイスの1つに割当てることを更に含む、請求項1に記載の方法。
  6. 予め仮想デバイスに割当てたメモリ空間を、前記ホストコンピュータにホットプラグした前記PCIデバイスの1つに割当てることを更に含む、請求項1に記載の方法。
  7. 前記ホストコンピュータに、共有入出力(I/O)システムに接続された周辺機器を確立するための列挙を行なうよう要求せずに、デバイスを前記I/Oシステムにホットプラグ可能にすることを更に含む、請求項1に記載の方法。
  8. 1つ又は複数のPCI(Peripheral Component Interconnect)スイッチ又はPCIブリッジによってルートノードに物理的に接続している周辺機器を判定し、
    前記PCIスイッチ又は前記PCIブリッジに接続しているとして、仮想デバイスを提示し、
    前記PCIスイッチ又は前記PCIブリッジに接続しているとして前記ルートノードに提示された仮想PCIデバイス用に、バス番号及びメモリを確保し、
    前記バス番号及び前記メモリを、前記ルートノードにホットプラグしたPCIデバイスに割当てることを含む方法をコンピュータに実行させる命令を有する、有形のコンピュータ可読媒体。
  9. 前記方法が、
    実際のデバイスを仮想PCIデバイスが提示されたブリッジにホットプラグした後に、前記仮想PCIデバイスを前記ルートノードに提示するのを中止することを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  10. 前記方法が、
    前記ルートノードに物理的に接続された前記周辺機器と、前記PCIスイッチ及び前記PCIブリッジに接続されているとして前記ルートノードに提示された前記PCIデバイスとの両方用に、空間を提供するメモリマップを作成することを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  11. 前記方法が、
    予め仮想PCIデバイスに割当てたスイッチ又はブリッジに周辺機器がホットプラグされた時を決定することを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  12. 前記方法が、
    PCIデバイスが下流ブリッジに接続されているとして、前記下流ブリッジを前記ルートノードに提示し、前記下流ブリッジに接続された前記PCIデバイスを、前記仮想PCIデバイスとすることを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  13. 前記方法が、
    前記ルートノードの列挙プロセス中にメモリを要求することを更に含み、前記要求されるメモリを前記仮想PCIデバイス用とする、請求項8に記載の有形のコンピュータ可読媒体。
  14. 前記方法が、
    予め仮想PCIデバイスに割当てたメモリ空間を、前記ルートノードにホットプラグした前記PCIデバイスの1つに割当てることを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  15. 前記方法が、
    予め仮想PCIデバイスに割当てたメモリ空間を、前記ルートノードにホットプラグした前記PCIデバイスの1つに割当てることを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  16. 前記方法が、
    前記ルートノードに、共有入出力(I/O)システムに接続された周辺機器を確立するための列挙を行なうよう要求せずに、デバイスを前記I/Oシステムにホットプラグ可能にすることを更に含む、請求項8に記載の有形のコンピュータ可読媒体。
  17. アルゴリズムを保存するメモリと、
    1つ又は複数のPCI(Peripheral Component Interconnect)スイッチ又はPCIブリッジによってホストコンピュータに接続している周辺機器を判定し、
    前記PCIスイッチ又は前記PCIブリッジに接続しているとして、仮想デバイスを提示し、
    前記PCIスイッチ又はブリッジに接続しているとして前記ホストコンピュータに提示された仮想デバイス用のバス番号及びメモリを確保し、
    前記バス番号及び前記メモリを、前記ホストコンピュータにホットプラグしたPCIデバイスに、割当てるように、
    アルゴリズムを実行するプロセッサと、
    を含む、コンピュータシステム。
  18. 前記バス番号が、下流ブリッジの後方のバスに対して発生する、請求項17に記載のコンピュータシステム。
  19. 前記プロセッサが、前記ホストコンピュータにホットプラグする前記PCIデバイス用に線形メモリマップにおけるメモリを確保するように、前記アルゴリズムを更に実行する、請求項17に記載のコンピュータシステム。
  20. 前記プロセッサが、
    予め仮想デバイスに割当てた前記メモリ空間を、前記ホストコンピュータにホットプラグした前記PCIデバイスの1つに割当て、
    予め仮想デバイスに割当てた前記メモリ空間を、前記ホストコンピュータにホットプラグした前記PCIデバイスの1つに割当てるように、
    前記アルゴリズムを更に実行する、請求項17に記載のコンピュータシステム。
JP2011502917A 2008-04-01 2008-04-01 Pciデバイス用pciメモリ空間の確保 Pending JP2011516964A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/059060 WO2009123627A1 (en) 2008-04-01 2008-04-01 Reserving pci memory space for pci devices

Publications (1)

Publication Number Publication Date
JP2011516964A true JP2011516964A (ja) 2011-05-26

Family

ID=41135864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011502917A Pending JP2011516964A (ja) 2008-04-01 2008-04-01 Pciデバイス用pciメモリ空間の確保

Country Status (6)

Country Link
US (1) US20110029693A1 (ja)
EP (1) EP2260392A4 (ja)
JP (1) JP2011516964A (ja)
KR (1) KR20110010696A (ja)
CN (1) CN101983377A (ja)
WO (1) WO2009123627A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5440507B2 (ja) * 2008-10-15 2014-03-12 日本電気株式会社 マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
US9575919B2 (en) 2013-09-25 2017-02-21 Hitachi, Ltd. Information system capable of expanding drive and bus number allocation method of the information system
JP2018507603A (ja) * 2015-01-16 2018-03-15 クアルコム,インコーポレイテッド リモート周辺コンポーネント相互接続エクスプレス(PCIe)エンドポイントをサポートするように適合されたPCIeホスト
JP2020024557A (ja) * 2018-08-07 2020-02-13 富士通株式会社 情報処理装置、ブート方法及びブートプログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2473675B (en) * 2009-09-22 2011-12-28 Virtensys Ltd Switching method
US8301818B2 (en) * 2009-12-11 2012-10-30 Oracle America, Inc. Virtual hot plugging of devices and virtual devices
US8650349B2 (en) * 2010-05-26 2014-02-11 International Business Machines Corporation Memory mapped input/output bus address range translation for virtual bridges
US9262363B2 (en) * 2012-11-30 2016-02-16 Ciena Corporation PCI and PCI express virtual hot plug systems and methods
CN104216844A (zh) * 2014-09-01 2014-12-17 山东超越数控电子有限公司 一种cpci/cpci-e混合总线互联的实现方法
US9779050B2 (en) 2015-04-27 2017-10-03 Red Hat Israel, Ltd. Allocating virtual resources to root PCI bus
GB201603469D0 (en) * 2016-02-29 2016-04-13 Ibm Securely removing system capabilities from a logical partition
WO2017209854A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Hot-plug hardware and software implementation
WO2018000164A1 (en) * 2016-06-28 2018-01-04 Intel Corporation Accessing input/output devices of detachable peripheral by main computer
CN106250060A (zh) * 2016-08-03 2016-12-21 浪潮(北京)电子信息产业有限公司 PCIe设备的热插入方法和装置、热拔出方法和装置
US10133699B2 (en) 2016-08-05 2018-11-20 Red Hat Israel, Ltd. Hot-plug of devices in virtualized computer systems
KR101867329B1 (ko) * 2017-09-04 2018-07-19 김환중 토네이도 유도 액체 전기 가열장치
US11290557B2 (en) * 2018-03-01 2022-03-29 Dell Products L.P. Systems and methods for proxying services between a modular information handling system and a mobile device
CN108804230B (zh) * 2018-06-11 2020-05-26 苏州浪潮智能科技有限公司 一种根据pci设备的类型分配资源的方法、装置及介质
CN111679997B (zh) * 2020-05-29 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种多个pci/pci-e接口系统的设备管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046722A (ja) * 2006-08-11 2008-02-28 Nec Corp I/o装置及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960213A (en) * 1995-12-18 1999-09-28 3D Labs Inc. Ltd Dynamically reconfigurable multi-function PCI adapter device
US5937173A (en) * 1997-06-12 1999-08-10 Compaq Computer Corp. Dual purpose computer bridge interface for accelerated graphics port or registered peripheral component interconnect devices
US6081864A (en) * 1997-07-31 2000-06-27 Advanced Micro Devices, Inc. Dynamic configuration of a device under test
US6823418B2 (en) * 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method
US20070233928A1 (en) * 2006-03-31 2007-10-04 Robert Gough Mechanism and apparatus for dynamically providing required resources for a hot-added PCI express endpoint or hierarchy

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046722A (ja) * 2006-08-11 2008-02-28 Nec Corp I/o装置及び方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5440507B2 (ja) * 2008-10-15 2014-03-12 日本電気株式会社 マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
US8719483B2 (en) 2008-10-15 2014-05-06 Nec Corporation Multi-root PCI express switch, boot method thereof, and multi-root PCI manager program
US9575919B2 (en) 2013-09-25 2017-02-21 Hitachi, Ltd. Information system capable of expanding drive and bus number allocation method of the information system
JP2018507603A (ja) * 2015-01-16 2018-03-15 クアルコム,インコーポレイテッド リモート周辺コンポーネント相互接続エクスプレス(PCIe)エンドポイントをサポートするように適合されたPCIeホスト
JP2020024557A (ja) * 2018-08-07 2020-02-13 富士通株式会社 情報処理装置、ブート方法及びブートプログラム
JP7115128B2 (ja) 2018-08-07 2022-08-09 富士通株式会社 情報処理装置、ブート方法及びブートプログラム

Also Published As

Publication number Publication date
KR20110010696A (ko) 2011-02-07
US20110029693A1 (en) 2011-02-03
EP2260392A4 (en) 2012-08-29
EP2260392A1 (en) 2010-12-15
CN101983377A (zh) 2011-03-02
WO2009123627A1 (en) 2009-10-08

Similar Documents

Publication Publication Date Title
JP2011516964A (ja) Pciデバイス用pciメモリ空間の確保
US9760455B2 (en) PCIe network system with fail-over capability and operation method thereof
JP5305848B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US8346997B2 (en) Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
JP5182771B2 (ja) 共有i/oにおけるリセットの変換
US11995019B2 (en) PCIe device with changeable function types and operating method thereof
US11983136B2 (en) PCIe device and operating method thereof
US11928070B2 (en) PCIe device
EP3716084A1 (en) Apparatus and method for sharing a flash device among multiple masters of a computing platform
US11467776B1 (en) System supporting virtualization of SR-IOV capable devices
US20220327228A1 (en) PCIe FUNCTION AND OPERATING METHOD THEREOF
CN106708596B (zh) 一种输入输出虚拟化资源的调整方法及处理器
JP4272368B2 (ja) データ処理システムの複数の拡張スロットにメモリを割り振る方法
US8527745B2 (en) Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available
US20140281334A1 (en) Address Resource Mapping In A Shared Memory Computer System
KR20230142095A (ko) 인터페이스 디바이스 및 그 동작 방법
CN116450547A (zh) 将非PCIe加速器连接为PCIe设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111111

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403