(57)【要約】【課題】消去回数の記録や管理を必要とせず、フラッシュメモリの各メモリブロック毎の消去回数を平均化して長寿命化を図ることが可能なフラッシュメモリのデータ記録法を得る。【解決手段】フラッシュメモリ内の複数のメモリブロックが論理的なリングバッファを構成し、フラッシュメモリにデータを記録するときにはフラッシュメモリの消去済みセクタを有するメモリブロック内の先頭の消去済みセクタから順次データが記録されると共に、このメモリブロックの最終セクタにデータが記録された後にはリングバッファ上における次のメモリブロックのデータが消去され、この消去されたメモリブロックの先頭セクタから順次データの記録が継続されるようにしたものである。【選択図】　　　　図４
2004071033.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリブロックを有し、各メモリブロック内が複数のセクタに分割されたフラッシュメモリを備え、前記フラッシュメモリに記録されたデータの消去が前記メモリブロック単位でなされるものにおいて、前記フラッシュメモリ内の前記複数のメモリブロックが論理的なリングバッファを構成し、前記フラッシュメモリにデータを記録するときには前記フラッシュメモリの消去済みセクタを有するメモリブロック内の先頭の消去済みセクタから順次データが記録されると共に、このメモリブロック内の最終セクタにデータが記録された後には前記リングバッファ上における次のメモリブロックのデータが消去され、この消去されたメモリブロックの先頭セクタから順次データの記録が継続されることを特徴とするフラッシュメモリのデータ記録法。
【請求項２】
動作開始時に、前記リングバッファ上の前記消去済みセクタを有するメモリブロックと、このメモリブロック内の先頭の消去済みセクタとが検索され、この先頭の消去済みセクタがデータ記録の先頭セクタとして設定されることを特徴とする請求項１に記載のフラッシュメモリのデータ記録法。
【請求項３】
前記リングバッファが、それぞれ複数のメモリブロックを有する複数のフラッシュメモリから形成されたことを特徴とする請求項１または請求項２に記載のフラッシュメモリのデータ記録法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、車両用のドライブレコーダなど、最新のデータを順次記録し、記録を更新してゆく機器に使用されるフラッシュメモリに適したデータの記録法に関するものである。
【０００２】
【従来の技術】
走行する車両の各種データを順次記録する装置としてドライブレコーダが知られている。このドライブレコーダは、走行する車両の状態や走行履歴などのデータを順次収集し、収集したデータを記録・更新してゆく装置であり、記録されたデータは、例えば、事故発生時において、事故状況の解析などに使用されるものである。従って、ドライブレコーダに供給される電源が停止した状態においても記録されたデータを保持しておく必要性があり、このために、記録素子として通常はフラッシュメモリなどの不揮発性のメモリが使用される。
【０００３】
このような機器にフラッシュメモリを使用する場合、フラッシュメモリは既にデータが書き込まれている領域にはこの領域を消去した後でなければ自由にデータを書き込むことができず、データの消去を行うには特定サイズのメモリブロックを一括して消去する必要がある。また、フラッシュメモリには消去回数に制限があって制限回数を超えた消去を行うことができず、特定のメモリブロックに集中して記録と消去とが行われた場合には、そのメモリブロックが他のメモリブロックより早く制限回数に達してしまい、フラッシュメモリ全体の有効利用が出来なくなって寿命が低下することになる。
【０００４】
このような事態を回避する技術として、例えば、特許番号第２５８２４８７号公報が開示されている。この公報に開示された技術は、外部記憶装置が、それぞれが少なくとも一つのセクタを含む複数のメモリブロックを有するフラッシュメモリと、コマンド処理部とブロック管理手段とを備えており、ブロック管理手段が各メモリブロックの消去回数と各セクタの状況とを記録しており、コマンド処理部がブロック管理手段の記録に基づいてデータの書込や消去を行うメモリブロックを選定し、この選定による各メモリブロックや各セクタの状況変化をブロック管理手段が記録更新してゆくことにより、特定のセクタやメモリブロックのみが頻繁に書込や消去がなされないようにし、全てのメモリが長期間有効に使用されるようにしたものである。
【０００５】
【発明が解決しようとする課題】
従来の技術においては上記のようにブロック管理手段がメモリブロックを管理することにより、消去回数の少ないメモリブロックが優先的に消去されるようになり、各メモリブロックの消去回数を平均化することができるが、そのために、各メモリブロック毎の消去回数を記録し、管理するブロック管理手段としてのフラッシュメモリ、もしくは、フラッシュメモリの記憶領域を必要とすると共に、書き込み不良が生じて消去回数の記録が失われた場合には消去回数の判定計算ができなくなり、消去回数の平準化がなされなくなってフラッシュメモリの長寿命化が図れないなどの欠点を有するものであった。
【０００６】
この発明は、このような課題を解決するためになされたもので、消去回数を別途記録するための記録領域を必要とせず、フラッシュメモリの各メモリブロック毎の消去回数を平均化して長寿命化を図ることが可能であり、車両のドライブレコーダなど、最新のデータを順次記録・更新するような機器に適したフラッシュメモリのデータ記録法を得ることを目的とするものである。
【０００７】
【課題を解決するための手段】
この発明に係わるフラッシュメモリのデータ記録法は、複数のメモリブロックを有し、各メモリブロック内が複数のセクタに分割されたフラッシュメモリを備え、このフラッシュメモリに記録されたデータの消去がメモリブロック単位でなされるものにおいて、フラッシュメモリ内の複数のメモリブロックが論理的なリングバッファを構成し、フラッシュメモリにデータを記録するときにはフラッシュメモリの消去済みセクタを有するメモリブロック内の先頭の消去済みセクタから順次データが記録されると共に、このメモリブロック内の最終セクタにデータが記録された後にはリングバッファ上における次のメモリブロックのデータが消去され、この消去されたメモリブロックの先頭セクタから順次データの記録が継続されるようにしたものである。
【０００８】
また、動作開始時に、リングバッファ上の消去済みセクタを有するメモリブロックと、このメモリブロック内の先頭の消去済みセクタとが検索され、この先頭の消去済みセクタがデータ記録の先頭セクタとして設定されるようにしたものである。
さらに、リングバッファが、それぞれ複数のメモリブロックを有する複数のフラッシュメモリから形成されるようにしたものである。
【０００９】
【発明の実施の形態】
実施の形態１．
図１ないし図４は、この発明の実施の形態１によるフラッシュメモリのデータ記録法を説明するものであり、図１は、車両に使用されるドライブレコーダのフラッシュメモリに対するデータ記録を行う部分を抜粋して示したブロック図、図２は、フラッシュメモリ内のメモリブロックとセクタとを示す模式図、図３は、起動時に動作して消去状態にあるメモリブロック内における先頭セクタの検出法を説明するフローチャート、図４は、データ記録時の動作を説明するフローチャートである。
【００１０】
ドライブレコーダは図１に示すように、プログラムを実行するＣＰＵ１と、ＣＰＵ１が実行するプログラムなどが記憶されているＲＯＭ２と、プログラムやデータが一時記憶されるＲＡＭ３と、車両に関する状態や走行履歴などの各種のデータが記録され、この記録が順次最新のデータに更新されてゆくフラッシュメモリ４と、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、フラッシュメモリ４のそれぞれを接続するバス５などから構成されている。
【００１１】
フラッシュメモリ４の記憶領域は図２に示すように複数のメモリブロック（ブロック０〜ブロックｍ）から構成され、各ブロックは複数のセクタ（セクタ０〜セクタｎ）から構成されている。フラッシュメモリ４に記録されたデータを消去するときにはこのメモリブロックを最小単位として消去が行われ、記録するときにはセクタを最小単位として記録がなされる。また、メモリブロックはブロックｍの次がブロック０になるようにリングバッファとして構成され、この構成は複数のフラッシュメモリを使用したときも同様であり、先頭のフラッシュメモリの先頭のメモリブロックをブロック０とし、末尾のフラッシュメモリの末尾のメモリブロックをブロックｍとしてリングバッファを構成する。
【００１２】
このようなフラッシュメモリ４に対するデータ記録法を図３と図４のフローチャートにより説明すると次の通りである。まず、ドライブレコーダが起動すると図３のフローチャートに従ってフラッシュメモリ４の中から消去状態にある先頭のセクタが検出される。このために、まず、ステップＳ３０１においてはＣＰＵ１の内部に有するアドレス変数（ａｄｄｒ）にフラッシュメモリ４のブロック０にあるセクタ０のアドレスをセットする。
【００１３】
続くステップＳ３０２ではアドレス変数（ａｄｄｒ）の示すセクタにデータが記録されているかどうかを検出する。例えば、消去状態にあるセクタではフラッシュメモリの特性上、全ビットが１となっているので０のビットがあればそのセクタにはデータが記録されていると判定するものである。このセクタにデータが記録されていない場合にはアドレス変数（ａｄｄｒ）で示されているセクタ、すなわち、この場合はブロック０にあるセクタ０をデータ記録先の先頭セクタとして設定し、処理を終了する。
【００１４】
ステップＳ３０２でアドレス変数（ａｄｄｒ）の示すセクタにデータが記録されていると判定された場合にはステップＳ３０３に進み、アドレス変数（ａｄｄｒ）の示すセクタがそのブロックの最終セクタ（セクタｎ）であるかどうかを判定し、最終セクタであればステップＳ３０４に進んでアドレス変数（ａｄｄｒ）に次のブロックの先頭セクタのアドレスをセットしてステップＳ３０２に戻る。また、ステップＳ３０３の判定にて最終セクタでなければステップＳ３０５に進み、アドレス変数（ａｄｄｒ）に次のセクタのアドレスをセットしてステップＳ３０２に戻る。
【００１５】
すなわち、ステップＳ３０２にてアドレス変数（ａｄｄｒ）の示すセクタにデータの記録があればステップＳ３０３からステップＳ３０５での検索を繰り返して先頭になるセクタを検索し、ブロックの最終セクタまで進んだ場合にはステップＳ３０４にて次のブロックに進み、次のブロックに対してもステップＳ３０５での検索を繰り返して消去状態にある最初のセクタを検出するものである。そして、ここで検出された消去状態のセクタを先頭セクタとして後述するように順次データが記録されてゆくことになる。従って、図３のフローチャートに示された先頭セクタの検索処理はドライブレコーダの起動毎に一度だけ実行すればよいことになる。
【００１６】
このようにして先頭の消去済みセクタが検索された後に、このセクタを先頭にしてフラッシュメモリ４に対するデータ記録がなされるが、その記録手順は図４のフローチャートに示す通りである。図３のフローチャートにて消去状態にある最初のセクタが検出されると、このセクタが最終的にアドレス変数（ａｄｄｒ）にセットされたセクタであるから、図４のステップＳ４０１においてはこのセクタを先頭ブロックの先頭セクタとして車両の状態や走行履歴などに関する最初のデータを記録する。
【００１７】
続くステップＳ４０２ではステップＳ４０１にてデータが書き込まれたセクタがそのメモリブロック内の最終セクタであるかどうかが判定される。ステップＳ４０２にて最終セクタでないと判定されるとステップＳ４０３に進み、次のセクタのアドレスをアドレス変数（ａｄｄｒ）にセットして処理を終了し、次のデータ記録に備える。データが書き込まれたセクタがそのメモリブロック内の最終セクタでない限り、データ書き込み毎にステップＳ４０１からステップＳ４０３までのルーチンが繰り返されることになる。
【００１８】
ステップＳ４０２の判定にてデータが書き込まれたセクタがそのメモリブロック内の最終セクタであると判定されるとステップＳ４０４に進み、ここではリングバッファ上の次のメモリブロックの記録を消去する。各メモリブロックはリングバッファを構成しているので、データ記録を完了したメモリブロックが最終ブロック（ブロックｍ）でない限り次のメモリブロックに進んで消去を行い、データ記録を完了したメモリブロックがブロックｍである場合にはブロック０に戻って記録の消去を行うことになる。
【００１９】
ステップＳ４０４にてリングバッファ上の次のメモリブロックの記録消去が行われるとステップＳ４０５に進み、アドレス変数（ａｄｄｒ）にステップＳ４０４にて消去が完了したメモリブロック内の先頭セクタのアドレスをセットして処理を終了し、次のデータの記録に備える。
【００２０】
このように、この発明の実施の形態１によるフラッシュメモリのデータ記録法によれば、論理的にリングバッファ状に配列されたメモリブロックの消去セクタを有するブロックとそのブロック内の先頭消去セクタとを検索し、このセクタを先頭として順次データを記録すると共に、そのメモリブロックの最終セクタまで記録がなされると、リングバッファ上の次のメモリブロックが消去され、そのブロックの先頭セクタからデータ記録が継続されるため、リングバッファを形成するメモリブロックは消去と記録とが均等に行われることになって、フラッシュメモリ４の長寿命化を図ることができ、そのために消去回数の記録など、特別な処理を行う必要もない。
【００２１】
また、図３のフローチャートに示したように、システムの起動時に最初のデータ記録先を検索し、以降は順にセクタに記録すればよいので、データ記録毎に記録先を検索する必要がなく、さらに、複数のフラッシュメモリ４を使用する場合においても先頭のフラッシュメモリの先頭のメモリブロックをブロック０とし、末尾のフラッシュメモリの末尾のメモリブロックをブロックｍとしてリングバッファを構成するので、単独のフラッシュメモリの場合と同様にデータを記録することができるものである。
【００２２】
【発明の効果】
以上に説明したように、この発明によるフラッシュメモリのデータ記録法において、請求項１に記載の発明によれば、複数のメモリブロックとこのメモリブロック内が複数のセクタに分割されたフラッシュメモリを備え、フラッシュメモリ内の複数のメモリブロックが論理的なリングバッファを構成し、データを記録するときにはフラッシュメモリの消去済みセクタを有するメモリブロック内の先頭の消去済みセクタから順次データが記録され、メモリブロック内の最終セクタにデータが記録された後にはリングバッファ上における次のメモリブロックのデータが消去され、このメモリブロックの先頭セクタから順次データの記録が継続されるようにしたので、データの記録と消去とがリングバッファ上を巡回することになって、記録と消去の回数が各メモリブロック毎に平準化され、また、この平準化のために消去回数の記録や管理を必要としないので、トラブルによる平準化の崩れもなく、安定して平準化が維持できる結果、フラッシュメモリを有効に長寿命化することができるものである。
【００２３】
また、請求項２に記載の発明によれば、請求項１に記載の発明において、動作開始時に、リングバッファ上の消去済みセクタを有するメモリブロックと、このメモリブロック内の先頭の消去済みセクタとを検索し、この先頭の消去済みセクタがデータ記録の先頭セクタとして設定されるようにしたので、データの記録は設定された先頭セクタから順次アドレスを進めてゆけばよく、データ記録毎に記録先のアドレス検索を行う必要がなく、動作プログラムを単純化することができるものである。
【００２４】
さらに、請求項３に記載の発明によれば、請求項１および２に記載の発明において、リングバッファが、それぞれ複数のメモリブロックを有する複数のフラッシュメモリから形成されるようにしたので、記録容量を増すために複数のフラッシュメモリを使用する場合においても特別な処理を行うことなく、一つのフラッシュメモリを使用する場合と同様に記録を行うことができるものである。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるフラッシュメモリのデータ記録法を説明するブロックである。
【図２】この発明の実施の形態１によるフラッシュメモリのデータ記録法を説明するフラッシュメモリの模式図である。
【図３】この発明の実施の形態１によるフラッシュメモリのデータ記録法の記録先検出動作を説明するフローチャートである。
【図４】この発明の実施の形態１によるフラッシュメモリのデータ記録法のデータ記録動作を説明するフローチャートである。
【符号の説明】
１　ＣＰＵ、２　ＲＯＭ、３　ＲＡＭ、
４　フラッシュメモリ、５　バス。
【図１】
2004071033.tif 000003
【図２】
2004071033.tif 000004
【図３】
2004071033.tif 000005
【図４】
2004071033.tif 000006