JP2005234855A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2005234855A
JP2005234855A JP2004042557A JP2004042557A JP2005234855A JP 2005234855 A JP2005234855 A JP 2005234855A JP 2004042557 A JP2004042557 A JP 2004042557A JP 2004042557 A JP2004042557 A JP 2004042557A JP 2005234855 A JP2005234855 A JP 2005234855A
Authority
JP
Japan
Prior art keywords
program
memory
error
processor
code
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.)
Pending
Application number
JP2004042557A
Other languages
English (en)
Inventor
Takeshi Saito
剛 斎藤
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2004042557A priority Critical patent/JP2005234855A/ja
Publication of JP2005234855A publication Critical patent/JP2005234855A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 アプリケーションプログラムを保持するメモリと、プロセッサで実行するプログラムを格納するメモリとを備え、実行するプログラムにエラーが生じたときに、プログラムごと取り替えてプログラムを実行する手法を備えた情報処理装置を提供する。
【解決手段】 情報処理装置は、所定のプログラムを実行する機能を備えたプロセッサと、前記プロセッサで実行するためのアプリケーションプログラムを保存しておくプログラム保持用メモリと、前記プロセッサで実行するアプリケーションプログラムを前記プログラム保持用メモリから読み出してコピーするプログラム実行用メモリと、前記プロセッサが前記プログラム実行用メモリから所定のプログラムコードを読み出した時に、そのプログラムコードのエラーをチェックするコードエラーチェック機能手段と、を備えたことである。
【選択図】 図1

Description

本発明は、情報処理装置に関し、詳しくはアプリケーションプログラムをメモリ上において実行するような装置で、メモリのデータ化けによるアプリケーションプログラムの破壊を修復する機能を備えた情報処理装置に関する。
従来技術における第1の例の情報処理装置として、図3に示すように、プロセッサ111とメモリ(RAM)112のみで構成され、メモリ112内のアプリケーションプログラムをプロセッサ111が読み込んで実行するが、エラーチェック機能はない。
第2の例の情報処理装置は、図4に示すように、プロセッサ111とメモリ112の構成に加えて、アクセス単位ごとのエラーチェック機能を付加したもので、エラーチェック回路113とエラーチェックコード用メモリ114が追加される。
第3の例の情報処理装置は、図5に示すように、組み込みシステムなど、HDDなどの外部記憶を持たないシステムにおいて、外部電源OFF状態でのプログラムの保存と高速動作を両立させるために、プログラム保持用にバッテリバックアップしやすい低速低消費電力のSRAMまたはフラッシュメモリやROMなどと、高速動作用に高速メモリ(RAM)の2種のメモリを用意した例で、アクセス単位ごとのエラーチェック機能を高速メモリに付加してある。
特開平2002−73427号公報(第3頁〜4頁 第1図)
しかし、従来技術で説明した第1の例の情報処理装置では、プロセッサはメモリ(RAM)に格納されているアプリケーションプログラムのプログラムコードを読み出し実行する。このとき、ソフトエラー等でビット化けを起こし、正しくないプログラムコードがあっても検出できず、プロセッサは誤った動作をする可能性がある。
第2の例の情報処理装置では、エラーを検出できるようにはなるが、回路量が増大し、エラーチェックの分、プログラムの実行速度が落ちる、という問題がある。一般的なエラー検出方法としてはパリティチェックや1ビット訂正・2ビット検出のECCによるチェックが上げられるが、パリティでは1ビットエラーを奇数の個数のエラーしか検出できないし、検出しても修復できないのでプログラム実行は継続できない。ECCでも修正できるのは1ビットエラーの場合のみなので、2ビット以上のエラーがあった場合は、パリティと同様、プログラム実行の継続はできない。又、ECCの場合は回路量や実行速度への影響がパリティよりもかなり大きくなる。
又、上記第1及び第2の例の情報処理装置では、どちらも組み込みシステムなどで外部記憶を持たない場合は、電源OFF時にプログラムを保持するため、メモリをバッテリバックアップするかフラッシュメモリやROMなどの不揮発性メモリを使用しなければならない。メモリをバッテリバックアップする場合は、バックアップ時の消費電流の少ない低消費電力のSRAMを使用するが、低消費電力のSRAMは低速なので動作速度が遅くなる、という問題があり、フラッシュメモリはプログラムの書き換えに時間がかかるし、動作速度も遅いという問題がある。又、ROMはプログラムの書き換えができない。
第3の例の情報処理装置では、上記の問題に対応するため、電源投入時に保持用メモリから動作用の高速メモリ(RAM)にプログラムをコピーし、動作中は動作用のメモリからプログラムを読み込んで実行することにより動作の高速化を図る構成である。
エラーチェックに関しては、第2の例の情報処理装置と同様に、動作用メモリにアクセス単位でのエラーチェック機能がついており、保持用のメモリの内容に関しては、動作中には使用されないので、まとめてエラーチェックができるチェックサムなどエラーチェックを実施すれば十分である。
エラー検出時、プログラム実行の継続ができなくなるのは第2の例の情報処理装置と同様である。
従って、第3の例の情報処理装置のように、高速動作とプログラム保持のために、動作時にはアプリケーションプログラムが2面あるような組み込みシステムにおいて、動作用メモリ(RAM)IC内部でのエラーのうち、ビット化けるものの、故障ではなく、書き直せば正常に戻るような、ソフトエラーが発生した場合に、最小限の速度の低下と追加回路の増大でエラーを修復してプログラム実行を継続できるようにすることに解決しなければならない課題を有する。
上記課題を解決するために、本願発明の情報処理装置は、次に示す構成にしたことである。
(1)情報処理装置は、所定のプログラムを実行する機能を備えたプロセッサと、前記プロセッサで実行するためのアプリケーションプログラムを保存しておくプログラム保持用メモリと、前記プロセッサで実行するアプリケーションプログラムを前記プログラム保持用メモリから読み出してコピーするプログラム実行用メモリと、前記プロセッサが前記プログラム実行用メモリから所定のプログラムコードを読み出した時に、そのプログラムコードのエラーをチェックするコードエラーチェック機能手段と、を備えたことである。
(2)前記コードエラーチェック機能手段は、前記プロセッサが前記プログラム実行用メモリからプログラムコードを読み出した時にエラーを検出した場合、前記プログラム保持用メモリから正しいプログラムコードを読み出してプログラムの実行を継続させると共に、エラーのあったプログラムを前記プログラム保持用メモリから読み出して前記プログラム実行用メモリに書き直す機能を備えたことを特徴とする(1)に記載の情報処理装置。
本発明の情報処理装置は、パリティチェックなどの簡便なエラーチェックが使用できるので、通常動作時にエラーチェックによる動作速度の低下が少なくてすむ。
又、ECCなどによるエラーチェックでは、エラー訂正できるビット数に限界があるが、本発明ではビット訂正ではなく、正しいプログラムコードを書き直すので、修復するビット数に制限がない。
更に、ソフトエラーなど、書き直せば正しく機能するようなエラーが発生しても、正しいプログラムコードでプログラム実行を継続できる。
以下、本発明の情報処理装置の実施形態について、図面を用いて詳細に説明する。
本発明の情報処理装置は、図1に示すように、所定のプログラムを実行するプロセッサ11と、プロセッサ11で実行するアプリケーションプログラムをバックアップしておく低速メモリまたはROMからなるプログラム保持用メモリ12と、プロセッサ11で実行するアプリケーションプログラムを格納する高速メモリからなるプログラム実行用メモリ(RAM)13と、プログラム保持用メモリ12からプログラム実行用メモリ13にアプリケーションプログラムをコピーする際、及びプロセッサ11がプログラム実行用メモリ13からプログラムを呼び出す際にプログラムのエラーをチェックするエラーチェック回路14と、エラーチェック回路14で検出したエラーチェックコードを格納する高速メモリのチェックコード用メモリ(RAM)15とから大略構成されている。
このような構成において、先ず、電源が入っていない時は、アプリケーションプログラムはプログラム保持用メモリ12のみに格納されている。このプログラム保持用メモリ12は、バッテリバックアップされているRAM、フラッシュメモリ、ROMなどの不揮発なメモリであれば何でもよい。
電源投入時、プロセッサ11はチェックサムなどによりプログラム保持用メモリ12の内容が正しいことを確認した後、プログラム保持用メモリ12からプログラム実行用メモリ13にアプリケーションプログラムをコピーする。
プログラム実行用メモリ13は、高速動作可能なRAMで形成されている。
このプログラム実行用メモリ13に書き込む際には、エラーチェック回路14で生成したチェックコードを同時にチェックコード用メモリ15に書き込む。このエラーチェックコード用メモリ15は、プログラム実行用メモリ13と同じだけ高速動作が可能なRAMである必要がある。
プログラム実行用メモリ13にアプリケーションプログラムが格納されたら、プロセッサ11はプログラム実行用メモリ13からアプリケーションプログラムのプログラムコードを読み出し、実行する。
このとき、プログラム実行用メモリ13からプログラムコードを読み出すと同時に、チェックコード用メモリ15から対応するエラーチェックコードを読み出して、エラーチェック回路14でエラーチェックを行い、プログラムコードが正しいことを確認する。
プログラムコードの読み出し時に、エラーチェック回路14でエラーが検出された場合、エラーチェック回路14はプログラム保持用メモリ12から正しいプログラムコードを読み出し、プロセッサ11に正しいプログラムコードを渡すと共に、エラーチェックコードを生成しなおして、正しいプログラムコードをプログラム実行用メモリ13に、チェックコードをチェックコード用メモリ15に書き直す。
このようにして、プログラムコードを読み出したときに、エラーであると診断されると、そのエラーが検出されたプログラムをプログラム保持用メモリ12から読み出してプロセッサに渡すことでプログラムの実行を止めることなく継続できる。又、エラーが検出されたプログラムをプログラム実行用メモリ13に書き直すことで、書き直せば正しく機能するようなエラーが発生しても、正しいプログラムコードでプログラム実行を継続できる。
同じアドレスで何回もエラーが検出される場合は、エラーチェック回路14はメモリの故障と判断してプロセッサ11にエラーを通知する。
プログラム保持用メモリ12の内容は、必要に応じて動作中であっても別途プロセッサ11が、サムチェックなどで内容が正しいことを確認しておく。
次に、第2の実施例の情報処理装置について、図2を参照して説明する。
第2の実施例の情報処理装置は、エラーチエック回路はエラーコード生成とエラーチェックのみの機能としたもので、所定のプログラムを実行するプロセッサ11と、プロセッサ11で実行するアプリケーションプログラムをバックアップしておく低速メモリまたはROMからなるプログラム保持用メモリ12と、プロセッサ11で実行するアプリケーションプログラムを格納する高速メモリからなるプログラム実行用メモリ(RAM)13と、プロセッサ11がプログラム実行用メモリ13からプログラムを呼び出す際にプログラムのエラーをチェックするエラーチェック回路14Aと、エラーチェック回路14Aで検出したエラーチェックコードを格納する高速メモリのチェックコード用メモリ(RAM)15とから大略構成されている。
このような構成において、先ず、電源が入っていない時は、アプリケーションプログラムはプログラム保持用メモリ12のみに格納されている。このプログラム保持用メモリ12は、バッテリバックアップされているRAM、フラッシュメモリ、ROMなどの不揮発なメモリであれば何でもよい。
電源投入時、プロセッサ11はチェックサムなどによりプログラム保持用メモリ12の内容が正しいことを確認した後、プログラム保持用メモリ12からプログラム実行用メモリ13にアプリケーションプログラムをコピーする。
プログラム実行用メモリ13は、高速動作可能なRAMで形成されている。
このプログラム実行用メモリ13に書き込む際には、エラーチェック回路14で生成したチェックコードを同時にチェックコード用メモリ15に書き込む。このエラーチェックコード用メモリ15は、プログラム実行用メモリ13と同じだけ高速動作が可能なRAMである必要がある。
プログラム実行用メモリ13にアプリケーションプログラムが格納されたら、プロセッサ11はプログラム実行用メモリ13からアプリケーションプログラムのプログラムコードを読み出し、実行する。
このとき、プログラム実行用メモリ13からプログラムコードを読み出すと同時に、チェックコード用メモリ15から対応するエラーチェックコードを読み出して、エラーチェック回路14でエラーチェックを行い、プログラムコードが正しいことを確認する。
プログラムコードの読み出し時に、エラーチェック回路14Aでエラーが検出された場合、プロセッサ11はプログラム保持用メモリ12から正しいプログラムコードを読み出すと共に、エラーチェックコードを生成しなおして、正しいプログラムコードをプログラム実行用メモリ13に、チェックコードをチェックコード用メモリ15に書き直す。
このようにして、プログラムコードを読み出したときに、エラーであると診断されると、プロセッサ11はそのエラーが検出されたプログラムをプログラム保持用メモリから読み出してプログラム実行用メモリに書き直すことで、書き直せば正しく機能するようなエラーが発生しても、正しいプログラムコードでプログラム実行を継続できる。
電源オフ時にはアプリケーションプログラムをプログラム保持用メモリに格納しておき、電源がオンされると、プログラム保持用メモリに格納されているアプリケーションプログラムをプログラム実行用メモリにコピーするようにし、このプログラム実行用メモリに蓄積されているプログラムを実行する。そして、実行したときに、エラーが生じたときには、そのプログラムをプログラム保持用メモリから読み出して継続させると共にそのプログラムをプログラム実行用メモリに書き直すことで、ソフトエラー等が発生しても、自動的に修復可能な情報処理装置を提供する。
本願発明の第1の実施例の情報処理装置のブロック図である 本願発明の第2の実施例の情報処理装置のブロック図である。 従来技術における第1の例の情報処理装置のブロック図である。 従来技術における第2の例の情報処理装置のブロック図である。 従来技術における第3の例の情報処理装置のブロック図である。
符号の説明
11 プロセッサ
12 プログラム保持用メモリ
13 プログラム実行用メモリ
14 エラーチェック回路
14A エラーチェック回路
15 チェックコード用メモリ。

Claims (2)

  1. 所定のプログラムを実行する機能を備えたプロセッサと、
    前記プロセッサで実行するためのアプリケーションプログラムを保存しておくプログラム保持用メモリと、
    前記プロセッサで実行するアプリケーションプログラムを前記プログラム保持用メモリから読み出してコピーするプログラム実行用メモリと、
    前記プロセッサが前記プログラム実行用メモリから所定のプログラムコードを読み出した時に、そのプログラムコードのエラーをチェックするコードエラーチェック機能手段と、
    を備えたことを特徴とする情報処理装置。
  2. 前記コードエラーチェック機能手段は、前記プロセッサが前記プログラム実行用メモリからプログラムコードを読み出した時にエラーを検出した場合、前記プログラム保持用メモリから正しいプログラムコードを読み出してプログラムの実行を継続させると共に、エラーのあったプログラムを前記プログラム保持用メモリから読み出して前記プログラム実行用メモリに書き直す機能を備えたことを特徴とする請求項1に記載の情報処理装置。
JP2004042557A 2004-02-19 2004-02-19 情報処理装置 Pending JP2005234855A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004042557A JP2005234855A (ja) 2004-02-19 2004-02-19 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004042557A JP2005234855A (ja) 2004-02-19 2004-02-19 情報処理装置

Publications (1)

Publication Number Publication Date
JP2005234855A true JP2005234855A (ja) 2005-09-02

Family

ID=35017756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004042557A Pending JP2005234855A (ja) 2004-02-19 2004-02-19 情報処理装置

Country Status (1)

Country Link
JP (1) JP2005234855A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522664A (ja) * 2006-01-03 2009-06-11 エヌイーシー ラボラトリーズ アメリカ インク メモリ障害を処理するために、センサーネットワークで使用可能な方法及びシステム
WO2010109631A1 (ja) * 2009-03-26 2010-09-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522664A (ja) * 2006-01-03 2009-06-11 エヌイーシー ラボラトリーズ アメリカ インク メモリ障害を処理するために、センサーネットワークで使用可能な方法及びシステム
WO2010109631A1 (ja) * 2009-03-26 2010-09-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路

Similar Documents

Publication Publication Date Title
JP4994112B2 (ja) 半導体集積回路装置およびメモリ制御方法
TWI490876B (zh) 系統啟動引導處理方法及裝置
EP1607865B1 (en) Data control unit capable of correcting boot errors, and corresponding method
JP4962060B2 (ja) パリティエラー復旧回路
KR101557572B1 (ko) 메모리 회로들, 메모리에 액세스하는 방법 및 메모리를 복구하는 방법
US9934085B2 (en) Invoking an error handler to handle an uncorrectable error
JP2009301194A (ja) 半導体記憶装置の制御システム
JP4956230B2 (ja) メモリコントローラ
CN113220221B (zh) 存储器控制器与数据处理方法
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
JP5099342B2 (ja) Plc用の部品実装基板
JP6304007B2 (ja) マイクロコントローラ
JP2005234855A (ja) 情報処理装置
JP2012252557A (ja) メモリコントローラ
JP2010536112A (ja) 中断された書込みの回復のためのデータ記憶方法、機器およびシステム
JP2005196680A (ja) コンピュータシステム
JP5770557B2 (ja) 情報更生装置、メモリ制御システム、情報更生方法およびコンピュータプログラム
JP2000132461A (ja) 情報制御装置
KR100575927B1 (ko) 이동통신 단말기에서 부팅 방법
JP2010061258A (ja) デュプレックスプロセッサシステム及びプロセッサ二重化方法
JP4853083B2 (ja) コンピュータシステム、データ正常性確認方法、及び、プログラム
JP2007011839A (ja) メモリ管理方法及びメモリ管理システム
JPH05134938A (ja) メモリ制御装置
JPH0327433A (ja) 電子ディスク装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303