(57)【要約】      （修正有）【課題】不揮発性メモリの使用容量を減らしつつ、記憶データの信頼性を確保可能な車両情報記憶装置を提供する。【解決手段】車両故障診断システム１０において、エンジンＥＣＵ１２の記憶制御部２８は、第１情報格納領域３０ｖの更新を開始する前に、第１回数格納領域３０ｎから読み出した書換回数Ｎｒ１を揮発性メモリ２６に書き込み、書換回数Ｎｒ１のカウントに使用しない不使用値を第１回数格納領域３０ｎに書き込む。記憶制御部２８は、第１情報格納領域３０ｖの更新が終了した後に、揮発性メモリ２６から読み出した書換回数Ｎｒ１をカウント更新し、第１回数格納領域３０ｎに書き込む記憶制御を行う。【選択図】図１
2019045951.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、かつ、前記車両の状態を示す車両情報を記憶する車両情報記憶装置であって、
第１記憶領域及び第２記憶領域を有する不揮発性メモリと、
前記車両情報の書換回数を少なくとも記憶する揮発性メモリと、
前記不揮発性メモリ及び前記揮発性メモリに対する記憶制御を行う記憶制御部と、
を備え、
前記第１記憶領域は、前記車両情報が格納される第１情報格納領域と、前記書換回数が格納される第１回数格納領域と、を含み、
前記第２記憶領域は、前記車両情報が格納される第２情報格納領域と、前記書換回数が格納される第２回数格納領域と、を含み、
前記記憶制御部は、
前記第１情報格納領域の更新を開始する前に、前記第１回数格納領域から読み出した前記書換回数を前記揮発性メモリに書き込み、かつ、前記書換回数のカウントに使用しない不使用値を前記第１回数格納領域に書き込み、
前記第１情報格納領域の更新が終了した後に、前記揮発性メモリから読み出した前記書換回数をカウント更新し、かつ、前記第１回数格納領域に書き込む記憶制御を行い、
前記第２情報格納領域の更新を開始する前に、前記第２回数格納領域から読み出した前記書換回数を前記揮発性メモリに書き込み、かつ、前記書換回数のカウントに使用しない不使用値を前記第２回数格納領域に書き込み、
前記第２情報格納領域の更新が終了した後に、前記揮発性メモリから読み出した前記書換回数をカウント更新し、かつ、前記第２回数格納領域に書き込む記憶制御を行う
ことを特徴とする車両情報記憶装置。
【請求項２】
請求項１に記載の車両情報記憶装置において、
前記記憶制御部は、
前記第１回数格納領域に格納された前記書換回数が前記不使用値であって、かつ、前記第２回数格納領域に格納された前記書換回数が前記不使用値でない場合、
前記第２回数格納領域の前記書換回数を複製して前記第１回数格納領域に書き込むと共に、前記第２情報格納領域の前記車両情報を複製して前記第１情報格納領域に書き込む記憶制御を行い、
前記第１回数格納領域に格納された前記書換回数が前記不使用値でなく、かつ、前記第２回数格納領域に格納された前記書換回数が前記不使用値である場合、
前記第１回数格納領域の前記書換回数を複製して前記第２回数格納領域に書き込むと共に、前記第１情報格納領域の前記車両情報を複製して前記第２情報格納領域に書き込む記憶制御を行う
ことを特徴とする車両情報記憶装置。
【請求項３】
請求項１に記載の車両情報記憶装置において、
前記記憶制御部は、
前記第１回数格納領域に格納された前記書換回数が、前記第２回数格納領域に格納された前記書換回数よりも大きい場合、前記第１情報格納領域の前記車両情報を複製し、前記第２情報格納領域に書き込む記憶制御を行い、
前記第１回数格納領域に格納された前記書換回数が、前記第２回数格納領域に格納された前記書換回数よりも小さい場合、前記第２情報格納領域の前記車両情報を複製し、前記第１情報格納領域に書き込む記憶制御を行う
ことを特徴とする車両情報記憶装置。
【請求項４】
請求項２又は３に記載の車両情報記憶装置において、
前記記憶制御部は、前記車両情報を複製する記憶制御が完了するまでの間、前記複製以外での前記第１記憶領域及び前記第２記憶領域への書き込みを行わないことを特徴とする車両情報記憶装置。
【請求項５】
請求項１〜４のいずれか１項に記載の車両情報記憶装置において、
前記車両のイグニッションスイッチのオフ動作に応じて電力の供給が停止されることを特徴とする車両情報記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載され、かつ、当該車両の状態を示す車両情報を記憶する車両情報記憶装置に関する。
【背景技術】
【０００２】
従来から、車両に搭載され、かつ、当該車両の状態を示す車両情報を記憶する車両情報記憶装置が知られている。例えば、車両の自己診断機能（ＯＢＤ；On-Board Diagnostics）に関して、不揮発性メモリに逐次記憶される故障診断情報の信頼性を高めるための技術が種々提案されている。
【０００３】
特許文献１では、同一の故障コード（ＤＴＣ；Diagnostic Trouble Code）を３つの記憶領域に記憶させておき、データの多数決を採ることで、不揮発性メモリの記憶状態に関する異常を判定する装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４７５３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近時、ＯＢＤ２に対応したエンジンＥＣＵ（Electronic Control Unit；電子制御装置）が普及しつつある。このＥＣＵは、故障コードのみならず、当該故障コードを生成した瞬間のフリーズフレームデータを同時に記憶する。
【０００６】
しかしながら、特許文献１で提案された装置では、多数決のために３組の記憶領域を常に用意する必要があるため、２組の場合と比べて、不揮発性メモリの使用容量が５０％だけ増加してしまう。この使用容量は、フリーズフレームデータのサイズに概ね比例するため、この問題が顕著に現われる。
【０００７】
本発明は上記した問題を解決するためになされたものであり、不揮発性メモリの使用容量を減らしつつ、記憶データの信頼性を確保可能な車両情報記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る車両情報記憶装置は、車両に搭載され、かつ、前記車両の状態を示す車両情報を記憶する装置であって、第１記憶領域及び第２記憶領域を有する不揮発性メモリと、前記車両情報の書換回数を少なくとも記憶する揮発性メモリと、前記不揮発性メモリ及び前記揮発性メモリに対する記憶制御を行う記憶制御部と、を備え、前記第１記憶領域は、前記車両情報が格納される第１情報格納領域と、前記書換回数が格納される第１回数格納領域と、を含み、前記第２記憶領域は、前記車両情報が格納される第２情報格納領域と、前記書換回数が格納される第２回数格納領域と、を含み、前記記憶制御部は、前記第１情報格納領域の更新を開始する前に、前記第１回数格納領域から読み出した前記書換回数を前記揮発性メモリに書き込み、かつ、前記書換回数のカウントに使用しない不使用値を前記第１回数格納領域に書き込み、前記第１情報格納領域の更新が終了した後に、前記揮発性メモリから読み出した前記書換回数をカウント更新し、かつ、前記第１回数格納領域に書き込む記憶制御を行い、前記第２情報格納領域の更新を開始する前に、前記第２回数格納領域から読み出した前記書換回数を前記揮発性メモリに書き込み、かつ、前記書換回数のカウントに使用しない不使用値を前記第２回数格納領域に書き込み、前記第２情報格納領域の更新が終了した後に、前記揮発性メモリから読み出した前記書換回数をカウント更新し、かつ、前記第２回数格納領域に書き込む記憶制御を行う。
【０００９】
このように構成することで、例えば、電力の瞬断によって揮発性メモリに一時的に記憶された情報が消失した場合であっても、現在格納されている２つの書換回数の数値関係（単独値又は相対値）に基づいて第１記憶領域及び第２記憶領域の更新状況を判別可能となり、その後に必要な対処を施すことで記憶データを適切に復旧することができる。これにより、不揮発性メモリの使用容量を減らしつつ、記憶データの信頼性を確保することができる。
【００１０】
また、前記記憶制御部は、前記第１回数格納領域に格納された前記書換回数が前記不使用値であって、かつ、前記第２回数格納領域に格納された前記書換回数が前記不使用値でない場合、前記第２回数格納領域の前記書換回数を複製して前記第１回数格納領域に書き込むと共に、前記第２情報格納領域の前記車両情報を複製して前記第１情報格納領域に書き込む記憶制御を行い、前記第１回数格納領域に格納された前記書換回数が前記不使用値でなく、かつ、前記第２回数格納領域に格納された前記書換回数が前記不使用値である場合、前記第１回数格納領域の前記書換回数を複製して前記第２回数格納領域に書き込むと共に、前記第１情報格納領域の前記車両情報を複製して前記第２情報格納領域に書き込む記憶制御を行ってもよい。
【００１１】
これにより、書換回数が不使用値である一方の記憶領域が更新中である状態において、他方の記憶領域から書換回数及び車両情報を複製することで直近の記憶状態に戻すことができる。
【００１２】
また、前記記憶制御部は、前記第１回数格納領域に格納された前記書換回数が、前記第２回数格納領域に格納された前記書換回数よりも大きい場合、前記第１情報格納領域の前記車両情報を複製し、前記第２情報格納領域に書き込む記憶制御を行い、前記第１回数格納領域に格納された前記書換回数が、前記第２回数格納領域に格納された前記書換回数よりも小さい場合、前記第２情報格納領域の前記車両情報を複製し、前記第１情報格納領域に書き込む記憶制御を行ってもよい。
【００１３】
これにより、書換回数が大きい一方の記憶領域が更新後であり、かつ、他方の記憶領域が更新前である状態において、一方の記憶領域から車両情報を複製することで最新の記憶状態に移行することができる。
【００１４】
また、前記記憶制御部は、前記車両情報を複製する記憶制御が完了するまでの間、前記複製以外の前記第１記憶領域及び前記第２記憶領域への書き込みを行わないようにしてもよい。記憶データの復旧中に複製以外の書き込みを禁止することで、記憶状態に関する異常の発生を防止することができる。
【００１５】
また、当該車両情報記憶装置は、前記車両のイグニッションスイッチのオフ動作に応じて電力の供給を停止されてもよい。エンジンを切った後のセルフシャットダウン機能を備えていない車両では、揮発性メモリのデータバックアップを取得できないので特に効果的である。
【発明の効果】
【００１６】
本発明に係る車両情報記憶装置によれば、不揮発性メモリの使用容量を減らしつつ、記憶データの信頼性を確保することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態における車両情報記憶装置が組み込まれた車両故障診断システムの全体構成図である。
【図２】図１に示す不揮発性メモリ及び揮発性メモリの記憶状態に関する遷移図である。
【図３】各々の区間における記憶制御の特徴を模式的に示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係る車両情報記憶装置について好適な実施形態を挙げ、添付の図面を参照しながら説明する。
【００１９】
［車両故障診断システム１０の構成］
図１は、本発明の一実施形態における車両情報記憶装置が組み込まれた車両故障診断システム１０の全体構成図である。車両故障診断システム１０は、図示しない車両（例えば、二輪車又は四輪車）に搭載され、かつ、この車両の自己診断機能を有するシステムである。この車両故障診断システム１０は、車両情報記憶装置としてのエンジンＥＣＵ１２と、センサ群１４と、エンジン１６と、電源１８と、を含んで構成される。
【００２０】
センサ群１４は、車両の状態を検出可能な１つ又は複数のセンサから構成される。センサの種類として、例えば、水温センサ、油温センサ、車速センサ、クランク角センサ、吸気圧センサ、大気圧センサ、スロットル開度センサ、Ｏ２センサが挙げられる。
【００２１】
電源１８は、車両の各部（エンジンＥＣＵ１２を含む）に対して電力を供給する。ここでは、電源１８は、イグニッションスイッチ２０のオン・オフに連動して、エンジンＥＣＵ１２に対して電力を供給し、又はその供給を停止する。
【００２２】
エンジンＥＣＵ１２は、車両の駆動源であるエンジン１６の運転制御を行い、必要に応じて車両の状態を示す情報（以下、車両情報）を取得し保存する。具体的には、エンジンＥＣＵ１２は、演算処理装置２２と、不揮発性メモリ２４と、揮発性メモリ２６と、を含んで構成される。
【００２３】
演算処理装置２２は、例えば、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）から構成される。演算処理装置２２は、図示しないＲＯＭ（Read Only Memory）からプログラムを読み出し実行することで、不揮発性メモリ２４及び揮発性メモリ２６に対する記憶制御を行う記憶制御部２８として機能する。
【００２４】
不揮発性メモリ２４は、電力を供給しなくても記憶データを保持可能なメモリであり、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリから構成される。不揮発性メモリ２４は、領域サイズが等しい２つの記憶領域（以下、第１記憶領域３０、第２記憶領域３２）を有する。
【００２５】
第１記憶領域３０は、１個の書換回数Ｎｒ１が格納される第１回数格納領域３０ｎと、Ｍ組（Ｍ≧１）の車両情報Ｉｖ１が格納される第１情報格納領域３０ｖと、を含む。第２記憶領域３２は、１個の書換回数Ｎｒ２が格納される第２回数格納領域３２ｎと、Ｍ組（Ｍ≧１）の車両情報Ｉｖ２が格納される第２情報格納領域３２ｖと、を含む。
【００２６】
なお、書換回数Ｎｒ１は第１記憶領域３０の書き換え（車両情報Ｉｖ１の更新）に成功した回数であり、書換回数Ｎｒ２は第２記憶領域３２の書き換え（車両情報Ｉｖ２の更新）に成功した回数である。また、車両情報Ｉｖ１、Ｉｖ２は、例えば、故障コード（ＤＴＣ）及びフリーズフレームデータ（センサ値の時系列）の１セット分の情報に相当する。
【００２７】
揮発性メモリ２６は、電力が供給された状態下にのみ記憶データを保持可能なメモリであり、例えば、ＤＲＡＭ（Dynamic Random Access Memory）又はＳＲＡＭ（Static Random Access Memory）から構成される。揮発性メモリ２６は、記憶制御に必要な情報（具体的には、第１書換回数Ａ、第２書換回数Ｂ、最新車両情報Ｉｖ）が一時的に格納される記憶領域３４を有する。
【００２８】
［エンジンＥＣＵ１２の動作］
車両情報記憶装置としてのエンジンＥＣＵ１２は、以上のように構成される。続いて、エンジンＥＣＵ１２（特に、記憶制御部２８）の動作について、図２及び図３を参照しながら詳細に説明する。
【００２９】
図２は、図１に示す不揮発性メモリ２４及び揮発性メモリ２６の記憶状態に関する遷移図である。より詳しくは、本図は、各々の処理ステップＳ０〜Ｓ１０での、第１記憶領域３０、第２記憶領域３２及び記憶領域３４における格納値の段階的変化を示す。なお、格納値の更新があった箇所（格納領域）を太線の矩形枠によって表記している。
【００３０】
ステップＳ０は、５回目の書き換えが正常に行われた記憶状態に相当する。この場合、第１記憶領域３０の書換回数Ｎｒ１（＝５）は、第２記憶領域３２の書換回数Ｎｒ２（＝５）に等しい。また、第１記憶領域３０の車両情報Ｉｖ１は、第２記憶領域３２の車両情報Ｉｖ２とすべて一致する。なお、記憶制御部２８の初期化動作により、記憶領域３４には「ＮＵＬＬ」の値が格納されている。
【００３１】
ステップＳ１において、記憶制御部２８は、センサ群１４からの最新の車両情報（以下、最新車両情報Ｉｖ）を揮発性メモリ２６に書き込むことで、最新車両情報Ｉｖを一時的に記憶させる制御を行う。これにより、記憶領域３４の格納値（最新車両情報Ｉｖ）が、「ＮＵＬＬ」から「６回目の情報」に更新される。
【００３２】
ステップＳ２において、記憶制御部２８は、第１記憶領域３０の書換回数Ｎｒ１を不揮発性メモリ２４から読み出し、揮発性メモリ２６の記憶領域３４に書き込むことで、最新車両情報Ｉｖを一時的に記憶させる制御を行う。これにより、記憶領域３４の格納値（第１書換回数Ａ）が、「ＮＵＬＬ」から「５」に更新される。
【００３３】
ステップＳ３において、記憶制御部２８は、第１記憶領域３０（具体的には、第１回数格納領域３０ｎ）の書換回数Ｎｒ１を、カウントに使用しない値（以下、不使用値という）に更新する制御を行う。この不使用値は、例えば０を含む、書換回数Ｎｒ１の運用範囲から逸脱した任意の値（具体的には、上限値よりも大きい値）であってもよい。
【００３４】
このように、記憶制御部２８は、第１情報格納領域３０ｖの更新を開始する前に、第１回数格納領域３０ｎから読み出した書換回数Ｎｒ１を揮発性メモリ２６に書き込み、かつ、書換回数Ｎｒ１のカウントに使用しない不使用値を第１回数格納領域３０ｎに書き込む記憶制御を行う（ステップＳ２、Ｓ３）。
【００３５】
ステップＳ４において、記憶制御部２８は、一時的に記憶された最新車両情報Ｉｖを揮発性メモリ２６から読み出し、不揮発性メモリ２４の第１記憶領域３０に書き込む制御を行う。これにより、第１情報格納領域３０ｖの格納値（車両情報Ｉｖ１）が、「５回目の情報」から「６回目の情報」に更新される。
【００３６】
ステップＳ５において、記憶制御部２８は、一時的に記憶された第１書換回数Ａを揮発性メモリ２６から読み出し、カウント更新（Ａ←Ａ＋１）した後に、不揮発性メモリ２４の第１記憶領域３０に書き込む制御を行う。これにより、第１回数格納領域３０ｎの格納値（書換回数Ｎｒ１）が、「０」から「６」に更新される。
【００３７】
このように、記憶制御部２８は、第１情報格納領域３０ｖの更新が終了した後に、揮発性メモリ２６から読み出した書換回数Ｎｒ１をカウント更新し、かつ、第１回数格納領域３０ｎに書き込む記憶制御を行う（ステップＳ４、Ｓ５）。
【００３８】
ステップＳ６において、記憶制御部２８は、第２記憶領域３２の書換回数Ｎｒ２を不揮発性メモリ２４から読み出し、揮発性メモリ２６の記憶領域３４に書き込むことで、書換回数Ｎｒ２を一時的に記憶させる制御を行う。これにより、記憶領域３４の格納値（第２書換回数Ｂ）が、「ＮＵＬＬ」から「５」に更新される。
【００３９】
ステップＳ７において、記憶制御部２８は、第２記憶領域３２（具体的には、第２回数格納領域３２ｎ）に格納された書換回数Ｎｒ２を、不使用値（０）に更新する制御を行う。ここで、書換回数Ｎｒ２の不使用値は、書換回数Ｎｒ１の不使用値と同一であってもよいし、異なっていてもよい。
【００４０】
このように、記憶制御部２８は、第２情報格納領域３２ｖの更新を開始する前に、第２回数格納領域３２ｎから読み出した書換回数Ｎｒ２を揮発性メモリ２６に書き込み、かつ、書換回数Ｎｒ２のカウントに使用しない不使用値を第２回数格納領域３２ｎに書き込む記憶制御を行う（ステップＳ６、Ｓ７）。
【００４１】
ステップＳ８において、記憶制御部２８は、一時的に記憶された最新車両情報Ｉｖを揮発性メモリ２６から読み出し、不揮発性メモリ２４の第２記憶領域３２に書き込む制御を行う。これにより、第２情報格納領域３２ｖの格納値（車両情報Ｉｖ２）が、「５回目の情報」から「６回目の情報」に更新される。
【００４２】
ステップＳ９において、記憶制御部２８は、一時的に記憶された第２書換回数Ｂを揮発性メモリ２６から読み出し、カウント更新（Ｂ←Ｂ＋１）した後に、不揮発性メモリ２４の第２記憶領域３２に書き込む制御を行う。これにより、第２回数格納領域３２ｎの格納値（書換回数Ｎｒ２）が、「０」から「６」に更新される。
【００４３】
このように、記憶制御部２８は、第２情報格納領域３２ｖの更新が終了した後に、揮発性メモリ２６から読み出した書換回数Ｎｒ２をカウント更新し、かつ、第２回数格納領域３２ｎに書き込む記憶制御を行う（ステップＳ８、Ｓ９）。
【００４４】
ステップＳ１０は、６回目の書き換えが正常に行われた記憶状態に相当する。記憶制御部２８の初期化動作により、記憶領域３４には「ＮＵＬＬ」の値が格納される。ここで、第１記憶領域３０の書換回数Ｎｒ１（＝６）は、第２記憶領域３２の書換回数Ｎｒ２（＝６）に等しい。また、第１記憶領域３０の車両情報Ｉｖ１は、第２記憶領域３２の車両情報Ｉｖ２とすべて一致する。
【００４５】
図３は、各々の区間における記憶制御の特徴を模式的に示す図である。より詳しくは、本図は、状態チェック処理を実行した場合における、処理タイミング毎の記憶制御の挙動（イベント及び結果）を示す。
【００４６】
ここで、「状態チェック」とは、不揮発性メモリ２４の記憶状態に対する確認処理であり、具体的には、書換回数Ｎｒ１と、書換回数Ｎｒ２とが一致するか否かについて確認することを意味する。また、処理フェーズは、図２に示す１０個の区間（第１〜第１０区間）により分類される。
【００４７】
なお、記憶制御部２８は、この状態チェック処理を不定期に実行してもよいし、定期的に実行してもよい。不定期の例として、［１］不揮発性メモリ２４の読み出し要求時、［２］イグニッションスイッチ２０のオン動作の直後、或いは［３］図２に示す一連の動作の終了時点から所定時間が経過したとき、が挙げられる。
【００４８】
第１〜第３区間では、書換回数Ｎｒ１、Ｎｒ２は、互いに等しい（Ｎｒ１＝Ｎｒ２＝５）。この場合、記憶制御部２８は、車両情報Ｉｖ１、Ｉｖ２がいずれも最新であると判断し、不揮発性メモリ２４に対して特別な処理を行わない。つまり、不揮発性メモリ２４は、５回目の車両情報Ｉｖ１、Ｉｖ２を記憶した状態（データ同期が保たれた状態）を維持する。
【００４９】
第４、第５区間では、第１回数格納領域３０ｎに格納された書換回数Ｎｒ１が不使用値（つまり、Ｎｒ１＝０）であって、第２回数格納領域３２ｎに格納された書換回数Ｎｒ２が不使用値でない（Ｎｒ２＝５）。この場合、記憶制御部２８は、車両情報Ｉｖ２のみが最新であると判断する。
【００５０】
つまり、書換回数Ｎｒ１が不使用値である一方の記憶領域（第１記憶領域３０）が更新中である状態において、他方の記憶領域（第２記憶領域３２）から書換回数Ｎｒ２及び車両情報Ｉｖ２を複製することで直近の記憶状態に戻すことができる。
【００５１】
この場合、記憶制御部２８は、［１］（Ｎｒ１←Ｎｒ２）第２回数格納領域３２ｎの書換回数Ｎｒ２を複製して第１回数格納領域３０ｎに書き込むと共に、［２］（Ｉｖ１←Ｉｖ２）第２情報格納領域３２ｖの車両情報Ｉｖ２を複製して第１情報格納領域３０ｖに書き込む記憶制御を行う。その結果、不揮発性メモリ２４は、５回目の車両情報Ｉｖ１、Ｉｖ２を記憶した状態（つまり、データ同期が保たれた状態）に戻る。
【００５２】
ここで、記憶制御部２８は、車両情報Ｉｖ２を複製する記憶制御が完了するまでの間、この複製以外での第１記憶領域３０及び第２記憶領域３２への書き込みを行わない。記憶データの復旧中に複製以外の書き込みを禁止することで、記憶状態に関する異常の発生を防止することができる。
【００５３】
第６、第７区間では、書換回数Ｎｒ１（＝６）、Ｎｒ２（＝５）はいずれも不使用値ではなく、かつ、Ｎｒ１＞Ｎｒ２の大小関係を満たしている。この場合、記憶制御部２８は、車両情報Ｉｖ１のみが最新であると判断する。
【００５４】
つまり、書換回数Ｎｒ１が大きい一方の記憶領域（第１記憶領域３０）が更新後であり、かつ、他方の記憶領域（第２記憶領域３２）が更新前である状態において、第１記憶領域３０から車両情報Ｉｖ１を複製することで最新の記憶状態に移行することができる。
【００５５】
この場合、記憶制御部２８は、［１］（Ｎｒ２←Ｎｒ１）第１回数格納領域３０ｎの書換回数Ｎｒ１を複製して第２回数格納領域３２ｎに書き込むと共に、［２］（Ｉｖ２←Ｉｖ１）第１情報格納領域３０ｖの車両情報Ｉｖ１を複製して第２情報格納領域３２ｖに書き込む記憶制御を行う。なお、書換回数Ｎｒ１の複製に代わって、カウント更新した書換回数Ｎｒ２を第２回数格納領域３２ｎに書き込んでもよい。
【００５６】
第４、第５区間の場合と同様に、記憶制御部２８は、車両情報Ｉｖ１を複製する記憶制御が完了するまでの間、この複製以外での第１記憶領域３０及び第２記憶領域３２への書き込みを行わないようにする。その結果、不揮発性メモリ２４は、６回目の車両情報Ｉｖ１、Ｉｖ２を記憶した状態（つまり、データ同期が保たれた状態）になる。
【００５７】
第８、第９区間では、第１回数格納領域３０ｎに格納された書換回数Ｎｒ１が不使用値ではなく（Ｎｒ１＝６）、第２回数格納領域３２ｎに格納された書換回数Ｎｒ２が不使用値（つまり、Ｎｒ２＝０）である。この場合、記憶制御部２８は、車両情報Ｉｖ１のみが最新であると判断する。
【００５８】
つまり、書換回数Ｎｒ２が不使用値である一方の記憶領域（第２記憶領域３２）が更新中である状態において、他方の記憶領域（第１記憶領域３０）から書換回数Ｎｒ１及び車両情報Ｉｖ１を複製することで最新の記憶状態に移行することができる。
【００５９】
この場合、記憶制御部２８は、［１］（Ｎｒ２←Ｎｒ１）第１回数格納領域３０ｎの書換回数Ｎｒ１を複製して第２回数格納領域３２ｎに書き込むと共に、［２］（Ｉｖ２←Ｉｖ１）第１情報格納領域３０ｖの車両情報Ｉｖ１を複製して第２情報格納領域３２ｖに書き込む記憶制御を行う。
【００６０】
第６、第７区間の場合と同様に、記憶制御部２８は、車両情報Ｉｖ１を複製する記憶制御が完了するまでの間、この複製以外での第１記憶領域３０及び第２記憶領域３２への書き込みを行わないようにする。その結果、不揮発性メモリ２４は、６回目の車両情報Ｉｖ１、Ｉｖ２を記憶した状態（つまり、データ同期が保たれた状態）になる。
【００６１】
第１０区間では、書換回数Ｎｒ１、Ｎｒ２は、互いに等しい（Ｎｒ１＝Ｎｒ２＝６）。この場合、記憶制御部２８は、車両情報Ｉｖ１、Ｉｖ２がいずれも最新であると判断し、不揮発性メモリ２４に対して特別な処理を行わない。つまり、不揮発性メモリ２４は、６回目の車両情報Ｉｖ１、Ｉｖ２を記憶した状態（データ同期が保たれた状態）を維持する。
【００６２】
［エンジンＥＣＵ１２（車両情報記憶装置）による効果］
以上のように、エンジンＥＣＵ１２は、車両に搭載され、かつ、車両の状態を示す車両情報Ｉｖ１、Ｉｖ２を記憶し、［１］第１記憶領域３０及び第２記憶領域３２を有する不揮発性メモリ２４と、［２］車両情報Ｉｖ１、Ｉｖ２の書換回数Ｎｒ１、Ｎｒ２を少なくとも記憶する揮発性メモリ２６と、［３］不揮発性メモリ２４及び揮発性メモリ２６に対する記憶制御を行う記憶制御部２８と、を備え、［４］第１記憶領域３０は、車両情報Ｉｖ１が格納される第１情報格納領域３０ｖと、書換回数Ｎｒ１が格納される第１回数格納領域３０ｎと、を含み、［５］第２記憶領域３２は、車両情報Ｉｖ２が格納される第２情報格納領域３２ｖと、書換回数Ｎｒ２が格納される第２回数格納領域３２ｎと、を含む。
【００６３】
そして、［６］記憶制御部２８は、第１情報格納領域３０ｖの更新を開始する前に、（６ａ）第１回数格納領域３０ｎから読み出した書換回数Ｎｒ１を揮発性メモリ２６に書き込み、（６ｂ）書換回数Ｎｒ１のカウントに使用しない不使用値（＝０）を第１回数格納領域３０ｎに書き込む。［７］記憶制御部２８は、第１情報格納領域３０ｖの更新が終了した後に、（７ａ）揮発性メモリ２６から読み出した書換回数Ｎｒ１をカウント更新し、（７ｂ）第１回数格納領域３０ｎに書き込む記憶制御を行う。
【００６４】
そして、［８］記憶制御部２８は、第２情報格納領域３２ｖの更新を開始する前に、（８ａ）第２回数格納領域３２ｎから読み出した書換回数Ｎｒ２を揮発性メモリ２６に書き込み、（８ｂ）書換回数Ｎｒ２のカウントに使用しない不使用値（＝０）を第２回数格納領域３２ｎに書き込む。［９］記憶制御部２８は、第２情報格納領域３２ｖの更新が終了した後に、（９ａ）揮発性メモリ２６から読み出した書換回数Ｎｒ２をカウント更新し、（９ｂ）第２回数格納領域３２ｎに書き込む記憶制御を行う。
【００６５】
このように構成することで、例えば、電力の瞬断によって揮発性メモリ２６に一時的に記憶された情報が消失した場合であっても、現在格納されている２つの書換回数Ｎｒ１、Ｎｒ２の数値関係（単独値又は相対値）に基づいて第１記憶領域３０及び第２記憶領域３２の更新状況を判別可能となり、その後に必要な対処を施すことで記憶データを適切に復旧することができる。これにより、不揮発性メモリ２４の使用容量を減らしつつ、記憶データの信頼性を確保することができる。
【００６６】
また、車両のイグニッションスイッチ２０のオフ動作に応じて、電力の供給が停止されるエンジンＥＣＵ１２に適用することがより好ましい。エンジン１６を切った後のセルフシャットダウン機能を備えていない車両では、揮発性メモリ２６のデータバックアップを取得できないので特に効果的である。
【００６７】
［補足］
なお、この発明は、上述した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。或いは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。
【００６８】
例えば、この実施形態では、第１記憶領域３０→第２記憶領域３２の更新順に従って更新を行っているが、逆の更新順（つまり、第２記憶領域３２→第１記憶領域３０）であってもよい。また、データ同期が保たれるのであれば、更新順は固定されていなくてもよい。
【００６９】
また、この実施形態では、第１回数格納領域３０ｎには１個の書換回数Ｎｒ１が格納されているが、同一の値を２個以上格納可能な領域を設け、いわゆるデータの多重化を図ってもよい。具体的には、すべての値が一致する場合に正常値として判定したり、多数決により格納値を決定したりすることで、データ同期処理の信頼性がさらに向上する。また、第２回数格納領域３２ｎ（書換回数Ｎｒ２）に関しても同様である。
【符号の説明】
【００７０】
１０…車両故障診断システム              １２…エンジンＥＣＵ（車両情報記憶装置）
１４…センサ群                          １６…エンジン
１８…電源                              ２０…イグニッションスイッチ
２２…演算処理装置                      ２４…不揮発性メモリ
２６…揮発性メモリ                      ２８…記憶制御部
３０…第１記憶領域                      ３０ｎ…第１回数格納領域
３０ｖ…第１情報格納領域                ３２…第２記憶領域
３２ｎ…第２回数格納領域                ３２ｖ…第２情報格納領域
３４…記憶領域                          Ｉｖ１、Ｉｖ２…車両情報
Ｎｒ１、Ｎｒ２…書換回数
【図１】
2019045951.tif 000003
【図２】
2019045951.tif 000004
【図３】
2019045951.tif 000005