(57)【要約】  不揮発性メモリセルの浮遊ゲート（または他の電荷蓄積素子）に蓄積される見かけ上の電荷がシフトすることはあり得ることであるが、これは、隣の浮遊ゲート（または他の隣接する電荷蓄積素子）に蓄積されている電荷によって電界が結合するからである。この問題がもっとも顕著に表れるのは、互いに異なった時間にプログラムされた隣接するメモリセルの集合間である。この結合を補償するために、所定のメモリセルに対する読み出しプロセスが隣のメモリセルがこの所定のメモリセルの後にプログラムされている場合には、読み出しプロセスを隣のメモリセルのプログラム状態を考慮して実行する。隣のメモリセルが所定のメモリセルの後にプログラムされているのか、前にプログラムされているのかを判定する技法を開示する。
2009516318.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置を動作させる方法であって、
１つ以上の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするアクセスステップと、
前記タイミング情報に基づいて前記データ集合中の１つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記１つ以上の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を有している方法。
【請求項２】
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子と１つ以上の隣の不揮発性記憶素子の間で生じる潜在的結合によるものであることを特徴とする請求項１に記載の方法。
【請求項３】
前記アクセスステップと読み出しステップが、
前記タイミング情報に含まれており、前記１つ以上の不揮発性記憶素子と関連するワード線に対する第１のタイムデータを読み出すステップと、
隣の不揮発性記憶素子と関連するワード線に対する第２のタイムデータを読み出すステップと、
前記第１のタイムデータを前記第２のタイムデータと比較するステップと、
前記比較に基づいて、エラーが発生する可能性があるか否かを判定するステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項４】
前記１つ以上の潜在的エラーを選択的に補償するステップが、
前記１つ以上の不揮発性記憶素子の隣の不揮発性記憶素子を検知するステップと、
前記隣の不揮発性記憶素子から検知された情報に基づいて、前記１つ以上の不揮発性記憶素子に基づく読み出し電圧のオフセットを判定するステップと、
前記オフセットを用いて、前記１つ以上の不揮発性記憶素子を読み出すステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項５】
メモリ素子が、前記１つ以上の不揮発性記憶素子と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第１の値と第２の値を含んでおり、
前記第１の値が、隣の第１の集合に対する前記１つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記第２の値が、隣の第２の集合に対する前記１つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記アクセスステップと読み出しステップが、
第１のワード線に接続されている前記メモリ素子からデータを読み出すステップと、
前記第１の値が前記１つ以上の不揮発性記憶素子が前記第１の隣の集合より後でプログラムされていることを示しており、前記第２の値が前記１つ以上の不揮発性記憶素子が前記第２の隣の集合より後でプログラムされていることを示している場合に、１つ以上の潜在的エラーを補償することなく前記データを報告するステップと、
前記第１の値が前記１つ以上の不揮発性記憶素子が前記第１の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第２の値が前記１つ以上の不揮発性記憶素子が前記第２の隣の集合より先にプログラムされている可能性があることを示している場合に、１つ以上の潜在的エラーを補償した後で前記データを報告するステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項６】
前記タイミング情報をプログラムするステップを実行すると共に、前記データを前記１つ以上の不揮発性記憶素子にプログラムするプログラミングステップをさらに有していることを特徴とする請求項１に記載の方法。
【請求項７】
前記プログラミングステップが、
隣の不揮発性記憶素子の集合と関連する隣のタイミング情報を読み出すステップと、
前記隣のタイミング情報に基づいて、前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップ、
を有していることを特徴とする請求項６に記載の方法。
【請求項８】
前記１つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
前記隣のタイミング情報を読み出すステップが、１つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定するステップが、１つの基準電圧レベルにおける前記読み出し動作に完全に基づくことを特徴とする請求項７に記載の方法。
【請求項９】
前記プログラミングステップが、
隣の不揮発性記憶素子の第１の集合と関連する第１の隣のタイミング情報を読み出すステップと、
前記第１の隣のタイミング情報に基づいて、第１のタイミング値を決定するステップと、
隣の不揮発性記憶素子の第２の集合と関連する第２の隣のタイミング情報を読み出すステップと、
前記第２の隣のタイミング情報に基づいて、第２のタイミング値を決定するステップ、
を有し、
隣の不揮発性記憶素子の前記集合と関連する前記タイミング情報が、前記第１のタイミング値と前記第２のタイミング値を含むことを特徴とする請求項６に記載の方法。
【請求項１０】
隣の不揮発性記憶素子の前記第１の集合が、第１のワード線に接続されており、
前記１つ以上の不揮発性記憶素子が、前記第１のワード線の隣の第２のワード線に接続されており、
隣の不揮発性記憶素子の前記第２の集合が、前記第２のワード線の隣の第３のワード線に接続されており、
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第１の集合との結合と、前記１つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第２の集合との結合とによって生じることを特徴とする請求項９に記載の方法。
【請求項１１】
前記選択的に補償するステップが、
前記１つ以上の不揮発性記憶素子が前記１つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記１つ以上の不揮発性記憶素子と前記１つ以上の隣の不揮発性記憶素子との間の結合に対する第１の補償プロセスを実行するステップと、
前記１つ以上の不揮発性記憶素子が前記１つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていないことを前記タイミング情報が示している場合に、第１の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項１２】
前記選択的に補償するステップが、前記タイミング情報に基づいて電圧オフセットを用いるか否かを選択するステップを有していることを特徴とする請求項１に記載の方法。
【請求項１３】
前記タイミング情報が絶対タイムを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記タイミング情報がサイクルカウントタイムを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記タイミング情報が、前記１つ以上の不揮発性記憶素子と隣の不揮発性記憶素子との間のプログラミング順序情報を含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記タイミング情報が、データの集合が消去されたデータであるか、隣のワード線をプログラムした後でプログラムされたデータであるか、あるいは、隣のワード線をプログラムするより先にプログラムされた可能性があるデータであるかを示す２ビットの符号を含むことを特徴とする請求項１に記載の方法。
【請求項１７】
前記データ集合がデータのページを含んでおり、
前記１つ以上の不揮発性記憶素子が第１のワード線に接続されており、
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子のうちの１つ以上のセルと、前記第１のワード線の隣のワード線に接続されている１つ以上の不揮発性記憶素子との間で生じる結合によるものであることを特徴とする請求項１に記載の方法。
【請求項１８】
前記タイミング情報が、前記データ集合を読み出している間にアクセスされることを特徴とする請求項１に記載の方法。
【請求項１９】
前記タイミング情報が、前記データ集合を読み出すより先にアクセスされることを特徴とする請求項１に記載の方法。
【請求項２０】
前記データ集合を読み出す要求を受信するステップをさらに有していることを特徴とする請求項１に記載の方法。
【請求項２１】
前記１つ以上の不揮発性記憶素子がＮＡＮＤフラッシュメモリ素子であることを特徴とする請求項１に記載の方法。
【請求項２２】
前記１つ以上の不揮発性記憶素子がマルチステートフラッシュメモリ素子であることを特徴とする請求項１に記載の方法。
【請求項２３】
不揮発性記憶システムであって、
複数の不揮発性記憶素子と、
前記不揮発性記憶素子と通信する１つ以上の管理回路を有しており、
前記１つ以上の管理回路が、
前記複数の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするステップと、
前記タイミング情報に基づいて前記データ集合中の１つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記複数の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を実行することを特徴とする不揮発性記憶システム。
【請求項２４】
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子と１つ以上の隣の不揮発性記憶素子の間で生じる潜在的結合によるものであることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項２５】
前記データ集合が前記複数の不揮発性記憶素子の部分集合に記憶され、前記部分集合が隣の不揮発性記憶素子を有しており、
前記１つ以上の管理回路が、
前記部分集合と関連するワード線に対する第１のタイムデータを読み出すステップと、
前記隣の不揮発性記憶素子と関連するワード線に対する第２のタイムデータを読み出すステップと、
前記１つ以上の管理回路が、前記第１のタイムデータを前記第２のタイムデータと比較し、前記比較に基づいてエラーが発生する可能性があるか否か判定するステップ、
を実行することを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項２６】
前記選択的に補償するステップが、電圧オフセットを用いるか否か、及び、前記隣の不揮発性記憶素子に基づいて読み出しプロセス中に用いる前記電圧オフセットの大きさを選択するステップを有していることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項２７】
前記データ集合が、前記複数の不揮発性記憶素子の部分集合に記憶され、
前記部分集合が、第１の隣の集合と第２の隣の集合を有しており、
メモリ素子が、前記部分集合と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第１の値と第２の値を含んでおり、
前記第１の値が、隣の第１の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記第２の値が、隣の第２の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記１つ以上の管理回路が、第１のワード線に接続されているメモリ素子からデータを読み出すステップを実行し、
前記１つ以上の管理回路が、前記第１の値が前記部分集合が前記第１の隣の集合より後でプログラムされていることを示しており、前記第２の値が前記部分集合が前記第２の隣の集合より後でプログラムされていることを示している場合に、１つ以上の潜在的エラーを補償することなく前記データを報告するステップを実行し、
前記１つ以上の管理回路が、前記第１の値が前記部分集合が前記第１の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第２の値が前記部分集合が前記第２の隣の集合より先にプログラムされている可能性があることを示している場合に、１つ以上の潜在的エラーを補償した後で前記データを報告するステップを実行する、
ことを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項２８】
前記１つ以上の管理回路が、前記タイミング情報をプログラムするステップを実行すると共に、前記データ集合を前記複数の不揮発性記憶素子の部分集合にプログラムするプログラミングステップを実行し
前記データ集合をプログラムするプログラミングステップが、隣のタイミング情報を読み出すステップと、前記隣のタイミング情報に基づいて前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップを有していることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項２９】
前記１つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
隣のタイミング情報を読み出す前記ステップが、１つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定する前記ステップが、１つの基準電圧レベルにおける前記読み出し動作に基づくことを特徴とする請求項２８に記載の不揮発性記憶システム。
【請求項３０】
前記データ集合が前記複数の不揮発性記憶素子の部分集合に記憶され、前記部分集合が隣に不揮発性記憶素子を有しており、
選択的に補償する前記ステップが、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記部分集合と前記隣の不揮発性記憶素子との間の結合に対する第１の補償プロセスを実行するステップと、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされてはいないことを前記タイミング情報が示している場合に、第１の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３１】
前記タイミング情報が、絶対タイム、相対タイムまたはプログラミング順序情報のうちの何れかを含むことを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３２】
前記データ集合がデータのページを含んでおり、
前記複数の不揮発性記憶素子の部分集合に記憶されている前記データ集合が第１のワード線に接続されており、
前記１つ以上の潜在的エラーが、前記部分集合と、前記第１のワード線の隣のワード線に接続されている１つ以上の不揮発性記憶素子との間で生じる結合によるものあることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３３】
前記タイミング情報が、前記データ集合を読み出している間にアクセスされることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３４】
前記１つ以上の管理回路が、状態マシン、デコーダ、検知回路およびコントローラのうちの１つ以上を含むことを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３５】
前記複数の不揮発性記憶素子が、ＮＡＮＤフラッシュメモリ素子であることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３６】
前記複数の不揮発性記憶素子がマルチステートフラッシュメモリセルであることを特徴とする請求項２３に記載の不揮発性記憶システム。
【請求項３７】
前記複数の不揮発性記憶素子が、浮遊ゲートを有していることを特徴とする請求項２３に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関する。
【背景技術】
【０００２】
半導体メモリは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティング装置、非モバイルコンピューティング装置、およびその他の装置の中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュメモリは、最も普及している不揮発性半導体メモリである。
【０００３】
従来のＥＥＰＲＯＭとフラッシュメモリは共に、半導体基板中のチャネル領域の上方に位置するとともにチャネル領域から絶縁されている浮遊ゲートを利用している。この浮遊ゲートは、ソース領域とドレイン領域の間に位置している。制御ゲートが、浮遊ゲートの上方に設けられているとともに浮遊ゲートから絶縁されている。トランジスタの閾値電圧は、浮遊ゲート上に保持されている電荷の量によって制御される。すなわち、ソースとドレイン間を導通させる目的でトランジスタをオンさせるために制御ゲートに印加しなければならない電圧の最小値は、浮遊ゲート上の電荷のレベルによって制御される。
【０００４】
ＥＥＰＲＯＭデバイスまたはＮＡＮＤフラッシュメモリデバイスなどのフラッシュメモリデバイスをプログラムするとき、一般的には、制御ゲートにプログラム電圧を印加して、ビット線を接地する。チャネルからの電子は浮遊ゲートに注入される。電子が浮遊ゲート中に蓄積されると、浮遊ゲートは負に帯電して、メモリセルの閾値電圧が引き上げられ、これによって、メモリセルはプログラムされた状態になる。プログラミングに関するさらなる情報は、双方ともそれらの全体を参照してここに組み込む「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」という名称の米国特許第６，８５９，３９７号および２００３年７月２９日に出願された「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」という名称の米国特許出願第１０／６２９，０６８号に見受けられる。
【０００５】
ＥＥＰＲＯＭデバイスおよびフラッシュメモリデバイスのなかには、２つの範囲の電荷を記憶させるために使う浮遊ゲートを有しているものがある。したがって、メモリセルを、２つの状態（消去された状態とプログラムされた状態）のどちらかとしてプログラム／消去することを可能である。このようなフラッシュメモリは、バイナリフラッシュメモリデバイスと呼ばれることもある。
【０００６】
マルチステートフラッシュメモリデバイスは、禁止範囲によって分離された複数の異なる許容／有効プログラム閾値電圧範囲を特定することによって実現される。これら異なる閾値電圧範囲はそのそれぞれが、メモリデバイスの中に符号化されたデータビットの集合の所定の値に対応している。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
浮遊ゲートに蓄積された見かけ上の電荷がシフトすることはあり得ることであるが、これは、隣接するまたは近傍の浮遊ゲートに蓄積されている電荷によって電界が結合するからである。この浮遊ゲート間の結合現象は、その全体を参照してここに組み込む米国特許第５，８６７，４２９号に記載されている。目標とする浮遊ゲートに対して結合を引き起こし得る浮遊ゲートとしては、同じビット線上にある浮遊ゲートや、同じワード線上にある浮遊ゲートや、他のビット線と他のワード線上に位置していて目標とする浮遊ゲートの向かいにある浮遊ゲートがある。
【０００８】
浮遊ゲート間の結合現象は、互いに異なる時間にプログラムされたメモリセルの集合間でもっとも顕著に生じる。例えば、第１のメモリセルをプログラムして、あるレベルの電荷を１つのデータ集合に対応するその浮遊ゲートに追加する。次に、隣の１つ以上のメモリセルをプログラムして、あるレベルの電荷を、第２のデータ集合に対応するそれらの浮遊ゲートに追加する。この１つ以上の隣のメモリセルをプログラムした後では、第１のメモリセルから読み出される電荷レベルは見かけ上はプログラムされたレベルとは異なることとなるが、これは第１のメモリセルに接続されている隣のメモリセルに対して電荷が影響を与えるからである。隣のメモリセルからの結合は、読み出される電荷の見かけ上のレベルを、記憶されているデータの読み取り値を誤らせるほど変化させる。
【０００９】
浮遊ゲート間の結合による影響はマルチステートデバイスの場合により厄介な問題となるが、これは、マルチステートデバイスでは、閾値電圧の許容範囲と禁止範囲が、バイナリデバイスよりも狭いからである。
【００１０】
メモリセルのサイズが縮小するにつれて、閾値電圧の自然プログラミング分布と消去分布は増大すると考えられる。チャネルが短くなる影響、酸化膜厚／結合比率変動の増大、及び、チャネルドーパントの変動の増大のためである。したがって、隣接する状態間を分離する利用可能領域が減少すると考えられる。この影響は、２つの状態のみを用いるメモリ（バイナリメモリ）より、マルチステートメモリの場合により深刻なものとなる。さらに、ワード線間のスペースとビット線間のスペースが減少することによっても、隣接する浮遊ゲート間の結合が増大する。
【課題を解決するための手段】
【００１１】
隣接する浮遊ゲート間の結合を補償するために、所定のメモリセルに対する読み出しプロセスにおいて、隣のセルがこのメモリセルの次にプログラムされている場合には、この隣のメモリセルのプログラム状態を考慮する。隣のメモリセルが所定のメモリセルの前にプログラムされているか後でプログラムされているかを判定する技術を以下に開示する。
【００１２】
１つの実施形態は、１つ以上の不揮発性記憶素子に記憶されるデータの集合に対してカスタマイズされたタイミング情報にアクセスするステップと、この1つ以上の不揮発性記憶素子からこのデータ集合を読み出すステップを有する。データを読み出すステップでは、タイミング情報に基づいて、このデータ集合に存在する１つ以上の潜在的エラーを選択的に補償する。
【００１３】
１つの実施例は、複数の不揮発性記憶素子と、これらの不揮発性記憶素子に接続されているワード線の集合と、前記不揮発性記憶素子と通信する１つ以上の管理回路を有している。この１つ以上の管理回路は、所定の順序ではなく、ワード線の順序で不揮発性記憶素子にデータをプログラムする。このようにプログラムする際に、このデータのタイミング情報を記憶する。この１つ以上の管理回路は、不揮発性記憶システムからデータを読み出すが、この際に、記憶されているタイミング情報が、隣の不揮発性記憶素子がこのデータを記憶している不揮発性記憶素子よりあとでプログラムされている可能性があることを示す場合には、不揮発性記憶素子間の結合を補償する。
【発明を実施するための最良の形態】
【００１４】
本発明の実施に適した不揮発性メモリシステムの一例では、ＮＡＮＤフラッシュメモリ構造を使用する。ＮＡＮＤフラッシュメモリ構造では、２つの選択ゲートの間に複数のトランジスタが直列に配置されている。直列のトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す上面図である。図２は、その等価回路である。図１および図２に示すＮＡＮＤストリングは、直列の４つのトランジスタ１００、１０２、１０４、１０６を備え、第１の選択ゲート１２０と第２の選択ゲート１２２との間に挟まれている。選択ゲート１２０は、ＮＡＮＤストリングをビット線コンタクト１２６に接続する。選択ゲート１２２は、ＮＡＮＤストリングをソース線コンタクト１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を印加することによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を印加することによって制御される。トランジスタ１００、１０２、１０４、１０６のそれぞれは、制御ゲートと浮遊ゲートを有する。トランジスタ１００は、制御ゲート１００ＣＧと浮遊ゲート１００ＦＧを有する。トランジスタ１０２は、制御ゲート１０２ＣＧと浮遊ゲート１０２ＦＧとを含む。トランジスタ１０４は、制御ゲート１０４ＣＧと浮遊ゲート１０４ＦＧを有する。トランジスタ１０６は、制御ゲート１０６ＣＧと浮遊ゲート１０６ＦＧを有する。制御ゲート１００ＣＧはワード線ＷＬ３に、制御ゲート１０２ＣＧはワード線ＷＬ２に、制御ゲート１０４ＣＧはワード線ＷＬ１に、制御ゲート１０６ＣＧはワード線ＷＬ０に接続されている。一実施形態ではトランジスタ１００、１０２、１０４、１０６のそれぞれがメモリセルである。他の実施形態では、メモリセルが複数のトランジスタを含んでいてもよく、図１および図２に示した構成と異なっていてもよい。選択ゲート１２０は、選択線ＳＧＤに接続され、選択ゲート１２２は、選択線ＳＧＳに接続される。
【００１５】
図３は、上記のＮＡＮＤストリングの断面図を示す。図３に示すように、ＮＡＮＤストリングのトランジスタはｐ−ウェル領域１４０内に形成されている。各トランジスタは、制御ゲート（１００ＣＧ、１０２ＣＧ、１０４ＣＧ、および１０６ＣＧ）と浮遊ゲート（１００ＦＧ、１０２ＦＧ、１０４ＦＧ、および１０６ＦＧ）からなるスタックゲート構造を備えている。浮遊ゲートは、酸化膜または他の誘電体膜上のｐ−ウェルの表面上に形成されている。制御ゲートは、浮遊ゲート上に位置しており、制御ゲートと浮遊ゲートは、ポリシリコン間誘電体層によって分離されている。メモリセル（１００、１０２、１０４、１０６）の制御ゲートは、ワード線を形成している。Ｎ＋ドープ層１３０、１３２、１３４、１３６、１３８は隣接するセル間で共有されており、これによりセルは相互に直列に接続されてＮＡＮＤストリングを形成している。これらのＮ＋ドープ層は、各セルのソースおよびドレインを形成している。例えば、Ｎ＋ドープ層１３０は、トランジスタ１２２のドレイン、および、トランジスタ１０６のソースとして働く。Ｎ＋ドープ層１３２は、トランジスタ１０６のドレイン、および、トランジスタ１０４のソースとして働く。Ｎ＋ドープ層１３４は、トランジスタ１０４のドレイン、および、トランジスタ１０２のソースとして働く。Ｎ＋ドープ層１３６は、トランジスタ１０２のドレイン、および、トランジスタ１００のソースとして働く。Ｎ＋ドープ層１３８は、トランジスタ１００のドレイン、および、トランジスタ１２０のソースとして働く。Ｎ＋ドープ層１２６は、ＮＡＮＤストリングのビット線に接続されており、Ｎ＋ドープ層１２８は、複数のＮＡＮＤストリングの共通ソース線に接続されている。
【００１６】
図１〜図３では、ＮＡＮＤストリング内に４つのメモリセルを示しているが、４つのトランジスタを使用する構成は、一例であることに留意されたい。ここに記載される技術によって使用されるＮＡＮＤストリングは、４つ未満のメモリセルを有していてもよく、または、４つを超えるメモリセルを有していてもよい。例えば、一部のＮＡＮＤストリングは、８、１６、３２、６４あるいはそれ以上の数のメモリセルなどを含むことができる。本明細書における説明は、ＮＡＮＤストリング内のメモリセルを特定の数に限定するものではない。
【００１７】
各メモリセルは、アナログまたはデジタル形式で表されたデータを記憶することが可能である。１ビットのデジタルデータを記憶する場合、メモリセルの可能な閾値電圧の範囲は、論理データ「１」および「０」が割り当てられる２つの範囲に分割される。ＮＡＮＤ型フラッシュメモリの一例では、メモリセルの消去された後の閾値電圧は負となり、論理「１」と定義される。プログラム動作後の閾値電圧は正となり、論理「０」と定義される。閾値電圧が負の状態で制御ゲートに０Ｖを印加することによって読み出しが試みられた場合、メモリセルはオンになり、論理１が記憶されていることを示す。閾値電圧が正の状態で制御ゲートに０Ｖを印加することによって読み出し操作が試みられた場合、メモリセルはオンにならず、これは論理「０」が記憶されていることを示す。
【００１８】
また、メモリセルは、複数の状態を記憶することも可能であり、それにより例えば複数ビットのデジタルデータを記憶することも可能である。複数の状態のデータを記憶する場合、閾値電圧の範囲は、記憶する状態の数に分割される。例えば、４つの状態の情報が使用されている場合、４つの閾値電圧範囲が存在し、それぞれにデータ値「１１」、「１０」、「０１」、「００」が割り当てられる。ＮＡＮＤ型メモリの一例では、消去動作の後の閾値電圧は負となり、「１１」と定義される。正の閾値電圧は、「１０」、「０１」、「００」の状態のために使用される。一部の実施例では（上に例示したようなもの）、これらのデータ値（例えば論理状態）を、グレイコード割り当て方法を用いて閾値範囲に割り当て、これで、浮遊ゲートの閾値電圧が間違ってその隣接する物理状態にずれても、１つの論理ビットだけしか影響されないようにしている。メモリセルにプログラムされたデータとこのセルの閾値電圧範囲との間の具体的な関係は、メモリセルに対して採用されるデータ符号化スキームによって異なる。例えば、その双方の全体を参照してここに組み込む、２００３年６月１３日に出願された「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」という名称の米国特許第６，２２２，７６２号と米国特許出願第１０／４６１，２４４号には、マルチステート式フラッシュメモリセルのさまざまなデータ符号化スキームが記載されている。
【００１９】
ＮＡＮＤ型フラッシュメモリおよびそれらの動作に関連する例は、次の米国特許／特許出願で提供されており、それぞれの全体が参照により本明細書に援用される。米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４２２号、米国特許第６，４５６，５２８号、および米国特許出願第０９／８９３，２７７号（公開番号第ＵＳ２００３／０００２３４８号）である。ＮＡＮＤ型フラッシュメモリに加え、その他のタイプの不揮発性フラッシュメモリも本発明とともに使用されてもよい。
【００２０】
フラッシュＥＥＰＲＯＭシステムで役に立つ別のタイプのメモリセルは、導電性の浮遊ゲートの代わりに非導電性の誘電性材料を利用して、電荷を不揮発式に蓄積している。このようなセルが、１９８７年３月に発行されたＩＥＥＥのエレクトロン・デバイス・レターの第ＥＤＬ−８巻の第３号の、チャンらによる「Ａ  Ｔｒｕｅ  Ｓｉｎｇｌｅ−Ｔｒａｎｓｉｓｔｏｒ  Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ  ＥＥＰＲＯＭ  Ｄｅｖｉｃｅ」という記事の９３〜９５ページに記載されている。シリコン酸化物、シリコン窒化物、シリコン酸化物（“ＯＮＯ”）で形成された三層誘電体を、メモリセルのチャネル上で、導電性の制御ゲートと半導電性基板の表面とで挟んでいる。このセルは、セルのチャネルから窒素中に電子を注入し、この窒素中でこれらの電子が限られた領域中に捕獲されて蓄積されることによってプログラムされる。すると、この蓄積された電荷のため、このセルのチャネルのある部分の閾値電圧が変化するが、この変化は検出可能である。このセルは、ホットホールを窒素中に注入することによって消去される。また、１９９１年４月に発行されたソリッドステート回路に関するＩＥＥＥジャーナルの第２６巻の第４号のノザキらによる「Ａ  １−Ｍｂ  ＥＥＰＲＯＭ  ｗｉｔｈ  ＭＯＮＯＳ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｄｉｓｋ  Ａｐｐｌｉｃａｔｉｏｎ」の４９７〜５０１ページを読めば、ドーピングされた多結晶シリコンゲートがメモリセルチャネルのある部分上を伸張して、互いに分離された選択トランジスタを形成している分離ゲート構造の類似のセルが記述されている。前述の２つの記事の全体を参照してここに組み込む。参照してここに組み込む、１９９８年のＩＥＥＥプレスのウイリアム・Ｄ・ブラウン（Ｗｉｌｌｉａｍ  Ｄ．  Ｂｒｏｗｎ）とジョー・Ｅ・ブルーワ（Ｊｏｅ  Ｅ．  Ｂｒｅｗｅｒ）によって編集された「Ｎｏｎｖｏｌａｔｉｌｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ」の１．２章に言及されているプログラミング技法もまた、誘電性電荷捕獲デバイスに応用可能であるとこの章に記述されている。このパラグラフに記述されているメモリセルもまた、隣接するメモリセル間で結合している。したがって、本書に記載する技術もまた、互いに異なったメモリセルの誘電体領域間での結合に当てはまる。
【００２１】
各々のセルに２ビットを記憶する別の方式が、２０００年１１月に発行されたＩＥＥＥのエレクトロン・デバイス・レターの第２１巻の第１１号のエイタン（Ｅｉｔａｎ）らによる「ＮＲＯＭ：Ａ  Ｎｏｖｅｌ  Ｌｏｃａｌｉｚｅｄ  Ｔｒａｐｐｉｎｇ，  ２−Ｂｉｔ  Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ」の５４３〜５４５ページに記載されている。ＯＮＯ誘電体層が、ソースドープ層とドレインドープ層間のチャネル上を伸張している。一方のデータビットに対する電荷がドレインに隣り合った誘電体層中で局所化され、他方のデータビット用の電荷がソースに隣り合った誘電体層中で局所化される。マルチステートデータストレージは、誘電体内部の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み取ることによって記憶される。このパラグラフに記述するメモリセルもまた、本発明で用いることが可能である。
【００２２】
図４は、フラッシュメモリシステムの一実施形態のブロック図である。このシステムでは、メモリセルアレイ２０２は、列制御回路２０４と、行制御回路２０６と、Ｃ−ソース制御回路２１０と、ｐ−ウェル制御回路２０８によって制御される。列制御回路２０４は、メモリセル内に記憶されたデータを読み出すために、プログラム動作中のメモリセルの状態を判定するために、およびビット線の電位レベルを制御してプログラミングを促進またはプログラミングを抑止するために、メモリセルアレイ２０２のビット線に接続されている。行制御回路２０６は、ワード線のうちのいずれかを選択し、読み出し電圧を印加し、プログラム電圧を印加するために、および、消去電圧を印加するために、ワード線に接続されている。例えば、ＥＰＲＯＭおよびフラッシュメモリ回路で使用するプログラム電圧レベルは、通常のメモリ回路で使用される電圧より高い。これらは回路に供給される電圧より高いことが多い。これらの高い電圧は、好ましくは行制御回路２０６（あるいは別の場所）内の電荷ポンプによって生成される。行制御回路２０６は、一例において、本質的に容量性ワード線に電荷を投入し、電圧を高くする。電荷ポンプは入力を電圧Ｖｉｎで受け取り、入力された電圧を電圧増幅の過程において徐々に上昇させ、より高い電圧Ｖｏｕｔを出力する。出力された電圧は負荷、例えばＥＰＲＯＭメモリ回路のワード線に供給する。いくつかの実施例においては、負荷から電荷ポンプへフィードバック信号が送られる。従来技術のポンプは、負荷が所定の電圧に達したことを示す信号に応答して停止する。また、負荷が所定の電圧に達すると、過電荷を防ぐために分路が使用される。しかし、これはより多くの電力を消費し、低電圧印加の際には望ましくない。電荷ポンプに関する詳細な情報は、その全体が参照としてここに組み込まれる米国特許第６，７３４，７１８号に記載されている。
【００２３】
Ｃ−ソース制御回路２１０は、メモリセルに接続された共通ソース線（図５に「Ｃ−ソース」として示す）を制御する。Ｐ−ウェル制御回路２０８は、ｐ−ウェル電圧を制御する。
【００２４】
メモリセル内に記憶されたデータは、列制御回路２０４によって読み出され、データ入力／出力バッファ２１２を経由して、外部Ｉ／Ｏ線に出力される。メモリセル内に記憶されるプログラムデータは、外部Ｉ／Ｏ線を経由してデータ入力／出力バッファ２１２に入力され、列制御回路２０４に転送される。外部Ｉ／Ｏ線は、コントローラ２１８に接続される。
【００２５】
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ２１８に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、列制御回路２０４と、行制御回路２０６と、Ｃ−ソース制御２１０と、ｐ−ウェル制御回路２０８と、データ入力／出力バッファ２１２とを制御する状態マシン２１６に転送される。状態マシン２１６は、さらに、レディ（ＲＥＡＤＹ）／ビジー（ＢＵＳＹ）や、パス（ＰＡＳＳ）／フェイル（ＦＡＩＬ）などの、フラッシュメモリのステータスデータを出力してもよい。いくつかの実施形態において、状態マシン２１６は、以下に説明するフローチャートに描かれる工程を含むプログラミングプロセス、検証プロセス、読み出しプロセスの管理を担う。
【００２６】
コントローラ２１８は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されている、または、接続可能である。コントローラ２１８は、ホストからコマンドをおよびデータを受信し、ホストにデータおよびステータス情報を提供するために、ホストと通信を行う。コントローラ２１８は、ホストからのコマンドを、状態マシン２１６と通信しているコマンド回路２１４が解読して実行可能なコマンド信号に変換する。コントローラ２１８は、通常、メモリアレイに書き込まれるか、あるいは、メモリアレイから読み出されるユーザデータのためのバッファメモリを有している。いくつかの実施例においては、プログラミングプロセスはこのコントローラによって管理できる。
【００２７】
一例のメモリシステムは、コントローラ２１８を含む１つの集積回路と、１つ以上の集積回路チップ（それぞれがメモリアレイと、関連する制御、入力／出力、および状態マシン回路とを含む）を備える。メモリアレイとシステムのコントローラ回路は、１つ以上の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、または、ホストシステムに着脱可能に挿入されるメモリカード（またはその他のパッケージ）内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体（例えば、コントローラを含む）を含んでいてもよく、または、メモリアレイおよび関連する周辺回路のみを含んでいてもよい（コントローラはホスト内に組み込まれる）。このように、コントローラ（または制御機能）は、ホスト内に組み込まれることも、または着脱可能なメモリシステム内に含まれることも可能である。
【００２８】
一部の実施形態では、図４のコンポーネントには、組み合わせることが可能なものもある。さまざまな設計で、図４のコンポーネント（単体または組み合わせたもの）のうちで、メモリセルアレイ２０２以外の１つ以上のコンポーネントが、制御回路と考えることが可能である。例えば、１つ以上の制御回路は、コマンド回路、状態マシン、行制御回路、列制御回路、ウェル制御回路、ソース制御回路およびデータ入／出力回路のうちのどれか１つまたはこれらを組み合わせたものを含んでよい。
【００２９】
図５を参照して、メモリセルアレイ２０２の構造の例を説明する。一例として、１,０２４個のブロックに区分けされているＮＡＮＤ型フラッシュＥＥＰＲＯＭを説明する。各ブロックに記憶されたデータは同時に消去される。一実施形態では、ブロックは、同時に消去されるセルの最小単位である。本実施形態において、各ブロックには８，５１２列あり、偶数および奇数列に分割される。ビット線もまた偶数のビット線（ＢＬｅ）および奇数のビット線（ＢＬｏ）に分割される。図５は、直列に接続され、ＮＡＮＤストリングを形成する４つのメモリセルを示す。４つのセルは各ＮＡＮＤストリングに含まれるように図示されているが、使用するセルの数は４つ以上でも４つ以下でもよい。ＮＡＮＤストリングの一方の端子は、選択トランジスタＳＧＤを介して対応するビット線に接続され、もう一方の端子は、第２の選択トランジスタＳＧＳを介してＣ−ソース線に接続されている。
【００３０】
読み出しおよびプログラミング動作の一実施形態の間は、４，２５６のメモリセルが同時に選択される。選択されたメモリセルは、同じワード線と、同じ種類のビット線（例えば、偶数ビット線または奇数ビット線）とを有する。したがって、５３２バイトのデータが同時に読み出しまたはプログラムされることが可能である。５３２バイトのデータが、論理ページを形成し、同時に読み出しまたはプログラムされることが可能である。したがって、１つのブロックは、少なくとも８つの論理ページを記憶することが可能である（４本のワード線、それぞれが奇数および偶数ページを有する）。マルチステートメモリセルの場合、各メモリセルが２ビットのデータ（例えばマルチステートメモリセル）を記憶し、これら２ビットがそれぞれ異なったページに記憶される場合、１つのブロックは１６の論理ページを記憶する。他のサイズのブロックおよびページも、本発明とともに使用されてもよい。さらに、図４および図５に示す構造以外の構造を、本発明を実施するために使用することもできる。例えば、一実施形態において、ビット線は、全てのビット線がプログラムされかつ同時に（あるいは非同時に）読み取りされるように奇数と偶数の線に分割されない。
【００３１】
メモリセルの消去は、ｐ−ウェルを消去電圧（例えば、２０ボルト）まで引き上げるとともに、選択されたブロックのワード線を接地することによって行われる。ソースおよびビット線はフローティングとする。消去は、メモリアレイ全体、独立したブロック、またはセルの別の単位に対して実行することができる。浮遊ゲートから電子がｐ−ウェル領域に移送され、閾値電圧は負になる。
【００３２】
読み出しおよび検証動作では、トランジスタをパスゲートとして動作させるために、選択ゲート（ＳＧＤおよびＳＧＳ）と、選択されないワード線（例えば、ＷＬ０、ＷＬ２、およびＷＬ３）が、読み出しパス電圧（例えば、４．５ボルト）まで引き上げられる。選択されたワード（例えば線ＷＬ１）は、各読み出しおよび検証動作について指定されたレベルの電圧に接続され、関連するメモリセルの閾値電圧が指定されたレベルの電圧より上であるか下であるかが判定される。例えば、２レベル型のメモリセルの読み出し動作では、選択されたワード線ＷＬ１を接地してもよく、それによって閾値電圧が０Ｖよりも高いか否かが検出される。２レベル型のメモリセルの検証動作では、選択されたワード線ＷＬ１を例えば０．８Ｖに接続し、それによって閾値電圧が少なくとも０．８Ｖに到達しているのか否かが検証される。ソースおよびｐ−ウェルは０ボルトである。選択されたビット線（ＢＬｅ）は、例えば０．７Ｖのレベルに予備チャージされる。閾値電圧が、ワード線上の読み出しまたは検証レベルよりも高い場合、該当するセルと関連するビット線（ＢＬｅ）の電位レベルは、非導電性のメモリセルのため、高いレベルに維持される。一方、閾値電圧が、読み出しまたは検証レベルよりも低い場合、関連するビット線（ＢＬｅ）の電位レベルは、導電性のメモリセルがビット線を放電するため、例えば０．５Ｖ未満の低いレベルに低下する。これによって、メモリセルの状態が、ビット線に接続された電圧比較器センス増幅器により検出される。
【００３３】
上記の消去、読み出し、および検証動作は、当業界で知られた技術に従って実行される。したがって、説明した詳細の多くについては、当業者によって変更することが可能である。当業界で知られた他の消去、読み出しおよび検証技術を使用することもできる。
【００３４】
上述したように、各ブロックを多くのページに分割することが可能である。一実施形態では、１ページがプログラミングの単位である。一部の実施例では、個々のページをセグメントに分割されてもよく、セグメントが含む、基本的なプログラミング動作として一度に書き込まれるセルの数は最も少ない数であってもよい。一般的に、１ページ以上分のデータが１行のメモリセルに記憶される。１ページに１つ以上のセクターを記憶することが可能である。１つのセクターには、ユーザデータとオーバーヘッドデータが含まれる。オーバーヘッドデータは、セクターのうちのユーザデータから計算されたエラー訂正符号（ＥＣＣ）を含んでいる。コントローラの一部が、データがアレイ中にプログラムされている間にＥＣＣを計算し、また、データがアレイから読み出されている間にこのＥＣＣを用いてチェックする。代替例では、ＥＣＣおよび／または他のオーバーヘッドデータを、自身が属すユーザデータとは異なったページ、さらには異なったブロックに記憶される。他の実施例では、メモリデバイスの他の部分（例えば状態マシン）がＥＣＣを計算可能である。
【００３５】
ユーザデータを含むセクターは、一般に、磁気ディスクドライブ中のセクターのサイズに対応して５１２バイトである。オーバーヘッドデータは、一般的には追加の１６〜２０バイトである。多くのページが１つのブロックを形成しているが、その数値は、例えば、８ページから３２ページ、６４ページ、さらにこれ以上の数値の間のいずれかの数値である。
【００３６】
図６に、それぞれのメモリセルが２ビットのデータを記憶している場合のメモリセルアレイの閾値電圧分布を示す。図６は、消去されたメモリセルの第１の閾値電圧分布Ｅを示している。Ａ、Ｂ、Ｃは、プログラムされたメモリセルの３つの閾値電圧分布を示している。１つの設計では、分布Ｅ中の閾値電圧は負であり、分布Ａ、Ｂ、Ｃ中の閾値電圧は正である。
【００３７】
図６の異なる閾値電圧範囲はそのそれぞれが、データビットの集合の所定の値に対応している。メモリセルにプログラムされたデータとこのセルの閾値電圧レベルとの間の具体的な関係は、セルに対して採用されるデータ符号化スキームによって異なる。１つの例では、「１１」を閾値電圧範囲Ｅ（状態Ｅ）に割り当て、「１０」を閾値電圧範囲Ａ（状態Ａ）に割り当て、「００」を閾値電圧範囲Ｂ（状態Ｂ）に割り当て、「０１」を閾値電圧範囲Ｃ（状態Ｃ）に割り当てている。しかしながら、他のスキームを用いている実施形態もある。
【００３８】
図６はまた、メモリセルからデータを読み出すための３つの基準電圧Ｖｒａ、Ｖｒｂ、Ｖｒｃを示している。所与のメモリセルの閾値電圧がＶｒａ、ＶｒｂおよびＶｒｃより大きいか小さいかをテストすることによって、本システムは、メモリセルがどの状態にあるかを判定することが可能である。図６はまた、３つの検証基準電圧Ｖｖａ、Ｖｖｂ、Ｖｖｃを示している。メモリセルを状態Ａにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がＶｖａ以上であるかどうかをテストする。メモリセルを状態Ｂにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がＶｖｂ以上であるかどうかをテストする。メモリセルを状態Ｃにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がＶｖｃ以上であるかどうかをテストする。
【００３９】
一実施形態では、フルシーケンスプログラミングとして知られているが、メモリセルを、消去状態Ｅからプログラム済み状態Ａ、ＢまたはＣ（曲線矢印で示されている）のうちのどれにでも直接的にプログラムすることが可能である。例えば、プログラムされるメモリセルの母集団を最初に消去し、これで、この母集団中のすべてのメモリセルが消去状態Ｅとなるようにする。一部のメモリセルが状態Ｅから状態Ａにプログラムされている間に、他のメモリセルを状態Ｅから状態Ｂに、および／または、状態Ｅから状態Ｃにプログラムする。
【００４０】
図７に、互いに異なった２つのページ、すなわち、下位ページと上位ページ分のデータを記憶するマルチステートメモリセルをプログラムする２パス式技法の例を示す。４つの状態、すなわち、状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）および状態Ｃ（０１）が示されている。状態Ｅの場合、両ページとも「１」を記憶している。状態Ａの場合、下位ページは「０」を記憶し、上位ページは「１」を記憶している。状態Ｂの場合、両ページとも「０」を記憶している。状態Ｃの場合、下位ページは「１」を記憶し、上位ページは「０」を記憶している。ここで、特定のビットパターンがそれぞれの状態に割り当てられているが、別のビットパターンを割り当ててもよい。第１のプログラミングパスでは、セルの閾値電圧レベルを、下位の論理ページにプログラムされるビットにしたがって設定される。このビットが論理「１」であれば、この閾値電圧は変更されないが、これは、前に消去された結果として適切な状態にあるからである。しかしながら、このプログラムされるビットが論理「０」であれば、このセルの閾値電圧は、矢印２３０で示すように状態Ａにまで引き上げられる。これで、第１のプログラミングパスが完結する。
【００４１】
第２のプログラミングパスでは、セルの閾値電圧レベルが、上位の論理ページにプログラムされるビットにしたがって設定される。この上位論理ページビットが論理「１」を記憶するのであれば、プログラムはされない。これは、このセルが、下位ページビットのプログラミングしだいで決まる状態ＥまたはＡの内の一方の状態にあり、双方が「１」という上位ページビットを有しているからである。上位ページビットが論理“０”となるのであれば、閾値電圧は移行する。第１のパスの結果、セルが消去状態Ｅのままであれば、第２のフェーズで、このセルは、閾値電圧が、矢印２３４で示すように状態Ｃ内に移るようにプログラムされる。このセルが、第１のプログラミングパスの結果として状態Ａにプログラムされた場合、メモリセルは、矢印２３２で示すように閾値電圧が状態Ｂ内に移るように、第２のパスでさらにプログラムされる。第２のパスの結果、下位ページのデータを変更することなく、上位ページの論理「０」を記憶するように指定された状態にセルをプログラムすることになる。
【００４２】
一実施形態では、ページ全体を満たすのに十分なデータが書き込まれた場合に、フルシーケンス書き込みを実行するようにシステムをセットアップすることが可能である。ページ全体を満たすに十分なデータが書き込まれていない場合、プログラミングプロセスは、受信したデータによって下位ページをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、下位ページをプログラムするモードで書き込みを始め、次に、ワード線のメモリセルの全部（またはほとんど）を満たすのに十分なデータがその後で受信されればフルシーケンスプログラミングモードに変換することが可能である。このような実施形態のより詳細が、その全体を参照してここに組み込む、発明者サージー・アナトリビッチ・ゴロベッツ（Ｓｅｒｇｙ  Ａｎａｔｏｌｉｅｖｉｃｈ  Ｇｏｒｏｂｅｔｓ）とヤン・リー（Ｙａｎ  Ｌｉ）による、２００４年１２月１４日に出願された「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−  Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」という名称の米国特許出願第１１／０１３，１２５号に開示されている。
【００４３】
図８Ａ〜８Ｃに、浮遊ゲート間のカップリングを軽減する不揮発性メモリをプログラムする別のプロセスを開示する。このプロセスは、前のページに隣接するメモリセルに書き込んだ後に、特定のページに対する特定のメモリセルに書き込み動作を実行する。一実施例では、この不揮発性メモリセルはそのそれぞれが、４つのデータ状態を用いて２ビットのデータを記憶する。例えば、状態Ｅが消去された状態で、状態Ａ、ＢおよびＣがプログラムされた状態を想定する。状態Ｅはデータ１１を記憶する。状態Ａはデータ０１を記憶する。状態Ｂはデータ１０を記憶する。状態Ｃはデータ００を記憶する。隣接する状態Ａと状態Ｂの間で双方のビットが変化するので、これはノングレイコーディングの例である。データをデータの物理状態に符号化する他の方法も用いることが可能である。それぞれのメモリセルが２ページ分のデータを記憶している。参照目的で、これらのページのデータを上位ページと下位ページと呼ぶが、別のラベルを付けることも可能である。図８Ａ〜８Ｃのプロセスに対する状態Ａを参照すると、上位ページはビット０を記憶し、下位ページはビット１を記憶する。状態Ｂを参照すると、上位ページはビット１を記憶し、下位ページはビット０を記憶する。状態Ｃを参照すると、双方のページはビットデータ０を記憶する。
【００４４】
図８Ａ〜８Ｃのプログラミングプロセスは、２つのステップのプロセスである。第１のステップでは、下位ページをプログラムする。この下位ページがデータ１の状態にとどまることになっている場合、メモリセルの状態は状態Ｅのままである。このデータが０にプログラムされることになっている場合、メモリセルが状態Ｂ’にプログラムされるように、メモリセルの閾値電圧を引き上げる。したがって図８Ａに、状態Ｅから状態Ｂ’にメモリセルをプログラムする様子を示す。図８Ａに示す状態Ｂ’は中間状態Ｂ’である。したがって、検証ポイントを、Ｖｖｂより低いＶｖｂ’として示す。
【００４５】
１つの形態では、あるメモリセルが状態Ｅから状態Ｂ’にプログラムされると、隣接するワードライン上のその隣接したメモリセルがその下位ページに関してプログラムされる。その隣接したメモリセルをプログラムした後で、浮遊ゲート間のカップリング作用によって、状態Ｂ’である検討中のメモリセルの見かけ上の閾値電圧が引き上げられる。これによって、状態Ｂ’の閾値電圧分布の幅を図８Ｂの閾値電圧分布２５０として示す分布にまで広げる作用がある。この閾値電圧分布の見かけ上の拡大は、上位ページをプログラムするときに修正される。
【００４６】
図８Ｃは、上位ページをプログラムするプロセスを示している。メモリセルが消去された状態Ｅにあって上位ページが１のままとどまるのであれば、このメモリセルは状態Ｅのままである。メモリセルが状態Ｅにあってその上位ページデータを０にプログラムすることになっているのであれば、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Ａとなるようにする。メモリセルが中間閾値電圧分布２５０にあって、上位ページデータが１にとどまることになっている場合、このメモリセルは最終状態Ｂにプログラムされる。メモリセルが中間閾値電圧分布２５０にあって、上位ページデータがデータ０になることになっている場合、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Ｃとなるようにする。
【００４７】
図８Ａ〜８Ｃに示すプロセスによって浮遊ゲート間のカップリング作用が低減されるが、これは、隣接したメモリセルの上位ページをプログラムした場合にしか、所与のメモリセルの見かけ上の閾値電圧が影響されないからである。別の状態のコーディングの例として、上位ページデータが１の時に閾値電圧分布２５０から状態Ｃへ移動する、および上位ページデータが０の時には状態Ｂへ移動することが挙げられる。図８Ａ〜８Ｃに４つのデータ状態と２ページ分のデータに関する例を示すが、図８Ａ〜８Ｃが教示する概念は、状態が４つより多いまたは少ない、あるいは２ページではない他の実施例にも適用可能である。さまざまなプログラミング方式と浮遊ゲート間の結合とに関するさらなる詳細は、その双方の全体を参照してここに組み込む、２００５年４月５日に発行された「Ｃｏｍｐｅｎｓａｔｉｎｇ  Ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  Ｏｆ  Ｎｏｎ−  Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ」という名称の米国特許出願第１１／０９９，１３３号と、シバタらに対して２００３年１２月２日に公開された米国特許第６，６５７，８９１号に記載されている。
【００４８】
上述したように、隣のメモリセルによって結合が引き起こされ、これによってメモリセルの見かけ上の閾値電圧に影響を及ぼすことがある。隣のメモリセルは隣接するワード線上にあったり、隣接するビット線上にあったり、隣接してはいないが近くにあるビット線上にあったりする。本システムは、読み出し中のメモリセル（または浮遊ゲート）がプロラム中の隣のメモリセル（または浮遊ゲート）より先にプログラムされて結合が発生している可能性があるかどうかを最初に判定することによって、隣の浮遊メモリセル間の結合を選択的に補償する。読み出し中のメモリセルが隣のメモリセルより先にプログラムされている場合には、この隣のメモリセルのプログラミングのレベルに基づいて結合を補償するプロセスを用いることができる。
【００４９】
図９は、タイミング情報を利用するプログラミングの高レベルプロセスの一実施形態を説明するフローチャートである。図１０は、結合が発生する可能性があるかどうかを判定するためにプログラムされたタイミング情報を利用する読み出しと、これに基づいた選択的な補償とのプロセスの一実施形態を説明するフローチャートである。
【００５０】
図９のステップ３００で、データ書き込み要求を受信する。この要求は、コントローラ、状態マシンまたは別のデバイスで受信することが可能である。この要求に応答して、データ（１ビット以上の情報）が、ステップ３０２でフラッシュメモリアレイに書き込まれる。加えて、タイミング情報がステップ３０４で記憶される。このタイミング情報は、ステップ３０２で書き込まれたデータに対してカスタマイズされている。１つの実施形態では、タイミング情報は、ステップ３０２で記憶されたデータと一緒に記憶される。タイミング情報を個別に記憶する実施形態もある。ステップ３０２と３０４は同時に実行してもよいし別々に実行してもよい。この文書と一緒に含まれるすべてのフローチャートにおいて、フローチャートに示すステップの順序は必ずしも必要条件ではなく、多くの場合、適切な他の順序を実行してもよいことに留意されたい。
【００５１】
利用可能なタイミング情報には多くの例がある。１つの実施形態では、タイムスタンプが用いられる。このタイムスタンプは、ホストデバイス用のシステムクロックから読み出される絶対タイムスタンプであってもよい。メモリシステムが内部バッテリを含んでいて、それ自身のクロックを記憶している実施形態もある。相対的タイムスタンプを用いることが可能な実施形態もある。例えば、システムがサイクルカウントを維持することが可能となっている。このサイクルカウントは、各プログラミングサイクルに番号を付ける。サイクルカウントは、状態マシン、コントローラまたは別のデバイスによって維持することが可能である。サイクルカウントは、ステップ３０４でタイミング情報として記憶することが可能である。第１のデータ集合のサイクルカウントが第２のデータ集合より大きい場合、第１のデータ集合は第２のデータ集合より後でプログラムされている。タイミング情報の別の実施形態には、データが隣のメモリセルより前にプログラムされたか後でプログラムされたかの表示が含まれる。
【００５２】
図１０に、データを読み出すプロセスを説明するフローチャートを示す。ステップ３４０では、データ読み出し要求が、コントローラ、状態マシンまたは他のデバイスにより受信される。ステップ３４２で、このデータに対するタイミング情報がアクセスされる。これは、ステップ３０４で記憶されたタイミング情報である。ステップ３４４で、結合が発生している可能性があるかどうかが、このアクセスされたタイミング情報に基づいて判定される。１つの実施形態では、本システムは、この読み出し要求と関連するデータを記憶しているメモリセルが隣のメモリセルより先にプログラムされていることをタイミング情報が示しているかどうかを判定する。そうであれば、メモリセル間に結合が発生する可能性がある。読み出し要求と関連するデータを記憶しているメモリセルが隣のメモリセルより後にプログラムされていれば、結合が発生する可能性はほとんどない。結合が発生する可能性があるとステップ３４４で判定されても、隣のセルのプログラミングのレベルが結合を生じさせるほどでなければ、実際には結合は発生しない。結合が発生する可能性がない場合（ステップ３４６）、ステップ３４８で結合を考慮することなく読み出しプロセスを実行する。読み出しプロセスでは、不揮発性メモリに記憶されている情報を判定して、この情報を通知することに留意されたい。結合が発生する可能性があると判定された場合（ステップ３４６）、ステップ３５０で、結合が発生する可能性を考慮した読み出しプロセスを実行する。１つの実施形態では、ステップ３５０では、必要であれば、結合を補償する。メモリセル間の結合を補償するにはさまざまな方式がある。本書に記載する技術で用いることが可能であればどのような適切な方式でも用いることが可能である。
【００５３】
図１１は、データのページの一実施形態を示すブック図である。このデータページには、ヘッダー３８０、タイミング情報３８２、ユーザデータ３８４およびエラー訂正符号（ＥＣＣ）３８６が含まれる。ヘッダー情報は、ヘッダー中で用いられる技術上周知のデータのいずれかの集合を含むことが可能である。ヘッダー情報が、アドレス情報、ビットおよび／またはセクターマッピング関連情報、セクターへの書き込み回数カウントなどを含む例もある。他の情報もヘッダーに記憶することが可能である。タイミング情報３８２は、ステップ３０４で記憶されたタイミング情報である。ユーザデータ３８４は、ステップ３０２で書き込まれたデータを含んでいる。ＥＣＣ３８６は、技術上周知のエラー訂正符号を含んでいる。複数のページに書き込みを実行することを必要とする書き込み要求もあることに留意されたい。この場合、１つの集合以上のタイミング情報を用いることが可能である。
【００５４】
図１２は、データを書き込むプロセスの１つの実施形態を示すフローチャートである。図１２のプロセスは、図９のステップ３０２と３０４を実行する１つの実施形態である。図１２のステップ４０２では、本システムは、データ書き込み要求の受信に応答して、メモリのうちでプログラムすべき適切な部分を選択する。この動作では、書き込み先としてのブロックおよび／またはページおよび／またはセクターが選択される。１つの実施形態では、図１２のプロセスではページにデータが書き込まれるが、この書き込みにより、共通のワード線に接続されているメモリセルにデータが書き込まれる。ステップ４０４で、選択されたメモリ部分が予備プログラムされるが、これはフラッシュメモリの磨耗に備えるためである。選ばれたセクターまたはページ中の全てのメモリセルは、同じ閾値電圧範囲にプログラムされる。ステップ４０４はオプションである。ステップ４０６で、プログラムされるメモリセルを消去する。例えば、ステップ４０６では、古いメモリセルを状態Ｅに移動する動作を含むことがある（図６〜８を参照）。ステップ４０６が、ソフトプログラミングプロセスを実行する動作も含む実施形態もある。この消去プロセス中に、一部のメモリセルの閾値電圧が、分布Ｅより低い値まで低下する可能性がある（図６〜８を参照）。ソフトプログラミングプロセスでは、プログラム電圧パルスをメモリセルに印加することによって、これらメモリセルの閾値電圧が閾値電圧分布Ｅ内まで上昇するようにする。
【００５５】
ステップ４０８では、本システムはタイムスタンプを取得する。このタイムスタンプは絶対タイムであり得る。例えば、メモリシステムが、コントローラを介してホストから日／時を要求することがある。代替例では、メモリシステムがバッテリと内部クロックを含んでおり、これによって、メモリシステムが自身のタイムスタンプを提供することが可能となるようにしている。メモリシステムがサイクルカウントを維持するような実施形態もある。ページがプログラムされるごとに、サイクルカウントがインクリメントされる。ステップ４０８で取得されたタイムスタンプは現在のサイクルカウント値である。サイクルカウントが絶対タイムでなければ、それは相対的なタイムである。サイクルカウントによって、２ページ以上のページのうちのどのページが最初にプログラムされたかを判定することが可能である。
【００５６】
ステップ４１０では、プログラムすべきデータを適切なラッチ／レジスタに記憶する。１つの実施形態では、図１２のプロセスを用いて、１ページ分のデータをプログラムする。プログラムされているメモリセルのすべてが同じワード線上に存在する。各メモリセルは、自身のビット線と、このビット線と関連するラッチの集合を有している。これらのラッチは、関連するメモリセルに対するプログラム予定データの指示を記憶する。ステップ４１０でも、タイムスタンプを記憶するメモリセルに対するビット線と関連するラッチ中にタイムスタンプデータを記憶する。ステップ４１２で、最初のプログラムパルスの大きさが設定される。ワード線に印加される電圧はプログラムパルスの集合であり、各パルスはその大きさが直前のパルスより１ステップサイズ（例えば０．２〜０．４Ｖ）だけ増加するようになっている実施形態もある。ステップ４１４で、プログラムカウントＰＣを最初にゼロに設定する。
【００５７】
ステップ４１６では、プログラムパルスを適切なワード線に印加する。ステップ４１８では、このワード線上のメモリセルが、目標とする閾値電圧レベルに到達したかどうかを検証する。すべてのメモリセルが目標の閾値電圧レベルに到達した場合（ステップ４２０）、ステップ４２２で、プログラミングプロセスは適切に完了したことになる（ステータス＝パス）。検証されたメモリが全数ではない場合、ステップ４２４で、プログラムカウントＰＣが２０（または他の適切な値）未満であるかどうかを判定する。プログラムカウントが２０未満ではない場合、プログラミングプロセスはフェイルしたことになる（ステップ４２６）。プログラムカウントが２０未満であれば、ステップ４２８で、次のパルスのプログラム電圧信号Ｖｐｇｍの値をステップサイズ（例えば０．３Ｖ）だけインクリメントして、プログラムカウントＰＣをインクリメントする。目標とする閾値電圧に到達したメモリセルは、現在のプログラミングサイクルの残りの時間中はプログラムされないように除外されることに留意されたい。ステップ４２８の後、図１２のプロセスはステップ４１６まで続いて、次のプログラムパルスが印加される。
【００５８】
図１３に、図１２のプロセスにしたがって、または、他のプロセスにしたがって書き込まれたデータの読み出しプロセスの一例を示す。図１３は、図１０のプロセスの実施形態である。図１３のステップ５００で、データを読み出す要求を受信する。ステップ５０２で、要求されたページに対して読み出しプロセスを実行する。１つの実施形態では、このプロセスには、同じワード線に接続されたメモリセルの集合からデータを読み出す動作が含まれる。いくつかの実施形態では、各ワード線に隣接したワード線が２つある（例えば、上方と下方に１つずつワード線があったり、右側と左側に１つずつワード線があったりする）。ステップ５０４で、隣接したワード線のうちの一方を読み出す。ステップ５０６で、隣接した他方のワード線を読み出す。目的とするデータを記憶しているワード線が１つだけである実施形態では、ステップ５０６をスキップすることが可能である。ステップ５０２、５０４および５０６では、ユーザデータのほかに関連するタイミング情報が読み出される動作が含まれることに留意されたい。すなわち、図１１に示すページ全体が読み出され、また、このページがタイミング情報３８２を含んでいる。図１３の実施形態では、タイミング情報は、絶対タイムまたは相対タイム（例えばサイクルカウント）等のタイプのタイムスタンプを想定している。ステップ５０８で、結合が発生する可能性があるかどうかを、さまざまなタイムスタンプの比較に基づいて判定する。例えば、読み出し中のワード線のタイムスタンプが隣接する２つのワード線のタイムスタンプより後であれば、読み出し中のワード線はこれら隣接する２つのワード線の後にプログラムされており、したがって、浮遊ゲート間結合が発生する可能性がないと推測される。読み出されているワード線のタイムスタンプが隣接する２つのワード線のいずれか一方のワード線のタイムスタンプより前であれば、結合が発生している可能性がある。結合が発生している可能性がなければ（ステップ５１０）、ステップ５０２で読み出されたデータを、結合に対する補償をすることなく、記憶してユーザに報告する。結合の発生する可能性があると判定された場合（５１０）、ステップ５１４で、ステップ５１４での結合を補償する追加の読み出しプロセスを実行する。
【００５９】
図１４は、データのページに対する読み出し動作（図１３のステップ５０２を参照）を実行するプロセスの１つの実施形態を説明するフローチャートである。図１４の実施形態は、ある共通のワード線に接続されているメモリセルの集合からデータページを読み出す動作に関連している。具体的には、図１４の実施形態は、図６〜８の状態Ｅ、Ａ、ＢおよびＣなどの４つの状態を含むマルチステートメモリに関連している。図１４の技術は他の構成にも適用可能である。ステップ５４０で、読み出し基準電圧Ｖｒａを、このページと関連する適切なワード線に印加する。ステップ５４２で、このページと関連するビット線を検知して、アドレス指定されたメモリセルが導通するかしないかを、Ｖｒａをその制御ゲートに印加することによって判定する。ビット線の導通は、メモリセルがオンしたこと、すなわち、これらメモリセルの閾値電圧がＶｒａ未満（例えば状態Ｅ）であることを示す。ステップ５４４で、ビット線の検知結果を、これらビット線の適切なラッチに記憶する。ステップ５４６で、読み出し基準電圧Ｖｒｂを、読み出されるページと関連するワード線に印加する。ステップ５４８で、ビット線は上述したように検知される。ステップ５５０で、その結果をこのビット線の適切なラッチに記憶する。ステップ５５２で、読み出し基準電圧Ｖｒｃを、このページと関連するワード線に印加する。ステップ５５４で、上記のように、ビット線を検知して、どのメモリセルが導通するかを判定する。ステップ５５６で、この検知ステップの結果をこのビット線の適切なラッチに記憶する。ステップ５５８で、各ビット線に対するデータ値を決定する。例えば、あるメモリセルがＶｒａで導通すれば、このメモリセルは状態Ｅにある。あるメモリセルがＶｒｂとＶｒｃで導通するがＶｒａでは導通しなければ、このメモリセルは状態Ａにある。メモリセルがＶｒｃで導通するがＶｒａとＶｒａｂでは導通しなければ、このメモリセルは状態Ｂにある。メモリセルがＶｒａでも、Ｖｒａｂでも、Ｖｒｃでも導通しなければ、このメモリセルは状態Ｃにある。１つの実施形態では、データ値を、センス増幅器と関連する処理ユニットによって決定する。ステップ５６０では、決定された値が各ビット線に対する適切なラッチまたは別の場所に記憶されて、状態マシン、コントローラまたは他のデバイスによって利用されるようにする。さまざまなレベル（Ｖｒａ、Ｖｒａｂ、Ｖｒｃ）を検知する順序が異なる実施形態もある。
【００６０】
図１５Ａは、潜在的な結合を補償する追加の読み出しプロセスを実行するプロセスの１つの実施形態を説明するフローチャートである。すなわち、図１５Ａは、図１３のステップ５１４の１つの実施形態を示すものである。図１５Ａの実施形態では、隣同士の２つのワード線から結合が発生している可能性が存在すると想定している。ステップ６００で、これら隣同士のワード線のうちの一方に基づいてオフセットを決定する。利用可能なオフセットのタイプとオフセット値にはさまざまである。１つの実施形態では、隣のメモリセルが状態Ａにプログラムされている場合（図６を参照）、オフセットは０．１ボルトであり、隣のメモリセルが状態Ｂにプログラムされている場合、オフセットは０．２ボルトであり、隣のメモリセルが状態Ｃにプログラムされている場合、オフセットは０．３ボルトである。他の値や方式を用いることが可能な実施形態もある。システムは、ステップ５０４と５０６で隣のワード線に記憶されていた値を既に読み出しているため、どのオフセットを用いるべきかを判定することができる。隣の各ワード線に対するオフセットの集合を決定し、次に、２つのオフセットを合計する。この方式では、可能なオフセットが６個存在する。
【００６１】
例えば、所定のメモリセルに２つの隣が存在するものと仮定する。第１の隣を状態Ｂにプログラムする。第２の隣を状態Ｃにプログラムする。すると、第１の隣からのオフセットは０．２ボルトであり、第２の隣からのオフセットは０．３ボルトである。この特定のメモリセルのオフセットの合計は０．５ボルトである。
【００６２】
潜在的なオフセットの個数が６個より多かったり少なかったりする実施形態もある。一部の実施例では、オフセットとしてゼロボルトがある。例えば、隣のメモリセルが状態Ｅのままであれば、ゼロボルトのオフセットを用いることが可能である。
【００６３】
図１５Ａのステップ６０２では、オフセットを受信しないメモリセルが、ステップ５０２の前に読み出されたデータを記憶する。例えば、あるメモリセルの隣のセルが状態Ｅであれば、オフセットは用いられない（０Ｖオフセット）。ステップ６０４では、読み出しポイントにおいて第１のオフセットを用いて読み出しプロセスを実行する。例えば、図１４のプロセスを実行することが可能である。しかしながら、読み出し比較ポイントとしてＶｒａ、ＶｒｂおよびＶｒｃを用いる替わりに、この読み出しプロセスは、Ｖｒａ＋第１のオフセット、Ｖｒｂ＋第１のオフセットおよびＶｒｃ＋第１のオフセットを用いる。ステップ６０６で、第１のオフセットと関連するビット線に対するデータを記憶する。すなわち、１つの隣が状態Ｅにあり、別の隣が状態Ａにあるようなメモリセルは、ステップ６０４からのデータを記憶する。ステップ６０８では、読み出し比較ポイントにおいて第２のオフセット集合を用いて読み出しプロセスを実行する。例えば、読み出し比較ポイントに対するＶｒａ＋第２のオフセット、Ｖｒｂ＋第２のオフセットおよびＶｒｃ＋第２のオフセットで、図１４のプロセスを実行する。ステップ６１０で、第２のオフセットと関連するビット線が、ステップ６０８からのデータを記憶する。例えば、１つの隣が状態Ｅにあり、別の隣が状態Ｂにある、または、双方の隣が状態Ａにあるようなメモリセルは、ステップ６０８からのデータを記憶する。ステップ６１２では、読み出し比較ポイントにおいて第３のオフセットを用いて読み出しプロセスを実行する。ステップ６１４で、第３のオフセットと関連するビット線に対するデータを記憶する。ステップ６１６では、読み出し比較ポイントにおいて第４のオフセットを用いて読み出しプロセスを実行する。ステップ６１８で、第４のオフセットと関連するビット線に対するステップ６１６からのデータを記憶する。ステップ６２０では、読み出し比較ポイントにおいて第５のオフセットを用いて読み出しプロセスを実行する。ステップ６２２で、第５のオフセットと関連するビット線に対するデータを記憶する。ステップ６２４で、読み出し比較ポイントにおける第６のオフセットを用いて読み出しプロセスを実行する。ステップ６２６で、第６のオフセットと関連するビット線に対するステップ６２４からのデータを記憶する。１つの例では、第１のオフセットは０．１ボルトであり、第２のオフセットは０．２ボルトであり、第３のオフセットは０．３ボルトであり、第４のオフセットは０．４ボルトであり、第５のオフセットは０．５ボルトであり、第６のオフセットは０．６ボルトである。結合に対する補償に関するさらなる情報は、その全体を参照してここに組み込む、ジアン・チェン（Ｊｉａｎ  Ｃｈｅｎ）による「Ｃｏｍｐｅｎｓａｔｉｎｇ  ｆｏｒ  Ｃｏｕｐｌｉｎｇ  Ｄｕｒｉｎｇ  Ｒｅａｄ  Ｏｐｅｒａｔｉｏｎｓ  Ｏｎ  Ｎｏｎ−  Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ，」という名称の２００５年４月５日に出願された米国特許出願第１１／０９９，１３３号に見受けることが可能である。
【００６４】
図１５Ａのプロセスは、２つの隣から結合が発生する可能性が存在する場合に実行される。ステップ５０８で一方の隣からしか結合が発生する可能性がないと判定された場合には、ステップ５１４で図１５Ｂのプロセスが実行される。ステップ６３０では、一方の隣に基づいてオフセットを決定する。ステップ６３２では、関連するオフセットがないビット線に対して既に読み出されたデータをステップ６３２で記憶する。ステップ６３４では、読み出し比較ポイントにおいて第１のオフセットを用いて読み出しプロセスを実行する。ステップ６３６で、第１のオフセットと関連するビット線に対するデータを記憶する。ステップ６３８では、読み出し比較ポイントにおいて第２のオフセットを用いて読み出しプロセスを実行する。ステップ６４０で、第２のオフセットと関連するビット線に対するデータを記憶する。ステップ６４２では、読み出し／比較ポイントにおいて第３のオフセットを用いて読み出しプロセスを実行する。ステップ６４４で、第３のオフセットと関連するビット線に対するデータを記憶する。
【００６５】
別の実施形態では、タイムスタンプを記憶するのではなく、特定のページが隣のワード線（または他の隣）のデータの後にプログラムされたか、または以前にプログラムされているかどうかを示すタイミング情報を記憶する。この情報がこのページが以前に書き込まれたか可能性があるか否かのみしか示さない理由は、このページが、隣が消去されたときに書き込まれ、また、隣が一度も書き込まれていないということがあり得るからである。
【００６６】
図１６に、データのページの別の例を示す。ここに示すページは、ヘッダー６５０、タイミング情報６５２、ユーザデータ６５４、タイミング情報６５６およびＥＣＣ６５８を含んでいる。タイミング情報６５２は、前のワード線に関する履歴（前のワード線履歴―ＨＰＷＬ）を提供するものである。タイミング情報６５６は、次のワード線に関する履歴（次のワード線履歴―ＨＮＷＬ）を提供するものである。タイミング情報６５２と６５６に関して、「前の」や「次の」という用語を用いるのは、時間や順序を表すことを意図するものではない。むしろ、「前の」や「次の」といった用語は、２つの隣のそれぞれを識別するために用いるものである。例えば、図５を見ると、ワード線ＷＬ２には、少なくとも２つの隣、すなわち、ＷＬ３とＷＬ１を有している。表記の目的により、ソースに最も近い隣のワード線を前のワード線と呼び、ドレインに最も近い隣のワード線を次のワード線と呼ぶ。したがって、ＷＬ１に対しては、前のワード線はＷＬ１であり、次のワード線はＷＬ２である。結合が発生する可能性の決定と適宜これを補償する本書に記載する技術は、所定ではない順序でデータをプログラムするプログラミング方式を含む多くのプログラミング方式と共に用いることが可能である。すなわち、一部の実施形態では、ワード線をＷＬ０からＷＬ３の順序でプログラムする。他の実施形態では、システムは、ワード線をランダムに選んで任意の順序でこれらワード線をプログラムする。本書に記載する技術は、どちらの実施形態でも効果を生じ得るものである。
【００６７】
図１７は、ＨＰＷＬ６５２とＨＮＷＬ６５６に記憶することが可能なデータ値を説明するチャートである。１つの実施形態では、記憶されるデータとしては、２ビットの１１、１０および００がある。ＨＰＷＬ６５２またはＨＮＷＬ６５６が１１を記憶していれば、履歴を記憶しているページ、セクターまたはワード線が消去される。ＨＰＷＬ６５２またはＨＮＷＬ６５６が１０を記憶していれば、その履歴値を記憶しているワード線はそれぞれの隣のワード線より前にプログラムされている。ＨＰＷＬ６５２またはＨＮＷＬ６５６が００を記憶していれば、それぞれの隣のワード線は、履歴を記憶しているワード線より前にプログラムされている。
【００６８】
図１８は、図１６に示すページをプログラムするプロセスの１つの実施形態を説明するフローチャートである。図１８のステップ４０２〜４０６は図１２と同じである。ステップ６８０には、前のワード線の履歴を読み出してＨＰＷＬを決定する動作が含まれる。例えば、図５のワード線ＷＬ２がプログラムされる場合には、前のワード線はＷＬ１である。ステップ６８０には、ＷＬ１に対するＨＮＷＬ６５６を確認して、ＷＬ１が消去されているか（ＨＮＷＬ＝１１）またはプログラムされているか（例えば、ＨＮＷＬ＝１０）をチェックする動作が含まれる。ＷＬ１に対するＨＮＷＬに基づいて、ＷＬ２に対するＨＰＷＬ６５２を決定する。ステップ６８２では、次のワード線に対する履歴を読み出してＨＮＷＬを決定する。例えば、図５のＷＬ２に書き込むときに、システムは最初にワード線ＷＬ３のＨＰＷＬを読み出して、これに基づいて、ワード線ＷＬ２に対するＨＮＷＬとして記憶する値を決定する。ステップ６８４では、ヘッダー６５０、ＨＰＷＬ６５２、ユーザデータ６５４、ＨＮＷＬ６５６およびＥＣ６５８をプログラムするためのデータを、各ビット線に対応する適切なラッチに記憶する。図１７のステップ４１２〜４２８は図１２と同じである。
【００６９】
図１９は、次のまたは前のワード線からの履歴情報を読み出して、適切なＨＰＷＬまたはＨＮＷＬを決定するプロセスの１つの実施形態を説明するフローチャートである。例えば、図１９はステップ６８０または６８２の１つの実施形態を提供するものである。ステップ７００では、適切なワード線に電圧Ｖｒａを印加することによって読み出しプロセスを実行する。ステップ７０２では、ビット線を検知して、メモリセルがオンしたかオフしたかを判定する。ステップ７０２を実行する必要があるのは、履歴値（ＨＰＷＬまたはＨＮＷＬ）を記憶しているメモリセルに対してだけである。他の実施形態では、ステップ７０２を、ワード線に接続されている全てのメモリセル（または他のより大きい集合）に対して実行してもよい。履歴値が１１（状態Ｅ）であれば、メモリセルはオンすることに留意されたい。１１でなければ、履歴を記憶しているメモリセルはＶｒａに対してオンすることはない。履歴を記憶しているメモリセルがオンする場合には、隣のワード線に接続されているメモリセルが消去されており、したがって、現在プログラムされているメモリセルは、隣のワード線がプログラムされる前にプログラムされる可能性があると推測される。履歴を記憶しているメモリセルがオンしなければ、隣のワード線上のメモリセルは既にプログラムされており、現在のワード線は、隣のワード線がプログラムされた後でプログラムされるものと推測される。ステップ７０２の結果はステップ７０４で記憶される。履歴情報を記憶しているメモリセルがオンするかオフするかに基づいて（ステップ７０６）、現在のワード線に対する履歴に適切な値が記憶される。隣の履歴が１１であれば、ステップ７１０で値１０が現在のワード線に対する適切な履歴値に記憶されて、現在のワード線が隣より前にプログラムされていることが示される。隣の履歴値が１０であれば、値００が現在のワード線に対する履歴に記憶されて、現在のワード線は隣より後にプログラムされていることが示される。
【００７０】
図２０は、図１８のプロセスにしたがってプログラムされたデータを読み出す読み出しプロセスの１つの実施形態を説明するフローチャートである。図２０は、図１０のプロセスとは別の実施形態であることに留意されたい。図２０のステップ８００で、データを読み出し要求を受信する。ステップ８０２で、オフセットを用いることなく、ワード線に対して読み出しプロセスを実行する。例えば、図１４のプロセスが実行される。ステップ８０４で、読み出し中のワード線に対する履歴にアクセスする。１つの実施形態では、ステップ８０２で、全ページの読み出しプロセスの一部として履歴データを読み出すことに留意されたい。ステップ８０４では、このデータが、プロセッサ、状態マシンなどによってアクセスされる。他の実施形態では、ステップ８０２の前または後に履歴データにアクセスする場合もある。ＨＮＷＬかＨＰＷＬが１１であれば（ステップ８０６）、ページからデータが消去され、ステップ８０８でこの消去されたデータが報告されるものと推測される。ＨＮＷＬとＨＰＷＬの双方が００であれば、読み出し中の現在ページが両隣の後でプログラムされているものと推測される。したがって、ステップ８１０では、結合を補償することなくデータが報告される。ＨＮＷＬ＝００でＨＰＷＬ＝１０であれば（ステップ８１２）、ステップ８１４で、追加の読み出し動作を実行して、前の隣からの結合を補償する。ＨＮＷＬ＝１０でＨＰＷＬ＝１０であれば、ステップ８１８で、追加の読み出し動作を実行して、両隣からの結合を補償する。ＨＮＷＬ＝１０でＨＰＷＬ＝００であれば、ステップ８１６で、追加の読み出し動作を実行して、次の隣からの結合を補償する。
【００７１】
図２１は、１つの隣からの結合を補償する追加の読み出し動作を実行するプロセスの１つの実施形態を説明するフローチャートである。例えば、図２１のプロセスは、図２０のステップ８１４またはステップ８１６の一部として実行することが可能である。ステップ９０４では、制御ゲートまたはワード線に与えられた読み出し比較ポイントＶｒａを用いて隣のワード線からデータを読み出す。ステップ９０６で、ワード線またはページの全体が消去されたかどうかを判定する。メモリセルがすべて状態Ｅであれば、メモリセルはすべてＶｒａに応答してオンする。すべてのメモリセルが消去されていれば（ステップ９０６）、ステップ９０８で、隣のワード線からの結合に対する補償を実行することなくデータを報告する。隣のワード線が消去されていなければ（ステップ９０６）、読み出しプロセスを継続して、ステップ９１０で、読み出し比較ポイントＶｒｂを用いる読み出し動作と、比較ポイントＶｒｃを用いる読み出し動作を実行する。これら３つの読み出し動作に基づいて、隣に記憶されているデータを決定することが可能である（図１４の検討を参照）。ステップ９１０の後、隣に記憶されているデータに照らし合わせて、発生し得る結合を補償する追加の読み出しプロセスを実行する。例えば、図１５Ｂのプロセスを実行することが可能である。
【００７２】
図２２は、２つの隣からの結合を考慮した追加の読み出し動作を実行するプロセスの１つの実施形態を説明するフローチャートである。例えば、図２２のプロセスは、図２０のステップ８１８の一部として実行することが可能である。ステップ９３０で、両隣のワード線を、読み出し比較ポイントＶｒａを用いて読み出す。両隣が消去されていると判定されたら（ステップ９３２）、ステップ９１４で、結合を補償することなくデータを報告する。両隣の一方が消去されていると判定されたら（例えば、Ｖｒａに応答して、一方の隣のワード線またはページのメモリセルがすべてオンし、他方の隣のメモリセルのメモリセルがすべてオンしない場合）、ステップ９５０で、一方の隣が、読み出し比較ポイントＶｒｂとＶｒｃを用いて実行される読み出しプロセスの対象となる（図２１のステップ９１０と類似している）。ステップ９５２では、ステップ９５２で発生する可能性のある結合を補償する追加の読み出しプロセスを実行する（図２１のステップ９１２と類似している）。どちらの隣も消去されてないとステップ９３２で判定されたら、ステップ９３６で、読み出し比較ポイントＶｒｂとＶｒｃを用いて読み出し動作を両隣に対して実行する。ステップ９３８で、双方のワード線からの潜在的な結合を補償する追加の読み出しプロセスを実行し、そのデータを報告する。１つの実施形態では、ステップ９３８には、図１５Ａのプロセスを実行する動作が含まれる。
【００７３】
結合が発生する可能性を検出してこの結合を補償する本書に記載の技術は、他のタイプのエラーの発生する可能性を検出して（オプションとして）このエラーを補償する方法に適用可能である。
【００７４】
本発明に関する前述の詳細な説明は、例証と説明のために提示されたものである。本発明を開示する形態そのものに限定することを意図するものではない。上記の開示に照らし合わせて、多くの修正例や変更例が可能である。説明した実施形態は、本発明とその実際の応用例の原理がもっともよく説明され、これによって、他の当業者が、想定される特定の用途に適しているさまざまな実施形態で、また、さまざまな修正をもって、本発明を利用することが可能となるように選ばれたものである。本発明の範囲は添付の特許請求の範囲によって定義されることを意図するものである。
【図面の簡単な説明】
【００７５】
【図１】ＮＡＮＤストリングの上面図である。
【図２】ＮＡＮＤストリングの等価回路図である。
【図３】ＮＡＮＤストリングの断面図である。
【図４】不揮発性メモリシステムのブロック図である。
【図５】不揮発性メモリアレイのブロック図である。
【図６】閾値電圧分布の集合の例を示す図である。
【図７】閾値電圧分布の集合の例を示す図である。
【図８Ａ】種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。
【図８Ｂ】種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。
【図８Ｃ】種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。
【図９】不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。
【図１０】不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。
【図１１】データの１ページ（または他の単位）を示すブロック図である。
【図１２】不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。
【図１３】不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。
【図１４】結合を補償するオフセットを用いることなく、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。
【図１５Ａ】結合を補償するオフセットを用いて、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。
【図１５Ｂ】結合を補償するオフセットを用いて、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。
【図１６】データの１ページ（または他の単位）を示すブロック図である。
【図１７】履歴データを説明するチャートである。
【図１８】不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。
【図１９】履歴データを決定するプロセスの一実施形態を説明するフローチャートである。
【図２０】不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。
【図２１】隣のメモリセルからの結合を考慮した読み出し動作を実行するプロセスの一実施形態を説明するフローチャートである。
【図２２】隣のメモリセルからの結合を考慮した読み出し動作を実行するプロセスの一実施形態を説明するフローチャートである。
【図１】
2009516318.tif 000003
【図２】
2009516318.tif 000004
【図３】
2009516318.tif 000005
【図４】
2009516318.tif 000006
【図５】
2009516318.tif 000007
【図６】
2009516318.tif 000008
【図７】
2009516318.tif 000009
【図８Ａ】
2009516318.tif 000010
【図８Ｂ】
2009516318.tif 000011
【図８Ｃ】
2009516318.tif 000012
【図９】
2009516318.tif 000013
【図１０】
2009516318.tif 000014
【図１１】
2009516318.tif 000015
【図１２】
2009516318.tif 000016
【図１３】
2009516318.tif 000017
【図１４】
2009516318.tif 000018
【図１５Ａ】
2009516318.tif 000019
【図１５Ｂ】
2009516318.tif 000020
【図１６】
2009516318.tif 000021
【図１７】
2009516318.tif 000022
【図１８】
2009516318.tif 000023
【図１９】
2009516318.tif 000024
【図２０】
2009516318.tif 000025
【図２１】
2009516318.tif 000026
【図２２】
2009516318.tif 000027
【手続補正書】
【提出日】平成20年7月17日(2008.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性記憶装置を動作させる方法であって、
１つ以上の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするアクセスステップと、
前記タイミング情報に基づいて前記データ集合中の１つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記１つ以上の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を有している方法。
【請求項２】
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子と１つ以上の隣の不揮発性記憶素子の間で生じる潜在的結合によるものであることを特徴とする請求項１に記載の方法。
【請求項３】
前記アクセスステップと読み出しステップが、
前記タイミング情報に含まれており、前記１つ以上の不揮発性記憶素子と関連するワード線に対する第１のタイムデータを読み出すステップと、
隣の不揮発性記憶素子と関連するワード線に対する第２のタイムデータを読み出すステップと、
前記第１のタイムデータを前記第２のタイムデータと比較するステップと、
前記比較に基づいて、エラーが発生する可能性があるか否かを判定するステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項４】
前記１つ以上の潜在的エラーを選択的に補償するステップが、
前記１つ以上の不揮発性記憶素子の隣の不揮発性記憶素子を検知するステップと、
前記隣の不揮発性記憶素子から検知された情報に基づいて、前記１つ以上の不揮発性記憶素子に基づく読み出し電圧のオフセットを判定するステップと、
前記オフセットを用いて、前記１つ以上の不揮発性記憶素子を読み出すステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項５】
メモリ素子が、前記１つ以上の不揮発性記憶素子と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第１の値と第２の値を含んでおり、
前記第１の値が、隣の第１の集合に対する前記１つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記第２の値が、隣の第２の集合に対する前記１つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記アクセスステップと読み出しステップが、
第１のワード線に接続されている前記メモリ素子からデータを読み出すステップと、
前記第１の値が前記１つ以上の不揮発性記憶素子が前記第１の隣の集合より後でプログラムされていることを示しており、前記第２の値が前記１つ以上の不揮発性記憶素子が前記第２の隣の集合より後でプログラムされていることを示している場合に、１つ以上の潜在的エラーを補償することなく前記データを報告するステップと、
前記第１の値が前記１つ以上の不揮発性記憶素子が前記第１の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第２の値が前記１つ以上の不揮発性記憶素子が前記第２の隣の集合より先にプログラムされている可能性があることを示している場合に、１つ以上の潜在的エラーを補償した後で前記データを報告するステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項６】
前記タイミング情報をプログラムするステップを実行すると共に、前記データを前記１つ以上の不揮発性記憶素子にプログラムするプログラミングステップをさらに有していることを特徴とする請求項１に記載の方法。
【請求項７】
前記プログラミングステップが、
隣の不揮発性記憶素子の集合と関連する隣のタイミング情報を読み出すステップと、
前記隣のタイミング情報に基づいて、前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップ、
を有していることを特徴とする請求項６に記載の方法。
【請求項８】
前記１つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
前記隣のタイミング情報を読み出すステップが、１つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定するステップが、１つの基準電圧レベルにおける前記読み出し動作に完全に基づくことを特徴とする請求項７に記載の方法。
【請求項９】
前記プログラミングステップが、
隣の不揮発性記憶素子の第１の集合と関連する第１の隣のタイミング情報を読み出すステップと、
前記第１の隣のタイミング情報に基づいて、第１のタイミング値を決定するステップと、
隣の不揮発性記憶素子の第２の集合と関連する第２の隣のタイミング情報を読み出すステップと、
前記第２の隣のタイミング情報に基づいて、第２のタイミング値を決定するステップ、
を有し、
隣の不揮発性記憶素子の前記集合と関連する前記タイミング情報が、前記第１のタイミング値と前記第２のタイミング値を含むことを特徴とする請求項６に記載の方法。
【請求項１０】
隣の不揮発性記憶素子の前記第１の集合が、第１のワード線に接続されており、
前記１つ以上の不揮発性記憶素子が、前記第１のワード線の隣の第２のワード線に接続されており、
隣の不揮発性記憶素子の前記第２の集合が、前記第２のワード線の隣の第３のワード線に接続されており、
前記１つ以上の潜在的エラーが、前記１つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第１の集合との結合と、前記１つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第２の集合との結合とによって生じることを特徴とする請求項９に記載の方法。
【請求項１１】
前記選択的に補償するステップが、
前記１つ以上の不揮発性記憶素子が前記１つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記１つ以上の不揮発性記憶素子と前記１つ以上の隣の不揮発性記憶素子との間の結合に対する第１の補償プロセスを実行するステップと、
前記１つ以上の不揮発性記憶素子が前記１つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていないことを前記タイミング情報が示している場合に、第１の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項１に記載の方法。
【請求項１２】
前記選択的に補償するステップが、前記タイミング情報に基づいて電圧オフセットを用いるか否かを選択するステップを有していることを特徴とする請求項１に記載の方法。
【請求項１３】
不揮発性記憶システムであって、
複数の不揮発性記憶素子と、
前記不揮発性記憶素子と通信する１つ以上の管理回路を有しており、
前記１つ以上の管理回路が、
前記複数の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするステップと、
前記タイミング情報に基づいて前記データ集合中の１つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記複数の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を実行することを特徴とする不揮発性記憶システム。
【請求項１４】
前記データ集合が、前記複数の不揮発性記憶素子の部分集合に記憶され、
前記部分集合が、第１の隣の集合と第２の隣の集合を有しており、
メモリ素子が、前記部分集合と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第１の値と第２の値を含んでおり、
前記第１の値が、隣の第１の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記第２の値が、隣の第２の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記１つ以上の管理回路が、第１のワード線に接続されているメモリ素子からデータを読み出すステップを実行し、
前記１つ以上の管理回路が、前記第１の値が前記部分集合が前記第１の隣の集合より後でプログラムされていることを示しており、前記第２の値が前記部分集合が前記第２の隣の集合より後でプログラムされていることを示している場合に、１つ以上の潜在的エラーを補償することなく前記データを報告するステップを実行し、
前記１つ以上の管理回路が、前記第１の値が前記部分集合が前記第１の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第２の値が前記部分集合が前記第２の隣の集合より先にプログラムされている可能性があることを示している場合に、１つ以上の潜在的エラーを補償した後で前記データを報告するステップを実行する、
ことを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記１つ以上の管理回路が、前記タイミング情報をプログラムするステップを実行すると共に、前記データ集合を前記複数の不揮発性記憶素子の部分集合にプログラムするプログラミングステップを実行し、
前記データ集合をプログラムするプログラミングステップが、隣のタイミング情報を読み出すステップと、前記隣のタイミング情報に基づいて前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップを有していることを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項１６】
前記１つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
隣のタイミング情報を読み出す前記ステップが、１つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定する前記ステップが、１つの基準電圧レベルにおける前記読み出し動作に基づくことを特徴とする請求項１５に記載の不揮発性記憶システム。
【請求項１７】
前記データ集合が前記複数の不揮発性記憶素子の部分集合に記憶され、前記部分集合が隣に不揮発性記憶素子を有しており、
選択的に補償する前記ステップが、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記部分集合と前記隣の不揮発性記憶素子との間の結合に対する第１の補償プロセスを実行するステップと、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされてはいないことを前記タイミング情報が示している場合に、第１の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項１８】
前記タイミング情報が、絶対タイム、相対タイムまたはプログラミング順序情報のうちの何れかを含むことを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項１９】
前記データ集合がデータのページを含んでおり、
前記複数の不揮発性記憶素子の部分集合に記憶されている前記データ集合が第１のワード線に接続されており、
前記１つ以上の潜在的エラーが、前記部分集合と、前記第１のワード線の隣のワード線に接続されている１つ以上の不揮発性記憶素子との間で生じる結合によるものあることを特徴とする請求項１３に記載の不揮発性記憶システム。
【請求項２０】
前記タイミング情報が、前記データ集合を読み出している間にアクセスされることを特徴とする請求項１３に記載の不揮発性記憶システム。
【国際調査報告】
2009516318.tif 000028
2009516318.tif 000029