JPWO2014020716A1 - 情報処理装置、制御方法、及び制御プログラム - Google Patents
情報処理装置、制御方法、及び制御プログラム Download PDFInfo
- Publication number
- JPWO2014020716A1 JPWO2014020716A1 JP2014527886A JP2014527886A JPWO2014020716A1 JP WO2014020716 A1 JPWO2014020716 A1 JP WO2014020716A1 JP 2014527886 A JP2014527886 A JP 2014527886A JP 2014527886 A JP2014527886 A JP 2014527886A JP WO2014020716 A1 JPWO2014020716 A1 JP WO2014020716A1
- Authority
- JP
- Japan
- Prior art keywords
- bridge
- address
- assigned
- bridges
- processor
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims description 95
- 238000010586 diagram Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
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/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- 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
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
Description
また、特許文献2では、仮想サーバを扱った技術が開示されている。当該技術では、I/Oスイッチ内にある仮想ブリッジに対して一意に番号を割り当て、その番号を基にI/Oリソースを割り当てることで、デバイスのホットプラグや仮想サーバの動的再構成を行なった際のI/Oリソースのずれが防止される。
特許文献2では、それぞれのブリッジに対しI/OリソースID(IDentification)が予め決まっており、規定数以降のブリッジに接続されたデバイスに対してI/OリソースID(I/Oアドレス)を割り当てるわけではない。
〔1〕第1実施形態の情報処理装置
〔1−1〕第1実施形態の構成
図1は、第1実施形態としての情報処理装置(コンピュータシステム)1の構成を示すブロック図である。図1に示すコンピュータシステム1は、CPU(プロセッサ)10,メモリ20,ストレージ30,NVRAM(Non-Volatile Random Access Memory)40,チップセット50,PCIバス60,スイッチ70,スロット80およびストレージ90を有している。
メモリ20は、CPU10によりNVRAM40から読み出されたBIOSプログラムや、ストレージ30から読み出されたOSおよびアプリケーションプログラムを展開されて保存する。また、メモリ20は、後述するPCIデバイス/ブリッジ対応表21を保存する。
図3および図4を参照しながら、PCIデバイス/ブリッジ対応表作成部12Aによって作成される対応表21の構成について説明する。なお、図3は、図1に示す情報処理装置1においてI/Oアドレス割当対象(PCIデバイス81およびPCIブリッジ71)を含む具体的な構成の一例を示すブロック図である。また、図4は、図3に示す構成について作成される対応表21の一例を示す図である。
(a2)各デバイス81が属するブリッジ(デバイスアクセス時に経由するブリッジ)71を特定するPCIブリッジの識別名(ブリッジ識別情報;PCIブリッジ欄)
(a3)項目(a2)の識別名によって特定されるブリッジ71に割り当てられたI/Oアドレス空間(ブリッジアドレスの範囲;ブリッジアドレス欄)
(a4)項目(a3)のブリッジアドレスが項目(a2)の識別名によって特定されるブリッジ71において有効であるか否かを示すアドレス割当フラグ(割当情報;アドレス割当欄)
PCIデバイス/ブリッジ対応表作成処理部12Aは、PCIデバイス81にI/Oアドレスを割り当てながら対応表21を作成する。以下に、対応表21の作成処理の概要を説明する。
対応表21の作成処理では、まず、全てのPCIブリッジ71のバス番号が初期化される。この時点で、対応表21は空の状態に初期化される。
“secondary_bus”≦ バス番号 <“subordinary_bus”
PCIデバイスアドレス=PCIデバイスに設定したI/Oアドレス範囲
PCIブリッジ =指定ブリッジのバス番号とデバイス番号
ブリッジアドレス =空
アドレス割当 =空
この段階で、ブリッジアドレス欄とアドレス割当欄は、設定されず、全てのデバイスの処理が完了し、指定ブリッジのI/Oアドレス範囲が確定した段階で、まとめて設定される。
ついで、図15に示すフローチャート(ステップS51〜S57)に従って、図16〜図21(B)を参照しながら、アドレス割当処理部12BによるPCIデバイスI/Oアクセス処理(PCIデバイス81に対しI/Oアクセスが発生した場合の処理)について詳細に説明する。ここで、図16〜図19は、図15に示すI/Oアクセス処理を説明すべく具体的な対応表を示す図である。また、図20(A)および図21(A)は、図15に示すI/Oアクセス処理を説明するブロック図、図20(B)および図21(B)は、それぞれ図20(A)および図21(A)に示す処理に対応する対応表の状態を示す図である。なお、図16〜図21(B)では、図3および図4と同様の構成つまりブリッジ71が一階層のみである構成に対する、I/Oアクセス処理が例示されている。
PCIデバイス81へのI/Oアクセスが発生した場合、割当部12Bは、対応表21を参照し、PCIデバイス81が接続されているブリッジ71にI/Oアドレス空間が割り当てられているか否かを判定する(ステップS51)。このとき、割当部12Bは、I/Oアクセスの要求アドレスをキーとして、対応表21のPCIデバイスアドレスのカラムを確認する。PCIデバイスアドレス欄に登録されたI/O範囲が、要求アドレス(ここでは1000番地)を含む場合、発生したI/Oアクセスは、その行(第1レコード)のデバイス81へのI/Oアクセスであると判定する(図16および図17参照)。つまり、PCIデバイスアドレス欄に要求アドレスを含む第1レコード(ここでは図17の最上位行)が対応表21から検索される。ここで、対応表21の作成時に、全てのPCIデバイス81に異なるI/Oアドレス空間を割り当てているため、検索で見つかる行はたかだか一つである(図17参照)。割当部12Bは、検索した行のアドレス割当欄を確認しアドレス割当欄が「あり」であれば、ブリッジ71にI/Oアドレスが割り当て済みであると判定する(ステップS52のYESルート)。一方、割当部12Bは、アドレス割当欄が「なし」であれば(第1レコードにおける割当情報が「無効」である場合)、ブリッジ71にI/Oが割り当てられていないと判定する(ステップS52のNOルート)。
ブリッジ71にI/Oアドレス空間が割り当て済みと判定した場合(ステップS52のYESルート)、PCIデバイス81が接続されているブリッジ71に対し、適切にI/Oアドレス空間が割り当てられている。このため、ブリッジ71に対する特別な処理は不要であり、通常のI/Oアクセスを行なうことで、PCIデバイス81に対してI/Oアクセスが実行される(ステップS57)。
ブリッジ71にI/Oアドレス空間が割り当てられていないと判定した場合(ステップS52のNOルート)、PCIデバイス81の接続されているブリッジ71には、I/Oアドレス空間が割り当てられておらず、そのI/Oアドレス空間は別のブリッジ71に割り当てられている状態である。目的のPCIデバイス81が接続されているブリッジ71は、I/Oアクセスをデコードしないため、このままI/Oアクセスを実行しても、PCIデバイス81までI/Oアクセスが転送されない。よって、I/Oアドレス空間が割り当てられているブリッジ71の割当を解除し、PCIデバイス81が接続されているブリッジ71にI/Oアドレス空間を再割り当てすることで、目的のPCIデバイス81にI/Oアクセスが転送される状態にする必要がある。具体的に、割当部12Bは、以下の5段階の処理(p1)〜(p5)を行なう。
割当部12Bは、対応表21を参照し、アクセス対象のPCIデバイス81が接続されているブリッジ71のI/Oアドレス空間(ここでは1000〜1FFFF)を取得する。
(p2)解除対象ブリッジの取得
割当部12Bは、処理(p1)で得られた割当I/Oアドレス空間をキーに対応表21を検索し、割当I/Oアドレス空間が現在割り当てられているブリッジ71(ここではブリッジ#16)を、解除対象ブリッジとして特定する。つまり、割当部12Bは、上記第1レコード(図17参照)におけるブリッジアドレスと同一のブリッジアドレスを含み且つアドレス割当欄に「あり(有効)」を設定された第2レコード(図19参照)を、対応表21から検索する。
割当部12Bは、処理(p2)で特定されたブリッジ71のI/Oアドレス空間割当を解除する。つまり、割当部12Bは、前記第2レコードにおける、前記第1レコードの第1ブリッジ識別情報(ブリッジ#1)とは異なる第2ブリッジ識別情報(ブリッジ#16)に対応する第2ブリッジ(#16)に対する同一のブリッジアドレス(1000〜1FFF)の割当を解除する(図20(A)参照)。また、割当部12Bは、前記第2レコードにおけるアドレス割当欄に「なし(無効)」を設定する(図20(B)参照)。
割当部12Bは、アクセス対象のPCIデバイス81が接続されているブリッジ71にI/Oアドレス空間を割り当てる。つまり、割当部12Bは、前記第1レコードにおける第1ブリッジ識別情報に対応する第1ブリッジ(#1)に対し同一のブリッジアドレス(1000〜1FFF)を割り当てる(図21(A)参照)。また、割当部12Bは、前記第1レコードにおけるアドレス割当欄に「なし(無効)」を設定する(図21(B)参照)。
(p5)PCIデバイスへのI/Oアクセス
割当部12Bは、ステップS51で検索・取得した対応表21の行(第1レコード)におけるPCIブリッジ欄およびブリッジアドレス欄の内容を確認する。これにより、割当部12Bは、I/Oアドレス空間を割り当てるべき設定対象ブリッジのID(ここでは#1)と、当該設定対象ブリッジに割り当てるべきI/Oアドレス空間とを取得する。図17に示す例では、設定対象ブリッジとしてブリッジ#1が取得され、割当I/Oアドレス空間として1000〜1FFFが取得される。
割当部12Bは、図18に示すように、ステップS53で取得した割当I/Oアドレス空間をキーとして対応表21のブリッジアドレス欄を順番に確認していく。これにより、割当部12Bは、図19に示すように、ブリッジアドレス欄に設定されたブリッジアドレスが割当I/Oアドレス空間と重複しており、且つ、アドレス割当欄に「あり」を設定された行(第2レコード)を検索する。この検索処理によって発見されたブリッジが、I/Oアドレス空間の割当を解除すべき解除対象ブリッジとなる。
割当部12Bは、ステップS54で取得された解除対象ブリッジのI/OベースアドレスとI/Oリミットアドレスの両レジスタ72a,72bに0を設定することで、図20(A)に示すように、解除対象ブリッジに対するI/Oアドレス空間割当を解除する。
その後、割当部12Bは、対応表21のPCIブリッジ欄の内容が解除対象ブリッジの識別名と一致する行(第2レコード)におけるアドレス割当欄を、図20(B)に示すように、「なし」に更新する。PCIブリッジ欄の内容が解除対象ブリッジの識別名と一致する行が複数存在する場合、割当部12Bは、その複数の行すべてにおけるアドレス割当欄を「なし」に更新する。
図20(A)および図20(B)に示す例において、割当部12Bは、解除対象ブリッジであるブリッジ#16のレジスタ72a,72bに0を設定してI/Oアドレス空間の割当を解除する。その後、割当部12Bは、対応表21のブリッジ#16に対応する全ての行のアドレス割当欄を「なし」に更新する。
ここまでの処理で、図20(A)および図20(B)に示すように、アクセス対象のPCIデバイス81が接続されている設定対象ブリッジに割り当てるべきI/Oアドレス空間は、解放され、どのブリッジ71にも設定されていない状態になる。このような状態で、割当部12Bは、図21(A)に示すように、設定対象ブリッジのI/OベースアドレスとI/Oリミットアドレスの両レジスタ72a,72bにI/O範囲を設定し、設定対象ブリッジにI/Oアドレス空間を割り当てる。レジスタ72a,72bに対する設定後、割当部12Bは、図21(B)に示すように、対応表21のPCIブリッジ欄の内容が設定対象ブリッジの識別名と一致する行のアドレス割当欄を「あり」に更新する。PCIブリッジ欄の内容が設定対象ブリッジの識別名と一致する行が複数存在する場合、割当部12Bは、その複数の行すべてにおけるアドレス割当欄を「あり」に更新する。
要求されたI/Oアクセスが実行される。I/Oアクセスは、ステップS56で設定したブリッジ71を経由して、アクセス対象のPCIデバイス81に転送され、PCIデバイス81に対するI/Oアクセスが実行される。これにより、CPU10で動作するOSやアプリケーションは、所望の結果を得る。
上述した第1実施形態のコンピュータシステム1によれば、割当部12Bが、作成部12AによってPCIバスの初期化時に作成された対応表21を参照、更新しながら、ブリッジ71に対するI/Oアドレス空間の割当解除や再割当を行なうことで、デバイス81に対するI/Oアクセス処理が実行される。これにより、コンピュータシステム1において、規定数を超える数(例えば16個以上)のブリッジ71が備えられてブリッジアドレスが枯渇しても、規定数を超える数のブリッジ71を同時に使用することが可能になる。
〔2−1〕第2実施形態の構成
図22は、第2実施形態としての情報処理装置(コンピュータシステム)1Aの構成を示すブロック図である。なお、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
図22に示すコンピュータシステム1Aも、第1実施形態のコンピュータシステム1と同様、CPU10,メモリ20,ストレージ30,NVRAM40,チップセット50,PCIバス60,スイッチ70,スロット80およびストレージ90を有している。
メモリ20は、CPU10によりNVRAM40から読み出されたBIOSプログラムや、仮想サーバVS1〜VS4により仮想ストレージ31から読み出されたOSおよびアプリケーションプログラムを展開されて保存する。また、メモリ20は、上述した対応表21のほか、ハイパーバイザ13により作成され更新される仮想サーバ構成情報22や、後述するミューテックス変数23を保存する。
PCIデバイス/ブリッジ対応表作成処理部12Aは、コンピュータシステム1Aの起動時にハイパーバイザ13の初期化処理の中で呼び出され、対応表21の作成処理を行なう。第2実施形態におけるPCIデバイス/ブリッジ対応表作成部12Aによる対応表21の作成処理については、図23〜図27を参照しながら具体的に説明する。
以下では、第2実施形態のコンピュータシステム1Aの動作について、図23〜図29を参照しながら、より詳細に説明する。
まず、図23に示すシーケンス図(矢印A11〜A48)および図24に示すフローチャート(ステップS60〜S69)に従って、第2実施形態のコンピュータシステム1Aによる処理の流れについて説明する。
次に、図23に示す矢印A13〜A30および図25に示すフローチャート(ステップS621〜S628)に従って、図26および図27を参照しながら、作成部12Aによる対応表21の作成処理について説明する。なお、図26および図27は、図25に示す対応表21の作成処理においてブリッジアドレスが枯渇した場合の処理を説明する図である。なお、以下では、図3および図4と同様の構成つまりブリッジ71が一階層のみである構成に対し、対応表21の作成処理およびアドレス割当処理を行なう場合について説明する。
次に、図23に示す矢印A35〜A38およびA41〜A47と図28に示すフローチャート(ステップS671〜S678)に従って、図29に参照しながら、割当部12Bによるアドレス割当処理について説明する。なお、図29は、図28に示すアドレス割当処理において、アクセス対象のデバイス81がアドレス未割当のブリッジ71に属している場合の処理を説明する図である。
上述した第2実施形態のコンピュータシステム1Aによれば、第1実施形態と同様、割当部12Bが、作成部12AによってPCIバスの初期化時に作成された対応表21を参照、更新しながら、ブリッジ71に対するI/Oアドレス空間の割当解除や再割当を行なうことで、デバイス81に対するI/Oアクセス処理が実行される。これにより、コンピュータシステム1Aにおいて、規定数を超える数(例えば16個以上)のブリッジ71が備えられてブリッジアドレスが枯渇しても、規定数を超える数のブリッジ71を同時に使用することが可能になる。
〔3−1〕第3実施形態の構成
図30は、第3実施形態としての情報処理装置(コンピュータシステム)1Bの構成を示すブロック図である。なお、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
図30に示すコンピュータシステム1Bも、第1実施形態のコンピュータシステム1と同様、CPU10,メモリ20,ストレージ30,NVRAM40,チップセット50,PCIバス60,スイッチ70,スロット80およびストレージ90を有している。
次に、図31に示すシーケンス図(矢印A50〜A89)に従って、第3実施形態のコンピュータシステム1Bによる処理の流れについて説明する。
コンピュータシステム1Bが起動されると、CPU10は、BIOSプログラムをNVRAM40から読み出してメモリ20に展開し、BIOSプログラムを実行することにより、BIOS11を起動する。BIOS11は、コンピュータシステム1Bの初期化処理を実行した後、ストレージ30からOSを読み出してメモリ20に展開し、OSを起動する(矢印A50)。
これに対し、I/Oアドレスが割り当てられていない場合、割当部12Bは、対応表21を参照して、必要なI/Oアドレスを設定されているブリッジ71(例えばブリッジ#16)を解除対象ブリッジとして取得する(矢印A83)。この後、割当部12Bは、解除対象ブリッジ#16のI/Oアドレス1000〜1FFFを解除する(矢印A84)。この後、割当部12Bは、アクセス対象のデバイス81が接続されているブリッジ71(例えば#1)にI/Oアドレス1000〜1FFFを割り当ててから(矢印A85)、対応表21を更新する(矢印A86)。
上述した第3実施形態のコンピュータシステム1Bによれば、第1実施形態や第2実施形態と同様、割当部12Bが、作成部12AによってPCIバスの初期化時に作成された対応表21を参照、更新しながら、ブリッジ71に対するI/Oアドレス空間の割当解除や再割当を行なうことで、デバイス81に対するI/Oアクセス処理が実行される。これにより、コンピュータシステム1Aにおいて、規定数を超える数(例えば16個以上)のブリッジ71が備えられてブリッジアドレスが枯渇しても、規定数を超える数のブリッジ71を同時に使用することが可能になる。
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
10 CPU(プロセッサ)
11 BIOS
12A PCIデバイス/ブリッジ対応表作成処理部(作成部)
12B アドレス割当処理部(割当部)
13 ハイパーバイザ
14 ライブラリ
20 メモリ
21 PCIデバイス/ブリッジ対応表(管理用テーブル)
22 仮想サーバ構成情報
23 ミューテックス変数
30 ストレージ
31 仮想ストレージ
40 NVRAM
50 チップセット
51 ホストブリッジ
52 SATAコントローラ
60 PCIバス
70 スイッチ
71 PCIブリッジ(ブリッジ)
72 コンフィグレーションレジスタ
72a I/Oベースアドレスレジスタ(ベースアドレスレジスタ)
72b I/Oリミットアドレスレジスタ(リミットアドレスレジスタ)
80 スロット
81 PCIデバイス(デバイス)
90 ストレージ
VS1〜VS4 仮想サーバ
図3および図4を参照しながら、PCIデバイス/ブリッジ対応表作成処理部12Aによって作成される対応表(管理用テーブル)21の構成について説明する。なお、図3は、図1に示す情報処理装置1においてI/Oアドレス割当対象(PCIデバイス81およびPCIブリッジ71)を含む具体的な構成の一例を示すブロック図である。また、図4は、図3に示す構成について作成される対応表21の一例を示す図である。
割当部12Bは、対応表21を参照し、アクセス対象のPCIデバイス81が接続されているブリッジ71のI/Oアドレス空間(ここでは1000〜1FFF)を取得する。
(p2)解除対象ブリッジの取得
割当部12Bは、処理(p1)で得られた割当I/Oアドレス空間をキーに対応表21を検索し、割当I/Oアドレス空間が現在割り当てられているブリッジ71(ここではブリッジ#16)を、解除対象ブリッジとして特定する。つまり、割当部12Bは、上記第1レコード(図17参照)におけるブリッジアドレスと同一のブリッジアドレスを含み且つアドレス割当欄に「あり(有効)」を設定された第2レコード(図19参照)を、対応表21から検索する。
割当部12Bは、アクセス対象のPCIデバイス81が接続されているブリッジ71にI/Oアドレス空間を割り当てる。つまり、割当部12Bは、前記第1レコードにおける第1ブリッジ識別情報に対応する第1ブリッジ(#1)に対し同一のブリッジアドレス(1000〜1FFF)を割り当てる(図21(A)参照)。また、割当部12Bは、前記第1レコードにおけるアドレス割当欄に「あり(有効)」を設定する(図21(B)参照)。
(p5)PCIデバイスへのI/Oアクセス
PCIデバイス/ブリッジ対応表作成処理部12Aは、コンピュータシステム1Aの起動時にハイパーバイザ13の初期化処理の中で呼び出され、対応表21の作成処理を行なう。第2実施形態におけるPCIデバイス/ブリッジ対応表作成処理部12Aによる対応表21の作成処理については、図23〜図27を参照しながら具体的に説明する。
Claims (19)
- プロセッサと、
複数のデバイスと、
前記プロセッサと前記複数のデバイスとを接続する複数のブリッジと、
前記複数のブリッジのそれぞれにブリッジアドレスを割り当てながら前記ブリッジアドレスの管理用テーブルを作成し、前記複数のブリッジのうちの一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記複数のブリッジのうちの他ブリッジに割り当てた既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、当該既割当ブリッジアドレスの割当解除および再割当に応じた更新および登録を前記管理用テーブルに対して行なう作成部と、
前記プロセッサから前記複数のデバイスのうちの一デバイスに対する一アクセスを検知した場合、前記管理用テーブルを参照し、前記一アクセスを実行可能にするように前記複数のブリッジに対する前記ブリッジアドレスの割当解除および再割当を行なうとともに、当該ブリッジアドレスの割当解除および再割当に応じた更新を前記管理用テーブルに対して行なう割当部と、を有することを特徴とする情報処理装置。 - 前記作成部は、
前記複数のデバイスのそれぞれに異なるデバイスアドレスを割り当てるとともに前記複数のブリッジのそれぞれに前記ブリッジアドレスを割り当てながら、前記複数のデバイスのそれぞれに割り当てられた前記デバイスアドレスと、前記複数のデバイスのそれぞれが属するブリッジを特定するブリッジ識別情報と、当該ブリッジ識別情報によって特定される前記ブリッジに割り当てられた前記ブリッジアドレスと、当該ブリッジアドレスが当該ブリッジ識別情報によって特定される前記ブリッジにおいて有効であるか否かを示す割当情報とを対応付けて管理する前記管理用テーブルを作成し、
前記一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記他ブリッジに対する既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、
前記管理用テーブルにおいて、前記他ブリッジの前記割当情報に無効を設定するとともに、前記一ブリッジの前記割当情報に有効を設定することを特徴とする、請求項1記載の情報処理装置。 - 前記割当部は、
前記一デバイスの前記デバイスアドレスを含む第1レコードを、前記管理用テーブルから検索し、
前記第1レコードにおける前記割当情報が無効である場合、前記第1レコードにおける前記ブリッジアドレスと同一のブリッジアドレスを含み且つ前記割当情報を有効に設定された第2レコードを、前記管理用テーブルから検索し、
前記第2レコードにおける、前記第1レコードの第1ブリッジ識別情報とは異なる第2ブリッジ識別情報に対応する第2ブリッジに対する前記同一のブリッジアドレスの割当を解除するとともに、前記第2レコードにおける前記割当情報に無効を設定し、
前記第1レコードにおける前記第1ブリッジ識別情報に対応する第1ブリッジに対し前記同一のブリッジアドレスを割り当てるとともに、前記第1レコードにおける前記割当情報に有効を設定することを特徴とする、請求項2記載の情報処理装置。 - 前記作成部は、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除することを特徴とする、請求項1〜請求項3のいずれか一項記載の情報処理装置。 - 前記割当部は、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除することを特徴とする、請求項1〜請求項6のいずれか一項記載の情報処理装置。 - 前記プロセッサは、複数の仮想サーバを構築し、
前記割当部は、
前記複数の仮想サーバのうちの一の仮想サーバから前記一アクセスを検知してから前記一アクセスの実行を完了するまでの間に他の仮想サーバから他アクセスを検知した場合、前記一アクセスの実行を完了するまで、前記他アクセスについての処理を待機させることを特徴とする、請求項1〜請求項5のいずれか一項記載の情報処理装置。 - 前記割当部としての機能は、
前記プロセッサにおけるOS(Operating System)の、前記複数のデバイスのうちの一デバイスに対するアクセスの際に用いられるライブラリに含まれていることを特徴とする、請求項1〜請求項5のいずれか一項記載の情報処理装置。 - プロセッサと、複数のデバイスと、前記プロセッサと前記複数のデバイスとを接続する複数のブリッジと、を備えた、情報処理装置を、前記プロセッサによって制御する方法であって、
前記プロセッサは、
前記複数のブリッジのそれぞれにブリッジアドレスを割り当てながら前記ブリッジアドレスの管理用テーブルを作成し、
前記複数のブリッジのうちの一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記複数のブリッジのうちの他ブリッジに割り当てた既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、当該既割当ブリッジアドレスの割当解除および再割当に応じた更新および登録を前記管理用テーブルに対して行ない、
前記プロセッサから前記複数のデバイスのうちの一デバイスに対する一アクセスを検知した場合、前記管理用テーブルを参照し、前記一アクセスを実行可能にするように前記複数のブリッジに対する前記ブリッジアドレスの割当解除および再割当を行なうとともに、当該ブリッジアドレスの割当解除および再割当に応じた更新を前記テーブルに対して行なうことを特徴とする情報処理装置の制御方法。 - 前記プロセッサは、
前記複数のデバイスのそれぞれに異なるデバイスアドレスを割り当てるとともに前記複数のブリッジのそれぞれに前記ブリッジアドレスを割り当てながら、前記複数のデバイスのそれぞれに割り当てられた前記デバイスアドレスと、前記複数のデバイスのそれぞれが属するブリッジを特定するブリッジ識別情報と、当該ブリッジ識別情報によって特定される前記ブリッジに割り当てられた前記ブリッジアドレスと、当該ブリッジアドレスが当該ブリッジ識別情報によって特定される前記ブリッジにおいて有効であるか否かを示す割当情報とを対応付けて管理する前記管理用テーブルを作成し、
前記一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記他ブリッジに対する既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、
前記管理用テーブルにおいて、前記他ブリッジの前記割当情報に無効を設定するとともに、前記一ブリッジの前記割当情報に有効を設定することを特徴とする、請求項8記載の情報処理装置の制御方法。 - 前記プロセッサは、
前記一デバイスの前記デバイスアドレスを含む第1レコードを、前記管理用テーブルから検索し、
前記第1レコードにおける前記割当情報が無効である場合、前記第1レコードにおける前記ブリッジアドレスと同一のブリッジアドレスを含み且つ前記割当情報を有効に設定された第2レコードを、前記管理用テーブルから検索し、
前記第2レコードにおける、前記第1レコードの第1ブリッジ識別情報とは異なる第2ブリッジ識別情報に対応する第2ブリッジに対する前記同一のブリッジアドレスの割当を解除するとともに、前記第2レコードにおける前記割当情報に無効を設定し、
前記第1レコードにおける前記第1ブリッジ識別情報に対応する第1ブリッジに対し前記同一のブリッジアドレスを割り当てるとともに、前記第1レコードにおける前記割当情報に有効を設定することを特徴とする、請求項9記載の情報処理装置の制御方法。 - 前記プロセッサは、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除することを特徴とする、請求項8〜請求項10のいずれか一項記載の情報処理装置の制御方法。 - 前記プロセッサは、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除することを特徴とする、請求項8〜請求項11のいずれか一項記載の情報処理装置の制御方法。 - プロセッサと、複数のデバイスと、前記プロセッサと前記複数のデバイスとを接続する複数のブリッジと、を備えた、情報処理装置の制御を、前記プロセッサに実行させるプログラムであって、
前記複数のブリッジのそれぞれにブリッジアドレスを割り当てながら前記ブリッジアドレスの管理用テーブルを作成し、
前記複数のブリッジのうちの一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記複数のブリッジのうちの他ブリッジに割り当てた既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、当該既割当ブリッジアドレスの割当解除および再割当に応じた更新および登録を前記管理用テーブルに対して行ない、
前記プロセッサから前記複数のデバイスのうちの一デバイスに対する一アクセスを検知した場合、前記管理用テーブルを参照し、前記一アクセスを実行可能にするように前記複数のブリッジに対する前記ブリッジアドレスの割当解除および再割当を行なうとともに、当該ブリッジアドレスの割当解除および再割当に応じた更新を前記テーブルに対して行なう、
処理を、前記プロセッサに実行させることを特徴とする制御プログラム。 - 前記複数のデバイスのそれぞれに異なるデバイスアドレスを割り当てるとともに前記複数のブリッジのそれぞれに前記ブリッジアドレスを割り当てながら、前記複数のデバイスのそれぞれに割り当てられた前記デバイスアドレスと、前記複数のデバイスのそれぞれが属するブリッジを特定するブリッジ識別情報と、当該ブリッジ識別情報によって特定される前記ブリッジに割り当てられた前記ブリッジアドレスと、当該ブリッジアドレスが当該ブリッジ識別情報によって特定される前記ブリッジにおいて有効であるか否かを示す割当情報とを対応付けて管理する前記管理用テーブルを作成し、
前記一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記他ブリッジに対する既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、
前記管理用テーブルにおいて、前記他ブリッジの前記割当情報に無効を設定するとともに、前記一ブリッジの前記割当情報に有効を設定する、
処理を、前記プロセッサに実行させることを特徴とする、請求項13記載の制御プログラム。 - 前記一デバイスの前記デバイスアドレスを含む第1レコードを、前記管理用テーブルから検索し、
前記第1レコードにおける前記割当情報が無効である場合、前記第1レコードにおける前記ブリッジアドレスと同一のブリッジアドレスを含み且つ前記割当情報を有効に設定された第2レコードを、前記管理用テーブルから検索し、
前記第2レコードにおける、前記第1レコードの第1ブリッジ識別情報とは異なる第2ブリッジ識別情報に対応する第2ブリッジに対する前記同一のブリッジアドレスの割当を解除するとともに、前記第2レコードにおける前記割当情報に無効を設定し、
前記第1レコードにおける前記第1ブリッジ識別情報に対応する第1ブリッジに対し前記同一のブリッジアドレスを割り当てるとともに、前記第1レコードにおける前記割当情報に有効を設定する、
処理を、前記プロセッサに実行させることを特徴とする、請求項14記載の制御プログラム。 - 前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除する、
処理を、前記プロセッサに実行させることを特徴とする、請求項13〜請求項15のいずれか一項記載の制御プログラム。 - 前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに前記ブリッジアドレスの範囲を指定するアドレス値を設定することにより、前記ブリッジに前記ブリッジアドレスを割り当てる一方、
前記ブリッジのコンフィグレーションレジスタのベースアドレスレジスタおよびリミットアドレスレジスタに0を設定することにより、前記ブリッジに対する前記ブリッジアドレスの割当を解除する、
処理を、前記プロセッサに実行させることを特徴とする、請求項13〜請求項16のいずれか一項記載の制御プログラム。 - プロセッサと、
複数のデバイスと、
前記プロセッサと前記複数のデバイスとを接続する複数のブリッジと、を備え、
前記プロセッサは、
前記複数のブリッジのそれぞれにブリッジアドレスを割り当てながら前記ブリッジアドレスの管理用テーブルを作成し、
前記複数のブリッジのうちの一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記複数のブリッジのうちの他ブリッジに割り当てた既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、当該既割当ブリッジアドレスの割当解除および再割当に応じた更新および登録を前記管理用テーブルに対して行ない、
前記プロセッサから前記複数のデバイスのうちの一デバイスに対する一アクセスを検知した場合、前記管理用テーブルを参照し、前記一アクセスを実行可能にするように前記複数のブリッジに対する前記ブリッジアドレスの割当解除および再割当を行なうとともに、当該ブリッジアドレスの割当解除および再割当に応じた更新を前記テーブルに対して行なうことを特徴とする情報処理装置。 - プロセッサと、複数のデバイスと、前記プロセッサと前記複数のデバイスとを接続する複数のブリッジと、を備えた、情報処理装置の制御を、前記プロセッサに実行させる制御プログラムを記録したコンピュータ読取可能な記録倍値であって、
前記制御プログラムは、
前記複数のブリッジのそれぞれにブリッジアドレスを割り当てながら前記ブリッジアドレスの管理用テーブルを作成し、
前記複数のブリッジのうちの一ブリッジに割り当てる未割当ブリッジアドレスが枯渇した場合、前記複数のブリッジのうちの他ブリッジに割り当てた既割当ブリッジアドレスの割当を解除して前記一ブリッジに割り当て、当該既割当ブリッジアドレスの割当解除および再割当に応じた更新および登録を前記管理用テーブルに対して行ない、
前記プロセッサから前記複数のデバイスのうちの一デバイスに対する一アクセスを検知した場合、前記管理用テーブルを参照し、前記一アクセスを実行可能にするように前記複数のブリッジに対する前記ブリッジアドレスの割当解除および再割当を行なうとともに、当該ブリッジアドレスの割当解除および再割当に応じた更新を前記テーブルに対して行なう、処理を、前記プロセッサに実行させることを特徴とする、制御プログラムを記録したコンピュータ読取可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/069548 WO2014020716A1 (ja) | 2012-08-01 | 2012-08-01 | 情報処理装置、制御方法、制御プログラム、及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014020716A1 true JPWO2014020716A1 (ja) | 2016-07-11 |
JP5999184B2 JP5999184B2 (ja) | 2016-09-28 |
Family
ID=50027446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014527886A Active JP5999184B2 (ja) | 2012-08-01 | 2012-08-01 | 情報処理装置、制御方法、及び制御プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150127868A1 (ja) |
JP (1) | JP5999184B2 (ja) |
WO (1) | WO2014020716A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9602464B2 (en) | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003337788A (ja) * | 2002-05-20 | 2003-11-28 | Nec Corp | アドレス割当装置およびその方法 |
JP2009239374A (ja) * | 2008-03-26 | 2009-10-15 | Nec Corp | 仮想計算機システム及びパケット送信制御方法並びにそれに用いるネットワークインターフェースカード |
JP2011204077A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11191073A (ja) * | 1997-12-25 | 1999-07-13 | Mitsubishi Electric Corp | Pciバス処理装置 |
US6898686B1 (en) * | 2000-08-24 | 2005-05-24 | International Business Machines Corporation | Memory map adjustment to support the need of adapters with large memory requirements |
TWI273423B (en) * | 2005-07-15 | 2007-02-11 | Via Tech Inc | Computer system with multi-port bridge and an operating method of the same |
US20090006596A1 (en) * | 2007-06-27 | 2009-01-01 | Veluchamy Dinakaran | Dynamic address redemption and routing in ZigBee networks |
JP5180729B2 (ja) * | 2008-08-05 | 2013-04-10 | 株式会社日立製作所 | 計算機システム及びバス割当方法 |
US20130007322A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Hardware Enabled Lock Mediation |
-
2012
- 2012-08-01 WO PCT/JP2012/069548 patent/WO2014020716A1/ja active Application Filing
- 2012-08-01 JP JP2014527886A patent/JP5999184B2/ja active Active
-
2015
- 2015-01-15 US US14/597,256 patent/US20150127868A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003337788A (ja) * | 2002-05-20 | 2003-11-28 | Nec Corp | アドレス割当装置およびその方法 |
JP2009239374A (ja) * | 2008-03-26 | 2009-10-15 | Nec Corp | 仮想計算機システム及びパケット送信制御方法並びにそれに用いるネットワークインターフェースカード |
JP2011204077A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5999184B2 (ja) | 2016-09-28 |
WO2014020716A1 (ja) | 2014-02-06 |
US20150127868A1 (en) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5735070B2 (ja) | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 | |
JP4157710B2 (ja) | Pci入出力スロットの論理分割を実施する方法および装置 | |
JP5305848B2 (ja) | データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム | |
JP5210730B2 (ja) | 仮想マシンモニタ及びマルチプロセッサシステム | |
US8041920B2 (en) | Partitioning memory mapped device configuration space | |
US10353609B2 (en) | Memory allocation method and apparatus | |
US20120216185A1 (en) | Managing virtual machines | |
US20070214333A1 (en) | Modifying node descriptors to reflect memory migration in an information handling system with non-uniform memory access | |
US20050216696A1 (en) | Multi-processor system and memory accessing method | |
CN1737780A (zh) | 从一个设备驱动程序向另一个传送信息的系统和方法 | |
US8490094B2 (en) | Non-uniform memory access (NUMA) enhancements for shared logical partitions | |
JP2009151767A (ja) | データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム | |
US8255639B2 (en) | Partition transparent correctable error handling in a logically partitioned computer system | |
US20080184247A1 (en) | Method and System for Resource Allocation | |
JP2016167143A (ja) | 情報処理システムおよび情報処理システムの制御方法 | |
JP2004318880A (ja) | ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置 | |
JP2010205124A (ja) | 仮想化装置におけるpciデバイスのコンフィグレーション処理方法及びコンピュータシステム | |
US20170168906A1 (en) | Providing fault tolerance in a virtualized computing environment through a migration approach based on resource availability | |
JP7125964B2 (ja) | 計算機システムおよび管理方法 | |
US10031778B2 (en) | Providing fault tolerance in a virtualized computing environment through a swapping approach | |
JP5195756B2 (ja) | Pciデバイスのi/o空間要求抑止方法 | |
JP5979229B2 (ja) | 情報処理装置、制御方法、及び制御プログラム | |
JP5999184B2 (ja) | 情報処理装置、制御方法、及び制御プログラム | |
JP5917441B2 (ja) | 仮想計算機システム、sr−iov対応デバイスの制御方法 | |
US9021506B2 (en) | Resource ejectability in multiprocessor systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160707 |
|
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: 20160802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5999184 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |