JP6753257B2 - 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム Download PDF

Info

Publication number
JP6753257B2
JP6753257B2 JP2016196457A JP2016196457A JP6753257B2 JP 6753257 B2 JP6753257 B2 JP 6753257B2 JP 2016196457 A JP2016196457 A JP 2016196457A JP 2016196457 A JP2016196457 A JP 2016196457A JP 6753257 B2 JP6753257 B2 JP 6753257B2
Authority
JP
Japan
Prior art keywords
area
information
setting information
information processing
bios
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016196457A
Other languages
English (en)
Other versions
JP2018060316A (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 JP2016196457A priority Critical patent/JP6753257B2/ja
Priority to US15/712,781 priority patent/US20180095693A1/en
Publication of JP2018060316A publication Critical patent/JP2018060316A/ja
Application granted granted Critical
Publication of JP6753257B2 publication Critical patent/JP6753257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/4403Processor initialisation
    • 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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

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

Description

本発明は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
ストレージシステムA、Bを含む計算機システムにおいて、ストレージシステムAで作成されたプールとプールを利用する仮想ボリュームとをストレージシステムBで管理、運用する場合、仮想ボリュームのコピー用の記憶領域を削減可能な手法が提案されている。この種の手法では、ストレージシステムBは、ストレージシステムAのプールおよび仮想ボリュームの構成情報を取得し、取得した構成情報に基づいて、プールに含まれる論理ボリュームをストレージシステムBに取り込む。さらに、ストレージシステムBは、取得した構成情報をストレージシステムBで利用するために変換し、変換された構成情報に基づいて、取り込んだ論理ボリュームからプールおよび仮想ボリュームを作成する(例えば、特許文献1参照)。
情報処理装置の起動時に、BIOS(Basic Input Output System)の設定情報を予備領域に保持された設定情報と比較し、相違する項目を表示し、ユーザにより設定値を変更可能にする手法が提案されている(例えば、特許文献2参照)。
実計算機の動作モードの変更による拡張ROM(Read Only Memory)領域のアドレスの変更に合わせて、複数の仮想計算機の拡張ROM領域のアドレスをマッピングし直す仮想計算機システムが提案されている(例えば、特許文献3参照)。
論理サーバを予め予備サーバ内に設け、OS(Operating System)を読み込む直前で論理サーバを待機させることで、サーバの故障時に論理サーバの構築を開始する場合に比べて、サーバの切り替え時間を短縮する手法が提案されている(例えば、特許文献4参照)。
特開2010−79624号公報 特開2013−140536号公報 特開平6−222998号公報 特開2008−293245号公報
ところで、情報処理装置に搭載されるBMC(Baseboard Management Controller)等の制御装置は、情報処理装置に初めて電源が投入されたことに基づいて、BIOSの設定情報を保持する保持部を不揮発性メモリ等に割り当てる。例えば、情報処理装置の電源は、情報処理装置を製造するメーカの組立工程で初めて投入される。
このため、情報処理装置の出荷後に保持部のサイズを変更する場合、情報処理装置の状態を電源が一度も投入されていない出荷前の状態(factory default)に戻した後、電源が再投入される。この場合、BMC等の制御装置は、初回の電源の投入であると判定し、ファームウェア等で規定される新たなサイズの保持部をメモリに割り当てる。しかしながら、稼働中の情報処理装置を出荷前の状態に戻す場合、情報処理装置に設定された情報は全て消失してしまい、消失した情報を復元する手間が掛かる。
1つの側面では、本件開示の情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムは、情報処理装置に設定された情報を失うことなく、情報処理装置内の電子部品の設定情報を保持する保持部のサイズを変更することを目的とする。
一つの観点によれば、演算処理装置を含む複数の電子部品と、複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置において、制御装置は、複数の電子部品の設定情報を保持し、かつ記憶装置に割り当てられる第1領域のサイズが、情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出する検出部と、検出部による検出に基づいて、第1領域の代わりに設定情報を保持する第2領域を記憶装置に割り当てる割り当て部と、第1領域から抽出された有効な設定情報を第2領域に格納する格納部と、有効な設定情報が第2領域に格納された後、第1領域を記憶装置から削除する削除部とを備える。
別の観点によれば、演算処理装置を含む複数の電子部品と、複数の電子部品の動作を制御する制御装置と、記憶装置とを含む複数の情報処理装置と、複数の情報処理装置の動作を管理する管理装置とを備える情報処理システムにおいて、複数の情報処理装置の各々の制御装置は、複数の電子部品の設定情報を保持し、かつ記憶装置に割り当てられる第1領域のサイズが、情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出する検出部と、検出部による検出に基づいて、第1領域の代わりに設定情報を保持する第2領域を記憶装置に割り当てる割り当て部と、第1領域から抽出された有効な設定情報を第2領域に格納する格納部と、有効な設定情報が第2領域に格納された後、第1領域を記憶装置から削除する削除部とを備える。
別の観点によれば、演算処理装置を含む複数の電子部品と、複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置の制御方法において、制御装置が、複数の電子部品の設定情報を保持し、かつ記憶装置に割り当てられる第1領域のサイズが、情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出し、検出に基づいて、第1領域の代わりに設定情報を保持する第2領域を記憶装置に割り当て、第1領域から抽出された有効な設定情報を第2領域に格納し、有効な設定情報が第2領域に格納された後、第1領域を記憶装置から削除する。
さらなる別の観点によれば、演算処理装置を含む複数の電子部品と、複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置の制御プログラムにおいて、制御装置に、複数の電子部品の設定情報を保持し、かつ記憶装置に割り当てられる第1領域のサイズが、情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出させ、検出に基づいて、第1領域の代わりに設定情報を保持する第2領域を記憶装置に割り当てさせ、第1領域から抽出された有効な設定情報を第2領域に格納させ、有効な設定情報が第2領域に格納された後、第1領域を記憶装置から削除させる。
本件開示の情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムは、情報処理装置に設定された情報を失うことなく、情報処理装置内の電子部品の設定情報を保持する保持部のサイズを変更することができる。
情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの一実施形態を示す図である。 図1に示す情報処理システムの動作の一例を示す図である。 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態を示す図である。 図3に示す不揮発性メモリNVMSに保持されるBIOSINF情報、BMCINF情報、領域管理テーブルおよびアドレス管理テーブルの一例を示す図である。 図3に示す不揮発性メモリNVMMに保持されるハードウェア構成テーブルの一例を示す図である。 図3に示す不揮発性メモリNVMMに保持されるパーティション情報の一例を示す図である。 図3に示すファームウェアMMBFW、BMCFWおよびBIOSの機能の一例を示す図である。 図3に示す情報処理システムにおいて、統合ファームアップによりBIOSINF情報が保持されるバンクの数が増加される場合の変更処理の一例を示す図である。 図8に示す処理の続きを示す図である。 図9に示す処理の続きを示す図である。 図3に示す情報処理システムにおいて、統合ファームアップ前の不揮発性メモリNVMMの状態の一例を示す図である。 図3に示す情報処理システムにおいて、統合ファームアップ前の不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいて、新規にバンクBK3−BK6が割り当てられた不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいて、ハードウェア構成テーブルを基本構成に設定した不揮発性メモリNVMMの状態の一例を示す図である。 図3に示す情報処理システムにおいて、管理ボードからのBIOSINF情報およびBMCINF情報が不揮発性メモリNVMSに格納された状態の一例を示す図である。 図3に示す情報処理システムにおいて、バンクBK0、BK1が削除され、バンクBK3−BK6が割り当てられた不揮発性メモリNVMMの状態の一例を示す図である。 図3に示す情報処理システムにおいて、Variable Reclaimが完了した不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいて、バンクBK0からバンクBK3へのBIOS設定情報の複写が完了した不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいて、BMCから転送されるBIOS設定情報がバンクBK3に格納された不揮発性メモリNVMMの状態の一例を示す図である。 図3に示す情報処理システムにおいて、削除したバンクに合わせて領域管理テーブルが更新された不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいて、退避したハードウェア構成テーブルが元に戻された不揮発性メモリNVMMの状態の一例を示す図である。 図3に示す情報処理システムにおいて、BIOSINF領域の拡張処理の完了後の不揮発性メモリNVMSの状態の一例を示す図である。 図3に示す情報処理システムにおいてBMCが実行する処理の一例を示す図である。 図23に示す処理の続きを示す図である。 図3に示す情報処理システムにおいて管理ボードが実行する処理の一例を示す図である。 図25に示す処理の続きを示す図である。 図3に示す情報処理システムにおいてBIOSが実行する処理の一例を示す図である。 図27に示すVariable Reclaim処理の一例を示す図である。 図3に示す情報処理システムの初回の動作の一例を示す図である。 図3に示す情報処理システムにおいて、パーティションの電源が投入された場合の動作の一例を示す図である。 図3に示す情報処理システムにおいて、システムボードが交換される場合の動作の一例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの一実施形態を示す。図1に示す情報処理システムSYS1は、管理ボードMMBおよび複数のシステムボードSB(SB0、SB1、SB2、SB3)を有する。情報処理システムSYS1に搭載されるシステムボードSBの数は、4つに限定されない。
管理ボードMMBは、情報処理システムSYS1の全体を管理し、情報処理システムSYS1に所定の機能を実現させる。また、管理ボードMMBは、システムボードSBを制御し、所定数のシステムボードSBによりパーティションPT(PT0、PT1)を構築する。各パーティションPTは、独立に動作する情報処理装置として機能し、情報処理の実行単位である。図1に示す例では、システムボードSB0、SB1によりパーティションPT0が構築され、システムボードSB2によりパーティションPT1が構築される。
管理ボードMMBは、CPU(Central Processing Unit)、電気的に書き替え可能な不揮発性メモリNVMM、および図示しないメインメモリおよびHDD(Hard Disk Drive)等を有し、システムボードSBを管理する管理サーバとして機能する。管理ボードMMBは、複数のパーティションPTおよびシステムボードSBを管理する管理装置の一例である。CPUは、演算処理を実行する演算処理装置の一例である。不揮発性メモリNVMMは、ファームウェアMMBFWと、ハードウェア構成テーブルHWTBLと、パーティション情報PTINF(PTINF0、PTINF1、PTINF2、PTINF3)とを格納する記憶領域を有する。ファームウェアMMBFWは、管理ボードMMBのCPUにより実行される。
以下の説明では、パーティション情報PTINFを格納する記憶領域は、PTINF領域とも称される。不揮発性メモリNVMMに割り当てられるPTINF領域の数は、情報処理システムSYS1に構築可能なパーティションPTの最大数に等しく、パーティションPTの最大数は、システムボードSBの数に等しい。
ファームウェアMMBFWは、各パーティションPTで実行されるBIOSおよびファームウェアBMCFWと連携し、情報処理システムSYS1の全体の動作を制御する。例えば、ファームウェアMMBFWは、各パーティションPTを監視し、各パーティションPTにおける電源の管理、ユーザ権限の管理、温度の管理、システムボードSBの故障時の切り替えの管理等を実行する。ファームウェアMMBFWは、各パーティションPTの動作を制御する管理ボードMMBが実行する制御プログラムの一例である。不揮発性メモリNVMMは、ファームウェアMMBFWを記録した記録媒体の一例である。
ハードウェア構成テーブルHWTBLは、各パーティションPTへのシステムボードSBの割り当てを示す構成情報を保持する。ハードウェア構成テーブルHWTBLは、構成情報保持部の一例である。各PTINF領域には、各パーティションPTに割り当てられるシステムボードSBのいずれかの不揮発性メモリNVMSに保持されるBIOS情報BIOSINFと同じ情報が、バックアップとして格納される。各PTINF領域は、パーティションPT内で使用されるBIOS情報BIOSINFの写しを保持する写し保持部の一例である。
各システムボードSBは、CPU、メインメモリMM、BMC、電子部品EP、EEPROM(Electrically Erasable Programmable Read Only Memory)および電気的に書き替え可能な不揮発性メモリNVMSを有する。例えば、不揮発性メモリNVMSは、データを独立に消去可能な複数のブロックを有するフラッシュメモリである。フラッシュメモリは、書き込み動作により記憶状態が論理1から論理0に書き替わる複数の記憶素子を有し、所定数の記憶素子を含むブロック単位での消去動作により、記憶状態が論理0(書き込み状態)から論理1(消去状態)に変更される。論理1は、第1論理値の一例であり、論理0は、第2論理値の一例である。
システムボードSB0−SB3は、互いに同じ構成のため、図1では、システムボードSB0のみの構成が示される。以下の説明では、システムボードSBに搭載されるCPUは、CPU(SB)とも称され、管理ボードMMBに搭載されるCPUは、CPU(MMB)とも称される。
メインメモリMMは、CPU(SB)が実行するOSを格納する記憶領域を有する。EEPROMは、CPU(SB)が実行するBIOSを格納する記憶領域を有する。不揮発性メモリNVMSは、BMCが実行するファームウェアBMCFWおよびBIOS情報BIOSINFを格納する記憶領域を有する。BIOSINF情報は、システムボードSBに搭載または接続されるCPU(SB)を含む複数の電子部品EPの動作仕様を切り替える設定情報を含む。以下の説明では、BIOS情報BIOSINFは、BIOSINF情報とも称され、BIOS情報BIOSINFが格納される領域は、BIOSINF領域とも称される。また、BIOSINF情報に含まれる設定情報は、BIOS設定情報とも称される。例えば、BIOS設定情報は、CPUの処理性能および消費電力を調整するための情報を含み、BIOSの起動時に表示装置に表示されるセットアップメニューにより設定される。
各パーティションPTにおいて、電源の投入時に動作するBIOSは、ユーザ等による変更情報の入力に基づいて、電子部品EPのBIOS設定情報を書き替える。BIOSは、新たなBIOS設定情報をBIOSINF領域に追記することで、BIOS設定情報を書き替える。すなわち、BIOSは、BIOS設定情報が書き込まれていない消去状態の領域に新たなBIOS設定情報を書き込み、変更前のBIOS設定情報を保持する領域を無効状態に設定することで、BIOS設定情報の書き替えを実行する。
CPU(SB)は、EEPROMに格納されたBIOSおよびメインメモリMMに格納されたOSを実行することで、システムボードSBおよびパーティションPTの全体の動作を制御する。また、CPU(SB)は、メインメモリMMに展開されるアプリケーションプログラムを実行することで、データ処理等を実行する所望の機能を実現する。なお、各システムボードSBには、図示しないHDD等の記憶装置が接続される。
BMCは、CPU(SB)に供給される電源電圧およびCPU(SB)に供給されるクロックの周波数を制御し、または電子部品EPの動作を制御し、不揮発性メモリNVMSのアクセスを制御する。BMCは、CPU(SB)を含む複数の電子部品EPの動作を制御する制御装置の一例である。BMCによる各種制御は、BMCがファームウェアBMCFWを実行することにより実行される。ファームウェアBMCFWは、パーティションPT内のシステムボードSBの動作を制御するBMCが実行する制御プログラムの一例である。なお、不揮発性メモリNVMSは、ファームウェアBMCFWを記録した記録媒体の一例である。BMCは、ファームウェアBMCFWを実行することにより、検出部DET、割り当て部ALC、格納部STRおよび削除部DELとして機能する。なお、検出部DET、割り当て部ALC、格納部STRおよび削除部DELは、BMCのハードウェアにより実現されてもよい。また、BMCと不揮発性メモリNVMSとは、1つの半導体チップ内に搭載されてもよい。
検出部DETは、CPU(SB)および電子部品EPの設定情報を保持するBIOSINF領域のサイズが、パーティションPTの機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出する。例えば、パーティションPTの機能の変更は、動作モードの変更、追加または削減等であり、ファームウェアMMBFW、BMCFWおよびBIOSをアップデートする統合ファームアップにより実施される。
割り当て部ALCは、検出部DETによるサイズの相違の検出に基づいて、既存のBIOSINF領域の代わりに、パーティションPTの機能の変更後に設定情報を保持するBIOSINF領域を新たに割り当てる。既存のBIOSINF領域は、不揮発性メモリNVMSに割り当てられる第1領域の一例であり、新たなBIOSINF領域は、不揮発性メモリNVMSに割り当てられる第2領域の一例である。
格納部STRは、既存のBIOSINF領域から抽出された有効な設定情報を新たに追加されたBIOSINF領域に格納する。なお、既存のBIOSINF領域からの有効な設定情報の抽出は、BIOSINF領域に格納する設定情報を管理するBIOSにより実行される。削除部DELは、有効な設定情報が新たなBIOSINF領域に格納された後、既存のBIOSINF領域を削除する。
BIOSは、UEFI(Unified Extensible Firmware Interface)に対応しており、システムボードSBに搭載または接続されるハードウェアの動作仕様を、外部からの設定情報の入力に基づいて切り替える機能を有する。BIOSは、パーティションPTに電源が投入されたことに基づいて起動され、システムボードSBに搭載または接続されるハードウェアを初期化し、システムボードSBの状態を、OSをブート可能な状態に設定する。また、上述したように、BIOSは、BIOSINF領域に格納する設定情報を管理し、既存のBIOSINF領域に保持された設定情報から有効な設定情報を抽出する機能を有する。
ファームウェアBMCFWは、統合ファームアップの実行後に、管理ボードMMBと各パーティションPTとの間で情報を共有する処理を実行する。統合ファームアップは、ファームウェアMMBFW、BIOSおよびファームウェアBMCFWを同時に更新する処理である。
図2は、図1に示す情報処理システムSYS1の動作の一例を示す。図2に示す動作のうち、BMCの動作は、BMCがファームウェアBMCFWを実行することにより実現される。すなわち、図2は、情報処理装置の制御方法および情報処理装置の制御プログラムの一例を示す。図2において、太枠で示す領域は、1つ前の状態に対して保持する情報が変更された領域を示す。
状態(1)は、統合ファームアップを実行する前の情報処理システムSYS1の状態を示す。状態(1)では、情報処理システムSYS1は、図1に示すように、システムボードSB0、SB1を割り当てたパーティションPT0と、システムボードSB2を割り当てたパーティションPT1とを有する(図2(a))。システムボードSB3は、パーティションPTに割り当てられていない(図2(b))。
パーティションPT0のBIOS設定情報Aは、パーティションPT0に割り当てられたシステムボードSB0、SB1のうち、システムボードSB0(ホームシステムボード)のBIOSINF領域に保持される。パーティションPT1のBIOS設定情報Bは、パーティションPT1に割り当てられたシステムボードSB2(ホームシステムボード)のBIOSINF領域に保持される。また、管理ボードMMBにおいて、パーティションPT0に対応するPTINF0領域は、パーティションPT0のBIOS設定情報Aの写しを保持する(図2(c))。パーティションPT1に対応するPTINF1領域は、パーティションPT1のBIOS設定情報Bの写しを保持する。
パーティションPT(システムボードSB)の機能を変更する統合ファームアップにより、各システムボードSB内のBIOSおよびファームウェアBMCFWがアップデートされる(図2(d))。これにより、新たなBIOSINF領域のサイズが既存のBIOSINF領域のサイズより大きくされるとする。新たなBIOSINF領域のサイズは、アップデートされたファームウェアBMCFW内に記述されることで指定される。
状態(2)において、各システムボードSB内のファームウェアBMCFWの検出部DETは、ファームウェアBMCFW内に記述された新たなBIOSINF領域のサイズと既存のBIOSINF領域のサイズとを比較する。そして、検出部DETは、新たなBIOSINF領域のサイズが既存のBIOSINF領域のサイズと相違することを検出する。ファームウェアBMCFWの割り当て部ALCは、検出部DETによるサイズの相違の検出に基づいて、不揮発性メモリNVMS内に新たなBIOSINF領域を割り当てる(図2(e))。不揮発性メモリNVMS内に新たに追加されるBIOSINF領域は、不揮発性メモリNVMS内に追加された新たなBIOSINF領域に対応する対応領域の一例である。
管理ボードMMBのファームウェアMMBFWは、不揮発性メモリNVMS内に新たなBIOSINF領域が追加されたことに基づいて、各システムボードSBのBMCから既存のBIOSINF領域と新たなBIOSINF領域のサイズを取得する。そして、管理ボードMMBのファームウェアMMBFWは、既存のBIOSINF領域に対応する領域を削除し、新たなBIOSINF領域のサイズに対応する領域を、各PTINF領域に割り当てる(図2(f))。
次に、状態(3)において、ファームウェアMMBFWは、BMCにパーティションPTの電源の投入を指示する。パーティションPT0、PT1のホームシステムボードSB内のBMC(ファームウェアBMCFW)は、パーティションPT0、PT1の電源を投入し、パーティションPT0、PT1のBIOSが起動される。パーティションPT0のBIOSは、既存のBIOSINF領域から有効なBIOS設定情報A’を抽出し、抽出した有効なBIOS設定情報A’で既存のBIOSINF領域を書き替える(図2(g))。パーティションPT1のBIOSは、既存のBIOSINF領域から有効なBIOS設定情報B’を抽出し、抽出した有効なBIOS設定情報B’で既存のBIOSINF領域を書き替える(図2(h))。
既存のBIOSINF領域から有効なBIOS設定情報を抽出し、抽出した有効なBIOS設定情報で既存のBIOSINF領域を書き替える処理は、既存のBIOSの機能を利用して実行することができる。この後、パーティションPT0、PT1のBIOSは、既存のBIOSINF領域内の有効なBIOS設定情報(A’またはB’)を新規のBIOSINF領域に複写する指示を、対応するBMCに発行する。
次に、状態(4)において、パーティションPT0のホームシステムボードSB内のBMCは、BIOSからの指示に基づいて、既存のBIOSINF領域内の有効なBIOS設定情報A’を新規のBIOSINF領域に格納する(図2(i))。新規のBIOSINF領域への設定情報A’の格納は、ファームウェアBMCFWの格納部STRにより実行される。また、パーティションPT0のホームシステムボードSB内のBMCは、新規のBIOSINF領域に格納したBIOS設定情報A’をPTINF0領域に格納する指示を管理ボードMMBに発行する。管理ボードMMBは、BMCからの指示に基づいて、BIOS設定情報A’をPTINF0領域に格納する(図2(j))。
同様に、パーティションPT1のホームシステムボードSB内のBMCは、BIOSからの指示に基づいて、既存のBIOSINF領域内の有効なBIOS設定情報B’を新規のBIOSINF領域に格納する(図2(k))。新規のBIOSINF領域へのBIOS設定情報B’の格納は、ファームウェアBMCFWの格納部STRにより実行される。また、パーティションPT1のホームシステムボードSB内のBMCは、新規のBIOSINF領域に格納したBIOS設定情報B’をPTINF1領域に格納する指示を管理ボードMMBに発行する。管理ボードMMBは、BMCからの指示に基づいて、BIOS設定情報B’をPTINF1領域に格納する(図2(l))。
次に、状態(5)において、各システムボードSB0−SB3のファームウェアBMCFWの削除部DELは、既存のBIOSINF領域を削除する。これ以降、パーティションPT0、PT1は、有効なBIOS設定情報A’、B’が複写された新たなBIOSINF領域を既存のBIOSINF領域として使用する。以上の動作により、統合ファームアップ前の既存のBIOSINF領域を新たなサイズのBIOSINF領域に切り替えることができる。また、BIOSINF領域のサイズの変更に合わせて、新たなBIOSINF領域のサイズに対応する領域を、管理ボードMMB内の各PTINF領域に割り当てることができる。
なお、図2では、新たなBIOSINF領域のサイズを既存のBIOSINF領域のサイズより大きくする例が説明された。しかしながら、図2は、新たなBIOSINF領域のサイズを既存のBIOSINF領域のサイズより小さくする場合にも適用することができる。但し、この場合、状態(3)において、BIOSは、まず、サイズを縮小後のBIOSINF領域に保持するBIOS設定情報を選択し、選択したBIOS設定情報から有効な設定情報を抽出する。
さらに、図2の状態(3)において、BIOSは、既存のBIOSINF領域から抽出した有効なBIOS設定情報を、既存のBIOSINF領域ではなく、新規のBIOSINF領域に直接格納してもよい。この場合、状態(4)における既存のBIOSINF領域から新規のBIOSINF領域への有効なBIOS設定情報の複写処理を省略することができる。但し、BIOSが、既存のBIOSINF領域から抽出した有効なBIOS設定情報を新規のBIOSINF領域に格納する機能を持たない場合、統合ファームアップ時にBIOSの格納処理の新たな機能が追加される。
以上、図1および図2に示す実施形態では、BIOSINF領域のサイズが変更される場合、新たなBIOSINF領域を割り当て、既存のBIOSINF領域から有効な設定情報を抽出して、新たなBIOSINF領域に格納する。これにより、情報処理システムSYS1を出荷前の状態(factory default)に戻すことなく、全てのシステムボードSBのBIOSINF領域のサイズを変更することができる。すなわち、パーティションPT(システムボードSB)に設定された情報を失うことなく、システムボードSB内の電子部品EPの設定情報を保持するBIOSINF領域のサイズを変更することができる。人手を介することなくBIOSINF領域のサイズを変更できるため、消失した情報を復元する手間がなくなり、人為的な設定ミスを抑止することができる。
管理ボードMMBは、各システムボードSBのBMCから既存のBIOSINF領域と新たなBIOSINF領域のサイズを取得し、既存のBIOSINF領域に対応する領域を削除し、新たなBIOSINF領域に対応する領域を、PTINF領域に割り当てる。そして、管理ボードMMBは、BIOSから転送される有効な設定情報を、PTINF領域内の新規に割り当てた領域に格納する。サイズが変更されたBIOSINF領域を、管理ボードMMBの不揮発性メモリNVMM内のPTINF領域に反映することで、その後にBIOSにより変更されるBIOS設定情報をPTINF領域にバックアップすることができる。
図3は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態を示す。図1に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
図3に示す情報処理システムSYS2は、管理ボードMMB、複数のシステムボードSB(SB0、SB1、SB2、SB3)、入出力スイッチIOSW、および複数の入出力ユニットIOU(IOU0、IOU1、IOU2、IOU3)を有する。情報処理システムSYS2に搭載されるシステムボードSBの数および入出力ユニットIOUの数は、4つに限定されない。
管理ボードMMBは、システムボードSBと入出力スイッチIOSWとを制御し、入出力スイッチIOSWを介して所定数のシステムボードSBを所定数の入出力ユニットIOUに接続することで、パーティションPT(PT0、PT1)を構築する。各パーティションPTは、互いに独立に動作する情報処理装置として機能する。図3に示す例では、システムボードSB0、SB1と入出力ユニットIOU0、IOU1とによりパーティションPT0が構築され、システムボードSB2と入出力ユニットIOU3とによりパーティションPT1が構築される。入出力ユニットIOUの数がシステムボードSBの数以上である場合、情報処理システムSYS2に構築可能なパーティションPTの最大数は、システムボードSBの数に等しい。すなわち、図3に示す情報処理システムSYS2に構築可能なパーティションPTの最大数は、”4”である。
管理ボードMMBは、CPU(MMB)および不揮発性メモリNVMMと、図示しないメインメモリおよびHDD(Hard Disk Drive)等を有し、システムボードSBおよび入出力スイッチIOSWを管理する管理サーバとして機能する。不揮発性メモリNVMMは、ファームウェアMMBFWと、ハードウェア構成テーブルHWTBLと、パーティション情報PTINF(PTINF0、PTINF1、PTINF2、PTINF3)とを格納する記憶領域を有する。不揮発性メモリNVMMに割り当てられるPTINF領域の数は、情報処理システムSYS2に構築可能なパーティションPTの最大数に等しい。例えば、不揮発性メモリNVMMは、データを独立に消去可能な複数のブロックを有するフラッシュメモリである。
ハードウェア構成テーブルHWTBLの例は、図5に示される。各PTINF領域には、各パーティションPTに割り当てられるシステムボードSB(後述するホームシステムボードSB)の不揮発性メモリNVMSに保持されるBIOS情報BIOSINFおよびBMC情報BMCINFと同じ情報が格納される。パーティション情報PTINFの例は、図6に示される。
各システムボードSBは、CPU(SB)、電子部品EP、メインメモリMM、チップセットCSET、BMCおよびEEPROM、不揮発性メモリNVMSおよび温度センサTSNSを有する。例えば、電子部品EPは、SAS(Serial Attached SCSI(Small Computer System Interface))/SATA(Serial Advanced Technology Attachment)コントローラまたはNIC(Network Interface Card)等である。例えば、不揮発性メモリNVMSは、データを独立に消去可能な複数のブロックを有するフラッシュメモリである。システムボードSB0−SB3は、互いに同じ構成のため、図3では、システムボードSB0のみの構成が示される。
不揮発性メモリNVMSは、BMCが実行するファームウェアBMCFW、BIOS情報BIOSINF、BMC情報BMCINF、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLを格納する記憶領域を有する。以下の説明では、BMC情報BMCINFは、BMCINF情報とも称され、BMC情報BMCINFが格納される領域は、BMCINF領域とも称される。
CPU(SB)は、入出力ユニットIOUとの間でのデータの転送を制御する入出力インタフェースの機能を内蔵しており、入出力スイッチIOSWを介して入出力ユニットIOUに接続される。なお、パーティションPTが複数のシステムボードSBを含む場合、システムボードSBのいずれかは、ホームシステムボードSBとして動作し、パーティションPTの全体の動作を制御する。ホームシステムボードSB以外のシステムボードSBは、アプリケーションプログラムによるデータ処理等を専用に実行する。BIOSINF領域、BMCINF領域、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLは、全てのシステムボードSBの不揮発性メモリNVMSに割り当てられる。
チップセットCSETは、CPU(SB)、EEPROMおよびBMCに接続され、CPU(SB)、EEPROMおよびBMC間での情報の入出力を制御する。BMCは、CPU(SB)に供給される電源電圧およびCPU(SB)に供給されるクロックの周波数を制御し、温度センサTSNSが計測する温度に基づいて図示しないファンの回転数を制御する。BMCによる各種制御は、BMCがファームウェアBMCFWを実行することにより実行される。BMCは、ファームウェアBMCFWを実行することにより、検出部DET、割り当て部ALC、格納部STRおよび削除部DELとして機能する。なお、BMCと不揮発性メモリNVMSとは、1つの半導体チップ内に搭載されてもよい。
ファームウェアBMCFWは、統合ファームアップの実行後に、管理ボードMMBと各パーティションPTとの間で情報を共有する処理を実行する。ファームウェアMMBFWが実行する処理の例は、図8から図10、図23および図24に示される。
BIOSINF情報は、システムボードSBに搭載または接続されるCPU(SB)を含む複数の電子部品EPの動作仕様を切り替えるBIOS設定情報を含む。BMCINF情報は、OSが動作していることを監視するウォッチドッグ設定などの設定情報を含む。以下の説明では、BMCINF情報に含まれる設定情報は、BMC設定情報とも称される。
領域管理テーブルNVTBLには、BIOSINF領域、BMCINF領域のサイズに関する情報が格納される。アドレス管理テーブルADTBLには、BIOSINF領域、BMCINF領域にアクセスするためのアドレス情報が格納される。領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLの例は、図4に示される。
入出力スイッチIOSWは、管理ボードMMBによる制御に基づいて、パーティションPT内のシステムボードSBを所定数の入出力ユニットIOUに接続する。各入出力ユニットIOUは、複数のHDDを有する。なお、各入出力ユニットIOUは、複数のSSD(Solid State Drive)を有してもよい。また、情報処理システムSYS2は、HDDを含む入出力ユニットIOUと、SSDを含む入出力ユニットIOUとを有してもよい。
図4は、図3に示す不揮発性メモリNVMSに保持されるBIOSINF情報、BMCINF情報、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLの一例を示す。図4では、電子部品EPのBIOS設定情報を保持するBIOSINF領域は、2つのバンクBK0、BK1に割り当てられ、BMC用の設定情報を保持するBMCINF領域は、1つのバンクBK2に割り当てられる。
例えば、BIOS設定情報は、BIOSINF領域におけるバンクBK0に格納される。パーティションPTの起動時に動作するBIOSにより、BIOS設定情報が更新(変更)される場合、更新後のBIOS設定情報は、バンクBK0の新たな領域に格納(追記)される。これは、不揮発性メモリNVMS(フラッシュメモリ)の記憶素子は、書き込み動作により、消去状態(論理1)から書き込み状態(論理0)のみに変化し、消去動作により、ブロック単位で書き込み状態から消去状態に変化するためである。例えば、不揮発性メモリNVMSでは、2進数の”1110”を”1010”に書き替えることは可能であるが、2進数の”1010”を”1110”に書き替えることはできない。”1010”から”1110”への書き替えは、消去動作により”1111”に設定した後に実行される。
このようなフラッシュメモリの書き込み特性のために、BIOS設定情報を更新する毎に、更新されたBIOS設定情報は、バンクBK0内の消去状態の領域に書き込まれる。このため、BIOS設定情報が更新される毎に、無効なBIOS設定情報がバンクBK0内に貯まっていき、バンクBK0の空き領域は徐々に減少する。BIOSINF領域に格納されたBIOS設定情報が有効か無効かは、例えば、バリッドフラグにより判断される。
BIOSは、バンクBK0の空き領域が所定の容量以下になったことを検出した場合、バンクBK0から有効なBIOS設定情報(更新された最新のBIOS設定情報)を抽出し、抽出したBIOS設定情報をバンクBK1に格納する。そして、BIOSは、バンクBK0に対する消去動作を実行した後、バンクBK1に保持された有効なBIOS設定情報をバンクBK0に書き戻す。これにより、バンクBK0から無効なBIOS設定情報が消去される。バンクBK1は、有効なBIOS設定情報をバンクBK0に書き戻した後に、消去動作が実行され、データが0xFF(オール1)に消去される。
BIOSINF情報に含まれる有効なBIOS設定情報を残し、無効なBIOS設定情報を消去する処理は、”Variable Reclaim”と称される。Variable Reclaimは、BIOSの起動時にBIOSにより実行されるPOST(Power On Self Test)の期間に実行される。例えば、各バンクBK(BK0、BK1、BK2)のサイズは、データの消去単位であるブロックのサイズに等しく、データの消去は、バンクBK毎に実行可能である。なお、各バンクBKは、複数のブロックを有してもよい。
領域管理テーブルNVTBLは、状態BMC−ST、MMB−ST、BIOS−ST、バンク数BIOSBKN、バンクサイズBK0SZ、BK1SZ、バンク数BMCBKNおよびバンクサイズBK2SZを保持する領域を有する。状態BMC−STは、BMCの状態を示し、状態MMB−STは、管理ボードMMBの状態を示し、状態BIOS−STは、BIOSの状態を示す。状態BMC−ST、MMB−ST、BIOS−STは、統合ファームアップにより、BIOSINF情報を保持するバンクBKの数が変更される場合、変更処理を管理ボードMMB、BMC、BIOS間で連携して実行するために使用される。なお、状態BMC−ST、MMB−ST、BIOS−STは、BMC内に保持されてもよい。
状態BMC−STは、BIOSINF領域のサイズの変更による切り替え処理の実行中に”1”(切り替え状態)に設定される。状態BMC−STを保持する領域は、既存のバンクBKから新たなバンクBKに切り替え中であることを示す切り替え状態を保持する第1状態保持部の一例である。
状態MMB−STは、バンクBKのサイズの変更による切り替え処理の実行中に”1”に設定される。例えば、状態MMB−STは、図14で説明する基本構成に設定したハードウェア構成テーブルHWTBLに基づいて、全てのシステムボードSBがホームシステムボードSBとしてパーティションPTに割り当てられている期間に”1”に設定される。
状態BIOS−STは、BIOSにより有効なBIOS設定情報が抽出中である場合、”1”(抽出状態)に設定される。また、状態BIOS−STは、BIOSによりバンクBK0、BK1内の有効なBIOS設定情報をバンクBK3−BK6に複写中である場合、”2”(複写状態)に設定される。また、状態BIOS−STは、抽出状態および複写状態のいずれでもない場合に”0”(アイドル状態)を設定する。状態BIOS−STを保持する領域は、BIOSの動作状態を示す第2状態保持部の一例である。
バンク数BIOSBKNは、BIOSINF領域に割り当てられるバンクBKの数を示し、バンクサイズBK0SZは、バンクBK0のサイズを示し、バンクサイズBK1SZは、BK1のサイズを示す。バンク数BMCBKNは、BMCINF領域に割り当てられるバンクBKの数を示し、バンクサイズBK2SZは、バンクBK2のサイズを示す。例えば、各バンクBKのサイズは、64キロバイトである。バンクサイズBK0SZ、BK1SZは、BIOSINF領域に割り当てられるバンクBK0、BK1のそれぞれのサイズを示す第1サイズ情報の一例である。領域管理テーブルNVTBLは、バンクサイズBK0SZ、BK1SZおよび図13に示すバンクサイズBK3SZ−BK6SZを保持するサイズ情報保持部の一例である。なお、領域管理テーブルNVTBLの大きさは、BIOSINF領域に割り当てられるバンクBKの数およびBMCINF領域に割り当てられるバンクBKの数に応じて変化する。
アドレス管理テーブルADTBLは、各バンクBK0−BK2の開始アドレスのオフセット値offsetminと、終了アドレスのオフセット値offsetmaxとを、バンクBK0−BK2毎に保持する領域を有する。図4では、各オフセット値offsetmin、offsetmaxは、32ビットで表される。オフセット値offsetmin、offsetmaxの差により示される各バンクBK0−BK2のサイズは、領域管理テーブルNVTBLのバンクサイズBK0SZ、BK1SZ、BK2SZにより示されるサイズに等しい。例えば、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLは、バンクBK0−BK2が割り当てられるブロックとは別のブロックに割り当てられる。アドレス管理テーブルADTBLは、バンクBK0、BK1に割り当てられるアドレスを示すオフセット値offsetmin、offsetmaxを保持するアドレス情報保持部の一例である。バンクBK0、BK1のオフセット値offsetmin、offsetmaxは、第1アドレス情報の一例である。
図5は、図3に示す不揮発性メモリNVMMに保持されるハードウェア構成テーブルHWTBLの一例を示す。ハードウェア構成テーブルHWTBLは、システムボードSB毎に、パーティションPT0−PT3、リザーブRSVおよびフリーFREEのそれぞれに対応する領域を有する。また、ハードウェア構成テーブルHWTBLは、入出力ユニットIOU毎に、パーティションPT0−PT3、リザーブRSVおよびフリーFREEのそれぞれに対応する領域を有する。
図5において、システムボードSBとパーティションPTとにより示される領域に含まれる丸印は、システムボードSBがパーティションPTに割り当てられることを示す。”H”を含む丸印は、システムボードSBがホームシステムボードSBとしてパーティションPTに割り当てることを示す。
リザーブRSVの領域に含まれる丸印は、システムボードSBまたは入出力ユニットIOUが交換用に確保されていることを示す。フリーFREEの領域には、未使用のシステムボードSBまたは入出力ユニットIOUがある場合、丸印が付けられる。なお、実際のハードウェア構成テーブルHWTBLでは、例えば、丸印の代わりに”1”が格納され、”H”を含む丸印の代わりに”2”が格納され、空白の代わりに”0”が格納される。
図5では、パーティションPT0、PT1、PT3が構築された状態が示される。パーティションPT0には、システムボードSB0、SB1が割り当てられ、システムボードSB0がホームシステムボードSBである。パーティションPT1には、システムボードSB2がホームシステムボードSBとして割り当てられ、システムボードSB3が交換用として確保される。パーティションPT2には、システムボードSBが割り当てられていない。パーティションPT3には、システムボードSB3がホームシステムボードSBとして割り当てられる。
パーティションPT1において、システムボードSB2が故障した場合、パーティションPT1の電源は遮断され、リザーブされたシステムボードSB3がパーティションPT1のホームシステムボードSBとして割り当てられ、電源が再投入される。システムボードSB2の故障時にパーティションPT3に電源が投入されている場合、パーティションPT3の電源が遮断され、システムボードSB3は、パーティションPT3への割り当てが解除された後、パーティションPT1に割り当てられる。このように、リザーブRSVの領域をハードウェア構成テーブルHWTBLに含めることで、システムボードSB2の故障時に、システムボードSB3を自動的にパーティションPT1に割り当てることができる。これに対して、ハードウェア構成テーブルHWTBLがリザーブRSVの領域を持たない場合、交換するシステムボードSBは、情報処理システムSYS2の外部から指定され、ハードウェア構成テーブルHWTBLは外部からの指定に基づいて書き替えられる。
図5の下側のかぎ括弧内に示すハードウェア構成テーブルHWTBLは、情報処理システムSYS2の出荷時の状態を示す。ハードウェア構成テーブルHWTBLは、情報処理システムSYS2の出荷時に、全てのシステムボードSBと全ての入出力ユニットIOUとが未使用(FREE)の状態に設定される。
図6は、図3に示す不揮発性メモリNVMMに保持されるパーティション情報PTINFの一例を示す。図6は、図3に示すパーティションPT0、PT1が構築された情報処理システムSYS2のパーティション情報PTINFの状態を示す。
パーティションPT0に対応するPTINF0領域には、パーティションPT0のホームシステムボードSB0の不揮発性メモリNVMS(図4)と同様に、バンクBK0、BK1、BK2と同じサイズの領域が割り当てられる。ファームウェアMMBFWは、パーティションPT0の領域管理テーブルNVTBLを参照することでPTINF0領域にバンクBK0−BK2に対応する領域を割り当てる。そして、PTINF0領域には、パーティションPT0のホームシステムボードSBの不揮発性メモリNVMSに保持されたBIOSINF情報およびBMCINF情報と同じ情報がバックアップとして保持される。なお、図4で説明したように、バンクBK1は、”Variable Reclaim”時に抽出した有効なBIOS設定情報を一時的に保持するために使用され、”Variable Reclaim”時を除き、消去状態(0xFF)である。
同様に、パーティションPT1に対応するPTINF1領域には、パーティションPT1のホームシステムボードSB2の不揮発性メモリNVMSに保持されたBIOS設定情報およびBMC設定情報と同じ情報がバックアップとして保持される。パーティションPT2、PT3は、情報処理システムSYS2に構築されていない。このため、パーティションPT2、PT3に対応するPTINF2領域、PTINF3領域には、”0xFF”に初期化されたバンクBK0、BK1、BK2と同じ情報がバックアップとして保持される。
図7は、図3に示すファームウェアMMBFW、BMCFWおよびBIOSの機能の一例を示す。ファームウェアMMBFWは、ファームウェアBMCFWとの通信を制御する通信部を有し、ファームウェアBMCFWは、ファームウェアMMBFWおよびBIOSとの通信を制御する通信部を有する。BIOSは、ファームウェアBMCFWとの通信を制御する通信部を有する。各通信部は、IPMI(Intelligent Platform Management Interface)の規格にしたがって情報を通信する。
ファームウェアMMBFWは、不揮発性メモリNVMMのアクセスを制御するNVMMアクセス制御部と、不揮発性メモリNVMSのアクセスをシステムボードSBに指示するNVMSアクセス指示部とを有する。また、ファームウェアMMBFWは、後述するBIOSINF領域の切り替え処理を制御する切り替え制御部と統合ファームアップの処理を管理する統合ファームアップ管理部と、各パーティションPTの電源を制御する電源制御部とを有する。
ファームウェアBMCFWは、システムボードSB内の不揮発性メモリNVMSのアクセスを制御するNVMSアクセス制御部と、後述するBIOSINF領域の切り替え処理を制御する切り替え制御部とを有する。BIOSは、システムボードSBに、不揮発性メモリNVMSのアクセスをシステムボードSBに指示するNVMSアクセス指示部と、Variable Reclaimを実行するVariable Reclaim処理部とを有する。
図8から図10は、図3に示す情報処理システムSYS2において、統合ファームアップによりBIOSINF情報が保持されるバンクBKの数が増加される場合の変更処理の一例を示す。すなわち、図8、図9および図10は、BIOSINF領域の切り替え処理の一例を示す。図9は、図8に示す処理の続きを示し、図10は、図9に示す処理の続きを示す。図11から図22は、不揮発性メモリNVMM、NVMSに保持される情報の変化の一例を示す。図11から図22において、太枠で示す領域は、1つ前の状態に対して保持する情報が変更された領域を示す。図8から図10において、ファームウェアMMBFWの動作は、管理ボードMMBの動作を示し、ファームウェアBMCFWの動作は、BMCの動作を示し、ファームウェアBMCFWが実行する処理は、情報処理装置の制御方法の一例を示す。
統合ファームアップ前の情報処理システムSYS2の状態は、図3と同様であり、パーティションPT0にシステムボードSB0、SB1が割り当てられ、パーティションPT1にシステムボードSB2が割り当てられている。統合ファームアップ前の管理ボードMMBの不揮発性メモリNVMMの状態は、図11に示され、統合ファームアップ前の各システムボードSBの不揮発性メモリNVMSの状態は、図12に示される。図11および図12において、データDT00は、パーティションPT0のBIOS設定情報を示し、データDT01は、パーティションPT0のBMC設定情報を示す。データDT10は、パーティションPT1のBIOS設定情報を示し、データDT11は、パーティションPT1のBMC設定情報を示す。データDT30は、システムボードSB3が過去にパーティションPTのいずれかに割り当てられたときのBIOS設定情報を示し、データDT31は、システムボードSB3が過去にパーティションPTのいずれかに割り当てられたときのBMC設定情報を示す。データDT30、DT31は、無効な情報である。
図11において、使用されないパーティションPT2、PT3に対応するPTINF2領域、PTINF3領域は、オール1(0xFF)に初期化され、初期化状態を保持する。図12において、パーティションPT0に割り当てられるシステムボードSB1は、ホームシステムボードSBでないため、BIOSINF領域(BK0、BK1)およびBMCINF領域(BK2)は、オール1(0xFF)に初期化され、初期化状態を保持する。各システムボードSBの領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLには、情報処理システムSYS2に共通の情報が格納される。すなわち、BIOSINF情報を格納するバンクBKの数およびBMCINF情報を格納するバンクBKの数は、情報処理システムSYS2の機能に基づいて設定される。さらに、BIOSINF情報を格納するバンクBKの数は、統合ファームアップによる情報処理システムSYS2の機能の変更に基づいて変更される。
図8に戻って、統合ファームアップ後、ファームウェアMMBFWは、管理ボードMMBを再起動した後、各システムボードSBのBMCに再起動を指示し、各システムボードSBとの通信を開始する(図8(a)、(b))。各システムボードSBのファームウェアBMCFWは、BMCを再起動した後、領域管理テーブルNVTBLに保持されたバンク数BIOSBKNを参照する(図8(c))。バンク数BIOSBKNは、既存のBIOSINF情報を保持するために割り当てられたバンクBKの数である。そして、ファームウェアBMCFWの検出部DETは、BIOSINF情報を保持するためにファームウェアBMCFWが指定する新たなバンクBKの数が、バンク数BIOSBKNと異なることを検出する。すなわち、ファームウェアBMCFWの検出部DETは、新たにBIOS設定情報を保持するBIOSINF領域のサイズが、領域管理テーブルNVTBLに保持された既存のBIOSINF領域のサイズと異なることを検出する。新たなBIOSINF領域のサイズは、既存のBIOSINF領域のサイズより大きくてもよく、小さくてもよい。例えば、ファームウェアBMCFWが指定する新たなバンクBKの数は、ファームウェアBMCFW内に記述される。
各システムボードSBのファームウェアBMCFWは、新規に割り当てるBIOSINF領域を示す情報を、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに追加する(図8(d))。例えば、図13に示すように、ファームウェアBMCFWの割り当て部ALCは、新規に割り当てるバンクBK3−BK6の数である”4”を示すバンク数BIOSBKNを領域管理テーブルNVTBLに割り当てる。また、割り当て部ALCは、バンクBK3−BK6のそれぞれのサイズを示すバンクサイズBK3SZ−BK6SZを領域管理テーブルNVTBLに割り当てる。さらに、割り当て部ALCは、新規に割り当てるバンクBK3−BK6のオフセット値offsetmin、offsetmaxをアドレス管理テーブルADTBLに割り当てる。
ファームウェアBMCFWは、既存のBIOSINF領域を新規に割り当てたBIOSINF領域に切り替える処理をBMCが実行中であることを示すために、状態BMC−STを”0”から”1”に変更する(図8(e))。そして、ファームウェアBMCFWは、ファームウェアBMCFWが指定する新たなBIOSINF領域に対応するバンクBK(例えば、BK3−BK6)を不揮発性メモリNVMSに新規に割り当てる(図8(f))。すなわち、割り当て部ALCは、BIOSINF情報を保持するためのバンクBKの数を変更する場合、変更後のバンクBKを不揮発性メモリNVMSに追加する。ファームウェアBMCFWは、新規に割り当てたバンクBK内のデータを消去する。既存のBIOSINF領域(すなわち、BK0、BK1)は、削除されることなく維持される。
例えば、ファームウェアBMCFWが指定する新たにBIOSINF情報を保持するためのバンクBKの数が、バンク数BIOSBKNより少ないことが検出された場合にも、要求されたBIOSINF領域が不揮発性メモリNVMSに新規に割り当てられる。なお、ファームウェアBMCFWが指定するBIOSINF情報を保持するためのバンクBKの数が、既存のバンク数BIOSBKNと同じ場合、既存のBIOSINF領域から新規のBIOSINF領域への切り替え処理は実行されない。
各システムボードSBの不揮発性メモリNVMSにおいて、新規にバンクBK3−BK6が割り当てられ、バンクBK3−BK6の割り当てが領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLが反映された状態は、図13に示される。図13に示す状態では、図12に示す状態に対して、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに、バンクBK3−BK6の情報が追加され、状態BMC−STが”1”に設定されている。
バンクサイズBK3SZ、BK4SZは、BK5SZ、BK6SZは、BMCINF領域に割り当てられるバンクBK3、BK4、BK5、BK6のそれぞれのサイズを示す第2サイズ情報の一例である。図13において、アドレス管理テーブルADTBLは、バンクBK3−BK6に割り当てられるアドレスを示すオフセット値offsetmin、offsetmaxを保持するアドレス情報保持部の一例である。バンクBK3−BK6のオフセット値offsetmin、offsetmaxは、第2アドレス情報の一例である。
領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLにバンクBK3−BK6の情報を追加することで、BIOSは、既存のBIOSINF領域(旧)と、新規のBIOSINF領域(新)との両方にアクセスすることができる。すなわち、BIOSは、既存のBIOSINF情報を用いてVariable Reclaimを実行することで、有効なBIOS設定情報を抽出することができ、抽出したBIOS設定情報を新規に割り当てたBIOSINF領域に格納することができる。
図8に戻って、ファームウェアMMBFWは、領域管理テーブルNVTBLを取得し、状態BMC−STの”1”に基づいて、ファームウェアBMCFWがBIOSINF領域の切り替え処理を実行中であること検出する(図8(g))。このように、領域管理テーブルNVTBLに状態BMC−STを保持する領域を設けることで、ファームウェアMMBFWは、ファームウェアBMCFWによるBIOSINF領域の切り替え処理の実行を検出することができる。このため、ファームウェアMMBFWは、ファームウェアBMCFWと連携して、BIOSINF領域の切り替え処理を実行することができる。なお、ファームウェアMMBFWは、管理ボードMMBを再起動後、所定の周期で領域管理テーブルNVTBLを取得する。
ファームウェアMMBFWは、状態BMC−STの”1”の検出に基づいて、ハードウェア構成テーブルHWTBLを退避し、ハードウェア構成テーブルHWTBLを基本構成に設定する(図8(h)、(i))。ここで、基本構成は、各パーティションPTにシステムボードSBを1つずつ割り当て、全てのシステムボードSBがホームシステムボードSBに設定される構成である。ハードウェア構成テーブルHWTBLの変更により、全てのシステムボードSBが、ホームシステムボードSBとして各パーティションPTに割り当てられる。既存のハードウェア構成テーブルHWTBLを退避し、ハードウェア構成テーブルHWTBLを基本構成に設定した不揮発性メモリNVMMの状態は、図14に示される。
図8に戻って、ファームウェアMMBFWは、基本構成に設定したハードウェア構成テーブルHWTBLに基づいて、不揮発性メモリNVMMに保持しているBIOSINF情報およびBMCINF情報の格納をファームウェアBMCFWに指示する(図8(j))。BIOSINF情報およびBMCINF情報の格納を指示されるファームウェアBMCFWは、各パーティションPTに新たに割り当てられた(すなわち、構成変更のある)ホームシステムボードSBのファームウェアBMCFWである。
図14に示す例では、ホームシステムボードSB0は、パーティションPT0への割り当てが維持されるため、ホームシステムボードSB0のファームウェアBMCFWは、BIOSINF情報、BMCINF情報の格納の指示が省略されてもよい。他のホームシステムボードSB1−SB3のそれぞれは、パーティションPT1−PT3に新たに割り当てられるため、他のホームシステムボードSB1−SB3のファームウェアBMCFWは、BIOSINF情報およびBMCINF情報の格納を指示される。
指示を受けたファームウェアBMCFWは、不揮発性メモリNVMSに保持された既存のBIOSINF領域およびBMCINF領域内のデータを消去する。そして、ファームウェアBMCFWは、ファームウェアMMBFWから転送されるBIOSINF情報およびBMCINF情報を、データを消去した既存のBIOSINF領域およびBMCINF領域にそれぞれ格納する(図8(k))。なお、ファームウェアMMBFWから転送されるBIOSINF情報およびBMCINF情報は、元のシステムボードSBと異なるシステムボードSBに格納される場合がある。しかしながら、情報処理システムSYS2の全体では、統合ファームアップ前の既存のBIOSINF情報およびBMCINF情報は、システムボードSB0−SB3のいずれかに含まれるため、失われることを抑止することができる。
ファームウェアMMBFWは、ファームウェアBMCFWに状態MMB−STの”0”から”1”への変更を指示する(図8(l))。状態MMB−STの”1”は、ハードウェア構成テーブルHWTBLが基本構成に設定され、既存のBIOSINF領域を新規に割り当てたBIOSINF領域に切り替える処理をMMBが実行中であることを示す。ファームウェアBMCFWは、ファームウェアMMBFWからの指示に基づいて、領域管理テーブルNVTBLの状態MMB−STを”0”から”1”に変更する(図8(m))。
ファームウェアMMBFWからのBIOSINF情報およびBMCINF情報を不揮発性メモリNVMSに格納した状態は、図15に示される。図15に示す状態では、図13に示す状態に対して、システムボードSB1、SB2のBIOSINF情報およびBMCINF情報が互いに入れ替わり、システムボードSB3のBIOSINF情報およびBMCINF情報が消去されている。また、状態MMB−STが”1”に設定されている。
図14に示す基本構成のハードウェア構成テーブルHWTBLにより各パーティションPTに1つのシステムボードSBを割り当てることで、全てのシステムボードSB0−SB3に、BIOSINF情報およびBMCINF情報を設定することができる。これにより、システムボードSB3のBIOSINF領域およびBMCINF領域に過去に保持された無効なデータDT30、DT31(図13)を削除することができる。
図8に戻って、この後、ファームウェアMMBFWは、不揮発性メモリNVMMに保持された各パーティションPT0−PT3に対応するPTINF0領域−PTINF3領域に含まれる既存のBIOSINF情報(BK0、BK1)を削除する(図8(n))。ファームウェアMMBFWは、取得した領域管理テーブルNVTBLに基づいて、各システムボードSBに割り当てられたバンクBK3−BK6と同じサイズのバンクBK3−BK6を、各PTINF0領域−PTINF3領域内のBIOSINF領域に割り当てる。そして、ファームウェアMMBFWは、割り当てたバンクBK3−BK6のデータを”0xFF”に初期化する(図8(o))。不揮発性メモリNVMMにおいて、バンクBK0、BK1が削除され、バンクBK3−BK6が割り当てられた状態は、図16に示される。
次に、図9において、ファームウェアMMBFWは、管理ボードMMBを再起動し、全てのパーティションPT0−PT3のファームウェアBMCFWに電源の投入を指示する(図9(a))。各ファームウェアBMCFWは、電源の投入の指示に基づいて、各パーティションPTの電源を投入する(図9(b))。なお、各システムボードSBにおいて、電源は、BMCおよび不揮発性メモリNVMSに常に供給されている。パーティションPTの電源の投入により、CPUが動作を開始し、BIOSが起動され、BIOSは、POSTを開始する(図9(c))。BIOSは、BMCを介して領域管理テーブルNVTBLを取得し、状態MMB−ST、BMC−STが”1”であることに基づいて、管理ボードMMBとBMCとがBIOSINF領域の切り替え処理を実行中であることを検出する(図9(d))。領域管理テーブルNVTBLに状態MMB−ST、BMC−STを保持する領域を設けることで、BIOSは、ファームウェアMMBFW、BMCFWによるBIOSINF領域の切り替え処理の実行を検出することができる。このため、BIOSは、BIOSINF領域の切り替え処理に伴って実行するVariable Reclaimの開始タイミングを検出することができる。すなわち、BIOSは、状態MMB−ST、BMC−STに保持された”1”に基づいて、既存のバンクBK0、BK1から有効なBIOS設定情報を抽出する抽出処理(Variable Reclaim処理)を開始する。
管理ボードMMBとBMCとがBIOSINF領域の切り替え処理を実行中であることを検出したため、BIOSは、POSTを中断する(図9(e))。そして、BIOSは、Variable Reclaimを実行するために、ファームウェアBMCFWに状態BIOS−STの”0”から”1”への変更を指示する(図9(f))。ファームウェアBMCFWは、BIOSからの指示に基づいて、領域管理テーブルNVTBLの状態BIOS−STを”0”から”1”に変更する(図9(g))。領域管理テーブルNVTBLに状態BIOS−STを保持する領域を設けることで、ファームウェアBMCFWは、Variable Reclaimが実行であることを検出することができる。
BIOSは、Variable Reclaimを実行することで、不揮発性メモリNVMSのBIOSINF領域に保持された有効なBIOS設定情報を残し、無効なBIOS設定情報を削除する(図9(h))。すなわち、BIOSは、既存のBIOS設定情報が格納されているバンクBK0から有効なBIOS設定情報を抽出する動作と、抽出したBIOS設定情報をバンクBK1に格納する指示とを繰り返す。例えば、BIOSは、既存のVariable Reclaimの機能を利用して実行される。なお、BIOSは、既存のVariable Reclaimの機能とは異なる機能を用いて、バンクBK0から抽出した有効なBIOS設定情報を、バンクBK3に直接格納する処理を実行してもよい。この場合、後述する有効なBIOS設定情報を既存のバンクBK0から新規のバンクBK3に複写する処理は省略される。
例えば、BIOSは、不揮発性メモリNVMSからBIOS設定情報を読み出す場合、IPMIコマンドのパラメータとして、アクセスするバンクBK、アドレスのオフセット値および読み出しサイズを指定する。また、BIOSは、不揮発性メモリNVMSにBIOS設定情報を書き込む場合、IPMIコマンドのパラメータとして、アクセスするバンクBK、アドレスのオフセット値、書き込みサイズおよび書き込みデータ(BIOS設定情報)を指定する。
BIOSは、全ての有効なBIOS設定情報を抽出した後、ファームウェアBMCFWにバンクBK0内のデータを消去する指示を発行し、バンクBK0のデータが消去された後、バンクBK1に保持された有効なBIOS設定情報をバンクBK0に書き戻す。なお、不揮発性メモリNVMSのBIOSINF領域のアクセスは、BIOSからの指示に基づいてファームウェアBMCFWにより制御される。Variable Reclaimが完了した不揮発性メモリNVMSの状態は、図17に示される。
次に、BIOSは、ファームウェアBMCFWに状態BIOS−STの”1”から”2”への変更を指示する(図9(i))。ファームウェアBMCFWは、BIOSからの指示に基づいて、領域管理テーブルNVTBLの状態BIOS−STを”1”から”2”に変更する(図9(j))。状態BIOS−STの”2”は、Variable Reclaimの実行により抽出された有効なBIOS設定情報を、既存のBIOSINF領域(バンクBK0)から新規に割り当てたBIOSINF領域(バンクBK3)に複写中であることを示す。
BIOSは、有効なBIOS設定情報を既存のバンクBK0から新規に割り当てたバンクBK3に複写する指示をファームウェアBMCFWに繰り返し発行する(図9(k))。有効なBIOS設定情報を既存のバンクBK0から新規に割り当てたバンクBK3に複写する指示は、バンクBK0に対する読み出しコマンドと、バンクBK3に対する書き込みコマンドとの交互の発行である。ファームウェアBMCFWは、読み出しコマンドに基づいて複写対象のBIOS設定情報をバンクBK0から読み出し、書き込みコマンドに基づいて書き込みコマンドに含まれる有効なBIOS設定情報をバンクBK3に格納する。書き込みコマンドに基づく有効なBIOS設定情報のバンクBK3への格納は、ファームウェアBMCFWの格納部STRにより実行される。すなわち、BIOSからの指示に基づいて、複写対象のBIOS設定情報をバンクBK0からバンクBK3に複写する複写処理が実行される。バンクBK0からバンクBK3へのBIOS設定情報の格納が完了した不揮発性メモリNVMSの状態は、図18に示される。
また、ファームウェアBMCFWは、複写したBIOS設定情報を不揮発性メモリNVMMのPTINF領域に割り当てたバンクBK3に格納する指示をファームウェアMMBFWに発行する(図9(l))。領域管理テーブルNVTBLの状態BIOS−STに”2”を格納することで、ファームウェアBMCFWは、書き込みコマンドとともにBIOSから転送されたBIOS設定情報をファームウェアMMBFWに転送する判断をすることができる。ファームウェアMMBFWは、各ファームウェアMMBFWからBIOS設定情報が転送される毎に、対応するPTINF領域に割り当てたバンクBK3にBIOS設定情報を格納する(図9(m))。有効なBIOS設定情報がPTINF領域の新規のバンクBK3に格納された不揮発性メモリNVMMの状態は、図19に示される。
全てのBIOS設定情報の複写が完了した後、BIOSは、ファームウェアBMCFWに状態BIOS−STの”2”から”0”への変更を指示する(図9(n))。ファームウェアBMCFWは、BIOSからの指示に基づいて、領域管理テーブルNVTBLの状態BIOS−STを”2”から”0”に変更し、BIOSによるBIOS設定情報の複写の完了を検出する(図9(o))。
ファームウェアBMCFWは、状態BIOS−STが”0”に設定されたことに基づいて、Variable Reclaimに使用した既存のBIOSINF領域(バンクBK0、BK1)を削除する(図9(p))。すなわち、ファームウェアBMCFWの削除部DELは、有効なBIOS設定情報がバンクBK3に格納された後、バンクBK0を削除する。また、ファームウェアBMCFWの削除部DELは、バンクBK0、BK1の削除を、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに反映する(図9(q))。すなわち、ファームウェアBMCFWの削除部DELは、有効なBIOS設定情報をバンクBK3に格納した後、既存のバンクBK0、BK1のサイズを示すバンクサイズBK0SZ、BK1SZを領域管理テーブルNVTBLから削除する。また、ファームウェアBMCFWの削除部DELは、既存のバンクBK0、BK1のオフセット値offsetmin、offsetmaxをアドレス管理テーブルADTBLから削除する。これにより、BIOSINF領域を切り替える処理が完了したため、ファームウェアMMBFWは、状態BMC−STを”1”から”0”に変更する(図9(r))。BIOS設定情報のバンクBK3への格納後に、削除したバンクBK0、BK1に合わせて領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLが更新された不揮発性メモリNVMSの状態は、図20に示される。
次に、図10において、ファームウェアMMBFWは、BMCから領域管理テーブルNVTBLを取得し、状態BMC−STが”0”であることに基づいて、BIOSINF領域を切り替え処理の完了を検出する(図10(a)、(b))。そして、ファームウェアMMBFWは、全てのパーティションPT0−PT3(SB0−SB3)の電源の遮断をファームウェアBMCFWに指示する(図10(c))。ファームウェアBMCFWは、各パーティションPT(すなわち、各システムボードSB)への電源の供給を停止し、BIOSを終了させる(図10(d))。なお、各システムボードSBにおいて、BMCおよび不揮発性メモリNVMSへの電源の供給は継続される。
次に、ファームウェアMMBFWは、基本構成に設定したハードウェア構成テーブルHWTBLに基づくBIOSINF領域の切り替え処理が完了したため、ファームウェアBMCFWに状態MMB−STの”1”から”0”への変更を指示する(図10(e))。ファームウェアBMCFWは、ファームウェアMMBFWからの指示に基づいて、領域管理テーブルNVTBLの状態MMB−STを”1”から”0”に変更する(図10(f))。
次に、ファームウェアMMBFWは、退避したハードウェア構成テーブルHWTBLを元に戻す(図10(g))。ハードウェア構成テーブルHWTBLの変更により、情報処理システムSYS2のパーティションPTの構成は、統合ファームアップ前の元の構成に戻る。退避したハードウェア構成テーブルHWTBLが元に戻された不揮発性メモリNVMMの状態は、図21に示される。換言すれば、図21は、BIOSINF領域の拡張処理の完了後の管理ボードMMBの不揮発性メモリNVMMの状態を示す。
ファームウェアMMBFWは、各パーティションPTのホームシステムボードSBのファームウェアBMCFWに対して、不揮発性メモリNVMMに保持しているBIOSINF情報およびBMCINF情報の格納を指示する(図10(h))。指示を受けたホームシステムボードSBのファームウェアBMCFWは、ファームウェアMMBFWから転送されるBIOSINF情報およびBMCINF情報を、BIOSINF領域およびBMCINF領域のそれぞれに格納する(図10(i))。
そして、全てのシステムボードSBのBIOSINF領域の拡張処理が完了する。拡張処理の完了後の各システムボードSBの不揮発性メモリNVMSの状態は、図22に示される。図22では、拡張処理の開始前の図12に比べて、バンクBKの数が増加され、パーティションPT0、PT1に割り当てられたホームシステムボードSB0、SB2は、有効なBIOS設定情報DT00’、DT10’をそれぞれ保持する。これ以降、パーティションPT0、PT1は、有効なBIOS設定情報DT00’、DT10’を複写した新たなBIOSINF領域を既存のBIOSINF領域として使用する。
図23および図24は、図3に示す情報処理システムSYS2においてBMCが実行する処理の一例を示す。図24は、図23に示す処理の続きを示す。図23および図24に示す処理は、管理ボードMMBからのBMCの起動の指示に基づいて、BMCのファームウェアBMCFWがBMCを起動することで開始される。すなわち、図23および図24は、情報処理システムSYS2の制御方法および制御プログラムの一例を示す。図8から図10に示す処理と同様の処理については、詳細な説明は省略する。
まず、ステップS100において、BMCは、領域管理テーブルNVTBLに保持された既存のBIOSINF領域のバンク数BIOSBKNを取得する。次に、ステップS102において、BMCは、ファームウェアBMCFW内に記述された新規のBIOSINF領域のバンク数を取得する。次に、ステップS104において、BMCは、ステップS100、S102で取得したバンク数が互いに一致するか否かを判定する。バンク数が互いに一致する場合、既存のBIOSINF領域がそのまま使用されるため処理は終了し、バンク数が互いに異なる場合、既存のBIOSINF領域を、新規のBIOSINF領域に切り替えるために処理はステップS106に移行される。
ステップS106において、BMCは、状態BMC−STを”0”から”1”に変更する。次に、ステップS108において、BMCは、新規に割り当てるBIOSINF領域を示す情報を、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに追加する。次に、ステップS110において、BMCは、新たなBIOSINF領域に対応する数のバンクBKを不揮発性メモリNVMSに新規に割り当てる。
次に、ステップS112において、BMCは、管理ボードMMBとの間の通信を確立する。次に、ステップS114において、BMCは、管理ボードMMBからの指示に基づいて、領域管理テーブルNVTBLの状態MMB−STを”0”から”1”に変更する。次に、ステップS116において、BMCは、管理ボードMMBからBIOSINF情報およびBMCINF情報を受信した場合、受信したBIOSINF情報およびBMCINF情報を既存のBIOSINF領域およびBMCINF領域に格納する。すなわち、既存のBIOSINF領域およびBMCINF領域に保持されたBIOSINF情報およびBMCINF情報は、管理ボードMMBから受信したBIOSINF情報およびBMCINF情報に置き換えられる。
次に、ステップS118において、BMCは、管理ボードMMBからの指示に基づいて、パーティションPTの電源を投入する。パーティションPTの電源の投入により、BIOSが起動される。次に、ステップS120において、BMCは、BIOSからの指示に基づいて、領域管理テーブルNVTBLの状態BIOS−STを、Variable Reclaimの実行中を示す”1”に設定する。次に、ステップS122において、BMCは、BIOSによるVariable Reclaimの実行により抽出された有効なBIOS設定情報を、データを消去済みの既存のBIOSINF領域に格納する。次に、ステップS124において、BMCは、領域管理テーブルNVTBLの状態BIOS−STを”2”に設定する指示を受けたか否かを判定する。状態BIOS−STを”2”に設定する指示を受けた場合、Variable Reclaimの実行が終了したと判定され、処理はステップS126に移行される。状態BIOS−STを”2”に設定する指示を受けていない場合、Variable Reclaimが実行中であると判定され、処理はステップS122に戻される。ステップS126において、BMCは、領域管理テーブルNVTBLの状態BIOS−STを、有効なBIOS設定情報の新規のBIOSINF領域への複写中を示す”2”に設定する。
次に、図24に示すステップS128において、BMCは、BIOSからの指示に基づいて、有効なBIOS設定情報を既存のBIOSINF領域から新規のBIOSINF領域に複写する。次に、ステップS130において、BMCは、複写したBIOS設定情報を不揮発性メモリNVMMに格納する指示を管理ボードMMBに発行する。次に、ステップS132において、BMCは、領域管理テーブルNVTBLの状態BIOS−STを”0”に設定する指示を受けたか否かを判定する。状態BIOS−STを”0”に設定する指示を受けた場合、有効なBIOS設定情報の複写が終了したと判定され、処理はステップS134に移行される。状態BIOS−STを”0”に設定する指示を受けていない場合、有効なBIOS設定情報の複写が終了していないと判定され、処理はステップS128に戻される。
次に、ステップS134において、BMCは、領域管理テーブルNVTBLの状態BIOS−STを、”0”に設定する。次に、ステップS136において、BMCは、Variable Reclaimに使用した既存のBIOSINF領域を削除する。次に、ステップS138において、BMCは、既存のBIOSINF領域の削除を領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに反映させる。次に、ステップS140において、BMCは、状態BMC−STを”1”から”0”に変更する。
次に、ステップS142において、BMCは、管理ボードMMBからの電源の遮断の指示に基づいて、全てのパーティションPT0−PT3の電源を遮断する。次に、ステップS144において、BMCは、管理ボードMMBからの指示に基づいて、領域管理テーブルNVTBLの状態MMB−STを”1”から”0”に変更する。次に、ステップS146において、BMCは、管理ボードMMBから受信したBIOSINF情報を新規のBIOSINF領域に格納し、BIOSINF領域の切り替え処理を終了する。この後、BMCは、システムボードSBに搭載されるCPU等の動作を管理する処理を実行する。
図25および図26は、図3に示す情報処理システムSYS2において管理ボードMMBが実行する処理の一例を示す。図26は、図25に示す処理の続きを示す。図25に示す処理は、管理ボードMMBが起動されることにより開始される。図25および図26は、情報処理システムSYS2の制御方法および制御プログラムの一例を示す。図8から図10に示す処理と同様の処理については、詳細な説明は省略する。
まず、ステップS200において、管理ボードMMBは、各システムボードSBのBMCに再起動を指示する。次に、ステップS202において、管理ボードMMBは、各システムボードSBとの間の通信を確立する。次に、ステップS204において、管理ボードMMBは、各パーティションPTのBMCから領域管理テーブルNVTBLを取得する。
ステップS206において、管理ボードMMBは、各パーティションPTのBMCから取得した領域管理テーブルNVTBLの状態BMC−STが”1”か否かを判定する。状態BMC−STが”1”の場合、BIOSINF領域の切り替え処理を実行するために、処理はステップS208に移行され、状態BMC−STが”1”でない場合、BIOSINF領域の切り替え処理を実施しないため、処理は終了される。ステップS208において、管理ボードMMBは、全てのシステムボードSBの状態BMC−STが”1”になった場合、ハードウェア構成テーブルHWTBLを退避する。次に、ステップS210において、管理ボードMMBは、ハードウェア構成テーブルHWTBLを図14に太枠で示すように基本構成に設定する。
次に、ステップS212において、管理ボードMMBは、構成変更のあるホームシステムボードSBに対して、不揮発性メモリNVMMに保持しているBIOSINF情報、BMCINF情報に転送し、BIOSINF情報、BMCINF情報の置き換えを指示する。ステップS212以降の処理は、パーティションPT毎に実行される。次に、ステップS214において、管理ボードMMBは、BMCに領域管理テーブルNVTBLの状態MMB−STを”0”から”1”に変更する指示を発行する。次に、ステップS216において、管理ボードMMBは、不揮発性メモリNVMMに保持された各パーティションPT0−PT3に対応するPTINF0領域−PTINF3領域に含まれる既存のBIOSINF情報を削除する。
次に、ステップS218において、管理ボードMMBは、ステップS204で取得した領域管理テーブルNVTBLに基づいて、PTINF0領域−PTINF3領域の各々に新規のBIOSINF領域を作成する。そして、管理ボードMMBは、作成した新規のBIOSINF領域のデータを”0xFF”に初期化する。次に、ステップS220において、管理ボードMMBは、パーティションPTのBMCに電源の投入を指示する。
次に、図26に示すステップS222において、管理ボードMMBは、Variable Reclaimにより抽出された有効なBIOS設定情報をBMCから受信したか否かを判定する。有効なBIOS設定情報を受信した場合、処理はステップS224に移行され、有効なBIOS設定情報を受信しない場合、処理はステップS226に移行される。ステップS224において、管理ボードMMBは、BMCから受信した有効なBIOS設定情報を、BMCが属するパーティションPTに対応するPTINF領域の新規のBIOSINF領域に格納する。すなわち、各システムボードSBの不揮発性メモリNVMSに格納された有効なBIOS設定情報が、管理ボードMMBの不揮発性メモリNVMMにバックアップされる。
ステップS226において、管理ボードMMBは、BMCから領域管理テーブルNVTBLを取得する。次に、ステップS228において、管理ボードMMBは、BMCから取得した領域管理テーブルNVTBLの状態BMC−STが”0”か否かを判定する。状態BMC−STが”0”の場合、BMCによるBIOSINF領域の切り替え処理が完了したと判断され、処理はステップS230に移行される。状態BMC−STが”0”でない場合、BMCによるBIOSINF領域の切り替え処理が実行中であると判断され、処理はステップS222に戻される。
ステップS230において、管理ボードMMBは、パーティションPTの電源の遮断をBMCに指示する。次に、ステップS232において、管理ボードMMBは、状態MMB−STの”1”から”0”への変更をBMCに指示する。次に、ステップS234において、管理ボードMMBは、全てのパーティションPT(すなわち、全てのシステムボードSB)の電源が遮断されたか否かを判定する。全てのパーティションPTの電源が遮断された場合、処理はステップS236に移行され、電源が遮断されていないパーティションPTが存在する場合、ステップS234の判定を繰り返す。
ステップS236において、管理ボードMMBは、ハードウェア構成テーブルHWTBLを待避した構成に戻す。次に、ステップS238において、管理ボードMMBは、不揮発性メモリNVMMに保持しているBIOSINF情報を新規のBIOSINF領域に格納する指示を、パーティションPTのホームシステムボードSBのBMCに発行する。また管理ボードMMBは、パーティションPTのホームシステムボードSBのBMCに対して、不揮発性メモリNVMMに保持しているBMCINF情報を、BMCINF領域に格納する指示を発行する。そして、管理ボードMMBは、全てのパーティションPTに対してステップS238までの処理が完了した場合、BIOSINF領域の切り替え処理を終了する。この後、管理ボードMMBは、情報処理システムSYS2の全体を管理する処理を実行する。
図27は、図3に示す情報処理システムSYS2においてBIOSが実行する処理の一例を示す。図27に示す処理は、BMCのファームウェアBMCFWがパーティションPTの電源を投入したことに基づいて開始される。図8から図10に示す処理と同様の処理については、詳細な説明は省略する。
まず、ステップS300において、BIOSは、POSTを開始する。次に、ステップS302において、BIOSは、BMCから領域管理テーブルNVTBLを取得する。次に、ステップS304において、BIOSは、各パーティションPTのBMCから取得した領域管理テーブルNVTBLの状態MMB−ST、BMC−STがともに”1”か否かを判定する。状態MMB−ST、BMC−STがともに”1”の場合、処理はステップS306に移行され、状態MMB−ST、BMC−STがともに”0”の場合、処理はステップS316に移行される。
なお、正常な動作状態では、状態MMB−ST、BMC−STの論理値が互いに異なることはない。このため、BIOSは、状態MMB−ST、BMC−STの論理値が互いに異なることを検出した場合、エラー通知をBMCに発行する。エラー通知を受けたBMCは、その後のBIOSINF領域の切り替え処理を停止し、管理ボードMMBに切り替え処理の停止を通知する。例えば、切り替え処理の停止の通知を受けた管理ボードMMBは、パーティションPTの電源の遮断をBMCに指示した後、図9の最初に示す処理を再度開始する。なお、上述したように、正常な動作状態では、状態MMB−ST、BMC−STの論理値が互いに異なることはない。このため、BIOSは、状態BMC−STのみを検出し、状態BMC−STが”1”の場合に処理をステップS306に移行し、状態BMC−STが”0”の場合に処理をステップS316に移行してもよい。
ステップS306において、BIOSは、BIOSINF領域の切り替え処理に伴うVariable Reclaimを実行するため、POSTを中断し、領域管理テーブルNVTBLの状態BIOS−STを”0”から”1”に変更する指示をBMCに発行する。次に、ステップS308において、BIOSは、Variable Reclaimを実行する。Variable Reclaimの処理の例は、図28に示される。
次に、ステップS310において、BIOSは、既存のBIOSINF領域から新規のBIOSINF領域にBIOS設定情報を複写するため、領域管理テーブルNVTBLの状態BIOS−STを”1”から”2”に変更する指示をBMCに発行する。次に、ステップS312において、BIOSは、既存のBIOSINF領域から新規のBIOSINF領域にBIOS設定情報を複写する指示をBMCに発行する。次に、ステップS314において、BIOSは、BIOS設定情報の複写の完了後、領域管理テーブルNVTBLの状態BIOS−STを”2”から”0”に変更する指示をBMCに発行する。この後、BIOSは、図24のステップS142によるパーティションPTの電源の遮断に伴い停止される。
一方、BIOSINF領域の切り替え処理を実行しない場合、ステップS316において、BIOSは、BIOSINF領域の空き容量が所定量以下か否かを判定する。BIOSINF領域の空き容量が所定量以下の場合、処理はステップS318に移行され、BIOSINF領域の空き容量が所定量より大きい場合、処理は終了する。ステップS318において、BIOSは、Variable Reclaimを実行し、処理を終了する。この後、BIOSは、BIOS起動時の他の処理を実行する。
図28は、図27に示すVariable Reclaim処理の一例を示す。図28に示す処理は、BIOSにより実行される。
まず、ステップS400において、BIOSは、不揮発性メモリNVMS内のBIOSINF領域のBIOS設定情報の保存用のバンクBKから有効なBIOS設定情報を抽出する。例えば、保存用のバンクBKは、図4に示すBK0である。次に、ステップS402において、BIOSは、抽出した有効なBIOS設定情報を整理用のバンクBKに格納する。例えば、整理用のバンクBKは、図4に示すBK1である。次に、ステップS404において、BIOSは、有効なBIOS設定情報の抽出が完了したか否かを判定する。有効なBIOS設定情報の抽出が完了した場合、処理はステップS406に移行され、有効なBIOS設定情報の抽出が完了していない場合、処理はステップS400に戻される。
ステップS406において、BIOSは、保存用のバンクBKのデータを消去する。次に、ステップS408において、BIOSは、整理用のバンクBKに格納された有効なBIOS設定情報を保存用のバンクBKに格納する。次に、ステップS410において、BIOSは、有効なBIOS設定情報の保存用のバンクBKへの格納が完了したか否かを判定する。有効なBIOS設定情報の保存用のバンクBKへの格納が完了した場合、処理は終了し、有効なBIOS設定情報の保存用のバンクBKへの格納が完了していない場合、処理はステップS408に戻される。
図29は、図3に示す情報処理システムSYS2の初回の動作の一例を示す。初回の動作は、情報処理システムSYS2を製造するメーカの組立工程で実行され、あるいは、情報処理システムSYS2を出荷前の状態に戻すfactory default処理後に実行される。
まず、ファームウェアMMBFWは、情報処理システムSYS2への電源の投入に基づいて、各システムボードSBのBMCが実行するファームウェアBMCFWに再起動を指示する(図29(a))。ファームウェアBMCFWは、起動指示に基づいて、領域管理テーブルNVTBLを参照し、既存のバンク数BIOSBKNと、ファームウェアBMCFWが要求するBIOSINF情報を保持するための新たなバンクBKの数とを比較する。しかしながら、初回の動作では領域管理テーブルNVTBLが存在しないため、ファームウェアBMCFWは、ファームウェアBMCFWに記述されたバンクBKの仕様に基づいて、領域管理テーブルNVTBLとアドレス管理テーブルADTBLとを作成する(図29(b))。次に、ファームウェアBMCFWは、領域管理テーブルNVTBLに基づいて、BIOSINF領域とBMCINF領域とを作成し、BIOSINF領域とBMCINF領域とを”0xFF”で初期化する(図29(c))。
一方、管理ボードMMBの不揮発性メモリNVMMに保持されたハードウェア構成テーブルHWTBLは、図5に示す出荷時の状態である(図29(d))。ファームウェアMMBFWは、外部からのパーティションPTの生成要求に基づいて、ハードウェア構成テーブルHWTBLに情報を設定する(図29(e))。例えば、ファームウェアMMBFWは、パーティションPT0にシステムボードSB0を割り当てる。
ファームウェアMMBFWは、パーティションPT0のホームシステムボードSB0から領域管理テーブルNVTBLとアドレス管理テーブルADTBLとを取得する(図29(f))。ファームウェアMMBFWは、パーティションPT0から取得した情報に基づいて、不揮発性メモリNVMM内のPTINF0領域にBIOSINF領域とBMCINF領域とを作成し、”0xFF”で初期化する(図29(g))。この後、情報処理システムSYS2の電源が遮断され、情報処理システムSYS2の初回の動作が完了する。
図30は、図3に示す情報処理システムSYS2において、パーティションPTの電源が投入された場合の動作の一例を示す。まず、ファームウェアMMBFWは、所定のパーティションPTに電源の投入を指示する(図30(a))。電源の投入が指示されたパーティションPTのファームウェアBMCFWは、パーティションPTの電源を投入し、BIOSが起動される(図30(b))。
BIOSは、ファームウェアBMCFWを介して不揮発性メモリNVMSから領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLを取得する(図30(c))。そして、BIOSは、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに基づいて、不揮発性メモリNVMSのBIOSINF領域にアクセスし、BIOSINF情報を取得する(図30(d))。
図30に示す例では、BIOSの起動中に、外部からBIOS設定情報の変更が指示され、BIOSは、BIOS設定情報の変更をファームウェアBMCFWに指示する(図30(e)、(f))。ファームウェアBMCFWは、BIOSからの指示に基づいてBIOSINF領域を更新する(図30(g))。さらに、ファームウェアBMCFWは、管理ボードMMBの不揮発性メモリNVMM内のBIOSINF領域を更新する指示をファームウェアMMBFWに発行する(図30(h))。ファームウェアMMBFWは、ファームウェアBMCFWからの指示に基づいて、不揮発性メモリNVMM内のBIOSINF領域を更新する(図30(i))。これにより、システムボードSB内のBIOSINF情報と管理ボードMMB内のBIOSINF情報とが互いに一致する。
図31は、図3に示す情報処理システムSYS2において、システムボードSBが交換される場合の動作の一例を示す。以下では、図5のハードウェア構成テーブルHWTBLに示すパーティションPTの構成において、パーティションPT1のシステムボードSB2が故障した場合に、システムボードSB3に交換される例について説明する。
まず、ファームウェアMMBFWは、外部からのシステムボードSBの交換の指示に基づいて、ハードウェア構成テーブルHWTBLを更新し、ホームシステムボードSBをシステムボードSB2からシステムボードSB3に変更する(図31(a)、(b))。次に、ファームウェアMMBFWは、不揮発性メモリNVMMにおいて、パーティションPT1に対応するPTINF1領域に保持されたBIOSINF情報およびBMCINF情報をシステムボードSB3のファームウェアBMCFWに転送する(図31(c))。
システムボードSB3のファームウェアBMCFWは、転送されたBIOSINF情報で不揮発性メモリNVMS内のBIOSINF領域を書き替え、転送されたBMCINF情報で不揮発性メモリNVMS内のBMCINF領域を書き替える(図31(d))。
不揮発性メモリNVMSが書き替えられた後、ファームウェアMMBFWは、パーティションPT1のシステムボードSB3のファームウェアBMCFWに電源の投入を指示する(図31(e))。システムボードSB3のファームウェアBMCFWは、電源の投入の指示に基づいて、パーティションPT1の電源を投入し、BIOSが起動される(図31(f))。
BIOSは、ファームウェアBMCFWを介して不揮発性メモリNVMSから領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLを取得する(図31(g))。そして、BIOSは、領域管理テーブルNVTBLおよびアドレス管理テーブルADTBLに基づいてBIOSINF領域にアクセスし、BIOSINF情報を取得する(図31(h))。これにより、故障前にシステムボードSB2で使用されていたBIOSINF情報およびBMCINF情報が、システムボードSB3に引き継がれる。
以上、図3から図31に示す実施形態においても、図1および図2に示す実施形態と同様の効果を得ることができる。例えば、情報処理システムSYS2を出荷前の状態(factory default)に戻すことなく、全てのシステムボードSBのBIOSINF領域のサイズを変更することができる。すなわち、パーティションPTに設定された情報を失うことなく、システムボードSB内の電子部品EPのBIOS設定情報を保持するBIOSINF領域のサイズを変更することができる。人手を介することなくBIOSINF領域のサイズを変更できるため、消失した情報を復元する手間がなくなり、人為的な設定ミスを抑止することができる。サイズが変更されたBIOSINF領域を、管理ボードMMBの不揮発性メモリNVMM内のPTINF領域に反映することで、その後にBIOSにより変更されたBIOS設定情報をPTINF領域にバックアップすることができる。
さらに、図3から図31に示す実施形態では、以下の効果を得ることができる。すなわち、BIOSINF領域のサイズの切り替え時に、BIOSは、既存のBIOSINF領域と、新規のBIOSINF領域との両方にアクセスすることができる。したがって、BIOSは、既存のBIOSINF情報を用いてVariable Reclaimを実行し、有効なBIOS設定情報を抽出することができ、抽出したBIOS設定情報を新規に割り当てたBIOSINF領域に格納することができる。
領域管理テーブルNVTBLに状態BMC−STを保持する領域を設けることで、ファームウェアMMBFWは、ファームウェアBMCFWによるBIOSINF領域の切り替え処理の実行を検出することができる。このため、ファームウェアBMCFWと連携して、BIOSINF領域の切り替え処理を実行することができる。また、領域管理テーブルNVTBLに状態BMC−STを保持する領域を設けることで、BIOSは、ファームウェアBMCFWによるBIOSINF領域の切り替え処理の実行を検出することができる。このため、BIOSは、BIOSINF領域の切り替え処理に伴って実行するVariable Reclaimの開始タイミングを検出することができる。
Variable Reclaimの実行中に”1”を示す状態BIOS−STを領域管理テーブルNVTBLに保持することで、ファームウェアBMCFWは、BIOSによるVariable Reclaimの実行を検出することができる。また、BIOS設定情報の複写中に”2”を示す状態BIOS−STを領域管理テーブルNVTBLに保持することで、ファームウェアBMCFWは、複写用にBIOSから転送されたBIOS設定情報をファームウェアMMBFWに転送することができる。
基本構成のハードウェア構成テーブルHWTBLにより各パーティションPTにシステムボードSBを1つずつ割り当てることで、全てのシステムボードSBに、BIOSINF情報およびBMCINF情報を設定することができる。これにより、例えば、システムボードSB3のBIOSINF領域およびBMCINF領域に過去に保持された無効なデータDT30、DT31(図13)を削除することができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
ADTBL…アドレス管理テーブル;ALC…割り当て部;BIOSBKN…バンク数;BIOSINF…BIOS情報;BIOS−ST…状態;BK…バンク;BK0SZ−BK6SZ…バンクサイズ;BMCBKN…バンク数;BMCFW…ファームウェア;BMCINF…BMC情報;BMC−ST…状態;STR…格納部;DEL…削除部;EP…電子部品;HWTBL…ハードウェア構成テーブル;IOSW…入出力スイッチ;IOU…入出力ユニット;MM…メインメモリ;MMB…管理ボード;MMBFW…ファームウェア;MMB−ST…状態;NVMM、NVMS…不揮発性メモリ;NVTBL…領域管理テーブル;PT…パーティション;PTINF…パーティション情報;SB…システムボード;SYS1、SYS2…情報処理システム;TSNS…温度センサ

Claims (11)

  1. 演算処理装置を含む複数の電子部品と、前記複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置において、
    前記制御装置は、
    前記複数の電子部品の設定情報を保持し、かつ前記記憶装置に割り当てられる第1領域のサイズが、前記情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出する検出部と、
    前記検出部による検出に基づいて、前記第1領域の代わりに設定情報を保持する第2領域を前記記憶装置に割り当てる割り当て部と、
    前記第1領域から抽出された有効な設定情報を前記第2領域に格納する格納部と、
    有効な設定情報が前記第2領域に格納された後、前記第1領域を前記記憶装置から削除する削除部と
    を備えることを特徴とする情報処理装置。
  2. 前記割り当て部は、前記検出部による検出に基づいて、前記第1領域のサイズを示す第1サイズ情報を保持するサイズ情報保持部に、前記第2領域のサイズを示す第2サイズ情報を追加し、
    前記削除部は、前記有効な設定情報が前記第2領域に格納された後、前記サイズ情報保持部に保持された前記第1サイズ情報を削除することを特徴とする請求項1記載の情報処理装置。
  3. 前記演算処理装置は、前記検出部による検出に基づいて、前記第1領域から前記有効な設定情報を抽出し、抽出した前記有効な設定情報で前記第1領域を書き替えた後、書き替えた前記有効な設定情報を前記第2領域に格納する処理を前記格納部に実行させることを特徴とする請求項1または請求項2記載の情報処理装置。
  4. 前記制御装置は、前記有効な設定情報を保持する領域を前記第1領域から前記第2領域に切り替え中であることを示す切り替え状態を保持する第1状態保持部を備え、
    前記演算処理装置は、前記切り替え状態が前記第1状態保持部に保持されたことに基づいて、前記第1領域から前記有効な設定情報を抽出する抽出処理を開始することを特徴とする請求項3記載の情報処理装置。
  5. 前記制御装置は、前記演算処理装置により前記有効な設定情報が抽出中であることを示す抽出状態、前記演算処理装置により前記第1領域に置き換えた前記有効な設定情報を前記第2領域に複写中であることを示す複写状態、または前記抽出状態および前記複写状態のいずれでもないアイドル状態を保持する第2状態保持部を備え、
    前記削除部は、前記第2状態保持部が前記複写状態から前記アイドル状態に変化したことに基づいて、前記第1領域を削除することを特徴とする請求項1ないし請求項4のいずれか1項記載の情報処理装置。
  6. 前記記憶装置は、書き込み動作により第1論理値から第2論理値に書き替わる複数の記憶素子を有し、
    前記演算処理装置は、前記第1領域または前記第2領域に保持された設定情報を変更する場合、設定情報が書き込まれていない領域に変更後の設定情報を書き込み、変更前の設定情報を保持する領域を無効状態に設定することを特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理装置。
  7. 演算処理装置を含む複数の電子部品と、前記複数の電子部品の動作を制御する制御装置と、記憶装置とを含む複数の情報処理装置と、前記複数の情報処理装置の動作を管理する管理装置とを備える情報処理システムにおいて、
    前記複数の情報処理装置の各々の前記制御装置は、
    前記複数の電子部品の設定情報を保持し、かつ前記記憶装置に割り当てられる第1領域のサイズが、前記情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出する検出部と、
    前記検出部による検出に基づいて、前記第1領域の代わりに設定情報を保持する第2領域を前記記憶装置に割り当てる割り当て部と、
    前記第1領域から抽出された有効な設定情報を前記第2領域に格納する格納部と、
    有効な設定情報が前記第2領域に格納された後、前記第1領域を前記記憶装置から削除する削除部と
    を備えることを特徴とする情報処理システム。
  8. 前記管理装置は、
    情報処理の実行単位であるパーティションに割り当てる前記情報処理装置を示す構成情報を保持する構成情報保持部と、
    前記パーティションに対応して設けられ、前記パーティション内の前記第1領域が保持する設定情報の写しを保持する写し保持部と
    を備え、
    前記管理装置は、
    前記パーティション内に前記第2領域が追加された場合、前記写し保持部に前記第2領域に対応する対応領域を割り当て、
    前記第2領域に格納された前記有効な設定情報を前記対応領域に格納することを特徴とする請求項7記載の情報処理システム。
  9. 前記管理装置は、
    情報処理の実行単位であるパーティションに割り当てる前記情報処理装置を示す構成情報を保持する構成情報保持部と、
    前記パーティションに対応して設けられ、前記パーティション内の前記第1領域が保持する設定情報の写しを保持する写し保持部と
    を備え、
    前記管理装置は、
    前記パーティション内に前記第2領域が追加された場合、前記構成情報保持部に保持された構成情報を退避し、前記複数の情報処理装置の各々を互いに異なる前記パーティションに割り当てる構成情報を前記構成情報保持部に格納し、
    前記複数の情報処理装置の各々を割り当てた前記パーティションに対応する前記写し保持部が保持する設定情報の写しで、前記複数の情報処理装置の各々の前記第1領域を書き替え、
    前記写し保持部に前記第2領域に対応する対応領域を割り当て、
    前記第2領域に格納された前記有効な設定情報を前記対応領域に格納し、
    前記有効な設定情報を前記対応領域に格納した後、退避した構成情報を前記構成情報保持部に戻し、
    前記対応領域が保持する前記有効な設定情報を、対応する前記パーティションの前記第2領域に格納することを特徴とする請求項7記載の情報処理システム。
  10. 演算処理装置を含む複数の電子部品と、前記複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置の制御方法において、
    前記制御装置が、
    前記複数の電子部品の設定情報を保持し、かつ前記記憶装置に割り当てられる第1領域のサイズが、前記情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出し、
    検出に基づいて、前記第1領域の代わりに設定情報を保持する第2領域を前記記憶装置に割り当て、
    前記第1領域から抽出された有効な設定情報を前記第2領域に格納し、
    有効な設定情報が前記第2領域に格納された後、前記第1領域を前記記憶装置から削除すること
    を特徴とする情報処理装置の制御方法。
  11. 演算処理装置を含む複数の電子部品と、前記複数の電子部品の動作を制御する制御装置と、記憶装置とを含む情報処理装置の制御プログラムにおいて、
    前記制御装置に、
    前記複数の電子部品の設定情報を保持し、かつ前記記憶装置に割り当てられる第1領域のサイズが、前記情報処理装置の機能の変更により新たに指定される設定情報用の領域のサイズと異なることを検出させ、
    検出に基づいて、前記第1領域の代わりに設定情報を保持する第2領域を前記記憶装置に割り当てさせ、
    前記第1領域から抽出された有効な設定情報を前記第2領域に格納させ、
    有効な設定情報が前記第2領域に格納された後、前記第1領域を前記記憶装置から削除させること
    を特徴とする情報処理装置の制御プログラム。
JP2016196457A 2016-10-04 2016-10-04 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム Active JP6753257B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016196457A JP6753257B2 (ja) 2016-10-04 2016-10-04 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US15/712,781 US20180095693A1 (en) 2016-10-04 2017-09-22 Information processing apparatus, information processing system, and method for controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016196457A JP6753257B2 (ja) 2016-10-04 2016-10-04 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2018060316A JP2018060316A (ja) 2018-04-12
JP6753257B2 true JP6753257B2 (ja) 2020-09-09

Family

ID=61758851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016196457A Active JP6753257B2 (ja) 2016-10-04 2016-10-04 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム

Country Status (2)

Country Link
US (1) US20180095693A1 (ja)
JP (1) JP6753257B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018115386A1 (en) * 2016-12-22 2018-06-28 Sony Corporation Apparatus and method for a mobile telecommunications system
TWI722269B (zh) * 2018-01-26 2021-03-21 和碩聯合科技股份有限公司 韌體更新方法及使用此方法的電子裝置
JP7089423B2 (ja) * 2018-07-12 2022-06-22 ルネサスエレクトロニクス株式会社 情報処理装置及び制御方法
JP7309349B2 (ja) * 2018-11-30 2023-07-18 キヤノン株式会社 情報処理装置、およびその制御方法、プログラム
JP7380403B2 (ja) 2020-04-27 2023-11-15 富士通株式会社 情報処理装置及び連携方法
US11775314B2 (en) * 2021-11-02 2023-10-03 Quanta Computer Inc. System and method for BMC and BIOS booting using a shared non-volatile memory module

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
JP2000181687A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 制御装置,電子機器,環境設定方法およびプログラムを格納したコンピュータ読取可能な記録媒体
JP2000293366A (ja) * 1999-04-06 2000-10-20 Mitsubishi Electric Corp セットトップボックス用モジュールのアップデート方法
JP2001195299A (ja) * 2000-01-11 2001-07-19 Canon Inc メモリ管理方法及び装置及び記憶媒体及びそれを用いた印刷装置
AU5999801A (en) * 2000-05-18 2001-11-26 Steinemann Technology Ag Method and device for cutting a laminate
TWI227858B (en) * 2003-04-29 2005-02-11 Via Tech Inc Method for updating BIOS
JP4870915B2 (ja) * 2004-07-15 2012-02-08 株式会社日立製作所 ストレージ装置
US7904518B2 (en) * 2005-02-15 2011-03-08 Gytheion Networks Llc Apparatus and method for analyzing and filtering email and for providing web related services
DE102012100738A1 (de) * 2012-01-30 2013-08-01 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zur Konfiguration eines BIOS in einem Computersystem sowie Computerprogrammprodukt
JP2014186466A (ja) * 2013-03-22 2014-10-02 Sumitomo Wiring Syst Ltd データ記憶装置及びデータ記憶方法
JP6582438B2 (ja) * 2015-02-24 2019-10-02 日本電気株式会社 情報処理装置、システム設定方法、及び、コンピュータ・プログラム

Also Published As

Publication number Publication date
JP2018060316A (ja) 2018-04-12
US20180095693A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
JP6753257B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
TWI546818B (zh) 一種具有綠能資料持續模式的裝置驅動器
US6754765B1 (en) Flash memory controller with updateable microcode
US6807630B2 (en) Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
JP4238514B2 (ja) データ記憶装置
JP5376983B2 (ja) メモリシステム
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
JP5220747B2 (ja) 不揮発性記憶装置および不揮発性記憶システム
US8275949B2 (en) System support storage and computer system
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR20060047704A (ko) 비휘발성 메모리 캐시 성능 향상
US11422860B2 (en) Optimizing save operations for OS/hypervisor-based persistent memory
CN111399752B (zh) 不同类型存储单元的控制装置及方法
JP2010186341A (ja) メモリシステム
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
TWI790628B (zh) 記憶體系統及控制方法
TW202223636A (zh) 電腦主機系統、基板管理控制器和其啟動方法
CN114064352A (zh) 存储器存储装置
KR101303535B1 (ko) 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치
TWI493341B (zh) 記憶體儲存裝置及其修復方法
KR20080045833A (ko) 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템
JP2012128645A (ja) メモリシステム
JP2001051883A (ja) 不揮発性メモリにおける自己修復方法および不揮発性メモリ装置
KR20150058092A (ko) 네트워크 부트 시스템

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200521

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200803

R150 Certificate of patent or registration of utility model

Ref document number: 6753257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150