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

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

Info

Publication number
JPWO2011064811A1
JPWO2011064811A1 JP2011542982A JP2011542982A JPWO2011064811A1 JP WO2011064811 A1 JPWO2011064811 A1 JP WO2011064811A1 JP 2011542982 A JP2011542982 A JP 2011542982A JP 2011542982 A JP2011542982 A JP 2011542982A JP WO2011064811 A1 JPWO2011064811 A1 JP WO2011064811A1
Authority
JP
Japan
Prior art keywords
storage unit
program
type
firmware
stored
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
JP2011542982A
Other languages
English (en)
Other versions
JP5447532B2 (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
Publication of JPWO2011064811A1 publication Critical patent/JPWO2011064811A1/ja
Application granted granted Critical
Publication of JP5447532B2 publication Critical patent/JP5447532B2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

本発明の一実施例では、システムボードの故障発生から効率よく復旧することのできる複数のシステムボードを有する情報処理装置を提供することを目的とする。上記課題を解決するため、情報処理装置は、演算を行う演算部と、該演算部を動作させるプログラムを記憶した第一記憶部を有する複数のシステムボードと、複数の第二記憶部を有するとともに、該複数の第二記憶部のいずれかに該複数のシステムボードが有する第一記憶部にそれぞれ記憶されているプログラムの種類に対応した種類のプログラムを記憶する一つの予備ボードと、該第一記憶部に記憶したプログラムの種類と該第二記憶部のいずれかに記憶したプログラムの種類とを比較し、該第一記憶部に記憶したプログラムが該第二記憶部のいずれかにない場合に、該第一記憶部から該第二記憶部に該プログラムを書き込む制御部とを有する。

Description

本発明は、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
クライアント装置に対して様々なサービスを提供するサーバ装置としての情報処理装置は、複数のパーティションに分割されたCPU(Central Processing Unit)やメモリ等のハードウェア資源を有する。各パーティションは独立したOS(Operating System)で動作し、1以上のシステムボードを有する。各システムボードにはCPUやメモリが実装されており、情報処理装置に要求される様々な処理を実行する。
各パーティションを構成するシステムボードにはファームウェアと呼ばれるプログラムが組み込まれている。ファームウェアはシステムボードの電源投入時に実行され、OS起動用ソフトウェアをメモリに読み込み、またはシステムの動作環境を設定し、OS起動用ソフトウェアを実行状態にする。1つのパーティションが複数のシステムボードで構成されている場合、同一のパーティションに属するそれら複数のシステムボードに組み込まれたファームウェアの版数は同一にする。ファームウェアの版数は制御部により管理される。制御部は版数の異なるファームウェアを種類の異なるプログラムとして管理する。
パーティションを構成するシステムボードが故障した場合、速やかに復旧できるように予備のシステムボード(以下、「予備ボード」という)が情報処理装置に実装されている。平常時において予備ボードはどのパーティションにも属していない。パーティションに属するいずれかのシステムボードが故障した場合、故障が発生したシステムボードと予備ボードとを入れ替えることにより、故障が発生したシステムボードが属するパーティションを速やかに復旧させることが出来る。
より速やかにパーティションを復旧させるため、予備ボードにはあらかじめ故障の可能性のあるシステムボードに組み込まれたファームウェアと同一版数のものが組み込まれているのが望ましい。しかし、情報処理装置が複数のパーティションを有し、ファームウェアの版数がそれぞれ異なる場合、ファームウェアの版数の数に応じて複数の予備ボードを用意する必要がある。
情報処理装置の動作環境に応じたシステムボードへの組み込みプログラムの版数管理に関する技術が知られている。
特開平07−295796号公報 特開平07−6114号公報 特開平04−17040号公報
本発明の一実施例では、システムボードの故障発生から効率よく復旧することのできる複数のシステムボードを有する情報処理装置、制御プログラムおよび制御方法を提供することを目的とする。
上記課題を解決するため、情報処理装置は、演算を行う演算部と、該演算部を動作させるプログラムを記憶した第一記憶部を有する複数のシステムボードと、複数の第二記憶部を有するとともに、該複数の第二記憶部のいずれかに該複数のシステムボードが有する第一記憶部にそれぞれ記憶されているプログラムの種類に対応した種類のプログラムを記憶する一つの予備ボードと、該第一記憶部に記憶したプログラムの種類と該第二記憶部のいずれかに記憶したプログラムの種類とを比較し、該第一記憶部に記憶したプログラムが該第二記憶部のいずれかにない場合に、該第一記憶部から該第二記憶部に該プログラムを書き込む制御部とを有する。
開示の情報処理装置、制御プログラムおよび制御方法によれば、システムボードの故障発生から効率よく復旧することができる複数のシステムボードを有する情報処理装置を提供することができる。
情報処理装置のシステム全体のブロック図である。 システムボードと制御部との関係を示すブロック図である。 予備ボード挿入時の制御部の動作フローチャート図である。 故障発生時の制御部の動作フローチャート図である。 パーティション増設時の制御部の動作フローチャート図である。 優先順位テーブル図である。 パーティション増設時の制御部の動作フローチャート図である。 Aは記憶領域を増やす前の制御部の揮発メモリのデータ構造と予備ボードの不揮発メモリのデータ構造との関係を表した図である。Bは記憶領域を増やした後の制御部の揮発メモリのデータ構造と予備ボードの不揮発メモリのデータ構造との関係を表した図である。 不揮発メモリのメモリマップ図である。
以下、本実施の形態について説明する。なお、各実施形態における構成の組み合わせも本発明の実施形態に含まれる。
図1は本実施の形態に係る情報処理装置1のシステム全体のブロック図である。情報処理装置1は複数のクライアントからの要求に応じてサービスを提供するサーバ装置として機能することも出来る。情報処理装置1は複数のパーティション2、3と、予備ボード7と、制御部8とを有する。
パーティション2、3は複数のシステムボードを有することが出来る。本実施例において、パーティション2は例えば2つのシステムボード4、5を有し、パーティション3は例えば1つのシステムボード6を有する。
パーティション2,3はそれぞれパーティションごとに独立したOSを動作させる。システムボード4、5、6はそれぞれ後述の通りCPU、メモリ、記憶部11、12、13、14、15、16を有する。例えば、フラッシュメモリ、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の不揮発性メモリを記憶部として使用することができる。本実施例において記憶部は各システムボード4、5、6に例えば2つずつ実装されている。記憶部11、12、13、14、15、16はそれぞれ1つのファームウェアを記憶する。それぞれのシステムボードに実装された記憶部のうちの1つは予備である。一方の記憶部が故障した場合に予備の記憶部が有効になり、システムボードの動作停止を予防する。
本実施例において記憶部11、12、13、14、15、16に記憶されるファームウェアの版数はパーティションごとに同一である。パーティション2に属するシステムボード4、5はファームウェアAを組み込み、パーティション3に属するシステムボード6はファームウェアBを組み込む。
予備ボード7はいずれかのシステムボードで故障が発生した場合に、故障が発生したシステムボードと入れ替える際に用いられる予備のシステムボードである。予備ボード7は複数の記憶部17、18を有する。予備ボードに実装される記憶部の数は、情報処理装置1を構成するパーティションの数と同じかそれ以上である。
なお、本実施例において情報処理装置1には1枚の予備ボード7を実装しているが、複数の予備ボードを実装しても良い。予備ボードを複数実装することにより、システムボードでの故障に対する情報処理装置1の信頼性及び可用性をより高めることが出来る。
制御部8は、例えばシステム制御装置(SVP:SerVice Processor)であり、情報処理装置1の全体のシステム動作を管理する。制御部8は後述の通り専用のCPUやメモリを有し、記憶部から当該専用のメモリに読み出されたファームウェアを当該専用のCPUが実行することにより、システム動作を管理する。また、制御部8は情報処理装置外部からの要求に応じて情報処理装置1の電源管理やパーティションごとの故障管理などを行う。
制御部8はパーティション2からファームウェアAを記憶し、パーティション3からファームウェアBを記憶する。情報処理装置1に対して予備ボード7が実装されると、制御部8は記憶したファームウェアA、Bを予備ボード7に実装された記憶部17、18へそれぞれ書き込む。予備ボード7を実装後、いずれかのパーティションに組み込んだ予備ボード7のファームウェアを、当初版数とは異なる版数のものに書き換えた場合、制御部8は書き換え後の版数のファームウェアを読み込み記憶する。制御部8はファームウェアを書き換えた予備ボード7が組み込まれたパーティションに対応して、当該予備ボード7の記憶部17、18のいずれかに書き換え後の版数に対応したファームウェアを書き込む。
操作端末19は制御部8を介して情報処理装置1を操作するコンソール等の端末である。情報処理装置1の管理者は操作端末19を用いてパーティションの変更、ファームウェアの更新、システムボードの増設などを行う。
いずれかのパーティションに属するシステムボードの故障を制御部8が検出すると、制御部8は故障したシステムボードの属するパーティションに予備ボード7を割り当てると共に、故障したシステムボードを停止させた上でパーティションから外す。制御部8は予備ボード7の記憶部17、18のいずれかを、当該予備ボード7を組み込んだパーティションに属する他のシステムボードのファームウェアの版数と一致する版数のファームウェアを有効にする。
以上の動作により、制御部8はシステムボードの故障が発生したパーティションに、対応する版数のファームウェアを含むファームウェアがあらかじめ書き込まれた予備ボードを割り当てることが出来る。これにより、システムボードの故障発生から効率よく復旧することのできる複数のパーティションを有する情報処理装置を提供することができる。
図2はシステムボード4と制御部8との関係を示すブロック図である。他のシステムボード5、6、予備ボード7の構成、および他のシステムボード5、6、予備ボード7と制御部8との接続関係はシステムボード4と制御部8との接続関係と同じである。よって図2ではシステムボード4と制御部8との接続関係のみを示し、他のシステムボード5、6、予備ボード7との関係図を省略する。
システムボード4はCPU20、揮発メモリ21、不揮発メモリ22を有する。CPU20はOSの実行を行う演算部として機能する。揮発メモリ21はシステムボード4の電源を遮断すると保持した内容が消去される揮発性のメモリであり、具体的にはDRAM(Dynamic Randam Access Memory)などがある。不揮発メモリ22はシステムボード4の電源を切っても内容が消えない不揮発性のメモリであり、具体的にはフラッシュメモリなどがある。CPU20、揮発メモリ21、不揮発メモリ22はそれぞれ共通バスに接続されている。不揮発メモリ22は記憶部11、12を有する。
制御部8はCPU23、揮発メモリ24、不揮発メモリ25、NIC(Network Interface Card)26を有する。NIC26は外部の操作端末19と制御部8とをネットワークを介して接続し、LAN(Local Area Network)などを通じて操作端末19からの制御部8の制御を可能にする。CPU23、揮発メモリ24、不揮発メモリ25、NIC26はそれぞれ共通バスに接続されている。
不揮発メモリ25は制御部8を制御するファームウェアを記憶する。揮発メモリ24はシステムボード4の不揮発メモリ22に記憶されているファームウェアを当該システムボード4の電源が投入されている間記憶する。制御部8はCPU23により共通バスを介して不揮発メモリ22に記憶されたファームウェアを揮発メモリ24に読み込むことができる。また制御部8はCPU23により共通バスを介して揮発メモリ24に記憶したファームウェアを不揮発メモリ22に書き込むことができる。
システムボード4の共通バスと制御部8の共通バスとは互いに接続されている。よって操作端末19から送信したコマンドに従って制御部8によりシステムボード4の動作制御を行うことができる。さらに、システムボード4で発生した故障などのイベントを自発的に制御部8へ送信し、制御部8から操作端末19へシステムボード4で発生したイベントを通知することも出来る。
図3は予備ボード7を挿入した時の制御部8の動作フローチャート図である。制御部8の動作説明は図1のブロック図に基づいて行う。
制御部8はパーティション2に属するシステムボード4、5及びパーティション3に属するシステムボード6に対し、それぞれの記憶部に書き込まれているファームウェアの版数をチェックするコマンドを送信する(S1)。システムボード4、5、6に搭載された各CPUは制御部8の要求に対してファームウェアの種類を示す版数情報を抽出し、抽出結果を制御部8へ送信する。制御部8は受信したファームウェアの版数情報を揮発メモリ24に記憶する(S2)。
制御部8はパーティションに組み込まれた予備ボード7に対し、記憶部17、18に書き込まれているファームウェアの版数をチェックするコマンドを送信する(S3)。予備ボード7は制御部8の要求に対し、ファームウェアの版数情報を制御部8へ送信する。制御部8は受信したファームウェアの版数情報を揮発メモリ24に記憶する(S4)。
制御部8のCPU23は揮発メモリ24に記憶したシステムボード4、5、6の記憶部に書き込まれているファームウェアの版数情報と予備ボード7の記憶部に書き込まれているファームウェアの版数情報とを比較する(S5)。
ファームウェアの版数情報を比較した結果、揮発メモリ24に記憶したシステムボード4、5、6の記憶部に書き込まれているファームウェアの版数情報と予備ボード7の記憶部に書き込まれているファームウェアの版数情報が異なっている場合(S6、YES)、制御部8はシステムボード4、5、6の記憶部からファームウェアを読み込み、揮発メモリ24に記憶する(S7)。制御部8は記憶したファームウェアを予備ボード7の記憶部17、18のいずれかに書き込む(S8)。揮発メモリ24に記憶したシステムボード4、5、6の記憶部に書き込まれているファームウェアの版数情報と予備ボード7の記憶部に書き込まれているファームウェアの版数情報が同一の場合(S6、NO)、予備ボード7のファームウェアを書き換える必要がないので処理を終了する(S9)。
以上の動作により、制御部8は全てのパーティション2、3で動作している版数のファームウェアをすべて予備ボード7の記憶部17、18へ書き込むことが出来る。
図4は情報処理装置1に実装されたシステムボード4、5、6のいずれかで故障が発生した場合の制御部8の動作フローチャート図である。制御部8はシステムボード4、5、6に対して定期的に動作チェックコマンドを送信することにより、システムボード4、5、6で発生した故障を検出する(S11)。また制御部8はシステムボード4、5、6から一定間隔で動作状態信号を受信することにより、システムボード4、5、6で発生した故障を検出することも出来る。
制御部8はシステムボード4、5、6のいずれかで故障が発生したことを検出すると、予備ボード7を故障が発生したシステムボードの属するパーティションに割り当てる(S12)。制御部8は予備ボード7の記憶部17、18のうち、故障が発生したパーティションに属するシステムボードのファームウェアの版数に対応する版数のファームウェアを記憶した記憶部を有効にする(S13)。
制御部8は予備ボード7の記憶部17、18のうち、有効にしなかった記憶部に記憶された版数のファームウェアを、有効にした記憶部に記憶された版数のファームウェアに書き換える(S14)。2つの記憶部17、18のファームウェアの版数をそろえることによりファームウェアの記憶状態を冗長にし、予備ボード7における有効状態の記憶部で故障が発生した場合に、他方の無効にしている記憶部を有効にすることにより情報処理装置1を継続的に動作させることが出来る。
図5は情報処理装置1に割り当てられたパーティションの数が増加した場合の制御部8の動作フローチャート図である。パーティションの数が増加したことにより、全パーティションの数が予備ボード7に実装された記憶部の数を超えた場合の制御部8の一実施例を以下に説明する。
制御部8は情報処理装置1を構成する各パーティションの構成状態から予備ボード7の記憶部に記憶するファームウェア版数の優先順位を設定する(S21)。制御部8は設定された優先順位を揮発メモリ24に記憶する。優先順位は後述する優先順位テーブルのように、テーブルデータとして揮発メモリ24に記憶しても良い。
制御部8は故障によりシステムが停止する確率の高いパーティションに組み込まれたファームウェア版数ほど優先順位を高くしてもよい。例えば制御部8は、システムボードの数が多いパーティションに組み込まれたファームウェア版数ほど優先順位を高くする。システムボードの数が多いパーティションはそれだけ処理する業務量も多い。業務量の多いパーティションで一つでもシステムボードが故障すると、システムダウンする可能性が高くなる。
システムボード1つで構成されたパーティションでは、1つのシステムボードが故障するとそのパーティションが停止するため、情報処理装置1の安定動作に与える影響が大きい。制御部8はシステムボード1つで構成されたパーティションに組み込まれたファームウェア版数の優先順位を高く設定しても良い。
仮にシステムボードごとの故障確率が同じだとすると、同一版数のシステムボードが多いほど、その版数のシステムボードが組み込まれたパーティションで故障が発生する確率は高くなる。制御部8は同一版数のファームウェアで動作するシステムボードが多いほど、当該版数のファームウェアの優先順位を高くしてもよい。
パーティションごとの起動時間と終了時間を監視し、それぞれのパーティションに属するシステムボードの駆動時間に応じて優先順位を設定しても良い。起動時間と終了時間は各システムボードから制御部8へ送信するようにしても良い。制御部8は送信された起動時間及び終了時間に基づいて各システムボードの総駆動時間を揮発メモリ24に記憶する。記憶した総駆動時間が長いほど故障発生率が高いと仮定し、記憶した総駆動時間に基づいてそれぞれのシステムボードに組み込まれた版数のファームウェアに対し優先順位を設定する。制御部8は設定した優先順位に基づいて予備ボード7の記憶部である不揮発メモリ22にファームウェアを書き込む。
情報処理装置1における過去の故障発生の経緯に基づいて、制御部8にファームウェア版数の優先順位を設定しても良い。演算処理の負荷の度合いなど、構成からでは単純に故障率を決められない場合もあるためである。
図6は不揮発メモリ25に記憶する優先順位テーブル図である。優先順位テーブル30において、列31には優先順位、列32には各優先順位に対応するファームウェアの版数を設定する。列31に設定する優先順位において、例えば数字が小さいほど優先度が高いものとする。また、優先順位テーブル30において、行33は優先順位が1番のファームウェア版数がAであることを示している。行34は優先順位が2番のファームウェア版数はCであることを示している。行35は優先順位が3番のファームウェア版数はBであることを示している。
図5の説明に戻る。新たなパーティションを割り当てたシステムボードが情報処理装置1に追加され、または1つのパーティションを構成する複数のシステムボードのうちの一部が他の新たなパーティションに割り当てられると、新たなパーティションに割り当てられたシステムボードは制御部8にパーティション情報を送信する。制御部8はシステムボードから受信したパーティション情報に基づいてパーティションの数が増加したことを検出する(S22)。
制御部8のCPU23は新たに追加されたシステムボードのファームウェアの版数を読み込み、予備ボード7の記憶部に記憶されたファームウェアの版数と比較する(S22)。CPU23は同一版数のファームウェアが既に予備ボード7の記憶部に記憶されている場合(S23、NO)、処理を終了する。
新たに追加されたシステムボードのファームウェアの版数と予備ボード7の記憶部に記憶されたファームウェアの版数が異なっており(S23、YES)、かつ予備ボード7において各パーティションに対応した版数のファームウェアが書き込まれていない空きの記憶部が存在する場合(S24,YES)、制御部8のCPU23は予備ボード7の空きの記憶部に対し、新たに追加されたパーティションに属するシステムボードのファームウェアの版数に対応した版数のファームウェアを書き込む(S25)。一方、空きの記憶部が存在しない場合(S24、NO)、制御部8は不揮発メモリ25に記憶された優先順位テーブルの優先順位を参照する(S26)。CPU23は最も優先順位の低い版数のファームウェアを記憶した予備ボード7の記憶部を参照する。CPU23は参照した記憶部に記憶された版数のファームウェアを新たに追加したパーティションに属するシステムボードのファームウェアの版数に対応した版数のファームウェアに書き換える(S27)。
以上の通りファームウェアの優先順位を優先順位テーブルにあらかじめ設定しておくことにより、予備ボードにファームウェアを記憶する空き領域がなくても優先順位に応じたファームウェアを記憶させることが出来、この結果、情報処理装置1の信頼性を向上させることが出来る。
図7は情報処理装置1に割り当てられたパーティションの数が増加した場合の制御部8の動作フローチャート図である。パーティションの数が増加したことにより、全パーティションの数が予備ボード7に実装された記憶部の数を超えた場合の制御部8の他の実施例を以下に説明する。
制御部8のCPU23は情報処理装置1を構成する各パーティションの構成状態から予備ボード7の記憶部に記憶するファームウェア版数の優先順位を設定する(S31)。優先順位の設定方法は図5の実施例において説明した設定方法と同様である。設定された優先順位は例えば制御部8に実装された不揮発メモリ25に記憶される。
新たなパーティションを割り当てたシステムボードが情報処理装置1に追加され、または1つのパーティションを構成する複数のシステムボードのうちの一部が他の新たなパーティションに割り当てられると、新たなパーティションに割り当てられたシステムボードは制御部8にパーティション情報を送信する。制御部8はシステムボードから受信したパーティション情報に基づいてパーティションの数が増加したことを検出する(S32)。
制御部8のCPU23は同一版数のファームウェアが既に予備ボード7の記憶部に記憶されている場合(S33、NO)、処理を終了する。
新たなパーティションを割り当てたシステムボードのファームウェの版数または1つのパーティションを構成する複数のシステムボードのうち他の新たなパーティションに割り当てられたシステムボードの版数と、予備ボード7の記憶部に記憶されたファームウェアの版数が異なり(S33、YES)、かつ予備ボード7において各パーティションに属するシステムボードのファームウェアの版数に対応した版数のファームウェアが書き込まれていない空きの記憶部が存在する場合(S34、YES)、CPU23は予備ボード7の空きの記憶部に対し、新たに追加されたパーティションに対応した版数のファームウェアを書き込む(S35)。
予備ボード7に空きの記憶部が存在しない場合、CPU23は予備ボード7に記憶部の記憶領域の容量を確認するコマンドを送信する(S36)。確認の結果ファームウェアを記憶できるだけの空き容量が存在する場合(S37、YES)、CPU23は1つの記憶部を複数の記憶領域に分割するコマンドを予備ボード7に送信する(S38)。
記憶領域とは1つの記憶部に設けられた複数の領域である。予備ボード7のCPU23は制御部8からのコマンドを受けて、1つの記憶部に2つの記憶領域を設ける(S38)。制御部8は設定した2つの記憶領域のうちのいずれか一方の記憶領域に対し、増設したシステムボードに対応するファームウェアを書き込む(S35)。
記憶部の記憶領域を分割することにより、制御部8は予備ボード7におけるファームウェアの記憶部を見かけ上ふやすことが出来る。記憶部を増やすことにより予備ボード7はいずれかのシステムボードに組み込まれた版数のファームウェアをより多く記憶することが出来る。この結果、システムボードでの故障発生に対して迅速に予備ボード7と差し替えられるため、情報処理装置1の信頼性及び可用性をより高めることが出来る。
一方、記憶部のデータ記憶容量は有限であるため、分割によって記憶領域を増やしても、記憶できるファームウェアの数には限界がある。記憶領域を増やしてもファームウェアを書き込めるだけの記憶容量が存在しない場合(S37、NO)、制御部8は優先順位テーブルに記録した優先順位を参照する(S39)。
制御部8のCPU23は優先順位テーブルにおいて最も優先順位の低い版数のファームウェアを記憶した予備ボード7の記憶領域を参照する。CPU23は参照した記憶領域に対し、新たに追加したパーティションが属するシステムボードのファームウェアの版数に対応した版数のファームウェアを上書きする(S40)。
以上の通りファームウェアの優先順位をあらかじめ優先順位テーブルに設定しておくことにより、予備ボードにファームウェアを記憶する空き領域がなくても優先順位に応じたファームウェアを記憶させることが出来る。より多くの版数のファームウェアを予備ボード7の不揮発メモリ22に記憶させることにより、情報処理装置1の信頼性及び可用性を向上させることが出来る。
図8はパーティション増設時の制御部8における揮発メモリ24のデータ構造と予備ボード7における不揮発メモリ22のデータ構造との関係を表した図である。
図8のAはパーティションが増設され、新たにファームウェアCが検出された場合の、記憶領域を増やす前の制御部における揮発メモリのデータ構造と予備ボード7における不揮発メモリ22のデータ構造との関係を表した図である。揮発メモリ24はファームウェア検出前に記憶していた優先順位テーブル30、メモリマップ40、ファームウェアA、ファームウェアBと新たに検出されたファームウェアCを揮発メモリ24に記憶する。メモリマップ40は予備ボード7の不揮発メモリ22における、各アドレスから開始する各記憶領域にどのファームウェアの版数が記憶されているかを示す。
不揮発メモリ22には2つの記憶部17、18があり、それぞれ記憶部17にはファームウェアA、記憶部18にはファームウェアBを記憶している。制御部8はメモリマップ40を参照することにより図8のAの状態では新たに検出されたファームウェアCを記憶する記憶領域がないことを確認することが出来る。
図8のBは記憶部18の記憶領域を分割し、記憶領域を増やした場合の揮発メモリ24のデータ構造と不揮発メモリ22のデータ構造との関係を表した図である。制御部8は記憶部18の記憶領域に空きがある場合に記憶部18の記憶領域を分割し、新たにファームウェアを記憶する領域を作成する。
作成された記憶領域のメモリマップは揮発メモリ24に記憶されたメモリマップ40に書き込まれる。制御部8はメモリマップ40を参照することにより、不揮発メモリ22のどの記憶領域にどの版数のファームウェアが記憶されているかを確認することが出来る。また制御部8はメモリマップ40を確認することにより、不揮発メモリ22の空き領域の状況を確認することが出来る。
図9はメモリマップ40のテーブル図である。メモリマップ40は各記憶部の記憶領域に記憶されたファームウェアの版数を示す。メモリマップ40において、列41は記憶部の番号を示す。列42は各記憶部における先頭アドレスを示す。列48は各機億部における終了アドレスを示す。列43は各記憶部の各アドレスに記憶されているファームウェアの版数を示す。列47は各版数のファームウェアが対応するパーティション番号を示す。
行44は記憶部11の先頭アドレス0から終了アドレス99までの記憶領域に版数Aのファームウェアが記憶されており、版数Aのファームウェアはパーティション2に対応することを示す。行45は記憶部12の先頭アドレス0から終了アドレス99までの記憶領域に版数Bのファームウェアが記憶されており、版数Bのファームウェアはパーティション3に対応することを示す。行46は記憶部12の先頭アドレス100から終了アドレス199までの記憶領域に版数Cのファームウェアが記憶されており、版数Cのファームウェアはパーティション9に対応することを示す。
制御部8は情報処理装置1に実装されたいずれかのパーティションで故障が発生した場合にメモリマップ40を参照する。制御部8はメモリマップ40を参照することにより、故障が発生したパーティションに対応する版数のファームウェアが予備ボード7の不揮発メモリ22におけるどの記憶領域のどのアドレスに記憶されているかを確認することが出来る。制御部8は確認した記憶領域に記憶された版数のファームウェアを前述の通り有効にすることにより、情報処理装置1を速やかに復旧させることが出来る。
1 情報処理装置
2、3 パーティション
4、5、6 システムボード
7 予備ボード
8 制御部
11、12、13、14、15、16、17、18 記憶部
19 操作端末
20、23 CPU
21、24 揮発メモリ
22、25 不揮発メモリ
26 NIC

Claims (8)

  1. 演算を行う演算部と、
    該演算部を動作させるプログラムを記憶した第一記憶部を有する複数のシステムボードと、
    複数の第二記憶部を有するとともに、該複数の第二記憶部のいずれかに該複数のシステムボードが有する第一記憶部にそれぞれ記憶されているプログラムの種類に対応した種類のプログラムを記憶する一つの予備ボードと、
    該第一記憶部に記憶したプログラムの種類と該第二記憶部のいずれかに記憶したプログラムの種類とを比較し、該第一記憶部に記憶したプログラムが該第二記憶部のいずれかにない場合に、該第一記憶部から該第二記憶部に該プログラムを書き込む制御部と
    を有することを特徴とする情報処理装置。
  2. 該情報処理装置において、
    該制御部は、該プログラムの種類ごとの優先順位を設定した優先順位情報を有し、該第一記憶部に記憶したプログラムの種類の数が該第二記憶部の数を越えた場合に、設定した該優先順位情報に応じて該第二記憶部に該プログラムを上書きすることを特徴とする請求項1記載の情報処理装置。
  3. 前記情報処理装置において、
    該制御部は、新たな種類のプログラムを記憶した第一記憶部を有するシステムボードが該第二記憶部の数を超えて追加された場合に、該第二記憶部の記憶領域を分割するとともに、分割した該第二記憶部の該記憶領域に新たな種類の該プログラムを書き込むことを特徴とする請求項1記載の情報処理装置。
  4. 該情報処理装置において、
    該制御部は、該システムボードごとの駆動時間を記憶し、該システムボードごとの駆動時間に応じて該システムボードに対応する種類の該プログラムに該優先順位を設定することを特徴とする請求項2記載の情報処理装置。
  5. 演算を行う演算部と、該演算部を動作させるプログラムを記憶した第一記憶部を有する複数のシステムボードと、複数の第二記憶部を有するとともに、該複数の第二記憶部のいずれかに該複数のシステムボードが有する第一記憶部にそれぞれ記憶されているプログラムの種類に対応した種類のプログラムを記憶する、少なくとも一つの予備ボードとを有する情報処理装置の制御プログラムであって、
    該第一記憶部に記憶したプログラムの種類と該第二記憶部に記憶したプログラムの種類を読み出す読み出しステップと、
    該第一記憶部に記憶したプログラムの種類と該第二記憶部に記憶したプログラムの種類とを比較する比較ステップと、
    該第一記憶部に記憶したプログラムが該第二記憶部にない場合に、該第一記憶部から該第二記憶部に該プログラムを書き込む書き込みステップと
    をコンピュータに実行させることを特徴とする制御プログラム。
  6. 該制御プログラムにおいて、
    該書き込みステップは、該プログラムの種類ごとの優先順位を設定し、該第一記憶部に記憶したプログラムの種類の数が該第二記憶部の数を超えた場合に、設定した該優先順位に応じて該第二記憶部に該プログラムを上書きすることを特徴とする請求項5記載の制御プログラム。
  7. 演算を行う演算部と、該演算部を動作させるプログラムを記憶した第一記憶部を有する複数のシステムボードと、複数の第二記憶部を有するとともに、該複数の第二記憶部のいずれかに該複数のシステムボードが有する第一記憶部にそれぞれ記憶されているプログラムの種類に対応した種類のプログラムを記憶する、少なくとも一つの予備ボードとを有する情報処理装置を制御する制御方法であって、
    該第一記憶部に記憶したプログラムの種類と該第二記憶部に記憶したプログラムの種類を読み出す読み出しステップと、
    該第一記憶部に記憶したプログラムの種類と該第二記憶部に記憶したプログラムの種類とを比較し、
    該第一記憶部に記憶したプログラムが該第二記憶部にない場合に、該第一記憶部から該第二記憶部に該プログラムを書き込む
    ことを特徴とする制御方法。
  8. 該制御方法において、
    該プログラムの種類ごとの優先順位を設定し、該第一記憶部に記憶したプログラムの種類の数が該第二記憶部の数を越えた場合に、設定した該優先順位に応じて該第二記憶部に該プログラムを上書きすることを特徴とする請求項7記載の制御方法。
JP2011542982A 2009-11-24 2009-11-24 情報処理装置 Expired - Fee Related JP5447532B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/006313 WO2011064811A1 (ja) 2009-11-24 2009-11-24 情報処理装置、制御プログラムおよび制御方法

Publications (2)

Publication Number Publication Date
JPWO2011064811A1 true JPWO2011064811A1 (ja) 2013-04-11
JP5447532B2 JP5447532B2 (ja) 2014-03-19

Family

ID=44065936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011542982A Expired - Fee Related JP5447532B2 (ja) 2009-11-24 2009-11-24 情報処理装置

Country Status (3)

Country Link
US (1) US8793446B2 (ja)
JP (1) JP5447532B2 (ja)
WO (1) WO2011064811A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001441A (ja) * 2014-06-12 2016-01-07 富士通株式会社 システムおよび配下装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6090335B2 (ja) * 2013-01-15 2017-03-08 富士通株式会社 情報処理装置
KR20210023184A (ko) * 2019-08-22 2021-03-04 에스케이하이닉스 주식회사 런타임 오버레이를 통해 펌웨어를 관리하는 장치 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61278902A (ja) * 1985-06-04 1986-12-09 Hitachi Ltd 制御装置のバツクアツプ方法
JPH0417040A (ja) 1990-05-11 1992-01-21 Hitachi Ltd 分散処理システムのプログラム管理方法
JPH06252985A (ja) * 1993-02-26 1994-09-09 Nec Corp バックアップ親局ホットスタンバイ方式
JPH076114A (ja) 1993-06-17 1995-01-10 Toshiba Corp コンピュータシステム
JPH07295796A (ja) 1994-04-20 1995-11-10 Casio Comput Co Ltd プログラム起動装置
JPH09330106A (ja) * 1996-06-10 1997-12-22 Toshiba Corp バックアップ機能付制御システム
JP2001022708A (ja) * 1999-07-05 2001-01-26 Mitsubishi Electric Corp 車両用ネットワークシステム
JP2003167752A (ja) * 2001-11-29 2003-06-13 Nec Yonezawa Ltd プログラム更新システム、プログラム更新方法、および、プログラム更新プログラム
JP4791061B2 (ja) * 2005-03-18 2011-10-12 富士通株式会社 計算機システムのファームウェアのバージョン管理方法及び情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001441A (ja) * 2014-06-12 2016-01-07 富士通株式会社 システムおよび配下装置

Also Published As

Publication number Publication date
US20120297126A1 (en) 2012-11-22
US8793446B2 (en) 2014-07-29
JP5447532B2 (ja) 2014-03-19
WO2011064811A1 (ja) 2011-06-03

Similar Documents

Publication Publication Date Title
JP5831271B2 (ja) 半導体不揮発性メモリ装置のリフレッシュ操作開始方法およびシステム
US8812910B2 (en) Pilot process method for system boot and associated apparatus
JP7002358B2 (ja) 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
JP2013222435A (ja) 半導体記憶装置及びその制御方法
US20230129037A1 (en) Board management controller and method for starting thereof
JP2018060316A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
JP5447532B2 (ja) 情報処理装置
CN116450244B (zh) 芯片启动方法、装置、计算机设备和存储介质
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
JP5949816B2 (ja) キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム
JP2021026375A (ja) ストレージシステム
JP6707939B2 (ja) 制御装置、ストレージ装置、制御方法及びプログラム
US8453007B2 (en) Storage device and recovery method
JP2008204327A (ja) 二重化システムにおける記憶装置の制御方法
WO2016139774A1 (ja) 情報処理装置、情報処理システム
JP2014089497A (ja) 情報処理装置
JP4239754B2 (ja) 不揮発メモリシステム
JP2016173744A (ja) ブレードサーバ、ブレードシステム、bmc、チップセットおよびエンクロージャマネージャ
JP2006018594A (ja) 情報処理装置
JP6221702B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6306300B2 (ja) メモリ管理装置、制御方法、プログラムおよび記録媒体
KR101545077B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
JP2013137699A (ja) 鉄道用電力系統監視制御装置
WO2017192141A1 (en) Method and apparatus for recovering in memory data processing system
JP6981098B2 (ja) 復旧制御装置、復旧制御システム、復旧制御方法、及び、復旧制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131030

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

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