(57)【特許請求の範囲】
【請求項１】
不揮発性記憶装置であって、
複数の不揮発性メモリセルと、
前記不揮発性メモリセルに接続された制御回路であって、前記制御回路は、
前記不揮発性メモリセルを第１のデータ状態にプログラムするプログラミングプロセスを実行し、
第１の基準が満たされるまで、前記プログラミングプロセス中に前記第１のデータ状態の第２の検証条件についてのプログラム検証を実行することなく、前記第１のデータ状態の第１の検証条件についてのプログラム検証を実行し、
前記第１の基準が満たされた後、かつ第２の基準が満たされるまで、前記プログラミングプロセス中に前記第１の検証条件及び前記第２の条件についてのプログラム検証を実行し、
前記第２の基準が満たされた後に、前記プログラミングプロセス中に前記第１の検証条件についてのプログラム検証を実行することなく、前記第２の検証条件についてのプログラム検証を実行する、ように構成されている、制御回路と、を備える、不揮発性記憶装置。
【請求項２】
前記第２の基準は、前記複数の不揮発性メモリセルの閾値数が前記第２の検証条件に到達すると満たされる、請求項１に記載の不揮発性記憶装置。
【請求項３】
前記制御回路は、前記複数の不揮発性メモリに複数回のプログラミングを適用することによって、前記複数の不揮発性メモリセルをプログラムするように構成されており、
前記第２の基準は、前記第１の基準が満たされた後に、所定の回数のプログラミングが前記複数の不揮発性メモリに適用された後に満たされる、請求項１に記載の不揮発性記憶装置。
【請求項４】
前記制御回路は、選択された不揮発性メモリセルのセットの各不揮発性メモリセルが複数ビットのデータを記憶するように、前記不揮発性メモリセルのセットを複数のデータ状態にプログラムするように構成されており、
前記複数の不揮発性メモリセルは、前記選択された不揮発性メモリセルのセットの第１のサブセットであり、
前記制御回路は、前記選択された不揮発性メモリセルのセットの第２のサブセットを第２のデータ状態にプログラムするように構成されており、
前記第２の基準は、前記選択された不揮発性メモリセルのセットの前記第２のサブセットの最小数が前記第２のデータ状態のターゲットレベルに到達すると満たされる、請求項１に記載の不揮発性記憶装置。
【請求項５】
前記第２の基準は、前記第１の検証条件に到達した前記複数のメモリセルの量以外である、請求項１に記載の不揮発性記憶装置。
【請求項６】
前記第１の基準は、前記複数の不揮発性メモリセルの閾値数が前記第１の検証条件に到達すると満たされる、請求項１に記載の不揮発性記憶装置。
【請求項７】
前記制御回路は、パルス間で大きさが増加する一連のプログラミング電圧パルスを前記複数の不揮発性メモリに適用することによって、前記複数の不揮発性メモリセルをプログラムするように構成されている、請求項１に記載の不揮発性記憶装置。
【請求項８】
前記制御回路は、前記プログラミング電圧パルス間で前記プログラム検証を実行するように構成されている、請求項７に記載の不揮発性記憶装置。
【請求項９】
前記制御回路は、前記複数の不揮発性メモリセルの閾値電圧が第１の検証基準電圧にあるかどうかを試験することによって、前記第１の検証条件についてのプログラム検証を実行するように構成されており、
前記制御回路は、前記複数の不揮発性メモリセルの閾値電圧が第２の検証基準電圧にあるかどうかを試験することによって、前記第２の検証条件についてのプログラム検証を実行するように構成されている、請求項１に記載の不揮発性記憶装置。
【請求項１０】
前記第１の検証基準電圧は中間検証基準電圧であり、
前記第２の検証基準電圧は最終基準電圧である、請求項９に記載の不揮発性記憶装置。
【請求項１１】
前記制御回路は、前記プログラミングプロセス中に、前記第１の検証基準電圧よりも大きく、かつ前記検証基準電圧よりも小さい閾値電圧を有する、前記複数のメモリセルの、メモリセルのプログラミングを減速させるように構成されており、
前記制御回路は、前記プログラミングプロセス中に、前記第２の検証基準電圧よりも大きい閾値電圧を有する、前記複数のメモリセルの、メモリセルのプログラミングを阻止するように構成されている、請求項９に記載の不揮発性記憶装置。
【請求項１２】
前記複数の不揮発性メモリセルは、３次元ＮＡＮＤストリングを備える、請求項１に記載の不揮発性記憶装置。
【請求項１３】
不揮発性記憶装置をプログラムする方法であって、
第１のデータ状態にプログラムされている複数の不揮発性メモリセルに複数回のプログラミングを適用することと、
前記複数回のプログラミングの間にプログラム検証を実行することであって、前記プログラム検証を実行することは、
前記第１のデータ状態の第１の検証条件について前記複数の不揮発性メモリセルを検証するが、前記第１のデータ状態の第２の検証条件については前記複数の不揮発性メモリセルを検証することをスキップすることと、
前記第１の検証条件を満たしたメモリセルの量が第１の基準を満たすと判定することと、
前記第１の検証条件を満たしたメモリセルの量が前記第１の基準を満たすと判定することに応答して、前記データ状態の前記第１の検証条件について前記複数の不揮発性メモリセルを検証し、前記データ状態の前記第２の検証条件について前記複数の不揮発性メモリセルを検証することと、
前記第２の基準が満たされていると判定することと、
前記第２の基準が満たされているメモリセルの量を判定することに応答して、前記データ状態の前記第２の検証条件について前記複数の不揮発性メモリセルを検証するが、前記データ状態の前記第１の検証条件については前記複数の不揮発性メモリセルを検証することをスキップすることと、を含むことと、を含む、方法。
【請求項１４】
前記第２の基準は、前記複数の不揮発性メモリセルの閾値数が前記第２の検証条件を満たすと満たされる、請求項１３に記載の方法。
【請求項１５】
前記第２の基準は、前記第１の基準が満たされた後に、所定の回数のプログラミングが前記複数の不揮発性メモリに適用された後に満たされる、請求項１３に記載の方法。
【請求項１６】
前記複数回のプログラミングを適用することは、選択された不揮発性メモリセルのセットの各不揮発性メモリセルが複数ビットのデータを記憶するように、前記不揮発性メモリセルのセットに前記複数回のプログラミングを適用して、前記不揮発性メモリセルのセットを複数のデータ状態にプログラムすることを含み、
前記複数の不揮発性メモリセルは、前記選択された不揮発性メモリセルのセットの第１のサブセットであり、
前記選択された不揮発性メモリセルのセットの第２のサブセットは、前記複数回のプログラミングに応答して第２のデータ状態にプログラムされ、
前記第２の基準は、前記選択された不揮発性メモリセルのセットの前記第２のサブセットの最小数が前記第２のデータ状態のターゲットレベルに到達すると満たされる、請求項１３に記載の方法。
【請求項１７】
前記第２の基準は、前記第１の検証条件に到達した前記複数のメモリセルの量以外である、請求項１３に記載の方法。
【請求項１８】
前記第１の検証条件を満たした不揮発性メモリセルのプログラミングを減速させることと、
前記第２の検証条件を満たした不揮発性メモリセルのプログラミングを阻止することと、を更に含む、請求項１３に記載の方法。
【請求項１９】
前記複数回のプログラミングは、パルス間で大きさが増加する一連のプログラミング電圧パルスを含み、
前記第１の検証条件は、前記第１のデータ状態の中間検証基準電圧であり、
前記第２の検証条件は、前記第１のデータ状態の最終検証基準電圧である、ことを更に含む、請求項１３に記載の方法。
【請求項２０】
不揮発性記憶装置であって、
不揮発性メモリセルの３次元アレイと、
一連のプログラミング電圧パルスを前記メモリセルに印加することによって、前記メモリセルをプログラムするための手段と、
所定の数を超えるメモリセルがデータ状態の中間検証基準電圧に到達するまで不揮発性メモリセルが前記データ状態の最終検証基準電圧に到達したかどうかを試験することなく、不揮発性メモリセルが前記データ状態の前記中間検証基準電圧に到達したかどうかを試験すること、前記所定の数のメモリセルが前記中間検証基準電圧に到達した後に、かつ試験基準が前記中間検証基準電圧に到達したメモリセルの量以外であるように前記試験基準が満たされるまで、不揮発性メモリセルが前記中間検証基準電圧に到達したかどうかを試験し、不揮発性メモリセルが前記最終検証基準電圧に到達したかどうかを試験すること、及び前記試験基準が満たされた後に、不揮発性メモリセルが前記データ状態の前記中間検証基準電圧に到達したかどうかを試験することなく、不揮発性メモリセルが前記最終検証基準電圧に到達したかどうかを試験すること、によってプログラミング電圧パルス間でプログラミングを検証するための手段と、を備える、不揮発性記憶装置。
【発明の詳細な説明】
【背景技術】
【０００１】
半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、電子医療機器、モバイルコンピューティングデバイス、サーバ、ソリッドステートドライブ、非モバイルコンピューティングデバイス、及び他のデバイス等の様々な電子デバイスに広く使用されている。半導体メモリは、不揮発性メモリ又は揮発性メモリを含むことがある。不揮発性メモリにより、不揮発性メモリが電源（例えば、電池）に接続されていないときでも、情報を記憶及び保持することが可能になる。不揮発性メモリの例は、フラッシュメモリ（例えば、ＮＡＮＤ型フラッシュメモリ及びＮＯＲ型フラッシュメモリ）である。不揮発性メモリのユーザは、典型的には、メモリ動作の完了を待つ必要がないように、メモリが高速で動作することを望む。
【図面の簡単な説明】
【０００２】
同様に番号付けされた要素は、異なる図で共通の構成要素を指す。
【０００３】
【図１】メモリシステムの一実施形態を示すブロック図である。
【０００４】
【図２】メモリダイの一実施形態を示すブロック図である。
【０００５】
【図３】モノリシック３次元メモリ構造の一実施形態の一部の斜視図である。
【０００６】
【図４Ａ】２つの平面を有するメモリ構造のブロック図である。
【０００７】
【図４Ｂ】メモリセルのブロックの一部の上面図を示す。
【０００８】
【図４Ｃ】メモリセルのブロックの一部の断面図を示す。
【０００９】
【図４Ｄ】選択ゲート層及びワード線層の図を示す。
【００１０】
【図４Ｅ】メモリセルの垂直列の断面図である。
【００１１】
【図４Ｆ】複数のサブブロックを示す複数のＮＡＮＤストリングの概略図である。
【００１２】
【図５】閾値電圧分布を示す。
【００１３】
【図６】閾値電圧分布を示す。
【００１４】
【図７】データ状態へのデータ値の割り当ての一例を説明する表である。
【００１５】
【図８】不揮発性メモリセルをプログラムするプロセスの一実施形態を説明するフロー図である。
【００１６】
【図９】一連のプログラミング電圧パルスを示す。
【００１７】
【図１０】２つのプログラミング電圧パルス及び検証電圧パルスを示す。
【００１８】
【図１１】２つのプログラミング電圧パルス及び１つの検証電圧パルスのセットを示す。
【００１９】
【図１２】不揮発性メモリのプログラミングを検証するプロセスの一実施形態を説明するフロー図である。
【００２０】
【図１３Ａ】プログラミングプロセス中のビット線電圧を説明するグラフである。
【００２１】
【図１３Ｂ】プログラミングプロセス中のビット線電圧を説明するグラフである。
【００２２】
【図１４】不揮発性メモリをプログラムし、プログラミングを検証するプロセスの一実施形態を説明するフロー図である。
【００２３】
【図１５】プログラムされている、１つの不揮発性メモリセルのセットに対する閾値電圧分布のグラフである。
【００２４】
【図１６】プログラムされている、１つの不揮発性メモリセルのセットに対する閾値電圧分布のグラフである。
【００２５】
【図１７】プログラムされている、１つの不揮発性メモリセルのセットに対する閾値電圧分布のグラフである。
【００２６】
【図１８】不揮発性メモリのプログラミングを検証する際に実行されるプロセスの一実施形態を説明するフロー図を示す。
【００２７】
【図１９】プログラムされている、１つの不揮発性メモリセルのセットの２つの閾値電圧分布のグラフである。
【発明を実施するための形態】
【００２８】
不揮発性メモリセルは、一連のプログラミング電圧パルスとしてプログラミング信号を（又は他の複数回のプログラミングを）選択されたメモリセルに印加し、プログラミング電圧パルス間でメモリセルを検証することによってプログラムされる。より密な閾値電圧分布を達成するために、中間検証条件及び最終検証条件からなる、プログラミング電圧パルス間での２段階検証を含む粗／微細プログラミングプロセスが使用される。中間検証条件に到達した、プログラムされているメモリセルは、更にプログラムされるために減速させられる。最終検証条件に到達した、プログラムされているメモリセルは、更にプログラムされないようになる。実行される検証動作の数を低減するために、一部のプログラミング電圧パルスに対して中間検証条件での検証をスキップし、一部のプログラミング電圧パルスに対して最終検証条件での検証をスキップするためのシステムが提案される。
【００２９】
不揮発性記憶装置の一実施形態は、複数の不揮発性メモリセルと、不揮発性メモリセルに接続された制御回路と、を備える。制御回路は、不揮発性メモリセルを第１のデータ状態（及び場合によっては、他のデータ状態）にプログラムするプログラミングプロセスを実行し、第１の基準が満たされるまでは、第１のデータ状態の最終検証条件についてのプログラム検証を実行せずに、第１のデータ状態の中間検証条件についてプログラム検証を実行し、第１の基準が満たされた後に、かつ第２の基準が満たされるまでは、中間検証条件及び最終検証条件についてのプログラム検証を実行し、第２の基準が満たされた後に、中間検証条件についてのプログラム検証を実行せずに、最終検証条件についてプログラム検証を実行するように構成されている。一例では、第１の基準は、複数の不揮発性メモリセルの閾値数が中間検証条件に到達すると満たされる。いくつかの例では、第２の基準は、第１の基準が満たされた後に所定の回数のプログラミングが複数の不揮発性メモリに適用された後に、又は最小数の不揮発性メモリセルが第２のデータ状態のターゲットレベルに到達した後に、複数の不揮発性メモリセルの閾値数が最終検証条件に到達すると満たされる。
【００３０】
図１は、検証をスキップするための提案されたプロセスを含む、提案された技術を実施する記憶システム１００の一実施形態のブロック図である。一実施形態では、記憶システム１００は、ソリッドステートドライブ（「ＳＳＤ」）である。記憶システム１００はまた、メモリカード、ＵＳＢドライブ、又は他の種類の記憶システムであってよい。提案される技術は、任意の１つの種類の記憶システムに限定されない。記憶システム１００は、コンピュータ、サーバ、電子デバイス（例えば、スマートフォン、タブレット、又は他のモバイルデバイス）、電化製品、又はメモリを使用し、データ処理能力を有する別の装置であり得るホスト１０２に接続されている。いくつかの実施形態では、ホスト１０２は、記憶システム１００とは別個であるが、記憶システムに接続されている。他の実施形態では、記憶システム１００はホスト１０２内に埋め込まれる。
【００３１】
図１に示す記憶システム１００の構成要素は、電気回路である。記憶システム１００は、１つ以上のメモリダイ１３０及びローカル高速揮発性メモリ１４０（例えば、ＤＲＡＭ）に接続されたコントローラ１２０を含む。１つ以上のメモリダイ１３０は、それぞれ複数の不揮発性メモリセルを備える。各メモリダイ１３０の構造についてのより多くの情報は、以下で提供する。ローカル高速揮発性メモリ１４０は、コントローラ１２０によって使用されて、特定の機能を実行する。例えば、ローカル高速揮発性メモリ１４０は、論理−物理アドレス変換テーブル（「Ｌ２Ｐテーブル」）を記憶する。
【００３２】
コントローラ１２０は、ホスト１０２に接続され、ホスト１０２と通信するホストインターフェース１５２を備える。一実施形態では、ホストインターフェース１５２は、ＰＣＩｅインターフェースを提供する。ＳＣＳＩ、ＳＡＴＡなど他のインターフェースを使用することもできる。ホストインターフェース１５２はまた、ネットワークオンチップ（ＮＯＣ）１５４に接続されている。ＮＯＣは、集積回路上の通信サブシステムである。ＮＯＣは、同期及び非同期クロックドメインにまたがるか、又はロックされていない非同期論理を使用することができる。ＮＯＣ技術は、ネットワーキング理論及び方法をオンチップ通信に適用し、従来のバス及びクロスバー相互接続に顕著な改善をもたらす。ＮＯＣは、他の設計と比較して、ｓｙｓｔｅｍｓ  ｏｎ  ａ  ｃｈｉｐ（ＳｏＣ）の拡張性、及び複雑なＳｏＣの電力効率を向上させる。ＮＯＣのワイヤ及びリンクは、多くの信号によって共有される。ＮＯＣ内の全てのリンクが異なるデータパケット上で同時に動作することができるため、高レベルの並列性が達成される。したがって、統合サブシステムの複雑性が増大し続けると、ＮＯＣは、以前の通信アーキテクチャ（例えば、専用のポイントツーポイント信号ワイヤ、共有バス、又はブリッジを有するセグメント化バス）と比較して、向上した性能（スループットなど）及び拡張性をもたらす。他の実施形態では、ＮＯＣ１５４は、バスで置き換えることができる。プロセッサ１５６、ＥＣＣエンジン１５８、メモリインターフェース１６０、及びＤＲＡＭコントローラ１６４はＮＯＣ１５４に接続され、これと通信している。ＤＲＡＭコントローラ１６４は、ローカル高速揮発性メモリ１４０（例えば、ＤＲＡＭ）を動作させ、これと通信するために使用される。他の実施形態では、ローカル高速揮発性メモリ１４０は、ＳＲＡＭ又は別の種類の揮発性メモリであり得る。
【００３３】
ＥＣＣエンジン１５８は、エラー訂正サービスを実行する。例えば、ＥＣＣエンジン１５８は、実施されたＥＣＣ技術に従って、符号化及び復号化を実行する。一実施形態では、ＥＣＣエンジン１５８は、ソフトウェアによってプログラムされた電気回路である。例えば、ＥＣＣエンジン１５８は、プログラムされ得るプロセッサであり得る。他の実施形態では、ＥＣＣエンジン１５８は、いずれのソフトウェアも有さない、カスタムの専用ハードウェア回路である。別の実施形態では、ＥＣＣエンジン１５８の機能は、プロセッサ１５６によって実施される。
【００３４】
プロセッサ１５６は、プログラミング、消去、読み出し、並びにメモリ管理プロセスなど様々なコントローラメモリ動作を実行する。一実施形態では、プロセッサ１５６はファームウェアによってプログラムされる。他の実施形態では、プロセッサ１５６は、いずれのソフトウェアも有さない、カスタムの専用ハードウェア回路である。プロセッサ１５６はまた、ソフトウェア／ファームウェアプロセスとして、又は専用ハードウェア回路として、変換モジュールを実装する。多くのシステムでは、不揮発性メモリは、１つ以上のメモリダイに関連する物理アドレスを使用して、内部で記憶システムにアドレス指定される。しかしながら、ホストシステムは論理アドレスを使用して、様々な記憶場所にアドレスを指定する。これにより、ホストは、データを連続論理アドレスに割り当てることができ、その一方、記憶システムは、１つ以上のメモリダイの場所の間で、思い通りにデータを自由に記憶する。このシステムを実現するために、コントローラ（例えば、変換モジュール）は、ホストによって使用される論理アドレスとメモリダイによって使用される物理アドレスとの間でアドレス変換を実行する。例示的な一実施形態は、論理アドレスと物理アドレスとの間での現在の変換を識別するテーブル（すなわち、上記のＬ２Ｐテーブル）を維持することである。Ｌ２Ｐテーブル内のエントリとしては、論理アドレス及び対応する物理アドレスの識別子が挙げられ得る。論理アドレス−物理アドレステーブル（つまり、Ｌ２Ｐテーブル）は、「テーブル」という語を含むが、文字通りテーブルである必要はない。むしろ、物理アドレス−論理アドレステーブル（つまり、Ｌ２Ｐテーブル）は、任意の種類のデータ構造であり得る。いくつかの例では、記憶システムのメモリ空間が非常に大きいため、ローカルメモリ１４０はＬ２Ｐテーブルの全てを保持することができない。かかる場合、Ｌ２Ｐテーブルのセットの全体がメモリダイ１３０に記憶され、Ｌ２Ｐテーブルのサブセットは、ローカル高速揮発性メモリ１４０にキャッシュされる（Ｌ２Ｐキャッシュ）。
【００３５】
メモリインターフェース１６０は、１つ以上のメモリダイ１３０と通信する。一実施形態では、メモリインターフェースは、トグルモードインターフェースを提供する。他のインターフェースも使用され得る。いくつかの例示的な実施形態では、メモリインターフェース１６０（又はコントローラ１２０の別の部分）は、１つ以上のメモリダイに対してデータを送受信するためのスケジューラ及びバッファを実装する。
【００３６】
図２は、メモリダイ３００の一実施形態の機能ブロック図である。図１の１つ以上のメモリダイ１３０のそれぞれは、図２のメモリダイ３００として実装され得る。図２に示す構成要素は、電気回路である。一実施形態では、各メモリダイ３００は、メモリ構造３２６と、制御回路３１０と、読み出し／書き込み回路３２８と、を含む。メモリ構造３２６は、行デコーダ３２４を介してワード線によって、及び、列デコーダ３３２を介してビット線によってアドレス指定可能である。読み出し／書き込み回路３２８は、ＳＢ１、ＳＢ２、．．．、ＳＢｐ（感知回路）など複数のセンスブロック３５０を含み、複数のメモリセル内のデータのページ（又は複数のページ）が並列に読み出し又はプログラム（書き込み）されることを可能にする。一実施形態では、各センスブロックは、センス増幅器と、ビット線に接続された１セットのラッチと、を含む。ラッチは、読み書きされたデータを記憶する。センス増幅器は、ビット線ドライバを含む。コマンド及びデータは、線３１９を介してコントローラとメモリダイ３００との間で転送される。一実施形態では、メモリダイ３００は、線１１８に接続する１セットの入力及び／又は出力（Ｉ／Ｏ）ピンを含む。
【００３７】
制御回路３１０は、読み出し／書き込み回路３２８と協働して、メモリ構造３２６上でメモリ動作（例えば、書き込み、読み出し、消去、及びその他）を実行する。一実施形態では、制御回路３１０は、ステートマシン３１２と、オンチップアドレスデコーダ３１４と、電力制御回路３１６と、メモリダイパラメータ３１８と、を含む。ステートマシン３１２は、メモリ動作のダイレベル制御を提供する。一実施形態では、ステートマシン３１２は、ソフトウェアによってプログラム可能である。他の実施形態では、ステートマシン３１２は、ソフトウェアを使用せず、ハードウェア（例えば電気回路）内に完全に実装される。他の実施形態では、ステートマシン３１２をプログラム可能なマイクロコントローラに置き換えることができる。一実施形態では、制御回路３１０は、レジスタ、ラッチ、ＲＯＭヒューズ、及び他の記憶装置などバッファに記憶されたメモリダイパラメータ３１８を含む。メモリダイパラメータ３１８は、メモリ動作を実行するためにメモリダイ３００によって使用される（例えば、ステートマシン３１２によって使用される）ベース電圧及び他のパラメータなどデフォルト値である。一例は、プログラミングプロセスの一実施形態中に使用されて、以下に記載するように、第１の基準が満たされた後に所定の数のプログラミングパルスを示す、スキップパラメータＳＰである。一実施形態では、スキップパラメータＳＰは、メモリダイ３００の製造の一環として試験中に設定される。
【００３８】
オンチップアドレスデコーダ３１４は、コントローラ１２０によって使用されるアドレスと、デコーダ３２４及び３３２によって使用されるハードウェアアドレスとのアドレスインターフェースを提供する。電力制御モジュール３１６は、メモリ動作中にワード線及びビット線に供給される電力及び電圧を制御する。電力制御モジュール３１６は、電圧を生成するための電荷ポンプを含み得る。
【００３９】
本明細書の目的のために、制御回路３１０、読み出し／書き込み回路３２８、及びデコーダ３２４／３３２は、メモリ構造３２６の制御回路の一実施形態を含む。他の実施形態では、メモリ構造３２６を支援し、そこで動作する他の回路を制御回路と称し得る。例えば、いくつかの実施形態では、コントローラ１２０は、制御回路として動作することができ、又は制御回路の一部であってよい。いくつかの実施形態では、制御回路３１０、読み出し／書き込み回路３２８、及びデコーダ３２４／３３２と組み合わせたコントローラ１２０は、制御回路の一実施形態を備える。別の実施形態では、ステートマシン３１２は制御回路を備える。別の実施形態では、ホストは制御回路を提供することができる。
【００４０】
一実施形態では、メモリ構造３２６は、ウェハなど単一基板上に複数のメモリレベルが形成される不揮発性メモリセルのモノリシック３次元メモリアレイを備える。メモリ構造は、シリコン（又は他の種類の）基板上に配置された活性領域を有する、１つ以上の物理レベルのメモリセルアレイにモノリシックに形成される、任意の種類の不揮発性メモリを備え得る。一例では、メモリ構造３２６の不揮発性メモリセルは、例えば米国特許第９，７２１，６６２号に記載されているような電荷トラップ材料を有する垂直ＮＡＮＤストリングを備え、その全体が参照により本明細書に組み込まれる。ＮＡＮＤストリングは、チャネルによって接続されたメモリセルを含む。
【００４１】
別の実施形態では、メモリ構造３２６は、不揮発性メモリセルの２次元メモリアレイを備える。一例では、不揮発性メモリセルは、例えば米国特許第９，０８２，５０２号に記載されているような浮動ゲートを利用するＮＡＮＤフラッシュメモリセルであり、その全体が参照により本明細書に組み込まれる。他の種類のメモリセル（例えば、ＮＯＲ型フラッシュメモリ）も使用することができる。
【００４２】
メモリ構造３２６に含まれるメモリアレイアーキテクチャ又はメモリセルの正確な種類は、上記の例に限定されない。多くの異なる種類のメモリアレイアーキテクチャ又はメモリセル技術を使用して、メモリ構造３２６を形成することができる。本明細書で提案された新たに特許請求される実施形態の目的には、特定の不揮発性メモリ技術は必要とされない。メモリ構造３２６のメモリセルに好適な技術の他の例として、強誘電体メモリ（ＦｅＲＡＭ又はＦｅＦＥＴ）、ＲｅＲＡＭメモリ、磁気抵抗メモリ（例えば、ＭＲＡＭ、スピントランスファートルクＭＲＡＭ、スピン軌道トルクＭＲＡＭ）、位相変化メモリ（例えばＰＣＭ）などが挙げられる。メモリ構造３２６のアーキテクチャに好適な技術の例として、２次元アレイ、３次元アレイ、クロスポイントアレイ、積層型２次元アレイ、垂直ビット線アレイなどが挙げられる。
【００４３】
ＲｅＲＡＭ又はＰＣＭＲＡＭ、クロスポイントメモリの一例として、Ｘ線及びＹ線（例えば、ワード線及びビット線）によってアクセスされるクロスポイントアレイに配置された可逆抵抗スイッチング素子が挙げられる。別の実施形態では、メモリセルは、導電性ブリッジメモリ素子を含み得る。導電性ブリッジメモリ素子はまた、プログラム可能なメタライゼーションセルと呼ばれ得る。導電性ブリッジメモリ素子は、固体電解質内のイオンの物理的再配置に基づく状態変化素子として使用され得る。場合によっては、導電性ブリッジメモリ素子は、２つの電極間に固体電解質薄膜を有する、２つの固体金属電極を含んでもよく、一方は、比較的不活性であり（例えば、タングステン）、他方は、他の電気化学的に活性である（例えば、銀又は銅）。温度が上昇すると、イオンの移動度も増加し、導電性ブリッジメモリセルのプログラミング閾値が低下する。したがって、導電性ブリッジメモリ素子は、温度に対して広範囲のプログラミング閾値を有し得る。
【００４４】
磁気抵抗メモリ（Magnetoresistive memory、ＭＲＡＭ）は、磁気記憶素子によってデータを記憶する。素子は、各々が薄い絶縁層によって分離された磁化を保持することができる、２つの強磁性プレートから形成される。２つのプレートのうちの１つは、特定の極性に設定された永久磁石である。他方のプレートの磁化は、メモリを記憶するために外場の磁化と一致するように変更することができる。メモリデバイスは、このようなメモリセルのグリッドから構築される。プログラミングのための一実施形態では、各メモリセルは、互いに直角に、セルに平行に、セルの１つ上及び１つ下に配置された一対の書き込み線の間にある。電流がそれらを通過すると、誘導磁場が生成される。
【００４５】
位相変化メモリ（Phase change memory、ＰＣＭ）は、カルコゲナイドガラス特有の挙動を利用する。一実施形態は、Ｇｅ２Ｓｂ２Ｔｅ５合金を使用して、位相変化材料を電気加熱することによって位相変化を達成する。複数回のプログラミングは、異なる振幅及び／又は長さの電気パルスであって、異なる抵抗値の位相変化材料をもたらす。
【００４６】
当業者であれば、本明細書に記載されるこの技術は単一の特定のメモリ構造に限定されず、本明細書に記載され、当業者によって理解されるように、技術の趣旨及び範囲内で、多くの関連するメモリ構造をカバーすることを、理解するであろう。
【００４７】
図３は、垂直ＮＡＮＤストリングとして配置された複数の不揮発性メモリセルを含む、メモリ構造３２６を備え得るモノリシック３次元メモリアレイの例示的な一実施形態の一部の斜視図である。例えば、図３は、１つのメモリのブロックの一部を示している。描画される構造は、交互の誘電体層及び導電層のスタックの上に位置決めされた１組のビット線ＢＬを含む。例として、誘電体層のうちの１つがＤとしてマークされ、導電層（ワード線層とも呼ばれる）のうちの１つがＷとしてマークされている。交互の誘電体層及び導電層の数は、特定の実装要件に基づいて変化し得る。１組の実施形態は、１０８〜３００の交互の誘電体層及び導電層を含む。一例示的実施形態は、９６個のデータワード線層、８個の選択層、６個のダミーワード線層、及び１１０の誘電体層を含む。１０８〜３００よりも多い、又は少ない層を使用することもできる。以下に説明するように、交互の誘電体層及び導電層は、ローカルインターコネクトＬＩによって、４つの「フィンガ」に分割される。図３は、２つのフィンガ及び２つのローカルインターコネクトＬＩのみを示す。交互の誘電体層及びワード線層の下には、ソース線層ＳＬがある。メモリホールは、交互の誘電体層及び導電層のスタック内に形成される。例えば、メモリホールの１つはＭＨとしてマークされる。図３では、誘電体層がシースルーとして描画されているので、読者は交互の誘電体層及び導電層のスタックに位置決めされたメモリホールを見ることができる。一実施形態では、ＮＡＮＤストリングは、電荷トラップ材料を含む材料でメモリホールを充填して、メモリセルの垂直列を生成することによって形成される。各メモリセルは、１つ以上のビットのデータを記憶することができる。メモリ構造３２６を備える３次元モノリシックメモリアレイの更なる詳細は、図４Ａ〜図４Ｆに関して以下で提供する。
【００４８】
図４Ａは、２つの平面３０２及び３０４に分割されたメモリ構造３２６の１つの例示的な構成を説明するブロック図である。次いで、各平面はＭ個のブロックに分割される。一実施例では、各平面は、約２０００個のブロックを有する。しかしながら、異なる数のブロック及び平面を使用することもできる。一実施形態（In on embodiment）では、メモリセルのブロックは、消去の単位である。すなわち、ブロックの全てのメモリセルは、一緒に消去される。他の実施形態では、メモリ構造１２６を編成して信号化及び選択回路を有効にするなど、他の理由でメモリセルをブロックにグループ化することができる。いくつかの実施形態では、ブロックは、ブロックのメモリセルが、ワード線の共通セットを共有するように、接続されたメモリセルの群を表す。
【００４９】
図４Ｂ〜図４Ｆは、図３の構造に対応する例示的な３次元（「３Ｄ」）ＮＡＮＤ構造を示し、図２のメモリ構造３２６を実施するために使用することができる。図４Ｂは、メモリ構造３２６からの１つのブロックの一部の上面図を示すブロック図である。図４Ｂに示すブロックの一部は、図４Ａのブロック２の部分３０６に対応する。図４Ｂに示すように、図４Ｂに示すブロックは、３３２の方向に延在する。一実施形態では、メモリアレイは、多数の層を有するが、図４Ｂは、最上層のみを示す。
【００５０】
図４Ｂは、垂直列を表す複数の円を示す。垂直列のそれぞれは、複数の選択トランジスタ（選択ゲート（select gate）又は選択ゲート（selection gate）とも称する）と、複数のメモリセルと、を含む。一実施形態では、各垂直列は、ＮＡＮＤストリングを実装する。例えば、図４Ｂは、垂直列４２２、４３２、４４２、及び４５２を示す。垂直列４２２は、ＮＡＮＤストリング４８２を実装する。垂直列４３２は、ＮＡＮＤストリング４８４を実装する。垂直列４４２は、ＮＡＮＤストリング４８６を実装する。垂直列４５２は、ＮＡＮＤストリング４８８を実装する。垂直列の詳細は、以下に記載する。図４Ｂに示すブロックは矢印３３０の方向及び矢印３３２の方向に延在するため、このブロックは、図４Ｂに示すよりも多くの垂直列を含む。
【００５１】
図４Ｂはまた、ビット線４１１、４１２、４１３、４１４、．．．４１９などビット線４１５のセットを示す。図４Ｂは、ブロックの一部のみを示すため、２４本のビット線を示す。２４本以上のビット線がブロックの垂直列に接続されていることが企図される。垂直列を表す円のそれぞれは、１本のビット線への接続を示す「ｘ」を有する。例えば、ビット線４１４は垂直列４２２、４３２、４４２、及び４５２に接続されている。
【００５２】
図４Ｂに示すブロックは、様々な層を垂直列の下にあるソース線に接続する、１つのローカルインターコネクトのセット（４０２、４０４、４０６、４０８、及び４１０）を含む。ローカルインターコネクト４０２、４０４、４０６、４０８、及び４１０はまた、ブロックの各層を４つの領域に分割する役割を果たす。例えば、図４Ｂに示す最上層は、フィンガと呼ばれる領域４２０、４３０、４４０、及び４５０に分割される。メモリセルを実装するブロックの層において、４つの領域は、ローカルインターコネクトによって分離されるワード線フィンガと称される。一実施形態では、共通のレベルのブロック上のワード線フィンガは、互いに接続して単一のワード線を形成する。別の実施形態では、同一レベルのワード線フィンガは、互いに接続していない。例示的な一実施形態では、ビット線は、領域４２０、４３０、４４０、及び４５０のそれぞれで１つの垂直列にのみ接続する。当該実施形態では、各ブロックは１６行の活性列を有し、各ビット線は、各ブロックで４行に接続する。一実施形態では、共通のビット線に接続された４行の全ては、同一ワード線（互いに接続されている同レベルの異なるワード線フィンガを介して）に接続される。したがって、システムは、ソース側選択線及びドレイン側選択線を使用して、メモリ動作（プログラム、検証、読み出し、及び／又は消去）に供される４つのうちの１つ（又は別のサブセット）を選択する。
【００５３】
図４Ｂは、４行の垂直列を有する各領域、４領域、及びブロック内の１６行の垂直列を示しているが、これらの正確な数字は例示的な実施形態である。他の実施形態は、１ブロック当たりより多くの領域又はより少ない領域、１領域当たりより多い又は少ない行の垂直列、及び１ブロック当たりより多い又は少ない行の垂直列を含むことができる。
【００５４】
図４Ｂはまた、千鳥状の垂直列を示す。他の実施形態では、異なるパターンの千鳥配置を使用することができる。いくつかの実施形態では、垂直列は千鳥状ではない。
【００５５】
図４Ｃは、図４Ｂの線ＡＡに沿った断面図を示す３次元メモリ構造３２６の一実施形態の一部を示す。この断面図は、垂直列４３２及び４３４及び領域４３０（図４Ｂを参照）を切断する。図４Ｃの構造は、４つのドレイン側選択層ＳＧＤ０、ＳＧＤ１、ＳＧＤ２、及びＳＧＤ３と、４つのソース側選択層ＳＧＳ０、ＳＧＳ１、ＳＧＳ２、及びＳＧＳ３と、６つのダミーワード線層ＤＤ０、ＤＤ１、ＤＳ０、ＤＳ１、ＷＬＤＬ、ＷＬＤＵと、データメモリセルに接続するための９６のデータワード線層ＷＬＬ０〜ＷＬＬ９５と、を含む。他の実施形態は、４超又は４未満のドレイン側選択層と、４超又は４未満のソース側選択層と、６超又は６未満のダミーワード線層と、９６超又は９６未満のワード線と、を実装することができる。垂直列４３２及び４３４は、ドレイン側選択層、ソース側選択層、ダミーワード線層、及びワード線層を通って突出して示す。一実施形態では、各垂直列は、垂直ＮＡＮＤストリングを備える。例えば、垂直列４３２は、ＮＡＮＤストリング４８４を備える。垂直列及び下に列挙される層の下には、基板１０１、基板上の絶縁膜４５４、及びソース線ＳＬが存在する。垂直列４３２のＮＡＮＤストリングは、スタックの底部にソース端を有し、スタックの上部にドレイン端を有する。図４Ｂと一致するように、図４Ｃは、コネクタ４１５を介してビット線４１４に接続された垂直列４３２を示す。ローカルインターコネクト４０４及び４０６も示す。
【００５６】
参照を容易にするために、ドレイン側選択層ＳＧＤ０、ＳＧＤ１、ＳＧＤ２、及びＳＧＤ３、ソース側選択層ＳＧＳ０、ＳＧＳ１、ＳＧＳ２、及びＳＧＳ３、ダミーワード線層ＤＤ０、ＤＤ１、ＤＳ０、ＤＳ１、ＷＬＤＬ、ＷＬＤＵ、並びにワード線層ＷＬＬ０〜ＷＬＬ９５は、総じて導電層と称する。一実施形態では、導電層は、スズとタングステンの組み合わせから作製される。他の実施形態では、ドープポリシリコン、タングステンなど金属、又は金属シリサイドなど他の材料を使用して、導電層を形成することができる。いくつかの実施形態では、異なる導電層は、異なる材料から形成され得る。導電層間には、誘電体層ＤＬ０〜ＤＬ１１１が存在する。例えば、誘電体層ＤＬ１０４はワード線層ＷＬＬ９４よりも上にあり、ワード線層ＷＬＬ９５よりも下にある。一実施形態では、誘電体層は、ＳｉＯ２で作製される。他の実施形態では、他の誘電材料を使用して、誘電体層を形成することができる。
【００５７】
不揮発性メモリセルは、スタック内で交互に存在する導電層及び誘電体層を通って延在する垂直列に沿って形成される。一実施形態では、メモリセルは、ＮＡＮＤストリング内に配置される。ワード線層ＷＬＬ０〜ＷＬＬ９５は、メモリセル（データメモリセルとも称す）に接続する。ダミーワード線層ＤＤ０、ＤＤ１、ＤＳ０、ＤＳ１、ＷＬＤＬ、及びＷＬＤＵは、ダミーメモリセルに接続される。ダミーメモリセルは、ホストデータ（ホストから提供されたデータ、例えばホストのユーザからのデータなど）を記憶せず、ホストデータを記憶するのに適格ではないが、データメモリセルは、ホストデータを記憶するのに適格である。いくつかの実施形態では、データメモリセル及びダミーメモリセルは、同一構造を有し得る。ダミーワード線はダミーメモリセルに接続されている。ドレイン側選択層ＳＧＤ０、ＳＧＤ１、ＳＧＤ２、及びＳＧＤ３は、ビット線からＮＡＮＤストリングを電気的に接続し、切断するために使用される。ソース側選択層ＳＧＳ０、ＳＧＳ１、ＳＧＳ２、及びＳＧＳ３は、ソース線ＳＬからＮＡＮＤストリングを電気的に接続し、切断するために使用される。
【００５８】
図４Ｃはまた、接合領域を示す。一実施形態では、誘電体層が混在する、９６のワード線層のエッチングは、費用がかかり、かつ／又は困難である。この負担を軽減するために、一実施形態は、誘電体層と交互に存在する４８のワード線層の第１のスタックを敷設することと、接合領域を敷設することと、誘電体層と交互に存在する４８のワード線層の第２のスタックを敷設することと、を含む。接合領域は、第１のスタックと第２のスタックとの間に位置付けられる。接合領域は、第１のスタックを第２のスタックに接続するために使用される。図４Ｃでは、第１のスタックは「ワード線の下側セット」とラベル付けされ、第２のスタックは、「ワード線の上側セット」としてラベル付けされている。一実施形態では、接合領域はワード線層と同一材料で作製される。ある例示的な実装形態のセットでは、複数のワード線（制御線）は、図４Ｃに示すように、ワード線層及び誘電体層が交互に存在する第１のスタックと、交互のワード線層及び誘電体層が交互に存在する第２のスタックと、第１のスタックと第２のスタックとの間の接合領域と、を含む。
【００５９】
図４Ｄは、図４Ｃに部分的に示すブロックの導電層（ＳＧＤ０、ＳＧＤ１、ＳＧＤ２、ＳＧＤ３、ＳＧＳ０、ＳＧＳ１、ＳＧＳ２、ＳＧＳ３、ＤＤ０、ＤＤ１、ＤＳ０、ＤＳ１、及びＷＬＬ０〜ＷＬＬ９５）の論理表現を示す。図４Ｂに関して上述したように、一実施形態では、ローカルインターコネクト４０２、４０４、４０６、４０８及び４１０は、導電層を４つの領域／フィンガ（又はサブブロック）に分割する。例えば、ワード線層ＷＬＬ９４は領域４６０、４６２、４６４、及び４６６に分割される。ワード線層（ＷＬＬ０〜ＷＬＬ１２７）では、この領域をワード線フィンガと称す。例えば、ワード線層ＷＬＬ１２６はワード線フィンガ４６０、４６２、４６４、及び４６６に分割される。例えば、領域４６０は、１つのワード線層上の１つのワード線フィンガである。一実施形態では、同一レベルの４つのワード線フィンガが互いに接続される。別の実施形態では、各ワード線フィンガは、別個のワード線として動作する。
【００６０】
ドレイン側選択ゲート層ＳＧＤ０（最上層）はまた、フィンガ又は選択線フィンガとしても知られる領域４２０、４３０、４４０、及び４５０に分割される。一実施形態では、同一レベルの４つの選択線フィンガが互いに接続される。別の実施形態では、各選択線フィンガは、別個のワード線として動作する。
【００６１】
図４Ｅは、垂直列４３２（メモリホール）の一部を含む、図４Ｃの領域４２９の断面図を示す。一実施形態では、垂直列は円形であるが、他の実施形態では、他の形状が使用され得る。一実施形態では、垂直列４３２は、ＳｉＯ２など誘電体で作製された内側コア層４７０を含む。他の材料も使用され得る。内側コア４７０を取り囲むのは、ポリシリコンチャネル４７１である。ポリシリコン以外の材料も使用され得る。なお、ビット線及びソース線には、チャネル４７１が接続することに留意されたい。チャネル４７１を取り囲むのは、トンネリング誘電体４７２である。一実施形態では、トンネリング誘電体４７２は、ＯＮＯ構造を有する。トンネリング誘電体４７２を取り囲むのは、（例えば）窒化ケイ素など電荷トラップ層４７３である。他のメモリ材料及び構造も使用され得る。本明細書に記載する技術は、任意の特定の材料又は構造に限定されない。
【００６２】
図４Ｅは、誘電体層ＤＬＬ１０５、ＤＬＬ１０４、ＤＬＬ１０３、ＤＬＬ１０２、ＤＬＬ１０１、並びにワード線層ＷＬＬ９５、ＷＬＬ９４、ＷＬＬ９３、ＷＬＬ９２、及びＷＬＬ９１を示す。ワード線層のそれぞれは、酸化アルミニウム層４７７によって取り囲まれたワード線領域４７６を含み、酸化アルミニウム層４７７はブロック酸化物層４７８によって取り囲まれる。ワード線層と垂直列との物理的相互作用によってメモリセルが形成される。したがって、一実施形態では、メモリセルは、チャネル４７１と、トンネリング誘電体４７２と、電荷トラップ層４７３と、ブロック酸化物層４７８と、酸化アルミニウム層４７７と、ワード線領域４７６と、を含む。例えば、ワード線層ＷＬＬ９５及び垂直列４３２の一部は、メモリセルＭＣ１を備える。ワード線層ＷＬＬ９４及び垂直列４３２の一部は、メモリセルＭＣ２を備える。ワード線層ＷＬＬ９３及び垂直列４３２の一部は、メモリセルＭＣ３を備える。ワード線層ＷＬＬ９２及び垂直列４３２の一部は、メモリセルＭＣ４を備える。ワード線層ＷＬＬ９１及び垂直列４３２の一部は、メモリセルＭＣ５を備える。他のアーキテクチャでは、メモリセルは、異なる構造を有してよいが、メモリセルは依然として記憶ユニットである。
【００６３】
メモリセルがプログラムされるとき、電子は、メモリセルに関連する電荷トラップ層４７３の一部に蓄積される。これらの電子は、ワード線領域４７６上の適切な電圧に応答して、トンネリング誘電体４７２を通ってチャネル４７１から電荷トラップ層４７３に引き込まれる。メモリセルの閾値電圧（Ｖｔｈ）は、蓄積電荷量に比例して増加する。一実施形態では、プログラミングは、電荷トラップ層への電子のファウラーノルドハイムトンネリングによって達成される。消去動作中、チャネル又はホールに戻った電子は、電荷トラップ層に注入されて電子と再結合する。一実施形態では、消去は、ゲート誘起ドレイン漏れ（ＧＩＤＬ）など物理的機構を介して電荷トラップ層へのホール注入を使用して達成される。
【００６４】
図４Ｆは、図３〜図４Ｅに示すメモリの一部の概略図である。図４Ｆは、ブロック全体にわたる物理ワード線ＷＬＬ０〜ＷＬＬ９５を示す。図４Ｆの構造は、ビット線４１１、４１２、４１３、４１４、．．．４１９など、図４Ａ〜図４Ｅのブロック２の一部３０６に対応する。ブロック内では、各ビット線は４つのＮＡＮＤストリングに接続される。ドレイン側選択線ＳＧＤ０、ＳＧＤ１、ＳＧＤ２、及びＳＧＤ３は、４つのＮＡＮＤストリングのうちのどれを関連するビット線に接続するかを決定するために使用される。ソース側選択線ＳＧＳ０、ＳＧＳ１、ＳＧＳ２、及びＳＧＳ３は、４つのＮＡＮＤストリングのうちのどれを共通のソース線に接続するかを決定するために使用される。ブロックはまた、４つのサブブロックＳＢ０、ＳＢ１、ＳＢ２、及びＳＢ３に分割されていると考えることができる。サブブロックＳＢ０は、ＳＧＤ０及びＳＧＳ０によって制御されるそれらの垂直ＮＡＮＤストリングに対応し、サブブロックＳＢ１は、ＳＧＤ１及びＳＧＳ１によって制御されるそれらの垂直ＮＡＮＤストリングに対応し、サブブロックＳＢ２は、ＳＧＤ２及びＳＧＳ２によって制御されるそれらの垂直ＮＡＮＤストリングに対応し、サブブロックＳＢ３は、ＳＧＤ３及びＳＧＳ３によって制御されるそれらの垂直ＮＡＮＤストリングに対応する。
【００６５】
図３〜図４Ｆの例示的なメモリシステムは、電荷トラップ材料を有する垂直ＮＡＮＤストリングを含む３次元メモリ構造であるが、他の（２Ｄ及び３Ｄ）メモリ構造を本明細書に記載の技術と共に使用することもできる。
【００６６】
上述したメモリシステムは、消去、プログラム、及び読み出しが可能である。良好なプログラミングプロセス（検証を含む）の最後に、必要に応じて、メモリセルの閾値電圧は、プログラムされたメモリセルの閾値電圧の１つ以上の分布内、又は消去されたメモリセルの閾値電圧の分布内にあるべきである。
【００６７】
図５は、閾値電圧対メモリセルの数のグラフであり、各メモリセルが１ビットのデータを記憶するときのメモリアレイの例示的な閾値電圧分布を示す。図５は、２つの閾値電圧分布Ｅ及びＰを示す。閾値電圧分布Ｅは、消去されたデータ状態に対応する。閾値電圧分布Ｐは、プログラムされたデータ状態に対応する。したがって、閾値電圧分布Ｅ内に閾値電圧を有するメモリセルは、消去されたデータ状態（例えば、消去されている）である。したがって、閾値電圧分布Ｐ内に閾値電圧を有するメモリセルは、プログラムされたデータ状態（例えば、プログラムされている）である。一実施形態では、消去されたメモリセルはデータ「１」を記憶し、プログラムされたメモリセルはデータ「０」を記憶する。１ビットのデータを記憶するメモリセルは、シングルレベルセル（「ＳＬＣ」）と称する。
【００６８】
図６は、閾値電圧対メモリセルの数のグラフであり、各メモリセルが３ビットのデータを記憶するときのメモリアレイの例示的な閾値電圧分布を示す。しかしながら、他の実施形態は、メモリセル当たり他のデータ容量（例えば、メモリセル当たり１、２、４、又は５ビットのデータ等）を使用し得る。２ビット以上のデータを記憶するメモリセルは、マルチレベルセル（「ＭＬＣ」）と称する。図６は、８つのデータ状態に対応する８つの閾値電圧分布を示す。データ状態Ｎでは、データ状態Ｎは、データ状態Ｎ−１よりも高い閾値電圧を有し、データ状態Ｎ＋１よりも低い閾値電圧を有する。第１の閾値電圧分布（データ状態）Ｓ０は、消去されるメモリセルを表す。他の７つの閾値電圧分布（データ状態）Ｓ１〜Ｓ７はプログラムされるメモリセルを表し、したがってプログラムされた状態とも呼ぶ。いくつかの実施形態では、データ状態Ｓ１〜Ｓ７は、重複することができ、コントローラ１２２は、エラー訂正に応答して、記憶されている正しいデータを識別する。
【００６９】
図６はまた、メモリセルからデータを読み出すための、７つの読み出し基準電圧Ｖｒ１、Ｖｒ２、Ｖｒ３、Ｖｒ４、Ｖｒ５、Ｖｒ６、及びＶｒ７を示す。所与のメモリセルの閾値電圧がこの７つの読み出し基準電圧よりも高いか低いかを試験する（例えば、感知動作を実行する）ことによって、システムは、メモリセルがどのデータ状態（すなわち、Ｓ０、Ｓ１、Ｓ２、Ｓ３、．．．）であるのかを判定することができる。図５では、読み出し基準電圧Ｖｒを使用して、メモリセルが消去されるか、又はプログラムされるかを試験する。
【００７０】
図６はまた、７つの検証基準電圧Ｖｖ１、Ｖｖ２、Ｖｖ３、Ｖｖ４、Ｖｖ５、Ｖｖ６、及びＶｖ７（検証ターゲット電圧とも称する）を示す。メモリセルをデータ状態Ｓ１にプログラムするとき、システムは、それらのメモリセルがＶｖ１以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ２にプログラムするとき、システムは、メモリセルがＶｖ２以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ３にプログラムするとき、システムは、メモリセルがＶｖ３以上の閾値電圧を有するかどうかを判定する。メモリセルをデータ状態Ｓ４にプログラムするとき、システムは、それらのメモリセルがＶｖ４以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ５にプログラムするとき、システムは、それらのメモリセルがＶｖ５以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ６にプログラムするとき、システムは、それらのメモリセルがＶｖ６以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ７にプログラムするとき、システムは、それらのメモリセルがＶｖ７以上の閾値電圧を有するかどうかを試験する。
【００７１】
フルシーケンスプログラミングとして知られる一実施形態では、メモリセルを、消去されたデータ状態Ｓ０からプログラムされたデータ状態Ｓ１〜Ｓ７のいずれかに直接的にプログラムすることができる。例えば、プログラムされることになるメモリセルの母集団は、母集団の全てのメモリセルが消去されたデータ状態Ｓ０になるように、まず消去されることがある。次いで、プログラミングプロセスを使用して、メモリセルをデータ状態Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、及び／又はＳ７に直接的にプログラムする。例えば、いくつかのメモリセルがデータ状態Ｓ０からデータ状態Ｓ１にプログラムされる一方で、他のメモリセルは、データ状態Ｓ０からデータ状態Ｓ２へプログラムされ、かつ／又はデータ状態Ｓ０からデータ状態Ｓ３にプログラムされ、以下同様である。図６の矢印は、このフルシーケンスプログラミングを表している。本明細書に記載する技術はまた、多段階／フェーズのプログラミングを含む（ただし、これらに限定されない）フルシーケンスプログラミングに加えて、他の種類のプログラミングで使用することができる。
【００７２】
図６の各閾値電圧分布（データ状態）は、メモリセルに記憶されたデータビットセットに対する所定の値に対応する。メモリセルにプログラムされたデータとメモリセルの閾値電圧レベルとの間の特定の関係は、当該メモリセルに採用されたデータ符号化方式によって異なる。一実施形態では、データ値は、グレーコード割り当てを使用して閾値電圧範囲に割り当てられ、その結果、メモリの閾値電圧がその隣の物理状態に誤ってシフトした場合に、１ビットのみが影響を受けるようになる。
【００７３】
図７は、データ状態へのデータ値の割り当ての一例を説明する表である。図６の表では、Ｓ０＝１１１（消去状態）、Ｓ１＝１１０、Ｓ２＝１００、Ｓ３＝０００、Ｓ４＝０１０、Ｓ５＝０１１、Ｓ６＝００１、及びＳ７＝１０１である。他のデータの符号化も使用され得る。本明細書に開示する技術では、特定のデータ符号化は不要である。一実施形態では、ブロックが消去動作に供されると、全てのメモリセルは、データ状態Ｓ０、つまりに消去状態に移行する。
【００７４】
一般に、検証動作中及び読み出し動作中には、選択されたワード線は、電圧（基準信号の一例）に接続され、電圧のレベルは、関連しているメモリセルの閾値電圧がかかるレベルに達しているかどうかを判定するために、読み出し動作（例えば、図６の読み出し基準電圧Ｖｒ１、Ｖｒ２、Ｖｒ３、Ｖｒ４、Ｖｒ５、Ｖｒ６、及びＶｒ７を参照）又は検証動作（図６の検証動作基準電圧Ｖｖ１、Ｖｖ２、Ｖｖ３、Ｖｖ４、Ｖｖ５、Ｖｖ６、及びＶｖ７を参照）ごとに指定される。ワード線電圧を印加した後、メモリセルの伝導電流を測定して、ワード線に印加された電圧に応答してメモリセルがオンになっている（電流が流れている）かどうかを判定する。伝導電流がある値よりも大きいと測定された場合、メモリセルがオンにされ、ワード線に印加される電圧がメモリセルの閾値電圧よりも大きいと仮定する。伝導電流が所定の値より大きいと測定されない場合、メモリセルはオンにならず、ワード線に印加される電圧はメモリセルの閾値電圧以下であると仮定する。読み出し又は検証プロセスの間、非選択メモリセルには、それらの制御ゲートにおいて１つ以上の読み出しパス電圧（バイパス電圧とも呼ばれる）が提供され、その結果、これらのメモリセルは、パスゲートとして動作することになる（例えば、プログラムされているか消去されているかにかかわらず電流を流す）。
【００７５】
読み出し又は検証動作中にメモリセルの伝導電流を測定する多くの方法がある。一実施例では、メモリセルの伝導電流は、センスアンプ内の専用コンデンサを放電又は充電する速度によって測定される。別の実施例では、選択されたメモリセルの伝導電流は、メモリセルを含むＮＡＮＤストリングが対応するビット線を放電することを可能にする（又は可能にしない）。ビット線の電圧は、それが放電されていたかどうかを調べるために一定時間後に測定される。本明細書に記載される技術は、検証／読み出しのための当該技術分野で既知の様々な方法と共に使用され得ることに留意されたい。当該技術分野で既知の他の読み出し及び検証技術も使用することができる。
【００７６】
図８は、メモリダイ３００によって実行されるプログラミングのプロセスの一実施形態を説明するフロー図である。例示的な一実施形態では、図８のプロセスは、ステートマシン３１２の方向で、上述の制御回路を使用してメモリダイ３００上で実行される。図８のプロセスは、図５のプログラミング、図６のフルシーケンスプログラミング、又は多段階プログラミングなど他のプログラミングスキームを実施するために実行される。多段階プログラミングを実施するとき、図８のプロセスは、多段階プログラミングプロセスの任意の／各段階を実施するために使用される。
【００７７】
典型的には、プログラミング信号Ｖｐｇｍは、図９に示すように、プログラム動作中に（選択されたワード線を介して）一連のプログラミング電圧パルスとして制御ゲートに印加される。プログラミングパルス同士の間には、１組の検証パルスが存在して検証を実施する。多くの実施形態では、プログラムパルスの大きさは、連続する各パルスで所定のステップサイズ（例えば、０．２ｖ〜０．５ｖ）ずつ増加する。図８のステップ５７０において、プログラミング電圧（Ｖｐｇｍ）が開始量（例えば、〜１２〜１６Ｖ又は別の好適なレベル）に初期化され、ステートマシン３１２によって維持されるプログラムカウンタＰＣが１に初期化される。ステップ５７２において、プログラミング信号Ｖｐｇｍのプログラムパルスが、選択されたワード線（プログラミングのために選択されたワード線）に印加される。一実施形態では、同時にプログラムされるメモリセルのグループが全て、同じワード線（選択されたワード線）に接続される。選択されていないワード線は、１つ以上の昇圧電圧（例えば、約７〜１１ボルト）を受け取って、当技術分野で公知の昇圧方式を実施する。一実施形態では、メモリセルがプログラムされようとしている場合、対応するビット線が接地される。一方で、メモリセルがその現在の閾値電圧に留まろうとしている場合、対応するビット線はＶｄｄ（例えば、１〜３．５ボルト）に接続されてプログラミングを阻止する。ステップ５７２において、プログラミング電圧パルスが、選択されたワード線に接続された全てのメモリセルに同時に印加され、その結果、選択されたワード線に接続された全てのメモリセルが同時にプログラムされる。即ち、それらのメモリセルは、同時に、又は重複する時間の間に（どちらも同時であるとみなされる）プログラムされる。このようにして、選択されたワード線に接続された全てのメモリセルは、プログラミングからロックアウトされない限り、同時にそれらの閾値電圧を変化させる。
【００７８】
ステップ５７４において、１つ以上の検証動作を実行するのに適切な検証基準電圧のセットを使用して、適切なメモリセルが検証される。一実施形態では、検証プロセスは、プログラミングのために選択されたメモリセルの閾値電圧が適切な検証基準電圧に到達したどうかの試験によって、実施される。
【００７９】
ステップ５７６において、全てのメモリセルがそれらのターゲット閾値電圧に達したか（合格）どうかが判定される。そうである場合、プログラミングプロセスは完了し成功である、というのも、選択されたメモリセルの全てがそれらのターゲット状態にプログラム及び検証されたからである。ステップ５７８において、「合格」（つまり、成功）の状態が報告される。５７６において、全てのメモリセルがそれらのターゲット閾値電圧に達していない（不合格）という判定がなされた場合、プログラミングプロセスはステップ５８０に続く。
【００８０】
ステップ５８０において、システムは、それぞれのターゲット閾値電圧分布にまだ達していないメモリセルの数をカウントする。即ち、システムは、これまで検証プロセスに失敗したメモリセルの数をカウントする。このカウントは、ステートマシン３１２、コントローラ１２０、又はその他の論理で実行することができる。一実施形態では、センスブロックのそれぞれが、それらのそれぞれのセルの状態（合格／不合格）を記憶することになる。一実施形態では、１つの合計カウントが存在し、これは、最後の検証ステップを失敗した現在プログラムされているメモリセルの総数を反映している。別の実施形態では、データ状態ごとに別個のカウントが維持される。
【００８１】
ステップ５８２において、ステップ５８０でのカウントが所定の限界値以下であるかどうかの判定がなされる。一実施形態では、所定の限界値は、メモリセルのページについての読み出しプロセス中に、エラー訂正符号（ＥＣＣ）によって訂正することができるビットの数である。失敗したセルの数が所定の限界値以下である場合、プログラミングプロセスは停止することができ、「合格」の状態がステップ５７８で報告される。この状況では、十分な数のメモリセルが正確にプログラムされており、その結果、完全にプログラムされていない残りの僅かのメモリセルは、読み出しプロセスの間に、ＥＣＣを使用して訂正することができる。いくつかの実施形態では、ステップ５８０は、セクタ、ターゲットデータ状態、又は他の単位ごとに失敗したセルの数をカウントし、これらのカウント値はステップ５８２で個別に又は集合的に１つ以上の閾値と比較される。
【００８２】
一実施形態では、所定の限界値は、今後の誤りを見越して、読み出しプロセス中にＥＣＣによって訂正することができるビットの総数よりも小さくすることができる。１ページに対する全てのメモリセルよりも少ないメモリセルをプログラムする場合、又は、１つのデータ状態のみ（又は全ての状態よりも少ない状態）に対するカウントを比較する場合、所定の限界値は、メモリセルのページの読み出しプロセスの間にＥＣＣによって訂正することができるビットの数の（比例した、又は比例しない）一部とすることができる。いくつかの実施形態では、限界値は予め決められていない。代わりに、限界値は、そのページについて既にカウントされた誤りの数、実施されるプログラム−消去のサイクル数、又は他の基準に基づいて変化する。
【００８３】
失敗したメモリセルの数が所定の限界値以上である場合、プログラミングプロセスはステップ５８４において続行し、プログラムカウンタＰＣはプログラム限界値（ＰＬ）と照合される。プログラム限界値の例としては、６、２０及び３０が挙げられるが、他の値を使用することもできる。プログラムカウンタＰＣがプログラム限界値ＰＬ以上である場合、プログラムプロセスは失敗したとみなされ、不合格の状態がステップ５８８で報告される。プログラムカウンタＰＣがプログラム限界値ＰＬ未満である場合、プロセスはステップ５８６において続行し、このステップの間に、プログラムカウンタＰＣは１ずつインクリメントし、プログラム電圧Ｖｐｇｍは次の大きさへと増加する。例えば、次のパルスの大きさは、１ステップサイズ（例えば、０．１〜０．４ボルトのステップサイズ）ずつ前のパルスよりも大きい。ステップ５８６の後、このプロセスはステップ５７２にループバックし、別のプログラムパルスが選択されたワード線に印加され、その結果、図８のプログラミングプロセスの別の繰り返し（ステップ５７２〜５８６）が実行される。
【００８４】
プログラミング又は読み出し時にエラーが生じ得る、またデータの記憶中に（例えば、電子のドリフト、データ保持の問題、又は他の現象により）エラーが生じ得る可能性があるため、データのプログラミングにエラー訂正が使用される。メモリシステムは、頻繁にエラー訂正符号（ＥＣＣ）を使用して、破損からデータを保護する。多くのＥＣＣ符号化スキームは、当該技術分野において周知である。これらの従来のエラー訂正符号は、フラッシュ（及び他の不揮発性）メモリなど大規模メモリにおいて特に有用である。これは、かかる符号化スキームが製造歩留まりに対する重大な影響及びデバイスの信頼性を提供することができ、少数のプログラム不能セル又は不良セルを有するデバイスを使用可能にするためである。当然のことながら、歩留まりの救済と追加メモリセルを提供して符号ビットを記憶する（すなわち、符号「レート」）コストとの間にはトレードオフが存在する。そのため、一部のＥＣＣ符号は、他のＥＣＣ符号よりもフラッシュメモリデバイスに好適である。概して、フラッシュメモリデバイス向けのＥＣＣ符号は、データ通信アプリケーションで使用される符号（１／２の低さの符号レートを有し得る）よりも高い符号レート（すなわち、符号ビット対データビットの比率がより低い）を有する傾向がある。フラッシュメモリ記憶装置に関連して一般的に使用される周知のＥＣＣ符号の例としては、リードソロモン符号、他のＢＣＨ符号、ハミング符号などが挙げられる。場合によっては、フラッシュメモリ記憶装置に関連して使用されるエラー訂正符号は、最終的な符号語のデータ部分が、符号化されている実際のデータから変化しないという点で「系統的」であり、符号又はパリティビットがデータビットに付加されて完全な符号語を形成する。
【００８５】
所与のエラー訂正符号の特定のパラメータとしては、符号の種類、符号語が導出される実際のデータのブロックのサイズ、及び符号化後の符号語の全長が挙げられる。例えば、５１２バイト（４０９６ビット）のデータセクタに適用される典型的なＢＣＨ符号は、少なくとも６０ＥＣＣ又はパリティビットが使用される場合に最大４つのエラービットを訂正することができる。リードソロモン符号は、ＢＣＨ符号のサブセットであり、エラー訂正にも一般的に使用される。例えば、典型的なリードソロモン符号は、約７２ＥＣＣビットを使用して、５１２バイトのデータセクタにおいて、最大４つのエラーを訂正することができる。フラッシュメモリの文脈では、エラー訂正符号化は、製造歩留まりの大幅な改善、並びに経時的なフラッシュメモリの信頼性を提供する。
【００８６】
いくつかの実施形態では、コントローラ１０２はホストデータ（ユーザデータ又はメモリシステムの外部のエンティティからのデータとも称する）を受信する。このデータは情報ビットとも称し、不揮発性メモリ構造３２６を記憶するためのものである。情報ビットは、マトリックスｉ＝［１  ０］によって表される（２ビットは例示のみを目的として使用されており、多くの実施形態は２ビットよりも長い符号語を有することに留意されたい）。エラー訂正プロセス（上記又は下記のプロセスのいずれかなど）はコントローラ１２０のＥＣＣエンジン１５８によって実施され、このプロセスでは、パリティビットが情報ビットに追加されて、マトリックス又は符号語ｖ＝［１  ０  １  ０］によって表されるデータを提供し、２つのパリティビットがデータビットに付加されたことを示す。より複雑な方法で入力データを出力データにマッピングする他の技術が使用され得る。例えば、Ｇａｌｌａｇｅｒ符号とも称する低密度パリティチェック（ＬＤＰＣ）符号が使用され得る。ＬＤＰＣ符号に関する詳細は、Ｒ．Ｇ．Ｇａｌｌａｇｅｒ，「Ｌｏｗ−ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ−ｃｈｅｃｋ  ｃｏｄｅｓ」，ＩＲＥ  Ｔｒａｎｓ．Ｉｎｆｏｒｍ．Ｔｈｅｏｒｙ，ｖｏｌ．ＩＴ−８，ｐｐ．２１  ２８，Ｊａｎ．１９６２及びＤ．ＭａｃＫａｙ，Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，Ｉｎｆｅｒｅｎｃｅ  ａｎｄ  Ｌｅａｒｎｉｎｇ  Ａｌｇｏｒｉｔｈｍｓ，Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ  ２００３，ｃｈａｐｔｅｒ  ４７に見出すことができる。実際には、かかるＬＤＰＣ符号は、典型的には、多数の記憶素子にわたって符号化された複数のページに（例えば、ＥＣＣエンジン１５８によって）適用されるが、複数のページにわたって適用される必要はない。データビットは論理ページにマッピングされ、１つ以上のメモリセルを、ｖに対応する１つ以上のプログラミング状態にプログラムすることによってメモリ構造３２６に記憶され得る。
【００８７】
一実施形態では、プログラミングは、メモリセルの閾値電圧をプログラムされたデータ状態Ｓ１〜Ｓ７のうちの１つに上昇させるように機能する。消去は、メモリセルの閾値電圧を消去データ状態Ｓ０に下げるように機能する。
【００８８】
いくつかのメモリデバイス内のメモリセルを消去する１つの技術は、ｐウェル（又は他の種類の）基板にバイアスをかけて高電圧にして、ＮＡＮＤチャネルを充電することである。メモリセルの制御ゲートには消去イネーブル電圧が印加されるが、ＮＡＮＤチャネルは、不揮発性記憶素子（メモリセル）を消去するために高電圧である。メモリセルを消去する別の手法は、ゲート誘起ドレイン漏れ（ＧＩＤＬ）電流を生成してＮＡＮＤストリングチャネルを充電することである。メモリセルの制御ゲートには消去イネーブル電圧が印加されるが、ストリングチャネル電位は維持されてメモリセルを消去する。
【００８９】
一実施形態では、ＧＩＤＬ電流は、選択トランジスタでドレイン−ゲート電圧を発生させることによって生成される。ＧＩＤＬ電流を発生させるトランジスタドレイン−ゲート電圧は、本明細書ではＧＩＤＬ電圧と称する。ＧＩＤＬ電流は、選択トランジスタドレイン電圧が選択トランジスタ制御ゲート電圧よりも著しく高いときに生じ得る。ＧＩＤＬ電流は、キャリア生成、すなわち、帯域間トンネリング及び／又はトラップの支援を受けた生成による電子ホール対の生成の結果である。一実施形態では、ＧＩＤＬ電流は、１種類のキャリア、例えば、ホールをもたらしてよく、主にＮＡＮＤチャネル内へと移動し、それによってチャネルの電位を上昇させ得る。他の種類のキャリア、例えば電子は、電界によって、チャネルから、ビット線の方向、又はソース線の方向へと抽出される。消去中、ホールは、チャネルからメモリセルの電荷蓄積領域へとトンネリングし、電子と再結合して、メモリセルの閾値電圧を低下させ得る。
【００９０】
ＧＩＤＬ電流は、ＮＡＮＤストリングのいずれかの端部で生成されてよい。第１のＧＩＤＬ電圧は、ビット線に接続されて第１のＧＩＤＬ電流を生成する選択トランジスタ（例えば、ドレイン側選択トランジスタ）の２つの端子間で生成され得る。第２のＧＩＤＬ電圧は、ソース線に接続されて第２のＧＩＤＬ電流を生成する選択トランジスタ（例えば、ソース側選択トランジスタ）の２つの端子間で生成され得る。ＮＡＮＤストリングの一端のみにおけるＧＩＤＬ電流に基づいた消去は、片側ＧＩＤＬ消去と称する。ＮＡＮＤストリングの両端におけるＧＩＤＬ電流に基づいた消去は、両側ＧＩＤＬ消去と称する。
【００９１】
上述のように、図９は、プログラミング信号Ｖｐｇｍを一連のプログラミング電圧パルスとして示す。これらのプログラミング電圧パルスは、データ状態にプログラムされている複数の不揮発性メモリセルに適用された、複数回のプログラミングの一例である。図８によって説明するように、システムは、図１０及び図１１に示すように、複数回のプログラミング間でプログラム検証を実行する。メモリセルが、メモリセルごとに１ビットのデータを記憶する実施形態を示す図１０は、図９の２つのプログラミング電圧パルス６０２及び６０４を示す。プログラミング電圧パルス６０２と６０４との間には、検証電圧パルス６１０が存在する。一実施形態では、検証電圧パルス６１０は、Ｖｖの大きさを有し（図５を参照）、複数回のプログラミング（ステップ５７２の連続繰り返し）間でプログラム検証（ステップ５７４）を実行するシステムを表す。
【００９２】
メモリセルが、メモリセルごとに３ビットのデータを記憶する実施形態を示す図１１は、図９のプログラミング電圧パルスのうちの２つ（６０２及び６０４）を示す。プログラミング電圧パルス６０２と６０４との間には、検証電圧パルスｖ１、ｖ２、ｖ３、ｖ４、ｖ５、ｖ６、及びｖ７が存在する。一実施形態では、検証電圧パルスｖ１はＶｖ１の大きさを有し（図６を参照）、検証電圧パルスｖ２はＶｖ２の大きさを有し、検証電圧パルスｖ３はＶｖ３の大きさを有し、検証電圧パルスｖ４はＶｖ４の大きさを有し、検証電圧パルスｖ５はＶｖ５の大きさを有し、検証電圧パルスｖ６はＶｖ６の大きさを有し、検証電圧パルスｖ７はｖ７の大きさを有する。検証電圧パルスｖ１、ｖ２、ｖ３、ｖ４、ｖ５、ｖ６、及びｖ７は、複数回のプログラミング（ステップ５７２の連続繰り返し）間でプログラム検証（ステップ５７４）を実行するシステムを表す。
【００９３】
図１２は、不揮発性メモリのプログラミングを検証するプロセスの一実施形態を説明するフロー図である。すなわち、図１２のプロセスは、メモリセルが、メモリセルごとに３ビットのデータを記憶する実施形態について、図８のステップ５７４の例示的な実施形態中に実行されるプロセスである。図１２のプロセスは、図９及び図１１の波形を使用して実行される。図１２のステップ６６０では、システムは、データ状態Ｓ１の検証を実行する。例えば、システムは、データ状態Ｓ１にプログラムされているメモリセルがＶｖ１を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ１を、データ状態Ｓ１にプログラムされているメモリセルの制御ゲートに印加する）。
【００９４】
ステップ６６２では、システムは、データ状態Ｓ２の検証を実行する。例えば、システムは、データ状態Ｓ２にプログラムされているメモリセルがＶｖ２を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ２を、データ状態Ｓ２にプログラムされているメモリセルの制御ゲートに印加する）。
【００９５】
ステップ６６４では、システムは、データ状態Ｓ３の検証を実行する。例えば、システムは、データ状態Ｓ３にプログラムされているメモリセルがＶｖ３を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ３を、データ状態Ｓ３にプログラムされているメモリセルの制御ゲートに印加する）。
【００９６】
ステップ６６６では、システムは、データ状態Ｓ４の検証を実行する。例えば、システムは、データ状態Ｓ４にプログラムされているメモリセルがＶｖ４を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ４を、データ状態Ｓ４にプログラムされているメモリセルの制御ゲートに印加する）。
【００９７】
ステップ６６８では、システムは、データ状態Ｓ５の検証を実行する。例えば、システムは、データ状態Ｓ５にプログラムされているメモリセルがＶｖ５を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ５を、データ状態Ｓ５にプログラムされているメモリセルの制御ゲートに印加する）。
【００９８】
ステップ６７０では、システムは、データ状態Ｓ６の検証を実行する。例えば、システムは、データ状態Ｓ６にプログラムされているメモリセルがＶｖ６を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ６を、データ状態Ｓ６にプログラムされているメモリセルの制御ゲートに印加する）。
【００９９】
ステップ６７２では、システムは、データ状態Ｓ７の検証を実行する。例えば、システムは、データ状態Ｓ７にプログラムされているメモリセルがＶｖ７を超える閾値電圧を有するかどうかを試験する（例えば、図１１の検証電圧パルスｖ７を、データ状態Ｓ７にプログラムされているメモリセルの制御ゲートに印加する）。一実施形態では、ステップ６６０〜６７２は、複数回のプログラミング間（例えば、プログラミング電圧パルス間）で実行されることに留意されたい。いくつかの実施形態では、ステップ６６０〜６７２のうちの１つ以上は、特定のプログラミング電圧パルス間でスキップされ得る。一実施形態では、ステップ６６０〜６７２は、連続して（任意の順序で又は図示の順序で）実行されるが、他の実施形態では、ステップ６６０〜６７２は、並行して（例えば、同時に）実行される。
【０１００】
プログラミングを検証する１つの手段は、特定の比較点における伝導性を試験する（例えば、基準電圧を検証する）ことである。十分にプログラムされていることが確認されたメモリセルを、例えば、０からＶｄｄへとビット線電圧を上昇させて、これらのメモリセルのプログラミングプロセスを停止させることによってロックアウトする。例えば、図１３Ａは、閾値電圧（Ｖｔｈ）対時間及びビット線電圧（Ｖｂｌ）対時間のグラフを示す。メモリセルが、その制御ゲートで図９のプログラム電圧Ｖｐｇｍを受けている間、メモリセルの閾値電圧は増加する。メモリセルの閾値電圧が、検証基準電圧Ｖｖｅｒ（例えば、必要に応じて図５及び図６のＶｖ、Ｖｖ１、Ｖｖ２、Ｖｖ３、Ｖｖ４、Ｖｖ５、Ｖｖ６、及びＶｖ７のいずれか）に達すると、ビット線電圧はＶｉｎｈｉｂｉｔ（例えばＶｄｄ）へと上昇する。
【０１０１】
図１３Ａに示すようにプログラミング及び検証時には、プログラミング速度とプログラミングの精度との間にトレードオフが存在する。プログラミングの精度は、プログラミングプロセス後のプログラムされたメモリセルの閾値電圧の分布に関連する。閾値電圧分布が密になるほど、メモリセルの明確な読み出しがより容易になる。読み出しプロセスは、異なる閾値電圧分布（例えば、データ状態Ｓ１〜Ｓ７について）を明確に区別する必要があるため、複数ビットのデータを記憶するマルチレベルメモリセルでは、密な閾値電圧分布の必要性が更に重要である。密な閾値電圧分布を得るために、プログラム電圧Ｖｐｇｍにより小さいステップサイズを使用することができる。しかしながら、より小さいステップサイズを使用すると、プログラミングプロセスが減速する。
【０１０２】
図１３Ｂにプログラミングプロセスの改善を示す。このプロセスは、粗／微細プログラミングプロセスと称し得る。図１３Ｂのプロセスは、プログラムされるメモリセルの制御ゲートに、図９のプログラム電圧信号Ｖｐｇｍを印加する。プログラミング電圧パルス間で、検証動作を実行する。プログラムされているメモリセルの閾値電圧が中間検証基準電圧ＶｖｅｒＩ未満である場合、そのメモリセルに対するプログラミングは、ビット線電圧が低いまま（例えば、０ボルト）で継続する。これは、メモリセルがより高速でプログラムされるため、粗／微細プログラミングプロセスの粗フェーズである。プログラムされているメモリセルの閾値電圧が、中間検証基準電圧ＶｖｅｒＩよりも高く、かつ最終検証基準電圧ＶｖｅｒＦよりも低い場合、中間ビット線電圧（例えば、０．５〜１．０ボルト）が印加される。中間ビット線電圧の結果として、各プログラミング電圧パルスによる閾値電圧のシフトが低減されるため、メモリセルのチャネル電圧が増加し、当該メモリセルのプログラミングは減速する。これは粗／微細プログラミングプロセスの微細フェーズである。ビット線は、メモリセルの閾値電圧が最終検証基準電圧ＶｖｅｒＦに到達するまで、多数のプログラミング電圧パルスの中間ビット線電圧に留まる。メモリセルの閾値電圧が最終検証基準電圧ＶｖｅｒＦに到達すると、ビット線は、（例えば、ビット線電圧をＶｉｎｈｉｂｉｔ（例えば、１〜５ボルトであり得るＶｄｄ）に上昇させることによって）ビット線を上昇させて、更なるプログラミングを阻止する。最終検証基準電圧ＶｖｅｒＦは、メモリセルがプログラムされているデータ状態の検証基準電圧に対応することに留意されたい。例えば、ステップ６６０（図１２を参照）中、最終検証基準電圧ＶｖｅｒＦはＶｖ１に対応し、ステップ６６２中、最終検証基準電圧ＶｖｅｒＦはＶｖ２に対応し、ステップ６６４中、最終検証基準電圧ＶｖｅｒＦはＶｖ３に対応し、ステップ６６６中、最終検証基準電圧ＶｖｅｒＦはＶｖ４に対応し、ステップ６６８中、最終検証基準電圧ＶｖｅｒＦはＶｖ５に対応し、ステップ６７０中、最終検証基準電圧ＶｖｅｒＦはＶｖ６に対応し、ステップ６７２中、最終検証基準電圧ＶｖｅｒＦはＶｖ７に対応する。一実施形態では、あるデータ状態の中間検証基準電圧ＶｖｅｒＩは、当該データ状態の最終検証基準電圧ＶｖｅｒＦよりも２５ボルト低い。あるデータ状態（data sate）に他の大きさのＶｖｅｒＩとＶｖｅｒＦとの隔たりを使用することもできる。
【０１０３】
図１３Ｂの手法を使用すると、閾値電圧のプログラムパルスごとのシフトは、閾値電圧がターゲット値に近づくと（例えば、閾値電圧がＶｖｅｒＩを超え、かつＶｖｅｒＦよりも低いとき）閾値電圧のプログラムパルスごとのシフトが低減されるため、図１３Ａのプロセスよりも狭い。しかしながら、図１３Ｂの手法では、検証されている各データ状態が２つの検証動作を必要とするため、プログラミングプロセスは減速する。実行される検証動作の数を低減させる（したがってプログラミングプロセスを加速させる）ために、一部のプログラミング電圧パルスに対するＶｖｅｒＦでの検証をスキップすること、及び一部のプログラミング電圧パルスに対するＶｖｅｒＩでの検証をスキップすることが提案される。以下で詳述する。
【０１０４】
図１４は、不揮発性メモリをプログラムし、そのプログラミングを検証するプロセスの一実施形態を説明するフロー図であり、一部のプログラミング電圧パルス（又は他のプログラミング量）に対するＶｖｅｒＦ（又は別の検証条件）での検証をスキップすることと、一部のプログラミング電圧パルス（又は他のプログラミング量）に対するＶｖｅｒＩ（又は別の検証条件）での検証をスキップすることと、を含む。図１４のプロセスは、複数の不揮発性メモリセルに接続された制御回路（上記）によって実行される。例えば、図１４のプロセスは、（メモリ構造３２６に接続されている）ステートマシン３１２の方向で実行することができる。
【０１０５】
図１４のステップ７０２において、制御回路は、複数の不揮発性メモリセルを第１のデータ状態にプログラムするプログラミングプロセスを実行する。例えば、図８のプロセスを使用して、メモリセルを、図５のプログラムされたデータ状態Ｐ又は図６のデータ状態Ｓ１〜Ｓ７のうちの１つ以上（第１のデータ状態はＳ１〜Ｓ６のいずれかを指し得る）にプログラムすることができる。いくつかの実施形態では、ステップ７０２は、図９のプログラミング電圧パルスを印加することを含む。ステップ７０４において、制御回路は、第１の基準が満たされるまで、プログラミングプロセス中に第１のデータ状態の第２の検証条件についてのプログラム検証を実行することなく、第１のデータ状態の第１の検証条件についてのプログラム検証を実行する。いくつかの実施形態では、ステップ７０４は、図８のステップ５７４を１回又は複数回実行することを含む。第１の検証条件の一例は、メモリセルが、第１のデータ状態の中間検証基準電圧ＶｖｅｒＩ以上の閾値電圧を有するようにプログラムされていることである。第２の検証条件の一例は、メモリセルが、第１のデータ状態の最終検証基準電圧ＶｖｅｒＦ以上の閾値電圧を有するようにプログラムされていることである。したがって、ステップ７０４の一例は、第１のデータ状態にプログラムされているメモリセルが、第１のデータ状態の最終検証基準電圧ＶｖｅｒＦ以上の閾値電圧を有するかどうかを試験することなく、第１のデータ状態にプログラムされているメモリセルが、第１のデータ状態の中間検証基準電圧ＶｖｅｒＩ以上の閾値電圧を有するかどうかを試験することを含む。ステップ７０６において、制御回路は、第１の基準が満たされた後に、かつ第２の基準が満たされるまで、プログラミングプロセス中に第１の検証条件及び第２の条件についてのプログラム検証を実行する。いくつかの実施形態では、ステップ７０６は、図８のステップ５７４を１回又は複数回実行することを含む。ステップ７０８において、制御回路は、第２の基準が満たされた後に、プログラミングプロセス中に第１の検証条件についてのプログラム検証を実行することなく、第２の検証条件についてのプログラム検証を実行する。いくつかの実施形態では、ステップ７０８は、図８のステップ５７４を１回又は複数回実行することを含む。
【０１０６】
いくつかの例示的な実施形態では、システムは、第１のデータ状態の最終検証基準電圧ＶｖｅｒＦについての検証をスキップするため、ステップ７０４をＶｖｅｒＦスキップモードと称する。いくつかの例示的な実施形態では、システムは、第１のデータ状態の検証ＶｖｅｒＩ及びＶｖｅｒＦを実行するため、ステップ７０６は、ＶｖｅｒＩ及びＶｖｅｒＦモードと称する。いくつかの例示的な実施形態では、システムは、第１のデータ状態の中間検証基準電圧ＶｖｅｒＩについての検証をスキップするため、ステップ７０８をＶｖｅｒＩスキップモードと称する。図８のプロセスを実行するとき、ステップ５７２〜５８６を含むループの各繰り返しは、ＶｖｅｒＦスキップモード、ＶｖｅｒＩ及びＶｖｅｒＦモード、又はＶｖｅｒＩスキップモードのうちの１つである。すなわち、ステップ５７４が実行されるたびに、ステップ７０４、７０６又は７０８のうちの１つが実行される。１２のプログラミング電圧パルスが使用されてメモリセルを正常にプログラムする例を考察すると、ステップ５７２〜５８６を含むループが１２回実行される。恐らく（一例として）、ステップ５７２〜５８６を含むループが実行される最初の８回はＶｖｅｒＦスキップモードであり、したがって、これらの１２回のループ中にステップ５７４が実行されるたびに、ステップ５７４は、図１４のステップ７０４として実施される。例示を目的として、９回目及び１０回目のループがＶｖｅｒＩ及びＶｖｅｒＦモードである場合、これらの２回のループ中にステップ５７４が実行されるたびに、ステップ５７４は、図１４のステップ７０６として実施される。例示を目的として、１１回目及び１２回目のループがＶｖｅｒＩスキップモードである場合、最後の２回のループ中にステップ５７４が実行されるたびに、ステップ５７４は、図１４のステップ７０８として実施される。
【０１０７】
図１５〜図１７に記載の一実施形態では、第１の基準は、不揮発性メモリセルの閾値数が第１の検証条件に到達すると満たされ、第２の基準は、不揮発性メモリセルの閾値数が第２の検証条件に到達すると満たされる。図１５は、ＶｖｅｒＦスキップモード（システムがＶｖｅｒＩについて試験しているが、ＶｖｅｒＦについては試験しない場合）での、第１のデータ状態にプログラムされているメモリセルの閾値電圧分布を示す。閾値電圧分布の一部７４０は、第１のデータ状態についてＶｖｅｒＩ未満の閾値電圧を有するメモリセルを表す。閾値電圧分布の一部７４２は、第１のデータ状態についてＶｖｅｒＩよりも大きいが、第１のデータ状態についてＶｖｅｒＦ未満である閾値電圧を有するメモリセルを表す。第１のデータ状態についてＶｖｅｒＦよりも大きい閾値電圧を有するメモリセルは、存在しない。検証動作（第１のデータ状態について、閾値電圧がＶｖｅｒＩ以上であるかどうかを試験する）を実行するとき、第１のデータ状態についてＶｖｅｒＩ未満の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｓｓ（例えば、０ボルト）に留め、第１のデータ状態についてＶｖｅｒＩ以上の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｉｎｔ（例えば、０．５ボルト）に上昇させる。第１のデータ状態についてＶｖｅｒＩ以上の閾値電圧を有するメモリセルの数が第１の所定の数よりも大きい場合、第１のデータ状態にプログラムされているメモリセルのセットはＶｖｅｒＩ及びＶｖｅｒＦモードに移行する。一例では、第１の所定の数は、プログラムされている全てのメモリセルの０．０２％、第１のデータ状態にプログラムされているメモリセルの０．２％、又はメモリセルの別の量である。
【０１０８】
図１６は、ＶｖｅｒＩ及びＶｖｅｒＦモード（システムがＶｖｅｒＩ及びＶｖｅｒＦモードについて試験する場合）での、第１のデータ状態にプログラムされているメモリセルの閾値電圧分布を示す。閾値電圧分布の一部７６２は、第１のデータ状態についてＶｖｅｒＩ未満の閾値電圧を有するメモリセルを表す。閾値電圧分布の一部７６４は、第１のデータ状態についてＶｖｅｒＩよりも大きいが、第１のデータ状態についてＶｖｅｒＦ未満である閾値電圧を有するメモリセルを表す。閾値電圧分布の一部７６６は、第１のデータ状態についてＶｖｅｒＦよりも大きい閾値電圧を有するメモリセルを表す。検証動作を実行するとき、第１のデータ状態についてＶｖｅｒＩ未満の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｓｓ（例えば、０ボルト）に留め、第１のデータ状態についてＶｖｅｒＩ以上の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｉｎｔ（例えば、０．５〜１．０ボルト）に上昇させ、第１のデータ状態についてＶｖｅｒＦ以上の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｉｎｈｉｂｉｔ（例えば、１．０〜５．０ボルト）に上昇させる。第１のデータ状態についてＶｖｅｒＦ以上の閾値電圧を有するメモリセルの数が第２の所定の数よりも大きい場合、第１のデータ状態にプログラムされているメモリセルのセットはＶｖｅｒＩスキップモードに移行する。一例では、第２の所定の数は、プログラムされている全てのメモリセルの０．０２％、第１のデータ状態にプログラムされているメモリセルの０．２％、又はメモリセルの別の量である。
【０１０９】
いくつかの実施形態では、ＶｖｅｒＩ以上の閾値電圧についての試験は、ＶｖｅｒＩにおいて第１の電圧パルスを印加することを含み、ＶｖｅｒＦ以上の閾値電圧についての試験は、ＶｖｅｒＦにおいて第２の電圧パルスを印加することを含む。他の実施形態では、システムは、１つの電圧パルスであるが、２つの異なる感知時間を使用してＶｖｅｒＩ及びＶｖｅｒＦについて試験することができる。例えば、システムは電圧パルスを印加し、ＶｖｅｒＩについては７マイクロ秒後にメモリセルがオンになったかどうかを感知し、ＶｖｅｒＦについては１．４マイクロ秒後にメモリセルがオンになったかどうかを感知することができる。
【０１１０】
図１７は、ＶｖｅｒＩスキップモード（システムがＶｖｅｒＦＩについて試験しているが、ＶｖｅｒＩについては試験しない場合）での、第１のデータ状態にプログラムされているメモリセルの閾値電圧分布を示す。閾値電圧分布の一部７７４は、第１のデータ状態についてＶｖｅｒＩよりも大きいが、第１のデータ状態についてＶｖｅｒＦ未満である閾値電圧を有するメモリセルを表す。閾値電圧分布の一部７７６は、第１のデータ状態についてＶｖｅｒＦよりも大きい閾値電圧を有するメモリセルを表す。いくつかの実施形態では、ＶｖｅｒＩスキップモードであり、ＶｖｅｒＩ未満の閾値電圧を有するいくつかのメモリセルを有することが可能である。検証動作を実行するとき、第１のデータ状態についてＶｖｅｒＩ以上であり、かつ第１のデータ状態についてＶｖｅｒＦ未満である閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｉｎｔに上昇させ、第１のデータ状態についてＶｖｅｒＦ以上の閾値電圧を有する、第１のデータ状態にプログラムされているメモリセルは、次のプログラミング電圧パルスについてビット線をＶｉｎｈｉｂｉｔに上昇させる。
【０１１１】
図１８は、不揮発性メモリのプログラミングを検証する際に実行されるプロセスの一実施形態を説明するフロー図を示す。図１８のプロセスは、複数の不揮発性メモリセルに接続された制御回路（上記）によって実行される。例えば、図１８のプロセスは、（メモリ構造３２６に接続されている）ステートマシン３１２の方向で実行することができる。一実施形態では、ステップ５７４の各繰り返し中に、図１８のプロセスが、メモリセルがプログラムされているデータ状態ごとに１回（又はデータ状態のサブセットごとに１回）実行されるように、図８のステップ５７４中に図１８のプロセスが実行される。例えば、図１８のプロセスは、図１２の各ステップ６６０〜６７２中に実行することができる。したがって、図１８のプロセスは、複数回のプログラミング（例えば、複数回のプログラミングの一例は、図９のプログラミング電圧パルスである）間でプログラム検証を実行することを含み、複数回のプログラミングは、図８のステップ５７２の各繰り返し中に適用される。
【０１１２】
上述のように、一実施形態では、システムは、ＶｖｅｒＦスキップモード、ＶｖｅｒＩ及びＶｖｅｒＦモード、並びにＶｖｅｒＩスキップモードの少なくとも３つの検証モードで動作することができる。図１８のステップ８０２は、検証されている特定のデータ状態について、システムは、現在時点でその３つの検証モードのいずれかであるかを判定することを含む。システムが、検証されている特定のデータ状態について、現時点でＶｖｅｒＦスキップモードである場合、プロセスはステップ８０４において続行し、このステップは、第１のデータ状態の第１の検証条件（例えば、ＶｖｅｒＩ）について、複数の不揮発性メモリセルを検証することを含むが、第１のデータ状態の第２の検証条件（例えば、ＶｖｅｒＦ）については、複数の不揮発性メモリセルを検証することをスキップすることを含む。ステップ８０６において、ＶｖｅｒＩ以下の閾値電圧（Ｖｔ）を有するメモリセルは、次回のプログラミングについてビット線電圧をＶｓｅｌ（例えば、０ボルト）に留める。ステップ８０８において、ＶｖｅｒＩよりも大きい閾値電圧を有するメモリセルは、次回のプログラミングについてビット線電圧をＶｉｎｔに上昇させて、これらのメモリセルのプログラミングを減速させる。
【０１１３】
ステップ８１０において、システムは、第１の基準が満たされているかどうかを判定する。一実施形態では、システムは、第１の検証条件を満たしたメモリセルの量が第１の基準を満たすかどうか、例えば、ＶｖｅｒＩよりも大きい閾値電圧を有するメモリセルの数が、第１の所定の数（上記）よりも大きいかどうかを判定する。つまり、例示的な一実施形態では、第１の基準は、複数の不揮発性メモリセルの閾値数が第１の検証条件に到達すると満たされる。第１の基準が満たされない場合、ステップ８１２において、システムは、プログラミングの次回適用中に検証される特定のデータ状態のＶｖｅｒＦスキップモードに留まる。第１の基準が満たされた場合、ステップ８１４において、システムは、プログラミングの次回適用中に検証される特定のデータ状態のモードをＶｖｅｒＩ及びＶｖｅｒＦモードに切り替える。
【０１１４】
（ステップ８０２において）システムが、検証されている特定のデータ状態について、現時点でＶｖｅｒＩ及びＶｖｅｒＦモードである場合、プロセスはステップ８２０において続行し、このステップは、（例えば、第１の検証条件を満たしたメモリセルの量が第１の基準を満たしたと判定することに応答して）データ状態の第１の検証条件（例えば、ＶｖｅｒＩ）について、複数の不揮発性メモリセルを検証することと、検証されている特定のデータ状態の第２の検証条件（例えば、ＶｖｅｒＦ）について、複数の不揮発性メモリセルを検証することと、を含む。ステップ８２２では、ＶｖｅｒＩ以下の閾値電圧を有するメモリセルは、次回のプログラミングについてビット線電圧をＶｓｅｌに留める。ステップ８２４では、第１の検証条件（例えば、ＶｖｅｒＩ）よりも大きい閾値電圧を有するメモリセルが、次回のプログラミングについてビット線電圧をＶｉｎｔに上昇させて、これらのメモリセルのプログラミングを減速させる。ステップ８２６では、第２の検証条件（例えば、ＶｖｅｒＦ）よりも大きい閾値電圧を有するメモリセルが、ビット線電圧をＶｉｎｈｉｂｉｔに上昇させて、これらのメモリセルのプログラミングを停止させる。ステップ８２８では、システムは、第２の基準が満たされているかどうかを判定する。第２の基準が満たされていない場合、ステップ８３０において、システムは、次回のプログラミング中に検証される特定のデータ状態のモードをＶｖｅｒＩ及びＶｖｅｒＦモードに留める。第２の基準が満たされた場合、ステップ８３２において、システムは、次回のプログラミング中に検証される特定のデータ状態のモードをＶｖｅｒＩスキップモードに切り替える。
【０１１５】
（ステップ８０２において）システムが、検証されている特定のデータ状態について、現時点でＶｖｅｒＩスキップモードである場合、プロセスはステップ８５０において続行し、このステップは、（例えば、第２の基準が満たされたと判定することに応答して）検証されている特定のデータ状態の第２の検証条件（例えば、ＶｖｅｒＦ）について、複数の不揮発性メモリセルを検証するが、検証されている特定のデータ状態の第１の検証条件（例えば、ＶｖｅｒＩ）については複数の不揮発性メモリセルの検証をスキップすることを含む。ステップ８５２において、第２の検証条件（例えば、ＶｖｅｒＦ）以下の閾値電圧を有するメモリセルが、次回のプログラミングについてビット線電圧をＶｉｎｔに設定して、これらのメモリセルのプログラミングを減速させる。ステップ８５４において、第２の検証条件（例えば、ＶｖｅｒＦ）よりも大きい閾値電圧を有するメモリセルが、ビット線電圧をＶｉｎｈｉｂｉｔに上昇させて、これらのメモリセルのプログラミングを停止させる。
【０１１６】
第２の基準が満たされているかどうかを判定する（ステップ８２８）ために使用することができる多くの異なる試験が存在する。いくつかの実施形態では、第２の基準は、第１の検証条件（例えば、ＶｖｅｒＩ）に到達した複数のメモリセルの量以外である。一実施形態は、第２の基準は、複数の不揮発性メモリセルの閾値数が第２の検証条件（例えば、ＶｖｅｒＦ）に到達すると満たされる。上述したように、例示的な一実施形態では、第２の基準は、この特定の状態にプログラムされている全てのメモリセルの０．０２％が第２の検証条件（例えば、ＶｖｅｒＦ）に到達すると満たされる。別の実施形態では、第２の基準は、第１の基準が満たされた後に、所定の回数のプログラミングが複数の不揮発性メモリに適用された後に満たされる。例えば、メモリダイのデバイスパラメータは、ＶｖｅｒＩモード及びＶｖｅｒＦモードで印加されるプログラミング電圧パルスの数を示すように設定することができ、それにより、その示されたプログラミング電圧パルスの数がＶｖｅｒＩ及びＶｖｅｒＦモード中に適用された後で、システムはＶｖｅｒＩスキップモードに自動的に切り替わる。ＶｖｅｒＩ及びＶｖｅｒＦモードで印加するプログラミング電圧パルスの数を示すために使用され得るデバイスパラメータの一例は、スキップパラメータＳＰ（図２を参照）である。スキップパラメータＳＰは、製造時又は現場のユーザによって設定され得る。
【０１１７】
別の実施形態では、第２の基準は、検証されている特定のデータ状態とは異なるデータ状態にプログラムされているメモリセルの性能に基づいて満たされる。この実施形態では、メモリセルは、メモリセルごとに複数ビットのデータを記憶する。制御回路は、選択された不揮発性メモリセルのセットを複数のデータ状態にプログラムするように構成されている。検証されている特定のデータ状態にプログラムされている複数の不揮発性メモリセルは、プログラムされている、選択された不揮発性メモリセルのセットの第１のサブセットである。制御回路は、選択された不揮発性メモリセルのセットの第２のサブセットを第２のデータ状態にプログラムするように構成されている。この実施形態では、第２の基準は、選択された不揮発性メモリセルのセットの第２のサブセットの最小数が第２のデータ状態のターゲットレベルに到達すると満たされる。この条件の一例を、２つの閾値電圧分布（９１２及び９１４）を示す図１９に示す。閾値電圧分布９１２は、第１のデータ状態（状態Ｎ）にプログラムされているメモリセルに関するものであり、図１８のプロセスで検証されている特定のデータ状態を表すことができる。閾値電圧分布９１４は、第２のデータ状態（状態Ｎ＋１）にプログラムされているメモリセルに関するものである。一実施形態では、第２のデータ状態は第１のデータ状態に隣接し、より高い閾値電圧を有する（例えば、第１のデータ状態は状態Ｓ４であり、第２のデータ状態はＳ５である（図６を参照））。図１９は、各データ状態が、独自の第１の検証条件（例えば、ＶｖｅｒＩ）及び独自の第２の検証条件（例えば、ＶｖｅｒＦ）をどのように有するかを示す。例えば、データ状態Ｎ（閾値電圧分布９１２のターゲット）はＶｖｅｒＩ状態Ｎ及びＶｖｅｒＦ状態Ｎを有し、データ状態Ｎ＋１（閾値電圧分布９１４のターゲット）はＶｖｅｒＩ状態Ｎ＋１及びＶｖｅｒＦ状態Ｎ＋１を有する。この実施形態では、閾値電圧分布９１４のメモリセルの最小数がＶｖｅｒＩ状態Ｎ＋１に到達すると、閾値電圧分布９１２のメモリセルについて第２の基準が満たされる。ＶｖｅｒＩ状態Ｎ＋１に到達した閾値電圧分布９１４のメモリセルのこの最小数は、閾値電圧分布９１４の領域９２０によって図１９に示されており、（一例では）プログラムされている全てのメモリセルの．０２％（又は別の量）であり得る。
【０１１８】
上記の説明は、プログラミングの検証に必要な時間を短縮するためのシステムを紹介する。したがって、プログラミングプロセスは、より迅速に完了する。
【０１１９】
一実施形態は不揮発性記憶装置を含み、この不揮発性記憶装置は、複数の不揮発性メモリセルと、不揮発性メモリセルに接続された制御回路と、を備える。制御回路は、不揮発性メモリセルを第１のデータ状態にプログラムするプログラミングプロセスを実行し、第１の基準が満たされるまで、プログラミングプロセス中に第１のデータ状態の第２の検証条件についてのプログラム検証を実行せずに、第１のデータ状態の第１の検証条件についてのプログラム検証を実行し、第１の基準が満たされた後に、かつ第２の基準が満たされるまで、プログラミングプロセス中に第１の検証条件及び第２の検証条件についてのプログラム検証を実行し、第２の基準が満たされた後に、プログラミングプロセス中に第１の検証条件についてのプログラム検証を実行せずに、第２の検証条件についてプログラム検証を実行するように構成されている。
【０１２０】
一実施形態は、不揮発性記憶装置をプログラムする方法を含み、この方法は第１のデータ状態にプログラムされている複数の不揮発性メモリセルに複数回のプログラミングを適用することと、複数回のプログラミング間でプログラム検証を実行することと、を含む。プログラム検証を実行することは、第１のデータ状態の第１の検証条件について複数の不揮発性メモリセルを検証するが、第１のデータ状態の第２の検証条件については複数の不揮発性メモリセルを検証することをスキップすることと、第１の検証条件を満たしたメモリセルの量が第１の基準を満たすと判定することに応答して、第１の検証条件を満たしたメモリセルの量が第１の基準を満たすと判定することと、データ状態の第１の検証条件について複数の不揮発性メモリセルを検証し、データ状態の第２の検証条件について複数の不揮発性メモリセルを検証することと、第２の基準が満たされていると判定することと、第２の基準が満たされているメモリセルの量を判定することに応答して、データ状態の第２の検証条件について複数の不揮発性メモリセルを検証するが、データ状態の第１の検証条件については複数の不揮発性メモリセルの検証をスキップすることと、を含む。
【０１２１】
例示的な一実施形態では、複数回のプログラミングは、パルス間で大きさが増加する一連のプログラミング電圧パルスを含み、第１の検証条件は、第１のデータ状態の中間検証基準電圧であり、第２の検証条件は、第１のデータ状態の最終検証基準電圧である。
【０１２２】
一実施形態は、不揮発性メモリセルの３次元アレイを備える不揮発性記憶装置と、一連のプログラミング電圧パルスをメモリセルに印加することによって、メモリセルをプログラムするための手段と、所定の数を超えるメモリセルがデータ状態の中間検証基準電圧に到達するまで不揮発性メモリセルがデータ状態の最終検証基準電圧に到達したかどうかを試験することなく、不揮発性メモリセルがデータ状態の中間検証基準電圧に到達したかどうかを試験すること、所定の数のメモリセルが中間検証基準電圧に到達した後で、かつ試験基準が中間検証基準電圧に到達したメモリセルの量以外であるように試験基準が満たされるまで、不揮発性メモリセルが中間検証基準電圧に到達したかどうかを試験し、不揮発性メモリセルが最終検証基準電圧に到達したかどうかを試験すること、及び試験基準が満たされた後に、不揮発性メモリセルがデータ状態の中間検証基準電圧に到達したかどうかを試験することなく、不揮発性メモリセルが最終検証基準電圧に到達したかどうかを試験すること、によってプログラミング電圧パルス間でプログラミングを検証するための手段と、を含む。
【０１２３】
本明細書の目的のために、プログラムするための手段は、図５、図６、図８、図１３Ａ、図１３Ｂ、及び／又は図１４（ステップ７０２）のプロセスを実施するデコーダ、センス増幅器、電圧及び電流源、並びに他の制御論理と組み合わせて、マイクロプロセッサ、マイクロコントローラ、ステートマシン、ＦＰＧＡ、又は他の種類のプロセッサによって実施され得る。例えば、プログラムするための手段は、図５、図６、図８、図１３Ａ、図１３Ｂ、及び／又は図１４（ステップ７０２）のプロセスを実行する図２の制御回路３１０、デコーダ３２４／３３２、及び読み出し／書き込み回路３２８を備えてよい。いくつかの実施形態では、プログラムするための手段は、メモリダイ（例えば、図２のメモリダイ３００）上の回路からの支援の有無にかかわらず、図５、図６、図８、図１３Ａ、図１３Ｂ、及び／又は図１４（ステップ７０２）のプロセスを実行するコントローラ１２０を備えてよい。いくつかの実施形態では、プログラムするための手段は、図５、図６、図８、図１３Ａ、図１３Ｂ、及び／又は図１４（ステップ７０２）のプロセスを実行するコントローラ１２０、制御回路３１０、デコーダ３２４／３３２、及び読み出し／書き込み回路３２８を備えてよい。
【０１２４】
本明細書の目的のために、検証するための手段は、図５、図６、図８、図１３Ａ、図１３Ｂ、及び／又は図１４（ステップ７０２）のプロセスを実行するデコーダ、センス増幅器、電圧及び電流源、並びに他の制御論理と組み合わせて、マイクロプロセッサ、マイクロコントローラ、ステートマシン、ＦＰＧＡ、又は他の種類のプロセッサによって実施され得る。例えば、検証するための手段は、図８（ステップ５７４）、図１２、図１３Ａ、図１３Ｂ、図１４、図１８、及び／又は図１９のプロセスを実行する図２の制御回路３１０、デコーダ３２４／３３２、及び読み出し／書き込み回路３２８を備えてよい。いくつかの実施形態では、検証のための手段は、メモリダイ（例えば、図２のメモリダイ３００）上の回路からの支援の有無にかかわらず、図８（ステップ５７４）、図１２、図１３Ａ、図１３Ｂ、図１４、図１８、及び／又は図１９のプロセスを実行するコントローラ１２０を備えてよい。いくつかの実施形態では、検証のための手段は、図８（ステップ５７４）、図１２、図１３Ａ、図１３Ｂ、図１４、図１８、及び／又は図１９のプロセスを実行するコントローラ１２０、制御回路３１０、デコーダ３２４／３３２、及び読み出し／書き込み回路３２８を備えてよい。
【０１２５】
本明細書の目的のために、明細書中の「実施形態」、「一実施形態」、「いくつかの実施形態」又は「別の実施形態」に対する言及は、異なる実施形態又は同一の実施形態について記述するために使用されることがある。
【０１２６】
本明細書の目的のために、接続とは、直接的な接続又は間接的な接続（例えば、１つ又は複数の他の部分を介して）であり得る。場合によっては、ある要素が別の要素に接続されるか又は結合されると言及される場合、この要素は、他の要素に直接的に接続されてもよく、又は、介在要素を介して他の要素に間接的に接続されてもよい。ある要素が別の要素に直接的に接続されていると言及される場合、この要素と他の要素との間には介在要素は存在しない。２つのデバイスは、それらが互いの間で電子信号を交換することができるように直接的に又は間接的に接続されている場合、「通信状態」にある。
【０１２７】
本明細書の目的のために、「基づいて」という用語は、「少なくとも部分的に基づいて」と読むことができる。
【０１２８】
本明細書の目的のために、追加の文脈がない、「第１の」物体、「第２の」物体、及び「第３の」物体等の数値的な用語の使用は、物体の順序を示唆するものではなく、代わりに、異なる物体を識別するための識別目的で使用されることがある。
【０１２９】
本明細書の目的のために、物体の「組」という用語は、複数の物体のうちの１つ又は複数の物体の「組」を指すことがある。
【０１３０】
前述の詳細な説明は、例示及び説明の目的のために提示されている。前述の詳細な説明は、網羅的であること、又は開示された正確な形態に限定することを意図したものではない。上記の教示に鑑みて多くの修正及び変形が可能である。説明した実施形態は、提案した技術の原理及びその実際の用途を最もよく説明するために選択されたものであり、それによって、当業者が様々な実施形態で、企図される特定の使用法に適するように様々な修正を伴って、この技術を最も良いように利用することを可能にする。本範囲は、本明細書に添付の特許請求の範囲によって定義されることが意図される。
【要約】      （修正有）【課題】プログラム検証を高速化する不揮発性メモリセルを提供する。【解決手段】方法は、プログラム検証を中間検証及び最終検証で構成し、プログラミング電圧パルス間での２段階検証を含む粗／微細プログラミングプロセスを使用する。中間検証条件に到達した、プログラムされているメモリセルは、更にプログラムされるために減速させられる。最終検証条件に到達した、プログラムされているメモリセルは、更にプログラムされないようになる。実行される検証動作の数を低減するために、一部のプログラミング電圧パルスに対して中間検証条件での検証をスキップし、一部のプログラミング電圧パルスに対して最終検証条件での検証をスキップさせる。【選択図】図１４【図１】
0006905127.tif 000002
【図２】
0006905127.tif 000003
【図３】
0006905127.tif 000004
【図４Ａ】
0006905127.tif 000005
【図４Ｂ】
0006905127.tif 000006
【図４Ｃ】
0006905127.tif 000007
【図４Ｄ】
0006905127.tif 000008
【図４Ｅ】
0006905127.tif 000009
【図４Ｆ】
0006905127.tif 000010
【図５】
0006905127.tif 000011
【図６】
0006905127.tif 000012
【図７】
0006905127.tif 000013
【図８】
0006905127.tif 000014
【図９】
0006905127.tif 000015
【図１０】
0006905127.tif 000016
【図１１】
0006905127.tif 000017
【図１２】
0006905127.tif 000018
【図１３Ａ】
0006905127.tif 000019
【図１３Ｂ】
0006905127.tif 000020
【図１４】
0006905127.tif 000021
【図１５】
0006905127.tif 000022
【図１６】
0006905127.tif 000023
【図１７】
0006905127.tif 000024
【図１８】
0006905127.tif 000025
【図１９】
0006905127.tif 000026