(57)【特許請求の範囲】
【請求項１】
少なくともフラッシュメモリを内蔵する記録媒体に対しデータの書き込みを行うメモリの管理方法であって、
上記フラッシュメモリは、記憶領域が複数のブロックに分割され、ブロックが初期化されることにより、当該ブロックに書き込まれたデータが一括して消去され、
上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、
所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、
所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、
更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表すことを特徴とするメモリ管理方法。
【請求項２】
少なくともフラッシュメモリを内蔵する記録媒体に対しデータの書き込みを行うメモリの管理方法であって、
上記フラッシュメモリは、記憶領域が複数のブロックに分割され、ブロックが初期化されることにより、当該ブロックに書き込まれたデータが一括して消去され、
上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、
所定のブロックのデータが不要となる際に、他のブロックへのデータの書き込み処理が行なわれない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、
所定のブロックのデータが不要となる際に、他のブロックへのデータの書き込み処理が行なわれる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、他のブロックへの書き込みを行った後、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、
更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表すことを特徴とするメモリ管理方法。
【請求項３】
少なくともフラッシュメモリを内蔵する記録媒体に対してデータの書き込みを行うメモリ管理装置であって、
上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、
所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行なわれない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、
所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行なわれる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、
更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表すことを特徴とするメモリ管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ管理方法及びメモリ管理装置に関し、特に、記録媒体を構成するフラッシュメモリの各ブロックに使用状況を示すフラグを設けることにより、高速処理が可能とされるメモリ管理方法及びメモリ管理装置に関する。
【０００２】
【従来の技術】
従来、例えばコンピュータ等の電子機器を主記憶装置とした場合に、この主記憶装置の容量の不足を補う記録媒体が使用されている。この記録媒体としては、磁気テープ、磁気ディスク、光磁気ディスク、紙テープ、メモリカード等が挙げられる。この中でもメモリカードは転送レートが比較的高速であることから広く使用されている。特に、メモリカードは、静止画像撮像装置（いわゆるスチルカメラ）やビデオテープレコーダー一体型のカメラ等に内蔵され、撮像情報を記録する記録媒体としても使用されている。このメモリカードは、半導体集積回路等の記憶素子を例えば合成樹脂よりなる筺体に埋設した構造となされ、半導体集積回路としては、フラッシュメモリ（電気的消去可能型プログラマブルＲＯＭ（Read-Only Memory））等が使用されている。
【０００３】
なお、上述のメモリカードのような記録媒体においては、これに記憶されているデータの管理を例えばいわゆる分散管理方法により行うようにしている。
【０００４】
この分散管理方法とは、記録媒体のデータが記憶される記憶手段（以下、メモリと称する。）中の記憶領域のブロックといったデータ消去単位毎にこのブロックを管理するブロックフラグ、論理アドレス、連結情報といった管理情報を有し、これら管理情報を各ブロックに分散させて作成しておく方法である。以下、このような管理情報を分散管理情報と称する。そして、この分散管理方法は、上記記録媒体に対してデータの読み出し及び／又は書き込みを行うべく、電子機器を起動させる際に、先ず、電子機器がメモリ中の記憶領域の各ブロックに分散している分散管理情報を集めて電子機器側の記憶手段内に読み出し、各ブロックのデータを一括して管理することを可能とする集中管理テーブルを作成して、データを管理する方法である。
【０００５】
【発明が解決しようとする課題】
ところで、上述のようにメモリカードのメモリとしてフラッシュメモリが使用されている場合においては、通常、所定のブロックのデータが不要となった時点でブロック単位での初期化が行われ、当該ブロックに書き込まれているデータが一括して消去され、このブロックは再度のデータの書き込みが可能な状態とされる。従って、例えば、所定のブロックのデータが不要となった後に、他のブロックへのデータの書き込みが行われる場合やデータ書き込み以外の処理が行われる場合には、所定のブロックの初期化処理の後に、上記のような処理が行われることとなる。このようなブロック単位での初期化には、１ブロック当たり５〜６０（ｍｓｅｃ）の時間がかかり、この初期化処理の後に各処理が行われる場合には、全体の処理に要する時間が多大なものとなってしまい、処理の高速化を妨げる要因となっている。
【０００６】
そこで、本発明は、上述の実情に鑑みて提案されるものであって、処理の高速化が可能となされるメモリ管理方法及びメモリ管理装置を提供しようとするものである。
【０００７】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、少なくともフラッシュメモリを内蔵する記録媒体に対しデータの書き込みを行うメモリの管理方法であって、上記フラッシュメモリは、記憶領域が複数のブロックに分割され、ブロックが初期化されることにより、当該ブロックに書き込まれたデータが一括して消去され、上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表す。
【０００８】
また、本発明は、少なくともフラッシュメモリを内蔵する記録媒体に対しデータの書き込みを行うメモリの管理方法であって、上記フラッシュメモリは、記憶領域が複数のブロックに分割され、ブロックが初期化されることにより、当該ブロックに書き込まれたデータが一括して消去され、上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、所定のブロックのデータが不要となる際に、他のブロックへのデータの書き込み処理が行なわれない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、所定のブロックのデータが不要となる際に、他のブロックへのデータの書き込み処理が行なわれる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、他のブロックへの書き込みを行った後、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表す。
【０００９】
また、本発明は、少なくともフラッシュメモリを内蔵する記録媒体に対してデータの書き込みを行うメモリ管理装置であって、上記各ブロックは「１」から「０」への変更を可能とするオーバーライトエリアを有し、該オーバーライトエリア内にブロックの使用状況を示す消去フラグを収容するエリアを有し、該消去フラグは複数のビットから構成され、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行なわれない場合は、データが不要となった時点で当該ブロックの初期化処理を行ない、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行なわれる場合は、当該ブロックの初期化を行わずに、当該ブロックに設けられた消去フラグの複数のビットを「１」から「０」に変更し、消去フラグとして設けられたすべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態とし、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックの消去フラグを初期状態とし、更に、上記消去フラグを用いて、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表す。
【００１０】
本発明においては、フラッシュメモリの記憶領域中の各ブロックに、ブロックの使用状況を示す消去フラグを設けていることから、例えば所定のブロックのデータが不要となった後に、当該ブロックの初期化処理以外の処理が行われる場合において、上記ブロックの初期化を行わずに、先ず、このブロックに設けられた消去フラグを、当該ブロックのデータを消去する予定であることを示す消去状態とし、この状態で上記ブロックの初期化処理以外の処理を行い、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックのフラグを初期状態とするようにすれば良く、時間を要する初期化処理を待つことなく種々の処理が実施される。消去フラグは、複数ビットで形成され、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表す機能も有しているが、先頭使用中状態の消去フラグも、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われる場合に、すべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態にされる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。なお、ここでは、本発明をメモリ管理方法、記録媒体及びメモリ管理装置に適用した例について述べる。
【００１２】
ここでは、本例の記録媒体であるメモリカードが、図１に示すようなホストコンピュータ１からのデータを記憶するものとして説明する。また、ここではホストコンピュータから送信される画像データをメモリカードに書き込む場合について説明するが、オーディオデータや他のデータについても同様である。
【００１３】
上記ホストコンピュータ１は、図１に示すように、静止画の画像データやオーディオデータを記憶するハードディスク１１と、ハードディスク１１からの画像データ等を一旦記憶して読み出すＲＡＭ（Random Access Memory）１２と、ディスプレイ・インターフェース（以下、ディスプレイＩ／Ｆという。）１３を介して供給される画像データに基づいて画像を表示するディスプレイ１４と、３本のデータ線を介してメモリカード２とのデータの送受信を行うシリアルインターフェース（以下、シリアルＩ／Ｆという。）１５と、バス１６と、全体を制御するＣＰＵ（Central Processing Unit）１７とを備える。
【００１４】
ＲＡＭ１２は、例えば、バス１６を介してハードディスク１１に記憶されているオーディオデータや画像データを一旦記憶し、必要に応じて画像データをバス１６を介してシリアルＩ／Ｆ１５に供給する。
【００１５】
ディスプレイ１４には、ハードディスク１１から読み出された画像データがバス１６、ディスプレイＩ／Ｆ１３を介して供給されたり、メモリカード２からの画像データが供給されて、これらの画像データに基づく静止画が表示される。
【００１６】
シリアルＩ／Ｆ１５は、３本のデータ線を介して、メモリカード２に画像データを送信したり、メモリカードに記憶されている画像データを受信する。具体的には、シリアルＩ／Ｆ１５は、第１のデータ線を介して、メモリカード２に書き込むための画像データや制御データを送信したり、メモリカード２から読み出された画像データを受信する。シリアルＩ／Ｆ１５は、第２のデータ線を介して、第１のデータ線での画像データ又は制御データの切り換えに応じて、その切り換え状態を示すステータス信号を出力する。さらに、シリアルＩ／Ｆ１５は、第３のデータ線を介して、上記制御データや画像データの送信の際のシリアルクロックＳＣＬＫを送信する。
【００１７】
ＣＰＵ１７は、ＲＡＭ１２やハードディスク１１の画像データを読み出したり、ＲＡＭ１２等に画像データを書き込むことを制御したり、メモリカード２との画像データ等の送受信の制御も行う。例えば、ＣＰＵ１７は、カードメモリ２に対してアドレスを指定して所定のデータの書込み命令を発行する。
【００１８】
そして、本例の記録媒体であるメモリカード２は、図２に示すように、上記ホストコンピュータ１からの画像データや制御データを受信するコントロールＩＣ２１と、受信した画像データを記憶する記憶手段（以下、メモリと称する。）であるフラッシュメモリ（電気的消去可能型プログラマブルＲＯＭ（Read-Only Memory））２２とを備えてなる。
【００１９】
コントロールＩＣ２１は、具体的には、シリアル／パラレル・パラレル／シリアル・インターフェース・シーケンサ（以下、Ｓ／Ｐ＆Ｐ／Ｓシーケンサという。）３１と、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１からの画像データを一時記憶するページバッファ３２と、ページバッファ３２からの画像データをフラッシュメモリ２２に供給するフラッシュ・インターフェース・シーケンサ（以下、フラッシュＩ／Ｆシーケンサという。）３３と、誤り訂正の処理を行うＥＣＣエンコーダ／デコーダ３４と、所定の制御コマンドを発生するコマンド・ジェネレータ３５と、バージョン情報等が記憶されているコンフィグレーションＲＯＭ（Read-OnlyMemory）３６と、各回路にクロックを供給する発振器３７とを備える。
【００２０】
Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１は、上述の第１〜第３のデータ線を介してホストコンピュータ１のシリアルＩ／Ｆ１５に接続している。従って、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１には、ホストコンピュータ１からステータス信号やシリアルクロックＳＣＬＫや画像データ及び制御データからなるシリアルデータＤＩＯが供給される。
【００２１】
そして、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１は、ホストコンピュータ１から供給されるシリアルデータＤＩＯを上記シリアルクロックＳＣＬＫに同期してパラレルデータに変換する。Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１は、このパラレルデータの内、例えば制御データをコマンド・ジェネレータ３５に供給し、画像データをページバッファ３２に供給する。
【００２２】
ページバッファ３２は、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１から供給される画像データを１ページ（＝５１２バイト）毎に記憶するバッファメモリである。ページバッファ３２に記憶された画像データは、ＥＣＣエンコーダ／デコーダ３４によって誤り訂正符号が付けられる。ページバッファ３２は、誤り訂正符号の付けられた１ページの画像データを、フラッシュＩ／Ｆシーケンサ３３を介して、フラッシュメモリ２２ａ〜２２ｄに供給する。こうして、フラッシュメモリ２２ａ〜２２ｄには、ホストコンピュータ１からの画像データが書き込まれるようになっている。
【００２３】
また、フラッシュメモリ２２ａ〜２２ｄから読み出された画像データは、フラッシュＩ／Ｆシーケンサ３３を介してページバッファ３２に供給される。
ページバッファ３２は、フラッシュＩ／Ｆシーケンサ３３からの画像データを記憶する。このとき、ＥＣＣエンコーダ／デコーダ３４は、ページバッファ３２に記憶されているデータに付加されている誤り訂正符号に基づいて誤り訂正処理を施す。そして、ページバッファ３２は、誤り訂正処理済みのデータを１ページ毎に読み出して、このデータをＳ／Ｐ＆Ｐ／Ｓシーケンサ３１に供給する。そして、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１は、ページバッファ３２から供給されるパラレルの画像データをシリアルデータＤＩＯに変換して上述のホストコンピュータ１に送信する。
【００２４】
コマンド・ジェネレータ３５は、Ｓ／Ｐ＆Ｐ／Ｓシーケンサ３１からの制御データに基づいて制御コマンドを発生する。また、コマンド・ジェネレータ３５は、フラッシュメモリ２２に画像データを書き込んでいたり又はフラッシュメモリ２２から画像データを読み出している状態を示すビジー（busy）・コマンド（以下、ビジー信号という。）を発生し、これをＳ／Ｐ＆Ｐ／Ｓシーケンサ３１を介してホストコンピュータ１に送信する。そして、コマンド・ジェネレータ３５は、画像データの書込み又はデータの読出しが終了すると、その終了を示すレディ（ready）・コマンド（以下、レディ信号という。）を発生して、これをＳ／Ｐ＆Ｐ／Ｓシーケンサ３１を介してホストコンピュータ１に送信する。ホストコンピュータは、これらのビジー信号やレディ信号を受信することによってメモリカード２の動作状態を認識している。
【００２５】
コンフィグレーションＲＯＭ３６には、メモリカード２のバージョン情報や初期設定値の情報が記憶されている。従って、ホストコンピュータ１とメモリカード２が接続されると、コマンド・ジェネレータ３５は、最初にＳ／Ｐ＆Ｐ／Ｓシーケンサ３１を介してコンフィグレーションＲＯＭ３６から上記バージョン情報等を読み出して、この情報に基づいて所定のコマンドを発生することによってメモリカード２の所定の初期設定を行うようになっている。
【００２６】
本例のメモリカード２においては、メモリであるフラッシュメモリ２２としてＮＡＮＤ型のフラッシュメモリを使用している。このＮＡＮＤ型のフラッシュメモリは、ページ毎にデータエリアとは別の冗長エリアを有している。
【００２７】
そこで、本例のメモリカード２においては、各フラッシュメモリ２２を以下に示すような構成としている。すなわち、フラッシュメモリ２２の記憶領域は複数のブロックに分割されており、データが各ブロックに分割して格納され、各ブロックのデータエリアに各種データが格納されるとともに、各ブロックの冗長エリアに分散管理情報が格納される分散管理情報格納領域が形成されている。なお、このフラッシュメモリ２２においては、初期状態では全て「１」のデータが書き込まれており、「０」への変更のみが可能とされている。すなわち、データ書き込み時にはデータの一部に「０」を書き込むこととなる。そして、一度書き込んだデータを消去するには、ブロック単位での初期化処理を行い、当該ブロックに書き込まれたデータを一括して消去するようになされており、このブロックは再度のデータ書き込みが可能な状態となる。
【００２８】
そして、この分散管理情報格納領域中に分散管理情報としてブロック指定に使用される論理アドレス等が格納されるとともに、当該分散管理情報格納領域内に上書き可能なオーバーライトエリアが設けられ、この中に、分散管理情報としてブロックの使用状況を示すフラグとして消去フラグと所定単位のデータの終了部が記憶されている最終ブロックか否かを示す終了フラグが設けられている。なお、上記ブロックはページよりも大きな情報単位を示す。
【００２９】
具体的には、本例のメモリカード２の各ブロックのオーバーライトエリア内の消去フラグは１バイトとされており、当該オーバーライトエリアにおいても「１」から「０」への変更のみが可能とされている。
【００３０】
そして、例えばブロック内にデータが書き込まれていない初期状態が「１１１１  １１１１」として表され、ブロック内にデータが書き込まれ、１ファイルといった所定単位のデータの先頭が記憶されている先頭ブロックとして使用されていることを示す先頭使用中状態は８桁のうちの後半４桁が零に変更された「１１１１  ００００」として表され、１ファイルといった所定単位のデータの途中が記憶されていることを示す使用中状態は８桁のうちの前半４桁が零に変更された「００００  １１１１」として表されるものとなされている。
【００３１】
当然のことながら、各ブロックとも最初はデータが書き込まれておらず、初期状態を示す「１１１１  １１１１」の消去フラグを有しているが、上記ホストコンピュータ１により所定のブロックに例えば画像データが書き込まれると、当該ブロックの消去フラグの前半或いは後半が上書きされて、上記消去フラグは先頭ブロックとしての使用中の先頭使用中状態を示す「１１１１  ００００」或いは先頭以外のブロックとしての使用中の使用中状態を示す「００００  １１１１」に書き換えられる。
【００３２】
さらに、本例のメモリカード２の各ブロックのオーバーライトエリア内の１ファイルといった所定単位のデータの終了部が記憶されている最終ブロックか否かを示す終了フラグも１バイトとされており、やはり「１」から「０」への変更のみが可能とされている。
【００３３】
そして、１ファイルといった所定単位のデータの終了部が記憶されておらず、次に接続するブロックがあり、最終ブロックではない場合が「１１１１  ｘｘｘｘ」（ｘｘｘｘは他の目的のフラグとして使用。）として表され、所定単位のデータの終了部が記憶されており、接続するブロックが無く、最終ブロックである場合が「００００  ｘｘｘｘ」（ｘｘｘｘは他の目的のフラグとして使用。）として表されるものとなされている。
【００３４】
そして、本例のメモリカードを使用する際には、本発明のメモリ管理方法に基づいて本発明を適用したメモリ管理装置として機能するホストコンピュータ１により以下に示すような処理が行われる。例えば、ホストコンピュータ１により画像データの書き込みが設定された状態で、所定のブロックのデータが不要となったとする。
【００３５】
前述のように、本例のメモリカードにおいては、ブロック単位での初期化処理により当該ブロックに書き込まれたデータを一括して消去することにより、このブロックを再度のデータの書き込みが可能な状態とする。そこで、上記ホストコンピュータ１は図３に示すように、消去、すなわちデータが不要となったブロックの初期化処理を行おうとする。
【００３６】
ここでは、前述のように画像データの書き込みを行うこととしていることから、上記ブロックの初期化処理を先に行うと処理全体に要する時間が長くなってしまう。そこで、ホストコンピュータ１は、図３に示すように、消去を行う際に、ステップＳＴ１において、処理を急ぐかどうかを確認する。ここでは、前述のように急ぐ（ＹＥＳ）ので、ステップＳＴ２において、データが不要となったブロックの使用中を示す「１１１１  ００００」或いは「００００  １１１１」とされる消去フラグの「１１１１」の部分をオーバーライトにより零に書き換え、「００００  ００００」とし、データを消去する予定である消去状態を書き込み、消去を一旦終了する。
【００３７】
次に、図４に示すように、画像データの書き込みを行うが、ホストコンピュータ１は、ステップＳＴ１１において、先ずメモリカード２のフラッシュメモリ２２中の各ブロックの消去フラグを順に調べる。そして、ステップＳＴ１２において、選択したブロックの消去フラグが初期状態或いは消去状態であるかどうかを判定し、初期状態の場合には、ホストコンピュータ１はステップＳＴ１３において、当該ブロックに画像データを書き込み、消去フラグには先頭使用中状態或いは使用中状態を書き込む。具体的には、ホストコンピュータ１により初期状態を示す「１１１１  １１１１」の消去フラグをオーバーライトにより先頭使用中状態或いは使用中状態を示す「１１１１  ００００」或いは「００００  １１１１」に書き換える。このようにして画像データの書き込み処理を終了する。
【００３８】
一方、ステップＳＴ１２において、消去状態の場合には、ステップＳＴ１４に進み、ホストコンピュータ１はデータの書き込み処理を急ぐかどうかを確認する。データの書き込み処理を急ぐ（ＹＥＳ）場合にはホストコンピュータ１は、再度、消去フラグを順に調べるステップＳＴ１１に戻り、初期状態の消去フラグのブロックが見つかるまでこの処理を繰り返し、初期状態の消去フラグのブロックが見つかった場合には上述したような画像データの書き込み処理を行う。
【００３９】
そして、上記のような画像データの書き込み処理が終了した後に、ホストコンピュータ１は消去処理時に消去状態とした消去フラグのブロックの初期化処理を行い、当該ブロックのデータを一括して消去し、このブロックを再度のデータ書き込みが可能な状態とする。このとき、上記ブロックの消去フラグが初期状態に戻ることは言うまでもない。
【００４０】
すなわち、上述のようにして本発明によれば、所定のブロックのデータが不要となった後に、当該ブロックの初期化処理以外の処理が行われる場合において、上記ブロックの初期化を行わずに、先ず、このブロックに設けられた消去フラグを、当該ブロックのデータを消去する予定であることを示す消去状態とし、この状態でデータが不要となったブロックの初期化処理以外の処理を行い、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックのフラグを初期状態とするようにすれば良く、時間を要する初期化処理を待つことなく種々の処理が実施され、高速処理が可能となる。
【００４１】
また、本発明によれば、ホストコンピュータ１は消去状態の消去フラグのブロックの初期化処理を特に急いで行う必要がなくなり、ホストコンピュータ１が行うべき処理が比較的少ない時等に行えば良く、時間を要する初期化処理を空いた時間に行うことが可能となることから、効率良い処理が可能となる。
【００４２】
また、本例においては、消去処理の時点において先頭使用中状態或いは使用中状態であったブロックの消去フラグを消去状態に書き換え、新たにデータが書き込まれるブロックと区別しており、図４中に示すように、ステップ１２において消去状態（ＹＥＳ）であり、ステップＳＴ１４において急いでいない（ＮＯ）の場合に、ステップＳＴ１５に進んで、ホストコンピュータ１が消去状態を示す消去フラグを有するブロックに対してのみ初期化処理を行うようにしてもよい。
【００４３】
さらに、ホストコンピュータ１がデータが不要となったブロックの初期化処理以外の処理を行う必要がない場合には、従来と同様に、ステップＳＴ１において消去処理を急ぐかどうかを確認されても、ステップＳＴ３に進み、当該ブロックに対して初期化処理を施し、ブロックを初期化し、消去フラグを初期状態とすればよい。
【００４４】
また、本例においては、上記のようにしてホストコンピュータ１により画像データを書き込む際に、１ファイルといった所定単位のデータの終了部が記憶される最終ブロックとなるブロックを確認して、ホストコンピュータ１により当該最終ブロックとなるブロックにデータを書き込む際に、最終ブロックか否かを示す終了フラグを最終ブロックであることを示す「００００  ｘｘｘｘ」と書き換えればよい。しかしながら、例えば音楽のように最終ブロックがどのブロックにあたるかをデータ書き込み時に判断できない場合においては、データ書き込み時に終了フラグを書き込むことが不可能である。
【００４５】
そこで、上述のような場合には、本発明に基づいて、データの書き込み時においては、終了フラグを、所定単位のデータの終了部が記憶されておらず、次に接続するブロックがあり、最終ブロックではない場合を示す「１１１１  ｘｘｘｘ」としておき、そのブロックに所定単位のデータの終了部が書き込まれて最終ブロックとなった時点で、消去フラグをオーバーライトにより、所定単位のデータの終了部が記憶されており、接続するブロックが無く、最終ブロックである最終ブロックを示す「００００  ｘｘｘｘ」に書き換えるようにすればよい。
【００４６】
このとき、本例のメモリカードのように、所定単位のデータの終了部が記憶されている最終ブロックか否かを示すフラグをオーバーライトエリアに設けるようにすれば、従来のように、最終ブロックであることが確認された時点で、バッファー等にデータを転送し、当該ブロックにデータを最終ブロックを示すフラグとともに再度書き込み直すといった作業が不要であり、高速処理が可能となる。
【００４７】
なお、本例のメモリカード２の外形形状としては、例えば合成樹脂よりなり、図５に示されるような平面形状が長方形とされる薄肉のカード状が挙げられる。
【００４８】
そして、上記メモリカード２においては、例えばその長辺方向の一端部２ａ側に図示しない外部端子が形成されており、図示しない電子機器に対してこの一端２ａ側から図中矢印Ｍで示す方向に装着されるようにすればよい。
【００４９】
また、上記メモリカード２においては、例えば装着方向と平行な一方の側縁２ｂ側に、メモリカード２が電子機器に装着された際に、図示しない電子機器のロック用凸部に係合されてメモリカード２の脱落を防止するロック用切欠部４２等が形成されていてもよい。
【００５０】
なお、上述の例においては、シリアルインターフェースに対応したメモリカードを例示したが、本発明がパラレルインターフェースに対応したメモリの管理方法にも対応可能であることは言うまでもない。
【００５１】
【発明の効果】
上述のように、本発明においては、フラッシュメモリの記憶領域中の各ブロックに、ブロックの使用状況を示す消去フラグを設けていることから、例えば所定のブロックのデータが不要となった後に、当該ブロックの初期化処理以外の処理が行われる場合において、上記ブロックの初期化を行わずに、先ず、このブロックに設けられた消去フラグを、当該ブロックのデータを消去する予定であることを示す消去状態とし、この状態で上記ブロックの初期化処理以外の処理を行い、消去フラグが消去状態となっているブロックに対して改めてデータを書き込むよりも前に、当該ブロックに対して初期化処理を施すとともに、当該ブロックのフラグを初期状態とするようにすれば良く、時間を要する初期化処理を待つことなく種々の処理が実施され、高速処理が可能となる。ここで、消去フラグは、複数ビットで形成され、１ファイルのデータの先頭が記録されている先頭ブロックであることを示す先頭使用中状態を表す機能も有しているが、先頭使用中状態の消去フラグも、所定のブロックのデータが不要となる際に、当該ブロックの初期化処理以外の処理が行われる場合に、すべてのビットを「０」とすることによって、当該ブロックのデータを消去する予定であることを示す消去状態にされる。この消去フラグは、消去状態、初期状態に加え、先頭使用状態をも定義し、多くの状態を定義することができる。
【図面の簡単な説明】
【図１】メモリカードにデータを送信するホストコンピュータの構成を示すブロック図である。
【図２】メモリカードの構成を示すブロック図である。
【図３】消去時の処理を示すフローチャートである。
【図４】データ書き込み時の処理を示すフローチャートである。
【図５】メモリカードを示す斜視図である。
【符号の説明】
２  メモリカード、  ２１  コントロールＩＣ、  ２２  フラッシュメモリ。
【図１】
0003718578.tif 000002
【図２】
0003718578.tif 000003
【図３】
0003718578.tif 000004
【図４】
0003718578.tif 000005
【図５】
0003718578.tif 000006