(57)【要約】【課題】不揮発性メモリのデータの消去にかかる処理時間を短縮する。【解決手段】フラッシュメモリ制御部１１は、ホスト機器２からのデータ消去要求がなされた際に、論理物理アドレス変換テーブル１３ａを参照し、消去要求で指定された論理ブロックと対応付けられる物理ブロックアドレスを検出する。フラッシュメモリ制御部１１は、消去領域ポインタ記憶領域１３ｂにアクセスして、データ消去要求による消去対象のデータが記憶される領域、つまり、物理ブロックアドレス“３”が対応付けられた物理ブロックの０ページ目から３１ページ目までの３２ページ分の領域を仮想消去領域として設定する。そして、ホスト機器２よりデータ読み出し要求がなされて、読み出し対象のデータが書込まれるページ範囲が、消去領域ポインタで示された領域に含まれる場合には、初期値データをホスト機器２に出力する。【選択図】      図７
2006079543.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを有し、その各ブロックを消去単位としてデータを消去可能に構成してなる不揮発性半導体メモリを管理するメモリ管理装置であって、
前記不揮発性半導体メモリに対するデータの消去要求があった際に、前記消去要求による消去対象のデータを含むブロックにおいて、前記消去対象のデータのアドレス範囲を設定する設定手段と、
前記不揮発性半導体メモリに対するデータの読み出し要求があった際に、前記読み出し要求にしたがった読み出し対象のアドレス範囲が、前記設定手段により設定したアドレス範囲に含まれる場合に、前記読み出し対象のデータとして初期値データを出力する制御を行なう制御手段と
を備えたことを特徴とするメモリ管理装置。
【請求項２】
前記設定手段は、
前記消去対象のデータを含むブロックの先頭アドレスを前記アドレス範囲の先頭アドレスとし、前記消去対象のデータを含むブロックの単一のアドレスを前記アドレス範囲の終端アドレスとして設定する
ことを特徴とする請求項１に記載のメモリ管理装置。
【請求項３】
前記複数のブロックに対して物理アドレスと論理アドレスとを対応づけて管理する管理手段をさらに備え、
前記管理手段は、
前記設定手段により設定したアドレス範囲の先頭アドレスと終端アドレスが、前記消去対象のデータを含むブロックの先頭アドレスと終端アドレスにそれぞれ一致する場合に、このブロックに対する物理アドレスと論理アドレスとの対応付けを解除する
ことを特徴とする請求項１または２に記載のメモリ管理装置。
【請求項４】
前記設定手段により設定されたアドレス範囲の情報を前記不揮発性半導体メモリに記憶する手段をさらに備えたことを特徴とする請求項１または２に記載のメモリ管理装置。
【請求項５】
複数のブロックを有し、その各ブロックを消去単位としてデータを消去可能に構成してなる不揮発性半導体メモリを管理するメモリ管理装置であって、
前記不揮発性半導体メモリに対するデータの消去要求があった際に、前記消去要求による消去対象のデータを含む第１のブロックにおいて、前記消去対象のデータのアドレス範囲を設定する設定手段と、
前記設定手段により設定されたアドレス範囲と同一のアドレス範囲と対応する、初期値データが書込まれた第２のブロック中の物理アドレス、および、前記第１のブロックにおおいて、前記設定手段により設定されたアドレス範囲の終端アドレスと連続したアドレスから、当該第１のブロックの終端アドレスまでアドレス範囲と対応する物理アドレスを、論理アドレスと対応付けて管理する管理手段と
を備えたことを特徴とするメモリ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリのメモリ管理装置に関する。
【背景技術】
【０００２】
従来、不揮発性メモリの一種であるＮＡＮＤフラッシュメモリは、既にデータライトが発生しているブロックに対してオーバーライトが発生する場合には、このオーバーライトされるべきブロック上のオーバーライトされるべきデータ以外のデータを他の物理ブロックへ書込む処理が必要となるので、多くの処理時間を要していた。
【０００３】
このような、本来ライトすべきデータ以外のライト処理を無くすために、例えば特許文献１に開示されたように、１つの仮想ブロックに対し複数の物理ブロックを対応づけた方式がある。この方式では、消去命令にしたがって仮想ブロックと物理ブロックの対応を取り消す処理を行なうことで、データ消去にかかる処理時間を短縮するものがある。
【特許文献１】特開２００３−２８０８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述したＮＡＮＤフラッシュメモリを用いたメモリ装置であるメモリカードにおいて、当該メモリカードの一種であるＳＤメモリカード（登録商標）の推奨ファイルシステムであるＦＡＴ（ファイルアロケーションテーブル）ファイルシステムでは、１ＧＢまでの容量では、クラスタサイズは１６ＫＢｙｔｅである。メモリカードにリード・ライトするファイルのサイズはクラスタ単位で割り当てられるので、ホスト機器がメモリカードへ発行する消去の最小単位は同じく１６ＫＢｙｔｅを指定する場合が多い。またメモリカードに発行される消去命令は、カードのフォーマット時がほとんどである。
【０００５】
ホスト機器は、消去命令にしたがって、マスターブートレコードをリードし、アドレスを１６ＫＢインクリメントしながら１６ＫＢの範囲のデータが順次消去するような制御を行なう。
【０００６】
元来、ＮＡＮＤフラッシュメモリの物理ブロックサイズは１６ＫＢｙｔｅのものが多く、先に示したクラスタサイズと同じであった。しかし、メモリのチップサイズを小さくする為、物理ブロックサイズは、３２ＫＢｙｔｅ，１２８ＫＢｙｔｅ，２５６ＫＢｙｔｅ，…と徐々に大きくなっている。
【０００７】
そのため、物理ブロックサイズが２５６ＫＢｙｔｅの場合で、かつ、クラスタサイズが１６ＫＢの場合に、メモリの物理ブロック中の１６ＫＢを消去しようとした場合、ＮＡＮＤフラッシュメモリでは、データの上書きができないため、当該ＮＡＮＤフラッシュメモリでは、別の物理ブロックを用意して、物理ブロックサイズである２５６ＫＢｙｔｅ中の消去範囲の１６ＫＢ以外のデータについてコピーする必要がある。したがって、一部分のデータ消去を行なう場合には、その処理時間は消去サイズに見合う長さとならず、常に一定の処理時間を要してしまう。
【０００８】
そこで、本発明の目的は、データの消去にかかる処理時間を短縮することが可能になるメモリ管理装置を提供することにある。
【課題を解決するための手段】
【０００９】
すなわち、本発明に係わるメモリ管理装置は、複数のブロックを有し、その各ブロックを消去単位としてデータを消去可能に構成してなる不揮発性半導体メモリを管理し、不揮発性半導体メモリに対するデータの消去要求による消去対象のデータを含むブロックにおいて、消去対象のデータのアドレス範囲を設定し、不揮発性半導体メモリに対するデータの読み出し要求があった際に、読み出し要求にしたがった読み出し対象のアドレス範囲が、前述のように設定したアドレス範囲に含まれる場合に、読み出し対象のデータとして初期値データを出力する制御を行なうことを特徴とする。
【発明の効果】
【００１０】
本発明に係わるメモリ管理装置では、不揮発性半導体メモリの各ブロックにおける、消去対象のデータを含むブロック中において、当該消去対象のデータのアドレス範囲を設定し、この設定されたアドレス範囲と対応する領域を、消去要求にしたがったデータ消去がなされた領域とするので、データ消去の際のデータ書き込み処理を行なう必要がなくなる。よって、データ消去にかかる時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
以下図面により本発明の実施形態について説明する。  
図１は、本発明の実施形態にしたがったメモリカード（メモリ装置）１の構成例を示すブロック図である。  
図１に示したメモリカード１は、例えばデジタルカメラなどのホスト機器２と接続される。
【００１２】
メモリカード１は、フラッシュメモリ制御部１１、ホストインタフェース部１２、ＲＡＭ１３、フラッシュメモリ１４を備える。フラッシュメモリ１４は、例えばＮＡＮＤ型不揮発性メモリである。フラッシュメモリ制御部１１は、ホストインタフェース部１２を介してホスト機器２と接続される。また、フラッシュメモリ制御部１１は、ＲＡＭ１３およびフラッシュメモリ１４と接続される。
【００１３】
ホスト機器２から発行されたメモリカード１へのコマンドは、コマンド用の信号線を通してカード内部のホストインタフェース部１２に到達する。
【００１４】
ホストインタフェース部１２は、コマンドフォーマットより、コマンド情報と、アドレス情報を抽出する。フラッシュメモリ制御部１１は、ホストインタフェース部１２からのコマンド情報とアドレス情報をもとに、フラッシュメモリ制御部１１の動作を制御する。
【００１５】
フラッシュメモリ制御部１１は、フラッシュメモリ１４の物理ブロックと論理ブロックの対応関係を示すテーブルの管理や、消去に関する管理を行なう。
【００１６】
図２は、本発明の実施形態にしたがったメモリカード１のフラッシュメモリ１４上の物理ブロックに書込まれているデータの一部を消去する手順（その１）を示す遷移図である。  
フラッシュメモリ１４における物理ブロックの１ブロック分のサイズは１２８ＫＢｙｔｅ（ＫＢ）である。フラッシュメモリ１４の物理ブロックの１ブロックは２５６ページでなる。１ページに書込まれるデータサイズは５１２Ｂｙｔｅである。
【００１７】
図２では、メモリカード１の記憶領域の論理ブロックアドレス”０ｘ４００００“番地分にわたったアドレス範囲で、連続した２５６ＫＢ分のデータが書込まれている場合を示す。論理ブロックアドレスとは、メモリカード１の仮想メモリ上のインデックス値である。”０ｘ“は１６進数の識別子である。
【００１８】
フラッシュメモリ１４の物理ブロックの１ブロックのサイズは１２８ＫＢであるから、連続した２５６ＫＢのデータは、フラッシュメモリ１４上の２つの物理ブロックにまたがって書込まれる。
【００１９】
図２に示した“物理ブロックｎ（ｎ＝０，１，２，…）”は、物理ブロックアドレス“ｎ”が付与される物理ブロックである。図２に示した形態では、前述した２５６ＫＢのデータのうち１２８ＫＢのデータは、物理ブロックアドレス”３“が付与される物理ブロックに書込まれる。また、残り１２８ＫＢのサイズのデータは、物理ブロックアドレス”５“が付与される物理ブロックに書込まれている。
【００２０】
ＲＡＭ１３は、図１に示すように、論理物理アドレス変換テーブル１３ａおよび消去領域ポインタ記憶領域１３ｂを備える。論理物理アドレス変換テーブル１３ａは、フラッシュメモリ１４上の各物理ブロックのうち、データが書込まれている物理ブロックに付与される物理ブロックアドレス、および、論理ブロックアドレスを対応付けて管理する。
【００２１】
例えば、図２に示した論理物理アドレス変換テーブル１３ａに書込まれている“０ｘ４００００…物理ブロック３”とは、論理ブロックアドレス“０ｘ４００００”番地と物理ブロックアドレス“３”が対応付けられていることを示し、この場合には、論理ブロックアドレス“０ｘ４００００”番地を先頭アドレスとして“０ｘ２００００”番地分連続したアドレス範囲が付与される論理ブロックに記憶されているデータが、物理ブロックアドレス“３”が付与される物理ブロックに記憶されることを意味する。
【００２２】
また、論理ブロックアドレスと物理ブロックアドレスの対応がなされていない物理ブロックは、未使用状態の物理ブロックである。この未使用状態の物理ブロックには初期値データが書込まれており、システムから読み出し要求があった際には、この初期値データが読み出される。
【００２３】
この未使用状態の物理ブロックは、当該物理ブロックに付与された物理ブロックアドレスが、フラッシュメモリ制御部１１による制御にしたがって、論理ブロックアドレスと対応付けられれば、使用することができる。
【００２４】
図１に示した消去領域ポインタ記憶領域１３ｂは、予め定めた物理ブロックアドレスが付与された物理ブロックの各ページのうち、ユーザデータが書込まれていない、つまり初期値データが書込まれているとみなすページの範囲を管理する。
【００２５】
ホスト機器２からホストインタフェース部１２を介して論理ブロックアドレス“０ｘ４００００”番地へのリード要求が発行された場合は、フラッシュメモリ制御部１１はＲＡＭ１３の論理物理アドレス変換テーブル１３ａを参照し、“物理ブロック３”、つまり、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレス”３”が付与された物理ブロックにデータが書込まれていることを検出し、この物理ブロックに書込まれたデータを読み出し対象のデータとしてホスト機器２へ出力する。
【００２６】
次に、論理物理アドレス変換テーブル１３ａにおいて、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレス“３”が付与される物理ブロックに記憶されるデータのうち、１６３８４Ｂｙｔｅ（３２ページ）分のデータを消去するコマンドがホスト機器２から発行された場合に、このコマンドを処理する手順の第１の例について説明する。ここではＲＡＭ１３に消去領域ポインタ記憶領域１３ｂが設けられていないと仮定する。
【００２７】
ここでは、物理ブロックアドレス”３”が付与された物理ブロックの“Ｐａｇｅ０”から“Ｐａｇｅ３１”までの３２ページ分のデータを消去する。
【００２８】
データの消去単位は物理ブロック１ブロック分であるため、物理ブロックアドレス“３”が付与された物理ブロックの“Ｐａｇｅ３２”以降のページに書込まれたデータも消去の対象となる。
【００２９】
そこで、物理ブロックアドレス“３”が付与された物理ブロックの各ページのうち、“Ｐａｇｅ３１”より大きいページアドレスが付与されたページに書込まれたデータを、別の物理ブロックにコピーする。ここでは、コピー対象の物理ブロックは、物理ブロックアドレス“４”が付与された物理ブロック（“物理ブロック４”）である。
【００３０】
“物理ブロック４”へのコピー処理が完了したら、フラッシュメモリ制御部１１は、ＲＡＭ１３内の論理物理アドレス変換テーブル１３ａに記憶される、“０ｘ４００００…物理ブロック３”の情報を“０ｘ４００００…物理ブロック４”に書き換える。これにより、論理物理アドレス変換テーブル１３ａにおいて、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレスは、“３”から“４”に変更される。
【００３１】
フラッシュメモリ制御部１１は、ホスト機器２からフラッシュメモリ１４へのアクセス要求があった場合に、論理物理アドレス変換テーブル１３ａを参照することで、論理ブロックアドレス“０ｘ４００００”番地から”０ｘ２００００“番地分にわたったアドレス範囲に対応する仮想メモリ上のブロックに書込まれる１２８ＫＢのデータは、物理ブロックアドレス“４”が付与された物理ブロックに書込まれているとみなす。
【００３２】
以上のことから、１２８ＫＢのサイズをもつ物理ブロックにある２５６ページの領域に対して、１６ＫＢのデータ、つまり、３２ページ分にわたって書込まれているデータを消去する際には、フラッシュメモリ制御部１１がフラッシュメモリ１４の物理ブロックの
２２４ページ（＝２５６ページ−３２ページ）分のデータをリードして、別の物理ブロックにライトしなおす制御を行なわなければならず、データ消去のための処理時間が多くなる。
【００３３】
例えば、フラッシュメモリ１４の物理ブロックへのライト時間が１.２ミリ秒／４ページとしたとき、２２４ページ分のライト時間は６７.２ミリ秒（＝２２４／４＊１．２）かかる。物理ブロック１ブロック分のデータのイレーズにかかる時間は２ミリ秒であり、物理ブロックの３２ページ分のデータを消去する時間は、物理ブロック１ブロック分のデータのイレーズにかかる時間の約３２倍である。
【００３４】
この処理時間を短縮するために、本発明の実施形態にしたがったメモリ管理装置では、消去領域ポインタを設定する機能を設ける。  
消去領域ポインタとは、図２に示した消去領域ポインタ記憶領域１３ｂに記憶される情報である。この消去領域ポインタは、物理ブロックの各ページに付与されたページアドレスのうち、一部の連続したページに付与されたページアドレスの範囲を示す。
【００３５】
フラッシュメモリ制御部１１は、消去領域ポインタ記憶領域１３ｂに記憶される消去領域ポインタで示されるアドレス範囲に対応したページを仮想消去状態のページとみなす。仮想消去状態とは、ホスト機器２からのアクセス要求にしたがって、消去対象のデータの物理的な消去を行なわずに、見かけ上消去した状態を示す。
【００３６】
消去領域ポインタで示される値は、物理ブロック中の各ページのうち仮想消去した部分が推定可能な値とする。消去した部分が推定可能な値は、例えば、仮想消去となる領域の最終地点を示すアドレス値、先頭アドレスからのサイズ、または、データが有効となるアドレス値等である。
【００３７】
消去領域ポインタの第１の例を図３に示す。この例では、消去領域ポインタとして、開始ポインタと終了ポインタが設定される場合である。フラッシュメモリ制御部１１は、ホスト機器２からの消去要求にしたがって、消去対象のデータが書込まれた物理ブロック（物理ブロックＡ）において、消去対象のデータが書込まれたページ群の先頭のページに付与されたページアドレスを開始ポインタとして指定し、消去対象のデータが書込まれたページ群の最終ページに付与されたページアドレスを終了ポインタとして指定する。
【００３８】
これにより、開始ポインタとして指定されたページアドレスと終了ポインタとして設定されたページアドレスまでのアドレス範囲に対応したページ、つまり、領域２１で示した部分が仮想消去部分となる。
【００３９】
消去領域ポインタの第２の例を図４に示す。この例では、フラッシュメモリ制御部１１は、第１の例と同様に消去領域ポインタとして開始ポインタと終了ポインタが設定するが、消去対象のデータが書込まれる物理ブロックの先頭ページのアドレスが開始ポインタとなっており、かつ、消去対象のデータが書込まれる物理ブロックの最終ページのアドレスが終了ポインタとなっている。この場合には、フラッシュメモリ制御部１１は、消去領域ポインタを消去領域ポインタ記憶領域１３ｂに記憶する処理を行なう必要はなく、この消去対象の物理ブロック全体（領域２２）を未使用状態とするべく、論理物理アドレス変換テーブル１３ａにおける、論理ブロックアドレスと物理ブロックアドレス（“Ａ”）との対応付けを解除する処理を行なえばよい。
【００４０】
消去領域ポインタの第３の例を図５に示す。この例では、フラッシュメモリ制御部１１は、仮想消去領域の先頭に該当するページアドレスは、物理ブロックの先頭のページに付与されたページアドレスであると定義しており、消去領域ポインタとして、終了ポインタのみを設定する。これにより、消去対象のデータが書込まれる物理ブロックの先頭アドレスから、終了ポインタで指定されるアドレスまでのアドレス範囲に対応したページ、つまり領域２３で示した部分が仮想消去部分となる。
【００４１】
消去領域ポインタの第４の例を図６に示す。この例では、フラッシュメモリ制御部１１は、図３の例と同様に、消去領域ポインタとして終了ポインタのみが設定され、ホスト機器２からフラッシュメモリ１４上の複数の物理ブロックにまたがる消去コマンドが発行された場合の処理について説明する。
【００４２】
ここでは３つの物理ブロック（物理ブロックＡ，Ｂ，Ｃ）にまたがった消去コマンドがホスト機器２から発行された場合を示す。物理ブロックＡの最終ページは、仮想消去領域の終端部分ではないので、仮想消去領域の終了ポインタを設定することができない。よって、フラッシュメモリ制御部１１は、物理ブロックＡの消去対象の領域２４に対し、図２に示したような、データコピーを伴う消去処理を行なう。
【００４３】
物理ブロックＢについては、全ての領域が消去対象のデータとなるので、フラッシュメモリ制御部１１は、前述したように、論理物理アドレス変換テーブル１３ａから物理ブロックＢのアドレス情報およびこのアドレス情報と対応付けられた論理ブロックアドレスを削除して、当該物理ブロックの全領域（領域２５）を未使用状態のブロックとする。
【００４４】
また、物理ブロックＣについては、フラッシュメモリ制御部１１は、前述した図５に示した例と同様に、データ消去対象の領域の最終部分のページに付与されるページアドレスを消去領域ポインタの終了ポインタとして設定する。これにより、つまり領域２６で示した部分が仮想消去部分となり、物理ブロックＣに書込まれたデータのうち、消去対象でないデータの移動が不要になる。
【００４５】
例えば、消去領域ポインタとして“Ｐａｇｅ１０”を指定した場合、物理ブロックＣの先頭ページから１０ページまでの範囲にわたって書込まれたデータが仮想消去となる。また、消去領域ポインタとして“Ｐａｇｅ０”を指定した場合、物理ブロックＣの先頭ページ以降、つまり、物理ブロックＣの各ページに書込まれたデータが全て有効データとなり、仮想消去の領域がないことを意味する。
【００４６】
ここでは、消去領域ポインタ記憶領域１３ｂは、フラュッシュメモリ１４の各物理ブロックのうち、ホスト機器２からのデータ消去要求において、消去対象となるデータが記憶される物理ブロック中の仮想消去領域のデータを記憶するが、ＲＡＭ１３において、多くの記憶領域が確保可能である場合には、消去領域ポインタ記憶領域１３ｂにおいて、仮想消去領域のデータを各物理ブロックについてそれぞれ管理するようにしてもよい。
【００４７】
次に、本発明の実施形態にしたがったメモリカード１のフラッシュメモリ１４上の物理ブロックに書込まれているデータの一部を消去する手順（その２）を説明する。  
図７は、本発明の実施形態にしたがったメモリカード１に書込まれたデータの消去手順（その２）を示す遷移図である。図８は、本発明の実施形態にしたがったメモリカード１に書込まれたデータの消去手順（その２）を示すフローチャートである。
【００４８】
ここでは、前述したデータ消去手順（その１、図２参照）と同様に、論理物理アドレス変換テーブル１３ａにおいて、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレス“３”が付与される物理ブロックに記憶されるデータのうち、１６３８４Ｂｙｔｅ（３２ページ）分のデータを消去するコマンドがホスト機器２から発行された場合のデータ消去手順について説明する。
【００４９】
ここでは、図１に示した消去領域ポインタ記憶領域１３ｂが設けられると仮定する。また、データ消去要求前の各物理ブロックの構成、および論理物理アドレス変換テーブル１３ａにより管理する情報の内容は、前述した第１の例と同様である。
【００５０】
消去領域ポインタ記憶領域１３ｂに記憶される“Ｓｔａｒｔ  ０ｘ００  ＥＮＤ  ０ｘ００”は、ページアドレス“Ｐａｇｅ０”が消去領域ポインタの開始アドレスおよび終了アドレスとして設定され、仮想消去領域が設定されていないことを示す。
【００５１】
フラッシュメモリ制御部１１は、ホスト機器２からのデータ消去要求がなされた際（ステップＳ１）に、論理物理アドレス変換テーブル１３ａを参照し、消去要求で指定された論理ブロックと対応付けられる物理ブロックアドレスを検出する（ステップＳ２）。図７に示した例では、フラッシュメモリ制御部１１は、論理ブロックアドレス“０ｘ４００００”番地が物理ブロックアドレス“３”と対応付けられることを検出する。
【００５２】
そして、フラッシュメモリ制御部１１は、データ消去要求による消去対象のデータが記憶される領域に対応するアドレス範囲が、消去領域ポインタ記憶領域１３ｂに既に記憶されているか否かを判別する（ステップＳ３）。
【００５３】
ステップＳ３の処理の結果「ＮＯ」と判別された場合には、フラッシュメモリ制御部１１は、データ消去要求による消去対象のデータが記憶される領域、つまり、物理ブロックアドレス“３”が対応付けられた物理ブロックの０ページ目から３１ページ目までの３２ページ分の領域を仮想消去領域とするべく、消去領域ポインタ記憶領域１３ｂに書込まれたデータを、“Ｓｔａｒｔ  ０ｘ００  ＥＮＤ  ０ｘ１Ｆ”と書き換え、かつ、対象ブロックのデータとして“物理ブロック３”を書込む（ステップＳ４）。対象ブロックとは、各物理ブロックのうち仮想消去のページが属する物理ブロックである。
【００５４】
そして、フラッシュメモリ制御部１１は、ステップＳ４の処理で指定された消去領域ポインタで示されたアドレス範囲がブロックサイズと一致するか、つまり、消去領域ポインタで示された開始アドレスが、データ消去対象の物理ブロックの先頭アドレスであり、かつ、消去領域ポインタで示された終了アドレスが、データ消去対象の物理ブロックの最終アドレスであるか否かを判別する（ステップＳ５）。
【００５５】
ステップＳ５の処理の結果「ＹＥＳ」と判別された場合には、フラッシュメモリ制御部１１は、消去対象のデータが書込まれた物理ブロックを未使用状態のブロックとするために、論理物理アドレス変換テーブル１３ａから、消去対象のデータが書込まれた物理ブロックに付与された物理ブロックアドレス、および、このアドレスと対応付けられた論理ブロックアドレスのデータを消去する（ステップＳ６）。
【００５６】
また、ステップＳ５の処理の結果「ＮＯ」と判別された場合には、フラッシュメモリ制御部１１は、ステップＳ４の処理で消去領域ポインタ記憶領域１３ｂに書込んだデータをフラッシュメモリ１４にも書込む（ステップＳ７）。ステップＳ７の処理を行なうことで、メモリカード１に供給される電源がオフとなっても消去領域ポインタの情報が保持されるので、仮想消去の状態が解除されることはない。
【００５７】
また、電源のオフ後、これを再投入した場合には、フラッシュメモリ制御部１１は、ステップＳ７の処理でフラッシュメモリ１４に書込まれた情報を読み出して、これをＲＡＭ１３の消去領域ポインタ記憶領域１３ｂに書込めばよい。
【００５８】
ステップＳ６またはＳ７の処理後、フラッシュメモリ制御部１１は、消去処理が完了しことを示す制御信号を、ホストインタフェース部１２を介してホスト機器２に出力する（ステップＳ８）。
【００５９】
図９は、本発明の実施形態にしたがったメモリカード１に書込まれたデータの読み出し手順の一例を示すフローチャートである。  
図８に示したフローチャートにしたがったデータ消去処理の終了後に、ホスト機器２よりデータ読み出し要求がなされた場合には、フラッシュメモリ制御部１１は、論理物理アドレス変換テーブル１３ａを参照して、データ読み出し要求で指定された論理ブロックアドレスと対応付けられる物理ブロックアドレスを検出する（ステップＡ１）。
【００６０】
そして、フラッシュメモリ制御部１１は、消去領域ポインタ記憶領域１３ｂを参照して、読み出し対象のデータが書込まれるページ範囲が、消去領域ポインタで示された領域に含まれるか否かを判別する（ステップＡ２）。
【００６１】
ステップＡ２による処理の結果、「ＹＥＳ」と判別された場合には、フラッシュメモリ制御部１１は、初期値データを読み出し対象のデータとしてホスト機器２に出力する（ステップＡ３）。一方、ステップＡ２による処理の結果、「ＮＯ」と判別された場合には、フラッシュメモリ制御部１１は、該当する読み出し対象のデータをホスト機器２に出力する（ステップＡ４）。
【００６２】
このような処理を行なうことで、データ消去の際に、前述した消去手順（その１）で行なったようなデータ移動が生じないので、データ消去にかかる時間を大幅に短縮することができる。
【００６３】
次に、本発明の実施形態にしたがったメモリカード１のフラッシュメモリ１４上の物理ブロックに書込まれているデータの一部を消去する手順（その３）を説明する。  
図１０は、本発明の実施形態にしたがったメモリカード１に書込まれたデータの消去手順（その３）を示す遷移図である。
【００６４】
ここでは、前述したデータ消去手順（その１、図２参照）と同様に、論理物理アドレス変換テーブル１３ａにおいて、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレス“３”が付与される物理ブロックに記憶されるデータのうち、１６３８４Ｂｙｔｅ（３２ページ）分のデータを消去するコマンドがホスト機器２から発行された場合のデータ消去手順について説明する。なお、データ消去要求前の各物理ブロックの構成、および論理物理アドレス変換テーブル１３ａにより管理する情報の内容は、前述した消去手順（その２、図７参照）と同様である。
【００６５】
フラッシュメモリ制御部１１は、ホスト機器２からのデータ消去要求がなされた際に、論理物理アドレス変換テーブル１３ａを参照し、消去要求で指定された論理ブロックアドレス“０ｘ４００００”番地がと対応付けられる物理ブロックアドレス“３”を検出する。
【００６６】
そして、フラッシュメモリ制御部１１は、データ消去要求による消去対象のデータが記憶される領域に対応するアドレス範囲が、消去領域ポインタ記憶領域１３ｂに既に記憶されていなければ、フラッシュメモリ制御部１１は、データ消去要求による消去対象のデータが記憶される領域、つまり、物理ブロックアドレス“３”が対応付けられた物理ブロックの０ページ目から３１ページ目までの３２ページ分の領域を仮想消去領域とするべく、ＲＡＭ１３内の論理物理アドレス変換テーブル１３ａに記憶される、“０ｘ４００００…物理ブロック３”の情報を“０ｘ４００００…物理ブロック３（＋物理ブロック４）”に書き換える。物理ブロックアドレス“４”が付与された物理ブロックは初期値データが書込まれた状態、つまり未使用状態であるとする。
【００６７】
そして、フラッシュメモリ制御部１１は、消去領域ポインタ記憶領域１３ｂに書込まれた情報を、“Ｓｔａｒｔ  ０ｘ００  ＥＮＤ  ０ｘ１Ｆ”と書き換え、対象ブロックのデータとして“物理ブロック４”を書込む。
【００６８】
これにより、論理ブロックアドレス“０ｘ４００００”番地と対応付けられる物理ブロックアドレスは、“３”および“４”の２つに変更され、論理物理アドレス変換テーブル１３ａに記憶された、物理ブロックアドレス“３”および“４”のうち、消去領域ポインタ記憶領域１３ｂに記憶された対象ブロック、つまり物理ブロックアドレス“４”が付与された物理ブロックの各ページのうち、消去領域ポインタ記憶領域１３ｂに記憶された消去領域ポインタで示されるページである、“Ｐａｇｅ０”から“Ｐａｇｅ３１”までのページが、読み出し要求に対する読み出し対象のデータが書込まれた第１の領域となる。
【００６９】
また、論理物理アドレス変換テーブル１３ａに記憶された、物理ブロックアドレス“３”および“４”のうち、消去領域ポインタ記憶領域１３ｂに記憶された対象ブロックでない物理ブロックの各ページのなかで、消去領域ポインタ記憶領域１３ｂに書込まれた消去領域ポインタで示されるページ範囲以外のページ範囲は、読み出し要求に対する読み出し対象のデータが書込まれた第２の領域となる。
【００７０】
つまり、第２の領域は、論理物理アドレス変換テーブル１３ａに記憶された、物理ブロックアドレス“３”および“４”のうち、物理ブロックアドレス“３”が付与された物理ブロックの各ページのうち、“Ｐａｇｅ０”から“Ｐａｇｅ３１”までの範囲以外のページ範囲、つまり“Ｐａｇｅ３２”から“Ｐａｇｅ２５５”までのページである。
【００７１】
そして、ホスト機器２よりデータ読み出し要求がなされた場合には、フラッシュメモリ制御部１１は、論理物理アドレス変換テーブル１３ａを参照して、データ読み出し要求で指定された論理ブロックアドレスと対応付けられる物理ブロックアドレスを検出する。
【００７２】
そして、フラッシュメモリ制御部１１は、消去領域ポインタ記憶領域１３ｂを参照して、消去対象のデータが書込まれるページが、消去領域ポインタで示された領域に含まれる場合には、フラッシュメモリ制御部１１は、初期値データをホスト機器２に出力する。
【００７３】
このような処理を行なうことで、前述した消去手順（その２）と同様に、消去手順（その１）でみられたデータ移動が生じないので、データ消去にかかる時間を大幅に短縮することができる。
【００７４】
本発明の実施形態にしたがったメモリカード１では、ホスト機器２からの制御にしたがってデータ消去処理を行なう際に、前述した消去領域ポインタを用いているが、この消去処理は、フラッシュメモリ１４のデータフォーマットがホスト機器２から指示された場合に限らず、ホスト機器２からフラッシュメモリ１４のデータコピーが指示された場合でも行なわれることがある。このような場合に、ライト処理にともなった消去処理において、前述したような消去領域ポインタを用いた場合には、当該ライト処理にかかる時間が通常より長くなってしまう。
【００７５】
そこで、ライト処理の長時間化を防止し、かつ、消去領域ポインタの使用による、データ消去にかかる時間の短縮のメリットを生かすための手順について図１１を参照しながら説明する。図１１は、本発明の実施形態にしたがったメモリカードに書込まれたデータの消去における、消去領域ポインタの使用の有無の選択処理の一例を示すフローチャートである。
【００７６】
ここでは、ホスト機器２からフラッシュメモリ１４のデータフォーマットの指示を行なう際は、消去コマンドが連続して発行され、かつ、これらの消去コマンドの引数で示される消去対象のページアドレスが連続していることに着目し、この条件を満たしているか否かにより、データ消去処理を行なう際の消去領域ポインタの使用の有無を切り替える。
【００７７】
ホスト機器２から発行されたコマンドが、フラッシュメモリ１４のデータフォーマットを指示するコマンドである場合には、１６ＫＢ単位で消去し、消去範囲が１６ＫＢインクリメントしながら繰り返されるので、消去範囲が連続する。
【００７８】
具体的には、メモリカード１のフラッシュメモリ制御部１１は、ホスト機器２から発行されたコマンドを認識した場合（ステップＢ１）、このコマンドが消去コマンドであるか否かを判別する（ステップＢ２）。
【００７９】
この判別の結果、「ＹＥＳ」と判別された場合には、フラッシュメモリ制御部１１は、この消去コマンドの引数をＲＡＭ１３に記憶する（ステップＢ３）。  
そして、フラッシュメモリ制御部１１は、ステップＢ３の処理により記憶した引数と連続する引数が既に記憶されているか否かを判別する（ステップＢ４）。この判別の結果「ＮＯ」と判別された場合にはステップＢ１の処理に戻る。
【００８０】
一方、ステップＢ４の処理の結果「ＹＥＳ」と判別された場合には、引数が連続した消去コマンドが逐次発行されたことを意味しているので、フラッシュメモリ制御部１１は、データフォーマットを行なうための指示がホスト機器２からなされたとみなし、前述したような消去領域ポインタを用いたデータ消去処理を行なう（ステップＢ５）。
【００８１】
一方、前述したステップＢ２の処理で「ＮＯ」と判別された場合には、フラッシュメモリ制御部１１は、ステップＢ１の処理により認識したコマンドがライトコマンドであるか否かを判別し（ステップＢ６）。この判別の結果「ＹＥＳ」と判別された場合には、ＲＡＭ１３に記憶された引数がある場合には、これを消去する（ステップＢ７）。
【００８２】
このような処理を行なえば、ホスト機器２から発行されたコマンドが、フラッシュメモリ１４のデータフォーマットを示すコマンドであった場合のみに、消去領域ポインタを用いたデータ消去処理を行なうので、ライト処理にかかる時間を長時間化させることなく、かつ、データ消去にかかる時間を短縮することができる。
【００８３】
なお、この発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態にしたがったメモリカードの構成例を示すブロック図である。
【図２】本発明の実施形態にしたがったメモリカードのフラッシュメモリ上の物理ブロックに書込まれているデータの一部を消去する手順（その１）を示す遷移図。
【図３】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去処理に用いる消去領域ポインタの第１の例を示す図。
【図４】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去処理に用いる消去領域ポインタの第２の例を示す図。
【図５】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去処理に用いる消去領域ポインタの第３の例を示す図。
【図６】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去処理に用いる消去領域ポインタの第４の例を示す図。
【図７】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去手順の一例（その２）を示す遷移図。
【図８】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去手順の一例（その２）を示すフローチャート。
【図９】本発明の実施形態にしたがったメモリカードに書込まれたデータの読み出し手順の一例を示すフローチャート。
【図１０】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去手順の一例（その３）を示す遷移図。
【図１１】本発明の実施形態にしたがったメモリカードに書込まれたデータの消去における、消去領域ポインタの使用の有無の選択処理の一例を示すフローチャート。
【符号の説明】
【００８５】
１…メモリカード、２…ホスト機器、１１…フラッシュメモリ制御部、１２…ホストインタフェース部、１３…ＲＡＭ、１３ａ…論理物理アドレス変換テーブル、１３ｂ…消去領域ポインタ記憶領域、１４…フラッシュメモリ。
【図１】
2006079543.tif 000003
【図２】
2006079543.tif 000004
【図３】
2006079543.tif 000005
【図４】
2006079543.tif 000006
【図５】
2006079543.tif 000007
【図６】
2006079543.tif 000008
【図７】
2006079543.tif 000009
【図８】
2006079543.tif 000010
【図９】
2006079543.tif 000011
【図１０】
2006079543.tif 000012
【図１１】
2006079543.tif 000013