(57)【特許請求の範囲】
【請求項１】
イグニッションキーがオンの通電状態で、ＲＡＭ上のデータを使用して車両の被制御装置を制御する制御手段、
この制御手段によって使用されるＲＡＭ上のデータを、非通電状態の間、退避させるための複数の領域を有する不揮発性メモリ、
上記イグニッションキーがオフに変ったとき動作し、上記制御手段によって使用されたＲＡＭ上のデータを上記不揮発性メモリに書込む書込み手段、
上記イグニッションキーがオンに変ったとき動作し、上記不揮発性メモリに格納されたデータを読出す読出し手段、
及びこの読出し手段によって読出されたデータをチェックし、上記不揮発性メモリの故障判定を行う故障判定手段を備え、
上記不揮発性メモリの複数の領域のうちのいくつかの領域は、上記不揮発性メモリで発生したデータエラーの回数をカウントする故障判定カウンタを格納するとともに、上記故障判定カウンタは、自身が格納された領域以外のいずれの領域でデータエラーが発生した場合にもカウントアップするように構成され、
上記故障判定手段は、上記不揮発性メモリのいずれかの領域の上記故障判定カウンタの値が所定値に達した場合に上記不揮発性メモリの故障と判定することを特徴とする車載用電子制御装置。
【請求項２】
上記故障判定手段は、上記故障判定カウンタが格納された上記不揮発性メモリのすべての領域で、データエラーが発生した場合には、上記不揮発性メモリの故障と判定することを特徴とする請求項１記載の車載用電子制御装置。
【請求項３】
上記故障判定手段は、上記故障判定カウンタが格納された上記不揮発性メモリの領域でデータエラーが発生した場合には、当該故障判定カウンタを初期化することを特徴とする請求項１または請求項２記載の車載用電子制御装置。
【請求項４】
上記書込み手段は、上記ＲＡＭ上のデータを上記不揮発性メモリの各領域に対応付けて書込むとともに、上記不揮発性メモリの領域に対応する上記ＲＡＭ上のデータが、通電中に上記制御手段によって更新されなかった場合には、当該データを上記不揮発性メモリの対応する領域に書込まないことを特徴とする請求項１〜請求項３のいずれか一項記載の車載用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば車輌の自動変速機制御などに用いられるマイクロプロセッサを内蔵した車載用電子制御装置に関するものである。
【背景技術】
【０００２】
従来、車載用電子制御装置では、ＣＰＵが非通電状態になる直前に次回ＣＰＵ通電時の制御プログラム再開に備えて、ＲＡＭ上の制御プログラムの演算状態を不揮発性メモリに書込み、ＣＰＵが非通電状態の間、制御プログラムの演算状態を保持し、次回ＣＰＵ通電時、制御プログラム再開前に不揮発性メモリより制御プログラムの演算状態をＲＡＭ上に呼び出し、制御プログラムに適用することで、前回ＣＰＵ通電時の制御プログラムの演算状態を、次回ＣＰＵ通電時の制御プログラムに適用する方法が知られている。
【０００３】
この車載用電子制御装置において、ＨＥＶなど自動車の電動化制御対応により制御プログラムで扱う学習値情報が緻密かつ多様化してきており、情報の信頼性確保が要求されている。特に非通電時の情報の格納先となる不揮発性メモリは、非通電で情報を保持できるメリットがある反面、ＣＰＵ内のＲＡＭと比較して情報の書込み時間が長くなるため、書込み中の電源の瞬断や電気的なノイズの影響を受けて一過性のメモリ故障を誘発しやすい。
他にも不揮発性メモリは、超微細なゲート間隔となっているため、外部からの電磁波の影響により間欠的にリーク電流が発生することがあり、それが原因で一過性のメモリ故障を発生することがある。
これらの一過性の故障を不揮発性メモリの定常的な故障と区別して判定し、情報の信頼性を確保するとともに、不揮発性メモリの稼働率を向上させることは、車載用電子制御装置で不揮発性メモリを使用するための課題である。
【０００４】
前述した不揮発性メモリの故障判定について、以下のような対策を施す方法が知られている。
特許文献１には、メモリのデータ領域を複数の領域に分割すると共に管理領域と予備領域を備え、データ領域の複数に分割した領域のそれぞれについてメモリの正常性を確認し、メモリの異常を検出した回数をそれぞれの領域について記録し、記録された回数が閾値を越えた領域が有るときにはメモリの障害発生と判断し、記録された回数が閾値以下の領域についてはその領域に格納されている情報を予備領域に移動させると共に当該情報の移動回数および移動元の領域のアドレスに対応する移動先の予備領域のアドレスをそれぞれ記録し、この移動回数が閾値を越えたときにメモリの障害発生と判断する方法が記載されている。
【０００５】
また、特許文献２には、メモリのデータ領域を複数の領域に分割して、メモリからデータを読み出す際に領域単位に訂正可能なエラーを検出した回数をカウントし、このエラー検出回数が規定値に達したときに当該領域のデータを予備領域に移すとともに当該領域を寿命が近い領域としてその再利用を禁止する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５５５３号公報（第５〜６頁、第１図）
【特許文献２】特表２００１−５０１０００号公報（第９〜１０頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１と特許文献２の方法では、不揮発性メモリのデータ領域単位にデータ領域の異常を検出した回数などを記録した管理領域が必要であり、この管理領域が故障した場合は誤って故障を誤判定する、もしくは故障判定自体が実施できなくなるなどの問題が生じる。
【０００８】
この発明は、上述のような課題を解決するためになされたものであり、不揮発性メモリの一過性故障と定常的な故障を区別して、確実に故障判定を行える車載用電子制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係わる車載用電子制御装置においては、イグニッションキーがオンの通電状態で、ＲＡＭ上のデータを使用して車両の被制御装置を制御する制御手段、この制御手段によって使用されるＲＡＭ上のデータを、非通電状態の間、退避させるための複数の領域を有する不揮発性メモリ、イグニッションキーがオフに変ったとき動作し、制御手段によって使用されたＲＡＭ上のデータを不揮発性メモリに書込む書込み手段、イグニッションキーがオンに変ったとき動作し、不揮発性メモリに格納されたデータを読出す読出し手段、及びこの読出し手段によって読出されたデータをチェックし、不揮発性メモリの故障判定を行う故障判定手段を備え、不揮発性メモリの複数の領域のうちのいくつかの領域は、不揮発性メモリで発生したデータエラーの回数をカウントする故障判定カウンタを格納するとともに、故障判定カウンタは、自身が格納された領域以外のいずれの領域でデータエラーが発生した場合にもカウントアップするように構成され、故障判定手段は、不揮発性メモリのいずれかの領域の故障判定カウンタの値が所定値に達した場合に不揮発性メモリの故障と判定するものである。
【発明の効果】
【００１０】
この発明によれば、イグニッションキーがオンの通電状態で、ＲＡＭ上のデータを使用して車両の被制御装置を制御する制御手段、この制御手段によって使用されるＲＡＭ上のデータを、非通電状態の間、退避させるための複数の領域を有する不揮発性メモリ、イグニッションキーがオフに変ったとき動作し、制御手段によって使用されたＲＡＭ上のデータを不揮発性メモリに書込む書込み手段、イグニッションキーがオンに変ったとき動作し、不揮発性メモリに格納されたデータを読出す読出し手段、及びこの読出し手段によって読出されたデータをチェックし、不揮発性メモリの故障判定を行う故障判定手段を備え、不揮発性メモリの複数の領域のうちのいくつかの領域は、不揮発性メモリで発生したデータエラーの回数をカウントする故障判定カウンタを格納するとともに、故障判定カウンタは、自身が格納された領域以外のいずれの領域でデータエラーが発生した場合にもカウントアップするように構成され、故障判定手段は、不揮発性メモリのいずれかの領域の故障判定カウンタの値が所定値に達した場合に不揮発性メモリの故障と判定するので、故障判定カウンタ自体が故障した場合にも、不揮発性メモリの一過性故障と定常的な故障を区別して、確実に故障判定を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１による車載用電子制御装置を示す全体構成図である。
【図２】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの故障判定処理を示す流れ図である。
【図３】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリへのデータ書込み処理を示す流れ図である。
【図４】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの一過性故障の検出時の処理を示す図である。
【図５】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの定常性故障検出時の処理を示す図である。
【図６】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの故障判定カウンタの配置されたいずれかの領域での故障検出時の処理を示す図である。
【図７】この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの故障判定カウンタの配置されたすべての領域での故障検出時の処理を示す図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１による車載用電子制御装置を示す全体構成図である。
図１において、車載用電子制御装置１００は、ＣＰＵ１１０と不揮発性メモリ１７０および電源ＩＣ１５０により構成される。
ＣＰＵ１１０は、ＲＯＭ１２０とＲＡＭ１３０を有する。
ＲＯＭ１２０は、制御プログラム１２１（制御手段）と不揮発性メモリのデータ読込みプログラム１２２（読出し手段）と不揮発性メモリ故障判定プログラム１２３（故障判定手段）と不揮発性メモリのデータ書込みプログラム１２４（書込み手段）とを有している。
【００１３】
制御プログラム１２１は、ＣＰＵ１１０が通電開始されてから非通電となるまで、車両の被制御装置１４０の制御を行う。この制御プログラム１２１は、被制御装置１４０の制御を行っている間に生成した演算値や学習値をＲＡＭ１３０に書き込み、すでにＲＡＭ１３０に書き込んだ演算値や学習値を読込んで被制御装置１４０の制御を行う。
【００１４】
不揮発性メモリのデータ読込みプログラム１２２は、ＣＰＵ１１０の通電開始時に一度だけ実行されて、不揮発性メモリ１７０に書き込まれた演算値や学習値などのデータを読取る。
不揮発性メモリ故障判定プログラム１２３は、ＣＰＵ１１０の通電開始時に一度だけ実行されて、不揮発性メモリのデータ読込みプログラム１２２で読込んだ不揮発性メモリ１７０のデータのチェックを行い、不揮発性メモリ１７０の故障判定を行い、正常と判定した領域内のデータは、ＲＡＭ１３０内の、非通電時不揮発性メモリに退避するメモリ領域１３１に書き戻す。不揮発性メモリのデータエラーが発生した領域内のデータは、リフレッシュ（初期化）を行う。また、不揮発性メモリ１７０の素子故障など定常的な故障を判定した場合は、故障コードを記憶したり、ユーザに故障の発生を知らせるために車両のインパネに設置されたチェックランプを点灯させるなどの警告を行う。
【００１５】
不揮発性メモリのデータ書込みプログラム１２４は、イグニッションキー１４１がＯＮからＯＦＦに変更された際に一度だけ実行されて、ＲＡＭ１３０の非通電時不揮発性メモリに退避するメモリ領域１３１のデータを不揮発性メモリ１７０に書き込む。
【００１６】
ＲＡＭ１３０は、非通電時不揮発性メモリに退避するメモリ領域１３１と、非通電時保持しないメモリ領域１３２を有する。
非通電時不揮発性メモリに退避するメモリ領域１３１は、ＣＰＵ１１０の通電時は制御プログラム１２１の演算値や学習値の書き込みや読取りが行われ、ＣＰＵ１１０の非通電時は、不揮発性メモリ１７０にデータを退避させるメモリ領域であり、ＣＰＵ１１０の通電状態に係わらず、このメモリ領域のデータの値は保持される。
非通電時保持しないメモリ領域１３２は、ＣＰＵ１１０の通電時は制御プログラム１２１の演算値の書き込みや読取りが行われ、ＣＰＵ１１０の非通電時はメモリ領域内のデータ値は保持されない。
【００１７】
不揮発性メモリ１７０は、領域１（１７１）、領域２（１７４）、領域３（１７７）、領域４（１７９）、領域ｎ（ｎ＝１，２，３，・・・）（１８１）というように複数の領域で構成される。制御プログラム１２１の演算値や学習値は、機能毎に分類され、それぞれの領域で保持される。
【００１８】
領域１（１７１）は、データ値の書き込まれる領域と、不揮発性メモリ１７０の故障判定回数（データエラー回数）を書き込むための故障判定カウンタ１（１７２）と、領域１のＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：巡回冗長検査）（１７３）とを有する。
領域２（１７４）は、データ値の書き込まれる領域と、不揮発性メモリ１７０の故障判定回数を書き込むための故障判定カウンタ２（１７５）と、領域２のＣＲＣ（１７６）とを有する。
領域３（１７７）は、データ値の書き込まれる領域と、領域３のＣＲＣ（１７８）とを有する。
領域４（１７９）は、データ値の書き込まれる領域と、領域４のＣＲＣ（１８０）とを有する。
領域ｎ（ｎ＝１，２，３，・・・）（１８１）は、データ値の書き込まれる領域と、不揮発性メモリ１７０の故障判定回数を書き込むための故障判定カウンタ３（１８２）と、領域ｎのＣＲＣ（１８３）とを有する。
【００１９】
車載用電子制御装置１００の電源ＩＣ１５０は、イグニッションキー１４１がＯＦＦからＯＮに切り替わったときに、ＣＰＵ１１０と不揮発性メモリ１７０への電源供給を開始する。
イグニッションキー１４１がＯＮからＯＦＦに切り替わったとき、非通電時不揮発性メモリに退避するメモリ領域１３１から不揮発性メモリ１７０へデータを移動する間、ＣＰＵ１１０により電源ＩＣ１５０がＯＮされ、その間ＣＰＵ１１０と不揮発性メモリ１７０への電源供給を行う。
前述した以外のイグニッションキー１４１がＯＦＦの期間では、電源ＩＣ１５０がＣＰＵ１１０と不揮発性メモリ１７０へ電源供給を実施しないため、バッテリ電源の消費電力削減に繋がる。
【００２０】
図４は、この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの一過性故障の検出時の処理を示す図である。
図４（ａ）は不揮発性メモリの初期状態を示す図、図４（ｂ）は不揮発性メモリの１回目の更新結果を示す図、図４（ｃ）は不揮発性メモリの２回目の更新結果を示す図である。
図４において、１７０〜１７８、１８１〜１８３は図１におけるものと同一のものである。図４（ｂ）で領域３の破損データ４１６が示されている。
【００２１】
図５は、この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの定常性故障検出時の処理を示す図である。
図５（ａ）は不揮発性メモリの初期状態を示す図、図５（ｂ）は不揮発性メモリの１回目の更新結果を示す図、図５（ｃ）は不揮発性メモリの２回目の更新結果を示す図、図５（ｄ）は故障判定成立時の更新結果を示す図である。
図５において、１７０〜１７８、１８１〜１８３は図１におけるものと同一のものである。図５（ｂ）、図５（ｃ）、図５（ｄ）で領域３の破損データ５１６が示されている。
【００２２】
図６は、この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの故障判定カウンタの配置されたいずれかの領域での故障検出時の処理を示す図である。
図６（ａ）は不揮発性メモリの初期状態を示す図、図６（ｂ）は不揮発性メモリの１回目の更新結果を示す図、図６（ｃ）は不揮発性メモリの２回目の更新結果を示す図、図６（ｄ）は故障判定成立時の更新結果を示す図である。
図６において、１７０〜１７８、１８１〜１８３は図１におけるものと同一のものである。図６（ｂ）、図６（ｃ）、図６（ｄ）で領域２の破損データ６１９が示されている。
【００２３】
図７は、この発明の実施の形態１による車載用電子制御装置の不揮発性メモリの故障判定カウンタの配置されたすべての領域での故障検出時の処理を示す図である。
図７（ａ）は不揮発性メモリの初期状態を示す図、図７（ｂ）は故障判定成立時の更新結果を示す図である。
図７において、１７０〜１７８、１８１〜１８３は図１におけるものと同一のものである。図７（ｂ）で領域１の破損データ７２０、領域２の破損データ７２１、領域ｎの破損データ７２２が示されている。
【００２４】
次に、動作について説明する。
まず、図２を用いて、不揮発性メモリ故障判定処理について説明する。
イグニッションキーがＯＦＦからＯＮにされた時、不揮発性メモリ１７０から、保存されていた制御プログラム１２１の演算値および学習値を読み出すために不揮発性メモリ故障判定処理２００を開始する。
【００２５】
ステップ２０１で、不揮発性メモリ１７０のデータを領域単位で読込む。
次に、ステップ２０２で、不揮発性メモリ１７０のデータ読込み中に読取りエラーが発生した場合もしくは読み取った領域内のデータのＣＲＣを再度計算し、同一領域内に存在するＣＲＣの値と比較して、領域のデータが途中で壊れていないかどうかの領域内のデータの整合性をチェックし、領域単位で不揮発性メモリの故障（データエラー）検出を行う。
故障を検出した場合は、ステップ２０３で、該当領域内のデータをすべて初期値に初期化する。該当領域内に不揮発性メモリの故障判定カウンタが存在する場合は、故障判定カウンタの値を０に初期化する。
これにより、故障判定カウンタの配置された領域で故障を検出した場合、故障判定カウンタの値が不定値となっている可能性があるため、故障判定カウンタを初期化することで不定値となった故障判定カウンタ値を使用した不揮発性メモリの誤故障判定を防止することができる。
【００２６】
不揮発性メモリ１７０の故障が検出されなかった場合は、次のステップ２０４に移動する。
ステップ２０４で、すべての領域の読込み完了をチェックし、読込み完了していない領域がある場合は、ステップ２０１に移動し、次の領域の読込み処理を行う。すべての領域の読込み処理を完了した場合は、ステップ２０５の処理に移動する。
【００２７】
ステップ２０５では、故障判定カウンタの配置されたすべての領域の不揮発性メモリの故障検出状況をチェックし、故障判定カウンタの配置されたすべての領域で故障を検出した場合は、ステップ２０９に移動して、不揮発性メモリ１７０の定常的な故障判定成立とし、ステップ２１０に移動して、不揮発性メモリ故障判定処理を終了する。
ステップ２０５で、故障判定カウンタの配置されたすべての領域で故障検出状況をチェックし、故障判定カウンタの配置されたすべての領域でエラーを検出した場合でなければ、ステップ２０６に移動する。
【００２８】
ステップ２０６で、不揮発性メモリ１７０のすべての領域で故障検出状況をチェックし、いずれかの領域でエラーを検出した場合は、ステップ２０７に移動し、不揮発性メモリの故障判定カウンタのうち、エラーを検出した領域に故障判定カウンタがある場合の当該故障判定カウンタを除いて、他のすべての故障判定カウンタをカウントアップする。
次に、ステップ２０８に移動し、不揮発性メモリの故障判定カウンタのいずれかが不揮発性メモリの定常的な故障判定条件である所定値に達しているかどうかを確認する。達している場合は、ステップ２０９に移動し、不揮発性メモリの定常的な故障判定成立し、次にステップ２１０に移動し、不揮発性メモリ故障判定処理を終了する。
達していなかった場合は、ステップ２１０に移動し、不揮発性メモリの故障判定処理を終了する。
ステップ２０６で、不揮発性メモリのいずれの領域でもエラー検出しなかった場合は、ステップ２１１に移動し、不揮発性メモリの故障判定カウンタをすべて初期化した後、ステップ２１０に移動し、不揮発性メモリ１７０の故障判定処理を終了する。
【００２９】
次に、図３を用いて、不揮発性メモリへのデータ書込み処理について説明する。
イグニッションキーがＯＮからＯＦＦになった時、不揮発性メモリ１７０に、保存すべき制御プログラム１２１の演算値および学習値を書込むために不揮発性メモリ書込み処理３０１を開始する。
【００３０】
ステップ３０２で、書込み対象となる領域ごとに、領域内に不揮発性メモリの故障判定カウンタが存在するかどうかを確認し、存在する場合はステップ３０６に移動する。
ステップ３０６で、不揮発性メモリの故障判定カウンタを不揮発性メモリに書込む。つぎにステップ３０７に移動し、領域のデータを不揮発性メモリに書込む。次にステップ３０８に移動し、不揮発性メモリの故障判定カウンタを含む領域データのＣＲＣを不揮発性メモリに書込む。次にステップ３０９の処理に移動する。
【００３１】
ステップ３０２で、書込み対象となる領域内に不揮発性メモリの故障判定カウンタが存在することを確認し、存在しない場合はステップ３０３に移動する。
ステップ３０３で、領域内に書込み対象となっている制御プログラム１２１の演算値および学習値がイグニッションキーがＯＮの間、変動していないかどうかを確認する。変動していない場合はステップ３０２に移動し、次の領域の書込み処理を行う。
このように、データの変更のない領域の不揮発性メモリへの書込み処理をスキップすることで、不揮発性メモリの書込み時間を少なくできるため、不揮発性メモリの故障検出につながる書込み中の電源瞬断や電気的ノイズの発生に遭遇する機会を低減できる。
また、不揮発性メモリへの書込み時間の短縮は、消費電力低減につながる。
【００３２】
ステップ３０３で、変動していた場合は、ステップ３０４に移動する。ステップ３０４で、領域のデータを不揮発性メモリに書込む。次にステップ３０５に移動し、領域データのＣＲＣを不揮発性メモリに書込む。次にステップ３０９に移動する。
ステップ３０９で、すべての領域の書込み処理が完了したかどうかをチェックする。書込み完了していない場合は、ステップ３０２に移動して、次の書込み領域の書込み処理を行う。すべての領域の書込みチェックが完了した場合は、ステップ３１０に移動して不揮発性メモリ１７０の書込み処理を終了とする。
【００３３】
次に、図４を用いて、不揮発性メモリの一過性故障の検出時の処理について説明する。
図４（ａ）の初期状態の不揮発性メモリ１７０では、領域１、領域２、領域３、領域ｎで破損データが存在しないため、領域１に配置された不揮発性メモリの故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも０である。
【００３４】
図４（ｂ）の１回目の更新結果の状態の不揮発性メモリ１７０では、領域３で一過性の要因により破損データ４１６が存在したため、領域１に配置された故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも１にカウントアップしている。
【００３５】
図４（ｃ）の２回目の更新結果の状態の不揮発性メモリ１７０では、領域３で一過性の要因による破損データ４１６がデータの初期化により修復されたため、領域１に配置された故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも０に初期化されている。
【００３６】
このように、不揮発性メモリ１７０のいずれかの領域で電気的ノイズなどの一過性の要因による不揮発性メモリの故障検出があっても、不揮発性メモリの定常的な故障を誤検出することがないため、不揮発性メモリの故障判定精度が向上し、車載用電子制御装置の稼働率を向上させることができる。
【００３７】
次に、図５を用いて、不揮発性メモリの定常性故障判定時の処理について説明する。
この例では、不揮発性メモリ１７０の故障判定カウンタが、所定値である２０回まで連続してカウントした場合に不揮発性メモリの定常的な故障判定成立とみなすようになっている。
図５（ａ）の初期状態の不揮発性メモリ１７０では、領域１、領域２、領域３、領域ｎで破損データが存在しないため、領域１に配置された不揮発性メモリの故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも０である。
【００３８】
図５（ｂ）の１回目の更新結果の状態の不揮発性メモリ１７０では、領域３で定常的な要因により破損データ５１６が存在したため、領域１に配置された故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも１にカウントアップしている。
【００３９】
図５（ｃ）の２回目の更新結果の状態の不揮発性メモリ１７０では、領域３で定常的な要因により破損データ５１６が存在したため、領域１に配置された故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも２にカウントアップしている。
【００４０】
領域３で定常的な要因により破損データ５１６が継続して存在したため、図５（ｄ）の状態の不揮発性メモリ１７０では、領域１に配置された故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも２０までカウントアップし、不揮発性メモリの定常的な故障判定が成立する値に達したため、不揮発性メモリの定常的な故障判定が成立した。
【００４１】
このように、不揮発性メモリのいずれかの領域で不揮発性メモリの素子故障などの要因による不揮発性メモリの定常的な故障判定条件が成立しても、自身の配置された領域を除く他の故障判定カウンタの配置された領域および配置されていない領域の故障発生回数をカウントできる故障判定カウンタが複数存在するため、故障判定精度が向上する。
【００４２】
次に、図６を用いて、不揮発性メモリの故障判定カウンタの配置されたいずれかの領域での故障検出時の処理について説明する。
図６は、不揮発性メモリの定常的な故障が不揮発性メモリの故障判定カウンタが配置された領域で発生した場合について示すものである。この例では、図５のときと同様に、不揮発性メモリの故障判定カウンタが所定値である２０回まで連続してカウントした場合に不揮発性メモリの定常的な故障判定成立とみなすようになっている。
【００４３】
図６（ａ）の初期状態の不揮発性メモリ１７０では、領域１、領域２、領域３、領域ｎで破損データが存在しないため、領域１に配置された不揮発性メモリの故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも０である。
【００４４】
図６（ｂ）の１回目の更新結果の状態の不揮発性メモリ１７０では、領域２で定常的な要因により破損データ６１９が存在したため、領域１に配置された故障判定カウンタ１（１７２）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも１にカウントアップしている。領域２に配置された故障判定カウンタ２（１７５）は自身の配置された領域内でエラーが検出されているため、初期化され、０になっている。
【００４５】
図６（ｃ）の２回目の更新結果の状態の不揮発性メモリ１７０では、領域２で定常的な要因により破損データ６１９が存在したため、領域１に配置された故障判定カウンタ１（１７２）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも２にカウントアップしている。領域２に配置された故障判定カウンタ２（１７５）は自身の配置された領域内でエラーが検出されているため、初期化され、０になっている。
【００４６】
図６（ｄ）の状態の不揮発性メモリ１７０では、領域２で定常的な要因により破損データ６１９が継続して存在したため、領域２に配置された故障判定カウンタ２（１７５）は自身の配置された領域内でエラーが検出されているため、初期化され、０のままである。
しかし、領域１に配置された故障判定カウンタ１（１７２）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも２０までカウントアップし、不揮発性メモリの定常的な故障判定が成立する値に達したため、不揮発性メモリの定常的な故障判定が成立した。
【００４７】
このように、故障判定カウンタが、従来のように管理領域で一括管理されていないため、不揮発性メモリの故障により、いくつかの故障判定カウンタが無効値となっても他の故障判定カウンタが有効であれば、不揮発性メモリの故障判定が実施できるため、不揮発性メモリの故障判定精度が向上する。
【００４８】
次に、図７を用いて、不揮発性メモリの故障判定カウンタの配置されたすべての領域での故障検出時の処理について説明する。
図７は、不揮発性メモリの定常的な故障が、不揮発性メモリの故障判定カウンタが配置されたすべての領域で発生した場合について示すものである。
【００４９】
図７（ａ）の初期状態の不揮発性メモリ１７０では、領域１、領域２、領域３、領域ｎで破損データが存在しないため、領域１に配置された不揮発性メモリの故障判定カウンタ１（１７２）、領域２に配置された故障判定カウンタ２（１７５）、領域ｎに配置された故障判定カウンタ３（１８２）の値はいずれも０である。
【００５０】
図７（ｂ）の状態の不揮発性メモリ１７０では、故障判定カウンタ１（１７２）の配置された領域１で破損データ７２０が存在し、故障判定カウンタ２（１７５）の配置された領域２で破損データ７２１が存在し、故障判定カウンタ３（１８２）の配置された領域ｎで破損データ７２２が存在する。
このため、故障判定カウンタ１（１７２）、故障判定カウンタ２（１７５）、故障判定カウンタ３（１８２）の値は０に初期化されている。
【００５１】
このように、不揮発性メモリの故障判定カウンタが配置されたすべての領域で同時にエラーを検出した場合は、故障判定カウンタの値が無効になってしまうため、即時に不揮発性メモリの故障判定成立とする。
このようにすることで、不揮発性メモリの素子自体が故障し、一切の領域データや不揮発性メモリの故障判定カウンタを読み出せなくなった場合でも不揮発性メモリの故障判定を行うことが可能になる。
【００５２】
実施の形態１によれば、不揮発性メモリの領域に格納されたデータの破損に加え、不揮発性メモリの故障を検出した回数を記録する不揮発性メモリの故障判定カウンタ自体が故障した場合にも、不揮発性メモリの一過性故障と不揮発性メモリの素子不良など定常的な故障とを区別して、故障判定を行うことができる。
また、不揮発性メモリの故障判定カウンタを複数の領域に分散して配置したので、特定の管理領域が必要なくなり、不揮発性メモリの故障判定カウンタが配置されていない領域はもちろんのこと、不揮発性メモリの故障判定カウンタが配置された領域自体が故障しても不揮発性メモリの故障判定を正確に実施することができる。
また、制御プログラムの改良により、上述の故障判定の機能を実現できるため、従来の車載用電子制御装置と同一装置が使用でき、特殊な装置を付加することによる消費電力増大やコストアップにならない。
【００５３】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００５４】
１００  車載用電子制御装置、１１０  ＣＰＵ、１２０  ＲＯＭ、
１２１  制御プログラム、１２２  不揮発性メモリのデータ読込みプログラム、
１２３  不揮発性メモリ故障判定プログラム、
１２４  不揮発性メモリのデータ書込みプログラム、１３０  ＲＡＭ、
１３１  非通電時不揮発性メモリに退避するメモリ領域、
１３２  非通電時保存しないメモリ領域、１４０  被制御装置、
１４１  イグニッションキー、１４２  バッテリ、１５０  電源ＩＣ、
１７０  不揮発性メモリ、１７１  領域１、１７２  故障判定カウンタ１、
１７３  領域１のＣＲＣ、１７４  領域２、１７５  故障判定カウンタ２、
１７６  領域２のＣＲＣ、１７７  領域３、１７８  領域３のＣＲＣ、
１７９  領域４、１８０  領域４のＣＲＣ  、１８１  領域ｎ、
１８２  故障判定カウンタ３、１８３  領域ｎのＣＲＣ、
４１６、５１６、６１９、７２０、７２１、７２２  破損データ。
【要約】
【課題】不揮発性メモリの一過性故障と定常的な故障を区別して、確実に故障判定を行える車載用電子制御装置を得る。
【解決手段】ＲＡＭ１３０上のデータを用いて、被制御装置１４０を制御する制御プログラム１２１を有するＣＰＵ１１０は、イグニッションキー１４１がＯＮからＯＦＦになったとき、複数の領域を有する不揮発性メモリ１７０にＲＡＭ１３０上のデータを退避させ、イグニッションキー１４１がＯＮになって不揮発性メモリ１７０からデータを読み出したとき、不揮発性メモリ故障判定プログラム１２３により、いずれかの領域のデータ破損を検知した場合には当該領域を初期化するとともに、不揮発性メモリ１７０の複数の領域のうちのいくつかの領域に配置された故障判定カウンタをカウントアップし、いずれかの故障判定カウンタの値が所定値に達したとき、不揮発性メモリ１７０の故障と判定する。
【選択図】図１【図１】
0005619243.tif 000002
【図２】
0005619243.tif 000003
【図３】
0005619243.tif 000004
【図４】
0005619243.tif 000005
【図５】
0005619243.tif 000006
【図６】
0005619243.tif 000007
【図７】
0005619243.tif 000008