(57)【要約】      （修正有）【課題】信頼性の高いフラッシュセルの読取り方法を提供する。【解決手段】マルチレベルのフラッシュメモリセルがセルの閾値電圧と複数の整数基準電圧および分数基準電圧と比較することで読取られる。マルチレベルのフラッシュメモリのセルは、各有意レベルでのデータと余剰ビットとを用いて集合的にプログラムされ、好ましくは各有意レベルにおけるデータと余剰ビットとの数が異なる。セルは、余剰ビットに従って各有意レベルでビットを修正し高い方の有意レベルを調整することにより、低い方から高い方の有意レベルに向かって集合的に読取られる。セルの閾値電圧と分数基準電圧との比較にしたがって最低の有意ビットの修正調整を実行する。【選択図】図３
2010211912.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）少なくともｍ＞１ビットを記憶するマルチレベルのフラッシュメモリのｎセルを付与するステップと、
（ｂ）０からｍ−１の各整数ｐについて、
（i）数ｋ（ｐ）≦ｎの前記フラッシュメモリセルをプログラミングし、有意レベルｐのビットとしてｋ（ｐ）ビットのデータを記憶し、
（ii）ｋ（ｐ）＜ｎの場合、残存するｎ−ｋ（ｐ）の前記フラッシュメモリセルをプログラミングし、有意レベルｐのビットとしてｎ−ｋ（ｐ）の関係する余剰ビットを記憶する、ステップと、を有し、
前記整数ｐの少なくとも１つの値に対する前記数ｋ（ｐ）は、前記整数ｐの少なくとも１つの他の値に対する前記数ｋ（ｐ）の値と異なる値を有する、
ことを特徴とするデータ記憶方法。
【請求項２】
１からｍ−１までの各整数ｐについて、ｋ（ｐ）≧ｋ（ｐ−１）である、請求項１に記載の方法。
【請求項３】
（ｃ）前記ｎフラッシュセルを読取り、前記記憶されたビットの暫定的な取得（retrieved）値を決定するステップと、
（ｄ）０からｍ−１の各整数ｐについて、ｋ（ｐ）＜ｎの場合、
（i）前記有意レベルｐのビットの暫定的な取得値を前記有意レベルｐの余剰ビットの暫定的な取得値に従って修正し、前記有意レベルｐのビットの最終的な取得値を付与し、
（ii）ｐがｍ−１より小さい場合、有意レベルｐ＋１のビットの前記暫定的な取得値をｍ−１までの有意レベルｐの前記ビットの最終的な取得値であることを条件として調整する、ステップと、
を有することを特徴とする請求項１に記載の方法。
【請求項４】
（ａ）少なくともｍ＞１ビットをそれぞれ記憶するｎフラッシュセルと、
（ｂ）０からｍ−１までの各整数ｐについて、前記セルにデータを記憶させるためのコントローラであって、
（i）有意レベルｐのビットとしてｋ（ｐ）ビットを記憶するように前記セルの数ｋ（ｐ）≦ｎをプログラミングし、
（ii）ｋ（ｐ）＜ｎの場合、前記セルの残存するｎ−ｋ（ｐ）をプログラミングし、有意レベルｐのビットとしてｎ−ｋ（ｐ）の対応する余剰ビットを記憶し、
前記数ｋ（ｐ）は、前記整数ｐの少なくとも一つの値であって、前記整数ｐの少なくとも１つの他の値に対する前記数ｋ（ｐ）の値と異なる値を有しているコントローラと、
を備えることを特徴とするフラッシュメモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ、とりわけ高信頼度でフラッシュメモリを読取る方法に関する。
【背景技術】
【０００２】
従来、フラッシュメモリは１セル当り１ビット（１ビット／セル）のみ情報記憶されるものであったが、近年、１セル当り２ビット（２ビット／セル）を記憶可能なフラッシュメモリが汎用になり、１セル当り２ビット以上を記憶可能なフラッシュメモリも開発されるに至っている。この１セル当り１ビット記憶可能なフラッシュメモリは「シングルレベルセル（ＳＬＣ）」メモリと称され、２ビット以上記憶可能なものは「マルチレベルセル（ＭＬＣ）」メモリと称されている。
【０００３】
図１は、セル当たり３ビット（３ビット/セル）を記憶可能なＭＬＣメモリに対して、３ビットのビットパターンがどのように記憶されるかを示している。
【０００４】
フラッシュセルの閾値電圧は、「電圧ウィンドウ」と称される最小値Ｖminから最大値Ｖmaxの範囲内にある。歴史的理由によりフラッシュセルへのデータの書込みは、フラッシュセルを「プログラミング」すると称されている。これは、上記閾値電圧が電圧ウィンドウの範囲内で十分に高い電圧になり所望のビットパターンを表示するまで、電圧パルスをフラッシュセルに付与し、フラッシュセルの酸化被膜を介してフラッシュセルのシリコン基板から浮動ゲートに電子を注入することでなされる。３ビット／セルのフラッシュメモリにおいて、電圧ウィンドウは、Ｖmin〜Ｖ1,Ｖ1〜Ｖ2,Ｖ2〜Ｖ3,Ｖ3〜Ｖ4,Ｖ4〜Ｖ5,Ｖ5〜Ｖ6,Ｖ6〜Ｖ7,Ｖ7〜Ｖmaxという8つの電圧帯に分割される。１つの電圧帯の閾値電圧は、図１に示すようなビットパターンで表示され、ＶminとＶ1との間の閾値電圧は、ビットパターン「１１１」、Ｖ1とＶ2との間の閾値電圧はビットパターン「１１０」というように表示される。一般に、ｍビット／セルのフラッシュメモリの電圧ウィンドウは、２ｍの電圧帯に分割される。
【０００５】
フラッシュセルを読取るためにフラッシュセルの閾値電圧は電圧帯を画定する基準電圧と比較する。いくつかのフラッシュメモリ（タイプ１メモリとして後述）の場合、ｍビットのビットパターンを記憶するセルの読取りには、ｍ回の読取りを必要とする。例えば、ｍ＝３の場合、図１に示すように閾値電圧が最初にＶ4と比較される。その結果に従って閾値電圧がＶ2又はＶ6のいずれかと２次比較される。その２次比較の結果に従って閾値電圧が更に、Ｖ1又はＶ3、Ｖ5又はＶ7、のいずれかと比較される。この比較は既知の閾値電圧と比較するものではなく、その回路構成は比較される基準電圧よりも高いか低いかを指示する信号をリターンする構成でなされている。
【０００６】
また、他のフラッシュメモリ（タイプ２メモリとして後述）の場合、集合的に読取られる全てのセルの閾値電圧がＶminとＶmaxとの間に存在する２ｍ−１の個数の基準電圧の全てと比較される。
【０００７】
上記フラッシュセルのいずれもその閾値電圧は、統計学的には基準電圧帯の中心近傍に分布される。図１では、分布曲線１０に沿って分布する第１電圧帯における閾値電圧と、分布曲線１２に沿って分布する第２電圧帯における閾値電圧と、分布曲線１４に沿って分布する第３電圧帯における閾値電圧と、分布曲線１６に沿って分布する第４電圧帯における閾値電圧と、分布曲線１８に沿って分布する第５電圧帯における閾値電圧と、分布曲線２０に沿って分布する第６電圧帯における閾値電圧と、分布曲線２２に沿って分布する第７電圧帯における閾値電圧と、分布曲線２４に沿って分布する第８電圧帯における閾値電圧とを示している。これらの分布が有限幅を有する理由は以下の通りである。
【０００８】
１．プログラミングプロセスは、本質的に量子力学上のトンネル現象や熱注入のような確率プロセスに依拠している。
２．読取り／プログラムの回路構成の精度は有限であり、ランダムなノイズにより制限される。
３．所定のフラッシュ技術において読取られるセルの閾値電圧は、近傍のセルの閾値電圧の影響を受ける。
４．製造プロセスにおけるチップ間の誤差により読取り／プログラムされたときの各セルに差が生じる。
【０００９】
さらに、閾値電圧分布は、以下のようにオーバータイムを変更させていく。
１．フラッシュメモリにプログラムおよび消去がなされると、電圧ウィンドウが収縮し電圧帯が偏向していく。これらの現象は、ＭＬＣフラッシュメモリの消去および再プログラムが可能な時間数を制限する。
２．長時間プログラムされないフラッシュセルの閾値電圧は下降していく。この現象は、データがフラッシュメモリに高い信頼性で保持可能な時間を制限する。
【００１０】
フラッシュセルの電圧帯は、これらの現象全てを十分に考慮しつつ広帯域になりすぎないように設計される。狭すぎる電圧帯は、関連する閾値電圧分布曲線やオーバータイムの曲線推移に関して、看過不能な程の高いビット誤り率（エラー率）を招致せしめることとなる。関連閾値電圧分布に関する非常に広い帯域の電圧帯の生成は、フラッシュセルに記憶可能なビットパターン内のビットを制限する。実際に、フラッシュメモリは１０の１４乗〜１０の１６乗ビットに１回のエラー程度になるように設計される。フラッシュ技術の中には、所望数のビット／セルを記憶している間に、このエラー率にまで到達することができない技術も存在する。また、当該技術に基づくフラッシュメモリの中には、エラー修正回路を使用し本質的なエラー率を補償するものも存在する。さらに、ＮＡＮＤフラッシュ製品はエラー修正コードをアプリケーションに組み込むことをカスタマーに指示している。
【００１１】
このように、当業者にとってより信頼性の高いフラッシュセルの読取り方法を提供することは広く要求されており非常に有益である。
【００１２】
定義
図１に示すような基準電圧のように、電圧ウインドウ内の電圧帯の境界を画定する基準電圧を、本明細書では“整数基準電圧”と称する。本発明は、電圧帯内に位置する基準電圧も示されており、本明細書では“分数基準電圧”と称している。電圧ウィンドウを画定する電圧（図１ではＶminおよびＶmaxとしている）は基準電圧に考慮しない。
【００１３】
１ビット以上有するビットパターンは、最小の有意（有効）ビットと最大の有意ビットを有している。２ビット以上有するビットパターンは、最小の有意ビットと最大の有意ビットとの間に異なる有意ビットを有している。ｍビットのビットパターンにおいて、本明細書では最小の有意ビットを“有意レベル０”、次に小さい有意ビットを“有意レベル１”のごとく称しており、最も大きな有意ビットを“有意レベルｍ−１”のビットと称している。
【００１４】
また、１つ以上のビットパターンのビットは、１つ以上の有意レベルのビットを含んだ“有意グループ”としてグループ化されている。有意グループは一群の連続的な有意レベルのビットである。ビットパターンのビットの有意レベルと同様に、１つ以上のビットパターンのビットの有意グループは、最小の有意ビットグループから最大の有意ビットグループに配列される。例えば、３ビットのビットパターンは、４つの異なる手法のビットグループにグループ化される。第一の手法では、３つのビットグループを形成し、１つのビットグループでは最小の有意ビット（有意レベル０のビット）を有し、他の１つのビットグループでは次に小さい有意ビット（有意レベル１のビット）を有し、もう１つのビットグループでは最大の有意ビットを有している。第二の手法では、２つのビットグループを形成し、１つのビットグループでは最小の有意ビットを有し、他の１つのビットグループでは有意レベル１および２のビットを有している。また、第三の手法では、２つのビットグループを形成し、１つのビットグループでは有意レベル０および１のビットを有し、他の１つのビットグループでは最大の有意ビットを有している。第四の手法では、単一のビットグループとして全体でセットのビットパターンを形成している。
【発明の概要】
【課題を解決するための手段】
【００１５】
本発明は、（ａ）各セルに対して、（i）少なくとも１つの各基準電圧を決定し、（ii）各セルの閾値電圧を少なくとも１つの各基準電圧と比較するステップを含む複数のフラッシュメモリのセルを提供している。
【００１６】
本発明は、（ａ）複数のセルと、（ｂ）各セルに対して、（i）各セルの少なくとも１つの近傍のものの閾値電圧を読取り、（ii）各セルの少なくとも１つの近傍のものの閾値電圧に基づく各セルに対して少なくとも１つの各基準電圧を設定する回路と、を含むフラッシュメモリを提供している。
【００１７】
本発明は、（ａ）複数のセルと、（ｂ）（i）閾値電圧を全てのセルに共通な少なくとも１つの通常基準電圧と比較することによって各セルの閾値電圧の暫定値を取得し、（ii）暫定値に基づいて、各セルに対する少なくとも１つの各基準電圧を決定する、コントローラとを含むフラッシュメモリを提供している。
【００１８】
本発明は、（ａ）少なくとも１つの整数基準電圧と少なくとも１つの分数基準電圧とを付与するステップと、（ｂ）複数の各セルの閾値電圧を少なくとも１つの整数基準電圧および少なくとも１つの分数基準電圧と比較し、複数のフラッシュメモリセルに対する閾値電圧の少なくとも１つの統計値を決定するステップと、（ｃ）少なくとも１つの統計値と、前記少なくとも１つの整数基準電圧と前記少なくとも１つの分数基準電圧のうちの少なくとも１つとを合致させるステップと、を含む複数のフラッシュメモリセルの読取り方法を提供する。
【００１９】
本発明は、（ａ）複数のセルと、（ｂ）（i）少なくとも１つの整数基準電圧と少なくとも１つの分数基準電圧とを付与し、（ii）複数の各セルの閾値電圧を、前記少なくとも１つの整数基準電圧および前記少なくとも１つの分数基準電圧と比較し、複数のフラッシュメモリセルに対する閾値電圧のうち少なくとも１つの統計値を決定し、（iii）少なくとも１つの統計値と、前記少なくとも１つの整数基準電圧と前記少なくとも１つの分数基準電圧のうちの少なくとも１つとを合致させる、ことによって前記セルを読取るコントローラと、を含むフラッシュメモリを提供する。
【００２０】
本発明の基本方法によれば、フラッシュセル（ＳＬＣセル又はＭＬＣセルのいずれか）は、セルの閾値電圧を少なくとも１つの整数基準電圧および１つ以上の分数基準電圧と比較することによって読取られる。
【００２１】
好ましくは、複数の整数基準電圧が付与され、たとえ整数基準電圧との比較により閾値電圧が最も低い整数基準電圧と最も高い整数基準電圧との間であることを示したとしても閾値電圧は分数基準電圧と比較される。
【００２２】
好ましくは、複数の整数基準電圧が付与され、セルの閾値電圧を整数基準電圧と比較することが２つの連続的な整数基準電圧の間にあることを示す場合に、閾値電圧と比較される分数基準電圧は２つの連続的な整数基準電圧の間にある。
【００２３】
本発明の基本方法の１つの応用例は、ｍビット／セルのｎ  ＭＬＣセルにデータを記憶し取り出す方法である。各有意レベルｐにおいて、有意レベル０から有意レベルｍ−１まで、ｋ（ｐ）≦ｎのデータビットおよび（ｋ（ｐ）＜ｎの場合の）ｎ−ｋ（ｐ）の対応する余剰ビットは、セルにプログラムされる。セルの読取りによりビットの暫定的な取得値が付与される。従って、各有意レベルにおいて、有意レベル０で開始し有意レベルｍ−１で終了すると、ｋ（ｐ）＜ｎの場合、有意レベルのビットの暫定的な取得値がその有意レベルの余剰ビットに従って修正され、その有意レベルでのビットの最終的な取得値を付与する。そして、（有意レベルｍ−１を除き、）その有意レベルでの最終的な取得値を条件として、高い方の有意レベルのビットの暫定的な取得値が調整される。低い方の有意レベルでの最終的な取得値を“条件”とする高い方の有意レベルの暫定的な取得値の調整は、所望のセルに対して、低い方の有意レベルにおけるセルに対する最終的に取得されたビット値が低い方の有意レベルでの暫定的な取得値と異なるものでない限り暫定的な取得値は変更されないことを意味している。
【００２４】
好ましくは、ｋ（ｐ）はｐの非減少関数である。
【００２５】
また、好ましくは、セルはその閾値電圧を複数の整数基準電圧と比較することで読込まれる。最も好ましくは、有意レベル０のビットの暫定的な取得値は修正された後、高い方の有意レベルの各セルのビットの暫定的な取得値は、セルの閾値電圧を分数基準電圧と比較することにより調整される。また、最も好ましくは、整数基準電圧と閾値電圧の比較は、各セルの閾値電圧を該セルの電圧帯に割当てる。そして、各有意レベル０＜ｐ＜ｍ−１のビットの暫定的な取得値が修正された後、高い方の有意レベルの暫定的な取得値は、割当てられた電圧帯の最小限の再割当てにより調整される。２つの最小限の再割当てが可能な場合、有意レベルｐ−１のビットの暫定的な取得値に等しい有意レベルｐ＋１のビットの暫定的な取得値を設定する再割当てを選択することにより２つの再割当て間の結合は中断される。あるいは、２つの最小限の再割当てが可能な場合、２つの再割当て間の結合は、有意レベルｐ−１のビットの最終的な取得値に等しい有意レベルｐ＋１のビットの暫定的な取得値を設定する再割当てを選択することにより中断される。
【００２６】
この本発明の基本方法の応用例は、より一般的な方法の特例であり、ｑ≧１の有意レベルのビットを含む各有意グループを有する、少なくとも２つの有意グループのビットにおけるデータがｎ  ＭＬＣセルに記憶される。ｑが全ての有意グループに対して同一であることを要さないことが理解される。各有意グループに対して、それぞれのデータビットの数ｋ≦ｎｑおよび（ｋ＜ｎｑの場合に）ｎｑ−ｋの余剰ビットは、セルにプログラムされる。セルの読取りによりビットの暫定的な取得値が付与される。そして、余剰ビットを有する各暫定的な有意グループについて、少なくとも有意グループで開始し、有意グループのビットの暫定的な取得値は、その有意グループの余剰ビットに従って修正され、その結果、最も大きな有意グループを除きその有意グループのビットの最終的な取得値を付与すると、その有意グループより有意な有意グループのビットの暫定的な取得値がその有意グループのビットの最終的な取得値を条件として調整される。
【００２７】
本発明の範囲はその権利範囲内の発明として、ｎ  ＭＬＣフラッシュセルに、必ずしも数ｋ（ｐ）と等しくならないｋ（ｐ）≦ｎのデータビットとｎ−ｋ（ｐ）の余剰ビットとをプログラムすることであることを示している。
【００２８】
また、本発明の範囲はその権利範囲内の発明として、それぞれｑの有意レベルであって複数の有意グループのビットを記憶するｎ  ＭＬＣフラッシュセルの各有意グループにｋ≦ｎｑのデータビットとｎｑ−ｋの余剰ビットとをプログラムすることを含み、両ビットは必ずしも数ｋと等しくならない。
【００２９】
本発明の範囲は、本発明の基本方法や種々の応用例を実行するフラッシュメモリを含んでいる。各フラッシュメモリは、複数のフラッシュセルと、本発明にしたがってフラッシュセルを管理するコントローラ又はアナログ回路を含んでいる。
【図面の簡単な説明】
【００３０】
本発明は以下の例としてのみ示された図面を参照して説明される。
【図１】８レベルのフラッシュセルの電圧帯を示している。
【図２】図１に分数基準電圧を含んだものである。
【図３】本発明の装置の高レベルの略ブロック図である。
【図４Ａ】プログラムデータを集合的に読取る本発明方法のフローチャートである。
【図４Ｂ】プログラムデータを集合的に読取る本発明方法のフローチャートである。
【発明を実施するための形態】
【００３１】
本発明は、従来技術よりも更に信頼性の高い一連のフラッシュメモリ読取り方法を提供している。
【００３２】
本発明のフラッシュメモリの原理及び作用は、添付図面や本明細書から十分理解されよう。
【００３３】
分数閾値電圧
本発明の基本的技術構成は、フラッシュセルの閾値電圧を整数基準電圧と比較することに加え分数の基準電圧をとも比較することである。添付図面を参照すれば、図２は図１における８つの電圧帯それぞれの中心に分数の基準電圧、Ｖ0.5、Ｖ1.5、Ｖ2.5、Ｖ3.5、Ｖ4.5、Ｖ5.5、Ｖ6.5、Ｖ7.5を加えたものである。一般に、ｍビットを記憶するフラッシュセルでは、２ｍ個の電圧帯と、２ｍ−１個の基準電圧とを、有している。例えば、フラッシュセルのｍ番目の閾値電圧と２ｍ−１番目の整数基準電圧とを比較することにより読取るタイプ１のフラッシメモリの場合、本発明の基本的技術構成のフラッシュセルの読取り方法では、フラッシュセルの閾値電圧をＶ1〜Ｖ2m-1間にある１つ以上の分数基準電圧と比較することを必要としている。例えば、フラッシュセルの閾値電圧と整数基準電圧Ｖ1〜Ｖ2m-1との比較の最後は、連続的な２つの整数基準電圧を比較することとなる。そして、分数基準電圧と比較される基準電圧は通常２つの連続的な整数閾値電圧の間にある分数基準電圧である。
【００３４】
フラッシュセルの閾値電圧を２m-1個の整数基準電圧全体と比較することで読取るタイプ２のフラッシュメモリの場合、本発明の基本的技術構成は、フラッシュセルの閾値電圧と電圧帯内で画定される分数基準電圧の大部分又は全てとの比較を追加することである。
【００３５】
閾値電圧と分数基準電圧との比較に使用されるハードウェアは、電圧コンパレータ等、閾値電圧と整数基準電圧との比較を行う従来技術としてのアナログデジタルハードウェアと同一である。
【００３６】
図３は、本発明の装置１００の高レベルの略ブロック図を示している。図３は、ここで説明する全ての目的を含んだバン氏が発明した米国特許第5,404,485号公報における図１と同様である。前記米国特許にも記載されるように装置１００は、ランダムアクセスメモリ１１６の支援を受けてコントローラ１１４により制御されるフラッシュメモリセルアレイ１１２を有している。アレイ１１２がナンド（ＮＡＮＤ）フラッシュセルのアレイ（配列）である場合には、コントローラ１１４は、ここで説明する全ての目的を含んだ同じくバン氏が発明した他の米国特許第５，９３７，４２５号に教示するようにアレイ１１２を管理することも好ましい。さらに、コントローラ１１４は、フラッシュメモリの閾値電圧を整数基準電圧および分数基準電圧の両者と比較することによってアレイ１１２のフラッシュメモリセルのコンテンツを読取っている。
【００３７】
集合的なプログラミング及び読取り方法
本発明の1つの特徴は、閾値電圧を分数基準電圧と比較することであり、データビットに加え、エラー修正コード（ＥＣＣ）に従って決定された余剰ビットをフラッシュメモリに記憶することに基づいている点である。異なる数の余剰ビットは異なる有意レベルのデータビットとして使用することができる。
【００３８】
この本発明の特徴は、まず、図２においてｍ＝３の場合を参照して例示され、任意の値のｍとして一般化される。
【００３９】
従って、本発明のｎ、ｍ＝３のフラッシュセルのプログラミングについて検討する。ｋ（０）＜ｎのデータビットは、有意レベル０のビットとしてプログラムされ、ｋ（１）＜ｎのデータビットは有意レベル１のビットとしてプログラムされ、ｋ（２）＜ｎのデータビットは、有意レベル２のビットとしてプログラムされている。有意レベル０の残りのｎ−ｋ（０）のデータビットは、有意レベル０のｋ（０）データビットについてのＥＣＣ余剰ビットとしてプログラムされる。有意レベル１の残存するｎ−ｋ（１）ビットは、有意レベル１のｋ（１）データビットについてのＥＣＣ余剰ビットとしてプログラムされる。
有意レベル２の残存するｎ−ｋ（２）ビットは、有意レベル２のｋ（２）データビットについてのＥＣＣ余剰ビットとしてプログラムされる。すなわち、ｋ（０）≦ｋ（１）≦ｋ（２）である。これは、有意レベル０のビットの信頼性が有意レベル１のビットよりも本質的に低く、有意レベル１のビットの信頼性が有意レベル２のビットよりも本質的に低いことを理由とする。これは順に、有意レベル０のビットの読取りエラーを引起す７つの閾値電圧の比較（基準電圧Ｖ1〜Ｖ7に対する）と、有意レベル１のビットの読取りエラーを引起す３つの閾値電圧の比較（基準電圧Ｖ2,Ｖ4,Ｖ6に対する）と、有意レベル２のビットの読取りエラーを引起す１つのみの閾値電圧の比較（基準電圧Ｖ4に対する）と、を行うことができることを理由とする。
【００４０】
上述するように、ｎフラッシュセルは読取られる。上記タイプ１のフラッシュセルの場合、フラッシュセルが読取られ、最初は整数基準電圧に対してのみ閾値電圧を比較する。その後、後述するようにフラッシュセルの閾値電圧は必要に応じて分数基準電圧と比較される。上記タイプ２のフラッシュセルの場合、フラッシュセルは閾値電圧を整数基準電圧及び分数基準電圧の両者と比較することで読取られる。当業者は、この本発明の特徴構成を他のフラッシュ技術に用いることを理解できよう。整数基準電圧との比較は、各フラッシュセルの閾値電圧が８つの可能な電圧帯のいずれに属するかの暫定の割当てによりビットの暫定の取得値を提供する。余剰ビットは、３つの有意レベルの全てに対して、ビットの暫定値を修正するために使用される。余剰ビットを含む一群のビットの暫定値の修正工程は、ここでは余剰ビットに関する“デコーディング（解読）”と称されている。最も高い有意レベルのほかに各有意レベルにおいて、余剰ビットに基づく修正は、各有意レベルのビットの最終取得値を付与し、より高い有意レベルの方の暫定の取得値に変更していくことが必要である。また、最も低い有意レベルでは、閾値電圧を分数基準電圧Ｖ1.5からＶ6.5と比較することが暫定値を修正することに使用される。
【００４１】
最も低い有意レベルでスタートすると、有意レベル０のビットの暫定値は有意レベル０の余剰ビットについてのデコーディングがなされる。一部のフラッシュセルに対してこのデコーディングにより有意レベル０のビットの暫定値を変更する場合、フラッシュセルの暫定的に割当てられた電圧帯がエラーであることを指示し、高い方の有意レベルのビットの暫定値も修正を要することとなる。最も低い電圧帯１１１と最も高い電圧帯０００を除き、高い方の有意レベルのビットの暫定値はフラッシュセルの閾値電圧を暫定的に割当てられた電圧帯の分数基準電圧と比較することが必要である。タイプ２のフラッシュセルの場合、フラッシュセルの閾値電圧は、ｎセルが読取られたときに暫定的に割当てられる電圧帯の分数基準電圧と比較されている。フラッシュセルの閾値電圧が分数基準電圧より小さい場合には、電圧帯の暫定の割当ては１つの電圧帯分下げる必要がある。フラッシュセルの閾値電圧が分数基準電圧より大きい場合には、電圧帯の暫定の割当ては１つの電圧帯分上げる必要がある。
【００４２】
例えば、フラッシュセルの暫定的に割当てられた電圧帯が１１０の電圧帯であり、有意レベル０のビット暫定値のデコーディングは有意レベル０のフラッシュセルのビットが実際には“１”であり“０”ではないことを示す場合を考えてみる。この情報に基づけば、フラッシュセルの実際の電圧帯は１１１又は１０１のいずれかとなる。フラッシュセルの閾値電圧をＶ1.5と比較してフラッシュセルの閾値電圧がＶ1.5より小さいことを示す場合、フラッシュセルの電圧帯の暫定の割当ては１１１に変更されることとなる。高い方の有意レベルのビットの暫定値は変更を要さない。フラッシュセルの閾値電圧をＶ1.5と比較してフラッシュセルの閾値電圧がＶ1.5よりも大きいことを示す場合、フラッシュセルの電圧帯の暫定の割当ては１０１に変更される。このようにフラッシュセルの電圧帯の暫定の割当てを変更することは、有意レベル１のビットの暫定値を“１”から“０”に変更することでもある。
【００４３】
また、フラッシュセルの暫定的に割当てられた電圧帯が１１１であり、有意レベル０のビットの暫定値のデコーディングは有意レベル０のフラッシュセルのビットが実際には“０”であり“１”でないことを示す場合を考えてみる。この情報に基づけばフラッシュセルの実際の電圧帯は１１０でなければならず、フラッシュセルの閾値電圧を分数基準電圧と比較することは当該割当てを実行する必要がある。さらに、フラッシュセルの電圧の暫定割当ての変更は、高い方の有意レベルのビットの暫定値を変更するものではない。
【００４４】
次に、有意レベル１のビットの暫定値は、有意レベル１の余剰ビットに関してデコーディングされる。一部のフラッシュセルに対してこのデコーディングが有意レベル１のビットの暫定値を変更する場合には、フラッシュセルの暫定的に割当てられた電圧帯がエラーを有し、有意レベル２のビットの暫定値を修正することを要しない。有意レベル０のビットの場合では、フラッシュセルの電圧帯の暫定の割当ては電圧帯を上方又は下方に移動させることで変更すべきである。有意レベル０のビットの場合、一方への変更を指示することが他方への変更よりも少ないことは好ましくない。この場合における実際の変更では上下２つの方向への変更を指示することも少ない。２つの方向への変更の指示が等しい大きさの場合、有意レベル０のビットは中断するように使用される。
【００４５】
例えば、フラッシュセルの最初の暫定的に割当てられた電圧帯は１１０であり、有意レベル０のビットの暫定値をデコーディングしフラッシュセルの閾値電圧をＶ1.5と比較することにより暫定的に割当てられた電圧帯を１１１に変更し、さらに有意レベル１のビットの暫定値のデコーディングにより有意レベル１のフラッシュセルのビットが実際には“０”であって“１”でないことを示す場合を考えてみる。この場合、フラッシュセルの電圧帯は１０１又は００１のいずれかになる。電圧帯１０１は最初の暫定の割当てから１電圧帯だけ離れている。電圧帯００１は、最初の暫定の割当てから５電圧帯離れている。フラッシュセルの電圧帯の暫定の割当ては１０１に変更される。有意レベル２のビットの暫定値を変更することは必要でない（前述）。
【００４６】
また、フラッシュセルの最初の暫定的に割当てられた電圧帯が１００であり、有意レベル０の暫定値をデコーディングし、フラッシュセルの閾値電圧をＶ3.5と比較することにより暫定的に割当てられた電圧帯を１０１に変更し、さらに有意レベル１のビットの暫定値のデコーディングによりフラッシュセルのビットが実際には“１”であって“０”でないことを示す場合を考えてみる。この場合、フラッシュセルの電圧帯は１１１又は０１１のいずれかになる。電圧帯１１１は最初の暫定の割当てから３電圧帯離れている。電圧帯０１１は、最初の暫定の割当てから１電圧帯だけ離れている。フラッシュセルの電圧帯の暫定の割当ては０１１に変更され、従って有意レベル２のビットの暫定値を“１”から“０”に変更する。
【００４７】
また、フラッシュセルの最初の暫定的に割当てられた電圧帯が１１１であり、有意レベル０の暫定値のデコーディングにより暫定的に割当てられた電圧帯を１１０に変更し、有意レベル１のビットの暫定値のデコーディングにより有意レベル１のフラッシュセルのビットが実際には“０”であって“１”でないことを示す場合を考えてみる。この場合、フラッシュセルの電圧帯は１００又は０００のいずれかになる。電圧帯１００は最初の暫定の割当てから３電圧帯離れている。電圧帯０００は、原始的な割当てから７電圧帯離れている。フラッシュセルの電圧帯の暫定の割当ては１００に変更される。有意レベル２のビットの暫定値を変更することは必要でない（前述）。
【００４８】
また、フラッシュセルの最初の暫定的に割当てられた電圧帯が０１１であり、有意レベル０の暫定値のデコーディングにより暫定的に割当てられた電圧帯を変更せず、有意レベル１のビットの暫定値のデコーディングにより有意レベル１のフラッシュセルのビットが実際には“０”であって“１”でないことを示す場合を考えてみる。この場合、フラッシュセルの電圧帯は１０１又は００１のいずれかになる。これらの電圧帯はともに最初の暫定の割当てから２電圧帯離れている。有意レベル０のビットは、“１”であり、それゆえ“０”よりも小さい（低い）方の閾値電圧を表す有意レベル０のビットは、最小（最低）の電圧帯“１０１”の方を選んで中断させるようになる。
【００４９】
最後に、有意レベル２のビットの暫定値が有意レベル２の余剰ビットに関してデコーディングされ、デコーディングにより変更される有意レベル２のビットの暫定値のいずれもが置換えられる。
【００５０】
図４Ａと図４Ｂとは、それぞれ有意レベルｐでのフラッシュセルにプログラムされたｎ−ｋ（ｐ）余剰ビットにより保護されたｋ（ｐ）データビットを用いた一般的ｍの方法のフローチャートである。例えば、ｍ＝３の場合、ｋ（ｐ）は通常、有意レベルの高い方のビットが概ね低い方のビットよりも信頼性が高いため、ｐの非減少関数と言える。また、以下のように概ね低い方の有意レベルのビットは高い方の有意レベルのビットよりもエラー修正コード能力が高いことが要求される。
【００５１】
ブロック３０では、有意レベル０のビットがデコーディングされる。ブロック３２では、フラッシュセルのループの繰返しが開始される。有意レベル０のビットがデコーディング（ブロック３４）により変更されるセルでは、暫定的に割当てられた電圧帯は１つの電圧帯分上下に再配置（リサイン）される。最も高い（又は最も低い）電圧帯の場合（ブロック３６）には前記再配置は下方に（又は上方に）再配置される。また、ブロック３８では、フラッシュセルの閾値電圧を暫定的に割当てられた電圧帯の中間部での分数基準電圧と比較することにより、暫定的に割当てられた電圧帯を上方又は下方に再配置させるか否かの決定がなされる。このような比較をした結果によって、暫定的に割当てられた電圧帯は上方又は下方に再配置され（ブロック４０）、これに従って高い方の有意レベルのビットの暫定値が変更される。ブロック３４〜４０は、全てのフラッシュセルが検討されるまで繰り返される（ブロック４２）。
【００５２】
ブロック５０およびブロック４８では、有意レベルｐ＞０のビットの広いループの繰り返しを開始する。ブロック５２では、有意レベルｐのビットがデコーディングされる。ｐが最も高い有意レベルでない場合（ブロック５４および５６）、フラッシュセルのループの繰り返しはブロック５８に進む。有意レベルｐのビットがデコーディングにより変更されたセルでは（ブロック６０）、有意レベルがｐを超えるビットの付随変更をできるだけ用いて暫定的に割当てられた電圧帯を上方又は下方に再配置させる。可能な限り再配置すると最小の再配置、すなわち最も近い候補電圧帯への再配置が選択される。２つの最小の再配置があった場合（ブロック６２）、有意レベルｐ＋１のビットが暫定的に決定された有意レベルｐ−１のビットに合致する再配置がブロック６４で選択される。選択された再配置がブロック６６で適用され、結果、ｐより大きな有意レベルのビットの暫定値が変更される。ブロック６０〜６６は全てのフラッシュセルが検討されるまで進んでいく（ブロック６８）。
【００５３】
ｍの値について、任意の数ｍ’−１よりも高い有意レベルのビットが余剰ビットによる保護がなくとも十分な信頼性を確保できると考えられる場合には、ｍ’−１よりも高い有意レベルのビットの全てがデータビットとしてプログラムされ、判断ブロック５４ではｐをｍ−１よりもｍ’−１と比較する。有意レベル０のビットが余剰ビットにより保護されるだけである特別の場合、図４Ａのブロックのみが実行される。
【００５４】
上述するように、ブロック６４での比較の中断は有意レベルｐ−１のビットの最終的な取得（retrieve）値に関する。あるいは、ブロック６４での比較の中断は原始的な取得がなされたときの有意レベルｐ−１のビットの暫定値に関する。
【００５５】
さらに一般的に言えば、フラッシュセルに記憶されたビットは複数レベルの有意グループに修正可能である。例えば、ｍ＝３の場合、最も低いオーダーのビットがデコーディングされ且つ有意レベル１および２のビットが分数基準電圧に関して修正された後に、任意に有意レベル１および２のビットの全てが有意レベル１および２のＥＣＣ余剰ビットについて集合的に修正される。図４Ａ、図４Ｂのフローチャートは、１つの有意レベルのみ含んだ各有意グループの特別な場合を示している。図４Ａと図４Ｂのフローチャートは種々の有意レベルの一般的な場合に適用されることが当業者にとって明白であろう。
【００５６】
図３では、本発明の基本装置１００を示すことに加え、上記ＭＬＣフラッシュセルの管理アレイ１１２の集合的なプログラミングおよび読取り用の装置１００をも示している。米国特許第5,404,485号および同第5,937,425号に記載する管理アレイ１１２に加え、コントローラ１１４ではアレイ１１２のフラッシュセルをプログラムおよび読取りし、上記集合的な読取りビットの暫定値を修正する。
【００５７】
ｋ（ｐ）の値の全てが等しいとは限らない場合での、各有意レベルｐにおけるｋ（ｐ）データビットとｎ−ｋ（ｐ）余剰ビットとを記憶するｎマルチ有意レベルのフラッシュセルのプログラミングは、本発明の技術的範囲に属する。さらに、図３では、本発明の基本装置１００を示していることに加え、ＭＬＣフラッシュセルのアレイ１１２の集合的なプログラミング用の装置１００をも示している。さらに、米国特許第第5,404,485号および同第5,937,425号に記載する管理アレイ１１２に加え、コントローラ１１４は、全てが等しいとは限らない一部の頁のｋ（ｐ）の値を選択して、各有意レベルｐにおけるｋ（ｐ）データビットとｎ−ｋ（ｐ）余剰ビットとを記憶するためのｎフラッシュセルの各ページのフラッシュセルをもプログラムする。
【００５８】
ｍビット／セル以上の記憶方法
本明細書に記載の目的を全て含んだバン氏ほかが発明した米国特許第6,469,931号では、それぞれｎｍビット以上記憶するｑ（必ずしも２のべき乗と等しいというわけではない）電圧帯を有するｎフラッシュセルの使用方法を教示しており、２のｍ乗がｑより小さい又は同じである２の最も大きな乗数とされている。ｎフラッシュセルの集合的な電圧帯は、ｎ次元の範囲を超えた密集がなされている。バン氏ほかは、ｑ＝３を例示して閾値電圧を整数基準電圧と比較することでｎセルを読取ることを教示している。これに対して本発明での閾値電圧を分数電圧と比較する方法は、バン氏ほかの方法よりエラー発生を低減させる方法であることが明白である。
【００５９】
以上、本発明の実施形態について例示してきたが、本発明は他の変形例、改良例その他の実施形態を有することが明白であろう。
【符号の説明】
【００６０】
１００  装置
１１２  アレイ
１１４  コントローラ
１１６  メモリ
【図１】
2010211912.tif 000003
【図２】
2010211912.tif 000004
【図３】
2010211912.tif 000005
【図４Ａ】
2010211912.tif 000006
【図４Ｂ】
2010211912.tif 000007
【外国語明細書】
2010211912.tif 000008
2010211912.tif 000009
2010211912.tif 000010
2010211912.tif 000011
2010211912.tif 000012
2010211912.tif 000013
2010211912.tif 000014
2010211912.tif 000015
2010211912.tif 000016
2010211912.tif 000017
2010211912.tif 000018
2010211912.tif 000019
2010211912.tif 000020
2010211912.tif 000021
2010211912.tif 000022
2010211912.tif 000023
2010211912.tif 000024
2010211912.tif 000025
2010211912.tif 000026
2010211912.tif 000027
2010211912.tif 000028
2010211912.tif 000029