JP6089835B2 - 情報処理装置及び制御方法 - Google Patents

情報処理装置及び制御方法 Download PDF

Info

Publication number
JP6089835B2
JP6089835B2 JP2013056801A JP2013056801A JP6089835B2 JP 6089835 B2 JP6089835 B2 JP 6089835B2 JP 2013056801 A JP2013056801 A JP 2013056801A JP 2013056801 A JP2013056801 A JP 2013056801A JP 6089835 B2 JP6089835 B2 JP 6089835B2
Authority
JP
Japan
Prior art keywords
information
port
switch
bus system
input
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.)
Active
Application number
JP2013056801A
Other languages
English (en)
Other versions
JP2014182604A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013056801A priority Critical patent/JP6089835B2/ja
Priority to US14/151,977 priority patent/US20140289444A1/en
Priority to EP14152264.9A priority patent/EP2782021A1/en
Publication of JP2014182604A publication Critical patent/JP2014182604A/ja
Application granted granted Critical
Publication of JP6089835B2 publication Critical patent/JP6089835B2/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/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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

Description

本発明は、情報処理装置及び制御方法に関する。
コンピュータの内部でCentral Processing Unit(CPU)とInput/Output(I/O)デバイスを接続するバスの規格として、例えば、Peripheral Component Interconnect Express(PCIe)が知られている。
PCIeは、ルートコンプレックス(Root Complex)を頂点とし、I/Oデバイス(入出力装置)を終点とするツリー構造を有する。複数のI/Oデバイスを接続するには、ツリー構造の中間点にPCIeスイッチ(以下、単にスイッチという)が必要となる。スイッチは、各ポートをPCI-to-PCI(P2P)ブリッジとする2段のツリー構造を持つ。
また、多数のI/Oデバイスを使用したい装置においては、I/Oデバイスが接続可能なバスを増やすために複数のスイッチを多段に接続して使用することが行なわれている。
特開2008−46722号公報 特開2010−225085号公報 国際公開WO2010−044409号パンフレット
しかしながら、このような従来のコンピュータのI/Oバスシステムにおいて、例えば、特定のスイッチに何らかの異常が発生した場合に、対象のスイッチの電源をコンピュータシステム全体に通電した状態で落とすことはできない。システム全体に通電した状態で特定のスイッチの電源を強制的にオフすると、OSのパニックが生じ、OSが動作しない状態となるからである。従って、スイッチの交換を行なうためにコンピュータシステム全体の電源を落とす必要があり煩雑であるという課題がある。
1つの側面では、本発明は、入出力バスシステム上のデバイスの電源操作を活性状態で行なうことができるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この情報処理装置は、複数の中継装置を階層的に接続したツリー状の入出力バスシステムを備える情報処理装置であって、前記入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成を示す仮想バス情報を格納する仮想バス情報格納部と、前記仮想バス情報を上流側の処理装置に通知する仮想バス情報通知部と、前記入出力バスシステムにおいて入出力デバイスが接続される前記複数の中継装置の各々のレジスタ情報の複写を格納するレジスタ情報格納部と、前記処理装置に対して、前記レジスタ情報格納部に格納されたレジスタ情報の複写を用いて応答する応答処理部とを備える。
また、この制御方法は、複数の中継装置を階層的に接続し入出力デバイスを備えた入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、前記処理装置から、取り外し対象の入出力デバイスに対して電源オフ指示を送信し、前記入出力バスシステムから前記入出力デバイスが取り外されると、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた未搭載情報格納部に入出力デバイスが未搭載であることを示す未搭載情報を格納し、前記処理装置に対して、前記未搭載情報格納部に格納された未搭載情報を用いて応答する。
また、この制御方法は、複数の中継装置を階層的に接続した入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、前記入出力バスシステムに入出力デバイスが取り付けられると、処理装置から、取り付けられた入出力デバイスに対して電源オン指示を送信し、前記処理装置から取り付けられた入出力デバイスに対する指示情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた指示情報格納部に格納し、前記入出力デバイスの電源がオンされた後に、前記入出力バスシステムが取り付けられたことを示すインストール情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられたインストール情報格納部に格納する。
一実施形態によれば、入出力バスシステム上のデバイスの電源操作を活性状態で行なうことができる利点がある。
実施形態の一例としての情報処理装置のI/Oバスシステムの構成を模式的に示す図である。 図1に示すI/Oバスシステムの仮想イメージバスを示す図である。 実施形態の一例としての情報処理装置におけるルーティング情報の構成例を示す図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの構成例を示す図である。 図4に示すI/Oバスシステムの仮想イメージバスを例示する図である。 (a),(b),(c)は、図4に示すI/Oバスシステムについてのルーティング情報を例示する図である。 実施形態の一例としての情報処理装置におけるパケットのヘッダ書き換え手法を説明するための図である。 実施形態の一例としての情報処理装置におけるルーティング情報の作成方法を説明するフローチャートである。 実施形態の一例としての情報処理装置のI/Oバスシステムにおける情報の流れを示す図である。 図9に示すI/Oバスシステムの仮想イメージバスを示す図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの構成例を示す図である。 実施形態の一例としての情報処理装置におけるI/Oバスシステムの管理手法の概要を示すフローチャートである。 実施形態の一例としての情報処理装置における装置起動時の処理を示すシーケンス図である。 実施形態の一例としての情報処理装置の通電状態におけるI/Oデバイスの取り外し時の処理を示すフローチャートである。 実施形態の一例としての情報処理装置の通電状態における中間デバイスの取り外し時の処理を示すフローチャートである。 実施形態の一例としての情報処理装置の通電状態におけるI/Oデバイスの追加時の処理を示すフローチャートである。 実施形態の一例としての情報処理装置の通電状態における中間デバイスの追加時の処理を示すフローチャートである。 実施形態の一例としての情報処理装置におけるI/Oデバイスの交換時の処理を示すシーケンス図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの第1変形例を示す図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの第2変形例を示す図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの第3変形例を示す図である。 図21に示すI/Oバスシステムの仮想イメージバスを示す図である。 実施形態の一例としての情報処理装置のI/Oバスシステムの第4変形例を示す図である。
以下、図面を参照して本情報処理装置及び制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
図1は実施形態の一例としての情報処理装置500のI/O(Input/Output:入出力)バスシステム1の構成を模式的に示す図である。
図1に示すI/Oバスシステム1は、複数(図1に示す例では2つ)のボード100,200とマネージメント装置300とを備える。
ボード100,200は、基板上に機能部品を備えた電子部品であり、それぞれに搭載された機能部品により種々の機能を実現する。以下、ボード100をボードA,ボード200をボードBと表す場合がある。これらのボード100,200は、例えば、PCIeの規格に従ったPCIeバスで接続されている。
すなわち、I/Oバスシステム1は、ボード100に搭載されたルートコンプレックス40(後述)を頂点とし、又、I/Oデバイス50(後述)を末端とするツリー構造を有する。以下、I/Oバスシステム1において、ルートコンプレックス40側を上流といい、I/Oデバイス50側を下流という。
そして、本情報処理装置500においては、I/Oバスシステム1における一部の経路を仮想的に短絡して、この短絡された部分以外の領域をイメージとしてCPU30(OS)に認識させる機能を備える。このI/Oバスシステムにおける短絡された領域(区間)を仮想化領域VAという。又、OSによって認識される、一部が短絡されたI/Oバスシステムの構成を仮想イメージバスという。
図1に示す例においては、スイッチ10の下流側ポート12及びスイッチ20の上流側ポート21を含む領域が仮想化領域VAとして設定されている。この図1に示すI/Oバスシステム1の仮想イメージバス1vを図2に示す。
仮想イメージバス1vにおいては、図2に示すように、スイッチ10の上流側ポート11にスイッチ20の下流側ポート22が接続されている。すなわち、仮想イメージバス1vは、ルートコンプレックス40の下にスイッチがあり、そのスイッチの下流側ポートにI/Oデバイス50が接続された構成としてOSに認識される。このように、仮想化領域VA内のデバイスはOSから隠された状態となる。仮想化領域VAはOSから隠された領域であるともいえる。
後述するスイッチ10のコントローラ15が、上位装置であるCentral Processing Unit(CPU)30に対してこの仮想イメージス1vを通知する。これにより、CPU3
0によって実行されるOperating System(OS)はI/Oバスシステム1をこの仮想イメージス1vのように認識する。
ボード200は、スイッチ20,電源制御回路70及びホットプラグコントローラ60を備える。又、ボード200には図示しないスロットが備えられ、このスロットにI/Oデバイス50が脱着自在に取り付けられる。
I/Oデバイス50は、ボード200の図示しないスロットに脱着自在に取り付けられる電子装置である。このI/Oデバイス50はポート51を備え、スイッチ20の下流側ポート22とPCIeバスを介して接続される。
スイッチ20は、PCIeバスに対しファンアウト機能を提供するデバイスであり、I/Oデバイス50とボードAのスイッチ10とが接続される。
スイッチ20は、コントローラ27,メモリ26,上流側ポート21,ステータスレジスタ24,制御レジスタ25及び下流側ポート22を備える。図1に示す例においては、説明を簡単にするために、1つのスイッチ20が示されているが、これに限定されるものではなく、後述の如く2つ以上のスイッチ20を備えてもよい。
上流側ポート21には、下流側ポート22及びスイッチ10の下流側ポート12が接続される。又、下流側ポート22にはI/Oデバイス50のポート51が接続される。なお、この下流側ポート22には、図示しない他のスイッチ20の上流側ポート21等が接続されてもよい。以下、スイッチ20の上流側ポート21を符号B2で、又、下流側ポート22を符号A2で示す場合がある。又、以下、上流側ポート及び下流側ポートを単にポートという場合もある。
また、図1においては、説明を簡単にするために、スイッチ20に2つのポート21,22が備えられている例を示しているが、これに限定されるものではなく、3以上のポートを備えてもよい。
ステータスレジスタ24には、その下流側ポート22に接続されるI/Oデバイス50の状態を示すステータス情報が格納される。ステータス情報は、例えば、I/Oデバイス50によって書き込まれる。なお、このステータス情報は既知であり、その詳細な説明は省略する。
制御レジスタ25には、その下流側ポート22に接続されるI/Oデバイス50を制御するための制御情報が格納される。例えば、ルートコンプレックス40から送信される電源制御指示が、この制御情報として格納される。後述するホットプラグコントローラ60は、この電源制御指示に従ってI/Oデバイス50の電源のオン/オフを行なう。なお、制御情報は既知の情報であり、その詳細な説明は省略する。
また、これらのステータスレジスタ24や制御レジスタ25に格納されているステータス情報や制御情報は、適宜読み出されて、そのコピーが後述するボード100に送信され、ボード100のスイッチ10の第1レジスタ13や第2レジスタ14に格納される。
メモリ26はデータを格納する記憶装置であり、スイッチ20がその機能を実現するための各種データが格納される。又、メモリ26にはルーティング情報162が格納される。ルーティング情報162は、I/Oバスシステム1においてデータ転送を実現するための情報であり、その詳細は後述する。又、スイッチ20において、コントローラ27等がCPU等のプロセッサを備える場合には、メモリ26にはこのCPUが実行して各種機能を実現するためのプログラムを格納してもよい。
コントローラ27は、スイッチ20の機能を実現する制御装置である。このコントローラ27は、例えば、上流側ポート21や下流側ポート22が受信したパケットを、その送信先に転送するための処理を行なう。コントローラ27は、後述の如く、メモリ26に格納されたルーティング情報162を参照して、転送するパケットのヘッダの書き換えを行
ない、このパケットを宛先のポートに送信する。このコントローラ27による処理は、スイッチ10のコントローラ15による処理の説明と併せて後述する。
ホットプラグコントローラ60は、OS等から送信された電源制御指示に従って、I/Oデバイス50の電源のオン/オフを行なう。ホットプラグコントローラ60は、例えば、I/Oデバイス50が接続されたスイッチ20のポート22のスロットへの電力供給をオン/オフすることにより、I/Oデバイス50の電源のオン/オフを行なう。
また、ホットプラグコントローラ60は、マネージメント装置300に対して、I/Oデバイス50(スロット)の電源状況、すなわちオン/オフの状況を通知する。
電源制御回路70は、ボード200に対する電力供給を制御する。すなわち、ボード200の電源のオン/オフを行なう。例えば、電源制御回路70は、後述するマネージメント装置300からの指示に従って、ボード200の電源のオン/オフを制御する。
ボード100は、図1に示すように、CPU30,ルートコンプレックス40及びスイッチ10を備えるメインボードである。
CPU30は、制御や演算を行なう処理装置であり、図示しないメモリに格納されたOSやプログラムを実行することにより、種々の機能を実現する。例えば、OSは、当該情報処理装置500に接続されている各種I/Oデバイス50を管理するデバイス管理機能を有する。このデバイス管理機能は、情報処理装置500内を定期的にサーチ(デバイスサーチ)を行なうことで、I/Oバスシステム1に新しいI/Oデバイス50が追加されていないか等を確認する。
また、CPU30は、I/Oバスシステム1に接続されたI/Oデバイス50に対してデータ(パケット)の送受信を行なって、これらのI/Oデバイス50の制御を行ない、又、その機能を用いる。又、CPU30(OS)は、I/Oデバイス50に対して電源制御指示を送信することにより、そのI/Oデバイス50の電源のオン/オフを制御する。
ルートコンプレックス40は、CPU30や図示しないメモリと接続して、I/Oバスシステム1におけるPCIeのツリートポロジーのルート(根)となる機能を果たす。
スイッチ10は、PCIeバスに対しファンアウト機能を提供する。すなわち、スイッチ10には、ルートコンプレックス40とスイッチ20とが接続される。
スイッチ10は、コントローラ15,メモリ16,上流側ポート11,第1レジスタ13,第2レジスタ14及び下流側ポート12を備える。
上流側ポート11には、下流側ポート12及びルートコンプレックス40のポート41が接続され、又、下流側ポート12にはボード200の上流側ポート21が接続される。なお、以下、上流側ポート11を符号A1で、又、下流側ポート12を符号B1で示す場合がある。
また、図1においては、説明を簡単にするために、スイッチ10に2つのポート11,12が備えられている例を示しているが、これに限定されるものではなく、3以上のポートを備えてもよい。
第1レジスタ13及び第2レジスタ14は、I/Oデバイス50を切り離した際に読み出すデータを格納する記憶装置である。
第1レジスタ13には、I/Oデバイス50が接続されている下流側ポートに対応するステータスレジスタ24のコピーであるステータスレジスタコピー(レジスタ情報)131が格納される。
第2レジスタ14には、I/Oデバイス50が接続されている下流側ポートに対応する制御レジスタ25のコピーである制御レジスタコピー(レジスタ情報)141が格納される。
また、スイッチ10においては、OS等からI/Oバスシステム1上のI/Oデバイス50に対して制御レジスタ25の変更を伴うパケットが送信される場合に、そのパケットに含まれる制御レジスタ値が第2レジスタ14に制御レジスタコピーとして格納される。具体的には、後述の如く、コントローラ15が、受信したPCIeパケットを仮想化領域VAを通過させるためにパケットの変換を行なう際に、そのパケットに含まれる制御レジスタ値のコピーを第2レジスタ14に格納する。
例えば、I/Oデバイス50を本情報処理装置500(ボードA)に電力を供給した状態で取り外すホットリムーブ(Hot remove)を行なう場合に、OSからスイッチ20のポートA2に対してスロットの電源オフを指示するパケットが発行される。そのパケットは、スイッチ10のポートA1において、スイッチ20のポートB2宛てのパケットに変換される。その際にポートA1の第2レジスタ14にパケットのコピーが取られる。
ここで、制御レジスタコピーには、PCIe仕様書に規定されているSlot Capabilities Register、Slot Control Register及びSlot Status Registerを最低限備える。これらのレジスタは、メモリ16にルーティング情報162を設定する際に、マネージメント装置300からの指示に従って、制御レジスタ25からコピーされる。
また、I/Oデバイスが接続されている下流側ポートが複数ある場合には、これらの複数の下流側ポートの各ステータスレジスタ24及び制御レジスタ25の値のコピーが、それぞれ、その下流側ポートを識別するための情報に対応付けられた状態で第1レジスタ13及び第2レジスタ14に格納される。
メモリ16はデータを格納する記憶装置であり、スイッチ10がその機能を実現するためのデータが格納される。又、メモリ16には仮想バス情報161及びルーティング情報162が格納される。又、スイッチ10において、コントローラ15等がCPU等のプロセッサを備える場合には、メモリ16にはこのCPUが実行して各種機能を実現するためのプログラムを格納してもよい。
仮想バス情報161は、OSに対して提示される仮想イメージバス(図2参照)1vの構成を示す。この仮想イメージス1vは、スイッチ10の上流側ポートA1を頂点とするツリー構造を有する。以下、この仮想バス情報161によって示される仮想イメージスを仮想バスツリー1vという場合がある。
図2は実施形態の一例としての情報処理装置500における仮想バスツリーを例示する図である。この図2に示すように、OSからは、上流側ポートA1に下流側ポートA2等が接続されているように見える。又、図2に示す仮想バスツリーにおいては、複数の下流側ポートに対応させて、ステータスレジスタコピー及び制御レジスタコピーが示されている。
すなわち、仮想バス情報161はステータスレジスタコピー及び制御レジスタコピーとともにOSに通知される。又、これらのステータスレジスタコピー及び制御レジスタコピーは、I/Oデバイス50が接続される下流側ポート22に関連付けられて通知される。
また、仮想バス情報161は、後述するマネージメント装置300によって作成される。
ルーティング情報162は、I/Oバスシステム1においてデータ転送を行なうための情報であり、CPU30(OS)がアクセスしたいI/Oデバイス50にパケットが到達するようにルーティングするための情報である。例えば、宛先に対して、宛先情報と送信先ポート番号とを関連付ける。
ルーティング情報162は、宛先となるポート毎に作成され、スイッチ10,20における、仮想化領域VA内の各ポートの箇所に登録される。図1に示す例においては、ポートB1及びポートB2に対して、それぞれルーティング情報162が備えられる。
例えば、ポートA1において、ポートA2又はポートA3にアクセスするパケットは、ポートB2宛てにするという情報と、ポートB2宛てにパケットを送信するにはポートB1に送信するという情報が必要になる。ルーティング情報162は、このような仮想化領域VA内にパケットを転送させるための情報として機能する。仮想化領域VA内の各ポートに対してルーティング情報162を用意することにより、上述した仮想バスツリーを構築することができる。つまり、ルーティング情報162は、仮想化領域VA内でのパケットの転送を実現するために用いられる。
具体的には、仮想化領域VA内のスイッチ10,20の各ポート12,21に、仮想化された領域内でしか通用しないIDを一意に設定し(図1に示す例ではB1,B2)、I/Oデバイス50にアクセスするには、このIDのポートにパケットを渡すという情報をルーティング情報162として登録する。
また、途中経路となる仮想化領域VAにあるスイッチには、このIDにパケットを到達させるには自スイッチ内のどのポートにパケットを送信すればよいかという情報をルーティング情報162として登録する。
PCIeでは、IDによるルーティングとアドレスによるルーティングが可である。この仕様に従って、IDによるルーティングが行なえるよう設定を行なう。
図3は実施形態の一例としての情報処理装置500におけるルーティング情報162の構成例を示す図である。この図3に示す例においては、自分宛IDに対して、自分宛てアドレス範囲,変更する宛先情報(IDとアドレス)及び送信先ポート番号が関連付けられている。又、配下宛てID範囲に対して、配下宛てアドレス範囲,変更する宛先情報(IDとアドレス)及び送信ポート番号が関連付けられている。
ここで、変更する宛先情報とは、データ(パケット)の宛先を示す情報であり、パケットのヘッダに付するアドレスとして用いられる。送信先ポート番号とは、パケットを送出する先のポートを示し、変更する宛先情報がアドレスとして付加されたパケットが、この送信先ポート番号で表されるポートに送信される。なお、送信先ポート番号としては、パケットを送出する先のポートを一意に特定できればよく、番号以外の情報を用いてもよい。
なお、ポートA2又はポートA3宛てのパケットかどうかの判断方法は、PCIeの仕様で決まっている。又、PCIeの仕様では、パケットのタイプに応じて、IDとアドレスとのどちらで判断するかが決まっている。また、自分宛てアドレス範囲はPCIeの仕様で判定する機能が別にある場合は省略してもよい。
また、この図3に示すルーティング情報162はテーブル状に構成されているが(ルーティングテーブル)、これに限定されるものではなく、テーブル以外の構成であってもよい。
図4はI/Oバスシステム1の構成例を示す図、図5は図4に示すI/Oバスシステム1の仮想イメージバス1vを例示する図である。なお、図4及び図5中においては、CPU30やボード100,200等の一部の図示を省略している。
図4に示すI/Oバスシステム1においては、スイッチ10が2つの下流側ポート12−1,12−2を備える。以下、下流側ポート12−1を一意に表す識別情報(ID)をB1、下流側ポート12−2のIDをB3とする。なお、このスイッチ10をスイッチ#0と表す場合がある。
また、下流側ポート12−1にはスイッチ20−1の上流側ポート21−1が接続されており、下流側ポート12−2にはスイッチ20−2の上流側ポート21−2が接続されている。以下、上流側ポート21−1のIDをB2、上流側ポート21−2のIDをB4とする。
スイッチ20−1は上流側ポート21−1と下流側ポート22−1とを備え、下流側ポート22−1にI/Oデバイス50−1のポート51−1が接続されている。以下、下流側ポート22−1のIDをA2、ポート51−1のIDをA3とする。なお、このスイッチ20−1をスイッチ#1と表す場合がある。
スイッチ20−2は上流側ポート21−2と下流側ポート22−2とを備え、下流側ポート22−2にI/Oデバイス50−2のポート51−2が接続されている。以下、下流側ポート22−2のIDをA4、ポート51−2のIDをA5とする。なお、このスイッチ20−2をスイッチ#2と表す場合がある。
また、以下、スイッチ10の下流側に配置されるスイッチを示す符号としては、複数のスイッチのうち1つを特定する必要があるときには符号20−1,20−2もしくは、#1,#2を用いるが、任意のスイッチを指すときには符号20を用いる。
そして、この図4に示すI/Oバスシステム1においては、スイッチ10の下流側ポート12−1,12−2、スイッチ20−1の上流側ポート21−1及びスイッチ20−2の上流側ポート21−2を含む範囲を仮想化領域VAとしている。
このようなI/Oバスシステム1は、OSからは、図5に示す仮想イメージバス1vとして認識される。すなわち、上流側ポート11に下流側ポート22−1,22−2が接続されているように見える。そして、下流側ポート22−1にI/Oデバイス50−1のポート51−1が接続され、下流側ポート22−2にI/Oデバイス50−2のポート51−2が接続されている。
図4に示すようなI/Oバスシステム1においては、図6(a),(b),(c)に示すようなルーティング情報162が作成される。このルーティング情報162は、後述するマネージメント装置300によって作成され、スイッチ10,20に通知され、各メモリ16,26に格納される。
図6(a),(b),(c)は、図4に示すI/Oバスシステム1についてのルーティング情報162を例示する図である。図6(a)はスイッチ#0用のルーティング情報162を、図6(b)はスイッチ#1用のルーティング情報162を、又、図6(c)はスイッチ#2用のルーティング情報162を、それぞれ示す。
これらの図6(a),(b),(c)に示すように、仮想化領域VAの境界を成すスイッチ#0〜#2のそれぞれにルーティング情報162が登録される。
なお、このルーティング情報162の作成方法については、図7を用いて後述する。
コントローラ15は、スイッチ10の機能を実現する制御装置である。このコントローラ15は、例えば、上流側ポート11や下流側ポート12が受信したパケットを、その送信先に転送するための処理を行なう。
コントローラ15,27は、メモリ16,26に格納されたルーティング情報162を参照して、転送するパケットのヘッダの書き換えを行ない、このパケットを宛先のポートに送信する。これらのコントローラ15,27は同様の手法でパケットの転送を行なう。以下、コントローラ15を例に、その手法を説明する。
図7は実施形態の一例としての情報処理装置500におけるパケットのヘッダ書き換え手法を説明するための図である。
スイッチ10において、コントローラ15は、図7に示すように、ポートA1において、受信したPCIeパケットをそのままデータとして使用して、このPCIeパケットに仮想化領域VAを通過するためのヘッダを追加する。
例えば、図4に例示するI/Oバスシステム1において、ポートA1が受信したPCIeパケットの宛て先がポートA3である場合に、コントローラ15は、その宛て先“A3”に基づきルーティング情報162を参照し、変更する宛て先情報“B2”と、送信先ポート“B1”とを取得する。
コントローラ15は、受信したPCIeパケットをデータ部として、このデータ部に、ID“B2”のポートを宛て先とする追加ヘッダを付加することでパケットの変換を行なう。これにより、受信したPCIeパケットは、変換後のパケットにおいてはデータ部として扱われる。コントローラ15は変換後のパケットをIDが“B1”のポート12−1に受け渡す。これにより、変換されたパケットは、ポート12−1からポート21−1に送信される。
スイッチ#1においては、コントローラ27が、受信したパケットから追加ヘッダを除去する逆変換を行なってPCIeパケットに戻し、このPCIeパケットを、最終送信先であるI/Oデバイス#1のポートA3に送信する。なお、スイッチ#1において、更に他のスイッチが当該スイッチ#1の下流側に接続されている場合には、コントローラ27は、上述したコントローラ15と同様に、メモリ26のルーティング情報162を参照して、受信したパケットに追加ヘッダを付加することでパケット変換を行ない、宛て先に対応する送信先ポートに送信する。
また、スイッチ20のコントローラ27は、OSの動作中においては、I/Oデバイス50からのパケットを、仮想化領域VAを通ってルートコンプレックス40に届くように経路を指示する。
例えば、図4に示すI/Oバスシステム1において、I/Oデバイス#1が図示しないメインメモリにアクセスする場合には、スイッチ#1のコントローラ27は、ポートA2において、図6(b)に示すルーティング情報162を参照して、メモリアクセスパケットに追加ヘッダを付加することでルートコンプレックス40宛てのパケットに変換する。
これにより、I/Oデバイス#1からのメモリアクセスパケットは、変換後のパケットにおいてはデータ部として扱われる。スイッチ#1のコントローラ27は変換後のパケットをIDが“B2”のポート21−1に受け渡す。これにより、変換されたパケットは、ポート21−1からポート12−1に送信される。
スイッチ#0においては、コントローラ15が、受信したパケットから追加ヘッダを除去する逆変換を行なってメモリアクセスパケットに戻し、このメモリパケットを、ルートコンプレックス40に送信する。ルートコンプレックス40からは、CPU30の動作に従ってメインメモリにアクセスされる。
このように、仮想化領域VAの境界を成すスイッチ10,20のコントローラ15,27は、転送するパケットの送信先ポートIDの変換を行なうことで、ルートコンプレックス40とI/Oデバイス50との間で送受信されるパケットが仮想化領域VAを通過して送達されるようにする。
また、コントローラ15,27は、本情報処理装置500において新たにI/Oデバイス50が追加もしくは取外された等、I/Oバスシステム1の構成変更が生じると、マネージメント装置300から、この変更後の構成に合わせたルーティング情報162を取得する。コントローラ15,27は、メモリ16,26のルーティング情報162を取得したルーティング情報162で更新する。
コントローラ15は、仮想バス情報161を、本情報処理装置500の起動プロセス等においてOSに通知することで、I/Oバスシステム1を、仮想バス情報161が示すI/Oバスシステム1vとして認識させる。
また、コントローラ15は、OSの動作中においては、I/Oデバイス50にアクセスするパケットを、仮想化領域VAを通ってI/Oデバイス50に届くように経路を指示す
る。
前述のように、仮想化領域VAにある機器はOSから直接は見えないので、この仮想化領域VAにおいては、機器のホットプラグ操作(活性挿抜)を行なってもOSに影響を与えることがない。
以下、ボード200において、スロットにI/Oデバイス50が接続されていない状態を“未インストール”といい、スロットにI/Oデバイス50が接続されている状態を“インストール済”という。
仮想化領域VAにおいてI/Oデバイス50がホットリムーブされた場合には、マネージメント装置300が、第2レジスタ14において、当該I/Oデバイス50に対応する制御レジスタコピーに“未インストール”を示す情報を記録する。すなわち、第2レジスタ14は、I/Oデバイス50が未搭載であることを示す未搭載情報を格納する。
コントローラ15は、OSから送信するパケットを受信すると、ポートA1において、そのパケットの宛て先を確認する。そして、宛て先のI/Oデバイス50等が未インストールである場合、すなわち、I/Oデバイス50が搭載されていないスロット等へのアクセスが行なわれた場合には、コントローラ15は、第2レジスタ14に格納された制御レジスタコピーを用いてOSに応答する。
スイッチ10において、ポートA1の第1レジスタ13及び第2レジスタ14には、仮想イメージバス1vの下流側ポートの設定レジスタ群を全部又は一部のコピーを持つ。最低限、スロットのステータスレジスタ24と制御レジスタ25とのコピーが格納される。なお、用意するレジスタ群は、実装依存で多くも少なくもすることができる。
なお、第2レジスタ14の容量が少ない場合は、コントローラ15は、I/Oデバイス50のインストール情報(例えば、未インストール/インストール済)等の、OSがパニックを起こさない必要最低限の情報だけをOSに返すようにしてもよい。一般に、未インストールの時にアクセスしたい制御レジスタは、I/Oデバイス50の電源操作とインストール情報程度であるので、コントローラ15は、他のレジスタ空間へのアクセスが行われた場合にはPCIe仕様で規定されている存在しない空間へのアクセス応答として返信する。これにより、OSパニックが生じることはない。
また、I/Oデバイス50の電源がオンになった後は、OSからI/Oデバイス50への要求は、I/Oデバイス50に直接読み書きする動作になる。
一方、I/Oデバイス50から送信され、ポートB1に到達したパケットは、コントローラ15により元々のPCIeのパケットに戻され、その後、ポートA1に送信されて、最終目的地であるルートコンプレックス40に到達する。
なお、仮想イメージバス1vを認識するのは、スイッチ10のポートA1だけであり、例えば、下流側のスイッチ20のポートA2は自分の上流側ポートとしてポートA1を認識するにとどまる。これは、ピアトゥピア(Peer-To-Peer)パケットは、上流側ポートで処理を行なう場合に、基本的に下流側ポートからは上流側ポート行きのパケットしか存在しないからである。
マネージメント装置300は、図示しないプロセッサを備え、本情報処理装置500におけるI/Oバスシステム1を管理するための各種制御を行なう。
例えば、スイッチ20のポートにおいて、I/Oデバイス50が取り外されたり、又、新たにI/Oデバイス50が接続されると、当該ボード200上のホットプラグコントローラ60からマネージメント装置300に対して通知が行なわれる。すなわち、マネージメント装置300は、ホットプラグコントローラ60を介して、スイッチ20のポート(スロット)におけるI/Oデバイス50の接続や取り外しを認識する。
マネージメント装置300は、このようなI/Oデバイス50の構成変更を認識すると、各スイッチ10,20に対して通知を行なう。
また、マネージメント装置(仮想バス情報作成部)300は、仮想バス情報161を作成する。マネージメント装置300は、例えば、本情報処理装置500の電源投入後の起動プロセスにおいて、当該マネージメント装置300の図示しないメモリ等からI/Oバスシステム1の構成情報(ツリー構造)や仮想化領域VAを示す情報を取得する。
I/Oバスシステム1の構成や仮想化領域VAは、予め、マネージメント装置300に登録しておくことが望ましい。ただし、ユーザがキーボードやマウス等の図示しない入力装置を介して、これらのI/Oバスシステム1の構成や仮想化領域VAを入力してもよい。入力されたこれらの情報は、図示しないメモリに格納される。
マネージメント装置300は、取得したI/Oバスシステム1の構成から、ユーザ等によって予め登録された仮想化領域VAを除去し、残されたI/Oバスシステム1を仮想的に直結することで仮想イメージバス1vを作成する。マネージメント装置300は、この仮想イメージバス1vをOSが認識できる情報で表すことで仮想バス情報161を作成する。
マネージメント装置300は、作成した仮想バス情報161をスイッチ10に通知し、そのメモリ16に格納させる。
また、マネージメント装置(ルーティング情報作成部)300は、ルーティング情報162を作成する。マネージメント装置300は、I/Oバスシステム1のツリー構造を末端に位置する各I/Oデバイス50から、それぞれ上流のルートコンプレックス40まで順に遡ることにより、経路を記憶する。すなわち、経路上に存在する全てのポートの位置及び順序を記憶する。
そして、マネージメント装置300は、その経路上の各ポートについて、その1つ下流側に位置するポートを送信先ポートとするとともに、更に、その送信先ポートの1つ下流側に位置するポートを変更する宛先情報として、ルーティング情報162に登録する。
図8は実施形態の一例としての情報処理装置500におけるルーティング情報162の作成方法を説明するフローチャート(ステップS01〜S07)である。
ステップS01において、マネージメント装置300は、仮想化領域VAを含めた、I/Oバスシステム1の全てのツリー構造を把握する。
ステップS02においては、マネージメント装置300は、仮想化領域VA内の全ポートに対して付番を行なう。すなわち、仮想化領域VA内の全ポート(1〜n)に対して、重複しないように、仮想化領域VA内でツリーの一番上にいる(上流側の)ポートから順に番号を振る。
例えば、図4に例示したI/Oバスシステム1において、符号A1,B1,B3,B2,B4,A2,A4,A3,A5で示されている各ポートに識別番号(1〜n:n=9)を設定する。以下、便宜上、各ポートの符号A1,B1,B3,B2,B4,A2,A4,A3,A5を識別番号として用いる。
ステップS03において、マネージメント装置300は、I/Oバスシステム1上の全てのI/Oデバイス50(1〜m)に対して、経路の探索を開始する。ただし、mはI/Oデバイス50の識別番号であり、図4に示す例ではm=2である。
すなわち、ステップS04において、マネージメント装置300は、上位ポートに対して、I/Oデバイス(m)に行く経路として下位ポートの番号を記憶し、ステップS05において、仮想化領域VA内でツリーの一番上にいるポートに到達するまで、同様の処理を繰り返し行なう。
そして、ステップS06において、ツリーの一番上に接続するポートにI/Oデバイス50(m)に行く経路として、仮想化領域VA内でツリーの一番上にいるポートを記憶する。
図4に示す例において、I/Oデバイス#1を選択する例を示す。I/Oデバイス#1の上位ポートとしては、スイッチ#1のポートA2に行く必要があることがわかる。また、このポートA2に行くには、その上位(上流側)のポートB2に行く必要がある。更に、ポートB2に行くには、その上位のポートB1に行く必要があり、ポートB1に行くにはポートA1に行く必要がある。マネージメント装置300は、このように判明した経路を図示しないメモリ等に記憶しておく。
ステップS07において、マネージメント装置300は、各ポート毎に記憶した経路情報を、ルーティング情報162として、各スイッチの各ポートに対応するメモリ16,26に書き込む。
すなわち、ステップS03〜S06における経路探索に基づき、ポートB2に対して、ポートA2とポートA3宛てのパケットはポートA2に送信するというルーティング情報162を作成し、スイッチ#1のメモリ26に格納する。同様に、ポートB1に対して、ポートB2とポートA2とポートA3宛てのパケットはポートB2に送信するというルーティング情報162を作成し、スイッチ#0のメモリ16に格納する。
また、ポートA1は、I/Oバスシステム1において、仮想化領域VAに接続する最上位のポートであるので、このポートA1にもルーティング情報162が格納される。すなわち、ポートA2とポートA3宛てのパケットは、仮想化領域VA上の宛て先がポートB2であり、ポートB1宛に送信することを示すルーティング情報162が作成され、スイッチ#0のメモリ16に格納される。
また、マネージメント装置300は、本情報処理装置500の動作中にI/Oバスシステム1の構成変更があった場合に、ルーティング情報162の再設定を行なう。
ルーティング情報162の再設定は、I/Oバスシステム1の物理的なツリー構成が変更になった場合に実施される。例えば、図4に示す例において、I/Oデバイス#2を取り外して、別のI/Oデバイス50を同じ場所に取り付ける場合が該当する。
物理的なツリー構造が変更になる場合は、変更になった箇所に対して図8のフローチャートに示した処理を実施し、今までのルーティング情報162に新たに作成したルーティング情報162を追加する方法でルーティング情報162を更新する。例えば、図1に示す物理的なI/Oバスシステム1のツリー構成に対して、図20に示すようにスイッチ#2を追加することによりツリー構成を変更する場合を考える。図1に示す構成から図20に示す構成に変更した場合に、OSから見えるI/Oデバイス50の位置は同じであるが、ルーティング情報162には、新たにスイッチ#2のポートB3,B4の情報が追加されることになる。
マネージメント装置300は、この変更したルーティング情報162を各スイッチ10,20に通知する。
また、マネージメント装置300は、I/Oデバイス50の構成等に変更が生じた場合に、スイッチ#0の第2レジスタ14の更新を行なう。例えば、I/Oデバイス50がホットリムーブされた場合に、当該I/Oデバイス50について、第2レジスタ14の制御レジスタコピーに“未インストール”を示す情報を記録する。
また、マネージメント装置300は、ボード200の電源制御を行なう。例えば、マネージメント装置300は、ボード200の電源制御回路70に対してボードの電源制御指示を送信する。電源制御回路70は、この電源制御指示に従ってボード200の電源のオン/オフを行なう。
ここで、図9及び図10を参照しながら、実施形態の一例としての情報処理装置500におけるI/Oデバイス50の交換時の処理を説明する。図9はI/Oバスシステム1における情報の流れを示す図、図10はその仮想イメージバス1vを示す図である。
本情報処理装置500を通電した状態でI/Oデバイス50を交換する場合には、先ず、ルートコンプレックス40からスイッチ#1の下流側ポートA2の制御レジスタ25に、活性抜挿(Hot add/remove)するための情報(電源制御指示)が書き込まれる(図9の矢印P1参照)。この動作中に、コントローラ15がポートA1を通過するパケットを監視して、追加もしくは削除するI/Oデバイス50の情報を第1レジスタ13及び第2レジスタ14に保持する(図9の矢印P2参照)。
ホットプラグコントローラ60が、制御レジスタ25の値に基づき、I/Oデバイス50の電源をオフする(図9の矢印P3参照)。又、ホットプラグコントローラ60は、I/Oデバイス50の電源がオフされたこと、すなわち、I/Oデバイス50が取り除かれたことをマネージメント装置300に通知する(図9の矢印P4参照)。
I/Oデバイス50がスイッチ#1から取り除かれると、マネージメント装置300からI/Oデバイス50が取り除かれたことを示す情報をスイッチ#0の第2レジスタ14に設定することにより(図9の矢印P5参照)、コントローラ15に通知する。
また、スイッチ#1にI/Oデバイス50が取り付けられる際には、スイッチ#1のステータスレジスタ24が更新され(図9の矢印P6参照)、I/Oデバイス50が搭載されたことが、スイッチ#0のコントローラ15に通知される(図9の矢印P7参照)。スイッチ#0においては、第1レジスタ13のステータスレジスタコピー131が更新される(図9の矢印P8参照)。
そして、OSから新たに搭載されたI/Oデバイス50に対して電源投入指示(電源制御指示)が送信され、スイッチ#1の制御レジスタ25に書き込まれる(図9の矢印P9参照)。これにより、ホットプラグコントローラ60経由でスロットの電源がオンされ、OSがI/Oデバイス50を初期化した後、I/Oデバイス50が使用可能となる。
上述の如く構成された実施形態の一例としての情報処理装置500におけるI/Oバスシステム1の管理手法の概要を、図11に示すI/Oバスシステムの構成例を参照しながら、図12に示すフローチャート(ステップS11〜S20)に従って説明する。
なお、図11に示すI/Oバスシステム1は、CPU30,ルートコンプレックス40,スイッチ10,20−1〜20−3及びホットプラグコントローラ60を備える。
ルートコンプレックス40に接続されたスイッチ10(スイッチ#0)には、上流側ポートA1及び下流側ポートB1,B6,B7が備えられている。下流側ポートB1にはスイッチ20−1(スイッチ#1)の上流側ポートB2が、又、下流側ポートB6にはスイッチ20−2(スイッチ#3)の上流側ポートB8が、それぞれ接続されている。
スイッチ20−1には、下流側ポートB3〜B5が備えられており、ポートB3にはI/Oデバイス50−1(I/Oデバイス#0)が、ポートB4にはI/Oデバイス50−2(I/Oデバイス#1)が、又、ポートB5にはI/Oデバイス50−3(I/Oデバイス#2)が、それぞれ接続されている。
スイッチ20−2には、下流側ポートB9〜B11が備えられており、ポートB9にはスイッチ20−3(スイッチ#2)の上流側ポートB12が接続されている。又、ポートB10にはI/Oデバイス50−7(I/Oデバイス#6)が、又、ポートB11にはI/Oデバイス50−8(I/Oデバイス#7)が、それぞれ接続されている。
スイッチ20−3には、下流側ポートB13〜B15が備えられており、ポートB13にはI/Oデバイス50−4(I/Oデバイス#3)が、ポートB14にはI/Oデバイス50−5(I/Oデバイス#4)が、又、ポートB15にはI/Oデバイス50−6(I/Oデバイス#5)が、それぞれ接続されている。
なお、これらのスイッチ10,20−1,20−2,20−3はそれぞれ別のボードに備えられているものとする。
また、このI/Oバスシステム1においては、スイッチ#0のポートB1,B6,B7,スイッチ#1のポートB2,スイッチ#3のポートB8,B9及びスイッチ#2のポートB12が仮想化領域VAに含まれるものとする。
この図11に示すI/Oバスシステム1においては、先ず、ステップS11において、仮想化領域VAを設定する。すなわち、ステップS12において、OSが認識する構成を決定する。具体的には、マネージメント装置300が、I/Oバスシステム1から仮想化領域VAを除外した仮想イメージバス1vを決定する。又、マネージメント装置300は、この仮想イメージバス1vに対応する仮想バス情報161を作成する。
ステップS13において、マネージメント装置300は、作成した仮想バス情報161をスイッチ#0のメモリ16に格納する。これにより、I/Oデバイス50にアクセスするために通過する経路をスイッチ#0に登録して仮想化する。
図11に示す例において、ルートコンプレックス40から、例えばI/Oデバイス50−1にアクセスする経路として、ポートA1,B1,B2,B3,A2がこの順で登録される。又、例えば、I/Oデバイス50−6にアクセスする経路として、ポートA1,B6,B8,B9,B12,B15,A7が、この順で登録される。
次に、ステップS14において、マネージメント装置300は、OSに認識させない経路、すなわち仮想化領域VAにおいてパケットを送信するためのルーティング情報162を各スイッチ10,20に登録する。
例えば、図11に示す例において、ポートB12に対して、ポートA5とポートB13宛てのパケットはポートB13に送信するというルーティング情報162を作成し、スイッチ#2の図示しないメモリに格納する。同様に、ポートB9に対して、ポートB12とポートB13とポートA5宛てのパケットはポートB12に送信するというルーティング情報162を作成し、スイッチ#3の図示しないメモリに格納する。
OSは、通知された仮想バス情報161により、スイッチ#0の直下にI/Oデバイス50が存在するバスツリー構成の仮想イメージバス1vとしてI/Oバスシステム1を認識する(ステップS15)。
以上の処理により、本情報処理装置500においては、I/Oバスシステム1の仮想化処理が完了する。その後、運用フェーズに移行する。
ステップS16の運用フェーズにおいては、OSがスイッチ#0の配下に存在していると認識しているI/Oデバイス50にアクセスした場合に、各スイッチ10,20は、ルーティング情報162を参照してパケットの宛て先を仮想化領域VAを通って届くように経路を指示して転送する(ステップS17)。
また、各スイッチ10,20が、I/Oデバイス50からのアクセスについては、パケットを、ルートコンプレックス40へ到達させる経路を指示して転送する(ステップS18)。追加/交換したいI/Oデバイス50が存在する場合には、ホットプラグを実施する(ステップS19)。
スイッチ10,20は、OSがスイッチ#0の配下に存在していると認識しているI/Oデバイス50のレジスタ情報の少なくとも一部を有し、ホットプラグ等でI/Oデバイス50が存在しない場合には、このI/Oデバイス50に代わって応答する(ステップS20)。
図13は実施形態の一例としての情報処理装置500における装置起動時の処理を示すシーケンス図である。なお、この図13に示す例においては、I/Oデバイス50はその位置にPCIeスロットが備えられており、このスロットにPCIeカードを挿入して用いる形態であるものとする。
OS,ルートコンプレックス40,各スイッチ10,20及びI/Oデバイス50は、マネージメント装置300の制御に従ってそれぞれ処理を行なう。
すなわち、本情報処理装置500に電源投入がされると、マネージメント装置300が装置構成を決め、仮想バス情報161の作成を行なう。その後、マネージメント装置300は、常時電源オンの電源制御指示を各ボード100,200の電源制御回路70に行ないルートコンプレックス40に電源投入が行なわれる(矢印P01参照)。又、これに伴い、スイッチ10,20及びI/Oデバイス50にも電源投入が行なわれ、ルートコンプレックス40,各スイッチ10,20及びI/Oデバイス50が常時電源投入状態となる。
また、マネージメント装置300は、ルーティング情報162の作成・設定を行ない、作成したルーティング情報162を各スイッチ10,20に送信して(矢印P02参照)、各スイッチ10,20のメモリ16,26に設定する。
その後、マネージメント装置300は、I/Oデバイス50が接続されている各ポートのレジスタ情報をスイッチ10の第1レジスタ13,第2レジスタ14にコピーさせる(矢印P03参照)。すなわち、各I/Oデバイス50に対して、ステータスレジスタ24及び制御レジスタ25のコピーをスイッチ10に送信させる。
そして、マネージメント装置300は、CPU30にOSを起動させる(矢印P04参照)。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)におけるI/Oデバイス50の取り外し時の処理を、図11を参照しながら、図14に示すフローチャート(ステップS21〜S29)に従って説明する。
情報処理装置500の通電状態において、例えば、図11に示すI/Oデバイス50−1の取り外しを行なう場合には、ステップS21において、I/Oデバイス50−1の電源をオフにする。すなわち、OSから電源オフの対象のI/Oデバイス50−1が指示され(ステップS22)、当該I/Oデバイス50−1が接続されているスイッチ20−1のポートB3のスロットの電源オフを指示するパケットが発行される(ステップS23)。なお、例えば、図1に示す構成において、I/Oデバイス50−1の電源制御レジスタは、このI/Oデバイス50が接続されたスイッチ#1のポート22にある。
電源オフを指示するパケットは、スイッチ#0のポートA1において、コントローラ15がルーティング情報162を参照して、仮想化領域VA内を通過するパケットに変換する。
仮想イメージバス1vの管理元であるスイッチ#0のコントローラ15が、パケットのライトデータを第2レジスタ14の制御レジスタコピーに複写する(ステップS24)。なお、コピーの格納先は、パケットの送信先のI/Oデバイス50−1が接続されているポートB3の制御レジスタ25に関する制御レジスタコピー141である。ここでコピーした情報は、後述の如く、スイッチ#0とI/Oデバイス50−1が接続されたスイッチ#1との間の仮想化領域VAにある中間デバイスの電源がオフの間にOSがポーリング等でスロットにアクセスした際に返す応答データとして使用される。
仮想化領域VAを通過して、目的のI/Oデバイス50−1に電源オフを指示するパケットが到着する。すなわち、当該I/Oデバイス50−1が接続されているポートB3に電源オフを指示するパケットが到着し、その制御レジスタ25に書き込まれる。制御レジスタ25に電源オフの指示が書き込まれると、ホットプラグコントローラ60経由で、スロット(I/Oデバイス50−1)の電源がオフされる(ステップS25)。
その後、ステップS26において、I/Oデバイス50−1が取り除かれる。すなわち、オペレータ等によりI/Oデバイス50−1がスロットから取り外される(ステップS27)。当該スイッチ#1から、仮想バスツリー1vの管理元であるスイッチ#0のコントローラ15に対して、I/Oデバイス50−1が取り除かれたことが通知される(ステップS28)。
例えば、スイッチ#1のポートB3のスロットの電源がオフされると、そのステータスレジスタ24の電源状況がオンからオフに変更される。マネージメント装置300は、スイッチ#0の第2レジスタ14において、ポートB3に対応する制御レジスタコピー141に未インストールとして記録する。
なお、ここで、スイッチ#1のポートB3のスロットの電源がオフされると、スイッチ#1から新たな独自パケットを発行することで、スイッチ#0に対して通知を行ない、その第2レジスタ14の制御レジスタコピー141に未インストールとして記録させてもよい。この独自パケットは、例えば、ステータスレジスタ24の値が変化すると発行され、パケットはレジスタ値のライト命令として構成される。
取り除かれたI/Oデバイス50−1へのアクセスは、スイッチ#0において、コントローラ15が、第2レジスタ14に格納した制御レジスタコピー141等を用いて応答する(ステップS29)。
これにより、OS等において、I/Oデバイス50−1がホットリムーブされたことによるパニックが生じることがない。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)における中間デバイスの取り外し時の処理を、図15に示すフローチャート(ステップS31〜S38)に従って説明する。
ここで、中間デバイスとは、図11におけるスイッチ#3のように、I/Oバスシステム1において、末端のI/Oデバイス50が接続されるスイッチ20とルートコンプレックス40との間に位置するデバイスであって、仮想化領域VA内に位置するものである。
中間デバイスは、仮想化領域VA内にあるのでOSから直接認識されることがなく、ホットスワップを行なうことができる。
情報処理装置500の通電状態において、例えば、スイッチ#3を取り外す場合には、ステップS31において、I/Oデバイス50−7,50−8の電源をオフにする。すなわち、取り除く対象の中間デバイスであるスイッチ#3の配下(下流)にある全てのI/Oデバイス50−7,50−8の電源をオフにする(ステップS32)。
次に、ステップS33において、取り除く対象の中間デバイス(スイッチ#3)の電源をオフにする。具体的には、マネージメント装置300から電源制御回路70に対して、当該スイッチ#3が搭載されているボード200の電源オフの指示が行なわれ(ステップS34)。これにより、スイッチ#3の電源がオフにされる。
なお、例えば、図11に示す例において、スイッチ#0がOSに対して仮想イメージバス1vを認識させ、又、このスイッチ#0が、スイッチ#3及びI/Oデバイス#6,#7に代わってOSへの応答を行なう。これにより、中間デバイスであるスイッチ#3とこのスイッチ#3に接続されているI/Oデバイス#6,#7は、物理的に存在しなくなっても影響はなく、OSパニックも生じることはない。
マネージメント装置300は、ボード200の電源がオフになった後に、スイッチ#0のポートA1のステータスレジスタコピーの値を、“スロットにカードが存在しない”旨を表す値に変更する。これにより、例えば、ボード200の電源がオフの状態でスロットの電源をオンにする誤作動の発生を防止することができる。
ステップS35において、中間デバイス(スイッチ#3)を取り除く。すなわち、電源オフにしたデバイス(スイッチ#3,I/Oデバイス#6,#7)を全て取り除かれると(ステップS36)、マネージメント装置300は、I/Oデバイス#6,#7が取り除かれたことを、スイッチ#0のコントローラ15に通知する(ステップS37)。以下、スイッチ#0は、仮想イメージバス1v上でオフなデバイス、すなわち、存在しないことになっているデバイス宛のパケットに対して、第レジスタ1に格納したステータスレジスタコピー11等を用いて応答を行なう(ステップS38)。
これにより、OS等において、中間デバイスがホットリムーブされたことによるパニックが生じることがない。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)におけるI/Oデバイス50の追加時の処理を、図16に示すフローチャート(ステップS41〜S50)に従って説明する。以下、図1に示すI/Oバスシステム1において、スイッチ#1にI/Oデバイス50を追加する例について示す。
ステップS41において、I/Oデバイス50がスイッチ#1のスロットに取り付けられる。すなわち、オペレータ等が、PCIeカード等のI/Oデバイス50をスイッチ#1のスロットに取り付けると(ステップS42)、マネージメント装置300等を介して、I/Oデバイス50が搭載されたことがスイッチ#0に通知される(ステップS43)。スイッチ#0においては、搭載されたI/Oデバイス50へのアクセスがコントローラ15により許可される(ステップS44)。
次に、ステップS45において、I/Oデバイス50の電源がオンされる。すなわち、OSから電源をオンしたいI/Oデバイス50、すなわち、新たに搭載されたI/Oデバイス50が指示され(ステップS46)、この指示されたI/Oデバイス50に対して、OSが電源オンを指示するパケットが発行される(ステップS47)。
スイッチ#0のポートA1において、コントローラ15は、ルーティング情報162を参照して、仮想イメージバス1v上の宛て先を仮想アドレスに変換することで、仮想化領域VA内を電源投入指示パケットが送信される。
また、スイッチ0のポートA1において、パケットのライトデータを第2レジスタ(第5格納部)14の制御レジスタコピーに格納(複写)する(ステップS48)。このパケットのライトデータの格納先は、スイッチ#1のポートA2に対応する第2レジスタ14である。すなわち、第2レジスタ14には、CPU30(OS)からI/Oデバイス50に対する指示情報が格納される。
電源投入指示パケットは、仮想化領域VAを通過して、スイッチ#1のポートA2に到達する。この電源投入指示を示す情報が、スイッチ#1の制御レジスタ25に書き込まれる。制御レジスタ25に電源投入指示が書き込まれると、ホットプラグコントローラ60経由でスロットに電源投入が行なわれる(ステップS49)。
スイッチ#1のポートA2のステータスレジスタ24において、スロットの電源状況がオフからオンに更新される。これにより、マネージメント装置300が、スイッチ#0の第2レジスタ14の制御レジスタコピーに“インストール済み”を示す情報を記録する。
なお、ここで、スイッチ#1のポートA2のスロットの電源がオンされると、スイッチ#1から新たな独自パケットを発行することで、スイッチ#0に対して通知を行ない、その第2レジスタ14の制御レジスタコピー141にインストール済みとして記録させてもよい。この独自パケットは、例えば、ステータスレジスタ24の値が変化すると発行され、パケットはレジスタ値のライト命令として構成される。
OSが新たに追加されたI/Oデバイス50を初期化して、このI/Oデバイス50の使用が開始される(ステップS50)。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)における中間デバイスの追加時の処理を、図17に示すフローチャート(ステップS51〜S59)に従って説明する。例えば、図11に示すI/Oバスシステム1において、中間デバイスとしてスイッチ20−2(スイッチ#3)を取り付ける例について示す。
ステップS51において、中間デバイス(スイッチ#3)を本情報処理装置のボード(例えば、ボードB)に搭載する。すなわち、オペレータ等が、中間デバイスをボードBに取り付けると(ステップS52)、マネージメント装置300がこの中間デバイスが搭載されたボードBの電源をオンにする(ステップS53)。
ステップS54において、I/Oデバイス50(I/Oデバイス#6、#7)がスイッチ#3のスロットに取り付けられる。すなわち、オペレータ等が、I/Oデバイス50の搭載手順に従って、I/Oデバイス50をスイッチ#3のスロットに取り付けると(ステップS55)、マネージメント装置300等を介して、I/Oデバイス50が搭載されたことがスイッチ#0に通知される(ステップS56)。スイッチ#0においては、搭載されたI/Oデバイス50へのアクセスがコントローラ15により許可される(ステップS57)。
次に、ステップS58において、I/Oデバイス50の電源がオンされる。すなわち、図16に示したステップS46〜S50と同様の処理が行なわれることで、OSから電源をオンしたいI/Oデバイス50、すなわち、新たに搭載されたI/Oデバイス50が指示され、この指示されたI/Oデバイス50が使用可能になる(ステップS59)。
図18は実施形態の一例としての情報処理装置500におけるI/Oデバイス50の交換時の処理を示すシーケンス図である。なお、この図18に示す例においては、I/Oデバイス50はその位置にPCIeスロットが備えられており、このスロットにPCIeカードを挿入して用いる形態であるものとする。
マネージメント装置300がホットプラグコントローラ60を介して、交換対象のI/Oデバイス50のスロットの電源をオフにし(矢印P11参照)、又、スイッチ#0において、パケットのライトデータを第2レジスタ14の制御レジスタコピーに複写する。
対象のI/Oデバイス50が取り外され(削除され)、スイッチ#0の第2レジスタ14の制御レジスタコピー141に未インストールを示す情報が記録される(矢印P12参照)。
その後、OSから取り除かれたI/Oデバイス50へアクセスが行なわれると、スイッチ#0において、コントローラ15が、第2レジスタ14に格納した制御レジスタコピー141等を用いて応答する(矢印P13,P14参照)。
新たなI/Oデバイス50がスロットに取り付けられると(追加)、このI/Oデバイス50が搭載されたことがスイッチ#0に通知される(矢印P15参照)。スイッチ#0においては、スイッチ#0の第2レジスタ14の制御レジスタコピーに“インストール済み”を示す情報が記録される。
マネージメント装置300がI/Oデバイス50のスロットの電源をオンにし(矢印P16参照)、又、スイッチ#0のポートA1において、パケットのライトデータが第2レジスタ14の制御レジスタコピーに格納(複写)される。
このように、実施形態の一例としての情報処理装置500によれば、ルートコンプレックス40に接続された上流側のスイッチ#0において、仮想イメージバス1vをOSに認識させることで、仮想化領域VA内のデバイスをOSに認識させない。仮想化領域VA内の中間デバイスやI/Oデバイス50の電源操作を、本情報処理装置500の活性状態で行なうことができる。
例えば、図1に示すI/Oバスシステム1において、スイッチ#1を搭載したボードB及びスイッチ#1の配下の全I/Oデバイス50の電源をオフにすることで、ボードA側が動作中の状態で、ボードBの交換を行なうことができる。これにより、故障時の保守性が向上する。
また、仮想化領域VA内のパケットの転送は、各スイッチ10,20において、ルーティング情報162を参照してパケットのヘッダの書き換えを行なうことで実現することができる。
さらに、本情報処理装置500の活性状態で、すなわち、CPU30やルートコンプレックス40を備えたボードAを動作中の状態で、中間デバイスやI/Oデバイス50の追加や削除を行なうことができる。これにより、前もって予約する等の予定した装置構成ではない構成も、後から自由に構成することができる。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、I/Oバスシステム1がPCIeのプロトコルで接続される例を示しているが、これに限定されるものではない。例えば、I/Oバスシステム1の少なくとも一部をイーサネット(登録商標)等の他のプロトコルで接続してもよい。
図19は実施形態の一例としての情報処理装置のI/Oバスシステム1の第1変形例を示す図である。
この図19に示すI/Oバスシステム1aは、図1に示したI/Oバスシステム1のスイッチ#0のポートB1とスイッチ#1のポートB2との間を、PCIe以外のプロトコルで接続している。
この図19に示すようなI/Oバスシステム1aにおいても本手法を適用することができる。
図20は実施形態の一例としての情報処理装置のI/Oバスシステム1の第2変形例を示す図である。
この図20に示すI/Oバスシステム1bは、図1に示したI/Oバスシステム1の仮想化領域VA内にスイッチ#2を備えている。この図20に示すようなI/Oバスシステム1bにおいても本手法を適用することができる。なお、この図20に示すI/Oバスシステム1bの仮想イメージバス1vも、図10に示したものと同様になる。
また、仮想化領域VA内においては、スイッチを多段に備えてもよい。
図21は実施形態の一例としての情報処理装置のI/Oバスシステム1の第3変形例を示す図であり、図22は図21に示すI/Oバスシステム1cの仮想イメージバス1vを示す図である。
図21に例示するI/Oバスシステム1cは、仮想化領域VA内にスイッチ#2,#3,#5,#6を多段に備えている。このように多段接続されたスイッチ#2,#3,#5,#6を仮想化領域VAとして設定することで、スイッチ#0はOSに対して図22に示すような仮想イメージバス1vを認識させる。
さらに、仮想化領域VA内において、I/Oバスシステム1の一部をPCIe以外のプロトコルで接続してもよい。
図23実施形態の一例としての情報処理装置のI/Oバスシステム1の第4変形例を示す図である。この図23に示すI/Oバスシステム1dは、仮想化領域VA内に備えられたスイッチ#2内において、ポート間がPCIe以外のプロトコルで接続されている。そして、この図23に示す第4変形例においても、更に、仮想化領域VA内に複数のスイッチを多段に接続して備えてもよい。
また、上述した開示により本実施形態及び変形例を当業者によって実施・製造することが可能である。
1,1a,1b,1c,1d I/Oバスシステム(入出力バスシステム)
1v 仮想イメージバス
10,20 スイッチ(中継装置)
11,12,21,22,41,51 ポート
13 第1レジスタ(第3格納部)
14 第2レジスタ(第3格納部,第4格納部,第5格納部)
24 ステータスレジスタ
25 制御レジスタ
15,27 コントローラ(通知部,応答処理部)
16 メモリ(第2格納部,第1格納部)
26 メモリ(第2格納部)
30 CPU(処理装置)
40 ルートコンプレックス
50 I/Oデバイス(入出力デバイス)
60 ホットプラグコントローラ
70 電源制御回路
100,200 ボード
131 ステータスレジスタコピー
141 制御レジスタコピー
161 仮想バス情報
162 ルーティング情報
300 マネージメント装置(仮想バス情報作成部,ルーティング情報作成部)
VA 仮想化領域

Claims (8)

  1. 複数の中継装置を階層的に接続したツリー状の入出力バスシステムを備える情報処理装置であって、
    前記入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成を示す仮想バス情報を格納する仮想バス情報格納部と、
    前記仮想バス情報を上流側の処理装置に通知する仮想バス情報通知部と
    前記入出力バスシステムにおいて入出力デバイスが接続される前記複数の中継装置の各々のレジスタ情報の複写を格納するレジスタ情報格納部と、
    前記処理装置に対して、前記レジスタ情報格納部に格納されたレジスタ情報の複写を用いて応答する応答処理部とを備えることを特徴とする、情報処理装置。
  2. 前記複数の中継装置の各々が、
    前記入出力バスシステムにおいてデータ転送を行なうためのルーティング情報を格納するルーティング情報格納部と、
    前記ルーティング情報に基づいてデータの転送を行なう転送処理部とを備えることを特徴とする、請求項1記載の情報処理装置。
  3. 前記ルーティング情報が、データのヘッダの書き換えに用いられる宛先情報と前記データの転送先情報とを備えることを特徴とする、請求項2記載の情報処理装置。
  4. 前記ルーティング情報を作成するルーティング情報作成部を備えることを特徴とする、請求項2又は3記載の情報処理装置。
  5. 前記ルーティング情報作成部は、前記入出力バスシステムおける構成変更を検知すると、前記ルーティング情報を再作成することを特徴とする、請求項4記載の情報処理装置。
  6. 前記仮想バス情報を作成する仮想バス情報作成部を備えることを特徴とする、請求項1〜請求項のいずれか1項に記載の情報処理装置。
  7. 複数の中継装置を階層的に接続し入出力デバイスを備えた入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、
    前記処理装置から、取り外し対象の入出力デバイスに対して電源オフ指示を送信し、
    前記入出力バスシステムから前記入出力デバイスが取り外されると、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた未搭載情報格納部に入出力デバイスが未搭載であることを示す未搭載情報を格納し、
    前記処理装置に対して、前記未搭載情報格納部に格納された未搭載情報を用いて応答する
    ことを特徴とする制御方法。
  8. 複数の中継装置を階層的に接続した入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、
    前記入出力バスシステムに入出力デバイスが取り付けられると、処理装置から、取り付けられた入出力デバイスに対して電源オン指示を送信し、
    前記処理装置から取り付けられた入出力デバイスに対する指示情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた指示情報格納部に格納し、
    前記入出力デバイスの電源がオンされた後に、前記入出力バスシステムが取り付けられたことを示すインストール情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられたインストール情報格納部に格納する
    ことを特徴とする制御方法。
JP2013056801A 2013-03-19 2013-03-19 情報処理装置及び制御方法 Active JP6089835B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013056801A JP6089835B2 (ja) 2013-03-19 2013-03-19 情報処理装置及び制御方法
US14/151,977 US20140289444A1 (en) 2013-03-19 2014-01-10 Information processing apparatus and method of controlling
EP14152264.9A EP2782021A1 (en) 2013-03-19 2014-01-23 Information processing apparatus and method of controlling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013056801A JP6089835B2 (ja) 2013-03-19 2013-03-19 情報処理装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2014182604A JP2014182604A (ja) 2014-09-29
JP6089835B2 true JP6089835B2 (ja) 2017-03-08

Family

ID=50002534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013056801A Active JP6089835B2 (ja) 2013-03-19 2013-03-19 情報処理装置及び制御方法

Country Status (3)

Country Link
US (1) US20140289444A1 (ja)
EP (1) EP2782021A1 (ja)
JP (1) JP6089835B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017031126A1 (en) * 2015-08-17 2017-02-23 Brocade Communications Systems, Inc. Pci express connected network switch
US11507157B2 (en) * 2020-04-30 2022-11-22 Dell Products L.P. Hot-inserted devices
CN114691574B (zh) * 2021-04-15 2023-05-09 澜起电子科技(上海)有限公司 热插拔控制方法、装置、重定时器、扩展卡及电子设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708283B1 (en) * 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US7177971B2 (en) * 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
US7334071B2 (en) * 2005-05-25 2008-02-19 Integrated Device Technology, Inc. Expansion of cross-domain addressing for PCI-express packets passing through non-transparent bridge
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US20070136458A1 (en) * 2005-12-12 2007-06-14 Boyd William T Creation and management of ATPT in switches of multi-host PCI topologies
JP4611901B2 (ja) * 2006-01-16 2011-01-12 株式会社ソニー・コンピュータエンタテインメント 信号伝送方法、ブリッジユニット、および情報処理装置
JP4930762B2 (ja) * 2006-05-24 2012-05-16 日本電気株式会社 情報処理装置、および、装置間接続方法
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
US8838867B2 (en) * 2008-12-24 2014-09-16 Nuon, Inc. Software-based virtual PCI system
JP2010026726A (ja) * 2008-07-17 2010-02-04 Toshiba Corp 変換装置及び制御システム
US8554957B1 (en) * 2010-02-24 2013-10-08 Open Invention Network, Llc Method for creation of device drivers and device objects for peripheral devices
US8554973B2 (en) * 2010-04-23 2013-10-08 Hitachi, Ltd. Storage device and method for managing size of storage device
JP5598148B2 (ja) * 2010-08-05 2014-10-01 富士通株式会社 スイッチング装置、情報処理装置、及びスイッチング装置の制御方法
JP5541021B2 (ja) * 2010-09-09 2014-07-09 富士通株式会社 スイッチ装置
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
WO2012086068A1 (ja) * 2010-12-24 2012-06-28 株式会社日立製作所 計算機システムおよびルーティング制御方法
US20130326097A1 (en) * 2011-03-17 2013-12-05 Renesas Electronics Corporation Semiconductor device
JP5742387B2 (ja) * 2011-03-31 2015-07-01 富士通株式会社 情報処理システム、及びi/oスイッチ装置
EP3156909B1 (en) * 2011-04-21 2018-10-03 GigaIO Networks, Inc. Unified system area network and switch
JP5928087B2 (ja) * 2012-03-29 2016-06-01 富士通株式会社 スイッチ、情報処理装置および通信制御方法
US9043526B2 (en) * 2012-06-20 2015-05-26 International Business Machines Corporation Versatile lane configuration using a PCIe PIe-8 interface
US8995302B1 (en) * 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9025495B1 (en) * 2013-01-16 2015-05-05 Pmc-Sierra Us, Inc. Flexible routing engine for a PCI express switch and method of use
US9146890B1 (en) * 2013-01-25 2015-09-29 Pmc—Sierra Us, Inc. Method and apparatus for mapped I/O routing in an interconnect switch
US9256559B2 (en) * 2013-08-19 2016-02-09 International Business Machines Corporation Function transfer using virtualized mapping
JP6331724B2 (ja) * 2014-06-05 2018-05-30 富士通株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
JP2014182604A (ja) 2014-09-29
US20140289444A1 (en) 2014-09-25
EP2782021A1 (en) 2014-09-24

Similar Documents

Publication Publication Date Title
JP5637873B2 (ja) 計算機システムおよびpciカードのhba識別子引き継ぎ方式
US9703654B2 (en) Method, system, and apparatus for cloud application redundancy
US9207929B2 (en) Integrated system and firmware update method
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
JP5069732B2 (ja) 計算機装置、計算機システム、アダプタ承継方法
JP4681505B2 (ja) 計算機システム、管理計算機及びプログラム配布方法
US7631050B2 (en) Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
JP7069672B2 (ja) アプリケーションの更新方法およびプログラム
JP2011065551A (ja) 計算機システムの管理方法、計算機システム及びプログラム
JP5413514B2 (ja) 管理装置、情報処理装置、制御方法及びプログラム
US20140019667A1 (en) Method for controlling i/o switch, method for controlling virtual computer, and computer system
CN109547233A (zh) 一种服务器网口配置的方法、装置及服务器
JP6089835B2 (ja) 情報処理装置及び制御方法
CN103167050A (zh) 服务器的自动安装与设定方法
JP2020077137A (ja) ストレージシステム
JP2015146130A (ja) 情報処理装置、及び情報処理装置の管理方法
US8929251B2 (en) Selecting a master processor from an ambiguous peer group
JP6063576B2 (ja) サーバシステム、計算機システム、サーバシステムの管理方法、及びコンピュータ読み取り可能な記憶媒体
JP6266484B2 (ja) 通信装置及び、通信装置の制御方法
JP7189918B2 (ja) 通信制御方法、計算機システム、及び計算機
JP5373020B2 (ja) 制御サーバ、制御方法およびプログラム
JP2014021540A (ja) ディジタルシグナルプロセッサシステム、ディジタルシグナルプロセッサシステム起動装置およびディジタルシグナルプロセッサのブート方法
JP5854130B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6758431B2 (ja) クラウドアプリケーションの冗長化のための方法、システム、および装置
JP2018073292A (ja) 情報処理装置、起動方法及び起動プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161114

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6089835

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150