(57)【要約】【課題】データ損失に伴うリスクを小さくできつつも、書換え可能な不揮発性メモリの書込み回数を減らす。【解決手段】ＥＥＰＲＯＭ５に対する書込み回数が早期に上限に至ることがないように、前記ＣＰＵ２は、ＥＥＰＲＯＭ５の各メモリブロック５ａ〜５ｄに対するデータＡ〜Ｄの書込みを制限する。ＣＰＵ２は、ＥＥＰＲＯＭ５の各メモリブロック５ａ〜５ｄに対するデータ書込み要求があった場合に、各メモリブロック５ａ〜５ｄのデータＡ〜Ｄの重要度、データ更新頻度に、実書込み回数に応じて設定される書込み不許可回数に基づいて、書込みの実行を保留する（保留回数が不許可回数に至るまで書込みしない）ことにより、制限を行う。【選択図】図１
2015011524.tif 000002
【特許請求の範囲】
【請求項１】
同じタイミングでデータの読書きを行うメモリブロックを複数有してなる書換え可能な不揮発性メモリと、
前記不揮発性メモリに書込むためのデータを記憶するバッファメモリと、
前記バッファメモリのデータを前記不揮発性メモリに書込むデータ書込み手段と、
前記不揮発性メモリの各メモリブロックに対するデータの書込みを制限する制限手段とを備えると共に、
前記制限手段は、前記不揮発性メモリの各メモリブロックに関するデータの重要度に応じて、それらメモリブロック毎にデータの書込みを制限することを特徴とする電子制御装置。
【請求項２】
前記制限手段は、前記不揮発性メモリの各メモリブロックに対し、前記データの重要度に応じて設定される書込み不許可回数に基づいて、データ書込み要求に対する書込みの実行を保留することを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記制限手段は、前記データの重要度に加えて、前記バッファメモリにおける該当するデータのデータ更新頻度に応じて、該データ更新頻度が大ききほど書込み回数を少なくするように、前記各メモリブロックに対するデータの書込みを制限することを特徴とする請求項１又は２記載の電子制御装置。
【請求項４】
前記制限手段は、前記データの重要度に加えて、前記不揮発性メモリの該当するメモリブロックにおいて書込みを行った実書込み回数に応じて、該実書込み回数が多いほど書込み回数を少なくするように、前記各メモリブロックに対するデータの書込みを制限することを特徴とする請求項１から３のいずれか一項に記載の電子制御装置。
【請求項５】
同じタイミングでデータの読書きを行うメモリブロックを複数有してなる書換え可能な不揮発性メモリに対し、バッファメモリのデータを書込む不揮発性メモリのデータ書込み制御方法であって、
前記不揮発性メモリの各メモリブロックに関するデータの重要度に応じて、それらメモリブロック毎にデータの書込みを制限することを特徴とする不揮発性メモリのデータ書込み制御方法。
【請求項６】
前記不揮発性メモリのメモリブロック毎に、前記データの重要度に応じて設定される書込み不許可回数に基づいて、データ書込み要求に対する書込みの実行を保留することにより、前記各メモリブロックに対するデータの書込みを制限することを特徴とする請求項５記載の不揮発性メモリのデータ書込み制御方法。
【請求項７】
前記データの重要度に加えて、前記バッファメモリにおける該当するデータのデータ更新頻度に応じて、該データ更新頻度が大ききほど書込み回数を少なくするように、前記各メモリブロックに対するデータの書込みを制限することを特徴とする請求項５又は６記載の不揮発性メモリのデータ書込み制御方法。
【請求項８】
前記データの重要度に加えて、前記不揮発性メモリの該当するメモリブロックにおいて書込みを行った実書込み回数に応じて、該実書込み回数が多いほど書込み回数を少なくするように、前記各メモリブロックに対するデータの書込みを制限することを特徴とする請求項５から７のいずれか一項に記載の不揮発性メモリのデータ書込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書換え可能な不揮発性メモリに対するデータの書込みを制限するようにした電子制御装置及び不揮発性メモリのデータ書込み制御方法に関する。
【背景技術】
【０００２】
例えば車両用のエンジン制御装置等の電子制御装置に設けられるマイクロコンピュータは、ＣＰＵ、ＲＯＭ、ＲＡＭ等に加え、ＥＥＰＲＯＭ等の書換え可能な不揮発性メモリを備えて構成されている。この場合、ＲＡＭのバッファには、制御に利用されるデータ等が随時更新されながら記憶されるのであるが、電源遮断時のＲＡＭのデータの喪失に対処できるように、書換え可能な不揮発性メモリには、バッファのデータが適宜書込まれる（書換えられる）ようになっている。
【０００３】
ところで、ＥＥＰＲＯＭ等の書換え可能な不揮発性メモリにあっては、書込み（書換え）の回数に上限（例えば１００００回）が存在する事情がある。そのため、電子制御装置の製品寿命に対して、十分な寿命を確保するために、書換え可能な不揮発性メモリの書込み回数が早期に上限に至ることがないようにする工夫が考えられている。
【０００４】
即ち、例えば特許文献１では、ＥＥＰＲＯＭの記憶領域を複数のメモリブロックに分け、あるメモリブロックの書込み回数が所定値に達した場合に、書込み回数の少ない別のメモリブロックと、記憶内容を入替えるようにしている。また、特許文献２では、ＥＥＰＲＯＭに記憶されるデータを、書換え頻度の高いデータＸと書換え頻度の低いデータＹとに分け、書換え頻度の低いデータＹについては無条件に書換えを実行し、書換え頻度の高いデータＸに関しては書換えに制限を加えるようにしている。この制限とは、当初は、１０回の書換え要求に対して１回の書換えを実行し、書換え回数が２万回を越えると、３５回の書換え要求に対して１回の書換えを実行するといったものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−３３８１９５号公報
【特許文献２】特開２０１２−２２６５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術では、メモリブロック間での記憶内容の入替えを実現するために、マッピング回路や書込み回数カウンタ等の構成を付加する必要があるため、コストアップを招いてしまう問題がある。また、特許文献２の技術では、書換え回数が制限されるとはいうものの、単純に書換えの頻度だけで制限を加えているため、重要なデータもさほど重要でないデータも同様にデータ損失が起こる虞があり、データ損失によるリスク回避といった観点からは、十分に効果的とは言えないものとなっている。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、データ損失に伴うリスクを小さくできつつも、書換え可能な不揮発性メモリの書込み回数を減らして書込み回数が上限に至ることを抑制することができる電子制御装置及び不揮発性メモリのデータ書込み制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の電子制御装置は、同じタイミングでデータの読書きを行うメモリブロックを複数有してなる書換え可能な不揮発性メモリの、各メモリブロックに対するバッファメモリのデータの書込みを制限する制限手段を備えると共に、前記制限手段は、前記不揮発性メモリの各メモリブロックに関するデータの重要度に応じて、それらメモリブロック毎にデータの書込みを制限するところに特徴を有する（請求項１の発明）。
【０００９】
また、本発明の不揮発性メモリのデータ書込み制御方法は、同じタイミングでデータの読書きを行うメモリブロックを複数有してなる書換え可能な不揮発性メモリに対し、バッファメモリのデータを書込む不揮発性メモリのデータ書込み制御方法であって、前記不揮発性メモリの各メモリブロックに関するデータの重要度に応じて、それらメモリブロック毎にデータの書込みを制限するところに特徴を有する（請求項５の発明）。
【００１０】
本発明においては、書換え可能な不揮発性メモリに対して、データ書込み要求があった場合でも、制限手段により、データの書込みを実施しない（間引く）制御が行われることになる。これにより、書換え可能な不揮発性メモリにあって、書込み（書換え）の回数に上限が存在する事情があっても、早期に書込み回数が上限に至ることが防止される。そしてこのとき、制限手段は、不揮発性メモリの各メモリブロックに関するデータの重要度に応じて、メモリブロック毎にデータの書込みを制限するので、重要なデータの損失によるリスクを小さくすることができる。
【００１１】
尚、本発明にいうデータの重要度とは、そのデータの損失に伴うリスクの程度（リスクが大きいほど重要度も高い）によって決めることができる。但し、重要度が高いデータを記憶するメモリブロックも、重要度がさほど高くないデータを記憶するメモリブロックも、書込み回数の上限は同等に存在するので、制限手段によりデータの重要度に応じた書込みの制限を加える場合には、実際には、上限に至るまでに、どのようなパターンで制限を加えるかといったことが大事になる。
【００１２】
例えば、製品寿命の長さ全体に対し、使用開始当初は制限を小さくして書換えの頻度を高く保ち、上限回数に近くなったところで制限を大きくするパターン、つまり比較的早期に上限回数に近付くが使用前半においてデータの損失に伴うリスクを小さくするパターン、それとは逆に、当初は制限を大きくし、後半において制限を小さくして書換えの頻度を高くするパターン、つまり、使用前半ではデータの損失に伴うリスクが比較的大きくなるものの、使用後半においてリスクを小さくするパターン、それらの中間的なパターン、つまり平均的な書換え頻度を続けてデータの損失に伴うリスクを使用全体に渡って均等にするパターン、等が考えられる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例を示すもので、マイクロコンピュータの電気的構成を概略的に示すブロック図
【図２】ＥＥＰＲＯＭのメモリブロックと各データとの対応関係を模式的に示す図
【図３】ＣＰＵの実行するデータ書込み制御の全体の処理手順を示すフローチャート
【図４】書込み実施判定の詳細な処理手順を示すフローチャート
【図５】重要度１の場合の不許可回数テーブルの例を示す図
【発明を実施するための形態】
【００１４】
以下、本発明を、車両（自動車）用のエンジン制御装置に適用した一実施例について、図面を参照しながら説明する。電子制御装置としての車両用のエンジン制御装置は、図１に示すように、マイクロコンピュータ１を含んで構成されている。このマイクロコンピュータ１は、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、書換え可能な不揮発性メモリたるＥＥＰＲＯＭ５を備えている。尚、このマイクロコンピュータ１（ＲＡＭ４）には、車載バッテリからの動作電源が常に供給されるようになっている。
【００１５】
詳しい図示及び説明は省略するが、マイクロコンピュータ１（ＣＰＵ２）には、入出力回路が接続され、エンジン制御開連の各種センサからの信号が入力されるようになっている。そして、マイクロコンピュータ１（ＣＰＵ２）は、ＲＯＭ３に記憶されている制御プログラムに従って、各種センサからの信号に基づいて、エンジンに対する燃料噴射制御、点火時期制御等の各種制御を実行するようになっている。この場合、ＲＡＭ４のバッファメモリには、ダイアグデータや各種センサのデータ等の、制御に利用されるデータ等が随時更新されながら記憶される。
【００１６】
そして、電源遮断時のＲＡＭ４のデータの喪失に対処できるように、前記ＥＥＰＲＯＭ５には、バッファメモリのデータが適宜書込まれる（書換えられる）ようになっている。このとき、ＥＥＰＲＯＭ５は、内部の記憶部に、同じタイミングでデータの読書きを行うメモリブロックを複数有して構成されており、各メモリブロックに、夫々バッファメモリのデータが書込まれるようになっている。尚、図２では、ＥＥＰＲＯＭ５に、４個のメモリブロック、即ち、第１〜第４のメモリブロック５ａ〜５ｄが設けられる場合を例示しており、それら各メモリブロック５ａ〜５ｄには、夫々データＡ〜Ｄが書込まれている。
【００１７】
前記ＣＰＵ２は、ＲＡＭ４のバッファメモリのデータが更新された場合や、１トリップ（自動車の１回のエンジン起動から停止まで）の終了時等に発生する書込み要求に応じて、ＲＡＭ４のバッファメモリに格納されているデータを、ＥＥＰＲＯＭ５の該当するメモリブロック５ａ〜５ｄに書込む（書換える）処理を実行する。従って、ＣＰＵ２がデータ書込み手段として機能する。
【００１８】
さて、前記ＥＥＰＲＯＭ５にあっては、各メモリブロック５ａ〜５ｄに対する書込み（書換え）の回数に上限（例えば１００００回）が存在する事情がある。そのため、ＥＥＰＲＯＭ５に対し無制限にデータの書込みを行うとすると、製品（自動車）の寿命に対し、十分な寿命が得られなくなる虞がある。そこで、本実施例では、ＥＥＰＲＯＭ５に対する書込み回数が早期に上限に至ることがないように、前記ＣＰＵ２は、ＥＥＰＲＯＭ５の各メモリブロック５ａ〜５ｄに対するデータＡ〜Ｄの書込みを制限する。
【００１９】
後の作用説明（フローチャート説明）でも述べるように、ＣＰＵ２は、ＥＥＰＲＯＭ５の各メモリブロック５ａ〜５ｄに対するデータ書込み要求があった場合に、各メモリブロック５ａ〜５ｄのデータＡ〜Ｄの重要度等に応じて設定される書込み不許可回数に基づいて、書込みの実行を保留する（保留回数が不許可回数に至るまで書込みしない）ことにより、制限を行うようになっている。本実施例では、各メモリブロック５ａ〜５ｄのデータＡ〜Ｄの重要度に加えて、該当するデータＡ〜Ｄ（各メモリブロック５ａ〜５ｄ）のデータ更新頻度、並びに、該当するメモリブロック５ａ〜５ｄにおいて過去に実際に書込みを行った実書込み回数、に応じて不許可回数が設定される。
【００２０】
このとき、図２に示すように、ＥＥＰＲＯＭ５の第１〜第４の各メモリブロック５ａ〜５ｄに関し、付属情報として、記憶されるデータＡ〜Ｄの重要度、データＡ〜Ｄのデータ更新頻度、実書込み回数、書込み保留回数、のデータが記憶されるようになっている。そのうちデータ更新頻度とは、該当するデータＡ〜Ｄが、１トリップ間で平均的に何回程度更新されるかを示すもので、例えば１〜５の５段階で設定される。データ更新頻度が多いほど、不許可回数が多くなるように設定される。
【００２１】
前記第１〜第４の各メモリブロック５ａ〜５ｄのデータＡ〜Ｄの重要度、及び、第１〜第４の各メモリブロック５ａ〜５ｄのデータＡ〜Ｄのデータ更新頻度のデータについては、予め制御条件から決まる固定的なデータであるため、ＲＯＭ３に記憶されている。また、実書込み回数のデータについては、ＥＥＰＲＯＭ５の該当するメモリブロック５ａ〜５ｄに記憶され、データの書換えと併せて書換えられる。さらに、各メモリブロック５ａ〜５ｄの書込み保留回数のデータについては、ＲＡＭ４に記憶され、順次更新されるようになっている。
【００２２】
ここで、前記各メモリブロック５ａ〜５ｄのデータＡ〜Ｄの重要度については、該当するデータの損失に伴うリスクの程度（リスクが大きいほど重要度も高い）によって決めることができる。但し、重要度が高いデータを記憶するメモリブロックも、重要度がさほど高くないデータを記憶するメモリブロックも、書込み回数の上限は同等に存在するので、本実施例では、上限回数に至るまでに、実際にどのようなパターンで制限を加えるかによって、重要度が１，２，３の３段階に設定（決定）される。
【００２３】
重要度１とは、例えば、製品寿命の長さ全体に対し、使用開始当初は制限を小さくして書換えの頻度を比較的高く保ち、上限回数に近くなったところで制限を大きくするパターン、つまり比較的早期に上限回数に近付くが使用前半においてデータの損失に伴うリスクを小さくするパターンとされる。重要度３では、それとは逆に、当初は制限を大きくし、後半において制限を小さくして書換えの頻度を高くするパターン、つまり、使用前半ではデータの損失に伴うリスクが比較的大きくなるものの、使用後半においてリスクを比較的小さくするパターンとされる。重要度２は、それらの中間的なパターン、つまり平均的な書換え頻度を続けてデータの損失に伴うリスクを使用期間全体に渡って均等化するパターンとされる。
【００２４】
そして、上記不許可回数は、図５に示すような、予めＲＯＭ３に記憶されている不許可回数テーブルに従って設定されるようになっている。図５は、重要度１の場合に、データ更新頻度及び実書込み回数のデータに応じて設定される不許可回数の一例を示している。ここでは、更新頻度が例えば１（最も少ない）の場合には、実書込み回数が２０００回までは不許可回数が１回、実書込み回数が２０００回を超えて４０００回までは不許可回数が２回、というふうに不許可回数が設定される。実書込み回数が８０００回を超えると、不許可回数が急激に増大する。また、更新頻度が、２，３，４，５と大きくなるにつれ、不許可回数も比例的（段階的）に多くなる。
【００２５】
尚、図示はしていないが、重要度３の場合には、重要度１の場合とは逆に、実書込み回数が２０００回までにおける不許可回数が比較的大きく設定されるが、それ以降の実書込み回数が増えるにつれての不許可回数の増加の度合いは、比較的小さくなる。重要度２の場合は、それらの中間的な値（不許可回数の増加の度合い）とされる。従って、ＣＰＵ２が本発明にいう制限手段としても機能し、また、ＣＰＵ２により、本実施例に係るデータ書込み制御方法が実行される。
【００２６】
次に、上記構成の作用について、図３及び図４も参照して説明する。図３のフローチャートは、データ書込み要求があった場合に、ＣＰＵ２が実行する、ＥＥＰＲＯＭ５のメモリブロック５ａ〜５ｄに対するデータ書込みの全体の処理の流れを示している。また、図４のフローチャートは、図３のフローチャートのステップＳ２の書込み実施判定の処理の、詳細な手順を示している。
【００２７】
即ち、図３において、データ書込み要求があったときには、まずステップＳ１にて、当該データを書込むメモリブロック５ａ〜５ｄ（データＡ〜Ｄ）における、実書込み回数、書込み保留回数、データ更新頻度、重要度、のデータが取得される。次のステップＳ２では、書込みを実施するかどうかの判定が実行される。このステップＳ２の判定の処理の詳細については、後述（図４のフローチャート）する。ステップＳ３では、書込みを実施するかが判断され、書込みを実施しない（保留する）場合には（ステップＳ３にてＮｏ）、次のステップＳ４にて、書込み保留回数がカウントアップされ、そのまま終了する。
【００２８】
これに対し、書込みを実施する場合には（ステップＳ３にてＹｅｓ）、ステップＳ５にて、該当するメモリブロックの実書込み回数がカウントアップされると共に、ステップＳ６にて、該当するメモリブロックにデータが書込まれる。そして、ステップＳ７にて、ＲＡＭ４の書込み保留回数がクリアされ、処理が終了する。
【００２９】
次に、上記ステップＳ２の書込み実施判定の詳細な処理手順を示す図４において、ステップＳ１１では、上記ステップＳ１で取込んだ実書込み回数、データ更新頻度、重要度のデータから、図５に例示するような不許可回数テーブルを参照して、不許可回数が求められる。次のステップＳ１２では、ＲＡＭ４に記憶されている現在の書込み保留回数が、ステップＳ１１で求められた不許可回数以上であるかどうかが判断される。書込み保留回数が不許可回数以上であった場合には（ステップＳ１２にてＹｅｓ）、ステップＳ１３にて、「書込み実施する」と判定される。書込み保留回数が不許可回数未満の場合には（ステップＳ１２にてＮｏ）、ステップＳ１４にて、「書込み実施しない」と判定される。
【００３０】
図５に示した重要度１の場合において、具体例を挙げてみると、例えば更新頻度が１で、実書込み回数が２０００回までの場合、不許可回数が１回となる。従って、１回目のデータ書込み要求では、書込みが保留されるが、２回目のデータ書込み要求があった場合には、データの書込みが行われる。例えば更新頻度が４で、実書込み回数が４００１〜６０００回の場合、不許可回数が１２回となり、データ書込み要求があっても、１２回目まではデータの書込みが保留され、１３回目のデータ書込み要求で、やっとデータの書込みが実行されることになる。また、実書込み回数が８０００回を越えた場合には、どの更新頻度であっても、不許可回数がそれまでに比べて一段と多く設定されるようになる。
【００３１】
このように本実施例の電子制御装置及び不揮発性メモリのデータ書込み制御方法によれば、ＥＥＰＲＯＭ５に対して、データ書込み要求があった場合でも、ＣＰＵ２により、データの書込みを実施しない（間引く）制御が行われる。これにより、ＥＥＰＲＯＭ５に書込み（書換え）の回数に上限が存在する事情があっても、書込み回数を減らすことができて早期に書込み回数が上限に至ることが防止される。そしてこのとき、ＣＰＵ２は、ＥＥＰＲＯＭ５の各メモリブロック５ａ〜５ｄに関するデータの重要度に応じて、当該メモリブロック５ａ〜５ｄ毎にデータの書込みを制限するので、重要なデータの損失によるリスクを小さくすることができる。
【００３２】
また、特に本実施例では、データの重要度に加えて、該当するデータのデータ更新頻度、並びに実書込み回数に応じて、各メモリブロック５ａ〜５ｄに対するデータの書込みを制限するようにしたので、よりきめ細かい制御を行うことが可能となる。更に、本実施例によれば、上記制御を行うために、特に構成の複雑化（ハードウエア構成の増加）を招いてしまうことがないことは勿論である。
【００３３】
尚、上記した実施例では、データの重要度に加えて、データ更新頻度及び実書込み回数に応じてデータの書込みを制限するようにしたが、重要度のみで制限を行うようにしたり、重要度及び実書込み回数に応じて制限を行うようにしたり、重要度及びデータ更新頻度に応じて制限を行うようにしても良い。上記実施例における、具体的数値（図５）等はあくまでも一例を示したものに過ぎず、適宜設定が可能である。その他、書換え可能な不揮発性メモリとしては、ＥＥＰＲＯＭに限らずフラッシュメモリ等であっても同様に実施でき、また、本発明は、車両のエンジン制御装置以外にも電子制御装置全般に適用することができるなど、要旨を逸脱しない範囲内で種々の変更が可能である。
【符号の説明】
【００３４】
図面中、１はマイクロコンピュータ（電子制御装置）、２はＣＰＵ、３はＲＯＭ、４はＲＡＭ、５はＥＥＰＲＯＭ（書換え可能な不揮発性メモリ）、５ａ〜５ｄはメモリブロックを示す。
【図１】
2015011524.tif 000003
【図２】
2015011524.tif 000004
【図３】
2015011524.tif 000005
【図４】
2015011524.tif 000006
【図５】
2015011524.tif 000007