JP2010218449A - リソース割り当てシステム、及びリソース割り当て方法 - Google Patents

リソース割り当てシステム、及びリソース割り当て方法 Download PDF

Info

Publication number
JP2010218449A
JP2010218449A JP2009067002A JP2009067002A JP2010218449A JP 2010218449 A JP2010218449 A JP 2010218449A JP 2009067002 A JP2009067002 A JP 2009067002A JP 2009067002 A JP2009067002 A JP 2009067002A JP 2010218449 A JP2010218449 A JP 2010218449A
Authority
JP
Japan
Prior art keywords
bios
resource allocation
driver
boot
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009067002A
Other languages
English (en)
Other versions
JP4692912B2 (ja
Inventor
Yoji Tabuchi
陽治 田渕
Kayo Kuroyama
佳代 黒山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009067002A priority Critical patent/JP4692912B2/ja
Priority to US12/726,469 priority patent/US8312257B2/en
Publication of JP2010218449A publication Critical patent/JP2010218449A/ja
Application granted granted Critical
Publication of JP4692912B2 publication Critical patent/JP4692912B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】コンピュータシステムにおいて、本来、POST中に一度しか実施しないHWリソース割り当てを、BIOS及びOptionROM上のドライバが動作するPre−Boot環境と、OSブート(OS Boot)及びOS運用状態にあるOS環境とで、二度実施する。
【解決手段】BIOSは、拡張IO空間を使う為の情報をOSに通知するACPIを保有すると共に、チップセット及びPCIカードを初期化する。また、PCIカード内のOptionROMを起動することにより、Pre−Boot環境下でPCIカードを制御する。チップセットは、ハードウェア(HW)を構成するLSI群であり、PCIコンフィグレーション空間を設定することにより、1KBと4KBモードを切り替える。OptionROMは、Pre−Bootサービスを経由してPCIカードを制御する。OSドライバは、OSサービスを経由してPCIカードを制御する。
【選択図】図1

Description

本発明は、リソース(資源)割り当てシステムに関し、特に大規模構成システムにおけるハードウェア(HW)リソース割り当てを行うリソース割り当てシステムに関する。
大規模構成システムにおいて、PCI(Peripheral Components Interconnect)カードを大量に搭載しようとした場合、システムリソース(資源)の枯渇が懸念される。
特に、「時代遅れ」のインターフェース(Legacy Interface)のIO(Input/Output)空間であるレガシーIO(Legacy−IO)空間に関しては、64KB(Kilo Bytes)という制限がある。1ブリッジデバイス(1Slot)当たり4KBの割り当てが基本とされているので、最大16Slot分しかIO空間を割り当てられないことになる。
その対策として、2つの方法がある。
1つ目は、1KB粒度(granularity)でIO空間を割り当ることである。なお、粒度は、大規模マルチプロセッサシステム等で大量の数値データを処理する際に、処理内容を細分化して複数のプロセッサの各々に割り当てるための「処理の細分化の単位」である。1KB粒度とは、粒度の単位が1KBであることを示す。
具体的には、チップセット(Chipset)が1KB粒度でIO空間の割り当てを可能とする機能を有し、その機能を利用することで1KB粒度での割り当てが可能となる。
この手法は、PCI標準仕様から逸脱するため、Pre−Boot環境のように直接ブリッジデバイス(Bridge)を意識しない場合は問題ないが、OS(Operating System)に対してはブリッジデバイスを隠蔽しなければならない。
しかし、PCIカードに代わるPCI−Express世代のデバイスでは、ブリッジデバイスに相当するPCI−ExpressのルートポートをOSが直接制御することで、PCI−Expressの機能を有効利用できるようになるものである。
そのため、OSにブリッジデバイスを隠蔽することは、PCI−ExpressをサポートしているOSで、そのPCI−Expressの機能が使用できなくなることを意味する。
2つ目は、64KB以上のIO空間を割り当て可能とする「拡張IO空間」を使用する方法が存在する。
この拡張IO空間の機能は、ACPI標準仕様(Advenced Configuration and Power Interface Specification)でそのアクセス方法が規定されており、OSが使用することを前提とした機能である。
そのため、Pre−Boot環境でBIOS(Basic Input/Output System)がこの機能を使用するためには、BIOSに新たな機能追加が必要であり、BIOSの標準仕様に逸脱してしまう。
特開2001−229117号公報(特許文献1)に拡張ユニットの制御方法、コンピュータ、記録媒体及び伝送媒体が開示されている。この関連技術では、PCとドッキング・ステーションの接続が検出されてBIOS(SMIハンドラ)が起動されると、ISAバスに接続されているゲート・アレイへのI/O空間の割り当てをディスエーブルする。また、ドッキング・ステーションのPCI−PCIブリッジのI/OウインドウにI/O空間を指定する。更に、PCI IDE(Integrated Drive Electronics)コントローラのコマンド・ブロック・レジスタにI/O空間を割り当てる。そして、レジスタにATAコマンドを送ることでドッキング・ステーションに実装されているデバイスの初期化やデータ転送速度のプログラミング、パスワードの解除等の処理を行い、I/O空間の割り当てを解除してドッキング・ステーションとの接続完了をOSに通知する。
特開2008−191957号公報(特許文献2)にコンピュータシステム及びそのファイルシステム自動設定OS起動方式が開示されている。この関連技術では、処理開始時、装置の初期化が完了したところで、SCSI(Small Computer System Interface)カードが搭載されているか否かを、SCSIカードのベンダIDとデバイスIDとから判断する。SCSIカードが搭載されていた場合は、OS立ち上げ(OSブート)に有効な起動プログラムであるOptionROM(拡張ROM)の設定が存在するか否かを判定する。初めてのOS立ち上げ時には、有効なOptionROMの設定が存在しないので、自動OptionROM有効設定処理が起動される。自動OptionROM有効設定処理では、SCSIカードに接続されたDISKをサーチする必要があるので、最初のSCSIカード搭載スロットを検知するとともに、SCSIカード搭載スロット番号まで検知して、これを保持する。検知されたスロットに対して、OptionROMを仮に有効にして、検知されたSCSIカード搭載スロットに装着されたSCSIカード配下のDISK内部のFS(ファイルシステム)を読み出す。そして、DISK内にOSがインストールされている、OS起動可能なファイルシステムであるか否かを判定し、ファイルシステムがOS起動可能であれば、OptionROMの設定が有効であることを示す情報を、CMOSからなるRAMに格納する。その後、スロット番号を、検知された対象スロット番号と比較して、最終スロット番号であるか否かを判定する。スロット番号が最終でない場合は、前回の対象スロット番号を「1」だけカウントアップしたSCSIスロット番号を、次の対象スロット番号として保持する。スロット番号が最終であった場合は、RAM上のOptionROMの設定に変更があったか否かを判定して、変更があったときは、装置の再起動が必要になるので、装置の初期化を行う。
特開平10−293684号公報(特許文献3)にコンピュータシステム及びその立ち上げ制御方法が開示されている。この関連技術では、BIOS−ROMのシステムBIOSの内、POST(Power−On−Self−Test)ルーチン及び拡張用ドライバルーチンなどを含むシステムBIOSについてはプロテクトモード化されており、そのシステムBIOSについてはプロテクトモードでのみアクセス可能な「100000h」以降のCPUアドレス空間に割り当てられ、BIOSドライバ群を含むシステムBIOSについては従来通りリアルモードでアクセス可能なアドレス空間「F0000h〜FFFFFh」に割り当てられる。
なお、POSTとは、コンピュータ等の電源投入時に自動的に実行される各機器のテストであり、ハードウェア(HW)に異常がないかを調べるテストである。
特開2001−229117号公報 特開2008−191957号公報 特開平10−293684号公報
従来の課題に対し、対策として2つ考えられる。
1つ目は、1デバイス当たり1KBの割り当てを行う方法である。
しかしながら、PCI仕様書(PCI−Spec)上、ブリッジデバイス(Bridge)へのIO空間の割り当ては4KB粒度での割り当てが規定されている。
そのため、この方法を採用する場合、OSに対してブリッジデバイスを隠蔽しなければならないという課題が発生する。
2つ目は、64KB以上のIO空間を使用可能とする「拡張IO空間」というアドレス変換方式を活用する方法である。
この方式は、OSに対する仕様で新たに追加されたものであり、最新のOSでサポートされ始めている。
一方、BIOS(Basic Input/Output System)、及びPCIカードに搭載されているOptionROM(拡張ROM)上のドライバは、この方式をサポートしていない。
この方式をサポートする場合、BIOS及びOptionROM上のドライバに拡張IO空間をサポートするための機能追加が必要である。
しかしながら、サーバベンダ(Server Vendor)が独自にBIOSに機能追加を行うと、BIOSの標準仕様から逸脱して互換性が保てなくなるため、機能追加は現実的ではない。
このような事情から、大規模IOシステムを実現するための新たなIO空間リソース割り当て方式を生み出す必要があった。
本発明のリソース割り当てシステムは、OptionROM上のドライバと、OSドライバとを含む。OptionROM上のドライバは、PCI(Peripheral Components Interconnect)デバイスに搭載され、BIOS(Basic Input/Output System)によってメモリ上に配置され、Pre−Boot環境下で、ハードウェア(HW)リソース割り当てを実施する。OSドライバは、BIOSによってメモリ上に配置され、OS(Operating System)環境下で、ハードウェア(HW)リソース割り当てを実施する。
本発明のリソース割り当て方法では、PCI(Peripheral Components Interconnect)デバイスに搭載され、BIOS(Basic Input/Output System)によってメモリ上に配置されたOptionROM上のドライバにより、Pre−Boot環境下で、ハードウェア(HW)リソース割り当てを実施する。また、BIOSによってメモリ上に配置されたOSドライバにより、OS(Operating System)環境下で、ハードウェア(HW)リソース割り当てを実施する。
コンピュータシステムにおいて、OptionROM(拡張ROM)上のドライバが、拡張IO空間をサポートしていなくても、OSへの拡張IO空間機能の提供が可能となる。
本発明のリソース割り当てシステムの構成例を示す概念図である。 本発明のリソース割り当てシステムの動作を示すフローチャートである。 実施例における動作を示すフローチャートである。
以下に、本発明の実施形態について添付図面を参照して説明する。
図1に示すように、本発明のリソース割り当てシステムは、PCIBOX1と、BIOS(Basic Input/Output System)2と、Pre−Boot環境3と、OS環境4を含む。
PCIBOX1は、ハードウェア(HW)と略すプラットフォーム上に存在し、チップセット(Chipset)及びPCIカードを含むBOXである。PCIBOX1の個数は、システム構成によって増減するが、ここでは簡略化のため、PCIBOX1が1つのみ存在するケース(事例)について説明する。但し、実際には、PCIBOX1は、複数でも良い。
PCIBOX1は、チップセット(Chipset)11と、PCIカード12(12−i、i=1〜n:nはカード数)を含む。
チップセット(Chipset)11は、ハードウェア(HW)を構成するLSI群である。チップセット(Chipset)11は、内部のブリッジデバイス(Bridge)に対するIO空間の割り当て方式として、4KBモード、及び1KBモードをサポートしており、PCIコンフィグレーション空間を設定することにより、4KBモードと1KBモードを切り替える。
チップセット(Chipset)11は、ブリッジ111(111−i、i=1〜n)を含む。
ブリッジ111(111−i、i=1〜n)は、チップセット(Chipset)11に内在するブリッジデバイスである。
PCIカード12(12−i、i=1〜n)は、OptionROM(拡張ROM)を搭載している。PCIカード12は、PCIデバイスの一種である。PCIカード12の例として、ネットワークカードやグラフィックカード、サウンドカード等が考えられる。但し、実際には、これらの例に限定されない。
BIOS2は、ハードウェア(HW)と略すプラットフォームを制御するファームウェア(FW)である。実際には、BIOS2は、このファームウェアと、当該ファームウェアを格納するメモリと、当該ファームウェアを実行する処理装置の組み合わせにより実現される。処理装置の例として、CPU(Central Processing Unit)やマイクロプロセッサ(microprocessor)、又は同様の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。但し、実際には、これらの例に限定されない。
BIOS2は、チップセット(Chipset)11及びPCIカード12(12−i、i=1〜n)を初期化する。また、BIOS2は、PCIカード12(12−i、i=1〜n)内のOptionROMを起動することにより、Pre−Boot環境下でPCIカードを制御する。
BIOS2は、リソース管理テーブル21と、ACPI(Advenced Configuration and Power Interface)テーブル22を含む。
リソース管理テーブル21は、IO空間を要求するPCIカード12(12−i、i=1〜n)の上位のブリッジ111(111−i、i=1〜n)に割り当てるIO空間のレンジを示す。
ACPIテーブル22は、PCIBOX1のハードウェア(HW)構成をOSに認識させるための標準機能であり、拡張IO空間を使用するための情報をOSに通知する役割を持っている。
Pre−Boot環境3、及びOS環境4は、Pre−Boot環境3及びOS環境4のそれぞれの動作を定義したソフトウェアと、当該ソフトウェアを格納するメモリと、当該ソフトウェアを実行する処理装置の組み合わせにより実現される。
Pre−Boot環境3は、OptionROM31と、Pre−Bootサービス32を含む。
OptionROM31は、Pre−Bootサービス32を経由してPCIカード12(12−i、i=1〜n)を制御する。ここでは、OptionROM31は、PCIカード12(12−i、i=1〜n)に搭載されたOptionROM上のドライバを示す。OptionROM31は、BIOS2によりメモリ上にロードされる。
Pre−Bootサービス32は、OptionROM31に対して、ハードウェア(HW)にアクセスするためのサービスを提供する。
OS環境4は、OSドライバ41と、OSサービス42を含む。
OSドライバ41は、OS環境下のドライバであり、OSサービス42を経由してPCIカード12(12−i、i=1〜n)を制御する。
OSサービス42は、拡張IO空間への変換機能を有しており、ACPIテーブル22から取得した情報を基に、拡張IO空間の制御を行う。
図2を参照して、本実施形態の動作について説明する。
(1)ステップA01:「立ち上げ」
BIOS2は、ハードウェア(HW)と略すプラットフォームの立ち上げ(起動)の際に、POST(Power−On−Self−Test)を開始する。
(2)ステップA02:「デバイスサーチ」
BIOS2は、デバイスサーチを実行し、PCIBOX1内のPCIカード12(12−i、i=1〜n)を探索する。
(3)ステップA03:「リソース管理テーブル作成」
BIOS2は、PCIカード12(12−i、i=1〜n)がIO空間を要求している場合、当該PCIカード12(12−i、i=1〜n)の上位のブリッジ111(111−i、i=1〜n)に割り当てるIO空間のレンジを決定し、決定された内容を、リソース管理テーブル21として保持する。
(4)ステップA04:「Pre−Boot環境向けチップセット(Chipset)初期化」
ここでは、Pre−Boot環境3は、EFI(Extensible Firmware Interface)環境とする。BIOS2は、リソース管理テーブル21を基に、EFI環境(Pre−Boot環境3)向けのLegacy−IO空間を使用した1KB粒度(第1粒度)の割り当てに従って、チップセット(Chipset)11、及びチップセット(Chipset)11に内在するブリッジ111(111−i、i=1〜n)の初期化を実施する。
(5)ステップA05:「OptionROM起動」
BIOS2は、Pre−Boot環境下で動作可能なPCIカード12(12−i、i=1〜n)のOptionROM31を起動する。これにより、Pre−Boot環境3での処理が開始する。BIOS2は、OptionROM31を起動することによって、PCIカード12(12−i、i=1〜n)の制御が可能となり、SCSI、NIC等のブートパスの認識が可能となる。
(6)ステップA06:「OSブート開始」
OptionROM31は、Pre−Boot環境下で、ブートパスからブートローダーを起動し、OS立ち上げ(OSブート)を開始する。
(7)ステップA07:「OS環境向けチップセット(Chipset)初期化」
BIOS2は、Pre−Boot環境3での処理が終了し、OS立ち上げ処理に移行する直前で、リソース管理テーブル21を基に、OS環境2向けの拡張IO空間を使用した4KB粒度(第2粒度)の割り当てに従ってチップセット(Chipset)11、及びチップセット(Chipset)11に内在するブリッジデバイスの初期化を実施する。その後、BIOS2は、Pre−Boot環境3での処理を終了し、OptionROM31を停止する。
(8)ステップA08:「OSブート完了」
BIOS2は、OptionROM31からOS側のドライバ(OSドライバ41)に制御を移行する。OSドライバ41は、PCIカード12(12−i、i=1〜n)の再初期化を実施する。これにより、OSブートが完了し、OS環境4での処理が開始する。
このように、Pre−Boot環境からOS環境に切り替るタイミングで、IO空間を再設定することで、最適なリソース割り当てを行うことが可能となる。
次に、図3のフローチャートを参照して、本発明の実施例の動作について詳細に説明する。
(1)ステップB01:「POST開始」
まず、ハードウェア(HW)と略すプラットフォームへの電源投入後、BIOS2は、POSTを開始する。
(2)ステップB02:「デバイスサーチ」
BIOS2は、デバイスサーチを実施し、チップセット(Chipset)11内のブリッジ111(111−i、i=1〜n)、及びその配下に搭載されているPCIカード12(12−i、i=1〜n)を認識する。
(3)ステップB03:「リソース管理テーブル作成」
BIOS2は、認識したブリッジ111(111−i、i=1〜n)、及びPCIカード12(12−i、i=1〜n)に対して割り当てるIO空間のレンジを決定し、リソース管理テーブル21として保持する。この際、BIOS2は、リソース管理テーブル21として、EFI環境用のLegacy−IO空間のみを使用した1KB粒度(第1粒度)の割り当てテーブル(EFIテーブル)と、OS環境用の拡張IO空間を使用した4KB粒度(第2粒度)の割り当てテーブル(OSテーブル)の2種類を作成する。
(4)ステップB04:「EFI環境向けチップセット(Chipset)初期化」
次に、BIOS2は、チップセット(Chipset)11のIO空間の割り当てを1KBモードへ切り替える処理を実施し、EFI環境用のリソース管理テーブル21(EFIテーブル)を基に、ブリッジ111(111−i、i=1〜n)及び、PCIカード12(12−i、i=1〜n)に対し、Legacy−IO空間を割り当て、その他チップセット(Chipset)としての初期化処理を実施する。
(5)ステップB05:「ACPIテーブル作成」
次に、BIOS2は、リソース管理テーブル21を基に、ACPIテーブル22を作成する。このACPIテーブル22には、OS環境用のリソース管理テーブル21(OSテーブル)を基に、各ブリッジに割り当てられたIO空間のレンジを定義するとともに、拡張IO空間としてのアドレス変換方式についても定義する。
(6)ステップB06:「OptionROM起動」
その後、BIOS2は、各PCIカード12(12−i、i=1〜n)のOptionROM31を起動し、メモリ上に展開する。すなわち、BIOS2は、各PCIカード12(12−i、i=1〜n)を制御するOptionROM31をロードする。これにより、OptionROM31は、SCSIカード等のストレージ系のデバイス配下のDISK(ファイルシステム)を認識する。ここでは、OptionROM31は、EFIドライバとして機能する。
(7)ステップB07:「ブートローダー起動」
OptionROM31は、ブートローダーを起動することで、OS立ち上げ(OSブート)を行う。
(8)ステップB08:「ExitBootService」
その後、OptionROM31は、OSブートに必要な情報をDISKからメモリ上に一旦展開した後、Pre−Bootサービス32として、Pre−Boot環境のサービス「ExitBootService」をコールし(呼び出し)、このサービス内でOS環境用のリソース管理テーブル21を参照し、ブリッジ111(111−i、i=1〜n)及びPCIカード12(12−i、i=1〜n)に対し、拡張IO空間を使用した4KB粒度での設定を行う。
(9)ステップB09:「OSブート」
「ExitBootService」完了後、OSはドライバをロードすることによりPCIカード12(12−i、i=1〜n)の制御が完全にOS側に移行し、OSブートが完了する。すなわち、OSドライバ41は、OSによりメモリ上にロードされて、PCIカード12(12−i、i=1〜n)の制御を、OptionROM31から完全に引き継ぐ。
ここで、ステップB08(ExitBootService)の動作について、以下に詳述する。
(1)ステップB081:「Bridge/PCIカードデバイスの停止(BusReset等)」
OptionROM31は、OSブートに必要な情報をDISKからメモリ上に一旦展開した後、Pre−Bootサービス32として、Pre−Boot環境のサービス「ExitBootService」をコールし(呼び出し)、Pre−Boot環境下で使用していたブリッジ111(111−i、i=1〜n)の利用を停止する。なお、この時点でデバイスが動作することは無いが、IB(Interface Bus)のTXN(transmit differential pair)が残っている可能性を考慮して、確実に停止する。
(2)ステップB082:「チップセット(Chipset)/内部ブリッジデバイスの再初期化」
OptionROM31は、このサービス「ExitBootService」内において、OS環境用のリソース管理テーブル21を基に、ブリッジ111(111−i、i=1〜n)及びPCIカード12(12−i、i=1〜n)に対し、拡張IO空間を使用した4KB粒度でのPCIデバイスのルーティングを行う。
(3)ステップB083:「OSドライバロード(〜OSブート)」
BIOS2は、「ExitBootService」完了後、OSドライバ41をロードする。このとき、BIOS2は、PCIカード12(12−i、i=1〜n)の制御を、OptionROM31からOSドライバ41に完全に移行する。その後、BIOS2は、OptionROM31を停止する。OSドライバ41は、PCIカード12(12−i、i=1〜n)を初期化し、新しいリソース(レンジ)を認識し、PCIカード12(12−i、i=1〜n)の使用を開始する。
本発明により、OptionROM上のドライバが、拡張IO空間を未サポートであっても、OSへの拡張IO空間機能の提供が可能となる。
その理由は、以下の通りである。
例えば、BIOS及びOptionROMが動作するPre−Boot環境では、拡張IO空間をサポートしていないが、1KBのハードウェア(HW)リソース割り当てが可能である。
これに対し、OSブート(OS Boot)及びOS運用状態にあるOS環境では、拡張IO空間をサポートしているが、1KBのハードウェア(HW)リソース割り当ては不可能である。
上記のような状況に対し、本発明では、それぞれの環境に合ったハードウェア(HW)リソース割り当てを、OSブート直前で切り替えるためである。
以上のように、本発明は、コンピュータシステムにおいて、本来、POST中に一度(一回)しか実施しないハードウェア(HW)リソース割り当てを、BIOS及びOptionROM上のドライバが動作するPre−Boot環境と、OSブート(OS Boot)及びOS運用状態にあるOS環境とで、二度(複数回)実施することにより、標準BIOSではサポートしていない拡張IO空間の機能を、OSブート後に使用可能にする。
本発明では、OSは拡張IO空間をサポート可能だが、ブリッジデバイスに対する1KB粒度での割り当てが不可能な点と、Pre−Boot環境においてBIOSは拡張IO空間をサポート不可能だが、1KB粒度での割り当ては可能という、相反する2つの環境に対応する解決手段を有する。
本発明によれば、大規模なコンピュータシステムにおいて、リソースを要求するPCIカードが多数存在するケースで、チップセット(Chipset)及びPCIカードに対しリソース割り当てを行うBIOS上のプログラムとして適用できる。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
1… PCIBOX
11… チップセット(Chipset)
111(−i、i=1〜n)… ブリッジ(Bridge)
12(−i、i=1〜n)… PCIカード
2… BIOS(Basic Input/Output System)
21… リソース管理テーブル
22… ACPI(Advenced Configuration and Power Interface)テーブル
3… Pre−Boot環境
31… OptionROM(拡張ROM)
32… Pre−Bootサービス
4… OS(Operating System)環境
41… OSドライバ
42… OSサービス

Claims (9)

  1. PCI(Peripheral Components Interconnect)デバイスに搭載され、BIOS(Basic Input/Output System)によってメモリ上に配置され、Pre−Boot環境下で、ハードウェア(HW)リソース割り当てを実施するOptionROM上のドライバと、
    前記BIOSによってメモリ上に配置され、OS(Operating System)環境下で、ハードウェア(HW)リソース割り当てを実施するOSドライバと
    を含む
    リソース割り当てシステム。
  2. 請求項1に記載のリソース割り当てシステムであって、
    前記BIOSは、
    IO空間を要求するPCIデバイスの上位のブリッジデバイスに割り当てるIO空間のレンジを示すリソース管理テーブルと、
    ハードウェア(HW)構成、及び拡張IO空間を使用するための情報をOSに通知するためのACPI(Advenced Configuration and Power Interface)テーブルと
    を含み、
    前記リソース管理テーブルは、
    Pre−Boot環境用のLegacy−IO空間を使用した第1粒度の割り当てを定義したPre−Bootテーブルと、
    OS環境用の拡張IO空間を使用した第2粒度の割り当てを定義したOSテーブルと
    を含む
    リソース割り当てシステム。
  3. 請求項2に記載のリソース割り当てシステムであって、
    前記BIOSは、POST(Power−On−Self−Test)を開始した際に、前記OptionROM上のドライバを起動し、
    前記OptionROM上のドライバは、前記リソース管理テーブルを参照し、前記第1粒度の割り当てに従って、前記チップセット(Chipset)、及び前記チップセット(Chipset)に内在するブリッジデバイスの初期化を実施し、
    前記BIOSは、OS立ち上げ処理に移行する際に、前記OSドライバを起動し、
    前記OSドライバは、前記リソース管理テーブルを参照し、前記第2粒度の割り当てに従って、前記チップセット(Chipset)、及び前記ブリッジデバイスの初期化を実施する
    リソース割り当てシステム。
  4. 請求項3に記載のリソース割り当てシステムであって、
    前記OptionROM上のドライバは、OS立ち上げ処理に移行する際に、OSブートに必要な情報をDISKからメモリ上に一旦展開した後、Pre−Bootサービスを呼び出し、前記Pre−Boot環境下で使用していたデバイスの利用を停止し、前記Pre−Bootサービス内で、前記OSテーブルを参照し、前記ブリッジデバイス及び前記PCIデバイスに対し、前記第2粒度での設定を行う
    リソース割り当てシステム。
  5. 請求項1乃至4のいずれか一項に記載のリソース割り当てシステムで使用されるOptionROM。
  6. PCI(Peripheral Components Interconnect)デバイスに搭載され、BIOS(Basic Input/Output System)によってメモリ上に配置されたOptionROM上のドライバにより、Pre−Boot環境下で、ハードウェア(HW)リソース割り当てを実施し、
    前記BIOSによってメモリ上に配置されたOSドライバにより、OS(Operating System)環境下で、ハードウェア(HW)リソース割り当てを実施する
    リソース割り当て方法。
  7. 請求項6に記載のリソース割り当て方法であって、
    前記BIOSは、
    IO空間を要求するPCIデバイスの上位のブリッジデバイスに割り当てるIO空間のレンジを示すリソース管理テーブルと、
    ハードウェア(HW)構成、及び拡張IO空間を使用するための情報をOSに通知するためのACPI(Advenced Configuration and Power Interface)テーブルと
    を含み、
    前記リソース管理テーブルは、
    Pre−Boot環境用のLegacy−IO空間を使用した第1粒度の割り当てを定義したPre−Bootテーブルと、
    OS環境用の拡張IO空間を使用した第2粒度の割り当てを定義したOSテーブルと
    を含む
    リソース割り当て方法。
  8. 請求項7に記載のリソース割り当て方法であって、
    前記BIOSにより、POST(Power−On−Self−Test)を開始した際に、前記OptionROM上のドライバを起動し、
    前記OptionROM上のドライバにより、前記リソース管理テーブルを参照し、前記第1粒度の割り当てに従って、前記チップセット(Chipset)、及び前記チップセット(Chipset)に内在するブリッジデバイスの初期化を実施し、
    前記BIOSにより、OS立ち上げ処理に移行する際に、前記OSドライバを起動し、
    前記OSドライバにより、前記リソース管理テーブルを参照し、前記第2粒度の割り当てに従って、前記チップセット(Chipset)、及び前記ブリッジデバイスの初期化を実施する
    リソース割り当て方法。
  9. 請求項8に記載のリソース割り当て方法であって、
    前記OptionROM上のドライバにより、OS立ち上げ処理に移行する際に、OSブートに必要な情報をDISKからメモリ上に一旦展開した後、Pre−Bootサービスを呼び出し、前記Pre−Boot環境下で使用していたデバイスの利用を停止し、前記Pre−Bootサービス内で、前記OSテーブルを参照し、前記ブリッジデバイス及び前記PCIデバイスに対し、前記第2粒度での設定を行う
    リソース割り当て方法。
JP2009067002A 2009-03-18 2009-03-18 リソース割り当てシステム、及びリソース割り当て方法 Expired - Fee Related JP4692912B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009067002A JP4692912B2 (ja) 2009-03-18 2009-03-18 リソース割り当てシステム、及びリソース割り当て方法
US12/726,469 US8312257B2 (en) 2009-03-18 2010-03-18 System and method for performing hardware resource assignment in a large-scaled system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009067002A JP4692912B2 (ja) 2009-03-18 2009-03-18 リソース割り当てシステム、及びリソース割り当て方法

Publications (2)

Publication Number Publication Date
JP2010218449A true JP2010218449A (ja) 2010-09-30
JP4692912B2 JP4692912B2 (ja) 2011-06-01

Family

ID=42738633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009067002A Expired - Fee Related JP4692912B2 (ja) 2009-03-18 2009-03-18 リソース割り当てシステム、及びリソース割り当て方法

Country Status (2)

Country Link
US (1) US8312257B2 (ja)
JP (1) JP4692912B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178112A (ja) * 2011-02-28 2012-09-13 Nec Corp リソース割り当て判定装置、方法およびプログラム
US8479292B1 (en) * 2010-11-19 2013-07-02 Symantec Corporation Disabling malware that infects boot drivers

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104558B2 (en) 2013-03-28 2015-08-11 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Preventing out-of-space errors for legacy option ROM in a computing system
US10572434B2 (en) 2017-02-27 2020-02-25 International Business Machines Corporation Intelligent certificate discovery in physical and virtualized networks
CN108804230B (zh) * 2018-06-11 2020-05-26 苏州浪潮智能科技有限公司 一种根据pci设备的类型分配资源的方法、装置及介质
CN109710319B (zh) * 2018-12-06 2022-07-19 郑州云海信息技术有限公司 一种计算机在位硬盘的识别方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070946A (ja) * 2002-08-07 2004-03-04 Hewlett-Packard Development Co Lp CECCSRのためにACPIにおけるvendor−longディスクリプタを使用するシステムおよび方法
JP2004265043A (ja) * 2003-02-28 2004-09-24 Nec Corp コンピュータシステム、リソース割り当て方法およびプログラム
US20050066108A1 (en) * 2003-09-19 2005-03-24 Zimmer Vincent J. Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
JP2008071042A (ja) * 2006-09-13 2008-03-27 Nec Computertechno Ltd コンピュータシステムおよびそのi/o空間リソース割り当て方法
WO2009028007A1 (ja) * 2007-08-24 2009-03-05 Fujitsu Limited Pciデバイスのi/o空間要求抑止方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293684A (ja) 1997-04-17 1998-11-04 Toshiba Corp コンピュータシステムおよびその立ち上げ制御方法
JP2001229117A (ja) 2000-02-15 2001-08-24 Internatl Business Mach Corp <Ibm> 拡張ユニットの制御方法、コンピュータ、記録媒体及び伝送媒体
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US7080244B2 (en) * 2003-03-24 2006-07-18 Intel Corporation System and method for configuring hardware devices using a menu for platforms with EFI and legacy option-ROMs
US7334120B2 (en) * 2003-11-14 2008-02-19 Intel Corporation Firmware emulation environment for developing, debugging, and testing firmware components including option ROMs
US7500094B2 (en) * 2005-10-18 2009-03-03 American Megatrends, Inc. BIOS identification, initialization and management
JP4891107B2 (ja) 2007-02-05 2012-03-07 エヌイーシーコンピュータテクノ株式会社 コンピュータシステムおよび該コンピュータシステムで用いられるファイルシステム自動設定os起動方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070946A (ja) * 2002-08-07 2004-03-04 Hewlett-Packard Development Co Lp CECCSRのためにACPIにおけるvendor−longディスクリプタを使用するシステムおよび方法
JP2004265043A (ja) * 2003-02-28 2004-09-24 Nec Corp コンピュータシステム、リソース割り当て方法およびプログラム
US20050066108A1 (en) * 2003-09-19 2005-03-24 Zimmer Vincent J. Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
JP2008071042A (ja) * 2006-09-13 2008-03-27 Nec Computertechno Ltd コンピュータシステムおよびそのi/o空間リソース割り当て方法
WO2009028007A1 (ja) * 2007-08-24 2009-03-05 Fujitsu Limited Pciデバイスのi/o空間要求抑止方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479292B1 (en) * 2010-11-19 2013-07-02 Symantec Corporation Disabling malware that infects boot drivers
JP2012178112A (ja) * 2011-02-28 2012-09-13 Nec Corp リソース割り当て判定装置、方法およびプログラム

Also Published As

Publication number Publication date
US20100241840A1 (en) 2010-09-23
US8312257B2 (en) 2012-11-13
JP4692912B2 (ja) 2011-06-01

Similar Documents

Publication Publication Date Title
JP5039029B2 (ja) 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
US7222339B2 (en) Method for distributed update of firmware across a clustered platform infrastructure
US8595723B2 (en) Method and apparatus for configuring a hypervisor during a downtime state
US7730205B2 (en) OS agnostic resource sharing across multiple computing platforms
JP4921384B2 (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
JP4568271B2 (ja) ロジカル・パーティション・コンピュータ・システム内のリソース転送を制御するための装置および方法
JP2004220218A (ja) 情報処理装置
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
JP2013077076A (ja) 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
US10318460B2 (en) UMA-aware root bus selection
EP2951705A1 (en) Assigning processors to memory mapped configuration
US20100100892A1 (en) Managing hosted virtualized operating system environments
US11593170B2 (en) Flexible reverse ballooning for nested virtual machines
US10990436B2 (en) System and method to handle I/O page faults in an I/O memory management unit
EP3633507B1 (en) Technologies for secure and efficient native code invocation for firmware services
TWI293413B (en) Method for allocating main memory, computer system and chipset
JP2011204077A (ja) 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム
US11829772B2 (en) Heterogeneous compute domains with an embedded operating system in an information handling system
JP2020173603A (ja) デバイス通信制御モジュールおよびデバイス通信制御方法
WO2021181537A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2010128943A (ja) 情報処理装置および情報処理装置の制御方法
CN118312226A (en) UEFI firmware starting method and system based on RISCV server CPU

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101216

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110210

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees