JP4954223B2 - フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作 - Google Patents

フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作 Download PDF

Info

Publication number
JP4954223B2
JP4954223B2 JP2008557330A JP2008557330A JP4954223B2 JP 4954223 B2 JP4954223 B2 JP 4954223B2 JP 2008557330 A JP2008557330 A JP 2008557330A JP 2008557330 A JP2008557330 A JP 2008557330A JP 4954223 B2 JP4954223 B2 JP 4954223B2
Authority
JP
Japan
Prior art keywords
data
nonvolatile memory
memory element
state
adjacent
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.)
Active
Application number
JP2008557330A
Other languages
English (en)
Other versions
JP2009528651A (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
Priority claimed from US11/384,057 external-priority patent/US7499319B2/en
Priority claimed from US11/377,972 external-priority patent/US7436733B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009528651A publication Critical patent/JP2009528651A/ja
Application granted granted Critical
Publication of JP4954223B2 publication Critical patent/JP4954223B2/ja
Active 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/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/5642Sensing or reading circuits; Data output circuits
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)
  • Semiconductor Memories (AREA)

Description

本発明は、不揮発性メモリの技術に関する。
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ(EEPROM)と、フラッシュメモリは、最も普及している不揮発性半導体メモリの1つである。
EEPROMとフラッシュメモリは、両方とも、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に設けられており、そのフローティングゲートから絶縁されている。トランジスタの閾値電圧は、フローティングゲート上に保持される電荷量によって制御される。つまり、ソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加すべき電圧の最小量は、フローティングゲート上の電荷レベルにより制御される。
NANDフラッシュメモリ装置などのEEPROMまたはフラッシュメモリ装置をプログラムする場合、一般にプログラム電圧が制御ゲートに印加され、ビットラインが接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電し、メモリセルの閾値電圧が上昇してメモリセルがプログラム状態になる。プログラミングについてのさらなる情報は、米国特許第6,859,397号、発明の名称「Source Side Self Boosting Technique for Non−Volatile Memory」と、米国特許第6,917,542号、発明の名称「Detecting Over Programmed Memory」に記載されている。両方の特許はその全体を参照することにより本明細書に組み込まれる。
いくつかのEEPROM及びフラッシュメモリ装置は、2つの範囲の電荷を蓄積するために使用されるフローティングゲートを有している。その結果、メモリセルは、2つの状態(消去状態とプログラム状態)の間でプログラム/消去することができる。このようなフラッシュメモリ装置は、バイナリフラッシュメモリ装置と呼ばれることがある。
マルチ状態フラッシュメモリ装置は、禁止範囲によって分離された複数の別個の許容/有効プログラム閾値電圧範囲を識別することによって実現される。別個の閾値電圧範囲の各々は、メモリ装置内に符号化されたデータビットのセットの所定の値に対応している。
隣接するフローティングゲート内に蓄積される電荷に基づく電界の結合のために、フローティングゲート上に蓄積される見かけの電荷へのシフトが発生する場合がある。このフローティングゲート間の結合現象は、米国特許第5,867,429号に説明されており、その全体は参照することにより本明細書に組み込まれる。対象のフローティングゲートに隣接するフローティングゲートとは、同じビットライン上で隣接するフローティングゲート、同じワードライン上で隣接するフローティングゲート、又は、隣接するビットライン上と隣接するワードライン上にあるために互いに斜め方向に位置するフローティングゲートを含むことができる。
フローティングゲート間の結合現象は、異なる時間にプログラムされた隣接するメモリセルのセットの間で最も顕著に発生する。例えば、第1メモリセルが、データの1つのセットに対応するフローティングゲートに、あるレベルの電荷が印加されることでプログラムされる場合がある。次に、1つまたは複数の隣接するメモリセルが、データの第2のセットに対応するフローティングゲートに、あるレベルの電荷が印加されてプログラムされる。1つまたは複数の隣接するメモリセルがプログラムされた後では、第1メモリセルに結合されている隣接メモリセル上の電荷の影響を受けるために、第1メモリセルから読み出される電荷のレベルが、プログラムされたものと異なることになる。隣接メモリセルからの結合は、十分な量を読み出す見かけの電荷レベルをシフトさせ、記憶されたデータの誤った読み出しをもたらす。
マルチ状態装置では、許容閾値電圧範囲と禁止範囲はバイナリ装置より狭いので、マルチ状態装置にとってフローティングゲート間の結合影響はより大きな問題となる。したがって、フローティングゲート間の結合によって、メモリセルは許容閾値電圧範囲から禁止範囲にシフトする可能性がある。
メモリセルのサイズが縮小するにつれて、短いチャネルの影響、より大きな酸化物の厚さ、結合率のばらつき、及び、多くのチャネルドーパントの変動のために、閾値電圧の本来のプログラミング及び消去分布が増大することが予想され、隣接状態間の利用可能な分離を減少させる。この影響は2つの状態のみを使用するメモリ(バイナリメモリ)よりマルチ状態メモリの方がいっそう重大になる。さらに、ワードライン間の間隔とビットライン間の間隔の減少も、隣接フローティングゲート間の結合を増大させる。
従って、フローティングゲート間の結合の影響を抑制したいというニーズがある。
フローティングゲート間結合を排除するために、ある特定のメモリセルのための読み出し動作が隣接メモリセルに補償を与え、その特定のメモリセルに対して隣接するメモリセルが与える結合影響が抑制される。多様な実施形態が開示される。
一実施形態は、選択不揮発性記憶素子に対する読み出し処理の間に、選択不揮発性記憶素子に読み出し電圧を印加するステップと、選択不揮発性記憶素子に隣接する不揮発性記憶素子に対する読み出し処理の間に、その隣接する不揮発性記憶素子の現在の状態に基づいて、特定の電圧を使用するステップと、読み出し処理の間に、選択不揮発性記憶素子の状態を検出するステップを有する。別の実施形態は、読み出し中の不揮発性素子に接続されている選択されたワードラインに読み出し比較電圧を印加するステップと、非選択ワードラインの第1セットに第1通過電圧を印加するステップと、隣の非選択ワードラインに第2通過電圧を印加するステップと、読み出し中の不揮発性記憶素子の状態を検出するステップを有する。
一例の実装形態は、複数の不揮発性記憶素子と、本明細書に説明する処理を実行するために複数の不揮発性記憶素子と通信する1つまたは複数の管理回路を有する。
本発明の実施に適したメモリシステムの一例は、NANDフラッシュメモリ構造を用いる。そのNANDフラッシュメモリ構造は、2つの選択ゲートの間に直列に接続された複数のトランジスタを含んでいる。直列に接続されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は1つのNANDストリングを示す平面図である。図2は、その等価回路である。図1と図2に示すNANDストリングは、第1選択ゲート120と第2選択ゲート122の間に挟まれているとともに直列に接続されている4つのトランジスタ100、102、104及び106を有する。選択ゲート120は、ビットライン126へのNANDストリングの接続をゲート制御する。選択ゲート122は、ソースライン128へのNANDストリングの接続をゲート制御する。選択ゲート120は、制御ゲート120CGに適切な電圧を印加することで制御される。選択ゲート122は、制御ゲート122CGに適切な電圧を印加することで制御される。トランジスタ100、102、104、及び106のそれぞれは制御ゲートとフローティングゲートを有している。トランジスタ100は、制御ゲート100CGとフローティングゲート100FGを有している。トランジスタ102は、制御ゲート102CGとフローティングゲート102FGを有している。トランジスタ104は、制御ゲート104CGとフローティングゲート104FGを有している。トランジスタ106は、制御ゲート106CGとフローティングゲート106FGを有している。制御ゲート100CGは、ワードラインWL3に接続されており(またはワードラインWL3であり)、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。一実施形態では、トランジスタ100、102、104及び106はそれぞれがメモリセルである。他の実施形態では、メモリセルは複数のトランジスタを有してよい、あるいは図1または図2に示されているものと異なってよい。選択ゲート120は選択ラインSGDに接続されている。選択ゲート122は選択ラインSGSに接続されている。
図3は、上記のNANDストリングの断面図を示す。図3に示すように、NANDストリングのトランジスタは、pウェル領域140内に形成される。各トランジスタは、制御ゲート(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ストリングのための共通のソースラインに接続されている。
図1から図3はNANDストリングの中の4個のメモリセルを示しているが、4つのトランジスタの使用は例としてのみ示されていることに注意されたい。本明細書に説明する技術とともに使用するNANDストリングは、4個未満のメモリセルまたは4個を超えるメモリセルを有していてもよい。例えば、いくつかのNANDストリングは8個のメモリセル、16個のメモリセル、32個のメモリセル、64個のメモリセル等を含む。本明細書の説明はNANDストリングの中の特定の数のメモリセルに制限されない。
各メモリセルは、アナログまたはデジタル形式で表されたデータを記憶することができる。1ビットのデジタルデータを記憶するときに、メモリセルの可能な閾値電圧の範囲は、論理データ「1」と「0」が割り当てられる2つの範囲に分割される。NAND型フラッシュメモリの一例では、電圧閾値は、メモリセルが消去された後には負になり、論理「1」と定義される。閾値電圧はプログラム動作後には正となり、論理「0」と定義される。閾値電圧が負のときに、制御ゲートに0ボルトを印加することにより読み出しが試みられると、メモリセルがオンして論理1を記憶していることを示す。閾値電圧が正のときに、制御ゲートに0ボルトを印加することにより読み出し動作が試みられると、メモリセルはオンにならずに論理0を記憶していることを示す。
メモリセルは複数の状態を記憶することもでき、それによりデジタルデータの複数のビットを記憶する。データの複数の状態を記憶するケースでは、閾値電圧ウィンドウが状態の数に分割される。例えば、4つの状態を使用する場合、データ値「11」、「10」、「01」、及び「00」に割り当てられる4つの閾値電圧範囲がある。NAND型メモリの一例では、消去動作後の閾値電圧は負であって「11」として定義される。「10」、「01」、及び「00」の状態に対しては正の閾値電圧が用いられる。いくつかの実装形態では、データ値(例えば、論理状態)はグレイコード割り当てによって閾値範囲に割り当てられる。これによって、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトした場合に、1つのビットのみが影響を受けるようになる。メモリセル内にプログラムされたデータとセルの閾値電圧範囲との間の特定の関係は、メモリセルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第6,222,762号及び2003年6月13日出願の米国特許出願第10/461,244号、「Tracking Cells For A Memory System」には、マルチ状態フラッシュメモリセルの様々なデータ符号化方式が記載されている。これらは、その全体を参照することにより本明細書に組込まれる。
NAND型フラッシュメモリ及びそれらの動作の関連する例は、以降の米国特許/特許出願内に提供されており、それら全てはその全体を参照することにより本明細書に組み込まれる。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第5,386,422号、米国特許第6,456,528号、及び米国特許出願第09/893,277号(公開番号US2003/0002348号)。NANDフラッシュメモリに加えて、他の種類の不揮発性メモリも本発明に従って使用できる。
フラッシュEEPROMシステム内で役立つ別の種類のメモリセルは、導電性フローティングゲートの代わりに非導電性誘電体材料を利用して、不揮発的な方法で電荷を蓄積する。このようなセルは、Chanらによる論文、「A True Single−Transistor Oxide−Nitride−Oxide EEPROM Device」、IEEE Electron Device Letters, Vol.EDL−8,No.3、1987年3月、93〜95ページ内に記載されている。酸化シリコン、窒化シリコン及び酸化シリコン(「ONO」)からなる三層誘電体は、導電性制御ゲートと、メモリセルチャネル上の半導体基板の表面の間に挟持される。セルは、セルチャネルから窒化物内に電子を注入することによってプログラムされる。その電子は、制限領域内にトラップされて蓄積される。それから、この蓄積された電荷は、セルチャネルの一部の閾値電圧を検出可能なように変化させる。窒化物内にホットホールを注入することによって、セルが消去される。Nozakiらの「A 1−Mb EEPROM with MONOSMemory Cell for Semiconductor Disk Application」,IEEE Journal of Solid−State Circuits,Vol.26,No.4,1991年4月、497〜501ページを参照すると、分割ゲート構成内の同様のセルを説明しており、ここではドープされたポリシリコンゲートがメモリセルチャネルの一部上に延び、別個の選択トランジスタを構成している。以上の2つの論文は、それらの全体を参照することによって本明細書に組み込まれる。William D.Brown及びJoe E.Brewerによって編集された「Nonvolatile Semiconductor Memory Technology」,IEEE Press,1998のセクション1.2で言及されているプログラミング技術(参照によって本明細書に組み込まれる)も、誘電体電荷捕捉装置に適用可能であることをそのセクションで説明している。このパラグラフに説明されているメモリセルを、本発明と共に用いることもできる。従って、本明細書で説明される技術は、異なるメモリセルの誘電体領域間の結合にも適用される。
各セルに2つのビットを記憶する別の方式は、Eitanらの「NROM:A NOvel Localized Trapping,2−Bit Nonvolatile Memory Cell」,IEEE Electron Device Letters,vol.21,no.11,2000年11月、543〜545ページに説明されている。ONO誘電体層は、ソース及びドレイン拡散部の間のチャネルに亘って延びている。1つのデータビットの電荷はドレインに隣接する誘電体層内に局所化され、他のデータビットの電荷はソースに隣接する誘電体層内に局所化される。マルチ状態データストレージは、誘電体内の空間的に分離した電荷ストレージ領域のバイナリ状態を別個に読み出すことによって得られる。このパラグラフで説明したメモリセルも、本発明と共に用いることができる。
図4は、図1〜3に示したようなNANDセルのアレイの一例を示している。各列に沿って、ビットライン206はNANDストリング150のドレイン選択ゲートのドレイン端子126に接続している。NANDストリングの各行に沿って、ソースライン204はNANDストリングのソース選択ゲートのすべてのソース端子128に接続できる。メモリシステムの一部としてのNANDアーキテクチャアレイ及びその動作の一例は、米国特許第5,570,315号、第5,774,397号、及び第6,046,935号に記載されている。
メモリセルのアレイは、メモリセルの多数のブロックに分割される。フラッシュEEPROMシステムでは一般的なように、ブロックは消去のユニットである。つまり、各ブロックは、共に消去される最小数のメモリセルを有する。各ブロックは、一般に複数のページに分割される。ページはプログラミングの単位である。一実施形態では、個々のページはセグメントに分割され、セグメントは基本プログラミング動作として一度に書き込まれる最小数のセルを有することができる。一般に、メモリセルの1行に1ページ以上のデータを記憶する。1ページは1つ以上のセクタを記憶できる。1つのセクタは、ユーザデータとオーバヘッドデータを有する。オーバヘッドデータは一般に、そのセクタのユーザデータから計算された誤り訂正符号(ECC)を有する。制御部(後に説明)の一部は、データがアレイ内にプログラムされるときにECCを計算し、さらにデータがアレイから読み出されるときにそれをチェックする。また、ECC及び/又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページもしくは異なるブロックにさえ記憶される。
ユーザデータのセクタは一般に512バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の16〜20バイトである。多数のページがブロックを構成し、それは8ページから、例えば最大32、64,128またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、NANDストリングの列がブロックを有する。
一実施形態では、メモリセルは、十分な時間、消去電圧(例えば、20V)までpウェルを上昇させ、ソースラインとビットラインをフローティングさせながら選択ブロックのワードラインを接地することによって消去される。容量性結合によって、非選択ワードライン、ビットライン、選択ライン、及びcソースも消去電圧のかなりの割合まで上昇させられる。このようにして選択メモリセルのトンネル酸化物層に強電界が印加され、一般的にはファウラー−ノルドハイムトンネリング機構によって、フローティングゲートの電子が基板側に放出されるとき選択メモリセルのデータが消去される。電子がフローティングゲートからpウェル領域に送られると、選択セルの閾値電圧は低下する。消去は、メモリアレイ全体、別個のブロック又は別のユニットのセル上で実行できる。
図5は、本発明の一実施形態による1ページのメモリセルを並列に読み出し及びプログラミングする読み出し/書き込み回路を備えたメモリ装置296を示している。メモリ装置296は、1つ以上のメモリダイ298を有する。メモリダイ298は、2次元のアレイのメモリセル300、制御回路310、及び読み出し/書き込み回路365を有する。いくつかの実施形態では、メモリセルのアレイは3次元であり得る。メモリアレイ300は行復号部330を介してワードラインによって、及び、列復号部360を介してビットラインによってアドレスできる。読み出し/書き込み回路365は複数の検出ブロック400を有しており、1ページのメモリセルを並列に読み出し又はプログラムすることができる。一般に、制御部350は、1つ以上のメモリダイ298のように同じメモリ装置296(例えば、取り外し可能なストレージカード)内に含まれる。コマンド及びデータは、ライン320を介してホストと制御部350の間、及びライン318を介して制御部と1つ以上のメモリダイ298の間で送られる。
制御回路310は、読み出し/書き込み回路365と協調して、メモリアレイ300上でメモリ動作を実行する。制御回路310は、状態マシン312、オンチップアドレス復号部314及び電力制御モジュール316を有している。状態マシン312は、メモリ動作のチップレベル制御を提供する。オンチップアドレス復号部314は、ホスト又はメモリ制御部によって用いられるとともに、復号部330及び360によって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール316は、メモリ動作中にワードライン及びビットラインに供給される電力及び電圧を制御する。
いくつかの実装形態では、図5の構成要素のいくつかを統合することができる。多様な設計では、メモリセルアレイ300以外の図5の構成要素の1つまたは複数を(単独でまたは組み合わせて)1つの管理回路と見なすことができる。例えば、1つまたは複数の管理回路は、制御回路310、状態マシン312、復号部314/360、電力制御316、検出ブロック400、読み出し/書き込み回路365、制御部350等の内の1つ、または組み合わせを有していてもよい。
図6は、図5に示したメモリ装置296の別の構成を示している。様々な周辺回路によるメモリアレイ300へのアクセスはアレイの両側で対称的に実装されており、各側のアクセスライン及び回路の密度が半分に低減されている。従って、行復号部は行復号部330Aと330Bに分割され、列復号部は列復号部360Aと360Bに分割されている。同様に、読み出し/書き込み回路は、アレイ300の底部からビットラインに接続する読み出し/書き込み回路365Aと、アレイ300の上部からビットラインに接続する読み出し/書き込み回路365Bに分割されている。この方法により、読み出し/書き込みモジュールの密度は本質的に二分の一に低減される。図6の装置は、図5の装置で上述したような制御部を有することもできる。
図7は、検出モジュール380、及び共通部390と呼ばれるコア部内で分割された個々の検出ブロック400のブロック図である。一実施形態では、各ビットラインの別個の検出モジュール380と、複数の検出モジュール380の集合の1つの共通部390があってもよい。一例では、検出ブロックは、1つの共通部390と8つの検出モジュール380を有することができる。グループ内の各検出モジュールは、データバス372を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願第11/026,536号、「Non−Volatile Memory & Method with Shared Processing for an Aggregate on Sense Amplifiers」、出願日04年12月29日を参照する。その全体は参照することにより本明細書に組み込まれる。
検出モジュール380は検出回路370を有しており、検出回路370は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール380はさらにビットラインラッチ382を有しており、ビットラインラッチ382は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ382内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態(例えば、Vdd)とされる。
共通部390は、プロセッサ392、1セットのデータラッチ394、及び1セットのデータラッチ394とデータバス320の間を接続するI/Oインタフェース396を有する。プロセッサ392は計算を実行する。例えば、その機能の1つは、検出されたメモリセル内に記憶されているデータを判定し、判定したデータを1セットのデータラッチ内に記憶することである。1セットのデータラッチ394は、読み出し動作中に、プロセッサ392によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス320から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムする予定の書き込みデータを表す。I/Oインタフェース396は、データラッチ394とデータバス320の間のインタフェースを提供する。
読み出し又は検出中には、システムの動作は状態マシン312の制御下にあり、状態マシン312はアドレスされたセルへの異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール380はこれらの電圧の1つに移動し、バス372を介して検出モジュール380からプロセッサ392に出力が提供される。その時点で、プロセッサ392は、検出モジュールの移動イベントと、状態マシンから入力ライン393を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ394に記憶する。コア部の別の実施形態では、ビットラインラッチ382は、検出モジュール380の出力をラッチするラッチ、及び上記のようなビットラインラッチの両方としてダブルデューティを提供する。
当然のことながら、いくつかの実装形態では複数のプロセッサ392を有することができる。一実施形態では、各プロセッサ392は出力ライン(図7には示されていない)を有し、各出力ラインは共にワイヤードOR接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続する前に反転される。ワイヤードORを受け取る状態マシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の素早い決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理0がワイヤードORラインに送られる(又はデータ1を反転させる)。全てのビットがデータ0を出力する(又はデータ1を反転させる)と、状態マシンはプログラミング処理を終了することを認識する。各プロセッサは8つの検出モジュールと通信するので、状態マシンはワイヤードORラインを8回読み出す必要があるか、あるいは、関連するビットラインの結果を蓄積するために論理がプロセッサ392に追加され、状態マシンがワイヤードORラインを一度だけ読み出せばいいようにする。同様に、論理レベルを正しく選ぶことによって、グローバルな状態マシンは、いつ第1ビットがその状態を変更し、アルゴリズムを相応して変更するのかを検出できる。
プログラム又は検証中に、プログラムされるデータはデータバス320から1セットのデータラッチ394内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされるメモリセルの制御ゲートに印加される一連のプログラミング電圧パルスを有する。各プログラミングパルスに続いて読み戻し(検証)が実行され、セルが所望のメモリ状態にプログラムされたかどうかを特定する。プロセッサ392は、所望のメモリ状態に対する読み戻しメモリ状態を監視する。その2つが一致する場合、プロセッサ392はビットラインラッチ382を設定し、プログラム禁止を指定する状態にビットラインを引っ張る。これにより、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続したセルがさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ382をロードし、検出回路が検証処理中に禁止値にそれを設定する。
データラッチスタック394は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール380毎に3つのデータラッチが存在する。いくつかの実装形態では、(必須ではないが)データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス320のシリアルデータに変換したり、その逆を行ったりする。好適な実施形態では、m個のメモリセルの読み出し/書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、r個の読み出し/書き込みモジュールのバンクを調整し、そのセットのデータラッチが読み出し/書き込みブロックの全体のシフトレジスタの一部であっても、そのセットのデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
不揮発性記憶装置の多様な実施形態の構造及び/または動作についての追加情報は、(1)米国特許出願公開第2004/0057287号、「Non−Volatile Memory And Method With Reduced Source Line Bias Errors」、公開日2004年3月25日、(2)米国特許出願公開第2004/0109357号、「Non−Volatile Memory And Method with Improved Sensing」、公開日2004年6月10日、(3)米国特許出願第11/015,199号、「Improved Memory Sensing Circuit And Method For Low Voltage Operation」、発明者Raul−Adrian Cernea、出願日04年12月16日、(4)米国特許出願第11/099,133号、「Compensating forCoupling During Read Operations of Non−Volatile Memory」、発明者Jian Chen、出願日2005年4月5日、及び(5)米国特許出願第11/321,953号、「Reference Sense Amplifier For Non−Volatile Memory」、発明者Siu Lung Chan及びRaul−Adrian Cernea、出願日2005年12月28日に記載されている。上記5つの特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
図8は、不揮発性メモリをプログラムする方法の一実施形態を説明するフローチャートである。一実装形態では、メモリセルはプログラミング前に(ブロック又は他のユニットで)消去される。図8のステップ400では、「データロード」コマンドが制御部によって発行され、制御回路310で入力を受け取る。ステップ402では、ページアドレスを指定するアドレスデータを制御部又はホストから復号部314に入力する。ステップ404では、アドレスされたページのプログラムデータの1ページをプログラミングのためにデータバッファに入力する。そのデータは、適切なセットのラッチ内にラッチされる。ステップ406では、「プログラム」コマンドが、制御部によって状態マシン312に発行される。
「プログラム」コマンドによってトリガされ、ステップ404でラッチしたデータは、適切なワードラインに印加した図9のステップパルスを用いて、状態マシン312によって制御された選択メモリセル内にプログラムされる。ステップ408で、プログラム電圧Vpgmを開始パルス(例えば、12Vまたは他の値)に初期化し、状態マシン312によって維持されるプログラムカウンタPCは0に初期化する。ステップ410では、第1Vpgmパルスを選択ワードラインに印加する。対応するメモリセルをプログラムすべきことを示す論理「0」が特定のデータラッチ内に記憶された場合、対応するビットラインを接地する。一方、対応するメモリセルがその電流データ状態に留まるべきことを示す論理「1」が特定のラッチ内に記憶された場合、プログラミングを禁止するために対応するビットラインをVddに接続する。
ステップ412では、選択メモリセルの状態を検証する。選択セルの対象閾値電圧が適切なレベルに到達したことが検出された場合、対応するデータラッチ内に記憶したデータは論理「1」に変更される。閾値電圧が適切なレベルに到達していないことが検出された場合、対応するデータラッチ内に記憶したデータは変更されない。このように、その対応するデータラッチ内に記憶した論理「1」を有するビットラインはプログラムする必要はない。全てのデータラッチが論理「1」を記憶しているときに、状態マシンは(上記のワイヤードOR型機構によって)全ての選択セルがプログラムされたことを認識する。ステップ414では、全てのデータラッチが論理「1」を記憶しているかどうかを確認する。そうであれば、全ての選択メモリセルがプログラムされて検証されたので、プログラミング処理を完了し成功とする。ステップ416では、「成功」の状態を報告する。一実施形態では、ステップ412の検証は、他の非選択メモリセルに提供される電圧とは異なる1つ以上の電圧を、プログラムされているメモリセルに隣接するメモリセルに印加することを含む。例えば、ワードラインWLn上のメモリセルがプログラムされている場合には、ワードラインWLn+1上のメモリセルに印加される電圧は他の非選択ワードラインに印加される電圧とは異なる。この補償については、後に図10を用いて詳述する。
ステップ414において、全てのデータラッチが論理「1」を記憶しているとは限らないと判定された場合、プログラミング処理は継続する。ステップ418では、プログラム限界値PCMAXに対してプログラムカウンタPCを確認する。プログラム限界値の一例は20であるが、他の値を用いることもできる。プログラムカウンタPCが20以上であれば、プログラム処理は失敗し、ステップ420で「不合格」の状態を報告する。プログラムカウンタPCが20未満であれば、Vpgmレベルがステップサイズだけ増加されて、ステップ422でプログラムカウンタPCが増大される。ステップ422の後、処理のループはステップ410に戻って次のVpgmパルスを印加する。
図9は、プログラミングのために選択されたワードラインに印加される一連のプログラムパルスを示す。プログラムパルスの間には検証パルス(不図示)のセットがある。いくつかの実施形態では、データがプログラミングされている状態ごとに検証パルスがある。他の実施形態では、さらに多くのまたはさらに少ない検証パルスがあり得る。
一実施形態では、データは共通ワードラインに沿ってメモリセルにプログラムされる。従って、図9のプログラムパルスを印加する前に、ワードラインの内の1つがプログラミングに選択される。このワードラインは選択ワードラインと呼ばれる。ブロックの残りのワードラインは非選択ワードラインと呼ばれる。選択ワードラインは、1つまたは2つの隣接するワードラインを有することがある。選択ワードラインが2つの隣接ワードラインを有する場合、ドレイン側の隣接ワードラインはドレイン側隣接ワードラインと呼ばれ、ソース側の隣接ワードラインはソース側隣接ワードラインと呼ばれる。例えば、図2のWL2が選択ワードラインである場合は、WL1がソース側隣接ワードラインであり、WL3がドレイン側隣接ワードラインである。
メモリセルの各ブロックは、列を構成するビットラインのセットと、行を構成するワードラインのセットを含む。一実施形態では、ビットラインは奇数ビットラインと偶数ビットラインに分けられる。共通ワードラインに沿っており、奇数ビットラインに接続されているメモリセルは所定のタイミングでプログラムされる。また、共通ワードラインに沿っており、偶数ビットラインに接続されているメモリセルは別のタイミングでプログラムされる(「奇数/偶数プログラミング」)。別の実施形態では、メモリセルは、ブロック内の全てのビットラインについて、1本のワードラインに沿ってプログラムされる(「全ビットラインプログラミング」)。他の実施形態では、ビットラインまたはブロックを他のグループに分割できる(例えば、左と右、3つ以上のグループ等)。
図10は、読み出し処理または検証処理の1回の反復の間の多様な信号の動作を示すタイミング図である。例えば、メモリセルがバイナリメモリセルである場合、図10の処理は、ステップ412の反復中に各メモリセルに1回実行され得る。メモリセルが4つの状態(例えば、E、A、B及びC)を有するマルチ状態メモリセルである場合、図10の処理はステップ412の反復の間に各メモリセルに対して3回実行され得る。
一般的には、読み出し動作と検証動作の間においては選択ワードラインには電圧が印加され、そのレベルは、関係するメモリセルの閾値電圧がこのようなレベルに到達したかどうかを判定するために、読み出し動作と検証動作ごとに指定される。ワードライン電圧を印加した後、ワードラインに印加された電圧に応じてメモリセルがオンになったかどうかを判定するために、メモリセルの伝導電流が測定される。伝導電流が特定の値より大きいと測定される場合、メモリセルがオンし、ワードラインに印加された電圧がメモリセルの閾値電圧より大きいと仮定される。伝導電流が特定の値を超えていないと測定されると、メモリセルがオンにならず、ワードラインに印加された電圧がメモリセルの閾値電圧を超えていないと仮定される。
読み出し動作または検証動作の間にメモリセルの伝導電流を測定する多くの方法がある。一例では、メモリセルの伝導電流は、それがセンス増幅器内の専用コンデンサを放電する速度で測定される。一実施形態では、全ビットラインプログラミングを使用するメモリアレイは、それがセンス増幅器内の専用コンデンサを放電する速度でメモリセルの伝導電流を測定できる。別の例では、選択されたメモリセルの伝導電流は、メモリセルを含むNANDストリングがビットラインを放電することを可能にする(または可能にすることができない)。ビットライン上の電荷は、それが放電されたかどうかを確かめるためにある期間の後に測定される。一実施形態では、奇数/偶数プログラミングを使用するメモリアレイは、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定できる。図10は両方の例を説明する。
図10は、信号SGD、WL_unsel、WLn+1、WLn、SGS、選択BL、BLCLAMP及びVss(約0ボルト)で開始するソースを示す。SGDは、ドレイン側選択ゲートのゲートを表す。SGSはソース側選択ゲートのゲートである。WLnは読み出し/検証のために選択されたワードラインである。WLn+1は、WLnに対するドレイン側隣接ワードラインである非選択ワードラインである。WL_unselは、ドレイン側隣接ワードライン以外の非選択ワードラインを表す。選択BLは読み出し/検証のために選択されたビットラインである。ソースは、メモリセルのためのソースラインである(図4を参照)。BLCLAMPは、センス増幅器から充電されるときにビットラインの値を設定するアナログ信号である。SGS、選択BL、及びBLCLAMPの2つのバージョンが示されていることに注意する。これらの信号SGS(B)、選択BL(B)及びBLCLAMP(B)からなるセットは、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定するメモリセルのアレイの読み出し/検証動作を示す。信号SGS(C)、選択BL(C)、及びBLCLAMP(C)からなるもう一つのセットは、それがセンス増幅器内の専用コンデンサを放電する速度によって、メモリセルの伝導電流を測定するメモリセルのアレイのための読み出し/検証動作を示している。
最初に、ビットラインが放電したかどうかを判定することによってメモリセルの伝導電流を測定するときに必要とされる検出回路とメモリセルのアレイの動作を、SGS(B)、選択BL(B)、及びBLCLAMP(B)に関して説明する。図10の時刻t1で、SGDはVdd(例えば約3.5ボルト)まで上昇され、非選択ワードライン(WL_unsel)はVread(例えば約5.5ボルト)まで上昇され、ドレイン側隣接ワードライン(WLn+1)はVreadXまで上昇され、選択ワードラインWLnは、読み出し動作のためのVcgr(例えば図11のVra、Vrb、またはVrc)あるいは検証動作のための検証レベル(例えば図11のVva、Vvb、またはVvc)まで上昇され、BLCLAMP(B)は選択ビットライン選択BL(B)をプリチャージするためにプリチャージ電圧(例えば約0.7ボルト)まで上昇される。電圧VreadとVreadXは、非選択メモリセルをオンにし、通過ゲートとして動作するため、通過電圧として機能する。時刻t2で、BLCLAMP(B)は、NANDストリングがビットラインを制御できるようにVssまで引き下げられる。また、時刻t2では、SGS(B)をVddに上げることで、ソース側選択ゲートがオンになる。これは、ビットライン上の電荷を消滅させるための経路となる。読み出しのために選択されたメモリセルの閾値電圧がVcgrまたは選択ワードラインWLnに印加される検証レベルより大きい場合には、信号線450に示すように、選択メモリセルはオンにならず、ビットラインは放電しない。読み出しに選択されたメモリセル内の閾値電圧がVcgr未満または選択ワードラインWLnに印加される検証レベル未満である場合には、曲線452に示すように、読み出しに選択されたメモリセルはオンになり(導通し)、ビットライン電圧は消滅する。(特定の実装形態によって決定されるような)時刻t2後、かつ、時刻t3前のポイントで、センス増幅器は、ビットラインが十分な量消散したかどうかを判定する。図10に示すように、BLCLAMP(B)は、t2とt3の間で、センス増幅器に評価BL電圧を測定させるために上昇され、それから引き下げられる。時刻t3では、示されている信号はVss(またはスタンバイまたは修復のための別の値)まで引き下げられる。他の実施形態では、信号のいくつかのタイミングを変更できる(例えば、隣に印加される信号をシフトする)ことに注意する。
次に、センス増幅器内の専用コンデンサを放電する速度によってメモリセルの伝導電流を測定するときの検出回路とメモリセルのアレイの動作を、SGS(C)、選択BL(C)及びBLCLAMP(C)に関して説明する。図10の時刻t1で、SGDはVdd(例えば約3.5ボルト)に上昇され、非選択ワードライン(WL_unsel)がVread(例えば約5.5ボルト)に上昇され、ドレイン側隣接ワードライン(WLn+1)がVreadXに上昇され、選択ワードラインWLnが、読み出し動作のためのVcgr(例えば図11のVra、Vrb及びVrc)または検証動作のための検証レベル(例えば図11のVva、VvbまたはVvc)に上昇され、BLCLAMP(C)が上昇される。このケースでは、センス増幅器は、NANDストリングが何を行っているのかに関係なくビットライン電圧を一定に保持し、センス増幅器はその電圧に「固定された」ビットラインを流れる電流を測定する。従って、BLCLAMP(C)はt1で上昇し、t1からt3の間で変化しない。(特定の実装形態によって決定されるような)時刻t1の後、かつ、時間t3の前のポイントで、センス増幅器は、センス増幅器内のコンデンサが十分な量消散したかどうかを判定する。時刻t3で、示されている信号はVss(またはスタンバイまたは修復のための別の値)に引き下げられる。他の実施形態では、信号のいくつかのタイミングを変更できることに注意されたい。
前述したように、制御ゲートから測定されるような不揮発性メモリセルのフローティングゲート(または他の電荷ストレージ素子)の見かけの閾値電圧のシフトは、隣接するフローティングゲート(または他の隣接する電荷ストレージ素子)に蓄えられる電荷に基づいた電界の結合のために発生し得る。問題は、異なるときにプログラムされた隣接メモリセルのセットの間でもっとも顕著に発生する。この結合を排除するために、ある特定のメモリセルのための読み出し処理が、隣接メモリセルが特定のメモリセルに与える結合影響を低減するためにその隣接セルに補償を提供する。また、一実施形態は、検証処理の間に、隣接メモリセルに対して後に補償を適用するために必要となる条件を設定することも含む。このような実施形態では、WLn+1に印加される別名VREADとして知られるオーバードライブ/バイパス電圧が、例えば典型的な6Vという値から、例えば3Vまで引き下げられる。補償は、プログラム/検証動作の検証段階の間に使用された電圧と比較してより高い電圧を、WLnに対して実行される読み出し動作の間にWLn+1に印加することによって行われる。言い換えると、補償とは、変更/デルタ:△VREAD={[VREAD(WLnの読み出し中のWLn+1)]−[VREAD(WLnの検証中のWLn+1)]}から成り立っている。検証の間により低いVREAD値を使用する優位点は、必要とされる△VREADを維持しながら、VREADの名目値を後に読み出し動作の間に印加できるようになるという点である。検証中にVREADの名目値より低い値を使用することがなければ、十分な△VREADの印加を可能にする読み出し中のVREADの必要な値は、例えば、読み出し外乱状態をもたらすほど高いVREAD電圧のように高すぎる電圧である6+3=9Vとなったであろう。このような後の補償のために設定する例は、他の非選択ワードラインがVreadを受ける間におけるドレイン側隣接ワードラインへのVreadXの印加として図10に示されている。多くの従来の技術の装置では、非選択ワードラインのすべてがVreadを受けるであろう。図10の実施形態では、ドレイン側の隣を除く非選択ワードラインのすべてがVreadを受ける。また、ドレイン側の隣接ワードラインはVreadXを受ける。
メモリセルがソース側からドレイン側にプログラムされる検証処理の場合、ワードラインWLnに書き込むときに、ワードラインWLn+1上の全てのメモリセルが消去状態(例えば状態E)にあることが(一実施形態で)保証される(注意 これは、完全なシーケンスに当てはまり、LMモードには当てはまらない。上述の例を参照。)。ワードラインWLn+1は電圧レベルVreadXを受け、VreadX=Vread4(後述される)である。一実施形態では、Vread4は3.7vに等しい。別の実施形態では、VreadX=Vreadである。他の実施形態では、他の値も使用できる。さまざまな実装形態で、装置の特徴、実験及び/またはシミュレーションに基づいて、Vread4またはVreadXの異なる値を求めることができる。
成功したプログラム処理の最後では、メモリセルの閾値電圧はプログラムしたメモリセルの閾値電圧の1つ以上の分布内、又は、必要に応じて消去したメモリセルの閾値電圧分布内にあるべきである。図11は、各メモリセルが2ビットのデータを記憶している場合のメモリセルアレイの閾値電圧分布を示している。図11は、消去したメモリセル用の第1の閾値電圧分布Eを示している。プログラムしたメモリセルの3つの閾値電圧分布A、B及びCも示している。一実施形態では、分布E内の閾値電圧は負であり、分布A、B及びC内の閾値電圧は正である。
図11の異なる閾値電圧範囲の各々は、データビットのセットの所定の値に対応する。メモリセルにプログラムされたデータとセルの閾値電圧レベルの間の具体的な関係は、セルに対して採用されるデータ符号化方式に依存する。例えば、米国特許第6,222,762号及び米国特許出願第10/461,244号、「Tracking Cells For A Memory System」、出願日2003年6月13日(両方とも全体として参照によって本明細書に組み込まれる)は、マルチ状態フラッシュメモリセルの様々なデータ符号化方式を説明している。一実施形態では、データ値はグレイ符号割り当てを用いて閾値電圧範囲に割り当てられ、フローティングゲートの閾値電圧がその隣接する物理状態に誤ってシフトしても、1ビットだけが影響を受けるようにする。一例では、「11」を閾値電圧範囲E(状態E)、「10」を閾値電圧範囲A(状態A)、「00」を閾値電圧範囲B(状態B)、「01」を閾値電圧範囲C(状態C)に割り当てる。しかし、他の実施形態ではグレイ符号は用いられない。図11は4つの状態を示しているが、本発明は4つの状態より多い、又は少ない状態を含む他のマルチ状態構造と共に用いることもできる。
図11はさらに、メモリセルからデータを読み出すための3つの読み出し基準電圧Vra、Vrb及びVrcを示している。所定のメモリセルの閾値電圧がVra、Vrb及びVrcより高いか、低いかをテストすることによって、システムはメモリセルがどの状態にあるかを特定できる。
図11は、3つの検証基準電圧Vva、Vvb及びVvcも示している。メモリセルを状態Aにプログラムする場合、システムは、それらのメモリセルがVva以上の閾値電圧を有するか否かをテストする。メモリセルを状態Bにプログラムする場合、システムは、メモリセルがVvb以上の閾値電圧を有するか否かをテストする。メモリセルを状態Cにプログラムする場合、システムはメモリセルがVvc以上の閾値電圧を有するか否かを判定する。
全シーケンスプログラミングとして知られる一実施形態では、メモリセルは、消去状態Eから、プログラム状態A、BまたはCの何れにも直接的にプログラムできる。例えば、集合内の全てのメモリセルが消去状態Eになるように、プログラムされるメモリセルの集合が最初に消去される。次に、図9に示す制御ゲート電圧シーケンスを使用する図18に示すプロセスが、メモリセルを状態A、BまたはCに直接的にプログラムするために使用される。いくつかのメモリセルは状態Eから状態Aにプログラムされるが、他のメモリセルは状態Eから状態Bに、及び/または状態Eから状態Cにプログラムされる。WLn上で状態Eから状態Cにプログラムする場合、状態Eから状態Aに、あるいは、状態Eから状態Bにプログラミングするときの電圧の変化に比べて、WLn下のフローティングゲートの電荷量の変化が最大になるため、WLn−1下の隣接するフローティングゲートに対する寄生結合の量は最大となる。状態Eから状態Bにプログラムするとき、隣接フローティングゲートに対する結合量は少なくなるが、依然としてかなりの量である。状態Eから状態Aにプログラムするときには、結合の量はさらに少なくなる。その結果、WLn−1の各状態を後に読み出すために必要とされる訂正量は、WLn上の隣接するセルの状態に応じて変化する。
図12は、2つの異なるページ(下側ページと上側ページ)に対してデータを記憶するマルチ状態メモリセルをプログラムする二経路技術の一例を示している。状態E(11)、状態A(10)、状態B(00)及び状態C(01)の4つの状態が示されている。状態Eの場合、両方のページが「1」を記憶する。状態Aの場合、下側ページが「0」を記憶し、上側ページが「1」を記憶する。状態Bの場合、両方のページが「0」を記憶する。状態Cの場合、下側ページが「1」を記憶し、上側ページが「0」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能である。
第1プログラミング経路では、セルの閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「1」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「0」であれば、矢印530で示したように、セルの閾レベルは状態Aになるように増大される。それは、第1プログラミング経路を結論付ける。
第2プログラミング経路では、セルの閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「1」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態E又はAの一方であり、どちらも上側ページビットは「1」を保持するのでプログラミングは生じない。上側ページビットが論理「0」となる場合、閾値電圧はシフトされる。第1経路によってセルが消去状態Eに留まっていれば第2段階でセルをプログラムし、矢印534で示したように閾値電圧が状態C内になるように増大させる。第1プログラミング経路の結果としてセルが状態A内にプログラムされれば、メモリセルはさらに第2経路でプログラムされ、矢印532で示したように閾値電圧が状態B内になるように増大させる。第2経路の結果は、下側ページ用のデータを変更することなく、上側ページの論理「0」を記憶するように指定した状態にセルをプログラムすることである。図11と図12の両方で、隣接ワードライン上のフローティングゲート結合量は最終状態に依存する。
一実施形態では、ページ全体を充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。全ページに対して十分ではないデータが書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったとき、システムは上側ページをプログラムする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインのメモリセルの全体(又は大部分)を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、発明者Sergy Anatolievich Gorobets及びYan Liの米国特許出願第11/013,125号、発明の名称「Pipelined Programming of Non−Volatile Memories Using Early Data」、出願日2004年12月14日で開示されている。その全体は参照することによって本明細書に組み込まれる。
図13A−Cは、前のページの隣接メモリセルに書き込んだ後で、特定のページに対してその特定のメモリセルを書き込むことによって、その特定のメモリセルに対するフローティングゲート間結合影響を低減する不揮発性メモリをプログラムする別の方法を開示している。図13A−Cによって開示された処理の実装形態の一例では、不揮発性メモリセルは、4つのデータ状態を用いてメモリセル毎に2ビットのデータを記憶する。例えば、状態Eが消去状態であり、状態A、B及びCがプログラム状態であると仮定する。状態Eはデータ11を記憶している。状態Aはデータ01を記憶している。状態Bはデータ10を記憶している。状態Cはデータ00を記憶している。両方のビットは隣接する状態A及びBの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各メモリセルは2ページ分のデータを記憶する。参照目的のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。図13A−Cの処理の状態Aを参照すると、上側ページはビット0を記憶し、下側ページはビット1を記憶している。状態Bを参照すると、上側ページはビット1を記憶し、下側ページはビット0を記憶している。状態Cを参照すると、両方のページがビットデータ0を記憶している。
図13A−Cのプログラミング処理は、2つのステップの処理である。第1ステップでは、下側ページをプログラムする。下側ページがデータ1のままである場合、メモリセル状態は状態Eに留まる。データが0にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態B’にプログラムされる。従って、図13Aは、状態Eから状態B’へのメモリセルのプログラミングを示している。図13Aに示した状態B’は暫定的状態Bであり、従って、検証点はVvb’として示され、前記検証点はVvbより低い。
一実施形態では、状態Eから状態B’にメモリセルをプログラムした後、NANDストリング内の隣接メモリセル(WLn+1)をその下側ページに対してプログラムする。例えば、図2を見直すと、メモリセル106用の下側ページをプログラムした後、メモリセル104の下側ページをプログラムする。メモリセル104をプログラムした後、メモリセル104が状態Eから状態B’に上昇した閾値電圧を有していた場合、フローティングゲート間結合影響はメモリセル106の見かけの閾値電圧を上昇させる。これは、図13Bの閾値電圧分布550として示されたものに対して、状態B’の閾値電圧分布を拡大する影響を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。
図13Cは、上側ページをプログラムする処理を示している。メモリセルが消去状態Eであって上側ページが1に留まる場合、メモリセルは状態Eに留まる。メモリセルが状態Eであり、その上側ページデータが0にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Aになる。メモリセルが中間の閾値電圧分布550であって上側ページデータが1に留まる場合、メモリセルは最終的な状態Bにプログラムされる。メモリセルが中間の閾値電圧分布550であって上側ページデータがデータ0になる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Cになる。隣接メモリセルの上側ページプログラミングだけが所定のメモリセルの見かけの閾値電圧に影響を与えるので、図13A−Cで示した処理はフローティングゲート間結合影響を低減する。別の状態符号化の一例は、上側ページデータが1であるとき分布550から状態Cに移動することであり、上側ページデータが0であるとき状態Bに移動することである。
図13A−Cは4つのデータ状態と2つのページデータに対する一例を提供するが、図13A−Cによって開示された概念は4つより多い、又は少ない状態、及び2つのページとは異なるページを備えた他の実装形態に適用することもできる。
図14A−Fは、図11、図12及び図13A−Cによって説明した方法の多様な実施形態に従ってプログラミングの順序を説明する多様な表を示している。
図14Aは、全ビットラインプログラミングにおけるビットラインに沿ってメモリセルをプログラムする順序を説明する表である。この実施形態では、4つのワードラインのあるブロックは4つのページ(ページ0から3)を含んでいる。ページ0が最初に書き込まれ、ページ1が続き、ページ2が続き、それからページ3が続く。ページ0中のデータは、ワードラインWL0に接続されている全てのメモリセルによって記憶されるデータを含んでいる。ページ1中のデータは、ワードラインWL1に接続されているメモリセルによって記憶されるデータを含んでいる。ページ2中のデータは、WL2に接続されているメモリセルによって記憶されるデータを含んでいる。ページ3の中のデータはワードラインWL3に接続されているメモリセルによって記憶されるデータを含んでいる。図14Aの実施形態は、図11に関して前述した全シーケンスプログラミングを想定している。
図14Bは、図11に関して前述した全シーケンスプログラミング法を使用する場合の奇数/偶数プログラミングの間におけるプログラミング順序を示している。この実施形態では、4つのワードラインのあるブロックは、8ページのデータを含む。ワードラインWL0に接続されている偶数ビットライン上のメモリセルは、ページ0のデータを記憶する。ワードラインWL0に接続されている奇数ビットライン上のメモリセルは、ページ1のデータを記憶する。ワードラインWL1に接続されている偶数ビットライン上のメモリセルは、ページ2のデータを記憶する。ワードラインWL1に接続されている奇数ビットライン上のメモリセルは、ページ3のデータを記憶する。ワードラインWL2に接続されている偶数ビットライン上のメモリセルは、ページ4のデータを記憶する。ワードラインWL2に接続されている奇数ビットライン上のメモリセルは、ページ5のデータを記憶する。ワードラインWL3に接続されている偶数ビット上のメモリセルは、ページ6のデータを記憶する。ワードラインWL3に接続されている奇数ビットライン上のメモリセルは、ページ7のデータを記憶する。データは、ページ0からページ7までのページ番号に従った番号順でプログラムされる。
図14Cの表は、全ビットラインプログラミングを実行するメモリアレイに対する、図12の2相プログラミングプロセスに従ったプログラミングの順序を示している。4つのワードラインのあるブロックが、8ページを含むことが示されている。ワードラインWL0に接続されているメモリセルの場合、データの下側ページがページ0を形成し、上側ページデータがページ1を形成する。ワードラインWL1に接続されているメモリセルの場合、データの下側ページがページ2を形成し、上側ページデータがページ3を形成する。ワードラインWL2に接続されるメモリセルの場合、データの下側ページがページ4を形成し、上側ページデータがページ5を形成する。ワードラインWL3に接続されているメモリセルの場合、データの下側ページがページ6を形成し、上側ページデータがページ7を形成する。データは、ページ0からページ7までのページ番号に従った番号順でプログラムされる。
図14Dは、奇数/偶数プログラミングを実行するメモリアーキテクチャに対する、図12の2相プログラミングプロセスをプログラムする順序を説明する表を示している。4つのワードラインのあるブロックは16ページを含み、ページはページ0からページ15までのページ番号に従った番号順でプログラムされる。ワードラインWL0に接続されている偶数ビットライン上のメモリセルの場合、データの下側ページがページ0を形成し、上側ページデータがページ2を形成する。ワードラインWL0に接続されている奇数ビットライン上のメモリセルの場合、データの下側ページがページ1を形成し、データの上側ページがページ3を形成する。ワードラインWL1に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ4を形成し、上側ページはページ6を形成する。ワードラインWL1に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ5を形成し、上側ページがページ7を形成する。ワードラインWL2に接続されている偶数ビットライン上のメモリセルの場合、下側ページがページ8を形成し、上側ページがページ10を形成する。ワードラインWL2に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ9を形成し、上側ページがページ11を形成する。ワードラインWL3に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ12を形成し、上側ページがページ14を形成する。ワードラインWL3に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ13を形成し、上側ページはページ15を形成する。代わりに、図14Eのように、偶数ビットラインの各ワードラインの下の下側ページと上側ページの両方が、同じワードラインについての奇数ビットラインの両方のページをプログラムする前にプログラムされる。
図14Fと図14Gは、図13A−Cのプログラミング方法を活用してメモリセルをプログラムする順序を説明している。図14Fは、全ビットラインプログラミングを実行するアーキテクチャに関する。ワードラインWL0に接続されているメモリセルの場合、下側ページはページ0を形成し、上側ページはページ2を形成する。ワードラインWL1に接続されているメモリセルの場合、下側ページはページ1を形成し、上側ページはページ4を形成する。ワードラインWL2に接続されているメモリセルの場合、下側ページはページ3を形成し、上側ページはページ6を形成する。ワードラインWL3に接続されているメモリセルの場合、下側ページはページ5を形成し、上側ページはページ7を形成する。メモリセルは、ページ0からページ7のページ番号に従った番号順でプログラムされる。
図14Gの表は、奇数/偶数プログラミングを実行するアーキテクチャに関する。ワードラインWL0に接続されている偶数ビットライン上のメモリセルの場合、下側ページは0を形成し、上側ページはページ4を形成する。ワードラインWL0に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ1を形成し、上側ページはページ5を形成する。ワードラインWL1に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ2を形成し、上側ページはページ8を形成する。ワードラインWL1に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ3を形成し、上側ページはページ9を形成する。ワードラインWL2に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ6を形成し、上側ページはページ12を形成する。ワードラインWL2に接続されている奇数ビットライン上のメモリセルの場合、下側ページはページ7を形成し、上側ページはページ13を形成する。ワードラインWL3に接続されている偶数ビットライン上のメモリセルの場合、下側ページはページ10を形成し、上側ページはページ14を形成する。ワードラインWL3に接続されている奇数ビットライン上のメモリセルの場合、下側ページがページ11を形成し、上側ページがページ15を形成する。メモリセルは、ページ0からページ15のページ番号に従った番号順でプログラムされる。最後に、偶数ビットラインと奇数ビットラインの両方を有するアーキテクチャのそれぞれは、全ての偶数ビットラインが、例えばチップの左側に物理的に位置し、奇数ビットラインの全てが、例えばチップの右側に位置する状態で実現できる。
図14A−Gの実施形態では、メモリセルはソース側からドレイン側にNANDストリングに沿ってプログラムされることに注意する。また、表は4つのワードラインを用いた実施形態だけを示している。表の中に示される多様な方法は、4つより多いまたは4つより少ないワードラインのシステムに適用できる。奇数/偶数プログラミングを使用するアーキテクチャの例は、米国特許第6,522,580号と第6,643,188号に記載されている。両方の出願はその全体を参照することにより本明細書に組み込まれる。全ビットラインプログラミングを使用するアーキテクチャについての詳細は、全体を参照することにより本明細書に組み込まれる以下の米国特許に記載されている。米国特許出願公開第2004/0057283号、米国特許出願公開第2004/0060031号、米国特許出願公開第2004/0057285号、米国特許出願公開第2004/0057287号、米国特許出願公開第2004/0057318号、米国特許第6,771,536号、及び米国特許第6,781,877号。
一般的には、全てのビットラインをともにプログラムするアーキテクチャはすべてのビットラインから同時にデータを読み出す。同様に、奇数ビットラインと偶数ビットラインを別々にプログラムするアーキテクチャは、一般的に奇数ビットラインと偶数ビットラインを別々に読み出す。しかしながら、このような制限は必須ではない。本明細書に説明するデータを読み出す技法は、全ビットラインプログラミングまたは奇数/偶数ビットラインプログラミングとともに使用できる。本明細書に説明するデータを読み出す技術は、他のプログラミング方式だけではなく、図17から図19のプログラミング方式の何れにも使用できる。
図15は、不揮発性メモリセルからデータを読み出す一実施形態を説明するフローチャートである。図15は、システムレベルの読み出しプロセスを提供する。ステップ598では、データ読み出し要求が受信される。ステップ600では、データ読み出し要求(ステップ598)に応じて特定のページに対して読み出し動作が実行される。一実施形態では、ページに対するデータがプログラムされるときに、システムはエラー訂正符号(ECC)に使用される追加のビットも作成し、それらのECCビットをデータのページとともに書き込む。ECC技術は、技術では周知である。使用されるECC処理は、周知の適切なECC処理を含むことができる。ページからデータを読み出すときに、ECCビットは、データにエラーがあるかどうかを判定するために使用される(ステップ602)。ECC処理は、制御部、状態マシンによって、あるいはシステム内の他の場所で実行できる。データにエラーがない場合、データはステップ604でユーザに報告される。例えば、データは、データI/O回線320を介して制御部またはホストに通信される。ステップ602でエラーが検出されると、エラーを訂正可能か否かが判定される(ステップ606)。エラーは、フローティングゲート間結合または他の理由に起因する可能性がある。種々のECC方法は、データのセットの中の所定数のエラーを訂正する能力を有している。ECC処理がデータを訂正できる場合は、ステップ608でECC処理がそのデータを訂正するために使用され、ステップ610で、データは訂正されたとおりにユーザに報告される。データをECC処理によって訂正できない場合は、ステップ620でデータ修復処理が実行される。いくつかの実施形態では、ECC処理はステップ620の後に実行される。データ修復プロセスについての詳細は後述するとおりである。データが修復された後、そのデータはステップ622で報告される。図15の処理は、全ビットラインプログラミングまたは奇数/偶数ビットラインプログラミングを使用してプログラムされるデータとともに使用できる。
図16は、ページのために読み出し動作を実行する処理(図15のステップ600を参照)の一実施形態を説明するフローチャートである。図16の処理は、ブロックの全てのビットライン、ブロックの奇数ビットラインのみ、ブロックの偶数ビットラインのみ、またはブロックのビットラインの他のサブセットを包含するページに対して実行できる。ステップ640では、読み出し基準電圧Vraが、そのページに関連する適切なワードラインに印加される。ステップ642では、そのページに関連するビットラインが検出され、その制御ゲートに対するVraの印加に基づき、アドレス指定されたメモリセルがオンするか、オンしないかを判定する。導通するビットラインは、メモリセルがオンになったことを示す。従って、それらのメモリセルの閾値電圧がVra以下となる(例えば、状態Eとなる)。ステップ644では、ビットラインの検出の結果が、それらのビットラインに対する適切なラッチに記憶される。ステップ646では、読み出し基準電圧Vrbが、読み出されているページと関連するワードラインに印加される。ステップ648では、上述したようにビットラインが検出される。ステップ650では、結果がビットラインの適切なラッチに記憶される。ステップ652では、読み出し基準電圧Vrcが、ページに関連するワードラインに印加される。ステップ654では、上述したようにビットラインが検出され、どのメモリセルがオンになるのかを判定する。ステップ656では、検出ステップの結果がビットラインに対する適切なラッチに記憶される。ステップ658では、各ビットラインに対するデータ値が求められる。例えば、メモリセルがVraで導通すると、メモリセルは状態Eにある。メモリセルがVrbとVrcで導通するが、Vraでは導通しない場合には、メモリセルは状態Aにある。メモリセルがVrcで導通するが、VraとVrbでは導通しない場合には、メモリセルは状態Bにある。メモリセルがVra、VrbまたはVrcで導通しない場合は、メモリセルは状態Cにある。一実施形態では、データ値は、プロセッサ392によって特定される。ステップ660では、プロセッサ392が、特定したデータ値を各ビットラインに対する適切なラッチに記憶する。他の実施形態では、種々のレベル(Vra、Vrb及びVrc)の検出を異なる順序で行ってもよい。
ステップ640から644は、Vcgr=Vra及びVreadX=Vreadで、図10に示す動作を実行することを含む。ステップ646から650は、Vcgr=Vrb及びVreadX=Vreadで、図10に示す動作を実行することを含む。ステップ652から656は、Vcgr=Vrc及びVreadX=Vreadで図10に示す動作を実行することを含む。したがって、図16の実施形態は、フローティングゲート間の結合の補償を実行することを含まない。別の実施形態では、ステップ640,646,652は、ドレイン側隣接WL(例えばWLn+1)に印加されるVreadX=Vread4(又は他の値)で実行される。
図17は、データを修復する処理(ステップ620)の一実施形態を説明するフローチャートを含む。データは、フローティングゲート間の結合の影響(または別の原因)に起因するエラーを含むことがある。図17の処理は、フローティングゲート間の結合の影響(または別のエラーの原因)を補償する一方で、データを読み出そうと試みる。補償は、隣接ワードラインを確認し、隣接ワードラインのプログラミングがどの程度のフローティングゲート間の結合の影響を生じさせたかを判定することを含む。例えば、ワードラインWLn(例えば図2のWL2)でデータを読み出す場合、処理はワードラインWLn+1(例えば図2のWL3)のデータも読み出す。ワードラインWLn+1の上のデータがWLn上のデータの見かけの変化を引き起こした場合には、読み出し処理がその意図的でない変化を補償する。
図17に示す処理は、1論理ページの2ビットが各セルに記憶され、ともに読み出し、及び、報告される図11に関して上述した全シーケンスプログラミングに適用する。隣接ワードライン上のメモリセルが状態Eである場合、フローティングゲート間結合はない。隣接するワードライン上のメモリセルが状態Aにある場合、小さい結合影響がある。隣接するワードライン上のメモリセルが状態Bにある場合、中程度のフローティングゲート間の結合がある。隣接するワードライン上のメモリセルが状態Cにある場合、さらに大きなフローティングゲート間の結合影響がある。隣接するワードラインに起因する正確な結合影響はアレイ実装形態により変化し、装置の特性を明らかにすることにより特定できる。
図17のステップ670は、隣接するワードラインWLn+1に対して読み出し動作を実行することを含む。これは、隣接するワードラインに対して図16の処理を実行することを含む。例えば、ワードラインWL1のページを読み出し中の場合は、ステップ670はワードラインWL2に図16の処理を実行することを含む。ステップ670の結果は、ステップ672で適切なラッチに記憶される。いくつかの実施形態では、WLn+1に対して実行された読み出し動作の結果、WLn+1上に記憶された実際のデータを判定する。他の実施形態では、WLn+1に対して実行された読み出し動作の結果、WLn+1の電荷レベルを判定し、これはWLn+1に記憶されたデータを正確に反映することもあれば、しないこともある。
目的がWLnのデータを読み出すことであるとき、誤って読み出されるビットはほぼ確実に分布の後部のビットであるため、WLn+1のECC訂正読み出しは必要ない可能性があり、それらが別のデータ状態にあると誤って認識してもWLn上の対応するセルの読み出しに必要とされる補償量の決定に大きなエラーは生じない。例えば、状態Bとなるようにプログラムされたがわずかに過剰にプログラムされたWLn+1上のセルは、その後WLn+2のプログラミングの間に容量性結合を経て、現在、すなわち、WLn+1がWLnの読み出し処理の一部として結合補償(図17のステップ670)なしに読み出されるときに、状態Cであるとして読み違えられる可能性がある。この読み違えは、次の理由から問題とはならない。1)目的はWLn+1のデータを読み出すことではない、2)WLn+1上のセルの見かけの状態がC状態にあることに基づいてWLn上の対応するセルの読み出しに適用される訂正は、実際には、WLn+1上のセルの正しい読み出し、つまり状態Bに基づいていた訂正より優れた訂正である。これは、WLn+1上のセルが状態Cであると読み違えられる全ての原因が、それらが最初に過剰プログラミングされたのか、あるいは、その後のWLn+2セルからの結合であるのかに関係なく、現在作用しており、それによって、WLn+1セルによって誘発され、WLnセルによって経験されるさらに強力な結合影響を誘発しているためである。WLn上のセルによって経験されるこの強力な結合に直面すると、実際には、状態Bよりも、状態CにあるWLn+1セルに対応する訂正を適用する方がよい場合がある。代替実施形態は、図17のステップ670の読み出し中に読み出し電圧をマージニングすることを含む。ステップ670の読み出しのこのマージニングは、ステップ670の読み出しの結合訂正を行うことを目的として行われるであろう。しかしながら、このような実施形態は、前述に説明したように、ステップ670の読み出しの間に結合訂正を行わないことより劣っている可能性がある。
ステップ674では、読み出し処理が対象のワードラインWLnに対して実行される。これは、VreadX=Vread1で図16の処理を実行することを含む。一実施形態では、Vread1=Vreadである。従って、非選択ワードラインのすべて(図10のWL_unselとWLn+1を参照)がVreadを受信している。補償は、現在読み出し動作中のWLn+1で使用されているVread値と、以前のプログラム/検証の検証段階の間に使用されたVread値の差によって求められるため、これが最大の補償を実現する。補償値、compCは、以下のように定義できる。compC=Vread1−Vreadp=5.5−3=2.5vであり、この場合Vreadpはプログラム/検証の間に使用されたVread値である。ステップ674の結果は、隣接セルWLn+1が(ステップ670で)状態Cにあると判定されたメモリセルとともにビットラインのための適切なラッチに記憶される。したがって、最大補償、CompCは、ドレイン側の隣が状態Eから状態Cにプログラムされることによって閾値電圧の最高の変化を経験したセルに対するものである。これらのドレイン側の隣は、WLnのプログラム/検証の間は状態Eであったが、現在は状態Cにあることに注意する。どのような場合にも補償されなければならないのは、WLnの書き込み時間とWLnの読み出しの現在の時間の間に経験されるWLn+1上のドレイン側の隣の状態の変化である。ドレイン側の隣が現在状態Cであると検出されていない他のビットラインの場合、WLn+1上でVread1を使用するWLnのこの読み出しのデータが無視される。
ステップ678では、読み出し処理がWLnに対して実行される。その読み出し処理の間、ドレイン側隣接ワードラインWLn+1はVread2を受け取る。すなわち、VreadX=Vread2であり、Vread2は、Vread1と比較して、プログラミング中に使用されるVreadpにより近い値である。これは、ドレイン側の隣が現在は状態Bにあるセルにとってより小さい適切な補償量を与える。補償量の一例は、compB=Vread2−Vreadp=4.9−3=1.9Vである。従って、Vread2はcompB分、Vreadpとは異なる。ステップ680では、ステップ678の結果が、状態Bの隣接メモリセル(例えばWLn+1)を有するメモリセルを有するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ682では、読み出し処理がWLnに対して実行される。その読み出し処理の間に、ドレイン側隣接ワードラインWLn+1はVread3を受け取る。すなわち、VreaX=Vread3であり、この場合、Vread3は、Vread2に比べて、プログラミング中に使用されたVreadpにより近い値である。これが、ドレイン側の隣が現在状態Aにあるセルにより小さい適切な補償量を与える。補償量の一例は、compA=Vread3−Vreadp=4.3−3=1.3vである。従って、Vread3はcompA分、Vreadpとは異なる。ステップ684では、ステップ682の結果は、状態Aの隣接メモリセル(例えばWLn+1)を有するメモリセルを有するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ686では、読み出し処理はWLnに対して実行される。その読み出し処理の間に、ドレイン側隣接ワードラインWLn+1はVread4を受け取る。すなわち、VreadX=Vread4であり、この場合、Vread4は、プログラミング中に使用されたVreadpと同一の値である。これが、ドレイン側の隣が、現在においてプログラム/検証時のように状態Eにあるセルに対して適切である補償量なしを達成する。この補償量はcompE=Vread4−Vreadp=3−3=0.0vである。隣接ワードラインWLn+1はVread4を受信する。すなわちVreadX=Vread4=Vreadである。ステップ688では、ステップ686の結果が状態Eの隣接メモリセル(例えば、WLn+1)を有するメモリセルを有するビットラインに記憶される。他のビットラインに対するデータは無視される。図17の処理の間に、隣接ビットラインは4つの電圧を受ける。しかしながら、読み出されている各選択メモリセルは、1つの適切な電圧しか利用しない。
異なる実装形態では、Vread1、Vread2、Vread3及びVread4の異なる値を、装置の特徴、実験及び/またはシミュレーションに基づき決定できる。
前述の説明では、図17の処理は図15のデータ修復ステップ620の一部として実行される。別の実施形態では、図17の処理は、データ読み出し要求に答えて実行される初期の読み出し処理として使用できる。例えば、図15のステップ598でデータ読み出し要求を受信した後、システムはステップ600で読み出し動作を実行する。この実施形態では、ステップ600は図17の処理を実行することにより実現される。ステップ600を実現するために図17の処理を使用する実施形態は、追加のデータ修復ステップ620を有さない可能性があるため、エラーが訂正可能ではない場合には、システムはそのエラーを報告するであろう。
図18は、データ修復処理(図17の方法)が、プログラムされる最後のワードラインを除くブロックの全てのワードラインに対して実行できることを示すフローチャートである。例えば、x+1個のワードラインがある場合、修復処理はワードラインWL0からWLx−1に対して使用できる。ワードラインWLx(例えば、ドレインに最も近いワードライン)には、フローティングゲート間の結合影響を引き起こすその後にプログラムされた隣のワードラインがないため、そのワードラインに対して修復処理を実行する必要はない。図18は、修復処理が全てのワードラインに対して連続的に実行される実施形態を示しているが、図15に関して前述した一実施形態では、別々のときに、及び、訂正可能ではなかったECCエラーがある場合に限り、ワードラインに対して修復処理を実行することができる。
図16と図17の前述した方法は、図11の1つの論理ページの2ビットを記憶する全シーケンスプログラミングに関して説明した。これらの処理は、2つの論理ページのそれぞれから1ビットを記憶する図12の2ステップ処理に従ってプログラムされたデータを読み出すときにはわずかに修正することができる。例えば、標準的な読み出し動作(図15のステップ600)を実行すると、下側ページの読み出しには、メモリセルの制御ゲートにVraとVrcを適用することと、それらの読み出しポイントで検出し、データが下側ページについて状態E/C(データ1)にあるのか、または状態A/B(データ0)にあるのかを判定することが必要になる。したがって、図16は、ステップ640、642、644及びステップ652から660を下側ページ読み出しに対して実行することによって修正することができる。上側ページの読み出しを実行するために、読み出し比較ポイントVrbが使用され、上側ページデータが状態E/A(データ1)にあるか、または状態B/C(データ0)にあるのかを判定する。従って、上側ページ読み出しの場合、図16の処理はステップ646、648、650、658及び660を実行するために修正することができる。加えて、データを修復するときに(ステップ620)、処理は、下側ページのデータを修復するためには図19の方法を、上側ページのデータを修復するためには図20の処理を実行するであろう。
図19のステップ730では、読み出し動作が、図16の方法に従って隣接ワードラインWLn+1に対して実行される。いくつかの実施形態では、WLn+1に対して読み出し動作を実行すると、WLn+1で記憶される実際のデータが特定される。いくつかの実施形態では、WLn+1に対して読み出し動作を実行すると、WLn+1での電荷レベル(または他の条件)が特定されるが、WLn+1上に記憶されているデータを正確に反映している場合もあれば、反映していない場合もある。その読み出し動作の結果は、ステップ732で適切なラッチに記憶される。ステップ734では、読み出し動作が対象のWLnのワードラインに対して実行され、VraがWLnに適用されるとともにVreadX=Vread4である図10の処理を実行することを含む。ステップ736では、ビットラインのデータが検出される。ステップ738では、結果は適切なラッチに記憶される。ステップ734の別の実施形態では、VreadX=Vread1で読み出し動作が実行される。一実施形態では、ステップ734のVreadXの値は、検証処理の間に使用された値と同じとすべきである。
ステップ740では、読み出し基準電圧VrcがワードラインWLnに印加され、読み出し動作がVeradX=Vread1で対象のワードラインWLnに対して実行される。ステップ742では、データが上述したように検出される。ステップ744では、検出ステップ742の結果が、状態Cのデータを記憶している隣接セルに関連するビットラインに対して記憶される。
ステップ746では、読み出し基準電圧VrcがワードラインWLnに印加され、WLn+1に対してVreadX=Vread2で、対象のワードラインWLnに対して読み出し動作が実行される。ステップ748では、データは上述したように検出される。ステップ750では、ステップ748の結果が状態Bのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ752では、読み出し基準電圧VrcがワードラインWLnに印加され、WLn+1に対してVreadX=Vread3で、WLnに対して読み出し動作が実行される。ステップ754では、データは上述したように検出される。ステップ756では、ステップ754の結果が、状態Aのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ758では、読み出し基準電圧VrcがワードラインWLnに印加され、WLn+1に対してVreadX=Vread4で、WLnに対して読み出し動作が実行される。ステップ760では、データは上述したように検出される。ステップ762では、ステップ760の結果が状態Eのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ764では、プロセッサ392が、検出ステップで記憶されたデータに基づいてデータ値を特定する。ステップ766では、ステップ764で特定されたデータ値が、データの読み出しを要求しているユーザと最終的に通信するためにラッチに記憶される。別の実施形態では、状態Aに関連するステップ734から738がステップ762と764の間で実行できる。他のフローチャートだけではなく、図19のステップを実行するための他の順序も使用できる。
図19によって説明した処理では、状態Bを状態Cから区別するために、補償がVrcだけに適用されることに注意する。Vraで読み出しているときには補償が必要とされないと考えられる。それは、消去状態の通常の負の閾値(WLn+1によって影響を受ける)は状態Aから十分に離れて遠く分離されており、訂正を必要としないためである。これは現在の世代のメモリに対して実用的な仮定であるが、将来の世代のメモリでは当てはまらない可能性があり、Vrcに関して説明した補償処理はVraに対して使用されてよい。
ステップ764でデータ値を判定するときに、メモリセルがVraに応じて導通する場合は、下側ページデータは「1」である。メモリセルがVraに応じて導通せず、Vrcに応じて導通しない場合には、下側ページデータも「1」である。メモリセルがVraに応じて導通しないが、Vrcに応じて導通する場合には、下側ページデータは「0」である。
図20の処理は、上側ページのデータを読み出すため、または、修復するために使用される。ステップ800では、読み出し動作が、図16の方法を使用して隣接ワードラインWLn+1に対して実行される。いくつかの実施形態では、WLn+1に対して読み出し動作が実行されると、WLn+1上に記憶されている実際のデータが特定される。他の実施形態では、WLn+1に対して読み出し動作が実行されると、WLn+1での電荷レベルが特定されるが、WLn+1に記憶されているデータを正確に反映している場合もあれば、反映していない場合もある。ステップ802では、ステップ800の結果が、各ビットラインに対する適切なラッチに記憶される。
ステップ804では、読み出し基準電圧VrbがワードラインWLnに印加され、読み出し動作が、WLn+1に対してVreadX=Vrealで、WLnに対して実行される。ステップ806では、データは上述したように検出される。ステップ808では、ステップ806の結果が、状態Cのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ810では、読み出し基準電圧VrbがワードラインWLnに印加され、読み出し動作が、WLn+1に対してVreadX=Vread2で、WLnに対して実行される。ステップ812では、データは上述したように検出される。ステップ814では、ステップ812の結果が、状態Bのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ816では、読み出し基準電圧VrbがワードラインWLnに印加され、読み出し動作が、WLn+1に対してVreadX=Vread3で、WLnに対して実行される。ステップ818では、データは上述したように検出される。ステップ820では、ステップ818の結果が、状態Aのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ822では、読み出し基準電圧VrbがワードラインWLnに印加され、読み出し動作が、WLn+1に対してVreadX=Vread4で、WLnに対して実行される。ステップ824では、上述したようにデータが検出される。ステップ826では、ステップ824の結果が状態Eのデータを記憶している隣接セルと関連するビットラインに対して記憶される。他のビットラインに対するデータは無視される。
ステップ828では、プロセッサ392が記憶されている検出データに基づいてデータ値を特定する。メモリセルがVrbに応じてオンになった場合には、上側ページデータは「1」である。メモリセルがVrbに応じてオンにならない場合は、上側ページデータは「0」である。ステップ830では、プロセッサ392によって求められたデータ値が、ユーザと通信するためにデータラッチに記憶される。
別の実施形態では、データを修復するために図19と図20の方法を使用するのではなく、がデータ読み出し要求に応じて実行される初期データ読み出しのために図19と図20の方法使用できる。例えば、図15のステップ598でデータ読み出し要求を受信した後に、システムはステップ600で読み出し動作を実行する。この実施形態では、ステップ600が、図19及び/または図20の処理を実行することによって実現される。ステップ600を実現するために図19及び/または図20の処理を使用する実施形態は、追加のデータ修復ステップ620を有さない可能性があるため、エラーが訂正可能ではない場合にシステムはエラーを報告するであろう。
図19と図20は、図12の上側ページと下側ページの処理を使用してプログラムされるデータを読み出すためである。図19と図20のこれらの2つの方法は、全ビットラインプログラミングまたは奇数/偶数ビットラインプログラミングによってプログラムされるデータを読み出すために使用できる。全ビットラインプログラミングに使用される場合は、通常は全てのビットラインは同時に読み出される。奇数/偶数ビットラインプログラミングに使用される場合は、通常は、偶数ビットラインは最初に同時に読み出され、奇数ビットラインは別のときに同時に読み出される。
図21から図26は、図13A−Cに関連する方法に従ってプログラムされたデータを読み出すために使用するプロセスを示している。図21の処理は、ECCの使用前、ECCの使用とは別に、及び/または、ECCの使用と連動してデータの特定の1または複数ページ(または他の分類)に対する読み出し要求に応えて実行される全体的なデータ読み出し処理として実現できる。他の実施形態では、図21の処理は、図15のデータ修復ステップ620の一部として実行できる。図13A−Cの処理に従ってプログラムされたデータを読み出すときには、隣接セルの下側ページをプログラムすることに起因するフローティングゲート間結合による変動は、問題のメモリセルの上側ページをプログラムするときに訂正しなければならない。従って、隣接セルからのフローティングゲート間の結合を補償しようする場合、処理の一実施形態は隣接セルの上側ページのプログラミングに起因する結合影響を考慮しさえすればよい。従って、図21のステップ1060では、処理は隣接ワードラインの上側ページデータを読み出す。隣接ワードラインの上側ページがプログラムされていなかった場合には(ステップ1062)、フローティングゲート間の結合影響を補償せずに検討中のページを読み出すことができる(ステップ1064)。隣接ワードラインの上側ページがプログラムされていた場合には(ステップ1062)、検討中のページはステップ1066でフローティングゲート間の結合影響に対するなんらかの補償を使用して読み出さなければならない。いくつかの実施形態では、隣接ワードラインに対して読み出し動作を実行すると、隣接ワードライン上の電荷レベルが特定されるが、そこに記憶されているデータを正確に反映している場合もあれば、していない場合もある。また、読み出される選択ワードライン、つまり、WLnは、それ自体が下側ページデータしか有していない場合があることに注意する。これは、ブロック全体がまだプログラムされていないときに起こり得る。このような状況では、WLn+1上のセルがまだ消去状態であるため、WLnセルはまだ結合影響を受けていないことが常に保証されている。つまり、補償は必要とされていない。従って、上側ページをこれからプログラムしなくてはならないワードラインの下側ページ読み出しは、補償技術を必要とすることなく通常どおりに行うことができる。
一実施形態では、図13A−Cのプログラミング処理を実現するメモリアレイは、1つまたは複数のフラグを記憶するためのメモリセルのセットを確保している。例えば、1列のメモリセルを各メモリセルの行の下側ページがプログラムされているかどうかを示すフラグを記憶するために使用でき、メモリセルの他の列を各メモリセルの行の上側ページがプログラムされているかどうかを示すフラグを記憶するために使用できる。いくつかの実施形態では、フラグのコピーを記憶するために冗長なセルを使用できる。適切なフラグをチェックすることで、隣接ワードラインの上側ページがプログラムされているかどうかを判定できる。このようなフラグ及びプログラミングの処理の詳細は、米国特許第6,657,891号、Shibataら、「Semiconductor Memory Device For StoringMulti−Valued Data」に記載されており、その全体は参照することにより本明細書に組み込まれる。
図22は、ドレイン側隣接ワードライン等の隣接ワードラインの上側ページデータを読み出す処理(図21のステップ1060)の一実施形態を示している。ステップ1100では、読み出し基準電圧Vrcが読み出されているページに関連するワードラインに印加される。ステップ1102で、ビットラインが前述したように検出される。ステップ1104では、ステップ1102の結果が適切なラッチに記憶される。ステップ1106では、システムは、読み出されているページに関連する上側ページプログラミングを示すフラグをチェックする。一実施形態では、フラグを記憶するメモリセルは、フラグがセットされていない場合は状態Eの、フラグがセットされている場合には状態Cのデータを記憶する。従って、その特定のメモリセルがステップ1102で検出されるときに、メモリセルが導通する(オンになる)場合は、メモリセルは状態Cのデータを記憶しておらず、フラグはセットされていない。メモリセルが導通しない場合には、ステップ1106で、上側ページがプログラムされていることをメモリセルが示していると予測される。
別の実施形態では、フラグはバイトで記憶できる。状態Cの全てのビットを記憶するのではなく、バイトは、フラグを表すとともに状態マシン312に認識されている固有の8ビット符号を含んでいる。8ビット符号は、状態Eの少なくとも1ビットと、状態Aの少なくとも1ビットと、状態Bの少なくとも1ビットと、状態Cの少なくとも1ビットを有する。上側ページがプログラムされていない場合、メモリセルのバイトはすべて状態Eになる。上側ページがプログラムされている場合は、メモリセルのバイトは符号を記憶する。一実施形態では、ステップ1106で、符号を記憶するバイトのメモリセルの何れかがVrcに応じてオンにならないか否かをチェックすることによって実行される。別の実施形態では、ステップ1106は、フラグを記憶するメモリセルのバイトをアドレス指定して読み出し、データを状態マシンに送信することを含み、メモリセルに記憶されている符号が状態マシンによって予想される符号と一致するかどうかを検証する。一致する場合、状態マシンは、上側ページがプログラムされたと判断する。
フラグがセットされていない場合には(ステップ1108)、図22のプロセスは終了し、上側ページがプログラムされていないと判断する。フラグがセットされている場合には(ステップ1108)、上側ページがプログラムされていると予測され、ステップ1120で電圧Vrbが読み出し中のページと関連するワードラインに印加される。ステップ1122では、ビットラインは上述したように検出される。ステップ1124では、ステップ1122の結果が適切なラッチに記憶される。ステップ1126では、電圧Vraが、読み出されているページと関連するワードラインに印加される。ステップ1128では、ビットラインが検出される。ステップ1130では、ステップ1128の結果が適切なラッチに記憶される。ステップ1132では、プロセッサ392が、3つの検出ステップ1102、1122及び1128の結果に基づき、読み出し中の各メモリセルに記憶されているデータ値を特定する。ステップ1134では、ステップ1132で求められたデータ値が、ユーザと最終的に通信するために適切なデータラッチに記憶される。ステップ1132では、プロセッサ392は、選択された特定の状態符号化に応じた周知の簡略な論理技法を使用して、上側ページと下側ページのデータの値を特定する。例えば、図13に説明されている符号化の場合、下側ページデータはVrb*(Vrbで読み出すときに記憶される値の補数)であり、上側ページデータはVra*OR(VrbとVrc*)である。
一実施形態では、図22の処理は、ドレイン側隣接ワードラインにVreadを印加することを含む。従って、図22の処理の場合、VreadX=Vreadである。図22の処理の別の実施形態では、VreadX=Vread4である。
図23は、システムが隣接ワードラインからのフローティングゲート間結合の補償を要求しない場合に、検討中のワードラインのデータを読み出す処理の一実施形態を説明するフローチャートである(図21のステップ1064を参照)。ステップ1150では、読み出しが、検討中のワードラインに関連する上側ページに対してなのか、あるいは下側ページに対してなのかが判定される。読み出しが下側ページに対してである場合は、ステップ1152で電圧Vrbが読み出されているページに関連するワードラインに印加される。ステップ1154では、ビットラインが検出される。ステップ1156では、検出ステップ1154の結果が適切なラッチに記憶される。ステップ1158では、フラグが、ページが上側ページデータを含むかどうかを判定するためにチェックされる。フラグがない場合には、存在するデータは中間状態となり、Vrbは使用に適さない比較電圧であり、処理はステップ1160に続行する。ステップ1160では、Vraがワードラインに印加され、ビットラインはステップ1162で再検出され、ステップ1164で結果が記憶される。ステップ1166では(フラグがセットされている場合はステップ1164またはステップ1158の何れかの後)、プロセッサ392は記憶すべきデータ値を特定する。一実施形態では、下側ページを読み出すときに、メモリセルがワードラインに印加されているVrb(またはVra)に応じてオンになる場合は、下側ページデータは「1」である。それ以外の場合、下側ページデータは「0」である。
ページアドレスが上側ページに対応すると判断されると(ステップ1150)、上側ページ読み出しプロセスがステップ1170で実行される。一実施形態では、ステップ1170の上側ページ読み出しプロセスは図22に示される方法と同じ方法を含んでおり、この方法は、読み出し、または、他の理由のために書き込まれていない上側ページがアドレス指定される可能性があるため、フラグと3つの全ての状態を読み出すことを含む
一実施形態では、図23の処理は、ドレイン側隣接ワードラインにVreadを印加することを含む。従って、図23の処理の場合はVreadX=Vreadである。図22の処理の別の実施形態では、VreadX=Vread4である。
図24は、フローティングゲート間結合の影響を補償する一方でデータを読み出す処理の一実施形態を説明するフローチャートを示している(図21のステップ1066を参照)。図24のステップ1200では、システムはフローティングゲート間結合の補償を使用するかどうかを判定する。これは、ビットラインごとに実行される。適切なプロセッサ392は、隣接ワードラインからのデータに基づき、どのビットラインが補償を使用する必要があるのかを判定する。隣接ワードラインが状態EまたはBにある(または状態EまたはBを明らかに示す電荷を有する)場合には、読み出されている特定のワードラインは、フローティングゲート間結合の影響を補償する必要はない。この想定は、現在のワードラインが書き込まれてから閾値が変動していないため、それが状態Eにある場合には、それは結合の一因にはなっていないためである。それが状態Bである場合、それはそこにB‘から到達し、B’からBへの変動は小さく、無視できる。別の実施形態では、この小さな変動は、比例して小さい△VREADを印加することによって補償できる。
一実施形態では、ステップ1200の処理は、ステップ1060と同時に実行できる。例えば、図25は、特定のビットラインに対してオフセットを使用するか否かの判定を実行するステップを説明するチャートを提供している。第1のステップは、ワードラインにVraを使用して読み出し処理を実行することである。第2のステップは、Vrbを使用して読み出しを実行することである。Vraで読み出すときに、ラッチは、メモリセルが状態Eにある場合は1を、メモリセルが状態A、B、またはCにある場合には0を記憶する。Vrbで読み出すときに、ラッチは、状態EとAの場合は1を記憶し、状態BとCの場合は0を記憶する。図25の第3のステップは、第2のステップからの反転された結果に対して、ステップ1からの結果を用いてXOR演算を実行することを含む。第4のステップでは、読み出しはワードラインにVrcを使用して実行される。ラッチは状態E、A、及びBに対して1を記憶し、状態Cに対して0を記憶する。第5のステップでは、第4のステップと第3のステップの結果が論理AND演算によって演算される。ステップ1、2及び4を図22の一部として実行してよいことに注意する。図25のステップ3と5は、専用ハードウェアによって、またはプロセッサ392によって実行できる。ステップ5の結果はラッチに記憶され、補償が必要とされていない場合には1が記憶され、補償が必要とされる場合には0が記憶される。従って、補償は、A状態またはC状態にあるWLn+1上に隣接メモリセルを有するWLnで読み出されるそれらのセルに必要とされる。WLn+1からの完全なデータを記憶し、2以上のラッチを必要とする既出のいくつかの方法とは対照的に、この手法は、1つのラッチだけがWLnを訂正するかどうかを判定することを必要とする。
図24のステップ1202を再度見ると、読み出し中のページが上側ページであるのか、下側ページであるのかが判定される。読み出されているページが下側ページである場合には、Vrbが読み出し中のページと関連するワードラインWLnに印加され、Vread4がステップ1204の読み出しプロセスの間にドレイン側隣接ワードラインWLn+1に印加される。図13に説明する状態符号化の場合、Vrbでの読み出しは、下側ページデータを特定するのに十分であることに注意する。ステップ1208では、ステップ1206の結果が、ビットラインと関連する適切なラッチに記憶される。ステップ1210では、Vrbが読み出し中のページのワードラインWLnに印加され、Vread3が読み出し処理中にドレイン側隣接ワードラインWLn+1に印加される(例えば、図10を参照)。ステップ1212では、ビットラインが検出される。ステップ1214では、ステップ1200で補償を使用することが決定されたビットラインに対してステップ1208で記憶された結果を上書きするために、ステップ1212の検出の結果が使用される。特定のビットラインが補償を使用する必要がないと判定されると、ステップ1212からのデータは記憶されない。ステップ1216では、プロセッサ392は、下側ページに対するデータが1であるか0であるかを判定する。メモリセルがVrbに応じてオンになった場合には、下側ページデータは1である。それ以外の場合、下側ページデータは0である。ステップ1218では、下側ページデータはユーザと通信するために適切なラッチに記憶される。
ステップ1202で、読み出し中のページが上側ページであると判定されると、ステップ1220で上側ページ訂正プロセスが実行される。図26は上側ページ訂正処理を説明するフローチャートを提供する。図26のステップ1250では、読み出し基準電圧Vrcが読み出し中のページに関連するワードラインに印加され、Vread4が読み出し処理の一部としてドレイン側隣接ワードラインWLn+1に印加される。ステップ1252では、ビットラインが検出される。ステップ1254では、検出ステップの結果は適切なラッチに記憶される。ステップ1256では、Vrcが読み出し中のページに関連するワードラインに印加され、Vread3が読み出し処理の一部としてドレイン側隣接ワードラインWLn+1に印加される。ステップ1258では、ビットラインが検出される。ステップ1260では、補償が必要とされるビットライン(ステップ1200を参照)に対してステップ1254で記憶された結果を上書きするために、検出ステップ1258の結果が使用される。
ステップ1270では、Vrbがワードラインに印加され、Vread4が読み出し処理の間にドレイン側隣接ワードラインWLn+1に印加される。ステップ1272では、ビットラインが検出される。ステップ1274では、検出ステップ1272の結果が記憶される。ステップ1276では、Vrbが読み出し中のページに関連するワードラインに印加され、Vread3が読み出し処理の間にドレイン側隣接ワードラインWLn+1に印加される。ステップ1278では、ビットラインが検出される。ステップ1280では、補償が必要とされるそれらのビットライン(ステップ1200を参照)に対してステップ1274で記憶された結果を上書きするために、ステップ1278の結果が使用される。
ステップ1282では、Vraが読み出し中のページに関連するワードラインに印加され、Vread4が読み出し処理の一部としてドレイン側隣接ワードラインWLn+1に印加される。ステップ1284では、ビットラインが検出される。ステップ1286では、検出ステップ1284の結果が適切なラッチに記憶される。ステップ1288では、Vraが読み出し中のページと関連するワードラインに印加され、Vread3が読み出し処理の一部としてドレイン側隣接ワードラインWLn+1に印加される。ステップ1290では、ビットラインが検出される。ステップ1292では、補償が必要とされるそれらのビットライン(ステップ1200を参照)に対してステップ1286で記憶された結果を上書きするために、ステップ1290の結果が使用される。ステップ1294では、プロセッサ392は、既出の公知技術の他の方法と同じようにデータ値を特定する。ステップ1296では、プロセッサ392によって特定されたデータ値が、ユーザと通信するために適切なデータラッチに記憶される。他の実施形態では、読み出し順序(Vrc、Vrb、Vra)を変更し得る。
図21に関する上記の説明では、データのページの読み出しを含む例を説明した。データ読み出し要求が複数のページのデータの読み出しを必要とする可能性があるが、必須ではない。一実施形態では、複数ページのデータの読み出しを加速するために、読み出し処理はパイプライン化され、状態マシンは、ユーザが前のページのデータを転送している間に次のページの検出を実行する。このような実装形態では、フラグフェッチ処理がパイプライン化された読み出し処理に割り込むことがある。このような割り込みを避けるために、一実施形態では、既定のページのフラグをそのページが読み出されているときに読み取り、(フラグを読み取って状態マシンに送信するのではなく)ワイヤードOR検出プロセスを使用してフラグをチェックすることを意図する。例えば、図21のステップ1060(隣接ワードラインの読み出し)の間に、処理は最初に基準電圧としてVrcを使用してデータを読み出す。そのポイントで、各状態がデータ1を記憶していることをワイヤードORラインが示すと、上側ページはプログラムされていなかったことを示す。従って、補償は必要とされず、システムはフローティングゲート間結合を補償することなく読み出す(ステップ1064)。フラグが各データ状態のデータを含む1バイト符号である場合、フラグがセットされれば少なくともフラグメモリセルが状態Cのデータを有するであろう。何れのメモリセルも状態Cのデータを有さないことをワイヤードORラインが示す場合には、状態マシンはフラグがセットされていないと判断する。従って、隣接ワードラインの上側ページはプログラムされておらず、フローティングゲート間結合の補償は必要とされない。パイプライン化された読み出しについての情報は、米国特許出願第11/099,133号、発明の名称「Compensating for Coupling During Read Operation of Non−Volatile Memory」、発明者Jian Chen、出願日2005年4月5日に記載されており、その全体は参照することにより本明細書に組み込まれる。
上述した技法はフローティングゲート間の結合影響を覆すために役立つ。図27は、フローティングゲート間の結合の概念を図で説明している。図27は、同じNANDストリング上にある隣接するフローティングゲート1302と1304とを示している。フローティングゲート1302と1304は、ソース/ドレイン領域1308、1310、及び1312を有するNANDチャネル/基板1306上に配置されている。フローティングゲート1302の上には、ワードラインWLnに接続され、ワードラインWLnの一部である制御ゲート1314がある。フローティングゲート1304の上には、ワードラインWLn+1に接続され、ワードラインWLn+1の一部である制御ゲート1316がある。フローティングゲート1302は、複数の他のフローティングゲートからの結合にさらされる可能性があるが、簡単にするために、図27は1個の隣接メモリセルからの影響だけを示している。具体的には、図27は、その隣からフローティングゲート1302に与えられる結合の3つの成分、r1、r2及びCrを示している。成分r1は、隣接するフローティングゲート(1302と1304)の間の結合率である。成分r1は、隣接フローティングゲートの容量を、フローティングゲート1302を取り囲む他の全ての電極に対するフローティングゲート1302の全ての容量結合の合計によって除算することで計算される。成分r2は、フローティングゲート1302とドレイン側隣接制御ゲート1316の間の結合率である。成分r2は、フローティングゲート1302と制御ゲート1316の容量を、フローティングゲート1302を取り囲む他の全ての電極に対するフローティングゲート1302の全ての容量結合の合計によって除算することで計算される。成分Crは制御ゲート結合率である。成分Crは、フローティングゲート1304とその対応する制御ゲート1316の間の容量を、フローティングゲート1302を取り囲む他の全ての電極に対するフローティングゲート1302の全ての容量結合の合計によって除算することで計算される。
一実施形態では、必要とされる補償量△Vreadは以下のように計算できる。
Figure 0004954223

この場合、△VTn+1は、WLnのプログラム/検証のタイミングと現在の間におけるドレイン側隣接メモリセルの閾値電圧の変化である。△VTn+1とr1は、本方法によって軽減されるワードライン間の寄生結合影響の根本的原因である。△Vreadは、この影響を除去するために加えられる補償である。
本明細書に説明する結合の補償は、フローティングゲートと隣の制御ゲート間の容量だけではなく、隣接するフローティングゲート間の同じ寄生容量を活用することによって達成できる。制御ゲートとフローティングゲートの積層構造は、通常、1ステップでエッチングされるため、補償はメモリセルからメモリセルへの間隔の変動を追跡する。従って、2つの隣がより離れている場合は、結合は小さくなり、従ってこの影響に必要とされる補償も必然的に小さくなる。2つの隣がより近くなると、結合は大きくなり、従って補償も大きくなる。これが比例補償を構成する。
上述した補償は、エッチバック深さの変動の影響も削減する。いくつかの装置では、制御ゲートは、部分的にフローティングゲートを包み込む。オーバラップの量が「エッチバック」と呼ばれる。エッチバック深さの変動は、結合量に影響を及ぼす。上述した補償方式を用いると、補償の影響はエッチバック深さに伴って同様に変動する。
フローティングゲート間の結合の影響を低減する能力の結果として、閾値電圧分布のマージンをさらに小さくすることができ、メモリシステムがさらに高速にプログラムすることができる。
本方法のもう1つの重要な優位点は、本発明では、WLn及び/またはWLn+1への電圧を駆動するデジタルからアナログへのコンバータの分解能を、選択ワードラインWLnに印加する電圧を変更することによって補償を達成する従来の技術と比較して、それほど高性能とする必要がないという点である。補償が選択ワードラインに適用されるときに補償に必要とされる変更は、寄生結合を通して変更が間接的に作用し、したがってVreadのはるかに粗い分解能がWLnのマージニング電圧のはるかに細かい同等な分解能に変換する本発明と比較して、遥かに向上しなければならない。
本発明の上記の詳細な説明は、図解と説明のために提示した。網羅的、あるいは、開示されている厳密な形に本発明を制限することは目的としていない。上記教示を鑑みて多くの変形及び変型が可能である。説明した実施形態は、本発明の原理とその実用的な応用例を最もよく説明し、それによって当業者が多様な実施形態において、及び意図された特定の用途に適しているような多様な変型を用いて本発明を最もよく活用できるようにするために選ばれた。本発明の範囲が本明細書に添付される請求項によって明示されることが意図される。
NANDストリングの平面図である。 NANDストリングの等価回路図である。 NANDストリグの断面図である。 NANDフラッシュメモリセルのアレイのブロック図である。 不揮発性メモリシステムのブロック図である。 不揮発性メモリシステムのブロック図である。 検出ブロックの一実施形態を示すブロック図である。 不揮発性メモリをプログラムする処理の一実施形態を説明するフローチャートである。 不揮発性メモリセルの制御ゲートに印加される波形の例である。 読み出し/検証動作の間の特定の信号の動作を説明するタイミング図である。 閾値電圧の分布のセットの例を示す。 閾値電圧の分布のセットの例を示す。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラムする処理を説明する。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 種々の実施形態において不揮発性メモリをプログラムする順序を示す表である。 不揮発性メモリを読み出す処理の一実施形態を説明するフローチャートである。 不揮発性メモリに対して読み出し動作を実行する処理の一実施形態を説明するフローチャートである。 データを修復する処理の一実施形態を説明するフローチャートである。 複数のワードラインからデータを修復する処理の一実施形態を説明するフローチャートである。 下側ページからデータを読み出す処理の一実施形態を説明するフローチャートである。 上側ページからからデータを読み出す処理の一実施形態を説明するフローチャートである。 データを読み出す処理の一実施形態を説明するフローチャートである。 上側ページからからデータを読み出す処理の一実施形態を説明するフローチャートである。 補償を用いないでデータを読み出す処理の一実施形態を説明するフローチャートである。 フローティングゲート間(または誘電領域間)の結合を補償しながらデータを読み出す処理の一実施形態を説明するフローチャートである。 データ値を特定する処理を示す表である。 訂正を使用して上側ページデータを読み出す処理の一実施形態を説明するフローチャートである。 2つの隣接するメモリセルの間の容量性結合を示すブロック図である。

Claims (17)

  1. 不揮発性記憶システムであって、
    直列に接続された複数の不揮発性記憶素子と、
    管理回路、
    を有し、
    前記複数の不揮発性記憶素子の中の選択不揮発性記憶素子からデータを読み出す際に、前記管理回路が、
    非選択不揮発性記憶素子の1つであって、前記選択不揮発性記憶素子に隣接している不揮発性記憶素子である隣接不揮発性記憶素子からデータを読み出す読み出しステップと、
    前記選択不揮発性記憶素子に接続されているワードラインに読み出し比較電圧を印加し、前記非選択不揮発性記憶素子に接続されているワードラインに通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する検出ステップ、
    を実行し、
    前記検出ステップにおいて、前記隣接不揮発性記憶素子以外の前記非選択不揮発性記憶素子に接続されているワードラインに第1通過電圧が印加され、前記隣接不揮発性記憶素子に接続されているワードラインに第2通過電圧が印加され、
    前記隣接不揮発性記憶素子からデータを読み出す前記読み出しステップにおける前記隣接不揮発性記憶素子の閾値電圧が高いほど、前記第2通過電圧が高くなるように、前記第2通過電圧が変更される、
    ことを特徴とする不揮発性記憶システム。
  2. ソース側選択ゲートとドレイン側選択ゲートをさらに有しており、
    前記複数の不揮発性記憶素子が、前記ソース側選択ゲートと前記ドレイン側選択ゲートの間に接続されており、
    プログラム処理において、前記管理回路が、前記複数の不揮発性記憶素子を、前記ソース側選択ゲート側から前記ドレイン側選択ゲート側に向かう順序でプログラムし、
    前記隣接不揮発性記憶素子が、前記選択不揮発性記憶素子に対して前記ドレイン側選択ゲート側で隣接している、
    ことを特徴とする請求項1に記載の不揮発性記憶システム。
  3. 前記管理回路が、前記読み出し比較電圧を変化させながら前記検出ステップを繰り返し実行することによって、前記選択不揮発性記憶素子に記憶されているデータを特定することを特徴とする請求項1または2に記載の不揮発性記憶システム。
  4. 前記複数の不揮発性記憶素子が、マルチ状態NANDフラッシュメモリデバイスであることを特徴とする請求項1に記載の不揮発性記憶システム。
  5. 前記不揮発性記憶素子の各々が、閾値電圧が互いに異なる3つ以上のデータ状態の何れか1つにプログラムされることを特徴とする請求項1〜4の何れか一項に記載の不揮発性記憶システム。
  6. 直列に接続されている複数の不揮発性記憶素子の中の選択不揮発性記憶素子からデータを読み出す方法であって、
    非選択不揮発性記憶素子の1つであって、前記選択不揮発性記憶素子に隣接している不揮発性記憶素子である隣接不揮発性記憶素子からデータを読み出す読み出しステップと、
    前記選択不揮発性記憶素子に接続されているワードラインに読み出し比較電圧を印加し、前記非選択不揮発性記憶素子に接続されているワードラインに通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する検出ステップ、
    を有しており、
    前記検出ステップにおいて、前記隣接不揮発性記憶素子以外の前記非選択不揮発性記憶素子に接続されているワードラインに第1通過電圧が印加され、前記隣接不揮発性記憶素子に接続されているワードラインに第2通過電圧が印加され、
    前記隣接不揮発性記憶素子からデータを読み出す前記読み出しステップにおける前記隣接不揮発性記憶素子の閾値電圧が高いほど、前記第2通過電圧が高くなるように、前記第2通過電圧が変更される、
    ことを特徴とする方法。
  7. 前記複数の不揮発性記憶素子が、ソース側選択ゲートとドレイン側選択ゲートの間に接続されており、
    プログラム処理において、前記複数の不揮発性記憶素子が、前記ソース側選択ゲート側から前記ドレイン側選択ゲート側に向かう順序でプログラムされ、
    前記隣接不揮発性記憶素子が、前記選択不揮発性記憶素子に対して前記ドレイン側選択ゲート側で隣接している、
    ことを特徴とする請求項6に記載の方法。
  8. 前記選択不揮発性記憶素子が、少なくとも2ビットのデータを記憶するマルチ状態デバイスであり、
    前記選択不揮発性記憶素子と前記隣接不揮発性記憶素子が、第1データ状態、第2データ状態、第3データ状態または第4データ状態となることが可能であり、
    第1比較レベルが前記第1データ状態と前記第2データ状態の間にあり、
    第2比較レベルが前記第2データ状態と前記第3データ状態の間にあり、
    第3比較レベルが前記第3データ状態と前記第4データ状態の間にある、
    ことを特徴とする請求項6または7に記載の方法。
  9. 前記選択不揮発性記憶素子の導通状態を検出する前記検出ステップにおいて複数の検出処理が実行され、各検出処理において前記隣接不揮発性記憶素子に対して異なる通過電圧が用いられ、
    隣接不揮発性記憶素子に対して用いられる各通過電圧が、前記第1〜第4データ状態に対応しており、
    複数の検出処理の中の、前記隣接不揮発性記憶素子から読み出されたデータ状態に対応する通過電圧を前記隣接不揮発性記憶素子に対して用いた検出処理の結果が記憶され、
    複数の検出処理の中の、前記隣接不揮発性記憶素子から読み出されたデータ状態に対応しない通過電圧を前記隣接不揮発性記憶素子に対して用いた検出処理の結果が破棄される、
    ことを特徴とする請求項8に記載の方法。
  10. データを読み出す要求を受信するステップをさらに有しており、
    前記読み出しステップと前記検出ステップが、データを読み出す前記要求に応じて実行される読み出し処理の一部として実行され、
    前記検出ステップに基づいて、データを報告するステップをさらに有している、
    ことを特徴とする請求項6に記載の方法。
  11. データを読み出す要求を受信するステップと、
    前記要求に応じて前記データを読み出すステップと、
    前記データに関するエラーの存在を特定するステップと、
    前記エラーの存在を特定するステップに応じて、前記データを前記エラーから修復するステップと、
    データを報告するステップ、
    をさらに有しており、
    前記隣接不揮発性記憶素子からデータを読み出す前記読み出しステップと前記選択不揮発性記憶素子の導通状態を検出する前記検出ステップが、前記修復するステップにおいて前記データを前記エラーから修復するために実行される、
    ことを特徴とする請求項6に記載の方法。
  12. 前記不揮発性記憶素子の各々が、閾値電圧が互いに異なる3つ以上のデータ状態の何れか1つにプログラムされることを特徴とする請求項6〜11の何れか一項に記載の方法。
  13. 直列に接続されている複数の不揮発性記憶素子の中の選択不揮発性記憶素子からデータを読み出す方法であって、
    非選択不揮発性記憶素子の1つであって、前記選択不揮発性記憶素子に隣接している不揮発性記憶素子である隣接不揮発性記憶素子からデータを読み出す読み出し処理と、
    前記選択不揮発性記憶素子に接続されているワードラインに読み出し比較電圧を印加し、前記隣接不揮発性記憶素子に接続されているワードラインに第1レベルの通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する第1検出処理と、
    前記選択不揮発性記憶素子に接続されている前記ワードラインに前記読み出し比較電圧を印加し、前記隣接不揮発性記憶素子に接続されている前記ワードラインに前記第1レベルの通過電圧よりも高い第2レベルの通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する第2検出処理、
    を有しており、
    前記読み出し処理において前記隣接不揮発性記憶素子が第2データ状態よりも低い閾値電圧を有する第1データ状態にあるときは、前記第1検出処理の結果を記憶するとともに前記第2検出処理の結果を破棄し、
    前記読み出し処理において前記隣接不揮発性記憶素子が第2データ状態にあるときは、前記第2検出処理の結果を記憶するとともに前記第1検出処理の結果を破棄する、
    ことを特徴とする方法。
  14. 前記選択不揮発性記憶素子に接続されている前記ワードラインに前記読み出し比較電圧を印加し、前記隣接不揮発性記憶素子に接続されている前記ワードラインに前記第2レベルの通過電圧よりも高い第3レベルの通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する第3検出処理と、
    前記選択不揮発性記憶素子に接続されている前記ワードラインに前記読み出し比較電圧を印加し、前記隣接不揮発性記憶素子に接続されている前記ワードラインに前記第3レベルの通過電圧よりも高い第4レベルの通過電圧を印加した状態で、前記選択不揮発性記憶素子の導通状態を検出する第4検出処理、
    をさらに有しており、
    前記読み出し処理において前記隣接不揮発性記憶素子が、前記第2データ状態、第3データ状態、及び、第4データ状態の何れよりも低い閾値電圧を有する前記第1データ状態にあるときは、前記第1検出処理の結果を記憶するとともに前記第2検出処理、前記第3検出処理、及び、前記第4検出処理の結果を破棄し、
    前記読み出し処理において前記隣接不揮発性記憶素子が、前記第3データ状態、及び、前記第4データ状態の何れよりも低い閾値電圧を有する前記第2データ状態にあるときは、前記第2検出処理の結果を記憶するとともに前記第1検出処理、前記第3検出処理、及び、前記第4検出処理の結果を破棄し、
    前記読み出し処理において前記隣接不揮発性記憶素子が前記第4データ状態よりも低い閾値電圧を有する前記第3データ状態にあるときは、前記第3検出処理の結果を記憶するとともに前記第1検出処理、前記第2検出処理、及び、前記第4検出処理の結果を破棄し、
    前記読み出し処理において前記隣接不揮発性記憶素子が前記第4データ状態にあるときは、前記第4検出処理の結果を記憶するとともに前記第1検出処理、前記第2検出処理、及び、前記第3検出処理の結果を破棄する、
    ことを特徴とする請求項13に記載の方法。
  15. 前記不揮発性記憶素子の各々が、閾値電圧が互いに異なる3つ以上のデータ状態の何れか1つにプログラムされることを特徴とする請求項13に記載の方法。
  16. 前記複数の不揮発性記憶素子がマルチ状態フラッシュメモリデバイスであることを特徴とする請求項13〜15の何れか一項に記載の方法。
  17. 前記複数の不揮発性記憶素子がマルチ状態NANDフラッシュメモリデバイスであることを特徴とする請求項13〜15の何れか一項に記載の方法。
JP2008557330A 2006-03-03 2007-02-27 フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作 Active JP4954223B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US77885706P 2006-03-03 2006-03-03
US60/778,857 2006-03-03
US11/384,057 2006-03-17
US11/377,972 2006-03-17
US11/384,057 US7499319B2 (en) 2006-03-03 2006-03-17 Read operation for non-volatile storage with compensation for coupling
US11/377,972 US7436733B2 (en) 2006-03-03 2006-03-17 System for performing read operation on non-volatile storage with compensation for coupling
PCT/US2007/004967 WO2007103038A1 (en) 2006-03-03 2007-02-27 Read operation for non-volatile storage with compensation for floating gate coupling

Publications (2)

Publication Number Publication Date
JP2009528651A JP2009528651A (ja) 2009-08-06
JP4954223B2 true JP4954223B2 (ja) 2012-06-13

Family

ID=38229358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008557330A Active JP4954223B2 (ja) 2006-03-03 2007-02-27 フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作

Country Status (8)

Country Link
EP (2) EP1991989B1 (ja)
JP (1) JP4954223B2 (ja)
KR (1) KR101015612B1 (ja)
CN (1) CN101395673B (ja)
AT (2) ATE494614T1 (ja)
DE (2) DE602007011736D1 (ja)
TW (1) TWI330848B (ja)
WO (1) WO2007103038A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499319B2 (en) 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
TWI335596B (en) * 2006-06-02 2011-01-01 Sandisk Corp Method and system for data pattern sensitivity compensation using different voltage
US7894269B2 (en) 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7606070B2 (en) 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7518923B2 (en) 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
CN101627443B (zh) 2006-12-29 2012-10-03 桑迪士克股份有限公司 通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元
TWI380311B (en) * 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
KR101291667B1 (ko) * 2007-08-20 2013-08-01 삼성전자주식회사 불휘발성 메모리 장치 및 그 독출 방법
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US7663932B2 (en) * 2007-12-27 2010-02-16 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
KR101468149B1 (ko) * 2008-09-19 2014-12-03 삼성전자주식회사 플래시 메모리 장치 및 시스템들 그리고 그것의 읽기 방법
US8737129B2 (en) 2008-11-14 2014-05-27 Samsung Electronics Co., Ltd. Nonvolatile memory device and read method thereof
KR101490426B1 (ko) * 2008-11-14 2015-02-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
KR101618063B1 (ko) 2009-06-10 2016-05-04 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 그것의 독출 방법
US8482975B2 (en) * 2009-09-14 2013-07-09 Micron Technology, Inc. Memory kink checking
JP4913191B2 (ja) * 2009-09-25 2012-04-11 株式会社東芝 不揮発性半導体記憶装置
US8169822B2 (en) 2009-11-11 2012-05-01 Sandisk Technologies Inc. Data state-dependent channel boosting to reduce channel-to-floating gate coupling in memory
KR101678907B1 (ko) 2010-06-01 2016-11-23 삼성전자주식회사 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
JP5198529B2 (ja) * 2010-09-22 2013-05-15 株式会社東芝 不揮発性半導体記憶装置
JP5404685B2 (ja) * 2011-04-06 2014-02-05 株式会社東芝 不揮発性半導体記憶装置
KR20130072084A (ko) 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 비휘발성 메모리 장치의 리드 방법
US9001577B2 (en) * 2012-06-01 2015-04-07 Micron Technology, Inc. Memory cell sensing
JP6088751B2 (ja) 2012-06-07 2017-03-01 株式会社東芝 半導体メモリ
KR20160023305A (ko) * 2014-08-22 2016-03-03 에스케이하이닉스 주식회사 전자 장치
CN108109664A (zh) * 2017-11-29 2018-06-01 深圳忆联信息系统有限公司 一种缓解mlc闪存读干扰问题的方法
CN110648710A (zh) * 2018-06-26 2020-01-03 北京兆易创新科技股份有限公司 字线电压的施加方法、装置、电子设备和存储介质
CN110648714B (zh) * 2018-06-26 2021-03-30 北京兆易创新科技股份有限公司 数据的读取方法、装置、电子设备和存储介质
CN110689913B (zh) * 2018-07-05 2024-07-26 三星电子株式会社 非易失性存储器装置
KR102211122B1 (ko) * 2018-12-20 2021-02-02 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
CN110223724A (zh) * 2019-05-10 2019-09-10 北京兆易创新科技股份有限公司 一种nand flash的读操作方法和装置
CN111066087A (zh) 2019-10-29 2020-04-24 长江存储科技有限责任公司 用于对存储器设备进行编程的方法
US11557350B2 (en) * 2020-10-16 2023-01-17 Western Digital Technologies, Inc. Dynamic read threshold calibration

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1312504A (en) 1919-08-05 Thermic
US1519904A (en) 1922-08-09 1924-12-16 Clifford L Cummings Combination bonnet lock and ignition-cut-off device for motor vehicles
US2653604A (en) 1950-12-19 1953-09-29 Jr George N Hein Injection device
KR960002006B1 (ko) 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US6857099B1 (en) * 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6614070B1 (en) * 1998-04-16 2003-09-02 Cypress Semiconductor Corporation Semiconductor non-volatile memory device having a NAND cell structure
JP3829088B2 (ja) * 2001-03-29 2006-10-04 株式会社東芝 半導体記憶装置
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
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
CN1215561C (zh) * 2002-01-11 2005-08-17 力晶半导体股份有限公司 可随机编程的非挥发半导体存储器
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7327619B2 (en) 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
JP3913704B2 (ja) 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6956770B2 (en) * 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7372730B2 (en) 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US9913305B2 (en) 2014-08-11 2018-03-06 Intel IP Corporation Systems, methods, and devices for congestion control on a mobile network

Also Published As

Publication number Publication date
EP1991989B1 (en) 2011-01-05
EP2161723A1 (en) 2010-03-10
CN101395673B (zh) 2011-09-21
CN101395673A (zh) 2009-03-25
TWI330848B (en) 2010-09-21
JP2009528651A (ja) 2009-08-06
TW200802389A (en) 2008-01-01
ATE496374T1 (de) 2011-02-15
DE602007011736D1 (de) 2011-02-17
EP2161723B1 (en) 2011-01-19
ATE494614T1 (de) 2011-01-15
EP1991989A1 (en) 2008-11-19
KR101015612B1 (ko) 2011-02-17
WO2007103038A1 (en) 2007-09-13
DE602007012157D1 (de) 2011-03-03
KR20090026117A (ko) 2009-03-11

Similar Documents

Publication Publication Date Title
JP4954223B2 (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
JP5250112B2 (ja) 不揮発性記憶装置の読み出し動作中における結合の補償
KR101094422B1 (ko) 결합 보상을 포함하는 비휘발성 메모리 판독 동작들에 대한 마지닝된 이웃 판독
USRE46279E1 (en) Read operation for non-volatile storage with compensation for coupling
US7436733B2 (en) System for performing read operation on non-volatile storage with compensation for coupling
EP1964127B1 (en) Method for programming non-volatile memory with reduced program disturb using modified pass voltages
JP4892566B2 (ja) 交互列に基づいた不揮発性メモリの読み出し及び書き込み
JP5174829B2 (ja) 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
EP1946323B1 (en) Method for programming of multi-state non-volatile memory using smart verify
KR101428767B1 (ko) 비휘발성 저장소자의 판독 동작 동안에 파워 소모의 감소
JP4995273B2 (ja) 異なる電圧を使用する不揮発性記憶装置のための検証動作
JP2012531693A (ja) 自然閾値電圧分布を検出することによるメモリ内のプログラム外乱の予測
JP4995264B2 (ja) 読み出し中におけるプログラム外乱による影響の軽減
JP4995265B2 (ja) 読み出し中におけるプログラム外乱による影響の軽減
WO2007143399A2 (en) Nand flash verify method with different compensated pass voltages

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120119

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4954223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250