(57)【要約】【課題】  不揮発性メモリ全体の複数ブロックの高寿命化を図り、保存するデータの信頼性の向上を図ることができる電子制御装置を提供する。【解決手段】  不揮発性メモリ２００を有し、不揮発性メモリ２００は複数の消去ブロック２０１より構成され、消去ブロック２０１は複数の書込みブロック２０２で構成され、不揮発性メモリ２００のＥＣＣエラーを検出するＥＣＣエラー検出回路１０６を有し、１乃至連続する複数の消去ブロックをデータ単位ブロック３０１として、使用頻度が均一になるようにデータ単位ブロック３０１を切り換えながら、不揮発性メモリ２００の故障予兆検知を行うように電子制御装置１００を構成する。【選択図】図１
2017049902.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを有し、
前記不揮発性メモリは複数の消去ブロックより構成され、
前記消去ブロックは複数の書込みブロックで構成され、
前記不揮発性メモリのＥＣＣエラーを検出するＥＣＣエラー検出回路を有する電子制御装置であって、
１乃至連続する複数の消去ブロックをデータ単位ブロックとして、使用頻度が均一になるようにデータ単位ブロックを切り換えながら、前記不揮発性メモリの故障予兆検知を行うことを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記故障予兆検知は、書込みブロックの書込み時間により行うことを特徴とする電子制御装置。
【請求項３】
請求項１に記載の電子制御装置であって、
前記故障予兆検知は、１ビットのＥＣＣエラー数により行うことを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの故障予兆検知を行う電子制御装置に関する。
【背景技術】
【０００２】
近年の自動車制御では、ＥＣＵ（Electronic Control Unit）による電子システム制御の高性能化が進んでおり、自動車制御の主要機能の大部分を担っている。電子システムの異常発生による安全を侵害するリスクが高まっており、電子システムに機能安全技術の適用が必要不可欠であり、ＥＣＵも例外でなく、ＥＣＵ内部に搭載される部品の早期の故障検出が要求されている。
【０００３】
また、乗用車の使用平均年数は増加傾向にあり、ＥＣＵの高寿命化も求められている。
【０００４】
ＥＣＵに搭載されている部品の一つである不揮発性メモリは、内部のブロック単位で消去回数・書込み回数の保証回数が決められている。そのため、不揮発性メモリの高寿命化の施策を行う必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１３０５３０号広報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、不揮発性メモリは、特開２０１４−１３０５３０号広報（特許文献１）に記載されているように、メモリを分割し、各領域の消去回数を同一不揮発性メモリに保存し、不揮発性メモリの消去保証回数に応じて決めたしきい値を超えるか否かで故障の判定を行っている。
【０００７】
しかし、消去回数も同一不揮発性メモリに保存するため、その回数情報を正しく書込むことができたのかの保証が行えない、消去回数のしきい値として設定した値以下では故障していても検知することができない、消去回数のしきい値として設定した値を超えた回数の消去が行われても故障していない可能性もあり継続使用が可能であっても使用することができないという課題があった。
【０００８】
また、書込み頻度で書く領域分けを行っているが、同じ領域に書込むので書込む頻度の高いデータを多く書込む領域は他の領域に比べ劣化が早いという課題があった。
【０００９】
そこで本発明は、不揮発性メモリ全体の複数ブロックの高寿命化を図り、保存するデータの信頼性の向上を図ることができる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【００１１】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、不揮発性メモリを有し、前記不揮発性メモリは複数の消去ブロックより構成され、前記消去ブロックは複数の書込みブロックで構成され、前記不揮発性メモリのＥＣＣエラーを検出するＥＣＣエラー検出回路を有する電子制御装置であって、１乃至連続する複数の消去ブロックをデータ単位ブロックとして、使用頻度が均一になるようにデータ単位ブロックを切り換えながら、前記不揮発性メモリの故障予兆検知を行うことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、不揮発性メモリ全体の複数ブロックの高寿命化を図り、保存するデータの信頼性の向上を図ることができる。
【００１３】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】マイコンを備えたＥＣＵの構成図である。
【図２】不揮発性メモリの内部の構成図である。
【図３】消去ブロックの内部の構成図である。
【図４】保存するエラー検出情報の構成図である。
【図５】消去ブロックへの書込みのフローチャートである。
【図６】ＥＣＣエラーチェックのフローチャート図である。
【図７】１ビットＥＣＣエラー数による故障予兆検知のフローチャートである。
【図８】書込み時間による故障予兆検知のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を用いて本発明の実施形態を説明する。
【００１６】
図１は、本発明の実施形態に係るＥＣＵの構成例を示している。
【００１７】
ＥＣＵ１００に搭載されるマイクロコンピュータ１０１は、ＣＰＵ（Central Processing Unit）１０２、ＡＤＣ（Analog Digital Converter）１０３、Ｉ／Ｏ（Input / Output）１０４、ＥＣＣ（Error Check and Correction）エラー検出回路１０５、ＥＣＣエラー通知回路１０６、揮発性メモリ１０７、不揮発性メモリ２００等から構成されている。
【００１８】
図２は、不揮発性メモリ２００の構成の概要を示している。
【００１９】
不揮発性メモリ２００は、複数の消去ブロック２０１から構成され、消去ブロック２０１は複数の書込みブロック２０２から構成される。使用するマイコンによっては、消去ブロック２０１のサイズ、および、書込みブロック２０２のサイズは固定されていることがある。例えば、１つの不揮発性メモリ２００は、６４バイトの消去ブロックが１０２４個により構成され、各消去ブロック２０１は、４バイトの書込みブロックが１６個により構成されている。
【００２０】
不揮発性メモリ２００には、各ブロックの消去回数乃至書込み回数の上限が決められている。上限以上の消去乃至書込みを行うと、書込んだデータが正しく書込めない、正しく書込めても読出しが上手くできないといった正常ではない動作を行う。
【００２１】
そのため、書込み頻度の多いデータを同じ消去ブロック２０１に書込み続けるとその消去ブロック２０１の劣化が他の消去ブロック２０１より早く起こる。
【００２２】
そこで、１乃至連続する複数の消去ブロック２０１をデータ単位ブロック３０１としデータを書込む頻度で使用するデータ単位ブロック３０１の数を分ける。例えば、書込み回数の多いデータは単位ブロック３０１を３個、少ないデータは単位ブロック３０１を１個使用する。
【００２３】
書込む度に使用するデータ単位ブロック３０１を切り換えることで書込み回数を均一化する。例えば、図３に示すように、１つの消去ブロック２０１をデータ単位ブロック３０１とした場合、書込む度に消去ブロック１、消去ブロック２、消去ブロック３、消去ブロック０と書込む消去ブロック２０１を順番に変えていく。
【００２４】
図４は、エラー検出のために保存する情報の構成の概要を示している。
【００２５】
故障予兆検知を行うために、各消去ブロック２０１において書込むデータ以外に使用した書込みブロック数４０１、１ビットのＥＣＣエラー数４０２、書込み時間４０３を保存する。
【００２６】
故障予兆検知を行うために１乃至複数の消去ブロック２０１を使用し、ある回数データを書込んだ時の１ビットのＥＣＣエラー数４０２と書込み時間４０３を保持する消去ブロック２０１を基準データブロック４０４とする。基準データブロック４０４は上書き禁止とし、使用する消去ブロックは任意にしてもよい。例えば、消去回数の上限が１万回とした場合、その条件の半分である５千回データを書込んだ時のビットのＥＣＣエラー数４０２と書込み時間４０３を保持させたり、２つの基準データブロック４０４を使用し、１つの基準データブロック４０４には５千回データを書込んだ時のビットのＥＣＣエラー数４０２と書込み時間４０３、もう１つの基準データブロック４０４には、１回データを書込んだ時のビットのＥＣＣエラー数４０２と書込み時間４０３を保持させる。
【００２７】
図５と図６は、不揮発性メモリ２００への書込みフローの概要について示している。
【００２８】
ステップ１０１（図では「Ｓ１０１」と略記する。以下同様）では、前回に書き込んだ消去ブロック２０１の次の消去ブロック２０１に書込むために前回に書いた消去ブロック２０１を検索する。
【００２９】
ステップ１０２では、ステップ１０１で検索した消去ブロック２０１の書込みブロック２０２にデータを書込む。
【００３０】
ステップ１０３では、書込みブロック２０２にデータを書込むのにかかった時間を測定する。
【００３１】
ステップ１０４では、書込むデータが全て書込めていれば、ステップ１０５に遷移する。書込むデータが全て書込めていなければ、ステップ１０２に遷移する。
【００３２】
ステップ１０５では、書込んだデータが使用した書込みブロック数４０１と書込みブロック２０１ごとに計測していた書込み時間を合算して、消去ブロック２０１に保存する。
【００３３】
ステップ１０６では、ＥＣＣエラーを検出するために、ステップ１０２で書込んだデータを読出す。
【００３４】
ステップ１０７では、２ビットのＥＣＣエラーを検出した場合は、ステップ１０８に遷移する。２ビットのＥＣＣエラーを検出しなかった場合はステップ１１０に遷移する。
【００３５】
ステップ１０８では、２ビットのＥＣＣエラーを検出した消去ブロック２０１は故障していると判断し、この消去ブロック２０１を使用禁止とする。
【００３６】
ステップ１０９では、２ビットのＥＣＣエラーを検出した消去ブロック２０１のデータは壊れていると判断し、２ビットのＥＣＣエラーを検出した消去ブロック２０１のデータは使用せず、前の消去ブロック２０１のデータを使用する。
【００３７】
ステップ１１０では、１ビットのＥＣＣエラーを検出した場合は、ステップ１１１に線にする。１ビットのＥＣＣエラーを検出しなかった場合は、ステップ１１２に遷移する。
【００３８】
ステップ１１１では、検出回数をカウントする。
【００３９】
ステップ１１２では、消去ブロック２０１に書き込まれたデータを全て読出したかの判定を行い、全て読出すことができていない場合は、ステップ１０６に遷移する。全て読出すことができた場合は、ステップ１１３に遷移する。
【００４０】
ステップ１１３では、ステップ１１１でカウントしていた１ビットのＥＣＣエラー数４０２を消去ブロック２０１に保存する。
【００４１】
ステップ１１４では、前の消去ブロック２０１のデータを削除する。消去ブロック２０１のデータの削除を最後にすることにより、書込み途中で電源ＯＦＦした時などデータが正しく書けなかった場合に、前の消去ブロック２０１に書いたデータを使用することできるようにするためである。不揮発性メモリ２００は、書込む際は必ず消去ブロック２０１内の全てのデータを削除してからでないとデータ書込めないため、予め消去ブロック２０１内の全てのデータを削除しておくことでデータの書込みがすぐに行えるようにする。
【００４２】
図７は、不揮発性メモリ２００への故障予兆検知フローの概要ついて示す。
【００４３】
ステップ２０１では、故障予兆検知を行いたい消去ブロック２０１において、保存していた１ビットのＥＣＣエラー数４０２を使用した書込みブロック数４０１で割って、書込みブロック１個当たりの１ビットのＥＣＣエラー数を算出する。
【００４４】
ステップ２０２では、基準データブロック４０４の１ビットのＥＣＣエラー数４０２を使用した消去ブロック数４０１で割って、書込みブロック１個当たりの１ビットのＥＣＣエラー数を算出する。
【００４５】
ステップ２０３では、ステップ２０１とステップ２０２で算出した書込みブロック１個当たりの１ビットのＥＣＣエラー数を比較し故障予兆検知を行う。故障予兆を検知した場合は、ステップ２０４に遷移する。故障予兆を検知しなかった場合は、ステップ２０５に遷移する。
【００４６】
例えば、故障予兆検知対象の書込みブロック１個当たりの１ビットのＥＣＣエラー数が基準データブロック４０４の書込みブロック１個当たりの１ビットのＥＣＣエラー数を超えていればステップ２０４に遷移する。故障予兆検知対象の書込みブロック１個当たりの１ビットのＥＣＣエラー数が基準データブロック４０４の書込みブロック１個当たりの１ビットのＥＣＣエラー数を超えていなければステップ２０５に遷移する。
【００４７】
ステップ２０４では、故障予兆検知を行った消去ブロック２０１は、そのまま継続使用しても問題ないため、継続して使用する。
【００４８】
ステップ２０５では、故障予兆を検知した消去ブロック２０１に対して対策を行う。例えば、故障予兆を検知した消去ブロック２０１をそのまま使用続けるのはリスクが高いと判断し使用不可にする。故障予兆を検知した消去ブロック２０１をそのまま使用続けても問題ないと判断するならば、この予兆検知を無視し、２ビットのＥＣＣエラーを検出するまで使用し続ける。なお、故障予兆に対する対策は、例に示した以外の処理を行っても良い。
【００４９】
図８は、不揮発性メモリ２００の書込み時間による故障予兆検知フローの概要ついて示す。
【００５０】
ステップ３０１では、故障予兆検知を行いたい消去ブロック２０１において、保存していた書込み時間４０３を使用した書込みブロック数４０１で割って、書込みブロック１個当たりの書込み時間を算出する。
【００５１】
ステップ３０２では、基準データブロック４０４の書込み時間を使用した消去ブロック数４０１で割って、書込みブロック１個当たりの書込み時間を算出する。
【００５２】
ステップ３０３では、ステップ２０１とステップ２０２で算出した書込みブロック１個当たりの書込み時間を比較し、故障予兆検知を行う。故障予兆を検知した場合は、ステップ３０４に遷移する。故障予兆を検知しなかった場合は、ステップ３０５に遷移する。
【００５３】
例えば、故障予兆検知対象の書込みブロック１個当たりの書込み時間が基準データブロック４０４の書込みブロック１個当たりの書込み時間を超えていればステップ３０４に遷移する。故障予兆検知対象の書込みブロック１個当たりの書込み時間が基準データブロック４０４の書込みブロック１個当たりの書込み時間を超えていなければステップ３０５に遷移する。
【００５４】
なお、ステップ２０１〜ステップ２０５とステップ３０１〜ステップ３０５の故障予兆検知は、電源ＯＮ時、ＯＦＦ時、あるいは、常時行うなど任意のタイミングで行うこととする。
【００５５】
以上説明したごとく、本発明では、故障予兆検知を行う情報として消去回数での判断でなく、不揮発性メモリへの書込み時間、１ビットのＥＣＣエラー回数、２ビットＥＣＣエラーにより判断を行うことで、リアルタイムでの故障予兆検知を図る。
【００５６】
また、書込み頻度の多いデータについては、複数のブロックを使用し、書込む領域を切換えることで不揮発性メモリのブロックの消去回数・書込み回数の分散を行うことで各ブロックの劣化を均等化することで高寿命化を図る。
【００５７】
これにより、不揮発性メモリ全体の複数ブロックの高寿命化を図り、保存するデータの信頼性の向上を図ることができる。
【００５８】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【符号の説明】
【００５９】
１００…ＥＣＵ
１０１…マイクロコンピュータ
１０２…ＣＰＵ
１０３…ＡＤＣ
１０４…Ｉ／Ｏ
１０５…ＥＣＣエラー検出回路
１０６…ＥＣＣエラー通知回路
１０７…揮発性メモリ
２００…不揮発性メモリ
２０１…消去ブロック
２０２…書込みブロック
３０１…データ単位ブロック
４０１…使用した書込みブロック数
４０２…１ビットのＥＣＣエラー数
４０３…書込み時間
４０４…基準データブロック
【図１】
2017049902.tif 000003
【図２】
2017049902.tif 000004
【図３】
2017049902.tif 000005
【図４】
2017049902.tif 000006
【図５】
2017049902.tif 000007
【図６】
2017049902.tif 000008
【図７】
2017049902.tif 000009
【図８】
2017049902.tif 000010