(57)【要約】  本発明は、マルチビットプログラミングのための装置および方法を提供する。前記マルチビットプログラミング装置は、各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成する第１制御部と、前記閾値電圧状態のうちいずれか１つをＮビットのデータに割り当てる第２制御部と、前記Ｎビットのデータをプログラミングするように前記１つ以上の各マルチビットセルに、前記割り当てられた閾値電圧状態をプログラミングするプログラミング部とを含むことを特徴とし、これによってページ別に均等に信頼可能な（ｅｖｅｎｌｙ−ｒｅｌｉａｂｌｅ）データの格納が可能である。
2011501334.tif 000002
【特許請求の範囲】
【請求項１】
Ｎページプログラミング動作を行って１つ以上の各マルチビットセルにＮビットのデータをプログラミングするマルチビットプログラミング装置であって、
前記各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成する第１制御部と、
前記２Ｎ個の閾値電圧状態のうちいずれか１つを前記Ｎビットのデータに割り当てる第２制御部と、
前記１つ以上の各マルチビットセルに、前記２Ｎ個の閾値電圧状態のうち前記割り当てられた閾値電圧状態をプログラミングして前記Ｎビットのデータをプログラミングするプログラミング部と、
を含むことを特徴とするマルチビットプログラミング装置。
【請求項２】
前記１つ以上のマルチビットセルの閾値電圧および検証電圧を比較して比較結果を出力する比較部をさらに含み、
前記プログラミング部は、前記比較結果に応じてプログラミングの時間区間の長さを調整することを特徴とする請求項１に記載のマルチビットプログラミング装置。
【請求項３】
前記第１制御部は、前記検証電圧を調整して前記２Ｎ個の閾値電圧状態を生成することを特徴とする請求項２に記載のマルチビットプログラミング装置。
【請求項４】
前記第１制御部は、
前記２Ｎ個の閾値電圧状態に基づいて、前記Ｎ各ページプログラミング動作のビットエラー率を推定する推定部と、
前記推定されたビットエラー率および前記目標ビットエラー率の比較結果に応じて、前記２Ｎ個の閾値電圧状態のうち少なくとも１つを調整する調整部と、
を含むことを特徴とする請求項１に記載のマルチビットプログラミング装置。
【請求項５】
前記調整部は、前記推定されたビットエラー率が前記目標ビットエラー率より小さい場合、前記２Ｎ個の閾値電圧状態のうち少なくとも１つを前記２Ｎ個の閾値電圧状態のうち少なくとも１つの他の閾値電圧状態に近接するように調整することを特徴とする請求項４に記載のマルチビットプログラミング装置。
【請求項６】
前記調整部は、前記推定されたビットエラー率が前記目標ビットエラー率より大きい場合、前記２Ｎ個の閾値電圧状態のうち少なくとも１つを前記２Ｎ個の閾値電圧状態のうち少なくとも１つの他の閾値電圧状態から離隔させることを特徴とする請求項４に記載のマルチビットプログラミング装置。
【請求項７】
前記第１制御部は、前記マルチビットセルのエラー率を一定に維持しながら、前記２Ｎ個の閾値電圧状態のうち前記閾値電圧状態を生成することを特徴とする請求項１に記載のマルチビットプログラミング装置。
【請求項８】
前記第１制御部は、前記各ページプログラミング動作と関連する遷移確率に基づいて、前記２Ｎ個の閾値電圧状態のうち閾値電圧状態を生成することを特徴とする請求項１に記載のマルチビットプログラミング装置。
【請求項９】
前記第１制御部は、前記第２制御部によって前記２Ｎ個の閾値電圧状態の割り当ての際に用いられるコードマッピング技法に基づいて、前記閾値電圧状態を生成することを特徴とする請求項１に記載のマルチビットプログラミング装置。
【請求項１０】
Ｎページプログラミング動作を行って１つ以上の各マルチビットセルにＮビットのデータをプログラミングするマルチビットプログラミング方法であって、
前記各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成するステップと、
前記２Ｎ個の閾値電圧状態のうちいずれか１つを前記Ｎビットのデータに割り当てるステップと、
前記１つ以上の各マルチビットセルに前記割り当てられた閾値電圧状態をプログラミングして前記Ｎビットのデータをプログラミングするステップと、
を含むことを特徴とするマルチビットプログラミング方法。
【請求項１１】
前記１つ以上のマルチビットセルの閾値電圧および検証電圧を比較して比較結果を出力するステップをさらに含み、
前記プログラミングするステップは、前記比較結果に応じてプログラミングの時間区間の長さを調整することを特徴とする請求項１０に記載のマルチビットプログラミング方法。
【請求項１２】
前記２Ｎ個の閾値電圧状態を生成するステップは、前記検証電圧を調整して前記閾値電圧状態を生成することを特徴とする請求項１１に記載のマルチビットプログラミング方法。
【請求項１３】
前記２Ｎ個の閾値電圧状態を生成するステップは、
前記閾値電圧状態に基づいて前記Ｎ各ページプログラミング動作のビットエラー率を推定するステップと、
前記推定されたビットエラー率および前記目標ビットエラー率の比較結果に応じて、前記２Ｎ個の閾値電圧状態のうち少なくとも１つを調整するステップと、
を含むことを特徴とする請求項１０に記載のマルチビットプログラミング方法。
【請求項１４】
前記２Ｎ個の閾値電圧状態のうち少なくとも１つを調整するステップは、
前記推定されたビットエラー率が前記目標ビットエラー率より低い場合、前記２Ｎ個の閾値電圧状態のうち少なくとも１つを前記２Ｎ個の閾値電圧状態のうち少なくとも１つの他の閾値電圧状態に近接するように調整することを特徴とする請求項１３に記載のマルチビットプログラミング方法。
【請求項１５】
前記調節するステップは、前記推定されたビットエラー率が前記目標ビットエラー率より高い場合、前記２Ｎ個の閾値電圧状態のうち少なくとも１つの前記２Ｎ個の閾値電圧状態を、少なくとも１つの他の閾値電圧状態から離隔させることを特徴とする請求項１３に記載のマルチビットプログラミング方法。
【請求項１６】
前記２Ｎ個の閾値電圧状態を生成するステップは、前記マルチビットセルのエラー率を一定に維持しながら、前記２Ｎ個の閾値電圧状態のうち閾値電圧状態を生成することを特徴とする請求項１０に記載のマルチビットプログラミング方法。
【請求項１７】
前記２Ｎ個の閾値電圧状態を生成するステップは、前記Ｎ各ページプログラミング動作と関連する遷移確率にさらに基づいて、前記２Ｎ個の閾値電圧状態のうち前記閾値電圧状態を生成することを特徴とする請求項１０に記載のマルチビットプログラミング方法。
【請求項１８】
前記割り当てるステップは、コードマッピング技法を用いて前記２Ｎ個の閾値電圧状態のうちいずれか１つを前記Ｎビットのデータに割り当てるとともに、
前記２Ｎ個の閾値電圧状態を生成するステップは、前記コードマッピング技法に基づいて、前記２Ｎ個の閾値電圧状態のうち前記閾値電圧状態を生成することを特徴とする請求項１０に記載のマルチビットプログラミング方法。
【請求項１９】
請求項１０に記載の方法を実行するためのプログラムが記録されていることを特徴とするコンピュータ可読記録媒体。
【請求項２０】
Ｎ回のページプログラミング動作を行って１つ以上の各マルチビットセルにＮビットのデータをプログラミングするマルチビットプログラミング装置であって、
少なくとも１つ以上の電圧状態が残りの電圧状態と相違する２Ｎ個の閾値電圧状態を生成する第１制御部と、
前記２Ｎ個の閾値電圧状態のうちいずれか１つを前記Ｎビットのデータに割り当てる第２制御部と、
前記１つ以上の各マルチビットセルに前記割り当てられた閾値電圧状態をプログラミングし、前記Ｎビットのデータをプログラミングして検証電圧を生成するプログラミング部と、
を含み、
前記第１制御部は、前記プログラミング部を制御して前記検証電圧を調整することによって前記２Ｎ個の閾値電圧状態を生成するマルチビットプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置にデータをプログラミングする装置およびその方法に関し、より詳しくは、マルチレベルメモリ装置にデータをマルチレベル（マルチビット）プログラミングする装置および方法に関する。
【背景技術】
【０００２】
シングルレベルセル（ＳＬＣ：ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ）メモリは、１つのメモリセルに１ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル（ＳＢＣ：ｓｉｎｇｌｅ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。シングルレベルセルメモリにおいて１ビットのデータは、メモリセルにプログラムされた閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）によって区分される２つの分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）に含まれる電圧として格納され読み取られる。例えば、メモリセルから読み取られた電圧が０．５〜１．５ボルトの場合、前記メモリセルに格納されたデータは論理「１」であり、メモリセルから読み取られた電圧が２．５〜３．５ボルトの場合、前記メモリセルに格納されたデータは論理「０」と解釈される。メモリセルに格納されたデータは、読み取り動作時のセルの電流／電圧の差によって区分される。
【０００３】
一方、メモリの高集積化要求に対応して、１つのメモリセルに２ビット以上のデータを格納できるマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリが提案された。マルチレベルセルメモリは、マルチビットセル（ＭＢＣ：ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。しかし、１つのメモリセルに格納するビット数が増加するほど信頼性は落ち、読み取り失敗率（ｒｅａｄ  ｆａｉｌｕｒｅ  ｒａｔｅ）は増加するようになる。１つのメモリセルにｍ個のビットを格納する場合、２ｍ個の分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を形成しなければならない。しかし、メモリの電圧ウィンドウ（ｖｏｌｔａｇｅ  ｗｉｎｄｏｗ）は制限されているため、ｍが増加するにつれて隣接したビットの間の閾値電圧（ｔｈｒｅｓｈｏｌｄ）の差は減るようになり、これによって読み取り失敗率が増加する。このような理由により、従来技術において、マルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリを用いた格納密度の向上は、容易ではなかった。
【０００４】
マルチレベルセルメモリの利用が最近の傾向として広がるなかで、データを格納して読み出す過程で発生するエラーを検出して、検出されたエラーを訂正するエラー訂正コードまたはエラー制御コード（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ、ＥＣＣ）の利用が活発になっている。
【０００５】
本明細書では、ＥＣＣをハードウェアで実現する際の複雑さを減らすための新しいマルチレベル（マルチビット）プログラミング装置および方法を記載する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、マルチレベルセルメモリに新しいマルチレベル（マルチビット）プログラミング技法を適用することによって、マルチレベルセルメモリにおいて、エラー制御コード（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ、ＥＣＣ）をハードウェアで実現する時の複雑度を減らすことを目的とする。
【０００７】
また、本発明は、ページ当たりのビットエラー率（ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ、ＢＥＲ）の最大値を減らすことを目的とする。
【０００８】
また、本発明は、ページ当たりのビットエラー率を各ページに対して平準化することを目的とする。
【０００９】
また、本発明は、マルチレベルセルメモリに新しいマルチレベル（マルチビット）プログラミング技法を適用することによって、マルチレベルセルメモリにおいて、電圧ウィンドウ（ｖｏｌｔａｇｅ  ｗｉｎｄｏｗ）内で閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）の分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を最適化することを目的とする。
【００１０】
また、本発明は、プログラミングされるデータをインターリーブ／デインターリーブするなどの別途の方法によって処理しなくとも、すべてのページを均等に信頼できるように（ｅｖｅｎｌｙ−ｒｅｌｉａｂｌｅ）作ることを目的とする。
【課題を解決するための手段】
【００１１】
上記のような本発明の目的を達成するために、本発明のマルチビットプログラミング装置は、Ｎ回の各ページプログラミング動作の目標ビットエラー率（ｔａｒｇｅｔ  ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ、ｔａｒｇｅｔ  ＢＥＲ）に基づいて、２Ｎ個の閾値電圧状態（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ  ｓｔａｔｅｓ）を生成する第１制御部、前記閾値電圧状態のうちいずれか１つをＮビットのデータに割り当てる第２制御部、および前記１つ以上の各マルチビットセルに前記割り当てられた閾値電圧状態を形成して前記Ｎビットのデータをプログラミングするプログラミング部を含むことを特徴とする。
【００１２】
また、本発明のまた他の側面に係るマルチビットプログラミング方法は、Ｎ回の各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成するステップと、前記閾値電圧状態のうちいずれか１つをＮビットのデータに割り当てるステップと、前記１つ以上の各マルチビットセルに前記割り当てられた閾値電圧状態を形成して前記Ｎビットのデータをプログラミングするステップとを含むことを特徴とする。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るマルチビットプログラミング装置１００を示す図である。
【図２】プログラミング部１３０によって形成された閾値電圧状態から各マルチビットセルのデータを判定（ｄｅｔｅｒｍｉｎｅ）する過程の一例を示す。
【図３】プログラミング部１３０によって形成された閾値電圧状態から各マルチビットセルのデータを判定（ｄｅｔｅｒｍｉｎｅ）する過程の他の例を示す。
【図４】マルチビットプログラミング装置１００がプログラミングするＮビットのデータおよびＮ回のページプログラミング動作の関連性を示す図である。
【図５】第１制御部１１０が生成する閾値電圧状態の一例を示す図である。
【図６】本発明の他の実施形態に係るマルチビットプログラミング装置６００を示す図である。
【図７】第１制御部６１０が検証電圧を調整して閾値電圧状態を生成する過程を示す図である。
【図８】本発明のマルチビットプログラミング装置１００の第１制御部１１０の一例を示す図である。
【図９】マルチビットプログラミング装置１００がプログラミングするＮビットのデータおよびＮ回のページプログラミング動作の関連性を示す他の例の図である。
【図１０】Ｎ＝４である場合に第１制御部１１０によって生成された閾値電圧状態の一例を示す図である。
【図１１】本発明の他の実施形態に係るマルチビットプログラミング方法を示す動作フローチャートである。
【図１２】ステップＳ１１１０の一実施形態を示す動作フローチャートである。
【図１３】Ｎ＝２である場合に第１制御部１１０が生成する４個の閾値電圧状態の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る好適な実施形態を添付の図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示する同一の参照符号は、同一の部材を示す。
【００１５】
図１は、本発明の一実施形態に係るマルチビットプログラミング装置１００を示す図である。
【００１６】
図１を参照すれば、マルチビットプログラミング装置１００は、第１制御部１１０と、第２制御部１２０と、プログラミング部１３０とを含む。
【００１７】
マルチビットセルアレイ１４０は、複数のマルチビットセルを含む。１つのページプログラミング動作で同時にプログラミングされるマルチビットセルをページという。実施形態によれば、ページ１４１は、１つのワード線（ｗｏｒｄ  ｌｉｎｅ）に接続された複数のマルチビットセルであってもよい。１つのワード線は、ページ１４１内のマルチビットセルのゲート（ｇａｔｅ）に接続する。
【００１８】
実施形態によれば、ページ１４１に対するページプログラミングは、Ｆ−Ｎトンネリング（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ  ｔｕｎｎｅｌｉｎｇ、Ｆ−Ｎ  ｔｕｎｎｅｌｉｎｇ）を用いて行われる。Ｆ−Ｎトンネリングを用いるためには、高電圧がページ１４１に接続されたワード線に印加される。
【００１９】
マルチビットプログラミング装置１００は、ページ１４１内の各マルチビットセルにＮビットのデータをプログラミングする。マルチビットプログラミング装置１００は、Ｎ回のページプログラミング動作を行うことによって、Ｎビットのデータを前記各マルチビットセルにプログラミングする。１つのページプログラミング動作は、１ビットのデータに対応する。
【００２０】
第１制御部１１０は、各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成する。第１制御部１１０が生成する閾値電圧状態は、論理的かつ理想的な（ｌｏｇｉｃａｌ  ａｎｄ  ｉｄｅａｌ）閾値電圧状態などであり、プログラミング部１３０によって物理的に（ｐｈｙｓｉｃａｌｌｙ）各マルチビットセルに形成される。
【００２１】
第２制御部１２０は、第１制御部が生成した論理的な閾値電圧状態のうちの１つをＮビットのデータに割り当てる。Ｎビットのデータは、互いに異なる２Ｎ個の値を生成することができる。Ｎビットのデータに割り当てられる閾値電圧状態は、Ｎビットのデータが生成できる、互いに異なる２Ｎ個の値に対応する。
【００２２】
プログラミング部１３０は、ページ１４１内の各マルチビットセルに割り当てられた閾値電圧状態を形成する。プログラミング部１３０が形成する閾値電圧状態は、ページ１４１内の各マルチビットセルにプログラミングされるＮビットのデータに割り当てられる閾値電圧状態である。
【００２３】
実施形態によれば、プログラミング部１３０は、Ｎ回のページプログラミング動作を行って、ページ１４１内の各マルチビットセルに割り当てられた閾値電圧状態を形成することができる。各ページプログラミング動作は、複数の単位プログラミング動作を包含でき、各単位プログラミング動作は、Ｆ−Ｎトンネリングを用いることができる。
【００２４】
図２は、プログラミング部１３０によって形成された閾値電圧状態から各マルチビットセルのデータを判定（ｄｅｔｅｒｍｉｎｅ）する過程の一例を示す。
【００２５】
図２を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【００２６】
図２に示す閾値電圧状態は、ページ１４１内のマルチビットセルに物理的に形成された閾値電圧状態を示す。
【００２７】
ページ１４１が、十分に多くの数のマルチビットセルを含むと仮定する。一般的にページ１４１は、２５６、５１２または１０２４個のマルチビットセルを含む場合が多い。
【００２８】
閾値電圧状態２１０は、データ「１」に対応し、閾値電圧状態２２０は、データ「０」に対応する。閾値電圧状態２１０は、データ「１」がプログラミングされたマルチビットセルの閾値電圧の分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を示す。閾値電圧状態２２０は、データ「０」がプログラミングされたマルチビットセルの閾値電圧の分布を示す。
【００２９】
ページ１４１内のマルチビットセルの数が十分に大きい場合、閾値電圧状態２１０は、データ「１」がプログラミングされたマルチビットセルが有することのできる閾値電圧値の確率（ｐｒｏｂａｂｉｌｉｔｙ）であるとみなすことができると統計的に証明されている。
【００３０】
同じように閾値電圧状態２２０は、データ「０」がプログラミングされたマルチビットセルが有することのできる閾値電圧値の確率であるとみなすことができる。
【００３１】
第１マルチビットセルの閾値電圧が値２３０の場合、第１マルチビットセルにプログラミングされたデータが「１」である確率は、分布２４０に比例する。第１マルチビットセルにプログラミングされたデータが「０」である確率は、分布２５０に比例する。
【００３２】
したがって、第１マルチビットセルの閾値電圧が値２３０の場合、第１マルチビットセルにプログラミングされたデータが「０」である確率が、「１」である確率より高い。
【００３３】
一般に、マルチビットセルにプログラミングされたデータを判定する場合、与えられた閾値電圧に対して最も高い確率を有する閾値電圧状態に基づいてデータを判定することで、エラー発生確率を最も低くできることが知られている。
【００３４】
図３は、プログラミング部１３０によって形成された閾値電圧状態から各マルチビットセルのデータを判定（ｄｅｔｅｒｍｉｎｅ）する過程の他の例を示す。
【００３５】
図３を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【００３６】
図３に示す閾値電圧状態は、ページ１４１内のマルチビットセルに物理的に形成された閾値電圧状態を示す。
【００３７】
図３に示す閾値電圧状態は、ページ１４１内のマルチビットセルにプログラミングされたデータの閾値電圧分布確率に対応することは、先に説明した通りである。
【００３８】
閾値電圧状態３１０は、データ「１１」の閾値電圧分布確率に対応する。
【００３９】
閾値電圧状態３２０は、データ「１０」の閾値電圧分布確率に対応する。
【００４０】
閾値電圧状態３３０は、データ「００」の閾値電圧分布確率に対応する。
【００４１】
閾値電圧状態３４０は、データ「０１」の閾値電圧分布確率に対応する。
【００４２】
第２マルチビットセルの閾値電圧が基準電圧３５０より低い場合、第２マルチビットセルが閾値電圧状態３１０に含まれる確率が最も高いため、第２マルチビットセルにプログラミングされたデータは「１１」と判定される。
【００４３】
第２マルチビットセルの閾値電圧が基準電圧３５０より高く、かつ基準電圧３６０より低い場合、第２マルチビットセルが閾値電圧状態３２０に含まれる確率が最も高いため、第２マルチビットセルにプログラミングされたデータは「１０」と判定される。
【００４４】
第２マルチビットセルの閾値電圧が基準電圧３６０より高く、かつ基準電圧３７０より低い場合、第２マルチビットセルが閾値電圧状態３３０に含まれる確率が最も高いため、第２マルチビットセルにプログラミングされたデータは「００」と判定される。
【００４５】
第２マルチビットセルの閾値電圧が基準電圧３７０より高い場合、第２マルチビットセルが閾値電圧状態３４０に含まれる確率が最も高いため、第２マルチビットセルにプログラミングされたデータは「０１」と判定される。
【００４６】
第２マルチビットセルにプログラミングされたデータが「１１」であるにもかかわらず「１０」と判定される、またはプログラミングされたデータが「１０」であるにもかかわらず「１１」と判定される確率は、閾値電圧状態３１０および閾値電圧状態３２０が重なる部分の面積に比例する。プログラミングされたデータおよび判定されたデータが不一致である事象（ｅｖｅｎｔ）を遷移（ｔｒａｎｓｉｔｉｏｎ）として、遷移が発生する確率を遷移確率（ｔｒａｎｓｉｔｉｏｎ  ｐｒｏｂａｂｉｌｉｔｙ）という。
【００４７】
ここまで説明したマルチビットセルの閾値電圧の確率または遷移確率は、閾値電圧の分布の形態に関係なく適用される。
【００４８】
図３に示すように、閾値電圧状態３２０は、閾値電圧状態３１０または閾値電圧状態３３０とは別の形態を有するが、閾値電圧状態３２０が、データ「１０」がプログラミングされたマルチビットセルの閾値電圧分布確率に対応するとともに、閾値電圧状態３１０が、データ「１１」がプログラミングされたマルチビットセルの閾値電圧分布確率に対応する点では違いがない。
【００４９】
また、遷移確率は、閾値電圧の状態に関係なく閾値電圧状態の各々が重なる面積に比例する。
【００５０】
図４は、マルチビットプログラミング装置１００がプログラミングするＮビットのデータおよびＮ回のページプログラミング動作の関連性を示す図である。
【００５１】
図４には、Ｎ＝２である場合が示されている。
【００５２】
データ４１０は、ページ１４１にプログラミングされる２ビットのデータである。
【００５３】
第１ページデータ４２０は、第１ページプログラミング動作に対応する１ビットのデータであり、第２ページデータ４３０は、第２ページプログラミング動作に対応する１ビットのデータである。
【００５４】
第１ページデータ４２０および第２ページデータ４３０の組合せによってデータ４１０が、ページ１４１内の各マルチビットセルにプログラミングされる。
【００５５】
図３および図４を参照すれば、データ４１０内の「１１」は閾値電圧状態３１０に対応し、「１０」は閾値電圧状態３２０に対応する。同じように「００」は閾値電圧状態３３０に対応し、「０１」は閾値電圧状態３４０に対応する。
【００５６】
基準電圧３５０は遷移４５０に対応し、基準電圧３６０は遷移４４０に対応するとともに、基準電圧３７０は遷移４６０に対応する。
【００５７】
第２制御部１２０が閾値電圧状態のうちの１つをＮビットのデータに割り当てるコードマッピング技法に基づいて、第１ページデータ４２０および第２ページデータ４３０のそれぞれの可能遷移数（ｐｏｓｓｉｂｌｅ  ｔｒａｎｓｉｔｉｏｎ  ｎｕｍｂｅｒ）が決定される。
【００５８】
一般に、各ページプログラミング動作、または各ページデータのビットエラー率（ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ、ＢＥＲ）は、可能遷移数に比例することが知られている。
【００５９】
本発明のマルチビットプログラミング装置１００の第１制御部１１０は、論理的な閾値電圧状態を生成するものであり、各ページプログラミング動作の目標ビットエラー率に基づいて各閾値電圧状態の距離を調整（ａｄｊｕｓｔ）する。
【００６０】
図５は、第１制御部１１０が生成する閾値電圧状態の一例を示す図である。
【００６１】
図５を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【００６２】
図５に示す閾値電圧状態は、ページ１４１内のマルチビットセルにプログラミングされたデータの閾値電圧分布確率に対応することは、先に説明した通りである。
【００６３】
閾値電圧状態５１０は、データ「１」の閾値電圧分布確率に対応する。
【００６４】
閾値電圧状態５２０または閾値電圧状態５３０のいずれかは、データ「０」の閾値電圧分布確率に対応する。
【００６５】
閾値電圧状態５２０がデータ「０」の閾値電圧分布確率に対応する場合、データ「１」およびデータ「０」の間に遷移が発生する確率は遷移確率５４０に比例する。
【００６６】
閾値電圧状態５３０がデータ「０」の閾値電圧分布確率に対応する場合、データ「１」およびデータ「０」の間に遷移が発生する確率は遷移確率５５０に比例する。
【００６７】
第１制御部１１０は、データ「１」に対応する閾値電圧状態５１０が固定された場合、閾値電圧状態５２０または閾値電圧状態５３０のいずれかを選択し、選択した閾値電圧状態をデータ「０」の閾値電圧分布確率に対応する閾値電圧状態に割り当てることができる。
【００６８】
第１制御部１１０は、各閾値電圧状態の距離を設定する場合、マルチビットセルメモリ装置の電圧ウィンドウ（ｖｏｌｔａｇｅ  ｗｉｎｄｏｗ）による制限を受ける。
【００６９】
したがって、第１制御部１１０は、ビットエラー率を低くしなければならない場合に、関連する閾値電圧状態の間の距離を大きくし、相対的に高いビットエラー率が許容される場合には、関連する閾値電圧状態の間の距離を小さくする。
【００７０】
マルチビットセルメモリ装置の電圧ウィンドウが制限された状態で１つのマルチビットセルに格納されるデータのビット数を増やすためには、閾値電圧状態の間の距離は狭まらなければならない。
【００７１】
このような状況で、マルチビットセルに格納されるデータのビット数を増やす一方で、セルに格納されたデータの判定のエラーを減らすために、エラー訂正コード（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ、ＥＣＣ）等の技法が用いられる。
【００７２】
ＥＣＣエンコーダおよびデコーダは、各ページデータに対してＥＣＣエンコーディングおよび復号化を行う。各ページデータのビットエラー率が高いほど、エラーのないデータを復元するためには、ＥＣＣエンコーダおよびデコーダの複雑度が高まる。
【００７３】
一般に、各ページデータのビットエラー率は、各ページデータの遷移可能数（ｐｏｓｓｉｂｌｅ  ｔｒａｎｓｉｔｉｏｎ  ｎｕｍｂｅｒ）に比例する。
【００７４】
したがって、本発明の第１制御部１１０は、各ページデータの遷移可能数に基づいて閾値電圧状態の間の距離を調整（ａｄｊｕｓｔ）する。
【００７５】
ＥＣＣエンコーダおよびＥＣＣデコーダの複雑度は、ページプログラミング動作のビットエラー率が高くなるにつれて増加するため、最大ビットエラー率を有するページプログラミング動作のビットエラー率を低くすれば、ＥＣＣエンコーダおよびＥＣＣデコーダの複雑度を低くできる。
【００７６】
理想的には、各ページプログラミング動作のビットエラー率をすべて同一に調整することが最も好ましい。この場合、各ページデータは均等に信頼可能である（ｅｖｅｎｌｙ−ｒｅｌｉａｂｌｅ）とする。
【００７７】
図１３は、Ｎ＝２である場合に第１制御部１１０が生成する４個の閾値電圧状態の一例を示す。
【００７８】
図１３を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【００７９】
図１３に示す閾値電圧状態は、ページ１４１内のマルチビットセルにプログラミングされたデータの閾値電圧分布確率に対応することは、先に説明した通りである。
【００８０】
閾値電圧状態１３１０は、データ「１１」の閾値電圧分布確率に対応する。
【００８１】
閾値電圧状態１３２０は、データ「１０」の閾値電圧分布確率に対応する。
【００８２】
閾値電圧状態１３３０は、データ「００」の閾値電圧分布確率に対応する。
【００８３】
閾値電圧状態１３４０は、データ「０１」の閾値電圧分布確率に対応する。
【００８４】
遷移確率１３５０は、データ「１１」およびデータ「１０」の間に遷移が発生する確率を示す。
【００８５】
遷移確率１３６０は、データ「１０」およびデータ「００」の間に遷移が発生する確率を示す。
【００８６】
遷移確率１３７０は、データ「００」およびデータ「０１」の間に遷移が発生する確率を示す。
【００８７】
図１３および図４を参照すれば、遷移確率１３６０は、遷移４４０に対応する。
【００８８】
遷移確率１３５０は遷移４５０に対応し、遷移確率１３７０は遷移４６０に対応する。
【００８９】
第１ページデータ４２０のビットエラー率は、第１ページデータ４２０内の遷移可能数（ｐｏｓｓｉｂｌｅ  ｔｒａｎｓｉｔｉｏｎ  ｎｕｍｂｅｒ）に比例する。第２ページデータ４３０のビットエラー率は、第２ページデータ４３０内の遷移可能数に比例する。
【００９０】
第１ページデータ４２０内では遷移４４０が可能であるため、遷移可能数は１であり、第２ページデータ４３０内では遷移４５０および遷移４６０が可能であるため、遷移可能数は２である。
【００９１】
第１ページデータ４２０の遷移可能数は、第２ページデータ４３０の遷移可能数より小さいため、第１ページプログラミング動作のビットエラー率は、第２ページプログラミング動作のビットエラー率より低いことが予想される。
【００９２】
したがって、第１制御部１１０は、第１ページプログラミング動作のビットエラー率を高くするとともに、第２ページプログラミング動作のビットエラー率を低くすることによって、第１ページプログラミング動作および第２ページプログラミング動作のビットエラー率を同一に調整する。
【００９３】
第１制御部１１０は、遷移確率１３６０を高くするとともに、遷移確率１３５０および遷移確率１３７０を低くする。第１制御部１１０は、閾値電圧状態１３２０および閾値電圧状態１３３０間の距離を狭めるとともに、閾値電圧状態１３１０および閾値電圧状態１３２０の距離、ならびに閾値電圧状態１３３０および閾値電圧状態１３４０の距離を拡げることによって遷移確率を調整する。
【００９４】
図６は、本発明の他の実施形態に係るマルチビットプログラミング装置６００を示す図である。
【００９５】
図６を参照すれば、マルチビットプログラミング装置６００は、第１制御部６１０、第２制御部６２０、プログラミング部６３０、および比較部６４０を含む。
【００９６】
第１制御部６１０は、各ページプログラミング動作の目標ビットエラー率に基づいて論理的な（ｌｏｇｉｃａｌ）閾値電圧状態を生成する。
【００９７】
第２制御部６２０は、論理的な閾値電圧状態のうちの１つをＮビットのデータに割り当てる。
【００９８】
プログラミング部６３０は、ページ６５１内の各マルチビットセルに割り当てられた閾値電圧状態を形成する。
【００９９】
ページ６５１は、同時にプログラミングされる複数のマルチビットセルを含む。
【０１００】
マルチビットセルアレイ６５０は、複数のページを含む。
【０１０１】
比較部６４０は、ページ６５１内の各マルチビットセルの閾値電圧を検出する。比較部６４０は、検出された閾値電圧および検証電圧（ｖｅｒｉｆｙ  ｖｏｌｔａｇｅ）を比較して比較結果を出力する。プログラミング部６３０は、前記Ｎビットのデータに割り当てられた論理的な各閾値電圧状態に対して検証電圧を生成することができる。プログラミング部６３０は、比較部６４０によって行われる検出された閾値電圧および検証電圧の比較結果に応じてプログラミング過程を行う。
【０１０２】
プログラミング部６３０は、比較部６４０が出力する比較結果に応じてプログラミングの時間区間の長さを調整する。
【０１０３】
１つのページプログラミング動作は、複数の単位プログラミング動作を含む。各単位プログラミング動作が終了する度に、比較部６４０は、比較結果を各マルチビットセルの比較結果を出力して、プログラミング部６３０は、比較結果に応じて各マルチビットセルに対して次の単位プログラミング動作を行うか否かを決定する。
【０１０４】
１つのマルチビットセルに対して多数のプログラミング動作が行われるほど、プログラミングの時間区間の長さは増加する。
【０１０５】
単位プログラミング動作が、マルチビットセルの閾値電圧を増加させる動作であると仮定する。比較部６４０の比較の結果、第１マルチビットセルの閾値電圧が検証電圧より低いことを示した場合、プログラミング部６３０は、第１マルチビットセルに対して次の単位プログラミング動作を行う。比較部６４０の比較の結果、第２マルチビットセルの閾値電圧が検証電圧より高いか同じであることを示した場合、プログラミング部６３０は、第２マルチビットセルに対して次の単位プログラミング動作を実行しない。
【０１０６】
第１制御部６１０は、Ｎビットの各データに対応する検証電圧を調整して閾値電圧状態を生成する。
【０１０７】
図７は、第１制御部６１０が検証電圧を調整して閾値電圧状態を生成する過程を示す図である。
【０１０８】
図７を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【０１０９】
図７に示す閾値電圧状態がページ６５１内のマルチビットセルにプログラミングされたデータの閾値電圧分布確率に対応することは、先に説明した通りである。
【０１１０】
閾値電圧状態７１０は、データ「１」の閾値電圧分布確率に対応する。
【０１１１】
データ「０」の閾値電圧分布確率には、閾値電圧状態７２０または閾値電圧状態７３０のいずれかが対応する。
【０１１２】
第１制御部６１０が電圧７４０をデータ「０」に対応する検証電圧で選択した場合、閾値電圧状態７２０がデータ「０」の閾値電圧分布確率に対応する。
【０１１３】
第１制御部６１０が電圧７５０をデータ「０」に対応する検証電圧で選択した場合、閾値電圧状態７３０がデータ「０」の閾値電圧分布確率に対応する。
【０１１４】
第１制御部６１０は、データ「１」およびデータ「０」の間の遷移確率に基づいて、データ「０」に対応する検証電圧を、電圧７４０または電圧７５０のいずれかに選択する。
【０１１５】
図８は、本発明のマルチビットプログラミング装置１００の第１制御部１１０の一例を示す図である。
【０１１６】
図８を参照すれば、第１制御部１１０は、推定部８１０および調整部８２０を含む。
【０１１７】
第１制御部１１０の閾値電圧生成過程は、次のように進める。
【０１１８】
まず、第１制御部１１０が第１閾値電圧状態を生成する。
【０１１９】
推定部８１０は、第１閾値電圧状態に基づいてＮ回の各ページプログラミング動作のビットエラー率を推定する。
【０１２０】
推定部８１０は、第１閾値電圧状態の間の重なる部分の面積を推定し、推定された面積に基づいてＮビットのデータ間の遷移確率を計算する。
【０１２１】
Ｎ回の各ページプログラミング動作のビットエラー率は、Ｎ個の各ページデータの遷移可能数および可能な遷移のそれぞれの遷移確率に基づいて推定される。
【０１２２】
実施形態によれば、推定部８１０は、すべての第１閾値電圧状態の形態が同一のほう物線型態と仮定することができる。
【０１２３】
実施形態によれば、推定部８１０は、１つのページデータ内の可能な遷移のすべての遷移確率を設定することができる。
【０１２４】
調整部８２０は、推定された各ページプログラミング動作のビットエラー率および目標ビットエラー率の比較結果に応じて、第１閾値電圧状態を調整して第２閾値電圧状態を生成する。
【０１２５】
実施形態によれば、調整部８２０は、推定された各ページプログラミング動作のビットエラー率が目標ビットエラー率より小さい場合、第１閾値電圧状態中に推定されたビットエラー率と関連する閾値電圧状態を互いに近接させる。
【０１２６】
調整部８２０は、推定された各ページプログラミング動作のビットエラー率が目標ビットエラー率より大きい場合、第１閾値電圧状態中に推定されたビットエラー率と関連する閾値電圧状態を互いに遠く離隔させる。
【０１２７】
調整部８２０は、第１ページプログラミング動作の推定されたビットエラー率が目標ビットエラー率より小さい場合、第１閾値電圧状態中の第１ページデータ内の可能な遷移と関連する閾値電圧状態の間の距離を近くに調整する。調整部８２０は、調整された閾値電圧状態から第２閾値電圧状態を生成する。
【０１２８】
調整部８２０は、第２ページプログラミング動作の推定されたビットエラー率が目標ビットエラー率より大きい場合、第１閾値電圧状態中の第２ページデータ内の可能な遷移と関連する閾値電圧状態の間の距離を遠ざかるように調整する。調整部８２０は、調整された閾値電圧状態から第２閾値電圧状態を生成する。
【０１２９】
実施形態によれば、マルチビットプログラミング装置１００は、マルチビットメモリ装置の製造後にマルチビットセルの閾値電圧分布を測定して、測定された結果から閾値電圧分布確率を得ることができる。
【０１３０】
実施形態によれば、マルチビットプログラミング装置１００は、マルチビットメモリ装置の製造後にマルチビットセルの閾値電圧を可変的に調整して、均等なページ当たりのビットエラー率を得ることができる。
【０１３１】
図９は、マルチビットプログラミング装置１００がプログラミングするＮビットのデータおよびＮページプログラミング動作の関連性示す他の例の図である。
【０１３２】
図９にはＮ＝２である場合が示されている。
【０１３３】
データ９１０は、ページ１４１にプログラミングされる２ビットのデータである。
【０１３４】
第１ページデータ９２０は、第１ページプログラミング動作に対応する１ビットのデータであり、第２ページデータ９３０は、第２ページプログラミング動作に対応する１ビットのデータである。
【０１３５】
第１ページデータ９２０および第２ページデータ９３０の組合せによって、データ９１０がページ１４１内の各マルチビットセルにプログラミングされる。
【０１３６】
図３、図４および図９を参照すれば、図４のデータ４１０中のデータ「１１」は、閾値電圧状態３１０に対応し、データ「１０」は閾値電圧状態３２０に対応する。
【０１３７】
データ４１０中のデータ「００」は閾値電圧状態３３０に対応し、データ「０１」は閾値電圧状態３４０に対応する。
【０１３８】
図９のデータ９１０中のデータ「１１」は閾値電圧状態３１０に対応し、データ「１０」は閾値電圧状態３２０に対応する。
【０１３９】
データ９１０中のデータ「０１」は閾値電圧状態３３０に対応し、データ「００」は閾値電圧状態３４０に対応する。
【０１４０】
第１ページデータ９２０中の可能な遷移は遷移９４０である。
【０１４１】
第２ページデータ９３０中の可能な遷移は遷移９５０、遷移９６０および遷移９７０である。
【０１４２】
実施形態によれば、マルチビットプログラミング装置１００の第２制御部１２０は、図４のコードマッピング技法または図９のコードマッピング技法のいずれかを用いることができる。
【０１４３】
図４のコードマッピング技法によれば、第２ページデータ４３０内の遷移可能数は２であり、第１ページデータ４２０内の遷移可能数は１である。
【０１４４】
図９のコードマッピング技法によれば、第２ページデータ９３０内の遷移可能数は３であり、第１ページデータ９２０内の遷移可能数は１である。
【０１４５】
第１制御部１１０は、第２制御部１２０が用いるコードマッピング技法に基づいて、閾値電圧状態を生成することができる。
【０１４６】
第２制御部１２０が用いるコードマッピング技法によって各ページデータのビットエラー率が影響されるため、第１制御部１１０は、閾値電圧状態を生成する場合、コードマッピング技法を考慮しなければならない。
【０１４７】
図１０は、Ｎ＝４である場合に第１制御部１１０によって生成された閾値電圧状態の一例を示す図である。
【０１４８】
図１０を参照すれば、横軸はマルチビットセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を示し、縦軸は前記閾値電圧に対応するマルチビットセルの個数を示す。
【０１４９】
図１０に示す閾値電圧状態１００１〜１０１６が、ページ１４１内のマルチビットセルにプログラミングされたデータの閾値電圧分布確率に対応することは、先に説明した通りである。
【０１５０】
閾値電圧状態１００１を便宜上状態「０」とし、順次閾値電圧状態１００２を状態「１」とする。このような方法において、閾値電圧状態１０１５を状態「１４」とし、閾値電圧状態１０１６を状態「１５」とする。
【０１５１】
本実施形態では、閾値電圧状態１００１〜１０１６の形態がすべて同一であると仮定する。
【０１５２】
１つのマルチビットセルに状態「ｉ」に対応するデータがプログラミングされた確率をＰ（ｉ）という。
【０１５３】
１つのマルチビットセルに状態「ｉ」に対応するデータがプログラミングされた時、状態「ｊ」に対応するデータと判定される確率をＰ（ｊ｜ｉ）という。
【０１５４】
１つのマルチビットセルに状態「ｉ」に対応するデータがプログラミングされたのにもかかわらず、状態「ｉ」より低い閾値電圧を有する状態に対応するデータとして誤って判定される確率をＰＥ−（ｉ）とすれば、ＰＥ−（ｉ）は下記の式１のように表現される。
【０１５５】
【数１】
2011501334.tif 000003
【０１５６】
図１０に示すように、隣接しない閾値電圧状態の間の距離が十分に大きいと仮定すれば、前記数式１の近似（ａｐｐｒｏｘｉｍａｔｉｏｎ）は許容されることができる（ａｃｃｅｐｔａｂｌｅ）。
【０１５７】
１つのマルチビットセルに状態「ｉ」に対応するデータがプログラミングされたのにもかかわらず、状態「ｉ」より高い閾値電圧を有する状態に対応するデータとして誤って判定される確率をＰＥ＋（ｉ）とすれば、ＰＥ＋（ｉ）は下記の式２のように表現される。
【０１５８】
【数２】
2011501334.tif 000004
【０１５９】
１つのマルチビットセルに状態「ｉ」に対応するデータがプログラミングされたのにもかかわらず、状態「ｉ」でない他の状態に対応するデータとして誤って判定される確率をＰＥ（ｉ）とすれば、ＰＥ（ｉ）は下記の式３のように表現される。
【０１６０】
【数３】
2011501334.tif 000005
【０１６１】
本実施形態では、第２制御部１２０がグレイコード（Ｇｒａｙ  ｃｏｄｅ）に属する修正バイナリコード技法（ｍｏｄｉｆｉｅｄ  ｂｉｎａｒｙ  ｃｏｄｅ  ｓｃｈｅｍｅ）によって、閾値電圧状態１００１〜１０１６（状態「０」〜状態「１５」）をデータに割り当てると仮定する。
【０１６２】
第２制御部１２０が閾値電圧状態１００１〜１０１６（状態「０」〜状態「１５）をデータに割り当てる過程は、下記の表１に示されている。
【０１６３】
【表１】
2011501334.tif 000006
【０１６４】
マルチビットセルのセルエラー率（ｃｅｌｌ  ｅｒｒｏｒ  ｒａｔｅ、ＣＥＲ）ＰＣは、下記の式４のように表現される。
【０１６５】
本実施形態では、各閾値電圧状態の形態が同一であると仮定したため、各状態「ｉ」に対応するデータがプログラミングされる確率は１／１６で同一である。
【０１６６】
【数４】
2011501334.tif 000007
【０１６７】
ｋ回目のページデータの目標ビットエラー率をＰＢ、ｋとすれば、各ページデータの目標ビットエラー率は、下記の式５ないし式８のように表現される。
【０１６８】
【数５】
2011501334.tif 000008
【０１６９】
本実施形態では、図１０に示すように状態「０」および状態「１」間の距離が十分に大きいと仮定する。したがって、状態「０」および状態「１」間の遷移確率は、０と仮定する（ＰＥ＋（０）＋ＰＥ−（１）＝０）。
【０１７０】
また、本実施形態では、ｋ回目のページデータ内の可能な遷移の遷移確率は、すべて同じと仮定する。２回目のページデータ内の可能な遷移は状態「３」および状態「４」間の遷移、状態「１１」および状態「１２」間の遷移がある。この時、ＰＥ＋（３）＋ＰＥ−（４）＝ＰＥ＋（１１）＋ＰＥ−（１２）の関係式が成立する。
【０１７１】
このような関係式をページ各データに対して拡張させれば、下記の式９ないし式１２の関係が成立する。
ＰＥ＋（７）＋ＰＥ−（８）＝Ｐ（１）                                 （式９）
ＰＥ＋（３）＋ＰＥ−（４）＝ＰＥ＋（１１）＋ＰＥ−（１２）＝Ｐ（２）      （式１０）
ＰＥ＋（１）＋ＰＥ−（２）＝ＰＥ＋（５）＋ＰＥ−（６）＝ＰＥ＋（９）＋ＰＥ−（１０）＝ＰＥ＋（１３）＋ＰＥ−（１４）＝Ｐ（３）                                （式１１）
ＰＥ＋（２）＋ＰＥ−（３）＝ＰＥ＋（４）＋ＰＥ−（５）＝ＰＥ＋（６）＋ＰＥ−（７）＝ＰＥ＋（８）＋ＰＥ−（９）
＝ＰＥ＋（１０）＋ＰＥ−（１１）＝ＰＥ＋（１２）＋ＰＥ−（１３）＝ＰＥ＋（１４）＋ＰＥ−（１５）＝Ｐ（４）                                                   （式１２）
【０１７２】
Ｐ（１）、Ｐ（２）、Ｐ（３）、Ｐ（４）は、各々ページデータ内の１つの遷移確率を示す。
【０１７３】
式５および式９を組み合わせれば、下記の式１３が得られる。
ＰＢ，１＝１／１６×Ｐ（１）             （式１３）
【０１７４】
式６および式１０を組み合わせれば、下記の式１４が得られる。
ＰＢ，２＝２／１６×Ｐ（２）             （式１４）
【０１７５】
式７および式１１を組み合わせれば、下記の式１５が得られる。
ＰＢ，３＝４／１６×Ｐ（３）             （式１５）
【０１７６】
式８および式１２を組み合わせれば、下記の式１６が得られる。
ＰＢ，４＝７／１６×Ｐ（４）             （式１６）
【０１７７】
本実施形態では、すべてのページプログラミング動作の目標ビットエラー率が同一であるように閾値電圧状態を調整する。この時、同一の目標ビットエラー率をＸとすれば、下記の式１７が成立する。
ＰＢ、１＝ＰＢ、２＝ＰＢ、３＝ＰＢ、４＝Ｘ             （式１７）
【０１７８】
また、本実施形態では、ページ１４１のセルエラー率はＰＣで一定であるように閾値電圧状態を調整する。
【０１７９】
表１のコードマッピング技法によれば、セルエラー率ＰＣは、下記の式１８を満足する。
ＰＣ＝ＰＢ、１＋ＰＢ、２＋ＰＢ、３＋ＰＢ、４＝４Ｘ      （式１８）
【０１８０】
ｋ回目のページプログラミング動作の調整係数β（ｋ）は、下記の式１９ないし式２２と共に計算される。
β（１）＝Ｐ（１）／ＰＣ＝４             （式１９）
β（２）＝Ｐ（２）／ＰＣ＝２             （式２０）
β（３）＝Ｐ（３）／ＰＣ＝１             （式２１）
β（４）＝Ｐ（４）／ＰＣ＝４／７         （式２２）
【０１８１】
第１制御部１１０は、ｋ回目のページプログラミング動作の遷移確率Ｐ（ｋ）が、セルエラー率ＰＣおよび係数β（ｋ）をかけた値と同一であるように、閾値電圧状態の距離を調整する。
【０１８２】
図１１は、本発明の他の実施形態に係るマルチビットプログラミング方法を示す動作フローチャートである。
【０１８３】
マルチビットプログラミング方法は、Ｎ回のプログラミング動作を行って、１つ以上の各マルチビットセルにＮビットのデータをプログラミングする。
【０１８４】
マルチビットプログラミング方法は、各ページプログラミング動作の目標ビットエラー率に基づいて、２Ｎ個の閾値電圧状態を生成する（Ｓ１１１０）。
【０１８５】
マルチビットプログラミング方法は、閾値電圧状態のうちいずれか１つをＮビットのデータに割り当てる（Ｓ１１２０）。
【０１８６】
マルチビットプログラミング方法は、１つ以上の各マルチビットセルに割り当てられた閾値電圧状態を形成してＮビットのデータを１つ以上の各マルチビットセルにプログラミングする（Ｓ１１３０）。
【０１８７】
実施形態によれば、マルチビットプログラミング方法は、１つ以上の各マルチビットセルの閾値電圧および検証電圧を比較して比較結果を出力することができる。
【０１８８】
この時、ステップＳ１１３０は、比較結果に応じてプログラミングの時間区間の長さを調整する。
【０１８９】
この時、ステップＳ１１１０は、検証電圧を調整して閾値電圧状態を生成することができる。
【０１９０】
実施形態によれば、ステップＳ１１１０は、閾値電圧状態に基づいて各ページプログラミング動作のビットエラー率を推定することができる。
【０１９１】
ステップＳ１１１０は、推定されたビットエラー率および目標ビットエラー率の比較結果に応じて閾値電圧状態を調整する。
【０１９２】
この時、ステップＳ１１１０は、推定されたビットエラー率が目標ビットエラー率より小さい場合、閾値電圧状態中に推定されたビットエラー率と関連する閾値電圧状態を互いに近接するようにする。
【０１９３】
ステップＳ１１１０は、推定されたビットエラー率が目標ビットエラー率より大きい場合、閾値電圧状態中に推定されたビットエラー率と関連する閾値電圧状態を互いに遠く離れるようにする。
【０１９４】
ステップＳ１１１０は、マルチビットセルのセルエラー率を一定に維持しながら閾値電圧状態を生成する。
【０１９５】
ステップＳ１１１０は、各ページプログラミング動作と関連する遷移確率にさらに基づいて閾値電圧状態を生成する。
【０１９６】
実施形態によれば、ステップＳ１１２０は、コードマッピング技法を用いて閾値電圧状態のうちいずれか１つをＮビットのデータに割り当てる。
【０１９７】
ステップＳ１１１０は、コードマッピング技法に基づいて閾値電圧状態を生成する。
【０１９８】
コードマッピング技法の例としては、図９に示すバイナリコード、図４および表１に示す修正バイナリコード（ｍｏｄｉｆｉｅｄ  ｂｉｎａｒｙ  ｃｏｄｅ）等がある。
【０１９９】
図１２は、ステップＳ１１１０の一実施形態を示す動作フローチャートである。
【０２００】
ｋは閾値電圧状態のインデックスを意味する。
【０２０１】
ステップＳ１１１０は、ｋ＝１と設定する（Ｓ１２１０）。
【０２０２】
ステップＳ１１１０は、閾値電圧状態Ｖ（ｋ）を初期化する（Ｓ１２２０）。
【０２０３】
この時、Ｖ（ｋ）はＶ（ｋ−１）より第１電圧だけ大きい閾値電圧を有することができる。
【０２０４】
ステップＳ１１１０は、閾値電圧状態Ｖ（ｋ）およびＶ（ｋ−１）の遷移確率Ｐ（ｋ）を推定する。
【０２０５】
ステップＳ１１１０は、Ｐ（ｋ）がセルエラー率ＰＣおよび予め計算された調整係数β（ｋ）の倍より大きいかを判断する（Ｓ１２３０）。
【０２０６】
ステップＳ１１１０は、Ｐ（ｋ）がＰＣおよびβ（ｋ）の倍より大きい場合、Ｖ（ｋ）を第２電圧だけ増加させる（Ｓ１２４０）。
【０２０７】
この時、第２電圧は、第１電圧より非常に小さい値を有する。
【０２０８】
ステップＳ１１１０は、Ｐ（ｋ）がＰＣおよびβ（ｋ）の倍より小さいかどうかを判断する（Ｓ１２５０）。
【０２０９】
ステップＳ１１１０は、Ｐ（ｋ）がＰＣおよびβ（ｋ）の倍より小さい場合、Ｖ（ｋ）を第２電圧だけ減少させる（Ｓ１２６０）。
【０２１０】
ステップＳ１２４０またはステップＳ１２６０によって調整されたＶ（ｋ）に対して、ステップＳ１１１０は再びステップＳ１２３０を行う。
【０２１１】
ステップＳ１１１０は、Ｐ（ｋ）がＰＣおよびβ（ｋ）の倍と同じでる場合、ｋが（２Ｎ−１）より小さいかを判断する（Ｓ１２７０）。
【０２１２】
マルチビットプログラミング方法は、ステップＳ１２７０の判断結果ｋが（２Ｎ−１）より大きい、または同じである場合、ステップＳ１１１０を終了してステップＳ１１２９を行う。
【０２１３】
ステップＳ１１１０は、ステップＳ１２７０の判断の結果ｋが（２Ｎ−１）より小さい場合、ｋを１増加させる（Ｓ１２８０）。
【０２１４】
ステップＳ１１１０は、ステップＳ１２８０によって調整されたｋに対して、ステップＳ１２２０を再び行う。
【０２１５】
本発明に係るマルチビットプログラミング方法は、さまざまなコンピュータ手段によって実行されるプログラム命令形態で具現され、コンピュータ読み取り可能媒体に記録される。前記コンピュータ読み取り可能媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものなどである、またはコンピュータソフトウェア当業者に公示されて使用可能になる。コンピュータ読み取り可能記録媒体の例として、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティコル  ディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、ならびにロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリなどのような、プログラム命令を格納して行うように特別に構成されたハードウェア装置が含まれる。プログラム命令の例として、コンパイラによって作られるような機械語コード、およびインタープリタなどを用いてコンピュータによって実行される高級言語コードを含む。想起されたハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成され、その逆も同様である。
【０２１６】
上述したように本発明は、例示的な実施形態と図面によって説明されたが、本発明は、上記の実施形態に限定されるものではなく、本発明が属する分野で通常の知識を有する者であれば、これらに基づいてさまざまな修正および変形が可能である。
【０２１７】
したがって、本発明の範囲は、説明された実施形態に限定されるようにして解釈されてはならず、添付の特許請求の範囲、およびこの特許請求の範囲と均等なものなどによって決まらなければならない。
【符号の説明】
【０２１８】
１００  マルチビットプログラミング装置
１１０  第１制御部
１２０  第２制御部
１３０  プログラミング部１３０
【図１】
2011501334.tif 000009
【図２】
2011501334.tif 000010
【図３】
2011501334.tif 000011
【図４】
2011501334.tif 000012
【図５】
2011501334.tif 000013
【図６】
2011501334.tif 000014
【図７】
2011501334.tif 000015
【図８】
2011501334.tif 000016
【図９】
2011501334.tif 000017
【図１０】
2011501334.tif 000018
【図１１】
2011501334.tif 000019
【図１２】
2011501334.tif 000020
【図１３】
2011501334.tif 000021
【国際調査報告】
2011501334.tif 000022
2011501334.tif 000023