(57)【要約】  １つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、予測プログラミングモードが提供され、このモードにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを所定関数が予測する。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。１つの好ましい実施形態では、所定関数は線形であり、プログラムされる各メモリセルのために１つ以上のチェックポイントにより較正される。チェックポイントは、問題のメモリセルをベリファイされる指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧である。
2010524147.tif 000002
【特許請求の範囲】
【請求項１】
１つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいてメモリセルを目標しきい値電圧レベルにプログラムする方法であって、
プログラミングを受けるメモリセルのために、前記メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するステップと、
増大する振幅を有するプログラミング電圧で前記メモリセルを前記目標しきい値電圧レベルにプログラムするステップと、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達した後に前記メモリセルのプログラミングを終了するステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである方法。
【請求項３】
請求項１記載の方法において、
前記所定関数は、実質的に線形関数である方法。
【請求項４】
請求項１記載の方法において、
前記所定関数を提供するステップは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するステップと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するステップと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように前記所定関数を較正するステップと、
を含む方法。
【請求項５】
請求項４記載の方法において、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある方法。
【請求項６】
請求項４記載の方法において、
しきい値電圧レベルの前記範囲の中で１つ以上のチェックポイントしきい値電圧レベルが指定される方法。
【請求項７】
請求項４記載の方法において、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される方法。
【請求項８】
請求項４記載の方法において、
前記所定関数は、実質的に線形であって、少なくとも２つのチェックポイントにより定義される方法。
【請求項９】
請求項１記載の方法において、
前記不揮発性メモリは、１ビットより多いデータをそれぞれ記憶するメモリセルを有する方法。
【請求項１０】
請求項１記載の方法において、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する方法。
【請求項１１】
請求項１記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである方法。
【請求項１２】
請求項１記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である方法。
【請求項１３】
請求項１記載の方法において、
前記不揮発性メモリは、ＮＡＮＤ構造を有するメモリセルを有する方法。
【請求項１４】
請求項１記載の方法において、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである方法。
【請求項１５】
請求項１記載の方法において、
前記不揮発性メモリは、メモリカードにおいて具体化される方法。
【請求項１６】
請求項１記載の方法において、
前記不揮発性メモリは、計算装置に組み込まれる方法。
【請求項１７】
請求項１〜１６のうちのいずれか記載の方法において、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの１つである方法。
【請求項１８】
不揮発性メモリであって、
１つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイと、
１ページのメモリセルを並行して読み出しおよびプログラムするための読み出し／書き込み回路と、
前記読み出し／書き込み回路を含む前記不揮発性メモリの動作を制御するための状態マシンと、を備え、前記状態マシンは、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供し、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御し、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させる不揮発性メモリ。
【請求項１９】
請求項１８記載の不揮発性メモリにおいて、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである不揮発性メモリ。
【請求項２０】
請求項１８記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形関数である不揮発性メモリ。
【請求項２１】
請求項１８記載の不揮発性メモリにおいて、
前記状態マシンが所定関数を提供することは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定することと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定することと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正することと、
をさらに含む不揮発性メモリ。
【請求項２２】
請求項２１記載の不揮発性メモリにおいて、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある不揮発性メモリ。
【請求項２３】
請求項２１記載の不揮発性メモリにおいて、
しきい値電圧レベルの前記範囲の中で１つ以上のチェックポイントしきい値電圧レベルが指定される不揮発性メモリ。
【請求項２４】
請求項２１記載の不揮発性メモリにおいて、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される不揮発性メモリ。
【請求項２５】
請求項２１記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形であって、少なくとも２つのチェックポイントにより定義される方法。
【請求項２６】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、１ビットより多いデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項２７】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項２８】
請求項１８記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである不揮発性メモリ。
【請求項２９】
請求項１８記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である不揮発性メモリ。
【請求項３０】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、ＮＡＮＤ構造を有するメモリセルを有する不揮発性メモリ。
【請求項３１】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュＥＥＰＲＯＭである不揮発性メモリ。
【請求項３２】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、メモリカードにおいて具体化される不揮発性メモリ。
【請求項３３】
請求項１８記載の不揮発性メモリにおいて、
前記不揮発性メモリは、計算装置に組み込まれる不揮発性メモリ。
【請求項３４】
不揮発性メモリであって、
１つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイと、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するための手段と、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御するための手段と、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させるための手段と、
を備える不揮発性メモリ。
【請求項３５】
請求項３４記載の不揮発性メモリにおいて、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するための手段と、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するための手段と、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正するための手段と、
をさらに備える不揮発性メモリ。
【請求項３６】
請求項１８〜３５のうちのいずれか記載の不揮発性メモリにおいて、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの１つである不揮発性メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュＥＥＰＲＯＭなどの不揮発性半導体メモリに関し、特に、プログラム−ベリファイ操作の数が最少にされるメモリおよびプログラミング動作に関する。
【背景技術】
【０００２】
特に小形形状のファクタカードとしてパッケージ化されたＥＥＰＲＯＭおよびフラッシュＥＥＰＲＯＭの形の、電荷を不揮発性に蓄積できる固体メモリは、近ごろ、いろいろなモバイル装置およびハンドヘルド装置、特に情報装置および消費者向け一般電子機器製品において一般的に好まれる記憶装置になっている。同じく固体メモリであるＲＡＭ（ランダムアクセスメモリ）とは違って、フラッシュメモリは不揮発性であって、それ自身に蓄積されているデータを電源がオフにされた後も保持する。コストがより高いにもかかわらず、フラッシュメモリは大容量記憶用途にますます使用されるようになりつつある。ハードディスクおよびフロッピーディスクなどの回転型磁気媒体に基づく在来の大容量記憶は、モバイルおよびハンドヘルド環境には向いていない。それは、ディスクドライブがかさばりがちで、機械的故障を起こしやすく、長い待ち時間要件および大電力要件を有するからである。これらの望ましくない属性の故に、ディスクに基づく記憶は大抵のモバイルおよびポータブルな用途において実用的でない。一方、フラッシュメモリは、埋め込み型でも取り外し可能なカードの形でも、サイズが小さく、電力消費量が少なく、高速で信頼性が高いという特徴の故にモバイルおよびハンドヘルド環境に理想的に適している。
【０００３】
ＥＥＰＲＯＭと電気的にプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）とは、消去されることができて、新しいデータをそのメモリセルに書き込む、すなわち「プログラムする」ことのできる不揮発性メモリである。両者が、ソース領域およびドレイン領域の間で半導体基板のチャネル領域の上に配置された、電界効果トランジスタ構造のフローティング（接続されていない）伝導性ゲートを利用する。フローティングゲートの上にコントロールゲートが設けられる。トランジスタのしきい値電圧特性は、フローティングゲート上に保持されている電荷の量により制御される。すなわち、フローティングゲート上の所与のレベルの電荷について、トランジスタが「オン」にされてそのソース領域およびドレイン領域の間の導通を許すようになる前にコントロールゲートに印加されなければならない対応する電圧（しきい値）がある。
【０００４】
フローティングゲートは、１つの範囲の電荷を保持することができ、従って、１つのしきい値電圧ウィンドウの中の任意のしきい値電圧レベルにプログラムされ得る。しきい値電圧ウィンドウのサイズは装置の最小しきい値レベルと最大しきい値レベルとにより確定され、それはフローティングゲート上にプログラムされ得る電荷の範囲に対応する。しきい値ウィンドウは一般に記憶装置の特性、動作条件および履歴に依存する。ウィンドウの中の各々の異なる分解可能なしきい値電圧レベル範囲は、原則として、セルの一定の記憶状態を指定するために使用され得る。しきい値電圧が２つの異なる領域に分割されるときには、各メモリセルは１ビットのデータを記憶することができる。同様に、しきい値電圧ウィンドウが２つより多い別々の領域に分割されるときには、各メモリセルは１ビットより多いデータを記憶することができる。
【０００５】
普通の２状態ＥＥＰＲＯＭセルでは、伝導ウィンドウを２領域に分割するために少なくとも１つの電流ブレークポイントレベルが確立される。セルが所定の、固定されている電圧を印加することにより読まれるとき、そのソース／ドレイン電流は、そのブレークポイントレベル（あるいは基準電流ＩＲＥＦ）と比較することによって１つの記憶状態に分解される。読まれた電流がブレークポイントレベルのものより大きければ、そのセルは１つの論理状態（例えば、「ゼロ」状態）にあると判定される。これに対して、電流がブレークポイントレベルのものより小さければ、セルは他方の論理状態（例えば、「１」状態）にあると判定される。従って、このような２状態セルは１ビットのデジタル情報を記憶する。ブレークポイントレベル電流を生成するために、外部からプログラムされ得る基準電流源がしばしばメモリシステムの一部として提供される。
【０００６】
記憶容量を増やすために、半導体技術の状態が進歩するにつれてフラッシュＥＥＰＲＯＭ装置はますます高い密度で製造されるようになっている。記憶容量を増やす他の１つの方法は、各メモリセルに２つより多い状態を記憶させることである。
【０００７】
多状態またはマルチレベルＥＥＰＲＯＭメモリセルについて、各セルが１ビットより多いデータを記憶できるように伝導ウィンドウは２つ以上のブレークポイントによって３つ以上の領域に分割される。このように、所与のＥＥＰＲＯＭアレイが記憶できる情報は、各セルが記憶できる状態の数と共に増やされる。多状態またはマルチレベルのメモリセルを有するＥＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭが、米国特許第５，１７２，３３８号（特許文献１）に記載されている。
【０００８】
メモリセルとして役立つトランジスタは、通例、２つのメカニズムのうちの１つによって「プログラム済み」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加された高電圧が電子を基板チャネル領域を横断させて加速させる。同時に、コントロールゲートに印加された高電圧がホットエレクトロンを薄いゲート誘電体を通してフローティングゲートに引きつける。「トンネリング注入」では、高電圧が基板に関してコントロールゲートに印加される。このようにして、電子が基板から中間のフローティングゲートに引きつけられる。
【０００９】
記憶装置は、幾つかのメカニズムによって消去され得る。ＥＰＲＯＭについて、記憶装置は、紫外線照射によってフローティングゲートから電荷を除去することによってバルク消去可能である。ＥＥＰＲＯＭについて、薄い酸化物を通って基板チャネル領域にトンネリング（すなわち、ファウラーノルドハイムのトンネリング）するようにフローティングゲート内の電子を誘導するためにコントロールゲートに関して基板に高電圧を印加することによって、メモリセルを電気的に消去可能である。通例、ＥＥＰＲＯＭはバイト単位で消去可能である。フラッシュＥＥＰＲＯＭについて、記憶装置は、一度に全部または一度に１つ以上のブロックを電気的に消去可能であり、１ブロックは５１２バイト以上のメモリから成ることができる。
【００１０】
記憶装置は、通例、カードに搭載され得る１つ以上のメモリチップを含む。各メモリチップは、デコーダおよび消去回路、書き込み回路および読み出し回路などの周辺回路により支援されるメモリセルのアレイを含む。より精巧な記憶装置は、インテリジェントで高レベルの記憶動作とインターフェイスとを実行する外部メモリコントローラを用いて動作する。
【００１１】
今日使用されている商業的に成功した不揮発性固体記憶装置は多数存在する。これらの記憶装置は、フラッシュＥＥＰＲＯＭであるか、あるいは他のタイプの不揮発性メモリセルを採用し得る。フラッシュメモリ、システム、およびそれらを製造する方法の例が、米国特許第５，０７０，０３２号（特許文献２）、第５，０９５，３４４号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、第５，６６１，０５３号（特許文献６）、第５，３１３，４２１号（特許文献７）、および第６，２２２，７６２号（特許文献８）に説明されている。特に、ＮＡＮＤストリング構造を有するフラッシュ記憶装置が、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。また、不揮発性記憶装置は、電荷を蓄積するための誘電体層を有するメモリセルからも製造されている。前に記載された伝導性フローティングゲート素子の代わりに、誘電体層が使用される。誘電体蓄積素子を利用するそのような記憶装置は、Eitan et al., "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, Novemebr 2000, pp.543-545 （非特許文献１）に記載されている。ＯＮＯ誘電体層がソース拡散およびドレイン拡散の間のチャネルを横断して広がる。１つのデータビットのための電荷はドレインに隣接する誘電体層に局所化され、他方のデータビットのための電荷はソースに隣接する誘電体層に局所化される。例えば、米国特許第５，７６８，１９２号（特許文献１２）および第６，０１１，７２５号（特許文献１３）は、２つの二酸化シリコン層の間に挟まれたトラッピング誘電体を有する不揮発性メモリセルを開示している。多状態データ記憶が、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実施される。
【００１２】
読み出しおよびプログラム性能を改善するために、アレイ中の複数の電荷蓄積素子またはメモリトランジスタが並行して読み出される。従って、記憶素子の１つの「ページ」が一緒に読み出されるかあるいはプログラムされる。既存のメモリアーキテクチャでは、１つの行は通例数個のインターリーブされたページを含み、あるいは１ページを構成することができる。１つのページの全ての記憶素子が一緒に読み出されるかあるいはプログラムされる。
【００１３】
一連の交互プログラム／ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはＶPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスの不確定性に対処するためのものである。しかし、フローティングゲートにプログラムされた電荷がフローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、増大の速度は遅くなってついには止まってしまう。プロセスは非常に非線形であると思われ、従って試行錯誤アプローチが採用される。
【００１４】
プログラム／ベリファイプログラミング手法の不利な点は、ベリファイサイクルが時間をとり、性能に大きく影響を及ぼすことである。問題は、複数のビットを記憶できるメモリセルの実現により悪化する。本質的に、ベリファイは、メモリセルのあり得る複数の状態の各々のために実行されなければならない。１６個のあり得る記憶状態を有するメモリについて、各ベリファイステップが少なくとも１６回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル（「ＭＬＣ」）において識別可能な状態レベルの数が増えると、プログラム／ベリファイ方式のベリファイサイクルはますます時間のかかるものとなる。
【００１５】
２００６年９月１２日にLoc Tuらにより出願された「Method for Non-volatile Memory with Linear Estimation of Initial Programming Voltage」という米国特許出願第１１／５３１，２２７号（特許文献１４）には、線形推定により初期プログラミング電圧を推定する方法が開示されている。不揮発性メモリのために良好なプログラミング性能を達成するためには、初期プログラミング電圧ＶPGM0およびステップサイズは工場で最適に選択されなければならない。これは、メモリセルの各ページを試験することにより成し遂げられる。選択されたページに結合されているワード線は、ページが指定されたパターンと一致すると確かめられるまで、パルス間のベリファイを伴う階段波形の一連の電圧パルスによって連続的にプログラムされる。ページがプログラムされベリファイされるときのプログラミング電圧は、ページのための始動プログラミング電圧の初期値まで逆戻りして線形にスケーリングすることにより推定を行うために使用される。推定は、第２のパスで第１のパスからの推定値を使用することによりさらに洗練される。従って、在来の交互のプログラミングおよびベリファイは、ページを首尾よくプログラムするべく最終プログラミング電圧を確立するために使用される。最終プログラミング電圧は、そのページについての推定された初期プログラミング電圧に到達するように逆戻りして線形にスケーリングされる。このタイプのスケーリングは、ページレベルの総スケール上のスケーリングであり、現場でのメモリの在来のセルごとのプログラミングおよびベリファイの不利な点に対処するものではない。
【００１６】
従って、大容量で高性能の不揮発性メモリに対する一般的ニーズが存在する。特に、前述した不利な点が最小にされる改善されたプログラミング性能を有する大容量不揮発性メモリを得たいというニーズが存在する。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】米国特許第５，１７２，３３８号
【特許文献２】米国特許第５，０７０，０３２号
【特許文献３】米国特許第５，０９５，３４４号
【特許文献４】米国特許第５，３１５，５４１号
【特許文献５】米国特許第５，３４３，０６３号
【特許文献６】米国特許第５，６６１，０５３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第５，５７０，３１５号
【特許文献１０】米国特許第５，９０３，４９５号
【特許文献１１】米国特許第６，０４６，９３５号
【特許文献１２】米国特許第５，７６８，１９２号
【特許文献１３】米国特許第６，０１１，７２５号
【特許文献１４】米国特許出願第１１／５３１，２２７号
【非特許文献】
【００１８】
【非特許文献１】Eitan et al., "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, Novemebr 2000, pp.543-545
【発明の概要】
【００１９】
本発明の１つの一般的な態様に従って、１つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【００２０】
一実施形態では、所定関数は線形関数により近似され、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の１つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの１つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム／ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【００２１】
他の１つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
【００２２】
予測プログラミング手法は、目標状態へのプログラミングがベリファイ操作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号（「ＥＣＣ」）によって処理され得る統計的に予測可能なエラーである。
【００２３】
本発明の付加的な特徴および利点は、添付図面と関連して検討されるべきであるその好ましい実施形態ついての以下の記述から理解される。
【図面の簡単な説明】
【００２４】
【図１】本発明がその中で実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。
【図２】不揮発性メモリセルを概略的に示す。
【図３】任意の時点でフローティングゲートが選択的に蓄積していることのできる４つの異なる電荷Ｑ１〜Ｑ４についてのソース−ドレイン電流ＩDとコントロールゲート電圧ＶCGとの関係を示す。
【図４】メモリセルのＮＯＲアレイの例を示す。
【図５Ａ】ＮＡＮＤストリングに編成されたメモリセルのストリングを概略的に示す。
【図５Ｂ】図５Ａに示されているもののようなＮＡＮＤストリング５０から構成されるメモリセルのＮＡＮＤアレイ２００の例を示す。
【図６】メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。
【図７】所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧およびしきい値電圧レベルの間の観察された関係とを示す。
【図８】所与の記憶装置におけるメモリセルのサンプルについて図７に示されている傾きの分布を概略的に示す。
【図９】メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。
【図１０】本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
【図１１】図９に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
【図１２】図１１に示されているプログラミングプロセスの間の１ページのメモリセルの種々のメモリ状態の分布を概略的に示す。
【図１３】チェックポイントを用いて１つのメモリセルのために所定関数を較正することを含む図１０に示されているステップ３００を示す流れ図である。
【図１４】２つ以上のチェックポイントを使用する予測プログラミングの実施形態の第１の例を示す。
【図１５】図１４に示されているチェックポイントをそれぞれの特定チェックポイント向けの種々の関連する所定関数を較正するために使用する仕方を示す。
【図１６】２つ以上のチェックポイントを使用する予測プログラミングの実施形態の第２の例を示す。
【発明を実施するための形態】
【００２５】
メモリシステム
図１〜図５は、本発明の種々の態様が実施され得る例としてのメモリシステムを示す。
図６は、在来のプログラミング手法を示す。
図７〜図１６は、本発明の種々の態様および実施形態を示す。
【００２６】
図１は、本発明が実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ１００は、メモリセルの２次元アレイ２００と、制御回路２１０と、デコーダ、読み出し／書き込み回路およびマルチプレクサのような周辺回路とを含む。
メモリアレイ２００は、行デコーダ２３０（２３０Ａ、２３０Ｂに分割されている）を介してワード線により、また列デコーダ２６０（２６０Ａ、２６０Ｂに分割されている）を介してビット線により、アドレス指定可能である（図４および図５も参照されたい）。読み出し／書き込み回路２７０（２７０Ａ、２７０Ｂに分割されている）は、１ページのメモリセルが並行して読み出されるかあるいは書き込まれることを可能にする。データＩ／Ｏバス２３１は、読み出し／書き込み回路２７０に結合されている。
１つの好ましい実施形態では、１ページは、同じワード線を共有するメモリセルの１つの連続する行から構成される。メモリセルの１つの行が複数のページに分割される他の１つの実施形態では、読み出し／書き込み回路２７０をそれぞれのページに多重化するためにブロックマルチプレクサ２５０（２５０Ａおよび２５０Ｂに分割されている）が設けられる。例えば、奇数列のメモリセルおよび偶数列のメモリセルによりそれぞれ形成される２つのページが読み出し／書き込み回路に多重化される。
【００２７】
図１は１つの好ましい構成を示し、この構成では、各側でのアクセス線および回路の密度が半分に減るように、種々の周辺回路によるメモリアレイ２００へのアクセスはアレイの両側で対称的に実行される。従って、行デコーダは行デコーダ２３０Ａおよび２３０Ｂに分割され、列デコーダは列デコーダ２６０Ａおよび２６０Ｂに分割されている。メモリセルの１つの行が複数のページに分割される実施形態では、ページマルチプレクサ２５０はページマルチプレクサ２５０Ａおよび２５０Ｂに分割される。同様に、読み出し／書き込み回路２７０は、底部からのビット線に接続する読み出し／書き込み回路２７０Ａと、アレイ２００の頂部からのビット線に接続する読み出し／書き込み回路２７０Ｂとに分割されている。このように、読み出し／書き込みモジュールの密度、従ってセンスモジュール３８０の密度は、本質的に半分だけ減らされている。
制御回路１１０は、メモリアレイ２００に対してメモリ操作を行うために読み出し／書き込み回路２７０と協同するオンチップのコントローラである。制御回路１１０は、通例、状態マシン１１２と、オンチップのアドレスデコーダおよび電源制御モジュールなどの他の回路（明示的に示されていない）とを含む。状態マシン１１２は、メモリ操作のチップレベル制御を提供する。制御回路は、外部メモリコントローラを介してホストと通信する。
メモリアレイ２００は、通例、行および列を成して配列されてワード線およびビット線によりアドレス指定可能なメモリセルの２次元アレイとして編成される。アレイはＮＯＲタイプまたはＮＡＮＤタイプのアーキテクチャに従って形成され得る。
【００２８】
図２は、不揮発性メモリセルを概略的に示す。メモリセル１０は、フローティングゲートまたは誘電体層などの電荷蓄積ユニット２０を有する電界効果トランジスタにより実現され得る。メモリセル１０は、ソース１４、ドレイン１６、およびコントロールゲート３０も含む。
今日使用されている商業的に成功した不揮発性固体記憶装置が多数存在する。これらの記憶装置はいろいろなタイプのメモリセルを採用することができ、その各タイプが１つ以上の電荷蓄積素子を有する。
【００２９】
代表的な不揮発性メモリセルはＥＥＰＲＯＭとフラッシュＥＥＰＲＯＭとを含む。ＥＥＰＲＯＭセルと、それらを製造する方法との例が、米国特許第５，５９５，９２４号（特許文献）に説明されている。フラッシュＥＥＰＲＯＭセル、メモリシステムにおけるそれらの使用、およびそれらを製造する方法の例が、米国特許第５，０７０，０３２号（特許文献２）、第５，０９５，３４４号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、第５，６６１，０５３号（特許文献６）、第５，３１３，４２１号（特許文献７）、および第６，２２２，７６２号（特許文献８）に説明されている。特に、ＮＡＮＤセル構造を有する記憶装置の例が、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。また、誘電体蓄積素子を利用する記憶装置の例が、Eitan et al., "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, Novemebr 2000, pp.543-545 （非特許文献１）と、米国特許第５，７６８，１９２号（特許文献１２）および第６，０１１，７２５号（特許文献１３）とに記載されている。
【００３０】
実際には、セルのメモリ状態は、普通、基準電圧がコントロールゲートに印加されているときにセルのソース電極およびドレイン電極を横断する伝導電流を検知することによって読み出される。従って、セルのフローティングゲート上の各々の所与の電荷について、固定された基準コントロールゲート電圧に関しての対応する伝導電流が検出され得る。同様に、フローティングゲートにプログラムすることのできる電荷の範囲は、対応するしきい値電圧ウィンドウまたは対応する伝導電流ウィンドウを定める。
【００３１】
あるいは、分割された電流ウィンドウの中で伝導電流を検出する代わりに、コントロールゲートにおいて試験される所与のメモリ状態についてしきい値電圧をセットして、伝導電流がしきい値電流より多いか少ないかを検出することが可能である。１つの実施例では、しきい値電流に関しての伝導電流の検出は、伝導電流がビット線のキャパシタンスを通して放電する速さを調べることによって成し遂げられる。
【００３２】
図３は、任意の時点でフローティングゲートが選択的に蓄積していることのできる４つの異なる電荷Ｑ１〜Ｑ４についてのソース−ドレイン電流ＩDとコントロールゲート電圧ＶCGとの関係を示す。４つの実線のＩD対ＶCG曲線は、メモリセルのフローティングゲートにプログラムされることのできる、４つのあり得るメモリ状態にそれぞれ対応する４つのあり得る電荷レベルを表す。一例として、セルの１つの集団のしきい値電圧ウィンドウは０．５Ｖ〜３．５Ｖにおよび得る。しきい値ウィンドウをそれぞれ０．５Ｖの間隔で５個の領域に分割することによって、１つの消去済み状態および６個のプログラム済み状態をそれぞれ表す７個のあり得るメモリ状態「０」、「１」、「２」、「３」、「４」、「５」、「６」が区別され得る。例えば、図に示されているように２μＡの基準電流ＩREFが使用されれば、Ｑ１でプログラムされているセルは、その曲線がＶＣＧ＝０．５Ｖと１．０Ｖとで区切られているしきい値ウィンドウの領域でＩREFと交差するので、メモリ状態「１」にあると見なされ得る。同様に、Ｑ４はメモリ状態「５」にある。
【００３３】
前の記述から分かるように、１つのメモリセルが記憶させられる状態が多いほど、そのしきい値ウィンドウはより細かく分割される。例えば、記憶装置は、−１．５Ｖ〜５Ｖに及ぶしきい値ウィンドウを有するメモリセルを有することができる。これは６．５Ｖの最大幅を提供する。メモリセルが１６個の状態を記憶するものであるならば、各状態はそのしきい値ウィンドウ内で２００ｍＶ〜３００ｍＶを占めることができる。これは、必要とされる分解能を達成できるためにプログラミング操作および読み出し操作により高い精度を必要とする。
【００３４】
図４は、メモリセルのＮＯＲアレイの例を示す。メモリアレイ２００において、各行のメモリセルは、それらのソース１４およびドレイン１６によりデイジーチェーン式に接続されている。この設計は、ときには仮想接地設計と称される。１つの行の中のセル１０のコントロールゲート３０は、ワード線４２のような１つのワード線に接続されている。１つの列の中のセルのソースおよびドレインは、ビット線３４および３６のような選択されたビット線にそれぞれ接続されている。
【００３５】
図５Ａは、ＮＡＮＤストリングに編成されたメモリセルのストリングを概略的に示す。ＮＡＮＤストリング５０は、それらのソースおよびドレインによりデイジーチェーン接続された一連のメモリトランジスタＭ１，Ｍ２・・・Ｍｎ（例えば、ｎ＝４，８，１６あるいはそれ以上）を含む。１対の選択トランジスタＳ１，Ｓ２は、メモリトランジスタのチェーンの、それぞれＮＡＮＤストリングのソース端子５４およびドレイン端子５６を介しての、外部への接続を制御する。メモリアレイにおいて、ソース選択トランジスタＳ１がオンにされたときに、ソース端子は１つのソース線（図５Ｂを参照）に結合される。同様に、ドレイン選択トランジスタＳ２がオンにされたとき、ＮＡＮＤストリングのドレイン端子はメモリアレイの１つのビット線に結合される。チェーン内の各メモリトランジスタ１０は１つのメモリセルとして動作する。それは、意図されたメモリ状態を表すために所与の量の電荷を蓄積する電荷蓄積素子２０を有する。各メモリトランジスタのコントロールゲート３０は、読み出し操作および書き込み操作の制御を可能にする。図５Ｂで見られるように、ＮＡＮＤストリングの１つの行の対応するメモリトランジスタのコントロールゲート３０は、全て同じワード線に接続される。同様に、選択トランジスタＳ１，Ｓ２の各々のコントロールゲート３２は、ＮＡＮＤストリングへの、それぞれそのソース端子５４およびドレイン端子５６を介しての制御アクセスを提供する。同様に、ＮＡＮＤストリングの１つの行の対応する選択トランジスタのコントロールゲート３２は、全て同じ選択線に接続される。
【００３６】
１つのＮＡＮＤストリング内の１つのアドレス指定されたメモリトランジスタ１０がプログラミング中に読み出されるかあるいはベリファイされるときに、そのコントロールゲート３０に適切な電圧が供給される。同時に、ＮＡＮＤストリング５０内の残りのアドレス指定されていないメモリトランジスタは、それらのコントロールゲートへの充分な電圧の印加によって完全にオンに転換される。このようにして、その特定のメモリトランジスタのソースからＮＡＮＤストリングのソース端子５４への、また同様にその特定のメモリトランジスタのドレインのためにセルのドレイン端子５６への、伝導経路が有効に作られる。このようなＮＡＮＤストリング構造を有する記憶装置が、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、第６，０４６，９３５号（特許文献１１）に記載されている。
【００３７】
図５Ｂは、図５Ａに示されているもののようなＮＡＮＤストリング５０から構成されるメモリセルのＮＡＮＤアレイ２００の例を示す。複数のＮＡＮＤストリングの各列に沿って、ビット線３６のような１つのビット線が各ＮＡＮＤストリングのドレイン端子５６に結合されている。複数のＮＡＮＤストリングの各バンクに沿って、ソース線３４のような１つのソース線が各ＮＡＮＤストリングのソース端子５４に結合されている。また、複数のＮＡＮＤストリングの１つのバンクの中のメモリセルの１つの行に沿うコントロールゲートは、ワード線４２のような１つのワード線に接続されている。複数のＮＡＮＤストリングの１つのバンクの中の選択トランジスタの１つの行に沿うコントロールゲートは、選択線４４のような１つの選択線に接続されている。複数のＮＡＮＤストリングの１つのバンクの中のメモリセルの１つの行全体が、そのＮＡＮＤストリングのバンクのワード線および選択線上の適切な電圧によってアドレス指定され得る。１つのＮＡＮＤストリングの中の１つのメモリトランジスタが読み出されるときに、ストリング内の残りのメモリトランジスタは、ストリングを流れる電流がその読まれるセルに蓄積されている電荷のレベルに本質的に依存するように、それらの関連するワード線を介して強くオンに転換される。
【００３８】
図６は、メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。プログラミング電圧ＶPGM が、結合されているワード線を介してメモリセルのコントロールゲートに印加される。ＶPGM は、初期電圧レベルＶPGM0から出発する階段波形の形の一連のプログラミング電圧パルスである。プログラムされるセルは、増分電荷をフローティングゲートにその都度加えようとして、この一連のプログラミング電圧パルスにさらされる。プログラミングパルス間で、セルは、そのソース−ドレイン電流をブレークポイントレベルに関して判定するために読み返されるかあるいはベリファイされる。読み返しプロセスは、１つ以上の検知操作を含み得る。プログラミングは、セルについて、それが目標状態に達したとベリファイされたときに終了する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積ユニット内にプログラムされて溜まった電子に抗するために増大してゆく周期または振幅を持ち得る。プログラミング回路は、一般に、選択された１つのワード線に一連のプログラミングパルスを印加する。このようにして、そのコントロールゲートがワード線に結合されている１ページのメモリセルが一緒にプログラムされ得る。そのページのうちのメモリセルがその目標状態までプログラムされると、それはプログラム禁止されるが、他のセルは、ページの全セルがプログラム−ベリファイされてしまうまでプログラミングを受け続ける。
【００３９】
一連の交互プログラム／ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはＶPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスにおける不確実性に対処するためのものである。しかし、増大は、フローティングゲート内にプログラムされた電荷が、フローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、速度が遅くなってついには止まってしまう。プロセスは非常に非線形であると思われるので、試行錯誤アプローチが採用される。
【００４０】
プログラム／ベリファイプログラミング手法の難点は、ベリファイサイクルが時間を取って性能に強い影響を及ぼすことである。問題は、多数のビットを記憶できるメモリセルの実現によりさらに悪化する。本質的にベリファイは、メモリセルのあり得る多数の状態の各々のために実行されなければならない。１６個のあり得るメモリ状態を有するメモリについて、各ベリファイステップが少なくとも１６回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル（「ＭＬＣ」）において状態レベルが増えるにつれて、プログラム／ベリファイ方式のベリファイサイクルはますます時間がかかるものとなる。
従って、前述した難点が最小にされる改善されたプログラミング性能を有する記憶装置に対するニーズがある。
【００４１】
予測プログラミング手法
本発明の１つの一般的な態様に従って、１つの範囲のしきい値電圧レベルのうちの１つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【００４２】
一実施形態では、所定関数は線形関数により近似され、それは、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の１つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの１つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム／ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【００４３】
他の１つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
予測プログラミング手法は、目標状態へのプログラミングがベリファイ動作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号（「ＥＣＣ」）によって処理され得る統計的に予測可能なエラーである。
【００４４】
図７は、所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧としきい値電圧レベルとの観察された関係とを示す。しきい値ウィンドウの相当の範囲においても個々のメモリセルのプログラミング挙動が非常に線形であることが分かる。アレイ内の個々のセルは大体同様に振る舞い、プログラムされたしきい値電圧の変化量はプログラミング電圧レベルの変化量に実質的に比例する。個々のセルがどれくらい深く消去されたか、またその他のファクタにより、個々のセルは指定されたチェックポイントに到達するためのプログラミングパルスの数に関して異なり得るけれども、個々のセルの各々についての所定関数は実質的に同様の傾きを有する。図７は、低速プログラミングセル、高速プログラミングセルの各々の１つの例と、中速プログラミングセル（実線）の幾つかの例とを示す。いろいろな例の間の傾きのバラツキは僅かであることが分かる。
【００４５】
図８は、１つの所与の記憶装置のメモリセルのサンプルについて図７に示されている傾きの分布を概略的に示す。分布は、本質的に、およそ０．９の平均傾きと約０．１の標準偏差とを有する正規分布を示す。実際のプログラミングは２つの異なるプログラミング電圧ステップサイズを使用した。両方のステップサイズが同様の分布と平均傾きとをもたらすことが観察されている。
【００４６】
図９は、メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要なプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。所定関数は１つの線形関数により近似され、その関数では、目標とされたしきい値レベルＶT は以下の関係によってプログラミング電圧ＶPGM の関数として与えられる。
ＶT （ＶPGM ）＝＜傾き＞ＶPGM ＋ＶT （０）            方程式（１）
（ここで＜傾き＞＝＜ΔＶT ／ΔＶPGM ＞）
逆に、
ＶPGM （ＶT ）＝１／＜傾き＞［ＶT −ＶT （０）］        方程式（２）
である。
【００４７】
好ましい実施形態では、平均の＜傾き＞は、同様の生産バッチからのサンプルを工場で試験することによって予め定められる。例えば、試験は０．９である＜傾き＞をもたらし得る。ＶT （０）はセルに依存し、各セルの予測プログラミングの前に各メモリセルからチェックポイントにより予め定められる。＜傾き＞とＶT （０）とが知られたならば、メモリセルのための所定関数が確定されて、目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧レベルを得るために方程式（２）が使用され得る。
【００４８】
図１０は、本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
ステップ３００：プログラムされるメモリセルのために所定関数を設ける。この関数は、メモリセルがそれを目標としてプログラムされるところのしきい値電圧レベルの関数としてプログラミング電圧値をもたらす。
ステップ３１０：メモリセルを、増大する振幅を有するプログラミング電圧で目標しきい値電圧レベルにプログラムする。プログラミング電圧は、結合されているワード線を介してメモリセルのコントロールゲートに印加される。
ステップ３２０：プログラミング電圧が目標しきい値電圧レベルで値を求められた所定関数により決定される値に実質的に到達した後に、メモリセルのプログラミングを終了する。通例、同じワード線に結合されている１ページのメモリセルが同時にプログラムされる。問題のメモリセルが、目標しきい値電圧レベルで値を求められた所定関数により決定される値を受け取ったときに、ワード線上にページの他のメモリセルのためにあり得る追加のプログラミングパルスがあっても、さらなるプログラミングを禁じられる。
【００４９】
一般的には、所定関数は線形関数によって近似されなくてもよい。所定関数がしきい値電圧レベルの広い範囲を正確にカバーしなければならないのであれば、その生産バッチを工場で試験することにより決定することができ、そして何らかの適切な関数によりモデル化することができる。
一般的に、プログラムされるメモリセルは、１ページの同時にプログラムされる同様のメモリセルのうちの１つである。ページの各メモリセルのために１つの所定関数が設けられる。ページの全メモリセルが同じワード線を共有するので、ページの１つのメモリセルが予測プログラミング電圧によってプログラムされたならば、さらなるプログラミングを禁じられる。
図１０に示されている予測プログラミングモードは、好ましくは、メモリアレイ２００のメモリ操作を制御する制御回路１１０の状態マシン１１２（図１を参照）において実施される。
【００５０】
図１１は、図９に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
初期段階で、メモリセルのためのチェックポイント（０）が、消去済み状態に関連付けられていると考えられるものより僅かに高い１つのしきい値電圧レベル（チェックポイントしきい値電圧レベル）にあると指定される。メモリセルをそのチェックポイントしきい値電圧レベルのほうへプログラムするために一連の増大するプログラミング電圧パルスが印加される。そのプログラミングモードは、チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまで交互にプログラムしベリファイする在来のプログラミングモードであり得る。チェックポイント（０）の座標のセット［ＶPGM ，ＶT ］Checkpoint(0) が知られたならば、方程式（２）の形の所定関数（図９を参照）はＶT （０）について解かれることができて、完全に明示されることができる。
【００５１】
方程式（２）の形の所定関数が明示された後、メモリセルは、目標とされたしきい値電圧レベルまたは目標とされたメモリ状態のための推定されたプログラミング電圧レベルを提供するために所定関数を用いることにより予測モードでプログラムされ得る。１つの好ましい実施形態では、プログラミング電圧ステップサイズは、各追加パルスがメモリセルを次のメモリ状態にプログラムするように調整される。１６個のあり得るメモリ状態を有するメモリセルの例について、パルスサイズは３００ｍＶであり得る。この方法では、１つの付加的なパルスはメモリを状態（１）にプログラムし、他の１つの付加的なパルスはメモリを状態（２）にプログラムする等々である。従って、所与のメモリ状態へのプログラミングは、状態（０）からの状態の数を数えて同数のパルスを供給することに変えられ得る。例えば、フラグがいったん状態（０）でセットされ、その後にメモリセルは、目標状態が状態（０）からそれだけ離れているところの状態の数と同じ数のパルスによりプログラムされ得る。
【００５２】
他のプログラミングパルスサイズも可能である。例えば、１６個のあり得るメモリ状態を有するメモリセルのために、パルスサイズは１５０ｍＶであり得る。その場合には、１つのメモリ状態から次の隣接するメモリ状態にプログラムするために２つのパルスが必要とされる。これはプログラミングにより良い分解能を与え、それは目標とされたしきい値からのマージンが使用される或る実施例において有益である。
【００５３】
図１２は、図１１に示されているプログラミングプロセス中の１ページのメモリセルの種々のメモリ状態の分布を概略的に示す。ページのメモリセルは、全メモリセルが低いしきい値電圧レベルのうちのいずれか１つであり得る消去済み状態にある状態から出発する。初期プログラミング段階の間に、一連のプログラム／ベリファイサイクル（例えば、合計でｘ個のプログラムパルスに加えてｎ＊ｘ個のベリファイステップ）がメモリセルを消去状態から状態（０）にプログラムする。一般的に、各メモリセルのためのｘは互いに無関係である。メモリセルが状態（０）になると、予測プログラミングモードが始まって追加の各パルスがメモリセルを次のメモリ状態にプログラムする。
【００５４】
図１３は、チェックポイントを用いてメモリセルのための所定関数を較正することを含む、図１０に示されているステップ３００を示す流れ図である。
ステップ３０２：対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして関数のチェックポイントを指定する。
ステップ３０４：チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、対応するチェックポイントプログラミング電圧値を決定する。
ステップ３０６：所定関数を、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、チェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように所定関数を較正する。
【００５５】
図１４は、２つ以上のチェックポイントを使用する予測プログラミングの実施形態の第１の例を示す。この第１の例では、予測モードによってプログラムされるべきどのメモリ状態も、チェックポイントモードでプログラムされたメモリ状態に先行される。チェックポイントモードは図１３においてステップ３０２およびステップ３０４に記載されている。メモリセルが状態（０）、状態（１）、状態（２）・・・に漸次プログラムされ得るならば、偶数状態である状態（０）、状態（２）、状態（４）・・・がチェックポイントとして指定され得る。これらの状態には、先行する１つの状態からプログラム／ベリファイプログラミングモードにより到達する（図６を参照）。各チェックポイントから、所定関数が較正されて、次のメモリ状態（例えば、奇数の状態（１）、状態（３）、状態（５）・・・を予測的にプログラムするために使用され得る。
【００５６】
図１４に示されている実施形態は、所定関数が１つ置きのメモリ状態で再較正されて、そのような短い間隔ではセルプログラミング挙動が良好な線形性を示すので、予測モードでのプログラミングが最も正確となることを可能にする。１つ置きのメモリ状態だけがチェックポイントモードでプログラムされるに過ぎないので、在来のプログラミング（図６を参照）におけるベリファイ操作の少なくとも半分が回避される。
【００５７】
図１５は、図１４に示されているチェックポイントをそれぞれの特定チェックポイント向けの（局所的な）種々の関連する所定関数を較正するために使用する仕方を示す。全ての局所的な所定関数が線形で同じ所定の平均傾きを有することが分かる。チェックポイント（０）は、局所的所定関数４００のための境界条件を設定するために使用される。同様に、チェックポイント（２）は局所的所定関数４２０のための境界条件を設定するために使用され、チェックポイント（４）は局所的所定関数４４０のための境界条件を設定するために使用される等々である。
【００５８】
局所的所定関数は、いったん定められたならば、次のメモリ状態のためのプログラミング電圧をもたらすために使用され得る。従って、局所的所定関数４００はセルを状態（１）にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数４２０はセルを状態（３）にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数４４０はセルを状態（５）にプログラムするためのプログラミング電圧レベルをもたらすために使用される等々である。
【００５９】
図１６は、２つ以上のチェックポイントを使用する予測プログラミングの実施形態の第２の例を示す。図１４および図１５に示されている第１の例とは対照的に、この第２の例では、３メモリ状態置きにチェックポイントが指定される。従って、１つのチェックポイント（０）が状態（０）で、状態（４）で、状態（８）で指定される等々である。チェックポイント（０）により定められる局所的所定関数は、それぞれ次の３つのメモリ状態、すなわち状態（１）、状態（２）、および状態（３）のためのプログラミング電圧を予測するために使用される。同様に、チェックポイント（４）により定められる局所的所定関数は、次の３つのメモリ状態、すなわち、状態（５）、状態（６）、および状態（７）のためのプログラミング電圧を予測するために使用される。この第２の例からもたらされる予測されたプログラムされる電圧は、第１の例のもののようには正確でないであろうが、多くの用途においておそらく充分である。プログラム−ベリファイ操作の数をさらに減らすという利点も有する。
【００６０】
メモリセルのしきい値ウィンドウ内のしきい値の範囲の中で指定されるチェックポイントの他の変形例が可能である。性能と精度との兼ね合いに応じて選択を行うことができる。
例えば、或るプログラミングアルゴリズムでは、ページのメモリセルは全て第１のパスでそれぞれの目標状態の近くへプログラムされる。その後、第２のプログラミングパスがそれぞれの目標状態へのプログラミングを完了させる。この２パスアプローチは、隣接するメモリセルのフローティングゲート間のプログラム妨害を軽減するために使用される。第１のパスプログラミングは第２のパスのように高い精度を要求しないので、第１のパスは、時間を節約するために予測プログラミングモードを用いて実行され得る。或る実施例では、第２のプログラミングパスも、予測プログラミングモードを、好ましくはより多くのチェックポイントを置いて、採用することが考えられる。
【００６１】
予測プログラミングモードは、目標とされたしきい値電圧レベルを超過する非常に僅かな可能性（０．１％未満と見積もられる）を排除しない。目標とされたメモリ状態を超過した場合、実行される誤り訂正符号によってエラーが訂正され得る。
２つのチェックポイントを利用し得る場合、所定関数の傾きを別々に定めることが可能である。所定関数は、いったんそのように指定されたならば、その次のメモリ状態のためのプログラミング電圧レベルをもたらすために使用され得る。
本願明細書において参考として引用された全ての特許、特許出願、論文、書籍、仕様、他の刊行物、文書および事物は、その全体が本願明細書において参照によりあらゆる目的のために援用されている。援用されている刊行物、文書および事物のいずれかと本願明細書の文との間の用語の定義あるいは使用法に関しての不一致あるいは矛盾の範囲には、本願明細書における用語の定義あるいは使用法が優越するものとする。
本発明のいろいろな態様を一定の実施形態に関して説明してきたけれども、本発明は添付されている特許請求の範囲全体の中で保護を受ける権利があることが分かる。
【図１】
2010524147.tif 000003
【図２】
2010524147.tif 000004
【図３】
2010524147.tif 000005
【図４】
2010524147.tif 000006
【図５Ａ】
2010524147.tif 000007
【図５Ｂ】
2010524147.tif 000008
【図６】
2010524147.tif 000009
【図７】
2010524147.tif 000010
【図８】
2010524147.tif 000011
【図９】
2010524147.tif 000012
【図１０】
2010524147.tif 000013
【図１１】
2010524147.tif 000014
【図１２】
2010524147.tif 000015
【図１３】
2010524147.tif 000016
【図１４】
2010524147.tif 000017
【図１５】
2010524147.tif 000018
【図１６】
2010524147.tif 000019
【国際調査報告】
2010524147.tif 000020
2010524147.tif 000021
2010524147.tif 000022