(57)【要約】  コントローラは、その時点でメモリに記憶されているファイルに関連するデータを記憶していないブロックを決定するために、連続的または周期的にＦＡＴテーブルに対して問い合わせを行う。ファイルに割り当てられていないブロックを見つけた場合、このブロックが消去され、データ受信可能としてマークされる。このように、ファイルをメモリに書き込んでいるときに消去動作が行われるのを待つことなく、大きなファイルをメモリに記憶することができる。【選択図】  図２
2008507770.tif 000002
【特許請求の範囲】
【請求項１】
ブロックに分割されたフラッシュメモリであって、一定数の前記ブロックが消去済み状態でデータ受信可能に維持され、ファイルアロケーションテーブル（ＦＡＴ）が記憶されたフラッシュメモリと、
前記ＦＡＴに対して問い合わせを行い、アクティブなファイルに割り当てられたセクターを有しないメモリブロックを見つけて消去することができるメモリコントローラであって、前記メモリに対してファイルが読み取りまたは書き込みされていない間に前記問い合わせと消去が行われるメモリコントローラと、
を含み、消去動作が行われるのを待つことなく前記一定数のブロックよりも大きなファイルを前記メモリに書き込むことができるフラッシュメモリサブシステム。
【請求項２】
前記メモリがＮＡＮＤフラッシュメモリである請求項１に記載のシステム。
【請求項３】
前記メモリは、前記問い合わせと消去動作を除いて、スマートメディア仕様に従って動作する請求項１に記載のシステム。
【請求項４】
書込動作の前に消去動作が必要なメモリであって、前記メモリはブロックに分割され、一定数の前記ブロックが消去済み状態でデータ受信可能に維持され、ファイルアロケーションテーブル（ＦＡＴ）が記憶されたメモリと、
前記ＦＡＴに対して問い合わせを行い、アクティブなファイルに割り当てられたセクターを有しないメモリブロックを見つけて消去することができるメモリコントローラであって、前記メモリに対してファイルが読み取りまたは書き込みされていない間に前記問い合わせと消去が行われるメモリコントローラと、
を含み、消去動作が行われるのを待つことなく前記一定数のブロックよりも大きなファイルを前記メモリに書き込むことができるメモリシステム。
【請求項５】
前記メモリがフラッシュメモリである請求項４に記載のシステム。
【請求項６】
前記メモリがＮＡＮＤフラッシュメモリである請求項４に記載のシステム。
【請求項７】
前記メモリは、前記問い合わせと消去動作を除いて、スマートメディア仕様に従って動作する請求項４に記載のシステム。
【請求項８】
前記メモリは、前記問い合わせと消去動作を除いて、スマートメディア仕様に従って動作する請求項６に記載のシステム。
【請求項９】
前記メモリは、予め消去され書込動作の準備ができたブロックを少なくとも２４個有している請求項４に記載のシステム。
【請求項１０】
ブロックに分割され、個々のブロックに対する書き込みの前に個々のブロックが消去されていることを要求するメモリであって、ファイルアロケーションテーブル（ＦＡＴ）が記憶されたメモリを動作させる方法であって、
現在あるファイルに割り当てられていないブロックを識別するために、読取または書込動作が行われていないときに前記ＦＡＴに対して問い合わせを行い、
読取または書込動作が行われていないときに識別されたブロックを消去し、
消去動作が行われるのを待つことなく大きなファイルを前記メモリに記憶することができる方法。
【請求項１１】
前記メモリがフラッシュメモリである請求項１０に記載の方法。
【請求項１２】
前記メモリがＮＡＮＤフラッシュメモリである請求項１０に記載の方法。
【請求項１３】
前記メモリは、前記問い合わせと消去動作を除いて、スマートメディア仕様に従って動作する請求項１０に記載の方法。
【請求項１４】
ブロックに分割され、個々のブロックに対する書き込みの前に個々のブロックが消去されていることを要求するメモリであって、ファイルアロケーションテーブル（ＦＡＴ）が記憶されたメモリと、
現在あるファイルに割り当てられていないブロックを識別するために、読取または書込動作が行われていないときに前記ＦＡＴに対して問い合わせを行う手段と、
読取または書込動作が行われていないときに識別されたブロックを消去する手段と、
を含み、消去動作が行われるのを待つことなく大きなファイルを前記メモリに記憶することができるメモリサブシステム。
【請求項１５】
前記メモリがフラッシュメモリである請求項１４に記載のシステム。
【請求項１６】
前記メモリがＮＡＮＤフラッシュメモリである請求項１４に記載のシステム。
【請求項１７】
請求項１４に記載のメモリサブシステムと組み合わされ、該メモリサブシステムとユニバーサルシリアルバスにより接続されるホストコンピュータを含むシステム。
【請求項１８】
前記メモリコントローラはユニバーサルシリアルバスインタフェイスを含む請求項４に記載のメモリシステム。
【請求項１９】
請求項１８に記載のメモリシステムと組み合わされ、該メモリシステムとユニバーサルシリアルバスにより接続されるホストコンピュータを含むシステム。
【請求項２０】
前記メモリコントローラはユニバーサルシリアルバスインタフェイスを含む請求項１に記載のフラッシュメモリサブシステム。
【発明の詳細な説明】
【発明の技術分野】
【０００１】
本発明は、フラッシュメモリに係り、特にユニバーサルシリアルバス（ＵＳＢ）によるシステムに接続されるフラッシュメモリに関するものである。
【発明の背景】
【０００２】
数多くの種類の異なるフラッシュメモリがある。しかしながら、本発明は、ＮＡＮＤフラッシュメモリとして一般的に知られているものに関するものであり、ここで用いられるフラッシュメモリという用語は概してＮＡＮＤフラッシュメモリを指す。
【０００３】
フラッシュメモリ装置の重要な特徴は、外部の電源がなくても記憶データを保持できる点にある。このため、フラッシュメモリは「サムドライブ」のような装置やデジタルカメラによく用いられる。フラッシュメモリ装置はコンピュータまたはカメラから取り出すことができ、装置に記憶されたデータは失われない。
【０００４】
フラッシュメモリにおける読取動作は、旧型の安価なランダムアクセス（ＲＡＭ）メモリにおける読取動作と同様に行われる。しかしながら、フラッシュメモリにおける書込動作は、ＲＡＭメモリにおいて読取動作が行われるのとは異なった方法で行われる。
【０００５】
ＲＡＭメモリにおいては、他のデータを含んでいるそれぞれのメモリ位置に新しいデータを書き込むことができる。フラッシュメモリにおいてはこれができない。既にデータを含んでいるメモリ内の位置には新しいデータを書き込むことができない。フラッシュメモリにおいては、新しいデータをある位置に書き込めるようにするためにはその位置を消去しなければならない。また、フラッシュメモリの個々の位置は消去することができない。フラッシュメモリはブロックに分割されていて、消去動作はブロック全体に対して行われるのである。このため、以前にあるブロックにデータが記憶されていた場合、そのブロック内のそれぞれの位置にデータを書き込めるようにするためには、特定の位置を含むブロック全体を消去しなければならない。
【０００６】
フラッシュメモリのブロックが保護されたデータを含んでいる場合には、そのブロック内の特定の位置に新しいデータを書き込む前に、その特定の位置を含むブロック全体の既存データを一時的に再配置しなければならない。これは、１つの特定の位置を消去するためにはブロック全体を消去しなければならないからである。保護したいブロックに記憶された既存データは、消去動作の前にどこか他の位置に記憶しておかなければならない。
【０００７】
広く用いられているフラッシュメモリの一種は、Solid State Floppy Disk Card（ＳＳＦＤＣ）、またはより一般的にスマートメディア（商標）と呼ばれている。スマートメディア仕様はＳＳＦＤＣフォーラムによって開発されたもので、ＳＳＦＤＣフォーラムによって維持管理されている。スマートメディア仕様は広く利用されている。スマートメディア仕様は、データ記憶のために利用可能な２４個の一時（消去済み）ブロックがメモリになければならないことを要求している。
【０００８】
標準スマートメディア装置では、（サイズが２４ブロック以下の）比較的小さなファイルを記憶するのに必要な動作および２４ブロックよりも大きなサイズのファイルを記憶するのに必要な動作において大きな違いがある。２４ブロックよりも大きなファイルを記憶するためには、ファイル書込動作が完了する前に１以上のブロック消去動作を行わなければならない。
【０００９】
フラッシュメモリの典型的な書込動作に必要なステップの例を以下に示す。これらは例示に過ぎず、それぞれ独自の特徴を有する多様なフラッシュメモリ装置が存在することは理解されよう。
【００１０】
第１の例は、ファイルサイズがフラッシュメモリブロックサイズにぴったり合う「ベストケース」状態である。多くの状態においてこれは起こりにくいシナリオであるが、有用な第１の例として役立つであろう。この例においては、部分ブロック移動は起こらない。メモリコントローラが、空ブロックの１つを識別し、データをそのブロックに書き込むだけである。スマートメディア仕様は２４個の利用可能な空ブロックを要求していることに留意されたい。データの記憶が完了した後、コントローラは、データ受信可能な消去済みブロックが２４個存在するように未割り当てブロックを消去する。
【００１１】
第２の例は、既にデータを含んでいるブロック内で少量のデータが変更されるものである。これは幾分現実的な例である。この例は部分ブロック移動動作を必要としている。まず、変更されない既存データが予備（予め消去された）ブロックの１つに移動される。次に、新しいデータがこのブロック内のデータに追加される。記憶動作が完了した後、コントローラは、ファイルに割り当てられなくなった他のブロックを消去する。
【００１２】
第３の例は、特に本発明に関連する例である。この例では、２４ブロックのサイズよりも大きなファイルがフラッシュメモリに書き込まれる。まず、（予め消去された）２４個の予備ブロックが新しいデータで満たされる。その後、コントローラは、使用されているデータを持たなくなった他のブロックを見つけて、これらのブロックを消去しなければならない。最後に、新しく消去されたこれらのブロックにファイル内の付加データが書き込まれる。このように、比較的冗長な消去動作を行わなければ、記憶動作を完了することができない。
【００１３】
ホストシステムは、どの論理アドレスが個々のファイルに関連するデータを含んでいるのかを記録するためにファイルアロケーションテーブル（ＦＡＴ）を使用している。本発明は、ＦＡＴがフラッシュメモリ内に記憶されることを利用している。ＦＡＴテーブルは、どの論理アドレスがどのファイルにマップされているのかをオペレーティングシステムに示すものである。そのときに、ファイルにマップされていない論理アドレスは、メモリに記憶されたファイルのいずれによっても使用されていない。メモリコントローラは、論理アドレスを対応する物理アドレスに関連づけるテーブルを維持している。
【発明の概要】
【００１４】
概して、フラッシュメモリ装置では、消去されてデータ受信可能になっているブロックの数が限られている。ファイルアロケーションテーブル（ＦＡＴ）がフラッシュメモリに記憶されており、これは、どのブロックがファイルに割り当てられており、どのブロックがファイルに割り当てられていないかを示す情報を有している。本発明によれば、メモリコントローラは、その時点でメモリに記憶されているファイルに割り当てられていない論理アドレスを決定するために、連続的または周期的にＦＡＴテーブルに対して問い合わせを行う。ファイルに割り当てられていない論理アドレスのブロックを見つけた場合、対応する物理アドレスのブロックが消去され、データ受信可能としてマークされる。このため、記憶動作が完了する前に消去動作が行われるのを待つことなく、通常消去されているブロックの数のサイズよりも大きなファイルをメモリに記憶することができる。
【詳細な説明】
【００１５】
以下、添付図面を参照して本発明をより詳細に説明する。図面は、本発明の代表的な実施形態とこれらの実施形態の作用を示すものである。しかしながら、本発明は多くの異なる形態にて具体化することができ、本発明がここで説明された実施形態に限定されるものと解すべきではない。これらの実施形態は、本発明の概念および範囲を当業者に開示および伝えるものである。図面では、ボックスのサイズは物理的要素のサイズを表していない。図中のブロックサイズは、図示しやすいようにするためおよび本発明の説明を簡単にするためだけに選択されたものである。図面において、同一の参照符号は同一の要素を示すために用いられている。
【００１６】
本発明は、書込の前に消去サイクルを必要とするメモリに関するものである。フラッシュメモリはそのようなタイプのメモリの１つである。ここで述べる具体的な実施形態は、「スマートメディア（商標）」としても知られているSolid State Floppy Disk Cardを利用している。しかしながら、本発明の他の実施形態は、データの書込の前に消去サイクルを必要とする他のタイプのメモリを利用するものであることに留意すべきである。
【００１７】
スマートメディアカードは、記念切手と同じくらいの物理的サイズを有する小さなフラッシュメモリカードである。スマートメディアカードは、ＳＳＦＤＣフォーラムとして知られる組織によって規定されたものである。
【００１８】
頭文字からなる「ＳＳＦＤＣ」は、「Solid State Floppy Disk Card」を意味している。１９９６年にSolid State Floppy Disk Cardという名前が「スマートメディア」に変更された。ＳＳＦＤＣフォーラムは「ＳＳＦＤＣフォーラム」という名前を持ち続けている。ＳＳＦＤＣフォーラムは、スマートメディアフラッシュメモリ用の仕様を公表している。ＳＳＦＤＣフォーラムには、東京都東芝ビル４階ＣゾーンのＳＳＦＤＣフォーラム事務局で連絡を取ることができる。
【００１９】
スマートメディア仕様は、ブロックに分割されるフラッシュメモリを規定している。その仕様は、スマートメディアメモリが、消去されデータ記憶可能なブロックを２４個有することを要求している。すなわち、書込動作の前にはいつでも、消去され書込動作の準備ができたブロックが少なくとも２４ブロック（ここでは一時記憶ブロックとして構成される）なければならない。
【００２０】
スマートメディアフラッシュメモリのブロック図が図１に示されている。メモリはブロックに分割されている。メモリ内のブロックの正確な数および各ブロックのサイズは、個々のメモリのサイズに依存する。異なるサイズの多様なフラッシュメモリが市販されている。図１において、メモリブロックはＢ１からＢｘで示されており、点線はメモリのサイズによって変化するブロックの数を示している。すなわち、点線は、特に示されていないブロックを示している。
【００２１】
メモリ内のブロックのうち２４個が一時記憶ブロックとして指定されている。図中、一時記憶ブロックはラベルＴ１，Ｔ２等で示されている。便宜上、すべての一時記憶ブロックを図中に示してはいない。後述するように、メモリが動作すると一時記憶ブロックＴ１からＴ２４の位置は変化する。本発明とは関係のない種々の標準的なメモリの特徴は図面に示されておらず、ここでは説明しないことに留意されたい。
【００２２】
フラッシュメモリ１００は、ＦＡＴテーブル用および他の制御情報用の特別な記憶位置（オペレーティングシステムにより決定される）を含んでいる。ＦＡＴテーブルは、メモリ内に記憶された個々のファイルに論理アドレスをリンクまたはマップするためにオペレーティングシステムによって使用される。ＦＡＴテーブルは、メモリ内のどの論理位置がどのファイルに割り当てられているのかを示している。また、論理アドレスとメモリ内の物理的位置との間のマッピングもある。これはメモリコントローラによってなされる。
【００２３】
スマートメディア仕様は、一時記憶のために利用可能な２４ブロックをメモリが有していることを要求している。メモリが新しい場合、すべてのブロックは空で記憶可能である。一時記憶用に指定された２４ブロックを除くメモリ内のすべてのブロックに初期データが書き込まれると仮定しよう。このときメモリは満杯になる。ＦＡＴテーブルは、（メモリのサイズにより決定される）利用可能な論理アドレスのすべてを個々のファイルにリンクさせるエントリを有している。メモリコントローラは、どの論理アドレスがどの物理アドレスに対応するのかを示すテーブルを有している。消去されデータ受信可能な２４個の一時記憶ブロックが依然として存在する。
【００２４】
次に、オペレーティングシステムがファイルを消去すると仮定しよう。このファイルはメモリ内の３ブロックをカバーしていると仮定しよう。オペレーティングシステムがこのファイルを消去した後、ＦＡＴテーブルは、これら３ブロックの論理アドレスがファイルに割り当てられなくなったことを示す。しかしながら、スマートメディア仕様によれば、消去されデータ受信可能な２４ブロックが既に存在するので、データを記憶していたブロックはこの時点では消去されない。
【００２５】
さて、異なる種々の状態を取り扱わなければならないことをスマートメディア仕様がどのように示しているかを検討してみる。これらすべての例は、しばらくの間メモリが動作しており、ある時点でメモリが満杯になり、別の時点でメモリがいくらかの空のスペースを有するように種々のファイルが消去されたものと仮定している。第１の例として、ホストが１ブロックをカバーするサイズのファイルをメモリに送信すると仮定しよう。このファイルは、一時記憶用に指定されたブロックの１つに記憶される。コントローラは、その一時記憶ブロックの物理アドレスを論理アドレスに割り当て、ファイル動作がかなり速く進行する。ファイルが記憶された後は２３個の一時記憶ブロックだけが残る。しかしながら、記憶されたブロック内の論理アドレスに対してコントローラが新しい物理アドレスを割り当てたので、利用可能な一時ブロックを２４個に戻すためにどの物理ブロックを消去できるのかを認識する。この消去動作は、比較的長い時間かかるが、記憶用に送信されたファイルが既に記憶されているので問題にはならない。
【００２６】
次に、ホストが２５ブロックをカバーするサイズのファイルをメモリに送信すると仮定しよう。スマートメディア仕様に従い、以下の動作が行われる。
【００２７】
データのブロックの（２５個のうち）２４個が、利用可能な２４個の一時記憶ブロックに記憶される。データの２５番目のブロックを格納するための消去済みブロックは存在しない。このため、コントローラがファイルに割り当てられていないブロックを見つけてこのブロックが消去されるまで、記憶動作を完了することができない。見つけられたブロックは消去され（比較的遅い動作）、２５番目のブロックが記憶される。以前に使用されていた論理アドレスのブロックにホストが書き込みを行っているので、どのブロックがファイルに割り当てられなくなったかをコントローラが認識し、このアドレスのブロックに割り当てられた以前の物理アドレスを消去することができることに留意されたい。
【００２８】
上述したように、スマートメディア仕様によれば、２５ブロックに等しいサイズを有するファイルを記憶する動作は、以下のステップと時間を伴っている。
１）利用可能な一時記憶位置に２４ブロックを記憶する。
２）消去可能なブロックを見つける。
３）ブロックを消去する（比較的長い時間がかかる）。
４）データの２５番目のブロックを記憶する。
【００２９】
本発明の実施形態によれば、２４ブロックよりも大きなファイルを記憶するために必要とされる時間が短縮される。本発明の実施形態において、メモリコントローラが、ファイルの読取または書込プロセス中ではないときに、ＦＡＴテーブルに対して問い合わせを行い、ファイルに割り当てられていないメモリブロックを消去する。すなわち、一時記憶用に利用可能な消去済みブロックが既に２４ブロック存在していても、使用されていないブロックを消去する。これは、事実上、スマートメディア仕様に違反するものであるが、通常の動作に害を及ぼすことはなく、システムの動作をかなり高速化するものである。
【００３０】
図２は、本発明を含むメモリシステムの実施形態のブロック図である。このシステムは、コントローラ１０１とユニバーサルシリアルバス（ＵＳＢ）インタフェイス１０２とを含んでいる。コンピュータプログラム１０１Ｐはコントローラ１０１の動作を制御する。ＵＳＢ接続１０３Ｕは、ＵＳＢインタフェイス１０２をホスト１０３に接続する。ホスト１０３は、データをメモリに供給し、メモリ１００からデータを読み取る。
【００３１】
通常のことであるが、ホスト１０３はデータを供給し、論理アドレスからデータを読み取る。ＦＡＴテーブルは、論理アドレスとメモリ１００に記憶されたファイルとの間の対応関係を提供する。後述するように、プログラム１０１Ｐの制御の下でのコントローラ１０１は、ＦＡＴテーブルにアクセスし、これを操作する。コントローラ１０１は、プログラム１０１Ｐの制御の下で動作可能なマイクロプロセッサを含んでいる。当然のことながら、コントローラ１０１内のマイクロプロセッサは、本発明には関係がなくここでは述べられていない種々の他の通常動作を行う。
【００３２】
様々なサイズのファイルをメモリ内に記憶する場合における本発明の実施形態において行われる動作のプログラムフロー図が図３Ａ、３Ｂおよび３Ｃに示されている。これらはシステムの動作を図示するための限定例に過ぎないことは理解されよう。このシステムにより行われる関連動作についての全プログラムフロー図が図４に示されている。
【００３３】
ここに図示された例において示された動作は、予めメモリにデータを記憶した後に行われ、一度すべてのブロックが少なくとも記憶されたデータを有するということは理解されよう。１回目にデータがブロックに書き込まれるときには、事前に消去動作をする必要がない。
【００３４】
図３Ａは、単純な書込動作を図示している。この例においては、メモリ内のすべてのブロックに予めデータが記憶されるが、メモリ全体としては満杯にならない。動作は２つのステップにより行われる。長方形３０１で示されるように、一時記憶位置のうちの１つの位置データが記憶される。すなわち、一時ブロックのうちの１つの物理アドレスが新しいデータの論理アドレスに割り当てられ、この新たに割り当てられたブロックにデータが記憶される。次に、記憶動作が完了した後、コントローラは、新たに記憶されたブロックの論理アドレスにこれまで割り当てられていた物理アドレスを有するブロックを消去する。長方形３０２で示されるように、未使用となった物理アドレスのブロックが識別された後、長方形３０３で示されるように、そのブロックが消去される。第２および第３の動作は、メモリにファイルが記憶された後に行われることに留意されたい。また、これらの動作が完了した後には、消去されデータ受信可能な一時記憶位置が２４個存在することに留意されたい。
【００３５】
図３Ｂは、ホストがメモリの１つのセクターに記憶されたデータを変更したいだけの場合に何が起こるかを示すものである。まず、長方形３２１で示されるように、変更されないブロックのデータが一時記憶ブロックの１つに転送される。すなわち、このデータの論理アドレスに対して新しい物理アドレスが割り当てられ、データが新しいアドレスに転送される。次に、長方形３２２および３２３に示されるように、新しいデータがその一時記憶ブロックに書き込まれ、一時記憶ブロックが使用済みブロックとしてマークされる。すなわち、その一時記憶ブロックは一時記憶ブロックではなくなる。この時点で、データ記憶動作が完了する。次に、長方形３２４および３２５に示されるように、コントローラは、新しいデータの論理アドレスにこれまで割り当てられていたブロックを消去し、そのブロックが一時記憶ブロックとしてマークされる。
【００３６】
図３Ｃは、２４個の一時記憶ブロックのサイズよりも大きなサイズの記憶用ファイルをホストが送信するときに行われる処理を示している。メモリは満杯になっておらず、この新しいファイルを記憶するのに十分なスペースを有しているものとする。
【００３７】
図３Ｃは、ホストがファイルをメモリに送信する前に行われる２つのステップを示している。これらのステップは、メモリが読取または書込動作を行っていないときに行われる。長方形３３１に示されるように、コントローラ１０１は、ファイルに現在割り当てられているデータを含んでいないブロックを識別するためにＦＡＴテーブルに対して問い合わせを行う。すなわち、コントローラは、ＦＡＴ中で割り当てられていないブロックを探し、これをメモリ中の消去済み領域と比較する。ブロックがＦＡＴ中で割り当てられていない場合には、そのようなブロックが消去可能であることをコントローラが認識する。そのようなブロックを見つけると、長方形３３２に示されるように、データ受信可能となるようにそのブロックが消去される。これは、スマートメディア仕様に違反するものであるが、システムの通常動作中に害を及ぼすものではない。消去済みファイルを回復させようとした場合に、これが回復を阻害する可能性があるが、これはシステムの通常動作とは考えられない。
【００３８】
最も重要なことは、これらの動作が書込動作の前に行われ、したがって、書込動作に必要とされる時間を増やすことにはならないということである。
【００３９】
長方形３３３および３３４に示されるように、ホストが２５ブロックを含むファイルをメモリに送信する場合（これはこの例が図示しているものである）、最初の２４ブロックが一時記憶位置に記憶される。ファイルの最終ブロックは、既に消去された位置のうちの１つに記憶される。このように、ブロックが消去されるのをシステムが待つことなく、２５ブロックを含むファイルの記憶を行うことができる。
【００４０】
図４は、システムの動作を示す全体フロー図である。図３Ａから図３Ｃはシステムの動作の個々の部分を示したものにすぎないことに留意されたい。
【００４１】
長方形４０１および４０２は、他の動作は行われていないが、プログラム１０１Ｐの制御の下で、コントローラ１０１が、現在あるファイルに割り当てられていないブロックを識別するためにＦＡＴテーブルに対して問い合わせを行うことを示している。そのようなブロックが識別されると、識別されたブロックは、消去されてデータ受信可能としてマークされる。
【００４２】
長方形４０４、４０６および４０８で示されるように、ホストが記憶動作を初期化するときに、最初になされる判断は、新しいファイルを保持するために十分な未割り当てブロックがメモリ内にあるか否かである。これに該当しない場合、メモリはファイルを保持することができず、ブロック４０８で示されるように動作が終了する。言うまでもなく、示された動作の一部を、示された個々の順序とは異なる種々の順序で行うことができることは理解されよう。
【００４３】
メモリがファイルを保持できる場合には、そのファイルが２４ブロックよりも大きいか否かについて判断がなされる。ファイルが２４ブロックよりも小さい場合には、スマートメディア仕様により規定されるように動作が進行する。ファイルが２４ブロックよりも大きい場合には、長方形４１２および４１６で示される動作が行われる。すなわち、最初の２４ブロックが正常にオープンしている２４ブロックに記憶され、残りのブロックは予め消去された他のブロックに置かれる。本発明によれば、消去動作が行われるのを待つことなく、最初の２４ブロックを超えるブロックを記憶することができる。
【００４４】
本発明の他の実施形態では、上記実施形態において示された特定のスマートメディアメモリ以外の他のタイプのメモリが利用されることは理解されよう。本発明は、すべてのフラッシュメモリ装置がそうであるように、書込の前に消去サイクルが必要なすべてのメモリに関するものである。
【００４５】
本発明の好ましい実施形態に関して本発明を図示および説明したが、当業者であれば、本発明の精神および範囲から逸脱することなく、形態および詳細に関して種々の変更が可能であることは理解されよう。本発明の範囲は、添付した特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００４６】
【図１】図１は、スマートメディア仕様により構成されたフラッシュメモリを示すものである。
【図２】図２は、本発明の実施形態のブロック図である。
【図３Ａ】図３Ａは、好ましい実施形態の動作を示すブロックフロー図である。
【図３Ｂ】図３Ｂは、好ましい実施形態の動作を示すブロックフロー図である。
【図３Ｃ】図３Ｃは、好ましい実施形態の動作を示すブロックフロー図である。
【図４】図４は、システムの動作を示す全体フロー図である。
【図１】
2008507770.tif 000003
【図２】
2008507770.tif 000004
【図３Ａ】
2008507770.tif 000005
【図３Ｂ】
2008507770.tif 000006
【図３Ｃ】
2008507770.tif 000007
【図４】
2008507770.tif 000008
【国際調査報告】
2008507770.tif 000009
2008507770.tif 000010