JP6376006B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6376006B2
JP6376006B2 JP2015049673A JP2015049673A JP6376006B2 JP 6376006 B2 JP6376006 B2 JP 6376006B2 JP 2015049673 A JP2015049673 A JP 2015049673A JP 2015049673 A JP2015049673 A JP 2015049673A JP 6376006 B2 JP6376006 B2 JP 6376006B2
Authority
JP
Japan
Prior art keywords
data
writing
microcomputer
electronic control
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.)
Active
Application number
JP2015049673A
Other languages
English (en)
Other versions
JP2016170604A (ja
Inventor
佑美 北折
佑美 北折
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2015049673A priority Critical patent/JP6376006B2/ja
Priority to DE102016204020.0A priority patent/DE102016204020A1/de
Publication of JP2016170604A publication Critical patent/JP2016170604A/ja
Application granted granted Critical
Publication of JP6376006B2 publication Critical patent/JP6376006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、電子制御装置に関する。
電気的に書き換え可能な不揮発性メモリ(以下、書換可能不揮発性メモリともいう)を備えた電子制御装置が知られている。この種の電子制御装置では、例えば動作パラメータや障害履歴情報など、動作停止後も継続して保存する必要のある保存対象データを、書換可能不揮発性メモリに書き込むことで保存する。また、書換可能不揮発性メモリには、書き込み回数上限値が定められている。そして、書換可能不揮発性メモリの寿命を判断する方法として、特許文献1に記載の技術がある。
特許文献1の技術では、書換可能不揮発性メモリにおいて、書き込むデータをレコード単位に分割し、分割したレコードに1対1に対応するように書き込み回数記録領域を設ける。そして、書換可能不揮発性メモリ内のレコードを書き換える時に、そのレコードに対応した書き込み回数記録領域に保持される書き込み回数を+1加算、更新して、全レコードに対応する書き込み回数記録領域の最大値と、書き込み回数上限値とを比較する。
特開平4−276391号公報
上記特許文献1の技術では、レコード単位のデータの各々について、書換可能不揮発性メモリに書き込み回数記録領域を設けなければならない。このため、書換可能不揮発性メモリに必要な記憶容量(メモリサイズ)が大きくなってしまう。逆に、書換可能不揮発性メモリの記憶容量を大きくすることができないのであれば、保存対象データを記憶するためのデータ記憶領域を大幅に減らさなければならなくなる。つまり、書き込み回数を記憶するための領域が、データ記憶領域を圧迫してしまう。
そこで、本発明は、書換可能不揮発性メモリを備える電子制御装置において、書換可能不揮発性メモリの記憶領域のうち、書き込み回数を記憶するための記憶領域を小さくしつつ、その書換可能不揮発性メモリの寿命判定を行うことができるようにすること、を目的としている。
第1発明の電子制御装置は、電気的に書き換え可能な不揮発性メモリ(書換可能不揮発性メモリ)と、処理部と、を備える。
前記不揮発性メモリには、当該不揮発性メモリへの書き込み実施条件が異なる複数のデータの各々を記憶する複数のデータ記憶領域と、当該不揮発性メモリの最大書き込み回数を記憶する回数記憶領域と、が設けられている。
処理部は、所定の起動条件が成立すると動作を開始し、所定の動作停止条件が成立すると動作を停止する。そして、処理部は、書き込み手段と、カウント手段と、更新手段と、判定手段と、を備える。
書き込み手段は、前記複数のデータの何れかについての書き込み実施条件が成立すると、その書き込み実施条件が成立したデータを、前記不揮発性メモリの前記データ記憶領域のうち、そのデータに対応するデータ記憶領域に書き込む。
カウント手段は、当該処理部が動作を開始してから動作を停止するまでの動作期間毎に、書き込み手段により前記不揮発性メモリに書き込まれたデータの各々について、前記不揮発性メモリへの書き込み回数をカウントする。
更新手段は、前記動作停止条件が成立すると、当該処理部が動作を停止する前に、当該処理部の今回の動作期間においてカウント手段によりカウントされた書き込み回数のうちの最大値と、前記不揮発性メモリの回数記憶領域に記憶されている値とを加算した値を、最大書き込み回数として前記回数記憶領域に更新して書き込む。
判定手段は、前記回数記憶領域に記憶されている最大書き込み回数に基づいて、前記不揮発性メモリの寿命が来たか否かを判定する。
この電子制御装置では、書き込み実施条件が異なる複数のデータのうち、処理部の動作期間毎に書き込み回数が最大となったデータの書き込み回数を、累積加算した値が、前記不揮発性メモリの回数記憶領域に最大書き込み回数として記憶される。
処理部の動作期間毎に書き込み回数が最大となるデータと、電子制御装置が完成してからのトータルの書き込み回数が最大となるデータは、結果的に同じになると考えられる。このため、トータルの書き込み回数が最大となるデータの書き込み回数を累積加算して、前記不揮発性メモリの回数記憶領域に最大書き込み回数として記憶することができる。そして、その最大書き込み回数に基づいて、前記不揮発性メモリの寿命が来たか否かを判定することができる。
この電子制御装置によれば、書換可能不揮発性メモリの記憶領域のうち、書き込み回数を記憶するための記憶領域としては、最大書き込み回数を1つ記憶する分の記憶領域で済む。よって、書換可能不揮発性メモリの記憶領域のうち、書き込み回数を記憶するための記憶領域を小さくしつつ、その書換可能不揮発性メモリの寿命判定を行うことができる。
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
第1実施形態の電子制御装置(ECU)の構成を表す構成図である。 フラッシュメモリに記憶するデータとIDとの組み合わせ、及びフラッシュメモリの記憶領域を表す図である。 第1実施形態の書き込み制御処理を表すフローチャートである。 RAMに一時記憶する書き込み回数の例を表す図である。 第2実施形態の書き込み制御処理を表すフローチャートである。
以下に、本発明が適用された実施形態の電子制御装置について説明する。
[第1実施形態]
図1に示す第1実施形態の電子制御装置(以下、ECUという)1は、例えば車両のエンジンを制御するECUであり、当該ECU1の動作を司る処理部としてのマイクロコンピュータ(以下、マイコンという)3と、電源回路4とを備える。尚、ECUは、「Electronic Control Unit」の略である。
そして、マイコン3は、CPU(Central Processing Unit)5と、CPU5によって実行されるプログラムが記憶されたROM(Read Only Memory)7と、CPU5による演算結果が記憶されるRAM9(Random Access Memory)と、フラッシュメモリ11と、を備える。フラッシュメモリ11は、電気的に書き換え可能な不揮発性メモリ(書換可能不揮発性メモリ)である。尚、フラッシュメモリ11は、マイコン3の外部に設けられていても良い。また、書換可能不揮発性メモリとしては、例えばEEPROMなど、他の種類のメモリでも良い。
電源回路4は、ECU1に供給される動作用電源としてのバッテリ電圧(車載バッテリの電圧)から、一定の電源電圧(例えば5V)を生成して出力する。そして、マイコン3は、その電源回路4からの電源電圧によって動作する。
ECU1には、エンジンを制御するために用いる情報を検出するためのセンサとして、クランク角センサ13、吸気量センサ15、水温センサ17などが接続されている。また、ECU1には、駆動対象としてのインジェクタ19が接続されている。
各センサ13〜17からの信号は、図示しない信号入力回路を介してマイコン3に入力される。マイコン3では、CPU5が、ROM7内のプログラムを実行することにより、各センサ13〜17からの信号に基づいてエンジンに対する燃料噴射量を演算し、その演算結果に基づいてインジェクタ19の駆動を制御する。尚、図示を省略しているが、ECU1には、マイコン3からの噴射指令信号に応じてインジェクタ19に駆動信号を出力する駆動回路も備えられている。
本第1実施形態では、車両の電源スイッチに相当するイグニッションスイッチ(図示省略)がオンされると、ECU1に、給電用のメインリレー(図示省略)を介して、動作用電源としてのバッテリ電圧が供給される。そして、ECU1に動作用電源としてのバッテリ電圧が供給されると、電源回路4から電源電圧が出力されてマイコン3が起動する(つまり、動作を開始する)。マイコン3が動作することは、ECU1が動作することに等しい。また、メインリレーは、イグニッションスイッチのオンに伴って一旦オンすると、イグニッションスイッチがオフされてからもマイコン3の制御によってオンし続けるようになっている。そして、マイコン3は、イグニッションスイッチがオフされたことを検知すると、予め定められた終了処理(いわゆるシャットダウン処理)を実行し、その終了処理の最後でメインリレーをオフさせる。すると、電源回路4からマイコン3への電源電圧の供給が停止して、マイコン3は動作を停止する。マイコン3が動作を停止することは、ECU1が動作を停止することに等しい。尚、本第1実施形態では、イグニッションスイッチのオンが、マイコン3の起動条件に相当し、イグニッションスイッチのオフが、マイコン3の動作停止条件及び電源供給停止条件に相当している。
次に、フラッシュメモリ11の記憶領域及び記憶内容について図2を用い説明する。
フラッシュメモリ11には、ECU1の動作停止後(換言すれば、マイコン3の動作停止後)も継続して保存する必要のあるデータが記憶される。
そして、図2に示すように、フラッシュメモリ11に記憶させるデータ(以下、保存対象データともいう)は、フラッシュメモリ11への記憶タイミング別に分類されている。この例では、記憶タイミングとして、「終了処理」と、「ダイアグ発生時」と、「常時」との、3つのタイミングがある。
「終了処理」の記憶タイミングは、前述の終了処理が実行されるタイミングであり、イグニッションスイッチがオンからオフされたというタイミングである。
このため、記憶タイミングが「終了処理」であるデータ(図2の例では、データA〜データC)は、イグニッションスイッチがオンからオフされると、フラッシュメモリ11に書き込まれるデータである。換言すると、記憶タイミングが「終了処理」であるデータは、イグニッションスイッチがオフされたということが、フラッシュメモリ11への書き込み実施条件になっているデータである。
「ダイアグ発生時」の記憶タイミングは、予め定められた診断対象の異常が検出されたというタイミングである。尚、ダイアグとは、ダイアグノシス(診断)の略である。
このため、記憶タイミングが「ダイアグ発生時」であるデータ(図2の例では、データD〜データK)は、診断対象の異常が検出された場合に、その都度、フラッシュメモリ11に書き込まれるデータである。換言すると、記憶タイミングが「ダイアグ発生時」であるデータは、診断対象の異常が検出されたということが、フラッシュメモリ11への書き込み実施条件になっているデータである。
「常時」の記憶タイミングは、マイコン3の動作中に保存対象データのフラッシュメモリ11への書き込み実施条件が成立した、というタイミングである。
このため、記憶タイミングが「常時」であるデータ(図2の例では、データL〜データZ)は、マイコン3の動作中において、そのデータについて定められた書き込み実施条件が成立した場合に、その都度、フラッシュメモリ11に書き込まれるデータである。
更に、図2に示すように、保存対象データの各々には、識別情報としてのIDが割り当てられている。そして、フラッシュメモリ11への記憶タイミングが同じデータ(換言すれば、書き込み実施条件が同じデータ)には、同じIDが割り当てられている。
図2の例では、記憶タイミングが「終了処理」であるデータのIDは“0”であり、記憶タイミングが「ダイアグ発生時」であるデータのIDは“1”である。そして、記憶タイミングが「常時」であるデータには、“2”以降の番号のIDがそれぞれ割り当てられている。記憶タイミングが「常時」であるデータのうち、同じIDが割り当てられているデータは、フラッシュメモリ11への書き込み実施条件が同じデータである。
また、IDは、フラッシュメモリ11における記憶場所情報としての役割も果たす。
そして、図2に示すように、フラッシュメモリ11には、同じID毎のデータを記憶する複数のデータ記憶領域M0〜M4と、当該フラッシュメモリ11の最大書き込み回数を記憶する回数記憶領域Mmと、が設けられている。データ記憶領域M0〜M4は、書き込み実施条件が異なる複数のデータの各々(即ちID毎のデータ)を記憶する領域である。例えば、IDが“0”であるデータは、データ記憶領域M0に書き込まれ、IDが“1”であるデータは、データ記憶領域M1に書き込まれる。つまり、IDが“n”(nは0以上の整数であり、以下でも同様)であるデータは、“n”というIDに対応するデータ記憶領域Mnに書き込まれる。
尚、図2では、データ記憶領域として、5個のデータ記憶領域M0〜M4を例示しているが、データ記憶領域の数は5個未満でも6個以上でも良い。また、図2には、各記憶領域M0〜M4,Mmのサイズを表すバイト数を記載しているが、その数値も一例である。また、図2の最下段に記載されたIDである“m”は、最大書き込み回数に割り当てられたIDである。
次に、マイコン3が行う書き込み制御処理について、図3を用い説明する。尚、書き込み制御処理は、フラッシュメモリ11にデータを書き込むと共に、フラッシュメモリ11の最大書き込み回数をカウントして寿命判定を行うための処理である。また、マイコン3が行う処理は、実際には、CPU5がROM7内のプログラムを実行することで実現される。
〈概要の説明〉
フラッシュメモリ11への記憶タイミングの発生頻度(換言すれば、書き込み実施条件の成立頻度)の違いにより、最大書き込み回数のカウントが必要なデータのIDは、予め絞り込むことができる。
本実施形態では、記憶タイミングの発生頻度が、「常時」>「終了処理」>「ダイアグ発生時」の順に多いものとする。
ここで、車両の一生(例えば保証年数、あるいは、車両の走行距離が保証距離に到達するまでの期間)における各記憶タイミングの発生回数を考えてみる。
前述したように、「ダイアグ発生時」の記憶タイミングは、診断対象の異常が検出されたタイミングであるため、そのタイミングの発生回数は、他の記憶タイミングの発生回数と比べると、格段に少ないと考えられる。診断対象の異常が頻繁に発生するとは考えられないからである。このため、記憶タイミングが「ダイアグ発生時」であるデータの書き込み回数は、最大書き込み回数をカウントする上では無視して除外することができる。
また、「終了処理」の記憶タイミングは、マイコン3の1回の動作期間につき1回だけ発生する。一方、「常時」の記憶タイミングは、マイコン3の1回の動作期間において複数回発生し得る。例えば、記憶タイミングが「常時」であるデータのうち、IDが“2”であるデータ(図2の例では、データL〜データR)の書き込み実施条件は、所定の操作部に対する操作が行われたという条件である。また、IDが“3”であるデータ(図2の例では、データS〜データX)の書き込み実施条件は、上記操作部とは別の操作部に対する操作が行われたという条件である。また、IDが“4”であるデータ(図2の例では、データY,データZ)の書き込み実施条件は、車両のエンジンを自動的に停止させるアイドリングストップが実施されたという条件である。よって、記憶タイミングが「常時」である各データの書き込み回数は、記憶タイミングが「終了処理」であるデータの書き込み回数よりも多くなると予想できる。このため、記憶タイミングが「終了処理」であるデータの書き込み回数も、最大書き込み回数をカウントする上では除外することができる。
以上のことから、マイコン3は、動作を開始してから動作を停止するまでの動作期間において、記憶タイミングが「常時」のデータ(即ち、IDが“2”以上の番号であるデータ)を対象に、フラッシュメモリ11への書き込み回数をカウントする。この動作期間における書き込み回数のカウントは、RAM9上でID毎に行う。
尚、RAM9上でカウントするとは、カウント対象値をRAM9に記憶して、そのRAM9に記憶しているカウント対象値を更新していくことである。また、以下の説明において、ID毎の書き込み回数とは、ID毎のデータの書き込み回数であり、換言すれば、ID毎のデータ記憶領域M0〜M4に対する書き込み回数である。
ID毎の書き込み回数をフラッシュメモリ11に記憶させるように構成すると、フラッシュメモリ11の記憶領域のうち、データ記憶領域として使用できる領域が減ってしまうため、ID毎の書き込み回数はRAM9に記憶させてカウントしている。本実施形態において、フラッシュメモリ11に記憶する書き込み回数は、ただ1つの最大書き込み回数である。
そして、マイコン3は、動作停止条件が成立すると(この例では、イグニッションスイッチがオフされると)、今回の動作期間においてRAM9上でカウントされたID毎の書き込み回数のうちの最大値を用いて、フラッシュメモリ11の回数記憶領域Mm内の最大書き込み回数を更新する。具体的には、RAM9上でカウントされたID毎の書き込み回数のうちの最大値と、回数記憶領域Mmに記憶されている値とを加算した値を、最大書き込み回数として回数記憶領域Mmに更新して書き込む。
〈処理内容の説明〉
マイコン3は、図3の書き込み制御処理を例えば一定時間毎に行う。また、マイコン3は、イグニッションスイッチがオフされてから動作を停止するまで(この例ではメインリレーをオフさせるまで)の間に、図3の書き込み制御処理を少なくとも1回は実行する。
図3に示すように、マイコン3は、書き込み制御処理を開始すると、まずS110にて、何れかのデータについてのフラッシュメモリ11への書き込み要求があるか否かを判定する。尚、マイコン3において、書き込み要求は、ID毎に発生してRAM9の所定領域に記憶される情報(例えばフラグ)である。そして、IDが“n”であるデータについての書き込み要求は、IDが“n”であるデータについての書き込み実施条件が成立すると、RAM9の上記所定領域に記憶される。よって、マイコン3は、S110では、何れかのIDに対応する書き込み要求がRAM9の上記所定領域に記憶されているか否かを判定することとなる。
マイコン3は、S110にて、書き込み要求があると判定した場合には、S120に進み、あると判定した書き込み要求に対応するデータ(つまり、書き込み実施条件が成立したデータ)を、フラッシュメモリ11に書き込む。詳しくは、マイコン3は、あると判定した書き込み要求に対応するデータを、フラッシュメモリ11のデータ記憶領域M0〜M4のうち、そのデータに対応するデータ記憶領域に書き込む。例えば、あると判定した書き込み要求が、IDが“2”のデータについての書き込み要求であれば、IDが“2”のデータを、フラッシュメモリ11のデータ記憶領域M2に書き込む。そして、マイコン3は、フラッシュメモリ11への書き込みを完了したデータについての書き込み要求はRAM9から消去する。また、マイコン3は、複数の書き込み要求があった場合には、S120では、複数の書き込み要求のうちの1つを選択し、その選択した書き込み要求に対応するデータをフラッシュメモリ11に書き込むと共に、その選択した書き込み要求をRAM9から消去する。
マイコン3は、次のS130にて、直前のS120でフラッシュメモリ11に書き込んだデータの記憶タイミングが「常時」であるか否かを判定する。具体的には、フラッシュメモリ11に書き込んだデータのIDが、“2”以上の番号であるか否かを判定する。そして、マイコン3は、書き込んだデータの記憶タイミングが「常時」であると判定した場合には、S140に進む。
マイコン3は、S140では、S120でフラッシュメモリ11に書き込んだデータの書き込み回数(換言すれば、書き込んだデータのIDに対応する書き込み回数)をインクリメントする。
具体的に説明すると、RAM9にはID毎の書き込み回数が記憶される。また、RAM9に記憶されるID毎の書き込み回数は、マイコン3の動作開始直後に実行される処理によって0に初期化されるようになっている。そして、マイコン3は、S140では、RAM9に記憶されているID毎の書き込み回数のうち、S120でフラッシュメモリ11に書き込んだデータのIDに対応する書き込み回数を読み出して、その読み出した書き込み回数をインクリメントする。インクリメントの演算結果は、マイコン3の内部レジスタに格納される。
そして、マイコン3は、次のS150にて、S140でインクリメントした後の書き込み回数をRAM9に更新して記憶する。このため、S120でフラッシュメモリ11に書き込んだデータのIDに対応する書き込み回数は、RAM9上でカウント(インクリメント)されることとなる。
マイコン3は、上記S150の処理を行った後、S160に進む。
また、マイコン3は、上記S130にて、フラッシュメモリ11に書き込んだデータの記憶タイミングが「常時」ではないと判定した場合には、S140,S150の処理を行うことなく、S160に進む。
マイコン3は、S160では、他の書き込み要求があるか否かを判定する。他の書き込み要求とは、RAM9の上記所定領域に記憶されたものの、フラッシュメモリ11への書き込みが未だ実施されていないデータについての書き込み要求である。そして、マイコン3は、S160にて、他の書き込み要求があると判定した場合には、S110に戻る。マイコン3は、この場合のS110では、書き込み要求があると判定して、S120以降の処理を再び行うこととなる。
また、マイコン3は、上記S160にて、他の書き込み要求がないと判定した場合には、S170に進む。また、マイコン3は、上記S110にて、書き込み要求がないと判定した場合にも、S170に進む。
マイコン3は、S170では、フラッシュメモリ11の回数記憶領域Mmから、最大書き込み回数を読み出してRAM9に記憶する。
そして、マイコン3は、次のS180にて、RAM9に記憶されているID毎の書き込み回数のうちの最大値を選択する。
マイコン3は、次のS190にて、S180で選択した最大値を、S170でフラッシュメモリ11から読み出した最大書き込み回数に加算することにより、最大書き込み回数をRAM9上で更新する。
そして、マイコン3は、次のS200にて、S190で更新した最大書き込み回数が、フラッシュメモリ11の書き込み回数上限値を超えているか否かを判定する。書き込み回数上限値は、フラッシュメモリ11について定められている規格値のうち、データの保持能力が保証される書き込み回数の上限値である。
マイコン3は、上記S200にて、更新後の最大書き込み回数が書き込み回数上限値を超えていないと判定した場合には、S210に進む。
そして、マイコン3は、S210では、終了処理が発生したか否かを判定する。
終了処理が発生するとは、終了処理の実施条件が成立したということであり、この例では、イグニッションスイッチがオフされたということである。また、S210にて、終了処理が発生したと判定される場合には、今回の当該書き込み制御処理が開始される前に、記憶タイミングが「終了処理」であるデータ(IDが“0”であるデータ)についての書き込み要求が発生している。このため、上記S120により、IDが“0”であるデータのフラッシュメモリ11への書き込みが実施される。
マイコン3は、上記S210にて、終了処理が発生していないと判定した場合には、そのまま当該書き込み制御処理を終了するが、上記S210にて、終了処理が発生したと判定した場合には、S220に進む。
マイコン3は、S220では、S190で更新した最大書き込み回数を、フラッシュメモリ11の回数記憶領域Mmに更新して書き込む。つまり、回数記憶領域Mmに記憶されている最大書き込み回数を、S190で更新した最大書き込み回数に書き換える。
そして、マイコン3は、S220の処理を行った後、当該書き込み制御処理を終了する。その後、マイコン3は、終了処理を実行することによりメインリレーをオフさせて、動作を停止することとなる。
また、マイコン3は、上記S200にて、S190で更新した最大書き込み回数が書き込み回数上限値を超えたと判定した場合には、フラッシュメモリ11の寿命が来たと判断して、S230に進む。
そして、マイコン3は、S230では、フラッシュメモリ11の寿命が来たという異常を車両のユーザ(ECU1のユーザでもある)に知らせるための異常報知処理を行い、その後、当該書き込み制御処理を終了する。異常報知処理としては、例えば、フラッシュメモリ11の寿命が来たことを示すメッセージを車内のディスプレイに表示する処理や、フラッシュメモリ11の寿命が来たことを示す警告灯を点灯させる処理等であるが、他の処理でも良い。このような異常報知処理が行われることにより、車両のユーザは、車両の構成部品(即ちECU1)の修理又は交換の必要性を知ることができる。
マイコン3は、図3の書き込み制御処理を実行することにより、下記の各手段として機能している。
・複数のデータ(保存対象データ)の何れかについての書き込み実施条件が成立すると(S110:YES)、その書き込み実施条件が成立したデータを、フラッシュメモリ11のデータ記憶領域M0〜M4のうち、そのデータのIDに対応したデータ記憶領域に書き込む手段(S120)。
・マイコン3の動作期間毎に、フラッシュメモリ11に書き込まれたデータのうち、記憶タイミングが「常時」であるデータの各々について、フラッシュメモリ11への書き込み回数をRAM9上でカウントする手段(S130〜S150)。
・動作停止条件が成立すると(S210:YES)、当該マイコン3が動作を停止する前に、今回の動作期間においてRAM9上でカウントされた各データの書き込み回数のうちの最大値と、フラッシュメモリ11の回数記憶領域Mmに記憶されている値とを加算した値を、最大書き込み回数として回数記憶領域Mmに更新して書き込む手段(S220)。
・フラッシュメモリ11の回数記憶領域Mmに記憶されている最大書き込み回数に基づいて、フラッシュメモリ11の寿命が来たか否か判定する手段(S170〜S200)。
以上のようなECU1では、書き込み実施条件が異なる複数のデータのうち、マイコン3の動作期間毎に書き込み回数が最大となったデータの書き込み回数が、累積加算される。そして、その累積加算値がフラッシュメモリ11の回数記憶領域Mmに最大書き込み回数として記憶される。
例えば図4に示すように、マイコン3の1回の動作期間において、書き込み回数のカウント対象となったデータのうち、IDが“2”であるデータの書き込み回数が25となり、その25が、各データの書き込み回数のうちの最大値であったとする。この場合、フラッシュメモリ11の回数記憶領域Mmに記憶される最大書き込み回数を更新することについて、25以外の書き込み回数は無視される。つまり、マイコン3が動作を終了する際に、フラッシュメモリ11の回数記憶領域Mmに記憶される最大書き込み回数は、今回の最大値である上記25だけ増加されることとなる。
マイコン3の動作期間毎に書き込み回数が最大となるデータと、ECU1が完成してからのトータルの書き込み回数が最大となるデータは、結果的に同じになると考えられる。このため、トータルの書き込み回数が最大となるデータの書き込み回数を動的に選択して累積加算し、その累積加算値をフラッシュメモリ11の回数記憶領域Mmに最大書き込み回数として記憶することができる。そして、その最大書き込み回数に基づいて、フラッシュメモリ11の寿命が来たか否かを判定することができる。
また例えば、ある回の動作期間では、IDが“2”であるデータの書き込み回数が最大になり、別の回の動作期間では、IDが“3”であるデータの書き込み回数が最大になった、というように、書き込み回数が最大となるデータが、マイコン3の動作期間毎の異なったとする。そのような場合でも、書き込み回数が最大となった各データの書き込み回数の差は小さいと考えられる。よって、回数記憶領域Mmに記憶される最大書き込み回数の真値からの誤差は許容できる程度になる。
本実施形態のECU1によれば、フラッシュメモリ11の記憶領域のうち、書き込み回数を記憶するための記憶領域としては、最大書き込み回数を1つ記憶する分の記憶領域で済む。
比較例として、ID毎の書き込み回数をフラッシュメモリ11に記憶させるように構成したとする。その場合、例えば、書き込み回数の記憶領域がそれぞれ4バイト(byte)で、IDの数が1000個であるとすると、書き込み回数の記憶領域だけで4キロバイトが必要となる。フラッシュメモリ11のサイズが32キロバイトであるとすると、その4キロバイトは全体の12.5%にまで及ぶ大きさである。
これに対して、本実施形態のECU1によれば、フラッシュメモリ11には、書き込み回数として、最大書き込み回数を1つ記憶するだけで済むため、フラッシュメモリ11に記憶可能なデータ量を大きくしつつ、フラッシュメモリ11の寿命判定を行うことができる。
また、マイコン3は、動作中において、定期的に(具体的には、図3の書き込み制御処理を行う毎に)、RAM9上でカウントしているID毎の書き込み回数のうちの最大値と、回数記憶領域Mmに記憶されている最大書き込み回数とを加算する(S170〜S190)。更に、その加算した値が書き込み回数上限値(規定値に相当)を超えたか否かを判定する(S200)。そして、加算した値が書き込み回数上限値を超えたなら(S200:YES)、フラッシュメモリ11の寿命が来たと判断している。
このため、マイコン3の動作中において、フラッシュメモリ11の寿命が来たことを、早期に検出することができる。
比較例として、図3の書き込み制御処理では、S200の判定処理を、S220の後に実施しても良いが、そのようにするよりも、フラッシュメモリ11の寿命の到来を早く検知することができる。
また、マイコン3は、フラッシュメモリ11の寿命が来たと判断した場合には(S200:YES)、前述の異常報知処理(S230)を行うため、車両のユーザに、ECU1の修理又は交換を促すことができる。
また、前述した通り、マイコン3はID毎の書き込み回数をRAM9上でカウントするため、ID毎の書き込み回数を記憶するための記憶領域を、フラッシュメモリ11に確保する必要がない。
また、マイコン3は、保存対象データのうち、記憶タイミングが「ダイアグ発生時」と「終了処理」との何れかであるデータ(特定のデータに相当)については、書き込み回数をカウントする対象から除外している(S130:NO)。このため、書き込み回数をカウントするための処理負荷及びリソースを低減することができる。
また、マイコン3は、イグニッションスイッチがオフされてから、当該マイコン3への電源電圧の供給が停止するまでの間に、回数記憶領域Mm内の最大書き込み回数を更新する。このため、マイコン3が動作を停止する直前に回数記憶領域Mm内の最大書き込み回数を確実に更新することができる。
[第2実施形態]
次に、第2実施形態のECUについて説明するが、ECUの符号としては、第1実施形態と同じ“1”を用いる。また、第1実施形態と同様の構成要素や処理についても、第1実施形態と同じ符号を用いる。
第2実施形態のECU1は、第1実施形態のECU1と比較すると、下記《1》〜《5》の点が異なる。
《1》ECU1にはバッテリ電圧が常時供給されており、電源回路4からマイコン3へも電源電圧が常時供給されている。
《2》マイコン3は、所定のスリープ条件が成立すると電源電圧が供給されたまま動作を停止するスリープ状態(低消費電力モード)に移行する。また、マイコン3は、スリープ状態の場合に、所定のウェイクアップ条件が成立すると、ウェイクアップして動作を開始する(つまり、通常動作状態になる)。スリープ条件としては、例えば、ECU1の外部からマイコン3に入力される全てのセンサ信号や通信信号が所定時間以上継続して非アクティブレベルである、といった条件が考えられる。また、ウェイクアップ条件としては、例えば、ECU1の外部からマイコン3に入力されるセンサ信号や通信信号のうちの何れかがアクティブレベルになった、という条件が考えられる。
《3》RAM9に記憶されるID毎の書き込み回数は、マイコン3のウェイクアップ直後に実行される処理によって0に初期化される。
《4》マイコン3は第1実施形態で述べた終了処理を行わないため、記憶タイミングが「終了処理」であるデータはない。尚、スリープ条件が成立するとフラッシュメモリ11に書き込まれるデータ(換言すれば、スリープ条件の成立が書き込み実施条件になっているデータ)があっても良い。
《5》マイコン3は、動作中においては、図3の書き込み制御処理に代えて、図5の書き込み制御処理を一定時間毎に実行する。また、マイコン3は、スリープ条件が成立してからスリープ状態になるまでの間に、図5の書き込み制御処理を少なくとも1回は実行する。
図5の書き込み制御処理は、図3の書き込み制御処理と比較すると、S210に代えて、S215が設けられている。
マイコン3は、S215では、スリープが発生したか否かを判定する。スリープが発生するとは、スリープ条件が成立したということである。そして、マイコン3は、S215にて、スリープが発生していないと判定した場合には、そのまま当該書き込み制御処理を終了する。
また、マイコン3は、上記S215にて、スリープが発生したと判定した場合には、S220の処理を行った後、当該書き込み制御処理を終了する。その後、マイコン3は、スリープ状態になる。
つまり、第2実施形態において、マイコン3は、スリープ条件が成立すると、スリープ状態になるまでの間に、フラッシュメモリ11の回数記憶領域Mm内の最大書き込み回数を更新している。そして、この第2実施形態のECU1によっても、第1実施形態のECU1について述べた効果と同様の効果が得られる。尚、第2実施形態では、ウェイクアップ条件がマイコン3の起動条件に相当し、スリープ条件がマイコン3の動作停止条件に相当している。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
例えば、ECU1の制御対象は、車両のエンジンに限らず、トランスミッションや発電装置(オルタネータ)等でも良い。また、上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述したECUの他、当該ECUを構成要素とするシステム、当該ECUとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、書換可能不揮発性メモリの寿命判定方法など、種々の形態で本発明を実現することもできる。
1…ECU(電子制御装置)、3…マイコン(マイクロコンピュータ)、11…フラッシュメモリ、M0〜M4…データ記憶領域、Mm…回数記憶領域

Claims (6)

  1. 電気的に書き換え可能な不揮発性メモリ(11)と、
    所定の起動条件が成立すると動作を開始し、所定の動作停止条件が成立すると動作を停止する処理部(3)と、
    を備える電子制御装置(1)において、
    前記不揮発性メモリには、当該不揮発性メモリへの書き込み実施条件が異なる複数のデータの各々を記憶する複数のデータ記憶領域(M0〜M4)と、当該不揮発性メモリの最大書き込み回数を記憶する回数記憶領域(Mm)と、が設けられており、
    前記処理部は、
    前記複数のデータの何れかについての書き込み実施条件が成立すると、その書き込み実施条件が成立したデータを、前記不揮発性メモリの前記データ記憶領域のうち、そのデータに対応するデータ記憶領域に書き込む書き込み手段(S120)と、
    当該処理部が動作を開始してから動作を停止するまでの動作期間毎に、前記書き込み手段により前記不揮発性メモリに書き込まれたデータの各々について、前記不揮発性メモリへの書き込み回数をカウントするカウント手段(S130〜S150)と、
    前記動作停止条件が成立すると、当該処理部が動作を停止する前に、当該処理部の今回の動作期間において前記カウント手段によりカウントされた書き込み回数のうちの最大値と、前記不揮発性メモリの前記回数記憶領域に記憶されている値とを加算した値を、前記最大書き込み回数として前記回数記憶領域に更新して書き込む更新手段(S220)と、
    前記回数記憶領域に記憶されている前記最大書き込み回数に基づいて、前記不揮発性メモリの寿命が来たか否か判定する判定手段(S170〜S200)と、
    を備えることを特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記判定手段は、前記処理部の動作中において定期的に、前記カウント手段によりカウントされた書き込み回数のうちの最大値と、前記回数記憶領域に記憶されている前記最大書き込み回数とを加算して、その加算した値が規定値を超えたか否かを判定し、前記加算した値が前記規定値を超えたなら、前記不揮発性メモリの寿命が来たと判定すること、
    を特徴とする電子制御装置。
  3. 請求項1又は請求項2に記載の電子制御装置において、
    前記カウント手段は、前記書き込み回数をRAM(9)上でカウントすること、
    を特徴とする電子制御装置。
  4. 請求項1ないし請求項3の何れか1項に記載の電子制御装置において、
    前記カウント手段は、前記複数のデータのうち、特定のデータについては、前記書き込み回数をカウントする対象から除外すること、
    を特徴とする電子制御装置。
  5. 請求項1ないし請求項4の何れか1項に記載の電子制御装置において、
    所定の電源供給停止条件が成立すると、前記処理部への電源電圧の供給が停止して前記処理部が動作を停止するようになっており、
    前記動作停止条件は、前記電源供給停止条件であること、
    を特徴とする電子制御装置。
  6. 請求項1ないし請求項4の何れか1項に記載の電子制御装置において、
    前記処理部は、所定のスリープ条件が成立すると電源電圧が供給されたまま動作を停止するスリープ状態に移行するようになっており、
    前記動作停止条件は、前記スリープ条件であること、
    を特徴とする電子制御装置。
JP2015049673A 2015-03-12 2015-03-12 電子制御装置 Active JP6376006B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015049673A JP6376006B2 (ja) 2015-03-12 2015-03-12 電子制御装置
DE102016204020.0A DE102016204020A1 (de) 2015-03-12 2016-03-11 Elektronische Steuereinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015049673A JP6376006B2 (ja) 2015-03-12 2015-03-12 電子制御装置

Publications (2)

Publication Number Publication Date
JP2016170604A JP2016170604A (ja) 2016-09-23
JP6376006B2 true JP6376006B2 (ja) 2018-08-22

Family

ID=56801234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015049673A Active JP6376006B2 (ja) 2015-03-12 2015-03-12 電子制御装置

Country Status (2)

Country Link
JP (1) JP6376006B2 (ja)
DE (1) DE102016204020A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690844B (zh) * 2019-02-01 2020-04-11 新唐科技股份有限公司 電子裝置及裝置喚醒方法
JP2024055220A (ja) 2022-10-06 2024-04-18 トヨタ自動車株式会社 ストレージ異常検知装置、ストレージ異常検知方法、及びストレージ異常検知プログラム
JP2024072731A (ja) 2022-11-16 2024-05-28 トヨタ自動車株式会社 情報処理装置、車両、情報処理方法、及び情報処理プログラム
JP2024080321A (ja) 2022-12-02 2024-06-13 トヨタ自動車株式会社 情報処理装置、情報処理プログラム、及びデータの書き込み回数管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04276391A (ja) 1991-03-05 1992-10-01 Fujitsu Ltd 電気的に書き替え可能な不揮発性メモリの書き込み方式
JPH09120376A (ja) * 1995-10-25 1997-05-06 Fujitsu Ten Ltd データ処理装置
JP2009259159A (ja) * 2008-04-21 2009-11-05 Seiko Epson Corp メモリコントローラ、メモリのアクセス制御方法、および電子機器
US8566506B2 (en) * 2009-08-07 2013-10-22 Intel Corporation Tracking a lifetime of write operations to a non-volatile memory storage
JP2014130530A (ja) * 2012-12-28 2014-07-10 Auto Network Gijutsu Kenkyusho:Kk 制御装置及び制御方法

Also Published As

Publication number Publication date
DE102016204020A1 (de) 2016-09-15
JP2016170604A (ja) 2016-09-23

Similar Documents

Publication Publication Date Title
JP4636118B2 (ja) 電子機器及びプログラム
US7369926B2 (en) On-vehicle electronic control unit
EP1950398B1 (en) Electronic control apparatus
JP6376006B2 (ja) 電子制御装置
JP4572751B2 (ja) 電子制御装置
CN105083168B (zh) 控制器唤醒特征的控制和诊断
JP5176728B2 (ja) 車両用電子制御装置
US8095263B2 (en) Electronic control unit and vehicle control system
JP2006307721A (ja) 車両用電子制御装置
US7210055B2 (en) Electronic control apparatus
US7203581B2 (en) Electronic control unit for controlling updating of data in non-volatile memory
US20160117132A1 (en) Method for optimizing the use of a non-volatile memory in a motor vehicle computer for monitoring a functional member
JP4600510B2 (ja) 制御装置およびプログラム
JP5223630B2 (ja) 電子制御装置
CN111042932B (zh) 停机时间获取方法、装置及电子控制单元
WO2018079537A1 (ja) 電子制御装置及びそのデータ保護方法
JP2011100416A (ja) 車載電子制御装置およびメモリ制御方法
JP2014206905A (ja) 書き込み装置
JP2000257502A (ja) 自動車用電子制御装置
JP2001323836A (ja) クランク同期タスクの異常検出方法
JP3211708B2 (ja) 車両制御装置
JP2012256386A (ja) プログラム書込システム
JP2006291720A (ja) 制御装置
JP5628142B2 (ja) 電子制御装置
JP2009083777A (ja) 車両制御装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180709

R151 Written notification of patent or utility model registration

Ref document number: 6376006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250