(57)【要約】【課題】記憶しているデータが失われることを防止することができる不揮発性メモリ装置を提供すること。【解決手段】データの書き換えができる不揮発性のデータ用ＲＯＭ１４と、データ用ＲＯＭ１４に対してデータの書き込みが可能なＣＰＵ１１と、を備え、ＣＰＵ１１は、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってから、データ用ＲＯＭ１４におけるデータ保持可能時間より短い所定時間が経過すると、データ用ＲＯＭ１４に記憶されているデータと同じデータをデータ用ＲＯＭ１４に書き込む。【選択図】図１
2013171600.tif 000002
【特許請求の範囲】
【請求項１】
データの書き換えができる不揮発性のメモリ部と、
前記メモリ部に対してデータの書き込みが可能な書き込み部と、を備え、
前記書き込み部は、前記メモリ部に対するデータの書き込みを行わなくなってから、前記メモリ部におけるデータ保持可能時間より短い所定時間が経過すると、前記メモリ部に記憶されているデータと同じデータを当該メモリ部に書き込む再書き込みを行うことを特徴とする不揮発性メモリ装置。
【請求項２】
前記書き込み部が前記メモリ部に対してデータを書き込んだ回数をカウントするカウント部と、
前記カウント部にてカウントされた回数に対応するデータ保持可能時間に基づいて、該データ保持可能時間よりも短い時間である、前記書き込み部に対して再書き込みをさせる時間的間隔を設定する設定部と、を備え、
前記書き込み部は、前記メモリ部に対するデータの書き込みを行わなくなってからの経過時間が、前記設定部にて設定された時間的間隔に達すると、前記メモリ部に対してデータを再書き込みすることを特徴とする請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記書き込み部に対する動作電源の供給及び停止が可能な電源部を備え、
前記設定部は、設定した時間的間隔で前記書き込み部へ動作電源を供給するように前記電源部に対して指示するものであり、
前記電源部は、前記設定部からの指示に応じて、前記書き込み部への動作電源の供給を停止してからの経過時間が、前記設定部にて設定された時間的間隔に達すると、前記書き込み部へ動作電源を供給し、
前記書き込み部は、前記電源部からの動作電源の供給が停止されているとき、前記電源部から動作電源が供給されると起動して、前記メモリ部に対してデータを再書き込みすることを特徴とする請求項２に記載の不揮発性メモリ装置。
【請求項４】
前記書き込み部に対する動作電源の供給及び停止が可能であり、前記書き込み部に対する動作電源の供給を停止してから、前記メモリ部におけるデータ保持可能時間より短い所定時間が経過すると前記書き込み部へ動作電源を供給する電源部を備え、
前記書き込み部は、前記電源部からの動作電源の供給が停止されているとき、前記電源部から動作電源が供給されると起動して、前記メモリ部に対してデータを再書き込みすることを特徴とする請求項１に記載の不揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ装置に関するものである。
【背景技術】
【０００２】
従来、不揮発性メモリ装置の一例として、特許文献１に開示された不揮発性半導体記憶装置がある。
【０００３】
この不揮発性半導体記憶装置は、データを電気的に書き込み、消去できる不揮発性のメモリ部（以下、メモリ部とも称する）と、このメモリ部に対するデータの書き換え回数を記憶する書き換え回数記憶部と、書き換え回数に対する書き換え時間データを記憶する書き換え時間記憶部と、データ書き換え時に、書き換え回数記憶部に記憶されている書き換え回数を読み出して、この読み出された書き換え回数に対応する書き換え時間データを書き換え時間記憶部から読み出す読み出し回路と、読み出し回路から読み出された書き換え時間データに従って書き換え時間を設定する書き換え時間設定回路と、書き換え時間設定回路により設定された書き換え時間に従ってメモリ部に対するデータの書き換え制御を行うプログラム回路と、を備える。
【０００４】
このようにすることによって、メモリ部に対する一回のデータの書き換え（消去及び書き込み）にかける時間を、書き換え回数に応じて設定することができる。よって、データの書き換え（消去及び書き込み）を適正な深さで行うことができる。また、これに伴って、安定した読み出しができて出力波形に乗るノイズも抑えることができ、且つ、データ保持力の劣化を防止することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−２５０４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記不揮発性半導体記憶装置は、メモリ部に対する一回のデータの書き換え（消去、書き込み）にかける時間を、書き換え回数に応じて設定するものに過ぎない。よって、データの消去及び書き込みを適正な深さで行うことができたとしても、メモリ部におけるデータ保持可能時間を超えると、データが失われることになる。
【０００７】
本発明は、上記問題点に鑑みなされたものであり、記憶しているデータが失われることを防止することができる不揮発性メモリ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために請求項１に記載の不揮発性メモリ装置は、
データの書き換えができる不揮発性のメモリ部と、
メモリ部に対してデータの書き込みが可能な書き込み部と、を備え、
書き込み部は、メモリ部に対するデータの書き込みを行わなくなってから、メモリ部におけるデータ保持可能時間より短い所定時間が経過すると、メモリ部に記憶されているデータと同じデータをメモリ部に書き込む再書き込みを行うことを特徴とする。
【０００９】
このように、メモリ部に対するデータの書き込みを行わなくなってからの経過時間がメモリ部におけるデータ保持可能時間に達する前に、再書き込みすることによって、メモリ部に記憶されているデータが失われることを防止することができる。つまり、データ保持可能時間を超えることで、データが失われることを防止することができる。言い換えると、メモリ部がデータを記憶しておく時間（データ保持時間）を延長することができる。
【００１０】
ところで、メモリ部への書き込み回数とデータ保持可能時間との関係は、図４に示すような関係を有するものである。この図４に示すグラフからわかるように、メモリ部は、書き込み回数が増えるにつれて、データ保持可能時間が減少する。
【００１１】
そこで、請求項２に示すように、
書き込み部がメモリ部に対してデータを書き込んだ回数をカウントするカウント部と、
カウント部にてカウントされた回数に対応するデータ保持可能時間に基づいて、このデータ保持可能時間よりも短い時間である、書き込み部に対して再書き込みをさせる時間的間隔を設定する設定部と、を備え、
書き込み部は、メモリ部に対するデータの書き込みを行わなくなってからの経過時間が、設定部にて設定された時間的間隔に達すると、メモリ部に対してデータを再書き込みするようにしてもよい。
【００１２】
このように、書き込み部がメモリ部に対してデータを書き込んだ回数と、この回数に対応するデータ保持可能時間に基づいて、書き込み部に対して再書き込みをさせる時間的間隔を設定することによって、書き込み回数に応じた時間的間隔を設定することができる。つまり、データが失われることを防止する為に実施する再書き込みの回数を、データ保持可能時間よりも十分短い時間的間隔で再書き込みを行う場合よりも、少なくすることができる。よって、メモリ部の寿命の減少を抑制しつつ、データ保持時間を延長することができる。
【００１３】
また、請求項３に示すように、
書き込み部に対する動作電源の供給及び停止が可能な電源部を備え、
設定部は、設定した時間的間隔で書き込み部へ動作電源を供給するように電源部に対して指示するものであり、
電源部は、設定部からの指示に応じて、書き込み部への動作電源の供給を停止してからの経過時間が、設定部にて設定された時間的間隔に達すると、書き込み部へ動作電源を供給し、
書き込み部は、電源部からの動作電源の供給が停止されているとき、電源部から動作電源が供給されると起動して、メモリ部に対してデータを再書き込みするようにしてもよい。
【００１４】
このように、電源部から動作電源が供給される書き込み部は、動作電源が供給されてない場合、メモリ部への書き込みができない。よって、書き込み部に動作電源が供給されてない状態が、データ保持可能時間を超えて継続されると、メモリ部に記憶されているデータは失われてしまう。
【００１５】
しかしながら、請求項３においては、書き込み部は、電源部からの動作電源供給の停止が継続した場合であっても、この動作電源の供給が停止されてからの経過時間が、設定部にて設定された時間的間隔に達すると、動作電源が供給されて起動する。なお、この設定部にて設定された時間的間隔は、上述のようにデータ保持可能時間よりも短い時間である。よって、書き込み部に動作電源が供給されてない状態が、データ保持可能時間を超えて継続されることを防止することができる。そして、起動した書き込み部は、メモリ部に対してデータを再書き込みする。従って、メモリ部に記憶されているデータが失われることを防止することができる。
【００１６】
また、請求項４に示すように、
書き込み部に対する動作電源の供給及び停止が可能であり、書き込み部に対する動作電源の供給を停止してから、メモリ部におけるデータ保持可能時間より短い所定時間が経過すると書き込み部へ動作電源を供給する電源部を備え、
書き込み部は、電源部からの動作電源の供給が停止されているとき、電源部から動作電源が供給されると起動して、メモリ部に対してデータを再書き込みするようにしてもよい。
【００１７】
なお、請求項４における作用、効果は、請求項３と同様であるため説明を省略する。
【図面の簡単な説明】
【００１８】
【図１】実施形態における不揮発性メモリ装置を含むシステムの概略構成を示すブロック図である。
【図２】実施形態におけるデータ保存方法の概略を示すブロック図である。
【図３】実施形態における不揮発性メモリ装置の処理動作を示すフローチャートである。
【図４】不揮発性メモリ装置の書き込み回数とデータ保持可能時間との関係を示すグラフである。
【発明を実施するための形態】
【００１９】
以下、本発明における不揮発性メモリ装置の実施形態を図に基づいて説明する。本実施形態においては、本発明における不揮発性メモリ装置を車両に搭載されたＥＣＵ１００に適用した例を採用する。
【００２０】
図１に示すよう
に、ＥＣＵ（Electronic Control Unit）１００は、主に、マイコン１０とマイコン電源駆動ＩＣ（以下、電源駆動ＩＣとも称する）２０を備えて構成されている。また、ＥＣＵ１００は、リレー４００を介して車両電源２００からマイコン１０へ電源（動作電源）が供給されることで動作する。
【００２１】
マイコン１０は、主に、ＣＰＵ（CentralProcessing Unit）１１、ＲＡＭ（Random Access Memory）１２、プログラム用ＲＯＭ（Read Only Memory）１３、データ用ＲＯＭ１４を備えて構成されている。このマイコン１０は、電源駆動ＩＣ２０、リレー４００に電気的に接続されている。
【００２２】
また、マイコン１０は、ＩＧＳＷ（ignition switch）３００とも電気的に接続されている。そして、マイコン１０は、ＩＧＳＷ３００のオン、オフを示すＩＧ信号が入力される。よって、マイコン１０は、ＩＧＳＷ３００がオンであるかオフであるかを認識することができる。
【００２３】
ＣＰＵ１１は、プログラム用ＲＯＭ１３に記憶されているプログラムを実行するものである。例えば、ＣＰＵ１１は、車両電源２００から電源が供給されている間、プログラムを実行することで、データ用ＲＯＭ１４に対してデータを書き込んだり、データを読み込んだりすることができる。同様に、データ用ＲＯＭ１４に対してデータを書き込んだり（書き込み部）、データを読み込んだりすることができる。また、ＣＰＵ１１は、データ用ＲＯＭ１４のデータが失われることを防止するために、再書き込みを行う（書き込み部）。再書き込みとは、データ用ＲＯＭ１４に記憶されているデータと同じデータを、再度データ用ＲＯＭ１４に書き込みすることである。なお、ＣＰＵ１１は、車両電源２００から電源の供給が停止されると、データ用ＲＯＭ１４に対してデータを書き込むことができない。
【００２４】
また、ＣＰＵ１１は、データ用ＲＯＭ１４に対してデータを書き込んだ回数をカウントする（カウント部）。ＣＰＵ１１は、カウントした回数を示す回数情報をデータ用ＲＯＭ１４に書き込む。そして、ＣＰＵ１１は、カウントした回数と特性データとを用いて、設定時間を設定（算出）する（設定部）。
【００２５】
なお、このＣＰＵ１１の処理動作、特性データ、設定時間に関しては、後ほど詳しく説明する。また、車両電源２００からマイコン１０（ＣＰＵ１１）への電源供給を電源オン、車両電源２００からマイコン１０（ＣＰＵ１１）への電源供給の停止を電源オフとも称する。
【００２６】
ＲＡＭ１２は、ＣＰＵ１１がプログラム実行中のデータを保持（記憶）するための揮発性メモリである。プログラム用ＲＯＭ１３は、プログラムが格納（記憶）されている不揮発性メモリである。
【００２７】
データ用ＲＯＭ１４は、特許請求の範囲におけるメモリ部に相当するものであり、書き換えを複数回行うことが可能な不揮発性メモリである。上述のようにＲＡＭ１２は、揮発性メモリである。よって、ＲＡＭ１２に記憶されているデータは、電源オフすると失われてしまう。そこで、データ用ＲＯＭ１４は、電源オフしている間、ＲＡＭ１２に記憶されていたデータを保持（記憶）しておくためのものである。
【００２８】
なお、ＣＰＵ１１は、電源オフ時にはプログラムの実行を停止（以下、単にプログラム停止とも称する）する。よって、データ用ＲＯＭ１４は、プログラム停止している間に、ＲＡＭ１２に記憶されていたデータを保持するためのメモリとも言い換えることができる。さらに、データ用ＲＯＭ１４は、バックアップ用又は退避用のメモリとも言い換えることができる。なお、プログラム用ＲＯＭ１３及びデータ用ＲＯＭ１４としては、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read OnlyMemory）やフラッシュＲＯＭなどを採用することができる。
【００２９】
ところで、データ用ＲＯＭ１４などの不揮発性メモリは、書き込み回数とデータ保持可能時間とが図４に示すような関係を有するものである。このように、データ用ＲＯＭ１４は、書き込み回数が増えるにつれて、データ保持可能時間が減少する特性がある。なお、データ保持可能時間とは、再書き込みなどすることなく、書き込まれたデータを保持できる時間である。また、このデータ用ＲＯＭ１４の特性データ（書き込み回数とデータ保持可能時間との関係を示すデータ）は、プログラム用ＲＯＭ１３に記憶されている。
【００３０】
電源駆動ＩＣ２０は、車両電源２００より常時電源が供給されており、電源オフ時も動作可能である。この電源駆動ＩＣ２０は、マイコン１０（ＣＰＵ１１）に対する電源の供給及び停止が可能なものである（電源部）。詳細には、電源駆動ＩＣ２０は、マイコン１０からの通信線３０を介した指示に従い、リレー４００を駆動（オン、オフ）するものである。また、電源駆動ＩＣ２０は、マイコン１０の電源オフ時であっても、予めマイコン１０から指示された設定時間後に、リレー４００を駆動（オン）することも可能なものである（電源部）。言い換えると、電源駆動ＩＣ２０は、予め指示された設定時間毎にリレー４００を駆動（オン）することも可能である。よって、マイコン１０は、ＩＧＳＷ３００がオフ状態で、且つユーザーによるＩＧＳＷ３００のオン操作がない場合であっても、設定時間毎に電源駆動ＩＣ２０がリレー４００をオンすることにより、電源が供給されて動作可能な構成となっている。
【００３１】
なお、マイコン１０より指示された設定時間は、電源駆動ＩＣ２０の電源が失われたとしても保持される。また、設定時間とは、特許請求の範囲における時間的間隔に相当するものであり、ＣＰＵ１１によって設定されるものである。つまり、電源オフの継続時間がデータ保持可能時間を超えることで、データ用ＲＯＭ１４のデータが失われることを防止するために、ＣＰＵ１１に再書き込みさせる間隔である。
【００３２】
車両電源２００は、例えば車載バッテリなどからなるものである。また、ＩＧＳＷ３００は、車両のユーザーによって操作されるスイッチである。また、リレー４００は、ＩＧＳＷ３００又は電源駆動ＩＣ２０のいずれかによって駆動（オン、オフ）可能な構成となっている。なお、この車両電源２００、ＩＧＳＷ３００、リレー４００は、周知技術であるため詳細な説明は省略する。（電源部）
ここで、図２に基づいて、マイコン１０に対する電源供給状態（ＣＰＵ１１によるプログラムの実行状態）毎のデータの保持方法に関して説明する。
【００３３】
ＣＰＵ１１がプログラム実行中（すなわち、電源オンされ、ＣＰＵ１１がプログラムを実行中であるとき）は、プログラムの動作に必要なデータがＲＡＭ１２に保持される。このＲＡＭ１２に保持されているデータは、プログラムを実行しているＣＰＵ１１によって、読み込み・書き込みされ更新される。つまり、ＣＰＵ１１は、プログラムを実行している間、プログラムに基づく動作に必要なデータをＲＡＭ１２に書き込んだり、ＲＡＭ１２から読み込んだりして、ＲＡＭ１２に記憶されているデータを更新する。
【００３４】
また、ＣＰＵ１１のプログラム停止時（すなわち、ＩＧＳＷ３００がオンからオフに切りかわってから、実行しているプログラムを停止するまでの間）は、ＲＡＭ１２に保持されているデータがデータ用ＲＯＭ１４へ書き込まれる（コピーされる、格納される）。このデータ用ＲＯＭ１４に書き込まれたデータは、次回、電源オンされてＣＰＵ１１がプログラムを実行するまでの間保持される。なお、ここでのプログラム停止時とは、プログラムを停止するための処理を行う時間を示すものである。
【００３５】
そして、ＣＰＵ１１のプログラム開始時（すなわち、電源オフから電源オンに切り替わって、ＣＰＵ１１がプログラムを実行するとき）は、データ用ＲＯＭ１４に保持されているデータがＲＡＭ１２へ書き込まれる（コピーされる、格納される）。
【００３６】
ここで、図３に基づいて、ＣＰＵ１１の処理動作に関して説明する。この図３に示すフローチャートは、電源オフから電源オンに切り替わりプログラムの実行を開始するとスタートする。
【００３７】
まず、ステップＳ１０，Ｓ１１では、データ用ＲＯＭ１４に格納されたデータと回数情報とを読み込みＲＡＭ１２に書き込む。このように、データ用ＲＯＭ１４に格納されたデータを読み込むのは、プログラムを実行する際に用いるためである。また、データ用ＲＯＭ１４に格納された回数情報を読み込むのは、設定時間を算出するためである。
【００３８】
ステップＳ１２では、電源駆動ＩＣ２０とＩＧＳＷ３００のいずれによって電源オンになったかを判定する。言い換えると、ユーザーがＩＧＳＷ３００を操作（オン）したことによって起動したのか、ユーザーがＩＧＳＷ３００を操作（オン）することなく電源駆動ＩＣ２０によって起動したのかを判定する。
【００３９】
このとき、ＣＰＵ１１は、ＩＧＳＷ３００がオフであることを示すＩＧ信号を取得している（言い換えると、ＩＧＳＷ３００がオンであることを示すＩＧ信号を取得していない）場合は電源駆動ＩＣ２０によって電源オンになったと判定する。つまり、ＣＰＵ１１は、電源が供給されているにもかかわらず、ＩＧＳＷ３００がオフであることを示すＩＧ信号を取得している場合は電源駆動ＩＣ２０によって電源オンになったと判定する。そして、電源駆動ＩＣ２０によって電源オンになったと判定した場合はステップＳ１６へ進む。
【００４０】
一方、ＣＰＵ１１は、ＩＧＳＷ３００がオンであることを示すＩＧ信号を取得している場合はＩＧＳＷ３００によって電源オンになったと判定する。そして、ＩＧＳＷ３００によって電源オンになったと判定した場合はステップＳ１３へ進む。
【００４１】
なお、電源駆動ＩＣ２０は、後ほど説明するステップＳ１８にて、ＣＰＵ１１から設定時間後にリレー４００をオフからオンにすることが指示される。そして、電源駆動ＩＣ２０は、ＣＰＵ１１から指示された設定時間後にリレー４００をオフからオンにする。これによって、ＣＰＵ１１は、電源オフ状態であるとき、ユーザーがＩＧＳＷ３００をオフからオンに切り替えなくても、電源駆動ＩＣ２０に指示してから設定時間後に電源オンになる。
【００４２】
ところで、ここでは、電源駆動ＩＣ２０によって電源オンになるタイミングは、ＣＰＵ１１が電源駆動ＩＣ２０に指示してから設定時間後である。つまり、ＣＰＵ１１は、電源駆動ＩＣ２０に指示してからの経過時間が設定時間に達すると、電源オンになる。しかしながら、ＣＰＵ１１が電源駆動ＩＣ２０に指示してから電源オフになるまで（Ｓ１８〜Ｓ２０）は短時間である。よって、ＣＰＵ１１は、電源オフになってからの経過時間が設定時間に達すると、電源オンになると言い換えることもできる。
【００４３】
ステップＳ１３では、電源駆動ＩＣ２０に対して即時リレー４００をオンするように要求（指示）する。これは、ユーザーがＩＧＳＷ３００をオンからオフに切り替えた際に、直ちに電源オフになることを防止するためである。つまり、ユーザーがＩＧＳＷ３００をオンからオフに切り替えた際に、ステップＳ１６〜Ｓ２０までの処理（例えばＲＡＭ１２に保持されているデータをデータ用ＲＯＭ１４へ書き込んだりする処理）を行うために、電源オンを維持するためである。
【００４４】
ステップＳ１４，１５では、ユーザーがＩＧＳＷ３００をオンからオフに切り替えるまでの間、プログラムの実行に応じてＲＡＭ１２のデータを更新する。つまり、ＣＰＵ１１は、プログラムを実行している間、プログラムに基づく動作に必要なデータをＲＡＭ１２に書き込んだり、ＲＡＭ１２から読み込んだりして、ＲＡＭ１２に記憶されているデータを更新する。ＣＰＵ１１は、ＩＧＳＷ３００がオフであることを示すＩＧ信号を取得すると、ステップＳ１６へ進む。
【００４５】
なお、電源駆動ＩＣ２０による起動の場合（ステップＳ１２で電源駆動ＩＣ２０による電源供給と判定した場合）は、ステップＳ１３，Ｓ１４は実施せずに、即時その後の処理（ステップＳ１６〜Ｓ２０）を実行することになる。つまり、ステップＳ１６〜Ｓ２０のみを実行する。
【００４６】
ステップＳ１６では、ＲＡＭ１２の回数情報の回数を１加算（カウントアップ）する。つまり、ＣＰＵ１１は、データ用ＲＯＭ１４に対する書き込み回数を更新する。このように、ＣＰＵ１１は、データ用ＲＯＭ１４に対してデータを書き込んだ回数をカウントする（カウント部）。
【００４７】
なお、スタートしてからこの時点までには、まだ、データ用ＲＯＭ１４に対するデータの書き込みは行われていない。ＣＰＵ１１は、後ほど説明するステップＳ１９で、データ用ＲＯＭ１４へのデータの書き込みを行うものである。しかしながら、本実施形態においては、データ用ＲＯＭ１４に対する書き込み回数に応じたデータ保持可能時間に基づいて、設定時間を算出するものである。このために、本実施形態においては、ステップＳ１６で回数情報を更新しておく。なお、ＣＰＵ１１は、この更新した回数情報をＲＡＭ１２に書き込む。
【００４８】
ステップＳ１７では、設定時間を算出する。このとき、ＣＰＵ１１は、ステップＳ１６でカウントした回数とプログラム用ＲＯＭ１３に記憶された特性データとを用いて設定時間を算出する（設定部）。つまり、ＣＰＵ１１は、カウントした回数に対応するデータ保持可能時間に基づいて設定時間を算出する。言い換えると、ＣＰＵ１１は、カウントした回数に対応するデータ保持可能時間に基づいて、データ用ＲＯＭ１４に対するデータの再書き込みを実施する時間的間隔を算出する。
【００４９】
この設定時間は、電源オフ（プログラム停止）の継続時間がデータ用ＲＯＭ１４のデータ保持可能時間を超えることで、データ用ＲＯＭ１４のデータが失われることを防止するためのものである。よって、設定時間は、ステップＳ１６でカウントされた回数に対応するデータ保持可能時間よりも短い時間が設定される。設定時間の好ましい例としては、電源オフの継続時間がデータ保持可能時間に達する直前に、電源駆動ＩＣ２０がリレー４００をオフかオンにして（電源オンにして）、ＣＰＵ１１が再書き込みを行うような値である。例えば、データ保持可能時間が４３０００時間であった場合、設定時間として４２９９９時間などである。
【００５０】
ステップＳ１８では、電源駆動ＩＣ２０に対して、ステップＳ１７で算出した設定時間後（再書き込みを実施する時間的間隔が経過した後）にリレー４００をオフからオンにすることを要求（指示）する。このように指示された電源駆動ＩＣ２０は、設定時間後に、リレー４００をオフからオンにする。よって、ＣＰＵ１１は、電源オフの状態が継続した場合であっても、ステップＳ１７で算出した設定時間後に、電源駆動ＩＣ２０によってリレー４００が駆動（オン）され、車両電源２００から電源が供給される。このように、ここでの指示は、設定時間後にリレー４００をオフからオンにすることを示すものである。よって、この時点で、電源駆動ＩＣ２０がリレー４００をオフからオンにするものではない。
【００５１】
ステップＳ１９では、ステップＳ１６でのカウントアップが反映された回数情報と、ＲＡＭ１２に記憶されているデータをデータ用ＲＯＭ１４へ書き込む。なお、このとき、ユーザーがＩＧＳＷ３００を操作したことによる起動であった場合（すなわちＳ１３〜Ｓ１５を実行した場合）、ステップＳ１４で最後にＲＡＭ１２に書き込まれたデータをデータ用ＲＯＭ１４へ書き込むことになる。つまり、このときは、バックアップ処理と言い換えることができる。
【００５２】
一方、電源駆動ＩＣ２０による起動であった場合、起動前にデータ用ＲＯＭ１４に格納されていたデータと同じデータがデータ用ＲＯＭ１４に書き込まれることになる（すなわち、再書き込みすることになる）。つまり、このときは、データ用ＲＯＭ１４によるデータの保持時間の延長処理、又は、データ用ＲＯＭ１４のリフレッシュ処理と言い換えることができる。
【００５３】
ステップＳ２０では、ＣＰＵ１１は、データ用ＲＯＭ１４にデータを書き込みすると、電源駆動ＩＣ２０に対してリレー４００をオフするように指示する。このとき、電源駆動ＩＣ２０は、リレー４００を即時オフする。これによって、電源オフになり、実行しているプログラムを停止して、図３に示すフローチャートの処理を終了（エンド）する。
【００５４】
ここまで説明したように、電源駆動ＩＣ２０は、電源オフの継続時間が設定時間に達すると、リレー４００をオフからオンに切り替える。これによって、ＣＰＵ１１は、電源オフの状態から電源オン状態に切り替わる（すなわち起動する）。なお、この設定時間は、データ用ＲＯＭ１４のデータ保持可能時間よりも短い時間である。よって、ＣＰＵ１１に電源が供給されてない状態が、データ用ＲＯＭ１４のデータ保持可能時間を超えて継続されることを防止することができる。
【００５５】
そして、起動したＣＰＵ１１は、データ用ＲＯＭ１４に対してデータを再書き込みする。従って、データ用ＲＯＭ１４に記憶されているデータが失われることを防止することができる。言い換えると、データ用ＲＯＭ１４がデータを記憶しておく時間（データ保持時間）を延長することができる。
【００５６】
また、本実施形態のように、ＣＰＵ１１がデータ用ＲＯＭ１４に対してデータを書き込んだ回数と、この回数に対応するデータ保持可能時間に基づいて、設定時間を設定することによって、書き込み回数に応じた設定時間を設定することができる。つまり、その時点のデータ用ＲＯＭ１４におけるデータの保持能力に最適な設定時間を設定することができる。これによって、データ用ＲＯＭ１４のデータが失われることを防止する為に実施する再書き込みの回数を、データ保持可能時間よりも十分短い時間的間隔で再書き込みを行う場合よりも、少なくすることができる。よって、データ用ＲＯＭ１４の寿命の減少を抑制しつつ、データ保持時間を延長することができる。
【００５７】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。
【００５８】
例えば、上述の実施形態においては、電源オフの継続時間が設定時間に達すると、ＣＰＵ１１を起動させてデータ用ＲＯＭ１４に再書き込みする例を採用した。しかしながら、本願発明はこれに限定されるものではない。例えば、ＣＰＵ１１は、微小電源が供給されているが、データ用ＲＯＭ１４への書き込みを行わないことも考えられる。つまり、ＣＰＵ１１がスリープモード（低消費電力モード）中であり、データ用ＲＯＭ１４への書き込みを行っていないことも考えられる。
【００５９】
そこで、本願発明は、データ用ＲＯＭ１４とＣＰＵ１１とを備え、ＣＰＵ１１は、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってから、データ用ＲＯＭ１４におけるデータ保持可能時間より短い所定時間が経過すると、データ用ＲＯＭ１４に記憶されているデータと同じデータをデータ用ＲＯＭ１４に再書き込みするものであれば採用することができる。この場合、ＣＰＵ１１は、低消費電力モードで、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってからの経過時間をカウントする。そして、ＣＰＵ１１は、カウント結果がデータ用ＲＯＭ１４におけるデータ保持可能時間より短い所定時間に達すると、再書き込みする。
【００６０】
このように、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってからの経過時間がデータ用ＲＯＭ１４におけるデータ保持可能時間に達する前に、データ用ＲＯＭ１４に記憶されているデータと同じデータをデータ用ＲＯＭ１４に再書き込みすることによって、データ用ＲＯＭ１４に記憶されているデータが失われることを防止することができる。つまり、データ保持可能時間を超えることで、データが失われることを防止することができる。言い換えると、データ用ＲＯＭ１４がデータを記憶しておく時間（データ保持時間）を延長することができる。
【００６１】
なお、この場合であっても、ＣＰＵ１１は、自身がデータ用ＲＯＭ１４に対してデータを書き込んだ回数と、この回数に対応するデータ保持可能時間に基づいて設定時間を算出するようにしてもよい。よって、ＣＰＵ１１は、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってからの継続時間が設定時間に達すると、データ用ＲＯＭ１４に再書き込みするようにしてもよい。
【００６２】
また、上述の実施形態においては、ＣＰＵ１１がデータ用ＲＯＭ１４に対してデータを書き込んだ回数と、この回数に対応するデータ保持可能時間に基づいて、設定時間を算出する例を採用したが、本発明はこれに限定されるものではない。本願発明は、ＣＰＵ１１が、データ用ＲＯＭ１４に対するデータの書き込みを行わなくなってから、データ用ＲＯＭ１４におけるデータ保持可能時間より短い所定時間が経過すると、データ用ＲＯＭ１４に記憶されているデータと同じデータをデータ用ＲＯＭ１４に再書き込みするものであれば、目的は達成可能である。
【００６３】
例えば、電源駆動ＩＣ２０は、ＣＰＵ１１に対する電源の供給を停止してから、データ用ＲＯＭ１４におけるデータ保持可能時間より短い所定時間（一定時間）が経過すると、リレー４００をオフからオンに切り替えることでＣＰＵ１１へ電源を供給するものであってもよい。そして、この場合であっても、ＣＰＵ１１は、電源オフ状態であるとき、電源駆動ＩＣ２０がリレー４００をオフからオンに切り替えることで電源が供給されると起動して、データ用ＲＯＭ１４に対してデータを再書き込みする。
【００６４】
なお、この場合、ＣＰＵ１１は、書き込み回数のカウント（カウント部）や、この回数とデータ保持可能時間に基づいた設定時間の設定（設定部）を行う必要がない。さらに、プログラム用ＲＯＭ１３に、特性データを記憶しておく必要もない。
【符号の説明】
【００６５】
１０  マイコン、１１  ＣＰＵ、１２  ＲＡＭ、１３  プログラム用ＲＯＭ、１４  データ用ＲＯＭ、２０  マイコン電源駆動ＩＣ、３０  通信線、１００  ＥＣＵ、２００  車両電源、３００  ＩＧＳＷ、４００  リレー
【図１】
2013171600.tif 000003
【図２】
2013171600.tif 000004
【図３】
2013171600.tif 000005
【図４】
2013171600.tif 000006