JP6232877B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6232877B2
JP6232877B2 JP2013196625A JP2013196625A JP6232877B2 JP 6232877 B2 JP6232877 B2 JP 6232877B2 JP 2013196625 A JP2013196625 A JP 2013196625A JP 2013196625 A JP2013196625 A JP 2013196625A JP 6232877 B2 JP6232877 B2 JP 6232877B2
Authority
JP
Japan
Prior art keywords
hang
task
predetermined
information processing
post
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
JP2013196625A
Other languages
English (en)
Other versions
JP2015064633A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013196625A priority Critical patent/JP6232877B2/ja
Publication of JP2015064633A publication Critical patent/JP2015064633A/ja
Application granted granted Critical
Publication of JP6232877B2 publication Critical patent/JP6232877B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
コンピュータ(のソフトウェア又はプログラム)が稼働中に、ハングアップ(動作していたソフトウェア又はプログラムの実行が停止する状況)が発生した場合、当該コンピュータを再起動(リセット)させ、コンピュータの再立ち上げを試みる復旧機能がある。
特許文献1に記載の情報処理装置は、POST(Power On Self Test:パワー・オン・セルフ・テスト)による初期化処理の途中でハングアップが発生した場合、当該情報処理装置をリセットするとともに、正常に処理できなかった処理(当該ハングアップが発生した処理)を記憶する。そして、当該情報処理装置は、リセット後に再びその処理を実行する際、記憶しておいた当該処理の実行をスキップする。これによって、ハングアップが発生した処理を繰り返し実行してしまうことを回避し、情報処理装置のリセット後に再び同じポイントでハングアップが発生する固定障害を回避している。
特開2013−125533号公報
特許文献1に記載の情報処理装置は、ハングアップした処理をスキップすることを開示するが、当該処理をスキップするだけでは、リセット後に実行する処理の柔軟性に欠けるという課題がある。例えば、特許文献1に記載の情報処理装置は、ハングアップした処理によっては固定障害の可能性が低く、当該処理をスキップする必要がない場合もあるが、そのような場合であってもハングアップした処理をスキップしてしまう。
本発明は、上記の課題を解決し、ハングアップによるリセット後に実行する処理の柔軟性を担保することのできる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
本発明の情報処理装置は、ハングアップが発生した際に実行する複数の処理を記憶する記憶手段と、所定の検査を実行した際に前記ハングアップが発生したことに応じて再起動を行う処理手段と、を備え、前記処理手段は、前記再起動後に、前記記憶手段に記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する。
本発明の情報処理方法は、ハングアップが発生した際に実行する複数の処理を記憶し、所定の検査を実行した際に前記ハングアップが発生したことに応じて再起動を行い、前記再起動後に、前記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する。
本発明のプログラムは、ハングアップが発生した際に実行する複数の処理を記憶する処理と、所定の検査を実行した際に前記ハングアップが発生したことに応じて再起動を行う処理と、前記再起動後に、前記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する処理と、をコンピュータに実行させる。
本発明は、情報処理装置、情報処理方法及びプログラムにおいて、ハングアップによるリセット後に実行する処理の柔軟性を担保することができるという効果がある。
本発明の第1の実施形態の情報処理装置の例を示す図である。 本発明の第1の実施形態における不揮発性メモリに記憶される動作モードに関する情報の例を示す図である。 本発明の第1の実施形態における情報処理装置のBMCの動作例を示すフローチャートである。 本発明の第2の実施形態における情報処理装置の例を示す図である。 本発明の第2の実施形態における不揮発性メモリの構成例を示す図である。 本発明の第2の実施形態におけるPOSTハングアップ時の動作モードの情報を示す図である。 本発明の第2の実施形態におけるカレント POST Taskテーブルの一例を示す図である。 本発明の第2の実施形態におけるWDT(ウォッチ・ドッグ・タイマ)タイムアウト発生テーブルの一例を示す図である。 本発明の第2の実施形態におけるPOST Task Codeと、Sub Taskとの関係を示す図である。 本発明の第2の実施形態における情報処理装置(POST)の動作例を示すフローチャートである。 本発明の第2の実施形態におけるPOST Taskの実行例を示すフローチャートである。 本発明の第2の実施形態における「POSTハングアップ動作」の詳細な動作例を示すフローチャートである。 本発明の第3の実施形態における情報処理装置の一例を示す図である。
<第1の実施形態>
はじめに、図1を用いて、本発明の第1の実施形態について説明する。なお、図1に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
図1は、本発明の第1の実施形態における情報処理装置1の例を示す図である。図1に示すように、本発明の第1の実施形態における情報処理装置1は、デバイス11と、BMC(Baseboard Management Controller:ベースボード・マネジメント・コントローラ)12とを含む。また、情報処理装置1は、BIOS(Basic Input/Output System:ベーシック・インプット/アウトプット・システム)13と、不揮発性メモリ14とを含む。デバイス11、BIOS13、不揮発性メモリ14は、BMC12に接続される。
デバイス11は、情報処理装置1を構成する主なデバイス、例えば、CPU(Central Processing Unit:中央処理装置)や、PCI(Peripheral Component Interconnect:周辺コンポーネント・インターコネクト)デバイス、メモリなどのうちのいずれか1つ、あるいは2つ以上のデバイスである。メモリは、例えばハードディスク、光ディスクなどのディスクメモリのほか、半導体メモリを含む。
BMC12は、情報処理装置1のセンサ制御など、デバイスの状態監視、保守に関する処理(以下、単に、「保守に関する処理」という)を実行する手段として機能する。本発明の第1の実施形態において、BMC12は、情報処理装置1内において、所定の検査の実行中にハングアップが生じた場合、リセット後、再起動し、不揮発性メモリ14を参照して、そこに記憶されている複数の処理のうちから条件に合致した処理を実行する。複数の処理は、例えば、「リトライ」、「縮退」、「スキップ」及び「オート」の動作モードである。当該動作モードおよび条件については、後述する。
BIOS13は、情報処理装置1の電源投入後、各種デバイス(例えば、デバイス11のCPU、メモリなど)の初期化を行い、OS(Operating System)に制御を渡すまでの処理を実行する手段として機能する。
不揮発性メモリ14は、情報処理装置1がハングアップした際に実行する処理(ハングアップ時の動作モード)を記憶する。不揮発性メモリ14は、情報処理装置1のハングアップ時の動作モードに関する情報を記憶する。不揮発性メモリ14は、BIOS13からもBMCからもアクセス可能である。
図2は、不揮発性メモリ14に記憶される情報処理装置1のハングアップ時の動作モードに関する情報である。図2に示すように、ハングアップ時の動作モードは、例えば、「リトライ」、「縮退」、「スキップ」及び「オート」である。
「リトライ」は、ハングアップによるリセット後に、当該ハングアップした処理を含めて再度実行することを示す動作モードである。
「縮退」は、ハングアップが発生した際に、POST(Power On Self Test)で処理をしていたデバイス11(例えば、PCIデバイス)を停止させた後(すなわち、当該デバイス11を除いて)、再度処理を実行することを示す動作モードである。
「スキップ」は、ハングアップが発生した際に、POSTで処理をしていた当該処理を除外して、再度処理を実行することを示す動作モードである。
「オート」は、ハングアップした最初の数回は上記の「リトライ」するが、同じポイントで複数回ハングアップする場合には「縮退」を行い、それでも当該同じポイントで複数回ハングアップする場合には「スキップ」を行うことを示す動作モードである。 これら動作モードの情報は、命令、プログラムデータ、あるいは各動作モードを示すフラグデータとして、不揮発性メモリ14に記憶される。
図3は、本発明の第1の実施形態における、BMC12の動作例を示すフローチャートである。
BMC12は、所定の検査を実行中にハングアップが生じた場合、第1の条件を満たすか否かを判定する。ここで、所定の検査とは、たとえば、POSTでのタスクである。第1の条件の判定において、BMC12は、所定の検査でのハングアップ(POSTハングアップなど)時の動作が、「リトライ」又は「オート」であって、同じポイントでハングアップした回数(ウォッチドッグタイマ(WDT)でのタイムアウトの発生カウント数)が第1の所定の回数未満であるか否かを判定する(S101)。
判定の結果、第1の条件を満たす場合(S101のYES)、BIOS13またはBMC12の指示により、CPUのリセット後に、再起動し「リトライ」の動作モードとなり、BMC12は当該ハングアップした処理を含めて再度処理を実行(Sub Taskを実行)する(S102)。Sub Taskは、検査で実行される1つ以上のタスクである。一方、判定の結果、第1の条件を満たさない、すなわち、ハングアップ時の動作が「リトライ」または「オート」ではない、あるいは同じポイントでハングアップした回数が第1の所定回数以上の場合(S101のNO)、リセットせず、処理はステップ103(S103)に移る。
ステップ101(S101)の判定結果がNOであった場合、BMC12は、第2の条件を満たすか否かを判定する。すなわち、BMC12は、所定の検査でのハングアップ時の動作が、「縮退」又は「オート」であって、同じポイントでハングアップした回数が第1の所定の回数以上および第2の所定回数未満であるか否かを判定する(S103)。
判定の結果、第2の条件を満たす場合(S103のYES)、BMC12またはBIOS13による指示によるCPUのリセット後に、再起動し「縮退」の動作モード(縮退モード)となり、BMC12は、POSTで処理を実行していたデバイス11(例えば、PCIデバイス)を停止させた状態で(すなわち、当該デバイスを除いて)、再度処理を実行(Sub Taskを実行)する(S104)。一方、判定の結果、第2の条件を満たさない、すなわち、ハングアップ時の動作が「縮退」または「オート」ではない、あるいは、同じポイントでハングアップした回数が第2の所定回数以上である場合(S103のNO)、リセットせず、処理はステップ105(S105)に移る。
ステップ103(S103)の判定結果がNOであった場合、BMC12は、第3の条件を満たすか否かを判定する。すなわち、BMC12は、所定の検査でのハングアップ時の動作が、「スキップ」又は「オート」であって、同じポイントでハングアップした回数が第2の回数以上であるか否かを判定する(S105)。
判定の結果、第3の条件を満たす場合(S105のYES)、BMC12またはBIOS13の指示によるCPUのリセット後に、再起動し「スキップ」の動作モード(スキップモード)となり、BMC12は、POSTで処理を実行していた当該処理を除外した状態で、再度処理(Sub Task)を実行する(S106)。一方、判定の結果、第3の条件を満たさない、すなわち、ハングアップ時の動作が、不揮発性メモリ14に記憶されたいずれの動作モードでもない場合(S105のNO)、リセットせず、処理はステップ107(S107)に移り、エラーを通知し、ハングアップが発生したことを通知する。
上記の説明において、第1の所定の回数<第2の所定の回数<第3の所定の回数である。
上記のとおり、本発明の第1の実施形態において、情報処理装置1は、ハングアップ発生時に、不揮発性メモリ14を参照して、複数の処理のうちから条件に合致した処理を実行する。したがって、当該情報処理装置1は、ハングアップによるリセット後に実行する処理の柔軟性を担保することができる。
<第2の実施形態>
図4は、本発明の第2の実施形態における情報処理装置1の例を示す図である。図4に示すように、本発明の第2の実施形態における情報処理装置1は、CPU110と、PCIデバイス111と、メモリ(例えば、ハードディスク)112と、BMC12と、BIOS13と、不揮発性メモリ14と、BIOS Setup(BIOS セットアップ)15とを含む。
なお、本発明の第2の実施形態において、本発明の第1の実施形態と同様の構成については、説明を省略する。
CPU110は、例えば、メモリ112に記憶されたプログラムを実行する。
PCIデバイス111は、例えば、CPU110と周辺機器との間の通信を行う。
メモリ(例えば、ハードディスク)112は、CPU110に接続され、CPU110によって直接読み書きが制御される。
BIOS13は、CPU112に接続する。またBIOS13は、不揮発性メモリ14にも接続する。
BIOS Setup15は、BMC12とBIOS13とを中継する手段として機能する。BIOS Setup15は、BMC12からの設定要求をBIOS13に通知する手段として機能する。
図5は、本発明の第2の実施形態における、不揮発性メモリ14の構成例である。不揮発性メモリ14は、「POSTハングアップ時の動作モードのテーブル」と、「カレントPOST Task Code」及び「カレントSub Task」のテーブル(カレントPOST Taskのテーブル)と、「WDTタイムアウト発生テーブル」とを含む。
「POSTハングアップ時の動作モードのテーブル」は、BIOS Setup15及びBMC12により変更可能であり、「リトライ」、「縮退」、「スキップ」及び「オート」の動作モードを示している。BMC12は、当該テーブルによって、複数の動作モードから、POSTハングアップ時の動作を選択できるようになる。
図6は、本発明の第2の実施形態における、POSTハングアップ時の動作モードの情報を示す表(POSTハングアップ時の動作モード141)である。
図6に示すように、「リトライ」モードは、POSTハングアップした時に、再び同じ処理を試行する動作モードである。
「縮退」モードは、そのPOST Sub Taskで処理しているデバイス(CPU110、PCIデバイス111又はメモリ112)を停止(Disabled)して処理を実行する動作モードである。なお、Sub Taskとは、POST Task Codeの内部で実行される処理単位を示す。
「スキップ」は、POST Sub Taskでの処理をスキップする動作モードである。
「オート」は、POSTハングアップが初めて生じてから所定の回数は「リトライ」処理を行い、それでも復旧せず同じポイントで複数回POSTハングアップする場合に「縮退」処理を行う動作モードである。さらに、それでも復旧せず、同じポイントで複数回POSTハングアップする場合、「オート」の動作モードにおいて、BMC12は「スキップ」処理を行う。
「縮退」及び「スキップ」モードにおいて、BIOS13は、その動作の実行のために、予め縮退時、スキップ時での動作をPOST Sub Task毎に作成し、不揮発性メモリ14に記憶しておく必要がある。例えば、BIOS13は、予め次の(1)乃至(4)の動作設定を不揮発性メモリ14に記憶する。(1)CPU110の「縮退」を行う場合、POSTを動作させるCPU110以外はすべて停止する、(2)メモリの「縮退」であれば、最小メモリを初期化する、(3)PCIデバイス111の「縮退」であれば、PCI Root Portを停止する、(4)スキップの場合は縮退動作そのものも行わないが、処理上どうしてもスキップできない基幹処理の場合は、縮退動作と同等とする。これらの動作の設定要求は、BMC13からBIOS Setup15を経由して行われる。
図7は、本発明の第2の実施形態における、「カレントPOST Task Code」及び「カレントSub Task」及び「実行しているデバイスの識別子」のテーブル(カレントPOST Task テーブル142)の詳細を示す。
「カレントPOST Task Code」及び「カレントSub Task」のテーブルは、現在の(ハングアップ発生時に実行している)POST Task Code(たとえば、POST Task Code200)、及び、現在のSub Task(たとえば、Sub Task202)、及び、実行しているデバイスの識別子(たとえば、PCI Deviceの識別子:AAA)を記憶する。
図8は、本発明の第2の実施形態における、「WDTタイムアウト発生テーブル」のテーブル(WDTタイムアウト発生テーブル143)の詳細を示す。
「WDTタイムアウト発生テーブル」は、「POST Task Code」、「Sub Task」及び「WDTタイムアウトのカウント数」より構成される。
「POST Task Code」は、WDTタイムアウト発生時のPOST Task Codeを記録する。
「Sub Task」は、WDTタイムアウト発生時のPOST Sub Task を示したものである。
「WDTタイムアウトのカウント数」は、そのSub Taskで発生したWDTタイムアウトのカウント数(回数)を示している。
図9は、POST Task Codeと、POST Sub Taskとの関係を示した図である。まず、POST Task Codeは、そのTask Codeにおいて行う処理内容(大まかな処理の内容)を示す。例えば、POST Task Code100はCPU110(CPU1とCPU2)の初期化を示し、POST Task Code 200はPCI Device(デバイス)とUSB Deviceの初期化を行うことを示す。
Sub Taskは、各POST Taskの内部で一意に処理が決められるように付された番号である。例えば、POST Task Code 200では、PCI Deviceの初期化が201と番号付けされ、USB Device(図4には示していない)の初期化が202と番号付けされる。ここで、USB DeviceにおいてPOSTハングアップが発生してWDTタイムアウトが発生した場合は、WDTタイムアウト発生テーブルにPOST Task Code200及びPOST Sub Task 202を記録し、WDTタイムアウトのカウント数を「1」とする。また、すでに同一のPOST Task Code及びPOST Sub Taskがテーブルに存在していた場合には、WDTタイムアウトのカウント数を「+1」する。
図10は、本発明の第2の実施形態における、POSTの動作フローを示すフローチャートである。なお、図10のフローは、BMC12が、BIOS Setup15を経由してBIOS13に指示することで実行されてもよい。
BMC12は、まず、電源立ち上げ時のPOST Start時点で、WDTを開始する(S201)。WDTは、CPUで実行される。
次に、BMC12は、不揮発性メモリ14の「カレントPOST Task Code」(図7参照)に、現在のPOST Task Codeを保存する(S202)。その後、BMC12は、現在のPOST Task(デバイスの所定の検査)を実行する(S203)。なお、当該所定の検査である「POST Task」の実行については、図11にて後述する。
現在のPOST Task実行中、WDTタイムアウトが発生した場合(S204のYES)、BMC12は、不揮発性メモリ14に格納されている、「カレントPOST Task Code」と、「カレントSub Task」を、「WDTタイムアウト発生テーブル」(図9参照)のPOST Task CodeとPOSTSub Taskに記録する。既に同じPOST Task Code及びSub Taskが記録されていれば、WDTタイムアウトのカウント数を「+1」カウントアップする(S205)。その後、BMC12の指示により、Reboot(再ブート処理)が実行される(S206)。
一方、WDTタイムアウトが発生せず、POST Task処理が終われば(S204のNO)、BMC12は、次のPOST Taskがあるか否かを判定し、あれば、その処理に移行する(S207のYES、S208)。一方、残りのPOST Taskが無ければ(S207のNO)、POST処理終了となり、BMC12は、WDTを停止し(S210)、OS Boot(S210)となる。
図11は、図10におけるPOST Taskの実行について示すフローチャートである。
まず、BMC12は、不揮発性メモリ14の「カレントSub Task」テーブル(図7参照)に、現在のSub Taskを保存する(S301)。
次に、BMC12は、「WDTタイムアウト発生テーブル」(図9参照)のPOST Task Codeに、現在のPOST Task と一致するものがある場合は、次のチェックに移行する(S302のYES)。
そして、現在のSub Taskが「WDTタイムアウト発生テーブル」に記憶されているSub Taskと一致していれば(S303のYES)、BMC12は、「POSTハングアップ動作」に移行する(S304)。このPOSTハングアップ動作は、図12にて後述する。
現在のPOST Task Code、及び、Sub Taskが「WDTタイムアウト発生テーブル」になければ(S302のNO、及び、S303のNO)、BMC12は、現在のPOST TaskのSub Taskを実行する(S305)。この処理を現在のPOST Task内にあるSub Taskすべてについて実行する(S306及びS307)。
図12は、図11における「POSTハングアップ動作」の詳細を示した図である。この処理は、第1の実施形態で説明した図3に示すフローの動作に対応する。この処理に入ってきた場合は、すでに1回以上この POST Task Code、及び、Sub Taskの組み合わせでWDTタイムアウトが発生している。
まず、BMC12は、不揮発性メモリ14に格納されている「POSTハングアップ時の動作」の値を参照する。この値の設定が「リトライ」、又は、「オート」で、「WDTタイムアウトのカウント数」がn回未満(nは任意の数字)の場合(S401のYES)、BMC12は、Sub Taskを実行し(S402)、同一処理をもう一度実行することでPOSTハングアップ動作解消をトライする。一方、n回以上の場合(S401のNO)、BMC12での処理はステップ403(S403)に進む。
「POST ハングアップ時の動作」の値が「縮退」または「オート」で「WDTタイムアウトのカウント数」がn以上m未満(mは任意の数字)の場合(S403のYES)、BMC12は、縮退モードで当該Sub Taskを実行する(S404)。一方、m回以上の場合は(S403のNO)、BMC12での処理は、ステップ405(S405)に進む。
この縮退モードは、それぞれの Sub Task コードで縮退モード動作となるようにBIOS13が予め作成しておく必要がある。例えば、CPU110の処理であれば、BIOS13は、当該CPU110を停止(Disabled)する。また、PCI Device111であれば、BIOS13は、PCIのRoot Bridgeを停止(Disabled)する。
「POST ハングアップ時の動作」の値が「スキップ」または「オート」で「WDTタイムアウトのカウント数」がm以上の場合(S405のYES)、BMC12は、スキップモードで当該Sub Taskを実行する(S406)。スキップモードとは、当該Sub Taskにおける縮退処理もせず、デバイス(CPU110、PCIデバイス111、メモリ(例えば、ハードディスク)112など)に対して何もせずに処理を抜ける動作モードである。
「POST ハングアップ時の動作」が「リトライ」「縮退」「スキップ」のどれでもない場合は(S405のNO)、BMC12は、エラーを表示し、POST ハングアップを発生させる(S407)。これらの一連の処理において、BIOS13は縮退モード、スキップモードどちらでも、すべてのSub Taskで動作するようにあらかじめ作り込みを行う必要がある。
以下では、図10乃至図12を用いて、本発明の第2の実施形態の情報処理装置1における具体的な処理について説明する。説明する具体例は、POST Task Code200(図9参照)で示されたPCI Deviceの初期化の、POST Sub Task202で示されたUSB Device(図示していない)の初期化において、POSTハングアップが生じた場合の例である。
まず、図10に示すように、POST Start時に、BMC12は、WDTをスタートし(S201)、不揮発性メモリ14の「カレントPOST Task Code」に現在のPOST Task Code200を格納する(S202)。その後、BMC12は、POST Taskを実行する(S203)。
POST Task実行は図11で示されており、最初に、BMC12は、不揮発性メモリ14の「Sub Task」に、現在のSub Taskを保存する(S301)。ここでは、Sub Task201から始まっているとし、まずはSub Task201を保存する。
次に、「WDTタイムアウト発生テーブル」のPOST Task Codeと、POST Taskがまだ保存されていないので(S302のNO)、BMC12は、Sub Taskを実行する(S305)。
次に、Sub Task終了かどうかの分岐チェックで、まだSub Taskがあるので(S306のNO)、BMC12は、次のSub Taskに移行する(S307)。処理の最初に戻り、BMC12は、不揮発性メモリ14の「カレントSub Task」に202を保存する。そして「WDTタイムアウト発生テーブル」のPOST Task CodeにはまだPOST Task Codeが入っていないので(S302のNO)、Sub Taskを実行する(S305)。
ここでPOSTハングアップが発生し、WDTタイムアウトが発生する(S204YES)。
WDTタイムアウトが発生した場合、BMC12は、図10のPOST Task実行後の分岐であるWDTタイムアウト発生の処理に進む(S205)。つまり、BMC12は、不揮発性メモリ14に格納されている「カレントPOST Task Code」である200という値、及び、「カレント Sub Task」である202である値を取り出し、その値を不揮発性メモリ14のWDT タイムアウト発生テーブルに記録する(S205)。BMC12は、WDTタイムアウトのカウント数を「1」とし、Reboot動作を行う(S206)。
Reboot後の動作では、再びPOSTスタートに戻り、WDTをスタートし(S201)、BMC12は、不揮発性メモリ14の「カレントPOST Task Code」に、現在のPOST Task Codeを保存する(S202)。
ここでは、再びPOST Task Code200、及び、Sub Task 202でハングアップする場合を取り上げて説明する。BMC12は、不揮発性メモリ14の「カレントPOST Task Code」にPOST Task Code200を格納し、POST Taskを実行する(S203)。
図10のPOST Task実行では、BMC12は、不揮発性メモリ14の「カレントSub Task」に、現在のSub Taskを保存する(S301)。まず、Sub Task201を保存する。続いて、WDTタイムアウト発生テーブルにおいて、POST Task Codeは一致するが、Sub Taskが一致するものが無い場合(S302のNO)、BMC12は、Sub Task201を実行する(S305)。
続く処理では、Sub Task202を処理する(S307)。
BMC12は、「WDTタイムアウト発生テーブル」をチェックし、現在のPOST Task Codeである200と一致するものがあるので、次のチェックに移行する(S302のYES)。次に、現在の Sub Taskの202と、「WDTタイムアウト発生テーブル」に Sub Task202が示されているので(S303のYES)、BMCでの処理は図12に示すPOSTハングアップ動作の処理へ移行する(S304)。
図12に示すPOSTハングアップ動作の処理では、BMC12は、不揮発性メモリ14の「POST ハングアップ時の動作」の値をチェックする。ここで、この値が「リトライ」となっている場合は(S401のYES)、BMC12は、特に何もせずもう一度Sub Task202を実行する(S402)。
「縮退」となっている場合は(S403のYES)、BMC12は、Sub Task202に対応する PCI Root Deviceを停止(Disabled)する(S404)。この縮退動作は、各POST Task Code、Sub Taskごとに異なる動作となり、BIOS13は予め縮退動作で、POST Taskが通過するように作成する必要がある。
「スキップ」となっている場合は(S405のYES)、BMC12は、Sub Task202を処理せず、そのまま処理を抜ける。この場合も、BIOS13は予めスキップ動作で、POST Taskが通過するように作成する必要がある。
「オート」の場合、BMC12は、「WDTタイムアウトのカウント数」の値をチェックし、それぞれSub Taskをそのまま実行(S401のYES)、縮退モードで実行(S403のYES)、スキップモードで実行(S405のYES)を行う。
上記のとおり、本発明の第2の実施形態においても、情報処理装置1は、ハングアップ発生時に、不揮発性メモリ14を参照して、複数の処理のうちから条件に合致した処理を実行する。したがって、当該情報処理装置1は、ハングアップによるリセット後に実行する処理の柔軟性を担保することができる。
<BMCについて>
本発明の第1の実施形態および第2の実施形態において、BMC12は、コンピュータであってもよい。すなわち、BMC12は、CPU(Central Processing Unit)又はMPU(Micro−Processing Unit)およびメモリを含み、上述した各実施形態の機能を実現するソフトウェア(メモリに記憶されたプログラム)を実行する。なお、各実施形態において、該ソフトウェア(プログラム)を実行する装置は、図1及び図4に示す情報処理装置1に限られず、どのような装置であってもよい。
本発明の第1および第2の実施形態において、情報処理装置1は、例えばCD−R(Compact Disc Recordable)等の各種記憶媒体又はネットワークを介して、図示しない外部インタフェースから上述した各実施形態の機能を実現するソフトウェア(プログラム)を取得してもよい。なお、該ソフトウェア(プログラム)は、例えば、情報処理装置1に含まれる所定の記憶部に、予め記憶されていてもよい。
情報処理装置1のコンピュータ、CPU又はMPU等は、取得したソフトウェア(プログラム)のプログラムコードを読み出して実行する。したがって、上述した各実施形態における情報処理装置1の処理と同一の処理を実行する。
本発明の第1及び第2の実施形態によれば、情報処理装置1のコンピュータ、CPU又はMPU等に実現するためのプログラムといった用途にも適用できる。
<第3の実施形態>
本発明の第3の実施形態について、図面を参照して説明する。なお、本発明の第3の実施形態において、上記各実施形態と同様の構成については、説明を省略する。
図13は、本発明の第3の実施形態における情報処理装置1である。図13に示すように、本発明の情報処理装置1は、記憶部140と、処理部120とを備える。
記憶部140は、ハングアップが発生した際に実行する複数の処理を記憶する。
処理部120は、1つ以上のタスクを含む所定の検査を実行する際にハングアップが発生したことに応じて、再起動を行う。本発明の第3の実施形態において、処理部120は、再起動後に、記憶部140に記憶された複数の処理のうち、所定の条件に合致する処理を実行する。
上記のとおり、本発明の第3の実施形態において、情報処理装置1は、ハングアップ発生時の再起動後に、記憶部140に記憶する複数の処理のうち、所定の条件に合致する処理を実行する処理部120を備える。したがって、当該情報処理装置1は、ハングアップによるリセット後に実行する処理の柔軟性を担保することができる。
以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
ハングアップの発生に起因して実行される複数の処理を記憶する記憶手段と、
1つ以上のタスクを含む所定の検査を実行する際に前記ハングアップが発生したことに応じて再起動を行う処理手段と、を備え、
前記処理手段は、前記再起動後に、前記記憶手段に記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する情報処理装置。
[付記2]
前記処理手段は、前記複数の処理のうち、前記ハングアップした回数に応じて、決定された処理を実行する付記1に記載の情報処理装置。
[付記3]
前記記憶手段は、前記所定の検査におけるタスクの実行中にハングアップした回数をさらに記憶し、
前記複数の処理は、
前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行する第1の処理、
前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行する第2の処理、
前記ハングアップした回数が第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップする第3の処理、を含む付記1又は2に記載の情報処理装置。
[付記4]
前記記憶手段は、前記ハングアップが発生した際の前記所定の検査におけるタスクを記憶する付記1乃至3のいずれか1項に記載の情報処理装置。
[付記5]
前記第3の処理は、再起動後において、前記所定の検査におけるタスクのうち、前記記憶手段に記憶された前記ハングアップした際のタスクをスキップすることを含む付記1乃至4のいずれか1項に記載の情報処理装置。
[付記6]
前記所定の検査におけるタスクが実行される対象のデバイスを含み、
前記記憶手段は、前記ハングアップが発生した際の前記所定の検査の項目を実行していたデバイスの識別子をさらに記憶する付記1乃至5のいずれか1項に記載の情報処理装置。
[付記7]
前記複数の処理は、再起動後において、前記記憶した識別子に対応するデバイスを停止して、前記記憶した所定の検査の項目を実行することを含む付記6に記載の情報処理装置。
[付記8]
ハングアップの発生に起因して実行される複数の処理を記憶し、
1つ以上のタスクを含む所定の検査を実行する際に前記ハングアップが発生したことに応じて再起動を行い、
前記再起動後に、前記記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する情報処理方法。
[付記9]
前記複数の処理のうち、前記ハングアップした回数に応じて、決定された処理を実行する付記8に記載の情報処理方法。
[付記10]
前記所定の検査におけるタスクの実行中にハングアップした回数をさらに記憶し、
前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行し、
前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行し、
前記ハングアップした回数が第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップすることを含む付記8又は9に記載の情報処理方法。
[付記11]
前記ハングアップが発生した際の前記所定の検査におけるタスクを記憶する付記8乃至10のいずれか1項に記載の情報処理方法。
[付記12]
前記第3の処理は、再起動後において、前記所定の検査におけるタスクのうち、前記記憶手段に記憶された前記ハングアップした際のタスクをスキップすることを含む付記8乃至11のいずれか1項に記載の情報処理方法。
[付記13]
前記ハングアップが発生した際の前記所定の検査の項目を実行していたデバイスの識別子をさらに記憶する付記8乃至12のいずれか1項に記載の情報処理装置。
[付記14]
前記複数の処理は、再起動後において、前記記憶した識別子に対応するデバイスを停止して、前記記憶した所定の検査の項目を実行することを含む付記13に記載の情報処理方法。
[付記15]
ハングアップの発生に起因して実行される複数の処理を記憶する処理と、
1つ以上のタスクを含む所定の検査を実行する際に前記ハングアップが発生したことに応じて再起動を行う処理と、
前記再起動後に、前記記憶された前記複数の処理のうち、所定の条件に合致する処理を実行する処理と、をコンピュータに実行させるプログラム。
[付記16]
前記複数の処理のうち、前記ハングアップした回数に応じて、決定された処理を実行する処理を含む付記15に記載のプログラム。
[付記17]
前記所定の検査におけるタスクの実行中にハングアップした回数をさらに記憶する処理と、
前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行する処理と、
前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行する処理と、
前記ハングアップした回数が第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップする処理と、を含む付記15又は16に記載のプログラム。
[付記18]
前記ハングアップが発生した際の前記所定の検査におけるタスクを記憶する処理を含む付記15乃至17のいずれか1項に記載のプログラム。
[付記19]
前記第3の処理は、再起動後において、前記所定の検査におけるタスクのうち、前記記憶手段に記憶された前記ハングアップした際のタスクをスキップする処理を含む付記15乃至18のいずれか1項に記載のプログラム。
[付記20]
前記ハングアップが発生した際の前記所定の検査の項目を実行していたデバイスの識別子をさらに記憶する処理を含む付記15乃至19のいずれか1項に記載のプログラム。
[付記21]
前記複数の処理は、再起動後において、前記記憶した識別子に対応するデバイスを停止して、前記記憶した所定の検査の項目を実行する処理を含む付記19に記載のプログラム。
1 情報処理装置
11 デバイス
12 BMC
13 BIOS
14 不揮発性メモリ
15 BIOS Setup
110 CPU
111 PCIデバイス
112 メモリ(例えば、ハードディスク)
120 処理部
140 記憶部
141 POSTハングアップ時の動作モード
142 カレント POST Task
143 WDTタイムアウト発生テーブル

Claims (10)

  1. 1つ以上のタスクを含む所定の検査を実行する際にハングアップが発生したことに応じて再起動を行う処理手段と、
    前記ハングアップの発生に起因して実行される複数の処理と、前記所定の検査におけるタスクの実行中にハングアップした回数とを記憶する記憶手段と、を備え、
    前記複数の処理は、
    前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行する第1の処理、
    前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行する第2の処理、を含み、
    前記処理手段は、前記再起動後に、前記記憶手段に記憶された前記複数の処理
    を実行する情報処理装置。
  2. 前記複数の処理は、
    前記ハングアップした回数が前記第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップする第3の処理、を含む請求項1に記載の情報処理装置。
  3. 前記記憶手段は、前記ハングアップが発生した際の前記所定の検査におけるタスクを記憶する請求項1または2に記載の情報処理装置。
  4. 前記第3の処理は、再起動後において、前記所定の検査におけるタスクのうち、前記記憶手段に記憶された前記ハングアップした際のタスクをスキップすることを含む請求項2に記載の情報処理装置。
  5. 前記所定の検査におけるタスクが実行される対象のデバイスを含み、
    前記記憶手段は、前記ハングアップが発生した際の前記所定の検査の項目を実行していたデバイスの識別子をさらに記憶する請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記複数の処理は、再起動後において、前記記憶した識別子に対応するデバイスを停止して、前記記憶した所定の検査の項目を実行することを含む請求項5に記載の情報処理装置。
  7. 1つ以上のタスクを含む所定の検査を実行する際にハングアップが発生したことに応じて再起動を行い、
    前記ハングアップの発生に起因して実行される複数の処理と、前記所定の検査におけるタスクの実行中にハングアップした回数と、を記憶し
    前記再起動後に、前記記憶された前記複数の処理のうち、
    前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行する第1の処理を実行し、
    前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行する第2の処理を実行する、情報処理方法。
  8. 前記複数の処理のうち、
    前記ハングアップした回数が前記第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップする第3の処理を実行する、請求項7に記載の情報処理方法。
  9. 1つ以上のタスクを含む所定の検査を実行する際にハングアップが発生したことに応じて再起動を行う処理と、
    前記ハングアップの発生に起因して実行される複数の処理と、前記所定の検査におけるタスクの実行中にハングアップした回数と、を記憶する処理と
    前記再起動後に、前記記憶された前記複数の処理のうち、
    前記ハングアップした回数が第1の所定の回数未満であれば、再起動後において、前記所定の検査におけるタスクを再実行する第1の処理と、
    前記ハングアップした回数が第1の所定の回数以上で第2の所定の回数未満であれば、再起動後において、所定のデバイスを停止して、前記所定の検査におけるタスクを実行する第2の処理と、をコンピュータに実行させるプログラム。
  10. 前記複数の処理のうち、
    前記ハングアップした回数が前記第2の所定の回数以上であれば、再起動後において、前記記憶した前記所定の検査におけるタスクのうちの特定のタスクをスキップする第3の処理、をコンピュータに実行させる請求項9に記載のプログラム。
JP2013196625A 2013-09-24 2013-09-24 情報処理装置、情報処理方法及びプログラム Active JP6232877B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013196625A JP6232877B2 (ja) 2013-09-24 2013-09-24 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013196625A JP6232877B2 (ja) 2013-09-24 2013-09-24 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015064633A JP2015064633A (ja) 2015-04-09
JP6232877B2 true JP6232877B2 (ja) 2017-11-22

Family

ID=52832486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013196625A Active JP6232877B2 (ja) 2013-09-24 2013-09-24 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6232877B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6436129B2 (ja) * 2016-04-20 2018-12-12 京セラドキュメントソリューションズ株式会社 画像形成装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242978A (ja) * 1993-02-12 1994-09-02 Hitachi Ltd 障害回復処理方式
JP2004302731A (ja) * 2003-03-31 2004-10-28 Toshiba Corp 情報処理装置および障害診断方法
JP5994246B2 (ja) * 2011-12-16 2016-09-21 日本電気株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2015064633A (ja) 2015-04-09

Similar Documents

Publication Publication Date Title
JP5575338B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US8219851B2 (en) System RAS protection for UMA style memory
JP5093259B2 (ja) Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム
US20170153898A1 (en) Reboot system and reboot method
JP2012058879A (ja) オペレーティングシステム起動管理装置
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
WO2016151964A1 (ja) 情報処理装置
JP6232877B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP6073710B2 (ja) 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2016066139A (ja) 車両制御装置
JP2016173744A (ja) ブレードサーバ、ブレードシステム、bmc、チップセットおよびエンクロージャマネージャ
JP2009009323A (ja) 設定装置、電子機器、及び設定プログラム
JP5148662B2 (ja) 電子機器およびその制御プログラム
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
US9928154B2 (en) Leveling stress factors among like components in a server
TWI839136B (zh) 基板管理控制器的下游裝置的韌體更新方法
JP6149624B2 (ja) ファームウェア実行装置、ファームウェア実行方法、コンピュータ・プログラム、および、コンピュータ装置
US20160350147A1 (en) Control method and control device
JP2008217665A (ja) マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
JP2007004364A (ja) デバッグシステム、デバッグ方法およびプログラム
TW202437101A (zh) 基板管理控制器的下游裝置的韌體更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171009

R150 Certificate of patent or registration of utility model

Ref document number: 6232877

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150