説明

コンピュータシステムの異常推定方法およびコンピュータシステムの異常推定プログラム

【課題】異常原因の把握を可能とするコンピュータシステムの異常推定方法およびコンピュータシステムの異常推定プログラムを提供する。
【解決手段】マイクロコンピュータ44は、診断対象のコンピュータシステムにおける、ウオッチドッグタイマ回路のカウンタ値のオーバーフロー回数である第1の値を記憶する第1の記憶部から第1の値を読出し、LVD回路の電圧降下回数である第2の値を記憶する第2の記憶部から第2の値を読出し、クロック供給回路の発振停止回数である第3の値を記憶する第3の記憶部から第3の値を読出す。マイクロコンピュータ44は、第1の値、第2の値、および第3の値と異常原因との関係を定めた異常原因推定テーブルを参照して、読み出した第1の値、第2の値、第3の値に対応する異常原因を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムの異常推定方法およびコンピュータシステムの異常推定プログラムに関する。
【背景技術】
【0002】
従来から、ウオッチドッグタイマ(WDT:WatchDog Timer)回路の潜在異常を検出できるようにして、フェイルセーフの要求に応えることを目的としたコンピュータシステムが提供されている。
【0003】
特許文献1(特開2005−250524号公報)に記載のシステムは、WDT回路からコンピュータに対してCPUリセット信号を出力した回数を記憶するWDT動作記憶部を備える。コンピュータは、起動時にWDT動作記憶部の内容を確認し、WDT回路からCPUリセット信号が一度も出力されていない場合にはこのWDT回路に対してタイマリセット信号の供給を停止してWDT回路の診断を行なうように構成されている。
【0004】
特許文献2(特開2004−086520号公報)に記載の装置は、各部を制御するプロセッサを含む制御盤と、プロセッサの正常性を監視する監視盤とを備える。監視盤は、プロセッサの正常性を定期的に監視する為のウオッチドッグタイマによるタイムアウトを検出する検出回路と、検出回路によるタイムアウトの検出信号を記憶して、プロセッサに対する割込信号を送出する要因レジスタと、タイムアウトの検出信号によりセットし、プロセッサの正常動作時にクリアするタイムアウトフラグと、このタイムアウトフラグが所定時間継続してセットされている時に、プロセッサをリセットして再立上げさせるリセット回路とを含む。このリセット回路は、タイムアウトフラグのセット中に検出回路からのタイムアウトの検出信号が繰り返し出力される回数をカウントし、この回数が予め設定した回数となった時に、プロセッサをリセットする。
【0005】
特許文献3(特開2006−023970号公報)には、CPUとウオッチドッグタイマを使用した装置の装置内異常検出方式が記載されている。CPUはプログラムの正常動作時にI/O信号とともに、プログラムの実行箇所についてのデータを発信し、CPUの動作異常時に、ウオッチドッグタイマが所定のカウント数を超えると、プログラムの実行箇所のデータを記憶し、異常についての情報を装置の外部に表示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−250524号公報
【特許文献2】特開2004−086520号公報
【特許文献3】特開2006−023970号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、WDT回路の故障検出が目的であり、そのコンピュータシステムがシステム自身に問題がある場合や、暴走しやすい環境で使用されていたとしてもWDT回路で正常に復帰する限り、これらの問題に気づくことができないという問題があった。
【0008】
また、特許文献2のように、WDT回路のオーバーフロー回数を監視するだけでは、マイクロコンピュータが何故暴走したかの原因は分からず、改善策を講じることはできない。
【0009】
また、特許文献3でも、CPUが何故暴走したかの原因は分からず、改善策を講じることはできない。
【0010】
それゆえに、本発明の目的は、異常原因の把握を可能とするコンピュータシステムの異常推定方法およびコンピュータシステムの異常推定プログラムを提供することである。
【課題を解決するための手段】
【0011】
本発明の一実施形態は、コンピュータと、コンピュータへ電力を供給する電源回路と、コンピュータからリセット信号を受けて、カウント値をリセットするウオッチドッグタイマ回路と、電源回路からコンピュータへ供給する電圧が所定値以下に降下したことを検出するLVD回路と、コンピュータへクロックを供給するクロック供給回路と、クロック供給回路によってコンピュータへ供給されるクロックの発振停止を検出する発振停止検出回路と、ウオッチドッグタイマ回路のカウンタ値のオーバーフロー回数である第1の値を記憶する第1の記憶部と、LVD回路の電圧降下回数である第2の値を記憶する第2の記憶部と、クロック供給回路の発振停止回数である第3の値を記憶する第3の記憶部とを備えたコンピュータシステムの異常判定方法であって、第1の記憶部から第1の値を読み出すステップと、第2の記憶部から第2の値を読み出すステップと、第3の記憶部から第3の値を読み出すステップと、第1の値、第2の値、および第3の値と異常原因との関係を定めた異常原因推定テーブルを参照して、読み出した第1の値、第2の値、第3の値に対応する異常原因を推定するステップとを含む。
【発明の効果】
【0012】
本発明の一実施形態によれば、暴走原因の把握が可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態のコンピュータシステムの構成図である。
【図2】図1のコンピュータシステムの異常原因を解析する異常原因解析装置の構成を表わす図である。
【図3】異常原因推定テーブルの例を表わす図である。
【図4】異常原因推定処理の動作手順を表わすフローチャートである。
【図5】図4のステップS302の処理の手順を表わすフローチャートである。
【図6】図5のステップS104の処理の手順を表わすフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。
(コンピュータシステムの構成)
図1は、本発明の実施の形態のコンピュータシステムの構成図である。
【0015】
図1を参照して、このコンピュータシステムは、マイクロコンピュータ1と、WDT回路2と、カウンタ3aと、カウント値記憶部13aと、判定値記憶部4aと、比較回路5aと、アラーム表示回路6aと、LVD回路7と、カウンタ3bと、カウント値記憶部13bと、判定値記憶部4bと、比較回路5bと、アラーム表示回路6bと、発振停止検出回路9と、カウンタ3cと、カウント値記憶部13cと、判定値記憶部4cと、比較回路5cと、アラーム表示回路6cと、OR回路8と、電源回路31と、クロック供給回路32と、外部端子P1〜Pnを備える。
【0016】
マイクロコンピュータ1は、外部端子P3〜Pnを通じて、外部へデータを出力し、外部からデータ、アドレス、コマンドを受ける。
【0017】
電源回路31は、マイクロコンピュータ1へ電力を供給する。電源回路31は、外部端子P2を通じて、外部から電源の供給を受けて、内部電源電圧を生成する。
【0018】
クロック供給回路32は、外部端子P1を通じて、外部からクロックの供給を受けて、内部クロックを生成して、マイクロコンピュータ1へ供給する。
【0019】
WDT回路2は、マイクロコンピュータ1の動作を監視する。WDT回路2は、一定の時間間隔で内部のタイマカウンタのカウント値をインクリメントする。WDT回路2は、マイクロコンピュータ1からリセット信号を受けて、カウンタ値をリセットする。
【0020】
カウンタ3aは、WDT回路2のカウンタ値のオーバーフロー回数Aをカウントする。
カウント値記憶部13aは、カウンタ3aのカウント値を記憶する不揮発性メモリである。
【0021】
判定値記憶部4aは、WDT回路2のオーバーフロー回数が妥当か否かを判断するための判定値A1を記憶する。この判定値A1には、製品の試作評価段階でのテストにおいて、異常と判断された場合のオーバーフロー回数の下限値が設定される。
【0022】
比較回路5aは、常時、あるいは一定の時間または一定の日数ごとに、カウンタ3aのカウンタ値と判定値記憶部4a内の判定値A1とを比較する。
【0023】
アラーム表示回路6aは、たとえばLEDで構成され、カウンタ3aのカウンタ値が判定値A1以上の場合に、アラームを表示する。
【0024】
LVD回路7は、電源回路31からマイクロコンピュータ1へ供給する電圧が所定値以下に降下したことを検出する電圧低下検出回路である。
【0025】
カウンタ3bは、LVD回路7で検出された電圧が低下した回数(電圧降下回数)Bをカウントする。
【0026】
カウント値記憶部13bは、カウンタ3bのカウント値を記憶する不揮発性メモリである。
【0027】
判定値記憶部4bは、電圧低下回数が妥当か否かを判断するための判定値B1を記憶する。この判定値B1には、製品の試作評価段階でのテストにおいて、異常と判断された場合の電圧降下回数の下限値が設定される。
【0028】
比較回路5bは、常時、あるいは一定の時間または一定の日数ごとに、カウンタ3bのカウンタ値と判定値記憶部4b内の判定値B1とを比較する。
【0029】
アラーム表示回路6bは、たとえばLEDで構成され、カウンタ3bのカウンタ値が判定値B1以上の場合に、アラームを表示する。
【0030】
発振停止検出回路9は、クロック供給回路32によってマイクロコンピュータ1へ供給されるクロックの発振停止を監視する。
【0031】
カウンタ3cは、発振停止検出回路9で検出されたクロックの発振停止の回数(発振停止回数)Cをカウントする。
【0032】
カウント値記憶部13cは、カウンタ3cのカウント値を記憶する不揮発性メモリである。
【0033】
判定値記憶部4cは、発振停止回数が妥当か否かを判断するための判定値C1を記憶する。この判定値C1には、製品の試作評価段階でのテストにおいて、異常と判断された場合の発振停止回数の下限値が設定される。
【0034】
比較回路5cは、常時、あるいは一定の時間または一定の日数ごとに、カウンタ3cのカウント値と判定値記憶部4c内の判定値C1とを比較する。
【0035】
アラーム表示回路6cは、たとえばLEDで構成され、カウンタ3cのカウンタ値が判定値C1以上の場合に、アラームを表示する。
【0036】
OR回路8は、WDT回路2の出力と、LVD回路7の出力と、発振停止検出回路9の出力の論理和をCPUリセット信号としてCPUへ出力する。
【0037】
(WDT回路に関連する動作)
まず、WDT回路2に関する動作について説明する。
【0038】
マイクロコンピュータ1が正常に動作している場合、マイクロコンピュータ1から定期的にタイマリセット信号がWDT回路2へ出力される。タイマリセット信号によって、WDT回路2のカウンタ値はオーバーフローする前にリセットされる。オーバーフローが回避されるので、WDT回路2は、異常信号Raをハイレベルにアサートせず、その結果、マイクロコンピュータ1は正常に動作を続ける。
【0039】
一方、マイクロコンピュータ1が暴走状態に陥った場合、マイクロコンピュータ1からタイマリセット信号がWDT回路2へ出力されない。そのためWDT回路2のカウント値がリセットされることなく、動作し続け、WDT回路2のカウンタ値はオーバーフローする。WDT回路2のカウンタ値がオーバーフローすることによって、異常信号Raをハイレベルにアサートする。ハイレベルの異常信号Raは、OR回路8に入力されて、OR回路8からハイレベルにアサートされたCPUリセット信号がマイクロコンピュータ1に送られる。その結果、マイクロコンピュータ1は、リセットし、暴走状態から復帰する。
【0040】
WDT回路2から出力される異常信号Raがハイレベルにアサートされた回数がカウンタ3aによってカウントされる。これによって、WDT回路2のカウンタ値のオーバーフロー回数が把握可能となる。
【0041】
(LVD回路に関連する動作)
次に、LVD回路7に関する動作について説明する。
【0042】
LVD回路7は、マイクロコンピュータ1に供給される電源電圧が予め設定した電源電圧以下になったことを検出した場合に、異常信号Rbをハイレベルにアサートする。ハイレベルの異常信号Rbは、OR回路8に入力されて、OR回路8からハイレベルにアサートされたCPUリセット信号がマイクロコンピュータ1に送られる。その結果、マイクロコンピュータ1は、リセットし、暴走状態から復帰する。
【0043】
LVD回路7から出力される異常信号Rbがハイレベルにアサートされた回数がカウンタ3bによってカウントされる。これによって、マイクロコンピュータ1に供給される電源電圧が予め設定した電源電圧以下となった回数が把握可能となる。
【0044】
(発振停止検出回路に関連する動作)
次に、発振停止検出回路9に関する動作について説明する。
【0045】
発振停止検出回路9は、マイクロコンピュータ1へ供給されるクロックの発振が停止したことを検知した場合に、異常信号Rcをハイレベルにアサートする。ハイレベルの異常信号Rcは、OR回路8に入力されて、OR回路8からハイレベルにアサートされたCPUリセット信号がマイクロコンピュータ1に送られる。その結果、マイクロコンピュータ1は、リセットし、暴走状態から復帰する。
【0046】
発振停止検出回路9から出力される異常信号Rcがハイレベルにアサートされた回数がカウンタ3cによってカウントされる。これによって、マイクロコンピュータ1へ供給されるクロックの発振が停止した回数が把握可能となる。
【0047】
(異常原因解析装置の構成)
図2は、図1のコンピュータシステムの異常原因を解析する異常原因解析装置の構成を表わす図である。
【0048】
図2を参照して、この異常原因解析装置42は、マイクロコンピュータ44と、テーブル記憶部43と、カウント値記憶部45と、プログラム記憶部46とを備える。
【0049】
カウント値記憶部45は、図1のコンピュータシステム40のカウント値記憶部13a,13b,13cから読み出されたオーバーフロー回数A、電圧降下回数B、発振停止回数Cを記憶する。
【0050】
プログラム記憶部46は、異常原因推定プログラムを記憶する。
テーブル記憶部43は、オーバーフロー回数A、電圧降下回数B、発振停止回数Cと異常原因との関係を定めた異常原因推定テーブルを記憶する。
【0051】
図3は、異常原因推定テーブルの例を表わす図である。
図3に示すように、異常原因推定テーブルでは、オーバーフロー回数A、電圧降下回数B、発振停止回数Cの間の大小関係によって、異常原因が、(1)電源系およびクロック系以外の外部端子へのノイズ、(2)電源系の外部端子へのノイズ、(3)クロック系の外部端子へのノイズ、(4)クロック系以外の外部端子へのノイズ、(5)電源系以外の外部端子へのノイズ、(6)電源系の外部端子およびクロック系の外部端子へのノイズ、または(7)すべての外部端子へのノイズのいずれかに分類される。ここで、電源系の外部端子とは、図1に示す外部端子P2である。クロック系の外部端子とは、図1に示す外部端子P1である。電源系およびクロック系以外の外部端子とは、図1に示す外部端子P3〜Pnである。
【0052】
(動作)
図4は、異常原因推定処理の動作手順を表わすフローチャートである。
【0053】
まず、エンドユーザは、コンピュータシステム40のアラーム表示回路6a,6b,6cのいずれかでアラームが表示された場合に、メーカへその製品を返却する(ステップS301)。
【0054】
メーカが所有する異常原因解析装置のマイクロコンピュータ44は、プログラム記憶部46に記憶された異常原因推定プログラムを読み出して、実行する(ステップS302)。
【0055】
メーカでは、ステップS302によって推定された異常原因に基づいて、コンピュータシステム40のシステム改善を図ることによって、返却された製品のシステム改善、またはこれから出荷する製品のシステム改善を図る。たとえば、メーカは、異常原因が電源系の異常と推定された場合は、電源系のシステム改善を図る。メーカは、異常原因がクロック系の異常と推定された場合には、クロック系のシステム改善を図る(ステップS303)。
【0056】
図5は、図4のステップS302の処理の手順を表わすフローチャートである。
まず、マイクロコンピュータ44は、コンピュータシステム40のカウント値記憶部13aからWDT回路のカウンタ値のオーバーフロー回数Aを読出して、カウント値記憶部45に記憶する(ステップS101)。
【0057】
次に、マイクロコンピュータ44は、コンピュータシステム40のカウント値記憶部13bから電圧降下回数Bを読出して、カウント値記憶部45に記憶する(ステップS102)。
【0058】
次に、マイクロコンピュータ44は、コンピュータシステム40のカウント値記憶部13cから発振停止回数Cを読出して、カウント値記憶部45に記憶する(ステップS103)。
【0059】
次に、マイクロコンピュータ44は、プログラム記憶部46内の異常原因推定テーブルに基づいて暴走原因を推定する(ステップS104)。
【0060】
図6は、図5のステップS104の処理の手順を表わすフローチャートである。
マイクロコンピュータ44は、A>B、A>Cの条件を満たすときには(ステップS201でYES)、異常の原因を電源系およびクロック系以外の外部端子へのノイズであると推定する(ステップS202)。
【0061】
マイクロコンピュータ44は、A<B、B>Cの条件を満たすときには(ステップS203でYES)、異常の原因を電源系の外部端子へのノイズであると推定する(ステップS204)。
【0062】
マイクロコンピュータ44は、A<C、B<Cの条件を満たすときには(ステップS205でYES)、異常の原因をクロック系の外部端子へのノイズであると推定する(ステップS206)。
【0063】
マイクロコンピュータ44は、A=B、A>C、B>Cの条件を満たすときには(ステップS207でYES)、異常の原因をクロック系以外の外部端子へのノイズであると推定する(ステップS208)。
【0064】
マイクロコンピュータ44は、A>B、A=C、B<Cの条件を満たすときには(ステップS209でYES)、異常の原因を電源系以外の外部端子へのノイズであると推定する(ステップS210)。
【0065】
マイクロコンピュータ44は、A<B、A<C、B=Cの条件を満たすときには(ステップS211でYES)、異常の原因を電源系の外部端子およびクロック系の外部端子へのノイズであると推定する(ステップS212)。
【0066】
マイクロコンピュータ44は、A=B=Cの条件を満たすときには(ステップS213でYES)、異常の原因をすべての外部端子へのノイズであると推定する(ステップS214)。
【0067】
(効果)
本実施の形態では、WDT回路だけでなく、LVD回路と発振停止検出回路でも、コンピュータシステムの異常を監視し、それぞれの異常の回数を記憶するので、メーカ側では、これらの記憶されたそれぞれの異常の回数の大小関係を調べることによって、異常の原因を推定することができる。
【0068】
なお、本実施の形態では、異常原因の推定を異常原因解析装置にて行なったが、これに限定するものではない。メーカ側の設計者が、自らの手で図5、図6に示した処理を行なうこととしてもよい。
【0069】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0070】
1,44 マイクロコンピュータ、2 WDT回路、3a,3b,3c カウンタ、4a,4b,4c 判定値記憶部、5a,5b,5c 比較回路、6a,6b,6c アラーム表示回路、7 LVD回路、8 OR回路、9 発振停止検出回路、13a,13b,13c,45 カウント値記憶部、31 電源回路、32 クロック供給回路、42 異常原因解析装置、43 テーブル記憶部、46 プログラム記憶部。

【特許請求の範囲】
【請求項1】
コンピュータと、
前記コンピュータへ電力を供給する電源回路と、
前記コンピュータからリセット信号を受けて、カウント値をリセットするウオッチドッグタイマ回路と、
前記電源回路から前記コンピュータへ供給する電圧が所定値以下に降下したことを検出するLVD回路と、
前記コンピュータへクロックを供給するクロック供給回路と、
前記クロック供給回路によって前記コンピュータへ供給されるクロックの発振停止を検出する発振停止検出回路と、
前記ウオッチドッグタイマ回路のカウンタ値のオーバーフロー回数である第1の値を記憶する第1の記憶部と、
前記LVD回路の電圧降下回数である第2の値を記憶する第2の記憶部と、
前記クロック供給回路の発振停止回数である第3の値を記憶する第3の記憶部とを備えたコンピュータシステムの異常判定方法であって、
前記第1の記憶部から前記第1の値を読み出すステップと、
前記第2の記憶部から前記第2の値を読み出すステップと、
前記第3の記憶部から前記第3の値を読み出すステップと、
前記第1の値、前記第2の値、および前記第3の値と異常原因との関係を定めた異常原因推定テーブルを参照して、前記読み出した第1の値、第2の値、第3の値に対応する異常原因を推定するステップとを含む、異常推定方法。
【請求項2】
前記異常原因を推定するステップは、前記第1の値が前記第2の値よりも大きく、かつ前記第1の値が前記第3の値よりも大きい場合には、電源系およびクロック系以外の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項3】
前記異常原因を推定するステップは、前記第1の値が前記第2の値よりも小さく、かつ前記第2の値が前記第3の値よりも大きい場合には、電源系の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項4】
前記異常原因を推定するステップは、前記第1の値が前記第3の値よりも小さく、かつ前記第2の値が前記第3の値よりも小さい場合には、クロック系の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項5】
前記異常原因を推定するステップは、前記第1の値が前記第2の値と等しく、かつ前記第1の値および前記第2の値が前記第3の値よりも大きい場合には、クロック系以外の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項6】
前記異常原因を推定するステップは、前記第1の値が前記第3の値と等しく、かつ前記第1の値および前記第3の値が前記第2の値よりも大きい場合には、電源系以外の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項7】
前記異常原因を推定するステップは、前記第2の値が前記第3の値と等しく、かつ前記第2の値および前記第3の値が前記第1の値よりも大きい場合には、電源系およびクロック系の外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項8】
前記異常原因を推定するステップは、前記第1の値と前記第2の値と前記第3の値が等しい場合には、すべての外部端子へのノイズが異常原因であると推定するステップを含む、請求項1記載の異常推定方法。
【請求項9】
コンピュータと、
前記コンピュータへ電力を供給する電源回路と、
前記コンピュータからリセット信号を受けて、カウント値をリセットするウオッチドッグタイマ回路と、
前記電源回路が前記コンピュータへ供給する電圧が所定値以下に降下したことを検出するLVD回路と、
前記コンピュータへクロックを供給するクロック供給回路と、
前記クロック供給回路によって前記コンピュータへ供給されるクロックの発振停止を検出する発振停止検出回路と、
前記ウオッチドッグタイマ回路のカウンタ値のオーバーフロー回数である第1の値を記憶する第1の記憶部と、
前記LVD回路で検出された電圧降下回数である第2の値を記憶する第2の記憶部と、
前記発振停止検出回路で検出された発振停止回数である第3の値を記憶する第3の記憶部と、
前記第1の値、前記第2の値、および前記第3の値と異常原因との関係を定めた異常原因推定テーブルを記憶する第4の記憶部とを備えたコンピュータシステムの異常推定プログラムであって、
コンピュータに、
前記第1の記憶部から前記第1の値を読み出すステップと、
前記第2の記憶部から前記第2の値を読み出すステップと、
前記第3の記憶部から前記第3の値を読み出すステップと、
前記異常原因推定テーブルを参照して、前記読み出した第1の値、第2の値、第3の値に対応する異常原因を推定するステップとを実行させる、異常推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate