Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5643708B2 - 電子制御装置 - Google Patents
[go: Go Back, main page]

JP5643708B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP5643708B2
JP5643708B2 JP2011074828A JP2011074828A JP5643708B2 JP 5643708 B2 JP5643708 B2 JP 5643708B2 JP 2011074828 A JP2011074828 A JP 2011074828A JP 2011074828 A JP2011074828 A JP 2011074828A JP 5643708 B2 JP5643708 B2 JP 5643708B2
Authority
JP
Japan
Prior art keywords
block
data
blank
flash memory
cpu
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
Application number
JP2011074828A
Other languages
English (en)
Other versions
JP2012208803A (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.)
Astemo Ltd
Original Assignee
Keihin 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 Keihin Corp filed Critical Keihin Corp
Priority to JP2011074828A priority Critical patent/JP5643708B2/ja
Publication of JP2012208803A publication Critical patent/JP2012208803A/ja
Application granted granted Critical
Publication of JP5643708B2 publication Critical patent/JP5643708B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、電子制御装置に関する。
近年の車載ECU(Electronic Control Unit)は、イグニション・オン期間中に一定周期で取得した車両情報をバックアップデータとしてRAM(Random Access Memory)等の揮発性メモリに上書き保存しておき、所定条件の成立をトリガとして、揮発性メモリに保存されているバックアップデータをフラッシュメモリ等の不揮発性メモリに保存するバックアップ機能を備えている。
例えば下記特許文献1には、フラッシュメモリをバックアップ用の不揮発性メモリとして備える車載ECUにおいて、フラッシュメモリの記憶領域に常に消去済み領域を確保しておき、RAMに保存されているバックアップデータをフラッシュメモリに保存する際には、消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行う技術が開示されている。
特開2010−113580号公報
上記特許文献1の技術では、例えばフラッシュメモリのデータ消去中或いはデータ書込み中にCPU(Central Processing Unit)がリセットされると、フラッシュメモリのデータが不定となるため、故障を報知するための信号を出力する機能をCPUに持たせる必要があった(文献中の段落0035参照)。
また、従来では、バックアップデータの確からしさを、それらバックアップデータのSUM値を用いて判断していたが、フラッシュメモリのデータ消去中或いはデータ書込み中にCPUがリセットされると、正確なSUM値が得られなくなり、バックアップデータの確からしさを判断できなくなる可能性がある。
本発明は上述した事情に鑑みてなされたものであり、フラッシュメモリのデータ消去中或いはデータ書込み中に、フラッシュメモリのデータ消去動作或いは書込み動作を中断させるような事象が発生した場合でも、適切なバックアップ動作を継続可能な電子制御装置を提供することを目的とする。
上記目的を達成するために、本発明では、電子制御装置に係る第1の解決手段として、揮発性メモリと、フラッシュメモリと、前記揮発性メモリに保存されているバックアップデータを所定条件の成立をトリガとして前記フラッシュメモリに保存するメモリ制御部とを備える電子制御装置であって、前記メモリ制御部は、電源投入時において、前記フラッシュメモリの消去単位ブロックの内、データが全く保存されていない消去単位ブロックをブランクブロックとして特定し、前記ブランクブロックを基準として消去すべき消去単位ブロックを消去ブロックとして特定すると共に最新データが保存されている消去単位ブロックを最新ブロックとして特定することを特徴とする。
また、本発明では、電子制御装置に係る第2の解決手段として、上記第1の解決手段において、前記メモリ制御部は、前記ブランクブロックの1つ先の消去単位ブロックを前記消去ブロックとして特定すると共に、前記ブランクブロックの1つ前の消去単位ブロックを前記最新ブロックとして特定することを特徴とする。
また、本発明では、電子制御装置に係る第3の解決手段として、上記第2の解決手段において、前記メモリ制御部は、前記最新ブロックとして特定した消去単位ブロックにデータが保存されていない領域が一部でも存在する場合、最初に特定した前記ブランクブロックの1つ前の消去単位ブロックを前記消去ブロック及びブランクブロックとして改めて特定すると共に、最初に特定した前記ブランクブロックの2つ前の消去単位ブロックを前記最新ブロックとして改めて特定することを特徴とする。
また、本発明では、電子制御装置に係る第4の解決手段として、上記第2または第3の解決手段において、前記メモリ制御部は、前記最新ブロックとして特定した消去単位ブロックに保存されているデータを読み出して前記揮発性メモリに保存することを特徴とする。
本発明に係る電子制御装置によれば、フラッシュメモリのデータ消去中或いはデータ書込み中に、リセットやイグニション・オンなど、フラッシュメモリのデータ消去動作或いは書込み動作を中断させるような事象が発生した場合でも、適切なバックアップ動作を継続可能である。
本実施形態に係るECU1のブロック構成図である。 (a)はRAM12及びフラッシュメモリ13の記憶領域の構造を模式的に表した図であり、(b)〜(e)はブランクブロック、一部ブランクブロック及び読出し可能ブロックの定義を表す図である。 CPU15がイグニション・オン時に実行するイニシャル処理の詳細を表すフローチャートである。 ECU1のバックアップ動作に際して、フラッシュメモリ13の各ブロックの状態がどのように変化するのかを表した図である。
以下、本発明の一実施形態について、図面を参照しながら説明する。なお、以下では、本発明に係る電子制御装置として、車両に搭載され、イグニション・オン期間中に一定周期で取得した車両情報をバックアップデータとしてRAMに上書き保存しておき、所定条件の成立をトリガとして、RAMに保存されているバックアップデータをフラッシュメモリに保存するバックアップ機能を備えたECUを例示して説明する。
図1は、本実施形態に係るECU1のブロック構成図である。この図に示すように、ECU1は、ROM(Read Only Memory)11、RAM12、フラッシュメモリ13、通信回路14及びCPU15を備えている。
ROM11は、CPU15に各種処理を実行させるための制御プログラムや各種設定データを予め記憶している不揮発性メモリである。RAM12は、CPU15が各種処理を実行する際にバックアップデータを含む各種データの一時保存先として用いられる書き換え可能な揮発性メモリである。フラッシュメモリ13は、CPU15による制御に応じて、RAM12に一時的に保存されたバックアップデータを保存する書き換え可能な不揮発性メモリである。
図2(a)は、RAM12及びフラッシュメモリ13の記憶領域の構造を模式的に表した図である。この図2(a)に示すように、RAM12には、バックアップデータ保存用の記憶領域として例えば8kバイトの領域が確保されている。この8kバイトの記憶領域の内、例えばアドレス「0000」〜「1FF7」までの領域にバックアップデータ(実データ)が保存され、アドレス「1FF8」〜「1FFB」までの4バイトの領域にバックアップデータのSUM値が保存され、アドレス「1FFC」〜「1FFF」までの4バイトの領域に書込み完了コードが保存される。
また、図2(a)に示すように、フラッシュメモリ13には、バックアップデータ保存用の記憶領域として例えば32kバイトの領域が確保されている。この32kバイトの記憶領域は、それぞれ8kバイトの記憶容量を有する4つの消去単位ブロックに区分されている。公知のように、フラッシュメモリ13は、記憶領域内のある一定範囲の領域に保存されているデータを一括消去する機能を有しており、その一括消去可能な最小範囲を消去単位ブロックと呼ぶ。
つまり、フラッシュメモリ13の各消去単位ブロックは、それぞれRAM12に保存された8kバイト分のバックアップデータ(SUM値及び書込み完了コードも含む)を保存可能な記憶容量を有している。なお、以下では、4つの消去単位ブロックを、先頭アドレスの小さい方から順にブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕と呼ぶ。
また、以下では、図2(b)のような、データが全く保存されていないブロック(つまり全領域ブランクのブロック)をブランクブロックと呼ぶ。また、図2(c)のような、前半ブランク無し(データ有り)で後半ブランク(書込み完了コード無し)のブロック、或いは図2(d)のような、前半ブランク(データ無し)で後半ブランク無し(書込み完了コード有り)のブロック、つまりデータが保存されていない領域が一部でも存在するブロックを一部ブランクブロックと呼ぶ。また、図2(e)のような、SUM値及び書込み完了コードも含むバックアップデータの全てが保存されているブロックを読出し可能ブロックと呼ぶ。
図1に戻り、通信回路14は、ECU1(正確にはCPU15)と他の車載ECU或いは各種センサ(図示省略)とのシリアル通信を実現するシリアル通信インターフェースである。CPU15(メモリ制御部)は、ROM11に記憶されている制御プログラムに従って各種処理を実行する中央演算処理装置である。
このCPU15は、イグニション・オン期間中(電源オン期間中)に、通信回路14を介して他の車載ECU或いは各種センサから一定周期で取得した車両情報をバックアップデータとしてRAM12に上書き保存し、所定条件の成立(イグニション・オフ)をトリガとして、RAM12に保存されているバックアップデータをフラッシュメモリ13に保存するバックアップ機能を有している。
なお、図1では図示を省略しているが、ECU1はイグニション・オフ、つまりバッテリによる電源電圧の供給が停止した後、ROM11、RAM12、フラッシュメモリ13、通信回路14及びCPU15等の各電子部品に電源電圧を一定時間供給するバックアップ電源(例えばバックアップコンデンサ)を備えている。つまり、CPU15は、イグニションがオフされると、上記のバックアップ電源から電源電圧の供給を受けながらバックアップ処理(フラッシュメモリ13へのバックアップデータの保存)を実行する。
また、詳細は後述するが、CPU15は、電源投入時(イグニション・オン時)のイニシャル処理として、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の内、データが全く保存されていないブロックをブランクブロックとして特定し、このブランクブロックを基準として消去すべきブロックを消去ブロックとして特定すると共に最新データが保存されているブロックを最新ブロックとして特定する。
次に、上記のように構成された本実施形態に係るECU1の動作、特に車両情報(バックアップデータ)のバックアップ動作について詳細に説明する。
まず、始めに、CPU15がイグニション・オン時に実行するイニシャル処理について図3のフローチャートを参照しながら詳細に説明する。
この図3に示すように、CPU15は、イグニションがオンされると、まず、変数CNT及びiを「0」にリセットする(ステップS1)。そして、CPU15は、フラッシュメモリ13のブロックB〔i〕の状態調査を行う(ステップS2)。具体的には、ステップS2において、CPU15は、ブロックB〔i〕がブランクブロック、一部ブランクブロック、或いは読出し可能ブロックのいずれの状態に当てはまるのかを調査する。
そして、CPU15は、ブロックB〔i〕が読出し可能ブロックか否かを判定し(ステップS3)、「Yes」の場合には変数CNTをインクリメントしてステップS5の処理に移行し(ステップS4)、「No」の場合には直接ステップS5の処理に移行する。
CPU15は、上記ステップS4の終了後、或いは上記ステップS3で「No」と判定された場合、変数iをインクリメントし(ステップS5)、変数iが「4」より小さいか否かを判定する(ステップS6)。CPU15は、ステップS6において「Yes」の場合にステップS2の処理に戻る一方、「No」の場合にはステップS7の処理に移行する。
CPU15は、上記ステップS2〜S6の実行により、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の状態を把握すると共に、変数CNTのインクリメントによって読出し可能ブロックの数をカウントする。
そして、CPU15は、ステップS6において「No」の場合、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の中からブランクブロックをサーチし、そのブランクブロックのブロック番号を変数ABBに代入する(ステップS7)。つまり、この変数ABBは、ブランクブロックのブロック番号を示す変数である。例えばブロックB〔2〕がブランクブロックの場合、変数ABBには「2」が代入される。
そして、CPU15は、変数ABBから「1」を減算して得られる値を変数RBに代入し(ステップS8)、変数ABBに「1」を加算して得られる値を変数EBに代入する(ステップS9)。つまり、この変数RBは、ブランクブロックの1つ前のブロック(最新データが保存されている最新ブロック)のブロック番号を示す変数であり、変数EBは、ブランクブロックの1つ先のブロック(消去すべきブロック)のブロック番号を示す変数である。
例えばブロックB〔2〕がブランクブロックの場合、変数RBには「1」が代入され、変数EBには「3」が代入される。なお、例えばブロックB〔0〕がブランクブロックの場合、変数RBには「−1」ではなく「3」が代入される。また、例えばブロックB〔3〕がブランクブロックの場合、変数EBには「4」ではなく「0」が代入される。
CPU15は、上記ステップS7〜S9の実行により、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の中から、ブランクブロック、消去ブロック及び最新ブロックを特定する。
続いて、CPU15は、ブロックB〔RB〕、つまり最新ブロックが一部ブランクブロックか否かを判定する(ステップS10)。CPU15は、ステップS10において「No」の場合には直接ステップS13の処理に移行する一方、「Yes」の場合には、変数ABBから「2」を減算して得られる値を変数RBに代入し(ステップS11)、変数ABBから「1」を減算して得られる値を変数EBに代入し(ステップS12)、さらに、変数ABBから「1」を減算して得られる値を新たに変数ABBに代入する(ステップS13)。
例えばブロックB〔2〕がブランクブロックの場合、変数RBには「0」が代入され、変数EB及び変数ABBには「1」が代入される。なお、例えばブロックB〔0〕がブランクブロックの場合、変数RBには「−2」ではなく「2」が代入され、変数EB及び変数ABBには「−1」ではなく「3」が代入される。
つまり、CPU15は、上記ステップS10〜12の実行により、最初に特定した最新ブロックが一部ブランクブロックの場合に、最初に特定したブランクブロックの1つ前のブロックを消去ブロックとして改めて特定すると共に、最初に特定したブランクブロックの2つ前のブロックを最新ブロックとして改めて特定し、さらに最初に特定したブランクブロックの1つ前のブロックをブランクブロックとして改めて特定する。
続いて、CPU15は、変数CNTが「0」か否か、つまり読出し可能ブロックの数が「0」か否かを判定し(ステップS14)、「No」の場合にはブロックB〔RB〕、つまり最新ブロックが読出し可能ブロックか否かを判定する(ステップS15)。このステップS15において「Yes」の場合、CPU15は、ブロックB〔RB〕、つまり最新ブロックに保存されているバックアップデータを読み出して、RAM12のバックアップデータ記憶領域(図2(a)参照)に書き込む(ステップS16)。
一方、上記ステップS14において「Yes」の場合、或いは上記ステップS15において「No」の場合、CPU15は、ROM11に予め保存されている代替データを読み出して、RAM12のバックアップデータ記憶領域に書き込む(ステップS17)。
以上説明したイニシャル処理によって、イグニションがオンされると、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の中から、ブランクブロック、消去ブロック及び最新ブロックが特定され、RAM12のバックアップデータ記憶領域には、フラッシュメモリ13の最新ブロックに保存されていたバックアップデータ、或いはROM11に予め保存されていた代替データが書き込まれることになる。
次に、前述のイニシャル処理がイグニション・オン時に実行されることを前提として、CPU15がイグニション・オフ時にバックアップ処理を実行することにより、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の状態がどのように変化するのかを図4を参照しながら詳細に説明する。
なお、以下の説明において、CPU15は、イグニション・オン期間中に、通信回路14を介して他の車載ECU或いは各種センサから一定周期で取得した車両情報をバックアップデータとしてRAM12に上書き保存していることに留意されたい。
図4(a)は、フラッシュメモリ13が初期状態(全ブロックがブランクブロック状態)にある場合に、CPU15がイグニション・オフ時にバックアップ処理を実行することにより、フラッシュメモリ13の各ブロックB〔0〕、B〔1〕、B〔2〕、B〔3〕の状態がどのように変化するかを表したものである。
まず、フラッシュメモリ13の全ブロックがブランクブロック状態にある時(図中のa−1参照)にイグニションがオフされると、CPU15は、バックアップ電源から電源電圧の供給を受けながら、RAM12からバックアップデータを読み出し、フラッシュメモリ13のブロックB〔3〕にバックアップデータを保存する(図中のa−2参照)。
詳細には、CPU15は、フラッシュメモリ13に対して書込み要求信号、書込み先アドレス信号(ブロックB〔3〕内のアドレスを示す信号)及びバックアップデータを送信し、フラッシュメモリ13は、CPU15からの書込み要求信号に応じて、書込み先アドレス信号で指定されたアドレスにバックアップデータを書込む。このようにして、フラッシュメモリ13のブロックB〔3〕に全てのバックアップデータが保存されると、ブロックB〔3〕が最新データを保存する最新ブロックとなる(図中のa−3参照)。
そして、次のイグニション・オフ時において、CPU15は、バックアップ電源から電源電圧の供給を受けながら、RAM12からバックアップデータを読み出し、次はフラッシュメモリ13のブロックB〔0〕にバックアップデータを保存する。このようにして、フラッシュメモリ13のブロックB〔0〕に全てのバックアップデータが保存されると、ブロックB〔0〕が最新ブロックとなり、ブロックB〔3〕が古いデータを保有する古いブロックとなる(図中のa−4参照)。
さらに、次のイグニション・オフ時において、CPU15は、バックアップ電源から電源電圧の供給を受けながら、RAM12からバックアップデータを読み出し、次はフラッシュメモリ13のブロックB〔1〕にバックアップデータを保存する。このようにして、フラッシュメモリ13のブロックB〔1〕に全てのバックアップデータが保存されると、ブロックB〔1〕が最新ブロックとなり、ブロックB〔0〕、B〔3〕が古いブロックとなる(図中のa−5参照)。
このように、CPU15は、フラッシュメモリ13が初期状態(全ブロックがブランクブロック状態)にある場合、イグニションがオフされる度に、ブロックB〔3〕→ブロックB〔0〕→ブロックB〔1〕の順でバックアップデータの保存を行う。
CPU15は、フラッシュメモリ13の各ブロックの内、1つのブロックのみがブランクブロックの状態となった後、イグニションがオンされる度に、図3に示したイニシャル処理を実行すると共に、イグニションがオフされる度に、イニシャル処理で特定された消去ブロックの保存データを消去して新たなブランクブロックを生成した後、同イニシャル処理で特定されたブランクブロックにバックアップデータを保存する。
例えば、図4(b)に示すように、イグニション・オン時に実行されたイニシャル処理によって、フラッシュメモリ13のブロックB〔0〕が最新ブロック、ブロックB〔1〕がブランクブロック、ブロックB〔2〕が消去ブロックとして特定されたと仮定する(図中のb−1参照)。このようなブロック状態でイグニションがオフされると、CPU15は、バックアップ電源から電源電圧の供給を受けながら、消去ブロックとして特定されたブロックB〔2〕の保存データを消去する(図中のb−2参照)。
詳細には、CPU15は、フラッシュメモリ13に対してブロックB〔2〕の消去命令を送信し、フラッシュメモリ13は、CPU15からの消去命令に応じて、ブロックB〔2〕の保存データを消去する(全て「1」にする)。このようにして、ブロックB〔2〕の保存データが全て消去されると、ブロックB〔2〕はブランクブロックとなる(図中のb−3参照)。
そして、CPU15は、RAM12からバックアップデータを読み出し、イニシャル処理によってブランクブロックとして特定されたブロックB〔1〕にバックアップデータを保存する(図中のb−4参照)。このようにして、フラッシュメモリ13のブロックB〔1〕に全てのバックアップデータが保存されると、次回のイグニション・オン時に実行されるイニシャル処理によって、ブロックB〔1〕が最新ブロック、ブロックB〔2〕がブランクブロック、ブロックB〔3〕が消去ブロックとして特定されることになる(図中のb−5参照)。
ここで、図4(c)に示すように、消去ブロックとして特定されたブロックB〔2〕の保存データの消去中に、CPUリセット(バックアップ電源による電源電圧の供給が停止する)やイグニション・オン(バッテリからの電源電圧の供給が再開される)など、フラッシュメモリ13のデータ消去動作を中断させるような事象が発生した場合を想定する(図中のc−1、c−2参照)。
この場合、イグニション・オン時に実行されるイニシャル処理によって、ブロックB〔0〕が最新ブロック、ブロックB〔1〕がブランクブロック、ブロックB〔2〕が消去ブロックとして特定されることになる(図中のc−3参照)。ここで、消去ブロックとして特定されたブロックB〔2〕は、図2(d)に示すような一部ブランクブロック状態となっている。
このようなブロック状態でイグニションがオフされると、CPU15は、バックアップ電源から電源電圧の供給を受けながら、消去ブロックとして特定されたブロックB〔2〕、つまり一部ブランクブロックの保存データを消去する。このようにして、ブロックB〔2〕の保存データが全て消去されると、ブロックB〔2〕はブランクブロックとなる(図中のc−4参照)。
そして、CPU15は、RAM12からバックアップデータを読み出し、イニシャル処理によってブランクブロックとして特定されたブロックB〔1〕にバックアップデータを保存する。このようにして、フラッシュメモリ13のブロックB〔1〕に全てのバックアップデータが保存されると、次回のイグニション・オン時に実行されるイニシャル処理によって、ブロックB〔1〕が最新ブロック、ブロックB〔2〕がブランクブロック、ブロックB〔3〕が消去ブロックとして特定されることになる(図中のc−5参照)。
一方、図4(d)に示すように、ブランクブロックとして特定されたブロックB〔1〕のデータ書込み中に、CPUリセットやイグニション・オンなどの、フラッシュメモリ13のデータ書込み動作を中断させるような事象が発生した場合を想定する(図中のd−1、d−2参照)。
この場合、イグニション・オン時に実行されるイニシャル処理のステップS1〜S9の処理によって、始めはブロックB〔1〕が最新ブロック、ブロックB〔2〕がブランクブロック、ブロックB〔3〕が消去ブロックとして特定されることになる(図中のd−3参照)。ここで、最新ブロックとして特定されたブロックB〔1〕は、図2(b)に示すような一部ブランクブロック状態となっている。
このため、イニシャル処理のステップS10〜S13の処理によって、最終的にブロックB〔0〕が最新ブロック、ブロックB〔1〕が消去ブロック及びブランクブロックとして特定されることになる(図中のd−4参照)。このようなブロック状態でイグニションがオフされると、CPU15は、バックアップ電源から電源電圧の供給を受けながら、消去ブロックとして特定されたブロックB〔1〕、つまり一部ブランクブロックの保存データを消去する。
このようにして、ブロックB〔1〕の保存データが全て消去されると、ブロックB〔1〕はブランクブロックとなる。そして、CPU15は、RAM12からバックアップデータを読み出し、イニシャル処理によってブランクブロックとして特定されたブロックB〔1〕にバックアップデータを保存する。
このようにして、フラッシュメモリ13のブロックB〔1〕に全てのバックアップデータが保存されると、次回のイグニション・オン時に実行されるイニシャル処理によって、ブロックB〔1〕が最新ブロック、ブロックB〔2〕がブランクブロック、ブロックB〔3〕が消去ブロックとして特定されることになる(図中のd−5参照)。
以上説明したように、本実施形態に係るECU1によれば、フラッシュメモリ13のデータ消去中或いはデータ書込み中に、CPUリセットやイグニション・オンなど、フラッシュメモリ13のデータ消去動作或いは書込み動作を中断させるような事象が発生した場合でも、適切なバックアップ動作を継続可能である。
また、前述の特許文献1(特開2010−113580号公報)の技術では、例えばフラッシュメモリのデータ消去中或いはデータ書込み中にCPUがリセットされると、フラッシュメモリのデータが不定となるため、故障を報知するための信号を出力する機能をCPUに持たせる必要があったが、本実施形態に係るECU1では、不定となったブロック(一部ブランクブロック)を必ず消去するため、そのような機能をCPU15に持たせる必要はない。
また、従来では、フラッシュメモリのデータ消去中或いはデータ書込み中にCPUがリセットされると、正確なSUM値が得られなくなり、バックアップデータの確からしさを判断できなくなる可能性があったが、本実施形態に係るECU1では、不定となったブロック(一部ブランクブロック)を必ず消去し、後にそのブロックに正常なバックアップデータを保存するため、バックアップデータの確からしさを判断できなくなる可能性は無い。
以上、本発明の一実施形態について説明したが、この実施形態はあくまで一例であって本発明の趣旨を逸脱しない範囲において実施形態の細部を種々変更可能であることは勿論である。例えば、上記実施形態では、本発明に係る電子制御装置として、イグニション・オン期間中に一定周期で取得した車両情報をバックアップデータとしてRAMに上書き保存しておき、所定条件の成立をトリガとして、RAMに保存されているバックアップデータをフラッシュメモリに保存するバックアップ機能を備えたECU1を例示して説明したが、本発明はこのような車載ECUに限らず、フラッシュメモリをバックアップ用メモリとして備える電子制御装置に広く適用することが可能である。
1…ECU(電子制御装置)、11…ROM、12…RAM(揮発性メモリ)、13…フラッシュメモリ、14…通信回路、15…CPU(メモリ制御部)

Claims (2)

  1. 揮発性メモリと、フラッシュメモリと、前記揮発性メモリに保存されているバックアップデータを所定条件の成立をトリガとして前記フラッシュメモリに保存するメモリ制御部とを備える電子制御装置であって、
    前記メモリ制御部は、電源投入時において、前記フラッシュメモリの消去単位ブロックの内、データが全く保存されていない消去単位ブロックをブランクブロックとして特定し、前記ブランクブロックの1つ先の消去単位ブロックを前記消去ブロックとして特定すると共に、前記ブランクブロックの1つ前の消去単位ブロックを前記最新ブロックとして特定し、前記最新ブロックとして特定した消去単位ブロックにデータが保存されていない領域が一部でも存在する場合には、最初に特定した前記ブランクブロックの1つ前の消去単位ブロックを前記消去ブロック及びブランクブロックとして改めて特定すると共に、最初に特定した前記ブランクブロックの2つ前の消去単位ブロックを前記最新ブロックとして改めて特定することを特徴とする電子制御装置。
  2. 前記メモリ制御部は、前記最新ブロックとして特定した消去単位ブロックに保存されているデータを読み出して前記揮発性メモリに保存することを特徴とする請求項1に記載の電子制御装置。
JP2011074828A 2011-03-30 2011-03-30 電子制御装置 Expired - Fee Related JP5643708B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011074828A JP5643708B2 (ja) 2011-03-30 2011-03-30 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011074828A JP5643708B2 (ja) 2011-03-30 2011-03-30 電子制御装置

Publications (2)

Publication Number Publication Date
JP2012208803A JP2012208803A (ja) 2012-10-25
JP5643708B2 true JP5643708B2 (ja) 2014-12-17

Family

ID=47188456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011074828A Expired - Fee Related JP5643708B2 (ja) 2011-03-30 2011-03-30 電子制御装置

Country Status (1)

Country Link
JP (1) JP5643708B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236327A (ja) * 1993-02-10 1994-08-23 Omron Corp データ記憶方式
JP4131116B2 (ja) * 2002-03-06 2008-08-13 松下電工株式会社 記憶装置、及び記憶装置のバックアップ方法
JP4586469B2 (ja) * 2004-09-15 2010-11-24 ソニー株式会社 メモリ制御装置、メモリ制御方法、プログラム
JP2007122419A (ja) * 2005-10-28 2007-05-17 Seiko Epson Corp 不揮発性データ更新システム、不揮発性データ更新方法及びプログラム
US8006030B2 (en) * 2006-03-13 2011-08-23 Panasonic Corporation Memory controller for identifying the last valid page/segment in a physical block of a flash memory
JP4647010B2 (ja) * 2009-01-28 2011-03-09 三菱電機株式会社 電子制御装置

Also Published As

Publication number Publication date
JP2012208803A (ja) 2012-10-25

Similar Documents

Publication Publication Date Title
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
CN104714757B (zh) 更新装置和电子设备
JP5695112B2 (ja) データ記憶装置、データの記憶方法および車載用制御装置
JP2011095952A (ja) ファームウェア更新方法および電子機器
US10120791B2 (en) Data read apparatus, data read method, and storage medium storing data read program
US11314634B2 (en) Electronic control unit and data protection method therefor
JP6028670B2 (ja) データ記憶装置
JP2018028830A (ja) 電子制御装置およびその情報記憶方法
JP6009290B2 (ja) 車両の電子制御装置
JP5983512B2 (ja) 書き込み装置
JP5643708B2 (ja) 電子制御装置
WO2015098894A1 (ja) データ記憶装置、車載データ記憶装置及びデータ記憶方法
JP2009116521A (ja) メモリのデータ書替方法
JP2008225922A (ja) 不揮発性記憶装置
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
US20110082995A1 (en) Information processing apparatus
JP6317653B2 (ja) 自動車用電子制御装置及びデータ記憶方法
US12596424B2 (en) Method for managing hibernation of an embedded system
JP5787095B2 (ja) 不揮発性メモリへのデータ記憶方法
JP2005128613A (ja) 画像形成装置
US20240281407A1 (en) Information processing device, storage medium storing information processing program, and information processing method
JP5991239B2 (ja) 不揮発性半導体メモリの書き込み制御方法およびマイクロコンピュータ
JP5939120B2 (ja) フラッシュメモリのデータ処理方法、及び、このデータ処理用のプログラム
JP6568826B2 (ja) 電子制御装置
JP3583639B2 (ja) メモリ装置のデータ更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141031

R150 Certificate of patent or registration of utility model

Ref document number: 5643708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees