(57)【要約】【課題】不揮発性メモリのデータ書き込み、読み込み性能を向上させる。【解決手段】ＥＣＵ１は、車両に搭載され、フラッシュメモリ６を備える。フラッシュメモリ６は、記憶内容の消去および書き込みが可能であり、予め設定された小セクタサイズの記憶容量を有してデータを記憶する複数の小セクタＳＳと、小セクタサイズより大きくなるように設定された大セクタサイズの記憶容量を有してデータを記憶する複数の大セクタＢＳとを備える。そしてＥＣＵ１は、車両のＩＧスイッチがオンである場合に、ＩＧスイッチがオンであるときに更新される可能性がある複数の対象データを大セクタＢＳに記憶する。またＥＣＵ１は、車両のＩＧスイッチがオフである場合に、複数の対象データを小セクタＳＳに記憶する。【選択図】図１
2019079371.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されるデータ記憶装置であって、
記憶内容の消去および書き込みが可能であり、予め設定された第１セクタサイズの記憶容量を有してデータを記憶する複数の第１セクタと、前記第１セクタサイズより大きくなるように設定された第２セクタサイズの記憶容量を有してデータを記憶する複数の第２セクタとを備える不揮発性メモリと、
前記車両が使用中である場合に、前記車両の使用中において更新される可能性がある少なくとも１つの対象データを前記第２セクタに記憶するように構成された使用中記憶部と、
前記車両が不使用中である場合に、前記対象データを前記第１セクタに記憶するように構成された不使用中記憶部と
を備えるデータ記憶装置。
【請求項２】
請求項１に記載のデータ記憶装置であって、
前記車両のイグニッションスイッチがオンである状態が、前記使用中であり、
前記車両のイグニッションスイッチがオフである状態が、前記不使用中であるデータ記憶装置。
【請求項３】
請求項１に記載のデータ記憶装置であって、
前記車両が走行中である状態が、前記使用中であり、
前記車両が停止中である状態が、前記不使用中であるデータ記憶装置。
【請求項４】
請求項１〜請求項３の何れか１項に記載のデータ記憶装置であって、
前記使用中記憶部は、前記第２セクタにおいてデータが書き込まれていない空き記憶領域に前記対象データを記憶し、
前記不使用中記憶部は、複数の前記第１セクタのそれぞれに対して１つの前記対象データを記憶し、前記第１セクタに記憶されているデータを消去した後に、前記第１セクタに前記対象データを記憶するデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両に搭載されるデータ記憶装置に関する。
【背景技術】
【０００２】
特許文献１には、不揮発性メモリへデータを書き込む際に、書き込むデータ量に応じて、第１セクタサイズの複数のセクタを備える第１バンクと、第１セクタサイズよりも大きい第２セクタサイズの複数のセクタを備える第２バンクとの何れかを選択する方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４５６５９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の技術では、サイズが小さいセクタに記憶されるデータの書き込み頻度が高い場合は、セクタに記憶されるデータを消去する頻度も高くなり、データ書き込み性能が低下するおそれがあった。また、電源のオン／オフが頻繁に切り替えられる状況において、大きいサイズのセクタにデータが配置されていると、電源オン時の初期読み出し時に、所望の対象データを特定する時間が大きくかかってしまう恐れがあった。
【０００５】
本開示は、状況に応じて、データ書き込みセクタを切り替えることにより、不揮発性メモリのデータ書き込み、読み込み性能を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一態様は、車両に搭載されるデータ記憶装置（１）であって、不揮発性メモリ（６）と、使用中記憶部（Ｓ１１０〜Ｓ１５０）と、不使用中記憶部（Ｓ２１０〜Ｓ２６０）とを備える。
【０００７】
不揮発性メモリは、記憶内容の消去および書き込みが可能であり、予め設定された第１セクタサイズの記憶容量を有してデータを記憶する複数の第１セクタ（ＳＳ）と、第１セクタサイズより大きくなるように設定された第２セクタサイズの記憶容量を有してデータを記憶する複数の第２セクタ（ＢＳ）とを備える。
【０００８】
使用中記憶部は、車両が使用中である場合に、車両の使用中において更新される可能性がある少なくとも１つの対象データを第２セクタに記憶するように構成される。
不使用中記憶部は、車両が不使用中である場合に、対象データを第１セクタに記憶するように構成される。
【０００９】
このように構成された本開示のデータ記憶装置は、車両が使用中である場合において、更新される可能性がある対象データを、記憶容量が大きい第２セクタに記憶する。これにより、本開示のデータ記憶装置は、データを書き込む前にデータを消去する頻度を低減することができ、不揮発性メモリのデータ書き込み性能を向上させることができる。また、本開示のデータ記憶装置は、車両が不使用中である場合において、対象データを、記憶容量が小さい第１セクタに記憶する。これにより、本開示のデータ記憶装置は、車両が不使用中の状態から使用中の状態へ遷移する場合において、第１セクタに記憶された対象データを読み込むときに、第１セクタの中から所望の対象データを特定するのに要する時間を短縮することができ、データ読み込み性能を向上させることができる。
【００１０】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】電子制御装置の構成を示すブロック図である。
【図２】管理データ格納部の構成を示す図である。
【図３】読込処理を示すフローチャートである。
【図４】大セクタ更新処理を示すフローチャートである。
【図５】大セクタの状態と小セクタの状態と管理データ格納部の状態とを示す図である。
【図６】ＩＧオフ時処理を示すフローチャートである。
【図７】大セクタの状態と小セクタの状態とを示す図である。
【発明を実施するための形態】
【００１２】
以下に本開示の実施形態を図面とともに説明する。
本実施形態の電子制御装置１（以下、ＥＣＵ１）は、車両に搭載され、例えば、運転席の前方のインストルメントパネルに設けられて車両の各種状態を表示するメータの制御を行う。ＥＣＵは、Electronic Control Unitの略である。
【００１３】
ＥＣＵ１は、図１に示すように、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、Ｉ／Ｏ５及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されている。マイクロコンピュータの各種機能は、ＣＰＵ２が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ＲＯＭ３が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、ＣＰＵ２が実行する機能の一部または全部を、一つあるいは複数のＩＣ等によりハードウェア的に構成してもよい。また、ＥＣＵ１を構成するマイクロコンピュータの数は１つでも複数でもよい。
【００１４】
ＥＣＵ１は、さらに、フラッシュメモリ６およびフラッシュコントローラ７を備える。
フラッシュメモリ６は、データ書き換え可能な不揮発性メモリである。フラッシュメモリ６は、大セクタ格納部２１と、小セクタ格納部２２と、管理データ格納部２３とを備える。
【００１５】
大セクタ格納部２１は、複数の大セクタＢＳを備える。大セクタＢＳは、予め設定された大セクタサイズ（例えば、数ＫＢｙｔｅ）のデータを記憶可能な記憶領域であり、１つのセクタに複数のデータを記憶させることができる。大セクタＢＳは、セクタにデータを書き込む前に、セクタに記憶されているデータを消去する必要がないため、データを速く書き込むことができる。しかし、大セクタＢＳでは、１つのセクタに複数のデータが記憶されているために、セクタの中から所望のデータを特定するのに時間がかかる。
【００１６】
複数の大セクタＢＳには、大セクタＢＳを識別するための識別番号（以下、大セクタＩＤ）が設定されている。具体的には、大セクタ格納部２１がｎ個の大セクタＢＳを備えている場合には、複数の大セクタＢＳには１からｎまでの整数（すなわち、１，２，３，・・・，ｎ−１，ｎ）が設定される。ｎは２以上の整数である。
【００１７】
小セクタ格納部２２は、複数の小セクタＳＳを備える。小セクタＳＳは、大セクタサイズより小さくなるように予め設定された小セクタサイズ（例えば、数１０Ｂｙｔｅ）のデータを記憶可能な記憶領域であり、１つのセクタに１つのデータを記憶させることができる。小セクタＳＳは、セクタにデータを書き込む前に、セクタに記憶されているデータを消去する必要があるため、データの書き込みに時間がかかる。しかし、小セクタＳＳでは、１つのセクタに１つのデータが記憶されているために、所望のデータを速く特定することができる。
【００１８】
複数の小セクタＳＳには、小セクタＳＳを識別するための識別番号（以下、小セクタＩＤ）が設定されている。具体的には、小セクタ格納部２２がｍ個の小セクタＳＳを備えている場合には、複数の小セクタＳＳには１からｍまでの整数（すなわち、１，２，３，・・・，ｍ−１，ｍ）が設定される。ｍは２以上の整数である。
【００１９】
管理データ格納部２３は、複数の大セクタＢＳおよび複数の小セクタＳＳからデータを読み込んだり、複数の大セクタＢＳおよび複数の小セクタＳＳにデータを書き込んだりするために必要な管理データを格納する。
【００２０】
フラッシュコントローラ７は、ＣＰＵ２から与えられる指令に基づいて、フラッシュメモリ６にデータを書き込む処理と、フラッシュメモリ６からデータを読み出す処理と、フラッシュメモリ６に記憶されているデータを消去する処理とを実行する。
【００２１】
ＲＯＭ３は、アプリケーションソフト１１とフラッシュドライバソフト１２とを記憶する。ＣＰＵ２は、アプリケーションソフト１１を実行することによりメータを制御する。ＣＰＵ２は、フラッシュドライバソフト１２を実行することによりフラッシュコントローラ７を制御する。
【００２２】
管理データ格納部２３は、図２に示すように、複数の小セクタＩＤのそれぞれに対応して設けられているセクタ指示領域に、大セクタを示す情報（以下、大セクタ指示情報）、および、小セクタを示す情報（以下、小セクタ指示情報）の何れか一方を格納する。図２は、「１」の小セクタＩＤには「小セクタ」、「２」の小セクタＩＤには「大セクタ」、「３」の小セクタＩＤには「大セクタ」、「４」の小セクタＩＤには「小セクタ」が対応付けられた状態の管理データ格納部２３を示している。
【００２３】
またＣＰＵ２は、読込処理、大セクタ更新処理およびＩＧオフ時処理を実行する。
まず、読込処理の手順を説明する。読込処理は、車両のイグニッションスイッチ（以下、ＩＧスイッチ）がオフからオンに切り替わった直後に１回のみ実行される処理である。
【００２４】
読込処理が実行されると、ＣＰＵ２は、図３に示すように、まずＳ１０にて、ＲＡＭ４に設けられる小セクタ指示値Ｃｓを１に設定する。そしてＳ２０にて、小セクタ指示値Ｃｓに等しい小セクタＩＤが設定されている小セクタＳＳから、データを読み込む。
【００２５】
次にＳ３０にて、Ｓ２０で読み込んだデータをＲＡＭ４に転送する。すなわち、Ｓ２０で読み込んだデータをＲＡＭ４に書き込む。そしてＳ４０にて、小セクタ指示値Ｃｓが予め設定されている対象データ数ｋ以上であるか否かを判断する。対象データとは、大セクタＢＳに書き込む必要があるデータである。対象データとしては、例えば、メータに表示される走行距離数が挙げられる。なお、複数の対象データはそれぞれ、対象データが書き込まれる小セクタＳＳが予め設定されている。すなわち、複数の対象データはそれぞれ、書き込まれる小セクタＳＳを示す小セクタＩＤが設定されている。そして、対象データ数ｋは、対象データの数である。対象データ数ｋは、対象データの数に応じて、小セクタＳＳの数（すなわち、ｍ）以下となるように設定されている。
【００２６】
ここで、小セクタ指示値Ｃｓが対象データ数ｋ未満である場合には、Ｓ５０にて、小セクタ指示値Ｃｓをインクリメント（すなわち、１加算）し、Ｓ２０に移行する。一方、小セクタ指示値Ｃｓが対象データ数ｋ以上である場合には、読込処理を終了する。
【００２７】
次に、大セクタ更新処理の手順を説明する。大セクタ更新処理は、ＥＣＵ１の動作中において繰り返し実行される処理である。
大セクタ更新処理が実行されると、ＣＰＵ２は、図４に示すように、まずＳ１１０にて、ＲＡＭ４に記憶されている対象データが更新されたか否かを判断する。ここで、対象データが更新されていない場合には、大セクタ更新処理を一旦終了する。一方、対象データが更新された場合には、Ｓ１２０にて、書き込み対象に設定されている大セクタＢＳ（以下、書込対象大セクタ）に、データを追記可能であるか否かを判断する。すなわち、Ｓ１２０にて、対象データを書き込み可能な記憶領域（すなわち、空き記憶領域）が残っているか否かを判断する。
【００２８】
ここで、空き記憶領域が残っている場合には、Ｓ１４０に移行する。一方、空き記憶領域が残っていない場合には、Ｓ１３０にて、データが書き込まれていない大セクタＢＳを新たに書込対象大セクタに設定して、Ｓ１４０に移行する。具体的には、例えば、大セクタＩＤが「２」である大セクタＢＳが書込対象大セクタに設定されている状態で、この書込対象大セクタに対象データを追記することができなくなった場合には、大セクタＩＤが「３」である大セクタＢＳを新たに書込対象大セクタに設定する。
【００２９】
そしてＳ１４０に移行すると、対象データを書込対象大セクタに書き込む。具体的には、対象データに設定された小セクタＩＤと、対象データの値とを対応付けて書込対象大セクタに書き込む。
【００３０】
そしてＳ１５０にて、管理データを更新して、大セクタ更新処理を一旦終了する。具体的には、管理データ格納部２３において、対象データに設定された小セクタＩＤと同じ小セクタＩＤに対応して設けられているセクタ指示領域に、大セクタ指示情報を格納する。
【００３１】
例えば、図５に示すように、書込対象大セクタに書き込まれた対象データに設定されている小セクタＩＤが「２」と「３」であるとする。この場合には、管理データ格納部２３において、「１」、「２」、「３」および「４」の小セクタＩＤに対応して設けられているセクタ指示領域にそれぞれ、「小セクタ」、「大セクタ」、「大セクタ」および「小セクタ」が格納される。
【００３２】
図５は、書き込まれた時刻が早い順に、小セクタＩＤが「２」である対象データＤｏ１と、小セクタＩＤが「２」である対象データＤｏ２と、小セクタＩＤが「３」である対象データＤｏ３と、小セクタＩＤが「２」である対象データＤｏ４とが書込対象大セクタＢＳ１に書き込まれている状態を示している。
【００３３】
次に、ＩＧオフ時処理の手順を説明する。読込処理は、車両のＩＧスイッチがオンからにオフ切り替わった直後に１回のみ実行される処理である。
ＩＧオフ時処理が実行されると、ＣＰＵ２は、図６に示すように、まずＳ２１０にて、ＲＡＭ４に設けられる小セクタ指示値Ｃｓを１に設定する。そしてＳ２２０にて、小セクタ指示値Ｃｓに等しい小セクタＩＤに対応している対象データが大セクタＢＳに書き込まれているか否かを判断する。具体的には、管理データ格納部２３において、小セクタ指示値Ｃｓに等しい小セクタＩＤに対応して設けられているセクタ指示領域に大セクタ指示情報が格納されている場合に、対象データが大セクタＢＳに書き込まれていると判断する。一方、小セクタ指示値Ｃｓに等しい小セクタＩＤに対応して設けられているセクタ指示領域に小セクタ指示情報が格納されている場合に、対象データが大セクタＢＳに書き込まれていないと判断する。
【００３４】
ここで、対象データが大セクタＢＳに書き込まれていない場合には、Ｓ２３０にで、小セクタ指示値Ｃｓをインクリメントし、Ｓ２２０に移行する。一方、対象データが大セクタＢＳに書き込まれている場合には、Ｓ２４０にて、小セクタ指示値Ｃｓに等しい小セクタＩＤが設定されている小セクタＳＳに記憶されているデータを消去した後に、この小セクタＳＳに、ＲＡＭ４に記憶されているデータの中から、小セクタ指示値Ｃｓに等しい小セクタＩＤが設定されている対象データを選択して書き込む。
【００３５】
さらにＳ２５０にて、管理データを更新する。具体的には、管理データ格納部２３において、対象データに設定された小セクタＩＤと同じ小セクタＩＤに対応して設けられているセクタ指示領域に、小セクタ指示情報を格納する。
【００３６】
そしてＳ２６０にて、小セクタ指示値Ｃｓが対象データ数ｋ以上であるか否かを判断する。ここで、小セクタ指示値Ｃｓが対象データ数ｋ未満である場合には、Ｓ２３０に移行する。一方、小セクタ指示値Ｃｓが対象データ数ｋ以上である場合には、ＩＧオフ時処理を終了する。
【００３７】
例えば、図５に示すように、書込対象大セクタに書き込まれた対象データに設定されている小セクタＩＤが「２」と「３」である場合は、管理データ格納部２３において、「１」、「２」、「３」および「４」の小セクタＩＤに対応して設けられているセクタ指示領域にそれぞれ、「小セクタ」、「大セクタ」、「大セクタ」および「小セクタ」が格納される。このため、小セクタＩＤが「２」である小セクタＳＳ２と、小セクタＩＤが「３」である小セクタＳＳ３とに、対象データが書き込まれる。一方、小セクタＩＤが「１」である小セクタＳＳ１と、小セクタＩＤが「４」である小セクタＳＳ４とには、データの上書きは行われない。
【００３８】
例えば、図７に示すように、書込対象大セクタＢＳ２に書き込まれた対象データに設定されている小セクタＩＤが「１」、「２」、「３」および「４」である場合は、小セクタＳＳ１，ＳＳ２，ＳＳ３，ＳＳ４に対象データが書き込まれる。
【００３９】
このように構成されたＥＣＵ１は、車両に搭載され、フラッシュメモリ６を備える。フラッシュメモリ６は、記憶内容の消去および書き込みが可能であり、予め設定された小セクタサイズの記憶容量を有してデータを記憶する複数の小セクタＳＳと、小セクタサイズより大きくなるように設定された大セクタサイズの記憶容量を有してデータを記憶する複数の大セクタＢＳとを備える。
【００４０】
そしてＥＣＵ１は、車両のＩＧスイッチがオンである場合に、ＩＧスイッチがオンであるときに更新される可能性がある複数の対象データを大セクタＢＳに記憶する。またＥＣＵ１は、車両のＩＧスイッチがオフである場合に、複数の対象データを小セクタＳＳに記憶する。
【００４１】
このようにＥＣＵ１は、車両のＩＧスイッチがオンである場合において、対象データを、記憶容量が大きい大セクタＢＳに記憶する。これにより、ＥＣＵ１は、データを書き込む前にデータを消去する頻度を低減することができ、フラッシュメモリ６のデータ書き込み性能を向上させることができる。また、ＥＣＵ１は、車両のＩＧスイッチがオフである場合において、対象データを、記憶容量が小さい小セクタＳＳに記憶する。これにより、ＥＣＵ１は、車両のＩＧスイッチがオフの状態からオンの状態へ遷移する場合において、小セクタＳＳに記憶された対象データを読み込むときに、小セクタＳＳの中から所望の対象データを特定するのに要する時間を短縮することができ、データ読み込み性能を向上させることができる。
【００４２】
またＥＣＵ１は、大セクタＢＳにおいてデータが書き込まれていない空き記憶領域に対象データを記憶する。これにより、ＥＣＵ１は、データを書き込む前にデータを消去することが不要となり、データ書き込み性能を更に向上させることができる。
【００４３】
またＥＣＵ１は、複数の小セクタＳＳのそれぞれに対して１つの対象データを記憶し、小セクタＳＳに記憶されているデータを消去した後に、小セクタＳＳに対象データを記憶する。これにより、ＥＣＵ１は、小セクタＳＳに記憶されている複数のデータの中から所望の対象データを特定する処理が不要となり、データ読み込み性能を更に向上させることができる。
【００４４】
以上説明した実施形態において、ＥＣＵ１はデータ記憶装置に相当し、フラッシュメモリ６は不揮発性メモリに相当し、小セクタＳＳは第１セクタに相当し、大セクタＢＳは第２セクタに相当する。
【００４５】
また、Ｓ１１０〜Ｓ１５０は使用中記憶部としての処理に相当し、Ｓ２１０〜Ｓ２６０は不使用中記憶部としての処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
【００４６】
［変形例１］
例えば上記実施形態では、車両のＩＧスイッチがオンである状態が車両の使用中であり、車両のＩＧスイッチがオフである状態が車両の不使用中である形態を示した。しかし、車両が走行中である状態が車両の使用中であり、車両が停止中である状態が車両の不使用中であるようにしてもよい。具体的には、例えば、車速センサの検出結果が０ｋｍ／ｈである場合には車両が停止中であり、車速センサの検出結果が０ｋｍ／ｈを超えている場合には車両が走行中であると判断するようにしてもよい。
【００４７】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素に分担させたり、複数の構成要素が有する機能を１つの構成要素に発揮させたりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加、置換等してもよい。なお、特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００４８】
上述したＥＣＵ１の他、当該ＥＣＵ１を構成要素とするシステム、当該ＥＣＵ１としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、データ記憶方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００４９】
１…ＥＣＵ、２…ＣＰＵ、６…フラッシュメモリ、ＢＳ…大セクタ、ＳＳ…小セクタ
【図１】
2019079371.tif 000003
【図２】
2019079371.tif 000004
【図３】
2019079371.tif 000005
【図４】
2019079371.tif 000006
【図５】
2019079371.tif 000007
【図６】
2019079371.tif 000008
【図７】
2019079371.tif 000009