(57)【要約】不揮発性メモリのためのマルチビットプログラミング装置および方法を提供する。一実施形態において、マルチビットプログラミング装置は、原マルチビットデータをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングするように設定されたマルチビットプログラミング部と、原マルチビットデータの各ビットに対してメモリセルアレイ内のバックアップメモリセルを選択し、原マルチビットデータの各ビットを選択されたバックアップメモリセルのそれぞれにプログラミングするように設定されたバックアッププログラミング部とを含むことができる。【選択図】  図２
2010526395.tif 000002
【特許請求の範囲】
【請求項１】
マルチビットプログラミング装置であって、
原マルチビットデータをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングするように設定されたマルチビットプログラミング部と、
前記原マルチビットデータの各ビットに対して前記メモリセルアレイ内のバックアップメモリセルを選択し、前記原マルチビットデータの各ビットを前記選択されたバックアップメモリセルのそれぞれにプログラミングするように設定されたバックアッププログラミング部と、
を含むマルチビットプログラミング装置。
【請求項２】
前記目標メモリセルにマルチビットプログラミングされたデータを前記選択されたバックアップメモリセルにプログラミングされたデータと比較することにより、前記マルチビットプログラミングが成功したか否かを検証するデータ検証部、
をさらに含む請求項１に記載のマルチビットプログラミング装置。
【請求項３】
前記メモリセルアレイは、少なくとも２つのメモリセルアレイブロックをさらに含み、
前記少なくとも２つのメモリセルアレイブロックは前記目標メモリセルを含み、前記少なくとも２つのメモリセルアレイブロックの他の１つは前記選択されたバックアップメモリセルのうちの少なくとも１つを含む請求項１に記載のマルチビットプログラミング装置。
【請求項４】
前記バックアッププログラミング部は、前記選択されたバックアップメモリセルのうちの１つのバックアップメモリセルあたり１ビットデータのみをプログラムするように設定された請求項１に記載のマルチビットプログラミング装置。
【請求項５】
前記バックアップメモリセルを消去するように設定されたバックアップ消去部、
をさらに含む請求項１に記載のマルチビットプログラミング装置。
【請求項６】
前記バックアップメモリセルのそれぞれは、前記目標メモリセルのワードラインと異なるワードラインに選択的に連結し、相互間にも異なるワードラインに連結する請求項１に記載のマルチビットプログラミング装置。
【請求項７】
前記メモリセルアレイに連結した制御器および周辺回路のうちの１つをさらに含み、
前記メモリセルアレイ内の前記メモリセルのそれぞれが用いられた回数に基づいて前記バックアップメモリセルを選択するように設定された請求項１に記載のマルチビットプログラミング装置。
【請求項８】
前記マルチビットプログラミング部は、前記目標メモリセルの電圧を変化させることにより、前記原マルチビットデータの各ビットをプログラミングするように設定された請求項１に記載のマルチビットプログラミング装置。
【請求項９】
前記マルチプログラミング部は、前記バックアッププログラミング部が前記原マルチビットデータの各ビットを前記選択されたバックアップメモリセルのそれぞれにプログラミングするとき、前記原マルチビットデータを前記目標メモリセルにマルチビットプログラミングするように設定された請求項１に記載のマルチビットプログラミング装置。
【請求項１０】
前記メモリセルアレイは、不揮発性メモリ（ＮＶＭ）セルアレイを含む請求項１に記載のマルチビットプログラミング装置。
【請求項１１】
前記マルチビットプログラミング装置はＮＶＭ装置に含まれる請求項１０に記載のマルチビットプログラミング装置。
【請求項１２】
前記原マルチビットデータはメタデータを含む請求項１１に記載のマルチビットプログラミング装置。
【請求項１３】
原マルチビットデータをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングするステップと、
前記原マルチビットデータの各ビットに対して前記メモリセルアレイ内のバックアップメモリセルを選択し、前記原マルチビットデータの各ビットを前記選択されたバックアップメモリセルのそれぞれにプログラミングするステップと、
を含むマルチビットプログラミング方法。
【請求項１４】
前記目標メモリセルにマルチビットプログラミングされたデータを前記選択されたバックアップメモリセルにプログラミングされたデータと比較することにより、前記マルチビットプログラミングが成功したか否かを検証するステップ、
をさらに含む請求項１３に記載のマルチビットプログラミング方法。
【請求項１５】
前記検証の結果、前記目標メモリセルにプログラムされた前記マルチビットプログラムされたデータおよび前記選択されたバックアップメモリセルにプログラムされた前記データが同じである場合、前記選択されたバックアップメモリセルを消去するステップ、
をさらに含む請求項１４に記載のマルチビットプログラミング方法。
【請求項１６】
前記バックアップメモリセル１つあたり１ビットのデータのみがプログラミングされる請求項１３に記載のマルチビットプログラミング方法。
【請求項１７】
前記バックアップメモリセルは、前記メモリセルアレイ内のすべてのメモリセルが用いられた回数に基づいて選択される請求項１３に記載のマルチビットプログラミング方法。
【請求項１８】
前記原マルチビットデータの前記マルチビットプログラミングは、前記目標メモリセルの閾値電圧を変化させることにより、前記原マルチビットデータの各ビットをプログラムする請求項１３に記載のマルチビットプログラミング方法。
【請求項１９】
前記プログラミングされた原マルチビットデータの各ビットを他の目標メモリセルにマルチビットプログラミングするステップ、
をさらに含む請求項１３に記載のマルチビットプログラミング方法。
【請求項２０】
前記マルチビットプログラミングは、コンピュータ読み取り可能な媒体に実現される請求項１３に記載のマルチビットプログラミング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体メモリ装置に係り、より詳細には、マルチビットプログラミング装置およびマルチビットプログラミング方法に関する。
【背景技術】
【０００２】
不揮発性メモリ（ＮＶＭ：ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）装置は、電気的にプログラミング（ｐｒｏｇｒａｍｍｉｎｇ）および消去（ｅｒａｓｅ）が可能であり、供給電源がない状態でもプログラミングされたデータを保持することができる半導体メモリ装置である。
不揮発性メモリ装置は、デジタルカメラ、携帯電話（ｃｅｌｌｕｌａｒ  ｐｈｏｎｅ）、携帯情報端末機（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、ラップトップコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）などに広く用いられており、半導体チップ上の小さい面積に多くの量のデータを格納することができる。
【０００３】
一般的に、不揮発性メモリ装置にデータをプログラミングまたは消去する方法は、メモリセルアレイを構成するトランジスタの閾値電圧を変化させる方法が用いられる。このような方法は、ファウラーノルドハイムトンネリング（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ  ｔｕｎｎｅｌｉｎｇ、「Ｆ−Ｎトンネリング」）として知られている。
【０００４】
半導体チップの面積を減らすために、不揮発性メモリ装置の１つのメモリセルに２以上のデータビットを格納するプログラミング方法が広く用いられている。このような方法は、メモリセルアレイを構成するトランジスタの閾値電圧を複数の段階に分けて変化させる方法によって実現される。このようなプログラミング方法によってデータを格納するメモリセルアレイを、マルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）という。
しかしながら、トランジスタの閾値電圧を変化させる変化の程度が、既存のシングルレベル（ｓｉｎｇｌｅ−ｌｅｖｅｌ）プログラミング方法に比べて狭く（ｓｍａｌｌｅｒ）しなければならない。したがって、トランジスタの閾値電圧の変化を制御することが難しい。
【０００５】
また、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ファームウエア（Ｆｉｒｍｗａｒｅ）など高い信頼性（ｒｅｌｉａｂｉｌｉｔｙ）が求められるデータの場合に対して、プログラミング過程におけるエラーの発生を防ぐためにマルチビットプログラミング方法が要求される。
したがって、不揮発性メモリ装置において、より効率的なマルチビットプログラミング方法が要求されるようになる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、プログラミング過程で発生するエラーを減らすことができるマルチビットプログラミング装置および方法を提供することができる。さらに、本発明の実施形態は、プログラミングが中断した場合にもデータの損失が発生しないマルチビットプログラミング装置および方法を提供することができる。
【課題を解決するための手段】
【０００７】
本発明の実施形態において、マルチビットプログラミング装置は、原マルチビットデータをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングするように設定されたマルチビットプログラミング部と、前記原マルチビットデータの各ビットに対して前記メモリセルアレイ内のバックアップメモリセルを選択し、前記原マルチビットデータの各ビットを前記選択されたバックアップメモリセルのそれぞれにプログラミングするように設定されたバックアッププログラミング部とを含むことができる。
【０００８】
本発明のさらに他の実施形態において、マルチビットプログラミング方法は、原マルチビットデータをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングするステップと、前記原マルチビットデータの各ビットに対して前記メモリセルアレイ内のバックアップメモリセルを選択し、前記原マルチビットデータの各ビットを前記選択されたバックアップメモリセルのそれぞれにプログラミングするステップとを含むことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るマルチビットプログラミング装置を示す回路図である。
【図２】本発明の一実施形態に係るマルチビットプログラミング動作の一状態を示す図である。
【図３】本発明のさらに他の実施形態に係るマルチビットプログラミング動作の一状態を示す図である。
【図４】本発明のさらに他の実施形態に係るマルチビットプログラミング動作の一状態を示す図である。
【図５】本発明の一実施形態に係るマルチビットプログラミング装置の構成を示すブロック図である。
【図６】本発明の一実施形態に係るマルチビットプログラミング方法を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面に基づき、本発明の好適な実施の形態を詳細に説明するが、本発明がこれらの実施形態によって制限または限定されることはない。図中、同一参照符号は同一部材を示す。
【００１１】
構成要素が他の構成要素に「接した（ｏｎ）」、「連結した（ｃｏｎｎｅｃｔｅｄｔｏ）」、または「繋がった（ｃｏｕｐｌｅｄｏｎ）」と表現されたとき、構成要素は他の構成要素に直接連結したり繋がっていてもよく、または他の構成要素を介して連結したり繋がっていてもよい。逆に、構成要素が他の構成要素に「直接接した（ｄｉｒｅｃｔｌｙ  ｏｎ）」、「直接連結した（ｄｉｒｅｃｔｌｙ  ｃｏｎｎｅｃｔｅｄ）」、または「直接繋がった（ｄｉｒｅｃｔｌｙ  ｃｏｕｐｌｅｄ）」と表現された場合、構成要素の間には他の構成要素が介入していない。ここで用いられる「および／または」という用語は、関連してリストされる項目の１つまたはそれ以上のすべて、またはあらゆる組み合わせも含む。
【００１２】
ここで、多様な要素（ｅｌｅｍｅｎｔｓ）、構成要素（ｃｏｍｐｏｎｅｎｔｓ）、領域（ｒｅｇｉｏｎｓ）、層（ｌａｙｅｒｓ）、および／またはセクション（ｓｅｃｔｉｏｎｓ）を示すために「第１」、「第２」、「第３」などの用語が用いられたが、このような要素、構成要素、領域、層、およびセクションがこのような用語によって制限されるものではない。このような用語は、ただ１つの要素、構成要素、領域、層、および／またはセクションを他の要素、構成要素、領域、層、および／またはセックションと区分するために用いられたものに過ぎない。例えば、例示された実施形態の技術思想の範囲内から逸脱せずに、第１要素、構成要素、領域、層、および／またはセックションが第２要素、構成要素、領域、層、および／またはセクションとして命名されてもよく、第２要素、構成要素、領域、層、および／またはセックションが第１要素、構成要素、領域、層、および／またはセクションとして命名されてもよい。
【００１３】
「下側に（ｂｅｎｅａｔｈ）」、「下に（ｂｅｌｏｗ）」、「低く（ｌｏｗｅｒ）」、「上に（ａｂｏｖｅ）」、「上側に（ｕｐｐｅｒ）」などのような空間的関係を示す用語は、図に示された１つの構成要素および／または特徴（ｆｅａｔｕｒｅ）と他の構成要素および／特徴との関係を容易に説明するために用いることができる。このような空間的関係を示す用語は、動作時または使用時に、図に示した位置に追加し、装置の他の位置関係も含むものと理解することができる。例えば、仮に、図に示した装置が反転すれば、他の構成要素または特徴の「下に（ｂｅｌｏｗ）」または「下側に（ｂｅｎｅａｔｈ）」として表現された構成要素は、他の構成要素または特徴の「上に（ａｂｏｖｅ）」に変わるようになる。このように、「下に（ｂｅｌｏｗ）」という用語は、上下すべての方向を含むことができる。装置の位置が変更すれば（９０度回転または他の方向に）、ここで用いられた空間的相対表現は同じように理解されなければならない。
【００１４】
ここで用いられた用語は、具体的な実施形態を説明するための目的として用いられ、例示された実施形態を制限するためものではない。ここで用いられたもののように、単数形態（例えば、「ａ」、「ａｎ」、および「ｔｈｅ」）は、相違して記述されていない限り複数の形態も含む。「含む（ｃｏｍｐｒｉｓｅ、ｃｏｍｐｒｉｓｉｎｇ、ｉｎｃｌｕｄｅ、ａｎｄ／ｏｒ  ｉｎｃｌｕｄｉｎｇ）」という用語は、記述された特徴、数字、段階、動作、要素、および／または構成要素を指定するが、１つ以上の他の特徴、数字、段階、動作、要素、構成要素、および／またはこれらのグループの追加または存在を除外しない。
【００１５】
実施形態は、ここで理想化された（ｉｄｅａｌｉｚｅｄ）実施形態（および中間構造）を概念的に表現する断面図（ｃｒｏｓｓ−ｓｅｃｔｉｏｎ  ｉｌｌｕｓｔｒａｔｉｏｎ）を参照して説明することができる。このように、結果としての図面形状の変化、例えば、製造技術および／またはトレランス（ｔｏｌｅｒａｎｃｅ）が予測される。このように、実施形態は、ここに示された領域の特定形状に制限されるものとして解釈されてはならず、結果となる（例えば、製造から）形状の変更も含むものとして解釈される。例えば、四角形で示された埋め込まれた（ｉｍｐｌａｎｔｅｄ）領域は、典型的に、埋め込まれた領域から埋め込まれていない領域に２進変化をするよりは、ある角度で埋め込まれた中心（ｉｍｐｌａｎｔ  ｃｏｎｃｅｎｔｒａｔｉｏｎ）が傾斜したりおよび／または丸くなったり（ｒｏｕｎｄｅｄ）カーブ（ｃｕｒｖｅｄ）状を有する。同じように、埋もれ（ｉｍｐｌａｎｔａｔｉｏｎ）によって形成された埋もれた領域（ｂｕｒｉｅｄ  ｒｅｇｉｏｎ）は、埋もれが発生した表面と埋め込まれた領域との間にある領域に、ある埋もれを招くこともある。このように、図に示された領域は概念的であり、この形状は装置の領域の実際の形状を説明するためのものでもなく、実施形態を制限するためものでもない。
【００１６】
異なるように定義されなければ、ここに用いられたすべての用語（技術的、科学的用語を含む）は、本発明が属する技術分野において通常の知識を有する者によって通常的に理解されるような意味を有する。通常的に用いられる辞書に定義されたような用語は、関連技術の文脈において、その意味と一致する意味を有するものとして解釈されなければならず、ここにそのように表現した場合を除いては、理想化したり過剰に形式的な意味として解釈されてはならない。
【００１７】
図１は、本発明の一実施形態に係るマルチビットプログラミング装置を示す図である。
図１を参照すれば、マルチビットプログラミング装置１００は、目標メモリセル１１０に原Ｎビットデータ１３０をマルチビットプログラミングする。マルチビットプログラミング装置１００は、不揮発性メモリセルアレイ（ｃｅｌｌ  ａｒｒａｙ）を含むことができる。
【００１８】
マルチビットプログラミング装置１００は、原Ｎビットデータ１３０の各ビットに対して、バックアップメモリセル１２０を選択する。マルチビットプログラミング装置１００は、選択されたバックアップメモリセル１２０のそれぞれをイネーブル（ｅｎａｂｌｅ）し、これをワードラインに連結する。ワードラインは、目標メモリセル１１０のワードラインと異なることがある。選択されたバックアップメモリセル１２０の数は、ｎとすることができる。
【００１９】
マルチビットプログラミング装置１００は、データをバックアップする。例えば、マルチビットプログラミング装置１００は、原Ｎビットデータ１３０をＮ個の選択されたバックアップメモリセル１２０にバックアップする。マルチビットプログラミング装置１００は、バックアップメモリセル１２０にセル１つあたり１ビットのデータのみをプログラミングすることができる。
【００２０】
マルチビットプログラミング装置１００は、前記Ｎ個のバックアップメモリセル１２０にプログラミングされたＮビットのデータと目標メモリセル１１０にマルチビットプログラミングされたＮビットのデータを読み出して互いに比較する。マルチビットプログラミング装置１００は、比較した結果に基づいて、マルチビットプログラミング動作が成功したか否かを検証する。
【００２１】
マルチビットプログラミング動作の成功は、Ｎ個のバックアップメモリセル１２０から読み出されたＮビットのデータと目標メモリセル１１０から読み出されたＮビットのデータが互いに一致する場合とすることができる。したがって、前記マルチビットプログラミング装置は、バックアップメモリセル１２０から読み出されたＮビットのデータと目標メモリセル１１０から読み出されたＮビットのデータが互いに一致すれば、マルチビットプログラミング装置１００は、バックアップメモリセル１２０を消去して次の動作に備えることができる。Ｎ個の選択されたバックアップメモリセル１２０は、原データを臨時（ｔｅｍｐｏｒａｒｉｌｙ）格納することができ、これにより、Ｎ個の選択されたバックアップメモリセル１２０は、臨時メモリ（ｔｅｍｐｏｒａｌ  ｍｅｍｏｒｙ）セルの機能を行うようになる。
【００２２】
図２は、本発明の一実施形態に係るマルチビットプログラミング動作の一状態を示す図である。
図２を参照すれば、本発明のマルチビットプログラミング過程が適用されるメモリセルアレイ２００は、６個のメモリセルアレイブロック２１０、２２０、２３０、２４０、２５０、２６０を含む。メモリセルアレイ２００は、ＮＶＭセルアレイを含むことができる。１番目のブロック２１０に含まれたメモリセルが目標メモリセルとすることができる。目標メモリセルそれぞれには、４ビットの原データがマルチビットプログラミングされることができる。
【００２３】
バックアップメモリセルは、２番目のブロック２２０、３番目のブロック２３０、４番目のブロック２４０、および５番目のブロック２５０に含まれることができる。原４ビットデータのうちの１ビットのデータがバックアップメモリセルそれぞれに、例えば、１番目、２番目、３番目、および４番目のブロック２２０、２３０、２４０、および２５０にプログラミングされる。メモリセル１つに１ビットのデータがプログラミングされることを、シングルビットプログラミング（ｓｉｎｇｌｅ  ｂｉｔ  ｐｒｏｇｒａｍｍｉｎｇ）という。
【００２４】
目標メモリセルそれぞれに４ビットの原データがマルチビットプログラミングされる場合、バックアップメモリセルの個数は、目標メモリセルの個数の４倍とすることができる。メモリセルブロック１つにマルチビットプログラミングする過程に対して４個のバックアップメモリセルブロックを必要とすることができ、これは最小保持ブロック（ｍｉｎｉｍｕｍ  ｐｒｅｓｅｒｖａｔｉｏｎ  ｂｌｏｃｋ）として参照される。
【００２５】
マルチビットプログラミング装置は、原４ビットデータの各ビットを選択されたバックアップメモリセルのそれぞれにプログラミングし、プログラムされた原４ビットデータの各ビットを目標メモリセルにマルチビットプログラミングすることができる。
【００２６】
一般的に、メモリセルアレイにデータをプログラミングする過程は、データを読み出す過程に比べて多くの時間を必要とする。したがって、メモリセルアレイにデータをプログラミングすることにおいて、予め設定された数だけの複数のメモリセルそれぞれに対して対応するデータを複数のメモリセルそれぞれに同時にプログラミングする方法を用いることができる。予め設定された数は、１よりも大きい。
【００２７】
同時に、プログラミングされるメモリセルを１つのページ（ｐａｇｅ）とし、１つのページにプログラミングされるデータをページバッファ（ｐａｇｅ  ｂｕｆｆｅｒ）にラッチ（ｌａｔｃｈ）してプログラミング過程の間に保持するようにできる。１つのページは、１つのワードライン（ｗｏｒｄ  ｌｉｎｅ）に連結するメモリセルからなるものとすることができる。
【００２８】
１つのページがＭ個のメモリセルからなる場合であれば、Ｍ個の目標メモリセルからなる目標ページに同時にデータのプログラミング過程を実行することができる。目標ページに４ビットプログラミング過程を実行する場合であれば、原データは４Ｍビットとすることができる。４ビットプログラミング過程は、４Ｍビットの原データのうち、Ｍビットずつのデータを順に目標ページにプログラミングする目標ページプログラミング過程を４回実行するものとすることができる。
【００２９】
目標ページプログラミング過程は、プログラミングしようとするデータによって目標メモリセルの閾値電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）を変化させる過程とすることができ、４ビットプログラミング過程は、４回の目標ページプログラミング過程ごとに閾値電圧の変化の程度を異なるようにして実行することができる。目標メモリセルは、１６（＝２４）個の互いに異なるレベルの閾値電圧を有することができる。１６（＝２４）個の閾値電圧のそれぞれは、互いに異なるレベルを有することができる
【００３０】
マルチビットプログラミング装置は、Ｍ個のバックアップメモリセルからなるバックアップページに対して、Ｍビットのデータを同時にプログラミングするバックアッププログラミング過程を実行することができる。目標ページに４ビットプログラミング過程が実行される場合であれば、バックアップページは４個必要となり、４回のバックアッププログラミング過程を必要とすることができる。
【００３１】
４個のバックアップページは、メモリセルアレイブロック２２０、２３０、２４０、２５０ごとに１つずつ選択することもできる。また、４個のバックアップページすべてを、メモリセルアレイブロック２２０、２３０、２４０、２５０のうちの１つのブロックからすべて選択することもできる。
【００３２】
マルチビットプログラミング装置２００は、４Ｍビットの原データのうち、１番目のＭビットデータを１番目のバックアッププログラミング過程を実行して１番目のバックアップページにプログラミングすることができる。また、マルチビットプログラミング装置２００は、１番目の目標ページプログラミング過程を実行して１番目のＭビットデータを目標ページにプログラミングすることができる。
【００３３】
また、マルチビットプログラミング装置２００は、４Ｍビットの原データのうち、２番目のＭビットデータを２番目のバックアッププログラミング過程を実行して２番目のバックアップページにプログラミングすることができる。マルチビットプログラミング装置２００は、２番目の目標ページプログラミング過程を実行して目標ページにプログラミングすることができる。１番目の目標ページプログラミング過程と２番目の目標ページプログラミング過程は、同じ目標ページに互いに異なるデータを閾値電圧の変化の程度を互いに異なるようにしてプログラミングすることができる。
【００３４】
同様に、３番目のバックアッププログラミング過程、３番目の目標ページプログラミング過程、４番目のバックアッププログラミング過程、および４番目の目標ページプログラミング過程を、以上で説明した方法と類似した方法で実行することができる。
１番目の目標ページプログラミング過程、２番目の目標ページプログラミング過程、３番目の目標ページプログラミング過程、および４番目の目標ページプログラミング過程は、それぞれ閾値電圧の変化の程度を互いに異なるようにして、４ビットプログラミング過程を構成することができる。
【００３５】
図３は、本発明のさらに他の実施形態に係るマルチビットプログラミング動作の一状態を示すメモリセルアレイの図である。
図３を参照すれば、マルチビットプログラミングが可能なメモリセルアレイ３００は、６個のメモリセルアレイブロック３１０、３２０、３３０、３４０、３５０、３６０を含むことができる。メモリセルアレイ３００は、ＮＶＭセルアレイとすることができる。
【００３６】
１番目のブロック３１０は、各メモリセルに４ビットのデータがマルチビットプログラミングされた状態を示すことができる。
２番目のブロック３２０から５番目のブロック３５０までは、メモリセルにプログラミングされたバックアップデータが消去された状態を示すことができる。消去が完了することにより、メモリセルアレイ３００は、次の動作を進める準備を備えるようにできる。
【００３７】
図４は、本発明のさらに他の実施形態に係るマルチビットプログラミング動作の一状態を示す図である。
図４を参照すれば、マルチビットプログラミングが適用されるメモリセルアレイ４００は、６個のメモリセルアレイブロック４１０、４２０、４３０、４４０、４５０、４６０を含むことができる。メモリセルアレイ４００は、ＮＶＭセルアレイとすることができる。
【００３８】
１番目のブロック４１０は、各メモリセルに４ビットのデータがマルチビットプログラミングされた状態を示すことができる。
２番目のブロック４２０に含まれたメモリセルが目標メモリセルとすることができ、目標メモリセルそれぞれには４ビットの原データがマルチビットプログラミングされることができる。
３番目のブロック４３０から６番目のブロック４６０まではバックアップメモリセルを含むことができ、バックアップメモリセルそれぞれには原データのうち１ビットのデータがプログラミングされることができる。３番目のブロック４３０から６番目のブロック４６０までが、最小保持ブロックとなることができる。
【００３９】
図５は、本発明の一実施形態に係るマルチビットプログラミング装置を示すブロック図である。
図５を参照すれば、本発明のマルチビットプログラミング装置５００は、マルチビットプログラミング部（ｍｕｌｔｉ−ｂｉｔ  ｐｒｏｇｒａｍｍｉｎｇ  ｕｎｉｔ）５１０と、バックアッププログラミング部（ｂａｃｋｕｐ  ｐｒｏｇｒａｍｍｉｎｇ  ｕｎｉｔ）５２０と、データ検証部（ｄａｔａ  ｖｅｒｉｆｉｃａｔｉｏｎ  ｕｎｉｔ）５３０と、メモリセルアレイ（ｍｅｍｏｒｙ  ｃｅｌｌ  ａｒｒａｙ）５４０とを含む。メモリセルアレイ５４０は、ＮＶＭセルアレイとすることができる。
【００４０】
マルチビットプログラミング部５１０は、マルチビットの原データをメモリセルアレイ５４０内の目標メモリセル５４１にマルチビットプログラミングすることができる。マルチビットプログラミング部５１０は、原データの各ビットを目標メモリセル５４１の閾値電圧の大きさを異なるようにして順にプログラミングすることができる。
【００４１】
バックアッププログラミング部５２０は、原データの各ビットに対して、メモリセルアレイ５４０内のバックアップメモリセル５４２を選択することができ、原データの各ビットを選択されたバックアップメモリセル５４２それぞれにプログラミングする。バックアッププログラミング部５２０は、バックアップメモリセル１つあたり１ビットのデータのみをプログラミングするものとすることができる。
【００４２】
原データがＮビットデータであり、マルチビットプログラミング部が目標メモリセル５４１にＮビットプログラミングする場合、Ｎ個のバックアップメモリセル５４１を必要とすることができる。
【００４３】
図５を参照すれば、バックアップメモリセル５４２は、目標メモリセル５４１と異なるワードラインに連結し、相互間にも異なるワードラインに連結するように選択されることができる。
バックアップメモリセル５４２は、メモリセルアレイ５４０内のメモリセルそれぞれが用いられた回数に基づいて選択されることができる。
【００４４】
メモリセルは、プログラミングと消去動作が繰り返されれば、セル特性（ｃｈａｒａｃｔｅｒｉｓｔｉｃ）の劣化（ｄｅｇｒａｄａｔｉｏｎ）が生じることがある。セル特性の劣化が進めば、そのメモリセルはこれ以上の使用が不可能になる。特定のメモリセルのみが頻繁に用いられて使用不可能な状態に至るようになれば、これによって全体メモリセルアレイ５４０内にはまだ使用可能なメモリセルが存在するにもかかわらず、全体メモリセルアレイ５４０を用いることができなくなることがある。
【００４５】
実施形態において、メモリセルアレイ５４０内のメモリセルそれぞれが用いられた回数に基づいてバックアップメモリセル５４２を選択することにより、メモリセルアレイ５４０内のメモリセルが均等に用いられるようにでき、アレイ５４０の寿命を延長することができる。このような過程をウェアレベリング（ｗｅａｒ  ｌｅｖｅｌｉｎｇ）といい、メモリセルアレイ５４０と連結した制御器（ｃｏｎｔｒｏｌｌｅｒ）または周辺回路（ｐｅｒｉｐｈｅｒａｌ  ｃｉｒｃｕｉｔ）５６０を介して実行することができる。
【００４６】
マルチビットプログラミング装置５００は、原データの各ビットを選択されたバックアップメモリセル５４２それぞれにプログラミングした後、目標メモリセル５４１にマルチビットプログラミングすることができる。
目標メモリセル５４１にＮビットのデータをマルチビットプログラミングする過程は、目標メモリセル５４１に１ビットのデータをプログラミングする過程をＮ回実行することとすることができる。原データの各ビットをバックアップメモリセル５４２それぞれにプログラミングした後に、同じデータを目標メモリセル５４１にプログラミングし、このような過程をＮ回実行する。
【００４７】
図５を参照すれば、データ検証部５３０は、バックアップメモリセル５４２にプログラミングされたデータおよび目標メモリセル５４１にマルチビットプログラミングされたデータを比較してマルチビットプログラミングが成功したか否かを検証することができる。
マルチビットプログラミングが成功したか否かは、Ｎ個の選択されたバックアップメモリセル５４２にプログラミングされたＮビットのデータおよび目標メモリセル５４１にマルチビットプログラミングされたＮビットのデータが互いに一致するか否かとすることができる。
【００４８】
図５を参照すれば、マルチビットプログラミング部５１０、バックアッププログラミング部５２０、データ検証部５３０は、アレイ５４０に連結した周辺回路を介して実現されてもよく、アレイ５４０外部の制御器５６０を介して実現されてもよい。
【００４９】
本発明の他の実施形態によれば、マルチビットプログラミング装置５００は、バックアップ消去部５４３をさらに含むことができる。バックアップ消去部５４３は、データ検証部５３０がバックアップメモリセル５４２にプログラミングされたデータと目標メモリセルにマルチビットプログラミングされたデータが互いに同じであると決定すれば、バックアップメモリセルを消去することができる。マルチビットプログラミング装置５００は、選択されたバックアップメモリセル５４２がバックアップ消去部５４３によって消去された後、次の動作を実行することができる準備状態にあるようになることができる。
【００５０】
マルチビットプログラミング装置５００に用いられる原データは、メモリセルアレイ５４０を含んだメモリ装置を駆動するメタデータとすることができる。一般的に、他のデータに対するアドレス情報および機能情報をメタデータという。メモリシステムでは、各メモリセルアレイブロックの機能情報などを特定のブロックに格納することができ、これを用いてシステムを駆動することができる。
【００５１】
このようなメタデータは、一種のファームウエアまたはオペレーティングシステムとして考慮することができ、メモリ装置の機能をアップグレードしようとするときはメタデータをアップデートすることができる。
メタデータをアップデートしている途中に、外部の不特定変数（例えば、供給される電源の遮断）によってアップデートが完了せずに中断されれば、メタデータは不完全なものとなり、システムは使用不可能になる。本発明の実施形態に係るマルチビットプログラミング装置５００は、データの操作（ｍａｎｉｐｕｌａｔｉｏｎ）に対して高い信頼性を提供することができる。
【００５２】
図６は、本発明の一実施形態に係るマルチビットプログラミング方法を示すフローチャートである。
図６を参照すれば、ステップＳ６１０において、本発明の一実施形態に係るマルチビットプログラミング方法は、マルチビットの原データをメモリセルアレイ内の目標メモリセルにマルチビットプログラミングする。目標メモリセルにマルチビットプログラミングするステップＳ６１０は、原データの各ビットを目標メモリセルの閾値電圧の変化の程度を異なるようにしてプログラミングすることができる。
【００５３】
マルチビットプログラミング方法は、原データの各ビットに対して、メモリセルアレイ内のバックアップメモリセルを選択することができ、原データの各ビットを選択されたバックアップメモリセルそれぞれにプログラミングすることができる（Ｓ６２０）。このとき、バックアップメモリセル１つには、１ビットのデータのみがプログラミングされるようにできる。バックアップメモリセルは、目標メモリセルと異なるワードラインに連結し、相互間にも異なるワードラインに連結するように選択されることができる。
【００５４】
バックアップメモリセルは、アレイ内のメモリセルそれぞれが用いられた回数に基づいて選択されることができる。このような方法によってアレイ内のメモリセルが均等に用いられるようにでき、アレイの寿命を延長するという効果がある。
【００５５】
原データの各ビットは、選択されたバックアップメモリセルそれぞれにプログラミングされた後に、目標メモリセルにマルチビットプログラミングされることができる。
原データがＮビットである場合、目標メモリセルにＮビットのデータをマルチビットプログラミングする過程は、目標メモリセルに１ビットのデータをプログラミングする過程をＮ回実行するものとすることができる。
【００５６】
マルチビットプログラミング方法は、バックアップメモリセルにプログラミングされたデータおよび目標メモリセルにマルチビットプログラミングされたデータを比較してマルチビットプログラミングが成功したか否かを検証することができる（Ｓ６３０）。マルチビットプログラミングが成功したか否かは、Ｎ個のバックアップメモリセルにプログラミングされたＮビットのデータおよび目標メモリセルにマルチビットプログラミングされたＮビットのデータが互いに一致するか否かであるとすることができる。
【００５７】
本発明の他の実施形態に係るマルチビットプログラミング方法は、検証の結果、バックアップメモリセルにプログラミングされたデータと目標メモリセルにマルチビットプログラミングされたデータが互いに同じであれば、バックアップメモリセルを消去するステップをさらに含むことができる。メモリセルアレイは、バックアップメモリセルを消去することにより、次の動作を実行することができる準備状態にいるとすることができる。
【００５８】
なお、本発明に係るマルチビットプログラミング方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。前記したハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【００５９】
本発明の実施形態によれば、マルチビットプログラミング装置および方法は、半導体チップの大きさを増加させないと同時に、プログラミング過程におけるエラーを減らすことができる。
また、本発明の実施形態によれば、プログラミングが中断した場合にもデータの損失が発生しないマルチビットプログラミング装置および方法の実現が可能である。
【００６０】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図１】
2010526395.tif 000003
【図２】
2010526395.tif 000004
【図３】
2010526395.tif 000005
【図４】
2010526395.tif 000006
【図５】
2010526395.tif 000007
【図６】
2010526395.tif 000008
【国際調査報告】
2010526395.tif 000009
2010526395.tif 000010