JP2008046722A - I/o装置及び方法 - Google Patents

I/o装置及び方法 Download PDF

Info

Publication number
JP2008046722A
JP2008046722A JP2006219469A JP2006219469A JP2008046722A JP 2008046722 A JP2008046722 A JP 2008046722A JP 2006219469 A JP2006219469 A JP 2006219469A JP 2006219469 A JP2006219469 A JP 2006219469A JP 2008046722 A JP2008046722 A JP 2008046722A
Authority
JP
Japan
Prior art keywords
pci
configuration
pci express
slot
virtual
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
JP2006219469A
Other languages
English (en)
Other versions
JP4810349B2 (ja
Inventor
Jun Suzuki
順 鈴木
Yoichi Tobitaka
洋一 飛鷹
Junichi Higuchi
淳一 樋口
Atsushi Iwata
淳 岩田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006219469A priority Critical patent/JP4810349B2/ja
Priority to US11/836,357 priority patent/US7877521B2/en
Publication of JP2008046722A publication Critical patent/JP2008046722A/ja
Application granted granted Critical
Publication of JP4810349B2 publication Critical patent/JP4810349B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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

Abstract

【課題】コンピュータが備えるPCIエクスプレスシステムのコンフィグレーションソフトの改造無しに、空きスロットに対する任意のI/Oデバイスのホットプラグを実現する。
【解決手段】仮想PCIエクスプレスデバイス1600はPCIエクスプレス初期コンフィグレーションサイクルにおいて擬似的なI/Oデバイスの存在を示すことで、将来増設が見込まれるデバイスのためのリソース空間を確保する。空きスロット1605にI/Oデバイス1400が挿入されると、仮想PCIエクスプレスデバイス制御ロジック1602は下流PCI-PCIブリッジ1504にホットプラグ制御線1601を用いて通知する。下流PCI-PCIブリッジ1504はPCI-SIGの標準で定義されたホットプラグの手順に従ってCPU1100にI/Oデバイス1400の挿入を通知する割り込みを上げ、呼ばれたコンフィグレーションソフト1000が挿入されたI/Oデバイス1400のコンフィグレーションを行う。
【選択図】図1

Description

本発明はデバイス装置及びシステム構成変更方法に関し、特にPCIエクスプレスシステムにおけるデバイスのホットプラグに好適なデバイス装置およびシステム構成変更方法に関する。
コンピュータの内部でCPUとI/Oデバイスを接続するバスの規格として、Peripheral Component Interconnect Special Interest Group(PCI-SIG)が標準化を行ったPCIと呼ぶパラレスバス規格が一般的に用いられている。また今日ではPCIの発展規格である、伝送速度を高速化したPCI-Xと、パラレルバスをシリアル化し、接続するデバイス間をパケットを用いて通信するPCIエクスプレスとが標準化されている。
以下では、PCIエクスプレスにおいて、相互に接続されたデバイスで構成されるシステムをPCIエクスプレスシステム、接続される種々のデバイスをPCIエクスプレスデバイス、デバイスを接続するバスをPCIエクスプレスバス、通信に用いられるパケットをPCIエクスプレスパケットと呼ぶ。従来のPCIエクスプレスシステムの一例が、非特許文献1に記載されている。
図16を参照すると、この従来のPCIエクスプレスシステムは、ホストバスによりCPU1100と接続すると共にメモリバスによりメモリ1200と接続し、PCIエクスプレスのツリートポロジーのルート(根)となる機能を果たすルートコンプレックス1300と、PCIエクスプレスバスに対しファンアウト機能を提供するPCIエクスプレススイッチ5100と、PCIバスにより接続されるI/Oデバイス1400とから構成される。一般にPCIエクスプレスのツリートポロジーのルートコンプレックス1300側を上流、I/Oデバイス1400側を下流と呼ぶ。図16では、PCIエクスプレススイッチ5100に3つのI/Oデバイスが接続されているが、接続されるI/Oデバイス1400の数は3つに限定されるものではない。また、1000はコンピュータが備えるPCIエクスプレスシステムのコンフィグレーションソフトである。ここではBIOSとOSが保持するPCIデバイスのコンフィグレーションを行うソフトウェアを総称してコンフィグレーションソフトと呼んでいる。
図17を参照するとPCIエクスプレススイッチ5100は、上流PCI-PCIブリッジ1501と、内部PCIバス1503と、下流PCI-PCIブリッジ1505とを含む。さらに上流PCI-PCIブリッジ1501と下流PCI-PCIブリッジ1505は、自ブリッジより下流に接続するPCIエクスプレスリソース空間の情報を保持するコンフィグレーションレジスタ1502を備える。PCIエクスプレスリソース空間とは、PCIエクスプレスシステムで用いる種々のアドレスにおいて占められる空間である。またアテンションボタン17001は、利用者がホットプラグ操作を開始する際に使用するボタンである。
図18はコンフィグレーションレジスタの内部構成を示すブロック図である。コンフィグレーションレジスタには、タイプ1とタイプ0の2種類があり、PCI-PCIブリッジにはタイプ1のコンフィグレーションレジスタが使用され、I/Oデバイスにはタイプ0のコンフィグレーションレジスタが使用される。
タイプ1とタイプ0は共通して、デバイスID18011、ベンダID18012、クラスコード18013を保持する。デバイスIDはベンダ固有のデバイス番号、ベンダIDは製造者番号、クラスコードはデバイスの属性を示す。コンフィグレーションソフト1000は、これら3つのレジスタを参照することにより、そのデバイスがどのようなデバイスかを判別することができる。
タイプ1のコンフィグレーションレジスタは、他に、下流バスへのパケットルーティングに必要なバス番号の下限値18001と上限値18002、32ビットI/O空間の下限値18003と上限値18004、32ビットメモリ空間の下限値18005と上限値18006、さらに場合によっては64ビットメモリ空間の下限値18007と上限値18008を有する。これらは、PCIエクスプレスの初期コンフィグレーション時に、コンフィグレーションソフト1000によって書き込みが行われる。また、タイプ1のコンフィグレーションレジスタには、ホットプラグレジスタ18014が標準として備わる。
他方、タイプ0のコンフィグレーションレジスタは、I/Oレジスタが要求するメモリ空間とI/O空間の2つのアドレス空間を示す1以上のベースアドレスレジスタ18021を保持する。ベースアドレスレジスタ18021はまた、コンフィグレーションソフト1000がI/Oデバイスへアドレス空間を割り当てる際にベースアドレスを書き込むために用いられる。
このような構成を有する従来のPCIエクスプレスシステムは次のように動作する。
PCIエクスプレス初期コンフィグレーションサイクルが開始されると、コンフィグレーションソフト1000によりPCIエクスプレスシステムに存在するPCIエクスプレスデバイスが全て探し出される。具体的には、システム上の全てのPCIバスがスキャンされ、各PCIバスの各スロットがどのような属性のPCIエクスプレスデバイスで占有されているかが調べられる。そして、発見された各PCIエクスプレスデバイスが要求するPCIエクスプレスリソース空間を連続的に割り当てることでコンフィグレーションが行われる。たとえば、図16のPCIエクスプレスシステムの場合、PCIエクスプレススイッチ5100の下流に接続する各I/Oデバイス1400に対して要求するリソース空間が割り当てられ、その割り当て量に応じてPCIエクスプレススイッチ5100の下流PCI-PCIブリッジ1505、さらには上流PCI-PCIブリッジ1501におけるコンフィグレーションレジスタ1502のバス番号の下限値18001と上限値18002、32ビットI/O空間の下限値18003と上限値18004、32ビットメモリ空間の下限値18005と上限値18006等が設定される。
CPU1100からI/Oデバイス1400への通信等は、上述のように設定されたコンフィグレーションレジスタ1502に従って、以下のように実行される。すなわち、CPU1100からPCIエクスプレススイッチ5100に接続されたI/Oデバイス1400への通信は、CPU1100の命令によりルートコンプレックス1300でPCIエクスプレスパケットが生成され、PCIエクスプレススイッチ5100内の上流PCI-PCIブリッジ1501に送信される。上流PCI-PCIブリッジ1501は、コンフィグレーションレジスタ1502を参照し、PCIエクスプレスパケットのあて先が自ブリッジより下流のPCIエクスプレスバスに接続しているか否かを判定する。あて先が自ブリッジより下流のPCIエクスプレスバスに接続している場合、PCIエクスプレスパケットを全ての下流PCI-PCIブリッジ1505にブロードキャストする。下流PCI-PCIブリッジ1505は、前記上流PCI-PCIブリッジ1501と同じ機能により、あて先が自ブリッジより下流のPCIエクスプレスバスに接続しているか判定し、あて先のI/Oデバイス1400が接続しているPCIエクスプレスバスへPCIエクスプレスパケットを転送する。
一方、PCIエクスプレススイッチ5100に接続されているI/Oデバイス1400からCPU1100へ通信を行う場合、上述したCPU1100からI/Oデバイス1400へのPCIエクスプレスパケット転送手順と逆の順序をたどる。このとき、上流PCI-PCIブリッジ1501と下流PCI-PCIブリッジ1505は、PCIエクスプレスパケットのあて先が、コンフィグレーションレジスタ1502で示された自ブリッジより下流のPCIエクスプレスリソース空間に該当しない場合にブリッジの上流に転送する。また、下流PCI-PCIブリッジ1505から上流PCI-PCIブリッジ1501にPCIエクスプレスパケットを転送する場合、ブロードキャストではなくユニキャストを用いる。
また、PCIエクスプレスは、空きスロットにI/Oデバイスの活栓挿抜を行うホットプラグ機能を提供している(たとえば非特許文献1参照)。この従来のPCIエクスプレスのホットプラグは次のように動作する。すなわち、下流PCI-PCIブリッジ1505の下流スロットにI/Oデバイス1400が挿入されると、当該下流PCI-PCIブリッジ1505とI/Oデバイス1400の間のリンクが確立され、電気信号の同期やクレジット情報の交換が自動的に行われる。続いて、利用者によりアテンションボタン17001が押されると、下流PCI-PCIブリッジ1505はホットプラグレジスタ18014をオンにすると同時に、CPU1100に割り込みを上げる。この割り込みを契機として、コンフィグレーションソフト1000が呼び出され、挿入されたI/Oデバイス1400のコンフィグレーションを行うと共にホットプラグレジスタ18014をクリアする。本コンフィグレーションの終了後、挿入されたI/Oデバイス1400が使用可能となる。
他方、PCIエクスプレスおよびホットプラグに関する技術ではないが、コンピュータシステムの構成を動的に変更する技術として、特許文献1に記載される技術がある。この従来技術は、コンピュータシステムに接続されるI/O装置と将来増設が見込まれるI/O装置をそれぞれ実装置および予約装置として予めI/Oテーブルに一緒に組み込むと共に、I/Oテーブル上に各I/O装置が実装置状態にあるか予約装置状態にあるかを識別するためのフラグを設け、システムの運用中にフラグをセット、リセットすることで、各I/O装置を実装置から予約装置にあるいはその逆へと変換できるようにしている。ここで、I/Oテーブルは、システムジェネレーション処理の実行により、外部記憶装置にオブジェクトとして登録されるI/Oテーブルを主記憶装置に展開したものであり、I/O装置を制御する際にOSにより参照されるテーブルである。
「PCI Express Base Specification Revision 1.1」PCI-SIG、2005年3月28日、pp30,319−330,349−361 特開昭64-76252号公報
ホットプラグは、システムの他のデバイスを稼動させたままI/Oデバイス等を物理的に取り付けたり取り外したりできる技術である。従来のPCIエクスプレスシステムにおいては、たとえば図16のPCIエクスプレススイッチ5100に初期コンフィグレーションサイクル時点で既に取り付けられていたI/Oデバイス1400を、それが故障したために同種のI/Oデバイス1400に交換する等の場合にはホットプラグ本来の機能を発揮することができた。しかし、初期コンフィグレーションサイクル時点で空きスロットの状態であったスロットに新たなI/Oデバイスをホットプラグすることは実質的に不可能であった。
その理由は、従来のコンピュータが備えるPCIエクスプレスシステムのコンフィグレーションソフト1000による初期コンフィグレーションサイクル(以下ではPCIエクスプレス初期コンフィグレーションサイクルと呼ぶ)では、PCIエクスプレスバスにバス番号を、PCIエクスプレススイッチとI/Oデバイスとにデバイス番号、ファンクション番号、32ビットI/O空間、32ビットメモリ空間および必要に応じて64ビットメモリ空間をそれぞれ連続的に割り当てるが、空きスロットには割り当てない。このため、PCIエクスプレススイッチの空きスロットにI/Oデバイスを挿入した場合、PCIエクスプレスシステムのコンフィグレーションソフト1000がPCI-SIGの標準で定義されたI/Oデバイスのホットプラグに対応している場合でも、挿入したI/Oデバイスに割り当てるPCIエクスプレスリソース空間が、既に該リソース空間を使用している他のデバイスと干渉する。よって、空きスロットへのI/Oデバイスの組み込みには、PCIエクスプレススイッチ内の上流PCI-PCIブリッジと下流PCI-PCIブリッジとが保持するコンフィグレーションレジスタと、各I/Oデバイスが保持する割り当てられたPCIエクスプレスリソース空間の情報を示すベースアドレスレジスタとを含む、PCIエクスプレスシステム全体の再コンフィグレーションが必要となり、他のI/Oデバイスが提供するサービスを継続した状態で所望のI/Oデバイスのホットプラグができない。
上述と同様の理由により、従来のPCIエクスプレスシステムにおいては、ルートコンプレックスに対するI/Oデバイスのホットプラグ、PCIエクスプレススイッチに対するPCIエクスプレススイッチのホットプラグ、ルートコンプレックスに対するPCIエクスプレススイッチのホットプラグ、PCIエクスプレススイッチの上流PCI-PCIブリッジに対する下流PCI-PCIブリッジのホットプラグが困難であった。
また、I/Oデバイスのホットプラグ以外のホットプラグ、すなわち、PCIエクスプレススイッチおよびルートコンプレックスに対するPCIエクスプレススイッチのホットプラグ、PCIエクスプレススイッチの上流PCI-PCIブリッジに対する下流PCI-PCIブリッジのホットプラグの場合、PCI-SIGの標準で定義されたホットプラグの中でI/Oデバイスのホットプラグのみをサポートするコンフィグレーションソフト1000では、ホットプラグされたPCIエクスプレススイッチおよび下流PCI-PCIブリッジのコンフィグレーションが行えないことも、その種のホットプラグを困難にしている理由の一つであった。
他方、将来増設が予想されるI/Oデバイス等については、OSが参照するI/Oテーブルに予め予約装置として設定しておくアイデアが特許文献1に記載されている。そこで、このアイデアをPCIエクスプレスシステムに適用することを考える。特許文献1のI/Oテーブルは、I/Oデバイスを制御するためにOSが参照するデータ群であるため、PCIエクスプレスシステムで言えば、PCIシステム上のPCIトポロジを表現するPCIデータ構造体に相当する。従って、特許文献1のアイデアをPCIエクスプレスシステムに適用する場合、このPCIデータ構造体中に各デバイスが実装置か予約装置かを区別するフラグを付加し、システムの運用中にフラグをセット、リセットすることで、各デバイスを実装置から予約装置にあるいはその逆へと変換することになる。しかしながら、この方法では挿入するデバイスを予め特定しなければならないという課題があると同時に、PCIデータ構造体は、コンフィグレーションソフト1000により初期コンフィグレーション時に作成され、その後の制御で参照されるものであるため、各I/Oデバイスが実装置か予約装置かを区別するフラグを扱えるようにするためには、既存のコンフィグレーションソフト1000の改造、すなわちOS自体の改造が必要になるという課題がある。
本発明はこのような事情に鑑みて提案されたものであり、その目的は、既存のコンフィグレーションソフトを用いてPCIエクスプレススイッチ等に対するI/Oデバイス等のホットプラグを可能にする新規な技術を提供することにある。
本発明の別の目的は、デバイスの増設が見込まれる空きスロットに接続して使用するデバイス装置であって、将来増設されるデバイスのためにリソース空間を予約し、デバイスの増設時点では増設デバイスと論理的に置き換わるデバイス装置を提供することにある。
本発明の他の目的は、I/Oデバイスのホットプラグのみをサポートするコンフィグレーションソフトを用いて、PCIエクスプレススイッチに対するPCIエクスプレススイッチのホットプラグ、ルートコンプレックスに対するPCIエクスプレススイッチのホットプラグ、上流PCI-PCIブリッジに対する下流PCI-PCIブリッジのホットプラグができるようにすることにある。
本発明の第1のデバイス装置は、バスに接続されるデバイス装置であって、スロットと、擬似デバイスと、前記スロットにデバイスが接続されていない場合には前記バスと前記擬似デバイスとの間の通信を中継し、前記スロットにデバイスが接続されている場合には前記バスと前記スロットとの間の通信を中継する通信中継手段とを備えることを特徴とする。
本発明の第2のデバイス装置は、第1のデバイス装置において、前記擬似デバイスは、1以上のコンフィグレーションレジスタと、該コンフィグレーションレジスタに対し書き込み及び読み込み動作を行う制御部とを備えることを特徴とする。
本発明の第3のデバイス装置は、第2のデバイス装置において、前記擬似デバイスは、自擬似デバイスのトポロジ情報を保持し、前記制御部は前記トポロジ情報に基づいて前記コンフィグレーションレジスタに対し書き込み及び読み込み動作を行うことを特徴とする。
本発明の第4のデバイス装置は、第2のデバイス装置において、前記制御部は、前記スロットにデバイスが挿入されたときにCPUに割り込みを上げることを特徴とする。
本発明の第5のデバイス装置は、第2のデバイス装置において、前記制御部は、前記擬似デバイスに対して割り当てられたリソース空間の情報を用いて、前記スロットに挿入されたデバイスの一部または全てのコンフィグレーションを行うことを特徴とする。
本発明の第6のデバイス装置は、第5のデバイス装置において、前記制御部は、前記コンフィグレーションの完了後にCPUに割り込みを上げることを特徴とする。
本発明の第7のデバイス装置は、第6のデバイス装置において、前記割り込みを上げる前に前記制御部が行うコンフィグレーションは、前記CPUへの割り込みにより開始されるコンフィグレーションソフトによるデバイスのコンフィグレーションでサポートされないデバイスを対象とすることを特徴とする。
本発明の第8のデバイス装置は、第4または第6のデバイス装置において、前記割り込みがPCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする。
本発明の第9のデバイス装置は、第1のデバイス装置において、前記バスの規格がPCIであることを特徴とする。
本発明の第10のデバイス装置は、第1のデバイス装置において、前記バスの規格がPCI-Xであることを特徴とする。
本発明の第11のデバイス装置は、第1のデバイス装置において、前記バスの規格がPCIエクスプレスであることを特徴とする。
本発明の第12のデバイス装置は、第11のデバイス装置において、PCIエクスプレススイッチを構成するデバイスに接続されるか或いは該デバイスに組み込まれていることを特徴とする。
本発明の第13のデバイス装置は、第12のデバイス装置において、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチ、下流PCI-PCIブリッジの何れかであることを特徴とする。
本発明の第14のデバイス装置は、第11のデバイス装置において、ルートコンプレックスを構成するデバイスに接続されるか或いは該デバイスに組み込まれていることを特徴とする。
本発明の第15のデバイス装置は、第14のデバイス装置において、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチの何れかであることを特徴とする。
本発明の第1のシステム構成変更方法は、バスに接続されるデバイス装置であって、スロットと、擬似デバイスと、前記スロットにデバイスが接続されていない場合には前記バスと前記擬似デバイスとの間の通信を中継し、前記スロットにデバイスが接続されている場合には前記バスと前記スロットとの間の通信を中継する通信中継手段とを備えたデバイス装置をシステムに組み入れた状態で、システムのCPUにより実行されるコンフィグレーションソフトにより初期コンフィグレーションを行う第1のステップと、前記スロットにデバイスが挿入されたときに、該挿入されたデバイスに対してコンフィグレーションを行う第2のステップとを含むことを特徴とする。
本発明の第2のシステム構成変更方法は、第1のシステム構成変更方法において、前記擬似デバイスは、1以上のコンフィグレーションレジスタと、該コンフィグレーションレジスタに対し書き込み及び読み込み動作を行う制御部とを備え、前記初期コンフィグレーションにおいては、前記コンフィグレーションソフトが、前記制御部を通じて前記コンフィグレーションレジスタの読み出し及び書き込みを行うことにより、前記擬似デバイスのコンフィグレーションを行うことを特徴とする。
本発明の第3のシステム構成変更方法は、第2のシステム構成変更方法において、前記擬似デバイスは、自擬似デバイスのトポロジ情報を保持し、前記制御部は前記トポロジ情報に基づいて前記コンフィグレーションレジスタに対し書き込み及び読み込み動作を行うことを特徴とする。
本発明の第4のシステム構成変更方法は、第2のシステム構成変更方法において、前記制御部は、前記スロットにデバイスが挿入されたときに前記CPUに割り込みを上げることを特徴とする。
本発明の第5のシステム構成変更方法は、第2のシステム構成変更方法において、前記第2のステップにおいて、前記制御部は、前記擬似デバイスに対して前記初期コンフィグレーションにより割り当てられたリソース空間の情報を用いて、前記スロットに挿入されたデバイスの一部または全てのコンフィグレーションを行うことを特徴とする。
本発明の第6のシステム構成変更方法は、第5のシステム構成変更方法において、前記制御部は、前記コンフィグレーションの完了後に前記CPUに割り込みを上げることを特徴とする。
本発明の第7のシステム構成変更方法は、第6のシステム構成変更方法において、前記割り込みを上げる前に前記制御部が行うコンフィグレーションは、前記CPUへの割り込みにより開始されるコンフィグレーションソフトによるデバイスのコンフィグレーションでサポートされないデバイスを対象とすることを特徴とする。
本発明の第8のシステム構成変更方法は、第4または第6のシステム構成変更方法において、前記割り込みがPCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする。
本発明の第9のシステム構成変更方法は、第8のシステム構成変更方法において、前記割り込みにより開始される前記コンフィグレーションソフトによるコンフィグレーションが、PCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする。
本発明の第10のシステム構成変更方法は、第1のシステム構成変更方法において、前記バスの規格がPCIであることを特徴とする。
本発明の第11のシステム構成変更方法は、第1のシステム構成変更方法において、前記バスの規格がPCI-Xであることを特徴とする。
本発明の第12のシステム構成変更方法は、第1のシステム構成変更方法において、前記バスの規格がPCIエクスプレスであることを特徴とする。
本発明の第13のシステム構成変更方法は、第12のシステム構成変更方法において、前記デバイス装置が、PCIエクスプレススイッチを構成するデバイスに接続されるか或いは該デバイスに組み込まれており、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチ、下流PCI-PCIブリッジの何れかであることを特徴とする。
本発明の第14のシステム構成変更方法は、第12のシステム構成変更方法において、前記デバイス装置が、ルートコンプレックスを構成するデバイスに接続されるか或いは該デバイスに組み込まれており、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチの何れかであることを特徴とする。
『作用』
本発明にかかるデバイス装置を、そのスロットにデバイスを接続しない状態でシステムに組み入れ、コンフィグレーションソフトによる初期コンフィグレーションを開始すると、デバイス装置内部の通信中継手段によって擬似デバイスとコンフィグレーションソフトとの間の通信が中継されるため、擬似デバイスに対するコンフィグレーションが行われる。このとき擬似デバイスには、通常のデバイスと同様にコンフィグレーションレジスタが設けられているため、コンフィグレーションソフトは通常のデバイスと同様の動作で擬似デバイスに対してリソースの割り当てを伴うコンフィグレーションを実施することができる。
その後、システムの運用が開始され、本発明のデバイス装置のスロットにデバイスが接続されると、CPUに割り込みが上げられると同時に、デバイス装置内部の通信中継手段によってスロットに挿入されたデバイスとコンフィグレーションソフトとの間の通信が中継されるため、スロットに挿入されたデバイスに対するコンフィグレーションが行われる。このときコンフィグレーションソフトは、初期コンフィグレーションにより認識した擬似デバイスに代わってデバイスがホットプラグされたように見える。従って、将来増設が見込まれるデバイスに必要なリソース空間以上のリソース空間を擬似デバイスが要求するようにコンフィグレーションレジスタを設定しておけば、スロットに挿入されたデバイスに対するコンフィグレーションは、擬似デバイスに割り当てられていたリソース空間に収まる範囲内で行われる。
コンフィグレーションソフトがI/Oデバイスのホットプラグのみをサポートする場合、本発明にかかるデバイス装置のスロットに挿入したデバイスがPCIエクスプレススイッチや下流PCI-PCIブリッジであれば、それらのコンフィグレーションをコンフィグレーションソフトで行えない。その場合には、本発明にかかるデバイス装置内の制御部がそれらのコンフィグレーションを実施した後、CPUに割り込みを上げ、コンフィグレーションソフトに、スロットに挿入されたPCIエクスプレススイッチや下流PCI-PCIブリッジに接続されたI/Oデバイスに対するコンフィグレーションを実施させる。
本発明によれば、既存のコンフィグレーションソフトを用いてPCIエクスプレススイッチ等に対するI/Oデバイス等のホットプラグが行えることである。その理由は、本発明にかかるデバイス装置を使用すれば、将来増設が見込まれるデバイスのためにリソース空間を確保でき、この確保したリソース空間に対してデバイスのホットプラグが行えるためである。
また本発明によれば、I/Oデバイスのホットプラグのみをサポートするコンフィグレーションソフトを用いて、PCIエクスプレススイッチに対するPCIエクスプレススイッチのホットプラグ、ルートコンプレックスに対するPCIエクスプレススイッチのホットプラグ、上流PCI-PCIブリッジに対する下流PCI-PCIブリッジのホットプラグが行える。その理由は、デバイス装置内の制御部がPCIエクスプレススイッチや下流PCI-PCIブリッジに対するコンフィグレーションを実施した後、CPUに割り込みを上げて、挿入されたPCIエクスプレススイッチや下流PCI-PCIブリッジに接続する個々のI/Oデバイスに対するコンフィグレーションを行わせるためである。
『第1の実施の形態』
図1を参照すると、本発明の第1の実施の形態は、図16に示した従来のPCIエクスプレスシステムと比較して、仮想PCIエクスプレスデバイス1600を含む点と、PCIエクスプレススイッチ1500の1つの下流PCI-PCIブリッジ1505が下流PCI-PCIブリッジ1504に置き換えられている点で異なる。また、CPU1100で実行されるPCIエクスプレスシステムのコンフィグレーションソフト1000は、コンピュータ起動時のPCIエクスプレス初期コンフィグレーションサイクルと、PCIエクスプレススイッチ1500やI/Oデバイス1400などのPCIエクスプレスデバイスのホットプラグ時とにおいて、PCIエクスプレスシステムのコンフィグレーションを行う。
仮想PCIエクスプレスデバイス1600は、ホットプラグ制御線1601と、PCIエクスプレスパケットの転送を行うパケット転送ロジック1604と、自デバイス1600の動作を制御する仮想PCIエクスプレスデバイス制御ロジック1602と、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想的なデバイスが存在することを示す仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603と、I/Oデバイス1400をホットプラグするための空きスロット1605とを含む。
パケット転送ロジック1604は、PCIエクスプレス初期コンフィグレーションサイクルから、新たにI/Oデバイス1400が空きスロット1605にホットプラグされるまでの間、下流PCI-PCIブリッジ1504から受信したPCIエクスプレスパケットを仮想PCIエクスプレスデバイス制御ロジック1602に転送する。I/Oデバイス1400が空きスロット1605にホットプラグされた後、パケット転送ロジック1604は、下流PCI-PCIブリッジ1504から受信したPCIエクスプレスパケットをホットプラグされたI/Oデバイス1400に転送する。
仮想PCIエクスプレスデバイス制御ロジック1602は、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603と共に擬似的なデバイスを実現する。仮想PCIエクスプレスデバイス制御ロジック1602は、パケット転送ロジック1604から受信したPCIエクスプレスパケットがコンフィグレーションアクセスであった場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に対し、必要な書き込み及び読み込み動作を行う。また、その他のPCIエクスプレスパケットに応答し、自デバイス1600の制御やPCIエクスプレスパケットの返信を行う。一方、I/Oデバイス1400が空きスロット1605に挿入された場合、その旨をホットプラグ制御線1601を用いて下流PCI-PCIブリッジ1504に通知する。
仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、PCIエクスプレス初期コンフィグレーションサイクルにおいて、コンフィグレーションアクセスのためのPCIエクスプレスパケットによって書き込み及び読み込みが行われ、仮想的なPCIエクスプレスデバイス1600の存在を通知し、PCIエクスプレスリソース空間の割り当てを要求することで所望のPCIエクスプレスリソース空間を予約する。このとき仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、仮想PCIエクスプレスデバイス1600がPCI-SIGの標準で定義されているPCI-PCIブリッジや、何らかのI/Oデバイス1400、あるいはそれらの複数からなる組み合わせが存在することを示す情報を含む。
図2(a)及び(b)は、コンフィグレーションソフト1000に対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603が仮想的に存在を示すPCIエクスプレスデバイスの構成の具体例である。以下では本具体例を仮想デバイス構成と呼ぶ。
図2(a)を参照すると、仮想デバイス構成2000は何らかのI/Oデバイス1400の存在を示す仮想I/Oデバイス2001を含む。この場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、図18に示すタイプ0のコンフィグレーションレジスタを1つ保持し、デバイスID、ベンダIDおよびクラスコードの設定値により仮想I/Oデバイス2001を示し、ベースアドレスの設定値により仮想I/Oデバイス2001のリソース空間を要求する。
また、図2(b)が示す別の例では、仮想デバイス構成2100は、PCI-SIGの標準で定義されているPCI-PCIブリッジの存在を示す仮想PCI-PCIブリッジ2101と、それに接続された仮想I/Oデバイス2001とを含む。この場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、図18に示すタイプ1のコンフィグレーションレジスタと、タイプ0のコンフィグレーションレジスタとを1つずつ保持する。タイプ1のコンフィグレーションレジスタのデバイスID、ベンダIDおよびクラスコードの設定値により仮想PCI-PCIブリッジ2101を示す。また、タイプ0のコンフィグレーションレジスタのデバイスID、ベンダIDおよびクラスコードの設定値により仮想I/Oデバイス2001を示し、そのベースアドレスの設定値により仮想I/Oデバイス2001が要求するリソース空間を示す。また、図2(b)の例のように複数の仮想デバイスの存在を示す場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603には、仮想デバイスの接続関係を示す情報(トポロジ情報)が付加される。仮想PCIエクスプレスデバイス制御ロジック1602は、コンフィグレーションソフト1000が、複数のコンフィグレーションレジスタをトポロジ情報が示す順序で読み込むように、PCIエクスプレスパケットをルーティングする。すなわち、コンフィグレーションソフト1000は先に読み込んだ方が上流にあると解釈するため、より上流側に接続される仮想デバイスのコンフィグレーションレジスタが先に読み込まれるようにする。
図2(b)では仮想PCI-PCIブリッジ2101が1段の場合を示したが、仮想PCI-PCIブリッジ2101が多段の構成や、仮想I/Oデバイス2001を含まず、仮想PCI-PCIブリッジ2101だけで構成される場合も可能である。また、PCI-PCIブリッジやI/Oデバイスに加え、PCIエクスプレススイッチや、その他のPCIエクスプレスデバイスの存在を示す仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603が本用途に使用可能であることは、当事者であれば容易に理解される。いずれにせよ、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、仮想デバイス構成により所望のPCIエクスプレスリソース空間を予約する。
ここで、仮想I/Oデバイス2001の役割は、上流に接続する下流PCI-PCIブリッジ1504が有するタイプ1のコンフィグレーションレジスタ1502が示すPCIアドレス空間を、空きスロット1605に将来挿入されるI/Oデバイス1400のために事前に確保することである。確保するPCIアドレス空間は、将来挿入されるI/Oデバイス1400に必要なアドレス空間と完全に一致する必要はなく、そのアドレス空間以上のアドレス空間であれば良い。また、仮想I/Oデバイス2001のタイプ0のコンフィグレーションレジスタのクラスコードも、将来挿入されるI/Oデバイス1400のタイプと一致している必要はない。その理由は、若し異なっている場合は、コンフィグレーションソフト1000によるホットプラグ時のコンフィグレーションでその違いが吸収されるためである。
再び図1を参照すると、下流PCI-PCIブリッジ1504は、空きスロット1605に新たにI/Oデバイス1400が挿入されたというホットプラグ制御線1601からの通知を契機として、CPU1100へ自ブリッジに接続する下流PCIエクスプレスバスにおいてI/Oデバイス1400の挿入が発生したことを通知する割り込みを上げる。
次に、図1及び図3のフローチャートを参照して本実施の形態のPCIエクスプレス初期コンフィグレーションサイクルにおける動作について詳細に説明する。
PCIエクスプレス初期コンフィグレーションサイクルが開始されると、PCIエクスプレスシステムが備えるPCIエクスプレススイッチ1500とI/Oデバイス1400とが順に調べられ、各デバイスが要求するPCIエクスプレスリソース空間を順に割り当てることでコンフィグレーションが行われる。一般にこのコンフィグレーションによって、PCIシステム上のPCIトポロジを表現するPCIデータ構造体などと呼ばれるデータが生成される。
仮想PCIエクスプレスデバイス1600がPCIエクスプレスコンフィグレーションサイクルの対象となったとき、コンフィグレーションソフト1000は、仮想PCIエクスプレスデバイスの構成を調べるコンフィグレーションリードリクエストであるPCIエクスプレスパケットを送信する(ステップ3000)。パケット転送ロジック1604は、このPCIエクスプレスパケットを下流PCI-PCIブリッジ1504を経由して受信し、仮想PCIエクスプレスデバイス制御ロジック1602に転送する(ステップ3001)。仮想PCIエクスプレスデバイス制御ロジック1602は、コンフィグレーションリードリクエストが要求する情報を仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603から読み取り、PCIエクスプレスパケットを作成して返信する(ステップ3002)。返信する情報は、仮想PCIエクスプレスデバイス1600が示す仮想デバイス構成に関する情報を含み、コンフィグレーションソフト1000は仮想PCIエクスプレスデバイス1600の仮想デバイス構成が要求するPCIエクスプレスリソース空間を認識する(ステップ3003)。
続いてコンフィグレーションソフト1000は、要求されたPCIエクスプレスリソース空間を割り当てるコンフィグレーションライトリクエストであるPCIエクスプレスパケットを送信する(ステップ3004)。パケット転送ロジック1604は、前記コンフィグレーションリードリクエストの場合と同様に、このPCIエクスプレスパケットを下流PCI-PCIブリッジ1504を経由して受信し、仮想PCIエクスプレスデバイス制御ロジック1602に転送する(ステップ3005)。仮想PCIエクスプレスデバイス制御ロジック1602は、受信したPCIエクスプレスパケットの内容に従って仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に書き込みを行うことにより(ステップ3006)、仮想PCIエクスプレスデバイス1600のコンフィグレーションが完了する(ステップ3007)。
ステップ3000〜ステップ3006は、仮想PCIエクスプレスデバイスが示す仮想的なPCIエクスプレスデバイスの構成が複数のデバイスを含む場合、必要に応じて繰り返される。具体的には、ステップ3000〜3003を複数のデバイスの個々に対して繰り返した後(複数のデバイスを全て認識した後)、ステップ3004〜3006を繰り返し、個々のデバイスのコンフィグレーションを行う。このようにして仮想PCIエクスプレスデバイス1600は、後に空きスロット1605に挿入するI/Oデバイス1400が使用するPCIエクスプレスリソース空間を予約する。
次に、図1及び図4のフローチャートを参照して本実施の形態の空きスロット1605にI/Oデバイス1400をホットプラグする場合の動作について詳細に説明する。
空きスロット1605にI/Oデバイス1400を挿入すると(ステップ4000)、仮想PCIエクスプレスデバイス制御ロジック1602は、以降下流PCI-PCIブリッジ1504から受信する全てのPCIエクスプレスパケットを、挿入されたI/Oデバイス1400に転送するようにパケット転送ロジック1604を設定する(ステップ4001)。続いて仮想PCIエクスプレスデバイス制御ロジック1602は、空きスロット1605にI/Oデバイス1400が挿入されたことをホットプラグ制御線1601により下流PCI-PCIブリッジ1504に通知する(ステップ4002)。
I/Oデバイス1400の通知を受信した下流PCI-PCIブリッジ1504は、CPU1100にI/Oデバイス1400が挿入されたことを通知する割り込みを上げる(ステップ4003)。割り込みを受けたCPU1100では、コンフィグレーションソフト1000が呼び出され、空きスロット1605に挿入したI/Oデバイス1400のコンフィグレーションを行う(ステップ4004)。ステップ4003とステップ4004は、PCI-SIGの標準で定義されたホットプラグの手順に従って行われる。
以上のステップにより、空きスロット1605に挿入されたI/Oデバイス1400のホットプラグが完了し、I/Oデバイス1400が使用可能となる。このとき、I/Oデバイス1400は、先に仮想PCIエクスプレスデバイス1600によって予約されたPCIエクスプレスリソース空間を使用し、また、PCIエクスプレスシステム上では、仮想PCIエクスプレスデバイス1600とホットプラグされたI/Oデバイス1400とが論理的に入れ替わる。
以上の手順により、従来のコンピュータが備えるPCI-SIGの標準で定義されたホットプラグをサポートするPCIエクスプレスシステムのコンフィグレーションソフト1000を用いて、PCIエクスプレススイッチ1500に対するI/Oデバイス1400のホットプラグが実現される。
また、本実施の形態ではPCIエクスプレススイッチ1500と仮想PCIエクスプレスデバイス1600が別デバイスである形態を示したが、PCIエクスプレススイッチ1500が仮想PCIエクスプレスデバイス1600を含む形態も可能である。
さらにまた、本実施の形態ではホットプラグを通知するホットプラグ制御線1601を設定したが、PCIエクスプレスパケットを用いてPCIエクスプレスバスにより通知することも可能である。
また、本実施の形態では、PCIエクスプレススイッチ1500の1つの下流PCI-PCIブリッジ1505をホットプラグの制御信号に対応する下流PCI-PCIブリッジ1504に置き換え、PCIエクスプレススイッチ1500に1つの仮想PCIエクスプレスデバイス1600を接続したが、複数の下流PCI-PCIブリッジ1505を下流PCI-PCIブリッジ1504に置き換え、複数の仮想PCIエクスプレスデバイス1600を接続ないし含む形態も可能である。
『第2の実施の形態』
図5を参照すると、本発明の第2の実施の形態は、図1に示した第1の実施の形態と比較して、ルートコンプレックス1300およびPCIエクスプレススイッチ1500の代わりにルートコンプレックス5000およびPCI-SIGの標準で定義されたPCIエクスプレススイッチ5100を備え、仮想PCIエクスプレスデバイス1600がPCIエクスプレススイッチ1300でなくルートコンプレックス5000に接続している点で相違する。
ルートコンプレックス5000は、仮想PCIエクスプレスデバイス制御ロジック1602からホットプラグ制御線1601により空きスロット1605にI/Oデバイス1400が挿入されたことを知らせる通知を受信すると、CPU1100に、I/Oデバイス1400の挿入を通知する割り込みを上げる。
その他のブロックの機能は第1の実施の形態と同じであり説明を省略する。
次に本実施の形態の動作を説明する。
PCIエクスプレス初期コンフィグレーションサイクルにおける動作は第1の実施の形態と同じであり説明を省略する。
一方、空きスロット1605にI/Oデバイス1400をホットプラグする場合の動作は、図4に示す第1の実施の形態の動作におけるステップ4002とステップ4003に関して、PCIエクスプレススイッチ1500が備える下流PCI-PCIブリッジ1504に代わりルートコンプレックス5000が同じ動作を行う。その他のステップにおける動作は第1の実施の形態と同じであり説明を省略する。
以上の手順により、従来のコンピュータが備えるPCI-SIGの標準で定義されたホットプラグをサポートするPCIエクスプレスシステムのコンフィグレーションソフト1000を用いて、ルートコンプレックス5000に対するI/Oデバイス1400のホットプラグが実現される。
また、本実施の形態ではルートコンプレックス5000と仮想PCIエクスプレスデバイス1600が別デバイスである形態を示したが、ルートコンプレックス5000が仮想PCIエクスプレスデバイス1600を含む形態も可能である。
さらにまた、本実施の形態ではホットプラグを通知するホットプラグ制御線1601を設定したが、PCIエクスプレスパケットを用いてPCIエクスプレスバスにより通知することも可能である。
『第3の実施の形態』
図6を参照すると、本発明の第3の実施の形態は、図1に示した第1の実施の形態と比較して、仮想PCIエクスプレスデバイス6000が仮想PCIエクスプレスデバイス制御ロジック1602に代えて仮想PCIエクスプレスデバイス制御ロジック6001を含む点と、空きスロット1605に挿入するデバイスがI/Oデバイス1400に代えてPCIエクスプレススイッチ5100である点で異なる。
仮想PCIエクスプレスデバイス制御ロジック6001は、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応する場合、PCIエクスプレススイッチ5100が空きスロット1605に挿入されたとき、図1に示す第1の実施の形態における仮想PCIエクスプレスデバイス制御ロジック1602と同様に、ホットプラグ制御線1601によりPCIエクスプレススイッチ1500が備える下流PCI-PCIブリッジ1504にPCIエクスプレススイッチ5100の挿入を通知する。
一方コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみをサポートする場合、仮想PCIエクスプレスデバイス制御ロジック6001は、PCIエクスプレススイッチ5100が空きスロット1605に挿入されたとき、自ロジック6001でPCIエクスプレススイッチ5100のコンフィグレーションを行う。具体的には、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に記載された、あらかじめ予約されたPCIエクスプレスリソース空間を用いて、挿入されたPCIエクスプレススイッチ5100の上流PCI-PCIブリッジ1501と下流PCI-PCIブリッジ1505とが備えるコンフィグレーションレジスタ1502にPCIエクスプレスパケットを用いて書き込みを行うことで、PCIエクスプレススイッチ5100のコンフィグレーションを行う。PCIエクスプレススイッチ5100のコンフィグレーションが完了すると、続いて仮想PCIエクスプレスデバイス制御ロジック6001は、挿入されたPCIエクスプレススイッチ5100が備えるI/Oデバイス1400と接続した下流PCI-PCIブリッジ1505について、この下流PCI-PCIブリッジ1505を疑似してCPU1100に割り込みを上げ、I/Oデバイス1400の挿入を通知する。I/Oデバイス1400が接続した下流PCI-PCIブリッジ1505が複数存在する場合、割り込みにより開始されるI/Oデバイス1400のコンフィグレーションの終了を待って、個々の下流PCI-PCIブリッジ1505毎に同じ操作を繰り返す。
ここで、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応しているか否かを仮想PCIエクスプレスデバイス制御ロジック6001で認識する方法としては、たとえば以下のような方法がある。
1)仮想PCIエクスプレスデバイス制御ロジック6001が有する制御レジスタに、コンフィグレーションソフト1000がPCIエクスプレススイッチのホットプラグに対応しているか否かを、コンフィグレーションソフト1000自身あるいはロジック6001に別ケーブルで接続される別のコンピュータから設定する。
2)仮想PCIエクスプレスデバイス制御ロジック6001が有する物理スイッチの状態を、コンフィグレーションソフト1000がPCIエクスプレススイッチのホットプラグに対応しているか否かに応じて切り替える。
仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、PCIエクスプレス初期コンフィグレーションサイクルにおいて、PCIエクスプレススイッチ5100と、このPCIエクスプレススイッチ5100に接続する複数のI/Oデバイス1400のホットプラグに十分なPCIエクスプレスリソース空間の予約を行う。
次に本実施の形態の動作について図面を用いて詳細に説明する。
PCIエクスプレス初期コンフィグレーションサイクルにおける動作は図3に示す第1の実施の形態と同じであるため説明を省略する。
一方、空きスロット1605にPCIエクスプレススイッチ5100をホットプラグする場合の動作は、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応する場合、図4に示す第1の実施の形態のステップ4004において、コンフィグレーションソフト1000がI/Oデバイス1400に代えて空きスロット1605に挿入されたPCIエクスプレススイッチ5100と全てのI/Oデバイス1400とに対してコンフィグレーションを行う点で異なる。それ以外の各ステップにおける動作は同じであるため説明を省略する。
次に、図6と図7のフローチャートを用いてコンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみをサポートする場合の動作を説明する。
図7を参照すると、本実施の形態における動作は図4に示す第1の実施の形態に比べ、ステップ4002(下流PCI-PCIブリッジ1504にI/Oデバイス1400の挿入通知)に代えてステップ7000(PCIエクスプレススイッチ5100のコンフィグレーション)を含む点と、ステップ4003(CPUにホットプラグの割り込み)に代えてステップ7001(CPUにホットプラグの割り込み)を含む点で異なる。
ステップ4000とステップ4001とは図4に示す第1の実施の形態と同じであるため説明を省略する。仮想PCIエクスプレスデバイス制御ロジック6001は、PCIエクスプレススイッチ5100が空きスロット1605に挿入された場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に記載された、あらかじめ予約されたPCIエクスプレスリソース空間を用いて、挿入されたPCIエクスプレススイッチ5100の、上流PCI-PCIブリッジ1501と下流PCI-PCIブリッジ1505とが備えるコンフィグレーションレジスタ1502にPCIエクスプレスパケットを用いて書き込みを行い、PCIエクスプレススイッチ5100のコンフィグレーションを行う(ステップ7000)。
続いて、仮想PCIエクスプレスデバイス制御ロジック6001は、挿入されたPCIエクスプレススイッチ5100が備えるI/Oデバイス1400と接続した下流PCI-PCIブリッジ1505について、この下流PCI-PCIブリッジ1505を疑似してCPU1100に割り込みを上げ、I/Oデバイス1400の挿入を通知する(ステップ7001)。この割り込みを契機として、コンフィグレーションソフト1000は、下流PCI-PCIブリッジ1505に接続するI/Oデバイス1400のコンフィグレーションを行う(ステップ4004)。I/Oデバイス1400が接続した下流PCI-PCIブリッジ1505が複数存在する場合、割り込みにより開始されるI/Oデバイス1400のコンフィグレーションの終了を待って、個々の下流PCI-PCIブリッジ1505毎に同じ操作を繰り返し、PCIエクスプレススイッチ5100に接続する全てのI/Oデバイス1400に対してコンフィグレーションを行う。このときステップ7001とステップ4004はPCI-SIGの標準で定義されたホットプラグの手順に従って行われる。
以上の手順により、従来のコンピュータが備えるPCI-SIGの標準で定義されたホットプラグをサポートするPCIエクスプレスシステムのコンフィグレーションソフト1000を用いてPCIエクスプレススイッチ1500に対するPCIエクスプレススイッチ5100のホットプラグが実現され、さらにまた、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグの中で、I/Oデバイス1400のホットプラグのみをサポートする場合でも、PCIエクスプレススイッチ1500に対するPCIエクスプレススイッチ5100のホットプラグが実現される。
また、本実施の形態ではPCIエクスプレススイッチ1500と仮想PCIエクスプレスデバイス6000が別デバイスである形態を示したが、PCIエクスプレススイッチ1500が仮想PCIエクスプレスデバイス6000を含む形態も可能である。
さらにまた、本実施の形態ではホットプラグを通知するホットプラグ制御線1601を設定したが、PCIエクスプレスパケットを用いてPCIエクスプレスバスにより通知することも可能である。
さらにまた、本実施の形態では、空きスロット1605に挿入するPCIエクスプレススイッチ5100が1段の場合を示したが、多段の構成で最上流のPCIエクスプレススイッチ5100を空きスロット1605にホットプラグする構成も可能である。本構成では、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグをサポートする場合の動作は、前記1つのPCIエクスプレススイッチ5100を空きスロット1605に挿入した場合と同じである。一方、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグの中でI/Oデバイス1400のホットプラグのみをサポートする場合、図7に示すステップ7000により、挿入した全てのPCIエクスプレススイッチ5100に対してコンフィグレーションを行い、各PCIエクスプレススイッチ5100に接続する全てのI/Oデバイス1400に対し、各I/Oデバイス毎に、CPUへの割り込み(ステップ7001)とコンフィグレーションソフト1000によるコンフィグレーション(ステップ4004)との動作を行う。
『第4の実施の形態』
図8を参照すると、本発明の第4の実施の形態は、図5に示した第2の実施の形態と比較して、仮想PCIエクスプレスデバイス1600に代えて仮想PCIエクスプレスデバイス6000を含む点と、空きスロット1605にホットプラグするPCIエクスプレスデバイスがI/Oデバイス1400に代えてPCIエクスプレススイッチ5100である点で異なる。また、仮想PCIエクスプレスデバイス6000は、仮想PCIエクスプレスデバイス1600と比較して、仮想PCIエクスプレスデバイス制御ロジック1602に代えて、第3の実施の形態におけるものと同様の仮想PCIエクスプレスデバイス制御ロジック6001を含む点で相違する。
次に本実施の形態の動作を説明する。
PCIエクスプレス初期コンフィグレーションサイクルにおける動作は図3に示す第1の実施の形態と同じであるため説明を省略する。
一方、空きスロット1605にPCIエクスプレススイッチ5100をホットプラグする場合の動作は、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応する場合、図4に示す第1の実施の形態におけるステップ4004において、I/Oデバイス1400に代えて挿入されたPCIエクスプレススイッチ5100と全てのI/Oデバイス1400とに対してコンフィグレーションを行う点で異なる。その他の各ステップにおける動作は同じであるため説明を省略する。
また、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみをサポートする場合の動作は、図7に示す第3の実施の形態における動作と同じであるため説明を省略する。
以上の手順により、従来のコンピュータが備えるPCI-SIGの標準で定義されたホットプラグをサポートするPCIエクスプレスシステムのコンフィグレーションソフト1000を用いて、ルートコンプレックス5000に対するPCIエクスプレススイッチ5100のホットプラグが実現され、さらにまた、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグの中で、I/Oデバイス1400のホットプラグのみをサポートする場合でも、ルートコンプレックス5000に対するPCIエクスプレススイッチ5100のホットプラグが実現される。
本実施の形態ではルートコンプレックス5000と仮想PCIエクスプレスデバイス6000が別デバイスである形態を示したが、ルートコンプレックス5000が仮想PCIエクスプレスデバイス6000を含む形態も可能である。
また、本実施の形態ではホットプラグを通知するホットプラグ制御線1601を設定したが、PCIエクスプレスパケットを用いてPCIエクスプレスバスにより通知することも可能である。
さらにまた、本実施の形態では、空きスロット1605に挿入するPCIエクスプレススイッチ5100が1段の場合を示したが、第3の実施の形態と同じ動作により、多段のPCIエクスプレススイッチ5100の最上流PCIエクスプレススイッチ5100を空きスロット1605にホットプラグすることも可能である。
『第5の実施の形態』
図9を参照すると、本発明の第5の実施の形態は、図1に示す第1の実施の形態と比較して、PCIエクスプレススイッチ1500に代えてPCIエクスプレススイッチ9000を含む点と、仮想PCIエクスプレスデバイス1600に代えて仮想PCIエクスプレスデバイス9100を含む点とで相違し、また空きスロット1605に挿入するデバイスがI/Oデバイス1400に代えて下流PCI-PCIブリッジ1505である点で相違する。また、PCIエクスプレススイッチ9000はPCIエクスプレススイッチ1500と比較して、上流PCI-PCIデバイス1501に代えてホットプラグ制御線1601と接続する上流PCI-PCIデバイス9001を含む点で相違する。
上流PCI-PCIブリッジ9001は、ホットプラグ制御線1601から受信する空きスロット1605への下流PCI-PCIブリッジ1505挿入の通知により、CPU1100に下流PCI-PCIブリッジ1505の挿入を通知する割り込みを上げる。
仮想PCIエクスプレスデバイス制御ロジック9101は、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応する場合、下流PCI-PCIブリッジ1505が空きスロット1605に挿入されたとき、ホットプラグ制御線1601によりPCIエクスプレススイッチ9000が備える上流PCI-PCIブリッジ9001に、空きスロット1605に下流PCI-PCIブリッジ1505が挿入されたことを通知する。一方、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみをサポートする場合、仮想PCIエクスプレスデバイス制御ロジック9101は、下流PCI-PCIブリッジ1505が空きスロット1605に挿入されたとき、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に記載された、あらかじめ予約されたPCIエクスプレスリソース空間を用いて、挿入された下流PCI-PCIブリッジ1505が備えるコンフィグレーションレジスタ1502にPCIエクスプレスパケットを用いて書き込みを行い、下流PCI-PCIブリッジ1505のコンフィグレーションを行う。続いて、挿入された下流PCI-PCIブリッジ1505がI/Oデバイス1400と接続している場合、この下流PCI-PCIブリッジ1505を疑似し、CPU1100にI/Oデバイス1400の挿入を通知する割り込みを上げる。
仮想PCIエクスプレスコンフィグレーションレジスタ1603は、PCIエクスプレス初期コンフィグレーションサイクルにおいて、下流PCI-PCIブリッジ1505と、下流PCI-PCIブリッジ1505に接続するI/Oデバイス1400のホットプラグに十分なPCIエクスプレスリソース空間の予約を行う。
次に本実施の形態の動作について図面を用いて詳細に説明する。
PCIエクスプレス初期コンフィグレーションサイクルにおける動作は図3に示した第1の実施の形態と同じであるため説明を省略する。
一方、空きスロット1605に下流PCI-PCIブリッジ1505をホットプラグする場合の動作は、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応する場合、図4に示す第1の実施の形態の動作におけるステップ4004において、I/Oデバイス1400に代えて挿入された下流PCI-PCIブリッジ1505とI/Oデバイス1400とに対してコンフィグレーションソフト1000がコンフィグレーションを行う点で異なる。その他の各ステップにおける動作は同じであるため説明を省略する。
次に、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみをサポートする場合の動作を図9と図10のフローチャートを用いて説明する。
図10を参照すると、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応せず、I/Oデバイス1400のホットプラグのみに対応する場合の動作は、図7に示す第3の実施の形態の動作に比べ、ステップ7000(PCIエクスプレススイッチ5100のコンフィグレーション)に代えてステップ10000(下流PCI-PCIブリッジ1505のコンフィグレーション)を含む点で異なる。
ステップ4000とステップ4001は図4に示す第1の実施の形態と同じであるため説明を省略する。仮想PCIエクスプレスデバイス制御ロジック9101は、下流PCI-PCIブリッジ1505が空きスロット1605に挿入された場合、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603に記載された、あらかじめ予約されたPCIエクスプレスリソース空間を用いて、挿入された下流PCI-PCIブリッジ1505が備えるコンフィグレーションレジスタ1502にPCIエクスプレスパケットを用いて書き込みを行うことにより、下流PCI-PCIブリッジ1505のコンフィグレーションを行う(ステップ10000)。続いて、挿入された下流PCI-PCIブリッジ1505がI/Oデバイス1400と接続している場合、この下流PCI-PCIブリッジ1505を疑似し、CPU1100にI/Oデバイス1400の挿入を通知する割り込みを上げる(ステップ7001)。この割り込みを契機として、コンフィグレーションソフト1000は挿入した下流PCI-PCIブリッジ1505に接続するI/Oデバイス1400のコンフィグレーションを行う(ステップ4004)。
以上の手順により、従来のコンピュータが備えるPCI-SIGの標準で定義されたホットプラグをサポートするPCIエクスプレスシステムのコンフィグレーションソフト1000を用いて上流PCI-PCIブリッジ9001に対する下流PCI-PCIブリッジ1505のホットプラグが実現され、さらにまた、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグの中で、I/Oデバイス1400のホットプラグのみをサポートする場合でも、上流PCI-PCIブリッジ9001に対する下流PCI-PCIブリッジ1505のホットプラグが実現される。
また、本実施の形態ではPCIエクスプレススイッチ9000と仮想PCIエクスプレスデバイス9100が別デバイスである形態を示したが、PCIエクスプレススイッチ9000が仮想PCIエクスプレスデバイス9100を含む形態も可能である。
さらにまた、本実施の形態ではホットプラグを通知するホットプラグ制御線1601を設定したが、PCIエクスプレスパケットを用いてPCIエクスプレスバスにより通知することも可能である。
さらにまた、本実施の形態では、空きスロット1605に挿入する下流PCI-PCIブリッジ1505が1つのI/Oデバイス1400と接続する場合を示したが、間に1段以上のPCIエクスプレススイッチ5100を含む構成も可能である。本構成では、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグをサポートする場合の動作は、前記コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応する場合の動作において、CPU1100への割り込みを契機として、コンフィグレーションソフト1000が挿入した全てのデバイスに対し、コンフィグレーションを行う。一方、コンフィグレーションソフト1000がPCI-SIGの標準で定義されたホットプラグの中でI/Oデバイス1400のホットプラグのみをサポートする場合、図10に示すコンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグをサポートしない場合の動作において、ステップ10000により、仮想PCIエクスプレスデバイス制御ロジック9101は、挿入された下流PCI-PCIブリッジ1505に加え、下流PCI-PCIブリッジ1505の下流に接続する全てのPCIエクスプレススイッチ5100に対してコンフィグレーションを行い、各PCIエクスプレススイッチ5100に接続する全てのI/Oデバイス1400に対し、CPUへの割り込み(ステップ7001)とPCIエクスプレススイッチ5100に接続するI/Oデバイス1400のコンフィグレーション(ステップ4004)との動作を個別のI/Oデバイス1400について行う。
前記第1〜第5の実施の形態はPCIエクスプレスシステムを対象に説明したが、同様の方法でリソース空間を予約し、予約したリソース空間に対しデバイスのホットプラグを行う手法は、PCIエクスプレスより以前に定義されたPCIとPCI-Xと、さらにまた、これから定義されるであろうPCIエクスプレスの次期標準規格と、さらにまた、他のバス規格に適用可能であることは、当事者であれば容易に理解される。
次に本発明の第1の実施例を、図11を参照して説明する。かかる実施例は本発明の第1の実施の形態に対応するものである。
図11を参照すると本実施例は、ホットプラグするI/Oデバイス1400としてネットワークインタフェースカード(NIC)を用いる。本NICは、使用する32ビットI/O空間として256、32ビットメモリ空間として16Kを要求する。
仮想PCIエクスプレスデバイス1600は、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603を用いて仮想的なI/Oデバイス1400の存在を示し、また、I/O空間を4K、メモリ空間を1M予約する。具体的には、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、タイプ0のコンフィグレーションレジスタを1つ保持し、そのデバイスID、ベンダIDおよびクラスコードを用いてI/Oデバイス1400の存在を示し、そのベースアドレスレジスタを用いて4KのI/O空間と1Mのメモリ空間を要求する。ここで、NICが要求するのは32ビットI/O空間で256、32ビットメモリ空間で16Kであるのにかかわらず、I/O空間を4K、メモリ空間を1M予約する理由は、現在使用されている一般的なコンフィグレーションソフト1000は下流PCI-PCIブリッジに何らかのI/Oデバイスが接続されている場合、I/O空間を4K、メモリ空間を1M確保するようにデフォルトで設定されているためである。
仮想PCIエクスプレスデバイス1600が上記のようにI/O空間を4K、メモリ空間を1M予約するため、仮想PCIエクスプレスデバイス1600が接続する下流PCI-PCIブリッジ1504が備えるコンフィグレーションレジスタ1502には、PCIエクスプレス初期コンフィグレーションサイクルにおいて、自ブリッジ1504の下流にI/O空間00001000〜00001fffと、メモリ空間00100000〜001fffffとが接続しているように設定され、またバス番号として4が設定される。
PCIエクスプレススイッチ1500に含まれる残りの2つの下流PCI-PCIブリッジ1505の一方には、I/Oデバイス1400が接続されており、このI/Oデバイス1400はバス番号5と、I/O空間00002000〜00002fffと、メモリ空間00200000〜002fffffとを使用している。残りの1つの下流PCI-PCIブリッジ1505にはデバイスは接続されていない。
上流PCI-PCIブリッジ1501が備えるコンフィグレーションレジスタ1502は、上流PCI-PCIブリッジ1501より下流に接続するPCIエクスプレスリソース空間の情報を保持する。従って、今の例では、上流PCI-PCIブリッジ1501の下流にバス番号3〜6と、32ビットI/O空間00001000〜00002fffと、32ビットメモリ空間00100000〜002fffffとが接続されているように設定される。
NICをホットプラグするとき、仮想PCIエクスプレスデバイス1600がホットプラグ制御線1601を用いて下流PCI-PCIブリッジ1504に通知し、下流PCI-PCIブリッジ1504がCPU1100に割り込みを上げることで、コンフィグレーションソフト1000が呼ばれ、NICのコンフィグレーションが行われる。このコンフィグレーションは全て、PCI-SIGの標準で定義されたホットプラグの手順に従って行われる。このとき、NICが要求する256の32ビットI/O空間と、16Kの32ビットメモリ空間は、仮想PCIエクスプレスデバイス1600が予め予約したPCIエクスプレスリソース空間に収容される。よって、上流PCI-PCIブリッジ1501と、下流PCI-PCIブリッジ1504および下流PCI-PCIブリッジ1505とが保持するコンフィグレーションレジスタ1502の値は保持され、NICに対してのみコンフィグレーションが行われるため、他のI/Oデバイス1400が提供するサービスは維持される。
次に本発明の第2の実施例を、図12を参照して説明する。かかる実施例は本発明の第2の実施の形態に対応するものである。
図12を参照すると本実施例は、第1の実施例と比較して、NICをルートコンプレックス5000にホットプラグする点で異なる。
仮想PCIエクスプレスデバイス1600は、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603が備えるデバイスID、ベンダIDおよびクラスコードを用いて仮想的にI/Oデバイスの存在を示し、またベースアドレスレジスタを用いて32ビットI/O空間を4K、32ビットメモリ空間を1M、それぞれルートコンプレックス5000の下流に予約する。
NICをホットプラグするとき、仮想PCIエクスプレスデバイス1600がホットプラグ制御線1601を用いてルートコンプレックス5000に通知し、ルートコンプレックス5000がCPU1100に割り込みを上げることで、コンフィグレーションソフト1000が呼ばれNICのコンフィグレーションが行われる。このコンフィグレーションは全て、PCI-SIGの標準で定義されたホットプラグの手順に従って行われる。このとき、NICに対してのみコンフィグレーションが行われ、他のI/Oデバイス1400が提供するサービスが維持される点は第1の実施の形態と同じである。
次に本発明の第3の実施例を、図13を参照して説明する。かかる実施例は本発明の第3の実施の形態に対応するものである。
図13を参照すると本実施例は、PCIエクスプレススイッチ1500にPCIエクスプレススイッチ5100のホットプラグを行う点で第1の実施例と異なる。本実施例では、ホットプラグするPCIエクスプレススイッチ5100にはNICが2つ接続されるものとする。
仮想PCIエクスプレスデバイス6000は、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603を用いて、仮想的な1つのPCIエクスプレススイッチ5100と2つのI/Oデバイス1400との存在を示し、バス番号4つと、I/O空間を8Kと、メモリ空間2Mとを予約する。具体的には、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、1つの上流PCI-PCIブリッジと2つの下流PCI-PCIブリッジを備えた1つのPCIエクスプレススイッチを擬似するために3つのタイプ1のコンフィグレーションレジスタを保持し、PCIエクスプレススイッチに接続される2つのI/Oデバイスを擬似するために2つのタイプ0のコンフィグレーションレジスタを保持し、またPCIエクスプレススイッチに2つのI/Oデバイスが接続された形態を示すトポロジ情報を保持する。仮想PCIエクスプレスデバイス制御ロジック1602は、このトポロジ情報に基づき、コンフィグレーションソフト1000から受信するコンフィグレーションアクセスにかかるパケットの内容に従って各レジスタに対し書き込み及び読み込み動作を行うことにより、仮想デバイス構成のトポロジをコンフィグレーションソフト1000に認識させる。
下流PCI-PCIブリッジ1504が備えるコンフィグレーションレジスタ1502は、仮想PCIエクスプレスデバイス6000が上記のPCIエクスプレスリソース空間を予約するため、下流PCI-PCIブリッジ1504の下流にバス番号4〜7と、I/O空間00001000〜00002fffと、メモリ空間00100000〜002fffffとが接続していることを示す。
本実施例では、コンフィグレーションソフト1000がPCIエクスプレススイッチ5100のホットプラグに対応していないとする。
PCIエクスプレススイッチ5100を空きスロット1605にホットプラグするとき、仮想PCIエクスプレスデバイス制御ロジック1602は、ホットプラグするPCIエクスプレススイッチ5100の上流PCI-PCIブリッジ1501と下流PCI-PCIブリッジ1505とが備えるコンフィグレーションレジスタ1502に仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603の値をコピーすることにより、挿入するPCIエクスプレススイッチ5100のコンフィグレーションを行う。仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、PCIエクスプレススイッチ5100に該当するレジスタを保持するため、当該箇所を直接コピーすれば良い。具体的には、上流PCI-PCIブリッジ1501のコンフィグレーションレジスタ1502に対して仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603の保持する、上流PCI-PCIブリッジを擬似するタイプ1のコンフィグレーションレジスタの内容をコピーし、2つの下流PCI-PCIブリッジ1505のコンフィグレーションレジスタ1502に対して仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603の保持する、下流PCI-PCIブリッジを擬似するタイプ1のコンフィグレーションレジスタの内容をコピーする。
続いて仮想PCIエクスプレスデバイス制御ロジック1602は、挿入したPCIエクスプレススイッチ5100に含まれる下流PCI-PCIブリッジ1505を疑似して、CPU1100にNICの挿入を通知する割り込みを上げる。本割り込みによりコンフィグレーションソフト1000が呼ばれ、割り込んだ下流PCI-PCIブリッジ1505と接続するNICのコンフィグレーションが行われる。このNICのコンフィグレーションは全て、PCI-SIGの標準で定義されたホットプラグの手順に従って行われる。本構成では、挿入したPCIエクスプレススイッチ5100が2つのNICと接続しているため、前記PCI-SIGの標準で定義されたI/Oデバイス1400のホットプラグに従った動作が2つのNICについて繰り返し行われる。以上のコンフィグレーションは全て、挿入したPCIエクスプレススイッチ5100とNICに対してのみ行われ、他のI/Oデバイス1400が提供するサービスが維持される点は第1の実施の形態と同じである。
次に本発明の第4の実施例を、図14を参照して説明する。かかる実施例は本発明の第4の実施の形態に対応するものである。
図14を参照すると本実施例は、ルートコンプレックス5000にPCIエクスプレススイッチ5100のホットプラグを行うという点で第2の実施例と異なる。本実施例では第3の実施例と同じく、ホットプラグするPCIエクスプレススイッチ5100には2つのNICが接続されるものとする。
仮想PCIエクスプレスデバイス6000は、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603により仮想的な1つのPCIエクスプレススイッチ5100と2つのI/Oデバイス1400との存在を示し、バス番号4つと、I/O空間を8Kと、メモリ空間2Mとをルートコンプレックス5000の下流に予約する。
PCIエクスプレススイッチ5100をホットプラグするときの動作は、第3の実施例における動作と同じであるため説明を省略する。
次に本発明の第5の実施例を、図15を参照して説明する。かかる実施例は本発明の第5の実施の形態に対応するものである。
図15を参照すると、本実施例は、上流PCI-PCIブリッジ9001に対し下流PCI-PCIブリッジ1505のホットプラグを行う点で第1の実施例と異なる。本実施例ではホットプラグする下流PCI-PCIブリッジ1505には、1つのNICが接続されるものとする。
仮想PCIエクスプレスデバイス9100は、PCIエクスプレス初期コンフィグレーションサイクルに対し、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603により仮想的に1つの下流PCI-PCIブリッジと1つのI/Oデバイス1400の存在を示し、バス番号2つと、I/O空間4Kと、メモリ空間1Mとを予約する。具体的には、仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、1つのPCI-PCIブリッジと1つのI/Oデバイスを擬似するために1つのタイプ1のコンフィグレーションレジスタと1つのタイプ0のコンフィグレーションレジスタを保持し、またPCI-PCIブリッジに1つのI/Oデバイスが接続された形態を示すトポロジ情報を保持する。仮想PCIエクスプレスデバイス制御ロジック9101は、このトポロジ情報に基づき、コンフィグレーションソフト1000から受信するコンフィグレーションアクセスにかかるパケットの内容に従って各レジスタに対し書き込み及び読み込み動作を行うことにより、仮想デバイス構成のトポロジをコンフィグレーションソフト1000に認識させる。
上流PCI-PCIブリッジ9001が備えるコンフィグレーションレジスタ1502は、仮想PCIエクスプレスデバイス9100が上記のPCIエクスプレスリソース空間を予約するため、2つある下流PCI-PCIブリッジ1505の一方に接続するI/Oデバイス1400が使用するPCIエクスプレスリソース空間を含め、自ブリッジ9001の下流にバス番号3〜6と、I/O空間00001000〜00002fffと、メモリ空間00100000〜002fffffとが接続していることを示す。
本実施例では、コンフィグレーションソフト1000が下流PCI-PCIブリッジ1505のホットプラグに対応していないとする。
下流PCI-PCIブリッジ1505を空きスロット1605に挿入するとき、仮想PCIエクスプレスデバイス制御ロジック9101は、挿入した下流PCI-PCIブリッジ1505が備えるコンフィグレーションレジスタ1502に仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603の値をコピーすることにより、下流PCI-PCIブリッジ1505のコンフィグレーションを行う。仮想PCIエクスプレスデバイスコンフィグレーションレジスタ1603は、下流PCI-PCIブリッジ1505に該当するタイプ1のコンフィグレーションレジスタを1つ保持するため、このレジスタの内容を直接コピーすれば良い。続いて仮想PCIエクスプレスデバイス制御ロジック9101は、挿入した下流PCI-PCIブリッジ1505を疑似してCPU1100にNICの挿入を通知する割り込みを上げる。本割り込みを契機として、コンフィグレーションソフト1000はNICのコンフィグレーションを行う。このコンフィグレーションは全て、PCI-SIGのホットプラグで定義され手順に従って行われる。以上のコンフィグレーションは挿入した下流PCI-PCIブリッジ1505とNICに対してのみ行われ、他のI/Oデバイス1400が提供するサービスが維持される点は第1の実施の形態と同じである。
本発明は、コンピュータ装置、ストレージ装置、ネットワーク装置などの装置におけるハードウェアデバイスのホットプラグといった用途に適用できる。また、ブレードシステムをはじめとした、モジュール化したハードウェア資源を自由に再構成し、所望の機能を得る情報装置におけるハードウェアデバイスのホットプラグといった用途に使用できる。また、パーソナルコンピュータや持ち運び可能な情報端末におけるハードウェアデバイスのホットプラグといった用途に適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明にかかるデバイス装置がコンフィグレーションソフトに対して存在を示す仮想デバイス構成の説明図である。 本発明の第1の実施の形態における初期コンフィグレーションサイクルの動作を示す流れ図である。 本発明の第1の実施の形態におけるホットプラグ時の動作を示す流れ図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態におけるホットプラグ時の動作を示す流れ図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態におけるホットプラグ時の動作を示す流れ図である。 本発明の第1の実施例のブロック図である。 本発明の第2の実施例のブロック図である。 本発明の第3の実施例のブロック図である。 本発明の第4の実施例のブロック図である。 本発明の第5の実施例のブロック図である。 従来のPCIエクスプレスシステムのブロック図である。 従来のPCIエクスプレススイッチのブロック図である。 コンフィグレーションレジスタの説明図である。
符号の説明
1000…コンフィグレーションソフト
1100…CPU
1200…メモリ
1300…ルートコンプレックス
1400…I/Oデバイス
1500…PCIエクスプレススイッチ
1501…上流PCI-PCIブリッジ
1504…下流PCI-PCIブリッジ
1505…下流PCI-PCIブリッジ
1600…仮想PCIエクスプレスデバイス
1602…仮想PCIエクスプレスデバイス制御ロジック
1603…仮想PCIエクスプレスデバイスコンフィグレーションレジスタ
1604…パケット転送ロジック
2000…仮想デバイス構成
2100…仮想デバイス構成
5000…ルートコンプレックス
5100…PCIエクスプレススイッチ
6000…仮想PCIエクスプレスデバイス
6001…仮想PCIエクスプレスデバイス制御ロジック
9000…PCIエクスプレススイッチ
9001…上流PCI-PCIブリッジ
9100…仮想PCIエクスプレスデバイス
9101…仮想PCIエクスプレスデバイス制御ロジック

Claims (29)

  1. バスに接続されるデバイス装置であって、スロットと、擬似デバイスと、前記スロットにデバイスが接続されていない場合には前記バスと前記擬似デバイスとの間の通信を中継し、前記スロットにデバイスが接続されている場合には前記バスと前記スロットとの間の通信を中継する通信中継手段とを備えることを特徴とするデバイス装置。
  2. 前記擬似デバイスは、1以上のコンフィグレーションレジスタと、該コンフィグレーションレジスタに対し書き込み及び読み込み動作を行う制御部とを備えることを特徴とする請求項1記載のデバイス装置。
  3. 前記擬似デバイスは、自擬似デバイスのトポロジ情報を保持し、前記制御部は前記トポロジ情報に基づいて前記コンフィグレーションレジスタに対し書き込み及び読み込み動作を行うことを特徴とする請求項2記載のデバイス装置。
  4. 前記制御部は、前記スロットにデバイスが挿入されたときにCPUに割り込みを上げることを特徴とする請求項2記載のデバイス装置。
  5. 前記制御部は、前記擬似デバイスに対して割り当てられたリソース空間の情報を用いて、前記スロットに挿入されたデバイスの一部または全てのコンフィグレーションを行うことを特徴とする請求項2記載のデバイス装置。
  6. 前記制御部は、前記コンフィグレーションの完了後にCPUに割り込みを上げることを特徴とする請求項5記載のデバイス装置。
  7. 前記割り込みを上げる前に前記制御部が行うコンフィグレーションは、前記CPUへの割り込みにより開始されるコンフィグレーションソフトによるデバイスのコンフィグレーションでサポートされないデバイスを対象とすることを特徴とする請求項6記載のデバイス装置。
  8. 前記割り込みがPCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする請求項4または6記載のデバイス装置。
  9. 前記バスの規格がPCIであることを特徴とする請求項1記載のデバイス装置。
  10. 前記バスの規格がPCI-Xであることを特徴とする請求項1記載のデバイス装置。
  11. 前記バスの規格がPCIエクスプレスであることを特徴とする請求項1記載のデバイス装置。
  12. PCIエクスプレススイッチを構成するデバイスに接続されるか或いは該デバイスに組み込まれていることを特徴とする請求項11記載のデバイス装置。
  13. 前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチ、下流PCI-PCIブリッジの何れかであることを特徴とする請求項12記載のデバイス装置。
  14. ルートコンプレックスを構成するデバイスに接続されるか或いは該デバイスに組み込まれていることを特徴とする請求項11記載のデバイス装置。
  15. 前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチの何れかであることを特徴とする請求項14記載のデバイス装置。
  16. バスに接続されるデバイス装置であって、スロットと、擬似デバイスと、前記スロットにデバイスが接続されていない場合には前記バスと前記擬似デバイスとの間の通信を中継し、前記スロットにデバイスが接続されている場合には前記バスと前記スロットとの間の通信を中継する通信中継手段とを備えたデバイス装置をシステムに組み入れた状態で、システムのCPUにより実行されるコンフィグレーションソフトにより初期コンフィグレーションを行う第1のステップと、
    前記スロットにデバイスが挿入されたときに、該挿入されたデバイスに対してコンフィグレーションを行う第2のステップとを含むことを特徴とするシステム構成変更方法。
  17. 前記擬似デバイスは、1以上のコンフィグレーションレジスタと、該コンフィグレーションレジスタに対し書き込み及び読み込み動作を行う制御部とを備え、前記初期コンフィグレーションにおいては、前記コンフィグレーションソフトが、前記制御部を通じて前記コンフィグレーションレジスタの書き込み及び読み込みを行うことにより、前記擬似デバイスのコンフィグレーションを行うことを特徴とする請求項16記載のシステム構成変更方法。
  18. 前記擬似デバイスは、自擬似デバイスのトポロジ情報を保持し、前記制御部は前記トポロジ情報に基づいて前記コンフィグレーションレジスタに対し書き込み及び読み込み動作を行うことを特徴とする請求項17記載のシステム構成変更方法。
  19. 前記制御部は、前記スロットにデバイスが挿入されたときに前記CPUに割り込みを上げることを特徴とする請求項17記載のシステム構成変更方法。
  20. 前記第2のステップにおいて、前記制御部は、前記擬似デバイスに対して前記初期コンフィグレーションにより割り当てられたリソース空間の情報を用いて、前記スロットに挿入されたデバイスの一部または全てのコンフィグレーションを行うことを特徴とする請求項17記載のシステム構成変更方法。
  21. 前記制御部は、前記コンフィグレーションの完了後に前記CPUに割り込みを上げることを特徴とする請求項20記載のシステム構成変更方法。
  22. 前記割り込みを上げる前に前記制御部が行うコンフィグレーションは、前記CPUへの割り込みにより開始されるコンフィグレーションソフトによるデバイスのコンフィグレーションでサポートされないデバイスを対象とすることを特徴とする請求項21記載のシステム構成変更方法。
  23. 前記割り込みがPCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする請求項19または21記載のシステム構成変更方法。
  24. 前記割り込みにより開始される前記コンフィグレーションソフトによるコンフィグレーションが、PCI-SIGの標準で定義されたホットプラグの手順に従うことを特徴とする請求項23記載のシステム構成変更方法。
  25. 前記バスの規格がPCIであることを特徴とする請求項16記載のシステム構成変更方法。
  26. 前記バスの規格がPCI-Xであることを特徴とする請求項16記載のシステム構成変更方法。
  27. 前記バスの規格がPCIエクスプレスであることを特徴とする請求項16記載のシステム構成変更方法。
  28. 前記デバイス装置が、PCIエクスプレススイッチを構成するデバイスに接続されるか或いは該デバイスに組み込まれており、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチ、下流PCI-PCIブリッジの何れかであることを特徴とする請求項27記載のシステム構成変更方法。
  29. 前記デバイス装置が、ルートコンプレックスを構成するデバイスに接続されるか或いは該デバイスに組み込まれており、前記スロットに接続されるデバイスがI/Oデバイス、PCIエクスプレススイッチの何れかであることを特徴とする請求項27記載のシステム構成変更方法。
JP2006219469A 2006-08-11 2006-08-11 I/o装置及び方法 Active JP4810349B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006219469A JP4810349B2 (ja) 2006-08-11 2006-08-11 I/o装置及び方法
US11/836,357 US7877521B2 (en) 2006-08-11 2007-08-09 Processing apparatus and method of modifying system configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006219469A JP4810349B2 (ja) 2006-08-11 2006-08-11 I/o装置及び方法

Publications (2)

Publication Number Publication Date
JP2008046722A true JP2008046722A (ja) 2008-02-28
JP4810349B2 JP4810349B2 (ja) 2011-11-09

Family

ID=39052188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006219469A Active JP4810349B2 (ja) 2006-08-11 2006-08-11 I/o装置及び方法

Country Status (2)

Country Link
US (1) US7877521B2 (ja)
JP (1) JP4810349B2 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152787A (ja) * 2006-12-19 2008-07-03 Internatl Business Mach Corp <Ibm> データ処理システム内で実行中の通信ファブリックにコンポーネントをホット・プラグするための方法、プログラム、およびシステム(実行中のPCIeファブリックにおける新しいコンポーネントのホット・プラグ/除去のためのシステムおよび方法)
WO2009139489A1 (ja) * 2008-05-16 2009-11-19 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
WO2010044409A1 (ja) * 2008-10-15 2010-04-22 日本電気株式会社 マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
JP2011516964A (ja) * 2008-04-01 2011-05-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Pciデバイス用pciメモリ空間の確保
JP2011519092A (ja) * 2008-04-28 2011-06-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法
WO2012073304A1 (ja) * 2010-11-29 2012-06-07 株式会社日立製作所 計算機システム、それに使用されるスイッチ及びパケット転送制御方法
US8302110B2 (en) 2009-03-05 2012-10-30 Nec Corporation Method of configuration processing of PCI device on virtualization apparatus and computer system
US8533381B2 (en) 2009-02-19 2013-09-10 Hitachi, Ltd. Computer system, method of managing PCI switch, and management server
US8719480B2 (en) 2011-11-30 2014-05-06 International Business Machines Corporation Automated network configuration in a dynamic virtual environment
US8904055B2 (en) 2011-10-31 2014-12-02 Fujitsu Limited Switching control device and switching control method
US8966480B2 (en) 2011-03-31 2015-02-24 Fujitsu Limited System for migrating a virtual machine between computers
JP2015166959A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 情報処理装置、リソース割当て方法、及び、プログラム
JP2019028513A (ja) * 2017-07-25 2019-02-21 パナソニックIpマネジメント株式会社 データ転送システム、アダプタ、及びシステムホスト
JP2019091494A (ja) * 2014-10-05 2019-06-13 アマゾン テクノロジーズ インコーポレイテッド エミュレートされたエンドポイントコンフィグレーション
WO2019124259A1 (ja) * 2017-12-20 2019-06-27 日本電気株式会社 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
JP7435035B2 (ja) 2020-03-03 2024-02-21 日本電気株式会社 PCIeデバイス、障害復旧方法、プログラム

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865654B2 (en) * 2006-02-28 2011-01-04 Emulex Design And Manufacturing Corporation Programmable bridge header structures
EP2257880B1 (en) 2008-03-25 2013-05-08 Hewlett-Packard Development Company, L.P. System and method for transforming pcie sr-iov functions to appear as legacy functions
US7814258B2 (en) * 2008-07-21 2010-10-12 Texas Instruments Incorporated PCI bus burst transfer sizing
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US8117346B2 (en) * 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
US8838865B2 (en) * 2008-10-10 2014-09-16 Nuon, Inc. Hot plug ad hoc computer resource allocation
US9213662B2 (en) * 2008-11-13 2015-12-15 Nec Corporation I/O bus system
WO2010071634A1 (en) * 2008-12-16 2010-06-24 Hewlett-Packard Development Company, L.P. Clock signals for dynamic reconfiguration of communication link bundles
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
JP5074457B2 (ja) * 2009-06-04 2012-11-14 株式会社日立製作所 計算機システム、スイッチ切り替え方法及びpciスイッチ
CN101631083B (zh) * 2009-08-07 2012-04-04 成都市华为赛门铁克科技有限公司 设备接管方法和装置及双控系统
GB2473675B (en) * 2009-09-22 2011-12-28 Virtensys Ltd Switching method
US8271707B2 (en) * 2010-02-17 2012-09-18 Broadcom Corporation Method and system for PCI hybrid function
US8554957B1 (en) 2010-02-24 2013-10-08 Open Invention Network, Llc Method for creation of device drivers and device objects for peripheral devices
US8935434B1 (en) 2010-02-24 2015-01-13 Open Invention Network, Llc Interconnection of peripheral devices on different electronic devices
US9396147B1 (en) 2010-02-24 2016-07-19 Open Invention Network Llc Interconnection of peripheral devices on different electronic devices
US8554956B1 (en) * 2010-02-24 2013-10-08 Open Invention Network Llc Method for creation of a device driver for a peripheral device
US8949499B2 (en) * 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US9329886B2 (en) 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
WO2012132027A1 (ja) * 2011-03-29 2012-10-04 富士通株式会社 情報処理装置、サブシステム、情報処理方法および情報処理プログラム
US8645600B2 (en) * 2011-11-10 2014-02-04 International Business Machines Corporation Configuring expansion component interconnect (‘ECI’) physical functions on an ECI device in a computing system
US8769159B2 (en) * 2011-12-14 2014-07-01 National Instruments Corporation Resource reservation for an external device that is not available at startup of a host computer
US9262363B2 (en) * 2012-11-30 2016-02-16 Ciena Corporation PCI and PCI express virtual hot plug systems and methods
CN103970250A (zh) * 2013-01-28 2014-08-06 鸿富锦精密工业(深圳)有限公司 一种pci插槽连接设备的检测方法与装置
CN103412836B (zh) * 2013-06-26 2016-08-10 华为技术有限公司 热插拔处理方法、装置以及系统
CN104679535B (zh) * 2013-11-28 2018-03-30 英业达科技有限公司 伺服器以及识别码同步方法
US10229085B2 (en) 2015-01-23 2019-03-12 Hewlett Packard Enterprise Development Lp Fibre channel hardware card port assignment and management method for port names
CN105701051B (zh) 2016-01-15 2019-10-15 华为技术有限公司 一种热插拔方法、主机控制器、主机及PCIe桥设备
CN106980588A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种设备热处理方法和装置
US10114952B2 (en) * 2016-03-30 2018-10-30 Mcafee, Llc System, apparatus and method for performing secure memory training and management in a trusted environment
EP3341837A4 (en) 2016-05-31 2019-05-22 Avago Technologies International Sales Pte. Limited IMPLEMENTATION OF HOT PLUG HARDWARE AND SOFTWARE
US10223318B2 (en) 2017-05-31 2019-03-05 Hewlett Packard Enterprise Development Lp Hot plugging peripheral connected interface express (PCIe) cards
US11038749B2 (en) * 2018-12-24 2021-06-15 Intel Corporation Memory resource allocation in an end-point device
CN114691574B (zh) * 2021-04-15 2023-05-09 澜起电子科技(上海)有限公司 热插拔控制方法、装置、重定时器、扩展卡及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187589A (ja) * 1996-10-18 1998-07-21 Compaq Computer Corp キーボード用ホットプラグ
JP2002288104A (ja) * 2001-03-28 2002-10-04 Nec Corp コンピュータシステム、そのリソース割り当て方法及びプログラム
JP2004531838A (ja) * 2001-06-29 2004-10-14 インテル コーポレイション 仮想pciデバイス装置及び方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0762838B2 (ja) 1987-09-18 1995-07-05 富士通株式会社 システム構成の動的変更方式
US7096305B2 (en) * 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
US7363393B2 (en) * 2003-12-30 2008-04-22 Intel Corporation Chipset feature detection and configuration by an I/O device
JP2005309552A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd 計算機
US20060114918A1 (en) * 2004-11-09 2006-06-01 Junichi Ikeda Data transfer system, data transfer method, and image apparatus system
US7321947B2 (en) * 2005-03-10 2008-01-22 Dell Products L.P. Systems and methods for managing multiple hot plug operations
US7478178B2 (en) * 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
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
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
US8249089B2 (en) * 2006-09-29 2012-08-21 Intel Corporation Methods for pushing address translations mappings to PCI express endpoints
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187589A (ja) * 1996-10-18 1998-07-21 Compaq Computer Corp キーボード用ホットプラグ
JP2002288104A (ja) * 2001-03-28 2002-10-04 Nec Corp コンピュータシステム、そのリソース割り当て方法及びプログラム
JP2004531838A (ja) * 2001-06-29 2004-10-14 インテル コーポレイション 仮想pciデバイス装置及び方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152787A (ja) * 2006-12-19 2008-07-03 Internatl Business Mach Corp <Ibm> データ処理システム内で実行中の通信ファブリックにコンポーネントをホット・プラグするための方法、プログラム、およびシステム(実行中のPCIeファブリックにおける新しいコンポーネントのホット・プラグ/除去のためのシステムおよび方法)
JP2011516964A (ja) * 2008-04-01 2011-05-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Pciデバイス用pciメモリ空間の確保
JP2011519092A (ja) * 2008-04-28 2011-06-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法
US8625615B2 (en) 2008-05-16 2014-01-07 Nec Corporation PCI express switch, PCI express system, and network control method
JP5360607B2 (ja) * 2008-05-16 2013-12-04 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
WO2009139489A1 (ja) * 2008-05-16 2009-11-19 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
WO2010044409A1 (ja) * 2008-10-15 2010-04-22 日本電気株式会社 マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
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
US8533381B2 (en) 2009-02-19 2013-09-10 Hitachi, Ltd. Computer system, method of managing PCI switch, and management server
US8302110B2 (en) 2009-03-05 2012-10-30 Nec Corporation Method of configuration processing of PCI device on virtualization apparatus and computer system
WO2012073304A1 (ja) * 2010-11-29 2012-06-07 株式会社日立製作所 計算機システム、それに使用されるスイッチ及びパケット転送制御方法
JP5399570B2 (ja) * 2010-11-29 2014-01-29 株式会社日立製作所 計算機システム、それに使用されるスイッチ及びパケット転送制御方法
US9396150B2 (en) 2010-11-29 2016-07-19 Hitachi, Ltd. Computer system and method utilizing a PCIe switch to control transfer of packets
US8966480B2 (en) 2011-03-31 2015-02-24 Fujitsu Limited System for migrating a virtual machine between computers
US8904055B2 (en) 2011-10-31 2014-12-02 Fujitsu Limited Switching control device and switching control method
US8719480B2 (en) 2011-11-30 2014-05-06 International Business Machines Corporation Automated network configuration in a dynamic virtual environment
JP2015166959A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 情報処理装置、リソース割当て方法、及び、プログラム
US9921876B2 (en) 2014-03-04 2018-03-20 Nec Corporation Information processing device, resource allocation method, and computer-readable recording medium
JP2019091494A (ja) * 2014-10-05 2019-06-13 アマゾン テクノロジーズ インコーポレイテッド エミュレートされたエンドポイントコンフィグレーション
US11321247B2 (en) 2014-10-05 2022-05-03 Amazon Technologies, Inc. Emulated endpoint configuration
US11886355B2 (en) 2014-10-05 2024-01-30 Amazon Technologies, Inc. Emulated endpoint configuration
JP2019028513A (ja) * 2017-07-25 2019-02-21 パナソニックIpマネジメント株式会社 データ転送システム、アダプタ、及びシステムホスト
JP7054807B2 (ja) 2017-07-25 2022-04-15 パナソニックIpマネジメント株式会社 データ転送システム、アダプタ、及びシステムホスト
WO2019124259A1 (ja) * 2017-12-20 2019-06-27 日本電気株式会社 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
JPWO2019124259A1 (ja) * 2017-12-20 2020-11-19 日本電気株式会社 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
US11360926B2 (en) 2017-12-20 2022-06-14 Nec Corporation Configuration management device, configuration management system, configuration management method, and non-transitory computer readable storage medium
JP7435035B2 (ja) 2020-03-03 2024-02-21 日本電気株式会社 PCIeデバイス、障害復旧方法、プログラム

Also Published As

Publication number Publication date
JP4810349B2 (ja) 2011-11-09
US20080040526A1 (en) 2008-02-14
US7877521B2 (en) 2011-01-25

Similar Documents

Publication Publication Date Title
JP4810349B2 (ja) I/o装置及び方法
US10241951B1 (en) Device full memory access through standard PCI express bus
US8583848B2 (en) Switching circuit connected to an I/O device, and switching circuit connected to an I/O device control method
CN105721357B (zh) 交换设备、外围部件互连高速系统及其初始化方法
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US8386654B2 (en) System and method for transforming PCIe SR-IOV functions to appear as legacy functions
JP5477707B2 (ja) I/oシステムおよびi/o制御方法
JP6753412B2 (ja) コンピュータ、デバイス割当管理方法及びプログラム
US9684530B2 (en) System and method for assigning virtual functions and management host thereof
US8103993B2 (en) Structure for dynamically allocating lanes to a plurality of PCI express connectors
US9423958B2 (en) System and method for managing expansion read-only memory and management host thereof
CN102819447A (zh) 一种用于多根共享系统的直接i/o 虚拟化方法和装置
JP2011028650A (ja) 情報処理装置
JPWO2010044409A1 (ja) マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
US9087162B2 (en) Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
CN105320628A (zh) 使能单根i/o设备多根共享的适配装置、系统及方法
CN108205506A (zh) 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN101751352A (zh) 不同种类处理单元中对绑定和迁移硬件设备的芯片组支持
EP2835743A1 (en) I/o device sharing system and i/o device sharing method
WO2016000475A1 (zh) 一种资源分配方法及相关装置
JP2007213445A (ja) システム制御装置、システム制御方法及びシステム制御プログラム
JP2014179066A (ja) ストレージ制御装置、ストレージシステム、およびストレージ制御方法
WO2019124259A1 (ja) 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
JP2011113163A (ja) Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法
CN108132900A (zh) 转接设备、远程通信系统以及数据传输方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081010

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090611

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100223

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100303

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100402

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4810349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150