(57)【要約】【課題】中間の消去サイクル無しにＮＡＮＤメモリセルで複数の再プログラム動作を遂行し、書込み時間、書込み増幅、消去、読出し、及び書込みサイクルを減らす。【解決手段】本発明のメモリ装置は、１つ以上のメモリページと、プログラムロジックセクション及びページレベル再プログラム状態メタデータを含むメモリ制御ロジックセクションとを備える。１つ以上のメモリページは複数のメモリセルを含み、複数のメモリメモリセルの各々は複数のプログラム可能な状態レベルを有する。プログラムロジックセクションは、ページレベル再プログラム状態メタデータに応じて複数のメモリセルをプログラムし、プログラミング動作中又はプログラミング動作の間に何らの消去動作又は読出し動作を必要とすることなく、ページレベル再プログラム状態メタデータに応じて、複数のメモリセルの連続的なプログラミング動作でメモリセルの各々の第１状態レベル、第２状態レベル、及び第３状態レベルをプログラムする。【選択図】図２
2018018570.tif 000002
【特許請求の範囲】
【請求項１】
各々複数のプログラム可能な状態レベルを有する複数のメモリセルを含む１つ以上のメモリページと、
前記１つ以上のメモリページに結合され、プログラムロジックセクション及びページレベル再プログラム状態メタデータを含むメモリ制御ロジックセクションと、を備え、
前記プログラムロジックセクションは、
前記ページレベル再プログラム状態メタデータの第１値に応じて前記複数のメモリセルの第１プログラミングで前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムし、
前記複数のメモリセルのいずれの前記第１状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの第２プログラミングで前記複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムすることを特徴とするメモリ装置。
【請求項２】
前記プログラムロジックセクションは、
前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムし、
前記第１状態レベル、前記第２状態レベル、及び前記第３状態レベルのプログラミング中又はプログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の同一のアドレスで前記第１状態レベル、前記第２状態レベル、及び前記第３状態レベルをプログラムすることを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記２の１乗〜２のＮ乗番目の中の２の１乗番目は、１のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２の２乗番目は、２のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２の３乗番目は、４のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２のＮ乗番目は、２（Ｎ−１）のビット位置に対応することを特徴とする請求項２に記載のメモリ装置。
【請求項４】
前記プログラムロジックセクションは、
前記第１プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第１状態レベルをプログラムし、
前記第２プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第２状態レベルをプログラムすることを特徴とする請求項１に記載のメモリ装置。
【請求項５】
前記プログラムロジックセクションは、
前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の第３状態レベルをプログラムし、
前記第１プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第１状態レベルをプログラムし、
前記第２プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第２状態レベルをプログラムし、
前記第３プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第３状態レベルをプログラムすることを特徴とする請求項１に記載のメモリ装置。
【請求項６】
前記メモリ制御ロジックセクションは、読出しロジックセクションを含み、
前記複数のメモリセルの各々の前記第１状態レベルは、閾値電圧の第１値に対応し、
前記閾値電圧の第１値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記読出しロジックセクションは、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すことを特徴とする請求項１に記載のメモリ装置。
【請求項７】
前記複数のメモリセルの各々の前記第２状態レベルは、前記閾値電圧の第２値に対応し、
前記閾値電圧の第２値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記読出しロジックセクションは、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すことを特徴とする請求項６に記載のメモリ装置。
【請求項８】
前記プログラムロジックセクションは、前記複数のメモリセルのいずれの前記第１状態レベル又はいずれの第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムし、
前記複数のメモリセルの各々の前記第３状態レベルは、前記閾値電圧の第３値に対応し、
前記閾値電圧の第３値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記読出しロジックセクションは、前記ページレベル再プログラム状態メタデータの第４値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すことを特徴とする請求項７に記載のメモリ装置。
【請求項９】
前記メモリ制御ロジックセクションは、
前記複数のメモリセルの各々の前記第１状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを前記第２値に設定し、
前記複数のメモリセルの各々の前記第２状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを第３値に設定することを特徴とする請求項１に記載のメモリ装置。
【請求項１０】
前記プログラムロジックセクションは、前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムし、
前記メモリ制御ロジックセクションは、前記複数のメモリセルの各々の前記第３状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを第４値に設定することを特徴とする請求項９に記載のメモリ装置。
【請求項１１】
多重レベル不揮発性メモリセルをプログラムする方法であって、
メモリ制御ロジックセクションによって、ページレベル再プログラム状態メタデータを格納する段階と、
前記メモリ制御ロジックセクションのプログラムロジックセクションによって、前記ページレベル再プログラム状態メタデータに応じてメモリページの複数のメモリセルをプログラムする段階と、
前記プログラムロジックセクションによって、前記ページレベル再プログラム状態メタデータの第１値に応じて前記複数のメモリセルの第１プログラミングで前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの第２プログラミングで前記複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムする段階と、を有することを特徴とする方法。
【請求項１２】
前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記第１状態レベル、前記第２状態レベル、及び前記第３状態レベルのプログラミング中又はプログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の同一のアドレスで前記第１状態レベル、前記第２状態レベル、及び前記第３状態レベルをプログラムする段階と、をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記２の１乗〜２のＮ乗番目の中の２の１乗番目は、１のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２の２乗番目は、２のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２の３乗番目は、４のビット位置に対応し、
前記２の１乗〜２のＮ乗番目の中の２のＮ乗番目は、２（Ｎ−１）のビット位置に対応することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記プログラムロジックセクションによって、前記第１プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第１状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記第２プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第２状態レベルをプログラムする段階と、をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記第１プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第１状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記第２プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第２状態レベルをプログラムする段階と、
前記プログラムロジックセクションによって、前記第３プログラミングの間に前記複数のメモリセルの中のいずれのビットも消去することなく、前記複数のメモリセルの各々の前記第３状態レベルをプログラムする段階と、をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記複数のメモリセルの各々の前記第１状態レベルは、閾値電圧の第１値に対応し、
前記閾値電圧の第１値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記方法は、
前記メモリ制御ロジックセクションの読出しロジックセクションによって、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１７】
前記複数のメモリセルの各々の前記第２状態レベルは、前記閾値電圧の第２値に対応し、
前記閾値電圧の第２値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記方法は、
前記読出しロジックセクションによって、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階をさらに含み、
前記複数のメモリセルの各々の前記第３状態レベルは、前記閾値電圧の第３値に対応し、
前記閾値電圧の第３値は、前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、
前記方法は、
前記読出しロジックセクションによって、前記ページレベル再プログラム状態メタデータの第４値に応じて前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階をさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記メモリ制御ロジックセクションによって、前記複数のメモリセルの各々の前記第１状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを前記第２値に設定する段階と、
前記メモリ制御ロジックセクションによって、前記複数のメモリセルの各々の前記第２状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを第３値に設定する段階と、をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項２０】
前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベル及び前記第２状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第３値に応じて前記複数のメモリセルの第３プログラミングで前記複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階と、
前記メモリ制御ロジックセクションによって、前記複数のメモリセルの各々の前記第３状態レベルのプログラミングの後に、前記ページレベル再プログラム状態メタデータを第４値に設定する段階と、をさらに含むことを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体回路に係り、より詳しくは多重レベルＮＡＮＤメモリ装置及び多重レベルＮＡＮＤメモリセルの容量を利用して消去無しで再プログラムする方法に関する。
【背景技術】
【０００２】
ＮＡＮＤメモリセルは、電源がセルから除去された後でも情報を格納（ｓｔｏｒｅ）する不揮発性メモリセルの１タイプである。ＮＡＮＤメモリセルは、一般的に「Ｖｔｈ」と称される閾値電圧を変化させるトランジスタのフローティングゲートへの電荷注入によって、データ値を格納する。一部の種類のＮＡＮＤメモリセルは、同時に複数ビットの情報を格納する。例えば、単一レベルセル（ＳＬＣ）は、２つの状態レベル（即ち、論理０又は１）の中の１つを表す単一ビットを格納し、多重レベルセル（ＭＬＣ）は、複数のビットを格納する。例えば、ＭＬＣは二進コードで００、０１、１０、及び１１で表される論理０、１、２、又は３を表す４つの状態レベルを格納する。三重レベルセル（ＴＬＣ）は、二進コードで０００、００１、０１０、０１１、１００、１０１、１１０、及び１１１で表される論理０、１、２、３、４、５、６、又は７を表す８つの状態レベルを格納する。
【０００３】
大部分の一般的なＮＡＮＤメモリ装置は、メモリセルに新しいデータをプログラムする前に、毎回メモリセルを消去する必要がある。各プログラムに対して消去を必要としないものも、次の書込みの前に状態情報を収集するために追加的な読出しを必要とする。追加的な消去及び読出し動作はエネルギー消費を増加させる。また、消去サイクルはメモリセルに劣化及び追加的な磨耗をもたらし、したがって当該装置の寿命が減少する。
【０００４】
書込み増幅（ｗｒｉｔｅ  ａｍｐｌｉｆｉｃａｔｉｏｎ）は、従来のＮＡＮＤメモリ装置に共通するもう一つの問題である。メモリセルがデータ値を再プログラムする前に毎回消去されるので、これらの動作を遂行するプロセスはデータ値を１回以上移動することになる。一部のケースでは、データ値を再プログラムすることは、メモリの既にプログラムされた部分を読み出し、更新し、そして新しい場所に書き込むことを必要とする。新しいデータ書込みを収容するために、メモリの異なる部分が消去され、そして再書き込みされなければならない。メモリの異なる部分は、元々新しいデータとして書き込まれていた部分よりも大きい。これはＮＡＮＤメモリ装置の寿命の間に、必要とされる書込み回数を増加させる増幅効果を有する。このようなデータの乱れ（ｃｈｕｒｎｉｎｇ）は、ＮＡＮＤメモリ装置が確実に動作する時間を減らす。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５８１５４３４号明細書
【特許文献２】米国特許第６６６７９０３号明細書
【特許文献３】米国特許第８９１７５５９号明細書
【特許文献４】米国特許第９０７０４５３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、中間の消去サイクル無しにＮＡＮＤメモリセルで複数回の再プログラミング動作を遂行して書込み時間を短縮し、書込み増幅を低減し、そして消去、読出し、及び書込みサイクルを削減するメモリ装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の一態様によるメモリ装置は、各々複数のプログラム可能な状態レベルを有する複数のメモリセルを含む１つ以上のメモリページと、前記１つ以上のメモリページに結合され、プログラムロジックセクション及びページレベル再プログラム状態メタデータを含むメモリ制御ロジックセクションと、を備え、前記プログラムロジックセクションは、前記ページレベル再プログラム状態メタデータの第１値に応じて前記複数のメモリセルの第１プログラミングで前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムし、前記複数のメモリセルのいずれの前記第１状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの第２プログラミングで前記複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムすることを特徴とする。
【０００８】
上記目的を達成するためになされた本発明の一態様による多重レベル不揮発性メモリセルをプログラムする方法は、メモリ制御ロジックセクションによって、ページレベル再プログラム状態メタデータを格納する段階と、前記メモリ制御ロジックセクションのプログラムロジックセクションによって、前記ページレベル再プログラム状態メタデータに応じてメモリページの複数のメモリセルをプログラムする段階と、前記プログラムロジックセクションによって、前記ページレベル再プログラム状態メタデータの第１値に応じて前記複数のメモリセルの第１プログラミングで前記複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムする段階と、前記プログラムロジックセクションによって、前記複数のメモリセルのいずれの前記第１状態レベルも読み出すことなく、前記ページレベル再プログラム状態メタデータの第２値に応じて前記複数のメモリセルの第２プログラミングで前記複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムする段階と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、中間の消去サイクル無しにＮＡＮＤメモリセルで複数回の再プログラミング動作が遂行されることにより、書込み時間が短縮され、書込み増幅が低減され、そして消去、読出し、及び書込みサイクルが削減される。したがって、ＮＡＮＤメモリ装置の寿命が著しく長くなる効果を奏する。
【図面の簡単な説明】
【００１０】
【図１Ａ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｂ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｃ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｄ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｅ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｆ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｇ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図１Ｈ】様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。
【図２】本発明の一実施形態によるメモリページに関連するメモリ制御ロジックセクションのブロック図、及び対応する多重レベルＮＡＮＤメモリの容量を利用する消去の無い再プログラムフローを示す概念図である。
【図３Ａ】本発明の一実施形態による多重レベルＮＡＮＤメモリで容量を利用する消去の無い再プログラムフローの他の例を示す概念図である。
【図３Ｂ】本発明の一実施形態による多重レベルＮＡＮＤメモリで容量を利用する消去の無い再プログラムフローのさらに他の例を示す概念図である。
【図４】本発明の一実施形態による多重レベルメモリセルで容量を利用する消去無しプログラミングの方法を示すフローチャートである。
【図５】本発明の一実施形態による多重レベルメモリセルで容量を利用する消去無しプログラミング他の方法を示すフローチャートである。
【図６】本発明の一実施形態による多重レベルメモリセルから情報を読み出す方法を示すフローチャートである。
【図７】図２に示すメモリ制御ロジックセクションを含むコンピューティングシステムの例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態の具体例を図面を参照しながら詳細に説明する。本発明の実施形態は、中間の消去サイクル無しにＮＡＮＤメモリセルに複数回の再プログラム動作を遂行して書込み時間を短縮し、書込み増幅を低減し、消去、読出し、及び書込みサイクルを削減するメモリ装置及びその方法に関する。開示される実施形態によれば、読出し−修正−書込み動作を遂行する必要がない。代わりに、前のプログラミングレベルがページレベル再プログラム状態メタデータとして格納されて、次のプログラミングレベルのために参照される。多重レベルＮＡＮＤメモリセルの容量（ｃａｐａｃｉｔｙ）は、通常よりも少ない数のビットを格納するのに使用されるが、消去サイクル、読出しサイクル、及び書込みサイクルが減少する長所を有する。したがって、ＮＡＮＤメモリセルの全体的な寿命が著しく長くなる。
【００１２】
図１Ａ〜図１Ｈは、様々なプログラム可能な状態レベルを有する不揮発性多重レベルＮＡＮＤメモリセルの一例を示す断面図である。図１Ａは、格納された電荷が無い状態の不揮発性多重レベルＮＡＮＤメモリセル１００を示す。図１Ｂ〜図１Ｈは、以下で説明する格納された電荷の様々な状態を有する不揮発性多重レベルＮＡＮＤメモリセル１００を示す。本明細書で使用する「多重レベル」の用語は、論議するセルの種類を４レベルタイプセルの「ＭＬＣ」に限定するものではなく、むしろ、４レベル以上の複数の状態レベル及びビットを格納できるメモリセルをより幅広く参照するものである。
【００１３】
図１Ａに示すように、不揮発性多重レベルＮＡＮＤメモリセル１００は、ソース１０５、ドレーン１１０、制御ゲート１１５、及びフローティングゲート１２０を含む。絶縁体１２５は、フローティングゲート１２０とソース１０５及びドレーン１１０との間に配置される。もう一つの絶縁体１３０は、フローティングゲート１２０と制御ゲート１１５との間に配置される。フローティングゲート１２０は電荷を格納する。電子は、印加電界に応答して、絶縁体１２５をトンネルリングすることによってフローティングゲート１２０に注入されるか又はフローティングゲート１２０から排出される。不揮発性多重レベルＮＡＮＤメモリセル１００の閾値電圧Ｖｔｈは、フローティングゲート１２０に格納された電荷量に応じて変化する。不揮発性多重レベルＮＡＮＤメモリセル１００の異なる状態レベル（即ち、閾値電圧Ｖｔｈの異なるレベル）は異なるデータ値を示す。
【００１４】
図１Ａは、フローティングゲート１２０に格納された電荷を有しない不揮発性多重レベルＮＡＮＤメモリセル１００を示す。図１Ｂ〜図１Ｈは、フローティングゲート１２０に格納された電荷のレベルが順に増加している不揮発性多重レベルＮＡＮＤメモリセル１００を示す。この例では、不揮発性多重レベルＮＡＮＤメモリセル１００は８つの状態レベルを含む。不揮発性多重レベルＮＡＮＤメモリセル１００はこれらの状態レベルの中の任意の１つにプログラムされる。８つの状態レベルは、二進コードで０００、００１、０１０、０１１、１００、１０１、１１０、及び１１１で表される。言い換えると、不揮発性多重レベルＮＡＮＤメモリセル１００の８つの状態レベルは、３ビットを使用して表されるか又は概念化される。各ビット位置は２のべき乗に対応する。最右側ビットはここでは１のビットと称される。中間ビットはここでは２のビットと称される。最左側ビットはここでは４のビットと称される。
【００１５】
不揮発性多重レベルＮＡＮＤメモリセル１００は、８つの状態レベルのみに限定されるものではなく、４のようなより少ない状態レベル、又は１６のようなより多くの状態レベルを含み得る。不揮発性多重レベルＮＡＮＤメモリセル１００は、任意の適切な数の状態レベルを含み得る。例えば、１６状態レベルの場合、状態レベルは二進コードで００００、０００１、００１０、００１１、０１００、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、及び１１１１で表される。上述した８つの状態レベルの場合と同様に、各ビット位置は２のべき乗に対応する。この例で、最右側ビットは１のビットと称され、次の右側ビットは２のビットと称され、さらに次の右側ビットは４のビットと称され、そして最左側ビットは８のビットと称される。この概念は２のＮ乗に拡張され、Ｎは任意の適切な正の整数である。例えば、Ｎが５である場合、不揮発性多重レベルＮＡＮＤメモリセル１００は、２の５乗、又は３２の状態レベルを含む。以下の説明で、不揮発性多重レベルＮＡＮＤメモリセルは、多重レベルＮＡＮＤメモリセルと略記する。
【００１６】
図２は、本発明の一実施形態によるメモリページに関連するメモリ制御ロジックセクションのブロック図、及び対応する多重レベルＮＡＮＤメモリの容量を利用する消去の無い再プログラムフローを示す概念図である。
【００１７】
メモリページ２０５は、図２に示すように、ページ０からページＮのラベルによって、行に配列される。メモリ制御ロジックセクション２１０は、各メモリページ内のメモリセルの動作を制御する。各メモリページ内の各四角形は、多重レベルＮＡＮＤメモリセル（例えば、メモリセル２４０）を表す。本実施形態において、各多重レベルＮＡＮＤメモリセルは８レベルメモリセルである。８つの状態レベルは、二進コードで０００、００１、０１０、０１１、１００、１０１、１１０、及び１１１で表される。
【００１８】
図２の概念図２２５は、３つのプログラミング動作（Ｐ１、Ｐ２、Ｐ３）と、これに続く単一の消去動作Ｅ１を示す。消去動作は、プログラミング動作中又はプログラミング動作の間に遂行される必要はない。また、読出し動作は、プログラミング動作中又はプログラミング動作の間に遂行される必要はない。言い換えると、新しいデータビットを更新するために、前のデータの読出しを必要としない。各多重レベルＮＡＮＤメモリセル（例えば、メモリセル２４０）は、特定の閾値電圧Ｖｔｈレベル（本実施形態では０００〜１１１）で複数回（例えば、メモリセル２４０がＴＬＣセルの例では３回）プログラム（例えば、再プログラム）されて、同一のアドレスに対して古いデータを消去することなく、新しいデータを表す。
【００１９】
メモリ制御ロジックセクション２１０は、プログラムロジックセクション２１５、ページレベル再プログラム状態メタデータ２２０、及び読出しロジックセクション２３５を含む。プログラムロジックセクション２１５は、後述するように、ページレベル再プログラム状態メタデータ２２０に応じて、各多重レベルＮＡＮＤメモリセル（例えば、メモリセル２４０）をプログラムする。
【００２０】
第１プログラミング動作Ｐ１は、二進データ「００１１１０」を、メモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の関連する多重レベルＮＡＮＤメモリセルに対応する各ビットにプログラムする動作である。言い換えると、データストリング「００１１１０」の各データビットは、別個の多重レベルＮＡＮＤメモリセルにプログラムされる。
【００２１】
プログラムロジックセクション２１５は、第１プログラミング動作Ｐ１の間に、ページレベル再プログラム状態メタデータ２２０の第１値Ｖ１に応じて、多重レベルＮＡＮＤメモリセルの各々の２の１乗（ａ  ｆｉｒｓｔ  ｐｏｗｅｒ  ｏｆ  ｔｗｏ）番目のビット位置（例えば、１のビット）に関連する第１状態レベル（例えば、００１、００１、０００、０００、０００、００１）をプログラムする。ＮＡＮＤ構成を用いて、実際の論理値の補数がメモリセルに格納され、そしてメモリセルから読み出される。例えば、論理０が格納される時、００１の状態レベルが第１プログラミング動作Ｐ１の間に多重レベルＮＡＮＤメモリセルに書き込まれる。別の例として、論理１が格納される時、０００の状態レベルが第１プログラミング動作Ｐ１の間に多重レベルＮＡＮＤメモリセルに書き込まれる。
【００２２】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第１値Ｖ１は、特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）に未だ情報が格納されていないこと（例えば、メモリセル２４０の閾値電圧Ｖｔｈが消去されたばかりで、最も低い状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第１値Ｖ１であることに応答して、プログラムロジックセクション２１５は、メモリセルの各々（例えば、メモリセル２４０）の１のビットが、プログラムされるデータストリング「００１１１０」の各データビットを表すようにプログラムする。
【００２３】
本実施形態では、電荷がメモリセル２４０に追加されて、閾値電圧Ｖｔｈが「００１」を表す状態レベルに上昇する。同様に、メモリセル２４０の右側のメモリセルにも電荷が追加されて、閾値電圧Ｖｔｈが「００１」を示す状態レベルに上昇する。次の３つのメモリセルは、第１プログラミング動作Ｐ１の間に追加される電荷を有しない。さらに次のメモリセルは、最初の２つのメモリセルと同様に、電荷が追加されて、閾値電圧Ｖｔｈが「００１」を示す状態レベルに上昇する。
【００２４】
したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋１）を受け取って、０の論理値を表す。また、一部のメモリセルは追加電荷を受け取らない（＋０）で、１の論理値を表す。このような方法で、「００１１１０」の論理値がメモリセルの各々の１のビット位置にプログラムされる。プログラムロジックセクション２１５は、第１プログラミング動作Ｐ１の間に、プログラムされるメモリセルの中のいずれのビットも消去することなく、メモリセルの各々の２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベル（例えば、００１、００１、０００、０００、０００、００１）をプログラムする。第１プログラミング動作Ｐ１の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を、プログラミングの第１レベルが発生したことを示す第２値Ｖ２に設定する。
【００２５】
次に、第２プログラミングム動作Ｐ２を説明する。第２プログラミングム動作Ｐ２は、二進データ「０１０１１１」をメモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の対応する多重レベルＮＡＮＤメモリセルにプログラムする動作である。言い換えると、データストリング「０１０１１１」の各データビットは、別個の多重レベルＮＡＮＤメモリセルにプログラムされる。
【００２６】
プログラムロジックセクション２１５は、プログラムされるメモリセルのいずれの２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータ２２０の第２値Ｖ２に応じて、第２プログラミング動作Ｐ２の間に多重レベルＮＡＮＤメモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベル（例えば、０１１、００１、０１０、０００、０００、００１）をプログラムする。
【００２７】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第２値Ｖ２は、特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）で第１レベルのプログラミングが既に発生していること（例えば、メモリセル２４０の閾値電圧Ｖｔｈが、１のビットの情報がプログラムされていることを示す特定の状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第２値Ｖ２であることに応答して、プログラムロジックセクション２１５は、メモリセルの各々（例えば、メモリセル２４０）の２のビットが、プログラムされるデータストリング「０１０１１１」の各データビットを表すようにプログラムする。
【００２８】
本実施形態では、電荷がメモリセル２４０に追加されて、閾値電圧Ｖｔｈが「０１１」を表す状態レベルに上昇する。このようなプログラミング動作は付加的であり、メモリセル２４０の消去又は読出しを必要としない。言い換えると、第２プログラミング動作Ｐ２の間に、プログラムロジックセクション２１５は、追加電荷を加えて閾値電圧Ｖｔｈを２レベルに上昇（＋２）させるか（メモリセル２４０の場合のように）、そうでなければ、電荷を追加しない（＋０）（メモリセル２４０の右側のメモリセルの場合のように）。
【００２９】
一方、メモリセル２４０の右側のメモリセルには電荷が追加されない。これは閾値電圧Ｖｔｈに変化がないことを意味し、よって、状態レベルは「００１」に維持される。右側の次のメモリセルは追加電荷が加えられて、閾値電圧Ｖｔｈが「０１０」を表す状態レベルに対応する２レベルに上昇（＋２）する。このように、追加電荷が追加されるか否かに拘わらず、１のビットの情報が保存される。次の３つのメモリセルは第２プログラミング動作Ｐ２の間に電荷が追加されない。したがって２のビットの情報は変更されないで、１のビットの情報が保存される。
【００３０】
したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋２）を受け取って、２のビット位置に０の論理値を表す。また、一部のメモリセルは追加電荷を受け取らない（＋０）で、２のビット位置に１の論理値を表す。このような方法で、「０１０１１１」の論理値がメモリセルの２のビット位置にプログラムされる。プログラムロジックセクション２１５は、第２プログラミング動作Ｐ２の間に、プログラムされるメモリセルの中のいずれのビットも消去することなく、メモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベル（例えば、０１１、００１、０１０、０００、０００、００１）をプログラムする。第２プログラミング動作Ｐ２の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を、プログラミングの第２レベルが発生したことを示す第３値Ｖ３に設定する。
【００３１】
次に、第３プログラミングム動作Ｐ３を説明する。第３プログラミングム動作Ｐ３は、二進データ「１０１１０１」を、メモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の対応する多重レベルＮＡＮＤメモリセルにプログラムする動作である。言い換えると、データストリング「１０１１０１」の各データビットは、別個の多重レベルメモリセルにプログラムされる。
【００３２】
プログラムロジックセクション２１５は、プログラムされるメモリセルのいずれの２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベル及び／又はいずれの２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータ２２０の第３値Ｖ３に応じて、第３プログラミング動作Ｐ３の間に多重レベルＮＡＮＤメモリセルの各々の２の３乗番目のビット位置（例えば、４のビット）に関連する第３状態レベル（例えば、０１１、１０１、０１０、０００、１００、００１）をプログラムする。
【００３３】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第３値Ｖ３は、第１及び第２レベルのプログラミングが特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）で既に発生していること（例えば、メモリセル２４０の閾値電圧Ｖｔｈが、２のビットの情報がプログラムされていることを示す特定の状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第３値Ｖ３であることに応答して、プログラムロジックセクション２１５は、メモリセルの各々（例えば、メモリセル２４０）の４のビットが、プログラムされるデータストリング「１０１１０１」の各データビットを表すようにプログラムする。
【００３４】
本実施形態では、メモリセル２４０に電荷が追加されない。これは閾値電圧Ｖｔｈに変化がないことを意味し、よって、状態レベルは「０１１」に維持される。右側の次のメモリセルは追加電荷が加えられて、閾値電圧Ｖｔｈが「１０１」を表す状態レベルに対応する４レベルに上昇（＋４）する。このように、追加電荷が追加されるか否かに拘わらず、１のビット及び２のビットの情報が保存される。このようなプログラミング動作は付加的であり、メモリセル２４０の消去又は読出しを必要としない。言い換えると、第３プログラミング動作Ｐ３の間に、プログラムロジックセクション２１５は、追加電荷を加えて閾値電圧Ｖｔｈを４レベルに上昇（＋４）させるか（メモリセル２４０の右側のメモリセルの場合のように）、そうでなければ、メモリセルに電荷を追加しない（＋０）（メモリセル２４０の場合のように）。
【００３５】
一方、メモリセル２４０の右側のメモリセルは追加される追加電荷を有する。これは閾値電圧Ｖｔｈが変化することを意味し、よって、状態レベルは「１０１」に変化する。右側の次のメモリセルは第３プログラミング動作Ｐ３の間に追加される追加電荷を有しない。よって、４のビットの情報は変化することなく、１のビット及び２のビットの情報が保存される。このように、追加電荷が追加されるか否かに拘わらず、１のビット及び２のビットの情報が保存される。さらに次のメモリセルは第３プログラミング動作Ｐ３の間に追加される追加電荷（＋４）を有し、よって、１のビット及び２のビットの情報が保存され、また４のビットの情報が更新される。
【００３６】
したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋４）を受け取って、０の論理値を表す。また、メモリセルの一部は追加される電荷を受け取らない（＋０）で、１の論理値を表す。このような方法で、「１０１１０１」の論理値がメモリセルの４のビット位置にプログラムされる。プログラムロジックセクション２１５は、第３プログラミング動作Ｐ３の間に、プログラムされるメモリセルの中のいずれのビットも消去することなく、メモリセルの各々の２の３乗番目のビット位置（例えば、４のビット）に関連する第３状態レベル（例えば、０１１、１０１、０１０、０００、１００、００１）をプログラムする。第３プログラミング動作Ｐ３の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を、プログラミングの第３レベルが発生したことを示す第４値Ｖ４に設定する。
【００３７】
いくつかの実施形態で、ページレベル再プログラム状態メタデータ２２０は、４つの値（Ｖ１、Ｖ２、Ｖ３、及びＶ４）を表す２ビット値である。例えば、ページレベル再プログラム状態メタデータ２２０が、第１値Ｖ１又は「００」と等価である場合、これは特定のメモリページでプログラミングが発生しないこと、及び／又はメモリページが消去されたことを示す。ページレベル再プログラム状態メタデータ２２０が、第２値Ｖ２又は「０１」と等価である場合、これは特定のメモリページでプログラミングの第１レベルが発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第３値Ｖ３又は「１０」と等価である場合、これはプログラミングの第２レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第４値Ｖ４又は「１１」と等価である場合、これはプログラミングの第３レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０は、２ビット値に限定される必要は無く、任意の適切な二進表現を用いて格納されてアクセスされる。ページレベル再プログラム状態メタデータ２２０の値に対するビット値の他の組み合わせが、本明細書に開示された本発明の技術範囲から逸脱しない範囲で使用される。
【００３８】
したがって、プログラムロジックセクション２１５は、第１状態レベル、第２状態レベル、及び第３状態レベルのプログラミング中又はプログラミングの間に、メモリセルの中のいずれのビットも消去することなく、同一のアドレス（即ち、メモリセル２４０に関連するアドレス）に、２の１乗番目（ａ  ｆｉｒｓｔ  ｐｏｗｅｒ  ｏｆ  ｔｗｏ）のビット位置（例えば、１のビット）に関連する第１状態レベル（例えば、「００１」）、２の２乗番目（ａ  ｓｅｃｏｎｄ  ｐｏｗｅｒ  ｏｆ  ｔｗｏ）のビット位置（例えば、２のビット）に関連する第２状態レベル（例えば、「０１１」）、及び２の３乗番目（ａ  ｔｈｉｒｄ  ｐｏｗｅｒ  ｏｆ  ｔｗｏ）のビット位置（例えば、４のビット）に関連する第３状態レベル（例えば、「１１１」）をプログラムする。また、プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第１プログラミング動作Ｐ１の間にメモリセルの各々の２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第２プログラミング動作Ｐ２の間にメモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第３プログラミング動作Ｐ３の間にメモリセルの各々の２の３乗番目のビット位置（例えば、４のビット）に関連する第３状態レベルをプログラムする。
【００３９】
メモリ制御ロジックセクション２１０は、読出しロジックセクション２３５を含む。メモリセルの各々の第１状態レベル（例えば、００１、００１、０００、０００、０００、００１）は閾値電圧Ｖｔｈの第１値に対応する。閾値電圧Ｖｔｈの第１値は、メモリセルの各々の２の１乗番目に関連するビット位置（例えば、１のビット）に格納された情報を含む。読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０の第２値Ｖ２に応じて、メモリセルの各々の２の１乗番目に関連するビット位置（例えば、１のビット）に格納された情報を選択的（ｏｐｔｉｏｎａｌｌｙ）に読み出す。論理値は１のビットに格納された情報の補数である。言い換えると、読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０にアクセスして、それが第２値Ｖ２であることを判別し、その判別に基づいて１のビットの情報を読み出す。このような読出し動作は、１のビットの情報がプログラムされた後であれば、いつでも発生できる。しかし、上述したプログラミング動作を成功裏に遂行するために読出しは必要とされない。
【００４０】
メモリセルの各々の第２状態レベル（例えば、０１１、００１、０１０、０００、０００、００１）は閾値電圧Ｖｔｈの第２値に対応する。閾値電圧Ｖｔｈの第２値は、メモリセルの各々の２の２乗番目に関連するビット位置（例えば、２のビット）に格納された情報を含む。読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０の第３値Ｖ３に応じて、メモリセルの各々の２の２乗番目に関連するビット位置（例えば、２のビット）に格納された情報を選択的に読み出す。言い換えると、読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０にアクセスして、それが第３値Ｖ３であることを判別し、その判別に基づいて２のビットの情報を読み出す。このような読出し動作は、２のビットの情報がプログラムされた後であれば、いつでも発生できる。しかし、上述したプログラミング動作を成功裏に遂行するために読出しは必要とされない。
【００４１】
メモリセルの各々の第３状態レベル（例えば、０１１、１０１、０１０、０００、１００、００１）は閾値電圧Ｖｔｈの第３値に対応する。閾値電圧Ｖｔｈの第３値は、メモリセルの各々の２の３乗番目に関連するビット位置（例えば、４のビット）に格納された情報を含む。読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０の第４値Ｖ４に応じて、メモリセルの各々の２の３乗番目に関連するビット位置（例えば、４のビット）に格納された情報を選択的に読み出す。言い換えると、読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０にアクセスして、それが第４値Ｖ４であることを判別し、その判別に基づいて４のビットの情報を読み出す。このような読出し動作は４のビットの情報がプログラムされた後であれば、いつでも発生する。しかし、上述したプログラミング動作を成功裏に遂行するために読出しは必要とされない。
【００４２】
プログラミング動作（Ｐ１、Ｐ２、Ｐ３）が発生した後、ページは、ブロック全体が消去される時まで書き込まれないことを意味するダーティ（ｄｉｒｔｙ）としてマーク（ｍａｒｋ）される。その後、プログラミングプロセスは、場合によっては、同様のプログラミング動作（Ｐ１、Ｐ２、Ｐ３）及びページレベル再プログラム状態メタデータ２２０の値（Ｖ１、Ｖ２、Ｖ３、Ｖ４）を循環することによって反複される。したがって、３つのプログラミング動作（Ｐ１、Ｐ２、Ｐ３）に対して、一回の消去動作のみが必要である。データは、書込み動作の一部として又は書込み動作中に、消去動作を遂行することなくメモリページ内の複数の連続するメモリセルに書き込まれる。また、プログラミング動作中の任意の時点、プログラミング動作中、又はプログラミング動作の間に、読出し動作を必要としない。
【００４３】
再プログラムの動作は、書込み要請に応じて部分的又は全メモリページに対して行われる。新しい状態レベルは、入力される新しいデータビットから純粋に決定される。ページはさらに、部分更新を支援するために複数の小さな部分ページに分割される。ページレベル再プログラム状態メタデータ２２０は、第１部分ページの第１レベル値を表すＶ１１、Ｖ１２、・・・、Ｖ１ｎを格納する。ここで、ｎは部分ページの最大数である。ページレベル再プログラム状態メタデータ２２０はまた、第２部分ページの第２レベル値を表すＶ２１、Ｖ２２、・・・、Ｖ２ｎを格納する。同様に、Ｖｎ１、Ｖｎ２、・・・、Ｖｎｎは最後の部分ページの最終レベル値を表す。
【００４４】
このような方法で、連続的な書込みが、２のメモリセル数のべき乗の各々に関連付けられた電圧レベルを利用して遂行される。第１プログラミングが１のビット、第２プログラミングが２のビット、そして第３プログラミングが４のビットで遂行される。メタデータは、メモリページが何回書き込まれたかを判別するのに使用され、したがって新しいプログラムがどの電圧レベルで遂行されなければならないか又はデータのどのビットが読み出されるかを示す。各プログラミング動作後の比較レベルは、少なくとも前の２つのレベルの全体よりもさらに大きい。第１プログラミング動作Ｐ１、第２プログラミング動作Ｐ２、及び第３プログラミング動作Ｐ３は、これらが相互に排他的であり、適切に追跡される限り、２の任意のべき乗である。
【００４５】
従来、６ビットのデータ（例えば、「００１１１０」）をプログラムするために、２つの３重レベルメモリセルが００１及び１１０のデータビットを格納するのに必要である。これらのデータビットは初期書込みの後に２回更新される。初期書込みの後にこれらの６データビットを２回再プログラムするために、初期の書込み、２番目の書込み、及び３番目の書込みを含む合計１８ビットのデータに対して６個の３重レベルメモリセルが必要である。さらに、初期の書込み及び第２番目の書込みに対する２回の消去サイクルが遂行される。
【００４６】
これに対し、以下に開示する本発明の実施形態を用いれば、同じ１８ビット又は６個の多重レベルＮＡＮＤメモリセル（即ち、データの１ビットを表すための３ビット）が使用されるが、消去動作を遂行する必要はない。本発明の方法は、消去の無い（当分の間）メモリセルの再プログラムを許容し、したがって、より速い書込み時間及び削減された消去サイクルを提供する。さらなる長所として、メモリセルの古いデータもまた保存され、いつでも読み出すことができる。例えば、複数チェックポイントシステムは、メモリセルの「古い」ビットを読み出すことによって、前に格納された情報を再び参照する。言い換えると、メモリセルの古いデータは保存され、いつでも読み出すことができる。別の例として、バージョニング（ｖｅｒｓｉｏｎｉｎｇ）システムは、メモリセルの「古い」ビットを読み出すことによって、以前に格納された情報を再び参照する。
【００４７】
いくつかの実施形態で、再プログラム状態メタデータ２２０は、特定のメモリページに対して全域的（ｇｌｏｂａｌ）であり、特定のメモリページ内のすべてのメモリセルが同じメタデータ値を使用する。いくつかの実施形態で、再プログラム状態メタデータ２２０は、メモリページのブロックに全域的である。いくつかの実施形態で、再プログラム状態メタデータ２２０は、メモリページの複数のブロックに全域的である。いくつかの実施形態で、再プログラム状態メタデータ２２０は、メモリブロック内の複数のメモリページに全域的である。いくつかの実施形態で、再プログラム状態メタデータ２２０は、特定のメモリページ内の複数のメモリセルに全域的である。
【００４８】
従来、３重レベルメモリセルを使用して、データの３つのビットを更新する場合、２番目のセル位置を特定する必要がある。このデータの３つのビットを再び更新する場合、３番目のセル位置を特定する必要がある。事実上、９ビットの情報が、データの３つのビットを３回更新するために消費され、古いセルを回収するために消去動作が２回必要である。本明細書に開示された本発明の方法を用いれば、同じ９ビット（即ち、データの１ビットを表すための３ビット）が使用されるが、消去動作が遂行されない。本発明の方法は消去無しでメモリセルを再プログラムすることを許容し、したがって、より速い書込み時間及び削減された消去サイクルを提供する。
【００４９】
図３Ａは、本発明の一実施形態による多重レベルＮＡＮＤメモリで容量を利用する消去の無い再プログラムフローの他の例を示す概念図である。図３Ａに示す概念図３０５において、構成要素及びフローの一部は図２を参照して説明したので、これらの詳細な説明は省略する。具体的な差異点として、図３Ａに示す多重レベルＮＡＮＤメモリセルの各々は、二進コードで００００、０００１、００１０、００１１、０１００、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、及び１１１１で表される１６状態レベルを含む。本実施形態で、最右側ビットは１のビットと称され、最右側の次の右側ビットは２のビットと称され、その次の右側ビットは４のビットと称され、そして最左側のビットは８のビットと称される。
【００５０】
本実施形態で、４つのプログラミング動作（例えば、Ｐ１、Ｐ２、Ｐ３、及びＰ４）は、消去動作Ｅ１が必要とされる前に遂行される。最初の３つのプログラミング動作（例えば、Ｐ１、Ｐ２、Ｐ３）は、図２を参照して説明したものと同様の方式で遂行される。したがって、これらの段階の各々の詳細な説明は省略する。第３プログラミング動作Ｐ３が完了した後、第４プログラミング動作Ｐ４が遂行される。
【００５１】
以下で、第４プログラミングム動作Ｐ４を説明する。第４プログラミングム動作Ｐ４は、メモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の対応する多重レベルＮＡＮＤメモリセルに、「０００１１１」の二進データをプログラムする動作である。言い換えると、データストリング「０００１１１」の各データビットは別個の多重レベルＮＡＮＤメモリセルにプログラムされる。
【００５２】
プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれの第１状態レベル、第２状態レベル、及び／又は第３状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータ２２０の第４値Ｖ４に応じて、第４プログラミング動作Ｐ４の間に多重レベルＮＡＮＤメモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第４状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）をプログラムする。
【００５３】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第４値Ｖ４は、特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）でプログラミングの第１、第２、及び第３レベルが既に発生していること（例えば、メモリセル２４０の閾値電圧Ｖｔｈが、４のビットの情報がプログラムされていることを示す特定の状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第４値Ｖ４であることに応答して、プログラムロジックセクション２１５は、メモリセルの各々（例えば、メモリセル２４０）の８のビットが、プログラムされるデータストリング「０００１１１」の各データビットを表すようにプログラムする。
【００５４】
本実施形態では、メモリセル２４０に追加電荷が追加されて、閾値電圧Ｖｔｈが「１０１１」を表す状態レベルに対応する８レベルに上昇（＋８）する。このように、追加電荷が追加されるか否かに拘わらず、１のビット、２のビット、及び４のビットの情報が保存される。このようなプログラミング動作は付加的であり、メモリセル２４０の消去又は読出しを必要としない。言い換えると、第４プログラミング動作Ｐ４の間に、プログラムロジックセクション２１５は、追加電荷を加えて閾値電圧Ｖｔｈを８レベルに上昇（＋８）させるか（メモリセル２４０及びメモリセル２４０の右側の２つのメモリセルの場合のように）、そうでなければ、メモリセルに電荷を追加しない（＋０）（最右側の３つのメモリセルの場合のように）。
【００５５】
追加電荷が追加されるこれらのメモリセルに対して、閾値電圧Ｖｔｈが変更され、したがって、メモリセル２４０の状態レベルが、例えば、「１１０１」に変更される。右側の次の２つのメモリセルもまた追加される追加電荷を有する。これはこれらの閾値電圧Ｖｔｈもまた変更されることを意味し、よって、これらの状態レベルは各々「１１０１」及び「１０１０」に変更される。次の３つのメモリセルは、第４プログラミング動作Ｐ４の間に追加される追加電荷を有しない。したがって、８のビットの情報が変更されることなく、１のビット、２のビット、及び４のビットの情報が保存される。このように、追加電荷が追加されるか否かに拘わらず、１のビット、２のビット、４のビット、及び８のビットの情報が保存される。
【００５６】
したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋８）を受け取って、０の論理値を表す。また、メモリセルの一部は追加電荷を受け取らない（＋０）で、１の論理値を表す。このような方法で、「０００１１１」の論理値が各メモリセルの８のビット位置にプログラムされる。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第４プログラミング動作Ｐ４の間に、メモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第４状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）をプログラムする。第４プログラミング動作Ｐ４の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を、プログラミングの第４レベルが発生したことを示す第５値Ｖ５に設定する。
【００５７】
いくつかの実施形態で、ページレベル再プログラム状態メタデータ２２０は、少なくとも５つの値（Ｖ１、Ｖ２、Ｖ３、Ｖ４、及びＶ５）を表すことができる３ビット値である。例えば、ページレベル再プログラム状態メタデータ２２０が、第１値Ｖ１又は「０００」と等価である場合、これは特定のメモリページでプログラミングが発生しないこと、及び／又はメモリページが消去されたことを示す。ページレベル再プログラム状態メタデータ２２０が、第２値Ｖ２又は「００１」と等価である場合、これはプログラミングの第１レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第３値Ｖ３又は「０１０」と等価である場合、これはプログラミングの第２レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第４値Ｖ４又は「０１１」と等価である場合、これはプログラミングの第３レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第５値Ｖ５又は「１００」と等価である場合、これはプログラミングの第４レベルが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０は、３ビット値に限定される必要は無く、適切な二進表現を用いて格納され、そしてアクセスされる。ページレベル再プログラム状態メタデータ２２０値に対するビット値の他の組み合わせが、本明細書に開示された本発明の技術範囲から逸脱しない範囲で使用される。
【００５８】
したがって、プログラムロジックセクション２１５は、第１状態レベル、第２状態レベル、第３状態レベル、及び第４状態レベルのプログラミング中又はプログラミングの間に、メモリセルの中のいずれのビットも消去することなく、同一のアドレス（即ち、メモリセル２４０に関連するアドレス）に、２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベル（例えば、「０００１」）、２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベル（例えば、「００１１」）、２の乗３番目のビット位置（例えば、４のビット）に関連する第３状態レベル（例えば、「００１１」）、及び２の４乗番目のビット位置（例えば、８のビット）に関連する第４状態レベル（例えば、「１０１１」）をプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第１プログラミング動作Ｐ１の間にメモリセルの各々の２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第２プログラミング動作Ｐ２の間にメモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）に関連する第２状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第３プログラミング動作Ｐ３の間にメモリセルの各々の２の３乗番目のビット位置（例えば、４のビット）に関連する第４状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第４プログラミング動作Ｐ４の間にメモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第４状態レベルをプログラムする。
【００５９】
メモリセルの各々の第４状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）は閾値電圧Ｖｔｈの第４値に対応する。閾値電圧Ｖｔｈの第４値は、メモリセルの各々の２の４乗番目に関連するビット位置（例えば、８のビット）に格納された情報を含む。読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０の第５値Ｖ５に応じて、メモリセルの各々の２の４乗番目に関連するビット位置（例えば、８のビット）に格納された情報を選択的に読み出す。言い換えると、読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０にアクセスして、それが第５値Ｖ５であることを判別し、その判別に基づいて８のビットの情報を読み出す。このような読出し動作は、８のビットの情報がプログラムされた後であれば、いつでも発生できる。しかし、上述したプログラミング動作を成功裏に遂行するために読出しは必要とされない。
【００６０】
したがって、２４ビットストリングの単一書込みのみを許容し、次の書込み動作の前に付随する消去動作を有する一般的な方法と比較して、図３Ａを参照した実施形態は書込み動作の間に挟まれた通常の消去又は読出し動作無しに、複数の６ビットストリングが４回まで書き込まれることを許容する。
【００６１】
図３Ｂは、本発明の一実施形態による多重レベルＮＡＮＤメモリで容量を利用する消去の無い再プログラムフローのさらに他の例を示す概念図である。図３Ｂに示す概念図３０７において、構成要素及びフローの一部は図２を参照して説明したので、これらの詳細な説明は省略する。具体的な差異点として、図３Ｂに示す多重レベルＮＡＮＤメモリセルの各々は、二進コードで００００、０００１、００１０、００１１、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、及び１１１１で表される１６状態レベルを含む。本実施形態で、最右側ビットは１のビットと称され、最右側の次の右側ビットは２のビットと称され、その次の右側ビットは４のビットと称され、そして最左側ビットは８のビットと称される。
【００６２】
いくつかの実施形態で、１のビット位置、２のビット位置、４のビット位置、及び８のビット位置は、４つの別個のプログラミング動作を利用して順にプログラムされる必要はない。例えば、２のビット位置及び４のビット位置は同一のプログラミング動作の間にプログラムされる。この例では、１のビットは第１プログラミング動作Ｐ１でプログラムされ、２のビット及び４のビットは第２プログラミング動作Ｐ２でプログラムされ、そして８のビットは第３プログラミング動作Ｐ３でプログラムされる。これは合わせて３回の書込みを遂行し、書込みの中の１つは他の２つのプログラミング動作より大きい（例えば、２ビット）。下位ビットが後の書込みのために再使用されない限り、１のビット、２のビット、４のビット、及び８のビットの任意の組み合わせが単一のプログラミング動作で書き込まれ、適切な状態維持が保たれる。これはより多目的の複数書込みシステム（Ｍｕｌｔｉｐｌｅ  ｗｒｉｔｅ  ｓｙｓｔｅｍ）を提供する。
【００６３】
より詳細には、本実施形態で、３つのプログラミング動作（例えば、Ｐ１、Ｐ２、Ｐ３）は、消去動作Ｅ１が必要とされる前に遂行される。第１プログラミング動作（例えば、Ｐ１）は、図２を参照して上述した第１プログラミング動作Ｐ１と同様の方式で遂行される。したがって、この動作の詳細な説明は省略する。第１プログラミング動作Ｐ１が完了した後に、２ビットのプログラミング動作（例えば、Ｐ２）が遂行される。
【００６４】
以下で、「１０、０１、１０、１１、０１、１１」の二進データを、メモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の対応する多重レベルＮＡＮＤメモリセルにプログラムする第２プログラミング動作Ｐ２について説明する。言い換えると、「１０、０１、１０、１１、０１、１１」のデータストリングの各データビット対が、異なる多重レベルＮＡＮＤメモリセル内の異なるビット位置に同時にプログラムされる。
【００６５】
プログラムロジックセクション２１５は、プログラムされるメモリセルのいずれの２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータ２２０の第２値Ｖ２に応じて、第２プログラミング動作Ｐ２の間に多重レベルＮＡＮＤメモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）及び２の３乗番目のビット位置（例えば、４のビット）に関連する第２状態レベル（例えば、００１１、０１０１、００１０、００００、０１００、０００１）をプログラムする。「１０、０１、１０、１１、０１、１１」のデータストリングは、チップ上で「０１、１０、０１、００、１０、００」のデータ値として格納される。言い換えると、第２プログラミング動作Ｐ２は、前の第１プログラミング動作Ｐ１の２倍のビットを有する１つの値をプログラムする。例えば、第２プログラミング動作Ｐ２は、選択的（ｏｐｔｉｏｎａｌｌｙ）に単一値（例えば、１０、０１、１０、１１、０１、１１）として読み出される多ビット値を単一のプログラミング動作の間にプログラムする。
【００６６】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第２値Ｖ２は、特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）でプログラミングの第１レベルが既に発生したこと（例えば、メモリセル２４０の閾値電圧Ｖｔｈが、１のビットの情報がプログラムされていることを示す特定の状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第２値Ｖ２であることに応答して、プログラムロジックセクション２１５は、プログラムされる「１０、０１、１０、１１、０１、１１」のデータストリングの各データビットを表すように、メモリセルの各々（例えば、メモリセル２４０）の２のビット及び４のビットをプログラムする。本実施形態で、電荷がメモリセル２４０に追加されて、メモリセルの閾値電圧Ｖｔｈが「００１１」を表す状態レベルに上昇する。
【００６７】
このようなプログラミング動作は付加的であり、メモリセル２４０の消去のみならず、読出しも必要としない。言い換えると、第２プログラミング動作Ｐ２の間に、プログラムロジックセクション２１５は、（ｉ）追加電荷を２レベルに追加して閾値電圧Ｖｔｈを上昇（＋２）させるか（メモリセル２４０の場合のように）、そうでなければ、メモリセルに電荷を追加しない（＋０）（メモリセル２４０の右側のメモリセルの場合のように）、そして（ｉｉ）追加電荷を４レベルに追加して閾値電圧Ｖｔｈを上昇（＋４）させるか（メモリセル２４０の右側のメモリセルの場合のように）、そうでなければ、メモリセルに電荷を追加しない（＋０）（メモリセル２４０の場合のように）。
【００６８】
言い換えると、上述の説明は同時に２のビット位置及び４のビット位置に対する書込みとして構造化され、追加される電荷はチップに格納される１１、１０、０１、及び００のデータビットに対応して、各々＋０／＋２／＋４／＋６を含む。いくつかの実施形態で１１、１０、０１、及び００の値はチップから各々選択的に読み出される。
【００６９】
１のビットの情報は、追加電荷が追加されるか否かに拘わらず、保存される。したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋２／＋４／＋６）を受け取って、２及び４のビット位置に格納された２ビット値を表す。また、メモリセルの一部は追加電荷を受け取らない（＋０）で、１の論理値を表す。このような方法で、「０１、１０、０１、００、１０、００」の値はメモリセルの２のビット位置及び４のビット位置にプログラムされる。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第２プログラミング動作Ｐ２の間に、メモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）及び２の３乗番目のビット位置（例えば、４のビット）に関連する第２状態レベル（例えば、００１１、０１０１、００１０、００００、０１００、０００１）をプログラムする。第２プログラミング動作Ｐ２の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を第４値Ｖ４に設定（即ち、Ｖ３値を省略）する。ここで、第４値Ｖ４は、プログラミングの第１及び第２レベルが発生し、これらの中の１つは２ビットプログラミング動作であることを示す。
【００７０】
次に、「０００１１１」の二進データをメモリセル２４０及びメモリセル２４０に隣接するメモリセルのような複数の対応する多重レベルＮＡＮＤメモリセルにプログラムする第３プログラミング動作Ｐ３を説明する。言い換えると、「０００１１１」のデータストリングの各データビットは、別個の多重レベルメモリセルにプログラムされる。
【００７１】
プログラムロジックセクション２１５は、プログラムされるメモリセルのいずれの第１状態レベル及び／又はいずれの第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータ２２０の第４値Ｖ４に応じて、第３プログラミング動作Ｐ３の間に、多重レベルＮＡＮＤメモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第３状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）をプログラムする。
【００７２】
より詳細には、ページレベル再プログラム状態メタデータ２２０の第４値Ｖ４は、プログラミングの第１及び第２レベル（１のビット、２のビット、及び４のビットを含む）が特定のメモリページのメモリセルの各々（例えば、メモリセル２４０）で既に発生していること（例えば、メモリセル２４０の閾値電圧Ｖｔｈが、少なくとも４のビットの情報がプログラムされていることを示す特定の状態レベルであること）を示す。ページレベル再プログラム状態メタデータ２２０が第４値Ｖ４であることに応答して、プログラムロジックセクション２１５は、プログラムされる「０００１１１」のデータストリングの各データビットを表すように、メモリセルの各々（例えば、メモリセル２４０）の８のビットをプログラムする。
【００７３】
本実施形態では、追加電荷がメモリセル２４０に追加され、閾値電圧Ｖｔｈが「１０１１」を表す状態レベルに対応する８レベルに上昇（＋８）する。このように、追加電荷が追加されるか否かに拘わらず、１のビット、２のビット、及び４のビットの情報が保存される。このようなプログラミング動作は付加的であり、メモリセル２４０の消去のみならず、読出しもまた必要としない。言い換えると、第３プログラミング動作Ｐ３の間に、プログラムロジックセクション２１５は、追加電荷を加えて閾値電圧Ｖｔｈを８レベルに上昇（＋８）させるか（メモリセル２４０及びメモリセル２４０の右側の２つのメモリセルの場合のように）、そうでなければ、メモリセルに電荷を追加しない（＋０）（最右側３つのメモリセルの場合のように）。
【００７４】
追加電荷が追加されるこれらのメモリセルに対して、閾値電圧Ｖｔｈが変更され、したがって、メモリセル２４０の状態レベルが、例えば、「１０１１」に変更される。右側の次の２つのメモリセルもまた追加される追加電荷を有する。これはそれらの閾値電圧Ｖｔｈもまた変更されることを意味し、よって、これらの状態レベルは各々「１１０１」及び「１０１０」に変更される。次の３つのメモリセルは、第３プログラミング動作Ｐ３の間に追加される追加電荷を有しない。したがって、１のビット、２のビット、及び４のビットの情報が保存され、また８のビットの情報も変更されずに残される。このように、追加電荷が追加されるか否かに拘わらず、１のビット、２のビット、４のビット、及び８のビットの情報が保存される。
【００７５】
したがって、一部のメモリセルのフローティングゲート（例えば、図１の１２０）は追加電荷（＋８）を受け取って、０の論理値を表す。また、メモリセルの一部は追加電荷を受け取らない（＋０）で、１の論理値を表す。このような方法で、「０００１１１」の論理値が各メモリセルの８のビット位置にプログラムされる。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第３プログラミング動作Ｐ３の間にメモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第３状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）をプログラムする。第３プログラミング動作Ｐ３の一部として（又は以後に）、メモリ制御ロジックセクション２１０は、ページレベル再プログラム状態メタデータ２２０を第５値Ｖ５に設定する。これはプログラミングの第４レベルが発生したことを示す。
【００７６】
いくつかの実施形態で、ページレベル再プログラム状態メタデータ２２０は、少なくとも５つの値（Ｖ１、Ｖ２、Ｖ３、Ｖ４、及びＶ５）を表すことができる３ビット値である。例えば、ページレベル再プログラム状態メタデータ２２０が、第１値Ｖ１又は「０００」と等価である場合、これは特定のメモリページでプログラムが発生しないこと、及び／又はメモリページが消去されたことを示す。ページレベル再プログラム状態メタデータ２２０が、第２値Ｖ２又は「００１」と等価である場合、これは１のビットのプログラミングが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第３値Ｖ３又は「０１０」と等価である場合、これは２のビットのプログラミングが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０が、第４値Ｖ４又は「０１１」と等価である場合、これは４のビットのプログラミングが特定のメモリページで発生したことを示す。そして、ページレベル再プログラム状態メタデータ２２０が、第５値Ｖ５又は「１００」と等価である場合、これは８のビットのプログラミングが特定のメモリページで発生したことを示す。ページレベル再プログラム状態メタデータ２２０は、３ビット値に限定される必要は無く、任意の適切な二進表現を用いて格納されてアクセスされる。ページレベル再プログラム状態メタデータ２２０値に対するビット値の他の組み合わせが、本明細書に記載された本発明の技術範囲から逸脱しない範囲で使用される。
【００７７】
したがって、プログラムロジックセクション２１５は、第１状態レベル、第２状態レベル、及び第３状態レベルのプログラミング中又はプログラミングの間にメモリセルの中のいずれのビットも消去することなく、同一のアドレス（即ち、メモリセル２４０に関連するアドレス）で、２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベル（例えば、「０００１」）をプログラムし、２の２乗番目のビット位置（例えば、２のビット）及び２の３乗番目のビット位置（例えば、４のビット）に関連する第２状態レベル（例えば、「００１１」）を同時にプログラムし、そして２の４乗番目のビット位置（例えば、８のビット）に関連する第３状態レベル（例えば、「１０１１」）をプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第１プログラミング動作Ｐ１の間に、メモリセルの各々の２の１乗番目のビット位置（例えば、１のビット）に関連する第１状態レベルをプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第２プログラミング動作Ｐ２の間に、メモリセルの各々の２の２乗番目のビット位置（例えば、２のビット）及び２の３乗番目のビット位置（例えば、４のビット）に関連する第２状態レベルを同時にプログラムする。プログラムロジックセクション２１５は、プログラムされるメモリセルの中のいずれのビットも消去することなく、第３プログラミング動作Ｐ３の間に、メモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連する第３状態レベルをプログラムする。
【００７８】
メモリセルの各々の第３状態レベル（例えば、１０１１、１１０１、１０１０、００００、０１００、０００１）は閾値電圧Ｖｔｈの第３値に対応する。閾値電圧Ｖｔｈの第３値は、メモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連するビット位置に格納された情報を含む。読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０の第５値Ｖ５に応じて、メモリセルの各々の２の４乗番目のビット位置（例えば、８のビット）に関連するビット位置に格納された情報を選択的に読み出す。言い換えると、読出しロジックセクション２３５は、ページレベル再プログラム状態メタデータ２２０にアクセスして、ページレベル再プログラム状態メタデータ２２０が第５値Ｖ５を有することを判別し、その判別に基づいて８のビットの情報を読み出す。このような読出し動作は、８のビットの情報がプログラムされた後であれば、いつでも発生するできる。しかし、上述したプログラミング動作を成功裏に遂行するために読出しは必要とされない。
【００７９】
したがって、６ビットストリングのみを４回まで書き込むことを許容する図３Ａに示す実施形態と比較すると、図３Ｂに示す実施形態は、書込み動作の間に挟まれる通常の消去又は読出し動作無しで、はるかに大きい柔軟性を許容する。
【００８０】
図３Ｂを参照して詳細に説明したように、書き込まれるデータストリングは、複数のビット対（例えば、１０、０１、１０、１１、０１、１１）を含む。ビット三重対も同様の方式で書き込まれる。また、単一ビットも同様の方式で書き込まれる。実際に、単一ビット、ビット対、ビット三重対、ビット四重対等の任意の適切な組み合わせが、本明細書に記載の実施形態に従って、多重レベルメモリセルに同時に書き込まれる。
【００８１】
例えば、１つの２４ビット書込み、２つの１２ビット書込み、４つの６ビット書込み等が連続的に遂行される。２つの１２ビット書込みの場合、例えば、第１番目の１２ビット書込みは１２ビットの同時プログラミングを含み、これに続く第２番目の１２ビット書込みは、プログラミング動作の間に挟まれる通常の消去又は読出し動作無しで、別の１２ビットの同時プログラミングを含む。他の例では、プログラミング動作の間に挟まれる通常の消去又は読出し動作無しに、２つの６ビット書込みに、１つの１２ビット書込みが連続して遂行される。さら他の例では、プログラミング動作の間に挟まれる通常の消去又は読出し動作無しに、１つの６ビット書込みに、１つの１８ビット書込みが後続する。
【００８２】
下位ビットが後の書込みに再使用されない限り、プログラミング動作の間に挟まれる通常の消去又は読出し動作無しに、異なるビット書込みの任意の適切な組み合わせが連続的に遂行され、適切な状態維持が保たれる。
【００８３】
図４は、本発明の一実施形態による多重レベルＮＡＮＤメモリセルで容量を利用する消去無しプログラミングの方法を示すフローチャートである。
【００８４】
図４に示すフローチャート４００において、段階４０５で、メモリ制御ロジックセクションは、ページレベル再プログラム状態メタデータを格納する。例えば、前のプログラミングレベルが、次のプログラミングレベルのために参照されるページレベル再プログラム状態メタデータとして格納される。より詳細には、ページレベル再プログラム状態メタデータは、特定のメモリページの複数のメモリセルに未だ情報が格納されないこと、又はプログラミングの第１、第２、第３、及び第４レベル等が特定のメモリページの複数のメモリセルで既に発生していることを示す。段階４１０で、プログラムロジックセクションは、ページレベル再プログラム状態メタデータの第１値に応じて、複数のメモリセルの各々の２の１乗〜Ｎ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムする。段階４１５で、プログラムロジックセクションは、プログラムされるメモリセルのいずれの第１状態レベルも読み出すことなく、そしてプログラムされるメモリセルの中のいずれのビットも消去することなく、ページレベル再プログラム状態メタデータの第２値に応じて、複数のメモリセルの各々の２の２乗〜Ｎ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムする。段階４２０で、プログラムロジックセクションは、プログラムされるメモリセルのいずれの第１状態レベル及び／又は第２状態レベルも読み出すことなく、そしてプログラムされるメモリセルの中のいずれのビットも消去することなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの各々の２の３乗乃至Ｎ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする。これらの段階は、図４に示した順序で遂行される必要は無く、他の順序及び／又は中間段階で遂行される。また、フラッシュセルが情報のより多くのレベルを保持することができる実施形態では、特定の段階が反複され得る。
【００８５】
図５は、本発明の一実施形態による多重レベルＮＡＮＤメモリセルで容量を利用する消去無しプログラミングの他の方法を示すフローチャートである。
【００８６】
図５に示すフローチャート５００において、段階５０５で、ページレベル再プログラム状態メタデータの現在の値に対する判別が行われる。判別された値が、メモリページが現在消去された状態であることを意味する第１値Ｖ１である場合、フローは複数のメモリセルの各々の第１状態レベルがプログラムされる段階５１０に進行する。値が、最後の消去動作以後に１つのプログラミングレベルが発生したことを意味する第２値Ｖ２である場合、フローはプログラムされる複数のメモリセルのいずれの第１状態レベルを読み出すことなく、そしてプログラムされるメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第２状態レベルがプログラムされる段階５１５に進行する。値が、最後の消去動作以後に２つのプログラミングレベルが発生したことを意味する第３値Ｖ３である場合、フローはプログラムされる複数のメモリセルのいずれの第１状態レベル及び／又は第２状態レベルも読み出すことなく、そしてプログラムされるメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第３状態レベルがプログラムされる段階５２０に進行する。値が、最後の消去動作以後に（Ｎ−１）個のプログラミングレベルが発生したことを意味する第Ｎ値ＶＮである場合、フローはプログラムされる複数のメモリセルのいずれの前の（Ｎ−１）状態レベルを読み出すことなく、そしてプログラムされるメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第Ｎ状態レベルがプログラムされる段階５２５に進行する。これらの段階は、図５に示した順序で遂行される必要は無く、他の順序及び／又は中間段階で遂行される。また、類似の段階が、ページを構成するメモリセルの格納容量に基づいて追加又は除去される。
【００８７】
図６は、本発明の一実施形態による多重レベルメモリセルから情報を読み出す方法を示すフローチャートである。
【００８８】
図６に示すフローチャート６００において、段階６０５で、ページレベル再プログラム状態メタデータの現在の値に対する判別が行われる。判別された値が、メモリページで１つのプログラミングレベルが発生したことを意味する第２値Ｖ２である場合、フローは各メモリセルの１のビットに格納された情報が読み出される段階６１０に進行し、段階６２５で補数が判別されて（ｃｏｍｐｌｅｍｅｎｔｅｄ）元の論理値が獲得される。値が、メモリページで２つのプログラミングレベルが発生したことを示す第３値Ｖ３である場合、フローは各メモリセルの２のビットに格納された情報が読み出される段階６１５に進行し、段階６２５で補数が判別されて元の論理値が獲得される。値が、メモリページで３つのプログラミングレベルが発生したことを示す第４値Ｖ４である場合、フローは各メモリセルの４のビットに格納された情報が読み出される段階６２０に進行する。各メモリセルの１のビット、２のビット、又は４のビット等を読み出した後に、該当ビットの補数が段階６２５で判別されて、例えば図２及び図３Ａに示す最終の論理値が獲得される。これらの段階は、図６に示した順に遂行される必要は無く、他の順序及び／又は中間段階で遂行される。また、上述したように、前に格納された値が読み出されて補数が判別される。
【００８９】
図７は、図２に示すメモリ制御ロジックセクションを含むコンピューティングシステムの例を示すブロック図である。
【００９０】
メモリ制御器７４５は、上述したメモリ制御ロジックセクション２１０を含む。メモリ制御器７４５はシステムバス７０５に電気的に連結される。コンピューティングシステム７００は、また多重レベルＮＡＮＤメモリ７３０、クロック７１０、ランダムアクセスメモリ（ＲＡＭ）７１５、使用者インターフェイス７２０、ベースバンドチップセットのようなモデム７２５、及び／又は自動化されたテスト装置（ＡＴＥ）７３５を含み、これらの全部又はいずれかはシステムバス７０５に電気的に結合される。
【００９１】
コンピューティングシステム７００がモバイル装置である場合、コンピューティングシステム７００に電源を供給するバッテリー７４０をさらに含む。図７に図示しないが、コンピューティングシステム７００は、アプリケーションチップセット、カメライメージプロセッサ（ＣＩＳ）、モバイルＤＲＡＭ等をさらに含む。メモリ制御器７４５及び多重レベルＮＡＮＤメモリ７３０は、データを格納するために不揮発性メモリを使用するソリッドステートドライブ／ディスク（ＳＳＤ）を形成する。
【００９２】
本実施形態で、コンピューティングシステム７００は、コンピュータ、ポータブルコンピュータ、ウルトラモバイルＰＣ（ＵＭＰＣ）、ワークステーション、ネットブック、ＰＤＡ、ウェブタブレット、無線電話、モバイル電話、スマートフォン、電子ブック、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、デジタルカメラ、デジタルオーディオ記録器／再生器、デジタル画像／ビデオ記録器／再生器、ポータブルゲーム機、ナビゲーションシステム、ブラックボックス、３次元テレビジョン、無線環境で情報を送信及び受信することができる装置、ホームネットワークを形成する多様な電子装置の中の１つ、テレマティクスネットワークを形成する多様な電子装置の中の１つ、ＲＦＩＤ、又はコンピューティングシステムを形成する多様な電子装置の中の１つに使用される。
【００９３】
いくつかの実施形態は、各々が複数のプログラム可能な状態レベルを有する複数のメモリセルを含む１つ以上のメモリページと、１つ以上のメモリページに結合され、プログラムロジックセクション及びページレベル再プログラム状態メタデータを含むメモリ制御ロジックセクションと、を備えるメモリ装置を含む。
【００９４】
いくつかの実施形態で、プログラムロジックセクションは、ページレベル再プログラム状態メタデータの第１値に応じて複数のメモリセルの第１プログラミングで、複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、複数のメモリセルのいずれの第１状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第２値に応じて、複数のメモリセルの第２プログラミングで、複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムするように構成される。
【００９５】
いくつかの実施形態で、プログラムロジックセクションは、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングにおいて、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、第１状態レベル、第２状態レベル、及び第３状態レベルのプログラミング中又はプログラミングの間に複数のメモリセルの中のいずれのビットも削除することなく、複数のメモリセルの各々の同一のアドレスで第１状態レベル、第２状態レベル、及び第３状態レベルをプログラムするように構成される。
【００９６】
上述した２の１乗〜２のＮ乗番目の中の２の１乗番目は１のビット位置に対応し、２の２乗番目は２のビット位置に対応し、２の３乗番目は４のビット位置に対応し、２のＮ乗番目は２（Ｎ−１）のビット位置に対応する。
【００９７】
いくつかの実施形態で、プログラムロジックセクションは、第１プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第１状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、第２プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第２状態レベルをプログラムするように構成される。
【００９８】
いくつかの実施形態で、プログラムロジックセクションは、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングで、複数のメモリセルの各々の第３状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、第１プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第１状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、第２プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第２状態レベルをプログラムするように構成される。いくつかの実施形態で、プログラムロジックセクションは、第３プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第３状態レベルをプログラムするように構成される。
【００９９】
いくつかの実施形態で、メモリ制御ロジックセクションは読出しロジックセクションを含む。いくつかの実施形態で、複数のメモリセルの各々の第１状態レベルは閾値電圧の第１値に対応する。いくつかの実施形態で、閾値電圧の第１値は複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含む。いくつかの実施形態で、読出しロジックセクションはページレベル再プログラム状態メタデータの第２値に応じて、複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すように構成される。
【０１００】
いくつかの実施形態で、複数のメモリセルの各々の第２状態レベルは閾値電圧の第２値に対応し、閾値電圧の第２値はメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含み、読出しロジックセクションはページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの各々の２の１乗乃至２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すように構成される。
【０１０１】
いくつかの実施形態で、プログラムロジックセクションは、複数のメモリセルのいずれの第１状態レベル又はいずれの第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングで、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムするように構成される。いくつかの実施形態で、複数のメモリセルの各々の第３状態レベルは閾値電圧の第３値に対応する。いくつかの実施形態で、閾値電圧の第３値は複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含む。いくつかの実施形態で、読出しロジックセクションはページレベル再プログラム状態メタデータの第４値に応じて、複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出すように構成される。
【０１０２】
いくつかの実施形態で、メモリ制御ロジックセクションは、複数のメモリセルの各々の第１状態レベルのプログラミングの後に、ページレベル再プログラム状態メタデータを第２値に設定するように構成される。いくつかの実施形態で、メモリ制御ロジックセクションは、複数のメモリセルの各々の第２状態レベルのプログラミングの後に、ページレベル再プログラム状態メタデータを第３値に設定するように構成される。
【０１０３】
いくつかの実施形態で、プログラムロジックセクションは、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングにおいて、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上に関連する第３状態レベルをプログラムするように構成される。いくつかの実施形態で、メモリ制御ロジックセクションはメモリセルの各々の第３状態レベルのプログラムの後に、ページレベル再プログラム状態メタデータを第４値に設定するように構成される。
【０１０４】
以下、本発明の一実施形態による多重レベル不揮発性メモリセルをプログラムする方法を詳細に説明する。
【０１０５】
本発明の一実施形態による方法は、メモリ制御ロジックセクションによって、ページレベル再プログラム状態メタデータを格納する段階を含む。本方法は、メモリ制御ロジックセクションのプログラムロジックセクションによって、ページレベル再プログラム状態メタデータに応じてメモリページの複数のメモリセルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、ページレベル再プログラム状態メタデータの第１値に応じて、複数のメモリセルの第１プログラミングで、メモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第１状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、複数のメモリセルのいずれの第１状態レベルを読み出すことなく、ページレベル再プログラム状態メタデータの第２値に応じて、複数のメモリセルの第２プログラミングで、複数のメモリセルの各々の２の２乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第２状態レベルをプログラムする段階を含む。
【０１０６】
本実施形態による方法は、プログラムロジックセクションによって、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて複数のメモリセルの第３プログラミングで、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、第１状態レベル、第２状態レベル、及び第３状態レベルのプログラミング中又はプログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の同一のアドレスで第１状態レベル、第２状態レベル、及び第３状態レベルをプログラムする段階を含む。
【０１０７】
本実施形態による方法は、プログラムロジックセクションによって、第１プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第１状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、第２プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第２状態レベルをプログラムする段階を含む。
【０１０８】
本実施形態による方法は、プログラムロジックセクションによって、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングで、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、第１プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第１状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、第２プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第２状態レベルをプログラムする段階を含む。本方法は、プログラムロジックセクションによって、第３プログラミングの間に複数のメモリセルの中のいずれのビットも消去することなく、複数のメモリセルの各々の第３状態レベルをプログラムする段階を含む。
【０１０９】
いくつかの実施形態で、複数のメモリセルの各々の第１状態レベルは閾値電圧の第１値に対応し、閾値電圧の第１値は複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含む。本方法は、メモリ制御ロジックセクションの読出しロジックセクションによって、ページレベル再プログラム状態メタデータの第２値に応じて、複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階を含む。いくつかの実施形態で、複数のメモリセルの各々の第２状態レベルは閾値電圧の第２値に対応し、閾値電圧の第２値は２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含む。本方法は、読出しロジックセクションによって、ページレベル再プログラム状態メタデータの第３値に応じて、メモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階を含む。
【０１１０】
本実施形態による方法は、プログラムロジックセクションによって、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて、複数のメモリセルの第３プログラミングで、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階を含む。いくつかの実施形態で、複数のメモリセルの各々の第３状態レベルは閾値電圧の第３値に対応する。いくつかの実施形態で、閾値電圧の第３値は複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を含む。本方法は、読出しロジックセクションによって、ページレベル再プログラム状態メタデータの第４値に応じて、複数のメモリセルの各々の２の１乗〜２のＮ乗番目の中の１つ以上に関連するビット位置に格納された情報を読み出す段階を含む。
【０１１１】
本実施形態による方法は、メモリ制御ロジックセクションによって、複数のメモリセルの各々の第１状態レベルをプログラミングの後に、ページレベル再プログラム状態メタデータを第２値に設定する段階を含む。本方法は、メモリ制御ロジックセクションによって、複数のメモリセルの各々の第２状態レベルのプログラミングの後に、ページレベル再プログラム状態メタデータを第３値に設定する段階を含む。
【０１１２】
本実施形態による方法は、プログラムロジックセクションによって、複数のメモリセルのいずれの第１状態レベル及び第２状態レベルも読み出すことなく、ページレベル再プログラム状態メタデータの第３値に応じて複数のメモリセルの第３プログラミングにおいて、複数のメモリセルの各々の２の３乗〜２のＮ乗番目の中の１つ以上のビット位置に関連する第３状態レベルをプログラムする段階を含む。本方法は、メモリ制御ロジックセクションによって、複数のメモリセルの各々の第３状態レベルのプログラミングの後に、ページレベル再プログラム状態メタデータを第４値に設定する段階を含む。
【０１１３】
本発明の実施形態は、１つ以上のプロセッサによって実行可能な本発明の技術的思想の要素を遂行する命令を含む非一時的な機械読出し可能な媒体を含む。
【符号の説明】
【０１１４】
１００    不揮発性多重レベルＮＡＮＤメモリセル
１０５    ソース
１１０    ドレーン
１１５    制御ゲート
１２０    フローティングゲート
１２５、１３０    絶縁体
２０５    メモリページ
２１０    メモリ制御ロジックセクション
２１５    プログラムロジックセクション
２２０    ページレベル再プログラム状態メタデータ
２３５    読出しロジックセクション
２４０    メモリセル
７００    コンピューティングシステム
７０５    システムバス
７１０    クロック
７１５    ランダムアクセスメモリ（ＲＡＭ）
７２０    使用者インターフェイス
７２５    モデム
７３０    多重レベルＮＡＮＤメモリ
７３５    自動化されたテスト装置（ＡＴＥ）
７４０    バッテリー
７４５    メモリ制御器
【図１Ａ】
2018018570.tif 000003
【図１Ｂ】
2018018570.tif 000004
【図１Ｃ】
2018018570.tif 000005
【図１Ｄ】
2018018570.tif 000006
【図１Ｅ】
2018018570.tif 000007
【図１Ｆ】
2018018570.tif 000008
【図１Ｇ】
2018018570.tif 000009
【図１Ｈ】
2018018570.tif 000010
【図２】
2018018570.tif 000011
【図３Ａ】
2018018570.tif 000012
【図３Ｂ】
2018018570.tif 000013
【図４】
2018018570.tif 000014
【図５】
2018018570.tif 000015
【図６】
2018018570.tif 000016
【図７】
2018018570.tif 000017