(57)【要約】【課題】緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータを確実にフラッシュメモリに記憶することができるデータ記憶装置及びデータ記憶方法を提供する。【解決手段】車載ＥＣＵ１は、フラッシュメモリを用いた記憶部３０がデータ記憶用に２つのブロックを有し、ブロック毎に一括してデータ消去を行う。車載ＥＣＵ１は、記憶部３０にデータを書き込む場合、このデータの種別が緊急データ又は通常データのいずれであるかを判定し、判定結果に応じて閾値を決定する。車載ＥＣＵ１は、データを書き込む際に書込先のブロックの空き容量が閾値未満であるか否かを判定し、空き容量が閾値未満である場合、データの書込先のブロックを切り替える。切替判定に用いる閾値は、緊急データについてはこのデータのサイズとし、通常データについてはこのデータのサイズより大きい値とする。【選択図】図１
2014186466.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置において、
前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、
データの書込先の記憶ブロックを選択する記憶ブロック選択手段と、
書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定手段と、
該データ種別判定手段の判定結果に応じて容量閾値を決定する容量閾値決定手段と、
前記記憶ブロック選択手段が選択した記憶ブロックの空き容量が、前記容量閾値決定手段が決定した容量閾値未満であるか否かを判定する空き容量判定手段と
を備え、
前記記憶ブロック選択手段は、前記空き容量が前記容量閾値未満であると前記空き容量判定手段が判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、
前記容量値決定手段は、
前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、
前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすること
を特徴とするデータ記憶装置。
【請求項２】
前記記憶ブロック選択手段が書込先の記憶ブロックを、一の記憶ブロックから他の記憶ブロックへ切り替える場合に、前記一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへ書き込むデータ複写手段と、
該データ複写手段によるデータの書き込みが終了した後、前記一の記憶ブロックのデータ消去を行う消去手段と
を更に備え、
前記データ複写手段によるデータの書き込みが終了した後、前記書込対象のデータを前記他の記憶ブロックに書き込むようにしてあること
を特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記容量閾値決定手段は、前記書込対象のデータの種別が所定種別でない場合に、前記書込対象のデータのサイズに、前記所定種別のデータのサイズを加えた値を、前記容量閾値とすること
を特徴とする請求項１又は請求項２に記載のデータ記憶装置。
【請求項４】
フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶方法において、
前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、
データの書込先の記憶ブロックを選択する記憶ブロック選択ステップと、
書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定ステップと、
該データ種別判定ステップの判定結果に応じて容量閾値を決定する容量閾値決定ステップと、
前記記憶ブロック選択ステップにて選択した記憶ブロックの空き容量が、前記容量閾値決定ステップにて決定した容量閾値未満であるか否かを判定する空き容量判定ステップと
を含み、
前記記憶ブロック選択ステップでは、前記空き容量が前記容量閾値未満であると前記空き容量判定ステップにて判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、
前記容量閾値決定ステップでは、
前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、
前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすること
を特徴とするデータ記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置及びデータ記憶方法に関する。
【背景技術】
【０００２】
従来、データを記憶するためのメモリ素子としてフラッシュメモリが広く用いられている。車輌に搭載されるＥＣＵ（Electronic Control Unit）などの車載機器においても、データの記憶にはフラッシュメモリが用いられる場合が多い。フラッシュメモリは、電源オフ状態でもデータを保持できること、マスクＲＯＭ（Read Only Memory）又はＥＰＲＯＭ（Erasable Programmable ROM）等とは異なりデータの書き換えが可能であること、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）と比較して記憶容量が大きいことなどの利点がある。
【０００３】
特許文献１においては、領域Ａ及び領域Ｂのブロックを有するフラッシュメモリを用い、イグニッションオンなどの所定トリガ毎にデータ書き込み対象の領域を切り替える車載メモリ制御装置が提案されている。更にこの車載メモリ制御装置は、書き込み対象の記憶領域が固有データで満杯状態になった場合、次の書き込み対象の記憶領域に正しい固有データを記憶してから、満杯状態の領域のデータを一括消去する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−７６６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリは、アドレス単位でのデータ消去を行うことができず、例えば数ＫＢ又は数十ＫＢ等のブロック単位でデータを消去する必要がある。このためフラッシュメモリを用いたデータ記憶装置では、同一アドレスに対して複数回のデータ書き込みを行うことができず、異なるアドレスに対して順次的にデータ書き込みを行う必要がある。またデータ書き込みの際にブロック内の空き領域が不足している場合、データ記憶装置は、当該ブロック内の必要なデータを他のブロックへコピーした後で、他のブロックに対してデータの書き込みを行うと共に、空き領域が不足したブロックを一括消去する必要がある。
【０００６】
車載機器が扱うデータには、例えば車輌の衝突などの緊急時に発生するデータが含まれる。緊急性の高いデータをフラッシュメモリに書き込もうとした際に、上述のようなブロック内の空き領域不足に伴うデータのコピーなどの処理が行われた場合、所望のデータ書き込みが長時間に亘って待機され、データ書き込みが行われないなどの虞がある。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータを確実にフラッシュメモリに書き込むことができるデータ記憶装置及びデータ記憶方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るデータ記憶装置は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置において、前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、データの書込先の記憶ブロックを選択する記憶ブロック選択手段と、書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定手段と、該データ種別判定手段の判定結果に応じて容量閾値を決定する容量閾値決定手段と、前記記憶ブロック選択手段が選択した記憶ブロックの空き容量が、前記容量閾値決定手段が決定した容量閾値未満であるか否かを判定する空き容量判定手段とを備え、前記記憶ブロック選択手段は、前記空き容量が前記容量閾値未満であると前記空き容量判定手段が判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、前記容量値決定手段は、前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすることを特徴とする。
【０００９】
また、本発明に係るデータ記憶装置は、前記記憶ブロック選択手段が書込先の記憶ブロックを、一の記憶ブロックから他の記憶ブロックへ切り替える場合に、前記一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへ書き込むデータ複写手段と、該データ複写手段によるデータの書き込みが終了した後、前記一の記憶ブロックのデータ消去を行う消去手段とを更に備え、前記データ複写手段によるデータの書き込みが終了した後、前記書込対象のデータを前記他の記憶ブロックに書き込むようにしてあることを特徴とする。
【００１０】
また、本発明に係るデータ記憶装置は、前記容量閾値決定手段が、前記書込対象のデータの種別が所定種別でない場合に、前記書込対象のデータのサイズに、前記所定種別のデータのサイズを加えた値を、前記容量閾値とすることを特徴とする。
【００１１】
また、本発明に係るデータ記憶方法は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶方法において、前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、データの書込先の記憶ブロックを選択する記憶ブロック選択ステップと、書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定ステップと、該データ種別判定ステップの判定結果に応じて容量閾値を決定する容量閾値決定ステップと、前記記憶ブロック選択ステップにて選択した記憶ブロックの空き容量が、前記容量閾値決定ステップにて決定した容量閾値未満であるか否かを判定する空き容量判定ステップとを含み、前記記憶ブロック選択ステップでは、前記空き容量が前記容量閾値未満であると前記空き容量判定ステップにて判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、前記容量閾値決定ステップでは、前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすることを特徴とする。
【００１２】
本発明においては、フラッシュメモリを用いた記憶部が複数の記憶ブロックを有し、記憶ブロック毎に一括してデータ消去が行われる。データ記憶装置は、書込対象のデータの種別が、例えば緊急性が高いデータ又は重要度の高いデータ等の所定種別であるか否かを判定し、この判定結果に応じて容量閾値を決定する。このデータを記憶する際、データ記憶装置は、書込先の記憶ブロックの空き容量が、種別に応じて決定した容量閾値未満である場合、データの書込先を他の記憶ブロックに切り替える。記憶ブロックを切り替える判定に用いる容量閾値は、所定種別のデータについてはこのデータサイズとし、所定種別以外のデータについてはこのデータサイズより大きい値とする。
これにより、書込対象のデータが所定種別であるか否かに応じて、記憶ブロックの切り替えを行う条件に差を設けることができる。即ち、緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータについては、記憶ブロックの空き容量が少なくてもデータの書き込みを優先して確実に行うことができる。所定種別以外のデータについては、空き容量が多くても記憶ブロックの切り替えを行い、所定種別のデータの書き込みを確実に行うことができるよう準備することができる。
【００１３】
また、本発明においては、一の記憶ブロックから他の記憶ブロックへデータの書込先を切り替える場合、一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへコピーし、その後に一の記憶ブロックを一括消去する。また書込対象のデータは、必要なデータのコピーが完了した後に、他の記憶ブロックに書き込む。一の記憶ブロックの消去と、他の記憶ブロックへのデータの書き込みとは、いずれを先に行ってもよく、同時的に行ってもよい。
これにより、複数の記憶ブロックを切り替えながらデータを確実に書き込むことができ、次の記憶ブロックの切り替えに備えて不要なデータが記憶された記憶ブロックを消去しておくことができる。
【００１４】
また、本発明においては、所定種別以外のデータについて、記憶ブロックを切り替える判定に用いる容量閾値を、このデータのサイズに、所定種別のデータのサイズを加えた値とする。なお所定種別のデータが複数種類存在する場合には、最も大きいデータサイズを加えればよい。
これにより、所定種別以外のデータの書き込みが行われた後、一回分の所定種別のデータを書き込む容量を確保することができるため、所定種別のデータを書き込む際に記憶ブロックの切り替えが発生する確率を低減することができる。
【発明の効果】
【００１５】
本発明による場合は、所定種別以外のデータを書き込む際に、空き容量に余裕がある場合であっても記憶ブロックの切り替えを行うことによって、所定種別のデータを書き込む際に記憶ブロックの切り替えが発生する確率を低減することができ、所定種別のデータを確実に記憶部に記憶することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態に係る車載ＥＣＵの構成を示すブロック図である。
【図２】記憶部への通常データの記憶方法を説明するための模式図である。
【図３】記憶部への通常データの記憶方法を説明するための模式図である。
【図４】記憶部への通常データの記憶方法を説明するための模式図である。
【図５】記憶部への通常データの記憶方法を説明するための模式図である。
【図６】車載ＥＣＵによるデータ記憶処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明に係るデータ記憶装置及びデータ記憶方法を、車載ＥＣＵを例に、その実施の形態を示す図面に基づき具体的に説明する。図１は、本実施の形態に係る車載ＥＣＵ１の構成を示すブロック図である。本実施の形態に係る車載ＥＣＵ１は、図示しない車輌の適所に搭載され、例えば車輌のドア、窓又はライト等の動作を制御するボディＥＣＵなどの車載機器である。車載ＥＣＵ１は、エアバッグ制御装置２及びドアロック制御装置３等の他の車載機器との間でデータの送受信を行うことによって、これら車載機器と協調動作する。
【００１８】
車載ＥＣＵ１は、マイコン（マイクロコンピュータ）１０を備えている。マイコン１０は、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）１１、ＲＡＭ（Random Access Memory）１２及び車内通信部１３等が接続され、これらとの間でデータの授受を行うことができる。またマイコン１０は、処理部２０及び記憶部３０等を有している。
【００１９】
マイコン１０の処理部２０は、例えばＣＰＵ（Central Processing Unit）などの演算処理装置を用いて構成されている。処理部２０は、予め記憶されたプログラムを読み出して実行することにより、種々の制御処理及び演算処理等を行う。また本実施の形態において処理部２０は、記憶ブロック選択手段２１、データ種別判定手段２２、容量閾値決定手段２３及び空き容量判定手段２４として動作する。
【００２０】
マイコン１０の記憶部３０は、一又は複数のフラッシュメモリを用いて構成されており、アドレス毎のデータの消去又は書き換えを行うことができない構成である。本実施の形態においては、記憶部３０は、複数のブロックに分割して管理されており、このブロック毎にデータの一括消去が行われる。本実施の形態において記憶部３０は、ブロックＡ及びＢの２つのデータ記憶ブロックが設けられている。
【００２１】
ＥＥＰＲＯＭ１１は、データ書き換え可能な不揮発性のメモリ素子であり、マイコン１０の処理に必要な種々のデータが記憶されている。ＲＡＭ１２は、ＳＲＡＭ（Static RAM）又はＤＲＡＭ（Dynamic RAM）等で構成され、マイコン１０の処理に伴って発生したデータ又は多の車載機器との間で送受信したデータ等を一時的に記憶する。
【００２２】
車内通信部１３は、例えばＣＡＮ（Controller Area Network）又はＬＩＮ（Local Interconnect Network）等の通信プロトコルに基づく通信を他の車載機器との間で行う。車内通信部１３は、マイコン１０から与えられた送信用のデータを他の車載機器へ送信する。また車内通信部１３は、他の車載機器から受信したデータをＲＡＭ１２に記憶し、データを受信した旨をマイコン１０へ通知する。
【００２３】
また本実施の形態において、車載ＥＣＵ１は、エアバッグ制御装置２及びドアロック制御装置３との間でデータの送受信を行う。エアバッグ制御装置２は、車輌の衝突などを検知した際に、運転席及び助手席等に設置されたエアバッグを作動させる装置である。また本実施の形態においてエアバッグ制御装置２は、エアバッグを作動させた場合に、その旨を車載ＥＣＵ１へ通知する。
【００２４】
ドアロック制御装置３は、車輌のドアのロック／アンロックを制御する装置である。ドアロック制御装置３は、例えば車輌のドアに設けられた操作部に対する操作又はユーザが所持する無線キーとの無線通信等に応じて、ドアのロック／アンロックを行う。また本実施の形態においてドアロック制御装置３は、車載ＥＣＵ１からドアのアンロック命令を受信した場合に、ドアのアンロックを行う。
【００２５】
車載ＥＣＵ１は、車輌の衝突発生などによりエアバッグが作動し、エアバッグ制御装置２からその旨が通知された場合、エアバッグが作動したことを示すエアバッグ作動データを記憶部３０に記憶する。また車載ＥＣＵ１は、記憶部３０にエアバッグ作動データが記憶されているか否かを、例えば起動時に又は定期的にチェックし、エアバッグ作動データが記憶されている場合にはドアのアンロック命令をドアロック制御装置３へ送信する。これにより、車輌の衝突発生などによりエアバッグが作動した後、車輌のドアが自動的にアンロックされ、乗員の車外への退避を補助することができる。
【００２６】
また車載ＥＣＵ１は、他の車載機器から受信したデータ又は自らの処理により発生したデータ等を必要に応じて記憶部３０に記憶する。車載ＥＣＵ１は、例えばＧＰＳ（Global Positioning System）に基づく車輌の位置データ、車速センサが検知する車速データ、又は、エンジン制御に係るフィードバックデータ等の物理量のデータを記憶部３０に記憶する。上述のように、記憶部３０はフラッシュメモリを用いて構成されており、記憶したデータを変更することができない。このため車載ＥＣＵ１は、記憶部３０の空き領域に対してデータを順次的に書き込んでいき、空き領域がなくなった又は少なくなった場合にブロックの一括消去を行う。このとき車載ＥＣＵ１は、必要なデータを消去対象のブロックから別のブロックへ退避させる。
【００２７】
以下、車載ＥＣＵ１による記憶部３０へのデータ記憶方法の詳細について説明する。本実施の形態においては、車載ＥＣＵ１が記憶部３０に記憶するデータを２つの種別に分類する。第１種別のデータ（所定種別のデータ）は、上述のエアバッグ作動データのように、緊急性及び重要度が高く、記憶部３０に対して確実に書き込む必要があるデータである（以下、このデータを緊急データという）。第２種別のデータは、ここでは緊急データ以外のデータであり、緊急データよりも緊急性及び重要度が低いデータである（以下、このデータを通常データという）。車載ＥＣＵ１は、記憶部３０へ緊急データを記憶する場合と、通常データを記憶する場合とで異なる処理を行う。
【００２８】
図２〜図５は、記憶部３０への通常データの記憶方法を説明するための模式図である。記憶部３０には、データを記憶するためのブロックとして、ブロックＡ及びブロックＢの２ブロックが設けられており、ブロック毎に一括消去が行われる。各ブロックの先頭領域には、当該ブロックに関する一又は複数の情報を含むブロックヘッダが記憶されている。ブロックヘッダは、例えばこのブロックが初期化（消去）完了しているか否かを示す初期化完了フラグ、このブロックにおいてデータの書き込みにエラーが発生したか否かを示すエラーフラグ、このブロックがデータの書込先として選択されているか否かを示す有効フラグ、又は、このブロックにて消去が行われた回数を示す消去回数等の情報を含むことができる。車載ＥＣＵ１は、ブロックの消去を行う場合に、ブロックヘッダに含まれる情報の一部（例えば消去回数）をＲＡＭ１２に記憶することで退避させ、ブロックの消去完了後に、フラグなどの値を適切に設定したブロックヘッダを作成してブロックの先頭領域に記憶する。
【００２９】
例えばブロックＡ及びＢが共に初期化された状態であり、車載ＥＣＵ１が、データの書込先として記憶部３０のブロックＡを選択しているものとする。書き込み先のブロックの選択は、車載ＥＣＵ１の処理部２０の記憶ブロック選択手段２１が行う。選択したブロックＡに通常データ１を書き込む必要がある場合、車載ＥＣＵ１は、ブロックＡの末尾領域に通常データ１を記憶すると共に、ブロックＡの先頭領域のブロックヘッダに続けて通常データ１に関するデータヘッダ１を記憶する。データヘッダには、対応するデータが記憶されているアドレス、データのサイズ、及び、このデータが有効／無効のいずれであるかを示すフラグ等の情報が含まれる。
【００３０】
なお、図２〜図５においては、通常データＸ−Ｙのように各データに対して２つの番号を付して記載してあるが、１番目の番号Ｘはデータの内容（例えば位置データ、車速データ又はエンジン制御のフィードバックデータ等の別）を示している。またデータヘッダＸ−Ｙは、データＸ−Ｙに対応する情報を有するものである。例えば、通常データ１−Ｙは車速データであり、通常データ２−Ｙは車輌の位置データであり、通常データ３−Ｙはエンジン制御のフィードバックデータであり、緊急データ４−Ｙはエアバッグ作動データである。また２番目の番号Ｙは、データの時系列的な順序を示しており、数値が大きいほど最新のデータである。例えば通常データ１−２は通常データ１−１より新しいデータであり、通常データ１−２が記憶されている場合、通常データ１−１は無効（不要）なデータとなる。無効なデータについては、対応するデータヘッダにて無効である旨を示すフラグが設定される。
【００３１】
図２に示す状態は、車載ＥＣＵ１が通常データ１、通常データ２、通常データ１、通常データ３の順で記憶部３０にデータを書き込んだ場合のものである。車載ＥＣＵ１は、書込先として選択されているブロックＡに、その末尾側から順に通常データ１−１、通常データ２−１、通常データ１−２、通常データ３−１を書き込み、先頭側から順にデータヘッダ１−１、データヘッダ２−１、データヘッダ１−２、データヘッダ３−１を書き込む。このように車載ＥＣＵ１は、ブロックの末尾から先頭側へデータを順に書き込み、ブロックの先頭から末尾側へデータヘッダを順に書き込むため、ブロックの中央部分が空き領域となる。車載ＥＣＵ１は、ブロックＡの空き領域の容量が閾値（詳細は後述する）未満となるまで、ブロックＡにデータの書き込みを行う。記憶部３０の各ブロックの空き容量と閾値との比較は、車載ＥＣＵ１の処理部２０の空き容量判定手段２４にて行われる。
【００３２】
また図２に示す状態において、通常データ１−１は無効なデータである。車載ＥＣＵ１は、記憶部３０から通常データ１を読み出す場合、書込先として選択されているブロックＡの先頭から順にデータヘッダを調べる。本例において車載ＥＣＵ１は、通常データ１に関するデータヘッダとして、まずデータヘッダ１−１を得ることができ、次いでデータヘッダ１−２を得ることができる。車載ＥＣＵ１は、最後に得られたデータヘッダ１−２に対応するデータを、読み出すべきデータと判断する。車載ＥＣＵ１は、データヘッダ１−２から通常データ１−２が記憶されたアドレス及びデータサイズ等を読み出してアクセスすることにより、通常データ１−２を読み出す。
【００３３】
ここで、通常データ２を書き込もうとした際に、選択されているブロックＡの空き領域の容量が閾値未満であった場合、車載ＥＣＵ１は、データの書込先をブロックＡからブロックＢへ切り替える処理を行う。図３に示すように、車載ＥＣＵ１は、ブロックＡに記憶された有効なデータと、このデータに対応するデータヘッダとをブロックＢへコピーする。なおこのときに、車載ＥＣＵ１は、各データヘッダについてデータの記憶アドレスなどを適切な値に修正する。また図３に示す例では、通常データ２−１及びデータヘッダ２−１をブロックＡからブロックＢへコピーしているが、この後に新たな通常データ２を書き込むため、車載ＥＣＵ１は、通常データ２−１及びデータヘッダ２−１をコピーしない構成であってもよい。
【００３４】
必要なデータをブロックＢへコピーした後、車載ＥＣＵ１は、新たな通常データ２−２及びデータヘッダ２−２をブロックＢに書き込む。また車載ＥＣＵ１は、ブロックＡの一括消去を行う。図４には、ブロックＢへの通常データ２の書き込みとブロックＡの消去とを行った後の状態を図示してある。その後、車載ＥＣＵ１は、ブロックＢを書込先としてデータの記憶処理を行う。
【００３５】
このように、車載ＥＣＵ１は、記憶部３０の２つのブロックＡ及びＢの一方を書込先として選択してデータの書き込みを順次行い、書込先のブロックの空き容量が閾値未満となった場合に、書込先のブロックを切り替える構成である。書込先のブロックを切り替えるか否かの判定は、データの書き込みを行う際にブロックの空き容量を調べて閾値と比較することで行う。本実施の形態に係る車載ＥＣＵ１は、記憶部３０に書き込むデータが通常データ又は緊急データのいずれであるかに応じて、ブロックの空き容量と比較する閾値に異なる値のものを用いる。
【００３６】
本実施の形態に係る車載ＥＣＵ１は、記憶部３０にデータを書き込む場合、処理部２０のデータ種別判定手段２２により書き込むデータの種別を判定し、判定したデータ種別に応じてブロックの空き容量と比較する閾値を容量閾値決定手段２３が決定する。即ち、車載ＥＣＵ１は、記憶部３０に通常データを書き込む場合、この通常データのサイズ（通常データ及びデータヘッダの合計サイズ）に所定値αを加えたものを、ブロックの空き容量と比較する閾値とする。これに対して記憶部３０に緊急データを書き込む場合、車載ＥＣＵ１は、この緊急データのサイズ（緊急データ及びデータヘッダの合計サイズ）を閾値とする。なお所定値αは、車載ＥＣＵ１が緊急データとして記憶部３０に記憶する可能性があるデータのサイズ又はこのサイズ以上の値とすればよい。サイズが異なる緊急データが存在する場合、最大サイズに基づいて所定値αを設定する。また所定値αを緊急データのサイズ以上の値とする場合、例えば緊急データのサイズの２倍、３倍、…、Ｎ倍など値（ただしＮは整数）を所定値αとすることができる（ただし、緊急データのサイズの例えば２．５倍など、非整数倍の値を所定値αとすることを否定するものではない）。なお所定値αは、車輌、車載ＥＣＵ１及びその他の車載機器の設計段階などにおいて、車載ＥＣＵ１の記憶部３０に記憶すべきデータの種別及びそのサイズ等が検討され、設計者などによってその値が適宜に設定される。
【００３７】
上記のような閾値決定方法を採用することによって、車載ＥＣＵ１は、可能な限り緊急データを記憶部３０の空き領域に書き込む。また車載ＥＣＵ１は、記憶部３０の空き領域に所定値αの余裕がない場合には、通常データを書き込む前にブロックの切り替えを行って空き領域を広げる。これにより、緊急データを書き込む際に所定値αの空き領域が記憶部３０に存在する可能性が高まるため、緊急データの書き込み前にブロックの切り替えが発生する可能性を低減できる。また通常データを書き込んだ直後については、車載ＥＣＵ１は、緊急データを確実に記憶部３０に書き込むことができる。
【００３８】
図５には、図２に示す状態において緊急データ４を書き込んだ場合の記憶部３０の状態を示してある。上述の例において車載ＥＣＵ１は、通常データ２を書き込む際にブロックＡの空き容量が閾値未満であると判定し、ブロックの切り替えを行っている（図３及び図４参照）。これに対して本例では、車載ＥＣＵ１は、ブロックＡの空き容量が閾値以上であると判定し、ブロックの切り替えを行わず、ブロックＡに緊急データ４（緊急データ４−１及びデータヘッダ４−１）を書き込むことができる。これは、通常データを書き込む場合と比較して、緊急データを書き込む場合には、ブロックに要求される空き領域のサイズが小さい（即ち、判定に用いる閾値が小さい）ためである。
【００３９】
図６は、車載ＥＣＵ１によるデータ記憶処理の手順を示すフローチャートである。記憶部３０にデータを書き込む必要が生じた場合、車載ＥＣＵ１の処理部２０は、まず書き込むべきデータのサイズを取得すると共に（ステップＳ１）、このデータの種別が緊急データであるか否かをデータ種別判定手段２２により判定する（ステップＳ２）。データが緊急データである場合（Ｓ２：ＹＥＳ）、処理部２０の容量閾値決定手段２３は、このデータのサイズを閾値に設定する（ステップＳ３）。データが緊急データでない場合（Ｓ２：ＮＯ）、即ちデータが通常データである場合、処理部２０の容量閾値決定手段２３は、このデータのサイズに所定値αを加えた値を閾値に設定する（ステップＳ４）。
【００４０】
次いで処理部２０の記憶ブロック選択手段２１は、記憶部３０のブロックＡ及びＢのブロックヘッダを調べることにより、ブロックＡ又はＢのいずれかを書込先のブロックとして選択する（ステップＳ５）。処理部２０は、書込先として選択したブロックの空き容量を取得する（ステップＳ６）。処理部２０の空き容量判定手段２４は、ステップＳ６にて取得した空き容量が、ステップＳ３又はＳ４にて設定した閾値未満であるか否を判定する（ステップＳ７）。空き容量が閾値以上である場合（Ｓ７：ＮＯ）、処理部２０は、選択されているブロックにデータを書き込んで（ステップＳ１３）、処理を終了する。
【００４１】
空き容量が閾値未満である場合（Ｓ７：ＹＥＳ）、処理部２０は、その時点にて書込先として選択されているブロックから有効なデータを抽出し（ステップＳ８）、抽出したデータを別のブロックへコピーする（ステップＳ９）。処理部２０は、データの書き込み先を別のブロックに切り替え（ステップＳ１０）、切り替えた別のブロックにデータを書き込む（ステップＳ１１）。また処理部２０は、空き容量が閾値未満となった元のブロックのデータを消去し（ステップＳ１２）、処理を終了する。
【００４２】
以上の本実施の形態に係る車載ＥＣＵ１は、フラッシュメモリを用いた記憶部３０がデータ記憶用に２つのブロックＡ及びＢを有し、ブロック毎に一括してデータ消去を行う。車載ＥＣＵ１は、記憶部３０にデータを書き込む場合、このデータの種別が緊急データ又は通常データのいずれであるかを判定し、判定結果に応じて閾値を決定する。車載ＥＣＵ１は、データを書き込む際に書込先のブロックの空き容量が閾値未満であるか否かを判定し、空き容量が閾値未満である場合、データの書込先のブロックを切り替える。切替判定に用いる閾値は、緊急データについてはこのデータのサイズとし、通常データについてはこのデータのサイズより大きい値とする。
【００４３】
これにより、書込対象のデータが緊急データ又は通常データのいずれであるかに応じて、書込先のブロックを切り替える条件に差を設けることができる。即ち、緊急データについては、書込先のブロックの空き容量が少なくてもデータの書き込みを優先して確実に行うことができる。通常データについては、書込先のブロックの空き容量が多くてもブロックの切り替えを行い、緊急データの書き込みが確実に行われるよう準備することができる。よって車載ＥＣＵ１は、緊急データを書き込む際にブロックの切り替えが発生する確率を低減することができ、記憶部３０に緊急データを確実に書き込むことができる。
【００４４】
車載ＥＣＵ１は、記憶部３０の一のブロックから他のブロックへデータの書込先を切り替える場合、一のブロックから必要なデータを抽出して他のブロックへコピーし、その後に一のブロックを一括消去する。また車載ＥＣＵ１は、書き込むべきデータを、必要なデータのコピーが完了した後に、他のブロックに書き込む。一のブロックの消去と、他のブロックへのデータの書き込みとは、いずれを先に行ってもよく、同時的に行ってもよい。これにより車載ＥＣＵ１は、複数のブロックを切り替えながら記憶部３０にデータを確実に書き込むことができ、次のブロックの切り替えに備えて不要なデータが記憶された一のブロックを消去しておくことができる。
【００４５】
また車載ＥＣＵ１では、通常データを書き込む際にブロックの切り替えを行うか否かの判定に用いる閾値を、この通常データのサイズに対して、車載ＥＣＵ１が扱う緊急データのサイズの最大値を加えた値としてある。これにより、通常データを記憶部３０の一のブロックに書き込んだ後に、緊急データを書き込む領域を一のブロックに確保することができるため、緊急データを書き込む際にブロックの切り替えが発生する確率を低減することができる。
【００４６】
なお、本実施の形態においては、フラッシュメモリを用いた記憶部３０にデータを記憶するデータ記憶装置を、車輌に搭載された車載ＥＣＵ１を例に説明したが、これに限るものではない。フラッシュメモリにデータを記憶するその他の種々の機器に同様の構成を適用することができる。また車載ＥＣＵ１は、エアバッグ制御装置２から与えられたエアバッグ作動データを緊急データとして記憶する構成としたが、これは一例であり、緊急データはその他の種々のデータであってよい。
【００４７】
また車載ＥＣＵ１は、データを記憶する記憶部３０をマイコン１０内に備える構成としたが、これに限るものではない。記憶部３０は、ＥＥＰＲＯＭ１１のようにマイコン１０の外部に設けてもよい。また車載ＥＣＵ１は、処理部２０がデータの記憶に係る種々の処理を行う構成としたが、これに限るものではない。例えば車載ＥＣＵ１が記憶処理を行うメモリコントローラなどを別に備える構成としてもよい。また車載ＥＣＵ１は、記憶部３０にデータを記憶する場合に、データとデータヘッダとを記憶部３０のブロック内で分けて記憶する構成としたが、これに限るものではなく、データとデータヘッダとを一体的に記憶する構成としてもよい。
【符号の説明】
【００４８】
１  車載ＥＣＵ
２  エアバッグ制御装置
３  ドアロック制御装置
１０  マイコン
１１  ＥＥＰＲＯＭ
１２  ＲＡＭ
１３  車内通信部
２０  処理部（記憶ブロック選択手段、データ種別判定手段、容量閾値決定手段、空き容量判定手段、データ複写手段、消去手段）
３０  記憶部
【図１】
2014186466.tif 000003
【図２】
2014186466.tif 000004
【図３】
2014186466.tif 000005
【図４】
2014186466.tif 000006
【図５】
2014186466.tif 000007
【図６】
2014186466.tif 000008