(57)【要約】  同時マルチ閾値（ＳＭＴ）センスから生じ得るセンスバラツキを緩和するための方法および装置が提供される。ＳＭＴセンス中に、２以上の異なるバイアス条件を使用して、２つの異なる閾値電圧を同時にセンスしてもよい。しかしながら、検証に使用したものとは異なるバイアス条件を使用して読み出しする際に、メモリセルの閾値電圧シフトに差異が生じ得る。一実施形態では、各プログラム状態は、ＳＭＴ検証中に使用した両方（またはすべて）のバイアス条件を使用して読み出される。言い換えると、２つ（またはそれよりも多く）の異なるセンス動作を使用して、各メモリセルを読み出す。これらの異なるセンス動作からのデータを使用して、ＥＣＣデコーダに対する初期値（例えば、ＬＬＲ、ＬＲ、確率）を計算してもよい。一実施形態では、この技術は、通常の読み出しが失敗した場合にのみ実行される。
2015506528.tif 000002
【特許請求の範囲】
【請求項１】
第１のグループおよび第２のグループを含む複数の不揮発性記憶素子を有する不揮発性記憶装置を動作させる方法であって、
第１のバイアス条件を使用して、前記第１のグループの不揮発性記憶素子を検証する工程（２１０２、２６０２）と、
第２のバイアス条件を使用して、前記第２のグループの不揮発性記憶素子を検証する工程（２１０２、２６０４）と、
前記第１のバイアス条件を使用して、前記第１および第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定する工程（２１０４）と、
前記第２のバイアス条件を使用して、前記第１および第２のグループにおける不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定する工程（２１０６）と、
前記第１および第２のグループにおける不揮発性記憶素子の各々に対する前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧を使用して、ＥＣＣデコーダに対する初期値を決定する工程（２１０８）と、を備える方法。
【請求項２】
前記ＥＣＣデコーダに対する初期値を決定する工程は、
前記複数の不揮発性記憶素子のうちの第１の不揮発性記憶素子に対する前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧を使用して、メトリックテーブルをインデックス付けすること（２２１０）と、
前記複数の不揮発性記憶素子のうちの他の不揮発性記憶素子に対して前記インデックス付けを繰り返すことと、を含む請求項１に記載の方法。
【請求項３】
前記第１の見かけの閾値電圧を決定する工程は、前記第１のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで前記第１および第２のグループの不揮発性記憶素子を読み出すことを含み、前記第２の見かけの閾値電圧を決定する工程は、前記第２のバイアス条件を使用して、前記Ｎ−１個の読み出し比較電圧レベルで前記第１および第２のグループの不揮発性記憶素子を読み出すことを含み、前記メトリックテーブルは、複数のエントリを含み、各エントリは、見かけの閾値電圧の１つの可能な組み合わせに対応する、請求項２に記載の方法。
【請求項４】
前記ＥＣＣデコーダに対する初期値を決定する工程は、
ａ）前記複数の不揮発性記憶素子のうちの第１の不揮発性記憶素子の前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧に基づいてメトリックテーブルを選択すること（２５０２）と、
ｂ）前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧または前記第２の見かけの閾値電圧のいずれかを使用して、前記選択されたメトリックテーブルをインデックス付けすること（２５０４）と、
前記複数の不揮発性記憶素子のうちの他の不揮発性記憶素子に対して、前記ａ）およびｂ）を繰り返すことと、を含む請求項１に記載の方法。
【請求項５】
前記ＥＣＣデコーダに対する初期値を決定する工程は、
ａ）前記複数の不揮発性記憶素子のうちの第１の不揮発性記憶素子に対する訂正項を、前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧に基づいて決定すること（２３０２）と、
ｂ）前記第１の不揮発性記憶素子に対する前記訂正項に対応するメトリックテーブルにアクセスすることであって、前記アクセスされたメトリックテーブルは複数の記憶されたメトリックテーブルのうちの１つであり、各メトリックテーブルは異なる訂正項に対応する、前記メトリックテーブルにアクセスすること（２３０４）と、
ｃ）前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧を使用して、前記アクセスされたメトリックテーブルをインデックス付けすること（２３０６）と、
前記複数の不揮発性記憶素子のうちの他の不揮発性記憶素子について前記ａ）〜ｃ）を繰り返すことと、を含む請求項１に記載の方法。
【請求項６】
前記第１のバイアス条件を使用して、前記第１のグループの不揮発性記憶素子を検証する工程は、前記第１のグループにおける不揮発性記憶素子が第１集合のプログラム状態のうちの適切なプログラム状態にプログラムされたか否かを判定することを含み、前記第２のバイアス条件を使用して前記第２のグループの不揮発性記憶素子を検証する工程は、前記第２のグループにおける不揮発性記憶素子が第２集合のプログラム状態のうちの適切なプログラム状態にプログラムされたか否かを判定することを含む、請求項１〜５のいずれかに記載の方法。
【請求項７】
前記第１のバイアス条件を使用して前記不揮発性記憶素子を読み出す工程は、第１のセンス時間を使用して、複数の読み出し比較電圧を前記複数の不揮発性記憶素子に関連するワードラインに印加することを含み、前記第２のバイアス条件を使用して前記不揮発性記憶素子を読み出す工程は、前記第１のセンス時間とは異なる第２のセンス時間を使用して、前記複数の読み出し比較電圧を前記ワードラインに印加することを含む、請求項１〜６のいずれかに記載の方法。
【請求項８】
前記第１のバイアス条件を使用して前記不揮発性記憶素子を読み出す工程は、第１の電圧を前記複数の不揮発性記憶素子に関連するビットラインに印加しながら、複数の読み出し比較電圧を前記複数の不揮発性記憶素子に関連するワードラインに印加することを含み、前記第２のバイアス条件を使用して前記不揮発性記憶素子を読み出す工程は、第２の電圧を前記ビットラインに印加しながら、前記複数の読み出し比較電圧を前記ワードラインに印加することを含む、請求項１〜６のいずれかに記載の方法。
【請求項９】
前記複数の不揮発性記憶素子は第３のグループを含み、
方法は、
第３のバイアス条件を使用して、前記第３のグループの不揮発性記憶素子を検証する工程と、
前記第３のバイアス条件を使用して、前記第１、第２、および第３のグループにおける前記不揮発性記憶素子の各々に対する第３の見かけの閾値電圧を決定する工程であって、前記ＥＣＣデコーダに対する初期値を決定する工程が、前記複数の不揮発性記憶素子の各々に対する前記第１の見かけの閾値電圧と、前記第２の見かけの閾値電圧と、前記第３の見かけの閾値電圧とに基づく、工程と、をさらに含む請求項１〜８のいずれかに記載の方法。
【請求項１０】
第１のグループおよび第２のグループを含む複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子に関連するワードラインと、
前記ワードラインおよび前記複数の不揮発性記憶素子と連通する１つ以上の管理回路であって、前記１つ以上の管理回路は、第１のバイアス条件を使用して前記第１のグループの不揮発性記憶素子を検証し、前記１つ以上の管理回路は、第２のバイアス条件を使用して前記第２のグループの不揮発性記憶素子を検証し、前記１つ以上の管理回路は、前記第１のバイアス条件を使用して前記第１のグループおよび前記第２のグループにおける前記不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定し、前記１つ以上の管理回路は、前記第２のバイアス条件を使用して前記第１のグループおよび前記第２のグループにおける前記不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定し、前記１つ以上の管理回路は、前記第１のグループおよび前記第２のグループにおける前記不揮発性記憶素子の各々の前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧を使用してＥＣＣデコーダに対する初期値を決定する、１つ以上の管理回路と、を備える不揮発性記憶装置。
【請求項１１】
前記１つ以上の管理回路は、ＥＣＣデコーダに対する初期値を決定することの一部として、前記不揮発性記憶素子の第１の不揮発性記憶素子に対する前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧を使用して、メトリックテーブルをインデックス付けする、請求項１０に記載の不揮発性記憶装置。
【請求項１２】
前記１つ以上の管理回路は、前記第１の見かけの閾値電圧を決定するために、前記第１のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで前記第１および第２のグループの不揮発性記憶素子を読み出し、前記１つ以上の管理回路は、前記第２の見かけの閾値電圧を決定するために、前記第２のバイアス条件を使用して前記Ｎ−１個の読み出し比較電圧レベルで前記第１および第２のグループの不揮発性記憶素子を読み出し、前記ＬＬＲテーブルは、複数のエントリを含み、各エントリは、見かけの閾値電圧の１つの可能な組み合わせに対応する、請求項１１に記載の不揮発性記憶装置。
【請求項１３】
前記複数の不揮発性記憶素子のうちの第１の不揮発性記憶素子に対して、前記ＥＣＣデコーダに対する初期値を決定するために、前記１つ以上の管理回路は、前記第１の不揮発性記憶素子に対する前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧に基づいてメトリックテーブルを選択し、前記１つ以上の管理回路は、前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧または前記第２の見かけの閾値電圧のいずれかを使用して前記選択されたメトリックテーブルをインデックス付けする、請求項１０に記載の不揮発性記憶装置。
【請求項１４】
前記複数の不揮発性記憶素子のうちの第１の不揮発性記憶素子に対して、前記ＥＣＣデコーダに対する初期値を決定するために、前記１つ以上の管理回路は、前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧および前記第２の見かけの閾値電圧に基づいて前記第１の不揮発性記憶素子に対する訂正項を決定し、前記１つ以上の管理回路は、前記第１の不揮発性記憶素子に対する前記訂正項に対応するメトリックテーブルにアクセスし、前記アクセスされたメトリックテーブルは、複数の記憶されたメトリックテーブルのうちの１つであり、各メトリックテーブルは、異なる訂正項に対応し、前記１つ以上の管理回路は、前記第１の不揮発性記憶素子の前記第１の見かけの閾値電圧を使用して、前記アクセスされたメトリックテーブルをインデックス付けする、請求項１０に記載の不揮発性記憶装置。
【請求項１５】
前記１つ以上の管理回路は、前記第１のバイアス条件を使用して前記不揮発性記憶素子を読み出す際に、前記ワードラインに複数の読み出し比較電圧を印加し、第１のセンス時間を使用し、前記１つ以上の管理回路は、前記第２のバイアス条件を使用して前記不揮発性記憶素子を読み出す際に、前記ワードラインに前記複数の読み出し比較電圧を印加し、第２のセンス時間を使用する、請求項１０に記載の不揮発性記憶装置。
【発明の詳細な説明】
【背景技術】
【０００１】
本開示は、不揮発性記憶に関する。
【０００２】
半導体メモリは、様々な電子装置で使われることがますます一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、デジタルカメラ、パーソナル・デジタル・アシスタント、モバイルコンピュータ、非モバイルコンピュータ、および他の装置に使用されている。最も普及している不揮発性半導体メモリとしては、電気的消去・再書込み可能型読取専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリがあげられる。フラッシュメモリでは、これも一種のＥＥＰＲＯＭであるが、従来のフル機能のＥＥＰＲＯＭとは対照的に、全メモリアレイまたはそのメモリの一部の内容を１ステップで消去することができる。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。このように形成されているトランジスタの閾値電圧（ＶＴＨ）は、フローティングゲートに保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲートの電荷量レベルにより制御される。
【０００４】
一部のＥＥＰＲＯＭおよびフラッシュメモリ装置は、電荷の２つの範囲を記憶するために使用されるフローティングゲートを有し、従って、メモリ素子は、２つの状態の間で、プログラムまたは消去される。２つの状態とは、例えば、消去状態およびプログラム状態である。そのようなフラッシュメモリ装置は、各メモリ素子が１ビットのデータを記憶できるので、バイナリフラッシュメモリ装置と呼ばれることがある。
【０００５】
マルチステート（マルチレベルとも呼ばれる）フラッシュメモリ装置は、複数の異なる許容された／有効なプログラム閾値電圧範囲を特定することによって実装される。異なる閾値電圧範囲の各々は、メモリ装置において符号化されているデータビットの集合に関する所定の値に相当する。例えば、各メモリ素子は、その素子が４つの異なる閾値電圧範囲に対応する４つの異なる電荷帯域のうちの１つに入ることができる場合に、２ビットのデータを記憶できる。
【０００６】
典型的には、プログラム動作中に制御ゲートに印加されるプログラム電圧ＶＰＧＭは、時間とともに大きさが増加する一連のパルスとして印加される。１つの可能なアプローチにおいて、パルスの大きさは、各連続するパルスごとに所定のステップサイズ、例えば０．２〜０．４Ｖ、だけ増加される。ＶＰＧＭを、フラッシュメモリ素子の制御ゲートに印加できる。プログラムパルス間の期間において、検証動作が実行される。すなわち、並列にプログラムされている１グループの素子のうちの各素子のプログラミングレベルは、連続するプログラミングパルス間で読み出されて、そのプログラミングレベルが、その素子がプログラムされている検証レベル以上か否かを判定する。マルチステートフラッシュメモリ素子のアレイに対して、検証ステップを素子の状態ごとに実行して、その素子がその素子のデータ関連検証レベルに到達したか否かを判定してもよい。例えば、データを４つの状態において記憶できるマルチステートメモリ素子は、３つの比較ポイントについて検証動作を行う必要があってもよい。
【０００７】
１セル当たり複数ビットを記憶することの大きな問題は、適正なフラッシュメモリ信頼性（例えば、サイクルおよびデータ保持仕様）が達成されるべきである場合に、プログラミングおよび読み出し性能が大きく低下し得ることである。その性能低下の理由は、適正なメモリ信頼性を得るために、狭いセル電圧分布（ＣＶＤ）を達成する必要があることである。このためには、小さなプログラミングステップを使用することによって非常に制御されたプログラミング手順を行うこと、および各プログラミングパルス後にどのセルがそれらのセルの目標の状態に到達したかを検証することが必要とされる。したがって、プログラミングパルス数の増加および各パルス後に検証される必要のある状態数の増加によって、プログラミング速度が大きく低減する。
【０００８】
「Ｓｍａｒｔ  Ｖｅｒｉｆｙ  Ｆｏｒ  Ｍｕｌｔｉ−Ｓｔａｔｅ  Ｍｅｍｏｒｉｅｓ」と題した米国特許第７，０７３，１０３号は、書き込みシーケンスの各プログラム／検証／除外ステップに対する連続した検証動作の数を最小化するための処理を記載する。この文献の内容は、その全体を参照することにより本明細書に組み込まれる。まず、選択された記憶素子がプログラムされるマルチステート範囲の最も低い状態だけが、検証フェーズ中に検査される。一旦、選択された素子のうちの１つ以上の素子によって第１の記憶状態が達成されると、マルチステートのシーケンスの次の状態が検証処理に付加される。この次の状態は、最も速い素子がシーケンスにおける前回の状態に到達した時点で直ちに付加され得るか、または数プログラムパルスの遅延後に付加され得るかのいずれかである。検証フェーズにおいて検査されている集合に状態を付加することは、最も高い状態が付加されるまで、連続したマルチステートの集合の残りについて続行する。さらに、より低い状態を検証集合から除去できる。なぜなら、これらのレベルを目標とする選択された記憶素子のすべてが、これらの目標値に首尾よく検証され、さらなるプログラミングから除外されるからである。この技術は、１より多くの状態が各プログラミングパルスに続いて検証されることを必要としてもよいことに留意されたい。
【０００９】
しかしながら、さらなる向上が所望される。
【図面の簡単な説明】
【００１０】
【図１】ＳＭＴセンスによるセル間バラツキを示すテーブルである。
【００１１】
【図２Ａ】ＮＡＮＤストリングの上面図である。
【００１２】
【図２Ｂ】図２ＡのＮＡＮＤストリングの等価回路図である。
【００１３】
【図２Ｃ】３つのＮＡＮＤストリングを示す回路図である。
【００１４】
【図３】基板上に形成されたＮＡＮＤストリングの断面図を示す。
【００１５】
【図４】１つ以上のメモリダイまたはチップを含み得る不揮発性記憶装置を示す。
【００１６】
【図５】メモリセルアレイの構造例を示す。
【００１７】
【図６】個別のセンスブロックのブロック図である。
【００１８】
【図７Ａ】８つの状態があるメモリセルの状態に対する閾値電圧分布例を示す。
【００１９】
【図７Ｂ】各メモリセルが４ビットのデータを記憶する際のメモリセルアレイに対するデータ状態に対応する閾値電圧分布例を示す。
【００２０】
【図８Ａ】各記憶素子が２ビットのデータを記憶する４状態メモリ装置に対する閾値電圧分布の集合例を示す。
【００２１】
【図８Ｂ】プログラミング動作中に、選択されたワードラインに印加される一連のプログラムおよび検証パルスを示す。
【００２２】
【図９】不揮発性メモリセルからデータを読み出すことについての一実施形態を説明するフローチャートである。
【００２３】
【図１０】一実施形態にしたがって使用され得る不揮発性記憶のためのデータを符号化および復号するためのシステムを示す。
【００２４】
【図１１】不揮発性記憶を読み出す処理の一実施形態のフローチャートである。
【００２５】
【図１２】ＥＣＣデコーダに対する初期値を決定するための処理の一実施形態を示すフローチャートである。
【００２６】
【図１３Ａ】ＥＣＣデコーダに対する初期値を決定する処理の一実施形態を示すフローチャートである。
【００２７】
【図１３Ｂ】記憶素子に対する訂正値を決定する処理の一実施形態のフローチャートである。
【００２８】
【図１３Ｃ】２つの閾値分布の一部を示す。
【００２９】
【図１４】ＥＣＣに対する初期値を決定する処理の一実施形態を示すフローチャートである。
【００３０】
【図１５Ａ】プログラム動作中のＳＭＴ検証の処理の一実施形態のフローチャートである。
【００３１】
【図１５Ｂ】２つのＦＳＥＮＳＥが使用されるＳＭＴセンシングの処理の一実施形態のフローチャートである。
【００３２】
【図１６Ａ】従来の読み出しに影響を与えるＳＭＴノイズを示す図である。
【００３３】
【図１６Ｂ】一実施形態にしたがったＳＭＴノイズの緩和を示す図である。
【００３４】
【図１７Ａ】メモリセルの異なるストリング上の選択されたメモリセルにわたって異なるゲート−ソース電圧を印加できる回路の模式図である。
【００３５】
【図１７Ｂ】検証動作中に異なる電圧が印加されるＮＡＮＤストリングの模式図である。
【００３６】
【図１７Ｃ】検証動作中に異なる電圧が印加されるＮＡＮＤストリングの模式図である。
【００３７】
【図１８】異なるＮＡＮＤストリングにわたって異なる電圧を印加することによって、異なるＮＡＮＤストリングにおけるメモリセルの状態をセンスする処理の一実施形態のフローチャートである。
【００３８】
【図１９Ａ】ソースライン電圧より低い電圧にビットラインを帯電させるためのセンスモジュールの一実施形態のブロック図である。
【００３９】
【図１９Ｂ】メモリセルの閾値電圧をセンスする際の電流の方向を示す、図１９Ａのセンスモジュールのブロック図である。
【００４０】
【図２０Ａ】ソースライン電圧より高い電圧にビットラインを帯電するためのセンスモジュールの一実施形態のブロック図である。
【００４１】
【図２０Ｂ】メモリセルの閾値電圧をセンスする際の電流の方向を示す、図２０Ａのセンスモジュールのブロック図である。
【００４２】
【図２１Ａ】検証されている状態に基づいて、ＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。
【００４３】
【図２１Ｂ】読み出し中にクロスカップリングを補償するために、ＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。
【００４４】
【図２１Ｃ】プログラミング中にクロスカップリングを補償するために、ＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。
【００４５】
【図２１Ｄ】メモリセルの以前の閾値電圧に基づいて、ＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。
【００４６】
【図２２Ａ】異なるＮＡＮＤストリング上の選択されたメモリセルに対して異なるＶｇｓを生じさせる、ＮＡＮＤにわたる異なる電圧を確立するための処理の一実施形態のフローチャートである。
【００４７】
【図２２Ｂ】異なるＮＡＮＤストリング上の選択されたメモリセルに対して異なるＶｄｓを生じさせる、ＮＡＮＤストリングにわたる異なる電圧を確立するための処理の一実施形態のフローチャートである。
【００４８】
【図２３】１つ以上の検証ステップを含むプログラミング処理の一実施形態を説明するフローチャートである。
【００４９】
【図２４Ａ】プログラミング動作中にメモリセルを検証する処理の一実施形態のフローチャートである。
【００５０】
【図２４Ｂ】図２４Ａの検証処理中にワードラインおよびビットラインに印加される電圧の一実施形態を示すタイミング図である。
【００５１】
【図２５Ａ】プログラミング動作中にメモリセルを検証する処理の一実施形態のフローチャートである。
【００５２】
【図２５Ｂ】図２５Ａの検証処理中にワードラインおよびビットラインに印加される電圧の一実施形態を示すタイミング図である。
【００５３】
【図２６Ａ】図２５Ａの処理においてＣ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。
【００５４】
【図２６Ｂ】図２５Ａの処理においてＢ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。
【００５５】
【図２６Ｃ】図２５Ａの処理においてＡ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。
【００５６】
【図２７】逆方向センスを実行する際に、Ｖｄｓを制御するのに役立つべきトランジスタを有するＮＡＮＤストリングの一実施形態の図である。
【発明を実施するための形態】
【００５７】
同時マルチ閾値（ＳＭＴ）センスから生じ得るセンスバラツキを緩和するための方法および装置が提供される。ＳＭＴセンス中に、２以上の異なるバイアス条件を使用して、２つの異なる閾値電圧を同時にセンスしてもよい。例えば、単一の検証基準電圧を、選択されたワードラインに印加してもよい一方、１つのバイアス条件を、奇状態について検証されているメモリセルに対して使用し、第２のバイアス条件を偶状態について検証されているメモリセルに対して使用する。異なるバイアス条件の１つの例は、異なる長さの時間にわたり、ビットラインの導電電流をセンスすることである。本明細書において、このセンス時間は、「ＦＳＥＮＳＥ」と呼ばれる。２つ（またはそれより多く）の異なるＦＳＥＮＳＥによって、同じ検証基準電圧を選択されたワードラインに印加しながら、異なる閾値電圧がセンスされることが可能となる。このため、これは、「同時マルチ閾値」センスと呼ばれてもよい。
【００５８】
ＳＭＴセンスを使用することによって、プログラム検証中の時間が節約される。しかしながら、メモリセルが後で読み出される場合、読み出されている各メモリセルに対して使用されたバイアス条件は、既知でない。したがって、すべてのメモリセルは、同じバイアス条件を使用して読み出されてもよい。例えば、すべてのメモリセルは、公称の（例えば、短い）ＦＳＥＮＳＥを使用して読み出されてもよい。したがって、より長いＦＳＥＮＳＥを使用して検証されたメモリセルは、検証に使用されたものとは異なるＦＳＥＮＳＥを使用して読み出されるであろう。
【００５９】
メモリセルは、検証中とは異なるバイアス条件を使用して読み出されることに、異なる反応をし得ることに留意されたい。例えば、メモリセルは、異なる閾値電圧シフトを示し得る。理想的には、すべてのメモリセルは、異なるバイアス条件（例えば、センス時間）の結果として、同じ閾値電圧シフトを受けるであろう。しかしながら、こうならないことがあり得る。上記によって、検証に使用したものとは異なるバイアス条件を用いて読み出されたメモリセルの閾値電圧シフトに差異が生じ得る。
【００６０】
本明細書に開示される実施形態は、これらの差異またはＳＭＴノイズを緩和する。一実施形態では、各プログラム状態は、ＳＭＴ検証中に使用された両方（またはすべて）のバイアス条件を使用して読み出される。一実施形態では、各プログラム状態は、短い（公称）ＦＳＥＮＳＥおよび長い（バイアスされた）ＦＳＥＮＳＥを使用して読み出される。言い換えると、２つ（またはそれよりも多く）の異なるセンス動作を使用して、各メモリセルを読み出してもよい。これらの異なるセンス動作からのデータを使用して、ＥＣＣデコーダに対する初期値（例えば、ＬＬＲ）を計算してもよい。一実施形態では、この技術は、通常の読み出しが失敗した場合に行われるだけである。実施形態は、緩和なしにＳＭＴセンスを実行することに比較して、必要なＥＣＣ冗長性を著しく低減し得ることに留意されたい。
【００６１】
図１における表は、閾値電圧（Ｖｔ）におけるシフトを示し、検証に用いたものとは異なるバイアス条件を用いて読み戻されるメモリセル間のメモリセル間差異がどのようにして存在し得るかを示すために使用される。この例では、５００ｎｓの短い（公称）ＦＳＥＮＳＥを用いてメモリセルを検証した。６００ｎｓ〜１６００ｎｓの範囲の長いＦＳＥＮＳＥを使用してメモリセルを読み出した。新規のメモリアレイについて、６００ｎｓの長いＦＳＥＮＳＥに対する平均Ｖｔシフトは、９５ｍＶである。しかしながら、セル間バラツキによって、標準偏差は、２４ｍＶである。ＦＳＥＮＳＥのより長い値に対する標準偏差は、さらにより高い。
【００６２】
一例として、長いＦＳＥＮＳＥを用いて１つのメモリセルを検証し、次いで短いＦＳＥＮＳＥを用いて読み出しすると、９５ｍＶのＶｔにおけるシフトが生じ得る。しかしながら、長いＦＳＥＮＳＥを用いて別のメモリセルを検証し、次いで短いＦＳＥＮＳＥを用いて読み出しすると、１１５ｍＶ分のＶｔのシフトを生じ得る。他のメモリセルにおいては、他のＶｔシフトが見られ得る。当然ながら、平均Ｖｔシフトをすべての影響のあるメモリセルの読み出しに適用して、予期される平均Ｖｔシフトを補償してもよい。しかしながら、Ｖｔシフトにおける差異は、ある程度の不正確さを生じさせ得る。実際には、Ｖｔシフトにおける差異は、「ＳＭＴノイズ」と呼ばれ得るものを生じる。
【００６３】
また、プログラムサイクルの関数である変化量が存在し得ることに留意されたい。図１の表は、６００ｎｓの長いＦＳＥＮＳＥについて、平均は、新しい場合に９５ｍＶであるが、サイクル後は１１２ｍＶであることを示す。このことは、プログラムサイクル数が増加するにつれ、任意のメモリセルにおいて、異なるＶｔシフトが見られ得ることを示唆する。
ＳＭＴセンスの概要
【００６４】
以下に、ＳＭＴセンスの概要を説明する。ＳＭＴセンスの一実施形態では、同時に検証される異なるＮＡＮＤストリング上のメモリセルが、異なる閾値電圧レベルについてテストされる。例えば、１つのＮＡＮＤストリング上のメモリセルをテストして、そのメモリセルの閾値電圧が、第１の電圧レベルよりも上であるか否かを判定する一方、別のＮＡＮＤストリング上のメモリセルをテストして、そのメモリセルの閾値電圧が、第２の電圧レベルよりも上であるか否かを判定する。具体的な例として、一方のメモリセルをテストして、そのメモリセルの閾値電圧が、１つのデータ状態に関連する電圧レベルよりも上であるか否かを判定する一方、他方のメモリセルをテストして、そのメモリセルの閾値電圧が、別のデータ状態に関連する電圧レベルよりも上であるか否かを判定する。したがって、メモリセルを１メモリセル当たり複数ビットにプログラムするメモリアレイにおいて、１つより多くのデータ状態が一度にテストされ得る。
【００６５】
一実施形態では、メモリセルを複数のデータ状態にプログラムすることに関連する検証動作中に、ＳＭＴセンスが使用される。一度に複数のデータ状態を検証することによって、プログラミングシーケンスがスピードアップされる。例えば、最終的にいくつかのメモリセルを１つの状態にプログラムし、別のメモリセルを異なる状態（全部で、４、５、６、７、８、９、．．．、１６、またはそれよりも多くの状態が存在するであろう）にプログラムすることを目的として、１つ以上のプログラミングパルスが、メモリセルに印加される。次いで、検証動作を実行して、１つ以上のプログラミングパルスの結果として、メモリセルが各々の目標の状態にプログラムされたか否かを判定する。同じ検証動作を用いて複数の状態を検証することによって、時間が節約され得る。いくつかの実施形態では、異なる閾値電圧について検証されているメモリセルのゲートに、同じ電圧が印加される。
【００６６】
２つ（またはそれよりも多く）の異なるＦＳＥＮＳＥ時間を使用することは、ＳＭＴセンスのために使用され得るセンス方式の一例である。他の方式には、１）ソース電圧（例えば、異なる状態をセンスするための異なるＶｇｓ）を制御することによる逆方向センス、および２）ビットラインに異なる電圧を印加して、異なるＶｄｓを使用して同時に異なる状態を検証すること、などがあることに留意されたい。
【００６７】
一つの逆方向センス実施形態では、異なる閾値電圧についてテストされているメモリセルに異なるゲート−ソース電圧を印加することによって、異なる閾値電圧についてメモリセルがテストされる。一実施形態は、ＮＡＮＤストリングの共通ソースラインを第１の電圧にバイアスすること、および１つの電圧を第１集合のビットラインに生じさせ、異なる電圧を第２集合のビットラインに生じさせることを含む。第１集合のビットラインは、メモリセルが第１の状態にプログラムされているＮＡＮＤストリングに関連し、第２集合のビットラインは、メモリセルが第２の状態にプログラムされているＮＡＮＤストリングに関連する。しかしながら、プログラムされているメモリセルのゲートには、同じ電圧が印加される。ビットライン電圧は、共通ソースラインよりも低くてもよく、これにより、実際には、メモリセルのソースラインに最も近い側がドレインとして機能し、メモリセルのそのビットラインに最も近い側がソースとして機能してもよい。したがって、メモリセルの電流は、ソースラインからそのメモリセルのビットラインに流れる。したがって、この技術は、「逆方向センス」と呼ばれ得る。逆方向センスにおいて、電流は、ＮＡＮＤストリング上のメモリセルをセンスするために、一般に行われる場合とは反対の方向に流れる。
【００６８】
上記の逆方向センス例において、検証中に使用される異なるゲート−ソース電圧は、異なるバイアス条件と考えられ得る。読み出し中に検証用とは異なるＶｇｓを使用することによって生じるＶｔシフトにおけるセル間バラツキが存在し得る。例えば、読み出し中に検証用とは異なるＶｇｓを使用することによって生じるボディバイアスバラツキが存在し得る。本明細書に開示される実施形態は、ボディバイアスおよび／または他のバラツキを緩和する。
【００６９】
一実施形態では、異なるドレイン−ソース電圧をメモリセルに印加することによって、異なる閾値電圧についてメモリセルがテストされる。一実施形態は、ＮＡＮＤストリングの共通ソースラインを第１の電圧にバイアスすることと、１つの電圧を第１集合のビットラインに生じさせ、異なる電圧を第２集合のビットラインに生じさせること、を含む。第１集合のビットラインは、メモリセルが第１の状態にプログラムされているＮＡＮＤストリングに関連し、第２集合のビットラインは、メモリセルが第２の状態にプログラムされているＮＡＮＤストリングに関連する。しかしながら、プログラムされているメモリセルのゲートに同じ電圧が印加される。異なるビットライン電圧は、異なる閾値電圧についてテストされているメモリセルに対して、異なるドレイン−ソース電圧を生じさせる。メモリセルのうちの少なくともいくつかのメモリセルのドレイン電圧は、メモリセルの閾値電圧を変化させるドレイン誘起障壁低下（ＤＩＢＬ）を生じさせるのに十分な高さである。例えば、目標は、第１のメモリセルの閾値電圧が３．０Ｖ以上であり、第２のメモリセルの閾値電圧が３．５Ｖ以上であることを検証することであってもよい。実際に、ＤＩＢＬ効果がなくても、第１のメモリセルは、３．０Ｖの閾値電圧を有し得るし、第２のメモリセルは、３．５Ｖの閾値電圧を有し得る。第２のメモリセルの閾値電圧を３．５Ｖから３．０Ｖに低下させるのに十分なＤＩＢＬを起こすことによって、同じゲート−ソース電圧（例えば、選択されたワードラインへの検証基準電圧と同じものを使用してもよい）を使用して、両方のメモリセルの閾値電圧をテストできる。例として、上記の条件下で、３．０ＶのＶｇｓが両方のメモリセルをオンにすることによって、異なる閾値電圧を有するメモリセルを同時に検証してもよい。これは、異なる閾値電圧について検証されているメモリセルのゲートに、同じ電圧が印加されることを意味することに留意されたい。この例において、異なるバイアス条件は、異なるドレイン−ソース電圧であってもよい。
【００７０】
上記のセンス例において、検証中に使用される異なるドレイン−ソース電圧は、異なるバイアス条件であると考えてもよい。読み出し中に検証用とは異なるＶｄｓを使用することによって生じるＶｔシフトのセル間バラツキが存在し得る。本明細書に開示される実施形態は、これらのバラツキを緩和する。
メモリシステムおよび動作の例
【００７１】
実施形態を実装するために適切なメモリシステムの一例は、ＮＡＮＤフラッシュメモリアーキテクチャを使用する。ＮＡＮＤフラッシュメモリアーキテクチャは、２つの選択ゲートの間に複数のトランジスタを直列に接続することを含む。直列に接続されているトランジスタおよび選択ゲートは、ＮＡＮＤストリングと呼ばれる。図２Ａは、１つのＮＡＮＤストリングを示す上面図である。図２Ｂは、そのＮＡＮＤストリングの等価回路である。ＮＡＮＤストリングは、第１の選択ゲート１２０と第２の選択ゲート１２２との間に挟まれた直列の４つのトランジスタ、１００、１０２、１０４および１０６を含む。選択ゲート１２０は、ＮＡＮＤストリングのビットライン１２６への接続をゲーティングする。選択ゲート１２２は、ＮＡＮＤストリングのソースライン１２８への接続をゲーティングする。選択ゲート１２０は、適切な電圧を制御ゲート１２０ＣＧに印加することによって制御される。選択ゲート１２２は、適切な電圧を制御ゲート１２２ＣＧに印加することによって制御される。トランジスタ１００、１０２、１０４および１０６の各々は、制御ゲートおよびフローティングゲートを有する。トランジスタ１００は、制御ゲート１００ＣＧおよびフローティングゲート１００ＦＧを有する。トランジスタ１０２は、制御ゲート１０２ＣＧおよびフローティングゲート１０２ＦＧを含む。トランジスタ１０４は、制御ゲート１０４ＣＧおよびフローティングゲート１０４ＦＧを含む。トランジスタ１０６は、制御ゲート１０６ＣＧおよびフローティングゲート１０６ＦＧを含む。制御ゲート１００ＣＧは、ワードラインＷＬ３に接続される（または、それ自体である）（ここで、ＷＬは、「ワードライン」を表す）、制御ゲート１０２ＣＧは、ＷＬ２に接続され、制御ゲート１０４ＣＧは、ＷＬ１に接続され、制御ゲート１０６ＣＧは、ＷＬ０に接続される。一実施形態では、トランジスタ１００、１０２、１０４および１０６は、各々記憶素子であり、メモリセルとも呼ばれる。他の実施形態では、記憶素子は、複数のトランジスタを含んでもよいし、または図示されるものとは異なってもよい。選択ゲート１２０は、選択ラインＳＧＤに接続される。選択ゲート１２２は、選択ラインＳＧＳに接続される。
【００７２】
図２Ｃは、３つのＮＡＮＤストリングを示す回路図である。ＮＡＮＤ構造を使用するフラッシュメモリシステムのための典型的なアーキテクチャは、多くのＮＡＮＤストリングを含むであろう。例えば、３つのＮＡＮＤストリング３２０、３４０および３６０は、さらに多くのＮＡＮＤストリングを有するメモリアレイにおいて見られる。ＮＡＮＤストリングの各々は、２つの選択ゲートおよび４つの記憶素子を含む。簡単のために４つの記憶素子を示すが、ＮＡＮＤストリングは、例えば、３２または６４個の記憶素子を含むことができる。
【００７３】
例えば、ＮＡＮＤストリング３２０は、選択ゲート３２２および３２７、ならびに記憶素子３２３〜３２６を含み、ＮＡＮＤストリング３４０は、選択ゲート３４２および３４７、ならびに記憶素子３４３〜３４６を含む、ＮＡＮＤストリング３６０は、選択ゲート３６２および３６７、ならびに記憶素子３６３〜３６６を含む。各ＮＡＮＤストリングは、そのＮＡＮＤストリングの選択ゲート（例えば、選択ゲート３２７、３４７または３６７）によってソースラインに接続される。選択ラインＳＧＳを使用して、ソース側選択ゲートを制御する。種々のＮＡＮＤストリング３２０、３４０および３６０は、選択ゲート３２２、３４２、３６２などにおける選択トランジスタによって、それぞれのビットライン３２１、３４１および３６１に接続される。これらの選択トランジスタは、ドレイン選択ラインＳＧＤによって制御される。他の実施形態では、選択ラインは、ＮＡＮＤストリングの間で共通である必要は必ずしもない。すなわち、異なる選択ラインを異なるＮＡＮＤストリングに対して設けることができる。ＷＬ３は、記憶素子３２３、３４３および３６３のための制御ゲートに接続される。ＷＬ２は、記憶素子３２４、３４４および３６４のための制御ゲートに接続される。ＷＬ１は、記憶素子３２５、３４５および３６５のための制御ゲートに接続される。ＷＬ０は、記憶素子３２６、３４６および３６６のための制御ゲートに接続される。これから分かるように、各ビットラインおよびそれぞれのＮＡＮＤストリングは、記憶素子のアレイまたは集合の列を備える。ワードライン（ＷＬ３、ＷＬ２、ＷＬ１およびＷＬ０）は、アレイまたは集合の行を備える。各ワードラインは、行内の各記憶素子の制御ゲートを接続する。または、制御ゲートは、ワードライン自体によって提供されてもよい。例えば、ＷＬ２は、記憶素子３２４、３４４および３６４のための制御ゲートを提供する。実際には、１本のワードライン上に何千もの記憶素子が存在できる。
【００７４】
いくつかの実施形態では、ＮＡＮＤストリング上のメモリセルを読み出す際、ビットラインに印加される電圧は、ソースに印加される電圧よりも大きい。いくつかの実施形態では、ＮＡＮＤストリング上のメモリセルを読み出す際、ビットラインに印加される電圧は、ソースに印加される電圧よりも小さい。記載内容に一貫性を持たせるために、ソースラインは、ソースラインに印加される電圧がビットラインに印加される電圧よりも小さいのか、それとも大きいかにかかわらず、常にソースラインと呼ぶことにする。
【００７５】
各記憶素子は、データを記憶できる。例えば、１ビットのデジタルデータを記憶する場合、記憶素子の閾値電圧（ＶＴＨ）が取り得る範囲は、論理データ「１」および「０」が割り当てられる２つの範囲に分割される。ＮＡＮＤ型フラッシュメモリの一例において、記憶素子が消去された後は、ＶＴＨは負であり、論理「１」と定義される。プログラム動作後のＶＴＨは、正であり、論理「０」と定義される。ＶＴＨが負であり、読み出しが試みられる場合、記憶素子は、オンになり、論理「１」が記憶されていることを示すであろう。ＶＴＨが正であり、読み出し動作が試みられる場合、記憶素子は、オンにならないであろう。これは、論理「０」が記憶されていることを示す。また、記憶素子は、複数のレベルの情報、例えば、複数のビットのデジタルデータを記憶できる。この場合、ＶＴＨ値の範囲は、データのレベルの個数に分割される。例えば、４つレベルの情報が記憶される場合、データ値「１１」、「１０」、「０１」、および「００」に割り当てられる４つのＶＴＨ範囲が存在するであろう。ＮＡＮＤ型メモリの一例において、消去動作後のＶＴＨは、負であり、「１１」と定義される。正のＶＴＨ値は、「１０」、「０１」、および「００」の状態について使用される。記憶素子にプログラムされるデータと記憶素子の閾値電圧範囲との間の具体的な関係は、記憶素子に対して採用されるデータ符号化方式に依存する。
【００７６】
フラッシュ記憶素子をプログラムする場合、プログラム電圧が記憶素子の制御ゲートに印加され、記憶素子に関連するビットラインは接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲートに蓄積する場合、フローティングゲートは負値に帯電され、記憶素子のＶＴＨは引き上げられる。プログラム電圧をプログラムされている記憶素子の制御ゲートに印加するために、そのプログラム電圧を適切なワードラインに印加する。上記のように、ＮＡＮＤストリングの各々の１つの記憶素子が、同じワードラインを共有する。例えば、図２Ｃの記憶素子３２４をプログラムする場合、プログラム電圧は、記憶素子３４４および３６４の制御ゲートにも印加されるであろう。
【００７７】
図３は、基板上に形成されるＮＡＮＤストリングの断面図を示す。この図は、簡略化されており、正確な縮尺ではない。ＮＡＮＤストリング４００は、基板４４０上に形成される、ソース側選択ゲート４０６、ドレイン側選択ゲート４２４、ならびに８つの記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０および４２２を含む。ソース／ドレイン領域４３０などの複数のソース／ドレイン領域が、各記憶素子ならびに選択ゲート４０６および４２４のいずれかの側に設けられる。
【００７８】
１つのアプローチにおいて、基板４４０は、トリプルウェル技術を採用する。この技術は、ｎウェル領域４３４内にｐウェル領域４３２を含み、ｎウェル領域４３４は、ｐ型基板領域４３６内にある。ＮＡＮＤストリングおよびそのＮＡＮＤストリングの不揮発性記憶素子は、少なくとも部分的に、ｐウェル領域上に形成され得る。電位がＶＢＬであるビットライン４２６に加えて、電位がＶＳＯＵＲＣＥであるソース供給線４０４が設けられる。また、ボディバイアス電圧などの電圧が、端子４０２を介してｐウェル領域４３２に、および／または端子４０３を介してｎウェル領域４３４に、印加され得る。読み出しまたは検証動作中に、制御ゲート電圧ＶＣＧＲＶが記憶素子４１６に関連する選択されたワードライン、本例ではＷＬ４、上に与えられる。さらに、記憶素子の制御ゲートが、ワードラインの一部として提供されることを思い出してほしい。例えば、ＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３、ＷＬ４、ＷＬ５、ＷＬ６およびＷＬ７は、それぞれ記憶素子４０８、４１０、４１２、４１４、４１６、４１８、４２０および４２２の制御ゲートを介して延伸できる。パス電圧ＶＲＥＡＤが、ＮＡＮＤストリング４００に関連する残りのワードラインに印加される。ＶＳＧＳおよびＶＳＧＤが、それぞれ選択ゲート４０６および４２４に印加される。
【００７９】
ＮＡＮＤストリングに沿って流れる電流の方向は、ＶＳＯＵＲＣＥのＶＢＬに対する相対的な大きさに依存し得ることに留意されたい。例えば、ＶＢＬがＶＳＯＵＲＣＥよりも大きい場合、電流は、ビットラインからソースに流れ得る。そのような例において、ソース／ドレイン領域４３０は、メモリセル４０８のドレインとしておよびメモリセル４１０のソースとして機能し得る。しかしながら、ＶＢＬがＶＳＯＵＲＣＥよりも小さい場合、電流は、ソースラインからビットラインに流れ得る。そのような例において、ソース／ドレイン領域４３０は、メモリセル４０８のソースとしておよびメモリセル４１０のドレインとして機能し得る。このように、ソース／ドレイン領域４３０が任意のメモリセルのソースとして機能するのか、それともドレインとして機能するのかは、ＶＳＯＵＲＣＥのＶＢＬに対する相対的な大きさに依存し得る。上記のように、ＶＳＯＵＲＣＥがＶＢＬよりも小さいか、それとも大きいかにかかわらず、本明細書においてソースラインは、ソースラインと称すことにする。さらに、ＶＳＯＵＲＣＥがＶＢＬよりも小さいか、それとも大きいかにかかわらず、本明細書においてソースラインに印加される電圧は、ＶＳＯＵＲＣＥと呼ぶことにする。
【００８０】
図４は、１つ以上のメモリダイ又はチップ２１２を含み得る不揮発性記憶デバイス２１０を示している。メモリダイ２１２は、メモリセルの（２次元又は３次元の）アレイ２００、制御回路２２０、及び、読み出し／書き込み回路２３０Ａと２３０Ｂを有する。一実施形態では、様々な周辺回路によるメモリアレイ２００へのアクセスは、アレイの両側で対称的に実装されており、これにより、各側のアクセスライン及び回路の密度が半分に低減される。読み出し／書き込み回路２３０Ａ及び２３０Ｂは、複数のセンスブロック３００を有しており、それらのセンスブロック３００によって１ページのメモリセルを、並列に読み出し又はプログラムすることができる。メモリアレイ２００は、行デコーダ２４０Ａと２４０Ｂを介したワードラインと、列デコーダ２４２Ａと２４２Ｂを介したビットラインと、によってアドレス指定される。典型的な実施形態では、コントローラ２４４は、１つ以上のメモリダイ２１２のような同じメモリデバイス２１０（例えば、取り外し可能なストレージカード又はパッケージ）内に含まれる。命令及びデータは、ライン２３２を介して、ホストとコントローラ２４４の間で転送され、また、ライン２３４を介して、コントローラと１つ以上のメモリダイ２１２の間で転送される。１つの実装は、複数のチップ２１２を含むことが可能である。
【００８１】
制御回路２２０は、読み出し／書き込み回路２３０Ａと２３０Ｂと協調して、メモリアレイ２００に対してメモリ動作を実行する。制御回路２２０は、ステートマシン２２２、オンチップアドレスデコーダ２２４、及び電力制御モジュール２２６を有している。ステートマシン２２２は、メモリ動作のチップレベルの制御を提供する。オンチップアドレスデコーダ２２４は、ホスト又はメモリコントローラによって用いられるアドレスと、デコーダ２４０Ａ、２４０Ｂ、２４２Ａ及び２４２Ｂによって用いられるハードウェアアドレスとの間に、アドレスインタフェースを提供する。電力制御モジュール２２６は、メモリ動作中のワードライン及びビットラインに供給される電力及び電圧を制御する。一実施形態では、電力制御モジュール２２６は、供給電力より大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
【００８２】
一実施形態では、制御回路２２０、電力制御モジュール２２６、デコーダ回路２２４、ステートマシン２２２、デコーダ回路２４０Ａ、デコーダ回路２４２Ｂ、デコーダ回路２４０Ａ、デコーダ回路２４０Ｂ、読み出し／書き込み回路２３０Ａ、読み出し／書き込み回路２３０Ｂ、及び／又はコントローラ２４４は、集団でまたは個々で、１つ以上の管理回路としてみなすことができる。
【００８３】
図５は、メモリセルアレイ２００の構造例を示す。一実施形態では、メモリセルのアレイは、Ｍブロックのメモリセルに分割される。フラッシュＥＥＰＲＯＭシステムについて共通なように、ブロックは、消去の単位である。すなわち、各ブロックは、同時に消去される最小限の数のメモリセルを含む。各ブロックは、典型的には、複数のページに分割される。ページは、プログラミングの単位である。１つ以上のページのデータは、典型的には、１行のメモリセルにおいて記憶される。ページは、１つ以上のセクタを記憶できる。セクタは、ユーザデータおよびオーバーヘッドデータを含む。オーバーヘッドデータは、典型的には、セクタのユーザデータから計算された誤り訂正符号（ＥＣＣ）のパリティビットを含む。コントローラ（下記）の一部は、データがアレイにプログラムされているときに、ＥＣＣパリティを計算し、またデータがアレイから読み出されているときに、ＥＣＣパリティを検査する。あるいは、ＥＣＣおよび／または他のオーバーヘッドデータは、そのＥＣＣおよび／または他のオーバーヘッドデータが関係するユーザデータとは異なるページ、または異なるブロックにさえ、記憶される。ユーザデータのセクタは、典型的には、磁気ディスク装置におけるセクタのサイズに対応する５１２バイトである。８ページから、例えば、最大で３２、６４、１２８またはそれより多いページの範囲にある多数のページが、ブロックを形成する。異なるサイズのブロックおよび配列もまた使用できる。
【００８４】
別の実施形態では、ビットラインは、奇数ビットラインおよび偶数ビットラインに分割される。奇数／偶数ビットラインアーキテクチャにおいて、共通ワードラインに沿って奇数ビットラインに接続されているメモリセルは、ある時にプログラムされる一方、共通ワードラインに沿って偶数ビットラインに接続されているメモリセルは、別の時にプログラムされる。
【００８５】
また、図５は、メモリアレイ２００のブロックｉのさらなる詳細を示す。ブロックｉは、Ｘ＋１個のビットラインおよびＸ＋１個のＮＡＮＤストリングを含む。また、ブロックｉは、６４個のデータワードライン（ＷＬ０〜ＷＬ６３）、２つのダミーワードライン（ＷＬ＿ｄ０およびＷＬ＿ｄ１）、１つのドレイン側選択ライン（ＳＧＤ）および１つのソース側選択ライン（ＳＧＳ）を含む。各ＮＡＮＤストリングの１つの端子は、ドレイン選択ゲート（選択ラインＳＧＤに接続される）を介して、対応するビットラインに接続され、別の端子は、ソース選択ゲート（選択ラインＳＧＳに接続される）を介して、ソースラインに接続される。６４個のデータワードラインおよび２つのダミーワードラインがあるので、各ＮＡＮＤストリングは、６４個のデータメモリセルおよび２つのダミーメモリセルを含む。別の実施形態では、ＮＡＮＤストリングは、６４個よりも多くのまたは少ないデータメモリセルおよびより多くのまたは少ないダミーメモリセルを含むことができる。データメモリセルは、ユーザまたはシステムデータを記憶することができる。ダミーメモリセルは、典型的には、ユーザまたはシステムデータを記憶するためには使用されない。いくつかの実施形態は、ダミーメモリセルを含まない。
【００８６】
図６は、センスモジュール４８０と呼ばれるコア部と共通部４９０に分割された個々のセンスブロック３００のブロック図である。一実施形態では、各ビットラインに対して個別のセンスモジュール４８０を用意し、複数の複数センスモジュール４８０に対して一つの共通部４９０を用意してもよい。一例として、１個のセンスブロックは、１個の共通部４９０と、８個のセンスモジュール４８０と、を有している。グループ内の各センスモジュールは、データバス４７２を介して協働する共通部と通信する。さらなる詳細としては、その全体を参照することにより本明細書に組み込まれる「Ｎｏｎ−ｖｏｌａｔｉｌｅ ｍｅｍｏｒｙ ａｎｄ ｍｅｔｈｏｄ ｗｉｔｈ ｓｈａｒｅｄ ｐｒｏｃｅｓｓｉｎｇ ｆｏｒ ａｎ ａｇｇｒｅｇａｔｅ ｏｆ ｒｅａｄ／ｗｒｉｔｅ ｃｉｒｃｕｉｔｓ」と題した米国特許出願公開公報２００６／０１４０００７号を参照されたい。
【００８７】
センスモジュール４８０は、接続されたビットライン内の伝導電流が予め決められた閾値レベルより高いか低いかを判定するセンス回路４７０を備えている。幾つかの実施形態では、センスモジュール４８０は、センスアンプと一般に呼ばれる回路を有する。センスモジュール４８０は、さらに、接続されたビットラインに電圧状態を設定するために用いられるビットラインラッチ４８２を有している。例えば、ビットラインラッチ４８２内で予め決められた状態がラッチされることによって、接続されたビットラインを、プログラム禁止を指定する状態（例えば、Ｖｄｄ）に引き上げる（プル）する。
【００８８】
共通部４９０は、プロセッサ４９２、複数のデータラッチ４９４、及び、複数のデータラッチ４９４とデータバス４７１の間を接続するＩ／Ｏインタフェース４９６を備えている。プロセッサ４９２は計算を実行する。例えば、その機能の１つは、センスされたメモリセル内に記憶されているデータを特定し、特定されたデータを複数のデータラッチ内に記憶することである。複数のデータラッチ４９４は、読み出し動作において、プロセッサ４９２によって特定されたデータビット群を記憶するために用いられる。複数のデータラッチ４９４は、プログラム動作において、データバス４７１から取り込んだデータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモリ内に書き込む予定のライトデータ（書き込みデータ）を表す。Ｉ／Ｏインタフェース４９６は、データラッチ４９４とデータバス４７１の間のインタフェースを提供する。
【００８９】
読み出し又は検出中には、システムの動作は、ステートマシン２２２の制御下にあり、ステートマシン２２２は、アドレス指定されたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む毎に、センスモジュール４８０はこれらの電圧の１つに遷移し、バス４７２を介して、センスモジュール４８０からプロセッサ４９２に出力が提供される。その時点で、プロセッサ４９２は、センスモジュールの遷移イベントと、ステートマシンから入力ライン４９３を介して加えられた制御ゲート電圧についての情報によって、結果としてのメモリ状態を特定する。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られたデータビット群をデータラッチ４９４に格納する。コア部の別の実施形態では、ビットラインラッチ４８２は、センスモジュール４８０の出力をラッチするラッチ、及び、上記のようなビットラインラッチの二つの役割を持つ。
【００９０】
当然のことながら、いくつかの実装形態では複数のプロセッサ４９２を有することができる。一実施形態では、各プロセッサ４９２は出力ライン（図６には示されていない）を有し、各出力ラインは共にワイヤードＯＲ（配線論理和）接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続される前段階で反転される。この構成は、ワイヤードＯＲの結果を受け取るステートマシンが、プログラムされる全てのビットがいつ所望のレベルに到達したかを判断できるので、プログラム処理の完了時点を判定するプログラム検証処理における素早い判定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「０」がワイヤードＯＲラインに送られる（又はデータ「１」が反転される）。全てのビットがデータ「０」を出力すると（又はデータ「１」が反転されると）、ステートマシンはプログラミング処理の完了を知る。各プロセッサが８個のセンスモジュールと通信する実施形態では、（いくつかの実施形態において）ステートマシンはワイヤードＯＲラインを８回読み出す必要があってもよいし、あるいは、協働するビットラインの結果を蓄積するための論理をプロセッサ４９２に追加し、ステートマシンがワイヤードＯＲラインを一度だけ読み出せば良いようにしてもよい。
【００９１】
プログラム又は検証の間、プログラムされるべきデータはデータバス４７１から複数のデータラッチ４９４内に記憶される。ステートマシン制御下のプログラム処理は、アドレス指定されるメモリセルの制御ゲートに同時に加えられる、一連の（値の増加を伴う）プログラミング電圧パルスを伴う。各プログラミングパルスに続いて検証処理が実行され、メモリセルが所望の状態にプログラムされたかどうかを判定する。プロセッサ４９２は、所望のメモリ状態に対する検証メモリ状態を監視する。その２つが一致したとき、プロセッサ４９２は、プログラム禁止を指定する状態にビットラインを引き上げる（プルする）ように、ビットラインラッチ４８２を設定する。これにより、たとえプログラミングパルスがその制御ゲートに影響しても、ビットラインに接続したメモリセルがさらにプログラミングされないようにすることができる。他の実施形態では、プロセッサが最初にビットラインラッチ４８２をロードし、センス回路が検証処理中にそれに禁止値を設定する。
【００９２】
データラッチスタック４９４は、センスモジュールに対応するデータラッチのスタックを有する。一実施形態では、センスモジュール４８０毎に３〜５個（またはその他の数の）データラッチが存在する。一実装形態では、ラッチは、それぞれ１ビットである。いくつかの実施形態では、（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス４２０用にシリアルデータに変換したり、その逆を行ったりする。一実施形態では、Ｍ個のメモリセルの読み出し／書き込みブロックに対応する全てのデータラッチを相互にリンクしてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、読み出し／書き込みモジュールの一群のデータラッチのそれぞれが、データバスへ或いはデータバスからデータを順に転送するように読み出し／書き込みモジュールのバンクを構成し、一群のデータラッチがあたかも読み出し／書き込みブロック全体のシフトレジスタの一部であるかのようにしてもよい。
【００９３】
読み出し動作およびセンスアンプついてのさらなる情報は、（１）「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｒｅｄｕｃｅｄ  Ｓｏｕｒｃｅ  Ｌｉｎｅ  Ｂｉａｓ  Ｅｒｒｏｒｓ」と題した米国特許第７，１９６，９３１号、（２）「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｉｍｐｒｏｖｅｄ  Ｓｅｎｓｉｎｇ」と題した米国特許第７，０２３，７３６号、（３）米国特許第７，０４６，５６８号、（４）「Ｃｏｍｐｅｎｓａｔｉｎｇ  ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と題した米国特許第７，１９６，９２８号、および（５）「Ｒｅｆｅｒｅｎｃｅ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」と題した米国特許第７，３２７，６１９号に見い出すことができる。直前にリストした５つの特許文献のすべての内容は、その全体を参照することにより本明細書に組み込まれる。
【００９４】
プログラミング処理（検証を伴う）が首尾よく終了した時点では、メモリセルの閾値電圧は、プログラムされたメモリセルに対する１つ以上の閾値電圧分布の範囲内、または消去されたメモリセルに対する１つの閾値電圧分布の範囲内に適宜あるべきである。図７Ａは、８つの状態が存在するメモリセルの状態に対する閾値電圧分布例を示す。８つのデータ状態は、消去状態および状態Ａ〜Ｇを含む。この例において、１つのメモリセル当たり３つのビットが記憶され得る。各データ状態間に、メモリセルからデータを読み出すために使用される読み出し基準電圧がある。例えば、図７Ａは、データ状態「消去」とデータ状態Ａとの間の読み出し基準電圧Ｖｒａ、およびデータ状態Ａとデータ状態Ｂとの間の読み出し基準電圧Ｖｒｂを示す。任意のメモリセルの閾値電圧がそれぞれの読み出し基準電圧より高いか低いかをテストすることによって、システムは、そのメモリセルがどの状態にあるかを判定できる。検証基準電圧は、各データ状態の下限またはその近傍にある。例えば、図７Ａは、状態Ａに対するＶｖａ、状態Ｂに対するＶｖｂなどを示す。メモリセルを任意の状態にプログラムする場合、システムは、これらのメモリセルが検証基準電圧以上の閾値電圧を有するか否かをテストするであろう。
【００９５】
図７Ｂは、各メモリセルが４ビットのデータを記憶する場合のメモリアレイに対するデータ状態に対応する閾値電圧分布例を示す。しかしながら、他の実施形態では、１つのメモリセル当たり４ビットよりも多いまたは少ないデータを使用してもよい。図７Ｂは、データ状態０〜１５に対応する１６個の閾値電圧分布を示す。図７Ｂの実施形態では、１つの奇数状態および１つの偶数状態が同時に検証されてもよい。例えば、基準電圧Ｖｖ３を選択されたワードラインに印加して、メモリセルが状態２および状態３にプログラムされることを検証してもよい。１つのバイアス条件を使用して、状態２にプログラムされるべきメモリセルを検証し、別のバイアス条件を使用して、状態３にプログラムされるべきメモリセルを検証する。例えば、各状態について、異なるＦＳＥＮＳＥを使用してもよい。さらなるバイアス条件（例えば、さらなるＦＳＥＮＳＥ）が使用されれば、３またはさらにはそれ以上の異なる状態が同時に検証され得るであろうことに留意されたい。
【００９６】
いくつかの実施形態では、状態０における閾値電圧は、負であり、状態１〜１５における閾値電圧は、正である。しかしながら、状態１〜１５のうちの１つ以上における閾値電圧は、負であってもよい。
【００９７】
いくつかの実施形態では、「検証低」基準電圧および「検証高」基準電圧が使用される。図８Ａは、各記憶素子が２ビットのデータを記憶する４状態メモリ装置に対する閾値電圧分布の集合の一例を示す。第１の閾値電圧分布７００が、消去された（消去状態の）記憶素子に対して与えられる。３つの閾値電圧分布７０２、７０４および７０６が、それぞれプログラム状態Ａ、ＢおよびＣを表す。一実施形態では、消去状態における閾値電圧は、負であり、Ａ、ＢおよびＣ状態における閾値電圧は、正である。
【００９８】
また、データを記憶素子から読み出すための読み出し基準電圧、Ｖｒａ、ＶｒｂおよびＶｒｃ、が提供される。任意の記憶素子の閾値電圧がＶｒａ、ＶｒｂおよびＶｒｃより高いか低いかをテストすることによって、システムは、記憶素子の状態、例えば、プログラム状態、を判定できる。
【００９９】
さらに、検証基準電圧、Ｖｖａ、Ｖｖｂ、およびＶｖｃ、が提供される。記憶素子をＡ状態、Ｂ状態またはＣ状態にプログラムする際には、システムは、それらの記憶素子がそれぞれＶｖａ、ＶｖｂまたはＶｖｃ以上の閾値電圧を有するか否かをテストするであろう。一実施形態では、「検証低」基準電圧、Ｖｖａｌ、Ｖｖｂｌ、およびＶｖｃｌ、が提供される。また、異なる数の状態を有する実施形態において、同様の「検証低」基準電圧が使用され得るであろう。
【０１００】
フルシーケンスプログラミングにおいて、記憶素子は、消去状態からプログラム状態Ａ、ＢまたはＣのいずれかに直接にプログラムされ得る。例えば、プログラムされるべき記憶素子群は、その記憶素子群のすべてが消去状態となるように、最初に消去されてもよい。図８Ｂに示すような一連のプログラムパルスを使用して、記憶素子を直接にＡ、ＢおよびＣ状態にプログラムする。消去状態からＡ状態にプログラムされている記憶素子もあれば、消去状態からＢ状態および／または消去状態からＣ状態にプログラムされている記憶素子もある。フルシーケンスプログラミングを使用することは必須でないことに留意されたい。
【０１０１】
遅いプログラムモードの一例は、１つ以上のデータ状態に対して低い（オフセット）検証レベルおよび高い（目標）検証レベルを使用する。例えば、ＶｖａＬおよびＶｖａは、それぞれＡ状態に対するオフセット検証レベルおよび目標検証レベルであり、ＶｖｂＬおよびＶｖｂは、それぞれＢ状態に対するオフセット検証レベルおよび目標検証レベルである。プログラミング中に、目標状態としてのＡ状態にプログラムされている記憶素子（例えば、Ａ状態記憶素子）の閾値電圧がＶｖａＬを超えると、そのプログラミング速度は、Ｖｂｌを公称プログラムまたは非禁止レベル、例えば０Ｖ、とフル禁止レベル、例えば２〜３Ｖ、との間のレベル、例えば０．６〜０．８Ｖ、に引き上げられることなどによって、遅くなる。これにより、閾値電圧における大きな段階的増加（ｓｔｅｐ  ｉｎｃｒｅａｓｅ）を回避することによってより高い正確さが提供される。閾値電圧がＶｖａに到達すると、記憶素子は、さらなるプログラミングから除外される。同様に、Ｂ状態記憶素子の閾値電圧がＶｖｂＬを超えると、そのプログラミング速度は、遅くなり、その閾値電圧がＶｖｂに到達すると、その記憶素子は、さらなるプログラミングから除外される。１つのアプローチにおいて、典型的にはある程度のオーバーシュートが許容されるので、最も高い状態に対しては、遅いプログラムモードは使用されない。その代わり、プログラム状態、消去状態より上、最も高い状態より下に対しては、遅いプログラムモードを使用することができる。
【０１０２】
さらに、記載のプログラミング技術例において、記憶素子の閾値電圧は、その記憶素子が目標データ状態にプログラムされる際に、引き上げられる。しかしながら、記憶素子が目標データ状態にプログラムされる際に、その記憶素子の閾値電圧を低下させるプログラミング技術を使用することができる。記憶素子電流を測定するプログラミング技術も使用することができる。本明細書における概念は、異なるプログラミング技術に適合され得る。
【０１０３】
図８Ｂは、プログラミング動作中に、選択されたワードラインに印加される一連のプログラムパルスおよび検証パルスを示す。プログラミング動作は、複数のプログラミング反復を含んでもよい。ここで、反復の各回において、１つ以上のプログラムパルス（電圧）、続いて１つ以上の検証電圧、が選択されたワードラインに印加される。１つの可能なアプローチにおいて、プログラム電圧は、連続する反復において段階的に引き上げられる。さらに、プログラム電圧は、例えば６〜８Ｖであるパス電圧（Ｖｐａｓｓ）レベルを有する第１の部分、それに続く、例えば１２〜２５Ｖであるプログラムレベルにおける第２の部分を含んでもよい。例えば、第１、第２、第３および第４のプログラムパルス８００、８０２、８０４および８０６は、それぞれＶｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３およびｖｐｇｍ４のプログラム電圧などを有する。１集合の１つ以上の検証電圧が各プログラムパルスの後に供給されてもよい。いくつかの実施形態では、単一検証パルスを使用して、異なる状態にプログラムされているメモリセルを検証する。例えば、単一検証パルスＶｖｅｒｉｆｙを使用して、Ａ状態を目標とするメモリセルがＶｖａに到達したか否か、Ｂ状態を目標とするメモリセルがＶｂａに到達したか否か、およびＣ状態を目標とするメモリセルがＶｖｃに到達したか否かを検証してもよい。いくつかの実施形態では、プログラムパルス間に２つ以上の検証パルスが存在してもよい。例えば、１つのパルスを使用して、Ａ状態およびＢ状態を検証し、第２のパルスを使用して、Ｃ状態およびＤ状態を検証し、などをしてもよい。いくつかの場合に、１つ以上の初期プログラムパルスの後には検証パルスが続かない。なぜなら、いずれの記憶素子も最も低いプログラム状態（例えば、Ａ状態）に到達しているとは予期されないからである。例えば、その後のプログラム反復において、Ａ状態に対する検証パルスを使用し、それに続くプログラム反復において、ＡおよびＢ状態に対する検証パルスを使用し、それに続くプログラム反復において、ＢおよびＣ状態に対する検証パルスを使用してもよい。
ＳＭＴセンスのバラツキの緩和
【０１０４】
図９は、不揮発性メモリセルからデータを読み出すための一実施形態を説明するフローチャートである。図９は、システムレベルにおける読み出し処理の一実施形態を説明する。ステップ１９０２において、データ読み出し要求が受け取られる。ステップ１９０４において、データ読み出し要求に応答して、読み出し動作が特定のページについて実行される。この読み出し動作は、メモリセルのすべてが単に１つのバイアス条件を用いて読み出され得るので、「通常の」読み出しであってもよいことに留意されたい。例えば、たとえメモリセルが２つの異なるＦＳＥＮＳＥを使用して検証されたとしても、それらのメモリセルは、一方のＦＳＥＮＳＥだけを使用して読み戻されてもよい。しかしながら、他方のＦＳＥＮＳＥを用いて検証された状態に対しては、適切な補償がなされる。この補償は、異なるバイアス条件に対する平均セル応答に基づいて、予期されるＶｔシフトだけ読み出しを調整することであってもよいことに留意されたい。
【０１０５】
一実施形態では、ページに対するデータがプログラムされると、システムは、また、誤り訂正符号（ＥＣＣ）のために使用される余分のビットを生成し、そのページのデータとともにこれらのＥＣＣビットを書き込むであろう。データをページから読み出す場合、ステップ１９０４においてＥＣＣビットを使用して、そのデータ内に誤りがないか否かを判定するであろう。ＥＣＣ処理は、コントローラ、ステートマシンまたはシステム内のその他の部分によって実行され得る。データ内に誤りがなければ、ステップ１９０８においてデータがユーザに報告される。ステップ１９０６において誤りが見つかれば、ステップ１９１０においてその誤りは訂正可能か否かが判定される。種々のＥＣＣ方法が、データの集合内の所定の数の誤りを訂正する能力を有する。ＥＣＣ処理がデータを訂正できれば、ステップ１９１２においてＥＣＣ処理を使用して、そのデータを訂正し、ステップ１９１４において訂正状態のそのデータがユーザに報告される。
【０１０６】
データがＥＣＣ処理によって訂正可能でなければ、ステップ１９１６においてデータ回復処理が実行されてもよい。データを回復するための多くの技術を本明細書に開示する。いくつかの実施形態では、ＳＭＴ検証中に使用される２つのバイアス条件を使用して、２つの読み出しが実行される。例えば、各メモリセルは、短いＦＳＥＮＳＥおよび長いＦＳＥＮＳＥの両方を使用して読み出されてもよい。各セルに対するこれらの読み出しを使用して、ソフトＥＣＣデコーダに対する初期値（例えば、ＬＬＲ）を計算してもよい。このように、データは回復されてもよい。データが回復された後、ステップ１９１８においてそのデータはホストに報告される。上記処理は、データをホストに報告しながら、必要に応じて、さらなるページを読み出すことによって継続できる。
【０１０７】
図１０は、一実施形態にしたがって使用され得る不揮発性記憶のためのデータを符号化および復号するためのシステムを示す。誤り訂正制御を採用して、不揮発性メモリアレイ内の誤りのあるまたは破損したデータの読み出しを検出し、補正する。一般的に言えば、符号化方式にしたがって、いくつかのさらなるＥＣＣビットまたはパリティビットを入力データから計算する、メモリアレイに記憶される。読み出しの際には、入力データおよびＥＣＣビットの両方を読み出し、デコーダがその両方を使用して、誤りが存在するか否か、またいくつかの場合には、どのビット（複数可）にその誤りが起きているかを検出する。
【０１０８】
図１０の誤り訂正制御システム２０００は、一実施形態においてコントローラ２４４の一部として実装され得るが、異なるシステムおよびアーキテクチャが使用され得る。図１０のシステムは、エンコーダ２００２、メモリアレイ２００、ＬＬＲ（対数尤度比）テーブル２００６およびデコーダ２００８を含む。ＬＬＲテーブルを使用することは、デコーダ２００８に対する初期値を決定するための１つの技術であるが、ＬＬＲの他のメトリック（ｍｅｔｒｉｃ）が使用され得ることに留意されたい。エンコーダ２００２は、メモリアレイ２００に格納されるべき、情報ビットとも呼ばれるユーザデータを受け取る。情報ビットは、行列ｉ＝［１  ０］によって表される。エンコーダ２００２は、誤り訂正符号化処理を実施し、その誤り訂正符号化処理において、パリティビットが情報ビットに付加され、行列または符号ワードｖ＝［１  ０  １  ０］によって表されるデータを提供し、２つのパリティビットがデータビットに付加されたことを示す。より複雑なやり方で入力データを出力データにマッピングする他の技術を使用することができる。Ｇａｌｌａｇｅｒ符号とも呼ばれる低密度パリティ検査（ＬＤＰＣ）符号を使用することができる。実際には、そのような符号は、典型的には、複数の記憶素子にわたって符号化された複数のページに適用される。ＬＤＰＣについてのさらなる情報は、Ｄ．ＭａｃＫａｙ、Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ、Ｉｎｆｅｒｅｎｃｅ  ａｎｄ  Ｌｅａｒｎｉｎｇ  Ａｌｇｏｒｉｔｈｍｓ、Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ  ２００３、ｃｈａｐｔｅｒ  ４７に開示されている。次いで、データビットは、論理ページにマッピングされ、不揮発性記憶素子をｖに対応する、例えばＸ＝１２のプログラミング状態にプログラムすることによって、不揮発性記憶装置２００に記憶され得る。４ビットデータ行列ｖを用いると、１６個のプログラミング状態を使用できる。一般に、パリティビットは、各個別のセルに対しては使用されない。
【０１０９】
１つの可能な実装形態では、エンコーダ２００２において実行された符号化に対応する誤り訂正復号を実行する反復確率的復号処理が使用される。反復確率的復号に関するさらなる詳細は、上記のＤ．Ｍａｋａｙ文献に見い出すことができる。反復確率的復号は、初期確率メトリックを符号ワード内の各ビットに割り当てることによってその符号ワードを復号しようとする。確率メトリックは、各ビットの信頼性、すなわち、ビットが誤っていない可能性はどれくらいかを示す。１つのアプローチにおいて、確率メトリックは、ＬＬＲテーブル２００６から得られる対数尤度比ＬＬＲである。ＬＬＲ値は、記憶素子から読み出される種々のバイナリビットの値が既知である信頼性の尺度である。
【０１１０】
ビットに対するＬＬＲは、式Q=log(P(v=0|Y)/P(v=1|Y))によって与えられ、ここで、Ｐ（ｖ＝０｜Ｙ）は、読み出し状態がＹであるという条件の下で、ビットが０である確率であり、Ｐ（ｖ＝１｜Ｙ）は、読み出し状態がＹであるという条件の下でビットが１である確率である。このように、ＬＬＲ＞０は、ビットが１である可能性よりも０である可能性のほうが高いことを示し、他方ＬＬＲ＜０は、ビットが０である可能性よりも１である可能性のほうが高いことを示す。さらに、より大きな値は、より高い確率または信頼性を示す。したがって、ＬＬＲ＝６３であるビットは、ＬＬＲ＝５であるビットよりも０である可能性が高く、ＬＬＲ＝−６３であるビットは、ＬＬＲ＝−５であるビットよりも１である可能性が高い。ＬＬＲ＝０は、ビットが０である可能性とビットが１である可能性が等しいことを示す。
【０１１１】
ＬＬＲ値は、符号ワードｙ１内の４つのビット位置の各々について与えられ得る。例えば、４．５、５．２、−５．９および６．６であるＬＬＲは、それぞれｙ１のビット０、０、１および０に割り当てられる。さらに、異なる符号ワードにおいてビット値が一貫している場合に、より大きいＬＬＲが使用されるように、ＬＬＲテーブルが複数の読み出し結果を含み得る。
【０１１２】
デコーダ２００８（本明細書において、ＥＣＣデコーダまたはソフトＥＣＣデコーダとも呼ばれる）は、符号ワードｙ１およびＬＬＲを受け取る。デコーダ２００８は、誤り符号化処理のパリティチェックが満足されたか否かの判定を連続する反復において反復してもよい。すべてのパリティチェックが満足された場合、復号処理は収束し、符号ワードは誤り訂正されたことになる。１つ以上のパリティチェックが満足されなかった場合、デコーダは、パリティチェックと一致しないビットのうちの１つ以上のビットのＬＬＲを調整し、次いで、処理におけるパリティチェックまたは次のチェックを再適用して、パリティチェックが満足されたか否かを判定してもよい。例えば、ＬＬＲの大きさおよび／または極性は調整され得る。問題のパリティチェックが依然満足されない場合、ＬＬＲは、別の反復において再度調整され得る。ＬＬＲを調整した結果、ビットが反転（例えば、０から１にまたは１から０に）する場合が、いつもではないがある。一実施形態では、一旦問題のパリティチェックが満足されると、別のパリティチェックが符号ワードに、可能であれば適用される。他の実施形態では、処理は、次のパリティチェックに進み、失敗したチェックには後でループバックする。処理は、すべてのパリティチェックを満足しようと継続する。したがって、ｙ１の復号処理が完了すると、パリティビットｖおよび復号情報ビットｉを含む復号情報が得られる。
【０１１３】
システム２０００は、エンコーダ２００２からのデータをマッピングするマッパー、およびメモリアレイ２００からのデータをデマッピングするデマッパーも有し得るであろうことに留意されたい。
【０１１４】
図１１は、不揮発性記憶装置を読み出す処理２１００の一実施形態のフローチャートである。処理２１００は、検証に使用されたものとは異なるバイアス条件を用いて読み出される際のセル間の差異を緩和してもよい。ステップ２１０２において、メモリセルは、ＳＭＴセンスを使用して検証される。ステップ２１０２は、第１のバイアス条件を使用して、第１のグループの不揮発性記憶素子を検証することと、第２のバイアス条件を使用して、第２のグループの不揮発性記憶素子を検証することと、を含んでもよい。第１のグループは、状態（例えば、奇数状態）の集合について検証されているメモリセルであり得るであろう。第２のグループは、別の状態（例えば、偶数状態）の集合について検証されているメモリセルであり得るであろう。一例として、第１および第２のグループは、プログラムされている同じワードラインに関連する。
【０１１５】
ステップ２１０２後の破線は、ステップ２１０６の前に、ある程度の時間が経過してもよいことを示す。一実施形態では、ステップ２１０４〜２１１０は、読み出し処理が失敗した場合（例えば、誤り訂正がデータを読み出すことができない）にのみ実行される。ステップ２１０４〜２１１０は、図９のデータ回復ステップ１９１６の一部であってもよいことに留意されたい。
【０１１６】
ステップ２１０４において、第１および第２のグループの不揮発性記憶素子の各々について、第１のバイアス条件を使用して、第１の見かけの閾値電圧が決定される。一実施形態では、読み出しは、多くの読み出し比較電圧にて実行され、毎回第１のバイアス条件を使用する。このとき、どのメモリセルが第１のグループ内にあり、どのメモリセルが第２のグループ内にあるのかは必ずしも分からないことに留意されたい。言い換えると、どのメモリセルが第１のバイアス条件を使用して検証され、どのメモリセルが第２のバイアス条件を使用して検証されたかは、必ずしも分からない。またＶｔは、「見かけの」閾値電圧と呼ばれる。なぜなら、メモリセルうちのいくつかは、検証中に使用されたものとは異なるバイアス条件を用いて読み出されているからである。したがって、これらのメモリセルは、異なるＶｔを有するように見えることが予期される。
【０１１７】
ステップ２１０６において、第１および第２のグループの不揮発性記憶素子の各々について、第２のバイアス条件を使用して、第２の見かけの閾値電圧が決定される。一実施形態では、多くの読み出しが実行され、毎回第２のバイアス条件が使用される。
【０１１８】
ステップ２１０８において、第１のグループおよび第２のグループの不揮発性記憶素子の各々について、第１の見かけの閾値電圧および第２の見かけの閾値電圧を使用して、ＥＣＣデコーダ２００８に対する初期値が決定される。上記のように、ＥＣＣデコーダ２００８は、初期値を使用して、反復処理を介してデータを回復してもよい。いくつかの実施形態では、ステップ２１０８は、ステップ２１０４および２１０６の読み出し結果に基づいて、１つ以上のＬＬＲテーブル２００６から適切な値にアクセスすることに関わる。しかしながら、ＬＬＲテーブル以外の技術を使用してもよい。さらなる詳細は、後で説明される。
【０１１９】
図１２は、ＥＣＣデコーダ２００８に対する初期値を決定するための処理２２００の一実施形態を例示するフローチャートである。処理２２００は、図１１のステップ２１０４〜２１０８の一実施形態である。したがって、処理２２００は、通常の読み出しが失敗した後に実行されてもよい。上記のように、処理２２００は、典型的には、ＳＭＴ検証が使用された場合に使用される。一実施形態では、ＳＭＴは、２つのバイアス条件を使用する。この例を使用して、処理２２００を説明する。しかしながら、処理２２００を変更して、２つより多くのバイアス条件を使用してもよいことに留意されたい。
【０１２０】
ステップ２２０２において、読み出しは、「Ｎ−１」個の異なる基準電圧レベルにおいて、第１のバイアス条件を使用して実行される。これは、ＳＭＴ検証中に使用されるバイアス条件のうちの１つである。例えば、第１のバイアス条件は、短い（または公称の）ＦＳＥＮＳＥであってもよい。これは、通常の読み出し中に使用されるものと同じＦＳＥＮＳＥであり得るであろう（ステップ１９０４、図９）が、これは必須でないことに留意されたい。基準電圧レベル「Ｎ−１」の数は、任意の数であってもよいが、典型的には読み出しにおいて適切な粒度を達成するのに十分な大きさである。典型的には、Ｎは、データ状態の数よりも大きい。例えば、たとえ４、８、または１６個のデータ状態のみの場合でも、Ｎは６４であり得るであろう。基準電圧レベルがＶｔ範囲にわたり均等に分布されることは必須でないことに留意されたい。
【０１２１】
ステップ２２０４において、第１の見かけの閾値電圧は、各不揮発性記憶素子に対して記憶される。これは、ステップ２２０２の読み出しに基づく。例えば、ステップ２２０２において、各基準電圧が選択されたワードラインに印加された後、ビットラインが公称ＦＳＥＮＳＥを使用してセンスされる。選択されたワードライン上の各記憶素子が基準電圧に応答して「オン」にされたと考えられるか否かの判定が行われる。この結果は、センスアンプ内のデータラッチに記憶され得る（または、センスアンプに関連付けられる）。一実施形態では、この判定は、センスキャパシタをＦＳＥＮＳＥによって定義される期間のあいだ放電することによってなされ得る。センスキャパシタの最終の電圧を調べて、記憶素子が「オン」になったか否かを判定してもよい。
【０１２２】
次いで、基準電圧は増加され、公称ＦＳＥＮＳＥを使用してセンスが再度実行される。典型的には、ある時点で、記憶素子は、基準電圧に応答してオンになったと考えられなくなるであろう。各記憶素子の見かけのＶｔは、記憶素子がオンになることに失敗した最も低い基準電圧、および／または記憶素子がオンになった最も高い基準電圧に基づいて決定されてもよい。ステップ２２０２および２２０４は、図１１のステップ２１０４の一実施形態であることに留意されたい。
【０１２３】
ステップ２２０６において、第２のバイアス条件を使用して、「Ｎ−１」個の異なる基準電圧レベルにおいて読み出しが実行される。これは、ＳＭＴ検証中に使用されるバイアス条件のうちの１つである。例えば、バイアス条件は、長いＦＳＥＮＳＥであってもよい。
【０１２４】
ステップ２２０８において、第２の見かけの閾値電圧が各不揮発性記憶素子について記憶される。これは、ステップ２２０６の読み出しに基づく。ステップ２２０６〜２２０８は、ステップ２２０２〜２２０４と同様でもよいが、異なるバイアス条件を使用する。ステップ２２０６〜２２０８は、図１１のステップ２１０６の一実施形態であることに留意されたい。
【０１２５】
ステップ２２１０において、メトリックテーブルは、記憶素子の各々について、第１および第２の見かけの閾値電圧を使用して、インデックス付けされる。この結果、各記憶素子について初期化値が得られ得る。ステップ２２１０は、図１１のステップ２１０８の一実施形態であることに留意されたい。一実施形態では、メトリックテーブルは、ＬＬＲテーブル２００６である。他のメトリックテーブルは、後で説明する。
【０１２６】
上記のように、ＬＬＲテーブル２２０６を使用することは、デコーダに対する初期値を生成するための１つの技術である。しかしながら、ＬＬＲの他に別のメトリックを使用してもよい。一実施形態では、メトリックとして、確率の対数尤度比（すなわち、ＬＬＲ）の代わりに、ビットが「０」（または、「１」）である確率が使用される。この場合、ステップ２２１０においてインデックス付けされたテーブルは、ＬＬＲの代わりの確率のテーブルとなるであろうし、ＥＣＣデコーダは、ＬＬＲメトリックの代わりに確率メトリックを用いて動作するように設計されるであろう。
【０１２７】
一実施形態では、対数尤度比の代わりに尤度比が使用される。この場合、ステップ２２１０においてインデックス付けされたテーブルは、ＬＬＲの代わりに尤度比（ＬＲ）のテーブルとなるであろうし、ＥＣＣデコーダは、ＬＬＲメトリックの代わりにＬＲメトリックを用いて動作するように設計されるであろう。
【０１２８】
一実施形態では、「ビット期待値」または「ソフトビット」とも呼ばれる確率差（Ｐ（０）−Ｐ（１））が使用される。この場合、ステップ２２１０においてインデックス付けされたテーブルは、ＬＬＲの代わりに「ビット期待値」のテーブルとなるであろうし、ＥＣＣデコーダは、ＬＬＲメトリックの代わりに「ビット期待値メトリックを用いて動作するように設計されるであろう。
【０１２９】
上記のすべてのメトリック（確率、ＬＲ、「ビット期待値」、ＬＬＲ）は、等価なメトリックであることに留意されたい。すなわち、１つのメトリックから別のメトリックへの１対１変換が存在する。しかしながら、提案される方法は、デコーダが動作するように設計される他のあらゆるメトリックにも適用可能でもある。そのようなメトリックのそれぞれに対して、適切な計算を使用して、読み出しＶｔ１およびＶｔ２値を考慮して、メトリック値を決定すべきである（またそれに応じて、テーブルが計算されるべきである）。
【０１３０】
ステップ２２１０に対して適し得るＬＬＲテーブル２００６の一実施形態をさらなる詳細に説明する。ＬＬＲテーブル２２０６の一実施形態は、最大でＮ２個のエントリを有してもよく、各エントリは、可能な見かけの閾値電圧の１つの組み合せに対応する。Ｎ−１は、処理２１００において使用される読み出し基準電圧の数に等しくてもよいことに留意されたい。ＬＬＲテーブル２００６におけるエントリは、［Ｖｔ１、Ｖｔ２］と呼ばれてもよい。ここで、Ｖｔ１は、第１の見かけの閾値電圧であり、Ｖｔ２は、第２の見かけの閾値電圧である。したがって、任意のエントリは、これら２つの見かけのＶｔを有するとして読み出された記憶素子に対するＬＬＲを含む。実際には、ＬＬＲテーブルが可能なＮ２個の組み合せすべてを含むことは必須でないことに留意されたい。可能性のないいくつかの組み合せをＬＬＲテーブル２００６から除いてもよい。例えば、いくつかの実施形態について、メモリセルに対する２つの見かけのＶｔが互いにかなり近くにあるべきであることが予期される。したがって、大きな差を有する組み合せは、省かれてもよい。
【０１３１】
一実施形態では、ＬＬＲテーブル２００６は、状態遷移行列（ＳＴＭ）に基づいて計算される。ＳＴＭは、サイズがＭ×Ｎ２であってもよい。ここで、Ｍは、プログラム状態の数である。上記のように、Ｎ−１は、ステップ２２０２または２２０６からの読み出し基準値の数であってもよい。言い換えると、Ｎは、記憶素子が処理２１００における読み出しによって有し得る見かけのＶｔの可能な数であってもよい。ＳＴＭにおけるエントリは、［ｉ，（ｊ１，ｊ２）］と呼ばれてもよい。ここで、「ｉ」は、プログラム状態であり、（ｊ１，ｊ２）は、見かけの閾値電圧の１つの可能な組み合わせをさす。一実施形態では、ＳＴＭにおけるエントリ［ｉ，（ｊ１，ｊ２）］は、状態ｉがプログラムされた場合に、第１のＦＳＥＮＳＥ条件を使用して値ｊ１を読み出す確率、および第２のＦＳＥＮＳＥ条件を使用して値ｊ２を読み出す確率に等しい。
【０１３２】
図１３Ａは、ＥＣＣデコーダ２００８に対する初期値を決定する処理２３００の一実施形態のフローチャートである。処理２３００は、図１１のステップ２１０４〜２１０８の一実施形態である。したがって、処理２３００は、通常の読み出しが失敗した後に実行されてもよい。処理２３００は、典型的には、ＳＭＴ検証が使用された場合に使用される。一実施形態では、ＳＭＴは、２つのバイアス条件を使用する。この例を使用して、処理２３００を説明する。しかしながら、処理２３００を変更して、２つより多くのバイアス条件を使用してもよいことに留意されたい。
【０１３３】
処理２３００は、各記憶素子に対して訂正項を計算することを含む。訂正項は、記憶素子が２つのバイアス条件に対して、他の記憶素子と異なってどのように応答するかに基づいていてもよい。例えば、平均的な記憶素子が第１および第２のバイアス条件の使用間で９５ｍＶのＶｔシフトを示したが、この記憶素子が１１５ｍＶシフトを示した場合、訂正項は、この２０ｍＶのずれに基づいていてもよい。
【０１３４】
処理２３００において、複数のＬＬＲテーブル２００６を使用してもよい。各訂正項に対して１つのＬＬＲテーブルがあってもよい。一実施形態では、各ＬＬＲテーブル２００６は、Ｎ個のエントリを有してもよい。再びＮは、記憶素子の可能な見かけの閾値電圧の数であってもよい。したがって、各エントリは、見かけのＶｔに対応してもよい。
【０１３５】
処理２３００は、入力として、バイアス条件の各々に対する各記憶素子の見かけの閾値電圧を使用してもよい。このために、図１２のステップ２２０２〜２２０８を使用してもよい。
【０１３６】
ステップ２３０２において、記憶素子のうちの１つに対して訂正項が決定される。上記のように、これは、バイアス条件に対するこの記憶素子と他の記憶素子との差異を補正してもよい。さらなる詳細は、後で説明される。
【０１３７】
ステップ２３０４において、訂正項に対応するＬＬＲテーブル２００６が選択される。
【０１３８】
ステップ２３０６において、選択されたＬＬＲテーブル２００６は、記憶素子の見かけのＶｔを使用してインデックス付けされる。一実施形態では、公称バイアス条件を使用して決定されたＶｔを使用する。例えば、公称ＦＳＥＮＳＥを使用して決定されたＶｔを使用してもよい。しかしながら、ＬＬＲテーブルがどのように構築されたかに応じて、いずれかの見かけのＶｔを使用してもよいであろう。
【０１３９】
ステップ２３０８において、この記憶素子に対するＬＬＲが記憶される。処理２３００は、次の記憶素子に対して継続する。したがって、ＬＬＲは、各記憶素子に対して決定されてもよい。図１３Ａは、ＬＬＲについて説明したが、他のメトリック（例えば、確率、ＬＲ、「ビット期待値」）を使用してもよいことに留意されたい。
【０１４０】
図１３Ｂは、記憶素子に対する訂正値を決定する処理２４００の一実施形態のフローチャートである。処理２４００は、入力として、バイアス条件の各々に対して各記憶素子の見かけの閾値電圧を使用してもよい。このために、図１２のステップ２２０２〜２２０８を使用してもよい。
【０１４１】
ステップ２４０２および２４０２において、各記憶素子に対する２つの読み出し値の平均差が決定される。数式１は、この計算を行うための１つの技術を表す。
【０１４２】
【数１】
2015506528.tif 000003
【０１４３】
数式１において、項Ｖｊ，１およびＶｊ，２は、ｊ番目の記憶素子の第１および第２の読み出し値である。ステップ２４０２において、各記憶素子に対する第１および第２の読み出し値（例えば、見かけの閾値電圧）の間の差が決定される。ステップ２４０４において、平均差が決定される。
【０１４４】
次に、ステップ２４０６において、各個別の記憶素子に対して、訂正項が計算されてもよい。数式２は、ｊ番目の記憶素子に対する訂正項εｊを決定するための１つの技術を示す。
【０１４５】
【数２】
2015506528.tif 000004
【０１４６】
処理２４００は、記憶素子の各々に対する訂正項を計算してもよい。処理２４００は、ＬＬＲについて説明したが、他のメトリック（例えば、確率、ＬＲ、「ビット期待値」）を使用してもよいことに留意されたい。
【０１４７】
以下に、ＬＬＲテーブル２００６の一実施形態を説明する。この実施形態を処理２３００において使用してもよい。図１３Ｃを参照すると、２つの閾値分布の一部が示されている。上部の分布は、参照として、状態２〜６を示す。状態０〜１および８〜１５は、図１３Ｃに図示されていないことに留意されたい。また、これらの閾値分布は、ＳＭＴセンスをしない検証および従来のやり方の読み出しに対応してもよいことに留意されたい。下部の分布は、１つのグループのセルに対する状態２〜６に対する閾値分布を示す。この閾値分布について、奇数状態における検証および読み出しバイアス条件の不一致による実際のＶｔシフトは、予期されるＶｔシフトと比較して、εｊだけより低い。別のグループのセルは、検証および読み出し間のバイアス不一致（異なるεｊ値に対応する）による異なるＶｔシフトを有し得る。これらの閾値分布は、ＳＭＴセンスをともなう検証、および本明細書に開示される実施形態に基づく読み出しに対応してもよい。この場合、シフトされた閾値分布（図１３Ｃに示すようなもの）についての情報は、ＥＣＣデコーダにそのデコーダを初期化するＬＬＲ値を介して通知されてもよい。任意のセル（または、値が抽出されるＬＬＲテーブル）において記憶されているビットに対するＬＬＲ値は、特定のセルに対して計算された訂正項εｊの関数である閾値分布モデルにしたがって計算されてもよい。反対に、従来のデコーダの初期化が（例えば、単一公称バイアス条件を使用する従来の読み出しに基づいて）実行される場合、ＬＬＲは、それぞれが異なるεｊ値（デコーダの初期化において、各セルの異なるεｊは既知でない）を有する複数の閾値分布の組み合わせである閾値分布にしたがって計算されてもよい。したがって、この場合の奇数状態の閾値分布は、より幅の広いローブ（ｌｏｂｅ）を有し、その結果、異なる状態の分布間の重なりが大きくなり、ビット値がより不確定となり、ＬＬＲ値の情報性がより低くなるであろう。次いで、これにより、ＥＣＣデコーダが成功する確率が低くなるであろう（または、同じ成功確率を維持するためにより高いＥＣＣ冗長性を必要としてもよい）。
【０１４８】
偶数閾値分布は、それらの中心がほぼ同じ電圧において位置してもよいが、これは必須でないことに留意されたい。図１３Ｃの下部において、奇数閾値分布は、分布においてずれる。この例において、奇数閾値分布は、訂正項だけずれる。したがって、この場合の状態中心は、数式３によって与えられてもよい。
【０１４９】
【数３】
2015506528.tif 000005
【０１５０】
値μは、公称状態中心である。例えば、これは、ＳＭＴノイズが一切ないと仮定した場合には正しい。訂正項は、奇数状態の公称状態中心の中心に適用される。これは、偶数状態が公称バイアス条件（例えば、短いＦＳＥＮＳＥ）を使用して検証され、奇数状態が変更バイアス条件（例えば、長いＦＳＥＮＳＥ）を使用して検証されたという仮定に基づく。通常の読み出し（例えば、ステップ１９０４、図９）中には、公称バイアス条件を使用してもよいことに留意されたい。したがって、訂正項は、ＳＭＴノイズの影響を受ける状態に適用されてもよい。
【０１５１】
図１３Ａのステップ２３０６におけるＬＬＲテーブル２００６の選択を再度参照すると、セルｊのＬＬＲは、訂正項εｊの関数である特定のセルｊの推定状態中心に対する第１の読み出し値Ｖｊ１に基づいて計算されてもよい。例えば、推定状態中心は、[m0 m1-ej m2 m3-ej…]によって与えられてもよい。一実施形態では、いくつかのＬＬＲテーブル２００６は、オフラインで計算される。各ＬＬＲテーブル２００６は、異なる誤り項（εｊを参照、図１３Ｃ）に対応してもよい。次いで、図１３Ａが実行されると、適したＬＬＲテーブル２００６は、記憶素子に対して計算された誤り訂正項に基づいて、選択される。
【０１５２】
図１４は、ＥＣＣに対する初期値を決定する処理２５００の一実施形態のフローチャートを記載する。処理２５００は、図１１のステップ２１０４〜２１０８の一実施形態である。したがって、処理２５００は、通常の読み出しが失敗した後に実行されてもよい。処理２５００は、１つの記憶素子に対してＬＬＲを決定することを記載する。
【０１５３】
ステップ２５０２において、ＬＬＲテーブル２００６が記憶素子の第１および第２の見かけの閾値電圧に基づいて選択される。この選択のための１つの技術は、記憶素子に対する訂正項εｊを計算することである。次いで、ＬＬＲテーブル２００６が、訂正項εｊに基づいて選択されてもよい。しかしながら、別の技術を使用して、記憶素子の第１および第２の見かけの閾値電圧に基づいて、ＬＬＲテーブル２００６を選択してもよい。
【０１５４】
ステップ２５０４において、選択されたＬＬＲテーブル２００６は、記憶素子の第１および第２の見かけの閾値電圧の一方に基づいてインデックス付けされる。第１または第２の見かけの閾値電圧のいずれを使用するかは、ＬＬＲテーブル２００６がどのように構築されたかに依存してもよい。処理２５００は、ＬＬＲについて説明したが、他のメトリック（例えば、確率、ＬＲ、「ビット期待値」）を使用してもよいことに留意されたい。
【０１５５】
図１５Ａは、プログラム動作中のＳＭＴ検証の処理の一実施形態のフローチャートである。処理は、図１１のステップ２１０２の一実施形態である。ステップ２６０２において、第１のグループの不揮発性記憶素子は、第１のバイアス条件を使用して検証される。この第１のバイアス条件は、「公称」バイアス条件と呼ばれてもよい。
【０１５６】
ステップ２６０４において、第２のグループの不揮発性記憶素子は、第２のバイアス条件を使用して検証される。第１のグループは、第１集合の状態にプログラムされている記憶素子であり得るであろうし、第２のグループは、第２集合の状態にプログラムされている記憶素子であり得るであろう。
【０１５７】
ＳＭＴセンスは、２つより多くのバイアス条件を使用することができることに留意されたい。したがって、例えば、第３のグループの記憶素子が第３のバイアス条件を使用して検証され得、第４のグループの記憶素子が第４のバイアス条件を使用して検証され得るだろう。
【０１５８】
図１５Ｂは、２つのＦＳＥＮＳＥが使用されるＳＭＴセンス処理の一実施形態のフローチャートである。ステップ２６１０において、検証基準電圧が選択されたワードラインに印加される。
【０１５９】
ステップ２６１２において、第１のグループの記憶素子が、第１の（例えば、公称）ＦＳＥＮＳＥを使用してセンスされる。一例として、これら第１のグループの記憶素子は、状態１にプログラムされている記憶素子であり得るであろう。
【０１６０】
ステップ２６２４において、第２のグループの記憶素子が、第２のＦＳＥＮＳＥを使用してセンスされる。一実施形態では、第２のＦＳＥＮＳＥは、公称ＦＳＥＮＳＥよりも長いＦＳＥＮＳＥである。しかしながら、第２のＦＳＥＮＳＥは、代わりにより短いＦＳＥＮＳＥであり得るであろう。第１の例（より長いＦＳＥＮＳＥ→Ｖｔシフトダウン）において、第２のグループの記憶素子は、状態０にプログラムされている記憶素子であり得るであろう。第２の例（より短いＦＳＥＮＳＥ→Ｖｔシフトアップ）において、記憶素子は、状態２にプログラムされてもよい。ステップ２６１２および２６１４の両方は、ステップ２６１０に応答して実行され得ることに留意されたい。
【０１６１】
ステップ２６１６において、検証すべき状態がさらにあるか否か判定される。さらにある場合、検証基準電圧は増加される。一実施形態では、検証基準電圧は、基準レベルを２段階だけ増加される。したがって、次の公称ＦＳＥＮＳＥ（ステップ２６１２）は、状態３にプログラムされているメモリセルをテストし得るであろう。ステップ２６１４の次の適用は、状態４にプログラムされているメモリセルをテストし得るであろう。その処理が完了した後、１つ以上のさらなるプログラムパルスが印加されてもよい。毎回すべての状態が検証されることは必須でないことに留意されたい。例えば、最も高い状態の検証は、プログラミングの初期には省かれ得るであろう。同様に、より低い状態の検証は、プログラミングの後期には省かれ得るであろう。
【０１６２】
以下に、読み出し中のＳＭＴノイズ緩和の簡単な分析を説明する。この分析は、プログラミング中にＳＭＴを使用しているメモリにおいて、所望のメモリ信頼性を達成するために必要となるＥＣＣ冗長性という点で、従来の読み出しおよびデコーダ初期化方法と比較して、本明細書に開示される実施形態の有利な点を示す。以下の記載は、ＦＳＥＮＳＥについてなされるが、他のバイアス条件にも当てはまる。従来のセンスを使用する際に基本閾値電圧分布幅を左右する種々の「ノイズ」を、標準偏差がsbaseである、「ノイズ−１」と示されるガウシアンノイズ項によってモデル化する。ＳＭＴセンスを使用する際、さらなるノイズ項がＦＳＥＮＳＥバラツキにより付加されてもよい。このノイズ項は、標準偏差がsFSENEである、「ノイズ−２」と示されるガウシアンノイズ項によってモデル化する。ＳＭＴが二重状態検証のために使用されると仮定すると、「ノイズ−２」項は、状態の半分、例えば検証に用いたものとは異なるバイアスにおいて読み出される状態、に影響する。
【０１６３】
図１６Ａは、単一の読み出し動作を使用する従来の読み出しを例示する。図１６Ｂは、実施形態にしたがって、各セルが２度読み出される（例えば、２つのＦＳＥＮＳＥ条件を用いる）複数読み出しアプローチを例示する。複数読み出しアプローチの一実施形態は、効果ＦＳＥＮＳＥバラツキを緩和し得る。図１６Ａおよび１６Ｂにおいて、セルのプログラム状態である入力Ｓがマッパー２００３からの入力であり得るであろうし、出力は、デマッパー２００７への出力であり得る。
【０１６４】
種々の読み出し方法によって必要とされる冗長性は、情報理論ツールを使用して解析的に計算され得る。情報理論は、ＥＣＣ冗長性Ｒが１−（Ｃ／log2(M)）値以上であれば、ＥＣＣ方式を使用して、メモリ「チャネル」（図１６Ａおよび図１６Ｂに示すようなもの）において信頼できる記憶が可能であることを保証する。ここで、Ｍは、可能なデータ状態の数であり、Ｃは、以下によって与えられるセルの能力（１セル当たりの情報ビットで測られる）である。ここで、Ｓは、セルのプログラム状態を表す確率変数であり、ＶＴＨは、セルの読み出し閾値電圧を表す確率変数である。
【０１６５】
【数４】
2015506528.tif 000006
【０１６６】
ランダムなデータが記憶されるか、またはスクランブルする仕組み（ｓｃｒａｍｂｌｉｎｇ  ｍｅｃｈａｎｉｓｍ）が使用されると仮定すると、以下の式である。
【０１６７】
【数５】
2015506528.tif 000007
【０１６８】
読み出しセルのＶＴＨは、量子化されてもよい。したがって、この仮定のもとにおいて、ＶＴＨは、有限集合のＮ個の値｛V1,V2,…,VN｝だけを取ることができる。ここで、Ｎ−１は、読み出し閾値の数である［本発明者らはここまでＮという表記を使用した］。セルの読み出し電圧は、実際のセル閾値電圧nthがLTH(ＶＴＨ)? nt?UTH(ＶＴＨ)ならば、以下の式であり得る。ここで、ＬＴＨおよびＵＴＨは、Ｎ個の可能な読み出し値｛V1,V2,…,VN｝の各々に対する低い方および高い方の読み出し閾値に一致する関数である。
【０１６９】
【数６】
2015506528.tif 000008
【０１７０】
従来のセンス（sFSENE=0である図１６Ａに相当する）について、すべての状態に対して等しい標準偏差sbaseを有するガウシアンＣＶＤモデルを仮定すると、条件付き確率関数P(VTH|S)は、以下の式によって与えられる。ここで、msは、状態Ｓ  ＣＶＤの平均値である。
【０１７１】
【数７】
2015506528.tif 000009
【０１７２】
従来の単一読み出し方法を用い、図１６Ａに示すモデルを使用するＳＭＴセンスについて、基本標準偏差がsbaseであり、ＦＳＥＮＳＥバラツキノイズ標準偏差がsFSENEである。この場合、条件付き確率関数P(VTH|S)は、以下の式によって与えられる。
【０１７３】
【数８】
2015506528.tif 000010
【０１７４】
二重読み出し方法を用い、図１６Ｂに示すモデルを使用するＳＭＴセンスについて、基本標準偏差がsbaseであり、ＦＳＥＮＳＥバラツキノイズ標準偏差がsFSENEである。
【０１７５】
図１２の処理の一実施形態では、セル能力Ｃは、以下の式によって与えられる。
【０１７６】
【数９】
2015506528.tif 000011
【０１７７】
ここで、条件付き確率関数P(VTH1,VTH2|S)は、以下の式によって与えられる。
【０１７８】
【数１０】
2015506528.tif 000012
【０１７９】
図１３Ａの処理の一実施形態では、セル能力Ｃは、以下の式によって与えられる。
【０１８０】
【数１１】
2015506528.tif 000013
【０１８１】
および条件付き確率関数P(VTH1|S, e)は、以下の式によって与えられる。
【数１２】
2015506528.tif 000014
【０１８２】
上記の計算は、デマッパー２００７が「ソフト」状態推定値（すなわち、状態ＬＬＲ）を出力すると仮定することに留意されたい。ほとんどのＥＣＣデコーダにおいて行われるように、デマッパー２００７が「ソフト」ビット推定値（すなわち、ビットＬＬＲ）を出力する場合は、能力計算は、異なりであろうし、ビット対状態マッピングに依存するであろう。
【０１８３】
ＬＬＲテーブルの使用は、デコーダ初期化のためのメトリックの一例であることに留意されたい。ＬＬＲテーブルは、デコーダハードウエア固定点実装に対して都合がよいだろうが、他の技術が使用されてもよい（任意のデコーダ実装について）。したがって、他のメトリックが使用されてもよい。一実施形態では、ビットが「０」（または「１」）である確率が、ＬＬＲの確率を使用する代わりに使用される。一実施形態では、尤度比が、対数尤度比の代わりに使用される。一実施形態では、「ビット期待値」または「ソフトビット」とも呼ばれる確率差（Ｐ（０）−Ｐ（１））が使用される。したがって、他の技術を使用して、デコーダ初期値またはメトリックを決定してもよい。
ＳＭＴセンス
【０１８４】
以下に、ＳＭＴセンスのいくつかの実施形態を、さらに詳細に説明する。一実施形態では、メモリセルの読み出しまたは検証しながら、異なる電圧がメモリセルのゲートおよびソース間に印加される。例えば、同じ検証動作中に異なる閾値電圧を検証するために、異なる電圧がメモリセルのゲートおよびソース間に印加される。別の例として、クロスカップリング効果に対して異なる補償量を適用するために、異なる電圧がメモリセルのゲートおよびソース間に印加される。一実施形態では、１つのＮＡＮＤストリング上のメモリセルをテストして、そのメモリセルの閾値電圧がＶｖａ以上であるか否かを判定し、同時に別のＮＡＮＤストリング上のメモリセルをテストして、そのメモリセルの閾値電圧がＶｖｂ以上であるか否かを判定する。同時に、第３のＮＡＮＤストリング上の第３のメモリセルをテストして、そのメモリセルの閾値電圧がＶｖｃより上であるか否かを判定する。
異なるバイアス条件の選択された異なるメモリセルへの適用
【０１８５】
図１７Ａは、メモリセルの異なるストリング上の選択されたメモリセルにわたり、異なるゲート−ソース電圧を印加することが可能な回路の模式図である。この模式図を使用して、一実施形態の原理を説明する。電圧Ｖｃｇｒｖが選択されたワードライン（例えば、ＷＬ２）に印加されてもよい一方、Ｖｒｅａｄが非選択のワードラインに印加されてもよい。回路は、電圧ＶＤ、ＶＤ−Δ、ＶＳ、およびＶＳ−Δをメモリセルのストリングに接続するためのスイッチＳ１〜Ｓ８を有する。２つより多くのストリングがあってもよいことに留意されたい。また、この例において、メモリセルのストリングは、共通ソースラインによって接続されていないことに留意されたい。
【０１８６】
スイッチＳ２およびＳ５を閉じて、１つのストリングにわたりＶＤ−ＶＳが生じるようにしてもよい。あるいは、スイッチＳ１およびＳ６を閉じて、そのストリングにわたり（ＶＤ−Δ）−（ＶＳ−Δ）またはＶＤ−ＶＳが生じるようにしてもよい。したがって、選択されたメモリセルのＶｄｓは、どちらのスイッチ構成を用いたとしてもほぼ同じであろう。しかしながら、Ｖｇｓは、一方のスイッチ構成については、Ｖｃｇｒｖ−ＶＤで、他方のスイッチ構成については、Ｖｃｇｒｖ−ＶＤ＋Δであろう。したがって、Ｖｇｓは、Ｖｄｓを変更せずに変更され得る。スイッチＳ３、Ｓ４、Ｓ７およびＳ８は、他のメモリセルのストリングに対しても同様に使用され得る。したがって、同じＶｃｇｒｖを選択されたワードラインに印加しながら、異なるＶｇｓをストリングに印加し得る。したがって、同じＶｃｇｒｖを選択されたワードラインに印加しながら、２つの異なる閾値電圧をテストし得る。
【０１８７】
図１７Ｂは、読み出し動作中に、異なる電圧が印加されるＮＡＮＤストリングの模式図である。この回路は、例として、読み出しまたはプログラム検証中に同じワードライン上の異なるメモリセルに異なるクロスカップリング補償量を印加するために、同じワードライン上の異なるメモリセルに対する異なる閾値電圧を検証する際に使用され得る。回路は、同時に２つの異なる閾値電圧を読み出すことに関わる他の用途を有してもよい。
【０１８８】
ＮＡＮＤストリングは、一端において、共通ソースラインによって電気的に接続される。他端において、各ＮＡＮＤストリングは、個別のビットラインに電気的に接続される。１行のメモリセルのゲートを電気的に接続するワードラインは、図が不明瞭とならないように図示していない。選択されたワードラインに関連するメモリセルは、読み出しまたは検証のために選択される。すなわち、これらのメモリセルの各々は、そのメモリセルの閾値電圧が検証（または読み出し）動作中にある基準電圧に比較されるべきである。異なるメモリセルは、そのメモリセルの閾値電圧が２つ以上の異なる基準電圧に比較されてもよい。例えば、図８Ａを簡単に参照すると、１つのメモリセルは、そのメモリセルの閾値電圧がＶｖａと比較される一方、別のメモリセルは、そのメモリセルの閾値電圧がＶｖｂと比較される。第３のメモリセルは、そのメモリセルの閾値電圧がＶｖｃと比較されてもよいであろう。例えば、これがメモリセルをプログラムする検証段階中に実行される場合、各メモリセルは、同時に検証され得る。例えば、図８Ｂを参照すると、各プログラムパルスの後に、プログラムされているすべてのメモリセルの閾値電圧をテストするために、単一の検証信号（Ｖ検証）が選択されたワードラインに印加される。したがって、プログラムパルス間で使用される検証動作が少なくなるので時間を節約できる。さらに、必要な検証動作がより少なくなるので、電力を節約できる。
【０１８９】
図１７Ｂを再度参照すると、読み出し基準電圧（例えば、Ｖｃｇｒｖ）が選択されたワードラインに印加される一方、読み出しパス電圧（例えば、Ｖｒｅａｄ）が非選択のワードラインに印加される。したがって、選択されたメモリセルの各々は、Ｖｃｇｒｖがそのメモリのゲートに印加される。読み出しパス電圧（Ｖｒｅａｄ）は、非選択のメモリセルをプログラムされた状態に関係なくオンになる（例えば、電流を導通させる）ようにすべき電圧レベルである。１つのグループのメモリセルは、それらのメモリセルのビットラインがＶｓにバイアスされ、別のグループのメモリセルは、それらのメモリセルのビットラインがＶｓ−Δにバイアスされる。例えば、１つの閾値電圧についてテストされているメモリセルは、それらのメモリセルのビットラインがＶｓにバイアスされる一方、異なる閾値電圧についてテストされているメモリセルは、それらのメモリセルのビットラインがＶｓ−Δにバイアスされる。さらに別のメモリセルは、さらに別の電圧をそれらのメモリセルのビットラインに印加することによって、さらに別の閾値電圧についてテストされ得るであろうことに留意されたい。この実施形態では、電圧Ｖｓｏｕｒｃｅは、共通ソースラインに印加される。電圧Ｖｓｏｕｒｃｅは、ビットラインに印加される電圧よりも大きい。したがって、導電電流（Ｉｃｅｌｌ）がソースラインからビットラインに流れる。実際には、メモリセルの下部がドレインとして機能し、メモリセルの上部がソースとして機能する。選択されたメモリセルのうちの１つのメモリセルのゲート、ソースおよびドレインが標識付けられた。選択されたメモリセルは、そのメモリセルの閾値電圧がゲート−ソース電圧以下であればオンになるであろうことに留意されたい。また、上記のように、記載の一貫性のために、図９Ｂの下部でＮＡＮＤストリングを互いに接続するラインを、メモリセルの下部がドレインとして機能しているが、共通ソースラインと呼ぶことに留意されたい。一実施形態では、セルのＶｔは、電圧バイアスのＶｇｓおよびＶｄｓの両方に応じて測定される。Δが比較的小さい場合、Ｖｓが印加されるビットライン上のメモリセルのＶｄｓは、Ｖｓ−Δが印加されるビットラインのＶｄｓに非常に近いであろうことに留意されたい。
【０１９０】
図１７Ｃは、検証動作中に異なる電圧が印加されるＮＡＮＤストリングの模式図である。この回路は、例として、読み出しまたはプログラム検証中に同じワードライン上の異なるメモリセルに異なるクロスカップリング補償量を印加するために、同じワードライン上の異なるメモリセルに対する異なる閾値電圧を検証する際に使用され得る。回路は、同時に、２つの異なる閾値電圧を読み出すことに関わる他の用途を有してもよい。構造は、図９Ｂの構造と同様である。しかしながら、ビットラインに印加される電圧は、共通ソースラインに印加される電圧よりも高い。したがって、選択されたメモリセルの上部は、ドレインとして機能し、選択されたメモリセルの下部は、ソースとして機能する。この実施形態では、導電電流は、ビットラインからソースラインに流れる。読み出し基準電圧（Ｖｃｇｒｖ）が選択されたワードラインに印加される一方、読み出しパス電圧（Ｖｒｅａｄ）が非選択のワードラインに印加される。選択されたメモリセルのうちの１つは、そのメモリセルのゲート、ソース、およびドレインが標識付けされる。ドレインおよびソースは、ＮＡＮＤストリングにわたる電圧の印加のされ方により、図１７Ｂと比較して、互いに切り替えられることに留意されたい。
【０１９１】
１つのグループのメモリセルは、それらのメモリセルのビットラインがＶｄにバイアスされる一方、別のグループのメモリセルは、それらのメモリセルのビットラインがＶｄ＋Δにバイアスされる。例えば、１つの閾値電圧についてテストされているメモリセルは、それらのメモリセルのビットラインがＶｄにバイアスされる一方、異なる閾値電圧についてテストされているメモリセルは、それらのメモリセルのビットラインがＶｄ＋Δにバイアスされる。この例において、選択されたワードライン上の各メモリセルは、同じゲート−ソース電圧を受けることに留意されたい。すなわち、すべての選択されたメモリセルは、同じゲート電圧を有し、ＮＡＮＤストリングは、共通ソースラインによって接続される。しかしながら、それらのメモリセルのドレイン−ソース電圧は、ビットラインに印加される異なる電圧により、異なり得る。セルのＶｔは、電圧バイアスのＶｄｓに応じて測定される。
【０１９２】
メモリセルの閾値電圧は、ドレイン電圧の関数であってもよい。例えば、ドレイン誘起障壁低下（ＤＩＢＬ）と呼ばれる現象が電界効果トランジスタ（ＦＥＴ）の閾値電圧を変化させ得ることに留意されたい。いくつかの装置に対して、ドレイン電圧の増加は、閾値電圧を低減する。いくつかの装置に対して、ドレイン電圧の増加が、閾値電圧を低下させる効果を有する空乏領域を増加する。
【０１９３】
一実施形態では、いくつかのビットラインは、選択されたメモリセルに、ＤＩＢＬをほとんどまたは全く生じさせない電圧が印加される。そのようなメモリセルは、それらのメモリセルの閾値電圧がＶｇｓ未満であれば、オンになるであろう。しかしながら、他のビットラインは、選択されたメモリセルの閾値電圧を効果的に低下させるのに十分なＤＩＢＬを生じさせる、より大きな電圧が印加される。したがって、これらのメモリセルは、それらのメモリセルの実際の閾値電圧がＶｇｓよりもわずかに低いだけの場合でさえ、オンになり得る。
【０１９４】
以下の例を例示のために使用する。いくつかのメモリセルは、それらのメモリセルの閾値電圧が３．０Ｖ未満であるか否かを判定するためにテストされ、他のメモリセルは、それらのメモリセルの閾値電圧が３．５Ｖ未満であるか否かを判定するためにテストされてもよい。３．０Ｖの電圧が選択されたワードラインに印加され、読み出しパス電圧が非選択のワードラインに印加されてもよい。共通ソースラインは、接地されてもよい。３．０Ｖの閾値電圧についてテストされているメモリセルのビットラインは、ＤＩＢＬをほとんどまたは全く生じさせないように意図された電圧にバイアスされる。３．５Ｖの閾値電圧についてテストされているメモリセルのビットラインは、少なくともＤＩＢＬのない閾値電圧が３．５Ｖに近いという前提の下に、ＤＩＢＬの量が閾値電圧を約０．５Ｖだけ低下させるように意図された電圧にバイアスされてもよい。したがって、３．５Ｖの閾値電圧についてテストされているメモリセルは、３．０Ｖが選択されたワードラインに印加されることを考慮すると、それらのメモリセルの閾値電圧が３．５Ｖより低ければ、オンになるであろうが、それらのメモリセルの閾値電圧が３．５Ｖより高い場合、オンにならないであろう。他のメモリセルは、異なる電圧をビットラインに印加してＤＩＢＬによる閾値電圧における異なるシフトを生じさせることによって、さらに別の閾値電圧についてテストされ得るであろうことに留意されたい。
【０１９５】
図１８は、異なるＮＡＮＤストリングにわたり異なる電圧を印加することによって、異なるＮＡＮＤストリングにおけるメモリセルの状態をセンスする処理の一実施形態のフローチャートである。図１８の処理は、ＳＭＴセンスの一実施形態である。本明細書における実施形態は、読み出しを行いながらＳＭＴノイズを緩和する。例えば、ＬＬＲが決定されてもよい。一実施形態では、ＮＡＮＤストリングにわたる異なる電圧は、検証または読み出しされている異なるメモリセルに対して異なるＶｇｓを生じさせることに留意されたい。別の実施形態では、ＮＡＮＤストリングにわたる異なる電圧は、検証または読み出しされている異なるメモリセルについて異なるＶｄｓを生じさせることに留意されたい。図１７Ｂおよび１７Ｃの回路例を参照しながら図１８を説明する。これらの回路のいずれを使用してもよい。しかしながら、図１８の処理は、これらの回路に限定されない。
【０１９６】
ステップ９０１において、ＮＡＮＤストリングにわたって印加される適切な電圧が決定される。一実施形態では、これは、任意のビットラインにＶｓまたはＶｓ−Δのいずれを印加するかを判定することに相当する。一実施形態では、これは、任意のビットラインにＶｄまたはＶｄ＋Δのいずれを印加するかを判定することに相当する。３つ以上の異なる電圧がＮＡＮＤストリングにわたって印加され得るであろうことに留意されたい。適切な電圧差を決定することのさらなる詳細は、後で説明される。
【０１９７】
ステップ９０２において、第１の電圧差を第１のＮＡＮＤストリングにわたって生じさせる。例えば、Ｖｓがビットラインに印加される一方、Ｖｓよりも大きな電圧がソースラインに印加される。したがって、導電電流（起きるとすれば）は、ソースラインからビットラインに流れ得る。別の例として、Ｖｄがビットラインに印加される一方、Ｖｄよりも小さな電圧（例えば、接地）がソースラインに印加される。したがって、導電電流（起きるとすれば）は、ビットラインからソースラインに流れ得る。一実施形態では、第１のＮＡＮＤストリングは、第１の閾値レベルで検証されているメモリセルを有する。例えば、そのメモリセルの閾値電圧がＶｖａよりも大きいか否かの判定がなされている。
【０１９８】
９０４において、第２の電圧差を第２のＮＡＮＤストリングにわたって生じさせる。例えば、Ｖｓ−Δがビットラインに印加される一方、Ｖｓ−Δよりも大きな電圧がソースラインに印加される。ソースラインは、すべてのビットラインに共通であるので、ソースライン電圧は、ステップ９０２のおけるソースライン電圧と同じであろう。別の例として、Ｖｄ＋Δがビットラインに印加される一方、Ｖｄ＋Δよりも小さい電圧（例えば、接地）がソースラインに印加される。一実施形態では、第２のＮＡＮＤストリングは、第２の閾値レベルにおいて検証されているメモリセルを有する。例えば、そのメモリセルの閾値電圧がＶｖｂよりも大きいか否かの判定がなされている。
【０１９９】
オプションのステップ９０６において、第３の電圧差を第３のＮＡＮＤストリングにわたって生じさせる。例えば、Ｖｓ−２Δがビットラインに印加される一方、Ｖｓ−２Δよりも大きな電圧がソースラインに印加される。別の例として、Ｖｄ＋２Δがビットラインに印加される一方、Ｖｄ＋２Δよりも小さな電圧（例えば、接地）がソースラインに印加される。一実施形態では、第３のＮＡＮＤストリングは、第３の閾値レベルにおいて検証されているメモリセルを有する。例えば、そのメモリセルの閾値電圧がＶｖｃよりも大きいか否かの判定がなされている。
【０２００】
ステップ９０２、９０４、および９０６は、同時に実行されてもよい。選択されたワードラインに沿って数千個の選択されたメモリセルが存在し得ることに留意されたい。したがって、ステップ９０２は、同時に多くの異なるＮＡＮＤストリングに適用されてもよい。同様に、ステップ９０４および９０６（実行される場合）は、多くの異なるＮＡＮＤストリングで実行されてもよい。
【０２０１】
ステップ９０８において、第１および第２の電圧差を生じさせながら、読み出し基準電圧が選択されたワードラインに印加される。例えば、Ｖｃｇｒｖが選択されたワードラインに印加されてもよい一方、Ｖｓｏｕｒｃｅが共通ソースラインに印加され、ＶｓまたはＶｓ−Δの一方がビットラインに印加される。あるいは、Ｖｃｇｒｖが選択されたワードラインに印加されてもよい一方、Ｖｓｏｕｒｃｅが共通ソースラインに印加され、ＶｄまたはＶｄ−Δの一方がビットラインに印加される。したがって、単一の基準電圧が選択されたメモリセルのゲートに印加されてもよい。
【０２０２】
ステップ９１０において、第１の電圧差および読み出し電圧に応答して、第１の不揮発性記憶素子の第１の状態をセンスして、第１の不揮発性記憶素子の閾値電圧が第１の基準電圧よりも高いか低いかを判定する。例えば、メモリセルの導電電流をセンスして、閾値電圧がＶｖａよりも大きいか否かを判定する。
【０２０３】
ステップ９１２において、第２の電圧差および読み出し電圧に応答して、第２の不揮発性記憶素子の第２の状態をセンスして、第２の不揮発性記憶素子の閾値電圧が第２の基準電圧より高いか低いかを判定する。第２の基準電圧は、第１の基準電圧とは異なってもよい。例えば、メモリセルの導電電流をセンスして、閾値電圧がＶｖｂよりも大きいか否かを判定する。第１および第２の基準電圧が検証レベルであることは必須でないことに留意されたい。例えば、第１の基準電圧は、Ｖｖａ＋Δであり得るであろうし、第２の基準電圧は、Ｖｖａ−Δであり得るであろう。また、第１および第２の基準電圧が異なることは必須でないことに留意されたい。例えば、図１０の処理を使用して、異なるクロスカップリング補償量を適用してもよい。この場合、第１および第２の基準電圧は、同じであってもよい。例えば、処理は、異なるクロスカップリング補償量を各メモリセルに適用しつつ、２つの異なるメモリセルの閾値電圧がＶｖａよりも大きいか否かについてテストし得るであろう。
【０２０４】
オプションのステップ９１４において、第３の電圧差および読み出し電圧に応答して、第３の不揮発性記憶素子の第３の状態をセンスして、第３の不揮発性記憶素子の閾値電圧が第３の基準電圧よりも高いか低いかを判定する。一実施形態では、第３の基準電圧は、第１および第２の基準電圧の両方と異なる。例えば、メモリセルの導電電流をセンスして、閾値電圧がＶｖｃよりも大きいか否かを判定する。
【０２０５】
図１９Ａは、ビットラインをソースライン電圧よりも低い電圧に帯電するためのセンスモジュール４８０の一実施形態のブロック図である。センスモジュール４８０は、図１８のステップ９０２、９０４、または９０６のうちのいずれかを実施する際に使用してもよい。例えば、センスモジュール４８０を使用して、ビットライン上にある電圧を確立してもよい。別の回路（図１９Ａに図示せず）がソースライン上にある電圧を確立してもよい。したがって、センスモジュール４８０を使用して、ＮＡＮＤストリングにわたってある電圧差を生成してもよい。ビットライン上の電圧は、ソースライン電圧より小さくてもよい。センスモジュール４８０を使用して、図１７Ｂの回路例に対してＶｓおよびＶｓ−Δを確立し得るであろう。
【０２０６】
センスモジュール４８０は、電流シンク１１３０、電流源１２３０、電流センス１１３２、および制御回路１１３４を有する。電流シンク１１３０は、逆方向センスのために使用してもよく、異なる電圧をビットラインに印加するために１〜ｎ個の異なるビットライン電圧セットアップ（ｓｅｔｕｐ）を含んでもよい。電流源１２３０は、順方向センスのために使用してもよく、やはり異なる電圧をビットラインに印加するために１〜ｎ個の異なるビットライン電圧セットアップを含んでもよい。制御回路１１３４は、スイッチＳ１１を制御して、電流シンク１１３０をビットラインに接続する。制御回路１１３４は、スイッチＳ１３を制御して、電流源１２３０をビットラインに接続する。制御回路１１３４は、スイッチＳ１２を制御して、電流センス１１３２をビットラインに接続する。一実施形態では、制御回路１１３４は、電流シンク１１３０をビットラインに接続して、ＩｃｈａｒｇｅＢを吸い込んで（ｓｉｎｋ）、電圧を目標電圧に低減する。電流センスは、図６のセンスモジュールのセンス回路４７０の一実装形態である。図２４の回路は、さらなる詳細を提供する。他の実装形態が可能である。図１９Ｂは、図１９Ａのセンスモジュール４８０のブロック図であり、メモリセルの閾値電圧をセンスする際の電流の方向を示す。
【０２０７】
制御回路１１３４は、データを受け取る。このデータを使用して、ビットラインがどの電圧レベルに帯電されるべきかを判定する。一実施形態では、データは、検証されている基準レベルに基づく。例えば、データは、Ｖｖａ、Ｖｖｂ、Ｖｖｃまたは別の基準レベルが検証されているかを示し得るであろう。一実施形態では、データは、所望されるクロスカップリング補償量に基づく。例えば、データは、低いまたは高い補償量のいずれが所望されるかを示し得るであろう。一実施形態では、クロスカップリング補償は、近傍のメモリセルのＶｔに基づく。一実施形態では、クロスカップリング補償は、近傍のメモリセルがプログラムされている状態に基づく。したがって、データは、Ｖｔに基づく近傍の実際のまたは目標のデータ状態を示し得る。さらなる詳細は、後で説明される。一実施形態では、データは、読み出されているメモリセルの以前の読み出しに基づく。例えば、データは、メモリセルが目標のＶｔより高い／低い閾値電圧を有すると以前に判定されたか否かを示し得るであろう。
【０２０８】
図２０Ａは、ビットラインをソースライン電圧よりも高い電圧に帯電させるためのセンスモジュール４８０の一実施形態のブロック図である。センスモジュール４８０は、図１８のステップ９０２、９０４、または９０６のいずれかを実施する際に使用されてもよい。例えば、センスモジュール４８０を使用して、ＮＡＮＤストリングにわたってある電圧差を生成してもよい。センスモジュール４８０は、電流源１２３０、および電流センス１１３２を有する。スイッチＳ２１は、電流源１２３０をビットラインに接続する。スイッチＳ２２は、電流センス１１３２をビットラインに接続する。図１２Ｂは、図１２Ａのセンスモジュール４８０のブロック図であり、メモリセルの閾値電圧をセンスする際の電流の方向を示す。図１１Ａの回路と同様に、制御回路１１３４は、データを受け取る。このデータを使用して、ビットラインをどの電圧レベルに帯電させるべきかを判定する。センスモジュール４８０を使用して、図１７Ｃの回路例に対するＶｄおよびＶｄ＋Δを確立し得るであろう。
【０２０９】
図２１Ａは、検証されている状態に基づいてＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。処理は、図１８のステップ９０１の一実施形態である。この処理は、検証されているメモリセルのすべてに対して実行され得る。ステップ１２０２において、どの状態が検証されているかの判定がなされる。一実施形態では、センスモジュール４８０に接続されるラッチが、選択されたメモリセルがどの状態にプログラムされているかを示すデータを保持する。このラッチは、少なくともメモリセルがプログラムされている限りこの値を保持し得るので、そのラッチの値を使用して、検証レベルを決定し得る。一実施形態では、このラッチからのデータは、図１９Ａまたは２０Ａのいずれか一方の制御回路１１３４に入力されるデータである。
【０２１０】
ステップ１２０４において、検証されている状態に基づいてビットラインに印加すべき適切な電圧を決定する。一実施形態では、制御回路１１３４は、ビットラインに印加すべき適切な電圧を決定する。この実施形態では、すべてのメモリセルが共通ソースラインによって接続されていると仮定されることに留意されたい。したがって、ビットラインに印加すべき電圧を決定することは、実際には、ＮＡＮＤストリングにわたって印加すべき電圧を決定する。ビットライン電圧を決定し制御する一実施形態のさらなる詳細は、後で説明される。
【０２１１】
図１３Ｂは、読み出し中にクロスカップリングを補償するためにＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。処理は、図１８のステップ９０１の一実施形態である。この実施形態では、判定は、近傍のメモリセルの閾値電圧に基づく。この処理は、読み出しているすべてのメモリセルについて実行され得る。ステップ１２１２において、近傍のメモリセルの閾値電圧または状態についての判定がなされる。一実施形態では、近傍のメモリセルを読み出して、そのメモリセルのＶｔについてのある情報を得る。近傍のメモリセルを正確な状態を知ることは必須でない。さらなる詳細は、後で説明される。一実施形態では、近傍の閾値電圧のある情報（ｉｎｄｉｃａｔｉｏｎ）は、図１９Ａまたは２０Ａのいずれか一方の制御回路１１３４に入力されるデータである。
【０２１２】
ステップ１２１４において、近傍のＶｔによるクロスカップリングを補償するために、ビットラインに印加すべき適切な電圧が決定される。一実施形態では、制御回路１１３４は、ビットラインに印加すべき適切な電圧を決定する。例えば、入力データは、近傍の閾値電圧が「高い」かまたは「低い」かであろう。近傍の閾値電圧が高い場合、第１の電圧が第１のクロスカップリング補償量を達成するためにビットラインに印加されるべきである。近傍の閾値電圧が低い場合、第２の電圧が第２のクロスカップリング補償量を達成するためにビットラインに印加されるべきである。
【０２１３】
図２１Ｃは、プログラム中にクロスカップリングを補償するためにＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。処理は、図１０のステップ９０１の一実施形態である。この実施形態では、判定は、近傍のメモリセルがプログラムされるであろう閾値電圧に基づく。この処理は、プログラムされているすべてのメモリセルに対して実行され得る。ステップ１２２４において、近傍のメモリセルがプログラムされるであろう状態についての判定がなされる。一実施形態では、近傍がプログラムされるであろう目標の状態を示すデータを保持するラッチがある。一実施形態では、このラッチからのデータは、図１９Ａまたは２０Ａのいずれか一方の制御回路１１３４に入力されるデータである。
【０２１４】
ステップ１２２４において、近傍の後のプログラムによるクロスカップリングを補償するために、ビットラインに印加されるべき適切な電圧が決定される。一実施形態では、制御回路１１３４は、ビットラインに印加すべき適切な電圧を決定する。例えば、入力データは、近傍の閾値電圧が「高い」か「低い」かであろう。近傍の閾値電圧が高いであろう場合、第１の電圧が第１のクロスカップリング補償量を達成するために、ビットラインに印加されるべきである。近傍の閾値電圧が低いであろう場合、第２の電圧が第２のクロスカップリング補償量を達成するためにビットラインに印加されるべきである。
【０２１５】
図２１Ｄは、メモリセルの閾値電圧に関する以前の判定に基づいて、ＮＡＮＤストリングにわたって印加すべき適切な電圧を決定する処理の一実施形態のフローチャートである。これは、任意の所望の正確さで閾値電圧を位置づけるために、二分探索（ｂｉｎａｒｙ  ｓｅａｒｃｈ）を実行するために使用されてもよい。二分探索の実行については後でより詳細に説明する。図２１Ｄの処理は、図１８のステップ９０１の一実施形態である。この処理は、読み出されているすべてのメモリセルに対して実行され得る。ステップ１２３２において、選択されたメモリセルの閾値電圧の以前の読み出しに関する情報にアクセスする。例えばラッチは、選択されたメモリセルの導電電流と基準電流との以前の比較結果を示す値を保持してもよい。基準電流が目標のＶｔについてテストするために選択された場合、ラッチにおける値は、選択されたメモリセルの閾値電圧が目標のＶｔよりも高いか低いかを示す。一実施形態では、このラッチからのデータは、図１９Ａまたは２０Ａのいずれか一方の制御回路１１３４へ入力されるデータである。
【０２１６】
ステップ１２３４において、ビットラインに印加すべき適切な電圧は、Ｖｔに対する以前の読み出しに基づいて決定される。例えば、以前の読み出しが、閾値電圧が目標のＶｔより高いか低いかを決定したと仮定する。ビットラインに印加すべき１つの電圧は、目標閾値電圧＋Δについてテストできるであろう。ビットラインに印加すべき別の電圧は、目標閾値電圧−Δについてテストできるであろう。以前の読み出しが、閾値電圧が目標より低いことを示す場合、電圧は、目標閾値電圧−Δについてテストするように印加される。以前の読み出しが、閾値電圧が目標より高いことを示す場合、電圧は、目標閾値電圧＋Δについてテストするように印加される。
【０２１７】
図２２Ａは、ＮＡＮＤストリングにわたって異なる電圧を確立するための処理の一実施形態のフローチャートである。図２２Ａは、図１８のステップ９０２〜９０４の一実装形態である。図２２Ａは、異なるＶｇｓが異なるＮＡＮＤストリングについて使用される実施形態である。例えば、異なる閾値電圧は、異なるＶｇｓを異なるメモリセルに印加することによってセンスされ得るであろう。一実施形態では、異なるＶｇｓおよびＶｄｓは、異なる閾値電圧をセンスするように印加される。あるいは、異なるクロスカップリング量は、異なるＶｇｓを異なるメモリセルに印加されることによって提供され得るであろう。一実施形態では、異なるＶｇｓおよびＶｄｓが異なるクロスカップリング量を提供するように印加される。図２２Ａの処理を実施する際に、図１９Ａの回路を使用してもよい。
【０２１８】
ステップ１４０２において、電圧が共通ソースラインに印加される。例えば、図１１Ａを参照すると、電圧Ｖｓｏｕｒｃｅがソースラインに印加される。例えば、Ｖｓｏｕｒｃｅに対するレベルは、２．５Ｖである。Ｖｄｄは、１．６Ｖなどのより低い電圧であってもよいことに留意されたい。
【０２１９】
ステップ１４０４において、Ｖｓが第１のグループのメモリセルのビットラインに印加される。第１のグループは、閾値電圧が第１の電圧レベルと比較されているメモリセルを含んでもよい。第１のグループは、第１のクロスカップリング補償量が所望されるメモリセルを含んでもよい。例として、Ｖｓは、Ｖｓｏｕｒｃｅが２．５Ｖの場合、２．１Ｖであり得るであろう。Ｖｓを確立するために、制御回路１１３４は、まずスイッチＳ１３を閉じて、電流源１２３０をビットラインに接続してもよい。次いで、制御回路１１３４は、スイッチＳ１１を閉じて、電流シンク１１３０をビットラインに接続して、目標電圧を達成する。制御回路１１３４は、ビットラインがＶｓであるときを判定し、電流シンク１１３０をビットラインから切断して、ビットラインをＶｓに保持してもよい。
【０２２０】
ステップ１４０６において、Ｖｓ−Δが第２のグループのメモリセルに関連するビットラインに印加される。第２のグループは、閾値電圧が第２の電圧レベルと比較されているメモリセルを含んでもよい。第２のグループは、第２のクロスカップリング補償量が所望されるメモリセルを含んでもよい。例として、Ｖｓ−Δは、Ｖｓｏｕｒｃｅが２．５Ｖの場合、２．１Ｖであり得るであろう。Ｖｓ−Δを確立するために、制御回路１１３４は、まずスイッチＳ１３を閉じて、電流源１２３０をビットラインに接続してもよい。次いで、制御回路１１３４は、スイッチＳ１１を閉じて、電流シンク１１３０をビットラインに接続して、目標電圧を達成する。制御回路１１３４は、ビットラインがＶｓ−Δであるときを判定し、電流シンク１１３０をビットラインから切断して、ビットラインをＶｓ−Δに保持してもよい。ステップ１４０４および１４０６は、同時に実行されてもよいことに留意されたい。
【０２２１】
図２２Ｂは、ＮＡＮＤストリングにわたって異なる電圧を確立するための処理の一実施形態のフローチャートである。図２２Ｂは、図１８のステップ９０２〜９０４の一実装形態である。図２２Ｂは、異なるＶｄｓが異なるＮＡＮＤストリングに対して使用される実施形態である。例えば、異なる閾値電圧がセンスされ得るであろう。あるいは、異なるクロスカップリング量が提供され得るであろう。図２２Ｂの処理は、図２０Ａの回路を使用してもよいが、これは必須でない。図２２Ｂの処理は、検証または読み出されているメモリセルを有するすべてのＮＡＮＤストリング上で同時に実行され得る。一実施形態では、異なるＶｄｓは、異なるＤＩＢＬ量を生じさせる。
【０２２２】
ステップ１４１２において、電圧が共通ソースラインに印加される。例えば、図１９Ａを参照すると、電圧Ｖｓｏｕｒｃｅがソースラインに印加される。例えば、Ｖｓｏｕｒｃｅに対するレベルは、１．２Ｖである。Ｖｄｄは、２．５Ｖなどのより高い電圧であることに留意されたい。
【０２２３】
ステップ１４１４において、Ｖｄが第１のグループのメモリセルのビットラインに印加される。第１のグループは、閾値電圧が第１の電圧レベルと比較されているメモリセルを含んでもよい。第１のグループは、第１のクロスカップリング補償量が所望されるメモリセルを含んでもよい。例として、Ｖｄは、Ｖｓｏｕｒｃｅが１．２Ｖの場合、１．６Ｖであり得るであろう。この例において、Ｖｄｓは、およそ０．４Ｖであろう。Ｖｄを確立するために、制御回路１１３４は、スイッチＳ２１を閉じて、電流源１２３０をビットラインに接続してもよい。制御回路１１３４は、ビットラインがＶｄであるときを判定し、電流源１２３０をビットラインから切断して、ビットラインをＶｄに保持してもよい。
【０２２４】
ステップ１４１６において、Ｖｄ＋Δが第２のグループのメモリセルのビットラインに印加される。第２のグループは、閾値電圧が第２の電圧レベルと比較されているメモリセルを含んでもよい。第２のグループは、第２のクロスカップリング補償量が所望されるメモリセルを含んでもよい。電圧Ｖｄ＋Δは、第１および第２電圧レベル間の差によって、メモリセルの閾値電圧を変更（例えば、低下）させるのに十分な量のＤＩＢＬを生じさせる。例として、Ｖｄ＋Δは、Ｖｓｏｕｒｃｅが１．２Ｖである場合、およそ２．０Ｖであり得る。したがって、Ｖｄｓは、およそ０．８Ｖであり得る。Ｖｄ＋Δを確立するために、制御回路１１３４は、スイッチＳ２１を閉じて、電流源１２３０をビットラインに接続してもよい。制御回路１１３４は、ビットラインがＶｄ＋Δであるときを判定し、電流源１２３０をビットラインから切断して、ビットラインをＶｄ＋Δに保持してもよい。ステップ１４１４および１４１６は、同時に実行されてもよいことに留意されたい。
【０２２５】
図２３は、１つ以上の検証ステップを含むプログラミング処理の一実施形態を説明するフローチャートである。本明細書に開示される実施形態は、１回の検証動作中に複数の状態を検証することによって、プログラムの速度を上げることができる。ステップ１５０２において、プログラムされるべきメモリの部分が選択される。一実装形態では、これは、メモリ構造に適切な１つ以上の書き込み単位であり得る。書き込み単位の一例は、ページと呼ばれる。他の実施形態では、他の単位および／または構造も使用することができる。ステップ１５０４において、事前プログラミング処理が使用されることがある。事前プログラミング処理では、アドレスされたメモリセルに非データ依存プログラミングを与えて、記憶素子の損耗を一様にし、後の消去のためにより均一な開始点を提供する。ステップ１５０６において、使用されている記憶素子のタイプに適するように、消去処理が実行される。適切でスマートな消去処理の一例が米国特許第５，０９５，３４４号に開示されている。この文献の内容は、その全体を参照することにより本明細書に組み込まれる。ステップ１５０８は、消去されたメモリセルの閾値電圧を、実際の書き込みフェーズに対するより均一な開始範囲にするように設計されたソフトプログラミング処理を含む。一実施形態では、メモリセルのうちのいずれかが消去中（またはソフトプログラミング中）に検証に不合格となった場合、そのようなメモリセルは、論理アドレス空間の外にマッピングされ得る。この時点で、メモリは、データ条件付きプログラミングフェーズに対して準備ができている。
【０２２６】
ステップ１５１０において、プログラム電圧（Ｖｐｇｍ）は、初期値に設定される。例えば、いくつかの実施形態では、図７Ｂの階段波形が使用され、ステップ１５１０は、初期パルスを設定することを含む。また、ステップ１５１０において、プログラムカウンタ（ＰＣ）は、ゼロに初期化される。ステップ１５２０において、プログラムパルスが印加される。例えば、ステップ１５２０を１回行うことは、図８Ｂのプログラムパルス８００を印加することを含み得るであろう。
【０２２７】
ステップ１５２２において、検証処理が実行される。検証処理は、１回に１つより多くの状態を検証してもよい。図８Ａを参照すると、一実施形態では、Ａ状態にプログラムされているいくつかのメモリセルがＶｖａレベルについて検証される一方、Ｂ状態にプログラムされている他のメモリセルがＶｖＢレベルについて検証される。一実施形態では、検証は、同時粗／密検証である。図８Ａを参照すると、Ａ状態にプログラムされているいくつかのメモリセルは、ＶｖａＬレベルについて検証される一方、Ａ状態にプログラムされている他のメモリセルは、Ｖｖａレベルについて検証される。メモリセルの閾値が最終のレベル（Ｖｖａ）よりも十分に低い初期プログラミングステップ中に、粗プログラミングが適用される。しかしながら、メモリセルの閾値電圧がＶｖａＬに到達した後、密プログラミングが使用される。このように、いくつかのメモリセルは、粗プログラミングについて検証されている一方、他のメモリセルは、密プログラミングについて検証されている。粗／密プログラミングを用いると、いくつかのメモリセルは、１つの状態（例えば、Ａ状態）について検証されている一方、他は、別の状態（例えば、Ｂ状態）について検証されていることに留意されたい。特定のメモリセルが、そのメモリセルの目標の状態にプログラムされていると検証された場合、そのメモリセルは、さらなるプログラミングから除外されてもよいことに留意されたい。ステップ１５２２のさらなる詳細は、後で説明される。いくつかの実施形態では、ＶｖａＬおよびＶｖａ（例えば、図８ａを参照）は、同時にセンスされ得る。同様に、ＶｖｂＬおよびＶｖｂなども同時にセンスされ得る。
【０２２８】
ステップ１５２４において、すべてのメモリセルが、それらのメモリセルの閾値電圧がそのメモリセルの最終目標電圧にあると検証されたか否かが判定される。そうである場合、プログラミング処理は、ステップ１５２６において首尾よく完了される（ステータス＝パス）。すべてのメモリセルがすべて検証されたわけではない場合、プログラムカウンタ（ＰＣ）が２０などの最大値よりも小さいか否かが判定される。プログラムカウンタ（ＰＣ）が最大値より小さくなければ（ステップ１５２８）、プログラム処理は、失敗である（ステップ１５３０）。プログラムカウンタ（ＰＣ）が最大値（例えば、２０）よりも小さければ、プログラムカウンタ（ＰＣ）は、１だけ増加され、プログラム電圧は、ステップ１５３０において次のパルスへ１段階増加される。ステップ１５３０の後、処理は、ステップ１５２０にループバックし、次のプログラムパルスがメモリセルに印加される。
【０２２９】
図２４Ａは、プログラミング動作中に、メモリセルを検証する処理の一実施形態のフローチャートである。この処理において、逆方向センスが使用される。処理は、プログラム検証中のＳＭＴセンスの一実施形態である。本明細書に開示される実施形態は、図２４Ａの処理を使用して検証された記憶素子を読み出しながら、ＳＭＴノイズを緩和する。処理は、図２３のプログラミング処理のステップ１５２２の一実装形態である。したがって、処理は、プログラミング処理の反復の各回中に一度適用されてもよい。図２４Ｂは、図２４Ａの検証処理中に、ワードラインおよびビットラインに印加される電圧の一実施形態を示すタイミング図である。選択されたワードラインに印加された電圧は、処理中に変更されることに留意されたい。例えば、電圧は、Ａ状態およびＢ状態を検証するためにレベル「Ａ／Ｂ」に引き上げられ、次いで電圧は、Ｃ状態およびＤ状態を検証するためにレベル「Ｃ／Ｄ」に引き上げられる、などが行われる。さらなる詳細は、後で説明される。
【０２３０】
ステップ１６０２において、共通ソースラインは、Ｖｓｏｕｒｃｅにバイアスされる。例として、ソースラインは、２．５Ｖにバイアスされる。
【０２３１】
ステップ１６０４において、第１および第２のビットラインは、異なる電圧にバイアスされる。第１のグループは、Ｖｓを印加させるべきビットラインを含む。第２のグループは、Ｖｓ−Δを印加させるべきビットラインを含む。また、Ｖｓを印加させるべきビットラインを含む第３のグループがあってもよい。例えば、Ａ、Ｃ、Ｅ、およびＧ状態にプログラムされているメモリセルに対するビットラインは、第１のグループに入れてもよい。Ｂ、Ｄ、およびＦ状態にプログラムされているメモリセルに対するビットラインは、第２のグループに入れてもよい。消去されたままであるべきメモリセルに対するビットラインは、第３のグループに入れてもよい。一実施形態では、第１のグループ（例えば、Ａ状態）からのビットラインのうちの１つと、第２のグループ（例えば、Ｂ状態）からのビットラインのうちの１つとが一度に検証されていてもよい。ステップ１６０４中は、第１のグループにおけるすべてのビットラインは、Ｖｓにバイアスされてもよく、第２のグループにおけるすべてのビットラインは、Ｖｓ−Δにバイアスされてもよく、第３のグループにおけるすべてのビットラインは、Ｖｓｏｕｒｃｅにバイアスされてもよい。
【０２３２】
ステップ１６０６において、電圧がソース側選択ゲート（ＳＧＳ）およびドレイン側選択ゲート（ＳＧＤ）に印加される。例として、ＳＧＳおよびＳＧＤは、Ｖｓｏｕｒｃｅ＋Ｖｔにバイアスされる。ここで、閾値電圧は、ＳＧＳトランジスタの閾値電圧である。
【０２３３】
ステップ１６０８において、Ｖｒｅａｄは、非選択のワードラインに印加される。ステップ１６１０において、適切な読み出し電圧が、選択されたワードラインに印加される。図２４Ｂを参照すると、選択されたワードライン上の電圧は、Ａ状態およびＢ状態を検証するために、「Ａ／Ｂ」と標識されたレベルに引き上げられ得る。このレベルは、Ａ状態にプログラムされているメモリセルを検証するのに適切なＶｇｓ、およびＢ状態にプログラムされているメモリセルを検証するのに適切なＶｇｓを生成するであろう。
【０２３４】
ステップ１６１２において、検証されるべきメモリセルのビットラインがセンスされる。検証されているメモリセルの閾値電圧がそのメモリセルの目標状態よりも低い場合、そのメモリセルはオンになり、検出され得るかなり大きな電流を導通すべきである。例えば、図１９Ｂの電流センス１１３２は、Ｉｃｅｌｌに基づいて、メモリセルがかなり大きな電流を導通するか否かを判定してもよい。他のセンス技術を使用し得ることに留意されたい。
【０２３５】
検証すべき状態がさらにある場合（ステップ１６１４）、処理は、ステップ１６１０に戻る。ステップ１６１０において、選択されたワードライン上の電圧は、再び検証されている状態に適切なレベルに設定される。例えば、電圧は、図２４Ｂにおいて「Ｃ／Ｄ」と標識されたレベルに変更されて、Ｃ状態およびＤ状態にプログラムされているメモリセルを検証してもよい。選択されたワードライン上のこのレベルは、Ｃ状態にプログラムされているメモリセルを検証するのに適切なＶｇｓ、およびＤ状態にプログラムされているメモリセルを検証するのに適切なＶｇｓを生成するであろう。Ｃ状態を目標とするセルは、Ｄ状態を目標とするセルと比較して、異なるビットラインバイアスを有し得る。
【０２３６】
すべての状態が検証されると、処理は、完了する。すべての状態が検証されることは絶対に必須というわけではないことに留意されたい。例えば、プログラミング処理の初期において、最も高い状態を検証する必要はなくてもよいであろう。したがって、処理は、選択されたワードライン電圧をレベル「Ｅ／Ｆ」および「Ｇ」に引き上げずに終了し得るであろう。同様に、プログラミング処理の後期において、最も低い状態を検証する必要はなくてもよいであろう。したがって、処理は、選択されたワードライン電圧をレベル「Ａ／Ｂ」に引き上げることを省き得るであろう。目標の状態に到達したと検証されるいずれのメモリセルについても、プログラミングは、さらなるプログラミングパルスの影響を受けないように除外されてもよいことに留意されたい。
【０２３７】
図２４Ａは、図２４Ｂの波形例に関して説明したが、処理は、これらの波形に限定されないことに留意されたい。例えば、８より多いまたは少ない状態があり得るであろう。また、一度に２つの状態を検証する代わりに、３つ以上の状態が処理の反復の各回を用いて検証され得るであろう。
【０２３８】
また、ステップ１６０４は、選択されたワードラインに、異なる電圧を印加することによって検証されるビットラインをバイアスすることを意図するが、これは必須でないことに留意されたい。例えば、Ａ状態およびＢ状態を検証する場合、他の状態に対するビットラインがＶｓおよびＶｓ＋Δにバイアスされることは必須でない。その代わりに、これらのビットラインは、Ｖｓｏｕｒｃｅにバイアスされ得るであろう。次いで、Ａ状態およびＢ状態を検証した後に、異なる集合のバイアス条件をビットラインに適用して、Ｃ状態およびＤ状態を検証し得るであろう。
【０２３９】
図２５Ａは、プログラミング動作中にメモリセルを検証する処理の一実施形態のフローチャートである。これは、逆方向センスを使用するＳＭＴセンスの一実装形態である。本明細書に開示される実施形態は、図２５Ａの処理を使用して検証された記憶素子を読み出す際にＳＭＴノイズを緩和する。処理は、図２３のプログラミング処理のステップ１５２２の一実装形態である。したがって、処理は、プログラミング処理の反復の各回中に一度適用されてもよい。図２５Ｂは、図１７Ａの検証処理中に、ワードラインおよびビットラインに印加される電圧の一実施形態のタイミング図である。図１７Ｂを参照すると、異なる状態を検証するために、Ｃ状態、次いでＢ状態、次いでＡ状態を検証するために、ＳＧＳに印加される電圧が「Ｃ」と標識されたレベルから、次いで「Ｂ」へ、次いで「Ａ」に変更される。他のレベルを使用して、他の状態を検証し得るであろう。この処理は、選択されたワードライン上の電圧を変更する代わりに、ＳＧＳ上の電圧が変更される点で、図２４Ａの処理と異なる。
【０２４０】
図２４Ａは、各回２つの状態だけ（例えば、８つの状態のうち）を同時に検証することを説明した。４つの状態または８つすべての状態ではなく、２つの状態だけを同時に検証する理由は、セルにわたり大きなＶｄｓ電圧差を生じ得る大きなバイアス条件差によって生じ得るセルのパンチスルーの恐れを低減するためである。一実施形態では、ドレイン側電圧は、セルのパンチスルー問題を克服するために制御され、このことは、より多くの状態の同時検証を可能にし得る。図２５Ａは、ドレイン側電圧を制御して、セルのパンチスルーを回避する処理の一実施形態のフローチャートである。
【０２４１】
図２５Ａおよび図２５Ｂを説明する際に、図２６Ａ、図２６Ｂ、および図２６Ｃを参照する。図２６Ａは、図１７Ａの処理においてＣ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。図２６Ｂは、図２５Ａの処理においてＢ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。図２６Ｃは、図２５Ａの処理においてＡ状態を検証する際に印加される電圧例を示す、数個のＮＡＮＤストリングの図である。
【０２４２】
図２５Ａの処理において、ソース側選択ライン（ＳＧＳ）に印加される電圧を使用して、ドレイン側電圧を制御して、パンチスルーを回避する。この場合、すべての状態（例えば、図２５Ｂの例におけるＡ、Ｂ、Ｃ）は、同時に検証されてもよい。したがって、単一の電圧だけが選択されたＷＬに印加される（図２５Ｂを参照）。すべての状態は、ほとんど同時に検証され得る。なぜなら、ＳＧＳは、徐々に増加される（ｒａｍｐ  ｕｐ）からである。したがって、この方法は、「疑似準同時マルチステート検証」と呼ばれてもよい。いくつかのメモリ装置について、ＳＧＳは、ワードラインよりも短いＲＣ遅延を有してもよく、したがって、ＳＧＳに対する電圧変化は、ワードラインに対する電圧変化よりも速いであろうことに留意されたい。
【０２４３】
ステップ１７０２において、共通ソースラインは、Ｖｓｏｕｒｃｅにバイアスされる。例として、ソースラインは、２．５Ｖにバイアスされる。ステップ１７０４において、ビットラインは、検証されるべき状態に対して適切な電圧にバイアスされる。例えば、消去状態、Ａ状態、Ｂ状態、およびＣ状態に対するビットラインは、各々異なるバイアスを受け取る。一実施形態では、消去状態に対するビットラインは、最も高いバイアスを受け取り、Ａ状態は、次に最も高いバイアス、Ｂ状態は、次に最も高いバイアス、Ｃ状態は、最も低いバイアスを受け取る。例えば、消去状態に対するビットラインは、２．５Ｖにバイアスされ、Ａ状態に対するビットラインは、２．０Ｖにバイアスされ、Ｂ状態に対するビットラインは、１．５Ｖにバイアスされ、Ｃ状態に対するビットラインは、１．０Ｖにバイアスされる。
【０２４４】
一実施形態では、ビットライン検証は、偶数ビットライン／奇数ビットライン単位で実行される。例えば、図２５Ａの処理の１回の実行中に、奇数ビットラインだけが検証される。この場合、偶数ビットラインは、消去されたままとなるべきメモリセルを有するビットラインと同じ電圧を有してもよい。例えば、Ｖｓｏｕｒｃｅ（例えば、２．５）がこれらの「非選択の」ビットラインに印加されてもよい。奇数ビットライン上のメモリセルを検証した後、次いで図２５Ａの処理を繰り返して、偶数ビットライン上のメモリセルを検証してもよい。
【０２４５】
ステップ１７０６において、電圧がドレイン側選択ゲート（ＳＧＤ）に印加される。例として、ＳＧＤは、Ｖｓｏｕｒｃｅ＋Ｖｔにバイアスされる。ここで、閾値電圧は、ＳＧＤトランジスタの閾値電圧である。このとき、ＳＧＳは、接地などの比較的低い値に保持されることに留意されたい。この低い値は、ＮＡＮＤストリングが電流を導通させることを防止する。
【０２４６】
ステップ１７０８において、Ｖｒｅａｄが非選択のワードラインに印加されてもよい。ステップ１７１０において、適切な読み出し（または検証）電圧が選択されたワードラインに印加される。読み出し電圧は、Ｃ状態について検証されているメモリセルを検証するのに十分であるべきである。例えば、Ｃ状態に対する閾値電圧が３．０Ｖの場合、４．０Ｖが選択されたワードラインに印加されてもよい。この例において、Ｃ状態にプログラムされているメモリセルに対するビットラインに１．０Ｖが印加されたことを思い出してほしい。したがって、Ｃ状態メモリセルに対するＶｇｓは、３．０Ｖであろう。Ａ状態およびＢ状態について検証されているメモリセルに対するＶｇｓは、これらのメモリセルがオンになるのに十分な程度に高くてもよいことに留意されたい。しかしながら、このとき、ＳＧＳに印加される信号は低いので、ＮＡＮＤストリングのいずれも電流を導通させない。図１７Ｂを参照すると、異なる状態を検証するために選択されたワードラインに印加される電圧を変更することは、必須でないことに留意されたい。
【０２４７】
ステップ１７１２において、ソース側選択ゲートは、メモリセルがＣ状態について検証されているＮＡＮＤストリングの導通を可能にするのに十分なレベルに引き上げられる。図１７Ｂを参照すると、ＳＧＳは、レベル「Ｃ」に引き上げられる。例として、レベルＣは、１．５Ｖ＋Ｖｔであってもよい。ここで、閾値電圧は、ＳＧＳトランジスタの閾値電圧である。ＳＧＳをレベルＣに引き上げることによって、メモリセルがＣ状態について検証されているＮＡＮＤストリングの導通を可能にする。しかしながら、メモリセルがＢまたはＡ状態のいずれかについて検証されているＮＡＮＤストリングは、電流を導通しないであろう。図１８Ａを参照すると、ＳＧＳが１．５Ｖ＋（ＳＧＳトランジスタの）閾値電圧である場合、わずかにオンであるＳＧＳトランジスタのソースは、およそ１．５Ｖであるべきである。したがって、Ｃ状態と標識されたＮＡＮＤストリングの下部は、１．５Ｖであり、上部は、１．０Ｖであることに留意されたい。したがって、メモリセルに対するＶｄｓは、およそ０．５Ｖである。しかしながら、Ｂ状態に標識されたＮＡＮＤストリングに対して、ＮＡＮＤストリングの各端部においては１．５Ｖであることに留意されたい。したがって、選択されたワードライン上のメモリセルは、たとえそのメモリセルの閾値電圧がＶｇｓより低くても、強い電流を導通すべきでない。
【０２４８】
ステップ１７１４において、Ｃ状態にプログラムされているメモリセルのビットラインがセンスされる。検証されているメモリセルの閾値電圧がそのメモリセルの目標状態よりも低い場合、そのメモリセルは、オンになり、検出され得るかなり大きな電流を導通すべきである。例えば、図１１Ｂの電流センス１１３２は、Ｉｃｅｌｌに基づいて、メモリセルがかなり大きな電流を導通するか否かを判定してもよい。他のセンス技術を使用し得ることに留意されたい。
【０２４９】
ステップ１７１５において、Ｃ状態について検証されているメモリセルのビットラインの電圧が引き上げられてもよい。例えば、ビットライン電圧は、２．５Ｖに引き上げられる。これは、処理の後期のステップ中におけるパンチスルー導通を防止するのに役立ち得る。あるいは、ビットラインは、フローティングされてもよい。
【０２５０】
ステップ１７１６において、ＳＧＳに印加される電圧は、メモリセルがＢ状態について検証されているＮＡＮＤストリングの導通を可能にするのに十分なレベルに引き上げられる。図２５Ｂを参照すると、ＳＧＳは、レベル「Ｂ」に引き上げられる。例として、ＳＧＳに印加される電圧は、２．０Ｖ＋Ｖｔに引き上げられる。ここで、閾値電圧は、ＳＧＳトランジスタの閾値電圧である。図１８Ｂを参照すると、Ａ、Ｂ、およびＣ状態に標識されたＮＡＮＤストリング上のＳＧＳトランジスタのソースにおける電圧は、すべておよそ２．０Ｖである。これは、２．０Ｖがビットラインにも印加されるので、Ａ状態に標識されたＮＡＮＤストリング上での電流の導通を可能にするには十分でない。しかしながら、Ｂ状態に標識されたＮＡＮＤストリングは、電流を導通可能であろう。Ｃ状態にプログラムされているメモリセルのビットラインは、２．５Ｖに引き上げられた（または、フローティングされている）ので、これらのＮＡＮＤストリングには、導電電流があるべきではないことに留意されたい。
【０２５１】
ステップ１７１８において、Ｂ状態にプログラムされているメモリセルのビットラインがセンスされる。検証されているメモリセルの閾値電圧がそのメモリセルの目標状態よりも低い場合、そのメモリセルはオンになり、検出され得るかなり大きな電流を導通すべきである。例えば、図１１Ｂの電流センス１１３２は、Ｉｃｅｌｌに基づいて、メモリセルがかなり大きな電流を導通するか否かを判定してもよい。他のセンス技術が使用され得ることに留意されたい。
【０２５２】
ステップ１７１９において、Ｂ状態について検証されているメモリセルのビットラインの電圧が引き上げられてもよい。例えば、ビットライン電圧は、２．５Ｖに引き上げられる。これは、処理の後期のステップ中におけるパンチスルー導通を防止するのに役立ち得る。あるいは、ビットラインは、フローティングされてもよい。
【０２５３】
ステップ１７２０において、ＳＧＳに印加される電圧は、メモリセルがＡ状態について検証されているＮＡＮＤストリングの導通を可能にするのに十分なレベルに引き上げられる。図１７Ｂを参照すると、ＳＧＳは、レベル「Ａ」に引き上げられる。例として、ＳＧＳに印加される電圧は、２．５Ｖ＋Ｖｔに引き上げられる。ここで、Ｖｔは、ＳＧＳトランジスタの閾値電圧である。図２６Ｃを参照すると、Ａ、Ｂ、およびＣ状態に標識されたＮＡＮＤストリング上のＳＧＳトランジスタのソースにおける電圧は、すべておよそ２．５Ｖである。これは、２．０ＶのみをＮＡＮＤストリングに印加されるので、Ａ状態に標識されたＮＡＮＤストリング上での電流の導通を可能にするには十分であろう。しかしながら、ＢおよびＣ状態にプログラムされているメモリセルのビットラインは、２．５Ｖに引き上げられた（または、フローティングされている）ので、これらのＮＡＮＤストリングには導電電流があるべきではない。
【０２５４】
ステップ１７２２において、Ａ状態にプログラムされているメモリセルのビットラインがセンスされる。検証されているメモリセルの閾値電圧がそのメモリセルの目標状態よりも低い場合、そのメモリセルは、オンになり、検出され得るかなり大きな電流を導通すべきである。生じうる導通電流（Ｉｃｅｌｌ）は破線で示される。例えば、図１１Ｂの電流センス１１３２は、Ｉｃｅｌｌに基づいてメモリセルがかなり大きな電流を導通するか否かを判定してもよい。他のセンス技術を使用し得ることに留意されたい。この時点で、すべての状態が検証され、処理が完了する。目標の状態に到達したと検証されるいずれのメモリセルに対しても、そのメモリセルがさらなるプログラミングパルスの影響を受けないように、プログラミングは、除外されてもよいことに留意されたい。
【０２５５】
図２７は、逆方向センスを実行する際に、Ｖｄｓを制御するのに役立つトランジスタを有するＮＡＮＤストリングの一実施形態の図である。図２７の回路は、異なる基準レベルを同時に検証する際に、パンチスルー導通を低減または除去し得る。図２７の回路は、図２４Ａの処理および図２４Ｂのタイミング図とともに使用されてもよい。例えば、図２４Ｂにおいて、ＳＧＳに対する電圧およびＳＧＳは、すべての状態のセンス中に一度増加される。これは、ＳＧＳが異なる状態のセンス中に異なる電圧に増加される図２５Ａおよび図２５Ｂに示す技術とは対照的である。いくつかの実施形態では、図２６の回路を使用して、パンチスルー導通の恐れなしに２つより多くの状態を同時に検証する。一実施形態では、すべての状態が同時に検証される。
【０２５６】
図２６におけるＮＡＮＤストリングは、空乏型ＮＭＯＳトランジスタを含み、そのトランジスタのゲートは、ＳＧＤトランジスタに接続される。具体的には、空乏型ＮＭＯＳトランジスタのゲートは、ＳＧＤトランジスタのドレインに接続される。この例において、Ｖｓがビットラインに印加され、２．５Ｖがソースラインに印加される。トランジスタＳＧＤは、そのトランジスタのゲートに２．５Ｖ＋Ｖｔｓｇｄが印加される（Ｖｔｓｇｄは、トランジスタＳＧＤの閾値電圧である）。トランジスタＳＧＳは、そのトランジスタのゲートに２．５Ｖ＋Ｖｔｓｇｓが印加される（Ｖｔｓｇｓは、トランジスタＳＧＳの閾値電圧である）。この結果、ノードＡは、およそＶｓとなり、ノードＢは、およそＶｓ−Ｖｔｈ  ＮＭＯＳとなり得る。ここで、Ｖｔｈ  ＮＭＯＳは、ＮＭＯＳトランジスタの閾値電圧である。ＮＭＯＳトランジスタの閾値電圧がおよそ−０．５Ｖの場合、ノードＢは、およそＶｓ＋０．５Ｖであろう。したがって、ＮＡＮＤストリングにわたる電圧は、ビットラインの電圧よりもおよそ０．５Ｖ高いであろう。ビットラインの電圧がＶｓ＋Δの場合、ノードＢでの電圧は、およそＶｓ＋Δ＋０．５Ｖであろうことに留意されたい。ＮＡＮＤストリングにわたる電圧は、やはりおよそ０．５Ｖであろう。また、これは、検証のために選択されたメモリセルのＶｄｓがおよそ０．５Ｖであり得ることを意味することに留意されたい。Ｖｄｓを比較的低い値に維持することによって、パンチスルー導通が防止され得る。
【０２５７】
ＳＭＴセンスのさらなる詳細は、Ｅｒａｎ  Ｓｈａｒｏｎらの「Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｍｕｌｔｉ−Ｓｔａｔｅ  Ｒｅａｄ  Ｏｒ  Ｖｅｒｉｆｙ  Ｉｎ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｓｔｏｒａｇｅ」と題した、２０１０年３月２５日の出願に開示されている。この文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【０２５８】
一実施形態は、第１のグループおよび第２のグループを含む複数の不揮発性記憶素子を有する不揮発性記憶装置を動作させる方法を含む。方法は、第１のバイアス条件を使用して、第１のグループの不揮発性記憶素子を検証することと、第２のバイアス条件を使用して、第２のグループの不揮発性記憶素子を検証することを含む。さらに、第１および第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧は、第１のバイアス条件を使用して決定され、第１および第２のグループにおける不揮発性記憶素子の各々に対する第２の見かけの閾値電圧は、第２のバイアス条件を使用して決定される。ＥＣＣデコーダに対する初期値は、第１のグループおよび第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧および第２の見かけの閾値電圧を使用して決定されてもよい。
【０２５９】
不揮発性記憶装置は、第１のグループおよび第２のグループを含む複数の不揮発性記憶素子、その複数の不揮発性記憶素子に関連するワードライン、およびそのワードラインおよびその複数の不揮発性記憶素子と連通する１つ以上の管理回路を備える。その１つ以上の管理回路は、第１のバイアス条件を使用して、第１のグループの不揮発性記憶素子を検証する。その１つ以上の管理回路は、第２のバイアス条件を使用して、第２のグループの不揮発性記憶素子を検証する。その１つ以上の管理回路は、第１のバイアス条件を使用して、第１のグループおよび第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定する。その１つ以上の管理回路は、第２のバイアス条件を使用して、第１のグループおよび第２のグループにおける不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定する。その１つ以上の管理回路は、第１のグループおよび第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧および第２の見かけの閾値電圧を使用して、ＥＣＣデコーダに対する初期値を決定する。
【０２６０】
一実施形態は、不揮発性記憶を動作させる方法を含む。方法は、同時マルチ電圧閾値センスを使用して、ＮＡＮＤメモリアレイにおける不揮発性記憶素子が、複数の状態のうちの適切な状態にプログラムされたか否かを検証することを含み、第１のバイアス条件を使用して、不揮発性記憶素子が第１集合の状態にプログラムされたか否かをテストすることと、第２のバイアス条件を使用して、不揮発性記憶素子が第２集合の状態にプログラムされたか否かをテストすることを含む。方法は、第１のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで不揮発性記憶素子を読み出して、不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定し、第２のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで不揮発性記憶素子を読み出して、不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定することをさらに含む。ソフトＥＣＣデコーダに対する初期値は、不揮発性記憶素子の各々に対する第１の見かけの閾値電圧および第２の見かけの閾値電圧に基づいて決定される。
【０２６１】
一実施形態は、ＮＡＮＤストリングとして配置された複数の不揮発性記憶素子、ＮＡＮＤストリングに関連する複数のワードライン、複数のビットライン、各ＮＡＮＤストリングはビットラインに関係する、ならびにその複数のワードライン、その複数の不揮発性記憶素子、およびその複数のビットラインと連通する１つ以上の管理回路を備える不揮発性記憶装置を含む。その１つ以上の管理回路は、同時マルチ電圧閾値センスを使用して、ワードラインのうちの第１のワードラインに関連する不揮発性記憶素子が複数の状態のうちの適切な状態に首尾よくプログラムされた否かを検証する。その１つ以上の管理回路は、検証中に第１のバイアス条件を使用して、不揮発性記憶素子が第１集合の状態に首尾よくプログラムされたか否かをテストし、その１つ以上の管理回路は、同時に検証中に第２のバイアス条件を使用して、不揮発性記憶素子が第２集合の状態に首尾よくプログラムされたか否かをテストする。その１つ以上の管理回路は、第１のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで第１のワードラインに関連する不揮発性記憶素子を読み出して、第１のワードラインに関連する不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定する。その１つ以上の管理回路は、第２のバイアス条件を使用して、Ｎ−１個の読み出し比較電圧レベルで第１のワードラインに関連する不揮発性記憶素子を読み出して、第１のワードラインに関連する不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定し、その１つ以上の管理回路は、第１のワードラインに関連する不揮発性記憶素子の各々に対する第１の見かけの閾値電圧および第２の見かけの閾値電圧に基づいて、ソフトＥＣＣデコーダに対する初期値を決定する。
【０２６２】
一実施形態は、第１のグループおよび第２のグループを含む複数の不揮発性記憶素子を有する不揮発性記憶装置を動作させる方法を含む。方法は、第１のバイアス条件を使用して、第１のグループの不揮発性記憶素子を検証することと、第２のバイアス条件を使用して、第２のグループの不揮発性記憶素子を検証することと、第１のバイアス条件を使用して、第１のグループおよび第２のグループの不揮発性記憶素子を読み出すことを含む。読み出すことは、ＥＣＣ復号を実行することを含む。方法は、ＥＣＣ復号が合格した場合、第１のバイアス条件を使用した読み出しの結果を使用することと、ＥＣＣ復号が失敗した場合のみ、ａ）〜ｃ）の誤り訂正を実行することさらに含む。誤り訂正は、ａ）第１のバイアス条件を使用して、第１および第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧を決定すること、ｂ）第２のバイアス条件を使用して、第１および第２のグループにおける不揮発性記憶素子の各々に対する第２の見かけの閾値電圧を決定すること、ｃ）第１および第２のグループにおける不揮発性記憶素子の各々に対する第１の見かけの閾値電圧および第２の見かけの閾値電圧を使用して、ＥＣＣデコーダに対する初期値を決定すること、を含む。
【０２６３】
上記本発明の詳細な説明は、説明のための例示にすぎない。上記本発明の詳細な説明は、詳細に開示した実施形態に限定するものではない。本明細書が開示する技術は、様々に変形、変更し得る。上記説明した実施形態は、本発明の原理とその具体的な適用例をよく説明するために選ばれたものであり、当業者は、具体的な事例に則して様々な実施形態を利用し、実施形態を様々に変更し得る。本発明の技術的範囲は、添付された特許請求の範囲によって定まるものである。
【図１】
2015506528.tif 000015
【図２Ａ】
2015506528.tif 000016
【図２Ｂ】
2015506528.tif 000017
【図２Ｃ】
2015506528.tif 000018
【図３】
2015506528.tif 000019
【図４】
2015506528.tif 000020
【図５】
2015506528.tif 000021
【図６】
2015506528.tif 000022
【図７Ａ】
2015506528.tif 000023
【図７Ｂ】
2015506528.tif 000024
【図８Ａ】
2015506528.tif 000025
【図８Ｂ】
2015506528.tif 000026
【図９】
2015506528.tif 000027
【図１０】
2015506528.tif 000028
【図１１】
2015506528.tif 000029
【図１２】
2015506528.tif 000030
【図１３Ａ】
2015506528.tif 000031
【図１３Ｂ】
2015506528.tif 000032
【図１３Ｃ】
2015506528.tif 000033
【図１４】
2015506528.tif 000034
【図１５Ａ】
2015506528.tif 000035
【図１５Ｂ】
2015506528.tif 000036
【図１６Ａ】
2015506528.tif 000037
【図１６Ｂ】
2015506528.tif 000038
【図１７Ａ】
2015506528.tif 000039
【図１７Ｂ】
2015506528.tif 000040
【図１７Ｃ】
2015506528.tif 000041
【図１８】
2015506528.tif 000042
【図１９Ａ】
2015506528.tif 000043
【図１９Ｂ】
2015506528.tif 000044
【図２０Ａ】
2015506528.tif 000045
【図２０Ｂ】
2015506528.tif 000046
【図２１Ａ】
2015506528.tif 000047
【図２１Ｂ】
2015506528.tif 000048
【図２１Ｃ】
2015506528.tif 000049
【図２１Ｄ】
2015506528.tif 000050
【図２２Ａ】
2015506528.tif 000051
【図２２Ｂ】
2015506528.tif 000052
【図２３】
2015506528.tif 000053
【図２４Ａ】
2015506528.tif 000054
【図２４Ｂ】
2015506528.tif 000055
【図２５Ａ】
2015506528.tif 000056
【図２５Ｂ】
2015506528.tif 000057
【図２６Ａ】
2015506528.tif 000058
【図２６Ｂ】
2015506528.tif 000059
【図２６Ｃ】
2015506528.tif 000060
【図２７】
2015506528.tif 000061
【国際調査報告】
2015506528.tif 000062
2015506528.tif 000063