(57)【要約】【課題】一括消去型不揮発性メモリをより効率的に利用し、書き換え回数を低減して、メモリの寿命を改善すること。【解決手段】一括消去型不揮発性メモリへファイル形式のデータを記録する場合、任意のサイズのファイル（２１）をメモリ内の未記録領域に記録する。その際、記録したファイル（２１）のメモリ内のアドレス（２１１）とファイルのサイズ（２１２）に関する情報を、ファイル管理情報（２１０）として併せて記録する。ここで、記録するファイルのサイズは１バイト単位で設定し、ファイル管理情報にはファイルのサイズを１バイト単位で記述される。【選択図】図２
2006215769.tif 000002
【特許請求の範囲】
【請求項１】
一括消去型不揮発性メモリにファイル形式でデータを記録する方法であって、
任意のサイズのファイルを上記メモリ内の未記録領域に記録するとともに、
記録した該ファイルの該メモリ内のアドレスに関する情報と該ファイルのサイズに関する情報とを、ファイル管理情報として併せて記録することを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項２】
請求項１記載の情報記録方法において、
前記記録するファイルのサイズは１バイト単位で設定し、前記ファイル管理情報には該ファイルのサイズを１バイト単位で記述されることを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項３】
請求項１または２に記載の情報記録方法において、
前記メモリに新たなファイルを追加記録する際、前記ファイル管理情報には、該追加記録するファイルだけでなく、前記メモリ内に保存されている有効なファイル全てについてのアドレスとサイズに関する情報を含めて最新のファイル管理情報として記録することを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項４】
請求項３に記載の情報記録方法において、
前記メモリ内に保存されているファイルを新たなファイルで更新する際、該保存されている更新前のファイルは消去せずに新たなファイルを追加記録し、
前記ファイル管理情報から該更新前のファイルについての情報を削除し、該新たなファイルのアドレスとサイズに関する情報を追加して最新のファイル管理情報として記録することを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項５】
請求項１ないし４のいずれか１項に記載の情報記録方法において、
前記メモリはユーザ領域とヘッダ領域とを有し、
前記ファイル及び前記ファイル管理情報は該ユーザ領域に記録するとともに、
前記ファイル管理情報を検索するための管理検索情報を該ヘッダ領域に併せて記録することを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項６】
請求項５に記載の情報記録方法において、
前記管理検索情報には、前記ファイル管理情報の内で有効なファイル管理情報の前記メモリ内のアドレスと該ファイル管理情報のサイズに関する情報を記述することを特徴とする一括消去型不揮発性メモリの情報記録方法。
【請求項７】
一括消去型不揮発性メモリを有する情報記録装置において、
ファイル形式の任意のサイズのデータを上記メモリ内の未記録領域に記録するとともに、記録する該データの上記メモリ内のアドレスと該ファイルのサイズに関するファイル管理情報を併せて記録する手段を備えることを特徴とする情報記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の一括消去型不揮発性メモリの情報記録方法およびこれを用いた情報記録装置に関し、データの書込みを効率良く実行するための技術に係わる。
【背景技術】
【０００２】
パソコンや情報機器に搭載されているフラッシュメモリは、データの書換えが可能なＲＡＭの特徴と、電源を切った後でもデータが保持できるＲＯＭの特徴を併せ持つ不揮発性の半導体メモリである。そして、シンプルなセル構造により大容量化、低コスト化が進み、各種装置に広く採用されている。
【０００３】
しかしながら、フラッシュメモリは一括消去型構造であり、消去は一般にチップ単位、またはそれより小さなブロック単位で行われる。すなわち、既にデータが書き込まれている領域に新たなデータを書き込む場合は、その記憶位置を含むブロックを一括消去した後に書込みを行う必要がある。消去・書込みには、通常数十ミリ秒程度の時間を要するが、消去・書き込み動作を繰り返すことでフラッシュメモリの性能が劣化し、消去・書込み時間が所定時間よりも長くなり、書換え回数は、１万ないし１０万回が寿命とされている。
【０００４】
そこで、フラッシュメモリの使用寿命を長くするために、書変え回数を減らすような各種の提案がなされている。例えば特許文献１では、記録ブロックを複数のセグメント単位に分割し、セグメント単位でデータを記録管理している。また、記録したデータの更新は、前のデータを消去せずに新たなデータを追加書込み、対応する管理情報を更新するようにしている。
【０００５】
【特許文献１】特開２００１−１０１０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１の方法によれば、記録領域をセグメントに分割（実施例の説明では１ブロックを８セグメントに分割）しているので、記録単位のサイズが小さく、よって書き換え回数が減少することが期待できる。また、不要になったデータは消去せず、その管理情報のみを更新するようにしたので、データ領域の書き換えは発生しない。
【０００７】
しかしながら、記録単位が小さくなってはいるが、依然としてセグメント単位に固定されているので、任意の記録データに対してメモリを十分に効率良く利用しているとは言いがたい。その結果、書き換え回数をもっと低減できる余地がある。
【０００８】
本発明の目的は、一括消去型不揮発性メモリをより効率的に利用し、書き換え回数をさらに低減して、メモリの寿命を改善することにある。
【課題を解決するための手段】
【０００９】
本発明は、一括消去型不揮発性メモリへファイル形式のデータを記録する方法であって、任意のサイズのファイルをメモリ内の未記録領域に記録するとともに、記録したファイルのメモリ内のアドレスに関する情報とファイルのサイズに関する情報とを、ファイル管理情報として併せて記録する。ここで、記録するファイルのサイズは１バイト単位で設定し、ファイル管理情報にはファイルのサイズを１バイト単位で記述される。
【００１０】
また、新たなファイルを追加記録する際、ファイル管理情報には、追加記録するファイルだけでなく、メモリ内に保存されている有効なファイル全てについてのアドレスとサイズに関する情報を含めて最新のファイル管理情報として記録する。
【００１１】
また、メモリ内に保存されているファイルを新たなファイルで更新する際、保存されている更新前のファイルは消去せずに新たなファイルを追加記録し、ファイル管理情報から更新前のファイルについての情報を削除し、新たなファイルのアドレスとサイズに関する情報を追加して最新のファイル管理情報として記録する。
【００１２】
また、メモリはユーザ領域とヘッダ領域とを有し、前記ファイル及び前記ファイル管理情報はユーザ領域に記録するとともに、前記ファイル管理情報を検索するための管理検索情報をヘッダ領域に併せて記録する。
【００１３】
本発明では、一括消去型不揮発性メモリを有する情報記録装置において、ファイル形式の任意のサイズのデータをメモリ内の未記録領域に記録するとともに、記録するデータのメモリ内のアドレスとファイルのサイズに関するファイル管理情報を併せて記録する手段を備える。
【発明の効果】
【００１４】
本発明によれば、一括消去型不揮発性メモリの使用寿命が改善され、よってこれを搭載した装置の性能が向上する。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面を用いて説明する。
【００１６】
図１は本発明で対象とする一括消去型不揮発性メモリであるフラッシュメモリの論理的な領域構成を示す図である。フラッシュメモリの物理消去単位内に、記録領域を論理的にヘッダ領域１０とユーザ領域２０とを設ける。本実施例では、物理的消去単位がメモリを複数のブロック１に分割したブロック単位とする場合を示すが、メモリチップ全体の場合であっても同様である。
【００１７】
ユーザ領域２０には、ファイル形式のユーザデータやプログラムなどのファイルデータ（以下、ファイルＡ、ファイルＢと略す）と、そのファイルデータを管理・検索するためのファイル管理情報（または単に管理情報とも略す）とを記録する。ここでファイル管理情報には、ファイルデータが記録されているメモリ内のアドレスとファイルデータの占めるサイズ（容量、バイト数）についての情報を含む。すなわち、本実施例では一回に記録するファイルデータのサイズを任意のサイズとし、そのサイズをファイル管理情報にて同時に記憶・管理するようにしたところに特徴がある。そして、新たなファイルデータをユーザ領域２０内の未記録領域に追加または更新する毎に、ファイル管理情報も更新して追加記録する。
【００１８】
一方ヘッダ領域１０には、ユーザ領域２０に記録されるファイル管理情報を検索し取得するためのファイル管理情報の検索情報（以下管理検索情報と略す）を記録する。ここで管理検索情報には、ファイル管理情報が記録されているユーザ領域２０内のアドレスとファイル管理情報の占めるサイズ（容量、バイト数）についての情報を含む。すなわち、メモリに記録する各ファイルデータは、ヘッダ領域１０の管理検索情報とユーザ領域２０のファイル管理情報との２段階の情報を組み合わせて管理し、検索する構成とした。このようにすることで、メモリに記録するファイルデータの個数、サイズを任意とし、ファイルデータの追加・更新等に柔軟に対応できる。
【００１９】
ファイルデータをユーザ領域２０内の未記録領域に追加または更新する毎に、管理検索情報を更新してヘッダ領域１０の未記録領域に追加記録する。そして、ヘッダ領域内に最後に記録された管理検索情報を、最新の管理検索情報とする。このようにすることで、現時点でのファイルの有効／無効を識別し、また過去のファイルの記録履歴を検索することが可能となる。
【００２０】
図２から図４は、本発明によるフラッシュメモリへの情報記録方法の一実施例を順次に示す図である。
【００２１】
図２は、未記録状態のメモリにファイルデータ（ファイルＡ）を記録するときの記録方法を示す。ユーザ領域２０にファイルＡ（２１）を記録し、それに続いてファイルＡの管理情報（２１０）として、ファイルＡの先頭アドレス（２１１）とファイルＡのサイズ（２１２）の情報を記録する。ファイルＡの先頭アドレス（２１１）は、図の符号Ｐ１で示されるアドレスであり、ファイルＡのサイズ（２１２）とは、ファイルＡの容量（符号Ｐ１からＱ１までのバイト数）である。本実施例では、ファイルＡのサイズを任意（最小単位である１バイト単位）としているので、記録したファイルＡを効率よく管理するために、先頭アドレスだけでなくファイルＡのサイズの情報を併せて記述する。
【００２２】
次に、ヘッダ領域１０に、管理情報（２１０）に対する管理検索情報（１１０）として、管理情報の先頭アドレス（１１１）と管理情報のサイズ（１１２）に関する情報を記録する。先頭アドレス（１１１）は図の符号Ｐ２で示されるアドレス、すなわちファイルＡの先頭アドレス（２１１）が記録されている領域の先頭のアドレスである。サイズ（１１２）は、管理情報（２１０）すなわちファイルＡの先頭アドレス（２１１）とファイルＡのサイズ（２１２）の占めるサイズ（符号Ｐ２からＱ２）である。このサイズは例えば数バイト程度である。
【００２３】
図３は、引き続きファイルＢを記録するときの記録方法を示す。ユーザ領域２０の既記録領域の最終の部分、この場合にはファイルＡのサイズ（２１２）に続けてファイルＢ（２２）とその管理情報（２２０）を記録する。ここでファイルＢ（２２）も任意のサイズ（１バイト単位）が可能である。また管理情報（２２０）は、新たなファイルＢの管理情報だけでなく、記録済みで継続して保存したいファイルＡの管理情報を再度記述する。よって、管理情報（２２０）の中身は、ファイルＡの先頭アドレス（２２１）、ファイルＡのサイズ（２２２）、ファイルＢの先頭アドレス（２２３）、ファイルＢのサイズ（２２４）が連結して構成される。なお管理情報（２２０）の内部の順序はこれに限らず任意である。ここにファイルＢの先頭アドレス（２２３）は図の符号Ｐ３で示されるアドレスであり、サイズ（２２４）はファイルＢの占めるサイズ（符号Ｐ３からＱ３）である。なお、前に記録した管理情報（２１０、２１１、２１２）もユーザ領域内に残存しているが、この時点では管理情報（２２０）が最新の管理情報となる。
【００２４】
このように、記録するファイルＡ、ファイルＢのサイズを任意（１バイト単位）としたので、記録単位の規制を受けることがなくそのまま記録でき、その結果、メモリ内の記録領域を隙間なく効率的に利用できることになる。また、管理情報をその都度更新するので、有効として保存するファイルの個数とサイズは任意となる。
【００２５】
次にヘッダ領域１０に、既記録領域の最終の部分、この場合管理情報のサイズ（１１２）に続けて、管理情報（２２０）に対する管理検索情報（１２０）として、管理情報の先頭アドレス（１２１）と管理情報のサイズ（１２２）を記録する。先頭アドレス（１２１）は図の符号Ｐ４で示されるアドレスであり、サイズ（１２２）は、管理情報（２２０）すなわちファイルＡの先頭アドレス（２１１）、ファイルＡのサイズ（２２２）、ファイルＢの先頭アドレス（２２３）、ファイルＢのサイズ（２２４）が占めるサイズ（符号Ｐ４からＱ４）である。すなわち、管理検索情報（１２０）を設けたことにより、現時点で有効とする管理情報の内容を任意に指定できる。なお、前に記録した管理検索情報（１１０、１１１、１１２）もヘッダ領域内に残存しているが、この時点では管理検索情報（１２０、１２１、１２２）が最新の管理検索情報となる。
【００２６】
図４は、前に記録したファイルＡをファイルＡ’に更新するときの記録方法を示す。ユーザ領域２０の未記録部分に、既記録領域の最終部分（２２４）に続いて、更新する新たなファイルＡ’（２３）とその管理情報（２３０）を記録する。管理情報（２３０）には、ファイルＡ’の先頭アドレス（２３１）、ファイルＡ’のサイズ（２３２）、ファイルＢの先頭アドレス（２３３）、ファイルＢのサイズ（２３４）を含む。先頭アドレス（２３１）は図の符号Ｐ５で示されるアドレスである。ここでの管理情報（２３０）では、更新する前のファイルＡ（２１）に関する情報は削除し、保存するファイルＢ（２２）に関する管理情報は再度記述する。なお、更新される前のファイルＡ（２１）や前の管理情報（２２０）はユーザ領域内に残存しているがこの時点では無効となり、管理情報２３０が最新の管理情報となる。
【００２７】
次にヘッダ領域１０に、既記録領域の最終の部分、この場合管理情報のサイズ（１２２）に続けて、管理情報（２３０）に対する管理検索情報（１３０）として、管理情報の先頭アドレス（１３１）と管理情報のサイズ（１３２）を記録する。先頭アドレス（１３１）は図の符号Ｐ６で示されるアドレスであり、サイズ（１３２）は、管理情報（２３０）すなわちファイルＡ’の先頭アドレス（２３１）、ファイルＡ’のサイズ（２３２）、ファイルＢの先頭アドレス（２３３）、ファイルＢのサイズ（２３４）が占めるサイズ（符号Ｐ６からＱ６）である。なお、前に記録した管理検索情報（１２０、１２１、１２２）もヘッダ領域内に残存しているが、この時点では管理検索情報（１３０、１３１、１３２）が最新の管理検索情報となり、これで指定される管理情報（２３０）が最新の有効とする管理情報になる。
【００２８】
このように、ファイルデータを追加・更新する度に、その時点で有効とする（継続して保存すべき）ファイルデータ全てについてのファイル管理情報を記述し、また有効とするファイル管理情報についての管理検索情報を記述する。これによりファイルの追加、更新に対し柔軟に対応できる。
【００２９】
上記本実施例の記録方法によれば、メモリの利用効率がより向上し、また消去・書換え回数を抑制できるので、メモリの寿命を改善できる。
【００３０】
次に、フラッシュメモリから記録済みのファイルデータを検索して読み出す方法について説明する。一例として、図４のように記録したメモリからファイルＢ（２２）を読み出す場合について述べる。
【００３１】
まず、ヘッダ領域１０から最新の管理検索情報を検索する。この場合、ヘッダ領域１０には３通りの管理検索情報（１１０、１２０、１３０）が存在するが、最後に記録した管理検索情報（１３０）が最新の管理検索情報に相当する。そしてこの最新の管理検索情報（１３０）から、最新の管理情報の先頭アドレス（１３１）と管理情報のサイズ（１３２）とを取得する。取得したこの先頭アドレス（１３１）と管理情報のサイズ（１３２）の情報から、最新の管理情報（２３０）はアドレスＰ６からＱ６まで占めていることが分かる。
【００３２】
次に、最新の管理情報（２３０）を検索して、これに記述されている所望のファイルＢに対する先頭アドレス（２３３）とサイズ（２３４）とを取得する。これらの情報から、ファイルＢ（２２）はアドレスＰ３からＱ３まで占めていることが分かる。このようにして所望のファイルＢ（２２）を検索し、ファイルＢのデータを読み出す。
【００３３】
図５は、上記した記録方法に関し、その手順を示すフローチャートである。ここでは、既に記録済みのファイルＡに対しファイルＢを追加記録する場合、すなわち前記図２から図３に至る場合について説明する。
【００３４】
ステップＳ５０にて、ファイルＢの書込み要求を受ける。まず、現時点でメモリ内に保存されている有効ファイルに関する情報を取得する。ステップＳ５１にて、ヘッダ領域１０から最新の管理検索情報（１１０）を取得する。ステップＳ５２にて、取得した最新の管理検索情報（１１０）を元に、ユーザ領域２０から最新のファイル管理情報（２１０）を取得する。このファイル管理情報（２１０）より、メモリ内にはファイルＡ（２１）が保存され、その先頭アドレス２１１とファイルＡのサイズ２１２とを知る。
【００３５】
次にステップＳ５３にて、ユーザ領域２０の未記録領域を検索する。これは、ステップＳ５１で取得した管理検索情報（１１０）に記述されている管理情報の先頭アドレス（１１１）とサイズ（１１２）とから、管理情報（２１０）が符号Ｐ２からＱ２まで占めており、これに続く領域が未記録領域（図２で符号Ｐ３で始まる領域）であることを知る。
【００３６】
ステップＳ５４にて、書込み要求を受けたファイルＢ（２２）を未記録領域に記録する。ステップＳ５５にて、ファイル管理情報を更新して、更新したファイル管理情報（２２０）をファイルＢ（２２）に続けて記録する。このファイル管理情報（２２０）には、上記ステップＳ５２にて取得した保存されているファイルＡの先頭アドレス（２１１）とファイルＡのサイズ（２１２）に関する情報を含めて記述する。
【００３７】
ステップＳ５６にて、ヘッダ領域の未記録位置を検索する。この場合、管理情報のサイズ（１１２）が最終の記録位置であり、これに続く位置が未記録位置である。ステップＳ５７にて、管理検索情報を更新し、更新した管理検索情報（１２０）をこの未記録位置に記録する。このようにしてファイルＢの追加記録を完了し、図３に示す記録状態を得る。
【００３８】
このように、記録するファイルのサイズ、および管理情報のサイズに関する情報の取得と追記を繰り返して、ファイルの追加・更新を効率よく実行することができる。
【００３９】
図６は、本発明によるフラッシュメモリの記録方法を採用した情報記録装置の一実施例を示すブロック図である。
【００４０】
本実施例の情報記録装置は、ＣＰＵ６１と、フラッシュメモリ６３と、ランダムアクセスメモリ（ＲＡＭ）６４と、これらを制御するメモリ制御部６２を備えて構成される。情報の種類により、フラッシュメモリ６３にはシステム動作用プログラムや恒久情報などの情報を不揮発で記憶する。またランダムアクセスメモリ６４には、一時的に情報を記憶する。このような装置において、フラッシュメモリには機器設計のためのプログラム、自動調整用プログラム、機能追加用プログラムなどがインストールされる。本実施例では、これらプログラムデータの更新書換えに対して、フラッシュメモリを効率的に使用し、メモリの劣化を抑制し、装置全体の性能向上に貢献する。
【００４１】
上記各実施例では、一括消去型不揮発性メモリとしてフラッシュメモリの場合を例に説明したが、本発明は、その他の一括消去型のＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）やＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）についても同様に適用できる。
【図面の簡単な説明】
【００４２】
【図１】本発明によるフラッシュメモリの論理的な領域構成を示す図。
【図２】本発明により、フラッシュメモリにファイルＡを記録する記録方法の一実施例を示す図。
【図３】図２の後に、ファイルＢを記録するときの記録方法を示す図。
【図４】図３の後に、記録したファイルＡをファイルＡ’に更新するときの記録方法を示す図。
【図５】本発明の記録方法に関し、その手順の一例を示すフローチャート。
【図６】本発明によるフラッシュメモリの記録方法を採用した情報記録装置の一実施例を示すブロック図。
【符号の説明】
【００４３】
１…フラッシュメモリ（ブロック）、１０…ヘッダ領域、２０…ユーザ領域、２１，２２，２３…ファイルデータ、１１０，１２０，１３０…管理検索情報、１１１，１２１，１３１…管理情報の先頭アドレス、１１２，１２２，１３２…管理情報のサイズ、２１０，２２０，２３０…ファイル管理情報、２１１，２２１，２２３，２３１，２３３…ファイルの先頭アドレス、２１２，２２２，２２４，２３２，２３４…ファイルのサイズ、６１…ＣＰＵ、６２…メモリ制御部、６３…フラッシュメモリ、６４…ランダムアクセスメモリ。
【図１】
2006215769.tif 000003
【図２】
2006215769.tif 000004
【図３】
2006215769.tif 000005
【図４】
2006215769.tif 000006
【図５】
2006215769.tif 000007
【図６】
2006215769.tif 000008