JP2008217636A - データ処理装置及びプログラム起動方法 - Google Patents

データ処理装置及びプログラム起動方法 Download PDF

Info

Publication number
JP2008217636A
JP2008217636A JP2007056719A JP2007056719A JP2008217636A JP 2008217636 A JP2008217636 A JP 2008217636A JP 2007056719 A JP2007056719 A JP 2007056719A JP 2007056719 A JP2007056719 A JP 2007056719A JP 2008217636 A JP2008217636 A JP 2008217636A
Authority
JP
Japan
Prior art keywords
program
data processing
error
memory
stored
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
JP2007056719A
Other languages
English (en)
Other versions
JP5095241B2 (ja
Inventor
Masato Tamura
真人 田村
Masahiro Fukuda
正博 福田
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2007056719A priority Critical patent/JP5095241B2/ja
Publication of JP2008217636A publication Critical patent/JP2008217636A/ja
Application granted granted Critical
Publication of JP5095241B2 publication Critical patent/JP5095241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】プログラムの信頼性を維持しつつ起動を短時間で行える「データ処理装置及びプログラム起動方法」を提供する。
【解決手段】今回のデータ処理装置の起動が、エラー発生による起動であるか、前回のデータ処理装置の稼働停止後にフラッシュメモリ9のアップデートが行われたかを調べ(1.チェック)、いずれでもない場合には、フラッシュメモリ9からプログラムをSDRAM6にロードし(2.ロード)、SDRAM6にロードしたプログラムの実行を開始する。一方、他の場合には、フラッシュメモリ9のプログラムのサムチェックを行い(11.チェック)、サムチェックに成功したならば、フラッシュメモリ9からプログラムをSDRAM6にロードし(12.ロード)、その実行を開始する(13.プログラム実行開始)。サムチェックに失敗した場合には所定の異常処理を起動する。
【選択図】図2

Description

本発明は、データ処理装置においてデータエラーをチェクする技術に関するものである。
データ処理装置においてデータエラーをチェクする技術としては、データ処理装置の起動時に、フラッシュメモリに格納したプログラムの実行に先立って、当該プログラムのサムチェックを実行し、エラーが検出された場合には、プログラムを実行を停止し、フラッシュメモリ上の当該プログラムを書き換えるための処理を起動する技術が知られている(たとえば、特許文献1)。
特開2001-73426号公報
前記データ処理装置の起動時に、フラッシュメモリに格納したプログラムの実行に先立って、当該プログラムのサムチェックを実行する技術によれば、プログラムのデータサイズが大きいと、データ処理装置の起動完了までに長時間を要してしまい、ユーザの不便を招いてしまうことになる。一方で、プログラムのサムチェックを一切行わないこととすれば、データ処理装置の動作の信頼性が著しく低下してしまう。
そこで、本発明は、データ処理装置の動作の信頼性を維持しつつ、データ処理装置の起動を短時間で完了することを課題とする。
前記課題達成のために、本発明は、プログラムを実行するデータ処理装置に、前記データ処理装置の起動時に、予め定めた例外事象の発生の有無を検出する例外事象検出手段と、起動処理手段とを設け、前記起動処理手段において、前記データ処理装置の起動時に前記例外事象検出手段が前記例外事象の発生を検出した場合には、前記プログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記プログラムを起動し、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動し、前記データ処理装置の起動時に前記例外事象検出手段が前記例外事象の発生を検出しなかった場合には、前記プログラムの誤り検出を行うことなく、当該プログラムを起動するようにしたものである。
なお、前記例外事象は、当該データ処理装置の前回の稼働停止時のエラー発生と、前記プログラムの前回の起動後に行われた当該プログラムの更新とのうちの少なくとも一方を含むものである。ただし、例外事象としては、プログラムの誤り発生と相関が認められる事象などの、その他の事象を用いるようにしてもよい。
このようなデータ処理装置は、例外事象が発生していない通常時には、データ処理装置の起動時にプログラムの誤り検出を行うことなく直ちにプログラムを起動するので、データ処理装置の起動は短時間で完了する。一方、プログラムの誤り発生の蓋然性がある例外事象の発生時には、プログラムの誤り検出を行って誤りが発生していないことを確認した上で、当該プログラムを起動するのでプログラムの一定の信頼性を保つことができる。
また、前記課題達成のために、本発明は、プログラムを実行するデータ処理装置に、前記プログラムを記憶した不揮発性の記憶装置と、前記記憶装置からロードした前記プログラムを格納した、バックアップ電源による電源供給が行われている揮発性のメモリと、前記データ処理装置の起動時に、前記記憶装置に記憶されているプログラムと同じプログラムの前記メモリへの格納の有無を推定する推定手段と、起動処理手段とを設け、前記起動処理手段において、前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定した場合には、前記記憶装置に格納されたプログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記記憶装置に記憶されているプログラムの前記メモリへのロードと起動とを行い、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動し、前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定しなかった場合には、前記メモリに格納されたプログラムの起動を行うようにしたものである。ここで、前記推定手段は、当該データ処理装置の前回の稼働停止時のエラーの発生の有無と、前記記憶装置に記憶されているプログラムの、前記プログラムの前回の起動後の更新の有無と、データ処理装置の今回の起動がバックアップ電源による前記メモリへの電源の供給停止の発生後の最初の起動であるか否かとの、少なくとも一つに基づいて、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないか否かを推定する。ただし、前記記憶装置に記憶されているプログラムとメモリに格納されているプログラムの不一致の発生と相関ある、その他の事象に基づいて、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないか否かを推定するようにしてもよい。
このようなデータ処理装置によれば、SDRAMなどの揮発性の高速なメモリに記憶装置から予めロードしたプログラムを用いて、データ処理装置の起動時にプログラムの誤り検出を行うことなく高速にプログラムを起動することができる。一方で、メモリのプログラムの損傷や、記憶装置とメモリとのプログラムの不一致が疑われる状況が発生した場合に、記憶装置のプログラムの誤り検出やプログラムのメモリへのロードを行うので、プログラムの一定の信頼性を保つことができる。
また、前記課題達成のために、本発明は、プログラムを実行するデータ処理装置を、前記プログラムを記憶した記憶装置と、前記記憶装置からコピーした前記プログラムを格納した不揮発性のメモリと、データ処理装置の起動時に前記メモリに記憶されているプログラムを起動する起動処理手段と、前記プログラムの実行中に、前記メモリに格納されているプログラムの誤り検出を実行すると共に、当該プログラムの誤りが検出された場合に、前記記憶装置に記憶されているプログラムを用いた、前記メモリに格納されているプログラムの更新を実行するプログラム更新手段とを含めて構成したものである。
このようなデータ処理装置は、データ処理装置の起動時にプログラムの誤り検出を行うことなく直ちにプログラムを起動するので、データ処理装置の起動を短時間で完了することができる。一方、プログラムを起動したならば、当該プログラムの実行と並行して、プログラムの誤り検出や、誤り検出時のプログラムの更新を行うのでプログラムの信頼性を保つことができる。
ここで、このようなデータ処理装置は、前記プログラム更新手段において、前記プログラムの誤り検出と、前記プログラムの更新とを、前記プログラムの実行と並行的に、当該プログラムの未実行期間に実行するように構成することが好ましい。このようにすることにより、プログラム実行時にバックグランド処理として、プログラムの実行を妨げない形態で、プログラムの誤り検出や更新を行うことができる。
以上のように、本発明によれば、データ処理装置の動作の信頼性を維持しつつ、データ処理装置の起動を短時間で完了することができる。
以下、本発明の実施形態を説明する。
まず、第1の実施形態について説明する。
図1に、本実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置は、CPU1、CPU1に高速バス2で接続したメモリコントローラ3と入出力コントローラ4とグラフィックス処理部5、入出力コントローラ4に低速バス7で接続したHDD8とフラッシュメモリ9と入力装置10を備えている。また、メモリコントローラ3によってリード/ライトや高速バス2との間の入出力が制御されるSDRAM6と、グラフィックス処理部5による表示出力が行われる表示装置11とを備えている。ここで、入出力コントローラ4は、低速バス7と高速バス2との間の入出力を中継し、HDD8とフラッシュメモリ9と入力装置10は、低速バス7、入出力コントローラ4、高速バス2を介してCPU1との間の入出力を行う。
次に、図2aに、このようなデータ処理装置におけるプログラムの配置とデータ処理装置の起動の流れを示す。
図示するように、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。また、フラッシュメモリ9には、システムログと、アップデートフラグも格納される。ここで、システムログには、データ処理装置の稼働時に発生したエラーや、当該エラー等によって起動された例外処理のログが格納される。なお、この例外処理としては、タイムアウトによるデータ処理装置の再起動処理などがある。また、アップデートフラグは、HDD8からフラッシュメモリ9にプログラムとチェックサムをコピーした際にセットされる。
このような構成において、CPU1は、データ処理装置が起動されると、IPL処理を行う。ここで、このIPL処理は、CPU1による所定のIPLプログラムの実行によって実現されるものであり、このIPLプログラムは、フラッシュメモリ9またはHDD8の所定アドレス領域に格納されており、データ処理装置の起動時に、CPU1がSDRAM6にロードして実行する。または、IPLプログラムを格納したROMを別途設けるようにしてもよい。
図3、このIPL処理の手順を示す。
図示するように、このIPL処理では、まず、フラッシュメモリ9のシステムログを読み出し(ステップ302)、今回のデータ処理装置の起動が、エラー発生による起動であるかどうかを調べる(ステップ304、図2aの「1.チェック」)。ここで、エラー発生による起動には、エラー発生直後の起動やエラー発生に起因する例外処理による再起動などが該当する。
そして、エラーエラー発生による起動でなければ(ステップ304)、さらに、フラッシュメモリ9のアップデートフラグを読み出し(ステップ306)、アップデートフラグがセットされているかどうか、すなわち、フラッシュメモリ9に格納されているプログラムとチェックサムのHDD8からのコピーによるアップデートが発生しているかどうかを調べる(ステップ308、図2aの「1.チェック」)。
そして、アップデートフラグがセットされていなければ、フラッシュメモリ9からプログラムとチェックサムをSDRAM6にロードする(ステップ310、図2aの「2.ロード」)。
そして、フラッシュメモリ9のアップデートフラグがセットされている場合には(ステップ312)、これをリセットした上で(ステップ314)、SDRAM6にロードしたプログラムの実行を開始し(ステップ316、図2aの「3.プログラム実行開始」)、IPL処理を終える。
一方、今回のデータ処理装置の起動が、エラー発生による起動であるか(ステップ304)、アップデートフラグがセットされている場合には(ステップ308)、フラッシュメモリ9のプログラムのサムチェックを、フラッシュメモリ9のチェックサムを用いて行う(ステップ318、図2bの「11.チェック」)。なお、このサムチェックは、プログラムのサムの算出と、算出したサムとチェックサムとの一致性を調べるものである。
そして、サムチェックに成功したならば(ステップ320)、ステップ310に進んで、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行い(図2bの「12.ロード」)、フラッシュメモリ9のアップデートフラグがセットされている場合には(ステップ312)、これをリセットした上で(ステップ314)、SDRAM6にロードしたプログラムの実行を開始し(ステップ316、図2bの「13.プログラム実行開始」)、IPL処理を終える。
一方、もし、フラッシュメモリ9のプログラムのサムチェックに失敗した場合には(ステップ320)、所定の異常処理を起動し(ステップ322)、IPL処理を終える。
この異常処理では、たとえば、HDD8からフラッシュメモリ9へのプログラムとチェックサムのコピー及びフラッシュメモリ9のアップデートフラグのセットと、データ処理装置の再起動などを行う。
ところで、以上のIPL処理では、プログラムのサムチェックを、フラッシュメモリ9のプログラムに対して行ったが、これは、図2cに示すように、まず、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行った(図2cの「21.ロード」)上で、SDRAM6にロードしたプログラムのサムチェックを、SDRAM6にロードしたチェックサムを用いて行う(図2cの「22.チェック」)ようにしてよい。なお、この場合には、サムチェックに成功したならば、フラッシュメモリ9のアップデートフラグがセットされている場合には、これをリセットした上で、SDRAM6にロードしたプログラムの実行を開始し(図2cの「23.プログラム実行開始」)、IPL処理を終えるようにする。
以上、本発明の第1実施形態について説明した。
なお、以上の第1実施形態においては、システムログと、アップデートフラグは、HDD8に格納するようにしてもよい。
このように、本第1実施形態によれば、通常時には、データ処理装置の起動時にサムチェックによるプログラムの誤り検出を行うことなく直ちにプログラムを起動するので、データ処理装置の起動は短時間で完了する。一方、プログラムのアップデートやデータ処理装置のエラー発生などの誤り発生の蓋然性がある事象が発生したときには、プログラムの誤り検出を行って誤りが発生していないことを確認した上で、当該プログラムを起動するのでプログラムの一定の信頼性を保つことができる。
以下、本発明の第2の実施形態について説明する。
本第2実施形態は、図1に示したデータ処理装置に、図4aに示すように、SDRAM6にデータ処理装置の稼働停止時も電源供給を行うバックアップ電源61を設け、SDRAM6が不揮発性メモリとして機能する場合についてのものである。但し、このバックアップ電源61は、データ処理装置の待ち受け電源を利用するものであるか、データ処理装置の電源投入時に充電されるものであり、データ処理装置自体が電源から切断されると、バックアップ電源61からSDRAM6に電源を供給できなくなり、SDRAM6の記憶内容が損傷する可能性が生じるものである。
図示するように、本第2実施形態においても、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。また、フラッシュメモリ9には、システムログと、アップデートフラグも格納される。また、本実施形態においては、SDRAM6にも、プログラムとプログラムのチェックサムが常駐する。ここで、このSDRAM6に常駐するプログラムとチェックサムは、プログラムの初回の実行時にフラッシュメモリ9からSDRAM6にロードしたものである。
図5に、本第2実施形態に係るIPL処理の手順を示す。
図示するように、本第2実施形態においてIPL処理は、まず、SDRAM6に、プログラムとチェックサムが有効に格納されているかどうかを調べる(ステップ502)。ここで、このステップ502では、データ処理装置を最後に電源に接続した後、まだ一度もSDRAM6にプログラムとチェックサムをロードしていない場合には、プログラムとチェックサムが有効に格納されていないものと判定する。この判定は、より具体的には、たとえば、SDRAM6にプログラムとチェックサムをロードしたときにセットするフラグを、データ処理装置の電源接続時にハードウエア的にリセットされるように設け、当該フラグがリセットされていれば、データ処理装置を最後に電源に接続した後、まだ一度もSDRAM6にプログラムとチェックサムをロードしていないと判定することにより行うことができる。
そして、SDRAM6に、プログラムとチェックサムが有効に格納されている場合には(ステップ502)、さらに、フラッシュメモリ9のアップデートフラグを取得し(ステップ504)、アップデートフラグがセットされているかどうかを調べる(ステップ506、図4aの「1.チェック」)。
また、フラッシュメモリ9のアップデートフラグがセットされていない場合には(ステップ506)、さらに、今回のデータ処理装置の起動が、エラー発生による起動であるかどうかを(ステップ520、522、図4aの「1.チェック」)を調べる。
そして、今回のデータ処理装置の起動が、エラー発生による起動なければ(ステップ522)、SDRAM6のプログラムの実行を開始し(ステップ518、図4aの「2.プログラム実行開始」)、IPL処理を終える。
一方、今回のデータ処理装置の起動が、エラー発生による起動であれば(ステップ522)、図4bに示すように、SDRAM6のプログラムのサムチェックを、SDRAM6のチェックサムを用いて行い(ステップ524、図4bの「11.チェック」)、サムチェックに成功したならば(ステップ526)、SDRAM6のプログラムの実行を開始し(ステップ518、図4bの「12.プログラム実行開始」)、IPL処理を終える。一方、サムチェックに失敗した場合には(ステップ526)、ステップ508に進む。
また、ステップ502でSDRAM6に、プログラムとチェックサムが有効に格納されていないと判定された場合や、ステップ506で、アップデートフラグがセットされていると判定された場合にも、ステップ508に進む。
さて、ステップ508に進んだならば、先に図2bに示したように、フラッシュメモリ9のプログラムのサムチェックを、フラッシュメモリ9のチェックサムを用いて行い(図2bの「11.チェック」)、サムチェックに成功したならば(ステップ510)、ステップ512に進んで、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行い(図2bの「12.ロード」)、ステップ514に進む。
次に、ステップ514に進んだならば、フラッシュメモリ9のアップデートフラグがセットされている場合には(ステップ514)、これをリセットした上で(ステップ516)、SDRAM6にロードしたプログラムの実行を開始し(ステップ518、図2bの「13.プログラム実行開始」)、IPL処理を終える。
一方、もし、フラッシュメモリ9のプログラムのサムチェックに失敗した場合には(ステップ510)、所定の異常処理を起動し(ステップ528)、IPL処理を終える。
この異常処理では、前述のように、たとえば、HDD8からフラッシュメモリ9へのプログラムとチェックサムのコピー及びフラッシュメモリ9のアップデートフラグのセットと、データ処理装置の再起動などを行う。
以上、IPL処理について説明した。
なお、以上のIPL処理において、ステップ508-512の処理は、図2cに示すように、まず、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行った(図2cの「21.ロード」)上で、SDRAM6にロードしたプログラムのサムチェックを、SDRAM6にロードしたチェックサムを用いて行い(図2cの「22.チェック」)、サムチェックが成功したならばステップ514に進み、サムチェクが失敗した場合にはステップ538に進んで、所定の異常処理を起動する処理に置き換えてもよい。
以上、本発明の第2の実施形態について説明した。
なお、本第2実施形態においても、システムログと、アップデートフラグは、HDD8に格納するようにしてもよい。
以上のように、本第2実施形態によれば、通常時は、高速なSDRAM6にフラッシュメモリ9から予めロードしたプログラムを用いて、データ処理装置の起動時にプログラムのサムチェックを行うことなく高速にプログラムを起動することができる。一方で、プログラムのアップデートや、データ処理装置のエラーの発生や電源断による、SDRAM6に格納したプログラムの損傷やフラッシュメモリ9とSDRAM6とのプログラムの不一致が疑われる状況が発生した場合には、プログラムの誤り検出やプログラムのSDRAM6へのロードを行うので、プログラムの一定の信頼性を保つことができる。
以下、本発明の第3の実施形態について説明する。
本第3実施形態は、図1に示したデータ処理装置において、データ処理装置の起動時には、プログラムのサムチェックを一切行わないようにしたものである。
さて、図6aに示すように、本第3実施形態においても、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。
このような構成において、データ処理装置は、図6bに示すように、IPL処理において、フラッシュメモリ9からSDRAM6へのプログラムとチェックサムをロードし(図6a、bの「1.ロード」)、SDRAM6にロードしたプログラムの実行を開始し(図6a、bの「2.プログラム実行開始」)、IPL処理を終える。
一方、IPL処理によって実行を開始したプログラムは、図6bに示すよう複数のタスクを起動し、各タスクは各タスク毎に予め定められた優先度に従った優先制御によって時分割に実行される。ここで、プログラム実行開始直後に起動されるタスクには、チェックタスク処理を行うチェックタスクが含まれ、このチェックタスクには比較的低い優先度が予め割り当てられている。したがって、図6bに示すように、このチェックタスクが行うチェックタスク処理は、他のより優先度の高いタスクの処理を妨げないように、当該より優先度の高いタスクが行われていない空き時間に実行される。
ここで、図7に、このチェックタスクが行うチェックタスク処理の手順を示す。
図示するように、このチェックタスク処理では、フラッシュメモリ9に格納されているプログラムのサムを算出し(ステップ702)、算出したサムが、HDD8に格納されているチェックサムの値と一致するかどうかを調べる(ステップ704)ことにより、フラッシュメモリ9に格納されているプログラムのサムチェックを行う(図6a、bの「3.チェック」)。そして、サムチェックが成功したならば、ステップ702からの処理に戻ってサムチェックを繰り返し行い、サムチェックが失敗したならば、コピータスクを起動する(ステップ706)。ただし、このサムチェックは、フラッシュメモリ9に格納されているプログラムとチェックサムを用いて行うようにしてもよい。
さて、コピータスクを起動したならば(ステップ706)、次に、コピータスクからのコピー完了報告を待って(ステップ708)、ステップ702からの処理に戻ってフラッシュメモリ9に格納されているプログラムのサムチェックを繰り返し行う。
ここで、ステップ706で起動されたコピータスクは、HDD8に格納されたプログラムとチェックサムとを、フラッシュメモリ9にコピーする処理を行い(図6a、bの「4.コピー」)、コピーが完了したならば、コピー完了報告をチェックタスクに発行し処理を終了する。ここで、図6bに示すように、このコピータスクも、当該コピータスクに予め設定された優先度に従って、他のより優先度の高いタスクの処理を妨げないように、当該より優先度の高いタスクが行われていない空き時間に実行される。
以上、本発明の第3実施形態について説明した。
このような第3実施形態によれば、データ処理装置の起動時にプログラムのサムチェックを行うことなく直ちにプログラムを起動するので、データ処理装置の起動を短時間で完了することができる。一方、プログラムを起動したならば、当該プログラムの実行と並行して、プログラムのサムチェックや、サムチェック失敗時のプログラムの更新を行うのでプログラムの信頼性を保つことができる。また、プログラム実行時に低優先度のタスクとしてプログラムのサムチェックや更新を行うので、これらの処理によって、プログラムの実行をできるだけ妨げないようにすることができる。
なお、本第3実施形態は、SDRAM6が、バックアップ電源61によってデータ処理装置の可動停止時にも電源が供給され、SDRAM6が不揮発性メモリとして機能するものである場合には、次のように修正して適用するようにする。
すなわち、フラッシュメモリ9に再ロードフラグを設け、IPL処理では、再ロードフラグがセットされている場合にのみ、フラッシュメモリ9からSDRAM6へのプログラムとチェックサムのロードと、SDRAM6にロードしたプログラムの実行の開始を行い、再ロードフラグがセットされていない場合には、フラッシュメモリ9からSDRAM6へのロードは行わずに、既にSDRAM6にロードされているプログラムの実行を開始する。
そして、チェックタスクでは、SDRAM6に格納されているプログラムのサムチェックを、SDRAM6またはフラッシュメモリ9またはHDD8に格納されているチェックサムを用いて行い、サムチェックが失敗した場合には、さらに、フラッシュメモリ格納されているプログラムのサムチェックを、フラッシュメモリ9またはHDD8に格納されているチェックサムを用いて行い、フラッシュメモリ9のプログラムのサムチェックが成功した場合には、再ロードフラグをセットする。一方、フラッシュメモリ9のプログラムのサムチェックも失敗した場合には、HDD8からフラッシュメモリ9へのプログラムとチェックサムのコピーを行った上で、再ロードフラグをセットする。なお、再ロードフラグは、HDD8上に設けるようにしてもよい。
以上、本発明の実施形態について説明した。
本発明の実施形態に係るデータ処理装置の構成を示すブロック図である。 本発明の第1実施形態に係るデータ処理装置のIPL処理の動作を示す図である。 本発明の第1実施形態に係るデータ処理装置のIPL処理の手順を示すフローチャートである。 本発明の第2実施形態に係るデータ処理装置のIPL処理の動作を示す図である。 本発明の第2実施形態に係るデータ処理装置のIPL処理の手順を示すフローチャートである。 本発明の第3実施形態に係るデータ処理装置のIPL処理の動作を示す図である。 本発明の第3実施形態に係るデータ処理装置のIPL処理の手順を示すフローチャートである。
符号の説明
1…CPU、2…高速バス、3…メモリコントローラ、4…入出力コントローラ、5…グラフィックス処理部、6…SDRAM、7…低速バス、8…HDD、9…フラッシュメモリ、11…表示装置、61…バックアップ電源。

Claims (7)

  1. プログラムを実行するデータ処理装置であって、
    前記データ処理装置の起動時に、予め定めた例外事象の発生の有無を検出する例外事象検出手段と、
    起動処理手段とを有し、
    前記起動処理手段は、
    前記データ処理装置の起動時に前記例外事象検出手段が前記例外事象の発生を検出した場合には、前記プログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記プログラムを起動し、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動し、
    前記データ処理装置の起動時に前記例外事象検出手段が前記例外事象の発生を検出しなかった場合には、前記プログラムの誤り検出を行うことなく、当該プログラムを起動し、
    前記例外事象は、当該データ処理装置の前回の稼働停止時のエラー発生と、前記プログラムの前回の起動後に行われた当該プログラムの更新とのうちの少なくとも一方を含むことを特徴とするデータ処理装置。
  2. プログラムを実行するデータ処理装置であって、
    前記プログラムを記憶した不揮発性の記憶装置と、
    前記記憶装置からロードした前記プログラムを格納した、バックアップ電源による電源供給が行われている揮発性のメモリと、
    前記データ処理装置の起動時に、前記記憶装置に記憶されているプログラムと同じプログラムの前記メモリへの格納の有無を推定する推定手段と、
    起動処理手段とを有し、
    前記起動処理手段は、
    前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定した場合には、前記記憶装置に格納されたプログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記記憶装置に記憶されているプログラムの前記メモリへのロードと起動とを行い、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動し、
    前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定しなかった場合には、前記メモリに格納されたプログラムの起動を行い、
    前記推定手段は、当該データ処理装置の前回の稼働停止時のエラーの発生の有無と、前記記憶装置に記憶されているプログラムの、前記プログラムの前回の起動後の更新の有無と、データ処理装置の今回の起動がバックアップ電源による前記メモリへの電源の供給停止の発生後の最初の起動であるか否かとの、少なくとも一つに基づいて、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないか否かを推定することを特徴とするデータ処理装置。
  3. プログラムを実行するデータ処理装置であって、
    前記プログラムを記憶した記憶装置と、
    前記記憶装置からコピーした前記プログラムを格納した不揮発性のメモリと、
    データ処理装置の起動時に前記メモリに記憶されているプログラムを起動する起動処理手段と、
    前記プログラムの実行中に、前記メモリに格納されているプログラムの誤り検出を実行すると共に、当該プログラムの誤りが検出された場合に、前記記憶装置に記憶されているプログラムを用いた、前記メモリに格納されているプログラムの更新を実行するプログラム更新手段とを有することを特徴とするデータ処理装置。
  4. 請求項3記載のデータ処理装置であって、
    前記プログラム更新手段は、前記プログラムの誤り検出と、前記プログラムの更新とを、前記プログラムの実行と並行的に、当該プログラムの未実行期間に実行することを特徴とするデータ処理装置。
  5. プログラムを実行するデータ処理装置において、当該データ処理装置の起動時に前記プログラムを起動するプログラム起動方法であって、
    前記データ処理装置の起動時に、予め定めた例外事象の発生の有無を検出するステップと、
    前記例外事象の発生を検出した場合に、前記プログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記プログラムを起動し、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動するステップと、
    前記例外事象の発生が検出されなかった場合に、前記プログラムの誤り検出を行うことなく、当該プログラムを起動するステップとを有することを特徴とするデータ処理装置におけるプログラム起動方法。
  6. プログラムを記憶した不揮発性の記憶装置と、前記記憶装置からロードした前記プログラムを格納した揮発性の、バックアップ電源による電源供給が行われているメモリとを備え、前記メモリにロードされたプログラムを実行するデータ処理装置において、当該データ処理装置の起動時に前記プログラムを起動するプログラム起動方法であって、
    前記データ処理装置の起動時に、前記記憶装置に記憶されているプログラムと同じプログラムの前記メモリへの格納の有無を推定するステップと、
    前前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定された場合には、前記記憶装置に格納されたプログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記記憶装置に記憶されているプログラムの前記メモリへのロードと起動とを行い、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動するステップと、
    前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定されなかった場合に、前記メモリに格納されたプログラムを起動するステップとを有することを特徴とするデータ処理装置におけるプログラム起動方法。
  7. 前記プログラムを記憶した記憶装置と、前記記憶装置からコピーした前記プログラムを格納した不揮発性のメモリとを備え、前記メモリに格納されたプログラムを実行するデータ処理装置において、当該データ処理装置の起動時に前記プログラムを起動するプログラム起動方法であって、
    データ処理装置の起動時に前記メモリに記憶されているプログラムを起動するステップと、
    前記プログラムの実行中に、前記メモリに格納されているプログラムの誤り検出を行うと共に、当該プログラムの誤りが検出された場合に、前記記憶装置に記憶されているプログラムを用いて、前記メモリに格納されているプログラムを更新するステップとを有することを特徴とするデータ処理装置におけるプログラム起動方法。
JP2007056719A 2007-03-07 2007-03-07 データ処理装置及びプログラム起動方法 Active JP5095241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007056719A JP5095241B2 (ja) 2007-03-07 2007-03-07 データ処理装置及びプログラム起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007056719A JP5095241B2 (ja) 2007-03-07 2007-03-07 データ処理装置及びプログラム起動方法

Publications (2)

Publication Number Publication Date
JP2008217636A true JP2008217636A (ja) 2008-09-18
JP5095241B2 JP5095241B2 (ja) 2012-12-12

Family

ID=39837573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007056719A Active JP5095241B2 (ja) 2007-03-07 2007-03-07 データ処理装置及びプログラム起動方法

Country Status (1)

Country Link
JP (1) JP5095241B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103023A1 (ja) * 2012-01-05 2013-07-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JP2013156745A (ja) * 2012-01-27 2013-08-15 Toyota Motor Corp 情報処理装置及びプログラム実行方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02297237A (ja) * 1989-05-11 1990-12-07 Toshiba Corp 電子計算機システムの自動再起動装置
JPH06223236A (ja) * 1993-01-27 1994-08-12 Sharp Corp 情報処理装置
JPH08147855A (ja) * 1994-11-25 1996-06-07 Hitachi Electron Eng Co Ltd ディスクライブラリ装置の起動方法
JP2000293376A (ja) * 1999-04-05 2000-10-20 Nec Corp ブートプログラムの切替回路及び切替方法
JP2001117781A (ja) * 1999-10-21 2001-04-27 Matsushita Electric Ind Co Ltd プログラム更新方法および通信端末装置
JP2006209744A (ja) * 2004-12-27 2006-08-10 Toshiba Corp カードおよびホスト機器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02297237A (ja) * 1989-05-11 1990-12-07 Toshiba Corp 電子計算機システムの自動再起動装置
JPH06223236A (ja) * 1993-01-27 1994-08-12 Sharp Corp 情報処理装置
JPH08147855A (ja) * 1994-11-25 1996-06-07 Hitachi Electron Eng Co Ltd ディスクライブラリ装置の起動方法
JP2000293376A (ja) * 1999-04-05 2000-10-20 Nec Corp ブートプログラムの切替回路及び切替方法
JP2001117781A (ja) * 1999-10-21 2001-04-27 Matsushita Electric Ind Co Ltd プログラム更新方法および通信端末装置
JP2006209744A (ja) * 2004-12-27 2006-08-10 Toshiba Corp カードおよびホスト機器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103023A1 (ja) * 2012-01-05 2013-07-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JP5575338B2 (ja) * 2012-01-05 2014-08-20 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
CN104025047A (zh) * 2012-01-05 2014-09-03 三菱电机株式会社 信息处理装置、信息处理方法以及计算机程序
JPWO2013103023A1 (ja) * 2012-01-05 2015-05-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
US9471435B2 (en) 2012-01-05 2016-10-18 Mitsubishi Electric Corporation Information processing device, information processing method, and computer program
CN104025047B (zh) * 2012-01-05 2017-06-06 三菱电机株式会社 信息处理装置、信息处理方法以及计算机程序
JP2013156745A (ja) * 2012-01-27 2013-08-15 Toyota Motor Corp 情報処理装置及びプログラム実行方法

Also Published As

Publication number Publication date
JP5095241B2 (ja) 2012-12-12

Similar Documents

Publication Publication Date Title
JP5575338B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US20090217257A1 (en) Apparatus and Method for Firmware Update
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
US10146626B2 (en) Detecting and handling an expansion card fault during system initialization
WO2016062084A1 (zh) 掉电处理方法、装置及电子设备
US8954801B2 (en) Microcomputer and method of operation thereof
JP5183542B2 (ja) 計算機システム及び設定管理方法
JP2012058879A (ja) オペレーティングシステム起動管理装置
JP5981906B2 (ja) 画像形成装置
JP3886539B2 (ja) オペレーティングシステムをロードする方法
CN115237647A (zh) 固件异常修复方法、装置、电子设备及计算机存储介质
JP5095241B2 (ja) データ処理装置及びプログラム起動方法
JP2009271737A (ja) 情報処理装置
TWI676889B (zh) 開機啟動資料有效性技術
WO2022037014A1 (zh) 一种arm服务器的启动修复方法及相关装置
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN114356658A (zh) 固件升级异常的处理方法、计算机设备以及可读存储介质
JP2008003940A (ja) 保護制御装置、保護制御方法及び保護制御プログラム
JP4708088B2 (ja) 障害復旧方法およびマイクロコンピュータ
JP2014099097A5 (ja)
JP4635993B2 (ja) 起動診断方式、起動診断方法およびプログラム
JP2014099097A (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP5872982B2 (ja) 車両用制御装置
JP6011687B1 (ja) 記憶装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120820

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120827

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120919

R150 Certificate of patent or registration of utility model

Ref document number: 5095241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3