(57)【特許請求の範囲】
【請求項１】
個々のメモリセルがそれぞれ複数のメモリ状態のうちの１つにプログラム可能なメモリセルのアレイを有する不揮発性メモリにおいて、第１のメモリセル群から第２のメモリセル群に１群のデータをコピーする方法であって、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号を提供するステップと、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるように前記符号ビットのビット順序をあらかじめ決めるステップと、
前記第１のメモリセル群のメモリセルから読み出してその中の前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第１のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第１のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するために全ての修正ビットを送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が処理された場合は、何らかの追加のデータ群の処理と同時に前記第２のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチであって、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する一連のラッチを提供するステップをさらに含む方法。
【請求項３】
請求項１記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項４】
請求項１記載の方法において、
前記複数ビット符号が、２つのビットを含む方法。
【請求項５】
請求項１記載の方法において、
前記複数ビット符号が、３つのビットを含む方法。
【請求項６】
請求項１記載の方法において、
前記複数ビット符号が、４つのビットを含む方法。
【請求項７】
請求項１記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項８】
請求項１記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項９】
請求項１記載の方法において、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである方法。
【請求項１０】
請求項１記載の方法において、
前記不揮発性メモリが、ＮＡＮＤ構造を有する方法。
【請求項１１】
請求項１記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項１２】
請求項１記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項１３】
請求項１記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項１４】
請求項２記載の方法において、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む方法。
【請求項１５】
請求項２記載の方法において、
前記複数ビット符号が、２つのビットを含む方法。
【請求項１６】
請求項２記載の方法において、
前記複数ビット符号が、３つのビットを含む方法。
【請求項１７】
請求項２記載の方法において、
前記複数ビット符号が、４つのビットを含む方法。
【請求項１８】
請求項２記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、異なる消去可能ブロックに属する方法。
【請求項１９】
請求項２記載の方法において、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、同じ消去可能ブロックに属する方法。
【請求項２０】
請求項２記載の方法において、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである方法。
【請求項２１】
請求項２記載の方法において、
前記不揮発性メモリが、ＮＡＮＤ構造を有する方法。
【請求項２２】
請求項２記載の方法において、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する方法。
【請求項２３】
請求項２記載の方法において、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する方法。
【請求項２４】
請求項２記載の方法において、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む方法。
【請求項２５】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの１つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチと、
第１のメモリセル群から第２のメモリセル群に一群のデータをコピーするという要求に応じるコントローラであって、
前記第１のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定するステップと、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化するステップと、
前記第１のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチするステップと、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第１のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けするステップと、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するために全ての修正ビットを送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理するステップと、
何らかのデータ群が処理された場合は、何らかの追加のデータ群の処理と同時に前記第２のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングするステップと、
前記複数ビット符号の符号ビットが前記プログラミングを完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返すステップと、を含む動作を実施するコントローラと、
を含む不揮発性メモリ。
【請求項２６】
請求項２５記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【請求項２７】
請求項２５記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項２８】
請求項２５記載の不揮発性メモリにおいて、
前記複数ビット符号が、２つのビットを含む不揮発性メモリ。
【請求項２９】
請求項２５記載の不揮発性メモリにおいて、
前記複数ビット符号が、３つのビットを含む不揮発性メモリ。
【請求項３０】
請求項２５記載の不揮発性メモリにおいて、
前記複数ビット符号が、４つのビットを含む不揮発性メモリ。
【請求項３１】
請求項２５記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項３２】
請求項２５記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項３３】
請求項２５記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである不揮発性メモリ。
【請求項３４】
請求項２５記載の不揮発性メモリにおいて、
前記不揮発性メモリが、ＮＡＮＤ構造を有する不揮発性メモリ。
【請求項３５】
請求項２５記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項３６】
請求項２５記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを有する不揮発性メモリ。
【請求項３７】
請求項２５記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項３８】
請求項２６記載の不揮発性メモリにおいて、
前記決定するステップが、隣接するワード線のメモリセルによる何らかの摂動効果を訂正することを含む不揮発性メモリ。
【請求項３９】
請求項２６記載の不揮発性メモリにおいて、
前記複数ビット符号が、２つのビットを含む不揮発性メモリ。
【請求項４０】
請求項２６記載の不揮発性メモリにおいて、
前記複数ビット符号が、３つのビットを含む不揮発性メモリ。
【請求項４１】
請求項２６記載の不揮発性メモリにおいて、
前記複数ビット符号が、４つのビットを含む不揮発性メモリ。
【請求項４２】
請求項２６記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、異なる消去可能ブロックに属する不揮発性メモリ。
【請求項４３】
請求項２６記載の不揮発性メモリにおいて、
前記メモリセルのアレイが、メモリセルの複数の消去可能ブロックに編成され、前記第１のメモリセル群および前記第２のメモリセル群が、同じ消去可能ブロックに属する不揮発性メモリ。
【請求項４４】
請求項２６記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである不揮発性メモリ。
【請求項４５】
請求項２６記載の不揮発性メモリにおいて、
前記不揮発性メモリが、ＮＡＮＤ構造を有する不揮発性メモリ。
【請求項４６】
請求項２６記載の不揮発性メモリにおいて、
前記不揮発性メモリが、取り外し可能なメモリカード上に存在する不揮発性メモリ。
【請求項４７】
請求項２６記載の不揮発性メモリにおいて、
前記不揮発性メモリが、フローティングゲート構造を有するメモリセルを含む不揮発性メモリ。
【請求項４８】
請求項２６記載の不揮発性メモリにおいて、
前記不揮発性メモリが、誘電体層構造を有するメモリセルを含む不揮発性メモリ。
【請求項４９】
不揮発性メモリであって、
個々のメモリセルがそれぞれ複数のメモリ状態のうちの１つにプログラム可能なメモリセルのアレイと、
前記複数のメモリ状態のそれぞれを符号化するための複数の符号ビットを有する複数ビット符号と、
より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるようにあらかじめ決められた前記符号ビットのビット順序と、
メモリセル群の各メモリセルの前記複数ビットデータをラッチするための一連のラッチと、
前記第１のメモリセル群のメモリセルから読み出してその中のプログラムされた前記メモリ状態を決定する手段と、
前記複数ビット符号を用いて各読み出されたメモリ状態を複数ビットデータとして符号化する手段と、
前記第１のメモリセル群のあらゆるメモリセルの前記複数ビットデータをラッチする手段と、
前記ラッチされたデータを、符号ビットの数と同数のデータ群であって、各データ群が前記第１のメモリセル群のあらゆるメモリセルから同じ符号ビットを集めたものであるデータ群にグループ分けする手段と、
前記各データ群のビットをデータ処理のためにコントローラに出力し、各データ群を更新するために全ての修正ビットを送り返すことによって、前記所定の符号ビット順序に従ってデータ群毎に前記データ群を処理する手段と、
何らかのデータ群が処理された場合は、何らかの追加のデータ群の処理と同時に前記第２のメモリセル群の個々のメモリセルを、前記処理されたデータ群からの使用可能な符号ビットによって復号可能な最も高いメモリ状態までプログラミングしコピー動作をする手段と、
前記複数ビット符号の符号ビットが前記コピー動作を完了させるために全て使用可能になるまで、前記処理および前記プログラミングを繰り返す手段と、
を含む不揮発性メモリ。
【請求項５０】
請求項４９記載の不揮発性メモリにおいて、
前記一連のラッチが、ちょうど前記複数の符号ビットに加えて追加ビットのための容量を有する不揮発性メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュＥＥＰＲＯＭなどの不揮発性半導体メモリに関し、特に、１つの記憶場所から別の記憶場所にページをコピーすることなどのメモリ動作におけるラッチ構造の効果的な利用に基づくキャッシュ動作に関する。
【背景技術】
【０００２】
電荷の不揮発性記憶が可能であって、特に、小形形状のファクタカードとしてパッケージ化されているＥＥＰＲＯＭおよびフラッシュＥＥＰＲＯＭの形態をとる固体メモリは、近年、様々なモバイルおよびハンドヘルド装置、特に、情報機器および家庭用電化製品において選択される記憶装置になった。固体メモリでもあるＲＡＭ（ランダムアクセスメモリ）とは異なって、フラッシュメモリは不揮発性であって、電源がオフに切り換えられてからも記憶されているデータを保存する。高いコストにもかかわらず、フラッシュメモリは、大容量記憶用途においてますます用いられてきている。ハードドライブおよびフロッピディスクなどの回転磁気媒体に基づく従来の大容量記憶装置は、モバイルおよびハンドヘルド環境には不適切である。その理由は、ディスクドライブが大型になりがちで機械的に故障しやすく、長い待ち時間および大きな電力を必要とするためである。このような好ましくない特性によって、大部分のモバイルおよび携帯用途において、ディスクに基づく記憶装置は非実用的なものになる。その一方で、埋め込み型および取り外し可能なカードの形態をとるフラッシュメモリはともに、その小形、低消費電力、高速および高信頼性の特徴のために、モバイルおよびハンドヘルド環境に理想的に適している。
【０００３】
ＥＥＰＲＯＭおよび電気的にプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）は、消去することができ、新たなデータをメモリセルに書き込む、または「プログラムする」ことができる不揮発性メモリである。両方とも、電界効果トランジスタ構造においてソース領域とドレイン領域との間にある半導体基板内のチャネル領域上に配置される導電性フローティング（非結合）ゲートを用いる。次に、フローティングゲート上には、コントロールゲートが設けられている。トランジスタのしきい電圧特性は、フローティングゲート上に保存されている電荷の量によって制御される。すなわち、フローティングゲート上の所与の電荷レベルに対して、対応する電圧（しきい値）が存在し、トランジスタのソース領域とドレイン領域との間で導通を可能にするために、この電圧をコントロールゲートに印加してトランジスタを「オン」に切り換える必要がある。
【０００４】
フローティングゲートは、電荷の範囲を保持することができ、したがって、フローティングゲートをしきい電圧ウィンドウ内の任意のしきい電圧レベルにプログラムすることができる。しきい電圧ウィンドウの大きさは、デバイスの最小および最大しきい値レベルによって定められ、すなわち、フローティングゲート上にプログラムできる電荷の範囲に対応している。一般に、しきい値ウィンドウは、メモリデバイスの特性、動作条件および履歴に依存している。原理上、ウィンドウ内のそれぞれ異なる分離可能なしきい電圧レベル範囲を使用して、明確に限定されるセルのメモリ状態を指定することができる。しきい電圧が２つの異なる領域に区分される場合、各メモリセルは、１ビットのデータを記憶することができる。同様に、しきい電圧ウィンドウが３つ以上の異なる領域に区分される場合には、各メモリセルは、２ビット以上のデータを記憶することができる。
【０００５】
通常の２状態ＥＥＰＲＯＭのセルでは、少なくとも１つの電流区切り点レベルが、導通ウィンドウを２つの領域に区分するように確定される。所定の固定電圧を印加することによってセルが読み出される場合、セルのソース／ドレイン電流は、区切り点レベル（または、基準電流ＩＲＥＦ）と比較することによってメモリ状態に分離される。電流読み出しが区切り点レベルの読み出しよりも高い場合、セルは一方の論理状態（例えば、「０」状態）にあると判断される、その一方で、電流が区切り点レベルの電流よりも少ない場合、セルは他方の論理状態（例えば、「１」状態）にあると判断される。したがって、このような２状態のセルは１ビットのデジタル情報を記憶する。外部からプログラム可能な基準電流源が、区切り点レベルの電流を発生させるためにメモリシステムの一部として設けられることが多い。
【０００６】
メモリ容量を増大させるために、フラッシュＥＥＰＲＯＭデバイスは、半導体技術の状況が進歩するに従って、ますます高密度で製造されてきている。記憶容量を増大させる別の方法は、各メモリセルに３つ以上の状態を記憶させることである。
【０００７】
多状態またはマルチレベルＥＥＰＲＯＭメモリセルでは、各セルが２ビット以上のデータを記憶することができるように、導通ウィンドウは２つ以上の区切り点によって３つ以上の領域に区分される。したがって、所与のＥＥＰＲＯＭアレイが記憶できる情報は、各セルが記憶できる状態の数とともに増大する。多状態またはマルチレベルメモリセルを有するＥＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭが、米国特許第５，１７２，３３８号（特許文献１）に記載されている。
【０００８】
メモリセルとして作用するトランジスタは、一般に、２つの機構のうちの１つによって「プログラムされた」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加される高電圧は、基板のチャネル領域に亘って電子を加速する。同時に、コントロールゲートに印加される高電圧は、薄いゲート誘電体を介してホットエレクトロンをフローティングゲートに引き込む。「トンネル注入」では、基板に対して高電圧がコントロールゲートに印加される。このように、電子は基板から介在するフローティングゲートに引き込まれる。
【０００９】
メモリデバイスは、幾つかの機構によって消去することができる。ＥＰＲＯＭでは、フローティングゲートから紫外線放射によって電荷を取り除くことによって、メモリは一括消去することができる。ＥＥＰＲＯＭでは、コントロールゲートに対して高電圧を基板に印加し、フローティングゲート内の電子を誘導して薄い酸化物を通して基板のチャネル領域にトンネルさせるようにすること（すなわち、ファウラノルドハイムトンネル現象）によって、メモリセルは電気的に消去することができる。一般に、ＥＥＰＲＯＭは、バイト毎に消去可能である。フラッシュＥＥＰＲＯＭでは、メモリは、一斉に全てのブロックを、または１回に１つ以上のブロックを電気的に消去可能であり、ブロックは、５１２バイト以上のメモリで構成することができる。
【００１０】
一般に、メモリデバイスは、カード上に装着することができる１つ以上のメモリチップを含む。各メモリチップは、復号器、消去回路、書き込み回路および読み出し回路のような周辺回路によって支援されるメモリセルのアレイを含む。さらに精巧なメモリデバイスは、高い知能で高水準のメモリ動作およびインタフェースを実行する外部メモリコントローラによって動作する。
【００１１】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、フラッシュＥＥＰＲＯＭであってもよく、あるいは、他の異なる種類の不揮発性メモリセルを使用することもできる。フラッシュメモリおよびシステムならびにそれらの製造方法の実施例は、米国特許第５，０７０，０３２号（特許文献２）、第５，０９５，３４４号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、および第５，６６１，０５３号（特許文献６）、第５，３１３，４２１号（特許文献７）、および第６，２２２，７６２号（特許文献８）に与えられている。特に、ＮＡＮＤストリング構造を有するフラッシュメモリデバイスは、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。さらに、不揮発性メモリデバイスは、電荷を記憶する誘電体層を有するメモリセルからも製造される。前述した導電性フローティングゲート要素の代わりに、誘電体層が使用される。導電体記憶要素を使用するこのようなメモリデバイスは、エイタンらによる「ＮＲＯＭ：新規な局所的トラッピング、２ビット不揮発性メモリセル」，ＩＥＥＥエレクトロンデバイスレターズ，第２１巻，第１１号，２０００年１１月，５４３〜５４５ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)（非特許文献１）に記載されている。ＯＮＯ誘電体層は、ソース拡散領域とドレイン拡散領域との間のチャネルに亘って延在する。１つのデータビットに対する電荷は、ドレインに隣接する誘電体層内に局限され、他のデータビットに対する電荷は、ソースに隣接する誘電体層内に局限される。例えば、米国特許第５，７６８，１９２号（特許文献１２）および第６，０１１，７２５号（特許文献１３）には、２つのシリコン酸化物層の間に挟まれている捕捉誘電体を有する不揮発性メモリセルが開示されている。多状態データ記憶は、誘電体内の空間的に分離されている電荷記憶領域の２値状態を個別に読み出すことによって実施される。
【００１２】
読み出しおよびプログラムの性能を改善するため、アレイ内の複数の電荷記憶要素またはメモリトランジスタは並列に読み出しまたはプログラムされる。したがって、メモリ要素の「ページ」は、同時に読み出しまたはプログラムされる。既存のメモリアーキテクチャでは、一般に、行は、インタリーブされる幾つかのページを含むか、あるいは１つのページを構成することができる。ページの全メモリ要素は、同時に読み出しまたはプログラムされる。
【００１３】
したがって、大容量で高性能な不揮発性メモリが一般に必要とされる。特に、高性能でデバイス資源を効率的に利用しながら、大きなブロックでメモリ動作を行うことができる大容量の不揮発性メモリが必要とされる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】米国特許第５，１７２，３３８号
【特許文献２】米国特許第５，０７０，０３２号
【特許文献３】米国特許第５，０９５，３４４号
【特許文献４】米国特許第５，３１５，５４１号
【特許文献５】米国特許第５，３４３，０６３号
【特許文献６】米国特許第５，６６１，０５３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第５，５７０，３１５号
【特許文献１０】米国特許第５，９０３，４９５号
【特許文献１１】米国特許第６，０４６，９３５号
【特許文献１２】米国特許第５，７６８，１９２号
【特許文献１３】米国特許第６，０１１，７２５号
【特許文献１４】米国特許第５，５９５，９２４号
【特許文献１５】米国公開特許出願第２００４／０１０９３５７号
【特許文献１６】米国公開特許出願第２００６／０１４０００７号
【特許文献１７】米国特許第６，６５７，８９１号
【特許文献１８】米国特許出願第１１／３２３，５９６号
【特許文献１９】米国公開特許出願第２００６／０２２１７１４号
【特許文献２０】米国公開特許出願第２００６／０２３３０２６号
【特許文献２１】米国公開特許出願第２００６／０２２１７０４号
【特許文献２２】米国公開特許出願第２００５／０２５７１２０号
【特許文献２３】米国公開特許出願第２００６／０１３６６８７号
【特許文献２４】米国特許第６，２６６，２７３号
【特許文献２５】米国特許出願第１１／３８４，０５７号
【特許文献２６】米国特許出願第１１／６１７，５４４号
【非特許文献】
【００１５】
【非特許文献１】Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545
【発明の概要】
【００１６】
本発明の一般的形態によれば、各メモリセルについて最小数のｎ＋１個のデータラッチの効率的な利用によって、ｎビットメモリは効率的なデータ再配置、すなわち「ページキャッシュコピー」を実施することができる。さらに、データラッチの同様な構成は、隣接するワード線に記憶されるデータを補償しながらの読み出しも可能にする。したがって、２ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり３つのデータラッチを必要とするだけである。同様に、３ビットメモリは、隣接するワード線に記憶されるデータと効率的なデータ再配置とを補償しながら読み出しを実施するために、メモリセル当たり４つのデータラッチを必要とするだけである。
【００１７】
各セルが再配置されるｎビットデータを記憶するページメモリセルでは、ｎビットデータのページを読み出し、各ｎビットデータからの１つのビットデータのｎ個の論理ページがラッチされるようにｎビットラッチの対応するページ内にこれをラッチし、データ処理のためにｎ個の論理データページの各ページを所定の順序でページ毎に送り出し、いかなる修正ビットも元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【００１８】
特に、ｎビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第１のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。したがって、ビットが使用可能である限りプログラミングが開始可能であり最終的に全ての符号が使用可能になると完了する適応フルシーケンスモードでプログラミングが実施される。
本発明は、相互に関係のある少なくとも４つの形態において性能を改善するという利点を有する。
【００１９】
第１に、適応フルシーケンスモードでのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧に戻って再開する必要があるマルチパスプログラミングとはかなり異なる。
【００２０】
第２に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの１ビットでもページの各メモリセルに使用できると、プログラミングは開始することができる。
【００２１】
第３に、各メモリセルのプログラミングは、１度に１ビットを連続的に付加しながら行うことができるため、第１ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第２ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、ｎビット符号に対してｎ−１データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、２ビット符号を使用して、１データ処理動作時間が節約される。３ビット符号では、２データ処理動作時間が節約される。
【００２２】
最後に、後から隣接するワード線に対してプログラムされるデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。ｎビットメモリでは、データラッチの数は、メモリセル当たりｎ＋１個である。
【００２３】
本発明の追加の特徴および利点は、本発明の好適な実施形態の添付図面とともに用いられるべき以下の記載から理解されるであろう。
【図面の簡単な説明】
【００２４】
【図１】本発明が実施される不揮発性メモリチップを示す概略機能ブロック図である。
【図２】不揮発性メモリセルを示す概略図である。
【図３】フローティングゲートがどの時点においても選択的に保存することができる４つの異なる電荷Ｑ１〜Ｑ４についてのソース−ドレイン電流ＩDとコントロールゲート電圧ＶCGとの間の関係を示す図である。
【図４】メモリセルのＮＯＲアレイの実施例を示す図である。
【図５Ａ】ＮＡＮＤストリングに編成されるメモリセルのストリングを示す概略図である。
【図５Ｂ】図５Ａに示されるような、ＮＡＮＤストリング５０から構成されるメモリセルのＮＡＮＤアレイ２００の実施例を示す図である。
【図６】消去可能ブロックで構成されるメモリアレイの実施例を示す概略図である。
【図７】図１に示される読み出し／書き込み回路の好適な配置を示す概略図である。
【図８】図７に示される読み出し／書き込み回路の中の読み出し／書き込みスタックの配置を示す図である。
【図９】図８の読み出し／書き込みスタックを示す機能ブロック図である。
【図１０】選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す図である。
【図１１】好適な２ビット論理符号（「ＬＭ」符号）で符号化される４状態メモリの論理ページ毎プログラミングを示す図である。
【図１２】好適な２ビット論理符号（「ＬＭ」符号）で符号化される４状態メモリのフルシーケンスプログラミングを示す図である。
【図１３Ａ】２ビットのＬＭ符号で符号化される４状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図１３Ｂ】２ビットのＬＭ符号で符号化される４状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す図である。
【図１４】好適な３ビット論理符号（「ＬＭ」符号）で符号化される８状態メモリのプログラミングを示す図である。
【図１５】２ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す図である。
【図１６】メモリアレイ内で第１の場所のメモリセルのページのデータが第２の場所のメモリセルのページにコピーされるページコピー動作を示す図である。
【図１７】メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す図である。
【図１８】本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。
【図１９】図１８に示されるキャッシュコピー方式の符号化およびプログラミング部分について２ビットのＬＭ符号を使用する実施例を示す図である。
【図２０】図１８に示されるキャッシュコピー方式の符号化およびプログラミング部分について３ビットのＬＭ符号を使用する実施例を示す図である。
【図２１Ａ】３つのデータラッチを使用する例として示す２ビットメモリに対するＬＡ読み出しの好適な実施方法について説明するフローチャートである。
【図２１Ｂ】３つのデータラッチを使用する例として示す２ビットメモリに対するＬＡ読み出しの好適な実施方法について説明するフローチャートである。
【発明を実施するための形態】
【００２５】
メモリシステム
図１〜図９は、本発明が実施される様々な形態のメモリシステムの実施例を示す。
図１０〜図１７は、このメモリシステムのためのプログラミングおよび読み出し技術の実施例を示す。
図１８〜図２１は、本発明のキャッシュページコピーの実施形態を示す。
【００２６】
図１は、本発明が実施される不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ１００は、２次元アレイのメモリセル２００と、制御回路２１０と、復号器、読み出し／書き込み回路およびマルチプレクサなどの周辺回路とを含む。
【００２７】
メモリアレイ２００は、行復号器２３０（２３０Ａ，２３０Ｂに分割される）を介してワード線によってアドレス指定可能であり、さらに列復号器２６０（２６０Ａ，２６０Ｂに分割される）を介してビット線によってアドレス指定可能である（図４および図５も参照）。読み出し／書き込み回路２７０（２７０Ａ，２７０Ｂに分割される）は、メモリセルのページを並列に読み出しまたはプログラムできるようにする。データＩ／Ｏバス２３１は、読み出し／書き込み回路２７０に接続されている。
【００２８】
好適な実施形態では、ページは、同一ワード線を共有するメモリセルの隣接する行から構成される。メモリセルの行が複数のページに区分されている別の実施形態では、読み出し／書き込み回路２７０を個々のページに多重化するために、ブロックマルチプレクサ２５０（２５０Ａ，２５０Ｂに分割される）が設けられる。例えば、メモリセルの偶数および奇数の行でそれぞれ形成される２つのページは、読み出し／書き込み回路に対して多重化される。
【００２９】
図１は、様々な周辺回路によるメモリアレイ２００へのアクセスがアレイの両側で左右対称に実施され、両側のアクセス線および回路の密度が半分になるような好適な配置を示す。したがって、行復号器は、行復号器２３０Ａおよび２３０Ｂに分割され、列復号器は、列復号器２６０Ａおよび２６０Ｂに分割される。メモリセルの行が、複数のページに区分される実施形態では、ページマルチプレクサ２５０は、ページマルチプレクサ２５０Ａおよび２５０Ｂに分割される。同様に、読み出し／書き込み回路２７０は、アレイ２００の下部からビット線に接続する読み出し／書き込み回路２７０Ａ、およびアレイ２００の上部からビット線に接続する読み出し／書き込み回路２７０Ｂに分割される。このようにして、読み出し／書き込みモジュールの密度、したがってセンスモジュール３８０の密度は、本質的に半分になる。
【００３０】
制御回路１１０は、メモリアレイ２００のメモリ動作を実施するための、読み出し／書き込み回路２７０と共働するオンチップコントローラである。制御回路１１０は、一般に、状態マシン１１２と、オンチップアドレス復号器および電源制御モジュール（明確に図示されず）などの他の回路とを含む。状態マシン１１２は、メモリ動作のチップレベルの制御を行う。制御回路は、外部メモリコントローラを介してホストと通信している。
【００３１】
メモリアレイ２００は、一般に、行および列で構成されワード線およびビット線でアドレス指定可能なメモリセルの２次元アレイとして編成される。アレイは、ＮＯＲ型またはＮＡＮＤ型アーキテクチャに従って形成することができる。
【００３２】
図２は、不揮発性メモリセルを概略的に示す。メモリセル１０は、フローティングゲートまたは誘電体層などの電荷蓄積単位２０を有する電界効果トランジスタによって実施することができる。メモリセル１０は、ソース１４と、ドレイン１６と、コントロールゲート３０とをさらに含む。
【００３３】
今日使用されている不揮発性固定メモリデバイスが数多く商業的に成功している。これらのメモリデバイスは、異なる種類のメモリセルを使用することができ、それぞれの種類は、１つ以上の電荷蓄積要素を有する。
【００３４】
典型的な不揮発性メモリセルは、ＥＥＰＲＯＭと、フラッシュＥＥＰＲＯＭとを含む。ＥＥＰＲＯＭセルおよびその製造方法の実施例は、米国特許第５，５９５，９２４号（特許文献１４）に与えられている。フラッシュＥＥＰＲＯＭセル、メモリシステム内でのその使用、およびその製造方法は、米国特許第５，０７０，０３２号（特許文献２）、第５，０９５，３４４号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、および第５，６６１，０５３号（特許文献６）、第５，３１３，４２１号（特許文献７）および第６，２２２，７６２号（特許文献８）に与えられている。特に、ＮＡＮＤセル構造を有するメモリデバイスの実施例が、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。さらに、誘電体記憶要素を使用するメモリデバイスの実施例は、エイタンらによる「ＮＲＯＭ：新規な局所的トラッピング、２ビット不揮発性メモリセル」，ＩＥＥＥエレクトロンデバイスレターズ，第２１巻，第１１号，２０００年１１月，５４３〜５４５ページ(Eitan et al., “NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no.11. November 2000, pp. 543-545)（非特許文献１）、ならびに米国特許第５，７６８，１９２号（特許文献１２）および第６，０１１，７２５号（特許文献１３）に記載されている。
【００３５】
実際には、セルのメモリ状態は、通常、基準電圧がコントロールゲートに印加される場合のセルのソースおよびドレイン電極の間の導通電流を検知することによって読み出される。したがって、セルのフローティングゲート上の所与の各電荷について、固定基準コントロールゲート電圧に対する対応する導通電流を検出することができる。同様に、フローティングゲート上へのプログラム可能な電荷の範囲は、対応するしきい電圧ウィンドウまたは対応する導通電流ウィンドウを定義する。
【００３６】
あるいは、区分される電流ウィンドウ中の導通電流を検出する代わりに、コントロールゲートの試験用の所与のメモリ状態に対してしきい電圧を設定して、導通電流がしきい電流より低いか高いかを検出することも可能である。一実施では、しきい電流に対する導通電流の検出は、導通電流がビット線のキャパシタンスを通って放電する速度を調べることによって達成される。
【００３７】
図３は、フローティングゲートがどの時点においても選択的に保存することができる４つの異なる電荷Ｑ１〜Ｑ４についてのソース−ドレイン電流ＩD とコントロールゲート電圧ＶCGとの間の関係を示す。４本の実線のＩD 対ＶCG曲線は、４つの可能なメモリ状態にそれぞれ対応してメモリセルのフローティングゲート上にプログラムできる４つの可能な電荷レベルを表す。一例として、セルの母集団のしきい電圧ウィンドウは、０．５Ｖ〜３．５Ｖの範囲に及ぶことができる。しきい値ウィンドウを０．５Ｖ毎の間隔で５つの領域に区分することによって、１つの消去状態および６つのプログラムされた状態をそれぞれ表す７つの可能なメモリ状態「Ｇｒ」、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」を画定することができる。例えば、図に示されるように２μＡの基準電流ＴＲＥＦが使用される場合、その曲線は、ＶＣＧ＝０．５Ｖおよび１．０Ｖによって区画されるしきい値ウィンドウの領域内でＴＲＥＦと交差するため、Ｑ１でプログラムされたセルは、メモリ状態「Ａ」にあると見なすことができる。同様に、Ｑ４はメモリ状態「Ｅ」にある。
【００３８】
前の説明から分かるように、メモリセルに記憶させる状態が多くなるほど、しきい値ウィンドウはより細かく分割される。したがって、必要とされる分解能を達成できるためには、プログラミングおよび読み出し動作により高い精度が必要とされる。
【００３９】
図４は、メモリセルのＮＯＲアレイの実施例を示す。メモリアレイ２００では、メモリセルの各行が、そのソース１４およびドレイン１６によってデイジーチェーン方式で接続されている。この設計は、仮想接地設計と称されることがある。行内のセル１０は、ワード線４２などのワード線に接続されるコントロールゲート３０を有する。列内のセルは、ビット線３４および３６などの選択されるビット線にそれぞれ接続されるソースおよびドレインを有する。
【００４０】
図５Ａは、ＮＡＮＤストリングに編成されるメモリセルのストリングを概略的に示す。ＮＡＮＤストリング５０は、そのソースおよびドレインによってデイジーチェーン接続される一連のメモリトランジスタＭ１，Ｍ２・・・Ｍｎ（例えば、ｎ＝４，８，１６またはそれ以上）から成る。１対の選択トランジスタＳ１，Ｓ２は、ＮＡＮＤストリングのソース端子５４およびドレイン端子５６をそれぞれ介して外部とのメモリトランジスタチェーンの接続を制御する。メモリアレイでは、ソース選択トランジスタＳ１がオンに切り換わると、ソース端子はソース線に接続される（図５Ｂを参照）。同様に、ドレイン選択トランジスタＳ２がオンに切り換わると、ＮＡＮＤストリングのドレイン端子はメモリアレイのビット線に接続される。チェーン内の各メモリトランジスタ１０は、メモリセルとして機能し、意図されるメモリ状態を表すように所与の量の電荷を保存する電荷蓄積要素２０を有する。各メモリトランジスタのコントロールゲート３０は、読み出しおよび書き込み動作に関する制御を行う。図５Ｂで分かるように、ＮＡＮＤストリングの行の対応するメモリトランジスタのコントロールゲート３０は、全て同一ワード線に接続されている。同様に、選択トランジスタＳ１，Ｓ２は、それぞれそのソース端子５４およびドレイン端子５６を介してＮＡＮＤストリングへのアクセスを制御する。同様に、ＮＡＮＤストリングの行の対応する選択トランジスタのコントロールゲート３２は、全て同一選択線に接続されている。
【００４１】
ＮＡＮＤストリング内のアドレス指定されているメモリトランジスタ１０がプログラミング中に読み出しされ、またはベリファイされる場合、そのコントロールゲート３０には、適切な電圧が供給される。同時に、ＮＡＮＤストリング５０内の残りのアドレス指定されていないメモリトランジスタは、そのコントロールゲート上に充分な電圧が印加されることによって、完全にオンに切り換えられる。このように、導通経路は、個々のメモリトランジスタのソースからＮＡＮＤストリングのソース端子５４に効果的に生成され、同様に、個々のメモリトランジスタのドレインについても、セルのドレイン端子５６へ効果的に生成される。このようなＮＡＮＤストリング構造を有するメモリデバイスは、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。
【００４２】
図５Ｂは、図５Ａに示されるような、ＮＡＮＤストリング５０から構成される、メモリセルのＮＡＮＤアレイ２００の実施例を示す図である。ＮＡＮＤストリングの各列に沿って、ビット線３６などのビット線が各ＮＡＮＤストリングのドレイン端子５６に接続されている。ＮＡＮＤストリングの各バンクに沿って、ソース線３４などのソース線が各ＮＡＮＤストリングのソース端子５４に接続されている。さらに、ＮＡＮＤストリングのバンク内のメモリセルの行に沿ったコントロールゲートは、ワード線４２などのワード線に接続されている。ＮＡＮＤストリングのバンク内の選択トランジスタの行に沿ったコントロールゲートは、選択線４４などの選択線に接続されている。ＮＡＮＤストリングのバンク内のメモリセルの全体の行は、ＮＡＮＤストリングのバンク内のワード線および選択線上に適切な電圧をかけることによってアドレス指定することができる。ＮＡＮＤストリング内のメモリトランジスタが読み出されると、ストリングを通って流れる電流が読み出されるセルに保存されている電荷のレベルに本質的に依存するように、ストリング内の残りのメモリトランジスタは、それらの関連するワード線を介して確実にオンに切り換えられる。
【００４３】
図６は、消去可能ブロックで構成されるメモリアレイの実施例を概略的に示す。電荷蓄積メモリデバイスのプログラミングは、デバイスの電荷蓄積要素にさらに電荷を追加するだけである。したがって、プログラム動作に先立ち、メモリセルの電荷蓄積要素内に存在する電荷を取り除く（または消去する）必要がある。ＥＥＰＲＯＭなどの不揮発性メモリは、セルのアレイ２００の全体、あるいはアレイのかなりの部分のセル群が同時に（すなわち、一瞬に）電気的に消去される場合には、「フラッシュ」ＥＥＰＲＯＭと称される。一旦消去されると、次にこのセル群を再プログラムすることができる。同時に消去可能なセル群は、１つ以上のアドレス指定可能な消去単位３００から構成される。消去単位またはブロック３００は、一般に、１つ以上のページのデータを記憶し、このページはプログラミングおよび読み出しの最小単位であるが、２つ以上のページを単一の動作でプログラムしたり読み出したりすることもできる。各ページは、一般に、１つ以上のセクタのデータを記憶し、このセクタの大きさは、ホストシステムによって定義される。一例として、磁気ディスクドライブに関して定めされた規格に従う５１２バイトのユーザデータと、ユーザデータおよび／またはそれが記憶されるブロックに関するあるバイト数のオーバヘッド情報とから成るセクタが挙げられる。
【００４４】
図６に示される実施例では、メモリアレイ２００内の個々のメモリセルは、ＷＬ０−ＷＬｙなどのワード線４２、およびＢＬ０−ＢＬｘなどのビット線３６によってアクセス可能である。メモリは、消去ブロック０，１・・・ｍなどの消去ブロックに編成される。図５Ａおよび図５Ｂも参照すると、ＮＡＮＤストリング５０が１６個のメモリセルを含む場合、アレイ内のＮＡＮＤストリングの第１のバンクは、選択線４４およびＷＬ０〜ＷＬ１５のようなワード線４２によってアクセス可能である。消去ブロック０は、ＮＡＮＤストリングの第１のバンクの全てのメモリセルを同時に消去させるように構成される。別のメモリアークテクチャでは、ＮＡＮＤストリングの１つ以上のバンクを同時に消去することができる。
【００４５】
図７は、図１に示される読み出し／書き込み回路の好適な配置を概略的に示す。読み出し／書き込み回路２７０は、区分される読み出し／書き込みスタック４００のバンクとして実施され、メモリセルの群（「ページ」とも称される）を並列に読み出しまたはプログラムさせることができる。前述したように、メモリアーキテクチャは、一連の読み出し／書き込み回路が対応する一連のメモリセルに並列に作用するようになっている。図８で分かるように、各読み出し／書き込みスタック４００は、ページのサブセットに作用する読み出し／書き込み回路の集まりである。１ページ内にｐ個のメモリセルがある場合、各スタックは、ｋ個のメモリセルのサブセットに作用する。読み出し／書き込みスタックの動作は、スタックコントローラ４１０によって制御される。
【００４６】
図８は、図７に示される読み出し／書き込み回路の中の読み出し／書き込みスタックの配置を示す。各読み出し／書き込みスタック４００は、一群のｋビット線に対して並列に動作する。１ページがｐ＝ｒ×ｋ個のビット線を有する場合、ｒ個の読み出し／書き込みスタック４００−１・・・４００−ｒが存在する。
【００４７】
並列の動作する区分されている読み出し／書き込みスタック４００のバンク全体は、行に沿っているｐ個のセルのブロック（またはページ）を並列に読み出すかプログラムすることができる。したがって、行全体のセルに対してｐ個の読み出し／書き込みモジュールが存在する。各スタックはｋ個のメモリセルに作用するので、バンク内の読み出し／書き込みスタックの総数は、ｒ＝ｐ／ｋによって与えられる。例えば、ｒがバンク内のスタックの数である場合、ｐ＝ｒ×ｋとなる。一例のメモリアレイは、ｐ＝５１２バイト（５１２×８ビット）、ｋ＝８なので、ｒ＝５１２を有することができる。好適な実施形態では、ブロックは、一続きの行全体のセルである。別の実施形態では、ブロックは、行内のセルのサブセットである。例えば、セルのサブセットは行全体の半分または行全体の４分の１であってもよい。セルのサブセットは、一続きの連続するセルまたは１つおきのセル、あるいは所定数毎のセルであってもよい。
【００４８】
４００−１のような各読み出し／書き込みスタックは、本質的に、ｋ個のメモリセルのセグメントに並列に作用するセンス増幅器２１２−１〜２１２−ｋのスタックを含む。好適なセンス増幅器は、米国公開特許出願第２００４／０１０９３５７号（特許文献１５）に開示され、その全体が本願明細書において参照により援用されている。
【００４９】
スタックバスコントローラ４１０は、線４１１を介して読み出し／書き込み回路３７０に制御およびタイミング信号を供給する。スタックバスコントローラはそれ自体、線３１１を介してメモリコントローラ３１０に依存している。各読み出し／書き込みスタック間の通信は、相互接続するスタックバス４３１によって達成され、スタックバスコントローラ４１０によって制御される。制御線４１１は、スタックバスコントローラ４１０から制御およびクロック信号を読み出し／書き込みスタック４００−１の構成要素に供給する。
【００５０】
好適な配置では、スタックバスは、共通プロセッサ５００とセンス増幅器２１２のスタックとの間で通信するＳＡＢｕｓ４２２と、プロセッサとデータラッチ４３０のスタックとの間で通信するＤＢｕｓ４２３とに区分される。
【００５１】
データラッチ４３０のスタックは、データラッチ４３０−１〜４３０−ｋから成り、データラッチはそのスタックと関連する各メモリセルに対応している。Ｉ／Ｏモジュール４４０は、データラッチにＩ／Ｏバス２３１を介して外部とデータを交換させることができる。
【００５２】
共通プロセッサは、エラー状態などのメモリ動作の状態を示すステータス信号を出力する出力部５０７も含む。ステータス信号を使用して、ワイヤードＯＲ構成のフラグバス（ＦＬＡＧ  ＢＵＳ）５０９に結合されるｎ型トランジスタ５５０のゲートを駆動させる。フラグバスは、制御回路１１０によってプリチャージされるのが好ましく、ステータス信号が読み出し／書き込みスタックのいずれかによってアサートされるとプルダウンされる。
【００５３】
図９は、図８の読み出し／書き込みスタックを示す機能ブロック図である。本質的に、各読み出し／書き込みスタックは、並列にページのサブセットであるｋ個のメモリセルに作用する。読み出し／書き込みスタックは、センス増幅器２１２−１〜２１２−ｋのスタックと、データラッチ４３０−１〜４３０−ｋのスタックとを含む。センス増幅器のスタックおよびデータラッチのスタックは、その中でデータを処理することができる共通プロセッサ５００を共有する。どの時点においても、共通プロセッサ５００は、所与のメモリセルに関係するデータを処理する。例えば、ビット線１に接続されるメモリセルでは、対応するセンス増幅器２１２−１が、検知されたデータをメモリセルからセンス増幅器ラッチ、ＳＡラッチ２１４−１内にラッチする。同様に、対応する一連のデータラッチ４３０−１は、ビット線１に接続されるメモリセルと関連する入力または出力データを保存する。好適な実施形態では、一連のデータラッチ４３０−１は、情報の（ｑ＋１）ビットを保存するための一連のデータラッチ４３４−０・・・４３４−ｑ、またはそれぞれＤＬ０，ＤＬ１・・・ＤＬｑを含む。
【００５４】
メモリセルのページは、共通ワード線を共有し、ページの各メモリセルは、ビット線を介してセンス増幅器に接続されている。メモリセルのページが読み出されるあるいは書き込まれる場合、メモリセルのページと関連するワード線から読み出されるあるいはそのワード線に書き込まれるとも言われる。同様に、メモリセルのページと関連するデータは、ページデータと称される。
【００５５】
このような読み出し／書き込み回路は、２００６年６月２９日公開の米国公開特許出願第２００６／０１４０００７号（特許文献１６）に記載され、その全体が本願明細書において参照により援用されている。
【００５６】
図１０は、選択されるワード線に印加される階段波形の形態をとる一連のプログラミング電圧パルスを示す。セルが所与の状態にプログラムされる場合、セルはフローティングゲートに徐々に増加する電荷を加えようとする度に、連続するプログラミング電圧パルスを受ける。プログラミングパルス間に、セルは、再読み出しまたはベリファイされて、区切り点レベルに対するソース−ドレイン電流を決定する。所望の状態に達したことがベリファイされたら、セルに対するプログラミングは停止する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積単位内にプログラムされた蓄積電子に対抗するために、時間または振幅を増加させることもできる。プログラミング回路は、一般に、一連のプログラミングパルスを選択されるワード線に印加する。このようにして、コントロールゲートがワード線に接続されるメモリセルのページは、同時にプログラムすることができる。ページのメモリセルがその目標状態にプログラムされたら、残りのセルがプログラミングされ続けてページの全てのセルがプログラム−ベリファイされるまでの間、そのメモリセルはプログラムを禁止される。
【００５７】
セル対セル結合（「ユーピン効果」）
１つのメモリセルの電荷蓄積要素にプログラムされる電荷は、隣接するメモリセルの電界に摂動を与える電界を生成する。メモリセルは、最初の電界環境でプログラム−ベリファイされて、その後、異なる電荷で続いてプログラムされる隣接セルによる異なる電界環境で読み出される場合、読み出し精度は、「ユーピン効果」と称される効果によって影響を受けることがある。半導体メモリの集積度がさらに上がる中で、メモリセル間の蓄積電荷による電界の摂動（ユーピン効果）は、セルの相互間隔が縮小するに連れてますます目立ってきている。
【００５８】
ユーピン効果は、プログラム−ベリファイの時点と隣接セルがプログラムされた後の読み出しの時点との間でセルの電界環境の非対称性を最小限に抑えることによって、緩和することができる。この問題は、メモリアレイのビット線をはさんだ行に沿っている隣接セル（ＢＬ−ＢＬユーピン効果）、およびワード線をはさんだ列に沿っている隣接セル（ＷＬ−ＷＬユーピン効果）に影響を及ぼす。
【００５９】
ＢＬ−ＢＬユーピン効果を低減する一方法は、２値プログラミングの各パスの間の電荷の大きな変動を防止する複数ビット符号化を採用することである。このような特性を有する好適な符号化は、「ＬＭ」符号化によって与えられる。
ＷＬ−ＷＬユーピン効果を低減する一方法は、最適な順序でメモリアレイのページをプログラムすることである。
ＷＬ−ＷＬユーピン効果を訂正する一方法は、「先行」または「ＬＡ」訂正を使用してプログラムされたページを読み出すことである。
【００６０】
２ビットまたは４状態メモリの例示的な好適「ＬＭ」符号化
図１１の（０）〜（３）は、好適な２ビット論理符号（「ＬＭ」符号）で符号化される４状態メモリの論理ページ毎プログラミングを示す。ページの各メモリセルからの２つの符号ビットは、２つの論理ページを形成し、各ページは、そのページのあらゆるメモリセルから与えられる１つの符号ビットから形成される。プログラミングは、下ページに続いて上ページに論理ページ毎に実施することができる。この符号は、耐故障性を提供し、ＢＬ−ＢＬユーピン効果を軽減する。図１１の（０）は、４状態メモリアレイのしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、４つの領域に区分され４つの可能なメモリ状態「Ｇｒ」、「Ａ」、「Ｂ」および「Ｃ」を画定するしきい値ウィンドウの範囲にわたる。「Ｇｒ」は、狭い分布内の消去状態である接地状態である。「Ａ」、「Ｂ」および「Ｃ」は、次第にプログラムされた状態である。読み出しの間に、４つの状態は、３つの境界区切り点ＤA 、ＤB およびＤC によって画定される。
【００６１】
図１１の（３）は、４つの可能なメモリ状態を表す、好適な２ビットのＬＭ符号化を示す。各メモリ状態（すなわち、「Ｇｒ」、「Ａ」、「Ｂ」および「Ｃ」）は、１対の「上位、下位」符号ビット、すなわち「１１」、「０１」、「００」および「１０」をそれぞれ表す。ＬＭ符号化は、上位および下位ビットが状態「Ａ」および「Ｃ」について逆になる点で従来のグレー符号とは異なる。「ＬＭ」符号は、米国特許第６，６５７，８９１号（特許文献１７）に開示され、電荷の大きな変化が必要とされるプログラム動作を防ぐことによって、隣接するフローティングゲート間の電界効果結合を低減させる利点がある。図１１の（２）および（３）で分かるように、各プログラミング動作は、しきい電圧ＶTの緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【００６２】
この符号化は、２つの符号ビット、「下位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。下位ビットをプログラミングする場合、セルのしきい値レベルは、しきい値ウィンドウの「消去」領域のままであるか、あるいは「中間下位」領域に移動する。上位ビットをプログラミングする場合、このような２つの領域のいずれかにあるセルのしきい値レベルは、しきい値ウィンドウの「中間下位」領域のわずかに高いレベルにさらに上昇する。
【００６３】
図１１の（１）および（２）は、２ビットのＬＭ符号を使用する下ページプログラミングを示す。耐故障性ＬＭ符号は、どんなその後の上ページプログラミングも避けてどんな中間状態も通過するように設計される。したがって、１回目の下ページプログラミングは、下位ビットが「１」の場合、または下位ビットが「０」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Ｇｒ」状態のままにさせる。基本的に、「Ｇｒ」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「Ａ」と「Ｂ」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、ＤA のような粗い境界に対してベリファイされる。
【００６４】
図１１の（２）および（３）は、２ビットのＬＭ符号を使用する上ページプログラミングを示す。上ページプログラミングは、１回目の下ページプログラミングに基づいて実施される。所与の上位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。２回目のプログラミングでは、セルが上位ビットが「１」のとき下位ビットが「１」、すなわち（１，１）であれば、そのセルに対してプログラミングは行わず「Ｇｒ」の状態のままである。上位ビットが「０」のとき下位ビットが「１」、すなわち（０，１）であれば、セルは、「Ｇｒ」状態から「Ａ」状態にプログラムされる。「Ａ」にプログラミングする間、ベリファイは境界ＤＶA に対して行われる。その一方で、セルが上位ビットが「０」のとき下位ビットが「０」、すなわち（０，０）であれば、セルは、「中間下位」状態から「Ｂ」にプログラムされる。プログラムのベリファイは境界ＤＶB に対して行われる。同様に、セルが上位ビットが「１」のとき下位ビットが「０」、すなわち（１，０）であれば、セルは、「中間下位」状態から「Ｃ」にプログラムされる。プログラムのベリファイは境界ＤＶC に対して行われる。上ページプログラミングは、「Ｇｒ」状態または「中間下位」状態から次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。さらに、「Ｇｒ」からおおよその「中間下位」状態への下ページプログラミングは、時間を節約するようになっている。各プログラミングのパスでは、プログラミングパルスが増大しながら再開され、最初のＶｐｇｍ０から上昇している（図１０参照）。
【００６５】
別の好適な実施形態では、「高速パス書き込み」プログラミング技術が実施される。セルのプログラミングがベリファイ境界点付近に近づくと、プログラミングは、ビット線電圧の適切なバイアスまたはプログラミングパルスの修正によってより低速（すなわち、より精密な）モードに切り換えられる。このようにして、目標状態を通り過ぎる危険なしで急速に収束するように、最初により大きいプログラミング段階を使用することができる。「ＱＰＷ」プログラミングのアルゴリズムは、「Methods for Improved Program-Verify Operations in Non-Volatile Memories 」という２００５年１２月２９日出願の米国特許出願第１１／３２３，５９６号（特許文献１８）に開示され、その全体が本願明細書において参照により援用されている。
【００６６】
図１２の（０）〜（２）は、好適な２ビット論理符号（「ＬＭ」符号）で符号化される４状態メモリのフルシーケンスプログラミングを示す。図１１の（０）と同様に、図１２の（０）は、接地状態「Ｇｒ」としての消去状態および次第によりプログラムされたメモリ状態「Ａ」、「Ｂ」および「Ｃ」を有する４状態メモリアレイのしきい電圧分布を示す。図１２の（１）および（２）は、「Ｇｒ」状態から直接プログラムされる目標状態を識別するのに２ビット全てを使用することができるフルシーケンスプログラミング方式を示す。プログラミングパルスは、１つのプログラミングパスでＶｐｇｍ０から単調に増加し、「１１」を「Ａ」状態にプログラミングするためにしきい値基準ＤＶA を使用し、続いて「０１」を「Ｂ」状態にプログラミングするためにＤＶB を使用し、最後に「１０」を「Ｃ」状態にプログラミングするためにＤＶC を使用してベリファイする。メモリセルはプログラム−ベリファイされると、プログラムを禁止される。最後のセルがプログラム−ベリファイされると、そのページに対するプログラミングが終了する。
【００６７】
図１３Ａは、２ビットのＬＭ符号で符号化される４状態メモリの下位ビットを識別するのに必要とされる読み出し動作を示す。符号化は、上ページがプログラムされたか否かに依存している。上ページがプログラムされた場合、下ページの読み出しには、境界しきい電圧ＤB に対する読み出しＢの１つの読み出しパスが必要である。その一方で、上ページがまだプログラムされていなかった場合には、下ページは「中間」状態にプログラムされ（図１１の（２）参照）、読み出しＢはエラーを発生させることになる。むしろ、下ページの読み出しには、境界しきい電圧ＤA に対する読み出しＡの１つの読み出しパスが必要となる。２つの場合を識別するために、上ページがプログラムされるとき、フラグ（「ＬＭ」フラグ）が上ページに（通常オーバヘッドまたはシステム領域に）書き込まれる。読み出しの間、上ページがプログラムされたので読み出しＢ動作が実施されるとまず推定される。ＬＭフラグが読み出される場合、その推定は正しいものであり、読み出し動作が行われる。その一方で、最初の読み出しがフラグを発生しない場合、上ページがプログラムされなかったので下ページは読み出しＡ動作によって読み出す必要があることを示している。
【００６８】
図１３は、２ビットのＬＭ符号で符号化される４状態メモリの上位ビットを識別するのに必要とされる読み出し動作を示す。図から明らかなように、上ページの読み出しには、境界しきい電圧ＤA およびＤC に対して、それぞれ読み出しＡおよび読み出しＣの２パス読み出しが必要となる。同様に、上ページの復号化は、上ページがまだプログラムされていない場合には、「中間」状態によって区別がつかなくなる可能性もある。ＬＭフラグは、上ページがプログラムされたか否かを再び示す。上ページがプログラムされていない場合、読み出しデータは、上ページデータがプログラムされていないことを示す「１」にリセットされる。
【００６９】
「フルシーケンス」読み出しまたは「全ビット」読み出しの場合のように、読み出しが画定される全ての一連の状態を通ってスキャンする場合、読み出しは、基準しきい電圧ＤA 、ＤB およびＤC によってそれぞれ画定されるメモリ状態「Ｇｒ」、「Ａ」、「Ｂ」および「Ｃ」に対して実施される。フルシーケンス読み出しによって全ての可能な状態が識別されるので、ＬＭフラグについて何もチェックする必要がない。この読み出しモードでは、全ビットが同時に決定される。
【００７０】
３ビットまたは８状態メモリの例示的な好適「ＬＭ」符号化
２ビットのＬＭ符号の実施例は、同様に３ビットまたは多数ビットにまで拡張することができる。
図１４の（０）〜（４）は、好適な３ビット論理符号（「ＬＭ」符号）で符号化される８状態メモリのプログラミングを示す。ページの各メモリセルからの３ビットは、３つの論理ページを形成し、プログラミングは、論理ページ毎に実施することができる。この符号は、前述した２ビットのＬＭ符号化に類似し、８つの可能なメモリ状態を符号化するために３ビットへと拡張したものである。図１４の（０）は、８状態のメモリ状態のしきい電圧分布を示す。各メモリセルの可能なしきい電圧は、８つの領域に区分されて８つの可能なメモリ状態「Ｇｒ」、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」および「Ｇ」を画定するしきい値ウィンドウの範囲にわたる。「Ｇｒ」は、狭い分布内の消去状態である接地状態である。「Ａ」〜「Ｇ」は、７つの次第にプログラムされた状態である。読み出しの間、８つの状態は、７つの境界区切り点ＤA 〜ＤG によって画定される。
【００７１】
図１４の（４）は、８つの可能なメモリ状態を表す、好適な３ビットのＬＭ符号化を示す。８つの各メモリ状態は、３つの「上位、中位、下位」ビット、すなわち「１１１」、「０１１」、「００１」、「１０１」、「１００」、「０００」、「０１０」および「１１０」によってそれぞれ表される。図１４の（１）および（４）で分かるように、各プログラミング動作は、しきい電圧ＶT の緩やかな変化から明らかなように、電荷蓄積単位の電荷の変化を緩やかにする。
【００７２】
この符号化は、３符号ビット、「下位」、「中位」および「上位」ビットを別々にプログラムおよび読み出しすることができるように設計される。したがって、１回目の下ページプログラミングは、下位ビットが「１」の場合、または下位ビットが「０」の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Ｇｒ」状態のままにさせる。基本的に、「Ｇｒ」または「接地」状態は、狭い領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「Ｂ」と「Ｄ」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、ＤB のような粗い区切り点しきい値レベルに対してベリファイすることができる。中位ビットをプログラミングする場合は、セルのしきい値レベルは、下ページプログラミングで生じる２つの領域のうちの１つから開始し、４つの可能な領域のうちの１つに移動する。上位ビットをプログラミングする場合は、セルのしきい値レベルは、中ページのプログラミングで生じる４つの可能な領域のうちの１つから開始し、８つの可能なメモリ状態のうちの１つに移動する。
【００７３】
一般に、メモリセルのページは並列にプログラムされ、各メモリセルは３ビットを有する。したがって、メモリセルのページは３つの論理データページを有し、各論理データページはページのあらゆるセルのうちの１つの符号ビットから与えられる。したがって、「下位ビット」ページは、ページのあらゆるメモリセルのうちの下位ビットから形成され、「中位ビット」ページは、あらゆるセルのうちの中位ビットから形成され、「上位ビット」ページは、ページのあらゆるセルのうちの上位ビットから形成される。
【００７４】
図１４の（１）および（２）は、３ビットのＬＭ符号を使用する下ページプログラミングを示す。耐故障性ＬＭ符号は、その後のどんな上ページプログラミングも避けてどんな中間状態も通過するように設定される。したがって、１回目の下ページプログラミングは、下位ビットが「１」、すなわち（ｘ，ｘ，１）の場合、または下位ビットが「０」、すなわち（ｘ，ｘ，０）の場合に「中間下位」状態にプログラムされる場合、セルを「消去」または「Ｇｒ」状態のままにさせる。基本的に、「Ｇｒ」または「接地」状態は、明確に定義される領域のしきい値内にプログラムされた深い消去状態を有することによる狭い分布を有する「消去」状態である。「中間下位」状態は、メモリ状態「Ｂ」と「Ｄ」との間をまたがる広い分布のしきい電圧を有することができる。プログラミングの間、「中間下位」状態は、ＤB のような境界に対してベリファイされる。
【００７５】
図１４の（２）および（３）は、３ビットのＬＭ符号を使用する中ページプログラミングを示す。中ページプログラミングは、１回目の下ページプログラミングに基づいて実施される。所与の中位ビットは、下位ビットの値に応じて異なるメモリ状態を表すことができる。２回目のプログラミングでは、セルが中位ビットが「１」のとき下位ビットが「１」、すなわち（ｘ，１，１）であれば、そのセルに対してプログラミングは行わず「Ｇｒ」の状態のままである。中位ビットが「０」のとき下位ビットが「１」、すなわち（ｘ，０，１）であれば、セルは、「Ｇｒ」状態から「Ａ」と「Ｂ」との間をまたがる第１の「中間中位」状態にプログラムされる。第１の「中間中位」状態にプログラミングする間、ベリファイは境界ＤＶA に対して行われる。その一方で、セルが中位ビットが「０」のとき下位ビットが「０」、すなわち（ｘ，０，０）であれば、セルは、「中間下位」状態から「Ｃ」と「Ｄ」との間をまたがる第２の「中間中位」状態にプログラムされる。プログラムのベリファイは境界ＤＶC に対して行われる。同様に、セルが中位ビットが「１」のとき下位ビットが「０」、すなわち（ｘ，１，０）であれば、セルは、「中間下位」状態から「Ｅ」と「Ｆ」との間をまたがる第３の「中間中位」状態にプログラムされる。プログラムのベリファイは境界ＤＶEに対して行われる。
【００７６】
図１４の（３）および（４）は、３ビットのＬＭ符号を使用する上ページプログラミングを示す。上ページプログラミングは、１回目および２回目、すなわち、下ページおよび中ページプログラミングに基づいて実施される。所与の上位ビットは、下位および中位ビットに応じて異なるメモリ状態を表すことができる。３回目のプログラミングでは、セルが上位ビットが「１」のとき下位および中位ビットが「１」、すなわち（１，１，１）であれば、そのセルに対してプログラミングは行わず「Ｇｒ」の状態のままである。その一方で、上位ビットが「０」のとき下位および中位ビットが「１」、すなわち（０，１，１）であれば、セルは、「Ｇｒ」状態から「Ａ」状態にプログラムされる。「Ａ」状態にプログラミングする間、ベリファイは境界ＤＶA に対して行われる。
【００７７】
同様に、セルが上位ビットが「０」のとき下位および中位ビットがそれぞれ「０」および「１」、すなわち（０，０，１）であれば、セルは、第１の「中間中位」状態から「Ｂ」にプログラムされる。プログラムのベリファイは境界ＤＶB に対して行われる。セルが上位ビットが「１」のとき下位および中位ビットがそれぞれ「１」および「０」、すなわち（１，０，１）であれば、セルは、第１の「中間中位」状態から「Ｃ」にプログラムされる。プログラムのベリファイは境界ＤＶC に対して行われる。
【００７８】
同様に、セルが上位ビットが「１」のとき下位および中位ビットがそれぞれ「０」および「０」、すなわち（１，０，０）であれば、セルは、第２の「中間中位」状態から「Ｄ」にプログラムされる。プログラムのベリファイは境界ＤＶD に対して行われる。セルが上位ビットが「０」のとき下位および中位ビットがそれぞれ「０」および「０」、すなわち（０，０，０）であれば、セルは、第２の「中間中位」状態から「Ｅ」にプログラムされる。プログラムのベリファイは境界ＤＶE に対して行われる。
【００７９】
同様に、セルが上位ビットが「０」のとき下位および中位ビットがそれぞれ「１」および「０」、すなわち（０，１，０）であれば、セルは、第３の「中間中位」状態から「Ｆ」にプログラムされる。プログラムのベリファイは境界ＤＶF に対して行われる。セルが上位ビットが「１」のとき下位および中位ビットがそれぞれ「０」および「１」、すなわち（１，１，０）であれば、セルは、第２の「中間中位」状態から「Ｇ」にプログラムされる。プログラムのベリファイは境界ＤＶG に対して行われる。
【００８０】
上ページプログラミングは、「Ｇｒ」状態または「中間中位」状態のうちの１つから次の隣接するメモリ状態へのプログラミングを含むだけであるため、プログラミングの度に電荷は少しも変化しない。これはＢＬ−ＢＬユーピン効果を軽減するのに役立つ。
【００８１】
４ビット、５ビットおよびそれ以上のビットのＬＭ符号化についても、同様な原理が適用され、ｎビット符号は、ｎ個のデータページを有し、各ページは符号の所与のビットを与えるページ内のあらゆるセルから形成される。さらに重要なことは、下位ビットページから上位ビットページにプログラミングすることでセルの電荷の変化が緩やかになり、これによって、メモリセルのページ内のユーピン効果による摂動量を抑制することである。
【００８２】
ワード線間のユーピン効果
摂動が隣接するワード線上のメモリセル間に存在するＷＬ−ＷＬユーピン効果については、好適なプログラミング方式を使用するプログラミングの間に軽減することができる。これによって摂動が効率的に半分に低減される。残りの半分は、好適な「先行」読み出し方式を使用することによって読み出し中に訂正することもできる。
【００８３】
好適なプログラミング方式は、最適なシーケンスでプログラムされたワード線に関連するページを有する。例えば、あらゆる物理ページが２値データのページを保持する２値メモリの場合は、ページは、下から上のように一貫した方向に沿って順にプログラムされるのが好ましい。このようにして、特定ページがプログラムされる場合、その下側のページも既にプログラムされている。現在のページ上にどんな摂動効果が存在しても、現在のページはこのような摂動を考慮してプログラム−ベリファイされていると見なされる。本質的には、ページをプログラミングするシーケンスは、プログラムされている現在のページがプログラムされた後で受ける環境の変化を最小限にできるようにするべきである。したがって、各プログラムされたページは、その上側のページによって摂動を受けるだけであり、このプログラムシーケンスによって、ＷＬ−ＷＬユーピン効果は効率的に半分に低減される。
【００８４】
メモリセルの各物理ページが複数状態であり、その結果得られる複数の論理データページが異なるパスでプログラムされるメモリの場合には、シーケンスはそれほど単純ではない。例えば、２ビットメモリでは、ワード線に関連する各物理ページは、各セルからの２ビットデータの単一ページ、または各セルからそれぞれ１ビットデータの下位および上位ビットによる２つの別々の論理ページと見なすことができる。したがって、物理ページは、２ビットを用いる１パス、または最初に下位ビットページを用いて次に上位ビットページを用いる２つの別々のパスでプログラムすることができる。各物理ページが２つの別々のパスでプログラムされる場合、修正された最適なシーケンスが可能である。
【００８５】
図１５は、２ビットのメモリセルを有し、そのページが隣接するワード線上のメモリセル間のユーピン効果を最小限に抑えるように最適なシーケンスでプログラムされるメモリの実施例を示す。便宜上、表記は、物理ページＰ０，Ｐ１，Ｐ２・・・がそれぞれワード線Ｗ０，Ｗ１，Ｗ２・・・に存在するようにする。２ビットメモリでは、各物理ページは、それに関連する２つの論理ページ、すなわち、それぞれ２値データを有する下位ビットおよび上位ビット論理ページを有する。一般に、特定の論理ページは、ＬＰ（Ｗｏｒｄｌｉｎｅ．ｌｏｇｉｃａｌ＿ｐａｇｅ）で与えられる。例えば、Ｗ０上のＰ０の下位ビットおよび上位ビットページは、それぞれＬＰ（０．０）およびＬＰ（０．１）と名付けられ、Ｗ２上の対応するページは、それぞれＬＰ（２．０）およびＬＰ（２．１）となる。
【００８６】
本質的に、論理ページのプログラミングは、プログラムされている現在のページが、プログラムされた後で受ける環境の変化を最小限にできるように、シーケンスｎに従う。この場合もやはり、下から上への１つの一貫した方向にだんだんと増加しながら移動することは、片側からの摂動を消すのに役立つ。さらに、各物理ページは、プログラミングが物理ページを上昇しながら２つのプログラミングパスを有することができるため、現在の上位ビットページをプログラムする場合に摂動効果が考慮されるように、隣接する下位ビットページが既にプログラムされた後で現在の上位ビットページをプログラムする方が良い。したがって、プログラミングがＬＰ（０．０）から開始される場合、シーケンスは、０，１，２・・・ｎ・・・のページプログラミング順序で割り当てられ、ＬＰ（０．０），ＬＰ（１．０），ＬＰ（２．０），ＬＰ（１，１），ＬＰ（３，０），ＬＰ（２．１）・・・となる。
【００８７】
読み出し中のＷＬ−ＷＬユーピン効果の訂正（先行または「ＬＡ」読み出し）
ＬＡ読み出し方式は、「Read Operations for Non-Volatile Storage that Includes Compensation for Coupling」という２００６年１０月公開の米国公開特許出願第２００６／０２２１７１４号（特許文献１９）に開示され、その全体が本願明細書において参照により援用されている。基本的に、ＬＡ（先行）訂正を用いる読み出しは、隣接するワード線上のセルにプログラムされたメモリ状態を調査して、現在のワード線上で読み出されているメモリセルに影響するどんな摂動効果も訂正する。前述した好適なプログラミング方式に従ってページがプログラミングされた場合、隣接するワード線は、現在のワード線の真上にあるワード線からとなる。ＬＡ訂正方式には、現在のページの前に読み出される隣接するワード線上のデータが必要となる。
【００８８】
例えば、図１５を参照して、読み出される現在のページ（ｍ）がＷＬｍ（例えば、ＷＬ１）上にある場合、ＬＡ読み出しは、次のワード線ＷＬｍ＋１（例えば、ＷＬ２）をまず読み出し、データ結果を１つのデータラッチに保存する。次に、現在のページは、ＷＬｍ＋１の結果を考慮して検知される。
【００８９】
図１５に関係して前述したように、好適なプログラミングシーケンスを用いる２ビットのＬＭ符号では、下ページ（例えば、ＬＰ（１．０））は、ＤB またはＤB 付近（中間状態）にプログラムされる。上ページ（例えば、ＬＰ（１．１））は、ＷＬｍ＋１の下ページ（例えば、ＬＰ（２．０））がプログラムされて始めてプログラムされる。したがって、下ページのＷＬ−ＷＬユーピン効果は完全になくなる。したがって、データ依存訂正は、「Ａ」および「Ｃ」状態に対して実施されるだけであり、「Ｇｒ」または「Ｂ」状態に対しては実施されない。プログラミングがこのような最適化された順序に従わない場合、データ依存訂正は、４つの状態全てに対して実施される。
【００９０】
ＬＡ読み出しの好適な実施では、ラッチを使用してＬＡ読み出しが「Ａ」または「Ｃ」状態もしくは「Ｇｒ」または「Ｂ」状態を検出したかどうかを示す。前者の場合、訂正は必要とされるが、後者の場合、訂正は必要とされない。現在の読み出しＳ1 （ｎ）において対応するセルは、検知中にワード線の電圧を上げるなどのように、検知パラメータを適切に調整することによって訂正される。訂正は、調整をして１度検知し、調整なしで改めて検知することによって、現在のページ全体について行われる。したがって、ページの各セルのデータは、ラッチが訂正を示すか否かに応じてこのような２回の検知から選択される。
【００９１】
ＬＭ符号を用いる論理ページ毎の読み出しは、（第２のパス読み出しまたは読み出しデータのリセットによって）読み出し結果が確定される前にＬＭフラグをチェックする必要がある（図１３Ａおよび図１３Ｂに関連する記載を参照）。ＬＡ訂正は、現在のワード線を読み出す前にまず次のワード線の読み出しを行う必要がある。したがって、次のワード線の読み出しからのＬＭフラグと現在のワード線からのＬＭフラグとの両方が、状態マシンによってチェックされる必要がある。これら２つのＬＭフラグは、Ｉ／Ｏバスが読み出しデータをトグルするために使用中でないときに、Ｉ／Ｏバスを介して状態マシンに出力される必要がある。「全ビット」または「フルシーケンス」読み出しの場合には、ＬＭフラグのチェックは必要ない。
【００９２】
１つのワード線から別のワード線へのデータのコピー
図１６は、メモリアレイ内で第１の場所のメモリセルのページのデータが第２の場所のメモリセルのページにコピーされるページコピー動作を示す。一般に、第１の場所は、１つの消去ブロック（例えば、ブロック１）内の第１のワード線ＷＬ−１を共有するメモリセルの第１のページ（ページ１）からであり、第２の場所は、別の消去ブロック（例えば、ブロック２）内の第２のワード線ＷＬ−２にある第２のページ（ページ２）からである。メモリセルの両方のページは、共通の一連のビット線、したがって、同様な一連の読み出し／書き込み回路を共有する（図６および図７を参照）。このような状況は、第１の消去ブロックが、有効データと不要データとが混ざったデータを含む統合またはガベージコレクション動作中に発生する。有効データは、第１の消去ブロックが消去され再利用される前に第２の消去ブロックにコピーされることによって救済される。
【００９３】
図１６は、データがメモリチップを離れることを必要としない従来の簡単なページコピーの実施を示す。この実施は、センス増幅器によって検知されデータラッチ４３０内にラッチされる、ワード線ＷＬ−１のページ１からのデータを有する（図９参照）。次に、ラッチされたデータはプログラムデータとして機能し、ＷＬ−２のページ２にプログラムし直される。ラッチされたデータは、Ｉ／Ｏ４４０を介してメモリチップから離れる必要がない。
【００９４】
図１７は、メモリ内の目的場所にコピーされる前に外部コントローラによって読み出されたデータの任意のエラーが訂正される好適なページコピー動作を示す。この配置は、図１４に示される配置と類似しているが、読み出しデータがデータラッチ４３０内にラッチされた後、Ｉ／Ｏ４４０から外部メモリコントローラ１５０に転送されてデータがチェックされエラーが訂正される点が異なる。データが１つの場所から別の場所にコピーされると、データは、トグルアウトされてチェックされるか（例えば、エラーについて）、更新されるか（ヘッダの更新など）、その両方か（検知されたエラーの訂正など）、あるいは暗号化および復号または圧縮などの他の何らかの目的のためにデータ処理される場合が多い。
【００９５】
一般に、ＥＣＣ（誤り訂正符号）がデータページについて計算され、そのデータページとともに保存される。データページが読み出されると、関連するＥＣＣに対してチェックされ、所定数のビットエラーまでＥＣＣによって訂正することができる。通常、メモリアレイおよび周辺回路を含むメモリチップ１００（図１参照）は、ＥＣＣエラーを評価して訂正するのに充分な計算能力を有していない。ＥＣＣ処理は、外部メモリコントローラ１５０によって実施される。そのため、読み出しデータは、メモリチップからメモリコントローラにＥＣＣ処理のために転送される必要がある。そうであれば、訂正後のデータは、メモリコントローラからデータラッチまで送り返される。データラッチ内のデータがＥＣＣ処理されると、そのページを目的場所にプログラミングし直す用意ができる。
【００９６】
キャッシュページコピー
データラッチと外部メモリコントローラとの間でデータを往復させるのに時間がかかる。前述したように、多数のページを含む消去ブロックでは、データを最後まで再利用する必要がある。最新版のデータが新しいブロックにコピーされてからそのブロックは消去され再利用される。メモリデバイスのさらに新しい世代では、ブロックの大きさおよびページの大きさが増大し、各メモリセルがより多くのビットを記憶できるようになるに従い、ブロックコピー時間は長くなる可能性がある。さらに、ＷＬ−ＷＬユーピン効果を訂正するために隣接するワード線（「ＷＬ」）の読み出しを含むことがあるので、読み出しはさらに多くのパスを含む可能性がある。
【００９７】
一般に、ブロックコピーの性能を改善するため、プログラム時間内にデータ往復時間の少なくとも一部を隠すことによって、動作を短縮することができる。キャッシュページコピーは、２つの時間のかかる動作、データＩ／Ｏおよびプログラミングが同時に行われるように実施される。読み出しおよびプログラム動作がともにメモリの主要動作を含みながらインタリーブすると同時に、データラッチＩ／Ｏおよびプログラム動作を同時に行うことができる。したがって、前のページをプログラムしながら読み出しデータの現在のページをトグルアウトして修正することができる。
【００９８】
従来の読み出し動作では、単一の論理ページの読み出しに対してただ１つのデータラッチが必要とされる。したがって、各セルについて、１つのラッチを使用して現在の読み出しからの単一のビットを保存し、別のラッチを使用して前の読み出しからのビットをキャッシュする。このようにして、現在の読み出しからのビットをトグルアウトしてデータを処理した後でラッチに戻すことができると同時に、既にデータ処理された前のビットのプログラミングを行うことができる。
【００９９】
データ再配置およびキャッシュ動作の様々な形態は、２００６年１０月１９日公開の米国公開特許出願第２００６／０２３３０２６号（特許文献２０）、２００６年１０月５日公開の米国公開特許出願第２００６／０２２１７０４号（特許文献２１）、２００５年１１月１７日公開の米国公開特許出願第２００５／０２５７１２０号（特許文献２２）、２００６年６月２２日公開の米国公開特許出願第２００６／０１３６６８７号（特許文献２３）、および米国特許第６，２６６，２７３号（特許文献２４）に記載され、その全体が本願明細書において参照により援用されている。
【０１００】
ＷＬ−ＷＬフローティングゲート結合効果を補償するため、ＬＡ読み出し（先行）読み出しが実施され、隣接するＷＬｍ＋１にプログラムされた状態による摂動に基づいてＷＬｍの読み出しを訂正する。摂動効果を補償するために、補償後の読み出しは、ＷＬｍ＋１で生じる４つのメモリ状態の各例に対して複数回検知される現在のＷＬｍを含む。したがって、隣接するＷＬｍ＋１からの読み出しデータを保存してからそれに応じて現在のＷＬｍを読み出して補償することができるように、ラッチを設ける必要がある。２ビットメモリシステム（「Ｄ２」）の場合、ＷＬｍ＋１の読み出しのために２つのデータラッチが追加で必要とされる。３ビットメモリシステム（「Ｄ３」）の場合、ＷＬｍ＋１の読み出しのために３つのデータラッチが追加で必要とされる。
【０１０１】
ＷＬｍ＋１およびＷＬｍのデータをともに記憶してさらにキャッシュを行うのに充分なラッチを有するメモリデバイスを構築することが可能であるが、ページの各メモリセルに最小限のラッチを使用しながらＬＡ読み出しおよびキャッシュページコピーも実施することができることが望まれる。
【０１０２】
本発明の一般的な形態によれば、各メモリセルについて最小限の数のｎ＋１個のデータラッチを効率的に使用することにより、ｎビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施することができる。したがって、２ビットメモリは、読み出しを実施するために、メモリセル当たり３つのデータラッチを必要とするだけである。同様に、３ビットメモリは、隣接するワード線に記憶されるデータおよび効率的なデータの再配置を補償しながら読み出しを実施するために、メモリセル当たり４つのデータラッチを必要とするだけである。
【０１０３】
各セルが再配置されるｎビットデータを記憶するページメモリセルでは、ｎビットデータのページを読み出し、各ｎビットデータからの１つのビットデータのｎ個の論理ページがラッチされるようにｎビットラッチの対応するページ内にこれをラッチし、データ処理のためにｎ個の論理データページの各ページを所定の順序でページ毎に送り出し、全ての修正ビットを元のラッチに送り返し、と同時に処理データをページ毎にプログラムすることによって達成される。このようにして、データをトグルアウトおよびバックする時間の少なくとも一部は、書き込み動作の裏側に隠すことができ、これによって、ページコピーの性能を改善することができる。
【０１０４】
特に、ｎビット符号の全てのビットが全てのメモリ状態を分離するのに使用できるわけではない場合でも、プログラミングに使用可能な第１のデータページにより、プログラミングが消去状態から開始して所与のプログラムされた状態に達することができるように、論理データページは、データ処置のために所定の順序で送り出される。同様に、追加で使用できるページによって、プログラミングはさらに高くプログラムされた状態まで継続することができる。全ての符号ビットが使用可能になると、ページのあらゆるメモリセルの目標状態が定義されるため、プログラミングを終了することができる。
【０１０５】
図１８は、本発明の一般的な実施形態によるキャッシュコピー方式についてのフローチャートである。前述したように、一般に、ページコピーは、ブロック統合またはガベージコレクション動作中のシステム動作としてメモリデバイスに導入されている。さらにホストによって要求されるホスト動作の場合もある。好適な実施形態では、この動作は、図１に示される状態マシン１１２によって駆動される制御回路１１０の制御のもとで実施される。
ステップ６００：個別のメモリセルが、わずかにプログラムされた状態からほとんどプログラムされた状態までの範囲の複数のメモリ状態のうちの１つにそれぞれプログラム可能である、メモリセルのアレイを提供する。
ステップ６０２：複数のメモリ状態のそれぞれを符号化するために複数の符号ビットを有する複数ビット符号を提供する。
ステップ６１０：より多くの上位符号ビットが使用可能であるほどより多くの高くプログラムされた状態が復号可能であるような符号ビットのビット順序をあらかじめ決める。  ステップ６２０：第１のセル群のメモリセルから読み出してそのメモリ状態を決定する。
ステップ６２２：複数ビット符号を用いて各メモリ状態を複数ビットデータとして符号化する。
ステップ６２４：第１のセル群のあらゆるメモリセルの複数ビットデータをラッチする。
ステップ６２６：符号ビットの数と同数のデータ群にラッチされたデータをグループ分けする。ただし各データ群は、第１のセル群のあらゆるメモリセルから同じ符号ビットを集めたものである。
ステップ６３０：各データ群のビットをデータ処理のために外部ホストまたはコントローラに送り出し、各データ群を更新するために全ての修正ビットを送り返すことによって、所定のビット順序に従ってデータ群毎にデータ群を処理する。
ステップ６３２：ステップ６３０の何れかのデータ群が処理された場合は、何れかの追加データ群の処理と同時に第２のメモリセル群の個々のメモリセルを、処理後のデータ群からの利用可能な符号ビットで復号化できる最も高いメモリ状態までプログラミングする。
ステップ６３４：ステップ６３０およびステップ６３２を、複数ビット符号の全ての符号ビットがプログラミングを完了させるために利用可能になるまで繰り返す。
【０１０６】
図１９の（０）〜（３）は、図１８に示されるキャッシュコピー方式の符号化およびプログラミング部分について２ビットのＬＭ符号を使用する実施例を示す。図１１の（０）と同様に、図１９の（０）は、４状態メモリアレイのしきい電圧分布を示す。この場合、ステップ６００でのメモリセルは、４つのメモリ状態のうちの１つにそれぞれプログラム可能である。図１９の（３）は、ステップ６０２で提供されるような、４つの各メモリ状態についての例として示す２ビットのＬＭ符号化を示す。
【０１０７】
図１９の（３）で示されるように、２ビットのＬＭ符号は、２つの符号ビット、すなわち、下位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は最初は消去メモリセルのページであり、その最初のしきい値分布は、図１９の（１）に示される。
【０１０８】
図１９の（１）〜（３）は、本発明の好適な実施形態による、２ビットのＬＭ符号の適応フルシーケンスプログラミングを示す。このプログラミングモードは、図１１の（１）〜（３）に示される下および上ページの２パスプログラミングとはかなり異なり、図１２の（１）および（２）に示されるフルシーケンスプログラミングとも異なる。
【０１０９】
前述したフルシーケンスプログラミングでは、全ての可能なメモリ状態を分離するために、複数ビット符号の全てのビットが使用可能である。プログラミングは最も少なくプログラムされた「Ｇｒ」状態から開始され、全てのプログラム状態は並列にプログラムされる。目標状態として「Ａ」状態を有するこれらのメモリセルは、「Ａ」状態にプログラムされたらさらにプログラムされることを禁止され、同時に「Ｂ」および「Ｃ」を有する他のメモリセルはさらにプログラムされる。その結果、目標状態として「Ｂ」を有するメモリセルもさらにプログラムされることを封じられる。同様にして、最終的に目標状態として「Ｃ」を有するメモリセルがこれに続く。
【０１１０】
好適な実施形態の適応フルシーケンスプログラミングでは、複数ビット符号の全てのビットがすぐに利用できるわけではない。一般に、最初は１つのビットが使用可能であり、次いで、次のビットさらに次のビットが続いて、最後に複数ビット符号の全てのビットがそろう。全てのビットが使用可能になるまで待ってからプログラミングが開始できるのではなく、適応プログラミングモードでは、全ビットより少ないビットでもプログラミングが可能になる。最初に利用可能なビットが、最初の２つのメモリ状態、すなわち、「Ｇｒ」と「Ａ」との間を分離することができる場合にこれが可能である。上位ビットは、最も低い２つのメモリ状態の間を分離することができることが、図１９の（２）から分かる。上位ビットが「１」の場合、メモリ状態はプログラミングのない「Ｇｒ」の状態のままである。「０」の上位ビットを有するメモリセルでは、初期の段階で、せいぜい「Ａ」にプログラムすることができるだけである。このようにして、２ビット符号の単に１ビットが利用できる場合でも、プログラミングは、オーバプログラミングの危険なしで開始することができる。その結果、２番目の下位ビットが利用可能になると、２ビットの符号は完成し、４つの可能なメモリ状態を全て分離することができる。その後、プログラミングは、図１２の（１）および（２）に関連して説明されるフルシーケンスモードと同様に進行する。
【０１１１】
したがって、例として示す２ビットのＬＭ符号では、図１８のステップ６１０は、上位ビットが下位ビットの前にくるようにあらかじめ決めされた符号ビットのビット順序を有することになる。
ステップ６２０では、メモリセル群が読み出され、その群の各メモリセルのメモリ状態が決定される。
【０１１２】
ステップ６２２では、「上位ビット下位ビット」で表現される、例として示す２ビットのＬＭ符号を使用して、メモリ状態「Ｇｒ」は「１１」、「Ａ」は「０１」、「Ｂ」は「００」、「Ｃ」は「１０」として符号化される。一実施形態では、各メモリセルの２ビットデータは、２つのパスで検知することができ、それぞれ、一方はページの各メモリセルからの下位ビットから成る下論理ページデータであり、他方は図１３Ａおよび図１３Ｂに示される上論理ページデータである。下論理ページ読み出しパスは、ＤB で検知することを含み、これに対して、上論理ページのパスは２つのサブパスを含み、一方はＤA で検知し他方はＤC で検知する。別の実施形態では、２ビットデータは、「フルシーケンス」モードで検知することができ、２つのビットは、３つのサブパスで読み出し境界しきい値ＤA 、ＤB およびＤC に対してそれぞれ検知することにより１パスで同時に検知される。
【０１１３】
ステップ６２４では、セル群の各メモリセルからの２ビットデータがラッチされる。例えば、図９に示されるデータラッチ４３４−１および４３４−２を使用して、各メモリセルの下位および上位ビットをラッチすることができる。
【０１１４】
ステップ６２６では、ラッチデータは、２ビット符号の符号ビットの数に対応する２つのデータ群にグループ分けされる。第１は、メモリセル群から全ての下位ビットを集めた下位ビットデータ群である。同様に第２は、メモリセル群から全ての上位ビットを集めた上位ビットデータ群である。
【０１１５】
ステップ６３０では、各データ群からのビットが、一度に１つの群でデータ処理される。各データ群からのビットは、データ処理のためにコントローラに出力され、データ群を更新するために全ての修正ビットが送り返される。この場合、２つのデータ群は、ステップ６１０で与えられた所定の順序、すなわち、上位ビットのデータ群に続いて下位ビットのデータ群という順序に従って処理される。したがって、まず上位ビットのデータ群が、データ処理のために上位ビットをコントローラに出力し、上位ビットのデータ群を更新するために全ての修正ビットを送り返すことによって処理される。その後、下位ビットのデータ群の処理がこれに続く。
【０１１６】
ステップ６３２では、ステップ６３０で最初のラッチ群を処理する最初の繰り返しの間、処理データは同時プログラミングにまだ使用することができない。
ステップ６３４では、２ビットの符号の全ての符号ビットを使用できるわけではないため、動作は、ステップ６３０に戻る。
ステップ６３０（２）では、下位ビットデータが次に処理される。「６３０」に付加される「（２）」は、ステップの２回目の繰り返しを示すのに使用される。
【０１１７】
ステップ６３２（２）では、上位ビットのデータ群は、前のステップ６３２で用意された更新データで処理された。プログラミングは、使用可能な上位ビットデータを使用して進めることができる。「１」を有するメモリセルはプログラムされず、「０」を有するメモリセルは、上位ビットだけを使用することによって復号可能な状態「Ａ」である次のプログラムされた状態にプログラムされる。上位ビットのデータ群を使用するプログラミングは、ステップ６３０（２）の下位ビットのデータ群の処理と同時に行われる。
【０１１８】
ステップ６３４（２）では、２ビット符号の全ての符号ビットがプログラミングを完了させるのに使用できるわけではないため、動作は、ステップ６３０（３）に戻る。
ステップ６３０（３）では、上位および下位ビットのデータ群は全て処理されたので、処理する群はもうない。
ステップ６３２（３）では、上位ビットに加えて、下位ビットもここで使用可能である。したがって、プログラミングは、全ての符号ビット（「上位、下位」）を使用するフルシーケンスモードで継続することができる。図１９の（３）は、「１１」を有するセルは「Ｇｒ」のままであり、「１０」を有するセルは「Ｇｒ」から「Ｃ」にプログラムされ、「０１」を有するセルは「Ａ」のままであり、「００」を有するセルは「Ａ」から「Ｂ」にプログラムされることを示す。
ステップ６３４（３）で、プログラミングを完了させるために２ビット符号の２つの符号ビットが全て使用可能になると、動作は終了する。
【０１１９】
ステップ６３０で説明されるプログラミングモードは、「適応フルシーケンス」プログラミングと見なすことができる。これは図１２で説明される「フルシーケンス」プログラミングといくらか類似している。違いは、フルシーケンスの場合、全てのビット（この場合は、下位ビットと上位ビットとの両方）を使用して、ページの各セルがプログラムされる目標状態は何かを識別することである。プログラミングは、消去状態から始まる全てのセルに適用され、プログラムされた各セルがその目標状態に達すると、さらにプログラムされるのを禁止される。その一方で、適応フルシーケンスの場合は、最初のあいまいなまたは完全ではないビット情報は、ページのあらゆるメモリセルの目標状態を特定するには充分でないが、所与のメモリ状態でそのまま保持されるべき状態と次の状態にプログラムされることになる状態との間を識別するには充分である。より多くのビット情報が使用可能になるほど、分解能はさらに向上しますます高いメモリ状態にプログラミングを進めることができる。その結果、全てのビットが使用可能になると、プログラミングはフルシーケンスプログラミングになる。したがって、適応フルシーケンスプログラミングでは、一部のセルのプログラミングは、全てのビットが使用可能になるのを待つことなく、「有利なスタート（head start）」を切ることができる。
【０１２０】
図２０の（０）〜（４）は、図１８に示されるキャッシュコピー方式の符号化およびプログラミング部分について３ビットのＬＭ符号を使用する実施例を示す。図１４の（０）と同様に、図２０の（０）は、４状態メモリアレイのしきい電圧分布を示す。その場合、ステップ６００でのメモリセルは、８つのメモリ状態のうちの１つにそれぞれプログラム可能である。図２０の（４）は、ステップ６０２で提供されるような、８つの各メモリ状態についての例として示す３ビットのＬＭ符号化を示す。
【０１２１】
図２０の（４）で示されるように、３ビットのＬＭ符号は、３つの符号ビット、すなわち、下位ビット、中位ビットおよび上位ビットを有する。ページキャッシュコピーの場合、コピー先は消去メモリセルのページであり、その最初のしきい値分布は、図２０の（１）に示される。
図２０の（１）〜（４）は、本発明の好適な実施形態による、３ビットのＬＭ符号の適応フルシーケンスプログラミングを示す。
【０１２２】
３ビットのＬＭ符号を図１８に示されるキャッシュページコピー方式に適用することは、前述した２ビットのＬＭ符号を適用することと類似している。本質的に、３つの符号ビット、すなわち、「下位、中位、上位」ビットによって符号化される８つの状態がある。
図１４の（０）と同様に、図２０の（０）は、８状態メモリアレイのしきい電圧分布を示す。ページキャッシュコピーの場合は、コピー先は、消去メモリセルのページであり、その最初のしきい値分布は、図２０の（１）に示される。
【０１２３】
下位、中位および上位ビットの３つの符号ビットは、最も低くプログラムされた状態から分離する能力によって順位付けされる。３ビットのＬＭ符号では、上位ビットは、「Ｇｒ」状態に保持されるべきセル（上位ビット＝１）と、次のプログラムされた状態にプログラムしてもよいセル（上位ビット＝０）との間を識別することができることが図２０の（２）から分かる。同様に、図２０の（３）から分かるのは、上位ビットと中位ビットとを組み合わせると、「Ｇｒ」に保持されるべきセルと、「Ａ」に保持されるべきセルと、「Ｂ」にプログラムしてもよいセルとの間を識別することができることである。同様に、図２０の（４）から分かるのは、３ビット符号を完成させる上位、中位および下位ビットを組み合わせると、全ての可能なメモリ状態を識別することができ、フルシーケンスモードでプログラムを進めることができることである。したがって、３ビットのＬＭ符号は、上位ビット、中位ビット、そして下位ビットの順に順序付けされる。
【０１２４】
上位、中位および下位の３つの符号ビットは、各符号ビットについて１つの群の３つのデータ群となる。前述した２ビットの場合と同様に、上位ビットデータ群が最初に処理される。次いで中位ビットデータ群がこれに続く。中位ビットデータ群が処理されているとき、上位ビットデータ群を使用してプログラミングが行われる。後で、下位ビットデータ群が処理されているとき、上位および中位のデータ群を両方使用してプログラミングが行われる。最後に、下位ビットデータ群が処理された後で、プログラミングは、３ビットのＬＭ符号の３つの符号ビット全てを使用するフルシーケンスモードになる。
【０１２５】
図１８に関連して説明されるキャッシュページコピー方式は、相互に関連する少なくとも３つの形態で性能を改善する。
第１に、適応フルシーケンスモードのプログラミングは、ワード線に印加されるプログラミング電圧が単調増加関数であることを可能にする。プログラミングは、最も低いメモリ状態から最も高いメモリ状態までしきい値ウィンドウ全体に亘ってワンパスで行うことができる。このことは、プログラミング電圧が各パスの最初で最初のプログラミング電圧から再開する必要があるマルチパスプログラミングとはかなり異なる。
【０１２６】
第２に、適応機能は、全ての符号ビットがメモリ状態を完全に分離するのに使用できるわけではない場合でも、プログラミングを開始させることが可能である。複数ビット符号のうちの１ビットでも使用できると、プログラミングは開始することができる。
【０１２７】
第３に、各メモリセルのプログラミングは、１度に１ビットを連続的に付加しながら行うことができるため、第１ビットのデータ群を使用してメモリセル群をプログラムすると同時に、第２ビットのデータ群が同時にデータ処理されることによって用意される。したがって、データ処理時間は、プログラミング時間の裏側に隠すことができる。本発明のキャッシュページコピー方式は、ｎビット符号に対してｎ−１データ処理動作をプログラミング時間の裏側に隠すことができる。例えば、２ビット符号を使用して、１データ処理動作時間が節約される。３ビット符号では、２データ処理動作時間が節約される。
【０１２８】
最後に、隣接するワード線上のデータによる摂動効果に対する先行訂正を使用しても、本発明のキャッシュページコピー方式は、最小数のデータラッチを用いて実施することができる。ｎビットメモリでは、データラッチの数は、メモリセル当たりｎ＋１個である。
【０１２９】
隣接するワード線からの摂動に対する訂正（ＬＡ読み出し）を有するキャッシュページコピー
好適な実施形態では、ＬＭ符号化データのページは、隣接するワード線（「ＷＬ」）による摂動に対する補償をしながら読み出される。ＷＬ−ＷＬフローティングゲート結合効果を補償するため、先行（「ＬＡ」）読み出しが実施され、隣接するＷＬｍ＋１にプログラムされた状態による摂動に基づいてＷＬｍの読み出しを訂正する。ＬＡ読み出し技術は、Nima Mokhlesi による「READ OPERATION FOR NON-VOLATILE STORAGE WITH COMPENSATION FOR COUPLING」という２００６年５月１７日出願の米国特許出願第１１／３８４，０５７号（特許文献２５）に開示され、その全体が本願明細書において参照により援用されている。
【０１３０】
複数ビット符号化および「ＬＡ」訂正には、両方とも読み出しデータの単なるトグリングに加えて、追加のラッチおよびバスの動きが必要となるように見える。それにもかかわらず、図１８に関連して説明されるキャッシュページコピー方式は、各ｎビットメモリセルに対して最小数のｎ＋１個のラッチを用いて実施される。
【０１３１】
不揮発性メモリの読み出し動作中のフローティングゲート結合の効果を補償するには、選択されたワード線ＷＬｍに対する読み出し動作中に、隣接するワード線ＷＬｍ＋１から読み出されたデータへのアクセスが必要となる。要するに、読み出し／書き込み回路（例えば、図１の２７０Ａ，２７０Ｂ）は、ＷＬｍに保存されるデータ値を決定すると同時に、ワード線ＷＬｍ＋１にアクセスする必要がある。このことは、特に特定の補償技術を目的とするチップスペースを最小限に抑えようとする場合に、メモリ設計者にとって問題となる可能性がある。２ビットのデータを記憶するメモリセルを有するメモリデバイスを考える。隣接するワード線ＷＬｍ＋１からのデータが、選択されたワード線ＷＬｍに対する読み出し動作中に使用できる場合、設計者は、ワード線ＷＬｍ＋１およびワード線ＷＬｍからのデータを、選択されたワード線ＷＬｍでの読み出し動作中に同時に保存できるだけの充分なデータラッチを含むように選択することができる。各メモリセルが２ビットのデータを記憶する場合、各ビット線について４つのデータラッチが必要である。２つのデータラッチは、ワード線ＷＬｍ＋１からの２ビットのデータを記憶することができ、もう２つのデータラッチは、ワード線ＷＬｍからの２ビットのデータを記憶することができる。同様に、３ビットデバイスには追加で３つのラッチを使用することもでき、４ビットデバイスには追加で４つのラッチなどとなる。この技術は効果的であるが、セル当たりに記憶されるビットの数に応じて各ビット線でデータレジスタを追加するのは、スペースの制限から一部の実施では受け入れられない。
【０１３２】
最小数のデータラッチを使用する好適なＬＡ読み出し方式は、Man Lung MuiおよびSeungpil Leeによる「COMPLETE WORD LINE LOOK AHEAD WITH EFFICIENT DATA LATCH ASSIGNMENT IN NON-VOLATILE MEMORY READ OPERATIONS 」という２００６年１２月２８日出願の米国特許出願第１１／６１７，５４４号（特許文献２６）に記載され、その全体が本願明細書において参照により援用されている。
【０１３３】
好適なＬＡ読み出し方式では、ｎビットメモリセルのＬＡ読み出しを実施するのにｎ＋１個のラッチが必要とされるだけである。本質的には、ＷＬｍ＋１の摂動を与えるデータがまず読み出される。これにより、ｎビットのＷＬｍ＋１の読み出しに対しセル当たりｎ個のラッチが満たされる。セル当たり１つの追加ラッチを使用して、所与のセルのｎ個のラッチ内のデータがＷＬｍ＋１に関連するかＷＬｍに関連するかを示すフラグを保存する。その後、ＷＬｍの補償された一連の読み出しが実施される。
【０１３４】
補償は、摂動強度の関数としてワード線読み出し電圧をバイアスすることによって達成することができる。例えば、ＷＬｍ＋１上の隣接するセルが状態「Ｇｒ」である場合、摂動はなく、ＷＬｍでの読み出しは、バイアスなしで実施される。ＷＬｍ＋１上の隣接するセルが状態「Ａ」である場合、第１の量のバイアスがある。ＷＬｍ＋１上の隣接するセルが状態「Ｂ」である場合、第２の量のバイアスがある、などのようになる。
【０１３５】
あるいは、補償は、必要とされる訂正の関数として所与のメモリ状態を読み出すための境界しきい電圧を変更することによって達成することができる。
【０１３６】
補償された各読み出しパスの後、それぞれのメモリセルのメモリ状態が決定され、それらのデータは対応するラッチ内の対応するＷＬｍ＋１のデータと置き換えられ、フラグはＷＬｍのデータを示すように設定される。一般に、ｎビットメモリでは、ＷＬｍ＋１上に２n個の可能なメモリ状態が存在し、したがって同じ数の補償値が存在する。ＷＬｍを読み出す場合、４つの可能なメモリ状態の間を識別する２n −１個の境界点が存在する。したがって、一般に、ＷＬｍの補償された読み出しを完了させるために２n （２n −１）個のＬＡ読み出しパスが存在する。例えば、２ビットメモリは総数１２個の読み出しパスを有し、３ビットメモリは総数５６個の読み出しパスを有する。ＬＡ読み出しが完了した後、ラッチ内の全てのＷＬｍ＋１のデータは、ＷＬｍのデータに置き換えられる。したがって、好適なＬＡ読み出し技術には、読み出し中にメモリセル当たりｎ＋１個のラッチ、読み出し完了後にｎ個のラッチが必要となる。
【０１３７】
図２１Ａおよび図２１Ｂは、３つのデータラッチを使用する例として示す２ビットメモリに対するＬＡ読み出しの好適な実施方法について説明するフローチャートである。この実施例は、図１１の（０）に示される実施例と同様に、セル当たり２ビットを記憶する４状態デバイスについて示される。ワード線ＷＬｍ上のメモリセル群は、ＷＬｍ＋１上の隣接するメモリセルによる結合効果を補償しながら読み出される。各メモリセルに対する検知は、（状態「Ｇｒ」と「Ａ」との間の）状態「Ａ」レベル、（状態「Ａ」と「Ｂ」との間の）状態「Ｂ」レベル、（状態「Ｂ」と「Ｃ」との間の）状態「Ｃ」レベルで実施される。後からプログラムされたワード線ＷＬｍ＋１の隣接するメモリセルの４つの可能な状態をそれぞれ考慮するように各レベルで検知する場合に補償が設けられる。
【０１３８】
各メモリセルに対する適切な検知動作の結果を選択するために、ワード線ＷＬｍ＋１上の隣接するメモリセルに関する情報が、ＷＬｍの対応するセルを検知すると同時に各ビット線について記憶される。ビット線のプロセッサは、この情報を使用して適切な検知動作の結果を選択する。例えば、２ビットの場合、各ビット線の一連のデータラッチＤＬ０およびＤＬ１は、選択されたワード線のメモリセルから読み出されたデータを保存する責任を負う。各ビット線の同様な一連のデータラッチも、選択されたワード線に隣接するワード線のメモリセルに関する情報を保存する。各ビット線の追加のデータラッチＤＬ２は、データラッチが選択されたワード線のデータを保存しているか隣接するワード線のデータを保存しているかについての表示を記憶するフラグとして動作する。
【０１３９】
したがって、図２１Ａおよび図２１Ｂの技術は、各ビット線のデータラッチを効率的に使用し、隣接するワード線ＷＬｍ＋１からのデータを保存するのに余分な一連のラッチが必要にならないようにする。図２１Ａおよび図２１Ｂの実施例では、メモリセルは２ビットのデータを記憶するので３つのデータラッチが使用される。開示される原理は、様々なセル当たりのビット数（例えば、３、４、またはそれ以上）を有する実施に拡大することができる。一般に、各ビット線について必要とされるデータラッチ数は、個々のメモリセルによってそれぞれ記憶されるビット数より１つ多くなる。追加の１個のラッチは、現在記憶されているデータの履歴を特定する目的に使用される。
【０１４０】
図２１Ａおよび図２１Ｂでは、ＤＬ０およびＤＬ１と名付けられる２つのデータラッチが各ビット線について使用され、対応するビット線のメモリセルから読み出されたデータを保存する。ＤＬ２と名付けられる３番目のデータラッチが使用され、データラッチＤＬ０およびＤＬ１に現在保存されているデータが選択されたワード線ＷＬｍからのデータと一致するかどうか、あるいはそのデータが選択されたワード線に隣接するワード線ＷＬｍ＋１からのデータと一致するかどうかを示すフラグを保存する。
【０１４１】
読み出し動作は、ステップ７００で隣接するワード線ＷＬｍ＋１を読み出すことによって開始する。隣接するワード線は、図１１の（０）に示される３つの通常の基準レベルＤA 、ＤB およびＤC で読み出すことができる。一実施形態では、ＷＬｍ＋１を読み出す場合に補償は適用されない。ステップ７０２で、隣接するワード線のメモリセルのデータ値が決定される。ステップ７０４で、ワード線ＷＬｍ＋１における各ビット線のメモリセルのデータ値は、そのビット線の対応する一連のデータラッチＤＬ０およびＤＬ１に保存される。ステップ７０６では、各ビット線の３番目のデータラッチＤＬ２が論理０に設定されて、データラッチＤＬ０およびＤＬ１内のデータが、ＷＬｍ＋１のメモリセルからのデータと一致することを示す。
【０１４２】
ＷＬｍ＋１の４つの可能な隣接する状態のそれぞれに対する読み出しである一群のサブ読み出しが、ＷＬｍ上においてＷＬｍの２つの状態の間を識別する各境界しきい値レベルで実施される。
【０１４３】
したがって、ステップ７０８〜ステップ７２２で、（状態「Ｇｒ」と「Ａ」との間の）状態「Ａ」レベルでの一群のサブ読み出しが、選択されたワード線ＷＬｍについて実施される。ステップ７０８での最初のサブ読み出しは、フローティングゲート結合を考慮する補償を提供しない。
【０１４４】
ステップ７１０で、各ビット線のプロセッサは、ビット線についてのデータラッチを更新するかどうかを決定する。ステップ７０８で、選択されたワード線のメモリセルがサブ読み出し中に導通しなかったビット線について、プロセッサは、データラッチ内に保存されている値を何も変更しない。メモリセルが導通したビット線について、プロセッサは、データラッチＤＬ０およびＤＬ１が状態「Ｇｒ」に対応するデータを現在保存しているかどうかを判断する。例えば、図１１の（３）のデータ配置が使用される場合、プロセッサは、ラッチが両方とも論理１を保存しているかどうかを判断する。ラッチが論理１１を保存していない場合、プロセッサは、データラッチ内の値を変更しない。両方のラッチが１１を保存している場合、プロセッサは、３番目のデータラッチＤＬ２が論理０を保存しているかどうかを判断する。論理０は、ラッチＤＬ０およびＤＬ１がＷＬｍ＋１からのデータを保存し、上書きされるべきであることを示す。一実施形態では、プロセッサはラッチＤＬ２をまずチェックし、ＤＬ２が論理０を保存している場合にラッチＤＬ０およびＤＬ１をチェックするだけでもよい。両方の条件が導通のあるメモリセルに対して満たされる場合、ＤＬ０およびＤＬ１は消去状態に対応する所与のデータ値に設定される。３番目のデータラッチＤＬ２は１に設定され、ＤＬ０およびＤＬ１がワード線ＷＬｍのデータを現在保存していることを示す。ＤＬ２内の論理１は、ラッチＤＬ０およびＤＬ１が後のサブ読み出しの間に上書きされるのを防ぐ。
【０１４５】
ステップ７１２では、別の状態「Ａ」のサブ読み出しが実施される。このとき、状態「Ａ」にプログラムされている、ＷＬｍ＋１における隣接するメモリセルに対応する補償が適用される。
【０１４６】
各ビット線のプロセッサは、導通のあるメモリセルを有するビット線のラッチを更新するかどうかを判断するために別の論理シーケンスを実施する。ＤＬ０およびＤＬ１が状態「Ａ」のデータを保存していない（例えば、１０）場合は、何も実施されない。保存している場合は、プロセッサは、ＤＬ２がＷＬｍ＋１のデータが現在保存されていることを示す０を保存しているかどうかを判断する。ＤＬ２が０に設定されている場合は、プロセッサはＤＬ０およびＤＬ１に状態「Ｇｒ」のデータを上書きする。プロセッサは、ＤＬ２を１に設定してラッチがＷＬｍからのデータを現在保存していることを示す。
【０１４７】
ステップ７１６では、状態「Ａ」のサブ読み出しがＷＬｍで実施されると同時に、状態「Ｂ」にプログラムされているＷＬｍ＋１のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ｂ」に対応するデータ（例えば、００）を保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはＤＬ２が論理０を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。ＤＬ２が０に設定されている場合は、ＤＬ０およびＤＬ１は状態「Ｇｒ」の所定のデータで上書きされ、ＤＬ２は１に設定されラッチがＷＬｍからのデータを現在保存していることを示す。
【０１４８】
ステップ７２０では、状態「Ａ」レベルでの最後のサブ読み出しが実施される。状態「Ｃ」にあるＷＬｍ＋１の隣接するセルに基づく補償が適用される。導通のあるメモリセルについて、対応するビット線のプロセッサは、ラッチが状態１のデータ（例えば、０１）を保存しているかどうかを判断する。ＤＬ２が２に設定されている場合は、何も実施されない。ＤＬ２が０に設定されている場合は、プロセッサは、ＤＬ２が０を保存しているかどうかを判断する。保存していない場合は、さらに何も実施されない。保存している場合は、プロセッサは、状態「Ｇｒ」の所定のデータでＤＬ０およびＤＬ１を上書きし、ＤＬ２を１に設定する。
ステップ７２４〜ステップ７４４では、状態「Ｂ」レベルでのサブ読み出しのシーケンスがワード線ＷＬｍに対して実施される。
【０１４９】
ステップ７２４での最初のサブ読み出しは、フローティングゲート結合に対して補償を提供しない。このサブ読み出しの結果は、消去状態「Ｇｒ」にあるＷＬｍ＋１の隣接するセルを有するセルに適用可能である。導通のあるメモリセルについて、対応するプロセッサは、ビット線のＤＬ０およびＤＬ１が状態「Ｇｒ」のデータを保存しているかどうかを判断する。このステップのチェックにより、ＷＬｍでの現在の検知はデータがセルに保存されるべきワード線からであると判断する。ＤＬ０およびＤＬ１が状態「Ｇｒ」に一致しない場合は、何も実施されない。ＤＬ０およびＤＬ１が状態「Ｇｒ」に適合する場合は、プロセッサは、ＤＬ２は論理０を保存し、ＤＬ０およびＤＬ１内のデータがＷＬｍ＋１に対するものであり選択されたワード線ＷＬｍではないことを示すかどうかを判断する。ＤＬ２が１に設定されている場合、プロセッサは、ＤＬ０およびＤＬ１内のデータを上書きしない。論理１は、ＤＬ０およびＤＬ１のデータがＷＬｍからであり、したがって、上書きされるべきでないことを示す。ステップ７２６では、ＤＬ２が０に設定されている場合、プロセッサは、ＤＬ０およびＤＬ１内のデータを現在の一連のサブ読み出しに対応するデータで上書きする。この場合、プロセッサは、ＤＬ０およびＤＬ１を状態「Ａ」のデータ（例えば、１０）に設定する。さらに、プロセッサは、ＤＬ２を１に設定し、ＤＬ０およびＤＬ１が選択されたワード線からのデータを現在保存し、その後のＷＬｍでのサブ読み出し中に上書きされるべきではないことを示す。
【０１５０】
ステップ７２８では、状態「Ｂ」のサブ読み出しがＷＬｍで実施されると同時に、状態「Ａ」にあるＷＬｍ＋１のセルに基づいて補償を適用する。導通のあるメモリセルについて、対応するビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ａ」に対応するデータを保存しているかどうかを判断する。保存していない場合は何も実施されない。保存している場合は、プロセッサはＤＬ２が論理０を保存しているかどうかを判断する。保存していない場合は、ビット線に対してさらに何も実施されない。ＤＬ２が０に設定されている場合は、プロセッサはＤＬ０およびＤＬ１内のデータを状態「Ａ」に対応するデータで上書きする。さらに、プロセッサは、ＤＬ２を論理１に設定する。
【０１５１】
ステップ７３２では、ＷＬｍが読み出されると同時に、状態「Ｂ」にあるＷＬｍ＋１の隣接するセルを用いてメモリセルに補償を適用する。メモリセルに導通がある場合、対応するビット線のプロセッサは、そのビット線についてのＤＬ０およびＤＬ１が状態「Ｂ」のデータ（例えば、００）を共有しているかどうかを判断する。共有している場合は、プロセッサは、ＤＬ０およびＤＬ１内のデータがＷＬｍからであるか（ＤＬ２＝１）、ＷＬｍ＋１からであるか（ＤＬ２＝０）を判断する。そのデータがＷＬｍ＋１からである場合は、プロセッサはＤＬ０およびＤＬ１を状態「Ａ」に対応する所定のデータで上書きする。さらに、プロセッサは、ＤＬ２を論理１に設定する。どちらの条件も満たされない場合は、プロセッサはＤＬ０〜ＤＬ２の内容を変更しない。
【０１５２】
ステップ７３６では、状態「Ｂ」のサブ読み出しがＷＬｍで実施されると同時に、状態「Ｃ」にあるＷＬｍ＋１の隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、プロセッサは、ＤＬ０およびＤＬ１が状態「Ｃ」に対応するデータ（例えば、０１）を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはＤＬ２が論理０を保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはＤＬ０およびＤＬ１内のデータを状態「Ａ」に対応するデータで上書きし、ＤＬ２を論理１に設定する。
ステップ７４０〜ステップ７５６は、状態「Ｃ」の読み出し基準電圧レベルで一連のサブ読み出しを実施する。
【０１５３】
ステップ７４０では、フローティングゲート結合に対する補償を含まない最初のサブ読み出しが実施される。導通があるメモリセルについて、対応するビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ｇｒ」に対応するデータを保存しているかどうかを判断する。保存していない場合は、そのビット線で何も実施されない。保存している場合は、プロセッサはＤＬ２が論理０を保存しているかどうかを判断する。保存していない場合は、データラッチが既にＷＬｍに対応するデータを共有しているため、そのデータラッチは変更されない。ＤＬ２が０に設定されている場合は、対応するプロセッサはＤＬ０およびＤＬ１内のデータを状態「Ｂ」に対応する所定のデータ（例えば、００）で上書きする。さらに、プロセッサは、ＤＬ２を１に設定し、ＤＬ０およびＤＬ１がＷＬｍのデータを現在保存していることを示す。
【０１５４】
ステップ７４４では、状態「Ｃ」のサブ読み出しが実施されると同時に、状態「Ａ」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ａ」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチＤＬ０およびＤＬ１を状態「Ｂ」に対応するデータで上書きし、ＤＬ２を論理１に設定する。
【０１５５】
ステップ７４８では、状態「Ｃ」のサブ読み出しが実施されると同時に、状態「Ｂ」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ｂ」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチＤＬ０およびＤＬ１を状態「Ｂ」に対応するデータで上書きし、ＤＬ２を論理１に設定する。
【０１５６】
ステップ７５２では、最後の状態「Ｃ」のサブ読み出しが実施されると同時に、状態「Ｃ」にある隣接するセルに基づいて補償を適用する。導通があるメモリセルについて、ビット線のプロセッサは、ＤＬ０およびＤＬ１が状態「Ｃ」に対応するデータを保存しているかどうかを判断する。保存していない場合は、何も実施されない。保存している場合は、プロセッサはラッチＤＬ０およびＤＬ１を状態「Ｃ」に対応するデータで上書きし、ＤＬ２を論理１に設定する。
【０１５７】
ステップ７５６では、最後の論理シーケンスが実施される。ビットのプロセッサは、いずれかのビット線の３番目のラッチＤＬ２が０に設定されているかどうかを判断する。ＤＬ２にまだ０を保存しているどのビット線も、どんな状態レベルでどんなサブ読み出しの間にも導通しなかったＷＬｍのメモリセルを有する。したがって、このようなメモリセルは、最も高くプログラムされた状態である状態「Ｃ」にある。これらのビット線のプロセッサは、ＤＬ０およびＤＬ１を状態「Ｃ」に対応するデータ（例えば、ＬＭ符号の論理０１）に設定し、次いでＤＬ２を１に設定し、ラッチがＷＬｎに対応するデータを現在保存していることを示す。
【０１５８】
ｎビットメモリのためのｎ＋１個のラッチを使用するＬＡ読み出しを実施する技術が、図２１Ａおよび図２１Ｂに示される２ビットの例について説明された。同様な技術は、ｎ＝３またはそれ以上のような他のｎ値に対しても容易に適用できることは明らかである。ある実施形態では、幾つかのメモリ状態がそれらの状態の間でより広いマージンを有し、あるいは摂動に対してより頑強であるため、時間を節約するために全ての補償を適用する必要はない。
【０１５９】
本願明細書で参照される全ての特許、特許出願、論文、書籍、仕様書、他の刊行物、文書および記事は、その全体が本願明細書において参照により援用されているものとする。援用されている刊行物、文書または本願明細書の事柄および文章のいずれかの間で用語の定義または使用が矛盾または衝突する場合には、本願明細書中の用語の定義または使用が優先するものとする。
【０１６０】
本発明の様々な形態が、特定の実施形態に関連して説明されてきたが、本発明は、本明細書に添付された特許請求の範囲によってのみ限定されるべきであることは言うまでもない。
【図１】
0004791580.tif 000002
【図２】
0004791580.tif 000003
【図３】
0004791580.tif 000004
【図４】
0004791580.tif 000005
【図５Ａ】
0004791580.tif 000006
【図５Ｂ】
0004791580.tif 000007
【図６】
0004791580.tif 000008
【図７】
0004791580.tif 000009
【図８】
0004791580.tif 000010
【図９】
0004791580.tif 000011
【図１０】
0004791580.tif 000012
【図１１】
0004791580.tif 000013
【図１２】
0004791580.tif 000014
【図１３Ａ】
0004791580.tif 000015
【図１３Ｂ】
0004791580.tif 000016
【図１４】
0004791580.tif 000017
【図１５】
0004791580.tif 000018
【図１６】
0004791580.tif 000019
【図１７】
0004791580.tif 000020
【図１８】
0004791580.tif 000021
【図１９】
0004791580.tif 000022
【図２０】
0004791580.tif 000023
【図２１Ａ】
0004791580.tif 000024
【図２１Ｂ】
0004791580.tif 000025