"データを特定するデータIDと、そのデータの値であるデータ値とを記憶するフラッシュメモリと、予め定められた書き込みタイミングで、前記フラッシュメモリに前記データIDと前記データ値とを関連付けて書き込むデータ書込部と、前記データID毎に対応した代表値IDが定められ、その代表値ID毎に予め定められた代表値を記憶する代表値記憶部と、前記データID毎に、対応する前記データ値と前記代表値うちのいずれを該データIDに対応する値として使用するかを表すデータ管理情報を記憶するデータ管理情報記憶部と、前記データ書込部が前記データを書き込む際に、書き込むデータ値と前記代表値とが同一か否かを比較する比較部と、前記書き込むデータ値と前記代表値とが同一のときには、前記データ管理情報を、前記データIDに対応する値として前記代表値を使用する代表値使用状態を表すものとするとともに、前記データ書込部による前記フラッシュメモリへの該データIDに対応するデータ値の書き込みを抑制する書込制御部と、を備えることを特徴とする電子制御装置。前記代表値は、前記データ値が得る値のうち、得る頻度のより高いものが定められる請求項1に記載の電子制御装置。前記代表値IDに、複数の前記データIDが関連付けられている請求項1または請求項2に記載の電子制御装置。前記書き込みタイミング時に、前記書き込むデータ値が前記代表値と異なる値に変化しているとき、前記書込制御部は、前記データ書込部による前記フラッシュメモリへの、当該データIDに対応する前記データ値の書き込みの抑制を解除し、前記データ管理情報記憶部は、前記データIDに対応するデータ管理情報を、前記データIDに対応する値として前記フラッシュメモリに記憶されたデータ値を使用することを表すデータ値使用状態とする請求項1ないし請求項3のいずれか1項に記載の電子制御装置。前記データ管理情報が前記データ値使用状態を表すとき、前記書き込みタイミング時に、前記データ値が前記代表値と同じ値に変化しているとき、前記書込制御部は、前記データ管理情報を前記代表値使用状態として、前記データ書込部による前記フラッシュメモリへの、当該データIDに対応するデータ値の書き込みを抑制する請求項4に記載の電子制御装置。予め定められた読み出しタイミングで、前記データIDに対応するデータ値を読み出すデータ読出部を備え、前記データ読出部は、前記データ管理情報が前記代表値使用状態を表すときに、前記データIDに対応するデータ値を前記代表値記憶部から読み出す請求項1ないし請求項5のいずれか1項に記載の電子制御装置。予め定められた読み出しタイミングで、前記データIDに対応するデータ値を読み出すデータ読出部を備え、前記データ読出部は、前記データ管理情報が前記データ値使用状態を表すときに、前記データIDに対応するデータ値を前記フラッシュメモリから読み出す請求項4または請求項5に記載の電子制御装置。特許文献1の構成では、フラッシュメモリの全領域について一律にゼロのような初期値を書き込むことを想定している。つまり、装置の通常動作時のフラッシュメモリの個別の書込み対象データに対する書込み抑制はされておらず、一律の初期値を用いて初期化した値と書き込みデータを比べても、書込み回数の抑制にはならないという問題がある。上記問題点を背景として、本発明の課題は、フラッシュメモリへの書込み対象データに対する書込み抑制をより効率よく行うことが可能な電子制御装置を提供することにある。以下、本発明の電子制御装置について、図面を用いて説明する。まず、図1に、本発明の電子制御装置以下、ECUと称する1の構成例を示す。ECU1は、例えば車両のエンジン制御、エアコン制御等の車載機器の制御に用いられる。ECU1は、CPU10,ROM11,RAM12,フラッシュメモリ13を備え、CPU10が、ROM11あるいはフラッシュメモリ13に記憶された制御プログラムを実行することにより、ECU1の各種機能を実現する。RAM12は、CPU10による制御プログラムの実行において生成される各種データを一時的に記憶する。また、ECU1は、例えば、回転センサ,温度センサのようなセンサ16からのデータの取得、あるいは他のECUからのデータ受信を行うための入力I/F14と、例えば、モータ,ソレノイドのようなアクチュエータ17に対する動作制御指令値の出力、あるいは他のECUへのデータ送信を行うための出力I/F15を備えている。フラッシュメモリ13は、例えば周知のメモリセルブロックを1以上備え、ECU1の動作に必要なデータを記憶する。CPU10は、ECU1の動作状態あるいはフラッシュメモリ13の各メモリセルブロックのデータ記憶状態に応じて、フラッシュメモリ13に対し、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、および、メモリセルブロック単位でのデータ更新処理等の制御を行う。上記構成により、ECU1は、センサ16あるいは他のECUから取得したデータ、およびアクチュエータ17の動作状態に基づいて、動作制御指令値を演算し、アクチュエータ17に出力する。図2に、ROM11における代表値記憶部11aの構成例を示す。代表値記憶部には、代表値ID毎に、対応する代表値が予め記憶されている。代表値は以下のうちのいずれかを用いる。なお、本実施例では、データIDが代表値IDと同じで、データIDと代表値IDとは一対一の関係となっている。また、本実施例では、データ値は、データ長が1バイトの16進数である。CPU10による処理演算において得られるデータ値のうち、最も出現頻度の高い値。デフォルト値:データID毎に定められ、例えば、CPU10による処理演算において得られるデータ値が所定範囲に含まれないときに代用するフェイルセーフ値。または初期化時の値。図3に、RAM12におけるデータ管理情報記憶部12aの構成例を示す。データ管理情報記憶部には、データID毎に、データ値として、ROM11の代表値か、フラッシュメモリ13に記憶されているデータ値のうちのいずれを用いるかを表すデータ管理情報が記憶されている。データ管理情報記憶部は、書き換えの頻度が比較的高いので、アドレス単位あるいはビット単位で書き換えが可能なRAM12内に領域を設定することが望ましい。代表値代表値使用状態:データIDに対応するデータ値として、ROM11に記憶された、対応する代表値IDの代表値を使用する。データ値データ値使用状態:データIDに対応するデータ値として、フラッシュメモリ13に記憶されたデータ値を使用する。図4に、フラッシュメモリ13におけるデータ記憶領域13aの一例を示す。データは、データIDとデータ値とが対応付けられて記憶される。なお、データID0,2,5のデータでは、データ値は書き込まれているが、上述のデータ管理情報がデータ値使用状態を表していない状態であるため、該データ値は使用していない。フラッシュメモリ13は、アドレス単位あるいはビット単位で消去上書きができないため、記憶されているデータの更新が行われたとき、あるいは新たにデータを追加するときは、この空き領域に順次追記される。例えば、データID1のデータの値が0x01から0x10に変化したときには、データID7のデータの記憶領域より後の空き領域に新たなデータが記憶される。また、フラッシュメモリ13に、RAM12のデータ管理情報記憶部12aのバックアップ領域13bを設けてもよい。ECU1の動作停止時に、これに先立って、データ管理情報記憶部12aの内容を一括消去後のバックアップ領域13bにコピーする。そして、ECU1の動作開始時例えば、イニシャル時に、バックアップ領域13bから読み出してデータ管理情報記憶部12aに戻す。無論、バックアップ領域13bの上書きは、アドレス単位あるいはビット単位ではできないので、バックアップ領域13bが含まれるメモリセルブロックは、データ記憶領域13aが含まれるメモリセルブロックとは別のものとすることが望ましい。図5を用いて、ROM11に記憶された制御プログラムに含まれ、CPU10が実行するデータ書込抑制処理について説明する。まず、例えば、CPU10での演算の結果、あるデータのデータ値が変化したときのような、データ書き込みタイミングが到来したか否かを判定する。つまり、データ書込抑制処理は、フラッシュメモリの初期化以外のタイミングでも行われる。なお、データの演算結果は、例えばRAM12に一時記憶される。データ書き込みタイミングが到来しないときS11:No、データ書き込みタイミングが到来するまで待つ。本処理を終了してもよい。一方、データ書き込みタイミングが到来したときS11:Yes、RAM12に一時記憶されているデータ値を参照するS12。そして、ROM11に記憶されている、そのデータ値のデータIDに対応する代表値IDの代表値を参照しS13、両者を比較する。比較の結果、データ値が代表値と同一のときS14:Yes、該データIDのデータ値をフラッシュメモリ13には書き込まない、すなわちデータ書き込みを抑制するS15。そして、RAM12のデータ管理情報記憶部12aの、該データIDに対応するデータ管理情報を、代表値使用状態を表すもの図3では、代表値ID0等と表記とし、S16本処理を終了する。一方、データ値が代表値と同一でないときS14:No、データ管理情報記憶部12aの、該データIDに対応するデータ管理情報を参照するS17。そして、該データ管理情報がデータ値使用状態を表す図3では、データ値と表記ときS18:Yes、フラッシュメモリ13に記憶された該データIDに対応するデータ値を参照するS19。そして、これら2つのデータ値を比較する。比較の結果、2つのデータ値が同一のときS20:Yes、何もせずに、すなわちデータ書き込みを抑制して本処理を終了する。一方、2つのデータ値が異なるときS20:No、フラッシュメモリ13に新しいデータ値とそのデータIDとを記憶しS22、本処理を終了する。つまり、上述の構成は、書き込みタイミング時に、書き込むデータ値が代表値と異なる値に変化しているとき、かつ、フラッシュメモリに既に記憶されている対応するデータ値が等しいとき、書込制御部は、データ書込部による、書き込むデータ値の前記フラッシュメモリへの書き込みを抑制するものである。また、一方、データ管理情報がデータ値使用状態ではなく代表値使用状態を表すときS18:No、該データ管理情報を、データ値使用状態を表すものとするS21。そして、フラッシュメモリ13に新しいデータ値とそのデータIDとを記憶しS22、本処理を終了する。上述の、図5のデータ書込抑制処理の具体例について、図2~図4を用いて説明する。RAM12のデータ管理情報記憶部12aのデータ管理情報図3参照が代表値ID0すなわち、代表値使用状態となっているデータID0のデータ値が、演算の結果、代表値ID0の0x05図2参照とは異なる0x80となったとき、データ管理情報をデータ値すなわち、データ値使用状態に書き換える。さらに、フラッシュメモリ13に既に記憶されているデータ値は0x00図4参照であり、新しいデータ値と異なるので、データID7の記憶領域の後の空き領域に、データID:0およびデータ値:0x80を書き込む。また、データID0のデータが書き込まれていないときには、新たに領域を確保して書き込む。一般に、フラッシュメモリでは、メモリセルブロックの先頭からデータを書き込んでいくので、同じデータIDのデータが複数記憶されているときには、メモリセルブロックのより後方に記憶されているデータを読み出すようになっている。また、データ管理情報記憶部12aのデータ管理情報図3参照が代表値ID2すなわち、代表値使用状態となっているデータID2のデータ値が、演算の結果、代表値ID2の0xAA図2参照とは異なる0xCCとなったとき、データ管理情報をデータ値すなわち、データ値使用状態に書き換える。このとき、フラッシュメモリ13に既に記憶されているデータ値が0xCC図4参照であり、新しいデータ値と同じであるので、フラッシュメモリ13への書き込みは行わない。また、データ管理情報記憶部12aのデータ管理情報図3参照がデータ値すなわち、データ値使用状態となっているデータID3のデータ値0x7Fが、演算の結果、代表値と同じ0x80となったとき、データ管理情報を代表値ID3すなわち、代表値使用状態に書き換える。このとき、フラッシュメモリ13への書き込みは行わない。図6を用いて、ROM11に記憶された制御プログラムに含まれ、CPU10が実行するデータ読出処理について説明する。なお、本処理は、CPU10は各種演算を行う際に必要となるデータ値を読み出すときのような、データ値を読み出す条件が成立したときに実行される。まず、RAM12のデータ管理情報記憶部12aの、読み出したいデータIDに対応するデータ管理情報を参照するS31。次に、該データ管理情報が代表値使用状態を表すものであるときS32:Yes、ROM11に記憶されている、該データIDに対応する代表値を読み出しS33、本処理を終了する。一方、該データ管理情報が代表値使用状態ではなくデータ値使用状態を表すものであるときS32:No、フラッシュメモリ13に記憶されている、該データIDに対応するデータ値を読み出しS34、本処理を終了する。上述の、図6の具体例について、図2~図4を用いて説明する。データID0のデータは、データ管理情報図3参照が代表値使用状態を表しているので、データはROM11に記憶されている0x05図2参照が読み出される。また、データID4のデータは、データ管理情報図3参照がデータ値使用状態を表しているので、データはフラッシュメモリ13に記憶されている0x00図4参照が読み出される。図7に、図2の代表値記憶部11aの構成の別例を示す。これは、複数のデータIDで代表値を共有するものである。これにより、代表値記憶部11aの領域を少なくすることができる。図7の例では、代表値IDとデータIDとの間には、図2のような一対一の関係はなく、代表値ID毎に、代表値およびその代表値を用いるデータIDが関連付けられている。また、データ値のデータ長が1バイトの16進数であるとき、代表値の数は、データデータIDの数に関係なく最大256個である。例えば、データID0~2は、それぞれ代表値ID0~2の代表値に対応付けられている。また、データID3,5,7は、代表値ID10の代表値0x80に対応付けられている。また、データID4,6は、代表値ID11の代表値0x12に対応付けられている。図8に、図7の構成におけるデータ管理情報記憶部12aの構成を示す。データID0~2は、図3と同様であるが、データID5は、代表値ID10の代表値0x80を使用することを示している。なお、図7,図8の構成においても、データ書込抑制処理,データ読出処理は、それぞれ図5,図6と同様である。"