JP2009514138A - スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法 - Google Patents

スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法 Download PDF

Info

Publication number
JP2009514138A
JP2009514138A JP2008538049A JP2008538049A JP2009514138A JP 2009514138 A JP2009514138 A JP 2009514138A JP 2008538049 A JP2008538049 A JP 2008538049A JP 2008538049 A JP2008538049 A JP 2008538049A JP 2009514138 A JP2009514138 A JP 2009514138A
Authority
JP
Japan
Prior art keywords
voltage threshold
volatile storage
subset
programming
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008538049A
Other languages
English (en)
Other versions
JP4855474B2 (ja
Inventor
ヤン リ
ロング ファム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/260,658 external-priority patent/US7301817B2/en
Priority claimed from US11/259,799 external-priority patent/US7366022B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009514138A publication Critical patent/JP2009514138A/ja
Application granted granted Critical
Publication of JP4855474B2 publication Critical patent/JP4855474B2/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/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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure

Abstract

不揮発性メモリにおいて、プログラム検証の開始は適応的に設定され、これで、プログラミング時間が減少するようにする。1つの方式では、電圧閾値(VTH)が第1のVTH区分またはこれより高い、すなわち中間VTH区分内となるように、不揮発性記憶素子を下位ページのデータに基づいてプログラムする。次いで、第1のVTH区分の不揮発性記憶素子をそのままとするかまたは上位ページのデータに基づいて第2のVTH区分にプログラムする。中間VTH区分の不揮発性記憶素子を、第3と第4のVTH区分にプログラムする。第3のVTH区分にプログラムされた不揮発性記憶素子を特に特定して追跡する。第4のVTH区分にプログラムされた不揮発性記憶素子の検証を、これらの特定された不揮発性記憶素子のうちの1つの素子が中間VTH区分から第3のVTH区分に遷移した後で開始する。

Description

本発明は、不揮発性メモリのプログラミングに関する。
半導体メモリは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティングデバイス、非モバイルコンピューティングデバイス、およびその他のデバイスの中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュメモリは、特に普及している不揮発性半導体メモリである。フラッシュメモリもまたEEPROMの一種であるが、全メモリアレイまたはメモリの一部の内容は、従来の備えたEEPROMとは異なり、一度に消去できる。
従来のEEPROMとフラッシュメモリは共に、半導体基板中のチャネル領域の上方に位置するとともにチャネル領域から絶縁されている浮遊ゲートを利用している。この浮遊ゲートは、ソース領域とドレイン領域の間に位置している。制御ゲートが、浮遊ゲートの上方に設けられているとともに浮遊ゲートから絶縁されている。このようにして形成されたトランジスタの閾値電圧は、浮遊ゲートに保持されている電荷の量によって制御される。すなわち、ソースとドレイン間を導通させてトランジスタをオンさせる前に制御ゲートに印加しなければならない電圧の最小量は、浮遊ゲート上の電荷のレベルによって制御される。
EEPROMデバイスおよびフラッシュメモリデバイスの中には、2つの範囲の電荷量を記憶させるために使う浮遊ゲートを有しているものがある。したがって、記憶素子は、2つの状態(例えば消去された状態とプログラムされた状態)のどちらかとしてプログラム/消去することが可能である。このようなフラッシュメモリは、バイナリフラッシュメモリデバイスと呼ばれることがある。その理由は、各記憶素子が1ビットのデータを記憶することができるからである。
マルチステート(マルチレベルとも呼ばれる)フラッシュメモリデバイスは、複数の異なる許容/有効プログラム閾値電圧範囲を特定することによって実現される。これらの異なる閾値電圧範囲はそのそれぞれが、メモリデバイスの中で符号化されたデータビットの集合の所定の値に対応している。例えば、素子が4つの異なる閾値電圧範囲に対応する4つの異なる電荷量帯のうちのいずれか1つの状態におかれることによって、各記憶素子が2ビットのデータを記憶することができる。
一般的に、プログラム動作中に制御ゲートに印加されるプログラム電圧Vpgmは、時間が経つにつれて大きさを増す一連のパルスとして印加される。一実施形態では、これらパルスの大きさは、連続するパルスごとに所定のステップサイズだけ(たとえば、0.2〜0.4V)だけ増加する。Vpgmは、フラッシュ記憶素子の制御ゲート(または、場合によってはステアリングゲート)に印加することが可能である。プログラムパルス間の期間に、検証動作が実行される。すなわち、並列にプログラムされている素子グループ中の各素子のプログラミングレベルを、連続するプログラミングパルス間で読み取って、このレベルによって、素子がプログラムすべき検証レベル以上であるか否かを判定する。マルチステートフラッシュ記憶素子を含むアレイの場合、検証ステップは、素子の夫々の状態について、素子が自身のデータに対応付けられた検証レベルに到達したかどうかを判定してもよい。たとえば、データを4つの状態で記憶することが可能なマルチステート記憶素子は、3つの比較ポイントに対して検証動作を実行する必要がある。
その全体を参照してここに組み込む「Smart Verify For Multi−State Memories」という名称の米国特許出願公開第2004/0109362号に、書き込みシーケンスのプログラムステップ/検証ステップ/ロックアウトステップのそれぞれに対して実行される連続的な検証動作の数を最小化するプロセスが記載されている。最初に、選択された記憶素子がプログラムされるマルチステート範囲の内の最も低い状態だけを、検証フェーズでチェックする。選択された素子の内の1つ以上がいったんこの最初の記憶状態に到達したら、マルチステートのシーケンスのうちの次の状態を検証プロセスに追加する。次のこのステップは、最も早い素子がこのシーケンスの内の前の状態に達したら即座に追加してもよいし、プログラムパルス数回分送れて追加してもよい。検証フェーズでチェックされているこの集合に状態を追加する動作は、最も高い状態が追加されるまで、マルチステートの集合の残りの状態にわたって連続して継続される。加えて、これらのレベルに到達しようとしている選択された記憶素子のすべてがこれら目標値に成功裏に到達したことが検証されて、これ以上プログラミングされないようにロックアウトされると、より低い状態を検証の集合から外すことが可能である。
さまざまなプログラミング方式に適用可能なさらなる「スマート検証」技術が必要とされている。
不揮発性記憶素子のうちの少なくとも一部に対していつプログラミング検証を開始すべきであるかを適応的に判定することによって不揮発性記憶素子をプログラミングする方法が提供される。不必要なプログラム検証ステップを回避することによって、プログラミング時間と電力消費が軽減される。
上に述べた技法では、たとえば、「ロワー・トゥ・ミドル」(LM)プログラミングモードにおいて、中間状態とオーバーラップする最終状態に上位ページのデータをプログラミングする以前に下位ページのデータを中間状態にプログラミングするときに発生する問題が克服される。このようなシナリオにおいては、下位ページがプログラムされたときに、不揮発性記憶素子の一部が最終状態に到達することがある。したがって、最終状態に最初に到達するビットを検出するビットパス検出は、上位ページをプログラミングするときには実行不可能である。そのかわりに、最終状態の外部にある開始点から最終状態に最初に到達するビットを検出して、この検出結果を利用して、後続の「スマートな」検証をいつ開始するかを判定することが望ましい。
1つの実施形態では、不揮発性記憶素子の集合中の不揮発性記憶素子は、最初は、共通の第1の電圧閾値区分内にあるそれぞれの電圧閾値を有している。
これら不揮発性記憶素子は、消去状態区分などの以前の電圧閾値区分から共通の第1の電圧閾値区分に到達するようにプログラムされてよい。この第1の電圧閾値区分内のこれら不揮発性記憶素子の少なくとも一部は、連続する電圧パルスを用いてプログラムされ、それによってその電圧閾値が、第1の電圧閾値区分とオーバーラップする第2の電圧閾値区分に到達するように、または、第1と第2の電圧閾値区分の外部にある第3の電圧閾値区分に到達するようにする。これら不揮発性記憶素子のうちの1つの素子の電圧閾値が、第2の電圧閾値区分の外部にある第1の電圧閾値区分の1部から第2の電圧閾値区分に遷移すると、これら不揮発性記憶素子の他の素子の電圧閾値が、第1の電圧閾値区分から第3の電圧閾値区分への遷移をいつ完了したかを検証する検証プロセスをいつ開始するかを決定する。
たとえば、この検証プロセスは、不揮発性記憶素子のうちの1つの素子の電圧閾値が第2の電圧閾値区分への遷移を完了したことを判定した後に、第3の電圧閾値区分に遷移する不揮発性記憶素子に対して所定の数の電圧パルスを印加した後で、開始することが可能である。
不揮発性記憶素子の第1の電圧閾値区分から第2の電圧閾値区分への遷移は、対応付けられた電圧閾値が、第2の電圧閾値区分より下方にある低い電圧閾値Vを超えて遷移し、さらに、第2の電圧閾値区分内にある高い電圧閾値V’を超えて遷移した時点を決定することによって追跡することが可能である。V’は、検知マージン分および/またはノイズマージン分のマージンだけ第2の電圧閾値区分の下限値Vを超えることがある。
マルチレベルをもつ不揮発性記憶素子中のバイナリデータの状態が異なれば、これを表す閾値電圧区分も異なる。
本発明の実施に適した不揮発性メモリシステムの一例では、NANDストリングの2つの選択ゲート間で直列に配列されるNANDフラッシュメモリ構造を使用する。図1は、1つのNANDストリングを示す上面図である。図2は、その等価回路である。図1および図2に示すNANDストリングは、直列の4つのトランジスタ100、102、104、106を備え、第1の選択ゲート120と第2の選択ゲート122との間に挟まれている。選択ゲート120は、NANDストリングをビット線コンタクト126に接続する。選択ゲート122は、NANDストリングをソース線コンタクト128に接続する。選択ゲート120は、制御ゲート120CGに適切な電圧を印加することによって制御される。選択ゲート122は、制御ゲート122CGに適切な電圧を印加することによって制御される。トランジスタ100、102、104、106はそれぞれ、制御ゲートと浮遊ゲートを有する。トランジスタ100は、制御ゲート100CGと浮遊ゲート100FGを有する。トランジスタ102は、制御ゲート102CGと浮遊ゲート102FGを有する。トランジスタ104は、制御ゲート104CGと浮遊ゲート104FGを有する。トランジスタ106は、制御ゲート106CGと浮遊ゲート106FGを有する。制御ゲート100CG、102CG、104CG、106CG、は、ワード線WL3、WL2、WL1、WL0にそれぞれ接続されている。1つの実施形態では、トランジスタ100、102、104、106のそれぞれがメモリセルあるいは記憶素子となる。他の実施形態では、記憶素子が複数のトランジスタを含んでいてもよく、図1および図2に示した構成と異なっていてもよい。選択ゲート120は、ドレイン選択線SGDに接続され、選択ゲート122は、ソース選択線SGSに接続される。
図3は、上記のNANDストリングの断面図を示す。NANDストリングのトランジスタはp−ウェル領域140内に形成されている。各トランジスタは、制御ゲート(100CG、102CG、104CG、および106CG)と浮遊ゲート(100FG、102FG、104FG、および106FG)からなる積層ゲート構造を備えている。浮遊ゲートは、酸化膜または他の誘電体膜上のp−ウェルの表面上に形成されている。制御ゲートは、浮遊ゲート上に位置しており、制御ゲートと浮遊ゲートは、ポリシリコン間誘電体層によって分離されている。記憶素子(100、102、104、106)の制御ゲートは、ワード線を形成している。N+ドープ層130、132、134、136、138は隣接する素子間で共有されており、これにより素子は相互に直列に接続されてNANDストリングを形成している。これらのN+ドープ層は、各素子のソースおよびドレインを形成している。例えば、N+ドープ層130は、トランジスタ122のドレイン、および、トランジスタ106のソースとして働く。N+ドープ層132は、トランジスタ106のドレイン、および、トランジスタ104のソースとして働く。N+ドープ層134は、トランジスタ104のドレイン、および、トランジスタ102のソースとして働く。N+ドープ層136は、トランジスタ102のドレイン、および、トランジスタ100のソースとして働く。N+ドープ層138は、トランジスタ100のドレイン、および、トランジスタ120のソースとして働く。N+ドープ層126は、NANDストリングのビット線につながっており、N+ドープ層128は、複数のNANDストリングの共通ソース線につながっている。
図1〜図3では、NANDストリング内に4つの記憶素子を示しているが、4つのトランジスタを使用する構成は、一例にすぎないことに留意されたい。ここに記載される技術によって使用されるNANDストリングは、4つ未満の記憶素子を有していてもよく、又は、4つを超える記憶素子を有していてもよい。例えば、一部のNANDストリングは、8、16、32、64あるいはそれ以上の数の記憶素子等を含むことができる。本明細書における説明は、NANDストリング内の記憶素子がいかなる数でも有効である。
各記憶素子は、アナログ又はデジタル形式で表されたデータを記憶することが可能である。1ビットのデジタルデータを記憶する場合、記憶素子の可能な閾値電圧の範囲は、論理データ「1」および「0」が割り当てられる2つの範囲に分割される。NAND型フラッシュメモリの一例では、記憶素子の消去された後の閾値電圧は負となり、論理「1」と定義される。プログラム動作後に閾値電圧は正となり、論理「0」と定義される。閾値電圧が負の状態で制御ゲートに0Vを印加することによって読み出しが試みられた場合、記憶素子はオンになり、論理1が記憶されていることを示す。閾値電圧が正の状態で制御ゲートに0Vを印加することによって読み出し動作が試みられた場合、記憶素子はオンにならず、これは論理「0」が記憶されていることを示す。
また、記憶素子は、複数の状態を記憶することも可能であり、それにより複数ビットのデジタルデータを記憶することも可能である。複数の状態のデータを記憶する場合、閾値電圧の範囲は、記憶する状態の数に分割される。例えば、4つの状態の情報が使用される場合、4つの閾値電圧範囲が存在し、それぞれにデータ値「11」、「10」、「01」、「00」が割り当てられる。NAND型メモリの一例では、消去動作の後の閾値電圧は負となり、「11」と定義される。正の閾値電圧は、「10」、「01」、「00」の状態のために使用される。一部の実施例では、これらのデータ値(たとえば論理状態)を、グレイコード割り当て方法を用いて閾値範囲に割り当て、これで、浮遊ゲートの閾値電圧が間違ってその隣接する物理状態にずれても、1つの論理ビットのみしか影響されないようにしている。記憶素子にプログラムされるデータとこの素子の閾値電圧範囲との間の具体的な関係は、記憶素子に対して採用されるデータ符号化スキームに依存する。たとえば、その双方の全体を参照によってここに組み込む、2003年6月13日に出願された「Tracking Cells For A Memory System」という名称の米国特許第6,222,762号および米国特許出願第10/461,244号と、2004年12月16日に公開された米国特許出願公開第2004/0255090号には、マルチステート式フラッシュ記憶素子のさまざまなデータ符号化スキームが記載されている。
NAND型フラッシュメモリおよびそれらの動作に関連する例は、次の米国特許/特許出願で提供されており、それぞれの全体が参照により本明細書に援用される。米国特許第5,386,422号、第5,522,580号、第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第6,456,528号、および米国出願第6,522,580号である。NAND型フラッシュメモリに加え、その他のタイプの不揮発性メモリも本発明とともに使用されてもよい。
フラッシュEEPROMシステムで有用な別のタイプの記憶素子は、導電性の浮遊ゲートの代わりに非導電性の誘電性材料を利用して、電荷を不揮発式に蓄積する電荷トラップ素子である。このような素子が、1987年3月に発行されたIEEEのエレクトロン・デバイス・レターの第EDL−8巻の第3号の、チャンらによる「A True Single−Transistor Oxide−Nitride−Oxide EEPROM Device」という記事の93〜95ページに記載されている。シリコン酸化物、シリコン窒化物、シリコン酸化物(“ONO”)で形成された三層誘電体を、記憶素子のチャネル上で、導電性の制御ゲートと半導体基板の表面とで挟んでいる。この素子は、素子のチャネルから窒化物中に電子を注入し、この窒化物中でこれらの電子が限られた領域中に捕獲されて蓄積されることによってプログラムされる。すると、この蓄積された電荷のため、この素子のチャネルのある部分の閾値電圧が変化するが、この変化は検出可能である。この素子は、ホットホールを窒化物中に注入することによって消去される。また、1991年4月に発行されたIEEE Journal of Solid−State Circuitの第26巻の第4号、497〜501ページのノザキらによる「A 1−Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」に、ドーピングされた多結晶シリコンゲートが記憶素子チャネルのある部分上に伸張して、互いに分離された選択トランジスタを形成している分離ゲート構造の類似の素子が記述されているので参照されたい。前述の2つの記事の全体を参照によりここに組み込む。参照によりここに組み込む1998年のIEEEプレスのウイリアム・D・ブラウン(William D. Brown)とジョー・E・ブルーワ(Joe E. Brewer)によって編集された「Nonvolatile Semiconductor Memory Technology」の1.2章に言及されているプログラミング手法もまた、誘電性電荷捕獲デバイスに応用可能であるとこの章に記述されている。このパラグラフに記述されている記憶素子もまた、本発明で用いることが可能である。したがって、本書に記載する技術もまた、互いに異なる記憶素子の誘電体領域間でのカップリングに当てはまる。
各々の素子に2ビットを記憶する別の方式が、2000年11月に発行されたIEEEのエレクトロン・デバイス・レターの第21巻の第11号、543〜545ページのエイタン(Eitan)らによる「NROM:A Novel Localized Trapping, 2−Bit Nonvolatile Memory Cell」に記載されており、ONO誘電体層が、ソース拡散層とドレイン拡散層間のチャネル上に伸張していることが記載されている。一方のデータビットに対する電荷がドレインに隣り合った誘電体層中に局所化され、他方のデータビット用の電荷がソースに隣り合った誘電体層中に局所化される。マルチステートデータ記憶は、誘電体内部の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み取ることによって実現される。このパラグラフに記述する記憶素子もまた、本発明で用いることが可能である。
図4は、3つのNANDストリングを示す回路図である。NAND構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのNANDストリングを含む。たとえば、3つのNANDストリング201、203、205を、さらに多くの数のNANDストリングを有するメモリアレイ中に示す。これらNANDストリングはそれぞれが、2つの選択トランジスタと4つの記憶素子を含む。たとえば、NANDストリング201は、選択トランジスタ220および230ならびに記憶素子222、224、226および228を含む。NANDストリング203は、選択トランジスタ240および250ならびに記憶素子242、244、246および248を含む。NANDストリング205は、選択トランジスタ260および270ならびに記憶素子262、264、266および268を含む。NANDストリングはそれぞれが、その選択トランジスタ(たとえば選択トランジスタ230、250または270)によってソース線に接続されている。選択線SGSを用いて、ソース側の選択ゲートを制御する。さまざまなNANDストリング201、203および205が、ドレイン選択線SGDによって制御される選択トランジスタ220、240、260などによってそれぞれのビット線202、204、206に接続されている。選択線が必ずしも共通である必要のない実施形態もある。各ワード線は、行内の各記憶素子の制御ゲートに接続されている。例えばワード線WL3は、記憶素子222、242、262の制御ゲートに接続されている。ワード線WL2は、記憶素子224、244、264の制御ゲートに接続されている。ワード線WL1は、記憶素子226、246、266の制御ゲートに接続されている。ワード線WL0は、記憶素子228、248、268の制御ゲートに接続されている。理解されるように、各ビット線とそれぞれのNANDストリングは、アレイ、すなわち、記憶素子の集合の列を備えている。ワード線(WL3、WL2、WL1およびWL0)は、アレイすなわち集合の行を備えている。
フラッシュ記憶素子をプログラミングするとき、プログラム電圧をその素子の制御ゲートに印加して、この素子に対応付けられているビット線を接地する。p−ウェルからの電子が浮遊ゲート中に注入される。電子が浮遊ゲート中に累積されると、この浮遊ゲートは負に帯電し、この素子の閾値電圧が上昇し、例えば記憶素子などの記憶素子は、プログラムされた状態とみなされる。プログラミングに関する更なる情報は、双方ともそれらの全体を参照によってここに組み込む「Source Side Self Boosting Technique For Non−Volatile Memory」という名称の米国特許第6,859,397号および2003年7月29日に出願された「Detecting Over Programmed Memory」という名称の米国特許出願公開第2005/0024939号に開示されている。
プログラム電圧をプログラムされている素子の制御ゲートに印加するには、このプログラム電圧を該当するワード線に印加する。このワード線もまた、同じワード線を共有する他のNANDストリングのそれぞれ中の1つの素子に接続されている。たとえば、図4の素子224をプログラミングする場合、プログラム電圧は素子244の制御ゲートにも印加される。あるワード線上の1つの素子を、同じワード線に接続されている他の素子をプログラミングすることなくプログラムすることが望まれる時、たとえば、素子224をプログラムしたいが素子244はプログラムしたくないような場合に、問題が発生する。プログラム電圧はあるひとつのワード線に接続されているすべての素子に印加されるため、このワード線上の選択されていない素子(プログラムされないはずの素子)、特に、プログラミングするように選択された素子の隣接する素子が、プログラム外乱と呼ばれるプロセスで誤ってプログラムされることがある。たとえば、素子224をプログラミングするとき、隣接する素子244が意図せずにプログラムされてしまう懸念がある。
プログラム外乱を防止することが可能な手法はいくつか存在する。「自己昇圧方法」として知られている方法では、選択されていないビット線を電気的に絶縁して、プログラミング最中に、パス電圧(たとえば10V)を選択されていないワード線に印加する。これらの選択されていないワード線は禁止されたNANDストリング203のチャネルにカップリングして、少なくとも選択されたワード線の下方にある当該ストリングに電圧(たとえば8V)が存在するようにし、これで、プログラム外乱が減少しやすくなる。したがって、自己昇圧によって、チャネル内の電圧が上昇して、このため、トンネル酸化物の両端の電圧が減少し、したがってプログラム外乱が低減される。
NANDストリングは一般的には(常にではないが)、ソース側からドレイン側に、たとえば、記憶素子228から記憶素子222に向かってプログラムされる。たとえば、NANDストリング203がNANDストリング201より前にプログラムされるものと仮定する。プログラミングプロセスがNANDストリング201の最後の(または最後に近い)記憶素子をプログラムする準備ができており、禁止されているNANDストリング(たとえばNANDストリング203)上のすでにプログラムされている記憶素子のすべてまたはほとんどがプログラムされた場合、これらすでにプログラムされている記憶素子の浮遊ゲートには負の電荷が存在する。その結果、昇圧電位がNANDストリング203のある部分ではその値が十分ではなく、したがって、最後のいくつかのワード線と対応付けられているNANDストリング203中の素子には引き続きプログラム外乱が存在する可能性があることになる。たとえば、NANDストリング201上の素子222をプログラミングするときに、NANDストリング203上の素子248、246および244がすでにプログラムされている場合、これらのトランジスタ(244、246、248)のそれぞれの浮遊ゲートには負の電荷が存在しており、このため、自己昇圧プロセスでの昇圧レベルが制限され、素子242にプログラム外乱発生の可能性が生じることになる。
ローカル自己昇圧法(「LSB」)および消去領域自己昇圧法(「EASB」)は、すでにプログラムされている素子のチャネルを禁止されている素子のチャネルから絶縁することによって、従来の自己昇圧法の欠点を解決しようとするものである。たとえば、図4の素子224をプログラムする場合、LSBとEASBでは、素子244のチャネルをすでにプログラムされている素子(246と248)から隔離することによって素子244でのプログラミングを禁止しようとする。LSB手法では、プログラムされている素子に対するビット線は接地され、禁止される素子のNANDストリングのビット線はVddにある。プログラム電圧Vpgm(たとえば20ボルト)を、選択されたワード線で駆動する。選択されたワード線に隣接するワード線はゼロボルトであり、残りの選択されていないワード線はVpassである。たとえば、ビット線202はゼロボルトであり、ビット線204はVddである。ドレイン選択線SDGはVddにあり、ソース選択線SGSはゼロボルトである。(素子224をプログラミングするための)選択されたワード線WL2はVpgmである。隣接するワード線WL1とWL3はゼロボルトであり、他のワード線(たとえばWL0)はVpassである。
EASBはLSBと似ているが、ソース側の隣接するワード線だけがゼロボルトである点において異なっている。ドレイン側の隣接するワード線はVpassである。Vpassが低すぎると、チャネル中での昇圧の程度が、プログラム外乱を防止するには不十分となる。Vpassが高すぎると、選択されていないワード線がプログラムされてしまう。たとえば、WL1がVpassではなくてゼロボルトとなり、WL3がVpassとなる。1つの実施形態では、Vpassは7〜10Vである。
LSBとEASBでは自己昇圧機能が向上するが、ソース側の隣接する素子(素子246は素子244のソース側の隣にある)がプログラムされているまたは消去されているかによって相違が発生するという問題がある。ソース側の隣接する素子がプログラムされていると、その浮遊ゲートには負の電荷が存在する。そのうえ、制御ゲートにゼロボルトが印加されていると、負に充電されているゲートの下の接合が極端に逆バイアスされ、このため、昇圧されたチャネルに電子が漏れこむゲート誘導ドレイン漏れ電流(GIDL)が引き起こされることがある。GIDLは、接合に大きなバイアスが掛かり、ゲート電圧が低いまたは負の電圧であると発生し、これは、まさに、ソース側の隣接する素子がプログラムされていて、ドレイン接合が昇圧された場合に当てはまる。GIDLが発生すると、昇圧された電圧が急速に漏れて消滅し、この結果、プログラミングエラーとなるが、この現象は、素子のサイズが縮小するにつれて必要となる急速で高濃度にドーピングされた接合部においてより厳しい問題となる。漏れ電流が十分に高いと、チャネル領域中での昇圧電位が減少して、その結果、プログラム外乱となりかねない。さらに、プログラムされているワード線がドレインに近いほど、昇圧された接合部に存在する電荷の量は少なくなる。したがって、昇圧された接合部における電圧は急速に降下して、プログラム外乱を引き起こす。
ソース側の隣接する記憶素子が消去されると、浮遊ゲートには正の電荷が発生し、このため、トランジスタの閾値電圧が負になる確率が高い。トランジスタは、ゼロボルトがワード線に印加されてもオフとならないことがある。記憶素子がオンの場合、NANDストリングはEASBモードでは動作しない。その替わりに、NANDストリングは自己昇圧モードで動作し、このため、上記の問題を有する。このシナリオは、他のソース側の素子がプログラムされていて、このため、ソース側の昇圧を制限する場合にはもっとも発生する確率が高い。この問題は、チャネル長さがより短い場合にもっとも問題となる。
図5に、本発明の1つの実施形態にしたがって、あるページのメモリセルを同時並行に読み出しプログラミングする読み出し/書き込み回路を有するメモリデバイス296を示す。メモリデバイス296は、1つ以上のメモリダイ298を含むことがある。このメモリダイ298は、二次元アレイのメモリセル300、制御回路310および読み出し/書き込み回路365を含んでいる。メモリアレイ300は、行デコーダ330を介してワード線によって、また、列デコーダ360を介してビット線によってアドレス指定可能である。読み出し/書き込み回路365は、複数の検知ブロック(センスブロック)400を含み、あるページのメモリセルを同時並行に読み出したりプログラムしたりすることを可能とする。一般的には、コントローラ350は、1つ以上のメモリダイス298として同じメモリデバイス296(たとえば着脱可能メモリカード)に含まれている。コマンドとデータは、ホストとコントローラ350間を線320を介して、また、コントローラと1つ以上のメモリダイ298間を線318を介して転送される。
制御回路310は読み出し/書き込み回路365と協働して、メモリアレイ300に対してメモリ動作を実行する。制御回路310は、ステートマシン312、オンチップアドレスデコーダ314および電力制御モジュール316を含んでいる。ステートマシン312は、メモリ動作をチップレベルで制御する。オンチップアドレスデコーダ314は、ホストやメモリコントローラが用いるアドレスとデコーダ330と360が用いるハードウェアアドレス間のアドレスインタフェースとなっている。電力制御モジュール316は、メモリ動作中にワード線とビット線に供給される電力と電圧を制御する。
別の方式では、さまざまな周辺回路は、メモリアレイ300に対して、このアレイの両側から対象的にアクセスし、このため、それぞれの側でのアクセス線と回路の密度は半分に軽減される。
図6は、検知モジュール380と呼ばれるコア部分と、共通部分390に区分される個々のセンスブロック400のブロック図である。1つの実施形態では、ビット線ごとに別個の検知モジュール380と、複数の検知モジュール380の集合に対して1つの共通の部分390が存在する。1つの例では、1つのセンスブロックは、1つの共通部分390と8個の検知モジュール380を含むことが可能である。グループ中のこれらセンスブロックはそれぞれが、対応する共通部分とデータバス372を介して通信する。より詳しくは、その全体を参照によりここに組み込む、2004年12月29日に出願された、「Non−volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifier」という名称の米国特許出願第11/026,536号を参照されたい。
検知モジュール380は、接続されたビット線中の導電電流が所定の閾値レベルより高いか未満かを判定する検知回路370を備えている。検知モジュール380はまた、接続されたビット線に対して電圧条件を設定するために用いられるビット線ラッチ382を含んでいる。たとえば、ビット線ラッチ382に所定の状態をラッチすると、その結果、接続されているビット線を、プログラム禁止を指定する状態(たとえばVdd)にまで引き上げる。
共通部分390は、プロセッサ392と、データラッチ394の集合と、このデータラッチ集合394とデータバス320間に結合されているI/Oインタフェース396を備えている。プロセッサ392は計算を実行する。たとえば、その機能のうちの1つは、検知されたメモリセルに記憶されているデータを判定して、この判定されたデータをデータラッチの集合に格納することである。データラッチ集合394は、読み出し動作中にプロセッサ392が決定したデータビットを記憶するために用いられる。これはまた、プログラム動作中にデータバス320からインポートされたデータビットを記憶するために用いられる。インポートされたデータビットは、メモリにプログラムしようとしている書き込みデータを表している。I/Oインタフェース398は、データラッチ394とデータバス320間のインタフェースとなっている。
読み出し中または検知中、本システムの動作は、アドレス指定されたセルに対するさまざまな制御ゲート電圧の供給を制御するステートマシン312の制御下にある。メモリによってサポートされるさまざまなメモリ状態に対応するさまざまな所定の制御ゲート電圧を変化させるに連れて、検知モジュール380は、これらの電圧のうちのどれか1つのところでトリップして、検知モジュール380からの出力が、バス372を介してプロセッサ392に提供される。この時点で、プロセッサ392は、結果得られるメモリ状態を、入力線393を介してステートマシンから得られる検知モジュールのこのトリップ事象と印加された制御ゲート電圧に関する情報とを考慮することによって判定する。次に、メモリ状態に対するバイナリ符号化を計算して、結果として得られたデータビットをデータラッチ394に格納する。コア部分の別の実施形態では、ビット線ラッチ382は、二重のデューティ、すなわち、検知モジュール380の出力をラッチするラッチと、また、上記のようなビット線ラッチとして働く。
複数のプロセッサ392を含む実施例もある。1つの実施形態では、それぞれのプロセッサ392が出力線(図示せず)を含むことが可能であり、これで、出力線のそれぞれが一緒にワイアドORされるようにする。一部の実施形態では、出力線を、ワイアドOR線に接続する以前に反転させる。この構成によって、プログラミングプロセスが完了した時点を検証するプログラム検証プロセス中に高速に判定することが可能となるが、これは、ワイアドORを受信するステートマシンが、プログラムされているすべてのビットがいつ所望のレベルに到達したかを判定することが可能であるからである。たとえば、それぞれのビットがその所望のレベルに到達すると、このビットの論理ゼロがワイアドOR線に送られる(またはデータ1が反転する)。すべてのビットがデータ0を出力する(またはデータ1が反転される)と、ステートマシンは、プログラミングプロセスを終了すべきであることが分かる。それぞれのプロセッサが8個の検知モジュールと通信しているため、ステートマシンはワイアドOR線を8回読み出す必要がある、すなわち、論理をプロセッサ392に追加すれば、対応するビット線の結果を累積して、ステートマシンがワイアドOR線を1回だけ読み出すだけでよいようにすることが可能である。同様に、論理レベルを正しく選択することによって、グローバルステートマシンは、最初のビットがいつその状態を変化させたかを検出して、これにしたがってアルゴリズムを変更することが可能である。
プログラミング中または検証中、プログラム予定のデータは、データバス320からデータラッチ集合394に格納される。プログラム動作は、ステートマシンの制御下にあって、アドレス指定されたセルの制御ゲートに印加される一連のプログラミング電圧パルスから構成される。それぞれのプログラミングパルスの後にリードバックする(検証する)動作を実行して、セルが所望のメモリ状態にプログラムされたかどうかを判定することが可能である。以下にさらに説明するように、適応的技法すなわち「スマート検証」技法を用いて、検証ステップの数を軽減し、これで、検証動作が、指定された記憶素子に対して、指定された時点で開始するようにすることが可能である。プロセッサ392は、リードバックされたメモリ状態を所望のメモリ状態を基準として監視する。両者が一致すれば、プロセッサ392は、ビット線がプログラム禁止を指定する状態にまで引き上げられるように、ビット線ラッチ382を設定する。これによって、ビット線に結合されたセルが、たとえその制御ゲートにプログラミングパルスが入力されても、これ以上プログラミングされることが禁止される。プロセッサが最初にビット線ラッチ382をロードして、検知回路が、それを検証プロセス中に抑止値に設定する実施形態もある。
データラッチスタック394は、検知モジュールに対応するデータラッチのスタックを含んでいる。1つの実施形態では、検知モジュール380ひとつに対して3つのデータラッチが存在する。一部の実施例(必要ではないが)では、データラッチをシフトレジスタとして実現し、これで、その中に記憶されているパラレルデータを、データバス320用にシリアルデータに変換したり、この逆の動作をしたりする。1つの実施形態では、m個のメモリセルの読み出し/書き込みブロックに対応するすべてのデータラッチを一緒にリンクしてブロックシフトレジスタを形成し、これで、データのブロックをシリアル転送で入力したり出力したりすることが可能となるようにしている。特に、読み出し/書き込みモジュールのバンクを適用し、これで、そのデータラッチ集合が、あたかもこれらデータラッチが全体の読み出し/書き込みブロックにとってシフトレジスタの一部であるかのように、データバスに対してデータを順番にシフトインしたりシフトアウトしたりするようにする。
検知モジュール380の動作に関するさらなる説明は、米国特許出願公開第2004/0057287号として2004年3月25日に公開され、ラウル・エイドリアン・サーニア(Raul−Adrian Cernea)とヤン・リー(Yan Li)による、2002年9月24日に出願された「Non−Volatile Memory And Method With Reduced Source Line Bias Errors」という名称の同時係属米国特許出願第10/254,830号と;米国特許出願公開第2004/0109357号として2004年6月10日に公開され、ラウル・エイドリアン・サーニア(Raul−Adrian Cernea)とヤン・リー(Yan Li)による、2003年9月17日に出願された「Non−Volatile Memory And Method with Improved Sensing」という名称の米国特許出願第10/665,828号に見受けられる。検知モジュール380の結果を処理するために用いられる回路の説明が、ラウル・エイドリアン・サーニア(Raul−Adrian Cernea)、ヤン・リー(Yan Li)、シャザド・カリド(Shahzaf Khalid)よびシウ・ルン・チャン(Siu Lung Chan)による、2004年12月29日に出願された「Non−Volatile Memory and Method with Shared Processing for an Aggregate of Read/Write Circuits」という名称の同時係属米国特許出願第11/026,536号と、ヤン・リー(Yan Li)とラウル・エイドリアン・サーニア(Raul−Adrian Cernea)による、2005年4月1日に出願された「Use of Data Latches in Multi−Phase Programming of Non−Volatile Memories」という名称の同時係属米国特許出願第11/097,517号に見受けられる。これら4つの引用出願の全開示内容を参照によりここに組み込む。
図7を参照して、記憶素子アレイ300の構造の例を説明する。一例として、1,024個のブロックに区分けされているNAND型フラッシュEEPROMを説明する。消去動作においては、各ブロックに記憶されたデータは同時に消去される。1つの形態では、ブロックは、同時に消去される素子の最小単位である。本実施形態において、各ブロックには8,512列と、それに対応するビット線BL0〜BL8511がある。4つの記憶素子が直列に接続されてNANDストリングを形成する。各NANDストリングに4つの素子が含まれているように図示されているが、使用する素子の数は4つ以上でも4つ以下でもよい。NANDストリングの一方の端子は、選択トランジスタSGDを介して対応するビット線に接続され、他方の端子は、第2の選択トランジスタSGSを介してC−ソース線に接続されている。
読み出しおよびプログラミング動作の一実施形態の間は、同じワード線を有する8,512の記憶素子のすべてが同時に選択される。したがって、論理ページを形成する1,064バイトのデータを、同時に読み出し又はプログラムすることが可能であり、1つのメモリのブロックは、少なくとも8つの論理ページを記憶することが可能である。マルチステート記憶素子の場合、各記憶素子が2ビットのデータを記憶し、これら2ビットがそれぞれ異なったページに記憶される場合、1つのブロックは16の論理ページを記憶する。2つのプログラミングサイクルを、最初に1ページのデータを有する記憶素子、次に他のページのデータを有する記憶素子をプログラムするために使用することがある。他のサイズのブロックおよびページも、本発明とともに使用されてもよい。さらに、図示する構造以外の構造を、本発明を実施するために使用することもできる。例えば、1つの形態においては、ビット線は、別々にプログラムされかつ読み取られる奇数と偶数のビット線に分割される。
記憶素子の消去は、p−ウェルを消去電圧(例えば、20ボルト)まで引き上げるとともに、選択されたブロックのワード線を接地することによって行われる。ソースおよびビット線はフローティング(浮遊)状態にしておく。消去は、メモリアレイ全体、独立したブロック、又はワード線、ページ、セクターなどのメモリデバイスの一部である別の単位の記憶素子に対して実行することができる。1つの実施形態においては、浮遊ゲートから電子がp−ウェル領域に移動し、閾値電圧は負になる。
読み出しおよび検証動作では、トランジスタをパスゲートとして動作させるために、選択ゲート(SGDおよびSGS)と、選択されないワード線(例えば、WL1が選択されるワード線の場合には、WL0、WL2、およびWL3)が、読み出しパス電圧(例えば、4.5ボルト)まで引き上げられる。選択されたワード線WL1は、各読み出しおよび検証動作について指定されたレベルの電圧に接続され、注目している記憶素子の閾値電圧が指定されたレベルの電圧より上なのか下なのかが判定される。例えば、2レベル型の記憶素子の読み出し動作では、選択されたワード線WL1を接地してもよく、それによって閾値電圧が0Vよりも高いのか否かが検出される。2レベル型の記憶素子の検証動作では、選択されたワード線WL1を例えば0.8Vに接続し、それによって閾値電圧が少なくとも0.8Vに到達しているのか否かが検証される。ソースおよびp−ウェルは0ボルトである。選択されたビット線は、例えば0.7Vのレベルにプリチャージされる。閾値電圧が、ワード線上の読み出し又は検証レベルよりも高い場合には、該当する素子に対応付けられたビット線の電位レベルは、非導電性の記憶素子であるために、ハイレベルに維持される。他方、閾値電圧が、読み出し又は検証レベルよりも低い場合には、注目しているビット線の電位レベルは、導電性の記憶素子がビット線を放電するため、例えば0.5V未満のローレベルに低下する。これによって、記憶素子の状態が、ビット線に接続された電圧比較器センス増幅器により検出される。他の検知タイプである全ビット線(ABL)検知は電流検知を含む。
上記の消去、読み出し、および検証動作は、当業界で知られた技術に従って実行される。したがって、説明した詳細の多くについては、当業者によって変更されることが可能である。当業界で知られた他の消去、読み出しおよび検証技術を使用することもできる。
上述したように、各々のブロックを多くのページに分割することが可能である。一実施形態では、1ページがプログラミングの単位である。いくつかの実施例では、個々のページをセグメントに分割してもよい。セグメントは、基本的なプログラミング動作として一度に書き込まれる最小数の素子を有してもよい。一般的に、1ページ以上のデータが1行の記憶素子に記憶される。1ページに1つ以上のセクターを記憶することが可能である。セクターには、ユーザデータとオーバヘッドデータが含まれる。オーバヘッドデータは、セクターのうちのユーザデータから計算されたエラー訂正符号(ECC)を含んでいる。コントローラの一部が、データがアレイ中にプログラムされている間にECCを計算し、また、データがアレイから読み出されている間にこのECCを用いてデータをチェックする。代替例では、ECCおよび/または他のオーバヘッドデータを、自身が属するユーザデータとは異なったページ、さらには異なったブロックに記憶する。他の形態では、メモリデバイスの他の部分(たとえばステートマシン)がECCを計算可能である。
ユーザデータのセクターは、一般に、磁気ディスクドライブ中のセクターのサイズに対応して512バイトである。オーバヘッドデータは、一般的には追加の16〜20バイトである。多くのページでブロックを形成しているが、そのページ数は、たとえば、8ページ、32ページ、64ページ、さらにこれ以上である。
図8に、それぞれの記憶素子が2ビットのデータを記憶可能な場合の記憶素子アレイの閾値電圧区分を示す。Eは、消去された記憶素子に対する第1の閾値電圧区分を示している。A、BおよびCは、プログラムされた記憶素子に対する3つの閾値電圧区分を示している。1つの設計では、区分E中の閾値電圧は負であり、区分A、BおよびC中の閾値電圧は正である。
異なる閾値電圧範囲のそれぞれが、データビットの集合の所定の値に対応している。記憶素子にプログラムされたデータとこの素子の閾値電圧レベルとの間の具体的な関係は、素子に対して採用されるデータ符号化スキームによって異なる。1つの例では、“11”を閾値電圧範囲E(状態E)に割り当て、“10”を閾値電圧範囲A(状態A)に割り当て、“00”を閾値電圧範囲B(状態B)に割り当て、“01”を閾値電圧範囲C(状態C)に割り当てている。しかしながら、他のスキームを用いている実施形態もある。
記憶素子からデータを読み出すために3つの読み出し基準電圧Vra、Vrb、Vrcが使用される。記憶素子の閾値電圧がVra、VrbおよびVrcより大きいか小さいかをテストすることによって、システムはその記憶素子がどの状態にあるかを判定することが可能である。3つの検証基準電圧Vva、VvbおよびVvcも示されている。記憶素子を状態A、BおよびCにプログラムする際には、本システムは、これらの記憶素子の閾値電圧がそれぞれVva、VvbまたはVvc以上であるかどうかをテストする。
一実施形態では、フルシーケンスプログラミングとして知られているが、記憶素子を、消去状態Eからプログラムされた状態A、BおよびCのうちのどれにでも直接的にプログラムすることが可能である(曲線矢印で示されている)。たとえば、プログラムされる記憶素子の母集団を最初に消去し、これで、この母集団中のすべての記憶素子が消去状態Eとなるようにする。一部の記憶素子が状態Eから状態Aにプログラムされている間に、他の記憶素子を状態Eから状態Bにプログラムしたり、および/または、状態Eから状態Cにプログラムしたりする。
図9に、互いに異なった2つのページ、すなわち、下位ページと上位ページ分のデータを記憶するマルチステート記憶素子をプログラムする2パス式手法の例を示す。4つの状態、すなわち、状態E(11)、状態A(10)、状態B(00)および状態C(01)が示されている。状態Eの場合、両ページとも“1”を記憶している。状態Aの場合、下位ページは“0”を記憶し、上位ページは“1”を記憶している。状態Bの場合、両ページとも“0”を記憶している。状態Cの場合、下位ページは“1”を記憶し、上位ページは“0”を記憶している。ここで、特定のビットパターンがそれぞれの状態に割り当てられているが、別のビットパターンを割り当ててもよい。第1のプログラミングパスでは、素子の閾値電圧レベルが、下位の論理ページにプログラムされるビットにしたがって設定される。このビットが論理“1”での場合、この閾値電圧は変更されないが、これは、前に消去されている結果として適切な状態にあるからである。しかしながら、このプログラムされるビットが論理“0”の場合、この素子の閾値レベルは、矢印730で示すように状態Aにまで引き上げられる。これで、第1のプログラミングパスが完結する。
第2のプログラミングパスでは、素子の閾値電圧レベルが、上位の論理ページにプログラムさていれるビットにしたがって設定される。この上位論理ページビットが論理“1”を記憶するのであれば、なんらプログラミングされない。これは、素子が、下位ページビットのプログラミングに基づいて決まる状態EまたはAの内の一方の状態にあるからである(状態EとAの双方が“1”という上位ページビットを有している)。上位ページビットが論理“0”となるのであれば、閾値電圧はシフトする。第1のパスの結果、素子が消去状態Eのままであれば、第2のフェーズで、素子は、閾値電圧が引き上げられ矢印734で示すように状態C内に移るようにプログラムされる。素子が、第1のプログラミングパスの結果として状態Aにプログラムされていた場合、記憶素子は、矢印732で示すように閾値電圧が引き上げられて状態B内に移るように、第2のパスでさらにプログラムされる。第2のパスの結果、下位ページのデータを変更することなく、上位ページの論理“0”を記憶するように指定された状態に素子をプログラムすることになる。
一実施形態では、1ページ全体を満たすのに十分なデータが書き込まれた場合に、フルシーケンス書き込みを実行するようにシステムをセットアップすることが可能である。1ページ全体を満たすのに十分なデータが書き込まれない場合、プログラミングプロセスは、受信したデータで下位ページをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、下位ページをプログラムするモードで書き込みを始め、次に、ワード線の記憶素子の全部(またはほとんど)を満たすに十分なデータがその後に受信されればフルシーケンスプログラミングモードに変更することが可能である。このような実施形態のより詳細が、その全体を参照によりここに組み込む、発明者サージー・A・ゴロベッツ(Sergy A. Gorobets)とヤン・リー(Yan Li)による、2004年12月14日に出願された「Pipelined Programming of Non−Volatile Memories Using Early Data」という名称の米国特許出願第11/013,125号に開示されている。
図10A〜10Cに、浮遊ゲート間のカップリングを低減する不揮発性メモリをプログラムする別のプロセスを開示する。このプロセスは、前のページの隣り合った記憶素子に書き込んだ後に、特定のページに対する特定の記憶素子に書き込み動作を実行する。一実施例では、不揮発性記憶素子はそのそれぞれが、異なる電圧区分を表す4つのデータ状態を用いて2ビットのデータを記憶する。例えば、状態Eが消去された状態であり、状態A、BおよびCがプログラムされた状態と仮定する。状態E、A、BおよびCのそれぞれはバイナリデータ状態を表す。例えば、状態Eはデータ11を、状態Aはデータ01を、状態Bはデータ00を、状態Cはデータ10を記憶している。隣接する状態の間で一方のビットだけが変化するので、これはグレイコーディングの例である。データをデータの物理状態に符号化する他の方法も用いることが可能である。それぞれの記憶素子が2ページ分のデータを記憶している。参照目的で、これらのページのデータを上位ページと下位ページと呼ぶが、別のラベルを付けることも可能である。状態Aでは、下位ページはビット1を記憶し、上位ページはビット0を記憶する。状態Bでは、双方のページはビット0を記憶する。状態Cでは、下位ページはビット0を記憶し、上位ページはビット1を記憶する。プログラミングプロセスは、2つのステップを有している。第1のステップでは、下位ページをプログラムする。この下位ページがデータ1の状態にとどまることになっている場合、記憶素子の状態は状態Eのままである。このデータが0にプログラムされることになっている場合、記憶素子が中間または暫定的な状態INTにプログラムされるように、記憶素子の閾値電圧VTHを引き上げる。図10Aに、状態Eから状態INTに記憶素子をプログラムする様子を示す。状態INTは中間状態である。したがって、図10Cに示すように検証ポイントを、Vvaと同等の低さであり、かつVvbより低いVvb’で示す。
1つの形態では、ある記憶素子が状態Eから状態INTにプログラムされると、隣り合ったワードライン上のその隣接する記憶素子がその下位ページに関してプログラムされる。その隣接する記憶素子をプログラムした後で、浮遊ゲート間のカップリング作用によって、状態INTである着目している記憶素子の見かけ上の閾値電圧が引き上げられる。これによって、状態INTの閾値電圧区分の幅を図10Bにおいて閾値電圧区分750として示す区分にまで広げる作用を持つ。この閾値電圧区分の見かけ上の拡大は、次のプログラミングステップにおいて上位ページをプログラムするときに修正される。
図10Cは、上位ページをプログラムするプロセスを示している。記憶素子が消去された状態Eにあって上位ページが1のままとどまるのであれば、この記憶素子は状態Eのままである。記憶素子が状態Eにあってその上位ページデータを0にプログラムすることになっているのであれば、この記憶素子の閾値電圧を引き上げて、素子が状態Aに遷移するようにする。記憶素子が中間閾値電圧区分750を示す状態INT750(下位ページは「0」)にあって、上位ページデータがデータ0になることになっている場合、この記憶素子の閾値電圧を必要であれば引き上げて、記憶素子が状態Bとなるようにする。通常、状態INTと状態Bは、状態INTにある記憶素子のいくつかが状態図Bにも存在するようにオーバーラップする。これらの記憶素子は、状態Bに遷移するための追加のプログラムを必要としない。状態Bではなく状態INTにある記憶素子は、状態Bに遷移するための追加のプログラムを必要とする。更に、中間閾値電圧区分が750かつ上位ページのデータが1にプログラムされる予定の記憶素子が状態INTにある場合、該記憶素子は最終状態Cにプログラムされる。より詳細には、これらの素子は状態Bの外部にある、あるいは状態Bとオーバーラップする状態INTから状態Cへ遷移する。
上に述べたプロセスによって、浮遊ゲート同士間の結合による影響が軽減されるが、これは、所与の記憶素子の見かけ上の閾値電圧に影響を及ぼすのは、隣接する記憶素子の上位ページのプログラミングだけであるからである。代替の状態符号化の例としては:状態Eがデータ11を記憶し、状態Aがデータ01を記憶し、状態Bがデータ「10」を記憶し、状態Cがデータ「00」を記憶して、新しいLMコードを形成する。図10A〜10Cに4つのデータ状態と2ページ分のデータに関する例を示しているが、教示されている概念は、状態の数が4以外でありページの数が2とは異なる他の実施例にも適用可能である。さまざまなプログラミング方式と浮遊ゲート同士間の結合とに関するさらなる詳細は、2005年4月5日に出願された「Compensating For Coupling During Read Operations Of Non−Volatile Memory」という名称の米国特許出願第11/099,133号に見つけることが可能である。
スマート検証
不揮発性記憶装置をプログラミングしながら検証を開始する開始点は、従来は、デバイスエンジニアによって決定され、場合によってはROMフューズパラメータと呼ばれていたパラメータによって固定されていた。この開始点は、多くのプログラミングパルスが印加された後での酸化物の捕獲または記憶素子の酸化物中の欠陥のため未使用部品よりプログラム速度が速い使用済み部品の最悪の場合を考慮したものである。このパラメータの設定値は一般には、この使用済み部品が過剰プログラムされないことを保証するように設定される。しかしながら、このような設定値では、プログラム速度が遅い未使用デバイスは、いずれかのビットが検証レベルをパスしてこれ以上のプログラミングパルスを受信しないようにロックアウトされるほど十分にプログラムされる以前に、多くのプログラミングパルスとプログラム検証パルスを受ける。したがって、結果として、プログラミング時間や電力消費の増加を含む非効率が起こる。
図11に、プログラム検証を開始すべき時点を適応的に決定しながらも、順次プログラミングを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す。スマート検証プロセスは、固定パラメータを用いてプログラム検証プロセスの開始点を制御するときの非効率の多くを克服する。それどころか、スマート検証プロセスは、それぞれのページに対するそれぞれの検証プロセスの開始時点を、独立してこのページ中でのプログラミングの速度にしたがって決定する。たとえば、記憶素子は、消去状態Eから直接に状態A、BまたはCのいずれかにプログラムされる(図8を参照)。図11では、時間系列が時点ts、t0、t1、t2、t3、t4、t5、t6およびt7を含んでいる。記憶素子に印加されるプログラミングパルスVpgmの振幅は、より小さい振幅を持つプログラミングパルス同士間の検証動作パルスまたは検証パルスと共にさまざまな時点で示される。検証すべき状態のそれぞれに対して1つの検証パルスが、プログラムパルス同士間で印加されることに留意されたい。たとえば、素子Aだけを検証するときには1つの検証パルスが印加され、素子AとBまたは素子BとCを検証するときには2つのパルスが印加される。
検証A、即ち、状態Aにある記憶素子の検証の開始時点は、プログラミング開始時ts後のプログラミングパルスの数であるROMフューズパラメータNAによって決定することが可能である。一部の実施形態では、NAはゼロであり、最初のプログラミングパルスの後で検証が開始される。それぞれのプログラム検証Aのパルスの直後にまたはこの一部として、検証プロセスが実行されて、プログラミングするように選択されたいずれかの記憶素子が、その目標とするプログラム状態とは無関係に、検証Aのレベル(図8〜10のVva)をパスするかどうかがチェックされる。少なくとも1つのビット線が状態Aにあることが検証された後に、これに対応する内部信号PCVA_FLAGがt1で高レベルとなる。これで、検証Bの開始時点t2を、t1後のプログラムパルスの指定された数NBをカウントすることによって決定することが可能である。NBの適切値は、検証レベルAと検証レベルBの電圧差をワード線プログラム電圧ステップサイズ(連続するプログラミングパルス同士間の振幅の差)で除算した値に基づいて推定して、ROMフューズパラメータとして記憶することが可能である。t3で別の内部信号PCVB_FLAGが立ち上がっており、これは、少なくとも1つのビットがその目標とするプログラム状態とは無関係に検証レベルBをパスしたことを示す。検証Cの開始時点t5を、t3後のプログラムパルスの指定された数NCをカウントすることによって決定することが可能である。NCの適切値は、検証レベルBと検証レベルCの電圧差をワード線プログラム電圧ステップサイズで除算した値に基づいて推定して、ROMフューズパラメータとして記憶することが可能である。時点t4、t6およびt7は、それぞれレベルA、BおよびCでの検証が完了したときを示している。状態Aのデータが存在せず、したがって、内部信号PCVA_FLAGが決して立ち上がらない特殊な場合は、プログラミングの開始時に検出され、この目的のための別の特定的な専用のROMフューズパラメータPCVB_ROMを用いて、状態Bの検証の開始時点を決定することが可能である。同様に、状態Bのデータが存在しない場合は、さらに別の専用のROMフューズパラメータPCVC_ROMを用いて、状態Cの検証の開始時点を決定することが可能である。
図12Aと12Bに、プログラム検証を開始すべき時点を適応的に決定しながらも、ツー・パス(下位ページ/上位ページ)プログラミングシーケンスを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す。図9のツー・パスプログラミング方法に従うと、第1のパスの際には、消去状態Eから状態Aへのプログラミングしか発生しない。図12Aでは、検証Aの開始を示すNAだけが用いられている。上位ページをプログラミングする第2のパスでは、状態Bが状態Aからプログラムされ、状態Cが状態Eからプログラムされる。このプログラミングサイクル中では状態Aのデータが存在しないため、PCVB_ROMを用いて検証を開始し、状態Cの検証の開始時点t3は、スマート検証プロセスを用いて決定してもよい。図12Bを参照すると、t0でプログラミングは開始されるが、このとき、プログラミングパルス同士間には検証パルスは存在せず、t1とt3間で検証Bが発生するだけである。
図10A〜10Cの方法に従ってプログラミングするとき、第2のパスの際、状態INTにある記憶素子を同時に、たとえば、一連のパルスがこれら記憶素子に印加される同じプログラミングサイクルで状態BとCにプログラムすることが可能である。さらに、状態Bは状態INTとオーバーラップする。これらの場合や以下に記載する他の場合では、状態INTから高い状態Cにプログラムされる素子の検証は、他の素子がいつ状態INTから低い状態、たとえば状態INTから状態Bにプログラムされたかに基づいて適応的に開始することが可能である。この技法は、当業者には明らかなように広範囲にわたって適用可能である。
下位ページがプログラムされた後では、状態BまたはCにプログラムすべきどのビットもその閾値電圧はINT区分750の内部に存在する。次の上位ページのプログラミングの際、状態Aは状態Eからプログラムされ、状態BとCは状態INTからプログラムされる。しかしながら、この場合、少なくとも1つのビットが検証Aをパスしたことを検証しても、すでに状態INTにあるビットと間違えられる可能性がある。これが発生するのは、従来の検知方法では、単に、閾値がVVAより大きいビットがあるかを判定しているだけであり、したがって、すでに状態INTにあるビットが、状態Aにちょうど入ってくる新しいビットと一緒に検知されるからである。この問題を克服する1つの方法は、状態Eから状態Aに移動するビットだけの移動を検出することである。これは、状態Aにプログラムされるビットだけを選んで、状態BやCなどの高い状態にプログラムされるすでに状態INTにあるビットを無視することによって実行可能である。検証A以前では、プログラムデータAを持つビット線だけを充電して検知するため、検証Aをパスした少なくとも1ビットの情報が、状態Aにしかプログラムされないビットから得られる。この目的のためにどのビットを用いるかの決定は、プログラミングの開始時にたった1回実行してもよい。このようにして得られた情報を用いて、たとえば、次のNB個のプログラミングパルスにわたる検証Bをスキップすることによって、以前に述べたと同じ方法で検証Bの開始時点を決定する。こうする替わりに、いつ最初のビットが状態Aに到達するかを監視するためにどのビットを用いるかを、プログラミングパルス毎に決定して、専用のラッチがこの情報をプログラミングサイクル全体にわたって保持する必要性を回避するようにしてもよい。この目的のためには、メモリデバイスの1つ以上の管理回路が、状態Aにプログラムされるべき記憶素子に対応付けられるセンス増幅器を制御して、これらの記憶素子の電圧閾値だけを読み出して、同時に、他のすべてのセンス増幅器を、他の記憶素子の電圧閾値を読み出さないように禁止すればよい。これを達成するために必要な回路の詳細は、前に参照した米国特許出願第11/026,536号と第11/097,517号に含まれている。
検証Cの開始時点を決定する際に、すでに状態INTにあるビットが存在すると、検証Bをパスした少なくとも1つのビットを検出することが問題となる。この問題を解決するにはさまざまな方法がある。1つの方式は、上記のようにプログラム検証Aの閾値と交差するビットだけを用いる状態Eからの1ビット検出に基づいて検証Cの開始時点を決定する方式である。ここでは、これらのビットの閾値のプログラムパルス毎の変化は一定であって、状態INTから状態Cへの移動を表しており、したがって、この変化を用いて状態Cに移動するビットの挙動を予測することが可能であるというのが暗黙の前提とされている。これは通常は、プログラミングパルスが数個印加された後では有効であるが、状態Eから移動する「高速ビット」は予期した以上に迅速に移動することがある。
NC個のパルスのカウントを始める開始時点を決定する好ましい方式は、図13Aに示すように低位にプログラムされた側から検証Bレベルをパスしている状態Bの素子を検出することである。INT区分750は、状態Bとオーバーラップしており、これで、一部のビットの閾値がV(図10CのVVbと等価)を上回り、したがってすでに状態Bにあるようになっている様子が示されている。閾値がVにあるビットなどの他のビットは、次いでプログラミングパルスを印加されると移動して、ついにはVを超える。検証Bレベルをパスしたビットを検出するためには、検証Bレベル未満のビットだけを特定して、さらなるプログラミングパルスが印加されるに連れて検証Bレベルを超えて遷移するのを監視しなければならない。これらのビットを選ぶ1つの方法は、少なくとも1つのビットが検証Aレベルをパスした後ですべてのビット線に対する通常の検証Bレベルより低い閾値Vで1つの特殊な検証Bを実行することである。状態Aだけが検証されるNA個のプログラミングパルスの印加後、検証Bを通常の検知ポイントVVB(図13AではVとして表されている)で実行する。閾値がV未満のビットを監視して、これらのうちの1つがいつVレベルをパスしたかを判定する。
このようなビットを選んでNC個のパルスのカウントをいつ始めるかを決定する代替方法は、INT母集団中で(Vではなく)V未満のすべてのビットを選んで、少し高い検証レベルV'をそれが横断して移動するのを監視して、Vより少し下の閾値を持つあらゆるビットが実際に移動し、また、検出増幅器に関連するノイズによって簡単には検出されないことを保証することである。V'はVより20mVから30mVだけ高くなることがある。この方式は、Vを、その値が他の考慮によって決定されるような(粗/密プログラミングなどの)他の目的に用いる際に好ましい。
図13Bに示すように、VとVを選んで、粗/密プログラミング技法を実施することが可能である。図13Bは、記憶素子の閾値電圧が時間とともに変化する様子を示し、図13Cは、プログラムされている記憶素子に対応するビット線に印加されるビット線電圧を示している。記憶素子のプログラミングは、そのビット線電圧レベルを増加させることによって減速させることが可能であり、これによって、印加されるプログラミング電圧パルスVpgmによる影響が弱められる。図13CではV1として示されているこの電圧レベルの大きさは典型的には0.3〜0.7ボルトの範囲にある。これによって、記憶素子の閾値電圧を、粗プログラミング中に最初により迅速に所望のレベルまで増加させ、次に、密プログラミング中によりゆっくりと増加させることが可能となる。粗プログラミングは電圧閾値がV未満のときに発生し、密プログラミングは電圧閾値がVとV間にあるときに発生する。記憶素子は、その電圧閾値レベルがVを超えれば、禁止モードとなって、これ以上プログラミングと検証されないようにロックアウトされる。VとVは、粗/密プログラミング技法に対応付けられる必要はないが、代わりに適切な値として選ぶことが可能である。そのうえ、互いに異なったVとVの値を、マルチステート記憶素子の互いに異なった状態、たとえば状態A、BおよびCに対応付けて、さまざまな状態を粗/密プログラミングすることが可能である。このタイプの粗/密プログラミングが、その全体を参照によりここに組み込む米国特許第6,643,188号に記載されている。
を粗/密プログラミングのために用いる1つの方式では、Vでの特殊な検証を、PCVA_FLGが高レベルになった直後にたった1回だけ実行する。プログラムデータBを持ったビット線だけが、この検証のために選択される。この1回の特殊検証の後では、プログラム検証シーケンスは、次のNB個のサイクルに対して検証Aだけを用いて継続される。状態Bでの検証が開始された後では、状態Bにある1つのビットが検出されるまで、V'検証レベルを用いる。検証Bを実行するというこの特殊な方法を用いて、以前の特殊なV検証で特定されたビットだけを監視して1ビット検出のために用いて、1ビットが検証Bレベルをパスしたことを示すPCVB_FLG信号を判定する。次に、このフラグを用いて、検証Cを開始する開始時点を予測することが可能である。PCVB_FLGが検出された後では、図15を以下に解説する際に説明するように、閾値電圧がV未満であると特定されなかった残りの状態Bの記憶素子に対して、通常のプログラム検証Bが実行される。いったん状態Bの検証が始まると、それぞれの状態Bの検証サイクルに、Vでの検証とV(またはV')での別個の検証が組み込まれる。Vというワード線電圧を用いる検証では、状態Bにプログラムされるがまだこの状態にはないビットを2つのカテゴリ、すなわち、閾値がV未満であり、次のプログラミングサイクル中ではプログラミング全電圧を受けるビットと、閾値がVとV(またはV')間にあって、次のプログラミングサイクル中に減じられたプログラミング電圧を受けるビットとに分割する。
図14に、下位ページのデータを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す。INT状態にプログラムされるべき記憶素子にプログラミング電圧パルスを印加することによって、プログラミングはt0で開始される。NINT個のパルスが印加された後では、記憶素子に対する検証がt1で始まる。t2で、これらビットのうちの1つが、消去状態からINT状態に遷移したことが検証される。t3で、INT状態のプログラムされるべき記憶素子のビットのすべてが、この状態に到達したことが検証され、下位ページデータのプログラミングが完結する。
図15に、図14で発生する時間系列に続いて、上位ページのデータを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す。ある例では、状態Eから状態Aにプログラムされる記憶素子と、INT状態から状態BまたはCにプログラムされる記憶素子にプログラミングパルスが印加される。t0で、状態Aにプログラムされる記憶素子の検証が始まる。このプログラミングパルスの初期振幅は、典型的には、図14の開始時で用いられる値未満か或いは同じである。その結果、INT状態にあるビットの分布がこれらのプログラミングパルスによって影響される程度はほんの最小程度のものとなるが、これは、これらのビットがこの状態に到達するのにきわめて高いパルス振幅を要したからである。t1では、状態Aにある最初のビットを検証する。また、t1では、状態Bにプログラムされる予定であり、現在の閾値がV未満である記憶素子を、追加の特殊なプログラミングパルスを印加することによって特定する。これら記憶素子の特定条件はB<Vであるとされるが、この条件は状態Aの最初のビットの検証のそれと一致する必要はないが、一般に、記憶素子がINTから状態Bに遷移するものと予期される以前に発生する。t2でNB個のプログラミングパルスをスキップした後、前に特定された記憶素子を追跡して、検証レベルとしてV'を用いて、これら記憶素子のうちの最初の素子がいつ状態Bに遷移したことが検証されたかを判定する。この時点で、状態Bにプログラムされる記憶素子の残りの素子に対する検証へと進む。これら記憶素子の一部は、状態BとオーバーラップするINTの部分にあり、したがって、即座に検証される(または、B<Vという特定の一部としてロックアウトされている)。NC個のプログラミングパルスをスキップした後、状態Cにプログラムされる記憶素子に対してt5で検証が始まる。したがって、状態Cにある素子の検証の開始は、状態Bの素子がいつV未満からV'に遷移したか、すなわち、一般的には、INT区分内部の状態B区分の外の電圧閾値から、Vより大きい検知および/またはノイズのマージンレベルを用いて決定された状態B区分中の電圧閾値にいつ遷移したかの判定に基づいて適応的に設定される。A、BおよびCのレベルでの検証は、それぞれ例示の時点t4、t6およびt7で完了されている。
(図13Cの粗/密プログラミングを用いない場合の)可能な別の方式では、最初の特殊検証BはVでだけのものであり、この検証レベルをパスしたビットはロックアウトされるが、これは上記の方式の場合と同じである。検証Bの開始点の後では、VからVにパスするあらゆるビットを監視して、判断目的で1ビット検出を判定する。
ここに記載した技法は、他のさまざまなプログラミングの事例に適用可能である。たとえば、4つのバイナリデータレベルを有するマルチステート記憶素子を解説したが、このデータレベル数より少ないまたは多いレベルを有する記憶素子を用いることも可能である。そのうえ、プログラミングは、2ページ分のデータを用いて発生する必要はなく、このページ数より少なくても多くても、さらに、ページに基づくものではないプログラミング方式を用いても可能である。
図16Aと16Bに、適応的な検証を用いて、不揮発性記憶装置をプログラミングするプロセスを説明するフローチャートを示す。これらのプロセスは、たとえば、異なるページのデータに基づいて異なる複数のワードラインを並列にプログラムするときに実行することが可能である。図14も参照されたい。図16Aでは、ステップ802で、たとえば下位ページのデータにしたがってプログラミングが始まる。ステップ804で、1つの例示の実施例では、INT状態にプログラムされる記憶素子に対してプログラミング(Vpgm)パルスが印加される。次いで、状態BやCにプログラムされる素子が存在する。この下位ページのデータは0または1だけであるが、ここで0は、プログラミングが発生することを意味する。ステップ806で、NINT個のパルスの後では、記憶素子がINT状態に到達したかどうかを判定するための検証が始まる。ステップ808で、INT状態にプログラムされる素子がすべてINT状態に到達したときに、プログラミングは終了する。
図16B中、ステップ810で、上位ページのデータにしたがったプログラミングが始まる。図15も参照のこと。ステップ812で、Vpgmパルスが、状態AやBやCにプログラムされる素子に対して印加される。ステップ814で、状態Aにプログラムされる記憶素子に対する検証が始まる。ステップ816で、最初の記憶素子が状態Aに到達すると、特定処理を実行して、状態Bにプログラムされる予定であって、現在は状態Bに対応する低い電圧閾値であるV未満の電圧閾値VTHを有する1つ以上の素子を特定する。ステップ818で、NB個のプログラミングパルスの後で、特定された状態Bの素子の検証が始まる。ステップ820で、特定された素子のうちの1つ以上がV未満からV'に遷移すると、状態Bにプログラムされる他の記憶素子の検証が開始される。ステップ822で、NC個のプログラミングパルスが印加された後、状態Cにプログラムされる素子の検証が始まる。ステップ824で、状態A、BおよびCにプログラムされる記憶素子がそれぞれの状態に到達したことが検証されたとき、プログラミングは終了する。
図17に、下位ページと上位ページのデータを用いて不揮発性記憶装置をプログラミングするプロセスを説明するフローチャートを示す。図16のプロセスは図17のプロセスに統合することが可能である。このプロセスは、ステップ900に示すように、データをプログラムする要求を受信するとこれに応答して開始することが可能である。ステップ902で、プログラムすべきメモリの適切な部分を選択する。ステップ904で、サイクルカウントをインクリメントする。プログラミングサイクルの数のカウント値であるこのサイクルカウントは、フラッシュメモリアレイ、ステートマシン、コントローラまたは別の場所に記憶して、記憶素子の使用状況を追跡することが可能である。1つの実施形態では、このサイクルカウントは、ステートマシンと結び付いているレジスタに記憶される。ステップ906で、選択されたメモリ部分をオプションとして事前プログラムするが、これは、フラッシュメモリが消耗した場合に備えたものである。選択されたセクターまたはページ中のすべての記憶素子を、同じ閾値電圧範囲にプログラムする。ステップ908で、次に、プログラムされるすべての記憶素子を消去する。たとえば、この処理では、古い記憶素子を状態Eに移動させることが含まれる。ステップ910で、ソフトプログラミングによって、消去プロセスの間にこれら記憶素子の一部の素子の閾値電圧が区分Eより下の値にまで下がる可能性があるという問題を解決する。このソフトプログラミングプロセスでは、記憶素子の閾値電圧が閾値電圧区分Eの範囲内にまで上昇するように、プログラム電圧パルスを記憶素子に印加する。言い換えれば、過剰消去されたメモリビットをソフトにプログラムして、消去母集団を引き締める。
ステップ912で、次のデータに従ったプログラミングが始まる。たとえば、このデータは下位ページから得られたものでも上位ページから得られたものでもよい。ステップ914で、本システムは、初期プログラムパルスの大きさを、たとえば、電荷ポンプを適正にプログラミングすることによって設定する。ステップ916で、プログラムカウントPCをゼロに初期設定する。ステップ918で、プログラムパルスを適切なワード線に印加する。ステップ920で、そのワード線上にある記憶素子が目標とする閾値電圧レベルに到達したかどうかを検証する。すべての記憶素子が目標閾値電圧レベルに到達して、その検証が成功したら(ステップ922)、パスステータスが設定され(ステップ932)、次のデータのプログラミングがステップ912で始まる。前述したように、追加のプログラミングと検証が発生する。いったんすべての記憶素子がプログラムされたことがデータに基づいて検証されたら、このプログラミングプロセスは成功裏に終了したことになる。このプログラミングは、すべてのデータがプログラムされるまで、連続するページ番号であるページ0、1、2、3などによって進行することが可能である。
ステップ922で検証された記憶素子が全数ではなかった場合、ステップ924で、プログラムカウントPCがたとえば20といった制限値PC_maxまたは、たとえばページに依存し得る適応制限値未満であるかどうかを判定する。プログラムカウントがPC_max未満でなければ、プログラミングプロセスはフェイルしたことになる(ステップ934)。プログラムカウントがPC_max未満であれば、ステップ926で、次のパルスに対してプログラム電圧信号Vpgmの大きさをステップサイズ(たとえば0.3V)だけ増加して、プログラムカウントPCをインクリメントする。目標閾値電圧に到達したこれらの記憶素子は、現在のプログラミングサイクルの残りの部分に対するプログラミングからロックアウトされることに留意されたい。このプロセスは、記憶素子のそれぞれに対してパスステータスまたはフェイルステータスが宣言されるまで繰り返される。
本発明に関する前述の詳細な説明は、例証と説明のために提示されたものである。本発明を開示する形態そのもので尽きたり、これに限るということを意図するものではない。上記の教示に照らし合わせて、多くの修正例や変更例が可能である。説明した実施形態は、本発明とその実際の応用例の原理がもっともよく説明され、これによって、他の当業者が、想定される特定の用途に適しているさまざまな実施形態で、また、さまざまな修正をもって、本発明を利用することが可能となるように選ばれたものである。本発明の範囲は添付した特許請求の範囲によって定義されることを意図するものである。
図1は、NANDストリングの上面図である。 図2は、図1のNANDストリングの等価回路図である。 図3は、図1のNANDストリングの断面図である。 図4は、3つのNANDストリングを示す回路図である。 図5は、不揮発性メモリシステムのブロック図である。 図6は、図5の不揮発性メモリシステムのセンスブロックを示すブロック図である。 図7は、不揮発性メモリアレイのブロック図である。 図8は、消去状態からプログラム状態へ直接プログラミングされるマルチステートデバイスの閾値電圧区分の組の例示を示す図である。 図9は、消去状態からプログラム状態にツー・パスでプログラミングされるマルチステートデバイスの閾値電圧区分の組の例示を示す図である。 図10Aは、さまざまな閾値電圧区分を示し、不揮発性メモリをプログラミングするプロセスを説明する図である。 図10Bは、さまざまな閾値電圧区分を示し、不揮発性メモリをプログラミングするプロセスを説明する図である。 図10Cは、さまざまな閾値電圧区分を示し、不揮発性メモリをプログラミングするプロセスを説明する図である。 図11は、プログラム検証をいつ開始すべきであるかを適応的に決定しながらも、順次プログラミングを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す図である。 図12Aは、プログラム検証をいつ開始すべきであるかを適応的に決定しながらも、ツー・パス(下位ページ/上位ページ)プログラミングシーケンスを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す図である。 図12Bは、プログラム検証をいつ開始すべきであるかを適応的に決定しながらも、ツー・パス(下位ページ/上位ページ)プログラミングシーケンスを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す図である。 図13Aは、不揮発性記憶素子の遷移を追跡するプロセスを説明する図である。 図13Bは、ビット線禁止電圧を設定することによってどのように粗プログラミングと密プログラミングが達成されるかを示す時系列を示す図である。 図13Cは、ビット線禁止電圧を設定することによってどのように粗プログラミングと密プログラミングが達成されるかを示す時系列を示す図である。 図14は、下位ページのデータを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す図である。 図15は、図14の時間系列に続いて、上位ページのデータを用いて不揮発性記憶素子をプログラミングする際の事象の時間系列を示す図である。 図16Aは、適応検証を用いて、下位ページのデータに基づいて不揮発性記憶装置をプログラミングするプロセスを説明するフローチャートを示す図である。 図16Bは、適応検証を用いて、上位ページのデータに基づいて不揮発性記憶装置をプログラミングするプロセスを説明するフローチャートを示す図である。 図17は、下位ページと上位ページのデータを用いて不揮発性記憶装置をプログラミングするプロセスを説明するフローチャートを示す図である。

Claims (25)

  1. 不揮発性記憶素子の集合中で、それぞれの電圧閾値が第1の電圧閾値区分内に存在する不揮発性記憶素子の少なくとも第1と第2の部分集合を、前記第1の部分集合中の前記不揮発性記憶素子のうちの少なくとも1つの素子の電圧閾値が前記第1の電圧閾値区分とオーバーラップする第2の電圧閾値区分に遷移し、前記第2の部分集合中の前記不揮発性記憶素子のうちの少なくとも1つの素子の電圧閾値が前記第1と第2の電圧閾値区分の外部にある第3の電圧閾値区分に遷移するようにプログラミングするステップと、
    前記第1の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が前記第2の電圧閾値区分に遷移した時点を判定するために当該素子の電圧閾値を追跡するステップと、
    前記追跡ステップの処理に応答して、前記第2の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が前記第3の電圧閾値区分に遷移した時点を検証するための検証プロセスをいつ開始するかを決定するステップと、
    を有することを特徴とする不揮発性記憶装置をプログラミングする方法。
  2. 前記検証プロセスが、前記第1の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の前記電圧閾値が前記第2の電圧閾値区分に遷移したことが判定された後に、所定の数の電圧パルスが前記第2の部分集合の不揮発性記憶素子に印加された後で開始されることを特徴とする請求項1に記載の方法。
  3. 前記追跡するステップは、前記第1の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が、前記第2の電圧閾値区分よりも低位にある低電圧閾値を過ぎ、続いて、前記第2の電圧閾値区分内にある高電圧閾値を過ぎることを追跡することを含むことを特徴とする請求項1に記載の方法。
  4. 前記第1の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子を、当該素子の電圧閾値が前記低電圧閾値未満であるときには高速プログラムモードでプログラミングし、当該素子の電圧閾値が前記低電圧閾値と前記高電圧閾値の間にあるときには低速プログラムモードでプログラミングするステップをさらに含むこと特徴とする請求項3に記載の方法。
  5. 前記高電圧閾値が、前記第2の電圧閾値区分の下限界値をマージンだけ超えていることを特徴とする請求項3に記載の方法。
  6. 前記マージンが、検知マージンとノイズマージンのうちの少なくとも一方を含むことを特徴とする請求項5に記載の方法。
  7. 前記追跡するステップは、前記第1の部分集合の前記不揮発性記憶素子のうちのどの素子が、前記第2の電圧閾値区分より低位の電圧閾値を有しているかを判定することによって、前記第1の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子を特定するステップを含んでいることを特徴とする請求項1に記載の方法。
  8. 不揮発性記憶素子の前記集合が、複数のNANDストリングに配列されていることを特徴とする請求項1に記載の方法。
  9. 前記第2と第3の閾値電圧区分が互いに異なるバイナリデータ状態を表すことを特徴とする請求項1に記載の方法。
  10. 前記検証プロセスが、前記第1の部分集合の前記不揮発性記憶素子のうちのいずれかの素子の電圧閾値が前記第2の電圧閾値区分に遷移したとの判定に応答して開始されることを特徴とする請求項1に記載の方法。
  11. 不揮発性記憶素子の集合と、
    不揮発性記憶素子の集合と通信する1つ以上の管理回路を備えており、
    前記1つ以上の管理回路は、データをプログラムする要求を受信し、その要求に応答して、(a)第1のデータにしたがって、それぞれの電圧閾値が少なくとも第1の電圧閾値区分とこれより高い中間電圧閾値区分に入るように、前記不揮発性記憶素子集合中のそれぞれの不揮発性記憶素子をプログラムし、(b)前記それぞれの不揮発性記憶素子を第2のデータにしたがってプログラムし、これによって、前記第1の電圧閾値区分に入った前記不揮発性記憶素子の第1の部分集合が前記第1の電圧閾値区分内に留まり、前記第1の電圧閾値区分に入った前記不揮発性記憶素子の第2の部分集合がより高い第2の電圧閾値区分に入るようにプログラムされ、前記中間電圧閾値区分に入るが前記中間電圧閾値区分とオーバーラップする第3の電圧閾値区分の外部にある前記不揮発性記憶素子の第3の部分集合が前記第3の電圧閾値区分に入るようにプログラムされ、前記中間電圧閾値区分に入る前記不揮発性記憶素子の第4の部分集合がより高い第4の電圧閾値区分に入るようにプログラムされ、(c)前記第3の部分集合の前記不揮発性記憶素子のうちの少なくとも1つの素子の電圧閾値を追跡して、当該電圧閾値が前記第3の電圧閾値区分に遷移した時点を判定し、(d)前記追跡に応答して、前記第4の部分集合の前記不揮発性記憶素子のうちの少なくとも1つの素子の電圧閾値が前記第4の電圧閾値区分に遷移する時点を検証するための検証プロセスをいつ開始するかを決定する、
    ことを特徴とする不揮発性記憶システム。
  12. 前記1つ以上の管理回路が、前記第2の部分集合の前記不揮発性記憶素子のうちの少なくとも1つの素子の電圧閾値が前記第2の電圧閾値区分に遷移した時点を判定し、その判定に応答して前記追跡動作が開始されることを特徴とする請求項11に記載の不揮発性記憶システム。
  13. 前記1つ以上の管理回路が、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が、前記第3の電圧閾値区分よりも低位にある低電圧閾値を過ぎ、続いて、前記第3の電圧閾値区分内にある高電圧閾値を過ぎることを追跡することを特徴とする請求項11に記載の不揮発性記憶システム。
  14. 前記1つ以上の管理回路は、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子を、当該素子の電圧閾値が前記低電圧閾値未満であるときには高速プログラムモードでプログラミングし、当該素子の電圧閾値が前記低電圧閾値と前記高電圧閾値の間あるときには低速プログラムモードでプログラミングすることを特徴とする請求項13に記載の不揮発性記憶システム。
  15. 前記1つ以上の管理回路が、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値を検知するために当該素子に対応付けられている少なくとも1つの検知増幅器を制御するとともに、前記第4の部分集合の前記不揮発性記憶素子のうちの少なくとも1つの素子に対応付けられた少なくとも1つの検知増幅器がその電圧閾値を検知することを禁止することを特徴とする請求項11に記載の不揮発性記憶システム。
  16. 前記高電圧閾値が、前記第3の電圧閾値区分の下限界値をマージンだけ超えていることを特徴とする請求項13に記載の不揮発性記憶システム。
  17. 前記マージンが検知マージンとノイズマージンのうちの少なくとも一方を含むことを特徴とする請求項16に記載の不揮発性記憶システム。
  18. 前記第1と第2のデータがそれぞれ下位と上位の論理ページを含んでいることを特徴とする請求項11に記載の不揮発性記憶システム。
  19. 不揮発性記憶素子の前記集合が、複数のNANDストリングに配列されていることを特徴とする請求項11に記載の不揮発性記憶システム。
  20. 前記1つ以上の管理回路は、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が前記第3の電圧閾値区分に遷移したことを前記追跡動作が判定したときに、前記検証プロセスを開始することを特徴とする請求項11に記載の不揮発性記憶システム。
  21. 前記1つ以上の管理回路は、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子の電圧閾値が前記第3の電圧閾値区分に遷移したことが前記追跡動作で判定した後に、所定数のプログラミングパルスが前記第4の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子に印加された後で、前記検証プロセスを開始することを特徴とする請求項11に記載の不揮発性記憶システム。
  22. 前記1つ以上の管理回路は、前記第3の部分集合の前記不揮発性記憶素子を、それらのそれぞれの電圧閾値が前記第3の電圧閾値区分に遷移したときにさらにプログラミングしないようにロックアウトするとともに、前記第4の部分集合の前記不揮発性記憶素子のプログラミングを、それらのそれぞれの電圧閾値が前記第4の電圧閾値区分に遷移するまで継続させることを特徴とする請求項11に記載の不揮発性記憶システム。
  23. 前記第2の電圧閾値区分が前記中間電圧閾値区分とオーバーラップしていることを特徴とする請求項11に記載の不揮発性記憶システム。
  24. 前記第1、第2、第3および第4の電圧閾値区分が互いに異なるバイナリデータ状態を表すことを特徴とする請求項11に記載の不揮発性記憶システム。
  25. 前記追跡動作は、前記第3の部分集合の前記不揮発性記憶素子のうちのどの素子が前記第3の電圧閾値区分より低位の電圧閾値を有しているかを判定することによって、前記第3の部分集合の前記不揮発性記憶素子のうちの前記少なくとも1つの素子を特定することを特徴とする請求項11に記載の不揮発性記憶システム。
JP2008538049A 2005-10-27 2006-10-26 スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法 Active JP4855474B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/260,658 US7301817B2 (en) 2005-10-27 2005-10-27 Method for programming of multi-state non-volatile memory using smart verify
US11/259,799 2005-10-27
US11/260,658 2005-10-27
US11/259,799 US7366022B2 (en) 2005-10-27 2005-10-27 Apparatus for programming of multi-state non-volatile memory using smart verify
PCT/US2006/042179 WO2007050976A1 (en) 2005-10-27 2006-10-26 Method for programming of multi-state non-volatile memory using smart verify

Publications (2)

Publication Number Publication Date
JP2009514138A true JP2009514138A (ja) 2009-04-02
JP4855474B2 JP4855474B2 (ja) 2012-01-18

Family

ID=37806696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008538049A Active JP4855474B2 (ja) 2005-10-27 2006-10-26 スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法

Country Status (6)

Country Link
EP (1) EP1946323B1 (ja)
JP (1) JP4855474B2 (ja)
KR (1) KR101314306B1 (ja)
AT (1) ATE518229T1 (ja)
TW (1) TWI311762B (ja)
WO (1) WO2007050976A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150749A (ja) * 2010-01-20 2011-08-04 Toshiba Corp 不揮発性半導体記憶装置
KR20110093077A (ko) * 2010-02-11 2011-08-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2014503932A (ja) * 2010-12-15 2014-02-13 マイクロン テクノロジー, インク. セグメント化されたプログラミングの方法およびメモリデバイス

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813188B2 (en) * 2007-09-10 2010-10-12 Hynix Semiconductor Inc. Non-volatile memory device and a method of programming a multi level cell in the same
US7768836B2 (en) * 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
KR100996108B1 (ko) 2009-01-21 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101012982B1 (ko) 2009-06-30 2011-02-10 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
US9564226B1 (en) * 2015-10-30 2017-02-07 Sandisk Technologies Llc Smart verify for programming non-volatile memory
TWI604449B (zh) * 2016-08-31 2017-11-01 旺宏電子股份有限公司 記憶體裝置與其程式化方法
US11532354B2 (en) 2020-03-22 2022-12-20 Silicon Storage Technology, Inc. Precision tuning of a page or word of non-volatile memory cells and associated high voltage circuits for an analog neural memory array in an artificial neural network
KR20220120033A (ko) 2021-02-22 2022-08-30 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192789A (ja) * 2002-11-29 2004-07-08 Toshiba Corp 半導体記憶装置
JP2006509326A (ja) * 2002-12-05 2006-03-16 サンディスク コーポレイション 多状態メモリのための高性能検証

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
KR100253868B1 (ko) * 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
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
US6538923B1 (en) * 2001-02-26 2003-03-25 Advanced Micro Devices, Inc. Staircase program verify for multi-level cell flash memory designs
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192789A (ja) * 2002-11-29 2004-07-08 Toshiba Corp 半導体記憶装置
JP2006509326A (ja) * 2002-12-05 2006-03-16 サンディスク コーポレイション 多状態メモリのための高性能検証

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150749A (ja) * 2010-01-20 2011-08-04 Toshiba Corp 不揮発性半導体記憶装置
KR20110093077A (ko) * 2010-02-11 2011-08-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2011165303A (ja) * 2010-02-11 2011-08-25 Samsung Electronics Co Ltd フラッシュメモリ装置及びそのプログラム方法
US9076534B2 (en) 2010-02-11 2015-07-07 Samsung Electronics Co., Ltd. Flash memory device using adaptive program verification scheme and related method of operation
US9406394B2 (en) 2010-02-11 2016-08-02 Samsung Electronics Co., Ltd. Flash memory device using adaptive program verification scheme and related method of operation
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2014503932A (ja) * 2010-12-15 2014-02-13 マイクロン テクノロジー, インク. セグメント化されたプログラミングの方法およびメモリデバイス

Also Published As

Publication number Publication date
KR101314306B1 (ko) 2013-10-02
TW200733114A (en) 2007-09-01
EP1946323A1 (en) 2008-07-23
TWI311762B (en) 2009-07-01
JP4855474B2 (ja) 2012-01-18
ATE518229T1 (de) 2011-08-15
KR20080089335A (ko) 2008-10-06
EP1946323B1 (en) 2011-07-27
WO2007050976A1 (en) 2007-05-03

Similar Documents

Publication Publication Date Title
US7492634B2 (en) Method for programming of multi-state non-volatile memory using smart verify
JP4855474B2 (ja) スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
JP5439488B2 (ja) 不揮発性メモリアレイの最終ワードラインのデータ保持力改善
EP2351041B1 (en) Programming non-volatile memory with high resolution variable initial programming pulse
JP5444468B2 (ja) パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム
JP5113195B2 (ja) 閾値電圧区分に基づく動的検証
US7366022B2 (en) Apparatus for programming of multi-state non-volatile memory using smart verify
KR101048834B1 (ko) 프로그래밍 중의 커플링 보상
KR101073116B1 (ko) 커플링을 사용하는 이웃 감지에 기반한 커플링 보상
WO2008083131A2 (en) Method for programming with initial programming voltage based on trial
JP5174829B2 (ja) 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
JP2013514601A (ja) 高速ビット検出及び検証スキップを有する不揮発性記憶のプログラミング
WO2014137651A1 (en) Non-volatile storage with process that reduces read disturb on end wordlines
EP2577671A1 (en) Programming non-volatile storage with synchronized coupling
JP2012511790A (ja) メモリのための適応消去及びソフトプログラミング
JP4995273B2 (ja) 異なる電圧を使用する不揮発性記憶装置のための検証動作
JP2013524400A (ja) メモリにおけるプログラムノイズ低減のための鋸形のマルチパルスプログラミング
KR100984563B1 (ko) 프로그램 혼란이 감소된 nand 타입 비휘발성 메모리의최종-최초 모드 및 프로그래밍 방법
JP5134007B2 (ja) 早期ソース側ブーストを用いた不揮発性記憶装置におけるプログラム妨害の低減
JP2010508615A (ja) 不揮発性メモリに用いられる最高マルチレベル状態の高速プログラミング

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110512

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111026

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

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4855474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250