(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
メモリデバイスは、典型的には、コンピュータまたはその他の電子デバイスの内部回路、半導体回路、集積回路として用いられている。ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、およびフラッシュメモリなど様々な種類のメモリがある。
【0003】
フラッシュメモリデバイスは、幅広い範囲の電子的用途において、よく使用される非揮発メモリのソースへと発展している。フラッシュメモリデバイスは、典型的には、高メモリ密度、高信頼性、および低電力消費を可能にする1トランジスタメモリセルを使用する。セルの閾値電圧は、電荷蓄積構造(例えばフローティングゲートまたは電荷捕獲)のプログラミング、またはその他の物理現象(例えば位相変化または偏光)によって変化し、この変化が各セルのデータ状態を決定する。フラッシュメモリの通常の利用先には、パーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、デジタルカメラ、デジタルメディアプレーヤー、デジタルレコーダー、ゲーム、家電製品、車両、無線デバイス、携帯電話、およびリムーバブルメモリモジュールが含まれ、フラッシュメモリの利用先は拡大し続けている。
【0004】
フラッシュメモリは、典型的には、NORフラッシュおよびNANDフラッシュとして知られている2つの基本アーキテクチャの1つを利用している。デバイスを読み取るのに用いられる論理からアーキテクチャが由来する。NORフラッシュアーキテクチャでは、メモリセルの論理列が、典型的にはビットラインと呼ばれるような1つのデータラインに結合された各メモリセルと並列に結合される。NANDフラッシュアーキテクチャでは、1列のメモリセルが、1つのビットラインに結合された列の第1のメモリセルとだけ直列に結合される。
【0005】
電子システムの性能が向上し、その複雑さが増すにつれ、システム内にさらに追加されるメモリへの要求も高まっている。しかしながら、システムのコスト削減を引き続き進めていくためには、部品数を最小限に抑えなければならない。多重レベルセル(MLC)などの技術を用いて集積回路のメモリ密度を上げることによって、このコスト削減は達成できる。例えば、MLC NANDフラッシュメモリは、非常に費用効率に優れた非揮発メモリである。
【0006】
多重レベルセルは、データ状態、例えば、ビットパターンをセルの特定の閾値電圧(Vt)範囲に割り当てることによって、従来のフラッシュセルのアナログ性質をうまく利用することができる。当該業界では、これらのデータ状態をしばしば「レベル」と称する。この技術は、セルに割り当てられる電圧範囲の数量とメモリセルの寿命動作中に割り当てられた電圧範囲の安定性に応じて、メモリセルの1つのセルにつき2つ以上のビットの情報の記憶を可能にする。
【0007】
多くのフラッシュメモリでは、単一レベルセル(SLC)と多重レベルセル(MLC)メモリのいずれの場合でも、1つにはメモリ密度増加などによって電荷蓄積構造結合が増加している。アクセスライン(例えばワードラインと呼ばれるようなライン)間およびデータライン(例えばビットラインと呼ばれるようなライン)間で結合が行われる。メモリの隣接ページのワードライン間、例えば、偶数/奇数メモリページ間の結合問題は、メモリ内でプログラミングされるデータのビットパターンに応じる。プログラミングが原因でセルの閾値電圧が変化すると、閾値電圧の変化がさらに結合の影響を強めることもありうる。
【0008】
上述の理由により、および本明細書を読んで理解することにより当業者に明白となるであろう他の理由により、当技術分野では、メモリ補償を改善する必要がある。
【発明を実施するための形態】
【0010】
以下の本実施形態の詳細な説明において、その一部を形成し、例として、特定の実施形態が実施される態様で示される、添付の図面が参照される。これらの実施例を、当業者が本発明を実施することができるように十分詳細に説明する。また、他の実施形態を利用してもよく、本開示の範囲から逸脱せずに、処理上、電気的、または機械的な変更を行ってもよい。したがって、以下の詳細な説明は、制限的な意味で解釈されるべきではない。
【0011】
メモリをプログラミングする方法100を
図1に示す。方法100は、ブロック102で、第1のベリファイレベルを用いて第1のページデータをプログラミングすることと、ブロック104で、第1のページデータをプログラミングされる第2(例えば隣接する)ページデータと比較することと、ブロック106で、第1のページデータのサブセットをさらにプログラミングすることを決定すること、ブロック108で、第2のベリファイレベルを用いてサブセットをプログラミングすることとを含む。1つの実施形態において、ブロック104に示される比較することは、論理和関数で第1のページデータと第2のページデータの逆数を組み合わせることによって実行される。1つの実施形態において、論理和関数を用いて、サブセットは以下の通り決定される。
【0012】
第2のページについてデータをプログラミングするセルが消去されたまま(例えば、論理1のまま)であるとき、第1のページについてデータをプログラミングする隣接セルへの結合影響に注目すべき点はないように思われる。このような状況で、第1のベリファイレベルにプログラミングされたセルは、より高い、(例えば、目標レベルに対応する)第2のベリファイレベルまで安全にプログラミングすることが可能である。第2のページについてデータをプログラミングするセルを(例えば、論理0まで)プログラミングする場合、そのプログラミング用電圧が第1のページについてデータをプログラミングする隣接セルに与える結合影響は顕著であるように思われる。このような状況で、第2のページデータをプログラミングすることによる結合がそのセルの閾値電圧を目標レベルに移行させることになるので、第1のベリファイレベルまでプログラミングされたセルをさらにプログラミングすることができないようにする。
【0013】
図2は、プログラミング動作の例200を図示する。最初に、すべてのセルを消去するので、セルはいずれも消去閾値電圧から始まる。本例の目的のために、第1のページデータは「nQ202」と識別され、0(プログラム)と1(消去)の値で表され、このときデータnQは「0101010110」と表される。第2のページデータは「(n+1)Q204」と識別され、第1のページ同様、0(プログラム)と1(消去)の値で表され、このときデータ(n+1)Qは「1101101010」と表される。データ(n+1)Qの逆数(「(n+1)Q’206」とも称される)は「0010010101」である。
【0014】
本例において、データnQは、閾値電圧レベル0(プログラム)(ベリファイ1)を用いてプログラミングされる。データnQとプログラミングされるセルのうち5つのセルがプログラミングされ、5つは消去されたままである。データ(n+1)Qは、判定され、反転され、論理和関数でデータnQと組み合わせられる。データ202とデータ206を論理和関数で組み合わせた結果がデータ208であり、このデータはアイテム208
1から208
10について0111010111として表される。アイテム208
1、208
3、208
5、208
7、および208
10は、第1のページデータnQ202に対応するプログラミングされたセル(以後「第1のページのプログラミングされたセル」と称する)についての論理和結果を示している。アイテム208
2、208
4、208
6、208
8、および208
9は、第1のページデータnQ202に対応する消去された(1)セル(以後「第1のページの消去されたセル」と称する)についての論理和結果を示している。電荷蓄積構造から電荷蓄積構造結合までのディスターブによって、それらのセルの閾値電圧値が消去閾値からずれるとは考えにくいので、0か1に関係なく、第1のページの消去されたセルに対応する結果は無視できる。第1のページのプログラミングされたセルに対応する1の結果は、第2のページの対応するセルも同様にプログラミングされることを示している。つまり、それらのセルに関連したディスターブがありうるということである。1つの実施例においては、これがきっかけとなり、第1のページの対応するセルをさらにプログラミングすることが抑制される。第1のページのプログラミングされたセルに対応する0の結果は、第2のページの対応するセルは消去されたままでいることを示している。つまり、それらのセルに関連したディスターブはまったくない、またはほとんどないということである。1つの実施例においては、これがきっかけとなり、第2の閾値電圧レベル(ベリファイ2)を用いて、結果208
1、208
5、208
7に対応する第1のページのセルがさらにプログラミングされる。プログラミングはそのまま第2のページのプログラミングに継続される。
【0015】
図3は、プログラミング動作の別の例300を図示する。MLCメモリは、消去レベルが0であることだけでなく、
図3に示されるようにレベル1、2、3として複数のプログラミングレベルを有しているという点で、SLCメモリと異なる。例300は、4つのレベルを記憶可能なメモリセルの値が2ビットの例である。1つの実施形態において、例のMLCのプログラミングは次のような順番で行われる。最初に第1の下ページn、続いて第2の(例えば隣接する)下ページn+1、第1の上ページn+2、そして第2の上ページn+3がプログラミングされる。
【0016】
まず、すべてのセルを消去するので、セルはいずれも消去閾値電圧から始まる。本例の目的のために、第1のページをレベル0と1にプログラミングする場合、第1の下ページデータは「nQ302」と識別され、0(プログラム)と1(消去)の値で表され、このときデータnQは「0101010110」と表される。第2の上ページデータは「(n+3)Q304」と識別され、0(プログラム)と1(消去)の値で表され、このときデータ(n+3)Q304は「1101101010」と表される。データ(n+3)Qの逆数(「(n+3)Q’306」とも称される)は「0010010101」である。MLCをレベル2と3にプログラミングするために、さらにベリファイレベル1
2と1
3が用いられる。
【0017】
本例で、第1のページはレベル0と1に次のようにしてプログラミングされる。データnQは、閾値電圧レベル0(プログラム)(ベリファイ1
1)を用いてプログラミングされる。データnQとプログラミングされるセルのうち5つのセルがプログラミングされ、5つは消去されたままである。データ(n+3)Qは、判定され、反転され、論理和関数でデータnQと組み合わせられる。データ302とデータ306を論理和関数で組み合わせた結果がデータ308であり、このデータはアイテム308
1から308
10について0111010111として表される。アイテム308
1、308
3、308
5、308
7、および308
10は、第1のページデータnQ302に対応するプログラミングされたセルについての論理和結果を示している。アイテム308
2、308
4、308
6、308
8、および308
9は、第1のページデータnQ302に対応する消去された(1)セルについての論理和結果を示している。それらのセルの結合からのディスターブによって、セルの閾値電圧値が消去閾値からずれるとは考えにくいので、0か1に関係なく、第1のページの消去されたセルに対応する結果は無視できる。第1のページのプログラミングされたセルに対応する1の結果は、レベル2と3のプログラミング中に、第2のページの対応するセルも同様にプログラミングされることを示している。つまり、それらのセルに関連したディスターブがありうるということである。1つの実施形態においては、これがきっかけとなり、第1のページの対応するセルをさらにプログラミングすることが抑制される。第1のページのプログラミングされたセルに対応する0の結果は、第2のページのレベル2と3へのプログラミング中に、第2のページの対応するセルはプログラミングされないことを示している。つまり、それらのセルに関連したディスターブはまったくない、またはほとんどないということである。1つの実施形態においては、これがきっかけとなり、308の結果である0から第2の閾値電圧レベル(ベリファイ2
1)を用いて、nQのセルがさらにプログラミングされる。
【0018】
第1のページのレベル0と1へのプログラミングに続いて、上ページのプログラミングが行われる。本例の目的のために、第1のページをレベル2と3にプログラミングする場合、第1の上ページデータは「(n+2)Q352」と識別され、0(プログラム)と1(消去)の値で表され、このときデータ(n+2)Qは「0111010010」と表される。第2の上ページデータは「(n+3)Q354」と識別され、0(プログラム)と1(消去)の値で表され、このときデータ(n+3)Qは「1101101010」と表される。データ(n+3)Qの逆数(「(n+3)Q’356」とも称される)は「0010010101」である。
【0019】
本例で、第1のページはレベル2と3に次のようにしてプログラミングされる。データ(n+2)Qは、閾値電圧レベル2または3(プログラム)(ベリファイ1
2またはベリファイ1
3)を用いてプログラミングされる。本例で、(n+2)Qは「0111010010」として表される。データ(n+2)Qとプログラミングされるセルのうち、5つのセルがレベル2と3のプログラミング中にプログラミングされ、5つはレベル2と3のプログラミング中にプログラミングされない。データ(n+3)Qは、判定され、反転され、論理和関数でデータ(n+2)Qと組み合わせられる。データ352とデータ356を論理和関数で組み合わせた結果がデータ358であり、このデータはアイテム358
1から358
10について
0111010111として表される。アイテム358
1、358
5、358
7、358
8、および358
10は、レベル2と3のプログラミング中にプログラミングされた第1のページのセルについての論理和結果を示している。アイテム358
2、358
3、358
4、358
6、および358
9は、レベル2と3のプログラミング中にプログラミングされない第1のページのセルについての論理和結果を示している。それらのセルの結合からのディスターブによって、セルの閾値電圧値が現在の閾値からずれるとは考えにくいので、0か1に関係なく、レベル2と3のプログラミング中にプログラミングされない第1のページのセルに対応する結果は無視できる。レベル2と3のプログラミング中にプログラミングされた第1のページのセルに対応する1の結果は、レベル2と3のプログラミング中に、第2のページの対応するセルも同様にプログラミングされることを示している。つまり、それらのセルに関連したディスターブがありうるということである。1つの実施形態においては、これがきっかけとなり、第1のページの対応するセルをさらにプログラミングすることが抑制される。レベル2と3のプログラミング中に第1のページのプログラミングされたセルに対応する0の結果は、レベル2と3のプログラミング中に、第2のページの対応するセルはプログラミングされないことを示している。つまり、それらのセルに関連したディスターブはまったくない、またはほとんどないということである。1つの実施形態においては、これがきっかけとなり、2つの第2の閾値電圧レベル(ベリファイ2
2とベリファイ2
3)の1つを用いて、結果
、3581、3585、3587に対応する第1のページのセルがさらにプログラミングされる。
【0020】
さまざまな実施形態において、第1のページデータは、メモリの偶数ページデータであってよく、第2のページデータは、メモリの奇数ページデータであってよい。別の実施形態において、第1のページデータは、1つの行のセルまたは1つの行のセルの一部でプログラミングされるデータに対応していてよく、第2のページデータは、隣接する行のセルまたは隣接する行のセルの一部でプログラミングされるデータに対応していてよい。
【0021】
論理和関数での組み合わせは、開示の範囲から逸脱せずに、様々な構成部材を用いて行えばよい。様々な実施形態において、論理和関数を専用ハードウェア回路として、またはコントローラ内部で実行できるが、これはあくまでも一例であり、発明を制限するものではない。論理和関数をどのように実行するかについての選択は、速度とダイスペースとの関係を考慮することによってなされる。
【0022】
図1乃至3について説明した様々な実施形態は、ビットラインのディスターブに対処するビットライン動作とともに、シールドされたビットライン構造を用いて実行される。実施形態は、ワードラインのディスターブにも対処可能であり、他の実施形態では、開示の範囲から逸脱せずに、公知のビットラインのディスターブの対処方法と組み合わせてもよい。
【0023】
図4は、別の実施形態にかかるMLCメモリのプログラミング方法400を示す。
図5は、方法400に従ったプログラミングレベルのグラフ500を示す。方法400は、ブロック402で第1のページデータをプログラミングすることと、ブロック404で第2(例えば隣接する)ページデータが第1のページデータに与える結合影響を判定することと、ブロック406で判定した結合影響と閾値の比較に応じて、第1のページデータのプログラミングを調整することとを含む。1つの実施形態において、ブロック404に示される判定することとは、第2のページデータをロードして、ロードした第2のページデータをプログラミングした第1のページデータと比較することによって実行される。1つの実施形態において、調整することとは、上ページのプログラミング中にプログラミングされない第2のページデータの対応するセルに隣接する第1のページデータでプログラミングされるセルをプログラミングすることをさらに含む。
【0024】
1つの実施形態において、結合影響を判定することは、第2のページデータでプログラミングされるセルはどのレベルまでプログラミングされるのかを判定することを含む。第2のページデータでプログラミングされるセルが、より高い閾値電圧レベル(例えば、
図5に示されるように、MLCセル当たり2ビットの場合のレベル1またはレベル3)にプログラミングされるとき、結合によってセルをそれぞれのレベルにプログラミングすることに関連する閾値電圧のディスターブを引き起こす可能性があるので、第1のページデータでプログラミングされる対応するセルについて初期のプログラミングレベルは変化しない。第2のページデータでプログラミングされるセルが、より低い閾値電圧レベル(例えば、
図5に示されるように、MLCセル当たり2ビットの場合のレベル0またはレベル2)にプログラミングされるとき、結合によってセルをそれぞれのレベルにプログラミングすることに関連する閾値電圧のディスターブを引き起こす可能性がないので、追加のプログラミング処理によって、第1のページのセルをより高い閾値電圧分布にプログラミングする。その後、奇数ページのプログラミングが行われる。この奇数ページのプログラミングによって、第2のページデータのセルをプログラミングすることに対応する第1のページのセルを、より高い閾値電圧レベルまで移行させ、その結果、第2のページをプログラミングした後、閾値電圧の分布はより狭まる。
【0025】
図5は、方法400に従ってプログラミングする例500を図示する。第1のページデータをプログラミングした後、第1のページデータとプログラミングされたメモリセルの閾値電圧分布は、プログラミングレベルとしてレベル0、1、2、および3(LV0、LV1、LV2、およびLV3)を持つ502に示されている。第2のページデータをロードした後、第1のページデータとプログラミングされたセルの読み出しが行われ、504として示されるように、対応のセルが第2のページデータのプログラミング中レベル0またはレベル2にプログラミングされる、第1のページデータとプログラミングされるセルについてさらにプログラミングされる。分布504
1は、さらにプログラミングされることのないレベルについての分布を示し、分布504
2は、さらにプログラミングされるレベルについての分布を示している。対応のセルが第2のページデータのプログラミング中レベル1またはレベル3にプログラミングされる、第1のページデータとプログラミングされるセルについては、さらにプログラミングが行われることはない。第2のページデータをプログラミングした後に得られる、第2のページのプログラミングについての分布は506に示されている。第2のページのプログラミングではまた、分布504
1に結合影響を与え、508で示されるようなプログラミングされた第1のページデータを示す分布504
1最終分布まで移行する。
【0026】
図6に示される別の実施形態では、メモリをプログラミングする別の方法600が示される。方法600は、ブロック602で偶数ページデータをプログラミングすることと、ブロック604で奇数ページデータをロードすることと、ブロック606で偶数ページデータを読み出すことと、ブロック608で奇数ページデータをプログラミングしたことが、偶数ページデータのプログラミングに与える結合影響を判定することと、ブロック610で結合影響が閾値より少ないと判定されたことに応じて、偶数ページデータをさらにプログラミングすることと、およびブロック612で奇数ページデータをプログラミングすることを含む。1つの実施形態において、判定することは、偶数ページデータとプログラミングされるセルと奇数ページデータとプログラミングされる対応するセルとの間で閾値電圧の移動量を判定することを含む。
【0027】
図7は、開示の1つの実施形態に係るメモリデバイス701の簡略ブロック図であり、メモリデバイス701で開示の様々な実施形態が実行される。メモリデバイス701は、行と列に配列されたメモリセルアレイ704を備える。主にNANDメモリアレイを参照しながら様々な実施形態を説明するが、その様々な実施形態はメモリセルアレイ704の特定のアーキテクチャに限定されるものではない。本実施形態に好適なその他のアーキテクチャの例としては、NORアレイ、ANDアレイ、仮想接地アレイなどがある。しかしながら通常、ここに記載の実施形態は例えば、各メモリセルの閾値電圧を示すデータ信号を生成できるようなアレイアーキテクチャであればいずれも適応可能である。さらに、ここに記載の実施形態は、開示の範囲を逸脱することなく、SLCおよびMLCメモリで用いることができる。
【0028】
行デコーダ回路708および列デコーダ回路710は、メモリデバイス701に与えられるアドレス信号をデコードするために設けられる。アドレス信号は、メモリアレイ704にアクセスするために受け取られ、デコードされる。また、メモリデバイス701は、コマンド、アドレス、およびデータのメモリデバイス701への入力、ならびにデータおよび状況情報のメモリデバイス701からの出力を管理するための入出力(I/O)制御回路712を備える。アドレスレジスタ714は、I/O制御回路712と行デコーダ回路708および列デコーダ回路710の間に接続され、デコードの前にアドレス信号をラッチする。コマンドレジスタ724は、I/O制御回路712と制御ロジック716との間に接続され、入力されるコマンドをラッチする。1つの実施形態において、制御ロジック716、制御回路712、および/またはファームウェアが個々に、組み合わせられて、またはその他の構成要素と組み合わせられてコントローラを形成する。しかし、ここで用いられている通り、コントローラは必ずしもこのような構成部材のいずれかをまたはすべてを含む必要はない。いくつかの実施形態において、コントローラは、(例えば、メモリアレイと同一のダイに配置される)内部コントローラおよび/または外部コントローラとを備えることができる。制御ロジック716は、コマンドに応じてメモリアレイ704へのアクセスを制御し、外部プロセッサ730用に状態情報を生成する。制御ロジック716は、行デコーダ回路708と列デコーダ回路710に接続され、アドレスに応じて行デコーダ回路708と列デコーダ回路710を制御する。
【0029】
制御ロジック716は、サンプルホールド回路718に接続してもよい。サンプルホールド回路718は、アナログデータ信号の形式で入力または出力データをラッチする。例えば、サンプルホールド回路は、1つのメモリセルに書き込まれるデータを表す入力データ信号か、1つのメモリセルから検出された閾値電圧を示す出力データ信号のいずれかをサンプリングするためのコンデンサまたはその他のアナログストレージデバイスを備えるようにしてもよい。さらに、サンプルホールド回路718は、より強いデータ信号を外部デバイスに与えるためにサンプリングされた信号を増幅および/またはバッファリングするための要素を備えていてもよい。
【0030】
アナログデータ信号の処理では、CMOS撮像装置技術の分野で公知のアプローチに類似したアプローチをとってもよい。CMOS撮像装置技術では、入射照明に応じて撮像装置の画素で生成される電荷レベルがコンデンサに蓄えられる。その後、電荷レベルは、基準コンデンサを備えた差動増幅器を用いて信号に変換され、第2の入力として差動増幅器に入力される。さらに、作動増幅器の出力は、アナログ・デジタルコンバータ(ADC)に送られ、照明の強度を表すデジタル値が得られる。本実施形態において、メモリセルの読み出しまたはプログラミングのために、メモリセルの実際のまたは目標閾値電圧を示すデータ信号に応じて、電荷がコンデンサに蓄えられる。その後、この電荷は接地入力またはその他基準信号を第2の入力とする作動増幅器を用いてアナログデータ信号に変換される。さらに、作動増幅器の出力は、読み出し動作、またはメモリデバイスのプログラミングにおける1回以上のベリファイ動作中の比較のために用いられる場合、I/O制御回路712に送られ、メモリデバイスから出力されるようにしてもよい。なお、I/O制御回路712は、メモリデバイス701がアナログまたはデジタルデータインターフェースとの通信に適応可能になるように、オプションとして、アナログ・デジタル変換機能とデジタル・アナログ変換(DAC)機能を備えて、アナログデータ信号からの読み出しデータをデジタルビットパターンに変換して、デジタルビットパターンからの書込みデータをアナログ信号に変換するようにしてもよい。
【0031】
プログラミング動作中、メモリアレイ704の対象メモリセルを、その閾値電圧レベルを示す電圧がサンプルホールド回路718に保持されたレベルと一致するまでプログラミングしてもよい。このプログラミングをするには、例えば、差動検出デバイスを用いて、保持された電圧レベルを対象メモリセルの閾値電圧と比較すればよい。従来のメモリプログラミングに非常に類似しているが、プログラミングパルスを対象メモリセルに与えて、所望の値に達するか上回るまで閾値電圧を増加させるようにしてもよい。読み出し動作では、対象メモリセルの閾値電圧レベルがサンプルホールド回路718に与えられ、ADC/DAC機能がメモリデバイスの外部または内部に設けられているかに応じて、直接アナログ信号として、またはアナログ信号のデジタル化表現として(
図7に図示されない)外部プロセッサに転送される。
【0032】
セルの閾値電圧はさまざまな様式で決定すればよい。例えば、典型的には、ワードラインと称されているようなアクセスラインで、対象メモリセルが活性化される時点で電圧をサンプリングする。あるいは、増加電圧を対象メモリセルの第1のソース/ドレイン側に印加して、閾値電圧を、制御ゲート電圧と他方のソース/ドレイン側の電圧間の差異としてみなすことができる。電圧をコンデンサに接続することにより、電荷がサンプリングした電圧を蓄えるためのコンデンサと共有されるだろう。サンプリングした電圧は閾値電圧と等しくする必要はなく、その電圧を示すものであればよい。例えば、増加電圧をメモリセルの第1のソース/ドレイン側に印加して、公知の電圧を制御ゲートに印加する場合、メモリセルの第2のソース/ドレイン側で生じる電圧はメモリセルの閾値電圧を示すものとなるので、メモリセルの第2のソース/ドレイン側で生じる電圧をデータ信号とみなすことができる。
【0033】
サンプルホールド回路718は、各データ値についてキャッシング、すなわち複数の保存場所を含み、メモリデバイス701が、第1のデータ値を外部プロセッサに送っている間に次のデータ値を読む、または第1のデータ値をメモリアレイ704に書込みしている間に次のデータ値を受け取るようにしてもよい。状態レジスタ722が、I/O制御回路712と制御ロジック716の間に接続されて、外部プロセッサに出力するための状態情報をラッチする。
【0034】
メモリデバイス701は、制御リンク732を介して制御ロジック716で制御信号を受け取る。制御信号には、チップイネーブルCE#と、コマンドラッチイネーブルCLEと、アドレスラッチイネーブルALEと、ライトイネーブルWE#を含まれればよい。メモリデバイス701は、(コマンド信号の形式の)コマンドと、(アドレス信号の形式の)アドレスと、(データ信号の形式の)データを、多重入出力(I/O)バス734を介して外部プロセッサから受け取り、データをI/Oバス734を介して外部プロセッサに出力すればよい。
【0035】
特定の例では、I/Oバス734の入出力(I/O)ピン[7:0]を介して、I/O制御回路712でコマンドを受け取り、そのコマンドをコマンドレジスタ724内に書き込む。I/Oバス734の入出力(I/O)ピン[7:0]を介して、I/O制御回路712でアドレスを受け取り、そのアドレスをアドレスレジスタ714内に書き込む。8つの並列信号を受け取れるようなデバイス用の入出力(I/O)ピン[7:0]を介して、または16の並列信号を受け取れるようなデバイス用の入出力(I/O)ピン[15:0]を介して、I/O制御回路712でデータを受け取り、そのデータをサンプルホールド回路718に転送する。また、8つの並列信号を送信できるようなデバイス用の入出力(I/O)ピン[7:0]を介して、または16の並列信号を送信できるようなデバイス用の入出力(I/O)ピン[15:0]を介して、データを出力することもできる。その他の回路および信号を追加することができること、および
図7のメモリデバイスを開示の実施形態に焦点を当てるのに与するように単純化されていることは当業者であれば理解されるであろう。
【0036】
結合を減らし、メモリをプログラミングするための方法は、メモリ700などのメモリ上で、様々な実施形態で実行可能である。そうした方法は、
図1乃至6を参照してここで示され、説明されている。
【0037】
図7を、サンプルホールド回路718について説明してきたが、開示の範囲を逸脱せず、サンプルホールド回路718に代えて制御ロジック716をデータラッチに接続させ得ることも理解されるであろう。データは、入力または出力のいずれの場合のラッチデータもラッチする。書き込み動作時、メモリアレイ704の対象メモリセルは、例えば上記のプログラミングパルスを2組用いて、閾値電圧レベルを示す電圧がデータラッチに保持されたデータと一致するまでプログラミングされる。一例として、これは、差動検出デバイスを用いて、保持データを対象メモリセルの閾値電圧と比較することによって実行することができる。
【0038】
さらに、
図7のメモリデバイスを種々の信号を受け取り、出力するための従来から公知の技術に従って説明してきたが、記載した特定の信号およびI/O構成によって、種々の実施形態が制限されることはないことに注意されたい。例えば、コマンドおよびアドレス信号は、データ信号を受け取るものとは別の入力で受け取られることもできるであろうし、あるいはデータ信号が、I/Oバス734の単一I/Oライン上で、シリアル方式で送信されてもよいだろう。データ信号は個々のビットではなくビットパターンを表すため、8ビットのデータ信号のシリアル通信が、個々のビットを表す8信号のパラレル通信同様効率的であるかもしれない。
【0039】
本明細書において特定の実施形態が示され、記載されているが、同じ目的を実現するように考慮されている構成を、示された特定の実施形態に置き換えてもよいことが、当業者に理解されるであろう。本発明の多くの応用例が当業者に明らかであろう。したがって、本出願は、本開示のいかなる応用例または変形例も網羅することを意図するものである。