(57)【特許請求の範囲】
【請求項１】
フラッシュメモリで構成され、少なくとも１つのセクタを含む消去単位としてのブロックを複数有してなる記憶領域を備え、ホスト装置に接続されて該ホスト装置とデータの通信を行う半導体記憶装置の制御方法であって、
前記ホスト装置より送出される前記セクタ単位の消去命令に応答して、該消去命令で指定されるセクタに消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定し、前記消去フラグは複数ビットで構成し、該消去フラグの各ビットに格納された「１」の数が偶数であるか奇数であるかに基づいて、疑似消去状態あるいは未消去状態のいずれかを設定可能としたことを特徴とする半導体記憶装置の制御方法。
【請求項２】
前記消去フラグの各ビットに格納された「１」若しくは「０」のいずれかのデータを１ビットずつ順次反転させることにより、前記疑似消去状態及び未消去状態を交互に設定可能としたことを特徴とする請求項１記載の半導体記憶装置の制御方法。
【請求項３】
各データブロックに連続して格納されたセクタを前記疑似消去状態に設定するとき、消去要求されたセクタ数に基づいて連続して格納されたデータブロックのセクタにわたって疑似消去状態とすることを特徴とする請求項１又は２に記載の半導体記憶装置の制御方法。
【請求項４】
前記疑似消去状態の設定に基づいて、１つのデータブロック内の全セクタが疑似消去状態に設定されたとき、該データブロックをブロック単位で消去可能とすることを特徴とする請求項３記載の半導体記憶装置の制御方法。
【請求項５】
ホスト装置に接続されて該ホスト装置とのデータの通信を行う半導体記憶装置であって、
フラッシュメモリで構成され、少なくとも１つのセクタを含む消去単位としてのブロックを複数有してなる記憶領域と、
前記ホスト装置より送出されるセクタ単位の消去命令に基づいて、該消去命令で指定されるセクタに消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定する制御部と、
を有し、
前記セクタは、複数のビットからなる消去フラグ領域を含み、
前記制御部は、該消去フラグ領域の「１」が書き込まれたビット数が奇数であるか偶数であるかに基づいて、当該セクタを疑似消去状態あるいは未消去状態のいずれかの状態に設定することを特徴とする半導体記憶装置。
【請求項６】
前記制御部は、該消去フラグの各ビットに格納された「１」若しくは「０」のいずれか一方のデータを１ビットずつ反転することにより、当該セクタに対し、疑似消去状態と未消去状態を交互に設定することを特徴とする請求項５記載の半導体記憶装置。
【請求項７】
フラッシュメモリで構成され、少なくとも１つのセクタを含む消去単位としてのブロックを複数有してなる記憶領域を備え、ホスト装置に接続されて該ホスト装置とデータの通信を行う半導体記憶装置の制御装置であって、
前記ホスト装置より送出されるセクタ単位の消去命令に基づいて、該消去命令で指定されるセクタに消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定し、前記セクタは、複数のビットからなる消去フラグ領域を含み、該消去フラグ領域の「１」が書き込まれたビット数が奇数であるか偶数であるかに基づいて、当該セクタを疑似消去状態あるいは未消去状態のいずれかの状態に設定することを特徴とする半導体記憶装置の制御装置。
【請求項８】
前記消去フラグの各ビットに格納された「１」若しくは「０」のいずれか一方のデータを１ビットずつ反転することにより、当該セクタに対し、疑似消去状態と未消去状態を交互に設定することを特徴とする請求項７記載の半導体記憶装置の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体記憶装置特にフラッシュメモリのデータ消去方法に関するものである。
【０００２】
半導体記憶装置の一種類であるフラッシュメモリは、ＰＣカードやその他の携帯用電子機器に使用され、今後ますます市場が拡大すると予想される。ＰＣカードや携帯用電子機器の利便性を向上させるために、このようなフラッシュメモリのデータ消去動作の自由度を向上させることが必要となっている。
【０００３】
【従来の技術】
従来のフラッシュメモリのデータ格納領域は、例えば図７に示すように、８つのセクタ１ａ〜１ｈで１つのデータブロック２が構成され、このようなブロック２が多数配列される。
【０００４】
このようなフラッシュメモリでは、各セクタに格納されたデータの消去動作は、データブロック単位で行われる。すなわち、例えばデータブロック２ａ内のセクタ１ａ，１ｃ，１ｄ，１ｇにデータが書き込まれている状態で、セクタ１ｃに書き込まれているデータのみを消去したい場合にも、データブロック２ａを一括して消去することしかできない。
【０００５】
そこで、セクタ１ａ，１ｄ，１ｇに書き込まれているデータを維持したい場合には、セクタ１ａ，１ｄ，１ｇの格納データを他のデータブロック２ｂに格納した後、データブロック２ａ内の格納データを一括して消去する必要がある。
【０００６】
【発明が解決しようとする課題】
上記のように従来のフラッシュメモリでは、セクタ毎に格納データを消去することはできない。従って、データ消去動作の自由度が低く、所望のセクタの格納データのみを消去する場合には、煩雑なデータ転送処理が必要となるという問題点がある。
【０００７】
この発明の目的は、セクタ毎のデータ消去を可能とする半導体記憶装置、半導体記憶装置の制御装置及び制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
請求項１では、ホスト装置１５より送出されるフラッシュメモリのセクタ１１単位の消去命令に応答して、該消去命令で指定されるセクタ１１に消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定する。そして、前記消去フラグは複数ビットで構成し、該消去フラグの各ビットに格納された「１」の数が偶数であるか奇数であるかに基づいて、前記疑似消去状態あるいは未消去状態のいずれかを設定可能とした。
【０００９】
請求項２では、前記消去フラグの各ビットに格納された「１」あるいは「０」のいずれかのデータを１ビットずつ順次反転させることにより、前記疑似消去状態及び未消去状態を交互に設定可能とした。
【００１０】
請求項３では、各データブロックに連続して格納されたセクタを前記疑似消去状態に設定するとき、消去要求されたセクタ数に基づいて連続して格納されたデータブロックのセクタにわたって疑似消去状態とする。
【００１１】
請求項４では、前記疑似消去状態の設定に基づいて、１つのデータブロック内の全セクタが疑似消去状態に設定されたとき、該データブロックをブロック単位で消去可能とする。
【００１２】
請求項５では、ホスト装置に接続されて該ホスト装置とのデータの通信を行う半導体記憶装置は、フラッシュメモリで構成され、少なくとも１つのセクタを含む消去単位としてのブロックを複数有してなる記憶領域と、前記ホスト装置より送出されるセクタ単位の消去命令に基づいて、該消去命令で指定されるセクタに消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定する制御部とを有する。
【００１３】
更に、半導体記憶装置のセクタは、複数のビットからなる消去フラグ領域を含み、前記制御部は、該消去フラグ領域の「１」が書き込まれたビット数が奇数であるか偶数であるかに基づいて、当該セクタを疑似消去状態あるいは未消去状態のいずれかの状態に設定する。
【００１４】
請求項６では、半導体記憶装置の制御部は、該消去フラグの各ビットに格納された「１」若しくは「０」のいずれか一方のデータを１ビットずつ反転することにより、当該セクタに対し、疑似消去状態と未消去状態を交互に設定する。
【００１５】
請求項７では、フラッシュメモリで構成され、少なくとも１つのセクタを含む消去単位としてのブロックを複数有してなる記憶領域を備えた半導体記憶装置がホスト装置に接続されて、該ホスト装置とデータの通信を行う半導体記憶装置の制御装置で、前記ホスト装置より送出されるセクタ単位の消去命令に基づいて、該消去命令で指定されるセクタに消去フラグを書き込むことにより、該セクタを擬似的消去状態に設定する。
【００１６】
更に、前記セクタは、複数のビットからなる消去フラグ領域を含み、該消去フラグ領域の「１」が書き込まれたビット数が奇数であるか偶数であるかに基づいて、当該セクタを疑似消去状態あるいは未消去状態のいずれかの状態に設定する。
【００１７】
請求項８では、請求項７において、前記消去フラグの各ビットに格納された「１」若しくは「０」のいずれか一方のデータを１ビットずつ反転することにより、当該セクタに対し、疑似消去状態と未消去状態を交互に設定する。
【００１８】
（作用）
請求項１，５，７では、消去フラグを書き込むことにより、当該セクタの格納データは読み出されないので、当該セクタは擬似的に消去された状態になる。
【００１９】
更に、消去フラグの各ビットに格納された「１」の数を偶数とすれば、例えば未消去状態となり、奇数とすれば疑似消去状態となる。
請求項２，６，８では、消去フラグの各ビットに格納された「１」あるいは「０」のデータを、１ビットずつ反転させることにより、疑似消去状態と未消去状態とが交互に設定される。
【００２０】
請求項３では、連続して疑似消去状態に設定するセクタ数が当該データブロック内で連続するセクタ数を超えると、当該データブロックに連続するデータブロックのセクタを疑似消去状態に設定する。
【００２１】
請求項４では、１つのデータブロック内の全セクタが疑似消去状態に設定されて、当該セクタの格納データが不要となったとき、当該データブロックをブロック単位で消去すると、全セクタの格納データが完全に消去される。
【００２２】
【発明の実施の形態】
図１は、本発明が適用されるシステム構成を示す。図１において、ホスト装置１５は、例えばパソコンやデジタルカメラであり、ＣＰＵ１５ａを備える。前記ホスト装置１５には、バス１９を介して外部記憶装置としてのメモリーカード１６が接続される。
【００２３】
前記メモリーカード１６にはフラッシュメモリセルで構成される記憶領域１７が設定され、その記憶領域１７は複数のデータブロック１３に分割され、各データブロック１３は複数のセクタ１１に分割され、各セクタ１１にデータがそれぞれ格納される。
【００２４】
また、前記メモリーカード１６には制御部（メモリコントローラ）１８が搭載され、前記ホスト装置１５のＣＰＵ１５ａから発信されるコマンドに応答して、該コマンド中で指定されるアドレスのブロックやセクタに対し、データの読み書きや消去等の処理を行う。
【００２５】
前記ホスト装置１５のＣＰＵ１５ａは、前記記憶領域１７内の各セクタ１１を当該セクタ１１の論理アドレスで指定する。
図２は、フラッシュメモリの１つのセクタ１１を示す。そのセクタ１１の一部には８ビットの消去フラグ１２が設定される。前記セクタ１１は、例えば５２８バイトのデータ領域で構成され、そのデータ領域内の１６バイトが管理データ領域として設定され、残りの５１２バイトがユーザーデータ領域として設定される。そして、前記消去フラグ１２は、管理データ領域内に設定される。
【００２６】
前記消去フラグ１２中の有効フラグ中、「１」が書き込まれているビットの数が偶数であれば、制御部１８により当該セクタのデータは有効と判断され、奇数であれば、無効と判断される。
【００２７】
前記フラッシュメモリの書き込み動作、読み出し動作及び消去動作は、ホスト装置１５のＣＰＵ１５ａからのコマンドに基づいて動作する制御部１８により行われる。すなわち、フラッシュメモリには、制御部１８によりデータが書き込まれ、書き込まれたデータは制御部１８により読み出され、書き込まれたデータは制御部１８により消去可能である。
【００２８】
データの書き込み動作時には、制御部１８は前記ＣＰＵ１５ａが出力する書き込みコマンドに基づいて空きセクタにデータを書き込む。空きセクタの各ビットは「１」であり、制御部１８による書き込み動作は、所定のビットを「０」とする動作が行われる。
【００２９】
なお、ＣＰＵ１５ａからの書き込みコマンドがデータの更新を示す場合、すなわちすでに有効データが格納されているセクタが書き込み先として指定された場合には、制御部１８は、書き込み先のセクタに有効データが格納されていること（消去フラグで「１」が書き込まれたビットが偶数であること）を検出した後、空きセクタに更新データを書き込むとともに、旧データが格納されているセクタの消去フラグの「１」が書き込まれている１ビットを「０」とすることにより、旧データを擬似的に消去する。
【００３０】
有効データの消去動作時には、制御部１８はＣＰＵ１５ａが出力する消去コマンドで指定されたセクタの消去フラグの「１」が書き込まれている１ビットを「０」とする。
【００３１】
前記各セクタ１１の消去フラグ１２には、図３（ａ）に示すように、最初に「ＦＦｈ」すなわちすべてのビットに「１」が書き込まれる。この状態では、消去フラグ１２内の「１」の数は偶数であるので、読み出し動作時には当該セクタ１１の格納データは未消去状態と判断されて読み出される。
【００３２】
次いで、格納データを消去状態としたいセクタ１１の消去フラグ１２の１ビットを、同図（ｂ）に示すように「０」とすると、消去フラグ１２内の「１」の数は奇数であるので、読み出し動作時には当該セクタ１１の格納データは消去状態と判断されて読み出されず、例えば空きセクタと同様にすべて「１」のデータが読み出される。
【００３３】
次いで、消去状態にあるセクタ１１の格納データを復活させたい場合には、当該セクタ１１の消去フラグ１２の「１」が書き込まれている１ビットを、同図（ｃ）に示すように「０」とする。
【００３４】
すると、消去フラグ１２内の「１」の数は偶数となるので、読み出し動作時には当該セクタ１１の格納データは未消去状態と判断されて読み出される。すなわち、当該セクタ１１の格納データは消去状態から未消去状態に復活する。
【００３５】
このようにして、消去フラグ１２内で「１」が書き込まれているビットを順次「０」とすることにより、当該セクタ１１の格納データを３回まで有効状態及び無効状態に交互に切り換えることが可能となる。
【００３６】
また、図３（ｈ）に示すように、消去フラグ１２が「００ｈ」すなわちすべてのビットが「０」となった場合には、当該セクタ１１の格納データは消去状態と判断される。
【００３７】
上記のような消去フラグ１２を備えたセクタ１１では、消去フラグ１２の内容に基づいて複数のセクタ１１を同時に消去状態とすることが可能となる。同時に消去状態とするセクタ１１は複数のブロックに跨っていてもよい。
【００３８】
図４は、それぞれ８セクタで構成される３つのブロック１３ａ〜１３ｃに跨って、連続する１９のセクタを消去する場合を示す。前記ブロック１３ａ，１３ｂは境界Ａ−Ａを介して連続し、前記ブロック１３ｂ，１３ｃは境界Ｂ−Ｂを介して連続するものとする。
【００３９】
ブロック１３ａの２番目のセクタ１１ａを先頭として、連続する１９セクタの格納データを消去状態とするＣＰＵ１５ａからの消去要求が前記制御部１８に入力されると、まずブロック１３ａのセクタ１１ａから最後部のセクタ１１ｂまで、その消去フラグに「１」が書き込まれているビット数を奇数として疑似消去される。
【００４０】
ブロック１３ａでは７セクタが疑似消去され、残り１２セクタを消去する必要があるので、ブロック１３ａに連続するブロック１３ｂが消去対象となる。そして、ブロック１３ｂの先頭のセクタ１１ｃから最後部のセクタ１１ｄまでの８セクタが上記のように疑似消去される。
【００４１】
すると、残り４セクタを消去する必要があるので、ブロック１３ｃが消去対象となる。そして、ブロック１３ｃの先頭のセクタ１１ｅから４番目のセクタ１１ｆまで、上記のように疑似消去される。
【００４２】
このような動作により、複数のブロックに跨って任意数のセクタの格納データを疑似消去することが可能となる。
図５は、１つのブロック１３ｄ内のセクタを複数回にわたって疑似消去する場合を示す。例えば１回目の疑似消去動作で先頭から３番目のセクタ１１ｇから７番目のセクタ１１ｈまでを疑似消去する。ブロック１３ｄ内の残りのセクタは未消去状態として格納データを読み出し得る状態として使用する。
【００４３】
２回目の疑似消去動作で、先頭のセクタ１１ｉと２番目のセクタ１１ｊとを疑似消去し、残りのセクタは未消去状態として格納データを読み出し得る状態として使用する。
【００４４】
３回目の疑似消去動作で、残りのセクタ１１ｋ，１１ｍ，１１ｎを疑似消去する。すると、ブロック１３ｄ内の全セクタが疑似消去され、ブロック１３ｄ内の格納データは読み出されない状態となる。また、各セクタの消去フラグの書き換えにより、ブロック１３ｄ内の任意のセクタの格納データを未消去状態に復活させることも可能である。
【００４５】
一方、全セクタを疑似消去状態としたブロック１３ｄは新たなデータを書き込むことはできないため、疑似消去した格納データが不要なデータである場合には、３回目の疑似消去動作に換えて、ブロック消去動作を行えば、ブロック１３ｄの各セクタには新たなデータを格納することが可能となる。
【００４６】
また、ブロック内の全セクタが復活不可能（全セクタにおいて、消去フラグの全ビットが「０」）であれば、制御部１８はこれを検出してブロック消去を行うことができる。
【００４７】
図６は、任意の複数のブロック１３ｅ〜１３ｇ内の任意のセクタを疑似消去する場合を示す。ブロック１３ｅのセクタ１１ｏ，１１ｐと、ブロック１３ｆのセクタ１１ｑ及びブロック１３ｇのセクタ１１ｒに対するＣＰＵ１５ａからの消去要求が制御部１８に入力されると、前記セクタ１１ｏ〜１１ｒに対し任意の順番で前記疑似消去動作が行われる。
【００４８】
このようにして、連続あるいは不連続な任意のブロック１３ｅ〜１３ｇ内のセクタの疑似消去動作が可能となり、各ブロック１３ｅ〜１３ｇで疑似消去動作を行わないセクタから格納データを読み出すことが可能である。
【００４９】
このような消去フラグ１２を備えたフラッシュメモリでは、次に示す作用効果を得ることができる。
（１）各セクタに消去フラグ１２を設定し、その消去フラグの設定に基づいて、当該セクタの格納データを読み出さない疑似消去状態を設定することができる。従って、任意のセクタ毎に未消去状態及び疑似消去状態のいずれかを設定することができる。
（２）消去フラグ１２のビット数を８ビットとし、その消去フラグ１２の「１」が書き込まれているビット数が偶数であるとき当該セクタを未消去に設定し、奇数であるとき当該セクタを疑似消去に設定し、消去フラグ１２を「ＦＦｈ」の状態から順次１ビットずつ「０」に書き換えれば、当該セクタを疑似消去状態から未消去状態に３回まで復活させることができる。
（３）消去フラグ１２のビット数を８ビット以外の適宜な偶数ビットに設定すれば、当該セクタの疑似消去状態から未消去状態への復活可能回数を適宜に設定することができる。
（４）複数のブロックに跨る任意数の連続するセクタを疑似消去状態に設定することができる。
（５）同一ブロック内の任意数のセクタを未消去状態から疑似消去状態に、あるいは疑似消去状態から未消去状態へ複数回に分けて設定することができる。
（６）任意数の異なるブロック内の任意数のセクタを疑似消去状態に設定することができる。
【００５０】
【発明の効果】
以上詳述したように、この発明はセクタ毎のデータ消去を可能とする半導体記憶装置、半導体記憶装置の制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【図１】  半導体記憶装置の制御装置を示すブロック図である。
【図２】  セクタを示す説明図である。
【図３】  消去フラグを示す説明図である。
【図４】  複数のデータブロックに跨るセクタ毎の消去動作を示す説明図である。
【図５】  同一データブロック内のセクタ毎の消去動作を示す説明図である。
【図６】  複数のデータブロックのセクタ毎の消去動作を示す説明図である。
【図７】  従来の消去動作を示す説明図である。
【符号の説明】
１１      セクタ
１２      消去フラグ
１３      データブロック
１５      ホスト装置
１６      メモリーカード
１７      記憶領域
１８      制御部
【図１】
0003898305.tif 000002
【図２】
0003898305.tif 000003
【図３】
0003898305.tif 000004
【図４】
0003898305.tif 000005
【図５】
0003898305.tif 000006
【図６】
0003898305.tif 000007
【図７】
0003898305.tif 000008