(57)【要約】  メモリ装置およびメモリデータ誤り管理方法が提供される。メモリ装置は、メモリセルから読み出したデータの誤りビットを検出および訂正し、前記検出された誤りビットが格納されたメモリセルを識別する。メモリ装置は、前記複数の各第１メモリセルに検証電圧を割り当て、前記割り当てられた検証電圧は、前記識別されたメモリセルに対して前記訂正されたビットに対応し、前記割り当てられた検証電圧は前記複数の第１メモリセルのうち前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する。メモリ装置は割り当てられた検証電圧を用いてメモリセルに格納されたデータを再調整する。これによってメモリ装置のデータの維持期間を伸ばすことができる。
2011521394.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１メモリセルを含むメモリセルアレイと、
前記複数の第１メモリセルからデータを読み出す読み出し部と、
前記読み出したデータの誤りビットを検出し、前記複数の第１メモリセルのうちの前記検出された誤りビットが格納されたメモリセルを識別し、前記検出された誤りビットを訂正する誤り訂正部と、
前記複数の各第１メモリセルに検証電圧を割り当てる制御部（前記割り当てられた検証電圧は前記識別されたメモリセルに対して前記訂正されたビットに対応し、前記割り当てられた検証電圧は前記複数の第１メモリセルのうちの前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する）と、
前記割り当てられた検証電圧を用いて前記複数の第１メモリセルに格納されたデータを再調整するプログラミング部と、
を含むことを特徴とするメモリ装置。
【請求項２】
前記複数の各第１メモリセルは、マルチビットデータを格納するマルチビットセルであり、
前記読み出し部は、前記複数の第１メモリセルから複数のデータページを読み出し、
前記誤り訂正部は、前記読み出した複数のデータページの誤りビットを検出して前記検出された誤りビットを訂正し、
前記制御部は、前記訂正されたビットおよび前記複数のデータページに基づいて前記訂正されたビットに対応する検証電圧を決定することを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記プログラミング部は、前記複数の第１メモリセルの各閾値電圧が前記割り当てられた検証電圧以上になるまで前記複数の第１メモリセルの各閾値電圧を増加させることを特徴とする請求項１に記載のメモリ装置。
【請求項４】
前記プログラミング部は、前記複数の第１メモリセルのうち、前記割り当てられた検証電圧以上の閾値電圧を有するメモリセルに対して閾値電圧の変化を抑制するプログラム条件電圧を印加することを特徴とする請求項３に記載のメモリ装置。
【請求項５】
前記誤り訂正部は、
前記読み出したデータを復号化して前記読み出したデータの誤りビットを検出し、前記検出された誤りビットを訂正するＥＣＣデコーダと、
前記複数の第１メモリセルのうち、前記検出された誤りビットが格納されたメモリセルを識別するセル識別部と、
を含むことを特徴とする請求項１に記載のメモリ装置。
【請求項６】
前記制御部は、前記検出された誤りビットの数に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法、または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択し、前記プログラミング部が前記選択された前記第１方法または前記第２方法のいずれか１つを行うように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項７】
前記プログラミング部は、前記第２方法が選択された場合、メッセージおよび余剰情報の比率を調整してプログラムデータを生成し、前記生成されたプログラムデータを前記新しいメモリセルにプログラムすることを特徴とする請求項６に記載のメモリ装置。
【請求項８】
前記制御部は、前記メモリセルアレイ内のパイロットセルを用いて前記複数のメモリセルの閾値電圧の変化を推定し、前記推定された閾値電圧の変化に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択し、前記プログラミング部が前記選択された前記第１方法または前記第２方法のいずれか１つを行うように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項９】
前記制御部は、前記複数の第１メモリセルにデータがプログラムされた時間情報を格納し、前記格納された時間情報に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択し、前記プログラミング部が前記選択された前記第１方法または前記第２方法のいずれか１つを行うように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項１０】
前記制御部は、前記プログラミング部が前記複数の第１メモリセルの閾値電圧を再調整する第１方法を行うように制御し、前記第１方法が行なわれた回数が基準値よりも大きければ、前記プログラミング部が前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法を行うように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項１１】
前記制御部は、前記複数の第１メモリセルが消去された回数に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択し、前記プログラミング部が前記選択された前記第１方法または前記第２方法のいずれか１つを行うように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項１２】
前記読み出し部は、複数の時間周期ごとに前記複数のメモリセルからデータを読み出すことを特徴とする請求項１に記載のメモリ装置。
【請求項１３】
前記読み出し部は、前記複数のメモリセルが消去された回数に基づいて前記複数の時間周期の長さを決定することを特徴とする請求項１２に記載のメモリ装置。
【請求項１４】
前記制御部は、前記読み出したデータのメトリック、シンドロームまたはビット誤り比率のうちの少なくとも１つ以上に基づいて前記複数の第１メモリセルに格納されたデータを再調整するように前記プログラミング部を制御することを特徴とする請求項１に記載のメモリ装置。
【請求項１５】
前記読み出し部は、前記複数の第１メモリセルに格納された前記データに対するホストからのアクセス要求に応答して前記複数の第１メモリセルから前記データを読み出すことを特徴とする請求項１に記載のメモリ装置。
【請求項１６】
前記読み出し部は、ホストから前記複数の第１メモリセルに格納されたデータに対するアクセス要求がない待機期間の間に前記複数の第１メモリセルから前記データを読み出すことを特徴とする請求項１に記載のメモリ装置。
【請求項１７】
複数の第１メモリセルからデータを読み出すステップと、
前記読み出したデータの誤りビットを検出するステップと、
前記複数の第１メモリセルのうち、前記検出された誤りビットが格納されたメモリセルを識別するステップと、
前記検出された誤りビットを訂正するステップと、
前記識別されたメモリセルに前記訂正されたビットに対応する検証電圧を割り当てるステップと、
前記複数の各第１メモリセルに検証電圧を割り当てるステップ（前記割り当てられた検証電圧は前記識別されたメモリセルに対して前記訂正されたビットに対応し、前記割り当てられた検証電圧は前記複数の第１メモリセルのうちの前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する）と、
前記割り当てられた検証電圧を用いて前記複数の第１メモリセルに格納されたデータを再調整するステップと、
を含むことを特徴とするメモリデータ誤り管理方法。
【請求項１８】
前記複数の第１メモリセルに格納されたデータを再調整するステップは、
前記検出された誤りビットの数に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択するステップと、
前記第１方法が選択された場合、前記複数の第１メモリセルの各閾値電圧が前記割り当てられた検証電圧以上になるまで前記複数の第１メモリセルの各閾値電圧を増加させるステップと、
前記第２方法が選択された場合、前記新しいメモリセルの各閾値電圧が前記割り当てられた検証電圧以上になるまで前記新しいメモリセルの各閾値電圧を増加させるステップと、
を含むことを特徴とする請求項１７に記載のメモリデータ誤り管理方法。
【請求項１９】
前記複数のメモリセルに格納されたデータを再調整するステップは、
パイロットセルを用いて前記複数の第１メモリセルの閾値電圧の変化を推定するステップと、
前記推定された閾値電圧の変化に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択するステップと、
を含むことを特徴とする請求項１７に記載のメモリデータ誤り管理方法。
【請求項２０】
前記複数の第１メモリセルに格納されたデータを再調整するステップは、
前記複数の第１メモリセルにデータがプログラムされた時間情報を格納するステップと、
前記格納された時間情報に基づいて、前記複数の第１メモリセルの閾値電圧を再調整する第１方法または前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法のいずれか１つを選択するステップと、
を含むことを特徴とする請求項１７に記載のメモリデータ誤り管理方法。
【請求項２１】
前記複数の第１メモリセルに格納されたデータを再調整するステップは、
前記複数の第１メモリセルの閾値電圧を再調整する第１方法を行うステップと、
前記第１方法が行なわれた回数が基準値よりも大きいかの有無を判定するステップと、
前記第１方法が行なわれた回数が前記基準値よりも大きければ、前記複数の第１メモリセルに格納されたデータを新しいメモリセルにプログラムする第２方法を行うステップと、
を含むことを特徴とする請求項１７に記載のメモリデータ誤り管理方法。
【請求項２２】
請求項１７に記載の方法を実行するためのプログラムが記録されていることを特徴とするコンピュータで読み出し可能な記録媒体。
【請求項２３】
前記制御部は、前記複数の第１メモリセルに前記データが格納される時に用いられた以前の検証電圧とは異なる電圧レベルを前記検証電圧に設定することを特徴とする請求項１に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に格納されたデータの誤りを管理する方法に関する。
【背景技術】
【０００２】
シングルレベルセル（ＳＬＣ：ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ）メモリは１つのメモリセルに１ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル（ＳＢＣ：ｓｉｎｇｌｅ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。シングルレベルセルメモリのメモリセル（シングルレベルセル）にデータを格納する過程はプログラム過程とも呼ばれ、メモリセルの閾値電圧を変化させることができる。例えば、シングルレベルセルに論理「１」のデータが格納された場合にはシングルレベルセルは１．０ボルトの閾値電圧を有してもよく、論理「０」のデータが格納された場合にはシングルレベルセルは３．０ボルトの閾値電圧を有してもよい。
【０００３】
シングルレベルセルの間の微細な電気的特性の違いに応じて、同一のデータがプログラムされた各シングルレベルセルに形成された閾値電圧は一定の範囲の分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を有することとなる。例えば、メモリセルから読み出された電圧が０．５〜１．５ボルトである場合には前記メモリセルに格納されたデータは論理「１」であり、メモリセルから読み出された電圧が２．５〜３．５ボルトである場合には前記メモリセルに格納されたデータは論理「０」と判定され得る。メモリセルに格納されたデータは読み出し動作時にメモリセルの電流／電圧の差によって区分される。
【０００４】
一方、メモリの高集積化の要求に応答して１つのメモリセルに２ビット以上のデータをプログラムすることのできるマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリが提案された。マルチレベルセルメモリは、マルチビットセル（ＭＢＣ：ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。しかし、１つのメモリセルにプログラムされるビットの数が増加するほど信頼性は落ち、読み出し失敗率（ｒｅａｄ  ｆａｉｌｕｒｅ  ｒａｔｅ）は増加することになる。１つのメモリセルにｍ個のビットをプログラムしようとすれば、２ｍ個の閾値電圧のいずれか１つを前記メモリセルに形成しなければならない。メモリセルの間の微細な電気的特性の差に応じて同一のデータがプログラムされたメモリセルの閾値電圧は一定の範囲の分布を形成してもよい。このとき、ｍ個のビットによって生成され得る２ｍ個のデータ値それぞれに１つずつの閾値電圧の分布が対応してもよい。
【０００５】
しかし、メモリの電圧ウィンドウは制限されているため、ｍが増加するにともなって隣接したビットの間の閾値電圧の２ｍ個の分布の間の距離は減少し、分布の間の距離がさらに減少すれば、分布どうしは重なり得る。分布どうしが重なれば読み出し失敗率が増加するおそれがある。
【０００６】
マルチレベルセルメモリの利用が最近の傾向に拡散されているなかで、データを格納して読み出す過程で発生する誤りを検出し、検出された誤りを訂正する誤り制御コード（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｉｎｇ  ｏｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ、ＥＣＣ）の利用が活発になっている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、誤りを検出および訂正してマルチビットセルに格納されたデータを再調整することによってデータの維持時間を伸ばすことにある。
本発明の他の目的は、データの誤り比率が基準以下に維持されるように管理することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係るメモリ装置は、複数のメモリセルを含むメモリセルアレイと、前記複数のメモリセルからデータを読み出す読み出し部と、前記読み出したデータの誤りビットを検出し、前記複数のメモリセルのうちの前記検出された誤りビットが格納されたメモリセルを識別し、前記検出された誤りビットを訂正する誤り訂正部と、前記複数の各第１メモリセルに検証電圧を割り当てる制御部（前記割り当てられた検証電圧は前記識別されたメモリセルに対して前記訂正されたビットに対応し、前記割り当てられた検証電圧は前記複数の第１メモリセルのうちの前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する）と、前記割り当てられた検証電圧を用いて前記複数のメモリセルに格納されたデータを再調整するプログラミング部と、を含む。
【０００９】
本発明の一実施形態に係るメモリデータ誤り管理方法は、複数のメモリセルからデータを読み出すステップと、前記読み出したデータの誤りビットを検出するステップと、前記複数のメモリセルのうち、前記検出された誤りビットが格納されたメモリセルを識別するステップと、前記検出された誤りビットを訂正するステップと、前記識別されたメモリセルに前記訂正されたビットに対応する検証電圧を割り当てるステップと、前記複数の各第１メモリセルに検証電圧を割り当てるステップ（前記割り当てられた検証電圧は前記識別されたメモリセルに対して前記訂正されたビットに対応し、前記割り当てられた検証電圧は前記複数の第１メモリセルのうちの前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する）と、前記割り当てられた検証電圧を用いて前記複数のメモリセルに格納されたデータを再調整するステップと、を含む。
【発明の効果】
【００１０】
本発明の実施形態によれば、誤りを検出および訂正してマルチビットセルに格納されたデータを再調整することによってデータの維持時間を伸ばすことができる。
本発明の実施形態によれば、データの誤り比率が基準以下に維持されるように管理することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るメモリ装置を示す図である。
【図２】図１に示す読み出し部の一例を詳細に示す図である。
【図３】図１に示す誤り検出部の一例を詳細に示す図である。
【図４】図１に示すメモリページの一部分の例を詳細に示す図である。
【図５】図１に示すメモリ装置の動作の一例を示す図である。
【図６】図１に示すメモリ装置の動作の他の例を示す図である。
【図７】本発明の他の実施形態に係るメモリデータ誤り管理方法を示す動作フローチャートである。
【図８】図７に示す識別されたマルチビットセルに格納されたデータを再調整するステップを詳細に示す動作フローチャートである。
【図９】本発明の更なる実施形態に係るメモリ装置を示す図である。
【図１０】本発明の更なる実施形態に係るメモリデータ誤り管理方法を示す図である。
【図１１】図９に示すメモリ装置の動作の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下で、本発明に係る実施形態を添付された図面を参照して詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００１３】
図１は、本発明の一実施形態に係るメモリ装置１００を示す図である。
図１を参照すれば、メモリ装置１００は、マルチビットセルアレイ１１０、読み出し部１２０、誤り検出部１３０、閾値電圧推定部１４０および制御部１５０を含む。
【００１４】
マルチビットセルアレイ１１０は複数のマルチビットセルを含む。フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）またはＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の非揮発性メモリのマルチビットセルにデータを格納する過程はプログラム過程とも呼ばれ、マルチビットセルの閾値電圧を変更する過程であってもよい。マルチビットセルにデータをプログラムする過程には、マルチビットセルからデータを読み出す過程よりも長い時間がかかることがある。
【００１５】
マルチビットセルにデータをプログラムする過程に相対的に長い時間がかかるため、メモリ装置１００は複数のマルチビットセルに同時にデータをプログラムして全てのデータのプログラム時間を短縮することができる。同時に、プログラムされるマルチビットセルの集合を、本明細書では説明の便宜上メモリページ１１１と命名することにする。例えば、メモリページ１１１は１０００個のマルチビットセルを含んでもよく、マルチビットセルアレイ１１０は１０００個のメモリページを含んでもよい。
【００１６】
非揮発性メモリのマルチビットセルにデータをプログラムする過程は、Ｆ−Ｎトンネリング（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ  ｔｕｎｎｅｌｉｎｇ、Ｆ−Ｎ  ｔｕｎｎｅｌｉｎｇ）またはホットキャリア効果（ｈｏｔ  ｃａｒｒｉｅｒ  ｅｆｆｅｃｔ）等のメカニズムを用いて行われてもよい。Ｆ−Ｎトンネリングはマルチビットセルの閾値電圧を変化させ得る。シングルビットセルは低い閾値電圧レベルまたは高い閾値電圧レベルを有してもよく、前記２つの閾値電圧レベルを用いて「０」または「１」のデータを表してもよい。
【００１７】
マルチビットセルが２ｍ個の閾値電圧レベルのいずれか１つを有することができる場合、前記マルチビットセルはｍビットのデータまたは最大ｍビットのデータを格納してもよい。マルチビットセルに格納されるｍビットのデータは最上位ビット（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ、ＭＳＢ）から最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ、ＬＳＢ）に整列してもよい。本明細書では、説明の便宜上、ＬＳＢに対応するビット階層を第１ビット階層とし、ＬＳＢの次の上位ビットに対応するビット階層を第２ビット階層と命名することにする。このとき、ＭＳＢに対応するビット階層を第ｍビット階層といってもよい。メモリページ１１１の各マルチビットセルに格納された第１ビット階層のデータの集合を第１データページ、第２ビット階層のデータの集合を第２データページといってもよい。
【００１８】
実施形態によっては、メモリページ１１１は１つのワード線（ｗｏｒｄ  ｌｉｎｅ）に接続されたマルチビットセルの集合であってもよい。
読み出し部１２０は、メモリページ１１１のマルチビットセルから同時にデータを読み出すことができる。メモリページ１１１が１つのワード線に接続されたマルチビットセルの集合である場合、読み出し部１２０は前記ワード線に特定電圧を印加することによって、メモリページ１１１内のマルチビットセルからデータを読み出してもよい。読み出し部１２０は、メモリページ１１１内のマルチビットセルから第１データページおよび第２データページを読み出してもよい。
【００１９】
誤り検出部１３０は第１データページの誤りビットを検出し、メモリページ１１１内のマルチビットセルのうちの前記検出された誤りビットが格納されたマルチビットセルを識別することができる。
【００２０】
閾値電圧推定部１４０は、前記検出された誤りビットおよび第２データページに基づいて前記識別されたマルチビットセルの閾値電圧の変化を推定することができる。
制御部１５０は、前記推定された閾値電圧の変化に応じて前記識別されたマルチビットセルに格納されたデータを再調整することができる。
【００２１】
実施形態によっては、制御部１５０は、前記推定された閾値電圧の変化に応じて前記識別されたマルチビットセルの閾値電圧を調整してもよい。このとき、制御部１５０は、前記識別されたマルチビットセルに接続されたワード線およびビット線に特定の電圧を印加してもよい。制御部１５０は、Ｆ−Ｎトンネリングなどのメカニズムを用いて前記識別されたマルチビットセルの閾値電圧を変更することによって、前記識別されたマルチビットセルに格納されたデータの誤りが訂正されるように前記識別されたマルチビットセルに格納されたデータを再調整してもよい。
【００２２】
マルチビットセルは、コントロールゲート（ｃｏｎｔｒｏｌ  ｇａｔｅ、ＣＧ）およびフローティングゲート（ｆｌｏａｔｉｎｇ  ｇａｔｅ、ＦＧ）を含み、ＣＧおよびＦＧの間には絶縁体を挿入してもよい。ＦＧおよび基板の間にも絶縁体を挿入してもよい。マルチビットセルにデータをプログラムする過程はＦＧに電子を充填する過程であってもよく、マルチビットセルのデータを消去する過程はＦＧから電子を放電する過程であってもよい。
【００２３】
特定のバイアス条件（ｂｉａｓ  ｃｏｎｄｉｔｉｏｎ）下で、基板の領域中にＦＧに最も近接した領域にはチャネルを形成してもよい。チャネルは基板領域の少数キャリアが密集して生成される領域であり、これらの少数キャリアを制御してマルチビットセルにデータをプログラムしたり、マルチビットセルからデータを消去してもよい。
【００２４】
基板領域のソース、ドレインおよびＣＧに特定のバイアスが印加されれば、チャネルの少数キャリアがＦＧに移動してもよい。チャネルの少数キャリアがＦＧに移動するプログラム過程およびＦＧから放電される消去過程が繰り返られれば、ＦＧおよび基板間の絶縁体に物理的なダメージが加えられ得る。
【００２５】
ＦＧにキャリアが蓄積されて電荷が形成されれば、形成された電荷からマルチビットセルのデータが決定される。蓄積されたキャリアは時間が経過して漏洩される。キャリアが漏洩される程度に影響を及ぼす原因としては、Ｐ／Ｅ  ｃｙｃｌｅ（Ｐｒｏｇｒａｍ  ａｎｄ  Ｅｒａｓｅ  Ｃｙｃｌｅ）、物理的なダメージなどがあり得る。ＦＧに格納された電荷が漏洩経路を経由して流失すれば、マルチビットセルに格納されたデータに誤りが含まれ得る。
【００２６】
ＦＧに格納された電荷が流失する過程を電荷損失（ｃｈａｒｇｅ  ｌｏｓｓ）メカニズムともいい、一般的にマルチビットセルの閾値電圧を低くする傾向がある。
マルチビットセルの閾値電圧を所望するレベルよりも高めるメカニズムの例として、ＦＧカップリングなどが挙げられる。
【００２７】
ＦＧカップリングとは、中心マルチビットセルの閾値電圧が周辺のマルチビットセルの閾値電圧の変化量に応じて影響を受ける現象である。マルチビットセルのＦＧの間の寄生キャパシタンス（ｐａｒａｓｉｔｉｃ  ｃａｐａｃｉｔａｎｃｅ）のカップリングによって中心マルチビットセルの閾値電圧が影響を受ける。
もし、プログラミング過程が閾値電圧を増加させれば、中心マルチビットセルの閾値電圧はＦＧカップリングによって所望するレベルよりも高くなる。
【００２８】
閾値電圧推定部１４０は、前記識別されたマルチビットセルの閾値電圧の変化を推定することができる。前記識別されたマルチビットセルの閾値電圧の変化の原因として、前述した電荷流失またはＦＧカップリングなどが挙げられる。
【００２９】
制御部１５０は、メモリページ１１１のマルチビットセルに接続されたワード線に第１条件電圧を印加し、前記識別されたマルチビットセルに接続されたビット線に第２条件電圧を印加し、メモリページ１１１内のマルチビットセルのうちの前記識別されたマルチビットセル以外の残りのマルチビットセルに接続されたビット線には第３条件電圧を印加してもよい。
【００３０】
第１条件電圧は、マルチビットセルの少数キャリアチャネル（ｍｉｎｏｒｉｔｙ  ｃａｒｒｉｅｒ  ｃｈａｎｎｅｌ）を活性化する電圧レベルであってもよく、第２条件電圧は前記識別されたマルチビットセルの閾値電圧を変更させることができるプログラム電圧レベルであってもよい。第３条件電圧は、前記残りのマルチビットセルの閾値電圧が変更されないようにするプログラム禁止（ｐｒｏｇｒａｍ  ｉｎｈｉｂｉｔ）電圧条件であってもよい。
【００３１】
制御部１５０は、メモリページ１１１のマルチビットセルを消去する過程なしで前記識別されたマルチビットセルの閾値電圧を調整することによってデータの誤りレベルを管理することができる。
【００３２】
制御部１５０は、前記識別されたマルチビットセルの閾値電圧を調整する第１方法または前記識別されたマルチビットセルに格納されたデータを新しいマルチビットセルにプログラムする第２方法のいずれか１つを選択してもよい。第２方法は、前記識別されたマルチビットセルに格納されたデータだけでなく、メモリページ１１１のマルチビットセルに格納されたデータを新しいメモリページのマルチビットセルに格納してもよい。
【００３３】
制御部１５０は、前記推定された閾値電圧の変化に応じて前記第１方法または前記第２方法のいずれか１つを選択してもよい。制御部１５０は前記推定された閾値電圧の変化が基準値よりも大きければ前記第２方法を選択し、前記推定された閾値電圧の変化が基準値よりも大きくなければ、前記第１方法を選択してもよい。
【００３４】
制御部１５０はマルチビットセルに格納されたデータの誤り程度が大きければ、メモリページ１１１に格納されたデータを新しいメモリページに格納して誤りレベルを管理することができる。
【００３５】
制御部１５０は、前記検出された誤りビットの数に基づいて前記第１方法または前記第２方法のいずれか１つを選択してもよい。制御部１５０は前記検出された誤りビットの数が基準値よりも大きければ前記第２方法を選択し、前記検出された誤りビットの数が基準値よりも大きくなければ前記第１方法を選択してもよい。
【００３６】
制御部１５０は前記第２方法を選択する場合、メッセージおよび余剰情報（ｒｅｄｕｎｄａｎｔ  ｉｎｆｏｒｍａｔｉｏｎ）の比率を調整してプログラムデータを生成し、前記生成されたプログラムデータを前記新しいメモリページのマルチビットセルにプログラムしてもよい。制御部１５０は、新しくプログラムされるプログラムデータのＥＣＣ（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｃｏｄｅｓ）性能を調整してもよい。
【００３７】
情報を送信する前に最初の情報にＥＣＣを付加して送信情報を生成する過程をＥＣＣ符号化といい、送信情報を受信した後受信された送信情報から付加された情報と最初の情報を分離して最初の情報を復元する過程をＥＣＣ復号化という。
【００３８】
最初の情報をメッセージといってもよく、付加される情報を余剰情報といってもよい。一般的にメッセージに対する余剰情報の比率が大きいほどＥＣＣ復号化過程で多くの誤りを訂正することができる。制御部１５０は第２方法を選択する場合、新しいメモリページにデータをプログラムする前に誤り訂正能力を調整することができる。
【００３９】
メモリ装置１００は、周期的にメモリページ１１１のマルチビットセルから第１データページおよび第２データページを読み出すことができる。メモリ装置１００は、周期的にメモリページ１１１に格納されたデータの誤りレベルをチェックすることによって、データの誤りレベルを目標以下に維持することができる。
【００４０】
メモリ装置１００は、メモリページ１１１に格納されたデータの誤りレベルがＥＣＣデコーダの誤り訂正能力を超過する前に誤りビットを格納するマルチビットセルの閾値電圧を調整することによって、データの誤りレベルを誤り訂正能力の以下に維持することができる。
【００４１】
ＥＣＣデコーダの例によっては、入力コードワードの誤り数が誤り訂正能力以下であれば、前記入力コードワードの全ての誤りを訂正し得る場合がある。誤り訂正能力が明示的に現われるコードとして、ブロックコード（ｂｌｏｃｋ  ｃｏｄｅｓ）などがある。ブロックコードの例では、ＢＣＨ（Ｂｏｓｅ、Ｒａｙ−Ｃｈａｕｄｈｕｒｉ、Ｈｏｃｑｕｅｎｇｈｅｍ）コード、またはリードソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ、ＲＳ）コードなどがあり、これに対する復号化方式においてメギット（ｍｅｇｇｉｔｔ）復号化技法、バーレカンプマッシー（ｂｅｒｌｅｋａｍｐ−ｍａｓｓｅｙ）復号化技法、ユークリッド（ｅｕｃｌｉｄ）復号化技法などがある。
【００４２】
実施形態によっては、制御部１５０は第１データページのメトリック（ｍｅｔｒｉｃ）に基づいて前記識別されたマルチビットセルに格納されたデータを再調整するか否かを決定してもよい。読み出し部１２０が複数の軟判定レベルを用いて第１データページを軟判定する場合、判定結果の値はメトリックで表し得る。このとき、軟判定結果値は、閾値電圧によって生成されるメトリック空間での各マルチビットセルの位置または距離に表してもよい。
【００４３】
実施形態によっては、制御部１５０は第１データページのシンドローム（ｓｙｎｄｒｏｍｅ）に基づいて前記識別されたマルチビットセルに格納されたデータを再調整するか否かを決定してもよい。誤り検出部１３０は、読み出し部１２０によって読み出された第１データページにシンドローム検出行列を乗算して第１データページのシンドロームを算出してもよい。算出されたシンドロームがゼロベクトル（ｚｅｒｏ  ｖｅｃｔｏｒ）でなければ、第１データページは誤りビットを含んでいると判断することができる。シンドローム検出行列は、メッセージからコードワードを生成する生成行列（ｇｅｎｅｒａｔｏｒ  ｍａｔｒｉｘ）から算出されてもよい。
【００４４】
実施形態によっては、制御部１５０は第１データページのビット誤り比率（ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ、ＢＥＲ）に基づいて前記識別されたマルチビットセルに格納されたデータを再調整するか否かを決定してもよい。
【００４５】
図２は、図１の読み出し部１２０の一例を詳細に示す図である。
図２を参照すれば、読み出し部１２０は、基準電圧生成部２１０および閾値電圧検出部２２０を含む。
【００４６】
基準電圧生成部２１０は基準電圧レベルを生成する。
閾値電圧検出部２２０は、基準電圧を用いてメモリページ１１１のマルチビットセル各閾値電圧の範囲を検出する。読み出し部１２０は、前記検出された閾値電圧の範囲から第１データページおよび第２データページを判定することができる。
【００４７】
基準電圧生成部２１０は第１基準電圧レベルを生成し、第１基準電圧レベルに対応する第１ワード線電圧レベルを生成してもよい。読み出し部１２０は、第１ワード線電圧レベルをメモリページ１１１のマルチビットセルに接続されたワード線に印加してもよい。
【００４８】
メモリページ１１１のマルチビットセルのうちの第１ワード電圧レベルよりも高い閾値電圧を有するマルチビットセルはターンオンされてもよい。ターンオンされたマルチビットセルのドレイン端子とソース端子との間には電流が流れてもよい。
【００４９】
メモリページ１１１のマルチビットセルのうちの第１ワード電圧レベルよりも低い閾値電圧を有するマルチビットセルはターンオフされてもよい。ターンオフされたマルチビットセルのドレイン端子とソース端子との間には電流が流れないことがある。
【００５０】
閾値電圧検出部２２０は、メモリページ１１１の各マルチビットセルのビット線を経由して流れる電流を検出してメモリページ１１１のマルチビットセル各閾値電圧が第１基準電圧レベルよりも高いかあるいは低いかを検出することができる。
【００５１】
基準電圧生成部２１０は第２基準電圧レベルを生成してもよく、第２基準電圧レベルに対応する第２ワード線電圧レベルを生成してもよい。閾値電圧検出部２２０は第２ワード線電圧レベルがワード線に印加されれば、メモリページ１１１のマルチビットセル各閾値電圧が第２基準電圧レベルよりも高いかあるいは低いかを検出することができる。
【００５２】
マルチビットセルがｍビットのデータを格納すれば、読み出し部１２０は２ｍ−１個の基準電圧レベルを用いて閾値電圧の範囲を検出してもよい。読み出し部１２０が、メモリページ１１１のマルチビットセルに格納されたデータを軟判定する場合、２ｍ−１個以上の基準電圧レベルを必要とすることがある。
【００５３】
図３は、図１の誤り検出部１３０の一例を詳細に示す図である。
図３を参照すれば、誤り検出部１３０は、ＥＣＣデコーダ３１０およびセル識別部３２０を含む。
【００５４】
ＥＣＣデコーダ３１０は、第１データページを復号化して第１データページの誤りビットを検出することができる。
セル識別部３２０は、メモリページ１１１のマルチビットセルのうちの前記検出された誤りビットを格納するマルチビットセルを識別することができる。
【００５５】
ＥＣＣ復号化方法の実施形態によっては、コードワードの誤りビットを検出し、検出された誤りビットの位置を識別してもよい。ＥＣＣデコーダ３１０は、識別された誤りビットの位置をセル識別部３２０に伝達してもよい。セル識別部３２０は、ＥＣＣ復号化情報を用いて誤りビットを格納するマルチビットセルを識別してもよい。
【００５６】
図４は、図１のメモリページ１１１の一部分の例を詳細に示す図である。
図４を参照すれば、メモリページ１１１は６個のマルチビットセル４１０〜４６０を含む。しかし、実施形態によれば、メモリページ１１１は他の数のマルチビットセルを含んでもよい。
【００５７】
６個のマルチビットセル４１０〜４６０は１つのワード線に接続される。
図４に示す実施形態において、説明の便宜上、マルチビットセル４２０およびマルチビットセル４６０は誤りビットを格納し、残りのマルチビットセル４１０、４３０、４４０、４５０は誤りビットを格納しないと仮定する。
【００５８】
制御部１５０は、ワード線に第１条件電圧を印加し、マルチビットセル４２０およびマルチビットセル４６０それぞれに接続された各ビット線に第２条件電圧を印加し、残りのマルチビットセル４１０、４３０、４４０、４５０に接続された各ビット線には第３条件電圧を印加してもよい。
【００５９】
第１条件電圧は、マルチビットセルの少数キャリアチャネルを活性化する電圧レベルであってもよく、第２条件電圧はマルチビットセル４２０およびマルチビットセル４６０の各閾値電圧を変更することができるようにするプログラム電圧レベルであってもよい。第３条件電圧は、残りのマルチビットセル４１０、４３０、４４０、４５０の各閾値電圧が変更されることを防止するプログラム禁止電圧条件であってもよい。
【００６０】
メモリ装置１００は、誤りビットが格納されたマルチビットセル４２０、４６０に対してだけ選択的にプログラム動作を行って、マルチビットセル４２０、４６０に格納されたデータを調整してもよい。
【００６１】
図５は、図１のメモリ装置１００の動作の一例を示す図である。
図５を参照すれば、メモリページ１１１のマルチビットセルが格納する２ビットのデータおよび閾値電圧の関係が示される。
【００６２】
マルチビットセルの閾値電圧の分布は閾値電圧に対応するマルチビットセルの数に表す。
各マルチビットセルの電気的特性が微細に異なるため、マルチビットセルの閾値電圧は一定の範囲を有する分布を形成してもよい。
【００６３】
図５に示す実施形態において、分布５１１はデータ「１１」が格納されたマルチビットセルを示す。
【００６４】
分布５１２はデータ「１０」が格納されたマルチビットセルを示す。
分布５１３はデータ「００」が格納されたマルチビットセルを示す。
分布５１４はデータ「０１」が格納されたマルチビットセルを示す。
【００６５】
読み出し部１２０は、第２読み出し電圧レベル５２２を用いてメモリページ１１１のマルチビットセルに格納されたＭＳＢを判定してもよい。読み出し部１２０は、第２読み出し電圧レベル５２２よりも高い閾値電圧を有するマルチビットセルに格納されたＭＳＢを「０」と判定し、第２読み出し電圧レベル５２２よりも低い閾値電圧を有するマルチビットセルに格納されたＭＳＢを「１」と判定してもよい。
【００６６】
読み出し部１２０は、第１読み出し電圧レベル５２１および第３読み出し電圧レベル５２３を用いてメモリページ１１１のマルチビットセルに格納されたＬＳＢを判定してもよい。読み出し部１２０は、第１読み出し電圧レベル５２１よりも低い閾値電圧を有するマルチビットセルに格納されたＬＳＢを「１」と判定してもよい。読み出し部１２０は第３読み出し電圧レベル５２３と同一であるか、第３読み出し電圧レベル５２３よりも高い閾値電圧を有するマルチビットセルに格納されたＬＳＢを「１」と判定してもよい。読み出し部１２０は、第１読み出し電圧レベル５２１よりも高くて第３読み出し電圧レベル５２３よりも低い閾値電圧を有するマルチビットセルに格納されたＬＳＢを「０」と判定してもよい。
【００６７】
メモリページ１１１のマルチビットセルに格納されたＬＳＢによって第１データページが生成され、メモリページ１１１のマルチビットセルに格納されたＭＳＢによって第２データページが生成される。
【００６８】
マッピング関係５３１は第１データページのデータパターンおよび閾値電圧の分布間の関係を示し、マッピング関係５３２は第２データページのデータパターンおよび閾値電圧の分布間の関係を示す。
【００６９】
誤り検出部１３０は第１データページに対しＥＣＣ復号化を行って、第１データページの誤りを検出してもよい。誤り検出部１３０は、ＥＣＣ復号化結果を用いて前記検出された誤りが格納されたマルチビットセルを識別してもよい。
【００７０】
閾値電圧推定部１４０は、前記検出された誤りビットおよび第２データページに基づいて前記識別されたマルチビットセルに格納されたデータの変化を抽出してもよい。閾値電圧推定部１４０は、前記識別されたマルチビットセルに格納されたＭＳＢおよび前記検出された誤りビット（ＬＳＢに対して検出された誤り）に基づいて前記識別されたマルチビットセルの閾値電圧の変化を推定してもよい。閾値電圧推定部１４０は、マッピング関係５３１およびマッピング関係５３２を用いて前記抽出されたデータ変化に係る閾値電圧の変化を推定してもよい。
【００７１】
例えば、読み出し部１２０が前記識別されたマルチビットセルから読み出したＬＳＢが「０」であり、誤り検出部１３０によって前記「０」は検出された誤りビットと仮定する。読み出し部１２０が前記識別されたマルチビットセルから読み出したＭＳＢが「０」であれば、閾値電圧推定部１４０は前記識別されたマルチビットセルの閾値電圧がデータプログラム時には第３読み出し電圧レベル５２３よりも高かったが、データ読み出し時には第３読み出し電圧レベル５２３よりも低くなったことを推定することができる。
【００７２】
図６は、図１に示すメモリ装置１００の動作の他の例を示す図である。
図６を参照すれば、メモリページ１１１のマルチビットセルが格納する２ビットのデータおよび閾値電圧の関係が示される。
【００７３】
マルチビットセルの閾値電圧の分布は、閾値電圧に対応するマルチビットセルの数に表す。
図６に示された実施形態において、分布６１１はデータ「１１」が格納されたマルチビットセルを表す。
【００７４】
分布６１２は、データ「１０」が格納されたマルチビットセルを示す。
分布６１３は、データ「００」が格納されたマルチビットセルを示す。
分布６１４は、データ「０１」が格納されたマルチビットセルを示す。
【００７５】
状態６１５は、識別されたマルチビットセルの閾値電圧がデータプログラム時に分布６１４に含まれていることを表す。このとき、前記識別されたマルチビットセルにプログラムされたデータは「０１」である。
【００７６】
矢印６４０は、時間経過による前記識別されたマルチビットセルの閾値電圧の変化を示す。
【００７７】
分布６２１は、データ「１１」が格納されたマルチビットセルを示す。
分布６２２は、データ「１０」が格納されたマルチビットセルを示す。
分布６２３は、データ「００」が格納されたマルチビットセルを示す。
分布６２４は、データ「０１」が格納されたマルチビットセルを示す。
【００７８】
状態６２５は、データ読み出し時に前記識別されたマルチビットセルの閾値電圧が分布６２３に含まれていることを表す。このとき、前記識別されたマルチビットセルから読み出されたデータは「００」である。
【００７９】
制御部１５０は、前記識別されたマルチビットセルにプログラム動作を行って前記識別されたマルチビットセルの閾値電圧を高めてもよい。矢印６５０は、前記プログラム動作による前記識別されたマルチビットセルの閾値電圧の上昇を表す。
【００８０】
分布６３１は、データ「１１」が格納されたマルチビットセルを示す。
分布６３２は、データ「１０」が格納されたマルチビットセルを示す。
分布６３３は、データ「００」が格納されたマルチビットセルを示す。
分布６３４は、データ「０１」が格納されたマルチビットセルを示す。
【００８１】
状態６３５は、前記プログラム動作によって回復した前記識別されたマルチビットセルの閾値電圧を表す。このとき、前記識別されたマルチビットセルに格納されたデータは「０１」である。
【００８２】
メモリ装置１００は、メモリページ１１１のマルチビットセルに格納されたデータのうち、誤りビットの比率によって誤りビットが格納されたマルチビットセルに対する選択的な回復動作を行うか、または新しいメモリページのマルチビットセルに新しくデータをプログラムするかを決定してもよい。メモリ装置１００は、誤りビットの比率が基準値以上であれば新しいメモリページのマルチビットセルに新しくデータをプログラムし、誤りビットの比率が基準値未満であれば、誤りビットが格納されたマルチビットセルに対する選択的な回復動作を行なってもよい。
【００８３】
メモリ装置１００は、前記識別されたマルチビットセルの閾値電圧の変化が基準値以上であれば新しいメモリページのマルチビットセルに新しくデータをプログラムし、閾値電圧の変化が基準値未満であれば、誤りビットが格納されたマルチビットセルに対する選択的な回復動作を行なってもよい。
【００８４】
図５および図６の実施形態では、マルチビットセルが２ビットのデータを格納する場合が示されたが、本発明の実施形態はマルチビットセルがｍビット（ｍ＞２）のデータを格納する場合にも適用され得る。
【００８５】
図７は、本発明の他の実施形態に係るメモリデータ誤り管理方法を示す動作フローチャートである。
図７を参照すれば、メモリデータ誤り管理方法は複数のマルチビットセルから第１データページを読み出す（Ｓ７１０）。
【００８６】
メモリデータ誤り管理方法は、前記マルチビットセルから第２データページを読み出す（Ｓ７２０）。ステップＳ７２０は、ステップＳ７１０で先に発生するものと図示したが、実施形態によってはステップＳ７２０がステップＳ７１０の先に行われてもよい。
【００８７】
メモリデータ誤り管理方法は、第１データページの誤りビットを検出する（Ｓ７３０）。
メモリデータ誤り管理方法は、前記マルチビットセルのうちの前記検出された誤りビットが格納されたマルチビットセルを識別する（Ｓ７４０）。
【００８８】
メモリデータ誤り管理方法は、前記検出された誤りビットおよび第２データページに基づいて前記識別されたマルチビットセルの閾値電圧の変化を推定する（Ｓ７５０）。
メモリデータ誤り管理方法は、前記推定された閾値電圧の変化に応じて前記識別されたマルチビットセルに格納されたデータを再調整する（Ｓ７６０）。
【００８９】
実施形態によってはメモリデータ誤り管理方法は、ステップＳ７３０で第１データページをＥＣＣ復号化し、ＥＣＣ復号化結果に基づいて第１データページの誤りビットを検出してもよい。
【００９０】
実施形態によってはメモリデータ誤り管理方法は、ステップＳ７６０で前記推定された閾値電圧の変化に応じて前記識別されたマルチビットセルの閾値電圧を調整してもよい。
実施形態によってはメモリデータ誤り管理方法は、ステップＳ７６０で前記推定された閾値電圧の変化に基づいて第１方法または第２方法のうちの１つを選択してもよい。このとき、第１方法は前記識別されたマルチビットセルの閾値電圧を調整する方法であり、第２方法は前記識別されたマルチビットセルに格納されたデータを新しいマルチビットセルにプログラムする方法であってもよい。
【００９１】
実施形態によってはメモリデータ誤り管理方法は、ステップＳ７６０で前記検出された誤りビットの数に基づいて前記第１方法または前記第２方法のうちの１つを選択してもよい。
【００９２】
図８は、図７に示すステップＳ７６０の一例を詳細に示す動作フローチャートである。
図８を参照すれば、メモリデータ誤り管理方法は、検出された誤りビットの比率が基準値よりも大きいかの有無を判定してもよい（Ｓ８１０）。
メモリデータ誤り管理方法は、検出された誤りビットの比率が基準値よりも大きければ、新しいマルチビットセルに第１データページおよび第２データページをプログラムしてもよい（Ｓ８３０）。
【００９３】
メモリデータ誤り管理方法は、検出された誤りビットの比率が基準値以下であれば、前記識別されたマルチビットセルの閾値電圧を調整してもよい（Ｓ８２０）。
【００９４】
図９は、本発明の更なる実施形態に係るメモリ装置９００を示す図である。
図９を参照すれば、メモリ装置９００は、メモリセルアレイ９１０、読み出し部９２０、誤り訂正部９３０、制御部９４０およびプログラミング部９５０を含む。
メモリセルアレイ９１０は複数のメモリセルを含んでもよい。このとき、同時にプログラムされるメモリセルの集合をメモリページ９１１といってもよい。
【００９５】
読み出し部９２０は、メモリページ９１１に含まれるメモリセルからデータを読み出すことができる。
誤り訂正部９３０は、前記読み出したデータの誤りビットを検出することができる。誤り訂正部９３０は、メモリページ９１１に含まれるメモリセルのうちに前記検出された誤りビットが格納されたメモリセルを識別することができる。誤り訂正部９３０は前記検出された誤りビットを訂正してもよい。
【００９６】
誤り訂正部９３０は、前記読み出したデータにＥＣＣ復号化を行って前記読み出したデータの誤りビットを検出して前記検出された誤りビットを訂正してもよい。図３に示すＥＣＣデコーダ３１０およびセル識別部３２０は誤り訂正部９３０の実施形態に適用されてもよい。
【００９７】
制御部９４０は前記識別されたメモリセルに前記訂正されたビットに対応する検証電圧を割り当て、メモリページ９１１に含まれるメモリセルのうちに前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する検証電圧を割り当ててもよい。
【００９８】
プログラミング部９５０は、前記割り当てられた検証電圧を用いてメモリページ９１１に含まれるメモリセルに格納されたデータを再調整することができる。プログラミング部９５０は、メモリページ９１１に含まれたメモリセルの各閾値電圧が前記割り当てられた検証電圧以上になるまで、メモリページ９１１に含まれたメモリセルの各閾値電圧を増加させてもよい。プログラミング部９５０は、メモリページ１１に含まれたメモリセルのうちに前記割り当てられた検証電圧以上の閾値電圧を有するメモリセルに対してプログラミングを禁止（ｉｎｈｉｂｉｔ  ｐｒｏｇｒａｍｍｉｎｇ）してもよい。
【００９９】
プログラミング部９５０は、前記割り当てられた検証電圧を用いてメモリページ９１１に含まれたメモリセルの閾値電圧を再調整する第１方法またはメモリページ９１１に含まれたメモリセルに格納されたデータを新しいメモリページに含まれるメモリセルにプログラムする第２方法のいずれか１つを行なってもよい。
【０１００】
制御部９４０は、前記検出された誤りビットの数に基づいて前記第１方法または前記第２方法のいずれか１つを選択してもよく、前記選択された方法をプログラミング部９５０が行うようにプログラミング部９５０を制御してもよい。
【０１０１】
プログラミング部９５０は第２方法が選択された場合、メッセージおよび余剰情報（ｒｅｄｕｎｄａｎｔ  ｉｎｆｏｒｍａｔｉｏｎ）の比率を調整してプログラムデータを生成し、前記生成されたプログラムデータを前記新しいメモリページに含まれるメモリセルにプログラムすることができる。プログラミング部９５０は、余剰情報の比率を高めることによってプログラムデータの誤り訂正能力を高めることができる。
【０１０２】
ＥＣＣエンコーダは、メッセージおよび余剰情報にＥＣＣ符号化を行ってコードワード（ｃｏｄｅｗｏｒｄ）を生成してもよい。プログラミング部９５０は、生成されたコードワードを前記新しいメモリページに含まれるメモリセルにプログラムしてもよい。読み出し部９２０は、メモリページ９１１または前記新しいメモリページに含まれるメモリセルからコードワードを読み出してもよい。誤り訂正部９３０のＥＣＣデコーダは、コードワードにＥＣＣ復号化を行ってメッセージを復元してもよい。
【０１０３】
誤り訂正部９３０は、前記読み出したコードワードロブト検出された誤りビットまたはシンボルの数を第１基準値および第２基準値と比較してもよい。前記第１基準値および前記第２基準値はＥＣＣデコーダの誤り訂正能力よりも小さく、前記第１基準値は前記第２基準値よりも小さいこともある。
【０１０４】
制御部９４０は、検出された誤りビットまたはシンボルの数が前記第１基準値以下であれば、第１方法を選択してもよい。制御部９４０は、検出された誤りビットまたはシンボルの数が前記第１基準値よりも大きく、前記第２基準値以下であれば第２方法を選択してもよい。
【０１０５】
誤り訂正部９３０は、前記読み出したコードワードのビット誤り比率（ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ、ＢＥＲ）を算出してもよい。制御部９４０は、前記算出されたＢＥＲに基づいて第１方法または第２方法のいずれか１つを選択してもよい。例えば、制御部９４０は、ＢＥＲが第１基準値以下であれば第１方法を選択し、ＢＥＲが前記第１基準値よりも大きくて第２基準値以下であれば第２方法を選択してもよい。
【０１０６】
実施形態によっては、メモリセルアレイ９１０は、パイロットセル（ｐｉｌｏｔ  ｃｅｌｌ）を含んでもよい。前記パイロットセルはデータを格納しなくてもよく、メモリ装置９００が閾値電圧の変化を推定するためのサンプルの役割を行なってもよい。
【０１０７】
制御部９４０は、前記パイロットセルを用いて閾値電圧の変化を推定してもよい。制御部９４０は、前記推定された閾値電圧の変化に応じて第１方法または第２方法のいずれか１つを選択してもよい。制御部９４０は、前記パイロットセルを用いて電荷損失などによる分布の歪曲の程度を分析することができる。
【０１０８】
制御部９４０は、メモリページ９１１のメモリセルのうちの一部のメモリセルにデータがプログラムされた時間情報を格納してもよい。このとき、時間情報はシングルビットプログラミング方法によって格納されてもよい。このとき、時間情報を格納するために余剰ビットの比率を高めたＥＣＣ符号化方式を用いてもよい。
【０１０９】
制御部９４０は、現在の時間情報および前記格納された時間情報を比較して前記現在の時間情報および前記格納された時間情報の差が基準値以下であれば、第１方法を選択してもよい。制御部９４０は、前記現在の時間情報および前記格納された時間情報の差が基準値よりも大きければ、第２方法を選択してもよい。
【０１１０】
制御部９４０は、第１方法が行なわれた回数が基準値以上であれば、第２方法を選択してもよい。
読み出し部９２０は、時間周期ごとにメモリセルアレイ９１０内のメモリセルからデータを読み出すことができる。メモリ装置９００は、前記時間周期ごとにメモリセルアレイ９１０内のメモリセルに格納されたデータを読み出し、前記格納されたデータの誤りを管理することができる。制御部９４０は、メモリセルアレイ９１０内のメモリセルが消去された回数に基づいて前記時間周期を決定してもよい。メモリセルがプログラムされて消去された回数は、Ｐ／Ｅサイクルといい、Ｐ／Ｅサイクルが大きいメモリセルは、電荷損失による閾値電圧の変化が大きいものと予想され得る。例えば、制御部９４０は、Ｐ／Ｅサイクルが大きいほど前記時間周期を短く設定してもよい。
【０１１１】
実施形態によっては、メモリセルアレイ９１０内のメモリセルは、マルチビットデータを格納することのできるマルチビットセルであってもよい。このとき、読み出し部９２０は、メモリページ９１１に含まれたメモリセルから複数のデータページを読み出してもよい。誤り訂正部９３０は、前記読み出した複数のデータページの誤りビットを検出して前記検出された誤りビットを訂正してもよい。誤り訂正部９３０は、前記検出された誤りビットを前記訂正されたビットに代替してデータページを復元してもよい。制御部９４０は、前記復元されたデータページに基づいて前記識別されたメモリセルに割り当てられる検証電圧を決定してもよい。
【０１１２】
図１１は、図９に示すメモリ装置９００の動作の一例を示す図である。
図１１を参照すれば、閾値電圧レベルに対応するメモリセルの数が示される。
データＡが格納されたメモリセルの閾値電圧は分布１１１０を形成してもよい。
【０１１３】
データＢが格納されたメモリセルの閾値電圧は分布１１２０を形成してもよい。このとき、プログラミング部９５０は電圧レベル１１５０を検証電圧で選択し、前記選択された検証電圧を用いてデータＢをプログラムすることができる。
【０１１４】
データＢが格納された後に時間が経過すれば、電荷損失によってメモリセルの閾値電圧が減少することがある。時間の経過後、データＢが格納されたメモリセルの閾値電圧は分布１１３０を形成してもよい。
【０１１５】
読み出し部９２０は、電圧レベル１１４０を読み出し電圧（または基準電圧）に選択してもよい。読み出し部９２０は、前記選択された読み出し電圧を用いてメモリセルに格納されたデータを読み出してもよい。読み出し部９２０は、電圧レベル１１４０よりも高い閾値電圧を有するメモリセルに格納されたデータをＢと判定し、電圧レベル１１４０よりも低い閾値電圧を有するメモリセルに格納されたデータをＡと判定してもよい。
【０１１６】
時間の経過に応じて、データＢが格納されたメモリセルの閾値電圧が分布１１３０を形成するため、読み出し部９２０は、分布１１３０に対応するメモリセルのうちの分布の部分１１３１に対応するメモリセルに格納されたデータをＡと判定してもよい。分布の部分１１３１は、分布１１３０に対応するメモリセルのうちの電圧レベル１１４０よりも低い閾値電圧を有するメモリセルが形成する分布の部分である。
【０１１７】
誤り訂正部９３０は、ＥＣＣ復号化を行って分布の部分１１３１に対応するメモリセルに格納されたデータの誤りを検出することができる。誤り訂正部９３０は、前記検出された誤りが格納されたメモリセルを識別することによって分布の部分１１３１に対応するメモリセルを識別してもよい。
【０１１８】
制御部９４０は、電圧レベル１１５０を前記識別されたメモリセル（分布の部分１１３１に対応するメモリセル）の検証電圧で選択してもよい。制御部９４０は、電圧レベル１１６０を分布１１１０に対応するメモリセルの検証電圧で選択してもよい。制御部９４０は、電圧レベル１１４０による判定結果の代わりにＥＣＣ復号化による誤り訂正結果に基づいて分布の部分１１３１に対応するメモリセルの検証電圧を選択してもよい。
【０１１９】
制御部９４０は、分布の部分１１３２および分布の部分１１３３に対応するメモリセルの検証電圧で電圧レベル１１５０を選択してもよい。制御部９４０は、電圧レベル１１４０による判定結果に基づいて分布の部分１１３２および分布の部分１１３３に対応するメモリセルの検証電圧を選択してもよい。
【０１２０】
プログラミング部９５０は、割り当てられた検証電圧を用いてメモリセルの各閾値電圧を再調整してもよい。プログラミング部９５０は、分布１１１０に対応するメモリセルに検証電圧で割り当てられた電圧レベル１１６０を用いて分布１１１０に対応するメモリセルの閾値電圧を再調整してもよい。分布１１１０に対応するメモリセルの閾値電圧は電圧レベル１１６０よりも高いため、プログラミング部９５０は分布１１１０に対応するメモリセルに対しプログラミングを禁止してもよい。
【０１２１】
プログラミング部９５０は、分布１１３０に対応するメモリセルに検証電圧で割り当てられた電圧レベル１１５０を用いて分布１１３０に対応するメモリセルの閾値電圧を再調整してもよい。プログラミング部９５０は、分布の部分１１３１および分布の部分１１３２に対応するメモリセルの閾値電圧が電圧レベル１１５０以上になるまで、分布の部分１１３１および分布の部分１１３２に対応するメモリセルの閾値電圧を増加させてもよい。分布の部分１１３３に対応するメモリセルの閾値電圧は電圧レベル１１５０よりも高いため、プログラミング部９５０は分布の部分１１３３に対応するメモリセルに対してプログラミングを禁止してもよい。
【０１２２】
メモリ装置９００は誤りが格納されたものであり識別されたメモリセル（分布の部分１１３１に対応するメモリセル）だけでなく、データＢが格納されたと判定されたメモリセルに対してもデータ再調整のシーケンスを行なってもよい。メモリ装置９００は、読み出し電圧の電圧レベル１１４０よりも高くて検証電圧の電圧レベル１１５０よりも低い閾値電圧を有するメモリセル（分布の部分１１３２に対応するメモリセル）の閾値電圧を電圧レベル１１５０以上に増加させることができる。
【０１２３】
分布の部分１１３２に対応するメモリセルに格納されたデータは、電圧レベル１１４０によって誤りがないと判定されてもよいが、電荷損失などによってデータ汚染が進行中の場合がある。メモリ装置９００は、分布の部分１１３２に対応するメモリセルに格納されたデータを再調整することによって進行中のデータ汚染を減らすことができる。
【０１２４】
実施形態によっては、メモリ装置９００は分布の部分１１３１に対応するメモリセルには電圧レベル１１５０で他の電圧レベルを検証電圧に設定してもよい。例えば、メモリ装置９００は、分布の部分１１３１に対応するメモリセルのデータ汚染の可能性が高いため、電圧レベル１１５０よりも高い電圧レベルを検証電圧に設定してもよい。
【０１２５】
メモリ装置９００は、外部ホストからメモリ装置９００に対するアクセス要求に応答してデータを外部ホストに送信してもよい。このとき、メモリ装置９００は、外部ホストに前記データを送信する前に前記データを再調整してもよい。メモリ装置９００は前記再調整されたデータを外部ホストに送信することによって、外部ホストに送信されるデータに含まれる誤りを減らすことができる。
【０１２６】
メモリ装置９００は、外部ホストからメモリ装置９００に対するアクセス要求がない待機状態（ｉｄｌｅ  ｓｔａｔｅ）であるとき、メモリセルアレイ９１０に格納されたデータを再調整してもよい。メモリ装置９００は、待機状態の間メモリセルアレイ９１０に格納されたデータを再調整することによって、メモリセルアレイ９１０に格納されたデータに含まれた誤りを減らすことができる。
【０１２７】
図１０は、本発明の更なる実施形態に係るメモリデータ誤り管理方法を示す図である。
図１０を参照すれば、メモリデータ誤り管理方法は複数のメモリセルからデータを読み出す（Ｓ１０１０）。
メモリデータ誤り管理方法は前記読み出したデータの誤りビットを検出する（Ｓ１０２０）。
【０１２８】
メモリデータ誤り管理方法は、前記複数のメモリセルのうち前記検出された誤りビットが格納されたメモリセルを識別する（Ｓ１０３０）。
メモリデータ誤り管理方法は前記検出された誤りビットを訂正する（Ｓ１０４０）。
メモリデータ誤り管理方法は、前記識別されたメモリセルに前記訂正されたビットに対応する検証電圧を割り当てる（Ｓ１０５０）。
【０１２９】
メモリデータ誤り管理方法は、前記複数のメモリセルのうち前記識別されたメモリセル以外の残りのメモリセルに前記読み出したデータに対応する検証電圧を割り当てる（Ｓ１０６０）。
【０１３０】
メモリデータ誤り管理方法は、前記割り当てられた検証電圧を用いて前記複数のメモリセルに格納されたデータを再調整する（Ｓ１０７０）。
【０１３１】
本発明の実施形態に係るメモリデータ誤り管理方法は、多様なコンピュータ手段を介して実行することができるプログラム命令形態に具現され、コンピュータ読取可能な記録媒体に記録されることができる。前記コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェア階層で作動するように構成され、その逆も同様である。
【０１３２】
本発明の実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、多様な形態のパッケージを用いて具現されることができる。例えば、実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのようなパッケージを用いて実現されることができる。
【０１３３】
フラッシュメモリ装置とメモリコントローラは、メモリカードを構成することができる。このような場合、メモリコントローラは、ＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、およびＩＤＥなどのような多様なインタフェースプロトコルのうちの１つを介して外部（例えば、ホスト）と通信するように構成することができる。
【０１３４】
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持することのできる非揮発性メモリ装置である。セルラーフォン、ＰＤＡデジタルカメラ、ポータブルゲームコンソール、そしてＭＰ３Ｐのようなモバイル装置の使用増加に応じてフラッシュメモリ装置はデータストレージだけでなく、コードストレージとしてより広く用いられることができる。フラッシュメモリ装置は、さらにＨＤＴＶ、ＤＶＤ、ルータ、およびＧＰＳのようなホームアプリケーションに用いられてもよい。
【０１３５】
実施形態に係るコンピュータシステムは、バスに電気的に接続されたマイクロプロセッサ、ユーザインタフェース、ベースバンドチップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム、メモリコントローラ、およびフラッシュメモリ装置を含む。フラッシュメモリ装置には、マイクロプロセッサによって処理された／処理されるＮ−ビットデータ（Ｎは１またはそれよりも大きい整数）がメモリコントローラを介して格納されるであろう。実施形態に係るコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリが追加的に提供されるであろう。
【０１３６】
実施形態に係るコンピュータシステムには応用チップセット、カメライメージプロセッサ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＣＩＳ）、モバイルＤＲＡＭなどがさらに提供されることは、この分野の通常の知識を有する者であれば自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを格納するために非揮発性メモリを用いるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）を構成することができる。
【０１３７】
上述したように、本発明は、たとえ限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような基材から多様な修正および変形が可能である。
【０１３８】
したがって、本発明の範囲は説明された実施形態に限定されて決められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定められなければならない。
【符号の説明】
【０１３９】
１００  メモリ装置
１１０  マルチビットセルアレイ
１１１  メモリページ
１２０  読み出し部
１３０  誤り検出部
１４０  閾値電圧推定部
１５０  制御部
【図１】
2011521394.tif 000003
【図２】
2011521394.tif 000004
【図３】
2011521394.tif 000005
【図４】
2011521394.tif 000006
【図５】
2011521394.tif 000007
【図６】
2011521394.tif 000008
【図７】
2011521394.tif 000009
【図８】
2011521394.tif 000010
【図９】
2011521394.tif 000011
【図１０】
2011521394.tif 000012
【図１１】
2011521394.tif 000013
【国際調査報告】
2011521394.tif 000014
2011521394.tif 000015