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