JP2013501305A - パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム - Google Patents

パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム Download PDF

Info

Publication number
JP2013501305A
JP2013501305A JP2012523718A JP2012523718A JP2013501305A JP 2013501305 A JP2013501305 A JP 2013501305A JP 2012523718 A JP2012523718 A JP 2012523718A JP 2012523718 A JP2012523718 A JP 2012523718A JP 2013501305 A JP2013501305 A JP 2013501305A
Authority
JP
Japan
Prior art keywords
word line
program
wln
storage element
volatile storage
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.)
Granted
Application number
JP2012523718A
Other languages
English (en)
Other versions
JP5444468B2 (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 Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 Technologies LLC filed Critical SanDisk Technologies LLC
Publication of JP2013501305A publication Critical patent/JP2013501305A/ja
Application granted granted Critical
Publication of JP5444468B2 publication Critical patent/JP5444468B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

隣接するWLn−1上の記憶素子の状態に応じて、選択ワードラインWLn上の記憶素子をグループごとにプログラムするとともに、グループごとに最適なパス電圧をWLn−1に印加することによって、不揮発性記憶システムにおけるプログラム外乱を低減する。第1に、WLn−1上の記憶素子の状態を読み出す。プログラムの一反復は、複数のプログラムパルスを含む。第1のパス電圧(1425)をWLn−1に印加し、WLn上の記憶素子の第1のグループ(1480、1482、1488)をプログラムのために選択し、かつWLn上の記憶素子の第2のグループ(1484、1486)を禁止しつつ、第1のプログラムパルス(1402)をWLnに印加する。次に、第2のパス電圧(1426)をWLn−1に印加し、WLn上の記憶素子の第2のグループをプログラムのために選択し、かつWLn上の記憶素子の第1のグループを禁止しつつ、第2のプログラムパルス(1404)をWLnに印加する。一つのグループには、一又は複数のデータ状態(A、B、C、E)を含めることができる。

Description

本技術は、不揮発性メモリに関する。
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ(EEPROM)と、フラッシュメモリは、最も普及している不揮発性半導体メモリの一つである。EEPROMの一種であるフラッシュメモリを用いると、従来のフル機能を備えたEEPROMとは対照的に、メモリアレイ全体のコンテンツ、又はメモリの一部のコンテンツを一つのステップで消去できる。
従来のEEPROMとフラッシュメモリの何れもが、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に配置されており、そのフローティングゲートから絶縁されている。このように形成されたトランジスタの閾値電圧(Vth)は、フローティングゲート上に保持される電荷量によって制御される。つまり、そのソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加しなければならない電圧の最小量は、そのフローティングゲート上の電荷レベルにより制御される。
いくつかのEEPROM及びフラッシュメモリ素子は2つの範囲の電荷を記憶するために使用される記憶素子その他のフローティングゲートを含むセルを有するため、記憶素子は2つの状態、たとえば消去状態とプログラム状態の間でプログラム/消去できる。各記憶素子は1ビットのデータを記憶できるため、このようなフラッシュメモリ素子はバイナリフラッシュメモリ素子と呼ばれることもある。
マルチ状態(マルチレベルとも呼ばれる)フラッシュメモリ素子が、複数の別個の許可/有効プログラム閾値電圧範囲を識別することによって実現される。各閾値電圧範囲は、記憶素子内で符号化される一組のデータビットの所定値に相当する。例えば、各メモリエレメントは、そのエレメントを4つの別々の閾値電圧範囲に相当する4つの別々の電荷バンドの内の一つに置くことができ、2ビットのデータを記憶できる。
通常、プログラム動作中に制御ゲートに印加されるプログラム電圧Vpgmは、経時的に大きさが大きくなる一連のパルスとして印加される。プログラム電圧は、選択されたワードラインに印加され得る。一つの考えられる手法では、パルスの大きさは、例えば0.2から0.4V等の所定のステップサイズでそれぞれの連続パルスで大きくなる。Vpgmは、フラッシュメモリエレメントの制御ゲートに印加され得る。プログラムパルス間の期間では、検証動作が実施される。すなわち、並行してプログラムされているエレメントのグループの内の各エレメントのプログラムレベルは、エレメントがプログラムされている検証レベル以上であるか否かを判断するために、連続プログラムパルスの間に読み出される。マルチ状態フラッシュメモリエレメントのアレイの場合、検証ステップは、エレメントがそのデータ関連検証レベルに達したのかどうかを判断するために、エレメントの状態ごとに実行され得る。例えば、4つの状態にデータを記憶できるマルチ状態メモリエレメントは、3つの比較点について検証動作を実行する必要がある場合がある。
さらに、EEPROM又はNANDストリング内のNANDフラッシュメモリ素子等のフラッシュメモリ素子をプログラムするときには、通常、Vpgmが制御ゲートに印加され、ビットラインが接地され、記憶素子のチャネルからフローティングゲートの中に電子が注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電され、メモリエレメントの閾値電圧は上昇し、プログラムされた状態にあると見なされる。
しかしながら、困難であり続ける一つの問題は、プログラム外乱である。プログラム外乱は、他の選択されたNANDストリングのプログラム中に、禁止されている選択されていないNANDストリングで発生することがある。プログラム外乱は、非選択の不揮発性記憶素子の閾値電圧が、他の不揮発性記憶素子のプログラムのためにシフトされると発生する。プログラム外乱は、まだプログラムされていない消去された記憶素子だけではなく、以前にプログラムされた記憶素子でも発生することがある。
非選択ワードラインへのパス電圧を最適に設定することにより、プログラム外乱及びプログラムと消去のサイクルによる劣化を低減する方法及び不揮発性記憶装置を提供する。
選択ワードラインWLn上の複数の記憶素子を、それらに隣接する記憶素子WLn−1の状態に応じて、グループごとにプログラムする。さらに、それぞれのグループに応じて、隣接する記憶素子WLn−1には、最適なパス電圧を印加する。一つのグループには、一又は複数のデータ状態の記憶素子を含めることができる。
NANDストリングの平面図。
NANDストリングの等価回路図。
NANDストリングの断面図。
3つのNANDストリングを示す回路図。
NANDフラッシュ記憶素子のアレイのブロック図。
単一行/列デコーダ及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図。
検出ブロックの一実施形態を示すブロック図。
全ビットラインメモリアーキテクチャ用、又は奇数−偶数メモリアーキテクチャ用のメモリアレイのブロックへの編成の例を示す図。
閾値電圧分布及びワンパスプログラムの例を示す図。
閾値電圧分布及びツーパスプログラムの例を示す図。
種々の閾値電圧分布を示し、不揮発性メモリをプログラムするためのプロセスを説明する図。 種々の閾値電圧分布を示し、不揮発性メモリをプログラムするためのプロセスを説明する図。 種々の閾値電圧分布を示し、不揮発性メモリをプログラムするためのプロセスを説明する図。
一組の記憶素子のためのマルチパスプログラム動作を示す図。
制御ゲートから、相対的に低状態にある隣接する記憶素子のフローティングゲートへのプログラム電圧の結合を示すNANDストリングの断面図。
比較的に高状態にある隣接する記憶素子のフローティングゲートから、プログラム電圧を受け取る制御ゲートへの電子放射を示すNANDストリングの断面図。
マルチパルスプログラム技術の第1の実施形態において、プログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
図13aのプログラム動作中に隣接する非選択のワードラインに印加されるパルス列を示す図。
一組の記憶素子に適用された、マルチパルスプログラム技術の第1の実施形態の適用例を示す図。
マルチパルスプログラム技術の第2の実施形態において、プログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
図14aのプログラム動作の間に隣接する非選択のワードラインに印加されるパルス列を示す図。
一組の記憶素子に適用された、マルチパルスプログラム技術の第2の実施形態の適用例を示す図。
図13aから図14cに対応するプログラム技術を示す図。
図13aに対応するさまざまなプログラムパルスの大きさを示す図。
図14aに対応するさまざまなプログラムパルスの大きさを示す図。
マルチパルスプログラム技術の第3の実施形態においてプログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
マルチパルスプログラム技術の第4の実施形態において、プログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
図17aに対応するさまざまなプログラムパルスの大きさを示す図。
図17aに対応するプログラム技術を示す図。
図17aに対応する代替プログラム技術を示す図。
マルチパルスプログラム技術の第5の実施形態において、プログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
図18aのプログラム動作中に隣接する非選択のワードラインに印加されるパルス列を示す図。
一組の記憶素子に適用された、マルチパルスプログラム技術の第5の実施形態の適用例を示す図。
図18aに対応するプログラム技術を示す図。
マルチパルスプログラム技術の第6の実施形態において、プログラム動作中に選択されたワードラインに印加されるパルス列を示す図。
図20aに対応するプログラム技術を示す図。
マルチパルスプログラム技術の第7の実施形態の間のそれぞれのビットラインのためのデータラッチの使用を示す図。
図21aに対応するプログラム技術を示す図。
本発明の実施に適したメモリシステムの一例は、NANDフラッシュメモリ構造を用いる。そのNANDフラッシュメモリ構造は2つの選択ゲートの間に直列に接続された複数のトランジスタを有している。直列に配置されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1aは、一つのNANDストリングを示す平面図である。図1bはその等価回路である。図示されたNANDストリングは、直列に接続されており、第1の選択ゲート120と第2の選択ゲート122の間に挟まれている4つのトランジスタ100、102、104、及び106を有する。選択ゲート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に接続されている。一実施形態では、トランジスタ100、102、104及び106は、それぞれ、メモリセルである。他の実施形態では、メモリセルは、複数のトランジスタを有していることもある。あるいは、図示されているのとは異なることもある。選択ゲート120は、選択ラインSGDに接続されている。選択ゲート122は、選択ラインSGSに接続されている。
図2は、前述されたNANDストリングの断面図を示す。NANDストリングのトランジスタはp−ウェル領域140に形成されている。p−ウェル領域は、代わりにp−タイプ基板144のn−ウェル領域142内にあってよい。各トランジスタは、制御ゲート(100CG、102CG、104CG、及び106CG)とフローティングゲート(100FG、102FG、104FG、及び106FG)から構成される積層ゲート構造を有している。フローティングゲートは、p−ウェルの表面に、酸化膜又は他の誘電体膜の上に形成される。制御ゲートはフローティングゲートの上にあり、ポリシリコン間の誘電体層が制御ゲート及びフローティングゲートを分離している。メモリセル(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ストリングのための一つの共通ソースラインに接続する。
図1a、1bおよび図2はNANDストリング内の4個のメモリセルを示しているが、本明細書に説明される技術とともに使用されるNANDストリングは、4個未満のメモリセル又は4個以上のメモリセルを有することができることに留意されたい。たとえば、いくつかのNANDストリングは、8個、16個、32個又はそれ以上のメモリセルを含む。
各メモリセルは、アナログ形式又はデジタル形式で表されるデータを記憶できる。1ビットのデジタルデータを記憶するとき、メモリセルの閾値電圧の範囲は、論理データ「1」及び「0」が割り当てられる2つの範囲に分割される。NANDタイプのフラッシュメモリの一例では、電圧閾値は、メモリセルが消去された後に負となり、論理「1」として定義される。プログラム動作後に閾値電圧は正となり、論理「0」として定義される。閾値電圧が負であり、制御ゲートに0ボルトを印加することにより読み出しが試行されると、メモリセルがオンして論理1が記憶されていることが示される。閾値電圧が正であり、制御ゲートに0ボルトを印加することにより読み出し動作が試行されると、メモリセルはオンせず、論理ゼロが記憶されることが示される。
メモリセルは、複数の状態を記憶し、それによって複数ビットのデジタルデータを記憶することもできる。データの複数の状態を記憶するケースでは、閾値電圧の範囲は状態の数に分割される。例えば、4つの状態が使用される場合、データ値「11」、「10」、「01」、及び「00」に割り当てられる4つの閾値範囲がある。NANDタイプメモリの一例では、消去動作後の閾値電圧は負であり、「11」として定義される。正の閾値電圧は「10」、「01」、及び「00」の状態のために使用される。いくつかの実施形態では、フローティングゲートの閾値電圧が誤って隣の物理状態にシフトしても、1ビットだけが影響を受けるように、データ値(例えば、論理状態)は、グレーコード割り当てを使用して閾値範囲に割り当てられる。メモリセルにプログラムされたデータと、セルの閾値電圧範囲の間の特殊な関係は、メモリセルのために採用されるデータ符号化方式に依存する。
NANDフラッシュメモリに加えて、他のタイプの不揮発性メモリも使用できる。
フラッシュEEPROMシステムで役立つ別のタイプのメモリセルは、不揮発的に電荷を蓄えるために、導電性のフローティングゲートの代わりに非導電性の誘電材料を用いる。酸化ケイ素、窒化ケイ素、及び酸化ケイ素(「ONO」)から形成される三層誘電体が、導電性の制御ゲートと、メモリセルチャネル上の半導体基板の表面の間に挟まれる。セルは、セルチャネルから窒化物に電子を注入することによってプログラムされ、電子は限られた領域内に閉じ込められ、蓄えられる。次に、この蓄えられた電荷が、検出可能な態様で、セルのチャネルの一部の閾値電圧を変化させる。セルは、窒化物の中にホットホールを注入することによって消去される。ドープされたポリシリコンゲートがメモリセルチャネルの一部の上に延在していることで別個の選択トランジスタが形成されている分割ゲート構造の類似するセルが提供される。
別の手法では、ONO誘電体層がソース拡散とドレイン拡散の間のチャネルを横切って延在する各NROMセルに2ビットが記憶される。1データビットの電荷は、ドレインに隣接する誘電体層に局所化され、他のデータビットの電荷はソースに隣接する誘電体層に局所化される。マルチ状態データ記憶は、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実現される。
図3は、3つのNANDストリングを示す回路図である。NAND構造を使用するフラッシュメモリシステムの典型的なアーキテクチャは、数個のNANDストリングを含む。例えば、3つのNANDストリング320、340及び360は、さらに多くのNANDストリングを有するメモリアレイ内で見ることができる。NANDストリングのそれぞれが2個の選択ゲートと4個の記憶素子を含む。図面を簡素化するために4個の記憶素子が示されているが、最新のNANDストリングは、例えば、32個又は64個の記憶素子を有することもある。
例えば、NANDストリング320は、選択ゲート322及び327並びに記憶素子323から326を含み、NANDストリング340は、選択ゲート342及び347並びに記憶素子343から346を含み、NANDストリング360は、選択ゲート362及び367並びに記憶素子363から366を含む。各NANDストリングは、その選択ゲート(例えば、選択ゲート327、347又は367)によってソースラインに接続される。ソース側選択ゲートの制御には、選択ラインSGSが使用される。多様なNANDストリング320、340及び360は、各選択ゲート322、342、362内の選択トランジスタによって、各ビットライン321、341及び361に接続される。これらの選択トランジスタは、ドレイン選択ラインSGDによって制御される。他の実施形態では、選択ラインは、必ずしもNANDストリングの間で共通である必要はない。つまり、異なる選択ラインを、異なるNANDストリングのために設けることもできる。ワードラインWL3は、記憶素子323、343及び363の制御ゲートに接続される。ワードラインWL2は、記憶素子324、344及び364の制御ゲートに接続される。ワードラインWL1は、記憶素子325、345及び365の制御ゲートに接続される。ワードラインWL0は、記憶素子326、346及び366の制御ゲートに接続される。図から分かるように、各ビットライン及びそれぞれのNANDストリングは、記憶素子のアレイ又は一組の列を含む。ワードライン(WL3、WL2、WL1及びWL0)は、アレイ又は一組の行を含む。各ワードラインは、行内の各記憶素子の制御ゲートに接続されている。あるいは、制御ゲートは、ワードライン自体によって構成されてもよい。例えば、ワードラインWL2は、記憶素子324、344及び364の制御ゲートを構成することができる。実際には、1本のワードライン上に数千の記憶素子がある場合がある。
各記憶素子はデータを記憶することができる。例えば、1ビットのデジタルデータを記憶するとき、記憶素子の閾値電圧(Vth)の範囲は、論理データ「1」および「0」を割り当てられる2つの範囲に分割される。NANDタイプのフラッシュメモリの一例では、Vthは、記憶素子が消去された後に負となり、論理「1」として定義される。プログラム動作後のVthは、正となり、論理「0」として定義される。Vthが負であるときに読み出しが試行されると、記憶素子はオンして論理「1」が記憶されていることが示される。Vthが正であるときに読み出しが試行されると、記憶素子はオンせず、論理「0」が記憶されていることが示される。記憶素子は、例えば複数ビットのデジタルデータ等、複数のレベルの情報を記憶することもできる。この場合、Vthの値の範囲はデータのレベルの数に分けられる。例えば、4レベルの情報が記憶される場合、データ値「11」、「10」、「01」、及び「00」に割り当てられる4つのVthの範囲がある。NANDタイプメモリの一例では、消去動作後のVthは負となり、「11」と定義される。正のVthは、「10」、「01」、及び「00」の状態のために使用される。記憶素子にプログラムされるデータと、素子の閾値電圧範囲の間の特定の関係は、記憶素子のために採用されるデータ符号化方式に依存する。
フラッシュ記憶素子をプログラムするときは、記憶素子の制御ゲートにプログラム電圧を印加され、その記憶素子に接続されたビットラインを接地する。それにより、チャネルからの電子がフローティングゲートに注入される。フローティングゲート内に電子が蓄積すると、フローティングゲートは負に帯電し、記憶素子のVthが上昇する。プログラムする記憶素子の制御ゲートにプログラム電圧を印加するためには、適切なワードラインにプログラム電圧を印加する。前述したように、それぞれのNANDストリングにおける一つの記憶素子が、同じワードラインを共有する。例えば図3の記憶素子324をプログラムする場合、プログラム電圧が、記憶素子344及び364の制御ゲートにも印加される。
しかしながら、他のNANDストリングのプログラム中に、禁止されたNANDストリングでは、ときにはプログラムされるそのNANDストリング自体でも、プログラム外乱が発生し得る。プログラム外乱は、他の不揮発性記憶素子のプログラムに起因して、非選択の不揮発性記憶素子の閾値電圧が変化することによって起きる。プログラム外乱は、プログラムされていない消去状態の記憶素子だけではなく、以前にプログラムされた記憶素子でも発生し得る。プログラム外乱の多様なメカニズムにより、NANDフラッシュメモリといった不揮発性記憶素子の使用可能な動作範囲が制限され得る。
例えば、NANDストリング320が禁止され(即ち、現在プログラムされる記憶素子を含まない非選択のNANDストリングであり)、NANDストリング340がプログラムされている(即ち、現在プログラムされる記憶素子を含む選択されたNANDストリングである)場合、プログラム外乱がNANDストリング320で発生することがある。例えばパス電圧Vpassが低いような場合は、禁止されたNANDストリングのチャネルが十分にブーストされず、非選択のNANDストリングの選択されたワードラインが意図せずプログラムされることがある。別の考えられる状況では、ブーストされていた電圧が、ゲート誘導ドレインリーク(GIDL)又は他のリーク現象によって引き下げられ、同じ問題を起こすことがある。後にプログラムされる他の隣接記憶素子との容量結合による電荷記憶素子のVthの変化といった他の影響も、プログラム外乱の要因となり得る。
図4は、図1aと1bに示すようなNAND記憶素子のアレイ400の例を示す。各列に沿って、ビットライン406が、NANDストリング450のドレイン選択ゲートのドレイン端子426に接続されている。NANDストリングの各行に沿って、ソースライン404が、NANDストリングのソース選択ゲートの全てのソース端子428に接続されている。
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュEEPROMシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページは、プログラムの最小単位である。1ページ又は複数ページのデータは、通常、記憶素子の1行に記憶される。例えば、1行は、通常、いくつかのインタリーブされたページを含む、あるいは、1行は1ページを構成してよい。ページの全ての記憶素子は、一度に読み出され、又は、プログラムされる。さらに、ページは、一つ又は複数のセクタからユーザデータを記憶できる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理概念である。つまり、セクタは、通常、コントローラに限定されるオーバヘッドデータは含まない。オーバヘッドデータは、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含むことができる。(後述される)コントローラの一部は、データがアレイにプログラムされるときにECCを計算し、データがアレイから読み出されるときにそれをチェックする。また、ECC及び/又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページに記憶されてもよいし、もしくは、異なるブロックに記憶されてもよい。
ユーザデータのセクタは一般に512バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の16〜20バイトである。多数のページがブロックを構成し、それは8ページから、例えば最大32、64、128又はそれ以上のページのいずれであってもよい。いくつかの実施形態では、NANDストリングの列はブロックを含む。
一実施形態では、メモリ記憶素子は、十分な期間に亘ってp−ウェルが消去電圧(例えば14から22V)に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、非選択ワードライン、ビットライン、選択ライン及びc−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、フローティングゲートの電子が、通常はファウラー−ノードハイムトンネル現象によって基板側に放出されるにつれて、選択された記憶素子のデータが消去される。電子がフローティングゲートからp−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
図5は、単一行/列デコーダ及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図である。同図は、一実施形態に従って記憶素子のページを同時に読み出し、プログラムするための読み出し/書き込み回路を有するメモリ素子596を示す。メモリ素子596は、一つ以上のメモリダイ598を有する。メモリダイ598は、2次元のアレイの記憶素子400、制御回路510、及び、読み出し/書き込み回路565を有する。いくつかの実施形態では、記憶素子のアレイは三次元である場合がある。メモリアレイ400は行復号部530を介してワードラインによって、及び列復号部560を介してビットラインによってアドレスできる。読み出し/書き込み回路565は複数の検出ブロック500を有しており、1ページの記憶素子を並列に読み出し又はプログラムすることができる。一般に、制御部550は、一つ以上のメモリダイ598のように同じメモリ素子596(例えば、取り外し可能なストレージカード)内に含まれる。コマンド及びデータは、ライン520を介してホストと制御部550の間及びライン518を介して制御部と一つ以上のメモリダイ598の間で送られる。
制御回路510は、読み出し/書き込み回路565と協調して、メモリアレイ400上でメモリ動作を実行する。制御回路510は、状態マシン512、オンチップアドレスデコーダ514、及び電力制御モジュール516を含む。状態マシン512は、メモリ動作のチップレベル制御を提供する。オンチップアドレスデコーダ514は、ホスト又はメモリコントローラによって使用されるとともに、デコーダ530と560によって使用されるハードウェアアドレスの間にアドレスインタフェースを提供する。電力制御モジュール516は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
いくつかの実装例では、図5の構成要素のいくつかを組み合わせることができる。多様な設計では、記憶素子アレイ400以外の(単独又は組み合わせた)一つ又は複数の構成要素を、管理回路つまり制御回路と見なすことができる。例えば、一又は複数の管理回路又は制御回路は、制御回路510、状態マシン512、デコーダ514/560、電力制御516、検出ブロック500、読み出し/書き込み回路565、制御部550等の内の任意の一又は組み合わせを含んでよい。
別の実施形態では、不揮発性メモリシステムは、二重の行/列デコーダ及び読み出し/書き込み回路を使用する。メモリアレイ400に対する種々の周辺回路によるアクセスは、アレイの対向する側で対称的に実施され、これによって各側のアクセスライン及び回路の密度が半減される。したがって、行デコーダは2つの行デコーダに分割されており、列デコーダは2つの列デコーダに分割されている。同様に、読み出し/書き込み回路は底部からビットラインに接続する読み出し/書き込み回路と、アレイ400の上部からビットラインに接続する読み出し/書き込み回路に分割される。このようにして、読み出し/書き込みモジュールの密度は、基本的に2分の1、削減される。
図6は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック500は、検出モジュール580と呼ばれるコア部分、及び共通部分590に区切られる。一実施形態では、ビットラインごとに別個の検出モジュール580、及び、複数の検出モジュールの一組に一つの共通部分590がある。一例では、検出ブロックは、一つの共通部分590及び8つの検出モジュール580を含む。グループ内の検出モジュールのそれぞれが、データバス572を介して関連付けられた共通部分と通信する。
検出モジュール580は、接続されているビットラインの導通電流が所定の閾値レベルを超えているのか、それとも下回っているのかを判断する検出回路570を含む。検出モジュール580は、接続されたビットライン上で電圧状態を設定するために使用されるビットラインラッチ582も含む。例えば、ビットラインラッチ582で所定の状態にラッチされることにより、接続されたビットラインは、プログラム禁止(例えば、1.5から3V)を指定する状態にプルされることになる。
共通部分590は、プロセッサ592、一組のデータラッチ594、及び、一組のデータラッチ594とデータバス520の間に結合されているI/Oインタフェース596を含む。プロセッサ592は、計算を実行する。例えば、その機能の一つは、検出された記憶素子に記憶されるデータを特定し、一組のデータラッチにその決定されたデータを記憶することである。一組のデータラッチ594は、読み出し動作の間にプロセッサ592によって決定されるデータビットを記憶するために使用される。それは、プログラム動作中にデータバス520からインポートされるデータビットを記憶するためにも使用される。インポートされたデータビットは、メモリの中にプログラムされるべきことを意味する書き込みデータを表す。I/Oインタフェース596は、データラッチ594とデータバス520の間のインタフェースを提供する。
読み出し又は検知の間、システムの動作は状態マシン512の制御下にあり、状態マシン512は、アドレス指定された記憶素子に対する様々な制御ゲート電圧の供給を制御する。サポートする多様なメモリ状態に対応して、所定の多様な制御ゲート電圧が順次供給されていくと、これらの電圧のなかの一つで検出モジュール580がトリップし、検出モジュール580からの出力がバス572を介してプロセッサ592に提供される。このとき、プロセッサ592は、検出モジュールがトリップしたことと、入力回線593を介して状態マシンから得られる印加した制御ゲート電圧についての情報とを考慮し、その結果として得られるメモリ状態を決定する。次に、それは、メモリ状態を2進コード化し、結果として生じるデータビットをデータラッチ594に記憶する。コア部分の別の実施形態では、ビットラインラッチ582は、検出モジュール580の出力をラッチするためのラッチとして、また、上述されたビットラインラッチとして二重の役割を果たす。
いくつかの実装例は、複数のプロセッサ592を含むことがある。一実施形態では、出力ラインのそれぞれがともにワイヤードOR化されるように、各プロセッサ592が出力ライン(不図示)を含む。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続される前に反転される。ワイヤードORを受け取る状態マシンは、プログラムされている全てのビットがいつ所望されるレベルに達したのかを判断できるため、この構成によって、いつプログラムプロセスが完了したのかの、プログラム検証プロセスの間の迅速な判断が可能になる。例えば、各ビットがその所望されたレベルに達すると、そのビットの論理ゼロがワイヤードORラインに送られる(又はデータ1が反転される)。全てのビットがデータ0(又は反転されたデータ1)を出力すると、次に状態マシンはプログラムプロセスを終了しなければならないことを知る。各プロセッサは8つの検出モジュールと通信するため、状態マシンはワイヤードORラインを8度読み出す必要がある。つまり、論理がプロセッサ592に追加され、状態マシンがワイヤードORラインを1度だけ読み出せばよいように、関連付けられたビットラインの結果を蓄積する。同様に、論理レベルを正しく選ぶことによって、グローバル状態マシンはいつ第1のビットがその状態を変更するのかを検出し、アルゴリズムを適切に変更する。
プログラム又は検証の間に、プログラムされるデータは、データバス520から一組のデータラッチ594に記憶される。状態マシンの制御下にあるプログラム動作は、アドレス指定された記憶素子の制御ゲートに印加される一連のプログラム電圧パルスを含む。各プログラムパルスの後ろには、記憶素子が所望されるメモリ状態にプログラムされたかどうかを判断するために読み返し(検証)が続く。プロセッサ592は、所望されるメモリ状態に関して読み返しメモリ状態を監視する。この2つが一致するとき、ビットラインがプログラム禁止を指定する状態にプルされるように、プロセッサ592がビットラインラッチ582を設定する。これが、プログラムパルスがその制御ゲートに出現したとしても、ビットラインに結合された記憶素子がさらにプログラムされるのを禁止する。他の実施形態では、プロセッサはビットラインラッチ582を初期にロードし、検証プロセスの間に検出回路がそれを禁止値に設定する。
データラッチスタック594は、検出モジュールに対応するデータラッチのスタックを含む。一実施形態では、検出モジュール580ごとに3つのデータラッチがある。(必須ではないが)いくつかの実装例では、データラッチは、その中に記憶される並列データが、データバス520用のシリアルデータに変換され、逆の場合も同じとなるように、シフトレジスタとして実装される。好ましい実施形態では、データのブロックをシリアル転送によって入力又は出力できるように、m個の記憶素子の読み出し/書き込みブロックに対応する全てのデータラッチがともにリンクしてブロックシフトレジスタが形成され得る。特に、読み出し/書き込みモジュールのバンクは、一組のデータラッチのそれぞれが、あたかもそれらが読み出し/書き込みブロック全体のためのシフトレジスタの一部であるかのように、データをデータバスの中に又はデータバスの中から次々とシフトするように適応される。
図7は、全ビットラインメモリアーキテクチャ用、又は、奇数−偶数メモリアーキテクチャ用のブロックへのメモリアレイの編成の例を示す。メモリアレイ400の例示的な構造が説明される。一例として、1024個のブロックに区切られるNANDフラッシュEEPROMが説明される。各ブロックに記憶されるデータは、同時に消去され得る。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックにビットラインBL0、BL1、...BL8511に対応する8,512の列がある。全ビットライン(ABL)アーキテクチャ(アーキテクチャ710)と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラム動作の間に同時に選択され得る。共通ワードラインに沿った、任意のビットラインに接続された記憶素子は、同時にプログラムされ得る。
提供されている例では、4個の記憶素子が直列で接続され、NANDストリングを形成する。4個の記憶素子が各NANDストリングに含まれるように示されているが、4個以上又は4個未満(例えば、16、32、64、又は別の数)を使用できる。NANDストリングの一つの端子はドレイン選択ゲートを介して対応するビットラインに接続され(ゲートドレインラインSGDを選択するために接続され)、別の端子はソース選択ゲートを介してc−ソースに接続される(ゲートソースラインSGSを選択するために接続される)。
奇数−偶数アーキテクチャ(アーキテクチャ700)と呼ばれる別の実施形態では、ビットラインは偶数ビットライン(BLe)及び奇数ビットライン(BLo)に分割される。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿った、奇数ビットラインに接続された記憶素子は、一度にプログラムされる。一方、共通ビットラインに沿った、偶数ビットラインに接続された記憶素子は別のときにプログラムされる。この例では、各ブロックに偶数列及び奇数列に分割される8,512の列があり、64個の記憶素子が1列内に直列で接続され、NANDストリングを形成するのが示されている。
読み出し動作及びプログラム動作の一つの構成の間に、4,256個の記憶素子が同時に選択される。選択された記憶素子は、同じワードライン及び同種のビットライン(例えば、偶数又は奇数)を有する。したがって、論理ページを形成する532バイトのデータを同時に読み出す、又はプログラムすることができ、メモリの1ブロックが少なくとも8論理ページ(奇数ページ及び偶数ページにそれぞれ4ワードライン)を記憶できる。マルチ状態の記憶素子の場合、各記憶素子が2ビットのデータを記憶し、これらの2個のビットのそれぞれが異なるページに記憶されるとき、1ブロックは16論理ページを記憶できる。また、他のサイズのブロック及びページも使用できる。
ABLアーキテクチャ又は奇数−偶数アーキテクチャどちらかの場合、記憶素子は、p−ウェルを消去電圧(例えば20V)に上昇させ、選択されたブロックのワードラインを接地することによって消去され得る。ソースライン及びビットラインはフローティングしている。消去はメモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行され得る。電子は、記憶素子のVthが負になるように、記憶素子のフローティングゲートからp−ウェル領域に転送される。
読み出し動作及び検証動作では、選択ゲート(SGD及びSGS)が2.5から4.5Vの範囲の電圧に接続され、非選択のワードライン(例えば、WL2が選択されたワードラインであるとき、WL0、WL1、及びWL3)が読み出しパス電圧VREAD(通常、4.5から6Vの範囲の電圧)に上昇され、トランジスタをパスゲートとして動作させる。選択ワードラインWL2はある電圧に接続され、その電圧のレベルは、対象の記憶素子のVthがそのレベルを上回っているのか、それとも下回っているのかを判断するために、各読み出し動作及び検証動作ごとに指定される。例えば、2レベルの記憶素子のための読み出し動作では、選択ワードラインWL2が接地され、Vthが0ボルトよりも高いかどうかが検出され得る。2レベルの記憶素子のための検証動作では、選択ワードラインWL2は、例えば0.8Vに接続され、その結果、Vthが少なくとも0.8Vを超えたかどうかが検証される。ソース及びp−ウェルは0Vである。偶数ビットライン(BLe)であると仮定される選択ビットラインは、例えば0.7Vというレベルにプリチャージされる。Vthがワードラインの読み出しレベル又は検証レベルよりも高い場合には、対象の記憶素子と関連付けられたビットライン(BLe)の電位レベルは、非導電性記憶素子のために高レベルに維持される。他方、Vthが読み出しレベル又は検証レベルよりも低い場合には、関係するビットライン(BLe)の電位レベルは、導電性記憶素子がビットラインを放電するため、例えば0.5V未満等の低レベルに減少する。したがって、記憶素子の状態が、ビットラインに接続されている電圧コンパレータ検出増幅器により検出され得る。
図8は、一組の閾値電圧分布及びワンパスプログラムの例を示す。記憶素子アレイのための例示の閾値電圧分布は、各記憶素子が2ビットのデータを記憶する場合に提供される。第1の閾値電圧分布800は、消去された(状態E)記憶素子を表す。3つの閾値電圧分布802、804、及び806は、それぞれプログラムされた状態A、B及びCを表す。一実施形態では、E分布内の閾値電圧は負であり、A、B及びC分布内の閾値電圧は正である。
特定の状態にある記憶素子の数は、その閾値電圧が対応する検証レベルを上回るとされた記憶素子をカウントすることによって、特定することができる。
それぞれの独立した閾値電圧範囲は、一組のデータビットの所定値に対応する。記憶素子にプログラムされたデータと記憶素子の閾値電圧レベルの特定の関係は、記憶素子のために採用されるデータ符号化方式に依存する。一実施形態では、フローティングゲートの閾値電圧が誤ってその隣の物理状態にシフトすると、1ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲E(状態E)に「11」を、閾値電圧範囲A(状態A)に「10」を、閾値電圧範囲B(状態B)に「00」を、及び閾値電圧範囲C(状態C)に「01」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。4つの状態が図示されているが、本技術は、4つの状態より多い又は少ない状態を含む他のマルチ状態構造に使用することもできる。
記憶素子からデータを読み出すための3つの読み出し基準電圧、Vra、Vrb、及びVrcが提供される。所与の記憶素子の閾値電圧がVra、Vrb、及びVrcを超えているのか、それとも下回っているのかをテストすることによって、システムは、例えば、プログラム状態等の、記憶素子の状態を特定することができる。
さらに、3つの検証基準電圧Vva、Vvb、及びVvcが、記憶素子からデータを読み出すために提供される。記憶素子を状態Aにプログラムするとき、システムは、それらの記憶素子がVva以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Bにプログラムするとき、システムは、記憶素子がVvb以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Cにプログラムするとき、システムは、記憶素子がVvc以上の閾値電圧を有するかどうかをテストする。
一実施形態では、フルシーケンスプログラムとして知られるが、記憶素子は、消去状態Eからプログラム状態A、B又はCの何れかに直接的にプログラムされる。例えば、まず、プログラムされる記憶素子の集合中の全ての記憶素子が消去状態Eとなるように、当該集合が消去される場合がある。図16aに示される一連のプログラムパルスは、記憶素子を直接的に状態A、B、又はCにプログラムするために使用される。いくつかの記憶素子は状態Eから状態Aにプログラムされ、他の記憶素子は状態Eから状態Bに、及び/又は、状態Eから状態Cにプログラムされる。WLn上で状態Eから状態Cにプログラムするときには、WLn下のフローティングゲート上の電荷の量の変化が、状態Eから状態Aに、又は、状態Eから状態Bにプログラムするときの電荷の変化と比較して最大となるので、WLn―1下の隣接フローティングゲートに対する寄生結合の量は最大値に達する。状態Eから状態Bにプログラムするときは、隣接フローティングゲートへの結合の量はより少ない。状態Eから状態Aにプログラムするときは、結合の量はさらに削減される。
Vtは、一つの検証レベルを示すが、データ状態のための検証レベルとは異なる。例えば図16a、図16bに関連して後述するように、それは第2のプログラムパルスを開始するトリガとして使用されることができる。この場合、Vtは、VvaとVvbとの間、即ち、データ状態AとBのための検証レベルの間とすることができる。
他の選択肢として、一又は複数のデータ状態のために、低検証レベルと高検証レベルを使用することが挙げられる。例えば、VvaLとVvaHを状態Aのための低検証レベルと高検証レベルとし、VvbLとVvbHを状態Bのための低検証レベルと高検証レベルとすることができる。プログラムの間、目標状態として状態Aにプログラムされている記憶素子の閾値電圧がVvaLを超えた時に、それに接続されたビットライン電圧を、プログラム、即ち、非禁止レベルと完全禁止レベルとの間のあるレベルまで上げることによって、記憶素子のプログラム速度を減速させる。これは、閾値電圧の大きな増大を避け、正確性をもたらす。閾値電圧がVvaHに達した時、記憶素子はさらなるプログラムからロックアウトされる。同様に、目標状態として状態Bにプログラムされている記憶素子の閾値電圧がVvbLを超えた時に、その記憶素子のプログラム速度を減速し、閾値電圧がVvbHに達した時に、記憶素子をさらなるプログラムからロックアウトする。このようなプログラム技術は、クイックパス書き込み、あるいは二重検証技術と称される。ここで、一例ではあるが、最高位の状態については、いくらかのオーバーシュートは基本的に許容されるので、二重の検証レベルを使用しなくてもよい。その代わり、消去状態よりも高く、最高位の状態よりも低いプログラム状態に関しては、二重の検証レベルを使用することができる。
図9は、2つの異なるページ(下側ページと上側ページ)に対してデータを記憶するマルチ状態記憶素子をプログラムするツーパス技術の一例を示している。図8の閾値電圧分布800、802、804および806の繰り返しで4つの状態が示されている。これらの状態およびその示すビットは、状態E(11)、状態A(10)、状態B(00)及び状態C(01)である。状態Eの場合、両方のページが「1」を記憶する。状態Aの場合、下側ページが「0」を記憶し、上側ページが「1」を記憶する。状態Bの場合、両方のページが「0」を記憶する。状態Cの場合、下側ページが「1」を記憶し、上側ページが「0」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。
第1プログラムパスでは、記憶素子の閾値電圧レベルが、下側の論理ページにプログラムされるビットに応じて設定される。そのビットが論理「1」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「0」であれば、矢印900で示したように、記憶素子の閾値レベルは状態Aになるように増大される。これによって、第1プログラムパスを終了する。
第2プログラムパスでは、記憶素子の閾値電圧レベルが、上側論理ページ内にプログラムされるビットに応じて設定される。上側論理ページビットが論理「1」を記憶する場合、記憶素子は下側ページビットのプログラムに依存する状態E又はAの一方であり、どちらも上側ページビットは「1」を保持するのでプログラムは生じない。上側ページビットが論理「0」となる場合、閾値電圧はシフトされる。第1パスによって記憶素子が消去状態Eに留まっていれば第2段階で記憶素子をプログラムし、矢印920で示したように閾値電圧が状態C内になるように増大させる。第1プログラムパスの結果として記憶素子が状態A内にプログラムされれば、記憶素子はさらに第2パスでプログラムされ、矢印910で示したように閾値電圧が状態B内になるように増大させる。第2パスの結果は、下側ページ用のデータを変更することなく、上側ページの論理「0」を記憶するように指定した状態に記憶素子をプログラムすることである。図8および9の両方において、隣接するワードライン上のフローティングゲートへの結合量は最終状態に依存する。
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラム処理は受け取ったデータを用いて下側ページプログラムを実行できる。次のデータを受け取ったときは、システムは上側ページをプログラムする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインの記憶素子の全体(又は大部分)を充填するために次の十分なデータを受け取った場合、全シーケンスプログラムモードに変換する。
図10aから図10cは、前のページの隣接記憶素子に書き込んだ後で、特定のページに対してその特定の記憶素子を書き込むことによって、その特定の記憶素子に対するフローティングゲート間結合効果を低減する不揮発性メモリをプログラムする別の方法を開示している。実装形態の一例では、不揮発性記憶素子は、4つのデータ状態を用いて記憶素子毎に2ビットのデータを記憶する。例えば、状態Eが消去状態であり、状態A、B及びCがプログラム状態であると仮定する。状態Eはデータ11を記憶している。状態Aはデータ01を記憶している。状態Bはデータ10を記憶している。状態Cはデータ00を記憶している。両方のビットは隣接する状態A及びBの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各記憶素子は2ページ分のデータを記憶する。参照のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。状態Aを参照すると、上側ページはビット0を記憶し、下側ページはビット1を記憶している。状態Bを参照すると、上側ページはビット1を記憶し、下側ページはビット0を記憶している。状態Cを参照すると、両方のページがビットデータ0を記憶している。
プログラム処理は、2つのステップの処理である。第1ステップでは、下側ページをプログラムする。下側ページがデータ1のままである場合、記憶素子状態は状態E(分布1000)に留まる。データが0にプログラムされる場合、記憶素子の電圧の閾値は、記憶素子が状態B’(分布1010)にプログラムされるように引き上げられる。状態B’は、中間状態又はあいまいな状態である。従って、図10aは、状態Eから状態B’への記憶素子のプログラムを示している。状態B’は暫定的状態Bであり、従って、検証点はVvb’として示され、Vvbより低い。
分布1010は、状態B’の記憶素子が分布1010に達する前に経験する、一時的で過渡的な分布(図示されず)を伴ってもよい。
一実施形態では、状態Eから状態B’に記憶素子をプログラムした後、NANDストリング内の隣接記憶素子(WLn+1)をその下側ページに対してプログラムする。例えば、図2を見直すと、記憶素子106用の下側ページをプログラムした後、記憶素子104の下側ページをプログラムする。記憶素子104をプログラムした後、記憶素子104が状態Eから状態B’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響は記憶素子106の見かけの閾値電圧を上昇させる。これは、図10bの閾値電圧分布1012に示したように状態B’の閾値電圧分布を拡大する効果を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。また、状態Eは、分布1002によって示されるように、より少ない範囲に広げられてもよい。
図10cは、上側ページをプログラムする工程を示している。記憶素子が消去状態Eであって上側ページが1に留まる場合、記憶素子は状態E(分布1002)に留まる。記憶素子が状態Eであり、その上側ページデータが0にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態A(分布1004)になる。記憶素子が中間の閾値電圧分布1012であって上側ページデータが1に留まる場合、記憶素子は最終状態B(分布1006)にプログラムされる。記憶素子が中間の閾値電圧分布1012であって上側ページデータがデータ0になる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態C(分布1008)になる。図10a−cに示す工程は、対して、隣接する記憶素子への上側ページのプログラムのみが、特定の記憶素子の明確な閾値電圧に影響を与えるので、フローティングゲートのフローティングゲートカップリングへの影響を低減することができる。選択的な符号化の一例は、分布1012を、上側ページが1であれば状態Cへ遷移させ、上側ページが0であれば状態Bへ遷移させる。
図10aから図10cは、4つのデータ状態、及び、2ページのデータに関しての例を提供するが、教示される概念は、4つの状態より多い又は少なく、2ページより多い又は少ない他の実装例に適用できる。例えば、記憶素子ごとに8つ又は16の状態のあるメモリ素子が、現在、計画されている、又は生産中である。
図11は、一組の記憶素子のためのマルチパスプログラム動作を示す。図示された構成要素は、はるかに多数の記憶素子、ワードライン及びビットラインの組の一部であってもよい。考えられる一つのプログラム動作では、例えば記憶素子1102、1104、及び1106等のWLn−1上の記憶素子が、第1のプログラムパスでプログラムされる。このステップは、丸囲みの「1」で表される。次に(「2」)、例えば記憶素子1112、1114及び1116等のWLn上の記憶素子が、第1のプログラムパスでプログラムされる。この例では、プログラムのためにワードラインが選択されると、各プログラムパルスの後に検証動作が行われる。WLnでの検証動作中に、一又は複数の検証電圧がWLnに印加され、パス電圧がWLn−1及びWLn+1を含む残りのワードラインに印加される。パス電圧は、非選択の記憶素子をオンにする(導電性にする)ために使用され、それによって選択されたワードラインのための検知動作が生じる。次に(「3」)、WLn−1上の記憶素子が、第2のプログラムパスでプログラムされる。次に(「4」)、WLn+1上の記憶素子は、第1のプログラムパスでプログラムされる。次に(「5」)、WLn上の記憶素子が、その最終的なそれぞれの状態に、第2のプログラムパスでプログラムされる。
WLn+1上でのプログラムによって、WLn上の記憶素子は、各状態の閾値電圧分布が高められ、かつ広げられるような影響を受ける。これは、単一パスプログラムとマルチパスプログラムのいずれにおいても発生し得る。単一パスのパスプログラムでは、各ワードラインが完全にプログラムされてから例えばWLn−1、次いでWLn、次いでWLn+1等の次のワードラインに移動する。
図12aは、制御ゲートから、相対的に低状態にある隣接する記憶素子のフローティングゲートへのプログラム電圧の結合を示すNANDストリングの断面図を示す。基板1250は、ソース/ドレイン領域1240、1241、1242、及び1243を含む。記憶素子1210,1220、及び1230は基板上に形成されている。記憶素子1210は、WLn−1制御ゲート1211及びフローティングゲート1212を含む。記憶素子1220は、WLn制御ゲート1221及びフローティングゲート1222を含む。記憶素子1230は、WLn+1制御ゲート1231及びフローティングゲート1232を含む。記憶素子1220は、プログラムされ、WLnを介してVpgmを受け取る。一方、記憶素子1210及び1230は、パス電圧Vpassを受け取る。
NAND素子といったメモリ素子のサイズ縮小が進むにつれて、記憶素子間で生じる干渉が、記憶素子の特徴を決定する上での重要な要素になっている。これらの干渉の内の一つが、ワードラインからワードラインへの干渉である。その他の問題の中でも、これはプログラム中における二つの重要な問題につながる。第1に、WLnのプログラム中、WLn上のバイアスはVpgmであるが、一方、隣接する非選択のワードラインWLn−1及びWLn+1は通常Vpassのバイアスにある。非選択のワードラインが個別の異なるVpassレベルにあることもある。ワードライン/制御ゲート1221上のVpgmは、結合率r2に応じてフローティングゲート1212及び1232に結合し、それによってフローティングゲート1212及び1232の電位を上げる。これは、WLn+1/n−1の記憶素子上でのVpass外乱の確率を高める。あらゆるワードライン上の記憶素子はVpass外乱を受けることで影響され得るが、隣接するフローティングゲートへのVpgm結合によって、それらの記憶素子はVpass外乱に最も影響を受けやすくなる。特に、隣接する記憶素子が、例えばE又はA状態等の相対的に低状態にあるとき、それらのフローティングゲートの中には相対的にほとんど電子がなくフローティングゲート1212にとって相対的により高い電位を生じさせる。制御ゲート1221からの結合は、記憶素子1212及び1232の閾値電圧の上昇につながり、したがってE状態の記憶素子がA状態の記憶素子として読み出されるほどのプログラム外乱(EからAへの間違い)を引き起こすほど、フローティングゲート電位が大きく高められることもある。
消去状態記憶素子は、その低い閾値電圧のために、C状態の記憶素子といった高状態の記憶素子よりも、Vpass外乱の影響をはるかに受けやすい。また、Vpass外乱は、プログラム中にブーストされる禁止チャネル(非選択のNANDストリング)においてではなく、主に、選択されたNANDストリングにおいて等、プログラムチャネルで発生する。ブーストのため、フローティングゲートとチャネルの間の電場は、Vpass外乱に起因する重大な電子トンネリングが発生しないように、プログラムされたチャネルにおいてよりもはるかに低くなる。WLn+1/n−1でVpassを引き下げると、それによりフローティングゲートとチャネルの間の電場が下がるため、Vpass外乱の問題を削減できる。ただし、より低いVpassは、WLn記憶素子上でのプログラム飽和も悪化させる。したがって、一つのVpassレベルは異なるデータ状態にあるWLn−1/n+1記憶素子にとって最適ではない。
図12bは、相対的に高状態にある隣接する記憶素子のフローティングゲートから、プログラム電圧を受け取る制御ゲートへの電子放射を示すNANDストリングの断面図を示す。ここでは、フローティングゲート1212は、制御ゲート1221上での高いVpgmのために電子が放射される領域1213を有する。特に、プログラム動作のいくつかのプログラムパルスの間、WLn上のVpgmは相対的に高い値に達することがある。WLn−1フローティングゲート1212と制御ゲート1221の間の電位差が十分に高いと、フローティングゲート1212の角から制御ゲート1221に向かって電子放射を引き起こすほど強い電場が生じることになる。さらに、記憶素子1210がC状態やその他の高い状態にあるときは、フローティングゲート1212に比較的多くの電子が存在することから、その電位が引き下げられ、リークのためのより強い電場を生じさせることになりので、その問題はさらに悪化する。かかる電子リークは、記憶素子の閾値電圧を低下させるプログラム外乱を引き起こすことがある。例えば、C状態の記憶素子は、あたかもそれがB状態にあるかのように(CからB故障)読み出されることがある。閾値電圧は、フローティングゲートの下にある基板のチャンネルを導電性にするために記憶素子の制御ゲートに印加される必要がある電圧であるため、フローティングゲート内の電荷量が減少すると、記憶素子の閾値電圧が減少することに留意されたい。フローティングゲート内の電荷量が減少するので、制御ゲート/ワードラインに印加されるより小さい電圧で、記憶素子を導電性にするのには十分となる。
禁止チャネルの場合、チャンネル内のブースト電位は、WLn−1/n+1のフローティングゲート1212及び1232まで結合させ、したがってフローティングゲートをより高い電位に上げる。これにより、フローティングゲート1212及び1232と、制御ゲート1221との間の電場が下がり、したがってフローティングゲートから制御ゲートへのリークが削減される。また、WLn−1上でVpssを増加しても、フローティングゲート電位は高まり、したがってこの問題は縮小されるが、それによってまた、記憶素子は前述されたVpass外乱の影響をより受けやすくなる。したがって、やはり一つのVpassレベルは、異なるデータ状態にあるWLn−1/n+1記憶素子にとって最適ではない。
図13aは、マルチパルスプログラム技術の第1の実施形態であって、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。本明細書に説明される技術は、フローティングゲートから制御ゲートへのリークを削減することができる。一方、同時に、WLn+1/n−1上の記憶素子におけるVpass外乱を改善する。先に説明したように、WLn+1/n−1上の記憶素子におけるVpass外乱は、WLn+1/n−1のVpassを引き下げることによって削減できる。ただし、これはプログラム飽和を悪化させることを代償として成立する。
一つの考えられる手法では、記憶素子のプログラムは、一組のプログラムパルスを使用することによって達成される。各組は、複数のプログラムパルスを含んでおり、一組のプログラムパルスの後に、検証動作が行われる。一組のプログラムパルスの間では、検証動作が実行されない。WLnに接続された記憶素子のためにプログラム動作を開始するコマンドに応じて、検知/読み出し動作がWLn−1上で実行され、WLn−1記憶素子の状態が決定される。WLnのプログラムが終了されるまで、読み出し動作の結果は、例えばラッチ又は他の一時的な記憶部へ、一時的に保存される。WLnに接続された記憶素子は、次いで別々に、WLn−1記憶素子の状態に基づき、一度に一グループずつ、グループ毎にプログラムされ、一のプログラムパルスがグループごとに印加される。このプログラム中に、グループ特有のパス電圧をWLn−1に印加してもよい。この手法によると、潜在的に、より深い消去状態やより高いC状態が可能となり、したがって閾値電圧の範囲が拡大される。
図13aでは、グループの数は、WLn−1上の記憶素子の考えられるデータ状態の数と同じである。例えば、4つの考えられる状態E、A、B及びCがある場合、記憶素子の4つのグループがあり、プログラム動作の各反復は、WLnに対して4つのプログラムパルスの組を印加することを含み、その後に検証動作の一又は複数のパルスが続く。例えば、プログラム動作が完了するまで、プログラムパルス1302、1304、1306、及び1308の後には検証パルス1309が続き、プログラムパルス1312、1314、1316及び1318の後には検証パルス1319が続き、プログラムパルス1322、1324、1326、及び1328の後には検証パルス1329が続き、プログラムパルス1332、1334、1336及び1338の後には、検証パルス1339が続く等である。全ての記憶素子のために検証動作を並行して実行すると、プログラム時間が短縮される。プログラムパルスに表記されたE、A、B又はCは、それに隣接するWLn−1の近傍記憶素子がその特定の状態にあるWLn上の記憶素子をプログラムするために使用されるプログラムパルスを示す。
一組のプログラムパルスにおける各プログラムパルスは、同じ又は異なる大きさを有してよい。考えられる一つの手法では、プログラムパルスの大きさは、WLn−1上のパス電圧が上昇するにつれて減少する。これは、効果的なVpgmの突然の変化を回避する。具体的には、パス電圧が増加するにつれて(図13bを参照)、一組のプログラムパルスにおいてVpgmを降圧していくことができる。したがって、プログラムパルス1308の大きさはパルス1306の大きさよりも小さく、プログラムパルス1306の大きさはパルス1304の大きさよりも小さく、プログラムパルス1304の大きさはパルス1302の大きさよりも小さい。プログラムパルスは、依然として一組ごとに増分的に増加することもある。したがって、プログラムパルス1318の大きさはパルス1308の大きさよりも大きく、プログラムパルス1316の大きさは、パルス1306の大きさよりも大きくてもよい。一例であるが、Vpgmの大きさをステップダウンさせるものを、図13a、図14a、図16c、図17a、図18a、及び図20aにおいて点線で示す。
図13aのプログラムパルスはWLnに印加されるが、関連付けられるパス電圧は、図13bに示すように、WLn−1に印加される。
図13bは、図13aのプログラム動作の間に、隣接する非選択のワードラインに印加されるパルス列を示す。図13bのパルス列は、図13aのパルス列と時間的に整合されている。パルス列は、本明細書中では、時間及び/又は大きさという点で必ずしも拡大/縮小しない。プログラムパルスごとに、対応するパス電圧がWLn−1に印加される。考えられる一例として、名目のVpassを隣接していない非選択の記憶素子に印加してもよい。具体的には、Vpass1(1342)、Vpass2(1344)、Vpass3(1346)及びVpass4(1348)の大きさのパス電圧が、プログラムパルス1302、1304、1306、及び1308それぞれがWLnに印加されるときにWLn−1に印加され、この場合Vpass1<Vpass2<Vpass3<Vpass4である。
Vpass1(1342)がWLn−1に印加される期間、プログラムパルス1302がWLnに印加され、WLn上の記憶素子のうち、隣接するWLn−1上の記憶素子がE状態である第1のグループはプログラムされ、隣接するWLn−1上の記憶素子がそれぞれA、B又はC状態にある第2、第3及び第4のグループは禁止される。Vpass2(1344)がWLn−1に印加される期間では、プログラムパルス1304がWLnに印加され、WLn上の記憶素子の第1、第3及び第4のグループが禁止されている間に、WLn上の記憶素子の第2のグループがプログラムされる。Vpass3(1346)がWLn−1に印加される期間では、プログラムパルス1306がWLnに印加され、WLn上の記憶素子の第1、第2及び第4のグループが禁止されている間に、WLn上の記憶素子の第3のグループがプログラムされる。Vpass4(1348)がWLn−1に印加される期間では、プログラムパルス1308がWLnに印加され、WLn上の記憶素子の第1、第2及び第3のグループが禁止されている間に、WLn上の記憶素子の第4のグループがプログラムされる。
検証動作中は、読み出し電圧Vread1349が、WLn−1及び他の非選択のワードラインに印加される。上述したように、各プログラムパルス及び対応するパス電圧ごとに、WLn上の記憶素子の一つのグループがプログラムのために選択される。記憶素子がNANDストリング等の直列接続ストリングで配置されるとき、対応するストリング又はビットラインを選択することによって一つの記憶素子がプログラムのために選択できる。これはビットラインに0Vを印加することを含んでよい。同様に、例えば、接続されたドレイン側選択ゲートを非導電性にするほどに昇圧された電圧をビットラインに印加するなど、対応するストリング又はビットラインを禁止することによって、記憶素子がプログラムされることを禁止することができる。
パス電圧は異なる順序で印加できることにも留意されたい。最低から最高(例えば、Vpass1、Vpass2、Vpass3、Vpass4)は一つの任意選択である。最高から最低(例えば、Vpass4、Vpass3、Vpass2、Vpass1)は別の任意選択である。他のさらに無作為化した順序も受け入れられる。したがって、一組のプログラムパルスの中で、記憶素子が選択、禁止される順序は任意に変更することができ、特定の順序に制約されない。
図13cは、一組の記憶素子に適用された、マルチパルスプログラム技術の第1の実施形態の適用例を示す。記憶素子のブロックは、例えば、ワードラインWL0からWL63で、及び例のビットラインBLi−2、BLi−1、BLi、BLi+1及びBLi+2で配列される。WL0からWLn−2は、WLnを基準にして、ソース側の隣接していない非選択のワードラインであり、WLn+2からWL63は、WLnを基準にして、ドレイン側の隣接していない非選択のワードラインである。WLn、つまり現在選択されているワードラインは、例の記憶素子1380、1382、1384、1386及び1388に接続されている。WLn−1つまりWLnのソース側の隣接ワードラインは、例の記憶素子1390、1392、1394、1396及び1398に接続されている。記憶素子1390、1392、1394、1396及び1398は、それぞれ記憶素子1380、1382、1384、1386及び1388に直接的に隣接し、それらと同じビットライン又はNANDストリング上にある。
例として、記憶素子1390、1392、1394、1396及び1398が、それぞれE状態、A状態、C状態、B状態、及びA状態にあると仮定する。
プログラムパルスの各組の第1のプログラムパルスの間、例えばプログラムパルス1302、1312、1322及び1332の間は、WLn−1上のE状態記憶素子に隣接するWLn上の記憶素子が、プログラムのために選択される。ここでは、記憶素子1380がプログラムのために選択される。BLi−2は、選択されるビットラインの一つとなる。すなわち、記憶素子1380のプログラムが完了するまで、記憶素子1380は、プログラム可能なNANDストリングを構成することによって、プログラムされることを許容する。WLn上の他の記憶素子は、プログラムされることが禁止される。すなわち、それらは、プログラム不能なNANDストリングを構成することによって、プログラムされることを禁止する。これらの記憶素子は、禁止された少なくとも一つのビットライン(BLi−1、BLi、BLi+1、及びBLi+2を含む)のグループに接続される。この時点では、最も低いパス電圧Vpass1が、WLn−1に印加される。WLn−1記憶素子が低状態であると、低パス電圧がVpass外乱を防ぐので、これは最適である。
各組の第2のプログラムパルスの間、例えばプログラムパルス1304、1314、1324及び1334の間は、WLn−1上のA状態の記憶素子に隣接するWLn上の記憶素子がプログラムのために選択される。ここでは、記憶素子1382及び1388がプログラムのために選択される。これらの記憶素子は、一又は複数の選択されたグループのビットライン(BLi−1及びBLi+2を含む)に接続される。WLn上の他の記憶素子は、プログラムされるのが禁止される。これらの記憶素子は、禁止された一又は複数のグループのビットライン(BLi−2、BLi及びBLi+1を含む)に接続される。このときに、二番目に低いパス電圧Vpass2がWLn−1に印加される。このパス電圧は、WLn−1記憶素子の状態に応じて調整されているので、最適である。
各組の第3のプログラムパルスの間、例えばプログラムパルス1306、1316、1326及び1336の間は、WLn−1上のB状態の記憶素子に隣接するWLn上の記憶素子がプログラムのために選択される。ここでは、記憶素子1386がプログラムのために選択される。この記憶素子は、選択された一又は複数のグループのビットライン(BLi+1を含む)に接続されている。WLn上の他の記憶素子は、プログラムされるのが禁止される。これらの記憶素子は、禁止された一又は複数のグループのビットライン(BLi−2、BLi−1、BLi、及びBLi+2を含む)に接続される。このとき、次に低いパス電圧Vpass3がWLn−1に印加される。
各組の第4のプログラムパルスの間、例えばプログラムパルス1308、1318、1328及び1338の間は、WLn−1上のC状態の記憶素子に隣接するWLn上の記憶素子がプログラムのために選択される。ここでは、記憶素子1384がプログラムのために選択される。この記憶素子は、選択された一又は複数のグループのビットライン(BLiを含む)に接続される。WLn上の他の記憶素子はプログラムされるのが禁止される。これらの記憶素子は、禁止された一又は複数のグループのビットライン(BLi−2、BLi−1、BLi+1、及びBLi+2を含む)に接続される。このとき、最高のパス電圧Vpass4がWLn−1に印加される。
本例は4つのデータ状態のメモリ素子に適用されるが、追加のデータ状態との使用のために拡張できることに留意されたい。
この手法は、パス電圧をWLn−1上の様々なデータ状態に応じて調整するという点で最適であるが、プログラム時間の延長を招く。別の手法では、次に説明するように、各グループに複数のデータ状態が含まれるように、WLn−1上の記憶素子を一又は複数のグループにグループ化し、それによって一反復あたりのプログラムパルス数を削減する。
図14aは、マルチパルスプログラム技術の第2の実施形態であって、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。この手法では、下から2つの状態である状態E及びAを一グループ化し、上から2つの状態である状態B及びCを一グループ化する。したがって、WLnのプログラム動作に関連してWLn−1の読み出しが行われると、状態E及び状態AであるWLn−1上の記憶素子が一グループ化され、状態B及びCであるWLn−1上の記憶素子が一グループ化される。この手法は、WLn−1記憶素子の状態に応じてパス電圧の大きさを調整しながらも、効率化のために異なるパス電圧の数を削減することができる。考えられる他のグループ化も可能である。例えば、状態Eを一グループとし、状態A、B及びCを別の一グループとしてもよい。4つを超えるデータ状態があるとき、考えられるグループ数はさらに多くなる。例えば、8つのデータ状態E、A、B、C、D、E、F及びGの場合、2つのグループを使用することができ、第1のグループは状態E及びAを含み、第2のグループは状態B、C、D、E、F及びGを含む、とすることができる。あるいは、3つのグループを使用してもよく、第1のグループが状態E及び状態Aを含み、第2のグループが状態B、C、D、Eを含み、第3のグループが状態F及びGを含む、とすることもできる。他の変形も考えられる。どのグループ化が最適であるのかは、メモリ素子を個別に試験して決定することができる。
状態E及びAがグループ化され、状態B及びCがグループ化される手法では、プログラム動作の第1の反復は、2つのプログラムパルス1402及び1404と、その後に続く一又は複数の検証パルス1406との組を含むようにすることができる。第1のプログラムパルスは、それに隣接するWLn−1上の記憶素子がE又はA状態にあるWLn上の記憶素子をプログラムするために使用される。第2のプログラムパルスは、それに隣接するWLn−1上の記憶素子がB又はC状態にあるWLn上の記憶素子をプログラムするために使用される。同様に、プログラムパルス1408及び1410の後に検証パルス1412が続き、プログラムパルス1414及び1416の後に検証パルス1418が続き、プログラムパルス1420及び1422の後に検証パルス1424が続く。Vpassがより高いときは、ステップダウンさせたVpgmを使用することもでき、それは点線によって示されている。
図14bは、図14aのプログラム動作中に、隣接する非選択のワードラインに印加されるパルス列を示す。図14bは、図14aと時間的に整合されている。プログラムパルス1402が印加されるときは、VpassLの相対的に小さいパス電圧1425がWLn−1に印加される。プログラムパルス1404が印加されるときは、VpassHの相対的に大きいパス電圧1426がWLn−1に印加される。検証電圧1406がWLnに印加されるときは、Vread1427がWLn−1及び他の非選択のワードラインに印加される。パス電圧のシーケンスは、残りのプログラム反復について繰り返される。
したがって、VpassL(1425)がWLn−1に印加される期間では、プログラムパルス1402がWLnに印加され、WLn上の記憶素子のうち、それに隣接するWLn−1上の記憶素子がE又はA状態である第1のグループの記憶素子がプログラムされる。一方、隣接するWLn−1上の記憶素子がB又はC状態であるWLn上の第2のグループの記憶素子は禁止される。VpassH(1426)がWLn−1に印加される期間では、プログラムパルス1404がWLnに印加され、WLn上の第2のグループの記憶素子がプログラムされ、一方、WLn上の第1のグループの記憶素子は禁止される。
図14cは、一組の記憶素子に適用された、マルチパルスプログラム技術の第2の実施形態の適用例を示す。図13cと同様に、WLn、つまり現在選択されているワードラインは、一例として記憶素子1480、1482、1484、1486及び1488と接続され、WLn−1は、一例として記憶素子1490、1492、1494、1496及び1498に接続されている。各プログラム反復の第1のプログラムパルス1402、1408、1414及び1420の間は、WLn−1上のE又はA状態の記憶素子に隣接するWLn上の記憶素子が、プログラムのために選択される。ここでは、記憶素子1480(BLi−2)、1482(BLi−1)及び1488(BLi+2)が、プログラムのために選択される。このとき、WLn−1にはVpassLが印加される。各プログラム反復の第2のプログラムパルス1404、1410、1416及び1422の間は、WLn−1上のB又はC状態の記憶素子に隣接するWLn上の記憶素子が、プログラムのために選択される。ここでは、記憶素子1484(BLi)及び1486(BLi+1)がプログラムのために選択される。このとき、WLn−1にはVpassHが印加される。
図15は、図13aから図14cに対応するプログラム技術を示す。ステップ1500では、例えばメモリ素子のコントローラがホストから受信するプログラムコマンドに応じて、WLnのプログラム動作を開始する。このプログラムコマンドに応えて、ステップ1502では、M−1個の制御ゲート電圧を使用して、WLn−1上の記憶素子の読み出しを行い、それらの記憶素子をM個(M≧2)のグループに区分する。ここで、隣接するワードライン上の記憶素子は、少なくともM+1個のデータ状態によってデータを記憶できる。例えば、図13aでは、M=4であり、記憶素子を4つのグループに区分するために、3つの制御ゲート電圧が使用される。図14aでは、M=2であり、記憶素子を2つのグループに区分するために、一つの制御ゲート電圧が使用される。制御ゲート電圧は、検知電圧の一種であり、隣接ワードライン上の不揮発性記憶素子を、少なくとも、閾値電圧が検知電圧を下回る(つまり、検知電圧印加時に導電性ではない記憶素子)の第1のグループと、閾値電圧が検知電圧を超える不揮発性記憶素子(つまり、検知電圧印加時に導電性である記憶素子)の第2のグループとに区分するために使用される。
ステップ1504では、ビットライン又はNANDストリング毎に、識別したグループを一又は複数のデータラッチに記憶する。一般的に、メモリ素子では、それぞれが1ビットを記憶する複数のデータラッチが、ビットラインごとに設けられている。設計に応じて、グループ識別を記憶するために十分な数の利用可能なラッチが存在し得る。ラッチあたり1ビットとして、ビットラインあたりK≧1個のラッチはKビットのデータを記憶することができ、2=Mの異なるグループの区分に用いることができる。例えば、M=2のとき、K=1であり、M=4のときK=2である。M=2のとき、0ビットがE又はA状態を示し、1ビットがB又はC状態を示してよい。M=4では、あるラッチ(ラッチ1)での0ビットと他のラッチ(ラッチ2)での0ビットとの組み合わせは、E状態を示すことができ、ラッチ1での0ビット及びラッチ2での1ビットとの組み合わせはA状態を示すことができ、ラッチ1での1ビット及びラッチ2での0ビットとの組み合わせはB状態を示すことができ、ラッチ1での1ビット及びラッチ2での1ビットとの組み合わせはC状態を示すことができる。
ステップ1506では、任意であるが、図17aから図17dを参照して以下に説明する単一パルスによるプログラム処理が使用されてもよい。この手法は、高いプログラム電圧を使用する場合に、プログラム動作期間の途中まで、マルチパルスによるプログラム技術の使用を遅らせることができる。それにより、結果として、WLn−1上の記憶素子のデータ状態に基づいて異なるパス電圧を使用する利点を依然として保ちつつ、プログラム時間を短縮することができる。
ステップ1508では、プログラム反復インデックスi、及びプログラムパルスインデックスjが、「1」に設定される。ステップ1510では、プログラム動作において複数のプログラムパルスのi番目の反復が開始される。ステップ1512では、WLn−1上の第j番のグループの記憶素子に接続されたビットラインのグループが、プログラムのために選択される。一方、ビットラインの他の全てのグループは禁止される。ステップ1514では、一組のプログラムパルスの第j番のプログラムパルスがWLnに印加される。一方、ステップ1516では、第j番のパス電圧が隣接する非選択のワードラインWLn−1に印加され、Vpassが他の非選択のワードラインに印加される。決定ステップ1518で一組のプログラムパルスに次のプログラムパルスがある場合、jをステップ1520で増分し、ステップ1512、1514及びステップ1516を、ビットラインの次のグループに対して繰り返し実行する。決定ステップ1518で一組のプログラムパルスに次のプログラムパルスがない場合、ステップ1522で検証動作が実行される。決定ステップ1524では、プログラム動作の次の反復があり、ステップ1526でiを増分し、ステップ1510、1512、1514及び1516を繰り返し実行する。決定ステップ1524でプログラム動作の次の反復がなければ、プログラム動作をステップ1528で完了する。
図16aは、図13aに対応して、変化するプログラムパルスの大きさを示す。上述したように、WLn−1でのパス電圧を小さくすると、Vpgmをより大きくすることができる。同様に、WLn−1及びWLn+1でのパス電圧を大きくすると、Vpgmをより小さくすることができる。X軸は、プログラム動作の複数のプログラム反復を示し、y軸はVpgmを示す。線1600、1602、1604及び1606に基づいて、所与の反復及びパス電圧に応じたVpgmを設定することができる。具体的には、Vpass1、Vpass2、Vpass3又はVpass4を使用する場合、線1600、1602、1604又は1606をそれぞれ使用することができる。
図16bは、図14aに対応して、変化するプログラムパルスの大きさを示す。VpassL又はVpassHを使用する場合、曲線1610又は1602をそれぞれ使用して、所与の反復に対するVpgmを設定することができる。
図16cは、マルチパルスによるプログラム技術の第3の実施形態で、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。この例では、偶数番号のビットライン及び奇数番号のビットラインに対して、別々に検証動作が実行される。これは、奇数−偶数検知能力を有するメモリ素子にとっては有用であるが、全ビットライン検知能力にとっては有用ではない。具体的には、WLn−1上の隣接記憶素子がE又はA状態にあるWLn上の記憶素子に対して一つのプログラムパルスが使用される例では、第1の反復では、プログラムパルス1622及び1624の後に、偶数番号付きビットラインのWLn上の記憶素子を検証するための一又は複数の検証パルス1626と、及び奇数番号付きビットラインのWLn上の記憶素子を検証するための一又は複数の検証パルス1628とが続く。以後の反復は相応して進行する。パス電圧は、Vreadが検証パルスの両方の組に印加される、図14bに従って印加できる。
図17aは、マルチパルスによるプログラム技術の第4の実施形態であって、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。図15のステップ1506に関して説明したように、単一パルスによるプログラム処理1710を、複数パルスによるプログラム処理に先行して実行してもよく、それによって、WLn−1上の記憶素子のデータ状態に基づいて異なるパス電圧を使用するという利点を維持しつつ、プログラム時間を短縮することができる。考えられる一つの実装例では、単一パルスによるプログラム処理では、WLn−1上の記憶素子のデータ状態に関わりなく、プログラムパルス1702、1706及び1710によってWLn上の記憶素子を同時にプログラムする。検証パルス1604の一例も示す。この例では、実例として、11番目のプログラムパルスの後にトリガ条件が満たされ、プログラムパルス1752及び1754によって、複数パルスプログラム処理1750の第1の反復が行われる。
WLn−1上の記憶素子の読み出しは、例えば、単一パルスによるプログラム処理の開始時に、又は複数パルスによるプログラム処理の開始時に行うことができる。複数パルスによるプログラム処理では、プログラムパルス1752が、WLn−1上の隣接する記憶素子がE又はA状態にあるWLn記憶素子をプログラムし、プログラムパルス1754が、WLn−1上の隣接する記憶素子がB又はC状態にあるWLn記憶素子をプログラムする。それに、一又は複数の検証パルス1756の組が続く。プログラムパルス1758及び1760、ならびに1764及び1766は同様に、プログラムが完了するまで以後の反復でWLnに印加される。
考えられる一つの手法では、複数パルスによるプログラム処理を、特定数のプログラム反復、例えば12番目の反復に達したときに、トリガされてもよい。又は、一の適当な手法では、WLn上での記憶素子の特定数が、ターゲット検証レベルまでプログラムされたことが検証されたときに、複数パルスによるプログラム処理をトリガすることができる。ターゲット検証レベルは、ターゲットデータ状態であってもよいし、データ状態の間の値であってもよい。例えば、E、A、B及びC状態では、トリガ検証レベルは、Vvb等のB状態の検証レベルであってよい。この場合、A状態の記憶素子及びB状態の記憶素子がプログラムを完了すれば、複数パルスによるプログラム処理において、一つの検証パルスVvcだけを使用すれば足りる。一例として、B状態の記憶素子の90%がVvbを超えたときに、複数パルスによるプログラム処理をトリガすることができる。この時点で、全てのA状態記憶素子については、プログラムが完了したものと仮定する。複数パルスによるプログラム処理では、B状態及びC状態の検証パルスが最初に使用される。B状態記憶素子の残りの10%のプログラムが完了すれば、C状態記憶素子だけが残るので、検証パルスVvcだけを使用すればよい。
図17bは、図17aに対応して、大きさの変化するプログラムパルスを示す。単一パルスによるプログラム処理では、曲線1770を用いることにより、プログラム反復に応じたVpgmを設定することができる。複数パルスによるプログラム処理では、VpassLがWLn−1に印加されるときについては、曲線1774を用いることによってプログラム反復に応じたVpgmを設定することができ、VpassHがWLn−1に印加されるときについては、曲線1772を用いることによって、プログラム反復に応じたVpgmを設定することができる。このように、低いパス電圧に起因する結合を補償するVpgmのステップアップと、高いパス電圧に起因する結合を補償するためのVpgmのステップダウンとを実現し、それによって実効的なプログラム電圧を安定した速度で上昇させることができる。
図17cは、図17aに対応するプログラム技術を示す。この手法では、プログラム動作の開始時にWLn−1の読み出しを行う。ステップ1780では、WLnに対するプログラム動作を開始する。ステップ1781では、M−1個の制御ゲート電圧を使用してWLn−1上の記憶素子の読み出しを行い、記憶素子及び接続されたビットライン又はNANDストリングをM≧2個のグループに区分する。ステップ1782では、ビットライン毎に、識別したグループを一又は複数のデータラッチに記憶する。ステップ1783では、単一パルスによるプログラムと検証の処理を開始する。この処理の間、ステップ1784では、検証レベルに到達する記憶素子の数又はプログラム反復の数を追跡し、トリガ条件が満たされるかどうかを判断する。決定ステップ1785で、トリガ状態が満たされると、複数パルスによるプログラムと検証の処理がステップ1786で実行され、最終的にステップ1787で、プログラム動作が完了する。トリガ条件が決定ステップ1785で満たされないと、単一パルスによるプログラムと検証の処理のさらなる反復が実行される。
図17dは、図17aに対応する代替プログラム技術を示す。この手法では、単一パルスによるプログラムと検証の処理が完了し、トリガ条件が満たされ、複数パルスによるプログラムと検証の処理を開始する時に、WLn−1の読み出しを行う。ステップ1790で、WLnに対するプログラム動作を開始する。ステップ1791では、単一パルスによるプログラムと検証の処理を実行する。この処理の間、ステップ1793では、検証レベルに達する記憶素子の数、又はプログラム反復数が追跡され、トリガ条件が満たされるかどうかを判断する。決定ステップ1792でトリガ条件が満たされると、ステップ1794では、M−1個の制御ゲート電圧を使用してWLn−1上の記憶素子を読み出し行い、記憶素子及び接続されたビットライン又はNANDストリングをM≧2個のグループに区分する。決定ステップ1792においてトリガ条件が満たされていない場合、単一パルスによるプログラムと検証の処理のさらなる反復が実行される。ステップ1795では、ビットラインごとに識別したグループを一又は複数のデータラッチに記憶する。ステップ1796では、複数パルスによるプログラムと検証の処理を実行し、最終的にプログラム動作はステップ1797で完了する。
図18aは、マルチパルスプログラム技術の第5の実施形態であって、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。この手法では、偶数番号付きのビットラインが、奇数番号付きのビットラインとは別にプログラムされるが、ともに検証される。例えば、4状態の実施形態の場合、第1の反復では、隣接するWLn−1上の記憶素子がE又はA状態にある偶数番号付きビットラインのWLn記憶素子をプログラムパルス1802でプログラムし、かつ、それに隣接するWLn−1上の記憶素子がB又はC状態にある偶数番号付きのビットラインのWLn記憶素子をプログラムパルス1804でプログラムする。さらに、隣接するWLn−1上の記憶素子がE又はA状態にある奇数番号付きビットラインのWLn記憶素子をプログラムパルス1806によってプログラムし、隣接するWLn−1上の記憶素子がB又はC状態にある奇数番号付きビットラインのWLn記憶素子をプログラムパルス1808によってプログラムする。一又は複数の検証パルス1809が後に続く。
同様に、第2の反復は、プログラムパルス1812、1814、1816及び1818と、それに続く一又は複数の検証パルス1819を含み、第3の反復は、プログラムパルス1822、1824、1826及び1828と、それに続く一又は複数の検証パルス1829を含み、第4の反復は、プログラムパルス1832、1834、1836及び1838と、それに続く一又は複数の検証パルス1839を含む等である。
図18bは、図18aのプログラム動作中に、隣接する非選択ワードラインに印加されるパルス列を示す。図18bは、図18aと時間的に整合されている。プログラムパルス1802及び1806がそれぞれWLnに印加されるとき、VpassL電圧1842及び1846がWLn−1に印加される。プログラムパルス1804及び1808がそれぞれWLnに印加されるときは、VpassH電圧1844及び1848がWLn−1に印加される。検証パルス1809がWLnに印加されるときは、Vread1850がWLn−1及び他の非選択のワードラインに印加される。一組のパス電圧が、連続する反復ごとに繰り返される。
図18cは、一組の記憶素子に適用された、マルチパルスによるプログラム技術の第5の実施形態の適用例を示す。図13cと同様に、WLn、つまり現在選択されているワードラインは、一例として記憶素子1880、1882、1884、1886及び1888に接続され、WLn−1は一例として記憶素子1890、1892、1894、1896及び1898と接続される。BLi−2e、BLie及びBLi+2eは、一例として偶数番号付きビットラインであり、BLi−1o及びBLi+1oは、一例として奇数番号付きビットラインである。
各プログラム反復の第1のプログラムパルス1802、1812、1822及び1832(図18a)の間、WLn−1上のE又はA状態の記憶素子に隣接する偶数番号付きビットラインのWLn上の記憶素子が、偶数ビットライン処理でプログラムのために選択される。ここでは、記憶素子1880及び1888が選択され、VpassLがWLn−1に印加される。各プログラム反復の第2のプログラムパルス1804、1814、1824及び1834の間は、WLn−1上のB又はC状態の記憶素子に隣接する偶数番号付きビットラインのWLn上の記憶素子が、プログラムのために選択される。ここでは、VpassHがWLn−1に印加される間に、記憶素子1884が選択される。
各プログラム反復の第3のプログラムパルス1806、1816、1826及び1836の間、WLn−1上のE又はA状態の記憶素子に隣接する奇数番号付きビットラインのWLn上の記憶素子が、奇数ビットライン処理でプログラムのために選択される。ここでは、VpassLがWLn−1に印加される間に、記憶素子1882が選択される。各プログラム反復の第4のプログラムパルス1808、1818、1828及び1838の間は、WLn−1上のB又はC状態の記憶素子に隣接する奇数番号付きビットラインのWLn上の記憶素子が、プログラムのために選択される。ここでは、VpassHがWLn−1に印加される間に、記憶素子1886が選択される。
図19は、図18aに対応するプログラム技術を示す。ステップ1900で、WLnに対するプログラム動作が開始する。ステップ1902では、M−1個の制御ゲート電圧を使用してWLn−1上の記憶素子の読み出しを行い、記憶素子をM≧2個のグループに区分する。ステップ1904では、ビットライン又はNANDストリングごとに識別したグループを一又は複数のデータラッチに記憶する。任意であるステップ1906では、単一パルスによるプログラム処理が実行される。ステップ1908では、プログラム反復インデックスi及びプログラムパルスインデックスjが1に設定される。ステップ1910では、プログラム動作のi番目の複数プログラムパルス反復が開始する。ステップ1912では、偶数ビットラインのプログラム処理が開始する。ステップ1914では、グループ=jのグループ識別を有する偶数番号付きビットラインを選択し、他のビットラインを禁止することが行われる。例えば、ビットラインの第1のグループ、グループ1は、j=1のときに選択される。
ステップ1918では、一組のプログラムパルスの第j番のプログラムパルスがWLnに印加される。一方、ステップ1920では、第j番のパス電圧が隣接するワードラインWLn−1に印加され、Vpassが他の非選択のワードラインに印加される。決定ステップ1922では、現在の(偶数ビットラインの)プログラム処理が完了していない場合、jはステップ1924で増分され、ステップ1914、1918及び1920が繰り返される。例えば、ビットラインの第2のグループ、グループ2は、j=2のときに選択される。
偶数ビットラインのプログラム処理が決定ステップ1922で完了すると、ステップ1926で奇数ビットラインのプログラム処理を開始する。決定ステップ1928で奇数処理がまだ完了していないと、ステップ1930がjを増分し、ステップ1916で他のビットラインを禁止しながら、グループ=jのグループ識別を有するオフ番号付きのビットラインを選択する。例えば、ビットラインの第3のグループ、グループ3は、j=3のときに選択される。ステップ1918及び1920は、説明されたように繰り返される。決定ステップ1922でYESとなると、奇数処理の1926へ続く。決定ステップ1928で奇数処理が完了すると、ステップ1932では、検証動作が偶数ビットライン及び奇数ビットライン(同時に又は別個に)に対して実行される。
決定ステップ1934で次のプログラム反復があり、ステップ1936で増分される場合、ステップ1914、1918及び1920が繰り返される。決定ステップ1934で次のプログラム反復がない場合、プログラム動作はステップ1938で完了する。
図20aは、マルチパルスによるプログラム技術の第6の実施形態であって、プログラム動作中に選択されたワードラインに印加されるパルス列を示す。この手法では、全ての偶数番号付きビットラインが完全にプログラムされた後に、全ての奇数番号付きビットラインが別々のプログラム処理で完全にプログラムする。これは、全てのビットライン検知機能を有さないメモリ素子にとっては有効である。第1のプログラム処理の第1の反復では、例えば、隣接するWLn−1上の記憶素子がE又はA状態にある偶数番号付きビットラインに対してWLn上の記憶素子を、プログラムパルス2002によってプログラムする。プログラムパルス2004は、例えば、隣接するWLn−1記憶素子がB又はC状態にある偶数番号付きビットラインに対してWLn上の記憶素子をプログラムする。偶数番号付きビットラインのための検証パルス2006が後に続く。第1のプログラム処理の以後の反復は、偶数番号付きビットラインに接続された記憶素子がプログラムを完了するまで、同様に実行される。
その後、第2のプログラム処理が奇数番号付きビットラインについて実行される。第2のプログラム処理の第1の反復では、隣接するWLn−1記憶素子が例えばE又はA状態にある奇数番号付きビットラインに対してWLn上の記憶素子を、プログラムパルス2032によってプログラムする。プログラムパルス2034は、隣接するWLn−1記憶素子が例えばB又はC状態にある奇数番号付きビットラインに対してWLn上の記憶素子をプログラムする。奇数番号付きビットラインのための検証パルス2036が後に続く。第2のプログラム処理のその後の反復は、奇数番号付きビットラインに接続された記憶素子がプログラムを完了するまで、同様に実行される。
図20bは、図20aに対応するプログラム技術を示す。一つの手法では、WLn−1のための読み出し動作がプログラム動作の前に実行される。具体的には、ステップ2080で、WLnのためのプログラム動作を開始する。ステップ2082では、M−1個の制御ゲート電圧を使用してWLn−1上の記憶素子の読み出しを行い、記憶素子をM≧2個のグループに区分する。ステップ2084では、ビットライン又はNANDストリングごとに識別されたグループを一又は複数のデータラッチに記憶する。ステップ2086では、偶数番号付きビットラインの記憶素子のための複数パルスによるプログラムと検証の処理が実行される。ステップ2088では、奇数番号付きビットラインの記憶素子のための複数パルスによるプログラムと検証の処理が実行される。プログラム動作は、ステップ2090で完了する。
考えられる別の手法では、読み出し動作が、関連付けられるプログラム処理の直前に、偶数番号付きビットラインのために実行され、別個の読み出し動作が、関連付けられるプログラム処理の直前に奇数番号付きビットラインのために実行される。
図21aは、マルチパルスプログラム技術の第7の実施形態において、それぞれのビットラインのためのデータラッチの使用を示す。図15に関して上述されたように、メモリ素子では、それぞれが1ビットを記憶する複数のデータラッチが、ビットラインごとに設けられ得る。ラッチあたり1ビットで、ビットラインあたりK個のラッチが、Kビットのデータを記憶し、ビットライン及び関連付けられる記憶素子の2=Mの異なるグループを識別するために使用される。さらに、図8に関して上述したように、一又は複数のデータ状態に対して低検証レベル及び高検証レベルを使用する、二重検証プログラム技術を採用することができる。上述したように、二重検証レベルは、全てでなく、一部のプログラム状態について使用できる。例として、プログラム状態がA、B及びCであるときに、二重検証レベルを、状態Cに採用せず、状態A及びBだけに対して採用してもよい。例えば、A状態についてはVvaL及びVvaHをそれぞれ低検証レベル及び高検証レベルとし、B状態についてはVvbL及びVvbHをそれぞれ低検証レベル及び高検証レベルとする。かかる二重検証プログラム技術は、前述したマルチパルスプログラム技術の多様な実施形態と効率的に統合できる。この手法により、ラッチのハードウェアが追加的に必要となることを、回避又は最小限に抑えることができる。
各ビットラインは、この例では、それぞれが1ビットを記憶する2つのラッチを有する。ラッチの第1のセット2101は、それぞれビットラインBLi−2、BLi−1、BL、BLi+1及びBLi+2に接続される、ラッチ2120、2122、2124、2126及び2121を含む。ラッチの第2のセット2102は、ビットラインBLi−2、BLi−1、BL、BLi+1及びBLi+2にそれぞれ接続されるラッチ2110、2112、2114、2116、及び2118を含む。当初、全ての0ビットがラッチに記憶される。プログラムの間、丸を付けられた「1」で表されるように、例えばBというターゲット状態にプログラムされることが意図される記憶素子の閾値電圧Vthがより下方の検証レベル、VvbL(例えば、Vth>VvbL)を超えると、セット2101の対応するラッチはビット=1に設定される。ビット=0は、Vth≦VvbLである限り、セット2101のラッチに留まる。
その後、丸を付けられた「2」で表されるように、例えばBというターゲット状態にプログラムされることが意図される記憶素子の閾値電圧Vthが高い方の検証レベル、つまりVvbHを超えると(例えばVth>VvbH)、セット2102の対応するラッチがビット=1に設定される。ビット=0は、Vth≦VvbHである限り、セット2102のラッチに留まる。全てのB状態記憶素子についてVth>VvbHのとき、ラッチのセット2101のデータはもはや必要とされず、複数パルスによるプログラムと検証の処理が開始できる。つまり、高い方の検証レベルと関連付けられる状態にプログラムされるべき全ての記憶素子について、いったん高い方の検証レベルに到達すれば、低い方の検証レベルに到達したかどうかを示すビットは無視することができる。
ターゲット状態にプログラムされる「全ての」記憶素子に対する参照が、無視されない全ての記憶素子を含むことを意図されることに留意されたい。例えば、1ページのデータは、64Kの記憶素子に記憶される8KBである場合がある。記憶素子の小さい部分は欠陥があり、物理的な欠陥、又はそれらの記憶素子に、非常にゆっくりとプログラムさせ、余分なプログラムパルスを要求する何らかの他の問題を有する。例えば、評価が、平均で、64Kの記憶素子の中から32の記憶素子に欠陥があると判断することがある。したがって、プログラム中、どのビットが良好なのか、それとも不良なのかを具体的に知ることなく、32ビットを無視することを選んでよく、それらにプログラムすることを強制しない。いくつかの記憶素子を無視し、それらを補正するためにECCを使用する方がより効率的である。無視される記憶素子の数は、ROMヒューズに関するパラメータによって決定できる。
丸が付けられた「3」によって表される処理では、ラッチのセット2101内のデータは、WLn−1記憶素子のためのビットラインのグループを識別するために上書きできる(図21bも参照)。例えば、ビット=0は、状態E又はAのWLn−1記憶素子のために設定でき、ビット=1は状態B又はCのWLn−1記憶素子のために設定できる。このラッチの再利用は、別のラッチのセットに対する必要性を回避する。
ラッチのセット2101が再利用されると、それらのラッチに記憶される全ての以前のデータは失われる。二重検証レベルの対象となる全ての記憶素子が関連付けられる高い検証レベルに到達するまで、ラッチのセットを上書きしてはならないのはこのためである。例えば、全てのB状態の記憶素子がいったんVvbHに達し、ラッチ2101が処理「3」で上書きされると、記憶素子がVvbLに達したかどうかに関する情報は失われる。したがって、全てのB状態の記憶素子がVvbH(その時点で、記憶素子がVvbLにも達したことは固有である)に達し、処理「3」の前に追加のプログラムからロックアウトされていることを保証しなければならない。
ラッチは、B状態の記憶素子について、いつプログラムが完了したのかを決定するために制御回路によって読み出される。例えばC状態の記憶素子等の二重検証レベルを使用しない記憶素子の場合、低検証レベルは使用されず、したがってセット2101内の対応するラッチは使用されない。代わりに、セット2102の関連付けられるラッチは、Vthが検証レベルVvcを超えると(例えばVth>Vvc)ビット=1に設定される。それ以外の場合、Vth≦Vvcであると、ビット=0である。
他の実装例が考えられる。例えば、8状態メモリ素子の場合、二重検証レベルはA−F状態のために使用されてよく、Gは最高の状態である。ラッチの追加セットは、WLn−1記憶素子のためのビットラインのグループを識別するために使用されてよい。
図21bは、図21aに対応するプログラム技術を示す。ステップ2150で、プログラム動作はWLnのために開始する。ステップ2152で、低い方の検証レベル及び高い方の検証レベルが少なくとも一つのデータ状態のために使用される、単一パルスによるプログラムと検証の反復が実行される。図8の例のB状態等の、低い方の検証レベル及び高い方の検証レベルが使用される最高のデータ状態は、プログラム動作の複数パルスによるプログラムと検証の処理を開始するトリガ状態であってもよい。低い方の検証結果は、少なくともラッチの第1のセット2101に記憶され、高い方の検証結果は、少なくともラッチの第2のセット2102に記憶される。決定ステップ2154では、トリガ状態の記憶素子がまだ高い方の検証レベルに到達していない場合、ステップ2152において、次の単一パルスによるプログラムと検証の反復が繰り返される。決定ステップ2154でYESとなると、ステップ2156が実行される。ステップ2156では、M−1個の制御ゲート電圧を使用してWLn−1上の記憶素子の読み出しを行い、記憶素子をM≧2個だけのグループに区分する。ステップ2158では、ビットライン又はNANDストリングごとに識別されたグループが、ラッチの第1のセット2101を含む一又は複数のデータラッチに記憶される。
ステップ2160では、複数パルスプログラム検証反復が実行され、ここでは、少なくとも一つの残りのデータ状態について検証レベルが使用される。残りのデータ状態はC状態等の最高のデータ状態であってよい。検証結果は、少なくともラッチの第2のセット2102に記憶される。ビットラインのグループが2つしかないとき、1個のビットで各グループを識別するのに十分である(例えば、グループ1の場合、ビット=0、及びグループ2の場合ビット=1)。ビットラインのグループが2つより多いとき、2つ以上のラッチが必要とされる。例えば、ビットラインのグループが4つのとき、2個のビットが必要とされるため、セット2101及び2102を越えるラッチの一つの追加のセットが必要とされる。セット2102は、プログラムを完了するために残りの記憶素子のための検証データを記憶するために使用され、したがってビットライングループデータを記憶するには利用できない。
決定ステップ2162では、残りの記憶素子がその検証レベルに達していない場合、ステップ2160において、追加の複数パルスによるプログラムと検証の反復が繰り返し実行される。ステップ2162でYESとなると、プログラム動作は、ステップ2164で完了する。残りの記憶素子は、無視されるビット数を含まない。
本明細書に説明される技術の一実施形態では、一組のワードライン及び一組のビットラインに接続された一組の不揮発性記憶素子を含む、不揮発性記憶システムを動作させるための方法が提供される。この方法は、一組のワードライン内の選択された選択ワードラインに隣接する隣接ワードラインに対して、少なくとも一つの検知動作を実行することを含む。その少なくとも一つの検知動作は、隣接ワードライン上の不揮発性記憶素子をM≧2個のグループに区分する。記憶素子のM≧2個のグループは、第1及び第2のビットラインのグループを含む、前記一組のビットラインのM≧2個の対応するビットラインのグループに接続される。この方法は、少なくとも一つの反復を含む、プログラムシーケンスの複数の反復を実行することをさらに含む。前記少なくとも一つの反復は、(a)第1のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子をプログラムのために選択し、前記第2のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子のプロクラムを禁止し、かつ隣接ワードラインに第1のパス電圧を印加しながらの、選択ワードラインへの第1のプログラムパルスの印加と、(b)前記第2のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子をプロクラムのために選択し、前記第1のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子のプログラムを禁止し、かつ隣接ワードラインに第2のパス電圧を印加しながらの、選択ワードラインへの第2のプログラムパルス(1304)の印加とを含む。
他の実施形態では、不揮発性記憶システムは、一組の不揮発性記憶素子と、一つの選択ワードライン及びその選択ワードラインの一つの隣接ワードラインを含む、一組の不揮発性記憶素子に接続された一組のワードラインと、一組の不揮発性記憶素子に接続された一組のビットライン、並びに一組のワードライン及び一組のビットラインに接続された少なくとも一つの制御回路を含む。その少なくとも一つの制御回路は、隣接するワードラインに対して少なくとも一つの検知動作を実行する。その少なくとも一つの検知動作は、隣接ワードライン上の不揮発性記憶素子をM≧2個のグループに区分する。不揮発性記憶素子のM≧2個のグループは、少なくとも第1及び第2のビットラインのグループを含む、一組のビットラインのM≧2個の対応するビットラインのグループに接続される。少なくとも一つの制御回路は、プログラムシーケンスの複数の反復をさらに実行する。その少なくとも一つの反復では、少なくとも一つの制御回路が、(i)前記第1のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子をプログラムのために選択し、前記第2のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子のプロクラムを禁止し、隣接ワードラインに第1のパス電圧を印加し、かつ選択ワードラインに第1のプログラムパルスを印加し、(ii)前記第2のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子をプロクラムのために選択し、前記第1のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子のプログラムを禁止し、隣接ワードラインに第2のパス電圧を印加し、かつ選択ワードラインに第2のプログラムパルスを印加する。
他の実施形態では、一組のワードラインに接続された、直列接続された不揮発性記憶素子のストリングを含む不揮発性記憶システムを動作させるための方法が提供される。この方法は、一組のワードラインのなかの選択ワードラインに隣接する隣接ワードラインに検知電圧を印加する工程と、少なくとも、閾値電圧が検知電圧を下回る隣接ワードライン上の不揮発性記憶素子の第1のグループと、閾値電圧が検知電圧を上回る隣接ワードライン上の不揮発性記憶素子の第2のグループとを識別する工程と、第1のグループの不揮発性記憶素子を有する各ストリングと、第2のグループの不揮発性記憶素子を有する各ストリングとを識別するデータを記憶し、それによって記憶されたデータを提供する工程を含む。この方法はさらに、一つの期間内で、隣接ワードラインに第1のパス電圧を印加しつつ、その記憶されたデータに基づき、隣接ワードライン上の第1のグループの不揮発性記憶素子を有するストリング内の選択ワードライン上の不揮発性記憶素子をプログラムすることと、隣接ワードライン上の第2のグループの不揮発性記憶素子を有するストリング内の選択ワードライン上の不揮発性記憶素子のプログラムを禁止することを含む。この方法はさらに、他の一つの期間内で、隣接ワードラインに第2のパス電圧を印加しつつ、その記憶されたデータに基づき、隣接ワードライン上の第2のグループの不揮発性記憶素子を有するストリング内の選択ワードライン上の不揮発性記憶素子をプログラムすることと、隣接ワードライン上の第1のグループの不揮発性記憶素子を有するストリング内の選択ワードライン上の不揮発性記憶素子のプログラムを禁止することを含む。
本明細書に示される方法を実行するための、対応する方法、システム及びコンピュータ読み出し可能な記憶装置、又はプロセッサ読み出し可能な記憶装置も提供されてよい。
前記発明を実施するための形態は、図解及び説明のために提示された。それは、網羅的であること、又は開示されている正確な形式に本技術を制限することを意図していない。上記の教示を鑑みて、多くの修正及び変形が考えられる。説明された実施形態は、本技術及びその実践的な用途の原則を最もよく説明し、それによって当業者が多様な実施例において、及び意図された特定の使用に適するような多様な修正をもって本技術を最もよく活用できるようにするために選ばれた。本技術の範囲は、本明細書に添付される特許請求項の範囲により定められることが意図される。

Claims (15)

  1. 不揮発性記憶システムを動作させる方法であって、その不揮発性記憶システムは、一組のワードライン(WL0〜WL63)及び一組のビットライン(BLi−2〜BLi+2)に接続された一組の不揮発性記憶素子(400)を含み、その方法は、
    少なくとも一つの検知動作を実行する工程と、ここで、前記少なくとも一つの検知動作は、前記一組のワードライン内の選択された選択ワードライン(WLn)に隣接する隣接ワードライン(WLn−1)に対して行われ、前記隣接ワードライン上の不揮発性記憶素子(1390;1392,1398;1396;1394)をM≧2個のグループに区分し、前記記憶素子のM≧2個のグループは、前記一組のビットラインのM≧2個の対応するビットラインのグループ(BLi−2;BLi−1、BLi+2;BLi+1;BL)に接続され、前記M≧2個のビットラインのグループは、第1(BLi−1、BLi+2)及び第2(BLi+1)のビットラインのグループを含み、
    プログラムシーケンスの複数の反復を実行する工程と、ここで、少なくとも一つの反復は、
    前記第1のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子(1392、1398)をプログラムのために選択し、前記第2のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子(1396)のプロクラムを禁止し、かつ隣接ワードライン(WLn−1)に第1のパス電圧(Vpass1〜Vpass4)を印加しながらの、選択ワードラインへの第1のプログラムパルス(1302)の印加と、
    前記第2のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子(1396)をプロクラムのために選択し、前記第1のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子(1392、1398)のプログラムを禁止し、かつ隣接ワードライン(WLn−1)に第2のパス電圧(Vpass1〜Vpass4)を印加しながらの、選択ワードラインへの第2のプログラムパルス(1304)の印加とを含む、
    を備える方法。
  2. 前記少なくとも一つの反復の前記第1のプログラムパルスと前記第2のプログラムパルスとの間では、前記選択ワードライン上の不揮発性記憶素子に対する検証動作が実行されず、
    前記第2のプログラムパルスの後に、前記選択ワードライン上の不揮発性記憶素子に対する検証動作(1309、1319、1329、1339)を実行し、その後、前記プログラムシーケンスの次の反復を実行する工程と、
    をさらに備える請求項1に記載の方法。
  3. 前記隣接ワードライン上の前記不揮発性記憶素子は、少なくともM+1種類のデータ状態(E、A、B、C)によってデータを記憶し、
    前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子をM≧2個だけのグループ(E、A;B、C)に区分する、
    請求項1又は2に記載の方法。
  4. 前記隣接ワードラインが、前記選択ワードラインのソース側にある請求項1から3のいずれか一項に記載の方法。
  5. 前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子の閾値電圧に応じて、前記隣接ワードライン上の不揮発性記憶素子を前記M≧2個のグループに区分し、
    前記第1のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子は、前記第2のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子よりも低い閾値電圧を有し、
    前記第1のパス電圧(Vpass1)は、前記第2のパス電圧(Vpass2)よりも低い、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子の閾値電圧に応じて、前記隣接ワードライン上の不揮発性記憶素子を前記M≧2個のグループに区分し、
    前記第1のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子は、前記第2のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子よりも高い閾値電圧を有し、
    前記第1のパス電圧(Vpass2)は、前記第2のパス電圧(Vpass1)よりも高い、
    請求項1から4のどれか一つに記載の方法。
  7. 前記プログラムシーケンスの複数の反復のなかで前記少なくとも一つの反復よりも先に行われる少なくとも一つの事前の反復(1710)では、前記第1及び第2のビットラインのグループのいずれかに接続された前記選択ワードライン上の不揮発性記憶素子をプログラムのために同時に選択しつつ、前記選択ワードラインにプログラムパルス(1702、1706、1710)を印加する、
    請求項1から6のいずれか一項に記載の方法。
  8. 前記少なくとも一つの事前の反復では、前記第1のパス電圧(Vpass1)の大きさと前記第2のパス電圧(Vpass2)の大きさとの間の大きさを有するパス電圧(Vpass)を、前記隣接ワードラインに印加する、
    請求項7に記載の方法。
  9. 前記プログラムシーケンスの複数の反復のなかで前記少なくとも一つの反復よりも先に行われる事前の反復では、前記選択ワードライン上の少なくとも一つの不揮発性記憶素子を、一つのターゲットデータ状態(B)にプログラムし、
    前記少なくとも一つの反復は、前記選択ワードライン上の他の少なくとも一つの不揮発性記憶素子を、前記一つのターゲットデータ状態よりも高い他のターゲットデータ状態(C)にプログラムする、
    請求項1から8のいずれか一項に記載の方法。
  10. 少なくとも第1(2101)及び第2(2102)のラッチが前記一組のビットラインのなかの一つのビットラインに接続され、
    前記事前の反復では、第1の検証レベル(VvaL、VvbL)、次いで前記第1の検証レベルよりも高い第2の検証レベル(VvaH、VvbH)を使用して、前記少なくとも一つの不揮発性記憶素子をプログラムし、
    前記第1のラッチは、前記少なくとも一つの不揮発性記憶素子が前記第1の検証レベルまでプログラムされているのか否かを示すビットを記憶し、
    前記第2のラッチは、前記少なくとも一つの不揮発性記憶素子が前記第2の検証レベルまでプログラムされているのか否かを示すビットを記憶し、
    前記少なくとも一つの検知動作は、前記プログラムシーケンスの途中で、前記事前の反復の後に実行され、
    前記少なくとも一つの検知動作では、前記一つのビットラインに接続された前記隣接ワードライン上の不揮発性記憶素子を検知し、前記不揮発性記憶素子のM≧2個のグループのなかで当該隣接ワードライン上の不揮発性記憶素子が属するグループを少なくとも部分的に識別するためのビットを、前記第1のラッチ(2101)に上書きして記憶する、
    請求項9に記載の方法。
  11. 前記少なくとも一つの検知動作は、前記プログラムシーケンスの途中で、前記事前の反復(1710)の後、かつ、前記選択ワードライン上の前記少なくとも一つの不揮発性記憶素子が、前記一つのターゲットデータ状態にプログラムされたと判断されたときに、実行される、
    請求項10に記載の方法。
  12. 一組の不揮発性記憶素子(400)と、
    選択された選択ワードライン(WLn)及び前記選択ワードラインに隣接する隣接ワードライン(WLn−1)を含む、前記一組の不揮発性記憶素子に接続された一組のワードライン(WL0からWL63)と、
    前記一組の不揮発性記憶素子に接続された一組のビットライン(BLi−2からBLi+2)と、
    前記一組のワードライン及び前記一組のビットラインに接続された少なくとも一つの制御回路(510、550)とを備え、
    前記少なくとも一つの制御回路は、
    (a)前記隣接ワードラインに対する少なくとも一つの検知動作と、ここで、前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子(1390;1392,1398;1396;1394)をM≧2個のグループに区分し、前記M≧2個の不揮発性記憶素子のグループは、少なくとも第1(BLi―1、BLi+2)及び第2(BLi+1)のビットラインのグループを含む、前記一組のビットラインのM≧2個の対応するビットラインのグループ(BLi−2;BLi−1、BLi+2;BL+1;BL)に接続され、
    (b)プログラムシーケンスの複数の反復と、ここで、少なくとも一つの反復において前記少なくとも一つの制御回路は、(i)前記第1のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子(1392、1398)をプログラムのために選択し、前記第2のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子(1396)のプロクラムを禁止し、隣接ワードライン(WLn−1)に第1のパス電圧(Vpass1〜Vpass4)を印加し、かつ選択ワードラインに第1のプログラムパルス(1302)を印加し、(ii)前記第2のビットラインのグループに接続された前記選択ワードライン上の不揮発性記憶素子(1396)をプロクラムのために選択し、前記第1のビットラインのグループに接続された選択ワードライン上の不揮発性記憶素子(1392、1398)のプログラムを禁止し、隣接ワードライン(WLn−1)に第2のパス電圧(Vpass1〜Vpass4)を印加し、かつ選択ワードラインに第2のプログラムパルス(1304)を印加する、
    を実行する、不揮発性記憶システム。
  13. 前記少なくとも一つの反復の前記第1のプログラムパルスと前記第2のプログラムパルスとの間では、前記選択ワードライン上の不揮発性記憶素子に対する検証動作が実行されない請求項12に記載の不揮発性記憶システム。
  14. 前記隣接ワードライン上の前記不揮発性記憶素子は、少なくともM+1種類のデータ状態(E、A、B、C)によってデータを記憶し、
    前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子をM≧2個だけのグループ(E、A;B、C)に区分する、
    請求項12又は13に記載の不揮発性記憶システム。
  15. 前記少なくとも一つの検知動作は、前記隣接ワードライン上の不揮発性記憶素子の閾値電圧に応じて、前記隣接ワードライン上の不揮発性記憶素子を前記M≧2個のグループに区分し、
    前記第1のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子が、前記第2のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子よりも低い閾値電圧を有するときは、前記第1のパス電圧(Vpass1)が前記第2のパス電圧(Vpass2)よりも低くし、
    前記第1のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子が、前記第2のビットラインのグループに接続された前記隣接ワードライン上の不揮発性記憶素子よりも高い閾値電圧を有するときは、前記第1のパス電圧(Vpass2)が前記第2のパス電圧(Vpass1)よりも高くする、
    請求項12から14のいずれか一項に記載の不揮発性記憶システム。
JP2012523718A 2009-08-05 2010-08-03 パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム Expired - Fee Related JP5444468B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/536,127 2009-08-05
US12/536,127 US8134871B2 (en) 2009-08-05 2009-08-05 Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
PCT/US2010/044317 WO2011017378A1 (en) 2009-08-05 2010-08-03 Programming memory with reduced pass voltage disturb and floating gate to-control gate leakage

Publications (2)

Publication Number Publication Date
JP2013501305A true JP2013501305A (ja) 2013-01-10
JP5444468B2 JP5444468B2 (ja) 2014-03-19

Family

ID=42670536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012523718A Expired - Fee Related JP5444468B2 (ja) 2009-08-05 2010-08-03 パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム

Country Status (7)

Country Link
US (3) US8134871B2 (ja)
EP (1) EP2462590B1 (ja)
JP (1) JP5444468B2 (ja)
KR (1) KR20120062734A (ja)
CN (1) CN102549673B (ja)
TW (1) TW201115574A (ja)
WO (1) WO2011017378A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507818A (ja) * 2008-10-30 2012-03-29 サンディスク コーポレイション ブースト電圧クランプを改善するためのペアビットラインプログラミング
JP2013122796A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134140A (en) * 1997-05-14 2000-10-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device with soft-programming to adjust erased state of memory cells
US8238161B2 (en) * 2008-11-17 2012-08-07 Samsung Electronics Co., Ltd. Nonvolatile memory device
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8134871B2 (en) 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
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
JP2012069186A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
US8854891B2 (en) * 2011-07-06 2014-10-07 SK Hynix Inc. Method of operating semiconductor device
US8773902B2 (en) 2012-05-09 2014-07-08 Sandisk Technologies Inc. Channel boosting using secondary neighbor channel coupling in non-volatile memory
JP2014053060A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
US9047988B2 (en) * 2012-11-20 2015-06-02 International Business Machines Corporation Flash interface error injector
US20140254280A1 (en) * 2013-03-11 2014-09-11 Macronix International Co., Ltd. Programming Method For Memory Cell
KR102070724B1 (ko) 2013-03-29 2020-01-30 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
US9245637B2 (en) 2013-09-06 2016-01-26 Sandisk Technologies Inc. Systems and methods for read disturb management in non-volatile memory
CN105555933B (zh) * 2013-10-09 2018-09-14 克劳罗克斯公司 插层漂白剂组合物、制造和使用的相关方法
MX2016004459A (es) * 2013-10-09 2016-06-21 Clorox Co Composiciones de lejia intercalada, metodos de fabricacion relacionados y uso.
US9123424B2 (en) 2013-12-17 2015-09-01 Sandisk Technologies Inc. Optimizing pass voltage and initial program voltage based on performance of non-volatile memory
US9620238B2 (en) 2014-01-20 2017-04-11 Sandisk Technologies Llc Methods and systems that selectively inhibit and enable programming of non-volatile storage elements
KR102110844B1 (ko) * 2014-06-02 2020-05-14 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US9286987B1 (en) * 2014-09-09 2016-03-15 Sandisk Technologies Inc. Controlling pass voltages to minimize program disturb in charge-trapping memory
US9922719B2 (en) * 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage
KR102396116B1 (ko) * 2015-09-25 2022-05-10 에스케이하이닉스 주식회사 반도체 메모리 장치
CN106920571A (zh) * 2015-12-25 2017-07-04 北京兆易创新科技股份有限公司 一种Nand Flash的编程方法
KR102461726B1 (ko) * 2016-07-19 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
TWI604449B (zh) 2016-08-31 2017-11-01 旺宏電子股份有限公司 記憶體裝置與其程式化方法
JP2018055736A (ja) * 2016-09-26 2018-04-05 東芝メモリ株式会社 半導体記憶装置
TWI611411B (zh) * 2016-12-21 2018-01-11 旺宏電子股份有限公司 記憶體裝置的操作方法
US10176880B1 (en) * 2017-07-01 2019-01-08 Intel Corporation Selective body reset operation for three dimensional (3D) NAND memory
CN108109664A (zh) * 2017-11-29 2018-06-01 深圳忆联信息系统有限公司 一种缓解mlc闪存读干扰问题的方法
KR102497212B1 (ko) * 2018-02-26 2023-02-07 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US11238933B2 (en) * 2018-02-26 2022-02-01 Samsung Electronics Co., Ltd. Non-volatile memory device including a verify circuit to control word and bit line voltages and method of operating the same
JP2019160379A (ja) * 2018-03-16 2019-09-19 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10755781B2 (en) * 2018-06-06 2020-08-25 Micron Technology, Inc. Techniques for programming multi-level self-selecting memory cell
US10643721B2 (en) * 2018-06-21 2020-05-05 Sandisk Technologies Llc Interleaved program and verify in non-volatile memory
TWI669718B (zh) * 2018-12-12 2019-08-21 旺宏電子股份有限公司 非揮發性記憶體與其寫入方法
US10726929B1 (en) 2019-01-25 2020-07-28 Sandisk Technologies Llc Programming process which compensates for data state of adjacent memory cell in a memory device
US10910083B2 (en) * 2019-03-14 2021-02-02 Western Digital Technologies, Inc. Leaky memory hole repair at fabrication joint
US10978152B1 (en) 2019-11-13 2021-04-13 Sandisk Technologies Llc Adaptive VPASS for 3D flash memory with pair string structure
US10984867B1 (en) * 2019-12-23 2021-04-20 SanDiskTechnologies LLC Direct look ahead mode for memory apparatus programmed with reverse order programming
KR20220033651A (ko) * 2020-09-09 2022-03-17 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 그것을 포함하는 저장 장치
DE102022102588A1 (de) 2021-06-28 2022-12-29 Sandisk Technologies Llc Gleichzeitiges programmieren mehrerer zellen für nichtflüchtige speichervorrichtungen
US11868223B2 (en) * 2022-01-19 2024-01-09 Dell Products L.P. Read-disturb-based read temperature information utilization system
US11914494B2 (en) 2022-01-20 2024-02-27 Dell Products L.P. Storage device read-disturb-based read temperature map utilization system
US11875043B1 (en) * 2022-08-29 2024-01-16 Sandisk Technologies Llc Loop dependent word line ramp start time for program verify of multi-level NAND memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090996A (ja) * 2006-09-29 2008-04-17 Hynix Semiconductor Inc フラッシュメモリ装置のプログラム方法
JP2009048697A (ja) * 2007-08-20 2009-03-05 Toshiba Corp Nand型不揮発性半導体メモリ
JP2009520314A (ja) * 2005-12-19 2009-05-21 サンディスク コーポレイション 改善されたパス電圧を用いてプログラム阻害を低減した不揮発性記憶メモリのプログラミング方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3332152B2 (ja) * 1998-02-18 2002-10-07 日本電気株式会社 不揮発性半導体記憶装置
US6258668B1 (en) * 1999-11-24 2001-07-10 Aplus Flash Technology, Inc. Array architecture and process flow of nonvolatile memory devices for mass storage applications
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
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
KR100632942B1 (ko) * 2004-05-17 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치의 프로그램 방법
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7295478B2 (en) * 2005-05-12 2007-11-13 Sandisk Corporation Selective application of program inhibit schemes in non-volatile memory
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US8184478B2 (en) * 2006-09-27 2012-05-22 Sandisk Technologies Inc. Apparatus with reduced program disturb in non-volatile storage
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
US7492640B2 (en) * 2007-06-07 2009-02-17 Sandisk Corporation Sensing with bit-line lockout control in non-volatile memory
US7636260B2 (en) * 2007-06-25 2009-12-22 Sandisk Corporation Method for operating non-volatile storage with individually controllable shield plates between storage elements
US7869273B2 (en) * 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
KR100933852B1 (ko) * 2007-12-28 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US7715235B2 (en) * 2008-08-25 2010-05-11 Sandisk Corporation Non-volatile memory and method for ramp-down programming
US8134871B2 (en) 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009520314A (ja) * 2005-12-19 2009-05-21 サンディスク コーポレイション 改善されたパス電圧を用いてプログラム阻害を低減した不揮発性記憶メモリのプログラミング方法
JP2008090996A (ja) * 2006-09-29 2008-04-17 Hynix Semiconductor Inc フラッシュメモリ装置のプログラム方法
JP2009048697A (ja) * 2007-08-20 2009-03-05 Toshiba Corp Nand型不揮発性半導体メモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507818A (ja) * 2008-10-30 2012-03-29 サンディスク コーポレイション ブースト電圧クランプを改善するためのペアビットラインプログラミング
JP2013122796A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
EP2462590A1 (en) 2012-06-13
WO2011017378A1 (en) 2011-02-10
CN102549673A (zh) 2012-07-04
USRE45497E1 (en) 2015-04-28
US8134871B2 (en) 2012-03-13
US20110032757A1 (en) 2011-02-10
TW201115574A (en) 2011-05-01
EP2462590B1 (en) 2013-05-29
US20120140568A1 (en) 2012-06-07
US8320177B2 (en) 2012-11-27
KR20120062734A (ko) 2012-06-14
CN102549673B (zh) 2014-12-17
JP5444468B2 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
JP5444468B2 (ja) パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム
EP2311040B1 (en) Compensating for coupling during read operations in non-volatile storage
JP5426666B2 (ja) 不揮発性記憶装置のチャネルブーストを増加させるためのビットラインプレチャージを強化する方式
US7916533B2 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
JP5203510B2 (ja) 最小限の追加時間ペナルティで障害を低減するために改良されたプログラミングアルゴリズム
JP5396481B2 (ja) ワードライン結合を用いたメモリのマルチパスプログラミング
USRE45544E1 (en) Saw-shaped multi-pulse programming for program noise reduction in memory
JP4855474B2 (ja) スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
JP5367697B2 (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減
JP2012531003A (ja) 不揮発性記憶装置においてチャネルブーストを改良するための縮小されたプログラミングパルス幅
KR20130084610A (ko) 동기화된 커플링을 이용한 비휘발성 저장소자의 프로그래밍

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131220

R150 Certificate of patent or registration of utility model

Ref document number: 5444468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees