(57)【要約】【課題】  書き込み動作時間を抑制する。【解決手段】  実施形態による不揮発性半導体記憶装置は、ワード線及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、入力データに応じてワード線及びビット線の電位を制御し、メモリセルにデータを書き込む制御回路とを具備し、制御回路は、電圧レベルを変えて書き込み時のベリファイ動作を複数回行い、ベリファイパスする電圧レベルの情報を格納し、この格納した電圧レベルの情報に基づいて書き込み電圧を決定する（ＳＴ６）。【選択図】図５
2011258260.tif 000002
【特許請求の範囲】
【請求項１】
ワード線及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、
入力データに応じて前記ワード線及び前記ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、
前記制御回路は、電圧レベルを変えて書き込み時のベリファイ動作を複数回行い、ベリファイパスする前記電圧レベルの情報を格納し、この格納した前記電圧レベルの前記情報に基づいて書き込み電圧を決定することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記ベリファイ動作は、消去後の書き戻しのベリファイ動作であることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記制御回路は、ベリファイ回数をカウントするカウンタ回路を有し、
前記ベリファイ動作における前記電圧レベルは単調減少又は単調増加で変化させ、前記ベリファイパスした前記電圧レベル又は前記ベリファイ回数のカウント値を基に前記書き込み電圧を決定することを特徴とする請求項１又は２に記載の不揮発性半導体記憶装置。
【請求項４】
前記制御回路は、前記消去後の書き戻し動作が失敗した場合、次の消去動作が行われた後は、格納した前記電圧レベルの前記情報に基づいて書き込み電圧を決定することを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項５】
前記制御回路は、前記ベリファイ動作の前記電圧レベルを等間隔に２ｎ（ｎは２以上の自然数）通り設定して、ｎ回の２分探索法を用いて前記ベリファイパスする前記電圧レベルを探索することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、書き込みのベリファイ動作を行う不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置として、ＮＡＮＤ型フラッシュメモリが知られている。
【０００３】
ＮＡＮＤ型フラッシュメモリでは、メモリセルの集合であるブロック単位で、一括してデータが消去される。このＮＡＮＤ型フラッシュメモリのブロック消去時、過消去により閾値が深い負の閾値に移動してしまうという問題がある。このようにメモリセルの閾値電圧が深くなってしまうと、次にそのブロックでの書き込みをした際に、書き込みに時間が掛かってしまう。そこで、ブロック消去後に、ブロック単位で一括書き戻し動作を行うことで、全体の閾値を上げている。しかし、近年では、この書き戻し動作の時間が消去時間の増大につながっている。
【０００４】
また、ＮＡＮＤ型フラッシュメモリでは、書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作が行われる。このような書き込み動作においても、書き込み時間の短縮が望まれる。
【特許文献１】特開平８−１０２１９８号公報
【特許文献２】米国特許第６，５９４，１７８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
書き込み動作時間を抑制することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態による不揮発性半導体記憶装置は、ワード線及びビット線に接続され、１つのメモリセルに、ｎ値（ｎは２以上の自然数）のうちの１値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、入力データに応じて前記ワード線及び前記ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、前記制御回路は、電圧レベルを変えて書き込み時のベリファイ動作を複数回行い、ベリファイパスする前記電圧レベルの情報を格納し、この格納した前記電圧レベルの前記情報に基づいて書き込み電圧を決定する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る不揮発性半導体記憶装置の概略構成図。
【図２】実施形態に係るメモリセルアレイとセンスアンプ回路の一例を示す構成図。
【図３】実施形態に係るセンスアンプユニットの一例を示す回路図。
【図４】実施形態に係るデータ制御ユニットの一例を示す回路図。
【図５】第１の実施形態に係るブロック書き戻し動作及びそのベリファイ動作を示すフローチャート。
【図６】第１の実施形態に係るブロック書き戻し動作により書き込まれたメモリセルの閾値分布の一例を示す図。
【図７】第１の実施形態に係るブロック書き戻し動作及びそのベリファイ動作におけるワード線の印加電圧の一例を示す図。
【図８】第２の実施形態に係るブロック書き戻し動作及びそのベリファイ動作を示すフローチャート。
【図９】第２の実施形態に係るブロック書き戻し動作により書き込まれたメモリセルの閾値分布の一例を示す図。
【図１０】第２の実施形態に係るブロック書き戻し動作及びそのベリファイ動作におけるワード線の印加電圧の一例を示す図。
【図１１】第２の実施形態に係るベリファイレベルの２分探索の一例を示す図。
【図１２】実施形態に係る最終ベリファイレベルの設定を示す図。
【発明を実施するための形態】
【０００８】
以下、実施の形態について、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００９】
図１は、実施形態に係る不揮発性半導体記憶装置の概略構成を示している。
【００１０】
図１において、メモリセルアレイ（ＭＣＡ）１は、１つのメモリセルに例えば２ビットのデータを記憶することが可能なＮＡＮＤ型フラッシュメモリにより構成されている。すなわち、メモリセルアレイ１は、後述するように、複数のビット線と複数のワード線と共通ソース線、及び電気的にデータを書き換え可能でロウ方向、カラム方向に配置された例えばＥＥＰＲＯＭセルからなる複数のメモリセルを含んでいる。ロウデコーダとしてのワード線制御回路２は、メモリセルアレイ１のワード線に接続され、ワード線の選択及び駆動を行う。センスアンプ回路３は、メモリセルアレイ１のビット線に接続され、後述するように、データの読み出し、書き込み機能、及び書き込みデータを残りの書き込み回数に変換する機能を有している。カラムデコーダ４は、アドレスデコーダ７の出力信号に応じて、メモリセルアレイ１のビット線を選択するカラム選択信号を出力する。
【００１１】
入出力制御回路５は、外部から供給される各種コマンドＣＭＤ、アドレス信号ＡＤＤ、及び書き込みデータＤＴを受ける。データ書き込み時、書き込みデータＤＴは、入出力制御回路５からデータ入出力バッファ６を介してセンスアンプ回路３に供給される。データ読み出し時、センスアンプ回路３に読み出されたデータは、データ入出力バッファ６を介して、入出力制御回路５に供給され、入出力制御回路５から外部に出力される。
【００１２】
入出力制御回路５からデータ入出力バッファ６に供給されたアドレス信号ＡＤＤは、アドレスデコーダ７に供給される。このアドレスデコーダ７によりデコードされた信号は、ワード線制御回路２、及びカラムデコーダ４に供給される。
【００１３】
また、入出力制御回路５からデータ入出力バッファ６に供給されたコマンドＣＭＤは、制御信号発生回路８に供給される。制御信号発生回路８には、外部からチップイネーブル信号／ＣＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ等の外部制御信号が供給される。制御信号発生回路８は、動作モードに応じて供給される外部制御信号及びコマンドに基づいて、データ書き込み及び消去のシーケンスを制御する制御信号、及びデータの読み出しを制御する制御信号を発生する。この制御信号は、制御電圧発生回路９、アドレスデコーダ７に供給される。
【００１４】
制御電圧発生回路９は、制御信号発生回路８から供給される各種制御信号に応じて、読み出し電圧、書き込み電圧、ベリファイ電圧、消去電圧など、メモリセルアレイやセンスアンプ回路３、カラムデコーダ４の各種動作に必要な電圧を生成する。
【００１５】
パラメータ記憶部１０は、入出力制御回路５、制御信号発生回路８に接続され、テスト工程で決定されたチップの品質に適したパラメータを記憶する。
【００１６】
カウンタ回路１１は、ベリファイ動作におけるベリファイ回数をカウントし、このカウント値を格納する。演算回路１２は、ベリファイパスする電圧レベルを格納し、この電圧レベル及び上述したベリファイ回数のどちらか一方を基にベリファイ後の書き込み電圧を算出する。カウンタ回路１１及び演算回路１２の機能については、各実施形態において詳説する。
【００１７】
図２は、図１に示すメモリセルアレイ１とセンスアンプ回路３の構成例を示している。
【００１８】
図２において、メモリセルアレイ１は、破線で示すように複数のブロックＢＬＫを含んでいる。これらブロックは消去単位を構成する。各ブロックＢＬＫには複数のＮＡＮＤセルが配置されている。１つのＮＡＮＤセルは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートトランジスタＳ１、Ｓ２とにより構成されている。選択ゲートトランジスタＳ１はビット線ＢＬ０に接続され、選択ゲートトランジスタＳ２はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０、ＷＬ１、ＷＬ２〜ＷＬ３１に共通接続されている。また、選択ゲートトランジスタＳ１はセレクト線ＳＧＤに共通接続され、選択ゲートトランジスタＳ２はセレクト線ＳＧＳに共通接続されている。
【００１９】
センスアンプ回路３は、複数のセンスアンプユニット（ＳＡＵ）３ａと、複数のデータ制御ユニット（ＤＣＵ）３ｂを有している。各センスアンプユニット３ａは、ビット線ＢＬ０、ＢＬ１、ＢＬ２〜ＢＬｎに接続されている。各データ制御ユニット３ｂは各センスアンプユニット３ａに接続されている。各センスアンプユニット３ａは、データの読み出し時、メモリセルからビット線に読み出されたデータを検知し、保持する。各データ制御ユニット３ｂは、カラム選択信号ＳＥＬ０〜ＳＥＬｎに従って動作するトランジスタを介してデータ入出力バッファ６に接続されている。
【００２０】
書き込み動作（プログラム動作とも呼ぶ）、読み出し動作、及びプログラムベリファイ動作（ベリファイ動作とも呼ぶ）において、センスアンプユニット３ａに接続されているビット線が選択されるとともに、１本のワード線が選択される。この選択されたワード線に接続されている全てのメモリセルに、書き込み、又は読み出し電圧を印加することにより一斉に書き込み、又は読み出し動作が行われる。
【００２１】
また、データ制御ユニット３ｂは、外部から供給された書き込みデータを保持するとともに、センスアンプユニット３ａから読み出されたデータを保持する。さらに、データの書き込み時、書き込みデータを、データ状態に応じて変換する操作を行う。
【００２２】
尚、図２において、センスアンプユニット３ａは、各ビット線に接続されているが、これに限定されるものではなく、例えば２つのビット線に１つ設けてもよい。また、データ制御ユニット３ｂは、各センスアンプユニット３ａに接続されているが、これに限定されるものではなく、例えば８つのセンスアンプに対して１つのデータ制御ユニット３ｂを設け、このデータ制御ユニット３ｂをセンスアンプユニット３ａに選択的に接続するような構成とすることも可能である。
【００２３】
図３は、センスアンプユニット（ＳＡＵ）３ａの一例を示している。
【００２４】
図３に示すように、センスアンプユニット３ａは、複数のＰチャネルＭＯＳトランジスタ（以下、ＰＭＯＳと称す）２０、２１、２２、２３と、複数のＮチャネルＭＯＳトランジスタ（以下、ＮＭＯＳと称す）３１、３２、３３、３４、３５、３６、３７と、例えばクロックドインバータ回路により構成されラッチ回路ＬＡＴ１とにより構成されている。
【００２５】
ＰＭＯＳ２０のソースは電源Ｖｄｄが供給されるノードに接続され、ドレインはＰＭＯＳ２１、ＮＭＯＳ３１、３２を介してデータ制御ユニット（ＤＣＵ）３ｂに接続される。ＰＭＯＳ２０のゲートは、後述するラッチ回路ＬＡＴ１のノードＩＮＶに接続されている。ＰＭＯＳ２１のゲートには信号ＢＬＣ１が供給され、ＮＭＯＳ３１、３２のゲートには信号ＢＬＣ２、ＢＬＣ３がそれぞれ供給されている。ＮＭＯＳ３１とＮＭＯＳ３２の接続ノードは、ビット線ＢＬに接続されるとともに、ＮＭＯＳ３３、３４を介して接地されている。ＮＭＯＳ３３のゲートは、ラッチ回路ＬＡＴ１のノードＩＮＶに接続され、ＮＭＯＳ３３は、ラッチ回路ＬＡＴ１に保持されたデータにより制御される。さらに、ＮＭＯＳ３４のゲートには、信号ＤＩＳが供給されている。
【００２６】
また、ＰＭＯＳ２２のソースは電源Ｖｄｄが供給されるノードに接続され、ドレインはＰＭＯＳ２３、ＮＭＯＳ３６、ＮＭＯＳ３７を介してデータ制御ユニット３ｂに接続される。ＰＭＯＳ２２のゲートには信号ＢＬＣ４が供給され、ＰＭＯＳ２３のゲートはＮＭＯＳ３５を介してＰＭＯＳ２１とＮＭＯＳ３１の接続ノードに接続されている。ＮＭＯＳ３５のゲートには信号ＸＸＬが供給され、ＮＭＯＳ３６のゲートにはリセット信号ＲＳＴが供給されている。ＮＭＯＳ３７のゲートには信号ＢＬＣ５が供給されている。ラッチ回路ＬＡＴ１は、ＮＭＯＳ３６に並列接続されている。
【００２７】
図４は、データ制御ユニット（ＤＣＵ）３ｂの一例を示している。
【００２８】
図４に示すように、データ制御ユニット３ｂは、例えば５個のデータラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬと、バス４１と、データ形成回路４２を含んでいる。
【００２９】
バス４１の一端部は、センスアンプユニット３ａに接続され、他端部はデータ入出力バッファ６に接続されている。
【００３０】
データラッチ回路０ＤＬは、ラッチ回路ＬＡＴ２と、トランスファーゲート４３により構成されている。ラッチ回路ＬＡＴ２は、トランスファーゲート４３を介してバス４１に接続される。トランスファーゲート４３は信号φ及びその反転信号φｎにより制御される。データラッチ回路１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬは、データラッチ回路０ＤＬと同一構成であり、トランスファーゲートに供給される信号がそれぞれ相違している。したがって、各データラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬは、選択的にバス４１に接続可能とされている。
【００３１】
データ形成回路４２は、ラッチ回路ＬＡＴ３、ＰＭＯＳ５１〜５６、ＮＭＯＳ６１〜７０、及びインバータ回路７１により構成されている。ＰＭＯＳ５１のソースは電源Ｖｄｄが供給されるノードに接続されている。このＰＭＯＳ５１のゲートにはセット信号ＳＥＴ１が供給され、ドレインはラッチ回路ＬＡＴ３に接続されている。さらに、ＰＭＯＳ５１のドレインはＮＭＯＳ６１を介して接地されるとともに、ＮＭＯＳ６２、６３を介して接地されている。ＮＭＯＳ６１のゲートにはリセット信号ＲＳＴ２が供給され、ＮＭＯＳ６２のゲートには、信号ＬＡＴＨが供給されている。ＮＭＯＳ６３のゲートは、入力端がバス４１に接続されたインバータ回路７１の出力端に接続されている。さらに、ＰＭＯＳ５１のドレインは、ＮＭＯＳ６４、６５を介して接地されている。ＮＭＯＳ６４のゲートには信号ＬＡＴＬが供給され、ＮＭＯＳ６５のゲートは、バス４１に接続されている。
【００３２】
電源Ｖｄｄが供給されるノードとバス４１との間には、ＰＭＯＳ５２、５３の直列回路と、ＰＭＯＳ５４、５５の直列回路と、ＰＭＯＳ５６が接続されている。
【００３３】
ＰＭＯＳ５２のゲートには、信号ＢＵＳＨ２が供給され、ＰＭＯＳ５３のゲートはＬＡＴ３のノードＬＡＴｎに接続されている。ＰＭＯＳ５２、５３は、信号ＢＵＳＨ２とＬＡＴ３のノードＬＡＴｎの電位に応じてバス４１をＨレベルに充電する回路である。
【００３４】
ＰＭＯＳ５４のゲートには、信号ＢＵＳＬ２が供給され、ＰＭＯＳ５５のゲートはＬＡＴ３のノードＬＡＴに接続されている。ＰＭＯＳ５４、５５は、信号ＢＵＳＬ２とＬＡＴ３のノードＬＡＴの電位に応じてバス４１をＨレベルに充電する回路である。
【００３５】
ＰＭＯＳ５６のゲートには、セット信号ＳＥＴ２が供給されている。ＰＭＯＳ５６は、セット信号ＳＥＴ２に応じてバス４１をＨレベルに充電する回路である。
【００３６】
バス４１と接地間には、ＮＭＯＳ６６、６７の直列回路と、ＮＭＯＳ６８、６９の直列回路と、ＮＭＯＳ７０が接続されている。
【００３７】
ＮＭＯＳ６６のゲートには、信号ＢＵＳＨ１が供給され、ＮＭＯＳ６７のゲートはＬＡＴ３のノードＬＡＴｎに接続されている。ＮＭＯＳ６６、６７は、信号ＢＵＳＨ１とＬＡＴ３のノードＬＡＴｎの電位に応じてバス４１をＬレベルに放電する回路である。
【００３８】
ＮＭＯＳ６８のゲートには、信号ＢＵＳＬ１が供給され、ＮＭＯＳ６９のゲートはＬＡＴ３のノードＬＡＴに接続されている。ＮＭＯＳ６８、６９は、信号ＢＵＳＬ１とＬＡＴ３のノードＬＡＴの電位に応じてバス４１をＬレベルに放電する回路である。
【００３９】
ＮＭＯＳ７０のゲートには、リセット信号ＲＳＴ２が供給されている。ＮＭＯＳ７０は、リセット信号ＲＳＴ２に応じてバス４１をＬレベルに放電する回路である。
【００４０】
データ制御ユニット３ｂは、データラッチ回路０ＤＬ、１ＤＬ、２ＤＬ、３ＤＬ、４ＤＬにデータを保持するとともに、保持したデータを加工することが可能とされている。つまり、データ制御ユニット３ｂは、後述するように、保持したデータの例えば論理積“ＡＮＤ”、“ＮＡＮＤ”、論理和“ＯＲ”、反転に相当する動作が可能とされている。
【００４１】
上述したセンスアンプユニット（ＳＡＵ）３ａの動作について概略的に説明する。
【００４２】
（書き込み動作）
メモリセルにデータを書き込む場合、まず、リセット信号ＲＳＴが一旦ハイレベル（以下、Ｈレベルと記す）とされ、ラッチ回路ＬＡＴ１がリセットされる。すなわち、ラッチ回路ＬＡＴ１のノードＩＮＶがロウレベル（以下、Ｌレベルと記す）に設定される。この後、信号ＢＬＣ１、ＢＬＣ４、ＤＩＳがＬレベルとされる。
【００４３】
この後、信号ＢＬＣ２、ＢＬＣ３、ＸＸＬがＨレベルとされ、信号ＢＬＣ４がＬレベルとされて、データ制御ユニット３ｂからデータが取り込まれる。このデータが書き込みを示すＬレベル“０”である場合、ＰＭＯＳ２３のゲートがＬレベルとなり、ＰＭＯＳ２３はオン状態となる。このため、ラッチ回路ＬＡＴ１にはＨレベル“１”がセットされる。また、データが非書き込みを示すＨレベル“１”である場合、ＰＭＯＳ２３がオフ状態となる。このため、ラッチ回路ＬＡＴ１にはＬレベル“０”がセットされる。すなわち、データを書き込む場合、ラッチ回路ＬＡＴ１のノードＩＮＶはＨレベルに設定され、非書き込みの場合、ノードＩＮＶはＬレベルに設定される。
【００４４】
次いで、信号ＢＬＣ１、ＢＬＣ３、ＤＩＳ、ＸＸＬがＬレベル、信号ＢＬＣ２がＨレベルとされ、ビット線ＢＬがＨレベルに充電される。この後、信号ＤＩＳがＨレベルに設定される。すると、ラッチ回路ＬＡＴ１のノードＩＮＶが書き込みを示すＨレベルの場合、ＮＭＯＳ３３がオンし、ＮＭＯＳ３３、３４を介してビット線の電荷が放電される。また、ラッチ回路ＬＡＴ１のノードＩＮＶが非書き込みを示すＬレベルの場合、ＮＭＯＳ３３がオフするため、ビット線の電位はＨレベルに保持される。この後、図２に示すビット線とＮＡＮＤセルとを接続する選択ゲートトランジスタＳ１のセレクト線ＳＧＤがＨレベルとされると、ビット線の電位がメモリセルのチャネルに転送される。これと同時に選択されたメモリセルのワード線に書き込み電圧Ｖｐｇｍを印加される。このため、書き込みセルの場合、チャネルがＬレベル（Ｖｓｓ）、ワード線が書き込み電圧Ｖｐｇｍとなり、書き込みが行われる。また、非書き込みセルの場合、チャネルがＨレベル（Ｖｄｄ−Ｖｔｈ：Ｖｔｈは選択ゲートトランジスタの閾値電圧）、ワード線がＶｐｇｍとなるため、書き込みが行われない。
【００４５】
（読み出し動作）
メモリセルからデータを読み出す場合、まず、リセット信号ＲＳＴが一旦Ｈレベルとされ、ラッチ回路ＬＡＴ１がリセットされる。この後、信号ＢＬＣ１、ＢＬＣ３、ＤＩＳ、ＸＸＬがＬレベル、信号ＢＬＣ２がＨレベルとされ、ビット線がＨレベルに充電される。この後、信号ＢＬＣ２をＬレベルとして選択ワード線に読み出しレベルが供給される。メモリセルの閾値電圧が読み出しレベルより高い場合、メモリセルはオフ状態であり、ビット線はＨレベルに保持される。また、メモリセルの閾値電圧が読み出しレベルより低い場合、メモリセルはオン状態となり、ビット線の電荷が放電される。このため、ビット線はＬレベルとなる。次いで、信号ＢＬＣ３がＨレベルとされ、ビット線の電位がデータ制御ユニット３ｂに読み出される。
【００４６】
（プログラムベリファイ動作）
書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作は、読み出し動作とほぼ同様である。この場合、ビット線をＨレベルに充電した後、選択ワード線に所定のベリファイ電圧が供給される。メモリセルの閾値電圧がベリファイ電圧に達している場合、メモリセルはオフ状態となる。このため、ビット線の電位はＨレベルに保持される。また、メモリセルの閾値電圧がベリファイ電圧に達していない場合、メモリセルはオン状態となる。このため、ビット線の電位はＬレベルとなる。
【００４７】
この状態において、信号ＢＬＣ１、ＢＬＣ２、ＸＸＬがＨレベル、信号ＢＬＣ４、ＢＬＣ３、ＤＩＳ、ＲＳＴがＬレベルとされ、ビット線ＢＬの電位がラッチ回路ＬＡＴ１に保持される。すなわち、メモリセルの閾値電圧がベリファイ電圧に達しており、ビット線ＢＬの電位がＨレベルの場合、ＰＭＯＳ２３がオフ状態となる。このため、ラッチ回路ＬＡＴ１にはＬレベルが保持される。また、メモリセルの閾値電圧がベリファイ電圧に達しておらず、ビット線ＢＬの電位がＬレベルの場合、ＰＭＯＳ２３がオン状態となる。このため、ラッチ回路ＬＡＴ１にはＨレベルが保持される。すなわち、ベリファイをパスした場合、ラッチ回路ＬＡＴ１のノードＩＮＶの電位はＬレベルとなり、ベリファイをパスしない場合、ノードＩＮＶの電位はＨレベルとなる。
【００４８】
また、ラッチ回路ＬＡＴ１の反転ノードＩＮＶｎのデータは、信号ＢＬＣ５をＨレベルとして、ＮＭＯＳ３７をオンした状態において、データ制御ユニット３ｂに転送される。
【００４９】
（消去動作）
ＮＡＮＤ型フラッシュメモリのようなメモリセルのデータの消去とは、基板に高電圧を印加し、メモリセルのフローティングゲートに格納されている電子を基板側に引き抜くことを意味する。
【００５０】
その際の電位状態としては、例えばＮＡＮＤ型フラッシュメモリを例にすると、選択ブロックの全てのワード線を０Ｖ程度の低い電圧状態にし、非選択ブロックの全てのワード線は誤消去を防止するためにフローティング状態にする。
【００５１】
次に、基板にＶＥＲＡと呼ばれる高電圧を印加することで、選択ブロックのメモリセルのゲート−基板間の電位差を大きくすることで、フローティングゲートより電子を基板側に引き抜く。
【００５２】
（消去ベリファイ動作）
消去動作後、メモリセルの閾値電圧を検証する消去ベリファイ動作を行う。この動作は、まず、選択ワード線の電圧を０Ｖ程度の低い電圧にバイアスする。この際、各メモリセルはそれぞれの閾値電圧だけ通すことができる。消去が十分なメモリセルであれば、十分電圧を通すことが出来るが、逆に消去が不十分なメモリセルであると、あまり大きな電圧を通せない。このことから、ソース線側からビット線方向に充電を行うと、そこに繋がるメモリセルの中で最も閾値が高いメモリセルの閾値電圧でビット線の充電レベルが決まる。このビット線のバイアス状態をセンスアンプ側で検知することで、消去が十分出来ているかどうかを判定する。
【００５３】
つまり、ビット線の充電レベルが高い状態を消去ベリファイがパスと判定し、一方、ビット線の充電レベルが低い状態を消去ベリファイがフェイルと判定する。
【００５４】
（消去後のブロック書き戻し動作）
消去ベリファイがパスした後、消去が深くなりすぎる（メモリセルの閾値電圧が負方向にシフトしすぎる）と、後の書き込み動作が遅くなってしまうといった、悪影響が発生する。これを防止するために、消去ベリファイがパスした後にブロック書き戻しを行う。このブロック書き込みは、ソフトプログラムとも言い、消去状態のメモリセルにプログラムを行うことにより閾値電圧を正方向にシフトさせる。
【００５５】
ブロック書き戻しは、消去動作とは逆に、基板を０Ｖのような低い電圧にバイアスし、選択ブロックの全てのワード線を例えば１０Ｖのような高めの電圧にバイアスする。この電位差により、基板に引き抜かれた電子が、メモリセルの基板からフローティングゲート側に少しだけ引き抜かれる。この動作により、消去状態のメモリセルにおいて、深い負の閾値電圧がある程度正の方向に書き戻される。
【００５６】
（ブロック書き戻しベリファイ動作）
ブロック書き戻しを行った後、この書き戻しが十分かどうか確認するために、ブロック書き込みベリファイ動作を行う。この動作原理は、消去ベリファイと同様であるが、パスする条件を逆にしている。
【００５７】
つまり、書き戻しが十分であれば（ほとんどのＮＡＮＤストリングが書き戻し十分と判定できれば）、セルの閾値が正の方向に上がっているため、メモリセルはオンしにくい状態にあり、ソース線側から充電したとしてもビット線への充電レベルがあまり高くならない。このため、ブロック消去ベリファイの場合とは逆に、ビット線レベルへの充電レベルが低い状態をパスと判定する。
【００５８】
一方、書き戻しが不十分であれば、セルの閾値が正の方向にあまり上がっていないため、メモリセルはオンしやすい状態にあり、ビット線への充電レベルが高くなる。このため、ブロック消去ベリファイの場合とは逆に、ビット線レベルへの充電レベルが高い状態をフェイルと判定する。
【００５９】
以上に述べた、「消去動作→消去ベリファイ動作→ブロック書き戻し動作→ブロック書き戻しベリファイ動作」のフローの中で、近年特に時間が長く問題になっている箇所が、「ブロック書き戻し動作→ブロック書き戻しベリファイ動作」のループである。
【００６０】
ブロック書き戻し動作は、メモリセルの劣化（消去⇔書き込みの繰り返しによる劣化）により閾値が動きやすくなってしまうような問題から、初期電圧を小さく抑える必要があるが、これによりブロック書き戻しベリファイのパス条件に至るまでのループ回数が多くなってしまう。
【００６１】
そこで、以下の各実施形態では、消去分布を基にどの程度の閾値にあるのかを予測することで、最適な書き込み電圧を計算する手法を提案する。
【００６２】
［第１の実施形態］
図５は、第１の実施形態に係るブロック書き戻し動作及びそのベリファイ動作のフローチャートを示す。図６は、第１の実施形態に係るブロック書き戻し動作により書き込まれたメモリセルの閾値分布の一例を示す。図７は、第１の実施形態に係るブロック書き戻し動作及びそのベリファイ動作におけるワード線の印加電圧の一例を示す。以下に、第１の実施形態に係る消去ベリファイパス後のブロック書き戻し動作及びそのベリファイ動作のフローについて説明する。
【００６３】
まず初めに、ブロック書き込み動作を行う（図５のＳＴ１、図７の（１））。つまり、選択ブロックのワード線に低い書き込み電圧Ｖｉｎｉを与え、図６に示すように、消去ベリファイがパスした閾値の状態より、閾値分布を正方向へ動かす。ここで、書き込み電圧Ｖｉｎｉは、上述したように、消去及び書き込みの繰り返しに伴うメモリセルの劣化によって閾値が動きやすくなる等の問題から、電圧値を小さく抑えることが望ましく、従来用いられた電圧値またはそれ以下の値であることが望ましい。尚、このブロック書き込み動作（図１のＳＴ１）は省略してもよい。
【００６４】
次に、選択ワード線を幾つかのベリファイ電圧にバイアスし、ベリファイパスするワード線電圧のレベルを特定する（図５のＳＴ２〜ＳＴ５、図７の（２））。つまり、まず、通常のベリファイ電圧よりも１レベル低い電圧値を選択ワード線に印加し（図５のＳＴ２）、ベリファイパスするか否か判定される（図５のＳＴ３）。そして、ベリファイパスしなければ、ベリファイ電圧を１レベル下げ（図５のＳＴ５）、通常のベリファイ電圧よりも２レベル低い電圧値を選択ワード線に印加し（図５のＳＴ２）、再度ベリファイパスするか否か判定される（図５のＳＴ３）。このようなループが繰り返され、ベリファイパスするワード線電圧のレベルが特定した場合、書き戻し電圧Ｖｓｅａｒｃｈをベリファイパス電圧から計算し、ブロック書き込みを行う（図５のＳＴ６、ＳＴ７、図７の（３））。
【００６５】
ここで、上述したＳＴ２〜ＳＴ７のフローについて、具体例を挙げて説明する。例えば、通常のベリファイ電圧よりもマイナス７レベルの電圧値でベリファイパスした場合について述べる。まず、通常のベリファイ電圧よりも１レベルずつ電圧値を単調減少させて、ベリファイパスする電圧レベルを探索する。その結果、通常のベリファイ電圧よりも７レベル下げた値でベリファイパスしたため、初期の書き込み電圧Ｖｉｎｉに、７レベルステップアップした電圧Ｖｓｔｅｐを足し合わした電圧値Ｖｓｅａｒｃｈで、ブロック書き込みが行われる。
【００６６】
また、ベリファイパスの探索中の電圧レベルは、ここでは一定レベルで下げていく単調減少であるが、これに限定されず、一定レベルで上げていく単調増加であってもよい。このように電圧変化が一定であれば、ＳＴ７で用いる電圧値Ｖｓｅａｒｃｈの算出において、探索したベリファイ回数又はベリファイパス電圧を基に一定の値を足し合わせればよいため、電圧値Ｖｓｅａｒｃｈの算出が容易となるからである。
【００６７】
尚、上述したＳＴ２〜ＳＴ５のフローにおいて、ＳＴ３の後に、予め定められたベリファイ電圧のベリファイループがマックスになっているか否かについても判定される（図５のＳＴ４）。つまり、ベリファイパスする探索レベルにおいて、例えば、通常のベリファイ電圧よりもマイナス１０レベルで電圧が０となるように設定している場合、通常のベリファイ電圧よりも９レベル低い電圧値を印加してもベリファイパスしないときは、再度ベリファイ動作を行うとベリファイループがマックスとなるので、ＳＴ６へと続く。この場合、ＳＴ７におけるブロック書き込みで用いられる電圧値Ｖｓｅａｒｃｈは、初期の書き込み電圧Ｖｉｎｉに、ループがマックスとなるまでのレベル分の電圧（例えば、上記の例の場合は９レベル分の電圧）が足しあわされた値となる。
【００６８】
次に、ＳＴ７の後は、通常のベリファイ電圧で、ベリファイパスするまでブロック書き込み及びベリファイ動作を行う（図５のＳＴ７〜ＳＴ１０、図７の（４））。つまり、ベリファイパスするまで書き戻し電圧を探索結果の電圧値Ｖｓｅａｒｃｈから１レベルずつステップアップし（図５のＳＴ１０）、ブロック書き込み動作及び書き込みベリファイ動作が繰り返される。その結果、ベリファイパスすれば、書き戻しベリファイは終了する。
【００６９】
尚、ＳＴ６において初期電圧Ｖｉｎｉに足し合わせる電圧Ｖｓｔｅｐに必要なベリファイ回数は、図１のカウンタ回路１１でカウント及び格納される。また、演算回路１２において、ベリファイパスした電圧レベルが格納され、ＳＴ７の書き込み動作で用いる電圧値Ｖｓｅａｒｃｈが算出される。
【００７０】
上記第１の実施形態によれば、電圧レベルを一定に変化させてブロック書き戻しのベリファイ動作を複数回行い、ベリファイパスする電圧レベルを演算回路１２に格納し、ベリファイ回数のカウント値をカウンタ回路１１でカウント及び格納する。そして、この格納した電圧レベル及びカウント値のどちらか一方に基づいて書き込み電圧値Ｖｓｅａｒｃｈを決定する。これにより、ブロック書き戻しの回数を減少できるため、消去時間を抑制することができる。
【００７１】
例えば、図５におけるＳＴ１０のように、書き戻し電圧を１レベルずつステップアップしてブロック書き込みを行う場合を考える。この場合、初めに、低いレベルから書き込み電圧を印加し、ベリファイを行う。そして、書き込みベリファイがフェイルしたならば、１レベルステップアップした書き込み電圧を加えた後、前と同様に書き戻しベリファイ動作を行う。このため、ステップアップ電圧を１レベルずつ増加させ、ベリファイパスするまで書き戻しのためのループが繰り返されるので、ベリファイパスするまでの時間が非常に掛かってしまう。
【００７２】
これに対し、本実施形態では、初めにベリファイパスする電圧レベルを探索し、その探索結果を用いて書き込み動作を行う。例えば、ベリファイパスさせるための書き戻し電圧として初期値から７レベル高い電圧が必要であるとき、図５におけるＳＴ１０のような場合は、１レベルずつステップアップして書き込み及びそのベリファイ動作をそれぞれ７回繰り返すことになる。これに対し、本実施形態の場合は、７回のベリファイ動作の後に書き戻し動作１回行うため、通常より早く書き戻しパスするレベルを見つけられる。これにより、本実施形態は、ブロック書き戻しの回数を減少することができるので、消去におけるブロック書き戻し動作時間を抑制することができる。
【００７３】
［第２の実施形態］
第２の実施形態では、第１の実施形態よりもさらにベリファイ回数を削減する方法として、ベリファイパスする電圧の探索に２分探索を行う。ここで、本実施形態の２分探索とは、ベリファイ電圧レベルの中央の値を見ながら、ベリファイのパス／フェイルの結果を用いて、電圧レベルを変えて探索したい値が中央の値の右にあるか左にあるかを探索し、片側には存在しないことを確かめながら探索する方法である。
【００７４】
図８は、第２の実施形態に係るブロック書き戻し動作及びそのベリファイ動作のフローチャートを示す。図９は、第２の実施形態に係るブロック書き戻し動作により書き込まれたメモリセルの閾値分布の一例を示す。図１０は、第２の実施形態に係るブロック書き戻し動作及びそのベリファイ動作におけるワード線の印加電圧の一例を示す。図１１は、第２の実施形態に係るベリファイレベルの２分探索の一例を示す。以下に、第２の実施形態に係る消去ベリファイパス後のブロック書き戻し動作及びそのベリファイ動作のフローについて説明する。
【００７５】
まず初めに、ブロック書き込み動作を行う（図８のＳＴ１１、図１０の（１））。つまり、選択ブロックのワード線に低い書き込み電圧Ｖｉｎｉを与え、図９に示すように、消去ベリファイがパスした閾値の状態より、閾値分布を正方向へ動かす。ここで、書き込み電圧Ｖｉｎｉは、第１の実施形態と同様、電圧値を小さく抑えることが望ましく、従来用いられた電圧値またはそれ以下の値であることが望ましい。また、この最初のブロック書き込み動作（図８のＳＴ１１）を省略することも可能である。
【００７６】
次に、書き込みベリファイ電圧値を等間隔に２ｎ（ｎは２以上の自然数）通り設定して、ｎ回の２分探索法を用いて選択ワード線にベリファイ電圧をバイアスし、ベリファイパスするワード線電圧のレベルを特定する（図８のＳＴ１２〜ＳＴ１８、図１０の（２））。ここで、上述する２ｎ通り設定される電圧値の「ｎ」は、ステップアップ電圧に依存して決定される。
【００７７】
具体的には、ｎ回の２分探索を行う場合、まず、ベリファイレベルを−（２（ｎ−１）−１）レベルに設定する（図８のＳＴ１２）。そして、この−（２（ｎ−１）−１）レベルで書き込みベリファイ動作を行い（図８のＳＴ１３）、そのパス又はフェイルのベリファイ結果を例えば図１のカウンタ回路１１に一旦格納する（図８のＳＴ１４）。
【００７８】
次に、ループ回数がｎ回に達していないか否かが判定され（図８のＳＴ１５）、ｎ回に達していない場合は、ＳＴ１４で格納されたベリファイ結果がパスであるかが判定される（図８のＳＴ１６）。その結果、ベリファイパスの場合、前のベリファイレベルに（２ｎ−１−ループ回数）レベルを加算したレベルをベリファイレベルに設定する（図８のＳＴ１７）。一方、ベリファイフェイルの場合、前のベリファイレベルに（２ｎ−１−ループ回数）レベルを減算したレベルをベリファイレベルに設定する（図８のＳＴ１８）。その後、このＳＴ１７及びＳＴ１８で設定されたベリファイレベルを用いて書き込みベリファイ動作が再度行われ（図８のＳＴ１３）、ループが繰り返される。
【００７９】
そして、ＳＴ１５において、ループ回数がｎ回に達した場合、最後にパスしたベリファイポイントより、書き込み電圧のオフセットが計算され（図８のＳＴ１９）、この結果の電圧値Ｖｓｅａｒｃｈでブロック書き込みが行われる（図８のＳＴ２０、図１０の（３））。
【００８０】
ここで、上述したＳＴ１２〜ＳＴ１８のフローについて、図１１の具体例を用いて説明する。図１１の例は、ベリファイ動作において、２４＝１６通り（2分探索の回数ｎ＝４）の電圧レベルを有するデバイスに対して、初期値に１０レベル加算したレベルをターゲットとした場合である。
【００８１】
この場合、初めに、ベリファイレベルとして、−（２４−１−１＝７）レベルを選択し、ベリファイを行う。この結果はベリファイフェイルのため、次は−７−２（４−１−１）＝−１１レベルを選択し、ベリファイを行う。この結果はベリファイパスのため、次は−１１＋２（４−１−２）＝−９レベルを選択し、ベリファイを行う。この結果はベリファイフェイルのため、−９−２（４−１−３）＝−１０レベルを選択し、ベリファイを行う。その結果、ベリファイパスの場合、最後のループがパスしたので、−１０レベルをターゲットとして、初期の書き込み電圧Ｖｉｎｉに、１０レベルステップアップした電圧Ｖｓｔｅｐを足し合わした電圧値Ｖｓｅａｒｃｈを用いてブロック書き込みを行う。
【００８２】
次に、通常のベリファイ電圧で、ベリファイパスするまでブロック書き込み及びベリファイ動作を行う（図８のＳＴ２０〜ＳＴ２３、図１０の（４））。つまり、ベリファイパスするまで書き戻し電圧を１レベルずつステップアップし（図８のＳＴ２３）、ブロック書き込み動作及び書き込みベリファイ動作が繰り返される。その結果、ベリファイパスすれば、書き戻しベリファイは終了する。
【００８３】
尚、ＳＴ１９において初期電圧Ｖｉｎｉに足し合わせる電圧Ｖｓｔｅｐに必要なベリファイ回数は、図１のカウンタ回路１１でカウント及び格納される。また、演算回路１２において、ベリファイパスした電圧レベルが格納され、ＳＴ２０の書き込み動作で用いる電圧値Ｖｓｅａｒｃｈが算出される。
【００８４】
上記第２の実施形態によれば、２分探索法を用いることで、ベリファイパスする電圧レベルを早く見つけることができるため、第１の実施形態よりもさらに消去時間を抑制することができる。例えば、通常の電圧レベルよりも１０レベル低いレベルがベリファイパスする電圧レベルであった場合、第１の実施形態では通常１０回のベリファイが必要であるのに対して、第２の実施形態では４回のベリファイでよいため、消去時間をさらに抑制できる。
【００８５】
尚、上記各実施形態において、図１２に示すように、最終ベリファイレベルを設定し、閾値電圧が書き戻し動作で必要以上に書き戻されてないかを確認してもよい。
【００８６】
つまり、消去動作を行うことで、メモリセルが「ある閾値以下」になったことを確認する消去ベリファイ動作があり、消去ベリファイ動作がパスすれば書き戻し動作に遷移する。書き戻し動作は選択ブロックの全てのワード線に繋がるメモリセルに対して実行され、書き戻しベリファイ動作において、書き込みが「ある閾値以上」になったことが確認される。このベリファイ動作がパスすれば、書き戻しパスとなる。最後に、書き戻しが必要以上に閾値を高くしていないかを確認するために、図１２に示すように、最終ベリファイレベルを設定し、「ある閾値以下」になっていることを確認する最終ベリファイ動作が行われてもよい。
【００８７】
そして、上記の全てのフローがパスすれば消去動作は完了するが、最終ベリファイでフェイルした場合は、また最初に戻って、消去動作から始められる。この再消去動作の際、消去動作がパスした後にまた次の書き戻し電圧を設定する際、各実施形態で説明したようにベリファイレベルを変化させて最適な書き戻し電圧を決めると時間が掛かる。そこで、各実施形態において再消去動作の前に探索した結果（例えばカウント値等）を例えば図１のカウンタ回路１１に格納しておき、再消去における書き戻し動作に利用してもよい。これにより、動作時間の短縮を図ることが望める。
【００８８】
尚、上記各実施形態では、消去におけるブロック書き戻し及びそのベリファイ動作における書き込み動作時間の抑制を例に挙げて説明したが、これに限定されず、書き込み動作及びそのベリファイ動作においても適用することが可能である。この際、消去動作においては選択ブロックの全てのワード線に書き込むのに対し、書き込み動作では１つの選択ワード線に書き込むことが異なる。
【００８９】
以上、上述した実施形態によれば、書き込み動作時間を抑制することが可能な不揮発性半導体記憶装置を提供できる。
【００９０】
その他、本発明は、上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決できる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００９１】
１…メモリセルアレイ、２…ワード線制御回路、３…センスアンプ回路、３ａ…センスアンプユニット、３ｂ…データ制御ユニット、４…カラムデコーダ、５…入出力制御回路、６…データ入出力バッファ、７…アドレスデコーダ、８…制御信号発生回路、９…制御電圧発生回路、１０…パラメータ記憶部、１１…カウンタ回路、１２…演算回路、０ＤＬ〜４ＤＬ…データラッチ回路。
【図１】
2011258260.tif 000003
【図２】
2011258260.tif 000004
【図３】
2011258260.tif 000005
【図４】
2011258260.tif 000006
【図５】
2011258260.tif 000007
【図６】
2011258260.tif 000008
【図７】
2011258260.tif 000009
【図８】
2011258260.tif 000010
【図９】
2011258260.tif 000011
【図１０】
2011258260.tif 000012
【図１１】
2011258260.tif 000013
【図１２】
2011258260.tif 000014