(57)【特許請求の範囲】
【請求項１】
複数のマルチビットセルを含むマルチビットセルアレイと、
前記複数のマルチビットセルに第１データページをプログラムし、前記第１データページがプログラムされたマルチビットセルに第２データページをプログラムするプログラミング部と、
前記第１データページがプログラムされたマルチビットセルを第１グループおよび第２グループに分割する第１制御部と、
前記マルチビットセルからデータを読み出すための第１読み出し電圧レベルおよび前記第２データページに基づいて前記第１グループの各マルチビットセルの閾値電圧の目標値として許容される一定の電圧幅を有する目標閾値電圧区間を設定し、前記マルチビットセルからデータを読み出すための前記第１読み出し電圧レベルとは異なる第２読み出し電圧レベルおよび前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定する第２制御部と、を含み、
前記第１データページはメモリページのマルチビットセルにプログラムされるＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）の集合であり、前記第２データページはメモリページのマルチビットセルにプログラムされる第２ビットの集合であり、
前記第２制御部は、ｍビットデータ（但し、ｍ＝２とする）に対応する２ｍ個の目標閾値電圧区間を設定し、前記マルチビットセルに格納されるデータに基づいて前記設定された２ｍ個の目標閾値電圧区間のうちいずれか１つを選択し、前記プログラミング部は、前記マルチビットセルの閾値電圧が前記選択された目標閾値電圧区間に含まれるまで前記マルチビットセルにプログラム条件電圧を印加する
ことを特徴とするメモリ装置。
【請求項２】
前記第２制御部は、前記第１グループの各マルチビットセルの閾値電圧を前記第１読み出し電圧レベルと比較して前記第１グループの各マルチビットセルの閾値電圧状態情報を生成し、前記閾値電圧状態情報および前記第２データページに基づいて前記第１グループの各マルチビットセルの目標閾値電圧区間を設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記第２制御部は、前記第２グループの各マルチビットセルの閾値電圧を前記第２読み出し電圧レベルと比較して前記第２グループの各マルチビットセルの閾値電圧状態情報を生成し、前記閾値電圧状態情報および前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項４】
前記プログラミング部は、前記第１データページがプログラムされた各マルチビットセルの閾値電圧が前記設定された目標閾値電圧区間に含まれるように前記第２データページをプログラムする、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項５】
前記第１制御部は、第１ワードラインに連結したマルチビットセルを前記第１グループとして設定し、第２ワードラインに連結したマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項６】
前記第１制御部は、偶数番目のビットラインに連結したマルチビットセルを前記第１グループとして設定し、奇数番目のビットラインに接続したマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項７】
前記第１制御部は、消去回数が基準値未満であるマルチビットセルを前記第１グループとして設定し、消去回数が前記基準値以上であるマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項８】
前記第１制御部は、前記第１データページがプログラムされたマルチビットセルのうち、前記第１データページが第１時間区間の間にプログラムされたマルチビットセルを前記第１グループとして設定し、前記第１データページが第２時間区間の間にプログラムされたマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項９】
前記プログラミング部は、前記複数の各マルチビットセルのゲート端子にプログラム電圧を印加して前記第１データページをプログラムし、
前記第１制御部は、前記プログラミング部との距離が基準値未満であるマルチビットセルを前記第１グループとして設定し、前記プログラミング部との距離が前記基準値以上であるマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項１０】
前記第１制御部は、前記第１データページがプログラムされた各マルチビットセルのエラー統計を格納し、前記格納されたエラー統計が基準値未満であるマルチビットセルを前記第１グループとして設定し、前記格納されたエラー統計が前記基準値以上であるマルチビットセルを前記第２グループとして設定する、
ことを特徴とする請求項１に記載のメモリ装置。
【請求項１１】
複数のマルチビットセルに第１データページをプログラムするステップと、
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップと、
前記マルチビットセルからデータを読み出すための第１読み出し電圧レベルおよび第２データページに基づいて前記第１グループの各マルチビットセルの閾値電圧の目標値として許容される一定の電圧幅を有する目標閾値電圧区間を設定するステップと、
前記マルチビットセルからデータを読み出すための前記第１読み出し電圧レベルとは異なる第２読み出し電圧レベルおよび前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定するステップと、
前記複数のマルチビットセルに前記第２データページをプログラムするステップと、を含み、
前記第１データページはメモリページのマルチビットセルにプログラムされるＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）の集合であり、前記第２データページはメモリページのマルチビットセルにプログラムされる第２ビットの集合であり、
前記設定されたｍビットデータ（但し、ｍ＝２とする）に対応する２ｍ個の目標閾値電圧区間のうちいずれか１つを前記マルチビットセルに格納されるデータに基づいて選択し、前記マルチビットセルの閾値電圧が前記選択された目標閾値電圧区間に含まれるまで前記マルチビットセルにプログラム条件電圧を印加する
ことを特徴とするメモリプログラミング方法。
【請求項１２】
前記第１グループの各マルチビットセルの目標閾値電圧区間を設定するステップは、
前記第１グループの各マルチビットセルの閾値電圧を前記第１読み出し電圧レベルと比較して前記第１グループの各マルチビットセルの閾値電圧状態情報を生成するステップと、
前記閾値電圧状態情報および前記第２データページに基づいて前記第１グループの各マルチビットセルの目標閾値電圧区間を設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１３】
前記第２グループの各マルチビットセルの目標閾値電圧区間を設定するステップは、
前記第２グループの各マルチビットセルの閾値電圧を前記第２読み出し電圧レベルと比較して前記第２グループの各マルチビットセルの閾値電圧状態情報を生成するステップと、
前記閾値電圧状態情報および前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１４】
前記第２データページをプログラムするステップは、前記複数の各マルチビットセルの閾値電圧が前記設定された目標閾値電圧区間に含まれるように前記第２データページをプログラムする、
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１５】
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
第１ワードラインに連結したマルチビットセルを前記第１グループとして設定するステップと、
第２ワードラインに連結したマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１６】
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
偶数番目のビットラインに連結したマルチビットセルを前記第１グループとして設定するステップと、
奇数番目のビットラインに連結したマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１７】
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
消去回数が基準値未満であるマルチビットセルを前記第１グループとして設定するステップと、
消去回数が前記基準値以上であるマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１８】
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
前記第１データページが第１時間区間の間にプログラムされたマルチビットセルを前記第１グループとして設定するステップと、
前記第１データページが第２時間区間の間にプログラムされたマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項１９】
前記複数のマルチビットセルに第１データページをプログラムするステップは、
前記複数の各マルチビットセルのゲート端子に電圧生成回路を用いてプログラム電圧を印加することによって前記第１データページをプログラムし、
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
前記電圧生成回路との距離が基準値未満であるマルチビットセルを前記第１グループとして設定するステップと、
前記電圧生成回路との距離が前記基準値以上であるマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項２０】
前記複数の各マルチビットセルのエラー統計を格納するステップをさらに含み、
前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップは、
前記格納されたエラー統計が基準値未満であるマルチビットセルを前記第１グループとして設定するステップと、
前記格納されたエラー統計が前記基準値以上であるマルチビットセルを前記第２グループとして設定するステップと、を含む
ことを特徴とする請求項１１に記載のメモリプログラミング方法。
【請求項２１】
請求項１１に記載の方法を実行するためのコンピュータプログラムが記録されている
ことを特徴とする、コンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態はメモリ装置にデータをプログラムする方法に関し、より詳細には、マルチレベルセル（ＭＬＣ：Ｍｕｌｔｉ−ｌｅｖｅｌ  Ｃｅｌｌ）またはマルチビットセル（ＭＢＣ：Ｍｕｌｔｉ−Ｂｉｔ  Ｃｅｌｌ）メモリ装置にデータをプログラムする装置および方法に関する。
【背景技術】
【０００２】
シングルレベルセル（ＳＬＣ：ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ）メモリは、１つのメモリセルに１ビットのデータを格納するメモリである。シングルレベルセルメモリはシングルビットセル（ＳＢＣ：ｓｉｎｇｌｅ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。シングルレベルセルメモリのメモリセル（シングルレベルセル）にデータを格納する過程はプログラム過程とも呼ばれ、メモリセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を変化させることができる。例えば、シングルレベルセルに論理「１」のデータが格納された場合には、シングルレベルセルは１．０Ｖｏｌｔの閾値電圧を有してもよく、論理「０」のデータが格納された場合には、シングルレベルセルは３．０Ｖｏｌｔの閾値電圧を有してもよい。
【０００３】
シングルレベルセルの間の微細な電気的特性の差により、同じデータがプログラムされた各シングルレベルセルに形成された閾値電圧は一定の範囲の散布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を有するようになる。例えば、メモリセルから読み出された電圧が０．５−１．５Ｖｏｌｔである場合には、前記メモリセルに格納されたデータは論理「１」であり、メモリセルから読み出された電圧が２．５−３．５Ｖｏｌｔである場合には、前記メモリセルに格納されたデータは論理「０」と判定してもよい。メモリセルに格納されたデータは、読み出し動作時のメモリセルの電流／電圧の差によって区分される。
【０００４】
一方、メモリの高集積化要求に応答し、１つのメモリセルに２ビット以上のデータをプログラムすることができるマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリが提案された。マルチレベルセルメモリはマルチビットセル（ＭＢＣ：ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。しかしながら、１つのメモリセルにプログラムされるビットの数が増加するほど信頼性は低下し、読み出し失敗率（ｒｅａｄ  ｆａｉｌｕｒｅ  ｒａｔｅ）は増加するようになる。１つのメモリセルにｍ個のビットをプログラムしようとすれば、２ｍ個の閾値電圧のうちのいずれか１つが前記メモリセルに形成されなければならない。メモリセルの間の微細な電気的特性の差により、同じデータがプログラムされたメモリセルの閾値電圧は一定の範囲の散布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を形成してもよい。このとき、ｍ個のビットによって生成される２ｍ個の各データ値に１つずつの閾値電圧散布が対応してもよい。
【０００５】
ベージ（Ｐａｇｅ）単位で情報を格納するＭＬＣメモリにおいて、ｍ番目のビット（ｂｉｔ）情報を格納するためには、ＭＬＣメモリに既に格納された（ｍ−１）番目のビット（ｂｉｔ）まで格納された情報を知らなければならない。（ｍ−１）番目のビット（ｂｉｔ）までの情報が格納されていれば、ＭＬＣメモリは２（ｍ−１）個のうちの１つの閾値電圧を形成しており、閾値電圧の位置を知るためにはインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作を実行する。インターナルリード（Ｉｎｔｅｒｎａｌ  ｒｅａｄ）
はＭＬＣプログラム（ＭＬＣ  ｐｒｏｇｒａｍ）を実行する途中に発生する読み出し動作を意味する。したがって、インターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）でエラー（ｅｒｒｏｒ）が発生するようになれば（ｍ−１）番目まで格納された情報を誤って判断するようになり、ＭＬＣプログラム（ＭＬＣ  ｐｒｏｇｒａｍ）時にＭＬＣメモリの閾値電圧を所望しない場所に移動させるようになる。プログラム（Ｐｒｏｇｒａｍ）の完了後、ノーマルリード（ｎｏｒｍａｌ  ｒｅａｄ）動作によって格納された情報を読むようになれば、ＭＬＣメモリ（ＭＬＣ  ｍｅｍｏｒｙ）は誤った閾値電圧を有しているため誤った情報を読むようになり、エラー（ｅｒｒｏｒ）を発生させるようになる。
【０００６】
メモリの電圧ウィンドウ（ｖｏｌｔａｇｅ  ｗｉｎｄｏｗ）は制限されているため、ｍが増加することによって隣接したビット間の閾値電圧（ｔｈｒｅｓｈｏｌｄ）の２ｍ個の散布間の距離は減り、散布間の距離がさらに減れば散布どうしが重なることがある。散布どうしが重なれば読み出し失敗率が増加することがある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、マルチビットプログラミング方法に新たな状態判定技法を適用することにより、プログラミング時のエラーを減らすことにある。
【課題を解決するための手段】
【０００８】
実施形態に係るメモリ装置は、複数のマルチビットセルを含むマルチビットセルアレイと、前記複数のマルチビットセルに第１データページをプログラムし、前記第１データページがプログラムされたマルチビットセルに第２データページをプログラムするプログラミング部と、前記第１データページがプログラムされたマルチビットセルを第１グループおよび第２グループに分割する第１制御部と、第１読み出し電圧レベルおよび前記第２データページに基づいて前記第１グループの各マルチビットセルの目標閾値電圧区間を設定し、第２読み出し電圧レベルおよび前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定する第２制御部とを含んでもよい。
【０００９】
実施形態に係るメモリプログラミング方法は、複数のマルチビットセルに第１データページをプログラムするステップと、前記複数のマルチビットセルを第１グループおよび第２グループに分割するステップと、第１読み出し電圧レベルおよび第２データページに基づいて前記第１グループの各マルチビットセルの目標閾値電圧区間を設定するステップと、第２読み出し電圧レベルおよび前記第２データページに基づいて前記第２グループの各マルチビットセルの目標閾値電圧区間を設定するステップと、前記複数のマルチビットセルに前記第２データページをプログラムするステップとを含んでもよい。
【発明の効果】
【００１０】
本発明によれば、マルチビットプログラミング方法に新たな状態判定技法を適用することにより、プログラミング時のエラーを減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るメモリ装置を示す図である。
【図２】図１のメモリ装置の動作の一例を示す図である。
【図３】図１のメモリ装置の動作の他の例を示す図である。
【図４】図１のメモリ装置の動作のさらに他の例を示す図である。
【図５】図１のメモリ装置の動作のさらに他の例を示す図である。
【図６】本発明の他の実施形態に係るメモリプログラミング方法を示すフローチャートである。
【図７】図６に示す目標閾値電圧区間を設定するステップの一例を詳細に示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明に係る実施形態を、添付の図面を参照しながら詳細に説明する。しかしながら、本発明が実施形態によって制限されたり限定されるものではない。各図面に提示された同一する参照符号は同一する部材を示す。
図１は、本発明の一実施形態に係るメモリ装置１００を示す図である。
図１を参照すれば、メモリ装置１００は、マルチビットセルアレイ１１０と、プログラミング部１２０と、第１制御部１３０と、第２制御部１４０とを含む。
マルチビットセルアレイ１１０は、複数のマルチビットセルを含む。
【００１３】
プログラミング部１２０は、各マルチビットセルの閾値電圧を変更させて各マルチビットセルにデータをプログラムしてもよい。マルチビットセルがｍビットのデータを格納することができれば、前記マルチビットセルの閾値電圧は２ｍ個の電圧レベルのうちのいずれか１つであってもよい。第２制御部１４０は、前記マルチビットセルに格納されるデータに対応する目標閾値電圧区間を設定してもよい。プログラミング部１２０は、前記マルチビットセルの閾値電圧が前記設定された目標閾値電圧区間に含まれるまで前記マルチビットセルにプログラム条件電圧を印加してもよい。
【００１４】
実施形態によっては、第２制御部１４０は、ｍビットデータに対応する２ｍ個の目標閾値電圧区間を設定してもよく、マルチビットセルに格納されるデータに基づいて前記設定された目標閾値電圧区間のうちいずれか１つを選択してもよい。プログラミング部１２０は、前記マルチビットセルの閾値電圧が前記選択された目標閾値電圧区間に含まれるまで前記マルチビットセルにプログラム条件電圧を印加してもよい。
【００１５】
実施形態によっては、第２制御部１２０は、ｍビットデータに対応する２ｍ個の検証電圧レベルを設定してもよく、マルチビットセルに格納されるデータに基づいて前記設定された検証電圧レベルのうちいずれか１つを選択してもよい。プログラミング部１２０は、前記マルチビットセルの閾値電圧が前記選択された検証電圧レベル以上になるまで前記マルチビットセルにプログラム条件電圧を印加してもよい。
【００１６】
プログラミング部１２０がマルチビットセルにデータをプログラムする過程は、メモリ装置１００がマルチビットセルに格納されたデータを読み出す過程にかかる時間よりも極めて長い時間がかかることがある。プログラミング部１２０は、全体プログラミング時間を短縮するために、複数のマルチビットセルに同時にデータをプログラムしてもよい。このとき、第２制御部１２０は、同時にプログラムされる複数の各マルチビットセルに対する目標閾値電圧区間を設定してもよい。プログラミング部１２０は、複数の各マルチビットセルの閾値電圧が前記設定された目標閾値電圧区間に含まれるまで複数の各マルチビットセルにプログラム条件電圧を印加してもよい。
【００１７】
同時にプログラムされるマルチビットセルの集合を本明細書ではメモリページと命名する。メモリページ１１１はプログラミング部１２０によって同時にプログラムされるマルチビットセルの集合であってもよい。メモリページ１１１の各マルチビットセルがｍビットデータを格納すれば、メモリページ１１１はｍ個のデータページを格納してもよい。
【００１８】
実施形態によっては、プログラミング部１２０は、第１ページプログラミング動作（ｆｉｒｓｔ  ｐａｇｅ  ｐｒｏｇｒａｍｍｉｎｇ  ｏｐｅｒａｔｉｏｎ）を実行することにより、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）をメモリページ１１１のマルチビットセルにプログラムしてもよい。このとき、メモリページ１１１のマルチビットセルにプログラムされるＭＳＢの集合を第１データページと命名する。
【００１９】
プログラミング部１２０は、第２ページプログラミング動作を実行することにより、第２ビットをメモリページ１１１のマルチビットセルにプログラムしてもよい。このとき、メモリページ１１１のマルチビットセルにプログラムされる第２ビットの集合を第２データページと命名する。
【００２０】
プログラミング部１２０は、第ｍページプログラミング動作を実行することにより、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）をメモリページ１１１のマルチビットセルにプログラムしてもよい。このとき、メモリページ１１１のマルチビットセルにプログラムされるＬＳＢの集合を第ｍデータページと命名する。
【００２１】
第１制御部１３０は、プログラミング部１２０によって第１データページがプログラムされたメモリページ１１１のマルチビットセルを第１グループおよび第２グループに分割してもよい。
【００２２】
第２制御部１４０は、第１読み出し電圧レベルおよび第２データページに基づいて第１グループの各マルチビットセルの目標閾値電圧区間を設定してもよい。
第２制御部１４０は、第１グループの各マルチビットセルの閾値電圧を第１読み出し電圧レベルと比較して第１グループの各マルチビットセルの閾値電圧状態を識別してもよい。第２制御部１４０は、第１グループの各マルチビットセルにプログラムされる第２データページおよび前記識別された閾値電圧状態に基づいて第１グループの各マルチビットセルの目標閾値電圧区間を設定してもよい。
【００２３】
また、第２制御部１４０は、第２読み出し電圧レベルおよび第２データページに基づいて第２グループの各マルチビットセルの目標閾値電圧区間を設定してもよい。
第２制御部１４０は、第２グループの各マルチビットセルの閾値電圧を第２読み出し電圧レベルと比較して第２グループの各マルチビットセルの閾値電圧状態を識別してもよい。第２制御部１４０は、第２グループの各マルチビットセルにプログラムされる第２データページおよび前記識別された閾値電圧状態に基づいて第２グループの各マルチビットセルの目標閾値電圧区間を設定してもよい。
【００２４】
第２制御部１４０は、メモリページ１１１のマルチビットセルに第１データページがプログラムされた後、第１グループの各マルチビットセルの閾値電圧状態を第１読み出し電圧レベルを用いて識別してもよく、第２グループの各マルチビットセルの閾値電圧状態を第２読み出し電圧レベルを用いて識別してもよい。
プログラミング部１２０は、メモリページ１１１の各マルチビットセルの閾値電圧が目標閾値電圧区間に含まれるように、第２データページをメモリページ１１１の各マルチビットセルにプログラムしてもよい。
【００２５】
第１制御部１３０は、付加的な情報（ａｄｄｉｔｉｏｎａｌ  ｉｎｆｏｒｍａｔｉｏｎ）によってメモリページ１１１のマルチビットセルを第１グループおよび第２グループに分割してもよい。付加的な情報の例としては、マルチビットセルの位置、プログラミング順序、Ｐ／Ｅサイクル（Ｐｒｏｇｒａｍ／Ｅｒａｓｅ  Ｃｙｃｌｅ）、リチャージ（ｒｅｃｈａｒｇｅ）有無、リチャージ（ｒｅｃｈａｒｇｅ）回数、時間経過、モニタリングセルの散布幅変化程度などであってもよい。モニタリングセルはマルチビットセルアレイ１１０に含まれ、メモリ装置１００はモニタリングセルの閾値電圧の散布をモニターして閾値電圧の変化傾向を推定してもよい。
【００２６】
メモリ装置１００は、第１グループおよび第２グループに対して互いに異なる読み出し電圧レベルを用いて閾値電圧状態を識別してもよい。メモリ装置１００は、マルチビットセルの特性に基づいて最適化した読み出し電圧レベルを用いて閾値電圧状態を識別することにより、データをプログラミングする過程におけるエラーを最小化または減少させることができる。
【００２７】
図２は、図１のメモリ装置１００の動作の一例を示す図である。
図２は、閾値電圧および閾値電圧に対応するマルチビットセルの個数を示している。
第１データページ２１０がプログラムされた後、マルチビットセルアレイ１１０のマルチビットセルの閾値電圧は散布２１１および散布２１２に対応してもよい。
【００２８】
実施形態によっては、第１データページ２１０はＭＳＢに対応してもよい。ＭＳＢは「１」または「０」であってもよい。ＭＳＢ「１」がプログラムされたマルチビットセルの閾値電圧は散布２１１に対応してもよく、ＭＳＢ「０」がプログラムされたマルチビットセルの閾値電圧は散布２１２に対応してもよい。
プログラミング部１２０は、第１ページプログラミング動作を実行することによって散布２１１および散布２１２を形成してもよい。
【００２９】
メモリ装置１００は、散布２１１および散布２１２の間の一電圧レベルを読み出し電圧レベルとして設定してもよい。メモリ装置１００は、前記設定された読み出し電圧レベルを用いてマルチビットセルアレイ１１０のマルチビットセルの閾値電圧状態を識別してもよい。メモリ装置１００は、前記設定された読み出し電圧レベルを用いてマルチビットセルの閾値電圧が散布２１１に対応するかまたは散布２１２に対応するかを判定（ｄｅｃｉｓｉｏｎ）してもよい。
【００３０】
メモリ装置１００は、マルチビットセルの閾値電圧状態および第２データページ２２０に基づいてマルチビットセルの目標閾値電圧状態を設定してもよい。実施形態によっては、第２データページ２２０は第２ビットに対応してもよい。
例えば、メモリ装置１００は、散布２１１に対応するマルチビットセルのうち、第２ビット「１」がプログラムされるマルチビットセルの目標閾値電圧状態を散布２２１として設定してもよい。プログラミング部１２０は、第２ビット「１」がプログラムされるマルチビットセルに対して閾値電圧状態の変更を減少または最小限に抑制するプログラム条件電圧を印加して散布２２１を形成してもよい。このとき、散布２２１に対応するマルチビットセルにプログラムされたデータは「１１」であってもよい。
【００３１】
メモリ装置１００は、散布２１１に対応するマルチビットセルのうち、第２ビット「０」がプログラムされるマルチビットセルの目標閾値電圧状態を散布２２２として設定してもよい。プログラミング部１２０は、第２ビット「０」がプログラムされるマルチビットセルに対して第２ページプログラミング動作を実行することによって散布２２２を形成してもよい。このとき、散布２２２に対応するマルチビットセルにプログラムされたデータは「１０」であってもよい。
【００３２】
メモリ装置１００は、散布２１２に対応するマルチビットセルのうち、第２ビット「１」がプログラムされるマルチビットセルの目標閾値電圧状態を散布２２３として設定してもよい。プログラミング部１２０は、第２ビット「１」がプログラムされるマルチビットセルに対して第２ページプログラミング動作を実行することによって散布２２３を形成してもよい。このとき、散布２２３に対応するマルチビットセルにプログラムされたデータは「０１」であってもよい。
【００３３】
メモリ装置１００は、散布２１２に対応するマルチビットセルのうち、第２ビット「０」がプログラムされるマルチビットセルの目標閾値電圧状態を散布２２４として設定してもよい。プログラミング部１２０は、第２ビット「０」がプログラムされるマルチビットセルに対して第２ページプログラミング動作を実行することによって散布２２４を形成してもよい。このとき、散布２２４に対応するマルチビットセルにプログラムされたデータは「００」であってもよい。
【００３４】
メモリ装置１００は、第２データページ２２０がプログラムされた後、散布２２１および２２２の間の電圧レベルを読み出し電圧レベルのうちの１つとして設定してもよい。また、メモリ装置１００は、散布２２２および散布２２３の間の電圧レベルを読み出し電圧レベルのうちの１つとして設定してもよい。また、メモリ装置１００は、散布２２３および散布２２４の間の電圧レベルを読み出し電圧レベルのうちの１つとして設定してもよい。
【００３５】
メモリ装置１００は、３つの読み出し電圧レベルを用いて第２データページ２２０がプログラムされた後のマルチビットセルの閾値電圧状態を識別してもよい。メモリ装置１００は、識別された閾値電圧状態およびＬＳＢに基づいてマルチビットセルの目標閾値電圧区間を設定してもよい。第３データページ２３０はＬＳＢに対応してもよい。
【００３６】
メモリ装置１００は、散布２２１に対応するマルチビットセルの閾値電圧状態を第１閾値電圧状態として識別してもよい。メモリ装置１００は、第１閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「１」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４１を設定してもよい。メモリ装置１００は、第１閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「０」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４２を設定してもよい。
【００３７】
メモリ装置１００は、散布２２２に対応するマルチビットセルの閾値電圧状態を第２閾値電圧状態として識別してもよい。メモリ装置１００は、第２閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「１」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４３を設定してもよい。メモリ装置１００は、第２閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「０」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４４を設定してもよい。
【００３８】
メモリ装置１００は、散布２２３に対応するマルチビットセルの閾値電圧状態を第３閾値電圧状態として識別してもよい。メモリ装置１００は、第３閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「１」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４５を設定してもよい。メモリ装置１００は、第３閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「０」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４６を設定してもよい。
【００３９】
メモリ装置１００は、散布２２４に対応するマルチビットセルの閾値電圧状態を第４閾値電圧状態として識別してもよい。メモリ装置１００は、第４閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「１」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４７を設定してもよい。メモリ装置１００は、第４閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「０」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４８を設定してもよい。
【００４０】
電圧レベル２５２は、適切に選択された読み出し電圧レベルの一例を示す。メモリ装置１００は、マルチビットセルの閾値電圧が電圧レベル２５２よりも高いか低いかを判定してもよい。メモリ装置１００は、マルチビットセルの閾値電圧が電圧レベル２５２よりも高ければ、マルチビットセルが第３閾値電圧状態または第４閾値電圧状態に含まれるものと判定してもよい。これとは反対に、メモリ装置１００は、マルチビットセルの閾値電圧が電圧レベル２５２よりも低ければ、マルチビットセルが第１閾値電圧状態または第２閾値電圧状態に含まれるものと判定してもよい。
【００４１】
プログラミング部１２０は、目標閾値電圧区間２４１に対応するマルチビットセルに閾値電圧状態の変更を減少または最小限に抑制するプログラム条件電圧を印加して散布２３１を形成してもよい。散布２３１に対応するマルチビットセルはデータ「１１１」を格納してもよい。
【００４２】
プログラミング部１２０は、目標閾値電圧区間２４２に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３２を形成してもよい。散布２３２に対応するマルチビットセルはデータ「１１０」を格納してもよい。
【００４３】
プログラミング部１２０は、目標閾値電圧区間２４３に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３３を形成してもよい。散布２３３に対応するマルチビットセルはデータ「１０１」を格納してもよい。
プログラミング部１２０は、目標閾値電圧区間２４４に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３４を形成してもよい。散布２３４に対応するマルチビットセルはデータ「１００」を格納してもよい。
【００４４】
プログラミング部１２０は、目標閾値電圧区間２４５に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３５を形成してもよい。散布２３５に対応するマルチビットセルはデータ「０１１」を格納してもよい。
プログラミング部１２０は、目標閾値電圧区間２４６に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３６を形成してもよい。散布２３６に対応するマルチビットセルはデータ「０１０」を格納してもよい。
【００４５】
プログラミング部１２０は、目標閾値電圧区間２４７に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３７を形成してもよい。散布２３７に対応するマルチビットセルはデータ「００１」を格納してもよい。
プログラミング部１２０は、目標閾値電圧区間２４８に対応するマルチビットセルに第３ページプログラミング動作を実行することによって散布２３８を形成してもよい。散布２３８に対応するマルチビットセルはデータ「０００」を格納してもよい。
【００４６】
電圧レベル２５１は、不適切に選択された読み出し電圧レベルの一例を示す。メモリ装置１００は、マルチビットセルの閾値電圧が電圧レベル２５１よりも高いか低いかを判定してもよい。メモリ装置１００は、散布２２２に対応するマルチビットセルのうち、電圧レベル２５１よりも高い閾値電圧を有するマルチビットセルの状態を第３閾値電圧状態として識別してもよい。メモリ装置１００は、第３閾値電圧状態に対応するマルチビットセルのうち、ＬＳＢ「１」がプログラムされるマルチビットセルに対して目標閾値電圧区間２４５を設定することにより、散布２２２に対応するマルチビットセルのうち、電圧レベル２５１よりも高い閾値電圧を有するマルチビットセルは散布２３５を形成してもよい。このとき、散布２３５に対応するマルチビットセルはデータ「０１１」を格納するものと見なしてもよい。この場合、散布２３５に対応するマルチビットセルのうちの一部は散布２２２を形成したマルチビットセルであるため、これらのマルチビットセルに格納されなければならないデータは「１０１」であるが、現在の格納されたデータは「０１１」であってもよい。メモリ装置１００は電圧レベル２５１を不適切な読み出し電圧レベルとして選択することにより、第３ページプログラミング動作時にＭＳＢおよび第２ビットにエラーを発生させてもよい。
【００４７】
以下、メモリ装置１００によってページプログラミング動作の間に実行される閾値電圧状態識別動作を「インターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）」と命名することにする。メモリ装置１００は、インターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）時にマルチビットセルの特性に基づいて最適な読み出し電圧レベルを用いてインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作を実行することにより、プログラミング動作時に発生することのあるエラーを減少または最小化することができる。
【００４８】
メモリ装置１００は、付加的な情報（ａｄｄｉｔｉｏｎａｌ  ｉｎｆｏｒｍａｔｉｏｎ）に基づいて各マルチビットセルに対して最適な読み出し電圧レベルを決定し、各マルチビットセルに対して設定された読み出し電圧レベルを用いてインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作を実行してもよい。付加的な情報の例としては、マルチビットセルの位置、Ｐ／Ｅサイクル、プログラミング順序、リチャージ（ｒｅｃｈａｒｇｅ）有無、リチャージ（ｒｅｃｈａｒｇｅ）回数、時間経過、モニタリングセルの散布幅の変化程度などがあることは上述したとおりである。
【００４９】
図３は、図１のメモリ装置１００の動作の他の例を示す図である。
図３は、閾値電圧および閾値電圧を有するマルチビットセルの個数の関係を示す。
第１データページがプログラムされた後、散布３１０に対応するマルチビットセルはデータ「１１」を格納してもよい。
第１制御部１３０は、第１データページがプログラムされた後、散布３２０、散布３３０、散布３４０に対応するマルチビットセルを第１グループとして選択してもよく、散布３２１、散布３３１、散布３４１に対応するマルチビットセルを第２グループとして選択してもよい。
【００５０】
第２制御部１４０は、第１グループとして選択されたマルチビットセルに対して電圧レベル３５１、電圧レベル３５３を読み出し電圧レベルとして設定してもよく、第２グループとして選択されたマルチビットセルに対して電圧レベル３５２、電圧レベル３５４を読み出し電圧レベルとして設定してもよい。
【００５１】
第２制御部１４０は、第１グループとして選択されたマルチビットセルに対して電圧レベル３５１、電圧レベル３５３を用いてインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作を実行してもよい。第２制御部１４０は、第１グループとして選択されたマルチビットセルのうち、散布３２０に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第１閾値電圧状態として識別してもよい。第２制御部１４０は、第１グループとして選択されたマルチビットセルのうち、散布３３０に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第２閾値電圧状態として識別してもよい。第２制御部１４０は、第１グループとして選択されたマルチビットセルのうち、散布３４０に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第３閾値電圧状態として識別してもよい。
【００５２】
第２制御部１４０は、第２グループとして選択されたマルチビットセルに対して電圧レベル３５２、電圧レベル３５４を用いてインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作を実行してもよい。第２制御部１４０は、第２グループとして選択されたマルチビットセルのうち、散布３２１に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第１閾値電圧状態として識別してもよい。第２制御部１４０は、第２グループとして選択されたマルチビットセルのうち、散布３３１に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第２閾値電圧状態として識別してもよい。第２制御部１４０は、第２グループとして選択されたマルチビットセルのうち、散布３４１に対応するマルチビットセルの閾値電圧状態をインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作結果を用いて第３閾値電圧状態として識別してもよい。
【００５３】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされたマルチビットセルのうち、第１ワードライン（ｗｏｒｄ  ｌｉｎｅ）に連結したマルチビットセルを第１グループとして設定し、第２ワードラインに連結したマルチビットセルを第２グループとして設定してもよい。実施形態によっては、メモリページ１１１は、１つのワードラインに連結したマルチビットセルの集合であってもよい。互いに異なるワードラインに連結したマルチビットセルの特性は互いに異なり得るため、メモリ装置１００はマルチビットセルが連結したワードラインによってインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。
【００５４】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされたマルチビットセルのうち、偶数番目のビットライン（ｅｖｅｎ  ｂｉｔ  ｌｉｎｅ）に連結したマルチビットセルを第１グループとして設定し、奇数番目のビットライン（ｏｄｄ  ｂｉｔ  ｌｉｎｅ）に連結したマルチビットセルを前記第２グループとして設定してもよい。ｅｖｅｎ  ｂｉｔ  ｌｉｎｅに連結したマルチビットセルの特性はｏｄｄ  ｂｉｔ  ｌｉｎｅに連結したマルチビットセルの特性と異なり得るため、メモリ装置１００はマルチビットセルが連結したビットラインによってインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。
【００５５】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされたマルチビットセルのうち、Ｐ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）が基準値未満であるマルチビットセルを第１グループとして設定し、Ｐ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）が前記基準値以上であるマルチビットセルを第２グループとして設定してもよい。Ｐ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）はマルチビットセルがプログラムされて消去されたサイクルの回数を意味する。マルチビットセルのＰ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）が増加するほど、マルチビットセルのチャージリテンション（ｃｈａｒｇｅ  ｒｅｔｅｎｔｉｏｎ）特性が劣化（ｄｅｇｒａｄｅ）することがある。メモリ装置１００は、マルチビットセルのＰ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）によってインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。例えば、メモリ装置１００は、Ｐ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）が１００以下であるマルチビットセルを第１グループとして選択し、Ｐ／Ｅサイクル（Ｐ／Ｅ  ｃｙｃｌｅ）が１００よりも大きいマルチビットセルを第２グループとして選択してもよい。
【００５６】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされたマルチビットセルのうち、第１データページが第１時間区間の間にプログラムされたマルチビットセルを第１グループとして設定し、第１データページが第２時間区間の間にプログラムされたマルチビットセルを第２グループとして設定してもよい。メモリ装置１００は、マルチビットセルがプログラムされる順序によってインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。
【００５７】
第１時間区間の間に第１データページがプログラムされたマルチビットセルは、第２時間区間の間に実行されるプログラミング動作によって所望しない影響を受けることがある。プログラミング動作が以前にプログラムされたマルチビットセルに影響を及ぼすメカニズムの例としては、プログラムディスターバンス（ｐｒｏｇｒａｍ  ｄｉｓｔｕｒｂａｎｃｅ）およびＦＧカップリング（Ｆｌｏａｔｉｎｇ  Ｇａｔｅ  ｃｏｕｐｌｉｎｇ）などであってもよい。
【００５８】
実施形態によっては、プログラミング部１２０は、各マルチビットセルのゲート端子（ｇａｔｅ  ｔｅｒｍｉｎａｌ）にプログラム電圧を印加して第１データページをプログラムしてもよい。このとき、第１制御部１３０は、第１データページがプログラムされたマルチビットセルのうち、プログラミング部１２０との距離が基準値未満であるマルチビットセルを第１グループとして設定し、プログラミング部１２０との距離が前記基準値以上であるマルチビットセルを前記第２グループとして設定してもよい。メモリ装置１００は、プログラミング部１２０との距離によってインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。ワードライン（ｗｏｒｄ  ｌｉｎｅ）またはビットライン（ｂｉｔ  ｌｉｎｅ）の寄生抵抗（ｐａｒａｓｉｔｉｃ  ｒｅｓｉｓｔａｎｃｅ）および寄生キャパシタンス（ｐａｒａｓｉｔｉｃ  ｃａｐａｃｉｔａｎｃｅ）のために、プログラム電圧が印加される経路が長いほど印加される電圧のレベルが異なってもよい。
【００５９】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされた各マルチビットセルのエラー統計を格納し、第１データページがプログラムされたマルチビットセルのうち、前記格納されたエラー統計が基準値未満であるマルチビットセルを第１グループとして設定し、前記格納されたエラー統計が前記基準値以上であるマルチビットセルを第２グループとして設定してもよい。メモリ装置１００は、第１データページがプログラムされた各マルチビットセルのエラー統計に基づいて各マルチビットセルのインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。
【００６０】
実施形態によっては、第１制御部１３０は、第１データページがプログラムされた各マルチビットセルのリチャージ（ｒｅｃｈａｒｇｅ）回数を格納し、第１データページがプログラムされたマルチビットセルのうち、前記格納されたリチャージ（ｒｅｃｈａｒｇｅ）回数が基準値未満であるマルチビットセルを第１グループとして設定し、前記格納されたリチャージ（ｒｅｃｈａｒｇｅ）回数が前記基準値以上であるマルチビットセルを第２グループとして設定してもよい。メモリ装置１００は、第１データページがプログラムされた各マルチビットセルのリチャージ（ｒｅｃｈａｒｇｅ）回数の合計に基づいて各マルチビットセルのインターナルリード（ｉｎｔｅｒｎａｌ  ｒｅａｄ）動作の読み出し電圧レベルを決定してもよい。
【００６１】
図４は、図１のメモリ装置１００の動作のさらに他の例を示す図である。
図４を参照すれば、メモリ装置１００は、１つのワードライン（ｗｏｒｄ  ｌｉｎｅ）に連結した８つのマルチビットセル４１０〜４８０を第１グループおよび第２グループに分割してもよい。
【００６２】
マルチビットセル４１０はワードラインおよびビットラインＢＬ０に連結される。マルチビットセル４２０はワードラインおよびビットラインＢＬ１に連結される。マルチビットセル４３０はワードラインおよびビットラインＢＬ２に連結される。マルチビットセル４４０はワードラインおよびビットラインＢＬ３に連結される。
【００６３】
マルチビットセル４５０はワードラインおよびビットラインＢＬ４に連結される。マルチビットセル４６０はワードラインおよびビットラインＢＬ５に連結される。マルチビットセル４７０はワードラインおよびビットラインＢＬ６に連結される。マルチビットセル４８０はワードラインおよびビットラインＢＬ７に連結される。
【００６４】
メモリ装置１００は、イーブンビットライン（ｅｖｅｎ  ｂｉｔ  ｌｉｎｅ：ＢＬ０、ＢＬ２、ＢＬ４、ＢＬ６）に連結したマルチビットセル４１０、４３０、４５０、４７０を第１グループとして選択してもよく、オッドビットライン（ｏｄｄ  ｂｉｔ  ｌｉｎｅ：ＢＬ１、ＢＬ３、ＢＬ５、ＢＬ７）に連結したマルチビットセル４２０、４４０、４６０、４８０を第２グループとして選択してもよい。
【００６５】
図５は、図１のメモリ装置１００の動作のさらに他の例を示す図である。
図５を参照すれば、メモリ装置１００は、４つのワードラインＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３および８つのビットラインＢＬ０、ＢＬ１、ＢＬ２、ＢＬ３、ＢＬ４、ＢＬ５、ＢＬ６、ＢＬ７に連結した３２のマルチビットセルを第１グループおよび第２グループに分割してもよい。
メモリ装置１００は、ビットラインとは関係なく、ワードラインＷＬ０、ＷＬ１に連結したマルチビットセルを第１グループとして選択してもよく、ワードラインＷＬ２、ＷＬ３に連結したマルチビットセルを第２グループとして選択してもよい。
【００６６】
図６は、本発明の他の実施形態に係るメモリプログラミング方法を示すフローチャートである。
図６を参照すれば、メモリプログラミング方法は、マルチビットセルに第１データページをプログラムする（Ｓ６１０）。
メモリプログラミング方法は、マルチビットセルを第１グループおよび第２グループに分割する（Ｓ６２０）。
メモリプログラミング方法は、第１読み出し電圧レベルおよび第２データページに基づいて第１グループの各マルチビットセルの目標閾値電圧区間を設定する（Ｓ６３０）。
メモリプログラミング方法は、第２読み出し電圧レベルおよび第２データページに基づいて第２グループの各マルチビットセルの目標閾値電圧区間を設定する（Ｓ６４０）。
メモリプログラミング方法は、マルチビットセルに第２データページをプログラムする（Ｓ６５０）。
【００６７】
図７は、図６のステップ（Ｓ６３０）の一例を詳細に示すフローチャートである。
図７を参照すれば、メモリプログラミング方法は、第１グループの各マルチビットセルの閾値電圧を第１読み出し電圧レベルと比較する（Ｓ７１０）。
メモリプログラミング方法は、第１グループの各マルチビットセルの閾値電圧状態情報を生成する（Ｓ７２０）。
メモリプログラミング方法は、閾値電圧状態情報および第２データページに基づいて第１グループの各マルチビットセルの目標閾値電圧区間を設定する（Ｓ７３０）。
【００６８】
実施形態は、メモリセルの閾値電圧を変化させてデータを格納するメモリ装置に適用されてもよい。このような種類のメモリ装置の例として、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んでもよい。
【００６９】
なお、本発明に係るメモリプログラミング方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含んでもよく、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。前記したハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成してもよく、その逆もできる。
【００７０】
実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、多様な形態のパッケージを用いて実現されてもよい。例えば、本発明の実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのようなパッケージを用いて実現されてもよい。
【００７１】
フラッシュメモリ装置とメモリコントローラはメモリカードを構成してもよい。このような場合、メモリコントローラは、ＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、またはＩＤＥなどのような多様なインタフェースプロトコルのうちの１つを介して外部（例えば、ホスト）と通信するように構成されてもよい。
【００７２】
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持することができる非揮発性メモリ装置である。セルラーフォン、ＰＤＡデジタルカメラ、ポータブルゲームコンソール、またはＭＰ３Ｐのようなモバイル装置の使用増加に伴い、フラッシュメモリ装置はデータストレージだけでなくコードストレージとしてより広く用いられてもよい。フラッシュメモリ装置もＨＤＴＶ、ＤＶＤ、ルータ、またはＧＰＳのようなホームアプリケーションに用いられてもよい。
【００７３】
実施形態に係るコンピュータシステムは、バスに電気的に接続されたマイクロプロセッサ、ユーザインタフェース、ベースバンドチップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム、メモリコントローラ、またはフラッシュメモリ装置を含む。フラッシュメモリ装置にはマイクロプロセッサによって処理された／処理されるＮ−ビットデータ（Ｎは１またはそれよりも大きい整数）がメモリコントローラを介して格納されるであろう。実施形態に係るコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリが追加で提供されるであろう。
【００７４】
実施形態に係るコンピュータシステムには応用チップセット（ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ）、カメライメージプロセッサ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＣＩＳ）、モバイルＤＲＡＭなどがさらに提供されてもよいことは、当分野において通常の知識を習得した者にとっては自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを格納するのに非揮発性メモリを用いるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）を構成してもよい。
【００７５】
上述したように、本発明は限定された実施形態と図面によって説明されたが、本発明は上述した実施形態に限定されるものではなく、本発明が属する分野において通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。
したがって、本発明の範囲は説明された実施形態に限定されて定められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって定められなければならない。
【符号の説明】
【００７６】
１００  メモリ装置
１１０  マルチビットセルアレイ
１１１  メモリページ
１２０  プログラミング部
１３０  第１制御部
１４０  第２制御部
【図１】
0005773367.tif 000002
【図２】
0005773367.tif 000003
【図３】
0005773367.tif 000004
【図４】
0005773367.tif 000005
【図５】
0005773367.tif 000006
【図６】
0005773367.tif 000007
【図７】
0005773367.tif 000008