JP2008077135A - 演算処理装置、及びカウンタ値演算方法 - Google Patents
演算処理装置、及びカウンタ値演算方法 Download PDFInfo
- Publication number
- JP2008077135A JP2008077135A JP2006252198A JP2006252198A JP2008077135A JP 2008077135 A JP2008077135 A JP 2008077135A JP 2006252198 A JP2006252198 A JP 2006252198A JP 2006252198 A JP2006252198 A JP 2006252198A JP 2008077135 A JP2008077135 A JP 2008077135A
- Authority
- JP
- Japan
- Prior art keywords
- counter value
- storage area
- data
- counter
- value
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】記憶領域を過分に増加させることを抑制しつつ、しかも書き込み異常が生じた場合にデータ修復を可能とする。
【解決手段】CPUからの読み出し要求に応じて、前回のカウンタ値CN(01111111)がカウンタ値RAMCNとしてRAM上に読み出される(段階[1])。次に、カウンタ値RAMCNに対して加算演算(+3演算)が行われる(段階[2])。その後、加算演算後のカウンタ値RAMCN(10000010)がEEPROMのサブ保存領域にカウンタ値CPCNとして書き込まれ(段階[3])、次に、加算演算後のカウンタ値RAMCNについて所定ビット位置の値がエラー判定ビットERRに書き込まれる(段階[4])。さらに、加算演算後のカウンタ値RAMCN(10000010)がEEPROMのメイン保存領域にカウンタ値CNとして書き込まれる(段階[5])。
【選択図】 図4
【解決手段】CPUからの読み出し要求に応じて、前回のカウンタ値CN(01111111)がカウンタ値RAMCNとしてRAM上に読み出される(段階[1])。次に、カウンタ値RAMCNに対して加算演算(+3演算)が行われる(段階[2])。その後、加算演算後のカウンタ値RAMCN(10000010)がEEPROMのサブ保存領域にカウンタ値CPCNとして書き込まれ(段階[3])、次に、加算演算後のカウンタ値RAMCNについて所定ビット位置の値がエラー判定ビットERRに書き込まれる(段階[4])。さらに、加算演算後のカウンタ値RAMCN(10000010)がEEPROMのメイン保存領域にカウンタ値CNとして書き込まれる(段階[5])。
【選択図】 図4
Description
本発明は、あらかじめ定めた加算分又は減算分を加算又は減算するカウンタ処理を実行し、そのカウンタ値を、EEPROM等の不揮発性メモリに逐次書き込むようにした演算処理装置、及びカウンタ値演算方法に関する。
例えば車両用の電子制御装置(ECU)においては、電源からの給電の有無にかかわらず内部データを記憶保持(保存)できるEEPROM等の不揮発性メモリを有するものがあり、同不揮発性メモリを用いることにより、過去の制御等に基づいて算出された学習値、ECU起動回数や故障診断回数等のカウンタ値、車両の固有情報データ等が継続的に記憶保持されるようになっている。
ここで、不揮発性メモリにデータを書き込む場合においてその書き込み途中に電子制御装置への給電が遮断される(以下、電源遮断という)ことがあり、その電源遮断が発生すると、書き込みが未完了のまま終了し、不揮発性メモリに不定データが残ってしまうといった不都合が生じる。
こうした書き込み異常の対策として、例えば特許文献1等に記載されているように、不揮発性メモリの異なる3つ以上の記憶領域に同一のデータを書き込むとともに、同不揮発性メモリからのデータ読み出しに際し、読み出しデータが相違する場合には多数決処理によりデータの修復を行うものがある(従来技術1)。また、不揮発性メモリの異なる2つの記憶領域に同一のデータを書き込むとともに、同不揮発性メモリからのデータ読み出しに際し、前記2つの記憶領域のデータが相違する場合にはデフォルトデータへの書き替えやフェールセーフ処理を適宜実施するものがある(従来技術2)。その他に、デジタル信号の伝送技術として特許文献2に記載されているように、デジタル信号の上位ビットからなるデータに訂正能力が相対的に高い訂正符号を生成付加するとともに、下位ビットからなるデータに訂正能力が相対的に低い訂正符号を生成付加し、下位ビットからなるデータに訂正不可能な誤りが生じた場合に、その下位ビットからなるデータを所定のデータに置換するものもある(従来技術3)。
しかしながら上記した従来技術1では、不揮発性メモリにおいて、本来データが書き込まれる記憶領域に対して3倍以上の大きさの記憶領域が必要となるという不都合があった。また、従来技術2では、書き込み異常が発生した場合にデータ修復する機能を有しておらず、実用上改善する余地が残されている。さらに、従来技術3では、やはりデータ修復を好適に行う上で改善の余地が残されている。
特開平11−164486号公報
特開平4−243068号公報
本発明の目的は、記憶領域を過分に増加させることを抑制しつつ、しかも書き込み異常が生じた場合にデータ修復を可能とする演算処理装置、及びカウンタ値演算方法を提供することにある。
以下、上記課題を解決するための手段、及びその作用効果について説明する。
本発明の演算処理装置、及びカウンタ値演算方法は、あらかじめ定めた加算分又は減算分を加算又は減算するカウンタ処理を実行し、そのカウンタ値を、EEPROM等からなる不揮発性メモリに逐次書き込むものである。
特に本発明では、不揮発性メモリに、カウンタ処理による加減算後のカウンタ値を継続的に保存するための第1記憶領域と、同加減算後のカウンタ値を仮保存するための第2記憶領域と、同加減算後のカウンタ値について所定ビットの値をエラー判定データとして記憶するためのエラーデータ記憶領域とを設けている。そして、CPU等からなる演算手段は、カウンタ処理によるカウンタ値の加減算を実行した後、
(1)加減算後のカウンタ値を第2記憶領域に書き込む処理、
(2)前記エラー判定データをエラーデータ記憶領域に書き込む処理、
(3)加減算後のカウンタ値を第1記憶領域に書き込む処理、
を(1)、(2)、(3)の順序にて行う。また、次回のデータ読み出しに際しては、第1記憶領域に記憶されているカウンタ値の所定ビットの値と、エラーデータ記憶領域に記憶されているエラー判定データとを照合し、その照合結果に基づき、第2記憶領域に仮保存したカウンタ値によるデータ修復を実行する。
(1)加減算後のカウンタ値を第2記憶領域に書き込む処理、
(2)前記エラー判定データをエラーデータ記憶領域に書き込む処理、
(3)加減算後のカウンタ値を第1記憶領域に書き込む処理、
を(1)、(2)、(3)の順序にて行う。また、次回のデータ読み出しに際しては、第1記憶領域に記憶されているカウンタ値の所定ビットの値と、エラーデータ記憶領域に記憶されているエラー判定データとを照合し、その照合結果に基づき、第2記憶領域に仮保存したカウンタ値によるデータ修復を実行する。
要するに、カウンタ処理が実行される際には、基本的に不揮発性メモリの第1記憶領域から前回カウンタ値が読み出されるとともに、加減算後のカウンタ値が同じく不揮発性メモリの第1記憶領域に書き込まれる(前回値に上書きされる)。ここで、カウンタ値の書き込み途中にて電源遮断が生じると書き込み異常が生じる場合がある。この点本発明では、第1記憶領域に記憶されているカウンタ値の所定ビットの値と、エラーデータ記憶領域に記憶されているエラー判定データとの照合により書き込み異常の発生が分かり、さらに、第2記憶領域にカウンタ値を仮保存しているため、該仮保存したカウンタ値によってデータ修復を行うことができる。このとき、不揮発性メモリには同一データを記憶するための2つの記憶領域(第1記憶領域及び第2記憶領域)を要するが、多数決処理を行うために同一データを3つ以上の記憶領域に記憶する従来技術に比べて、記憶領域の増加が抑制できる。その結果、記憶領域を過分に増加させることを抑制しつつ、しかも書き込み異常が生じた場合において好適なるデータ修復を実施することができる。
請求項2に記載の発明では、カウンタ処理の対象として複数のカウンタ値を設定しておき、そのカウンタ値を個別に不揮発性メモリに記憶保持する演算処理装置であって、第1記憶領域を複数のカウンタ値ごとに複数設ける一方、第2記憶領域を共通の仮保存領域として設けている。つまり、第2記憶領域は、カウンタ処理が行われる都度カウンタ値を仮保存する仮保存領域として機能すればよいため、全てのカウンタ値に対応させて設ける必要はなく、複数のカウンタ値で共通使用が可能となる。本構成によれば、同一データを記憶するための2つの記憶領域(第1記憶領域及び第2記憶領域)を不揮発性メモリに設けるにしても、実質上は2倍の記憶領域を必要としない。そのため、構成の簡素化を図ることができる。
ここで、請求項3に記載したように、前記エラー判定データは1ビットデータであると良い。これにより、エラーデータ記憶領域として要する記憶領域は1ビット分あれば足り、やはり構成の簡素化を図ることができる。
請求項4に記載の発明では、2進値のカウンタ処理を実行する演算処理装置であって、前記カウンタ処理における加算分又は減算分を2進表記した場合に「1」が出現する最下位ビットの位置をnとし、前記加減算後のカウンタ値においてnビット位置の値を前記エラー判定データとして前記エラーデータ記憶領域に書き込むとともに、データ読み出しに際し、前記第1記憶領域に記憶されているカウンタ値のnビット位置の値と、前記エラー判定データとを照合する。なおこのとき、不揮発性メモリの各記憶領域(第1,第2記憶領域)には上位ビットから下位ビットに順にデータ書き込みが行われ、加減算後のカウンタ値においてその最下位ビットから数えてnビット位置の値がエラー判定データとして記憶されるようになっている。
本構成によれば、カウンタ値を加減算する都度、同カウンタ値においてnビット位置の値が0,1交互に出現することとなる。したがって、例えばエラー判定データをエラーデータ記憶領域に書き込む処理(上記(2)の処理)が正常に行われたが、加減算後のカウンタ値を第1記憶領域に書き込む処理(上記(3)の処理)が異常となる場合には、次回のデータ読み出しに際し、第1記憶領域から読み出したカウンタ値の所定ビットの値とエラーデータ記憶領域から読み出したエラー判定データとが不一致となる事態が生じ、書き込み異常に適正に対処できる。
以下、本発明にかかる演算処理装置を、車載エンジン用の電子制御装置(ECU)として具体化した一実施の形態を図面に従って説明する。
図1に示す車両システムにおいて、電子制御装置10は、CPU11、RAM12、EEPROM13等を備えており、この電子制御装置10には電源スイッチ(例えばイグニッションスイッチ)21を介してバッテリ22が接続されている。電源スイッチ21がON(閉鎖)されることにより、バッテリ22から電子制御装置10に対して給電が行われ、その給電により電子制御装置10が起動する。
CPU11は、例えば32ビットマイコンにより実現され、あらかじめ規定された演算プログラムに従い、エンジン制御に関する各種演算を実施する。RAM12は、各種演算において都度求められる演算データを一時記憶するための揮発性メモリであり、バッテリ22からの給電が行われている状態下でデータを記憶保持する。また、EEPROM13は、バッテリ22からの給電が無くとも(すなわち、電源スイッチ21のOFF後も)内部データの継続的な記憶保持が可能であり、かつ電気的にデータ消去及び書き込みが可能な不揮発性メモリである。EEPROM13には、例えば、エンジンの始動回数(スタータ起動回数)、電子制御装置10の起動回数、各種センサやアクチュエータ等の故障診断回数、故障診断データ(ダイアグデータ)、各種制御に用いる学習値などが適宜記憶される。
ここで、上述したエンジン始動回数などの各種回数データは、CPU11によりカウンタ値として適宜演算され、同カウンタ値の加算演算の都度EEPROM13に書き込まれる(EEPROM記憶値が逐次更新される)ようになっている。以下、カウンタ値の加算演算に関し、その概要を説明する。
図2は、カウンタ値の加算演算に関して、RAM12及びEEPROM13に規定した記憶領域を示す概略図である。図2において、RAM12には、CPU11によるカウンタ値の加算演算に際して同カウンタ値を一時記憶するための演算記憶領域M11が設けられている。同演算記憶領域M11にはカウンタ値が「カウンタ値RAMCN」として記憶される。
また、EEPROM13には、加算演算後のカウンタ値を継続的に保存するためのメイン保存領域M21(第1記憶領域に相当)と、同加算演算後のカウンタ値を仮保存するためのサブ保存領域M22(第2記憶領域に相当)と、同加算演算後のカウンタ値について所定ビットの値をエラーデータとして記憶するためのエラー判定ビットERR(エラーデータ記憶領域に相当)とが設けられている。この場合、メイン保存領域M21は、エンジン始動回数用、ECU起動回数用、故障診断回数用など、カウンタ値の種別ごとに複数設けられており、基本的には、同メイン保存領域M21に記憶されたカウンタ値のみを用いてカウンタ値の更新が行われる。一方、サブ保存領域M22は、全カウンタ値共通の、単一の作業領域として設けられている。メイン保存領域M21には、加算演算後のカウンタ値が「カウンタ値CN」として記憶され、サブ保存領域M22には、同じく加算演算後のカウンタ値が「カウンタ値CPCN」として記憶されるようになっている。なお、メイン保存領域M21は、カウンタ値の種別ごとにそのビット長が異なるものでも良く、メイン保存領域M21のビット長が異なる場合、メイン保存領域M21に記憶されるデータの最大のビット長に合わせてサブ保存領域M22が設定されると良い。
エラー判定ビットERRは、各メイン保存領域M21に付随して同保存領域M21内のカウンタ値CNごとに設けられている。エラー判定ビットERRの詳細については後述する。
次に、加算処理の基本的な流れを図3及び図4を併せ参照しながら説明する。図3は、本加算処理においてEEPROM13からの前回値の読み出し〜加算後カウンタ値の書き込みの処理手順を示すフローチャートであり、本処理は、エンジン始動時であること、ECU起動時であること、故障診断の実行時であることなどを加算処理実行条件として同条件が成立する都度CPU11により実行される。また、図4は、同加算処理についてRAM12とEEPROM13との間のデータのやり取りを模式的に示すものであり、同図には説明の理解のために具体的数値の一例を示している。
図3において、まずステップS11では、該当するカウンタ値の前回値(前回カウンタ値)をEEPROM13からRAM12上にカウンタ値RAMCNとして読み出し、続くステップS12では、前記読み出したカウンタ値RAMCNに対して所定値αを加算する(RAMCN←RAMCN+α)。加算幅である所定値αはあらかじめ定められた一定値である(αは1以上の整数)。
次いで、ステップS13〜S15では、EEPROM13へのデータ書き込みを所定順序で実施する。すなわち、ステップS13では、加算演算後のカウンタ値RAMCNを、EEPROM13のサブ保存領域M22にカウンタ値CPCNとして書き込み、ステップS14では、加算演算後のカウンタ値RAMCNについて所定ビット位置の値をエラー判定ビットERRに書き込み、ステップS15では、加算演算後のカウンタ値RAMCNを、EEPROM13のメイン保存領域M21にカウンタ値CNとして書き込む。そしてその後、本処理を終了する。
エラー判定ビットERRに書き込まれる値(カウンタ値RAMCNの所定ビット位置の値)に関して補足説明する。すなわち、加算処理における加算幅である所定値αについて同所定値αを2進表記した場合に「1」が出現する最下位ビットの位置n(nは0以上の整数)をあらかじめ算出しておく。そして、加算演算後のカウンタ値(カウンタ値RAMCN)についてnビット目の値を求め、当該値をエラー判定ビットERRに書き込むようにしている。
ビット位置nは所定値α(加算幅)をいくつにするかに応じて変更されるものであり、所定値αが1=0001(2進数)であればn=0、所定値αが2=0010(2進数)であればn=1、所定値αが3=0011(2進数)であればn=0、所定値αが4=0100(2進数)であればn=2となる。例えば、カウンタ値が「10000010」である場合、n=0であれば、同カウンタ値の0ビット目の値「0」がエラー判定ビットERRに書き込まれ、n=1であれば、同カウンタ値の1ビット目の値「1」がエラー判定ビットERRに書き込まれ、n=2であれば、同カウンタ値の2ビット目の値「0」がエラー判定ビットERRに書き込まれることとなる。
上述した処理の流れを図4に基づいてより具体的に説明する。図4では、一例として、EEPROM13のメイン保存領域M21にカウンタ値CN(前回カウンタ値)として「01111111」が記憶されており、エラー判定ビットERRに「1」が記憶されている。そして、CPU11からの読み出し要求に応じて、前回のカウンタ値CN(01111111)がカウンタ値RAMCNとしてRAM12上に読み出される(図の段階[1])。
次に、カウンタ値RAMCNに対して加算演算(+3演算)が行われ、その結果、加算演算後のカウンタ値RAMCNが「10000010」となる(図の段階[2])。
その後、加算演算後のカウンタ値RAMCN(10000010)がEEPROM13のサブ保存領域M22にカウンタ値CPCNとして書き込まれ(図の段階[3])、次に、加算演算後のカウンタ値RAMCNについて所定ビット位置nの値がエラー判定ビットERRに書き込まれる(図の段階[4])。本例ではn=0であり、「0」がエラー判定ビットERRに書き込まれる。さらに、加算演算後のカウンタ値RAMCN(10000010)がEEPROM13のメイン保存領域M21にカウンタ値CNとして書き込まれる(図の段階[5])。なお、EEPROM13においてカウンタ値CPCN及びカウンタ値CNの書き込みは上位ビットから下位ビットに順に行われるようになっている。
上述した段階[1]〜[5]の各処理は、加算処理実行条件が成立する都度行われ、EEPROM13のメイン保存領域M21及びサブ保存領域M22のカウンタ値が逐次更新される。
ところで、CPU11により加算演算した後のカウンタ値(カウンタ値RAMCN)をEEPROM13に書き込む際、電源遮断による書き込み不良が生じると、EEPROM13に記憶保持されるカウンタ値が不定データとなり、同カウンタ値の信憑性が低下する。本実施形態では、エラー判定ビットERRの値を参照し、その参照結果に応じて適宜データ修復を行うことで、カウンタ値が不定データとなり同カウンタ値の信憑性が低下することを抑制する。この場合、上述したとおりEEPROM13へのカウンタ値RAMCNの書き込みは前後二回行われ(図4の段階[3],[5])、そのいずれの書き込み途中で電源遮断が生じることが考えられる。ここでは、いずれのタイミングで書き込み不良が生じたかに対応させてデータ修復を行うこととしている。
電源遮断による書き込み不良が生じた場合にEEPROM13のデータがどうなるかを図5により説明する。図5では、上記図4で説明した加算処理の具体的数値を準用することとしており、加算演算によりカウンタ値RAMCNが「01111111」→「10000010」に更新され、同加算演算後のカウンタ値RAMCN(10000010)がEEPROM13に書き込まれる場合について図示している。図5に示す段階[3]〜[5]は、上記図4の段階[3]〜[5]と同じ処理に相当する。
ここで、図5(a)は、メイン保存領域M21への書き込み途中(段階[5])に電源遮断が生じてカウンタ値CNが不定データ(図では、10001111)となる場合を示している。かかる場合、段階[3]及び[4]のデータ書き込みは正常に行われるためにサブ保存領域M22のカウンタ値CPCNとエラー判定ビットERRの値とは正常値(CPCN=10000010、ERR=0)となるのに対し、メイン保存領域M21のカウンタ値CNが異常値となる。したがって、カウンタ値CNとエラー判定ビットERRの値とが不整合となり、カウンタ値CNのnビット位置(本例ではn=0)の値と、エラー判定ビットERRの値(カウンタ値RAMCNのnビット位置の値)とが一致しなくなる。このことから、電子制御装置10への給電再開後には、カウンタ値CNのnビット位置の値と、エラー判定ビットERRの値とを比較することにより、カウンタ値CNの書き込み不良が判定できる。この場合、カウンタ値CPCNについては加算演算後のカウンタ値RAMCN(10000010)が正常に書き込まれているため、このカウンタ値CPCNが修復値として用いられる。
また、図5(b)は、サブ保存領域M22への書き込み途中(段階[3])に電源遮断が生じてカウンタ値CPCNが不定データ(図では、10001111)となる場合を示している。かかる場合、段階[4]及び[5]が実施されないため、メイン保存領域M21のカウンタ値CNとエラー判定ビットERRの値とは前回値(すなわち、図4に示す加算演算前の値、CPCN=01111111、ERR=1)のままとなっている。ただし、カウンタ値CNとエラー判定ビットERRの値とに関しては、正常にデータ書き込みが行われた場合と同様、整合の取れたものとなっている。電子制御装置10への給電再開後には、前回値であるカウンタ値CNが修復値として用いられる。なおこの場合、正常値への修復はなされないが、それまでのカウンタ値が完全に消去されてしまう、又は以後の加算処理に不定データが用いられる、といった不都合は回避できる。
次に、EEPROM13からカウンタ値を読み出す処理を図6のフローチャートに基づいて説明する。特に本処理は、書き込み異常対策としてデータ修復機能を有するものであり、上記図3の加算処理におけるステップS11のサブルーチンとして実行される。
ステップS21では、EEPROM13のメイン保存領域M21に記憶されているカウンタ値CNについてnビット位置の値と、エラー判定ビットERRの値とが一致するか否かを判定する。ステップS21がYESの場合、ステップS22に進み、メイン保存領域M21に記憶されているカウンタ値CNをカウンタ値RAMCNとしてRAM12上に読み出す。また、ステップS21がNOの場合、ステップS23に進み、サブ保存領域M22に記憶されているカウンタ値CPCNをカウンタ値RAMCNとしてRAM12上に読み出す。
以上詳述した本実施形態によれば、以下の優れた効果を得ることができる。
EEPROM13のメイン保存領域M21に記憶されているカウンタ値CNについてnビット位置の値と、エラー判定ビットERRの値との照合により書き込み異常の発生が分かり、さらに、EEPROM13のサブ保存領域M22にカウンタ値CPCNを仮保存しているため、該カウンタ値CPCNによってデータ修復を行うことができる。このとき、EEPROM13には同一データを記憶するための2つの記憶領域(メイン保存領域M21及びサブ保存領域M22)を要するが、多数決処理を行うために同一データを3つ以上の記憶領域に記憶する従来技術に比べて、記憶領域の増加が抑制できる。その結果、記憶領域を過分に増加させることを抑制しつつ、しかも書き込み異常が生じた場合において好適なるデータ修復を実施することができる。
メイン保存領域M21をカウンタ値の種別に合わせて複数設ける一方、サブ保存領域M22を共通の仮保存領域として1つのみ設けたため、データ修復用のカウンタ値を仮保存する構成にあって、構成の簡素化を図ることができる。
また、エラー判定データを記憶するためのエラー判定ビットERRを1ビット領域として設けたため、この点でも構成の簡素化に寄与できる。
加算幅である所定値αを2進表記した場合に「1」が出現する最下位ビットの位置をnとし、加算演算後のカウンタ値(カウンタ値RAMCN)においてnビット位置の値をエラー判定ビットERRに書き込むようにしたため、加算演算を行う都度(所定値αを加算する都度)、同カウンタ値においてnビット位置の値が0,1交互に出現することとなる。したがって、エラー判定ビットERRの書き込み処理が正常に行われたが、加算演算後のカウンタ値(カウンタ値RAMCN)をメイン保存領域M21に書き込む処理が異常となる場合(図5(a)のような異常時)において、当該書き込み異常に適正に対処することができる。
また、加算演算後のカウンタ値(カウンタ値RAMCN)をサブ保存領域M22に書き込む処理が異常となる場合(図5(b)のような異常時)には、その異常そのものは把握できないが、前回カウンタ値を用いることで、それまで蓄積したカウンタ値を消滅させることなく加算演算処理を継続的に行わせることができる。
本発明は上記実施形態の記載内容に限定されず、例えば次のように実施されても良い。
上記実施形態では、加算処理において、加算幅である所定値αを「3」としたが、これは一例に過ぎず他の値としても良い。また、カウンタ値の種別ごとに所定値αを変更することも可能である。
上記実施形態では、サブ保存領域M22を、全カウンタ値共通の、単一の作業領域として設けたが、これを変更し、同サブ保存領域M22を2つ以上設けることも可能である。ただしかかる場合にも、全てのカウンタ値に対応させて設けるのではなく、複数のカウンタ値で共通使用するのが望ましい。
上記実施形態では、カウンタ処理として所定値αを逐次加算する加算処理について具体的な実現事例を説明したが、これに代えて、同カウンタ処理として所定値αを逐次減算する減算処理にも本発明が適用できる。
上記実施形態では、不揮発性メモリとしてEEPROMを用いたが、EEPROMの他、フラッシュメモリ、磁気抵抗メモリ(MRAM:Magnetic Random Access Memory)、強誘電体メモリ(FeRAM:Ferroelectric Random Access Memory)、相変化メモリ(OUM:Ovonic Unified Memory)、抵抗変化型RAM(RRAM:Resistive Random Access Memory)などを用いても良い。また、演算手段を、不揮発性メモリ等のメモリとCPUとを1チップ内に具備したSoC(システムオンチップ)や、不揮発性メモリ等のメモリとCPUとを1パッケージ内に具備したSiP(システムインパッケージ)等を用いて構成しても良い。
10…電子制御装置、11…CPU、12…RAM、13…EEPROM(不揮発性メモリ)、M21…メイン保存領域、M22…サブ保存領域、ERR…エラー判定ビット。
Claims (5)
- 電源供給の有無に関係なくデータを継続的に記憶保持でき、かつデータの書き換えが可能な不揮発性メモリと、
あらかじめ定めた加算分又は減算分を加算又は減算するカウンタ処理を実行してそのカウンタ値を前記不揮発性メモリに逐次書き込む演算手段と、
を備えた演算処理装置であって、
前記不揮発性メモリに、前記カウンタ処理による加減算後のカウンタ値を継続的に保存するための第1記憶領域と、同加減算後のカウンタ値を仮保存するための第2記憶領域と、同加減算後のカウンタ値について所定ビットの値をエラー判定データとして記憶するためのエラーデータ記憶領域とを設け、
前記演算手段は、
前記カウンタ処理によるカウンタ値の加減算を実行した後、
(1)加減算後のカウンタ値を前記第2記憶領域に書き込む処理、
(2)前記エラー判定データを前記エラーデータ記憶領域に書き込む処理、
(3)加減算後のカウンタ値を前記第1記憶領域に書き込む処理、
を(1)、(2)、(3)の順序にて行う書き込み手段と、
次回のデータ読み出しに際し、前記第1記憶領域に記憶されているカウンタ値の所定ビットの値と、前記エラーデータ記憶領域に記憶されているエラー判定データとを照合する照合手段と、
前記照合手段による照合結果に基づき、前記第2記憶領域に仮保存したカウンタ値によるデータ修復を行うデータ修復手段と、
を備えたことを特徴とする演算処理装置。 - 前記カウンタ処理の対象として複数のカウンタ値を設定しておき、そのカウンタ値を個別に前記不揮発性メモリに記憶保持する演算処理装置であって、
前記第1記憶領域を前記複数のカウンタ値ごとに複数設ける一方、前記第2記憶領域を共通の仮保存領域として設けた請求項1に記載の演算処理装置。 - 前記エラー判定データは1ビットデータである請求項1又は2に記載の演算処理装置。
- 2進値のカウンタ処理を実行する演算処理装置であって、
前記カウンタ処理における加算分又は減算分を2進表記した場合に「1」が出現する最下位ビットの位置をnとし、前記加減算後のカウンタ値においてnビット位置の値を前記エラー判定データとして前記エラーデータ記憶領域に書き込むとともに、データ読み出しに際し、前記第1記憶領域に記憶されているカウンタ値のnビット位置の値と、前記エラー判定データとを照合する請求項1乃至3のいずれかに記載の演算処理装置。 - あらかじめ定めた加算分又は減算分を加算又は減算するカウンタ処理を実行し、そのカウンタ値を、電源供給の有無に関係なくデータを継続的に記憶保持できかつデータの書き換えが可能な不揮発性メモリに逐次書き込むカウンタ値演算方法であって、
前記不揮発性メモリに、前記カウンタ処理による加減算後のカウンタ値を継続的に保存するための第1記憶領域と、同加減算後のカウンタ値を仮保存するための第2記憶領域と、同加減算後のカウンタ値について所定ビットの値をエラー判定データとして記憶するためのエラーデータ記憶領域とを設けておき、
前記カウンタ処理によるカウンタ値の加減算を実行した後、
(1)加減算後のカウンタ値を前記第2記憶領域に書き込む処理、
(2)前記エラー判定データを前記エラーデータ記憶領域に書き込む処理、
(3)加減算後のカウンタ値を前記第1記憶領域に書き込む処理、
を(1)、(2)、(3)の順序にて行い、
次回のデータ読み出しに際し、前記第1記憶領域に記憶されているカウンタ値の所定ビットの値と、前記エラーデータ記憶領域に記憶されているエラー判定データとを照合し、
前記照合手段による照合結果に基づき、前記第2記憶領域に仮保存したカウンタ値によるデータ修復を行うことを特徴とするカウンタ値演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006252198A JP2008077135A (ja) | 2006-09-19 | 2006-09-19 | 演算処理装置、及びカウンタ値演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006252198A JP2008077135A (ja) | 2006-09-19 | 2006-09-19 | 演算処理装置、及びカウンタ値演算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008077135A true JP2008077135A (ja) | 2008-04-03 |
Family
ID=39349162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006252198A Pending JP2008077135A (ja) | 2006-09-19 | 2006-09-19 | 演算処理装置、及びカウンタ値演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008077135A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003074A (ja) * | 2008-06-19 | 2010-01-07 | Konica Minolta Business Technologies Inc | カウントデータ記録装置、および、カウントデータ記録方法 |
CN102299692A (zh) * | 2011-06-29 | 2011-12-28 | 北京大学 | 一种基于阻变器件的加法器电路 |
-
2006
- 2006-09-19 JP JP2006252198A patent/JP2008077135A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003074A (ja) * | 2008-06-19 | 2010-01-07 | Konica Minolta Business Technologies Inc | カウントデータ記録装置、および、カウントデータ記録方法 |
CN102299692A (zh) * | 2011-06-29 | 2011-12-28 | 北京大学 | 一种基于阻变器件的加法器电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4343945B2 (ja) | 電子制御装置 | |
JP4475320B2 (ja) | 車両用記憶管理装置 | |
US8856614B2 (en) | Semiconductor memory device detecting error | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
JP2008192054A (ja) | 半導体メモリシステム | |
WO2014147906A1 (ja) | データ記憶装置、データの記憶方法および車載用制御装置 | |
JP2010067098A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP5915490B2 (ja) | 電子制御装置 | |
JP6009290B2 (ja) | 車両の電子制御装置 | |
JP2008077135A (ja) | 演算処理装置、及びカウンタ値演算方法 | |
JP2008196441A (ja) | 車両の制御装置 | |
JP6304007B2 (ja) | マイクロコントローラ | |
WO2018079537A1 (ja) | 電子制御装置及びそのデータ保護方法 | |
US11169828B2 (en) | Electronic control unit and method for verifying control program | |
JP2009116521A (ja) | メモリのデータ書替方法 | |
JP4950214B2 (ja) | データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法 | |
JP2005208958A (ja) | マイコンにおけるプログラムエリアのデータ保全方法 | |
JP2009289049A (ja) | メモリ制御装置 | |
JP4353126B2 (ja) | 車両状態判定装置 | |
JP7007223B2 (ja) | 制御装置および異常検出方法 | |
JP4135413B2 (ja) | メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム | |
JP4479775B2 (ja) | 車両制御装置およびプログラム | |
US20100083073A1 (en) | Data processing apparatus, memory controlling circuit, and memory controlling method | |
JP2004021520A (ja) | 車両用電子制御装置 | |
JP2019045952A (ja) | 車両情報記憶装置 |