特許第6859924号(P6859924)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧
<>
  • 特許6859924-データ記憶装置 図000002
  • 特許6859924-データ記憶装置 図000003
  • 特許6859924-データ記憶装置 図000004
  • 特許6859924-データ記憶装置 図000005
  • 特許6859924-データ記憶装置 図000006
  • 特許6859924-データ記憶装置 図000007
  • 特許6859924-データ記憶装置 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6859924
(24)【登録日】2021年3月30日
(45)【発行日】2021年4月14日
(54)【発明の名称】データ記憶装置
(51)【国際特許分類】
   G06F 3/06 20060101AFI20210405BHJP
   G06F 12/06 20060101ALI20210405BHJP
【FI】
   G06F3/06 301J
   G06F3/06 540
   G06F3/06 301N
   G06F3/06 302J
   G06F12/06 515J
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2017-207028(P2017-207028)
(22)【出願日】2017年10月26日
(65)【公開番号】特開2019-79371(P2019-79371A)
(43)【公開日】2019年5月23日
【審査請求日】2020年9月14日
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際特許業務法人
(72)【発明者】
【氏名】二木 理雄
【審査官】 打出 義尚
(56)【参考文献】
【文献】 特開2013−32163(JP,A)
【文献】 特開2008−097169(JP,A)
【文献】 特開2008−077221(JP,A)
【文献】 特開2000−181784(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
G06F 12/06
(57)【特許請求の範囲】
【請求項1】
車両に搭載されるデータ記憶装置であって、
記憶内容の消去および書き込みが可能であり、予め設定された第1セクタサイズの記憶容量を有してデータを記憶する複数の第1セクタと、前記第1セクタサイズより大きくなるように設定された第2セクタサイズの記憶容量を有してデータを記憶する複数の第2セクタとを備える不揮発性メモリと、
前記車両が使用中である場合に、前記車両の使用中において更新される可能性がある少なくとも1つの対象データを前記第2セクタに記憶するように構成された使用中記憶部と、
前記車両が不使用中である場合に、前記対象データを前記第1セクタに記憶するように構成された不使用中記憶部と
を備えるデータ記憶装置。
【請求項2】
請求項1に記載のデータ記憶装置であって、
前記車両のイグニッションスイッチがオンである状態が、前記使用中であり、
前記車両のイグニッションスイッチがオフである状態が、前記不使用中であるデータ記憶装置。
【請求項3】
請求項1に記載のデータ記憶装置であって、
前記車両が走行中である状態が、前記使用中であり、
前記車両が停止中である状態が、前記不使用中であるデータ記憶装置。
【請求項4】
請求項1〜請求項3の何れか1項に記載のデータ記憶装置であって、
前記使用中記憶部は、前記第2セクタにおいてデータが書き込まれていない空き記憶領域に前記対象データを記憶し、
前記不使用中記憶部は、複数の前記第1セクタのそれぞれに対して1つの前記対象データを記憶し、前記第1セクタに記憶されているデータを消去した後に、前記第1セクタに前記対象データを記憶するデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両に搭載されるデータ記憶装置に関する。
【背景技術】
【0002】
特許文献1には、不揮発性メモリへデータを書き込む際に、書き込むデータ量に応じて、第1セクタサイズの複数のセクタを備える第1バンクと、第1セクタサイズよりも大きい第2セクタサイズの複数のセクタを備える第2バンクとの何れかを選択する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4565981号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、サイズが小さいセクタに記憶されるデータの書き込み頻度が高い場合は、セクタに記憶されるデータを消去する頻度も高くなり、データ書き込み性能が低下するおそれがあった。また、電源のオン/オフが頻繁に切り替えられる状況において、大きいサイズのセクタにデータが配置されていると、電源オン時の初期読み出し時に、所望の対象データを特定する時間が大きくかかってしまう恐れがあった。
【0005】
本開示は、状況に応じて、データ書き込みセクタを切り替えることにより、不揮発性メモリのデータ書き込み、読み込み性能を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様は、車両に搭載されるデータ記憶装置(1)であって、不揮発性メモリ(6)と、使用中記憶部(S110〜S150)と、不使用中記憶部(S210〜S260)とを備える。
【0007】
不揮発性メモリは、記憶内容の消去および書き込みが可能であり、予め設定された第1セクタサイズの記憶容量を有してデータを記憶する複数の第1セクタ(SS)と、第1セクタサイズより大きくなるように設定された第2セクタサイズの記憶容量を有してデータを記憶する複数の第2セクタ(BS)とを備える。
【0008】
使用中記憶部は、車両が使用中である場合に、車両の使用中において更新される可能性がある少なくとも1つの対象データを第2セクタに記憶するように構成される。
不使用中記憶部は、車両が不使用中である場合に、対象データを第1セクタに記憶するように構成される。
【0009】
このように構成された本開示のデータ記憶装置は、車両が使用中である場合において、更新される可能性がある対象データを、記憶容量が大きい第2セクタに記憶する。これにより、本開示のデータ記憶装置は、データを書き込む前にデータを消去する頻度を低減することができ、不揮発性メモリのデータ書き込み性能を向上させることができる。また、本開示のデータ記憶装置は、車両が不使用中である場合において、対象データを、記憶容量が小さい第1セクタに記憶する。これにより、本開示のデータ記憶装置は、車両が不使用中の状態から使用中の状態へ遷移する場合において、第1セクタに記憶された対象データを読み込むときに、第1セクタの中から所望の対象データを特定するのに要する時間を短縮することができ、データ読み込み性能を向上させることができる。
【0010】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【0011】
図1】電子制御装置の構成を示すブロック図である。
図2】管理データ格納部の構成を示す図である。
図3】読込処理を示すフローチャートである。
図4】大セクタ更新処理を示すフローチャートである。
図5】大セクタの状態と小セクタの状態と管理データ格納部の状態とを示す図である。
図6】IGオフ時処理を示すフローチャートである。
図7】大セクタの状態と小セクタの状態とを示す図である。
【発明を実施するための形態】
【0012】
以下に本開示の実施形態を図面とともに説明する。
本実施形態の電子制御装置1(以下、ECU1)は、車両に搭載され、例えば、運転席の前方のインストルメントパネルに設けられて車両の各種状態を表示するメータの制御を行う。ECUは、Electronic Control Unitの略である。
【0013】
ECU1は、図1に示すように、CPU2、ROM3、RAM4、I/O5及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成されている。マイクロコンピュータの各種機能は、CPU2が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM3が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU2が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、ECU1を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0014】
ECU1は、さらに、フラッシュメモリ6およびフラッシュコントローラ7を備える。
フラッシュメモリ6は、データ書き換え可能な不揮発性メモリである。フラッシュメモリ6は、大セクタ格納部21と、小セクタ格納部22と、管理データ格納部23とを備える。
【0015】
大セクタ格納部21は、複数の大セクタBSを備える。大セクタBSは、予め設定された大セクタサイズ(例えば、数KByte)のデータを記憶可能な記憶領域であり、1つのセクタに複数のデータを記憶させることができる。大セクタBSは、セクタにデータを書き込む前に、セクタに記憶されているデータを消去する必要がないため、データを速く書き込むことができる。しかし、大セクタBSでは、1つのセクタに複数のデータが記憶されているために、セクタの中から所望のデータを特定するのに時間がかかる。
【0016】
複数の大セクタBSには、大セクタBSを識別するための識別番号(以下、大セクタID)が設定されている。具体的には、大セクタ格納部21がn個の大セクタBSを備えている場合には、複数の大セクタBSには1からnまでの整数(すなわち、1,2,3,・・・,n−1,n)が設定される。nは2以上の整数である。
【0017】
小セクタ格納部22は、複数の小セクタSSを備える。小セクタSSは、大セクタサイズより小さくなるように予め設定された小セクタサイズ(例えば、数10Byte)のデータを記憶可能な記憶領域であり、1つのセクタに1つのデータを記憶させることができる。小セクタSSは、セクタにデータを書き込む前に、セクタに記憶されているデータを消去する必要があるため、データの書き込みに時間がかかる。しかし、小セクタSSでは、1つのセクタに1つのデータが記憶されているために、所望のデータを速く特定することができる。
【0018】
複数の小セクタSSには、小セクタSSを識別するための識別番号(以下、小セクタID)が設定されている。具体的には、小セクタ格納部22がm個の小セクタSSを備えている場合には、複数の小セクタSSには1からmまでの整数(すなわち、1,2,3,・・・,m−1,m)が設定される。mは2以上の整数である。
【0019】
管理データ格納部23は、複数の大セクタBSおよび複数の小セクタSSからデータを読み込んだり、複数の大セクタBSおよび複数の小セクタSSにデータを書き込んだりするために必要な管理データを格納する。
【0020】
フラッシュコントローラ7は、CPU2から与えられる指令に基づいて、フラッシュメモリ6にデータを書き込む処理と、フラッシュメモリ6からデータを読み出す処理と、フラッシュメモリ6に記憶されているデータを消去する処理とを実行する。
【0021】
ROM3は、アプリケーションソフト11とフラッシュドライバソフト12とを記憶する。CPU2は、アプリケーションソフト11を実行することによりメータを制御する。CPU2は、フラッシュドライバソフト12を実行することによりフラッシュコントローラ7を制御する。
【0022】
管理データ格納部23は、図2に示すように、複数の小セクタIDのそれぞれに対応して設けられているセクタ指示領域に、大セクタを示す情報(以下、大セクタ指示情報)、および、小セクタを示す情報(以下、小セクタ指示情報)の何れか一方を格納する。図2は、「1」の小セクタIDには「小セクタ」、「2」の小セクタIDには「大セクタ」、「3」の小セクタIDには「大セクタ」、「4」の小セクタIDには「小セクタ」が対応付けられた状態の管理データ格納部23を示している。
【0023】
またCPU2は、読込処理、大セクタ更新処理およびIGオフ時処理を実行する。
まず、読込処理の手順を説明する。読込処理は、車両のイグニッションスイッチ(以下、IGスイッチ)がオフからオンに切り替わった直後に1回のみ実行される処理である。
【0024】
読込処理が実行されると、CPU2は、図3に示すように、まずS10にて、RAM4に設けられる小セクタ指示値Csを1に設定する。そしてS20にて、小セクタ指示値Csに等しい小セクタIDが設定されている小セクタSSから、データを読み込む。
【0025】
次にS30にて、S20で読み込んだデータをRAM4に転送する。すなわち、S20で読み込んだデータをRAM4に書き込む。そしてS40にて、小セクタ指示値Csが予め設定されている対象データ数k以上であるか否かを判断する。対象データとは、大セクタBSに書き込む必要があるデータである。対象データとしては、例えば、メータに表示される走行距離数が挙げられる。なお、複数の対象データはそれぞれ、対象データが書き込まれる小セクタSSが予め設定されている。すなわち、複数の対象データはそれぞれ、書き込まれる小セクタSSを示す小セクタIDが設定されている。そして、対象データ数kは、対象データの数である。対象データ数kは、対象データの数に応じて、小セクタSSの数(すなわち、m)以下となるように設定されている。
【0026】
ここで、小セクタ指示値Csが対象データ数k未満である場合には、S50にて、小セクタ指示値Csをインクリメント(すなわち、1加算)し、S20に移行する。一方、小セクタ指示値Csが対象データ数k以上である場合には、読込処理を終了する。
【0027】
次に、大セクタ更新処理の手順を説明する。大セクタ更新処理は、ECU1の動作中において繰り返し実行される処理である。
大セクタ更新処理が実行されると、CPU2は、図4に示すように、まずS110にて、RAM4に記憶されている対象データが更新されたか否かを判断する。ここで、対象データが更新されていない場合には、大セクタ更新処理を一旦終了する。一方、対象データが更新された場合には、S120にて、書き込み対象に設定されている大セクタBS(以下、書込対象大セクタ)に、データを追記可能であるか否かを判断する。すなわち、S120にて、対象データを書き込み可能な記憶領域(すなわち、空き記憶領域)が残っているか否かを判断する。
【0028】
ここで、空き記憶領域が残っている場合には、S140に移行する。一方、空き記憶領域が残っていない場合には、S130にて、データが書き込まれていない大セクタBSを新たに書込対象大セクタに設定して、S140に移行する。具体的には、例えば、大セクタIDが「2」である大セクタBSが書込対象大セクタに設定されている状態で、この書込対象大セクタに対象データを追記することができなくなった場合には、大セクタIDが「3」である大セクタBSを新たに書込対象大セクタに設定する。
【0029】
そしてS140に移行すると、対象データを書込対象大セクタに書き込む。具体的には、対象データに設定された小セクタIDと、対象データの値とを対応付けて書込対象大セクタに書き込む。
【0030】
そしてS150にて、管理データを更新して、大セクタ更新処理を一旦終了する。具体的には、管理データ格納部23において、対象データに設定された小セクタIDと同じ小セクタIDに対応して設けられているセクタ指示領域に、大セクタ指示情報を格納する。
【0031】
例えば、図5に示すように、書込対象大セクタに書き込まれた対象データに設定されている小セクタIDが「2」と「3」であるとする。この場合には、管理データ格納部23において、「1」、「2」、「3」および「4」の小セクタIDに対応して設けられているセクタ指示領域にそれぞれ、「小セクタ」、「大セクタ」、「大セクタ」および「小セクタ」が格納される。
【0032】
図5は、書き込まれた時刻が早い順に、小セクタIDが「2」である対象データDo1と、小セクタIDが「2」である対象データDo2と、小セクタIDが「3」である対象データDo3と、小セクタIDが「2」である対象データDo4とが書込対象大セクタBS1に書き込まれている状態を示している。
【0033】
次に、IGオフ時処理の手順を説明する。読込処理は、車両のIGスイッチがオンからにオフ切り替わった直後に1回のみ実行される処理である。
IGオフ時処理が実行されると、CPU2は、図6に示すように、まずS210にて、RAM4に設けられる小セクタ指示値Csを1に設定する。そしてS220にて、小セクタ指示値Csに等しい小セクタIDに対応している対象データが大セクタBSに書き込まれているか否かを判断する。具体的には、管理データ格納部23において、小セクタ指示値Csに等しい小セクタIDに対応して設けられているセクタ指示領域に大セクタ指示情報が格納されている場合に、対象データが大セクタBSに書き込まれていると判断する。一方、小セクタ指示値Csに等しい小セクタIDに対応して設けられているセクタ指示領域に小セクタ指示情報が格納されている場合に、対象データが大セクタBSに書き込まれていないと判断する。
【0034】
ここで、対象データが大セクタBSに書き込まれていない場合には、S230にで、小セクタ指示値Csをインクリメントし、S220に移行する。一方、対象データが大セクタBSに書き込まれている場合には、S240にて、小セクタ指示値Csに等しい小セクタIDが設定されている小セクタSSに記憶されているデータを消去した後に、この小セクタSSに、RAM4に記憶されているデータの中から、小セクタ指示値Csに等しい小セクタIDが設定されている対象データを選択して書き込む。
【0035】
さらにS250にて、管理データを更新する。具体的には、管理データ格納部23において、対象データに設定された小セクタIDと同じ小セクタIDに対応して設けられているセクタ指示領域に、小セクタ指示情報を格納する。
【0036】
そしてS260にて、小セクタ指示値Csが対象データ数k以上であるか否かを判断する。ここで、小セクタ指示値Csが対象データ数k未満である場合には、S230に移行する。一方、小セクタ指示値Csが対象データ数k以上である場合には、IGオフ時処理を終了する。
【0037】
例えば、図5に示すように、書込対象大セクタに書き込まれた対象データに設定されている小セクタIDが「2」と「3」である場合は、管理データ格納部23において、「1」、「2」、「3」および「4」の小セクタIDに対応して設けられているセクタ指示領域にそれぞれ、「小セクタ」、「大セクタ」、「大セクタ」および「小セクタ」が格納される。このため、小セクタIDが「2」である小セクタSS2と、小セクタIDが「3」である小セクタSS3とに、対象データが書き込まれる。一方、小セクタIDが「1」である小セクタSS1と、小セクタIDが「4」である小セクタSS4とには、データの上書きは行われない。
【0038】
例えば、図7に示すように、書込対象大セクタBS2に書き込まれた対象データに設定されている小セクタIDが「1」、「2」、「3」および「4」である場合は、小セクタSS1,SS2,SS3,SS4に対象データが書き込まれる。
【0039】
このように構成されたECU1は、車両に搭載され、フラッシュメモリ6を備える。フラッシュメモリ6は、記憶内容の消去および書き込みが可能であり、予め設定された小セクタサイズの記憶容量を有してデータを記憶する複数の小セクタSSと、小セクタサイズより大きくなるように設定された大セクタサイズの記憶容量を有してデータを記憶する複数の大セクタBSとを備える。
【0040】
そしてECU1は、車両のIGスイッチがオンである場合に、IGスイッチがオンであるときに更新される可能性がある複数の対象データを大セクタBSに記憶する。またECU1は、車両のIGスイッチがオフである場合に、複数の対象データを小セクタSSに記憶する。
【0041】
このようにECU1は、車両のIGスイッチがオンである場合において、対象データを、記憶容量が大きい大セクタBSに記憶する。これにより、ECU1は、データを書き込む前にデータを消去する頻度を低減することができ、フラッシュメモリ6のデータ書き込み性能を向上させることができる。また、ECU1は、車両のIGスイッチがオフである場合において、対象データを、記憶容量が小さい小セクタSSに記憶する。これにより、ECU1は、車両のIGスイッチがオフの状態からオンの状態へ遷移する場合において、小セクタSSに記憶された対象データを読み込むときに、小セクタSSの中から所望の対象データを特定するのに要する時間を短縮することができ、データ読み込み性能を向上させることができる。
【0042】
またECU1は、大セクタBSにおいてデータが書き込まれていない空き記憶領域に対象データを記憶する。これにより、ECU1は、データを書き込む前にデータを消去することが不要となり、データ書き込み性能を更に向上させることができる。
【0043】
またECU1は、複数の小セクタSSのそれぞれに対して1つの対象データを記憶し、小セクタSSに記憶されているデータを消去した後に、小セクタSSに対象データを記憶する。これにより、ECU1は、小セクタSSに記憶されている複数のデータの中から所望の対象データを特定する処理が不要となり、データ読み込み性能を更に向上させることができる。
【0044】
以上説明した実施形態において、ECU1はデータ記憶装置に相当し、フラッシュメモリ6は不揮発性メモリに相当し、小セクタSSは第1セクタに相当し、大セクタBSは第2セクタに相当する。
【0045】
また、S110〜S150は使用中記憶部としての処理に相当し、S210〜S260は不使用中記憶部としての処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
【0046】
[変形例1]
例えば上記実施形態では、車両のIGスイッチがオンである状態が車両の使用中であり、車両のIGスイッチがオフである状態が車両の不使用中である形態を示した。しかし、車両が走行中である状態が車両の使用中であり、車両が停止中である状態が車両の不使用中であるようにしてもよい。具体的には、例えば、車速センサの検出結果が0km/hである場合には車両が停止中であり、車速センサの検出結果が0km/hを超えている場合には車両が走行中であると判断するようにしてもよい。
【0047】
また、上記実施形態における1つの構成要素が有する機能を複数の構成要素に分担させたり、複数の構成要素が有する機能を1つの構成要素に発揮させたりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加、置換等してもよい。なお、特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【0048】
上述したECU1の他、当該ECU1を構成要素とするシステム、当該ECU1としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、データ記憶方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0049】
1…ECU、2…CPU、6…フラッシュメモリ、BS…大セクタ、SS…小セクタ
図1
図2
図3
図4
図5
図6
図7