JP6089835B2 - 情報処理装置及び制御方法 - Google Patents
情報処理装置及び制御方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
Description
PCIeは、ルートコンプレックス(Root Complex)を頂点とし、I/Oデバイス(入出力装置)を終点とするツリー構造を有する。複数のI/Oデバイスを接続するには、ツリー構造の中間点にPCIeスイッチ(以下、単にスイッチという)が必要となる。スイッチは、各ポートをPCI-to-PCI(P2P)ブリッジとする2段のツリー構造を持つ。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
また、この制御方法は、複数の中継装置を階層的に接続し入出力デバイスを備えた入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、前記処理装置から、取り外し対象の入出力デバイスに対して電源オフ指示を送信し、前記入出力バスシステムから前記入出力デバイスが取り外されると、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた未搭載情報格納部に入出力デバイスが未搭載であることを示す未搭載情報を格納し、前記処理装置に対して、前記未搭載情報格納部に格納された未搭載情報を用いて応答する。
図1に示すI/Oバスシステム1は、複数(図1に示す例では2つ)のボード100,200とマネージメント装置300とを備える。
ボード100,200は、基板上に機能部品を備えた電子部品であり、それぞれに搭載された機能部品により種々の機能を実現する。以下、ボード100をボードA,ボード200をボードBと表す場合がある。これらのボード100,200は、例えば、PCIeの規格に従ったPCIeバスで接続されている。
そして、本情報処理装置500においては、I/Oバスシステム1における一部の経路を仮想的に短絡して、この短絡された部分以外の領域をイメージとしてCPU30(OS)に認識させる機能を備える。このI/Oバスシステムにおける短絡された領域(区間)を仮想化領域VAという。又、OSによって認識される、一部が短絡されたI/Oバスシステムの構成を仮想イメージバスという。
仮想イメージバス1vにおいては、図2に示すように、スイッチ10の上流側ポート11にスイッチ20の下流側ポート22が接続されている。すなわち、仮想イメージバス1vは、ルートコンプレックス40の下にスイッチがあり、そのスイッチの下流側ポートにI/Oデバイス50が接続された構成としてOSに認識される。このように、仮想化領域VA内のデバイスはOSから隠された状態となる。仮想化領域VAはOSから隠された領域であるともいえる。
0によって実行されるOperating System(OS)はI/Oバスシステム1をこの仮想イメージバス1vのように認識する。
ボード200は、スイッチ20,電源制御回路70及びホットプラグコントローラ60を備える。又、ボード200には図示しないスロットが備えられ、このスロットにI/Oデバイス50が脱着自在に取り付けられる。
スイッチ20は、PCIeバスに対しファンアウト機能を提供するデバイスであり、I/Oデバイス50とボードAのスイッチ10とが接続される。
上流側ポート21には、下流側ポート22及びスイッチ10の下流側ポート12が接続される。又、下流側ポート22にはI/Oデバイス50のポート51が接続される。なお、この下流側ポート22には、図示しない他のスイッチ20の上流側ポート21等が接続されてもよい。以下、スイッチ20の上流側ポート21を符号B2で、又、下流側ポート22を符号A2で示す場合がある。又、以下、上流側ポート及び下流側ポートを単にポートという場合もある。
ステータスレジスタ24には、その下流側ポート22に接続されるI/Oデバイス50の状態を示すステータス情報が格納される。ステータス情報は、例えば、I/Oデバイス50によって書き込まれる。なお、このステータス情報は既知であり、その詳細な説明は省略する。
メモリ26はデータを格納する記憶装置であり、スイッチ20がその機能を実現するための各種データが格納される。又、メモリ26にはルーティング情報162が格納される。ルーティング情報162は、I/Oバスシステム1においてデータ転送を実現するための情報であり、その詳細は後述する。又、スイッチ20において、コントローラ27等がCPU等のプロセッサを備える場合には、メモリ26にはこのCPUが実行して各種機能を実現するためのプログラムを格納してもよい。
ない、このパケットを宛先のポートに送信する。このコントローラ27による処理は、スイッチ10のコントローラ15による処理の説明と併せて後述する。
また、ホットプラグコントローラ60は、マネージメント装置300に対して、I/Oデバイス50(スロット)の電源状況、すなわちオン/オフの状況を通知する。
ボード100は、図1に示すように、CPU30,ルートコンプレックス40及びスイッチ10を備えるメインボードである。
ルートコンプレックス40は、CPU30や図示しないメモリと接続して、I/Oバスシステム1におけるPCIeのツリートポロジーのルート(根)となる機能を果たす。
スイッチ10は、コントローラ15,メモリ16,上流側ポート11,第1レジスタ13,第2レジスタ14及び下流側ポート12を備える。
上流側ポート11には、下流側ポート12及びルートコンプレックス40のポート41が接続され、又、下流側ポート12にはボード200の上流側ポート21が接続される。なお、以下、上流側ポート11を符号A1で、又、下流側ポート12を符号B1で示す場合がある。
第1レジスタ13及び第2レジスタ14は、I/Oデバイス50を切り離した際に読み出すデータを格納する記憶装置である。
第2レジスタ14には、I/Oデバイス50が接続されている下流側ポートに対応する制御レジスタ25のコピーである制御レジスタコピー(レジスタ情報)141が格納される。
また、I/Oデバイスが接続されている下流側ポートが複数ある場合には、これらの複数の下流側ポートの各ステータスレジスタ24及び制御レジスタ25の値のコピーが、それぞれ、その下流側ポートを識別するための情報に対応付けられた状態で第1レジスタ13及び第2レジスタ14に格納される。
図2は実施形態の一例としての情報処理装置500における仮想バスツリーを例示する図である。この図2に示すように、OSからは、上流側ポートA1に下流側ポートA2等が接続されているように見える。又、図2に示す仮想バスツリーにおいては、複数の下流側ポートに対応させて、ステータスレジスタコピー及び制御レジスタコピーが示されている。
また、仮想バス情報161は、後述するマネージメント装置300によって作成される。
ルーティング情報162は、宛先となるポート毎に作成され、スイッチ10,20における、仮想化領域VA内の各ポートの箇所に登録される。図1に示す例においては、ポートB1及びポートB2に対して、それぞれルーティング情報162が備えられる。
また、途中経路となる仮想化領域VAにあるスイッチには、このIDにパケットを到達させるには自スイッチ内のどのポートにパケットを送信すればよいかという情報をルーティング情報162として登録する。
図3は実施形態の一例としての情報処理装置500におけるルーティング情報162の構成例を示す図である。この図3に示す例においては、自分宛IDに対して、自分宛てアドレス範囲,変更する宛先情報(IDとアドレス)及び送信先ポート番号が関連付けられている。又、配下宛てID範囲に対して、配下宛てアドレス範囲,変更する宛先情報(IDとアドレス)及び送信ポート番号が関連付けられている。
また、この図3に示すルーティング情報162はテーブル状に構成されているが(ルーティングテーブル)、これに限定されるものではなく、テーブル以外の構成であってもよい。
図4に示すI/Oバスシステム1においては、スイッチ10が2つの下流側ポート12−1,12−2を備える。以下、下流側ポート12−1を一意に表す識別情報(ID)をB1、下流側ポート12−2のIDをB3とする。なお、このスイッチ10をスイッチ#0と表す場合がある。
スイッチ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と表す場合がある。
また、以下、スイッチ10の下流側に配置されるスイッチを示す符号としては、複数のスイッチのうち1つを特定する必要があるときには符号20−1,20−2もしくは、#1,#2を用いるが、任意のスイッチを指すときには符号20を用いる。
このような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が接続されている。
図6(a),(b),(c)は、図4に示すI/Oバスシステム1についてのルーティング情報162を例示する図である。図6(a)はスイッチ#0用のルーティング情報162を、図6(b)はスイッチ#1用のルーティング情報162を、又、図6(c)はスイッチ#2用のルーティング情報162を、それぞれ示す。
なお、このルーティング情報162の作成方法については、図7を用いて後述する。
コントローラ15は、スイッチ10の機能を実現する制御装置である。このコントローラ15は、例えば、上流側ポート11や下流側ポート12が受信したパケットを、その送信先に転送するための処理を行なう。
図7は実施形態の一例としての情報処理装置500におけるパケットのヘッダ書き換え手法を説明するための図である。
例えば、図4に例示するI/Oバスシステム1において、ポートA1が受信したPCIeパケットの宛て先がポートA3である場合に、コントローラ15は、その宛て先“A3”に基づきルーティング情報162を参照し、変更する宛て先情報“B2”と、送信先ポート“B1”とを取得する。
例えば、図4に示すI/Oバスシステム1において、I/Oデバイス#1が図示しないメインメモリにアクセスする場合には、スイッチ#1のコントローラ27は、ポートA2において、図6(b)に示すルーティング情報162を参照して、メモリアクセスパケットに追加ヘッダを付加することでルートコンプレックス40宛てのパケットに変換する。
スイッチ#0においては、コントローラ15が、受信したパケットから追加ヘッダを除去する逆変換を行なってメモリアクセスパケットに戻し、このメモリパケットを、ルートコンプレックス40に送信する。ルートコンプレックス40からは、CPU30の動作に従ってメインメモリにアクセスされる。
また、コントローラ15,27は、本情報処理装置500において新たにI/Oデバイス50が追加もしくは取外された等、I/Oバスシステム1の構成変更が生じると、マネージメント装置300から、この変更後の構成に合わせたルーティング情報162を取得する。コントローラ15,27は、メモリ16,26のルーティング情報162を取得したルーティング情報162で更新する。
また、コントローラ15は、OSの動作中においては、I/Oデバイス50にアクセスするパケットを、仮想化領域VAを通ってI/Oデバイス50に届くように経路を指示す
る。
以下、ボード200において、スロットにI/Oデバイス50が接続されていない状態を“未インストール”といい、スロットにI/Oデバイス50が接続されている状態を“インストール済”という。
コントローラ15は、OSから送信するパケットを受信すると、ポートA1において、そのパケットの宛て先を確認する。そして、宛て先のI/Oデバイス50等が未インストールである場合、すなわち、I/Oデバイス50が搭載されていないスロット等へのアクセスが行なわれた場合には、コントローラ15は、第2レジスタ14に格納された制御レジスタコピーを用いてOSに応答する。
なお、第2レジスタ14の容量が少ない場合は、コントローラ15は、I/Oデバイス50のインストール情報(例えば、未インストール/インストール済)等の、OSがパニックを起こさない必要最低限の情報だけをOSに返すようにしてもよい。一般に、未インストールの時にアクセスしたい制御レジスタは、I/Oデバイス50の電源操作とインストール情報程度であるので、コントローラ15は、他のレジスタ空間へのアクセスが行われた場合にはPCIe仕様で規定されている存在しない空間へのアクセス応答として返信する。これにより、OSパニックが生じることはない。
一方、I/Oデバイス50から送信され、ポートB1に到達したパケットは、コントローラ15により元々のPCIeのパケットに戻され、その後、ポートA1に送信されて、最終目的地であるルートコンプレックス40に到達する。
例えば、スイッチ20のポートにおいて、I/Oデバイス50が取り外されたり、又、新たにI/Oデバイス50が接続されると、当該ボード200上のホットプラグコントローラ60からマネージメント装置300に対して通知が行なわれる。すなわち、マネージメント装置300は、ホットプラグコントローラ60を介して、スイッチ20のポート(スロット)におけるI/Oデバイス50の接続や取り外しを認識する。
また、マネージメント装置(仮想バス情報作成部)300は、仮想バス情報161を作成する。マネージメント装置300は、例えば、本情報処理装置500の電源投入後の起動プロセスにおいて、当該マネージメント装置300の図示しないメモリ等からI/Oバスシステム1の構成情報(ツリー構造)や仮想化領域VAを示す情報を取得する。
マネージメント装置300は、取得したI/Oバスシステム1の構成から、ユーザ等によって予め登録された仮想化領域VAを除去し、残されたI/Oバスシステム1を仮想的に直結することで仮想イメージバス1vを作成する。マネージメント装置300は、この仮想イメージバス1vをOSが認識できる情報で表すことで仮想バス情報161を作成する。
また、マネージメント装置(ルーティング情報作成部)300は、ルーティング情報162を作成する。マネージメント装置300は、I/Oバスシステム1のツリー構造を末端に位置する各I/Oデバイス50から、それぞれ上流のルートコンプレックス40まで順に遡ることにより、経路を記憶する。すなわち、経路上に存在する全てのポートの位置及び順序を記憶する。
図8は実施形態の一例としての情報処理装置500におけるルーティング情報162の作成方法を説明するフローチャート(ステップS01〜S07)である。
ステップS02においては、マネージメント装置300は、仮想化領域VA内の全ポートに対して付番を行なう。すなわち、仮想化領域VA内の全ポート(1〜n)に対して、重複しないように、仮想化領域VA内でツリーの一番上にいる(上流側の)ポートから順に番号を振る。
ステップS03において、マネージメント装置300は、I/Oバスシステム1上の全てのI/Oデバイス50(1〜m)に対して、経路の探索を開始する。ただし、mはI/Oデバイス50の識別番号であり、図4に示す例ではm=2である。
そして、ステップS06において、ツリーの一番上に接続するポートにI/Oデバイス50(m)に行く経路として、仮想化領域VA内でツリーの一番上にいるポートを記憶する。
すなわち、ステップS03〜S06における経路探索に基づき、ポートB2に対して、ポートA2とポートA3宛てのパケットはポートA2に送信するというルーティング情報162を作成し、スイッチ#1のメモリ26に格納する。同様に、ポートB1に対して、ポートB2とポートA2とポートA3宛てのパケットはポートB2に送信するというルーティング情報162を作成し、スイッチ#0のメモリ16に格納する。
ルーティング情報162の再設定は、I/Oバスシステム1の物理的なツリー構成が変更になった場合に実施される。例えば、図4に示す例において、I/Oデバイス#2を取り外して、別のI/Oデバイス50を同じ場所に取り付ける場合が該当する。
また、マネージメント装置300は、I/Oデバイス50の構成等に変更が生じた場合に、スイッチ#0の第2レジスタ14の更新を行なう。例えば、I/Oデバイス50がホットリムーブされた場合に、当該I/Oデバイス50について、第2レジスタ14の制御レジスタコピーに“未インストール”を示す情報を記録する。
ここで、図9及び図10を参照しながら、実施形態の一例としての情報処理装置500におけるI/Oデバイス50の交換時の処理を説明する。図9はI/Oバスシステム1における情報の流れを示す図、図10はその仮想イメージバス1vを示す図である。
I/Oデバイス50がスイッチ#1から取り除かれると、マネージメント装置300からI/Oデバイス50が取り除かれたことを示す情報をスイッチ#0の第2レジスタ14に設定することにより(図9の矢印P5参照)、コントローラ15に通知する。
上述の如く構成された実施形態の一例としての情報処理装置500におけるI/Oバスシステム1の管理手法の概要を、図11に示すI/Oバスシステムの構成例を参照しながら、図12に示すフローチャート(ステップS11〜S20)に従って説明する。
ルートコンプレックス40に接続されたスイッチ10(スイッチ#0)には、上流側ポートA1及び下流側ポートB1,B6,B7が備えられている。下流側ポートB1にはスイッチ20−1(スイッチ#1)の上流側ポートB2が、又、下流側ポートB6にはスイッチ20−2(スイッチ#3)の上流側ポートB8が、それぞれ接続されている。
スイッチ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)が、それぞれ接続されている。
なお、これらのスイッチ10,20−1,20−2,20−3はそれぞれ別のボードに備えられているものとする。
この図11に示すI/Oバスシステム1においては、先ず、ステップS11において、仮想化領域VAを設定する。すなわち、ステップS12において、OSが認識する構成を決定する。具体的には、マネージメント装置300が、I/Oバスシステム1から仮想化領域VAを除外した仮想イメージバス1vを決定する。又、マネージメント装置300は、この仮想イメージバス1vに対応する仮想バス情報161を作成する。
図11に示す例において、ルートコンプレックス40から、例えばI/Oデバイス50−1にアクセスする経路として、ポートA1,B1,B2,B3,A2がこの順で登録される。又、例えば、I/Oデバイス50−6にアクセスする経路として、ポートA1,B6,B8,B9,B12,B15,A7が、この順で登録される。
例えば、図11に示す例において、ポートB12に対して、ポートA5とポートB13宛てのパケットはポートB13に送信するというルーティング情報162を作成し、スイッチ#2の図示しないメモリに格納する。同様に、ポートB9に対して、ポートB12とポートB13とポートA5宛てのパケットはポートB12に送信するというルーティング情報162を作成し、スイッチ#3の図示しないメモリに格納する。
以上の処理により、本情報処理装置500においては、I/Oバスシステム1の仮想化処理が完了する。その後、運用フェーズに移行する。
また、各スイッチ10,20が、I/Oデバイス50からのアクセスについては、パケットを、ルートコンプレックス40へ到達させる経路を指示して転送する(ステップS18)。追加/交換したいI/Oデバイス50が存在する場合には、ホットプラグを実施する(ステップS19)。
図13は実施形態の一例としての情報処理装置500における装置起動時の処理を示すシーケンス図である。なお、この図13に示す例においては、I/Oデバイス50はその位置にPCIeスロットが備えられており、このスロットにPCIeカードを挿入して用いる形態であるものとする。
すなわち、本情報処理装置500に電源投入がされると、マネージメント装置300が装置構成を決め、仮想バス情報161の作成を行なう。その後、マネージメント装置300は、常時電源オンの電源制御指示を各ボード100,200の電源制御回路70に行ないルートコンプレックス40に電源投入が行なわれる(矢印P01参照)。又、これに伴い、スイッチ10,20及びI/Oデバイス50にも電源投入が行なわれ、ルートコンプレックス40,各スイッチ10,20及びI/Oデバイス50が常時電源投入状態となる。
その後、マネージメント装置300は、I/Oデバイス50が接続されている各ポートのレジスタ情報をスイッチ10の第1レジスタ13,第2レジスタ14にコピーさせる(矢印P03参照)。すなわち、各I/Oデバイス50に対して、ステータスレジスタ24及び制御レジスタ25のコピーをスイッチ10に送信させる。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)におけるI/Oデバイス50の取り外し時の処理を、図11を参照しながら、図14に示すフローチャート(ステップS21〜S29)に従って説明する。
仮想イメージバス1vの管理元であるスイッチ#0のコントローラ15が、パケットのライトデータを第2レジスタ14の制御レジスタコピーに複写する(ステップS24)。なお、コピーの格納先は、パケットの送信先のI/Oデバイス50−1が接続されているポートB3の制御レジスタ25に関する制御レジスタコピー141である。ここでコピーした情報は、後述の如く、スイッチ#0とI/Oデバイス50−1が接続されたスイッチ#1との間の仮想化領域VAにある中間デバイスの電源がオフの間にOSがポーリング等でスロットにアクセスした際に返す応答データとして使用される。
なお、ここで、スイッチ#1のポートB3のスロットの電源がオフされると、スイッチ#1から新たな独自パケットを発行することで、スイッチ#0に対して通知を行ない、その第2レジスタ14の制御レジスタコピー141に未インストールとして記録させてもよい。この独自パケットは、例えば、ステータスレジスタ24の値が変化すると発行され、パケットはレジスタ値のライト命令として構成される。
これにより、OS等において、I/Oデバイス50−1がホットリムーブされたことによるパニックが生じることがない。
ここで、中間デバイスとは、図11におけるスイッチ#3のように、I/Oバスシステム1において、末端のI/Oデバイス50が接続されるスイッチ20とルートコンプレックス40との間に位置するデバイスであって、仮想化領域VA内に位置するものである。
情報処理装置500の通電状態において、例えば、スイッチ#3を取り外す場合には、ステップS31において、I/Oデバイス50−7,50−8の電源をオフにする。すなわち、取り除く対象の中間デバイスであるスイッチ#3の配下(下流)にある全てのI/Oデバイス50−7,50−8の電源をオフにする(ステップS32)。
なお、例えば、図11に示す例において、スイッチ#0がOSに対して仮想イメージバス1vを認識させ、又、このスイッチ#0が、スイッチ#3及びI/Oデバイス#6,#7に代わってOSへの応答を行なう。これにより、中間デバイスであるスイッチ#3とこのスイッチ#3に接続されているI/Oデバイス#6,#7は、物理的に存在しなくなっても影響はなく、OSパニックも生じることはない。
ステップS35において、中間デバイス(スイッチ#3)を取り除く。すなわち、電源オフにしたデバイス(スイッチ#3,I/Oデバイス#6,#7)を全て取り除かれると(ステップS36)、マネージメント装置300は、I/Oデバイス#6,#7が取り除かれたことを、スイッチ#0のコントローラ15に通知する(ステップS37)。以下、スイッチ#0は、仮想イメージバス1v上でオフなデバイス、すなわち、存在しないことになっているデバイス宛のパケットに対して、第1レジスタ13に格納したステータスレジスタコピー131等を用いて応答を行なう(ステップS38)。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)におけるI/Oデバイス50の追加時の処理を、図16に示すフローチャート(ステップS41〜S50)に従って説明する。以下、図1に示すI/Oバスシステム1において、スイッチ#1にI/Oデバイス50を追加する例について示す。
スイッチ#0のポートA1において、コントローラ15は、ルーティング情報162を参照して、仮想イメージバス1v上の宛て先を仮想アドレスに変換することで、仮想化領域VA内を電源投入指示パケットが送信される。
スイッチ#1のポートA2のステータスレジスタ24において、スロットの電源状況がオフからオンに更新される。これにより、マネージメント装置300が、スイッチ#0の第2レジスタ14の制御レジスタコピーに“インストール済み”を示す情報を記録する。
次に、実施形態の一例としての情報処理装置500の通電状態(活性状態)における中間デバイスの追加時の処理を、図17に示すフローチャート(ステップS51〜S59)に従って説明する。例えば、図11に示すI/Oバスシステム1において、中間デバイスとしてスイッチ20−2(スイッチ#3)を取り付ける例について示す。
ステップ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)。
図18は実施形態の一例としての情報処理装置500におけるI/Oデバイス50の交換時の処理を示すシーケンス図である。なお、この図18に示す例においては、I/Oデバイス50はその位置にPCIeスロットが備えられており、このスロットにPCIeカードを挿入して用いる形態であるものとする。
対象のI/Oデバイス50が取り外され(削除され)、スイッチ#0の第2レジスタ14の制御レジスタコピー141に未インストールを示す情報が記録される(矢印P12参照)。
新たなI/Oデバイス50がスロットに取り付けられると(追加)、このI/Oデバイス50が搭載されたことがスイッチ#0に通知される(矢印P15参照)。スイッチ#0においては、スイッチ#0の第2レジスタ14の制御レジスタコピーに“インストール済み”を示す情報が記録される。
このように、実施形態の一例としての情報処理装置500によれば、ルートコンプレックス40に接続された上流側のスイッチ#0において、仮想イメージバス1vをOSに認識させることで、仮想化領域VA内のデバイスをOSに認識させない。仮想化領域VA内の中間デバイスやI/Oデバイス50の電源操作を、本情報処理装置500の活性状態で行なうことができる。
また、仮想化領域VA内のパケットの転送は、各スイッチ10,20において、ルーティング情報162を参照してパケットのヘッダの書き換えを行なうことで実現することができる。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
図19は実施形態の一例としての情報処理装置のI/Oバスシステム1の第1変形例を示す図である。
この図19に示すようなI/Oバスシステム1aにおいても本手法を適用することができる。
この図20に示すI/Oバスシステム1bは、図1に示したI/Oバスシステム1の仮想化領域VA内にスイッチ#2を備えている。この図20に示すようなI/Oバスシステム1bにおいても本手法を適用することができる。なお、この図20に示すI/Oバスシステム1bの仮想イメージバス1vも、図10に示したものと同様になる。
図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を認識させる。
図23実施形態の一例としての情報処理装置のI/Oバスシステム1の第4変形例を示す図である。この図23に示すI/Oバスシステム1dは、仮想化領域VA内に備えられたスイッチ#2内において、ポート間がPCIe以外のプロトコルで接続されている。そして、この図23に示す第4変形例においても、更に、仮想化領域VA内に複数のスイッチを多段に接続して備えてもよい。
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記載の情報処理装置。
- 前記ルーティング情報を作成するルーティング情報作成部を備えることを特徴とする、請求項2又は3記載の情報処理装置。
- 前記ルーティング情報作成部は、前記入出力バスシステムおける構成変更を検知すると、前記ルーティング情報を再作成することを特徴とする、請求項4記載の情報処理装置。
- 前記仮想バス情報を作成する仮想バス情報作成部を備えることを特徴とする、請求項1〜請求項5のいずれか1項に記載の情報処理装置。
- 複数の中継装置を階層的に接続し入出力デバイスを備えた入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、
前記処理装置から、取り外し対象の入出力デバイスに対して電源オフ指示を送信し、
前記入出力バスシステムから前記入出力デバイスが取り外されると、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた未搭載情報格納部に入出力デバイスが未搭載であることを示す未搭載情報を格納し、
前記処理装置に対して、前記未搭載情報格納部に格納された未搭載情報を用いて応答する
ことを特徴とする制御方法。 - 複数の中継装置を階層的に接続した入出力バスシステムを、当該入出力バスシステムにおける一部の経路を仮想的に短絡した仮想バスツリー構成として処理装置が認識する情報処理装置の制御方法であって、
前記入出力バスシステムに入出力デバイスが取り付けられると、処理装置から、取り付けられた入出力デバイスに対して電源オン指示を送信し、
前記処理装置から取り付けられた入出力デバイスに対する指示情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられた指示情報格納部に格納し、
前記入出力デバイスの電源がオンされた後に、前記入出力バスシステムが取り付けられたことを示すインストール情報を、前記入出力バスシステムにおいて仮想的に短絡された領域の上流側の中継装置に備えられたインストール情報格納部に格納する
ことを特徴とする制御方法。
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)
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)
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 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
-
2013
- 2013-03-19 JP JP2013056801A patent/JP6089835B2/ja active Active
-
2014
- 2014-01-10 US US14/151,977 patent/US20140289444A1/en not_active Abandoned
- 2014-01-23 EP EP14152264.9A patent/EP2782021A1/en not_active Withdrawn
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 |