JP6331724B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP6331724B2
JP6331724B2 JP2014116731A JP2014116731A JP6331724B2 JP 6331724 B2 JP6331724 B2 JP 6331724B2 JP 2014116731 A JP2014116731 A JP 2014116731A JP 2014116731 A JP2014116731 A JP 2014116731A JP 6331724 B2 JP6331724 B2 JP 6331724B2
Authority
JP
Japan
Prior art keywords
unit
information processing
bus number
address information
processing apparatus
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.)
Expired - Fee Related
Application number
JP2014116731A
Other languages
English (en)
Other versions
JP2015230600A (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 JP2014116731A priority Critical patent/JP6331724B2/ja
Priority to US14/722,204 priority patent/US9672166B2/en
Publication of JP2015230600A publication Critical patent/JP2015230600A/ja
Application granted granted Critical
Publication of JP6331724B2 publication Critical patent/JP6331724B2/ja
Expired - Fee Related 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
情報処理装置上で稼働するOperating System(OS)は、アドレス情報に基づいてネットワークコントローラやビデオコントローラ等のInput Output(IO)デバイスを利用する。アドレス情報は、例えば、Basic Input Output System(BIOS)あるいはOSによってIOデバイスに対して割り当てられる。IOデバイスに割り当てられたアドレス情報は、揮発性の記憶領域に記憶される場合が多い。したがって、情報処理装置が停止されると、割り当てられたアドレス情報は消去される。そのため、情報処理装置が起動されるたびに、アドレス情報は、BIOSあるいはOSによってIOデバイスに割り当てられる。
より具体的には、IOデバイスが使用される場合には、OSのデバイスドライバにIOデバイスの設定情報が設定される。OSのデバイスドライバは、以下、本明細書においてデバイスドライバとも称する。例えば、ネットワークコントローラが使用される場合には、設定情報としてIPアドレス等のネットワーク情報がデバイスドライバに設定される。
特開2010−39760号公報
BIOSあるいはOSは、アドレス情報を小さい番号(例えば、0番)から順番にIOデバイスに割り当てる事が多い。そのため、IOデバイスが追加あるいは切り離しがなされると、IOデバイスに割り当てられるアドレス情報が以前とは異なった値に変更される虞がある。アドレス情報が変更されると、アドレス情報が変更されたIOデバイスは、OSから別のIOデバイスとして認識される虞がある。さらに、デバイスドライバに設定されたIOデバイスの設定情報は、アドレス情報が変更されると消去される虞がある。IOデバイスが別のIOデバイスとして認識され、あるいは、IOデバイスの設定情報が消去されると、そのIOデバイスを使用するには、再度、IOデバイスに設定情報を設定する作業が発生する。そこで、開示の技術の1つの側面は、IOデバイスが追加あるいは切り離しがなされてもIOデバイスに割り当てられるアドレス情報の変更を抑制する。
開示の技術の1つの側面は、次のような情報処理装置によって例示される。本情報処理装置は、情報処理装置に接続されるデバイスとデバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部を備える。また、本情報処理装置は、情報処理装置の起動時にアドレス情報記憶部に関係が記憶されている場合に記憶された関係にしたがって情報処理装置に接続されているデバイスにアドレス情報を付与し、情報処理装置の起動時にアドレス情報記憶部に関係が記憶されていない場合に所定の手順で情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当部を備える。また、本情報処理装置は、情報処理装置の稼働中に接続されたデバイスに対して、情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当部によってアドレス情報が付与されると、アドレス情報記憶部に記憶される、情報処理装置に接続されるデバイスとデバイスに付与されるアドレス情報との
関係を更新する対応情報管理部を備える。
本情報処理装置は、情報処理装置に接続されるIOデバイスが追加され、あるいは切り離されても、IOデバイスに割り当てられるアドレス情報の変更を抑制することができる。
比較例の情報処理装置の構成を例示する図である。 比較例において、バス番号が割り当てられる前の状態を例示する図である。 比較例において、バス番号が割り当てられた後の状態を例示する図である。 比較例において、PCIユニットが活性追加された状態を例示する図である。 第1実施形態の情報処理装置の構成を例示する図である。 情報処理装置の処理ブロックを例示する図である。 バス番号テーブルの初期状態を例示する図である。 BIOSによるIOデバイスへのバス番号を割り当てる処理の流れを例示する図である。 IOデバイスの活性追加あるいは活性交換の処理の流れを例示する図である。 第1実施形態の情報処理装置に対してPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。 PCIユニットが追加された後のバス番号管理テーブルを例示する図である。 第1実施形態の情報処理装置に対してPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。 第2実施形態の情報処理装置の構成を例示する図である。 第2実施形態の情報処理装置にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。 第2実施形態の情報処理装置にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。 第3実施形態の情報処理装置の構成を例示する図である。 第3実施形態の情報処理装置にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。 第3実施形態の情報処理装置にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下に示す実施形態の構成は例示であり、本情報処理装置は実施形態の構成に限定されない。
<比較例>
比較例では、BIOSによって割り当てられるアドレス情報の範囲が、あらかじめIOデバイス毎に定められることで、IOデバイスに割り当てられるアドレス情報の変更を抑制する情報処理装置が例示される。アドレス情報は、各IOデバイスに対して重複しないように割り当てられる。以下の説明では、アドレス情報の一例として、バス番号が例示される。以下、図1〜図4を参照して比較例について説明する。
図1は、比較例の情報処理装置800の構成を例示する図である。情報処理装置800は、Central Processing Unit(CPU)ユニット810、IO
ユニット820およびPeripheral Component Interconnect(PCI)ユニット830を備える。IOユニット820およびPCIユニット830は、バスB1でCPUユニット810と接続されている。CPUユニット810、IOユニット820およびPCIユニット830等のユニットは、それぞれ1以上のIOデバイスを含むことができる。1以上のIOデバイスを含むユニットは、全体として1つのIOデバイスとみることもできる。情報処理装置800は、CPUユニット810、IOユニット820およびPCIユニット830をそれぞれ複数備えてもよい。また、情報処理装置800は、PCIユニット830の代わりに任意のIOユニットあるいはPCIユニットを接続可能である。IOユニット820およびPCIユニット830は「デバイス」の一例である。また、IOユニット820に含まれるビデオコントローラ、ハードディスクコントローラ等のIOデバイスは、「デバイス」の一例である。また、PCIユニット830のPCIスイッチおよびPCIスロットを介して接続される種々の周辺装置も「デバイス」の一例である。
CPUユニット810は、演算処理を行う。CPUユニット810は、CPU811、メモリ812およびPCIスイッチ813を備える。PCIスイッチ813には、IOユニット820およびPCIユニット830が接続されている。PCIスイッチ813は、PCIスイッチ813に接続されるIOデバイスに割り当てられるバス番号を記憶するバス番号レジスタを有する。図1では、PCIスイッチ813に接続されるデバイスとして、IOユニット820およびPCIユニット830が例示されている。
IOユニット820には、各種IOデバイスが接続される。IOユニット820は、IOコントローラ821およびRead Only Memory(ROM)827を備える。図1では、IOコントローラ821には、例えば、ビデオコントローラおよびハードディスクコントローラが接続される。また、IOコントローラ821は、接続されるIOデバイスに割り当てられるバス番号を記憶するバス番号レジスタを備える。ハードディスクコントローラには、ハードディスク822が接続されている。ROM827は、不揮発性メモリである。ROM827には、例えば、BIOSファームウェア828が記憶される。BIOSファームウェア828は、以下、本明細書において、BIOS828とも称する。BIOS828は、IOデバイスにバス番号を割り当てるPCIバス番号設定部829を含む。
ハードディスク822は、情報処理装置800の補助記憶部に相当する。ハードディスク822は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。ハードディスク822は、外部記憶装置とも呼ばれる。ハードディスク822には、Windows(登録商標)等のOS823、各種プログラム、各種テーブル等が格納される。
情報処理装置800の補助記憶部は、ハードディスク822以外の態様によって実現されてもよい。補助記憶部は、例えば、Erasable Programmable ROM(EPROM)、ソリッドステートディスク(Solid State Disk、SSD)等を用いることができる。また、補助記憶部は、例えば、Compact Disc(CD)ドライブ装置、Digital Versatile Disc(DVD)ドライブ装置、Blu−ray(登録商標) Disc(BD)ドライブ装置等を用いてもよい。また、補助記憶部として、Network Attached Storage(NAS)あるいはStorage Area Network(SAN)が用いられてもよい。記録媒体としては、例えば、不揮発性半導体メモリ(フラッシュメモリ)を含むシリコンディスク、ハードディスク、CD、DVD、BD、Universal Serial Bus(USB)メモリ等である。
OS823は、通信部(図示を省略)を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、ネットワーク等で接続された、他の映像処理装置あるいは外部記憶装置が含まれる。OS823は、IO初期化部824を含む。IO初期化部824は、稼働中の情報処理装置800に追加あるいは交換されたIOデバイスにバス番号を割り当てる。稼働中の情報処理装置800に追加あるいは交換されたIOデバイスは、以下、本明細書において、活性追加あるいは活性交換されたIOデバイスと称する。また、OS823には、情報処理装置800に接続されたIOデバイスを制御するデバイスドライバ825が導入されている。デバイスドライバ825は、IO初期化完了処理部826を含む。IO初期化完了処理部826は、IOデバイスの活性追加あるいは活性交換の完了をBIOS828に通知する。OS823およびデバイスドライバ825は、ハードディスク822からCPUユニット810のメモリ812にローディングされ、CPU811で実行される。
PCIユニット830は、PCIスイッチ831を備える。PCIスイッチ831には、PCIスロットが接続されている。PCIスイッチ831は、PCIスロットに接続されるIOデバイスに割り当てられるバス番号を記憶するバス番号レジスタを備える。
情報処理装置800は、例えば、Local Area Network(LAN)あるいはインターネット等のネットワーク環境とのインターフェースとなる通信部をさらに備えてもよい。通信部は、ネットワーク環境を介して外部の装置と通信を行う。
情報処理装置800は、例えば、ユーザ等からの操作指示等を受け付ける入力部をさらに備えてもよい。このような入力部として、キーボード、ポインティングデバイス、タッチパネル、加速度センサーあるいは音声入力装置といった入力デバイスを例示できる。
情報処理装置800は、例えば、CPU811で処理されるデータあるいはメモリ812に記憶されるデータを出力する出力部を備えるものとしてもよい。このような、出力部として、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Electroluminescence(EL)パネル、有機ELパネルあるいはプリンタといった出力デバイスを例示できる。
図2は、比較例において、バス番号が割り当てられる前の状態を例示する図である。図2では、CPUユニット1、2、IOユニット1、2およびPCIユニット1、2が例示されている。CPUユニット1には、IOユニット1およびPCIユニット1が接続されている。CPUユニット2には、IOユニット2およびPCIユニット2が接続されている。図2の状態では、BIOS828あるいはOS823によってバス番号がまだ割り当てられていない。そのため、図2では、バス番号は初期値の0となっている。図2において、バス番号の値は「バス=0」と記載されている。
バス番号は、BIOS828のPCIバス番号設定部829あるいはOS823のIO初期化部824によってIOデバイスに割り当てられる。割り当てられたバス番号は、バス番号レジスタに記憶される。情報処理装置800の起動時において既に接続されているIOデバイスに対しては、BIOS828のPCIバス番号設定部829がバス番号を割り当てる。活性追加あるいは活性交換されたIOデバイスに対しては、OS823のIO初期化部824がバス番号を割り当てる。IO初期化部824は、例えば、未割り当てのバス番号から小さい番号順にバス番号をIOデバイスに割り当てる。
ところで、バス番号は、IOデバイスに対して小さい番号(例えば0番)から順番に割り当てられることが多い。このようにバス番号を割り当てると、以下のような場合にIO
デバイスに割り当てられたバス番号が変更される虞がある。
例えば、図2に例示された構成からIOユニット1を取り外す場合を考える。この状態で、情報処理装置800が起動されると、BIOS828が各IOデバイスに対してバス番号を割り当てる。IOユニット1が取り外されているので、IOユニット2から順番にバス番号が割り当てられる。その結果、IOユニット1が接続されていた状態と比較して、IOデバイスに割り当てられるバス番号が変更される虞がある。
そこで、上記の問題を軽減するため、比較例では、PCIバス番号設定部829によって割り当てられるバス番号の範囲がユニットごとに指定されている。例えば、図2のIOユニット1では、PCIバス番号設定部829によって割り当てられるバス番号の範囲は1〜31となっている。このようにすることで、情報処理装置800が停止された状態でIOユニット1が取り外されても、PCIバス番号設定部829によってIOユニット2等に対してあらかじめ定められた範囲のバス番号が割り当てられる。その結果、情報処理装置800が停止された状態でIOユニット1が取り外された場合でも、IOユニット2等に割り当てられるバス番号は変更されない。以下、本明細書において、ユニットごとにバス番号の割り当て範囲を定めてバス番号を割り当てる方法を、「固定のバス番号を割り当てる方法」と称する。
図3は、比較例において、バス番号が割り当てられた後の状態を例示する図である。図3では、各IOデバイスにバス番号が割り当てられている。例えば、図3のIOユニット1のPCIスイッチには、バス番号として1が割り当てられている。また、ビデオコントローラには、バス番号として2が割り当てられている。さらに、ハードディスクコントローラには、バス番号として3が割り当てられている。
図4は、比較例において、PCIユニット1が活性追加された状態を例示する図である。図4は、図3の状態にPCIユニット1が活性追加されている。活性追加されたPCIユニット1に対して、OS823のIO初期化部824はバス番号を割り当てる。IO初期化部824は、未割り当てのバス番号から小さい番号順にバス番号をIOデバイスに割り当てる。その結果、図4では、活性追加されたPCIユニット1およびPCIユニット1に含まれるIOデバイスに対して、バス番号4〜7が割り当てられている。
この状態で、情報処理装置800が再起動されると、バス番号レジスタに記憶されていたバス番号は消去される。情報処理装置800が起動されると、BIOS828のPCIバス番号設定部829は、IOデバイスに対してバス番号を割り当てる。図2に例示される通り、PCIバス番号設定部829によるバス番号の割り当てでは、PCIユニット1に対して、65〜95の範囲でバス番号が割り当てられる。その結果、活性追加時にOS823のIO初期化部824によって割り当てられたバス番号とは異なるバス番号が、PCIバス番号設定部829によってPCIユニット1に割り当てられる。
比較例では、OS823のIO初期化部824とBIOS828のPCIバス番号設定部829とが独立してIOデバイスにバス番号を割り当てた。さらに、割り当てられたバス番号は、情報処理装置800が再起動されると消去された。そのため、IOデバイスの活性追加あるいは活性交換後に情報処理装置800が再起動されると、PCIバス番号設定部829によって、IO初期化部824によって割り当てられたバス番号とは異なるバス番号が割り当てられる虞がある。
<第1実施形態>
比較例では、情報処理装置800が再起動されると、OS823によって割り当てられたバス番号とは異なるバス番号がBIOS828によってIOデバイスに割り当てられる
虞があった。第1実施形態では、IOデバイスに割り当てられたバス番号が不揮発性の記憶部に保存される。BIOSが、その記憶部を参照してIOデバイスにバス番号を割り当てる事で、IOデバイスに割り当てられるバス番号の変更が抑制される。以下、図5〜図12を参照して、第1実施形態について説明する。なお、比較例と共通の構成要素については同一の符号を付し、その説明は省略される。
図5は、第1実施形態の情報処理装置100の構成を例示する図である。情報処理装置100は、ROM827にBIOSファームウェア125およびIOデバイスのバス番号テーブル126を含む点で情報処理装置800と異なる。
BIOS125は、情報処理装置100に接続されているIOデバイス等の初期化処理等を行う。BIOS125は、起動された情報処理装置100に接続されているIOデバイスにバス番号を割り当てる。BIOSファームウェア125は、以下、本明細書において、BIOS125とも称する。バス番号は、各IOデバイスにおいて重複しないように割り当てられる。バス番号は、「アドレス情報」の一例である。
バス番号テーブル126には、IOデバイスを特定する情報およびIOデバイスに割り当てられたバス番号が記憶される。IOデバイスを特定する情報は、例えば、IOデバイスが接続される接続経路の情報を含む。IOデバイスのバス番号テーブル126は、以下、本明細書において、バス番号テーブル126とも称する。バス番号テーブル126は、「アドレス情報記憶部」の一例である。
BIOS125は、PCIバス番号設定部125a、PCIバス番号取得部125bおよびIOデバイスバス番号テーブル管理部125cを含む。PCIバス番号設定部125aは、バス番号テーブル126に保存された情報を参照して、IOデバイスにバス番号を割り当てる。PCIバス番号設定部125aは、「第1のアドレス情報割当部」の一例である。PCIバス番号取得部125bは、IOデバイスに割り当てられたバス番号を取得する。IOデバイスバス番号テーブル管理部125cは、PCIバス番号取得部125bによって取得されたバス番号とそのバス番号が割り当てられたIOデバイスの対応をバス番号テーブル126に保存する。また、IOデバイスバス番号テーブル管理部125cは、バス番号テーブル126に保存された情報を読み込む。IOデバイスバス番号テーブル管理部125cは、「対応情報管理部」の一例である。
<情報処理装置100の処理ブロック>
図6は、情報処理装置100の処理ブロックを例示する図である。図6では、CPU811、メモリ812が例示されている。図6では、さらに、メモリ812に展開された各処理ブロックが例示されている。図6では、処理ブロックとして、第1アドレス割当部161、第2アドレス割当部162、対応情報管理部163、アドレス情報取得部164および対応情報記憶部165が例示されている。例えば、図5のCPU811が図6の各処理ブロックとしてメモリ812に実行可能に展開されたコンピュータプログラムを実行する。ただし、図6のいずれかのブロックの少なくとも一部はハードウェア回路を含んでもよい。
CPU811は、第1アドレス割当部161として、対応情報記憶部164に保存された情報を参照して、起動される情報処理装置100に接続されているIOデバイスにアドレス情報を割り当てる。第1アドレス割当部161は、「第1のアドレス情報割当部」の一例である。
CPU811は、第2アドレス割当部162として、稼働中の情報処理装置100に接続されるIOデバイスにアドレス情報を割り当てる。第2アドレス割当部162は、「第
2のアドレス情報割当部」の一例である。
CPU811は、対応情報管理部163として、アドレス情報取得部164によって取得されたアドレス情報とそのアドレス情報が割り当てられたIOデバイスの対応を対応情報記憶部165に保存する。また、対応情報管理部163は、対応情報記憶部165に保存された情報を読み込む。対応情報管理部163は、「対応情報管理部」の一例である。対応情報記憶部165は、「アドレス情報記憶部」の一例である。
CPU811は、アドレス情報取得部164として、IOデバイスに割り当てられたアドレス情報を取得する。
図7は、バス番号テーブル125cの初期状態を例示する図である。バス番号テーブル125cには、ユニット10、デバイス11およびバス番号12の各情報が記憶される。ユニット10には、情報処理装置100に接続されているユニットのユニット名が記憶される。デバイス11には、ユニット10に記憶されたユニット名のユニットからIOデバイスへの接続経路が記憶される。ユニット名10およびデバイス11によって、IOデバイスから情報処理装置100までの接続経路は特定される。つまり、IOデバイスは、ユニット名10およびデバイス11に記憶された情報によって特定される。バス番号テーブル125cには、情報処理装置100に接続され得るユニットおよびIOデバイスの情報があらかじめ記憶されている。バス番号12には、IOデバイスに割り当てられたバス番号が記憶される。図7の状態では、バス番号として初期値を例示する0が記憶されている。
図8は、BIOS125によるIOデバイスへのバス番号を割り当てる処理の流れを例示する図である。以下、図8を参照して、起動される情報処理装置100に既に接続されているIOデバイスに対して、BIOS125がバス番号を割り当てる処理が説明される。
S101では、情報処理装置100が起動される。情報処理装置100が起動されると、BIOS125は、情報処理装置100のバスB1をスキャンし、情報処理装置100に接続されているIOデバイスを検出する。
S102では、IOデバイスバス番号管理部125cは、バス番号テーブル126を参照する。
バス番号テーブル126のバス番号12に保存されている値がすべて0の場合(S103でYes)、処理はS104に進められる。バス番号テーブル126のバス番号12に0以外の値が保存されている場合(S103でNo)、処理はS105に進められる。
S104では、PCIバス番号設定部125aは、固定のバス番号を割り当てる方法に従って、IOデバイスにバス番号を割り当てる。割り当てられたバス番号は、それぞれのIOデバイス用のバス番号レジスタに記憶される。「固定のバス番号を割り当てる方法」は、「所定の手順」の一例である。S104の処理は、「第1のアドレス情報割当処理」の一例である。
S105では、PCIバス番号設定部125aは、バス番号テーブル126に従って、IOデバイスにバス番号を割り当てる。割り当てられたバス番号は、それぞれのIOデバイス用のバス番号レジスタに記憶される。S105の処理は、「第1のアドレス情報割当処理」の一例である。
以上の処理を行うことで、情報処理装置100は、バス番号をIOデバイスに割り当てる(S106)。
図9は、IOデバイスの活性追加あるいは活性交換の処理の流れを例示する図である。図8では、起動される情報処理装置100に既に接続されているIOデバイスにバス番号を割り当てる処理が説明された。図9では、稼働中の情報処理装置100に対してIOデバイスが追加あるいは交換される場合の処理が説明される。
S111では、情報処理装置100にIOユニットあるいはPCIユニットが活性追加あるいは活性交換される。
S112からS113では、OS823のIO初期化部824が、S111で活性追加あるいは活性交換されたIOデバイスの初期化処理を行う。IO初期化部824は、IOデバイスの初期化処理として、例えば、IOデバイスにバス番号を割り当てる。割り当てられたバス番号は、それぞれのIOデバイス用のバス番号レジスタに記憶される。S113の処理は、「第2のアドレス情報割当処理」の一例である。
S114では、デバイスドライバ825のIO初期化完了処理部826は、IOユニットあるいはPCIユニットの活性追加あるいは活性交換の完了をBIOS125に通知する。S114の処理は、「第2のアドレス情報割当部によるアドレスの割り当ての完了を通知」する処理の一例である。
S115では、S114の通知を受けたBIOS125のPCIバス番号取得部125bは、IOデバイスのバス番号レジスタを全て読み込む。
S116では、PCIバス番号取得部125bは、S115で読み込んだバス番号をバス番号テーブル126のバス番号12の列において、S115でバス番号を読み込んだIOデバイスから情報処理装置100までの接続経路に対応する行(図7のユニット10およびデバイス11の列参照)に保存する。S116の処理は、「対応情報管理処理」の一例である。
以上の処理を行うことで、情報処理装置100に対するIOデバイスの活性追加あるいは活性交換が行われる。
図10および図12は、第1実施形態の情報処理装置100に対してPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。図11は、図10に例示される処理によってPCIユニットが追加された後のバス番号管理テーブル125cを例示する図である。ここでは、図3の構成で起動された情報処理装置100に対して、図4のようにPCIユニット1が活性追加された場合を想定して説明する。以下、図10〜図12を参照して、情報処理装置100にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを説明する。
S201〜S206では、情報処理装置100の起動時の処理が説明される。
S201では、情報処理装置100の電源がオンにされる。S202では、IOデバイスバス番号テーブル管理部125cは、バス番号テーブル126を参照する。IOデバイスバス番号テーブル管理部125cは、バス番号テーブル126のバス番号12に記憶されているバス番号がすべて0であるか確認する。
バス番号12に記憶されているバス番号がすべて0である場合(S203でYes)、
処理はS204に進められる。バス番号12に記憶されているバス番号に0以外の値が含まれている場合(S203でNo)、処理はS205に進められる。ここでは、情報処理装置100の初回起動なので、バス番号12に記憶されているバス番号はすべて0となっている。そのため、処理はS204に進められる。
S204では、PCIバス番号設定部125aは、IOデバイスのバス番号レジスタに、固定のバス番号を割り当てる方法に従いバス番号を割り当てる。「固定のバス番号を割り当てる方法」は、「所定の手順」の一例である。S204の処理は、「第1のアドレス情報割当処理」の一例である。
S205では、PCIバス番号設定部125aは、バス番号テーブル126に保存された情報に基づいてバス番号をIOデバイスに割り当てる。
S206では、情報処理装置100のOS823が起動し、情報処理装置100の運用が開始される。
S207〜S209では、情報処理装置100にPCIユニット1が活性追加される処理が説明される。
S207では、情報処理装置100にPCIユニット1が追加される。PCIユニット1の追加は、OS823に通知される。OS823は、例えば、割り込みによってPCIユニット1の追加を通知される。割り込みは、例えば、Advanced Configuration and Power Interface(ACPI)割り込みである。ACPI割り込みは、System Control Interrupt(SCI)割り込みとも称される。ACPIは、例えば、情報処理装置100のOS823にIOデバイスの識別等を実現させるインターフェースである。SCI割り込みは、例えば、ACPIで検出されたイベントをOS823に通知する。ACPIで検出されたイベントとは、例えば、IOデバイスの活性追加あるいは活性交換である。
S208〜S209では、IO初期化部824が、追加されたPCIユニット1の初期化処理を実行する。初期化処理として、例えば、IO初期化部824は、PCIユニット1およびPCIユニット1に含まれる各IOデバイスにバス番号を割り当てる。割り当てられたバス番号は、バス番号レジスタに記憶される。
S210〜S212では、IO初期化部824によって割り当てられたバス番号をバス番号テーブル126に保存する処理が実行される。
S210では、IO初期化完了処理部826が、BIOS125にPCIユニット1の活性追加完了を通知する。この通知には、例えば、System Management
Interrupts(SMI)割り込みが用いられる。SMI割り込みは、例えば、情報処理装置100のCPU811をシステム管理モードに遷移させる割り込みである。S210の処理は、「第2のアドレス情報割当部によるアドレスの割り当ての完了を通知」する処理の一例である。
S211では、PCIバス番号取得部125bは、S210のSMI割り込みを受信すると、情報処理装置100に接続されている全てのIOデバイスのバス番号レジスタを読み込む。
S212では、IOデバイスバス番号テーブル管理部125cは、PCIバス番号取得部125bが読み込んだバス番号をバス番号テーブル126のバス番号12の列において
、S115でバス番号を読み込んだIOデバイスから情報処理装置100までの接続経路に対応する行(図11のユニット10およびデバイス11の列参照)に書き込む。S212の処理は、「対応情報管理処理」の一例である。
以上の処理により、情報処理装置100に接続されているIOデバイスのバス番号はバス番号テーブル126に保存される。
図11は、図10で説明されたPCIユニット1が追加された後のバス番号管理テーブル126を例示する図である。図11を参照すると、バス番号管理テーブル126には、BIOS125によって割り当てられたバス番号およびOS823によって割り当てられたバス番号が保存されている。図11において、BIOS125によって割り当てられたバス番号は、例えば、IOユニット1およびPCIユニット2のバス番号である。図11において、OS823によって割り当てられたバス番号は、例えば、PCIユニット1のバス番号である。なお、バス番号管理テーブル126の各行は、情報処理装置100に接続されるIOデバイス(ユニット10およびデバイス11)とIOデバイスに付与されるバス番号(バス番号12)との関係を記憶している。バス番号管理テーブル126のユニット名10、デバイス11およびバス番号12の組み合わせが「関係」の一例である。
図12を参照して、図10の処理によってPCIユニット1が活性追加された後、情報処理装置100が再起動される際の処理を説明する。
S213〜S214では、PCIユニット1が追加された情報処理装置100の使用が開始される。
S213では、活性追加されたIOデバイスのデバイスドライバに設定情報が設定される。追加されたIOデバイスがネットワークコントローラであれば、設定情報としてIPアドレス等の情報が設定されればよい。
S214では、PCIユニット1が追加された情報処理装置100の運用が開始される。S215では、情報処理装置100が再起動される。情報処理装置100の再起動は、例えば、セキュリティパッチの適用、情報処理装置100の設定変更あるいはメンテナンス等の場合に行われる。
S216〜S219では、情報処理装置100の起動中の処理が例示される。S216〜S219では、BIOS125のPCIバス番号設定部125aによってIOデバイスにバス番号が割り当てられる。
S216〜S218の処理は、図10のS202〜S204の処理と同様である。そのため、説明は省略される。
S219〜S220の処理は、S205〜S206の処理と同様である。そのため、説明は省略される。
第1実施形態は、IOデバイスの活性追加あるいは活性交換を契機として、情報処理装置100に接続されているIOデバイスに割り当てられたバス番号をバス番号テーブル126に保存した。その結果、第1実施形態は、BIOS125のPCIバス番号設定部125aおよびOS823のIO初期化部824のそれぞれによって割り当てられたバス番号をバス番号テーブル126に保存できる。
第1実施形態では、BIOS125のPCIバス番号設定部125aおよびOS823
のIO初期化部824のそれぞれによってIOデバイスに割り当てられたバス番号がバス番号テーブル126に保存された。第1実施形態では、情報処理装置100が起動されると、BIOS125のPCIバス番号設定部125aは、IOデバイスに割り当てられたバス番号がバス番号テーブル126に保存されているか否かを判定する。そして、IOデバイスに割り当てられたバス番号がバス番号テーブル126に保存されている場合に、BIOS125のPCIバス番号設定部125aは、バス番号テーブル126を参照してバス番号をIOデバイスに割り当てた。その結果、第1実施形態では、IOデバイスの活性追加あるいは活性交換された後に情報処理装置100が再起動された場合でも、IOデバイスに割り当てられるバス番号の変更が抑制される。すなわち、情報処理装置100が再起動された場合に、情報処理装置100の停止前にBIOS125のPCIバス番号設定部125aおよびOS823のIO初期化部824のそれぞれによってIOデバイスに割り当てられたバス番号が再起動後も継続して停止前と同一のIOデバイスに割当られる。
第1実施形態のバス番号テーブル126は、情報処理装置100の停止前にPCIバス番号設定部125aおよびIO初期化部824のそれぞれによってIOデバイスに割当られたバス番号を当該バス番号が割り当てられたIOデバイスと対応付けて保存している。そのため、複数のIOデバイスを活性追加あるいは活性交換された後に情報処理装置100が再起動された場合でも、PCIバス番号設定部125aは、各IOデバイスに割り当てられていたバス番号をバス番号テーブル126から取得できる。その結果、第1実施形態では、複数のIOデバイスを活性追加あるいは活性交換された場合でも、IOデバイスに割り当てられるバス番号の変更が抑制される。
<第2実施形態>
第1実施形態では、BIOS125が、情報処理装置100に接続されたIOデバイスに割り当てられたバス番号を取得した。取得されたバス番号は、BIOS125によってバス番号テーブル126に保存された。第2実施形態では、デバイスドライバが、情報処理装置に接続されたIOデバイスに割り当てられたバス番号を取得する。また、第2実施形態では、デバイスドライバが、取得したバス番号をBIOSに通知する。通知されたバス番号は、BIOSによってバス番号テーブルに記憶される。以下、図13〜図15を参照して、第2実施形態について説明する。なお、第1実施形態と共通の構成要素については同一の符号を付し、その説明は省略される。
図13は、第2実施形態の情報処理装置200を例示する図である。情報処理装置200は、第1実施形態の情報処理装置100と異なり、OS823にデバイスドライバ223bが導入されている。また、情報処理装置200は、第1実施形態の情報処理装置100と異なり、ROM827にBIOSファームウェア225が記憶されている。
OS823には、情報処理装置200に接続されたIOデバイスを制御するソフトウェアであるデバイスドライバ223bが導入されている。デバイスドライバ223bは、IO初期化完了処理部826、PCIバス番号取得部223dおよびPCIバス番号通知部223eを含む。OS823およびデバイスドライバ223bは、ハードディスク822からCPUユニット810のメモリ812にローディングされ、CPU811で実行される。
PCIバス番号取得部223dは、IOデバイスに割り当てられたバス番号を取得する。PCIバス番号通知部223eは、PCIバス番号取得部223dによって取得されたバス番号をBIOSファームウェア225のPCIバス番号受信部225bに通知する。PCIバス番号通知部223eは、例えば、BIOS225によって提供されるランタイムサービスを利用してPCIバス番号受信部225bにバス番号を通知する。
ROM827には、例えば、BIOSファームウェア225およびバス番号テーブル126が記憶される。BIOSファームウェア225は、以下、本明細書において、BIOS225とも称する。BIOS225は、PCIバス番号設定部125a、PCIバス番号受信部225bおよびIOデバイスバス番号テーブル管理部125cを含む。
BIOS225のPCIバス番号受信部225bは、PCIバス番号通知部223eからIOデバイスに割り当てられたバス番号を受信する。
図14および図15は、第2実施形態の情報処理装置200にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。ここでは、図3の構成で起動された情報処理装置200に対して、図4のようにPCIユニット1が活性追加された場合を想定して説明する。以下、図14および図15を参照して、情報処理装置200にPCIユニット1を活性追加あるいは活性交換した場合の処理の流れを説明する。
図14では、稼働中の情報処理装置200にPCIユニット1が活性追加された場合に、PCIユニット1およびPCIユニット1に含まれるIOデバイスに割り当てられたバス番号がバス番号管理テーブル126に書き込まれる処理が説明される。図14のS301〜S309の処理は、図10のS201〜S209の処理と同様である。そのため、説明は省略される。
S310〜S313では、デバイスドライバ223bによって取得されたIOデバイスのバス番号が、BIOS225によってバス番号テーブル126に書き込まれる処理が説明される。
S310では、デバイスドライバ223bのPCIバス番号取得部223dが、情報処理装置200に接続されている全てのIOデバイスのバス番号レジスタを読み込む。ただし、S310の処理は、情報処理装置200に接続されている全てのIOデバイスのバス番号を読み込む処理に限定されない。PCIバス番号取得部223dは、例えば、OS823のIO初期化部824によってバス番号が割り当てられたIOデバイスのバス番号レジスタを読み込んでもよい。
S311では、デバイスドライバ223bのPCIバス番号通知部223eが、S310で取得されたバス番号および接続経路をBIOS225のPCIバス番号受信部225bに通知する。ここで、接続経路は、S310でバス番号を読み込んだIOデバイスから情報処理装置200までの経路を特定する情報である。PCIバス番号通知部223eは、例えば、BIOS225によって提供されるランタイムサービスを利用してバス番号および接続経路をPCIバス番号受信部225bに通知すればよい。S311の処理は、「前記第2のアドレス情報割当部によって割り当てられた前記アドレス情報を通知」する処理の一例である。
S312では、PCIバス番号受信部225bが、PCIバス番号通知部223eによって通知されたバス番号と接続経路を受信する。
S313では、IOデバイスバス番号テーブル管理部125cは、PCIバス番号受信部225bが受信したバス番号を、バス番号テーブル126のバス番号12の列のバス番号の列の接続経路に対応する行(図11のユニット10およびデバイス11参照)に書き込む。S313の処理は、「対応情報管理処理」の一例である。
以上で説明したS301〜S313の処理によって、活性追加あるいは活性交換されたIOデバイスに割り当てられたバス番号は、バス番号テーブル126に保存される。
図15では、PCIユニット1を活性追加あるいは活性交換された後、運用を継続していた情報処理装置200を再起動した場合の処理が説明される。図15のS314〜S321の処理は、図12のS213〜S220の処理と同様である。そのため、説明は省略される。
第2実施形態では、デバイスドライバ223bのPCIバス番号通知部223eからバス番号が通知されると、BIOS225のPCIデバイスバス番号テーブル管理部125cは、通知されたバス番号をバス番号テーブル126に保存した。その結果、第2実施形態は、BIOS225のPCIバス番号設定部125aおよびOS823のIO初期化部824によって割り当てられたバス番号をバス番号テーブル126に保存できる。
第2実施形態では、BIOS125のPCIバス番号設定部125aは、バス番号テーブル126を参照して、バス番号をIOデバイスに割り当てた。その結果、第2実施形態では、第1実施形態と同様に、IOデバイスに割り当てられるバス番号の変更が抑制される。
<第3実施形態>
第1実施形態および第2実施形態では、バス番号テーブルはIOユニットのROMに保存された。第3実施形態では、情報処理装置の管理を行うコントローラにバス番号テーブルが保存される形態について説明する。情報処理装置の管理を行うコントローラは、サービスプロセッサあるいはベースボード・マネージメント・コントローラ(BMC)とも称される。以下、本明細書では、情報処理装置の管理を行うコントローラをサービスプロセッサと称する。以下、図16〜図18を参照して、第3実施形態について説明する。なお、第1実施形態と共通の構成要素については同一の符号を付し、その説明は省略される。
図16は、第3実施形態の情報処理装置300を例示する図である。情報処理装置300は、実施形態1の情報処理装置100のIOユニット820の代わりにIOユニット320を備える。また、情報処理装置300は、実施形態1の情報処理装置100に対して、さらに、サービスプロセッサ340を備える。IOユニット320およびサービスプロセッサ340は、サーバ管理バスB2で接続されている。
IOユニット320は、実施形態1のIOコントローラ820と異なり、IOコントローラ821に代えてIOコントローラ321を備える。IOコントローラ321には、実施形態1のIOコントローラ821に対して、さらに、サービスプロセッサ340と接続されるバスインタフェース321aが追加されている。
BIOSファームウェア325は、ROM827に保存される。BIOSファームウェア325は、以下、本明細書において、BIOS325とも称する。BIOS325は、PCIバス番号設定部125a、PCIバス番号取得部125bおよびサービスプロセッサ通信部325aを含む。
サービスプロセッサ通信部325aは、サービスプロセッサ340との通信を行う。サービスプロセッサ通信部325aは、例えば、IOデバイスに割り当てられているバス番号をサービスプロセッサ340に通知する。また、サービスプロセッサ通信部325aは、サービスプロセッサ340に対し、IOデバイスのバス番号テーブル343aに保存されているバス番号を問い合わせる。
サービスプロセッサ340は、情報処理装置300の管理に用いられる。サービスプロセッサ340は、コントローラ341、バスインタフェース342、メモリ343および
ROM344を備える。サービスプロセッサ340は、サーバ管理バスB2によってIOユニット320と接続されている。
メモリ343は、例えば不揮発性メモリである。メモリ343には、IOデバイスのバス番号テーブル343aが保存されている。IOデバイスのバス番号テーブル343aは、以下、本明細書において、バス番号テーブル343aとも称する。バス番号テーブル343aは、サービスプロセッサ340上に保存されていることを除いて、バス番号テーブル126と同様である。バス番号テーブル343aは、「アドレス情報記憶部」の一例である。
ROM344に保存されているファームウェアは、IOデバイスバス番号テーブル管理部344aおよびBIOS通信部344bを含む。IOデバイスバス番号テーブル管理部344aは、サービスプロセッサ340上に保存されていることを除いて、IOデバイスバス番号テーブル管理部125cと同様である。IOデバイスバス番号テーブル管理部344aは、「対応情報管理部」の一例である。BIOS通信部344bは、サービスプロセッサ340とBIOS325との通信を行う。BIOS通信部344bは、例えば、バス番号テーブル343aに保存されているバス番号をサービスプロセッサ通信部325aに通知する。BIOS通信部344bは、例えば、サービスプロセッサ通信部325aからIOデバイスに割り当てられたバス番号を受信する。
図17および図18は、情報処理装置300にPCIユニットを活性追加あるいは活性交換した場合の処理の流れを例示する図である。ここでは、図3の構成で起動された情報処理装置300に対して、図4のようにPCIユニット1が活性追加された場合を想定して説明する。以下、図17および図18を参照して、情報処理装置300にPCIユニット1を活性追加あるいは活性交換した場合の処理の流れを説明する。
図17のS401の処理は、図10のS201の処理と同様である。そのため、説明は省略される。
S402では、BIOS325のサービスプロセッサ通信部325aは、サービスプロセッサ340に対し、バス番号テーブル343aに保存されているバス番号を問い合わせる。サービスプロセッサ通信部325aは、サービスプロセッサ340への問い合わせにIntelligent Platform Management Interface(IPMI)コマンドを用いればよい。IPMIは、例えば、情報処理装置300のハードウェア監視に用いられるインターフェースである。
S403では、サービスプロセッサ340のIOデバイスバス番号テーブル管理部344aは、サービスプロセッサ340のバス番号テーブル343aを参照する。IOデバイスバス番号テーブル管理部344aは、バス番号テーブル343aのバス番号12に記憶されているバス番号がすべて0であるか確認する。
S404では、サービスプロセッサ340のBIOS通信部344bは、バス番号テーブル343aに保存されているバス番号をBIOS325に通知する。
S405〜S413の処理は、図10のS203〜211の処理と同様である。そのため、説明は省略される。
S414〜S415では、BIOS325のサービスプロセッサ通信部325aは、BIOS325のPCIバス番号取得部125bが取得したバス番号をサービスプロセッサ340のBIOS通信部344bに通知する。サービスプロセッサ通信部325aは、例
えば、IPMIコマンドによってBIOS通信部344bにバス番号を通知すればよい。
S416では、サービスプロセッサ340のIOデバイスバス番号テーブル管理部344aは、BIOS通信部344bが受信したバス番号をバス番号管理テーブル343aに書き込む。S416の処理は、「対応情報管理処理」の一例である。
S417〜S419の処理は、図12のS213〜S215の処理と同様である。そのため、説明は省略される。
S420〜S422の処理は、図17のS402〜S404の処理と同様である。そのため、説明は省略される。S423〜S426の処理は、図12のS217〜220の処理と同様である。そのため、説明は省略される。
第3実施形態では、IOデバイスの活性追加あるいは活性交換を契機として、IOデバイスバス番号テーブル管理部344aが、IOデバイスに割り当てられたバス番号をバス番号テーブル343aに保存した。その結果、第3実施形態は、BIOS325のPCIバス番号設定部125aおよびOS823のIO初期化部824によって割り当てられたバス番号をバス番号テーブル126に保存できる。
第3実施形態では、BIOS325のPCIバス番号設定部125aは、バス番号テーブル343aを参照して、バス番号をIOデバイスに割り当てた。その結果、第3実施形態では、第1実施形態と同様に、IOデバイスに割り当てられるバス番号の変更が抑制される。
以上で開示した実施形態や変形例はそれぞれ組み合わせる事ができる。
<その他>
以上の第1実施形態〜第3実施形態を含む実施形態に関し、更に以下の態様を開示する。
(付記1)
情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部と、
前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当部と、
前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当部によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を更新する対応情報管理部と、
を備える情報処理装置。
(付記2)
前記対応情報管理部は、前記第2のアドレス情報割当部によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得し、前記アドレス情報記憶部に記憶される前記関係を更新する、
付記1に記載の情報処理装置。
(付記3)
前記対応情報管理部は、前記第2のアドレス情報割当部によって割り当てられた前記アドレス情報が通知されると、前記アドレス情報記憶部に記憶される前記関係を更新する、
付記1に記載の情報処理装置。
(付記4)
情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部を備える情報処理装置が、
前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当処理と、
前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当処理によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を更新する対応情報管理処理と、
を実行する情報処理方法。
(付記5)
前記対応情報管理処理は、前記第2のアドレス情報割当処理によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得する処理と、前記アドレス情報記憶部に記憶される前記関係を更新する処理とを含む、
付記4に記載の情報処理方法。
(付記6)
前記対応情報管理処理は、前記第2のアドレス情報割当処理によって割り当てられた前記アドレス情報が通知されると、前記アドレス情報記憶部に記憶される前記関係を更新する、
付記4に記載の情報処理方法。
(付記7)
情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部を備える情報処理装置に、
前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当処理と、
前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当処理によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を更新する対応情報管理処理と、
を実行させるプログラム。
(付記8)
前記対応情報管理処理は、前記第2のアドレス情報割当処理によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得する処理と、前記アドレス情報記憶部に記憶される前記関係を更新する処理とを含む、
付記7に記載のプログラム。
(付記9)
前記対応情報管理処理は、前記第2のアドレス情報割当処理によって割り当てられた前
記アドレス情報が通知されると、前記アドレス情報記憶部に記憶される前記関係を更新する、
付記7に記載のプログラム。
100、200、300、800・・・情報処理装置
810・・・CPUユニット
320、820・・・IOユニット
830・・・PCIユニット
824・・・IO初期化部
826・・・IO初期化完了部
125a、829・・・PCIバス番号設定部
125b、223d・・・PCIバス番号取得部
125c、344a・・・IOデバイス番号テーブル管理部
126、343a・・・IOデバイスのバス番号テーブル
161・・・第1アドレス割当部
162・・・第2アドレス割当部
163・・・対応情報管理部
164・・・アドレス情報取得部
165・・・対応情報記憶部
223e・・・PCIバス番号通知部
225b・・・PCIバス番号受信部
325a・・・サービスプロセッサ通信部
340・・・サービスプロセッサ
344b・・・BIOS通信部

Claims (3)

  1. 情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部と、
    前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当部と、
    前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当部によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を更新する対応情報管理部と、を備え、
    前記対応情報管理部は、前記第2のアドレス情報割当部によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得し、前記アドレス情報記憶部に記憶される前記関係を更新する、
    情報処理装置。
  2. 情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部を備える情報処理装置が、
    前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当処理と、
    前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当処理によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情
    報との関係を更新する対応情報管理処理と、を実行し、
    前記対応情報管理処理は、前記第2のアドレス情報割当処理によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得し、前記アドレス情報記憶部に記憶される前記関係を更新する、
    情報処理方法。
  3. 情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を記憶するアドレス情報記憶部を備える情報処理装置に、
    前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されている場合に前記記憶された関係にしたがって前記情報処理装置に接続されているデバイスにアドレス情報を付与し、前記情報処理装置の起動時に前記アドレス情報記憶部に前記関係が記憶されていない場合に所定の手順で前記情報処理装置に接続されているデバイスにアドレス情報を付与する第1のアドレス情報割当処理と、
    前記情報処理装置の稼働中に接続されたデバイスに対して、前記情報処理装置に接続済みのデバイスに付与されたアドレス情報と重複しないアドレス情報を付与する第2のアドレス情報割当処理によってアドレス情報が付与されると、前記アドレス情報記憶部に記憶される、前記情報処理装置に接続されるデバイスと前記デバイスに付与されるアドレス情報との関係を更新する対応情報管理処理と、を実行させ、
    前記対応情報管理処理は、前記第2のアドレス情報割当処理によるアドレスの割り当ての完了が通知されると、前記情報処理装置に接続されるすべてのデバイスから、それぞれのデバイスに付与されるアドレス情報を取得し、前記アドレス情報記憶部に記憶される前記関係を更新する、
    プログラム。
JP2014116731A 2014-06-05 2014-06-05 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP6331724B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014116731A JP6331724B2 (ja) 2014-06-05 2014-06-05 情報処理装置、情報処理方法およびプログラム
US14/722,204 US9672166B2 (en) 2014-06-05 2015-05-27 Address information management apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014116731A JP6331724B2 (ja) 2014-06-05 2014-06-05 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015230600A JP2015230600A (ja) 2015-12-21
JP6331724B2 true JP6331724B2 (ja) 2018-05-30

Family

ID=54769679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014116731A Expired - Fee Related JP6331724B2 (ja) 2014-06-05 2014-06-05 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US9672166B2 (ja)
JP (1) JP6331724B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6089835B2 (ja) * 2013-03-19 2017-03-08 富士通株式会社 情報処理装置及び制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106428A (ja) * 1994-10-04 1996-04-23 Fujitsu Ltd Cpuシステム
US5835760A (en) * 1995-10-13 1998-11-10 Texas Instruments Incorporated Method and arrangement for providing BIOS to a host computer
JPH11328088A (ja) * 1998-05-13 1999-11-30 Nec Eng Ltd Scsi idアサイン方法、scsiインタフェース、及びscamプログラムを記録した記録媒体
US8631221B2 (en) * 2008-02-22 2014-01-14 Cisco Technology, Inc. Method and apparatus for allocating host memory for a memory-less add-on devices
JP5180729B2 (ja) 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
US8738816B2 (en) * 2010-10-30 2014-05-27 Lsi Corporation Management of detected devices coupled to a host machine

Also Published As

Publication number Publication date
US9672166B2 (en) 2017-06-06
JP2015230600A (ja) 2015-12-21
US20150356032A1 (en) 2015-12-10

Similar Documents

Publication Publication Date Title
CN110083494B (zh) 在多核心环境中管理硬件错误的方法和装置
US10423425B2 (en) System and method for runtime update of ESRT table for hot-pluggable disks
JP4841632B2 (ja) ロジカル・パーティションにプロセッサを割り当てるための方法、装置、およびプログラム
JP4934642B2 (ja) 計算機システム
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
US10990415B2 (en) Disk management method and apparatus in ARM device and ARM device
TW201610850A (zh) 用於管理電腦系統中之基本輸入輸出系統組態之方法、管理裝置、及電腦可讀取媒體
JP5216336B2 (ja) 計算機システム、管理サーバ、および、不一致接続構成検知方法
EP2942712A1 (en) Server control method and server control device
US20120042307A1 (en) System and method for creating memory interface of computing device
US10482049B2 (en) Configuring NVMe devices for redundancy and scaling
JP5195756B2 (ja) Pciデバイスのi/o空間要求抑止方法
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP6331724B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6745405B2 (ja) ストレージシステム及びマッピング方法
JP2011204077A (ja) 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム
WO2013136457A1 (ja) 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法
JP2007323142A (ja) 情報処理装置およびその制御方法
JP6331505B2 (ja) 起動制御装置、起動制御方法、及び起動制御プログラム
JP7184424B2 (ja) 更新処理装置、更新処理方法、及びプログラム
JP2012103999A (ja) メモリエラーによるシステム停止を軽減するためのメモリ制御方法
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
JP2018124618A (ja) 情報処理装置、制御プログラム、及び制御方法
JP2018116417A (ja) 情報処理装置および管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180322

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: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6331724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees