JP4490977B2 - 不揮発性メモリのプログラミング方法 - Google Patents

不揮発性メモリのプログラミング方法 Download PDF

Info

Publication number
JP4490977B2
JP4490977B2 JP2006551121A JP2006551121A JP4490977B2 JP 4490977 B2 JP4490977 B2 JP 4490977B2 JP 2006551121 A JP2006551121 A JP 2006551121A JP 2006551121 A JP2006551121 A JP 2006551121A JP 4490977 B2 JP4490977 B2 JP 4490977B2
Authority
JP
Japan
Prior art keywords
programming
volatile storage
reached
threshold
bit line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006551121A
Other languages
English (en)
Other versions
JP2007519161A (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
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2007519161A publication Critical patent/JP2007519161A/ja
Application granted granted Critical
Publication of JP4490977B2 publication Critical patent/JP4490977B2/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/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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Description

本発明は、一般に、メモリデバイスのプログラミングのための技術に関する。
半導体メモリデバイスは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティング装置、非モバイルコンピューティング装置、およびその他の装置の中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュメモリは、特に普及している不揮発性半導体メモリである。
一般的なEEPROMおよびフラッシュメモリは、浮遊ゲートを有するメモリセルを利用する。浮遊ゲートは、半導体基板内のチャネル領域の上に、チャネル領域から絶縁されて設けられている。チャネル領域は、ソース領域とドレイン領域との間のp−ウェル内に位置している。浮遊ゲートの上には、浮遊ゲートから絶縁されている制御ゲートが配置されている。メモリセルのしきい値電圧は、浮遊ゲートに保持される電荷の量によって制御される。即ち、メモリセルをソースとドレインとが導通するオン状態にするために制御ゲートへ印加する電圧の最小値は、浮遊ゲートに保持される電荷のレベルによって決まる。
一部のEEPROMおよびフラッシュメモリデバイスは、2つの範囲で電荷を保持可能な浮遊ゲートを有している。この場合、メモリセルは、2つの状態の間でプログラム/消去されることが可能である。マルチビット又はマルチステートのフラッシュメモリセルは、複数の異なるしきい値電圧範囲をデバイス内で識別することにより実装される。異なるしきい値電圧範囲のそれぞれは、データビットの組の、所定の値に対応する。メモリセル内にプログラムされるデータと、セルのしきい値電圧レベルとの間の特定の関係は、セルのために採用されるデータ符号化方式に依存する。例えば、米国特許第6,222,762号明細書、および2003年6月13日出願の「Tracking Cells For A Memory System」と題した米国特許出願第10/461,244号明細書(これらの両方は、それらの全体が参照により本明細書に援用されるものとする)には、マルチステートフラッシュメモリセルのためのさまざまなデータ符号化方式が記載されている。マルチステートセルで適切にデータを記憶するためには、マルチステートメモリセルの複数のしきい値電圧レベルの範囲を、十分な差を持って互いに分離しておく必要がある。それにより、メモリセルを各レベルに明確にプログラム又は消去することができる。
EEPROM又はフラッシュメモリデバイスをプログラミングする場合、制御ゲートにプログラム電圧を印加し、ビット線を接地される。浮遊ゲート内には、チャネルから電子が注入される。浮遊ゲート内に電子が蓄積すると、浮遊ゲートは負に帯電し、メモリセルのしきい値電圧が上昇する。
通常、制御ゲートに印加されるプログラム電圧Vpgmは、図1に示すような一連のパルスが用いられる。パルスの大きさは、連続するパルス毎に、所定のステップサイズ(例えば0.2V)ずつ増加する。パルスとパルスとの間の期間に、ベリファイ動作が実行される。即ち、平行してプログラムされるセル群の各セルのプログラミングレベルをプログラム電圧の各パルス間に読み出し、プログラムされるベリファイレベル以上であるのか否かを判定する。プログラミングをベリファイする一方法は、特定の比較点において導通をテストすることである。セルが十分にプログラムされたとベリファイされると、例えばビット線電圧を0からVddに引き上げることによってロックアウトし、そのセルへのプログラミング処理を停止する。例えば図2は、しきい値電圧(Vth)と時間との関係、およびビット線電圧(Vbl)と時間との関係を示すグラフである。図1のプログラム電圧Vpgmをメモリセルに印加している間、メモリセルのしきい値電圧は増加していく。メモリセルのしきい値電圧がベリファイレベル(例えばVver1)に到達すると、ビット線電圧はVinhibit(例えば、Vdd)に引き上げられる。上記の技術、および本明細書に記載するその他の技術は、さまざまな自己昇圧技術(例えば2003年3月5日出願の「Self Boosting Technique」と題した米国特許出願第10/379,608号明細書(その全体が参照により本明細書に援用されるものとする)に記載されているようなもの)と組み合わせて使用されてもよい。さらに、2002年12月5日出願の「Smart Verify for Multi−State Memories」と題した米国特許出願第10/314,055号明細書(その全体が参照により本明細書に援用されるものとする)に記載されているような、効率的なベリファイ技術が使用されてもよい。
図2に示すようなプログラミングの際には、プログラミングの速度と、プログラミングの精度との間にトレードオフが存在する。プログラミングの精度は、プログラミング処理によるプログラム後のメモリセルのしきい値電圧の分布に関連する。しきい値電圧の分布が緊密であるほど、メモリセルの正確な読み出し処理を容易に行うことができる。マルチステートメモリセルでは、読み出し処理時に異なるしきい値電圧の分布を確実に区別する必要があることから、緊密なしきい値電圧の分布がより重要となる。緊密なしきい値電圧の分布を得るためには、小さなステップサイズのプログラム電圧Vpgmを使用すればよい。しかしながら、小さなステップサイズを採用するほど、プログラミング処理の速度は低下する。
図3に、従来のプログラミング処理を改良したものを示す。図3の処理では、図1のプログラム電圧信号Vpgmを、プログラムするメモリセルの制御ゲートに印加する。プログラムパルスとプログラムパルスとの間には、ベリファイ動作が実行される。プログラムするメモリセルのしきい値電圧がVver2よりも小さい場合は、ビット線電圧がロー(例えば0ボルト)に維持され、そのセルへのプログラミングが継続される。プログラムするメモリセルのしきい値電圧がVver2よりも高く、Vver1よりも低い場合は、中間ビット線電圧(例えば1ボルト)を印加する。中間ビット線電圧に起因して、チャネル電圧が増加し(例えば1ボルト)、各プログラムパルスによるしきい値電圧の変化量が減少し、メモリセルのプログラミングが減速する。メモリセルのしきい値電圧が最終目標のVver1に到達するまで、多数のパルスにわたって、ビット線を中間ビット線電圧に維持する。メモリセルのしきい値電圧がVver1に到達したら、ビット線の電圧を引き上げ、さらなるプログラミングを禁止する(例えばビット線電圧をVinhibit(例えばVdd)に引き上げる)。
図3のアプローチを使用することによって、プログラム後のしきい値電圧の分布を、図2に示す処理よりも狭くすることができる。なぜなら、しきい値電圧が目標値に接近すると(例えば、しきい値電圧がVver2よりも大きく、Vver1よりも小さくなった場合)、しきい値電圧のパルス毎の変化量が減少するためである。ただし、図3のプログラミング処理は改良の余地がある。その理由は、中間ビット線バイアスがメモリセルのプログラミングを減速させるために、プログラミングプロセスを終了するには、複数の追加のパルス(例えば通常は2〜3パルス)が必要とされる場合があるためである。
従来のメモリシステムのもう1つの問題は、電力に関連している。多くの従来のシステムは、3ボルトのVddを使用する。Vddを低くするほど、メモリシステムが消費する電力は少なくなる。そのことから、より低いVddを使用することは有利である。メモリシステムが使用する電力がより少なければ、ホスト装置(例えば、デジタルカメラ)のバッテリー持続時間はより長くなる。Vddを(例えば、1.8ボルトに)減らした場合、メモリセルは1ボルトの中間ビット線電圧を使用できないことがある。例えば、選択ゲートトランジスタを有するNANDチェーン(後述の説明を参照)において、選択ゲートトランジスタをオンにするために、選択ゲートトランジスタのゲートにより低いVdd(例えば、1.8ボルト)を印加した場合、1Vのビット線電圧が選択トランジスタのソース側に完全に伝達されないことがある。ソース側に伝達されることが可能な電圧は、選択ゲートトランジスタのしきい値電圧に依存する。例えば、選択ゲートが1.2Vのしきい値電圧を有する場合、選択ゲートのソース側における電圧は、0.6Vの値(1.8V(ゲート電圧)−1.2V(しきい値電圧))にしか到達しない。選択ゲートトランジスタのしきい値電圧を低下させることによって、1Vをソース側に伝達することも可能となるが、選択ゲートがオフ(選択ゲートを0V)された場合のリークが増加する。別の解決方法は、選択ゲートのゲート電圧を、例えば2.4Vに増加することである。しかしながらこの方法では、プログラミング中のいわゆる自己昇圧動作の間に1.8Vがビット線に印加され、選択されたNANDストリングの下のチャネル領域が高い電圧に昇圧されると、チャネル領域からビット線に向けてリークが発生する可能性がある。
本発明は、概して、メモリデバイスのプログラミング技術に関する。より具体的には、本発明は、より高速であって、そしてより緊密なしきい値電圧分布を実現するプログラミング処理を提供する。一部の実施形態では、改良されたプログラミング処理は、より低い中間ビット線電圧を使用し、それによって、より低いVddを使用することを可能とする。
本発明の一実施形態は、不揮発性記憶要素に一回又は複数回のプログラミング動作を実行する工程と、前記不揮発性記憶要素群のなかで、最終ベリファイしきい値に到達しているものを特定する工程と、前記不揮発性記憶要素群のなかで中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していないものを特定する工程と、前記最終ベリファイしきい値に到達している不揮発性記憶要素には、さらなるプログラミングを禁止する工程と、前記中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していない不揮発性記憶要素に一回のみの追加プログラミング動作を低減したレベルで実行する工程と、前記一回のみの追加プログラミング動作を実行した不揮発性記憶要素、追加プログラミング動作による当該不揮発性記憶要素のしきい値の変化に関わらず、さらなるプログラミングを禁止する工程を備える。実施の一例では、上記の各プログラミング動作で一つのパルスを印加することによって、プログラムするメモリセルの制御ゲートに時間とともに増大する複数のパルスを印加するプログラミング処理を行うことができる。
他の実施形態では、プログラミング動作は、パルスの印加以外であってもよく、特定のメモリ技術に適した動作であってもよい。例えば、(固定された増分サイズを使用して、又は使用せずに)増加する信号、あるいは増加しない信号を用いるものでもよい。パルス以外のプログラム信号が使用されてもよい。
本発明の別の実施形態は、不揮発性記憶要素にプログラミング動作を実行する工程と、前記不揮発性記憶要素が、1つ又は複数の中間ベリファイしきい値の組のなかのいずれの中間ベリファイしきい値電圧に到達しているのかを判定する工程と、前記判定工程に応じて、前記不揮発性記憶要素に一回の追加プログラミング動作を実行する工程と、前記一回の追加プログラミング動作を実行した後に、前記不揮発性記憶要素へのプログラミングを禁止する工程を備えている。ここで、前記プログラミング動作では、所定の増分サイズで増大していくプログラム電圧を印加する。前記一回の追加プログラミング動作では、前記不揮発性記憶要素のしきい値電圧を、前記増分サイズの一部に相当する部分量であって、到達したと判定した中間ベリファイしきい値に依存する部分量だけ変化させる。
一部の実施形態では、一つを超えて(例えば、2つ、3つ、又はそれよりも多く)の中間しきい値が存在していてもよい。
実施の一例は、不揮発性記憶要素群のアレイと、不揮発性記憶要素群と通信する制御回路を備える。制御回路は、前記不揮発性記憶要素群に一回又は複数回のプログラミング動作を実行する処理と、前記不揮発性記憶要素群のなかで、最終ベリファイしきい値に到達しているものを特定する処理と、前記不揮発性記憶要素群のなかで、中間ベリファイしきい値に到達しているとともに最終ベリファイしきい値に到達していないものを特定する処理と、前記最終ベリファイしきい値に到達している不揮発性記憶要素には、さらなるプログラミングを禁止する処理と、前記中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していない不揮発性記憶要素に、一回の追加プログラミング動作を低減したレベルで実行する処理と、前記一回の追加プログラミング動作を実行した不揮発性記憶要素追加プログラミング動作による当該不揮発性記憶要素のしきい値の変化に関わらず、さらなるプログラミングを禁止する処理と、前記中間ベリファイしきい値に到達していない不揮発性記憶要素へのプログラミングを継続する処理を実行する。
本発明の別の実施形態は、不揮発性記憶要素群のアレイを作成する工程と、プログラミング処理で用いる最終ベリファイしきい値を設定する工程と、プログラミング処理で用いる中間ベリファイしきい値を設定する工程を備える。中間ベリファイしきい値は、その中間ベリファイしきい値に到達した前記1つ又は複数の不揮発性記憶要素の組が、一回のプログラミング動作によって前記最終ベリファイしきい値に実質的に到達するように設定する。
本発明の上記およびその他の目的と利点は、本発明の好ましい実施形態を図面と合わせて開示する下記の説明によってより明確になる。
本発明の実施に適したフラッシュメモリシステムの一例では、NAND構造を使用する。NAND構造では、2つの選択ゲートの間に複数のトランジスタが直列に配置されている。直列のトランジスタと選択ゲートは、NANDストリングと呼ばれる。図4は、1つのNANDストリングを示す上面図である。図5は、その等価回路である。図4および図5に示す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のそれぞれがメモリセルとなる。他の実施形態では、メモリセルが複数のトランジスタを含んでいてもよく、図4および図5に示した構成と異なっていてもよい。
図6は、上記のNANDストリングの断面図を示す。図6に示すように、NANDストリングのトランジスタはp−ウェル領域140に形成される。各トランジスタは、制御ゲート(100CG、102CG、104CG、および106CG)と浮遊ゲート(100FG、102FG、104FG、および106FG)からなるスタックゲート構造を含む。浮遊ゲートは、p−ウェルの表面上の酸化膜上に形成される。制御ゲートは、浮遊ゲートの上に位置している。制御ゲートと浮遊ゲートは、ポリシリコン間誘電体層によって分離されている。図6は、トランジスタ120および122について、制御ゲートと浮遊ゲートを示しているように見えることに留意されたい。しかし、トランジスタ120および122では、制御ゲートと浮遊ゲートは互いに接続されている。他の実施形態として、従来浮遊ゲートと考えられていたゲートを接続し、その上のゲートを接続しなくてもよい。メモリセル(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ストリングの共通ソース線につながっている。
図4〜図6では、NANDストリング内に4つのメモリセルを示しているが、4つのトランジスタの使用する構成は、一例であることに留意されたい。NANDストリングは、4つ未満のメモリセルを有していてもよく、又は、4つを超えるメモリセルを有していてもよい。例えば、一部のNANDストリングは、8つのメモリセル、16のメモリセル、32のメモリセルなどを含むことができる。本明細書における説明は、NANDストリング内のメモリセルがいかなる数でも有効である。
各メモリセルは、アナログ又はデジタル形式で表されたデータを記憶することが可能である。1ビットのデジタルデータを記憶する場合、メモリセルの可能なしきい値電圧の範囲は、論理データ「1」および「0」が割り当てられる2つの範囲に分割される。NAND型フラッシュメモリの一例では、メモリセルの消去された後のしきい値電圧は負となり、論理「1」と定義される。プログラム後のしきい値電圧は正となり、論理「0」と定義される。しきい値電圧が負の状態で読み出しが試みられた場合、メモリセルはオンになり、論理1が記憶されていることを示す。しきい値電圧が正の状態で読み出し動作が試みられた場合、メモリセルはオンにならず、これは論理「0」が記憶されていることを示す。また、メモリセルは、複数のレベルの情報を記憶することも可能であり、それにより例えば複数ビットのデジタルデータを記憶することも可能である。複数のレベルのデータを記憶する場合、可能なしきい値電圧の範囲は、記憶するレベルの数に分割される。例えば、4つのレベルの情報が記憶される場合、4つのしきい値電圧範囲が存在し、それぞれにデータ値「11」、「10」、「01」、「00」が割り当てられる。NAND型メモリの一例では、消去動作の後のしきい値電圧は負となり、「11」と定義される。正のしきい値電圧は、「10」、「01」、「00」の状態のために使用される。
NAND型フラッシュメモリおよびそれらの動作に関連する例は、次の米国特許/特許出願(それらのすべては、それらの全体が参照により本明細書に援用されるものとする)で提供されている。米国特許第5,570,315号明細書、米国特許第5,774,397号明細書、米国特許第6,046,935号明細書、米国特許第5,386,422号明細書、米国特許第6,456,528号明細書、および米国特許出願第09/893,277号明細書(公開番号US2003/0002348)。自己昇圧技術を含む、NANDフラッシュメモリのプログラミングに関する情報は、2003年3月5日出願の「Self Boosting Technique」と題した米国特許出願第10/379,608号明細書、および2003年7月29日出願の「Detecting Over Programmed Memory」と題した米国特許出願第10/629,068号明細書(両方の出願は、それらの全体が参照により本明細書に援用されるものとする)に記載されている。他のタイプのフラッシュメモリデバイスも、本発明とともに使用されてもよい。例えば、次の特許(それらの全体が参照により本明細書に援用されるものとする)にはNOR型のフラッシュメモリが記載されている。米国特許第5,095,344号明細書、米国特許第5,172,338号明細書、米国特許第5,890,192号明細書、および米国特許第6,151,248号明細書。別のフラッシュメモリタイプの例は、米国特許第6,151,248号明細書(その全体が参照により本明細書に援用されるものとする)に記載されている。
図7は、本発明を実施したフラッシュメモリシステムの一実施形態のブロック図である。メモリセルアレイ302は、列制御回路304と、行制御回路306と、c−ソース制御回路310と、p−ウェル制御回路308によって制御される。列制御回路304は、メモリセル内に記憶されたデータを読み出すために、プログラム動作中のメモリセルの状態を判定するために、およびビット線の電位レベルを制御してプログラミングを促進又はプログラミングを抑止するために、メモリセルアレイ302のビット線に接続されている。行制御回路306は、ワード線のうちのいずれかを選択するために、読み出し電圧を印加するために、プログラム電圧を印加するために、および消去電圧を印加するために、ワード線に接続されている。C−ソース制御回路310は、メモリセルに接続された共通ソース線(図8に「C−ソース」として示す)を制御する。P−ウェル制御回路308は、p−ウェル電圧を制御する。
メモリセル内に記憶されたデータは、列制御回路304によって読み出され、データ入力/出力バッファ312を経由して、外部I/O線に出力される。メモリセル内に記憶されるプログラムデータは、外部I/O線を経由してデータ入力/出力バッファ312に入力され、列制御回路304に転送される。外部I/O線は、コントローラ318に接続される。
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ318に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、列制御回路304と、行制御回路306と、c−ソース制御310と、p−ウェル制御回路308と、データ入力/出力バッファ312とを制御する状態マシン316に転送される。状態マシン316は、さらに、レディ(READY)/ビジー(BUSY)や、パス(PASS)/フェイル(FAIL)などの、フラッシュメモリのステータスデータを出力してもよい。
コントローラ318は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されている、又は、接続可能である。コントローラ318は、ホストからコマンドを受信するために、ホストからデータを受信するために、ホストにデータを提供するために、およびホストにステータス情報を提供するために、ホストと通信を行う。コントローラ318は、ホストからのコマンドを、状態マシン316と通信するコマンド回路314が解読して実行可能なコマンド信号に変換する。コントローラ318は、通常、メモリアレイに書き込まれる、又はメモリアレイから読み出されるユーザデータのためのバッファメモリを有している。
一例のメモリシステムは、コントローラ318を含む1つの集積回路と、1つ又は複数の集積回路チップ(それぞれがメモリアレイと、関連する制御、入力/出力、および状態マシン回路とを含む)を備える。メモリアレイとシステムのコントローラ回路は、1つ又は複数の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、又は、ホストシステムに着脱可能に挿入されるメモリカード(又はその他のパッケージ)内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体(例えば、コントローラを含む)を含んでいてもよく、又は、メモリアレイおよび関連する周辺回路のみを含んでいてもよい(コントローラはホスト内に組み込まれる)。このように、コントローラは、ホスト内に組み込まれることも、又は着脱可能なメモリシステム内に含まれることも可能である。
本発明を実施する際には、図7の構成要素のいくつかを一体化してもよい。様々な設計変更が可能であり、メモリセルアレイ302以外については、図7の構成要素のすべて又はいくつかを、一つ又は複数の制御回路とみなすことができる。
図8を参照して、メモリセルアレイ302の構造の一例を説明する。一例として、1024個のブロックに分割されたNANDフラッシュEEPROMについて説明する。各ブロックに記憶されたデータは、同時に消去される。一実施形態では、ブロックが、同時に消去されるセル群の最小単位となる。本実施例では、各ブロック内に、偶数列と奇数列とに分けられた8512の列がある。ビット線も、偶数ビット線(BLe)と奇数ビット線(BLo)とに区分されている。図8は、直列に接続されてNANDストリングを形成する4つのメモリセルを示す。各NANDストリング内に4つのセルが含まれるように示されているが、4つよりも多い、又は4つよりも少ないメモリセルが使用されてもよい。NANDストリングの一方のターミナルは、第1の選択トランジスタSGDを介して、対応するビット線に接続されている。他方の1つのターミナルは、第2の選択トランジスタSGSを介して、c−ソースに接続される。
読み出しおよびプログラミング動作の間は、4256のメモリセルが同時に選択される。選択されるメモリセルは、同じワード線と、同じ種類のビット線(例えば、偶数ビット線又は奇数ビット線)とを有する。したがって、532バイトのデータが同時に読み出し又はプログラムされることが可能である。同時に読み出し又はプログラムされるこれらの532バイトのデータは、一つの論理ページを形成する。したがって、1つのブロックは、少なくとも8つの論理ページを記憶することが可能である(4本のワード線、それぞれが奇数および偶数ページを有する)。各メモリセルが2ビットのデータを記憶する場合(例えば、マルチレベルセル)、1つのブロックは16の論理ページを記憶する。他のサイズのブロックおよびページも、本発明とともに使用されてもよい。さらに、図7および図8に示す構造以外の構造を、本発明を実施するために使用することもできる。
メモリセルの消去は、p−ウェルを消去電圧(例えば、20ボルト)まで引き上げるとともに、選択されたブロックのワード線を接地することによって行われる。ソースおよびビット線はフローティングとする。消去は、メモリアレイ全体、独立したブロック、又は別の単位のセルに対して実行することができる。浮遊ゲートから電子がp−ウェル領域に移動し、しきい値電圧は負になる。
読み出しおよびベリファイ動作では、トランジスタをパスゲートとして動作させるために、選択ゲート(SGDおよびSGS)と、選択されないワード線(例えば、WL0、WL1、およびWL3)が、読み出しパス電圧(例えば、4.5ボルト)まで引き上げられる。選択されるワード線(例えば、WL2)は、各読み出しおよびベリファイ動作について指定されたレベルの電圧に接続され、関連するメモリセルのしきい値電圧が指定されたレベルの電圧に到達しているのか否かが判定される。例えば、2レベル型のメモリセルの読み出し動作では、選択されるワード線WL2を接地してもよく、それによってしきい値電圧が0Vよりも高いのか否かを検出することができる。2レベル型のメモリセルのベリファイ動作では、選択されるワード線WL2を例えば0.8Vに接続し、それによってしきい値電圧が少なくとも0.8Vに到達しているのか否かをベリファイすることができる。ソースおよびp−ウェルは0ボルトである。選択されるビット線(BLe)は、例えば0.7Vのレベルに、プリチャージされる。しきい値電圧が、ワード線上の読み出し又はベリファイレベルよりも高い場合、関連するビット線(BLe)の電位レベルは、非導電性のメモリセルのため、ハイレベルを維持する。他方、しきい値電圧が、読み出し又はベリファイレベルよりも低い場合、関連するビット線(BLe)の電位レベルは、導電性のメモリセル(M)によって、例えば0.5V未満のローレベルに減少する。メモリセルの状態は、それによって、ビット線に接続されたセンス増幅器により検出される。
上記の消去、読み出し、およびベリファイ動作は、当業界で知られた技術に従って実行される。したがって、説明した詳細の多くについては、当業者によって変更されることが可能である。当業界で知られた他の読み出しおよびベリファイ技術を使用することもできる。
図9は、図7に示した列制御回路304の一部の概略ブロック図である。列制御回路304内では、偶数番号のBLeと奇数番号のビット線BLoとを含む2本のビット線のそれぞれに対して、データ記憶回路440が配置される。列制御回路304内には、メモリセル内にデータを書き込むために、およびメモリセルからデータを読み出すために、データ記憶回路440に対するセンス増幅器も配置される。
n−チャネルMOSトランジスタ442が、列選択のために、データ記憶回路440と偶数番号のビット線BLeとの間に接続されている。もう1つのn−チャネルMOSトランジスタ444が、列選択のために、データ記憶回路440と奇数番号のビット線BLoとの間に接続されている。偶数番号のビット線BLe又は奇数番号のビット線BLoのいずれかが、データの書き込み又はデータの読み出しの動作を制御するために選択される。より具体的には、信号evenBLが論理レベル「1」であり、信号oddBLが論理レベル「0」である場合は、MOSトランジスタ442が導通して偶数番号のビット線BLeが選択され、偶数番号のビット線BLeがデータ記憶回路440に接続される。他方、信号evenBLが論理レベル「0」であり信号oddBLが論理レベル「1」である場合は、トランジスタ444が導通して奇数番号のビット線BLoが選択され、奇数番号のビット線BLoがデータ記憶回路440に接続される。ここで、信号evenBLは、偶数番号のビット線によって接続されている列選択用のすべてのn−チャネルMOSトランジスタに印加される。一方、信号oddBLは、奇数番号のビット線に接続されている列選択用のすべてのn−チャネルMOSトランジスタに印加される。
各データ記憶回路440は、3つのバイナリデータ記憶部DS1、DS2、DS3を含む。記憶部DS1は、内部データ入力/出力線を経由してデータ入力/出力312に接続されており、書き込まれるべき外部入力データ、又は外部に出力されるべき読み出しデータを記憶する。データ記憶部DS2は、書き込み動作後のメモリセルのしきい値を確認するために、書き込みベリファイ動作の検出結果を記憶する。データ記憶部DS3は、メモリセルのデータを、その書き込み時および/又は読み出し時に、一時的に記憶する。他の実施形態では、データ記憶部が、他の機能を有していてもよい。様々な実施形態では、DS1、DS2、DS3が、メモリユニットや、1つ又は複数のレジスタや、あるいは情報を記憶可能な他の任意のデバイスであってもよい。一実施形態では、DS1、DS2、DS3を各1ビットとすることができる。あるいは、DS1、DS2、DS3のうちの1つ又は複数が、複数のビットを記憶できるものであってもよい。図9に示した回路以外の回路が、ビット線を制御するために使用されてもよい。
図9は、偶数/奇数ビット線構成を示していることに留意されたい。しかし、本発明は、例えば各ビット線が独自のセンス増幅器および/又はデータ記憶を有する構成など、多くの異なるビット線構成とともに実施することができる。本発明の実施に適した一部の構成では、すべてのビット線が、奇数および偶数のパスではなく、1つのパスでプログラムされる。例えば、2002年9月24日出願の「Highly Compact Non−Volatile Memory and Method Thereof」と題した米国特許出願第10/254,483号明細書(その全体が参照により本明細書に援用されるものとする)を参照されたい。
図10は、2ビットのデータ(例えば、4つのデータ状態)を記憶するメモリセルのしきい値電圧分布を示す。この例において、分布460は、負のしきい値電圧レベルを示し、消去状態にある(例えば、「11」を記憶している)セルのしきい値電圧の分布を表す。分布462は、「10」を記憶しているセルのしきい値電圧の分布を表す。分布464は、「00」を記憶しているメモリセルのしきい値電圧の分布を表す。分布466は、「01」を記憶しているセルのしきい値電圧の分布を表す。他の実施形態では、各分布が、上記と異なるデータ状態に対応していてもよい。さらに、本発明は、2以上のビットを記憶するメモリセルを対象とすることもできる。
一実施形態では、消去状態にあるメモリセル(分布460)を、任意のプログラム状態(分布462、464、又は466)にプログラムすることが可能である。別の実施形態では、消去状態にあるメモリセルを、2ステップの方法に従ってプログラムすることが可能である。この2ステップの方法では、各データ状態で記憶されるビットのそれぞれが、異なる論理ページに対応する。即ち、メモリセル内に記憶される各ビットは、下位論理ページおよび上位論理ページに属する、異なる論理ページアドレスを有する。例えば、状態「10」において、「0」は下位論理ページに対して記憶され、「1」は上位論理ページに対して記憶される。第1のプログラミングステップでは、下位論理ページ内のプログラムされるべきビットに従って、セルのしきい値電圧レベルを設定する。例えばそのビットが論理「1」である場合、しきい値電圧は、以前に消去された結果として適切な状態にあるため、変更されない。しかし、そのビットが論理「0」にプログラムされるべきである場合は、そのセルのしきい値電圧レベルは、しきい値電圧分布462内となるように引き上げられる。
第2のプログラミングステップでは、上位論理ページ内にプログラムされるビットに従って、セルのしきい値電圧レベルが設定される。上位論理ページビットが論理「1」となるべき場合、セルは、しきい値電圧分布460又は462に対応する状態(両方とも、上位ページビット「1」を保持する)にあるため、さらなるプログラミングは発生しない。上位論理ビットが論理「0」となるべき場合であって、第1のステップでしきい値電圧分布460に対応する消去状態にセルが留まっている場合は、プログラミングプロセスの第2ステップにおいて、セルのしきい値電圧がしきい値分布466内となるように引き上げられる。上位論理ページビットが論理「0」となるべき場合であって、第1のプログラミングステップによってしきい値分布462に対応する状態にセルがプログラムされている場合は、プログラミングプロセスの第2ステップにおいて、セルのしきい値電圧が、しきい値電圧分布464内になるように引き上げられる。この2ステップの方法は、マルチステートメモリをプログラミングする方法の一例にすぎない。1ステップのプロセス又は3ステップ以上のプロセスを含む、他の多くの方法が使用されてもよい。図8は4つの状態(2ビット)を示しているが、本発明は、8状態、16状態、32状態、およびその他を含むマルチステート構造を含む、他のマルチステート構造とともに使用されてもよい。
図11は、本発明の一実施形態によるプログラミングプロセスを説明する。図11は、しきい値電圧(Vth)と時間の関係、およびビット線電圧(Vbl)と時間の関係を示すグラフである。水平アクセスは、t1、t2、t3、t4、t5を示す。これらの時点のそれぞれは、プログラムパルスとプログラムパルスとの間に実行されるベリファイ手順に対応している。図11で説明するプロセスは、メモリセルを複数の状態のいずれかにプログラムするために使用されてもよく、又は、バイナリメモリセルをプログラムするために使用されてもよい。
図1のプログラムパルスに類似した複数のプログラミングパルスをメモリセルに印加するにつれて、図11の時間t1とt2の間に示すように、メモリセルのしきい値電圧は増大する。一部の実施形態では、プログラミングの前であって消去動作に続くときの初期しきい値電圧が、負のしきい値電圧となる。メモリセルのしきい値電圧が、下位中間しきい値電圧ベリファイ点Vver2に到達すると、ビット線電圧が0ボルトから中間電圧V1に引き上げられる。図11では、時点t2の後であって時点t3の前に、しきい値電圧がVver2よりも大きくなることに留意されたい。その時点t3において、メモリセルのしきい値電圧が、Vver2よりも大きくなっていると判定される。しきい値電圧がVver2よりも大きいと判定されると、ビット線電圧は中間電圧V1に引き上げられる。一実施形態では、中間電圧V1を、従来技術で使用されている中間電圧よりも低くすることができる。例えば、一実施形態では、中間電圧V1を0.4ボルト又は0.5ボルトとすることができる。本発明では、メモリセルのビット線を、正確に1プログラミングパルスにわたって中間電圧V1にする。1プログラミングパルスに続いて、ビット線は禁止電圧(例えば、Vdd)に引き上げられる。従って、しきい値電圧がVver2に到達すると、プログラム処理は1プログラミングパルス期間にわたって減速され、その後、禁止される。最後のパルス期間においてプログラミングプロセスを減速し、その最後のパルス期間におけるしきい値電圧の変化量を減らすことによって、このプログラミング処理はより緊密なしきい値電圧分布を実現する。その上、より大きなステップサイズを使用することが可能になる。例えば、多くの従来技術のプロセスでは、Vpgmのステップサイズに0.2ボルトを使用している。本発明では、0.4ボルトのステップサイズを企図している。
一部の実施形態では、中間電圧V1を、次のプログラミングパルス期間におけるメモリセルのしきい値電圧の変化量が、プログラム電圧のステップサイズの半分に等しくなるように選択することができる。即ち、プログラムステップが0.4ボルトである場合、中間電圧V1を、メモリセルのしきい値電圧の前記変化量が0.2ボルトに等しくなるように選択する。Vver1およびVver2の値は、メモリセルのしきい値電圧がVver2に到達した後に一つの追加プログラミングパルスによってVver1(目標値)又はそれ以上となるように、適宜選択することができる。従って、一部の実施形態では、Vver2を、プログラム電圧のステップサイズの半分(例えば、0.2ボルト)だけ、Vver1から相違させる必要がある。上記した方法は、図2の処理と比較して、必要とされるプログラミングパルスがより少なく、結果として、プログラミング時間がより短くなるという利点を有する。
図12は、図11に関連して説明した上記の思想を使用したメモリをプログラミングする普遍的な方法を説明するフローチャートである。
ステップ500では、システムは、メモリをプログラムするためのコマンドおよびデータを受信する。
ステップ502では、初期化が実行される。例えば、一部の実施形態では、プログラミングの前にメモリセルの消去が行われる。さらに、消去されたすべてのメモリセルが狭い消去しきい値電圧分布内のしきい値電圧を有するように、消去されたメモリセルのいくつかにソフトプログラミング処理を実行する。さらに、ステータスレジスタが初期化される。
ステップ504では、プログラミングパルスが印加される。例えば、適切なNANDチェーン内のトランジスタの制御ゲートでは、それらの制御ゲートにプログラミングパルスが印加させる。
ステップ506では、ベリファイ動作が実行される。このベリファイ動作では、メモリセルのしきい値電圧が、Vver2(図11を参照)に到達しているのか否かが判定される。
ステップ508では、ベリファイ動作が実行される。このベリファイ動作では、メモリセルのしきい値電圧が、Vver1(図11を参照)に到達しているのか否かが判定される。バイナリメモリセルでは、1つのVver1および1つのVver2のみが存在する。マルチステートメモリセルでは、各状態に対してVver1およびVver2が存在する。即ち、一部の実施形態では、各状態に対してベリファイ動作の組が存在する。従って、8状態型のメモリセルでは、7組のベリファイ動作が存在し、それぞれのベリファイ動作の組は、Vver2のためのベリファイ動作と、Vver1のためのベリファイ動作とを有する。
ステップ506のベリファイ動作が成功し、ステップ508のベリファイプロセスが成功しなかった場合(ステップ510を参照)、メモリセルのしきい値電圧は、Vver2よりも大きく、Vver1よりも小さいと見なされる。この場合、ステップ520で、さらに一つのプログラミングパルスがメモリセルに印加される。ただし、この一つのプログラミングパルスは、低減したレベルで印加される。例えば、一実施形態では、メモリのビット線を、上述したように中間電圧V1に引き上げる。別の実施形態では、ビット線電圧を引き上げるのではなく、そのメモリセルに印加するプログラミングパルスの期間を短縮してもよい。その一実施形態は、プログラミングパルスの開始時ではビット線にVddを印加する。その後、プログラミングパルスの期間にいくらかのプログラミングを許可するために、ビット線電圧をVddから0ボルトに減少する。通常、プログラミングパルスは8〜10マイクロ秒である。この場合、プログラミングパルスを5マイクロ秒に減少してもよい。ここで、ステップ520では、プログラムするメモリセルにパルスを一つだけ印加することに留意されたい。その1つのパルスが印加された後は、ステップ522に進み、そのメモリセルはさらなるプログラミングからロックアウトされる。
ステップ508のベリファイ動作が成功した場合(ステップ510を参照)、メモリセルのしきい値電圧はVver1よりも大きいと判断できる。この場合、ステップ512に進み、メモリセルはさらなるプログラミングからロックアウトされる。
ステップ506のベリファイプロセスが成功せず、ステップ508のベリファイプロセスも成功しなかった場合(ステップ510を参照)、メモリセルのしきい値電圧は、Vver2よりも小さいと判断できる。この場合、次のプログラムパルスを印加するために、プロセスはステップ504にループバックされる。
上記したように、マルチステートメモリセルは、様々な形態を有することができる。一実施形態では、マルチステートメモリセルを、消去状態から任意のプログラム状態にプログラムすることが可能である。例えば図10において、状態460にあるメモリセルを、状態462、464、466のいずれにも直接プログラムすることが可能である。別の実施形態では、複数の論理ページを使用して、メモリセルを上述した2ステップのプログラミング処理に従ってプログラムすることができる。図13は、上記した複数論理ページメモリセルの下位論理ページをプログラミングする処理の一例を説明するフローチャートである。より多くのビット、より多くのページ、異なる状態割り当てなどを有する、他の実施形態も、本発明の範囲内である。しきい値状態割り当ておよびプログラム方法の他の変形に対応するために、図13のプロセスへのさまざまな変更が行われてもよい。図13の処理は、バイナリメモリセルに使用することもできる。
図13のステップ550では、ホストからデータ入力コマンドを受信し、そのデータ入力コマンドを状態マシン内に入力することによって、動作が開始される。
ステップ552では、書き込み動作に使用するページを選択するために、アドレスデータがホストから受信され、状態マシン内に記憶される。
ステップ554では、書き込まれるデータが受信され、DS1内に記憶される。
ステップ556では、書き込みコマンドがホストから受信され、その書き込みコマンドが状態マシンに入力される。一実施形態では、書き込みコマンドが状態マシン内に記憶された後に、後続のステップを状態マシンによって自動的に開始させてもよい。
ステップ558では、DS1のデータがDS2にコピーされる。
ステップ560では、プログラム電圧Vpgmの初期値が設定される(例えば、12ボルト。ただし、他の値が使用されてもよい)。さらに、プログラムカウンタ(PC)が0に初期化される。
一実施形態では、消去状態を論理データ「1」に対応させ、プログラム状態を論理データ「0」に対応させることができる。従って、データをDS1およびDS2内にロードする際に、それらのレジスタ内に「0」をロードする場合、メモリセルはプログラムされることになる。論理データ「1」がDS1およびDS2内にロードされる場合、メモリセルはすでに消去状態にあるため、メモリセルをプログラムする必要はない。2ステップのプログラミング処理の中で2つの論理ページを使用するマルチステートメモリセルの実施形態では、下位状態が状態460から状態462に変更されるべきである場合、「0」がDS1およびDS2内にロードされる。メモリセルが状態460に留まるべきである場合、「1」がDS1およびDS2内にロードされる。
ステップ570では、DS1が「0」に等しく、かつ、DS2が「0」に等しいかどうかが判定される。そうである場合、ビット線が0ボルトに設定される。これは、メモリセルが次の状態にプログラムされるべきであり、かつ、しきい値電圧がVver2よりも小さい場合である。
DS1が「0」に等しく、かつ、DS2が「1」に等しい場合、ビット線は中間ビット線電圧V1に設定される。これは、しきい値電圧がVver2よりも大きく、かつ、Vver1よりも小さい場合である。
DS1が「1」に等しい場合、メモリセルのしきい値電圧はVver1よりも大きいと見なされる。その場合は、さらなるプログラミングを禁止するために、ビット線はVddに設定される。
ステップ572では、次のプログラムパルスが、メモリセルの制御ゲートに印加される。
ステップ574では、DS2が「1」に等しいのか否かが判定される。そうである場合、DS1も「1」に設定される。このステップ574は、DS2が「1」に設定された後に(メモリセルのしきい値電圧がVver2よりも大きいが、Vver1よりも小さいことから)、メモリセルをさらに一つのプログラミングパルスによってプログラムするために実行される。
ステップ576では、メモリセルに、Vver2についてのベリファイ処理を実行する。このベリファイ処理に成功した場合(即ち、しきい値電圧がVver2以上であることから)、DS2は「1」に設定される。DS2がすでに「1」である場合は、「1」が維持される。
ステップ578では、メモリセルに、Vver1についてのベリファイ処理を実行する。このベリファイ処理に成功した場合(即ち、しきい値電圧がVver1に到達していることから)、DS1は「1」に設定される。DS1がすでに「1」である場合は、「1」が維持される。
ステップ580では、プログラム電圧がステップサイズだけ増加される。一実施形態では、ステップサイズを0.4ボルトとすることができる。従って、次のプログラミングパルスは、前のパルスよりも0.4ボルト高くなる。ステップサイズは、0.2Vやその他の値とすることもできる。
ステップ582では、プログラムカウンタが1だけ増分される。
ステップ584では、プログラムするすべてのメモリセルについて、それらのDS1レジスタが「1」に等しくなっているのか否かが判定される。そうである場合、プログラミング処理は正常に完了している。そうでない場合は、プログラミング処理が継続される。
ステップ586では、プログラムカウンタが20未満であるのか否かが判定される。そうでない場合、プログラミング処理は失敗している。プログラムカウンタが20未満である場合、プロセスはステップ570にループバックされる。
一部の実施形態では、プログラムカウンタを必ずしも20と比較する必要はない。2レベルの処理であれば、4又は5という低い値とすることもできる。マルチレベルの場合には、下位ページについて12程度、上位ページについて16程度とすることができる。これらの値は、使用するステップサイズにも依存する。一部の実施形態では、プログラムカウンタが最大値に到達したとしても、プログラミング処理が必ずしも失敗したことにはならない。プログラムカウンタが最大値に到達した後、システムがページ内のベリファイレベルに到達していないメモリセルの数をチェックする。そのセルの数が例えば1などの所定数未満である場合、その1ビットを訂正するためにエラー訂正(例えば、ECC)を使用することが可能であり、プログラミング処理は成功したと見なすことができる。さらに、多くの場合では、ベリファイ電圧にパスしていないセルであっても、より低いゲート電圧によって実行される通常の読み出し動作に対しては、それをパスする十分な高さのしきい値電圧を有している。
上述のように、2つの論理ページと2ステップのプログラミング処理を使用するマルチステートメモリセルの一実施形態では、状態460は「11」に相当し、状態462は「10」に相当し、状態464は「00」に相当し、状態466は「01」に相当する。本実施形態では、状態「11」から状態「10」にセルをプログラミングするために、図13のプロセスが使用される。図14に示すプロセスは、状態「11」から状態「01」に、又は状態「10」から状態「00」に、メモリセルをプログラミングするためのものである。即ち、図14は、メモリセルに上位ページデータを書き込む一実施形態のための制御アルゴリズムを説明するフローチャートである。
図14のステップ620では、ホストからデータ入力コマンドを受信し、そのデータ入力コマンドを状態マシン内に入力すると、動作が開始される。
ステップ622では、ホストからアドレスデータを受信し、状態マシン内に入力される。
ステップ624では、書き込まれるデータを受信し、DS1内に記憶する。
ステップ626では、書き込みコマンドをホストから受信し、状態マシン内に入力する。それにより、状態マシンは(一部の実施形態では)後続の処理の開始を自動的にトリガする。
ステップ628では、プログラムデータがDS1からDS2にコピーされる。
ステップ630では、状態「11」と「10」との間にある読み出し比較点を使用して、状態「10」の読み出し動作が実行され、メモリセルが状態「11」又は「10」のいずれにあるのかが判定される。メモリセルが状態「10」にあると判定された場合は、そのメモリセルのDS3レジスタが「1」に設定される。それ以外の場合は、DS3レジスタが「0」に設定される。
ステップ632では、プログラム電圧が16V〜18Vの範囲内の値(テストに基づいて決定される)に初期設定される。ただし、他の初期電圧が使用されてもよい。さらに、プログラムカウンタが0に初期設定される。
ステップ640では、DS1レジスタおよびDS2レジスタが両方とも「0」に設定されているのか否かが判定される。そうである場合、プログラムされるメモリセルのしきい値電圧は、プログラムされるのに適切な状態であるVver2よりも小さくなっていると見なされる。従って、ビット線は0ボルトに設定される。
DS1が「0」に設定され、かつ、DS2が「1」に設定されている場合、メモリセルのしきい値電圧はVver2よりも大きく、Vver1よりも小さいと見なされる。従って、ビット線は中間電圧のV1に設定される。
DS1が「1」に設定されている場合は、メモリセルのしきい値電圧はVver1よりも大きいと見なされる。従って、さらなるプログラミングを禁止するために、ビット線電圧はVddに設定される。
ステップ642では、次のプログラミングパルスが印加される。
ステップ644では、DS2レジスタが「1」に設定されているのか否かが判定される。そうである場合は、DS1レジスタも「1」に設定される。ステップ644は、メモリセルがVver2に到達した後は、メモリセルのプログラムにさらに1つだけのパルスが使用されることを確実にするために行われる。
ステップ646では、状態「00」のVver2についてベリファイ処理が実行される。DS3が「1」に等しく、このベリファイ処理にパスした場合は、DS2レジスタが「1」に設定される。
ステップ648では、状態「00」のVver1についてベリファイ処理が実行される。DS3が「1」に設定されており、このベリファイ処理にパスした場合は、DS1レジスタが「1」に設定される。
ステップ650では、状態「01」のVver2についてベリファイ処理が実行される。DS3レジスタが「0」に設定されており、このベリファイ処理にパスした場合は、DS1レジスタが「1」に設定される。
ステップ652では、状態「01」のVver1についてベリファイ処理が実行される。DS3レジスタが「0」に設定されており、このベリファイ処理にパスした場合は、DS1レジスタが「1」に設定される。
ステップ654では、プログラム電圧がステップサイズだけ増加される。
一部の実施形態では、ステップ650を実行しなくてもよい。即ち、システムは、プログラミング時間を節約するために、最も高いプログラム状態(例えば状態「01」)についてのみ、Vver1をチェックする。また一部の実施形態では、最も高いプログラム状態(例えば状態「01」)については、より広いしきい値電圧分布が許容されてもよい。
ステップ656では、プログラムカウンタが1だけ増加される。
ステップ658では、プログラムされるすべてのメモリセルについて、それらのDS1レジスタが「1」に設定されているのか否かが判定される。そうである場合、プログラムプロセスは正常に完了している。それ以外の場合は、ステップ660において、プログラムカウンタが20未満であるのか否かが判定される。そうでない場合、プログラムプロセスは失敗している。プログラムカウンタが20未満である場合、プロセスはステップ640にループバックされる。
上記の実施形態では、次のプログラミングパルスによるしきい値電圧の変化量がステップサイズの半分に等しくなるように、ビット線の中間電圧が設定されている。ただし、他の実施形態では、変化量がステップサイズの半分よりも多少大きくてもよいし小さくてもよい。Vver1とVver2との間の差は、時間tにおいてVver2レベルにパスしたばかりのセルが、tn+1においてVver1よりもわずかに上の(又は場合によっては、Vver1に近い)しきい値電圧を有するような方法で選択される。ビット線の中間電圧V1は、(特定の時点tにおける)しきい値電圧が、Vver2よりも高いがVver1よりも低いセルのみに印加され、また、1プログラミングパルス期間のみにわたって印加される。その1プログラミングパルスの後は、さらなるプログラミングは禁止される。したがって、図7に示すような不揮発性記憶要素のアレイおよびメモリシステムを製造するプロセスでは、特定の状態又はすべての状態に対する最終ベリファイしきい値(例えばVver1)と中間ベリファイしきい値(例えばVver2)を、中間ベリファイしきい値に到達したメモリセルが1プログラミング動作(例えば、1プログラミングパルス)によって最終ベリファイしきい値に到達(又はほぼ到達)するような値に設定するとよい。いくつかのメモリセルは、Vver1のレベルに到達しない可能性がある。上記のプロセスでは、Vver1のレベルに到達しなかったメモリセルのプログラムに、追加のプログラミングパルスは使用されない。Vver1レベルに到達しない理由は、Vver1および/又はVver2ステップの間の読み出しノイズによるものであるか、又は、最後のプログラミングパルスによるしきい値電圧の変化量が予定よりも小さなものであった可能性がある。このように、場合によっては、上記の技術を使用した特定のメモリセルが、Vver1よりわずかに低いしきい値電圧を有していることもありえる。
上記の実施形態では、最終ベリファイ点と中間ベリファイ点の2つのベリファイ点を企図している。本発明の別の実施形態では、3つのベリファイレベルを使用する。他の実施形態では、3つよりも多くのベリファイレベルが使用されてもよい。
図15および図16は、3つのベリファイレベルを使用する実施形態を示す。図15および図16は、しきい値電圧(Vth)と時間の関係、およびビット線電圧(Vbl)と時間の関係を示すグラフである。3つのベリファイレベルを有する本実施形態では、ベリファイ動作中に目標電圧Vver1よりも高いしきい値電圧を有するメモリセルは、ビット線電圧をVinhibitに引き上げることによって、完全に禁止される。Vver1とVver2との間のしきい値電圧を有するメモリセルは、それに続くプログラミングステップの間、中間ビット線電圧V1を印加することによって減速され、その後は完全に禁止される(それにより、V1のビット線で1つのプログラムパルスのみが実行される)。V1およびVver2の値は、tにおいてVver2にパスしたセルが、tn+1においてVver1に到達するか、又はほとんど到達するような方法で設定されるべきである。ベリファイ動作中にVver3とVver2との間のしきい値電圧を有するメモリセルは、それに続くプログラミングステップの間、中間ビット線電圧V2を印加することによって減速され、その後は完全に禁止される(それにより、V2のビット線で1つのプログラミングパルスのみが実行される)。V2およびVver3の値は、tにおいてVver3レベルにパスしたばかりのセルが、tn+1においてVver1にちょうど到達するか、又はほとんど到達するような方法で設定されるべきである。本実施形態では、V2およびV1は、次のプログラミングパルスでのしきい値電圧シフトが、メモリセルがVver2にパスしたばかりの場合は、プログラムステップの1/3に等しく、メモリステップがVver3にパスしたばかりの場合は、プログラムステップの2/3に等しくなるような方法で選択される。
図15は、メモリセルのしきい値電圧がt2とt3との中間でVver2よりも高くなるようにプログラムされたメモリセルを示す。しきい値電圧は、また、t2とt3との中間でVver3を超えて増加する。したがって、t3においてベリファイ動作が実行された場合、メモリセルは、Vver2よりも大きく、Vver1よりも小さいと判定される。そのため、ビット線電圧は、1プログラミングパルスにわたって、中間電圧V1に引き上げられる。1プログラミングパルスの後で、ビット線電圧はVinhibitに引き上げられ、メモリセルはさらなるプログラミングからロックアウトされる。
図16の例は、しきい値電圧がt2とt3との中間でVver3を横切るメモリセルを示す。ベリファイ動作がt3において実行された場合、メモリセルのしきい値電圧はVver3よりも大きく、Vver2よりも小さいと判定される。従って、メモリセルのビット線電圧は、1パルスにわたって、中間電圧V2に引き上げられる。1プログラミングパルスの後で、ビット線電圧はVinhibitに引き上げられる。
ベリファイレベルがより多ければ、より多くのベリファイ動作が必要とされる。より多くのベリファイ動作が実行される場合、プログラミングプロセスに要する時間はより長くなる。
図3のプロセスと比較して、本発明の1つの利点は、ビット線電圧の引き上げに続く1プログラムパルスの後では、追加のプログラミングパルスは必要とされないということである。したがって、プログラミング時間はより短くなる。
図2の書き込みプロセスに比較して、はるかに大きなステップサイズを、同じしきい値電圧分布を維持しながら使用することができる。これは、プログラミングプロセスの最後のステップが効果的に半分のサイズにされるためである。したがって、必要とされるプログラミングパルスの数を(例えば、場合によっては、ほぼ50%に)減らすことができる。
上述の本発明の詳細な説明は、例示および説明を目的として提示されたものであり、網羅的であることを意図したものではなく、また、開示された正確な形態に本発明を限定することを意図したものでもない。上記の教示内容を考慮すれば、多くの変更および変形が可能である。説明した実施形態は、本発明の原理およびその実際的な適用を最も良く説明し、それによって、当業者が本発明をさまざまな実施形態で、および企図された特定の用途に適したさまざまな変更とともに、最良に利用することを可能にするために選択された。本発明の範囲は、添付の特許請求の範囲によって定義されることを意図している。
プログラム電圧信号を示す図。 しきい値電圧(Vth)と時間との関係、およびビット線電圧(Vbl)と時間との関係を示すグラフ。 しきい値電圧(Vth)と時間との関係、およびビット線電圧(Vbl)と時間との関係を示すグラフ。 NANDストリングの上面図。 NANDストリングの等価回路図。 NANDストリングの断面図。 本発明のさまざまな態様を実施する不揮発性メモリシステムの一実施形態のブロック図。 メモリアレイの構成の例を示す図。 列制御回路の部分を示す図。 マルチステートメモリセルのメモリセルしきい値分布を示す図。 しきい値電圧(Vth)と時間との関係、およびビット線電圧(Vbl)と時間との関係を示すグラフ。 本発明の思想を実施するメモリのプログラミング方法を説明するフローチャート。 本発明のさまざまな実施形態に従ってプログラミングするための方法を説明するフローチャート。 本発明のさまざまな実施形態に従って論理ページをプログラミングするための方法を説明するフローチャート。 しきい値電圧(Vth)と時間の関係、およびビット線電圧(Vbl)と時間の関係を示すグラフ。 しきい値電圧(Vth)と時間の関係、およびビット線電圧(Vbl)と時間の関係を示すグラフ。

Claims (14)

  1. 不揮発性メモリをプログラミングする方法であって、
    不揮発性記憶要素に一回又は複数回のプログラミング動作を実行する工程と、
    前記不揮発性記憶要素群のなかで、最終ベリファイしきい値に到達しているものを特定する工程と、
    前記不揮発性記憶要素群のなかで中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していないものを特定する工程と、
    前記最終ベリファイしきい値に到達している不揮発性記憶要素には、さらなるプログラミングを禁止する工程と、
    前記中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していない不揮発性記憶要素に一回のみの追加プログラミング動作を低減したレベルで実行する工程と、
    前記一回のみの追加プログラミング動作を実行した不揮発性記憶要素、追加プログラミング動作による当該不揮発性記憶要素のしきい値の変化に関わらず、さらなるプログラミングを禁止する工程と、
    を備える方法。
  2. 前記一回又は複数回のプログラミング動作では、その大きさが所定のステップサイズずつ増大する複数のプログラム用パルスを印加し、
    前記一回の追加プログラミング動作は、前記不揮発性記憶要素のしきい値を、前記ステップサイズの略半分だけ意図的に変化させることを特徴とする請求項1に記載の方法。
  3. 前記中間ベリファイしきい値は、前記最終ベリファイしきい値よりも所定量だけ低く、
    前記一回の追加プログラミング動作は、前記中間ベリファイしきい値に到達した前記不揮発性記憶要素を、前記最終ベリファイしきい値に実質的に到達させることを特徴とする請求項1に記載の方法。
  4. 前記一回又は複数回のプログラミング動作は、前記不揮発性記憶要素のビット線電圧を所定のプログラム用レベルにして実行され、
    前記不揮発性記憶要素へのプログラミングを禁止する工程は、前記不揮発性記憶要素の前記ビット線電圧を所定の禁止用レベルにして実行され、
    前記一回の追加プログラミング動作は、前記不揮発性記憶要素の前記ビット線電圧を前記プログラム用レベルと前記禁止用レベルとの間の所定の中間レベルにして実行されるとともに、前記不揮発性記憶要素の前記ビット線電圧は、正確に一回のプログラミング動作期間にわたって前記中間レベルとされることを特徴とする請求項1に記載の方法。
  5. 前記一回の追加プログラミング動作では、前記不揮発性記憶要素のビット線電圧を引き上げることによって、そのレベルを低減させることを特徴とする請求項1に記載の方法。
  6. 前記一回又は複数回のプログラミング動作では、複数のプログラム用パルスを印加し、
    前記一回の追加プログラミング動作では、印加するプログラム用パルスの幅を縮小することによって、そのレベルを低減させることを特徴とする請求項1に記載の方法。
  7. 前記一回又は複数回のプログラミング動作では、複数のプログラム用パルスを印加し、
    前記一回のみの追加プログラミング動作を実行する工程では、一つのプログラム用パルスを印加し、
    前記追加プログラミング動作を実行した不揮発性記憶要素にさらなるプログラミングを禁止する工程は、前記一つのプログラム用パルスを印加した後で実行されることを特徴とする請求項1に記載の方法。
  8. 不揮発性記憶要素群のアレイと、
    前記不揮発性記憶要素群と通信を行う制御回路とを備え、前記制御回路は、
    前記不揮発性記憶要素群に一回又は複数回のプログラミング動作を実行する処理と、
    前記不揮発性記憶要素群のなかで、最終ベリファイしきい値に到達しているものを特定する処理と、
    前記不揮発性記憶要素群のなかで、中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していないものを特定する処理と、
    前記最終ベリファイしきい値に到達している不揮発性記憶要素には、さらなるプログラミングを禁止する処理と、
    前記中間ベリファイしきい値に到達しているとともに前記最終ベリファイしきい値に到達していない不揮発性記憶要素に、一回の追加プログラミング動作を低減したレベルで実行する処理と、
    前記一回の追加プログラミング動作を実行した不揮発性記憶要素追加プログラミング動作による当該不揮発性記憶要素のしきい値の変化に関わらず、さらなるプログラミングを禁止する処理と、
    前記中間ベリファイしきい値に到達していない不揮発性記憶要素へのプログラミングを継続する処理と、
    を実行する不揮発性記憶システム。
  9. 前記制御回路は、コントローラを含むことを特徴とする請求項8に記載の不揮発性記憶システム。
  10. 前記制御回路は、状態マシンを含むことを特徴とする請求項8に記載の不揮発性記憶システム。
  11. 前記制御回路は、センス増幅回路の組と、コントローラと、状態マシンとを含むことを特徴とする請求項8に記載の不揮発性記憶システム。
  12. 前記一回又は複数回のプログラミング動作では、その大きさが所定のステップサイズずつ増大する複数のプログラム用パルスを印加し、
    前記一回の追加プログラミング動作は、前記中間ベリファイしきい値電圧に到達しているとともに前記最終ベリファイしきい値電圧に到達していない前記不揮発性記憶要素のしきい値電圧を、前記ステップサイズの略半分だけ意図的に変化させることを特徴とする請求項8に記載の不揮発性記憶システム。
  13. 前記一回又は複数回のプログラミング動作は、前記不揮発性記憶要素のビット線電圧を所定のプログラム用レベル範囲にして実行され、
    前記プログラミングを禁止する処理は、ビット線電圧を所定の禁止用レベル範囲にして実行され、
    前記一回の追加プログラミング動作は、ビット線電圧を、前記プログラム用レベル範囲と前記禁止用レベル範囲との間の所定の中間レベル範囲にして実行されることを特徴とする請求項8に記載の不揮発性記憶システム。
  14. 前記一回又は複数回のプログラミング動作では、複数のプログラム用パルスを印加し、
    前記一回の追加プログラミング動作では、一つのプログラム用パルスを印加することを特徴とする請求項8に記載の不揮発性記憶システム。
JP2006551121A 2004-01-21 2005-01-10 不揮発性メモリのプログラミング方法 Active JP4490977B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/761,620 US6888758B1 (en) 2004-01-21 2004-01-21 Programming non-volatile memory
PCT/US2005/000666 WO2005073981A1 (en) 2004-01-21 2005-01-10 Programming non-volatile memory

Publications (2)

Publication Number Publication Date
JP2007519161A JP2007519161A (ja) 2007-07-12
JP4490977B2 true JP4490977B2 (ja) 2010-06-30

Family

ID=34523281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006551121A Active JP4490977B2 (ja) 2004-01-21 2005-01-10 不揮発性メモリのプログラミング方法

Country Status (9)

Country Link
US (2) US6888758B1 (ja)
EP (2) EP1881504B1 (ja)
JP (1) JP4490977B2 (ja)
KR (1) KR100751579B1 (ja)
CN (1) CN1926637B (ja)
AT (2) ATE381762T1 (ja)
DE (2) DE602005003924T2 (ja)
TW (1) TWI256644B (ja)
WO (1) WO2005073981A1 (ja)

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US6963508B1 (en) * 2004-04-22 2005-11-08 Fuja Shone Operation method for non-volatile memory
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
US7242620B2 (en) * 2004-10-05 2007-07-10 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and an operation method thereof
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
ITRM20050310A1 (it) * 2005-06-15 2006-12-16 Micron Technology Inc Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash.
EP1891644B1 (en) * 2005-06-15 2009-02-11 Micron Technology, Inc. Selective slow programming convergence in a flash memory device
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
EP1911033B1 (en) * 2005-08-01 2011-08-24 SanDisk Corporation Programming non-volatile memory with self-adjusting maximum program loop
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
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
US7218552B1 (en) 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
US7180780B1 (en) * 2005-11-17 2007-02-20 Macronix International Co., Ltd. Multi-level-cell programming methods of non-volatile memories
EP1964127B1 (en) * 2005-12-19 2009-11-25 SanDisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
JP2009522703A (ja) * 2005-12-29 2009-06-11 サンディスク コーポレイション 不揮発性メモリの書込動作における継続的な検証
US7352629B2 (en) * 2005-12-29 2008-04-01 Sandisk Corporation Systems for continued verification in non-volatile memory write operations
US7307887B2 (en) * 2005-12-29 2007-12-11 Sandisk Corporation Continued verification in non-volatile memory write operations
US7349260B2 (en) * 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
US7443726B2 (en) * 2005-12-29 2008-10-28 Sandisk Corporation Systems for alternate row-based reading and writing for non-volatile memory
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7499319B2 (en) * 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US7515463B2 (en) 2006-04-12 2009-04-07 Sandisk Corporation Reducing the impact of program disturb during read
US7436713B2 (en) 2006-04-12 2008-10-14 Sandisk Corporation Reducing the impact of program disturb
US7426137B2 (en) 2006-04-12 2008-09-16 Sandisk Corporation Apparatus for reducing the impact of program disturb during read
US7499326B2 (en) * 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for reducing the impact of program disturb
US7440322B2 (en) * 2006-04-20 2008-10-21 Sandisk Corporation Method and system for flash memory devices
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
WO2008097320A2 (en) * 2006-06-01 2008-08-14 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7310272B1 (en) * 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
EP1865513A1 (en) * 2006-06-07 2007-12-12 STMicroelectronics S.r.l. Nonvolatile memory device
CN102306501B (zh) * 2006-06-19 2014-03-19 桑迪士克股份有限公司 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
US7606084B2 (en) * 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7352628B2 (en) * 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
DE602006011451D1 (de) 2006-06-21 2010-02-11 Hynix Semiconductor Inc Verfahren und Vorrichtung zum elektrischen Programmieren von Halbleiterspeicherzellen
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
US7495953B2 (en) * 2006-07-20 2009-02-24 Sandisk Corporation System for configuring compensation
EP2047474B1 (en) * 2006-07-20 2010-06-30 Sandisk Corporation Floating gate memory with compensating for coupling during programming
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
JP4997882B2 (ja) * 2006-09-05 2012-08-08 ソニー株式会社 不揮発性半導体記憶装置およびその書き込み方法
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7599223B2 (en) * 2006-09-12 2009-10-06 Sandisk Corporation Non-volatile memory with linear estimation of initial programming voltage
US7961511B2 (en) * 2006-09-26 2011-06-14 Sandisk Corporation Hybrid programming methods and systems for non-volatile memory storage elements
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
JP2010508615A (ja) * 2006-10-30 2010-03-18 サンディスク コーポレイション 不揮発性メモリに用いられる最高マルチレベル状態の高速プログラミング
US7426139B2 (en) * 2006-11-02 2008-09-16 Macronix International Co., Ltd. Dynamic program and read adjustment for multi-level cell memory array
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7440324B2 (en) * 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
US7590002B2 (en) * 2006-12-29 2009-09-15 Sandisk Corporation Resistance sensing and compensation for non-volatile storage
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
US7616498B2 (en) * 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7590007B2 (en) * 2007-01-11 2009-09-15 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
KR100816161B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7660166B2 (en) * 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
CN102005244B (zh) 2007-02-20 2015-10-21 桑迪士克科技公司 非易失性存储的可变编程
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
ITRM20070167A1 (it) * 2007-03-27 2008-09-29 Micron Technology Inc Non-volatile multilevel memory cell programming
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories
KR100927119B1 (ko) * 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR100888823B1 (ko) * 2007-06-27 2009-03-17 삼성전자주식회사 비휘발성 메모리 시스템, 및 비휘발성 메모리 시스템의프로그램 방법
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
JP4560073B2 (ja) * 2007-09-18 2010-10-13 株式会社東芝 不揮発性半導体記憶装置
US7746704B1 (en) * 2007-09-21 2010-06-29 Marvell International Ltd. Program-and-erase method for multilevel nonvolatile memory
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
JP4640658B2 (ja) * 2008-02-15 2011-03-02 マイクロン テクノロジー, インク. マルチレベル抑制スキーム
ITRM20080114A1 (it) * 2008-02-29 2009-09-01 Micron Technology Inc Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria.
KR101412974B1 (ko) 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
JP5529858B2 (ja) * 2008-06-12 2014-06-25 サンディスク テクノロジィース インコーポレイテッド インデックスプログラミングおよび削減されたベリファイを有する不揮発性メモリおよび方法
US7813172B2 (en) 2008-06-12 2010-10-12 Sandisk Corporation Nonvolatile memory with correlated multiple pass programming
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8064252B2 (en) * 2008-11-21 2011-11-22 Micron Technology, Inc. Multi-pass programming in a memory device
US7839690B2 (en) * 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US7974133B2 (en) 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
JP5468023B2 (ja) * 2009-02-06 2014-04-09 パナソニック株式会社 不揮発性半導体メモリ
US8223551B2 (en) * 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
JP2010211883A (ja) * 2009-03-11 2010-09-24 Toshiba Corp 不揮発性半導体記憶装置
US7907449B2 (en) 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8054691B2 (en) * 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
JP2011014179A (ja) 2009-06-30 2011-01-20 Toshiba Corp 不揮発性半導体記憶装置
KR101626548B1 (ko) * 2009-07-15 2016-06-01 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8473809B2 (en) 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8223556B2 (en) 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2011198419A (ja) * 2010-03-19 2011-10-06 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
US8130551B2 (en) 2010-03-31 2012-03-06 Sandisk Technologies Inc. Extra dummy erase pulses after shallow erase-verify to avoid sensing deep erased threshold voltage
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8208310B2 (en) 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8737117B2 (en) * 2010-05-05 2014-05-27 Qualcomm Incorporated System and method to read a memory cell with a complementary metal-oxide-semiconductor (CMOS) read transistor
KR101656384B1 (ko) 2010-06-10 2016-09-12 삼성전자주식회사 불휘발성 메모리 장치의 데이터 기입 방법
US8819503B2 (en) 2010-07-02 2014-08-26 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8537623B2 (en) 2011-07-07 2013-09-17 Micron Technology, Inc. Devices and methods of programming memory cells
JP2011204356A (ja) * 2011-07-19 2011-10-13 Toshiba Corp 不揮発性半導体記憶装置
US8811075B2 (en) * 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US9195586B2 (en) 2012-02-23 2015-11-24 Hgst Technologies Santa Ana, Inc. Determining bias information for offsetting operating variations in memory cells based on wordline address
US8830745B2 (en) 2012-07-17 2014-09-09 Sandisk Technologies Inc. Memory system with unverified program step
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US9747977B2 (en) * 2013-03-14 2017-08-29 Intel Corporation Methods and systems for verifying cell programming in phase change memory
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
KR102118979B1 (ko) 2013-09-13 2020-06-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9767894B2 (en) 2014-06-09 2017-09-19 Micron Technology, Inc. Programming memories with stepped programming pulses
US9324419B2 (en) 2014-07-15 2016-04-26 Sandisk Technologies Inc. Multiple pass programming for memory with different program pulse widths
US9343141B2 (en) 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9875805B2 (en) * 2015-01-23 2018-01-23 Sandisk Technologies Llc Double lockout in non-volatile memory
KR20160108770A (ko) 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9672920B2 (en) * 2015-03-13 2017-06-06 Macronix International Co., Ltd. Electronic device, non-volatile memorty device, and programming method
US9548130B2 (en) 2015-04-08 2017-01-17 Sandisk Technologies Llc Non-volatile memory with prior state sensing
US9570179B2 (en) 2015-04-22 2017-02-14 Sandisk Technologies Llc Non-volatile memory with two phased programming
US9437319B1 (en) * 2015-06-25 2016-09-06 Macronix International Co., Ltd. Method for programming non-volatile memory with reduced bit line interference and associated device
CN106486162B (zh) * 2015-08-27 2019-07-23 旺宏电子股份有限公司 存储阵列的编程方法
KR102503169B1 (ko) * 2015-11-03 2023-02-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102437591B1 (ko) 2015-12-03 2022-08-30 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법
US10248499B2 (en) 2016-06-24 2019-04-02 Sandisk Technologies Llc Non-volatile storage system using two pass programming with bit error control
US10134479B2 (en) 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
US10553301B2 (en) 2017-06-03 2020-02-04 Sandisk Technologies Llc Dynamic read table block filter
US10614898B1 (en) 2018-09-19 2020-04-07 Sandisk Technologies Llc Adaptive control of memory cell programming voltage
EP3853854A4 (en) * 2019-01-23 2022-05-04 Yangtze Memory Technologies Co., Ltd. PROCEDURE FOR PROGRAMMING A MEMORY SYSTEM
US10811111B1 (en) 2019-03-26 2020-10-20 Yangtze Memory Technologies Co., Ltd. Non-volatile memory device and method for programming in non-volatile memory device by applying multiple bitline bias voltages
WO2020191612A1 (en) * 2019-03-26 2020-10-01 Yangtze Memory Technologies Co., Ltd. Method for programming in non-volatile memory device by applying multiple bitline bias voltages
US10910076B2 (en) 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
CN110619916A (zh) * 2019-08-12 2019-12-27 长江存储科技有限责任公司 存储器编程方法、装置、电子设备及可读存储介质
US11527291B2 (en) 2020-02-14 2022-12-13 Micron Technology, Inc Performing a program operation based on a high voltage pulse to securely erase data
US11049578B1 (en) 2020-02-19 2021-06-29 Sandisk Technologies Llc Non-volatile memory with program verify skip
US11594293B2 (en) 2020-07-10 2023-02-28 Samsung Electronics Co., Ltd. Memory device with conditional skip of verify operation during write and operating method thereof
US20230410898A1 (en) * 2020-10-19 2023-12-21 Rambus Inc. Flash memory device with photon assisted programming
US11532370B1 (en) 2021-05-25 2022-12-20 Sandisk Technologies Llc Non-volatile memory with fast multi-level program verify

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220531A (en) 1991-01-02 1993-06-15 Information Storage Devices, Inc. Source follower storage cell and improved method and apparatus for iterative write for integrated circuit analog signal recording and playback
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5412601A (en) 1992-08-31 1995-05-02 Nippon Steel Corporation Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
EP0704854B1 (en) 1994-09-30 1999-12-01 STMicroelectronics S.r.l. Memory device having error detection and correction function, and methods for writing and erasing the memory device
JPH09251782A (ja) 1996-03-14 1997-09-22 Fujitsu Ltd 半導体記憶装置
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
JP3414587B2 (ja) * 1996-06-06 2003-06-09 株式会社東芝 不揮発性半導体記憶装置
JP3481817B2 (ja) 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
EP0877386B1 (en) * 1997-05-09 2003-07-30 STMicroelectronics S.r.l. Method and device for analog programming of non-volatile memory cells, in particular flash memory cells
JP3906545B2 (ja) * 1998-02-03 2007-04-18 ソニー株式会社 不揮発性半導体記憶装置
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6128224A (en) * 1998-07-29 2000-10-03 Motorola, Inc. Method and apparatus for writing an erasable non-volatile memory
KR100686681B1 (ko) * 1999-02-01 2007-02-27 가부시키가이샤 히타치세이사쿠쇼 반도체 집적 회로 및 불휘발성 기억 소자
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
US6301161B1 (en) 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6424566B1 (en) 2001-02-08 2002-07-23 Advanced Micro Devices, Inc. Program reconnaissance to eliminate variations in vt distributions of multi-level cell flash memory designs
US6738289B2 (en) 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6456533B1 (en) * 2001-02-28 2002-09-24 Advanced Micro Devices, Inc. Higher program VT and faster programming rates based on improved erase methods
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
US6532172B2 (en) 2001-05-31 2003-03-11 Sandisk Corporation Steering gate and bit line segmentation in non-volatile memories
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
US6529412B1 (en) 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
TWI292914B (ja) * 2002-01-17 2008-01-21 Macronix Int Co Ltd
US6747893B2 (en) * 2002-03-14 2004-06-08 Intel Corporation Storing data in non-volatile memory devices

Also Published As

Publication number Publication date
ATE492883T1 (de) 2011-01-15
EP1881504A2 (en) 2008-01-23
EP1711950B1 (en) 2007-12-19
DE602005003924D1 (de) 2008-01-31
EP1711950A1 (en) 2006-10-18
US20050157552A1 (en) 2005-07-21
TWI256644B (en) 2006-06-11
CN1926637B (zh) 2010-08-18
TW200605087A (en) 2006-02-01
EP1881504A3 (en) 2008-05-07
CN1926637A (zh) 2007-03-07
WO2005073981A1 (en) 2005-08-11
DE602005025540D1 (de) 2011-02-03
KR100751579B1 (ko) 2007-08-27
DE602005003924T2 (de) 2008-12-18
JP2007519161A (ja) 2007-07-12
EP1881504B1 (en) 2010-12-22
US7035146B2 (en) 2006-04-25
US6888758B1 (en) 2005-05-03
ATE381762T1 (de) 2008-01-15
KR20070054594A (ko) 2007-05-29

Similar Documents

Publication Publication Date Title
JP4490977B2 (ja) 不揮発性メモリのプログラミング方法
JP4431139B2 (ja) 不揮発性メモリのためのセルフブースト技術
JP5334954B2 (ja) 不揮発性メモリのプログラミング禁止スキームの選択的な使用
JP4857278B2 (ja) オーバープログラミングの低減を利用する高速プログラミングシステム
JP4884372B2 (ja) 非揮発性メモリの可変プログラミング
JP4808784B2 (ja) 改善されたパス電圧を用いてプログラム阻害を低減した不揮発性記憶メモリのプログラミング方法
KR101314306B1 (ko) 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법
EP1678722A1 (en) Programming method based on the behavior of non-volatile memory cells
EP1971984B1 (en) Continued verification in non-volatile memory write operations
JP5114621B2 (ja) 不揮発性メモリのソフトプログラミングにおける制御されたブースト
JP4995264B2 (ja) 読み出し中におけるプログラム外乱による影響の軽減
KR100984563B1 (ko) 프로그램 혼란이 감소된 nand 타입 비휘발성 메모리의최종-최초 모드 및 프로그래밍 방법
JP4723000B2 (ja) ビット線結合を生じる不揮発性メモリを制御してプログラムする方法
JP4995265B2 (ja) 読み出し中におけるプログラム外乱による影響の軽減

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

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

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

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4490977

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

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

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