JP2014186466A - データ記憶装置及びデータ記憶方法 - Google Patents
データ記憶装置及びデータ記憶方法 Download PDFInfo
- Publication number
- JP2014186466A JP2014186466A JP2013060067A JP2013060067A JP2014186466A JP 2014186466 A JP2014186466 A JP 2014186466A JP 2013060067 A JP2013060067 A JP 2013060067A JP 2013060067 A JP2013060067 A JP 2013060067A JP 2014186466 A JP2014186466 A JP 2014186466A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- written
- block
- storage block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータを確実にフラッシュメモリに記憶することができるデータ記憶装置及びデータ記憶方法を提供する。
【解決手段】車載ECU1は、フラッシュメモリを用いた記憶部30がデータ記憶用に2つのブロックを有し、ブロック毎に一括してデータ消去を行う。車載ECU1は、記憶部30にデータを書き込む場合、このデータの種別が緊急データ又は通常データのいずれであるかを判定し、判定結果に応じて閾値を決定する。車載ECU1は、データを書き込む際に書込先のブロックの空き容量が閾値未満であるか否かを判定し、空き容量が閾値未満である場合、データの書込先のブロックを切り替える。切替判定に用いる閾値は、緊急データについてはこのデータのサイズとし、通常データについてはこのデータのサイズより大きい値とする。
【選択図】図1
【解決手段】車載ECU1は、フラッシュメモリを用いた記憶部30がデータ記憶用に2つのブロックを有し、ブロック毎に一括してデータ消去を行う。車載ECU1は、記憶部30にデータを書き込む場合、このデータの種別が緊急データ又は通常データのいずれであるかを判定し、判定結果に応じて閾値を決定する。車載ECU1は、データを書き込む際に書込先のブロックの空き容量が閾値未満であるか否かを判定し、空き容量が閾値未満である場合、データの書込先のブロックを切り替える。切替判定に用いる閾値は、緊急データについてはこのデータのサイズとし、通常データについてはこのデータのサイズより大きい値とする。
【選択図】図1
Description
本発明は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置及びデータ記憶方法に関する。
従来、データを記憶するためのメモリ素子としてフラッシュメモリが広く用いられている。車輌に搭載されるECU(Electronic Control Unit)などの車載機器においても、データの記憶にはフラッシュメモリが用いられる場合が多い。フラッシュメモリは、電源オフ状態でもデータを保持できること、マスクROM(Read Only Memory)又はEPROM(Erasable Programmable ROM)等とは異なりデータの書き換えが可能であること、EEPROM(Electrically Erasable Programmable ROM)と比較して記憶容量が大きいことなどの利点がある。
特許文献1においては、領域A及び領域Bのブロックを有するフラッシュメモリを用い、イグニッションオンなどの所定トリガ毎にデータ書き込み対象の領域を切り替える車載メモリ制御装置が提案されている。更にこの車載メモリ制御装置は、書き込み対象の記憶領域が固有データで満杯状態になった場合、次の書き込み対象の記憶領域に正しい固有データを記憶してから、満杯状態の領域のデータを一括消去する。
フラッシュメモリは、アドレス単位でのデータ消去を行うことができず、例えば数KB又は数十KB等のブロック単位でデータを消去する必要がある。このためフラッシュメモリを用いたデータ記憶装置では、同一アドレスに対して複数回のデータ書き込みを行うことができず、異なるアドレスに対して順次的にデータ書き込みを行う必要がある。またデータ書き込みの際にブロック内の空き領域が不足している場合、データ記憶装置は、当該ブロック内の必要なデータを他のブロックへコピーした後で、他のブロックに対してデータの書き込みを行うと共に、空き領域が不足したブロックを一括消去する必要がある。
車載機器が扱うデータには、例えば車輌の衝突などの緊急時に発生するデータが含まれる。緊急性の高いデータをフラッシュメモリに書き込もうとした際に、上述のようなブロック内の空き領域不足に伴うデータのコピーなどの処理が行われた場合、所望のデータ書き込みが長時間に亘って待機され、データ書き込みが行われないなどの虞がある。
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータを確実にフラッシュメモリに書き込むことができるデータ記憶装置及びデータ記憶方法を提供することにある。
本発明に係るデータ記憶装置は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置において、前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、データの書込先の記憶ブロックを選択する記憶ブロック選択手段と、書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定手段と、該データ種別判定手段の判定結果に応じて容量閾値を決定する容量閾値決定手段と、前記記憶ブロック選択手段が選択した記憶ブロックの空き容量が、前記容量閾値決定手段が決定した容量閾値未満であるか否かを判定する空き容量判定手段とを備え、前記記憶ブロック選択手段は、前記空き容量が前記容量閾値未満であると前記空き容量判定手段が判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、前記容量値決定手段は、前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすることを特徴とする。
また、本発明に係るデータ記憶装置は、前記記憶ブロック選択手段が書込先の記憶ブロックを、一の記憶ブロックから他の記憶ブロックへ切り替える場合に、前記一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへ書き込むデータ複写手段と、該データ複写手段によるデータの書き込みが終了した後、前記一の記憶ブロックのデータ消去を行う消去手段とを更に備え、前記データ複写手段によるデータの書き込みが終了した後、前記書込対象のデータを前記他の記憶ブロックに書き込むようにしてあることを特徴とする。
また、本発明に係るデータ記憶装置は、前記容量閾値決定手段が、前記書込対象のデータの種別が所定種別でない場合に、前記書込対象のデータのサイズに、前記所定種別のデータのサイズを加えた値を、前記容量閾値とすることを特徴とする。
また、本発明に係るデータ記憶方法は、フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶方法において、前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、データの書込先の記憶ブロックを選択する記憶ブロック選択ステップと、書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定ステップと、該データ種別判定ステップの判定結果に応じて容量閾値を決定する容量閾値決定ステップと、前記記憶ブロック選択ステップにて選択した記憶ブロックの空き容量が、前記容量閾値決定ステップにて決定した容量閾値未満であるか否かを判定する空き容量判定ステップとを含み、前記記憶ブロック選択ステップでは、前記空き容量が前記容量閾値未満であると前記空き容量判定ステップにて判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、前記容量閾値決定ステップでは、前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすることを特徴とする。
本発明においては、フラッシュメモリを用いた記憶部が複数の記憶ブロックを有し、記憶ブロック毎に一括してデータ消去が行われる。データ記憶装置は、書込対象のデータの種別が、例えば緊急性が高いデータ又は重要度の高いデータ等の所定種別であるか否かを判定し、この判定結果に応じて容量閾値を決定する。このデータを記憶する際、データ記憶装置は、書込先の記憶ブロックの空き容量が、種別に応じて決定した容量閾値未満である場合、データの書込先を他の記憶ブロックに切り替える。記憶ブロックを切り替える判定に用いる容量閾値は、所定種別のデータについてはこのデータサイズとし、所定種別以外のデータについてはこのデータサイズより大きい値とする。
これにより、書込対象のデータが所定種別であるか否かに応じて、記憶ブロックの切り替えを行う条件に差を設けることができる。即ち、緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータについては、記憶ブロックの空き容量が少なくてもデータの書き込みを優先して確実に行うことができる。所定種別以外のデータについては、空き容量が多くても記憶ブロックの切り替えを行い、所定種別のデータの書き込みを確実に行うことができるよう準備することができる。
これにより、書込対象のデータが所定種別であるか否かに応じて、記憶ブロックの切り替えを行う条件に差を設けることができる。即ち、緊急性が高いデータ又は重要度が高いデータ等の所定種別のデータについては、記憶ブロックの空き容量が少なくてもデータの書き込みを優先して確実に行うことができる。所定種別以外のデータについては、空き容量が多くても記憶ブロックの切り替えを行い、所定種別のデータの書き込みを確実に行うことができるよう準備することができる。
また、本発明においては、一の記憶ブロックから他の記憶ブロックへデータの書込先を切り替える場合、一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへコピーし、その後に一の記憶ブロックを一括消去する。また書込対象のデータは、必要なデータのコピーが完了した後に、他の記憶ブロックに書き込む。一の記憶ブロックの消去と、他の記憶ブロックへのデータの書き込みとは、いずれを先に行ってもよく、同時的に行ってもよい。
これにより、複数の記憶ブロックを切り替えながらデータを確実に書き込むことができ、次の記憶ブロックの切り替えに備えて不要なデータが記憶された記憶ブロックを消去しておくことができる。
これにより、複数の記憶ブロックを切り替えながらデータを確実に書き込むことができ、次の記憶ブロックの切り替えに備えて不要なデータが記憶された記憶ブロックを消去しておくことができる。
また、本発明においては、所定種別以外のデータについて、記憶ブロックを切り替える判定に用いる容量閾値を、このデータのサイズに、所定種別のデータのサイズを加えた値とする。なお所定種別のデータが複数種類存在する場合には、最も大きいデータサイズを加えればよい。
これにより、所定種別以外のデータの書き込みが行われた後、一回分の所定種別のデータを書き込む容量を確保することができるため、所定種別のデータを書き込む際に記憶ブロックの切り替えが発生する確率を低減することができる。
これにより、所定種別以外のデータの書き込みが行われた後、一回分の所定種別のデータを書き込む容量を確保することができるため、所定種別のデータを書き込む際に記憶ブロックの切り替えが発生する確率を低減することができる。
本発明による場合は、所定種別以外のデータを書き込む際に、空き容量に余裕がある場合であっても記憶ブロックの切り替えを行うことによって、所定種別のデータを書き込む際に記憶ブロックの切り替えが発生する確率を低減することができ、所定種別のデータを確実に記憶部に記憶することができる。
以下、本発明に係るデータ記憶装置及びデータ記憶方法を、車載ECUを例に、その実施の形態を示す図面に基づき具体的に説明する。図1は、本実施の形態に係る車載ECU1の構成を示すブロック図である。本実施の形態に係る車載ECU1は、図示しない車輌の適所に搭載され、例えば車輌のドア、窓又はライト等の動作を制御するボディECUなどの車載機器である。車載ECU1は、エアバッグ制御装置2及びドアロック制御装置3等の他の車載機器との間でデータの送受信を行うことによって、これら車載機器と協調動作する。
車載ECU1は、マイコン(マイクロコンピュータ)10を備えている。マイコン10は、EEPROM(Electrically Erasable Programmable ROM)11、RAM(Random Access Memory)12及び車内通信部13等が接続され、これらとの間でデータの授受を行うことができる。またマイコン10は、処理部20及び記憶部30等を有している。
マイコン10の処理部20は、例えばCPU(Central Processing Unit)などの演算処理装置を用いて構成されている。処理部20は、予め記憶されたプログラムを読み出して実行することにより、種々の制御処理及び演算処理等を行う。また本実施の形態において処理部20は、記憶ブロック選択手段21、データ種別判定手段22、容量閾値決定手段23及び空き容量判定手段24として動作する。
マイコン10の記憶部30は、一又は複数のフラッシュメモリを用いて構成されており、アドレス毎のデータの消去又は書き換えを行うことができない構成である。本実施の形態においては、記憶部30は、複数のブロックに分割して管理されており、このブロック毎にデータの一括消去が行われる。本実施の形態において記憶部30は、ブロックA及びBの2つのデータ記憶ブロックが設けられている。
EEPROM11は、データ書き換え可能な不揮発性のメモリ素子であり、マイコン10の処理に必要な種々のデータが記憶されている。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等で構成され、マイコン10の処理に伴って発生したデータ又は多の車載機器との間で送受信したデータ等を一時的に記憶する。
車内通信部13は、例えばCAN(Controller Area Network)又はLIN(Local Interconnect Network)等の通信プロトコルに基づく通信を他の車載機器との間で行う。車内通信部13は、マイコン10から与えられた送信用のデータを他の車載機器へ送信する。また車内通信部13は、他の車載機器から受信したデータをRAM12に記憶し、データを受信した旨をマイコン10へ通知する。
また本実施の形態において、車載ECU1は、エアバッグ制御装置2及びドアロック制御装置3との間でデータの送受信を行う。エアバッグ制御装置2は、車輌の衝突などを検知した際に、運転席及び助手席等に設置されたエアバッグを作動させる装置である。また本実施の形態においてエアバッグ制御装置2は、エアバッグを作動させた場合に、その旨を車載ECU1へ通知する。
ドアロック制御装置3は、車輌のドアのロック/アンロックを制御する装置である。ドアロック制御装置3は、例えば車輌のドアに設けられた操作部に対する操作又はユーザが所持する無線キーとの無線通信等に応じて、ドアのロック/アンロックを行う。また本実施の形態においてドアロック制御装置3は、車載ECU1からドアのアンロック命令を受信した場合に、ドアのアンロックを行う。
車載ECU1は、車輌の衝突発生などによりエアバッグが作動し、エアバッグ制御装置2からその旨が通知された場合、エアバッグが作動したことを示すエアバッグ作動データを記憶部30に記憶する。また車載ECU1は、記憶部30にエアバッグ作動データが記憶されているか否かを、例えば起動時に又は定期的にチェックし、エアバッグ作動データが記憶されている場合にはドアのアンロック命令をドアロック制御装置3へ送信する。これにより、車輌の衝突発生などによりエアバッグが作動した後、車輌のドアが自動的にアンロックされ、乗員の車外への退避を補助することができる。
また車載ECU1は、他の車載機器から受信したデータ又は自らの処理により発生したデータ等を必要に応じて記憶部30に記憶する。車載ECU1は、例えばGPS(Global Positioning System)に基づく車輌の位置データ、車速センサが検知する車速データ、又は、エンジン制御に係るフィードバックデータ等の物理量のデータを記憶部30に記憶する。上述のように、記憶部30はフラッシュメモリを用いて構成されており、記憶したデータを変更することができない。このため車載ECU1は、記憶部30の空き領域に対してデータを順次的に書き込んでいき、空き領域がなくなった又は少なくなった場合にブロックの一括消去を行う。このとき車載ECU1は、必要なデータを消去対象のブロックから別のブロックへ退避させる。
以下、車載ECU1による記憶部30へのデータ記憶方法の詳細について説明する。本実施の形態においては、車載ECU1が記憶部30に記憶するデータを2つの種別に分類する。第1種別のデータ(所定種別のデータ)は、上述のエアバッグ作動データのように、緊急性及び重要度が高く、記憶部30に対して確実に書き込む必要があるデータである(以下、このデータを緊急データという)。第2種別のデータは、ここでは緊急データ以外のデータであり、緊急データよりも緊急性及び重要度が低いデータである(以下、このデータを通常データという)。車載ECU1は、記憶部30へ緊急データを記憶する場合と、通常データを記憶する場合とで異なる処理を行う。
図2〜図5は、記憶部30への通常データの記憶方法を説明するための模式図である。記憶部30には、データを記憶するためのブロックとして、ブロックA及びブロックBの2ブロックが設けられており、ブロック毎に一括消去が行われる。各ブロックの先頭領域には、当該ブロックに関する一又は複数の情報を含むブロックヘッダが記憶されている。ブロックヘッダは、例えばこのブロックが初期化(消去)完了しているか否かを示す初期化完了フラグ、このブロックにおいてデータの書き込みにエラーが発生したか否かを示すエラーフラグ、このブロックがデータの書込先として選択されているか否かを示す有効フラグ、又は、このブロックにて消去が行われた回数を示す消去回数等の情報を含むことができる。車載ECU1は、ブロックの消去を行う場合に、ブロックヘッダに含まれる情報の一部(例えば消去回数)をRAM12に記憶することで退避させ、ブロックの消去完了後に、フラグなどの値を適切に設定したブロックヘッダを作成してブロックの先頭領域に記憶する。
例えばブロックA及びBが共に初期化された状態であり、車載ECU1が、データの書込先として記憶部30のブロックAを選択しているものとする。書き込み先のブロックの選択は、車載ECU1の処理部20の記憶ブロック選択手段21が行う。選択したブロックAに通常データ1を書き込む必要がある場合、車載ECU1は、ブロックAの末尾領域に通常データ1を記憶すると共に、ブロックAの先頭領域のブロックヘッダに続けて通常データ1に関するデータヘッダ1を記憶する。データヘッダには、対応するデータが記憶されているアドレス、データのサイズ、及び、このデータが有効/無効のいずれであるかを示すフラグ等の情報が含まれる。
なお、図2〜図5においては、通常データX−Yのように各データに対して2つの番号を付して記載してあるが、1番目の番号Xはデータの内容(例えば位置データ、車速データ又はエンジン制御のフィードバックデータ等の別)を示している。またデータヘッダX−Yは、データX−Yに対応する情報を有するものである。例えば、通常データ1−Yは車速データであり、通常データ2−Yは車輌の位置データであり、通常データ3−Yはエンジン制御のフィードバックデータであり、緊急データ4−Yはエアバッグ作動データである。また2番目の番号Yは、データの時系列的な順序を示しており、数値が大きいほど最新のデータである。例えば通常データ1−2は通常データ1−1より新しいデータであり、通常データ1−2が記憶されている場合、通常データ1−1は無効(不要)なデータとなる。無効なデータについては、対応するデータヘッダにて無効である旨を示すフラグが設定される。
図2に示す状態は、車載ECU1が通常データ1、通常データ2、通常データ1、通常データ3の順で記憶部30にデータを書き込んだ場合のものである。車載ECU1は、書込先として選択されているブロックAに、その末尾側から順に通常データ1−1、通常データ2−1、通常データ1−2、通常データ3−1を書き込み、先頭側から順にデータヘッダ1−1、データヘッダ2−1、データヘッダ1−2、データヘッダ3−1を書き込む。このように車載ECU1は、ブロックの末尾から先頭側へデータを順に書き込み、ブロックの先頭から末尾側へデータヘッダを順に書き込むため、ブロックの中央部分が空き領域となる。車載ECU1は、ブロックAの空き領域の容量が閾値(詳細は後述する)未満となるまで、ブロックAにデータの書き込みを行う。記憶部30の各ブロックの空き容量と閾値との比較は、車載ECU1の処理部20の空き容量判定手段24にて行われる。
また図2に示す状態において、通常データ1−1は無効なデータである。車載ECU1は、記憶部30から通常データ1を読み出す場合、書込先として選択されているブロックAの先頭から順にデータヘッダを調べる。本例において車載ECU1は、通常データ1に関するデータヘッダとして、まずデータヘッダ1−1を得ることができ、次いでデータヘッダ1−2を得ることができる。車載ECU1は、最後に得られたデータヘッダ1−2に対応するデータを、読み出すべきデータと判断する。車載ECU1は、データヘッダ1−2から通常データ1−2が記憶されたアドレス及びデータサイズ等を読み出してアクセスすることにより、通常データ1−2を読み出す。
ここで、通常データ2を書き込もうとした際に、選択されているブロックAの空き領域の容量が閾値未満であった場合、車載ECU1は、データの書込先をブロックAからブロックBへ切り替える処理を行う。図3に示すように、車載ECU1は、ブロックAに記憶された有効なデータと、このデータに対応するデータヘッダとをブロックBへコピーする。なおこのときに、車載ECU1は、各データヘッダについてデータの記憶アドレスなどを適切な値に修正する。また図3に示す例では、通常データ2−1及びデータヘッダ2−1をブロックAからブロックBへコピーしているが、この後に新たな通常データ2を書き込むため、車載ECU1は、通常データ2−1及びデータヘッダ2−1をコピーしない構成であってもよい。
必要なデータをブロックBへコピーした後、車載ECU1は、新たな通常データ2−2及びデータヘッダ2−2をブロックBに書き込む。また車載ECU1は、ブロックAの一括消去を行う。図4には、ブロックBへの通常データ2の書き込みとブロックAの消去とを行った後の状態を図示してある。その後、車載ECU1は、ブロックBを書込先としてデータの記憶処理を行う。
このように、車載ECU1は、記憶部30の2つのブロックA及びBの一方を書込先として選択してデータの書き込みを順次行い、書込先のブロックの空き容量が閾値未満となった場合に、書込先のブロックを切り替える構成である。書込先のブロックを切り替えるか否かの判定は、データの書き込みを行う際にブロックの空き容量を調べて閾値と比較することで行う。本実施の形態に係る車載ECU1は、記憶部30に書き込むデータが通常データ又は緊急データのいずれであるかに応じて、ブロックの空き容量と比較する閾値に異なる値のものを用いる。
本実施の形態に係る車載ECU1は、記憶部30にデータを書き込む場合、処理部20のデータ種別判定手段22により書き込むデータの種別を判定し、判定したデータ種別に応じてブロックの空き容量と比較する閾値を容量閾値決定手段23が決定する。即ち、車載ECU1は、記憶部30に通常データを書き込む場合、この通常データのサイズ(通常データ及びデータヘッダの合計サイズ)に所定値αを加えたものを、ブロックの空き容量と比較する閾値とする。これに対して記憶部30に緊急データを書き込む場合、車載ECU1は、この緊急データのサイズ(緊急データ及びデータヘッダの合計サイズ)を閾値とする。なお所定値αは、車載ECU1が緊急データとして記憶部30に記憶する可能性があるデータのサイズ又はこのサイズ以上の値とすればよい。サイズが異なる緊急データが存在する場合、最大サイズに基づいて所定値αを設定する。また所定値αを緊急データのサイズ以上の値とする場合、例えば緊急データのサイズの2倍、3倍、…、N倍など値(ただしNは整数)を所定値αとすることができる(ただし、緊急データのサイズの例えば2.5倍など、非整数倍の値を所定値αとすることを否定するものではない)。なお所定値αは、車輌、車載ECU1及びその他の車載機器の設計段階などにおいて、車載ECU1の記憶部30に記憶すべきデータの種別及びそのサイズ等が検討され、設計者などによってその値が適宜に設定される。
上記のような閾値決定方法を採用することによって、車載ECU1は、可能な限り緊急データを記憶部30の空き領域に書き込む。また車載ECU1は、記憶部30の空き領域に所定値αの余裕がない場合には、通常データを書き込む前にブロックの切り替えを行って空き領域を広げる。これにより、緊急データを書き込む際に所定値αの空き領域が記憶部30に存在する可能性が高まるため、緊急データの書き込み前にブロックの切り替えが発生する可能性を低減できる。また通常データを書き込んだ直後については、車載ECU1は、緊急データを確実に記憶部30に書き込むことができる。
図5には、図2に示す状態において緊急データ4を書き込んだ場合の記憶部30の状態を示してある。上述の例において車載ECU1は、通常データ2を書き込む際にブロックAの空き容量が閾値未満であると判定し、ブロックの切り替えを行っている(図3及び図4参照)。これに対して本例では、車載ECU1は、ブロックAの空き容量が閾値以上であると判定し、ブロックの切り替えを行わず、ブロックAに緊急データ4(緊急データ4−1及びデータヘッダ4−1)を書き込むことができる。これは、通常データを書き込む場合と比較して、緊急データを書き込む場合には、ブロックに要求される空き領域のサイズが小さい(即ち、判定に用いる閾値が小さい)ためである。
図6は、車載ECU1によるデータ記憶処理の手順を示すフローチャートである。記憶部30にデータを書き込む必要が生じた場合、車載ECU1の処理部20は、まず書き込むべきデータのサイズを取得すると共に(ステップS1)、このデータの種別が緊急データであるか否かをデータ種別判定手段22により判定する(ステップS2)。データが緊急データである場合(S2:YES)、処理部20の容量閾値決定手段23は、このデータのサイズを閾値に設定する(ステップS3)。データが緊急データでない場合(S2:NO)、即ちデータが通常データである場合、処理部20の容量閾値決定手段23は、このデータのサイズに所定値αを加えた値を閾値に設定する(ステップS4)。
次いで処理部20の記憶ブロック選択手段21は、記憶部30のブロックA及びBのブロックヘッダを調べることにより、ブロックA又はBのいずれかを書込先のブロックとして選択する(ステップS5)。処理部20は、書込先として選択したブロックの空き容量を取得する(ステップS6)。処理部20の空き容量判定手段24は、ステップS6にて取得した空き容量が、ステップS3又はS4にて設定した閾値未満であるか否を判定する(ステップS7)。空き容量が閾値以上である場合(S7:NO)、処理部20は、選択されているブロックにデータを書き込んで(ステップS13)、処理を終了する。
空き容量が閾値未満である場合(S7:YES)、処理部20は、その時点にて書込先として選択されているブロックから有効なデータを抽出し(ステップS8)、抽出したデータを別のブロックへコピーする(ステップS9)。処理部20は、データの書き込み先を別のブロックに切り替え(ステップS10)、切り替えた別のブロックにデータを書き込む(ステップS11)。また処理部20は、空き容量が閾値未満となった元のブロックのデータを消去し(ステップS12)、処理を終了する。
以上の本実施の形態に係る車載ECU1は、フラッシュメモリを用いた記憶部30がデータ記憶用に2つのブロックA及びBを有し、ブロック毎に一括してデータ消去を行う。車載ECU1は、記憶部30にデータを書き込む場合、このデータの種別が緊急データ又は通常データのいずれであるかを判定し、判定結果に応じて閾値を決定する。車載ECU1は、データを書き込む際に書込先のブロックの空き容量が閾値未満であるか否かを判定し、空き容量が閾値未満である場合、データの書込先のブロックを切り替える。切替判定に用いる閾値は、緊急データについてはこのデータのサイズとし、通常データについてはこのデータのサイズより大きい値とする。
これにより、書込対象のデータが緊急データ又は通常データのいずれであるかに応じて、書込先のブロックを切り替える条件に差を設けることができる。即ち、緊急データについては、書込先のブロックの空き容量が少なくてもデータの書き込みを優先して確実に行うことができる。通常データについては、書込先のブロックの空き容量が多くてもブロックの切り替えを行い、緊急データの書き込みが確実に行われるよう準備することができる。よって車載ECU1は、緊急データを書き込む際にブロックの切り替えが発生する確率を低減することができ、記憶部30に緊急データを確実に書き込むことができる。
車載ECU1は、記憶部30の一のブロックから他のブロックへデータの書込先を切り替える場合、一のブロックから必要なデータを抽出して他のブロックへコピーし、その後に一のブロックを一括消去する。また車載ECU1は、書き込むべきデータを、必要なデータのコピーが完了した後に、他のブロックに書き込む。一のブロックの消去と、他のブロックへのデータの書き込みとは、いずれを先に行ってもよく、同時的に行ってもよい。これにより車載ECU1は、複数のブロックを切り替えながら記憶部30にデータを確実に書き込むことができ、次のブロックの切り替えに備えて不要なデータが記憶された一のブロックを消去しておくことができる。
また車載ECU1では、通常データを書き込む際にブロックの切り替えを行うか否かの判定に用いる閾値を、この通常データのサイズに対して、車載ECU1が扱う緊急データのサイズの最大値を加えた値としてある。これにより、通常データを記憶部30の一のブロックに書き込んだ後に、緊急データを書き込む領域を一のブロックに確保することができるため、緊急データを書き込む際にブロックの切り替えが発生する確率を低減することができる。
なお、本実施の形態においては、フラッシュメモリを用いた記憶部30にデータを記憶するデータ記憶装置を、車輌に搭載された車載ECU1を例に説明したが、これに限るものではない。フラッシュメモリにデータを記憶するその他の種々の機器に同様の構成を適用することができる。また車載ECU1は、エアバッグ制御装置2から与えられたエアバッグ作動データを緊急データとして記憶する構成としたが、これは一例であり、緊急データはその他の種々のデータであってよい。
また車載ECU1は、データを記憶する記憶部30をマイコン10内に備える構成としたが、これに限るものではない。記憶部30は、EEPROM11のようにマイコン10の外部に設けてもよい。また車載ECU1は、処理部20がデータの記憶に係る種々の処理を行う構成としたが、これに限るものではない。例えば車載ECU1が記憶処理を行うメモリコントローラなどを別に備える構成としてもよい。また車載ECU1は、記憶部30にデータを記憶する場合に、データとデータヘッダとを記憶部30のブロック内で分けて記憶する構成としたが、これに限るものではなく、データとデータヘッダとを一体的に記憶する構成としてもよい。
1 車載ECU
2 エアバッグ制御装置
3 ドアロック制御装置
10 マイコン
11 EEPROM
12 RAM
13 車内通信部
20 処理部(記憶ブロック選択手段、データ種別判定手段、容量閾値決定手段、空き容量判定手段、データ複写手段、消去手段)
30 記憶部
2 エアバッグ制御装置
3 ドアロック制御装置
10 マイコン
11 EEPROM
12 RAM
13 車内通信部
20 処理部(記憶ブロック選択手段、データ種別判定手段、容量閾値決定手段、空き容量判定手段、データ複写手段、消去手段)
30 記憶部
Claims (4)
- フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶装置において、
前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、
データの書込先の記憶ブロックを選択する記憶ブロック選択手段と、
書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定手段と、
該データ種別判定手段の判定結果に応じて容量閾値を決定する容量閾値決定手段と、
前記記憶ブロック選択手段が選択した記憶ブロックの空き容量が、前記容量閾値決定手段が決定した容量閾値未満であるか否かを判定する空き容量判定手段と
を備え、
前記記憶ブロック選択手段は、前記空き容量が前記容量閾値未満であると前記空き容量判定手段が判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、
前記容量値決定手段は、
前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、
前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすること
を特徴とするデータ記憶装置。 - 前記記憶ブロック選択手段が書込先の記憶ブロックを、一の記憶ブロックから他の記憶ブロックへ切り替える場合に、前記一の記憶ブロックから必要なデータを抽出して他の記憶ブロックへ書き込むデータ複写手段と、
該データ複写手段によるデータの書き込みが終了した後、前記一の記憶ブロックのデータ消去を行う消去手段と
を更に備え、
前記データ複写手段によるデータの書き込みが終了した後、前記書込対象のデータを前記他の記憶ブロックに書き込むようにしてあること
を特徴とする請求項1に記載のデータ記憶装置。 - 前記容量閾値決定手段は、前記書込対象のデータの種別が所定種別でない場合に、前記書込対象のデータのサイズに、前記所定種別のデータのサイズを加えた値を、前記容量閾値とすること
を特徴とする請求項1又は請求項2に記載のデータ記憶装置。 - フラッシュメモリを用いた記憶部にデータを記憶するデータ記憶方法において、
前記記憶部は、個別に一括してデータが消去される記憶ブロックを複数有し、
データの書込先の記憶ブロックを選択する記憶ブロック選択ステップと、
書込対象のデータの種別が所定種別であるか否かを判定するデータ種別判定ステップと、
該データ種別判定ステップの判定結果に応じて容量閾値を決定する容量閾値決定ステップと、
前記記憶ブロック選択ステップにて選択した記憶ブロックの空き容量が、前記容量閾値決定ステップにて決定した容量閾値未満であるか否かを判定する空き容量判定ステップと
を含み、
前記記憶ブロック選択ステップでは、前記空き容量が前記容量閾値未満であると前記空き容量判定ステップにて判定した場合に、前記書込対象のデータの書込先の記憶ブロックを他のブロックに切り替え、
前記容量閾値決定ステップでは、
前記書込対象のデータの種別が所定種別である場合に、前記容量閾値を前記書込対象のデータのサイズとし、
前記書込対象のデータの種別が所定種別でない場合に、前記容量閾値を前記書込対象のデータのサイズより大きい値とすること
を特徴とするデータ記憶方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013060067A JP2014186466A (ja) | 2013-03-22 | 2013-03-22 | データ記憶装置及びデータ記憶方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013060067A JP2014186466A (ja) | 2013-03-22 | 2013-03-22 | データ記憶装置及びデータ記憶方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014186466A true JP2014186466A (ja) | 2014-10-02 |
Family
ID=51834001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013060067A Pending JP2014186466A (ja) | 2013-03-22 | 2013-03-22 | データ記憶装置及びデータ記憶方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014186466A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018060316A (ja) * | 2016-10-04 | 2018-04-12 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム |
CN110618675A (zh) * | 2018-06-19 | 2019-12-27 | 现代自动车株式会社 | 自动驾驶控制装置、具有该自动驾驶控制装置的车辆以及控制该车辆的方法 |
WO2021033681A1 (ja) * | 2019-08-20 | 2021-02-25 | 株式会社ソニー・インタラクティブエンタテインメント | ストレージ管理装置、ストレージの管理方法およびプログラム |
US11144239B2 (en) | 2017-08-09 | 2021-10-12 | Kabushiki Kaisha Toshiba | Storage controller, storage device, and write control method |
WO2023040975A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种数据处理方法及装置 |
-
2013
- 2013-03-22 JP JP2013060067A patent/JP2014186466A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018060316A (ja) * | 2016-10-04 | 2018-04-12 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム |
US11144239B2 (en) | 2017-08-09 | 2021-10-12 | Kabushiki Kaisha Toshiba | Storage controller, storage device, and write control method |
CN110618675A (zh) * | 2018-06-19 | 2019-12-27 | 现代自动车株式会社 | 自动驾驶控制装置、具有该自动驾驶控制装置的车辆以及控制该车辆的方法 |
KR20200003307A (ko) * | 2018-06-19 | 2020-01-09 | 현대자동차주식회사 | 자율 주행 제어 장치, 그를 가지는 차량 및 그 제어 방법 |
KR102513941B1 (ko) * | 2018-06-19 | 2023-03-27 | 현대자동차주식회사 | 자율 주행 제어 장치, 그를 가지는 차량 및 그 제어 방법 |
WO2021033681A1 (ja) * | 2019-08-20 | 2021-02-25 | 株式会社ソニー・インタラクティブエンタテインメント | ストレージ管理装置、ストレージの管理方法およびプログラム |
JPWO2021033681A1 (ja) * | 2019-08-20 | 2021-02-25 | ||
JP7232921B2 (ja) | 2019-08-20 | 2023-03-03 | 株式会社ソニー・インタラクティブエンタテインメント | ストレージ管理装置、ストレージの管理方法およびプログラム |
WO2023040975A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014186466A (ja) | データ記憶装置及びデータ記憶方法 | |
US8140216B2 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
JP4692231B2 (ja) | 車両用の電子制御装置 | |
TWI523024B (zh) | 半導體記憶體裝置 | |
JP4227149B2 (ja) | 電子制御装置の情報記憶方法 | |
JP5576557B2 (ja) | プロセッサシステム及びその制御方法 | |
JP6284903B2 (ja) | 通信装置及び通信制限プログラム | |
JP2008168649A (ja) | 車両用制御システム | |
US11113321B2 (en) | Method and device for managing map data of a digital map for a navigation apparatus | |
US10970000B2 (en) | Memory system | |
JP6028670B2 (ja) | データ記憶装置 | |
WO2015098894A1 (ja) | データ記憶装置、車載データ記憶装置及びデータ記憶方法 | |
US9275745B2 (en) | Semiconductor device and method of operating the same | |
CN107766174A (zh) | 电子控制装置及其信息存储方法 | |
JP2010286897A (ja) | 電子制御ユニット、プログラム書き換え方法 | |
JP7327242B2 (ja) | 車載中継装置、情報処理方法及びプログラム | |
JP2006193017A (ja) | 車両情報記録装置及び車両情報記録方法 | |
JP4844214B2 (ja) | 電子制御システム | |
US20110082995A1 (en) | Information processing apparatus | |
US10223255B2 (en) | Memory apparatus and method of wear-leveling of a memory apparatus | |
JP5129791B2 (ja) | 車両用制御装置 | |
JP4235624B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP7134142B2 (ja) | 情報処理装置およびデータ管理方法 | |
JP6568826B2 (ja) | 電子制御装置 | |
US11061587B2 (en) | Memory system switching between a locked and unlocked state and memory control method |