(57)【要約】  記憶素子のセットを、そのセットの選択ゲートラインに隣接するワードラインＷＬｎからプログラムする。最初のワードラインをプログラムした後に、最初のワードラインワード隣接する次のワードラインＷＬｎ＋１をとばし、ＷＬｎ＋１に隣接する次のワードラインＷＬｎ＋２をプログラムする。それからＷＬｎ＋１をプログラムする。プログラミングは、セットの最後のワードラインを除くすべてがプログラムされるまで、順序｛ＷＬｎ＋４、ＷＬｎ＋３、ＷＬｎ＋６、ＷＬｎ＋５…｝に従って続く。それ後に最後のワードラインをプログラムする。このようにしてプログラムすることにより、セットのワードラインのいくつか（ＷＬｎ＋１、ＷＬｎ＋３等）は、後にプログラムされる隣接ワードラインを有さない。これらのワードラインのメモリセルは、後にプログラムされる隣接メモリセルに起因するフローティングゲート間結合閾値電圧シフトの影響を受けない。後にプログラムされる隣接メモリセルを有さないワードラインは、隣接メモリセルに基づいたオフセットまたは補償を使用せずに読み出される。他のワードラインは、後にプログラムされた両方の隣接ワードライン内のデータ状態に基づいた補償を使用して読み出される。
2009522704.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶素子のセットをプログラムする方法であって、
不揮発性記憶素子のセットの、選択ゲートラインに隣接する第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップと、
第２ワードラインが第１ワードラインに隣接しており、第３ワードラインが第２ワードラインに隣接しており、その第３ワードラインに接続されている不揮発性記憶素子をプログラムするステップと、
第３ワードラインに接続されている不揮発性素子及び第１ワードラインに接続されている不揮発性記憶素子をプログラムした後に、第２ワードラインに接続されている不揮発性記憶素子をプログラムするステップであって、第３ワードラインに接続されている不揮発性記憶素子のプログラミングの開始後に、第２ワードラインに接続されている不揮発性記憶素子のプログラミングを開始することを特徴とするステップ、
を備えていることを特徴とする方法。
【請求項２】
前記選択ゲートラインがソース側の選択ゲートラインであることを特徴とする請求項１に記載の方法。
【請求項３】
第４ワードラインが第３ワードラインに隣接しており、第５ワードラインが第４ワードラインに隣接しており、第２ワードラインに接続されている不揮発性素子をプログラムした後に、第５ワードラインに接続されている不揮発性記憶素子をプログラムステップと、
第５ワードラインに接続されている不揮発性記憶素子をプログラムした後に、第４ワードラインに接続されている不揮発性記憶素子をプログラムするステップであって、第５ワードラインに接続されている不揮発性記憶素子のプログラミングの開始後に、第４ワードラインに接続されている不揮発性記憶素子のプログラミングを開始するステップ、
をさらに備えていることを特徴とする請求項１に記載の方法。
【請求項４】
第３ワードラインからデータの読み出し要求を含む要求を受信するステップをさらに備えており、
その要求に応答して、
第３ワードラインに接続されている不揮発性記憶素子の少なくとも１つのサブセットの各不揮発性記憶素子に対して、第２ワードラインに接続されている第１隣接不揮発性記憶素子に記憶されている電荷レベルと第４ワードラインに接続されている第２隣接不揮発性記憶素子に記憶されている電荷レベルに基づいて、オフセットの所定のセットからオフセットを決定するステップと、
第３ワードラインに接続されている不揮発性記憶素子に対して読み出し処理のセットを実行するステップであって、各読み出し処理のセットは、オフセットの所定のセットから前記オフセットとは別のオフセットを使用し、第３ワードラインに接続されている不揮発性記憶素子の全てに対して実行され、第３ワードラインに接続されている各不揮発性記憶素子はこれらの各不揮発性記憶素子に対して決定された前記オフセットと関連する読み出し処理のうちの適切な処理から最終データを提供するステップ、
をさらに備えていることを特徴とする請求項３に記載の方法。
【請求項５】
オフセットの所定のセットからオフセットを決定する前記ステップが、
第１隣接不揮発性記憶素子を読み出すステップと、
第２隣接不揮発性記憶素子を読み出すステップと、
第１隣接不揮発性記憶素子を読み出すステップ、及び、第２隣接不揮発性記憶素子を読み出すステップからの情報を、オフセットの所定のセットと関連付けるステップ、
を備えていることを特徴とする請求項４に記載の方法。
【請求項６】
読み出し処理のセットを実行する前記ステップが、
第１オフセットを使用して第１読み出し処理を実行し、
以下の何れか、すなわち、
第１状態の第１隣接不揮発性記憶素子と、第２状態、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
第２状態の第１隣接不揮発性記憶素子と、第１状態、または、第２状態の第２隣接不揮発性記憶素子、
第３状態、または、第４状態の第１隣接不揮発性記憶素子と、第１状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子に対して結果を記憶するステップと、
第２オフセットを使用して第２読み出し処理を実行し、
以下の何れか、すなわち、
第２状態の第１隣接不揮発性記憶素子と、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
第３状態の第１隣接不揮発性記憶素子と、第２状態、または、第３状態の第２隣接不揮発性記憶素子、
第４状態の第１隣接不揮発性記憶素子と、第２状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子に対して結果を記憶するステップと、
第３オフセットを使用して第３読み出し処理を実行し、
以下の何れか、すなわち、
第３状態の第１隣接不揮発性記憶素子と、第４状態の第２隣接不揮発性記憶素子、
第４状態の第１隣接不揮発性記憶素子と、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子について結果を記憶するステップ、
を備えていることを特徴とする請求項５に記載の方法。
【請求項７】
第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップが、第３ワードラインに接続されている不揮発性記憶素子をプログラムするステップより先に実行されることを特徴とする請求項１に記載の方法。
【請求項８】
第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップが、データの第１ページをプログラムするステップを備えていることを特徴とする請求項１に記載の方法。
【請求項９】
第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップが、データの第１ページ及びデータの第２ページをプログラムするステップを備えていることを特徴とする請求項１に記載の方法。
【請求項１０】
不揮発性記憶素子のセットが、連続ビットラインに接続されていることを特徴とする請求項１に記載の方法。
【請求項１１】
不揮発性記憶素子のセットが、ビットラインのグループの１つおきのビットラインに接続されていることを特徴とする請求項１に記載の方法。
【請求項１２】
不揮発性記憶素子のセットが、フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１３】
不揮発性記憶素子のセットが、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１４】
不揮発性記憶素子のセットが、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１５】
不揮発性記憶素子のセットが、フローティングゲートを有することを特徴とする請求項１に記載の方法。
【請求項１６】
不揮発性記憶素子のセットのそれぞれが、電荷を蓄積する誘電体領域を有することを特徴とする請求項１に記載の方法。
【請求項１７】
不揮発性メモリシステムであって、
不揮発性記憶素子のセットと、
不揮発性記憶素子のセットの第１選択ゲートラインに隣接する第１ワードライン（ＷＬｎ）と、不揮発性記憶素子のセットの第２選択ゲートラインに隣接する最後のワードラインを含む複数のワードラインと、
不揮発性記憶素子のセットと複数のワードラインと通信する管理回路、
を備えており、
管理回路は、第１ワードライン（ＷＬｎ）に接続されている不揮発性記憶素子のプログラミングを完了し、第３ワードライン（ＷＬｎ＋２）に接続されている不揮発性記憶素子のプログラミングを完了することによって、不揮発性記憶素子のセットをプログラムし、第３ワードラインは第２ワードライン（ＷＬｎ＋１）に隣接しており、第２ワードラインは第１ワードラインに隣接しており、管理回路は、第１ワードラインに接続されている不揮発性記憶素子と第３ワードラインに接続されている不揮発性記憶素子のプログラミングを完了した後に、第２ワードラインに接続されている不揮発性記憶素子のプログラミングを完了し、管理回路は、最後のワードラインを除く残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを、前記残りのワードラインの他の個々の１つに接続されている不揮発性記憶素子のプログラミングを完了する前に、前記残りのワードラインの個々の１つに接続されている不揮発性記憶素子のプログラミングを完了することによって完了し、残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを完了するステップが、ワードライン順序｛ＷＬ（ｎ＋４）、ＷＬ（ｎ＋３）、ＷＬ（ｎ＋６）、ＷＬ（ｎ＋５）…｝に従って実行され、管理回路は、最後のワードラインを除く前記残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを完了した後に、最後のワードラインに接続されている不揮発性記憶素子のプログラミングを完了することを特徴とする不揮発性メモリシステム。
【請求項１８】
管理回路が、不揮発性記憶素子のセット内にデータのセットを記憶する要求に応答して、不揮発性記憶素子のセットをプログラムし、
管理回路が、個々のワードラインに対してプログラムするデータの前記セットのサブセットが前記個々のワードラインに対してプログラムされていることを適切に検証することによって前記個々のワードラインに接続されている不揮発性記憶素子のプログラミングを完了し、データの前記セットの前記サブセットが前記要求に応答して前記個々のワードラインに対してプログラムされるべき全てのデータを含んでいる、
ことを特徴とする請求項１７に記載の不揮発性メモリシステム。
【請求項１９】
データの前記セットの前記サブセットがプログラムされていることを適切に検証するステップが、データの前記セットの前記サブセットの所定量が前記個々のワードラインに対して適切にプログラムされていることを検証するステップを含んでいる、
ことを特徴とする請求項１８に記載の不揮発性メモリシステム。
【請求項２０】
不揮発性記憶素子のセットが、ビットラインのグループの１つおきのビットラインに接続されていることを特徴とする請求項１７に記載の不揮発性メモリシステム。
【請求項２１】
不揮発性記憶素子のセットが、マルチ状態ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１７に記載の不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの技術に関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ（ＥＥＰＲＯＭ）およびフラッシュメモリは、最も普及している不揮発性半導体メモリの１つである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリは両方とも、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートはフローティングゲート上に設けられており、そのフローティングゲートから絶縁する。トランジスタの閾値電圧は、フローティングゲート上に保持される電荷量によって制御される。すなわち、トランジスタをオンにしてソースとドレインの間を導通させる前に制御ゲートに印加する必要がある最小電圧量は、フローティングゲート上の電荷量のレベルによって制御される。
【０００４】
ＮＡＮＤフラッシュメモリ装置などのＥＥＰＲＯＭまたはフラッシュメモリ装置をプログラムする場合、一般にプログラム電圧が制御ゲートに印加され、ビットラインが接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電し、メモリセルの閾値電圧が上昇してメモリセルがプログラム状態になる。プログラミングについてのさらなる情報は、米国特許出願第１０／３７９，６０８号、「Self-Boosting Technique」、出願日２００３年３月５日および米国特許出願第１０／６２９，０６８号、「Detecting Over Programmed Memory」、出願日２００３年７月２９日に記載されている。両方の出願はその全体を参照することにより本明細書に組み込まれる。
【０００５】
いくつかのＥＥＰＲＯＭ及びフラッシュメモリ装置は、２つの範囲の電荷を蓄積するフローティングゲートを有している。その結果、メモリセルは、２つの状態（消去状態とプログラム状態）の間でプログラム／消去することができる。このようなフラッシュメモリ装置は、バイナリフラッシュメモリ装置と呼ばれることがある。
【０００６】
マルチ状態フラッシュメモリ装置は、禁止範囲によって分離された複数の別個の許容／有効プログラム閾値電圧範囲を識別することによって実現される。別個の閾値電圧範囲の各々は、メモリ装置内に符号化されたデータビットのセットの所定の値に対応している。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
隣接するフローティングゲート内に蓄積される電荷に基づく電界の結合のために、フローティングゲート上に蓄積される見かけの電荷へのシフトが発生する場合がある。このフローティングゲート間の結合現象は、米国特許第５，８６７，４２９号に記載されており、その全体は参照することにより本明細書に組み込まれる。対象のフローティングゲートに隣接するフローティングゲートとは、同じビットライン上で隣接するフローティングゲート、同じワードライン上で隣接するフローティングゲート、または、隣接するビットラインと隣接するワードライン上にあるために互いに斜め方向に位置するフローティングゲートを含んでよい。
【０００８】
フローティングゲート間の結合現象は、異なる時間にプログラムされた隣接するメモリセルのセットの間で最も顕著に発生する。例えば、第1メモリセルが、１つのデータセットに対応するフローティングゲートに、あるレベルの電荷が印加されることでプログラムされる。次に、１つまたは複数の隣接するメモリセルが、第２のデータセットに対応するそれらのフローティングゲートに、あるレベルの電荷が印加されることでプログラムされる。１つまたは複数の隣接するメモリセルがプログラムされた後では、第１メモリセルに結合されている隣接メモリセルにプログラムされた電荷の影響を受けるために、第１メモリセルから読み出される電荷のレベルが、最初にプログラムされた電荷のレベルと異なることになる。隣接メモリセルからの結合は、セルから読み出される見かけの電荷レベルを、その中に記憶されたデータの誤った読み出しにつながるのに十分な量だけシフトさせる場合がある。
【０００９】
マルチ状態装置では、許容閾値電圧範囲と禁止範囲はバイナリ装置より狭いので、マルチ状態装置にとってフローティングゲート間結合による影響はより大きな問題となる。したがって、フローティングゲート間の結合によって、メモリセルが許容閾値電圧範囲から禁止範囲にシフトする。
【００１０】
メモリセルのサイズが縮小するにつれて、短いチャネルの影響、より大きな酸化物の厚さ、結合率のバラツキ、及び、多くのチャネルドーパントの変動のために、閾値電圧の本来のプログラミング及び消去分布が増大することが予想され、隣接状態間の利用可能な分離を減少させる。この影響は、２つの状態のみを用いるメモリ（バイナリメモリ）よりもマルチ状態メモリにとってはるかに重大である。さらに、ワードライン間の間隔とビットライン間の間隔の減少も、隣接フローティングゲート間の結合を増大させる。
【００１１】
従って、フローティングゲート間の結合の影響を低減させたいというニーズがある。
【課題を解決するための手段】
【００１２】
記憶素子のセットのプログラムは、そのセットの選択ゲートラインに隣接するワードラインＷＬｎから始まる。第１ワードラインをプログラムした後に、第１ワードラインに隣接する次のワードラインＷＬｎ＋１をスキップし、ＷＬｎ＋１に隣接する次のワードラインＷＬｎ＋２がプログラムされる。次に、ＷＬｎ＋１がプログラムされる。プログラミングは、そのセットの最後のワードライン以外の全てがプログラムされるまで｛ＷＬｎ＋４、ＷＬｎ＋３、ＷＬｎ＋６、ＷＬｎ＋５…｝の順に従って続く。それから最後のワードラインがプログラムされる。このようにプログラムされることによって、セット（ＷＬｎ＋１、ＷＬｎ＋３等）のいくつかのワードラインは、その後にプログラムされる隣接ワードラインを有さない。これらのワードラインのメモリセルは、その後にプログラムされる隣接メモリセルからのマージンシフトに関連したフローティングゲート間結合の影響を受けない。その後にプログラムされる隣接ワードラインを有さないワードラインは、隣接メモリセルに基づいたオフセットまたは補償を使用せずに読み出される。他のワードラインは、その後にプログラムされる両方の隣接ワードラインに基づいた補償を使用して読み出される。
【００１３】
一実施形態では、不揮発性記憶素子のセットの選択ゲートラインに隣接する第１ワードラインに接続（つまり、電気的に接続）されている不揮発性記憶素子をプログラムするステップと、第１ワードラインに接続されている不揮発性記憶素子をプログラムした後に第３ワードラインに接続されている不揮発性記憶素子をプログラムするステップを有する不揮発性記憶素子のセットをプログラムする方法が提供される。第３ワードラインは第２ワードラインに隣接し、第２ワードラインは第１ワードラインに隣接する。この方法では、第３ワードラインに接続されている不揮発性記憶素子がプログラムされた後に、第２ワードラインに接続されている不揮発性記憶素子がプログラムされる。第３ワードラインに接続されている不揮発性記憶素子のプログラムが開始された後に、第２ワードラインに接続されている不揮発性記憶素子のプログラムが開始される。
【００１４】
一実施形態では、選択ゲートラインに隣接する第１ワードラインに接続されている不揮発性記憶素子の第１のセットと、前記第１ワードラインに隣接する第２ワードラインに接続されている不揮発性記憶素子の第２のセットと、前記第２ワードラインに隣接する第３ワードラインに接続されている不揮発性記憶素子の第３のセットを含む不揮発性メモリシステムが提供される。不揮発性記憶素子の第３のセットは、不揮発性記憶素子の第１のセットの後、かつ、不揮発性記憶素子の第２のサブセットの前にプログラムされる。第３ワードラインに接続されている不揮発性記憶素子のプログラムが開始した後に、第２ワードラインに接続されている不揮発性記憶素子のプログラムは開始される。
【００１５】
一実施形態では、不揮発性記憶素子の第１のセットからのデータに対する要求に応答して、不揮発性記憶素子の第２のセット及び不揮発性記憶素子の第３のセットを読み出すステップを含む不揮発性記憶素子を読み出す方法が提供される。第２のセットは、第１のセットの後にプログラムされ、第１のセットに隣接している。第３のセットは、第１のセットの後にプログラムされ、第１のセットに隣接している。第２のセット及び第３のセットが読み出された後に、不揮発性記憶素子の第１のセットは、１つまたは複数の読み出し比較ポイントを使用する第１の読み出し処理と、１つまたは複数の調整された読み出し比較ポイントを使用する少なくとも第２読み出し処理とを含んでいる読み出し処理のセットを使用して読み出される。最終データは、第２のセットからの隣接する不揮発性記憶素子の読み出しと、第３のセットからの隣接する不揮発性記憶素子の読み出しに基づいて、読み出し処理内の適切な処理から第１のセットの不揮発性記憶素子ごとに提供される。
【００１６】
一実施形態では、不揮発性記憶素子のセットと、不揮発性記憶素子のセットと通信する管理回路とを含む不揮発性メモリシステムが提供される。管理回路は、不揮発性記憶素子のセットの少なくとも１つのサブセットの不揮発性記憶素子ごとに、第１隣接不揮発性記憶素子に蓄えられている電荷レベルと第２隣接不揮発性記憶素子に蓄えられている電荷レベルに基づいてオフセットの所定のセットからオフセットを決定することによって不揮発性記憶素子のセットを読み出す。第１及び第２の隣接不揮発性記憶素子は、サブセットの各不揮発性記憶素子の後にプログラムされる。管理回路は、不揮発性記憶素子のセットに読み出し処理のセットを実行する。各読み出し処理は、オフセットの所定のセットから異なるオフセットの１つを使用する。各読み出し処理は、不揮発性記憶素子のセットの全てに対して実行される。サブセットの各不揮発性素子は、サブセットの各不揮発性素子について決定されたオフセットと関連付けられた読み出し処理中の適切な処理から最終データを提供する。
【発明を実施するための最良の形態】
【００１７】
本開示の実施形態を実現するのに適したメモリシステムの一例は、２つの選択ゲートの間に直列に接続された複数のトランジスタを含むＮＡＮＤフラッシュメモリ構造を使用する。直列に接続されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、典型的なＮＡＮＤストリング５０の平面図である。図２は、その等価回路である。図１と２に示すＮＡＮＤストリングは、第１選択ゲート２０と第２選択ゲート２２の間に挟まれているとともに直列に接続されているトランジスタ１０、１２、１４及び１６を有する。一実施形態では、トランジスタ１０、１２、１４及び１６は、それぞれＮＡＮＤストリングの個々のメモリセルを形成する。他の実施形態では、ＮＡＮＤストリングのメモリセルは複数のトランジスタを含んでいてもよいし、あるいは、図１および２に示されたものと異なっていてもよい。示されているようにＮＡＮＤストリングは任意の数のメモリセルを含んでよく、４未満あるいは４より多くてもよい（例えば、２、８、１６、３２等）。ここでの説明は、ＮＡＮＤストリング中のメモリセルを特定の数に限定するものではない。選択ゲート２０は、ＮＡＮＤストリングをビットライン（不図示）に順に接続されているドレイン端子２６に接続する。選択ゲート２２は、ＮＡＮＤストリングを、ソースライン（不図示）に順に接続されているソース端子２４に接続する。選択ゲート２０は、ドレイン側選択ゲートラインＳＧＤを介して適切な電圧が制御ゲート２０ＣＧに印加されることによって制御される。選択ゲート２２は、ソース側選択ゲートラインＳＧＳを介して適切な電圧が制御ゲート２０ＣＧに印加されることによって制御される。各トランジスタ１０、１２、１４及び１６は、制御ゲートとフローティングゲートを有している。トランジスタ１０は、制御ゲート１０ＣＧとフローティングゲート１０ＦＧを有している。トランジスタ１２は、制御ゲート１２ＣＧとフローティングゲート１２ＦＧを有している。トランジスタ１４は、制御ゲート１４ＣＧとフローティングゲート１４ＦＧを有している。トランジスタ１６は、制御ゲート１６ＣＧとフローティングゲート１６ＦＧを有している。制御ゲート１０ＣＧはワードラインＷＬ３に接続されている。制御ゲート１２ＣＧはワードラインＷＬ２に接続されている。制御ゲート１４ＣＧはワードラインＷＬ１に接続されている。制御ゲート１６ＣＧはワードラインＷＬ０に接続されている。
【００１８】
図３は、上記のＮＡＮＤストリングの断面図を示す。ＮＡＮＤストリングには、４つのメモリセルがあると仮定される。なお、ここでの説明は、ＮＡＮＤストリングのメモリセルを特定の数に限定するものではない。図３に示すように、ＮＡＮＤストリングのトランジスタは、ｐウェル領域４０内に形成される。各トランジスタは、制御ゲート（１０ＣＧ、１２ＣＧ、１４ＣＧ及び１６ＣＧ）とフローティングゲート（１０ＦＧ、１２ＦＧ、１４ＦＧ及び１６ＦＧ）からなる積層ゲート構造を有している。フローティングゲートは、ｐウェルの表面上の酸化物または他の誘電体膜の上部に形成されている。制御ゲートはフローティングゲート上にあり、ポリシリコン間誘電体層が制御ゲートとフローティングゲートを分離している。メモリセル（１０、１２、１４及び１６）の制御ゲートは、ワードラインを形成する。Ｎ＋ドープ層３０、３２、３４、３６及び３８は、隣接しているセルの間で供給されており、それによってセルは相互に直列に接続されてＮＡＮＤストリングを形成する。これらのＮ＋ドープ層は、ストリングの各素子のソース及びドレインを形成する。例えば、Ｎ＋ドープ層３０はトランジスタ２２のドレインとトランジスタ１６のソースとして機能し、Ｎ＋ドープ層３２はトランジスタ１６のドレインとトランジスタ１４のソースとして機能し、Ｎ＋ドープ層３４はトランジスタ１４のドレインとトランジスタ１２のソースとして機能し、Ｎ＋ドープ層３６はトランジスタ１２のドレインとトランジスタ１０のソースとして機能し、Ｎ＋ドープ層３８はトランジスタ１０のドレインとトランジスタ２０のソースとして機能する。Ｎ＋ドープ層２６はドレイン端子を形成し、複数のＮＡＮＤストリングの共通ビットラインに接続している。一方で、Ｎ＋ドープ層２４はソース端子を形成し、複数のＮＡＮＤストリングの共通ソースラインに接続している。
【００１９】
図１から図３はＮＡＮＤストリング中の４個のメモリセルを示しているが、４個のトランジスタの使用は単なる例として示されていることに注意されたい。本書に説明されている技術を用いて使用されるＮＡＮＤストリングは、４個未満の、または４個より多いメモリセルを有することができる。例えば、ＮＡＮＤストリングは８個、１６個、３２個、その他の個数のメモリセルを含んでいてもよい。本書の説明はＮＡＮＤストリングの中のメモリセルを特定の数に限定するものではない。
【００２０】
各メモリセルは、アナログ形式またはデジタル形式で表されたデータを記憶することができる。１ビットのデジタルデータを記憶するときに、メモリセルの可能な閾値電圧の範囲は、異なるメモリ状態を表す２つの範囲に分割される。メモリ状態は、論理データ「１」と「０」に割り当てられる。通常は、メモリセルの閾値電圧メモリウィンドウを２つの範囲に分割するために、少なくとも１つの閾値電圧（Ｖｔ）ブレークポイントレベルが規定されている。所定の固定電圧を印加することによってセルが読み取られると、そのソース／ドレイン伝導状態をブレークポイントレベル（または基準電流）と比較することによって規定される。読み取られた電流がブレークポイントレベルよりも高い場合は、セルは「オン」であり、１つの論理状態にあると判定される。電流がブレークポイントレベル未満である場合は、セルは「オフ」であり、他の論理状態にあると判定される。ＮＡＮＤ型フラッシュメモリの一例では、メモリセルを消去した後の閾値電圧は負になり、論理「１」として定義される。プログラム動作後の閾値電圧は正になり、論理「０」として定義される。閾値電圧が負であるときに、制御ゲートに０Ｖを印加することによって読み出しが試みられると、メモリセルがオンになり論理１を記憶していることが示される。閾値電圧が正であるときに、制御電圧に０Ｖを印加することによって読み出し動作が試みられると、メモリセルはオンにならず論理０を記憶していることが示される。
【００２１】
メモリセルは、複数の範囲の閾値電圧を利用することによって複数ビットのデジタルデータを記憶し、これによって別々のメモリ状態を表すこともできる。閾値電圧ウィンドウは、所望のメモリ状態及び複数の電圧ブレークポイントレベルの数に分割することもできる。これらは、個々の状態を分解するために用いられる。例えば、４つの状態が用いられる場合、データ値「１１」、「１０」、「０１」及び「００」が割り当てられた４つの異なるメモリ状態を表す４つの閾値電圧範囲がある。ＮＡＮＤ型メモリの一例では、消去動作後の閾値電圧は負であり、「１１」として定義される。正の閾値電圧は、閾値電圧状態が漸次的に増加するように、それぞれ「１０」、「０１」、及び「００」に使用される。いくつかの実装形態では、データ値（例えば、論理状態）はグレイコード割り当て（例えば、「１１」、「１０」、「００」、「０１」）によって漸次的に増加する閾値電圧範囲に割り当てられる。これによって、フローティングゲートの閾値電圧がその隣接する閾値電圧または物理状態に誤ってシフトした場合に、１つの論理ビットのみが影響を受けるようになる。メモリセル内にプログラムされたデータとセルの閾値電圧範囲との間の特定の関係は、メモリセルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び２００３年６月１３日出願の米国特許出願第１０／４６１，２４４号、「Tracking Cells For A Memory System」には、マルチ状態フラッシュメモリセルの様々なデータ符号化方式が記載されている。これらは、その全体を参照することにより本明細書に組込まれる。
【００２２】
ＮＡＮＤ型フラッシュメモリ及びそれらの動作の関連する例は、以降の米国特許／特許出願内に提供されており、それら全てはその全体を参照することにより本明細書に組み込まれる。米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４２２号、米国特許第６，４５６，５２８号、及び米国特許出願第０９／８９３，２７７号（公開番号第ＵＳ２００３／０００２３４８号）。ＮＡＮＤフラッシュメモリに加えて他の種類の不揮発性メモリも、実施例に従って用いることができる。
【００２３】
フラッシュＥＥＰＲＯＭシステム内で役立つ別の種類のメモリセルは、導電性フローティングゲートの代わりに非導電性誘電体材料を利用して、不揮発的な方法で電荷を蓄積する。このようなセルは、Chanらによる論文、「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」、IEEE Electron Device Letters，Vol.EDL-8,No.3、１９８７年３月、９３〜９５ページに記載されている。酸化シリコン、窒化シリコン及び酸化シリコン（ＯＮＯ）から形成される三層誘電体は、メモリセルチャネル上の半導体基板の表面と導電性制御ゲート間に挟持される。セルは、セルチャネルから窒化物内に電子を注入することによってプログラムされる。その電子は、制限領域内に捕捉されて蓄積される。それから、この蓄積された電荷は、セルチャネルの一部の閾値電圧を検出可能なように変化させる。窒化物内にホットホールを注入することによって、セルは消去される。Nozakiらの「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」，IEEE Journal of Solid-State Circuits，Vol.26,No.4，１９９１年4月、４９７〜５０１ページを参照すると、分割ゲート構造内の同様のセルを説明しており、ここではドープされたポリシリコンゲートがメモリセルチャネルの一部上に延び、別個の選択トランジスタを形成している。以上の２つの論文は、それらの全体を参照することによって本明細書に組み込まれる。William D. Brown及びJoe E. Brewerによって編集された「Nonvolatile Semiconductor Memory Technology」，IEEE Press，１９９８のセクション１．２で言及されているプログラミング技術（参照によって本明細書に組み込まれる）も、誘電体電荷捕捉装置に適用可能であることをそのセクションで説明している。このパラグラフに説明されているメモリセルも、本発明と共に用いることができる。従って、本明細書で説明される技術は、異なるメモリセルの誘電体領域間の結合にも適用される。
【００２４】
各セルに２つのビットを記憶する別の方式は、Eitanらの「NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell」，IEEE Electron Device Letters，vol.21,no.11，２０００年１１月、５４３〜５４５ページに説明されている。ＯＮＯ誘電体層は、ソース及びドレイン拡散部の間のチャネルに亘って延びている。１つのデータビットの電荷はドレインに隣接する誘電体層内に局所化され、他のデータビットの電荷はソースに隣接する誘電体層内に局所化される。マルチ状態データストレージは、誘電体内の空間的に分離した電荷ストレージ領域のバイナリ状態を別個に読み出すことによって得られる。このパラグラフで説明したメモリセルも、本発明と共に用いることができる。
【００２５】
図４は、図１〜図３に示したようなＮＡＮＤストリング５０のアレイ１００の一例を示している。各列に沿って、ビットライン２８はＮＡＮＤストリング５０のビットライン選択ゲートのドレイン端子、例えばドレイン２６に接続している。ＮＡＮＤストリングの各行に沿って、ソースライン２９はＮＡＮＤストリングのソースライン選択ゲートの全てのソース端子（例えば、２４）に接続できる。メモリシステムの一部としてのＮＡＮＤアーキテクチャアレイ及びその動作の一例は、米国特許第５，５７０，３１５号、５，７７４，３９７号、及び６，０４６，９３５号内に記載されている。これらのすべてがその全体を参照することにより本書に組みこまれる。
【００２６】
メモリセルのアレイ１００は、メモリセルの多数のブロックに分割されている。フラッシュＥＥＰＲＯＭシステムでは一般的なように、ブロックは消去のユニットである。つまり、各ブロックは、共に消去される最小数のメモリセルを有する。各ブロックは一般に多くのページに分割される。一度の動作で複数のページをプログラムまたは読み出すことができるが、ページは一般的にプログラミングまたは読み出しの最小単位である。別の実施形態では、個々のページはセグメントに分割され、セグメントは基本プログラミング動作として一度に書き込まれる最小数のセルを有することができる。一般的に１ページ以上のデータは１行のメモリセルに記憶される。１ページは１つ以上のセクタのデータを記憶できる。そのサイズは、一般的にはホストシステムによって定義される。１つのセクタは、ユーザデータとオーバヘッドデータを有する。オーバヘッドデータは一般に、そのセクタのユーザデータから計算されたエラー訂正符号（ＥＣＣ）を有する。制御部（後に説明）の一部は、データがアレイ内にプログラムされるときにＥＣＣを計算し、さらにデータがアレイから読み出されるときにそれをチェックする。代わりに、ＥＣＣ及び／または他のオーバヘッドデータは、それらが関連するユーザデータのものとは異なるページに、または異なるブロックにも記憶される。
【００２７】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスクドライブ内で一般的に使用されるセクタのサイズに対応する。オーバヘッドデータは一般に、追加の１６〜２０バイトである。多数のページがブロックを形成し、それは８ページから、例えば最大３２、６４またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの列がブロックを有する。
【００２８】
一実施形態では、メモリセルは、十分な時間、消去電圧（例えば、２０Ｖ）までｐウェルを上昇させ、ソースラインとビットラインをフローティングさせながら選択ブロックのワードラインを接地することによって消去される。したがって、選択メモリセルのトンネル酸化物層に強電界が印加され、フローティングゲートの電子が基板側に放出される時に、選択メモリセルのデータが消去される。電子がフローティングゲートからPウェル領域に送られると、選択セルの閾値電圧が低下する。消去を禁止しなければならないそれらのセルでは、ワードラインがフローティング状態にセットされる。容量性結合のために、未選択のワードライン、ビットライン、選択ライン及び共通ソースラインが消去電圧のかなりの部分まで上昇させられ、これによって未選択のセルの消去が禁止される。消去は、メモリアレイ全体、別個のブロックまたはセルの別のユニットに対して実行できる。
【００２９】
図５は、１ページのメモリセルを並列に読み出し及びプログラムする読み出し／書き込み回路を備えたメモリ装置１１０を示している。メモリ装置１１０は、1個以上のメモリダイまたはチップ１１２を含んでいる。メモリダイ１１２は、２次元のアレイのメモリセル１００、制御回路１２０、及び、読み出し／書き込み回路１３０Ａと１３０Ｂを有する。一実施形態では、種々の周辺回路によるメモリアレイ１００に対するアクセスは、アレイの反対側で対称的に実行され、その結果、各側のアクセスライン及び回路の密度は半減される。読み出し／書き込み回路１３０Ａ及び１３０Ｂは、１ページのメモリセルを並列に読み出しまたはプログラム可能な複数の検出ブロック２００を有する。メモリアレイ１００は、行復号部１４０Ａ及び１４０Ｂを介してワードラインによって、及び列復号部１４２Ａ及び１４２Ｂを介してビットラインによってアドレス指定可能である。典型的な実施形態では、制御部１４４は、１つまたは複数のメモリダイ１１２と同じメモリ装置１１０（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン１３２を介してホストと制御部１４４の間、及び、ライン１３４を介して制御部と１つ以上のメモリダイ１１２の間で送られる。
【００３０】
制御回路１２０は、読み出し／書き込み回路１３０Ａ及び１３０Ｂと協調して、メモリアレイ１００上でメモリ動作を実行する。制御回路１２０は、状態マシン１２２、オンチップアドレス復号部１２４、及び、電力制御モジュール１２６を有している。状態マシン１２２は、メモリ動作のチップレベル制御を提供する。オンチップアドレス復号部１２４は、ホストまたはメモリ制御部によって用いられるアドレスインタフェースと、復号部１４０Ａ、１４０Ｂ、１４２Ａ及び１４２Ｂによって用いられるハードウェアアドレスの間にアドレスインタフェースを提供する。電力制御モジュール１２６は、メモリ動作中にワードライン及びビットラインに供給される電力及び電圧を制御する。
【００３１】
図６は、コア部（検出モジュール２１０と呼ばれる）と共通部２２０に分割された個々の検出ブロック２００のブロック図である。一実施形態では、各ビットラインの別個の検出モジュール２１０と、複数の検出モジュール２１０の集合の１つの共通部２２０があってもよい。一例では、検出ブロックは、１つの共通部２２０と８つの検出モジュール２１０を有することができる。グループ内の各検出モジュールは、データバス２０６を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願第１１／０２６，５３６号、「Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers」、出願日２００４年１２月２９日を参照する。その全体は参照することにより本明細書に組み込まれる。
【００３２】
検出モジュール２１０は検出回路２０４を有しており、検出回路２０４は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール２１０はさらにビットラインラッチ２０２を有しており、ビットラインラッチ２０２は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ２０２内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態（例えば、Ｖｄｄ）とされる。
【００３３】
共通部２２０は、プロセッサ２１２、１セットのデータラッチ２１４、及び１セットのデータラッチ２１４とデータバス１３４の間を接続するＩ／Ｏインタフェース２１６を有する。プロセッサ２１２は計算を実行する。例えば、その機能の１つは、検出されたメモリセル内に記憶されているデータを判定し、判定したデータを１セットのデータラッチ内に記憶することである。１セットのデータラッチ２１４は、読み出し動作中に、プロセッサ２１２によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス１３４から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムされる書き込みデータを表す。Ｉ／Ｏインタフェース２１６は、データラッチ２１４とデータバス１３４の間のインタフェースを提供する。
【００３４】
読み出しまたは検出中には、システムの動作は状態マシン１２２の制御下にあり、状態マシン１２２はアドレスされたセルへの図５の異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール２１０はこれらの電圧の１つに移動し、バス２０６を介して検出モジュール２１０からプロセッサ２１２に出力が提供される。その時点で、プロセッサ２１２は、検出モジュールの移動イベントと、状態マシンから入力ライン２０８を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を判定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ２１４に記憶する。コア部の別の実施形態では、ビットラインラッチ２０２は、検出モジュール２１０の出力をラッチするラッチ、及び、上記のようなビットラインラッチの両方としてダブルデューティを提供する。
【００３５】
プログラムまたは検証中に、プログラムされるデータはデータバス１３４から１セットのデータラッチ２１４内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされるメモリセルの制御ゲートに印加される一連のプログラミング電圧パルスを有する。各プログラミングパルスに続いて読み戻し（検証）が実行され、セルが所望のメモリ状態閾値電圧対象にプログラムされたかどうかを判定する。プロセッサ２１２は、所望のメモリ状態に対する読み戻しメモリ状態を監視する。その２つが一致する場合、プロセッサ２１２はビットラインラッチ２０２を設定し、プログラム禁止（例えば、Ｖｄｄ）を指定する状態にビットラインを引っ張る。これは、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続したセルがさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ２０２をロードし、検出回路が検証処理中に禁止値にそれを設定する。
【００３６】
データラッチスタック２１４は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール２１０毎に３つのデータラッチが存在する。いくつかの実装形態では（必須ではないが）、データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス１３４のシリアルデータに変換したり、その逆を行ったりする。好適実施形態では、ｍ個のメモリセルの読み出し／書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを形成し、シリアル転送によってデータのブロックが入力または出力できるようにする。特に、ｒ個の読み出し／書き込みモジュールのバンクを調整し、そのセットのデータラッチが読み出し／書き込みブロックの全体のシフトレジスタの一部であっても、そのセットのデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
【００３７】
一般に、１ページのメモリセルは並列に動作する。従って、対応する数の検出モジュール２１０が並列に動作中になる。一実施形態では、ページ制御部（不図示）は、並列で動作する検出モジュールに制御及びタイミング信号を適宜提供する。検出モジュール２１０及びその動作に関する詳細については、米国特許出願第１１／０９９，１３３号、「COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY」、出願日２００５年４月５日を参照する。その全体は参照することにより本明細書に組み込まれる。
【００３８】
図７は、不揮発性メモリをプログラムする方法の一実施形態を説明するフローチャートである。一実装形態では、メモリセルはプログラミング前に（ブロックまたは他のユニットで）消去される。図７のステップ３００では、「データロード」コマンドが制御部によって発行され、図５の制御回路１２０で入力を受け取る。ステップ３０２では、ページアドレスを指定するアドレスデータを、制御部またはホストから復号部１２４に入力する。ステップ３０４では、アドレスされたページのプログラムデータの１ページをプログラミングのためにデータバッファに入力する。そのデータは適切なセットのラッチ内にラッチされる。ステップ３０６では、「プログラム」コマンドが、制御部によって状態マシン１２２に発行される。
【００３９】
「プログラム」コマンドによりトリガされ、ステップ３０４でラッチしたデータは、適切なワードラインに印加した図８のステップパルスを用いて、状態マシン１２２によって制御された選択メモリセル内にプログラムされる。ステップ３０８では、プログラム電圧Ｖｐｇｍが開始パルス（例えば１２Ｖ）に初期化し、状態マシン１２２によって維持されるプログラムカウンタＰＣを０に初期化する。ステップ３１０では、第１のＶｐｇｍパルスを選択ワードラインに印加する。一実施形態では、対応するメモリセルをプログラムすべきことを示す論理「０」が特定のデータラッチ内に記憶された場合、対応するビットラインを接地する。一方、対応するメモリセルがその電流データ状態に留まるべきことを示す論理「１」が特定のラッチ内に記憶された場合、プログラミングを禁止するために対応するビットラインをＶｄｄに接続する。
【００４０】
ステップ３１２では、選択メモリセルの状態を検証する。選択セルの対象閾値電圧が適切なレベルに到達したことが検出された場合、一実施形態では対応するデータラッチ内に記憶したデータは論理「１」に変更される。閾値電圧が適切なレベルに到達していないことが検出された場合、対応するデータラッチ内に記憶したデータは変更されない。このように、その対応するデータラッチ内に記憶した論理「１」を有するビットラインはプログラムする必要はない。全てのデータラッチが論理「１」を記憶しているときに、状態マシンは（上記のワイヤードＯＲ型機構によって）全ての選択セルがプログラムされたことを認識する。ステップ３１４では、データラッチの全てが論理「１」を記憶しているかどうかを確認する。そうであれば、全ての選択メモリセルがプログラムされ、検証されたので、プログラミング処理は完了し成功とする。ステップ３１６では、「パス」の状態を報告する。
【００４１】
ステップ３１４において、データラッチの全てが論理「１」を記憶しているとはいえないと判定された場合、プログラミング処理は継続する。ステップ３１８では、プログラム限界値ＰＣＭＡＸに対してプログラムカウンタＰＣを確認する。プログラム限界値の一例は２０であるが、他の数を使用することもできる。プログラムカウンタＰＣがＰＣＭＡＸ以上であれば、ステップ３１９で、適切にプログラムされなかったビット数が所定数以下であるかどうかが判定される。適切にプログラムされなかったビット数が所定数以下である場合には、プログラミング処理はパスとしてフラグを立てられ、パスの状態がステップ３２１で報告される。適切にプログラムされていないビットは、読み出し処理の間にエラー補正によって補正され得る。しかしながら、適切にプログラムされなかったビットの数が所定数を上回ると、プログラミング処理はフェイルとしてフラグを立てられ、フェイルの状態がステップ３２０で報告される。プログラムカウンタＰＣがＰＣＭＡＸ未満であれば、Ｖｐｇｍレベルはステップサイズだけ増加されて、ステップ３２２でプログラムカウンタＰＣがインクリメントされる。ステップ３２２の後、処理のループはステップ３１０に戻って次のＶｐｇｍパルスを印加する。
【００４２】
成功したプログラミング処理の最後では、メモリセルの閾値電圧はプログラムしたメモリセルの閾値電圧の１つ以上の分布内、または必要に応じて消去したメモリセルの閾値電圧分布内にあるべきである。図９は、各メモリセルが２ビットのデータを記憶している場合のメモリセルアレイの閾値電圧分布を示している。図９は、消去したメモリセル用の第１閾値電圧分布Ｅを示している。プログラムしたメモリセルの３つの閾値電圧分布Ａ、Ｂ及びＣも示している。一実施形態では、分布Ｅ内の閾値電圧は負であり、分布Ａ、Ｂ及びＣ内の閾値電圧は正である。
【００４３】
図９の異なる閾値電圧範囲の各々は、データビットのセットの所定の値に対応する。メモリセルにプログラムされたデータとセルの閾値電圧レベルの間の具体的な関係は、セルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第６，２２２，７６２号及び米国特許出願第１０／４６１，２４４号、「Tracking Cells For A Memory System」、出願日２００３年６月１３日（両方とも全体として参照によって本明細書に組み込まれる）は、マルチ状態フラッシュメモリセルの様々なデータ符号化方式を説明している。一実施形態では、データ値はグレイ符号割り当てを用いて閾値電圧範囲に割り当てられ、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトしても、影響を受けるのが１ビットだけとなるようにする。一例では、「１１」を閾値電圧範囲Ｅ（状態Ｅ）、「１０」を閾値電圧範囲Ａ（状態Ａ）、「００」を閾値電圧範囲Ｂ（状態Ｂ）、「０１」を閾値電圧範囲Ｃ（状態Ｃ）に割り当てる。しかし、他の実施形態ではグレイ符号は用いられない。図９は４つの状態を示しているが、本発明は４つより多い、または少ない状態を含む他のマルチ状態構造と共に用いることもできる。
【００４４】
図９はさらに、メモリセルからデータを読み出すための３つの読み出し基準電圧Ｖｒａ、Ｖｒｂ及びＶｒｃを示している。所定のメモリセルの閾値電圧がＶｒａ、Ｖｒｂ及びＶｒｃより高いか、低いかをテストすることによって、システムはメモリセルがどの状態にあるかを判定できる。図９はさらに、３つの検証基準電圧Ｖｖａ、Ｖｖｂ及びＶｖｃを示している。メモリセルを状態Ａにプログラムする場合、システムはそれらのメモリセルがＶｖａ以上の閾値電圧に到達したかどうかをテストする。メモリセルを状態Bにプログラムする場合、システムはメモリセルがＶｖｂ以上の閾値電圧に到達したかどうかをテストする。メモリセルを状態Ｃにプログラムする場合、システムはメモリセルがＶｖｃ以上の閾値電圧に到達したかどうかを判定する。
【００４５】
完全シーケンスプログラミングとして知られている一実施形態では、メモリセルは消去状態Ｅからプログラム状態Ａ、ＢまたはＣのどれかに直接的にプログラムすることができる。例えば、プログラムするメモリセルの集団が最初に消去されることによって、集団内の全てのメモリセルが消去状態Ｅになるようにする。次に、図８に示す制御ゲート電圧シーケンスを使用する図７に示す処理は、状態Ａ、ＢまたはＣにメモリセルを直接的にプログラムするために使用される。いくつかのメモリセルが状態Ｅから状態Ａにプログラムされる一方で、他のメモリセルは状態Ｅから状態Ｂに、及び／または、状態Ｅから状態Ｃにプログラムされる。ＷＬｎ上で状態Ｅから状態Ｃにプログラムする場合、ＷＬｎの下のフローティングゲート上での電圧の変化が最大となるので、ＷＬｎ−１（及び／または後述されるようなＷＬｎ＋１）の下の隣接フローティングゲートの結合量は最大となる。状態Ｅから状態Ｂにプログラムする場合、隣接するフローティングゲートへの結合量は低下するが、依然としてかなりの量である。状態Ｅから状態Ａにプログラムする場合、結合量はさらに低下する。その結果、その後にプログラムされる行ＷＬｎ−１及び／またはＷＬｎ＋１の各状態をその後読み出すために必要とされる補正量は、以前にプログラムされた行ＷＬｎ上の隣接セルの状態に応じて変化する。
【００４６】
図１０は、２つの異なるページ（下側ページと上側ページ）に対してデータを記憶するマルチ状態メモリセルをプログラムする二経路技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下側ページが「０」を記憶し、上側ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下側ページが「１」を記憶し、上側ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることもできる。第１プログラミング経路では、セルの閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「０」であれば、矢印３５０で示したように、セルの閾レベルは状態Ａになるように増大される。これが、第１プログラミング経路である。
【００４７】
第２プログラミング経路では、セルの閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「１」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態ＥまたはＡの一方であり、どちらも上側ページビットは「１」を保持するのでプログラミングは生じない。上側ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１経路によってセルが消去状態Ｅに留まっていれば第２段階でセルをプログラムし、矢印３５４で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミング経路の結果としてセルが状態Ａ内にプログラムされれば、メモリセルはさらに第２経路でプログラムされ、矢印３５５で示したように閾値電圧が状態Ｂ内になるように増大させる。第２経路の結果は、下側ページ用のデータを変更することなく、上側ページの論理「０」を記憶するように指定した状態にセルをプログラムすることである。図９及び図１０の両方で、隣接ワードラインの下のフローティングゲートに対する結合量は最終状態に依存する。
【００４８】
一実施形態では、ページ全体を充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。全ページに対して十分ではないデータが書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったとき、システムは上側ページをプログラムする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインのメモリセルの全体（または大部分）を充填するために十分なデータを引き続き受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、発明者Sergy Anatolievich Gorobets及びYan Liの米国特許出願第１１／０１３，１２５号、「Pipelined Programming of Non-Volatile Memories Using Early Data」、出願日２００４年１２月１４日で開示されている。その全体は参照することによって本明細書に組み込まれる。
【００４９】
フローティングゲート間結合は、読み出しの間に、読み出し動作中のエラー回復ステップの実行が必要となるような回復不能なエラーを生じさせることがある。メモリセルのフローティングゲート上に蓄積される見かけ上の電荷は、その後にプログラムされる隣接するメモリセルのフローティングゲートに蓄積される電荷から生じる電界からの結合により、見かけ上のシフトを生じることがある。多くの場合、この現象はフローティングゲート間結合、あるいはより簡略に単にフローティングゲート結合と呼ばれている。理論的には、メモリアレイの中のメモリセルのフローティングゲート上の電荷からの電界は、アレイの中の他の何れのメモリセルのフローティングゲートにも結合できる。しかしながら、その影響は、隣接するメモリセルで最も顕著である。隣接するメモリセルとは、同じビットライン上で隣接するメモリセル、同じワードライン上で隣接するメモリセル、または、隣接するビットラインと隣接するワードラインの両方の上にあるために互いに斜め方向に位置する隣接メモリセルを含む。電荷の見かけのシフトの結果、メモリセルのプログラムされたメモリ状態を読み出すときにエラーが生じることがある。
【００５０】
フローティングゲート結合の影響は、対象メモリセルに隣接するメモリセル（例えば、奇数／偶数ビットラインアーキテクチャにおいて）が、対象メモリセルの次にプログラムされる状況で最も顕著である。しかしながら、その影響は他の状況でも同様に見られる。隣接メモリセルのフローティングゲート上にそのように蓄積される電荷またはその電荷の一部は、対象メモリセルに結合し、対象メモリセルの閾値電圧の見かけ上のシフトにつながる。このメモリセルの見かけ上の閾値電圧の変化は、それ以後に対象メモリセルを読み出すときに読み出しエラーを生じさせることがある。例えば、メモリセルは、その見かけの閾値電圧が、プログラム後に、プログラムされたメモリ状態に対する基準読み出し電圧を印加してもオンしない、または、十分にオンにしない程度までシフトされる場合がある。
【００５１】
通常のプログラミング技術では、メモリセルの行のプログラムは、ソース側選択ゲートラインに隣接するワードライン（ＷＬ０）から開始する。プログラミングは、先行するワードライン（ＷＬｎ）のプログラミングを完了した（ワードラインの各セルをその最終的な状態にした）後に、隣接するワードライン（ＷＬｎ＋１）に少なくとも１ページのデータがプログラムされるというように、その後順次進行する（ＷＬ１、ＷＬ２、ＷＬ３等の順）。このプログラミングのパターンは、フローティングゲート間結合の影響のためにプログラムされた後のメモリセルの閾値電圧の見かけのシフトを生じさせる。プログラムされるストリングの最後のワードラインを除く全てのワードラインでは、隣接するワードラインは対象のワードラインのプログラミングの完了後にプログラムされる。隣接するメモリセルのフローティングゲートに加えられる負の電荷により、後でプログラムされたワードラインが、対象のワードライン上のメモリセルの見かけの閾値電圧を上昇させる。
【００５２】
図１１は、メモリセルの行（例えばＷＬｎ）の、その隣接する隣接行（ＷＬｎ＋１）がプログラムされる前（実線の曲線）及び後（点線の曲線）の見かけの閾値電圧分布を示す。各分布は、隣接するワードラインのメモリセルのフローティングゲートに負の電荷を加えられた結果として広げられている。フローティングゲート間結合影響のため、ＷＬｎ＋１上の後にプログラムされたメモリセルの負の電荷は、同じビットラインに接続されているＷＬｎ上のメモリセルの見かけ上の閾値電圧を上昇させる。後にプログラムされるセルは、例えば隣接するビットラインに接続されているメモリセルのような、異なるビットラインに接続されているＷＬｎのメモリセルの見かけの閾値電圧にも影響を及ぼすことがある。分布が広げられるため、メモリセルは隣接状態として誤って読み出されることがある。各分布の最大値におけるメモリセルは、対応する読み出し比較ポイントを超えた見かけ上の閾値電圧を有することがある。例えば、基準電圧Ｖｒｂを印加する場合に、状態Ａにプログラムされたあるメモリセルは、見かけの閾値電圧のシフトのために十分に導通しない可能性がある。これらのセルは状態Ｂとして誤って読み出され、読み出しエラーを生じさせることがある。
【００５３】
一実施形態に従って、新規の交互の行をベースにしたプログラミング技術が、選択行のメモリセルの閾値電圧の見かけ上のシフトを低減または防止するために使用される。図１２は、一実施形態による技術を示している。従来の技術の技法ように順次に行をプログラムするのではなく、交互行方法が使用される。プログラミングは、プログラムされているメモリセルのセットの選択ゲートに隣接する行０（ＷＬ０）から開始される。この場合、メモリセルのセットは１６のワードラインを含むブロックであり、プログラミングはソース側で開始される。実施形態に従って任意のサイズのブロックまたは他のプログラミングのユニットを使用できる。これらの技術を用いれば、例えば、４、８、３２以上のワードラインをプログラムできるで。さらに、プログラミングはソース側ではなくドレイン側から開始されてもよい。カギとなるのは、行の一部ではその後にプログラムされる隣接行がなくなるようにプログラミングが交互に進行する点である。選択行のプログラミングが完了した後に隣接行がプログラムされないようにプログラムすることにより、これらの選択行についてその後にプログラムされるフローティングゲート間結合が影響することはない。実施形態ではフローティングゲートの結合に対する影響を解決することを説明するが、パターン感度インピーダンスロードに関連するような他の現象の影響も、説明している技術を用いて同様に解決できる可能性がある。
【００５４】
この技術を達成するために、２つの偶数行がプログラムされる。プログラムすべき第１行から開始し、その後、介在する奇数行がプログラムされる。介在する奇数行がプログラムされた後に、次の偶数行がプログラムされ、その後に次の介在する奇数行がプログラムされる。このようにすると、各奇数行は、その行がプログラムされた後に隣接行がプログラムされることがなくなる。ここに使用されているように、用語「偶数行」または「ワードライン」は、行のセットの一行を指し、行のセットはそのセットについてプログラムされる第１行とその後にセットを通して順次進行する一行おきの行を含む。奇数行は、行のセットの一行を指し、セットについてプログラムされる第１行に隣接する行およびセットを通して順次進行する一行おきの行を含む。用語は行に与えられる名称またはラベルではなく、プログラムが開始する場所に対するセット内での位置によって決まる。図１２では、プログラミングは行０で開始するので、従って行０（ＷＬ０）、２（ＷＬ２）、４（ＷＬ４）、６（ＷＬ６）、８（ＷＬ８）、１０（ＷＬ１０）、１２（ＷＬ１２）、及び１４（ＷＬ１４）が偶数行であり、行１（ＷＬ１）、３（ＷＬ３）、５（ＷＬ５）、７（ＷＬ７）、９（ＷＬ９）、１１（ＷＬ１１）、１３（ＷＬ１３）、及び１５（ＷＬ１５）が奇数行である。
【００５５】
行０（１ページ以上）をプログラムした後、行２をプログラムし（１ページ以上）、次に行１をプログラムする（１ページ以上）。様々なタイプのプログラミングを使用できるが、２つの偶数行である行０と行２のプログラミングは、行１のプログラムが完了する前に完了する必要がある。行０と行２のプログラミングによる結合の影響が行１に生じないようにするためである。代替実施形態では、行２を最初にプログラムし、続いて行０をプログラムすることができる。これでも両行とも行１の前にプログラムされるので、行０および２のプログラミングによる結合の影響が行１に生じることはない。どちらの想定でも、その後のプログラミングは以下のように進行する。行１をプログラムした後、プログラムされる次の偶数行（行４）をプログラムし、続いてプログラムされる次の奇数行（行３）をプログラムする。行４のプログラミングは、行１のプログラミングを完了する前に開始できるが、それ以後のプログラミング結合の影響を回避するために、行４のプログラミングが完了するまで行３のプログラミングは完了してはならない。このパターンは、最後の行を除く全ての行をプログラムするまで続く。プログラムされる最後から２番目の行は奇数行（行１３）である。行１３をプログラミングした後、最後の行（行１５）をプログラムする。
【００５６】
セットをプログラムする順序は行の図のとおりである。プログラムすべき第１行（ＷＬｎ）をプログラムした後、プログラミングは、最後のワードラインを除く全てのワードラインがプログラムされるまでワードライン順序｛ＷＬｎ＋２、ＷＬｎ＋１、ＷＬｎ＋４、ＷＬｎ＋３…｝に従って進行する。最後のワードラインを除く全てをプログラムした後、最後のワードラインをプログラムする。
【００５７】
図１２の技術に従ってプログラムするメモリセルのセットには３つの異なる結合が想定される。プログラムすべき最初（第１）のワードライン（ＷＬ０）は、後にプログラムされる１つのワードライン（ＷＬ１）からフローティングゲート間結合を経験し、他の偶数ワードラインは後にプログラムされる２つのワードライン（ＷＬｎ＋１及びＷＬｎ−１）のフローティングゲート結合を経験し、奇数ワードラインは後にプログラムされる隣接ワードラインのフローティングゲート間結合を経験しない。奇数ワードラインは後にプログラムされる隣接ワードラインのフローティングゲート間結合を経験しないため、異なる処理ができる。例えば、奇数ワードラインは、後にプログラムされるセルによって生じる状態間のマージンの減少を経験しないため、プログラム電圧ステップのサイズを大きくしてより迅速にプログラムすることができる。従って、奇数ワードラインは、プログラム電圧ステップを大きくして低精度でプログラムされても、依然として信頼できる読み出しマージンを維持できる。一実施形態では、データは奇数行には高密度で書き込んでもよい。
【００５８】
図１３Ａ〜図１３Ｅは、図１２の技術による様々な実施形態におけるプログラミング順序を説明する表を示している。上記のように、各ブロックは列を形成するビットラインのセットと、行を形成するワードラインのセットとを有している。一実施形態では、ビットラインは奇数ビットラインと偶数ビットラインに分けられる。共通のワードラインに沿った、奇数ビットラインに接続されているメモリセルは一度にプログラムされる。ただし、共通ワードラインに沿った、偶数ビットラインに接続されるメモリセルは別にプログラムされる（「奇数／偶数プログラミング」）。別の実施形態では、ブロック内の全てのビットラインについて、ワードラインに沿ってメモリセルをプログラムする（「全ビットラインプログラミング」）。他の実施形態では、ビットラインまたはブロックを他のグループに分解できる（例えば、左と右、３つ以上のグループ等）。奇数／偶数プログラミングを使用するアーキテクチャの例は、米国特許第６，５２２，５８０号及び第６，６４３，１８８号に記載されている。両方をその全体として参照することにより本明細書に組み込まれる。全ビットラインプログラミングを用いるアーキテクチャについてのさらなる詳細は、全体を参照することにより組み込まれる以下の米国特許文書に記載されている。米国特許出願公報第２００４／００５７２８３号、米国特許出願公報第２００４／００６００３１号、米国特許出願公報第２００４／００５７２８５号、米国特許出願公報第２００４／００５７２８７号、米国特許出願公報、米国第２００４／００５７３１８号、米国特許第６，７７１，５３６号、米国特許第６，７８１，８７７号である。さらに、全体を参照することにより本明細書に組み込まれる米国特許出願第１１／０９９，１３３号、「COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY」、出願日２００５年４月５日が、全ビットラインプログラミングアーキテクチャ及び奇数／偶数ビットラインプログラミングアーキテクチャの両方の完全シーケンスプログラミング及び二経路プログラミングの例を説明している。一般的には、全ビットラインをいっしょにプログラムするアーキテクチャは、全ビットラインからデータを同時に読み出す。同様に、奇数行と偶数行を別々にプログラムするアーキテクチャは、通常、奇数行と偶数行を別々に読み出す。しかしながら、このような制限は必須ではない。本書に説明するデータを読み出す技術は、全ビットラインプログラミング及び／または奇数／偶数ビットラインプログラミングとともに使用できる。
【００５９】
図１３Ａは、図１２の技術による全ビットラインプログラミングによるメモリセルをプログラムする順序を説明する表である。図１３Ａの実施形態は、完全シーケンスプログラミング（例えば図９）についてである。この実施形態では、プログラムされているブロックは、それぞれが１ページのデータ（ページ０〜７）を記憶する８つのワードライン（ＷＬ０〜ＷＬ７）を有している。ページはページ０で始まり、順番に書き込まれる。ページ０が最初に書き込まれ、ワードラインＷＬ０に接続されている全てのメモリセルによって記憶されるデータを含む。ページ１が２番目に書き込まれ、ワードラインＷＬ２に接続されているすべてのメモリセルによって記憶されるデータを含む。ページ２は３番目に書き込まれ、ワードラインＷＬ１に接続されている全てのメモリセルによって記憶されるデータを含む。ページ３は４番目に書き込まれ、ワードラインＷＬ４に接続されている全てのメモリセルによって記憶されるデータを含む。ページ４は５番目に書き込まれ、ＷＬ３に接続されている全てのメモリセルラインによって記憶されるデータを含む。ページ５は６番目に記憶され、ワードラインＷＬ６に接続されている全てのメモリセルによって記憶されるデータを含む。ページ６は７番目に書き込まれ、ワードラインＷＬ５に接続されている全てのメモリセルによって記憶されるデータを含む。ページ７は最後に書き込まれ、ワードラインＷＬ７に接続されている全てのメモリセルによって記憶されるデータを含む。ワードラインＷＬ０にページ０が書き込まれ、ワードラインＷＬ２にページ１が書き込まれた後に、ページ２がワードラインＷＬ１に書き込まれるので、ワードラインＷＬ１に結合するメモリセルの見かけの閾値電圧はワードラインＷＬ０またはＷＬ２のそれ以後に書き込まれるあらゆるメモリセルによって影響を及ぼされない。これは各奇数行（ＷＬ１、ＷＬ３、ＷＬ５、ＷＬ７）について当てはまる。第１偶数行ＷＬ０は、ワードラインＷＬ１のプログラミングによって影響を受け、１行おきの偶数行（ＷＬ２、ＷＬ４、及びＷＬ６）は、２つの隣接行（例えば、行ＷＬ３及び行ＷＬ４の場合ＷＬ５）のプログラミングによって影響を受ける。
【００６０】
完全シーケンスプログラミングの別の実施形態では、最初に偶数ビットラインにデータを書き込み、その後に奇数ビットラインにデータを書き込むことができる。図１３Ｂは、図１２の技術に従って完全シーケンスプログラミング（図９）を使用したときの偶数ビットラインと奇数ビットラインをプログラムする順序を示している。この実施形態では、８つのワードラインを有するブロックが１６ページのデータを含んでいる。各ワードラインは２ページのデータを記憶し、各ワードラインの偶数ビットラインが１ページを、奇数ビットラインがもう１ページを記憶する。再び、ページはページ０で始まる順序で書き込まれる。
【００６１】
ページ０は、１番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ０のメモリセルによって記憶されるデータを含む。ページ１は、２番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ０のメモリセルによって記憶されるデータを含む。ページ２は、３番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ２のメモリセルによって記憶されるデータを含む。ページ３は、４番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ２のメモリセルによって記憶されるデータを含む。ページ４は、５番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ１のメモリセルによって記憶されるデータを含む。ページ５は、６番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ１のメモリセルによって記憶されるデータを含む。ページ６は、７番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ４のメモリセルによって記憶されるデータを含む。ページ７は、８番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ４のメモリセルによって記憶されるデータを含む。ページ８は、９番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ３のメモリセルによって記憶されるデータを含む。ページ９は、１０番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ３のメモリセルによって記憶されるデータを含む。ページ１０は、１１番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ６のメモリセルに記憶されるデータを含む。ページ１１は、１２番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ６のメモリセルによって記憶されるデータを含む。ページ１２は、１３番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ５のメモリセルによって記憶されるデータを含む。ページ１３は、１４番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ５のメモリセルによって記憶されるデータを含む。ページ１４は、１５番目に書き込まれ、偶数ビットラインに接続されているワードラインＷＬ７のメモリセルによって記憶されるデータを含む。ページ１５は、１６番目に書き込まれ、奇数ビットラインに接続されているワードラインＷＬ７のメモリセルによって記憶されるデータを含む。
【００６２】
全ビットラインプログラミング手法の場合と同様に、データの全ての必要なページは、介在する奇数ワードラインに書き込む前に隣接する偶数ワードラインに書き込まれる。偶数ワードラインを先にプログラムするため、奇数ワードラインのメモリセルは、奇数ワードラインをプログラムした後に隣接メモリセルに加えられる負の電荷による結合を経験しない。
【００６３】
図１３Ｃの表は、図１２の技術による図１０の二段階プログラミング処理を用いるときの全ビットライン手法のプログラミング順序を説明している。各ワードラインが２ページのデータ（上側ページ及び下側ページ）を記憶する８つのワードラインのあるブロックが示されている。ページは数値順でプログラムされ、介在する奇数ワードラインがプログラムされる前に２つの偶数ワードラインがプログラムされる。ワードラインＷＬ０に接続されているメモリセルの場合、データの下側ページがページ０を形成し、データの上側ページがページ１を形成する。ワードラインＷＬ０を最初にプログラムする。ワードラインＷＬ０のメモリセルの後にプログラムされるＷＬ２のメモリセルの場合、データの下側ページがページ２を形成し、データの上側ページがページ３を形成する。ワードラインＷＬ２のメモリセルの後にプログラムされるＷＬ１のメモリセルの場合、データの下側ページがページ４を形成し、データの上側ページがページ５を形成する。ワードラインＷＬ１のメモリセルの後にプログラムされるＷＬ４のメモリセルの場合、データの下側ページがページ６を形成し、データの上側ページがページ７を形成する。ワードラインＷＬ４のメモリセルの後にプログラムされるＷＬ３のメモリセルの場合、データの下側ページがページ８を形成し、データの上側ページがページ９を形成する。ワードラインＷＬ４のメモリセルの後にプログラムされるＷＬ６のメモリセルの場合、データの下側ページがページ１０を形成し、データの上側ページがページ１１を形成する。ワードラインＷＬ６のメモリセルの後にプログラムされるＷＬ５のメモリセルの場合、データの下側ページはページ１２を形成し、データの上側ページがページ１３を形成する。ワードラインＷＬ５のメモリセルの後にプログラムされるＷＬ７のメモリセルの場合、データの下側ページがページ１４を形成し、データの上側ページがページ１５を形成する。
【００６４】
図１３Ｄの表は、図１２の技術にかかる図１０の二段階プログラミング処理を用いるときの奇数／偶数ビットライン手法のプログラミングの順序を説明している。各ワードラインが４ページのデータ（上側ページ及び下側ページのそれぞれに２ページ）を記憶する８つのワードラインのあるブロックが示されている。ページは数値順にプログラムし、介在する奇数ワードラインをプログラムする前に２つの偶数ワードラインをプログラムする。偶数ビットライン上にある（最初にプログラムされる）ワードラインＷＬ０のメモリセルの場合、データの下側ページがページ０を形成し、データの上側ページがページ２を形成する。奇数ビットライン上にあるワードラインＷＬ０のメモリセルの場合、データの下側ページはページ１を形成し、データの上側ページはページ３を形成する。偶数ビットライン上にある（ワードラインＷＬ０の後にプログラムされる）ワードラインＷＬ２のメモリセルの場合、下側ページのデータがページ４を形成し、データの上側ページがページ６を形成する。奇数ビットライン上にあるワードラインＷＬ０のメモリセルの場合、データの下側ページがページ５を形成し、データの上側ページがページ７を形成する。偶数ビットライン上にある（ワードラインＷＬ２の後にプログラムされる）ワードラインＷＬ１のメモリセルの場合、データの下側ページはページ８を形成し、データの上側ページはページ１０を形成する。奇数ビットライン上にあるワードラインＷＬ１のメモリセルの場合、データの下側ページはページ９を形成し、データの上側ページはページ１１を形成する。偶数ビットライン上にある（ワードラインＷＬ１の後にプログラムされる）ワードラインＷＬ４のメモリセルの場合、データの下側ページはページ１２を形成し、データの上側ページはページ１４を形成する。奇数ビットライン上にあるワードラインＷＬ４のメモリセルの場合、データの下側ページがページ１３を形成し、データの上側ページがページ１５を形成する。偶数ビットライン上にある（ワードラインＷＬ４の後にプログラムされる）ワードラインＷＬ３のメモリセルの場合、データの下側ページがページ１６を形成し、データの上側ページがページ１８を形成する。奇数ビットライン上にあるワードラインＷＬ３のメモリセルの場合、データの下側ページはページ１７を形成し、データの上側ページはページ１９を形成する。偶数ビットライン上にある（ワードラインＷＬ３の後にプログラムされる）ワードラインＷＬ６のメモリセルの場合、データの下側ページはページ２０を形成し、データの上側ページはページ２２を形成する。奇数ビットライン上にあるワードラインＷＬ６のメモリセルの場合、データの下側ページがページ２１を形成し、データの上側ページがページ２３を形成する。偶数ビットライン上にある（ワードラインＷＬ６の後にプログラムされる）ワードラインＷＬ５のメモリセルの場合、データに下側ページがページ２４を形成し、データの上側ページがページ２６を形成する。奇数ビットライン上にあるワードラインＷＬ５のメモリセルの場合、データの下側ページがページ２５を形成し、データの上側ページがページ２７を形成する。偶数ビットライン上にある（ワードラインＷＬ５の後にプログラムされる）ワードラインＷＬ７のメモリセルの場合、データの下側ページがページ２８を形成し、データの上側ページがページ３０を形成する。奇数ビットライン上にあるワードラインＷＬ７のメモリセルの場合、データの下側ページがページ２９を形成し、データの上側ページがページ３１を形成する。図１３Ｅの表は図１３Ｄの交互手法を説明する。図１３Ｅの手法に従ってそれぞれの個々のワードラインをプログラムすると、奇数ビットラインのための下側ページ及び上側ページがプログラムされる前に、偶数ビットラインのために下側ページ及び上側ページの両方をプログラムされる。
【００６５】
図１４は、不揮発性メモリセルからデータを読み出す一実施形態を説明するフローチャートである。検出モジュールについてのこれまでの説明では、特定のビットラインからどのようにデータを読み出すかを説明している。図１４は、システムレベルにおける読み出し処理の一実施形態を提供する。ステップ４０２で受信されたデータを読み出し要求に応答して、ステップ４０４で特定のページに対する読み出し動作が実行される。一実施形態では、１ページに対するデータをプログラムする際に、システムはエラー訂正符号（ＥＣＣ）を生成し、それらのＥＣＣをデータのページと共に書き込む。ＥＣＣ技術は、技術的によく知られている。用いられるＥＣＣ処理は、技術的に知られている任意の適切なＥＣＣ処理を含むことができる。ＥＣＣは、１ページからデータを読み出す際に、データ内に任意のエラーがあるかどうかを判定するために用いられる（ステップ４０６）。ＥＣＣ処理は、制御部、状態マシン、あるいはシステム内の他のどこかで実行できる。データ内にエラーがない場合、ステップ４０８においてデータはユーザに報告される。例えば、データは、図６に示されるデータＩ／Ｏライン１３４を介して制御部またはホストに通信される。ステップ４０６でエラーが見つかると、ステップ４１０でそのエラーを訂正可能かどうかが判定される。エラーは、フローティングゲート間結合効果による場合や、他の物理的構造による場合がある。様々なＥＣＣ技法は、データのセット内の所定数のエラーを訂正する能力を有する。ＥＣＣ処理がデータを訂正可能であれば、ＥＣＣ処理を用いてステップ４１２でそのデータを訂正し、訂正されたデータがステップ４１４でユーザに報告される。データがＥＣＣ処理で訂正不可能な場合、ステップ４１６でデータ復元処理が実行される。いくつかの実施形態では、ステップ４１６の後にＥＣＣ処理が実行される。データ復元処理についてのさらなる詳細は後に説明する。データを復元した後に、そのデータはステップ４１８で報告される。なお、図１４の処理は、全ビットラインプログラミング、または、奇数／偶数ビットラインプログラミングを用いてプログラムされたデータと共に用いることができる。
【００６６】
図１５は、図１２の技術に従ってプログラムされた不揮発性記憶素子を読み出す新規技術のフローチャートである。図１５の技術は、１ページのメモリセルを読み出す図１４のステップ４０４において使用できる。図１５の処理は、１ブロックの全ビットライン、ブロックの奇数ビットラインだけ、ブロックの偶数ビットラインだけ、またはブロックのビットラインの他のサブセットを含むページについて実行できる。メモリからデータの読み出し要求（１ページ以上のデータが要求される場合がある）を受け取った後に、ある特定のページのデータに対する読み出しがステップ５０２で始まり、要求されたページのデータを記憶するメモリセルが偶数ワードラインに接続されているのか、あるいは奇数ワードラインに接続されているのかが判定される。ページのデータが奇数ワードラインに記憶される場合、選択ワードラインの適切なメモリセルが標準的な読み出し処理を使用してステップ５０４で読み出される。特定の奇数のワードラインに隣接する２つのワードラインは、その特定の奇数のワードラインをプログラムする前にプログラムされている。従って、後にプログラムされる隣接メモリセルからの結合の影響は存在せず、メモリセルはこのような結合及びメモリセルの見かけの閾値電圧の関連するシフトを補償することなく読み出すことができる。
【００６７】
要求されたページが偶数ワードラインに接続されているメモリセルに記憶されている場合には、要求された偶数ワードラインが、その一部であるメモリセルのブロックのためにプログラムされる最初（第１）のワードライン（ＷＬ０）であるか否かがステップ５０６で判定される。要求されたページが最初のワードラインに記憶されている場合には、そのメモリセルは、ワードラインＷＬ１のメモリセルのプログラム状態に基づいた補償またはオフセットを用いてステップ５０８で読み出される。ワードラインＷＬ１がワードラインＷＬ０の後にプログラムされるため、ワードラインＷＬ１のメモリセルはワードラインＷＬ０に接続されているメモリセルの閾値電圧の見かけ上のシフトを引き起こす可能性がある。
【００６８】
一方、要求されたページが最初の偶数ワードラインのメモリセル内に記憶されていない場合には、要求されたページのデータを記憶するメモリセルは、各隣接奇数ワードライン（ＷＬｎ−１及びＷＬｎ＋１）のプログラム状態に基づいた補償を使用してステップ５１０で読み出される。最初のワードラインを除く各偶数ワードラインは、その後にプログラムされた２つの奇数ワードラインに隣接する。従って、ＷＬｎ＋１及びＷＬｎ−１上のメモリセルのフローティングゲートに蓄積された負の電荷が、対象のワードライン（ＷＬｎ）に接続されているメモリセルの閾値電圧の見かけ上のシフトを引き起こす可能性がある。
【００６９】
図１５の処理は、図１４のステップ４０４においての１ページの読み出し動作の実行について説明された。但し、図１５の処理は、偶数行の読み出し処理の間にエラーを検出した後に、ステップ４１６でデータ回復の一部として使用することもできる。回復処理の一部として実行される場合、ステップ５０４は任意である。
【００７０】
図１６は、１ページの標準的な読み出し動作（図１５のステップ５０４）を実行する処理の一実施形態を説明するフローチャートである。図１６の処理は、ブロックの全てのビットライン、ブロックの奇数ビットラインだけ、ブロックの偶数ビットラインだけ、またはブロックのビットラインの他のサブセットを含むページについて実行できる。ステップ５２０では、読み出し基準電圧Ｖｒａが、ページと関連する適切なワードラインに印加される。ステップ５２２では、ページと関連付けられたビットラインが、アドレスされたメモリセルがそれら制御ゲートに対するＶｒａの印加に基づいて導通するか、または、導通しないかを判定するために検出される。導通するビットラインは、メモリセルがオンされたことを示す。従って、それらのメモリセルの閾値電圧は、図９に図示されているように（例えば、状態Ｅの）Ｖｒａ未満である。ステップ５２４では、ビットラインの検出の結果が、それらのビットラインの適切なラッチに記憶される。ステップ５２６では、読み出し基準電圧Ｖｒｂが読み出し中のページに関連するワードラインに印加される。ステップ５２８では、上述したようにビットラインが検出される。ステップ５３０では、その結果がビットラインのための適切なラッチに記憶される。ステップ５３２では、読み出し基準電圧Ｖｒｃがページと関連するワードラインに印加される。ステップ５３４では、上述したように、どのメモリセルが導通するかを判定するためにビットラインが検出される。ステップ５３６では、検出ステップの結果が、ビットラインの適切なラッチに記憶される。ステップ５３８では、各ビットラインのデータ値が判定される。例えば、メモリセルがＶｒａで導通する場合は、メモリセルは状態Ｅにある。メモリセルがＶｒｂとＶｒｃで導通するがＶｒａでは伝導しない場合は、メモリセルは状態Ａにある。メモリセルがＶｒｃで導通するがＶｒａ及びＶｒｂでは導通しない場合は、メモリセルは状態Ｂにある。メモリセルがＶｒａ，Ｖｒｂ，Ｖｒｃで導通しない場合は、メモリセルが状態Ｃにある。一実施形態では、データ値は図６のプロセッサ２１２によって判定される。ステップ５４０では、プロセッサ２１２が、各ビットラインの適切なラッチに判定したデータ値を記憶する。他の実施形態では、各レベル（Ｖｒａ、Ｖｒｂ及びＶｒｃ）の検出が異なる順序で行われる場合がある。
【００７１】
図１７は、図１２の技術に従ってプログラムされたデータのページを読み出す新規な方法を説明するフローチャートである。図１７は、ブロックについてプログラムされる最初のワードライン以外の偶数ワードラインに接続されているメモリセルに記憶された１ページのデータを読み出す図１５のステップ５１０において使用できる。図１７は、少しの修正を行えば、ブロックについてプログラムされる最初のワードラインに接続されているメモリセルに記憶された１ページのデータを読み出すステップ５０８で使用することもできる。修正についても以下に説明する。
【００７２】
図１７の処理は、隣接するメモリセルからのフローティングゲート間結合影響を補償するとともにデータの読み出しを試みる。補償は、隣接ワードライン（ＷＬｎ＋１及びＷＬｎ−１）を調べるとともに、隣接ワードラインの過去のプログラミングがどの程度までフローティングゲート間結合影響を生じさせるかを判定するステップを含んでいる。最初のワードラインに対して実行されるとき、最初のワードラインの後にプログラムされるワードラインＷＬｎ−１がないため、補償は隣接するワードラインＷＬｎ＋１だけを調べる。ワードラインＷＬｎ＋１及び／またはＷＬｎ−１上のデータが結合影響によってＷＬｎ上のデータを阻害している場合には、読み出し処理は、隣接するワードライン上のメモリセルのプログラム状態の関数である読み出し基準電圧（比較ポイント）に対する１つ以上のオフセットを使用することによりその阻害を補償する。但し、図１７は、隣接するメモリセルがプログラムされているか否かのみを考慮する簡略化した処理を示している。隣接するメモリセルの実際のプログラム状態を判定せずに、隣接するメモリセルがプログラムされたか否かだけを判定する。
【００７３】
図１７は、（例えば、図９に示されるような）完全シーケンスプログラミングを用いてプログラムされたメモリセルを読み出す方法を説明している。完全シーケンスプログラミングでは、１論理ページの２ビットが、各セルに記憶され、これらは読み出されると同時に報告される。ＷＬｎ＋１上のメモリセルがプログラムされておらず（消去状態Ｅ）、ＷＬｎ−１上のメモリセルがプログラムされていない（状態Ｅ）場合には、フローティングゲート間結合の影響はない。ワードラインＷＬ（ｎ＋１）及びＷＬ（ｎ−１）上のメモリセルが両方ともプログラムされている場合（プログラム状態Ａ、ＢまたはＣ）、かなり大きな結合の影響がある。一方の隣接ワードラインのメモリセルがプログラムされているが他方の隣接ワードラインのメモリセルが消去されている場合は、結合の影響が小さくなる傾向がある。最初のワードラインの場合は、後にプログラムされるワードラインＷＬｎ＋１だけを有し、後にプログラムされるワードラインＷＬｎ−１を有していないので、結合の影響が存在しない場合と、小さい結合の影響が存在する場合とがある。隣接するセルに起因する正確な結合の影響は、アレイの構成や動作によって変化し、装置の特徴によって判定することができる。
【００７４】
ステップ６０２では、対象のワードラインに隣接するワードラインのメモリセルがプログラムされているかどうかが判定される。ステップ６０２は、ワードラインＷＬｎ＋１に対する簡単なバイナリ読み出し動作の実行を含む場合がある。例えば、ステップ６０２は、読み出し基準電圧Ｖｒａを用いる図１６の実行ステップ５２０から５２２を含む場合がある。Ｖｒａの印加時に導通するワードラインＷＬｎ＋１のセルは消去されていると判定される。一方、導通しないセルはプログラムされていると判定される。一実施形態では、同様に進行する判定によりＶｒａの代わりにＶｒｂまたはＶｒｃを使用できる。ステップ６０２の結果は、ステップ６０４で適切なラッチに記憶される。ステップ６０６及び６０８では、同様の動作がワードラインＷＬｎ−１に対して実行される。プログラムされる最初のワードラインに対して図１７が実行される場合（図１５のステップ５０８）、ステップ６０６及び６０８は省略される。
【００７５】
ステップ６１０では、読み出し動作が、通常の読み出し比較ポイントで対象のワードラインＷＬｎに対して実行される。これは、Ｖｒａ、Ｖｒｂ及びＶｒｃを用いて図１６の処理を実行することを含む。いくつかの実施形態では、ＷＬｎ＋１及び／またはＷＬｎ−１を読み出すために使用されるレベル及び／またはレベルの数は、ＷＬｎを読み出すために当初使用されるものと正確に同じとしなくてもよい。ステップ６１０の結果は、（ステップ６０２及び６０６において）ＷＬｎ＋１及びＷＬｎ−１上の隣接セルの両方が状態Ｅにあると判定されたＷＬｎ上のメモリセルを有するビットラインの適切なラッチにステップ６１２で記憶される。他のビットラインでは、データは無視される。図１７がプログラムされる最初のワードラインに対して実行された場合は、ステップ６１０の結果は、ステップ６０２でＷＬ（ｎ＋１）上の隣接セルが状態Ｅにあると判定されたメモリセルを有するビットラインの適切なラッチに記憶される。
【００７６】
ステップ６１４では、例えば各読み出しポイントを０．０８Ｖオフセットさせる等、読み出しポイントのオフセットの第１セットを用いて、読み出し動作が対象のワードラインＷＬｎに対して実行される。つまり、図１６の処理が実行される。しかしながら、Ｖｒａ、Ｖｒｂ、及びＶｒｃを用いずに、この例のシステムでは、Ｖｒａ＋０．０８Ｖ、Ｖｒｂ＋０．００８Ｖ及びＶｒｃ＋０．０８Ｖを用いる。なお、０．０８Ｖというオフセット値は単なる例であり、他の実装形態は異なるオフセット値を使用してよい。さらに、オフセットのセットは、各状態または読み出し比較ポイントについて同じオフセット値を含むが、他の実装形態は異なる状態に異なるオフセット値を使用してよい。ステップ６１６では、ステップ６１４の結果が、一方の隣接メモリセル（例えば、ＷＬｎ＋１）がプログラム状態にあり、他方の隣接メモリセル（例えばＷＬｎ−１）が消去状態にあるＷＬｎ上のメモリセルを有するビットラインについて記憶される。他のビットラインのデータは無視される。対象のワードラインがブロックについてプログラムされる最初のワードラインである場合（ステップ５０８）、後にプログラムされるワードラインＷＬｎ−１がないため、ステップ６１４の結果は、ワードラインＷＬｎ＋１上の隣接メモリセルがプログラム状態にあるＷＬｎ上のメモリセルを有するビットラインについて記憶される。
【００７７】
ステップ６１８では、例えば各読み出しポイントを０．１６Ｖオフセットさせる等、オフセットの第２セットを用いて、読み出し動作が対象のワードラインＷＬｎに対して実行される。図１６の処理が実行される。しかしながら、この例の読み出し基準ポイントはＶｒａ＋０．１６Ｖ、Ｖｒｂ＋０．１６Ｖ、及びＶｒｃ＋０．１６Ｖとなる。なお、他のオフセット値を用いることができる。フローティングゲート間結合の影響は２つのプログラムされた隣接メモリセルのためにほぼ二倍になるため、第１オフセットのために用いられる値の約２倍の値がここで用いられる。ステップ６２０では、ステップ６１８の結果が、両方のワードラインＷＬｎ＋１及びＷＬｎ−１上の隣接するメモリセルがプログラム状態にあるＷＬｎ上のメモリセルを有するビットラインの適切なラッチに記憶される。他のビットラインに対するデータは無視される。プログラムされるセットの最初のワードラインについて図１７が実行されるとき、ステップ６１８及び６２０は実行されない。
【００７８】
更なる改良のために、対象のワードラインＷＬｎを読み出すときに、図１７の単純なバイナリ読み出しではなく、完全読み出し動作をワードラインＷＬｎ＋１およびＷＬｎ-１に対して実行することができる。図１８Ａ及び図１８Ｂは、対象のメモリセルの２つの隣接メモリセルによる組み合わされた結合の影響（図１８Ａ）と、種々の結合に対して使用可能なオフセット値（図１８Ｂ）を表した表を示している。図１８Ａでは、ワードラインＷＬｎ＋１及びワードラインＷＬｎ−１についての４つの生じうる状態が、各組み合わせに対して予想される例示的な結合影響（ミリボルト単位の見かけの閾値電圧シフト）とともに示されている。後にプログラムされないメモリセル（状態Ｅ）は結合影響を示さず（０Ｖ）、状態Ａにプログラムされたメモリセルは約５０ｍＶの結合影響を示し、状態Ｂにプログラムされたメモリセルは約７５ｍＶの結合影響を示し、状態Ｃにプログラムされたメモリセルは約１００ｍＶの結合影響を示す。これらの潜在的な結合影響を有する２つの隣接メモリセルの組み合わせは、８つの結合組み合わせを示す。例えば、ワードラインＷＬ（ｎ＋１）のメモリセルが状態Ｂにプログラムされ、ワードラインＷＬ（ｎ−１）のメモリセルが状態Ｃにプログラムされている場合、同じビットラインを共有しているＷＬｎのメモリセルに対する組み合わされた結合影響は約１７５ｍＶとなる。この例の想定による８つの異なる結合影響の可能性を完全に且つ最も正確に考慮するために、両方の隣接するワードラインを読み出した後に、８つのオフセットのセットを対象のワードラインの８つのサブ読み出し中に印加することができる。
【００７９】
しかしながら、対象のワードラインの読み出しを簡略化し、必要とされるサブ読み出しの数を削減するために、平均的なオフセット値を用いることができる。図１８Ｂはこのような一例を示す。オフセットのセットの数は８ではなく４に減らされている。組み合わされた結合が０ｍＶ（両方の隣接セルが状態Ｅ-状態Ｅ／Ｅ）の場合、第１セットとして０ｍＶのオフセット値を用いることが。組み合わされた結合が５０ｍＶ、７５ｍＶまたは１００ｍＶ（組み合せ状態Ａ／Ｅ、Ｂ／Ｅ、Ｃ／Ｅ、Ｅ／Ａ、Ｅ／Ｂ、Ｅ／Ｃ及びＡ／Ａ）の場合、７５ｍＶの平均オフセット値を用いることができる。組み合わされた結合が１２５ｍＶ及び１５０ｍＶ（組み合せ状態Ｂ／Ａ、Ｃ／Ａ、Ａ／Ｂ、Ａ／Ｃ、及びＢ／Ｂ）の場合、１３８ｍＶの平均オフセット値を用いることが。組み合わされた結合が１７５ｍＶ及び２００ｍＶ（組み合せ状態Ｃ／Ｂ、Ｂ／Ｃ、及びＣ／Ｃ）の場合、１８８ｍＶの平均オフセット値を用いることができる。実施形態に従って多数の変形を使用できる。結合の組み合わせをより単純化し、４未満の組み合わせを使用し、異なるオフセット値を使用してもよい。さらに、４つを超える状態を有する実施形態においては、他の様々な組み合わせを使用できる。
【００８０】
図１９は、完全読み出し動作が隣接するワードラインに対して実行される完全シーケンスプログラミング（例えば、図９）を用いてプログラムされたメモリセルを読み出す方法を説明する。図１９は、図１８Ａ及び図１８Ｂに示されるオフセットのセット（４つのサブ読み出し）を使用するが、他の実施形態では他の異なるオフセットのセット、グループ及びサブ読み出しの数を使用してよい。
【００８１】
ステップ６５０は、第１の隣接ワードラインＷＬｎ＋１のための読み出し動作を実行するステップを含む。これは、図１６の処理を実行するステップを含む場合がある。ステップ６５０の結果は、ステップ６５２の適切なラッチに記憶される。ステップ６５４では、第２の隣接ワードラインＷＬｎ−１に対して読み出し動作を実行する。これも、図１６の処理を実行するステップを含む場合がある。結果はステップ６５６で適切なラッチに記憶される。図１９が、プログラムされるブロックの最初のワードラインに対して実行される場合、ステップ６５４及び６５６は省略される。いくつかの実施形態では、ワードラインＷＬｎ＋１及びＷＬｎ−１について読み出し動作が実行された結果、ワードラインＷＬｎ＋１及びＷＬｎ−１に記憶されている実際のデータが判定される。他の実施形態では、ＷＬｎ＋１及びＷＬｎ−１に読み出し動作が実行された結果、ＷＬｎ＋１及びＷＬｎ−１の電荷レベルが判定される。この判定は、ＷＬｎ＋１及びＷＬｎ−１に記憶されているデータを正確に反映している場合もあれば、正確に反映していない場合もある
【００８２】
ステップ６５８では、通常の読み出し比較ポイントによって、対象のＷＬｎのワードラインに対して読み出し動作が実行される。これは、読み出し比較ポイントＶｒａ、Ｖｒｂ及びＶｒｃを用いて図１６の処理を実行するステップを含む場合がある。いくつかの実施形態では、ＷＬｎ＋１及びＷＬｎ−１を読み出すために使用されるレベル及び／またはレベルの数はＷＬｎを読み出すために当初使用されたものと正確に同じでなくてもよく、ＷＬｎ訂正のために単にフローティングゲート閾値電圧値に近い値でも十分である。ステップ６５８の結果は、（ステップ６５０及び６５４で判定される）ワードラインＷＬｎ＋１上の隣接セル及びＷＬｎ−１上の隣接セルが状態Ｅであるメモリセルを有するビットラインの適切なラッチに、ステップ６６０で記憶される。他のビットラインの場合、データは無視される。ＷＬｎがブロックのプログラムされる最初のワードラインである場合には、ＷＬｎ＋１上の隣接セルが状態ＥであるＷＬｎ上のメモリセルを有するビットラインに対してデータがステップ６６０で記憶される。
【００８３】
ステップ６６２では、読み出しポイントのオフセットの第１セットを用いて、対象のＷＬｎのワードラインに対して、読み出し動作が実行される。例えば、図１６の処理を、Ｖｒａ、Ｖｒｂ及びＶｒｃの代わりにＶｒａ＋０．００７５Ｖ、Ｖｒｂ＋０．０７５Ｖ及びＶｒｃ＋０．０７５Ｖを使用して実行することができる。オフセットの第１のセットは、各状態に対して、０．０７５Ｖという単一のオフセット値を使用する。このオフセット値は、図１８Ｂに示される組み合わされた結合５０ｍＶ、７５ｍＶ及び１００ｍＶの平均に相当する。他の値を、特定の実施形態に応じて使用してもよい。また、オフセットのセットは、１つまたは複数の状態に対して異なるオフセット値を含むこともできる。ステップ６６４では、ステップ６６２の結果が、隣接ワードラインＷＬｎ＋１及びＷＬｎ−１上の隣接セルが、以下のいずれかの組合せ、すなわち、図１８Ａ及び図１８Ｂに示すように、状態Ｅ／状態Ａ、状態Ｅ／状態Ｂ、状態Ｅ／状態Ｃ、状態Ａ／状態Ｅ、状態Ａ／状態Ａ、状態Ｂ／状態Ｅ、または状態Ｃ／状態Ｅの何れかにあるメモリセルを有するビットラインについて記憶される。他のビットラインの場合、データは無視できる。
【００８４】
プログラムされる最初のワードラインに対して図１９が実行される場合、ステップ６６２は、結合によって０．０５Ｖのシフトを引き起こす状態Ａの単一の隣接セルに相当する０．０５Ｖのオフセット値が使用される。ステップ６６４では、ワードラインＷＬｎ＋１上の隣接セルが状態ＡであるＷＬｎ上のメモリセルを有するビットラインについて、データが記憶される。他のビットラインの場合、データは無視できる。
【００８５】
ステップ６６６では、読み出しポイントに対するオフセットの第２セットを用いて、対象のワードラインＷＬｎに対して、読み出し動作が実行される。例えば、図１６の処理を、Ｖｒａ、Ｖｒｂ及びＶｒｃの代わりにＶｒａ＋０．１３８Ｖ、Ｖｒｂ＋０．１３８Ｖ及びＶｒｃ＋０．１３８Ｖを使用して実行できる。オフセットの第２セットは、各状態に対して、０．１３８Ｖという単一のオフセット値を使用する。このオフセット値は、図１８Ｂに示される組み合わされた結合１２５ｍＶ、１５０ｍＶの平均に相当する。他の値を、特定の実施形態に応じて使用してもよい。また、オフセットのセットは、１つまたは複数の状態に対して異なる値を含むこともできる。ステップ６６８では、ステップ６６６の結果が、隣接ワードラインＷＬｎ＋１及びＷＬｎ−１上の隣接セルが、以下の何れかの組合せ、すなわち、図１８Ａ及び図１８Ｂに示すように、状態Ａ／状態Ｂ、状態Ａ／状態Ｃ、状態Ｂ／状態Ａ、状態Ｂ／状態Ｂ、または状態Ｃ／状態Ａの何れかにあるＷＬｎ上のメモリセルを有するビットラインについて記憶される。
【００８６】
プログラムされる最初のワードラインについて図１９が実行される場合、ステップ６６６は、結合によって０．０７５Ｖのシフトを引き起こす状態Ｂの単一の隣接セルに相当する０．０７５Ｖのオフセット値が使用される。ステップ６６８では、ワードラインＷＬｎ＋１上の隣接セルが状態ＢであるＷＬｎ上のメモリセルを有するビットラインについて、データが記憶される。他のビットラインの場合、データは無視できる。
【００８７】
ステップ６７０では、読み出しポイントに対するオフセットの第３セットを用いて、対象のワードラインＷＬｎに対して、読み出し動作が実行される。例えば、図２２の処理を、Ｖｒａ、Ｖｒｂ及びＶｒｃの代わりにＶｒａ＋０．１８８Ｖ、Ｖｒｂ＋０．１８８Ｖ、及びＶｒｃ＋０．１８８Ｖを用いて実行できる。オフセットの第３セットは、各状態に対して、０．１８８Ｖという単一のオフセット値を使用する。このオフセット値は、図１８Ｂに示されている組み合わされた結合１７５ｍＶ及び２００ｍＶの平均に相当する。他の値を、特定の実施形態に応じて使用してもよい。また、オフセットのセットは、１つまたは複数の状態に対して異なるオフセット値を含むことができる。ステップ６７２では、ステップ６７０の結果が、隣接ワードラインＷＬｎ＋１及びＷＬｎ−１上の隣接セルが、以下の何れかの組合せ、すなわち、図１８Ａ及び図１８Ｂに示すように、状態Ｂ／状態Ｃ、状態Ｃ／状態Ｂ、または状態Ｃ／状態Ｃの何れかにあるＷＬｎ上のメモリセルを有するビットラインについて記憶される。他のビットラインの場合、データを無視できる。
【００８８】
プログラムされる最初のワードラインについて図１９が実行される場合、ステップ６７０は、結合によって０．１０Ｖのシフトを引き起こす状態Ｃの単一の隣接セルに相当する０．１０Ｖのオフセット値が使用される。ステップ６７２では、ワードラインＷＬｎ＋１上の隣接セルが状態ＣであるＷＬｎ上のメモリセルを有するビットラインについて、データが記憶される。他のビットラインの場合、データは無視できる。
【００８９】
前述したように、対象のワードラインのサブ読み出しの異なる組み合わせ及びその数は、他の実施形態で使用できる。例えば、０Ｖ、５０ｍＶ、７５ｍＶ、１００ｍＶ、１２５ｍＶ、１５０ｍＶ、１７５ｍＶ及び２００ｍＶのオフセット値を使用する８つのオフセットのセットは、それぞれの考えられる結合値を直接的に補償するために対象のワードラインの８つのサブ読み出しとともに使用できる。図１９で用いるもの以外の組み合わせも使用できる。
【００９０】
図１６から図１９の上述された方法は、図９の１論理ページの２ビットを記憶する完全シーケンスプログラミングに関して説明された。これらの処理は、２論理ページのそれぞれから１ビットを記憶する図１０の２ステップ処理に従ってプログラムされたデータを読み出す場合には、多少の修正をすることができる。例えば、標準的な読み出し動作（図１５のステップ５０４）を実行するときに、下側ページを読み出すには、メモリセルの制御ゲートにＶｒａ及びＶｒｃを印加し、それらの読み出し点で検出することによってデータが状態Ｅ／Ｃ（データ１）内にあるのか、あるいは下側ページのための状態Ａ／Ｂ（データ０）にあるのかを判定することが必要となる。従って、図１６は、読み出される下側ページに対してステップ５２０から５２４及びステップ５３２から５４０だけを実行するように修正される。上側ページの読み出しを実行するために、読み出し比較ポイントＶｒｂは、上側ページデータが状態Ｅ／Ａ（データ１）であるのか、または状態Ｂ／Ｃ（データ０）であるのかを判断するために使用される。従って、上側ページの読み出しの場合、図１６の処理は、ステップ５２６から５３０、５３８及び５４０だけを実行するように修正される。加えて、ステップ５０８または５１０でデータを回復するまたはデータを読み出すときには、処理は、下側ページのデータを回復するために図２０の方法を、及び、上側ページのデータを回復するために図２１の処理を実行する。
【００９１】
図２０のステップ７０２では、図１６の方法に従って、隣接ワードラインＷＬｎ＋１に対して読み出し動作が実行され、ステップ７０４において結果が適切なラッチに記憶される。ステップ７０６では、隣接ワードラインＷＬｎ−１に対して読み出し動作が実行され、ステップ７０８において結果が適切なラッチに記憶される。いくつかの実施形態では、隣接ワードラインに対して読み出し動作を実行した結果、ＷＬｎ＋１及びＷＬｎ−１に記憶される実際のデータが判定される。他の実施形態では、隣接ワードラインに対する読み出し動作を実行した結果、ＷＬｎ＋１及びＷＬｎ−１での電荷レベルが判定されるが、その中に記憶されるデータを正確に反映することもあれば、正確に反映しないこともある。プログラムされる最初のワードラインについて図２０が実行される場合、ステップ７０６及び７０８は省略される。ステップ７１０では、読み出し基準電圧Ｖｒａが対象ワードラインＷＬｎに印加される。ステップ７１２では、ビットラインに対してデータが検出され、ステップ７１４で結果が適切なラッチに記憶される。ステップ７１６では、読み出し基準電圧Ｖｒｃがワードラインに印加される。ステップ７１８では、データが検出される。ステップ７２０では、検出結果が、ワードラインＷＬｎ＋１とＷＬｎ−１上の隣接セルの両方が状態Ｅのデータを記憶している隣接セルに関連するビットラインについて記憶される。図２０がプログラムされる最初のワードラインについて実行される場合、ステップ７２０は、ワードラインＷＬｎ＋１上の状態Ｅのデータを記憶している隣接セルと関連するビットラインに対して、ステップ７１８の検出結果を記憶する。
【００９２】
なお、図２０によって説明され、後述される処理では、オフセットは状態Ｃと状態Ｂを区分するためにＶｒｃにしか印加されない。通常、消去状態の負の閾値（ＷＬｎ＋１及びＷＬｎ−１によって影響を及ぼされる）は状態Ａから十分離れているために補正を必要としないので、Ｖｒａの読み出し時にはオフセットが必要とされないと考えられる。これは現在の世代のメモリにとっては実際的な前提であるが、将来の世代のメモリでは当てはまらない可能性があり、ステップ７２２から７３８でＶｒｃに関して説明されるオフセット処理は、ステップ７１４の前にＶｒａに追加されてもよい。
【００９３】
ステップ７２２では、第１オフセット（例えば０．０７５Ｖまたは他の適切な値）が加えられたＶｒｃが、読み出されるページに対するワードラインに印加される。ステップ７２４では、データが検出され、ステップ７２６において、その結果が、ワードラインＷＬｎ＋１及びＷＬｎ−１上の隣接セルであって、状態Ｅ／状態Ａ、状態Ｅ／状態Ｂ、状態Ｅ／状態Ｃ、状態Ａ／状態Ｅ、状態Ａ／状態Ａ、状態Ｂ／状態Ｅ、または状態Ｃ／状態Ｅの組合せうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインのためのデータは無視される。ステップ７２２及び７２４がプログラムされる最初のワードラインに対して実行される場合は、通常の第１オフセット値は約０．０５Ｖとなる場合があり、結果は、状態Ａのデータを記憶しているワードラインＷＬｎ＋１上の隣接セルと関連するビットラインに対してステップ７２４で記憶される。
【００９４】
ステップ７２８では、第２オフセット（例えば、０．１３８Ｖまたは他の適切な値）が加えられたＶｒｃが、読み出されるページと関連するワードラインに印加される。ステップ７３０では、データが検出され、ステップ７３２において、その結果が、ワードラインＷＬｎ＋１及びワードラインＷＬｎ−１上の隣接セルであって、状態Ａ／状態Ｂ、状態Ａ／状態Ｃ，状態Ｂ／状態Ａ、状態Ｂ／状態Ｂ、または状態Ｃ／状態Ａの組合せのうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。ステップ７２８から７３２がプログラムされる最初のワードラインに対して実行される場合は、０．０７５Ｖの第２オフセット値または他の適切な値が使用されてよく、結果は、状態Ｂのデータを記憶しているワードラインＷＬｎ＋１上の隣接セルを有するビットラインに対して記憶される。
【００９５】
ステップ７３４では、第３オフセット（０．１８８Ｖまたは他の適切な値）が加えられたＶｒｃが、読み出されるページと関連するワードラインに印加される。ステップ７３６では、検出モジュールがデータを検出するために使用され、ステップ７３８では、ステップ７３６の結果が、ワードラインＷＬｎ＋１及びワードラインＷＬｎ−１上の隣接セルであって、状態Ｂ／状態Ｃ、状態Ｃ／状態Ｂ、または状態Ｃ／状態Ｃの組合せうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。ステップ７３４から７３８がプログラムされる最初のワードラインに対して実行される場合は、０．１Ｖの第３オフセット値が使用され、結果は、状態Ｃのデータを記憶しているＷＬｎ＋１上の隣接セルを有するビットラインに対して記憶される。
【００９６】
ステップ７４０では、プロセッサ２１２が、検出ステップによって記憶されたデータに基づいてデータ値を判定する。ステップ７４２では、ステップ７４０によって判定されたデータ値が、読み出されたデータを要求するユーザへの最終的な通信のためにラッチに記憶される。別の実施形態では、状態Ａに関連するステップ７１０から７１４を、ステップ７３８とステップ７４０の間で実行できる。
【００９７】
ステップ７４０でデータ値を求めるときに、メモリセルがＶｒａに応えて導通すると、下側ページデータは「１」である。メモリセルがＶｒａに応じて導通せず、Ｖｒｃ（または適切なオフセットが加えられたＶｒｃ）に応えて導通しない場合、下側ページデータも「１」である。メモリセルがＶｒａに応えて伝導しないが、Ｖｒｃ（または適切なオフセットが加えられたＶｒｃ）に応えて導通する場合、下側ページデータは「０」である。
【００９８】
図２１の処理は、上側ページの読み出しまたは回復のために用いられる。ステップ７５２では、読み出し動作が、図１６の方法を用いて隣接ワードラインＷＬｎ＋１に対して実行される。ステップ７５４では、ステップ７５２の結果が、各ビットラインの適切なラッチに記憶される。ステップ７５６では、図１６の方法を用いて隣接ワードラインＷＬｎ−１について読み出し動作が実行され、ステップ７５８で結果が記憶される。いくつかの実施形態では、ＷＬｎ＋１及びＷＬｎ−１の読み出し動作の結果、ＷＬｎ＋１及びＷＬｎ−１に記憶される実際のデータが判定される。他の実施形態では、読み出し動作の結果、ＷＬｎ＋１及びＷＬｎ−１上の電荷レベルが判定されるが、これは、ＷＬｎ＋１及びＷＬｎ−１に記憶されるデータを正確に反映することもあれば、正確に反映しないこともある。図２１が、実行される最初のワードラインについて実行される場合、ステップ７５６から７５８は省略される。
【００９９】
ステップ７６０では、読み出し基準電圧Ｖｒｂが、読み出されているページと関連するワードラインに印加される。ステップ７６２では、検出モジュールがデータを検出するために使用され、ステップ７６４では、ステップ７６２の結果が、状態Ｅのデータを記憶するＷＬｎ＋１上の隣接メモリセル及びＷＬｎ−１上の隣接メモリセルと関連するビットラインに対して記憶される。ステップ７６０から７６４がプログラムされる最初のワードラインについて実行される場合は、結果は、ＷＬｎ＋１上の状態Eのデータを記憶している隣接メモリセルと関連するビットラインに対して記憶される。
【０１００】
ステップ７６６では、第１オフセット（例えば０．０７５Ｖまたは他の何らかの適切な値）が加えられたＶｒｂがワードラインに印加される。ステップ７６８ではデータが検出され、ステップ７７０では、その結果が、ＷＬｎ＋１及びＷＬｎ−１上の隣接セルであって、状態Ｅ／状態Ａ、状態Ｅ／状態Ｂ、状態Ｅ／状態Ｃ、状態Ａ／状態Ｅ、状態Ａ／状態Ａ、状態Ｂ／状態Ｅ、または状態Ｃ／状態Ｅの組合せのうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。プログラムされる最初のワードラインに対してステップ７６６から７７０が実行される場合は、０．０５Ｖの第１オフセット値またはいくつかの他の適切な値が印加され、結果は、ＷＬｎ＋１上の状態Ａの状態を記憶している隣接メモリセルと関連するビットラインに対して記憶される。
【０１０１】
ステップ７７２では、第２オフセット（例えば０．１３８Ｖまたは別の適切な値）が加えられたＶｒｂが、読み出されているページに関連するワードラインに印加される。ステップ７７４では、データが検出され、ステップ７７６では、その結果が、ＷＬｎ＋１及びＷＬｎ−１上の隣接セルであって、状態Ａ／状態Ｂ、状態Ａ／状態Ｃ、状態Ｂ／状態Ａ、状態Ｂ／状態Ｂ、または状態Ｃ／状態Ａの組合せのうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。プログラムされる最初のワードラインに対してステップ７７２から７７６が実行される場合は、０．０７５Ｖの第２オフセット値または他の適切な値が印加され、検出結果は、ＷＬｎ＋１上の状態Ｂのデータを記憶している隣接セルを有するビットラインに対して記憶される。
【０１０２】
ステップ７７８では、第３オフセット（０．１８８Ｖまたは別の適切な値）が加えられたＶｒｂが、読み出されているページに関連するワードラインに印加される。ステップ７８０では、データが検出され、ステップ７８２では、その結果が、ＷＬｎ＋１及びＷＬｎ−１上の隣接セルであって、状態Ｂ／状態Ｃ、状態Ｃ／状態Ｂ、または状態Ｃ／状態Ｃの組合せのうちの１つのデータを記憶している隣接セルと関連するビットラインに対して記憶される。プログラムされる最初のワードラインに対してステップ７７８から７８２が実行される場合は、０．１０Ｖの第３オフセット値が印加され、結果は、ＷＬｎ＋１上の状態Ｃのデータを記憶している隣接メモリセルと関連するビットラインに対して記憶される。
【０１０３】
ステップ７８４では、図６のプロセッサ２１２が、記憶された検出データに基づいてデータ値を判定する。Ｖｒｂ（または適切なオフセットが加えられたＶｒｂ）に応じてメモリセルがオンになった場合には、上側ページデータは「１」である。Ｖｒｂ（または適切なオフセットが加えられたＶｒｂ）に応じてメモリセルがオンにならない場合には、上側ページデータは「０」である。ステップ７８６では、プロセッサ２１２によって判定されたデータ値はユーザに対する通信のためにデータラッチに記憶される。
【０１０４】
図２０及び図２１の方法は、ステップ４０４（図１５のステップ５０８または５１０）において初期のデータ読み出しを実行するためだけではなく、図１４のステップ４１６でデータを回復するためにも使用できる。図２０及び図２１は、図１０の上側ページ及び下側ページを用いてプログラムするデータの読み出しに用いられる。図２０及び図２１のこれらの２つの方法は、全ビットラインプログラミングまたは奇数／偶数ビットラインプログラミングでプログラムされたデータを読み出すために使用できる。全ビットラインプログラミングに用いられるときには、全ビットラインは同時に読み出される。奇数／偶数ビットラインプログラミングで用いられるときには、最初に偶数ビットラインが同時に読み出され、奇数ビットラインが別の時に同時に読み出される。
【０１０５】
図１６から図２１は、単一つのワードラインからのデータのページに対する要求に応えて、その単一のワードラインからデータを読み出すことを説明している。図２２は、ブロックの各行が、そのブロック内の任意の行の読み出し要求に応えて読み出される実施形態を示している。この新規の技術は、隣接行のデータを、それが選択された行に必要とされる前に効率的に取得し、大部分の要求はブロックの中のデータの複数ページを必要とするため、それも要求される可能性があると見込んで、このようなデータをキャッシュに記憶することによって性能の利点を提供できる。
【０１０６】
ステップ８００で受け取られたセルのブロック内の１つ以上のワードラインを必要とする読み出し要求に応えて、ステップ８０２において読み出し動作がワードラインＷＬ１に対して実行される。ＷＬ１は奇数ワードラインであるので、読み出し動作を実行するときに補償またはオフセットをする必要はない。図１６の処理は、ＷＬ１を読み出すために使用できる。ステップ８０４では、ワードラインＷＬ１に対してデータが記憶される。一実施形態では、ＷＬ１の検出動作の結果が、図６のプロセッサ２１２によって用いられて、そのときにデータラッチ２１４に記憶またはバッファされたデータ値が判定される。データは、ホストまたはユーザに読み出される前に多くのワードラインに対して記憶されるので、多くのラッチがこのデータをバッファに記憶する必要がある。他の実施形態では、制御回路１２０、図５の制御部１４４、あるいはメモリ装置の外部にメモリが維持され、余分なデータをバッファに記憶する。
【０１０７】
ステップ８０６では、ワードラインＷＬ０に対して読み出し動作が実行される。ＷＬ０からのデータの読み出しは、ステップ８０２で判定されたワードラインＷＬ１に記憶されているデータに基づいて補償の実施を含む。プログラムされる最初のワードラインについて上述された図１９から図２１の修正された形式は、ワードラインＷＬ０を読み出すために使用できる。従って、読み出し比較ポイントのオリジナルセットと、３つのオフセットのセットのオフセット値に基づいた３つの調整されたセットを用いる４つのサブ読み出しを使用できる。ステップ８０８においては、適切な読み出し処理の結果が、そのビットラインのワードラインＷＬ１上の隣接メモリセルに対して判定された情報に基づいて、各ビットラインに記憶される。
【０１０８】
ステップ８１０では、図１６の処理を用いて、ＷＬ３に対して読み出し動作が実行される。ＷＬ３のデータはステップ８１２で記憶される。ステップ８１４では、読み出し動作がワードラインＷＬ２に対して実行される。ワードラインＷＬ２のための読み出し動作は、ＷＬ１がＷＬｎ−１であり、ＷＬ３がＷＬｎ＋１である場合の図１９から図２１の処理を使用して実行できる。各ビットラインに対して、ＷＬ１上の隣接メモリセル及びＷＬ３上の隣接メモリセルの状態を使用することで、ステップ８１６において、記憶された適切なサブ読み出しからの結果を選択することができる。ステップ８１８では、図１６の処理を使用して、ＷＬ５に対して読み出し動作が実行される。ＷＬ５に対するデータはステップ８２０で記憶される。ステップ８２２では、図１９の処理、または、ＷＬ３がＷＬｎ−１であり、ＷＬ５がＷＬｎ＋１である場合の図２０から図２１の処理を使用して、ＷＬ４に対する読み出し動作が実行される。各ビットラインに対して、ＷＬ３上の隣接メモリセルの状態及びＷＬ５上の隣接メモリセルの状態を使用することで、ステップ８２４において、記憶された適切なサブ読み出しから結果を選択することができる。ステップ８２６では、図１６の処理を用いて、ワードラインＷＬ７に対する読み出し動作が実行される。ＷＬ７に対するデータはステップ８２８で記憶される。ステップ８３０では、図１９の処理、または、ＷＬ５がＷＬｎ−１であり、ＷＬ７がＷＬｎ＋１である場合の図２０から図２１の処理を使用して、ＷＬ６に対して読み出し動作が実行される。各ビットラインに対して、ＷＬ５上の隣接メモリセルの状態及びＷＬ７上の隣接メモリセルの状態を使用することで、ステップ８３２おいて、記憶される適切なサブ読み出しから結果を選択することができる。
【０１０９】
一実施形態では、図１７及び図１９から図２１のプログラミング処理を実現するメモリアレイは、１つ以上のフラグを記憶するためにメモリセルのセットを有している。例えば一列のメモリセルは、メモリセルの各行の下側ページがプログラムされているか否か示すフラグを記憶するために使用でき、別の列のメモリセルは、メモリセルの各行の上側ページがプログラムされているか否かを示すフラグを記憶するために使用できる。いくつかの実施形態では、フラグのコピーを記憶するために冗長なセルを使用できる。適切なフラグをチェックすることによって、隣接ワードラインに対する種々のページがプログラムされているか否かを判定できる。このようなフラグ及びプログラムの処理についての詳細は、全体を参照することにより本書に組み込まれるShibataらの米国特許第６，６５７，８９１号、「Semiconductor Memory Device For Storing Multi-Valued Data」に記載されている。
【０１１０】
フラグは、図１７及び図１９から図２１のフローチャートの処理を開始する前に、ＷＬｎ＋１及びＷＬｎ−１に対してチェックすることができる。フラグが、プログラムされたＷＬｎの後に、どちらのワードラインもプログラミングを経験していないことを示している場合には、図１６に示す通常の読み出しポイントを用いてＷＬｎの読み出し動作を実行することができる。ＷＬｎ＋１及びＷＬｎ−１上の後にプログラムされたメモリセルによるフローティングゲート間結合がないことが知られているので、様々なオフセットを使用するサブ読み出しは必要ではない。フラグが、１つの隣接ワードラインがプログラムされており、１つがプログラムされていないことを示している場合、フローチャートの処理を、その１つの後にプログラムされたワードラインからの結合を補償するために実行できる。処理は、セットに対してプログラムされる最初のワードラインについて前述されたように実質的に実行できる。しかしながら、この場合、フラグが示す何れのワードラインがプログラムされたのかに応じて、ＷＬｎ＋１の代わりにＷＬｎ−１に基づいて補償してよい。１つの隣接するワードラインだけが対象のワードラインの後にプログラムされたときの補償方式に関する詳細については、米国特許出願第１１／０９９，１３３号、「COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY」、出願日２００５年４月５日を参照する。その全体は参照することにより本明細書に組み込まれる。
【０１１１】
フローティングゲート間結合の書き込み順序の影響を解消する機能の結果として、閾値電圧分布間のマージンをさらに小さくすることができ、あるいは、メモリシステムをさらに高速でプログラムすることが可能となる。
【０１１２】
本発明の前記詳細な説明は、図解及び説明の目的のために提示されてきた。本発明を、網羅的あるいは開示された正確な形式に限定することは目的ではない。前記教示を鑑みて多くの変型及び変形が可能である。説明されている実施形態は、本発明の原理及びその実用化を最もよく説明し、それによって当業者が多様な実施形態において、及び熟考された特定の用途に適しているような多様な変型で本発明を最もうまく活用できるようにするために選ばれた。本発明の範囲は本書に添付される請求項によって明示されることが意図される。
【図面の簡単な説明】
【０１１３】
【図１】ＮＡＮＤストリングの上面図。
【図２】ＮＡＮＤストリングの等価回路図。
【図３】ＮＡＮＤストリングの断面図。
【図４】ＮＡＮＤフラッシュメモリセルのアレイのブロック図。
【図５】不揮発性メモリシステムのブロック図。
【図６】検出ブロックの一実施形態を示すブロック図。
【図７】不揮発性メモリをプログラムするための処理の一実施形態を説明するフローチャート。
【図８】不揮発性メモリセルの制御ゲートに印加される例示的な波形。
【図９】閾値電圧分布の例示的なセット。
【図１０】閾値電圧分布の例示的なセット。
【図１１】隣接メモリセルの１つまたは複数のグループがプログラムされる前後のメモリセルのグループに対する閾値電圧分布の例示的なセット。
【図１２】一実施形態によるプログラム順序の図。
【図１３Ａ】種々の実施形態に従って不揮発性メモリをプログラムする順序を示す表。
【図１３Ｂ】種々の実施形態に従って不揮発性メモリをプログラムする順序を示す表。
【図１３Ｃ】種々の実施形態に従って不揮発性メモリをプログラムする順序を示す表。
【図１３Ｄ】種々の実施形態に従って不揮発性メモリをプログラムする順序を示す表。
【図１３Ｅ】種々の実施形態に従って不揮発性メモリをプログラムする順序を示す表。
【図１４】不揮発性メモリを読み出す処理の一実施形態を説明するフローチャート。
【図１５】不揮発性メモリに対する読み出し動作を実行する処理の一実施形態を説明するフローチャート。
【図１６】不揮発性メモリに対する読み出し動作を実行する処理の一実施形態を説明するフローチャート。
【図１７】完全シーケンスプログラミングを使用してプログラムされたデータを読み出す処理の一実施形態を示すフローチャート。
【図１８Ａ】対象のワードラインの後にプログラムされた２つの隣接ワードラインの組み合わされた結合値を示す表。
【図１８Ｂ】２つのワードラインの組み合わされた種々の結合値を補償するために使用される読み出しオフセット値を示す表。
【図１９】完全シーケンスプログラミングを使用してプログラムされたデータを読み出す処理の一実施形態を説明するフローチャート。
【図２０】下側ページからデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２１】上側ページからデータを読み出す処理の一実施形態を説明するフローチャートである。
【図２２】複数のワードラインからデータを読み出す処理の一実施形態を説明するフローチャート。
【図１】
2009522704.tif 000003
【図２】
2009522704.tif 000004
【図３】
2009522704.tif 000005
【図４】
2009522704.tif 000006
【図５】
2009522704.tif 000007
【図６】
2009522704.tif 000008
【図７】
2009522704.tif 000009
【図８】
2009522704.tif 000010
【図９】
2009522704.tif 000011
【図１０】
2009522704.tif 000012
【図１１】
2009522704.tif 000013
【図１２】
2009522704.tif 000014
【図１３Ａ】
2009522704.tif 000015
【図１３Ｂ】
2009522704.tif 000016
【図１３Ｃ】
2009522704.tif 000017
【図１３Ｄ】
2009522704.tif 000018
【図１３Ｅ】
2009522704.tif 000019
【図１４】
2009522704.tif 000020
【図１５】
2009522704.tif 000021
【図１６】
2009522704.tif 000022
【図１７】
2009522704.tif 000023
【図１８Ａ】
2009522704.tif 000024
【図１８Ｂ】
2009522704.tif 000025
【図１９】
2009522704.tif 000026
【図２０】
2009522704.tif 000027
【図２１】
2009522704.tif 000028
【図２２】
2009522704.tif 000029
【手続補正書】
【提出日】平成20年8月22日(2008.8.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性記憶素子のセットをプログラムする方法であって、
不揮発性記憶素子のセットの、選択ゲートラインに隣接する第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップと、
第２ワードラインが第１ワードラインに隣接しており、第３ワードラインが第２ワードラインに隣接しており、その第３ワードラインに接続されている不揮発性記憶素子をプログラムするステップと、
第３ワードラインに接続されている不揮発性素子及び第１ワードラインに接続されている不揮発性記憶素子をプログラムした後に、第２ワードラインに接続されている不揮発性記憶素子をプログラムするステップであって、第３ワードラインに接続されている不揮発性記憶素子のプログラミングの開始後に、第２ワードラインに接続されている不揮発性記憶素子のプログラミングを開始することを特徴とするステップ、
を備えていることを特徴とする方法。
【請求項２】
前記選択ゲートラインがソース側の選択ゲートラインであることを特徴とする請求項１に記載の方法。
【請求項３】
第４ワードラインが第３ワードラインに隣接しており、第５ワードラインが第４ワードラインに隣接しており、第２ワードラインに接続されている不揮発性素子をプログラムした後に、第５ワードラインに接続されている不揮発性記憶素子をプログラムステップと、
第５ワードラインに接続されている不揮発性記憶素子をプログラムした後に、第４ワードラインに接続されている不揮発性記憶素子をプログラムするステップであって、第５ワードラインに接続されている不揮発性記憶素子のプログラミングの開始後に、第４ワードラインに接続されている不揮発性記憶素子のプログラミングを開始するステップ、
をさらに備えていることを特徴とする請求項１に記載の方法。
【請求項４】
第３ワードラインからデータの読み出し要求を含む要求を受信するステップをさらに備えており、
その要求に応答して、
第３ワードラインに接続されている不揮発性記憶素子の少なくとも１つのサブセットの各不揮発性記憶素子に対して、第２ワードラインに接続されている第１隣接不揮発性記憶素子に記憶されている電荷レベルと第４ワードラインに接続されている第２隣接不揮発性記憶素子に記憶されている電荷レベルに基づいて、オフセットの所定のセットからオフセットを決定するステップと、
第３ワードラインに接続されている不揮発性記憶素子に対して読み出し処理のセットを実行するステップであって、各読み出し処理のセットは、オフセットの所定のセットから前記オフセットとは別のオフセットを使用し、第３ワードラインに接続されている不揮発性記憶素子の全てに対して実行され、第３ワードラインに接続されている各不揮発性記憶素子はこれらの各不揮発性記憶素子に対して決定された前記オフセットと関連する読み出し処理のうちの適切な処理から最終データを提供するステップ、
をさらに備えていることを特徴とする請求項３に記載の方法。
【請求項５】
オフセットの所定のセットからオフセットを決定する前記ステップが、
第１隣接不揮発性記憶素子を読み出すステップと、
第２隣接不揮発性記憶素子を読み出すステップと、
第１隣接不揮発性記憶素子を読み出すステップ、及び、第２隣接不揮発性記憶素子を読み出すステップからの情報を、オフセットの所定のセットと関連付けるステップ、
を備えていることを特徴とする請求項４に記載の方法。
【請求項６】
読み出し処理のセットを実行する前記ステップが、
第１オフセットを使用して第１読み出し処理を実行し、
以下の何れか、すなわち、
第１状態の第１隣接不揮発性記憶素子と、第２状態、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
第２状態の第１隣接不揮発性記憶素子と、第１状態、または、第２状態の第２隣接不揮発性記憶素子、
第３状態、または、第４状態の第１隣接不揮発性記憶素子と、第１状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子に対して結果を記憶するステップと、
第２オフセットを使用して第２読み出し処理を実行し、
以下の何れか、すなわち、
第２状態の第１隣接不揮発性記憶素子と、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
第３状態の第１隣接不揮発性記憶素子と、第２状態、または、第３状態の第２隣接不揮発性記憶素子、
第４状態の第１隣接不揮発性記憶素子と、第２状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子に対して結果を記憶するステップと、
第３オフセットを使用して第３読み出し処理を実行し、
以下の何れか、すなわち、
第３状態の第１隣接不揮発性記憶素子と、第４状態の第２隣接不揮発性記憶素子、
第４状態の第１隣接不揮発性記憶素子と、第３状態、または、第４状態の第２隣接不揮発性記憶素子、
の何れかを有する１つ以上の不揮発性記憶素子について結果を記憶するステップ、
を備えていることを特徴とする請求項５に記載の方法。
【請求項７】
第１ワードラインに接続されている不揮発性記憶素子をプログラムするステップが、第３ワードラインに接続されている不揮発性記憶素子をプログラムするステップより先に実行されることを特徴とする請求項１に記載の方法。
【請求項８】
不揮発性記憶素子のセットが、フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項９】
不揮発性記憶素子のセットが、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１０】
不揮発性記憶素子のセットが、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１１】
不揮発性メモリシステムであって、
不揮発性記憶素子のセットと、
不揮発性記憶素子のセットの第１選択ゲートラインに隣接する第１ワードライン（ＷＬｎ）と、不揮発性記憶素子のセットの第２選択ゲートラインに隣接する最後のワードラインを含む複数のワードラインと、
不揮発性記憶素子のセットと複数のワードラインと通信する管理回路、
を備えており、
管理回路は、第１ワードライン（ＷＬｎ）に接続されている不揮発性記憶素子のプログラミングを完了し、第３ワードライン（ＷＬｎ＋２）に接続されている不揮発性記憶素子のプログラミングを完了することによって、不揮発性記憶素子のセットをプログラムし、第３ワードラインは第２ワードライン（ＷＬｎ＋１）に隣接しており、第２ワードラインは第１ワードラインに隣接しており、管理回路は、第１ワードラインに接続されている不揮発性記憶素子と第３ワードラインに接続されている不揮発性記憶素子のプログラミングを完了した後に、第２ワードラインに接続されている不揮発性記憶素子のプログラミングを完了し、管理回路は、最後のワードラインを除く残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを、前記残りのワードラインの他の個々の１つに接続されている不揮発性記憶素子のプログラミングを完了する前に、前記残りのワードラインの個々の１つに接続されている不揮発性記憶素子のプログラミングを完了することによって完了し、残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを完了するステップが、ワードライン順序｛ＷＬ（ｎ＋４）、ＷＬ（ｎ＋３）、ＷＬ（ｎ＋６）、ＷＬ（ｎ＋５）…｝に従って実行され、管理回路は、最後のワードラインを除く前記残りの各ワードラインに接続されている不揮発性記憶素子のプログラミングを完了した後に、最後のワードラインに接続されている不揮発性記憶素子のプログラミングを完了することを特徴とする不揮発性メモリシステム。
【請求項１２】
管理回路が、不揮発性記憶素子のセット内にデータのセットを記憶する要求に応答して、不揮発性記憶素子のセットをプログラムし、
管理回路が、個々のワードラインに対してプログラムするデータの前記セットのサブセットが前記個々のワードラインに対してプログラムされていることを適切に検証することによって前記個々のワードラインに接続されている不揮発性記憶素子のプログラミングを完了し、データの前記セットの前記サブセットが前記要求に応答して前記個々のワードラインに対してプログラムされるべき全てのデータを含んでいる、
ことを特徴とする請求項１１に記載の不揮発性メモリシステム。
【請求項１３】
データの前記セットの前記サブセットがプログラムされていることを適切に検証するステップが、データの前記セットの前記サブセットの所定量が前記個々のワードラインに対して適切にプログラムされていることを検証するステップを含んでいる、
ことを特徴とする請求項１２に記載の不揮発性メモリシステム。
【請求項１４】
不揮発性記憶素子のセットが、ビットラインのグループの１つおきのビットラインに接続されていることを特徴とする請求項１１に記載の不揮発性メモリシステム。
【請求項１５】
不揮発性記憶素子のセットが、マルチ状態ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１１に記載の不揮発性メモリシステム。
【国際調査報告】
2009522704.tif 000030
2009522704.tif 000031