JP2004038529A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2004038529A JP2004038529A JP2002194261A JP2002194261A JP2004038529A JP 2004038529 A JP2004038529 A JP 2004038529A JP 2002194261 A JP2002194261 A JP 2002194261A JP 2002194261 A JP2002194261 A JP 2002194261A JP 2004038529 A JP2004038529 A JP 2004038529A
- Authority
- JP
- Japan
- Prior art keywords
- bios
- timer
- main body
- boot block
- program
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
【課題】BIOSプログラムのブートブロックが何らかの原因で壊れた場合でも、システムの起動を可能にする。
【解決手段】フラッシュROM5に記憶されたBIOSプログラム51を使用する設定になっている状態において、システム電源がオンになると、ウォッチドッグタイマ62が起動されると共にBIOSプログラム51が起動され、それに含まれるブートブロック512、BIOS本体511の順に実行される。ブートブロック512が壊れていると、BIOS本体511へ制御が移行しないため、BIOS本体511に付加されたタイマ再起動処理が走らず、タイマ62がタイムアウトする。切り替え器63はBIOSプログラム52を使用するように変更し、システムリセット手段64はシステムリセットを行う。今度はBIOSプログラム52が起動され、それに含まれるブートブロック522、BIOS本体521の順に実行される。
【選択図】 図1
【解決手段】フラッシュROM5に記憶されたBIOSプログラム51を使用する設定になっている状態において、システム電源がオンになると、ウォッチドッグタイマ62が起動されると共にBIOSプログラム51が起動され、それに含まれるブートブロック512、BIOS本体511の順に実行される。ブートブロック512が壊れていると、BIOS本体511へ制御が移行しないため、BIOS本体511に付加されたタイマ再起動処理が走らず、タイマ62がタイムアウトする。切り替え器63はBIOSプログラム52を使用するように変更し、システムリセット手段64はシステムリセットを行う。今度はBIOSプログラム52が起動され、それに含まれるブートブロック522、BIOS本体521の順に実行される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明はパーソナルコンピュータ等の情報処理装置に関し、特にBIOSプログラムを二組持つ情報処理装置に関する。
【0002】
【従来の技術】
BIOS(Basic Input Output System)プログラムは、一般に、各種デバイスの初期化やオペレーティングシステム(OS)のロードなどを司るBIOS本体(コアブロックとも言う)と、コンピュータの電源オン時やリセット時の直後に起動し、BIOS本体のCRCチェック等を行って問題が無ければ制御をBIOS本体に移すブートブロックとで構成される。BIOSは文字どおり基本入出力プログラムであるため、正常に動作しないと、コンピュータのシステム起動が不可能になる。このため、従来より不測の事態に備え、BIOSプログラムを複数準備しておく冗長化構成が採用されている。
【0003】
例えば、特開平11−316687号公報では、2つのBIOS本体と1つのブートブロックとをROMに記憶しておき、現に使用する一方のBIOS本体の完全性をテストし、不完全であれば他方のBIOS本体を選択することにより、何れか一方のBIOS本体に障害があってもコンピュータのシステムを起動できるようにしている(第1の従来技術)。
【0004】
また、特開2000−148467号公報では、ブートブロック及びBIOS本体から構成されるBIOSプログラムをROMに2つ準備し、この2つのBIOSプログラムを選択的にアクセスするためのアドレス切り替え回路を設ける。そして、一方のBIOSプログラムのブートブロックでBIOSプログラムの不完全が検知された場合、当該ブートブロックにより前記アドレス切り替え回路の切り替え状態を変更した後にシステムをリセットして再起動することにより、他方のBIOSプログラムによるシステムの起動処理を可能にする(第2の従来技術)。この第2の従来技術と類似する技術は特開2000−163268号公報にも記載されている。
【0005】
【発明が解決しようとする課題】
第1の従来技術では、BIOS本体は複数存在するが、ブートブロックは唯1つしかないため、ブートブロック自体が何らかの原因で壊れた場合、コンピュータのシステムの起動が不可能になる。
【0006】
他方、第2の従来技術では、ブートブロックが複数準備されているため、一見するとブートブロック自体が壊れた場合でも他の正常なブートブロックを使ってコンピュータのシステムを起動できそうである。しかし、前述したように、2つのBIOSプログラムを切り替えるアドレス切り替え回路の選択状態を切り替えているのはブートブロックであるため、ブートブロックが壊れているとその切り替えが行えず、結局、コンピュータのシステムの起動が不可能になる。
【0007】
本発明の目的は、BIOSプログラムのブートブロックが何らかの原因で壊れた場合でも、コンピュータのシステムを支障なく起動することができるようにすることにある。
【0008】
【課題を解決するための手段】
本発明の情報処理装置は、コンピュータのシステムの電源オンおよびシステムリセットによって起動されるタイマと、ブートブロックとBIOS本体とを含み且つ前記BIOS本体に前記タイマを再起動する処理を付加してある複数のBIOSプログラムを記憶する記憶手段と、前記タイマがタイムアウトしたときに前記複数のBIOSプログラムのうちシステムで現に使用するBIOSプログラムを残りのBIOSプログラムに切り替える切り替え手段と、前記タイマがタイムアウトしたときにシステムリセット信号を発生するシステムリセット手段とを備えている。
【0009】
【作用】
本発明にあっては、切り替え手段によってシステムで現に使用するBIOSプログラムが或るBIOSプログラム(BIOSプログラムAとする)に切り替えられている状態において、コンピュータのシステムの電源がオンになると、タイマが起動されると共にBIOSプログラムAが起動され、それに含まれるブートブロック、BIOS本体の順に実行される。最初に動作するブートブロックが壊れていると、BIOS本体へ制御が移行しないため、BIOS本体に付加されたタイマ再起動処理が走らず、タイマがタイムアウトする。また、ブートブロックが正常でもBIOS本体が何らかの原因で壊れていると、やはりタイマ再起動処理が走らず、タイマがタイムアウトする。このような状態になると、切り替え手段が現に使用するBIOSプログラムAを他のBIOSプログラム(BIOSプログラムBとする)に切り替え、またシステムリセット手段がシステムリセット信号を発生する。これにより、今度はBIOSプログラムBが起動され、それに含まれるブートブロック、BIOS本体の順に実行される。
【0010】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0011】
図1は本発明を適用したPCサーバのブロック図である。この例のPCサーバは、CPU1、RAMやROMで構成されたメモリ2、表示コントローラ3、I/Oコントローラ4、フラッシュROM5、チップセット6、これらを相互に接続するバス7、バックアップ用のバッテリ8を含んで構成されている。
【0012】
フラッシュROM5は、読み書き可能で且つ電源を落としても内容が保持されるメモリであり、サイズの等しい2つのBIOSプログラム51、52を格納している。BIOSプログラム51は、BIOS本体511とブートブロック512とで構成され、BIOSプログラム52は、BIOS本体521とブートブロック522とで構成される。BIOS本体511、521は、全く同一の内容か或いは異なるバージョンのBIOS本体であり、メモリ2等の各種デバイスの初期化やオペレーティングシステム(OS)のロードなどを司る機能を有する。また、BIOS本体511、521には、後述するウォッチドッグタイマ62を周期的に再起動する処理が付加されている。再起動する周期はウォッチドッグタイマ62がタイムアウトする時間より短い。ブートブロック512、513は、全く同一の内容か或いは異なるバージョンのブートブロックであり、PCサーバの電源オン時やリセット時の直後に起動され、BIOS本体511、521のCRCチェック等を行って問題が無ければ制御をBIOS本体に移す機能を有する。
【0013】
本実施の形態の場合、BIOSプログラム51、52の各サイズは512KBである。フラッシュROM5はその倍の1MBの記憶容量を有し、システムのアドレス空間に割り当てられている。そして、そのアドレス空間の内の上位512KBのアドレス空間にBIOSプログラム51が、下位512KBのアドレス空間にBIOSプログラム52がそれぞれ割り振られている。具体的には、フラッシュROM5をアクセスするためのアドレスA0〜A19の内、最上位のアドレスA19が1となる場合にBIOSプログラム51がアクセスされ、アドレスA19が0となる場合にBIOSプログラム52がアクセスされるようになっている。本実施の形態では、アドレスA0〜A18はバス7を通じてシステム本体側から与えられ、アドレスA19は、チップセット6のアウトプットピン61から与えられる。
【0014】
チップセット6は、CPU1の周辺LSIの一種で、1〜数チップで構成され、CPU1およびメモリ2と図示しないPCI(Peripheral Component Interconnect)などのバスを接続して、アクセス制御などを行ったり、USB(Universal Serial Bus)などの入出力インタフェースを司るものとして知られているが、本実施の形態では、このようなチップセット6に、本発明に関連するウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設けている。なお、チップセット6が最初からウォッチドッグタイマ機能を有する場合、それをウォッチドッグタイマ62として利用することができる。
【0015】
ウォッチドッグタイマ62は、PCサーバの電源オンおよびシステムリセットによって起動される再起動可能なハードウェアタイマであり、予め定められた時間T以内に再起動されないとタイムアウト信号を切り替え器63およびシステムリセット手段64に出力する。ここで、時間Tは、PCサーバのシステムが正常に起動した場合の、電源オン又はシステムリセット時から、BIOS本体511および521における最初のタイマ再起動処理までの時間より若干長く設定される。
【0016】
切り替え器63は、アウトプットピン61から値1または値0のアドレスA19を出力する回路で、ウォッチドッグタイマ62からタイムアウト信号を入力すると、アウトプットピン61から出力する値を反転する機能を持つ。つまり、アウトプットピン61からアドレスA19として値1を出力している状態でタイムアウト信号を受けると、アウトプットピン61から出力するアドレスA19の値を0に変更し、アウトプットピン61からアドレスA19として値0を出力している状態でタイムアウト信号を受けると、アウトプットピン61から出力するアドレスA19の値を1に変更する。切り替え器63は、例えば、タイムアウト信号を入力する毎に出力値を反転するフリップフロップ回路で実現することができる。
【0017】
システムリセット手段64は、ウォッチドッグタイマ62からタイムアウト信号を受けた時に、PCサーバにシステムリセットをかけるためのシステムリセット信号を発生する手段である。
【0018】
チップセット6に電力を供給するバッテリ8は、PCサーバの図示しないACケーブルが抜けたり、停電になった場合に、切り替え器63が保持する現在の切り替え状態、つまりアドレスA19の現在の値が消えてしまわないように、バックアップするための電源である。
【0019】
図2は本実施の形態のPCサーバのシステム起動時の処理例を示すフローチャートである。以下、図1および図2を参照して本実施の形態におけるシステム起動時の動作を説明する。
【0020】
今、切り替え器63はアウトプットピン61からアドレスA19の値として1をフラッシュROM5に出力する状態に切り替わっているものとする。つまり、BIOSプログラム51が現に使用するBIOSプログラムとして設定されているものとする。この状態で、PCサーバのシステムの電源がオンになると(S1)、ウォッチドッグタイマ62が自動的に起動されて計時を開始する(S2)。
【0021】
他方、CPU1はバス7を通じてフラッシュROM5のブートブロックをアクセスし、ブートブロックで規定される処理の実行を開始するが、フラッシュROM5のアドレスA0〜A19のうち、アドレスA19はアウトプットピン61から値1が固定的に出力されているため、CPU1がアクセスするブートブロックはブートブロック512になる。従って、ブートブロック512で規定される処理を実行し、次いでBIOS本体511の実行へと進む。
【0022】
ブートブロック512の処理が正常に行われ、BIOS本体511の処理も正常に行われた場合には、BIOS本体511に付加されたタイマ再起動処理によってウォッチドッグタイマ62が周期的に再起動されるため、ウォッチドッグタイマ62がタイムアウトすることはなく(S3でNo)、通常のシステム立ち上げ処理が行われる(S4)。
【0023】
他方、ブートブロック512が壊れていると、BIOS本体511へ制御が移行しないため、BIOS本体511のタイマ再起動処理が走らず、ウォッチドッグタイマ62がタイムアウトする(S3でYes)。また、ブートブロック512が正常でもBIOS本体511が壊れていると、やはりタイマ再起動処理が走らず、ウォッチドッグタイマ62がタイムアウトする(S3でYes)。ウォッチドッグタイマ62がタイムアウトし、タイムアウト信号が出力されると、切り替え器63は、アウトプットピン61から出力しているアドレスA19の値を1から0に変更する(S5)。また、システムリセット手段64は、システムリセット信号を発生し、PCサーバのシステムをリセットする(S6)。
【0024】
PCサーバのシステムがリセットされたときの処理は電源オン時と同じであり、ウォッチドッグタイマ62が自動的に起動されて計時を開始する(S2)。他方、CPU1はバス7を通じてフラッシュROM5のブートブロックをアクセスし、ブートブロックで規定される処理の実行を開始するが、フラッシュROM5のアドレスA0〜A19のうち、アドレスA19はアウトプットピン61から値0が固定的に出力されているため、CPU1がアクセスするブートブロックは今度はブートブロック522になる。従って、ブートブロック522で規定される処理を実行し、次いでBIOS本体511の実行へと進む。そして、ブートブロック522の処理が正常に行われ、BIOS本体521の処理も正常に行われた場合、BIOS本体521に付加されたタイマ再起動処理によってウォッチドッグタイマ62が周期的に再起動されるため、ウォッチドッグタイマ62がタイムアウトすることはなく(S3でNo)、通常のシステム立ち上げ処理が行われる(S4)。
【0025】
なお、本実施の形態では、BIOSプログラム51および52はフラッシュROM5に格納されているため、内容が壊れていたブートブロックやBIOS本体はROMの差し替え無しに復旧することができる。
【0026】
【発明の他の実施の形態】
以上の実施の形態では、PCサーバに備わるチップセット6に、ウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設け、チップセット6のアウトプットピン61から、システムに2組準備されているBIOSプログラム51、52を切り替えるためのアドレスA19を供給したが、BMC(Baseboard Management Controller)を備えるPCサーバにあっては、BMCにウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設け、BMCの特定の出力ピンから、BIOSプログラム51、52を切り替えるためのアドレスA19を供給するようにしても良い。また、チップセット6やBMC以外の箇所に、ウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設けるようにしても良い。
【0027】
以上の実施の形態では、本発明をパーソナルコンピュータをベースとしたPCサーバに適用したが、本発明はPCサーバにのみ限定されず、通常のパーソナルコンピュータやワークステーション等の情報処理装置全般に適用可能である。
【0028】
以上の実施の形態では、切り替え器63の現在の切り替え状態を電源断時においても保持し得るようにバッテリ8でバックアップする構成としたが、切り替え器63の現在の切り替え状態をバッテリが不要な不揮発性RAMやEEPROM等に保存しておくようにしても良い。
【0029】
以上の実施の形態では、2つのBIOSプログラムを相互に切り替えるようにしたが、3つ以上のBIOSプログラムをウォッチドッグタイマがタイムアウトする毎に順番に切り替えるように構成しても良い。
【0030】
以上の実施の形態では、BIOSプログラムを記憶するメモリとしてフラッシュROMを用いたが、一般的なROMやEEPROM等にBIOSプログラムを記憶させておくようにしても良い。
【0031】
【発明の効果】
以上説明したように本発明によれば、BIOSプログラムのブートブロックおよびBIOS本体が何らかの原因で壊れた場合でも、コンピュータのシステムを支障なく起動することができる。その理由は、BIOSプログラムのブートブロックおよびBIOS本体が正常に動作しているか否かをウォッチドッグタイマ等のタイマで監視し、若し正常に動作していなければ、タイマのタイムアウトを契機に切り替え手段およびシステムリセット手段によって、現に使用するBIOSプログラムを別のBIOSプログラムに切り替えてシステムをリセットし、前記切り替えた別のBIOSプログラムのブートブロックおよびBIOS本体によってシステムの起動を行うためである。
【図面の簡単な説明】
【図1】本発明を適用したPCサーバのブロック図である。
【図2】本発明を適用したPCサーバのシステム起動時の処理例を示すフローチャートである。
【符号の説明】
1…CPU
2…メモリ
3…表示コントローラ
4…I/Oコントローラ
5…フラッシュROM
6…チップセット
7…バス
8…バッテリ
51、52…BIOSプログラム
511、521…BIOS本体
512、522…ブートブロック
A0〜A19…アドレス
【発明の属する技術分野】
本発明はパーソナルコンピュータ等の情報処理装置に関し、特にBIOSプログラムを二組持つ情報処理装置に関する。
【0002】
【従来の技術】
BIOS(Basic Input Output System)プログラムは、一般に、各種デバイスの初期化やオペレーティングシステム(OS)のロードなどを司るBIOS本体(コアブロックとも言う)と、コンピュータの電源オン時やリセット時の直後に起動し、BIOS本体のCRCチェック等を行って問題が無ければ制御をBIOS本体に移すブートブロックとで構成される。BIOSは文字どおり基本入出力プログラムであるため、正常に動作しないと、コンピュータのシステム起動が不可能になる。このため、従来より不測の事態に備え、BIOSプログラムを複数準備しておく冗長化構成が採用されている。
【0003】
例えば、特開平11−316687号公報では、2つのBIOS本体と1つのブートブロックとをROMに記憶しておき、現に使用する一方のBIOS本体の完全性をテストし、不完全であれば他方のBIOS本体を選択することにより、何れか一方のBIOS本体に障害があってもコンピュータのシステムを起動できるようにしている(第1の従来技術)。
【0004】
また、特開2000−148467号公報では、ブートブロック及びBIOS本体から構成されるBIOSプログラムをROMに2つ準備し、この2つのBIOSプログラムを選択的にアクセスするためのアドレス切り替え回路を設ける。そして、一方のBIOSプログラムのブートブロックでBIOSプログラムの不完全が検知された場合、当該ブートブロックにより前記アドレス切り替え回路の切り替え状態を変更した後にシステムをリセットして再起動することにより、他方のBIOSプログラムによるシステムの起動処理を可能にする(第2の従来技術)。この第2の従来技術と類似する技術は特開2000−163268号公報にも記載されている。
【0005】
【発明が解決しようとする課題】
第1の従来技術では、BIOS本体は複数存在するが、ブートブロックは唯1つしかないため、ブートブロック自体が何らかの原因で壊れた場合、コンピュータのシステムの起動が不可能になる。
【0006】
他方、第2の従来技術では、ブートブロックが複数準備されているため、一見するとブートブロック自体が壊れた場合でも他の正常なブートブロックを使ってコンピュータのシステムを起動できそうである。しかし、前述したように、2つのBIOSプログラムを切り替えるアドレス切り替え回路の選択状態を切り替えているのはブートブロックであるため、ブートブロックが壊れているとその切り替えが行えず、結局、コンピュータのシステムの起動が不可能になる。
【0007】
本発明の目的は、BIOSプログラムのブートブロックが何らかの原因で壊れた場合でも、コンピュータのシステムを支障なく起動することができるようにすることにある。
【0008】
【課題を解決するための手段】
本発明の情報処理装置は、コンピュータのシステムの電源オンおよびシステムリセットによって起動されるタイマと、ブートブロックとBIOS本体とを含み且つ前記BIOS本体に前記タイマを再起動する処理を付加してある複数のBIOSプログラムを記憶する記憶手段と、前記タイマがタイムアウトしたときに前記複数のBIOSプログラムのうちシステムで現に使用するBIOSプログラムを残りのBIOSプログラムに切り替える切り替え手段と、前記タイマがタイムアウトしたときにシステムリセット信号を発生するシステムリセット手段とを備えている。
【0009】
【作用】
本発明にあっては、切り替え手段によってシステムで現に使用するBIOSプログラムが或るBIOSプログラム(BIOSプログラムAとする)に切り替えられている状態において、コンピュータのシステムの電源がオンになると、タイマが起動されると共にBIOSプログラムAが起動され、それに含まれるブートブロック、BIOS本体の順に実行される。最初に動作するブートブロックが壊れていると、BIOS本体へ制御が移行しないため、BIOS本体に付加されたタイマ再起動処理が走らず、タイマがタイムアウトする。また、ブートブロックが正常でもBIOS本体が何らかの原因で壊れていると、やはりタイマ再起動処理が走らず、タイマがタイムアウトする。このような状態になると、切り替え手段が現に使用するBIOSプログラムAを他のBIOSプログラム(BIOSプログラムBとする)に切り替え、またシステムリセット手段がシステムリセット信号を発生する。これにより、今度はBIOSプログラムBが起動され、それに含まれるブートブロック、BIOS本体の順に実行される。
【0010】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0011】
図1は本発明を適用したPCサーバのブロック図である。この例のPCサーバは、CPU1、RAMやROMで構成されたメモリ2、表示コントローラ3、I/Oコントローラ4、フラッシュROM5、チップセット6、これらを相互に接続するバス7、バックアップ用のバッテリ8を含んで構成されている。
【0012】
フラッシュROM5は、読み書き可能で且つ電源を落としても内容が保持されるメモリであり、サイズの等しい2つのBIOSプログラム51、52を格納している。BIOSプログラム51は、BIOS本体511とブートブロック512とで構成され、BIOSプログラム52は、BIOS本体521とブートブロック522とで構成される。BIOS本体511、521は、全く同一の内容か或いは異なるバージョンのBIOS本体であり、メモリ2等の各種デバイスの初期化やオペレーティングシステム(OS)のロードなどを司る機能を有する。また、BIOS本体511、521には、後述するウォッチドッグタイマ62を周期的に再起動する処理が付加されている。再起動する周期はウォッチドッグタイマ62がタイムアウトする時間より短い。ブートブロック512、513は、全く同一の内容か或いは異なるバージョンのブートブロックであり、PCサーバの電源オン時やリセット時の直後に起動され、BIOS本体511、521のCRCチェック等を行って問題が無ければ制御をBIOS本体に移す機能を有する。
【0013】
本実施の形態の場合、BIOSプログラム51、52の各サイズは512KBである。フラッシュROM5はその倍の1MBの記憶容量を有し、システムのアドレス空間に割り当てられている。そして、そのアドレス空間の内の上位512KBのアドレス空間にBIOSプログラム51が、下位512KBのアドレス空間にBIOSプログラム52がそれぞれ割り振られている。具体的には、フラッシュROM5をアクセスするためのアドレスA0〜A19の内、最上位のアドレスA19が1となる場合にBIOSプログラム51がアクセスされ、アドレスA19が0となる場合にBIOSプログラム52がアクセスされるようになっている。本実施の形態では、アドレスA0〜A18はバス7を通じてシステム本体側から与えられ、アドレスA19は、チップセット6のアウトプットピン61から与えられる。
【0014】
チップセット6は、CPU1の周辺LSIの一種で、1〜数チップで構成され、CPU1およびメモリ2と図示しないPCI(Peripheral Component Interconnect)などのバスを接続して、アクセス制御などを行ったり、USB(Universal Serial Bus)などの入出力インタフェースを司るものとして知られているが、本実施の形態では、このようなチップセット6に、本発明に関連するウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設けている。なお、チップセット6が最初からウォッチドッグタイマ機能を有する場合、それをウォッチドッグタイマ62として利用することができる。
【0015】
ウォッチドッグタイマ62は、PCサーバの電源オンおよびシステムリセットによって起動される再起動可能なハードウェアタイマであり、予め定められた時間T以内に再起動されないとタイムアウト信号を切り替え器63およびシステムリセット手段64に出力する。ここで、時間Tは、PCサーバのシステムが正常に起動した場合の、電源オン又はシステムリセット時から、BIOS本体511および521における最初のタイマ再起動処理までの時間より若干長く設定される。
【0016】
切り替え器63は、アウトプットピン61から値1または値0のアドレスA19を出力する回路で、ウォッチドッグタイマ62からタイムアウト信号を入力すると、アウトプットピン61から出力する値を反転する機能を持つ。つまり、アウトプットピン61からアドレスA19として値1を出力している状態でタイムアウト信号を受けると、アウトプットピン61から出力するアドレスA19の値を0に変更し、アウトプットピン61からアドレスA19として値0を出力している状態でタイムアウト信号を受けると、アウトプットピン61から出力するアドレスA19の値を1に変更する。切り替え器63は、例えば、タイムアウト信号を入力する毎に出力値を反転するフリップフロップ回路で実現することができる。
【0017】
システムリセット手段64は、ウォッチドッグタイマ62からタイムアウト信号を受けた時に、PCサーバにシステムリセットをかけるためのシステムリセット信号を発生する手段である。
【0018】
チップセット6に電力を供給するバッテリ8は、PCサーバの図示しないACケーブルが抜けたり、停電になった場合に、切り替え器63が保持する現在の切り替え状態、つまりアドレスA19の現在の値が消えてしまわないように、バックアップするための電源である。
【0019】
図2は本実施の形態のPCサーバのシステム起動時の処理例を示すフローチャートである。以下、図1および図2を参照して本実施の形態におけるシステム起動時の動作を説明する。
【0020】
今、切り替え器63はアウトプットピン61からアドレスA19の値として1をフラッシュROM5に出力する状態に切り替わっているものとする。つまり、BIOSプログラム51が現に使用するBIOSプログラムとして設定されているものとする。この状態で、PCサーバのシステムの電源がオンになると(S1)、ウォッチドッグタイマ62が自動的に起動されて計時を開始する(S2)。
【0021】
他方、CPU1はバス7を通じてフラッシュROM5のブートブロックをアクセスし、ブートブロックで規定される処理の実行を開始するが、フラッシュROM5のアドレスA0〜A19のうち、アドレスA19はアウトプットピン61から値1が固定的に出力されているため、CPU1がアクセスするブートブロックはブートブロック512になる。従って、ブートブロック512で規定される処理を実行し、次いでBIOS本体511の実行へと進む。
【0022】
ブートブロック512の処理が正常に行われ、BIOS本体511の処理も正常に行われた場合には、BIOS本体511に付加されたタイマ再起動処理によってウォッチドッグタイマ62が周期的に再起動されるため、ウォッチドッグタイマ62がタイムアウトすることはなく(S3でNo)、通常のシステム立ち上げ処理が行われる(S4)。
【0023】
他方、ブートブロック512が壊れていると、BIOS本体511へ制御が移行しないため、BIOS本体511のタイマ再起動処理が走らず、ウォッチドッグタイマ62がタイムアウトする(S3でYes)。また、ブートブロック512が正常でもBIOS本体511が壊れていると、やはりタイマ再起動処理が走らず、ウォッチドッグタイマ62がタイムアウトする(S3でYes)。ウォッチドッグタイマ62がタイムアウトし、タイムアウト信号が出力されると、切り替え器63は、アウトプットピン61から出力しているアドレスA19の値を1から0に変更する(S5)。また、システムリセット手段64は、システムリセット信号を発生し、PCサーバのシステムをリセットする(S6)。
【0024】
PCサーバのシステムがリセットされたときの処理は電源オン時と同じであり、ウォッチドッグタイマ62が自動的に起動されて計時を開始する(S2)。他方、CPU1はバス7を通じてフラッシュROM5のブートブロックをアクセスし、ブートブロックで規定される処理の実行を開始するが、フラッシュROM5のアドレスA0〜A19のうち、アドレスA19はアウトプットピン61から値0が固定的に出力されているため、CPU1がアクセスするブートブロックは今度はブートブロック522になる。従って、ブートブロック522で規定される処理を実行し、次いでBIOS本体511の実行へと進む。そして、ブートブロック522の処理が正常に行われ、BIOS本体521の処理も正常に行われた場合、BIOS本体521に付加されたタイマ再起動処理によってウォッチドッグタイマ62が周期的に再起動されるため、ウォッチドッグタイマ62がタイムアウトすることはなく(S3でNo)、通常のシステム立ち上げ処理が行われる(S4)。
【0025】
なお、本実施の形態では、BIOSプログラム51および52はフラッシュROM5に格納されているため、内容が壊れていたブートブロックやBIOS本体はROMの差し替え無しに復旧することができる。
【0026】
【発明の他の実施の形態】
以上の実施の形態では、PCサーバに備わるチップセット6に、ウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設け、チップセット6のアウトプットピン61から、システムに2組準備されているBIOSプログラム51、52を切り替えるためのアドレスA19を供給したが、BMC(Baseboard Management Controller)を備えるPCサーバにあっては、BMCにウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設け、BMCの特定の出力ピンから、BIOSプログラム51、52を切り替えるためのアドレスA19を供給するようにしても良い。また、チップセット6やBMC以外の箇所に、ウォッチドッグタイマ62、切り替え器63およびシステムリセット手段64を設けるようにしても良い。
【0027】
以上の実施の形態では、本発明をパーソナルコンピュータをベースとしたPCサーバに適用したが、本発明はPCサーバにのみ限定されず、通常のパーソナルコンピュータやワークステーション等の情報処理装置全般に適用可能である。
【0028】
以上の実施の形態では、切り替え器63の現在の切り替え状態を電源断時においても保持し得るようにバッテリ8でバックアップする構成としたが、切り替え器63の現在の切り替え状態をバッテリが不要な不揮発性RAMやEEPROM等に保存しておくようにしても良い。
【0029】
以上の実施の形態では、2つのBIOSプログラムを相互に切り替えるようにしたが、3つ以上のBIOSプログラムをウォッチドッグタイマがタイムアウトする毎に順番に切り替えるように構成しても良い。
【0030】
以上の実施の形態では、BIOSプログラムを記憶するメモリとしてフラッシュROMを用いたが、一般的なROMやEEPROM等にBIOSプログラムを記憶させておくようにしても良い。
【0031】
【発明の効果】
以上説明したように本発明によれば、BIOSプログラムのブートブロックおよびBIOS本体が何らかの原因で壊れた場合でも、コンピュータのシステムを支障なく起動することができる。その理由は、BIOSプログラムのブートブロックおよびBIOS本体が正常に動作しているか否かをウォッチドッグタイマ等のタイマで監視し、若し正常に動作していなければ、タイマのタイムアウトを契機に切り替え手段およびシステムリセット手段によって、現に使用するBIOSプログラムを別のBIOSプログラムに切り替えてシステムをリセットし、前記切り替えた別のBIOSプログラムのブートブロックおよびBIOS本体によってシステムの起動を行うためである。
【図面の簡単な説明】
【図1】本発明を適用したPCサーバのブロック図である。
【図2】本発明を適用したPCサーバのシステム起動時の処理例を示すフローチャートである。
【符号の説明】
1…CPU
2…メモリ
3…表示コントローラ
4…I/Oコントローラ
5…フラッシュROM
6…チップセット
7…バス
8…バッテリ
51、52…BIOSプログラム
511、521…BIOS本体
512、522…ブートブロック
A0〜A19…アドレス
Claims (6)
- コンピュータのシステムの電源オンおよびシステムリセットによって起動されるタイマと、ブートブロックとBIOS本体とを含み且つ前記BIOS本体に前記タイマを再起動する処理を付加してある複数のBIOSプログラムを記憶する記憶手段と、前記タイマがタイムアウトしたときに前記複数のBIOSプログラムのうちシステムで現に使用するBIOSプログラムを残りのBIOSプログラムに切り替える切り替え手段と、前記タイマがタイムアウトしたときにシステムリセット信号を発生するシステムリセット手段とを備えたことを特徴とする情報処理装置。
- 前記タイマがウォッチドッグタイマである請求項1記載の情報処理装置。
- 前記記憶手段がフラッシュROMである請求項1記載の情報処理装置。
- 前記タイマ、前記切り替え手段および前記システムリセット手段をチップセット内に備える請求項1、2または3記載の情報処理装置。
- 前記タイマ、前記切り替え手段および前記システムリセット手段をBMC内に備える請求項1、2または3記載の情報処理装置。
- 前記切り替え手段の現在の切り替え状態をコンピュータの電源断時にも保持するためのバッテリを備える請求項1、2または3記載の情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002194261A JP2004038529A (ja) | 2002-07-03 | 2002-07-03 | 情報処理装置 |
| US10/609,610 US20040158702A1 (en) | 2002-07-03 | 2003-07-01 | Redundancy architecture of computer system using a plurality of BIOS programs |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002194261A JP2004038529A (ja) | 2002-07-03 | 2002-07-03 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004038529A true JP2004038529A (ja) | 2004-02-05 |
Family
ID=31703000
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002194261A Pending JP2004038529A (ja) | 2002-07-03 | 2002-07-03 | 情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20040158702A1 (ja) |
| JP (1) | JP2004038529A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007094537A (ja) * | 2005-09-27 | 2007-04-12 | Hitachi Ltd | メモリダンプ装置及びメモリダンプ採取方法 |
| US7493484B2 (en) | 2004-07-03 | 2009-02-17 | Samsung Electronics Co., Ltd. | Method and apparatus for executing the boot code of embedded systems |
| JP2009070224A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | 電子機器、電子機器の起動制御方法及び画像形成装置 |
| JP2009151384A (ja) * | 2007-12-18 | 2009-07-09 | Ricoh Co Ltd | リカバリー制御装置、制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体 |
| JP2009187049A (ja) * | 2008-02-01 | 2009-08-20 | Fujitsu Ltd | 装置 |
| US7900036B2 (en) | 2006-12-18 | 2011-03-01 | International Business Machines Corporation | System and method for implementing boot/recovery on a data processing sysem |
| JP2011103051A (ja) * | 2009-11-10 | 2011-05-26 | Toshiba Tec Corp | 情報処理装置 |
| US7975188B2 (en) | 2007-03-13 | 2011-07-05 | Nec Corporation | Restoration device for BIOS stall failures and method and computer program product for the same |
| CN117032813A (zh) * | 2023-10-10 | 2023-11-10 | 浪潮(山东)计算机科技有限公司 | 双基本输入输出系统闪存的切换判定方法及装置 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004199277A (ja) * | 2002-12-17 | 2004-07-15 | Fujitsu Ltd | Biosの冗長管理方法、データ処理装置及びストレージシステム |
| US20060179308A1 (en) * | 2005-02-07 | 2006-08-10 | Andrew Morgan | System and method for providing a secure boot architecture |
| US7269534B2 (en) * | 2005-03-11 | 2007-09-11 | Dell Products L.P. | Method to reduce IPMB traffic and improve performance for accessing sensor data |
| US7669048B2 (en) * | 2005-12-09 | 2010-02-23 | Microsoft Corporation | Computing device limiting mechanism |
| JP2007299032A (ja) * | 2006-04-27 | 2007-11-15 | Toshiba Corp | 情報処理装置および制御方法 |
| TWI327290B (en) * | 2006-10-03 | 2010-07-11 | Magic Pixel Inc | Electronic system with nand flash memory storing boot code and a highly reliable boot up method |
| US20080184023A1 (en) * | 2007-01-31 | 2008-07-31 | Inventec Corporation | Computer platform boot block program corruption recovery handling method and system |
| CN100451967C (zh) * | 2007-02-14 | 2009-01-14 | 威盛电子股份有限公司 | 基本输入输出系统文件切换方法及可支持其切换的控制器 |
| US8984653B2 (en) * | 2008-04-03 | 2015-03-17 | Microsoft Technology Licensing, Llc | Client controlled lock for electronic devices |
| TW200945192A (en) * | 2008-04-28 | 2009-11-01 | Asustek Comp Inc | Motherboard and method for recovering BIOS thereof and for booting computer |
| TW201020779A (en) * | 2008-11-18 | 2010-06-01 | Inventec Corp | System for auto-operating backup firmware and method thereof |
| US8887144B1 (en) * | 2009-09-04 | 2014-11-11 | Amazon Technologies, Inc. | Firmware updates during limited time period |
| US9565207B1 (en) | 2009-09-04 | 2017-02-07 | Amazon Technologies, Inc. | Firmware updates from an external channel |
| US8214653B1 (en) | 2009-09-04 | 2012-07-03 | Amazon Technologies, Inc. | Secured firmware updates |
| US10177934B1 (en) | 2009-09-04 | 2019-01-08 | Amazon Technologies, Inc. | Firmware updates inaccessible to guests |
| US8601170B1 (en) | 2009-09-08 | 2013-12-03 | Amazon Technologies, Inc. | Managing firmware update attempts |
| US8971538B1 (en) | 2009-09-08 | 2015-03-03 | Amazon Technologies, Inc. | Firmware validation from an external channel |
| US8102881B1 (en) | 2009-09-08 | 2012-01-24 | Amazon Technologies, Inc. | Streamlined guest networking in a virtualized environment |
| US8300641B1 (en) | 2009-09-09 | 2012-10-30 | Amazon Technologies, Inc. | Leveraging physical network interface functionality for packet processing |
| US8640220B1 (en) | 2009-09-09 | 2014-01-28 | Amazon Technologies, Inc. | Co-operative secure packet management |
| US8959611B1 (en) | 2009-09-09 | 2015-02-17 | Amazon Technologies, Inc. | Secure packet management for bare metal access |
| US8381264B1 (en) | 2009-09-10 | 2013-02-19 | Amazon Technologies, Inc. | Managing hardware reboot and reset in shared environments |
| CN102419719A (zh) * | 2010-09-27 | 2012-04-18 | 鸿富锦精密工业(深圳)有限公司 | 电脑系统及电脑系统的开机方法 |
| TWI515557B (zh) * | 2014-02-26 | 2016-01-01 | 緯創資通股份有限公司 | 電腦系統與控制方法 |
| US9983885B2 (en) | 2015-05-06 | 2018-05-29 | Elbit Systems Of America, Llc | BIOS system with non-volatile data memory |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5564054A (en) * | 1994-08-25 | 1996-10-08 | International Business Machines Corporation | Fail-safe computer boot apparatus and method |
| US6167532A (en) * | 1998-02-05 | 2000-12-26 | Compaq Computer Corporation | Automatic system recovery |
| US6560726B1 (en) * | 1999-08-19 | 2003-05-06 | Dell Usa, L.P. | Method and system for automated technical support for computers |
| US6651188B2 (en) * | 2001-06-29 | 2003-11-18 | Intel Corporation | Automatic replacement of corrupted BIOS image |
| US7058703B2 (en) * | 2002-03-08 | 2006-06-06 | Intel Corporation | System management controller (SMC) negotiation protocol for determining the operational mode of SMCs |
-
2002
- 2002-07-03 JP JP2002194261A patent/JP2004038529A/ja active Pending
-
2003
- 2003-07-01 US US10/609,610 patent/US20040158702A1/en not_active Abandoned
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7493484B2 (en) | 2004-07-03 | 2009-02-17 | Samsung Electronics Co., Ltd. | Method and apparatus for executing the boot code of embedded systems |
| JP2007094537A (ja) * | 2005-09-27 | 2007-04-12 | Hitachi Ltd | メモリダンプ装置及びメモリダンプ採取方法 |
| US7900036B2 (en) | 2006-12-18 | 2011-03-01 | International Business Machines Corporation | System and method for implementing boot/recovery on a data processing sysem |
| US7975188B2 (en) | 2007-03-13 | 2011-07-05 | Nec Corporation | Restoration device for BIOS stall failures and method and computer program product for the same |
| JP2009070224A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | 電子機器、電子機器の起動制御方法及び画像形成装置 |
| JP2009151384A (ja) * | 2007-12-18 | 2009-07-09 | Ricoh Co Ltd | リカバリー制御装置、制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体 |
| JP2009187049A (ja) * | 2008-02-01 | 2009-08-20 | Fujitsu Ltd | 装置 |
| JP2011103051A (ja) * | 2009-11-10 | 2011-05-26 | Toshiba Tec Corp | 情報処理装置 |
| CN117032813A (zh) * | 2023-10-10 | 2023-11-10 | 浪潮(山东)计算机科技有限公司 | 双基本输入输出系统闪存的切换判定方法及装置 |
| CN117032813B (zh) * | 2023-10-10 | 2024-02-09 | 浪潮(山东)计算机科技有限公司 | 双基本输入输出系统闪存的切换判定方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20040158702A1 (en) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2004038529A (ja) | 情報処理装置 | |
| US6336174B1 (en) | Hardware assisted memory backup system and method | |
| US5794054A (en) | Flash ROM sharing between a processor and a controller | |
| US5317752A (en) | Fault-tolerant computer system with auto-restart after power-fall | |
| US7251746B2 (en) | Autonomous fail-over to hot-spare processor using SMI | |
| TWI303383B (en) | Method and apparatus for remote modification of system configuration | |
| TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
| TWI459294B (zh) | Bios程式的更新方法與其電腦系統 | |
| US11789820B2 (en) | Methods and systems for preventing hangup in a post routine from faulty bios settings | |
| US7007192B2 (en) | Information processing system, and method and program for controlling the same | |
| US20160378344A1 (en) | Processor and platform assisted nvdimm solution using standard dram and consolidated storage | |
| EP0433979A2 (en) | Fault-tolerant computer system with/config filesystem | |
| US7360045B2 (en) | System and method for backing up data from a quiesced storage device | |
| TW200847021A (en) | Automatic backup, restore and update BIOS computer system | |
| JP2002268900A (ja) | 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構 | |
| TW201020779A (en) | System for auto-operating backup firmware and method thereof | |
| US20080072028A1 (en) | Method of restarting a computer platform | |
| US7194614B2 (en) | Boot swap method for multiple processor computer systems | |
| TWI839101B (zh) | 韌體的更新方法 | |
| TWI390410B (zh) | 不須執行電力開啟自我測試之操作系統傳送及啟動 | |
| US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
| US20090006809A1 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
| CN110083491A (zh) | 一种bios初始化方法、装置、设备及存储介质 | |
| TWI526817B (zh) | 電腦系統、可適性休眠控制模組及其控制方法 | |
| CN115658106B (zh) | 一种bios的更新方法、装置、电子设备、存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040427 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060928 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070220 |