JP2017072920A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2017072920A
JP2017072920A JP2015198106A JP2015198106A JP2017072920A JP 2017072920 A JP2017072920 A JP 2017072920A JP 2015198106 A JP2015198106 A JP 2015198106A JP 2015198106 A JP2015198106 A JP 2015198106A JP 2017072920 A JP2017072920 A JP 2017072920A
Authority
JP
Japan
Prior art keywords
processor
log information
information
information processing
storage area
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
JP2015198106A
Other languages
English (en)
Other versions
JP6385322B2 (ja
JP2017072920A5 (ja
Inventor
順司 助野
Junji Sukeno
順司 助野
山田 和彦
Kazuhiko Yamada
和彦 山田
敬志 上村
Keiji Uemura
敬志 上村
賢司 南
Kenji Minami
賢司 南
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015198106A priority Critical patent/JP6385322B2/ja
Publication of JP2017072920A publication Critical patent/JP2017072920A/ja
Publication of JP2017072920A5 publication Critical patent/JP2017072920A5/ja
Application granted granted Critical
Publication of JP6385322B2 publication Critical patent/JP6385322B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】障害発生時のログ情報格納のために固定的に装置仕様を肥大化したり圧迫したりすることなく、通常動作で用意された限られたメモリ仕様の中でログ情報を格納できるようにすること。【解決手段】プロセッサ101は、タイマ監視部110からのリセット信号を受信した場合に、揮発性メモリ103の未使用領域に記憶領域を確保し、情報処理装置100の状態を示す情報を含むログ情報の少なくとも一部をその記憶領域に記憶し、ログ情報を記憶したその記憶領域のアドレスをタイマ監視部110に記憶してから、再起動を行い、再起動後に、タイマ監視部110に記憶されたアドレスに基づいて、ログ情報の少なくとも一部を読み出す。【選択図】図1

Description

本発明は、情報処理装置に関し、特に、再起動時にログ情報を保存又はネットワークに送信する情報処理装置に関する。
駅及び空港等の公共施設、ショッピングセンター等の商業施設、並びに、電車、航空機及びバス等の公共交通機関において、広告又は案内情報を表示する情報処理装置が普及している。
このような情報処理装置では、何らかの不具合によりプログラムが暴走する等の原因で、広告又は案内情報の更新が止まる等の障害が発生する場合がある。このような場合には、情報処理装置は、障害発生時の状態を記憶しておくことにより、原因究明を行う。障害発生後一定時間経過後に、自動で再起動するように設計され、広告又は案内情報等のサービスを再開する情報処理装置もある。
再起動では、通常、揮発性メモリのソフトウェアリセットが行われる。よって、揮発性メモリに保持された障害情報等のデータは再起動により壊れてしまうという問題がある。
このような問題に対して、特許文献1には、コンピュータ本体を監視するサービスプロセッサ(SVP:Service Processor)と呼ばれる監視装置プログラムが、監視装置内の異常発生時に、揮発メモリ内のカーネル管理外領域に障害情報を保存し、揮発性メモリをリセットしないソフトウェアリセットを行うことで、障害情報の保存を保障し、再起動後に障害情報を取得する方法が開示されている。
また、特許文献2には、障害発生後、再起動時に、メモリアドレスの割り当てを変更することにより複数の揮発性メモリを切り替え、ダンプ対象となるエラー発生時のメモリ状態を再起動時に上書きしない方法が開示されている。
国際公開第2011−016115号(段落0011、第7−10頁、図3〜図7) 特開2015−90512号公報(段落0007〜0008、図1、図5)
特許文献1に記載の方法では、動的組み込みドライバ及びユーザプロセスが動的にメモリを確保できるカーネル管理空間とは別に、予め障害情報を保存する領域をカーネル管理外領域に確保する必要があり、揮発性メモリの容量を十分に生かすことができないという問題がある。
また、特許文献2に記載の方法では、障害発生後の再起動時、メモリを切り替えるため、複数の揮発性メモリを設ける必要があるという問題がある。
そこで、本発明は、障害発生時のログ情報格納のために固定的に装置仕様、具体的には、メモリ容量を肥大化したり、使用可能なメモリ領域を圧迫したりすることなく、通常動作で用意された限られたメモリ仕様の中でログ情報を格納できるようにすることを目的とする。
本発明の一態様に係る情報処理装置は、プログラムを記憶する不揮発性メモリと、揮発性メモリと、前記不揮発性メモリに記憶されているプログラムを前記揮発性メモリに読み出して実行するプロセッサと、予め定められた期間、前記プロセッサからアクセスがない場合に、前記プロセッサにリセット信号を送信するとともに、前記プロセッサからの情報を記憶するタイマ監視部と、を備える情報処理装置であって、前記プロセッサは、前記タイマ監視部からのリセット信号を受信した場合に、前記揮発性メモリの未使用領域に記憶領域を確保し、前記情報処理装置の状態を示す情報を含むログ情報の少なくとも一部を当該記憶領域に記憶し、当該ログ情報の少なくとも一部を記憶した当該記憶領域のアドレスを前記タイマ監視部に記憶してから、再起動を行い、前記プロセッサは、前記再起動後に、前記タイマ監視部に記憶されたアドレスに基づいて、前記記憶領域から前記ログ情報の少なくとも一部を読み出すことを特徴とする。
本発明の一態様によれば、障害発生時にログ情報を格納するための領域を揮発性メモリの領域に動的確保することで、障害発生時のログ情報格納のために固定的に装置仕様、具体的には、メモリ容量を肥大化したり、使用可能なメモリ領域を圧迫したりすることなく、通常動作で用意された限られたメモリ仕様の中でログ情報を格納することができる。
実施の形態1〜3に係る情報処理装置の構成を概略的に示すブロック図である。 実施の形態1におけるタイマ監視部の構成を概略的に示すブロック図である。 実施の形態1におけるプロセッサのメモリマップを説明する概略図である。 実施の形態1において、起動後、通常動作に入るまでの動作を示すフローチャートである。 実施の形態1におけるプロセッサの動作監視処理を示すフローチャートである。 実施の形態1において、WDT割り込み(WDTエラー)が発生したときの処理を示すフローチャートである。 (A)及び(B)は、実施の形態1において、WDTエラー発生時、ログ情報を保存した場合のメモリマップの例を示す概略図である。 実施の形態1において、揮発性メモリがセルフリフレッシュモードを有する場合において、WDT割り込みが発生したときの処理を示すフローチャートである。 実施の形態1において、揮発性メモリがセルフリフレッシュモードを有する場合において、起動後、通常動作に入るまでの動作を示すフローチャートである。 実施の形態2におけるプロセッサのメモリマップを説明する概略図である。 実施の形態2において、WDT割り込みが発生したときの処理を示すフローチャートである。 実施の形態3におけるプロセッサのメモリマップを説明する概略図である。 実施の形態3において、WDT割り込みが発生したときの処理を示すフローチャートである。
実施の形態1.
図1は、実施の形態1に係る情報処理装置100の構成を概略的に示すブロック図である。
情報処理装置100は、プロセッサ101と、不揮発性メモリ102と、揮発性メモリ103と、接続インターフェース(以下、接続I/Fという)104と、通信インターフェース(以下、通信I/Fという)106と、タイマ監視部110とを備える。接続I/F104には、外部記憶媒体105が接続されている。
プロセッサ101は、情報処理装置100の動作を制御する。例えば、プロセッサ101は、不揮発性メモリ102に保存された各種プログラムを揮発性メモリ103に読み出して実行することにより、情報処理装置100の動作を制御する。
不揮発性メモリ102は、情報処理装置100の動作に必要なデータ及びプログラムを記憶する。例えば、不揮発性メモリ102は、NOR型のフラッシュメモリによって構成され、プロセッサ101が使用するデータ及びプログラムを記憶する。なお、不揮発性メモリ102は、NOR型のフラッシュメモリに限るものではなく、マスクROM(Read Only Memory)でもよいし、SDカード等でもよい。
揮発性メモリ103は、例えば、DDR3(Double Data Rate 3)メモリによって構成され、プロセッサ101が不揮発性メモリ102から読み出した各種プログラムを展開したり、あるいは実行したりする際のワーク領域として機能する。なお、揮発性メモリ103は、DDR3メモリに限るものではなく、DDR2メモリ,DDRメモリ、SDRAM(Synchronous Dynamic Random Access Memory)でもよい。
接続I/F104は、外部記憶媒体105を接続するためのインターフェースである。
外部記憶媒体105は、可搬性の記憶媒体である。例えば、外部記憶媒体105は、SDカード、CF(Compact Flash)カード、CFastカード等の取り外し可能な不揮発性カード型記憶媒体である。
通信I/F106は、外部の装置である外部サーバ130と通信するためのインターフェースである。例えば、通信I/F106は、Ethernet通信又はRS485通信等のインターフェースである。
タイマ監視部110は、プロセッサ101の動作を監視する。例えば、タイマ監視部110は、プロセッサ101の動作を監視し、プロセッサ101から予め定められた期間アクセスがない場合に、割り込み信号をプロセッサ101に送信し、その後、待機期間経過後にリセット信号をプロセッサ101に送信する。
また、タイマ監視部110は、プロセッサ101からの情報を記憶する。
ここで、プロセッサ101は、タイマ監視部110からのリセット信号を受信した場合に、揮発性メモリ103の未使用領域に記憶領域(第1の記憶領域)を確保し、情報処理装置100の状態を示す情報を含むログ情報の少なくとも一部をこの記憶領域に記憶し、ログ情報の少なくとも一部を記憶したこの記憶領域のアドレスをタイマ監視部110に記憶してから、再起動を行う。そして、プロセッサ101は、再起動後に、タイマ監視部110に記憶されたアドレスに基づいて、その記憶領域からログ情報の少なくとも一部を読み出す。
図2は、実施の形態1におけるタイマ監視部110の構成を概略的に示すブロック図である。
タイマ監視部110は、WDT(Watchdog Timer)からなるWDT回路111と、割り込みを発生させる割り込み発生回路112と、リセットを発生させるリセット発生回路113と、障害発生時の装置の状態を記憶する一時記憶回路114と、タイマ監視部110の各内部回路を制御する制御回路115とを備える。
WDT回路111は、プロセッサ101から予め定められた期間にアクセスがあるか否かを判断する。例えば、WDT回路111は、プロセッサ101から一定周期毎にWDTカウンタがクリアされるかどうかを監視することにより、プロセッサ101の動作を監視する。WDT回路111は、WDTタイムアップまでにクリアが行われない(WDTエラーと称す)場合には、割り込み発生回路112を経由してプロセッサ101に割り込み(WDT割り込み信号)を発行し、一定時間後にリセット発生回路113からリセット(WDTリセット信号)を発行する。
割り込み発生回路112は、WDT回路111からWDTタイムアップ信号を受けて、プロセッサ101にWDT割り込み信号を発行する。
リセット発生回路113は、WDT回路111からWDTタイムアップ信号を受けて、一定時間後(待機期間経過後)に、プロセッサ101にWDTリセット信号を発行する。
一時記憶回路114は、プロセッサ101が割り込み発生回路112からのWDT割り込み信号を受け、その後、リセット発生回路113から出力されるWDTリセット信号によるリセットからの再起動後まで、書き込まれた装置情報(ログ情報の書き込みアドレス)を保存する。なお、その装置情報は、再起動後も明示的に消去されなければ、そのまま保持される。
制御回路115は、プロセッサ101からの命令を受けて、WDT回路111、割り込み発生回路112、リセット発生回路113及び一時記憶回路114を制御する。
実施の形態1におけるタイマ監視部110は、PLD(Programmable Logic Device)で実現される。PLDの一部領域、具体的には、一時記憶回路114及びWDTエラーステータスのレジスタは、フリップフロップ(F/F)で構成されている。これらは、電源投入時のパワーオンリセット(ハードウェアリセット)ではF/Fをクリアされるが、プロセッサ101から発行されたソフトウェアリセット又はWDT発生後のWDTリセットではクリアされない。例えば、F/Fのリセット端子(又はセット端子)には、ハードウェアリセット信号のみが接続され、ソフトウェアリセット信号は接続されない。
一般的に、ソフトウェアリセットは、プロセッサ101を初期化することになり、その他のプロセッサ101の周辺回路を初期化するかどうかは、プロセッサ101上で動くソフトウェアに依存する。実施の形態1では、揮発性メモリ103及びタイマ監視部110は、WDTエラー発生後の再起動時には初期化されない。
図3は、プロセッサ101のメモリマップを説明する概略図である。なお、図3に示されているメモリマップは一例であり、これに限るものではない。
不揮発性メモリ102には、ブートプログラム及びカーネルが格納される。
タイマ監視部110は、上述のように、PLDで実現される。なお、タイマ監視部110は、PLDに限定されるものではなく、小規模なマイコン等であってもよい。
揮発性メモリ103は、カーネル管理領域及びカーネル管理外領域に分けられる。カーネル管理領域は、論理アドレス空間及び仮想アドレス空間に分けられる。
論理アドレス空間は、図示されていないが、テキスト領域(テキストセグメント又はテキストセクション)、データ領域(データセグメント又はデータセクション)及びBSS領域(BSSセグメント又はBSSセクション)を含む。
テキスト領域は、データ領域機械語プログラム又はそのプログラムが使用する読み取り専用のデータを格納する。
データ領域は、プログラムで使用される初期値を持つデータを格納する。
BSS領域は、「0」で初期化されるデータを格納する。
仮想アドレス空間は、図示されていないが、ヒープ領域、mmap領域及びスタック領域を含む。
ヒープ領域は、プロセッサ101がプログラムの実行中に必要に応じてメモリを割り当てる領域である。
mmap領域は、ファイルの内容の一部を仮想アドレス空間の一部に対応させてユーザプロセスがメモリの読み書きでファイルの読み書きを可能とする領域である。
スタック領域は、実行中のプログラムがサブルーチンの読み出しを行う際のリターンアドレス又は呼び出されたサブルーチン等が一時的に使用する領域である。
カーネル管理外領域は、カーネルからはI/O(Input/Output)空間に見える領域である。
図4は、起動後、通常動作に入るまでの動作を示すフローチャートである。
プロセッサ101は、タイマ監視部110のWDT回路111からWDTエラーのステータスを読み出し確認する(S10)。WDTエラーのステータスは、電源投入後に発生したWDTタイムアップの発生回数である。WDTエラーのステータスは、電源切断により0クリアされる。
プロセッサ101は、読み出されたWDTエラーのステータスにおいて、WDTエラーの発生回数が「0」よりも多いか否かを判断する(S11)。WDTエラーの発生回数が「0」である場合(S11でNo)には、処理はステップS12に進む。WDTエラーの発生回数が「0」よりも多い場合(S11でYes)には、処理はステップS13に進む。
ステップS12では、電源投入後、一度もWDTエラーが発生していない状態(初めての動作)であるので、プロセッサ101は、揮発性メモリ103を初期化する。そして処理はステップS13に進む。
ステップS13では、プロセッサ101は、カーネル起動を行う。WDTエラーの発生回数が1以上の場合にはWDTエラー発生による再起動であるので、プロセッサ101は、揮発性メモリ103の初期化をせずに、そのまま、ステップS13でカーネル起動を行う。
次に、プロセッサ101は、時刻サーバ(不図示)との間で現在時刻を問い合わせて、時刻合わせを行う(S14)。
そして、プロセッサ101は、再度、WDT回路111からWDTエラーのステータスを読み出し、WDTエラーの発生回数を確認する(S15)。
WDTエラー発生回数が1回以上の場合(S15でYes)には、処理はステップS16に進む。一方、WDTエラー発生回数が0の場合(S15でNo)、言い換えると、電源投入後WDTエラーがまだ発生していない状態である場合には、プロセッサ101は、そのまま通常動作に移行する。
ステップS16では、プロセッサ101は、揮発性メモリ103からログ情報を取得する。
そして、プロセッサ101は、ログ情報を保存する(S17)。例えば、プロセッサ101は、接続I/F104を介して、外部記憶媒体105にログ情報を保存し、又は、通信I/F106を介して外部サーバ130にログ情報を送信する。なお、これらの両方が行われてもよい。
そして、プロセッサ101は、通常動作に移行する。
図5は、プロセッサ101の動作監視処理を示すフローチャートである。
プロセッサ101の監視プログラムは、プロセッサ101内のタイマ(不図示)割り込みを受けて、定期的にWDT回路111のWDTカウンタをクリアする(S20)。例えば、プロセッサ101は、WDTカウンタをクリアするための命令をWDT回路111に送信する。
障害発生により監視プログラムがWDTクリアをできなくなった場合、タイマ監視部110内のWDT回路111が、WDTタイムアップ信号(WDTエラー信号)を制御回路115に伝える。
制御回路115は、WDT回路111から入力されるWDTタイムアップ信号を受けて、割り込み発生回路112からWDT割り込み信号をプロセッサ101に出力する。
プロセッサ101は、タイマ監視部110からWDT割り込み信号を受ける。プロセッサ101は、必要に応じて、タイマ監視部110のリセット発生回路113から出力されるWDTリセット信号発生までの待機時間を再設定するとともに、ログ情報の保存を行う。具体的には、リセット発生回路113は、WDTタイムアップ後(WDT割り込み信号発生後)、初期値として、一定時間後、例えば1秒後に、WDTリセット信号が発生するように構成されている。プロセッサ101は、WDT割り込み信号を受けた時点で、保存するログ情報の大きさに応じて、WDTリセット信号発生までの待機時間を再設定、又は、一旦、WDTリセット信号の発生を止めたうえで、ログ情報保存後にWDTリセット信号を発生させる。初期値として、一定時間を設定しておくのは、プロセッサ101がログ情報の保存ができないような障害を受けている場合に、ログ情報の保存ができないまでも、再起動を行うことにより、広告や案内情報等の本来のサービス提供に復帰できるようにするためである。
図6は、WDT割り込み(WDTエラー)が発生したときの処理を示すフローチャートである。
WDT割り込みが発生すると、プロセッサ101は、揮発性メモリ103にログ情報を記憶するための記憶領域である第1のログ情報格納領域を確保する(S30)。
次に、プロセッサ101は、WDTエラー発生時の時刻(WDTエラー発生時刻)を取得する(S31)。
次に、プロセッサ101は、情報処理装置100の各部から、必要な情報を取得して、WDTエラー発生時のログ情報を生成する(S32)。ログ情報は、WDTエラー発生時刻、WDTエラー発生回数の他、WDTエラー発生時の情報処理装置100の状態(直前のプロセス情報、オペレーティングシステム(Operating System、OS)情報、ハードウェア情報、タスクトレース情報)等である。WDTエラー発生回数は、電源投入後に発生したWDTエラーの回数であり、電源切断により0クリアされる。そのため、WDTエラー発生回数により、電源投入後1回目で発生したエラーなのか、再起動後に発生したエラーなのか、判別することができる。
次に、プロセッサ101は、ステップS32で生成されたログ情報を、ステップS30で確保された、揮発性メモリ103の第1のログ情報格納領域に保存する(S33)。
次に、プロセッサ101は、ログ情報格納アドレスをタイマ監視部110の一時記憶回路114に保存する(S34)。
最後に、プロセッサ101は、必要に応じて、明示的にソフトウェアリセットを発行する(S35)。
なお、図6に示されている処理の順番は、これに限るものではなく、例えば、ステップS31の時刻取得と、ステップS32のログ情報の生成が逆になってもよい。また、ステップS34で、あらためて揮発性メモリ103にログ情報を保存するのではなく、プロセッサ101は、ステップS31で、取得された時刻情報を揮発性メモリ103に保存してもよく、また、ステップS32で、生成されたログ情報を揮発性メモリ103に保存してもよい。さらに、ステップS31の時刻取得及びステップS32のログ情報生成後に、プロセッサ101は、あらためてログ情報を格納する第1のログ情報格納領域を確保し、ステップS34で保存してもよい。
ここで、カーネル及びハードウェアが持っている情報のうち故障解析等に有効なログ情報は、揮発性メモリ103又は情報処理装置100のハードウェアから取得される。なお、ログ情報として収集される情報には、プログラムが逐次動作する中で、WDTエラー発生時、既に揮発性メモリ103に出力されている情報もあれば、WDTエラー発生時にあらためて命令を実行して出力させる情報もある。
図7(A)及び(B)は、WDTエラー発生時、ログ情報を保存した場合のメモリマップの例を示す概略図である。
図7(A)に示されている例では、第1のログ情報格納領域が「0x6800_0000〜0x6FFF_FFFF」であり、第1のログ情報格納領域の先頭アドレスは、「0x6800_0000」、保存サイズは「0x0800_0000」である。
図7(B)に示されている例では、第1のログ情報格納領域が、「0x4400_0000〜0x4BFF_FFFF」及び「0x6C00_0000〜0x6FFF_FFFF」の2箇所に分かれており、第1のログ情報格納領域の先頭アドレスは、それぞれ「0x4400_0000」「0x6C00_0000」、保存サイズは、それぞれ「0x0800_0000」「0x0400_0000」である。
プロセッサ101は、図6のステップS30でログ情報を格納する領域をまとまった大きな領域を確保できない場合、第1のログ情報格納領域として、複数の領域を確保してもよい。その場合には、プロセッサ101は、一時記憶回路114に、複数のログ情報格納アドレスを保存する。また、プロセッサ101は、一時記憶回路114に、例えば、第1のログ情報格納領域の先頭アドレス及び保存サイズを保存してもよいし、又は、先頭アドレスのみを保存し、揮発性メモリ103の保存先の先頭に保存サイズを保存してもよい。
ユーザ操作を伴い、ユーザ操作履歴によって再起動後の使用リソースが変化する装置と違い、組み込み向けの情報処理装置の場合、ソフトウェア更新ではない限り、再起動により初期状態に戻る。揮発性メモリ103の仮想アドレス空間のうち、例えば、起動直後に確保される領域は、図7(A)及び(B)に示されているように、第1のシステム初期確保領域及び第2のシステム初期確保領域のように、装置により限定されるが、マッピング領域はこれに限るものではない。そのため、プロセッサ101は、再起動後、揮発性メモリ103の初期化を行わず、リソースを多数使用する通常動作に入る前に読み出す限り、再起動前に保存したログ情報を取り出すことが可能である。
また、揮発性メモリ103であるDRAM(Dynamic Random Access Memory)は、コンデンサに電荷を蓄えることによって「0」又は「1」の状態を保持するが、電荷は時間とともに減少するため、一定時間毎に電荷を注入するためのリフレッシュ動作が必要である。障害発生時に確保した第1のログ情報格納領域のデータは、再起動期間中もリフレッシュ動作を行うか、あるいは、電荷が放電するまでにリフレッシュ動作が再開できれば、データを消失することなく、保持することができる。
DDR3には、セルフリフレッシュモードがあり、電源供給状態にあれば、外部クロックを止めた状態でもデータの保持が可能である。このため、プロセッサ101は、揮発性メモリ103がセルフリフレッシュモードを有する場合には、タイマ監視部110から割り込み信号を受信し、ログ情報を保存した後に、揮発性メモリ103を省電力状態にすることができる。
図8は、揮発性メモリ103がセルフリフレッシュモードを有する場合において、WDT割り込みが発生したときの処理を示すフローチャートである。
図8に示されている処理において、図6と同様の処理については、図6と同様の符号が付されている。
図8のステップS30〜S34の処理は、図6のステップS30〜S34の処理と同様である。但し、図8のステップS34の処理の後には、処理はステップS40に進む。
ステップS40では、プロセッサ101は、リセット発生回路113からのリセット発生までの時間をタイマ設定する。
そして、プロセッサ101は、揮発性メモリ103をセルフリフレッシュモードに移行させる(S41)。
図8においては、ステップS41でセルフリフレッシュモードに移行させることにより、ワーク領域として使用している揮発性メモリ103が使用できなくなり、プロセッサ101が動作しなくなる。しかしながら、ステップS40でリセット発生回路113に設定した時間後に、タイマ機能により自動でリセットが発行され、再起動することができる。
図9は、揮発性メモリ103がセルフリフレッシュモードを有する場合において、起動後、通常動作に入るまでの動作を示すフローチャートである。
図9に示されている処理において、図4と同様の処理については、図4と同様の符号が付されている。
図9のステップS10〜S17の処理は、図4のステップS10〜S17の処理と同様である。但し、図9のステップS11でWDTエラーの発生回数が1以上の場合(S11でNo)には、処理はステップS50に進む。
ステップS50では、プロセッサ101は、揮発性メモリ103をセルフリフレッシュモードから復帰させる。そして、処理はステップS13に進む。
以上により、プロセッサ101は、揮発性メモリ103に保存したログ情報を再起動の間、確実に保持することができる。
情報処理装置100が、広告又は案内情報等のサービスを提供する場合、WDTエラー発生時、いち早く、再起動して、装置を復旧及びサービスを再開させる必要がある。
一方で、WDTエラーの発生は、障害の発生を示すものとなっているため、障害の内容又は大きさによっては、取得されたログ情報を、ネットワークを介してサーバに送信する等、大きなリソースを必要とするような複雑な操作を行うことはできない。障害発生時のログ情報は、電源が遮断された後も内容が保持される不揮発性メモリ102(フラッシュメモリ)に保存されることが多い。しかしながら、不揮発性メモリ102には、書き込み回数に制限があり、また、書き込みには消去が必要となるため高速書き込みができず、さらに、DDR等の揮発性メモリに対して容量が小さいため、十分なログ情報を書き込むことができない等の欠点がある。
実施の形態1によれば、情報処理装置100は、障害発生時には再起動を行うことを前提に、大容量が故に必要なメモリ容量を確保しやすく、高速書き込みができる揮発性メモリ103にログ情報を一時的に記憶する。そして、情報処理装置100は、再起動後、リソースが回復した状態で、ログ情報を読み出し、より大容量の外部記憶媒体105に記憶、又は、ネットワーク上の外部サーバ130に送信することができる。
揮発性メモリ103への保存では、情報処理装置100は、障害発生時に初めて第1のログ情報格納領域を動的に確保する。情報処理装置100は、動的に確保された第1のログ情報格納領域のログ情報格納アドレスを一時記憶回路114に保存する。そして、情報処理装置100は、再起動時に揮発性メモリ103を初期化せずに、起動することにより、揮発性メモリ103のデータを保持することができる。さらに、情報処理装置100は、再起動後に、一時記憶回路114に保存されたログ情報格納アドレスを参照することにより、揮発性メモリ103内のログ情報格納アドレスからログ情報を読み出すことができる。このため、情報処理装置100は、第1のログ情報格納領域を動的に確保することができるため、実運用上で必要な最小限のメモリ構成で、ログ記憶に対応することができる。
タイマ監視部110のリセット発生回路113は、保存するログ情報の大きさにあわせて、WDT割り込み発生からリセット発行までの待機期間を、無期限を含め可変に設定することができる。このため、情報処理装置100は、ログ情報保存中にリセットが発生したり、不必要にリセットまでの時間を引き延ばしたりすることがない。また、情報処理装置100は、障害により待機期間を設定できない場合にも、初期設定により、一定時間後に自動でリセットが発生し、再起動することができる。
情報処理装置100では、DDR3にはセルフリフレッシュモードがあるため、電源供給が維持できれば、保存したログ情報を確実に保持することが可能である。
情報処理装置100では、WDTエラー発生時、ログ情報として、WDTエラー発生時刻を保存することにより、WDTエラーがいつ発生したのかがわかり、障害解析に有効である。
情報処理装置100では、WDTエラー発生時、ログ情報として、WDTエラー発生回数を保存することにより、電源起動後1回目のWDTエラーなのか、WDTエラー発生による再起動後に発生したWDTエラーなのか区別できるため、障害解析に有効である。
情報処理装置100では、再起動によりリソースが回復するため、第1のログ情報格納領域に格納したログ情報を読み出し、USBメモリ、CF又はCFast等の外部記憶媒体105に記憶することが可能である。これにより、ログ情報を情報処理装置100から取り出すことにより障害解析が容易になる。
情報処理装置100は、再起動によりリソースが回復するため、第1のログ情報格納領域に格納したログ情報を読み出し、Ethernetネットワーク等の通信インターフェースを経由して外部サーバ130に送信することが可能である。これにより、ログ情報を情報処理装置100から取り出すことにより障害解析が容易になる。
実施の形態2.
次に、実施の形態2について説明する。
図1に示されているように、実施の形態2に係る情報処理装置200は、プロセッサ201と、不揮発性メモリ102と、揮発性メモリ203と、接続I/F104と、通信I/F106と、タイマ監視部110とを備える。接続I/F104には、外部記憶媒体105が接続されている。
実施の形態2に係る情報処理装置200は、プロセッサ201のメモリマップが異なることを除いて、実施の形態1に係る情報処理装置100と同様に構成されている。
図10は、実施の形態2におけるプロセッサ201のメモリマップを説明する概略図である。なお、図10に示されているメモリマップは一例であり、これに限るものではない。
実施の形態1との違いは、揮発性メモリ203のカーネル管理外領域に、ログ情報を記憶するための第2の記憶領域である第2のログ情報格納領域が設けられている点である。カーネル管理外領域は、メモリを動的に確保することができないため、第2のログ情報格納領域は、固定アドレス及び固定サイズとなる。プロセッサ201には、第2のログ情報格納領域のアドレスが予め設定されているものとする。
図11は、実施の形態2において、WDT割り込みが発生したときの処理を示すフローチャートである。
図11に示されている処理において、図6と同様の処理については、図6と同様の符号が付されている。
図11のステップS30〜S32、ステップS34及びステップS35の処理は、図6のステップステップS30〜S32、ステップS34及びステップS35の処理と同様である。但し、図11のステップS32の処理の後には、処理はステップS60に進む。
ステップS60では、プロセッサ201は、ステップS32で生成されたログ情報の内、少なくとも一部を、カーネル管理外領域(第2のログ情報格納領域)に保存する。
次に、プロセッサ201は、ステップS32で生成されたログ情報の残りを、ステップS30で確保された、揮発性メモリ203の第1のログ情報格納領域に保存する(S61)。そして、ステップS61の後には、処理はステップS34に進む。
なお、順番はこれに限るものではなく、ステップS61の揮発性メモリ203への保存の後に、ステップS60の処理が行われてもよい。
カーネル管理外領域には、WDTエラー発生時刻及びWDTエラー発生回数が保存される。また、カーネル管理外領域には、WDTエラー発生時の状態の内、プロセス情報、OS情報又はハードウェア情報等の基本的情報、サイズが確定している情報、再起動後に図4のステップS17で保存するほどの必要性を有しない情報、又は、通常動作に移行後もしばらくそのままに残しておく情報等が保存される。揮発性メモリ203には、トレース情報等大容量の情報が保存される。なお、どの領域にどの情報を保存するかはこの限りではない。
実施の形態2では、情報処理装置200は、カーネル管理外領域も併用することにより、通常動作後も、保存したログ情報を参照することができる。
実施の形態3.
次に、本発明に係る実施の形態3について説明する。
図1に示されているように、実施の形態3に係る情報処理装置300は、プロセッサ301と、不揮発性メモリ302と、揮発性メモリ103と、接続I/F104と、通信I/F106と、タイマ監視部110とを備える。接続I/F104には、外部記憶媒体105が接続されている。
実施の形態3に係る情報処理装置300は、プロセッサ301のメモリマップが異なることを除いて、実施の形態1に係る情報処理装置100と同様に構成されている。
図12は、実施の形態3におけるプロセッサ301のメモリマップを説明する概略図である。なお、図12に示されているメモリマップは一例であり、これに限るものではない。
不揮発性メモリ302は、ブートプログラム及びカーネルの他、ログ情報を記憶するための第3の記憶領域である第3のログ情報格納領域にログ情報を格納する。これらは、それぞれ、パーティションに分割して管理及び格納され、一部のパーティションの空きが枯渇しても、システム全体に影響が及ばないよう構成されている。
図13は、実施の形態3において、WDT割り込みが発生したときの処理を示すフローチャートである。
図13に示されている処理において、図6と同様の処理については、図6と同様の符号が付されている。
図13のステップS30〜S32、ステップS34及びステップS35の処理は、図6のステップステップS30〜S32、ステップS34及びステップS35の処理と同様である。但し、図13のステップS32の処理の後には、処理はステップS70に進む。
ステップS70では、プロセッサ301は、ステップS32で生成されたログ情報の内、少なくとも一部を、不揮発性メモリ302(第3のログ情報格納領域)に保存する。
次に、プロセッサ301は、ステップS32で生成されたログ情報の残りを、ステップS30で確保された、揮発性メモリ103の第1のログ情報格納領域に保存する(S71)。そして、ステップS71の処理の後には、処理はステップS34に進む。
なお、順番はこれに限るものではなく、ステップS71の揮発性メモリ103への保存の後に、ステップS70の処理が行われてもよい。
不揮発性メモリ302には、WDTエラー発生時刻及びWDTエラー発生回数が保存される。また、不揮発性メモリ302には、WDTエラー発生時の状態の内、プロセス情報、OS情報又はハードウェア情報等の基本的情報、及び、比較的容量が小さく、重要かつ保存的価値の高い情報の少なくとも一方が保存される。揮発性メモリ103には、トレース情報等大容量の情報が保存される。なお、どの領域にどの情報を保存するかはこの限りではない。
実施の形態3では、情報処理装置300は、不揮発性メモリ302も併用することにより、再起動までの時間は伸びるものの、障害により、次回再起動できない場合にも最低限のログ情報を取り出し残すことができる。
実施の形態は、実施の形態2に示されているように、揮発性メモリ203のカーネル管理領域及びカーネル管理外領域の併用、又は、実施の形態3に示されているように、揮発性メモリ103のカーネル管理領域及び不揮発性メモリ302の併用に限られない。例えば、揮発性メモリ103のカーネル管理領域及びカーネル管理外領域、並びに、不揮発性メモリ102を組み合わせることにより、より目的に応じた最適なログ情報の記憶が可能となる。
100,200,300 情報処理装置、 101,201,301 プロセッサ、 102,302 不揮発性メモリ、 103,203 揮発性メモリ、 104 接続I/F、 105 外部記憶媒体、 106 通信I/F、 110 タイマ監視部、 111 WDT回路、 112 割り込み発生回路、 113 リセット発生回路、 114 一時記憶回路、 115 制御回路、 130 外部サーバ。

Claims (14)

  1. プログラムを記憶する不揮発性メモリと、
    揮発性メモリと、
    前記不揮発性メモリに記憶されているプログラムを前記揮発性メモリに読み出して実行するプロセッサと、
    予め定められた期間、前記プロセッサからアクセスがない場合に、前記プロセッサにリセット信号を送信するとともに、前記プロセッサからの情報を記憶するタイマ監視部と、を備える情報処理装置であって、
    前記プロセッサは、前記タイマ監視部からのリセット信号を受信した場合に、前記揮発性メモリの未使用領域に記憶領域を確保し、前記情報処理装置の状態を示す情報を含むログ情報の少なくとも一部を当該記憶領域に記憶し、当該ログ情報の少なくとも一部を記憶した当該記憶領域のアドレスを前記タイマ監視部に記憶してから、再起動を行い、
    前記プロセッサは、前記再起動後に、前記タイマ監視部に記憶されたアドレスに基づいて、前記記憶領域から前記ログ情報の少なくとも一部を読み出すこと
    を特徴とする情報処理装置。
  2. 前記プロセッサは、前記記憶領域に前記ログ情報の全てを記憶し、前記再起動後に、前記タイマ監視部に記憶されたアドレスに基づいて、前記記憶領域から前記ログ情報の全てを読み出すこと
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記プロセッサは、前記揮発性メモリのカーネル管理外領域に、前記ログ情報の一部を記憶するとともに、前記記憶領域に、前記ログ情報の残りを記憶し、前記再起動後に、前記カーネル管理外領域から前記ログ情報の一部を読み出すとともに、前記タイマ監視部に記憶されたアドレスに基づいて、前記記憶領域から前記ログ情報の残りを読み出すこと
    を特徴とする請求項1に記載の情報処理装置。
  4. 前記プロセッサは、前記不揮発性メモリに、前記ログ情報の一部を記憶するとともに、前記記憶領域に、前記ログ情報の残りを記憶し、前記再起動後に、前記不揮発性メモリから前記ログ情報の一部を読み出すとともに、前記タイマ監視部に記憶されたアドレスに基づいて、前記記憶領域から前記ログ情報の残りを読み出すこと
    を特徴とする請求項1に記載の情報処理装置。
  5. 前記タイマ監視部は、
    前記予め定められた期間に前記プロセッサからアクセスがあるか否かを判断するWDT回路と、
    前記WDT回路が前記予め定められた期間に前記プロセッサからアクセスがなかったと判断してから、待機期間経過後に、前記リセット信号を前記プロセッサに送信するリセット発生回路と、
    前記アドレスを記憶する一時記憶回路と、を備えること
    を特徴とする請求項1から4の何れか一項に記載の情報処理装置。
  6. 前記タイマ監視部は、前記WDT回路が前記予め定められた期間に前記プロセッサからアクセスがなかったと判断した場合に、前記プロセッサに割り込み信号を送信する割り込み発生回路をさらに備え、
    前記プロセッサは、前記割り込み信号を受信した場合に、前記揮発性メモリの未使用領域に前記記憶領域を確保して、前記ログ情報の少なくとも一部を前記記憶領域に記憶すること
    を特徴とする請求項5に記載の情報処理装置。
  7. 前記リセット発生回路には、前記待機期間の初期値が予め設定されており、
    前記プロセッサは、前記割り込み信号を受信した後、かつ、前記リセット信号を受信する前に、前記待機期間の初期値を変更すること
    を特徴とする請求項6に記載の情報処理装置。
  8. 前記揮発性メモリは、セルフリフレッシュモードを有し、
    前記プロセッサは、前記割り込み信号を受信した後、かつ、前記リセット信号を受信する前に、前記揮発性メモリをセルフリフレッシュモードにすること
    を特徴とする請求項6又は7に記載の情報処理装置。
  9. 前記プロセッサは、前記割り込み信号を受信した後に、前記揮発性メモリを省電力状態にすること
    を特徴とする請求項8に記載の情報処理装置。
  10. 前記揮発性メモリは、DDR3メモリであること
    を特徴とする請求項8又は9に記載の情報処理装置。
  11. 前記ログ情報は、前記WDT回路が前記予め定められた期間に前記プロセッサからアクセスがなかったと判断した時刻であるエラー発生時刻を含むこと
    を特徴とする請求項5から10の何れか一項に記載の情報処理装置。
  12. 前記ログ情報は、前記情報処理装置の電源が入れられてから、前記WDT回路が前記予め定められた期間に前記プロセッサからアクセスがなかったと判断した回数であるエラー発生回数を含むこと
    を特徴とする請求項5から11の何れか一項に記載の情報処理装置。
  13. 外部記憶媒体を接続するための接続インターフェースをさらに備え、
    前記プロセッサは、前記記憶領域から少なくとも一部を読み出したログ情報を、前記接続インターフェースに接続された前記外部記憶媒体に記憶すること
    を特徴とする請求項1から12の何れか一項に記載の情報処理装置。
  14. 通信するための通信インターフェースをさらに備え、
    前記プロセッサは、前記記憶領域から少なくとも一部を読み出したログ情報を、前記通信インターフェースを介して、外部サーバに送信すること
    を特徴とする請求項1から13の何れか一項に記載の情報処理装置。
JP2015198106A 2015-10-06 2015-10-06 情報処理装置 Active JP6385322B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015198106A JP6385322B2 (ja) 2015-10-06 2015-10-06 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015198106A JP6385322B2 (ja) 2015-10-06 2015-10-06 情報処理装置

Publications (3)

Publication Number Publication Date
JP2017072920A true JP2017072920A (ja) 2017-04-13
JP2017072920A5 JP2017072920A5 (ja) 2017-11-02
JP6385322B2 JP6385322B2 (ja) 2018-09-05

Family

ID=58537695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015198106A Active JP6385322B2 (ja) 2015-10-06 2015-10-06 情報処理装置

Country Status (1)

Country Link
JP (1) JP6385322B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11910465B2 (en) * 2019-03-28 2024-02-20 Kyocera Corporation Inactive MDT log with inactive duration

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850557A (ja) * 1994-01-20 1996-02-20 Alcatel Australia Ltd マイクロプロセッサ故障記録装置
JP2006338445A (ja) * 2005-06-03 2006-12-14 Matsushita Electric Ind Co Ltd 異常情報格納装置
JP2012168852A (ja) * 2011-02-16 2012-09-06 Fujitsu Ltd ログ保存装置およびログ保存プログラム
JP2015032103A (ja) * 2013-08-01 2015-02-16 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850557A (ja) * 1994-01-20 1996-02-20 Alcatel Australia Ltd マイクロプロセッサ故障記録装置
JP2006338445A (ja) * 2005-06-03 2006-12-14 Matsushita Electric Ind Co Ltd 異常情報格納装置
JP2012168852A (ja) * 2011-02-16 2012-09-06 Fujitsu Ltd ログ保存装置およびログ保存プログラム
JP2015032103A (ja) * 2013-08-01 2015-02-16 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
JP6385322B2 (ja) 2018-09-05

Similar Documents

Publication Publication Date Title
US8468389B2 (en) Firmware recovery system and method of baseboard management controller of computing device
US8671241B2 (en) Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state
US10049004B2 (en) Electronic system with memory data protection mechanism and method of operation thereof
EP2966571B1 (en) Method for migrating memory data and computer therefor
US20030188220A1 (en) Method and apparatus for backing up and restoring data from nonvolatile memory
US8595552B2 (en) Reset method and monitoring apparatus
CN107797642B (zh) 一种备电方法及装置
US8275949B2 (en) System support storage and computer system
US11422860B2 (en) Optimizing save operations for OS/hypervisor-based persistent memory
JP2004295885A (ja) メイン・メモリの動的再割当てが可能なコンピュータ・システム
JP2007172591A (ja) マルチノード・システムにおいてアクティブなプロセッサの数を動的に変更する方法及び構成
TW201525869A (zh) 用於雙作業系統記憶體切換的系統及方法
CN103365696A (zh) Bios镜像文件获取方法及装置
US20180095693A1 (en) Information processing apparatus, information processing system, and method for controlling information processing apparatus
CN110780811B (zh) 数据保护方法、装置及存储介质
CN103336736A (zh) 系统日志获取方法和装置
CN109614153B (zh) 多核芯片及系统
US20170249247A1 (en) Memory system
CN113076142B (zh) Tcon参数初始化方法及显示设备
US11226755B1 (en) Core dump in a storage device
JP6385322B2 (ja) 情報処理装置
US10936045B2 (en) Update memory management information to boot an electronic device from a reduced power mode
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180807

R150 Certificate of patent or registration of utility model

Ref document number: 6385322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250