JP2009503763A - 不揮発性集積メモリデバイスのセルをプログラムするためのシステムと方法 - Google Patents

不揮発性集積メモリデバイスのセルをプログラムするためのシステムと方法 Download PDF

Info

Publication number
JP2009503763A
JP2009503763A JP2008525000A JP2008525000A JP2009503763A JP 2009503763 A JP2009503763 A JP 2009503763A JP 2008525000 A JP2008525000 A JP 2008525000A JP 2008525000 A JP2008525000 A JP 2008525000A JP 2009503763 A JP2009503763 A JP 2009503763A
Authority
JP
Japan
Prior art keywords
programming
current
storage element
voltage
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008525000A
Other languages
English (en)
Inventor
モクレシー,ニーマ
シー. グッターマン,ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009503763A publication Critical patent/JP2009503763A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

不揮発性集積メモリデバイス内の、プログラムしにくい記憶素子を迅速かつ効率的にプログラムするシステムと方法が提供される。第1のレベルに制限される記憶素子を流れる電流により、多数の記憶素子が同時にプログラミング処理を受ける。これら記憶素子の一部が所定の状態に達すると、それらはプログラムされるセルのセットから取り除かれ、引き続きプログラムされる素子に関する電流制限が引き上げられる。これらのプログラムしにくい電流レベルは、第2のさらに高い限界に引き上げられるか、または無制限となる。別の態様によれば、プログラミング動作中、セルに許される電流限界はセルがプログラムされる目標状態に応じて決まる。

Description

本発明は、全般的には不揮発性集積メモリデバイスに関し、特に、不揮発性集積メモリデバイスへのプログラミング中に電流レベルを制御するためのシステムと方法に関する。
多くの不揮発性コンピュータメモリでは、しばしばデータ記憶機能が、プログラミング処理中に特定の記憶ユニットを流れる電流量に関係している。不揮発性メモリの特定例の1つは、フローティングゲートに蓄えられた電荷量によってメモリ内の記憶ユニットの状態が決まるフラッシュメモリすなわちEEPROMメモリである。大まかに言うと、特定のユニットを流れる電流が大きければ大きいほど、そのユニットへ速やかにプログラムすることができ、またはそのユニットにプログラムできるレベル範囲が広くなり、あるいはその両方が可能となる。しかし、多数化に向かう傾向により、一般に多数の記憶ユニットに同時にプログラムされ、これにより平均電流レベルおよび瞬間電流レベルとも高くなるが、これはデバイス低電力化の傾向に対立するものである。
電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)すなわちフラッシュメモリをはじめとする不揮発性データ記憶デバイスは、大容量データ記憶デバイスや固定電源のない、携帯電話、ハンドヘルド形パソコン(PC)、携帯音楽プレーヤ、デジタルカメラなどの携帯形デバイスに広く用いられている。
一般にフラッシュメモリは多数の記憶素子を有する半導体電界効果トランジスタであり、フローティングゲートに電荷を注入してトランジスタのしきい値電圧を変更することによって情報を記憶するように1つまたはそれより多い隔離フローティングゲート毎にプログラムされる。注入された電荷は、蓄えられた電荷量に比例した量によってしきい値電圧を固有しきい値電圧から変化させる。トランジスタの新しいしきい値電圧は、1ビット以上のプログラムされたデータまたは情報を表す。例えば、1ビットのデータを記憶する簡素なメモリセルの場合、トランジスタのしきい値電圧はしきい値電圧空間の高位端付近の値に引き上げられるか、または低位端付近の値に維持される。プログラムされたこれら2つのしきい値電圧は論理1または論理0を表し、論理1であればオンとなり、論理0であればオンにならないようにメモリセルをプログラムする。読み出し条件が確立されると、それによりメモリセルに記憶されているデータが論理1であるのかまたは論理0であるのかを読み出し動作によって判断できる。
全般的に不揮発性メモリについて、特にフラッシュEEPROMデバイスについて、種々のアーキテクチャおよびセル構造に関する数多くの特許および特許出願にさらに詳述されている。ある設計のNORアレイでは、そのメモリセルは隣接するビット(列)線間に接続され、コントロールゲートはワード(行)線に接続される。個々のセルは、1つのフローティングゲートトランジスタ(直列に形成された選択トランジスタが付いている場合もあるし、付いていない場合もある)かまたは1個の選択トランジスタで分離された2つのフローティングゲートトランジスタを備えている。そのようなアレイの例および記憶システムにおけるその使用法は、サンディスク コーポレイションの米国特許第5,095,344号(特許文献1)、第5,172,338号(特許文献2)、第5,602,987号(特許文献3)、第5,663,901号(特許文献4)、第5,430,859号(特許文献5)、第5,657,332号(特許文献6)、第5,712,180号(特許文献7)、第5,890,192号(特許文献8)、第6,151,248号(特許文献9)、2000年2月17日出願の米国特許出願第09/505,555号(特許文献10)、2000年9月22日出願の米国特許出願第09/667,344号(特許文献11)に記載されている。これら米国特許および係属中の特許出願は、その全体が本願明細書において参照により援用されている。
ある設計のNANDアレイは8個、16個または32個もの多数のメモリセルを備え、これらのメモリセルは両端で選択トランジスタを通ってビット線と基準電位の間に直列ストリングで接続される。ワード線は異なる直列ストリングのセルのコントロールゲートと接続される。そのようなアレイおよびその動作の関連例は、2001年7月27日出願の米国特許出願第09/893,277号(特許文献12)に記載され、その全体が本願明細書において参照により援用され、本願明細書に含まれる参考文献である。
EEPROMのプログラミング機構は、コントロールゲートの高電圧とドレインの他の高電圧によってホットエレクトロンをチャネルのドレイン側からフローティングゲートへ酸化物薄層を横切らせるドレイン側チャネルのホットエレクトロン注入と、ソース側注入と含む。ソース側注入の場合、選択ゲートすなわち側壁の存在を用いて、選択トランジスタをフローティングゲートと直列に形成できる。ソース側注入では、選択トランジスタのしきい値電圧よりわずかに大きい電圧が選択ゲートに印加され、コントロールゲートに高電圧をかけることによって高電圧がフローティングゲートに容量結合され、フローティングゲートトランジスタのドレインに高電圧がかけられる。選択ゲートの電圧は、選択ゲートの下のチャネル部分をオンにするに十分な電圧である。ソースとドレインの間の電圧差によって、選択ゲートとフローティングゲートの間のギャップにチャネルホットエレクトロンが生じ、これらのチャネルホットエレクトロンは、フローティングゲートのソース側付近のギャップ酸化物の好適な電場によってフローティングゲートへ掃引される。
最新世代のフラッシュメモリは、128〜64kバイトのサイズの範囲のセクタ単位すなわちプログラミングブロック単位でプログラムが書き込まれたり消去されたりする数百万個のメモリセルから構成されるアレイを備えることができるが、ここで消去ブロックとプログラミングブロックは同じサイズでないことが多い。多数のメモリセルに対するプログラミングについては、例えば、2002年2月22日出願のKevin M. Conley およびYoram Cedar による「Pipelined Parallel Programming Operation in a Non-Volatile Memory System」という米国特許出願(特許文献13)に記載され、その全体が本願明細書において参照により援用され、本願明細書に含まれる参考文献である。セクタ内の多数のメモリセルへのプログラミングで消費される電力は、従来のフラッシュメモリで重大な問題となっていた。これは、電池に依存し、電気容量が限られているオンチップ電圧電源すなわち電荷ポンプを一般に有する携帯形デバイスにとって特に問題である。また、携帯電話およびデジタルカメラなどの多くの携帯形デバイスの動向は、より小形のデバイスすなわちより小さいフォームファクタへ向かっている。したがって、携帯形デバイスにおけるメモリセル数の増加および電池サイズの縮小は、多数のメモリセルへの同時プログラミング機能に一層の制限を課すものであった。
フラッシュメモリおよび他の不揮発性メモリにおける他の関心事は、性能、特に多状態メモリへプログラムする速度である。不揮発性メモリへの高速・高性能プログラムに現在使用されている主流のマルチレベルのデータ条件付きプログラミング方法論は、被制御バイアス(例えば、階段状の電圧パルストレインを介した)ステアリング(すなわち、制御)電極を実装することである。最短の時間で正確なプログラムが行われるように対応する目標状態の範囲にプログラムする(およびセル間のプログラミング特性の相違に対応する)のに必要な全範囲の電圧条件を網羅できるので、これは一般に好まれる方法であった。ホットエレクトロンによるプログラムをベースとするフラッシュセルおよびEEPROMセルのほとんどでこの方法が有効であるが、これは、印加されるステアリング電圧によって高い非線形プログラミングレートを処理でき、電圧とともに指数的にプログラミング速度が増加するからである(低電圧読み出し/記憶状態の下で長期間の保持要件を同時に適えるための本質的な特徴)。また、固定された電圧と変化する時間を使用することは一般につまらないと考えられている。目標状態に対して電圧が低すぎると、プログラミングは受け入れ難いほど低速となるが、電圧が高すぎると、プログラミング速度が早すぎて多重レベルの記憶に要求される精度でプログラムされたレベルを適切に制御できなくなる。
このデータ書き込み条件付きステアリング方法論の好ましい実施形態の1つは、ある時点でプログラムされる一群のセルのそれぞれに、目標状態に応じた個別のステアリング条件を与えることである。これには、データに依存するセルへのプログラム条件/刺激を、(主としてこの機構へのプログラミングを有効または無効にするオン/オフスイッチとして作用する)ビット線だけではなく、セルのステアリングゲートにもセルごとに与えられるようにする「列指向 (column-oriented)」のステアリングに対応するセル/アレイを要する。そのような方法は、米国特許第6,317,363号(特許文献14)に記載され、その全体が本願明細書において参照により援用されている。また、これにより、書き込まれる単位セルブロック内のすべてのステアリングゲートがつなぎ合わされているセル/アレイでは、共通の条件セットをすべてのセルに(すなわち、個々のセル目標データとは無関係に)強制するのではなく、各状態に最適な条件を使えるようにすることによって、マルチレベルの書き込み性能が向上する。
この列指向ステアリングの価格は、同時にプログラムされる数千のセルに対して個別のステアリング条件ニーズを提供するのに必要な大きなオーバーヘッド(ダイエリアおよび回路の複雑さ)となる。データ依存形記憶素子という条件がなければ、多状態のプログラミングはバイナリプログラミングより低速である。また、データ依存形プログラミングの実施形態の中には不経済なものがあったり、より大きな消去ブロック対してデータ依存形のプログラミングを実施する回路に必要な余分の領域を償却するために、最適な消去ブロックよりも大きな消去ブロックを使う必要があるものもある。動作速度および記憶容量の重要性が増せば、多状態不揮発性メモリのデータ依存形プログラミングの必要が高まるものの、オーバーヘッド領域や追加される列指向ステアリングの実施の複雑さがないことが好ましい。
本発明は、前述した問題および他の問題に対する解決策を提供するものであり、従来技術を上回る他の利点をもたらすものである。
米国特許第5,095,344号 米国特許第5,172,338号 米国特許第5,602,987号 米国特許第5,663,901号 米国特許第5,430,859号 米国特許第5,657,332号 米国特許第5,712,180号 米国特許第5,890,192号 米国特許第6,151,248号 米国特許出願第09/505,555号 米国特許出願第09/667,344号 米国特許出願第09/893,277号 2002年2月22日出願のKevin M. Conley およびYoram Cedar による「Pipelined Parallel Programming Operation in a Non-Volatile Memory System」という米国特許出願 米国特許第6,317,363号 米国特許出願第09/865,320号 米国特許出願第10/254,830号 米国特許第6,103,573号 2000年9月22日に出願されたJack H. YuanおよびJacob Haskell による「Non-Volatile Memory Cell Array Having Discontinuous Drain and Source Diffusions Contacted by Continuous Bit Line Conductors and Methods of Forming」という米国特許出願 米国特許第5,768,192号 米国特許第4,630,086号 2002年10月25日に出願されたEliyahou Harari, George Samachisa, Jack H. Yuan,およびDaniel C. Gutermanによる「Multi-State Non-Volatile Integrated Circuit Memory Systems That Employ Dielectric Storage Elements」という米国特許出願 2002年1月18日に出願されたNima Mokhlesi, Daniel C. Guterman,およびGeoff Gongwer による「Noise Reduction Technique for Transistors and Small Devices Utilizing an Episodic Agitation 」という米国特許出願 米国特許出願第09/793,370号 米国特許出願第10/314,055号 米国特許第5,272,669号 米国特許出願第10/766,217号 米国特許出願第10/766,786号 米国特許出願第10/766,116号 米国特許第6,266,270号 米国特許第5,521,865号 米国特許出願第10/600,988号 Hiromi Nobukata らによる論文「A 144Mb 8-Level NAND Flash Memory with Optimized Pulse Width Programming」,1999年発表,Symposium on VLSI Circuits Digest of Technical Papers,39〜40頁 Masayoshi Ohkawaらによる「A 98mm2 3.3V 64Mb Flash Memory with FN-NOR Type 4-level Cell」,1996年発表,IEEE International Solid-State Circuits Conference, 36〜37頁
本発明の目的は、不揮発性集積メモリデバイス内の、プログラムしにくい記憶素子を迅速かつ効率的にプログラムするシステムと方法を提供することである。本発明の主要な態様によれば、第1のレベルに制限される記憶素子を流れる電流により、多数の素子が同時にプログラミング処理を受ける。これら記憶素子の一部が所定の状態に達すると、それらはプログラムされるセルのセットから取り除かれ、引き続きプログラムされる素子に関する電流制限が引き上げられる。これにより、1素子あたりに流れる電流の量が増加するが、電流が流れる素子の数が減少するため、プログラムしにくい記憶素子には依然として大きな電流を印加しつつ、流れる累積電流を低レベルに維持できる。
フラッシュEEPROMメモリを用いる一実施形態では、プログラム可能なメモリデバイス内のメモリセルを迅速かつ効率的にプログラムするための回路が設けられ、この回路はプログラミング速度をほとんどもしくは全く下げずに瞬間的および平均的なプログラミング電流を減少させる。一般に、その方法は、選択したメモリセルの各々を通るドレイン−ソース間電流(IDS)を、ソース電圧を上昇させること(ソースデバイアス)により所定レベルに制限しながらプログラムすることを目標とするメモリセルの種々のゲートおよびドレインに電圧波形のセットを印加することと、少なくとも1つのプログラミングパルスをメモリセルに印加することとを含む。さらにプログラムする必要があるセルに対して、制限されたIDSを上昇させ、さらなるプログラミングパルスを印加する。
一連の実施形態において、本発明は、粗密(coarse-to-fine)プログラミング技術に適用される。一般に、その方法は、プログラミングブロックに属するすべてのセルを個々の粗い目標しきい値に対して同時にベリファイし、それぞれの粗いプログラミングしきい値を既に超えているしきい値を持つセルをロックアウトするステップと、その粗いプログラミングしきい値に達していないこれらのセルにプログラミングパルスを印加するステップとを含む。この処理を繰り返すが、繰り返されるプログラミングステップの各々は、コントロールゲート(ステアリングゲート)プログラミング電圧パルスを所定の粗い増分値ずつ増加させる。これは、プログラミングブロック内のすべてのセルをそれぞれの粗いしきい値にプログラムするまで或いは粗いパルスの所定最大数に達するまで継続できる。
一実施形態では、ある所定数の粗いパルスが消耗され、それぞれの粗い目標にプログラムされていないいくつかのセルがまだ残っていれば、この時点でソースデバイアス条件を緩和または引き上げることができ、また、すべてのセルがそれらの粗い目標に達するか、または許容される粗いパルスの別の所定最大数に達するまで、プログラム−ベリファイ処理を繰り返すことができる。
この時点で、プログラミングブロックに属するすべてのセルを、その個々の細かいプログラミング目標しきい値に対して同時にベリファイすることによって細かいプログラミングフェーズが開始される。しきい値がその細かいプログラミングしきい値を既に超えているこれらセルをロックアウトし、細かいプログラミングしきい値に達していないこれらセルにプログラミングパルスを印加する。(各セルのコントロールゲートに印加される最初の細かいプログラミングパルスは、各セルに印加される最後の粗いプログラミング電圧パルスから、粗密ステップバック電圧と呼ばれる所定量だけ少なくできる。)プログラム−ベリファイステップを繰り返すが、繰り返されるプログラミングステップの各々は、プログラミングブロック内のすべてのセルがそれぞれの細かいしきい値にプログラムされるまで、または細かいパルスの所定最大数に達するまで、プログラミングパルスを所定の細かい増分値だけ増大する。最大数の細かいパルスが消耗され、それぞれの細かい目標にプログラムされていないいくつかのセルがまだ残っていれば、その場合も、この時点でソースデバイアス条件を緩和または引き上げることができ、またすべてのセルがそれらの細かい目標に達するか、またはデバイアスでない許容される細かいパルスの別の所定の最大数を超えるまで、プログラム−ベリファイ処理を繰り返す。
この方法は、不十分にプログラムされている各メモリセルにさらに高いIDSを供給するステップの前に、プログラムされているメモリセルをオフにする別のステップを含むことが好ましい。
一実施形態において、IDSを制限するステップは電流制限器を用いて行われ、プログラミング中のメモリセル内の各記憶ユニットにさらに高いIDSを供給するステップは、電流制限器を無効にすることを含む。あるいは、電流制限器は、多くの所定のレベルのうちの1つにIDSを制限することができ、不十分にプログラムされた各メモリセル内の各FETにさらに高いIDSを供給するステップは、不十分にプログラムされた各メモリセル内の各FETを通るIDSを所定のレベルのうちの高いレベルに制限するステップを含む。
別の実施形態では、記憶ユニットを通る電流を電流制限器によって制限しながら、所定の最大数以下のインテリジェントに定められた個数のプログラミングパルスをプログラミングブロック内の各セルに印加する。その後、他の所定の最大数以下の、第2のインテリジェントに定められた数のプログラミングパルスを、さらに高い電流を供給する必要があるプログラミングブロック内の、プログラムしにくい各セルに印加する。さらに別の実施形態では、所定数のメモリセルがプログラムされるまで、選択された各メモリセルにプログラミングパルスを印加する。その後、さらに高いIDSが供給される残りのプログラムしにくいメモリセルに対して、多数のプログラミングパルスを印加する。あるいは、その最終目標しきい値電圧に完全にプログラムされない最後の数個の極めてプログラムしにくいセルを残して、少なくとも第2の所定数のメモリセルがプログラムされるまで、さらに高い電流が供給される各メモリセルにプログラミングパルスを印加できる。これら最後の数個のセルの起こりうる存在によって生じる誤りを訂正するために、誤り訂正符号に依拠することができる。
本発明の方法および回路は、多くの不揮発性記憶ユニットを有する不揮発性メモリデバイスに特に有用である。一般に、この回路は、(i)選択された記憶ユニットの一対の端子に電圧差を印加できる電圧電源と、(ii)選択された各記憶ユニットを通る電流(IDS)を所定のレベルに制限できる電流制限器と、(iii)選択された記憶ユニットにプログラミングパルスを印加できるプログラミング支回路と、(iv)少なくとも所定数のプログラミングパルスを選択された記憶ユニットに印加した後、プログラムしにくい記憶ユニットの各々にさらに高い電流レベルを許可するように電流制限器を制御できるメモリチップ内の周辺回路セットとを含む。一実施形態では、内部メモリチップの周辺回路は、電流制限器を無効にすることにより、プログラムしにくい記憶ユニットの各々にさらに高い電流を供給するように構成されている。あるいは、電流制限器は多くの所定レベルの1つに電流を制限でき、内部メモリチップの周辺回路は、電流制限器が、所定数のプログラミングパルスを選択されたメモリセルに印加した後、多くの所定レベルのうちの高いレベルの電流をプログラムしにくいメモリセルの各々に供給するような制御を行うように構成されている。
さらに別の実施形態では、内部メモリチップの周辺回路は、所定数のプログラミングパルスを選択されたメモリセルに印加した後、プログラムしにくいメモリセルの各々に高電流を供給するために電流制限器を制御するように構成されている。
さらに別の実施形態では、内部メモリチップの周辺回路は、所定数の選択されたメモリセルをプログラムした後、プログラムしにくいメモリセルの各々に高電流を供給するために電流制限器を制御するように構成されている。さらに別の実施形態では、消去回復という別名で知られているソフトプログラミング処理に本発明の様々な態様を適用できる。なお、論理セクタから既にマップアウトされ、ソースデバイアス状況下でソフトプログラムしにくい欠陥メモリセルが存在する場合がある。(オフにされるべき)選択解除された過剰消去メモリセルが実際に導通する際に読み出しエラーを招く寄生電流経路を取り除くために、これらメモリセルを接地されたソースでソフトプログラムしてもよい。
本発明の別の態様において、電流ベースの手法は、選択された記憶素子を流れる電流を、素子の目標状態に基づいてプログラミング処理中に制限する。この態様によれば、プログラミング処理中にセルを流れる電流の限界は、記憶素子をプログラムする目標値の関数である。より高い状態にプログラムされる素子の許容電流は、その状態をより高速に変更できるようにする、より高い限界に設定される。これにより、同じ共通ステアリング(コントロール)ゲートプログラミング電圧を使いながら、任意の目標状態にプログラムするのに必要とされるパルス数を収束させることが可能となる。変形例では、システムは目標状態に基づいてプログラミング中にビット線電圧を設定することもできる。
一連の実施形態において、これらの態様は、ソース電極に接続された定電流シンクを使ったソース側電流制限を用いることによって実施でき、電流値は各セルをプログラムすべき状態の関数である。特定の実施例は、粗い−細かいプログラミング技術に基づくものであり、ここで、細かいプログラミングフェーズの限界は、1つまたは2つのデータ状態でオフセットされることを除き、粗いプログラミングフェーズの限界と同じである。前述した「限界」という用語は、プログラム−ベリファイフェーズ中にステアリング(コントロール)ゲートに印加される電圧のことを言う。すなわち、本発明の別の態様によれば、状態Nの細かいベリファイ動作のベリファイ電圧を、状態(N+1)の粗いベリファイ動作のベリファイ電圧と同じ電圧値とすることができ、それによって種々の粗いおよび細かい電圧をセンス増幅器コンパレータに供給するのに要するバス線の本数が減り、それらを個々のセンス増幅器に復号化する複雑さも減る。
本発明の他の態様、特徴および利点は、添付図面と組み合わせて読まれるべき例示的な実施形態の以下の説明に含まれる。
本発明の前述した、および他の種々の特徴および利点は、添付図面とともに以下の詳細な説明を読めば明らかになるであろう。
図1は、不揮発性メモリアレイ100の一部の例示的な実施形態を示す。この特定の実施形態において、各記憶ユニットは、ソース側注入によってプログラムされるデュアルフローティングゲートEEPROMユニットである。例えば、個々の記憶ユニット101は、仮想接地構造のビット線BLα3 ,BLα4 の間に接続される選択ゲートトランジスタの両側にフローティングゲートトランジスタα6 ,α7 を有する。図1には、アレイ100の選択線0および1に接続される2つの行と、2つのブロック、すなわちα領域およびβ領域が示されているが、実際のアレイは概してもっと大きい。個々のフローティングゲートトランジスタは、それぞれが2つ以上のデータ状態を記憶できる。
本発明の種々の態様は図1に示されている特定タイプのアレイにこだわらないが、本発明の多くの態様を簡単に示すことができるため、例示的な実施形態としてこの構造を少なからず用いる。背景技術のセクションで説明したように、現在の不揮発性メモリシステムは極めて多数の記憶ユニットを同時にプログラムすることが多い。例えば、大規模な並列プログラミングは、2002年2月22日出願のKevin M. Conley およびYoram Cedar による「Pipelined Parallel Programming Operation in a Non-Volatile Memory System」という米国特許出願(特許文献13)であり、本願明細書において参照により援用され、本願明細書に含まれる参考文献である。これら記憶ユニットの各々をどの程度迅速にかつどのレベルまでプログラムできるか、すなわちそれらの「プログラマビリティ」は、以下に説明するように、プログラミング処理中にトランジスタのチャネルを流れる電流の量に依存する。すべての累積電流を制御するために、平均でもピークレベルでも、電流制限デバイスをプログラムされるセルのソース線上に配置することができる。これが図1に示され、ここで電流制限器103がトランジスタα0 およびトランジスタα3 の一方または両方に対してIα1,lim の最大電流レベルを設定し、電流制限器105がトランジスタβ0 およびトランジスタβ3 の一方または両方に対してIβ1,lim の最大電流レベルを設定し、プログラムされる(図示せず)その他のセルは同様に制限される。
これを達成するための方法の1つは、ソースのデバイアスによるものであり、ソース電圧を上昇させることによりドレイン−ソース間のプログラミング電流を制限するように作用する。これによって、ソースとそれに対応するドレインとの間に直列に入っている(記憶データを含む)すべてのトランジスタのしきい値電圧が基板効果によって増加し、また、ドレイン−ソース間電圧が減少し、それによってプログラミング電流が小さくなる。従前のソースデバイアスはオンまたはオフのいずれかであると考えられた。それまでの設計を越える改善であるが、この方法は十分ではない。
欠点の1つは、各セクタ内に、プログラムするのに高いプログラミング電流または長い時間を要する少数のメモリセルが一般に存在するということである。このようにプログラムしにくいメモリセルが存在する根本的原因は多々あり、限定的にではないが、例えば、1)セル容量結合比に影響を及ぼすセルの相違、2)ドレイン/ソース接合特性、3)セル酸化物の厚さのばらつき、4)種々の材料界面の粗さ、5)酸化物、チャネルおよびセルトランジスタの接合部における精密な欠陥/結合切断などが挙げられる。したがって、満足できる大きさのメモリおよび満足できる短さのプログラミング時間を得るには、これらセルを高電圧でプログラムすることが望ましい。しかし、従前のソースデバイアスは工場内で設定され、チップ寿命への関与は変わらない。
一実施形態では、一定の電流シンクを用いてドレイン−ソース間電流をソースから取り出すことによってソースデバイアスを達成する。理想的な一定の電流シンク(ソース)は、定電流を維持するために、時変負荷に瞬時に適合し、(限られた範囲に制限された)ソースに可変電圧を印加する。n形トランジスタにおいて、デバイアスは、正電圧をソースに印加することを指す。この正電圧は1つのプログラミングパルス中でも変化する。従って、この実施形態では、デバイアスの電圧レベルが一定の電流源により動的に制御されるという意味でデバイアスは一定ではない。しかし、同じ実施形態では、デバイアスの電流レベルは一定であるので、この意味では、デバイアスを一定であると言うことができる。
前述したソースデバイアス方法では、このオプションは、工場でオンまたはオフのいずれかに設定され、すべてのチップついてチップの寿命の間、Iα1,lim =Iβ1,lim =Iγ1,lim =...=Ilim で変わらないままである。刷新事項は、プログラム/ソフトプログラムされるべきセルがいくつか残っている場合に、種々のI-,lim s(Iα1,lim ,Iβ1,lim ,...)を独立して変更することにより、各セクタのプログラミングの終結に向かってソースデバイアスを動的にオフに転換することである。プログラムされるべきごくわずかなセルが残っている場合にだけ、接地にされたソースのプログラミングが用いられるため、電流を引き込むのはほんの少しのセルでしかないので、1セルあたりの過電流によって過度のチップ電流消費が生じることはない。一例として、接地にされたソースのプログラミングがプログラミング電流に10倍の増大をもたらせば、各プログラミングユニットのセルの10%まで、または「かなりの量(チャンク)」を、接地にされたソースを用いて同時にプログラムすることができ、このときにセルの残りの90%はロックアウトされている。
本発明は図1に示されるアレイおよび記憶ユニット構造体に限定されるものではないが、この構造体は、他のEEPROMおよびフラッシュシステムに見られる多くの特徴を含むので例示的な実施形態として有用である。図1は、各々が複数のフローティングゲートを持つ多状態記憶ユニットの仮想接地アレイを示す。このように、記憶ユニット自体がNOR形アーキテクチャ内に配置され、各記憶ユニットは小形NANDアレイとの類似点が多々ある。一般に、メモリは、前に参照により援用されている種々の参考文献に記載されている種々のNANDまたはNORアーキテクチャであれば、いずれを用いることもできる。(101内のα6 などの)各記憶ユニット内のフローティングゲートトランジスタの1つを無視することにより、記憶ユニットは選択ゲートを有する従来のフローティングゲートトランジスタに降格される。この考察は、選択ゲートがないかまたは側壁構造体により置き換えられている場合、仮想接地アレイ以外の構造が用いられている場合、および記憶ユニットがソース側注入以外の技術によりプログラムされる場合にまで、容易に展開される。記憶ユニットを、どちらか一方の端部が選択トランジスタと直列接続される多数のフローティングゲートトランジスタを有するNANDストリングとすることもできる。例示的な実施形態のデュアルフローティングゲート構造体でさえも多くの変形例が可能であり、例えば、フローティングゲートの消去はチャネルを通して行うこともできる。本願明細書で使用する、フローティングゲートの実施形態における「記憶ユニット」という用語は、一連の1つ以上のフローティングゲートトランジスタのことを指し、場合によっては1つ以上の選択ゲートトランジスタのことを言う。これらの様々な構造の詳細については、背景技術のセクションで援用されている参考文献に記載されている。ソース側注入および仮想接地アレイの双方に関係する種々の問題点は、2001年5月25日出願の米国特許出願第09/865,320号(特許文献15)に記載されている。この特許出願は、その全体が本願明細書において参照により援用され、本願明細書で引用される参考文献である。
本発明の種々の態様は、個々の記憶ユニットを流れる電流にプログラマビリティが依存している多数の記憶ユニットを並列にプログラムすることに関するものであるので、これら態様は、電流に依存するプログラマビリティを有する他の形態の記憶ユニットの並列プログラミングにも適用できる。また、読み出し処理における電流制限は、本願明細書において参照により援用されている2002年9月24日出願の米国特許出願第10/254,830号(特許文献16)に記載されている。以下では、「記憶ユニット」および「アレイ」がこれら構造のいずれかを指す場合があるが、図1の動作が参照されることが多いのでこれを手短に詳述する。
図1の構造を持つ不揮発性メモリは、米国特許第5,712,180号(特許文献7)、第6,103,573号(特許文献17)および2000年2月17日出願の米国特許出願第09/505,555号(特許文献10)および2000年9月22日に出願されたJack H. YuanおよびJacob Haskell による「Non-Volatile Memory Cell Array Having Discontinuous Drain and Source Diffusions Contacted by Continuous Bit Line Conductors and Methods of Forming」という米国特許出願(特許文献18)に記載されている。これら特許および特許出願は、いずれもサンディスク コーポレイションに譲渡され、本願明細書において参照により援用されている。これらセルは、物理的フローティングゲート記憶トランジスタ1個あたり5つ以上の論理ビットを記憶できる。多くの考察は、セルの構造でなく、アレイの構造に基づくので、フローティングゲートを有しない不揮発性メモリを用いる別の実施形態を用いることもできる。例えば、いずれも本願明細書において参照により援用されているEitan による米国特許第5,768,192号(特許文献19)およびSatoらによる米国特許第4,630,086号(特許文献20)に記載されたNROMまたはMNOSセルなどのNROMまたはMNOSセルも用いることができ、同様に、本願明細書において参照により援用されている2002年10月25日に出願されたEliyahou Harari, George Samachisa, Jack H. Yuan,およびDaniel C. Gutermanによる「Multi-State Non-Volatile Integrated Circuit Memory Systems That Employ Dielectric Storage Elements」という米国特許出願(特許文献21)に記載された誘電記憶素子などの誘電記憶素子を用いることもできる。図2Aおよび2Bは、複数のフローティングゲートを有するメモリセル構造体の一実施形態の上面図および断面図をそれぞれ示すが、これらの図は、前に参照により含まれている米国特許第5,712,180号(特許文献7)から採用されたものである。図2Bの断面図に示されているように、ビット線(BL1)711および(BL2)712の2つのソース/ドレイン領域間に記憶ユニットのチャネルが形成されている。このチャネルは、左フローティングゲート(FGL12)781および左コントロールゲート(CGL2)771の下にある左フローティングゲートチャネル761と、右フローティングゲート(FGR12)783および右コントロールゲート(CGR2)773の下にある右フローティングゲートチャネル763と、これらの間に位置しかつ選択トランジスタ(T12)772の下にある選択チャネル762という3つの領域に細分される。
図2Aに示されているように、この構造体では、(SG1)720などのワード線が、(BL1)711および(BL2)712などのビット線を横断してアレイを形成している。この場合、アレイ内のメモリセルの位置はこれら線の交点によって定められる。例えば、選択トランジスタ(T12)772を備える図2Bのセルは、ワード線(SG1)720に沿って(BL1)711と(BL2)712との間にある。コントロールゲートは、一般的な構造体のように行に沿っているのではなく、ビット線に平行な列に沿って接続される。したがって、電圧をコントロールゲート線(CGL2)771に印加することにより、トランジスタ(T12)772を含むセルのゲートに印加されるだけでなく、ビット線(BL1)711と(BL2)712との間の列内にあるすべてのセルの左コントロールゲートにもこの電圧が印加される。
図3Bは、図2Aおよび2Bのメモリセルをはじめとするメモリセルのアレイの一実施形態を示す回路図であり、図3Aは、これらメモリセルの等価回路である。セルのフローティングゲート781および783は、独立にプログラムしかつ読み出すことができる。例えば図3Aの右フローティングゲート783をプログラムするために、例えば8ボルトのオーバードライブ電圧が左コントロールゲート771に印加される。実際の値は決定的なものではなく、フローティングゲートに記憶されるデータ状態と無関係に左フローティングゲートトランジスタTFGL を満足にオンに転換するのに足る値が取られる。左フローティングゲートトランジスタTFGL が回路から効果的に取り除かれると、単独フローティングゲートのトランジスタをソース側注入法でプログラムするのとほぼ同じように右フローティングゲートトランジスタTFGR をプログラムできる。
規則的なプログラミング動作において、ドレインは約5ボルト、概して4〜7ボルトに再び設定され、ソースは接地に設定されおよび/または電流制限装置を介して接地接続される。列内のすべてのセルは同じ状態となる。選択された行に対し、選択ゲートに1.5〜5ボルトの電圧がかけられることにより、選択トランジスタがオンに転換される。これによりチャネルを通る電流が生じ、ソース側から電子が入る。選択されていない行では、選択ゲート線またはワード線は接地に保たれ、これら選択トランジスタはオフのままである。次に、例えば5〜10ボルトのプログラミング電圧が右コントロールゲートに印加される。これら値は、選択トランジスタと右フローティングゲートトランジスタとの間のチャネル領域内に高い電場を発生させる。その結果、ソースから入った電子は、プログラミング電圧を受けて(右)フローティングゲートに注入される。左フローティングゲートをプログラムするために、ソースおよびドレインのように、左コントロールゲートおよび右コントロールゲートの役割が入れ替えられる。
図1に示されるように、隣接する記憶ユニットを同時にプログラムできるようにアレイをバイアスできる。例えば、フローティングゲートトランジスタα0 およびα3 は、いずれもプログラミング中にビット線BLα1 をソース線として用いる。これにより、種々の線をどのようにバイアスしたかに基づいて、また、速度および精度要件に従って、これら2つのトランジスタを一緒にプログラムすることもできるし、異なる実施例で別々にプログラムすることもできる。
31L およびC31R のそれぞれの結合によりまたはチャネル消去をはじめとする別の方法により、左フローティングゲートおよび右フローティングゲートの両方を消去するように消去電圧を選択ゲートに印加することによってフローティングゲートトランジスタを消去できる。消去およびその他の動作に関する詳細は、前に参照により援用されている米国特許第5,712,180号(特許文献7)に記載されている。そこで記載されているように、読み出しまたはベリファイ動作の感知処理では、感知されていない記憶ユニット内のトランジスタは完全にオンに転換されるが、感知された状態にあるトランジスタは当業者には周知の種々の技術によって処理可能である。チャネル消去については、NANDアーキテクチャを背景としたものであるが、前に援用されている米国特許出願第09/893,277号(特許文献12)に詳述されている。2002年1月18日に出願されたNima Mokhlesi, Daniel C. Guterman,およびGeoff Gongwer による「Noise Reduction Technique for Transistors and Small Devices Utilizing an Episodic Agitation 」という米国特許出願(特許文献22)に数多くの感知技術が記載されている。例えば二分探索によってセルがどの可能データ状態に属するかを判断するのではなく、セルの状態を表すパラメータと目標値とを検証処理によって比較するという点で、ベリファイ処理とデータ読出処理は異なっている。
プログラムしにくいセルへの応用
本発明に戻ると、本発明の種々の態様は、1)複数の記憶ユニットの大規模な並列書き込み、2)記憶ユニット1個あたりの比較的低い速度またはプログラマビリティの可能費用でピークおよび平均累積出力を管理するために、各記憶ユニット書き込中の電流を制限すること、3)各記憶ユニットが目標状態に達したら、プログラミングを終了した各記憶ユニットと記憶ユニットの電流引き込みとをロックアウトすること、4)まだプログラム対象のこのような記憶ユニットの個数が所定の限界値を下回った後および/またはプログラミングパルスの数を超えた後、電流制限の大きさを減少させて(すなわち、記憶ユニット電流を増加させて)、プログラミング速度/プログラマビリティを増大させることを含む。記憶ユニット数が進捗目標値よりも少なくなるにつれて、これら概念を漸次適用できる。
記憶ユニット1個あたりの瞬間的および平均的なプログラミング電流を制限するために、一定の電流シンクがプログラミング電流を制限する役割を果たす。図1〜3の例では、この電流シンクはソース電圧を効果的に上昇させることによってドレイン−ソース間のプログラミング電流を制限する。この正のソース電圧はドレイン−ソース間の電位差VDSを減少させ、各記憶ユニットのソースとドレインとの間で直列に存在する3つのトランジスタ(2つのフローティングゲートトランジスタと1つの選択トランジスタ)のすべてのしきい値電圧を基板効果によって増大させ、これによりプログラミング電流を減少させる。そうすることで、記憶ユニットの最大の達成可能なコントロールゲートしきい値電圧またはステアリングゲートしきい値電圧も制限する。各プログラミングユニット内(例えば、セクタまたはプログラミングブロック)では、プログラムしにくい少数のセルが存在する場合がある。大きいメモリしきい値ウィンドウを有するために、このようなセルを高いしきい値電圧にプログラムすることが可能である。
一実施形態では、ある数の最大コントロールゲートプログラミングパルスが既に印加された後でまだプログラミングからロックアウトされていない最後のいくつかの記憶ユニットに印加される最後の数個のパルスに対する定電流条件を動的に引き上げることにより、これらプログラムしにくい記憶ユニットを、必要とされる高いしきい値電圧にプログラムすることが可能となる。ソースデバイアスに依存してプログラミング阻害条件に対応するのであれば、接地ソースによるプログラミングの周波数を限定して阻害メカニズムを最小限に抑えることができる。接地にされたソースのプログラミング事象の周波数監視にイベントカウンタを適用することもできる。図4Aは、図1の実施形態による記憶ユニット401および電流制限器403の第1の例示的な実施形態を示す。この例では、記憶ユニット401はビット線433,431間にノードA,Dでそれぞれ接続され、介在する選択トランジスタ413にノードB,Cを介してそれぞれ接続されたフローティングゲートトランジスタ411および415により構成されている。あるいは、前述したように、NANDストリングなどの別のフローティングゲート記憶ユニットタイプまたはより一般的に非フローティングゲート技術に基づくユニットで記憶ユニット401を構成することもできる。本発明の態様を提供するために例示的な記憶素子401を用いる。これら種々の変更例の対応する動作は、前述した対応する参考文献に詳述されている。
図4Aに記載されているように、プログラムされるかまたは読み出されるフローティングゲートはトランジスタ415であり、スイッチ421,461の位置は通常のプログラミングの場合が示されている。トランジスタ415の読み出しまたはベリファイを行うとき、ノードAは接地された読み出し用のソースであり、ノードDはセンス増幅器によって駆動される読み出し用のドレインであり、電流制限器403はノードDから切断され、このことは、読み出し/ベリファイモードではスイッチ421が浮動位置にあることを意味する。単極/3投スイッチ421をボックス403内に示す。通常のプログラミング中、スイッチ421はノードDをトランジスタ443のドレイン(図4Aに示す位置)に接続し、最後のわずかなプログラミングパルス中に電流制限条件が引き上げられると、ノードDは接地(右側の位置)に接続され、読み出し/ベリファイ中にノードDは、電流シンクをノードDから事実上切断する(中央位置で示される)スイッチ421のフローティングレッグに接続される。センス増幅器とノードDとの間に接続される単極/単投スイッチ461は、読み出し中は閉じ、プログラミング中は開いている。したがって、プログラミング中、ノードDはプログラミング用のソースとなり、センス増幅器はノードDから切断され、電流シンク403がノードDに接続される。
トランジスタ415のフローティングゲートへのソース側注入によるメモリセル415の典型的なプログラミング処理では、ビット線433上のレベルを上昇させることによってノードAが高電圧に設定される。トランジスタ411および415は、そのそれぞれのコントロールゲートに前述した電圧を用いてオンに転換される。トランジスタ413は、そのしきい値電圧を0.5ボルト〜数ボルトだけ超えるレベルでこの選択トランジスタをオンに転換するに十分な高さのワード線(すなわち、選択ゲート)電圧を印加することによってオンに転換される。プログラミング中、ノードD(すなわち、プログラミング用のソース)は、通常、電流制限器403に接続されているが、電流制限器を回避すべきとき、ノードDは接地される。記憶ユニット全体の両端の電圧はVA −VD であり、プログラムされるトランジスタ415のチャネルの両端の電圧は、トランジスタ411,413にわたる降下に起因してVA −VB に対して幾分少ない。スイッチ421がノードDを接地接続している場合、全電圧VA は記憶ユニット401の両端間に設定される(この考察では、接地からVDに維持する実際の回路で見られる他の電圧降下および過渡は無視する)。トランジスタ415をプログラムするために、そのチャネルに電流IDSを流し、電荷をそのフローティングゲート内に蓄えさせるプログラミング電圧でそのコントロールゲートにパルスが印加される。ノードDがスイッチ421を介して接地に接続されている場合、IDSは一般に規制されない。
前述したように、回路に流れる電流の量を制御するために電流制限器403が用いられる。ノードDがスイッチ421によってトランジスタ413を介して接地される場合、IDSは値Iprogを越えないように制限される。電流が制限されると、ノードD上の電圧は上昇し、基板効果が、選択ゲート413を通る電流を妨げることにより、3つのトランジスタのすべての電流を制限することになる。2つのフローティングゲートトランジスタ411および415は、電流の妨げを生じるよう、プログラミング中にそれぞれのしきい値をかなり上回ってバイアスされる。一定の電流シンク403の電流制限動作は、基板効果によって選択ゲートトランジスタのしきい値電圧を主として上昇させることによって達成される。電流制限の関与の有無にかかわらず、選択トランジスタは、ノードAからノードDまで電流を制限するトランジスタである。
例示的な実施形態では、NMOSトランジスタ443および445の電流ミラーが用いられる。スイッチ421および461の配置はブロックR/W451によって制御される。実際の実施例では、スイッチ421は2つのトランジスタで構成できる。一方のトランジスタはノードDと接地との間に位置し、450によってゲートが制御され、他方のトランジスタはノードDと443のドレインとの間に位置し、やはり450によりゲートが制御される。スイッチ461は、ノードDとセンス増幅器との間のトランジスタでもあり、このトランジスタのゲートも450によって制御される。2つのノード間にスイッチが配置されている場合、このスイッチは2つのノードに接続される置換え可能なソースおよびドレインである。コンテンションを生じさせないため、これらトランジスタをオンに転換するタイミングは、一方がオンに転換される前に他方がオフに転換されるようになっていなければならない。記憶ユニット401を通る電流は、スイッチ421の配置に応じて、Iprogを越えないように制限されたり、制限されなかったりする。一般に、接続接地または最大許容流を表すIprog,nのいずれかに有効な幾つかの制限Iprog,1≦Iprog,2≦...≦Iprog,nが存在し得る。これにより、記憶ユニット中の電流は、これらnまたはn+1個の値のうちのいずれかとなることができる。
記憶ユニット401は、例えばα2 およびα3 を含む図1の記憶ユニットのいずれかに対応することができ、その場合、ビット線431および433はそれぞれBLα1 ,BLα2 に対応し、電流制限器403は電流制限器Iα1,lim 103に対応する。このような電流制限器がプログラミング用のソースとして作用するとき、アレイの各ビット線はこのような電流制限器に接続可能である。読み出し、書き込みおよび対応する制御回路ならびに電流制限器へのそれら接続は、図1には示されていない。
403をはじめとする電流制限器は、複数のビット線に同時に使用することができるようにする多くのレッグをそれぞれ有することができる。各ソース線の最大レベルを独立に制御できるように、各レッグは独立して制御できる。説明したように、多数の記憶ユニット、場合によっては数千個もの記憶ユニットが並列にプログラムされる。個々の記憶ユニットで見られるこの処理を図4に対して説明する。通常、電流ミラーは1つの入力トランジスタ445と、443のような何千もの出力トランジスタとを備え、ここで同時にプログラムされる多数のセルの各々が1つの出力トランジスタを有する。このように、例えば1μAの入力電流は数千のセルで償却される。しかし、各セルがそれ自体の入力および出力トランジスタを備えていれば、ダイ寸法が増加するだけでなく、個別のミラーの入力トランジスタの1μAの累積効果のために電流消費も上昇する。
図4Aに戻って、プログラミング処理の開始時、プログラムするために記憶ユニットをバイアスし、電流レベルを制限器403によってIprog(あるいは、2つ以上の制限を用いる場合はIprog,1)に制限する。次に、センス増幅器453を用いて感知動作で散らばったトランジスタ415のフローティングゲートを同じ水準にする追加の電荷を蓄えるためにトランジスタ415のコントロールゲートにパルスを印加して、記憶ユニットの状態を目標値に対して比較する。記憶ユニットが目標値に対してベリファイすれば、例えば、ノードD上の電圧レベルを大きく上昇させることによって、さらなるプログラミングから記憶ユニットをロックアウトすることができる。記憶ユニットがベリファイしない場合は、処理が続行する。記憶ユニットがベリファイし、ロックアウトされれば、プログラムされる記憶ユニットの数と、対応する消費プログラミング電流が減少する。絶対数または割合、または(イベントカウンタ451により測定されるような)特定数のパルスの後、またはこれら2つの組み合わせに基づき、まだプログラム対象であるセルの数が特定数を下回ると、これら残りのプログラムしにくいセルへの電流制限を上昇させることができる。対応する電流制限器403内のスイッチ421はノードDを接地接続できる。その後、プログラミングが終了するまで、またはプログラム不可能で欠陥のある記憶ユニットが見つかるまで処理が続く。後者の場合、この記憶ユニットはマップアウトされる。複数の限度を用いれば、電流制限のこの動的な上昇をIprog,1,Iprog,2,...,Iprog,nによって漸次進めることができる。
図4Bは、図4Aの実施形態の変更例である他の実施形態を示す。この場合、いくつかの電流値Iprog,iは制限回路403に利用可能であり、ここでi=1,...,nであり、n≧2、Iprog,1≦Iprog,2≦...≦Iprog,nである。ノードDはプログラミング中は常にトランジスタ443のドレインに接続され、スイッチ421は単極/単投スイッチであるだけでよい。一定の電流シンクを用いる通常のプログラミングから接地にされたノードDへの移行は、トランジスタの445のドレインノードに供給される、Iprog,iで示されるミラー入力電流を増分に増加させることによって、より漸進的に行うことができる。例えば、コントロールゲート電圧がパルス間で階段状になっていれば、Iprog,1を1μAに設定することができる。しかし、プログラミングコントロールゲート電圧が、例えば12Vという最大値に達したときに、充分にプログラムされていないセルがまだいくつか残っている場合には、次のプログラミングパルスを同じ最大コントロールゲート電圧とすることができるが、電流制限を1セルあたりIprog,1=1μAから1セルあたりIprog,2=2μAへ緩和でき、次のパルスを例えば1セルあたりIprog,3=4μAの電流シンク値で印加できる。これにより、電流制限をすべて一度に完全に引き上げる移行よりも漸次的な移行が行われる。漸次的な方法の利点は、電流制限されていないプログラミングパルスの最初の印加時のオーバープログラミングの可能性が少なくなることである。同時にプログラムされるセルはすべて同時に最大コントロールゲート状態に達するが、これは独立に駆動されるコントロールゲートアーキテクチャには該当しないため、図4Bの漸次的な移行方法は、(独立に駆動されるコントロールゲートアーキテクチャとは対照的に)共通に駆動されるコントロールゲートを用いるアーキテクチャのほうが実施しやすい。
図4Aおよび4Bにおいて、スイッチ421および461の制御は、コントローラによって、またはブロック451および453で略記されているようなメモリチップ上の内部周辺回路によって行われる。高速動作では、コントローラは、プログラムしにくいセルの存在に気付かないのはもとより、そのようなセルをプログラムしようとしないことが通常望ましい。このように、コントローラは、このコントローラにトランスペアレントなすべてのその後の活動により、プログラムされるべきデータと、このデータが行くべきアドレスと、プログラミングを開始するためのメモリチップへの命令とを変えるだけよい。メモリチップの内部周辺回路は、プログラミングが行われるまでは独立しているが、プログラミングが終了すると、メモリチップはREADY/BUSY(レディ/ビジー)信号の状態を変更することによってプログラミングの終了をコントローラに伝える。
図5は本発明の例示的な実施形態に関するフローチャートであり、この場合は図1〜4に示されるタイプの記憶素子を備えるメモリに粗い−細かいプログラミング技術を用いる。粗いモードおよび細かいモードを有するプログラミング技術の使用法は、本願明細書において参照により援用されている2001年2月26日出願の米国特許出願第09/793,370号(特許文献23)に記載されている。
プログラミングブロックに属するすべてのセルを、その個々の粗い目標しきい値に対して並列にベリファイするオプションのステップ501で処理が始まる。共通に駆動されるステアリングアーキテクチャでは、このベリファイおよびその後のベリファイを一連の下位ベリファイに細分する必要があり、それぞれの下位ベリファイが、セルのグループを同じ目標状態に対してベリファイする。同一プログラミングブロックに属するセルのグループのステアリングゲートのすべてが相互に接続されているとき、例えば、状態4にプログラムされるべき幾つかに2ボルトを印加しながら同時に、状態2にプログラムするように定められた別の幾つかに1ボルトを印加することは不可能である。したがって、各プログラミングパルスの後で、下位ベリファイのすべてまたは少なくとも1つのサブセットを実施しなければならない。1セルあたりに8状態という設計では、各プログラミングパルスに続いて7つのベリファイ動作を行う必要があり、最初のベリファイ動作は状態0と1とを区別し、2番目のベリファイ動作は状態1と2とを区別し、・・・7番目のベリファイ動作は状態6と7とを区別する。適切なプログラム−ベリファイ技術は、本願明細書において参照により援用されている2002年12月5日出願の米国特許出願第10/314,055号(特許文献24)にさらに詳述されている。セルの状態を示すパラメータ値、一般に電流または電圧は、前に参照により援用されている「Noise Reduction Technique for Transistors and Small Devices Utilizing an Episodic Agitation 」という米国特許出願(特許文献22)に記載されているように、その目標値に対して比較される。ブロックが予めプログラムされている場合には、先行して消去処理が行われている。実施形態によっては、消去処理に続いて以下にさらに詳述されるようなソフトプログラミング処理が行われる。記憶ユニットが粗い基準値に対してベリファイすると、処理はステップ525の細かいモードに切り替わり、ベリファイしないとステップ503へ進む。
プログラミングを必要とする記憶ユニットが、例えばフローティングゲートトランジスタセルのソースおよびドレインの両側に電圧をかけることによってバイアスされ、電流が第1のレベルに制限され、ステップ505で、フローティングゲートセルのコントロールゲートにパルスを印加するなどのプログラミングが生じる。この後、別の粗いベリファイ(505)が続き、この場合も目標の基準が満たされればステップ525へ進む。セルをベリファイしなければ、コントロールゲートのプログラミング電圧を増加させ、別のパルスを印加し(509)、その後、ベリファイステップ505に戻る。ステップ505と509との間で、ステップ507が、最大コントロールゲートプログラミング電圧に達したかをチェックする。ステップ505,507,509のループはベリファイするまで、または、最大コントロールゲートプログラミング電圧に達するまで続き、ベリファイした場合はステップ525に進み、最大コントロールゲートプログラミング電圧に達した場合はステップ511に進む。
ステップ511,513および515は、コントロールゲートプログラミング電圧を最大値に保ちながら電流制限を引き上げるループを形成している。別の実施形態では、電圧を引き下げ、ステップ505〜509のループ中のようなステップにおける最大値まで再び上昇させることができ、所定の電流制限/最大電圧の組み合わせのパルスを2つ以上用いることもできるし、これらの組み合わせを用いることもできる。ステップ511で最初に電流シンクの値をチェックし、より高い値が有効であるならステップ513で増分させ、引き続きステップ515で別の粗いベリファイを行う。ステップ511で最大電流シンク値に達していれば、ステップ517に進む。
ステップ517,519,521および523により、最大コントロールゲートプログラミング電圧および最大プログラミング電流のパルスを記憶素子に多数回(NCmax)印加することが可能となる。ステップ517で、このようなパルスの数NCを増分させ、その後、パルスの数NC が最大値NCmaxを超えたかどうかをチェックし(519)、超えていなければ、パルスを印加する(521)。セルをベリファイするか、またはこれらの条件でパルスの最大数に達すると、ステップ525へ進む。
ステップ525は、細かい目標パラメータ値における最初のベリファイであり、省略可能なステップである。セルをベリファイしなければ、コントロールゲート電圧を下げ、ステップ529で微細プログラミング処理を開始する。ステップ531〜551は、粗いプログラミングフェーズでの対応するステップと同じである。しかし、セルを細かいベリファイステップ(ステップ525,531,541,551)のいずれかでベリファイした場合には、ステップ527でセルをロックアウトする。また、ステップ545で、最大コントロールゲートプログラミング電圧および最大プログラミング電流におけるパルスの最大数(NF )が限界(NFmax)を超えていると、プログミングは失敗に終わり、対応するセルまたはこのセルが属するすべてのセクタをステップ547でマップアウトする。
消去回復という別名で知られているソフトプログラミングに本発明の様々な態様を適用できる。基本的にフラッシュセル消去は、セルの少なくなくともセクタ全体(通常はワード線)を消去する必要がある。この共通ワード線の種々セルの消去速度の相違により、確実に消去状態を示すのに必要とされる最小の下側しきい値電圧を超えてセルを消去することがしばしばある。ソフトプログラミングは、実際のデータプログラミングに先立って、過剰消去されたセルのしきい値を徐々に上昇させるのに用いられる技術である。これら技術のいくつかに関する詳細は、米国特許第5,172,338号(特許文献2)および第5,272,669号(特許文献25)に記載されているが、いずれもサンディスク コーポレイションに譲渡され、本願明細書において参照により援用されている。図1〜4の例示的な実施形態に特に適用できるソフトプログラミングの態様は、前に本願明細書において参照により援用されている2001年5月25日出願の米国特許出願第09/865,320号(特許文献15)に示されている。
メモリアレイでは、論理セクタから既にマップアウトされ、電源制限が関与するソースデバイアス状況下でソフトプログラムしにくい欠陥メモリセルが存在する場合がある。このようなセルが、過剰消去された状態でアレイ内に存在すれば、これらはデータでプログラムされない。セルが過剰消去されると、寄生電流経路を生じる可能性がある。これらセルがプログラムしにくい場合、最低レベルの電流制限を持つ標準のソフトプログラミング動作では、セルを過剰消去された状況から満足に取り出せないかも知れない。これらセルのしきい値を十分に引き上げるために、本発明をソフトプログラミング処理に適用できる。(オフにされるべき)選択解除された過剰消去メモリセルが実際に導通する際に読み出しエラーを招く寄生電流経路を取り除くために、これらメモリセルを接地されたソースでソフトプログラムしてもよい。本発明の他の実施例のように、第1の制限および接地にされたソース間で1つ以上の中間電流制限を用いることができる。
目標状態に応じた電流レベルのプログラミング
本発明の前述した態様は、記憶素子がプログラムしにくいかどうかに基づき、プログラミング中に記憶素子を流れる電流に複数の限界を設定する。プログラミング中に複数の電流限界を用いることは、他の用途に使うことも可能である。様々な限界を用いる一例は、いずれも2004年1月27日に出願され、本願明細書において参照により援用されている米国特許出願第10/766,217号(特許文献26)、第10/766,786号(特許文献27)、第10/766,116号(特許文献28)に記載されているように、粗い−細かいプログラミング方法の一環として存在し、ここで、限界は、セルが粗いプログラミングモードにあるかまたは細かいプログラミングモードにあるかに基づく。プログラミング中に様々な限界を用いる別の例は、限界を、セルの目標状態の関数(以下に記載される本発明の態様)とすることである。
背景技術のセクションの後半部分で先行技術に関して記載された問題に鑑み、本発明では、既存の列指向であるビット線を用いるのではなく、同じような「ステアリング」の役割にデータ依存形セル制御線を用い、それによってオーバーヘッド領域と、追加される列指向ステアリング実施の複雑さを取り除くことを考える。本発明は、データプログラミングの許可/禁止を可能にするものというビット線の従来の役割を拡張するものであり、また、そのための正確なプログラミングレベル制御を達成する手段を提供するものである。ホットエレクトロンプログラミングまたは他の技術では、ビット線電圧による制御は極端に非線形となる傾向があるので、そのような手段を開発することが課題である。(はるかに広範囲の電圧状態にわたるプログラミング速度の制御を要する)魅力のない高精度マルチレベルプログラミングのビット線電圧生成−電圧制御のごく小さい増加を越え、帰結プログラミングの速度は非常に急速に成長する。
本発明の原理は、既存のものおよびこれから開発される新技術の使用が考えられているものなど、種々のタイプの不揮発性メモリに適用できる。しかし、本発明の実施例は、記憶素子がフローティングゲートであるフラッシュ式の電子的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)について説明する。前出したセクションでは、基本記憶素子としてデュアルフローティングゲートセルを用いて説明を行った。以下の記載では単一フローティングゲートセルについて説明するが、この単一フローティングゲートセルは、NORアレイの一部でもよいし、前述した401などのNANDストリングすなわちデュアルフローティングゲート素子の単一フローティングゲートであってもよい。
図6は3つの端子X,Y,Zを備える不揮発性メモリ記憶素子601、この場合は単一トランジスタフローティングゲートEEPROMセルを示す。端子Xはフローティングゲート621の上のコントロールゲート611に接続され、端子YおよびZはソース/ドレイン領域に接続されている。より概括的には、EEPROMすなわちフラッシュメモリの場合、記憶素子は、1つ以上のフローティングゲートトランジスタと、ことによると直列接続された複数の選択ゲートとから構成され、これにより種々のコントロールゲートに複数の追加端子が必要となることがある。種々のアレイタイプおよび他タイプの記憶素子にわたるそのようなフラッシュセルの変形例の例については、いくつかの例示的な実施形態の後で説明する。
フローティングゲートメモリセル601をプログラムする標準的な方法は、端子YとZに電圧差を与え、端子Xでコントロールゲート621にパルスを印加し、その結果、チャネルを流れる電荷のいくつかがフローティングゲートへ移される。背景技術のセクションに記載されているように、一般に、階段状電圧パルスがコントロールゲートに印加され、ベリファイステップを交互し、セルがその目標状態のしきい値以上であることをベリファイすると停止される。消去されたセルをプログラムするか否かのバイナリメモリセルを用いるいくつかの例は別にして、プログラミング処理中の端子YおよびZ間の電圧差および電流はデータ依存形ではない。端子X,Yの一方または両方は一般に、不揮発性セルのアレイのビット線に沿って接続される。本発明は主として、記憶素子が3以上のデータ状態を記憶する場合に関する。本発明の主要な態様によれば、図6のセル601などの多状態記憶ユニットに対してビット線管理データ依存形プログラミング技術が使用される。ビット線データ依存形プログラミング技術は、いずれも本願明細書において参照により援用されている米国特許第6,266,270号(特許文献29)、米国特許第5,521,865号(特許文献30)、Hiromi Nobukata らによる論文「A 144Mb 8-Level NAND Flash Memory with Optimized Pulse Width Programming」,1999年発表,Symposium on VLSI Circuits Digest of Technical Papers,39〜40頁(非特許文献1)、およびMasayoshi Ohkawaらによる「A 98mm2 3.3V 64Mb Flash Memory with FN-NOR Type 4-level Cell」,1996年発表,IEEE International Solid-State Circuits Conference, 36〜37頁(非特許文献2)に記載されているような電圧ベースの実施例を基礎とすることができる。以下の説明では電流ベースの手法を示すが、電圧ベースの実施例と組み合わせることもできる。電流ベースと電圧ベースは相補的だからである。
ターゲット状態に依存するプログラミング電流レベルの設定態様は、本願明細書において参照により援用されている米国特許出願第10/600,988号(特許文献31)記載のものと多くの点で正反対で相補的である。この方法では、プログラミング中、記憶素子を流れる電流は一定値に保持されるが、ソースとドレインの間にかけられる電圧は目標状態に依存する。
電流ベースのプログラミング技法の目的は、繰り返すが、プログラミング特性の自然分布およびセルしきい値動作ウィンドウの全範囲をカバーする値から、自然分布だけをカバーする値へ、階段状のプログラミングパスルの数を減少させることである。既に述べたように、これらのプログラミング技術は、いずれも前に参照により援用されている米国特許出願第09/793,370号(特許文献23)、第10/766,217号(特許文献26)、第10/766,786号(特許文献27)、第10/766,116号(特許文献28)に記載されているものをはじめとする種々の粗い/細かいプログラミング技法と組み合わせることができる。
図6の例示的なメモリセルに戻って、ドレイン側注入プログラミングの場合、任意期間のプログラミング処理中にフローティングゲート621に移される電荷の量は、端子YおよびZの間を流れる電流のみならず、フローティングゲート621とチャネルとの間に生じる電圧差に依存する。従来、プログラミング処理は、データに依存しないバイアス条件セットを端子に適用しながらプログラミング期間ごとにコントロールされた。前出したセクションでは、これは、端子Xでセルのコントロールゲート611にパルスを印加しながら目標データ状態の関数である端子YおよびZ間の電圧差を用い、各プログラミングパルス後にベリファイ動作が続く共通ゲートに一連の階段状パルスを印加することによって展開された。この電流セクションは、目標データ状態に基づいて端子YおよびZ間を流れる電流を制限する相補的な手法を採用する。
この電流ベースの手法では、端子Zと接地との間に電流制限デバイス603が配置される。初期状態(接地(通常は消去された)状態の場合もあるし接地状態でない場合もある、消去後状態か、または、処理が進んでいれば何らか他の状態または中間状態)のセルから開始し、目標データ状態が選択される。次に、端子YとZとの間を流れることを許可される最大電流レベルが素子603によってレベルI=I(目標状態)にセットされる。トランジスタ645を流れる電流は、端子YとZとの間の電流を決定するトランジスタ643によって反映されるからである。例えば、電流制限デバイス603は電流ミラーを基礎とすることが可能である。次に、電荷をフローティングゲート621に移すためにコントロールゲート611にパルスが印加されると、端子Yをバイアスしてセルに電圧(前述したように、場合によってはデータ依存形)をかけることができる。(スイッチ621および661ならびにセンス増幅器653は、図4Aおよび4Bの対応する素子と同じ機能を果たす。)
前出したセクションでは、しきい値が所望の目標値に達した記憶素子をロックアウトし、しきい値がまだ所望の目標値に達していないセルについては、ソース電圧を上昇させることによってその定電流を達成する定プログラミング電流シンクを用いてプログラムし続けるために、ソース側データ依存形のバイナリ式の電流制限を用いることを説明した。そこに記載したように、この処理では、セルのソース電圧を、プログラミング中にセルごとに変更する。これにより、そのソース電圧を例えば2.5Vに上昇させることによって、いくつかのセルはプログラム可能となり、他のセルはロックアウトされる。ここでは、すべてのセルは任意のプログラミングパルス中に同じコントロールゲートパルスでプログラムされるが、高い状態にプログラムされるセルと比較して、(コントロールゲート電圧の階段中に)低いしきい値目標に漸近的に接近するように低い状態にプログラムされるべきセルを許可するように、もっとアナログ的にこの制御の度合いを利用することによって、いろいろな態様でこの研究を展開する。
図6の例示的な記憶ユニットでは、セルがそのドレイン−ソース電流IDSとしきい値電圧VT の間にlog(IDS)=m×VT +bの関係を有していることが分かる。傾きmは、測定データから計算できるデバイス特性であり、切片bはコントロールゲートパルス電圧の関数である。コントロールゲートパルス電圧の開始値が選択できると、bの値を選ぶことができる。
ソース電極に接続された定電流シンクを使うことによりソース側電流制限を用いる実施例の表を示すために、この処理を特定のデバイス例について記載するが、電流値は各セルをプログラムする状態の関数である。デバイス例は、log(IDS)=m×VT +bというふるまい(behavior)を有し、ここで、傾きmは測定データから0.775と計算され、切片bは、10Vで終わるコントロールゲートプログラミング電圧階段の場合は−0.633となる。コントロールゲートパルス電圧の開始値は制御可能であるので、500mvの状態間分離の場合に表1の値を得るには、0.286というbの値が選択される。
Figure 2009503763
最初の欄はデータ状態であり、2番目の欄は対応するしきい値である。ここでは、しきい値0Vに対応する状態“0”から開始すると仮定している。3番目の欄は、ソース電極(図6の端子Z)に接続された定電流シンクの例示的な値に対応する。その他の欄については以下に記載する。
例示的な実施形態は、目標状態ごとに異なる限界を用いる。一般に、この方法は少数の限界を使用できるので、いくつかの異なる目標状態が、ある限界を共用する場合がある。簡単な例として、状態1〜4がある1つの限界を共用でき、状態5〜7が別の限界を共用できる。この構成は本発明を最大限に活用するものではないが、オーバーヘッドを簡素化する。また、あるレベルを共用する状態を、処理の進行に伴って再グループ化することができる。
考慮中の種々の手法は、いずれも、プログラムされたしきい値電圧を緊密に分布させることを目的とするものであるので、これは、そうでない場合に可能であるよりも緊密となるプログラムされた分布を生じさせるために使用でき、同じ数の状態を小さいしきい値電圧ウィンドウにフィットさせることができ、したがってデバイスを低電力で作動させることができ、プログラム時間を短縮でき、および/または、より多くの状態を同一サイズのしきい値電圧ウィンドウに安全に格納できる。比較のために、比較される任意の2つの手法について状態間のマージンを同一に維持しながら、プログラミング分布が緊密化され得る同程度まで状態間分離を減少させることができる。この目的のため、状態間分離400mVの7つの状態をプログラムするのに必要な定電流シンク値の範囲を表2に示す。
Figure 2009503763
表2の各欄は表1のものと同じであるが、より狭い間隔に対応する値となっている。両表の右側にある付加的な2つの欄は、前に援用されている米国特許出願第09/793,370号(特許文献23)、第10/766,217号(特許文献26)、第10/766,786号(特許文献27)、第10/766,116号(特許文献28)に記載されているものなど、粗い−細かいプログラミング方法で用いられるものである。両方の場合とも、中央の欄が粗いプログラミングフェーズに用いられ、右側の2つの欄のうちの一方が細かいプログラミングフェーズに使用されるが、どちらが選択されるかは、細かいフェーズが、粗いフェーズに対してどのくらい細かくなるように設計されているかに依存する。
表1および2は一般的なセルに基づくものであるが、一般からの変動は例えば増分量200mVを有するコントロールゲート電圧を階段状に吸収し、特定のセルが粗いプログラミングを終了し細かいプログラミングを開始すると、任意の目標状態値を下回るN通りの状態に対応する電流シンキング値に動的に切り換えることによって細かいプログラミングを達成する。細かいプログラミングのオプション1はN=1に対応し、細かいプログラミングのオプション2はN=2に対応する。表1を参照し、セルを状態5にプログラムするためにオプション1を採用すると、粗いプログラミング中、電流シンク値が240nAに設定され、細かいプログラミングフェーズの電流シンク値の場合は117nAに切り換えられる。この低いプログラミング電流は、最初の数個の細かいプログラミングパルスの間、フローティングゲートに注入される電荷のパケットの大きさを減少させる。粗いおよび細かいフェーズのそれぞれに対して様々な値のセットを用いることが可能であるが、値を共有することで細かいフェーズの複雑さが緩和される。例えば、いずれかの表の状態5の粗いプログラミングを再び参照すると、この同じ値がオプション1の状態6の細かいプログラミングとオプション2の状態7の細かいプログラミングで共用されている。
前に参照により援用されている、いずれも2004年1月27日出願の米国特許出願第10/766,217号(特許文献26)、第10/766,786号(特許文献27)、第10/766,116号(特許文献28)にさらに十分に記載されている粗い−細かいへの移行のベリファイに関する種々の論点は本発明の手法に適用可能である。例えば、150mVの「ルックアヘッド」デルタは、粗いベリファイ動作中のセルの読み出しソース(隣接するビット線)へ100mV印加して、細かいプログラミングフェーズの接地された読み出しソースに切り換えることによって実現される。この手法では、開始コントロールゲート電圧は、例えば8Vといった高い値である。定電流シンクがソースビット線に印加する種々のソース電圧が、より低い状態の過剰プログラミングを止める。1段階あたり200mVの例を続けると、それぞれのセルをその最終しきい値電圧目標にプログラムするのには、通常、16個のパルスが必要となる。測定値に基づき、1セクタのブラインドプログラミングの自然分布により、0.923VのVT分散すなわち136mVという1σ値が生じる。8状態2Gビットのセル数は829,030,400個で、これは±6.08σ=12.16σに相当する。したがって、正規分布のセルの母集団を仮定すると、2Gビットのチップ全体にわたるセルVTの自然分布の分散は、12.16×l36mV=1654mVとなる。
増分量200mVの9個の粗いパルスは1.8Vの範囲をカバーする。5個以下の細かいプログラミングパルスの追加セットがジョブを終了させる。最初のパルスに関するオーバーシュートの可能性をほぼ排除するために、コントロールゲートパルスは、平均より6.08σ下に対応する値で開始できる。したがって、一般のセルが1つの9.0Vのパルスによりその目標値VTにプログラムされると、9.0Vから6.08σ戻されて827mVとなる。開始コントロールゲート電圧は8.2Vとなる。非常に珍しい場合では、最終コントロールゲート電圧は8.2+14×0.2=11.0Vとなる。一般的なセクタは6.08σ+3.4σ=9.48σ=9.48×l36mV=1.29Vを要し、これは1回のセクタ書き込みあたりINT(1.29/0.2)+1=8で8つの粗いパルスと付加的な5つの細かいパルスで合計13のパルスに変換する粗いパルスステップに相当する。
本発明の種々の態様は、本願明細書において援用されている種々の参考文献に記載されているようなNORまたは他のアーキテクチャで実施可能であり、ここでプログラミング速度はソース−ドレイン電流レベルに依存する。また、一般に本発明の種々の態様は、フラッシュすなわちEEPROMメモリだけでなく、プログラミング速度が電流量に依存するあらゆるメモリ技術に応用可能である。NORアレイでは、素子601の電流制限器が、ソース端子Zに接続されたビット線BL1に配置され、ビット線バイアス電圧がビット線BL2に供給されるが、他の技術またはアーキテクチャは対応する構造を用い得る。
図7は、いくつかの周辺素子に加えて記憶素子アレイを含むメモリの概略図である。アレイ750は記憶素子を含み、一部は図2または図3に示される形態を取り得る。ワード線WL1−WLMは行デコーダ730に接続され、ビット線BL1−BLNは列デコーダ710に接続されている。両デコーダ710および730はアドレス信号発生器720に接続され、アドレス信号発生器720を介してプログラミングまたは他の処理のために記憶素子が選択される。列デコーダは、所望のビット線を実際に選択するデコーダツリーと、適切なバイアスレベルを設定するためにデコーダツリーを介してそれぞれビット線に接続可能な一連のビット線ドライバD1−DMとを備えているように示されている。本発明の主要な態様によれば、プログラミング動作中、選択されたビット線に接続されたビット線ドライバは、選択された記憶素子をプログラムする目標データ状態に応じてバイアスレベルを設定する。種々の制限器が図7の703−1〜703−Nに概略的に示されている。前述したように、これは、本発明に関する基本素子を示すための概略図である。この回路の多くは、いずれも前に参照により援用されている米国特許出願第10/766,217号(特許文献26)、第10/766,786号(特許文献27)、第10/766,116号(特許文献28)でさらに明らかにされている。そこでは粗い−細かいプログラミング技術を背景に記載しているが、その多くをここに適用できる。
一実施形態において、この技法では、1つ1つのプログラミングパルスの後で7回の状態ベリファイをすべて実行する必要がある。というのは、最初のプログラミングパルスは、状態1にプログラムされるべきセルの最後に要求される粗いプログラミングパルスとなるので、状態7にプログラムされるべきセルの最後に要求される粗いパルスとなりやすいからである。また、最後のプログラミングパルスは、状態7にプログラムされるべきセルの最後の細かいプログラミングパルスとなるので、状態1にプログラムされるべきセルの最後の細かいプログラミングパルスとなりやすい。したがって、前に参照により援用されている米国特許出願第10/314,055号(特許文献24)に示されているようなスマートベリファイ方法は、この技法に直接適用できない。これにより、プログラム−ベリファイ処理のベリファイ部分に比較的長い時間を要するが、その目標状態と無関係に多かれ少なかれ同数のパルスですべての記憶素子を同時プログラムする機能により、シミュレーションによれば、行性能を約25%増加させることが可能である。
そのような低レベルの電流における定電流ソ―スの動作に関する問題の1つは、電流シンクが遮断状態から所望電流レベルに対応するソースの電圧まで動くのに要する時間である。電流シンク値と、電流シンクがソース電圧を遮断状態から所望の電流シンキング値に対応する値へ下げるのに要する時間の間には、逆相関関係がある。かなり一般的な値である容量2pFのビット線は、0.4V下げるのに電流シンキング値1,000nAで0.8μsかかり、電流シンキング値が10nAの場合、整定時間は80μsとなり、これは望まれるよりも長い。
この作用を最小限にするために、電流ベースの手法を、前述した電圧ベースの手法と組み合わせることができる。この別の手法では、プログラミング中に状態依存形のソースバイアス電圧を印加することによって、様々な状態に要求される電流制限を提供する。サンプル素子の測定によれば、ソースへの電圧を100mV増やすごとに、同じプログラミングパルスのメモリセルのしきい値電圧が750mVずつ減少した。したがって、500mVの状態間分離には、連続2状態間のソース電圧差67mVを要する。したがって、プログラミング状態1対プログラミング状態7のソース電圧では、6×67=400mVの差が必要とされる。すなわち、状態1にプログラムされるべきセルは、状態7にプログラムされるべきセルのソースよりも400mV高いプログラミングソース電圧を有することになる。この場合の課題は、同時にプログラムされるセルのソースと関係のある伝導電流負荷状態で正確に機能する安定した正確な電圧源を提供することである。低い状態にプログラムされるセルのソースを駆動するための電圧源は、高い状態にプログラムされるセルのソースを駆動する電圧源と比較して、必要な電流がはるかに少ないという点に留意することが重要である。したがって、種々のソース電源を同じ強さで設計する必要がない。
同時にプログラムされる全セクタのあらゆるセルを状態7にプログラムするという極端な状況を仮定し、状態7にプログラムされるべきセルではセル1個あたりの平均電流が1,000nAであると仮定すると、1,472×8/2=5,888個のこれらすべてをプログラムするための電圧源は、5.9mAの電流に対応するように設計される必要がある。これが実用的でない場合には、一般的なセルの電流を例えば100nAに制限するために、より高いソースバイアスまたはより低いワード線バイアスをこれらのセルに印加することが可能である。これは、状態ごとに高いソースバイアスまたは低い選択ゲート電圧を要する。階段状のコントロールゲート電圧のプログラム/ベリファイの最後に最大可能プログラミングコントロールゲート電圧に達しないことが往々にして生じるのであれば、プログラミング速度の低下を、より高いプログラミングコントロールゲート電圧で補償できる。
本発明の様々な態様を具体的な例示の実施形態について説明してきたが、本発明は添付の特許請求の範囲の全範囲内でその権利が保護されるべきであることが理解されよう。
本発明を採用したメモリアレイの例示的な実施形態である。 図1の実施形態のメモリアレイをさらに詳細に示す。 図1の実施形態のメモリアレイをさらに詳細に示す。 図1の実施形態のメモリアレイをさらに詳細に示す。 図1の実施形態のメモリアレイをさらに詳細に示す。 図1の記憶ユニットおよび電流制限器の詳細を示す。 図1の記憶ユニットおよび電流制限器の詳細を示す。 本発明の一実施形態の動作のフローチャートである。 記憶素子の目標状態に基づいたプログラミング電流限界の使用を示す概略図である。 図6に示された態様を実施するためのメモリアレイおよびその周辺回路のいくつかを示す概略図である。

Claims (14)

  1. 多状態記憶素子を初期状態から複数のデータ状態のうちの1つへプログラムする方法であって、
    複数の状態から目標状態を選択するステップと、
    前記記憶素子をバイアスするステップと、を含み、
    前記記憶素子の第1の端子と第2の端子との間の電流は、前記選択された目標状態に依存する値を超えないように制限される方法。
  2. 請求項1記載の方法において、
    前記記憶素子は、ビット線に沿っておよびワード線に接続される1つ以上の行に沿って、1つ以上の列で接続される多状態記憶素子のアレイを含む不揮発性メモリに属し、
    プログラムするための前記記憶素子を前記アレイから選択するステップをさらに含み、
    前記記憶素子をバイアスするステップは、前記記憶素子が接続されるビット線上の前記電流を、前記選択された目標状態に依存する前記値に制限するステップを含む方法。
  3. 請求項1記載の方法において、
    前記記憶素子をバイアスするステップが、前記選択された目標状態に依存した電圧差を前記第1の端子と第2の端子との間に与えるステップを含む方法。
  4. 請求項3記載の方法において、
    前記記憶素子は、ビット線に沿っておよびワード線に接続される1つ以上の行に沿って、1つ以上の列で接続される多状態記憶素子のアレイを含む不揮発性メモリに属し、
    プログラムするための前記記憶素子を前記アレイから選択するステップをさらに含み、
    前記記憶素子をバイアスするステップは、前記記憶素子が接続されるビット線上の前記電流を、前記選択された目標状態に依存する前記値に制限するステップを含み、前記電圧差は、前記記憶素子が接続される前記ビット線の前記選択された目標状態に依存して電圧レベルを設定することによって決定される方法。
  5. 請求項1記載の方法において、
    前記第1および第2の端子が前記記憶素子のソースおよびドレインであり、前記記憶素子をバイアスするステップは、プログラミング波形を前記記憶素子のコントロールゲートに印加するステップを含む方法。
  6. 請求項5記載の方法において、
    前記プログラミング波形が、一連のパルスである方法。
  7. 請求項1記載の方法において、
    前記記憶素子が、電荷を格納するデバイスである方法。
  8. 請求項7記載の方法において、
    前記記憶素子がフローティングゲートトランジスタであり、前記第1および第2の端子が前記記憶素子のソースおよびドレインである方法。
  9. 不揮発性メモリにおいて、
    ビット線に沿ったおよびワード線に接続された1つ以上の行に沿った1つ以上の列に接続された多状態記憶素子のアレイと、
    選択された記憶素子を前記多状態のうちの目標状態にプログラムするための電圧セットをプログラミング処理中に印加するための、前記ビット線および前記ワード線に接続できるプログラミング回路と、
    前記選択された素子を流れる電流が前記選択された目標状態に依存する値を超えないように前記プログラミング処理中に制限するための、前記ビット線に接続できる電流制限回路と、
    を備える不揮発性メモリ。
  10. 請求項9記載の不揮発性メモリにおいて、
    前記電圧セットが、前記選択された目標状態に依存したソース−ドレイン電圧差を与えることを含む不揮発性メモリ。
  11. 請求項9記載の不揮発性メモリにおいて、
    前記電圧セットが、プログラミング波形を前記記憶素子のコントロールゲートに印加することを含む不揮発性メモリ。
  12. 請求項11記載の不揮発性メモリにおいて、
    前記プログラミング波形が、一連のパルスである不揮発性メモリ。
  13. 請求項9記載の不揮発性メモリにおいて、
    前記記憶素子が、電荷を格納するデバイスである不揮発性メモリ。
  14. 請求項13記載の不揮発性メモリにおいて、
    前記記憶素子が、フローティングゲートトランジスタである不揮発性メモリ。
JP2008525000A 2005-08-02 2006-07-19 不揮発性集積メモリデバイスのセルをプログラムするためのシステムと方法 Pending JP2009503763A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/196,547 US7630237B2 (en) 2003-02-06 2005-08-02 System and method for programming cells in non-volatile integrated memory devices
PCT/US2006/028278 WO2007019010A1 (en) 2005-08-02 2006-07-19 System and method for programming cells in non-volatile integrated memory devices

Publications (1)

Publication Number Publication Date
JP2009503763A true JP2009503763A (ja) 2009-01-29

Family

ID=37124795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525000A Pending JP2009503763A (ja) 2005-08-02 2006-07-19 不揮発性集積メモリデバイスのセルをプログラムするためのシステムと方法

Country Status (7)

Country Link
US (2) US7630237B2 (ja)
EP (1) EP1911032A1 (ja)
JP (1) JP2009503763A (ja)
KR (1) KR20080033460A (ja)
CN (1) CN101233577B (ja)
TW (1) TWI427634B (ja)
WO (1) WO2007019010A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079977A (ja) * 2008-09-25 2010-04-08 Toppan Printing Co Ltd 定電流型電源回路を有する不揮発性半導体メモリ装置
JP2011204342A (ja) * 2010-03-24 2011-10-13 Ememory Technology Inc チャネル熱電子注入プログラミング方法及び関連する装置
JP2012190529A (ja) * 2011-03-11 2012-10-04 Ememory Technology Inc プログラム電流クランプを有する不揮発性メモリ素子及び関連する方法
US8467245B2 (en) 2010-03-24 2013-06-18 Ememory Technology Inc. Non-volatile memory device with program current clamp and related method

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630237B2 (en) * 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US7349264B2 (en) * 2005-12-28 2008-03-25 Sandisk Corporation Alternate sensing techniques for non-volatile memories
US7616481B2 (en) * 2005-12-28 2009-11-10 Sandisk Corporation Memories with alternate sensing techniques
WO2007076451A2 (en) * 2005-12-28 2007-07-05 Sandisk Corporation Body effect sensing method for non-volatile memories
KR100725373B1 (ko) * 2006-01-20 2007-06-07 삼성전자주식회사 플래쉬 메모리 장치
US20090003074A1 (en) * 2006-03-30 2009-01-01 Catalyst Semiconductor, Inc. Scalable Electrically Eraseable And Programmable Memory (EEPROM) Cell Array
US7547944B2 (en) * 2006-03-30 2009-06-16 Catalyst Semiconductor, Inc. Scalable electrically eraseable and programmable memory (EEPROM) cell array
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US8750041B2 (en) 2006-09-05 2014-06-10 Semiconductor Components Industries, Llc Scalable electrically erasable and programmable memory
US8139408B2 (en) * 2006-09-05 2012-03-20 Semiconductor Components Industries, L.L.C. Scalable electrically eraseable and programmable memory
KR100784863B1 (ko) * 2006-11-23 2007-12-14 삼성전자주식회사 향상된 프로그램 성능을 갖는 플래시 메모리 장치 및그것의 프로그램 방법
CN101593557B (zh) * 2009-04-22 2014-07-16 上海华虹宏力半导体制造有限公司 分栅闪存的操作方法
US8767487B2 (en) * 2010-03-02 2014-07-01 Micron Technology, Inc. Drain select gate voltage management
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
US9087601B2 (en) 2012-12-06 2015-07-21 Sandisk Technologies Inc. Select gate bias during program of non-volatile storage
US8885405B2 (en) * 2013-01-31 2014-11-11 Ememory Technology Inc. Flash memory and associated programming method
US9093161B2 (en) * 2013-03-14 2015-07-28 Sillicon Storage Technology, Inc. Dynamic programming of advanced nanometer flash memory
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
US9922719B2 (en) * 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage
US10095412B2 (en) * 2015-11-12 2018-10-09 Sandisk Technologies Llc Memory system and method for improving write performance in a multi-die environment
US10176998B2 (en) * 2017-04-25 2019-01-08 Taiwan Semiconductor Manufacturing Co., Ltd. Semiconductor device
US10748630B2 (en) * 2017-11-29 2020-08-18 Silicon Storage Technology, Inc. High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
US10600484B2 (en) * 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10910061B2 (en) * 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
US10522226B2 (en) * 2018-05-01 2019-12-31 Silicon Storage Technology, Inc. Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network
US10741568B2 (en) 2018-10-16 2020-08-11 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US12075618B2 (en) 2018-10-16 2024-08-27 Silicon Storage Technology, Inc. Input and digital output mechanisms for analog neural memory in a deep learning artificial neural network

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5042009A (en) 1988-12-09 1991-08-20 Waferscale Integration, Inc. Method for programming a floating gate memory device
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JP2891504B2 (ja) * 1990-03-13 1999-05-17 三菱電機株式会社 マルチポートメモリ
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5412601A (en) * 1992-08-31 1995-05-02 Nippon Steel Corporation Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell
US5537350A (en) * 1993-09-10 1996-07-16 Intel Corporation Method and apparatus for sequential programming of the bits in a word of a flash EEPROM memory array
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) * 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
US5487033A (en) * 1994-06-28 1996-01-23 Intel Corporation Structure and method for low current programming of flash EEPROMS
JP3730272B2 (ja) * 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
US5469384A (en) * 1994-09-27 1995-11-21 Cypress Semiconductor Corp. Decoding scheme for reliable multi bit hot electron programming
EP0704854B1 (en) 1994-09-30 1999-12-01 STMicroelectronics S.r.l. Memory device having error detection and correction function, and methods for writing and erasing the memory device
US5576992A (en) 1995-08-30 1996-11-19 Texas Instruments Incorporated Extended-life method for soft-programming floating-gate memory cells
US5969985A (en) * 1996-03-18 1999-10-19 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JPH1055690A (ja) * 1996-08-07 1998-02-24 Nec Corp 電気的書込可能な不揮発性半導体記憶装置
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
JP3930074B2 (ja) 1996-09-30 2007-06-13 株式会社ルネサステクノロジ 半導体集積回路及びデータ処理システム
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
JP3679545B2 (ja) 1997-03-31 2005-08-03 三洋電機株式会社 不揮発性半導体メモリ装置
US5946236A (en) * 1997-03-31 1999-08-31 Sanyo Electric Co., Ltd. Non-volatile semiconductor memory device and method for writing information therein
JP3615349B2 (ja) 1997-03-31 2005-02-02 三洋電機株式会社 不揮発性半導体メモリ装置
US5978276A (en) * 1997-04-11 1999-11-02 Programmable Silicon Solutions Electrically erasable nonvolatile memory
US5867425A (en) * 1997-04-11 1999-02-02 Wong; Ting-Wah Nonvolatile memory capable of using substrate hot electron injection
KR100323554B1 (ko) * 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
KR100327421B1 (ko) * 1997-12-31 2002-07-27 주식회사 하이닉스반도체 비휘발성 메모리 소자의 프로그램 시스템 및 그의 프로그램 방법
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6044019A (en) * 1998-10-23 2000-03-28 Sandisk Corporation Non-volatile memory with improved sensing and method therefor
US6134141A (en) * 1998-12-31 2000-10-17 Sandisk Corporation Dynamic write process for high bandwidth multi-bit-per-cell and analog/multi-level non-volatile memories
US6028790A (en) 1999-01-07 2000-02-22 Macronix International Co., Ltd. Method and device for programming a non-volatile memory cell by controlling source current pulldown rate
US6181599B1 (en) * 1999-04-13 2001-01-30 Sandisk Corporation Method for applying variable row BIAS to reduce program disturb in a flash memory storage array
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6219279B1 (en) * 1999-10-29 2001-04-17 Zilog, Inc. Non-volatile memory program driver and read reference circuits
US6259627B1 (en) * 2000-01-27 2001-07-10 Multi Level Memory Technology Read and write operations using constant row line voltage and variable column line load
US6301161B1 (en) 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
JP4663094B2 (ja) * 2000-10-13 2011-03-30 株式会社半導体エネルギー研究所 半導体装置
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
US6738289B2 (en) 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
DE60235335D1 (de) 2001-03-15 2010-04-01 Halo Inc Doppelbit MONOS Speicherzellgebrauch für breite Programbandbreite
US6522584B1 (en) * 2001-08-02 2003-02-18 Micron Technology, Inc. Programming methods for multi-level flash EEPROMs
EP1450373B1 (en) 2003-02-21 2008-08-27 STMicroelectronics S.r.l. Phase change memory device
US6791367B2 (en) * 2002-03-19 2004-09-14 Broadcom Corporation Hardware and software programmable fuses for memory repair
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7630237B2 (en) * 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6856551B2 (en) 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6853584B2 (en) * 2003-05-02 2005-02-08 Silicon Storage Technology, Inc. Circuit for compensating programming current required, depending upon programming state
US6950348B2 (en) 2003-06-20 2005-09-27 Sandisk Corporation Source controlled operation of non-volatile memories
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079977A (ja) * 2008-09-25 2010-04-08 Toppan Printing Co Ltd 定電流型電源回路を有する不揮発性半導体メモリ装置
JP2011204342A (ja) * 2010-03-24 2011-10-13 Ememory Technology Inc チャネル熱電子注入プログラミング方法及び関連する装置
US8369154B2 (en) 2010-03-24 2013-02-05 Ememory Technology Inc. Channel hot electron injection programming method and related device
US8467245B2 (en) 2010-03-24 2013-06-18 Ememory Technology Inc. Non-volatile memory device with program current clamp and related method
JP2012190529A (ja) * 2011-03-11 2012-10-04 Ememory Technology Inc プログラム電流クランプを有する不揮発性メモリ素子及び関連する方法
JP2014038694A (ja) * 2011-03-11 2014-02-27 Ememory Technology Inc プログラム電流クランプを有する不揮発性メモリ素子及び関連する方法

Also Published As

Publication number Publication date
US20060291285A1 (en) 2006-12-28
KR20080033460A (ko) 2008-04-16
US8014197B2 (en) 2011-09-06
WO2007019010A1 (en) 2007-02-15
EP1911032A1 (en) 2008-04-16
CN101233577A (zh) 2008-07-30
US7630237B2 (en) 2009-12-08
US20100039859A1 (en) 2010-02-18
TW200723282A (en) 2007-06-16
CN101233577B (zh) 2012-06-13
TWI427634B (zh) 2014-02-21

Similar Documents

Publication Publication Date Title
JP2009503763A (ja) 不揮発性集積メモリデバイスのセルをプログラムするためのシステムと方法
US6856551B2 (en) System and method for programming cells in non-volatile integrated memory devices
KR100660544B1 (ko) 신뢰성을 향상시킬 수 있는 플래시 메모리 장치
KR100566848B1 (ko) 불휘발성 반도체 기억 장치
JP4084922B2 (ja) 不揮発性記憶装置の書込み方法
US7426138B1 (en) Parallel programming of multiple-bit-per-cell memory cells by controlling program pulsewidth and programming voltage
US7894263B2 (en) High voltage generation and control in source-side injection programming of non-volatile memory
US7372754B2 (en) Method and apparatus for controlling slope of word line voltage in nonvolatile memory device
KR100888844B1 (ko) 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
JP4154771B2 (ja) 不揮発性半導体記憶装置およびそのデータ書き込み方法
US8238158B2 (en) Programming of memory cells in a nonvolatile memory using an active transition control
US20020154545A1 (en) Non-volatile memory device with plurality of threshold voltage distributions
US20090059670A1 (en) Nonvolatile semiconductor memory device
JP2004519804A (ja) 改善されたプログラミングを備えた不揮発性メモリ及び該プログラミングのための方法
US20060268619A1 (en) Nonvolatile memory using a two-step cell verification process
KR20050007653A (ko) 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
US8467245B2 (en) Non-volatile memory device with program current clamp and related method
JP2006509327A (ja) 電流が制限されるラッチ
US20150023100A1 (en) Dynamic Regulation of Memory Array Source Line
KR20190105501A (ko) 반도체 기억장치, 및 nand형 플래시 메모리의 소거방법
JP3974778B2 (ja) 不揮発性半導体メモリ装置およびそのデータ消去方法
US6724662B2 (en) Method of recovering overerased bits in a memory device
JP3708912B2 (ja) 半導体集積回路装置
US6256702B1 (en) Nonvolatile memory device with extended storage and high reliability through writing the same data into two memory cells
KR100866957B1 (ko) 데이터 프로그램 시간을 단축시킨 불휘발성 메모리 장치 및그 구동방법