JP5250112B2 - 不揮発性記憶装置の読み出し動作中における結合の補償 - Google Patents

不揮発性記憶装置の読み出し動作中における結合の補償 Download PDF

Info

Publication number
JP5250112B2
JP5250112B2 JP2011522097A JP2011522097A JP5250112B2 JP 5250112 B2 JP5250112 B2 JP 5250112B2 JP 2011522097 A JP2011522097 A JP 2011522097A JP 2011522097 A JP2011522097 A JP 2011522097A JP 5250112 B2 JP5250112 B2 JP 5250112B2
Authority
JP
Japan
Prior art keywords
storage element
bit line
state
read
vbl
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
JP2011522097A
Other languages
English (en)
Other versions
JP2011530776A (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 JP2011530776A publication Critical patent/JP2011530776A/ja
Application granted granted Critical
Publication of JP5250112B2 publication Critical patent/JP5250112B2/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/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/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/24Bit-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/26Sensing 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/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)
  • Non-Volatile Memory (AREA)

Description

本発明は、不揮発性メモリに関する。
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ(EEPROM)と、フラッシュメモリは、最も普及している不揮発性半導体メモリの1つである。EEPROMの一種であるフラッシュメモリを用いると、メモリアレイ全体のコンテンツ、あるいはメモリの一部のコンテンツは、従来のフル機能のEEPROMと対照的に1つのステップで消去できる。
従来のEEPROMとフラッシュメモリの何れもが、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に配置されており、そのフローティングゲートから絶縁されている。このように形成されたトランジスタの閾値電圧(VTH)は、フローティングゲート上に保持される電荷量によって制御される。つまり、そのソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加しなければならない電圧の最小量は、そのフローティングゲート上の電荷レベルにより制御される。
いくつかのEEPROM及びフラッシュメモリ素子は2つの範囲の電荷を記憶するために使用されるフローティングゲートを有するため、記憶素子は2つの状態、例えば消去状態とプログラム状態の間でプログラミング/消去できる。各記憶素子が1ビットのデータを記憶できるため、このようなフラッシュメモリ素子はバイナリフラッシュメモリ素子と呼ばれることもある。
マルチ状態(マルチレベルとも呼ばれる)フラッシュメモリ素子は、複数の別個の許可/有効プログラム閾値電圧範囲を識別することによって実現される。各閾値電圧範囲は、メモリ素子内で符号化されるデータビットのセットの所定値に相当する。例えば、素子が4つの閾値電圧範囲に相当する4つの独立した電荷バンドの1つに格納できるときに、各記憶素子は2ビットのデータを記憶できる。
通常、プログラム動作中に制御ゲートに印加されるプログラム電圧VPGMは、経時的に増大する一連のパルスとして印加される。1つの考えられる手法では、パルスの大きさは、各連続パルスとともに例えば0.2から0.4V等の所定のステップサイズずつ増加される。VPGMはフラッシュメモリ素子の制御ゲートに印加できる。プログラムパルスとプログラムパルスの間の期間では、検証動作が実行される。すなわち、平行してプログラミングされている素子のグループの各素子のプログラミングレベルが、連続する2つのプログラミングパルスの間で読み出され、素子がプログラミングされる検証レベル以上であるか否かが判断される。マルチ状態フラッシュメモリ素子のアレイの場合、検証ステップが素子の各状態について実行され、素子がそのデータに関する検証レベルに到達したか否かが判断される場合もある。例えば、4つの状態でデータを記憶できるマルチ状態記憶素子は、3つの比較点について検証動作を実行する必要がある。
さらに、EEPROM又はNANDストリングのNANDフラッシュメモリ素子等のフラッシュメモリ素子をプログラミングするときには、通常、VPGMが制御ゲートに印加され、ビットラインが接地され、セル又は例えば記憶素子等のメモリ素子のチャネルからの電子をフローティングゲートの中に注入させる。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子の閾値電圧が上昇して、記憶素子がプログラム状態にあると見なされるようになる。このようなプログラミングについての詳細は、米国特許第6,859,397号「Source Side Self Boosting Technique For Non−Volatile Memory」及び2005年7月12日に発行された米国特許第6,917,542号「Detecting Over Programmed Memory」に記載され、両方ともその全体を参照することにより本明細書に組み込まれる。
依然として解決が難しい1つの問題は、読み出し精度である。読み出しプロセスは、忠実にデータを読み戻すことができるように正確でなければならない。例えば、互いに近い閾値電圧範囲を用いるマルチレベル素子は誤差の余地をほとんど残さない。選択された記憶素子を読み出す際の誤りが、容量結合を引き起こす他の未選択の記憶素子のプログラミングされたデータ状態を含む多くの変数により引き起こされることがある。したがって、読み出し精度を向上する技法が必要とされる。
本発明は、容量結合を補償することによって不揮発性記憶装置における読み出し精度を向上するための方法を提供することにより上述及び他の問題に対処する。
一実施形態では、不揮発性記憶装置を操作する方法は、選択された記憶素子の少なくとも1つのビットライン隣接記憶素子を読み出し、その少なくとも1つのビットライン隣接記憶素子のデータ状態を確かめるステップを含む。その少なくとも1つのビットライン隣接記憶素子と選択された記憶素子は、それぞれのビットラインと関連付けられている。方法は、選択された記憶素子を読み出し、選択された記憶素子のデータ状態を確かめるステップをさらに有する。このステップは、その少なくとも1つのビットライン隣接記憶素子のそれぞれのビットラインの電圧を、その確かめられたデータ状態及び制御ゲート読み出し電圧に基づいて設定しながら、異なる制御ゲート読み出し電圧を選択された記憶素子に1つずつ印加することを含む。
別の実施形態では、不揮発性記憶装置を動作させる方法は、マルチステップ読み出し動作の第1のステップの一部として、記憶素子を読み出してそのデータ状態を確かめるステップを含む。記憶素子は、複数の隣接するビットラインと関連付けられている。方法は、マルチステップ読み出し動作の第2のステップの一部として、記憶素子を再び読み出し、それらのデータ状態を再び確かめるステップをさらに含む。このステップは、記憶素子に異なる制御ゲート読み出し電圧を次々に印加するステップと、第1のステップの確かめられたデータ状態と、制御ゲート読み出し電圧に基づき、ビットライン上の電圧を設定するステップを含む。
別の実施形態では、不揮発性記憶装置を動作させる方法は、選択されたワードラインの隣接ワードライン上の記憶素子を読み出し、それらのデータ状態を確かめるステップを含む。このステップは、選択されたワードラインと関連付けられた選択された記憶素子のワードライン隣接記憶素子を読み出すステップと、選択された記憶素子の少なくとも1つのビットライン隣接記憶素子を読み出すステップを含む。この方法は、選択された記憶素子を読み出し、そのデータ状態を確かめるステップもさらに含む。このステップは、ワードライン隣接記憶素子の読み出しに応えてワードライン隣接記憶素子と関連付けられた結合を補償するとともに、少なくとも1つのビットライン隣接記憶素子の読み出しに応えて少なくとも1つのビットライン隣接記憶素子と関連付けられた結合を補償する間に行われる。
別の実施形態では、不揮発性記憶装置は、記憶素子のセットと少なくとも1つの制御回路を含む。その少なくとも1つの制御回路は、選択された記憶素子の少なくとも1つのビットライン隣接記憶素子を読み出し、少なくとも1つのビットライン隣接記憶素子のデータ状態を確かめるステップを実施する。少なくとも1つのビットライン隣接記憶素子と選択された記憶素子は、それぞれのビットラインと関連付けられている。少なくとも1つの制御回路は、さらに、選択された記憶素子を読み出し、選択された記憶素子のデータ状態を確かめるステップを実施する。このステップは、その少なくとも1つのビットライン隣接記憶素子のそれぞれのビットラインの電圧を、その確かめられたデータ状態及び制御ゲート読み出し電圧に基づき設定しながら、選択された記憶素子に異なる制御ゲート読み出し電圧を1つずつ印加するステップを含む。
本明細書に提供される方法を実行するための、対応する方法、システム及びコンピュータまたはプロセッサで読み取り可能な記憶装置も提供されうる。
NANDストリングの平面図。 図1aのNANDストリングの等価回路図。 NANDフラッシュ記憶素子のアレイのブロック図。 NANDストリングの断面図。 プログラミング中の記憶素子のワードライン方向での断面図。 1つの記憶素子に対する容量結合効果を含む、プログラミング完了後の記憶素子のワードライン方向での断面図。 偶数ビットラインプログラム−検証、奇数ビットラインプログラム−検証プログラミング技法において不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図。 全ビットラインプログラム、偶数ビットライン検証、奇数ビットライン検証プログラミング技法において不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図。 全ビットラインプログラム、全ビットライン検証プログラミング技法において不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図。 図2dに対応するプログラミング技法を示す図。 図2eに対応するプログラミング技法を示す図。 図2fに対応するプログラミング技法を示す図。 隣接する記憶素子からの1つの記憶素子に対する容量結合効果を示す図。 容量結合を相殺するためのビットライン電圧調整を示す図。 結合がある場合、及び、ない場合の閾値電圧の分布を示す図。 結合がある場合の閾値電圧分布の詳細を示す図。 読み出し動作中に選択されたワードラインに印加される制御ゲート読み出し電圧を示す図。 図2dに対応するプログラミング後に、偶数ビットライン記憶素子を読み出すときに奇数ビットライン記憶素子に印加されるビットライン電圧を示す図。 図2eに対応するプログラミング後に、状態及び制御ゲート読み出し電圧に基づいて記憶素子に印加されるビットライン電圧を示す図。 図2fに対応するプログラミング後に、状態及び制御ゲート読み出し電圧に基づいて記憶素子に印加されるビットライン電圧を示す図。 状態及び制御ゲート読み出し電圧に基づいて記憶素子に印加される代替ビットライン電圧を示す図。 図6bに対応する読み出し技法を示す図。 図6cに対応する読み出し技法を示す図。 図6dに対応する読み出し技法を示す図。 読み出し動作中に、選択されたワードラインに印加される制御ゲート読み出し電圧を示す図。 読み出し動作中に、隣接ワードラインに印加される制御ゲート読み出しパス電圧を示す図。 対角線ビットライン隣接記憶素子の補償を含む読み出し動作を示す図。 ワードライン隣接記憶素子の補償を含む読み出し動作を示す図。 対角線ビットライン隣接記憶素子、及び、ワードライン隣接記憶素子の補償を含む読み出し動作を示す図。 同じワードライン、ビットライン隣接記憶素子、及び、ワードライン隣接記憶素子の補償を含む読み出し動作を示す図。 NANDフラッシュ記憶素子のアレイのブロック図。 単一の行/列デコーダと読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図。 検出ブロックの一実施形態を示すブロック図。 全ビットラインメモリアーキテクチャ用、または、偶数−奇数メモリアーキテクチャ用のブロックにメモリアレイを編成する例を示す図。 閾値電圧分布のセット及びワンパスプログラミングの例を示す図。 閾値電圧分布のセット及びツーパスプログラミングの例を示す図。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラミングするプロセスを説明する図。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラミングするプロセスを説明する図。 種々の閾値電圧の分布を示し、不揮発性メモリをプログラミングするプロセスを説明する図。
本発明は、容量結合を補償することによって不揮発性記憶装置における読み出し精度を向上するための方法を提供する。
本発明の実施に適したメモリシステムの一例は、NANDフラッシュメモリ構造を用いる。そのNANDフラッシュメモリ構造は2つの選択ゲートの間に直列に接続された複数のトランジスタを含んでいる。直列に接続されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1aは、1つのNANDストリングを示す平面図である。図1bはその等価回路である。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であり)(WLは「ワードライン」を示す)、制御ゲート102CGはWL2に接続されており、制御ゲート104CGはWL1に接続されており、制御ゲート106CGはWL0に接続されている。一実施形態では、トランジスタ100、102、104及び106は、それぞれ、メモリセルとも呼ばれる記憶素子である。他の実施形態では、記憶素子は、複数のトランジスタを有していることもある。あるいは、図1または図2に示されているのとは異なることもある。選択ゲート120は、選択ラインSGDに接続されている。選択ゲート122は、選択ラインSGSに接続されている。
図1cは、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ストリング中の1つの記憶素子は同じワードラインを共用する。例えば、図1cの記憶素子324をプログラミングするときには、プログラム電圧は、記憶素子344および364の制御ゲートにも印加される。
図2aは、NANDストリングの断面図である。図は簡略化され、縮尺通りではない。NANDストリング400は、ソース側選択ゲート406、ドレイン側選択ゲート424、及び、8個の記憶素子408、410、412、414、416、418、420、422を有しており、これらは基板490に形成されている。これらの構成要素は、基板のnウェル領域494内に形成されているpウェル領域492上に形成されている。同様に、nウェルはp基板496内に形成されている。供給ライン402及び403は、それぞれpウェル領域492及びnウェル領域494と通信する。VBLという電位のビットライン426に加えて、VSOURCEという電位のソース供給ライン404が提供される。VSGSは選択ゲート406に印加され、VSGDは選択ゲート424に印加される。ワードラインまたは不揮発性揮発素子のソース側は、例えばソース供給ライン404のように、NANDストリングのソース端部側を意味する。一方、ワードラインまたは不揮発性記憶素子のドレイン側は、例えばビットライン426のように、NANDストリングのドレイン端部側を意味する。1つの手法では、プログラミングは、WL0で開始し、ワードラインごとに進む。
図2bは、プログラミング中の記憶素子のワードライン方向の断面を示す。チャネル領域508、510、及び512が、接続されたフローティングゲートFGn−1502、FG504、及びFGn+1506とともに示されている。ワードライン500は、フローティングゲート上、及び、フローティングゲート間に伸びている。図2dから図2fに関連して説明される典型的なプログラミングシーケンスでは、ワードライン500に印加されるプログラム電圧Vpgmはパルス毎に増加し、その結果、記憶素子が検証されてロックアウトされるまで、記憶素子の閾値電圧VTHが増加する。データがNANDブロック内のワードラインにプログラミングされると、例えば、異なる記憶素子を異なるVTH状態にプログラミングすることができる。例えば、全てのビットラインプログラミングでは、NANDチェインn上の(またはビットラインBLnと接続された)記憶素子をA状態にプログラミングできる。一方で、BLn−1またはBLn+1と接続されたそのビットライン隣接記憶素子を、C状態等のより高い状態にプログラミングできる。この例では、4つの状態、つまり消去状態E及びプログラム状態A、B、及びCがあると仮定する。マルチレベルメモリ素子では、2個の状態が使用され、ここではN≧2である。例えば、4つの状態、8つの状態、または16の状態が使用されてよい。このような場合には、BLn上の記憶素子を状態Aにプログラム、検証してそれをロックアウトすると、その隣接記憶素子は同じ状態(状態A)にあったか、あるいは、それがロックアウトされている場合にはさらに低い状態(状態E)であった。しかし、図2cに示されるように、例えば、隣接記憶素子の追加のプログラミング、及び、状態Cへのプログラミングの完了後に、隣接記憶素子のVTHはさらに高いC状態に増加している。選択された記憶素子がプログラミングを完了する時間と、それがその後読み出される時間の間での隣接記憶素子のデータ状態のこの変化により、選択された記憶素子に対する容量結合が生じる。
図2cは、プログラミング完了後の記憶素子のワードライン方向の断面図を示しており、1つの記憶素子に対する容量結合効果を含んで示している。プログラミング動作の完了後に、記憶素子504が後に読み戻されると、そのVTHは、それが最初にプログラミングされたときよりも見かけ上高くなる。これは隣接するフローティングゲートFGn+1及びFGn−1からの容量結合の結果であり、FGnのVTHを見かけ上高くする。これがビットラインとビットラインの干渉、つまり結合効果と呼ばれる。示されるように、フローティングゲートとフローティングゲートの間、チャネルとチャネルの間、及び、チャネルとフローティングゲートの間の結合を含む多様なタイプの容量結合が起こり得る。おもにフローティングゲートとフローティングゲートの間の結合のために、読み出し中の選択された記憶素子に隣接する記憶素子が選択された記憶素子よりも高いVTH(高いデータ状態)を有するときに、選択された記憶素子のVTHが見かけ上は相対的に高くなる。同様に、隣接する記憶素子が選択された記憶素子よりも低いVTH(より低いデータ状態)を有するときに、選択された記憶素子のVTHが、見かけ上は相対的に低くなり、プログラミングを完了したときに検証され、ロックアウトされたVTHとほぼ同じになる。VTHのこれらの変動は、全体的な分布をはるかに幅広くし、読み出し失敗の可能性の上昇によって、(過剰プログラミングマージン及びデータ保持マージンを含む)失敗のマージンが少なくなる。
一般に、データがランダムにプログラミングされると、記憶素子がデータ状態の任意の組み合わせを有することがある。いくつかの記憶素子が低いVTHの隣接記憶素子を有する一方、いくつかの記憶素子が高いVTHの隣接記憶素子を有する。例えば、(B状態またはC状態の隣接記憶素子等の)高いVTHの隣接記憶素子を有するA状態の記憶素子は、(E状態またはA状態の隣接記憶素子等の)低いVTHの隣接記憶素子を有するA状態の記憶素子に比較してVTHが見かけ上高くなる。容量結合効果は、本明細書で説明される多岐に渡る技法を使用して、部分的にまたは完全に補償できる。有利なことに、この技法は、より狭い閾値電圧分布をもたらすことがある。
結合の効果が、プログラミング技法によって変わることに留意されたい。説明のために、3つのプログラミング技法が後述される。他のプログラミング技法も考えられる。第1のプログラミング技法は、偶数番号のビットライン及び奇数番号のビットラインの記憶素子を別々にプログラミング、検証する偶数−奇数プログラミングである。不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図2d、及び、対応するプログラミング方法を示す図3aを参照されたい。このパルス列は、偶数ビットライン記憶素子をプログラミングして検証するために使用される第1の部分520と、その後に続いて、奇数ビットラインの記憶素子をプログラミングして検証するために使用される第2の部分540を有する。第1の部分520は、複数のプログラムパルス522、524、526、528、530...及び、プログラムパルスの各ペアの間の偶数ビットライン記憶素子を検証するための検証パルスのセット(例えば、検証パルスセット523)を含む。第2の部分540は、複数のプログラムパルス542、544、546、548、550...及びプログラムパルスの各ペアの間の奇数ビットライン記憶素子を検証するための検証パルスのセット(例えば、検証パルスセット543)を含む。
一実施形態では、プログラミングパルスは、12Vで開始し、例えば、20〜25Vという最大値に達するまで、連続するプログラミングパルスごとに例えば、0.5Vずつ増加する電圧VPGMを有する。いくつかの実施形態では、例えば状態A、状態B及び状態Cにデータがプログラミングされている各状態についての検証パルスがある場合がある。他の実施形態では、より多いまたはより少ない検証パルスがある場合がある。各セットの検証パルスは、例えば、図5aに示されるようにVV−A、VV−B及びVV−Cという振幅を有することがある。
このプログラミング手法は、偶数番号のビットラインの記憶素子(例えば、偶数番号の記憶素子)を、それらが意図された状態に到達するまでプログラミングして検証する第1段階と、次に、奇数番号のビットラインの記憶素子(例えば、奇数番号の記憶素子)を、それらが意図された状態に到達するまでプログラミングして検証する第2段階を含むことがある。この場合、偶数番号の記憶素子が最初に終了し、その後奇数番号の記憶素子のプログラミングが開始する。奇数番号の記憶素子は、それらが最後にプログラミングされるため、BL対BL結合を受けない。偶数番号の記憶素子がプログラミングされた後に結合を引き起こす追加のプログラミングが発生するため、偶数番号の記憶素子だけが(奇数番号の記憶素子から)BLとBLの間の結合を受ける。したがって、補償は、偶数番号の記憶素子のためだけに必要とされる。具体的には、偶数番号の記憶素子に対するプログラミングが終了すると、奇数番号の記憶素子はすべてE状態になる。奇数番号の記憶素子がその後プログラミングされると、偶数番号の記憶素子は、奇数番号の記憶素子の増加するVTHから完全な結合効果を受ける。
さらに、偶数番号の記憶素子が経験する結合の量は、ビットライン隣接記憶素子の状態に依存するが、一般に偶数番号の記憶素子の状態とは無関係である。言い換えると、所定の偶数番号の記憶素子が経験する結合の量は、前記所定の偶数番号の記憶素子の状態と、その隣接記憶素子の状態の間の差異には依存しない。例えば、状態E、A、BまたはCの偶数番号の記憶素子は、所定の状態にある隣接する奇数番号の記憶素子からの同じ量の干渉を受ける。したがって、全ての偶数番号の記憶素子は、A状態の隣接する奇数番号の記憶素子から同じ結合Cを受ける。同様に、全ての偶数番号の記憶素子は、B状態の隣接する奇数番号の記憶素子から同じ結合Cを受け、全ての偶数番号の記憶素子は、C状態の隣接する奇数番号の記憶素子から同じ結合Cを受け、この場合C>C>Cである。
図3aを参照すると、このプログラミング技法は、ステップ600で偶数ビットラインに対するプログラミング動作が開始する。ステップ601で、プログラムパルスが選択されたワードラインに印加される。ステップ602で、偶数ビットライン記憶素子が検証される。ステップ603で、次のプログラムパルスがある場合、プロセスはステップ601で続行される。印加する追加のプログラムパルスがない場合、偶数ビットラインのためのプログラミング動作はステップ604で終了する。ステップ605で、プログラミング技法は、奇数ビットラインに対するプログラミング動作を実施する。ステップ606で、プログラムパルスが選択されたワードラインに印加される。ステップ607で、奇数ビットライン記憶素子が検証される。ステップ608で、次のプログラムパルスがある場合、プロセスはステップ606で続行される。印加する追加のプログラムパルスがない場合、奇数ビットラインのためのプログラミング動作がステップ609で終了する。
第2のプログラミング技法は、全てのビットラインの記憶素子に一度にプログラムパルスを印加し、偶数番号のビットライン及び奇数番号のビットラインの記憶素子に別々に検証動作を実行する。これが、全ビットラインプログラミング、偶数検証、奇数検証手法である。全BLプログラム、偶数検証、奇数検証手法の不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図2e、及び、対応するプログラミング方法を示す図3bを参照されたい。
パルス列560は、複数のプログラムパルス562、564、566、568、570...と、プログラムパルスの各ペアの間の2セットの検証パルスを含む。1セットの検証パルス(例えば、、検証パルスセット561)は、偶数BL記憶素子を検証するために使用され、他のセットの検証パルス(例えば、検証パルスセット563)は、奇数BL記憶素子を検証するために使用される。この場合、プログラミングパルスは、全てのビットラインに同時に印加されるが、検証パルスは、偶数番号のビットラインと奇数番号のビットラインとで別々に印加される。例えば、1つのプログラムパルスが印加された後に、検証電圧のセットが偶数番号のビットラインに印加され、次に検証電圧のセットが奇数番号のビットラインに印加され、次にこのプロセスが次のプログラムパルスで繰り返される。図3bを参照すると、このプログラミング技法は、ステップ610で全てのビットラインのためのプログラミング動作で開始する。ステップ611で、プログラムパルスが選択されたワードラインに印加される。ステップ612で、偶数ビットライン記憶素子が検証される。ステップ613で、奇数ビットライン記憶素子が検証される。ステップ614で、次のプログラムパルスがある場合、プロセスはステップ611で続行される。印加する追加のプログラムパルスがない場合、プログラミング動作はステップ615で終了する。
第3のプログラミング技法は、選択されたワードライン上の全てのビットラインの記憶素子を一度にプログラミングして検証する全ビットラインプログラミング及び検証である。これが、全ビットラインプログラム、全ビットライン検証手法である。この技法での不揮発性記憶素子の制御ゲートに印加されるパルス列の一例を示す図2f、及び、対応するプログラミング方法を示す図3cを参照されたい。パルス列580は、複数のプログラムパルス582、584、586、588、590...、及び、プログラムパルスの各ペアの間の1セットの検証パルス(例えば、検証パルスセット583)を含む。検証パルスの各セットは、全てのBL記憶素子を検証するために使用される。ここでは、偶数番号のビットラインと奇数番号のビットラインの両方の記憶素子が、一度にプログラミングを終了する。この場合、所定の状態の記憶素子は、より高い状態にあるビットライン隣接記憶素子だけからBLとBLの間の干渉を受ける。例えば、A状態の記憶素子は、隣接記憶素子がB状態、及び/またはC状態にある場合に隣接記憶素子からの干渉を受けるが、隣接記憶素子がE状態及び/またはA状態にある場合は干渉を受けない。B状態の記憶素子は、隣接記憶素子がC状態にある場合には隣接記憶素子からの干渉を受けるが、隣接記憶素子がE状態、A状態、及び/またはB状態にある場合には干渉を受けない。C状態の記憶素子は、隣接記憶素子からの干渉を受けない。
図3cを参照すると、このプログラミング技法は、ステップ616で全てのビットラインのためのプログラミング動作を開始する。ステップ617で、プログラムパルスが選択されたワードラインに印加される。ステップ618で、全ての記憶素子が検証される。ステップ619で、次のプログラムパルスがある場合、プロセスはステップ617で続行される。印加するための追加のプログラムパルスがない場合には、プログラミング動作はステップ620で終了する。
異なるプログラミング技法に加えて、全てのビットラインが同時に読み出される全ビットライン読み出し、及び、奇数ビットラインの前に偶数ビットラインが読み出される偶数−奇数読み出しを含む、異なる読み出し技法が使用できる。特定の読み出し技法及び補償技法は、さらに後述される。
図4aは、隣接する記憶素子からの1つの記憶素子に対する容量結合効果を示す。図2cは同じワードライン上の隣接記憶素子からの結合を示したが、結合は隣接するワードライン上の記憶素子によっても発生し得る。例えば、ワードラインWLn−1、WLn及びWLn+1はブロック内の全てのワードラインのサブセットまたは記憶素子の他のセットとして示され、ビットラインBLi−1、BLi及びBLi+1はセット内の全てのビットラインのサブセットとして示される。通常、結合は記憶素子間の距離の関数であり、したがって一次効果は隣接記憶素子による。例えば、記憶素子625が受ける結合を考える。WLn上の記憶素子624及び626は、それらが選択された記憶素子625の隣接ビットライン上にあるため、記憶素子625にビットライン隣接している。また、記憶素子621及び623は、隣接ワードラインWLn+1上で記憶素子625に斜めにビットライン隣接している。記憶素子622は、WLn+1上で記憶素子625にワードライン隣接している。記憶素子621、622、623、624及び626のために記憶素子625が受ける結合は、それぞれC、C、C、C及びCである。
この例では、ワードラインプログラミング順序は、WLn−1、WLn及びWLn+1であってよい。一般に、結合は、WLnの前にプログラミングされるWLn−1上の記憶素子からよりも、同じワードライン上、または、WLnの後にプログラミングされる隣接ワードラインWLn+1上の記憶素子により生じる。WLn−1上の記憶素子は、WLn上の記憶素子がプログラミングを完了したときと、それらが読み出されるときの間で同じデータ状態を有するために、これが当てはまる。したがって、WLn−1上の記憶素子627、628、及び629からの容量結合は示されていない。反対に、WLnまたはWLn+1上の記憶素子のいくつかは、WLn上の記憶素子がプログラミングを完了したときと、それらが読み出されるときの間で異なるデータ状態を有する。しかしながら、いくつかの状況では、記憶素子がWn−1からの結合を受けることがある。
結合を補償する多様な手法は、記憶素子のVTHが徐々に上昇するように複数のパスを使用するプログラミング技法、及び、より高い状態のプログラミングが、より低い状態のプログラミングの前に完了するプログラミング方式を含む。これらの手法を用いると、通常、BLとBLの間の結合は、プログラミングされた状態でのみ削減される、または、補償される。したがって、消去状態(E状態)は、補償されない。E状態におけるBLとBLの間の干渉を補償することは、E状態がより幅広く、VTHウィンドウのより大きな部分を占めるので、将来の世代の素子ではより重要になる。本明細書で提供される技法は、少なくとも部分的に、他の状態だけではなくE状態でもBLとBLの間の干渉を補償する。さらに、技法は、NAND及びNOR等の不揮発性素子を含む異なるメモリ素子タイプに、及び、異なる記憶素子寸法に適応可能である。全体的な性能の影響は、従来の手法に比較して小さいことがある。
図4bは、容量結合を相殺するためのビットライン電圧調整を示す。1つの手法は、読み出されている選択された記憶素子よりも相対的に高いVTHを有する隣接記憶素子についてVBLがより高くなるように、結合の量(C)に比例してビットライン電圧(VBL)を調整することである。より高いVBLは、例えばFGn等の、選択された記憶素子のフローティングゲートとチャネルに結合される隣接記憶素子により高いチャネル電位を生じさせて、そのVTHを見かけ上はより低くし、これによる補償がなければVTHを見かけ上より高くしてしまうところの結合干渉を補償する。VBLは、結合の大きさの関数として表される。調整されたVBLは、さらに後述されるように読み出し動作中に印加できる。
図5aは、結合がある場合、及び、ない場合の閾値電圧分布を示す。言及されたように、結合効果は、所定の記憶素子の見かけのVTHを増加させる。プログラミング直後等のように結合のない場合における各状態E、A、B及びCのVTH分布640、644、648、及び652、並びに、図2fの全ビットラインプログラミング技法のように結合のある場合における各状態E、A及びBのVTH分布642、646、及び650によって示されるように、記憶素子のセット全体で、各状態の集合的なVTH分布も増加する。最高の状態、状態Cは、この例では、ほとんど又はまったく結合を受けない。さらに、各VTH分布は、図4bに示されるように、結合に基づいた構成要素を含む。各状態A、B及びCの制御ゲート読み出し電圧VCGR−A、VCGR−B及びVCGR−Cは読み出し動作中に使用され、1つまたは複数の選択された記憶素子のデータ状態が確かめられる。各状態A、B及びCの制御ゲート検証電圧VV−A、VV−B及びVV−Cは、プログラム−検証動作の検証部分の間に使用され、1つまたは複数の選択された記憶素子が意図された状態にプログラミングされたかどうかが検証される。
図5bは、結合のある閾値電圧分布の詳細を示す。状態Eの記憶素子の場合、分布要素656によって示されるように、基本的には、状態Eである隣接する記憶素子からの結合はほとんど又はまったくない。しかしながら、状態Eの記憶素子は、各分布要素658、660、及び662によって示されるように、状態A、状態B及び、状態Cである隣接する記憶素子によってそのVTHをより高く結合される。したがって、全体的なE状態分布642は、分布要素656、658、660及び662から構成される。同様に、状態Aの記憶素子の場合、基本的に、分布要素664によって示されるように、状態EまたはAである隣接する記憶素子からの結合はほとんど又はまったくない。しかしながら、状態Aの記憶素子は、それぞれ分布要素666及び668によって示されるように、状態B及び状態Cである隣接する記憶素子によって、そのVTHをさらに高く結合される。同様に、状態Bの記憶素子の場合、基本的には、分布要素670によって示されるように、状態E、AまたはBである隣接する記憶素子からの結合はほとんど又はまったくない。しかしながら、状態Bの記憶素子は、分布要素672によって示されるように、状態Cである隣接する記憶素子によって、そのVTHをさらに高く結合される。状態Cの記憶素子の場合、基本的には、分布構成要素652によって示されるように、状態E、A、BまたはCである他の隣接する記憶素子からの結合はほとんど又はまったくない。
図6aは、読み出し動作中に選択されたワードラインに印加される制御ゲート読み出し電圧を示す。読み出し動作中、それぞれ状態A、B、及びCに対する連続振幅VCGR−A、VCGR−B及びVCGR−Cを有する制御ゲート電圧波形は、それぞれ期間t0〜t1、t1〜t2、及びt2〜t3で読み出されている1つまたは複数の選択された記憶素子のワードラインに印加される。VCGR−A、VCGR−B及びVCGR−Cは、図5aにも示されている。この例は、4つの使用可能なデータ状態があるケースに当てはまる。一般に、制御ゲート電圧波形は、2個のデータ状態があるときに2N−1個の振幅を有する。例として補償技法をさらに説明するために、E状態、A状態、B状態、及びC状態が、それぞれ状態0、状態1、状態2、及び状態3であると考える。また、VCGR−A、VCGR−B及びVCGR−Cがそれぞれ読み出しレベル1、2及び3を表すと考える。さらに、4つの異なるビットライン電圧VBL0<VBL1<VBL2<VBL3が使用できる。制御ゲート電圧がm番目の読み出しレベル(m=1、2または3)であり、隣接する記憶素子がn番目の(n=0、1、2または3)状態にある場合には、m>nであると、隣接する記憶素子のビットラインでVBL0を使用し、その結合を相殺する。m≦nである場合、隣接する記憶素子のビットライン上でVBLn+1−mを使用し、その結合を相殺する。表1は、追加の詳細を提供する。
Figure 0005250112
通常は、所定の記憶素子が、同じワードライン上に2つのビットライン隣接記憶素子を有し、その場合、所定の記憶素子が読み出されているときに、上述のビットライン電圧をこれらの隣接記憶素子の各ビットラインに印加できることに留意されたい。例えば、BLi+1上の隣接記憶素子がB状態(n=2)にプログラミングされ、BLi−1上の他の隣接記憶素子がC状態(n=3)にプログラミングされている場合、期間t0〜t1の間にBLi+1にVBL2及びBLi−1にVBL3を設定でき、期間t1〜t2の間にBLi+1にVBL1及びBLi−1にVBL2を設定でき、期間t2〜t3の間にBLi+1にVBL0及びBLi−1にVBL1を設定できる。隣接記憶素子のための状態の他の組み合わせのための補償ビットライン電圧も同様に提供できる。さらに、ビットラインの補償は、補償がつねに最適レベルとなるように、制御ゲート読み出し電圧の変化に応じて変更される。
例えばBLi−1またはBLi+1等の1本のビットライン上で2つの記憶素子の結合を補償することも可能である。この場合、電圧は、この2つの記憶素子からの総結合量を補償するビットラインに印加される。さらに後述されるように、ワードライン隣接記憶素子の結合を追加で補償することも可能であり、その結果補償は最大5個の記憶素子に提供される。例えば、図4aで記憶素子625を読み出すとき、補償は5個の記憶素子621,622、623、624及び626に提供できる。この場合、ビットラインとビットラインの間の結合効果及びワードラインとワードラインの間の結合効果の両方が補償される。
したがって、読み出し中でない記憶素子が、現在の読み出しレベルと関連付けられる状態よりも高い状態にある場合には、この記憶素子に対してより高いVBL電圧が使用される。このより高いVBLは、関連付けられた未選択の記憶素子のフローティングゲート及びチャネルの電位をブーストする。この電位は、選択された記憶素子のチャネル及びフローティングゲートと結合する。したがって、結合された電位は選択された記憶素子をオンさせる(導通させる)ために役立つので、この電位はそのVTHを見かけ上、より低くする。したがって、より高いVTH状態にある隣接する記憶素子を有する選択された記憶素子は、見かけ上、VTHがより低くなる。VTHのこのダウンシフトは、BLとBLの間の干渉によって選択された記憶素子が受けたVTHでのアップシフトを補償する。より低いVTHを有する隣接記憶素子にはより低いVBLが使用され、これは、選択された記憶素子のVTHにダウンシフトがほとんどない、またはまったくないことを意味する。したがって、全体としては、総VTH分布はさらに狭くなる。
図6bは、図2dに対応するプログラミングの後に、偶数ビットライン記憶素子を読み出すときに奇数ビットライン記憶素子に印加されるビットライン電圧を示す。時間軸は、図6aと同じである。y軸は、未選択の記憶素子に印加されるVBLを示す。奇数−偶数読み出し動作中において、奇数ビットラインに接続された記憶素子は、偶数ビットラインと接続された記憶素子とは別個に読み出される。したがって、未選択の記憶素子のビットライン電圧を比較的に自由に調整できる。例えば、偶数番号のビットライン記憶素子が読み出されているときに、奇数番号のビットライン記憶素子のビットライン電圧を比較的に自由に調整できる。前述したように、奇数番号の記憶素子は、通常、偶数番号の記憶素子の後にプログラミングされるため、結合を経験しない。その結果、それらは、読み出し動作中に補償を必要とする。したがって、1つの手法では、固定されたビットライン電圧が、奇数番号の記憶素子を読み出すときに奇数番号の記憶素子及び偶数−奇数番号の記憶素子に印加され、図6bに示されるような変更可能なビットライン電圧が、偶数番号の記憶素子を読み出すときに奇数番号の記憶素子に印加される。さらに、奇数記憶素子がその状態が既知となるように最初に読み出され、その後の偶数記憶素子を読み出すときにそれらに適切な補償を適用してもよい。メモリ素子の制御は、本明細書に説明される技法を実施するための適切な知能で構成できる。
波形680、682、684及び686は、全ての制御ゲート読み出し電圧のための未選択記憶素子に印加される電圧を示す。具体的には、偶数記憶素子の場合には、ビットライン隣接記憶素子が事前にそれぞれE状態、A状態、B状態またはC状態にあると特定された場合に、ビットライン隣接記憶素子のビットラインがVBL0、VBL1、VBL2、またはVBL3を受ける。未選択のビットライン隣接記憶素子は、例えば、選択ワードラインWLn及び/または対角線上で隣接ワードラインWn+1上にある場合がある。
図7aは、図6bに対応する読み出し動作を示す。読み出し動作はステップ700で開始される。ステップ701で、WLnの奇数記憶素子が補償なしで読み出され、結果が記憶される。例えば、結果は、考えられる1つの手法では、各ビットラインと接続されているセンス増幅器のラッチに記憶される。結果は、ラッチからメモリ素子のコントローラメモリに転送することもできる。奇数番号のビットラインは、偶数番号のビットラインの後、最後にプログラミングされるため、奇数番号のビットラインに結合補償は必要とされないことに留意されたい。ステップ702で、WLnの偶数記憶素子が補償付きで読み出される。これは、事前に特定された奇数ビットライン記憶素子の状態に基づいて、奇数ビットラインに適切なビットライン電圧を印加することを含むことがある。読み出し動作は、ステップ703で終了する。
図6cは、図2eに対応するプログラミングの後に、その状態、及び、制御ゲート読み出し電圧に基づいて、記憶素子に印加されるビットライン電圧を示す。この場合、偶数記憶素子と奇数記憶素子の両方とも結合を経験しているため、読み出し時に補償される。偶数記憶素子及び奇数記憶素子は別々に読み出され、通常は、偶数の次に奇数が読み出される。波形690、692、694及び696は、制御ゲート読み出し電圧に対応して未選択の記憶素子に(例えば、偶数が読み出されるときに奇数記憶素子に、奇数が読み出されるときに偶数記憶素子に等)印加されるビットライン電圧を示す。
波形690は、選択された(例えば偶数の)記憶素子を読み出すためにVCGR−A、VCGR−B、及びVCGR−Cがそれぞれ選択されたワードラインに印加されるときに、VBL3、VBL2及びVBL1が未選択の(例えば奇数の)記憶素子のビットラインに印加されることを示す。未選択の記憶素子は、例えば、選択されたワードライン、及び/または隣接ワードライン(対角に)にある場合がある。選択されたワードライン上のビットライン隣接記憶素子対隣接ワードライン上の対角のビットライン隣接記憶素子による結合に対する補償は、原則的に同に作用する(但し、通常は、選択された記憶素子への距離が、同じワードライン上の隣接記憶素子から選択された記憶素子への距離よりも大きいので、補償を提供するために必要とされるビットライン電圧の大きさが隣接ワードラインの場合より少なくなるということを除く。)。例えば、記憶素子625と623の間の距離は、記憶素子625と626の間の距離よりも大きい(図4a)。
波形692は、VCGR−A、VCGR−B、及びVCGR−Cがそれぞれ選択されたワードラインに印加されるときに、VBL2、VBL1及びVBL0が各未選択記憶素子のビットラインに印加されることを示す。波形694は、VCGR−A、VCGR−B、及びVCGR−Cがそれぞれ選択されたワードラインに印加されるときに、VBL1、VBL0及びVBL0が各未選択記憶素子のビットラインに印加されることを示す。波形696は、VCGR−A、VCGR−B、及びVCGR−Cが選択されたワードラインに印加されるときに、VBL0が未選択記憶素子のビットラインに印加されることを示す。VBL0<VBL1<VBL2<VBL3のレベルが、特定の用途に最適化できることに留意されたい。さらに、これらの電圧の間の間隔は、等しいまたは等しくない場合がある。
1つまたは複数の選択された(例えば、偶数の)記憶素子を読み出すときに未選択(例えば、奇数)の記憶素子の状態を知るために、初期の「粗」読み出しまたは先行読み出し動作を実行できる。例えば、粗読み出しは、偶数番号の記憶素子及び奇数番号の記憶素子に対して同時に実行できる。粗読み出しは、結合に補償を提供しないが、少し低いが十分な精度で各記憶素子の状態を確かめるために使用される。粗読み出しの間は、考えられる1つの手法で固定されたVBLが全てのビットラインに印加される。粗読み出しによって確かめられるデータ状態に基づいて、次の「微細」読み出しで異なるビットライン電圧が使用される。微細読み出しでは、選択された記憶素子のデータ状態を最終的に特定する。微細読み出しデータとは、例えば、受信された読み出しコマンドに応えてホスト装置に出力されるものである。一方、粗読み出しデータは、微細読み出しを実行するための一時データとしてメモリ素子に対し内部で使用される。
偶数−奇数読み出し動作の場合、微細読み出しは、偶数番号のビットラインの選択された記憶素子に対して実行され、その後に、奇数番号のビットラインの選択記憶素子に対する微細読み出しが続く。別の選択肢は、奇数記憶素子を読み出してから、偶数記憶素子を読み出すことである。偶数番号のビットラインの選択記憶素子に対する微細読み出しの間に、1つの手法では、そのビットライン電圧を、例えば0.5V等の共通レベルに設定する。これは、例えば検証動作中に使用されるVBLであってよい。また、奇数番号のビットラインのビットライン電圧を、粗読み出しから取得されるその接続された記憶素子のデータ状態に従って、及び、電流制御ゲート読み出し電圧に従って設定する。奇数ビットラインの粗読み出しから得られる情報は、偶数ビットラインの微細読み出しを補償するために使用される。
例えば、図6cを参照すると、偶数ビットラインの微細読み出しでは、VCGR−Aがt0とt1の間に印加されると、接続された記憶素子が粗読み出し(波形696)において状態Eにあると特定された奇数番号のビットラインにはVBL0が印加され、接続された記憶素子が粗読み出し(波形694)において状態Aにあると特定された奇数番号のビットラインにはVBL1が印加される。接続された記憶素子が粗読み出し(波形692)において状態Bにあると特定された奇数番号のビットラインには、VBL2が印加される。接続された記憶素子が粗読み出し(波形690)において状態Cであると特定された奇数番号のビットラインには、VBL3が印加される。
CGR−Bがt1とt2の間で印加されると、接続された記憶素子が粗読み出し(波形694及び696)において状態EまたはAにあると特定された奇数番号のビットラインには、VBL0が印加され、接続された記憶素子が粗読み出し(波形692)において状態Bにあると特定された奇数番号のビットラインには、VBL1が印加される。接続された記憶素子が粗読み出し(波形690)において状態Cにあると特定された奇数番号のビットラインには、VBL2は、印加される。波形694及び696は、明確にするためだけに、t1とt2の間で相殺されるものとして示される。波形692、694、及び696は、明確にするためだけにt2とt3の間で相殺されるものとして示される。
CGR−Cがt2とt3の間で印加されると、VBL0が、その接続された記憶素子が粗読み出し(波形692、694、及び696)で状態E、A、またはBであると特定された奇数番号のビットラインに印加され、VBL1が、その接続された記憶素子が粗読み出し(波形690)で状態Cであると特定された奇数番号のビットラインに印加される。
その後、奇数番号のビットラインの選択された記憶素子に対する微細読み出しの間に、1つの手法では、そのビットライン電圧を例えば0.5V等の共通レベルに設定しながら、奇数番号のビットラインの選択された記憶素子を読み出す。また、図6cに従って偶数番号のビットラインのビットライン電圧も設定する。
図7bは、図6cに対応する読み出し動作を示す。読み出し動作は、ステップ710で開始される。ステップ711で、WLnの偶数記憶素子及び奇数記憶素子が、補償のない粗読み出しで読み出され、結果が記憶される。ステップ712で、WLnの偶数記憶素子が、補償付きの微細読み出しで読み出される。この微細読み出しは、事前に特定された奇数ビットライン記憶素子の状態に基づいて、奇数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。結果が記憶され、偶数番号のビットラインに対する粗読み出しによる結果を上書きすることができる。ステップ713で、WLnの奇数記憶素子が、補償付きの微細読み出しで読み出される。この微細読み出しは、事前に特定された偶数ビットライン記憶素子の状態に基づいて、偶数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。結果が記憶され、奇数番号のビットラインに対する粗読み出しによる結果を上書きすることができる。読み出し動作は、ステップ714で終了する。
図6dは、図2fに対応するプログラミングの後に、記憶素子の状態、及び、制御ゲート読み出し電圧に基づいて、記憶素子に印加されるビットライン電圧を示す。時間軸は図6aと同じである。さらにオプションとして、偶数−奇数検知の代わりに、全ビットライン検知を使用できる。この手法では、粗読み出しと微細読み出しの両方において、全ビットラインが一度に読み出される。これにより、例えば、より高速な読み出し速度に関してより優れた性能が得られる。全ビットラインの実施例では、図6dのビットライン電圧は、例えば検証動作中に使用されるビットライン電圧であるVBL1=VBLを除いて、図6cと同じである。VBLは、別のビットライン上の記憶素子に対する結合補償を生じさせるレベルではなく、同じビットライン上の選択された記憶素子に対する正確な読み出しレベルを生じさせるレベルに設定される。これは必須ではないが、一例として、VBLを任意の適切な大きさとすることができるので、VBLの大きさをVBL0とVBL2の間とすることができる。接続された記憶素子の事前に特定された状態に相当するレベルに制御ゲート電圧があるときには、ビットライン電圧をVBLに設定することができる。接続された記憶素子の事前に特定された状態に相当しないレベルに制御ゲート電圧があるときには、特定のビットライン電圧を隣接ビットラインを補償するためのレベルに設定することができる。
例えば、波形694を参照すると、A読み出しが実行されているとき(つまり、粗読み出しによって状態Aにあることが事前に確かめられた選択記憶素子についてt0とt1の間でVCGR−Aが選択ワードラインに印加されるとき)に、VBL1=VBLがA状態の記憶素子に対して使用されることに留意されたい。同様に、波形692を参照すると、VCGR−Bがt1とt2の間で印加されているときに、VBL1=VBLがB状態の記憶素子に対して使用される。最後に、波形690を参照すると、VCGR−Cがt2とt3の間で印加されているときに、VBL1=VBLがC状態の記憶素子に対して使用される。したがって、VCGRが特定の状態に相当するときには、ビットライン電圧は、その特定の状態を読み出すために適切なレベルに設定され、その他のときには、ビットライン電圧は、結合補償のための適切なレベルに設定される。これにより、結合補償を行いながら記憶素子に対して正しく検知することが保証される。
したがって、例えば、粗読み出しによって状態E、A、BまたはCにあることが確かめられた記憶素子は、t0とt1の間でそれぞれVBL0、VBL、VBL2またはVBL3を受ける。粗読み出しによって状態E、A、BまたはCにあることが確かめられた記憶素子は、t1とt2の間でそれぞれVBL0、VBL0、VBLまたはVBL2を受ける。粗読み出しによって状態E、A、BまたはCにあることが確かめられた記憶素子は、t2とt3の間でそれぞれVBL0、VBL0、VBL0またはVBL1を受ける。
したがって、制御ゲート読み出し電圧ごとに、接続された記憶素子の事前に確かめられたデータ状態が制御ゲート電圧に対応するか否かに従って、ビットライン電圧が設定される。対応する場合には、ビットライン電圧は、それが全てのデータ状態に使用されるので、確かめられたデータ状態とは無関係であるVBLに設定される。そのような対応がない場合には、ビットライン電圧は、確かめられたデータ状態に依存するVBL0、VBL2、またはVBL3のレベルに設定される。制御ゲート読み出し電圧が「無関係」レベルであるときに読み出し結果を変えることができるビットライン電圧を用いて、微細読み出しによって記憶素子を読み出すことができる。例えば、粗読み出しでC状態にあると特定された記憶素子の場合は、以後の微細読み出しにおいて、VCGR−A及びVCGR−Bの制御ゲート読み出し電圧が「無関係」レベルとなり、したがって、VBL3またはVBL2を使用できる。一方、VCGR−Cは「関係」レベルであり、したがって、VBLが使用される。VCGR−Cは、事前に特定されたC状態に対応する。
図7cは、図6dに対応する読み出し技法を示す。読み出し動作は、ステップ720で開始される。ステップ721で、WLnの偶数記憶素子及び奇数記憶素子が、補償がない粗読み出しで読み出され、結果が記憶される。ステップ722で、WLnの偶数記憶素子及び奇数記憶素子が、補償付きの微細読み出しで読み出される。その微細読み出しは、電流制御ゲート読み出し電圧が事前に特定された状態に対応するかどうかに従って、接続された記憶素子の事前に特定された状態に基づいて、各ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。具体的には、そのような対応があるときには、VBLの通常値が使用される。そのような対応がないときには、VBL0、VBL2またはVBL3が使用される。結果は記憶され、粗読み出しによる結果を上書きしてよい。読み出し動作は、ステップ723で終了する。
本明細書に説明される補償技法は、異なるプログラミング技法と共に使用できる。可能な1つのプログラミング技法は、以下の図15に関連して説明されるような完全シーケンスプログラミングである。可能な別のプログラミング技法は、図17aから図17cに関連して後述されるような中下部(LM)状態を使用することを含む。この場合、補償される必要がある結合の量が低減され、したがって、状態EからAへの結合効果及び状態LMからCへの結合効果をほぼ完全に補償できる。さらに、最適ビットライン電圧レベルは、図6bから図6dに示されるものとは異なることがある。例えば、選択された記憶素子が粗読み出しによってB状態にあると確かめられた場合には、状態LMからBへの結合は比較的小さいので、奇数−偶数読み出しを仮定して、隣接ビットラインにVBL0を使用することができる。所定のメモリ素子、並びに、プログラミング及び読み出し方式にとって最適な特定のビットライン電圧は、実験、コンピュータモデリング及び他の手法によって決定できる。ルックアップテーブルまたは他のデータ構造は、データ状態及び制御ゲート読み出しレベルに基づいて適切なビットライン電圧を提供できる。
図6eは、記憶素子に印加される代替のビットライン電圧を示す。これらは、例えば図6bから図6dの何れかのビットライン電圧に対する汎用的な代替案である。VBL1、VBL2及びVBL3は、それぞれのデータ状態1つ分、2つ分または3つ分、離れているデータ状態を補償するために使用される電圧であることに留意されたい。例えば、VBL1は、状態EからA、状態AからB,または状態BからCの結合(1状態差)を補償するのに十分である。同様に、VBL2は、状態EからBまたは状態AからCの結合(2状態差)を補償するのに十分であり、最大ビットライン電圧VBL3は、状態EからCの結合(3状態差)を補償するのに十分である。図6bから図6dでは、2個のデータ状態及び2個のビットライン電圧があり、ここではN≧2である。
別の手法では、例えば2個を超えるビットライン電圧等のように、追加のビットライン電圧が提供される。この場合、VBL1、VBL2及びVBL3は、それぞれ1状態差、2状態差、及び3状態差のすべての結合を補償するために最適であるとは仮定されない。代わりに、特定のビットライン電圧が、1つまたは複数の特定の結合に使用される。例えば、状態EからA、AからB、及びBからCの結合を補償するために同じ電圧VBL1を使用する代わりに、実際には、状態EからAの結合が状態AからBまたはBからCの結合より大きい場合があることに留意する。したがって、結合補償の精度を向上するために、状態EからAの補償において1つのビットライン電圧を使用し、状態AからBの補償に別のビットライン電圧を使用し、状態BからCの補償に別のビットライン電圧を使用することができる。したがって、特定の結合補償ごとにビットライン電圧を使用できる場合がある。また、ほぼ同じ結合規模を有する特定の結合の組み合わせをグループ化して、それらに共通のビットライン電圧を使用することもできる。例えば、あるビットライン電圧は、状態EからAの結合を補償するために適切である場合があり、一方、別のビットライン電圧が状態AからB、及びBからCの結合を補償するために適切である場合がある。さらに多くのビットライン電圧レベルを提供することによって、なんらかのオーバヘッドコストはあるが、異なるBLとBLの間の効果をより正確に補償できる可能性がある。メモリ素子においてメモリリソース及びプロセッサリソースを適切に使用することが、所望される技法を実行するために使用できる。
例えば、C状態記憶素子によって引き起こされる結合を補償するために、波形691は、VCGR−A、VCGR−B、及びVCGR−Cがそれぞれ選択されたワードラインに印加されるときに使用するためのVBL−C3、VBL−C2及びVBL−C1のレベルを有する。B状態記憶素子によって引き起こされる結合を補償するために、波形693は、VCGR−A、VCGR−B、及びVCGR−Cがそれぞれ印加されるときに使用するためのVBL−B3、VBL−B2及びVBL−B1のレベルを有する。A状態記憶素子によって引き起こされる結合を補償するために、波形695は、VCGR−A、VCGR−B、及びVCGR−Cがそれぞれ印加されるときに使用するためのVBL−A3、VBL−A2及びVBL−A1のレベルを有する。E状態記憶素子によって引き起こされる結合を補償するために、波形697は、例えば、VBL0と同じであるVBL−Eのレベルを有することができる。ここで、9つの異なるビットライン電圧がある。
図8aは、読み出し動作中に選択されたワードラインに印加される制御ゲート読み出し電圧を示す。図8bは、読み出し動作中に隣接ワードラインに印加される読み出しパス電圧を示す。ワードライン隣接記憶素子の補償は、単独で、またはビットライン隣接記憶素子の補償と組み合わせて提供される。ワードラインとワードラインの間の干渉または結合は、ワードライン隣接記憶素子によって引き起こされることがある。例えば、図4aでは、記憶素子622は、隣接するワードラインWLn+1上で記憶素子625にワードライン隣接している。一般に、WLn上の記憶素子についていったんプログラミングが完了すると、それらの記憶素子は、WLn+1上の記憶素子がその後にプログラミングされるときに結合効果を受ける。
記憶素子622は読み出し中の記憶素子625と同じビットライン上にあるので、VBLは記憶素子625の正しい読み出しを提供するための特定のレベルにある必要があり、したがって記憶素子622による結合を補償するために調整することはできない。代わりに、WLn+1に印加される読み出しパス電圧は、そのような補償をするために調整できる。一般に、読み出し動作中においては、固定された読み出しパス電圧が未選択ワードラインに印加され、未選択記憶素子が導電状態とされる。未選択記憶素子は、通常は、未選択記憶素子のチャネルをオンにする(導電性になる)レベルで駆動される。ここで、WLn+1は、WLn上の選択記憶素子のフローティングゲートに結合して所望の結合補償を提供する特別なマルチレベル読み出しパス電圧を受ける。より高い読み出しパス電圧をWLn+1に印加することによって、より多くの結合が得られる。WLn+1上のより高い読み出しパス電圧は選択された記憶素子のVTHを引き下げ、したがって補償が提供される。
WLn+1上の読み出しパス電圧がワードライン上の全ての記憶素子に印加されるので、及び、読み出し中のWLn上の記憶素子は通常は異なるデータ状態にプログラミングされているので、1つの手法では、WLn上のデータ状態とWLn+1上の読み出しパス電圧の考えられる全ての組み合わせに対処する。具体的には、図8aに示されるように、WLnに印加される2−1個の制御ゲート読み出し電圧、及び、図8bに示されるように、制御ゲート読み出し電圧ごとにWLn+1に印加される2個の読み出しパス電圧がある。したがって、t0とt1の間では、VCGR−AがWLnに印加される一方で、VREAD、VREAD−A、VREAD−B及びVREAD−Cと呼ばれる電圧を含む読み出しパス電圧のシーケンスが、時間間隔t0〜t0A、t0A〜t0B、t0B〜t0C、及びt0C〜t1のそれぞれでWLn+1に印加される。読み出しパス電圧のシーケンスは、VCGR−BがWLnに印加されるときにはt1とt2の間で、VCGR−CがWLnに印加されるときにはt2とt3の間で繰り返される。さらに、WLn上の制御ゲート読み出し電圧ごとに、WLn+1の記憶素子の既知の状態に対応する読み出しパス電圧の1つと関連付けられる結果を観察するだけでよい。
したがって、粗読み出しに基づいて選択された記憶素子及びワードライン隣接記憶素子のデータ状態を確認することができ、その後の微細読み出しにおいてワードライン隣接記憶素子の状態に対応する読み出しパス電圧が、例えば適切なデータを記憶することによって識別される。この識別は、選択された記憶素子をいつ検知しなければならないのかを示す。図13に関連してさらに以下に説明されるように、検知は、ビットラインをプリチャージし、次に、センス増幅器内のコンデンサがビットラインに接続されるときに放電する速度を観察することを含んでよい。他の検知技法は、基準電流に、ビットライン上の電流を比較することを含む。いずれにせよ、所定のビットラインの検知は、制御ゲート読み出し電圧のそれぞれにおいて、WLn+1上の識別された読み出しパス電圧に対応する指定された時間に実行できる。
例えば、粗読み出しがWLn+1の記憶素子が状態Cにあることを示す場合には、例えば、VCGR−A、VCGR−B及びVCGR−Aのそれぞれが時間間隔t0C〜t1、t1C〜t2、及びt2C〜t3のそれぞれにおいてWLnに印加されると、WLn+1でVREAD−PASS−Cと関連付けられた読み出し結果が得られる。WLn上の記憶素子の読み出し結果は、例えば、時間間隔t0〜t0C、t1〜t1C、及びt2〜t2CのそれぞれでVREAD−PASS、VREAD−PASS−A及びVREAD−PASS−BがWLn+1に印加されているときに取得される必要はない。具体的には、例えば、VREAD−PASS−CがWLn+1に印加されているときだけを考慮すると、時間間隔t0C〜t1においてVCGR−AがWLnに印加された状態では選択された記憶素子が導電状態にあることが検出された場合には、選択記憶素子が状態Eにあることが分かり、選択記憶素子の読み出しが完了する。時間間隔t1C〜t2において、VCGR−AがWLnに印加された状態では選択された記憶素子が非導電状態にあるが、VCGR−BがWLnに印加された状態では選択された記憶素子が導電状態にあることが検出された場合には、選択記憶素子が状態Aにあることが分かり、選択記憶素子の読み出しが完了する。時間間隔t2C〜t3において、VCGR−AまたはVCGR−BがWLnに印加された状態では選択された記憶素子が非導電状態にあるが、VCGR−CがWLnに印加された状態では選択された記憶素子が導電状態にあることが検出された場合には、選択記憶素子が状態Bにあることが分かり、選択記憶素子の読み出しが完了する。VCGR−A、VCGR−BまたはVCGR−CがWLnに印加された状態では選択された記憶素子が非導電状態にあることが検出された場合には、選択記憶素子がC状態にあることが分かり、選択記憶素子の読み出しが完了する。前記のケースのそれぞれで、適切な結合補償が、WLn+1に印加されたパス電圧により状態CにあるWLn+1上のワードライン隣接記憶素子に対して提供される。
したがって、図8bの波形の適切な部分は、粗読み出しによって得られたWLn+1のワードライン隣接記憶素子の特定された状態に基づいて使用される。このようにして、ワードライン隣接記憶素子からの結合が補償され得る。さらに、この補償は、同じワードライン上の記憶素子及び(対角の)隣接ワードライン上の記憶素子を含むビットライン隣接記憶素子の補償と組み合わされて提供され得る。
ワードライン隣接記憶素子からの結合を補償することは、さらに、参照することにより本明細書に組み込まれる、米国第2008/0158973号「Complete Word Line Look Ahead With Efficient Data Latch Assignment In Non−Volatile Memory Read Operations」に説明されている。
図9aは、対角のビットライン隣接記憶素子の補償を含む読み出し動作を示す。(図4aで記憶素子625に対して対角にビットライン隣接している記憶素子621及び623等の)対角のビットライン隣接記憶素子の結合補償を実行できる。この手法では、読み出し動作はステップ900で開始される。ステップ901で、記憶素子に対して、結合補償がない粗読み出しが実行され、結果が記憶される。ステップ902では、偶数番号のビットラインに対するWLnの記憶素子に対して結合補償有りの微細読み出しが実行され、結果が記憶される。補償は、WLn+1の奇数ビットライン上の対角記憶素子の事前に特定された状態に基づいて、奇数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。結果が記憶される。ステップ903では、奇数番号のビットラインに対するWLnの記憶素子に対して、結合補償付きの微細読み出しが実行され、結果が記憶される。補償は、WLn+1の偶数ビットライン上の対角の記憶素子の事前に特定された状態に基づいて偶数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。読み出し動作は、ステップ904で終了する。
図9bは、ワードライン隣接記憶素子の補償を含む読み出し動作を示す。(図4aの記憶素子625に対してワードライン隣接している記憶素子622等の)ワードライン隣接記憶素子による結合補償が実行され得る。この手法では、読み出し動作はステップ910で開始される。ステップ911では、全てのビットラインに対して隣接ワードラインWLn+1の記憶素子に結合補償がない粗読み出しが実行され、結果が記憶される。偶数−奇数読み出しの場合には、ステップ912では、偶数番号のビットラインに対してWLnの記憶素子に結合補償有りの微細読み出しが実行され、結果が記憶される。図8a及び図8bに関連して前述されたように、WLn+1の隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がいつWLn+1に印加されるのかを検知するステップを含んでいてもよい。結果が記憶される。ステップ913では、奇数番号のビットラインに対してWLnの記憶素子に結合補償有りの読み出しが実行され、結果が記憶される。補償は、ステップ912で提供される。読み出し動作は、ステップ915で終了する。
全ビットライン(ABL)読み出しの場合、ステップ914は、全てのビットラインに対してWLnの記憶素子に結合補償有りの微細読み出しを実行するステップを含み、結果が記憶される。補償は、WLn+1の隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がいつWLn+1に印加されるのかを検知するステップを含んでいてもよい。
図10aは、対角のビットライン隣接記憶素子、及び、ワードライン隣接記憶素子の補償を含む読み出し動作を示す。この手法では、読み出し動作はステップ1000で開始される。ステップ1001では、全てのビットラインに対して隣接ワードラインWLn+1の記憶素子に結合補償のない粗読み出しが実行され、結果が記憶される。ステップ1002では、偶数番号のビットラインに対してWLnの記憶素子に結合補償有りの読み出しが実行され、結果が記憶される。補償は、(a)図8a及び図8bに関連して前述されたように、WLn+1の隣接記憶素子の事前に特定された状態に対応する、適切な読み出しパス電圧がWLn+1にいつ印加されるのかの検知を実行することと、(b)奇数ビットライン上のWLn+1記憶素子の事前に特定された状態に基づいて、奇数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。結果が記憶される。ステップ1003は、奇数番号のビットラインについて、WLnの記憶素子に対して、結合補償付きの読み出しを実行することを含み、結果が記憶される。補償は、(a)WLn+1隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がいつWLn+1に印加されるのかを検知するステップと、(b)偶数ビットライン上のWLn+1記憶素子の事前に特定された状態に基づいて、偶数ビットラインに適切なビットライン電圧を印加するステップを含んでいてもよい。結果が記憶される。読み出し動作は、ステップ1004で終了する。
WLn+1ワードライン隣接記憶素子とWLn+1対角ビットライン隣接記憶素子の両方に対して補償を行うときには、対角ビットライン隣接記憶素子に使用されるビットライン電圧は、ワードライン電圧に合わせて調整できる。例えば、読み出しパス電圧がより高いときには、ビットライン電圧をより低くして、結合補償が過剰とならないようにしてもよい。実験及びコンピュータシミュレーションが、所定の読み出しパス電圧と組み合わせて所望される結合補償を生じさせる適切なビットラインレベルを決定するために実行され得る。ルックアップテーブルまたは類似するデータ構造は、異なる読み出しパス電圧に合わせて印加される最適ビットライン電圧を提供するメモリ素子のコントローラによって維持され得る。
図10bは、同じワードライン、ビットライン隣接記憶素子及びワードライン隣接記憶素子の補償を含む読み出し動作を示す。この手法では、読み出し動作はステップ1010で開始される。ステップ1011では、WLnの記憶素子に対して、及び、別個に全てのビットラインに対して、隣接ワードラインWLn+1で結合補償なしの粗読み出しが実行され、結果が記憶される。偶数−奇数読み出しの場合には、ステップ1012で、偶数番号のビットラインに対するWLnの記憶素子に結合補償有りの読み出しが実行され、結果が記憶される。補償は、(a)図8a及び図8bに関連して上述されたように、WLn+1隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がいつWLn+1に印加されるのかを検知するステップと、(b)奇数ビットライン上のWLn記憶素子の事前に特定された状態に基づいて奇数ビットラインに適切なビットライン電圧を印加するステップとを含んでいてもよい。結果が記憶される。ステップ1013で、奇数番号のビットラインに対するWLnの記憶素子に結合補償有りの読み出しが実行され、結果が記憶される。補償は、(a)WLn+1隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がいつWLn+1に印加されるのかを検知するステップと、(b)偶数ビットライン上のWLn記憶素子の事前に特定された状態に基づいて偶数ビットラインに適切なビットライン電圧を印加するステップとを含んでいてもよい。読み出し動作は、ステップ1015で終了する。
全ビットライン(ABL)読み取りの場合には、ステップ1014では、全ビットラインに対するWLnの記憶素子に結合補償有りの読み出しが実行され、結果が記憶される。補償は、(a)WLn+1隣接記憶素子の事前に特定された状態に対応する適切な読み出しパス電圧がWLn+1にいつ印加されるのかを検知するステップと、(b)ビットライン上のWLn記憶素子の事前に特定された状態に基づいてビットラインに適切なビットライン電圧を印加するステップとを含んでいてもよい。
図11は、図1a及び図1bに図示されるようなNAND記憶素子のアレイ1100の例を示す。各列に沿って、ビットライン1106が、NANDストリング1150のドレイン選択ゲートのドレイン端子1126に接続されている。NANDストリングの各行に沿って、ソースライン1104が、NANDストリングのソース選択ゲートの全てのソース端子1128に接続されている。
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュEEPROMシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページは、プログラミングの最小単位である。1ページまたは複数ページのデータは、通常、記憶素子の1行に記憶される。例えば、1行は、通常、いくつかのインタリーブされたページを含む、あるいは、1行は1ページを構成してよい。ページの全ての記憶素子は、一度に読み出され、または、プログラミングされる。さらに、ページは、1つまたは複数のセクタからユーザデータを記憶できる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理概念である。つまり、セクタは、通常、コントローラに限定されるオーバヘッドデータは含まない。オーバヘッドデータは、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含むことができる。(後述される)コントローラの一部は、データがアレイにプログラミングされるときにECCを計算し、データがアレイから読み出されるときにそれをチェックする。また、ECC及び/又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページに記憶されてもよいし、もしくは、異なるブロックに記憶されてもよい。
ユーザデータのセクタは一般に512バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の16〜20バイトである。多数のページがブロックを構成し、それは8ページから、例えば最大32、64,128またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、NANDストリングの列はブロックを含む。
一実施形態では、メモリ記憶素子は、十分な期間に亘ってp−ウェルが消去電圧(例えば14〜22V)に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、c−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、ファウラーノルドハイムトンネルメカニズムによってフローティングゲートの電子が基板側に放出されるにつれて選択された記憶素子のデータが消去される。電子がフローティングゲートからp−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
図12は、単一の行/列復号部及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図である。図は、本発明の一実施形態に従って記憶素子のページを同時に読み出し、プログラミングするための読み出し/書き込み回路を有するメモリ素子1296を示す。メモリ装置1296は、1つ以上のメモリダイ1298を有する。メモリダイ1298は、2次元のアレイの記憶素子1100、制御回路1210、及び、読み出し/書き込み回路1265を有する。いくつかの実施形態では、記憶素子のアレイは3次元であり得る。メモリアレイ1100は行復号部1230を介してワードラインによって、及び、列復号部1260を介してビットラインによってアドレスできる。読み出し/書き込み回路1265は複数の検出ブロック1200を有しており、1ページの記憶素子を並列に読み出し又はプログラムすることができる。一般に、制御部1250は、1つ以上のメモリダイ1298のように同じメモリ装置1296(例えば、取り外し可能なストレージカード)内に含まれる。コマンド及びデータは、ライン1220を介してホストと制御部1250の間、及び、ライン1218を介して制御部と1つ以上のメモリダイ1298の間で送られる。
制御回路1210は、読み出し/書き込み回路1265と協調して、メモリアレイ1100上でメモリ動作を実行する。制御回路1210は、状態マシン1212、オンチップアドレスデコーダ1214、及び電力制御モジュール1216を含む。状態マシン1212は、メモリ動作のチップレベル制御を提供し、ECC復号エンジンを含んでよい。オンチップアドレスデコーダ1214は、ホストまたはメモリコントローラによって使用されるとともに、デコーダ1230と1260によって使用されるハードウェアアドレスの間にアドレスインタフェースを提供する。電力制御モジュール1216は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
いくつかの実装形態では、図12の構成要素のいくつかを結合することができる。多様な設計では、記憶素子アレイ1100以外の構成要素の1つまたは複数を(単独でまたは組み合わせて)1つの管理回路と見なすことができる。例えば、1つ以上の管理回路は、制御回路1210、状態マシン1212、復号部1214/1260、電力制御1216、検出ブロック1200、読み出し/書き込み回路1265、制御部1250等の内の1つ、または組み合わせを有してよい。
別の手法では、不揮発性メモリシステムは、多様な周辺回路によるメモリアレイ1100に対するアクセスが、アレイの反対側で対称的に実行される二重行/列デコーダ及び読み出し/書き込み回路を使用し、その結果各側のアクセスライン及び回路の密度が半分に削減される。したがって、2行デコーダ、2列デコーダ、底部からビットラインへ接続する読み出し/書き込み回路、及びアレイ1100の上部からビットラインに接続する読み出し/書き込み回路。
図13は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック1200は、検出モジュール1280と呼ばれるコア部と共通部1290とに分割される。一実施形態では、各ビットラインの別個の検出モジュール1280と、複数の検出モジュール1280の集合の1つの共通部1290があってもよい。一例では、検出ブロックは、1つの共通部1290と8つの検出モジュール1280を有することができる。グループ内の各検出モジュールは、データバス1272を介して関連する共通部と通信できる。さらなる詳細としては、米国特許出願公開第2006/0140007号、「Non−Volatile Memory & Method with Shared Processing for an Aggregate on Sense Amplifiers」、公開日2006年6月29日を参照する。その全体は参照することにより本明細書に組み込まれる。
検出モジュール1280は検出回路1270を有しており、検出回路1270は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール1280はさらにビットラインラッチ1282を有しており、ビットラインラッチ1282は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ1282内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態(例えば、1.5〜3V)とされる。
共通部1290は、プロセッサ1292、1セットのデータラッチ1294、及び1セットのデータラッチ1294とデータバス1220の間を接続するI/Oインタフェース1296を有する。プロセッサ1292は計算を実行する。例えば、その機能の1つは、検出された記憶素子内に記憶されているデータを判定し、判定したデータを1セットのデータラッチ内に記憶することである。1セットのデータラッチ1294は、読み出し動作中に、プロセッサ1292によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス1220から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムする予定の書き込みデータを表す。I/Oインタフェース1296は、データラッチ1294とデータバス1220の間のインタフェースを提供する。
読み出し又は検出中には、システムの動作は状態マシン1212の制御下にあり、状態マシン1212はアドレスされた記憶素子への異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール1280はこれらの電圧の1つに移動し、バス1272を介して検出モジュール1280からプロセッサ1292に出力が提供される。その時点で、プロセッサ1292は、検出モジュールの移動イベントと、状態マシンから入力ライン1293を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ1294に記憶する。コア部の別の実施形態では、ビットラインラッチ1282は、検出モジュール1280の出力をラッチするラッチ、及び、上記のようなビットラインラッチの両方として、2つの役割を果たす。
当然のことながら、いくつかの実装形態では複数のプロセッサ1292を有することができる。一実施形態では、各プロセッサ1292は出力ライン(図示せず)を有し、各出力ラインは共にワイヤードOR接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続する前に反転される。ワイヤードORを受け取る状態マシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の素早い決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理0がワイヤードORラインに送られる(又はデータ1を反転させる)。全てのビットがデータ0を出力する(又はデータ1を反転させる)と、状態マシンはプログラミング処理を終了することを認識する。各プロセッサが8つの検出モジュールと通信するので、状態マシンはワイヤードORラインを8回読み出す必要があるか、あるいは関連するビットラインの結果を蓄積するために論理がプロセッサ1292に追加され、状態マシンがワイヤードORラインを一度だけ読み出せばいいようにする。同様に、論理レベルを正しく選ぶことにより、グローバル状態マシンは、第1のビットがいつその状態を変更し、相応してアルゴリズムを変更するのかを検出できる。
プログラム又は検証中に、プログラムされるデータはデータバス1220から1セットのデータラッチ1294内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされる記憶素子の制御ゲートに印加される一連のプログラミング電圧パルスを有する。各プログラミングパルスに続いてリードバック(検証)が実行され、記憶素子が所望のメモリ状態にプログラムされたかどうかを判定する。プロセッサ1292は、所望のメモリ状態に対するリードバックメモリ状態を監視する。その2つが一致する場合、プロセッサ1292はビットラインラッチ1282を設定し、プログラム禁止を指定する状態にビットラインを設定する。これにより、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続した記憶素子がさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ1282をロードし、検出回路が検証処理中に禁止値にそれを設定する。
データラッチスタック1294は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール1280毎に3つのデータラッチが存在する。いくつかの実装形態では、(必須ではないが)データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス1220のシリアルデータに変換したり、その逆を行ったりする。好適実施形態では、m個の記憶素子の読み出し/書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを形成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、r個の読み出し/書き込みモジュールのバンクを調整し、そのセットのデータラッチが読み出し/書き込みブロックの全体のシフトレジスタの一部であっても、そのセットのデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
図14は、全ビットラインメモリアーキテクチャのために、又は、奇数−偶数メモリアーキテクチャのために、メモリアレイをブロックに編成する例を示す。メモリアレイ1100の例示的な構造が説明される。一例として、1,024個のブロックに分割されるNANDフラッシュEEPROMが説明されている。各ブロックに記憶されるデータは同時に消去できる。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックに、ビットラインBL0、BL1、...BL8511に対応する8,512の列が存在する。全ビットライン(ABL)アーキテクチャ(アーキテクチャ1410)と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラム動作中に同時に選択される。共通のワードラインに沿っており、任意のビットラインに接続される記憶素子は、同時にプログラミングされる。
示される例では、4個の記憶素子が直列に接続されていることによってNANDストリングが形成されている。4個の記憶素子は各NANDストリングに含まれると示されているが、4個より多い、又は、4個未満を使用することもできる(例えば、16、32,64、又は別の数)。NANDストリングの1つの端子は、(選択ゲートドレインラインSGDに接続される)ドレイン選択ゲートを介して対応するビットラインに接続され、別の端子が(ゲートソースラインSGSを選択するために接続される)ソース選択ゲートを介してc−ソースに接続される。
奇数−偶数アーキテクチャ(アーキテクチャ1400)と呼ばれる別の実施形態では、ビットラインは偶数ビットライン(BLe)と奇数ビットライン(BLo)に分割される。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿っており、奇数ビットラインに接続されている記憶素子はあるタイミングでプログラミングされ、共通ワードラインに沿っており、偶数ビットラインに接続されている記憶素子は別のタイミングでプログラミングされる。この例では、各ブロックに、偶数列と奇数列に分割される8,512の列がある。この例では、4個の記憶素子が直列で接続されていることによって、NANDストリングが形成されている。4個の記憶素子が各NANDストリングに含まれるとして示されているが、4個より多い又は少ない記憶素子を使用できる。
読み出し動作及びプログラミング動作の1つの構成の間に、4,256個の記憶素子が同時に選択される。選択された記憶素子は、同じワードラインと同じ種類のビットライン(例えば、偶数又は奇数)を有する。従って、1論理ページを形成する532バイトのデータを同時に読み出し、あるいは、プログラミングすることが可能であり、1ブロックのメモリが少なくとも8論理ページ(それぞれ奇数ページと偶数ページがある4ワードライン)を記憶できる。4個のマルチ状態記憶素子の場合、各記憶素子が2ビットのデータを記憶し、これらの2ビットのそれぞれが別のページに記憶されると、1ブロックは16の論理ページを記憶する。他のサイズのブロック及びページも使用できる。
ABLアーキテクチャ又は奇数−偶数アーキテクチャの何れかの場合は、p−ウェルを消去電圧(例えば20V)に上昇させ、選択されたブロックのワードラインを接地することによって、記憶素子を消去できる。ソースライン及びビットラインはフローティングされる。消去は、メモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行できる。電子は、記憶素子のフローティングゲートからp−ウェル領域に移され、記憶素子のVTHが負となる。
読み出し動作及び検証動作では、選択ゲート(SGDとSGS)が2.5〜4.5Vの範囲の電圧に接続され、未選択ワードライン(例えば、WL2が選択されたワードラインであるときにWL0、WL1、及び、WL3)は読み出しパス電圧VREAD(通常、4.5〜6Vの範囲の電圧)に上昇され、トランジスタを通過ゲートとして動作させる。選択されたワードラインWL2はある電圧に接続され、電圧のレベルは、関係する記憶素子のVTHがこのようなレベルを超えているのか、あるいは、下回っているのかを決定するために、読み出し動作及び検証動作ごとに指定される。例えば、2レベルの記憶素子のための読み出し動作では、選択されたワードラインWL2が接地されて、VTHが0Vより高いか否かが検出される。2レベル記憶素子の検証動作では、選択されたワードラインWL2が例えば0.8Vに接続されて、VTHが少なくとも0.8Vに到達したか否かが検証される。ソース及びp−ウェルは0Vにある。偶数ビットライン(BLe)であると仮定される選択されたビットラインは、例えば0.7Vのレベルに事前に充電される。VTHがワードライン上の読み出しレベル又は検証レベルより高い場合は、対象の記憶素子と関連するビットライン(BLe)の電位レベルは、非導電性記憶素子のために高いレベルに維持される。他方、VTHが読み出しレベル又は検証レベルより低い場合は、導電性記憶素子がビットラインを放電するために、対象のビットライン(BLe)の電位レベルは、例えば0.5V未満等の低いレベルに減少する。これによって、記憶素子の状態が、ビットラインに接続される電圧コンパレータセンス増幅器によって検出される。
前述される消去動作、読み出し動作、及び、検証動作は、従来既知の技法に従って実行される。従って、説明されている詳細の多くは、当業者によって変えられることがある。従来既知の他の消去技法、読み出し技法、及び検証技法も使用できる。
図15は、閾値電圧分布及びワンパスプログラミングの例のセットを示す。記憶素子アレイの例示のVTHの分布は、各記憶素子が2ビットのデータを記憶するケースに対して提供される。第1の閾値電圧分布Eは、消去された記憶素子に対して提供される。プログラミングされた記憶素子の3つの閾値電圧分布、A、B及びCも示されている。一実施形態では、E分布の閾値電圧は負であり、A分布、B分布及びC分布の閾値電圧は正である。
それぞれの独立した閾値電圧範囲は、データビットのセットの所定値に対応する。記憶素子にプログラミングされたデータと記憶素子の閾値電圧レベルの特殊な関係は、記憶素子のために採用されるデータ符号化方式に依存する。一実施形態では、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトすると、1ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲E(状態E)に「11」を、閾値電圧範囲A(状態A)に「10」を、閾値電圧範囲B(状態B)に「00」を、及び閾値電圧範囲C(状態C)に「01」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。4つの状態が示されているが、本発明は、4つの状態より多い又は少ない構造を含む他のマルチ状態構造に使用することもできる。
読み出し参照電圧VCGR−A、VCGR−B、及び、VCGR−Cは、記憶素子からデータを読み出すために提供される。既定の記憶素子の閾値電圧がVCGR−A、VCGR−B及びVCGR−Cを上回っているのか、あるいは下回っているのかをテストすることによって、システムは、記憶素子の状態、例えばプログラミング状態を判定することができる。
さらに、3つの検証基準電圧VV−A、VV−C、及び、VV−Cが提供される。記憶素子を状態Aにプログラミングするとき、システムは、それらの記憶素子がVV−A以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Bにプログラミングするとき、システムは、記憶素子がVV−B以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Cにプログラミングするとき、システムは、記憶素子がVV−C以上の閾値電圧を有するかどうかをテストする。
フルシーケンスプログラミングとして知られている一実施形態においては、記憶素子は、消去状態Eからプログラミングされた状態A、B又はCの何れかに直接的にプログラミングされる。例えば、まず、プログラミングされる記憶素子の集合中の全ての記憶素子が消去状態Eとなるように、当該集合が消去される場合がある。次に、図2d〜2fの制御ゲート電圧シーケンスで示されるような一連のプログラミングパルスが、記憶素子を状態A、B又はCに直接的にプログラミングするために使用される。いくつかの記憶素子は状態Eから状態Aにプログラムされ、他の記憶素子は状態Eから状態Bに、及び/又は、状態Eから状態Cにプログラミングされる。WLnで状態Eから状態Cへプログラミングするときには、WLnの下のフローティングゲートに対する電荷量の変化が状態Eから状態Aまたは状態Eから状態Bにプログラミングするときの電荷の変化と比較して最大となるので、WLn−1下の隣接フローティングゲートに対する寄生結合の量は最大値に到達する。状態Eから状態Bにプログラミングするときは、隣接フローティングゲートへの結合の量はより少ない。状態Eから状態Aにプログラミングするときは、結合の量はさらに削減される。
図16は、2つの異なるページ(下側ページと上側ページ)に対してデータを記憶するマルチ状態記憶素子をプログラムするツーパス技術の一例を示している。状態E(11)、状態A(10)、状態B(00)及び状態C(01)の4つの状態が示されている。状態Eの場合、両方のページが「1」を記憶する。状態Aの場合、下側ページが「0」を記憶し、上側ページが「1」を記憶する。状態Bの場合、両方のページが「0」を記憶する。状態Cの場合、下側ページが「1」を記憶し、上側ページが「0」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。
第1プログラミングパスでは、記憶素子の閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「1」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「0」であれば、矢印1600で示したように、記憶素子の閾値レベルは状態Aになるように増大される。これによって、第1プログラミングパスを終了する。
第2プログラミングパスでは、記憶素子の閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「1」を記憶する場合、記憶素子は下側ページビットのプログラミングに依存する状態E又はAの一方であり、どちらも上側ページビットは「1」を保持するのでプログラミングは生じない。上側ページビットが論理「0」となる場合、閾値電圧はシフトされる。第1パスによって記憶素子が消去状態Eに留まっていれば第2段階で記憶素子をプログラムし、矢印1620で示したように閾値電圧が状態C内になるように増大させる。第1プログラミングパスの結果として記憶素子が状態A内にプログラムされれば、記憶素子はさらに第2パスでプログラムされ、矢印1610で示したように閾値電圧が状態B内になるように増大させる。第2パスの結果は、下側ページ用のデータを変更することなく、上側ページの論理「0」を記憶するように指定した状態に記憶素子をプログラムすることである。図15および16の両方において、隣接するワードライン上でフローティングゲートへの結合量は最終状態に依存する。
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったときは、システムは上側ページをプログラミングする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインの記憶素子の全体(又は大部分)を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、参照することによって本明細書に組み込まれる米国特許第7,120,051号に開示されている。
図17a〜cは、前のページの隣接記憶素子に書き込んだ後で、特定のページに対してその特定の記憶素子を書き込むことによって、その特定の記憶素子に対するフローティングゲート間結合の影響を低減する不揮発性メモリをプログラムする別の方法を開示している。実装形態の一例では、不揮発性記憶素子は、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に留まる。データが0にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態B’にプログラムされる。これは、中下部、つまりLM状態と呼ばれることがある。従って、図17aは、状態Eから状態B’への記憶素子のプログラミングを示している。状態B’は暫定的状態Bであり、従って、検証点はV’V−Bとして示され、VV−Bより低い。
一実施形態では、状態Eから状態B’に記憶素子をプログラムした後、NANDストリング内の隣接記憶素子(WLn+1)をその下側ページに対してプログラムする。例えば、図1bを見直すと、記憶素子106用の下側ページをプログラムした後、記憶素子104の下側ページをプログラムする。記憶素子104をプログラムした後、記憶素子104が状態Eから状態B’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響は記憶素子106の見かけの閾値電圧を上昇させる。これは、図17bの閾値電圧分布1750に示したように状態B’の閾値電圧分布を拡大する効果を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。
図17cは、上側ページをプログラムする工程を示している。記憶素子が消去状態Eであって上側ページが1に留まる場合、記憶素子は状態Eに留まる。記憶素子が状態Eであり、その上側ページデータが0にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Aになる。記憶素子が中間の閾値電圧分布1750であって上側ページデータが1に留まる場合、記憶素子は最終状態Bにプログラムされる。記憶素子が中間の閾値電圧分布1750であって上側ページデータがデータ0になる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態Cになる。隣接記憶素子の上側ページプログラミングだけが所定の記憶素子の見かけの閾値電圧に影響を与えるので、図17a〜cで示した工程はフローティングゲート間結合効果を低減する。別の状態符号化の一例は、上側ページデータが1であるとき分布1750から状態Cに移動することであり、上側ページデータが0であるとき状態Bに移動することである。
図17aから図17cは、4つのデータ状態、及び2ページのデータに関しての例を提供するが、教示される概念は、4つの状態より多いまたは少なく、2ページよりも多いまたは少ない他の実装例に適用できる。
前記発明を実施するための形態は、図解及び説明のために提示された。それは、網羅的であること、または開示されている正確な形式に本発明を制限することを意図していない。上記の教示を鑑みて、多くの修正及び変形が考えられる。説明された実施形態は、本発明及びその実践的な用途の原則を最もよく説明し、それによって当業者が多様な実施例において、及び意図された特定の使用に適するような多様な修正をもって本発明を最もよく活用できるようにするために選ばれた。本発明の範囲は、本明細書に添付される特許請求項の範囲により定められることが意図される。

Claims (15)

  1. 不揮発性記憶素子を動作させる方法であって、
    選択された記憶素子(625)の少なくとも1つのビットライン隣接記憶素子(621、624、623、626)を読み出して、前記少なくとも1つのビットライン隣接記憶素子のデータ状態を特定するステップと、
    前記選択された記憶素子を読み出して、前記選択された記憶素子のデータ状態を特定するステップであって、異なる制御ゲート読み出し電圧(VCGR−A、VCGR−B、VCGR−C)を前記選択された記憶素子に一度に1つずつ印加するとともに、前記少なくとも1つのビットライン隣接記憶素子の特定されたデータ状態と前記制御ゲート読み出し電圧に基づいて前記少なくとも1つのビットライン隣接記憶素子の各ビットラインの電圧(VBL0−VBL3;VBL−E;VBL−A2,VBL−A3;VBL−B1,VBL−B2,VBL−B3;VBL−C1,VBL−C2,VBL−C3)を設定するステップ、
    を有しており、
    前記少なくとも1つのビットライン隣接記憶素子と前記選択された記憶素子が、各ビットライン(BLi−1、BL、BLi+1)と接続されている、
    ことを特徴とする方法。
  2. 制御ゲート読み出し電圧ごとに、前記少なくとも1つのビットライン隣接記憶素子の特定されたデータ状態(E、A、B、C)と前記制御ゲート読み出し電圧に関連付けられたデータ状態(A、B、C)との差に基づいて、前記少なくとも1つのビットライン隣接記憶素子の各ビットラインの電圧が設定される請求項1に記載の方法。
  3. 個のデータ状態があり、N≧2であり、各ビットラインの電圧が2個のレベル(VBL0−VBL3)のうちの1つに調整される請求項1または2に記載の方法。
  4. 個のデータ状態があり、N≧2であり、各ビットラインの電圧が2個より多いレベル(VBL−E;VBL−A2,VBL−A3;VBL−B1,VBL−B2,VBL−B3;VBL−C1,VBL−C2,VBL−C3)のうちの1つに調整される請求項1または2に記載の方法。
  5. 前記少なくとも1つのビットライン隣接記憶素子と前記選択された記憶素子が共通ワードライン(WLn)に配置されている請求項1から4の何れか一項に記載の方法。
  6. 前記選択された記憶素子が選択されたワードライン(WLn)に配置されており、前記少なくとも1つのビットライン隣接記憶素子が前記選択されたワードラインの隣接ワードライン(WLn+1)に対角に配置されている請求項1から4の何れか一項に記載の方法。
  7. 対応する異なる制御ゲート読み出し電圧が前記選択された記憶素子に印加されるときに、前記少なくとも1つのビットライン隣接記憶素子の各ビットラインに異なる電圧が設定される請求項1から6の何れか一項に記載の方法。
  8. 前記少なくとも1つのビットライン隣接記憶素子を読み出す前記ステップが、マルチステップ読み出し動作の第1のステップ(701;711;721)の一部として実施され、
    前記選択された記憶素子を読み出す前記ステップが、前記マルチステップ読み出し動作の第2のステップ(702;712,713;722)の一部として実施される、
    請求項1から7の何れか一項に記載の方法。
  9. 前記マルチステップ読み出し動作が、奇数番号のビットラインに接続された記憶素子が、偶数番号のビットライン(713)に接続された記憶素子とは別個に(712)読み出される奇数−偶数読み出し動作である請求項8に記載の方法。
  10. 不揮発性記憶システムであって、
    選択された記憶素子(625)と、前記選択された記憶素子の少なくとも1つのビットライン隣接記憶素子(621、624、623、626)を有する記憶素子(1100)のセットと、
    前記少なくとも1つのビットライン隣接記憶素子及び前記選択された記憶素子が接続されている各ビットライン(BLi−1、BL、BLi+1)と、
    記憶素子の前記セットと通信する少なくとも1つの制御回路(1210、1250)を有しており、
    前記少なくとも1つの制御回路が、
    前記少なくとも1つのビットライン隣接記憶素子を読み出して前記少なくとも1つのビットライン隣接記憶素子のデータ状態を特定するステップと、
    前記選択された記憶素子を読み出して、前記選択された記憶素子のデータ状態を特定するステップであって、前記選択された記憶素子を読み出すために、異なる制御ゲート読み出し電圧(VCGR−A、VCGR−B、VCGR−C)を前記選択された記憶素子に一度に1つずつ印加するとともに、前記少なくとも1つのビットライン隣接記憶素子の特定されたデータ状態及び前記制御ゲート読み出し電圧に基づいて前記少なくとも1つのビットライン隣接記憶素子の各ビットラインの電圧(VBL0−VBL3;VBL−E;VBL−A2,VBL−A3;VBL−B1,VBL−B2,VBL−B3;VBL−C1、VBL−C2、VBL−C3)を設定するステップ、
    を実行する不揮発性記憶システム。
  11. 制御ゲート読み出し電圧ごとに、前記少なくとも1つの制御回路が、前記少なくとも1つのビットライン隣接記憶素子の特定されたデータ状態(E、A、B、C)と前記制御ゲート読み出し電圧に関連付けられたデータ状態(A、B、C)との差に基づいて、前記少なくとも1つのビットライン隣接記憶素子の各ビットラインの電圧を設定する請求項10に記載の不揮発性記憶システム。
  12. 個のデータ状態があり、N≧2であり、各ビットラインの電圧が2個のレベル(VBL0−VBL3)のうちの1つに調整される請求項10または11に記載の不揮発性記憶システム。
  13. 前記少なくとも1つのビットライン隣接記憶素子と前記選択された記憶素子が共通ワードライン(WLn)に配置されている請求項10から12の何れか一項に記載の不揮発性記憶システム。
  14. 前記選択された記憶素子が選択されたワードライン(WLn)に配置されており、前記少なくとも1つのビットライン隣接記憶素子が前記選択されたワードラインの隣接ワードライン(WLn+1)に対角に配置されている請求項10から12の何れか一項に記載の不揮発性記憶システム。
  15. 少なくとも1つの制御回路が、対応する異なる制御ゲート読み出し電圧が前記選択された記憶素子に印加されるときに、前記少なくとも1つのビットライン隣接記憶素子の各ビットラインに異なる電圧を設定する請求項10から14の何れか一項に記載の不揮発性記憶システム。
JP2011522097A 2008-08-08 2009-07-17 不揮発性記憶装置の読み出し動作中における結合の補償 Active JP5250112B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/188,629 2008-08-08
US12/188,629 US7876611B2 (en) 2008-08-08 2008-08-08 Compensating for coupling during read operations in non-volatile storage
PCT/US2009/050974 WO2010017013A1 (en) 2008-08-08 2009-07-17 Compensating for coupling during read operations in non-volatile storage

Publications (2)

Publication Number Publication Date
JP2011530776A JP2011530776A (ja) 2011-12-22
JP5250112B2 true JP5250112B2 (ja) 2013-07-31

Family

ID=41136720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522097A Active JP5250112B2 (ja) 2008-08-08 2009-07-17 不揮発性記憶装置の読み出し動作中における結合の補償

Country Status (7)

Country Link
US (1) US7876611B2 (ja)
EP (1) EP2311040B1 (ja)
JP (1) JP5250112B2 (ja)
KR (1) KR101667007B1 (ja)
CN (1) CN102177554B (ja)
TW (1) TWI424436B (ja)
WO (1) WO2010017013A1 (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
KR101375955B1 (ko) 2006-05-12 2014-03-18 애플 인크. 메모리 디바이스 내의 왜곡 추정 및 상쇄
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US8369141B2 (en) * 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7796436B2 (en) * 2008-07-03 2010-09-14 Macronix International Co., Ltd. Reading method for MLC memory and reading circuit using the same
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US7898864B2 (en) * 2009-06-24 2011-03-01 Sandisk Corporation Read operation for memory with compensation for coupling based on write-erase cycles
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8482975B2 (en) * 2009-09-14 2013-07-09 Micron Technology, Inc. Memory kink checking
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP2011198436A (ja) * 2010-03-23 2011-10-06 Toshiba Corp 半導体記憶装置
US8463985B2 (en) * 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8208310B2 (en) * 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8395936B2 (en) 2011-05-09 2013-03-12 Sandisk Technologies Inc. Using channel-to-channel coupling to compensate floating gate-to-floating gate coupling in programming of non-volatile memory
US8547743B2 (en) 2011-06-28 2013-10-01 Seagate Technology Llc Read error recovery for solid-state memory based on cumulative background charges
US8634239B2 (en) 2011-12-28 2014-01-21 Sandisk Technologies Inc. Hybrid multi-level cell programming sequences
JP2013254537A (ja) 2012-06-06 2013-12-19 Toshiba Corp 半導体記憶装置及びコントローラ
JP6088751B2 (ja) * 2012-06-07 2017-03-01 株式会社東芝 半導体メモリ
US8811084B2 (en) 2012-08-30 2014-08-19 Micron Technology, Inc. Memory array with power-efficient read architecture
KR102125371B1 (ko) 2012-12-04 2020-06-22 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작방법
JP5814961B2 (ja) 2013-02-26 2015-11-17 株式会社東芝 不揮発性半導体記憶装置
US9208833B2 (en) 2013-04-23 2015-12-08 Micron Technology Sequential memory operation without deactivating access line signals
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
KR102127416B1 (ko) 2013-06-27 2020-06-26 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 읽기 방법
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9847135B2 (en) * 2015-01-30 2017-12-19 Toshiba Memory Corporation Memory device and method of reading data
US9721652B2 (en) 2015-11-17 2017-08-01 Sandisk Technologies Llc State dependent sensing for wordline interference correction
US9805809B1 (en) 2016-08-31 2017-10-31 Sandisk Technologies Llc State-dependent read compensation
US10217518B1 (en) * 2017-08-16 2019-02-26 Sandisk Technologies Llc Reducing hot electron injection type of read disturb in 3D memory device having connected source-end select gates
US10446244B1 (en) 2018-04-09 2019-10-15 Sandisk Technologies Llc Adjusting voltage on adjacent word line during verify of memory cells on selected word line in multi-pass programming
KR102442337B1 (ko) 2018-05-14 2022-09-13 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
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
US11393540B2 (en) * 2020-10-26 2022-07-19 Western Digital Technologies, Inc. Adjacent memory cell interference mitigation
US11670380B2 (en) 2020-12-07 2023-06-06 Sandisk Technologies Llc Two-sided adjacent memory cell interference mitigation
US11342033B1 (en) 2020-12-28 2022-05-24 Sandisk Technologies Llc Look neighbor ahead for data recovery
CN114220471A (zh) * 2021-01-06 2022-03-22 长江存储科技有限责任公司 3d存储器件及其读取方法
US11475961B1 (en) 2021-05-04 2022-10-18 Sandisk Technologies Llc Nonvolatile memory with efficient look-ahead read
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN114203236A (zh) * 2021-12-10 2022-03-18 北京得瑞领新科技有限公司 Nand闪存的数据读操作电压施加方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790453A (en) * 1996-10-24 1998-08-04 Micron Quantum Devices, Inc. Apparatus and method for reading state of multistate non-volatile memory cells
IT1295910B1 (it) * 1997-10-31 1999-05-28 Sgs Thomson Microelectronics Circuito di lettura per memorie non volatili
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
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
US6456557B1 (en) * 2001-08-28 2002-09-24 Tower Semiconductor Ltd Voltage regulator for memory device
US6870770B2 (en) * 2001-12-12 2005-03-22 Micron Technology, Inc. Method and architecture to calibrate read operations in synchronous flash memory
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6956770B2 (en) * 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
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
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7193898B2 (en) * 2005-06-20 2007-03-20 Sandisk Corporation Compensation currents in non-volatile memory read operations
KR100795634B1 (ko) * 2005-11-11 2008-01-17 가부시끼가이샤 도시바 불휘발성 반도체 기억 장치, 그 데이터 판독 방법 및메모리 카드
US7349260B2 (en) * 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법

Also Published As

Publication number Publication date
US7876611B2 (en) 2011-01-25
WO2010017013A1 (en) 2010-02-11
CN102177554A (zh) 2011-09-07
KR101667007B1 (ko) 2016-10-17
EP2311040B1 (en) 2015-01-28
JP2011530776A (ja) 2011-12-22
TWI424436B (zh) 2014-01-21
US20100034022A1 (en) 2010-02-11
CN102177554B (zh) 2014-07-02
TW201011757A (en) 2010-03-16
KR20110056285A (ko) 2011-05-26
EP2311040A1 (en) 2011-04-20

Similar Documents

Publication Publication Date Title
JP5250112B2 (ja) 不揮発性記憶装置の読み出し動作中における結合の補償
JP5426666B2 (ja) 不揮発性記憶装置のチャネルブーストを増加させるためのビットラインプレチャージを強化する方式
JP4954223B2 (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
JP5396481B2 (ja) ワードライン結合を用いたメモリのマルチパスプログラミング
JP5444355B2 (ja) 不揮発性メモリにおける検出中のデータ状態ベースの温度補償
JP5444468B2 (ja) パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム
JP5444340B2 (ja) 不揮発性メモリにおける読み出しディスターブの低減
JP5367697B2 (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減
KR20120039539A (ko) 고유 임계 전압 분포 탐지에 의한 메모리의 프로그램 디스터브 예측
EP2748819A1 (en) Read compensation for partially programmed blocks of non-volatile storage
JP4995273B2 (ja) 異なる電圧を使用する不揮発性記憶装置のための検証動作
JP2009541910A (ja) 不揮発性メモリの読み出し動作改善における個別サイズマージンのプログラムおよび選択状態時の補償による検知
JP5134007B2 (ja) 早期ソース側ブーストを用いた不揮発性記憶装置におけるプログラム妨害の低減
JP4950299B2 (ja) 複数のブーストモードを使用した不揮発性メモリ内のプログラム妨害の低減

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120306

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130412

R150 Certificate of patent or registration of utility model

Ref document number: 5250112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

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