不揮発性記憶装置のための可変書き込み
【課題】書き込み速度を向上するために書き込みパルス間の検証動作の量を制限する。
【解決手段】複数の不揮発性記憶素子を消去した後、ソフト書き込みが実行され、その不揮発性記憶素子の消去閾値区分が狭められる。ソフト書き込みの間、システムは、不揮発性記憶素子の第1セットに対してソフト書き込みを終了するための書き込みパルスの数と、不揮発性記憶素子の最後のセット以外の全てのセットに対してソフト書き込みを終了するための書き込みパルスの数を特定する。それら2つの数は、不揮発性記憶素子の閾値区分の特徴付けるのに用いられる。閾値区分のこの特徴と書き込みパルスのステップサイズが、後続の書き込みにおいて用いられる検証パルスの数を制限するのに用いられる。
【解決手段】複数の不揮発性記憶素子を消去した後、ソフト書き込みが実行され、その不揮発性記憶素子の消去閾値区分が狭められる。ソフト書き込みの間、システムは、不揮発性記憶素子の第1セットに対してソフト書き込みを終了するための書き込みパルスの数と、不揮発性記憶素子の最後のセット以外の全てのセットに対してソフト書き込みを終了するための書き込みパルスの数を特定する。それら2つの数は、不揮発性記憶素子の閾値区分の特徴付けるのに用いられる。閾値区分のこの特徴と書き込みパルスのステップサイズが、後続の書き込みにおいて用いられる検証パルスの数を制限するのに用いられる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性記憶装置のための技術に関する。
【背景技術】
【0002】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再書込み可能型読取専用メモリ(EEPROM)とフラッシュメモリは、最も普及している不揮発性半導体メモリである。
【0003】
EEPROMとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【0004】
EEPROMやNAND型フラッシュメモリデバイスなどのフラッシュメモリデバイスに書き込みを行う場合、典型的には、ビットラインが接地されるとともに、制御ゲートに書き込み電圧が加えられる。チャネルからの電子がフローティングゲートへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルが書き込まれた状態となる。書き込みに関するさらなる情報は、「Source Side Self Boosting Technique for Non-Volatile Memory」と題した米国特許第6,859,397号、「Detecting Over Programmed Memory」と題した米国特許第6,917,542号、及び、「Programming Non-Volatile Memory」と題した米国特許第6,888,758号に開示されている。これらの3つの文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【0005】
多くの場合、書き込み電圧は、パルス毎にその大きさが増加する一連のパルス(書き込みパルスと称する)として制御ゲートに印加される。書き込みパルスとパルスの間には、1以上の一連の検証動作が実行され、書き込まれたメモリセルがその目標レベルに達しているか否かが決定される。メモリセルがその目標レベルに達している場合、そのメモリセルに対する書き込みが終了する。メモリセルがその目標レベルに達していない場合、そのメモリセルに対して書き込みが継続される。
【0006】
ある種のEEPROMとフラッシュメモリデバイスは、2つの電荷量範囲を蓄えるために使われるフローティングゲートを備えており、それゆえ、そのメモリセルは、2つの状態(消去状態と書き込み状態)の間で書き込み/消去が行われることができる。そのようなフラッシュメモリデバイスは、バイナリメモリデバイスと呼ばれることがある。
【0007】
マルチステートメモリデバイスは、禁止帯で分離された、複数の区別された有効な閾値電圧区分(或いはデータ状態)を特定することによって、1メモリセル当たり複数ビットのデータを記憶することができる。夫々の区別された閾値電圧区分は、メモリデバイス内で符号化される一組のデータビットに対する予め決められた値に対応する。例えば、2ビットデータを記憶するメモリセルは、4個の有効な閾値電圧区分を使う。3ビットデータを記憶するメモリセルは、8個の有効な閾値電圧区分を使う。
【発明の概要】
【発明が解決しようとする課題】
【0008】
1メモリセル当たりのデータビットの数(即ち、有効な閾値電圧区分の数)が増えるにつれて、メモリデバイスのデータ容量が増大する。この一方で、書き込みに要する時間も増加する。例えば、有効閾値電圧区分の数が増加するほど、書き込みパルスの間で必要とされる検証動作の数が増加する。一般的に、データを記憶するのに時間がかかる電子デバイスは好ましくない。例えば、デジタルカメラでは、写真の撮影と撮影の間の待ち時間は好ましくない。
【0009】
メモリデバイスが1メモリセル当たりに記憶するデータビットが増大するにつれて、合理的な速さの書き込み速度に対する要望が高まってきている。
【課題を解決するための手段】
【0010】
本明細書は、書き込み速度を向上するために書き込みパルス間の検証動作の量を制限する処理を開示する。
【0011】
一実施形態は、複数の不揮発性記憶素子に対する第1書き込み処理と、その不揮発性記憶素子に対する第1書き込み処理に続く第2書き込み処理を実行することを含む。第2書き込み処理は、第1書き込み処理に少なくとも部分的に基づく一連の検証動作を含む。
【0012】
一実施形態は、複数の不揮発性記憶素子に対する第1書き込み処理を実行することを含む。第1書き込み処理は、不揮発性記憶素子に書き込みパルスを印加することを含む。この方法はさらに、第1書き込み処理の間に第1結果を得るのに必要な第1書き込みパルスを特定すること、第1書き込み処理の間に第2結果を得るのに必要な第2書き込みパルスを特定すること、及び、第1書き込み処理に続いて不揮発性記憶素子に対して第2書き込み処理を実行すること、を含む。第2書き込み処理は、書き込みパルスの間で検証パルスを用いる。検証パルスは、第1書き込みパルスと第2書き込みパルスに基づいて制限される。
【0013】
一実施形態は、複数の不揮発性記憶素子を消去すること、消去処理と関連して複数の不揮発性記憶素子にソフト書き込みすること、1以上の不揮発性記憶素子の第1組に対するソフト書き込みを完了することに関連する第1書き込みパルスを特定すること、1以上の不揮発性記憶素子の第2組に対するソフト書き込みを完了することに関連する第2書き込みパルスを特定すること、及び、不揮発性記憶素子を書き込むことを含む。この書き込み処理は、第1個数の書き込みパルス群と第2個数の書き込みパルス群に基づいて検証動作群を実行することを含む。
【0014】
実装形態の一例は、一組の不揮発性記憶素子と、その一組の不揮発性記憶素子と通信する1以上の管理回路を含む。1以上の管理回路は、上記した処理を実行する。
【図面の簡単な説明】
【0015】
【図1】NANDストリングの平面図である。
【図2】NANDストリングの等価回路図である。
【図3】不揮発性メモリシステムのブロック図である。
【図4】メモリアレイの一実施例を示すブロック図である。
【図5】センスブロックの一実施例を示すブロック図である。
【図6】閾値電圧区分セットの一例を示す図である。
【図7】閾値電圧区分セットの一例を示す図である。
【図8】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図9】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図10】不揮発性素子を動作させる処理の一例を説明するフローチャートである。
【図11A】マルチパス書き込み処理を示す図である。
【図11B】マルチパス書き込み処理を示す図である。
【図11C】マルチパス書き込み処理を示す図である。
【図11D】マルチパス書き込み処理を示す図である。
【図11E】マルチパス書き込み処理を示す図である。
【図12】不揮発性素子に書き込む処理の一例を示すフローチャートである。
【図12A】選択されたメモリセルの制御ゲートに印加される書き込みパルス群と検証パルス群を示す図である。
【図13】複数ワードラインへの4パス書き込み処理を実行するシーケンスの一例を示すチャートである。
【図14】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図15】不揮発性記憶装置に書き込むための処理の一例を示すフローチャートである。
【図16】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図17】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図18】検証のための処理の一例を示すフローチャートである。
【図19】データ読み出しのための処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
フラッシュメモリシステムの一例は、NAND構造を用いており、2つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は、1つのNANDストリングを示す平面図である。図2は、その等価回路である。図1と図2に示すNANDストリングは、第1(又はドレイン側)選択ゲート120と第2(又はソース側)選択ゲート122の間に挟まれている、直列に接続されている4つのトランジスタ100、102、104及び106を有する。選択ゲート120は、ビットコンタクト126を介してNANDストリングをビットラインに接続している。選択ゲート122は、NANDストリングをソースライン128に接続している。選択ゲート120は、選択ラインSGDに適切な電圧を加えることによって制御される。センタ買うゲート122は、選択ラインSGSに適切な電圧を加えることによって制御される。トランジスタ100、102、104、及び106の夫々は、制御ゲートとフローティングゲートを有している。例えば、トランジスタ100は、制御ゲート100CGとフローティングゲート100FGを備えている。トランジスタ102は、制御ゲート102CGとフローティングゲート102FGを備えている。トランジスタ104は、制御ゲート104CGとフローティングゲート104FGを備えている。トランジスタ106は、制御ゲート106CGとフローティングゲート106FGを備えている。制御ゲート100CGはワードラインWL3に接続されており、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。
【0017】
図1と図2は、NANDストリング内の4個のメモリセルを示しているが、4個のトランジスタの使用は単に一例として提示されている点に留意されたい。NANDストリングは、4個よりも少ない、或いは、4個よりも多いメモリセルを有していてよい。例えば、NANDストリングによっては8個、16個、32個、64個、128個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数のメモリセルを有するNANDストリングにも限定されない。
【0018】
NAND構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのNANDストリングを含んでいる。各NANDストリングは、選択ラインSGSによって制御されるソース選択ゲートによってソースラインに接続されているとともに、選択ラインSGDによって制御されるドレイン選択ゲートによって関連するビットラインに接続されている。各ビットラインとそのビットラインにビットラインコンタクトを介して接続されている夫々のNANDストリングは、メモリセルアレイの列を構成する。ビットラインは、複数のNANDストリングによって共有されている。典型的には、ビットラインは、ワードラインと直交する方向でNANDストリング上を通っており、1以上のセンスアンプと接続されている。
【0019】
各メモリセルは(アナログ又はデジタルの)データを記憶することができる。1ビットのデジタルデータを記憶する場合、メモリセルの可能な閾値電圧の範囲は、2つの範囲に分割され、それぞれの範囲が論理データの「1」と「0」に割り当てられる。NAND型フラッシュメモリの一例では、メモリセルが消去された後では閾値電圧が負値となり、それは論理「1」と定義される。書き込み後の閾値電圧は正値となり、それは論理「1」と定義される。閾値電圧が負値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルがオンとなり、これは論理1が記憶されていることを示す。閾値電圧が正値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルはオンせず、これは論理0が記憶されていることを示す。
【0020】
複数レベルのデータを記憶する場合には、可能な閾値の範囲は、データのレベルの数に分割される。例えば、4つのレベルの情報を記憶する場合(2ビットのデータ)、4つの閾値電圧範囲が存在し、それぞれがデータ値「11」、「10」、「01」、及び「00」に割り当てられる。NANDタイプのメモリの一例では、消去動作の後の閾値電圧は負の値となり、論理「11」と定義される。正値の閾値電圧群が「10」、「01」、「00」というデータ状態に対して用いられる。8つのレベルの情報(又は状態)が記憶される場合(即ち、3ビットのデータ)、データ値「000」、「001」、「010」、「011」、「100」、「101」、「110」、及び「111」に割り当てられる8つの閾値電圧範囲がある。
【0021】
メモリセルに書き込まれるデータとセルの閾値電圧レベルの間の具体的な関係は、セルに採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照することにより本明細書に組み込まれる米国特許第6,222,762号及び米国特許出願公開公報第2004/0255090号は、マルチステートフラッシュメモリセルのための様々なデータ符号化方式を説明している。一実施形態においては、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に1つのビットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲に割り当てられる。他の実施形態では、異なるワードラインに対してデータ符号化技法が変更され得ることがある。データ符号化技法は、時間に依存して変更され得ることがある。また、ランダムなワードラインのデータビットは、データパターン感度を低減し、メモリセルのウェアを均一にするために、変換されるか、或いはランダム化されることがある。
【0022】
NANDタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米国特許/特許出願に記載されており、それらの引用文献は、その全体が参照により本明細書に組み込まれる。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第6,456,528号、及び、米国公開公報第US2003/0002348号。本明細書における説明は、他のタイプの不揮発性記憶素子と同様に、NANDを加えた他のタイプのフラッシュメモリにも利用可能である。
【0023】
NANDフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いることができる。例えば、基本的に(フローティングゲートの代わりに)窒化物層内に電荷をトラッピングするメモリセルである、いわゆるTANOS構造(TaN−Al2O3−SiN−SiO2の積層から構成される構造)にも本発明は適用できる。フラッシュEEPROMシステムで有用な別のタイプのメモリセルは、不揮発方式で電荷を蓄積するために、導電性フローティングゲートの代わりに非導電性の誘電物質を活用する。そのようなセルは、Chanらによる記事、「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」、IEEE ELECTRON DEVICE Letters、EDL−8巻、第3号、1987年3月の93から95ページに説明されている。酸化ケイ素、窒化ケイ素、及び酸化ケイ素(「ONO」)から形成される三層の誘電体が、メモリセルチャネル上で半導電性基板の表面と導電性制御ゲートとの間に挟まれている。セルは、セルチャネルから窒化物の中に電子を注入することにより書込みが行われ、窒化物内において電子が制限領域内にトラッピングされ蓄積される。この蓄積された電荷は、次に、検出可能な方法で、セルのチャネルの一部の閾値電圧を変更する。セルは、窒化物中にホットホールを注入することによって消去される。Nozakiら、「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」、IEEE Journal of Solid-State Circuits、第26巻、第4号、1991年4月、497から501ページに、分離した選択トランジスタを形成するためにドーピングされたポリシリコンゲートがメモリセルチャネルの一部に拡がっている分割ゲート構成における同様のセルが説明されている。その文献も参照されたい。前記2つの記事は、その全体を参照することにより本明細書に組み込まれる。参照することにより本明細書に組み込まれるWilliam D. Brown及びJoe E. Brewerによって編集された「Nonvolatile Semiconductor Memory Technology」、IEEE出版1998年の第1.2項にも、誘電電荷トラップ装置に適用可能である書き込み技法が説明されている。他のタイプのメモリ素子も使用できる。
【0024】
図3は、1つ以上のメモリダイ又はチップ212を有する不揮発性記憶デバイス210を示している。メモリダイ212は、メモリセルの(2次元又は3次元の)アレイ200、制御回路220、及び、リード/ライト回路230Aと230Bを有する。一実施形態では、様々な周辺回路によるメモリアレイ200へのアクセスはアレイの両側で対称的に実装されており、これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード/ライト回路230A及び230Bは、複数のセンスブロック300を有しており、それらのセンスブロック300によって1ページのメモリセルを並列に読み出し又は書き込みすることができる。メモリアレイ100は、行デコーダ240Aと240Bを介したワードラインと、列デコーダ242Aと242Bを介したビットラインによってアドレス指定される。典型的な実施形態では、コントローラ244は、1つ以上のメモリダイ212のような同じメモリデバイス210(例えば、取り外し可能なストレージカード又はパッケージ)内に含まれる。命令、及びデータは、ライン232を介してホストとコントローラ244の間で転送され、また、ライン234を介してコントローラと1つ以上のメモリダイ212の間で転送される。
【0025】
制御回路220は、リード/ライト回路230Aと230Bと協調して、メモリアレイ200に対してメモリ動作を実行する。制御回路220は、ステートマシン222、オンチップアドレスデコーダ224、及び電力制御モジュール226を有している。ステートマシン222は、メモリ動作のチップレベルの制御を提供する。オンチップアドレスデコーダ224は、ホスト又はメモリコントローラによって用いられるアドレスと、デコーダ240A、240B、242A及び242Bによって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール226は、メモリ動作中のワードライン及びビットラインに供給される電力及び電圧を制御する。一実施形態では、電力制御モジュール226は、供給電力より大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
【0026】
一実施形態では、制御回路220、電力制御回路226、デコーダ回路224、ステートマシン回路222、デコーダ回路242A、デコーダ回路242B、デコーダ回路240A、デコーダ回路240B、リード/ライト回路230A、リード/ライト回路230B、及び/又はコントローラ244の一つ又は幾つかの組合せは、1つの管理回路、或いは複数の管理回路群と称されることがある。
【0027】
図4は、メモリセルアレイ200の例示的な構造を示す。一実施形態においては、メモリセルのアレイは、メモリセル群のM個のブロックに分割される。フラッシュEEPROMシステムに一般的であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去される最小数のメモリセルを含む。各ブロックは、通常、複数のページに分割される。ページは書き込みの単位である。通常、1つ又は複数ページのデータが1列のメモリセルに記憶される。1つのページは、1つ又は複数のセクタを記憶できる。1つのセクタは、ユーザデータとオーバヘッドデータを含む。オーバヘッドデータは、通常、セクタのユーザデータから算出される誤り訂正符号(Error Correction Code:ECC)を含む。コントローラ(後述)の一部が、データがアレイに書き込まれているときにECCを計算し、データがアレイから読み出されているときにECCのチェックも行う。代わりに、ECC及び/又は他のオーバヘッドデータはそれらが関係するユーザデータとは異なるページに記憶され、または異なるブロックに記憶されることがある。ユーザデータのセクタは通常、磁気ディスクドライブ内のセクタサイズに相当する512バイトである。例えば8ページから32、64、128、或いはそれ以上のページまでの多数のページが1ブロックを形成する。異なるサイズのブロックと配置も採用することができる。
【0028】
別の実施形態では、ビットラインは偶数のビットラインと奇数のビットラインに分けられる。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿っており奇数ビットラインに接続されたメモリセル群は、同時に書き込みが行われる。これに対し、共通ワードラインに沿っており偶数ビットラインに接続されたメモリセル群は、奇数ビットラインに接続されたメモリセル群の書き込みとは別のタイミングで同時に書き込みが行われる。
【0029】
図4は、メモリアレイ200の第iブロックの詳細を示している。第iブロックは、X+1ビットラインとX+1NANDストリングを含んでいる。第1ブロックは、64本のデータワードライン(WL0−WL63)、2本のダミーワードライン(WL_d0、WL_d1)、ドレイン側選択ライン(SGD)、及び、ソース側選択ライン(SGS)も含んでいる。各NANDストリングの一端は、(選択ラインSGDに接続されている)ドレイン選択ゲートを介して対応するビットラインに接続されており、他端は、(選択ラインSGSに接続されている)ソース選択ゲートを介してソースラインに接続されている。64本のデータワードラインと2本のダミーワードラインが存在するので、各NANDストリングは、64個のデータメモリセルと2個のダミーメモリセルを含んでいる。他の実施形態では、NANDストリングは、64個より多い、或いは少ないデータメモリセルと2個のダミーメモリセルを有していてもよい。データメモリセルは、ユーザ又はシステムのデータを記憶することができる。ダミーメモリセルは、通常、ユーザ又はシステムのデータを記憶するのには用いられない。幾つかの実施形態は、ダミーメモリセルを有していない。
【0030】
図5は、センスモジュール480と呼ばれるコア部と共通部490に分割された個々のセンスブロック300のブロック図である。一実施形態では、各ビットラインに対して個別のセンスモジュール480を用意し、一組の複数センスモジュール480に対して一つの共通部490を用意してもよい。一例として、1個のセンスブロックは、1個の共通部490と8個のセンスモジュール480を有している。グループ内の各センスモジュールは、データバス472を介して協働する共通部と通信する。さらなる詳細としては、その全体を参照することにより本明細書に組み込まれる米国特許出願公開公報2006/0140007号を参照されたい。
【0031】
センスモジュール480は、接続されたビットライン内の伝導電流が予め決められた閾値レベルより高いか低いかを判定するセンス回路470を備えている。幾つかの実施形態では、センスモジュール480は、センスアンプと一般に呼ばれる回路を有する。センスモジュール480は、さらに、接続されたビットラインに電圧状態を設定するために用いられるビットラインラッチ482を有している。例えば、ビットラインラッチ482内で予め決められた状態がラッチされることによって、接続されたビットラインを、書き込み禁止を指定する状態(例えば、Vdd)に引き上げる(プル)する。
【0032】
共通部490は、プロセッサ492、1組のデータラッチ494、及び、1組のデータラッチ494とデータバス420の間を接続するI/Oインタフェース496を備えている。プロセッサ492は計算を実行する。例えば、その機能の1つは、センスされたメモリセル内に記憶されているデータを特定し、特定されたデータを一組のデータラッチ内に記憶することである。1組のデータラッチ494は、読み出し動作において、プロセッサ492によって特定されたデータビット群を記憶するために用いられる。一組のデータラッチ494は、書き込み動作において、データバス420から取り込んだデータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモリ内に書き込む予定のライトデータ(書き込みデータ)を表す。I/Oインタフェース496は、データラッチ494とデータバス420の間のインタフェースを提供する。
【0033】
読み出し又はセンス中には、システムの動作はステートマシン222の制御下にあり、ステートマシン222はアドレス指定されたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む毎に、センスモジュール480はこれらの電圧の1つに遷移し、バス472を介してセンスモジュール480からプロセッサ492に出力が提供される。その時点で、プロセッサ492は、センスモジュールの遷移イベントと、ステートマシンから入力ライン493を介して加えられた制御ゲート電圧についての情報によって、結果としてのメモリ状態を特定する。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られたデータビット群をデータラッチ494に格納する。コア部の別の実施形態では、ビットラインラッチ482は、センスモジュール480の出力をラッチするラッチ、及び、上記のようなビットラインラッチの二つの役割を持つ。
【0034】
当然のことながら、いくつかの実装形態では複数のプロセッサ492を有することができる。一実施形態では、各プロセッサ492は出力ライン(図5には示されていない)を有し、各出力ラインは共にワイヤードOR(配線論理和)接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続される前段階で反転される。この構成は、ワイヤードORの結果を受け取るステートマシンが、書き込まれる全てのビットがいつ所望のレベルに到達したかを判断できるので、書き込み処理の完了時点を判定する書き込み検証処理における素早い判定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「0」がワイヤードORラインに送られる(又はデータ「1」が反転される)。全てのビットがデータ「0」を出力すると(又はデータ「1」が反転されると)、ステートマシンは書き込み処理の完了を知る。各プロセッサが8個のセンスモジュールと通信する実施形態では、(いくつかの実施形態において)ステートマシンはワイヤードORラインを8回読み出す必要があってもよいし、あるいは、協働するビットラインの結果を蓄積するための論理をプロセッサ492に追加し、ステートマシンがワイヤードORラインを一度だけ読み出せば良いようにしてもよい。
【0035】
書き込み又は検証処理の間、書き込まれるべきデータはデータバス420から1組のデータラッチ494内に記憶される。ステートマシン制御下の書き込み動作は、アドレス指定されるメモリセルの制御ゲートに加えられる一連の(値の増加を伴う)書き込み電圧パルスを伴う。各書き込みパルスに続いて検証処理が実行され、メモリセルが所望の状態に書き込まれたかどうかを判定する。プロセッサ492は、所望のメモリ状態に対する検証メモリ状態を監視する。その2つが一致したとき、プロセッサ492は、書き込み禁止を指定する状態にビットラインを引き上げる(プルする)ようにビットラインラッチ482を設定する。これにより、たとえ書き込みパルスがその制御ゲートに影響しても、ビットラインに接続したセルがさらに書き込みされないようにすることができる。他の実施形態では、プロセッサが最初にビットラインラッチ482をロードし、センス回路が検証処理中にそれに禁止値を設定する。
【0036】
データラッチスタック494は、センスモジュールに対応するデータラッチのスタックを有する。一実施形態では、センスモジュール480毎に3個から5個の(或いはその他の数の)データラッチが存在する。一実施形態では、ラッチは夫々1ビットである。いくつかの実装形態では、(必須ではないが)データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス420用にシリアルデータに変換したり、その逆を行ったりする。好適な一実施形態では、m個のメモリセルのリード/ライトブロックに対応する全てのデータラッチを相互にリンクしてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、リード/ライトモジュールの一群のデータラッチのそれぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード/ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード/ライトブロック全体のシフトレジスタの一部であるかのようにしてもよい。
【0037】
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている。(1)米国特許出願公開2004/0057287号、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、2004年3月25日公開、(2)米国特許出願公開2004/0109357号、「Non-Volatile Memory And Method with Improved Sensing」、2004年6月10日公開、(3)米国特許出願公開20050169082号、(4)米国特許出願公開2006/0221692号、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、発明者Jian Chen、2005年4月5日出願、及び、(5)米国特許出願第11/321,953号、「Reference Sense Amplifier For Non-Volatile Memory」、発明者Siu Lung Chan及びRaul−Adrian Cernea、2005年12月28日出願。これら5個の特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
【0038】
成功した(検証を含む)書き込み処理の最後において、メモリセルの閾値電圧は、必要に応じて、書き込まれたメモリセルの1つ又は複数の閾値電圧の区分内、或いは、消去されたメモリセルの閾値電圧の区分内となる。図6は、各メモリセルが4ビットデータを記憶する場合のメモリセルアレイについてのデータ状態に対応した閾値電圧区分の例を示す。なお、他の実施形態では、1メモリセルあたり4ビットよりも多い、或いは少ないデータを採用してもよい。図6は、データ状態0−15に対応する16個の閾値電圧区分を示している。一実施形態では、状態0の閾値電圧は負値であり、状態1−15の閾値電圧は正値である。
【0039】
データ状態0−15の夫々の間は、メモリセルからデータを読み出す際に用いられる読み出し参照電圧である。例えば、図6は、データ状態0と1の間の読み出し参照電圧Vr1と、データ状態1と2の間の読み出し参照電圧Vr2を示している。メモリセルの閾値電圧が各読み出し参照電圧よりも高いか低いかを検証することによって、システムは、そのメモリセルがどの状態にあるかを決定することができる。
【0040】
各データ状態0−15の下限或いはその付近は、検証参照電圧である。例えは、図6は、状態1に対するVv1と、状態2に対するVv2を示している。目標の状態へのメモリセルの書き込みの際、システムは、それらのメモリセルが検証参照電圧に等しいかそれより高い閾値電圧を有するか否かをテストする。
【0041】
図7は、データ状態0−15に対応する閾値電圧区分の他の実施形態を示している。この実施形態では、ECCが、エラーとなっているある程度の割合のセルを扱うことができるので、閾値電圧区分が部分的にオーバーラップすることができる。
【0042】
Vt軸は、制御ゲートに印加される実際の電圧からオフセットされ得ることに留意されたい。オフセットは、ソースを通じたボディ効果、或いは、負値の閾値電圧を測定可能な正値範囲にシフトさせるためにボディバイアスが用いられることにより生じる。図示された16個の状態の等間隔/等幅とは異なり、保持力損失に対する脆弱性の度合いの違いに対応するために、状態は異なる幅/間隔を有していてもよいことにも留意されたい。幾つかの実施形態では、状態0及び/又は状態15は、他の状態よりも広い。
【0043】
図6(又は図7)の各データ状態は、夫々の状態に書き込まれたメモリセルに記憶されたデータビットに対する予め決められた値に対応している。図8は、データ状態0−15の夫々に割り当てられたデータ値の一例を示す表である。一実施形態では、メモリセルは4個の異なるページに属するデータを記憶する。4つのページは、第1下位ページ、第2上位ページ、第3高位ページ、第4トップページと称される。図8は、各データ状態0−15に対して各ページに属するデータを示している。一実施形態では、各ページは別々に書き込まれる。他の実施形態では、1つのメモリセルに対する4つ全てのデータビットが同時に書き込まれる。
【0044】
図9は、データ状態0−15の夫々に割り当てられたデータ値の他の一例を示す表である。図8のデータ値は、グレイコード割当を用いており、隣接するデータ状態では1ビットのみが異なる。この配置は、メモリセルの閾値電圧が低すぎる或いは高すぎる場合のエラービットの数を抑制する。
【0045】
図10は、不揮発性メモリセルの動作の一実施形態を示すフローチャートである。多くの実装形態では、メモリセルは、書き込みに先立って(ブロック単位又は他の単位で)消去される。一実施形態では、ソースとビットラインをフローティング状態にしておきながら、選択されたブロックのワードラインを接地し、十分な時間の間pウエルを消去電圧(例えば20ボルト)にまで上昇させることによってメモリセルが消去される(ステップ500参照)。容量結合のため、非選択ワードライン、ビットライン、選択ライン、及び、ソースもまた、消去電圧のかなりの割合の電圧まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲートの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子がフローティングゲートからp−ウェル領域に移動するにつれて、選択されたセルの閾値電圧が低下する。消去は、メモリアレイ全体、別々のブロック、又はセルの他の単位で行うことができる。メモリセルのブロックが消去された後、本明細書に説明されるように、種々のメモリセルに書き込みが行われる。
【0046】
ステップ502では、消去されたメモリセルの消去閾値電圧の区分を狭めるために、ソフト書き込みが任意的に実行される。いくつかのメモリセルは、消去処理の結果として必要以上に低い消去状態にあってよい。ソフト書き込みは、消去されたメモリセルの閾値電圧を一層狭い閾値電圧区分に移行させるために書き込みパルスを印加することを含む。各書き込みパルスの間で検証動作が実行され、メモリセルが適切な消去閾値電圧区分内となっているか否かが決定される。ソフト書き込み処理の終了に先立って、ソフト書き込みがそれ以上必要ないメモリセルは、対応するビットラインを引き上げることによってそれ以上のソフト書き込みから除外される。検証電圧は、個別の実装に基づいて変更され得る。ソフト書き込みは技術的に知られている。ソフト書き込みに関するさらなる情報は、米国特許第6,661,711号に開示されており、その文献は参照により本明細書に組み込まれる。ソフト書き込みを実行するのに特別な技法は要求されないことに留意されたい。ソフト書き込みは消去処理と関連して実行されることがあり、また、ソフト書き込みは書き込み時に実行されることもある。
【0047】
ステップ504では、書き込みデータ要求が受信される。この要求は、ホスト或いは他のデバイスから受信され得る。ステップ502と504の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスク(他の書き込み動作を含む)がステップ502と504の間に介在することを示している。
【0048】
ステップ506では、メモリセルを消去閾値電圧区分から有効データ状態に対応付けられた閾値電圧区分のいずれかへ書き込むマルチパス書き込み処理を用いることによって、データがメモリセルに書き込まれる。ステップ506の詳細は後述する。
【0049】
ステップ508では、データメモリセルが読み出され、読み出されたデータがユーザに提供される。例えば、メモリセルからのデータは、コントローラによってホストへ提供される。ステップ506と508の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスクがステップ502と504の間に介在することを示している。幾つかのケースでは、データは読み出されることがないことも起こり得る。図10の処理は、コントローラ244及び/又は制御回路220の管理下で、それ(ら)によって実行される。
【0050】
一般に、読み出し及び検証動作を行っている間、選択されたワードラインは、各読み出し及び検証動作において指定されたあるレベル(即ち、Vr1又はVr2)の電圧に接続され、注目するメモリセルの閾値電圧がそのようなレベルに達しているか否かが決定される。非選択ワードラインは、選択されたワードラインの電圧とは異なるオーバードライブ電圧(Vreadと称される)に接続される。オーバドライブ電圧は、通常、データメモリセルに書き込まれることのできる最大の閾値電圧よりも高い電圧が選定される。オーバードライブ電圧と閾値電圧との差をオーバードライブと称することがある。ワードライン電圧を選択されたワードラインに印加した後、メモリセルの導通電流が測定され、そのワードラインに印加された電圧に応答してメモリセルがオンしたか否かが決定される。導通電流が所定値よりも大きいことが測定された場合、そのメモリセルはオンしたと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高いと判断される。導通電流が所定値よりも大きいことが測定されなかった場合、そのメモリセルはオンしなかったと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高くないと判断される。
【0051】
読み出し或いは検証動作におけるメモリセルの導通電流の計測には、様々な方法がある。一例では、メモリセルの導通電流は、その導通電流がセンスアンプ内の専用キャパシタを蓄電する又は放電する速度によって計測することができる。他の例では、選択されたメモリセルの導通電流は、そのメモリセルを含むNANDストリングがビットライン上の電圧を放電することを許可する(或いは許可することに失敗する)。ビットラインの電圧は、所定時間後に計測され、放電されたか否かが判断される。データ読み出しに関するさらなる詳細は、米国特許公開公報第2006/0221683号に開示されており、その内容はその全体を参照することにより本明細書に組み込まれる。
【0052】
図11A−Dは、図6と図7に示した4ビットデータを記憶するメモリセルへデータを書き込みのための4パス書き込み処理を説明する図である。書き込みに先立って、ブロックの全てのメモリセルが、消去閾値電圧区分へ消去される(図10のステップ500参照)。例えば、図11Aは、消去閾値電圧区分Eの状態にあるメモリセルのブロックを示している。幾つかの実施形態では、消去閾値電圧区分Eはゼロボルトより低い。他の実施形態では、消去閾値電圧区分Eは、ゼロボルトより高い、或いは、部分的にゼロボルトより高い。負値の閾値電圧区分は、ソース電圧を上げることによって正の領域へシフトさせることができ、それによって、フローティングゲート上の電荷量を変えることなく閾値電圧を引き上げる傾向がある逆ボディバイアスを引き起こすことができる。逆ボディバイアスの適用による閾値電圧のこの変化は、ボディ効果の良く知られた現象によるものである。大半のNANDメモリでは、Pウエルがボディを構成する。図を簡単にするために、図11Aから11Dでは、全てのVTが正の領域に現れるように、Vt軸を実際のVTからシフトさせている。実際には、負値のVTは、逆ボディバイアスを利用し、それらのVTをゼロより上に引き上げて測定することができる。これらの図においてシフトされたVt軸に反映されるように、この場合、正値のVTの最大値は4ボルト前後であり、6ボルト或いはそれ以上にはならない。
【0053】
図11Bは、第1書き込みパスを示している。第1書き込みパルスの間、最終的にデータ状態0から7が書き込まれるべきメモリセルに対して、状態0の閾値電圧より低い閾値電圧区分が書き込まれる。例えば、図11Bは、中間閾値電圧区分LM01が書き込まれているメモリセルが示されている。最終的にデータ状態8から15が書き込まれるべきメモリセルのグループに対して、図11BでLM02と記された中間閾値電圧区分が書き込まれる。一実施形態では、閾値電圧区分LM02は、データ状態7に対する閾値電圧よりも高くはない。この第1パスの書き込みパルスの間において、一つはLM01に対するものであり、一つはLM02に対するものである2つの検証動作が実行される。それゆえ、書き込みパルスの間では、2つの検証パルスが用いられる。書き込み処理の開始から少なくとも一つのメモリセルがLM01に到達するまでの間は、(LM01のみに対する)一つの検証パルスを用いることも可能である。少なくとも一つのメモリセルがLM01に到達したときに、システムは2つの検証パルスを用いることになる。他の実施形態では、第1書き込みパスは、3つ以上の閾値電圧区分を書き込むことができる。一実施形態では、データは状態0に消去され、最終的にデータ状態0から7が書き込まれるべきメモリセルは状態0のままである一方で、最終的にデータ状態8から15が書き込まれるべきメモリセルには中間閾値電圧区分が書き込まれる。他の実施形態では、ある程度の割合のエラー発生セルをECCが扱うことができる場合は、LM01は、消去閾値電圧区分Eと僅かにオーバーラップしていてもよい。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0054】
図11Cは、第2書き込みパスを示している。データ状態0から3が書き込まれるべきLM01のメモリセルに対して、閾値電圧区分LM11が書き込まれる。例えば、図11Cは、閾値電圧区分LM01(点線)とLM11(実線)を示している。最終的にデータ状態3から7が書き込まれるべきLM01のメモリセルに対して、中間閾値電圧区分LM12が書き込まれる。最終的にデータ状態8から11が書き込まれるべきLM02のメモリセルに対して、中間閾値電圧区分LM13が書き込まれる。最終的にデータ状態12から15が書き込まれるべきLM02のメモリセルに対して、中間閾値電圧区分LM14が書き込まれる。第2書き込みパスの間、書き込みパルスの間に最大4つの検証動作が実行されることが必要である。一つの検証動作はLM11のためであり、一つの検証動作はLM12のためであり、一つの検証動作はLM13のためであり、一つの検証動作はLM14のためである。それゆえ、各書き込みパルスの間に、最大4つの検証パルスが存在する。幾つかの実施形態では、インテリジェントスキームを使って検証パルスの数を減らすことができる。そのインテリジェントスキームは、特定の目標付近にメモリセルがないことをもって、幾つかの検証パルスをいつ省略し得るかを決定するためのものである。様々なスキームが利用し得る。効率的な検証スキームに関するさらなる情報は、米国特許第7,073,103号に開示されており、その公報は、その全体を参照することにより本明細書に組み込まれる。ECCがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、LM11はLM12とオーバーラップし得るし、LM13はLM14とオーバーラップし得る。さらに、LM12は、LM01又はLM02とオーバーラップし得るし、LM14はLM02とオーバーラップし得る。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0055】
図11Dは、第3書き込みパスを示している。最終的にデータ状態0と1が書き込まれるべきLM11のメモリセルに対して中間閾値電圧区分LM21が書き込まれる。データ状態2と3が書き込まれる予定のLM11のメモリセルに対して中間閾値電圧区分LM22が書き込まれる。データ状態4と5が書き込まれるべきLM12のメモリセルに対して中間閾値電圧区分LM23が書き込まれる。データ状態6と7が書き込まれるべきLM12のメモリセルに対して中間閾値電圧区分LM24が書き込まれる。データ状態8と9が書き込まれるべきLM13のメモリセルに対して中間閾値電圧区分LM25が書き込まれる。データ状態10と11が書き込まれるべきLM13のメモリセルに対して中間閾値電圧区分LM26が書き込まれる。データ状態12と13が書き込まれるべきLM14のメモリセルに対して中間閾値電圧区分LM27が書き込まれる。データ状態14と15が書き込まれるべきLM14のメモリセルに対して中間閾値電圧区分LM28が書き込まれる。ECCがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、隣接するLM2xの区分は、相互にオーバーラップし得る(例えば、LM26はLM25とオーバーラップし得る)。さらに、LM2xの区分は、LM1xともオーバーラップし得る(例えば、LM26は、LM13とオーバーラップし得る)。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0056】
図11Eは、第4書き込みパスを示している。第4書き込みパスでは、データ状態0が書き込まれるべきLM21のメモリセルに対してデータ状態0が書き込まれる。データ状態1が書き込まれるべきLM21のメモリセルに対してデータ状態1が書き込まれる。データ状態2が書き込まれるべきLM22のメモリセルに対してデータ状態2が書き込まれる。データ状態3が書き込まれるべきLM22のメモリセルに対してデータ状態3が書き込まれる。データ状態4が書き込まれるべきLM23のメモリセルに対してデータ状態4が書き込まれる。データ状態5が書き込まれるべきLM23のメモリセルに対してデータ状態5が書き込まれる。データ状態6が書き込まれるべきLM24のメモリセルに対してデータ状態6が書き込まれる。データ状態7が書き込まれるべきLM24のメモリセルに対してデータ状態7が書き込まれる。データ状態8が書き込まれるべきLM25のメモリセルに対してデータ状態8が書き込まれる。データ状態9が書き込まれるべきLM25のメモリセルに対してデータ状態9が書き込まれる。データ状態10が書き込まれるべきLM26のメモリセルに対してデータ状態10が書き込まれる。データ状態11が書き込まれるべきLM26のメモリセルに対してデータ状態11が書き込まれる。データ状態12が書き込まれるべきLM27のメモリセルに対してデータ状態12が書き込まれる。データ状態13が書き込まれるべきLM27のメモリセルに対してデータ状態13が書き込まれる。データ状態14が書き込まれるべきLM28のメモリセルに対してデータ状態14が書き込まれる。データ状態15が書き込まれるべきLM28のメモリセルに対してデータ状態15が書き込まれる。図7を参照して上述したように、他の実施形態では、オーバーラップしているデータ状態0−15を含む。他の実施形態では、相互にオーバーラップする中間LM状態を含み得る。ブロック全体が全書き込みシーケンスを経るまでデータの2値化バージョンが残っている場合は特にそうである(相互にオーバーラップする中間LM状態を含み得る)。
【0057】
一実施形態では、データ書き込み要求を受信したとき、一つのワードライン上の全てのメモリセルにデータ状態0から15のいずれかの状態が書き込まれ得るように、その要求は4ページ全部のデータを伴っている。その場合、図11A−Dの4つの書き込みパスは、受信したデータに基づいて実行される。
【0058】
他の実施形態では、メモリシステムは、一度に4ページ全部のデータよりも少ないデータを受信してもよい。その場合、メモリセルは、初期の段階において、データの各ページがそれぞれ異なるブロックに書き込まれたバイナリメモリセルとして書き込まれてもよい。メモリセルは、消去状態に消去され、1ビットデータはそのメモリセルに書き込まれる。その結果、幾つかのメモリセルは消去状態(データ1)のままであり、幾つかのメモリセルは書き込み状態(データ0)となる。メモリの第1ページを受信したとき、そのデータは、バイナリモードでメモリの第1ブロックに書き込まれる。第2ページのデータを受信したとき、そのデータは、メモリセルの第2ブロックに書き込まれる。第3ページのデータを受信したとき、そのページデータはバイナリ形式でメモリセルの第3ブロックに書き込まれる。第4ページのデータを受信したとき、そのデータは、バイナリ形式でメモリセルの第4ブロックに書き込まれる。4ブロック全てが書き込まれると、システムは、図11A−Dの4パス書き込み処理を用い、1メモリセル当たり4ビットデータを書き込むことによって、4ブロック全てを一つのブロックに書き込み直す。
【0059】
他の実施形態では、完全に書き込まれるまで、一つのバイナリブロックは、ページ毎に書き込まれる。次いで、他のバイナリブロックが、やはり完全に書き込まれるまでページ毎に書き込まれる。次いで、第3バイナリブロックと第4バイナリブロックが、先の2つのブロックと同様の方法で書き込まれる。4つの完全なバイナリブロックが有効となると、それら4つのブロックのデータは、凝縮され、1メモリセル当たり4ビットの形式でブロックに書き込まれる。一実施形態では、バイナリブロックからのデータは、まずコントローラチップに送られ、そこでバイナリECC復号化が実行される。そして、データスクランブリングに加えて、1セル当たり16状態に適した他のタイプのECC符号化が実行される。そうして構築された新しいデータはメモリチップへ送り返され、1セルブロック当たり4状態で書き込まれる。
【0060】
図12は、選択ワードラインに接続されたメモリセルを書き込むための書き込み処理を説明するフローチャートである。本発明では、多くの異なる書き込み技術を用いることができる。一実施形態では、図10の処理は、制御回路220の管理の下で、及び/又は、制御回路220によって(ステートマシンが制御を提供し、電力制御226が適切な信号を供給する)、及び/又は、コントローラ244の管理下で実行される。一実施形態では、図12の処理は、一つのワードラインに(制御ゲートによって)接続されているメモリセルに対する図11A−Eの4パス書き込み処理の一つのパスを実行するために使われる。
【0061】
ステップ624では、「データロード」命令がコントローラ244によって発行され、ステートマシン222に入力される。ステップ626では、ページアドレスを指定するアドレスデータがデコーダ回路に供給される。ステップ628では、そのアドレス指定されたページへの1ページ分の書き込みデータが書き込みのために入力される。例えば、一実施形態では、528バイトのデータが入力される。そのデータは、選択されたビットラインのための適切なレジスタ/ラッチにラッチされる。幾つかの実施形態では、データは、選択されたビットラインのための第2のレジスタにラッチされ、検証動作のために用いられる。ステップ630では、コントローラ244から「書き込み」命令が受信され、ステートマシン222に供給される。「書き込み」命令によって起動され、ステップ628でラッチされたデータは、適切なワードラインに供給された一組のパルス群を使ってステートマシン222によって制御されて、選択されたメモリセルに書き込まれる。ステップ732では、ステートマシン222によって維持される書き込みカウンタPCが0に初期化される。
【0062】
幾つかの実施形態では、書き込みパスの少なくとも1つのサブセットは、夫々の書き込み処理に対する特定の結果を得ることに関連付けられた書き込みパルスを特定すること、及び、特定された書き込みパルスを用いてその不揮発性記憶素子に対する後続の書き込み処理の書き込みを調整することを含む。一実施例では、システムは、最初のメモリセル群をその目標に到達させる書き込みパルスを特定する。他の実施例では、システムは、最初のN個のメモリセルをその目標に到達させる書き込みパルスを特定する。ここで、Nは、ECCによって訂正可能なエラーの数よりも小さい数である。その特定されたパルスは、ある大きさを有している。一実施形態では、後続の書き込みパスの最初のパルスの大きさは、その特定されたパルスの大きさと等しい大きさに設定される。例えば、第1書き込みパスの4番目の書き込みパルスによってメモリセルが初めてその目標に達し、その4番目の書き込みパルスの大きさが14ボルトである場合、第2書き込みパスの最初の書き込みパルスの大きさが14ボルトに設定される。このようにして、一つの書き込みパスにおける動作の様子を観測し、観測したその動作の様子が後続の書き込みパスに影響を与える。
【0063】
他の実施形態では、他のバリエーションが実行される。例えば、後続のパスの最初のパルスは、先行するパスの特定されたパルスに基づいて設定されるが、その大きさは、厳密に等しくなくともよい。
【0064】
加えて、先行の書き込みパスからの書き込みパルスは、目標に達した最初のメモリセル(群)以外のイベントに関連付けられていてもよい。例えば、書き込みパルスは、メモリセルが中間レベル或いは他の状態に達したときに特定されてもよい。
【0065】
それゆえ、新たな書き込みパスが開始されるとき、システムは、予め定められた特定の結果を達成することに関連付けられた先行の書き込みパスから書き込みパルスを特定するための情報にアクセスする(ステップ634)。システムは、レジスタ、フラッシュメモリセル、或いは他の不揮発性記憶デバイスからパルスを特定するための情報を読み出す。一実施形態では、ステップ634は、マルチパス書き込み処理の第1パスでは実行されず、最初の書き込みパルスの大きさの初期値は、10−17ボルトのノミナル値に設定される。そのノミナル値は、デバイスの特性に依存する。
【0066】
ステップ636では、書き込み信号Vpgmの第1の書き込みパルスの大きさが、ステップ634で読み込んだ情報と先行する書き込みパスから特定されたパルスに基づいて設定される。ステップ640では、書き込み信号Vpgmの1パルスが選択されたワードラインに供給される。
【0067】
ステップ642では、適切な一組の目標レベルを使って選択されたメモリセルのデータ状態が検証される。選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知された場合、そのメモリセルのビットライン電圧が高められ、そのメモリセルは、図10の残りの処理による以後の書き込みから除外される。他の除外技術を採用することもできる。
【0068】
この書き込みパスの間に、書き込み中のメモリセルの最初のN個(Nは1以上)がその目標データ状態に達したことが初めて検知された場合、その書き込みパルスに関する情報がフラッシュメモリセル又はレジスタ等の不揮発性記憶デバイスに記憶される(ステップ646)。このパルスが、次の書き込みパスにおける最初のパルスの大きさを設定するのに用いられる。一変形例では、ステップ644は、N個のメモリセルが、除外されていない状態から、その目標状態に到達したことによってその後の書き込みから除外される状態へ変化したか否かを判断する。幾つかの実施形態では、LM01からLM11に書き込まれるメモリセル、LM02からLM13に書き込まれるメモリセル、LM11からLM21に書き込まれるメモリセル、LM12からLM23に書き込まれるメモリセル、LM13からLM25に書き込まれるメモリセル、LM14からLM27に書き込まれるメモリセルに対しては、ステップ644の判断は実行されない。一実施形態では、ステップ644と646は、マルチパス書き込み処理の最後のパスでは実行されない。
【0069】
ステップ646の後、処理はステップ648へと移行する。現在のパルスが、この書き込みパスにおいて書き込み中の最初のN個のメモリセルをその目標データ状態に到達させた最初のパルスではない場合、処理はステップ646を実行することなくステップ648へと移行する。
【0070】
書き込み中の全てのメモリセルがそれらの目標データ状態に到達した場合(ステップ648)、この書き込み処理は無事完了する。「合格」ステータスがステップ650で通知される。ステップ648の幾つかの実装形態では、少なくとも予め決められた数のメモリセルがそれらの目標状態に到達したことが検証されたか否かがチェックされることに留意されたい。この予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセルが適切な検証レベルに到達する前に書き込み処理が終了し得る。書き込みに成功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る。
【0071】
ステップ648において、全てのメモリセルが目標状態に到達しているのではないと判断された場合、書き込み処理は継続する。ステップ660では、書き込みカウンタPCが書き込み限度値に対してチェックされる。書き込み限度値の一例は20であるが、これ以外の値の使用も可能である。書き込みカウンタPCが20未満でない場合には、ステップ666にて、書き込みに失敗したセルの数が既定数以下かどうかが判定される。書き込みに失敗したメモリセルの数が既定数以下の場合には、ステップ668にて、書き込み処理に合格のフラグが立てられ、合格のステータスが通知される。多くの場合、書き込みに失敗したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし、書き込みに失敗したメモリセルの数が既定数よりも多い場合には、ステップ670にて、書き込み処理に失敗したことを示すフラグが立てられ、失敗ステータスが通知される。ステップ660にて書き込みカウンタPCが書き込み制限値未満であると判断された場合、次のVpgmパルスの大きさがステップサイズだけ増加され、書き込みカウンタPCがステップ662にてインクリメントされる。ステップ662の後、処理はステップ640にループバックし、次のVpgmパルスが印加される。
【0072】
書き込み信号Vpgmの書き込みパルス群は、ステップサイズずつ増大していく大きさを有している。一実施形態では、ステップサイズは一定であり、各書き込みパスの各パルスは、その直前のパルスよりも同一のステップサイズだけ大きさが増大している。他の実施形態では、各書き込みパス(又は書き込みパスのサブセット)は、異なるステップサイズを採用する。例えば、第1書き込みパスが0.4ボルトのステップサイズを有し、第2書き込みパスが0.7ボルトのステップサイズを有し、第3書き込みパスが0.35ボルトのステップサイズを有し、第4書き込みパスが0.17ボルトのステップサイズを有する。他の値を採用してもよい。
【0073】
変形した例では、ステップ644とステップ646は、第1書き込みパスにおいてのみ実行される。その場合、後続の3つの書き込みパスでは、最初の書き込みパルスに対して、第1書き込みパスに基づいて決定された大きさを採用する。
【0074】
図12の処理は、書き込みパス毎に1回実行される。64本のワードラインを有し、1ワードライン当たり4つの書き込みパスを実行するケースでは、図12の処理は、各ブロックに対して4x64回実行され得る。
【0075】
図12Aは、ステップサイズ毎に大きさが増加する一組の書き込みパルス680を有する書き込み電圧信号Vpgmの一例を示している。ステップサイズは、線684と686との間の間隙で示されている。書き込みパルスの間には検証パルス(例えば検証パルス682)が存在する。図12Aは、4つのデータ状態を区別し得る3つの検証パルスを示している。図を見やすくするために、3つのパルスのみが図示されている。16個のデータ状態を採用する一実施形態では、書き込みパルスの間に、最大15個の検証パルスが存在し得る。図12に戻り、ステップ640は一つの書き込みパルス680を印加することを含み、ステップ642は一組の検証パルス(例えば一組最大15個のパルス)682を印加することを含む。
【0076】
図13は、メモリの一つのブロックの異なるワードラインに対する異なる書き込みパスの書き込み順を説明する図である。例えば、図13は次の順を示している。最初の動作としてワードラインWL0に対して第1パス(図11B)を実行すること、続いてワードラインWL1に対して第1パスを実行すること、続いてWL0に対して第2パス(図11C)を実行すること、続いてWL2に対して第1パスを実行すること、続いてWL1に対して第2パスを実行すること、続いてWL0に対して第3パス(図11D)を実行すること、続いてWL3に対して第1パスを実行すること、・・・続いてWL63に対して第4パス(図11E)を実行すること。図13に示したこの書き込みパスのシーケンスは、図13のチャートに沿って対角に進行することから対角シーケンスと呼ばれている。他の実施形態では、他のシーケンスを採用してもよい。
【0077】
一実施形態では、各パスは、一つのページデータに対応してよい。例えば、図8と11Bを参照すると、下位ページがデータ1を記憶すべき場合にはそのメモリセルにLM01が書き込まれ、下位ページがデータ0を記憶すべき場合にはそのメモリセルにLM02が書き込まれる。それゆえ、第1書き込みパスの後、そのメモリセルの閾値電圧がLM01とLM02のいずれに属するかによって、下位ページデータが1であるか0であるかを読み出すことができる。第2書き込みパスは、上位ページデータの書き込みと関連することができる。例えば、図8と11Cを参照すると、上位ページデータがデータ1であるべき場合、そのメモリセルはLM11又はLM13のいずれかが書き込まれればよい。上位ページデータがデータ0であるべき場合には、そのメモリセルはLM11又はLM14のいずれかが書き込まれればよい。そのメモリセルの閾値電圧がどの閾値電圧区分に属するかを判定することによって、第1ページデータとともに第2頁データを読み出すことができる。第3書き込みパスは、高次ページデータの書き込みと対応付けることができる。例えば、データ1であるべき高次ページデータは、LM21、LM23、LM25、及びLM27に記憶されればよい。データ0は、LM22、LM24、LM26、或いはLM28に記憶されればよい。第4パスは、トップページデータを適切なデータ状態へ書き込むことに対応付けることができる。
【0078】
図14は、他の実施形態における不揮発性メモリを動作させる処理を説明するフローチャートである。この実施形態では、ソフト書き込みの結果を書き込みパスの調整に用いる。ステップ700では、メモリセルの一つのブロックが消去される。ステップ702では、ソフト書き込みが実行される。このソフト書き込みの処理は、図12の処理にわずかな変更を加えた処理を実行することを含む。ステップ634は実行する必要がなく、ステップ636は常に、最初のパルスに対して特定のノミナル値の電圧を設定する。そのノミナル値は、例えば、デバイスの特性に依存して10から17ボルトの間でよい。N個のメモリセルが消去メモリセルのための適切な目標閾値電圧区分に達してそのN個のメモリセルがソフト書き込みから除外されたとき、その書き込みパルスの特定結果が図12のステップ646で記憶される。その書き込みパルスを特定する情報は、レジスタ又はフラッシュメモリセルに記憶され得る。ステップ704では、データ書き込みの要求が受信される。ステップ702と704の間の点線は、所定の時間間隔と中間ステップがそれらの間で実行され得ることを示している。幾つかの実施形態では、データ書き込みの要求を受信することなくデータを書き込むことがある。ステップ706では、図11A−Eのマルチパス書き込み処理(或いは他のマルチパス書き込み処理)によって、データが消去閾値電圧区分からメモリセルへ書き込まれる。図14の各書き込みパスでは、最初の書き込みパルスの大きさは、ステップ702のソフト書き込み処理における観測された動作の様子に基づいて設定される。ステップ708では、メモリセルからデータが読み出される。一実施形態では、図14に示すように、ソフト書き込みはメモリセルの消去と関連して実行される。他の実施形態では、ソフト書き込みは、(例えば書き込み要求に応答して)書き込みに関連して実行され得る。
【0079】
図15は、図14のステップ706を実行するためのフローチャートの例を示している。図15のステップ824−832は、図12のステップ624−632と同じである。ステップ834では、システムは、図14のステップ703で記憶されたソフト書き込みパスからの書き込みパルスの特定結果を読み出す。ステップ836では、ステップ834で読み出された特定されたパルスに基づいて、書き込み信号Vpgmの最初の書き込みパルスの大きさが設定される。一実施形態では、現在の書き込みパスの最初の書き込みパルスの大きさは、ステップ834で読み出したパルスの大きさに等しく設定される。それゆえ、ステップ834で読み出す情報は、大きさの情報、パルス番号情報(そのパルス番号から大きさが算出できる)、或いは、適切な大きさを特定するのに用いられる他の情報を含んでいる。ステップ840では、書き込みのために選択されたワードラインに書き込みパルスが印加される。ステップ842では、選択ワードラインに沿ったメモリセルが検証される。全ての、或いは既定数のメモリセルが検証に合格した場合(ステップ844)、ステップ846(ステータス=合格)にてこの処理は無事終了する。全て、或いは十分な数のメモリセルが検証されない場合、ステップ860にて書き込みカウンタが既定の制限値を下回っているか否か判断される。既定の制限値を下回っている場合、ステップ862にて、書き込み信号Vpgmの電圧の大きさをステップサイズだけ増加するとともに書き込みカウンタをインクリメントする。上述したように、どの書き込みパスが実行されているかに依存してステップサイズを変更することができる。ステップ862の後、処理はステップ840へと戻り、次の書き込みパルスが印加される。ステップ860にて書き込みカウンタが既定の制限値を超えている判断され、書き込みに失敗したメモリセルの数が既定値より少ないと判断された場合(ステップ866)、この処理はステップ868(ステータス=合格)にて無事終了する。この一方で、書き込みに失敗したメモリセルの数が既定値を超えている場合(ステップ866)、ステップ870にてこのプロセスは不成功として終了する。
【0080】
図15の処理は、書き込みパス毎に1回実行される。64本のワードラインを有しており、1ワードライン当たり4回の書き込みパスを要するケースの場合、図15の処理はブロック毎に4x64回実行される。
【0081】
図16は、他の実施形態のフローチャートを示す。この実施形態は、ソフト書き込みを使い、シングルパス書き込み処理における書き込み信号の大きさの初期値を決定する。ステップ880では、1ブロックのメモリセルが消去される。ステップ882では、ソフト書き込みが実行され、システムは、N個のメモリセルが消去閾値電圧区分であることが検証されたときに、対応する書き込みパルスの特定情報を記憶する。上述したように、Nは、1、2など、デバイス実装に依存して決定される。図16のステップ882は、図14のステップ702に同じである。ステップ884では、データ書き込み要求が受信される。ステップ886では、シングルパス書き込み処理を使って、消去閾値電圧区分からいずれかのデータ状態へとデータがメモリセルへ書き込まれる。ステップ888では、メモリセルが読み出され、データがユーザに提供される。
【0082】
一実施形態では、ステップ886は、ワードライン毎に1回、図15の処理が遂行されることによって実行される。このことは、ワードライン毎に1回のパスが実行されることを意味する。一実施形態では、ステップ880ではメモリセルに消去閾値電圧区分Eを書き込み、ステップ886では消去閾値電圧区分Eから、データ状態0から15のいずれかをメモリセルへ書き込む。他の実施形態では、ステップ880においてメモリセルをデータ状態0に書き込み、ステップ886では、データ状態0から、データ状態0から15のいずれかを全て或いはサブセットのメモリセルへ書き込む。
【0083】
図17は、メモリセル動作の処理の一実施形態を説明するフローチャートである。この実施形態は、ソフト書き込みを使い、書き込み処理の検証部分を変更する。ステップ902では、1ブロックのメモリセルが消去される。ステップ904では、ソフト書き込み処理が実行される。一実施形態では、メモリセルは消去閾値電圧区分Eへ消去される。他の実施形態では、メモリセルは、データ状態0に消去される。ソフト書き込みの間、システムは、N個(Nは1又はそれ以上)のメモリセルが適切な消去閾値電圧区分となったことが検証されたときの書き込みパルスを特定する。システムはまた、P個(Pは0又はそれ以上)以外の全てのメモリセルが検証されたときを特定する。NとPの値は、ECCとデバイス特性に基づいて選定される。上記した2つのパルスを特定することによって、そのメモリセルに適する(natural)閾値電圧区分を推定することができる。例えば、Nが2であり、Pが8であり、ステップサイズが0.4ボルトの場合、適する閾値電圧区分は、(8−2)x0.4=2.4ボルトとなる。この情報は、書き込みパルス毎に要求される検証動作の数を決定するのに利用される。例えば、16個のデータ状態を有する場合であっても、検証動作の数は、書き込みパルス毎に(2.4+0.3)/0.35=8検証回まで低減することができる。最初の数回と最後の数回の書き込みパルスでは、検証動作を8回より少なくすることができる。上記した数式の場合、0.3は書き込みノイズのマージンを表しており、0.35は状態間の閾値電圧の間隔を表している。これらの値は実装形態の一例である。
【0084】
ステップ906では、2つの特定された書き込みパルスが不揮発性記憶素子(例えば、レジスタやフラッシュメモリセルなど)に記憶される。ステップ906では、システムは上述したように、特定された2つのパルスに基づいて、閾値電圧区分の近似値(approximation)を算出する。ステップ910では、上述したように、システムは、閾値電圧区分の近似値とステップサイズに基づいて、必要とされる検証パルスの最大数を算出し記憶する。ステップ912では、データ書き込み要求を受信する。ステップ910と912の間の点線は、ステップ910とステップ912の間に、予測できない時間間隔が存在し得ることと、中間処理が実行され得ることを示している。ステップ914では、シングルパス書き込み処理を使ってデータがメモリセルへ書き込まれる。他の実施形態では、ステップ914は、マルチパス書き込み処理を実行することを含む。ステップ916では、データがメモリセルから読み出され、ユーザ又はホストに通知される。
【0085】
ステップ914は、図15の処理を使って遂行し得る。しかしながら、シングルパス書き込み処理を実行する場合は、各パスにてステップサイズは変更されない。むしろ、ステップサイズは、デバイス特定に基づいて決定された値(例えば0.1−0.4ボルト)に一定に維持される。一実施形態では、図17の処理は、上述したようにソフト書き込みに基づいて最初の書き込みパルスの大きさを設定する処理を含んでもよい。一実施形態では、ワードラインへの書き込みは、ソースラインに最も近いワードラインから開始してビットラインコンタクトへ向けて進行する順で行われる。例えば、WL0から開始してWL63で終了する。従って、シングルパス書き込み処理では、図15の処理は、ワードライン毎に1回、合計64回実行される。
【0086】
図18は、図17のステップ914の実現として図15の処理を用いる場合の図15のステップ842を実現する処理の一例を示す。図18の処理は、検証に限定されたパルス数しか使わないというコンセプトを実現したものであり、限定されたパルス数は(おそらくは)フルにパルスを用いる場合よりも少ない。図17に関して上記説明した例では、書き込みパルスの間に、フルに15個の検証パルスを用いずに、8検証パルスのみを用いる。しかしながら、印加される8個の検証パルスの一組は、そのメモリセルに適した閾値電圧区分と書き込み処理の現在の状態に基づいて、時間の経過とともに変化する。システムがメモリセルの適した閾値電圧区分の幅を特定できれば、その幅が、適した閾値電圧区分が図6のグラフに沿っていることを予測するものである。
【0087】
図17のステップ910では、検証パルスの最大数を算出した。検証パルスの最大数は、一組の検証パルスの最大幅を決定する。例えば、検証パルスの最大数が8の場合、図18から予期される一組の検証パルスは検証パルスを8まで含む。(図15の様々な繰り返しを通して)書き込み処理が進行すると、一組の検証パルス群が変化し、異なる検証パルス群がその一部となる。例えば、一組の検証パルス群は、開始時にはデータ状態0に対する検証パルスを含む。最終的には、一組のパルス群は、データ状態0からデータ状態7に対する検証パルスを含むように拡張され、続いて、データ状態1から8に対する検証パルスを含むように変更され、続いてデータ状態2から9までに対する検証パルスを含むように変更されるなどする。
【0088】
図18のステップ928では、現在の書き込み処理におけるいずれかのメモリセルが達すべき最高位のデータ状態と、検証パルスの最大数に基づいて、一組の検証が特定される。図18では、いずれかのメモリセルが達すべき最高位のデータ状態を「状態X」で表している。一組の検証パルスは、到達すべき最高位のデータ状態よりも1状態高い状態を検証するのに必要な検証パルスと、その状態より低い状態を検証するための検証パルスを含む。その場合でも、検証パルスの数は、既に決定された検証パルスの最大数を超えることはない。図18では、到達すべき最高位のデータ状態よりも1状態高い状態を「状態X+1」で表している。例えば、書き込み処理を開始した直後のときは、到達すべき最高位のデータ状態は状態Eであってもよく、この場合、一組の検証パルスは、状態0に対する検証パルスのみを含む。メモリセルが状態5まで到達しており、また既に決定された検証パルスの最大数が8である場合、一組の検証パルスは、状態0から6までのための検証パルスを含む。書き込み処理が進行中であり、メモリセルが既に状態7に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態8から1までのための検証パルスを含む。メモリセルが既に状態10に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態4から11までのための検証パルスを含む。メモリセルが既に状態13に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態7から14までのための検証パルスを含む。
【0089】
ステップ930では、ステップ928で特定された一組の検証パルスのうち最も低い検証パルスが選択ワードラインに印加される。そのパルスの大きさは、対応するデータ状態の検証レベルに設定される。幾つかの実施形態では、データ状態の検証レベルは、そのデータ状態に対する最も低い閾値電圧に等しい(図6の状態1に対するVv1を参照されたい)。ステップ932では、書き込みパルスの結果が検知される。即ち、注目しているメモリセル(又はセル群)がオンしたか否かが判断される。ステップ934では、検知結果が各メモリセルに対するデータと比較される。メモリセルに書き込まれるべき目標のレベルがちょうど検証レベルであり、そのレベルに達している場合には、ステップ936にてビットライン電圧が引き上げられてそのメモリセルは除外される。ステップ938では、一組の検証パルスの中に未印加の検証パルスがあるか否かが判断される。未印加の検証パルスが存在しない場合、ステップ942にて、いずれかのメモリセルが状態X+1に達しているか否かが特定される。いずれかのメモリセルが状態X+1に到達している場合、最高位の状態(状態X)を示す指標が更新され、図18の処理が終了する(図15のステップ842も終了する)。一組の検証パルスの中に未印加の検証パルスが存在する場合(ステップ938)、ステップ940にて、次に高い検証パルスが印加され、処理はステップ932に戻る。例えば、ステップ928にて特定された一組の検証パルスが状態2−10に対する検証パルスを含む場合、図18のループ(ステップ932−938)は8回実行される。
【0090】
データ書き込みの後、フローティングゲート上に蓄積されたみかけの電荷量の変化が生じる。これは、隣接するフローティングゲートに蓄積された電荷量に基づく電界結合によって生じる。このフローティングゲート間の結合現象は、米国特許第5,867,429号に開示されており、その公報は全体を参照することにより本明細書に組み込まれる。注目しているフローティングゲートに対するフローティングゲートには、同一のビットライン上の隣接フローティングゲート、同一ワードライン上の隣接フローティングゲート、或いは、注目しているフローティングゲートに対角に位置する隣接フローティングゲートが含まれ得る。それらは隣接ビットライン上に存在するとともに、隣接ワードライン上に存在するからである。
【0091】
フローティングゲート同士の結合現象は、異なる時刻に書き込まれる隣接メモリセル同士の間で顕著に発生する。例えば、最初のメモリセルには、そのフローティングゲート上に、一組のデータに対応する電荷量レベルが書き込まれる。次いで、1以上の隣接メモリセルには、そのフローティングゲート上に、第2組のデータに対応する電荷量レベルが書き込まれる。1以上の隣接メモリセルが書き込まれた後では、最初のメモリセルから読み出した電荷量は、書き込んだときの電荷量レベルとは異なって見える。これは、最初のメモリセルと結合した隣接メモリセル上の電荷の影響による。隣接メモリセルからの結合は、読み出すみかけの電荷量をシフトさせ、そのシフトは、記憶されたデータの読み取りエラーを生じ得る。
【0092】
フローティングゲート結合の課題を解決する一つの試みは、Nima Mokhlesiによる2006年3月17日出願の米国特許出願第11/377,972、「System For Performing Read Operation On Non-Volatile Storage With Compensation For Coupling」に開示されており、その内容は全体を参照することにより本明細書に組み込まれる。その出願に説明されているシステムは、注目するメモリセルを読み出す際に隣接メモリセルに補償電圧を印加することを含んでいる。
【0093】
図19は、本明細書で開示した4パス書き込み技術を使って書き込まれたメモリセルに対してフローティングゲートカップリングの影響を制限するための処理を説明している。典型的な読み出し処理の間、読み出しのために選択されたNANDストリングのメモリセルは、その制御ゲートに電圧を受ける。受ける電圧は、2つの隣接するデータ状態の間に存在する閾値電圧に等しい(或いは略等しい)。例えば、メモリセルがデータ状態0に属するか否かを判定するためには、そのメモリセルの制御ゲートはVr1を受ける(図6参照)。メモリセルが状態1に属するかを判定するためには、2つの読み出し動作が実行される。第1の読み出し動作はそのメモリセルにVr1を印加する。第2の読出し動作はそのメモリセルにVr2を印加する(図6参照)。制御ゲートの電圧に応答してそのメモリセルがオンするか否かによって、そのメモリセルがいずれの状態にあるかが判断される。
【0094】
同様に、検証処理において、検証対象のメモリセルの制御ゲートに検証比較電圧が印加される。典型的には、その検証比較電圧は、そのデータ状態に対する最も低い閾値電圧に略等しい。例えば、データ状態1に対する検証電圧は、Vv1である。データ状態2に対する検証電圧はVv2である。読み出し処理或いは検証処理を実行する際、NANDストリング上の非選択メモリセルはVreadと称される制御ゲート電圧を受ける。このVread電圧は、データ状態15の閾値電圧よりも顕著に高い。この電圧Vread(オーバードライブ電圧)は、確実に全ての非選択メモリセルをオンさせてNANDストリング内を電流が流れることを許容する。これによって、NANDストリングの電流は注目するメモリセルのみによって決定されるようになる。
【0095】
図19の処理は、上記した4パス書き込み処理を使って書き込まれたメモリセルを読み出す手法を提供するものであり、隣接フローティングゲートからのカップリングの影響を低減するものである。図18の処理に適用される理論は次の通りである。読み出し処理において、注目するメモリセルと同じNANDストリング上でありそのメモリセルにドレイン側で隣接するメモリセルがそのデータに基づいて異なる電圧を受け、それによってフローティングゲートカップリングが補償される。例えば、WL12に接続されているメモリセルを読み出す際、WL13に接続されているメモリセルが異なる電圧を受ける。検証処理において、ソース側隣接メモリセルを除く全てのメモリセルはVreadを受ける。ソース側隣接メモリセルはVreadよりΔ低い電圧を受ける(ここで、例えばΔは、1ボルト、若しくはデバイス特性に依存する他の値である)。この「他の値」は、VreadXとして指定される。ここで、VreadX=VreadX−Δである。検証において、隣接メモリセルはVreadXを受け、隣接メモリセルを除く全ての非選択メモリセルはVreadを受ける。続く読み出し処理において、ソース側隣接メモリセルが偶数状態(状態0、2、4、6、8、10、12、14)の場合、ソース側メモリセルはVreadXを受け、他の非選択メモリセルはVreadを受ける。一方、ソース側隣接メモリセルが奇数状態(状態1、3、5、7、9、11、13、15)の場合には、隣接メモリセルは読み出し処理の間Vreadを受ける。このように、奇数状態の場合に隣接メモリセルは補償を受ける。
【0096】
図11Eに戻り、奇数状態にあるメモリセルは、夫々の中間状態から偶数状態にあるメモリセルよりも深く書き込まれる。それゆえ、奇数状態にある隣接メモリセルはカップリング効果の影響をより多く受ける。図13のシーケンスを用いた4パス書き込み処理を実行する場合、注目するメモリセルに対する第4の書き込みパスは、隣接メモリセルに対する最初の3つの書き込みパスの後であり第4の書き込みパスの前に実行される。それゆえ、隣接メモリセルに対する第4の書き込みパスのみが注目するメモリセルにフローティングゲート結合の影響を与え、隣接メモリセルに対する第4の書き込みパスがそのメモリセルを奇数状態にするか偶数状態にするかに依存して、2値(オン/オフ、又は、低/高)補償を用いることが必要とされる。
【0097】
図19のステップ980は、特定のワードラインWLn上のデータの読み出し要求を受信することを含む。それゆえ、WLnが選択ワードラインとなる。ステップ982では、隣接ワードラインWLn+1上の全てのメモリセルに対して読み出し処理が実行される。ステップ982は、WLn+1に接続された全てのメモリセルがどのデータ状態にあるかを特定することを含む。各ビットラインに対して、WLn+1上の隣接メモリセル偶数状態にあるか奇数状態にあるかを示す指標がステップ984にて記憶される。その記憶には、各ビットラインに対して1ビット(奇数/偶数)が必要とされるのみである。例えば、1ビットラッチが利用できる。ステップ986にて、ワードラインWLnに対して読み出し処理が実行される。ステップ986の処理の間、VreadがWLn+1に印加される。ステップ986は、上述した補償を実行することを含む。ステップ988では、ステップ986の読み出し処理から得られたデータが、奇数状態にある隣接メモリセルに対応するビットラインに対して記憶される。例えば、システムは、隣接メモリセルが奇数状態にあるか否かを示す1ビットラッチをチェックし、奇数状態にあれば、ステップ986の結果を記憶する。偶数状態にある隣接メモリセルを有するビットラインは、ステップ986の読み出し処理で得られたデータを記憶しない。ステップ990では、隣接ワードラインWLn+1にVreadXを印加しながらワードラインWLnに対して読み出し処理が実行される。ステップ992では、偶数状態にある隣接メモリセルを有するビットラインに対するデータは、ステップ990の読み出し処理からのデータを記憶する。ステップ994では、(ステップ992又はステップ988で)記憶されたデータが通知される。
【0098】
上記本発明の詳細な説明は、説明のための例示にすぎない。上記本発明の詳細な説明は、詳細に開示した範囲に限定するものではない。本明細書が開示する技術は、様々に変形、変更し得る。上記説明した実施形態は、本発明の原理とその具体的な適用例をよく説明するために選ばれたものであり、当業者は、具体的な事例に則して本発明を様々に変更し得る。本発明の技術的範囲は、添付された特許請求の範囲によって定まるものである。
【技術分野】
【0001】
本発明は、不揮発性記憶装置のための技術に関する。
【背景技術】
【0002】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再書込み可能型読取専用メモリ(EEPROM)とフラッシュメモリは、最も普及している不揮発性半導体メモリである。
【0003】
EEPROMとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保持されている電荷量によって制御される。即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。
【0004】
EEPROMやNAND型フラッシュメモリデバイスなどのフラッシュメモリデバイスに書き込みを行う場合、典型的には、ビットラインが接地されるとともに、制御ゲートに書き込み電圧が加えられる。チャネルからの電子がフローティングゲートへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルが書き込まれた状態となる。書き込みに関するさらなる情報は、「Source Side Self Boosting Technique for Non-Volatile Memory」と題した米国特許第6,859,397号、「Detecting Over Programmed Memory」と題した米国特許第6,917,542号、及び、「Programming Non-Volatile Memory」と題した米国特許第6,888,758号に開示されている。これらの3つの文献の内容は、その全体を参照することにより本明細書に組み込まれる。
【0005】
多くの場合、書き込み電圧は、パルス毎にその大きさが増加する一連のパルス(書き込みパルスと称する)として制御ゲートに印加される。書き込みパルスとパルスの間には、1以上の一連の検証動作が実行され、書き込まれたメモリセルがその目標レベルに達しているか否かが決定される。メモリセルがその目標レベルに達している場合、そのメモリセルに対する書き込みが終了する。メモリセルがその目標レベルに達していない場合、そのメモリセルに対して書き込みが継続される。
【0006】
ある種のEEPROMとフラッシュメモリデバイスは、2つの電荷量範囲を蓄えるために使われるフローティングゲートを備えており、それゆえ、そのメモリセルは、2つの状態(消去状態と書き込み状態)の間で書き込み/消去が行われることができる。そのようなフラッシュメモリデバイスは、バイナリメモリデバイスと呼ばれることがある。
【0007】
マルチステートメモリデバイスは、禁止帯で分離された、複数の区別された有効な閾値電圧区分(或いはデータ状態)を特定することによって、1メモリセル当たり複数ビットのデータを記憶することができる。夫々の区別された閾値電圧区分は、メモリデバイス内で符号化される一組のデータビットに対する予め決められた値に対応する。例えば、2ビットデータを記憶するメモリセルは、4個の有効な閾値電圧区分を使う。3ビットデータを記憶するメモリセルは、8個の有効な閾値電圧区分を使う。
【発明の概要】
【発明が解決しようとする課題】
【0008】
1メモリセル当たりのデータビットの数(即ち、有効な閾値電圧区分の数)が増えるにつれて、メモリデバイスのデータ容量が増大する。この一方で、書き込みに要する時間も増加する。例えば、有効閾値電圧区分の数が増加するほど、書き込みパルスの間で必要とされる検証動作の数が増加する。一般的に、データを記憶するのに時間がかかる電子デバイスは好ましくない。例えば、デジタルカメラでは、写真の撮影と撮影の間の待ち時間は好ましくない。
【0009】
メモリデバイスが1メモリセル当たりに記憶するデータビットが増大するにつれて、合理的な速さの書き込み速度に対する要望が高まってきている。
【課題を解決するための手段】
【0010】
本明細書は、書き込み速度を向上するために書き込みパルス間の検証動作の量を制限する処理を開示する。
【0011】
一実施形態は、複数の不揮発性記憶素子に対する第1書き込み処理と、その不揮発性記憶素子に対する第1書き込み処理に続く第2書き込み処理を実行することを含む。第2書き込み処理は、第1書き込み処理に少なくとも部分的に基づく一連の検証動作を含む。
【0012】
一実施形態は、複数の不揮発性記憶素子に対する第1書き込み処理を実行することを含む。第1書き込み処理は、不揮発性記憶素子に書き込みパルスを印加することを含む。この方法はさらに、第1書き込み処理の間に第1結果を得るのに必要な第1書き込みパルスを特定すること、第1書き込み処理の間に第2結果を得るのに必要な第2書き込みパルスを特定すること、及び、第1書き込み処理に続いて不揮発性記憶素子に対して第2書き込み処理を実行すること、を含む。第2書き込み処理は、書き込みパルスの間で検証パルスを用いる。検証パルスは、第1書き込みパルスと第2書き込みパルスに基づいて制限される。
【0013】
一実施形態は、複数の不揮発性記憶素子を消去すること、消去処理と関連して複数の不揮発性記憶素子にソフト書き込みすること、1以上の不揮発性記憶素子の第1組に対するソフト書き込みを完了することに関連する第1書き込みパルスを特定すること、1以上の不揮発性記憶素子の第2組に対するソフト書き込みを完了することに関連する第2書き込みパルスを特定すること、及び、不揮発性記憶素子を書き込むことを含む。この書き込み処理は、第1個数の書き込みパルス群と第2個数の書き込みパルス群に基づいて検証動作群を実行することを含む。
【0014】
実装形態の一例は、一組の不揮発性記憶素子と、その一組の不揮発性記憶素子と通信する1以上の管理回路を含む。1以上の管理回路は、上記した処理を実行する。
【図面の簡単な説明】
【0015】
【図1】NANDストリングの平面図である。
【図2】NANDストリングの等価回路図である。
【図3】不揮発性メモリシステムのブロック図である。
【図4】メモリアレイの一実施例を示すブロック図である。
【図5】センスブロックの一実施例を示すブロック図である。
【図6】閾値電圧区分セットの一例を示す図である。
【図7】閾値電圧区分セットの一例を示す図である。
【図8】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図9】閾値電圧区分に対応した一組のデータ状態へデータを符号化する例を示す図である。
【図10】不揮発性素子を動作させる処理の一例を説明するフローチャートである。
【図11A】マルチパス書き込み処理を示す図である。
【図11B】マルチパス書き込み処理を示す図である。
【図11C】マルチパス書き込み処理を示す図である。
【図11D】マルチパス書き込み処理を示す図である。
【図11E】マルチパス書き込み処理を示す図である。
【図12】不揮発性素子に書き込む処理の一例を示すフローチャートである。
【図12A】選択されたメモリセルの制御ゲートに印加される書き込みパルス群と検証パルス群を示す図である。
【図13】複数ワードラインへの4パス書き込み処理を実行するシーケンスの一例を示すチャートである。
【図14】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図15】不揮発性記憶装置に書き込むための処理の一例を示すフローチャートである。
【図16】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図17】不揮発性記憶装置の動作の処理の一例を示すフローチャートである。
【図18】検証のための処理の一例を示すフローチャートである。
【図19】データ読み出しのための処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
フラッシュメモリシステムの一例は、NAND構造を用いており、2つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は、1つのNANDストリングを示す平面図である。図2は、その等価回路である。図1と図2に示すNANDストリングは、第1(又はドレイン側)選択ゲート120と第2(又はソース側)選択ゲート122の間に挟まれている、直列に接続されている4つのトランジスタ100、102、104及び106を有する。選択ゲート120は、ビットコンタクト126を介してNANDストリングをビットラインに接続している。選択ゲート122は、NANDストリングをソースライン128に接続している。選択ゲート120は、選択ラインSGDに適切な電圧を加えることによって制御される。センタ買うゲート122は、選択ラインSGSに適切な電圧を加えることによって制御される。トランジスタ100、102、104、及び106の夫々は、制御ゲートとフローティングゲートを有している。例えば、トランジスタ100は、制御ゲート100CGとフローティングゲート100FGを備えている。トランジスタ102は、制御ゲート102CGとフローティングゲート102FGを備えている。トランジスタ104は、制御ゲート104CGとフローティングゲート104FGを備えている。トランジスタ106は、制御ゲート106CGとフローティングゲート106FGを備えている。制御ゲート100CGはワードラインWL3に接続されており、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。
【0017】
図1と図2は、NANDストリング内の4個のメモリセルを示しているが、4個のトランジスタの使用は単に一例として提示されている点に留意されたい。NANDストリングは、4個よりも少ない、或いは、4個よりも多いメモリセルを有していてよい。例えば、NANDストリングによっては8個、16個、32個、64個、128個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数のメモリセルを有するNANDストリングにも限定されない。
【0018】
NAND構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのNANDストリングを含んでいる。各NANDストリングは、選択ラインSGSによって制御されるソース選択ゲートによってソースラインに接続されているとともに、選択ラインSGDによって制御されるドレイン選択ゲートによって関連するビットラインに接続されている。各ビットラインとそのビットラインにビットラインコンタクトを介して接続されている夫々のNANDストリングは、メモリセルアレイの列を構成する。ビットラインは、複数のNANDストリングによって共有されている。典型的には、ビットラインは、ワードラインと直交する方向でNANDストリング上を通っており、1以上のセンスアンプと接続されている。
【0019】
各メモリセルは(アナログ又はデジタルの)データを記憶することができる。1ビットのデジタルデータを記憶する場合、メモリセルの可能な閾値電圧の範囲は、2つの範囲に分割され、それぞれの範囲が論理データの「1」と「0」に割り当てられる。NAND型フラッシュメモリの一例では、メモリセルが消去された後では閾値電圧が負値となり、それは論理「1」と定義される。書き込み後の閾値電圧は正値となり、それは論理「1」と定義される。閾値電圧が負値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルがオンとなり、これは論理1が記憶されていることを示す。閾値電圧が正値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルはオンせず、これは論理0が記憶されていることを示す。
【0020】
複数レベルのデータを記憶する場合には、可能な閾値の範囲は、データのレベルの数に分割される。例えば、4つのレベルの情報を記憶する場合(2ビットのデータ)、4つの閾値電圧範囲が存在し、それぞれがデータ値「11」、「10」、「01」、及び「00」に割り当てられる。NANDタイプのメモリの一例では、消去動作の後の閾値電圧は負の値となり、論理「11」と定義される。正値の閾値電圧群が「10」、「01」、「00」というデータ状態に対して用いられる。8つのレベルの情報(又は状態)が記憶される場合(即ち、3ビットのデータ)、データ値「000」、「001」、「010」、「011」、「100」、「101」、「110」、及び「111」に割り当てられる8つの閾値電圧範囲がある。
【0021】
メモリセルに書き込まれるデータとセルの閾値電圧レベルの間の具体的な関係は、セルに採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照することにより本明細書に組み込まれる米国特許第6,222,762号及び米国特許出願公開公報第2004/0255090号は、マルチステートフラッシュメモリセルのための様々なデータ符号化方式を説明している。一実施形態においては、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に1つのビットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲に割り当てられる。他の実施形態では、異なるワードラインに対してデータ符号化技法が変更され得ることがある。データ符号化技法は、時間に依存して変更され得ることがある。また、ランダムなワードラインのデータビットは、データパターン感度を低減し、メモリセルのウェアを均一にするために、変換されるか、或いはランダム化されることがある。
【0022】
NANDタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米国特許/特許出願に記載されており、それらの引用文献は、その全体が参照により本明細書に組み込まれる。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第6,456,528号、及び、米国公開公報第US2003/0002348号。本明細書における説明は、他のタイプの不揮発性記憶素子と同様に、NANDを加えた他のタイプのフラッシュメモリにも利用可能である。
【0023】
NANDフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いることができる。例えば、基本的に(フローティングゲートの代わりに)窒化物層内に電荷をトラッピングするメモリセルである、いわゆるTANOS構造(TaN−Al2O3−SiN−SiO2の積層から構成される構造)にも本発明は適用できる。フラッシュEEPROMシステムで有用な別のタイプのメモリセルは、不揮発方式で電荷を蓄積するために、導電性フローティングゲートの代わりに非導電性の誘電物質を活用する。そのようなセルは、Chanらによる記事、「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」、IEEE ELECTRON DEVICE Letters、EDL−8巻、第3号、1987年3月の93から95ページに説明されている。酸化ケイ素、窒化ケイ素、及び酸化ケイ素(「ONO」)から形成される三層の誘電体が、メモリセルチャネル上で半導電性基板の表面と導電性制御ゲートとの間に挟まれている。セルは、セルチャネルから窒化物の中に電子を注入することにより書込みが行われ、窒化物内において電子が制限領域内にトラッピングされ蓄積される。この蓄積された電荷は、次に、検出可能な方法で、セルのチャネルの一部の閾値電圧を変更する。セルは、窒化物中にホットホールを注入することによって消去される。Nozakiら、「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」、IEEE Journal of Solid-State Circuits、第26巻、第4号、1991年4月、497から501ページに、分離した選択トランジスタを形成するためにドーピングされたポリシリコンゲートがメモリセルチャネルの一部に拡がっている分割ゲート構成における同様のセルが説明されている。その文献も参照されたい。前記2つの記事は、その全体を参照することにより本明細書に組み込まれる。参照することにより本明細書に組み込まれるWilliam D. Brown及びJoe E. Brewerによって編集された「Nonvolatile Semiconductor Memory Technology」、IEEE出版1998年の第1.2項にも、誘電電荷トラップ装置に適用可能である書き込み技法が説明されている。他のタイプのメモリ素子も使用できる。
【0024】
図3は、1つ以上のメモリダイ又はチップ212を有する不揮発性記憶デバイス210を示している。メモリダイ212は、メモリセルの(2次元又は3次元の)アレイ200、制御回路220、及び、リード/ライト回路230Aと230Bを有する。一実施形態では、様々な周辺回路によるメモリアレイ200へのアクセスはアレイの両側で対称的に実装されており、これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード/ライト回路230A及び230Bは、複数のセンスブロック300を有しており、それらのセンスブロック300によって1ページのメモリセルを並列に読み出し又は書き込みすることができる。メモリアレイ100は、行デコーダ240Aと240Bを介したワードラインと、列デコーダ242Aと242Bを介したビットラインによってアドレス指定される。典型的な実施形態では、コントローラ244は、1つ以上のメモリダイ212のような同じメモリデバイス210(例えば、取り外し可能なストレージカード又はパッケージ)内に含まれる。命令、及びデータは、ライン232を介してホストとコントローラ244の間で転送され、また、ライン234を介してコントローラと1つ以上のメモリダイ212の間で転送される。
【0025】
制御回路220は、リード/ライト回路230Aと230Bと協調して、メモリアレイ200に対してメモリ動作を実行する。制御回路220は、ステートマシン222、オンチップアドレスデコーダ224、及び電力制御モジュール226を有している。ステートマシン222は、メモリ動作のチップレベルの制御を提供する。オンチップアドレスデコーダ224は、ホスト又はメモリコントローラによって用いられるアドレスと、デコーダ240A、240B、242A及び242Bによって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール226は、メモリ動作中のワードライン及びビットラインに供給される電力及び電圧を制御する。一実施形態では、電力制御モジュール226は、供給電力より大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
【0026】
一実施形態では、制御回路220、電力制御回路226、デコーダ回路224、ステートマシン回路222、デコーダ回路242A、デコーダ回路242B、デコーダ回路240A、デコーダ回路240B、リード/ライト回路230A、リード/ライト回路230B、及び/又はコントローラ244の一つ又は幾つかの組合せは、1つの管理回路、或いは複数の管理回路群と称されることがある。
【0027】
図4は、メモリセルアレイ200の例示的な構造を示す。一実施形態においては、メモリセルのアレイは、メモリセル群のM個のブロックに分割される。フラッシュEEPROMシステムに一般的であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去される最小数のメモリセルを含む。各ブロックは、通常、複数のページに分割される。ページは書き込みの単位である。通常、1つ又は複数ページのデータが1列のメモリセルに記憶される。1つのページは、1つ又は複数のセクタを記憶できる。1つのセクタは、ユーザデータとオーバヘッドデータを含む。オーバヘッドデータは、通常、セクタのユーザデータから算出される誤り訂正符号(Error Correction Code:ECC)を含む。コントローラ(後述)の一部が、データがアレイに書き込まれているときにECCを計算し、データがアレイから読み出されているときにECCのチェックも行う。代わりに、ECC及び/又は他のオーバヘッドデータはそれらが関係するユーザデータとは異なるページに記憶され、または異なるブロックに記憶されることがある。ユーザデータのセクタは通常、磁気ディスクドライブ内のセクタサイズに相当する512バイトである。例えば8ページから32、64、128、或いはそれ以上のページまでの多数のページが1ブロックを形成する。異なるサイズのブロックと配置も採用することができる。
【0028】
別の実施形態では、ビットラインは偶数のビットラインと奇数のビットラインに分けられる。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿っており奇数ビットラインに接続されたメモリセル群は、同時に書き込みが行われる。これに対し、共通ワードラインに沿っており偶数ビットラインに接続されたメモリセル群は、奇数ビットラインに接続されたメモリセル群の書き込みとは別のタイミングで同時に書き込みが行われる。
【0029】
図4は、メモリアレイ200の第iブロックの詳細を示している。第iブロックは、X+1ビットラインとX+1NANDストリングを含んでいる。第1ブロックは、64本のデータワードライン(WL0−WL63)、2本のダミーワードライン(WL_d0、WL_d1)、ドレイン側選択ライン(SGD)、及び、ソース側選択ライン(SGS)も含んでいる。各NANDストリングの一端は、(選択ラインSGDに接続されている)ドレイン選択ゲートを介して対応するビットラインに接続されており、他端は、(選択ラインSGSに接続されている)ソース選択ゲートを介してソースラインに接続されている。64本のデータワードラインと2本のダミーワードラインが存在するので、各NANDストリングは、64個のデータメモリセルと2個のダミーメモリセルを含んでいる。他の実施形態では、NANDストリングは、64個より多い、或いは少ないデータメモリセルと2個のダミーメモリセルを有していてもよい。データメモリセルは、ユーザ又はシステムのデータを記憶することができる。ダミーメモリセルは、通常、ユーザ又はシステムのデータを記憶するのには用いられない。幾つかの実施形態は、ダミーメモリセルを有していない。
【0030】
図5は、センスモジュール480と呼ばれるコア部と共通部490に分割された個々のセンスブロック300のブロック図である。一実施形態では、各ビットラインに対して個別のセンスモジュール480を用意し、一組の複数センスモジュール480に対して一つの共通部490を用意してもよい。一例として、1個のセンスブロックは、1個の共通部490と8個のセンスモジュール480を有している。グループ内の各センスモジュールは、データバス472を介して協働する共通部と通信する。さらなる詳細としては、その全体を参照することにより本明細書に組み込まれる米国特許出願公開公報2006/0140007号を参照されたい。
【0031】
センスモジュール480は、接続されたビットライン内の伝導電流が予め決められた閾値レベルより高いか低いかを判定するセンス回路470を備えている。幾つかの実施形態では、センスモジュール480は、センスアンプと一般に呼ばれる回路を有する。センスモジュール480は、さらに、接続されたビットラインに電圧状態を設定するために用いられるビットラインラッチ482を有している。例えば、ビットラインラッチ482内で予め決められた状態がラッチされることによって、接続されたビットラインを、書き込み禁止を指定する状態(例えば、Vdd)に引き上げる(プル)する。
【0032】
共通部490は、プロセッサ492、1組のデータラッチ494、及び、1組のデータラッチ494とデータバス420の間を接続するI/Oインタフェース496を備えている。プロセッサ492は計算を実行する。例えば、その機能の1つは、センスされたメモリセル内に記憶されているデータを特定し、特定されたデータを一組のデータラッチ内に記憶することである。1組のデータラッチ494は、読み出し動作において、プロセッサ492によって特定されたデータビット群を記憶するために用いられる。一組のデータラッチ494は、書き込み動作において、データバス420から取り込んだデータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモリ内に書き込む予定のライトデータ(書き込みデータ)を表す。I/Oインタフェース496は、データラッチ494とデータバス420の間のインタフェースを提供する。
【0033】
読み出し又はセンス中には、システムの動作はステートマシン222の制御下にあり、ステートマシン222はアドレス指定されたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む毎に、センスモジュール480はこれらの電圧の1つに遷移し、バス472を介してセンスモジュール480からプロセッサ492に出力が提供される。その時点で、プロセッサ492は、センスモジュールの遷移イベントと、ステートマシンから入力ライン493を介して加えられた制御ゲート電圧についての情報によって、結果としてのメモリ状態を特定する。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られたデータビット群をデータラッチ494に格納する。コア部の別の実施形態では、ビットラインラッチ482は、センスモジュール480の出力をラッチするラッチ、及び、上記のようなビットラインラッチの二つの役割を持つ。
【0034】
当然のことながら、いくつかの実装形態では複数のプロセッサ492を有することができる。一実施形態では、各プロセッサ492は出力ライン(図5には示されていない)を有し、各出力ラインは共にワイヤードOR(配線論理和)接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続される前段階で反転される。この構成は、ワイヤードORの結果を受け取るステートマシンが、書き込まれる全てのビットがいつ所望のレベルに到達したかを判断できるので、書き込み処理の完了時点を判定する書き込み検証処理における素早い判定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「0」がワイヤードORラインに送られる(又はデータ「1」が反転される)。全てのビットがデータ「0」を出力すると(又はデータ「1」が反転されると)、ステートマシンは書き込み処理の完了を知る。各プロセッサが8個のセンスモジュールと通信する実施形態では、(いくつかの実施形態において)ステートマシンはワイヤードORラインを8回読み出す必要があってもよいし、あるいは、協働するビットラインの結果を蓄積するための論理をプロセッサ492に追加し、ステートマシンがワイヤードORラインを一度だけ読み出せば良いようにしてもよい。
【0035】
書き込み又は検証処理の間、書き込まれるべきデータはデータバス420から1組のデータラッチ494内に記憶される。ステートマシン制御下の書き込み動作は、アドレス指定されるメモリセルの制御ゲートに加えられる一連の(値の増加を伴う)書き込み電圧パルスを伴う。各書き込みパルスに続いて検証処理が実行され、メモリセルが所望の状態に書き込まれたかどうかを判定する。プロセッサ492は、所望のメモリ状態に対する検証メモリ状態を監視する。その2つが一致したとき、プロセッサ492は、書き込み禁止を指定する状態にビットラインを引き上げる(プルする)ようにビットラインラッチ482を設定する。これにより、たとえ書き込みパルスがその制御ゲートに影響しても、ビットラインに接続したセルがさらに書き込みされないようにすることができる。他の実施形態では、プロセッサが最初にビットラインラッチ482をロードし、センス回路が検証処理中にそれに禁止値を設定する。
【0036】
データラッチスタック494は、センスモジュールに対応するデータラッチのスタックを有する。一実施形態では、センスモジュール480毎に3個から5個の(或いはその他の数の)データラッチが存在する。一実施形態では、ラッチは夫々1ビットである。いくつかの実装形態では、(必須ではないが)データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス420用にシリアルデータに変換したり、その逆を行ったりする。好適な一実施形態では、m個のメモリセルのリード/ライトブロックに対応する全てのデータラッチを相互にリンクしてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、リード/ライトモジュールの一群のデータラッチのそれぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード/ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード/ライトブロック全体のシフトレジスタの一部であるかのようにしてもよい。
【0037】
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている。(1)米国特許出願公開2004/0057287号、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、2004年3月25日公開、(2)米国特許出願公開2004/0109357号、「Non-Volatile Memory And Method with Improved Sensing」、2004年6月10日公開、(3)米国特許出願公開20050169082号、(4)米国特許出願公開2006/0221692号、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、発明者Jian Chen、2005年4月5日出願、及び、(5)米国特許出願第11/321,953号、「Reference Sense Amplifier For Non-Volatile Memory」、発明者Siu Lung Chan及びRaul−Adrian Cernea、2005年12月28日出願。これら5個の特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
【0038】
成功した(検証を含む)書き込み処理の最後において、メモリセルの閾値電圧は、必要に応じて、書き込まれたメモリセルの1つ又は複数の閾値電圧の区分内、或いは、消去されたメモリセルの閾値電圧の区分内となる。図6は、各メモリセルが4ビットデータを記憶する場合のメモリセルアレイについてのデータ状態に対応した閾値電圧区分の例を示す。なお、他の実施形態では、1メモリセルあたり4ビットよりも多い、或いは少ないデータを採用してもよい。図6は、データ状態0−15に対応する16個の閾値電圧区分を示している。一実施形態では、状態0の閾値電圧は負値であり、状態1−15の閾値電圧は正値である。
【0039】
データ状態0−15の夫々の間は、メモリセルからデータを読み出す際に用いられる読み出し参照電圧である。例えば、図6は、データ状態0と1の間の読み出し参照電圧Vr1と、データ状態1と2の間の読み出し参照電圧Vr2を示している。メモリセルの閾値電圧が各読み出し参照電圧よりも高いか低いかを検証することによって、システムは、そのメモリセルがどの状態にあるかを決定することができる。
【0040】
各データ状態0−15の下限或いはその付近は、検証参照電圧である。例えは、図6は、状態1に対するVv1と、状態2に対するVv2を示している。目標の状態へのメモリセルの書き込みの際、システムは、それらのメモリセルが検証参照電圧に等しいかそれより高い閾値電圧を有するか否かをテストする。
【0041】
図7は、データ状態0−15に対応する閾値電圧区分の他の実施形態を示している。この実施形態では、ECCが、エラーとなっているある程度の割合のセルを扱うことができるので、閾値電圧区分が部分的にオーバーラップすることができる。
【0042】
Vt軸は、制御ゲートに印加される実際の電圧からオフセットされ得ることに留意されたい。オフセットは、ソースを通じたボディ効果、或いは、負値の閾値電圧を測定可能な正値範囲にシフトさせるためにボディバイアスが用いられることにより生じる。図示された16個の状態の等間隔/等幅とは異なり、保持力損失に対する脆弱性の度合いの違いに対応するために、状態は異なる幅/間隔を有していてもよいことにも留意されたい。幾つかの実施形態では、状態0及び/又は状態15は、他の状態よりも広い。
【0043】
図6(又は図7)の各データ状態は、夫々の状態に書き込まれたメモリセルに記憶されたデータビットに対する予め決められた値に対応している。図8は、データ状態0−15の夫々に割り当てられたデータ値の一例を示す表である。一実施形態では、メモリセルは4個の異なるページに属するデータを記憶する。4つのページは、第1下位ページ、第2上位ページ、第3高位ページ、第4トップページと称される。図8は、各データ状態0−15に対して各ページに属するデータを示している。一実施形態では、各ページは別々に書き込まれる。他の実施形態では、1つのメモリセルに対する4つ全てのデータビットが同時に書き込まれる。
【0044】
図9は、データ状態0−15の夫々に割り当てられたデータ値の他の一例を示す表である。図8のデータ値は、グレイコード割当を用いており、隣接するデータ状態では1ビットのみが異なる。この配置は、メモリセルの閾値電圧が低すぎる或いは高すぎる場合のエラービットの数を抑制する。
【0045】
図10は、不揮発性メモリセルの動作の一実施形態を示すフローチャートである。多くの実装形態では、メモリセルは、書き込みに先立って(ブロック単位又は他の単位で)消去される。一実施形態では、ソースとビットラインをフローティング状態にしておきながら、選択されたブロックのワードラインを接地し、十分な時間の間pウエルを消去電圧(例えば20ボルト)にまで上昇させることによってメモリセルが消去される(ステップ500参照)。容量結合のため、非選択ワードライン、ビットライン、選択ライン、及び、ソースもまた、消去電圧のかなりの割合の電圧まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲートの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子がフローティングゲートからp−ウェル領域に移動するにつれて、選択されたセルの閾値電圧が低下する。消去は、メモリアレイ全体、別々のブロック、又はセルの他の単位で行うことができる。メモリセルのブロックが消去された後、本明細書に説明されるように、種々のメモリセルに書き込みが行われる。
【0046】
ステップ502では、消去されたメモリセルの消去閾値電圧の区分を狭めるために、ソフト書き込みが任意的に実行される。いくつかのメモリセルは、消去処理の結果として必要以上に低い消去状態にあってよい。ソフト書き込みは、消去されたメモリセルの閾値電圧を一層狭い閾値電圧区分に移行させるために書き込みパルスを印加することを含む。各書き込みパルスの間で検証動作が実行され、メモリセルが適切な消去閾値電圧区分内となっているか否かが決定される。ソフト書き込み処理の終了に先立って、ソフト書き込みがそれ以上必要ないメモリセルは、対応するビットラインを引き上げることによってそれ以上のソフト書き込みから除外される。検証電圧は、個別の実装に基づいて変更され得る。ソフト書き込みは技術的に知られている。ソフト書き込みに関するさらなる情報は、米国特許第6,661,711号に開示されており、その文献は参照により本明細書に組み込まれる。ソフト書き込みを実行するのに特別な技法は要求されないことに留意されたい。ソフト書き込みは消去処理と関連して実行されることがあり、また、ソフト書き込みは書き込み時に実行されることもある。
【0047】
ステップ504では、書き込みデータ要求が受信される。この要求は、ホスト或いは他のデバイスから受信され得る。ステップ502と504の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスク(他の書き込み動作を含む)がステップ502と504の間に介在することを示している。
【0048】
ステップ506では、メモリセルを消去閾値電圧区分から有効データ状態に対応付けられた閾値電圧区分のいずれかへ書き込むマルチパス書き込み処理を用いることによって、データがメモリセルに書き込まれる。ステップ506の詳細は後述する。
【0049】
ステップ508では、データメモリセルが読み出され、読み出されたデータがユーザに提供される。例えば、メモリセルからのデータは、コントローラによってホストへ提供される。ステップ506と508の間の点線は、予測できない時間幅、及び、潜在的には、いくつかの中間タスクがステップ502と504の間に介在することを示している。幾つかのケースでは、データは読み出されることがないことも起こり得る。図10の処理は、コントローラ244及び/又は制御回路220の管理下で、それ(ら)によって実行される。
【0050】
一般に、読み出し及び検証動作を行っている間、選択されたワードラインは、各読み出し及び検証動作において指定されたあるレベル(即ち、Vr1又はVr2)の電圧に接続され、注目するメモリセルの閾値電圧がそのようなレベルに達しているか否かが決定される。非選択ワードラインは、選択されたワードラインの電圧とは異なるオーバードライブ電圧(Vreadと称される)に接続される。オーバドライブ電圧は、通常、データメモリセルに書き込まれることのできる最大の閾値電圧よりも高い電圧が選定される。オーバードライブ電圧と閾値電圧との差をオーバードライブと称することがある。ワードライン電圧を選択されたワードラインに印加した後、メモリセルの導通電流が測定され、そのワードラインに印加された電圧に応答してメモリセルがオンしたか否かが決定される。導通電流が所定値よりも大きいことが測定された場合、そのメモリセルはオンしたと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高いと判断される。導通電流が所定値よりも大きいことが測定されなかった場合、そのメモリセルはオンしなかったと判断され、そのワードラインに印加された電圧がそのメモリセルの閾値電圧よりも高くないと判断される。
【0051】
読み出し或いは検証動作におけるメモリセルの導通電流の計測には、様々な方法がある。一例では、メモリセルの導通電流は、その導通電流がセンスアンプ内の専用キャパシタを蓄電する又は放電する速度によって計測することができる。他の例では、選択されたメモリセルの導通電流は、そのメモリセルを含むNANDストリングがビットライン上の電圧を放電することを許可する(或いは許可することに失敗する)。ビットラインの電圧は、所定時間後に計測され、放電されたか否かが判断される。データ読み出しに関するさらなる詳細は、米国特許公開公報第2006/0221683号に開示されており、その内容はその全体を参照することにより本明細書に組み込まれる。
【0052】
図11A−Dは、図6と図7に示した4ビットデータを記憶するメモリセルへデータを書き込みのための4パス書き込み処理を説明する図である。書き込みに先立って、ブロックの全てのメモリセルが、消去閾値電圧区分へ消去される(図10のステップ500参照)。例えば、図11Aは、消去閾値電圧区分Eの状態にあるメモリセルのブロックを示している。幾つかの実施形態では、消去閾値電圧区分Eはゼロボルトより低い。他の実施形態では、消去閾値電圧区分Eは、ゼロボルトより高い、或いは、部分的にゼロボルトより高い。負値の閾値電圧区分は、ソース電圧を上げることによって正の領域へシフトさせることができ、それによって、フローティングゲート上の電荷量を変えることなく閾値電圧を引き上げる傾向がある逆ボディバイアスを引き起こすことができる。逆ボディバイアスの適用による閾値電圧のこの変化は、ボディ効果の良く知られた現象によるものである。大半のNANDメモリでは、Pウエルがボディを構成する。図を簡単にするために、図11Aから11Dでは、全てのVTが正の領域に現れるように、Vt軸を実際のVTからシフトさせている。実際には、負値のVTは、逆ボディバイアスを利用し、それらのVTをゼロより上に引き上げて測定することができる。これらの図においてシフトされたVt軸に反映されるように、この場合、正値のVTの最大値は4ボルト前後であり、6ボルト或いはそれ以上にはならない。
【0053】
図11Bは、第1書き込みパスを示している。第1書き込みパルスの間、最終的にデータ状態0から7が書き込まれるべきメモリセルに対して、状態0の閾値電圧より低い閾値電圧区分が書き込まれる。例えば、図11Bは、中間閾値電圧区分LM01が書き込まれているメモリセルが示されている。最終的にデータ状態8から15が書き込まれるべきメモリセルのグループに対して、図11BでLM02と記された中間閾値電圧区分が書き込まれる。一実施形態では、閾値電圧区分LM02は、データ状態7に対する閾値電圧よりも高くはない。この第1パスの書き込みパルスの間において、一つはLM01に対するものであり、一つはLM02に対するものである2つの検証動作が実行される。それゆえ、書き込みパルスの間では、2つの検証パルスが用いられる。書き込み処理の開始から少なくとも一つのメモリセルがLM01に到達するまでの間は、(LM01のみに対する)一つの検証パルスを用いることも可能である。少なくとも一つのメモリセルがLM01に到達したときに、システムは2つの検証パルスを用いることになる。他の実施形態では、第1書き込みパスは、3つ以上の閾値電圧区分を書き込むことができる。一実施形態では、データは状態0に消去され、最終的にデータ状態0から7が書き込まれるべきメモリセルは状態0のままである一方で、最終的にデータ状態8から15が書き込まれるべきメモリセルには中間閾値電圧区分が書き込まれる。他の実施形態では、ある程度の割合のエラー発生セルをECCが扱うことができる場合は、LM01は、消去閾値電圧区分Eと僅かにオーバーラップしていてもよい。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0054】
図11Cは、第2書き込みパスを示している。データ状態0から3が書き込まれるべきLM01のメモリセルに対して、閾値電圧区分LM11が書き込まれる。例えば、図11Cは、閾値電圧区分LM01(点線)とLM11(実線)を示している。最終的にデータ状態3から7が書き込まれるべきLM01のメモリセルに対して、中間閾値電圧区分LM12が書き込まれる。最終的にデータ状態8から11が書き込まれるべきLM02のメモリセルに対して、中間閾値電圧区分LM13が書き込まれる。最終的にデータ状態12から15が書き込まれるべきLM02のメモリセルに対して、中間閾値電圧区分LM14が書き込まれる。第2書き込みパスの間、書き込みパルスの間に最大4つの検証動作が実行されることが必要である。一つの検証動作はLM11のためであり、一つの検証動作はLM12のためであり、一つの検証動作はLM13のためであり、一つの検証動作はLM14のためである。それゆえ、各書き込みパルスの間に、最大4つの検証パルスが存在する。幾つかの実施形態では、インテリジェントスキームを使って検証パルスの数を減らすことができる。そのインテリジェントスキームは、特定の目標付近にメモリセルがないことをもって、幾つかの検証パルスをいつ省略し得るかを決定するためのものである。様々なスキームが利用し得る。効率的な検証スキームに関するさらなる情報は、米国特許第7,073,103号に開示されており、その公報は、その全体を参照することにより本明細書に組み込まれる。ECCがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、LM11はLM12とオーバーラップし得るし、LM13はLM14とオーバーラップし得る。さらに、LM12は、LM01又はLM02とオーバーラップし得るし、LM14はLM02とオーバーラップし得る。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0055】
図11Dは、第3書き込みパスを示している。最終的にデータ状態0と1が書き込まれるべきLM11のメモリセルに対して中間閾値電圧区分LM21が書き込まれる。データ状態2と3が書き込まれる予定のLM11のメモリセルに対して中間閾値電圧区分LM22が書き込まれる。データ状態4と5が書き込まれるべきLM12のメモリセルに対して中間閾値電圧区分LM23が書き込まれる。データ状態6と7が書き込まれるべきLM12のメモリセルに対して中間閾値電圧区分LM24が書き込まれる。データ状態8と9が書き込まれるべきLM13のメモリセルに対して中間閾値電圧区分LM25が書き込まれる。データ状態10と11が書き込まれるべきLM13のメモリセルに対して中間閾値電圧区分LM26が書き込まれる。データ状態12と13が書き込まれるべきLM14のメモリセルに対して中間閾値電圧区分LM27が書き込まれる。データ状態14と15が書き込まれるべきLM14のメモリセルに対して中間閾値電圧区分LM28が書き込まれる。ECCがある程度の割合のエラー発生セルを扱うことができる他の実施形態では、隣接するLM2xの区分は、相互にオーバーラップし得る(例えば、LM26はLM25とオーバーラップし得る)。さらに、LM2xの区分は、LM1xともオーバーラップし得る(例えば、LM26は、LM13とオーバーラップし得る)。それゆえ、ECCによって訂正可能なK個のビットを除く他の全てのビットが検証されたときに、この書き込みパスは終了することができる。
【0056】
図11Eは、第4書き込みパスを示している。第4書き込みパスでは、データ状態0が書き込まれるべきLM21のメモリセルに対してデータ状態0が書き込まれる。データ状態1が書き込まれるべきLM21のメモリセルに対してデータ状態1が書き込まれる。データ状態2が書き込まれるべきLM22のメモリセルに対してデータ状態2が書き込まれる。データ状態3が書き込まれるべきLM22のメモリセルに対してデータ状態3が書き込まれる。データ状態4が書き込まれるべきLM23のメモリセルに対してデータ状態4が書き込まれる。データ状態5が書き込まれるべきLM23のメモリセルに対してデータ状態5が書き込まれる。データ状態6が書き込まれるべきLM24のメモリセルに対してデータ状態6が書き込まれる。データ状態7が書き込まれるべきLM24のメモリセルに対してデータ状態7が書き込まれる。データ状態8が書き込まれるべきLM25のメモリセルに対してデータ状態8が書き込まれる。データ状態9が書き込まれるべきLM25のメモリセルに対してデータ状態9が書き込まれる。データ状態10が書き込まれるべきLM26のメモリセルに対してデータ状態10が書き込まれる。データ状態11が書き込まれるべきLM26のメモリセルに対してデータ状態11が書き込まれる。データ状態12が書き込まれるべきLM27のメモリセルに対してデータ状態12が書き込まれる。データ状態13が書き込まれるべきLM27のメモリセルに対してデータ状態13が書き込まれる。データ状態14が書き込まれるべきLM28のメモリセルに対してデータ状態14が書き込まれる。データ状態15が書き込まれるべきLM28のメモリセルに対してデータ状態15が書き込まれる。図7を参照して上述したように、他の実施形態では、オーバーラップしているデータ状態0−15を含む。他の実施形態では、相互にオーバーラップする中間LM状態を含み得る。ブロック全体が全書き込みシーケンスを経るまでデータの2値化バージョンが残っている場合は特にそうである(相互にオーバーラップする中間LM状態を含み得る)。
【0057】
一実施形態では、データ書き込み要求を受信したとき、一つのワードライン上の全てのメモリセルにデータ状態0から15のいずれかの状態が書き込まれ得るように、その要求は4ページ全部のデータを伴っている。その場合、図11A−Dの4つの書き込みパスは、受信したデータに基づいて実行される。
【0058】
他の実施形態では、メモリシステムは、一度に4ページ全部のデータよりも少ないデータを受信してもよい。その場合、メモリセルは、初期の段階において、データの各ページがそれぞれ異なるブロックに書き込まれたバイナリメモリセルとして書き込まれてもよい。メモリセルは、消去状態に消去され、1ビットデータはそのメモリセルに書き込まれる。その結果、幾つかのメモリセルは消去状態(データ1)のままであり、幾つかのメモリセルは書き込み状態(データ0)となる。メモリの第1ページを受信したとき、そのデータは、バイナリモードでメモリの第1ブロックに書き込まれる。第2ページのデータを受信したとき、そのデータは、メモリセルの第2ブロックに書き込まれる。第3ページのデータを受信したとき、そのページデータはバイナリ形式でメモリセルの第3ブロックに書き込まれる。第4ページのデータを受信したとき、そのデータは、バイナリ形式でメモリセルの第4ブロックに書き込まれる。4ブロック全てが書き込まれると、システムは、図11A−Dの4パス書き込み処理を用い、1メモリセル当たり4ビットデータを書き込むことによって、4ブロック全てを一つのブロックに書き込み直す。
【0059】
他の実施形態では、完全に書き込まれるまで、一つのバイナリブロックは、ページ毎に書き込まれる。次いで、他のバイナリブロックが、やはり完全に書き込まれるまでページ毎に書き込まれる。次いで、第3バイナリブロックと第4バイナリブロックが、先の2つのブロックと同様の方法で書き込まれる。4つの完全なバイナリブロックが有効となると、それら4つのブロックのデータは、凝縮され、1メモリセル当たり4ビットの形式でブロックに書き込まれる。一実施形態では、バイナリブロックからのデータは、まずコントローラチップに送られ、そこでバイナリECC復号化が実行される。そして、データスクランブリングに加えて、1セル当たり16状態に適した他のタイプのECC符号化が実行される。そうして構築された新しいデータはメモリチップへ送り返され、1セルブロック当たり4状態で書き込まれる。
【0060】
図12は、選択ワードラインに接続されたメモリセルを書き込むための書き込み処理を説明するフローチャートである。本発明では、多くの異なる書き込み技術を用いることができる。一実施形態では、図10の処理は、制御回路220の管理の下で、及び/又は、制御回路220によって(ステートマシンが制御を提供し、電力制御226が適切な信号を供給する)、及び/又は、コントローラ244の管理下で実行される。一実施形態では、図12の処理は、一つのワードラインに(制御ゲートによって)接続されているメモリセルに対する図11A−Eの4パス書き込み処理の一つのパスを実行するために使われる。
【0061】
ステップ624では、「データロード」命令がコントローラ244によって発行され、ステートマシン222に入力される。ステップ626では、ページアドレスを指定するアドレスデータがデコーダ回路に供給される。ステップ628では、そのアドレス指定されたページへの1ページ分の書き込みデータが書き込みのために入力される。例えば、一実施形態では、528バイトのデータが入力される。そのデータは、選択されたビットラインのための適切なレジスタ/ラッチにラッチされる。幾つかの実施形態では、データは、選択されたビットラインのための第2のレジスタにラッチされ、検証動作のために用いられる。ステップ630では、コントローラ244から「書き込み」命令が受信され、ステートマシン222に供給される。「書き込み」命令によって起動され、ステップ628でラッチされたデータは、適切なワードラインに供給された一組のパルス群を使ってステートマシン222によって制御されて、選択されたメモリセルに書き込まれる。ステップ732では、ステートマシン222によって維持される書き込みカウンタPCが0に初期化される。
【0062】
幾つかの実施形態では、書き込みパスの少なくとも1つのサブセットは、夫々の書き込み処理に対する特定の結果を得ることに関連付けられた書き込みパルスを特定すること、及び、特定された書き込みパルスを用いてその不揮発性記憶素子に対する後続の書き込み処理の書き込みを調整することを含む。一実施例では、システムは、最初のメモリセル群をその目標に到達させる書き込みパルスを特定する。他の実施例では、システムは、最初のN個のメモリセルをその目標に到達させる書き込みパルスを特定する。ここで、Nは、ECCによって訂正可能なエラーの数よりも小さい数である。その特定されたパルスは、ある大きさを有している。一実施形態では、後続の書き込みパスの最初のパルスの大きさは、その特定されたパルスの大きさと等しい大きさに設定される。例えば、第1書き込みパスの4番目の書き込みパルスによってメモリセルが初めてその目標に達し、その4番目の書き込みパルスの大きさが14ボルトである場合、第2書き込みパスの最初の書き込みパルスの大きさが14ボルトに設定される。このようにして、一つの書き込みパスにおける動作の様子を観測し、観測したその動作の様子が後続の書き込みパスに影響を与える。
【0063】
他の実施形態では、他のバリエーションが実行される。例えば、後続のパスの最初のパルスは、先行するパスの特定されたパルスに基づいて設定されるが、その大きさは、厳密に等しくなくともよい。
【0064】
加えて、先行の書き込みパスからの書き込みパルスは、目標に達した最初のメモリセル(群)以外のイベントに関連付けられていてもよい。例えば、書き込みパルスは、メモリセルが中間レベル或いは他の状態に達したときに特定されてもよい。
【0065】
それゆえ、新たな書き込みパスが開始されるとき、システムは、予め定められた特定の結果を達成することに関連付けられた先行の書き込みパスから書き込みパルスを特定するための情報にアクセスする(ステップ634)。システムは、レジスタ、フラッシュメモリセル、或いは他の不揮発性記憶デバイスからパルスを特定するための情報を読み出す。一実施形態では、ステップ634は、マルチパス書き込み処理の第1パスでは実行されず、最初の書き込みパルスの大きさの初期値は、10−17ボルトのノミナル値に設定される。そのノミナル値は、デバイスの特性に依存する。
【0066】
ステップ636では、書き込み信号Vpgmの第1の書き込みパルスの大きさが、ステップ634で読み込んだ情報と先行する書き込みパスから特定されたパルスに基づいて設定される。ステップ640では、書き込み信号Vpgmの1パルスが選択されたワードラインに供給される。
【0067】
ステップ642では、適切な一組の目標レベルを使って選択されたメモリセルのデータ状態が検証される。選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知された場合、そのメモリセルのビットライン電圧が高められ、そのメモリセルは、図10の残りの処理による以後の書き込みから除外される。他の除外技術を採用することもできる。
【0068】
この書き込みパスの間に、書き込み中のメモリセルの最初のN個(Nは1以上)がその目標データ状態に達したことが初めて検知された場合、その書き込みパルスに関する情報がフラッシュメモリセル又はレジスタ等の不揮発性記憶デバイスに記憶される(ステップ646)。このパルスが、次の書き込みパスにおける最初のパルスの大きさを設定するのに用いられる。一変形例では、ステップ644は、N個のメモリセルが、除外されていない状態から、その目標状態に到達したことによってその後の書き込みから除外される状態へ変化したか否かを判断する。幾つかの実施形態では、LM01からLM11に書き込まれるメモリセル、LM02からLM13に書き込まれるメモリセル、LM11からLM21に書き込まれるメモリセル、LM12からLM23に書き込まれるメモリセル、LM13からLM25に書き込まれるメモリセル、LM14からLM27に書き込まれるメモリセルに対しては、ステップ644の判断は実行されない。一実施形態では、ステップ644と646は、マルチパス書き込み処理の最後のパスでは実行されない。
【0069】
ステップ646の後、処理はステップ648へと移行する。現在のパルスが、この書き込みパスにおいて書き込み中の最初のN個のメモリセルをその目標データ状態に到達させた最初のパルスではない場合、処理はステップ646を実行することなくステップ648へと移行する。
【0070】
書き込み中の全てのメモリセルがそれらの目標データ状態に到達した場合(ステップ648)、この書き込み処理は無事完了する。「合格」ステータスがステップ650で通知される。ステップ648の幾つかの実装形態では、少なくとも予め決められた数のメモリセルがそれらの目標状態に到達したことが検証されたか否かがチェックされることに留意されたい。この予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセルが適切な検証レベルに到達する前に書き込み処理が終了し得る。書き込みに成功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る。
【0071】
ステップ648において、全てのメモリセルが目標状態に到達しているのではないと判断された場合、書き込み処理は継続する。ステップ660では、書き込みカウンタPCが書き込み限度値に対してチェックされる。書き込み限度値の一例は20であるが、これ以外の値の使用も可能である。書き込みカウンタPCが20未満でない場合には、ステップ666にて、書き込みに失敗したセルの数が既定数以下かどうかが判定される。書き込みに失敗したメモリセルの数が既定数以下の場合には、ステップ668にて、書き込み処理に合格のフラグが立てられ、合格のステータスが通知される。多くの場合、書き込みに失敗したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし、書き込みに失敗したメモリセルの数が既定数よりも多い場合には、ステップ670にて、書き込み処理に失敗したことを示すフラグが立てられ、失敗ステータスが通知される。ステップ660にて書き込みカウンタPCが書き込み制限値未満であると判断された場合、次のVpgmパルスの大きさがステップサイズだけ増加され、書き込みカウンタPCがステップ662にてインクリメントされる。ステップ662の後、処理はステップ640にループバックし、次のVpgmパルスが印加される。
【0072】
書き込み信号Vpgmの書き込みパルス群は、ステップサイズずつ増大していく大きさを有している。一実施形態では、ステップサイズは一定であり、各書き込みパスの各パルスは、その直前のパルスよりも同一のステップサイズだけ大きさが増大している。他の実施形態では、各書き込みパス(又は書き込みパスのサブセット)は、異なるステップサイズを採用する。例えば、第1書き込みパスが0.4ボルトのステップサイズを有し、第2書き込みパスが0.7ボルトのステップサイズを有し、第3書き込みパスが0.35ボルトのステップサイズを有し、第4書き込みパスが0.17ボルトのステップサイズを有する。他の値を採用してもよい。
【0073】
変形した例では、ステップ644とステップ646は、第1書き込みパスにおいてのみ実行される。その場合、後続の3つの書き込みパスでは、最初の書き込みパルスに対して、第1書き込みパスに基づいて決定された大きさを採用する。
【0074】
図12の処理は、書き込みパス毎に1回実行される。64本のワードラインを有し、1ワードライン当たり4つの書き込みパスを実行するケースでは、図12の処理は、各ブロックに対して4x64回実行され得る。
【0075】
図12Aは、ステップサイズ毎に大きさが増加する一組の書き込みパルス680を有する書き込み電圧信号Vpgmの一例を示している。ステップサイズは、線684と686との間の間隙で示されている。書き込みパルスの間には検証パルス(例えば検証パルス682)が存在する。図12Aは、4つのデータ状態を区別し得る3つの検証パルスを示している。図を見やすくするために、3つのパルスのみが図示されている。16個のデータ状態を採用する一実施形態では、書き込みパルスの間に、最大15個の検証パルスが存在し得る。図12に戻り、ステップ640は一つの書き込みパルス680を印加することを含み、ステップ642は一組の検証パルス(例えば一組最大15個のパルス)682を印加することを含む。
【0076】
図13は、メモリの一つのブロックの異なるワードラインに対する異なる書き込みパスの書き込み順を説明する図である。例えば、図13は次の順を示している。最初の動作としてワードラインWL0に対して第1パス(図11B)を実行すること、続いてワードラインWL1に対して第1パスを実行すること、続いてWL0に対して第2パス(図11C)を実行すること、続いてWL2に対して第1パスを実行すること、続いてWL1に対して第2パスを実行すること、続いてWL0に対して第3パス(図11D)を実行すること、続いてWL3に対して第1パスを実行すること、・・・続いてWL63に対して第4パス(図11E)を実行すること。図13に示したこの書き込みパスのシーケンスは、図13のチャートに沿って対角に進行することから対角シーケンスと呼ばれている。他の実施形態では、他のシーケンスを採用してもよい。
【0077】
一実施形態では、各パスは、一つのページデータに対応してよい。例えば、図8と11Bを参照すると、下位ページがデータ1を記憶すべき場合にはそのメモリセルにLM01が書き込まれ、下位ページがデータ0を記憶すべき場合にはそのメモリセルにLM02が書き込まれる。それゆえ、第1書き込みパスの後、そのメモリセルの閾値電圧がLM01とLM02のいずれに属するかによって、下位ページデータが1であるか0であるかを読み出すことができる。第2書き込みパスは、上位ページデータの書き込みと関連することができる。例えば、図8と11Cを参照すると、上位ページデータがデータ1であるべき場合、そのメモリセルはLM11又はLM13のいずれかが書き込まれればよい。上位ページデータがデータ0であるべき場合には、そのメモリセルはLM11又はLM14のいずれかが書き込まれればよい。そのメモリセルの閾値電圧がどの閾値電圧区分に属するかを判定することによって、第1ページデータとともに第2頁データを読み出すことができる。第3書き込みパスは、高次ページデータの書き込みと対応付けることができる。例えば、データ1であるべき高次ページデータは、LM21、LM23、LM25、及びLM27に記憶されればよい。データ0は、LM22、LM24、LM26、或いはLM28に記憶されればよい。第4パスは、トップページデータを適切なデータ状態へ書き込むことに対応付けることができる。
【0078】
図14は、他の実施形態における不揮発性メモリを動作させる処理を説明するフローチャートである。この実施形態では、ソフト書き込みの結果を書き込みパスの調整に用いる。ステップ700では、メモリセルの一つのブロックが消去される。ステップ702では、ソフト書き込みが実行される。このソフト書き込みの処理は、図12の処理にわずかな変更を加えた処理を実行することを含む。ステップ634は実行する必要がなく、ステップ636は常に、最初のパルスに対して特定のノミナル値の電圧を設定する。そのノミナル値は、例えば、デバイスの特性に依存して10から17ボルトの間でよい。N個のメモリセルが消去メモリセルのための適切な目標閾値電圧区分に達してそのN個のメモリセルがソフト書き込みから除外されたとき、その書き込みパルスの特定結果が図12のステップ646で記憶される。その書き込みパルスを特定する情報は、レジスタ又はフラッシュメモリセルに記憶され得る。ステップ704では、データ書き込みの要求が受信される。ステップ702と704の間の点線は、所定の時間間隔と中間ステップがそれらの間で実行され得ることを示している。幾つかの実施形態では、データ書き込みの要求を受信することなくデータを書き込むことがある。ステップ706では、図11A−Eのマルチパス書き込み処理(或いは他のマルチパス書き込み処理)によって、データが消去閾値電圧区分からメモリセルへ書き込まれる。図14の各書き込みパスでは、最初の書き込みパルスの大きさは、ステップ702のソフト書き込み処理における観測された動作の様子に基づいて設定される。ステップ708では、メモリセルからデータが読み出される。一実施形態では、図14に示すように、ソフト書き込みはメモリセルの消去と関連して実行される。他の実施形態では、ソフト書き込みは、(例えば書き込み要求に応答して)書き込みに関連して実行され得る。
【0079】
図15は、図14のステップ706を実行するためのフローチャートの例を示している。図15のステップ824−832は、図12のステップ624−632と同じである。ステップ834では、システムは、図14のステップ703で記憶されたソフト書き込みパスからの書き込みパルスの特定結果を読み出す。ステップ836では、ステップ834で読み出された特定されたパルスに基づいて、書き込み信号Vpgmの最初の書き込みパルスの大きさが設定される。一実施形態では、現在の書き込みパスの最初の書き込みパルスの大きさは、ステップ834で読み出したパルスの大きさに等しく設定される。それゆえ、ステップ834で読み出す情報は、大きさの情報、パルス番号情報(そのパルス番号から大きさが算出できる)、或いは、適切な大きさを特定するのに用いられる他の情報を含んでいる。ステップ840では、書き込みのために選択されたワードラインに書き込みパルスが印加される。ステップ842では、選択ワードラインに沿ったメモリセルが検証される。全ての、或いは既定数のメモリセルが検証に合格した場合(ステップ844)、ステップ846(ステータス=合格)にてこの処理は無事終了する。全て、或いは十分な数のメモリセルが検証されない場合、ステップ860にて書き込みカウンタが既定の制限値を下回っているか否か判断される。既定の制限値を下回っている場合、ステップ862にて、書き込み信号Vpgmの電圧の大きさをステップサイズだけ増加するとともに書き込みカウンタをインクリメントする。上述したように、どの書き込みパスが実行されているかに依存してステップサイズを変更することができる。ステップ862の後、処理はステップ840へと戻り、次の書き込みパルスが印加される。ステップ860にて書き込みカウンタが既定の制限値を超えている判断され、書き込みに失敗したメモリセルの数が既定値より少ないと判断された場合(ステップ866)、この処理はステップ868(ステータス=合格)にて無事終了する。この一方で、書き込みに失敗したメモリセルの数が既定値を超えている場合(ステップ866)、ステップ870にてこのプロセスは不成功として終了する。
【0080】
図15の処理は、書き込みパス毎に1回実行される。64本のワードラインを有しており、1ワードライン当たり4回の書き込みパスを要するケースの場合、図15の処理はブロック毎に4x64回実行される。
【0081】
図16は、他の実施形態のフローチャートを示す。この実施形態は、ソフト書き込みを使い、シングルパス書き込み処理における書き込み信号の大きさの初期値を決定する。ステップ880では、1ブロックのメモリセルが消去される。ステップ882では、ソフト書き込みが実行され、システムは、N個のメモリセルが消去閾値電圧区分であることが検証されたときに、対応する書き込みパルスの特定情報を記憶する。上述したように、Nは、1、2など、デバイス実装に依存して決定される。図16のステップ882は、図14のステップ702に同じである。ステップ884では、データ書き込み要求が受信される。ステップ886では、シングルパス書き込み処理を使って、消去閾値電圧区分からいずれかのデータ状態へとデータがメモリセルへ書き込まれる。ステップ888では、メモリセルが読み出され、データがユーザに提供される。
【0082】
一実施形態では、ステップ886は、ワードライン毎に1回、図15の処理が遂行されることによって実行される。このことは、ワードライン毎に1回のパスが実行されることを意味する。一実施形態では、ステップ880ではメモリセルに消去閾値電圧区分Eを書き込み、ステップ886では消去閾値電圧区分Eから、データ状態0から15のいずれかをメモリセルへ書き込む。他の実施形態では、ステップ880においてメモリセルをデータ状態0に書き込み、ステップ886では、データ状態0から、データ状態0から15のいずれかを全て或いはサブセットのメモリセルへ書き込む。
【0083】
図17は、メモリセル動作の処理の一実施形態を説明するフローチャートである。この実施形態は、ソフト書き込みを使い、書き込み処理の検証部分を変更する。ステップ902では、1ブロックのメモリセルが消去される。ステップ904では、ソフト書き込み処理が実行される。一実施形態では、メモリセルは消去閾値電圧区分Eへ消去される。他の実施形態では、メモリセルは、データ状態0に消去される。ソフト書き込みの間、システムは、N個(Nは1又はそれ以上)のメモリセルが適切な消去閾値電圧区分となったことが検証されたときの書き込みパルスを特定する。システムはまた、P個(Pは0又はそれ以上)以外の全てのメモリセルが検証されたときを特定する。NとPの値は、ECCとデバイス特性に基づいて選定される。上記した2つのパルスを特定することによって、そのメモリセルに適する(natural)閾値電圧区分を推定することができる。例えば、Nが2であり、Pが8であり、ステップサイズが0.4ボルトの場合、適する閾値電圧区分は、(8−2)x0.4=2.4ボルトとなる。この情報は、書き込みパルス毎に要求される検証動作の数を決定するのに利用される。例えば、16個のデータ状態を有する場合であっても、検証動作の数は、書き込みパルス毎に(2.4+0.3)/0.35=8検証回まで低減することができる。最初の数回と最後の数回の書き込みパルスでは、検証動作を8回より少なくすることができる。上記した数式の場合、0.3は書き込みノイズのマージンを表しており、0.35は状態間の閾値電圧の間隔を表している。これらの値は実装形態の一例である。
【0084】
ステップ906では、2つの特定された書き込みパルスが不揮発性記憶素子(例えば、レジスタやフラッシュメモリセルなど)に記憶される。ステップ906では、システムは上述したように、特定された2つのパルスに基づいて、閾値電圧区分の近似値(approximation)を算出する。ステップ910では、上述したように、システムは、閾値電圧区分の近似値とステップサイズに基づいて、必要とされる検証パルスの最大数を算出し記憶する。ステップ912では、データ書き込み要求を受信する。ステップ910と912の間の点線は、ステップ910とステップ912の間に、予測できない時間間隔が存在し得ることと、中間処理が実行され得ることを示している。ステップ914では、シングルパス書き込み処理を使ってデータがメモリセルへ書き込まれる。他の実施形態では、ステップ914は、マルチパス書き込み処理を実行することを含む。ステップ916では、データがメモリセルから読み出され、ユーザ又はホストに通知される。
【0085】
ステップ914は、図15の処理を使って遂行し得る。しかしながら、シングルパス書き込み処理を実行する場合は、各パスにてステップサイズは変更されない。むしろ、ステップサイズは、デバイス特定に基づいて決定された値(例えば0.1−0.4ボルト)に一定に維持される。一実施形態では、図17の処理は、上述したようにソフト書き込みに基づいて最初の書き込みパルスの大きさを設定する処理を含んでもよい。一実施形態では、ワードラインへの書き込みは、ソースラインに最も近いワードラインから開始してビットラインコンタクトへ向けて進行する順で行われる。例えば、WL0から開始してWL63で終了する。従って、シングルパス書き込み処理では、図15の処理は、ワードライン毎に1回、合計64回実行される。
【0086】
図18は、図17のステップ914の実現として図15の処理を用いる場合の図15のステップ842を実現する処理の一例を示す。図18の処理は、検証に限定されたパルス数しか使わないというコンセプトを実現したものであり、限定されたパルス数は(おそらくは)フルにパルスを用いる場合よりも少ない。図17に関して上記説明した例では、書き込みパルスの間に、フルに15個の検証パルスを用いずに、8検証パルスのみを用いる。しかしながら、印加される8個の検証パルスの一組は、そのメモリセルに適した閾値電圧区分と書き込み処理の現在の状態に基づいて、時間の経過とともに変化する。システムがメモリセルの適した閾値電圧区分の幅を特定できれば、その幅が、適した閾値電圧区分が図6のグラフに沿っていることを予測するものである。
【0087】
図17のステップ910では、検証パルスの最大数を算出した。検証パルスの最大数は、一組の検証パルスの最大幅を決定する。例えば、検証パルスの最大数が8の場合、図18から予期される一組の検証パルスは検証パルスを8まで含む。(図15の様々な繰り返しを通して)書き込み処理が進行すると、一組の検証パルス群が変化し、異なる検証パルス群がその一部となる。例えば、一組の検証パルス群は、開始時にはデータ状態0に対する検証パルスを含む。最終的には、一組のパルス群は、データ状態0からデータ状態7に対する検証パルスを含むように拡張され、続いて、データ状態1から8に対する検証パルスを含むように変更され、続いてデータ状態2から9までに対する検証パルスを含むように変更されるなどする。
【0088】
図18のステップ928では、現在の書き込み処理におけるいずれかのメモリセルが達すべき最高位のデータ状態と、検証パルスの最大数に基づいて、一組の検証が特定される。図18では、いずれかのメモリセルが達すべき最高位のデータ状態を「状態X」で表している。一組の検証パルスは、到達すべき最高位のデータ状態よりも1状態高い状態を検証するのに必要な検証パルスと、その状態より低い状態を検証するための検証パルスを含む。その場合でも、検証パルスの数は、既に決定された検証パルスの最大数を超えることはない。図18では、到達すべき最高位のデータ状態よりも1状態高い状態を「状態X+1」で表している。例えば、書き込み処理を開始した直後のときは、到達すべき最高位のデータ状態は状態Eであってもよく、この場合、一組の検証パルスは、状態0に対する検証パルスのみを含む。メモリセルが状態5まで到達しており、また既に決定された検証パルスの最大数が8である場合、一組の検証パルスは、状態0から6までのための検証パルスを含む。書き込み処理が進行中であり、メモリセルが既に状態7に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態8から1までのための検証パルスを含む。メモリセルが既に状態10に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態4から11までのための検証パルスを含む。メモリセルが既に状態13に到達しており、検証パルスの既定の最大数が8である場合、一組の検証パルスは状態7から14までのための検証パルスを含む。
【0089】
ステップ930では、ステップ928で特定された一組の検証パルスのうち最も低い検証パルスが選択ワードラインに印加される。そのパルスの大きさは、対応するデータ状態の検証レベルに設定される。幾つかの実施形態では、データ状態の検証レベルは、そのデータ状態に対する最も低い閾値電圧に等しい(図6の状態1に対するVv1を参照されたい)。ステップ932では、書き込みパルスの結果が検知される。即ち、注目しているメモリセル(又はセル群)がオンしたか否かが判断される。ステップ934では、検知結果が各メモリセルに対するデータと比較される。メモリセルに書き込まれるべき目標のレベルがちょうど検証レベルであり、そのレベルに達している場合には、ステップ936にてビットライン電圧が引き上げられてそのメモリセルは除外される。ステップ938では、一組の検証パルスの中に未印加の検証パルスがあるか否かが判断される。未印加の検証パルスが存在しない場合、ステップ942にて、いずれかのメモリセルが状態X+1に達しているか否かが特定される。いずれかのメモリセルが状態X+1に到達している場合、最高位の状態(状態X)を示す指標が更新され、図18の処理が終了する(図15のステップ842も終了する)。一組の検証パルスの中に未印加の検証パルスが存在する場合(ステップ938)、ステップ940にて、次に高い検証パルスが印加され、処理はステップ932に戻る。例えば、ステップ928にて特定された一組の検証パルスが状態2−10に対する検証パルスを含む場合、図18のループ(ステップ932−938)は8回実行される。
【0090】
データ書き込みの後、フローティングゲート上に蓄積されたみかけの電荷量の変化が生じる。これは、隣接するフローティングゲートに蓄積された電荷量に基づく電界結合によって生じる。このフローティングゲート間の結合現象は、米国特許第5,867,429号に開示されており、その公報は全体を参照することにより本明細書に組み込まれる。注目しているフローティングゲートに対するフローティングゲートには、同一のビットライン上の隣接フローティングゲート、同一ワードライン上の隣接フローティングゲート、或いは、注目しているフローティングゲートに対角に位置する隣接フローティングゲートが含まれ得る。それらは隣接ビットライン上に存在するとともに、隣接ワードライン上に存在するからである。
【0091】
フローティングゲート同士の結合現象は、異なる時刻に書き込まれる隣接メモリセル同士の間で顕著に発生する。例えば、最初のメモリセルには、そのフローティングゲート上に、一組のデータに対応する電荷量レベルが書き込まれる。次いで、1以上の隣接メモリセルには、そのフローティングゲート上に、第2組のデータに対応する電荷量レベルが書き込まれる。1以上の隣接メモリセルが書き込まれた後では、最初のメモリセルから読み出した電荷量は、書き込んだときの電荷量レベルとは異なって見える。これは、最初のメモリセルと結合した隣接メモリセル上の電荷の影響による。隣接メモリセルからの結合は、読み出すみかけの電荷量をシフトさせ、そのシフトは、記憶されたデータの読み取りエラーを生じ得る。
【0092】
フローティングゲート結合の課題を解決する一つの試みは、Nima Mokhlesiによる2006年3月17日出願の米国特許出願第11/377,972、「System For Performing Read Operation On Non-Volatile Storage With Compensation For Coupling」に開示されており、その内容は全体を参照することにより本明細書に組み込まれる。その出願に説明されているシステムは、注目するメモリセルを読み出す際に隣接メモリセルに補償電圧を印加することを含んでいる。
【0093】
図19は、本明細書で開示した4パス書き込み技術を使って書き込まれたメモリセルに対してフローティングゲートカップリングの影響を制限するための処理を説明している。典型的な読み出し処理の間、読み出しのために選択されたNANDストリングのメモリセルは、その制御ゲートに電圧を受ける。受ける電圧は、2つの隣接するデータ状態の間に存在する閾値電圧に等しい(或いは略等しい)。例えば、メモリセルがデータ状態0に属するか否かを判定するためには、そのメモリセルの制御ゲートはVr1を受ける(図6参照)。メモリセルが状態1に属するかを判定するためには、2つの読み出し動作が実行される。第1の読み出し動作はそのメモリセルにVr1を印加する。第2の読出し動作はそのメモリセルにVr2を印加する(図6参照)。制御ゲートの電圧に応答してそのメモリセルがオンするか否かによって、そのメモリセルがいずれの状態にあるかが判断される。
【0094】
同様に、検証処理において、検証対象のメモリセルの制御ゲートに検証比較電圧が印加される。典型的には、その検証比較電圧は、そのデータ状態に対する最も低い閾値電圧に略等しい。例えば、データ状態1に対する検証電圧は、Vv1である。データ状態2に対する検証電圧はVv2である。読み出し処理或いは検証処理を実行する際、NANDストリング上の非選択メモリセルはVreadと称される制御ゲート電圧を受ける。このVread電圧は、データ状態15の閾値電圧よりも顕著に高い。この電圧Vread(オーバードライブ電圧)は、確実に全ての非選択メモリセルをオンさせてNANDストリング内を電流が流れることを許容する。これによって、NANDストリングの電流は注目するメモリセルのみによって決定されるようになる。
【0095】
図19の処理は、上記した4パス書き込み処理を使って書き込まれたメモリセルを読み出す手法を提供するものであり、隣接フローティングゲートからのカップリングの影響を低減するものである。図18の処理に適用される理論は次の通りである。読み出し処理において、注目するメモリセルと同じNANDストリング上でありそのメモリセルにドレイン側で隣接するメモリセルがそのデータに基づいて異なる電圧を受け、それによってフローティングゲートカップリングが補償される。例えば、WL12に接続されているメモリセルを読み出す際、WL13に接続されているメモリセルが異なる電圧を受ける。検証処理において、ソース側隣接メモリセルを除く全てのメモリセルはVreadを受ける。ソース側隣接メモリセルはVreadよりΔ低い電圧を受ける(ここで、例えばΔは、1ボルト、若しくはデバイス特性に依存する他の値である)。この「他の値」は、VreadXとして指定される。ここで、VreadX=VreadX−Δである。検証において、隣接メモリセルはVreadXを受け、隣接メモリセルを除く全ての非選択メモリセルはVreadを受ける。続く読み出し処理において、ソース側隣接メモリセルが偶数状態(状態0、2、4、6、8、10、12、14)の場合、ソース側メモリセルはVreadXを受け、他の非選択メモリセルはVreadを受ける。一方、ソース側隣接メモリセルが奇数状態(状態1、3、5、7、9、11、13、15)の場合には、隣接メモリセルは読み出し処理の間Vreadを受ける。このように、奇数状態の場合に隣接メモリセルは補償を受ける。
【0096】
図11Eに戻り、奇数状態にあるメモリセルは、夫々の中間状態から偶数状態にあるメモリセルよりも深く書き込まれる。それゆえ、奇数状態にある隣接メモリセルはカップリング効果の影響をより多く受ける。図13のシーケンスを用いた4パス書き込み処理を実行する場合、注目するメモリセルに対する第4の書き込みパスは、隣接メモリセルに対する最初の3つの書き込みパスの後であり第4の書き込みパスの前に実行される。それゆえ、隣接メモリセルに対する第4の書き込みパスのみが注目するメモリセルにフローティングゲート結合の影響を与え、隣接メモリセルに対する第4の書き込みパスがそのメモリセルを奇数状態にするか偶数状態にするかに依存して、2値(オン/オフ、又は、低/高)補償を用いることが必要とされる。
【0097】
図19のステップ980は、特定のワードラインWLn上のデータの読み出し要求を受信することを含む。それゆえ、WLnが選択ワードラインとなる。ステップ982では、隣接ワードラインWLn+1上の全てのメモリセルに対して読み出し処理が実行される。ステップ982は、WLn+1に接続された全てのメモリセルがどのデータ状態にあるかを特定することを含む。各ビットラインに対して、WLn+1上の隣接メモリセル偶数状態にあるか奇数状態にあるかを示す指標がステップ984にて記憶される。その記憶には、各ビットラインに対して1ビット(奇数/偶数)が必要とされるのみである。例えば、1ビットラッチが利用できる。ステップ986にて、ワードラインWLnに対して読み出し処理が実行される。ステップ986の処理の間、VreadがWLn+1に印加される。ステップ986は、上述した補償を実行することを含む。ステップ988では、ステップ986の読み出し処理から得られたデータが、奇数状態にある隣接メモリセルに対応するビットラインに対して記憶される。例えば、システムは、隣接メモリセルが奇数状態にあるか否かを示す1ビットラッチをチェックし、奇数状態にあれば、ステップ986の結果を記憶する。偶数状態にある隣接メモリセルを有するビットラインは、ステップ986の読み出し処理で得られたデータを記憶しない。ステップ990では、隣接ワードラインWLn+1にVreadXを印加しながらワードラインWLnに対して読み出し処理が実行される。ステップ992では、偶数状態にある隣接メモリセルを有するビットラインに対するデータは、ステップ990の読み出し処理からのデータを記憶する。ステップ994では、(ステップ992又はステップ988で)記憶されたデータが通知される。
【0098】
上記本発明の詳細な説明は、説明のための例示にすぎない。上記本発明の詳細な説明は、詳細に開示した範囲に限定するものではない。本明細書が開示する技術は、様々に変形、変更し得る。上記説明した実施形態は、本発明の原理とその具体的な適用例をよく説明するために選ばれたものであり、当業者は、具体的な事例に則して本発明を様々に変更し得る。本発明の技術的範囲は、添付された特許請求の範囲によって定まるものである。
【特許請求の範囲】
【請求項1】
複数の不揮発性記憶素子に対して第1書き込み処理を実行するステップと、
前記第1書き込み処理に続いて前記不揮発性記憶素子に対して第2書き込み処理を実行するステップと、を含み、
前記第2書き込み処理が、前記第1書き込み処理に少なくとも部分的に基づいた一連の検証動作を含むことを特徴とする不揮発性記憶装置の動作方法。
【請求項2】
前記第1書き込み処理は消去閾値区分を狭めるために用いられるソフト書き込み処理であることを特徴とする請求項1の方法。
【請求項3】
前記第1書き込み処理に基づいて前記不揮発性記憶素子の閾値電圧区分の近似値を決定するステップをさらに含んでおり、
前記検証動作は、前記閾値電圧区分の前記近似値に少なくとも部分的に基づいていることを特徴とする請求項2の方法。
【請求項4】
前記第1書き込み処理は、前記不揮発性記憶素子に書き込みパルスを印加し、
前記方法はさらに、前記第1書き込み処理において第1結果を得るのに必要とされる第1書き込みパルスを特定するステップと、前記第1書き込み処理において第2結果を得るのに必要とされる第2書き込みパルスを特定するステップを含んでおり、
前記第2書き込み処理は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて制限される検証パルスを書き込みパルスの間で用いることを特徴とする請求項1の方法。
【請求項5】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、を含んでおり、
前記第2書き込み処理は、前記第1書き込みパルスと前記第2書き込みパルスに基づく検証動作を実行するステップを含んでいることを特徴とする請求項1の方法。
【請求項6】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて範囲を特定するステップと、を含んでおり、
前記第2書き込み処理は、前記範囲に基づいて特定数の検証パルスを印加するステップを含む請求項1の方法。
【請求項7】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて検証パルス数を特定するステップを含んでおり、
前記第2書き込み処理は、書き込みを検証するために、書き込みパルスの間で、前記検証パルス数以下の検証パルスを印加するステップを含むことを特徴とする請求項1の方法。
【請求項8】
書き込みを検証するために書き込みパルスの間で前記最大検証パルス数以下の検証パルスを印加するステップは、
(a)状態の変更ウインドウの最下位状態にある前記不揮発性記憶素子の制御ゲートにパルスを印加するステップ、
(b)結果を検知するステップ、
(c)それぞれの目標に到達した不揮発性記憶素子を除外するステップ、
を含み、前記ステップ(a)から(c)を前記ウインドウ内の他の状態に対して繰り返すことを特徴とする請求項7の方法。
【請求項9】
1以上の前記不揮発性記憶素子の前記第1組は、厳密に1つの不揮発性記憶素子で構成されており、
1以上の前記不揮発性記憶素子の前記最後の一組は、ゼロ個の不揮発性記憶素子で構成されていることを特徴とする請求項7の方法。
【請求項10】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて、前記不揮発性記憶素子に対する閾値区分の近似値を算出するステップと、
前記第2書き込み処理における書き込みパルスステップサイズと前記閾値区分の前記近似値とに基づいて検証パルスの最大数を算出するステップと、を含んでおり、
前記第2書き込み処理は、書き込みを検証するために書き込みパルスの間で、検証パルスの前記最大数以下の数の検証パルスを印加するステップを含むことを特徴とする請求項1の方法。
【請求項11】
複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子と通信する1以上の管理回路と、を備えており、
前記1以上の管理回路は、前記不揮発性記憶素子に対して第1書き込み処理を実行するとともに、前記第1書き込み処理に続いて前記不揮発性記憶素子に対して第2書き込み処理を実行し、
前記第2書き込み処理は、前記第1書き込み処理に少なくとも部分的に基づいた一連の検証動作を含むことを特徴とする不揮発性記憶装置。
【請求項12】
前記第1書き込み処理は消去閾値区分を狭めるために用いられるソフト書き込み処理であることを特徴とする請求項11の不揮発性記憶装置。
【請求項13】
前記1以上の管理回路は、前記第1書き込み処理に基づいて前記不揮発性記憶素子の閾値電圧区分の近似値を決定し、
前記検証動作は、前記閾値電圧区分の前記近似値に少なくとも部分的に基づいていることを特徴とする請求項12の不揮発性記憶装置。
【請求項14】
前記第1書き込み処理は、前記不揮発性記憶素子に書き込みパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、前記第1書き込み処理において第1結果を得るのに必要とされる第1書き込みパルスを決定し、前記書き込み処理において第2結果を得るのに必要とされる第2書き込みパルスを決定し、
前記第2書き込み処理において、前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて制限される検証パルスを書き込みパルスの間で用いることを特徴とする請求項11の不揮発性記憶装置。
【請求項15】
前記1以上の管理回路は、前記不揮発性記憶素子を消去し、
前記第1書き込み処理は、前記消去に関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、1以上の前記不揮発性記憶素子の第1組に関連付けられており前記ソフト書き込みを終了させる第1書き込みパルスを特定し、
前記1以上の管理回路は、ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てに関連付けられており前記ソフト書き込みを終了させる第2書き込みパルスを特定し、
前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて検証パルス数を特定し、
前記第2書き込み処理は、書き込みを検証するために、書き込みパルスの間で、前記検証パルス数以下の検証パルスを印加する前記1以上の管理回路を含むことを特徴とする請求項11の不揮発性記憶装置。
【請求項16】
1以上の前記不揮発性記憶素子の前記第1組は、厳密に1つの不揮発性記憶素子で構成されており、
1以上の前記不揮発性記憶素子の前記最後の一組は、ゼロ個の不揮発性記憶素子で構成されていることを特徴とする請求項15の不揮発性記憶装置。
【請求項17】
前記1以上の管理回路は、前記不揮発性記憶素子を消去し、
前記第1書き込み処理は、前記消去に関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、1以上の前記不揮発性記憶素子の第1組について前記ソフト書き込みを終了させる第1書き込みパルスを特定し、
前記1以上の管理回路は、ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てについて前記ソフト書き込みを終了させる第2書き込みパルスを特定し、
前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて、前記不揮発性記憶素子に対する閾値区分の近似値を算出し、
前記1以上の管理回路は、前記第2書き込み処理における書き込みパルスステップサイズと前記閾値区分の前記近似値とに基づいて検証パルスの最大数を算出し、
前記第2書き込み処理は、書き込みを検証するために書き込みパルスの間で、検証パルスの前記最大数以下の数の検証パルスを印加する前記1以上の管理回路を含むことを特徴とする請求項11の不揮発性記憶装置。
【請求項18】
前記1以上の管理回路は、データ書き込み要求を受信し、
前記要求は、前記書き込みパルスの第2数の決定後に受信され、
前記第2書き込み処理は、前記要求に応答して前記1以上の管理回路によって実行されることを特徴とする請求項17の不揮発性記憶装置。
【請求項19】
前記第1書き込み処理は、前記不揮発性記憶素子を消去状態に関連した状態に置き、
前記第2書き込み処理は、ユーザデータを前記不揮発性記憶素子に書き込むことを特徴とする請求項11の不揮発性記憶装置。
【請求項20】
前記複数の不揮発性記憶素子は、マルチステートNANDフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【請求項21】
前記複数の不揮発性記憶素子は、マルチステートフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【請求項22】
前記複数の不揮発性記憶素子は、NANDフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【請求項1】
複数の不揮発性記憶素子に対して第1書き込み処理を実行するステップと、
前記第1書き込み処理に続いて前記不揮発性記憶素子に対して第2書き込み処理を実行するステップと、を含み、
前記第2書き込み処理が、前記第1書き込み処理に少なくとも部分的に基づいた一連の検証動作を含むことを特徴とする不揮発性記憶装置の動作方法。
【請求項2】
前記第1書き込み処理は消去閾値区分を狭めるために用いられるソフト書き込み処理であることを特徴とする請求項1の方法。
【請求項3】
前記第1書き込み処理に基づいて前記不揮発性記憶素子の閾値電圧区分の近似値を決定するステップをさらに含んでおり、
前記検証動作は、前記閾値電圧区分の前記近似値に少なくとも部分的に基づいていることを特徴とする請求項2の方法。
【請求項4】
前記第1書き込み処理は、前記不揮発性記憶素子に書き込みパルスを印加し、
前記方法はさらに、前記第1書き込み処理において第1結果を得るのに必要とされる第1書き込みパルスを特定するステップと、前記第1書き込み処理において第2結果を得るのに必要とされる第2書き込みパルスを特定するステップを含んでおり、
前記第2書き込み処理は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて制限される検証パルスを書き込みパルスの間で用いることを特徴とする請求項1の方法。
【請求項5】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、を含んでおり、
前記第2書き込み処理は、前記第1書き込みパルスと前記第2書き込みパルスに基づく検証動作を実行するステップを含んでいることを特徴とする請求項1の方法。
【請求項6】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて範囲を特定するステップと、を含んでおり、
前記第2書き込み処理は、前記範囲に基づいて特定数の検証パルスを印加するステップを含む請求項1の方法。
【請求項7】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて検証パルス数を特定するステップを含んでおり、
前記第2書き込み処理は、書き込みを検証するために、書き込みパルスの間で、前記検証パルス数以下の検証パルスを印加するステップを含むことを特徴とする請求項1の方法。
【請求項8】
書き込みを検証するために書き込みパルスの間で前記最大検証パルス数以下の検証パルスを印加するステップは、
(a)状態の変更ウインドウの最下位状態にある前記不揮発性記憶素子の制御ゲートにパルスを印加するステップ、
(b)結果を検知するステップ、
(c)それぞれの目標に到達した不揮発性記憶素子を除外するステップ、
を含み、前記ステップ(a)から(c)を前記ウインドウ内の他の状態に対して繰り返すことを特徴とする請求項7の方法。
【請求項9】
1以上の前記不揮発性記憶素子の前記第1組は、厳密に1つの不揮発性記憶素子で構成されており、
1以上の前記不揮発性記憶素子の前記最後の一組は、ゼロ個の不揮発性記憶素子で構成されていることを特徴とする請求項7の方法。
【請求項10】
前記方法は、前記不揮発性記憶素子を消去するステップをさらに含み、
前記第1書き込み処理は、前記消去するステップに関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加するステップを含み、
前記方法はさらに、
1以上の前記不揮発性記憶素子の第1組が前記ソフト書き込みを終了することに関連する第1書き込みパルスを特定するステップと、
ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てが前記ソフト書き込みを終了することに関連する第2書き込みパルスを特定するステップと、
前記第1書き込みパルスと前記第2書き込みパルスに基づいて、前記不揮発性記憶素子に対する閾値区分の近似値を算出するステップと、
前記第2書き込み処理における書き込みパルスステップサイズと前記閾値区分の前記近似値とに基づいて検証パルスの最大数を算出するステップと、を含んでおり、
前記第2書き込み処理は、書き込みを検証するために書き込みパルスの間で、検証パルスの前記最大数以下の数の検証パルスを印加するステップを含むことを特徴とする請求項1の方法。
【請求項11】
複数の不揮発性記憶素子と、
前記複数の不揮発性記憶素子と通信する1以上の管理回路と、を備えており、
前記1以上の管理回路は、前記不揮発性記憶素子に対して第1書き込み処理を実行するとともに、前記第1書き込み処理に続いて前記不揮発性記憶素子に対して第2書き込み処理を実行し、
前記第2書き込み処理は、前記第1書き込み処理に少なくとも部分的に基づいた一連の検証動作を含むことを特徴とする不揮発性記憶装置。
【請求項12】
前記第1書き込み処理は消去閾値区分を狭めるために用いられるソフト書き込み処理であることを特徴とする請求項11の不揮発性記憶装置。
【請求項13】
前記1以上の管理回路は、前記第1書き込み処理に基づいて前記不揮発性記憶素子の閾値電圧区分の近似値を決定し、
前記検証動作は、前記閾値電圧区分の前記近似値に少なくとも部分的に基づいていることを特徴とする請求項12の不揮発性記憶装置。
【請求項14】
前記第1書き込み処理は、前記不揮発性記憶素子に書き込みパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、前記第1書き込み処理において第1結果を得るのに必要とされる第1書き込みパルスを決定し、前記書き込み処理において第2結果を得るのに必要とされる第2書き込みパルスを決定し、
前記第2書き込み処理において、前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて制限される検証パルスを書き込みパルスの間で用いることを特徴とする請求項11の不揮発性記憶装置。
【請求項15】
前記1以上の管理回路は、前記不揮発性記憶素子を消去し、
前記第1書き込み処理は、前記消去に関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、1以上の前記不揮発性記憶素子の第1組に関連付けられており前記ソフト書き込みを終了させる第1書き込みパルスを特定し、
前記1以上の管理回路は、ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てに関連付けられており前記ソフト書き込みを終了させる第2書き込みパルスを特定し、
前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて検証パルス数を特定し、
前記第2書き込み処理は、書き込みを検証するために、書き込みパルスの間で、前記検証パルス数以下の検証パルスを印加する前記1以上の管理回路を含むことを特徴とする請求項11の不揮発性記憶装置。
【請求項16】
1以上の前記不揮発性記憶素子の前記第1組は、厳密に1つの不揮発性記憶素子で構成されており、
1以上の前記不揮発性記憶素子の前記最後の一組は、ゼロ個の不揮発性記憶素子で構成されていることを特徴とする請求項15の不揮発性記憶装置。
【請求項17】
前記1以上の管理回路は、前記不揮発性記憶素子を消去し、
前記第1書き込み処理は、前記消去に関連して実行されるソフト書き込み処理であり、
前記ソフト書き込み処理は、前記不揮発性記憶素子にパルスを印加する前記1以上の管理回路を含み、
前記1以上の管理回路は、1以上の前記不揮発性記憶素子の第1組について前記ソフト書き込みを終了させる第1書き込みパルスを特定し、
前記1以上の管理回路は、ゼロ以上の前記不揮発性記憶素子の最後の一組以外の全てについて前記ソフト書き込みを終了させる第2書き込みパルスを特定し、
前記1以上の管理回路は、前記第1書き込みパルスと前記第2書き込みパルスに基づいて、前記不揮発性記憶素子に対する閾値区分の近似値を算出し、
前記1以上の管理回路は、前記第2書き込み処理における書き込みパルスステップサイズと前記閾値区分の前記近似値とに基づいて検証パルスの最大数を算出し、
前記第2書き込み処理は、書き込みを検証するために書き込みパルスの間で、検証パルスの前記最大数以下の数の検証パルスを印加する前記1以上の管理回路を含むことを特徴とする請求項11の不揮発性記憶装置。
【請求項18】
前記1以上の管理回路は、データ書き込み要求を受信し、
前記要求は、前記書き込みパルスの第2数の決定後に受信され、
前記第2書き込み処理は、前記要求に応答して前記1以上の管理回路によって実行されることを特徴とする請求項17の不揮発性記憶装置。
【請求項19】
前記第1書き込み処理は、前記不揮発性記憶素子を消去状態に関連した状態に置き、
前記第2書き込み処理は、ユーザデータを前記不揮発性記憶素子に書き込むことを特徴とする請求項11の不揮発性記憶装置。
【請求項20】
前記複数の不揮発性記憶素子は、マルチステートNANDフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【請求項21】
前記複数の不揮発性記憶素子は、マルチステートフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【請求項22】
前記複数の不揮発性記憶素子は、NANDフラッシュメモリデバイスである請求項11の不揮発性記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図11C】
【図11D】
【図11E】
【図12】
【図12A】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図11C】
【図11D】
【図11E】
【図12】
【図12A】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2011−8913(P2011−8913A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2010−202456(P2010−202456)
【出願日】平成22年9月9日(2010.9.9)
【分割の表示】特願2009−550966(P2009−550966)の分割
【原出願日】平成20年2月13日(2008.2.13)
【出願人】(592012513)サンディスク コーポレイション (173)
【氏名又は名称原語表記】SanDisk Corporation
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成22年9月9日(2010.9.9)
【分割の表示】特願2009−550966(P2009−550966)の分割
【原出願日】平成20年2月13日(2008.2.13)
【出願人】(592012513)サンディスク コーポレイション (173)
【氏名又は名称原語表記】SanDisk Corporation
【Fターム(参考)】
[ Back to top ]