JPWO2011016115A1 - リセット方法及び監視装置 - Google Patents

リセット方法及び監視装置 Download PDF

Info

Publication number
JPWO2011016115A1
JPWO2011016115A1 JP2011525713A JP2011525713A JPWO2011016115A1 JP WO2011016115 A1 JPWO2011016115 A1 JP WO2011016115A1 JP 2011525713 A JP2011525713 A JP 2011525713A JP 2011525713 A JP2011525713 A JP 2011525713A JP WO2011016115 A1 JPWO2011016115 A1 JP WO2011016115A1
Authority
JP
Japan
Prior art keywords
reset
monitoring device
volatile memory
hardware
kernel
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.)
Granted
Application number
JP2011525713A
Other languages
English (en)
Other versions
JP5418597B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2011016115A1 publication Critical patent/JPWO2011016115A1/ja
Application granted granted Critical
Publication of JP5418597B2 publication Critical patent/JP5418597B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

コンピュータ本体を監視する監視装置内で異常が発生すると、監視装置のプロセッサコアはリセットするが監視装置の揮発性メモリはリセットしないリセット処理であるソフトウェアリセット中に誤作動する可能性があるWDT等のハードウェアをディセーブル状態にし、前記ハードウェアからの割り込みをマスクし、前記プロセッサコアが使用するレジスタのみを初期化し、監視装置にリセットをかけ、メモリコントローラがディセーブル状態であれば、ハードウェアリセットがかかったと判断して前記揮発性メモリを初期化し、メモリコントローラがイネーブル状態であればソフトウェアリセットがかかったと判断して前記揮発性メモリの初期化をスキップし、監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する。

Description

本発明は、ハードウェアの状態を保存したまま監視装置をリセットするリセット方法、及びそのようなリセット方法を用いる監視装置に関する。本発明は、コンピュータにリセット方法を実行させるコンピュータプログラム、及びそのようなコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
コンピュータ本体で異常が発生すると、ハードウェアリセットが行われる。一般的なハードウェアリセットは、CPU(Central Processing Unit)等のプロセッサのコアと、メモリコントローラやLAN(Local Area Network)コントローラ等の周辺プロセッサを含むシステムボード全体にリセットをかけ、コンピュータ本体を形成するシステムボード上の各部を初期状態に設定する。障害解析に使用するトレース(又は、動作履歴)等の障害情報は、変更頻度が高いので揮発性メモリに保持されるが、揮発性メモリがハードウェアリセットにより初期状態に設定されてしまうと、揮発性メモリはリフレッシュされないので揮発性メモリに保持されたデータが壊れてしまう。
又、障害情報を保存する方法としては、異常が起きたコンピュータ本体の代わりにサービスプロセッサ(SVP:Service Processor)と呼ばれる監視装置にメモリダンプを実行させる方法がある。しかし、サービスプロセッサ自身で異常が発生した場合には、サービスプロセッサ自身が障害情報を保存することはできない。このため、サービスプロセッサで障害が発生した場合には、サービスプロセッサから障害調査用資料を取り出して解析することで障害の原因を特定する作業が必要となる。尚、上記の障害とは、サービスプロセッサのオペレーティングシステム(OS:Operating System)として動作している例えばLinux(登録商標)OSがパニックリブート(Panic Reboot)を実行するような状況を言う。
従来は、サービスプロセッサで発生した障害に関する障害情報を取得できない場合がある。具体的には、サービスプロセッサのOSがパニックリブートを実行してサービスプロセッサが再起動された後に、揮発性メモリに保持された障害情報等のデータの保存が保障されていないために、データが壊れてしまう場合がある。
汎用コンピュータであれば、揮発性メモリに保持されたデータを不揮発性メモリやハードディスクに保存するバックアップを行う。しかし、サービスプロセッサには、コストを抑えるために高価な不揮発性メモリやハードディスクが設けられていない場合が多く、不揮発性メモリが設けられていても非常に限られた記憶容量の不揮発性メモリが用いられている。このため、サービスプロセッサにおいては、揮発性メモリにデータを保存する必要がある。書き換え回数が多いデータは揮発性メモリに保存してサービスプロセッサのリブート後にもアクセス可能とする要望がある一方、揮発性メモリに保持されたデータは電源切断では消えてもサービスプロセッサのリブートでは壊れずに残るようにする要望がある。
特開平8−212113号公報 特開平1−159739号公報 特開平9−330253号公報
MPC8379E PowerQUICC II Pro Integrated Host Processor Family Reference Manual
従来の監視装置では、監視装置で異常が発生してハードウェアリセットが行われると、揮発性メモリに保持された障害情報等のデータが監視装置の再起動により壊れてしまうという問題があった。
そこで、本発明は、ハードウェアリセットの機能を使わずに、監視装置をソフトウェアのみでリセット可能なリセット方法及び監視装置を提供することを目的とする。
本発明の一観点によれば、コンピュータ本体を監視して障害調査用資料及び前記コンピュータ本体を制御するための制御情報を含むデータを格納する揮発性メモリを有する監視装置のリセット方法であって、前記監視装置内で異常が発生すると、前記監視装置のプロセッサコアはリセットされるが前記揮発性メモリはリセットされないソフトウェアリセット中に誤動作する可能性がある前記監視装置内のハードウェアをディセーブル状態に制御する工程と、前記ハードウェアからの割り込みをマスクして前記プロセッサコアが使用するレジスタのみを初期化する前記ソフトウェアリセットを実行する工程と、前記監視装置のハードウェアリセットがかると前記揮発性メモリを初期化する工程と、前記ハードウェアがイネーブル状態であり前記ソフトウェアリセットがかかると前記揮発性メモリの初期化をスキップする工程と、前記監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する工程を前記プロセッサコアに実行させるリセット方法が提供される。
本発明の一観点によれば、コンピュータ本体を監視するプロセッサコアと、前記プロセッサコアによりコンピュータ本体を監視して得られた障害調査用資料及び前記コンピュータ本体を制御するための制御情報を含むデータを格納する揮発性メモリを備えた監視装置であって、前記プロセッサコアは、前記監視装置内で異常が発生すると、前記プロセッサコアはリセットされるが前記揮発性メモリはリセットされないソフトウェアリセット中に誤動作する可能性がある前記監視装置内のハードウェアをディセーブル状態に制御する手段と、前記ハードウェアからの割り込みをマスクして前記プロセッサコアが使用するレジスタのみを初期化する前記ソフトウェアリセットを実行する手段と、前記監視装置のハードウェアリセットがかると前記揮発性メモリを初期化する手段と、前記ハードウェアがイネーブル状態であり前記ソフトウェアリセットがかかると前記揮発性メモリの初期化をスキップする手段と、前記監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する手段を有する監視装置が提供される。
開示のリセット方法及び監視装置によれば、ハードウェアのリセット機能を使わずに、監視装置をソフトウェアのみでリセット状態に設定することができる。
本発明の一実施例における監視装置とコンピュータ本体を示すブロック図である。 サービスプロセッサ内のソフトウェア構成を説明する図である。 ソフトウェアリセットを説明するフローチャートである。 サービスプロセッサ内のメモリマップを説明する図である。 サービスプロセッサの通常動作を説明するフローチャートである。 Linuxカーネル内の処理を説明するフローチャートである。 ブートプログラム内の処理を説明するフローチャートである。
開示のリセット方法及び監視装置では、監視装置で異常が発生すると、揮発性メモリに保持されたデータを残したままソフトウェアリセットをかける。監視装置のハードウェアによっては、揮発性メモリに保持されたデータを残したままハードウェアリセットをかけられる機能を有するが、ソフトウェアリセットはこのような機能を有さないハードウェアに対して行われる。
揮発性メモリには、障害発生時に残す障害調査用資料(又は、障害情報)を含むデータの他、監視装置が監視するコンピュータ本体を制御するための制御情報も格納されている。コンピュータ本体を制御するための制御情報は、例えば各種電圧値、ファン回転数等の管理パラメータを含む。監視装置は、一定時間毎に監視装置のハードウェアから障害情報を読み出して異常値に達していないか否かを判定する処理を行う。
これにより、監視装置のハードウェアのリセット機能を使わずに、ソフトウェアリセットのみで監視装置をリセット状態に設定することができる。
以下に、開示のリセット方法及び監視装置の各実施例を図面と共に説明する。
図1は、本発明の一実施例における監視装置とコンピュータ本体を示すブロック図である。監視装置を形成するサービスプロセッサ(SVP:Service Processor)1は、図1に示す如く接続されたMPU(Micro Processor Unit)11、メモリコントローラ12、揮発性メモリ13、不揮発性メモリ14、及び本体制御インタフェース15を有する。揮発性メモリ13は、例えばSDRAM(Synchronous Dynamic Random Access Memory)又はDDR(Double Data Rate)メモリ等で形成されている。不揮発性メモリ14は、NOR型フラッシュメモリ又はNAND型フラッシュメモリ等で形成されている。本体制御インタフェース15は、例えばJTAGインタフェース、I2Cインタフェース、LANインタフェース等のハードウェア制御用インタフェースで形成されており、コンピュータ本体2と接続されている。コンピュータ本体2は、例えばCPUとメモリを有する汎用コンピュータで形成されている被監視対象装置である。つまり、コンピュータ本体2は、SVP1により監視される。
ここでは説明の便宜上、SVP1のオペレーティングシステム(OS:Operating System)はLinux(登録商標)OSであるものとする。又、障害とは、SVP1で動作しているLinuxOSが例えばパニックリブート(Panic Reboot)を実行するような状況を言うものとする。更に、後述するLinux カーネル(Kernel)は、階層型に設計されたLinuxOSの中核となり、コンピュータ本体2のリソースの管理、及びSVP1のハードウェア(又は、ハードウェアコンポーネント)とソフトウェア(又は、ソフトウェアコンポーネント)のやり取りの管理を行う。
図2は、SVP1内のソフトウェア構成を説明する図である。SVP1内のソフトウェアは、LinuxOSに含まれるLinuxカーネル21、ブートプログラム(Boot Program)22、及びサービスプロセッサ(SVP)プログラム23を有する。Linuxカーネル21は、パニックルーチン(Panic Routine)211及びマシンチェック割り込みハンドラ212を含む。パニックルーチン211は、後述するソフトウェアリセットを実行する処理を含む。マシンチェック割り込みハンドラ212は、SVP1のハードウェアで異常を検出した際もハードウェアリセットを行うことなくマシンチェック割り込みを発生し、パニックルーチン211と同様にソフトウェアリセットを行わせる。ブートプログラム22は、Linuxカーネル21を揮発性メモリ13に読み込み実行する。ブートプログラム22は、診断パターンの書き込みと読み込みを揮発性メモリ13に対して実行するメモリ診断プログラム221を含む。SVPプログラム23は、SVP1の監視機能を実現するための各種処理を実行する。
不揮発性メモリ14に使用可能なNOR型フラッシュメモリは、例えば10万回程度の書き換え回数に上限があり、書き換え動作が遅く高価であるため、大記憶容量のNOR型フラッシュメモリをSVP1に搭載することはSVP1のコストを抑える必要上難しい。そこで、不揮発性メモリ14に使用可能なNOR型フラッシュメモリは、主にSVP1の制御プログラムを格納しておくのに使用する。一方、不揮発性メモリ14に使用可能なNAND型フラッシュメモリは、安価であるため、大記憶容量のNAND型フラッシュメモリをSVP1に搭載することが可能である。しかし、不揮発性メモリ14に使用可能なNAND型フラッシュメモリは、例えば3000回から10万回程度の書き換え回数に上限があり、頻繁に書き換えるデータを格納するのには適していない。
SVP1のLinuxOSに含まれるLinuxカーネル21の中では、SVP1のハードウェアを制御する各プログラムが動作している。SVP1は、コンピュータ本体2のハードウェアを監視して、コンピュータ本体2のハードウェアから各種電圧値やファン回転数等の管理パラメータを含む制御情報を例えば5秒毎といった一定時間毎に読み込んで揮発性メモリ13に格納する。
SVP1は、SDRAMやDDRメモリで形成された揮発性メモリ13をカーネル管理領域とカーネル管理外領域に分けて使用し、カーネル管理外領域に上記障害調査資料、及び各種電圧値やファン回転数等の管理パラメータを含む制御情報を格納する。図4と共に後述するが、管理パラメータを含む制御情報を格納するのにカーネル管理領域を使用しないのは、以下の理由による。第1に、Linuxカーネル21は、仮想記憶方式で仮想アドレス空間と物理アドレス空間を変換するための複雑なテーブルを用いた周知の制御を行うからである。第2に、Linuxカーネル21は、Linuxカーネル21の起動時に揮発性メモリ13を初期化するので、カーネル管理外領域に対しては物理アドレスでアクセスすれば良くアクセスの管理が簡単である。このため、揮発性メモリ13の初期化はブートプログラム22が行うが、ブートプログラム22がリブートの時に揮発性メモリ13を初期化をしないようにブートプログラム22を変更する方が、Linuxカーネル21を変更するよりも簡単なためである。
SVP1において内部矛盾等の異常が発生してSVP1自身をリブートする場合、Linuxカーネル21内のパニックルーチン211が呼び出される。このパニックルーチン211によりSVP1内(例えば、MPU11内)の周知のハードウェアレジスタ(図示せず)にリセット指示を書き込むことでハードウェアリセットが発生するが、本実施例ではハードウェアリセットが発生しないようにする。つまり、SVP1のソフトウェアがSVP1をリセット状態に制御することで、ハードウェアリセットをかけずにSVP1のソフトウェアのみにリセットがかかった状態となる。
図3は、ソフトウェアリセットを説明するフローチャートである。図3中、ステップS1〜S5は、Linuxカーネル21内のパニックルーチン21の処理であり、ステップS6〜S8は、ブートプログラム22の処理である。
ここでは説明の便宜上、揮発性メモリ13に動作履歴となるトレース(又は、障害調査資料)や、SVP1のハードウェアを監視するための各種電圧情報やファン回転数等の管理パラメータを含む制御情報を書き込みながらSVP1が動作しているものとする。図3において、SVP1で内部矛盾等の異常が発生すると、ステップS1ではLinuxカーネル21内のパニックルーチン211が呼び出される。
ステップS2では、Linuxカーネル21内のパニックルーチン211にてWDT(Watch Dog Timer)等の、ソフトウェアリセット中に誤動作する可能性があるハードウェアをディセーブル(Disable)状態に制御する。WDTは、プログラムが正常に実行されているか否かを監視するのに用いられるMPU11内に設けられた周知のタイマである。
ソフトウェアリセット中に、WDTにより更にリセットがかかってしまっては、ダブルパニックの状態になって正常な動作を行えない。ソフトウェアリセット中は、割り込みを受けても正しく処理できないので、ステップS3では、SVP1のハードウェアからの割り込みをマスクする割り込みマスク処理を行う。SVP1のハードウェアからの割り込みは、MPU11内のPIC(Programmable Interrupt Controller)の割り込み許可ビットをオフにすることでマスク可能である。PIC自体は周知であり、MPU11に対するの割り込みを許可するか否かを制御する。
ステップS4では、Linuxカーネル21内のパニックルーチン211によりアドレッシングモードを変更するアドレスモード変更処理を行う。通常、Linuxカーネル21は論理アドレス空間で動作しているが、ステップS4ではアドレッシングモードを物理アドレスモードに変更する。物理アドレスモードに変更する理由は、ブートプログラム22が物理アドレスモードで動作するからである。Linuxカーネル21も、Linuxカーネル21自身がMPU11内のMMU(Memory Management Unit)を初期化するまでは、物理アドレスモードで動作する。MMU自体は周知であり、MPU11によ揮発性メモリ13及び不揮発性メモリ14の利用状況を管理する。
図4は、SVP1内のメモリマップを説明する図である。図4に示すように、揮発性メモリ13の揮発性メモリ領域は、カーネル管理領域とカーネル管理外領域に分けられている。カーネル管理領域は、Linuxカーネル21の論理アドレス空間と、仮想アドレス空間を含む。論理アドレス空間は、text領域、data領域、bss領域等を含む。一方、仮想アドレス空間は、動的組み込みドライバ、ユーザプロセス等を含む。仮想アドレス空間はMMUにより管理され、メモリ領域の確保に使用される基本関数malloc等で割り当てられる。カーネル管理外領域は、障害調査資料、及び管理パラメータを含む制御情報を含む。カーネル管理外領域は、Linuxカーネル21からはI/O空間に見えるものであり、SVP1のリブート時に初期化せずに残す部分である。又、不揮発性メモリ14の不揮発性メモリ領域には、ブート風呂グラム22が格納されている。ブートプログラム22は、Linuxカーネル21を0x0番地から展開して0x0番地から実行する。
カーネル物理アドレス(又は、カーネル領域アドレス)と物理アドレスとの対応は単純であり、論理アドレスから「0xC000_0000」を減算することにより物理アドレスが得られる。しかし、仮想アドレスはLinuxカーネル21が割り当てるため、1対1では対応しておらず、アドレスを変換するためのテーブルが必要となる。ソフトウェアリセットは、物理アドレスに変換しやすい論理アドレス空間で実行させたいので、この例では、モジュールをLinuxカーベル21に登録するプログラムinsmodによる動的組み込みには対応しないこととする。アドレスモードの変更は、MPU11内のマシンステートレジスタ(MSR:Machine State Register)の内容を変更することによって行う。MSR自体は周知であり、MPU11のアドレスモードを示すのに用いるレジスタであり、上記のハードウェアレジスタとは異なる。
ステップS5では、Linuxカーネル21内のパニックルーチン211により、MPU11内のプロセッサコアが使用するレジスタのみを初期化(即ち、クリア)するレジスタ初期化処理を行う。初期化するレジスタは、非特許文献1のFigure 7-2に示された「e300 Programming Model - Registers」の表からも選定可能である。この例で初期化されるレジスタには、スーパバイザレジスタ(Supervisor Register)が含まれるので、アセンブラで特権命令を使用すれば良い。スーパバイザレジスタ自体は周知であり、MPU11が演算を実行する際に用いるレジスタであり、上記のハードウェアレジスタとは異なる。
ステップS6では、Linuxカーネル21からブートプログラム22の開始アドレスへジャンプする。開始アドレスは、例えば「0xFFF0_0100」であり、MPU11内のプログラムカウンタ(図示せず)のカウントをジャンプさせることで求められる。ブートプログラム22は、揮発性メモリ13を初期化する機能を有する。又、ステップS6では、ブートプログラム22は揮発性メモリ13を初期化する前にメモリコントローラ12を参照し、メモリコントローラ12がディセーブル(Disable)状態であるか否かを判定する。メモリコントローラ12がディセーブル状態でありステップS6の判定結果がYESであると、ハードウェアリセットがかかったと判断して(即ち、ハードウェア初期状態と認識して)処理はステップS7へ進む。ステップS7では、ブートプログラム22が揮発性メモリ13を初期化する初期化処理を行う。
一方、メモリコントローラ12がイネーブル(Enable)状態でありステップS6の判定結果がNOであると、ブートプログラム22はソフトウェアリセットがかかった判断してステップS7の揮発性メモリ13の初期化処理と診断処理をスキップする処理を行う。
ステップS8では、ブートプログラム22がLinuxカーネル21を起動し、Linuxカーネル21は、SVPプログラム23を再起動する。再起動されたSVPプログラム23は、揮発性メモリ13のカーネル管理外領域にあるデータに再度アクセスする。この場合、カーネル管理外領域にデータが保持されているので、SVPプログラム23は初期化やフォーマットを行う必要がなく、直ちに所望のデータをアクセスすることができる。
以上により、MPU11のプロセッサコアのみがソフトウェアリセットによりリセットされ、メモリコントローラ12等の周辺プロセッサはリセットされない状態でソフトウェアのプログラムが最初から実行され、ソフトウェアのみが再起動された状態となる。周辺プロセッサ及び揮発性メモリ13はリセットされないので、周辺プロセッサ及び揮発性メモリ13のデータは残ったままとなり、ソフトウェアのリセット後に、再度そのデータにアクセスすることができる。
尚、図3のソフトウェアリセットでは、SVP1で内部矛盾等の異常が発生すると、ステップS1ではLinuxカーネル21内のパニックルーチン211が呼び出される。しかし、SVP1内のハードウェアの異常を検出し、ハードウェアリセットではなくマシンチェック割り込みを発生するステップS1AをステップS1の代わりに実行するようにしても良い。つまり、SVP1で内部矛盾等の異常が発生した場合に限らず、SVP1内のハードウェアの異常を検出した場合にもハードウェアリセットを行わないように、マシンチェック割り込みを発生するようにしても良い。この場合、マシンチェック割り込みハンドラ212は、SVP1のハードウェアで異常が検出されるとハードウェアリセットを行うことなくマシンチェック割り込みを発生し、パニックルーチン211と同様にソフトウェアリセットを行わせる。
次に、SVP1の通常動作、Linuxカーネル21内の処理、及びブートプログラム22の処理の流れを、図5〜図7と共に説明する。図5は、SVP1の通常動作を説明するフローチャート、図6は、Linuxカーネル21内の処理を説明するフローチャート、図7は、ブートプログラム22内の処理を説明するフローチャートである。
図5において、ステップST1では、SVP1は一定時間を待つ処理を実行する。ステップST2では、SVP1はコンピュータ本体2内のハードウェアを監視する処理を実行し、処理はステップST1へ戻る。これにより、コンピュータ本体2内のハードウェアは、一定時間毎に監視され、障害調査用資料及び制御情報が揮発性メモリ13に格納される。又、SVP1内で内部矛盾等の異常が発生、或いは、SVP1内のハードウェアの異常が検出されると、異常通知をLinuxカーネル21に対して行う。
図6のLinuxカーネル21の処理は、SVP1で内部矛盾等の異常が発生、或いは、SVP1内のハードウェアの異常が検出されると、SVP1からの異常通知に応答して開始される。ステップST21では、WDT等のソフトウェアリセット中に誤動作する可能性があるハードウェアがイネーブル状態であるか否かを判定する。ステップST21の判定結果がYESであると、ステップST22では、SVP1のハードウェアからの割り込みをマスクする上記の如き割り込みマスク処理を行う。ステップST21の判定結果がNO、或いは、ステップST22の後、ステップST23では、SVP1内のハードウェアの異常が検出されて異常通知としてSVP1からハードウェア割り込みが発生しているか否かを判定する。ステップST23の判定結果がYESであると、ステップST24では、SVP1のハードウェアからの割り込みをマスクする上記の如き割り込みマスク処理を行う。ステップST23の判定結果がNO、或いは、ステップST24の後、ステップST25では、Linuxカーネル21内のパニックルーチン211によりアドレッシングモードを変更する。又、ステップST26では、Linuxカーネル21内のパニックルーチン211によりMPU11内のプロセッサコアが使用するレジスタのみを初期化(即ち、クリア)する上記の如き初期化処理を行う。ステップST27では、処理が図7に示すブートプログラム22の処理へ移行する。
図7のブートプログラム22の処理は、Linuxカーネル21により起動される。図7において、ステップST31では、ブートプログラム22がLinuxカーネル21により起動される。ステップST32では、SVP1のメモリコントローラ12がディセーブル状態であるか否かを判定する。ステップST32の判定結果がYESであると、ステップST33では、揮発性メモリ13を初期化する上記の如き初期化処理を行い、揮発性メモリ13内がクリアされる。ステップST32の判定結果がNO、或いは、ステップST33の後、ステップST34では、SVPプログラム23が起動される。これにより、起動されたSVPプログラム23は、揮発性メモリ13のカーネル管理外領域にある障害調査資料や制御情報等のデータにアクセスすることができる。この場合、カーネル管理外領域にデータが保持されているので、初期化やフォーマットを行う必要がなく、SVPプログラム23は直ちに所望のデータをアクセスすることができる。
尚、上記実施例では、SVP1のOSがLinuxOSである場合について説明したが、OSはLinuxに限定されるものではないことは言うまでもない。
又、本発明は、コンピュータにリセット方法を実行させるプログラム、及びそのようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも適用可能である。
コンピュータ本体を監視して障害調査用資料及び前記コンピュータ本体を制御するための制御情報を含むデータを格納する揮発性メモリを有する監視装置のリセット方法を前記監視装置のプロセッサコアに実行させるコンピュータプログラムは、前記監視装置内で異常が発生すると、前記プロセッサコアはリセットされるが前記揮発性メモリはリセットされないソフトウェアリセット中に誤動作する可能性がある前記監視装置内のハードウェアをディセーブル状態に制御する手順と、前記ハードウェアからの割り込みをマスクして前記プロセッサコアが使用するレジスタのみを初期化する前記ソフトウェアリセットを実行する手順と、前記監視装置のハードウェアリセットがかると前記揮発性メモリを初期化する手順と、前記ハードウェアがイネーブル状態であり前記ソフトウェアリセットがかかると前記揮発性メモリの初期化をスキップする手順と、前記監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する手順を前記プロセッサコアに実行させるコンピュータプログラムであっても良い。
更に、コンピュータ読み取り可能な記憶媒体は、上記コンピュータプログラムをコンピュータ読み取り可能に格納した記憶媒体であれば、記憶媒体の種類は特に限定されない。
以上、開示のリセット方法及び監視装置を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
1 SVP
2 コンピュータ本体
11 MPU
12 メモリコントローラ
13 揮発性メモリ
14 不揮発性メモリ
15 本体制御インタフェース
21 Linuxカーネル
22 ブートプログラム
23 SVPプログラム
211 パニックルーチン
212 マシンチェック割り込みハンドラ
221 メモリ診断プログラム

Claims (10)

  1. コンピュータ本体を監視して障害調査用資料及び前記コンピュータ本体を制御するための制御情報を含むデータを格納する揮発性メモリを有する監視装置のリセット方法であって、
    前記監視装置内で異常が発生すると、前記監視装置のプロセッサコアはリセットされるが前記揮発性メモリはリセットされないソフトウェアリセット中に誤動作する可能性がある前記監視装置内のハードウェアをディセーブル状態に制御する工程と、
    前記ハードウェアからの割り込みをマスクして前記プロセッサコアが使用するレジスタのみを初期化する前記ソフトウェアリセットを実行する工程と、
    前記監視装置のハードウェアリセットがかると前記揮発性メモリを初期化する工程と、
    前記ハードウェアがイネーブル状態であり前記ソフトウェアリセットがかかると前記揮発性メモリの初期化をスキップする工程と、
    前記監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する工程
    を前記プロセッサコアに実行させる、リセット方法。
  2. 前記ソフトウェアリセットを実行する工程は、前記監視装置内の周辺プロセッサはリセットせず、
    前記プロセッサプログラムを再起動する工程は、前記揮発性メモリに前記データが保持された状態で前記プロセッサプログラムを最初から実行して前記監視装置のソフトウェアのみが再起動された状態とする、請求項1記載のリセット方法。
  3. 前記監視装置のソフトウェアは、オペレーティングシステムに含まれるカーネル、前記カーネルを前記揮発性メモリに読み込み実行するブートプログラム、及び前記サービスプロセッサプログラムを有し、
    前記ソフトウェアリセットを実行する工程は、前記カーネルにより実行される、請求項1又は2記載のリセット方法。
  4. 前記ソフトウェアリセットを実行する工程は、前記異常が前記監視装置内の内部矛盾であると前記カーネル内のルーチンを呼び出して前記ルーチンにより実行され、前記異常が前記監視装置内のハードウェアの異常であると前記カーネル内のマシンチェックハンドラによりハードウェアリセットを行うことなくマシンチェック割り込みを発生して実行される、請求項3記載のリセット方法。
  5. 前記揮発性メモリは、論理アドレス空間及び仮想アドレス空間を含むカーネル管理領域と、前記データを格納するカーネル管理外領域を有し、
    再起動されたプロセッサプログラムは、前記カーネル管理外領域に格納された前記データに再度アクセスする、請求項1乃至4のいずれか1項記載のリセット方法。
  6. コンピュータ本体を監視するプロセッサコアと、
    前記プロセッサコアによりコンピュータ本体を監視して得られた障害調査用資料及び前記コンピュータ本体を制御するための制御情報を含むデータを格納する揮発性メモリを備えた監視装置であって、
    前記プロセッサコアは、
    前記監視装置内で異常が発生すると、前記プロセッサコアはリセットされるが前記揮発性メモリはリセットされないソフトウェアリセット中に誤動作する可能性がある前記監視装置内のハードウェアをディセーブル状態に制御する手段と、
    前記ハードウェアからの割り込みをマスクして前記プロセッサコアが使用するレジスタのみを初期化する前記ソフトウェアリセットを実行する手段と、
    前記監視装置のハードウェアリセットがかると前記揮発性メモリを初期化する手段と、
    前記ハードウェアがイネーブル状態であり前記ソフトウェアリセットがかかると前記揮発性メモリの初期化をスキップする手段と、
    前記監視装置の監視機能を実現するための処理を実行するプロセッサプログラムを再起動する手段を有する、監視装置。
  7. 前記ソフトウェアリセットを実行する手段は、前記監視装置内の周辺プロセッサはリセットせず、
    前記プロセッサプログラムを再起動する手段は、前記揮発性メモリに前記データが保持された状態で前記プロセッサプログラムを最初から実行して前記監視装置のソフトウェアのみが再起動された状態とする、請求項6記載の監視装置。
  8. 前記監視装置のソフトウェアは、オペレーティングシステムに含まれるカーネル、前記カーネルを前記揮発性メモリに読み込み実行するブートプログラム、及び前記サービスプロセッサプログラムを有し、
    前記ソフトウェアリセットを実行する手段は、前記カーネルにより実行される、請求項6又は7記載の監視装置。
  9. 前記ソフトウェアリセットを実行する手段は、前記異常が前記監視装置内の内部矛盾であると前記カーネル内のルーチンを呼び出して前記ルーチンにより実行され、前記異常が前記監視装置内のハードウェアの異常であると前記カーネル内のマシンチェックハンドラによりハードウェアリセットを行うことなくマシンチェック割り込みを発生して実行される、請求項8記載の監視装置。
  10. 前記揮発性メモリは、論理アドレス空間及び仮想アドレス空間を含むカーネル管理領域と、前記データを格納するカーネル管理外領域を有し、
    再起動されたプロセッサプログラムは、前記カーネル管理外領域に格納された前記データに再度アクセスする、請求項6乃至9のいずれか1項記載の監視装置。
JP2011525713A 2009-08-04 2009-08-04 リセット方法及び監視装置 Expired - Fee Related JP5418597B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/063827 WO2011016115A1 (ja) 2009-08-04 2009-08-04 リセット方法及び監視装置

Publications (2)

Publication Number Publication Date
JPWO2011016115A1 true JPWO2011016115A1 (ja) 2013-01-10
JP5418597B2 JP5418597B2 (ja) 2014-02-19

Family

ID=43544036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011525713A Expired - Fee Related JP5418597B2 (ja) 2009-08-04 2009-08-04 リセット方法及び監視装置

Country Status (6)

Country Link
US (1) US8595552B2 (ja)
EP (1) EP2463779A1 (ja)
JP (1) JP5418597B2 (ja)
KR (1) KR101283809B1 (ja)
CN (1) CN102483713A (ja)
WO (1) WO2011016115A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013160763A2 (en) 2012-04-27 2013-10-31 Marvell World Trade Ltd. Memory dump and analysis in a computer system
JP6504803B2 (ja) * 2014-12-09 2019-04-24 三菱電機株式会社 局側通信装置、光通信システム、及びリブート制御方法
CN105279021B (zh) * 2015-10-16 2019-05-07 华为技术有限公司 执行不可屏蔽中断的方法和装置
CN105760276B (zh) * 2016-02-19 2018-05-29 烽火通信科技股份有限公司 提高reboot命令重启可靠性并增加复位日志的方法
US10437498B2 (en) 2016-09-28 2019-10-08 Samsung Electronics Co., Ltd. Electronic device configured to reset storage device non-directly connected to application processor among storage devices serially connected to one another and method of operating the same
JP7027974B2 (ja) * 2018-03-12 2022-03-02 京セラドキュメントソリューションズ株式会社 画像形成装置
CN109710322A (zh) * 2018-12-26 2019-05-03 京信通信系统(中国)有限公司 通信设备复位方法、装置及系统
KR20200114757A (ko) 2019-03-29 2020-10-07 삼성전자주식회사 키리스 리셋을 위한 방법 및 이를 위한 전자 장치
CN112702183A (zh) * 2019-10-22 2021-04-23 中兴通讯股份有限公司 基站软件版本回退控制方法、装置及基站、可读存储介质
CN111143127B (zh) * 2019-12-23 2023-09-26 杭州迪普科技股份有限公司 监管网络设备的方法、装置、存储介质及设备
KR20210147696A (ko) 2020-05-29 2021-12-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI776653B (zh) * 2021-08-24 2022-09-01 緯穎科技服務股份有限公司 用於控制儲存裝置的控制系統以及控制方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01159739A (ja) 1987-12-16 1989-06-22 Fujitsu Ltd エラー処理方式
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
DE4332769C1 (de) * 1993-09-25 1994-12-15 Bosch Gmbh Robert Mikrorechner
AUPM348794A0 (en) * 1994-01-20 1994-02-17 Alcatel Australia Limited Microprocessor fault log
US5533193A (en) * 1994-06-24 1996-07-02 Xerox Corporation Method of saving machine fault information including transferring said information to another memory when an occurrence of predetermined events or faults of a reproduction machine is recognized
US5600785A (en) * 1994-09-09 1997-02-04 Compaq Computer Corporation Computer system with error handling before reset
JP2882459B2 (ja) 1995-02-01 1999-04-12 日本電気株式会社 エラー情報収集試験システム
US5960195A (en) * 1996-06-03 1999-09-28 Samsung Electronics Co., Ltd. Intelligent volatile memory initialization
JPH09330253A (ja) 1996-06-10 1997-12-22 Nec Corp メモリダンプ方法及びそれを適用したメモリダンプシステム
JP2002099357A (ja) * 2000-09-22 2002-04-05 Toshiba Microelectronics Corp 半導体装置
JP4455411B2 (ja) * 2004-08-06 2010-04-21 キヤノン株式会社 情報処理装置及びその情報通知方法、並びに制御プログラム
JP4677214B2 (ja) * 2004-09-06 2011-04-27 富士通株式会社 パニックダンプ採取のためのプログラム、方法、及び機構
CN1277212C (zh) * 2004-09-21 2006-09-27 威盛电子股份有限公司 动态随机存取存储器初始化设定系统及方法
US7506203B2 (en) * 2005-11-10 2009-03-17 International Business Machines Corporation Extracting log and trace buffers in the event of system crashes
CN100416458C (zh) * 2005-12-09 2008-09-03 中兴通讯股份有限公司 一种软硬件协同防止系统死机中断业务的复位方法
US20070168740A1 (en) * 2006-01-10 2007-07-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dumping a process memory space
US7610482B1 (en) * 2006-06-28 2009-10-27 Qlogic, Corporation Method and system for managing boot trace information in host bus adapters
US8127179B2 (en) * 2008-02-29 2012-02-28 Arris Group, Inc. Providing system reset information to service provider
US7900090B2 (en) * 2009-02-13 2011-03-01 Oracle America, Inc. Systems and methods for memory retention across resets
JP5120664B2 (ja) * 2009-07-06 2013-01-16 日本電気株式会社 サーバシステム及びクラッシュダンプ採取方法

Also Published As

Publication number Publication date
JP5418597B2 (ja) 2014-02-19
US20120124420A1 (en) 2012-05-17
WO2011016115A1 (ja) 2011-02-10
US8595552B2 (en) 2013-11-26
CN102483713A (zh) 2012-05-30
KR101283809B1 (ko) 2013-07-08
EP2463779A1 (en) 2012-06-13

Similar Documents

Publication Publication Date Title
JP5418597B2 (ja) リセット方法及び監視装置
CN107003864B (zh) 恢复片上系统设备
US10387261B2 (en) System and method to capture stored data following system crash
JP2002268900A (ja) 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
JP2010092127A (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
JP4677214B2 (ja) パニックダンプ採取のためのプログラム、方法、及び機構
JP2008186173A (ja) 障害監視システム
EP3698251B1 (en) Error recovery in non-volatile storage partitions
US20210124655A1 (en) Dynamic Configurable Microcontroller Recovery
US20180275731A1 (en) Processor reset vectors
JP2013225208A (ja) 情報処理装置、情報処理方法、及びプログラム
JP4893427B2 (ja) マイクロコンピュータシステム
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
CN115576734B (zh) 一种多核异构日志存储方法和系统
JP5378308B2 (ja) メイン・メモリのバックアップ方法およびデータ保護システム
JP5348120B2 (ja) パニックダンプ採取のためのプログラム、方法、機構
JP4535316B2 (ja) 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム
US10776214B1 (en) System protecting data stored on NVDIMM devices after BIOS update
US10768940B2 (en) Restoring a processing unit that has become hung during execution of an option ROM
JP2001109635A (ja) 障害対処方法及びコンピュータシステム読み取り可能な記録媒体
JP2008077378A (ja) 起動診断方式、起動診断方法およびプログラム
JP6385322B2 (ja) 情報処理装置
JPH0816420A (ja) 小型情報処理装置のエラー処理方法
JP2010102441A (ja) 情報処理装置、情報処理プログラム
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131104

LAPS Cancellation because of no payment of annual fees