(57)【要約】【課題】  ハードウェアロックのような割り込みが実施できない深刻な状況においても、主記憶部の内容全てをメモリダンプとして外部記憶部に確実に保存する手法を提供する。【解決手段】  計算機システム内の状態を監視し、計算機システムが障害を起こしたと判断した場合に、主記憶部３の内容を外部記憶部５に記憶させるメモリダンプ採取を自動的に行わせ、ハードウェアロックなどが原因でメモリダンプ採取が行われなかった場合は、システムリセット後にメモリダンプ採取を行えるようにした。【選択図】      図１
2007094537.tif 000002
【特許請求の範囲】
【請求項１】
計算機システムに障害が発生した際に、主記憶部内の内容をメモリダンプとして外部記憶部に保存することが出来る計算機システムにおいて、
前記計算機システムは、前記計算機システム内の状態を監視し、前記計算機システムが障害を起こしたと判断した場合に、メモリダンプ採取を行うための指示を行う状態監視部と、
前記状態監視部からの指示に基づいて主記憶部の内容を外部記憶部に保存するメモリダンプ採取部と、
前記状態監視部からの指示に基づき、前記計算機システムのリブートを行う起動初期化プログラム部と、
前記メモリダンプ採取部にメモリダンプ採取を行わせるリセット手段とを備えたことを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムにおいて、
前記状態監視部は、定期的に信号を発信して計算機システムの健全性のチェックを行うことを特徴とする計算機システム。
【請求項３】
請求項２記載の計算機システムにおいて、
前記状態監視部は、計算機システムの健全性を確認出来なかった場合に、計算機システムが障害を起こしていると判断し、カウンタを起動させた上で、メモリダンプ採取を行うための割り込み命令を発動させることを特徴とする計算機システム。
【請求項４】
請求項３記載の計算機システムにおいて、
前記状態監視部は、メモリダンプ採取が行われたか否かを判断し、行われなかった場合は、前記初期化プログラム部に対し、システムリセット後に主記憶部の初期化とオペレーティングシステムの起動は行わずに主記憶部内の内容をメモリダンプとして外部記憶部に保存させるよう指示を行い、前記起動初期化プログラム部は、前記状態監視部の指示があった場合はメモリダンプ採取を行い、指示がなかった場合は計算機システムのリブートを行うことを特徴とする計算機システム。
【請求項５】
計算機システムの健全性について判断を行い、
健全性が確認できなかった場合にメモリダンプの採取を指示するメモリダンプ採取指示処理と、
前記指示処理に基づき、主記憶部の内容を外部記憶部に保存するメモリダンプ採取処理と、
前記指示処理に基づき、前記計算機システムのリブートを行う起動初期化処理と、
前記メモリダンプ採取処理を行わせるためのリセット処理とを行うことを特徴とするメモリダンプ採取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムのメモリダンプ採取機能における、メモリダンプ採取装置及び方法に関する。
【背景技術】
【０００２】
計算機システムが障害を起こした際に主記憶装置の内容を外部記憶装置に保存することができる計算機システムにおいて、障害が発生した場合、メモリダンプ採取プログラムを起動するための割込み命令（Ｎon Ｍaskable Interrupt:ＮＭＩ、以下ＮＭＩと称する）を発生させ、メモリダンプ採取プログラムを実行することで主記憶装置の内容を外部記憶装置に保存している。
しかし、計算機システムにハードウェアロックのような、割り込みが実行できない深刻な障害が発生した場合は、ＮＭＩが発動されても計算機システム内で伝達がされず、メモリダンプ採取プログラムを起動させることができない。また、その障害を解消するために計算機システムのリブートを実行すると、主記憶装置の内容が初期化されてしまう。従って、ハードウェアロックが起こってしまった場合には、主記憶装置内の内容を外部記憶装置に保存することができなかった。
【０００３】
特許文献１には、ハードウェアロック状態に陥った場合にメモリダンプを採取できないという問題を解決する手法についての開示がある。計算機システムがハードウェアロックした場合、オペレータが、メモリダンプ採取プログラムが入っているディスクを計算機システムに挿入し、コンソールを操作してディスクからリブートするようリセットをかける。この動作により、メモリダンプ採取プログラムが計算機システムの主記憶装置上の、通常稼動時には使用されない空き領域にロードされ、プログラムを実行することで、メモリダンプ採取プログラムがロードされたエリア以外の主記憶装置の内容を、外部記憶装置に保存することができる。
【０００４】
また特許文献２には、計算機システムリブート前に自動でメモリダンプを採取する手法についての開示がある。計算機システムが障害により停止した場合、オペレーティングシステムの中核部がおかれているメモリ領域のみを自動的にダンプし、後の領域に関してはシステムリセット後に順次ダンプを出力する。
【特許文献１】特開平８−９５８３４号公報
【特許文献２】特開平１０−３３３９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来は計算機システムに、ハードウェアロックのような割り込みが実行できない深刻な障害が発生した場合は、ＮＭＩが計算機システム内を伝達されず、メモリダンプ採取プログラムを起動させることができなかった。また、ハードウェアロックの状態を解消させるために計算機システムのリブートを実行すると、主記憶装置の内容が初期化されてしまう。従って、ハードウェアロック時には、主記憶装置内の内容を外部記憶装置に保存することができなかった。
【０００６】
特許文献１に記載の手法では計算機システムがハードウェアロックしたという確認やその後の処理すべてに対しオペレータの介在が必要であった。
【０００７】
また特許文献２に記載の手法では、計算機システムが障害により停止した場合に自動で起動するメモリダンプのプログラムが、実際に起動したか否かを確認する手段を備えておらず、ハードウェアロックのような、割り込みが実行できない状況が起きた場合の対策が不十分であった。
【０００８】
本発明はかかる点に鑑みてなされたものであり、ハードウェアロックのような割り込みが実施できない深刻な状況においても、主記憶装置の内容全てをメモリダンプとして外部記憶装置に確実に保存する手法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、計算機システムに障害が発生した際に、主記憶部内の内容をメモリダンプとして外部記憶部に保存することが出来る計算機システムにおいて、計算機システム内の状態を監視し、計算機システムが障害を起こしたと判断した場合に自動的にメモリダンプ採取を行わせ、ハードウェアロックなどが原因でメモリダンプ採取が行われなかった場合は、システムリセット後にメモリダンプ採取を行えるようにしたものである。
【発明の効果】
【００１０】
本発明によると、計算機システムに障害が発生した場合にそれを自動で感知し、システムリセット前にメモリダンプ採取を行えるようにしたことに加え、ハードウェアロック状態などでメモリダンプ採取プログラムが正常に起動しない状況下においても、ハードウェアロック状態を解除した上でメモリダンプ採取を行えるようにしているため、障害発生時の主記憶装置内の情報を全て、消失させること無くメモリダンプとして外部記憶装置に保存することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施の形態の例を、図１〜図３を参照して説明する。
【００１２】
図１は、本実施の形態による処理を適用したメモリダンプ採取装置の構成を示した図である。計算機システムは、ＣＰＵ（中央演算装置）１、主記憶部３、外部記憶部５を有する。ＣＰＵ１と主記憶部３との間には、ＣＰＵ１と主記憶部３間の入出力を制御するメモリコントローラ２が配置され、ＣＰＵ１と外部記憶部３の間には、ＣＰＵ１と外部記憶部３間の入出力を制御するＩ／Ｏ（Input/output）コントローラ４が配置されている。
【００１３】
ＣＰＵ１内の記憶部には状態監視プログラム部８が実装されており、計算機システムの状態を監視している。ＬＳＩ（大規模集積回路）には状態監視部６が組み込まれており、計算機システム障害検知時にメモリダンプ採取プログラムを実行させるよう処理を行う。メモリダンプ採取プログラム１０は、主記憶部３内に格納されている。
【００１４】
システムＢＩＯＳ（Basic Input / Output System）には、起動初期化プログラム部１２が組み込まれており、状態監視部６の処理内容に応じ、適したシステムリセット処理を行う。状態監視部６、起動初期化プログラム部１２の詳細については、後述する動作説明の中で説明する。
【００１５】
また、計算機システム筐体にリセットボタン７が配置されており、押下することで、計算機システム障害を検知した場合と同様に、メモリダンプ採取プログラム１０を実行させるためのＮＭＩが発動させることができる。
【００１６】
計算機システムが正常に稼動しているか否かは、状態監視部により監視、判断される。状態監視部は状態監視プログラム部８と状態監視部６とで構成されており、計算機システムの監視は状態監視プログラム部８が、判断は状態監視部６が行っている。状態監視部６は、計算機システムが障害を起こしたと判断した場合には、カウンタを起動させた上でＮＭＩを発動する。
【００１７】
ＮＭＩは、Ｉ／Ｏコントローラ４、ＣＰＵ１、メモリコントローラ２を経由して主記憶部３に伝達され、ＮＭＩ処理コード９が実行される。ＮＭＩ処理コード９にはメモリダンプ採取プログラムが組み込まれており、ＮＭＩ処理コード９が実施されるとメモリダンプ採取が行われるようにしてある。採取されたメモリダンプ情報は、外部記憶部５に保存させるようにしてある。
【００１８】
ＮＭＩ処理コード９には、実行時に、状態監視部６が既に発動しているカウンタを止めるカウント停止機能１１も組み込まれており、ＮＭＩ処理コード９が実行されれば、状態監視部６がＮＭＩ発動時に起動したカウントも停止されるようにしてある。
【００１９】
また、状態監視部６は、自身が発動したカウントが停止しているかどうかを確認することにより、ＮＭＩ処理コードが実行されたか否かの判断も行っている。ＮＭＩ処理コードが実行されなかった場合、つまりメモリダンプ採取が行われなかった場合は、システムリセット後にメモリダンプ採取を行う必要がある。
【００２０】
状態監視部６は、システムリセット後にメモリダンプ採取を行う必要があるか否かを起動初期化プログラム部に伝える手段として、メモリダンプモード起動フラグを有しており、フラグの設定／未設定を行った後にシステムリセットを行う。
【００２１】
起動初期化プログラム部１２は、システムリセット後に動作し、状態監視部６内のメモリダンプモード起動フラグの有無を確認した上で、フラグの状態に応じメモリダンプモードでの起動、もしくは通常の計算機システムのリブートを行う。メモリダンプモードとは、システムリセット後に、主記憶部３の初期化とオペレーティングシステムの起動は行わずに、メモリダンプ採取を行うモードのことである。
【００２２】
リセットスイッチ７は、押下されることで、状態監視部６に対し計算機システム障害検知時と同様の動作である、ＮＭＩの発動を行うよう指令を行う。
【００２３】
次に、本例の動作について、図２及び図３のフローチャートを参照して説明する。まず、計算機システムが障害を起こした場合は計算システム内の通信網が途切れるため、状況監視プログラム部８からの信号が状態監視部６に届かない。状態監視部６は、状態監視プログラム部８からの信号を一定時間受信できなかった場合に、計算機システムが障害を起こしたと判断する（ステップＳ１）。
【００２４】
状態監視部６はカウンタを持っており、計算機システムが障害を起こしたと判断した場合は、カウンタを動作させた上でＮＭＩを発動する（ステップＳ２）。このＮＭＩがＩ／Ｏコントローラ４、ＣＰＵ１、メモリコントローラ２を経由して主記憶部３に伝達され、ＮＭＩ処理コード９が実行される。ＮＭＩ処理コード９にはメモリダンプ採取プログラム１０が格納されており、メモリダンプ採取プログラム１０が実施されることにより、メモリダンプ採取が行われる。メモリダンプ採取プログラム１０が正常に起動した場合は、同じくＮＭＩ処理コード９内に組み込まれているカウント停止機能１１が起動して、ＮＭＩ発動時に情報監視部６により開始されたカウントが停止される。（ステップＳ５）。
【００２５】
一方、ハードウェアロック状態などによりＮＭＩが主記憶部３に伝達されなかった場合は、ＮＭＩ処理コード９が実行されないため、メモリダンプ採取プログラム１０は起動せず、カウントも停止されない。従って、カウントの停止を確認できなかった場合、状態監視部６はメモリダンプ採取プログラム１０がハードウェアロックにより正常に起動しなかったものと判断し（ステップＳ４）、メモリダンプモード起動フラグを立てた上で、計算機システムをリセットする。この段階でシステムリセットが行われることにより、計算機システムのハードウェアロック状態が解除される。（ステップＳ６）。
【００２６】
システムリセット後は、起動初期化プログラム部１２が状態監視部６内のフラグの有無を確認し（ステップＳ７）、フラグを確認できた場合は（ステップＳ８）メモリダンプモードに遷移して（ステップＳ９）自動的にメモリダンプを採取し（ステップＳ１０）、フラグを取り消す（ステップＳ１１）。その後起動初期化プログラム部１２が再度計算機システムをリセットする（ステップＳ１２）。その際にはメモリダンプモード起動フラグは立っていないため、主記憶部３の初期化とオペレーティングシステムの起動を行う通常のリブートが実施される（ステップＳ１３）。
【００２７】
また、リセットスイッチ７をオペレータが押下した場合は（ステップＳ３）、計算機システム障害を検知した場合と同様に、状態監視部６よりメモリダンプ採取プログラム１０を実行させるためのＮＭＩが発動され、これによりメモリダンプが実施される。万一この処理中に障害が発生したとしても、上述と同様の処理が実行され、主記憶部の内容は自動的に外部記憶部に保存される。
【００２８】
このように本例の計算機システムによると、ハードウェアロックのような割り込みが実施できない深刻な状況においても、主記憶装置の内容全てをメモリダンプとして外部記憶装置に確実に保存する手法を提供することができる。
【００２９】
また、状態監視プログラム部８と状態監視部６が常に計算機システムの状態を監視しており、障害の発生も自動で認識されるため、障害発生を確認するためのオペレータが不要となる効果がある。
【００３０】
また、これまではハードウェアロックのような深刻な状況下においてメモリダンプ採取を行う場合はオペレータの介在が必要とされていたが、ハードウェアロックの検知からシステムリセットによるハードウェアロック状態の解除、主記憶部３の初期化とオペレーティングシステムの起動は行わずに主記憶部３の内容を外部記憶部５に移動させるメモリダンプ採取までの全てが自動で行われるため、オペレータの介在が不要となる効果がある。
【００３１】
また、リセットスイッチ７を押下すればメモリダンプ採取プログラムが起動する仕組みにより、障害発生時でなくても、好きなタイミングでメモリダンプを採取できるという効果がある。
【００３２】
また、ハードウェアロック状態においてもメモリダンプを確実に採取することができるため、ハードウェアロック時の解析にもメモリダンプ情報を利用することができ、障害解析の効率化が図れるという効果がある。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態による端末の内部構成例を示すブロック図である。
【図２】本発明の一実施の形態によるメモリダンプ採取手法を示すフローチャートである。
【図３】本発明の一実施の形態によるメモリダンプ採取手法を示すフローチャートである。
【符号の説明】
【００３４】
１…ＣＰＵ、２…メモリコントローラ、３…主記憶部、４…Ｉ／Ｏコントローラ、５…外部記憶部、６…状態監視部、７…リセットスイッチ、８…状態監視プログラム部、９…ＮＭＩ処理コード、１０…メモリダンプ採取プログラム、１１…カウント停止機能、１２…起動初期化プログラム部
【図１】
2007094537.tif 000003
【図２】
2007094537.tif 000004
【図３】
2007094537.tif 000005