[go: up one dir, main page]

JP2012531693A - 自然閾値電圧分布を検出することによるメモリ内のプログラム外乱の予測 - Google Patents

自然閾値電圧分布を検出することによるメモリ内のプログラム外乱の予測 Download PDF

Info

Publication number
JP2012531693A
JP2012531693A JP2012517559A JP2012517559A JP2012531693A JP 2012531693 A JP2012531693 A JP 2012531693A JP 2012517559 A JP2012517559 A JP 2012517559A JP 2012517559 A JP2012517559 A JP 2012517559A JP 2012531693 A JP2012531693 A JP 2012531693A
Authority
JP
Japan
Prior art keywords
programming
data
storage element
state
storage elements
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.)
Withdrawn
Application number
JP2012517559A
Other languages
English (en)
Inventor
インダ ドン
シンシア スー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk 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 JP2012531693A publication Critical patent/JP2012531693A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Landscapes

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

Abstract

プログラム外乱に対する記憶素子のセットの感応性を特定し(1404)、必要な場合にはプログラム外乱が発生する可能性を低下させるための対応する予防策(1406、1408、1410、1412)を講じることによって、プログラミング動作中に不揮発性記憶システム内でプログラム外乱が抑制される。データの下側ページのプログラミング中に、特定の状態にプログラミングされる記憶素子を追跡調査し、N1個及びN2個(N2>N1)の不揮発性記憶素子がその特定の状態に達するために何個のプログラムパルスが必要とされるのかを求めることによって、記憶素子のセットの自然閾値電圧分布が特定される。プログラム外乱に対する感応性を決定するために、温度及びワードライン位置も使用できる。予防策(1415)は、より高いパス電圧を使用すること(1416)、もしくは、データの上側ページ(1418)又はブロック全体(1420)のプログラミングを中止することを含むことがある。プログラミングは、予防策なしで続行する場合もある(1414)。

Description

本技術は、不揮発性メモリに関する。
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ(EEPROM)と、フラッシュメモリは、最も普及している不揮発性半導体メモリの1つである。EEPROMの一種であるフラッシュメモリを用いると、従来のフル機能を備えたEEPROMとは対照的に、メモリアレイ全体のコンテンツ、又はメモリの一部のコンテンツを1つのステップで消去できる。
従来のEEPROMとフラッシュメモリの何れもが、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に配置されており、そのフローティングゲートから絶縁されている。このように形成されたトランジスタの閾値電圧(VTH)は、フローティングゲート上に保持される電荷量によって制御される。つまり、そのソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加しなければならない電圧の最小量は、そのフローティングゲート上の電荷レベルにより制御される。
いくつかのEEPROM及びフラッシュメモリ素子は2つの範囲の電荷を記憶するために使用されるフローティングゲートを有するため、メモリエレメントは2つの状態、たとえば消去状態とプログラム状態の間でプログラミング/消去できる。各メモリエレメントは1ビットのデータを記憶できるため、このようなフラッシュメモリ素子はバイナリフラッシュメモリ素子と呼ばれることもある。
マルチ状態(マルチレベルとも呼ばれる)フラッシュメモリ素子が、複数の別個の許可/有効プログラム閾値電圧範囲を識別することによって実現される。各閾値電圧範囲は、メモリ素子内で符号化されるデータビットのセットの所定値に相当する。例えば、各メモリエレメントは、そのエレメントを4つの別々の閾値電圧範囲に相当する4つの別々の電荷バンドの内の1つに置くことがで、2ビットのデータを記憶できる。
通常、プログラム動作中に制御ゲートに印加されるプログラム電圧VPGMは、経時的に大きさが大きくなる一連のパルスとして印加される。プログラム電圧は、選択されたワードラインに印加され得る。1つの考えられる手法では、パルスの大きさは、例えば0.2から0.4V等の所定のステップサイズでそれぞれの連続パルスで大きくなる。VPGMは、フラッシュメモリエレメントの制御ゲートに印加され得る。プログラミングパルス間の期間では、検証動作が実施される。すなわち、並行してプログラミングされているエレメントのグループの内の各エレメントのプログラミングレベルは、エレメントがプログラミングされている検証レベル以上であるか否かを判断するために、連続プログラミングパルスの間に読み出される。マルチ状態フラッシュメモリエレメントのアレイの場合、検証ステップは、エレメントがそのデータ関連検証レベルに達したのかどうかを判断するために、エレメントの状態ごとに実行され得る。例えば、4つの状態にデータを記憶できるマルチ状態メモリエレメントは、3つの比較点について検証動作を実行する必要がある場合がある。
さらに、EEPROM又はNANDストリング内のNANDフラッシュメモリ素子等のフラッシュメモリ素子をプログラミングするときには、通常、VPGMが制御ゲートに印加され、ビットラインが接地され、例えば記憶素子などのセル又はメモリエレメントのチャネルからの電子がフローティングゲートの中に注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電され、メモリエレメントの閾値電圧は上昇し、メモリエレメントがプログラミングされた状態にあると見なされる。
しかしながら、困難であり続ける1つの問題は、プログラム外乱である。プログラム外乱は、他の選択されたNANDストリングのプログラミング中に、禁止されている選択されていないNANDストリングで発生することがある。プログラム外乱は、未選択の不揮発性記憶素子の閾値電圧が、他の不揮発性記憶素子のプログラミングのためにシフトされると発生する。プログラム外乱は、まだプログラミングされていない消去された記憶素子だけではなく、以前にプログラミングされた記憶素子でも発生することがある。
プログラム外乱に対する感応性が検出され、対応する予防策が講じられる方法及び不揮発性記憶システムが提供される。
NANDストリングの平面図。
NANDストリングの等価回路図。
NANDストリングの断面図。
3つのNANDストリングを示す回路図。
NANDフラッシュ記憶素子のアレイのブロック図。
単一行/列デコーダ及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図。
検出ブロックの一実施形態を示すブロック図。
全ビットラインメモリアーキテクチャ用、又は奇数−偶数メモリアーキテクチャ用のブロックへのメモリアレイの編成の例を示す図。
閾値電圧分布及びワンパスプログラミングの例のセットを示す図。
閾値電圧分布及びツーパスプログラミングの例のセットを示す図。
種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。 種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。 種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。
図10aの分布をさらに詳細に示す図。 図10aの分布をさらに詳細に示す図。 図10aの分布をさらに詳細に示す図。
NANDストリングの断面であり、チャネルブーストを示す図。
パス電圧及び温度の関数としてチャネルブースト電位を示す図。
自然閾値電圧分布の関数としてプログラム外乱に対する感応性を示す図。
N2個の記憶素子を検証レベルにプログラミングするために必要とされるプログラムパルスの数PPN2と、N1個(N1<N2)の記憶素子を検証レベルにプログラミングするために必要とされるプログラムパルスの数PPN1(PPN1<PPN2)の間の差の関数として自然閾値電圧分布を示す図。
プログラム外乱に対する感応性を温度の関数として示す図。
プログラム外乱に対する感応性をワードライン位置の関数として示す図。
プログラム外乱に対する感応性の関数として設定できるパス電圧を示す図。
プログラミング動作でのプログラミングパルスを示す図。
不揮発性メモリをプログラミングするための方法の概要の一実施形態を説明するフローチャート。
不揮発性メモリをプログラミングするための詳細な方法の一実施形態を説明するフローチャート。
本発明の実施に適したメモリシステムの一例は、NANDフラッシュメモリ構造を用いる。そのNANDフラッシュメモリ構造は2つの選択ゲートの間に直列に接続された複数のトランジスタを有している。直列に配置されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1aは、1つのNANDストリングを示す平面図である。図1bはその等価回路である。図示されたNANDストリングは、直列に接続されており、第1の選択ゲート120と第2の選択ゲート122の間に挟まれている4つのトランジスタ100、102、104、及び106を有する。選択ゲート120は、NANDストリングをビットライン126に接続する。選択ゲート122は、NANDストリングをソースライン128に接続する。選択ゲート120は、制御ゲート120CGに適切な電圧が印加されることによって制御される。選択ゲート122は、制御ゲート122CGに適切な電圧が印加されることによって制御される。トランジスタ100、102、104及び106のそれぞれは制御ゲート及びフローティングゲートを有する。トランジスタ100は、制御ゲート100CG及びフローティングゲート100FGを有する。トランジスタ102は制御ゲート102CG及びフローティングゲート102FGを有する。トランジスタ104は、制御ゲート104CG及びフローティングゲート104FGを有する。トランジスタ106は、制御ゲート106CGおよびフローティングゲート106FGを有する。制御ゲート100CGは、ワードラインWL3に接続されており、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。一実施形態では、トランジスタ100、102、104及び106は、それぞれ、メモリセルである。他の実施形態では、メモリセルは、複数のトランジスタを有していることもある。あるいは、図示されているのとは異なることもある。選択ゲート120は、選択ラインSGDに接続されている。選択ゲート122は、選択ラインSGSに接続されている。
図2は、前述されたNANDストリングの断面図を示す。NANDストリングのトランジスタはp−ウェル領域140に形成されている。p−ウェル領域は、代わりにp−タイプ基板144のn−ウェル領域142内にあってよい。各トランジスタは、制御ゲート(100CG、102CG、104CG、及び106CG)とフローティングゲート(100FG、102FG、104FG、及び106FG)から構成される積層ゲート構造を有している。フローティングゲートは、p−ウェルの表面に、酸化膜又は他の誘電体膜の上に形成される。制御ゲートはフローティングゲートの上にあり、ポリシリコン間の誘電体層が制御ゲート及びフローティングゲートを分離している。メモリセル(100、102、104及び106)の制御ゲートは、ワードラインを構成している。N+ドープ層130、132、134、136、及び138が、隣接するセルの間で共有され、これによってセルが互いに直列に接続されており、NANDストリングを形成している。これらのN+ドープ層は、各セルのソース及びドレインを構成している。例えば、N+ドープ層130はトランジスタ122のドレイン及びトランジスタ106のソースとしての機能を果たし、N+ドープ層132はトランジスタ106のドレイン及びトランジスタ104のソースとしての機能を果たし、N+ドープ層134はトランジスタ104のドレイン及びトランジスタ102のソースとしての機能を果たし、N+ドープ層136はトランジスタ102のドレイン及びトランジスタ100のソースとしての機能を果たし、N+ドープ層138はトランジスタ100のドレイン及びトランジスタ120のソースとしての機能を果たす。N+ドープ層126は、NANDストリングのためのビットラインに接続する。一方、N+ドープ層128は複数のNANDストリングのための1つの共通ソースラインに接続する。
図1a、1bおよび図2はNANDストリング内の4個のメモリセルを示しているが、本明細書に説明される技術とともに使用されるNANDストリングは、4個未満のメモリセル又は4個以上のメモリセルを有することができることに留意されたい。たとえば、いくつかのNANDストリングは、8個、16個、32個又はそれ以上のメモリセルを含む。
各メモリセルは、アナログ形式又はデジタル形式で表されるデータを記憶できる。1ビットのデジタルデータを記憶するとき、メモリセルの閾値電圧の範囲は、論理データ「1」及び「0」が割り当てられる2つの範囲に分割される。NANDタイプのフラッシュメモリの一例では、電圧閾値は、メモリセルが消去された後に負となり、論理「1」として定義される。プログラム動作後に閾値電圧は正となり、論理「0」として定義される。閾値電圧が負であり、制御ゲートに0ボルトを印加することにより読み出しが試行されると、メモリセルがオンして論理1が記憶されていることが示される。閾値電圧が正であり、制御ゲートに0ボルトを印加することにより読み出し動作が試行されると、メモリセルはオンせず、論理ゼロが記憶されることが示される。
メモリセルは、複数の状態を記憶し、それによって複数ビットのデジタルデータを記憶することもできる。データの複数の状態を記憶するケースでは、閾値電圧ウィンドウは状態の数に分割される。例えば、4つの状態が使用される場合、データ値「11」、「10」、「01」、及び「00」に割り当てられる4つの閾値範囲がある。NANDタイプメモリの一例では、消去動作後の閾値電圧は負であり、「11」として定義される。正の閾値電圧は「10」、「01」、及び「00」の状態のために使用される。いくつかの実施形態では、フローティングゲートの閾値電圧が誤って隣の物理状態にシフトしても、1ビットだけが影響を受けるように、データ値(例えば、論理状態)は、グレーコード割り当てを使用して閾値範囲に割り当てられる。メモリセルにプログラムされたデータと、セルの閾値電圧範囲の間の特殊な関係は、メモリセルのために採用されるデータ符号化方式に依存する。
NANDフラッシュメモリに加えて、他のタイプの不揮発性メモリも、本技術と共に使用できる。
フラッシュEEPROMシステムで役立つ別のタイプのメモリセルは、不揮発的に電荷を蓄えるために、導電性のフローティングゲートの代わりに非導電性の誘電材料を用いる。酸化ケイ素、窒化ケイ素、及び酸化ケイ素(「ONO」)から形成される三層誘電体が、導電性の制御ゲートと、メモリセルチャネル上の半導体基板の表面の間に挟まれる。セルは、セルチャネルから窒化物に電子を注入することによってプログラミングされ、電子は限られた領域内に閉じ込められ、蓄えられる。次に、この蓄えられた電荷が、検出可能な態様で、セルのチャネルの一部の閾値電圧を変化させる。セルは、窒化物の中にホットホールを注入することによって消去される。ドープされたポリシリコンゲートがメモリセルチャネルの一部の上に延在していることで別個の選択トランジスタが形成されている分割ゲート構造の類似するセルが提供される。
別の手法では、ONO誘電体層がソース拡散とドレイン拡散の間のチャネルを横切って延在する各NROMセルに2ビットが記憶される。1データビットの電荷は、ドレインに隣接する誘電体層に局所化され、他のデータビットの電荷はソースに隣接する誘電体層に局所化される。マルチ状態データ記憶は、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実現される。
図3は、3つのNANDストリングを示す回路図である。NAND構造を使用するフラッシュメモリシステムの典型的なアーキテクチャは、数個のNANDストリングを含む。例えば、3つのNANDストリング320、340、及び360は、さらに多くのNANDストリングを有するメモリアレイ内に示される。NANDストリングのそれぞれが2個の選択ゲートと4個の記憶素子を含む。図面を簡素化するために4個の記憶素子が示されているが、最新のNANDストリングは、例えば、32個又は64個の記憶素子を有することもある。
例えば、NANDストリング320は、選択ゲート322及び327、並びに、記憶素子323から326を含み、NANDストリング340は選択ゲート342及び347、並びに、記憶素子343から346を含み、NANDストリング360は選択ゲート362及び367、並びに、記憶素子363から366を含む。各NANDストリングは、その選択ゲート(例えば、選択ゲート327、347、又は367)によってソースラインに接続される。選択ラインSGSは、ソース側選択ゲートを制御するために使用される。多様なNANDストリング320、340及び360は、各選択ゲート322、342、362内の選択トランジスタによって、各ビットライン321、341、及び361に接続される。これらの選択トランジスタは、ドレイン選択ラインSGDによって制御される。他の実施形態では、選択ラインは、必ずしもNANDストリングの間で共通である必要はない。つまり、異なる選択ラインを、異なるNANDストリングのために設けることもできる。ワードラインWL3は、記憶素子323、343、及び363の制御ゲートに接続される。ワードラインWL2は、記憶素子324、344、及び364の制御ゲートに接続される。ワードラインWL1は、記憶素子325、345、及び365の制御ゲートに接続される。ワードラインWL0は、記憶素子326、346、及び366の制御ゲートに接続される。図から分かるように、各ビットライン及びそれぞれのNANDストリングは、記憶素子のアレイ又はセットの列を含む。ワードライン(WL3、WL2、WL1、及びWL0)は、アレイ又はセットの行を含む。各ワードラインは、行内の各記憶素子の制御ゲートを接続する。又は、制御ゲートは、ワードライン自体によって提供されてもよい。例えば、ワードラインWL2は、記憶素子324、344、及び364のための制御ゲートを提供する。実際には、1本のワードライン上に数千の記憶素子がある場合がある。
各記憶素子はデータを記憶することができる。例えば、1ビットのデジタルデータを記憶するとき、記憶素子の閾値電圧(VTH)の範囲は、論理データ「1」および「0」を割り当てられる2つの範囲に分割される。NANDタイプのフラッシュメモリの一例では、VTHは、記憶素子が消去された後に負となり、論理「1」として定義される。プログラム動作後のVTHは、正となり、論理「0」として定義される。VTHが負であるときに読み出しが試行されると、記憶素子はオンして論理「1」が記憶されていることが示される。VTHが正であるときに読み出しが試行されると、記憶素子はオンせず、論理「0」が記憶されていることが示される。記憶素子は、例えば複数ビットのデジタルデータ等、複数のレベルの情報を記憶することもできる。この場合、VTHの値の範囲はデータのレベルの数に分けられる。例えば、4レベルの情報が記憶される場合、データ値「11」、「10」、「01」、及び「00」に割り当てられる4つのVTHの範囲がある。NANDタイプメモリの一例では、消去動作後のVTHは負となり、「11」と定義される。正のVTHは、「10」、「01」、及び「00」の状態のために使用される。記憶素子にプログラミングされるデータと、素子の閾値電圧範囲の間の特定の関係は、記憶素子のために採用されるデータ符号化方式に依存する。
フラッシュ記憶素子をプログラミングするとき、プログラム電圧は記憶素子の制御ゲートに印加され、記憶素子と関連付けられたビットラインが接地される。チャネルからの電子がフローティングゲートの中に注入される。電子がフローティングゲート内に蓄積すると、フローティングゲートは負に帯電し、記憶素子のVTHが上昇する。プログラミングされている記憶素子の制御ゲートにプログラム電圧を印加するために、プログラム電圧が適切なワードライン上で印加される。前述されたように、それぞれのNANDストリングの中の1個の記憶素子が同じワードラインを共有する。例えば、図3の記憶素子324をプログラミングするとき、プログラム電圧は、記憶素子344及び364の制御ゲートにも印加される。
ただし、プログラム外乱は、他のNANDストリングのプログラミング中に禁止されたNANDストリング、及び、ときにはプログラミングされたNANDストリング自体でも発生することがある。プログラム外乱は、未選択の不揮発性記憶素子の閾値電圧が、他の不揮発性記憶素子のプログラミングのためにシフトされるときに発生する。プログラム外乱は、まだプログラミングされていない消去された記憶素子だけではなく、以前にプログラミングされた記憶素子でも発生することがある。多様なプログラム外乱のメカニズムによって、NANDフラッシュメモリ等の不揮発性記憶素子のための使用可能な動作ウィンドウが制限されることがある。
例えば、NANDストリング320が禁止され(例えば、それが、現在プログラミングされている記憶素子を含まない未選択のNANDストリングであり)、NANDストリング340がプログラミングされている(例えば、それが、現在プログラミングされている記憶素子を含む選択されたNANDストリングである)場合、プログラム外乱は、NANDストリング320で発生することがある。例えば、パス電圧VPASSが低い場合、禁止されたNANDストリングのチャネルが十分にブーストされず、未選択のNANDストリングの選択されたワードラインが意図せずプログラミングされることがある。別の考えられる状況では、ブーストされた電圧が、ゲート誘導ドレインリーク(GIDL)又は他の漏れ機構によって引き下げられ、同じ問題を生じさせることがある。後にプログラミングされる他の隣接する記憶素子との容量結合のための電荷記憶素子のVTHのシフト等の他の影響も、プログラム外乱に寄与することがある。
図4は、図1aと1bに図示されるようなNAND記憶素子のアレイ400の例を示す。各列に沿って、ビットライン406が、NANDストリング450のドレイン選択ゲートのドレイン端子426に接続されている。NANDストリングの各行に沿って、ソースライン404が、NANDストリングのソース選択ゲートの全てのソース端子428に接続されている。
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュEEPROMシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページは、プログラミングの最小単位である。1ページまたは複数ページのデータは、通常、記憶素子の1行に記憶される。例えば、1行は、通常、いくつかのインタリーブされたページを含む、あるいは、1行は1ページを構成してよい。ページの全ての記憶素子は、一度に読み出され、または、プログラミングされる。さらに、ページは、1つまたは複数のセクタからユーザデータを記憶できる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理概念である。つまり、セクタは、通常、コントローラに限定されるオーバヘッドデータは含まない。オーバヘッドデータは、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含むことができる。(後述される)コントローラの一部は、データがアレイにプログラミングされるときにECCを計算し、データがアレイから読み出されるときにそれをチェックする。また、ECC及び/又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページに記憶されてもよいし、もしくは、異なるブロックに記憶されてもよい。
ユーザデータのセクタは一般に512バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の16〜20バイトである。多数のページがブロックを構成し、それは8ページから、例えば最大32、64、128またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、NANDストリングの列はブロックを含む。
一実施形態では、メモリ記憶素子は、十分な期間に亘ってp−ウェルが消去電圧(例えば14から22V)に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、c−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、フローティングゲートの電子が、通常はファウラー−ノードハイムトンネル現象によって基板側に放出されるにつれて選択された記憶素子のデータが消去される。電子がフローティングゲートからp−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
図5は、単一行/列デコーダ及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図である。同図は、本技術の一実施形態に従って記憶素子のページを同時に読み出し、プログラミングするための読み出し/書き込み回路を有するメモリ素子596を示す。メモリ素子596は、1つ以上のメモリダイ598を有する。メモリダイ598は、2次元のアレイの記憶素子400、制御回路510、及び、読み出し/書き込み回路565を有する。いくつかの実施形態では、記憶素子のアレイは三次元である場合がある。メモリアレイ400は行復号部530を介してワードラインによって、及び、列復号部560を介してビットラインによってアドレスできる。読み出し/書き込み回路565は複数の検出ブロック500を有しており、1ページの記憶素子を並列に読み出し又はプログラムすることができる。一般に、制御部550は、1つ以上のメモリダイ598のように同じメモリ素子596(例えば、取り外し可能なストレージカード)内に含まれる。コマンド及びデータは、ライン520を介してホストと制御部550の間、及び、ライン518を介して制御部と1つ以上のメモリダイ598の間で送られる。
制御回路510は、読み出し/書き込み回路565と協調して、メモリアレイ400上でメモリ動作を実行する。制御回路510は、状態マシン512、オンチップアドレスデコーダ514、温度検出回路515、及び電力制御モジュール516を含む。状態マシン512は、メモリ動作のチップレベル制御を提供する。オンチップアドレスデコーダ514は、ホストまたはメモリコントローラによって使用されるとともに、デコーダ530と560によって使用されるハードウェアアドレスの間にアドレスインタフェースを提供する。温度検出回路515は、さらに後述されるように、プログラミング動作で使用するための温度に基づいた信号またはデータを提供するために使用できる。電力制御モジュール516は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
いくつかの実装例では、図5の構成要素のいくつかを組み合わせることができる。多様な設計では、記憶素子アレイ400以外の(単独又は組み合わせた)1つまたは複数の構成要素を、管理回路つまり制御回路と見なすことができる。例えば、1つ又は複数の管理回路又は制御回路は、制御回路510、状態マシン512、デコーダ514/560、温度検出回路515、電力制御516、検出ブロック500、読み出し/書き込み回路565、制御部550等の内の任意の1つ又は組み合わせを含んでよい。
温度検出回路515に関して、NANDフラッシュメモリ素子等の現在の不揮発性記憶素子では、温度の変動が、データを読み出し、書き込む上で多様な問題を引き起こす。メモリ素子は、それが位置する環境に基づいて変化する温度にさらされる。例えば、いくつかの現在のメモリ素子は、−30℃から+85℃の間での使用のために定格されている。産業用の用途、軍事用途、及び消費者用途でも素子は大きな温度変動を経験することがある。
温度補償信号を提供するための多様な技法が知られている。これらの技法の1つ又は複数は、VOPTIMALに温度依存性を与えるために使用できる。この技法も可能ではあるが、これらの技法の大部分は実際の温度測定値を得ることに依存していない。例えば、本明細書に参照して組み込まれる、「Voltage Generation Circuitry Having Temperature Compensation」と題する米国特許第6,801,454号は、温度係数に基づいて、読み出し電圧を不揮発性メモリに出力する電圧生成回路を説明する。回路は、温度から独立した部分、及び、温度が上昇するにつれて増加する温度依存部分を含むバンドギャップ電流を使用する。本明細書に参照して組み込まれる、「Non−Volatile Memory With Temperatre−Compensated Data Read」と題する米国特許第6,560,152号は、データ記憶素子のソース又はドレインに印加される電圧を印加するバイアス発生器回路を使用する。任意の他の既知の技法だけではなく、これらの技法のどれかも、温度検出回路515によって使用できる。
別の実施形態では、不揮発性メモリシステムは、二重の行/列デコーダ及び読み出し/書き込み回路を使用する。メモリアレイ400に対する種々の周辺回路によるアクセスは、アレイの対向する側で対称的に実施され、これによって各側のアクセスライン及び回路の密度が半減される。したがって、行デコーダは2つの行デコーダに分割されており、列デコーダは2つの列デコーダに分割されている。同様に、読み出し/書き込み回路は底部からビットラインに接続する読み出し/書き込み回路と、アレイ400の上部からビットラインに接続する読み出し/書き込み回路に分割される。このようにして、読み出し/書き込みモジュールの密度は、基本的に2分の1、削減される。
図6は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック500は、検出モジュール580と呼ばれるコア部分、及び共通部分590に区切られる。一実施形態では、ビットラインごとに別個の検出モジュール580、及び、複数の検出モジュールのセットに1つの共通部分590がある。一例では、検出ブロックは、1つの共通部分590及び8つの検出モジュール580を含む。グループ内の検出モジュールのそれぞれが、データバス572を介して関連付けられた共通部分と通信する。
検出モジュール580は、接続されているビットラインの導通電流が所定の閾値レベルを超えているのか、それとも下回っているのかを判断する検出回路570を含む。検出モジュール580は、接続されたビットライン上で電圧状態を設定するために使用されるビットラインラッチ582も含む。例えば、ビットラインラッチ582で所定の状態にラッチされることにより、接続されたビットラインは、プログラム禁止(例えば、1.5から3V)を指定する状態にプルされることになる。
共通部分590は、プロセッサ592、データラッチ594のセット、及び、データラッチのセット594とデータバス520の間に結合されているI/Oインタフェース596を含む。プロセッサ592は、計算を実行する。例えば、その機能の1つは、検出された記憶素子に記憶されるデータを特定し、データラッチのセットにその決定されたデータを記憶することである。データラッチ594のセットは、読み出し動作の間にプロセッサ592によって決定されるデータビットを記憶するために使用される。それは、プログラム動作中にデータバス520からインポートされるデータビットを記憶するためにも使用される。インポートされたデータビットは、メモリの中にプログラミングされるべきことを意味する書き込みデータを表す。I/Oインタフェース596は、データラッチ594とデータバス520の間のインタフェースを提供する。
読み出し又は検出の間、システムの動作は、アドレス指定された記憶素子に対する異なる制御ゲート電圧の供給を制御する状態マシン512の制御下にある。メモリによってサポートされる多様なメモリ状態に対応する多様な所定の制御ゲート電圧をステップ単位で実行するにつれ、検出モジュール580がこれらの電圧の内の1つでトリップすることがあり、出力がバス572を介して検出モジュール580からプロセッサ592に提供される。その時点で、プロセッサ592は、入力回線593を介して、検出モジュールのトリップ事象及び状態マシンからの印加制御ゲート電圧についての情報を検討することによって、結果として生じるメモリ状態を決定する。次に、それは、メモリ状態を2進コード化し、結果として生じるデータビットをデータラッチ594の中に記憶する。コア部分の別の実施形態では、ビットラインラッチ582は、検出モジュール580の出力をラッチするためのラッチとして、また、上述されたビットラインラッチとして二重の役割を果たす。
いくつかの実装例は、複数のプロセッサ592を含むことがある。一実施形態では、出力ラインのそれぞれがともにワイヤードOR化されるように、各プロセッサ592が出力ライン(不図示)を含む。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続される前に反転される。ワイヤードORを受け取る状態マシンは、プログラミングされている全てのビットがいつ所望されるレベルに達したのかを判断できるため、この構成によって、いつプログラミングプロセスが完了したのかの、プログラム検証プロセスの間の迅速な判断が可能になる。例えば、各ビットがその所望されたレベルに達すると、そのビットの論理ゼロがワイヤードORラインに送られる(またはデータ1が反転される)。全てのビットがデータ0(又は反転されたデータ1)を出力すると、次に状態マシンはプログラミングプロセスを終了しなければならないことを知る。各プロセッサは8つの検出モジュールと通信するため、状態マシンはワイヤードORラインを8度読み出す必要がある。つまり、論理がプロセッサ592に追加され、状態マシンがワイヤードORラインを1度だけ読み出せばよいように、関連付けられたビットラインの結果を蓄積する。同様に、論理レベルを正しく選ぶことによって、グローバル状態マシンはいつ第1のビットがその状態を変更するのかを検出し、アルゴリズムを適切に変更する。
プログラミング又は検証の間に、プログラミングされるデータは、データバス520からデータラッチ594のセットに記憶される。状態マシンの制御下にあるプログラム動作は、アドレス指定された記憶素子の制御ゲートに印加される一連のプログラミング電圧パルスを含む。各プログラミングパルスの後ろには、記憶素子が所望されるメモリ状態にプログラミングされたかどうかを判断するために読み返し(検証)が続く。プロセッサ592は、所望されるメモリ状態に関して読み返しメモリ状態を監視する。この2つが一致するとき、ビットラインがプログラム禁止を指定する状態にプルされるように、プロセッサ592がビットラインラッチ582を設定する。これが、プログラミングパルスがその制御ゲートに出現したとしても、ビットラインに結合された記憶素子がさらにプログラミングされるのを禁止する。他の実施形態では、プロセッサはビットラインラッチ582を初期にロードし、検証プロセスの間に検出回路がそれを禁止値に設定する。
データラッチスタック594は、検出モジュールに対応するデータラッチのスタックを含む。一実施形態では、検出モジュール580ごとに3つのデータラッチがある。(必須ではないが)いくつかの実装例では、データラッチは、その中に記憶される並列データが、データバス520用のシリアルデータに変換され、逆の場合も同じとなるように、シフトレジスタとして実装される。好ましい実施形態では、データのブロックをシリアル転送によって入力又は出力できるように、m個の記憶素子の読み出し/書き込みブロックに対応する全てのデータラッチがともにリンクしてブロックシフトレジスタが形成され得る。特に、読み出し/書き込みモジュールのバンクは、データラッチのそのセットのそれぞれが、あたかもそれらが読み出し/書き込みブロック全体のためのシフトレジスタの一部であるかのように、データをデータバスの中に又はデータバスの中から次々とシフトするように適応される。
図7は、全ビットラインメモリアーキテクチャ用、又は、奇数−偶数メモリアーキテクチャ用のブロックへのメモリアレイの編成の例を示す。メモリアレイ400の例示的な構造が説明される。一例として、1024個のブロックに区切られるNANDフラッシュEEPROMが説明される。各ブロックに記憶されるデータは、同時に消去され得る。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックにビットラインBL0、BL1、...BL8511に対応する8,512の列がある。全ビットライン(ABL)アーキテクチャ(アーキテクチャ710)と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラミング動作の間に同時に選択され得る。共通ワードラインに沿った、任意のビットラインに接続された記憶素子は、同時にプログラミングされ得る。
提供されている例では、4個の記憶素子が直列で接続され、NANDストリングを形成する。4個の記憶素子が各NANDストリングに含まれるように示されているが、4個以上又は4個未満(例えば、16、32、64、又は別の数)を使用できる。NANDストリングの1つの端子はドレイン選択ゲートを介して対応するビットラインに接続され(ゲートドレインラインSGDを選択するために接続され)、別の端子はソース選択ゲートを介してc−ソースに接続される(ゲートソースラインSGSを選択するために接続される)。
奇数−偶数アーキテクチャ(アーキテクチャ700)と呼ばれる別の実施形態では、ビットラインは偶数ビットライン(BLe)及び奇数ビットライン(BLo)に分割される。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿った、奇数ビットラインに接続された記憶素子は、一度にプログラミングされる。一方、共通ビットラインに沿った、偶数ビットラインに接続された記憶素子は別のときにプログラミングされる。この例では、各ブロックに偶数列及び奇数列に分割される8,512の列があり、64個の記憶素子が1列内に直列で接続され、NANDストリングを形成するのが示されている。
読み出し動作及びプログラミング動作の1つの構成の間に、4,256個の記憶素子が同時に選択される。選択された記憶素子は、同じワードライン及び同種のビットライン(例えば、偶数又は奇数)を有する。したがって、論理ページを形成する532バイトのデータを同時に読み出す、又はプログラミングすることができ、メモリの1ブロックが少なくとも8論理ページ(奇数ページ及び偶数ページにそれぞれ4ワードライン)を記憶できる。マルチ状態の記憶素子の場合、各記憶素子が2ビットのデータを記憶し、これらの2個のビットのそれぞれが異なるページに記憶されるとき、1ブロックは16論理ページを記憶できる。また、他のサイズのブロック及びページも使用できる。
ABLアーキテクチャ又は奇数−偶数アーキテクチャどちらかの場合、記憶素子は、p−ウェルを消去電圧(例えば20V)に上昇させ、選択されたブロックのワードラインを接地することによって消去され得る。ソースライン及びビットラインはフローティングしている。消去はメモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行され得る。電子は、記憶素子のVTHが負になるように、記憶素子のフローティングゲートからp−ウェル領域に転送される。
読み出し動作及び検証動作では、選択ゲート(SGD及びSGS)が2.5から4.5Vの範囲の電圧に接続され、未選択のワードライン(例えば、WL2が選択されたワードラインであるとき、WL0、WL1、及びWL3)が読み出しパス電圧VREAD(通常、4.5から6Vの範囲の電圧)に上昇され、トランジスタをパスゲートとして動作させる。選択ワードラインWL2はある電圧に接続され、その電圧のレベルは、対象の記憶素子のVTHがそのレベルを上回っているのか、それとも下回っているのかを判断するために、各読み出し動作及び検証動作ごとに指定される。例えば、2レベルの記憶素子のための読み出し動作では、選択ワードラインWL2が接地され、VTHが0ボルトよりも高いかどうかが検出され得る。2レベルの記憶素子のための検証動作では、選択ワードラインWL2は、例えば0.8Vに接続され、その結果、VTHが少なくとも0.8Vを超えたかどうかが検証される。ソース及びp−ウェルは0Vである。偶数ビットライン(BLe)であると仮定される選択ビットラインは、例えば0.7Vというレベルにプリチャージされる。VTHがワードラインの読み出しレベル又は検証レベルよりも高い場合には、対象の記憶素子と関連付けられたビットライン(BLe)の電位レベルは、非導電性記憶素子のために高レベルに維持される。他方、VTHが読み出しレベル又は検証レベルよりも低い場合には、関係するビットライン(BLe)の電位レベルは、導電性記憶素子がビットラインを放電するため、例えば0.5V未満等の低レベルに減少する。したがって、記憶素子の状態が、ビットラインに接続されている電圧コンパレータ検出増幅器により検出され得る。
図8は、閾値電圧分布のセット及びワンパスプログラミングの例を示す。記憶素子アレイのための例示の閾値電圧分布は、各記憶素子が2ビットのデータを記憶する場合に提供される。第1の閾値電圧分布800は、消去された(状態E)記憶素子に提供される。3つの閾値電圧分布802、804、及び806は、それぞれプログラミングされた状態A、B及びCを表す。一実施形態では、E分布内の閾値電圧は負であり、A、B及びC分布内の閾値電圧は正である。分布803及び805は、状態A記憶素子(状態Aであるターゲット状態にプログラミングされることが意図される記憶素子)が、それぞれ、最終分布802に達する前に経験する過渡的な分布を表す。例えば、分布803は、特定数N1個又は一部の状態A記憶素子が状態Aに達したことを示す。同様に分布805は、N2個(N2>N1)又は一部の状態A記憶素子が状態Aに達したことを示す。
分布803及び805は、記憶素子のセットの自然閾値電圧分布を特定するために使用され得る。相対的に小さい自然閾値電圧分布は、記憶素子が相対的に類似したプログラミング速度を有することを示す。一方、相対的に大きい自然閾値分布の記憶素子は、相対的に広範囲のプログラミング速度を有することを示す。一手法では、状態Aに達しているN1個の状態A記憶素子を生じさせるプログラムパルスの数PPN1、及び、状態Aに達しているN2個(N2>N1)の状態A記憶素子を生じさせるプログラムパルスの数PPN2(PPN2>PPN1)が決定される。別の考えられる手法では、まだ状態Aに達していないN1個(又は何らかの他の数)又はより少ない数の状態A記憶素子を生じさせるプログラムパルスの数PPN2(PPN2>PPN1)の数が決定される。PPN2−PPN1は、記憶素子のセットの自然閾値電圧分布を表す。一手法では、最低のプログラミング状態(例えば、この例では状態A)にプログラミングされた記憶素子が、自然閾値電圧分布を特定するために追跡調査され得る。
一般に、データは、記憶素子あたり2個以上のビットを使用する2データ状態(例えば4つ以上の状態)に符号化され、ほぼ等しい数の記憶素子が各状態にプログラミングされる符号化手法が使用される。例えば、4つの状態、E、A、B、及び、Cでは、選択されたワードライン上の記憶素子の約4分の1が状態Eにプログラミングされ、記憶素子の別の4分の1が状態Aにプログラミングされ、記憶素子の別の4分の1が状態Bにプログラミングされ、記憶素子の別の4分の1が状態Cにプログラミングされる。このようにして、記憶素子の異なるサブセットが、状態あたり1サブセットずつ、異なる状態にプログラミングされる。
特定の状態(例えば、使用可能な4つ以上の状態の内の1つ等)が追跡調査状態として選択され得る。追跡調査は、特定の状態にプログラミングされることが意図される記憶素子の一部が、いつその特定のデータ状態に達した検証されるのかを決定する。例えば、状態Aが追跡調査状態であり、ワードライン上の1024個の記憶素子がプログラミングされており、256個が状態Eのまま残り、256個が状態Aにプログラミングされ、256個が状態Bにプログラミングされ、256個が状態Cにプログラミングされると仮定する。
1つの考えられる手法では、N1は、状態Aの記憶素子の5%等(例えば、256個の5%=13個の記憶素子等)の相対的に小さい数に設定され、N2は、状態Aの記憶素子の95%等(例えば、256個の5%=243個の記憶素子等)の相対的に高い数に設定される。これは、例えば状態Aに達する最初の状態Aの記憶素子及び最後の状態Aの記憶素子だけを追跡調査することによって得られる可能性がある一貫性のない結果を回避する。さらに、別のチェックポイント及び検証レベルを追加する代わりに、ある状態にすでに使用されている検証レベルに基づくチェックポイントを有する方が容易であることに留意されたい。ただし、データ状態に一致しないチェックポイントを使用することは可能である。さらに、技術は、概して、セル素子あたり2個、3個又は4個以上のビットを適用することができる。
それぞれの独立した閾値電圧範囲は、データビットのセットの所定値に対応する。記憶素子にプログラミングされたデータと記憶素子の閾値電圧レベルの特定の関係は、記憶素子のために採用されるデータ符号化方式に依存する。一実施形態では、フローティングゲートの閾値電圧が誤ってその隣の物理状態にシフトすると、1ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲E(状態E)に「11」を、閾値電圧範囲A(状態A)に「10」を、閾値電圧範囲B(状態B)に「00」を、及び閾値電圧範囲C(状態C)に「01」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。4つの状態が図示されているが、本技術は、4つの状態より多い又は少ない状態を含む他のマルチ状態構造に使用することもできる。
記憶素子からデータを読み出すための3つの読み出し基準電圧、Vra、Vrb、及びVrcが提供される。所与の記憶素子の閾値電圧がVra、Vrb、及びVrcを超えているのか、それとも下回っているのかをテストすることによって、システムは、例えば、プログラミング状態等の、記憶素子の状態を特定することができる。
さらに、3つの検証基準電圧Vva、Vvb、及びVvcが、記憶素子からデータを読み出すために提供される。記憶素子を状態Aにプログラミングするとき、システムは、それらの記憶素子がVva以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Bにプログラミングするとき、システムは、記憶素子がVvb以上の閾値電圧を有するかどうかをテストする。記憶素子を状態Cにプログラミングするとき、システムは、記憶素子がVvc以上の閾値電圧を有するかどうかをテストする。
フルシーケンスプログラミングとして知られている一実施形態においては、記憶素子は、消去状態Eからプログラム状態A、B又はCの何れかに直接的にプログラミングされる。例えば、まず、プログラミングされる記憶素子の集合中の全ての記憶素子が消去状態Eとなるように、当該集合が消去される場合がある。図13の制御ゲート電圧シーケンスによって示されるような一連のプログラミングパルスは、記憶素子を直接的に状態A、B、又はCにプログラミングするために使用される。いくつかの記憶素子は状態Eから状態Aにプログラムされ、他の記憶素子は状態Eから状態Bに、及び/又は、状態Eから状態Cにプログラミングされる。WLn上で状態Eから状態Cにプログラミングするときには、WLn下のフローティングゲート上の電荷の量の変化が、状態Eから状態Aに、又は、状態Eから状態Bにプログラミングするときの電荷の変化と比較して最大となるので、WLn―1下の隣接フローティングゲートに対する寄生結合の量は最大値に達する。状態Eから状態Bにプログラミングするときは、隣接フローティングゲートへの結合の量はより少ない。状態Eから状態Aにプログラミングするときは、結合の量はさらに削減される。
図9は、2つの異なるページ(下側ページと上側ページ)に対してデータを記憶するマルチ状態記憶素子をプログラムするツーパス技術の一例を示している。図8の閾値電圧分布800、802、804および806の繰り返しで4つの状態が示されている。これらの状態およびその示すビットは、状態E(11)、状態A(10)、状態B(00)及び状態C(01)である。状態Eの場合、両方のページが「1」を記憶する。状態Aの場合、下側ページが「0」を記憶し、上側ページが「1」を記憶する。状態Bの場合、両方のページが「0」を記憶する。状態Cの場合、下側ページが「1」を記憶し、上側ページが「0」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。
第1プログラミングパスでは、記憶素子の閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「1」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「0」であれば、矢印900で示したように、記憶素子の閾値レベルは状態Aになるように増大される。これによって、第1プログラミングパスを終了する。
第2プログラミングパスでは、記憶素子の閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「1」を記憶する場合、記憶素子は下側ページビットのプログラミングに依存する状態E又はAの一方であり、どちらも上側ページビットは「1」を保持するのでプログラミングは生じない。上側ページビットが論理「0」となる場合、閾値電圧はシフトされる。第1パスによって記憶素子が消去状態Eに留まっていれば第2段階で記憶素子をプログラムし、矢印920で示したように閾値電圧が状態C内になるように増大させる。第1プログラミングパスの結果として記憶素子が状態A内にプログラムされれば、記憶素子はさらに第2パスでプログラムされ、矢印910で示したように閾値電圧が状態B内になるように増大させる。第2パスの結果は、下側ページ用のデータを変更することなく、上側ページの論理「0」を記憶するように指定した状態に記憶素子をプログラムすることである。図8および9の両方において、隣接するワードライン上のフローティングゲートへの結合量は最終状態に依存する。
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったときは、システムは上側ページをプログラミングする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインの記憶素子の全体(又は大部分)を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。
説明されるように、自然閾値電圧分布を特定するために状態Aが追跡調査されると、分布803が、いつN1個の状態Aの記憶素子が状態Aに達したのかを表し、分布805が、いつN2個の状態Aの記憶素子が状態Aに達したのか、又は、その代わりに、いつN1個(又は他の何らかの数)又はより少ない状態Aの記憶素子が状態Aにまだ達していないのかを表す。
図10aから図10cは、前のページの隣接記憶素子に書き込んだ後で、特定のページに対してその特定の記憶素子を書き込むことによって、その特定の記憶素子に対するフローティングゲート間結合効果を低減する不揮発性メモリをプログラムする別の方法を開示している。実装形態の一例では、不揮発性記憶素子は、4つのデータ状態を用いて記憶素子毎に2ビットのデータを記憶する。例えば、状態Eが消去状態であり、状態A、B及びCがプログラム状態であると仮定する。状態Eはデータ11を記憶している。状態Aはデータ01を記憶している。状態Bはデータ10を記憶している。状態Cはデータ00を記憶している。両方のビットは隣接する状態A及びBの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各記憶素子は2ページ分のデータを記憶する。参照のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。状態Aを参照すると、上側ページはビット0を記憶し、下側ページはビット1を記憶している。状態Bを参照すると、上側ページはビット1を記憶し、下側ページはビット0を記憶している。状態Cを参照すると、両方のページがビットデータ0を記憶している。
プログラミング処理は、2つのステップの処理である。第1ステップでは、下側ページをプログラムする。下側ページがデータ1のままである場合、記憶素子状態は状態E(分布1000)に留まる。データが0にプログラムされる場合、記憶素子の電圧の閾値は、記憶素子が状態B’(分布1010)にプログラミングされるように引き上げられる。状態B’は、中間状態又はあいまいな状態である。従って、図10aは、状態Eから状態B’への記憶素子のプログラミングを示している。状態B’は暫定的状態Bであり、従って、検証点はVvb’として示され、Vvbより低い。通常、ワードライン上の記憶素子の約半分が状態Eのままとなり、半分が状態B’にプログラミングされる。
状態B’が自然閾値電圧分布を特定するために追跡調査されると、説明されるように、分布1011が、いつ(下側ページビット0を記憶する)N1個の状態B’の記憶素子が状態B’に到達したのかを表す。状態B’に達したN1個の状態B’の記憶素子は、分布1011(図10d)の領域1020によって表される。分布1013は、いつN2個の状態B’の記憶素子が状態B’に達したのかを表す。状態B’に達したN2個の状態B’の記憶素子は、分布1013(図10e)の領域1030によって表される。代わりに、まだ状態B’に達していないN1個又は他の何らかの数の状態B’の記憶素子が、分布1013の領域1040によって表される(図10f)。状態B’の記憶素子は、第1のプログラミングパスで状態B’にプログラミングされ、その後第2のプログラミングパスで状態B又は状態Cにプログラミングされることが意図される。状態B’は、少なくとも1ビットのデータを有するデータ状態を表さない中間又は暫定的な状態の一例である。
一実施形態では、状態Eから状態B’に記憶素子をプログラムした後、NANDストリング内の隣接記憶素子(WLn+1)をその下側ページに対してプログラムする。例えば、図2を見直すと、記憶素子106用の下側ページをプログラムした後、記憶素子104の下側ページをプログラムする。記憶素子104をプログラムした後、記憶素子104が状態Eから状態B’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響は記憶素子106の見かけの閾値電圧を上昇させる。これは、図10bの閾値電圧分布1012に示したように状態B’の閾値電圧分布を拡大する効果を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。また、状態Eは、分布1002によって示されるように、より少ない範囲に広げられてもよい。
図10cは、上側ページをプログラムする工程を示している。記憶素子が消去状態Eであって上側ページが1に留まる場合、記憶素子は状態E(分布1002)に留まる。記憶素子が状態Eであり、その上側ページデータが0にプログラムされる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態A(分布1004)になる。記憶素子が中間の閾値電圧分布1012であって上側ページデータが1に留まる場合、記憶素子は最終状態B(分布1006)にプログラムされる。記憶素子が中間の閾値電圧分布1012であって上側ページデータがデータ0になる場合、記憶素子の閾値電圧は上昇し、記憶素子は状態C(分布1008)になる。通常、ワードライン上の記憶素子の約4分の1が、状態B’から状態Bにプログラミングされ、ワードライン上の記憶素子の4分の1が状態B’から状態Cにプログラミングされる。
隣接記憶素子の上側ページプログラミングだけが所定の記憶素子の見かけの閾値電圧に影響を与えるので、図10aから図10cで示した工程はフローティングゲート間結合効果を低減する。別の状態符号化の一例は、上側ページデータが1であるとき分布1012から状態Cに移動することであり、上側ページデータが0であるとき状態Bに移動することである。
図10aから図10cは、4つのデータ状態、及び、2ページのデータに関しての例を提供するが、教示される概念は、4つの状態より多い又は少なく、2ページより多い又は少ない他の実装例に適用できる。例えば、記憶素子ごとに8つ又は16の状態のあるメモリ素子が、現在、計画されている、又は生産中である。
図11は、NANDストリングの断面図であり、チャネルブーストを示す。この断面図は、制御ゲート(CG)、つまり、複数の記憶素子を横切って伸びる選択ワードライン1100を示している。各記憶素子は、通常はp−ウェル内の基板の各チャネル領域1108、1110、1112上にある、例えばFG1102、1104、及び1106等のフローティングゲート(FG)を有する。各チャネル領域は、ページから生じるとして視覚化できるNANDストリングの一部である。
図3に関して前述されたように、未選択NANDストリング内にある記憶素子は、プログラミングを禁止し、それによってプログラム外乱を回避するために、プログラミング動作中にそれらのチャネルをブーストさせる。ブーストは、通常、プログラム電圧Vpgmが選択ワードラインに印加されている間に、通過電圧Vpassを未選択のワードラインに印加することによって達成される。より高いVpassは、プログラム外乱に対するより低い感応性に繋がる。ただし、Vpassは高すぎてはならず、さもなければ、Vpassが未選択のNANDストリングをプログラムする可能性がある。ブーストは、フローティングゲート全体の電圧を低下させることによって、フローティングゲートのプログラミングを禁止する。
図12aは、パス電圧及び温度の関数としてのチャネルブースト電位を示す。横軸は、未選択ワードラインに印加されるパス電圧(Vpass)を示し、縦軸は、禁止/ブーストされたチャネルのチャネルブースト電位(Vboost)を示す。チャネルブースト電位は、Vpassだけではなく隣接するチャネルの電位にも依存する。上述したように、一般に、より高いVpassはより高いVboostに繋がる。また、ブーストは強い温度依存性を有する。高温では、ブーストはより困難になり、チャンネル内の高い逆バイアス漏れ電流のためにチャネル電位がより低いレベルで飽和する。低温では、逆バイアス漏れ電流がはるかに低いため、状況は改善され、より高いVboostが達成できる。曲線1204、1206及び1208は、それぞれ、低温、室温、及び、高温のVboost対Vpassの関係を表す。例えば−30から+85℃の温度範囲が使用されてよい。したがって、Vboostは、所与のVpassの場合、高温であるほど低くなる。
図12bは、自然閾値電圧分布の関数としてのプログラム外乱に対する感応性を示す。NANDフラッシュメモリが縮小を続けるにつれ、プログラム外乱の制御がより難しくなる。プログラム外乱の1つの原因は、より厳しい短いチャネル効果に起因する、記憶素子の縮小とともに見られるより幅広い自然閾値電圧分布である。より幅広い自然閾値電圧分布は、高速記憶素子と低速記憶素子の間により大きなプログラム速度差があり、消去状態又は他のプログラム外乱フェイルの確率が増加することを示す。一般に、プログラム外乱が発生する確率又は見込み等のプログラム外乱に対する感応性は、図12bに示されるように自然閾値電圧分布に関連する。
図12cは、N2個の記憶素子を検証レベルにプログラミングするために必要とされるプログラムパルス数PPN2と、N1個(N1<N2)の記憶素子を検証レベルにプログラミングするために必要とされるプログラムパルス数PNN1(PPN1<PPN2)との間の差の関数としての自然閾値電圧分布を示す。上述したように、PPN2−PPN1のより大きい値で表されるプログラミング速度のより大きな変動は、より高い自然閾値電圧分布に関連する。
図12dは、温度の関数としてプログラム外乱の感応性を示す。温度の上昇に伴うチャネルブーストの低減を含む理由のため、より高い温度が、プログラム外乱に対するより高い感応性に繋がる。温度の範囲は、T1とT2の間の低範囲、T2とT3の間の中範囲、及びT3とT4の間の高範囲に分類されてよい。
図12eは、ワードライン位置の関数としてプログラム外乱の感応性を示す。プログラム外乱は、幅広い自然閾値電圧分布を有し、低いチャネルブースト電位を有するワードライン上でより大幅に発生する。いくつかの場合、特定のワードラインは、たとえブーストが類似していても、隣接するワードラインよりも多くのプログラム外乱フェイルを有することがある。これは、例えば、メモリ素子を製造するために使用されるリトグラフィープロセスに起因するより狭い制御ゲートを有するいくつかのワードラインに起因する場合がある。制御ゲート幅がより広くなると、自然閾値電圧分布幅はより幅広くなり、プログラム外乱に対する感応性はより高くなる。1つの手法は、ワードラインごとにプログラム外乱に対する感応性を測定することである。
さらに、ソース側よりも、ワードラインのセットのドレイン側に相対的に近いワードラインが、図12eに示されるチャネルブーストの低減に起因するプログラム外乱に対するより高い感応性を有することがある。すなわち、選択ワードラインが、中間ワードライン又はソース側ワードラインよりもドレイン側のワードラインであるときには、多くの場合、チャネルはより早期に飽和する。これは、例えば、プログラミングパルスの間に、選択されたソース側の少なくとも1本のワードラインに、0V等の分離電圧が印加されるいくつかのブースト方式にとって当てはまる。分離電圧は、チャネルのソース側をドレイン側から切断し、ドレイン側プログラミングの間に、チャネルキャパシタンスが小さくなって、ブーストが低くなる。
この例では、32本のワードラインがあると仮定して、プログラム外乱に対するより低いレベルの感応性が、WL0とWLx−1の間のワードラインに対して示され、プログラム外乱に対するより高いレベルの感応性が、WLxとWL31の間のワードラインに対して示される。WLxは、試験によって識別できる。別の考えられる手法は、WLxとWL31の間のプログラム外乱に対する感応性の漸次的な増加を示す。別の考えられる手法は、連続パターン又は十分に調節されたパターンに従わない可能性がある個々のワードラインごとに測定された感応性を提供する。
異なるワードラインに異なるプログラム外乱予測基準を使用し、プログラミング中のチャネルブーストが低いワードラインに対して基準をより厳しくすることができる。別のオプションは、WLxからWL31等、プログラム中に最も低いチャネルブーストを有し、プログラム外乱フェイルに最も影響を受けやすいワードライン上だけでプログラム外乱を予測することである。この場合、プログラム外乱を予測し、選択された数のドレイン側ワードラインに対して予防策を講じるが、ブロック内の他のワードラインに対しては講じない。
図12fは、プログラム外乱に対する感応性の関数として、設定され得るパス電圧を示す。Vpassは、図14及び図15に関連して後述されるように、特定されたプログラム外乱に対する感応性に比例して増加させることができる。
図13は、プログラミング動作でのプログラミングパルスを示す。一般に、プログラミング動作は、パルス列を選択されたワードラインに印加することを含み、パルス列は1個又は複数の検証パルスが後に続くプログラミングパルスを含む。プログラミングパルスは、任意の数の異なる波形を有することがあることに留意されたい。矩形波が示されているが、マルチレベル形状又は傾斜形状等の他の形状も採用され得る。パルス列1300は、時間t1からt15のそれぞれにおいてプログラミングのために選択されたワードラインに印加される、一連のプログラミングパルス1305、1310、1315、1320、1325、1330、1335、1340、1345、1350、1355、1360、1365、1370、1375、...を含む。一実施形態では、プログラミングパルスは、12Vで開始し、例えば20から25V等の最大値に達するまで、それぞれの連続プログラミングパルスごとに、例えば0.5Vの間隔で増加する電圧VPGMを有する。プログラミングパルスの間には、例えば検証動作で使用される3つの検証パルス等の検証パルスがある。いくつかの実施形態では、例えば、状態A、B、及びC等にデータがプログラミングされている状態ごとに検証パルスがある場合がある。他の実施形態では、より多くの又はより少ない検証パルスがある場合がある。各セットの検証パルスは、Vva、Vvb、及びVvc(図9)という振幅を有する場合がある。または、例えば、Vvb’という振幅のある1つの検証パルスが使用されてよい(図10a)。例では、検証パルス1306が、プログラミングパルス1305に続く。
図8、図9、及び図10aに関連して言及されたように、選択された状態にプログラミングされている記憶素子は、追跡調査状態と呼ばれるように、いつ記憶素子のいくつかの部分が最初に追跡状態に達するのかを判定するために追跡調査できる。さらに、対応するプログラムパルス数が特定され、記録され得る。例えば、N1個の追跡調査状態の記憶素子が追跡調査状態に達するためにPPN1(=8)個のパルスが必要とされ、N2個の追跡調査状態の記憶素子が追跡調査状態に達するためにPPN2(=14個)のパルス(6個の追加パルス)が必要とされる、もしくは代わりに、N1個(又は他の何らかの数)又はより少ないA状態の記憶素子がまだ追跡調査状態に到達しないために必要とされる。特定のワードライン上等の記憶素子のセットの自然閾値電圧分布は、例えばPPN2−PPN1によって特定することができる。代わりに、プログラムパルスの振幅を識別、記録して、自然閾値電圧分布を振幅の差から特定することができる。パルス数PPN1及びPPN2は、プログラミングパルスのシリーズ1300内の関連付けられたプログラミングパルスのそれぞれの順次的な位置を示す。
データの上側ページ及び下側ページをプログラミングするときには、パルス列1300が、最初に、下側ページをプログラミングするために、プログラミングパルスの第1のシリーズとして印加され、二度目に、上側ページをプログラミングするために、プログラミングパルスの第2のシリーズとして印加される。
図14は、不揮発性メモリをプログラミングするための方法の概要の一実施形態を説明するフロー図である。上述したように、ワードライン上の記憶素子のセットのプログラム外乱に対する感応性は、禁止されたチャネルでのブースト電位の関数である。各チャネルは、選択ワードライン上のそれぞれの記憶素子が位置するNANDストリングと関連付けられる。ただし、ブーストは制限されるので、プログラム外乱は依然として生じることがある。したがって、自然電圧分布及び他の要因を使用してプログラム外乱の可能性を予測し、プログラム外乱の可能性を低下させるために予防策を実施することが役に立つ場合がある。
プログラミング技法の一例では、ステップ1400で、第1のプログラミング段階が、選択されたワードラインと関連付けられた記憶素子等のような記憶素子のセットに対して実行される。第1のプログラミング段階は、データの下側ページをプログラミングすることを含んでよい。ステップ1402で、自然閾値電圧分布幅が検出される。この情報を、任意的に温度及びワードラインの位置とともに使用して、ステップ1404で、記憶素子のセットのプログラム外乱に対する感応性の程度を特定する。例えば、自然閾値電圧分布、温度、及び/又はワードライン位置に基づいて、記憶素子のセットに対して、スコア又は他の測定値が提供され得る。次に、スコアは、感応性の程度を分類するために、異なる閾値に対して比較される。プログラム外乱に対する感応性の程度に基づき、プログラム外乱が実際に発生する可能性を低下させるために、プログラム外乱が発生する前に、予防策を選択し、実施することができる。
感応性の測定値は、温度及びワードライン位置についての任意の調整と共に、PPN2−PPN1によって表される自然閾値電圧分布に基づくことができる。例えば、図13では、PPN2−PPN1=14−8=6、つまり6ポイントである。さらに、図12dを参照すると、温度が指定された高範囲内にある場合にはポイントスコアを例えば1ポイント増加し、温度が指定された低範囲内にある場合にはポイントスコアを1ポイント減少し、温度が指定された中範囲内にある場合にはポイントスコアを変更しない。図12eを参照すると、ワードラインがワードラインのセットのドレイン側(例えばWLx以上)に十分に近い場合にポイントスコアを例えば1ポイント増加し、ワードラインがワードラインのセットのドレイン側に十分に近くない場合にはポイントスコアを変更しない。
感応性測定値が、値の第1の範囲内、第2の範囲内、第3の範囲内、又は、第4の範囲内にあるときに、プログラム外乱に対する低い感応性、中程度の感応性、高い感応性、又は、非常に高い感応性がそれぞれ示される。感応性測定基準(SM)の例の内訳は以下の通りである。0≦SM≦3→低感応性、3<SM≦6→中程度の感応性、6<SM≦9→高い感応性、0<9SM→非常に高い。感応性の4つの分類上の区分は、一例として使用される。2つ以上の分類上の区分が使用されてもよい。さらに、測定スコアは単に例である。記憶素子の特定のセットに対して最適である実際の測定値は、試験によって決定できる。温度及びワードライン位置に基づいた調整を、同様に、記憶素子の特定のセットに最適化してもよい。
プログラム外乱に対して低感応性の場合には、ステップ1406で、第2のプログラミング段階が、予防策なしで記憶素子のセットに実行される(ステップ1414)。第2のプログラミング段階は、第1のプログラミング段階の後に発生するプログラミングを含むことがある。例えば、図13では、第1のプログラミング段階は、t1からちょうどt15の前までに発生し、その場合、第2のプログラミング段階はt15で開始するプログラミングパルスの継続した印加を含むことがある。例えば図8aでの直接的なシーケンスプログラミングの場合、パルス列1300が、一度、プログラミング中に記憶素子に印加される。この場合、t15で開始するプログラミングパルスは、全ての状態へのプログラミングを完了できるようにする。
図9から図10cのツーパスプログラミングでは、パルス列は、第1のパスで下側のページデータに一度印加され、二度目に第2のパスで上側ページデータに印加される。したがって、t15で開始するプログラミングパルスは、下側ページのプログラミングを完了できるようにする。その後、上側ページは、プログラム外乱に対する感応性を再判定することなく、予防策なしで新しいパルス列でプログラミングされる。メモリ素子は、予防策を必要とせずに、記憶素子のセットのプログラミングを完了する。記憶素子のセットが後に再び新しいデータでプログラミングされると、温度等の要因が変化した可能性があるので、プログラム外乱に対する感応性は新たに判定され得る。処理時間に関してプログラム外乱に対する感応性を決定する損失は微々たるものである。
ステップ1408、1410、1412では、プログラム外乱に対する中程度の感応性、高い感応性、又は、非常に高い感応性があり、その場合、予防策が実施される(ステップ1415)。プログラム外乱に対する中程度の感応性の場合(1408)、第2のプログラミング段階は、Vpassを増加させる等の予防策と共に記憶素子のセットに対して実行される(ステップ1416)。Vpassは、例えば、所定のレベルに増加される。最適レベルは試験から決定できる。別の考えられる手法では、Vpassは、プログラム外乱に対する感応性の程度に比例する量だけ増加する(図12f参照)。メモリ素子は、予防策を実施して、記憶素子のセットのプログラミングを完了する。プログラミングは、プログラム外乱に対する感応性が特定されたプログラミングプロセスでのポイントから、予防策のある下側ページ及び/又は上側ページに対して続行し得る。別の考えられる手法では、下側ページのプログラミングは、予防策を実施せずに完了できる。次に、予防策は、上側ページのプログラミング中に実施される。
プログラム外乱に対する高い感応性の場合、ステップ1410で、データの下側ページのプログラミングを完了し、予防策は、下側ページがプログラミングされた記憶素子の同じセットへのデータの上側ページのプログラミングを中止することである(ステップ1418)。なお、データの下側ページは、プログラミングが通常は比較的早く完了できるように、プログラム外乱に対する感応性が特定される時点でほぼ完全にプログラミングされ得ることに留意されたい。例えば、追跡調査状態の記憶素子の95%はプログラム外乱が判定されるときにプログラミングを完了しており、したがって追跡調査状態の記憶素子の5%だけがプログラミングを完了する必要がある。下側ページのプログラミングは、増加したVpass等、予防策を講じても、講じなくても完了できる。
記憶素子の同じセットに対するデータの上側ページのプログラミングを中止する1つの理由は、選択された1又は複数のワードラインの上側ページがより高いVTHレベルにプログラミングするため、それらがより高い振幅のプログラムパルスを必要とするためである。これは容易にプログラム外乱を引き起こすことがある。より高い振幅のプログラムパルスを回避することで、プログラム外乱の可能性は低下する。代わりに、データの上側ページは、低い方のワードラインがプログラミングされた同じブロック内の、又は、異なるブロック内の、別のワードラインにプログラミングされ得る。この結果、下側ページ及び上側ページのバイナリデータが異なるワードラインにプログラミングされる。他のワードラインは、プログラム外乱に対するそれらの感応性が高すぎない場合にマルチレベルデータに使用されてよく、したがって、バイナリ記憶素子とマルチレベル記憶素子の両方が同じブロック内に存在する。例えば、図9のプログラミング方式では、データの下側ページは、分布800及び802を使用する。データの上側ページが下側ページと同じワードライン上にプログラミングされない場合、分布804及び806はそのワードラインでは使用されない。代わりに、分布804及び806は、別のワードライン上で使用される。同様に、図10a−cのプログラミング方式では、データの下側ページが分布1002及び1012を使用する。データの上側ページが下側ページと同じワードライン上にプログラミングされない場合、分布1004、1006、及び1008は、そのワードラインで使用されない。
さらに図14を参照すると、プログラム外乱に対する非常に高い感応性の場合、ステップ1412で、ブロックの追加のプログラミングが起こらないように、記憶素子のセットのプログラミングをただちに終了する等、予防策が実施され得る(ステップ1420)。すでにプログラミングされた特定のブロック内の他のワードライン上の記憶素子は、プログラミングされたままとなるか、又はそのデータは別のブロックにプログラミングし直され、特定のブロック全体が使用不可と宣言されることがある。
なお、図14のプロセスは、ワードラインごとに別個に実行できることに留意されたい。ブロック内の異なるワードラインは、ワードライン位置、不完全なリソグラフィーの影響、及び、他の要因のために、プログラム外乱に対して程度の異なる感応性をもつことがある。その結果、異なる予防策を異なるワードラインで実施することができ、予防策が実施された可能性があるワードラインもあれば、実施されない他のワードラインもあってもよい。別のオプションは、WLxからWL31等の、プログラム中に最低のチャネルブーストを有し、プログラム外乱フェイルに最も影響を受けやすいワードラインだけに対して(例えばステップ1402及び1404を使用して)プログラム外乱を予測することである。この場合、プログラム外乱に対する感応性は、WL0からWLx−1に対しては特定されない。
図15は、不揮発性メモリをプログラミングするための方法の一実施形態を説明するフロー図である。1つの実装例では、プログラミングの前に記憶素子が(ブロック単位又は他の単位で)消去される。ステップ1500で、「データロード」コマンドがコントローラによって発行され、入力が制御回路510によって受信される。ステップ1502で、ページアドレスを指定するアドレスデータが、コントローラ又はホストからデコーダ514に入力される。ステップ1504で、アドレス指定されたページのプログラムデータのページが、プログラミングのためにデータバッファに入力される。データの下側ページが、初期に、例えば、データの上側ページ及び下側ページが別々にプログラミングされるときに入力され得る。データは、ラッチの適切なセットにラッチされる。ステップ1506で、コントローラによって状態マシン512に「プログラム」コマンドが発行される。
「プログラム」コマンドによってトリガされて、ステップ1504でラッチされたデータは、適切な選択ワードラインに印加された図13のパルス列1300のステップ状のプログラミングパルスを使用して、状態マシン512によって制御される選択された記憶素子にプログラミングされる。特に、ステップ1508で、プログラム電圧VPGMが開始パルス(例えば、12V又は他の値)に初期化され、状態マシン512によって維持されるプログラムカウンタ(PC)はゼロに初期化される。ステップ1510で、フラグがゼロにセットされる。このフラグは、プログラム外乱に対する感応性が判定されたかどうかを示す(判定されていない場合、フラグ=0、判定されている場合、フラグ=1)。プログラミングパルスは、選択されたワードラインと関連付けられた記憶素子へのプログラミングを開始するために、選択されたワードラインにステップ1512で印加される。論理「0」が、対応する記憶素子がプログラミングされる必要があることを示す特定のデータラッチに記憶されている場合、対応するビットラインが接地される。他方、論理「1」が、対応する記憶素子がその現在のデータ状態に留まる必要があることを示す特定のラッチに記憶される場合、対応するビットラインは1.5から3Vに接続され、プログラミングが禁止される。
ステップ1514で、選択された記憶素子の状態が、検証動作で検証される。選択された記憶素子のターゲット閾値電圧が適切なレベルに達したことが検出されると、その際に、対応するデータラッチに記憶されているデータが論理「1」に変更される。閾値電圧が適切なレベルに達していないことが検出されると、対応するデータラッチに記憶されているデータは変更されない。このようにして、対応するデータラッチに記憶された論理「1」を有するビットラインは、プログラミングされる必要がない。データラッチの全てが論理「1」を記憶しているとき、状態マシンは(上述されたワイヤードORタイプの機構を介して)、全ての選択された記憶素子がプログラミングされたことを知る。
決定ステップ1516で、フラグ=0の場合に、ステップ1517が実行され、(状態Aが追跡調査状態であるときに図8の検証レベルVva、又は、状態B’が追跡調査状態であるときに図10aの検証レベルVvb’等の)追跡調査状態のための検証レベルに達する及び/又は達しない記憶素子の数のカウントが維持される。ステップ1518では、N1個の記憶素子が追跡調査状態のための検証レベルに達すると、プログラムパルス数(PPN1)が特定され、記憶される。ステップ1520で、N2個の記憶素子が追跡調査状態のための検証レベルに達すると、もしくは、その代わりに、N1個(又は何らかの他の数)又はより少ない数の追跡調査状態の記憶素子がまだ追跡調査状態に達していなくなると、プログラムパルス数(PPN2)が記憶される。ステップ1517、1518、及び1520は、ステップ1514と連動して実行されてもよい。
決定ステップ1522で、PPN2が特定された場合は、ステップ1524が実行される。ステップ1524は、PPN2−PPN1、並びに、任意的にワードライン位置及び温度に基づいて、プログラム外乱に対する感応性を特定する。感応性の程度に基づいて、3つの経路の内の1つをたどることができる。ステップ1526は、予防策を講じないでプログラムを続行することを含む。ステップ1528は、予防策を講じてプログラミングを続行することを含み、ステップ1532は、より高いVpassを使用する、又は、データの上側ページのプログラミングを中止する等、プログラム外乱に対する感応性に基づいて予防策を決定することを含む。ステップ1530は、ブロック全体に対して等、ただちにプログラミングを終了することを含む。フラグは、ステップ1534で1にセットされる。
決定ブロック1536で、データラッチの全てが論理「1」を記憶しているかどうかに関するチェックが行われる。データラッチの全てが論理「1」を記憶している場合、全ての選択された記憶素子がプログラミングされ、検証されたため、プログラミングプロセスは完了し、成功する。例えば、全ての下側ページデータ又は全ての上側ページデータがプログラミングされている。または、直接シーケンスプログラミングの場合、全てのデータがプログラミングされている。「パス」の状態は、ステップ1538で報告される。いくつかの実施形態では、全ての選択された記憶素子がプログラミングされたとして検証されなかったとしても、プログラミングプロセスは完了し、成功したと見なされる。かかる場合、以後の読み出し動作中のエラーが、記憶素子が不十分にプログラミングされたために発生することがある。ただし、これらのエラーは、ECCによって補正できる。
ステップ1536で、データラッチの全てが論理「1」を記憶しているわけではないと判定されると、その後、プログラミングプロセスは続行する。いくつかの実施形態では、たとえデータラッチの全てが論理「1」を記憶していなくてもプログラムプロセスは停止する。決定ステップ1540で、プログラムカウンタPCが、プログラム制限PCmaxに対して照合される。プログラム制限値の一例は20である。ただし、他の数も使用できる。PC≧PCmaxである場合、プログラムプロセスは失敗し、「失敗」の状態が、ステップ1542で報告される。PC≦PCmaxである場合、次に、ステップ1544で、VPGMがステップサイズだけ増加され、PCが1だけ増分される。次にプロセスはステップ1512に戻り、次のプログラムパルスが印加される。したがって、プログラミングは説明されたように、適用可能な場合は予防策が実施され、続行する。
決定ステップ1516でフラグ=1のとき、プログラム外乱に対する感応性を決定し直す必要性はないので、次に検証決定ステップ1536が実行される。
決定ステップ1522で、PPN2がまだ特定されていない場合、プログラム外乱に対する感応性はまだ決定できないため、検証決定ステップ1536が実行される。
以上のように、本明細書で提供されるのは、一実施形態では、(a)不揮発性記憶システムの記憶素子のブロック内の選択されたワードラインに第1のシリーズのプログラミングパルスを印加することによって第1のプログラミング段階を実行する(ここで、選択されたワードラインはブロックの選択された記憶素子と通信する)ことを含む、不揮発性記憶装置を動作させる方法である。その方法は、(b)選択された記憶素子の第1の部分の閾値電圧がいつ検証レベルを超えるのかを特定し、第1のシリーズの関連付けられたプログラミングパルスを特定すること、(c)選択された記憶素子の第2の部分の閾値電圧がいつ検証レベルを超えるのかを特定し、第1のシリーズの関連付けられたプログラミングパルスを特定すること、(d)関連付けられたプログラミングパルスに少なくとも部分的に基づいて、選択された記憶素子でのプログラム外乱の可能性を低下させるための予防策が示されているかどうかを判断し、(e)予防策が示されている場合に、予防策を実施することをさらに含む。
別の実施形態では、不揮発性記憶システムは、記憶素子のセット、記憶素子のセットと接続されたワードラインのセット、及び、ワードラインのセットと接続された1つ又は複数の制御回路を含む。この1つ又は複数の制御回路は、(a)不揮発性記憶システムの記憶素子のブロック内の選択されたワードラインに第1のシリーズのプログラミングパルスを印加することによって第1のプログラミング段階を実行し(ここで、選択されたワードラインはブロックの選択された記憶素子と接続されている)、(b)選択された記憶素子の第1の部分の閾値電圧がいつ検証レベルを超えるのかを判定し、第1のシリーズの関連付けられたプログラミングパルスを特定し、(c)選択された記憶素子の第2の部分の閾値電圧がいつ検証レベルを超えるのかを判定し、第1のシリーズの関連付けられたプログラミングパルスを特定し、(d)関連付けられたプログラミングパルスに少なくとも部分的に基づいて、選択された記憶素子でのプログラム外乱の可能性を低下させるための予防策が示されるかどうかを判断し、(e)予防策が示される場合に、予防策を実施する。
別の実施形態では、不揮発性記憶を動作させる方法は、(a)不揮発性記憶システムの記憶素子のブロック内の選択されたワードラインに第1のシリーズのプログラミングパルスを印加することによって第1のプログラミング段階を実行する(ここで、選択されたワードラインは、ブロックの選択された記憶素子と接続されている)こと、(b)第1のプログラミング段階に基づいて選択された記憶素子の自然閾値電圧分布を特徴付けること、(c)少なくとも部分的に前記特徴付け基づいて、選択された記憶素子によって、プログラム外乱に対する感応性の程度を判定し、(d)感応性の程度に基づいて複数の使用可能な予防策から選択された予防策を実行することを含む。
別の実施形態では、不揮発性記憶システムは、選択された記憶素子を含む記憶素子のブロック、選択された記憶素子と接続された選択されたワードラインを含む記憶素子のセットと接続されたワードラインのセットと、ワードラインのセットと接続されている1つ又は複数の制御回路を含む。1つ又は複数の制御回路は、(a)選択されたワードラインに第1のシリーズのプログラミングパルスを印加することによって第1のプログラミング段階を実行し、(b)選択された記憶素子の第1の部分の閾値電圧がいつ検証レベルをパスするのかを判定し、第1のシリーズの関連付けられたプログラミングパルスを特定し、(c)選択された記憶素子の第2の部分の閾値電圧がいつ検証レベルを超えるのかを判定し、第1のシリーズの関連付けられたプログラミングパルスを特定し、(d)関連付けられたプログラミングパルスのパルス数の差に少なくとも部分的に基づいて(ここで、パルス数は、第1のシリーズのプログラミングパルス内の関連付けられたプログラミングパルスのそれぞれの順次的な位置を示す)、選択された記憶素子のプログラム外乱の可能性を低下させるための予防策が示されるかどうかを判断し、(e)予防策が示される場合に、予防策を実行する。
本明細書に示される方法を実行するための、対応する方法、システム及びコンピュータ読み出し可能な記憶装置、又はプロセッサ読み出し可能な記憶装置も提供されてよい。
前記発明を実施するための形態は、図解及び説明のために提示された。それは、網羅的であること、または開示されている正確な形式に本技術を制限することを意図していない。上記の教示を鑑みて、多くの修正及び変形が考えられる。説明された実施形態は、本技術及びその実践的な用途の原則を最もよく説明し、それによって当業者が多様な実施例において、及び意図された特定の使用に適するような多様な修正をもって本技術を最もよく活用できるようにするために選ばれた。本技術の範囲は、本明細書に添付される特許請求項の範囲により定められることが意図される。

Claims (15)

  1. 不揮発性記憶システムを動作させる方法であって、
    前記不揮発性記憶システムの記憶素子(700、710)のブロック内にあって、前記ブロックの選択された記憶素子に接続されている選択されたワードライン(WLn)に第1のシリーズのプログラミングパルス(1305〜1340)を印加することによって、第1のプログラミング段階を実行するステップと、
    前記選択された記憶素子の第1の部分の閾値電圧がいつ検証レベル(Vva、Vvb、Vvb’)を超えるのかを特定し、前記第1のシリーズ内の関連付けられたプログラミングパルスを特定するステップと、
    前記選択された記憶素子の第2の部分の閾値電圧がいつ前記検証レベルを超えるのかを特定し、前記第1のシリーズ内の関連付けられたプログラミングパルスを特定するステップと、
    前記関連付けられたプログラミングパルスに少なくとも部分的に基づいて、前記選択された記憶素子のプログラム外乱の可能性を低下させるための予防策が示されるかどうかを判定するステップ、
    前記予防策が示される場合に、前記予防策を実施するステップ、
    を有する方法。
  2. 前記検証レベルが、少なくとも1ビットのデータを表すデータ状態(A、B)と関連付けられる請求項1に記載の方法。
  3. 前記検証レベルが、少なくとも1ビットのデータを表さない中間状態(B’)と関連付けられる請求項1に記載の方法。
  4. 前記予防策が示されるかどうかを判定する前記ステップが、前記関連付けられたプログラミングパルスのパルス数の間の差に少なくとも部分的に基づいており、
    前記パルス数が、前記第1のシリーズ内のプログラミングパルスの前記関連付けられたプログラミングパルスのそれぞれの順次的な位置を示す、
    請求項1に記載の方法。
  5. 前記第1のプログラミング段階が、少なくとも部分的に、データの下側ページを前記選択された記憶素子にプログラミングし、
    前記予防策を実施する前記ステップが、前記選択されたワードラインへのデータの上側ページのプログラミングを中止することと、別のワードラインへのデータの前記上側ページをプログラミングすることとを含む、
    請求項1に記載の方法。
  6. 前記予防策を実施する前記ステップが、前記ブロックのプログラミングを中止することを含む請求項1に記載の方法。
  7. 前記第1のプログラミング段階の間に、第1レベルのパス電圧が、前記ブロック内の未選択の記憶素子に接続されている未選択のワードラインに印加され、
    前記選択されたワードラインに第2のシリーズのプログラミングパルス(1345〜1375)を印加することによって、前記第1のプログラミング段階の後に第2のプログラミング段階を実行するステップをさらに有し、
    前記予防策が、前記第2のプログラミング段階で、前記第1レベルよりも高い第2レベルに前記パス電圧のレベルを増加させることによって実施される、
    請求項1に記載の方法。
  8. 少なくとも部分的に前記関連付けられたプログラミングパルスに基づいて、前記予防策が示される程度を特定するステップをさらに有し、
    前記第2レベルが、前記程度に比例する前記第1レベルよりも高い、
    請求項7に記載の方法。
  9. 前記第1のプログラミング段階が、データの下側ページを前記選択された記憶素子にプログラミングし、
    前記第2のプログラミング段階が、データの上側ページを前記選択された記憶素子にプログラミングする、
    請求項7に記載の方法。
  10. 前記ブロックのワードラインのセットの中で、前記選択されたワードラインの位置に少なくとも部分的に基づいて、前記予防策が示されるかどうかを判定するステップをさらに有し、
    前記予防策が、前記選択されたワードラインの前記位置が、ワードラインの前記セットのドレイン側から指定された数のワードライン(WL31〜WLx)の範囲内にないときよりも、前記選択されたワードラインの前記位置が、ワードラインの前記セットの前記ドレイン側から指定された前記数のワードラインの範囲内にあるときによりも強力に示される、
    請求項1に記載の方法。
  11. 少なくとも部分的に温度に基づいて、前記予防策が示されるかどうかを判定するステップをさらに有し、
    温度がより低いときよりも温度がより高いときに前記予防策がより強力に示される、
    請求項1に記載の方法。
  12. 選択された記憶素子を含む記憶素子(700、710)のブロックと、
    前記選択された記憶素子と接続されている選択されたワードライン(WLn)を含む、記憶素子のセットと接続されているワードラインのセットと、
    ワードラインの前記セットと接続されている1つ又は複数の制御回路(510、550)を有しており、
    前記1つ又は複数の制御回路が、
    (a)前記選択されたワードライン(WLn)に第1のシリーズのプログラミングパルス(1305〜1340)を印加することによって第1のプログラミング段階を実行し、
    (b)前記選択された記憶素子の第1の部分の閾値電圧がいつ検証レベル(Vva、Vvb、Vvb’)を超えるのかを特定し、前記第1のシリーズ内の関連付けられたプログラミングパルスを特定し、
    (c)前記選択された記憶素子の第2の部分の閾値電圧がいつ前記検証レベルを超えるのかを特定し、前記第1のシリーズ内の関連付けられたプログラミングパルスを特定し、
    (d)前記第1のシリーズ内のプログラミングパルス内の前記関連付けられたプログラミングパルスのそれぞれの順次的な位置を示す、前記関連付けられたプログラミングパルスのパルス数の間の差に少なくとも部分的に基づいて、前記選択された記憶素子でのプログラム外乱の可能性を低下させるための予防策が示されるかどうかを判定し、
    (e)前記予防策が示される場合に前記予防策を実施する、
    不揮発性記憶システム。
  13. 前記第1のプログラミング段階が、データの下側ページを前記選択された記憶素子にプログラミングし、
    前記1つ又は複数の制御回路が、前記選択された記憶素子にデータの上側ページをプログラミングするために第2のプログラミング段階の前記実行によって前記予防策を実施する、
    請求項12に記載の不揮発性記憶システム。
  14. 前記1つ又は複数の制御回路が、前記ブロックのプログラミングを中止することによって前記予防策を実施する請求項12に記載の不揮発性記憶システム。
  15. 前記第1のプログラミング段階の間に、前記1つ又は複数の制御回路が、前記ブロック内の未選択ワードラインに第1のレベルのパス電圧を印加し、
    前記1つ又は複数の制御回路が、前記選択されたワードラインに第2のシリーズのプログラミングパルスを印加することによって前記第1のプログラミング段階の後に第2のプログラミング段階を実行し、
    前記予防策が、前記第2のプログラミング段階で、前記第1のレベルよりも高い第2のレベルに前記パス電圧のレベルを増加させることによって実施される、
    請求項12に記載の不揮発性記憶システム。
JP2012517559A 2009-06-24 2010-06-08 自然閾値電圧分布を検出することによるメモリ内のプログラム外乱の予測 Withdrawn JP2012531693A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/490,557 US7916533B2 (en) 2009-06-24 2009-06-24 Forecasting program disturb in memory by detecting natural threshold voltage distribution
US12/490,557 2009-06-24
PCT/US2010/037842 WO2010151427A1 (en) 2009-06-24 2010-06-08 Forecasting program disturb in memory by detecting natural threshold voltage distribution

Publications (1)

Publication Number Publication Date
JP2012531693A true JP2012531693A (ja) 2012-12-10

Family

ID=42641285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517559A Withdrawn JP2012531693A (ja) 2009-06-24 2010-06-08 自然閾値電圧分布を検出することによるメモリ内のプログラム外乱の予測

Country Status (7)

Country Link
US (1) US7916533B2 (ja)
EP (1) EP2446443B1 (ja)
JP (1) JP2012531693A (ja)
KR (1) KR101655352B1 (ja)
CN (1) CN102576568B (ja)
TW (1) TWI494933B (ja)
WO (1) WO2010151427A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101504339B1 (ko) * 2008-11-03 2015-03-24 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함하는 메모리 시스템
US8526233B2 (en) * 2011-05-23 2013-09-03 Sandisk Technologies Inc. Ramping pass voltage to enhance channel boost in memory device, with optional temperature compensation
US8730711B2 (en) * 2012-04-26 2014-05-20 Robert Newton Rountree Low noise memory array
CN104346232A (zh) * 2013-08-06 2015-02-11 慧荣科技股份有限公司 数据储存装置及其限制存取方法
US9123424B2 (en) * 2013-12-17 2015-09-01 Sandisk Technologies Inc. Optimizing pass voltage and initial program voltage based on performance of non-volatile memory
KR102182804B1 (ko) 2014-07-29 2020-11-25 삼성전자주식회사 메모리 장치의 독출 방법
KR102238579B1 (ko) 2014-08-06 2021-04-09 삼성전자주식회사 메모리 장치의 프로그램 방법
US20160314844A1 (en) * 2015-04-22 2016-10-27 Sandisk Technologies Inc. Natural threshold voltage compaction with dual pulse program for non-volatile memory
US9852800B2 (en) * 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US9583198B1 (en) * 2016-04-22 2017-02-28 Sandisk Technologies Llc Word line-dependent and temperature-dependent pass voltage during programming
US9715937B1 (en) * 2016-06-15 2017-07-25 Sandisk Technologies Llc Dynamic tuning of first read countermeasures
KR102571185B1 (ko) * 2016-08-25 2023-08-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102659596B1 (ko) 2016-08-26 2024-04-19 삼성전자주식회사 비휘발성 메모리 장치
US10276252B2 (en) * 2017-12-11 2019-04-30 Intel Corporation Data storage device with operation based on temperature difference
US10732890B2 (en) * 2018-03-06 2020-08-04 Micron Technology, Inc. Adjusting a parameter for a programming operation based on the temperature of a memory system
CN110310691B (zh) * 2018-03-27 2023-06-30 爱思开海力士有限公司 存储器系统中的工作负载预测及其方法
KR102565913B1 (ko) * 2018-06-12 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법
US11003551B2 (en) 2018-09-27 2021-05-11 Sandisk Technologies Llc Non-volatile storage system with program failure recovery
CN111951857B (zh) * 2019-05-15 2023-06-09 兆易创新科技集团股份有限公司 一种非易失性存储器的编程方法及控制装置
KR102757283B1 (ko) * 2019-06-17 2025-01-20 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
US12027209B2 (en) 2019-06-17 2024-07-02 SK Hynix Inc. Memory device and method of operating the same
KR102772629B1 (ko) 2019-07-18 2025-02-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US11367493B2 (en) 2019-07-18 2022-06-21 Samsung Electronics Co., Ltd. Non-volatile memory devices and program methods thereof
JP7132444B2 (ja) * 2019-12-09 2022-09-06 長江存儲科技有限責任公司 メモリデバイスにおけるプログラム撹乱低減方法およびそれを利用するメモリデバイス
KR102820746B1 (ko) * 2020-07-24 2025-06-13 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11636905B2 (en) * 2020-12-07 2023-04-25 Sandisk Technologies Llc Temperature compensation for unselected sub-block inhibit bias for mitigating erase disturb
US11854631B2 (en) * 2021-08-19 2023-12-26 Kioxia Corporation System and method for dynamic compensation for multiple interference sources in non-volatile memory storage devices
CN114171095B (zh) * 2021-11-30 2023-03-10 华中科技大学 3d nand闪存阈值电压分布预测方法、设备及存储系统
US12354683B2 (en) 2022-12-27 2025-07-08 SanDisk Technologies, Inc. Non-volatile memory with erase depth detection and adaptive adjustment to programming

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69635105D1 (de) * 1996-01-31 2005-09-29 St Microelectronics Srl Mehrstufige Speicherschaltungen und entsprechende Lese- und Schreibverfahren
JP2001312898A (ja) * 2000-04-28 2001-11-09 Mitsubishi Electric Corp しきい値解析システムおよびしきい値解析方法
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6560152B1 (en) * 2001-11-02 2003-05-06 Sandisk Corporation Non-volatile memory with temperature-compensated data read
US6801454B2 (en) * 2002-10-01 2004-10-05 Sandisk Corporation Voltage generation circuitry having temperature compensation
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7180775B2 (en) * 2004-08-05 2007-02-20 Msystems Ltd. Different numbers of bits per cell in non-volatile memory devices
US7193901B2 (en) * 2005-04-13 2007-03-20 Intel Corporation Monitoring the threshold voltage of frequently read cells
US7295478B2 (en) * 2005-05-12 2007-11-13 Sandisk Corporation Selective application of program inhibit schemes in non-volatile memory
US7170788B1 (en) * 2005-09-09 2007-01-30 Sandisk Corporation Last-first mode and apparatus for programming of non-volatile memory with reduced program disturb
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
DE602006010742D1 (de) 2005-12-19 2010-01-07 Sandisk Corp Verfahren zur programmierung eines nicht flüchtigen speichers mit verminderter programmstörung über modizifierte durchgangsspannungen
US7483311B2 (en) * 2006-02-07 2009-01-27 Micron Technology, Inc. Erase operation in a flash memory device
US7436713B2 (en) * 2006-04-12 2008-10-14 Sandisk Corporation Reducing the impact of program disturb
US7518931B2 (en) * 2006-09-06 2009-04-14 Hynix Semiconductor Inc. Method of monitoring an erase threshold voltage distribution in a NAND flash memory device
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
KR100816161B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7616495B2 (en) * 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with variable initial program voltage magnitude
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
US7830718B2 (en) * 2007-11-21 2010-11-09 Micron Technology, Inc. Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
JP5178167B2 (ja) * 2007-12-04 2013-04-10 株式会社東芝 半導体記憶装置及びそのデータ書き込み方法
US8054691B2 (en) * 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage

Also Published As

Publication number Publication date
CN102576568A (zh) 2012-07-11
US20100329002A1 (en) 2010-12-30
WO2010151427A1 (en) 2010-12-29
CN102576568B (zh) 2016-02-10
TW201103027A (en) 2011-01-16
TWI494933B (zh) 2015-08-01
US7916533B2 (en) 2011-03-29
EP2446443A1 (en) 2012-05-02
KR101655352B1 (ko) 2016-09-08
EP2446443B1 (en) 2013-07-24
KR20120039539A (ko) 2012-04-25

Similar Documents

Publication Publication Date Title
EP2446443B1 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
JP5444468B2 (ja) パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム
CN108292519B (zh) 用于非易失性存储器的子块模式
EP2446441B1 (en) Reduced programming pulse width for enhanced channel boosting in non-volatile storage
JP4954223B2 (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
JP5426666B2 (ja) 不揮発性記憶装置のチャネルブーストを増加させるためのビットラインプレチャージを強化する方式
CN101584004B (zh) 使用早期源极侧升压减少非易失性存储装置中的编程干扰
US11309030B2 (en) Word line discharge skip for faster read time
WO2016089474A1 (en) Partial block erase for data refreshing
JP5367697B2 (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減
KR20130084610A (ko) 동기화된 커플링을 이용한 비휘발성 저장소자의 프로그래밍
JP5174829B2 (ja) 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
CN103814408A (zh) 用于非易失性存储器的部分编程块的读取补偿
CN108428466B (zh) 用于抑制第一读取问题的字线的顺序取消选择
KR20110084256A (ko) 워드 라인 결합을 이용한 메모리의 다중-패스 프로그램
WO2016089467A1 (en) Operation modes for an inverted nand architecture
JP4995273B2 (ja) 異なる電圧を使用する不揮発性記憶装置のための検証動作
JP5134007B2 (ja) 早期ソース側ブーストを用いた不揮発性記憶装置におけるプログラム妨害の低減

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130204

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20130308