(57)【要約】【課題】メモリに対する書き込みの成否を加味して書き込み可否を判定することのできる電子制御装置を得る。【解決手段】本発明に係る電子制御装置は、不揮発性メモリに対する前回のデータ書込が失敗している場合、書込上限回数に達していても、書き込みを許可する。【選択図】図２
2011248510.tif 000002
【特許請求の範囲】
【請求項１】
機器を電子的に制御する装置であって、
データを書き込むことができる回数が制限された不揮発性メモリと、
前記不揮発性メモリに対する書込要求を検出する書込要求検出部と、
前記不揮発性メモリに対する書込要求の成否を判定する書込成否判定部と、
前記不揮発性メモリに対する書込要求の回数をカウントする書込要求カウント部と、
前記書込成否判定部の判定結果および前記書込カウント部のカウント結果に基づき前記不揮発性メモリに対する書込を許可するか否かを判定する書込許可判定部と、
前記機器に対する制御動作を実行する制御演算部と、
を備え、
前記書込許可判定部は、
前記不揮発性メモリに対する前回のデータ書込が成功し、かつ前記不揮発性メモリに対する書込要求の回数が前記不揮発性メモリにデータを書き込むことができる回数の上限に達している場合は、前記不揮発性メモリに対するデータ書込を禁止し、
前記不揮発性メモリに対する前回のデータ書込が失敗している場合は、前記不揮発性メモリに対する書込要求の回数が前記不揮発性メモリにデータを書き込むことができる回数の上限に達していても、前記不揮発性メモリに対するデータ書込を許可する
ことを特徴とする電子制御装置。
【請求項２】
前記不揮発性メモリに対するデータ書込回数の上限は、前記不揮発性メモリの書込耐力よりも小さく設定されている
ことを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記書込許可判定部が、前記不揮発性メモリに対するデータ書込を禁止している間は、  前記不揮発性メモリに対して通信路を介して他装置からデータを書き込む要求が到着しているか否かをチェックすることなく、他装置からのデータ書込要求を拒否する
ことを特徴とする請求項１または２記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を電子的に制御する装置に関するものである。
【背景技術】
【０００２】
機器を電子的に制御する電子制御装置には、電気的にデータを消去したり書き込んだりすることができる不揮発性半導体メモリが搭載されている場合がある。このような不揮発性メモリの例として、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリなどがある。これらの不揮発性メモリは、データを消去または書き込む時の電子移動がストレスとなって、電荷を保持するメモリセルの絶縁性能に影響を与える。そのため、データ書き換え回数を制限することが一般的である。
【０００３】
下記特許文献１には、メモリに対する書き換え回数をカウントし、所定の制限回数に達した場合、書き換え動作を停止する技術が記載されている。
【０００４】
下記特許文献２には、メモリに対する書き換え回数をカウントし、所定の制限回数に達すると当該領域の書き換えを禁止する信号を出力する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２４５７８７号公報
【特許文献２】特開２００６−８５８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１〜２に記載されている技術では、メモリに対する書き込みが成功したか否かを判定していない。そのため、書き込みが失敗した場合でも書き換え回数をカウントすることになる。この場合、メモリに対する書き込みが失敗したとしても、書き換えを行おうとした回数が所定の制限回数に到達すれば、無条件に以後の書き込みが禁止される。したがって、実際には書き込みが完了していないにも関わらず、以後の書き込みが禁止されるという不都合が生じていた。
【０００７】
本発明は、上記のような課題を解決するためになされたものであり、メモリに対する書き込みの成否を加味して書き込み可否を判定することのできる電子制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る電子制御装置は、不揮発性メモリに対する前回のデータ書込が失敗している場合、書込上限回数に達していても、書き込みを許可する。
【発明の効果】
【０００９】
本発明に係る電子制御装置によれば、不揮発性メモリに対する前回のデータ書込が失敗し、実際には書き込みが完了していない場合には、次回のデータ書き込みが許可される。そのため、書き込み成否を加味し、実質的な書き込み回数を基準として書き込み可否を判定することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る電子制御装置１００の機能ブロック図である。
【図２】実施形態１に係る電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローである。
【図３】実施形態３に係る電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローである。
【図４】実施形態４に係るエンジン制御システムの構成例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る電子制御装置１００の機能ブロック図である。電子制御装置１００は、機器を電子的に制御する装置であり、制御演算部１１０、不揮発性メモリ１２０を備える。
【００１２】
制御演算部１１０は、不揮発性メモリ１２０が格納しているプログラムを実行して機器の制御動作を実行する機能部である。制御演算部１１０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイコンなどの演算装置を用いて構成することができる。
【００１３】
不揮発性メモリ１２０は、制御演算部１１０が制御動作を実行するために用いるデータやプログラムなどを記憶するメモリ装置であり、書き込み回数の上限が設定されている。不揮発性メモリ１２０は、例えばＥＥＰＲＯＭ、ＦＬＡＳＨメモリなどを用いて構成することができる。
【００１４】
制御演算部１１０は、書込要求検出部１１１、書込要求カウント部１１２、書込許可判定部１１３、書込実行部１１４、書込成否判定部１１５を備える。これらの機能部は、制御演算部１１０の内部的な機能部として構成してもよいし、制御演算部１１０とは別の機能部として構成してもよい。
【００１５】
書込要求検出部１１１は、不揮発性メモリ１２０に対する書き込み要求を検出し、書込要求カウント部１１２に通知する。具体的には、制御演算部１１０自身が不揮発性メモリ１２０に対してデータを書き込む処理、または制御演算部１１０の外部から不揮発性メモリ１２０に対してデータを書き込む要求を検出する。その他、電子制御装置１００の外部から通信路を介して不揮発性メモリ１２０にデータを書き込む要求を、通信インターフェース経由で検出することもできる。なお、ここでいうデータ書込とは、不揮発性メモリ１２０に対する任意の書き込み処理を含む。例えばデータ消去も広義のデータ書込に含むものとする。以下同様である。
【００１６】
書込要求カウント部１１２は、書込要求検出部１１１からの通知に基づき、不揮発性メモリ１２０に対するデータ書込要求の発生回数をカウントする。不揮発性メモリ１２０の書き込み領域がバイト単位や所定の消去ブロックサイズで分割されているなどの場合には、書き込み可能な単位毎にカウンタを設定してもよい。
【００１７】
書込許可判定部１１３は、書込要求カウント部１１２のカウント結果と、不揮発性メモリ１２０の書き込み上限回数とを比較し、不揮発性メモリ１２０に対するデータ書込を許可するか否かを判定する。許可判定の詳細は、後述の図２で改めて説明する。
【００１８】
書込実行部１１４は、書込要求検出部１１１が検出したデータ書込要求のうち、書込許可判定部１１３が書き込みを許可したものを実行し、不揮発性メモリ１２０にデータを書き込む。
【００１９】
書込成否判定部１１５は、書込実行部１１４が不揮発性メモリ１２０に対してデータを書き込むことができたか否かを判定する。具体的には、例えばデータ書込単位毎に書き込んだデータを読み出して書き込みの元データと比較することにより、データ書込の成否を判定する。あるいは、所定領域に格納されているデータのＣｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（巡回冗長検査）などを実施することにより、データ書込の成否を判定する。
【００２０】
書込要求検出部１１１、書込要求カウント部１１２、書込許可判定部１１３、書込実行部１１４、書込成否判定部１１５は、これらの機能を実現する回路デバイスなどのハードウェアを用いて構成してもよいし、演算装置とその動作を規定するプログラムを用いて構成してもよい。
【００２１】
以上、本実施形態１に係る電子制御装置１００の構成を説明した。次に、本発明の基礎となる着眼点について説明する。
【００２２】
不揮発性メモリ１２０は、上述の通り書き込み回数の上限が設定されている。一方、不揮発メモリ１２０にデータを書き込んでいる最中に接続が遮断されたり電源供給が絶たれたりすると、そのデータ書き込みは失敗する。このとき、データ書込要求自体は既に発生しているので、データ書込が失敗しているにも関わらず、データ書き込み回数のカウント値は増加する。
【００２３】
データ書込が失敗している場合、実質的にはデータ書き込みが行われていないにも関わらず、カウント値がデータ書き込み回数の上限に達すると、以後のデータ書込は禁止される。このように、データ書込が失敗しているのに以後の書き込みを禁止するのは、制約が過度に厳密であると考えられる。
【００２４】
また、実質的に見ても、データ書込が途中で失敗したときは、不揮発性メモリ１２０の劣化進行度合いは少ないと考えられるが、にも関わらず以後のデータ書込を禁止するのはデータ書込に対する制約が強すぎると思われる。
【００２５】
そこで、本実施形態１に係る電子制御装置１００は、不揮発性メモリ１２０に対する前回のデータ書込が成功したか否かを加味して、今回のデータ書き込みを許可するか否かを判定する。以下、データ書き込みを許可するか否かを判定する手順を説明する。
【００２６】
図２は、本実施形態１に係る電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローである。以下、図２の各ステップについて説明する。
（図２：ステップＳ２００）
制御演算部１１０は、本動作フローを定期的に起動する。起動間隔は、不揮発性メモリ１２０に対するデータ書込要求が発生してからこれを検出するまでの時間間隔が、実用上十分な程度に短くなるように設定する。
（図２：ステップＳ２０１）
書込要求検出部１１１は、不揮発性メモリ１２０に対するデータ書込要求が発生しているか否かを判定する。発生していればその旨を書込要求カウント部１１２に通知し、ステップＳ２０２へ進む。発生していなければ本動作フローを終了する。
【００２７】
（図２：ステップＳ２０２）
書込要求カウント部１１２は、不揮発性メモリ１２０に対するデータ書込要求をカウントするためのカウンタ値を１増加させる。
（図２：ステップＳ２０２：補足）
不揮発性メモリ１２０に対するデータ書込要求のカウント値は、データを書き込む記憶領域以外の記憶領域に保存しておけばよい。保存先のメモリ装置は、不揮発性メモリ１２０でもよいし、別途設けたＥＥＰＲＯＭなどのメモリ装置でもよい。
【００２８】
（図２：ステップＳ２０３）
書込許可判定部１１３は、書込要求カウント部１１２のカウント結果が、不揮発性メモリ１２０のデータ書込上限回数に到達しているか否かを判定する。上限回数に到達していない場合は、書込制約に係っていないので、ステップＳ２０５にスキップしてデータ書込を実行する。上限回数に到達している場合は、ステップＳ２０４へ進む。
（図２：ステップＳ２０３：補足）
不揮発性メモリ１２０のデータ書込上限回数の値は、不揮発性メモリ１２０に記憶させておいてもよいし、不揮発性メモリ１２０とは別に設けたＥＥＰＲＯＭなどのメモリ装置に記憶させておいてもよい。
【００２９】
（図２：ステップＳ２０４）
書込許可判定部１１３は、書込成否判定部１１５から、不揮発性メモリ１２０に対する前回のデータ書込要求の成否を取得する。前回のデータ書込が成功していれば、不揮発性メモリ１２０は書込上限に達していると判断し、ステップＳ２０１で検出したデータ書込要求を拒否する。前回のデータ書込が失敗していれば、書込上限を緩和し、ステップＳ２０５に進んでデータ書込を実行する。
（図２：ステップＳ２０４：補足）
不揮発性メモリ１２０に対する前回のデータ書込要求の成否結果は、不揮発性メモリ１２０に記憶させておいてもよいし、不揮発性メモリ１２０とは別に設けたＥＥＰＲＯＭなどのメモリ装置に記憶させておいてもよい。
（図２：ステップＳ２０５）
書込実行部１１４は、ステップＳ２０１で検出したデータ書込要求を実行する。
以上、電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローを説明した。
【００３０】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る電子制御装置１００は、不揮発性メモリ１２０に対する前回のデータ書込が失敗している場合は、データ書込要求のこれまでの発生回数がデータ書込上限に到達していても、データ書込を許可する。これにより、データ書込の成否を加味して書込回数の制限を緩和し、実質的なデータ書込回数を基準としてデータ書込可否を判定することができる。
【００３１】
＜実施の形態２＞
実施の形態１では、不揮発性メモリ１２０に対する書込回数の制限を緩和して書込可否を判定する手順を説明した。本発明の実施形態２では、不揮発性メモリ１２０に対する書込回数上限と、不揮発性メモリ１２０の書込耐力とが異なる場合を説明する。ここでいう書込耐力とは、書込可能な回数と概ね同義である。
【００３２】
車両制御装置のように、安全性が強く求められる電子制御装置では、不揮発性メモリ１２０に対する書込回数上限を、不揮発性メモリ１２０の実際の書込耐力よりも小さく設定している場合がある。これは、不揮発性メモリ１２０が書込不能になって車両制御が実行できなくならないよう、安全性を見越して書込回数に余裕を持たせたものである。１例として、不揮発性メモリ１２０の実際の書込耐力が１０万回程度であるのに対し、書込回数の上限を１００回程度に設定する、などの設定例が考えられる。
【００３３】
このような環境下においては、不揮発性メモリ１２０に対する書込要求の発生回数が上限に達しても、実際の書込耐力には余裕があるため、書込回数上限を緩和することに対する要望が潜在的にあると思われる。そこで実施形態１で説明した手法を採用し、前回のデータ書込が失敗したときは、書込上限に達していてもデータ書込を許可する。
【００３４】
一方、上述のように不揮発性メモリ１２０の書込耐力に余裕がある場合、データ書込要求が発生した時点で書込回数としてカウントするのではなく、データ書込が成功した時点で書込回数としてカウントするようにすることも考えられる。その方が、書込回数の上限に到達するまでの期間を引き延ばし、不揮発性メモリ１２０を長持ちさせることができるように思えるからである。
【００３５】
しかし、不揮発性メモリ１２０にデータを書き込んでいる途中で書込が中断した場合、不揮発性メモリ１２０へ部分的に電気信号が加えられた状態となるので、その分だけメモリセル等の劣化は確実に進行する。したがって、不揮発性メモリ１２０の書込回数上限に余裕を持たせて安全性の確保を図った意義を有効に活用するため、不揮発性メモリ１２０の書込耐力に余裕がある環境下においても、データ書込要求が発生した時点で書込回数としてカウントし、安全側に倒した動作を実行することが望ましい。
【００３６】
＜実施の形態２：まとめ＞
以上のように、本実施形態２では、不揮発性メモリ１２０に対する書込回数上限を、不揮発性メモリ１２０の実際の書込耐力よりも小さくした環境下において、実施形態１に係る電子制御装置１００の構成を採用した。これにより、不揮発性メモリ１２０の書込耐力を超過しないよう安全を図りつつ、前回のデータ書込成否に基づき書込可否を判定することにより、書込制限を緩和することができる。
【００３７】
また、本実施形態２では、不揮発性メモリ１２０に対するデータ書込が成功したか否かによらず、データ書込要求を検出した時点で書込回数としてカウントする。これにより、不揮発性メモリ１２０の書込回数上限に余裕を持たせて安全性の確保を図った意義を有効に発揮することができる。
【００３８】
＜実施の形態３＞
実施形態１〜２で説明した電子制御装置１００が通信ネットワークに接続され、他装置から不揮発メモリ１２０に対するデータ書込要求が発生する場合には、電子制御装置１００が単独で動作する場合と比較して、データ書込要求がより多く生じると思われる。一般的には、制御演算装置１１０から通信インターフェースに対し、データ書込要求が他装置から到着しているか否かを照会することにより、他装置からのデータ書込要求が発生しているか否かを判定する。
【００３９】
しかし、不揮発性メモリ１２０に対するデータ書込回数が既に上限に達している場合において、上記のような照会を都度実施すると、演算装置などに過大な負荷を与えてしまう可能性がある。そこで本発明の実施形態３では、データ書込要求を検出する際に、不揮発性メモリ１２０に対するデータ書込が禁止されているか否かをあらかじめチェックする動作例を説明する。
【００４０】
図３は、本実施形態３に係る電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローである。以下、図３の各ステップについて説明する。
（図３：ステップＳ３００）
本ステップは、図２のステップＳ２００と同様である。
（図３：ステップＳ３０１）
書込許可判定部１１３は、後述のステップＳ３０７に示すように、不揮発性メモリ１２０に対するデータ書込を禁止する場合はその旨を示すフラグ（書込禁止フラグ）を任意の不揮発性メモリ装置に書き込んでおく。制御演算部１１０は、その書込禁止フラグの値を確認する。書込禁止フラグが０（＝書込許可）である場合はステップＳ３０２へ進み、１（＝書込禁止）である場合は本動作フローを終了する。
【００４１】
（図３：ステップＳ３０２〜Ｓ３０４）
これらのステップは、図２のステップＳ２０１〜Ｓ２０３と同様である。ただしステップＳ３０２において、書込要求検出部１１１が実行する動作は、他装置から通信ネットワークを介して不揮発性メモリ１２０に対するデータ書込要求が到着しているか否かをチェックする動作を含むものとする。
（図３：ステップＳ３０５）
書込許可判定部１１３は、書込成否判定部１１５から、不揮発性メモリ１２０に対する前回のデータ書込要求の成否を取得する。前回のデータ書込が成功していれば、不揮発性メモリ１２０は書込上限に達していると判断し、ステップＳ３０７へ進んで書込禁止フラグの値をセットする。前回のデータ書込が失敗していれば、書込上限を緩和し、ステップＳ３０６に進んでデータ書込を実行する。
【００４２】
（図３：ステップＳ３０６）
書込実行部１１４は、ステップＳ３０２で検出したデータ書込要求を実行する。また、書込禁止フラグの値に１がセットされている場合は、０をセットする。
（図３：ステップＳ３０７）
書込許可判定部１１３は、書込禁止フラグの値に１をセットする。
【００４３】
以上、本実施形態３において、電子制御装置１００が不揮発性メモリ１２０にデータを書き込む際の動作フローを説明した。
【００４４】
＜実施の形態３：まとめ＞
以上のように、本実施形態３に係る電子制御装置１００は、不揮発性メモリ１２０に対するデータ書込を禁止している場合は、その旨の値を書込禁止フラグにセットしておく。制御演算部１１０は、データ書込要求が発生しているか否かをチェックする前に、まず書込禁止フラグの値をチェックする。これにより、書込禁止フラグ＝１となっているときは、他装置から不揮発性メモリ１２０に対するデータ書込要求が到着しているかをチェックするまでもなくデータ書込を拒否することができるので、余分な通信監視処理などを省略することができ、演算負荷を軽減することができる。
【００４５】
＜実施の形態４＞
図４は、本発明の実施形態４に係るエンジン制御システムの構成例を示す図である。図４に示すエンジン制御システムは、電子制御装置１００、エンジン２００、第１通信装置３０１および第２通信装置３０２を有する。
【００４６】
電子制御装置１００は、エンジン制御装置として構成されており、実施形態１〜３で説明した電子制御装置１００と同様の構成を備える。電子制御装置１００はさらに、出力回路１３０、入力回路１４０、通信ポート１５０、Ｉ／Ｏ回路１６０を備える。
【００４７】
出力回路１３０は、Ｉ／Ｏ回路１６０を介して制御演算部１１０からエンジン２００に対する制御命令を受け取り、エンジン２００に出力する。入力回路１４０は、エンジン２００の状態を示すセンサ検出値を受け取り、Ｉ／Ｏ回路１６０を介して制御演算部１１０に出力する。通信ポート１５０は、通信ネットワークを介して、第１通信装置３０１および第２通信装置３０２との間で通信する。Ｉ／Ｏ回路１６０は、各機能部を接続するデータ通信路として機能する。
【００４８】
エンジン２００は、アクチュエータ２１０、センサ２２０を備える。アクチュエータ２１０は、エンジン２００の燃料噴射や点火を行う機能部である。センサ２２０は、エンジン２００の各部の状態を検出し、電子制御装置１００に通知する。
【００４９】
電子制御装置１００がエンジン２００を制御する場合、不揮発性メモリ１２０には、エンジン２００を制御するために必要なデータ、車両固有の情報、電子制御装置１００による自己診断の結果、などが格納される。
【００５０】
以上、本実施形態４に係るエンジン制御システムの構成を説明した。次に、エンジン制御システムにおいて電子制御装置１００を採用した場合の課題について説明する。
【００５１】
近年、エンジン制御システムに対して、環境要求や高機能化への要求が高まり、これにともなって不揮発性メモリに対する書込回数の制限が厳しくなってきている。一方、エンジン制御システムにおいては、電子制御装置１００内部の電源ノイズやアース電位の増減等が原因で、不揮発性メモリ１２０の消去ミスや誤書き込みが起こり得る。また、車載ＬＡＮを用いて第１通信装置３０１および第２通信装置３０２などと通信して不揮発性メモリ１２０にデータを書き込む場合は、通信ネットワークのノイズ等による通信機能エラーが原因となって、データ書き込みに失敗する可能性がある。
【００５２】
不揮発性メモリ１２０に対するデータ書込ができなくなると、エンジンの運転に支障を来たす場合がある。例えば制御データの書き込みができなくなると、エンジンを適切に制御することができなくなるので、エンジンの性能低下、運転不能などを引き起こす可能性がある。
【００５３】
そこで本実施形態４において、電子制御装置１００は、実施形態１〜３で説明した構成と動作を採用し、できる限りデータ書込回数の制限を緩和して、エンジン制御を適切に実行し易くすることを図る。
【００５４】
以上、本実施形態４では、エンジン制御システムにおいて、実施形態１〜３で説明した電子制御装置１００を用いてエンジン２００を制御する構成例を説明した。
【符号の説明】
【００５５】
１００：電子制御装置、１１０：制御演算部、１１１：書込要求検出部、１１２：書込要求カウント部、１１３：書込許可判定部、１１４：書込実行部、１１５：書込成否判定部、１２０：不揮発性メモリ、１３０：出力回路、１４０：入力回路、１５０：通信ポート、１６０：Ｉ／Ｏ回路、２００：エンジン、３０１：第１通信装置、３０２：第２通信装置。
【図１】
2011248510.tif 000003
【図２】
2011248510.tif 000004
【図３】
2011248510.tif 000005
【図４】
2011248510.tif 000006