(57)【要約】  不揮発性メモリセルのフローティングゲート（又は他の電荷蓄積要素）上に蓄積される見かけの電荷内のシフトは、隣接フローティングゲート（又は他の隣接電荷蓄積要素）内に蓄積される電荷に基づく電界の結合のために発生する可能性がある。この問題は、異なる時間にプログラムされる隣接メモリセルの集合の間で最も顕著に発生する。この結合を補償するために、所定のメモリセル用の読み出し処理は、隣接メモリセルのプログラムされた状態を考慮することができる。
2008535144.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶からデータを読み出す方法であって、
第１不揮発性記憶要素からデータを読み出すための要求を受け取る工程と、
前記要求に応じて第２不揮発性記憶要素で読み出し動作を実行する工程と、
前記第２不揮発性記憶要素内に記憶可能なグループ化データのサブセットに基づいて、前記第１不揮発性記憶要素を読み出すための基準値を決定する工程と、
前記基準値を用いて、前記要求に応じて前記第１不揮発性記憶要素内に記憶したデータを読み出す工程と、を備えており、
前記第２不揮発性記憶要素は、前記第１不揮発性記憶要素に隣接しており、複数のグループ化データを記憶可能である方法。
【請求項２】
データの前記複数のグループ化データが、下側ページと上側ページを備えている請求項１に記載の方法。
【請求項３】
基準値を決定する工程が、前記第２不揮発性記憶要素の上側ページのデータを読み出す工程を備えており、
前記基準値が、前記第２不揮発性記憶要素の前記上側ページのデータに基づいており、下側ページのデータには基づいていない請求項２に記載の方法。
【請求項４】
基準値を決定して、前記第１不揮発性記憶要素内に記憶したデータを読み出す工程が、
前記第２不揮発性記憶要素の上側ページのデータがプログラムされたか否かを決定する工程と、
前記第２不揮発性記憶要素の上側ページのデータがプログラムされていないときに、前記第２不揮発性記憶要素からのフローティングゲート結合効果を補償しない第１基準値を用いて前記第１不揮発性記憶要素内のデータを読み出す工程と、
前記第２不揮発性記憶要素の上側ページのデータが第１サブセットのデータ状態にプログラムされているか否かを決定する工程と、
前記第２不揮発性記憶要素の上側ページのデータが前記第１サブセットのデータ状態にプログラムされていないときに、前記第１基準を用いて前記第１不揮発性記憶要素内のデータを読み出す工程と、
前記第２不揮発性記憶要素の上側ページのデータが前記第１サブセットのデータ状態にプログラムされているときに、前記第１基準＋オフセットを用いて前記第１不揮発性記憶要素内のデータを読み出す工程と、を備えている請求項２に記載の方法。
【請求項５】
前記第１不揮発性記憶要素が、第１データ状態、第２データ状態、第３データ状態及び第４データ状態を含む４つのデータ状態でデータを記憶可能であり、
前記第１基準が、前記第２データ状態と前記第３データ状態の間の閾値電圧を示しており、
前記第１基準＋オフセットを用いた前記第１不揮発性記憶要素内のデータの前記読み出し工程が、
前記第１不揮発性記憶要素の制御ゲートに前記第１基準に対応する電圧を印加する工程と、
前記第１不揮発性記憶要素による導通を検出する工程と、
前記第１不揮発性記憶要素の前記制御ゲートに前記第１基準＋オフセットに対応する電圧を印加する工程と、
前記第１不揮発性記憶要素による導通を検出する工程と、
適切な結果を記憶する工程と、を備えている請求項４に記載の方法。
【請求項６】
前記第１不揮発性記憶要素が、第１データ状態、第２データ状態、第３データ状態及び第４データ状態を含む４つのデータ状態でデータを記憶可能であり、
前記第１不揮発性記憶要素内に記憶されたデータを読み出す工程が、さらに、第２基準値、前記第２基準値＋オフセット、第３基準値、及び前記第３基準値＋オフセットを用いて読み出し動作を実行する工程を備えている請求項４に記載の方法。
【請求項７】
前記第１不揮発性記憶要素が、第１グループ化データの隣接する不揮発性記憶要素への書き込みに続いて、第２グループ化データに対してプログラムされたデータを備えている請求項１に記載の方法。
【請求項８】
前記第１不揮発性記憶要素が、マルチ状態ＮＡＮＤフラッシュメモリ素子である請求項１に記載の方法。
【請求項９】
前記第１不揮発性記憶要素が、フローティングゲートを備えている請求項１に記載の方法。
【請求項１０】
前記第１不揮発性記憶要素が、電荷を蓄積するための誘電体領域を備えている請求項１に記載の方法。
【請求項１１】
複数の不揮発性記憶要素と１つ以上の管理回路を備えている不揮発性記憶システムであって、
複数の不揮発性記憶要素は、
第１不揮発性記憶要素の集合と、
前記第１不揮発性記憶要素の集合に隣接する第２不揮発性記憶要素の集合と、を備えており、
前記第１不揮発性記憶要素と前記第２不揮発性記憶要素が、複数のグループ化データを記憶しており、
１つ以上の管理回路は、
前記複数の不揮発性記憶要素と通信しており、
前記第２不揮発性記憶要素の集合からの第１読み出しの後に前記第１不揮発性記憶要素の集合から読み出しており、
前記第２不揮発性記憶要素内に記憶可能な前記グループ化データのサブセットに基づいて前記第１不揮発性記憶要素を読み出す基準値を決定しており、
続いて前記基準値を用いて、前記第１不揮発性記憶要素内に記憶されたデータを読み出している不揮発性記憶システム。
【請求項１２】
前記１つ以上の管理回路が、状態マシンと復号部と検出増幅部を備えている請求項１１に記載の不揮発性記憶システム。
【請求項１３】
前記検出増幅器の各々が、
読み出される不揮発性記憶要素と通信し、前記検出増幅部が前記検出ノードにおける電流の導通を測定し、読み出される前記不揮発性記憶要素内に記憶されたデータを検出する検出ノードと、
前記検出ノードに接続される第１容量性素子と、
前記検出ノードに選択的に接続される第２容量性素子と、
前記第２容量性素子を選択的に接続する選択回路と、を備えており、
前記選択回路は、前記第２容量性素子に接続されており、隣接する不揮発性記憶要素からの指示を受け取って、前記隣接する不揮発性記憶要素からの前記指示に基づいて前記検出ノードに前記第２容量性素子を選択的に接続する請求項１２に記載の不揮発性記憶システム。
【請求項１４】
前記不揮発性記憶要素が、マルチ状態ＮＡＮＤフラッシュメモリ素子である請求項１１に記載の不揮発性記憶システム。
【請求項１５】
前記複数のグループのデータが、下側ページと上側ページを備えており、
前記１つ以上の管理回路は、前記第２不揮発性記憶要素の上側ページのデータを読み出すことによって基準値を決定する手段を備えており、
前記基準値は、前記第２不揮発性記憶要素の前記上側ページに基づいており、前記下側ページには基づいていない請求項１１に記載の不揮発性記憶システム。
【請求項１６】
前記第１不揮発性記憶要素の集合が、第１グループのデータの隣接する不揮発性記憶要素への書き込みに続いてプログラムされた第２グループのデータを備えている請求項１１に記載の不揮発性記憶システム。
【請求項１７】
前記複数の不揮発性記憶要素が、フローティングゲートを備えている請求項１１に記載の不揮発性記憶システム。
【請求項１８】
前記複数の不揮発性記憶要素が、電荷を蓄積する誘電体領域を備えている請求項１１に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの技術に関する。
【０００２】
（関連出願の相互参照）
本出願は、この出願と同日に出願に出願されたＪｉａｎ  Ｃｈｅｎによる米国特許出願、発明の名称「Ｃｏｍｐｅｎｓａｔｉｎｇ  Ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  Ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」、代理人ドケット番号ＳＡＮＤ−０１０４０ＵＳ０に関連付けられ、その全体は参照により本明細書に組み込まれる。
【０００３】
本出願は、この出願と同日に出願されたＹａｎ  Ｌｉｅ及びＪｉａｎ  Ｃｈｅｎによる米国特許出願、発明の名称「Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎ  Ｆｏｒ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｓｔｏｒａｇｅ  Ｔｈａｔ  Ｉｎｃｌｕｄｅｓ  Ｃｏｍｐｅｎｓａｔｉｏｎ  Ｆｏｒ  Ｃｏｕｐｌｉｎｇ」、代理人ドケット番号ＳＡＮＤ−０１０４５ＵＳ０に関連付けられ、その全体は参照により本明細書に組み込まれる。
【背景技術】
【０００４】
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中で使用されている。とりわけ一般的な不揮発性半導体メモリは、電気的消去・プログラム可能型読取専用メモリ（ＥＥＰＲＯＭ）やフラッシュメモリである。
【０００５】
ＥＥＰＲＯＭとフラッシュメモリは両方ともに、フローティングゲートを利用している。フローティングゲートは、半導体基板内のチャネル領域上に配置されているとともに、そのチャネル領域から絶縁されている。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートがフローティングゲートの上方に設けられており、そのフローティングゲートから絶縁されている。トランジスタの閾値電圧は、フローティングゲート上に保持される電荷量によって制御される。つまり、トランジスタのソース−ドレイン間を導通してトランジスタをオンする前に制御ゲートに印加しなければならない電圧の最小値は、フローティングゲート上の電荷のレベルによって制御される。
【０００６】
ＮＡＮＤフラッシュメモリ装置などのＥＥＰＲＯＭ又はフラッシュメモリ装置をプログラムする場合、一般的に制御ゲートにはプログラム電圧が印加され、ビットラインは接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電する。そして、メモリセルの閾値電圧が上昇して、メモリセルがプログラムされた状態になる。プログラミングについてのさらなる情報は、米国特許出願第１０／３７９，６０８号、発明の名称「Ｓｅｌｆ−Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ」、出願日２００３年３月５日と、米国特許出願第１０／６２９，０６８号、発明の名称「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」、出願日２００３年７月２９日に見られる。両方の出願は、その全体を参照により本明細書に組み込まれる。
【０００７】
いくつかのＥＥＰＲＯＭ及びフラッシュメモリ装置はフローティングゲートを有しており、そのフローティングゲートを用いて二つの範囲の電荷を蓄積する。その結果、メモリセルは二つの状態（消去状態とプログラム状態）の間でプログラム／消去することができる。このようなフラッシュメモリ装置は、二値フラッシュメモリ装置と呼ばれることもある。
【０００８】
マルチ状態フラッシュメモリ装置は、禁止範囲によって分離された複数の異なる許容／有効プログラム閾値電圧範囲を識別することによって実現される。異なる閾値電圧範囲の各々は、メモリ装置内に符号化されたデータビットの集合の所定の値に対応している。
【０００９】
隣接するフローティングゲート内に蓄積される電荷に基づく電界の結合のため、フローティングゲート上に蓄積される見かけの電荷内にシフトが発生する可能性がある。このフローティングゲート間の結合現象は、米国特許第５，８６７，４２９号に記載されている。米国特許第５，８６７，４２９号は、その全体を参照により本明細書に組み込まれる。対象のフローティングゲートに隣接するフローティングゲートとは、同じビットライン上で隣接するフローティングゲート、同じワードライン上で隣接するフローティングゲート、又は対象のフローティングゲートから筋向かいのフローティングゲート（それらは、隣のビットラインと隣のワードライン上にあるので）を含むことができる。
【００１０】
フローティングゲート間の結合現象は、異なる時間にプログラムされる隣接するメモリセルの集合の間で最も顕著に発生する。例えば、第１メモリセルは、１つのデータの集合に対応するフローティングゲートに、あるレベルの電荷を印加することによってプログラムされる。次に、１つ以上の隣接するメモリセルは、データの第２集合に対応するフローティングゲートに、あるレベルの電荷を印加することによってプログラムされる。１つ以上の隣接するメモリセルがプログラムされた後は、第１メモリセルの電荷が、第１メモリセルに結合している隣接メモリセル上の電荷の影響を受ける。そのために、第１メモリセルから読み出される電荷のレベルが、プログラムされたものとは異なるようなものとなる。隣接メモリセルからの結合は、十分な量を読み出す見かけの電荷レベルをシフトさせ、記憶されたデータの誤った読み出しをもたらす。
【００１１】
マルチ状態装置では、許容閾値電圧範囲と禁止範囲は二値装置よりも狭い。そのため、マルチ状態装置にとって、フローティングゲート間の結合の影響はより大きな問題である。従って、フローティングゲート間の結合によって、メモリセルが許容閾値電圧範囲から禁止範囲にシフトする可能性がある。
【００１２】
メモリセルのサイズが縮小するにつれて、短いチャネルの影響や、大きな酸化物の厚さや、結合率のバラツキや、多くのチャネル添加物の変動のために、閾値電圧の本来のプログラミング及び消去分布が増大することが予想され、隣接状態間の利用可能な分離を減少させる。この影響は、二つの状態のみを用いるメモリ（二値メモリ）よりマルチ状態メモリの方がいっそう重大になる。さらに、ワードラインの間の間隔とビットラインの間の間隔の減少も、隣接するフローティングゲート間の結合を増大させる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従って、フローティングゲート間の結合の影響を低減する必要がある。
【課題を解決するための手段】
【００１４】
フローティングゲート間結合を補償するために、所定のメモリセルの読み出し処理は、隣接するメモリセルのプログラム状態を考慮する。様々な実施形態が開示される。
【００１５】
一実施形態では、不揮発性記憶要素の少なくとも部分集合の不揮発性記憶要素の各々に対して、隣接する記憶要素内に蓄積される電荷レベルに基づいて所定のオフセット集合からあるオフセットを決定する。ある読み出し処理の集合が実行され、異なる１つの所定オフセット集合を用いて、全ての不揮発性記憶要素上で各読み出し処理を実行する。各オフセットに対して、少なくとも１つの読み出し処理がある。各不揮発性記憶要素は、各々の不揮発性記憶要素に対して決定したオフセットに関連した読み出し処理の適切なものから最終的なデータを提供する。
【００１６】
いくつかの実施形態は、少なくとも第１ページと第２ページのデータを記憶しているマルチ状態不揮発性記憶要素の第１集合からデータを読み出す方法を含んでいる。本方法は、マルチ状態不揮発性記憶要素の第１集合に隣接するマルチ状態不揮発性記憶要素の第２集合のための電荷レベルのデータを決定することを含んでいる。第１基準値に対して複数の読み出し処理を実行し、隣接する２つのデータ状態に対する閾値電圧を区別する。各読み出し処理では、第１基準値を備えた所定オフセット集合の異なるものを用いる。不揮発性記憶要素の第１集合の各々は、１つのオフセットに対応する読み出し処理の適切なものから最終的なデータを提供する。その１つのオフセットは、隣接する不揮発性記憶要素の各々に関連している。他の対の隣接データ状態の間の基準値に対する非ゼロオフセットに基づいてユーザのデータ読み出し処理から他のデータを用いることなく、最終的なデータに基づいて第１ページのデータ値が決定される。
【００１７】
いくつかの実施形態は、第１と第２グループのデータを記憶する、不揮発性記憶要素の第１集合と不揮発性記憶要素の第２集合をプログラミングすることを含んでいる。そのプログラミングは、第１グループのデータの隣接不揮発性記憶要素に書き込んだ後、第２グループのデータに対して特定の不揮発性記憶要素に書き込むことを含んでいる。不揮発性記憶要素の第１集合からデータを読み出そうとするときに、システムは、不揮発性記憶要素の第２集合からデータを読み出すこともできる。不揮発性記憶要素の第２集合からの読み出しでは正確なデータを読み出す必要はない。むしろその読み出し動作では、電荷レベル又は見かけの電荷レベルの指示を得るだけでよい。読み出し動作は、不揮発性記憶要素の第１集合上で実行される。これらの読み出し動作は、第１指示を提供する不揮発性記憶要素の第２集合の不揮発性記憶要素に隣接している不揮発性記憶要素の第１集合の不揮発性記憶要素のために第１補償を使用する。これらの読み出し動作は、第１指示を提供しない不揮発性記憶要素の第２集合の不揮発性記憶要素に隣接している不揮発性記憶要素の第１集合の不揮発性記憶要素のために第１補償を使用しない。
【発明を実施するための最良の形態】
【００１８】
本発明の実施に適したメモリシステムの一例は、ＮＡＮＤフラッシュメモリ構造を用いることである。そのＮＡＮＤフラッシュメモリ構造は、２つの選択ゲートの間に複数のトランジスタが直列に接続される構成することを含んでいる。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す平面図である。図２は、それらの等価回路である。図１と２に示すＮＡＮＤストリングは、第１選択ゲート１２０と第２選択ゲート１２２の間に挟まれているとともに、直列に接続されている４つのトランジスタ１００、１０２、１０４及び１０６を備えている。選択ゲート１２０は、ＮＡＮＤストリングをビットライン１２６に接続する。選択ゲート１２２は、ＮＡＮＤストリングをソースライン１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を印加することによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を印加することによって制御される。トランジスタ１００、１０２、１０４及び１０６の各々は、制御ゲートとフローティングゲートを有する。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを有する。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを有する。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを有する。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを有する。制御ゲート１００ＣＧは、ワードラインＷＬ３に接続されている。制御ゲート１０２ＣＧは、ワードラインＷＬ２に接続されている。制御ゲート１０４ＣＧは、ワードラインＷＬ１に接続されている。制御ゲート１０６ＣＧは、ワードラインＷＬ０に接続されている。一実施形態では、トランジスタ１００、１０２、１０４及び１０６の各々がメモリセルである。他の実施形態では、メモリセルは複数のトランジスタを有していてもよく、図１と２に示したものと異なっていてもよい。選択ゲート１２０は、選択ラインＳＧＤに接続される。選択ゲート１２２は、選択ラインＳＧＳに接続される。
【００１９】
図３は、上記ＮＡＮＤストリングの断面図を示す。図３に示すように、ＮＡＮＤストリングのトランジスタは、ｐウェル領域１４０内に形成される。各トランジスタは、制御ゲート（１００ＣＧ、１０２ＣＧ、１０４ＣＧ及び１０６ＣＧ）とフローティングゲート（１００ＦＧ、１０２ＦＧ、１０４ＦＧ及び１０６ＦＧ）からなる積層ゲート構造を有している。フローティングゲートは、ｐウェルの表面上の酸化物又は他の誘電体膜の上部に形成されている。制御ゲートはフローティングゲート上にあり、ポリシリコン間誘電体層が制御ゲートとフローティングゲートを分離している。メモリセル（１００、１０２、１０４及び１０６）の制御ゲートは、ワードラインを構成する。Ｎ＋ドープ層１３０、１３２、１３４、１３６及び１３８は、隣接しているセルの間で供給されており、それによってセルは相互の直列に接続されてＮＡＮＤストリングを構成する。これらのＮ＋ドープ層は、各セルのソース及びドレインを構成する。例えば、Ｎ＋ドープ層１３０はトランジスタ１２２のドレインとトランジスタ１０６のソースとして機能し、Ｎ＋ドープ層１３２はトランジスタ１０６のドレインとトランジスタ１０４のソースとして機能し、Ｎ＋ドープ層１３４はトランジスタ１０４のドレインとトランジスタ１０２のソースとして機能し、Ｎ＋ドープ層１３６はトランジスタ１０２のドレインとトランジスタ１００のソースとして機能し、Ｎ＋ドープ層１３８はトランジスタ１００のドレインとトランジスタ１２０のソースとして機能する。Ｎ＋ドープ層１２６はＮＡＮＤストリングのビットラインに接続しており、Ｎ＋ドープ層１２８は複数のＮＡＮＤストリングの共通ソースラインに接続している。
【００２０】
なお、図１〜３ではＮＡＮＤストリング内に４つのメモリセルを示しているが、４つのトランジスタを使用することは、一例として示されているだけである。本明細書で説明される技術が用いられるＮＡＮＤストリングは、４つより少ないメモリセルを有していても、４つより多いメモリセルを有していてもよい。例えば、ＮＡＮＤストリングは、８メモリセル、１６メモリセル、３２メモリセルなどを有することができる。本明細書における説明では、ＮＡＮＤストリング内のメモリセルは、特定の数に限定されるものではない。
【００２１】
各メモリセルは、アナログ又はデジタル形式で表されたデータを記憶することができる。１ビットのデジタルデータを記憶するときに、メモリセルの可能な閾値電圧の範囲は、２つの範囲に分割されて論理データ「１」と「０」が割り当てられる。ＮＡＮＤ型フラッシュメモリの一例では、メモリセルが消去された後の閾値電圧は負になり、論理「１」として定義される。プログラム動作後の閾値電圧は正になり、論理「０」として定義される。閾値電圧が負のときに、制御電圧に０Ｖを印加することによって読み出しが試みられると、メモリセルがオンして論理１を記憶していることを示す。閾値電圧が正のときに、制御電圧に０Ｖを印加することによって読み出し動作が試みられると、メモリセルがオンしないで論理０を記憶していることを示す。
【００２２】
メモリセルは複数の状態を記憶することもでき、それによって複数のビットのデジタルデータを記憶できる。複数の状態のデータを記憶する場合、閾値電圧ウィンドウは複数の状態に分割される。例えば、４つの状態が使用される場合、データ値「１１」、「１０」、「０１」、及び「００」に割り当てた４つの閾値電圧範囲が存在してもよい。ＮＡＮＤ型メモリの一例では、消去動作後の閾値電圧は負であって「１１」として定義される。「１０」、「０１」、及び「００」の状態に対しては正の閾値電圧が用いられる。いくつかの実施形態では、データ値（例えば、論理状態）はグレイ符号割り当てを用いて閾値範囲に割り当て、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトした場合に、１つのビットだけが影響を受けるようにする。メモリセルにプログラムされたデータとセルの閾値電圧範囲の間の特定関係は、メモリセルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び２００３年６月１３日出願の米国特許出願第１０／４６１，２４４号、「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」は、マルチ状態フラッシュメモリセルの様々なデータ符号化方式を説明している。両方の出願は、それらの全体を参照により本明細書に組み込まれる。
【００２３】
ＮＡＮＤ型フラッシュメモリ及びそれらの動作に関連する例は、以下の米国特許／特許出願内に提供されており、それらの全ては、その全体を参照により本明細書に組み込まれる。米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４４２号、米国特許第６，４５６，５２８号、及び米国特許出願第０９／８９３，２７７号（公開番号第ＵＳ２００３／０００２３４８号）。ＮＡＮＤフラッシュメモリに加えて他の種類の不揮発性メモリも、本発明とともに使用されてもよい。
【００２４】
フラッシュＥＥＰＲＯＭシステム内で役立つ別の種類のメモリセルは、導電性フローティングゲートの代わりに非導電性誘電体材料を利用して、不揮発的な方法で電荷を蓄積する。このようなセルは、Ｃｈａｎらによる論文、「Ａ  Ｔｒｕｅ  Ｓｉｎｇｌｅ−Ｔｒａｎｓｉｓｔｏｒ  Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ  ＥＥＰＲＯＭ  Ｄｅｖｉｃｅ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ，Ｖｏｌ．ＥＤＬ−８，Ｎｏ．３、１９８７年３月、９３〜９５ページ内に記載されている。酸化シリコン、窒化シリコン及び酸化シリコン（ＯＮＯ）で形成される三層誘電体は、メモリセルチャネル上の半導体基板の表面と導電性制御ゲートの間に挟持される。セルチャネルから窒化物内に電子を注入することによってセルがプログラムされる。その電子は、制限領域内にトラップされて蓄積される。それから、この蓄積された電荷は、セルチャネルの一部の閾値電圧を検出可能なように変化させる。窒化物内にホットホールを注入することによって、セルが消去される。Ｎｏｚａｋｉらの「Ａ  １−Ｍｂ  ＥＥＰＲＯＭ  ｗｉｔｈ  ＭＯＮＯＳ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｄｉｓｋ  Ａｐｐｌｉｃａｔｉｏｎ」，ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，Ｖｏｌ．２６，Ｎｏ．４，１９９１年４月、４９７〜５０１ページを参照すると、分割ゲート構成内の同様のセルを説明しており、ここではドープされたポリシリコンゲートがメモリセルチャネルの一部上に延び、別個の選択トランジスタを構成している。以上の２つの論文は、それらの全体を参照により本明細書に組み込まれる。Ｗｉｌｌｉａｍ  Ｄ．Ｂｒｏｗｎ及びＪｏｅ  Ｅ．Ｂｒｅｗｅｒによって編集された「Ｎｏｎｖｏｌａｔｉｌｅ  Ｓｅｍｏｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ」，ＩＥＥＥ  Ｐｒｅｓｓ，１９９８のセクション１．２で言及されているプログラミング技術（参照によって本明細書に組み込まれる）も、誘電体電荷捕捉装置に適用可能であることをそのセクションに記載している。このパラグラフに記載されているメモリセルを、本発明とともに使用することもできる。従って、本明細書で説明される技術は、異なるメモリセルの誘電体領域間の結合にも適用される。
【００２５】
各セルに２つのビットを記憶する別の方式は、Ｅｉｔａｎらの「ＮＲＯＭ：Ａ  Ｎｏｖｅｌ  Ｌｏｃａｌｉｚｅｄ  Ｔｒａｐｐｉｎｇ，２−Ｂｉｔ  Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ」，ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ，ｖｏｌ．２１，ｎｏ．１１，２０００年１１月、５４３〜５４５ページに記載されている。ＯＮＯ誘電体層は、ソース及びドレイン拡散部の間のチャネルに亘って延びている。１つのデータビットの電荷はドレインに隣接する誘電体層内に局所化され、他のデータビットの電荷はソースに隣接する誘電体層内に局所化される。マルチ状態データストレージは、誘電体内で空間的に分離した電荷ストレージ領域の二値状態を別個に読み出すことによって得られる。この段落で説明したメモリセルも、本発明とともに使用されることができる。
【００２６】
図４は、図１〜３に示したようなＮＡＮＤセルのアレイの一例を示している。各列に沿って、ビットライン２０６は、ＮＡＮＤストリング１５０のドレイン選択ゲートのドレイン端子１２６を接続している。ＮＡＮＤストリングの各行に沿って、ソースライン２０４はＮＡＮＤストリングのソース選択ゲートの全てのソース端子１２８に接続できる。メモリシステムの一部としてのＮＡＮＤアーキテクチャアレイ及びその動作の一例は、米国特許第５，５７０，３１５号、第５，７７４，３９７号、及び第６，０４６，９３５号内に記載されている。
【００２７】
メモリセルのアレイは、メモリセルの多数のブロックに分割されている。フラッシュＥＥＰＲＯＭシステムでは一般的なように、ブロックは消去のユニットである。つまり、各ブロックは、共に消去される最小数のメモリセルを有する。各ブロックは、一般的に複数のページに分割される。１つのページは、プログラミングのユニットである。一実施形態では、個々のページはセグメントに分割されて、そのセグメントは基本プログラミング動作として１度に書き込まれる最小数のセルを有することができる。一般的に、メモリセルの１行に１ページ以上のデータを記憶する。１ページは、１つ以上のセクタを記憶できる。１つのセクタは、ユーザデータとオーバヘッドデータを有する。オーバヘッドデータは一般的に、そのセクタのユーザデータから計算された誤り訂正符号（ＥＣＣ）を有する。後述する制御部の一部は、データがアレイ内にプログラムされるときにＥＣＣを計算し、さらにデータがアレイから読み出されるときにそれをチェックする。また、ＥＣＣ及び／又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページ、もしくは異なるブロックにさえ記憶される。
【００２８】
ユーザデータのセクタは一般的に５１２バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般的に、追加の１６〜２０バイトである。多数のページがブロックを構成し、それは８ページから最大３２、６４又はそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの行がブロックを備えている。
【００２９】
一実施形態では、メモリセルは、十分な時間で消去電圧（例えば、２０Ｖ）までｐウェルを上昇させて、ソースラインとビットラインをフローティングさせながら選択ブロックのワードラインを接地することによって消去される。容量性結合によって、非選択ワードライン、ビットライン、選択ライン、及びｃソースも消去電圧のかなりの割合まで上昇させられる。従って、選択メモリセルのトンネル酸化物層に強電界が印加され、フローティングゲートの電子が基板側に放出されるときに選択メモリセルのデータが消去される。電子がフローティングゲートからｐウェル領域に送られると、選択セルの閾値電圧は低下する。メモリアレイ全体、別個のブロック又は別のセルのユニット上で、消去を実行することができる。
【００３０】
図５は、本発明の一実施形態による１ページのメモリセルを並列に読み出し及びプログラミングする読み出し／書き込み回路を備えたメモリ装置２９６を示している。メモリ装置２９６は、１つ以上のメモリダイ２９８を有している。メモリダイ２９８は、２次元のメモリセルアレイ３００、制御回路３１０、及び読み出し／書き込み回路３６５を有する。メモリアレイ３００は、行復号部３３０を介してワードラインによって、及び列復号部３６０を介してビットラインによってアクセスすることができる。読み出し／書き込み回路３６５は複数の検出ブロック４００を有しており、１ページのメモリセルを並列に読み出し又はプログラムすることができる。一般的に制御部３５０は、１つ以上のメモリダイ２９８のように同じメモリ装置２９６（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン３２０を介してホストと制御部３５０の間、及びライン３１８を介して制御部と１つ以上のメモリダイ２９８の間で送られる。
【００３１】
制御回路３１０は、読み出し／書き込み回路３６５と協調して、メモリアレイ３００上でメモリ動作を実行する。制御回路３１０は、状態マシン３１２、オンチップアドレス復号部３１４及び電力制御モジュール３１６を有している。状態マシン３１２は、メモリ動作のチップレベル制御を提供する。オンチップアドレス復号部３１４は、ホスト又はメモリ制御部によって用いられるものと、復号部３３０及び３６０によって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール３１６は、メモリ動作中にワードライン及びビットラインに供給される電力及び電圧を制御する。
【００３２】
図６は、図５に示したメモリ装置２９６の別の構成を示している。様々な周辺回路によるメモリアレイ３００へのアクセスはアレイの両側で対称的に実装されており、各側のアクセスライン及び回路の密度が半分に低減されている。従って、行復号部は行復号部３３０Ａと３３０Ｂに分割され、列復号部は列復号部３６０Ａと３６０Ｂに分割されている。同様に、読み出し／書き込み回路は、アレイ３００の底部からビットラインに接続する読み出し／書き込み回路３６５Ａと、アレイ３００の上部からビットラインに接続する読み出し／書き込み回路３６５Ｂに分割されている。この方法により、読み出し／書き込みモジュールの密度は基本的に２分の１に低減される。図６の装置は、図５の装置で上述したような制御部を有することもできる。
【００３３】
図７は、検出モジュール３８０、及び共通部３９０と呼ばれるコア部分に分割された個々の検出ブロック４００の概略図である。一実施形態では、各ビットラインの別個の検出モジュール３８０と、複数の検出モジュール３８０の集合の１つの共通部３９０があってもよい。一例では、検出ブロックは、１つの共通部３９０と８個の検出モジュール３８０を有することができる。グループ内の検出モジュールの各々は、データバス３７２を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願第１１／０２６，５３６号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  ＆  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｓｈａｒｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒ  ａｎ  Ａｇｇｒｅｇａｔｅ  ｏｆ  Ｓｅｎｓｅ  Ａｍｐｌｉｆｉｅｒ」、出願日２００４年１２月２９日を参照する。その全体は参照により本明細書に組み込まれる。
【００３４】
検出モジュール３８０は検出回路３７０を有しており、検出回路３７０は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを決定する。検出モジュール３８０はさらにビットラインラッチ３８２を有しており、ビットラインラッチ３８２は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ３８２内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態（例えば、Ｖｄｄ）に引っ張られる。
【００３５】
共通部３９０は、処理装置３９２、データラッチ集合３９４、及びデータラッチ集合３９４とデータバス３２０の間を接続するＩ／Ｏインタフェース３９６を有する。処理装置３９２は計算を実行する。例えば、その機能の１つは、検出されたメモリセル内に記憶されたデータを決定して、決定されたデータをデータラッチ集合内に記憶することである。データラッチ集合３９４は、読み出し動作中に処理装置３９２によって決定されたデータビットを記憶するために用いられる。それは、プログラム動作中にデータバス３２０から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムされる予定の書き込みデータを表す。Ｉ／Ｏインタフェース３９８は、データラッチ３９４とデータバス３２０の間のインタフェースを提供する。
【００３６】
読み出し又は検出中、システムの動作は状態マシン３１２の制御下にあり、状態マシン３１２は、アドレスされたセルへの異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な所定制御ゲート電圧のステップを進む際に、検出モジュール３８０はこれらの電圧の１つに移動し、バス３７２を介して検出モジュール３８０から処理装置３９２に出力が提供される。その時点で、処理装置３９２は、検出モジュールの移動イベントと入力ライン３９３を介して状態マシンから印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対する二値符号化を計算し、得られたデータビットをデータラッチ３９４に記憶する。コア部の別の実施形態では、ビットラインラッチ３８２は、検出モジュール３８０の出力をラッチするラッチ、及び上記のようなビットラインラッチの両方としてダブルデューティを提供する。
【００３７】
当然のことながら、いくつかの実装形態では複数の処理装置３９２を有することができる。一実施形態では、各処理装置３９２は出力ライン（図７には示されていない）を有し、各出力ラインは共にワイヤードＯＲ接続される。いくつかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続する前に反転される。ワイヤードＯＲを受け取る状態マシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できるので、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の素早い決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビットの論理０がワイヤードＯＲラインに送られる（又はデータ１を反転させる）。全てのビットがデータ０を出力する（又はデータ１を反転させる）と、状態マシンはプログラミング処理を終了することを認識する。各処理装置は８個の検出モジュールと通信するので、状態マシンはワイヤードＯＲラインを８回読み出す必要があるか、又は状態マシンがワイヤードＯＲラインを１度読み出すだけでよいように、処理装置３９２にロジックを追加して関連のビットラインの結果を記憶する。同様に、論理レベルを正確に選択することによって、グローバル状態マシンは、いつ第１ビットがその状態を変更して、それに応じてアルゴリズムを変更したかを検出することができる。
【００３８】
プログラム又は検証中に、プログラムされるデータはデータバス３２０からデータラッチの集合３９４内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされるメモリセルの制御ゲートに印加される一連のプログラミング電圧パルスを有する。各プログラミングパルスに続いて読み戻し（検証）が実行され、セルが所望するメモリ状態にプログラムされたかどうかを決定する。処理装置３９２は、所望のメモリ状態に対する読み戻しメモリ状態を監視する。その２つが一致する場合、処理装置２２２はビットラインラッチ２１４を設定し、プログラム禁止を指定する状態にビットラインを引っ張る。これは、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続したセルがさらにプログラムされないようにする。他の実施形態では、処理装置が最初にビットライン３８２をロードし、検出回路が検証処理中にそれを禁止値に設定する。
【００３９】
データラッチスタック３９４は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール３８０毎に３つのデータラッチが存在する。いくつかの実装形態では（必須ではないが）データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス３２０のシリアルデータに変換したり、その逆を行ったりする。好ましい実施形態では、ｍ個のメモリセルの読み出し／書き込みブロックに対応する全てのデータラッチをともにリンクさせてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力又は出力できるようにする。特に、ｒ個の読み出し／書き込みモジュールのバンクを調整し、そのデータラッチの集合が読み出し／書き込みブロックの全体のシフトレジスタの１部であっても、各々のデータラッチの集合が順にデータバスの内外にデータをシフトできるようにする。
【００４０】
図８は検出モジュール３８０の一例を示しているが、他の実装形態を用いることもできる。検出モジュール３８０は、ビットライン分離トランジスタ５１２、ビットライン引き下げ回路５２０、ビットライン電圧クランプ６１０、読み出しバス転送ゲート５３０及び検出増幅部６００を有している。本実装形態では、検出増幅部６００はビットラインラッチ３８２を含んでいる。なお、図８のメモリセル１０とページ制御部５４０は、検出モジュール３８０に関連しているが構造的にその１部ではない。
【００４１】
一般的に、１ページのメモリセルは並列に動作する。従って、対応する数の検出モジュールが並列に動作中になる。一実施形態では、好ましくはページ制御部５４０は、並列に操作される検出モジュールに制御及びタイミング信号を提供する。
【００４２】
ビットライン分離トランジスタ５１２が信号ＢＬＳによって起動されると、検出モジュール３８０はメモリセルのビットライン３６に接続可能になる。検出モジュール３８０は、検出増幅部６００によってメモリセルの伝導電流を検出し、その読み出し結果を検出ノード５０１においてデジタル電圧レベルＳＥＮ２としてラッチし、ゲート５３０を介して読み出しバス５３２にそれを出力する。
【００４３】
検出増幅部６００は基本的に、第２電圧クランプ６２０、事前充電回路６４０、識別又は比較回路６５０及びラッチ６６０を有する。識別回路６５０は、専用キャパシタ６５２を有する。一実施形態では、基準電圧は、読み出されるメモリセルの制御ゲートに印加される。基準電圧がメモリセルの閾値電圧より大きい場合は、メモリセルがオンしてそのソースとドレインの間で電流を導通させる。基準電圧がメモリセルの閾値電圧より大きくない場合は、メモリセルはオンしないでそのソースとドレインの間で電流を導通させない。多くの実装形態では、オン／オフは連続的な遷移であってもよく、メモリセルは異なる制御ゲート電圧に応じて異なる電流を導通することができる。メモリセルがオンであり電流を導通させている場合、導通させた電流によってノードＳＥＮ６３１上の電圧は低下し、他方の端子がＶｄｄであるキャパシタ６５２を効率的に充電し、そこにかかる電圧を増大させる。ノードＳＥＮ上の電圧が所定の検出期間中に所定のレベルまで放電すると、検出増幅部６００はメモリセルが制御ゲート電圧に応じてオンしたことを報告する。
【００４４】
検出モジュール３８０の一つの特徴は、検出中にビットラインに定電圧の供給を含むことである。これは、ビットライン電圧クランプ６１０によって好ましく実施される。ビットライン電圧クランプ６１０は、ビットライン３６と直列のトランジスタ６１２を備えたダイオードクランプのように動作する。そのゲートは、その閾値電圧ＶＴよりも所望のビットライン電圧ＶＢＬ高い電圧に等しい定電圧ＢＬＣにバイアスされる。このように、それは検出ノード５０１からビットラインを分離して、プログラム検証又は読み出し中に、所望のＶＢＬ＝０．５〜０．７Ｖ等の定電圧レベルをビットラインに設定する。一般的に、ビットライン電圧レベルは、長い事前充電時間を避けるために十分に低く、さらに地動雑音や他の因子を避けるために十分に高いレベルに設定される。
【００４５】
検出増幅部６００は検出ノード５０１を介して伝導電流を検出し、伝導電流が所定値より高いか低いかを決定する。検出増幅部は、その検出結果を検出ノード５０１における信号ＳＥＮ２としてデジタル形式で読み出しバス５３２に出力する。
【００４６】
デジタル制御信号ＩＮＶ（基本的に、読み出し後の信号ＳＥＮ２を反転させた状態）は、引き下げ回路５２０を制御するためにも出力される。検出した伝導電流が所定値よりも高い場合、ＩＮＶはＨＩＧＨになりＳＥＮ２はＬＯＷになる。この結果は、引き下げ回路５２０によって増幅される。引き下げ回路５２０は、制御信号ＩＮＶによって制御されるｎトランジスタ５２２と、制御信号ＧＲＳによって制御される別のｎトランジスタ５５０を有する。ＧＲＳ信号はＬＯＷのとき、ＩＮＶ信号の状態にかかわらずビットライン３６を浮遊させることができる。プログラミング中、ＧＲＳ信号はＨＩＧＨになってビットライン３６を引いて接地し、ＩＮＶによって制御される。ビットラインを浮遊させる必要がある場合、ＧＲＳ信号はＬＯＷになる。
【００４７】
図１０（Ｈ）〜１０（Ｏ）は、図８に示した好ましい検出モジュールのタイミングを示している。他の特徴に関する検出モジュールの動作の追加の記述は、Ｒａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａ及びＹａｎ  Ｌｉによる米国特許出願第１０／２５４，８３０号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｗｉｔｈ  Ｒｅｄｕｃｅｄ  Ｓｏｕｒｃｅ  Ｌｉｎｅ  Ｂｉａｓ  Ｅｒｒｏｒｓ」、出願日２００２年９月２４日、出願公開第２００４／００５７２８７号として２００４年３月２５日に公開、及びＲａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａ及びＹａｎ  Ｌｉによる米国特許出願第１０／６６５，８２８号、「Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｎｄ  Ｍｅｔｈｏｄ  ｗｉｔｈ  Ｉｍｐｒｏｖｅｄ  Ｓｅｎｓｉｎｇ」、出願日２００３年９月１７日、出願公開第２００４／０１０９３５７号として２００４年６月１０日に記載されている。これらの２つの参照した出願の全開示内容は、その全体を参照により本明細書に組み込まれる。
【００４８】
一実施形態では、ビットラインバイアスは、ビットライン電圧補償部５６０によって供給される。信号ＩＮＶＬとＩＮＶＲの形態でその左の隣接部及び右の隣接部からＩＮＶ信号を検出し、図９のバイアス電圧表に従ってバイアス電圧ΔＶＢＬを各々供給する。バイアス電圧はノード５３２に供給され、ノード５３２はビットライン３６に切り替え可能なように接続する。プログラミング中、信号ＢＬＳとＩＮＶはどちらもＨＩＧＨであるが、信号ＧＲＳはＬＯＷである。これらは、ビットライン電圧補償部５６０へのビットライン３６のアクセスを可能にする。
【００４９】
図９は、その左の隣接部と右の隣接部のプログラム禁止モードの関数として、ビットラインに供給されるオフセット電圧を列挙したバイアス電圧表である。中央の列は、その左の隣接部と右の隣接部のモードの関数として、プログラミング下の記憶ユニットのビットラインに印加されるオフセット又はバイアス電圧を列挙している。一般的に、プログラム禁止モードにある隣接部が多いほど、隣接ビットラインのフローティングゲートからの結合の摂動効果をオフセットするために、より多くのビットラインバイアスが必要とされる。
【００５０】
図１０（Ａ）〜１０（Ｇ）は、本発明の第一実施形態に従ってプログラム動作中の電圧補償方式を示すタイミング図である。
【００５１】
図の電圧は、プログラミング状態及びプログラム禁止状態のＮＡＮＤストリングのメモリアレイの様々なワードライン及びビットラインに印加される。プログラム動作は、ビットライン事前充電段階、プログラム段階及び放電段階にグループ化することができる。
【００５２】
ビットライン事前充電段階において
【００５３】
（１）ソース選択トランジスタが０ＶにおいてＳＧＳによってオフになる（図１０（Ａ））が、ドレイン選択トランジスタはＳＧＤがＶＳＧに高くなることによってオンになり（図１０（Ｂ））、それによってビットラインはＮＡＮＤストリングにアクセスできる。
【００５４】
（２）プログラム禁止ＮＡＮＤストリングのビットライン電圧は、ＶＤＤによって与えられた所定電圧まで上昇できる（図１０（Ｆ））。プログラム禁止ＮＡＮＤストリングのビットライン電圧がＶＤＤまで上昇すると、ドレイン選択トランジスタ上のゲート電圧ＳＧＤがＶＤＤに低下したときに、プログラム禁止ＮＡＮＤストリングは浮遊する。同時に、プログラミングＮＡＮＤストリングのビットライン電圧は、能動的に０Ｖに引き下げられる（図１０（Ｇ））。
【００５５】
（３）プログラミングＮＡＮＤストリングのビットライン電圧は、ビットライン電圧補償部５６０によって供給されたΔＶＢＬでバイアスされる（図１０（Ｇ））。電圧補償部５６０から出力したΔＶＢＬの値は、その隣接部の１方又は両方がプログラム禁止モードであるかどうかに依存する。
【００５６】
（４）ＮＡＮＤストリングのある行のドレイン選択トランジスタに接続したドレインワードラインは、ＶＤＤに低下させた電圧を有する。これはそれらのプログラム禁止ＮＡＮＤストリングのみを浮遊させ、それらのドレイン選択トランジスタはオフになるので（図１０（Ｂ）及び１０（Ｆ））、それらのビットライン電圧はＶＤＤと同等になる。プログラムされるメモリトランジスタを含むＮＡＮＤストリングについては、それらのドレイン選択トランジスタは、それらのドレインにおける０Ｖに近いビットライン電圧に対してオフにならない。
【００５７】
（５）アドレスされないＮＡＮＤストリング内のメモリトランジスタは、それらを完全にオンにするためにＶＰＡＳＳに設定した制御ゲート電圧を有する（図１０（Ｃ））。プログラム禁止ＮＡＮＤストリングは浮遊しているので、アドレスされていないメモリトランジスタの制御ゲートに印加される高いＶＰＡＳＳとＶＰＧＭ（プログラム電圧）は、それらのチャネルと電荷蓄積要素の電圧を押し上げ、それによってプログラミングを禁止する。ＶＰＡＳＳは一般的に、ＶＰＧＭ（例えば、〜１５−２４Ｖ）に対してある中間の電圧（例えば、〜１０Ｖ）に設定される。
【００５８】
プログラム段階において
【００５９】
（６）プログラミング電圧ＶＰＧＭは、プログラミングに選択されたメモリトランジスタの制御ゲートに印加される（図１０（Ｄ））。プログラム禁止状態の（つまり、押し上げられたチャネル及び電荷蓄積ユニットを備えた）蓄積ユニットはプログラムされない。プログラミング状態の蓄積ユニットは、プログラム禁止モードである隣接部の１方又は両方による任意の摂動をオフセットするために、バイアスされたビットライン電圧（図１０（Ｇ））を用いてプログラムされる。プログラミング蓄積ユニット上の摂動は、ワードラインからの高い制御ゲート電圧によって、容量的に押し上げられた浮遊チャネル及び電荷蓄積ユニットを備えたワードライン方向の隣接蓄積ユニットによる。これは、ＮＡＮＤストリングがプログラム禁止モードに置かれたときに発生する。これは、プログラムされるメモリトランジスタの電荷蓄積ユニット上の電圧を撹乱する（増大させる）不要な影響も有する。その隣接部が蓄積ユニットのプログラミング中に何を実行しているかを検出することによって、その隣接部の摂動は適切なビットライン電圧バイアスに応じて補償される。
【００６０】
放電段階において
【００６１】
（７）様々な制御ラインとビットラインが放電可能になる。
【００６２】
検出メモリセルに関連する一つの潜在的な問題は、ソースラインバイアスである。多数のメモリセルを並列に検出する場合、それらを組み合わせた電流は、有限の抵抗を備えた接地ループ内にかなりの電圧上昇をもたらす可能性がある。これがソースラインバイアスをもたらし、閾値電圧検出を用いる読み出し動作中に誤差を発生させる。
【００６３】
図１１は、接地に対して有限の抵抗を備えたソースライン内の電流によるソース電圧誤差の問題を示している。読み出し／書き込み回路３６５は、１ページのメモリセル上で同時に動作する。読み出し／書き込み回路３６５内の各検出モジュール３８０は、ビットラインを介して対応するセルに接続されている。例えば、検出モジュール３８０は、メモリセル（例えば、セル１）の伝導電流ｉ１（ソース−ドレイン電流）を検出する。伝導電流は検出モジュールからビットラインを介してメモリセルのドレインに流れ、ソースライン２０４を介して接地する前にソースから流れ出る。集積回路チップでは、メモリアレイ内のセルのソースは、メモリチップのある外部接地パッド（例えば、Ｖｓｓパッド）に接続したソースライン２０４の複数の分岐として、ともに全て結合されている。ソースラインの抵抗を低減するために金属ストラップを用いている場合でも、メモリセルのソース電極と接地パッドの間には有限の抵抗Ｒが残る。一般的に、接地ループ抵抗Ｒは、およそ５０Ωである。
【００６４】
並列に検出されるメモリのページ全体に対して、ソースライン２０４を介して流れる全電流は伝導電流の全ての合計、つまりｉＴＯＴ＝ｉ１＋ｉ２＋…＋ｉｎとなる。一般的に、各メモリセルは、電荷蓄積要素内にプログラムされる電荷の量に応じて伝導電流を有する。メモリセルの所定の制御ゲート電圧に対して小さな電荷を与えることで、比較的大きな伝導電流を生成できる。メモリセルのソース電極と接地パッドの間に有限の抵抗が存在すると、抵抗を介した電圧降下はＶｄｒｏｐ＝ｉＴＯＴＲで特定される。
【００６５】
例えば、４，２５６ビットラインが同時に放電する（各々が１μＡの電流を備えている）場合、ソースラインの電圧降下は４，０００ライン×１μＡ／ライン×５０Ω＝０．２Ｖと等しくなる。メモリセルの閾値電圧を検出する際、このソースラインバイアスは０．２Ｖの検出誤差に寄与する。
【００６６】
図１２は、ソースライン電圧降下によって生じるメモリセルの閾値電圧レベル内の誤差を示している。メモリセルの制御ゲートに供給される閾値電圧ＶＴは、ＧＮＤに対するものである。しかしながら、メモリセルで見られる実質的なＶＴは、その制御ゲートとソースの間の電位差である。供給されるＶＴと実質的なＶＴの間には約Ｖｄｒｏｐの差がある（ソース１４からソースラインへの電圧降下の小さな寄与は無視する）。このＶｄｒｏｐつまりソースラインバイアスは、メモリセルの閾値電圧を検出するときに、例えば、０．２Ｖの検出誤差に寄与する。
【００６７】
本発明の一様態によると、ソースラインバイアスを低減する方法は、多経路検出の特徴と技術を備えた読み出し／書き込み回路によって実現される。各経路は、所定の限界電流値より高い伝導電流を備えたメモリセルを識別して遮断するために役立つ。一般的に、各経路では、所定の限界電流値は、既存の単一経路検出の破断点電流値に徐々に収束する。このように、より高い電流セルは遮断されるので、以降の経路内の検出はソースラインバイアスにほとんど影響されない。
【００６８】
図１３は、４状態メモリのメモリセルの１ページの集団分布例を示している。メモリセルの各クラスタは、互いに明確に分離された伝導電流ＩＳＤの範囲内でプログラムされる。例えば、破断点３８１は、各々が「Ａ」と「Ｂ」のメモリ状態を表す２つのクラスタ間の限界電流値である。既存の単一経路検出では、「Ｂ」のメモリ状態に対して必要な条件は、破断点３８１より小さい伝導電流を有することである。ソースラインバイアスがない場合、供給された閾値電圧ＶＴに対する集合分布は、実線の曲線によって示される。しかしながら、ソースラインバイアス誤差のために、その制御ゲート電圧における各メモリセルの閾値電圧はソースラインバイアスによって増大される。これは、バイアスを補償するために、より高い制御ゲート電圧を印加する必要があることを意味する。図１３では、ソースラインバイアスは、より高い見かけのＶＴに向かって分布がシフト（破線）する結果をもたらす。高いワードライン電圧が印加されるほど多くの全アレイ電流が流れるため、より高い閾値（より低い電流）メモリ状態を検出する場合、シフトはより大きくなる。ソースライン誤差がない場合に対して破断点３８１が設計されると、ソースライン誤差の存在によって、伝導電流を備えた「Ａ」状態の末端の一部は非伝導領域に現れることになり、それは破断点３８１より高くなることを意味する。これによって、「Ａ」（高い伝導）状態の１部は「Ｂ」（低い伝導）状態として誤って区分されることになる。
【００６９】
例えば、この多経路検出は２つの経路（ｊ＝１〜２）で実装される。第１経路の後、破断点３８１より高い伝導電流を備えているこれらのメモリセルは、それらの伝導電流をオフにすることによって識別されて取り除かれる。これらの伝導電流をオフにする好ましい方法は、それらのビットライン上のドレイン電圧を接地に設定することである。第２経路（ｊ＝２）では、ソースラインバイアスに寄与する高い電流状態を取り除くため、破線の分布は実線の分布に近づく。従って、限界電流値として破断点３８１を用いる検出は、「Ａ」状態を「Ｂ」状態とする間違いをもたらさない。
【００７０】
既存の１経路方式と比べて、この２経路法は、「Ａ」セルの１部を「Ｂ」又はより高いセルとして誤認する可能性を大幅に低減する。２経路より多い経路も想定されるが、経路数を増大させることによる見返りは減少する。さらに、各経路は同じ限界電流を有することができ、もしくは連続的な各経路では、用いられる限界電流は既存の単一経路検出で通常用いられる破断点の限界電流に収束する。さらに、破断点は、状態ＥとＡの間、及び状態ＢとＣの間で用いることもできる。
【００７１】
一般的に、多経路検出ブロック４００の対応する数によって操作される１ページのメモリセルが存在する。ページ制御部５４０は、各検出モジュールに制御及びタイミング信号を供給する。一実施形態では、ページ制御部５４０は、制御回路３１０内の状態マシン３１２の１部として実装される。別の実施形態では、ページ制御部５４０は、読み出し／書き込み回路３６５の１部である。ページ制御部５４０は、所定数の経路（ｊ＝１〜Ｎ）を通して多経路検出ブロック４００の各々をサイクルし、さらに各経路に対して所定の限界電流値Ｉ０（Ｊ）を供給する。限界電流値は、検出期間として実装することもできる。最後の経路の後、ページ制御部５４０によって、信号ＮＣＯを備えた転送ゲート４８８は、読み出しバス５３２への検出データとしてＳＥＮノード６３１の状態を読み出すことができる。全体では、１ページの検出データが、検出モジュールの全てから読み出される。
【００７２】
読み出し／検証動作中の検出モジュール３８０の追加の動作及びタイミングは、図１４（Ａ）〜１４（Ｋ）のタイミング図に説明されており、それは段階（１）〜（９）に区分されている。
【００７３】
段階（０）：設定
検出モジュール３８０（図８を参照）は、起動信号ＢＬＳ（図１４（Ａ））によってビットライン３６に接続される。電圧クランプは、ＢＬＣ（図１４（Ｂ））によって起動される。事前充電回路６４０は、制御信号ＦＬＴ（図１４（Ｃ））を備えた制限電流源として起動される。
【００７４】
段階（１）：制御された事前充電
検出増幅部６００は、トランジスタ６５８を介して信号ＩＮＶを接地させるリセット信号ＲＳＴ（図１４（Ｄ））によって初期化される。従って、リセットのときに、ＩＮＶはＬＯＷに設定される。同時に、ｐトランジスタ６６３は相補信号ＬＡＴをＶｄｄ、つまりＨＩＧＨ（図１４（Ｈ））に引き上げる。
【００７５】
分離ゲート６３０は、ｎトランジスタ６３２によって形成されており、信号ＬＡＴによって制御される。従って、リセット後、分離ゲートが起動して、検出ノード５０１を検出増幅部の内部検出ノード６３１に接続し、信号ＳＥＮ２が内部検出ノード６３１における信号ＳＥＮと同じになる。
【００７６】
事前充電回路６４０は、内部検出ノード６３１と検出ノードＳＥＮ２（５０１）を介して、ビットライン３６を所定時間の間事前充電する。これは、ビットラインを、内部の導通を検出するための最適な電圧にする。
【００７７】
事前充電回路６４０は、制御信号ＦＬＴ（ＦＬＯＡＴ）によって制御される引き上げｐトランジスタ６４２を有する。ビットラインは、ビットライン電圧クランプ６１０によって設定されたように、所望のビットライン電圧に向かって引き上げられる。引き上げの速度は、ビットラインの伝導電流に依存する。伝導電流が小さいほど引き上げは速くなる。
【００７８】
既に説明したように、所定値より高い伝導電流を備えたこれらのメモリセルがオフすると、ソースラインバイアスによる検出誤差が最小になり、それらのソースラインバイアスへの寄与が取り除かれる。事前充電回路６４０は、２つの機能を提供するように実装される。一方は、最適な検出電圧までビットラインを事前充電することである。他方は、ソースラインバイアスへの寄与から取り除けるように、ＤＣ（直流）検出のための所定値よりも高い伝導電流を備えているそれらのメモリセルの識別に役立たせることである。
【００７９】
ＤＣ検出は、ビットラインに所定の電流を供給するための電流源として振る舞う事前充電回路を提供することによって実現される。ｐトランジスタ６４２を制御する信号ＦＬＴは、事前充電回路６４０を介して流れる所定の電流を「プログラム」するようにする。一例では、ＦＬＴ信号は、５００ｎＡに設定した基準電流を備えたカレントミラーから生成される。ｐトランジスタ６４２がカレントミラーの対称の脚部を構成する場合、それにも同じ５００ｎＡの電流が流れる。
【００８０】
図１４（Ｉ１）〜１４（Ｉ４）は、７００ｎＡ、４００ｎＡ、２２０ｎＡ及び４０ｎＡの伝導電流を備えたメモリセルの各々に接続した４つのビットライン上の電圧を示している。事前充電回路６４０が５００ｎＡの制限を備えた電流源である場合、例えば、５００ｎＡを超える伝導電流を備えたメモリセルは、蓄積可能なものより速く排出されるビットライン上の電荷を有する。その結果、７００ｎＡの伝導電流を備えたビットラインの場合、内部検出ノード６３１における電圧又は信号ＳＥＮは、０Ｖ近く（０．１Ｖ等、図１４（Ｉ１）参照）に留まる。一方、メモリセルの伝導電流が５００ｎＡ未満の場合、事前充電回路６４０はビットライン上に充電を開始し、その電圧はクランプされたビットライン電圧に向かって上昇し始める（例えば、電圧クランプ６１０によって設定された０．５Ｖ）（図１４（Ｉ２）〜１４（Ｉ４））。それに応じて、内部検出ノード６３１は０Ｖ近くに留まるか、又はＶｄｄまで引き上げられる（図１４（Ｇ））。一般的に、伝導電流が小さいほど、ビットライン電圧はクランプされたビットライン電圧まで素早く充電される。従って、制御された事前充電段階後にビットライン上の電圧を調べることによって、接続されたメモリセルが所定レベルよりも高い伝導電流を有しているのか、低い伝導電流を有しているのかを識別することができる。
【００８１】
段階（２）：以降のストローブからの高い電流セルのＤＣラッチ及び除去
制御された事前充電段階後、最初のＤＣ高電流検出段階が始まり、信号ＳＥＮが識別回路６５０によって検出される。検出では、所定レベルよりも高い伝導電流を備えているメモリセルを識別する。識別回路６５０は２つのｐトランジスタ６５４と６５６を直列に備えており、それらは信号ＩＮＶを記録するノード６５７の引き上げとして機能する。ｐトランジスタ６５４はＬＯＷになる読み出しストローブ信号ＳＴＢによって起動され、ｐトランジスタ６５６はＬＯＷになる内部検出ノード６３１におけるＳＥＮ信号によって起動される。高電流メモリセルは、信号ＳＥＮを０Ｖ近くにするか、もしくは、少なくともビットラインがｐトランジスタ６５６をオフにするほど十分に高く事前充電されること不可能にする。例えば、弱い引き上げが５００ｎＡの電流に制限された場合、７００ｎＡの伝導電流を備えたセルは引き上げない（図１４（Ｇ１））。ＳＴＢがラッチするためにＬＯＷにストローブすると、ノード６５７におけるＩＮＶはＶｄｄに引き上げられる。これは、ラッチ回路６６０のＩＮＶをＨＩＧＨ、ＬＡＴをＬＯＷに設定する（図１４（Ｈ１））。
【００８２】
ＩＮＶがＨＩＧＨでＬＡＴがＬＯＷのとき、分離ゲート６３０は停止され、検出ノード４８１は内部検出ノード６３１から遮断される。同時に、ビットラインは引き下げ回路５２０によって接地される（図８及び図１４（Ｉ１））。これはビットライン内の任意の伝導電流を実質的にオフにし、ソースラインバイアスへの寄与から除去する。
【００８３】
従って、検出モジュール３８０の好ましい一実施形態では、制限電流源事前充電回路が用いられる。これは、高電流を保持するビットラインを識別してそれらをオフし、以降の検出におけるソースラインバイアスの誤差を最小化する追加又は代替法（ＤＣ検出）を提供する。
【００８４】
別の実施形態では、事前充電回路は高電流ビットラインの識別に役立つように具体的には構成されないが、メモリシステムで利用可能な最大電流の許容量内で、できるだけ速くビットラインを引き上げて事前充電するように最適化される。
【００８５】
段階（３）：回復／事前充電
前もって引き下げられていないビットライン内の伝導電流を検出する前に、事前充電回路は信号ＦＬＴをＬＯＷにすることによって起動され、内部検出ノード６３１をＶｄｄに事前充電し（図１４（Ｃ）と図１４（Ｉ２）〜１４（Ｉ４））、隣接ビットライン上の電圧低下のために部分的に下に結合されたかもしれないビットラインに事前充電する。
【００８６】
段階（４）：第１ＡＣ検出
一実施形態では、ＡＣ（交流、過渡電流）検出は、浮遊させた内部検出ノード６３１における電圧降下を決定することによって実行される。これは、内部検出ノード６３１に接続したキャパシタＣＳＡ６５２を利用し、伝導電流がそれを充電する（ノードＳＥＮ上の電圧を低減する）速度を考慮する識別又は比較回路６５０によって実現される。集積回路環境では、キャパシタ６５２は一般的にトランジスタとともに実装されるが、他の実装形態であってもよい。キャパシタ６５２は所定の静電容量（例えば、３０ｆＦ）を有し、それは最適な電流を決定するために選択される。限界電流値（一般的に、１００〜１０００ｎＡの範囲内）は、充電期間の適切な調整によって設定される。
【００８７】
識別回路６５０は、内部検出ノード６３１内の信号ＳＥＮを検出する。各検出の前に、内部検出ノード６３１における信号ＳＥＮは、事前充電回路６４０によってＶｄｄまで引き上げられる。これは最初に、キャパシタ６５２にかかる電圧を０に設定する。
【００８８】
検出増幅部６００が検出しようとすると、事前充電回路６４０は、ＦＬＴをＨＩＧＨにすることによって停止させられる（図１４（Ｃ））。第１検出期間Ｔ１は、ストローブ信号ＳＴＢのアサーションによって終了する。検出期間中、導通中のメモリセルによって誘導された伝導電流はキャパシタを充電する。キャパシタ６５２がビットライン内の伝導電流の排出動作によって充電されると、ＳＥＮにおける電圧はＶｄｄから低下する。図１４（Ｇ）（曲線Ｇ２〜Ｇ４を参照）は、４００ｎＡ、２２０ｎＡ及び４０ｎＡの伝導電流を備えたメモリセルに各々接続された残りの３例のビットラインに対応するＳＥＮ信号を示しており、その減少は伝導電流が高いほどより急速になる。
【００８９】
段階（５）：以降の検出からのより高電流セルの第１ＡＣラッチ及び除去
第１の所定検出期間の最後で、ＳＥＮは、ビットライン内の伝導電流に依存するある電圧まで減少する（図１４（Ｇ）の曲線Ｇ２〜Ｇ４を参照）。一例として、この第１段階の限界電流は、３００ｎＡとなるように設定される。キャパシタＣＳＡ６５２、検出期間Ｔ１及びｐトランジスタ６５６の閾値電圧は、限界電流（例えば、３００ｎＡ）よりも高い伝導電流に対応する信号ＳＥＮが、識別回路６５０内のトランジスタ６５６をオンにするのに十分な低さになるようにする。ラッチ信号ＳＴＢがＬＯＷにストローブすると、出力信号ＩＮＶはＨＩＧＨに引っ張られ、ラッチ６６０によってラッチされる（図１４（Ｅ）と図１４（Ｈ）（曲線Ｈ２））。一方、限界電流より低い伝導電流に対応する信号ＳＥＮは、トランジスタ６５６をオン状態にできない信号ＳＥＮを生成する。この場合、ラッチ６６０は変化しないままであり、その場合はＬＡＴはＨＩＧＨに留まる（図１４（Ｈ３）と１４（Ｈ４））。従って、識別回路６５０は、検出期間によって設定された基準電流に対して、ビットライン内の伝導電流の大きさを実質的に決定することが分かる。
【００９０】
検出増幅部６００はさらに第２電圧クランプ６２０を有しており、その目的は、トランジスタ６１２のドレイン電圧を十分に高く維持し、ビットライン電圧クランプ６１０が適切に機能できるようにすることである。これまで説明したように、ビットライン電圧クランプ６１０は、ビットライン電圧を所定値ＶＢＬ（例えば、０．５Ｖ）にクランプする。これはトランジスタ６１２のゲート電圧ＢＬＣをＶＢＬ＋ＶＴ（ここでＶＴはトランジスタ６１２の閾値電圧である）に設定し、検出ノード５０１に接続したドレインをソースより大きくする（つまり、信号ＳＥＮ２＞ＶＢＬ）ことを要求する。特に、電圧クランプ６１０と６２０の構成を与えると、ＳＥＮ２は（ＬＡＴ−ＶＴ）又は（ＢＬＸ−ＶＴ）のより小さい方以下で、ＳＥＮはそれ以上であるべきである。検出中、分離ゲート６３０は、通過モードにある。しかしながら、検出中、内部検出ノード６３１における信号ＳＥＮはＶｄｄから低下した電圧を有する。第２電圧クランプ６２０は、ＳＥＮが（ＬＡＴ−ＶＴ）又は（ＢＬＸ−ＶＴ）のどちらか低い方よりも低下しないようにする。これは信号ＢＬＸによって制御されたｎトランジスタ６１２によって実現され、ここでＢＬＸは（ＶＢＬ＋ＶＴ）以上である（図１４（Ｆ））。従って、電圧クランプ６１０と６２０の動作によって、ビットライン電圧ＶＢＬは検出中、一定に保持される（例えば、〜０．５Ｖ）。
【００９１】
ビットライン静電容量の既存の使用の代わりに専用キャパシタ６５２を用いて電流を測定することは、いくつかの点で有利である。第１に、ビットライン上の定電圧源が可能になり、それによってビットライン間のクロストークが避けられる。第２に、専用キャパシタ６５２によって、検出に最適な静電容量が選択可能になる。例えば、約２ｐＦのビットライン静電容量に比べて、約３０ｆＦの静電容量を有することができる。充電が速くなるので、静電容量が小さいほど検出速度を増大できる。最後に、ビットラインの静電容量を用いる従来技術の方法に比べて、専用の静電容量に対する検出では、検出回路をメモリアーキテクチャやサイズから独立させることができる。
【００９２】
別の実施形態では、電流決定は基準電流と比較することによって実現され、その基準電流は基準メモリセルの伝導電流によって提供される。これは、カレントミラーの一部としての比較電流を用いて実装される。
【００９３】
電流決定の出力は、ラッチ回路６６０によってラッチされる。ラッチ回路は、トランジスタ６６６と６６８とともに、トランジスタ６６１、６６２、６６３及び６６４による設定／リセットラッチとして構成される。ｐトランジスタ６６６は信号ＲＳＴ（リセット）によって制御され、ｎトランジスタ６６８は信号ＳＴＢによって制御される。低電圧動作に適した上記の検出増幅部の変形態様は、発明者Ｒａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎｅａの米国特許出願第１１／０１５，１９９号、発明の名称「Ｉｍｐｒｏｖｅｄ  Ｍｅｍｏｒｙ  Ｓｅｎｓｉｎｇ  Ｃｉｒｃｕｉｔ  Ａｎｄ  Ｍｅｔｈｏｄ  Ｆｏｒ  Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｏｐｅｒａｔｉｏｎ」、出願日２００４年１２月１６日に記載されており、その全体を参照により本明細書に組み込まれる。
【００９４】
一般的に、多経路検出モジュール３８０（図８）の対応する数によって操作される１ページのメモリセルが存在する。第１限界電流レベルより高い伝導電流を備えているそれらのメモリセルに対して、ＬＡＴ信号はＬＯＷにラッチされる（ＩＮＶはＨＩＧＨにラッチされる）。これはさらにビットライン引き下げ回路５２０を起動して対応するビットラインを接地し、それによって電流をオフにする。
【００９５】
段階（６）：回復／事前充電
予め引き下げられていないビットライン３６などのビットライン内の伝導電流の次の検出の前に、事前充電回路が信号ＦＬＴによって起動され、内部検出ノード６３１をＶｄｄまで事前充電する（図１４（Ｃ）（６）及び図１４（Ｉ３）（６）〜１４（Ｉ４）（６））。
【００９６】
段階（７）：第２検出
検出増幅部６００が検出しようとすると、事前充電回路６４２は、ＦＬＴがＨＩＧＨなることによって停止させられる（図１４（Ｃ））。第２検出期間Ｔ２は、ストローブ信号ＳＴＢのアサートによって設定される。検出期間中、伝導電流は（もしあれば）、キャパシタを充電する。キャパシタ６５２がビットライン３６内の伝導電流の排出動作を介して充電しているときに、ＳＥＮはＶｄｄから低下する。
【００９７】
前の例に従って、３００ｎＡよりも高い伝導電流を備えたメモリセルは、より早い段階で既に識別され遮断されている。図１４（Ｇ）（曲線Ｇ３とＧ４）は、２２０ｎＡと４０ｎＡの伝導電流を備えているメモリセルに各々接続されている２例のビットラインに対応するＳＥＮ信号を各々示している。
【００９８】
段階（８）：読み出しの第２ラッチ
第２の所定検出期間Ｔ２の最後で、ＳＥＮはビットライン３６内の伝導電流に依存して同じ電圧まで低下する（図１４（Ｇ）（曲線Ｇ３とＧ４））。１例として、第２段階の限界電流は、１００ｎＡとなるように設定される。この場合、２２０ｎＡの伝導電流を備えたメモリセルは、そのＩＮＶをＨＩＧＨにラッチし（図１４（Ｈ））、次にビットラインを接地させる（図１４（Ｉ３））。一方、４０ｎＡの伝導電流を備えたメモリセルは、ラッチの（ＬＡＴをＨＩＧＨに設定した）状態に影響を与えない。
【００９９】
段階（９）：バスへの読み出し
最後に、読み出し段階では、転送ゲート４８８における制御信号ＮＣＯは、ラッチした信号ＳＥＮ２を読み出して、バス４９９に読み出すことを可能にする（図１４（Ｊ）と１４（Ｋ））。
【０１００】
図１４（Ｉ１）〜１４（Ｉ４）から分かるように、ビットライン電圧は、各検出期間の間一定に留まる。従って、これまでの説明から、ビットライン間の容量結合は除去される。
【０１０１】
上記の検出モジュール３８０は３つの経路を用いて検出を実行する一実施形態であり、最初の２経路は、高電流のメモリセルを識別し遮断するために実装されている。ソースラインバイアスへの高電流の寄与を除去することで、最後の経路はより低い範囲の伝導電流を備えたセルをより正確に検出することができる。
【０１０２】
他の実施形態では、検出動作はＤＣ及びＡＣ経路の異なる組み合わせを用いて実装され、一部は２つ以上のＡＣ経路だけ、又は１つの経路だけを用いる。異なる経路に対して、用いられる限界電流値は毎回同じであっても、最後の経路に用いられる限界電流値に向かって徐々に収束していてもよい。
【０１０３】
図１５は、不揮発性メモリをプログラムする方法の一実施形態を説明するフローチャートである。一実装形態では、メモリセルはプログラミング前にメモリセルを（ブロック又は他のユニットで）消去する。図１５のステップ７００では、「データロード」コマンドが制御部によって発行され、制御回路３１０で入力を受け取る。ステップ７０２では、ページアドレスを指定するアドレスデータを、制御部又はホストから復号部３１４に入力する。ステップ７０４では、アドレスされたページのプログラムデータの１ページを、プログラミングのためにデータバッファに入力する。そのデータは、適切なラッチの集合内にラッチされる。ステップ７０６では、「プログラム」コマンドが、制御部によって状態マシン３１２に発行される。
【０１０４】
「プログラム」コマンドによってトリガされ、ステップ７０４でラッチしたデータは、適切なワードラインに印加した図１６のステップパルスを用いて、状態マシン３１２によって制御された選択メモリセル内にプログラムされる。ステップ７０８では、プログラム電圧Ｖｐｇｍを開始パルス（例えば、１２Ｖ）に初期化し、状態マシン３１２によって維持されるプログラムカウンタＰＣを０に初期化する。ステップ７１０では、第１Ｖｐｇｍパルスを選択ワードラインに印加する。対応するメモリセルをプログラムすべきことを示す論理「０」が特定のデータラッチ内に記憶された場合、対応するビットラインを接地する。一方、対応するメモリセルがその電流データ状態に留まるべきことを示す論理「１」が特定のラッチ内に記憶された場合、プログラミングを禁止するために、対応するビットラインをＶｄｄに接続する。
【０１０５】
ステップ７１２では、選択メモリセルの状態を検証する。選択セルの対象閾値電圧が適切なレベルに到達したことが検出された場合、対応するデータラッチ内に記憶したデータは論理「１」に変更される。閾値電圧が適切なレベルに到達していないことが検出された場合、対応するデータラッチ内に記憶したデータは変更されない。このように、その対応するデータラッチ内に記憶した論理「１」を有するビットラインは、プログラムする必要はない。全てのデータラッチが論理「１」を記憶しているときに、状態マシンは（上記のワイヤードＯＲ型機構によって）全ての選択セルがプログラムされたことを認識する。ステップ７１４では、全てのデータラッチが論理「１」を記憶しているかどうかを確認する。そうであれば全ての選択メモリセルがプログラムされ、そして検証されたので、プログラミング処理を完了し成功とする。ステップ７１６では、「成功」の状態を報告する。
【０１０６】
ステップ７１４において、全てのデータラッチが論理「１」を記憶しているとは限らないことが決定された場合、プログラミング処理は継続する。ステップ７１８では、プログラム限界値ＰＣＭＡＸに対してプログラムカウンタＰＣを確認する。プログラム限界値の一例は２０であるが、他の数字を用いることもできる。プログラムカウンタＰＣが２０以上であればプログラム処理は失敗であり、ステップ７２０で「失敗」の状態を報告する。プログラムカウンタＰＣが２０未満であればＶｐｇｍレベルをステップサイズだけ増大させ、ステップ７２２でプログラムカウンタＰＣを増加させる。ステップ７２２の後、処理ループはステップ７１０に戻り、次のＶｐｇｍパルスを印加する。
【０１０７】
成功したプログラム処理の最後では、メモリセルの閾値電圧はプログラムしたメモリセルの閾値電圧の１つ以上の分布内、又は必要に応じて消去したメモリセルの閾値電圧分布内にあるべきである。図１７は、各メモリセルが２ビットのデータを記憶している場合の、メモリセルアレイの閾値電圧分布を示している。図１７は、消去したメモリセルの第１閾値電圧分布Ｅを示している。プログラムしたメモリセルの３つの閾値電圧分布Ａ、Ｂ及びＣも示している。一実施形態では、分布Ｅ内の閾値電圧は負であり、分布Ａ、Ｂ及びＣ内の閾値電圧は正である。
【０１０８】
図１７の異なる閾値電圧範囲の各々が、データビットの集合の所定の値に対応する。メモリセルにプログラムされたデータとセルの閾値電圧レベルの間の具体的な関係は、セルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び米国特許出願第１０／４６１，２４４号、「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」、出願日２００３年６月１４日（両方とも全体として参照によって本明細書に組み込まれる）は、マルチ状態フラッシュメモリセルの様々なデータ符号化方式を説明している。一実施形態では、データ値はグレイ符号割り当てを用いて閾値電圧範囲に割り当てられ、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトしても、１ビットだけが影響を受けるようにする。一例では、「１１」を閾値電圧範囲Ｅ（状態Ｅ）、「１０」を閾値電圧範囲Ａ（状態Ａ）、「００」を閾値電圧範囲Ｂ（状態Ｂ）、「０１」を閾値電圧範囲Ｃ（状態Ｃ）に割り当てる。しかし、他の実施形態ではグレイ符号は用いられない。図１７は４つの状態を示しているが、本発明は４つより多い、又は少ない状態を含む他のマルチ状態構造とともに用いることもできる。
【０１０９】
図１７はさらに、メモリセルからデータを読み出すための３つの読み出し基準電圧Ｖｒａ、Ｖｒｂ及びＶｒｃを示している。所定のメモリセルの閾値電圧がＶｒａ、Ｖｒｂ及びＶｒｃよりも高いか、低いかをテストすることによって、システムはメモリセルがどの状態にあるかを決定することができる。図１７はさらに、３つの検証基準電圧Ｖｖａ、Ｖｖｂ及びＶｖｃを示している。メモリセルを状態Ａにプログラムする場合、システムは、それらのメモリセルがＶｖａ以上の閾値電圧を有するか否かをテストする。メモリセルを状態Ｂにプログラムする場合、システムは、メモリセルがＶｖｂ以上の閾値電圧を有するか否かをテストする。メモリセルを状態Ｃにプログラムする場合、システムは、メモリセルがＶｖｃ以上の閾値電圧を有するか否かをテストする。
【０１１０】
全シーケンスプログラミングとして知られる一実施形態では、メモリセルは、消去状態Ｅからプログラム状態Ａ、Ｂ又はＣのいずれにも直接プログラムすることができる。例えば、プログラムされるメモリセルの集合は、最初に消去されることによって、集合内の全てのメモリセルが消去状態Ｅになるようにする。それから、図１６に示した制御ゲート電圧シーケンスを用いる図１５に示した処理を用いて、メモリセルを直接状態Ａ、Ｂ又はＣにプログラムする。いくつかのメモリセルは状態Ｅから状態Ａにプログラムされる間に、他のメモリセルは状態Ｅから状態Ｂ及び／又は状態Ｅから状態Ｃにプログラムされる。ＷＬｎ上で状態Ｅから状態Ｃにプログラムするとき、ＷＬｎの下でのフローティングゲート上の電圧変化は大きいので、ＷＬｎ−Ｉの下での隣接フローティングゲートとの結合量は最大になる。状態Ｅから状態Ｂにプログラムするとき、隣接フローティングゲートとの結合量は低減されるがなお大きい。状態Ｅから状態Ａにプログラムするとき、結合量はさらにいっそう低減される。従って、各状態のＷＬｎ−Ｉを次に読み出すために必要な補正量は、ＷＬｎ上の隣接セルの状態に依存して変化する。
【０１１１】
図１８は、２つの異なるページ（下側ページと上側ページ）に対してデータを記憶するマルチ状態メモリセルをプログラムする２経路技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下側ページが「０」を記憶し、上側ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下側ページが「１」を記憶し、上側ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることもできる。第１プログラミング経路では、セルの閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかしながら、プログラムされるビットが論理「０」であれば、矢印７３０で示したように、セルの閾値レベルは状態Ａになるように増大される。それは、第１プログラミング経路を結論付ける。
【０１１２】
第２プログラミング経路では、セルの閾値電圧レベルは、上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「１」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態Ｅ又はＡの一方であり、どちらも上側ページビットは「１」を保持するのでプログラミングは生じない。上側ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１経路によってセルが消去状態Ｅに留まっていれば第２段階でセルをプログラムし、矢印７３４で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミング経路の結果としてセルが状態Ａ内にプログラムされれば、メモリセルはさらに第２経路でプログラムし、矢印７３２で示したように閾値電圧が状態Ｂ内になるように増大させる。第２経路の結果は、下側ページのデータを変更することなく、上側ページの論理「０」を記憶するように指定した状態にセルをプログラムすることである。図１７と図１８の両方において、隣接ワードライン下のフローティングゲートとの結合量は最終的な状態に依存する。
【０１１３】
一実施形態では、ページ全体を充填するのに十分なデータが書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。全ページに対して十分ではないデータが書き込まれた場合、プログラミング処理は、受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったとき、システムは上側ページをプログラムする。さらに別の実施形態では、システムは、下側ページをプログラムするモードで書き込みを開始し、ワードラインのメモリセルの全体（又は大部分）を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、発明者Ｓｅｒｇｙ  Ａｎａｔｏｌｉｅｖｉｃｈ  Ｇｏｒｏｂｅｔｓ及びＹａｎ  Ｌｉの米国特許出願第１１／０１３，１２５号、発明の名称「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」、出願日２００４年１２月１４日で開示されている。その全体は参照によって本明細書に組み込まれる。
【０１１４】
図１９Ａ〜Ｃは、前のページの隣接メモリセルに書き込んだ後で、特定のページに対する特定のメモリセルに書き込むことによって、そのメモリセルに対するフローティングゲート間結合を低減する不揮発性メモリをプログラムする別の方法を開示している。図１９Ａ〜Ｃによって開示された処理の実装形態の一例にでは、不揮発性メモリセルは、４つのデータ状態を用いてメモリセル毎に２ビットのデータを記憶する。例えば、状態Ｅが消去状態であり、状態Ａ、Ｂ及びＣがプログラム状態であると仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。両方のビットは隣接する状態Ａ及びＢの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各メモリセルは、２つのページのデータを記憶している。参照目的のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。図１９の処理の状態Ａを参照すると、上側ページはビット０を記憶し、下側ページはビット１を記憶している。状態Ｂを参照すると、上側ページはビット１を記憶し、下側ページはビット０を記憶している。状態Ｃを参照すると、両方のページがビットデータ０を記憶している。図１９のプログラミング処理は、２つのステップの処理である。第１ステップでは、下側ページをプログラムする。下側ページがデータ１のままである場合、メモリセル状態は状態Ｅに留まる。データが０にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ｂ’にプログラムされる。従って、図１９Ａは、状態Ｅから状態Ｂ’へのメモリセルのプログラミングを示している。図１９Ａに示した状態Ｂ’は暫定的状態Ｂであり、従って、検証点はＶｖｂ’として示され、その検証点はＶｖｂより低い。
【０１１５】
一実施形態では、状態Ｅから状態Ｂ’にメモリセルをプログラムした後、ＮＡＮＤストリング内の隣接メモリセル（ＷＬｎ＋１）をその下側ページに対してプログラムする。例えば、図２を見直すと、メモリセル１０６の下側ページをプログラムした後、メモリセル１０４の下側ページをプログラムする。メモリセル１０４をプログラムした後、メモリセル１０４が状態Ｅから状態Ｂ’に上昇した閾値電圧を有していた場合、フローティングゲート間結合効果は、メモリセル１０６の見かけの閾値電圧を上昇させる。これは、図１９Ｂの閾値電圧分布７５０として示されたものに対して、状態Ｂ’の閾値電圧分布を拡大する影響を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムするときに修正される。
【０１１６】
図１９Ｃは、上側ページをプログラムする処理を示している。メモリセルが消去状態Ｅであって上側ページが１に留まる場合、メモリセルは状態Ｅに留まる。メモリセルが状態Ｅであり、その上側ページデータが０にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ａになる。メモリセルが中間の閾値電圧分布７５０であって上側ページデータが１に留まる場合、メモリセルは最終的な状態Ｂにプログラムされる。メモリセルが中間の閾値電圧分布７５０であって上側ページデータがデータ０になる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ｃになる。隣接メモリセルの上側ページプログラミングだけが所定のメモリセルの見かけの閾値電圧に影響を与えるので、図１９Ａ〜Ｃで示した処理はフローティングゲート間結合効果を低減する。別の状態符号化の一例は、上側ページデータが１であるとき分布７５０から状態Ｃに移動することであり、上側ページデータが０であるとき状態Ｂに移動することである。
【０１１７】
図１９Ａ〜１９Ｃは４つのデータ状態と２つのページデータに対する１例を提供するが、図１９Ａ〜１９Ｃによって開示された概念は４つより多い、又は少ない状態、及び２つのページとは異なるページを備えた他の実装形態に適用することもできる。
【０１１８】
図２０Ａ〜２０Ｆは、図１７、１８及び１９で説明した方法の様々な実施形態によるプログラミング順を説明する様々な表を示している。これまで説明したように、各ブロックは列を構成する１組のビットラインと、行を構成する１組のワードラインを有する。一実施形態では、ビットラインは奇数ビットラインと偶数ビットラインに分割される。共通ワードラインに沿って奇数ビットラインに接続されたメモリセルは１度にプログラムされ、共通ワードラインに沿って偶数ビットラインに接続されたメモリセルは別の時点でプログラムされる（奇数／偶数プログラミング）。別の実施形態では、メモリセルは、ブロック内の全てのビットラインの１つのワードラインに沿ってプログラムされる（全ビットラインプログラミング）。他の実施形態では、ビットライン又はブロックは他のグループに分解される（例えば、左及び右、２つ以上のグループなど）。
【０１１９】
図２０Ａは、全ビットラインプログラミングの１つのビットラインに沿ってメモリセルをプログラムする順番を説明する表である。本実施形態では、４つのワードラインを備えたブロックが４つのページ（ページ０〜３）を有する。ページ０が最初に書き込まれ、次にページ１、次にページ２、それから続いてページ３が書き込まれる。ページ０内のデータは、ワードラインＷＬ０に接続した全てのメモリセルによって記憶されたデータを有する。ページ１内のデータは、ワードラインＷＬ１に接続したメモリセルによって記憶されたデータを有する。ページ２内のデータは、ワードラインＷＬ２に接続したメモリセルによって記憶されたデータを有する。ページ３内のデータは、ワードラインＷＬ３に接続したメモリセルによって記憶されたデータを有する。図２０Ａの実施形態は、図１７について上述したような全シーケンスプログラミングを仮定している。
【０１２０】
全シーケンスプログラミングの別の実施形態では、データは最初に偶数のビットラインに書き込まれ、それから奇数のビットラインに書き込まれる。図２０Ｂは、図１７についてこれまでに説明した全シーケンスプログラミングを用いる際、偶数と奇数のビットラインをプログラムする順番を示している。本実施形態では、４つのワードラインを備えたブロックが８ページのデータを有する。ワードラインＷＬ０に接続した偶数のビットライン上のメモリセルは、ページ０のデータを記憶する。ワードラインＷＬ０に接続した奇数のビットライン上のメモリセルは、ページ１のデータを記憶する。ワードラインＷＬ１に接続した偶数のビットライン上のメモリセルは、ページ２のデータを記憶する。ワードラインＷＬ１に接続した奇数のビットライン上のメモリセルは、ページ３のデータを記憶する。ワードラインＷＬ２に接続した偶数のビットライン上のメモリセルは、ページ４のデータを記憶する。ワードラインＷＬ２に接続した奇数のビットライン上のメモリセルは、ページ５のデータを記憶する。ワードラインＷＬ３に接続した偶数のビットライン上のメモリセルは、ページ６のデータを記憶する。ワードラインＷＬ３に接続した奇数のビットライン上のメモリセルは、ページ７のデータを記憶する。データは、ページ０からページ７までページ数に従って番号順にプログラムされる。
【０１２１】
図２０Ｃの表は、全ビットラインプログラミングを実行するメモリアレイに対して、図１８の２段階プログラミング処理に従うプログラミング順を示している。４つのワードラインを備えたブロックが、８ページを有するように示されている。ワードラインＷＬ０に接続したメモリセルに対して、下側ページのデータがページ０を構成し、上側ページのデータがページ１を構成する。ワードラインＷＬ１に接続したメモリセルに対して、下側ページのデータがページ２を構成し、上側ページのデータがページ３を構成する。ワードラインＷＬ２に接続したメモリセルに対して、下側ページのデータがページ４を構成し、上側ページのデータがページ５を構成する。ワードラインＷＬ３に接続したメモリセルに対して、下側ページのデータがページ６を構成し、上側ページのデータがページ７を構成する。データは、ページ０からページ７までページ数に従って番号順にプログラムされる。
【０１２２】
図２０Ｄは、奇数／偶数プログラミングを実行するメモリアーキテクチャに対して、図１８の２段階プログラミング処理をプログラムする順番を説明する表を提供する。４つのワードラインを備えたブロックが１６ページを有し、それらのページはページ０からページ１５のページ数に従う番号順にプログラムされる。ワードラインＷＬ０に接続した偶数ビットライン上のメモリセルに対して、下側ページのデータがページ０を構成し、上側ページのデータがページ２を構成する。ワードラインＷＬ０に接続した奇数ビットライン上のメモリセルに対して、下側ページのデータがページ１を構成し、上側ページのデータがページ３を構成する。ワードラインＷＬ１に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ４を構成し、上側ページがページ６を構成する。ワードラインＷＬ１に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ５を構成し、上側ページがページ７を構成する。ワードラインＷＬ２に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ８を構成し、上側ページがページ１０を構成する。ワードラインＷＬ２に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ９を構成し、上側ページがページ１１を構成する。ワードラインＷＬ３に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ１２を構成し、上側ページがページ１４を構成する。ワードラインＷＬ３に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ１３を構成し、上側ページがページ１５を構成する。また、図２０Ｅのように、この同じワードラインの奇数ビットラインの両方のページをプログラムする前に、偶数ビットラインの各ワードライン下の下側ページと上側ページの両方がプログラムされる。
【０１２３】
図２０Ｆと２０Ｇは、図１９Ａ〜１９Ｃのプログラミング方法を用いてメモリセルをプログラムする順番を示している。図２０Ｆは、全ビットラインプログラミングを実行するアーキテクチャに関連する。ワードラインＷＬ０に接続したメモリセルに対して、下側ページがページ０を構成し、上側ページがページ２を構成する。ワードラインＷＬ１に接続したメモリセルに対して、下側ページがページ１を構成し、上側ページがページ４を構成する。ワードラインＷＬ２に接続したメモリセルに対して、下側ページがページ３を構成し、上側ページがページ６を構成する。ワードラインＷＬ３に接続したメモリセルに対して、下側ページがページ５を構成し、上側ページがページ７を構成する。メモリセルは、ページ０からページ７までページ数に従って番号順にプログラムされる。
【０１２４】
図２０Ｇの表は、奇数／偶数プログラミングを実行するアーキテクチャに関連する。ワードラインＷＬ０に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ０を構成し、上側ページがページ４を構成する。ワードラインＷＬ０に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ１を構成し、上側ページがページ５を構成する。ワードラインＷＬ１に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ２を構成し、上側ページがページ８を構成する。ワードラインＷＬ１に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ３を構成し、上側ページがページ９を構成する。ワードラインＷＬ２に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ６を構成し、上側ページがページ１２を構成する。ワードラインＷＬ２に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ７を構成し、上側ページがページ１３を構成する。ワードラインＷＬ３に接続した偶数ビットライン上のメモリセルに対して、下側ページがページ１０を構成し、上側ページがページ１４を構成する。ワードラインＷＬ３に接続した奇数ビットライン上のメモリセルに対して、下側ページがページ１１を構成し、上側ページがページ１５を構成する。メモリセルは、ページ０からページ１５までページ数に従って番号順にプログラムされる。最後に、偶数ビットラインと奇数ビットラインの両方を備えたアーキテクチャは各々、例えば、チップの左側に物理的にともに配置した全ての偶数ビットラインと、例えば、チップの右側にともに配置した全ての奇数ビットラインを用いて実装される。
【０１２５】
なお、図２０Ａ〜２０Ｇの実施形態では、メモリセルはソース側からドレイン側にＮＡＮＤストリングに沿ってプログラムされる。また、表は、４つのワードラインを備えた実施形態のみを示している。表内に示した様々な方法は、４つより多い、又は少ないワードラインを備えたシステムに適用することもできる。奇数／偶数プログラミングを用いるアーキテクチャの例は米国特許第６，５２２，５８０号及び６，６４３，１８８号内に見出される。両方ともに全体を参照によって本明細書に組み込まれる。全ビットラインプログラミングを用いるアーキテクチャについてのさらなる情報は、全体を参照によって本明細書に組み込まれる以下の米国特許文書内に見出される。米国特許出願公開ＵＳ２００４／００５７２８３号、米国特許出願公開ＵＳ２００４／００６００３１号、米国特許出願公開ＵＳ２００４／００５７２８５号、米国特許出願公開ＵＳ２００４／００５７２８７号、米国特許出願公開ＵＳ２００４／００５７３１８号、米国特許第６，７７１，５３６号、米国特許第６，７８１，８７７号。
【０１２６】
一般的に、全ビットラインをともにプログラムするアーキテクチャは、全ビットラインからのデータをともに読み出す。同様に、奇数及び偶数ビットラインを別々にプログラムするアーキテクチャは一般的に、奇数及び偶数ビットラインを別々に読み出す。しかし、このような制限は必須ではない。データの読み出しについて本明細書で説明される技術は、全ビットラインプログラミング又は奇数／偶数ビットラインプログラミングとして用いることもできる。
【０１２７】
図２１は、不揮発性メモリセルからデータを読み出す一実施形態を説明するフローチャートである。検出モジュールについてのこれまでの説明では、特定のビットラインからどのようにデータを読み出すかについて説明している。図２１は、システムレベルにおける読み出し処理を提供する。データを読み出す要求（ステップ７９８）に応じて、ステップ８００において特定のページに対して読み出し動作を実行する。一実施形態では、１ページに対するデータをプログラムする際、システムは誤り訂正符号（ＥＣＣ）も生成し、それらのＥＣＣをデータのページと共に書き込む。ＥＣＣ技術は、技術的によく知られている。用いられるＥＣＣ処理は、技術的に知られている任意の適切なＥＣＣ処理を含むことができる。１ページからデータを読み出すときに、ＥＣＣはデータ内に任意の誤りがあるかどうかを決定するために用いられる（ステップ８０２）。ＥＣＣ処理は、コントローラ、状態マシン又はシステム内の他の場所で実行される。データ内に誤りがない場合、ステップ８０４においてデータはユーザに報告される。例えば、データは、データＩ／Ｏライン３２０を介して制御部又はホストに通信される。ステップ８０２で誤りが見つかると、その誤りが訂正可能かどうかが決定される（ステップ８０６）。誤りは、フローティングゲート間結合効果による場合も、他の物理的機構による場合もある。様々なＥＣＣ法が、データの集合内の所定数の誤りを訂正する能力を有する。ＥＣＣ処理がデータを訂正可能であれば、ＥＣＣ処理を用いてステップ８０８でそのデータを訂正し、データは訂正したとおりにステップ８１０でユーザに報告される。データがＥＣＣ処理では訂正不可能な場合、ステップ８２０でデータ回復処理が実行される。いくつかの実施形態ではステップ８２０の後、ＥＣＣ処理が実行される。データ回復処理についてのさらなる詳細は以降で説明する。データを回復した後、そのデータはステップ８２２において報告される。なお、図２１の処理は、全ビットラインプログラミング、又は奇数／偶数ビットラインプログラミングを用いてプログラムしたデータとともに用いられる。
【０１２８】
図２２は、１ページに対して読み出し動作を実行する処理（図２１のステップ８００を参照）の一実施形態を説明するフローチャートである。図２２の処理は、１ブロックの全てのビットライン、１ブロックの奇数ビットラインのみ、１ブロックの偶数ビットラインのみ、又は１ブロックのビットラインの他のサブセットを含む１ページに対して実行される。ステップ８４０では、読み出し基準電圧Ｖｒａをそのページに関連した適切なワードラインに印加する。ステップ８４２では、そのページに関連したビットラインを検出し、アドレスされたメモリセルが、それらの制御ゲートへのＶｒａの印加に基づいて導通するか否かを決定する。導通するビットラインはメモリセルがオンになったことを示し、その結果、それらのメモリセルの閾値電圧はＶｒａ未満になる（例えば、状態Ｅ）。ステップ８４４では、ビットラインに対する検出結果をそれらのビットラインの適切なラッチ内に記憶する。ステップ８４６では、読み出されるページに関連したワードラインに、読み出し基準電圧Ｖｒｂを印加する。ステップ８４８では、これまで説明したようにビットラインを検出する。ステップ８５０では、そのビットラインの適切なラッチ内に、結果を記憶する。ステップ８５２では、そのページに関連したワードラインに、読み出し基準電圧Ｖｒｃを印加する。ステップ８５４では、ビットラインを検出し、これまで説明したようにメモリセルが導通しているか否かを決定する。ステップ８５６では、そのビットラインの適切なラッチ内に、検出ステップからの結果を記憶する。ステップ８５８では、各ビットラインに対してデータ値を決定する。例えば、メモリセルがＶｒａで導通する場合、メモリセルは状態Ｅである。メモリセルがＶｒｂ及びＶｒｃで導通するが、Ｖｒａでは導通しない場合、メモリセルは状態Ａである。メモリセルがＶｒｃで導通するが、Ｖｒａ及びＶｒｂでは導通しない場合、メモリセルは状態Ｂである。メモリセルがＶｒａ、Ｖｒｂ又はＶｒｃで導通しない場合、メモリセルは状態Ｃである。一実施形態では、データ値は処理装置３９２によって決定される。ステップ８６０では、処理装置３９２は、決定したデータ値を、各ビットラインの適切なラッチ内に記憶する。他の実施形態では、様々なレベル（Ｖｒａ、Ｖｒｂ及びＶｒｃ）の検出が、異なる順番で発生することがある。
【０１２９】
図２３は、データを回復するための処理（ステップ８２０）の一実施形態を説明するフローチャートである。データは、フローティングゲート間結合効果による誤差を含む可能性がある。図２３の処理はフローティングゲート間結合効果を補償しながら、データの読み出しを試みる。補償は、隣接ワードラインを調べ、隣接ワードラインの過去のプログラムがどれぐらいフローティングゲート間結合効果を生成したかを決定することを含んでいる。例えば、ワードラインＷＬｎ上でデータを読み出す際、処理はワードラインＷｎ＋１のデータも読み出す。ワードラインＷＬｎ＋１上のデータがＷＬｎ上のデータを撹乱する場合、読み出し処理はその撹乱を補償する。一般的に、ここで提案される方法は隣接ワードライン上のメモリセルの状態の関数として、読み出し基準電圧に異なるオフセット（例えば、０Ｖ、０．１Ｖ、０．２Ｖ、０．３Ｖ）を用いる。
【０１３０】
図２３に示した処理は図１７について上で説明した全シーケンスプログラミングに適用し、そこでは１つの論理ページの２つのビットを各セル内に記憶し、ともに読み出して報告する。隣接ワードライン上のメモリセルが状態Ｅであれば、フローティングゲート間結合効果は存在しない。隣接ワードライン上のメモリセルが状態Ａであれば、小さな結合効果が存在する。隣接ワードライン上のメモリセルが状態Ｂであれば、中程度のフローティングゲート間結合効果が存在する。隣接ワードライン上のメモリセルが状態Ｃであれば、大きなフローティングゲート間結合効果が存在する。隣接ワードラインによる正確な結合効果はアレイ実装形態によって異なり、素子を特徴付けることによって決定される。一実施形態では、状態Ａである隣接セルによるフローティングゲート間結合効果は、見かけの閾値電圧を０．１Ｖシフトさせる。状態Ｂの隣接セルによるフローティングゲート間結合効果は、見かけの閾値電圧を０．２Ｖシフトさせる。状態Ｃの隣接セルによるフローティングゲート間結合効果は、見かけの閾値電圧を０．３Ｖシフトさせる。本明細書で説明される技術は、この効果に対する任意の一組の値に限定されず、実装形態に基づいて異なっていてもよい。
【０１３１】
図２３のステップ８７０は、隣接ワードラインＷＬｎ＋１に対して読み出し動作を実行することを含んでいる。これは、隣接ワードラインに対して図２２の処理を実行することを含んでいる。例えば、ワードラインＷＬ１内のページを読み出す場合、ステップ８７０はワードラインＷＬ２上で図２２の処理を実行することを含んでいる。ステップ８７０の結果は、ステップ８７２で適切なラッチ内に記憶する。いくつかの実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によって、ＷＬｎ＋１上に記憶される実際のデータを決定する。他の実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によってＷＬｎ＋１上の電荷レベルを決定し、それはＷＬｎ＋１上に記憶されたデータを正確に反映していても反映していなくてもよい。ステップ８７４では、通常の読み出し点において、所望のＷＬｎのワードラインに対して読み出し動作が実行される。これは、Ｖｒａ、Ｖｒｂ及びＶｒｃを用いて図２２の処理を実行することを含んでいる。いくつかの実施形態では、ＷＬｎ＋１を読み出すために用いられるレベル及び／又はレベル数は、ＷＬｎを読み出すために最初に用いられるものと正確に同じでなくてもよく、フローティングゲート閾値の単なる近似でもＷＬｎの補正目的として十分である。ステップ８７４の結果は、（ステップ８７０で）隣接セルＷＬｎ＋１が状態Ｅであると決定されたメモリセルを備えているビットラインの適切なラッチ内に記憶する。他のビットラインの場合、データは無視される。ステップ８７８では、読み出し点に対する第１のオフセット集合を用いて、所望のワードラインに対して読み出し動作が実行される。つまり、図２２の処理が実行されるが、Ｖｒａ、Ｖｒｂ及びＶｒｃを用いるのではなく、システムはＶｒａ＋０．１Ｖ、Ｖｒｂ＋０．１Ｖ及びＶｒｃ＋０．１Ｖを用いる。ステップ８８０では、状態Ａの隣接メモリセル（例えば、ＷＬｎ＋１）を有するメモリセルを備えているビットラインに対して、ステップ８７８の結果を記憶する。他のビットラインに対するデータは無視される。ステップ８８２では、第２オフセットを用いて、所望のワードラインに対して読み出し動作が実行される。図２２の処理が実行されるが、読み出し基準点はＶｒａ＋０．２Ｖ、Ｖｒｂ＋０．２Ｖ及びＶｒｃ＋０．２Ｖとなる。ステップ８８４では、状態Ｂの隣接メモリセル（例えば、ＷＬｎ＋１）を有するメモリセルを備えているビットラインのラッチ内に、ステップ８８２の結果を記憶する。ステップ８８６では、第３オフセットを用いて、所望のワードラインに対して読み出し動作が実行される。従って、図２２の処理は、読み出し比較点としてＶｒａ＋０．３Ｖ、Ｖｒｂ＋０．３Ｖ及びＶｒｃ＋０．３Ｖを用いる。ステップ８８８では、隣接セル（例えば、ＷＬｎ＋１）が状態Ｃであるメモリセルを備えているビットラインに対して、ステップ８８６の結果を記憶する。
【０１３２】
これまでの説明では、図２３の処理は、図２１のデータ回復ステップ８２０の一部として実行される。別の実施形態では、図２３の処理は、データの読み出し要求に応じて実行される最初の読み出し処理として用いられる。
【０１３３】
図２４は、プログラムされる最後のワードラインを除くブロックの全ワードラインに対して、データ回復処理（図２３の方法）を実行できることを示すフローチャートである。例えば、ｘ＋１本のワードラインがある場合、ワードラインＷＬ０〜ＷＬｘ−１に対して回復処理が用いられる。ワードラインＷＬｘ（例えば、ドレインに最も近いワードライン）はその後プログラムされ、フローティングゲート間結合効果を引き起こす隣接部を有していないので、そのワードラインに対して回復処理を実行する必要はない。図２４は、図２１に対してこれまでに説明した一実施形態において、全ワードラインに対して順に実行される回復処理を備えた実施形態を示しているが、その回復処理は、別個の時点で訂正可能ではないＥＣＣ誤りが存在する場合だけ、ワードラインに対して回復処理を実行することもできる。
【０１３４】
図２２と２３の上記の方法では、図１７の１つの論理ページに２つのビットを記憶する全シーケンスプログラミングに対して説明した。２つの論理ページの各々から１つのビットを記憶する図１８の２ステップ処理に従ってプログラムされたデータを読み出すときに、これらの処理はやや修正される。例えば、標準的な読み出し動作（図２１のステップ８００）を実行する場合、下側ページの読み出しはメモリセルの制御ゲートにＶｒａとＶｒｃを印加し、これらの読み出し点において検出を実行し、データが下側ページに対して状態Ｅ／Ｃ（データ１）にあるか、状態Ａ／Ｂ（データ０）にあるかを決定することを要求する。従って、図２２は、下側ページの読み出しに対して、ステップ８４０、８４２、８４４及びステップ８５２〜８６０を実行することによって修正される。上側ページの読み出しを実行するために、読み出し比較点Ｖｒｂを用いて、上側ページのデータが状態Ｅ／Ａ（データ１）であるか、状態Ｂ／Ｃ（データ０）であるかを決定する。従って、上側ページの読み出しに対して、図２２の処理はステップ８４６、８４８、８５０、８５８及び８６０を実行するように修正される。さらに、データを回復する際（ステップ８２０）、処理は下側ページのデータを回復するための図２５の方法と、上側ページのデータを回復するための図２６の処理を実行する。
【０１３５】
図２５のステップ９３０では、図２２の方法に従って隣接ワードラインＷＬｎ＋１に対して読み出し動作を実行する。いくつかの実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によって、ＷＬｎ＋１上に記憶された実際のデータを決定する。他の実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によってＷＬｎ＋１上の電荷レベルを決定し、それはＷＬｎ＋１上に記憶されたデータを正確に反映していても反映していなくてもよい。その読み出し動作の結果は、ステップ９３２で適切なラッチ内に記憶する。ステップ９３４では、ワードラインに読み出し基準電圧Ｖｒａを印加する。ステップ９３６では、ビットラインに対するデータを検出する。ステップ９３８では、適切なラッチ内に結果を記憶する。ステップ９４０では、ワードラインに読み出し基準電圧Ｖｒｃを印加する。ステップ９４２では、これまでに説明したようにデータを検出する。ステップ９４４では、状態Ｅのデータを記憶している隣接セルに関連したビットラインに対して、検出ステップ９４２の結果を記憶する。ステップ９４６では、読み出されるページのワードラインにＶｒｃ＋第１オフセット（例えば、０．１Ｖ又は別の適切な値）を印加する。ステップ９４８では、これまでに説明したようにデータを検出する。ステップ９５０では、状態Ａのデータを記憶している隣接セルに関連したビットラインに対して、ステップ９４８の結果を記憶する。他のビットラインのデータは破棄される。ステップ９５２では、読み出されるページに関連したワードラインにＶｒｃ＋第２オフセット（例えば、０．２Ｖ又は他の適切な値）を印加する。ステップ９５４では、これまで説明したように検出モジュールを用いてデータを検出する。ステップ９５６では、状態Ｂのデータを記憶している隣接セルに関連したビットラインに対して、ステップ９５４の結果を記憶する。ステップ９５８では、読み出されるページに関連したワードラインにＶｒｃ＋第３オフセット（０．３Ｖ又は他の適切な電圧）を印加する。ステップ９６０では、検出モジュールを用いてこれまで説明したようにデータを検出する。ステップ９６２では、状態Ｃのデータを記憶している隣接セルに関連したビットラインに対して、ステップ９６０の結果を記憶する。ステップ９６４では、処理装置３９２は、検出ステップから記憶されたデータに基づいてデータ値を決定する。ステップ９６６では、読み出しデータを要求するユーザとの最終的な通信のラッチ内に、ステップ９６４から決定したデータ値を記憶する。別の実施形態では、状態Ａに関連したステップ９３４〜９３８は、ステップ９６２と９６４の間で実行することもできる。
【０１３６】
なお、図２５で説明した処理では、オフセットは、状態Ｃから状態Ｂを分離するためにＶｒｃに印加されるだけである。それは、通常負の閾値の消去状態はＷＬｎ＋１によって影響されるが、状態Ａからは十分遠くに分離されており補正の必要はないので、Ｖｒａを読み出すときに、オフセットは必要ないことが暗示的に仮定されている。これは現世代のメモリに対しては実用的な仮定であるが、次世代のメモリには当てはまらない可能性があり、ステップ９４６〜９６２でＶｒｃに対して説明したオフセット処理は、ステップ９４０の前にＶｒａを追加することもできる。
【０１３７】
ステップ９６４でデータ値を決定する際、メモリセルがＶｒａに応じて導通する場合は、下側ページのデータは「１」である。メモリセルがＶｒａに応じて導通せずＶｒｃ（又はＶｒｃ＋適切なオフセット）に応じて導通しない場合も、下側ページのデータは「１」である。メモリセルがＶｒａに応じて導通しないがＶｒｃ（又はＶｒｃ＋適切なオフセット）に応じて導通する場合は、下側ページのデータは「０」である。
【０１３８】
図２６の処理は、上側ページのデータの読み出し／回復のために用いられる。ステップ１０００では、図２２の方法を用いて、隣接ワードラインＷＬｎ＋１に対して、読み出し動作を実行する。いくつかの実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によって、ＷＬｎ＋１上に記憶された実際のデータを決定する。他の実施形態では、ＷＬｎ＋１に対して実行される読み出し動作によって、ＷＬｎ＋１上の電荷レベルを決定し、それはＷＬｎ＋１上に記憶されたデータを正確に反映していても反映していなくてもよい。ステップ１００２では、ステップ１０００の結果を、各ビットラインの適切なラッチ内に記憶する。ステップ１００４では、読み出されるページに関連したワードラインに読み出し基準電圧Ｖｒｂを印加する。ステップ１００６では、検出モジュールを用いて、これまで説明したようにデータを検出する。ステップ１００８では、状態Ｅのデータを記憶している隣接メモリセルに関連したビットラインに対して、ステップ１００６の結果を記憶する。ステップ１０１０では、Ｖｒｂ＋第１オフセット（例えば、０．１Ｖ又はいくつかの他の適切な値）をワードラインに印加する。ステップ１０１２では、これまでに説明したようにデータを検出する。ステップ１０１４では、状態Ａのデータを記憶している隣接セルに関連したビットラインに対して、検出ステップ１０１２からの結果を記憶する。ステップ１０１６では、読み出されるページに関連したワードラインにＶｒｂ＋第２オフセット（例えば、０．２Ｖ又は別の適切な値）を印加する。ステップ１０１８では、これまで説明したようにデータを検出する。ステップ１０２０では、状態Ｂの隣接セルに関連したビットラインに対して、ステップ１０１８の結果を記憶する。ステップ１０２２では、読み出されるページに関連したワードラインにＶｒｂ＋第３オフセット（例えば、０．３Ｖ又は他の適切な値）を印加する。ステップ１０２４では、これまで説明したようにデータを検出する。ステップ１０２６では、状態Ｃのデータを記憶している隣接メモリセルに関連したビットラインに対して、ステップ１０２４の結果を記憶する。ステップ１０２８では、処理装置３９２は、記憶した検出データに基づいてデータ値を決定する。メモリセルがＶｒｂ（又はＶｒｂ＋適切なオフセット）に応じてオンになる場合、上側ページのデータは「１」である。メモリセルがＶｒｂ（又はＶｒｂ＋適切なオフセット）に応じてオンにならない場合、上側ページのデータは「０」である。ステップ１０３０では、ユーザと通信するためのデータラッチ内に、処理装置３９２によって決定されたデータ値を記憶する。
【０１３９】
別の実施形態では、データを回復するために図２５と２６の方法を用いるのではなく、データを読み出す要求に応じて行った最初のデータ読み出しに対して図２５と２６の方法が用いられる。
【０１４０】
図２５と２６は、図１８の上側ページと下側ページを用いて、プログラムされるデータを読み出すためのものである。図２５と２６のこれらの２つの方法は、全ビットラインプログラミング、又は奇数／偶数ビットラインプログラミングによってプログラムされたデータを読み出すために用いられる。全ビットラインプログラミングと共に用いられる場合、全ビットラインが同時に読み出される。奇数／偶数ビットラインプログラミングと共に用いられる場合、第１の時点で偶数ビットラインを同時に読み出し、異なる時点で奇数ビットラインを同時に読み出す。
【０１４１】
図２７〜３６は、図１９Ａ〜１９Ｃに関連した方法に従ってプログラムしたデータを読み出すために用いられる処理を説明している。図２７の処理は、ＥＣＣを用いる前に、それとは別個に及び／又はそれとともにデータの１つ以上のページ（又は他のグループ）に対する読み出し要求に応じて実行されるデータを読み出すための処理全体として実施される。他の実施形態では、図２７の処理は、図２１のデータ回復ステップ８２０の１部として実行される。図１９の処理に従ってプログラムしたようなデータを読み出す場合、問い合わせ中のセルの上側ページをプログラムするときに、隣接セルの下側ページをプログラムするためのフローティングゲート間結合による任意の摂動が補正される。従って、隣接セルからのフローティングゲート間結合効果を補償しようとするときに、処理は、隣接セルの上側ページのプログラムによる結合効果を考慮するだけでよい。従って、図２７のステップ１０６０では、処理は、隣接ワードラインの上側ページのデータを読み出す。隣接ワードラインの上側ページがプログラムされていなかった場合（ステップ１０６２）、フローティングゲート間結合効果を補償することなく、考慮中のページが読み出される（ステップ１０６４）。隣接ワードラインの上側ページがプログラムされていた場合（ステップ１０６２）、ステップ１０６６でフローティングゲート間結合効果の補償を用いて、考慮中のページを読み出すべきである。いくつかの実施形態では、隣接ワードラインに対して実行される読み出し動作によって、隣接ワードライン上の電荷レベルを決定し、それは前記隣接ワードライン上に記憶されたデータを正確に反映していても反映していなくてもよい。
【０１４２】
一実施形態では、図１９のプログラミング処理を実施したメモリアレイは、１つ以上のフラグを記憶するためのメモリセルの集合を確保できる。例えば、１列のメモリセルを用いて、メモリセルの各行の下側ページがプログラムされたか否かを示すフラグを記憶でき、別の列のメモリセルを用いて、メモリセルの各行の上側ページがプログラムされたか否かを示すフラグを記憶できる。いくつかの実施形態では、重複セルを用いてフラグのコピーを記憶できる。適切なフラグを確認することによって、隣接ワードラインの上側ページがプログラムされたか否かを決定できる。プログラミングのこのようなフラグ及び処理についてのさらなる詳細は、Ｓｈｉｂａｔａらの米国特許第６，６５７，８９１号、「Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ  Ｆｏｒ  Ｓｔｏｒｉｎｇ  Ｍｕｌｔｉ−Ｖａｌｕｅｄ  Ｄａｔａ」に記載されている。その全体は、参照により本明細書に組み込まれる。
【０１４３】
図２８は、隣接ワードラインの上側ページのデータを読み出す処理の一実施形態を説明している（図２７のステップ１０６０）。ステップ１１００では、読み出されるページに関連したワードラインに、読み出し基準電圧Ｖｒｃを印加する。ステップ１１０２では、これまで説明したようにビットラインを検出する。ステップ１１０４では、ステップ１１０２の結果を適切なラッチ内に記憶する。下側ページのデータは通常は既にＷＬｎ＋１内に書き込まれているので、上側ページのデータを一意的な決定するために最初にＶｒｃを読み出すことが選択され、分布７５０（図１９Ｃ）はＶｒａ又はＶｒｂの値と重なっていてもよいので、Ｖｒａ又はＶｒｂの値を読み出すことは一意的な結果を保証しない。
【０１４４】
ステップ１１０６では、システムは読み出されるページに関連した上側ページのプログラミングを示すフラグを確認する。一実施形態では、フラグを記憶するメモリセルは、フラグが設定されていない場合は状態Ｅにデータを記憶し、フラグが設定されている場合は状態Ｃに記憶する。従って、ステップ１１０２において特定のメモリセルを検出するときに、メモリセルが導通している（オンになっている）場合、メモリセルは状態Ｃにデータを記憶しないでフラグは設定されない。メモリセルが導通していない場合、ステップ１１０６において、上側ページがプログラムされていることをメモリセルが示していると仮定される。
【０１４５】
別の他の実施形態では、フラグは１バイト内に記憶する。状態Ｃに全てのビットを記憶するのではなく、そのバイトはフラグを表し、状態マシン３１２にとって既知の１意的な８ビットコードを含み、８ビットコードは状態Ｅに少なくとも１ビット、状態Ａに少なくとも１ビット、状態Ｂに少なくとも１ビット、状態Ｃに少なくとも１ビットを有する。上側ページがプログラムされていない場合、メモリセルのバイトは全て状態Ｅである。上側ページがプログラムされていれば、メモリセルのバイトはそのコードを記憶する。一実施形態では、ステップ１１０６は、コードを記憶するバイトの任意のメモリセルが、Ｖｒｃに応じてオンにならないか否かを確認することによって実行される。別の実施形態では、ステップ１１０６は、フラグを記憶するメモリセルのバイトのアドレス及び読み出しを行って状態マシンにデータを送ることを含み、それはメモリセル内に記憶したコードが状態マシンによって期待されるコードに一致するか否かを検証する。一致すれば、状態マシンは上側ページがプログラムされていると結論付ける。
【０１４６】
フラグが設定されていない場合（ステップ１１０８）、図２８の処理は上側ページがプログラムされていないという結論で終了する。フラグが設定されていれば（ステップ１１０８）、上側ページがプログラムされていると仮定し、ステップ１１２０において、読み出されるページに関連したワードラインに読み出し電圧Ｖｒｂを印加する。ステップ１１２２では、これまでの説明のようにビットラインを検出する。ステップ１１２４では、ステップ１１２２の結果を適切なラッチ内に記憶する。ステップ１１２６では、読み出されるページに関連したワードラインに読み出し基準電圧Ｖｒａを印加する。ステップ１１２８ではビットラインを検出する。ステップ１１３０では、適切なラッチ内にステップ１１２８の結果を記憶する。ステップ１１３２では、処理装置３９２は３つの検出ステップ１１０２、１１２２及び１１２８の結果に基づいて、読み出されるメモリセルの各々によって記憶されたデータ値を決定する。ステップ１１３４では、ユーザへの最終的な通信用の適切なデータラッチ内に、ステップ１１３２で決定したデータ値を記憶する。ステップ１１３２では、処理装置３９２は、選択した特定の状態符号化に依存してよく知られた簡単なロジック技術を用いて、上側ページ及び下側ページのデータ値を決定する。例えば、図１９で説明した符号化の場合、下側ページのデータはＶｒｂ＊（Ｖｒｂを読み出す際に記憶される値の補数）であり、上側ページのデータはＶｒａ＊ＯＲ（ＶｒｂとＶｒｃ＊）である。図２０の処理は（ここではＷＬｎ＋１を読み出すために用いられるように説明されているが）、以降に説明するようにＷＬｎを読み出すために用いることもできる。図２７のステップ１１６０のようにＷＬｎ＋１を読み出すために用いる場合、望まれるものは単なるデータだけではなく、上側ページのデータの存在を決定することである。この決定は、以降の図３１で説明する方法を用いて実行される。当然のことながら、ＷＬｎ＋１を読み出す際にＶｒａ、Ｖｒｂ、及びＶｒｃに対して選択される値は、ＷＬｎを読み出す際に選択されるものとは異なっていてもよい。
【０１４７】
図２９は、システムが、隣接ワードラインからのフローティングゲート間結合を補償する必要がない場合（図２７のステップ１０６４を参照）に、考慮中のワードラインのデータを読み出す処理の一実施形態を説明するフローチャートである。ステップ１１５０では、読み出しが、考慮中のワードラインに関連した上側ページであるのか下側ページであるのかを決定する。読み出しが下側ページである場合、ステップ１１５２では、読み出されるページに関連したワードラインに、読み出し基準電圧Ｖｒｂを印加する。ステップ１１５４では、ビットラインを検出する。ステップ１１５６では、検出ステップ１１５４の結果を適切なラッチ内に記憶する。ステップ１１５８では、フラグを確認し、そのページが上側ページのデータを含むか否かを決定する。フラグがない場合、現在の任意のデータは中間状態であり、Ｖｒｂは誤って使用した閾値であり、処理はステップ１１６０に続く。ステップ１１６０ではワードラインにＶｒａを印加し、ステップ１１６２でビットラインを再検出し、ステップ１１６４で結果を記憶する。ステップ１１６６（ステップ１１６４又はステップ１１５８でフラグが設定されている場合のいずれかの後）では、処理装置３９２は記憶されるデータ値を決定する。一実施形態では、下側ページを読み出すときに、メモリセルがワードラインに印加されるＶｒｂ（又はＶｒａ）に応じてオンになる場合は、下側ページのデータは「１」であり、そうでない場合は、下側ページのデータは「０」である。
【０１４８】
ページアドレスが上側ページに対応することが決定された場合（ステップ１１５０）、ステップ１１７０において上側ページの読み出し処理が実行される。一実施形態では、ステップ１１７０の上側ページの読み出し処理は、図２８で説明したものと同じ方法を含み、書き込まれていない上側ページが読み出し又は他の理由でアドレスされる可能性があるので、それはフラグ及び３つの全ての状態の読み出しを含んでいる。
【０１４９】
図３０は、フローティングゲート間結合効果を補償しながら、データを読み出す処理の一実施形態を説明するフローチャートを示している（図２７のステップ１０６６を参照）。図３０のステップ１２００では、システムは、フローティングゲート間結合を補償するためにオフセットを用いるか否かを決定する。これは、各ビットラインに対して別個に実行される。適切な処理装置３９２は、隣接ワードラインからのデータに基づいて、どのビットラインがオフセットを用いる必要があるかを決定する。隣接ワードラインが状態Ｅ又はＢである（又は状態Ｅ又はＢを明らかに示す電荷を有する）場合、読み出される特定のワードラインは、フローティングゲート間結合効果を補償する必要はない。その仮定は、状態Ｅであれば、現在のワードラインが書き込まれてから閾値が移動していないので、結合に寄与していないということである。状態Ｂであれば、それはＢ’からそこに到達し、Ｂ’からＢへの移動は小さく、そして無視できる。一実施形態では、ステップ１２００の処理はステップ１０６０と同時に実行される。例えば、図３１は、特定のビットラインに対してオフセットを用いるか否かを決定するためのステップを説明するチャートを提供する。ステップ１は、Ｖｒａを用いて読み出し処理を実行することである。ステップ２は、Ｖｒｂを用いて読み出しを実行することである。Ｖｒａを読み出す際、メモリセルが状態Ｅであればラッチは１を記憶し、メモリセルが状態Ａ、Ｂ、又はＣであれば０を記憶する。Ｖｒｂを読み出す際、状態ＥとＡに対してはラッチは１を記憶し、状態ＢとＣに対しては０を記憶する。図３１のステップ３は、ステップ１からの結果とステップ２からの結果を反転させたものについてＸＯＲ演算を実行することを含んでいる。ステップ４では、そのワードラインにおいてＶｒｃを用いて読み出しを実行する。ラッチは状態Ｅ、Ａ及びＢに対しては１を記憶し、状態Ｃに対しては０を記憶する。ステップ５では、ステップ４とステップ３の結果を、論理ＡＮＤ演算によって演算する。なお、ステップ１、２及び４は、図２８の一部として実行することもできる。図３１のステップ３と５は、専用ハードウェア又は処理装置３９２によって実行される。ステップ５の結果はラッチ内に記憶し、オフセットが不要な場合は１を記憶し、オフセットが必要な場合は０を記憶する。オフセットは、フローティングゲート間結合を補償するために用いられる。従って、ＷＬｎ上で読み出されるセルに対して読み出しオフセットが要求され、それらのセルは状態Ａ又はＣであるＷＬｎ＋１上に隣接メモリセルを有する。本方式は、ＷＬｎを補正するか否かを決定するために１つのラッチしか必要としないが、ＷＬｎ＋１からの全データを記憶する従来の方法では２つ以上のラッチを必要とする。
【０１５０】
図３０のステップ１２０２を見直すと、読み出されるページが上側ページであるか下側ページであるかが決定される。読み出されるページが下側ページであれば、読み出されるページに関連したワードラインにＶｒｂを印加する（ステップ１２０４）。なお、図１９で説明した二値状態符号化の場合、下側ページのデータの決定にはＶｒｂの読み出しで十分であるが、図１７及び１８で説明した二値状態符号化では、上側ページのデータを決定するためにＶｒｂの読み出しが使用される。ステップ１２０６では、ビットラインを検出する。ステップ１２０８では、ビットラインに関連した適切なラッチ内にステップ１２０６の結果を記憶する。ステップ１２１０では、読み出されるワードラインにＶｒｂ＋オフセットを印加する。ステップ１２１２では、ビットラインを検出する。ステップ１２１４では、オフセットを用いるためにステップ１２００において決定したビットラインに対してステップ１２０８で記憶した結果を上書きするために、ステップ１２１２の検出結果が用いられる。特定のビットラインがオフセットを用いる必要がないと決定された場合、ステップ１２１２からのデータは記憶されない。ステップ１２１６では、処理装置３９２は、下側ページに対するデータが１であるか０であるかを決定する。メモリセルがＶｒｂ（又は、適切な場合はＶｒｂ＋オフセット）に応じてオンになる場合は、下側ページは１であり、そうでない場合は、下側ページは０である。ステップ１２１８において、ユーザと通信するための適切なラッチ内に下側ページのデータを記憶する。
【０１５１】
ステップ１２０２において、読み出されるページが上側ページであることが決定されれば、ステップ１２２０で上側ページ補正処理が実行される。図３２は、上側ページ補正処理を説明するフローチャートを提供する。図３２のステップ１２５０では、読み出されるページに関連したワードラインに読み出し基準電圧Ｖｒｃを印加する。ステップ１２５２ではビットラインを検出する。ステップ１２５４では、適切なラッチ内に検出ステップの結果を記憶する。ステップ１２５６では、読み出されるページに関連したワードラインにＶｒｃ＋オフセット（例えば、０．１Ｖ）を印加する。ステップ１２５８ではビットラインを検出する。ステップ１２６０では、検出ステップ１２５８の結果を用いて、オフセットを必要とする（ステップ１２００を参照）任意のビットラインに対して、ステップ１２５４で記憶した結果を上書きする。ステップ１２７０ではワードラインにＶｒｂを印加する。ステップ１２７２ではビットラインを検出する。ステップ１２７４では、検出ステップ１２７２の結果を記憶する。ステップ１２７６では、読み出されるページに関連したワードラインにＶｒｂ＋オフセットを印加する。ステップ１２７８ではビットラインを検出する。ステップ１２８０では、ステップ１２７８の結果を用いて、オフセットを必要とする（ステップ１２００を参照）ビットラインに対して、ステップ１２７４で記憶した結果を上書きする。ステップ１２８２では、読み出されるページに関連したワードラインにＶｒａを印加する。ステップ１２８４ではビットラインを検出する。ステップ１２８６では、検出ステップ１２８４の結果を適切なラッチ内に記憶する。ステップ１２８８では、読み出されるページに関連したワードラインにＶｒａ＋オフセットを印加する。なお、ステップ１２８８、１２８０及び１２５６で用いられるオフセットは同じであり、状態Ｅから状態Ａに移動する際のＷＬｎ＋１の上側ページをプログラムすることに起因するＷＬｎの結合は、状態Ｂ’からＣに移動する際とほぼ同じことを暗示的に仮定している。他の実施形態では、オフセットは異なっていてもよい。ステップ１２９０ではビットラインを検出する。ステップ１２９２では、ステップ１２９０の結果を用いて、オフセットを必要とする（ステップ１２００を参照）ビットラインに対して、ステップ１２８６で記憶した結果を上書きする。いくつかの実施形態では、状態Ｅと状態Ａの間のマージンは、Ｖｒａに関連したオフセットが不要なほど十分であり、ステップ１２８８から１２９２は省略できる。ステップ１２９４では、処理装置３９２は、図２８に対して既に説明したものと同様に、又は技術的に知られている別の方法でデータ値を決定する。ステップ１２９６では、ユーザと通信するための適切なデータラッチ内に処理装置３９２で決定したデータ値を記憶する。他の実施形態では、読み出し順（Ｖｒｃ、Ｖｒｂ、Ｖｒａ）は変更できる。
【０１５２】
図２７に対してのこれまでの説明では、１ページのデータを読み出すことを含むような一例を議論している。データを読み出す要求が、複数のページのデータを読み出すことを求める可能性もあるが必須ではない。一実施形態では、複数のページを読み出す処理を高速化するために、ユーザが前のページのデータを転送しながら状態マシンが次のページの検出を実行するように、読み出し処理をパイプラインすることができる。このような実装では、フラグフェッチ処理（例えば、図２８のステップ１００６を参照）は、パイプライン型読み出し処理を遮断する可能性がある。このような遮断を避けるために、一実施形態では、所定のページを読み出す際にそのページのフラグを読み出し、上記のワイヤードＯＲ検出処理を用いてフラグを確認する（フラグを読み出し、それを状態マシンに送るのではない）ことを想定している。例えば、図２７のステップ１０６０（隣接ワードラインを読み出す）間に、処理は、まず基準電圧としてＶｒｃを用いてデータを読み出す。その時点で、各状態がデータ１を記憶していることをワイヤードＯＲラインが示している場合、上側ページはプログラムされておらず、従って補償は必要とされず、システムはフローティングゲート間結合を補償することなく読み出す（ステップ１０６４）。フラグが各データ状態内にデータを含む１バイトコードである場合、フラグが設定されていれば、少なくともフラグのメモリセルは状態Ｃのデータを有する。どのメモリセルも状態Ｃのデータを有していないことをワイヤードＯＲラインが示す場合、フラグが設定されていないと状態マシンは結論付け、従って、隣接ワードラインの上側ページはプログラムされておらず、フローティングゲート間結合の補償は必要とされない。
【０１５３】
図３２Ａは、これまでに説明したようにパイプライン型の読み出しを実行する一実施形態を説明するタイミング図である。図３２Ａは、２つの信号を示している。信号１３００はメモリシステムから制御部（又はホスト／ユーザ）に通信される準備／ビジー信号を表しており、低のときはメモリシステムがＩ／Ｏライン３２０にデータを送る準備がまだできていないことを示し、高のときはデータを転送できることを示している。図３２Ａは、ワードラインＷＬｎ、ＷＬｎ＋１、ＷＬｎ＋２、…に沿ったメモリセルの下側ページと上側ページに関する読み出し要求に応じたパイプライン型の読み出し処理を示している。信号１３００は最初に期間１３００Ａを有し、それはユーザに通信するために準備される第１のデータの集合を待機させることに対応する。期間１３００Ｂの間は、ワードラインＷＬｎに接続したメモリセルの下側ページに記憶したデータが、Ｉ／Ｏライン３２０を介してユーザに転送される。期間１３００Ｃの間は、ワードラインＷＬｎに接続したメモリセルの上側ページに記憶したデータが、Ｉ／Ｏライン３２０を介してユーザに転送される。次の期間の間は、ワードラインＷＬｎ＋１に接続したメモリセルの下側ページに記憶したデータが、転送される等となる。
【０１５４】
図３２Ａの信号１３０２は、メモリシステム内で発生するものの象徴である。読み出される第１データは、ワードラインＷＬｎに接続したメモリセルの下側ページである。期間１３０２Ａの間に、隣接ワードラインＷＬｎ＋１が読み出される（例えば、Ｖｒａ、Ｖｒｂ及びＶｒｃの３つの読み出し動作）。期間１３０２Ｂの間に、フラグをフェッチして状態マシンに通信し、上側ページがプログラムされたかどうかを決定する。なお、パイプラインは開始していないので状態マシンは読み出しフェッチを実行できる。また、Ｖｒｃの読み出し後に、（これまでに説明した）ワイヤードＯＲ処理を用いてフラグを確認できる。ステップ１３０２Ｃでは、フラグの状態によって決定されるように、必要であれば補償を用いてＷＬｎの下側ページを読み出す。期間１３０２Ｄの間、ＷＬｎの下側ページのデータを出力レジスタに配置する。
【０１５５】
期間１３０２Ｅでは、隣接ワードラインＷＬｎ＋１を読み出す（例えば、Ｖｒａ、Ｖｒｂ及びＶｒｃの３つの読み出し動作）。このステップは、前に既に実行されているので必要とされない場合もある。しかし、１３０２Ｅ、１３０２Ｆ、及び１３０２Ｇに関連した時間はステップ１３００Ｂに関連したものより一般的に短いので、動作の整合性のために実行される場合もある。さらに、いくつかの実施形態では、ＷＬｎとＷＬｎ＋１の両方に関連したデータを同時に保存するために利用可能なラッチは十分なくてもよい。期間１３０２Ｆの間、Ｖｒｃの読み出し後にワイヤードＯＲ処理を実行することによってＷＬｎ＋１のフラグを読み出し、それによってパイプラインを停止する全フラグフェッチを避ける。期間１３０２Ｇの間に、必要に応じて補償を用いてＷＬｎの上側ページを読み出す。期間１３０２Ｈの間に、内部ラッチから出力レジスタにＷＬｎの上側ページのデータを転送しながら信号１３０２を低下させる。
【０１５６】
ＷＬｎの下側ページと上側ページを読み出した後、読み出しデータの全てがユーザに提供されるまで、システムはＷＬｎ＋１などの下側ページと上側ページを読み出す。期間１３０２Ｉの間に、新しい隣接ワードラインＷＬｎ＋２を読み出す（例えば、Ｖｒａ、Ｖｒｂ及びＶｒｃの３つの読み出し動作）。期間１３０２Ｊの間、Ｖｒｃにおける読み出し後にワイヤードＯＲ処理を実行することによってＷＬｎ＋２のフラグを読み出し、それによってパイプラインを停止する全フラグフェッチを避ける。期間１３０２Ｋの間に、必要に応じて補償を用いてＷＬｎ＋１の下側ページを読み出す。処理は、これまでに議論したように継続する。いくつかの実施形態では、ＷＬｎ＋１のデータを１度読み出し、その後、ＷＬｎの上側ページと下側ページのデータを読み出し、上側ページを後で再読み出しするのではなくそれを保存しておくことによって、読み出し回数を低減することも有用である。読み出しステップの回数を低減する１つの利点として、消費電力を最小限にすることができる。
【０１５７】
これまでの実施形態は、異なる基準点において複数の読み出しを用いる。これはフローティングゲート間結合を補償するための正確な手段を提供するが、読み出し処理に余計な時間を加える。別の実施形態は、検出増幅部を修正して補正機能を追加することである。隣接ワードラインのデータに依存して異なる起動点を検出するように検出増幅部を修正できる場合、単一の検出動作で最終的な補正データを与えることができる。本方法は、確実であり時間も節約できる。欠点は、検出増幅部のレイアウト面積が増大することでる。
【０１５８】
図８を見直すと、検出起動点は検出増幅部６００のキャパシタＣＳＡ６５２に基づいて設定される。隣接ワードラインからのデータに依存してＳＥＮノード上の異なるキャパシタを用いることによって、同じ検出処理に対して異なる起動点が設定される。補正が必要とされない場合、大きなキャパシタを用いる。補正が必要とされる場合、より小さなキャパシタを用いる。図３３は、図８の検出モジュール３８０と同様の検出モジュール３８０’を示している。しかしながら、検出増幅部６００’は、隣接ワードラインからのデータに基づいて接続されたり接続されなかったりする追加のキャパシタ１３８２を有する。キャパシタ１３８２は、トランジスタ１３８０を介してＳＥＮモードに接続する。トランジスタ１３８０は、トランジスタ１３８４とゲート５３０を介して読み出しバス５３２に接続する。隣接ワードラインからのデータは、読み出しバス５３２とトランジスタ１３８４を介してトランジスタ１３８０のノードＣに提供される。データ１がノードＣに提供される場合、隣接メモリセルからのフローティングゲート間結合による補正は必要とされない。データ０がノードＣに提供される場合、補正が必要とされる。補正が必要とされない場合、キャパシタ１３８２は、ＳＥＮノードに電気的に接続される。補正が必要とされる場合、キャパシタ１３８２は、ＳＥＮノードから切断される。余分なキャパシタがＳＥＮノードに接続されない場合、より高い（撹乱された）閾値を備えたより小さなセル電流が、より高いキャパシタを充電するより低い（撹乱されていない）閾値状態と等価的にキャパシタ上の電圧を充電する。
【０１５９】
図３３は追加のキャパシタを選択的に追加することを示しているが、他の実施形態では異なる補償効果を実現するためにより多くのキャパシタを選択的に追加できる。さらに、いくつかの実施形態は、各々の可能性（例えば、補償なし、補償１、補償２、…）で異なるキャパシタの集合を接続するように、ＳＥＮノードに接続される全てのキャパシタを選択的に結合させる。いくつかの実装形態では、他の容量性素子を用いることもできる。
【０１６０】
図３４は、図３３の２つのキャパシタを用いる一実施形態を説明するフローチャートを提供する。図３４の方法は、図３０の方法に対する代替実施形態を提供する。図３４のステップ１３２０では、その特定のビットラインに対してオフセットを用いるか否かに基づく決定を、ビットライン上で実行する。これは、図３０のステップ１２００と同様である。ステップ１３２２では、読み出し処理が下側ページであるか上側ページであるかを決定する。読み出し処理が下側ページであれば、方法はステップ１３２４に続く。オフセットが必要であれば、ＳＥＮ２ノードから追加のキャパシタが切断される。オフセットが必要とされない場合、追加のキャパシタはＳＥＮ２ノードに接続されたままである。ステップ１３２６では、読み出されるページに関連したワードラインにＶｒｂを印加する。ステップ１３２８ではビットラインを検出する。ステップ１３３０では検出ステップ１３２８の結果を記憶する。ステップ１３３２では、処理装置３９２は記憶されるデータ値を決定する。一実施形態では、下側ページを読み出す際、メモリセルがワードラインに印加されるＶｒｂに応じてオンになる場合は、下側ページのデータは「１」であり、そうでなければ、下側ページのデータは「０」である。ステップ１３３４では、ユーザが読み出すための適切なラッチ内に、プロセッサによって決定されたデータ値を記憶する。
【０１６１】
読み出し処理が上側ページに対するものであることが決定された場合（ステップ１３２２）、処理はステップ１３４０に継続する。オフセットが必要とされることをステップ１３２０で結論付けた場合、追加のキャパシタは切断される（ステップ１３４０）。オフセットが必要とされない場合、追加のキャパシタはＳＥＮ２ノードに接続されたままである。ステップ１３４２では、図２８に対してこれまで説明したように、上側ページ読み出し処理を実行する。
【０１６２】
これまで説明したように、多数のメモリセルを並列に検出する際、それらを組み合わせた電流は、著しい電圧降下と有限の抵抗を備えた接地ループをもたらす可能性がある。これは、ソースラインバイアスをもたらす。一実施形態では、このソースラインバイアスを用いてフローティングゲート間結合効果を補償する。ソースラインバイアスを考慮するこれまで説明した一実施形態は、複数の検出ステップ（ストローブとも呼ばれる）を含んでいる。第１ストローブの間、全ての適切なビットラインをソースラインに接続する。第２ストローブの間、より小さなサブセットのビットラインをソースラインに接続する。第１ストローブは高いソースラインオフセット電圧を用いて実行され、それは導通しているセルが、ソースライン電圧オフセットがないものよりも実際には導通していないことを示す。これは、より高い値への閾値電圧のシフトと等価である。提案された処理は、第１ストローブでデータラッチ内にデータを無条件で保存することである。第２ストローブでは、読み出されるワードライン上のいくつかのセルが、隣接ワードラインとのフローティングゲート間結合効果による補償を必要とするか否かを確認する。必要な場合は、補正を必要とするセルに対する第２ストローブからのデータを用いて、第１ストローブからのデータを上書きする。補正を必要としないセルに対してはデータを上書きせず、第２ストローブからのデータは破棄する。本方法を用いる１つの利点は、データ補正が通常の読み出しルーチン内に隠されるので読み出し時間を低減することである。
【０１６３】
ソースラインバイアス法の欠点は、オフセットの値がデータパターンに依存することである。所定の検出レベルにおける導通セルが多いほどソース電圧は大きくなり、より多くの補正が実行される。所定の検出レベルにおける導通セルが少ないほどソース電圧は小さくなり、より少ない補正が実行される。各ページが完全にランダムなデータを有すると仮定すると、シフトは各ページに対してほぼ一定値となる。メモリセル毎に２つのビットを用いる場合、２５％のビットラインが状態Ｅ、２５％が状態Ａ、２５％が状態Ｂ、２５％が状態Ｃとなる。Ｖｒａを読み出すと、ビットラインの２５％が導通している。Ｖｒｃを読み出すと、ビットラインの７５％が導通しており、状態Ａを読み出す場合より状態Ｃを読み出す場合の方がより多くの補正となる。
【０１６４】
図３５は、これまでに説明した２つのストローブサイクルを用いることに基づく補償（ステップ１０６６を参照）を備えた読み出しの一実施形態を説明するフローチャートを提供する。ステップ１４００では、システムは特定のビットラインに対するオフセットを選択するかどうかを決定する。これは、これまでに説明したステップ１２００と同様である。読み出し処理が下側ページに対する場合（ステップ１４０２）、処理はステップ１４０４に継続する。読み出し処理が上側ページに対する場合、処理はステップ１４２４に継続する。ステップ１４０４では、読み出されるページに関連したワードラインに基準電圧Ｖｒｂを印加する。ステップ１４０６ではビットラインを検出する。ステップ１４０８では、適切なラッチ内に検出ステップ１４０６の結果を記憶する。ステップ１４０４〜１４０８は第１ストローブである。ステップ１４１０では、第１ストローブ中に高電流を有すると決定されたビットラインは、第２ストローブに対してオフにされる。ステップ１４１２では、ワードラインにＶｒｂを印加することによって第２ストローブを開始する。ステップ１４１４ではビットラインを検出する。ステップ１４１６では、補正を必要とするビットラインは、ステップ１４１４からのデータを用いてステップ１４０８からのデータを上書きする。ステップ１４１８では、処理装置３９２は記憶されるデータ値を決定する。一実施形態では、下側ページを読み出す際、メモリセルがワードラインに印加されるＶｒｂに応じてオンになる場合は、下側ページのデータは「１」であり、そうでなければ、下側ページのデータは「０」である。ステップ１４２０では、ユーザとの通信の適切なラッチ内に、決定したデータ値を記憶する。
【０１６５】
図３６は、ソース電流に基づく補正ありで上側ページの読み出し（図３５のステップ１４２４）を実行する処理の一実施形態を説明するフローチャートを提供する。ステップ１５０２では、読み出されるページに関連したワードラインに基準電圧Ｖｒｃを印加する。ステップ１５０４ではビットラインを検出する。ステップ１５０６では適切なラッチ内に結果を記憶する。ステップ１５０８では、高電流を備えたビットラインを第２ストローブに対してオフにする。第１ストローブは、ステップ１５０２〜１５０６を含んでいる。ステップ１５１０では、同じワードラインにＶｒｃを印加することによって第２ストローブを開始する。ステップ１５１２では、ビットラインを検出する。ステップ１５１４では、補正を必要とするビットラインに対するステップ１５１２の結果によって、ステップ１５０６内に記憶された結果を上書きする。ステップ１５１６では、システムは、これまで説明したように上側ページのプログラミング用のフラグを確認する。フラグが設定され、上側ページにプログラムされたデータがあることを示す場合、処理はステップ１５２２に継続する。フラグが設定されていない場合、ステップ１５２０において図３６の処理は終了し、上側ページはプログラムされていないと結論付ける。これまでに説明したフラグを確認するための他の処理又はタイミングを用いることもできる。
【０１６６】
ステップ１５２２では、読み出されるページに関連したワードラインにＶｒｂを印加することによって第１ストローブを実行する。ステップ１５２４ではビットラインを検出する。ステップ１５２６では適切なラッチ内に結果を記憶する。ステップ１５２８では、第１ストローブ内の高電流を備えたビットラインを、第２ストローブに対してオフにする。ステップ１５４０では、ワードラインにＶｒｂを印加することによって第２ストローブを開始する。ステップ１５４２ではビットラインを検出する。ステップ１５４４では、オフセットを必要とするビットラインに対するステップ１５４２からの結果によって、ステップ１５２６からの結果を上書きする。ステップ１５４６では、読み出されるページに関連したワードラインにＶｒａを印加することによって、第１ストローブを実行する。ステップ１５４８ではビットラインを検出する。ステップ１５５０ではステップ１５４８からの結果を記憶する。ステップ１５５２では、第１ストローブ中の高電流を備えたビットラインを第２ストローブに対してオフにする。ステップ１５５４では、ワードラインにＶｒａを印加することによって第２ストローブを開始する。ステップ１５５６ではビットラインを検出する。ステップ１５５８では、オフセットを必要とするビットラインに対するステップ１５５６からの結果によって、ステップ１５５０で記憶した結果を上書きする。いくつかの実施形態では、状態Ｅと状態Ａの間のマージンはＶｒａに関連したオフセットが不要なほど十分であり、ステップ１５５２から１５５８を省略できる。ステップ１５６０では、処理装置３９２は、ラッチ内に記憶された結果に基づいて記憶されるデータ値を決定する。これは、ステップ１１３２に対してこれまでに説明したように実行される。処理装置３９２によって決定されたデータ値は、ステップ１５６２で適切なラッチ内に記憶する。
【０１６７】
フローティングゲート間結合効果を反転させることができる結果、閾値電圧分布の間のマージンをより小さくできるか、又はメモリシステムをより高速にプログラムできる。
【０１６８】
これまでの実施形態では、４つの状態で記憶されたデータを読み出すために、隣接ワードラインに対して３つの追加の読み出しがあった。他の実施形態では、３つ未満の読み出しを実行することができ、それによって用いられる異なるオフセットの数を低減できる。これは、オフセットの分解能を低減することをもたらす。さらに、３つより多い読み出しを用いて、オフセットのより精密な調整を有することができる。いくつかの実施形態では、これまで説明した処理の一部はチップ外で実行することもできる。
【０１６９】
本発明の以上の詳細な説明は、例示及び説明の目的で提示してきた。それは包括的なものではなく、開示された正確な形態に本発明を限定するものでもない。以上の開示内容の観点から、多くの修正及び変更が可能である。開示した実施形態は、本発明の原理及びその実際の用途を最も説明するように選択し、それによって当業者は様々な実施形態で、及び想定される特定の用途に適応するように様々な修正とともに本発明を利用できる。本発明の範囲は、ここに添付される請求項によって定義されるものとする。
【図面の簡単な説明】
【０１７０】
【図１】ＮＡＮＤストリングの平面図を示す。
【図２】ＮＡＮＤストリングの等価回路図を示す。
【図３】ＮＡＮＤストリングの断面図を示す。
【図４】ＮＡＮＤフラッシュメモリセルアレイのブロック図を示す。
【図５】不揮発性メモリシステムのブロック図を示す。
【図６】不揮発性メモリシステムのブロック図を示す。
【図７】検出ブロックの一実施形態を表すブロック図を示す。
【図８】検出モジュールの一実施形態の概略図を示す。
【図９】検出モジュールの動作の一部を説明する表を示す。
【図１０】検出モジュールの動作を説明するタイミング図を示す。
【図１１】共通ソースライン上の電圧を説明するブロック図を示す。
【図１２】ソースラインに接続したメモリセルを示す。
【図１３】様々な閾値電圧分布を示す。
【図１４】検出モジュールの動作の一部を説明するタイミング図を示す。
【図１５】不揮発性メモリをプログラムする処理の一実施形態を説明するフローチャートを示す。
【図１６】不揮発性メモリセルの制御ゲートに印加される波形の一例を示す。
【図１７】閾値電圧分布の集合の一例を示す。
【図１８】閾値電圧分布の集合の一例を示す。
【図１９Ａ】様々な閾値電圧分布を示して不揮発性メモリをプログラムする処理を説明する図を示す。
【図１９Ｂ】様々な閾値電圧分布を示して不揮発性メモリをプログラムする処理を説明する図を示す。
【図１９Ｃ】様々な閾値電圧分布を示して不揮発性メモリをプログラムする処理を説明する図を示す。
【図２０Ａ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｂ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｃ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｄ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｅ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｆ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２０Ｇ】様々な実施形態における不揮発性メモリのプログラム順を説明する表を示す。
【図２１】不揮発性メモリを読み出す処理の一実施形態を説明するフローチャートを示す。
【図２２】不揮発性メモリの読み出し動作を実行する処理の一実施形態を説明するフローチャートを示す。
【図２３】データを回復する処理の一実施形態を説明するフローチャートを示す。
【図２４】複数のワードラインからのデータを回復する処理の一実施形態を説明するフローチャートを示す。
【図２５】下側ページからデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図２６】上側ページからデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図２７】データを読み出す処理の一実施形態を説明するフローチャートを示す。
【図２８】上側ページからデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図２９】補償を用いることなくデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図３０】フローティングゲート間（又は誘電体領域間）の結合を補償しながら、データを読み出す処理の一実施形態を説明するフローチャートを示す。
【図３１】データ値を決定する処理を示す表を示す。
【図３２】補正ありで上側ページのデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図３２Ａ】パイプライン型の読み出し処理を説明するタイミング図を示す。
【図３３】検出モジュールの概略図を示す。
【図３４】データを読み出す処理の一実施形態を説明するフローチャートを示す。
【図３５】データを読み出す処理の一実施形態を説明するフローチャートを示す。
【図３６】図３５の処理に関連した上側ページのデータを読み出す処理の一実施形態を説明するフローチャートを示す。
【図１】
2008535144.tif 000003
【図２】
2008535144.tif 000004
【図３】
2008535144.tif 000005
【図４】
2008535144.tif 000006
【図５】
2008535144.tif 000007
【図６】
2008535144.tif 000008
【図７】
2008535144.tif 000009
【図８】
2008535144.tif 000010
【図９】
2008535144.tif 000011
【図１０】
2008535144.tif 000012
【図１１】
2008535144.tif 000013
【図１２】
2008535144.tif 000014
【図１３】
2008535144.tif 000015
【図１４】
2008535144.tif 000016
【図１５】
2008535144.tif 000017
【図１６】
2008535144.tif 000018
【図１７】
2008535144.tif 000019
【図１８】
2008535144.tif 000020
【図１９Ａ】
2008535144.tif 000021
【図１９Ｂ】
2008535144.tif 000022
【図１９Ｃ】
2008535144.tif 000023
【図２０Ａ】
2008535144.tif 000024
【図２０Ｂ】
2008535144.tif 000025
【図２０Ｃ】
2008535144.tif 000026
【図２０Ｄ】
2008535144.tif 000027
【図２０Ｅ】
2008535144.tif 000028
【図２０Ｆ】
2008535144.tif 000029
【図２０Ｇ】
2008535144.tif 000030
【図２１】
2008535144.tif 000031
【図２２】
2008535144.tif 000032
【図２３】
2008535144.tif 000033
【図２４】
2008535144.tif 000034
【図２５】
2008535144.tif 000035
【図２６】
2008535144.tif 000036
【図２７】
2008535144.tif 000037
【図２８】
2008535144.tif 000038
【図２９】
2008535144.tif 000039
【図３０】
2008535144.tif 000040
【図３１】
2008535144.tif 000041
【図３２】
2008535144.tif 000042
【図３２Ａ】
2008535144.tif 000043
【図３３】
2008535144.tif 000044
【図３４】
2008535144.tif 000045
【図３５】
2008535144.tif 000046
【図３６】
2008535144.tif 000047
【国際調査報告】
2008535144.tif 000048
2008535144.tif 000049
2008535144.tif 000050