不揮発性メモリと予測プログラミングの方法
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、予測プログラミングモードが提供され、このモードにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを所定関数が予測する。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。1つの好ましい実施形態では、所定関数は線形であり、プログラムされる各メモリセルのために1つ以上のチェックポイントにより較正される。チェックポイントは、問題のメモリセルをベリファイされる指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMなどの不揮発性半導体メモリに関し、特に、プログラム−ベリファイ操作の数が最少にされるメモリおよびプログラミング動作に関する。
【背景技術】
【0002】
特に小形形状のファクタカードとしてパッケージ化されたEEPROMおよびフラッシュEEPROMの形の、電荷を不揮発性に蓄積できる固体メモリは、近ごろ、いろいろなモバイル装置およびハンドヘルド装置、特に情報装置および消費者向け一般電子機器製品において一般的に好まれる記憶装置になっている。同じく固体メモリであるRAM(ランダムアクセスメモリ)とは違って、フラッシュメモリは不揮発性であって、それ自身に蓄積されているデータを電源がオフにされた後も保持する。コストがより高いにもかかわらず、フラッシュメモリは大容量記憶用途にますます使用されるようになりつつある。ハードディスクおよびフロッピーディスクなどの回転型磁気媒体に基づく在来の大容量記憶は、モバイルおよびハンドヘルド環境には向いていない。それは、ディスクドライブがかさばりがちで、機械的故障を起こしやすく、長い待ち時間要件および大電力要件を有するからである。これらの望ましくない属性の故に、ディスクに基づく記憶は大抵のモバイルおよびポータブルな用途において実用的でない。一方、フラッシュメモリは、埋め込み型でも取り外し可能なカードの形でも、サイズが小さく、電力消費量が少なく、高速で信頼性が高いという特徴の故にモバイルおよびハンドヘルド環境に理想的に適している。
【0003】
EEPROMと電気的にプログラム可能な読み出し専用メモリ(EPROM)とは、消去されることができて、新しいデータをそのメモリセルに書き込む、すなわち「プログラムする」ことのできる不揮発性メモリである。両者が、ソース領域およびドレイン領域の間で半導体基板のチャネル領域の上に配置された、電界効果トランジスタ構造のフローティング(接続されていない)伝導性ゲートを利用する。フローティングゲートの上にコントロールゲートが設けられる。トランジスタのしきい値電圧特性は、フローティングゲート上に保持されている電荷の量により制御される。すなわち、フローティングゲート上の所与のレベルの電荷について、トランジスタが「オン」にされてそのソース領域およびドレイン領域の間の導通を許すようになる前にコントロールゲートに印加されなければならない対応する電圧(しきい値)がある。
【0004】
フローティングゲートは、1つの範囲の電荷を保持することができ、従って、1つのしきい値電圧ウィンドウの中の任意のしきい値電圧レベルにプログラムされ得る。しきい値電圧ウィンドウのサイズは装置の最小しきい値レベルと最大しきい値レベルとにより確定され、それはフローティングゲート上にプログラムされ得る電荷の範囲に対応する。しきい値ウィンドウは一般に記憶装置の特性、動作条件および履歴に依存する。ウィンドウの中の各々の異なる分解可能なしきい値電圧レベル範囲は、原則として、セルの一定の記憶状態を指定するために使用され得る。しきい値電圧が2つの異なる領域に分割されるときには、各メモリセルは1ビットのデータを記憶することができる。同様に、しきい値電圧ウィンドウが2つより多い別々の領域に分割されるときには、各メモリセルは1ビットより多いデータを記憶することができる。
【0005】
普通の2状態EEPROMセルでは、伝導ウィンドウを2領域に分割するために少なくとも1つの電流ブレークポイントレベルが確立される。セルが所定の、固定されている電圧を印加することにより読まれるとき、そのソース/ドレイン電流は、そのブレークポイントレベル(あるいは基準電流IREF)と比較することによって1つの記憶状態に分解される。読まれた電流がブレークポイントレベルのものより大きければ、そのセルは1つの論理状態(例えば、「ゼロ」状態)にあると判定される。これに対して、電流がブレークポイントレベルのものより小さければ、セルは他方の論理状態(例えば、「1」状態)にあると判定される。従って、このような2状態セルは1ビットのデジタル情報を記憶する。ブレークポイントレベル電流を生成するために、外部からプログラムされ得る基準電流源がしばしばメモリシステムの一部として提供される。
【0006】
記憶容量を増やすために、半導体技術の状態が進歩するにつれてフラッシュEEPROM装置はますます高い密度で製造されるようになっている。記憶容量を増やす他の1つの方法は、各メモリセルに2つより多い状態を記憶させることである。
【0007】
多状態またはマルチレベルEEPROMメモリセルについて、各セルが1ビットより多いデータを記憶できるように伝導ウィンドウは2つ以上のブレークポイントによって3つ以上の領域に分割される。このように、所与のEEPROMアレイが記憶できる情報は、各セルが記憶できる状態の数と共に増やされる。多状態またはマルチレベルのメモリセルを有するEEPROMまたはフラッシュEEPROMが、米国特許第5,172,338号(特許文献1)に記載されている。
【0008】
メモリセルとして役立つトランジスタは、通例、2つのメカニズムのうちの1つによって「プログラム済み」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加された高電圧が電子を基板チャネル領域を横断させて加速させる。同時に、コントロールゲートに印加された高電圧がホットエレクトロンを薄いゲート誘電体を通してフローティングゲートに引きつける。「トンネリング注入」では、高電圧が基板に関してコントロールゲートに印加される。このようにして、電子が基板から中間のフローティングゲートに引きつけられる。
【0009】
記憶装置は、幾つかのメカニズムによって消去され得る。EPROMについて、記憶装置は、紫外線照射によってフローティングゲートから電荷を除去することによってバルク消去可能である。EEPROMについて、薄い酸化物を通って基板チャネル領域にトンネリング(すなわち、ファウラーノルドハイムのトンネリング)するようにフローティングゲート内の電子を誘導するためにコントロールゲートに関して基板に高電圧を印加することによって、メモリセルを電気的に消去可能である。通例、EEPROMはバイト単位で消去可能である。フラッシュEEPROMについて、記憶装置は、一度に全部または一度に1つ以上のブロックを電気的に消去可能であり、1ブロックは512バイト以上のメモリから成ることができる。
【0010】
記憶装置は、通例、カードに搭載され得る1つ以上のメモリチップを含む。各メモリチップは、デコーダおよび消去回路、書き込み回路および読み出し回路などの周辺回路により支援されるメモリセルのアレイを含む。より精巧な記憶装置は、インテリジェントで高レベルの記憶動作とインターフェイスとを実行する外部メモリコントローラを用いて動作する。
【0011】
今日使用されている商業的に成功した不揮発性固体記憶装置は多数存在する。これらの記憶装置は、フラッシュEEPROMであるか、あるいは他のタイプの不揮発性メモリセルを採用し得る。フラッシュメモリ、システム、およびそれらを製造する方法の例が、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に説明されている。特に、NANDストリング構造を有するフラッシュ記憶装置が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。また、不揮発性記憶装置は、電荷を蓄積するための誘電体層を有するメモリセルからも製造されている。前に記載された伝導性フローティングゲート素子の代わりに、誘電体層が使用される。誘電体蓄積素子を利用するそのような記憶装置は、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 (非特許文献1)に記載されている。ONO誘電体層がソース拡散およびドレイン拡散の間のチャネルを横断して広がる。1つのデータビットのための電荷はドレインに隣接する誘電体層に局所化され、他方のデータビットのための電荷はソースに隣接する誘電体層に局所化される。例えば、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)は、2つの二酸化シリコン層の間に挟まれたトラッピング誘電体を有する不揮発性メモリセルを開示している。多状態データ記憶が、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実施される。
【0012】
読み出しおよびプログラム性能を改善するために、アレイ中の複数の電荷蓄積素子またはメモリトランジスタが並行して読み出される。従って、記憶素子の1つの「ページ」が一緒に読み出されるかあるいはプログラムされる。既存のメモリアーキテクチャでは、1つの行は通例数個のインターリーブされたページを含み、あるいは1ページを構成することができる。1つのページの全ての記憶素子が一緒に読み出されるかあるいはプログラムされる。
【0013】
一連の交互プログラム/ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはVPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスの不確定性に対処するためのものである。しかし、フローティングゲートにプログラムされた電荷がフローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、増大の速度は遅くなってついには止まってしまう。プロセスは非常に非線形であると思われ、従って試行錯誤アプローチが採用される。
【0014】
プログラム/ベリファイプログラミング手法の不利な点は、ベリファイサイクルが時間をとり、性能に大きく影響を及ぼすことである。問題は、複数のビットを記憶できるメモリセルの実現により悪化する。本質的に、ベリファイは、メモリセルのあり得る複数の状態の各々のために実行されなければならない。16個のあり得る記憶状態を有するメモリについて、各ベリファイステップが少なくとも16回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル(「MLC」)において識別可能な状態レベルの数が増えると、プログラム/ベリファイ方式のベリファイサイクルはますます時間のかかるものとなる。
【0015】
2006年9月12日にLoc Tuらにより出願された「Method for Non-volatile Memory with Linear Estimation of Initial Programming Voltage」という米国特許出願第11/531,227号(特許文献14)には、線形推定により初期プログラミング電圧を推定する方法が開示されている。不揮発性メモリのために良好なプログラミング性能を達成するためには、初期プログラミング電圧VPGM0およびステップサイズは工場で最適に選択されなければならない。これは、メモリセルの各ページを試験することにより成し遂げられる。選択されたページに結合されているワード線は、ページが指定されたパターンと一致すると確かめられるまで、パルス間のベリファイを伴う階段波形の一連の電圧パルスによって連続的にプログラムされる。ページがプログラムされベリファイされるときのプログラミング電圧は、ページのための始動プログラミング電圧の初期値まで逆戻りして線形にスケーリングすることにより推定を行うために使用される。推定は、第2のパスで第1のパスからの推定値を使用することによりさらに洗練される。従って、在来の交互のプログラミングおよびベリファイは、ページを首尾よくプログラムするべく最終プログラミング電圧を確立するために使用される。最終プログラミング電圧は、そのページについての推定された初期プログラミング電圧に到達するように逆戻りして線形にスケーリングされる。このタイプのスケーリングは、ページレベルの総スケール上のスケーリングであり、現場でのメモリの在来のセルごとのプログラミングおよびベリファイの不利な点に対処するものではない。
【0016】
従って、大容量で高性能の不揮発性メモリに対する一般的ニーズが存在する。特に、前述した不利な点が最小にされる改善されたプログラミング性能を有する大容量不揮発性メモリを得たいというニーズが存在する。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】米国特許第5,172,338号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,768,192号
【特許文献13】米国特許第6,011,725号
【特許文献14】米国特許出願第11/531,227号
【非特許文献】
【0018】
【非特許文献1】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
【発明の概要】
【0019】
本発明の1つの一般的な態様に従って、1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【0020】
一実施形態では、所定関数は線形関数により近似され、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の1つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの1つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム/ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【0021】
他の1つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
【0022】
予測プログラミング手法は、目標状態へのプログラミングがベリファイ操作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号(「ECC」)によって処理され得る統計的に予測可能なエラーである。
【0023】
本発明の付加的な特徴および利点は、添付図面と関連して検討されるべきであるその好ましい実施形態ついての以下の記述から理解される。
【図面の簡単な説明】
【0024】
【図1】本発明がその中で実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。
【図2】不揮発性メモリセルを概略的に示す。
【図3】任意の時点でフローティングゲートが選択的に蓄積していることのできる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの関係を示す。
【図4】メモリセルのNORアレイの例を示す。
【図5A】NANDストリングに編成されたメモリセルのストリングを概略的に示す。
【図5B】図5Aに示されているもののようなNANDストリング50から構成されるメモリセルのNANDアレイ200の例を示す。
【図6】メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。
【図7】所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧およびしきい値電圧レベルの間の観察された関係とを示す。
【図8】所与の記憶装置におけるメモリセルのサンプルについて図7に示されている傾きの分布を概略的に示す。
【図9】メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。
【図10】本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
【図11】図9に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
【図12】図11に示されているプログラミングプロセスの間の1ページのメモリセルの種々のメモリ状態の分布を概略的に示す。
【図13】チェックポイントを用いて1つのメモリセルのために所定関数を較正することを含む図10に示されているステップ300を示す流れ図である。
【図14】2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第1の例を示す。
【図15】図14に示されているチェックポイントをそれぞれの特定チェックポイント向けの種々の関連する所定関数を較正するために使用する仕方を示す。
【図16】2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第2の例を示す。
【発明を実施するための形態】
【0025】
メモリシステム
図1〜図5は、本発明の種々の態様が実施され得る例としてのメモリシステムを示す。
図6は、在来のプログラミング手法を示す。
図7〜図16は、本発明の種々の態様および実施形態を示す。
【0026】
図1は、本発明が実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ100は、メモリセルの2次元アレイ200と、制御回路210と、デコーダ、読み出し/書き込み回路およびマルチプレクサのような周辺回路とを含む。
メモリアレイ200は、行デコーダ230(230A、230Bに分割されている)を介してワード線により、また列デコーダ260(260A、260Bに分割されている)を介してビット線により、アドレス指定可能である(図4および図5も参照されたい)。読み出し/書き込み回路270(270A、270Bに分割されている)は、1ページのメモリセルが並行して読み出されるかあるいは書き込まれることを可能にする。データI/Oバス231は、読み出し/書き込み回路270に結合されている。
1つの好ましい実施形態では、1ページは、同じワード線を共有するメモリセルの1つの連続する行から構成される。メモリセルの1つの行が複数のページに分割される他の1つの実施形態では、読み出し/書き込み回路270をそれぞれのページに多重化するためにブロックマルチプレクサ250(250Aおよび250Bに分割されている)が設けられる。例えば、奇数列のメモリセルおよび偶数列のメモリセルによりそれぞれ形成される2つのページが読み出し/書き込み回路に多重化される。
【0027】
図1は1つの好ましい構成を示し、この構成では、各側でのアクセス線および回路の密度が半分に減るように、種々の周辺回路によるメモリアレイ200へのアクセスはアレイの両側で対称的に実行される。従って、行デコーダは行デコーダ230Aおよび230Bに分割され、列デコーダは列デコーダ260Aおよび260Bに分割されている。メモリセルの1つの行が複数のページに分割される実施形態では、ページマルチプレクサ250はページマルチプレクサ250Aおよび250Bに分割される。同様に、読み出し/書き込み回路270は、底部からのビット線に接続する読み出し/書き込み回路270Aと、アレイ200の頂部からのビット線に接続する読み出し/書き込み回路270Bとに分割されている。このように、読み出し/書き込みモジュールの密度、従ってセンスモジュール380の密度は、本質的に半分だけ減らされている。
制御回路110は、メモリアレイ200に対してメモリ操作を行うために読み出し/書き込み回路270と協同するオンチップのコントローラである。制御回路110は、通例、状態マシン112と、オンチップのアドレスデコーダおよび電源制御モジュールなどの他の回路(明示的に示されていない)とを含む。状態マシン112は、メモリ操作のチップレベル制御を提供する。制御回路は、外部メモリコントローラを介してホストと通信する。
メモリアレイ200は、通例、行および列を成して配列されてワード線およびビット線によりアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイはNORタイプまたはNANDタイプのアーキテクチャに従って形成され得る。
【0028】
図2は、不揮発性メモリセルを概略的に示す。メモリセル10は、フローティングゲートまたは誘電体層などの電荷蓄積ユニット20を有する電界効果トランジスタにより実現され得る。メモリセル10は、ソース14、ドレイン16、およびコントロールゲート30も含む。
今日使用されている商業的に成功した不揮発性固体記憶装置が多数存在する。これらの記憶装置はいろいろなタイプのメモリセルを採用することができ、その各タイプが1つ以上の電荷蓄積素子を有する。
【0029】
代表的な不揮発性メモリセルはEEPROMとフラッシュEEPROMとを含む。EEPROMセルと、それらを製造する方法との例が、米国特許第5,595,924号(特許文献)に説明されている。フラッシュEEPROMセル、メモリシステムにおけるそれらの使用、およびそれらを製造する方法の例が、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に説明されている。特に、NANDセル構造を有する記憶装置の例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。また、誘電体蓄積素子を利用する記憶装置の例が、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 (非特許文献1)と、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)とに記載されている。
【0030】
実際には、セルのメモリ状態は、普通、基準電圧がコントロールゲートに印加されているときにセルのソース電極およびドレイン電極を横断する伝導電流を検知することによって読み出される。従って、セルのフローティングゲート上の各々の所与の電荷について、固定された基準コントロールゲート電圧に関しての対応する伝導電流が検出され得る。同様に、フローティングゲートにプログラムすることのできる電荷の範囲は、対応するしきい値電圧ウィンドウまたは対応する伝導電流ウィンドウを定める。
【0031】
あるいは、分割された電流ウィンドウの中で伝導電流を検出する代わりに、コントロールゲートにおいて試験される所与のメモリ状態についてしきい値電圧をセットして、伝導電流がしきい値電流より多いか少ないかを検出することが可能である。1つの実施例では、しきい値電流に関しての伝導電流の検出は、伝導電流がビット線のキャパシタンスを通して放電する速さを調べることによって成し遂げられる。
【0032】
図3は、任意の時点でフローティングゲートが選択的に蓄積していることのできる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの関係を示す。4つの実線のID対VCG曲線は、メモリセルのフローティングゲートにプログラムされることのできる、4つのあり得るメモリ状態にそれぞれ対応する4つのあり得る電荷レベルを表す。一例として、セルの1つの集団のしきい値電圧ウィンドウは0.5V〜3.5Vにおよび得る。しきい値ウィンドウをそれぞれ0.5Vの間隔で5個の領域に分割することによって、1つの消去済み状態および6個のプログラム済み状態をそれぞれ表す7個のあり得るメモリ状態「0」、「1」、「2」、「3」、「4」、「5」、「6」が区別され得る。例えば、図に示されているように2μAの基準電流IREFが使用されれば、Q1でプログラムされているセルは、その曲線がVCG=0.5Vと1.0Vとで区切られているしきい値ウィンドウの領域でIREFと交差するので、メモリ状態「1」にあると見なされ得る。同様に、Q4はメモリ状態「5」にある。
【0033】
前の記述から分かるように、1つのメモリセルが記憶させられる状態が多いほど、そのしきい値ウィンドウはより細かく分割される。例えば、記憶装置は、−1.5V〜5Vに及ぶしきい値ウィンドウを有するメモリセルを有することができる。これは6.5Vの最大幅を提供する。メモリセルが16個の状態を記憶するものであるならば、各状態はそのしきい値ウィンドウ内で200mV〜300mVを占めることができる。これは、必要とされる分解能を達成できるためにプログラミング操作および読み出し操作により高い精度を必要とする。
【0034】
図4は、メモリセルのNORアレイの例を示す。メモリアレイ200において、各行のメモリセルは、それらのソース14およびドレイン16によりデイジーチェーン式に接続されている。この設計は、ときには仮想接地設計と称される。1つの行の中のセル10のコントロールゲート30は、ワード線42のような1つのワード線に接続されている。1つの列の中のセルのソースおよびドレインは、ビット線34および36のような選択されたビット線にそれぞれ接続されている。
【0035】
図5Aは、NANDストリングに編成されたメモリセルのストリングを概略的に示す。NANDストリング50は、それらのソースおよびドレインによりデイジーチェーン接続された一連のメモリトランジスタM1,M2・・・Mn(例えば、n=4,8,16あるいはそれ以上)を含む。1対の選択トランジスタS1,S2は、メモリトランジスタのチェーンの、それぞれNANDストリングのソース端子54およびドレイン端子56を介しての、外部への接続を制御する。メモリアレイにおいて、ソース選択トランジスタS1がオンにされたときに、ソース端子は1つのソース線(図5Bを参照)に結合される。同様に、ドレイン選択トランジスタS2がオンにされたとき、NANDストリングのドレイン端子はメモリアレイの1つのビット線に結合される。チェーン内の各メモリトランジスタ10は1つのメモリセルとして動作する。それは、意図されたメモリ状態を表すために所与の量の電荷を蓄積する電荷蓄積素子20を有する。各メモリトランジスタのコントロールゲート30は、読み出し操作および書き込み操作の制御を可能にする。図5Bで見られるように、NANDストリングの1つの行の対応するメモリトランジスタのコントロールゲート30は、全て同じワード線に接続される。同様に、選択トランジスタS1,S2の各々のコントロールゲート32は、NANDストリングへの、それぞれそのソース端子54およびドレイン端子56を介しての制御アクセスを提供する。同様に、NANDストリングの1つの行の対応する選択トランジスタのコントロールゲート32は、全て同じ選択線に接続される。
【0036】
1つのNANDストリング内の1つのアドレス指定されたメモリトランジスタ10がプログラミング中に読み出されるかあるいはベリファイされるときに、そのコントロールゲート30に適切な電圧が供給される。同時に、NANDストリング50内の残りのアドレス指定されていないメモリトランジスタは、それらのコントロールゲートへの充分な電圧の印加によって完全にオンに転換される。このようにして、その特定のメモリトランジスタのソースからNANDストリングのソース端子54への、また同様にその特定のメモリトランジスタのドレインのためにセルのドレイン端子56への、伝導経路が有効に作られる。このようなNANDストリング構造を有する記憶装置が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。
【0037】
図5Bは、図5Aに示されているもののようなNANDストリング50から構成されるメモリセルのNANDアレイ200の例を示す。複数のNANDストリングの各列に沿って、ビット線36のような1つのビット線が各NANDストリングのドレイン端子56に結合されている。複数のNANDストリングの各バンクに沿って、ソース線34のような1つのソース線が各NANDストリングのソース端子54に結合されている。また、複数のNANDストリングの1つのバンクの中のメモリセルの1つの行に沿うコントロールゲートは、ワード線42のような1つのワード線に接続されている。複数のNANDストリングの1つのバンクの中の選択トランジスタの1つの行に沿うコントロールゲートは、選択線44のような1つの選択線に接続されている。複数のNANDストリングの1つのバンクの中のメモリセルの1つの行全体が、そのNANDストリングのバンクのワード線および選択線上の適切な電圧によってアドレス指定され得る。1つのNANDストリングの中の1つのメモリトランジスタが読み出されるときに、ストリング内の残りのメモリトランジスタは、ストリングを流れる電流がその読まれるセルに蓄積されている電荷のレベルに本質的に依存するように、それらの関連するワード線を介して強くオンに転換される。
【0038】
図6は、メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。プログラミング電圧VPGM が、結合されているワード線を介してメモリセルのコントロールゲートに印加される。VPGM は、初期電圧レベルVPGM0から出発する階段波形の形の一連のプログラミング電圧パルスである。プログラムされるセルは、増分電荷をフローティングゲートにその都度加えようとして、この一連のプログラミング電圧パルスにさらされる。プログラミングパルス間で、セルは、そのソース−ドレイン電流をブレークポイントレベルに関して判定するために読み返されるかあるいはベリファイされる。読み返しプロセスは、1つ以上の検知操作を含み得る。プログラミングは、セルについて、それが目標状態に達したとベリファイされたときに終了する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積ユニット内にプログラムされて溜まった電子に抗するために増大してゆく周期または振幅を持ち得る。プログラミング回路は、一般に、選択された1つのワード線に一連のプログラミングパルスを印加する。このようにして、そのコントロールゲートがワード線に結合されている1ページのメモリセルが一緒にプログラムされ得る。そのページのうちのメモリセルがその目標状態までプログラムされると、それはプログラム禁止されるが、他のセルは、ページの全セルがプログラム−ベリファイされてしまうまでプログラミングを受け続ける。
【0039】
一連の交互プログラム/ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはVPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスにおける不確実性に対処するためのものである。しかし、増大は、フローティングゲート内にプログラムされた電荷が、フローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、速度が遅くなってついには止まってしまう。プロセスは非常に非線形であると思われるので、試行錯誤アプローチが採用される。
【0040】
プログラム/ベリファイプログラミング手法の難点は、ベリファイサイクルが時間を取って性能に強い影響を及ぼすことである。問題は、多数のビットを記憶できるメモリセルの実現によりさらに悪化する。本質的にベリファイは、メモリセルのあり得る多数の状態の各々のために実行されなければならない。16個のあり得るメモリ状態を有するメモリについて、各ベリファイステップが少なくとも16回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル(「MLC」)において状態レベルが増えるにつれて、プログラム/ベリファイ方式のベリファイサイクルはますます時間がかかるものとなる。
従って、前述した難点が最小にされる改善されたプログラミング性能を有する記憶装置に対するニーズがある。
【0041】
予測プログラミング手法
本発明の1つの一般的な態様に従って、1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【0042】
一実施形態では、所定関数は線形関数により近似され、それは、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の1つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの1つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム/ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【0043】
他の1つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
予測プログラミング手法は、目標状態へのプログラミングがベリファイ動作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号(「ECC」)によって処理され得る統計的に予測可能なエラーである。
【0044】
図7は、所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧としきい値電圧レベルとの観察された関係とを示す。しきい値ウィンドウの相当の範囲においても個々のメモリセルのプログラミング挙動が非常に線形であることが分かる。アレイ内の個々のセルは大体同様に振る舞い、プログラムされたしきい値電圧の変化量はプログラミング電圧レベルの変化量に実質的に比例する。個々のセルがどれくらい深く消去されたか、またその他のファクタにより、個々のセルは指定されたチェックポイントに到達するためのプログラミングパルスの数に関して異なり得るけれども、個々のセルの各々についての所定関数は実質的に同様の傾きを有する。図7は、低速プログラミングセル、高速プログラミングセルの各々の1つの例と、中速プログラミングセル(実線)の幾つかの例とを示す。いろいろな例の間の傾きのバラツキは僅かであることが分かる。
【0045】
図8は、1つの所与の記憶装置のメモリセルのサンプルについて図7に示されている傾きの分布を概略的に示す。分布は、本質的に、およそ0.9の平均傾きと約0.1の標準偏差とを有する正規分布を示す。実際のプログラミングは2つの異なるプログラミング電圧ステップサイズを使用した。両方のステップサイズが同様の分布と平均傾きとをもたらすことが観察されている。
【0046】
図9は、メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要なプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。所定関数は1つの線形関数により近似され、その関数では、目標とされたしきい値レベルVT は以下の関係によってプログラミング電圧VPGM の関数として与えられる。
VT (VPGM )=<傾き>VPGM +VT (0) 方程式(1)
(ここで<傾き>=<ΔVT /ΔVPGM >)
逆に、
VPGM (VT )=1/<傾き>[VT −VT (0)] 方程式(2)
である。
【0047】
好ましい実施形態では、平均の<傾き>は、同様の生産バッチからのサンプルを工場で試験することによって予め定められる。例えば、試験は0.9である<傾き>をもたらし得る。VT (0)はセルに依存し、各セルの予測プログラミングの前に各メモリセルからチェックポイントにより予め定められる。<傾き>とVT (0)とが知られたならば、メモリセルのための所定関数が確定されて、目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧レベルを得るために方程式(2)が使用され得る。
【0048】
図10は、本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
ステップ300:プログラムされるメモリセルのために所定関数を設ける。この関数は、メモリセルがそれを目標としてプログラムされるところのしきい値電圧レベルの関数としてプログラミング電圧値をもたらす。
ステップ310:メモリセルを、増大する振幅を有するプログラミング電圧で目標しきい値電圧レベルにプログラムする。プログラミング電圧は、結合されているワード線を介してメモリセルのコントロールゲートに印加される。
ステップ320:プログラミング電圧が目標しきい値電圧レベルで値を求められた所定関数により決定される値に実質的に到達した後に、メモリセルのプログラミングを終了する。通例、同じワード線に結合されている1ページのメモリセルが同時にプログラムされる。問題のメモリセルが、目標しきい値電圧レベルで値を求められた所定関数により決定される値を受け取ったときに、ワード線上にページの他のメモリセルのためにあり得る追加のプログラミングパルスがあっても、さらなるプログラミングを禁じられる。
【0049】
一般的には、所定関数は線形関数によって近似されなくてもよい。所定関数がしきい値電圧レベルの広い範囲を正確にカバーしなければならないのであれば、その生産バッチを工場で試験することにより決定することができ、そして何らかの適切な関数によりモデル化することができる。
一般的に、プログラムされるメモリセルは、1ページの同時にプログラムされる同様のメモリセルのうちの1つである。ページの各メモリセルのために1つの所定関数が設けられる。ページの全メモリセルが同じワード線を共有するので、ページの1つのメモリセルが予測プログラミング電圧によってプログラムされたならば、さらなるプログラミングを禁じられる。
図10に示されている予測プログラミングモードは、好ましくは、メモリアレイ200のメモリ操作を制御する制御回路110の状態マシン112(図1を参照)において実施される。
【0050】
図11は、図9に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
初期段階で、メモリセルのためのチェックポイント(0)が、消去済み状態に関連付けられていると考えられるものより僅かに高い1つのしきい値電圧レベル(チェックポイントしきい値電圧レベル)にあると指定される。メモリセルをそのチェックポイントしきい値電圧レベルのほうへプログラムするために一連の増大するプログラミング電圧パルスが印加される。そのプログラミングモードは、チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまで交互にプログラムしベリファイする在来のプログラミングモードであり得る。チェックポイント(0)の座標のセット[VPGM ,VT ]Checkpoint(0) が知られたならば、方程式(2)の形の所定関数(図9を参照)はVT (0)について解かれることができて、完全に明示されることができる。
【0051】
方程式(2)の形の所定関数が明示された後、メモリセルは、目標とされたしきい値電圧レベルまたは目標とされたメモリ状態のための推定されたプログラミング電圧レベルを提供するために所定関数を用いることにより予測モードでプログラムされ得る。1つの好ましい実施形態では、プログラミング電圧ステップサイズは、各追加パルスがメモリセルを次のメモリ状態にプログラムするように調整される。16個のあり得るメモリ状態を有するメモリセルの例について、パルスサイズは300mVであり得る。この方法では、1つの付加的なパルスはメモリを状態(1)にプログラムし、他の1つの付加的なパルスはメモリを状態(2)にプログラムする等々である。従って、所与のメモリ状態へのプログラミングは、状態(0)からの状態の数を数えて同数のパルスを供給することに変えられ得る。例えば、フラグがいったん状態(0)でセットされ、その後にメモリセルは、目標状態が状態(0)からそれだけ離れているところの状態の数と同じ数のパルスによりプログラムされ得る。
【0052】
他のプログラミングパルスサイズも可能である。例えば、16個のあり得るメモリ状態を有するメモリセルのために、パルスサイズは150mVであり得る。その場合には、1つのメモリ状態から次の隣接するメモリ状態にプログラムするために2つのパルスが必要とされる。これはプログラミングにより良い分解能を与え、それは目標とされたしきい値からのマージンが使用される或る実施例において有益である。
【0053】
図12は、図11に示されているプログラミングプロセス中の1ページのメモリセルの種々のメモリ状態の分布を概略的に示す。ページのメモリセルは、全メモリセルが低いしきい値電圧レベルのうちのいずれか1つであり得る消去済み状態にある状態から出発する。初期プログラミング段階の間に、一連のプログラム/ベリファイサイクル(例えば、合計でx個のプログラムパルスに加えてn*x個のベリファイステップ)がメモリセルを消去状態から状態(0)にプログラムする。一般的に、各メモリセルのためのxは互いに無関係である。メモリセルが状態(0)になると、予測プログラミングモードが始まって追加の各パルスがメモリセルを次のメモリ状態にプログラムする。
【0054】
図13は、チェックポイントを用いてメモリセルのための所定関数を較正することを含む、図10に示されているステップ300を示す流れ図である。
ステップ302:対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして関数のチェックポイントを指定する。
ステップ304:チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、対応するチェックポイントプログラミング電圧値を決定する。
ステップ306:所定関数を、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、チェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように所定関数を較正する。
【0055】
図14は、2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第1の例を示す。この第1の例では、予測モードによってプログラムされるべきどのメモリ状態も、チェックポイントモードでプログラムされたメモリ状態に先行される。チェックポイントモードは図13においてステップ302およびステップ304に記載されている。メモリセルが状態(0)、状態(1)、状態(2)・・・に漸次プログラムされ得るならば、偶数状態である状態(0)、状態(2)、状態(4)・・・がチェックポイントとして指定され得る。これらの状態には、先行する1つの状態からプログラム/ベリファイプログラミングモードにより到達する(図6を参照)。各チェックポイントから、所定関数が較正されて、次のメモリ状態(例えば、奇数の状態(1)、状態(3)、状態(5)・・・を予測的にプログラムするために使用され得る。
【0056】
図14に示されている実施形態は、所定関数が1つ置きのメモリ状態で再較正されて、そのような短い間隔ではセルプログラミング挙動が良好な線形性を示すので、予測モードでのプログラミングが最も正確となることを可能にする。1つ置きのメモリ状態だけがチェックポイントモードでプログラムされるに過ぎないので、在来のプログラミング(図6を参照)におけるベリファイ操作の少なくとも半分が回避される。
【0057】
図15は、図14に示されているチェックポイントをそれぞれの特定チェックポイント向けの(局所的な)種々の関連する所定関数を較正するために使用する仕方を示す。全ての局所的な所定関数が線形で同じ所定の平均傾きを有することが分かる。チェックポイント(0)は、局所的所定関数400のための境界条件を設定するために使用される。同様に、チェックポイント(2)は局所的所定関数420のための境界条件を設定するために使用され、チェックポイント(4)は局所的所定関数440のための境界条件を設定するために使用される等々である。
【0058】
局所的所定関数は、いったん定められたならば、次のメモリ状態のためのプログラミング電圧をもたらすために使用され得る。従って、局所的所定関数400はセルを状態(1)にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数420はセルを状態(3)にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数440はセルを状態(5)にプログラムするためのプログラミング電圧レベルをもたらすために使用される等々である。
【0059】
図16は、2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第2の例を示す。図14および図15に示されている第1の例とは対照的に、この第2の例では、3メモリ状態置きにチェックポイントが指定される。従って、1つのチェックポイント(0)が状態(0)で、状態(4)で、状態(8)で指定される等々である。チェックポイント(0)により定められる局所的所定関数は、それぞれ次の3つのメモリ状態、すなわち状態(1)、状態(2)、および状態(3)のためのプログラミング電圧を予測するために使用される。同様に、チェックポイント(4)により定められる局所的所定関数は、次の3つのメモリ状態、すなわち、状態(5)、状態(6)、および状態(7)のためのプログラミング電圧を予測するために使用される。この第2の例からもたらされる予測されたプログラムされる電圧は、第1の例のもののようには正確でないであろうが、多くの用途においておそらく充分である。プログラム−ベリファイ操作の数をさらに減らすという利点も有する。
【0060】
メモリセルのしきい値ウィンドウ内のしきい値の範囲の中で指定されるチェックポイントの他の変形例が可能である。性能と精度との兼ね合いに応じて選択を行うことができる。
例えば、或るプログラミングアルゴリズムでは、ページのメモリセルは全て第1のパスでそれぞれの目標状態の近くへプログラムされる。その後、第2のプログラミングパスがそれぞれの目標状態へのプログラミングを完了させる。この2パスアプローチは、隣接するメモリセルのフローティングゲート間のプログラム妨害を軽減するために使用される。第1のパスプログラミングは第2のパスのように高い精度を要求しないので、第1のパスは、時間を節約するために予測プログラミングモードを用いて実行され得る。或る実施例では、第2のプログラミングパスも、予測プログラミングモードを、好ましくはより多くのチェックポイントを置いて、採用することが考えられる。
【0061】
予測プログラミングモードは、目標とされたしきい値電圧レベルを超過する非常に僅かな可能性(0.1%未満と見積もられる)を排除しない。目標とされたメモリ状態を超過した場合、実行される誤り訂正符号によってエラーが訂正され得る。
2つのチェックポイントを利用し得る場合、所定関数の傾きを別々に定めることが可能である。所定関数は、いったんそのように指定されたならば、その次のメモリ状態のためのプログラミング電圧レベルをもたらすために使用され得る。
本願明細書において参考として引用された全ての特許、特許出願、論文、書籍、仕様、他の刊行物、文書および事物は、その全体が本願明細書において参照によりあらゆる目的のために援用されている。援用されている刊行物、文書および事物のいずれかと本願明細書の文との間の用語の定義あるいは使用法に関しての不一致あるいは矛盾の範囲には、本願明細書における用語の定義あるいは使用法が優越するものとする。
本発明のいろいろな態様を一定の実施形態に関して説明してきたけれども、本発明は添付されている特許請求の範囲全体の中で保護を受ける権利があることが分かる。
【技術分野】
【0001】
本発明は、一般的には、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュEEPROMなどの不揮発性半導体メモリに関し、特に、プログラム−ベリファイ操作の数が最少にされるメモリおよびプログラミング動作に関する。
【背景技術】
【0002】
特に小形形状のファクタカードとしてパッケージ化されたEEPROMおよびフラッシュEEPROMの形の、電荷を不揮発性に蓄積できる固体メモリは、近ごろ、いろいろなモバイル装置およびハンドヘルド装置、特に情報装置および消費者向け一般電子機器製品において一般的に好まれる記憶装置になっている。同じく固体メモリであるRAM(ランダムアクセスメモリ)とは違って、フラッシュメモリは不揮発性であって、それ自身に蓄積されているデータを電源がオフにされた後も保持する。コストがより高いにもかかわらず、フラッシュメモリは大容量記憶用途にますます使用されるようになりつつある。ハードディスクおよびフロッピーディスクなどの回転型磁気媒体に基づく在来の大容量記憶は、モバイルおよびハンドヘルド環境には向いていない。それは、ディスクドライブがかさばりがちで、機械的故障を起こしやすく、長い待ち時間要件および大電力要件を有するからである。これらの望ましくない属性の故に、ディスクに基づく記憶は大抵のモバイルおよびポータブルな用途において実用的でない。一方、フラッシュメモリは、埋め込み型でも取り外し可能なカードの形でも、サイズが小さく、電力消費量が少なく、高速で信頼性が高いという特徴の故にモバイルおよびハンドヘルド環境に理想的に適している。
【0003】
EEPROMと電気的にプログラム可能な読み出し専用メモリ(EPROM)とは、消去されることができて、新しいデータをそのメモリセルに書き込む、すなわち「プログラムする」ことのできる不揮発性メモリである。両者が、ソース領域およびドレイン領域の間で半導体基板のチャネル領域の上に配置された、電界効果トランジスタ構造のフローティング(接続されていない)伝導性ゲートを利用する。フローティングゲートの上にコントロールゲートが設けられる。トランジスタのしきい値電圧特性は、フローティングゲート上に保持されている電荷の量により制御される。すなわち、フローティングゲート上の所与のレベルの電荷について、トランジスタが「オン」にされてそのソース領域およびドレイン領域の間の導通を許すようになる前にコントロールゲートに印加されなければならない対応する電圧(しきい値)がある。
【0004】
フローティングゲートは、1つの範囲の電荷を保持することができ、従って、1つのしきい値電圧ウィンドウの中の任意のしきい値電圧レベルにプログラムされ得る。しきい値電圧ウィンドウのサイズは装置の最小しきい値レベルと最大しきい値レベルとにより確定され、それはフローティングゲート上にプログラムされ得る電荷の範囲に対応する。しきい値ウィンドウは一般に記憶装置の特性、動作条件および履歴に依存する。ウィンドウの中の各々の異なる分解可能なしきい値電圧レベル範囲は、原則として、セルの一定の記憶状態を指定するために使用され得る。しきい値電圧が2つの異なる領域に分割されるときには、各メモリセルは1ビットのデータを記憶することができる。同様に、しきい値電圧ウィンドウが2つより多い別々の領域に分割されるときには、各メモリセルは1ビットより多いデータを記憶することができる。
【0005】
普通の2状態EEPROMセルでは、伝導ウィンドウを2領域に分割するために少なくとも1つの電流ブレークポイントレベルが確立される。セルが所定の、固定されている電圧を印加することにより読まれるとき、そのソース/ドレイン電流は、そのブレークポイントレベル(あるいは基準電流IREF)と比較することによって1つの記憶状態に分解される。読まれた電流がブレークポイントレベルのものより大きければ、そのセルは1つの論理状態(例えば、「ゼロ」状態)にあると判定される。これに対して、電流がブレークポイントレベルのものより小さければ、セルは他方の論理状態(例えば、「1」状態)にあると判定される。従って、このような2状態セルは1ビットのデジタル情報を記憶する。ブレークポイントレベル電流を生成するために、外部からプログラムされ得る基準電流源がしばしばメモリシステムの一部として提供される。
【0006】
記憶容量を増やすために、半導体技術の状態が進歩するにつれてフラッシュEEPROM装置はますます高い密度で製造されるようになっている。記憶容量を増やす他の1つの方法は、各メモリセルに2つより多い状態を記憶させることである。
【0007】
多状態またはマルチレベルEEPROMメモリセルについて、各セルが1ビットより多いデータを記憶できるように伝導ウィンドウは2つ以上のブレークポイントによって3つ以上の領域に分割される。このように、所与のEEPROMアレイが記憶できる情報は、各セルが記憶できる状態の数と共に増やされる。多状態またはマルチレベルのメモリセルを有するEEPROMまたはフラッシュEEPROMが、米国特許第5,172,338号(特許文献1)に記載されている。
【0008】
メモリセルとして役立つトランジスタは、通例、2つのメカニズムのうちの1つによって「プログラム済み」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに印加された高電圧が電子を基板チャネル領域を横断させて加速させる。同時に、コントロールゲートに印加された高電圧がホットエレクトロンを薄いゲート誘電体を通してフローティングゲートに引きつける。「トンネリング注入」では、高電圧が基板に関してコントロールゲートに印加される。このようにして、電子が基板から中間のフローティングゲートに引きつけられる。
【0009】
記憶装置は、幾つかのメカニズムによって消去され得る。EPROMについて、記憶装置は、紫外線照射によってフローティングゲートから電荷を除去することによってバルク消去可能である。EEPROMについて、薄い酸化物を通って基板チャネル領域にトンネリング(すなわち、ファウラーノルドハイムのトンネリング)するようにフローティングゲート内の電子を誘導するためにコントロールゲートに関して基板に高電圧を印加することによって、メモリセルを電気的に消去可能である。通例、EEPROMはバイト単位で消去可能である。フラッシュEEPROMについて、記憶装置は、一度に全部または一度に1つ以上のブロックを電気的に消去可能であり、1ブロックは512バイト以上のメモリから成ることができる。
【0010】
記憶装置は、通例、カードに搭載され得る1つ以上のメモリチップを含む。各メモリチップは、デコーダおよび消去回路、書き込み回路および読み出し回路などの周辺回路により支援されるメモリセルのアレイを含む。より精巧な記憶装置は、インテリジェントで高レベルの記憶動作とインターフェイスとを実行する外部メモリコントローラを用いて動作する。
【0011】
今日使用されている商業的に成功した不揮発性固体記憶装置は多数存在する。これらの記憶装置は、フラッシュEEPROMであるか、あるいは他のタイプの不揮発性メモリセルを採用し得る。フラッシュメモリ、システム、およびそれらを製造する方法の例が、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に説明されている。特に、NANDストリング構造を有するフラッシュ記憶装置が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。また、不揮発性記憶装置は、電荷を蓄積するための誘電体層を有するメモリセルからも製造されている。前に記載された伝導性フローティングゲート素子の代わりに、誘電体層が使用される。誘電体蓄積素子を利用するそのような記憶装置は、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 (非特許文献1)に記載されている。ONO誘電体層がソース拡散およびドレイン拡散の間のチャネルを横断して広がる。1つのデータビットのための電荷はドレインに隣接する誘電体層に局所化され、他方のデータビットのための電荷はソースに隣接する誘電体層に局所化される。例えば、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)は、2つの二酸化シリコン層の間に挟まれたトラッピング誘電体を有する不揮発性メモリセルを開示している。多状態データ記憶が、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実施される。
【0012】
読み出しおよびプログラム性能を改善するために、アレイ中の複数の電荷蓄積素子またはメモリトランジスタが並行して読み出される。従って、記憶素子の1つの「ページ」が一緒に読み出されるかあるいはプログラムされる。既存のメモリアーキテクチャでは、1つの行は通例数個のインターリーブされたページを含み、あるいは1ページを構成することができる。1つのページの全ての記憶素子が一緒に読み出されるかあるいはプログラムされる。
【0013】
一連の交互プログラム/ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはVPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスの不確定性に対処するためのものである。しかし、フローティングゲートにプログラムされた電荷がフローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、増大の速度は遅くなってついには止まってしまう。プロセスは非常に非線形であると思われ、従って試行錯誤アプローチが採用される。
【0014】
プログラム/ベリファイプログラミング手法の不利な点は、ベリファイサイクルが時間をとり、性能に大きく影響を及ぼすことである。問題は、複数のビットを記憶できるメモリセルの実現により悪化する。本質的に、ベリファイは、メモリセルのあり得る複数の状態の各々のために実行されなければならない。16個のあり得る記憶状態を有するメモリについて、各ベリファイステップが少なくとも16回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル(「MLC」)において識別可能な状態レベルの数が増えると、プログラム/ベリファイ方式のベリファイサイクルはますます時間のかかるものとなる。
【0015】
2006年9月12日にLoc Tuらにより出願された「Method for Non-volatile Memory with Linear Estimation of Initial Programming Voltage」という米国特許出願第11/531,227号(特許文献14)には、線形推定により初期プログラミング電圧を推定する方法が開示されている。不揮発性メモリのために良好なプログラミング性能を達成するためには、初期プログラミング電圧VPGM0およびステップサイズは工場で最適に選択されなければならない。これは、メモリセルの各ページを試験することにより成し遂げられる。選択されたページに結合されているワード線は、ページが指定されたパターンと一致すると確かめられるまで、パルス間のベリファイを伴う階段波形の一連の電圧パルスによって連続的にプログラムされる。ページがプログラムされベリファイされるときのプログラミング電圧は、ページのための始動プログラミング電圧の初期値まで逆戻りして線形にスケーリングすることにより推定を行うために使用される。推定は、第2のパスで第1のパスからの推定値を使用することによりさらに洗練される。従って、在来の交互のプログラミングおよびベリファイは、ページを首尾よくプログラムするべく最終プログラミング電圧を確立するために使用される。最終プログラミング電圧は、そのページについての推定された初期プログラミング電圧に到達するように逆戻りして線形にスケーリングされる。このタイプのスケーリングは、ページレベルの総スケール上のスケーリングであり、現場でのメモリの在来のセルごとのプログラミングおよびベリファイの不利な点に対処するものではない。
【0016】
従って、大容量で高性能の不揮発性メモリに対する一般的ニーズが存在する。特に、前述した不利な点が最小にされる改善されたプログラミング性能を有する大容量不揮発性メモリを得たいというニーズが存在する。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】米国特許第5,172,338号
【特許文献2】米国特許第5,070,032号
【特許文献3】米国特許第5,095,344号
【特許文献4】米国特許第5,315,541号
【特許文献5】米国特許第5,343,063号
【特許文献6】米国特許第5,661,053号
【特許文献7】米国特許第5,313,421号
【特許文献8】米国特許第6,222,762号
【特許文献9】米国特許第5,570,315号
【特許文献10】米国特許第5,903,495号
【特許文献11】米国特許第6,046,935号
【特許文献12】米国特許第5,768,192号
【特許文献13】米国特許第6,011,725号
【特許文献14】米国特許出願第11/531,227号
【非特許文献】
【0018】
【非特許文献1】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
【発明の概要】
【0019】
本発明の1つの一般的な態様に従って、1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【0020】
一実施形態では、所定関数は線形関数により近似され、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の1つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの1つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム/ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【0021】
他の1つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
【0022】
予測プログラミング手法は、目標状態へのプログラミングがベリファイ操作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号(「ECC」)によって処理され得る統計的に予測可能なエラーである。
【0023】
本発明の付加的な特徴および利点は、添付図面と関連して検討されるべきであるその好ましい実施形態ついての以下の記述から理解される。
【図面の簡単な説明】
【0024】
【図1】本発明がその中で実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。
【図2】不揮発性メモリセルを概略的に示す。
【図3】任意の時点でフローティングゲートが選択的に蓄積していることのできる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの関係を示す。
【図4】メモリセルのNORアレイの例を示す。
【図5A】NANDストリングに編成されたメモリセルのストリングを概略的に示す。
【図5B】図5Aに示されているもののようなNANDストリング50から構成されるメモリセルのNANDアレイ200の例を示す。
【図6】メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。
【図7】所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧およびしきい値電圧レベルの間の観察された関係とを示す。
【図8】所与の記憶装置におけるメモリセルのサンプルについて図7に示されている傾きの分布を概略的に示す。
【図9】メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。
【図10】本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
【図11】図9に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
【図12】図11に示されているプログラミングプロセスの間の1ページのメモリセルの種々のメモリ状態の分布を概略的に示す。
【図13】チェックポイントを用いて1つのメモリセルのために所定関数を較正することを含む図10に示されているステップ300を示す流れ図である。
【図14】2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第1の例を示す。
【図15】図14に示されているチェックポイントをそれぞれの特定チェックポイント向けの種々の関連する所定関数を較正するために使用する仕方を示す。
【図16】2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第2の例を示す。
【発明を実施するための形態】
【0025】
メモリシステム
図1〜図5は、本発明の種々の態様が実施され得る例としてのメモリシステムを示す。
図6は、在来のプログラミング手法を示す。
図7〜図16は、本発明の種々の態様および実施形態を示す。
【0026】
図1は、本発明が実施され得る不揮発性メモリチップの機能ブロックを概略的に示す。メモリチップ100は、メモリセルの2次元アレイ200と、制御回路210と、デコーダ、読み出し/書き込み回路およびマルチプレクサのような周辺回路とを含む。
メモリアレイ200は、行デコーダ230(230A、230Bに分割されている)を介してワード線により、また列デコーダ260(260A、260Bに分割されている)を介してビット線により、アドレス指定可能である(図4および図5も参照されたい)。読み出し/書き込み回路270(270A、270Bに分割されている)は、1ページのメモリセルが並行して読み出されるかあるいは書き込まれることを可能にする。データI/Oバス231は、読み出し/書き込み回路270に結合されている。
1つの好ましい実施形態では、1ページは、同じワード線を共有するメモリセルの1つの連続する行から構成される。メモリセルの1つの行が複数のページに分割される他の1つの実施形態では、読み出し/書き込み回路270をそれぞれのページに多重化するためにブロックマルチプレクサ250(250Aおよび250Bに分割されている)が設けられる。例えば、奇数列のメモリセルおよび偶数列のメモリセルによりそれぞれ形成される2つのページが読み出し/書き込み回路に多重化される。
【0027】
図1は1つの好ましい構成を示し、この構成では、各側でのアクセス線および回路の密度が半分に減るように、種々の周辺回路によるメモリアレイ200へのアクセスはアレイの両側で対称的に実行される。従って、行デコーダは行デコーダ230Aおよび230Bに分割され、列デコーダは列デコーダ260Aおよび260Bに分割されている。メモリセルの1つの行が複数のページに分割される実施形態では、ページマルチプレクサ250はページマルチプレクサ250Aおよび250Bに分割される。同様に、読み出し/書き込み回路270は、底部からのビット線に接続する読み出し/書き込み回路270Aと、アレイ200の頂部からのビット線に接続する読み出し/書き込み回路270Bとに分割されている。このように、読み出し/書き込みモジュールの密度、従ってセンスモジュール380の密度は、本質的に半分だけ減らされている。
制御回路110は、メモリアレイ200に対してメモリ操作を行うために読み出し/書き込み回路270と協同するオンチップのコントローラである。制御回路110は、通例、状態マシン112と、オンチップのアドレスデコーダおよび電源制御モジュールなどの他の回路(明示的に示されていない)とを含む。状態マシン112は、メモリ操作のチップレベル制御を提供する。制御回路は、外部メモリコントローラを介してホストと通信する。
メモリアレイ200は、通例、行および列を成して配列されてワード線およびビット線によりアドレス指定可能なメモリセルの2次元アレイとして編成される。アレイはNORタイプまたはNANDタイプのアーキテクチャに従って形成され得る。
【0028】
図2は、不揮発性メモリセルを概略的に示す。メモリセル10は、フローティングゲートまたは誘電体層などの電荷蓄積ユニット20を有する電界効果トランジスタにより実現され得る。メモリセル10は、ソース14、ドレイン16、およびコントロールゲート30も含む。
今日使用されている商業的に成功した不揮発性固体記憶装置が多数存在する。これらの記憶装置はいろいろなタイプのメモリセルを採用することができ、その各タイプが1つ以上の電荷蓄積素子を有する。
【0029】
代表的な不揮発性メモリセルはEEPROMとフラッシュEEPROMとを含む。EEPROMセルと、それらを製造する方法との例が、米国特許第5,595,924号(特許文献)に説明されている。フラッシュEEPROMセル、メモリシステムにおけるそれらの使用、およびそれらを製造する方法の例が、米国特許第5,070,032号(特許文献2)、第5,095,344号(特許文献3)、第5,315,541号(特許文献4)、第5,343,063号(特許文献5)、第5,661,053号(特許文献6)、第5,313,421号(特許文献7)、および第6,222,762号(特許文献8)に説明されている。特に、NANDセル構造を有する記憶装置の例が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。また、誘電体蓄積素子を利用する記憶装置の例が、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 (非特許文献1)と、米国特許第5,768,192号(特許文献12)および第6,011,725号(特許文献13)とに記載されている。
【0030】
実際には、セルのメモリ状態は、普通、基準電圧がコントロールゲートに印加されているときにセルのソース電極およびドレイン電極を横断する伝導電流を検知することによって読み出される。従って、セルのフローティングゲート上の各々の所与の電荷について、固定された基準コントロールゲート電圧に関しての対応する伝導電流が検出され得る。同様に、フローティングゲートにプログラムすることのできる電荷の範囲は、対応するしきい値電圧ウィンドウまたは対応する伝導電流ウィンドウを定める。
【0031】
あるいは、分割された電流ウィンドウの中で伝導電流を検出する代わりに、コントロールゲートにおいて試験される所与のメモリ状態についてしきい値電圧をセットして、伝導電流がしきい値電流より多いか少ないかを検出することが可能である。1つの実施例では、しきい値電流に関しての伝導電流の検出は、伝導電流がビット線のキャパシタンスを通して放電する速さを調べることによって成し遂げられる。
【0032】
図3は、任意の時点でフローティングゲートが選択的に蓄積していることのできる4つの異なる電荷Q1〜Q4についてのソース−ドレイン電流IDとコントロールゲート電圧VCGとの関係を示す。4つの実線のID対VCG曲線は、メモリセルのフローティングゲートにプログラムされることのできる、4つのあり得るメモリ状態にそれぞれ対応する4つのあり得る電荷レベルを表す。一例として、セルの1つの集団のしきい値電圧ウィンドウは0.5V〜3.5Vにおよび得る。しきい値ウィンドウをそれぞれ0.5Vの間隔で5個の領域に分割することによって、1つの消去済み状態および6個のプログラム済み状態をそれぞれ表す7個のあり得るメモリ状態「0」、「1」、「2」、「3」、「4」、「5」、「6」が区別され得る。例えば、図に示されているように2μAの基準電流IREFが使用されれば、Q1でプログラムされているセルは、その曲線がVCG=0.5Vと1.0Vとで区切られているしきい値ウィンドウの領域でIREFと交差するので、メモリ状態「1」にあると見なされ得る。同様に、Q4はメモリ状態「5」にある。
【0033】
前の記述から分かるように、1つのメモリセルが記憶させられる状態が多いほど、そのしきい値ウィンドウはより細かく分割される。例えば、記憶装置は、−1.5V〜5Vに及ぶしきい値ウィンドウを有するメモリセルを有することができる。これは6.5Vの最大幅を提供する。メモリセルが16個の状態を記憶するものであるならば、各状態はそのしきい値ウィンドウ内で200mV〜300mVを占めることができる。これは、必要とされる分解能を達成できるためにプログラミング操作および読み出し操作により高い精度を必要とする。
【0034】
図4は、メモリセルのNORアレイの例を示す。メモリアレイ200において、各行のメモリセルは、それらのソース14およびドレイン16によりデイジーチェーン式に接続されている。この設計は、ときには仮想接地設計と称される。1つの行の中のセル10のコントロールゲート30は、ワード線42のような1つのワード線に接続されている。1つの列の中のセルのソースおよびドレインは、ビット線34および36のような選択されたビット線にそれぞれ接続されている。
【0035】
図5Aは、NANDストリングに編成されたメモリセルのストリングを概略的に示す。NANDストリング50は、それらのソースおよびドレインによりデイジーチェーン接続された一連のメモリトランジスタM1,M2・・・Mn(例えば、n=4,8,16あるいはそれ以上)を含む。1対の選択トランジスタS1,S2は、メモリトランジスタのチェーンの、それぞれNANDストリングのソース端子54およびドレイン端子56を介しての、外部への接続を制御する。メモリアレイにおいて、ソース選択トランジスタS1がオンにされたときに、ソース端子は1つのソース線(図5Bを参照)に結合される。同様に、ドレイン選択トランジスタS2がオンにされたとき、NANDストリングのドレイン端子はメモリアレイの1つのビット線に結合される。チェーン内の各メモリトランジスタ10は1つのメモリセルとして動作する。それは、意図されたメモリ状態を表すために所与の量の電荷を蓄積する電荷蓄積素子20を有する。各メモリトランジスタのコントロールゲート30は、読み出し操作および書き込み操作の制御を可能にする。図5Bで見られるように、NANDストリングの1つの行の対応するメモリトランジスタのコントロールゲート30は、全て同じワード線に接続される。同様に、選択トランジスタS1,S2の各々のコントロールゲート32は、NANDストリングへの、それぞれそのソース端子54およびドレイン端子56を介しての制御アクセスを提供する。同様に、NANDストリングの1つの行の対応する選択トランジスタのコントロールゲート32は、全て同じ選択線に接続される。
【0036】
1つのNANDストリング内の1つのアドレス指定されたメモリトランジスタ10がプログラミング中に読み出されるかあるいはベリファイされるときに、そのコントロールゲート30に適切な電圧が供給される。同時に、NANDストリング50内の残りのアドレス指定されていないメモリトランジスタは、それらのコントロールゲートへの充分な電圧の印加によって完全にオンに転換される。このようにして、その特定のメモリトランジスタのソースからNANDストリングのソース端子54への、また同様にその特定のメモリトランジスタのドレインのためにセルのドレイン端子56への、伝導経路が有効に作られる。このようなNANDストリング構造を有する記憶装置が、米国特許第5,570,315号(特許文献9)、第5,903,495号(特許文献10)、第6,046,935号(特許文献11)に記載されている。
【0037】
図5Bは、図5Aに示されているもののようなNANDストリング50から構成されるメモリセルのNANDアレイ200の例を示す。複数のNANDストリングの各列に沿って、ビット線36のような1つのビット線が各NANDストリングのドレイン端子56に結合されている。複数のNANDストリングの各バンクに沿って、ソース線34のような1つのソース線が各NANDストリングのソース端子54に結合されている。また、複数のNANDストリングの1つのバンクの中のメモリセルの1つの行に沿うコントロールゲートは、ワード線42のような1つのワード線に接続されている。複数のNANDストリングの1つのバンクの中の選択トランジスタの1つの行に沿うコントロールゲートは、選択線44のような1つの選択線に接続されている。複数のNANDストリングの1つのバンクの中のメモリセルの1つの行全体が、そのNANDストリングのバンクのワード線および選択線上の適切な電圧によってアドレス指定され得る。1つのNANDストリングの中の1つのメモリトランジスタが読み出されるときに、ストリング内の残りのメモリトランジスタは、ストリングを流れる電流がその読まれるセルに蓄積されている電荷のレベルに本質的に依存するように、それらの関連するワード線を介して強くオンに転換される。
【0038】
図6は、メモリセルを目標メモリ状態にプログラムするための在来の手法を示す。プログラミング電圧VPGM が、結合されているワード線を介してメモリセルのコントロールゲートに印加される。VPGM は、初期電圧レベルVPGM0から出発する階段波形の形の一連のプログラミング電圧パルスである。プログラムされるセルは、増分電荷をフローティングゲートにその都度加えようとして、この一連のプログラミング電圧パルスにさらされる。プログラミングパルス間で、セルは、そのソース−ドレイン電流をブレークポイントレベルに関して判定するために読み返されるかあるいはベリファイされる。読み返しプロセスは、1つ以上の検知操作を含み得る。プログラミングは、セルについて、それが目標状態に達したとベリファイされたときに終了する。使用されるプログラミングパルス列は、メモリセルの電荷蓄積ユニット内にプログラムされて溜まった電子に抗するために増大してゆく周期または振幅を持ち得る。プログラミング回路は、一般に、選択された1つのワード線に一連のプログラミングパルスを印加する。このようにして、そのコントロールゲートがワード線に結合されている1ページのメモリセルが一緒にプログラムされ得る。そのページのうちのメモリセルがその目標状態までプログラムされると、それはプログラム禁止されるが、他のセルは、ページの全セルがプログラム−ベリファイされてしまうまでプログラミングを受け続ける。
【0039】
一連の交互プログラム/ベリファイサイクルを使用する在来のプログラミング手法は、セルのしきい値電圧が初めはVPGM の割合に大きな変化に応答して急速に増大するプログラミングプロセスにおける不確実性に対処するためのものである。しかし、増大は、フローティングゲート内にプログラムされた電荷が、フローティングゲート内への電子のさらなるトンネリングのための実効電界を弱めるシールドとして作用するので、速度が遅くなってついには止まってしまう。プロセスは非常に非線形であると思われるので、試行錯誤アプローチが採用される。
【0040】
プログラム/ベリファイプログラミング手法の難点は、ベリファイサイクルが時間を取って性能に強い影響を及ぼすことである。問題は、多数のビットを記憶できるメモリセルの実現によりさらに悪化する。本質的にベリファイは、メモリセルのあり得る多数の状態の各々のために実行されなければならない。16個のあり得るメモリ状態を有するメモリについて、各ベリファイステップが少なくとも16回の検知操作を招くということを意味する。他の或る方式では、それは数倍も多くなり得る。従って、マルチレベルメモリセル(「MLC」)において状態レベルが増えるにつれて、プログラム/ベリファイ方式のベリファイサイクルはますます時間がかかるものとなる。
従って、前述した難点が最小にされる改善されたプログラミング性能を有する記憶装置に対するニーズがある。
【0041】
予測プログラミング手法
本発明の1つの一般的な態様に従って、1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいて、所与のメモリセルを所与の目標しきい値電圧レベルにプログラムするためにどれほどのプログラミング電圧レベルを印加する必要があるかを予測する所定関数が提供される。このようにして、ベリファイ動作を行う必要はなく、これによりプログラム動作の性能を大幅に改善する。
【0042】
一実施形態では、所定関数は線形関数により近似され、それは、所与の目標とされたしきい値電圧レベルのためのプログラミング電圧レベルを比例的にもたらす。線形関数は、メモリアレイのセルの集団に対して適用可能な所定平均値により与えられる傾きを有する。線形関数は、所与のメモリセルについて線形関数上の1つのチェックポイントを予め定めることにより、所与のメモリセルについて一意に決定される。チェックポイントは、メモリセルを指定されたしきい値電圧レベルにプログラムする実際のプログラミング電圧に基づく。チェックポイントは、好ましくは、メモリセルの最低プログラム状態のうちの1つに対応する。メモリセルは、初めにチェックポイントにプログラムされて、例えば在来のプログラム/ベリファイ型プログラミング手法によってベリファイされる。このようにして、メモリセルを指定されたメモリ状態にプログラムするために必要な実際のプログラミング電圧のチェックポイント値が決定される。所定関数は、このように、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用される前にチェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように較正される。
【0043】
他の1つの実施形態では、メモリセルによりサポートされるあり得るしきい値電圧レベルの範囲の中で複数のチェックポイントが指定され得る。各チェックポイントは、各チェックポイントの近傍において局所的所定関数を較正するために使用される。局所的所定関数は、関連するチェックポイントの近傍で目標とされたしきい値電圧レベルにプログラムするためのプログラミング電圧レベルを予測するために使用される。
予測プログラミング手法は、目標状態へのプログラミングがベリファイ動作を必要としないので、有利である。ベリファイ操作は、あり得るメモリ状態の数より一般的に遥かに少ないチェックポイントを決定するためにだけ必要である。
予測プログラミングをして誤った結果を生じさせるバラツキが存在するであろうが、それらは、適切な誤り訂正符号(「ECC」)によって処理され得る統計的に予測可能なエラーである。
【0044】
図7は、所与の記憶装置における種々のメモリセルのプログラミングのサンプルと、印加されたプログラミング電圧としきい値電圧レベルとの観察された関係とを示す。しきい値ウィンドウの相当の範囲においても個々のメモリセルのプログラミング挙動が非常に線形であることが分かる。アレイ内の個々のセルは大体同様に振る舞い、プログラムされたしきい値電圧の変化量はプログラミング電圧レベルの変化量に実質的に比例する。個々のセルがどれくらい深く消去されたか、またその他のファクタにより、個々のセルは指定されたチェックポイントに到達するためのプログラミングパルスの数に関して異なり得るけれども、個々のセルの各々についての所定関数は実質的に同様の傾きを有する。図7は、低速プログラミングセル、高速プログラミングセルの各々の1つの例と、中速プログラミングセル(実線)の幾つかの例とを示す。いろいろな例の間の傾きのバラツキは僅かであることが分かる。
【0045】
図8は、1つの所与の記憶装置のメモリセルのサンプルについて図7に示されている傾きの分布を概略的に示す。分布は、本質的に、およそ0.9の平均傾きと約0.1の標準偏差とを有する正規分布を示す。実際のプログラミングは2つの異なるプログラミング電圧ステップサイズを使用した。両方のステップサイズが同様の分布と平均傾きとをもたらすことが観察されている。
【0046】
図9は、メモリセルを目標とされたしきい値電圧レベルにプログラムするために必要なプログラミング電圧を提供するために使用される所定関数の好ましい実施形態を示す。所定関数は1つの線形関数により近似され、その関数では、目標とされたしきい値レベルVT は以下の関係によってプログラミング電圧VPGM の関数として与えられる。
VT (VPGM )=<傾き>VPGM +VT (0) 方程式(1)
(ここで<傾き>=<ΔVT /ΔVPGM >)
逆に、
VPGM (VT )=1/<傾き>[VT −VT (0)] 方程式(2)
である。
【0047】
好ましい実施形態では、平均の<傾き>は、同様の生産バッチからのサンプルを工場で試験することによって予め定められる。例えば、試験は0.9である<傾き>をもたらし得る。VT (0)はセルに依存し、各セルの予測プログラミングの前に各メモリセルからチェックポイントにより予め定められる。<傾き>とVT (0)とが知られたならば、メモリセルのための所定関数が確定されて、目標とされたしきい値電圧レベルにプログラムするために必要とされるプログラミング電圧レベルを得るために方程式(2)が使用され得る。
【0048】
図10は、本発明の一般的な実施形態に従う予測プログラミングを示す流れ図である。
ステップ300:プログラムされるメモリセルのために所定関数を設ける。この関数は、メモリセルがそれを目標としてプログラムされるところのしきい値電圧レベルの関数としてプログラミング電圧値をもたらす。
ステップ310:メモリセルを、増大する振幅を有するプログラミング電圧で目標しきい値電圧レベルにプログラムする。プログラミング電圧は、結合されているワード線を介してメモリセルのコントロールゲートに印加される。
ステップ320:プログラミング電圧が目標しきい値電圧レベルで値を求められた所定関数により決定される値に実質的に到達した後に、メモリセルのプログラミングを終了する。通例、同じワード線に結合されている1ページのメモリセルが同時にプログラムされる。問題のメモリセルが、目標しきい値電圧レベルで値を求められた所定関数により決定される値を受け取ったときに、ワード線上にページの他のメモリセルのためにあり得る追加のプログラミングパルスがあっても、さらなるプログラミングを禁じられる。
【0049】
一般的には、所定関数は線形関数によって近似されなくてもよい。所定関数がしきい値電圧レベルの広い範囲を正確にカバーしなければならないのであれば、その生産バッチを工場で試験することにより決定することができ、そして何らかの適切な関数によりモデル化することができる。
一般的に、プログラムされるメモリセルは、1ページの同時にプログラムされる同様のメモリセルのうちの1つである。ページの各メモリセルのために1つの所定関数が設けられる。ページの全メモリセルが同じワード線を共有するので、ページの1つのメモリセルが予測プログラミング電圧によってプログラムされたならば、さらなるプログラミングを禁じられる。
図10に示されている予測プログラミングモードは、好ましくは、メモリアレイ200のメモリ操作を制御する制御回路110の状態マシン112(図1を参照)において実施される。
【0050】
図11は、図9に示されている所定関数の較正が行われ、その後にそれが予測プログラミングモードで適用されるときのプログラミング電圧を時間に関して示す。
初期段階で、メモリセルのためのチェックポイント(0)が、消去済み状態に関連付けられていると考えられるものより僅かに高い1つのしきい値電圧レベル(チェックポイントしきい値電圧レベル)にあると指定される。メモリセルをそのチェックポイントしきい値電圧レベルのほうへプログラムするために一連の増大するプログラミング電圧パルスが印加される。そのプログラミングモードは、チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまで交互にプログラムしベリファイする在来のプログラミングモードであり得る。チェックポイント(0)の座標のセット[VPGM ,VT ]Checkpoint(0) が知られたならば、方程式(2)の形の所定関数(図9を参照)はVT (0)について解かれることができて、完全に明示されることができる。
【0051】
方程式(2)の形の所定関数が明示された後、メモリセルは、目標とされたしきい値電圧レベルまたは目標とされたメモリ状態のための推定されたプログラミング電圧レベルを提供するために所定関数を用いることにより予測モードでプログラムされ得る。1つの好ましい実施形態では、プログラミング電圧ステップサイズは、各追加パルスがメモリセルを次のメモリ状態にプログラムするように調整される。16個のあり得るメモリ状態を有するメモリセルの例について、パルスサイズは300mVであり得る。この方法では、1つの付加的なパルスはメモリを状態(1)にプログラムし、他の1つの付加的なパルスはメモリを状態(2)にプログラムする等々である。従って、所与のメモリ状態へのプログラミングは、状態(0)からの状態の数を数えて同数のパルスを供給することに変えられ得る。例えば、フラグがいったん状態(0)でセットされ、その後にメモリセルは、目標状態が状態(0)からそれだけ離れているところの状態の数と同じ数のパルスによりプログラムされ得る。
【0052】
他のプログラミングパルスサイズも可能である。例えば、16個のあり得るメモリ状態を有するメモリセルのために、パルスサイズは150mVであり得る。その場合には、1つのメモリ状態から次の隣接するメモリ状態にプログラムするために2つのパルスが必要とされる。これはプログラミングにより良い分解能を与え、それは目標とされたしきい値からのマージンが使用される或る実施例において有益である。
【0053】
図12は、図11に示されているプログラミングプロセス中の1ページのメモリセルの種々のメモリ状態の分布を概略的に示す。ページのメモリセルは、全メモリセルが低いしきい値電圧レベルのうちのいずれか1つであり得る消去済み状態にある状態から出発する。初期プログラミング段階の間に、一連のプログラム/ベリファイサイクル(例えば、合計でx個のプログラムパルスに加えてn*x個のベリファイステップ)がメモリセルを消去状態から状態(0)にプログラムする。一般的に、各メモリセルのためのxは互いに無関係である。メモリセルが状態(0)になると、予測プログラミングモードが始まって追加の各パルスがメモリセルを次のメモリ状態にプログラムする。
【0054】
図13は、チェックポイントを用いてメモリセルのための所定関数を較正することを含む、図10に示されているステップ300を示す流れ図である。
ステップ302:対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして関数のチェックポイントを指定する。
ステップ304:チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、対応するチェックポイントプログラミング電圧値を決定する。
ステップ306:所定関数を、メモリセルを目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、チェックポイントしきい値電圧レベルで値を求められたときにチェックポイントプログラミング電圧値をもたらすように所定関数を較正する。
【0055】
図14は、2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第1の例を示す。この第1の例では、予測モードによってプログラムされるべきどのメモリ状態も、チェックポイントモードでプログラムされたメモリ状態に先行される。チェックポイントモードは図13においてステップ302およびステップ304に記載されている。メモリセルが状態(0)、状態(1)、状態(2)・・・に漸次プログラムされ得るならば、偶数状態である状態(0)、状態(2)、状態(4)・・・がチェックポイントとして指定され得る。これらの状態には、先行する1つの状態からプログラム/ベリファイプログラミングモードにより到達する(図6を参照)。各チェックポイントから、所定関数が較正されて、次のメモリ状態(例えば、奇数の状態(1)、状態(3)、状態(5)・・・を予測的にプログラムするために使用され得る。
【0056】
図14に示されている実施形態は、所定関数が1つ置きのメモリ状態で再較正されて、そのような短い間隔ではセルプログラミング挙動が良好な線形性を示すので、予測モードでのプログラミングが最も正確となることを可能にする。1つ置きのメモリ状態だけがチェックポイントモードでプログラムされるに過ぎないので、在来のプログラミング(図6を参照)におけるベリファイ操作の少なくとも半分が回避される。
【0057】
図15は、図14に示されているチェックポイントをそれぞれの特定チェックポイント向けの(局所的な)種々の関連する所定関数を較正するために使用する仕方を示す。全ての局所的な所定関数が線形で同じ所定の平均傾きを有することが分かる。チェックポイント(0)は、局所的所定関数400のための境界条件を設定するために使用される。同様に、チェックポイント(2)は局所的所定関数420のための境界条件を設定するために使用され、チェックポイント(4)は局所的所定関数440のための境界条件を設定するために使用される等々である。
【0058】
局所的所定関数は、いったん定められたならば、次のメモリ状態のためのプログラミング電圧をもたらすために使用され得る。従って、局所的所定関数400はセルを状態(1)にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数420はセルを状態(3)にプログラムするためのプログラミング電圧レベルをもたらすために使用され、局所的所定関数440はセルを状態(5)にプログラムするためのプログラミング電圧レベルをもたらすために使用される等々である。
【0059】
図16は、2つ以上のチェックポイントを使用する予測プログラミングの実施形態の第2の例を示す。図14および図15に示されている第1の例とは対照的に、この第2の例では、3メモリ状態置きにチェックポイントが指定される。従って、1つのチェックポイント(0)が状態(0)で、状態(4)で、状態(8)で指定される等々である。チェックポイント(0)により定められる局所的所定関数は、それぞれ次の3つのメモリ状態、すなわち状態(1)、状態(2)、および状態(3)のためのプログラミング電圧を予測するために使用される。同様に、チェックポイント(4)により定められる局所的所定関数は、次の3つのメモリ状態、すなわち、状態(5)、状態(6)、および状態(7)のためのプログラミング電圧を予測するために使用される。この第2の例からもたらされる予測されたプログラムされる電圧は、第1の例のもののようには正確でないであろうが、多くの用途においておそらく充分である。プログラム−ベリファイ操作の数をさらに減らすという利点も有する。
【0060】
メモリセルのしきい値ウィンドウ内のしきい値の範囲の中で指定されるチェックポイントの他の変形例が可能である。性能と精度との兼ね合いに応じて選択を行うことができる。
例えば、或るプログラミングアルゴリズムでは、ページのメモリセルは全て第1のパスでそれぞれの目標状態の近くへプログラムされる。その後、第2のプログラミングパスがそれぞれの目標状態へのプログラミングを完了させる。この2パスアプローチは、隣接するメモリセルのフローティングゲート間のプログラム妨害を軽減するために使用される。第1のパスプログラミングは第2のパスのように高い精度を要求しないので、第1のパスは、時間を節約するために予測プログラミングモードを用いて実行され得る。或る実施例では、第2のプログラミングパスも、予測プログラミングモードを、好ましくはより多くのチェックポイントを置いて、採用することが考えられる。
【0061】
予測プログラミングモードは、目標とされたしきい値電圧レベルを超過する非常に僅かな可能性(0.1%未満と見積もられる)を排除しない。目標とされたメモリ状態を超過した場合、実行される誤り訂正符号によってエラーが訂正され得る。
2つのチェックポイントを利用し得る場合、所定関数の傾きを別々に定めることが可能である。所定関数は、いったんそのように指定されたならば、その次のメモリ状態のためのプログラミング電圧レベルをもたらすために使用され得る。
本願明細書において参考として引用された全ての特許、特許出願、論文、書籍、仕様、他の刊行物、文書および事物は、その全体が本願明細書において参照によりあらゆる目的のために援用されている。援用されている刊行物、文書および事物のいずれかと本願明細書の文との間の用語の定義あるいは使用法に関しての不一致あるいは矛盾の範囲には、本願明細書における用語の定義あるいは使用法が優越するものとする。
本発明のいろいろな態様を一定の実施形態に関して説明してきたけれども、本発明は添付されている特許請求の範囲全体の中で保護を受ける権利があることが分かる。
【特許請求の範囲】
【請求項1】
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいてメモリセルを目標しきい値電圧レベルにプログラムする方法であって、
プログラミングを受けるメモリセルのために、前記メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するステップと、
増大する振幅を有するプログラミング電圧で前記メモリセルを前記目標しきい値電圧レベルにプログラムするステップと、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達した後に前記メモリセルのプログラミングを終了するステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである方法。
【請求項3】
請求項1記載の方法において、
前記所定関数は、実質的に線形関数である方法。
【請求項4】
請求項1記載の方法において、
前記所定関数を提供するステップは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するステップと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するステップと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように前記所定関数を較正するステップと、
を含む方法。
【請求項5】
請求項4記載の方法において、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある方法。
【請求項6】
請求項4記載の方法において、
しきい値電圧レベルの前記範囲の中で1つ以上のチェックポイントしきい値電圧レベルが指定される方法。
【請求項7】
請求項4記載の方法において、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される方法。
【請求項8】
請求項4記載の方法において、
前記所定関数は、実質的に線形であって、少なくとも2つのチェックポイントにより定義される方法。
【請求項9】
請求項1記載の方法において、
前記不揮発性メモリは、1ビットより多いデータをそれぞれ記憶するメモリセルを有する方法。
【請求項10】
請求項1記載の方法において、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する方法。
【請求項11】
請求項1記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである方法。
【請求項12】
請求項1記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である方法。
【請求項13】
請求項1記載の方法において、
前記不揮発性メモリは、NAND構造を有するメモリセルを有する方法。
【請求項14】
請求項1記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項15】
請求項1記載の方法において、
前記不揮発性メモリは、メモリカードにおいて具体化される方法。
【請求項16】
請求項1記載の方法において、
前記不揮発性メモリは、計算装置に組み込まれる方法。
【請求項17】
請求項1〜16のうちのいずれか記載の方法において、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの1つである方法。
【請求項18】
不揮発性メモリであって、
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイと、
1ページのメモリセルを並行して読み出しおよびプログラムするための読み出し/書き込み回路と、
前記読み出し/書き込み回路を含む前記不揮発性メモリの動作を制御するための状態マシンと、を備え、前記状態マシンは、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供し、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御し、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させる不揮発性メモリ。
【請求項19】
請求項18記載の不揮発性メモリにおいて、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである不揮発性メモリ。
【請求項20】
請求項18記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形関数である不揮発性メモリ。
【請求項21】
請求項18記載の不揮発性メモリにおいて、
前記状態マシンが所定関数を提供することは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定することと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定することと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正することと、
をさらに含む不揮発性メモリ。
【請求項22】
請求項21記載の不揮発性メモリにおいて、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある不揮発性メモリ。
【請求項23】
請求項21記載の不揮発性メモリにおいて、
しきい値電圧レベルの前記範囲の中で1つ以上のチェックポイントしきい値電圧レベルが指定される不揮発性メモリ。
【請求項24】
請求項21記載の不揮発性メモリにおいて、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される不揮発性メモリ。
【請求項25】
請求項21記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形であって、少なくとも2つのチェックポイントにより定義される方法。
【請求項26】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、1ビットより多いデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項27】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項28】
請求項18記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである不揮発性メモリ。
【請求項29】
請求項18記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である不揮発性メモリ。
【請求項30】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、NAND構造を有するメモリセルを有する不揮発性メモリ。
【請求項31】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項32】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、メモリカードにおいて具体化される不揮発性メモリ。
【請求項33】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、計算装置に組み込まれる不揮発性メモリ。
【請求項34】
不揮発性メモリであって、
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイと、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するための手段と、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御するための手段と、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させるための手段と、
を備える不揮発性メモリ。
【請求項35】
請求項34記載の不揮発性メモリにおいて、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するための手段と、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するための手段と、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正するための手段と、
をさらに備える不揮発性メモリ。
【請求項36】
請求項18〜35のうちのいずれか記載の不揮発性メモリにおいて、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの1つである不揮発性メモリ。
【請求項1】
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイを有する不揮発性メモリにおいてメモリセルを目標しきい値電圧レベルにプログラムする方法であって、
プログラミングを受けるメモリセルのために、前記メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するステップと、
増大する振幅を有するプログラミング電圧で前記メモリセルを前記目標しきい値電圧レベルにプログラムするステップと、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達した後に前記メモリセルのプログラミングを終了するステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである方法。
【請求項3】
請求項1記載の方法において、
前記所定関数は、実質的に線形関数である方法。
【請求項4】
請求項1記載の方法において、
前記所定関数を提供するステップは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するステップと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するステップと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように前記所定関数を較正するステップと、
を含む方法。
【請求項5】
請求項4記載の方法において、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある方法。
【請求項6】
請求項4記載の方法において、
しきい値電圧レベルの前記範囲の中で1つ以上のチェックポイントしきい値電圧レベルが指定される方法。
【請求項7】
請求項4記載の方法において、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される方法。
【請求項8】
請求項4記載の方法において、
前記所定関数は、実質的に線形であって、少なくとも2つのチェックポイントにより定義される方法。
【請求項9】
請求項1記載の方法において、
前記不揮発性メモリは、1ビットより多いデータをそれぞれ記憶するメモリセルを有する方法。
【請求項10】
請求項1記載の方法において、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する方法。
【請求項11】
請求項1記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである方法。
【請求項12】
請求項1記載の方法において、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である方法。
【請求項13】
請求項1記載の方法において、
前記不揮発性メモリは、NAND構造を有するメモリセルを有する方法。
【請求項14】
請求項1記載の方法において、
前記不揮発性メモリは、フラッシュEEPROMである方法。
【請求項15】
請求項1記載の方法において、
前記不揮発性メモリは、メモリカードにおいて具体化される方法。
【請求項16】
請求項1記載の方法において、
前記不揮発性メモリは、計算装置に組み込まれる方法。
【請求項17】
請求項1〜16のうちのいずれか記載の方法において、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの1つである方法。
【請求項18】
不揮発性メモリであって、
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイと、
1ページのメモリセルを並行して読み出しおよびプログラムするための読み出し/書き込み回路と、
前記読み出し/書き込み回路を含む前記不揮発性メモリの動作を制御するための状態マシンと、を備え、前記状態マシンは、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供し、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御し、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させる不揮発性メモリ。
【請求項19】
請求項18記載の不揮発性メモリにおいて、
増大する振幅を有する前記プログラミング電圧は、一連の電圧パルスである不揮発性メモリ。
【請求項20】
請求項18記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形関数である不揮発性メモリ。
【請求項21】
請求項18記載の不揮発性メモリにおいて、
前記状態マシンが所定関数を提供することは、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定することと、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定することと、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正することと、
をさらに含む不揮発性メモリ。
【請求項22】
請求項21記載の不揮発性メモリにおいて、
前記目標しきい値電圧レベルは、前記チェックポイントしきい値電圧レベルから所定電圧未満のところにある不揮発性メモリ。
【請求項23】
請求項21記載の不揮発性メモリにおいて、
しきい値電圧レベルの前記範囲の中で1つ以上のチェックポイントしきい値電圧レベルが指定される不揮発性メモリ。
【請求項24】
請求項21記載の不揮発性メモリにおいて、
前記所定関数は、線形であって、推定された傾きとチェックポイントとにより定義される不揮発性メモリ。
【請求項25】
請求項21記載の不揮発性メモリにおいて、
前記所定関数は、実質的に線形であって、少なくとも2つのチェックポイントにより定義される方法。
【請求項26】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、1ビットより多いデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項27】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、電荷蓄積素子にプログラムされた電荷の量としてデータをそれぞれ記憶するメモリセルを有する不揮発性メモリ。
【請求項28】
請求項18記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタのフローティングゲートである不揮発性メモリ。
【請求項29】
請求項18記載の不揮発性メモリにおいて、
前記電荷蓄積素子は、電界効果トランジスタの中の誘電体層である不揮発性メモリ。
【請求項30】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、NAND構造を有するメモリセルを有する不揮発性メモリ。
【請求項31】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、フラッシュEEPROMである不揮発性メモリ。
【請求項32】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、メモリカードにおいて具体化される不揮発性メモリ。
【請求項33】
請求項18記載の不揮発性メモリにおいて、
前記不揮発性メモリは、計算装置に組み込まれる不揮発性メモリ。
【請求項34】
不揮発性メモリであって、
1つの範囲のしきい値電圧レベルのうちの1つにそれぞれプログラムされ得るメモリセルのアレイと、
プログラミングを受けるメモリセルのために、メモリセルがそれにプログラムされるべきところの目標とされたしきい値電圧レベルの関数としてプログラミング電圧値をもたらす所定関数を提供するための手段と、
増大する振幅を有するプログラミング電圧での前記目標しきい値電圧レベルへの前記メモリセルのプログラミングを制御するための手段と、
前記プログラミング電圧が前記目標しきい値電圧レベルで値を求められた前記所定関数により決定される値に実質的に到達したならば前記メモリセルのプログラミングを終了させるための手段と、
を備える不揮発性メモリ。
【請求項35】
請求項34記載の不揮発性メモリにおいて、
前記関数のチェックポイントを、対応するチェックポイントプログラミング電圧値によってプログラム可能な指定されたチェックポイントしきい値電圧レベルとして指定するための手段と、
前記チェックポイントしきい値電圧レベルがプログラム−ベリファイされるまでプログラミングとベリファイとを交互に行うことによって、前記対応するチェックポイントプログラミング電圧値を決定するための手段と、
前記所定関数を、前記メモリセルを前記目標しきい値電圧レベルにプログラムするためのプログラミング電圧値を決定するために使用する前に、前記チェックポイントしきい値電圧レベルで値を求められたときに前記チェックポイントプログラミング電圧値をもたらすように較正するための手段と、
をさらに備える不揮発性メモリ。
【請求項36】
請求項18〜35のうちのいずれか記載の不揮発性メモリにおいて、
前記メモリセルは、一緒にプログラムするメモリセルのグループのうちの1つである不揮発性メモリ。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公表番号】特表2010−524147(P2010−524147A)
【公表日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願番号】特願2010−503176(P2010−503176)
【出願日】平成20年4月9日(2008.4.9)
【国際出願番号】PCT/US2008/059740
【国際公開番号】WO2008/124760
【国際公開日】平成20年10月16日(2008.10.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
【公表日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願日】平成20年4月9日(2008.4.9)
【国際出願番号】PCT/US2008/059740
【国際公開番号】WO2008/124760
【国際公開日】平成20年10月16日(2008.10.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
[ Back to top ]