(57)【特許請求の範囲】
【請求項１】
ＢＩＯＳ（Basic Input/Output System）と、基板管理コントローラと、を有するコンピュータシステムであって、
前記基板管理コントローラは、
時間のカウントを行うとともに、前記ＢＩＯＳからのコマンドを受けた場合に前記カウントをリセットするタイマ手段を備え、
前記ＢＩＯＳは、
パワーオンセルフテスト中に、前記基板管理コントローラに対して、前記タイマ手段のカウントをリセットするためのコマンドを実行するコマンド実行手段と、
前記基板管理コントローラから前記コマンドに対する応答が得られない場合、前記基板管理コントローラがストールしたと判断し、前記基板管理コントローラの再起動を指示する再起動指示手段と、
を備えたことを特徴とするコンピュータシステム。
【請求項２】
前記ＢＩＯＳから前記基板管理コントローラの再起動指示を受けた場合に、前記基板管理コントローラの再起動を行う制御回路を有することを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記基板管理コントローラは、前記パワーオンセルフテスト中に、前記ＢＩＯＳから前記コマンドを受信せずに、前記タイマ手段のカウントがタイムアウトした場合、前記ＢＩＯＳがストールしたと判断し、中央処理ユニットを再起動することを特徴とする請求項１又は２記載のコンピュータシステム。
【請求項４】
前記タイマ手段は、前記ＢＩＯＳからＩＰＭＩ（Intelligent Platform Management Interface）仕様に沿ったコマンドを受けた場合に前記カウントをリセットするＷＤＴ（Watch Dog Timer）機能であることを特徴とする請求項１から３のいずれか１項に記載のコンピュータシステム。
【請求項５】
中央処理ユニットと、
前記中央処理ユニットに接続された第１のチップセットと、
前記チップセットに関連付けられ、かつ、接続された、第２のチップセットと、
前記第２のチップセットに接続され、システムの起動時にパワーオンセルフテストを実行する、少なくとも１つのＢＩＯＳ（Basic Input/Output System）と、
前記第２のチップセット及び前記少なくとも１つのＢＩＯＳに接続された基板管理コントローラと、
前記少なくとも１つのＢＩＯＳからの指示に従い、前記基板管理コントローラを再起動するハードウェア制御回路と、を有するコンピュータシステムであって、
前記基板管理コントローラは、
時間のカウントを行うとともに、前記少なくとも１つのＢＩＯＳからのコマンドを受けた場合に前記カウントをリセットするタイマ手段を備え、
前記少なくとも１つのＢＩＯＳは、
パワーオンセルフテスト中に、前記基板管理コントローラに対して、前記タイマ手段のカウントをリセットするためのコマンドを実行するコマンド実行手段と、
前記基板管理コントローラから前記コマンドに対する応答が得られない場合、前記基板管理コントローラがストールしたと判断し、前記基板管理コントローラの再起動を指示する再起動指示手段と、を備え、
前記ハードウェア制御回路は、
前記少なくとも１つのＢＩＯＳから前記基板管理コントローラの再起動指示を受けた場合に、前記基板管理コントローラの再起動を行う再起動実行手段と、
を備えたことを特徴とするコンピュータシステム。
【請求項６】
前記基板管理コントローラは、前記パワーオンセルフテスト中に、前記少なくとも１つのＢＩＯＳから前記コマンドを受信せずに、前記タイマ手段のカウントがタイムアウトした場合、前記少なくとも１つのＢＩＯＳがストールしたと判断し、前記中央処理ユニットを再起動することを特徴とする請求項５記載のコンピュータシステム。
【請求項７】
前記タイマ手段は、前記少なくとも１つのＢＩＯＳからＩＰＭＩ（Intelligent Platform Management Interface）仕様に沿ったコマンドを受けた場合に前記カウントをリセットするＷＤＴ（Watch Dog Timer）機能であることを特徴とする請求項５又は６記載のコンピュータシステム。
【請求項８】
基板管理コントローラが、時間のカウントを行うタイマステップと、
ＢＩＯＳ（Basic Input/Output System）が、パワーオンセルフテスト中に、前記基板管理コントローラに対して、前記タイマステップのカウントをリセットするためのコマンドを実行するコマンド実行ステップと、
前記ＢＩＯＳが、前記基板管理コントローラから前記コマンドに対する応答が得られない場合、前記基板管理コントローラの再起動を指示する再起動指示ステップと、
を有することを特徴とする情報処理方法。
【請求項９】
前記ＢＩＯＳから前記基板管理コントローラの再起動指示に基づいて、前記基板管理コントローラの再起動を行う第１の再起動実行ステップを有することを特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記基板管理コントローラが、前記パワーオンセルフテスト中に、前記ＢＩＯＳから前記コマンドを受信せずに、前記タイマ手段のカウントがタイムアウトした場合、中央処理ユニットを再起動する第２の再起動実行ステップを有することを特徴とする請求項８又は９記載の情報処理方法。
【請求項１１】
前記タイマステップは、前記ＢＩＯＳからＩＰＭＩ（Intelligent Platform Management Interface）仕様に沿ったコマンドを受けた場合に前記カウントをリセットするＷＤＴ（Watch Dog Timer）機能によって行われることを特徴とする請求項８から１０のいずれか１項に記載の情報処理方法。
【請求項１２】
請求項８から１１のいずれか１項に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷＤＴ（Watch Dog Timer）機能によるシステムの動作監視を行うファームウェアを内蔵した基板管理コントローラまたはサービスプロセッサを備えるコンピュータシステム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
基板管理コントローラ（Baseboard Management Controller：以下、ＢＭＣという）は、コンピュータシステムの電源制御、温度や電圧の監視機能や、システムの動作監視の機能などを持つ。近年のコンピュータシステムはそれだけではなく、リモートコンピュータからのシステムの電源制御や、リモートメディア制御やマルチタスク化など、ＢＭＣの機能も多様化、複雑化したために、ＢＭＣ自身がストールする場合も増えてきた。
【０００３】
従って、コンピュータシステムの信頼性を高めるために、外部ＨＷ（Hard Ware）制御回路により、ＢＭＣ自身が対象のＷＤＴ（Watch Dog Timer）を持つ仕様（PCI Industrial Computer Manufactures Group Specification）のコンピュータシステムもある。また、特許文献１のように、電源制御に着目して、ＢＭＣの電源制御が機能しない場合に装置電源をＯＦＦにするものもある。
【特許文献１】特開２００２−３１８６４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＢＭＣの機能の一部のみが不能になったため、電源制御は問題なく、またＢＭＣ自身が対象のＷＤＴのタイマをリセットできる場合、ＷＤＴの再スタートが行えるために一部の機能が不能のままの状態になる。そして、その不能の機能がファームウェア・ソフトウェアとコマンドのやりとりを行う機能の場合、ＢＩＯＳ（Basic Input/Output System：基本入出力システム）やＯＳ（Operating System）のストール判断ができない、あるいは、ＢＭＣが持つ情報を入手できない等、コンピュータシステムの動作にさまざまな不具合を引き起こすという問題がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、ＢＭＣがコマンドのやりとりが不能になった場合に着目して、ＰＯＳＴ（Power On Self Test）中にコマンドのやりとりが不能になったときに、能動的にＢＩＯＳからＢＭＣを再起動するコンピュータシステム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために、本発明のコンピュータシステムは、第１の態様として、ＢＩＯＳと、基板管理コントローラと、を有するコンピュータシステムであって、基板管理コントローラは、時間のカウントを行うとともに、ＢＩＯＳからのコマンドを受けた場合にカウントをリセットするタイマ手段を備え、ＢＩＯＳは、パワーオンセルフテスト中に、基板管理コントローラに対して、タイマ手段のカウントをリセットするためのコマンドを実行するコマンド実行手段と、基板管理コントローラからコマンドに対する応答が得られない場合、基板管理コントローラがストールしたと判断し、基板管理コントローラの再起動を指示する再起動指示手段と、を備えたことを特徴とする。
【０００７】
本発明のコンピュータシステムは、第２の態様として、中央処理ユニットと、中央処理ユニットに接続された第１のチップセットと、チップセットに関連付けられ、かつ、接続された、第２のチップセットと、第２のチップセットに接続され、システムの起動時にパワーオンセルフテストを実行する、少なくとも１つのＢＩＯＳと、第２のチップセット及び少なくとも１つのＢＩＯＳに接続された基板管理コントローラと、少なくとも１つのＢＩＯＳからの指示に従い、基板管理コントローラを再起動するハードウェア制御回路と、を有するコンピュータシステムであって、基板管理コントローラは、時間のカウントを行うとともに、少なくとも１つのＢＩＯＳからのコマンドを受けた場合にカウントをリセットするタイマ手段を備え、少なくとも１つのＢＩＯＳは、パワーオンセルフテスト中に、基板管理コントローラに対して、タイマ手段のカウントをリセットするためのコマンドを実行するコマンド実行手段と、基板管理コントローラからコマンドに対する応答が得られない場合、基板管理コントローラがストールしたと判断し、基板管理コントローラの再起動を指示する再起動指示手段と、を備え、ハードウェア制御回路は、少なくとも１つのＢＩＯＳから基板管理コントローラの再起動指示を受けた場合に、基板管理コントローラの再起動を行う再起動実行手段と、を備えたことを特徴とする。
【０００８】
本発明の情報処理方法は、基板管理コントローラが、時間のカウントを行うタイマステップと、ＢＩＯＳが、パワーオンセルフテスト中に、基板管理コントローラに対して、タイマステップのカウントをリセットするためのコマンドを実行するコマンド実行ステップと、ＢＩＯＳが、基板管理コントローラからコマンドに対する応答が得られない場合、基板管理コントローラの再起動を指示する再起動指示ステップと、を有することを特徴とする。
【０００９】
本発明のプログラムは、上記本発明の情報処理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＰＯＳＴ中にコマンドのやりとりが不能になったときに、能動的にＢＩＯＳからＢＭＣを再起動することにより、コンピュータシステムの動作に対する不具合を解消でき、コンピュータシステムを正常な状態に早急に復旧することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００１２】
本発明の一実施形態であるコンピュータシステムは、図１に示すマザーボードを有する情報処理端末装置である。
【００１３】
図１は、数字で全体的に示されるマザーボード１００のアーキテクチャを示している。このアーキテクチャは、例示的な目的のみのためのものであり、マザーボードに可能な多くのアーキテクチャのうちの１つのみが示されているものとして理解されるべきである。
【００１４】
図１に示されるように、マザーボード１００は中央処理ユニット（Central Processing Unit：以下、ＣＰＵという）１１０を含む。ＣＰＵ１１０は、図１において１３０で示される通常「ノースブリッジ」と呼ばれるチップ（第１のチップセット）に対して、プロセッサバス１２０を介して接続される。ノースブリッジ１３０は、一般的にメモリユニットなどのコンポーネントとＣＰＵ１１０との間の通信を管理する。したがって、一般的に、１４０で示されるメモリ（１つ以上のメモリユニット及びメモリコントローラ）は、ノースブリッジ１３０に接続可能である。
【００１５】
図１において１５０で示される「サウスブリッジ」として知られているチップ（第２のチップセット）もまたノースブリッジ１３０に接続されている。サウスブリッジ１５０は、一般的にノースブリッジ１３０によって実行されるよりも遅いマザーボードのサービスを実行する。例えば周辺コンポーネントインターフェイス（ＰＣＩ：Peripheral Component Interface）バスである。サウスブリッジ１５０は、ロウピンカウント（ＬＰＣ：Low Pin Count）バス１６０を介して、ＢＩＯＳ１７０を含むファームウェアメモリユニットに接続されることが可能である。
【００１６】
ＢＩＯＳ１７０は、ファームウェアとしても参照される。ノースブリッジ１３０及びサウスブリッジ１５０はまとめてマザーボード１００の「チップセット」としてしばしば参照される。なお、ここでの説明では省略するが、マザーボード１００は図１に示す他に、さまざまな入出力（Ｉ／Ｏ）装置や、外部と通信を行うためのコンポーネントを含むものとする。
【００１７】
図１の下部に示すＢＭＣ１８０は、ＬＰＣバス１６０に接続されている。なお、ＢＭＣ１８０も、しばしばファームウェアとして参照される。ＢＭＣ１８０は、一般的に、電源の制御、システム管理ソフトウェアとプラットフォームハードウェアとの間のインターフェイスとして、温度や電圧などの管理を行う。また、ＢＭＣ１８０は、ＢＩＯＳ１７０などのファームウェア・ソフトウェアからのコマンド実行によりタイマをリセットする形式のＷＤＴ機能を有する。このＷＤＴ機能は、ＩＰＭＩ（Intelligent Platform Management Interface）仕様に沿ったコマンドの実行によりタイマをリセットする。このＷＤＴ機能により、コンピュータシステムのストール監視（ＰＯＳＴ中のコンピュータシステムの動作監視）が行える。さらに、ＢＭＣ１８０は、コンピュータシステムがストールしたと判断した場合は、ＣＰＵ１１０を再起動する機能を有する。
【００１８】
図１ではさらに、サウスブリッジ１５０からＧＰＩＯ２００を通じて、ＢＩＯＳ１７０からＢＭＣ１８０を再起動するためのＨＷ制御回路１９０が繋がっている。また、ＨＷ制御回路１９０から、ＢＭＣ１８０が対象となるリセット信号２１０がＢＭＣ１８０に繋がる。なお、ＢＩＯＳ１７０からＨＷ制御回路１９０がコントロールできれば、サウスブリッジ１５０からの接続でなくても本発明に影響は無い。また、ＢＭＣ１８０自身が再起動されてもＣＰＵ・チップセットには影響を与えないものとする。
【００１９】
次に、図１に示す構成における動作（本発明の情報処理方法の一実施形態）について、図２を参照して説明する。
【００２０】
ＢＭＣ１８０は、電源ＯＮの指示をうけると、電源制御機能によりコンピュータシステムを起動する（４００）。ＢＩＯＳ１７０は、ＰＯＳＴ（Power On Self Test）を開始する（３００）。
【００２１】
ＢＭＣ１８０、ＢＩＯＳ１７０がともに正常な場合、ＢＩＯＳ１７０において、ＰＯＳＴは決められたＰＯＳＴタスク毎にＢＭＣ１８０に対してＷＤＴをリセット（再スタート）するコマンドを実行する（３１０）。
【００２２】
ＢＭＣ１８０から、コマンドに対する応答が返ってきたならば（３１１／Ｙ）、ＢＩＯＳ１７０において、ＰＯＳＴは、ＰＯＳＴタスクを実行する（３２０）。ＰＯＳＴタスクが終了後、まだＰＯＳＴタスクが残っているならば（３３０／Ｎ）、再びＷＤＴをリセット（再スタート）し（３１０）、次のＰＯＳＴタスクを行うことを繰り返す。全てのタスクが終了したら（３４０／Ｙ）、ＰＯＳＴは終了する（３４０）。
【００２３】
一方、ＢＭＣ１８０は、ＰＯＳＴからのコマンド実行を受けると（３１０）、ＢＭＣ内部に有するＷＤＴタイマをリセットし（４１０）、コマンドに応答する（３１１）。もしＢＩＯＳ１７０（システム側の動作）がストールした場合、決められた間隔でコマンドが実行されてＷＤＴタイマをリセット（再スタート）するはずが、一定時間経ってもＷＤＴタイマがリセットされない。そのため、ＷＤＴタイマではカウントされ続ける。その結果、タイムアウトすると（４２０／Ｙ）、ＢＭＣ１８０は、ＢＩＯＳ１７０（システム側の動作）がストールしたものと判断して、ＣＰＵ１１０の再起動のアクションを行う（４３０）。これによってシステムは復旧する。
【００２４】
逆に、ＢＩＯＳ１７０が正常でＢＭＣ１８０がストールした場合、ＰＯＳＴでのコマンドの応答が無いことで（３１１／Ｎ）、ＢＩＯＳ１７０は、ＢＭＣ１８０がストールしたものと判断して、サウスブリッジ１５０を経由してＨＷ制御回路１９０に対してＢＭＣ１８０のリセットを指示する（５００）。ＨＷ制御回路１９０は、リセット信号２１０によりＢＭＣ１８０の再起動を行う（５１０）。これによりＢＭＣ１８０は復旧する。
【００２５】
以上説明したように、本実施形態のコンピュータシステムにおいて、ＢＩＯＳは、ＰＯＳＴ中に実行したＢＭＣへのコマンドに対する応答が得られない場合、ＢＭＣがストールしたと判断し、ＨＷ制御回路に対してＢＭＣを再起動する指示を能動的に行い、ＨＷ制御回路は、ＢＩＯＳからの指示に従ってＢＭＣを再起動する。一方、ＢＭＣは、ＰＯＳＴ中にＢＩＯＳからのコマンド実行を受信できずにＷＤＴタイマによるカウントがタイムアウトした場合、ＢＩＯＳがストールしたと判断し、ＣＰＵを再起動する。
【００２６】
従って、本実施形態によれば、ＰＯＳＴ中に、ＢＭＣとＢＩＯＳ間のコマンドのやりとりが不能になったときに、コンピュータシステムの動作に対する不具合を解消でき、コンピュータシステムを正常な状態に早急に復旧することができる。上記不具合の例としては、ＢＭＣとのやりとりが行えずにＢＩＯＳやＯＳのストール判断ができない、あるいは、ＢＭＣが持つ情報を入手できない等が挙げられる。
【００２７】
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【００２８】
例えば、上述した実施形態における図２の動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
【００２９】
なお、ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００３０】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことが可能である。
【００３１】
あるいは、プログラムは、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。
【００３２】
このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することが可能である。
【００３３】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送したりし、コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
【００３４】
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【００３５】
また、上記実施形態で説明したシステムは、複数の装置の論理的集合構成にしたり、各装置の機能を混在させたりするように構築することも可能である。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態のコンピュータシステムの構成を示すブロック図である。
【図２】本発明の実施形態のコンピュータシステムの動作を示すフローチャートである。
【符号の説明】
【００３７】
１００    マザーボード
１１０    中央処理ユニット
１２０    プロセッサバス
１３０    ノースブリッジ
１４０    メモリユニット及びメモリコントローラ
１５０    サウスブリッジ
１６０    ロウピンカウント（ＬＰＣ）バス
１７０    ＢＩＯＳ
１８０    ＢＭＣ
１９０    ＨＷ制御回路
２００    ＧＰＩＯ
２１０    リセット信号
【図１】
0004955585.tif 000002
【図２】
0004955585.tif 000003