(57)【要約】【課題】更新されないデータの破損及び信頼性低下等が発生することを防止し得るデータ記憶装置、車載データ記憶装置及びデータ記憶方法を提供する。【解決手段】データ記憶装置１は、フラッシュメモリ２０の複数の記憶ブロックのうち一又は複数の記憶ブロックを消去禁止ブロックとして扱い、消去禁止ブロックに対してデータの消去処理を行わない。データ記憶装置１は、その他の複数の記憶ブロックを消去許可ブロックとして扱う。データ記憶装置１は、消去許可ブロックに対してデータの書き込みを行い、書き込みにより消去許可ブロックがデータで満たされた場合、この消去許可ブロックから有効なデータを読み出して次の消去許可ブロックへコピーし、書き込み対象の記憶ブロックを次へ切り替えるブロック更新処理を行う。更新処理を終了した後、処理部１０は、データで満たされた消去許可ブロックに対して消去処理を行う。【選択図】図１
2015127873.tif 000002
【特許請求の範囲】
【請求項１】
データが一括して消去される記憶ブロックを複数有する不揮発性メモリを備えるデータ記憶装置において、
前記記憶ブロックに対してデータを書き込む処理を行う書込手段と、
該書込手段によるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写手段と、
該データ複写手段による処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去手段と
を備え、
前記不揮発性メモリが有する複数の記憶ブロックには、
前記書込手段、前記データ複写手段及び前記消去手段の処理対象とならないデータ消去禁止ブロックと、
前記書込手段、前記データ複写手段及び前記消去手段の処理対象となる複数のデータ消去許可ブロックと
を含むこと
を特徴とするデータ記憶装置。
【請求項２】
前記データ消去禁止ブロックがデータで満たされるまで、前記データ消去禁止ブロックに対してデータを書き込む処理を行う第２の書込手段を備えること
を特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記書込手段は、一のデータを前記データ消去許可ブロックに対して書き込む場合に、前記一のデータと該一のデータの複写データとを書き込むようにしてあり、
前記不揮発性メモリに書き込まれたデータの誤りを検出する検出手段と、
該検出手段の検出結果に応じて、前記一のデータ又は前記複写データを読み出す読出手段と
を備えること
を特徴とする請求項１又は請求項２に記載のデータ記憶装置。
【請求項４】
前記書込手段は、前記一のデータ及び前記複写データを、それぞれ異なるデータ消去禁止ブロックに書き込むようにしてあること
を特徴とする請求項３に記載のデータ記憶装置。
【請求項５】
車両に搭載され、データが一括して消去される記憶ブロックを複数有する不揮発性メモリを備える車載データ記憶装置において、
前記記憶ブロックに対してデータを書き込む処理を行う書込手段と、
該書込手段によるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写手段と、
該データ複写手段による処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去手段と
を備え、
前記不揮発性メモリが有する複数の記憶ブロックには、
前記書込手段、前記データ複写手段及び前記消去手段の処理対象とならないデータ消去禁止ブロックと、
前記書込手段、前記データ複写手段及び前記消去手段の処理対象となる複数のデータ消去許可ブロックと
を含むこと
を特徴とする車載データ記憶装置。
【請求項６】
前記データ消去禁止ブロックがデータで満たされるまで、前記データ消去禁止ブロックに対してデータを書き込む処理を行う第２の書込手段を備えること
を特徴とする請求項５に記載の車載データ記憶装置。
【請求項７】
前記データ消去禁止ブロックには、搭載される車両の仕様に関する情報が記憶してあり、
前記書込手段は、前記車両に搭載された電子機器に関し、前記車両の使用者が変更可能な設定情報を書き込み、
前記第２の書込手段は、セキュリティに関する情報を書き込むようにしてあること
を特徴とする請求項６に記載の車載データ記憶装置。
【請求項８】
データが一括して消去される記憶ブロックを複数有する不揮発性メモリにデータを記憶するデータ記憶方法において、
前記記憶ブロックに対してデータを書き込む処理を行う書込ステップと、
該書込ステップによるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写ステップと、
該データ複写ステップによる処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去ステップと
を含み、
前記不揮発性メモリが有する複数の記憶ブロックには、
前記書込ステップ、前記データ複写ステップ及び前記消去ステップの処理対象としないデータ消去禁止ブロックと、
前記書込ステップ、前記データ複写ステップ及び前記消去ステップの処理対象とする複数のデータ消去許可ブロックと
を含むこと
を特徴とするデータ記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック毎にデータが一括消去されるフラッシュメモリなどの不揮発性メモリにデータを記憶するデータ記憶装置、車載データ記憶装置及びデータ記憶方法に関する。
【背景技術】
【０００２】
従来、例えば車両に搭載された電子機器などにおいて、データの記憶にフラッシュメモリが広く利用されている。フラッシュメモリは、不揮発性のメモリであり、データの記憶容量が多いという利点がある。しかしながらフラッシュメモリは、データの消去を所定サイズのブロック毎に行う必要があること、及び、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などの不揮発性メモリと比較して書換可能回数が少ないなどの欠点がある。
【０００３】
特許文献１においては、電源の瞬断が発生した場合であっても、データの消失又は破損等が生じることがないデータ記憶装置が提案されている。このデータ記憶装置は、フラッシュメモリの複数の記憶ブロックに対して順次的にデータを書き込み、データの書き込み先を変更する際には有効なデータを次のブロックへコピーするブロック更新処理を行う。最初に書き込みを行う第１記憶ブロックには、記憶ブロック毎に更新開始ビット、更新終了ビット及び消去終了ビットの３つの情報を記憶しておく。データ記憶装置は、ブロック更新処理の開始前に更新開始ビットを’０’に設定し、ブロック更新処理の終了後に更新終了ビットを’０’に設定する。またデータ記憶装置は、更新終了ビットが’０’に設定された記憶ブロックの消去処理を行い、消去処理の終了後に消去ビットを’０’に設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１ー１７５３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリはデータの消去をブロック毎に行う必要がある。このためデータの書き込みによりブロックが満たされた場合、必要なデータをこのブロックから他のブロックに退避させた後、データの消去を行わなければならない。しかし、フラッシュメモリに対するデータの書き込みは稀に失敗することがあり、失敗によりデータの破損が発生する虞がある。フラッシュメモリに記憶されるデータには、例えば装置の識別情報又は設定値等が工場出荷前などに書き込まれた後、その値が更新されることのないものがある。このような更新されないデータについてもブロックに対する消去処理を行う際には他のブロックへ退避させる必要があるが、他のブロックへの書き込みの際にデータが破損した場合には、このデータを復旧する術がないという問題があった。
【０００６】
またフラッシュメモリは書換可能回数が少ないことから、データの書き込み、退避及び消去を繰り返し行って書換回数が上限に達する又は上限を超えた場合、データ書き込みが失敗する可能性が高まる。このため、上記のような更新されないデータであっても、データの退避を繰り返し行うことによって、データの信頼性が低下するという問題があった。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、更新されない（又は更新の頻度が低い）データについて、ブロック毎のデータ消去に伴ってデータの破損及び信頼性低下等が発生することを防止し得るデータ記憶装置、車載データ記憶装置及びデータ記憶方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るデータ記憶装置は、データが一括して消去される記憶ブロックを複数有する不揮発性メモリを備えるデータ記憶装置において、前記記憶ブロックに対してデータを書き込む処理を行う書込手段と、該書込手段によるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写手段と、該データ複写手段による処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去手段とを備え、前記不揮発性メモリが有する複数の記憶ブロックには、前記書込手段、前記データ複写手段及び前記消去手段の処理対象とならないデータ消去禁止ブロックと、前記書込手段、前記データ複写手段及び前記消去手段の処理対象となる複数のデータ消去許可ブロックとを含むことを特徴とする。
【０００９】
また、本発明に係るデータ記憶装置は、前記データ消去禁止ブロックがデータで満たされるまで、前記データ消去禁止ブロックに対してデータを書き込む処理を行う第２の書込手段を備えることを特徴とする。
【００１０】
また、本発明に係るデータ記憶装置は、前記書込手段が、一のデータを前記データ消去許可ブロックに対して書き込む場合に、前記一のデータと該一のデータの複写データとを書き込むようにしてあり、前記不揮発性メモリに書き込まれたデータの誤りを検出する検出手段と、該検出手段の検出結果に応じて、前記一のデータ又は前記複写データを読み出す読出手段とを備えることを特徴とする。
【００１１】
また、本発明に係るデータ記憶装置は、前記書込手段が、前記一のデータ及び前記複写データを、それぞれ異なるデータ消去禁止ブロックに書き込むようにしてあることを特徴とする。
【００１２】
また、本発明に係る車載データ記憶装置は、車両に搭載され、データが一括して消去される記憶ブロックを複数有する不揮発性メモリを備える車載データ記憶装置において、前記記憶ブロックに対してデータを書き込む処理を行う書込手段と、該書込手段によるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写手段と、該データ複写手段による処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去手段とを備え、前記不揮発性メモリが有する複数の記憶ブロックには、前記書込手段、前記データ複写手段及び前記消去手段の処理対象とならないデータ消去禁止ブロックと、前記書込手段、前記データ複写手段及び前記消去手段の処理対象となる複数のデータ消去許可ブロックとを含むことを特徴とする。
【００１３】
また、本発明に係る車載データ記憶装置は、前記データ消去禁止ブロックがデータで満たされるまで、前記データ消去禁止ブロックに対してデータを書き込む処理を行う第２の書込手段を備えることを特徴とする。
【００１４】
また、本発明に係る車載データ記憶装置は、前記データ消去禁止ブロックには、搭載される車両の仕様に関する情報が記憶してあり、前記書込手段は、前記車両に搭載された電子機器に関し、前記車両の使用者が変更可能な設定情報を書き込み、前記第２の書込手段は、セキュリティに関する情報を書き込むようにしてあることを特徴とする。
【００１５】
また、本発明に係るデータ記憶方法は、データが一括して消去される記憶ブロックを複数有する不揮発性メモリにデータを記憶するデータ記憶方法において、前記記憶ブロックに対してデータを書き込む処理を行う書込ステップと、該書込ステップによるデータの書き込みにより一の記憶ブロックがデータで満たされた場合に、前記一の記憶ブロックから一又は複数のデータを読み出して他の記憶ブロックへ書き込むデータ複写ステップと、該データ複写ステップによる処理の終了後に、前記一の記憶ブロックのデータを消去する処理を行う消去ステップとを含み、前記不揮発性メモリが有する複数の記憶ブロックには、前記書込ステップ、前記データ複写ステップ及び前記消去ステップの処理対象としないデータ消去禁止ブロックと、前記書込ステップ、前記データ複写ステップ及び前記消去ステップの処理対象とする複数のデータ消去許可ブロックとを含むことを特徴とする。
【００１６】
本発明においては、データが一括消去される記憶ブロックを複数有するフラッシュメモリなどの不揮発性メモリについて、複数の記憶ブロックのうち一又は複数の記憶ブロックをデータ消去禁止ブロックとして扱う。データ消去禁止ブロックに対しては、データの消去処理は行われない（データの書き込みは許可してもよい）。このため、値が更新されることのないデータをデータ消去禁止ブロックに記憶しておくことができる。
またその他の複数の記憶ブロックは、データ消去許可ブロックとして扱う。データ消去許可ブロックに対してはデータの書き込みを行い、書き込みによりデータ消去許可ブロックがデータで満たされた場合、このデータ消去許可ブロックから必要なデータを読み出して他のデータ消去許可ブロックへ書き込むことで、データ書き込み対象とするデータ消去許可ブロックを更新する処理を行う。更新処理が終了した後、データで満たされたデータ消去許可ブロックに対して消去処理を行う。これにより複数のデータ消去許可ブロックを順次的に利用したデータの書き込みを行うことができる。
よって、値が更新されることのないデータをデータ消去禁止ブロックに記憶し、値が更新されるデータをデータ消去許可ブロックに記憶しておくことができる。値が更新されることのないデータは、他の記憶ブロックへの退避などがなされないため、データが消失することがない。またデータ消去禁止ブロックは、データの消去が行われないため、データの書換回数は増加せず、このブロックに記憶されたデータの信頼性が低下することがない。
【００１７】
また、本発明においては、データ消去禁止ブロックに対するデータの書き込みは許可する。更新されることのないデータをデータ消去禁止ブロックに記憶した場合に、このデータ消去禁止ブロックに空き領域が存在すれば、これを有効活用することが可能となる。データ消去禁止ブロックは、データ消去が禁止されているため、このブロックがデータで満たされるまではデータの書き込みを行うことができる。例えば、値の更新頻度が低いデータを書き込むことができる。
【００１８】
データ記憶装置が車載のものである場合、データ消去禁止ブロックには、値が更新されないデータとして、例えば車両の仕様（仕向けなど）に関する情報を記憶することができる。その他に、例えば車両の識別情報、データ記憶装置の識別情報又は製造年月日等の情報を記憶してもよい。
またデータ消去禁止ブロックの空き領域には、更新頻度が低いデータとして、例えばセキュリティに関する情報（パスワードなど）を記憶することができる。
またデータ消去許可ブロックには、車両の使用者が任意に変更可能な車載機器の設定情報などを記憶することができる。
【００１９】
また、本発明においては、データの書き込みを行う場合に、データ消去許可ブロックへデータを書き込むと共に、このデータの複写データを書き込む。データを読み出す場合には、書き込んだ両データの誤り検出を行って、誤りが生じていないデータを読み出せばよい。これにより、記憶したデータの信頼性を向上することができる。なお２つのデータの書き込みは、それぞれ異なるデータ消去許可ブロックに対して行う構成としてよい。これによりブロック単位での不具合が発生した場合であっても、データの破損を防止できる。
【発明の効果】
【００２０】
本発明による場合は、不揮発性メモリにデータ消去禁止ブロックを設けることにより、更新されない又は更新の頻度が低いデータを不揮発性メモリに記憶しておくことができ、これによりデータの破損及び信頼性低下等を防止することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るデータ記憶装置の構成を示すブロック図である。
【図２】データ記憶装置によるフラッシュメモリのデータ用記憶領域の利用方法を説明するための模式図である。
【図３】データ記憶装置によるフラッシュメモリのデータ用記憶領域の利用方法を説明するための模式図である。
【図４】データ記憶装置によるフラッシュメモリのデータ用記憶領域の利用方法を説明するための模式図である。
【図５】本実施の形態に係るデータ記憶装置が行うデータ読出処理の手順を示すフローチャートである。
【図６】本実施の形態に係るデータ記憶装置が行うデータ書込処理の手順を示すフローチャートである。
【図７】本実施の形態に係るデータ記憶装置が行うブロック更新処理の手順を示すフローチャートである。
【図８】変形例１に係るデータ記憶装置が行うデータ書込処理の手順を示すフローチャートである。
【図９】変形例２に係るデータ記憶装置が行うデータ書込処理を説明するための模式図である。
【図１０】変形例２に係るデータ記憶装置が行うデータ読出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、本実施の形態に係るデータ記憶装置の構成を示すブロック図である。本実施の形態に係るデータ記憶装置１は、車両１００に搭載され、車両１００に関する種々のデータを記憶する。データ記憶装置１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）又はマイコン（マイクロコンピュータ）等として提供され得る装置であり、例えば車両１００に搭載されるＥＣＵ（Electronic Control Unit）の演算処理及び記憶処理等を担う。
【００２３】
データ記憶装置１は、処理部１０、ＲＡＭ（Random Access Memory）１１及びフラッシュメモリ２０等を備えて構成されている。処理部１０は、フラッシュメモリ２０に予め記憶されたプログラムを読み出して実行することにより、種々の演算処理及び制御処理等を行う。ＲＡＭ１１は、ＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のメモリ素子を用いて構成され、処理部１０が行う演算処理などの処理過程で生じた種々のデータを一時的に記憶する。
【００２４】
フラッシュメモリ２０は、不揮発性のメモリ素子であり、所定サイズの記憶ブロック毎のデータの消去を行うことができる。フラッシュメモリ２０は、メモリ管理部２１及び記憶部３０等を備えている。メモリ管理部２１は、処理部１０から与えられるデータの読出要求、書込要求及び消去要求等に応じて、フラッシュメモリ２０内に設けられたチャージポンプ及びセンスアンプ等の種々のアナログ回路を動作させることにより、記憶部３０に対するデータの読み出し、書き込み及び消去等を行う。
【００２５】
記憶部３０は、数Ｍバイト〜数百Ｍバイト程度、又はそれ以上の記憶容量を有し、電力供給が断たれた場合であってもデータを記憶しておくことができる。フラッシュメモリ２０は、記憶部３０に対するデータの書き込みをアドレス指定により８ビット又は１６ビット等の単位で行うことができるが、データの消去は数Ｋバイト〜数十Ｋバイト程度の記憶ブロック単位で行う必要がある。本実施の形態に係るデータ記憶装置１は、フラッシュメモリ２０の記憶部３０が有する複数の記憶ブロックのうち、所定の複数の記憶ブロックを、処理部１０が実行するプログラムを予め記憶するプログラム用記憶領域３１として用いる。
【００２６】
プログラム用記憶領域３１は、データ記憶装置１又はこれを搭載したＥＣＵ等の工場出荷前などにおいてプログラムの書き込みを行う特殊な場合を除き、データの読出専用の記憶領域として扱われる。処理部１０は、プログラム用記憶領域３１に対する読み出しの処理を行うが、書き込み及び消去の処理は行わない。又は、フラッシュメモリ２０のメモリ管理部２１が、処理部１０からプログラム用記憶領域３１に対するデータの書込要求及び消去要求を受け付けず、データの読出要求のみを受け付ける構成としてもよい。これにより、プログラム用記憶領域３１に予め記憶されたプログラムが破壊されることを防止できる。
【００２７】
またデータ記憶装置１は、記憶部３０の残りの複数の記憶ブロックを、処理部１０が演算処理などに用いる種々のデータを記憶するデータ用記憶領域３２として用いる。更に本実施の形態に係るデータ記憶装置１は、データ用記憶領域３２に含まれる複数の記憶ブロックのうち、一又は複数（本実施の形態では一つとする）の記憶ブロックを消去禁止ブロックとし、残りの複数の記憶ブロックを消去許可ブロックとする。
【００２８】
消去禁止ブロックは、消去処理の対象とすることが禁止されたブロックであり、データの読み出しを行うことができる。消去禁止ブロックに対するデータの書き込みは、禁止されていてもよく、許可されていてもよい。本実施の形態においては、消去禁止ブロックに対するデータ書き込みは許可されているものとする。処理部１０は、フラッシュメモリ２０の消去禁止ブロックに対するデータの読み出し及び書き込みの処理は行うが、消去処理は行わない。又は、フラッシュメモリ２０のメモリ管理部２１が、処理部１０から消去禁止ブロックに対する消去要求を受け付けず、データの読み出し及び書き込みのみを受け付ける構成としてもよい。これにより、消去禁止ブロックに記憶されたデータが書き換えられることを防止できる。また消去禁止ブロックがデータで満たされるまでは、データの書き込みを行うことができるため、消去禁止ブロックを有効活用することができる。
【００２９】
消去許可ブロックは、データの読み出し、書き込み及び消去のいずれもが可能な記憶ブロックである。本実施の形態においてフラッシュメモリ２０にはＮ個の消去許可ブロックが設けられているものとし、これらを第１消去許可ブロック、第２消去許可ブロック、…、第Ｎ消去許可ブロックと呼ぶ。データ記憶装置１の処理部１０は、第１消去許可ブロック→第２消去許可ブロック→…→第Ｎ消去許可ブロック→第１消去許可ブロックのように、データ書き込みの対象とする記憶ブロックを順に切り替えながら、データの書き込みを行う。例えば処理部１０は、第１消去許可ブロックに対してデータを書き込んでいき、第１消去許可ブロックがデータで満たされてそれ以上の書き込みが不可能な状態となった場合、データの書き込み先を第２消去許可ブロックへ切り替える。このときに処理部１０は、第１消去許可ブロックに記憶されているデータのうち、有効なデータを読み出して第２消去許可ブロックへコピーするブロック更新処理を行った後、第２消去許可ブロックに対する新たなデータの書き込みを開始する。また処理部１０は、ブロック更新処理の終了後、第１消去許可ブロックの消去処理を行う。このように複数の消去許可ブロックを巡回してデータの書き込みを行う構成とすることにより、各消去許可ブロックのデータ書換回数を平均化することができる。
【００３０】
このようなデータ書き込みを実現するため、処理部１０は、いずれのデータが有効であるかなどを判断するための情報（管理情報）を、例えば消去許可ブロックの先頭若しくは末尾等の所定箇所に、又は、各データのヘッダなどに書き込んで管理している。例えばデータ記憶装置１が車両１００に搭載された電子機器の設定値をフラッシュメモリ２０に記憶しておく構成である場合、処理部１０は、フラッシュメモリ２０から設定値を読み出して電子機器へ与えると共に、設定が変更された場合には更新された設定値をフラッシュメモリ２０に書き込む。このときに処理部１０は、フラッシュメモリ２０の消去許可ブロックに既に書き込まれている以前の設定値を無効化すると共に、消去ブロックの空き領域に更新された設定値を書き込む。消去許可ブロックに空き領域が存在しない場合、処理部１０は、管理情報に基づいて有効なデータを次の消去許可ブロックへコピーするブロック更新処理を行った後、新たな消去許可ブロックにデータを書き込む。なお、以前のデータを無効化する処理は必ずしも行う必要はなく、処理部１０は、例えばデータの記憶位置（アドレス）などに基づいて最新のデータがいずれであるかを判断してもよい。
【００３１】
図２〜図４は、データ記憶装置１によるフラッシュメモリ２０のデータ用記憶領域３２の利用方法を説明するための模式図である。本図においては、フラッシュメモリ２０のデータ用記憶領域３２について、消去禁止ブロック及び各消去許可ブロックにそれぞれ１６個のデータを記憶することができる構成であるものとし、各ブロックを４×４のマトリクスで示してある。
【００３２】
例えば図２に示すように、車両１００又はデータ記憶装置１の工場出荷時などの初期状態において、フラッシュメモリ２０の消去禁止ブロックには、データＡ及びＢの２つのデータが記憶されており、残りの部分は空き領域としてある。消去禁止ブロックはデータの消去処理がなされないため、図２〜図４に示すように、データの書き込み処理が繰り返し行われた場合であっても、消去禁止ブロックに記憶されたデータＡ及びＢは変化することはない。
【００３３】
また本例においてデータ記憶装置１の処理部１０は、フラッシュメモリ２０に車両１００に搭載された電子機器について３つの設定値ａ、ｂ、ｃを記憶する。図２に示すように、初期状態においてフラッシュメモリ２０の第１消去許可ブロックには設定値ａ＿１、ｂ＿１、ｃ＿１が記憶されると共に、他の消去許可ブロックにはデータは記憶されていない。その後、例えば設定値ｂが変更された場合、処理部１０は、新たな設定値ｂ＿２を第１消去許可ブロックに書き込むと共に、既に書き込まれている設定値ｂ＿１を無効とする。処理部１０は、設定値ａ、ｂ、ｃが変更される都度、新たな設定値の書き込みを行う。このようにして、例えば更に設定値ａ＿２、ｂ＿３、ｃ＿２、ｃ＿３、ｂ＿４、ａ＿３、ｂ＿５、ｂ＿６が第１消去許可ブロックに書き込まれた場合、設定値ｃ＿３、ａ＿３、ｂ＿６の３つが有効な設定値（図中、ハッチングを付して示す）となり、その他の設定値は無効な設定値となる。
【００３４】
例えば図３に示すように、設定値ｃ＿４、ｂ＿７、ａ＿４、ｂ＿８が更に第１消去許可ブロックに書き込まれた場合、設定値ｃ＿４、ａ＿４、ｂ＿８が有効となると共に、第１消去許可ブロックはデータで満たされて、それ以上のデータの書き込みを行うことが不可能な状態となる。この状態で、例えば設定値ａが変更されて、新たな設定値ａ＿５の書き込みを行う場合、処理部１０は、データ書き込みを行う消去許可ブロックの更新処理を行う。更新処理において、処理部１０は、第１消去許可ブロックから有効なデータを読み出して第２消去許可ブロックにコピーする。なお図３に示す例では、第１消去許可ブロックの有効なデータは設定値ｃ＿４、ａ＿４、ｂ＿８であるが、設定値ａについては新たな設定値ａ＿５を書き込むため、処理部１０は、設定値ｃ＿４、ｂ＿８を第２消去許可ブロックにコピーした後、新たな設定値ａ＿５を第２消去許可ブロックに書き込んでいる。
【００３５】
ブロックの更新処理を終了して新たな設定値ａ＿５の書き込みを行った後、図４に示すように、処理部１０は第１消去許可ブロックのデータを消去する処理を行う。以後、処理部１０は、第２消去許可ブロックがデータで満たされるまで、設定値が変更される都度、新たな設定値を第２消去許可ブロックへ書き込む。処理部１０は、第２消去許可ブロック、第３消去許可ブロック、…、第Ｎ消去許可ブロック、第１消去許可ブロックの順に、データの書き込みを行う消去許可ブロックを切り替える。
【００３６】
なお、消去禁止ブロックには、例えばデータ記憶装置１の製造番号若しくは製造年月日、車両１００の仕様情報（仕向け、グレードなど）若しくは識別情報等のように、以降の処理において更新する必要がない情報を、データ記憶装置１又は車両１００の製造工程などにおいて予め記憶しておくことができる。消去禁止ブロックは、データの消去が禁止された記憶ブロックであり、記憶されたデータが書き換えられることがないため、データの消失などが発生することがない。また消去許可ブロックには、例えば車両１００に搭載された電子機器について、車両１００の使用者が任意に変更可能な設定値など、更新頻度が高いデータを記憶することができる。
【００３７】
本実施の形態においては、消去禁止ブロックに車両１００の仕様情報又は識別情報等を記憶し、消去許可ブロックに電子機器の設定値を記憶する構成としたが、各ブロックに記憶する情報は一例であって、これに限るものではない。各ブロックに記憶する情報は適宜に決定することができ、消去禁止ブロックには更新されない情報を記憶し、消去許可ブロックには更新される情報を記憶すればよい。
【００３８】
図５は、本実施の形態に係るデータ記憶装置１が行うデータ読出処理の手順を示すフローチャートである。データ記憶装置１の処理部１０は、読み出すべきデータが消去禁止ブロック又は消去許可ブロックのいずれに記憶されているかを判定する記憶ブロック判定処理を行う（ステップＳ１）。例えばデータ記憶装置１は、データの種別と記憶先のブロックとの対応情報を予め記憶しておき、この対応情報に基づいて、読み出すべきデータがいずれのブロックに記憶されているかを判定する構成とすることができる。記憶ブロック判定処理の結果から、処理部１０は、読み出すべきデータの記憶先が消去禁止ブロックであるか否かを判断する（ステップＳ２）。データの記憶先が消去禁止ブロックである場合（Ｓ２：ＹＥＳ）、処理部１０は、フラッシュメモリ２０の消去禁止ブロックからデータを読み出し（ステップＳ３）、データ読出処理を終了する。
【００３９】
データの記憶先が消去禁止ブロックではなく消去許可ブロックである場合（Ｓ２：ＮＯ）、処理部１０は、この時点にてデータ書き込みの対象としている消去許可ブロックを選択する（ステップＳ４）。処理部１０は、例えばデータ記憶装置１の電源投入後の起動時などにおいて、各消去許可ブロックにデータが記憶されているか否か、及び、データが記憶されている消去許可ブロックの管理情報等を参照して書き込み対象の消去許可ブロックがいずれであるかを判断し、ＲＡＭ１１に記憶しておく。ブロック更新処理により書き込み対象の消去許可ブロックを切り替えた場合、処理部１０は、ＲＡＭ１１に記憶した書き込み対象の消去許可ブロックに関する情報を更新する。ステップＳ４において処理部１０は、ＲＡＭ１１に記憶された情報を参照することによって、書き込み対象の消去許可ブロックを選択することができる。
【００４０】
次いで処理部１０は、選択した消去許可ブロックに記憶されている管理情報を読み出す（ステップＳ５）。処理部１０は、ステップＳ４にて選択した消去許可ブロックから、ステップＳ５にて読み出した管理情報に基づいて有効なデータを読み出し（ステップＳ６）、データ読出処理を終了する。
【００４１】
図６は、本実施の形態に係るデータ記憶装置１が行うデータ書込処理の手順を示すフローチャートである。データ記憶装置１の処理部１０は、この時点にてデータ書き込みの対象としている消去許可ブロックを選択する（ステップＳ１１）。処理部１０は、選択した消去許可ブロックがデータで満たされているか否かに応じて、この消去許可ブロックに対するデータの書き込みが可能であるか否かを判定する（ステップＳ１２）。データの書き込みが可能でない場合（Ｓ１２：ＮＯ）、処理部１０は、書き込み対象をこの消去許可ブロックから次の消去許可ブロックへ更新するブロック更新処理を行う（ステップＳ１３）。ブロック更新処理の終了後、処理部１０は、新たな消去許可ブロックにデータを書き込んで（ステップＳ１４）、データ書込処理を終了する。
【００４２】
データの書き込みが可能である場合（Ｓ１２：ＹＥＳ）、処理部１０は、ステップＳ１１にて選択した消去許可ブロックの空き領域に対してデータの書き込みを行い（ステップＳ１５）、データ書込処理を終了する。
【００４３】
図７は、本実施の形態に係るデータ記憶装置１が行うブロック更新処理の手順を示すフローチャートであり、図６に示したフローチャートのステップＳ１３にて行われる処理である。ブロック更新処理においてデータ記憶装置１の処理部１０は、データ書き込みの対象の消去許可ブロックから、管理情報に基づいて有効なデータを抽出し（ステップＳ２１）、抽出したデータを次の消去許可ブロックにコピーする（ステップＳ２２）。次いで処理部１０は、データの書き込み対象の消去許可ブロックを、次の消去許可ブロックへ切り替える（ステップＳ２３）。また処理部１０は、以前の消去許可ブロックのデータを消去する処理を行って（ステップＳ２４）、ブロック更新処理を終了する。
【００４４】
以上の構成の本実施の形態に係るデータ記憶装置１は、データが一括消去される記憶ブロックを複数有するフラッシュメモリ２０について、複数の記憶ブロックのうち一又は複数の記憶ブロックを消去禁止ブロックとして扱う。データ記憶装置１の処理部１０は、消去禁止ブロックに対してデータの消去処理を行わない。またデータ記憶装置１は、その他の複数の記憶ブロックを消去許可ブロックとして扱う。処理部１０は、消去許可ブロックに対してデータの書き込みを行い、書き込みにより消去許可ブロックがデータで満たされた場合、この消去許可ブロックから有効なデータを読み出して次の消去許可ブロックへコピーし、書き込み対象の記憶ブロックを次へ切り替えるブロック更新処理を行う。更新処理を終了した後、処理部１０は、データで満たされた消去許可ブロックに対して消去処理を行う。これにより処理部１０は、複数の消去許可ブロックを順次的に利用してデータの書き込みを行う。
【００４５】
よってデータ記憶装置１は、値が更新されることのないデータを消去禁止ブロックに記憶し、値が更新されるデータを消去許可ブロックに記憶しておくことができる。値が更新されることのないデータは、他の記憶ブロックへの退避などが行われないため、書き込みの失敗によってデータが消失することはない。また消去禁止ブロックは、データの消去処理が行われないため、データの書換回数は増加せず、この記憶ブロックに記憶されたデータの信頼性が低下することがない。
【００４６】
なお、本実施の形態に係るデータ記憶装置１は、車両１００に搭載される車載のものとしたが、これに限るものではなく、その他の種々のデータ記憶装置の同様の構成を適用することができる。またデータ記憶装置１は、フラッシュメモリ２０にデータを記憶する構成としたが、これに限るものではなく、ブロックなどの単位でデータ消去を行う他の不揮発性メモリにデータを記憶する構成としてもよい。
【００４７】
また複数の消去許可ブロックを順に切り替えてデータの書き込みを行う処理を処理部１０が行う構成としたが、これに限るものではなく、フラッシュメモリ２０のメモリ管理部２１が処理を行ってもよい。また処理部１０が記憶ブロックに対する消去処理を行わないことで消去禁止ブロックを実現する構成としたが、これに限るものではなく、例えばメモリ管理部２１が処理部１０から消去禁止ブロックに対する消去要求を受け付けた場合に、この要求を拒否する構成として消去禁止ブロックを実現してもよい。
【００４８】
（変形例１）
データ記憶装置１は、フラッシュメモリ２０の消去禁止ブロックの空き領域に対して、データの書き込みを行う構成としてもよい。例えば車両１００にイモビライザーが搭載されている場合、イモビライザーの認証処理に用いられるセキュリティコードを、フラッシュメモリ２０の消去禁止ブロックの空き領域に書き込んで記憶することができる。イモビライザーのセキュリティコードは、例えばキーを交換した場合などに変更される可能性があるが、消去許可ブロックに記憶する車載機器の設定値などと比較して更新の頻度が低い情報である。なお変形例１に係るデータ記憶装置１は、フラッシュメモリ２０の消去禁止ブロックに対するデータ書込を行う構成であるため、消去許可ブロックと同様に、記憶されているデータが有効であるか無効であるかを判断するための管理情報などを消去禁止ブロックに記憶している。
【００４９】
変形例１に係るデータ記憶装置１の処理部１０は、セキュリティコードの書き込みを行う必要が生じた場合、消去禁止ブロックに空き領域が存在するか否かを判断し、空き領域が存在していれば書き込みを行う。空き領域が存在していない場合、処理部１０は、セキュリティコードの書き込みは行わない。なお処理部１０は、消去禁止ブロックに空き領域が存在せずにセキュリティコードの書き込みが行えない場合、例えばエラーメッセージの表示又は警告ランプの点灯等の方法で書き込み失敗の通知を行ってもよい。またこのような場合に、例えば車両１００のディーラ又は整備工場等において特別な機器を用いる又は特別な操作を行うことによって、フラッシュメモリ２０の消去禁止ブロックのデータ消去及びデータ書換を行うことが可能な構成であってもよい。
【００５０】
図８は、変形例１に係るデータ記憶装置１が行うデータ書込処理の手順を示すフローチャートである。変形例１に係るデータ記憶装置１の処理部１０は、フラッシュメモリ２０に対するデータの書き込みを行う際に、書き込むデータがセキュリティコードであるか否かを判定する（ステップＳ３１）。書き込むデータがセキュリティコードでない場合（Ｓ３１：ＮＯ）、処理部１０は、フラッシュメモリ２０の消去許可ブロックへのデータ書き込み処理を行って（ステップＳ３２）、処理を終了する。なおステップＳ３２にて行うデータ書き込み処理は、図６に示した処理と同様であるため、詳細な説明は省略する。
【００５１】
書き込むデータがセキュリティコードである場合（Ｓ３１：ＹＥＳ）、処理部１０は、フラッシュメモリ２０の消去禁止ブロックに空き領域が存在するか否かを判定する（ステップＳ３３）。消去禁止ブロックに空き領域が存在する場合（Ｓ３３：ＹＥＳ）、処理部１０は、消去禁止ブロックにセキュリティコードを書き込み（ステップＳ３４）、データ書き込み処理を終了する。また消去禁止ブロックに空き領域が存在しない場合（Ｓ３３：ＮＯ）、処理部１０は、エラーメッセージの表示などのエラー処理を行って（ステップＳ３５）、データの書き込みを行うことなく処理を終了する。
【００５２】
このように変形例１に係るデータ記憶装置１は、フラッシュメモリ２０の消去禁止ブロックに対するデータの書き込みを許可することで、消去禁止ブロックの空き領域を有効活用することができる。消去禁止ブロックは、データの消去処理を行うことが禁止されているため、このブロックがデータで満たされるまではデータの書き込みを行うことができる。消去禁止ブロックには、例えばセキュリティコードのように更新頻度が低いデータを書き込むことができる。なお消去禁止ブロックに書き込むデータは、セキュリティコード以外のデータであってよい。
【００５３】
（変形例２）
変形例２に係るデータ記憶装置１は、データの書き込みを行う場合に、正データ及び副データ（正データを複写したデータ）の２つのデータ書き込みを行う。図９は、変形例２に係るデータ記憶装置１が行うデータ書込処理を説明するための模式図である。変形例２に係るデータ記憶装置１は、フラッシュメモリ２０の複数の消去許可ブロックについて、２つのブロックを１組として利用する。例えば第１消去許可ブロック及び第２消去許可ブロックを１組とし、第３消去許可ブロック及び第４消去許可ブロックを１組とし、…、第Ｎ−１消去許可ブロック及び第Ｎ消去許可ブロックを１組とする（ただしＮは偶数とする）。データ記憶装置１は、例えば第１消去許可ブロックに設定値ａ＿１を正データとして書き込んだ後、第２消去許可ブロックに同一の設定値ａ＿１を副データとして書き込む。これにより、１組とされた２つの消去許可ブロックには、同じデータが書き込まれる。
【００５４】
また変形例２に係るデータ記憶装置１は、フラッシュメモリ２０に記憶されたデータについて誤りの有無を判断する誤り検出機能を有している。データ記憶装置１は、消去許可ブロックからデータを読み出す場合、まず一方の消去許可ブロックに記憶されている正データの誤りの有無を判断し、誤りがなければこの正データを読み出す。一方の消去許可ブロックに記憶されている正データに誤りがあると判断した場合、データ記憶装置１は、他方の消去許可ブロックに記憶されている副データを読み出す。なお副データについても誤りの有無を判断してもよい。
【００５５】
図１０は、変形例２に係るデータ記憶装置１が行うデータ読出処理の手順を示すフローチャートである。変形例２に係るデータ記憶装置１の処理部１０は、読み出すデータが消去禁止ブロック又は消去許可ブロックのいずれに記憶されているかを判定する記憶ブロック判定処理を行う（ステップＳ４１）。処理部１０は、記憶ブロック判定処理の結果に基づき、読み出すべきデータの記憶先が消去禁止ブロックであるか否かを判断する（ステップＳ４２）。データの記憶先が消去禁止ブロックである場合（Ｓ４２：ＹＥＳ）、処理部１０は、フラッシュメモリ２０の消去禁止ブロックからデータを読み出して（ステップＳ４３）、処理を終了する。
【００５６】
データの記憶先が消去禁止ブロックではなく消去許可ブロックである場合（Ｓ４２：ＮＯ）、処理部１０は、データ書き込みの対象としている２つの消去許可ブロックを選択する（ステップＳ４４）。処理部１０は、選択した消去許可ブロックの管理情報を読み出して（ステップＳ４５）、一方の消去許可ブロックから有効なデータを読み出す（ステップＳ４６）。処理部１０は、一方の消去許可ブロックから読み出したデータに誤りがあるか否かを判定し（ステップＳ４７）、誤りがない場合には（Ｓ４７：ＮＯ）、このデータを読み出しデータとして処理を終了する。一方の消去許可ブロックから読み出したデータに誤りがある場合（Ｓ４７：ＹＥＳ）、処理部１０は、他方の消去許可ブロックから有効なデータを読み出し（ステップＳ４８）、このデータを読み出しデータとして処理を終了する。
【００５７】
このように変形例２に係るデータ記憶装置１は、データの書き込みを行う場合に、正データ及び副データを消去許可ブロックへ書き込む。データの読み出しを行う場合にデータ記憶装置１は、消去許可ブロックに記憶された正データ及び副データの誤り検出を行い、その結果に応じていずれかのデータを読み出せばよい。これにより、消去許可ブロックに記憶するデータの信頼性を向上することができる。なおデータ記憶装置１は、正データ及び副データをそれぞれ異なる消去許可ブロックに記憶する構成ではなく、正データ及び副データを同一の消去許可ブロックに記憶する構成としてもよい。
【符号の説明】
【００５８】
１  データ記憶装置
１０  処理部
１１  ＲＡＭ
２０  フラッシュメモリ
２１  メモリ管理部
３０  記憶部
３１  プログラム用記憶領域
３２  データ用記憶領域
１００  車両
【図１】
2015127873.tif 000003
【図２】
2015127873.tif 000004
【図３】
2015127873.tif 000005
【図４】
2015127873.tif 000006
【図５】
2015127873.tif 000007
【図６】
2015127873.tif 000008
【図７】
2015127873.tif 000009
【図８】
2015127873.tif 000010
【図９】
2015127873.tif 000011
【図１０】
2015127873.tif 000012