JP4646534B2 - 不揮発性メモリの振舞いに基づくプログラミング - Google Patents

不揮発性メモリの振舞いに基づくプログラミング Download PDF

Info

Publication number
JP4646534B2
JP4646534B2 JP2004076471A JP2004076471A JP4646534B2 JP 4646534 B2 JP4646534 B2 JP 4646534B2 JP 2004076471 A JP2004076471 A JP 2004076471A JP 2004076471 A JP2004076471 A JP 2004076471A JP 4646534 B2 JP4646534 B2 JP 4646534B2
Authority
JP
Japan
Prior art keywords
voltage
volatile storage
bit line
programming
threshold voltage
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.)
Expired - Lifetime
Application number
JP2004076471A
Other languages
English (en)
Other versions
JP2005129194A (ja
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 JP2005129194A publication Critical patent/JP2005129194A/ja
Application granted granted Critical
Publication of JP4646534B2 publication Critical patent/JP4646534B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、一般に、メモリデバイスのプログラミング技術に関する。
半導体メモリデバイスが、種々の電子デバイスで使用されるポピュラーな記憶装置となっている。例えば、携帯電話、デジタルカメラ、個人用情報機器、携帯用計算機、非携帯用計算機およびその他のデバイスで不揮発性半導体メモリが利用されている。電気的に消去可能でプログラム可能なリードオンリーメモリ(EEPROM)とフラッシュメモリとが最もポピュラーな不揮発性半導体メモリである。
典型的なEEPROMとフラッシュメモリは、半導体基板のチャネル領域の上方に設けられ、この領域から絶縁されるフローティングゲートを備えたメモリセルを利用する。このチャネル領域は、ソース領域とドレイン領域間のPウェル内に配置される。コントロールゲートがフローティングゲート上に設けられ、フローティングゲートから絶縁される。メモリのしきい値電圧は、フローティングゲート上に保持されている電荷量により制御される。すなわち、メモリセルにスイッチが入る前にコントロールゲートに印加する必要がある最小量の電圧がフローティングゲートの電荷レベルにより確定され、フローティングゲートのソースとドレイン間の導通が可能となる。
EEPROMやフラッシュメモリデバイスのなかには、2つの範囲の電荷の格納に使用するフローティングゲートを備えるものもあるため、2状態間のメモリセルのプログラム/消去を行うことが可能となる。EEPROMやフラッシュメモリデバイスのプログラミング時に、プログラム電圧がコントロールゲートに印加され、ビットラインが接地される。チャネルから出る電子がフローティングゲート内へ注入される。電子がフローティングゲートに累積すると、フローティングゲートは負に帯電し、メモリセルのしきい値電圧が上昇する。
一般に、コントロールゲートに印加されるプログラム電圧は、一連のパルスとして印加される。パルスの振幅は、連続するパルス毎に(例えば、0.2vなどの)所定のステップサイズだけ増分される。パルス間の時間内に検証動作が実行される。すなわち、同時にプログラムされる1グループのセルの個々のセルのプログラミングレベルが各プログラミングパルス間で読み出されて、各セルをプログラムする検証レベル以上か否かの判定が行われる。プログラミングを検証する1つの手段としてある特定の比較ポイントにおける導通を検査する方法がある。十分にプログラムされたことが検証されたセルは、例えば、0からVdd(2.5ボルトなど)へビットライン電圧を上げることによりロックされ、当該セルに対するプログラミング処理が停止される。場合によっては、パルス数(20パルスなど)が制限され、所定のメモリセルが最期のパルスにより完全にプログラムされていない場合、エラーの発生が想定される。実施構成によっては、プログラミングに先行して(ブロック単位であるいは別の単位で)メモリセルの消去が行われる。プログラミングに関するさらに多くの情報については、2003年3月5日出願の“自己昇圧(セルフブースト)方法”という米国特許出願第10/379,608号(特許文献1)および2003年7月29日出願の“プログラムされたメモリに対する検出”という米国特許出願第10/629,068号(特許文献2)に記載されている。上記出願の双方は、その全体が本願明細書で参照により援用されている。
図1は、フラッシュメモリセルのコントロールゲートに印加されるプログラム電圧信号Vpgmを示す。プログラム電圧信号Vpgmには時間と共に振幅が大きくなる一連のパルスが含まれる。プログラムパルスの開始時に、プログラム対象のすべてのセルの(例えば、ドレインと接続している)ビットラインが接地され、それによって、ゲートからチャネルへVpgm−0Vの電圧差が形成される。一旦、セルが目標とする電圧に達する(プログラム検証をパスする)と、それぞれのビットライン電圧がVddまで上昇し、その結果、メモリセルはプログラム禁止モード(当該セルへのプログラム停止)になる。この高速でプログラムされたセルは低速でプログラムされたセルよりも早めに上記状態に達することは明らかである。例えば、図1に示すように、高速セルのビットライン電圧は低速セルのビットライン電圧よりも先にVddに上昇する。
マルチビットすなわち多状態フラッシュメモリセルは、デバイス内の複数の、別個のしきい値電圧の範囲の特定により実現される。個々の別個のしきい値電圧の範囲はデータビットのセットの所定値に対応する。メモリセルの中へプログラムされるデータと上記セルのしきい値電圧レベル間の固有の関係は、セルが採用するデータ符号化方式により決められる。例えば、米国特許第6,222,762号(特許文献3)および2003年6月13日出願の“メモリシステム用追跡セル”という米国特許出願第10/461,244号(特許文献4)などに多状態フラッシュメモリセルに関連する種々のデータ符号化方式についての記載がある。上記出願の双方は、その全体が本願明細書で参照により援用されている。
多状態セルに対して適切なデータの格納を行うために、多状態メモリセルのしきい値電圧レベルの複数の範囲を十分なマージンを設けて互いに分離し、曖昧性のない方法でメモリセルのレベルのプログラムや消去を行うことができるようにすることが望ましい。さらに、タイトなしきい値電圧の分布が推奨される。タイトなしきい値電圧分布を達成するために、短いプログラムステップが一般に用いられてきたが、これにより、セルのしきい値電圧のプログラミングは低速になる。
1組のメモリセルの自然なしきい値電圧分布とは、1以上の同一パルスの受信時に得られるしきい値電圧の分布である。図2に自然なしきい値電圧分布W(自然なVTH)が描かれている。この自然なしきい値電圧分布は、多数のメモリセルの自然な物理的および電気的変動を反映するものである。この変動に影響を与える多くの要因が存在し、そのような要因として、能動層(セル幅)サイズ、チャネル長、トンネル酸化膜厚、トンネル酸化膜の局所的薄化、フローティングゲートの形状、ポリシリコン間ONO厚並びにソースドレインオーバーラップ領域などが挙げられる。物理的にさらに小さく、かつ、さらに多数のこのようなセルを全く同一のものにすることは1つのチャレンジである。デバイスがさらに小型になり、多状態セルで使用されるにつれて、自然なしきい値分布が広がり、よりタイトなしきい値分布に対する要望が大きくなる。自然なしきい値電圧分布が広がるので、さらに多くのプログラムステップを必要とし、必要なタイトなしきい値電圧分布の取得が求められる。より多くのプログラムステップを用いるので、プログラミングを行うためにさらに多く時間が必要となる。消費者の視点から見ると、これはこの記憶デバイスが用いられているデジタルカメラや他のデバイスの作動がさらに低速になることを意味する。したがって、プログラミングスピードの上昇を求める要望が存在する。
米国特許出願第10/379,608号 米国特許出願第10/629,068号 米国特許第6,222,762号 米国特許出願第10/461,244号 米国特許第5,570,315号 米国特許第5,774,397号 米国特許第6,046,935号 米国特許第5,386,422号 米国特許第6,456,528号 米国特許公開第2003/0002348号 米国特許第5,095,344号 米国特許第5,172,338号 米国特許第5,890,192号 米国特許第6,151,248号 米国特許出願第10/254,483号
本発明は、略述すれば、メモリデバイスのプログラミング技術に関係する発明である。当該メモリセルの振舞いに基づいてプログラミング処理の適合化を行うことにより、メモリデバイスのプログラミング処理の改善が図られる。
本発明の一実施形態では、不揮発性記憶素子の振舞いに基づいて、1組の不揮発性記憶素子を類別して、3またはそれ以上のグループに変え、個々のグループについて異なるプログラミング条件を用いて不揮発性記憶素子のプログラミングを行うステップが含まれる。
本発明の別の実施形態には、少なくとも1つの不揮発性記憶素子が目標しきい値に達するまで、最初のプログラミングを不揮発性記憶素子に適用するステップが含まれる。続いて、目標しきい値に達していない不揮発性記憶素子の少なくともサブセットの振舞いに基づいてプログラミングの調整が行われる。
1つの例示の実施構成には、1組の不揮発性記憶素子と、不揮発性記憶素子と通信する1組の制御ラインと、これらの制御ラインと通信する制御回路とが含まれる。上記制御回路は上述のステップを実行させる。
1つの変形例では、振舞いに基づく不揮発性記憶素子を類別するステップには、上記1組の不揮発性記憶素子に対して1以上の非ゼロ電源電圧を印加するステップが含まれる。非ゼロ電源電圧を印加しながら、上記1組の不揮発性記憶素子のしきい値電圧は、不揮発性記憶素子のゲートを制御する1以上の正の電圧を印加し、不揮発性記憶素子のスイッチが入っているか否かを判定するステップによって特徴づけられる。不揮発性記憶素子のスイッチが入っているか否かを判定するステップによって、不揮発性記憶素子が負電圧比較ポイントよりも大きなしきい値電圧を持っているか否かの表示が行われる。
別の変形例では、振舞いに基づく不揮発性記憶素子を類別するステップには、不揮発性記憶素子用ビットラインを帯電するステップと、コントロールゲート信号を印加するステップと、ビットラインの放電を可能にするステップとが含まれる。不揮発性記憶素子の後続するプログラミングには、ビットラインの放電方法に基づいてビットライン電圧のサブセットを調整するステップが含まれる。
以下の説明により本発明の上記目的並びにその他の目的と利点とがさらに明瞭に現れ、この説明により図面と関連して本発明の好ましい実施形態が記載される。
本発明の実現に適したフラッシュメモリシステムの1つの例では、NAND構造が利用され、この構造には2つのセレクトゲート間に複数のトランジスタを直列に配設するステップが含まれる。これら直列のトランジスタとセレクトゲートとはNAND列と呼ばれる。図3は、1つのNAND列を示す平面図である。図4は、NAND列の等価回路である。図3と図4に描かれたNAND列には、直列に4個のトランジスタ100,102,104,106が含まれ、これらのトランジスタは、第1のセレクトゲート120と第2のセレクトゲート122との間に挟まれている。セレクトゲート120は、NAND列をビットライン126と接続する。セレクトゲート122は、NAND列をソースライン128と接続する。セレクトゲート120は、ゲート120CGを制御する適当な電圧の印加により制御される。セレクトゲート122は、ゲート122CGを制御する適当な電圧の印加により制御される。トランジスタ100,102,104,106の各トランジスタには、コントロールゲートとフローティングゲートとが設けられる。トランジスタ100は、コントロールゲート100CGとフローティングゲート100FGとを備えている。トランジスタ102は、コントロールゲート102CGとフローティングゲート102FGとを備えている。トランジスタ104は、コントロールゲート104CGとフローティングゲート104FGとを備えている。トランジスタ106は、コントロールゲート106CGとフローティングゲート106FGとを備えている。コントロールゲート100CGは、ワード線WL3と接続され、コントロールゲート102CGは、ワード線WL2と接続され、コントロールゲート104CGは、ワード線WL1と接続され、コントロールゲート106CGは、ワード線WL0と接続される。
図5は、上述のNAND列の断面図を示す。図5に示されているように、NAND列のトランジスタ(セルまたはメモリセルとも呼ばれる)は、Pウェル領域140に形成される。個々のトランジスタは、コントロールゲート(100CG,102CG,104CG,106CG)と、フローティングゲート(100FG,102FG,104FG,106FG)とから構成されるスタックゲート構造を備える。フローティングゲートは、酸化膜上のPウェルの表面に形成される。コントロールゲートは、フローティングゲートの上方にあり、コントロールゲートとフローティングゲートとを分離するポリシリコン間誘電体層が設けられている。図5が、トランジスタ120と122用としてコントロールゲートとフローティングゲートとを描いているように見えることに留意されたい。しかし、コントロールゲートとフローティングゲートは、トランジスタ120と122用として一体に接続されている。メモリセル(100,102,104,106)のコントロールゲートによりワード線が形成される。N+拡散層130,132,134,136,138は隣接セル間で共有され、この共有によりセルは互いに直列に接続されてNAND列が形成される。これらN+拡散層は、個々のセルのソースとドレインを形成する。例えば、N+拡散層130は、トランジスタ122のドレインおよびトランジスタ106のソースとして機能し、N+拡散層132は、トランジスタ106のドレインおよびトランジスタ104のソースとして機能し、N+拡散領域134は、トランジスタ104のドレインおよびトランジスタ102のソースとして機能し、N+拡散領域136は、トランジスタ102のドレインおよびトランジスタ100のソースとして機能し、N+拡散層138はトランジスタ100のドレインおよびトランジスタ120のソースとして機能する。N+拡散層126はNAND列用のビットラインと接続し、一方、N+拡散層128は複数のNAND列用の共通ソースラインと接続する。
図3〜図5は、NAND列における4個のメモリセルを示す図ではあるが、4個のトランジスタの使用は一例として示すものにすぎないことに留意されたい。NAND列は、4個未満のメモリセルまたは4個以上のメモリセルを備えるものであってもよい。例えば、NAND列のなかには、8個のメモリセル、16個のメモリセル、32個のメモリセルを備えるものもある。本願の解説は、NAND列内の何らかの特定個数のメモリセルに限定されるものではない。
個々のメモリセルは、アナログ形式あるいはデジタル形式で表されるデータを格納することができる。1ビットのデジタルデータを格納する場合、メモリセルのしきい値電圧の可能な範囲は、論理データ“1”と“0”に割り当てられる2つの範囲に分けられる。NAND形フラッシュメモリの1つの例では、メモリセルの消去後、しきい値電圧は負であり、論理“1”と定義される。プログラム処理後のしきい値電圧は正になり、論理“0”と定義される。しきい値電圧が負になり、読出しが試みられると、メモリセルにスイッチが入り、論理1が格納されたことが示される。しきい値電圧が正になり、読出しが試みられると、メモリセルのスイッチが入らず、これによって論理0が格納されたことが示される。メモリセルは複数レベルの情報の格納も可能であるため、例えば、マルチビットのデジタルデータの格納が行われる。複数レベルのデータを格納する場合、可能なしきい値電圧の範囲は、記憶レベルの数に分けられる。例えば、4つのレベルの情報を格納する場合、データ値“11”,“10”,“01”,“00”に割り当てられる4個のしきい値電圧の範囲が生じることになる。NAND形メモリの1つの例では、消去操作後のしきい値電圧は負となり、“11”と定義される。“10”,“01”,“00”の状態に対しては正のしきい値電圧が用いられる。
NAND形フラッシュメモリとそれらの処理に関連する例については、以下の米国特許/特許出願に記載があり、これらのすべてはその全体が本願明細書で参照により援用されている。これらの米国特許/特許出願とは、米国特許第5,570,315号(特許文献5)、米国特許第5,774,397号(特許文献6)、米国特許第6,046,935号(特許文献7)、米国特許第5,386,422号(特許文献8)、米国特許第6,456,528号(特許文献9)および米国特許出願第09/893,277号(公開第2003/0002348号)(特許文献10)である。本発明の場合、別のタイプのフラッシュメモリデバイスの使用も可能である。例えば、以下の特許にはNOR形フラッシュメモリについての記載があり、これらのすべてはその全体が本願明細書で参照により援用されている。これらの特許とは、米国特許第5,095,344号(特許文献11)、米国特許第5,172,338号(特許文献12)、米国特許第5,890,192号(特許文献13)、米国特許第6,151,248号(特許文献14)である。フラッシュメモリのタイプの別の例が、米国特許第6,151,248号に見られ、この特許は、その全体が本願明細書で参照により援用されている。
図6は、本発明の実現に使用可能なフラッシュメモリシステムの1つの実施形態のブロック図である。メモリセルアレイ302は、コラム制御回路304、ロウ制御回路306、cソース制御回路310およびPウェル制御回路308により制御される。コラム制御回路304は、メモリセルアレイ302のビットラインと接続され、メモリセルに格納されたデータの読出しと、プログラム処理中のメモリセルの状態の確定と、プログラミングの促進やプログラミングの禁止のためのビットラインの電位レベルの制御とを行う。ロウ制御回路306は、ワード線と接続され、ワード線のうちの1本の線の選択と、読出し電圧の印加と、プログラム電圧の印加と、消去電圧の印加とを行う。cソース制御回路310は、メモリセルと接続された共通ソースライン(図7に“Cソース”とラベルが付けられている)の制御を行う。Pウェル制御回路308は、Pウェル電圧の制御を行う。
メモリセルに格納されたデータは、コラム制御回路304により読み出され、データ入出力用バッファ312を介して外部I/Oラインへ出力される。メモリセルに格納されたプログラムデータは、外部I/Oラインを介してデータ入出力用バッファ312へ入力され、コラム制御回路304へ転送される。外部I/Oラインは、コントローラ318と接続される。
フラッシュメモリデバイスを制御するコマンドデータがコントローラ318へ入力される。このコマンドデータは、どのような処理が求められているかに関する情報をフラッシュメモリに与える。入力コマンドは状態マシン316へ転送され、この状態マシン316によって、コラム制御回路304、ロウ制御回路306、cソース制御回路310、Pウェル制御回路308およびデータ入出力用バッファ312は制御される。状態マシン316は、READY/BUSY(レディ/ビジー)やPASS/FAIL(パス/フェイル)のようなフラッシュメモリの状態データの出力を行うことができる。
コントローラ318は、パーソナルコンピュータ、デジタルカメラ、個人用情報機器などのホストシステムと接続されるか、あるいは接続が可能である。コントローラ318は、ホストからコマンドを受信するためにホストと通信を行い、ホストからデータを受け取り、ホストへデータを出力し、ホストへ状態情報を出力する。コントローラ318は、ホストからのコマンドを変換して、解釈可能な信号であって、状態マシン316と通信を行うコマンド回路314が実行できるコマンド信号に変える。コントローラ318は、一般に、ユーザデータのメモリアレイへの書き込み、あるいは、メモリアレイからの読出しを行うためのバッファメモリを備える。
1つの例示のメモリシステムは、コントローラ318を備えた1つの集積回路と、メモリアレイと、関連する制御回路と、入出力回路および状態マシン回路とをそれぞれが備えた1以上の集積回路チップとを具備する。システムのメモリアレイと制御回路とを1以上の集積回路チップ上に一体に統合化する傾向が見られる。ホストシステムの一部としてメモリシステムを組み込むようにしてもよいし、ホストシステムの中へ取り外し可能に挿入されるメモリカード(または別のパッケージ)にメモリシステムを設けるようにしてもよい。このような取り外し可能なカードの中に、(例えば、コントローラを含む)メモリシステム全体を設けてもよいし、あるいは、(ホストの中にコントローラを組み込んで)メモリアレイと関連する周辺回路のみを設けるようにしてもよい。このようにして、ホスト内にコントローラを組み込むことができるし、あるいは、取り外し可能なメモリシステム内にコントローラを設けることもできる。
図7を参照すると、メモリセルアレイ302の例示構造が記載されている。1つの例として、1,024個のブロックに分割されるNANDフラッシュEEPROMについて説明する。個々のブロックに格納されたデータは、同時に消去される。一実施形態では、ブロックは同時に消去されるセルの最小単位である。この例では、個々のブロックの中に、8,512個のコラムが存在し、このコラムは偶数番号のコラムと奇数番号のコラムとに分けられる。ビットラインも偶数番号のビットライン(BLe)と奇数番号のビットライン(BLo)とに分けられる。図7は、NAND列を形成する直列接続の4個のメモリセルを示す図である。個々のNAND列の中に4個のセルを含むように示されているが、4個以上または4個未満のメモリセルを用いてもよい。NAND列の一方の端子は、第1の選択トランジスタSGDを介して、対応するビットラインと接続され、他方の端子は第2の選択トランジスタSGSを介してcソースと接続される。
読出し動作とプログラミング動作中に、4,256個のメモリセルが同時に選択される。選択されたメモリセルは、同じワード線および同種類のビットライン(例えば、偶数番号のビットラインや奇数番号のビットラインなど)を有する。したがって、532バイトのデータの同時読出しまたは同時プログラミングを行うことが可能である。同時読出しまたは同時プログラムミングが行われるこれら532バイトのデータにより1論理ページが形成される。したがって、1つのブロックは、少なくとも8論理ページ(奇数番号のページと偶数番号のページをそれぞれが持つ4本のワード線)を格納することができる。個々のメモリセルが、(例えば、マルチレベルセルなどの)2ビットデータを格納する場合、1ブロックには16論理ページが格納される。本発明の場合、別のサイズのブロックとページも使用可能である。さらに、図6と図7のアーキテクチャ以外のアーキテクチャを用いて、本発明を実現することも可能である。
消去電圧(20ボルトなど)までPウェルを上げ、選択されたブロックのワード線の接地によりメモリセルの消去が行われる。ソースラインとビットラインはフロートしている。メモリアレイ全体、個別のブロックあるいは別の単位のセルに対して消去を実行することができる。電子がフローティングゲートからPウェル領域へ転送され、しきい値電圧は負になる。
読出し動作と検証動作時に、トランジスタをパスゲートとして動作させるために、選択ゲート(SGDとSGS)と非選択ワード線(例えば、WL0、WL1、WL3など)とが読出し用パス電圧(例えば、4.5ボルトなど)まで上げられる。選択されたワード線(例えば、WL2など)は電圧と接続され、この電圧レベルは個々の読出し動作と検証動作に対して特定されて、関係するメモリセルのしきい値電圧がこのようなレベルに達したか否かの判定が意図される。例えば、2レベルのメモリセルの読出し動作時に、選択されたワード線WL2の接地により、しきい値電圧が0Vより高いか否かを検出するようにしてもよい。2レベルのメモリセルの検証動作時に、例えば、選択されたワード線WL2は2.4Vと接続され、その結果、しきい値電圧が少なくとも2.4Vに達したか否かの検証が行われる。ソースとPウェルは0ボルトにセットされる。選択されたビットライン(BLe)は、例えば、0.7Vなどの或るレベルまでプリチャージされる。しきい値電圧がワード線での読出しレベルや検証レベルよりも高くなった場合、関係するビットライン(BLe)の電位レベルにより、非導電性メモリセルに起因する高いレベルが維持される。一方、しきい値電圧が読出しレベルや検証レベルよりも低くなった場合、関係するビットライン(BLe)の電位レベルは、導電性メモリセル(M)に起因して、例えば、0.5V未満などの低いレベルまで低下する。これによって、ビットラインと接続されたセンス増幅器によりメモリセルの状態が検出される。
上述した消去、読出し動作および検証動作は、当業で周知の技法に基づいて行われる。したがって、その詳細の多くは当業者により変更が可能である。
図8は、図6のコラム制御回路304の一部を示す概略ブロック図である。コラム制御回路304では、データ記憶回路440が2ビットライン毎に設けられ、偶数番号のビットラインBLeと奇数番号のビットラインBLoとが設けられる。コラム制御回路304には、データ記憶回路440用のセンス増幅器も設けられ、メモリセルへのデータの書込みおよびメモリセルからのデータの読出しが意図される。
図8を参照すると、nチャネルMOS形トランジスタ442は、データ記憶回路440と偶数番号のビットラインBLe間でのコラム選択用として接続される。別のnチャネルMOS形トランジスタ444は、データ記憶回路440と奇数番号のビットラインBLo間でのコラム選択用として接続される。
偶数番号のビットラインBLeまたは奇数番号のビットラインBLoのいずれかを選択して、データの書込み動作またはデータの読出し動作を制御する。さらに詳細には、信号偶数番号BLが論理レベル1にセットされ、かつ、信号奇数番号BLが論理レベル0にセットされている場合、MOS形トランジスタ442は導電性を生じ、偶数番号のビットラインBLeが選択され、次いで、この偶数番号のビットラインBLeはデータ記憶回路440と接続される。一方、信号偶数番号BLが論理レベル0にセットされ、かつ、奇数番号BLが論理レベル1にセットされている場合、トランジスタ444は導電性を生じ、奇数番号のビットラインBLoが選択され、次いで、この奇数番号のビットラインBLoはデータ記憶回路440と接続される。信号偶数番号BLが、偶数番号のビットラインを介して接続されたコラム選択用のnチャネルMOS形トランジスタのすべてに印加されるのに対して、信号奇数番号BLは、奇数番号のビットラインと接続されるコラム選択用のすべてのnチャネルMOS形トランジスタに印加されることに留意されたい。
個々のデータ記憶回路440は、3個の2進データ格納部DS1,DS2,DS3を備えている。格納部DS1は、内部のデータ入力/出力ラインによってデータ入出力312と接続され、書き込むべき外部からの入力データまたは外部へ出力すべき読出しデータを格納する。データ格納部DS2は、書込み動作後にメモリセルのしきい値を確認する書込み検証動作の検出結果を格納する。データ格納部DS3は、メモリセルのデータの書込み時点および/またはメモリセルのデータの読出し時点にメモリセルのデータを一時的に格納する。別の実施形態では、データ格納部は別の機能を持つこともできる。種々の実施形態では、DS1,DS2,DS3は、記憶装置の一部や、1以上のレジスタや、情報の格納が可能な別の任意のデバイスとすることができる。一実施形態では、DS1,DS2,DS3はそれぞれ1ビットである。別の実施形態では、DS1,DS2,DS3の1以上は多数のビットを格納することができる。
図8が偶数番号/奇数番号のビットライン構成を示すことに留意されたい。しかし、本発明は、個々のビットラインがそれ自身のセンス増幅器および/またはデータ記憶装置を備える構成などの多くの異なるビットライン構成の場合にも利用可能である。本発明の実現に適したいくつかの構成では、すべてのビットラインは、奇数と偶数のパスではなく1つのパスでプログラムされる。例えば、2002年9月24日出願の“非常にコンパクトな不揮発性メモリおよびその方法”という米国特許出願第10/254,483号(特許文献15)を参照されたい。この特許は、その全体が本願明細書で参照により援用されている。
図9は、2ビットデータ(例えば、4個のデータ状態など)を格納するメモリセルのしきい値電圧分布を示す図である。一実施形態では、分布460は、消去状態に在るセル(例えば“11”が格納されている)のしきい値電圧の分布を表し、上記しきい値電圧は負のしきい値電圧レベルを示す。分布462は、“10”を格納するセルのしきい値電圧の分布を表す。分布464は、“00”を格納するメモリセルのしきい値電圧の分布を表す。分布466は、“01”を格納するセルのしきい値電圧の分布を表す。別の実施形態では、これら分布の各々は、上述した以外の異なるデータ状態に対応することができる。さらに、本発明は3以上のビットを格納するメモリセルについても機能することができる。
1つの実施構成では、消去状態(分布460)のメモリセルは、プログラム状態(分布462,464または466)のうちのいずれかの状態に合わせてプログラムすることが可能である。別の実施形態では、消去状態のメモリセルは、2ステップ方法論に基づいてプログラムされる。この2ステップ方法論では、データ状態で格納された各ビットは異なる論理ページに対応する。すなわち、メモリセルに格納された個々のビットは、下位の論理ページと上位の論理ページに関係する異なる論理ページアドレスを持つ。例えば、状態“10では、“1”は下位の論理ページ用として格納され、“0”は上位の論理ページ用として格納される。第1のプログラミングステップで、セルのしきい値電圧レベルは、プログラム対象のビットに基づいて下位の論理ページの中へセットされる。当該ビットが論理“1”であれば、しきい値電圧は、以前に消去された結果、適正な状態にあるので変更されない。これに対して、ビットを論理“0”へプログラムしなければならない場合、しきい値電圧分布462内に入るようにセルのしきい値レベルが上げられる。第2のプログラミングステップで、プログラムされたビットに基づいて上位の論理ページの中へセルのしきい値電圧レベルはセットされる。上位の論理ページビットが論理“1”にセットされている場合、セルは、しきい値電圧分布460または462(双方とも上位ページビット“1”を担持する)に対応する状態のうちの一方の状態にあるため、さらなるプログラミングは行われない。上位の論理ページビットを論理“0”にする必要があり、かつ、第1のステップの結果、セルがしきい値460に対応する消去状態のままである場合、プログラミング処理の第2のステップには、しきい値分布466の範囲内に入るようにしきい値電圧を上げるステップが含まれる。上位の論理ページビットを論理“0”にする必要があり、かつ、セルがすでにプログラムされて、第1のプログラミングステップの結果、しきい値分布462に対応する状態になっている場合、プログラミング処理の第2のステップには、しきい値電圧分布464の範囲内に入るようにしきい値電圧を上げるステップが含まれる。2ステップ処理は、多状態メモリのプログラミング方法論の一例にすぎない。1ステップ処理や3以上のステップ処理を含む多くの他の方法論を利用することが可能である。図8は、4状態(2ビット)を示す図であるが、本発明は、8状態、16状態、32状態およびその他の状態を含む構造を含む別の多状態構造についても用いることが可能である。
図10は、1以上のメモリセルの振舞いに基づいてプログラミング処理を適合させるための進行状態を示す一実施形態を記述するフローチャートである。一実施形態では、プログラミング処理の適合に用いられる振舞いは、例えば、メモリセルをプログラムできる速度や、メモリセルのプログラミングの難易度などのプログラム可能性 (programmability)、あるいは、プログラム可能性の別の態様に関係する。さらに、振舞いに係る別の態様の利用も可能である。
ステップ500で、最初のプログラミングが実行される。例えば、上述したようにプログラミングパルスを用いる場合、1つのプログラミングパルスあるいは少数のプログラミングパルスがワード線(例えば、コントロールゲートなど)に印加される。ステップ502で、プログラムされる様々なメモリセルの振舞いが検出される。多くの異なるタイプの振舞いに関するデータについて問い合せを行うことができる。ステップ504で、プログラミング処理は、検出されたメモリセルの振舞いに基づいて調整される。ステップ506で、ステップ504と関連して説明した調整を用いてメモリ処理は終了する。
本発明は、種々のタイプの振舞いに関するデータを用いてプログラミングの調整を行うことが可能である。利用可能な振舞いに関するデータの一例として、メモリセルがそのしきい値電圧(プログラミングのスピード)を調整することができるスピードがある。別の実施形態では、別の振舞いに関するデータの使用が可能である。どのセルプログラムが高速で、どのセルプログラムが低速かが分かっていれば、プログラミング処理中、異なるビットライン電圧を高速セルと低速セルに印加することができる。したがって、一実施形態では、高速および低速のプログラミングセルを用いて、ある程度同様のスピードでのプログラミングが可能となる。これによって自然なしきい値電圧分布を約1/2だけ効果的にカットすることができる。例えば、低速と高速のレベルなどの2より多いグループにメモリセルを分ける場合、しきい値電圧分布をさらに狭くすることが可能である。
1つの例示の実施構成が図11とに関連して描かれている。最初に、1組の1以上のプログラミングパルス550がワード線に印加される。図10は、2つの初期パルスを示すものであるが、1つのパルスまたは3以上のパルスの使用も可能である。この初期パルスの後、メモリセルスピード検出処理が、以下に説明するように、時点552で実行される。どのメモリセルが高速で、どのメモリセルが低速かの判定がシステムにより行われる。低速のメモリセルの場合、ビットライン電圧は0ボルトに保持される。高速プログラミングが行われるメモリセルの場合、ビットライン電圧はVbnとラベルをつけた中間レベルまで上げられる。Vbnの一例は、1.2ボルトである。Vdd(プログラミング禁止電圧)の一例は、2.6ボルトである。プログラミング処理中にビットライン電圧を上げることは、プログラミング処理をスローダウンさせるという効果が生じる。すなわち、コントロールゲートとドレイン間の電圧差が小さくなることに起因して、プログラミング処理がスローダウンする。
条件に応じてビットラインを調整した後、0.2v分だけVpgmをステップアップする代わりに、直後に続くプログラミングパルス用としてより高いステップが用いられる。より高いステップの電圧の一例として、1.4ボルトがある。別の実施形態では、ステップアップ電圧は、2つに分けられた自然なしきい値分布の幅に等しくされる。図11は、パルス554を示す。第1のパルス554は、例えば1.4ボルトなどのさらに大きなステップアップ電圧分だけパルス550内の最期のパルスから上げられる。後続するパルスは、0.2vだけあるいは別の好適な量だけステップアップされる。パルス550と554間の時点552後、後続するプログラミングパルス554中、高速セル用ビットラインが0ボルトからVbnへ上げられることに留意されたい。Vbnがビットラインに印加されるため、プログラミング中のチャネル電圧がほぼVbnとなり、そのため、このチャネル電圧はプログラム処理をスローダウンさせて、Vpgmの大きなジャンプが補償され、それによって、0ボルトがビットラインに印加され、Vpgmステップが0.2vとなる標準的方法の場合とほぼ同じ時点に高速グループのメモリセルのプログラミングの終了が可能となる。これに対して、Vpgmのジャンプに起因して、低速メモリセルは標準的方法よりも高速にプログラムを行い、高速グループとほぼ同時点に終了することになる。したがって、図11は、プログラム処理を終了し、ビットライン電圧をVddまで上げることにより描かれているのと比較的同じ時点にプログラム処理を禁止するように為す高速セルと低速セルの両方とを示すものである。さらに大きなプログラムパルスの使用に起因して、より低速のメモリセルのプログラミングにより少数のパルスが必要となる。プログラミングパルスを使用するため、より高速な全体のプログラムスピードが達成される。
図11を図10と相関づけてみると、ステップ500の最初のプログラミングが、図11のパルス550により描かれている。ステップ502の振舞いの検出は、図11の時間552中に実行される。プログラミングの調整が、0ボルトからVbnへの高速セルのビットライン電圧を上げることにより図11に描かれている。ステップ506のプログラミングの終了は、図11のパルス554により描かれている。
図11Aは、プログラミング処理の第2の例を示す図である。この第2の例において、初期プログラムパルス560は図11の場合よりも高い振幅電圧を持つ。別の実施形態では、さらに大きなまたは小さな初期パルスを用いることができる。重要な点は、低速セルと高速セルとの区別や別の振舞いの区別を行うことができる十分なプログラミングを行うことである。
図12〜図24は、振舞いを検出し、その検出された振舞いに基づいてプログラミングの調整が行われる種々の実施形態のさらなる詳細を示す図である。例えば、図12と図13とは、メモリセルが高速グループ内に在るか、低速グループ内に在るかの検出を行う実施形態のさらなる詳細を示す図である。図12は、消去後の電圧分布600と、第1の組の1以上のプログラミングパルス後の電圧分布602とを描く図である。この分布は半分に分けることが可能である。例えば、電圧V_ckによりこの分布は半分に分けられる。いくつかの実施形態において、この分割ポイントは必ずしも正確に1/2のポイントである必要はない。分布602の範囲内に在り、V_ck未満のしきい値電圧を持つメモリセルは低速メモリセルと見なされる。分布602の範囲内に在り、V_ck以上のしきい値電圧を持つメモリセルは高速メモリセルと見なされる。高速メモリセルであると判定されたメモリセルは、上述したようにそのビットライン電圧が上げられる。
V_ckは、装置特性、シミュレーションあるいは実験により確定することが可能である。V_ckを確定する別の手段を利用することも可能である。装置特性を用いて使用パルス550の数を決定して、より高速のプログラミングセルがV_ckよりも大きなしきい値電圧を持つように、また、より低速のプログラミングセルがV_ckよりも低いしきい値電圧を持つように図ることも可能である。一実施形態では、V_ckを横切ることにより最も高速のプログラミングセルの検出が可能であり、良好な振舞いを示す分布を仮定して、より高速のプログラミングセルがV_ckよりも大きなしきい値電圧を持つようにするために、また、より低速のプログラミングセルがV_ck未満のしきい値電圧を持つようにするために、いくつの追加パルスを必要とするかについての予測を行うことが可能である。当業者には周知の他の手段を用いて、印加対象のパルス550の数を決定することも可能である。
図13は、メモリセルが高速か低速かを検出し、適宜ビットラインの調整を行うプロセスを示す一実施形態を記述するフローチャートである。ステップ630で、コントロールゲートにおいてV_ckを印加することによりメモリセルが読み出される。メモリセルにスイッチが入っていれば(ステップ632)、メモリセルのしきい値電圧はV_ck未満となり、メモリセルは低速セルとなる。その場合、ステップ634で、振舞いに起因してビットライン電圧の調整が行われることはない。ステップ630でメモリセルにスイッチが入っていなかった場合、当該セルのしきい値電圧はV_ck以上になり、当該メモリセルは高速セルとなる。高速メモリセルの場合、ステップ636でVbnになるようにビットラインの調整が行われる。
図12と図13の実施形態により、メモリセルが高速セルか低速セルかの判別が行われ、それによってメモリセルが2つのグループのうちの一方に類別されることに留意されたい。当該グループのうちの一方は高速メモリセルであり、他方のグループは低速メモリセルである。別の実施形態では、3以上のグループにメモリセルを類別することができる。例えば、図14は、消去後のメモリセルのしきい値電圧分布600を描く図である。また、図14は、1以上の初期プログラムパルス発生後の自然なしきい値分布670を示す図でもある。しきい値分布670は、i個のグループに分けられる。例えば、第1のグループにはV_ck_0未満のしきい値電圧を持つメモリセルが含まれ、第2のグループにはV_ck_0より大きくかつV_ck_1未満のしきい値電圧を持つメモリセルが含まれる。図15は、振舞いを検出するプロセスについて記述するフローチャートであり、このプロセスには、ある特定のメモリセルがどのグループに属するかを特徴づけるステップと、上記特定グループに応じてビットラインの調整を行うステップとが含まれる。ステップ680で、上記メモリセルは、個々のチェックポイント(例えば、V_ck_0,V_ck_1,…V_ck_iなど)で読み出される。セルにスイッチが入った時点、および、セルにスイッチが入らなかった時点に基づいて、ある特定のメモリセルがどのグループに属するかに関する決定がステップ682で行われる。電圧検知検証方式の代わりに、上記プロセスは電流検知方式や、別のメモリセルの状態の読出し/検証手段を用いることも可能であることに留意されたい。ステップ684で、上記メモリセルが類別されてどのグループに入るかに基づいて上記特定のメモリセルのビットラインが調整される。すなわち、一実施形態では、個々のグループは異なるビットライン電圧の調整に対応することになる。例えば、第1のグループが第1のビットライン電圧を持ち、第2のグループが第2のビットライン電圧を持つことになる、など。メモリセルがどのグループに属するかが決定された後、当該メモリセルはそのビットライン電圧が当該グループ用のビットライン電圧に等しくなるように為される。一実施形態では、最下位のグループ(V_ck_0未満のしきい値電圧)がビットライン電圧0を持つことになり、第2のグループ(V_ck_0よりも大きく、かつ、V_ck_1未満のしきい値電圧)がW/iのビットライン電圧を持ち、第3のグループが2W/iのビットライン電圧を持ち、第4のグループが3W/iのビットライン電圧を持つことになるなど。Wは自然なしきい値電圧分布の幅である。
分布が細分化されればされるほど、グループ数はより多くなり、最終しきい値電圧分布はよりタイトになる。これに対して、より多くのグループ数を使用すればするほど、読出し動作にさらに長い時間が必要となる。さらに、システムは関連するスピード情報とグループ情報との格納にさらに多くのバッファを必要とすることになる。
いくつかの実施形態では、第1の1以上の初期パルスの発生後、自然なしきい値電圧分布の多くが0ボルト未満になることもあり得ることである。すなわち、メモリセルの多くが0ボルト未満のしきい値電圧を持つことになる。このような状況では、チェックポイントが0ボルト未満になる場合があるため、どのしきい値電圧が低速で、どのしきい値電圧が高速であるかの判別を行うことが困難となる場合がある。すなわち、V_ckが0未満の場合、メモリセルのコントロールゲートへ負電圧を印加して、どのメモリセルがV_ck未満か、V_ck以上かの判別を行うことが困難となる場合がある。例えば、図16は、消去操作後のしきい値電圧分布600と、最初のプログラミング後のしきい値電圧分布700とを示す図である。分布700の多くが0未満であり、V_ckが0未満であることに留意されたい。
振舞いの検出とプログラミングの調整とを行うことを意図する別の実施形態では、本体効果を利用する0未満のしきい値電圧と関連する問題が解決される。トランジスタのソースとトランジスタの本体(基板)との間にバイアスが生じるため、本体効果には正方向のしきい値電圧のシフトが含まれる。したがって、ソースへの電圧の印加により、しきい値電圧を上げることが可能となる。ソースへの電圧が高ければ高いほど、しきい値電圧の見かけのシフトはより大きくなる。したがって、ソースへの電圧の印加により負のしきい値電圧の検出を行い、0以上のレベルまで有効しきい値電圧を効果的に上げ、次いで、ワード線に正の電圧の印加を行うことが可能となる。例えば、図17には、NAND列が、16本のワード線(WL0…WL15)の各々と接続された16個のメモリセルを持つことが示されている。プログラムされたワード線WLnは0.5ボルトの電圧を受け取ることになるが、これに対してその他のワード線は5ボルトを受け取ることになる。通常0ボルトであるソースラインはVdd(例えば、2.6ボルトなど)に等しい電圧を受け取る。別のソースライン電圧の使用も可能である。着想としては、ソースラインでの電圧の印加によりメモリセルの見かけのしきい値電圧が上げられ、0.5ボルトでの検査を行って、メモリセルがV_ck未満か以上か(低速か高速かなど)の判別を行うようにするというものである。すなわち、図16のV_ckのしきい値電圧を持つメモリセルは、ソースで印加された電圧の結果、その有効しきい値電圧を0.5ボルトまで上げられることになる。0.5ボルト以上のレベルまで上げられたメモリセルは高速セルとみなされ、0.5ボルト未満のその他のメモリセルは低速とみなされる。
図18は、振舞いを決定するための本体効果を利用するプロセスの一実施形態を記述するフローチャートを描く図である。ステップ740で、電圧がソースに印加され、例えば、Vddが上述したように印加される。いくつかの実施形態では、メモリセルのすべては、同一または同様の電源電圧を受け取ることも可能である。別の実施形態では、電源電圧が変動する場合もある。ステップ742で、ワード線における検査電圧の印加により関心対象の特定セルが読み出される。図17は、印加された0.5ボルトを示す。セルにスイッチが入っていれば、メモリセルは低速セルとみなされ、ステップ746でビットラインの調整は行われない。セルにスイッチが入っていなければ(ステップ744)、メモリセルは高速セルとみなされ、ステップ748でビットラインはVbnに調整される。図14と図15とに関連して記載した技術を用いて、図18のプロセスを適合して複数のグループにメモリセルの類別を行うことが可能であることに留意されたい。プログラムされたメモリセルを読み出すための0.5ボルトのワード線電圧が装置特性に基づいて選ばれ、上記電圧はチャネルドーピングの関数となる場合もあることに留意されたい。別の値を用いることも可能である。
本願に開示された別の実施形態と関連して振舞いの決定に本体効果を利用するという上記コンセプトを適用することが可能である。例えば、複数グループにメモリセルを類別する実施形態では、振舞いの検出を決定するために本体効果を利用して類別の根拠にすることが可能である。
図19と図20とに関連して振舞いを検出し、プログラミングを調整する別の実施形態が示されている。図19と図20の実施形態は、独立に個々のセルの分析を企図して、カスタマイズされたビットライン電圧を個々のセルに対して出力するものである。1以上の初期プログラムパルスの発生後、その分布は図12に示すようなものとなる。ワード線にV_ckを印加することにより検知を行うことが可能となる。しかし、低速ビットと高速ビットを表す2進の“1”または“0”を返す代わりに、プロセスは所定の検知時点におけるアナログ値を返す。この時、個々のビットはメモリセルのしきい値電圧に応じて異なるビット電圧を持つ可能性がある。例えば、より強く消去されたメモリセルはプリチャージされたビットライン電圧をより高速に放電して、さらに小さなビットライン電圧を持つことになるのに対して、さらに強くプログラムされたメモリセルは、放電を行わなくなるか、放電が少なくなる。この放電されたビットライン電圧レベルの検知により、メモリセルがプログラムされる高速または低速の度合が直接測定される。読出し動作中に検知されたビットライン電圧に基づいて、後続のプログラムステップ中にビットラインに印加される新たな電圧を決定することが可能となる。
例えば、図19は、初期プログラムパルスの組の発生後の検証/読出し動作中のビットライン電圧Vbl対時間をグラフ化したものである。この検証/読出し処理には、ビットラインのプリチャージするステップと、ワード線へのV_ckを印加するステップとが含まれる。次いで、このビットラインにより或る時刻t0 の間放電が可能となる。時刻t0 において、ビットラインの電圧が読み出され、この電圧を用いて、次のプログラムステップ中にビットラインへ印加される電圧が決定される。図19は、6つの異なるスピードで6つの異なるセルプログラミングを表す6本の曲線を示し、曲線760は最も低速のプログラミングセルを表し、曲線762は最も高速のプログラミングセルを表す。
図20は、スピードを検出し、ビットラインで検知されたアナログ電圧を用いて適宜ビットラインの調整を行うプロセスを記述するフローチャートである。図20のプロセスは、図11の時点552で実行される。ステップ780で、ビットラインはプリチャージされる。ステップ782で、電圧はセルのワード線に印加される。例えば、ワード線にV_ckを印加することができる。ステップ784で、ビットラインは所定量の時間(例えばt0 まで)放電が可能となる。ステップ786で、ビットラインが読み出され、アナログ電圧値が検出される。ステップ788で、ステップ786で読み出されたビットライン電圧に基づいて、Vbn(プログラム中にビットラインに印加された信号)が決定される。一実施形態では、Vbnは、ステップ786で読み出されたビットライン電圧に等しくなる。別の実施形態では、Vbnはステップ786で読み出された電圧の関数となる。デバイスを特性化したり、デバイスをシミュレートしたりすることにより定式化される数式に基づいてVbnを計算することができる。ステップ790で、Vbnの所定値に基づいてビットラインの調整が行われる。
ビットラインでの放電のベースとするメモリセルを特徴づけるというこのコンセプトは、本願に開示される他の実施形態と共に適用が可能である。例えば、複数グループにメモリセルが類別される実施形態では、ビットラインの放電を行うという上述のコンセプトに基づいて類別を行うことができる。
振舞いを検出し、図21〜図24とに関連してプログラミングの調整を行う別の実施形態を示す。図21〜図24の実施形態では、第1のメモリセル(または別の小さな組のメモリセル)が目標しきい値電圧の範囲に達するまで、通常のようにメモリセルのプログラミングが行われる。その時点で、目標しきい値電圧の範囲に達していない他のメモリセルのすべてが特徴づけられて、高速プログラミングセルか低速プログラミングセルかのいずれかに分けられる。高速プログラミングセルとみなされるセルはそのビットライン電圧が上げられる。低速プログラミングセルとみなされるセルはそのビットライン電圧が上げられることはない。この実施形態では、すべてのセルは、上昇した同一のプログラム電圧信号をワード線上に生じることになり、その結果、低速セルのプログラミングがスピードアップされる。
図21は、同時の振舞いを説明するために1つの図に合成された3つのグラフが描かれた図である。例えば、図21はプログラム電圧信号Vpgm800を示し、このプログラム電圧信号Vpgm800はメモリセルのコントロールゲートに印加される。このプログラム電圧信号800には、時間と共に振幅が増加する一連のパルスが含まれる。信号800は2組のパルス(Vpgm1とVpgm2)に分けられる。Vpgm1の組のパルス内で、振幅は前回のパルスから0.2Vだけ増分する。Vpgm1での最期のパルスの振幅とVpgm2での初期パルスの振幅間の振幅差は0.6Vである。Vpgm2の組のパルス内で、パルスの振幅は、0.2Vだけ前回のパルスとは異なるものとなる。フラッシュメモリセルのすべては、セルのうちの1つが目標しきい値の範囲に達するまでVpgm1からパルスを受け取り続ける。その時点で、コントロールゲートにおける電圧は0.6ボルト分ステップアップされ、Vpgm2の場合のようにパルスの発生が続くことになる。
プログラム電圧信号800の下は、ビットライン電圧Vbl対時間を描くグラフである。ビットライン電圧Vbl対時間グラフの下は、しきい値電圧対時間を示すグラフである。このしきい値電圧対時間のグラフには3本の曲線(802,804,806)が描かれている。これら3本の曲線は、3つのメモリセルに対応する様々な時点におけるしきい値電圧のデータに関係する。曲線802と対応するメモリセルはより高速なプログラミングメモリセルとなる。曲線806に対応するメモリセルはより低速なプログラミングメモリセルである。曲線804に対応するメモリセルは、曲線802のメモリセルよりも低速にプログラミングを行い、曲線806のメモリセルよりも高速にプログラミングを行うメモリセルである。曲線802が空の正方形を用いて描かれ、曲線804が塗りつぶされ円を用いて描かれ、曲線806が塗りつぶされた正方形を用いて描かれていることに留意されたい。曲線802,804,806は、3個のメモリセルのしきい値電圧がプログラム電圧信号800に応じて時間と共に変動することを示すものである。プログラム電圧信号800から得られる個々の新たなパルスと共に3個のメモリセルのしきい値電圧は上昇する。
Vpgm1の間、“第2ステップ検証レベル”としてグラフに示されている目標電圧と個々のメモリセルのしきい値電圧との比較が行われる。第1のメモリセルが第2ステップ検証レベルに達すると、Vpgm1は終了する。例えば、図21は、時刻t1 の直前にその目標とする第2ステップ検証レベルに達する曲線802に対応するメモリセルを示す図である。したがって、時刻t1 においてプログラム電圧信号は0,6Vだけステップアップされる。さらに、第2ステップ検証レベルに達していないメモリセルの各々は、それらが高速プログラミングメモリセルか、より低速なプログラミングメモリセルかを判別するために検査される。一実施形態では、このメモリセルは、V_ckに対して図12のメモリセルを検査する場合と同様の方法で検査される。1つの実施構成では、検査対象の当該メモリセルのしきい値電圧は、“第1ステップ検証レベル”として図21に描かれているレベルと比較される。このレベルは、一実施形態では、第2ステップ検証レベル未満の0.6Vである。第1ステップ検証レベル未満のしきい値電圧を持つ各メモリセルはより低速なプログラミングメモリセルとみなされる。第1ステップ検証レベル以上のしきい値電圧を持つ個々のメモリセルはより高速なプログラミングメモリセルとみなされる。上述したのとは別に、装置特性、その他の実験および/またはシミュレーションに基づいて異なる第1ステップ検証レベルの決定を行うことが可能である。
時刻t1 で、目標しきい値電圧の範囲(例えば、第2ステップ検証レベルに対して検証された範囲など)に達したメモリセル(あるいは、複数セル)のビットライン電圧はVddまで上げられる。これらは、ビットライン電圧Vbl対時間を示すグラフに見ることができる。このグラフには(曲線802に対応する)空の正方形を持つ曲線がVddまで上げられたビットライン電圧が示されている。目標しきい値電圧に達しなかったセルであり、検査されてより高速なプログラミングメモリセルとされたセルのうちで、当該セルのビットライン電圧が中間電圧(例えば、Vbnなど)まで上げられる。例えば、ビットライン電圧Vb1対時間を示すグラフは、曲線804(塗りつぶされた円を持つ)に対応するメモリセルのビットライン電圧が0.6ボルトまで上げられたことを示す。検査の結果、より低速なプログラミングメモリセルとされたメモリセルのビットライン電圧は、曲線806に対応する正方形のボックスの曲線により描かれているように0ボルト(あるいは別の値)のままである。次いで、プログラミングがVpgm2で継続される。いずれのメモリセルも第2ステップ検証レベルに達すると、そのビットラインはVddまで上げられる。
図22は、下位の論理ページデータのメモリセルへの書き込み時におけるフラッシュメモリシステムの一実施形態の制御アルゴリズムについて記述するフローチャートである。図9と関連する上述した2ステッププログラミング方法論に対して図22の固有の方法が適合される。この場合、メモリセルは、2つの論理ページ(下位ページと上位ページ)に関連するデータを格納し、分布460は11状態を表し、分布462は10状態を表し、分布464は00状態を表し、分布466は01状態を表す。さらに多くのビット、さらに多くのページ、異なる状態割当てなどを伴う他の実施形態も本発明の範囲内である。しきい値状態の割当てとプログラム方法論に対する別の変形例を適合するために、図22のプロセスに対する様々な改変を行うことが可能である。さらに、2ステッププログラミング方法論が用いられないシステムで図21のコンセプトを実現することも可能である。
ステップ850で、制御処理は、ホストからのデータ入力コマンドを受信するステップと、状態マシンで当該データ入力コマンドを送信するステップとから開始する。ステップ852で、処理は、ホストからアドレスデータを受信するステップと、書込み動作に使用するページを選択するために状態マシンで当該アドレスデータを送信するステップへ進む。ステップ854で、処理は、適切なページへ書き込みを行う対象データを受け取り、DS1の中に当該データを格納するステップへ進む。ステップ856で、処理は、ホストから送出される書込みコマンドを受信し、状態マシンで書込みコマンドを送信するステップへ進む。一実施形態では、状態マシンで書込みコマンドを送信するとき、後続するステップの処理は状態マシンにより自動的に開始される。ステップ858で、DS1からのデータはDS2へコピーされる。ステップ860で、プログラム電圧Vpgmの初期値がセットされる(例えば、12ボルトなど。但し、別の値も可能である)。さらに、プログラムカウンタ(PC)は0にセットされ、P2レジスタも0で初期化される。一実施形態では、P2レジスタは状態マシンの中にある。別の実施形態では、システムのコラム制御回路またはその他の構成要素の中にP2レジスタを配置することも可能である。
ステップ862で、DS1が0に等しく、かつ、DS2が0に等しいかどうかが判定される。等しければ、セルのビットラインは0ボルトにセットされる。DS1が0にセットされ、かつ、DS2が1にセットされていれば、ビットラインは0.6ボルトにセットされる。DS1が1にセットされていれば、セルのプログラミングを禁止するために、ビットラインはVddにセットされる。ステップ864で、プログラムステップが実行される。すなわち、プログラム電圧信号800から1つのパルスが印加される。ステップ868で、第2ステップ検証動作が状態10に対して実行される。すなわち、上記プログラムされたセルは、第2ステップ検証レベルに対して検証されるが、この第2ステップ検証レベルはほとんどの実施形態で目標検証チェック値である。メモリセルが第2ステップ検証をパスすれば、DS1は1にセットされる。DS1がすでに1であれば、DS1は1のままであることに留意されたい。ステップ870で、P2レジスタが0にセットされているかどうかが判定される。P2レジスタが0にセットされている場合、ステップ872で、DS1が1にセットされ、かつ、DS2が0にセットされているかどうかの判定が行われる。これは、メモリセルが第2ステップのプログラム検証をパスした場合である。そうであるならば、P2レジスタは1にセットされ、そうでなければ、レジスタP2は変更されない。ステップ874で、P2がまだ0のままかどうかの判定が行われる。0のままであれば(これはメモリセルが第2ステップ検証にまだ達していない場合である)、ステップ876で、プログラム電圧信号が0.2ボルトだけ上げられる。ステップ878で、プログラムカウンタは1だけ増分される。ステップ880で、プログラム対象のすべてのメモリセル用のDS1レジスタが1にセットされているかどうかが判定される。1にセットされていれば、それはセルのすべてが適切にプログラムされ、プログラミング処理が完全であり、プログラミング処理が成功したことを意味する。すべてのDS1レジスタが1にセットされていなければ、プログラムカウンタが20未満であるかどうかがステップ882で決定される。20未満の場合、処理はステップ862で続けられる。プログラムカウンタが20以上ならば、プログラミング処理は失敗する。
第1のメモリセルが第2ステップ検証をパスしたとき、当該メモリセルはそのDS1レジスタを1にセットすることになる。したがって、ステップ872で、P2レジスタが1にセットされ、それによって(ステップ874で)図22のプロセスにステップ894を実行させることになる。ステップ894で、状態10に対する第1ステッププログラム検証が実行される。メモリセルがパスすれば、DS2は1にセットされる。ステップ894は、メモリセルが高速プログラミングセルであるか、低速プログラミングセルであるかを判別するための検査である。すなわち、メモリのしきい値電圧セルが第1ステップ検証レベルより大きければ、メモリセルは高速プログラミングメモリセルである。DS2がすでに1であれば、DS2は1のままである。第1ステッププログラム検証がパスしなかった場合、DS2は変更されない。ステップ894に後続して、プログラム電圧は、ステップ896で0.6ボルトだけ上げられる。これは、図21の時刻t1 におけるステップサイズの増分に対応し、その結果、プログラム電圧信号はVpgm1からVpgm2へ移行する。ステップ878で、プログラムカウンタは1だけ増分される。ステップ880で、メモリセルのDS1レジスタのすべてが1にセットされることで証明されるように、メモリセルのすべてが適切にプログラムされたかどうかが判定される。適切にプログラムされていれば、プロセスは終了する。適切にプログラムされていなければ、プログラムカウンタが20未満であるかどうかの判定が行われる。プログラムカウンタが20以上であれば、プロセスは失敗する。プログラムカウンタが20未満であれば、ステップ862が実行される。メモリセルが第1ステッププログラムをパスした場合、そのDS2レジスタは1にセットされ、メモリセルがより高速なプログラミングセルであるため、そのビットラインは0.6ボルトまで上げられる。セルがステップ894の第1ステッププログラム検証プロセスをパスしなかった場合、そのDS1レジスタとDS2レジスタとは双方ともそのまま0にセットされ、そのビットラインは適切な実施構成に基づいて0ボルトまたは他の何らかの低い値にセットされたままとなる。
図22のプロセスは、状態11から状態10へメモリセルのプログラミングを行うためのものである。図23のプロセスは、状態11から状態01への、または、状態10から状態00へのいずれかからメモリセルのプログラミングを行うためのものである。すなわち、図22は、上位ページデータがメモリセルへ書き込まれる一実施形態の制御アルゴリズムについて記述するフローチャートである。
ステップ920で、制御処理は、ホストからのデータ入力コマンドを受信するステップと、状態マシンで当該データ入力コマンドを送信するステップとから開始する。ステップ922で、処理は、ホストからアドレスデータを受信するステップと、状態マシンで当該アドレスデータを送信するステップへ進む。ステップ924で、書き込み対象データが受信され、DS1に格納される。ステップ926で、書込みコマンドがホストから受信され、状態マシンで送信され、この状態マシンにより(いくつかの実施形態では)後続するプロセスの開始が自動的にトリガーされる。ステップ928で、プログラムデータはDS1からDS2へコピーされる。ステップ930で、状態10の読出し動作が実行される。すなわち、状態11と10との間に在る読出し比較ポイントを用いて読出し動作が実行され、メモリセルが状態11にあるか、状態10にあるかが判定される。メモリセルが状態10にあると判定された場合、当該メモリセル用DS3レジスタは1にセットされ、そうでない場合にはDS3レジスタは0にセットされる。ステップ932で、電圧プログラム信号Vpgmは初期値13ボルトにセットされる。しかし、別の初期値電圧を使用することも可能である。さらに、プログラムカウンタは初期値0にセットされ、P2レジスタは初期値0にセットされる。
ステップ940で、DS1レジスタとDS2レジスタが双方とも0にセットされているかどうかの判定が行われる。双方とも0にセットされていれば、ビットラインもまた0にセットされる。DS1レジスタが0にセットされ、かつ、DS2レジスタが1にセットされていれば、ビットラインは0.6ボルトにセットされる。DS1レジスタが1に等しければ、ビットラインはVddにセットされ、このVddによりメモリセルのプログラミングは禁止される。ステップ942で、プログラムステップが実行される。すなわち、1パルスがメモリセルのコントロールゲートへ出力される。ステップ944で、状態00に対する第2ステップ検証が実行される。すなわち、メモリセルのしきい値電圧は、状態00の目標検証ポイントと比較される。この検証プロセスにパスし、DS3レジスタが1にセットされれば、DS1レジスタは1にセットされる。ステップ946で、状態01のプログラム検証が実行され、メモリセルが状態01に達しているかどうかの判定が行われる。検証プロセスがパスし、DS3が0にセットされていれば、DS1レジスタは1にセットされる。ステップ948で、P2レジスタが0にセットされているかどうかが判定される。0にセットされていれば、ステップ950で処理は続けられる。ステップ950で、DS1レジスタが1にセットされ、DS2レジスタが0にセットされているかどうかが判定される。0にセットされていれば、P2レジスタは1にセットされる。ステップ952で、P2レジスタが0にセットされているかどうかの判定が行われる。0にセットされていれば、ステップ954で処理は続けられ、その場合、プログラム電圧信号は0.2ボルトだけ増分される(次のステップ)。ステップ956で、プログラムカウンタは1だけ増分される。ステップ958で、プログラムされたメモリセルのすべてのDS1レジスタが、1にセットされているかどうかの判定が行われる。1にセットされていれば、プログラム処理は終了し、成功する(状態はパスに等しい)。1にセットされていなければ、ステップ960で、プログラムカウンタが20に達したかどうかが判定される。プログラムカウンタが20に達していれば、プロセスは失敗する。プログラムカウンタが20に達していなければ、ステップ940で処理は継続される。
以上説明したように、第1のセルがその目標しきい値電圧の範囲に達すると、P2レジスタはステップ950で1にセットされる。その場合、ステップ952で、P2が0に等しくないことがプロセスにより判定されるため、図23の方法がステップ974で継続される。ステップ974で、状態10に対する第1ステッププログラム検証検査が行われる。すなわち、状態10の第1ステッププログラム検証レベルに対するメモリセルのしきい値電圧の検査が行われる。第1ステッププログラム検証プロセスにパスした場合、DS2は1にセットされる。DS2がすでに1であれば、DS2は1のままとなる。ステップ974の後、プログラム電圧はステップ976で0.6ボルトだけ増分される。ステップ976は、図21の時刻t1 におけるVpgm1とVpgm2間でのステップサイズの増分に類似している。ステップ976でプログラム電圧のステップを上げた後、プログラムカウンタはステップ956で1だけ増分され、ステップ958で処理は継続される。
図24は、図21〜図23とに関連するいくつかの実施形態の値を示す例を描いた図である。図21〜図24の実施形態は、上述したコンセプトを利用し、このコンセプトと組み合わせて利用することができる。この利用には本体効果を用いる複数グループへのメモリセルの類別と、ビットラインの放電とが含まれ、振舞いについてのさらにカスタマイズされた決定および/またはプログラミング処理のさらにカスタマイズされた調整が図られる。
図10,13,15,18,20,22,23のプロセスは、状態マシン316の指示により、または、状態マシン316の指示の時点で実行される傾向があることに留意されたい(図6を参照されたい)。しかし、別の実施形態では、制御装置318、別の専用回路構成、あるいは、フラッシュメモリシステムの別の構成要素によりこれらのプロセスの部分をすべて実行することが可能である。例えば、1つの実施構成では、図20のステップ786,788,790は専用回路により実行される。
上述したコンセプトの別の可能な利用の仕方として、ビットの過剰プログラムの回避が挙げられる。すなわち、プログラムパルスVpgmを図1に描かれているような状態のままにすることが可能である。しかし、高速プログラミングメモリセルの低速化を図るために、高速プログラミングメモリセルはより高いビットライン電圧を受け取ることになる。これによって、プログラム時間が短くなることはなく、高速プログラミングメモリセルを過剰プログラムから防ぐことが可能となる。過剰プログラムビットの処理を行う従来の方法では、より多くのECCの使用や、プログラム電圧の低減が行われていた。より多くのECCとプログラム電圧の低減の双方により、プログラミング処理のスピードは低下する。さらに、より多くのECCには、さらに多くのオンチップハードウェアを必要とする場合がある。
上述した諸例は、NAND形フラッシュメモリと関連して示したものである。しかし、本発明の原理は、現行のメモリ並びに開発中の新たな技術の利用が意図されるメモリを含む別のタイプのフラッシュメモリと別のタイプの不揮発性メモリにも適用される。
本発明についての上述の詳細な説明は、例示と説明とを目的として記載されたものである。上述した説明は、開示される正確な形態を網羅したり、開示される正確な形態に本発明を限定したりすることを意図するものではない。上述の教示を考慮して多くの改変と変更とを行うことが可能である。本願記載の実施形態は、本発明の原理を最もよく説明するために選ばれたものであり、また、それによって当業者が本発明を実際に適用することが可能となり、種々の実施形態において、また、意図した特定の利用に適するように種々の改変を行うと共に本発明を最も好適に利用できるようにするためのものである。本発明の範囲は、本明細書に添付の請求項により定義される範囲とする。
例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 メモリセルのサンプルの自然な電圧分布の一例を示す。 NAND列の平面図である。 NAND列の等価回路図である。 NAND列の横断面図である。 不揮発性メモリシステムの一実施形態のブロック図であり、このメモリシステムにおいて本発明の様々な態様が実現される。 メモリアレイの編成の一例を示す。 コラム制御回路の一部を示す。 多状態メモリセルのメモリセルしきい値分布を示す。 1以上のメモリセルの振舞いに基づいてプログラミング動作を適合させる或るプロセスの一実施形態を記述するフローチャートである。 例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 第2の例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 消去後、および、1以上のプログラムパルスの発生後の電圧分布の例を示す。 1以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 消去後、および、1以上のプログラムパルスの発生後の電圧分布の例を示す。 1以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 消去後、および、1以上のプログラムパルスの発生後の電圧分布の例を示す。 NAND列を示す。 1以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 ビットライン電圧(Vbl)対時間を示すグラフである。 1以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 1以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの別の実施形態を示す。 図21の実施形態用として使用可能なプログラミング処理の一例を記述するフローチャートである。 図21の実施形態用として使用可能なプログラミング処理の一例を記述するフローチャートである。 図21〜図23と関連づけられる種々の実施形態の値の例を示す。
符号の説明
302 メモリセルアレイ
304 コラム制御回路
306 ロウ制御回路
308 Pウェル制御回路
310 cソース制御回路
312 データI/O
314 コマンド回路
316 状態マシン
318 コントローラ

Claims (16)

  1. 不揮発性メモリをプログラムする方法であって、
    1組の不揮発性記憶素子内の少なくともサブセットの不揮発性記憶素子のしきい値電圧が目標しきい値にまだ達していないと検証されている時点で、少なくとも1つの不揮発性記憶素子のしきい値電圧が目標しきい値に達したと検証されるまで、1組の不揮発性記憶素子用にプログラミングプロセスの最初の部分を実行するステップと、
    前記少なくともサブセットの不揮発性記憶素子内の個々の不揮発性記憶素子を3またはそれ以上のグループのうちの1つに類別するように少なくとも第1および第2の検証電圧を用いて検証動作を実行するステップであって、しきい値電圧が第1のしきい値電圧よりも小さい前記不揮発性記憶素子の第1のグループ、しきい値電圧が第1のしきい値電圧と第2のしきい値電圧との間にある前記不揮発性記憶素子の第2のグループ、およびしきい値電圧が第2のしきい値電圧よりも大きい前記不揮発性記憶素子の第3のグループを含むものである、検証動作を実行するステップと、
    前記少なくともサブセットの不揮発性記憶素子用のプログラミングプロセスを完了するステップであって、それぞれが禁止ビットライン電圧よりも小さい少なくとも第1,第2,第3の異なったビットライン電圧を用いて前記不揮発性記憶素子の第1,第2,第3のグループのしきい値電圧を上げることを含むものである、プログラミングプロセスを完了するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記プログラミングプロセスの最初の部分を実行するステップが、前記1組の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号の第1の部分を印加するステップを含み、
    前記プログラミングプロセスを完了するステップが、前記1組の不揮発性記憶素子のコントロールゲートに前記共通のプログラム電圧信号の第2の部分を印加するステップを含む方法。
  3. 請求項2記載の方法において、
    個々のグループが、前記プログラミングプロセスの最初の部分中に類似するプログラミングスピードを有する不揮発性記憶素子を含む方法。
  4. 請求項3記載の方法において、
    前記第3のビットライン電圧が前記第2のビットライン電圧よりも大きく、前記第2のビットライン電圧が前記第1のビットライン電圧よりも大きい方法。
  5. 請求項4記載の方法において、
    前記共通のプログラム電圧信号の前記第1の部分が、第1のレートで上昇し、
    前記共通のプログラム電圧信号の前記第2の部分が、前記第1のレートより上のレートで上昇する方法。
  6. 請求項1記載の方法において、
    前記プログラミングプロセスの最初の部分を実行するステップと前記プログラミングプロセスを完了するステップとが、前記1組の不揮発性記憶素子に共通のプログラム電圧信号を印加するステップを含む方法。
  7. 請求項1記載の方法において、
    前記プログラミングプロセスの最初の部分を実行するステップと前記プログラミングプロセスを完了するステップとが、前記1組の不揮発性記憶素子の個々の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号を印加するステップを含む方法。
  8. 請求項1記載の方法において、
    前記不揮発性記憶素子が、多状態記憶素子である方法。
  9. 不揮発性メモリをプログラムするシステムであって、
    1組の不揮発性記憶素子と、
    前記1組の不揮発性記憶素子と通信を行う制御ラインと、
    前記制御ラインと通信を行う制御回路であって、前記制御回路が、(a)1組の不揮発性記憶素子内の少なくともサブセットの不揮発性記憶素子のしきい値電圧が目標しきい値にまだ達していないと検証されている時点で、少なくとも1つの不揮発性記憶素子のしきい値電圧が目標しきい値に達したと検証されるまで、1組の不揮発性記憶素子用にプログラミングプロセスの最初の部分を実行し、(b)前記少なくともサブセットの不揮発性記憶素子内の個々の不揮発性記憶素子を3またはそれ以上のグループのうちの1つに類別するように少なくとも第1および第2の検証電圧を用いて検証動作を実行し、しきい値電圧が第1のしきい値電圧よりも小さい前記不揮発性記憶素子の第1のグループ、しきい値電圧が第1のしきい値電圧と第2のしきい値電圧との間にある前記不揮発性記憶素子の第2のグループ、およびしきい値電圧が第2のしきい値電圧よりも大きい前記不揮発性記憶素子の第3のグループを含み、(c)それぞれが禁止ビットライン電圧よりも小さい少なくとも第1,第2,第3の異なったビットライン電圧を用いて前記不揮発性記憶素子の第1,第2,第3のグループのしきい値電圧を上げることにより、前記少なくともサブセットの不揮発性記憶素子内の前記不揮発性記憶素子用のプログラミングプロセスを完了するようにした制御回路と、
    を備えるシステム。
  10. 請求項9記載のシステムにおいて、
    前記プログラミングプロセスの最初の部分を実行することが、前記1組の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号の第1の部分を印加することを含み、
    前記プログラミングプロセスを完了することが、前記1組の不揮発性記憶素子のコントロールゲートに前記共通のプログラム電圧信号の第2の部分を印加することを含むシステム。
  11. 請求項10記載のシステムにおいて、
    個々のグループが、前記プログラミングプロセスの最初の部分中に類似するプログラミングスピードを有する不揮発性記憶素子を含むシステム。
  12. 請求項11記載のシステムおいて、
    前記第3のビットライン電圧が前記第2のビットライン電圧よりも大きく、前記第2のビットライン電圧が前記第1のビットライン電圧よりも大きいシステム。
  13. 請求項12記載のシステムにおいて、
    前記共通のプログラム電圧信号の前記第1の部分が、第1のレートで上昇し、
    前記共通のプログラム電圧信号の前記第2の部分が、前記第1のレートより上のレートで上昇するシステム。
  14. 請求項9記載のシステムにおいて、
    前記プログラミングプロセスの最初の部分を実行することが、前記1組の不揮発性記憶素子に第1のレートで上昇する共通のプログラム電圧信号の第1の部分を印加することを含み、
    前記プログラミングプロセスを完了することが、前記共通のプログラム電圧信号が前記第1のレートより上に上昇している間に、前記1組の不揮発性記憶素子に前記共通のプログラム電圧信号の第2の部分を印加することを含むシステム。
  15. 請求項9記載のシステムにおいて、
    前記不揮発性記憶素子が、多状態記憶素子であるシステム。
  16. 請求項10記載のシステムにおいて、
    前記不揮発性記憶素子が、多状態NANDフラッシュメモリ素子であるシステム。
JP2004076471A 2003-10-20 2004-03-17 不揮発性メモリの振舞いに基づくプログラミング Expired - Lifetime JP4646534B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/689,333 US7177199B2 (en) 2003-10-20 2003-10-20 Behavior based programming of non-volatile memory

Publications (2)

Publication Number Publication Date
JP2005129194A JP2005129194A (ja) 2005-05-19
JP4646534B2 true JP4646534B2 (ja) 2011-03-09

Family

ID=34521390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004076471A Expired - Lifetime JP4646534B2 (ja) 2003-10-20 2004-03-17 不揮発性メモリの振舞いに基づくプログラミング

Country Status (9)

Country Link
US (2) US7177199B2 (ja)
EP (1) EP1678722B1 (ja)
JP (1) JP4646534B2 (ja)
KR (2) KR101323843B1 (ja)
CN (1) CN1879175B (ja)
AT (1) ATE496373T1 (ja)
DE (1) DE602004031139D1 (ja)
TW (1) TWI262506B (ja)
WO (1) WO2005043548A1 (ja)

Families Citing this family (303)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7375930B2 (en) * 2002-12-27 2008-05-20 Magnecomp Corporation Apparatus for PZT actuation device for hard disk drives
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US6937520B2 (en) * 2004-01-21 2005-08-30 Tsuyoshi Ono Nonvolatile semiconductor memory device
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
JP2005353171A (ja) * 2004-06-10 2005-12-22 Toshiba Corp 半導体記憶装置及びそのブランクページ検索方法
US7307884B2 (en) * 2004-06-15 2007-12-11 Sandisk Corporation Concurrent programming of non-volatile memory
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
KR100606173B1 (ko) * 2004-08-24 2006-08-01 삼성전자주식회사 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치
US20060044926A1 (en) * 2004-08-27 2006-03-02 Nokia Corporation Method and system for accessing performance parameters in memory devices
JP4282636B2 (ja) 2005-06-22 2009-06-24 株式会社東芝 不揮発性半導体記憶装置とそのデータ書き込み方法
KR100719368B1 (ko) * 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
JP4928752B2 (ja) 2005-07-14 2012-05-09 株式会社東芝 半導体記憶装置
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
WO2007016167A1 (en) * 2005-08-01 2007-02-08 Sandisk Corporation Programming non-volatile memory with self-adjusting maximum program loop
JP2007102865A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
US7286406B2 (en) * 2005-10-14 2007-10-23 Sandisk Corporation Method for controlled programming of non-volatile memory exhibiting bit line coupling
US7206235B1 (en) 2005-10-14 2007-04-17 Sandisk Corporation Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
JP4658812B2 (ja) * 2006-01-13 2011-03-23 シャープ株式会社 不揮発性半導体記憶装置及びその書き込み方法
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7499319B2 (en) 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US7324387B1 (en) 2006-04-18 2008-01-29 Maxim Integrated Products, Inc. Low power high density random access memory flash cells and arrays
KR101202537B1 (ko) * 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
KR101375955B1 (ko) 2006-05-12 2014-03-18 애플 인크. 메모리 디바이스 내의 왜곡 추정 및 상쇄
US7663925B2 (en) * 2006-05-15 2010-02-16 Micron Technology Inc. Method and apparatus for programming flash memory
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7310272B1 (en) * 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
TW200807421A (en) * 2006-06-26 2008-02-01 Sandisk Corp Method and system for programming non-volatile memory using variable amplitude programming pulses
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
KR100809333B1 (ko) * 2006-09-04 2008-03-05 삼성전자주식회사 상변화 메모리 장치의 기입 검증 방법 및 그 방법을사용하는 상변화 메모리 장치
US7701770B2 (en) * 2006-09-29 2010-04-20 Hynix Semiconductor Inc. Flash memory device and program method thereof
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
JP2008130182A (ja) * 2006-11-22 2008-06-05 Sharp Corp 不揮発性半導体記憶装置
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) * 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7706182B2 (en) * 2006-12-03 2010-04-27 Anobit Technologies Ltd. Adaptive programming of analog memory cells using statistical characteristics
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7539052B2 (en) * 2006-12-28 2009-05-26 Micron Technology, Inc. Non-volatile multilevel memory cell programming
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
US7440324B2 (en) * 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
JP4996277B2 (ja) * 2007-02-09 2012-08-08 株式会社東芝 半導体記憶システム
WO2008103586A1 (en) * 2007-02-20 2008-08-28 Sandisk Corporation Dynamic verify based on threshold voltage distribution
US7616495B2 (en) * 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with variable initial program voltage magnitude
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7835189B2 (en) * 2007-03-16 2010-11-16 Spansion Llc High accuracy adaptive programming
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories
KR100824203B1 (ko) * 2007-04-03 2008-04-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
US7630246B2 (en) 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
KR100888844B1 (ko) 2007-06-28 2009-03-17 삼성전자주식회사 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
KR101322378B1 (ko) * 2007-07-09 2013-10-30 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101401558B1 (ko) * 2007-08-20 2014-06-09 삼성전자주식회사 플래시 메모리 장치, 그것의 프로그램 및 소거 방법들,그리고 그것을 포함하는 메모리 시스템 및 컴퓨터 시스템
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) * 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009053963A2 (en) * 2007-10-22 2009-04-30 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8694715B2 (en) * 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
KR101391881B1 (ko) * 2007-10-23 2014-05-07 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072105A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
KR100960479B1 (ko) * 2007-12-24 2010-06-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
KR101344347B1 (ko) * 2008-01-16 2013-12-24 삼성전자주식회사 프로그램 시작 전압을 조절하는 불휘발성 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리시스템
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
KR101448851B1 (ko) 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
JP4693859B2 (ja) * 2008-03-21 2011-06-01 株式会社東芝 不揮発性半導体記憶装置及びその制御方法
US8972472B2 (en) * 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US7768832B2 (en) * 2008-04-07 2010-08-03 Micron Technology, Inc. Analog read and write paths in a solid state memory device
KR101606168B1 (ko) * 2008-04-29 2016-03-24 샌디스크 아이엘 엘티디 프로그램, 검증 및, 읽기를 위한 참조 전압 레벨들의 적응적인 세팅을 갖는 비휘발성 멀티레벨 메모리
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
CN102089827B (zh) * 2008-06-12 2017-05-17 桑迪士克科技有限责任公司 非易失性存储器和关联多遍编程的方法
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
KR101468097B1 (ko) 2008-09-18 2014-12-04 삼성전자주식회사 메모리 장치 및 그것의 프로그램 방법
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8254177B2 (en) * 2008-10-24 2012-08-28 Sandisk Technologies Inc. Programming non-volatile memory with variable initial programming pulse
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8223551B2 (en) 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
US8166368B2 (en) * 2009-02-24 2012-04-24 International Business Machines Corporation Writing a special symbol to a memory to indicate the absence of a data signal
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
WO2010125695A1 (en) * 2009-04-30 2010-11-04 Powerchip Corporation Programming method for nand flash memory device
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US7916533B2 (en) * 2009-06-24 2011-03-29 Sandisk Corporation Forecasting program disturb in memory by detecting natural threshold voltage distribution
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US7995394B2 (en) * 2009-07-30 2011-08-09 Sandisk Technologies Inc. Program voltage compensation with word line bias change to suppress charge trapping in memory
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
KR101616099B1 (ko) 2009-12-03 2016-04-27 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US8174895B2 (en) * 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US8700970B2 (en) * 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
JP5550386B2 (ja) * 2010-03-03 2014-07-16 株式会社東芝 不揮発性半導体記憶装置及びメモリシステム
KR101662276B1 (ko) * 2010-03-09 2016-10-04 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 및 읽기 방법들
US8467245B2 (en) 2010-03-24 2013-06-18 Ememory Technology Inc. Non-volatile memory device with program current clamp and related method
US8369154B2 (en) * 2010-03-24 2013-02-05 Ememory Technology Inc. Channel hot electron injection programming method and related device
US8233324B2 (en) * 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
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
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
JP5522682B2 (ja) * 2010-07-06 2014-06-18 ウィンボンド エレクトロニクス コーポレーション 半導体メモリ
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US8351276B2 (en) 2010-07-13 2013-01-08 Freescale Semiconductor, Inc. Soft program of a non-volatile memory block
US8274838B2 (en) * 2010-07-19 2012-09-25 Sandisk Technologies Inc. Programming non-volatile memory with bit line voltage step up
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8310870B2 (en) 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
JP5259667B2 (ja) * 2010-09-22 2013-08-07 株式会社東芝 不揮発性半導体記憶装置
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8842469B2 (en) * 2010-11-09 2014-09-23 Freescale Semiconductor, Inc. Method for programming a multi-state non-volatile memory (NVM)
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8563672B2 (en) * 2010-12-17 2013-10-22 E I Du Pont De Nemours And Company Process for producing fluorinated copolymers of (meth)acrylates and (meth)acrylic acid amine complexes
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
EP2498258B1 (en) * 2011-03-11 2016-01-13 eMemory Technology Inc. Non-volatile memory device with program current clamp and related method
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8565025B2 (en) 2011-04-25 2013-10-22 Freescale Semiconductor, Inc. Dynamic programming for flash memory
KR20120126436A (ko) * 2011-05-11 2012-11-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 프로그램 방법
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8432752B2 (en) 2011-06-27 2013-04-30 Freescale Semiconductor, Inc. Adaptive write procedures for non-volatile memory using verify read
US8509001B2 (en) 2011-06-27 2013-08-13 Freescale Semiconductor, Inc. Adaptive write procedures for non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
KR101939235B1 (ko) * 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
JP2013077362A (ja) * 2011-09-30 2013-04-25 Toshiba Corp 不揮発性半導体記憶装置
KR20130042780A (ko) * 2011-10-19 2013-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
JP5622712B2 (ja) * 2011-12-09 2014-11-12 株式会社東芝 不揮発性半導体記憶装置
TWI534810B (zh) 2011-12-09 2016-05-21 Toshiba Kk Nonvolatile semiconductor memory device
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
KR20130139598A (ko) * 2012-06-13 2013-12-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR101942863B1 (ko) * 2012-06-19 2019-01-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8873316B2 (en) 2012-07-25 2014-10-28 Freescale Semiconductor, Inc. Methods and systems for adjusting NVM cell bias conditions based upon operating temperature to reduce performance degradation
US8902667B2 (en) 2012-07-25 2014-12-02 Freescale Semiconductor, Inc. Methods and systems for adjusting NVM cell bias conditions for program/erase operations to reduce performance degradation
US9142315B2 (en) 2012-07-25 2015-09-22 Freescale Semiconductor, Inc. Methods and systems for adjusting NVM cell bias conditions for read/verify operations to compensate for performance degradation
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9082510B2 (en) 2012-09-14 2015-07-14 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with adaptive write operations
US9225356B2 (en) 2012-11-12 2015-12-29 Freescale Semiconductor, Inc. Programming a non-volatile memory (NVM) system having error correction code (ECC)
US9582465B2 (en) 2012-11-15 2017-02-28 Elwha Llc Flexible processors and flexible memory
US20140137119A1 (en) * 2012-11-15 2014-05-15 Elwha LLC, a limited liability corporation of the State of Delaware Multi-core processing in memory
US9442854B2 (en) 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
US9129700B2 (en) 2013-01-22 2015-09-08 Freescale Semiconductor, Inc. Systems and methods for adaptive soft programming for non-volatile memory using temperature sensor
US8885405B2 (en) * 2013-01-31 2014-11-11 Ememory Technology Inc. Flash memory and associated programming method
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US9224478B2 (en) 2013-03-06 2015-12-29 Freescale Semiconductor, Inc. Temperature-based adaptive erase or program parallelism
US20140281129A1 (en) * 2013-03-15 2014-09-18 Tal Heller Data tag sharing from host to storage systems
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9812223B2 (en) * 2013-06-21 2017-11-07 SK Hynix Inc. Semiconductor memory device and method of operating the same
KR20140148132A (ko) * 2013-06-21 2014-12-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102137075B1 (ko) * 2013-09-10 2020-07-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
KR102118979B1 (ko) * 2013-09-13 2020-06-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9490023B2 (en) * 2014-03-19 2016-11-08 Apple Inc. Mitigation of retention drift in charge-trap non-volatile memory
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
JP6282535B2 (ja) * 2014-06-16 2018-02-21 東芝メモリ株式会社 メモリシステムおよび制御方法
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
JP6394359B2 (ja) * 2014-12-17 2018-09-26 富士通株式会社 メモリデバイス、記憶装置及び記憶装置の診断方法
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9576665B2 (en) 2015-03-12 2017-02-21 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
US9269446B1 (en) * 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US20160314844A1 (en) * 2015-04-22 2016-10-27 Sandisk Technologies Inc. Natural threshold voltage compaction with dual pulse program for non-volatile memory
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9343156B1 (en) 2015-06-25 2016-05-17 Sandisk Technologies Inc. Balancing programming speeds of memory cells in a 3D stacked memory
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
KR102502234B1 (ko) * 2015-12-03 2023-02-21 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US9711211B2 (en) * 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9852800B2 (en) * 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
US9959932B1 (en) 2017-02-21 2018-05-01 Sandisk Technologies Llc Grouping memory cells into sub-blocks for program speed uniformity
CN107015832A (zh) * 2017-04-13 2017-08-04 四川长虹电器股份有限公司 压缩机参数配置的方法
US10134479B2 (en) 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
EP3454318B1 (en) * 2017-09-12 2022-05-11 eMemory Technology Inc. Security system with entropy bits generated by a puf
TWI638358B (zh) * 2017-10-25 2018-10-11 旺宏電子股份有限公司 記憶體裝置及其操作方法
TWI648739B (zh) * 2018-03-20 2019-01-21 大陸商深圳大心電子科技有限公司 記憶體管理方法與儲存控制器
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
US10825513B2 (en) * 2018-06-26 2020-11-03 Sandisk Technologies Llc Parasitic noise control during sense operations
US10838652B2 (en) 2018-08-24 2020-11-17 Silicon Storage Technology, Inc. Programming of memory cell having gate capacitively coupled to floating gate
JP2020047329A (ja) * 2018-09-18 2020-03-26 キオクシア株式会社 半導体記憶装置
EP3853854A4 (en) * 2019-01-23 2022-05-04 Yangtze Memory Technologies Co., Ltd. PROCEDURE FOR PROGRAMMING A MEMORY SYSTEM
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
US10706941B1 (en) * 2019-04-01 2020-07-07 Sandisk Technologies Llc Multi-state programming in memory device with loop-dependent bit line voltage during verify
US10910076B2 (en) 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
US10991433B2 (en) 2019-09-03 2021-04-27 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory by limiting time gap between erase and program
US11361829B2 (en) * 2020-01-29 2022-06-14 Sandisk Technologies Llc In-storage logic for hardware accelerators
US11309042B2 (en) 2020-06-29 2022-04-19 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory by program adjustment for memory cells exhibiting random telegraph noise
US11626160B2 (en) 2021-02-03 2023-04-11 Sandisk Technologies Llc Dynamic sense node voltage to compensate for variances when sensing threshold voltages of memory cells
US11688474B2 (en) * 2021-04-19 2023-06-27 Micron Technology, Inc. Dual verify for quick charge loss reduction in memory cells
US11594292B2 (en) * 2021-04-23 2023-02-28 Micron Technology, Inc. Power loss immunity in memory programming operations
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11769558B2 (en) 2021-06-08 2023-09-26 Silicon Storage Technology, Inc. Method of reducing random telegraph noise in non-volatile memory by grouping and screening memory cells
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11587621B1 (en) * 2021-08-05 2023-02-21 Western Digital Technologies, Inc. Foggy-fine programming for memory cells with reduced number of program pulses
US11972111B2 (en) * 2021-11-09 2024-04-30 Samsung Electronics Co., Ltd. Memory device for improving speed of program operation and operating method thereof
US20230245706A1 (en) * 2022-01-31 2023-08-03 Sandisk Technologies Llc Non-volatile memory with zone based program speed adjustment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000113686A (ja) * 1998-09-30 2000-04-21 Nec Ic Microcomput Syst Ltd 不揮発性半導体記憶装置の書き込み方法および記録媒体
JP2002025284A (ja) * 2000-06-29 2002-01-25 Saifun Semiconductors Ltd 複数のメモリセルを有するアレイをプログラムする方法
JP2003196988A (ja) * 2001-12-27 2003-07-11 Toshiba Corp 不揮発性半導体記憶装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3365624A (en) * 1966-08-10 1968-01-23 Automatic Valve Corp Valve control system
US3832123A (en) * 1972-11-15 1974-08-27 Kidde & Co Walter Burner control system
US3906294A (en) * 1973-07-02 1975-09-16 Webster Electric Co Inc Time delayed solenoid valve
US4325689A (en) * 1980-03-28 1982-04-20 Harold A. Teschendorf Automatic reset control for direct spark ignition systems
JPS5866718A (ja) * 1981-10-16 1983-04-21 Toyotomi Kogyo Co Ltd 停電安全装置付石油燃焼器
US4627027A (en) 1982-09-01 1986-12-02 Sanyo Electric Co., Ltd. Analog storing and reproducing apparatus utilizing non-volatile memory elements
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
KR0156590B1 (ko) * 1993-05-11 1998-12-01 미요시 순키치 비소멸성 메모리장치, 비소멸성 메모리셀 및 다수의 트랜지스터의 각각과 비소멸성 메모리셀의 스레솔드값의 조절방법
JPH0778484A (ja) * 1993-07-13 1995-03-20 Nkk Corp 記憶素子、不揮発性メモリ、不揮発性記憶装置及びそれを用いた情報記憶方法
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
US5550772A (en) * 1995-02-13 1996-08-27 National Semiconductor Corporation Memory array utilizing multi-state memory cells
JP3414587B2 (ja) * 1996-06-06 2003-06-09 株式会社東芝 不揮発性半導体記憶装置
AU4996697A (en) 1996-12-20 1998-07-17 Intel Corporation Nonvolatile writeable memory with fast programming capability
JP3890647B2 (ja) * 1997-01-31 2007-03-07 ソニー株式会社 不揮発性半導体記憶装置
JP3159105B2 (ja) 1997-02-21 2001-04-23 日本電気株式会社 不揮発性半導体記憶装置及びその書込方法
JP3481817B2 (ja) 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
JP3486079B2 (ja) * 1997-09-18 2004-01-13 株式会社東芝 半導体記憶装置
US5912836A (en) * 1997-12-01 1999-06-15 Amic Technology, Inc. Circuit for detecting both charge gain and charge loss properties in a non-volatile memory array
JPH11328981A (ja) * 1998-05-12 1999-11-30 Matsushita Electric Ind Co Ltd 半導体記憶装置,およびレギュレータ
JP3410036B2 (ja) * 1999-02-03 2003-05-26 シャープ株式会社 不揮発性半導体記憶装置への情報の書き込み方法
US6301161B1 (en) * 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
US6490204B2 (en) 2000-05-04 2002-12-03 Saifun Semiconductors Ltd. Programming and erasing methods for a reference cell of an NROM array
US6301151B1 (en) 2000-08-09 2001-10-09 Information Storage Devices, Inc. Adaptive programming method and apparatus for flash memory analog storage
US6552929B1 (en) * 2001-02-08 2003-04-22 Advanced Micro Devices, Inc. Piggyback programming using an extended first pulse for multi-level cell flash memory designs
US6424566B1 (en) 2001-02-08 2002-07-23 Advanced Micro Devices, Inc. Program reconnaissance to eliminate variations in vt distributions of multi-level cell flash memory designs
US6738289B2 (en) 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6584017B2 (en) * 2001-04-05 2003-06-24 Saifun Semiconductors Ltd. Method for programming a reference cell
DE60139670D1 (de) * 2001-04-10 2009-10-08 St Microelectronics Srl Verfahren zur Programmierung nichtflüchtiger Speicherzellen mit Programmier- und Prüfalgorithmus unter Verwendung treppenförmiger Spannungsimpulse mit variablem Stufenabstand
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6924663B2 (en) * 2001-12-28 2005-08-02 Fujitsu Limited Programmable logic device with ferroelectric configuration memories
US6529412B1 (en) 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6735114B1 (en) * 2003-02-04 2004-05-11 Advanced Micro Devices, Inc. Method of improving dynamic reference tracking for flash memory unit
US6856551B2 (en) * 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000113686A (ja) * 1998-09-30 2000-04-21 Nec Ic Microcomput Syst Ltd 不揮発性半導体記憶装置の書き込み方法および記録媒体
JP2002025284A (ja) * 2000-06-29 2002-01-25 Saifun Semiconductors Ltd 複数のメモリセルを有するアレイをプログラムする方法
JP2003196988A (ja) * 2001-12-27 2003-07-11 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
TWI262506B (en) 2006-09-21
EP1678722A1 (en) 2006-07-12
TW200532694A (en) 2005-10-01
ATE496373T1 (de) 2011-02-15
EP1678722B1 (en) 2011-01-19
KR20060115996A (ko) 2006-11-13
US7633807B2 (en) 2009-12-15
KR101161429B1 (ko) 2012-07-02
US7177199B2 (en) 2007-02-13
CN1879175B (zh) 2010-04-14
KR101323843B1 (ko) 2013-10-31
US20050083735A1 (en) 2005-04-21
US20070121383A1 (en) 2007-05-31
KR20120055733A (ko) 2012-05-31
DE602004031139D1 (de) 2011-03-03
CN1879175A (zh) 2006-12-13
JP2005129194A (ja) 2005-05-19
WO2005043548A1 (en) 2005-05-12

Similar Documents

Publication Publication Date Title
JP4646534B2 (ja) 不揮発性メモリの振舞いに基づくプログラミング
KR100751579B1 (ko) 비휘발성 메모리 프로그래밍
EP2368248B1 (en) Adaptive erase and soft programming for memory
EP1812932B1 (en) High speed programming system with reduced over programming
KR100853312B1 (ko) 메모리 소자들의 도통을 제 1 방향 및 제 2 방향으로테스트하는 비 휘발성 메모리에 대한 소거 검증
KR100945057B1 (ko) 비휘발성 메모리 사이클에 따른 시작 프로그램 전압 시프트
KR101314306B1 (ko) 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법
JP2007533055A (ja) 非揮発性メモリの可変プログラミング
KR20060002801A (ko) 비휘발성 메모리에 대한 자기 부스팅 기술
KR20110094287A (ko) 고해상도의 가변 초기 프로그램 펄스를 이용한 비휘발성 메모리의 프로그램
KR20110037986A (ko) 비휘발성 저장 소자를 위한 소거-검증 프로세스
KR20100057784A (ko) 개선된 감지를 위해 상이한 기준 레벨들을 이용하는 비휘발성 메모리에서의 비정밀/정밀 프로그램 검증
KR101000546B1 (ko) 비휘발성 메모리 기록 동작에서의 지속적 검증
KR20110037970A (ko) 비휘발성 메모리에서 판독 처리량을 증가시키는 방법
KR20090007297A (ko) 다른 전압들을 이용한 비휘발성 저장 장치에 대한 검증 동작

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4646534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250