JP5095241B2 - データ処理装置及びプログラム起動方法 - Google Patents
データ処理装置及びプログラム起動方法 Download PDFInfo
- Publication number
- JP5095241B2 JP5095241B2 JP2007056719A JP2007056719A JP5095241B2 JP 5095241 B2 JP5095241 B2 JP 5095241B2 JP 2007056719 A JP2007056719 A JP 2007056719A JP 2007056719 A JP2007056719 A JP 2007056719A JP 5095241 B2 JP5095241 B2 JP 5095241B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- data processing
- memory
- error
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 53
- 238000001514 detection method Methods 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 16
- 230000005856 abnormality Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
まず、第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との間の入出力を行う。
図示するように、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。また、フラッシュメモリ9には、システムログと、アップデートフラグも格納される。ここで、システムログには、データ処理装置の稼働時に発生したエラーや、当該エラー等によって起動された例外処理のログが格納される。なお、この例外処理としては、タイムアウトによるデータ処理装置の再起動処理などがある。また、アップデートフラグは、HDD8からフラッシュメモリ9にプログラムとチェックサムをコピーした際にセットされる。
図示するように、このIPL処理では、まず、フラッシュメモリ9のシステムログを読み出し(ステップ302)、今回のデータ処理装置の起動が、エラー発生による起動であるかどうかを調べる(ステップ304、図2aの「1.チェック」)。ここで、エラー発生による起動には、エラー発生直後の起動やエラー発生に起因する例外処理による再起動などが該当する。
そして、フラッシュメモリ9のアップデートフラグがセットされている場合には(ステップ312)、これをリセットした上で(ステップ314)、SDRAM6にロードしたプログラムの実行を開始し(ステップ316、図2aの「3.プログラム実行開始」)、IPL処理を終える。
そして、サムチェックに成功したならば(ステップ320)、ステップ310に進んで、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行い(図2bの「12.ロード」)、フラッシュメモリ9のアップデートフラグがセットされている場合には(ステップ312)、これをリセットした上で(ステップ314)、SDRAM6にロードしたプログラムの実行を開始し(ステップ316、図2bの「13.プログラム実行開始」)、IPL処理を終える。
この異常処理では、たとえば、HDD8からフラッシュメモリ9へのプログラムとチェックサムのコピー及びフラッシュメモリ9のアップデートフラグのセットと、データ処理装置の再起動などを行う。
ところで、以上のIPL処理では、プログラムのサムチェックを、フラッシュメモリ9のプログラムに対して行ったが、これは、図2cに示すように、まず、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行った(図2cの「21.ロード」)上で、SDRAM6にロードしたプログラムのサムチェックを、SDRAM6にロードしたチェックサムを用いて行う(図2cの「22.チェック」)ようにしてよい。なお、この場合には、サムチェックに成功したならば、フラッシュメモリ9のアップデートフラグがセットされている場合には、これをリセットした上で、SDRAM6にロードしたプログラムの実行を開始し(図2cの「23.プログラム実行開始」)、IPL処理を終えるようにする。
なお、以上の第1実施形態においては、システムログと、アップデートフラグは、HDD8に格納するようにしてもよい。
このように、本第1実施形態によれば、通常時には、データ処理装置の起動時にサムチェックによるプログラムの誤り検出を行うことなく直ちにプログラムを起動するので、データ処理装置の起動は短時間で完了する。一方、プログラムのアップデートやデータ処理装置のエラー発生などの誤り発生の蓋然性がある事象が発生したときには、プログラムの誤り検出を行って誤りが発生していないことを確認した上で、当該プログラムを起動するのでプログラムの一定の信頼性を保つことができる。
本第2実施形態は、図1に示したデータ処理装置に、図4aに示すように、SDRAM6にデータ処理装置の稼働停止時も電源供給を行うバックアップ電源61を設け、SDRAM6が不揮発性メモリとして機能する場合についてのものである。但し、このバックアップ電源61は、データ処理装置の待ち受け電源を利用するものであるか、データ処理装置の電源投入時に充電されるものであり、データ処理装置自体が電源から切断されると、バックアップ電源61からSDRAM6に電源を供給できなくなり、SDRAM6の記憶内容が損傷する可能性が生じるものである。
図示するように、本第2実施形態においても、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。また、フラッシュメモリ9には、システムログと、アップデートフラグも格納される。また、本実施形態においては、SDRAM6にも、プログラムとプログラムのチェックサムが常駐する。ここで、このSDRAM6に常駐するプログラムとチェックサムは、プログラムの初回の実行時にフラッシュメモリ9からSDRAM6にロードしたものである。
図示するように、本第2実施形態においてIPL処理は、まず、SDRAM6に、プログラムとチェックサムが有効に格納されているかどうかを調べる(ステップ502)。ここで、このステップ502では、データ処理装置を最後に電源に接続した後、まだ一度もSDRAM6にプログラムとチェックサムをロードしていない場合には、プログラムとチェックサムが有効に格納されていないものと判定する。この判定は、より具体的には、たとえば、SDRAM6にプログラムとチェックサムをロードしたときにセットするフラグを、データ処理装置の電源接続時にハードウエア的にリセットされるように設け、当該フラグがリセットされていれば、データ処理装置を最後に電源に接続した後、まだ一度もSDRAM6にプログラムとチェックサムをロードしていないと判定することにより行うことができる。
そして、今回のデータ処理装置の起動が、エラー発生による起動なければ(ステップ522)、SDRAM6のプログラムの実行を開始し(ステップ518、図4aの「2.プログラム実行開始」)、IPL処理を終える。
一方、今回のデータ処理装置の起動が、エラー発生による起動であれば(ステップ522)、図4bに示すように、SDRAM6のプログラムのサムチェックを、SDRAM6のチェックサムを用いて行い(ステップ524、図4bの「11.チェック」)、サムチェックに成功したならば(ステップ526)、SDRAM6のプログラムの実行を開始し(ステップ518、図4bの「12.プログラム実行開始」)、IPL処理を終える。一方、サムチェックに失敗した場合には(ステップ526)、ステップ508に進む。
さて、ステップ508に進んだならば、先に図2bに示したように、フラッシュメモリ9のプログラムのサムチェックを、フラッシュメモリ9のチェックサムを用いて行い(図2bの「11.チェック」)、サムチェックに成功したならば(ステップ510)、ステップ512に進んで、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行い(図2bの「12.ロード」)、ステップ514に進む。
この異常処理では、前述のように、たとえば、HDD8からフラッシュメモリ9へのプログラムとチェックサムのコピー及びフラッシュメモリ9のアップデートフラグのセットと、データ処理装置の再起動などを行う。
以上、IPL処理について説明した。
なお、以上のIPL処理において、ステップ508-512の処理は、図2cに示すように、まず、フラッシュメモリ9からプログラムとチェックサムのSDRAM6へのロードを行った(図2cの「21.ロード」)上で、SDRAM6にロードしたプログラムのサムチェックを、SDRAM6にロードしたチェックサムを用いて行い(図2cの「22.チェック」)、サムチェックが成功したならばステップ514に進み、サムチェクが失敗した場合にはステップ538に進んで、所定の異常処理を起動する処理に置き換えてもよい。
なお、本第2実施形態においても、システムログと、アップデートフラグは、HDD8に格納するようにしてもよい。
以上のように、本第2実施形態によれば、通常時は、高速なSDRAM6にフラッシュメモリ9から予めロードしたプログラムを用いて、データ処理装置の起動時にプログラムのサムチェックを行うことなく高速にプログラムを起動することができる。一方で、プログラムのアップデートや、データ処理装置のエラーの発生や電源断による、SDRAM6に格納したプログラムの損傷やフラッシュメモリ9とSDRAM6とのプログラムの不一致が疑われる状況が発生した場合には、プログラムの誤り検出やプログラムのSDRAM6へのロードを行うので、プログラムの一定の信頼性を保つことができる。
本第3実施形態は、図1に示したデータ処理装置において、データ処理装置の起動時には、プログラムのサムチェックを一切行わないようにしたものである。
さて、図6aに示すように、本第3実施形態においても、フラッシュメモリ9には、プログラムとプログラムのチェックサムが格納される。ここで、このフラッシュメモリ9に格納されたプログラムとチェックサムは、予め、HDD8からフラッシュメモリ9にコピーしたものである。
図示するように、このチェックタスク処理では、フラッシュメモリ9に格納されているプログラムのサムを算出し(ステップ702)、算出したサムが、HDD8に格納されているチェックサムの値と一致するかどうかを調べる(ステップ704)ことにより、フラッシュメモリ9に格納されているプログラムのサムチェックを行う(図6a、bの「3.チェック」)。そして、サムチェックが成功したならば、ステップ702からの処理に戻ってサムチェックを繰り返し行い、サムチェックが失敗したならば、コピータスクを起動する(ステップ706)。ただし、このサムチェックは、フラッシュメモリ9に格納されているプログラムとチェックサムを用いて行うようにしてもよい。
ここで、ステップ706で起動されたコピータスクは、HDD8に格納されたプログラムとチェックサムとを、フラッシュメモリ9にコピーする処理を行い(図6a、bの「4.コピー」)、コピーが完了したならば、コピー完了報告をチェックタスクに発行し処理を終了する。ここで、図6bに示すように、このコピータスクも、当該コピータスクに予め設定された優先度に従って、他のより優先度の高いタスクの処理を妨げないように、当該より優先度の高いタスクが行われていない空き時間に実行される。
このような第3実施形態によれば、データ処理装置の起動時にプログラムのサムチェックを行うことなく直ちにプログラムを起動するので、データ処理装置の起動を短時間で完了することができる。一方、プログラムを起動したならば、当該プログラムの実行と並行して、プログラムのサムチェックや、サムチェック失敗時のプログラムの更新を行うのでプログラムの信頼性を保つことができる。また、プログラム実行時に低優先度のタスクとしてプログラムのサムチェックや更新を行うので、これらの処理によって、プログラムの実行をできるだけ妨げないようにすることができる。
すなわち、フラッシュメモリ9に再ロードフラグを設け、IPL処理では、再ロードフラグがセットされている場合にのみ、フラッシュメモリ9からSDRAM6へのプログラムとチェックサムのロードと、SDRAM6にロードしたプログラムの実行の開始を行い、再ロードフラグがセットされていない場合には、フラッシュメモリ9からSDRAM6へのロードは行わずに、既にSDRAM6にロードされているプログラムの実行を開始する。
Claims (2)
- プログラムを実行するデータ処理装置であって、
前記プログラムを記憶した不揮発性の記憶装置と、
当該データ処理装置に電源が接続されているときに当該接続された電源から供給される電力が充電されるバックアップ電源と、
前記記憶装置からロードした前記プログラムを格納した、前記バックアップ電源による電源供給が行われている揮発性のメモリと、
前記データ処理装置の起動時に、前記記憶装置に記憶されているプログラムと同じプログラムの前記メモリへの格納の有無を推定する推定手段と、
起動処理手段と、
当該データ処理装置で発生したエラー、または、当該データ処理装置で発生したエラー発生に起因する当該データ処理装置の再起動処理の起動の履歴をシステムログとして前記記憶装置に記憶するシステムログ格納手段とを有し、
前記起動処理手段は、
前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定した場合には、前記記憶装置に格納されたプログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記記憶装置に記憶されているプログラムの前記メモリへのロードと起動を行い、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動し、
前記データ処理装置の起動時に前記推定手段が前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定しなかった場合には、前記メモリに格納されたプログラムの起動を行い、
前記推定手段は、
前記記憶装置に記憶されているプログラムの前記メモリへのロードを当該データ処理装置に電源が最後に接続された後に一度も行っていない場合に、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定すると共に、
前記システムログが、当該データ処理装置の前回の稼働停止時にエラーが発生したことを表している場合に、前記メモリのプログラムの誤り検出を行い、当該誤り検出によって前記メモリのプログラムに誤りが検出されたときに、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定することを特徴とするデータ処理装置。 - プログラムを記憶した不揮発性の記憶装置と、前記記憶装置からロードした前記プログラムを格納した揮発性の、バックアップ電源による電源供給が行われているメモリとを備え、前記メモリにロードされたプログラムを実行するデータ処理装置であって、前記バックアップ電源が、当該データ処理装置に電源が接続されているときに当該接続された電源から供給される電力が充電されるものであるデータ処理装置において、当該データ処理装置の起動時に前記プログラムを起動するプログラム起動方法であって、
前記データ処理装置が、当該データ処理装置で発生したエラー、または、当該データ処理装置で発生したエラー発生に起因する当該データ処理装置の再起動処理の起動の履歴をシステムログとして前記記憶装置に記憶するシステムログ記憶ステップと、
前記データ処理装置が、当該データ処理装置の起動時に、前記記憶装置に記憶されているプログラムと同じプログラムの前記メモリへの格納の有無を推定する推定ステップと、
前記データ処理装置が、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定された場合には、前記記憶装置に格納されたプログラムの誤り検出を行うと共に、当該誤り検出によって誤りが検出されなかったときには、前記記憶装置に記憶されているプログラムの前記メモリへのロードと起動とを行い、当該誤り検出によって誤りが検出されたときには、所定のエラー対処処理を起動するロード後起動ステップと、
前記データ処理装置が、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定されなかった場合に、前記メモリに格納されたプログラムを起動する起動ステップとを有し、
前記推定ステップにおいて、
前記記憶装置に記憶されているプログラムの前記メモリへのロードを当該データ処理装置に電源が最後に接続された後に一度も行っていない場合に、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定すると共に、
前記システムログが、当該データ処理装置の前回の稼働停止時にエラーが発生したことを表している場合に、前記メモリのプログラムの誤り検出を行い、当該誤り検出によって前記メモリのプログラムに誤りが検出されたときに、前記記憶装置に記憶されているプログラムと同じプログラムが前記メモリに格納されていないと推定することを特徴とするデータ処理装置におけるプログラム起動方法。
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 JP2008217636A (ja) | 2008-09-18 |
JP5095241B2 true JP5095241B2 (ja) | 2012-12-12 |
Family
ID=39837573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007056719A Expired - Fee Related JP5095241B2 (ja) | 2007-03-07 | 2007-03-07 | データ処理装置及びプログラム起動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5095241B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013103023A1 (ja) * | 2012-01-05 | 2013-07-11 | 三菱電機株式会社 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
JP5811865B2 (ja) * | 2012-01-27 | 2015-11-11 | トヨタ自動車株式会社 | 制御装置及びプログラム実行方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02297237A (ja) * | 1989-05-11 | 1990-12-07 | Toshiba Corp | 電子計算機システムの自動再起動装置 |
JP2840171B2 (ja) * | 1993-01-27 | 1998-12-24 | シャープ株式会社 | 情報処理装置 |
JPH08147855A (ja) * | 1994-11-25 | 1996-06-07 | Hitachi Electron Eng Co Ltd | ディスクライブラリ装置の起動方法 |
JP2000293376A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | ブートプログラムの切替回路及び切替方法 |
JP3545659B2 (ja) * | 1999-10-21 | 2004-07-21 | 松下電器産業株式会社 | プログラム更新方法および通信端末装置 |
JP4817836B2 (ja) * | 2004-12-27 | 2011-11-16 | 株式会社東芝 | カードおよびホスト機器 |
-
2007
- 2007-03-07 JP JP2007056719A patent/JP5095241B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008217636A (ja) | 2008-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5575338B2 (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
US8782643B2 (en) | Device and method for controlling communication between BIOS and BMC | |
US10146626B2 (en) | Detecting and handling an expansion card fault during system initialization | |
US20120254658A1 (en) | Microcomputer and method of operation thereof | |
JP2012058879A (ja) | オペレーティングシステム起動管理装置 | |
CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
TWI676889B (zh) | 開機啟動資料有效性技術 | |
CN110334486B (zh) | 应用程序完整性校验方法及设备 | |
CN115237647A (zh) | 固件异常修复方法、装置、电子设备及计算机存储介质 | |
JP5095241B2 (ja) | データ処理装置及びプログラム起動方法 | |
CN111124760B (zh) | 一种基于uboot的嵌入式设备启动方法及装置 | |
CN114356658A (zh) | 固件升级异常的处理方法、计算机设备以及可读存储介质 | |
JP4708088B2 (ja) | 障害復旧方法およびマイクロコンピュータ | |
JP2019061520A (ja) | 電子制御装置及び制御プログラム検証方法 | |
JP5872982B2 (ja) | 車両用制御装置 | |
CN112817645A (zh) | 一种bios启动方法、装置、设备及可读存储介质 | |
JP5825178B2 (ja) | メモリ診断装置、メモリ診断プログラム及び機器 | |
JP2009520290A (ja) | 耐故障性があるプロセッサシステム | |
JP6011687B1 (ja) | 記憶装置およびその制御方法 | |
JP2009025967A (ja) | 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム | |
JP6624005B2 (ja) | 相互監視システム | |
CN110018929B (zh) | 一种数据备份方法、装置、设备及存储介质 | |
CN117093399A (zh) | ***启动方法、片上***、计算机设备及存储介质 | |
JP2011150383A (ja) | ファームウェア書き込み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090929 |
|
A521 | Request for written amendment filed |
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 | Request for written amendment filed |
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 | Request for written amendment filed |
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 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120820 |
|
A911 | Transfer to examiner for re-examination 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 |
|
LAPS | Cancellation because of no payment of annual fees |