(57)【要約】【課題】フラッシュメモリブロックの消去処理を実行する方法及びその装置を開示する。【解決手段】一実施の形態においては、この方法は、メモリブロックにおける所定の割合のロウを消去するステップと、この所定の割合の消去に使用される消去パルスの数を分析するステップと、消去されないで残ったロウを消去するために、メモリブロックに対して追加して印加されるパルスの許容数を算出するステップとを含む。別の実施の形態においては、フラッシュメモリデバイスは、メモリアレイと、コントローラと、レジスタとを含む。メモリアレイは、フラッシュメモリセルの複数のブロックを含む。各ブロックにおけるメモリセルは、複数のロウに配列される。コントローラは、メモリアレイに対するメモリ処理の制御に使用され、レジスタは、コントローラに接続され、メモリセルの各ロウの消去状態をトラックする。
2005501368.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリにおける処理を実行する方法において、
メモリブロックにおける所定の割合のロウを消去するステップと、
前記所定の割合のロウの消去に使用される消去パルスの数を分析するステップと、
前記メモリブロックに印加することが可能な追加消去パルスの許容数を算出するステップとを含むことを特徴とするフラッシュメモリにおける処理を実行する方法。
【請求項２】
請求項１記載の方法において、さらに、
消去されなかったロウを消去するために、前記メモリブロックに対し、前記許容数の追加消去パルスを印加するステップを含むことを特徴とするフラッシュメモリにおける処理を実行する方法。
【請求項３】
請求項２記載の方法において、さらに、
前記メモリブロックに対して後で行われる他のメモリ処理で使用するために、当該メモリブロックにおいて消去されていないロウをラベル付けするステップを含むことを特徴とするフラッシュメモリにおける処理を実行する方法。
【請求項４】
請求項３記載の方法において、
前記他のメモリ処理にプログラミング処理及び読み出し処理が含まれることを特徴とするフラッシュメモリにおける処理を実行する方法。
【請求項５】
フラッシュメモリのブロックを処理する方法において、
前記ブロックが、複数のロウに配列された複数のメモリセルを含み、
前記ブロックに対して少なくとも１つのパルスを印加するステップと、
各消去パルスの後、各ロウに関連付けられたメモリセルが消去されたかどうかを判定するために各ロウをベリファイするステップと、
前記ブロックにおける所定数のロウが消去されているとベリファイされたときにブロックの消去を終了するステップとを含み、
前記ロウの前記所定数が前記ブロックにおけるロウの合計数よりも少ないことを特徴とするフラッシュメモリのブロックを処理する方法。
【請求項６】
請求項５記載の方法において、さらに、
前記ブロックに対して後で行われる他のメモリ処理で使用するために、消去されているとベリファイされなかったロウをラベル付けすることを特徴とするフラッシュメモリのブロックを処理する方法。
【請求項７】
請求項５記載の方法において、
前記所定数のロウをベリファイするのに必要な第１の数のパルスをカウントするステップと、
消去されているとベリファイされていないロウの消去を試行するために前記ブロックに対して印加される第２の最大限の数のパルスを算出するステップとを含み、前記第２のパルスの数は、前記第１のパルスの数よりも少ないことを特徴とするフラッシュメモリのブロックを処理する方法。
【請求項８】
請求項７記載の方法において、
前記第２のパルスの数に応答し、前記ブロックに対し、少なくとも１つの消去パルスを印加するステップと、
各消去パルスの後、各ロウに関連付けられたメモリセルが消去されたかどうかを判定するために各ロウをベリファイするステップと、
前記ブロックにおける所定数のロウが消去されているとベリファイされたときにブロックの消去を終了するステップとを含むことを特徴とするフラッシュメモリのブロックを処理する方法。
【請求項９】
請求項７記載の方法において、前記第２パルスの数は、Ｎ２＝（Ａ＊Ｎ１）＋Ｂによって算出され、Ｎ２は第２のパルスの数であり、Ｎ１は、第１のパルスの数であり、Ａは、所定の割合であり、Ｂは、最小のパルス数であることを特徴とするフラッシュメモリのブロックを処理する方法。
【請求項１０】
不揮発性メモリにおける処理を実行する方法において、
複数のロウに配列されたフラッシュメモリセルのブロックに対し、少なくとも１つの消去パルスを印加するステップと、
消去パルスの後、ブロックにおける各ロウが消去されているかどうかをベリファイするステップと、
前記ブロックにおいて所定数のロウが消去されているかどうかをベリファイするために使用される消去パルスの数をカウントするステップと、
消去されているとベリファイされていないロウの消去を試行するために前記ブロックに対して所定数の消去パルスを印加するステップとを含み、前記消去パルスの所定数は、前記所定数のロウをベリファイするのに使用される消去パルスの数よりも少ないことを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１１】
請求項１０記載の方法において、さらに、
前記ブロックに関連付けられたレジスタにおけるメモリセルをプログラムし、消去されているとベリファイされたロウをトラックすることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１２】
請求項１０記載の方法において、さらに、
最初の消去パルスが印加される前に、前記ブロックにおける各メモリセルのプリチャ−ジを行うことを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１３】
請求項１０記載の方法において、
前記ベリファイされたロウの前記所定数は、前記ブロックにおけるロウの過半数であることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１４】
請求項１０記載の方法において、前記ブロックに対して所定数の消去パルスが印加された後に消去されているとベリファイされないロウは、ブロックで後に行われるメモリ処理のために、消去されていないとラベル付けされることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１５】
不揮発性メモリにおける処理を実行する方法において、
前記ブロックにおいて複数のロウに配列されたフラッシュメモリセルを所定のレベルにプリチャージするステップと、
前記ブロックに対し、少なくとも１つの第１ステージの消去パルスを印加するステップと、
前記ブロックに対して第１ステージの各消去パルスが印加された後、ロウ毎に各メモリセルが消去されたかどうかをベリファイするステップと、
消去されたブロックにおいて半数を超えるロウをベリファイするのに使用され、前記ブロックに対して印加される第１のパルスの数をカウントするステップと、
前記第１のパルスの数の割合として、消去されているとベリファイされていないロウの消去を試行するために前記ブロックに対して印加される第２のパルスの数を算出するステップと、
前記ブロックに対し、少なくとも１つの第２ステージの消去パルスを印加するステップと、
前記ブロックに対し第２ステージの各消去パルスが印加された後、ロウ毎に各メモリセルが消去されたかどうかをベリファイするステップと、
前記ブロックに対し、第２ステージの消去パルスが印加されたか、すべてのロウが消去されているとベリファイされたときに、前記ブロックの消去を終了するステップとを含むことを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１６】
請求項１５記載の方法において、さらに、
ロウが消去されたとベリファイされたときに、当該ロウに関連付けられたレジスタにフラッグを立てることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１７】
請求項１５記載の方法において、さらに、
前記メモリブロックに対して他の処理を実行するために、消去されたとベリファイされたロウをラベル付けすることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１８】
請求項１５記載の方法において、前記第２の数は、Ｎ２＝（Ａ＊Ｎ１）＋Ｂによって算出され、Ｎ２は第２の消去パルスの数であり、Ｎ１は、第１の消去パルスの数であり、Ａは、所定の割合であり、Ｂは、前記第２ステージにおいて印加される最小のパルス数であることを特徴とする不揮発性メモリにおける処理を実行する方法。
【請求項１９】
複数のロウに配列されたフラッシュメモリセルのブロックを複数含むメモリアレイと、
前記メモリアレイに対するメモリ処理を制御するコントローラと、
メモリセルの各ロウの消去状態をトラックするために前記コントローラに接続されたレジスタとを含むことを特徴とするフラッシュメモリデバイス。
【請求項２０】
請求項１９記載のフラッシュメモリデバイスにおいて、前記メモリアレイを含むダイの外側に前記レジスタが設けられていることを特徴とするフラッシュメモリデバイス。
【請求項２１】
請求項１９記載のフラッシュメモリデバイスにおいて、前記メモリアレイを含むダイの内側に前記レジスタが設けられていることを特徴とするフラッシュメモリデバイス。
【請求項２２】
請求項１９記載のフラッシュメモリデバイスにおいて、前記レジスタが、
各ブロックに設けられるレジスタサブブロックを含み、
各サブブロックが、前記ブロック内のロウに関連付けられたトラッキング用メモリセルを複数含み、
前記コントローラは、トラッキング用メモリセルが消去されているとベリファイされた際に、トラッキングメモリセルをプログラムすることを特徴とするフラッシュメモリデバイス。
【請求項２３】
請求項２２記載のフラッシュメモリデバイスにおいて、前記複数のトラッキングメモリセルが揮発性メモリセルであることを特徴とするフラッシュメモリデバイス。
【請求項２４】
請求項２２記載のフラッシュメモリデバイスにおいて、前記複数のトラッキングメモリセルが不揮発性メモリセルであることを特徴とするフラッシュメモリデバイス。
【請求項２５】
請求項２２記載のフラッシュメモリデバイスにおいて、前記コントローラは、消去処理の前に、前記トラッキングメモリセルのすべてを消去することを特徴とするフラッシュメモリデバイス。
【請求項２６】
複数のロウに配列されたフラッシュメモリセルのブロックを複数含むメモリアレイと、
前記メモリアレイに対するメモリ処理を制御するコントローラと、
レジスタアレイとを含み、前記コントローラは、複数のブロックに配列されたメモリセルのロウが消去されたとベリファイされたことをトラックするために前記レジスタアレイにデータを格納することを特徴とする不揮発性メモリデバイス。
【請求項２７】
請求項２６記載の不揮発性メモリデバイスにおいて、前記レジスタアレイは、複数のレジスタメモリセルを含み、各レジスタメモリセルは、各メモリアレイにおけるメモリセルの各ブロックにおけるメモリセルのロウに関連付けられていることを特徴とする不揮発性メモリデバイス。
【請求項２８】
請求項２６記載の不揮発性メモリデバイスにおいて、前記複数のメモリアレイが大容量記憶デバイスを構成することを特徴とする不揮発性メモリデバイス。
【請求項２９】
請求項２６記載の不揮発性メモリデバイスにおいて、前記コントローラは、前記ブロックにおける所定数のロウを消去する際に、メモリセルのブロックに対して第１ステージの消去パルスを印加し、当該第１ステージにおいて、前記コントローラは、消去されるロウが所定数に達するのに必要なパルスの数をカウントすることを特徴とする不揮発性メモリデバイス。
【請求項３０】
請求項２９記載の不揮発性メモリデバイスにおいて、前記ロウの所定数は、消去されるブロックにおけるロウの半数を超えることを特徴とする不揮発性メモリデバイス。
【請求項３１】
請求項２９記載の不揮発性メモリデバイスにおいて、前記コントローラは、消去しようとする前記ブロックに対して第２ステージの消去パルスを印加し、前記第２ステージにおいて前記コントローラが使用する消去パルスの最大数は、前記第１ステージで使用される消去パルスの数よりも少ないことを特徴とする不揮発性メモリデバイス。
【請求項３２】
請求項３１記載の不揮発性メモリデバイスにおいて、前記第２ステージにおいて使用される消去パルスの数は、Ｎ２＝（Ａ＊Ｎ１）＋Ｂによって判定され、Ｎ２は、前記第２ステージにおいて使用される消去パルスの最大数であり、Ｎ１は、第１ステージにおいて使用される消去パルスの数であり、Ａは、所定の割合であり、Ｂは、第２ステージにおいて使用される消去パルスの最小の数であることを特徴とする不揮発性メモリデバイス。
【請求項３３】
複数のロウに配列されたフラッシュメモリセルのブロックを複数含むメモリアレイと、
前記メモリアレイに対するメモリ処理を制御する制御回路とを含み、
前記制御回路は、第１ステージにおいて消去されるブロックに対して第１の数の消去パルスを印加し、第２ステージにおいて前記ブロックに対して第２の数の消去パルスを印加し、前記第２ステージにおいて印加される消去パルスの前記第２の数は、前記ブロックにおいて所定数のロウが消去されたことをベリファイするために前記第１ステージにおいて必要とされる消去パルスの数に基づくものであることを特徴とするフラッシュメモリデバイス。
【請求項３４】
請求項３３記載のフラッシュメモリデバイスにおいて、前記第２ステージにおいて印加される第２の消去パルスの数は、前記第１ステージにおいて印加される第１の消去パルスの数よりも少ないことを特徴とするフラッシュメモリデバイス。
【請求項３５】
請求項３３記載のフラッシュメモリデバイスにおいて、さらに、
前記制御回路に接続されたレジスタサブブロックを複数有するレジスタを含み、
各レジスタサブブロックは、メモリセルのブロックに関連付けられ、
各レジスタサブブロックは、メモリセルのブロックにおけるロウ毎にレジスタメモリセルを有することによって、制御回路が関連付けされたロウが消去されたことをベリファイされたかどうかを示すデータを格納することを特徴とするフラッシュメモリデバイス。
【請求項３６】
請求項３５記載のフラッシュメモリデバイスにおいて、各レジスタメモリセルが不揮発性メモリセルであることを特徴とするフラッシュメモリデバイス。
【請求項３７】
請求項３５記載のフラッシュメモリデバイスにおいて、各レジスタメモリセルが揮発性メモリセルであることを特徴とするフラッシュメモリデバイス。
【請求項３８】
請求項３３記載のフラッシュメモリデバイスにおいて、前記制御回路は、前記ブロックに対して後で行われる他のメモリ処理において、消去されたとベリファイされなかったロウを使用しないことを特徴とするフラッシュメモリデバイス。
【請求項３９】
請求項３８記載のフラッシュメモリデバイスにおいて、他のメモリ処理がプログラミング処理及び読み出し処理を含むことを特徴とするフラッシュメモリデバイス。
【請求項４０】
外部消去コマンドを与えるためのプロセッサと、
複数のロウに配列されたフラッシュメモリセルの消去可能なブロックを複数含むメモリアレイと、
前記プロセッサから前記外部消去コマンドを受信し、前記複数のメモリアレイにおけるメモリセルのブロックに対し、消去処理を実行するコントローラと、
消去されたとベリファイされるメモリセルのロウをトラックするために前記コントローラに接続された複数のレジスタとを含み、
前記レジスタの各々は、前記メモリアレイの１つに関連付けられ、
前記レジスタの各々は、レジスタサブブロックを複数含み、
前記レジスタサブブロックの各々は、メモリセルのブロックに関連付けられ、
前記レジスタサブブロックの各々は、メモリセルの関連付けられたブロックにおけるロウ毎に、レジスタメモリセルを有することを特徴とするフラッシュメモリシステム。
【請求項４１】
請求項４０記載のフラッシュメモリシステムにおいて、前記コントローラは、関連付けされたロウが消去されているとベリファイされたかどうかを示すデータを前記レジスタメモリセルに格納することを特徴とするフラッシュメモリシステム。
【請求項４２】
請求項４０記載のフラッシュメモリシステムにおいて、各レジスタは、関連付けされたメモリセルを含むダイの内側に設けられていることを特徴とするフラッシュメモリシステム。
【請求項４３】
請求項４０記載のフラッシュメモリシステムにおいて、各レジスタは、関連付けされたメモリセルを含むダイの外側に設けられていることを特徴とするフラッシュメモリシステム。
【請求項４４】
請求項４０記載のフラッシュメモリシステムにおいて、前記コントローラは、第１ステージにおいて、前記ブロックにおけるメモリセルの所定数のロウを消去するためにメモリセルのブロックに対し、第１の数の消去パルスを印加し、第２ステージにおいて、消去されたとベリファイされていないロウの消去を試行するために、前記ブロックに対して最大限の第２の数の消去パルスを印加し、消去パルスの前記第２の数は、前記第１ステージにおいて印加される消去パルスの第１の数よりも少ないことを特徴とするフラッシュメモリシステム。
【請求項４５】
請求項４４記載のフラッシュメモリシステムにおいて、前記最大限の第２のパルス数が、Ｎ２＝（Ａ＊Ｎ１）＋Ｂによって判定され、Ｎ２は、第２ステージにおいて印加される第２のパルスの最大数であり、Ｎ１は、第１ステージにおいて印加される消去パルスの第１の数であり、Ａは、所定の割合であり、Ｂは、前記第１ステージにおいて消去されているとベリファイされなかったロウの消去を試行しようとして前記第２ステージにおいて使用される最大数のパルスであることを特徴とするフラッシュメモリシステム。
【請求項４６】
請求項４４記載のフラッシュメモリデバイスにおいて、メモリセルのロウの前記所定数は、前記ブロックにおけるロウの半数を超えることを特徴とするフラッシュメモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の技術分野
本発明は、主に、不揮発性メモリに関する。特に、本発明は、フラッシュメモリデバイスにおける消去処理に関する。
【背景技術】
【０００２】
発明の背景
通常、メモリデバイスは、コンピュータの内部記憶領域として使用される。メモリには幾つかの種類がある。例えば、ＲＡＭ（random-access memory）は、従来、コンピュータのメインメモリとして用いられている。ＲＡＭの多くは揮発性であり、コンテンツを記憶した状態を維持するためには、周期的に電気をリフレッシュする必要がある。また、フラッシュメモリは、不揮発性メモリである。つまり、フラッシュメモリは周期的に電気をリフレッシュする必要なしにデータを保持するメモリである。フラッシュメモリには、多くの用途がある。例えば、近年のコンピュータには、フラッシュメモリチップに基本的なＩ／Ｏシステムバイオスが記録されており、必要に応じてこのバイオスを更新することが容易である。また、デジタルシステムの中には、従来の大容量デバイスの代わりにフラッシュメモリデバイスを使用しているものもある。具体的には、パーソナルコンピュータに搭載される従来のハードドライブの代わりにフラッシュメモリを使用することもある。
【０００３】
通常、フラッシュメモリは、メモリアレイを備え、このメモリアレイは、ロウアドレス及びカラムアドレスによって指定されるメモリセルのブロックを複数含む。メモリセルの各々には、フローティングゲートを有して電荷を保持する電界効果トランジスタが設けられる。これらのセルは、ブロック単位のグループに分けられる。各セルは、フローティングゲートに電荷を与えることによって、電気的に、ランダムにプログラムすることができる。電荷は、消去処理によって、フローティングゲートから抜き出される。フローティングゲートにおける電荷の有無によってセルのデータが決定する。
【０００４】
フラッシュメモリの状態の読み出しやベリファイは、リファレンスセル電流を用いて行われる。つまり、リファレンス不揮発性メモリセルは、リファレンスビットラインを介してセンスアンプ回路に接続される。ベリファイされるべきセルは、第２のビットラインを介してセンスアンプ回路に接続される。ビットライン間の差動電流を検出することによって、セルのプログラムされた状態を判定することができる。例えば、リファレンスセルを中間状態にプログラムし、このリファレンスセルが完全にプログラムされたメモリセルの約半分の電流を伝達するようにすることが考えられる。読み出されるセルがプログラムされている場合、このセルは、リファレンスメモリセルよりも多くの電流を伝達し、読み出されるセルが消去されている場合、このセルは、リファレンスセルよりも少ない電流を伝達する。
【０００５】
メモリセルをプログラムするために、例えば、１２ボルトの高い正の電圧がセルのコントロールゲートに印加される。さらに、ソース電圧及び基板電圧をグラウンドレベルにした状態で、ドレインに対し、６〜９ボルトの中程度の正の電圧が印加される。これにより、メモリセルのドレイン領域近傍のチャンネル領域内への高温電子注入が発生する。これらの高エネルギー電子は、正の電圧を有するコントロールゲートに向かって移動し、フローティングゲート上に集まる。電子は、フローティングゲート上に留まるため、プログラムされていないセルと比較して、セルの実効しきい電圧が高くなっている。
【発明の開示】
【０００６】
フラッシュメモリにおいては、セルは、ブロック単位で消去される。これは、ブロックにおけるすべてのセルのコントロールゲートに接続された各ワード線に−１０〜−１７ボルトの負の電圧を印加し、ブロックのソース接点を、所定の期間に渡って、例えば、５ボルト以上の電圧（供給電圧Ｖｃｃ）にすることによって行われ、通常、単一のパルス、または、連続したパルスを印加することによって行われる。各パルスは、メモリ素子のフローティングゲートから電子を除去するフィールドを形成する。セルを消去するスピード、即ち、セルの消去に必要なパルスの数は、パルスの電圧レベル、パルス長、温度等、多くの状況に依存する。フラッシュメモリブロック内に存在する個々のセルは、消去速度が異なる場合が多い。通常、すべてのセルの消去のレベルは、ブロック内において最も速度の遅いビットに左右される。従って、例えば、通常のメモリセルの消去に１０パルス必要であり、消去可能なブロックにおいて最も消去速度の遅いメモリを消去に３０パルス必要であるとすれば、通常のセルには、２０の余分な消去パルスが印加されることになり、この余分な消去パルスによって過剰消去が発生する可能性がある。
【０００７】
過剰消去されたセルとは、特定のポイントを超えて消去されたセルを意味する。過剰消去されたセルとは、「枯渇」するものである。つまり、フローティングゲートから電子が過度に除去されるため、フローティングゲートは、セルのしきい値よりも高い電圧を有する状態になる。従って、このセルは、コントロールゲートがグラウンド電位にある場合でも、オフにすることはできない。さらに、過剰消去されたセルが存在する場合、過剰消去セルが存在するカラムに接続されたメモリセルのすべてが消去されたセルとして読み出される可能性がある。メモリセルがプログラムされたものであったとしても、消去されたセルとして読み出されてしまうことがある。
【０００８】
フラッシュメモリのブロックにおいて過剰消去されたセルの数を抑制するために、一般的に、消去処理は、プリプログラムサイクル、消去サイクル、さらに、ソフトプログラムサイクルを含む。プリプログラムサイクルにおいては、ブロック内のすべてのセルは、まず、所定のレベルを超えるようにプログラムされる。具体的には、ブロック内におけるすべてのセルのフローティングゲートが概ね同一の量の電荷を保持するようにプログラムされる。次に、消去サイクルでは、ブロックに対して消去パルスを印加し、ロウ毎に各セルをベリファイし、すべてのセルが消去された状態であるかどうかを判別する。消去サイクルは、すべてのセルが消去されたとベリファイされるまで繰り返される。さらに、ソフトプログラミングサイクル（電圧（Ｖｔ）分布サイクルと呼ばれることもある）では、ブロック内の各コラム（ビット線）をチェックし、過剰消去されたセルがビット線に接続されているかを示す現在のレベルを確認する。過剰消去されたセルがビット線に存在する場合には、ビット線に接続されたセルのコントロールゲートに対し、電流が検出されなくなるまでシスティマティックにソフトプログラムが実行される（ソフトプログラムパルスが印加される）。
【０００９】
ソフトプログラムサイクルは、過剰消去されたセルを修復するために使用されるが、過剰消去されたセルのなかには修復が不可能なものが存在するため、ソフトプログラムサイクルが実行される時点で過剰消去されたセルの数が少ないことが望ましい。また、過剰消去されたセルを修復した場合であっても、過剰消去が繰り返されるにつれて、セルの完全性が失われていく可能性がある。
【００１０】
上述した理由、または以下に述べる理由により、フラッシュメモリの技術分野において、ブロック内の他のセルに比べて消去スピードが遅いセルが少数存在するようなフラッシュメモリのブロック消去方法を改良することが求められている。これらの理由は、当業者であれば、明細書に記載された内容を理解することによって、明らかとなるであろう。
【００１１】
発明の要旨
上述した不揮発性メモリデバイスの問題及びその他の問題は、本発明によってその解決が図られ、以下の明細書の記載を検討することによって理解できるであろう。
【００１２】
一実施の形態においては、フラッシュメモリにおける処理を実行する方法が開示される。この方法は、メモリブロックにおける所定の割合のロウを消去するステップと、前記所定の割合のロウの消去に使用される消去パルスの数を分析するステップと、前記メモリブロックに印加することが可能な追加消去パルスの許容数を算出するステップとを含む。
【００１３】
別の実施の形態においては、フラッシュメモリにおける処理を実行する方法が開示される。この方法において、ブロックは、複数のロウに配列された複数のメモリセルを含み、前記ブロックに対して少なくとも１つのパルスを印加するステップと、各消去パルスの後、各ロウに関連付けられたメモリセルが消去されたかどうかを判定するために各ロウをベリファイするステップと、前記ブロックにおける所定数のロウが消去されているとベリファイされたときにブロックの消去を終了するステップとを含み、前記ロウの前記所定数が前記ブロックにおけるロウの合計数よりも少ない。
【００１４】
別の実施の形態においては、不揮発性メモリにおける処理を実行する方法が開示される。この方法は、複数のロウに配列されたフラッシュメモリセルのブロックに対し、少なくとも１つの消去パルスを印加するステップと、消去パルスの後、ブロックにおける各ロウが消去されているかどうかをベリファイするステップと、前記ブロックにおいて所定数のロウが消去されているかどうかをベリファイするために使用される消去パルスの数をカウントするステップと、消去されているとベリファイされていないロウの消去を試行するために前記ブロックに対して所定数の消去パルスを印加するステップとを含み、前記消去パルスの所定数は、前記所定数のロウをベリファイするのに使用される消去パルスの数よりも少ない。
【００１５】
別の実施の形態においては、フラッシュメモリに対する消去処理を実行する方法が開示される。この方法は、前記ブロックにおいて複数のロウに配列されたフラッシュメモリセルを所定のレベルにプリチャージするステップと、前記ブロックに対し、少なくとも１つの第１ステージの消去パルスを印加するステップと、前記ブロックに対して第１ステージの各消去パルスが印加された後、ロウ毎に各メモリセルが消去されたかどうかをベリファイするステップと、消去されたブロックにおいて半数を超えるロウをベリファイするのに使用され、前記ブロックに対して印加される第１のパルスの数をカウントするステップと、前記第１のパルスの数の割合として、消去されているとベリファイされていないロウの消去を試行するために前記ブロックに対して印加される第２のパルスの数を算出するステップと、前記ブロックに対し、少なくとも１つの第２ステージの消去パルスを印加するステップと、前記ブロックに対し第２ステージの各消去パルスが印加された後、ロウ毎に各メモリセルが消去されたかどうかをベリファイするステップと、前記ブロックに対し、第２ステージの消去パルスが印加されたか、すべてのロウが消去されているとベリファイされたときに、前記ブロックの消去を終了するステップとを含む。
【００１６】
別の実施の形態においては、フラッシュメモリデバイスは、メモリアレイと、コントローラと、レジスタとを含む。メモリアレイは、複数のロウに配列されたフラッシュメモリセルのブロックを複数含む。コントローラは、前記メモリアレイに対するメモリ処理を制御する。レジスタは、メモリセルの各ロウの消去状態をトラックするために前記コントローラに接続されている。
【００１７】
別の実施の形態においては、不揮発性メモリデバイスは、複数のメモリアレイと、コントローラと、レジスタアレイとを含む。各メモリアレイは、複数のロウに配列されたフラッシュメモリセルのブロックを複数含む。コントローラは、前記メモリアレイに対するメモリ処理を制御する。レジスタアレイとを含み、コントローラは、複数のブロックに配列されたメモリセルのロウが消去されたとベリファイされたことをトラックするために前記レジスタアレイにデータを格納する。
【００１８】
別の実施の形態においては、フラッシュメモリシステムは、メモリアレイと、制御回路とを含む。メモリアレイは、複数のロウに配列されたフラッシュメモリセルのブロックを複数含む。制御回路は、前記メモリアレイに対するメモリ処理を制御する。具体的には、制御回路は、第１ステージにおいて消去されるブロックに対して第１の数の消去パルスを印加し、第２ステージにおいて前記ブロックに対して第２の数の消去パルスを印加し、前記第２ステージにおいて印加される消去パルスの前記第２の数は、前記ブロックにおいて所定数のロウが消去されたことをベリファイするために前記第１ステージにおいて必要とされる消去パルスの数に基づくものである。
【００１９】
また、別の実施の形態においては、フラッシュメモリシステムは、プロセッサと、複数のメモリアレイと、コントローラと、複数のレジスタとを含む。プロセッサは、外部消去コマンドを与えるために使用される。各メモリアレイは、消去可能なブロックを複数含む。各ブロックにおけるメモリセルは、複数のロウに配列されたフラッシュメモリセルを含む。コントローラは、前記プロセッサから前記外部消去コマンドを受信する。さらに、コントローラは、前記複数のメモリアレイにおけるメモリセルのブロックに対し、消去処理を実行する。複数のレジスタは、消去されたとベリファイされるメモリセルのロウをトラックするために前記コントローラに接続されている。レジスタの各々は、前記メモリアレイの１つに関連付けられ、レジスタの各々は、レジスタサブブロックを複数含む。レジスタサブブロックの各々は、メモリセルのブロックに関連付けられている。さらに、レジスタサブブロックの各々は、メモリセルの関連付けられたブロックにおけるロウ毎に、レジスタメモリセルを有する。
【発明を実施するための最良の形態】
【００２０】
発明の実施の形態
以下、好ましい実施の形態について添付の図面を参照して詳細に説明する。図面は、本願の明細書を構成するものであり、本発明の実施の好ましい実施の形態について具体的に例示している。これらの実施の形態は、当業者が発明を実施できるように充分に詳細に記載されているが、本発明の精神及び範囲を逸脱することなく、論理的、機械的、電気的な変更を施した他の実施の形態を採用することも可能であることが理解できよう。従って、以下の詳細な説明は、限定的なものであると解釈されるべきではない。本発明の範囲は、クレーム及びその均等物によってのみ規定される。
【００２１】
図１は、本発明の一実施の形態に係る大容量フラッシュメモリ１００のブロック図である。
【００２２】
このブロック図は、本発明の理解に必要な要素を簡略化して示したものである。大容量フラッシュメモリ１００は、フラッシュメモリ１２０を含む。図示したフラッシュメモリ１２０は、不揮発性メモリセルのアレイ１０４を含む。アレイ１０４は、複数のアドレス指定可能なブロック１０６（ａ〜ｄ）が配列されたものである。図面上には、アドレス指定可能なブロック１０６（ａ〜ｄ）を４個のみ示すが、当業者であれば、本発明のフラッシュメモリデバイスがアドレス指定可能なブロックを４個使用したものだけに限定されないことが理解できるであろう。フラッシュアレイの分割方法を変更し、アドレス指定可能なブロックの数を増やしてもよいし、減らしてもよい。また、サブブロックを使用することも可能である。さらに、図示したフラッシュメモリデバイス（１２０）は、ｘデコーダ／ブロック消去制御回路とｙデコーダ回路を備える。センスアンプ回路１１６は、アドレスを指定されたセルの読み出し、ベリファイを行う。アドレスバッファ／ラッチ１１４は、アドレス要求を受信するためのものであり、ｘデコーダ回路／ブロック消去制御回路１１２及びｙデコーダ回路１１８に接続されている。また、本実施の形態において大容量フラッシュメモリ１２０、１２２、１２４、及び１２６として４つのフラッシュメモリ１００を用いているが、フラッシュメモリの数は、必要な記憶容量に応じて変更することができ、本発明の大容量フラッシュメモリが４個のフラッシュメモリに限定されないことが理解できよう。
【００２３】
また、図１に示す大容量フラッシュメモリ１００は、コントローラ１０８を有する。コントローラ１０８は、フラッシュメモリアレイにおいて、フラッシュメモリ１２０、１２２、１２４、及び１２６で行われるメモリの各処理、即ち、プログラム処理、消去処理、読み出し処理の制御に使用される。例えば、フラッシュメモリ１２０では、コントローラ１０８がアドレスライン１４０を介してアドレスバッファ／ラッチ１１４に接続される。また、コントローラ１０８は、データライン１４２を介してセンスアンプ回路１１６に接続され、このコントローラに対し、読み出し、またはベリファイを行ったセルの結果が提供される。また、コントローラ１０８は、ｘデコーダ／ブロック消去制御回路１１２に接続され、メモリアレイ１０４上での消去処理を制御する。図示しないが、フラッシュメモリ１２２、１２４、及び１２６の各々は、フラッシュメモリ１２０と同様の構成要素を有する。また、フラッシュメモリ１２０がコントローラ１０８に接続されているのと同様の方法でフラッシュメモリ１２２、１２４、及び１２６の各構成要素は、コントローラ１０８に接続されている。つまり、フラッシュメモリ１２０、１２２、１２４、１２６の各々は、コントローラ１０８によって制御されている。
【００２４】
図１に示されている４つのレジスタ１３０、１３２、１３４、及び１３８の各々は、各フラッシュメモリ１２０、１２２、１２４、及び１２６のフラッシュメモリアレイに関連付けられている。例えば、レジスタ１３０は、フラッシュメモリ１２０上のフラッシュメモリアレイ１０４に関連付けられている。本実施の形態においては、レジスタ１３０は、フラッシュメモリ１２０を含むダイの外側に設けられている。同様に、レジスタ１３２、１３４、及び１３８は、フラッシュメモリ１２２、１２４、及び１２６の特定の場所に設けられている。各レジスタ１３０、１３２、１３４、及び１３８は、レジスタサブブロックに細分化される。例えば、レジスタ１３０は、レジスタサブブロック１３０（ａ）、１３０（ｂ）、１３０（ｃ）、及び１３０（ｄ）を含む。各レジスタサブブロックは、フラッシュメモリアレイにおけるセルのブロックに関連付けられている。例えば、レジスタサブブロック１３０（ａ）は、フラッシュメモリアレイ１０４のブロック１０６（ａ）に関連付けられ、レジスタサブブロック１３０（ｂ）は、フラッシュメモリアレイ１０４のブロック１０６（ｂ）に関連付けられ、レジスタサブブロック１３０（ｃ）は、フラッシュメモリアレイ１０４のブロック１０６（ｃ）に関連付けられ、レジスタサブブロック１３０（ｄ）は、フラッシュメモリアレイ１０４のブロック１０６（ｄ）に関連付けられる。４つのレジスタサブブロックを有するレジスタが４個存在する場合について説明したが、当業者であれば、レジスタの数、レジスタサブブロックの数が使用されるフラッシュメモリアレイの数に応じて変更されること、また、フラッシュメモリアレイにおけるブロックの数を変更可能であることが理解できよう。本発明は、４つのレジスタサブブロックを有するレジスタが４個存在する場合に限定されるものではない。
【００２５】
レジスタ１３０、１３２、１３４、及び１３８は、レジスタアレイとして言及される。レジスタサブブロックの各々は、複数のレジスタメモリセル（トラッキングメモリセル）を含み、これらのメモリセルは、メモリ内の関連付けられたブロックにおける関連付けられたロウが消去されているかをベリファイするためのデータを格納する。つまり、ブロックにおけるセルの各ロウに対し、レジスタサブブロックにおいて関連付けされたメモリセルが存在するため、ロウが消去されたことをトラックすること、または、ロウが消去された旨のフラッグを立てることができる。例えば、メモリのブロックに１２８個のロウが存在すると想定した場合、このブロックに関連付けられたレジスタサブブロックには、各ロウにおけるプログラム状態をトラックするための１２８個のレジスタメモリセルが存在することになる。本発明の一実施の形態においては、レジスタアレイにおけるレジスタメモリセルとして、ＲＡＭメモリセル等の揮発性メモリが使用される。別の実施の形態においては、レジスタアレイにおけるレジスタメモリセルとして、フラッシュメモリセルなどの不揮発性メモリセルが使用される。
【００２６】
上述したように、コントローラ１０８は、各フラッシュメモリアレイの消去処理を制御する。一実施の形態においては、消去しようとするブロックに対して消去パルスが送信された場合、コントローラ１０８がブロックにおける各ロウのベリファイを行う。あるロウが消去されているとベリファイされた場合、コントローラ１０８は、関連付けられたレジスタサブブロックにおいて関連付けられたレジスタメモリセルのフラッグを立てる。どのロウが消去されたことがベリファイされたかをトラックするだけでなく、コントローラは、ベリファイされたロウの数をトラックする。消去パルスの後、所定数のロウがベリファイされていない場合には、さらなる消去パルスがブロックに対して印加される。この処理は、コントローラ１０８が所定数のロウが消去されていることをベリファイするまで行われる。消去されているものとしてベリファイされないロウは、後で行われるメモリ処理において使用されない。本実施の形態においては、各ブロック内において使用しないロウも存在するが、セルを過剰消去する危険性が減少する。なぜならば、ブロックに対して印加される消去パルスの数は、消去が行われるセルのブロックにおいて、消去される速度が最も遅いセルやビットに依存しないからである。所定数のロウとは、通常、ロウの半数を超える数であり、メモリの製造元によって決定される。この数は、平均的なフラッシュメモリブロックにおいて、幾つのロウに遅いビットが含まれているかという点に関する統計的なデータを考慮して決められる。例えば、合計のロウの数が１２８個であり、３個のロウに遅いビットが含まれていることを想定した場合、このブロックの所定数のロウとは、１２５個になる。
【００２７】
別の実施の形態においては、コントローラ１０８は、ベリファイされていないロウにおけるセルの消去を試行する。この実施の形態においては、コントローラは、消去されたロウとして所定数のロウがベリファイされるために使用されるパルスの数をトラックする。次に、コントローラ１０８は、この数を等式に当てはめ、残りの遅いビットの消去の試行に必要となる追加のパルスの最大の数を算出するとともに、ブロック内で他のセルが過剰消去される可能性を最小限にする。
【００２８】
この実施の形態では、追加の消去パルスによって遅いビットの消去を試行する際に半数を超えるセルが過剰消去されるような可能性が考慮される。
【００２９】
一実施の形態においては、等式Ｎ２＝（Ａ＊Ｎ１）を使用し、遅いビットの消去の試行に使用されるべき消去パルスの最大数を決定する。この際、Ｎ２は、消去パルスの最大数であり、Ｎ１は、ブロック内のロウの所定数の消去に使用される消去パルスの数であり、Ａは、所定の割合であり、Ｂは、スロウビットの消去を試行する際に使用される最小数のパルスである。Ａ及びＢは、通常、製造時に検査終了後決定される。本実施の形態における等式を参照する。この実施の形態の等式を参照すると、Ｎ２が増加すれば、Ｎ１が増加する。従って、消去されたロウとして所定数のロウがベリファイされるのに多くのパルスを必要とすれば、ブロックにおいて既に消去済みのセルを上書消去する可能性が少ないため、ベリファイされていないロウにおける遅いセルの消去を試行するために、多くのパルスが印加される。また、消去されたロウとして所定数のロウがベリファイされるのに少ないパルスを必要とすれば、各パルスは、既に消去されたセルを過剰消去する可能性が高いため、ベリファイされていないロウにおける遅いセルの消去を試行するために、少ないパルスが印加される。
【００３０】
本実施の形態においては、Ｎ２個のパルスが印加され、幾つかのロウが、消去されているとベリファイされていない場合、コントローラ１０８は、メモリアレイに対して後で行われるメモリ処理（即ち、プログラム処理及びメモリ処理）においてベリファイされていないロウを無視する。一実施の形態においては、コントローラは（１０８）、関連付けられたレジスタにおけるメモリセルを読み出すことによってこれを行う。コントローラ１０８が消去されているとフラッグを立てられたりプログラムされたりしていないメモリセルを読み出した場合、消去されたとベリファイされていないロウに関連付けられたメモリセルは、ベリファイされていないロウとして定義される。
【００３１】
図２は、本発明の別の実施の形態に係る大容量フラッシュメモリ２００を示している。本実施の形態においては、各レジスタは、ダイの内部にあり、このダイは、フラッシュメモリアレイのメモリにおいて関連付けられたブロックにおける関連付けられたロウが消去されているとベリファイされたかどうかを示すデータを格納するために関連付けられたフラッシュメモリを含む。図２に示すように、レジスタ１３０は、フラッシュメモリ１２０内に存在する。図示しないが、フラッシュメモリ１２２、１２４、１２８の各々には、レジスタが関連付けられている。コントローラ１０８は、大容量フラッシュメモリ２００の各レジスタに接続され、関連付けられたロウの消去された状態に関するデータの格納、取得を行う。また、図２は、コントローラ１０８に接続されたプロセッサ１３１を示す。このプロセッサ１３１は、大容量フラッシュメモリ２００における処理及びテストを実行するためのものである。
【００３２】
大容量フラッシュメモリは、使用しない記憶スペースが大きくなることがあるため、上述したように、本発明は、大容量フラッシュメモリに適用することが望ましい。しかしながら、本発明は、一般的なフラッシュメモリシステムにも適用可能である。図３は、一般的なフラッシュメモリ３００に本発明を適用した別の実施の形態を示す。フラッシュメモリ３００は、メモリアレイ３５０を有する。図示したメモリアレイ３５０は、４個のバンク３０２、３０４、３０６、及び３４０を有する、各バンク３０２、３０４、３０６、及び３４０は、消去可能なメモリセルのブロック（図示せず）を有する。さらに、一実施の形態においては、各ブロックには、消去可能なサブブロックが配列されている。例えば、１６メガのメモリアレイは、４メガの消去可能なブロックを４個配列したものからなり、これらの各ブロックには、１６個のサブブロックが存在する。図示したメモリブロックは４つのバンクを有するが、当業者であれば、バンクの数は、変更することが可能であり、本発明が４個のフラッシュメモリを有する態様に限定されないことが理解できよう。
【００３３】
図示したフラッシュメモリ３００もまた、選択されたロウに対する処理を実行し、ブロック消去処理を制御するｘデコーダ／ブロック消去制御回路３２０を有する。ｙデコーダ３２２は、選択されたコラムに対する処理を実行するために設けられる。センスアンプ回路３２４は、指定されたセルに対する読み出しやベリファイを行うために設けられる。また、フラッシュメモリ３００は、メモリアレイ３５０に対する各処理、即ち、読み出し処理、プログラム処理、さらに、消去処理を制御する制御回路３１４を有する。制御回路３１４は、コントローラやステートマシンとも呼ばれる。プロセッサ３３０は、テストや処理の実行のために制御回路３１４に接続される。また、図示したフラッシュメモリ３００は、アドレスバッファ／ラッチ３１６とアドレスカウンタ３１８とを有する。
【００３４】
本実施の形態においては、レジスタ３０８、３１０、３１２、３４２が制御回路３１４に接続され、メモリアレイ３５０上において消去されたロウをトラッキングする。各レジスタは、メモリアレイ３５０におけるバンクに関連付けられる。例えば、レジスタ３０８は、バンク３０２に関連付けられ、レジスタ３１０は、バンク３０４に関連付けられる。レジスタ３１２は、バンク３０６に関連付けられ、レジスタ３４２は、バンク３４０に関連付けられる。図示しないが、各レジスタは、メモリの各ブロックに関連付けられたレジスタサブブロックを有する。メモリの各ブロックは、関連付けられたメモリのブロックにおける関連付けられたロウが消去されているかがベリファイされたかどうかを示すデータを格納する複数のメモリセルを有する。レジスタ３０８、３１０、３１２、３４２は、上述した実施の形態について説明されたように構成される。本発明のスロウビット消去アルゴリズムをより理解するために、まず、従来技術のアルゴリズムについて説明する。
【００３５】
図４は、従来技術に係るブロック消去アルゴリズム４００のフローチャートを示す。図示するように、従来技術においては、ブロックにおけるセルを所定のレベルに予めプログラムすることによってブロック消去アルゴリズム４００が開始される（４０２）。次に、ロウアドレス及びパルスカウントの双方がゼロに設定される（４０４、４０６）。この後、消去パルスがブロックに印加され（４０８）、ロウにおける各セルが読み出される（４１０）。その後、ロウが消去されていることがベリファイされる（４１２）。
【００３６】
ロウが消去されているとベリファイされていない場合（４１０）、パルスカウントがインクレメントされる（４１４）。次に、パルスカウントがベリファイされ、このカウントが所定の最大の数に達したかどうかがベリファイされる（４１６）。パルスカウントがパルスの最大の数に達していることがベリファイされた場合には（４１６）、ブロックの消去が行われない。パルスカウントが最大の数に達していることがベリファイされた場合には（４１６）、ブロックの消去が行われない。パルスカウントが最大の数に達していないことがベリファイされた場合には（４１６）、別の消去パルスがブロック（４０８）に対して印加され、アルゴリズムが進行する。
【００３７】
ロウが消去されているとベリファイされた場合には（４１２）、ロウがインクレメントされる（４１８）。次に、ロウのカウントが最大の数に達しているかどうかがベリファイされる（４２０）。ロウの各セルが読み込まれ（４１０）、アルゴリズムが進行する。ロウのカウントが最大の数に達しているとベリファイされた場合には（４２０）、ブロックの各カラムに対し、過剰消去されたセルが接続されていることを示す電流が発生していないかどうかがチェックされる（４２２）。次に、過剰消去されたセルが存在しているかどうかを判定するため、ブロックがベリファイされる（４２４）。
【００３８】
ブロックにおいて、過剰消去されたセルが存在しなければ（４２４）、ブロック消去が正常に行われたことになる。ブロックに過剰消去したセル（４２４）が存在する場合には、ソフトプログラムによって過剰消去されたセルの修復が試行される（４２６）。修復が正常に行われたことがベリファイされない場合には（４２８）、ブロックに過剰消去されたセルが存在することになる。修復が正常に行われたことがベリファイされた場合には（４２８）、ブロック消去が正常に行われたことになる。
【００３９】
図５は、本発明の一実施の形態に係る消去アルゴリズム５００のフローチャートを示している。図示するアルゴリズムは、第１ステージ及び第２ステージを含む。第１ステージでは、所定数のロウを消去するのに必要なパルスの数をトラックし、レジスタを使用して消去されているとベリファイされたロウにフラッグを立てる。第２ステージでは、ブロックに対して印加される所定の最大数の消去パルスを算出し、この消去パルスをブロックに対して印加することによって、第１ステージにおいて消去されているとベリファイされなかったロウの消去を試行する。
【００４０】
第１ステージは、ブロック内のセルを所定のレベルに予めプログラムすることによって開始する（５０２）。ブロックにおけるロウのアドレスカウンタは、−１にセットされる（５０４）。パルスカウントがゼロ（５０６）に設定されると、すべてのベリファイフラグがクリアされる（５０８）。関連付けられたレジスタにおける、ベリファイされたロウのカウントがゼロにセットされる（５１０）。次に、消去パルスがブロックに印加される（５１２）。このロウは、インクレメントされる（ロウのカウントが最大値に達すると、ロウのアドレスが第１のロウに戻る）（５１４）。次に、レジスタがチェックされ、現在アドレスされているロウに対して既に消去されていることを示すフラッグが立てられているかどうかを判定する（５１６）。
【００４１】
ロウが消去されていることを示すフラッグが立てられている場合には（５１６）、ロウがインクレメントされ（５１４）、アルゴリズムが進行する。ロウが消去されていることを示すフラッグが立てられていない場合には、このロウにおけるセルの各々がベリファイされ、すべてのセルが消去されているかどうかが判定される（５１８）。セルがすべて消去されているならば、このロウに関連付けられたレジスタにフラッグが立てられ、ロウがインクレメントされ（５１４）、アルゴリズムが進行する。ロウが消去されたとベリファイされない場合には、パルスカウントがインクレメントされる（５２８）。次に、パルスカウントがベリファイされ、最大の数に達しているかどうかが判定される（５３０）。パルスカウントが最大の数に達している場合には、現在のロウに対してブロック消去処理が実行されない。しかしながら、パルスカウントが最大の数に達していない場合には、消去パルスがブロック（５１２）に印加され、アルゴリズムが進行する。ロウにおけるすべてのセルが消去されているとベリファイされなければ（５２０）、ロウにおける関連付けられたレジスタ（５２２）にフラッグが立てられる。次に、ベリファイされたロウのロウカウントがインクレメントされる（５２４）。次に、ベリファイされたロウ（５２６）のロウカウントが所定の値に達しているかがどうかがベリファイされ、ロウがインクレメントされ（５１２）、アルゴリズムが進行する。ロウのロウカウントが所定の最大の値に達しているとベリファイされた場合には、第２ステージのアルゴリズムが開始する。
【００４２】
図示するように、第２ステージは、第１ステージのパルスカウントに所定の等式を当てはめ、第１ステージで消去されているとベリファイされなかったロウにおけるセルの消去を試行するために必要な、ブロックに対して印加される最大限の消去パルスを求めることによって開始される（５３２）。次に、ロウがインクレメントされる（ロウが最大値に達しない場合、ロウアドレスは、最初のロウに戻る）（５３６）。次に、関連付けされたレジスタに対し、ロウが消去されていることを示すフラッグが立てられる（５３８）。レジスタに対し、フラッグが立てられている場合（５３８）、ロウがインクレメントされ（５３６）、アルゴリズムが進行する。レジスタに対し、フラッグが立てられていない場合（５３８）、関連付けされたロウにおける各セルのプログラム状態が読み出される（５４０）。次に、すべてのセルが消去されているかどうかを判定するために、ロウがベリファイされる（５４２）。
【００４３】
ロウが消去されているとベリファイされていない場合には（５４２）、パルスカウントがインクレメントされる（５４４）。次に、所定の等式によってパルスの限界値が定まったかどうかを判定するために、パルスカウントがベリファイされる（５５２）。パルスカウントがパルスカウントの限界値でなければ（５５２）、消去パルスがブロックに対して印加され（５３４）、アルゴリズムが進行する。パルスカウントがパルスカウントの限界値であれば（５５２）、ベリファイされていないロウを使用することはできない（５５４）。
【００４４】
ロウが消去されているとベリファイされる場合には（５４２）、関連付けられたレジスタにロウベリファイフラグが立てられる（５４６）。次に、ベリファイされたロウカウントがインクレメントされる（５４８）。さらに、ロウカウントがベリファイされ、すべてのロウに対して消去されていることを示すフラッグが立てられているかどうかが判定される（５５０）。すべてのロウに対して消去されていることを示すフラッグが立てられていない場合には（５５０）、ロウのアドレスがインクルメントされ、アルゴリズムが進行する。すべてのロウに対して消去されていることを示すフラッグが立てられている場合には（５５６）、ブロックのカラムが監視され、ブロックに過剰消去されたセルが存在するかどうかが判定される（５５６）。次に、過剰消去されたセルを処理するためにブロックが処理される（５５８）。
【００４５】
ブロック内に過剰消去されたセルが存在することがベリファイされている場合には（５５８）、ブロックに対する消去処理が成功していることになる。しかしながら、ブロック内に過剰消去されたセルが存在するとベリファイされた場合には（５５８）、ブロックに対し、ソフトプログラムが実行され、過剰消去されたセル（５６０）の修復が行われる。次に、ブロックがベリファイされ、ソフトプログラムによる過剰消去されたセルの修復が成功したかどうかが判定される（５６２）。ソフトプログラムによるセルの修復が成功した場合には（５６２）、ブロックが正常に消去されたことになる。しかしながら、ソフトプログラムによるセルの修復が成功しなかった場合には（５６２）、ブロックには過剰消去されたセルが存在することになるため、コントローラ又は制御回路は、ブロックメモリにおける他の処理の際にこのような過剰消去されたセルが存在するロウを使用しないようにする。
【００４６】
結論
フラッシュメモリブロックの消去処理を実行する方法及びその装置を開示する。一実施の形態においては、この方法は、メモリブロックにおける所定の割合のロウを消去するステップと、この所定の割合の消去に使用される消去パルスの数を分析するステップと、消去されないで残ったロウを消去するために、メモリブロックに対して追加して印加されるパルスの許容数を算出するステップとを含む。別の実施の形態においては、フラッシュメモリデバイスは、メモリアレイと、コントローラと、レジスタとを含む。メモリアレイは、フラッシュメモリセルの複数のブロックを含む。各ブロックにおけるメモリセルは、複数のロウに配列される。コントローラは、メモリアレイに対するメモリ処理の制御に使用され、レジスタは、コントローラに接続され、メモリセルの各ロウの消去状態をトラックする。
【００４７】
本明細書において、本発明の具体的な実施の形態について例示、説明したが、当業者であれば、同一の目的を達成するように計算することによって、図示した具体的な実施の形態の構成を変更することも可能であることが理解できよう。本明細書では、本発明を自由に改変、変形できることが意図されている。つまり、本発明の範囲が、クレーム及びその均等物によってのみ制限されるように意図されていることは明らかである。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態に係るメモリデバイスのブロック図である。
【図２】本発明の一実施の形態に係るメモリデバイスのブロック図である。
【図３】本発明の一実施の形態に係るメモリデバイスのブロック図である。
【図４】従来技術に係るブロック消去を示すフローチャートである。
【図５Ａ】本発明の一実施の形態に係るブロック消去を示すフローチャートの一部である。
【図５Ｂ】本発明の一実施の形態に係るブロック消去を示すフローチャート一部である。
【図１】
2005501368.tif 000003
【図２】
2005501368.tif 000004
【図３】
2005501368.tif 000005
【図４】
2005501368.tif 000006
【図５Ａ】
2005501368.tif 000007
【図５Ｂ】
2005501368.tif 000008
【国際公開パンフレット】
2005501368.tif 000009
2005501368.tif 000010
2005501368.tif 000011
2005501368.tif 000012
2005501368.tif 000013
2005501368.tif 000014
2005501368.tif 000015
2005501368.tif 000016
2005501368.tif 000017
2005501368.tif 000018
2005501368.tif 000019
2005501368.tif 000020
2005501368.tif 000021
2005501368.tif 000022
2005501368.tif 000023
2005501368.tif 000024
2005501368.tif 000025
2005501368.tif 000026
2005501368.tif 000027
2005501368.tif 000028
2005501368.tif 000029
2005501368.tif 000030
2005501368.tif 000031
2005501368.tif 000032
2005501368.tif 000033
2005501368.tif 000034
2005501368.tif 000035
2005501368.tif 000036
2005501368.tif 000037
【国際公開パンフレット（コレクトバージョン）】
2005501368.tif 000038
2005501368.tif 000039
【国際公開パンフレット（コレクトバージョン）】
2005501368.tif 000040
2005501368.tif 000041
2005501368.tif 000042
2005501368.tif 000043
2005501368.tif 000044
2005501368.tif 000045
2005501368.tif 000046
2005501368.tif 000047
2005501368.tif 000048
2005501368.tif 000049
2005501368.tif 000050
2005501368.tif 000051
2005501368.tif 000052
2005501368.tif 000053
2005501368.tif 000054
2005501368.tif 000055
2005501368.tif 000056
2005501368.tif 000057
2005501368.tif 000058
2005501368.tif 000059
2005501368.tif 000060
2005501368.tif 000061
2005501368.tif 000062
2005501368.tif 000063
2005501368.tif 000064
2005501368.tif 000065
2005501368.tif 000066
2005501368.tif 000067
2005501368.tif 000068
2005501368.tif 000069
2005501368.tif 000070
2005501368.tif 000071
【国際調査報告】
2005501368.tif 000072
2005501368.tif 000073
2005501368.tif 000074
2005501368.tif 000075