(57)【要約】【課題】プログラム時間の短縮化に有利な半導体記憶装置およびそのデータ書込み方法を提供する。【解決手段】半導体記憶装置が備える制御回路１７は、データ書込み動作の際に、メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し（Ｓ２−２）、ビットスキャン回路２２がカウント（Ｓ２−３）した最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し（Ｓ２−４）、前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略する（Ｓ２−７）、制御を行う。【選択図】      図１７
2010067291.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線と複数のビット線との交差位置にマトリクス状に配置される複数のメモリセルを有するメモリセルアレイと、
前記ワード線に電圧を与えるワード線駆動回路と、
前記メモリセルアレイのベリファイ結果を保持するページバッファと、前記ページバッファに保持されるベリファイ結果に基づいてベリファイパスビット数をカウントするビットスキャン回路とを含むビット線制御回路と、
前記ワード線駆動回路およびビット線制御回路を制御する制御回路とを具備し、
データ書込み動作の際に、前記制御回路は、
前記メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、
前記ビットスキャン回路がカウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、
前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略する、制御を行うこと
を特徴とする半導体記憶装置。
【請求項２】
複数のワード線と複数のビット線との交差位置にマトリクス状に配置され、多ビットデータを記憶可能な複数のメモリセルを有するメモリセルアレイと、
前記ワード線に電圧を与えるワード線駆動回路と、
前記メモリセルアレイのベリファイ結果を保持するページバッファと、前記ページバッファに保持されるベリファイ結果に基づいてベリファイパスビット数をカウントするビットスキャン回路とを含むビット線制御回路と、
前記ワード線駆動回路およびビット線制御回路を制御する制御回路とを具備し、
データ書込み動作の際に、前記制御回路は、
前記メモリセルの最も低い閾値電圧レベルよりも高い第１閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、
前記ビットスキャン回路がカウントした第１閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、
前記ベリファイパスビット数が規定ビット数以上である場合に、前記第１閾値電圧レベルおよび前記第１閾値電圧レベルよりも高い第２閾値電圧レベルのベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略し、
前記第２閾値電圧レベルのベリファイを行った後、最も高い閾値電圧レベルのベリファイを終了させ、その後最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、
前記ビットスキャン回路がカウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、
前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略する、制御を行うこと
を特徴とする半導体記憶装置。
【請求項３】
前記制御回路は、データ書込みが終了した閾値電圧レベルは以降のベリファイを省略する制御を更に行うこと
を特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略するステップと、
最も低い閾値電圧レベルのベリファイパスビット数をカウントするステップと、
前記カウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定するステップと、
前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略するステップと、を具備すること
を特徴とする半導体記憶装置のデータ書込み方法。
【請求項５】
前記メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略するステップの前に、
外部から入力される書込みデータに基づき、書込みパルスを印加するステップとを更に具備すること
を特徴とする請求項４に記載の半導体記憶装置のデータ書込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置およびそのデータ書込み方法に関し、例えば、ＮＡＮＤ型フラッシュメモリ等に適用されるものである。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリのデータ書込み動作においては、プログラムループ（Program Loop）を任意のステップ幅で回転させ、全ビット数の書込みが終了した時点で、書込みループを停止することが一般的に行われている。
【０００３】
ＮＡＮＤ型フラッシュメモリが多値化されるのに伴い、メモリセルの書込みレベル間隔を、より細かく制御する必要がある。このため、書込みステップ電圧（ｄＶＰＧＭ）をより小さくする必要がある。これは、書込み回数の増加、つまりプログラム時間（ｔＰＲＯＧ）の増加につながる。近年のマーケットでは、高速かつ大容量のメモリがますます求められており、信頼性を保ちながら、いかに書込み時間を短くするかが非常に重要な課題の一つとなっている。
【０００４】
ここで、ＮＡＮＤ型フラッシュメモリの選択ワード線のデータ書込みは、書込みパルス（Program）の印加と、ベリファイパルス（Verify）の印加の繰り返しである（例えば、特許文献１参照）。しかしながら、多値ＮＡＮＤ型フラッシュメモリでは、そのほとんどをベリファイパルス（Verify）の印加時間が占めている。このため、データ書込み時間の短縮化の観点からは、信頼性を保ちながら、ベリファイパルス（Verify）の印加回数をいかに少なくするかが重要である。
【０００５】
しかしながら、上記一般的な構成によるデータ書込み動作では、ベリファイパルスの印加を全ての閾値電圧レベルに対して行っているため、プログラム時間（ｔＰＲＯＧ）の短縮化に対して不利である。
【０００６】
上記のように、従来の半導体記憶装置およびそのデータ書込み方法では、プログラム時間の短縮化に不利であるという問題があった。
【特許文献１】特開２００２−１４０８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、プログラム時間の短縮化に有利な半導体記憶装置およびそのデータ書込み方法を提供する。
【課題を解決するための手段】
【０００８】
この発明の一態様によれば、複数のワード線と複数のビット線との交差位置にマトリクス状に配置される複数のメモリセルを有するメモリセルアレイと、前記ワード線に電圧を与えるワード線駆動回路と、前記メモリセルアレイのベリファイ結果を保持するページバッファと、前記ページバッファに保持されるベリファイ結果に基づいてベリファイパスビット数をカウントするビットスキャン回路とを含むビット線制御回路と、前記ワード線駆動回路およびビット線制御回路を制御する制御回路とを具備し、データ書込み動作の際に、前記制御回路は、前記メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、前記ビットスキャン回路がカウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略する、制御を行う半導体記憶装置を提供できる。
【０００９】
この発明の一態様によれば、複数のワード線と複数のビット線との交差位置にマトリクス状に配置され、多ビットデータを記憶可能な複数のメモリセルを有するメモリセルアレイと、前記ワード線に電圧を与えるワード線駆動回路と、前記メモリセルアレイのベリファイ結果を保持するページバッファと、前記ページバッファに保持されるベリファイ結果に基づいてベリファイパスビット数をカウントするビットスキャン回路とを含むビット線制御回路と、前記ワード線駆動回路およびビット線制御回路を制御する制御回路とを具備し、データ書込み動作の際に、前記制御回路は、前記メモリセルの最も低い閾値電圧レベルよりも高い第１閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、前記ビットスキャン回路がカウントした第１閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、前記ベリファイパスビット数が規定ビット数以上である場合に、前記第１閾値電圧レベルおよび前記第１閾値電圧レベルよりも高い第２閾値電圧レベルのベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略し、前記第２閾値電圧レベルのベリファイを行った後、最も高い閾値電圧レベルのベリファイを終了させ、その後最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略し、前記ビットスキャン回路がカウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定し、前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略する、制御を行うことを特徴とする半導体記憶装置。
【００１０】
半導体記憶装置を提供できる。
【００１１】
この発明の一態様によれば、メモリセルの最も低い閾値電圧レベルに限ってベリファイし、その他の閾値電圧レベルのベリファイを行わずこれを省略するステップと、最も低い閾値電圧レベルのベリファイパスビット数をカウントするステップと、前記カウントした最も低い閾値電圧レベルのベリファイパスビット数が、規定ビット数以上であるか否かを判定するステップと、前記ベリファイパスビット数が規定ビット数以上である場合に、前記最も低い閾値電圧レベルおよび前記最も低い閾値電圧レベルよりも高い閾値電圧レベルに限ってベリファイを行い、その他の閾値電圧レベルのベリファイを行わずこれを省略するステップとを具備する半導体記憶装置のデータ書込み方法を提供できる。
【発明の効果】
【００１２】
この発明によれば、プログラム時間の短縮化に有利な半導体記憶装置およびそのデータ書込み方法が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施形態について図面を参照して説明する。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【００１４】
［第１の実施形態］  
＜１．構成例＞  
まず、図１乃至図６を用いて、この発明の第１の実施形態に係る不揮発性半導体記憶装置の構成例について説明する。
【００１５】
１−１．全体構成例  
図１は、第１の実施形態に係る不揮発性半導体記憶装置の全体構成例である。本例では、ＮＡＮＤ型フラッシュメモリを一例に挙げて説明する。
【００１６】
図示するように、本例に係るＮＡＮＤ型フラッシュメモリは、メモリセルアレイ１１、ビット線制御回路１２、カラムデコーダ１３、データ入出力バッファ１４、データ入出力端子１５、ワード線駆動回路１６、制御回路１７、および制御信号入力端子１８により構成されている。
【００１７】
メモリセルアレイ１１は、複数のブロック（ＢＬＯＣＫ１〜ＢＬＯＣＫｎ）により構成されている。このメモリセルアレイ１１には、ワード線を制御するワード線駆動回路１６とビット線を制御するためのビット線制御回路１２とが接続されている。
【００１８】
ビット線制御回路１２は、ビット線を介してメモリセルアレイ１１中のメモリセルトランジスタのデータを読み出し、ビット線を介してメモリセルアレイ１１中のメモリセルトランジスタの状態を検出する。また、ビット線制御回路１２は、ビット線を介してメモリセルアレイ１１中のメモリセルトランジスタに書き込み制御電圧を印加して書き込みを行なう。ビット線制御回路１２には、カラムデコーダ１３、データ入出力バッファ１４が接続されている。
【００１９】
ビット線制御回路１２内にはデータ記憶回路（図示せず）が設けられ、このデータ記憶回路は、カラムデコーダ１３によって選択される。データ記憶回路に読み出されたメモリセルトランジスタのデータは、データ入出力バッファ１４を介してデータ入出力端子１５から外部へ出力される。データ入出力端子１５は、例えば、外部のホスト機器（またはメモリコントローラ）等に接続される。
【００２０】
ホスト機器は、例えば、マイクロコンピュータ等であって、データ入出力端子１５から出力されたデータを受ける。さらに、ホスト機器は、ＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを出力する。ホスト機器からデータ入出力端子１５に入力された書き込みデータは、データ入出力バッファ１４を介して、カラムデコーダ１３によって選択された上記データ記憶回路（図示せず）に供給される。一方、コマンド及びアドレスは制御回路１７に供給される。
【００２１】
ワード線駆動回路１６は、メモリセルアレイ１１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００２２】
制御回路１７は、接続される各回路に必要な制御信号および制御電圧を与える。制御回路１７は、メモリセルアレイ１１、ビット線制御回路１２、カラムデコーダ１３、データ入出力バッファ１４、およびワード線駆動回路１６に接続される。接続された上記構成回路は、制御回路１７によって制御される。制御回路１７は、制御信号入力端子１８に接続され、外部のホスト機器（またはメモリコントローラ）から制御信号入力端子１８を介して入力されるＡＬＥ（アドレス・ラッチ・イネーブル）信号等の制御信号によって制御される。また、制御回路１７は内部電圧発生回路を有し、接続された上記構成回路の動作に必要な制御電圧を供給する。
【００２３】
ここで、上記ワード線駆動回路１６、ビット線制御回路１２、カラムデコーダ１３、制御回路１７は、書き込み回路、読み出し回路、および消去回路を構成している。
【００２４】
１−２．ビット線制御回路の構成例  
次に、図２を用いて、第１の実施形態に係るビット線制御回路１２の構成例について説明する。
【００２５】
図示するように、本例に係るビット線制御回路１２は、ページバッファ２１、ビットスキャン回路２２、キャッシュメモリ２３を備えるものである。
【００２６】
ページバッファ２１は、例えば、後述するデータ書込み動作の際において、ベリファイ結果を保持する。
【００２７】
ビットスキャン回路２２は、ページバッファ２１に保持されるベリファイ結果に基づいて、ベリファイパスビット数をカウントする。より具体的には、データ書込み動作の際、ページデータに対応するページバッファ２１に保持されたデータをスキャンする。
【００２８】
ベリファイ動作の際、書込みが終了したメモリセルトランジスタに対応するページバッファ２１中のデータにつきこれ以上書き込まれないように、”０”データから”１”データに反転される。データ書き込み動作は、ページバッファ２１に保持されるデータが、全て”１”データとなるまで行われる。
【００２９】
ここで、ビットスキャン回路２２は、データ書込みが終了した上記ビット（ベリファイパスビット）をスキャンするだけでなく、データ書込みが終了していないビット（フェイルビット）をスキャンすることも可能である。より具体的には、ビットスキャン回路２２の内部の一般的な検知と逆の検知をかける、例えば、バイナリスキャン等を行うようにビットスキャン方法を変えることにより、フェイルビットを検出することが可能である。
【００３０】
キャッシュメモリ２３は、カラムデコーダ１３に接続され、カラムデコーダ１３から入力される書込み／読み出しデータを一時的に保持する。
【００３１】
また、上記ページバッファ２１およびキャッシュメモリ２３は、センスアンプ２５を構成する。
【００３２】
１−３．ブロック（ＢＬＯＣＫ）の構成例  
次に、図３を用いて、第１の実施形態に係るメモリセルアレイを構成するブロック（ＢＬＯＣＫ）の構成例について説明する。ここでは、図１中の一ブロック（ＢＬＯＣＫ１）を一例に挙げて説明する。また、このブロックＢＬＯＣＫ１中のメモリセルトランジスタは、一括して消去される。そのため、ブロックは消去単位である。
【００３３】
ブロックＢＬＯＣＫ１は、ワード線方向（ＷＬ方向）に配置された複数のメモリセルユニットＭＵから構成される。メモリセルユニットＭＵは、ＷＬ方向に直交するビット線方向（ＢＬ方向）に配置され電流経路が直列接続される８個のメモリセルトランジスタＭＴ０〜ＭＴ７からなるＮＡＮＤストリング（メモリセルストリング）と、ＮＡＮＤストリングの電流経路の一端に接続されるソース側の選択トランジスタＳ１と、ＮＡＮＤストリングの電流経路の他端に接続されるドレイン側の選択トランジスタＳ２とから構成される。
【００３４】
尚、本例では、メモリセルユニットＭＵは、８個のメモリセルＭＴ０〜ＭＴ７から構成されるが、２つ以上のメモリセル、例えば、１６個、３２個等から構成されていればよく、特に８個に限定されるというものではない。
【００３５】
ソース側の選択トランジスタＳ１の電流経路の他端はソース線ＳＬに接続される。ドレイン側の選択トランジスタＳ２の電流経路の他端は、各メモリセルユニットＭＵに対応してメモリセルユニットＭＵの上方に設けられ、ＢＬ方向に延出するビット線ＢＬｍ−１に接続される。
【００３６】
ワード線ＷＬ０〜ＷＬ７は、ＷＬ方向に延び、ＷＬ方向の複数のメモリセルトランジスタの制御ゲート電極に共通に接続される。選択ゲート線ＳＧＳは、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ１に共通に接続される。選択ゲート線ＳＧＤも、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ２に共通に接続される。
【００３７】
また、ワード線ＷＬ０〜ＷＬ７ごとにページ（ＰＡＧＥ）が存在する。例えば、図中の破線で囲って示すように、ワード線ＷＬ７には、ページ（ＰＡＧＥ）が存在する。このページ（ＰＡＧＥ）ごとに、読み出し動作、書き込み動作が行われるため、ページ（ＰＡＧＥ）は読み出し単位であり、書き込み単位である。
【００３８】
１−４−１．メモリセルアレイの平面構成例  
次に、図４を用いて、メモリセルアレイ１１の平面構成例について説明する。図示するように、メモリセルアレイ１１を構成する複数のブロック（ＢＬＯＣＫ１、ＢＬＯＣＫ２、…）のそれぞれは、複数のワード線ＷＬ０〜ＷＬ７と素子分離領域により区画形成されＢＬ方向に延出する素子領域との交際位置にマトリクス状に配置された複数のメモリセルトランジスタ、および選択ゲート線ＳＧＳ、ＳＧＤと素子領域との交差位置に配置された選択トランジスタＳ１、Ｓ２とを有する。なお、素子分離領域は半導体基板の表面にシリコン酸化膜等が埋め込まれることにより形成されている。
【００３９】
複数のメモリセルトランジスタおよび選択トランジスタＳ１、Ｓ２からなるメモリセルユニットの両端の素子領域上にはソース線コンタクトＳＣおよびビット線コンタクトＢＣが形成されている。これらソース線コンタクトＳＣおよびビット線コンタクトＢＣは、ＢＬ方向に隣接するブロックで共有されている。例えば、ソース線コンタクトＳＣは、ＢＬ方向に隣接するブロックＢＬＯＣＫ２およびブロックＢＬＯＣＫ３で共有されており、ビット線コンタクトＢＣは、ＢＬ方向に隣接するブロックＢＬＯＣＫ１およびブロックＢＬＯＣＫ２で共有されている。
【００４０】
また、ソース線ＳＬがソース線コンタクトＳＣ上に、サブビット線ＳＢＬがビット線コンタクトＢＣ上に設けられている。サブビット線ＳＢＬ上には配線間コンタクトＬＣが設けられ、ビット線ＢＬ０〜ＢＬｍ−１が配線間コンタクトＬＣ上に設けられている。
【００４１】
１−４−２．メモリセルアレイの断面構成例  
次に、図５を用いて、第１の実施形態に係るメモリセルアレイの断面構成例について説明する。ここでは、図４中のＶ−Ｖ線に沿ったビット線ＢＬ３の方向による断面構成例を一例に挙げる。
【００４２】
図示するように、半導体基板（Si-sub）３１の素子領域上に、電流経路が隣接するもので直列接続された複数のメモリセルトランジスタＭＴ０〜ＭＴ７、およびこれらを選択する選択トランジスタＳ１、Ｓ２を有するメモリセルユニットＭＵが配置されている。
【００４３】
複数のメモリセルトランジスタＭＴ０〜ＭＴ７のそれぞれは、半導体基板上に順次設けられる、トンネル絶縁膜Ｔox、浮遊ゲート電極ＦＧ０〜ＦＧ７、ゲート間絶縁膜ＩＰＤ、制御ゲート電極ＣＧ０〜ＣＧ７（ＷＬ０〜ＷＬ７）、およびゲートマスク層ＧＭを備える積層構造である。複数のメモリセルトランジスタＭＴ０〜ＭＴ７のそれぞれは、この積層構造を挟むように半導体基板３１中に離間して設けられるソースまたはドレインＳ／Ｄを備える。
【００４４】
選択トランジスタＳ１は、上記メモリセルトランジスタＭＴ０〜ＭＴ７の電流経路が直列に接続されて構成されるＮＡＮＤストリングのソース側に配置される。選択トランジスタＳ１は、半導体基板３１上に順次設けられるゲート絶縁膜Ｇox、ゲート電極ＳＧ１、ゲートキャップ層ＧＭ、ゲート電極ＳＧ１中に中央部分が分離されて上下層が電気的に接続されたゲート間絶縁膜ＩＰＤ、およびゲート電極ＳＧ１を挟むように半導体基板３１中に離間して設けられるソースまたはドレインＳ／Ｄとを備える。
【００４５】
選択トランジスタＳ２は、上記ＮＡＮＤストリングのドレイン側に配置される。選択トランジスタＳ２は、半導体基板３１上に順次設けられるゲート絶縁膜Ｇox、ゲート電極ＳＧ２、ゲートキャップ層ＧＭ、ゲート電極ＳＧ２中に中央部分が分離されて上下層が電気的に接続されたゲート間絶縁膜ＩＰＤ、およびゲート電極ＳＧ２を挟むように半導体基板３１中に離間して設けられるソースまたはドレインＳ／Ｄとを備える。
【００４６】
ソース線コンタクトＳＣは、選択トランジスタＳ１のソースまたはドレインＳ／Ｄ上に設けられる。また、ビット線コンタクトＢＣは、選択トランジスタＳ２のソースまたはドレインＳ／Ｄ上に設けられる。
【００４７】
層間絶縁膜３２中に、上記ソース線コンタクトＳＣ、ビット線コンタクトＢＣ、ソース線ＳＬ、サブビット線ＳＢＬ、配線間コンタクトＬＣ、およびビット線ＢＬ３が設けられる。
【００４８】
また、ここでは図示を省略したが、半導体基板３１中には、Ｐ型またはＮ型の不純物が導入されることにより形成されたＰウェルまたはＮウェルが設けられていても良い。
【００４９】
制御ゲート電極ＣＧ０〜ＣＧ７（またはワード線ＷＬ０〜ＷＬ７）および選択ゲートＳＧＳ、ＳＧＤは、ワード線駆動回路１６中に配置されるロウデコーダを介して制御回路１７と電気的に接続されている。ロウデコーダ内には転送ゲートがあり、転送ゲートのゲート電極にはアドレス選択信号線が与えられ、制御回路１７内で発生した電圧を、選択されたアドレスのメモリセルトランジスタＭＴ０〜ＭＴ７のいずれかへ印加できるように構成されている。
【００５０】
尚、この１−４−２．の説明において、ゲート絶縁膜Ｇoxおよびトンネル絶縁膜Ｔoxは、選択トランジスタＳ１、Ｓ２およびメモリセルトランジスタＭＴ０〜ＭＴ７ごとに設けられる構成例を一例に挙げて説明したが、これに限られない。例えば、ゲート絶縁膜Ｇoxおよびトンネル絶縁膜Ｔoxが半導体基板３１上に面一に設けられ、選択トランジスタＳ１、Ｓ２およびメモリセルトランジスタＭＴ０〜ＭＴ７に共通に設けられる構成等であっても良い。
【００５１】
１−５．閾値分布の一例  
次に、図６を用いて、第１の実施形態に係るＮＡＮＤ型フラッシュメモリの閾値電圧の分布について説明する。
【００５２】
図示するように、本例に係るＮＡＮＤ型フラッシュメモリの閾値電圧（Cell Vth）は、複数の閾値電圧レベルLev0〜LevFを備える。このように、本例のＮＡＮＤ型フラッシュメモリは、１つのメモリセルトランジスタＭＴに複数ビットを記憶可能な多値ＮＡＮＤ型フラッシュメモリ（ＭＬＣ：Multi Level Cell）である。以下、１６値の多値ＮＡＮＤ型フラッシュメモリを一例に挙げて説明する。
【００５３】
＜２．データ書込み動作＞  
２−１．データ書込み動作（Verify Skip）
次に、図７乃至図１１を用いて、第１の実施形態に係る不揮発性半導体記憶装置のデータ書込み動作（Verify Skip）について説明する。この説明においては、図７に示すフローに則して以下説明する。ここで説明するデータ書込み動作は、全ての閾値電圧についてベリファイを行うベリファイ動作（以下、Normal Verifyと称する）に比べ、一定の閾値電圧レベルについてのベリファイを省略するベリファイ動作（以下、Verify Skipと称する）である。
【００５４】
（ステップＳ１−１（Program））  
まず、図示するように、制御回路１７は、外部のホスト装置からデータ入出力端子１５を介して入力される書込みデータに基づき、書込みパルスを印加するように制御を行う。
【００５５】
（ステップＳ１−２（ＰＬ＝ＮＬ？））  
続いて、制御回路１７は、書込みパルスの印加回数（書き込みループ回数）ＰＬが、規定回数ＮＬか否かを判定する。規定回数ＮＬは、書込みパルスの印加回数が規定回数ＮＬに達するまでの間は、書き込みが終了するビットが出現しないという測定結果を基に定められる値である。即ち、書き込みループ回数ＰＬが少ないうちは、全閾値レベルについてベリファイ動作を省略する。
【００５６】
（ステップＳ１−３（ＶＰＧＭ＋＋、ＰＬ＋＋））  
ステップＳ１−２の際、書込みパルスの印加回数ＰＬが、規定回数ＮＬでない場合（Ｎｏ）には、制御回路１７は、書込み電圧ＶＰＧＭをステップアップし、書込みループ回数ＰＬを１つそれぞれインクリメントし、再び上記ステップＳ１−１およびＳ１−２を行う。より具体的に、書込み電圧ＶＰＧＭをステップアップするとは、書込み電圧ＶＰＧＭ＝ＶＰＧＭinit＋ｄＶＰＧＭ×ＮLoop（ＶＰＧＭinit：初期値、ｄＶＰＧＭ：ステップアップ幅、ＮLoop：ループ回数）とすることである。
【００５７】
（ステップＳ１−４（Program））  
ステップＳ１−２の際、書込みパルスの印加回数ＰＬが、規定回数ＮＬである場合（Ｙｅｓ）には、制御回路１７は、外部のホスト装置からデータ入出力端子１５を介して入力される書込みデータに基づき、書込みパルスを印加する。
【００５８】
（ステップＳ１−５（using Verify Skip））  
続いて、制御回路１７は、ベリファイ動作を制御し、ベリファイ動作が完了できるか否かを判定する。この際、全ての閾値電圧のベリファイを行うベリファイ動作（Normal Verify）に比べ、一定のベリファイを省略するベリファイ動作（Verify Skip）を行う。このベリファイ動作（Verify Skip）については、後述する。
【００５９】
ベリファイ動作が完了できる場合（Ｐａｓｓ）には、データ書込み動作を終了する。
【００６０】
（ステップＳ１−６（ＶＰＧＭ＋＋、ＰＬ＋＋））  
ベリファイ動作が完了できない場合（Ｆａｉｌ）には、上記と同様に、書込み電圧ＶＰＧＭをステップアップし、書込みループ回数を１つそれぞれインクリメントし、再び上記ステップＳ１−４およびＳ１−５を行う。
【００６１】
２−２．ベリファイ動作（Verify Skip）
次に、図８乃至図１１を用いて、上記ステップＳ１−５の際に行うベリファイスキップ（Verify Skip）について説明する。この説明においては、全ての閾値電圧レベルのベリファイを行うノーマルベリファイ（Normal Verify）に比較して、以下説明する。
【００６２】
ベリファイスキップの場合のベリファイ回数  
まず、図８を用いて、上記ステップＳ１−５の際に係るベリファイスキップの場合のベリファイ回数について説明する。ベリファイスキップの場合の書込みループ（Program Loop）と閾値電圧レベル（Lev00〜Lev15）との関係は、図８のように示される。
【００６３】
図示するように、全ての閾値電圧レベルのベリファイを行うノーマルベリファイ（Normal Verify）に比較して、図中の破線で囲むベリファイＶＣ１、ＶＣ２を省略（”Skip”）することができる。そのため、データ書込み動作の際に、プログラム時間の短縮化に対して有利である。
【００６４】
例えば、本例の場合、まず、プログラムループ４回目（Prog Loop 4）から閾値電圧レベルLev00が書き終わるであろうとの予測のもとに、プログラムループ４回目のときに閾値電圧レベルLev00のみベリファイを行う（規定回数ＮＬ＝３と設定する）。一方、このプログラムループ４回目（Prog Loop 4）のときには、その他の閾値電圧レベルLev01〜Lev15のベリファイは行わず、これを省略する。
【００６５】
例えば、上記と同様に、プログラムループ５回目（Prog Loop 5）のときには、閾値電圧レベルLev00およびLev01のみベリファイを行う。一方、プログラムループ５回目（Prog Loop 5）のときには、その他の閾値電圧レベルLev02〜Lev15のベリファイは行わず、これを省略する。
【００６６】
例えば、図中に矢印で示すプログラムループ８回目（Prog Loop 8）のときには、閾値電圧レベルLev00〜Lev04までのベリファイを行う。一方、その他の閾値電圧レベルLev05〜Lev15のベリファイは行わず、これを省略（”Skip”）することができる。
【００６７】
以後、上記と同様にして、プログラムループ回数が増加するごとに、ベリファイする閾値レベルを増加させていく。
【００６８】
尚、プログラムループ２３回目（Prog Loop 23）以降は、低い閾値レベルのベリファイを行わない。例えば、プログラムループ２３回目のときには、閾値電圧レベルLev00の書き込みは終了しているという予測のもとにベリファイを行わず、閾値電圧レベルLev01〜Lev15のベリファイを行う。
【００６９】
同様に、プログラムループ２４回目（Prog Loop 24）のときには閾値電圧レベルLev01およびLev02の書き込みは終了しているという予測のもとにベリファイは行わず、閾値電圧レベルLev03〜Lev15のベリファイを行う。
【００７０】
以後、上記と同様にして、プログラムループ回数が増加するごとに、ベリファイする閾値レベルを減少させていく。
【００７１】
上記ベリファイ動作は、例えば、各閾値レベルについて、「ベリファイを開始する書き込みループ回数」と、「ベリファイを終了する書き込みループ回数」とを予め定めておくことで実現できる。
【００７２】
このように、書き込みの初期段階（図８では、Prog Loop 4〜Prog Loop 19）では階段状にベリファイ対象とする閾値レベルを増加させ、書き込みの終期段階（図８では、Prog Loop 22〜Prog Loop 37）では階段状にベリファイ対象とする閾値レベルを減少させることが可能なのは、書き込み電圧を一定の刻み値（ｄＶＰＧＭ）でステップアップさせているからである。この点については後述する。
【００７３】
以上に説明したように、結果として、本例に係るベリファイスキップの場合のベリファイ回数は、例えば、合計で３０４回とすることができる。
【００７４】
ノーマルベリファイの場合のベリファイ回数  
次に、図９を用いて、ベリファイスキップを行う場合のベリファイ回数と比較するために、ノーマルベリファイを行う場合のベリファイ回数について説明する。この場合の書込みループ（Program Loop）と閾値電圧レベル（Lev00〜Lev15）との関係は、図９のように示される。
【００７５】
図示するように、このノーマルベリファイ（Normal Verify）では、全ての閾値電圧レベルLev00〜Lev15について、ベリファイを行っている。
【００７６】
例えば、プログラムループ４回目（Prog Loop 4）に、全ての閾値電圧レベルLev00〜Lev15について、ベリファイを行っている。
【００７７】
その結果、ノーマルベリファイの場合のベリファイ回数は、合計で５４４回と増大し、データ書込み動作の際に、プログラム時間の短縮化に対して不利である。
【００７８】
選択ワード線の電圧波形  
さらに、図１０を用いて、ノーマルベリファイを行う場合の選択ワード線の電圧波形について、説明する。ここでは、図９中に矢印で示すプログラムループ６回目（Prog Loop 6）および７回目（Prog Loop 7）を一例に挙げる。
【００７９】
図示するように、例えば、プログラムループ６回目（Prog Loop 6）では、時刻ｔ１からｔ２の間（Program）に、選択ワード線に書込み電圧ＶＰＧＭが与えられる。
【００８０】
続いて、時刻ｔ３からｔ４の間（Verify）に、全ての閾値電圧レベルLev00〜Lev15について、順次ベリファイを行っている。
【００８１】
続いて、プログラムループ７回目（Prog Loop 7）では、時刻ｔ５からｔ６の間（Program）に、選択ワード線に上記書込み電圧ＶＰＧＭからｄＶＰＧＭだけステップアップされた書込み電圧ＶＰＧＭ＋ｄＶＰＧＭが与えられる。
【００８２】
続いて、時刻ｔ７以降では、上記時刻ｔ３からｔ４の間と同様に、全ての閾値電圧レベルLev00〜Lev15について、順次ベリファイを行う。
【００８３】
このように、ＮＡＮＤ型フラッシュメモリの選択ワード線に与える電圧は、書込み電圧（Program）とベリファイ電圧（Verify）の繰り返しである。そして、多値ＮＡＮＤ型フラッシュメモリでは、そのほとんどをベリファイ時間が占めていて、プログラム時間（ｔＰＲＯＧ）の短縮化の観点からは、このベリファイ回数をいかに少なくするかが重要であることが分かる。このノーマルベリファイでは、全ての閾値電圧レベルLev00〜Lev15について順次ベリファイを行う必要があるため、ベリファイ回数が増大し、プログラム時間の短縮化に対して不利である。
【００８４】
しかしながら、上記に説明した本例のベリファイスキップによるデータ書込み動作によれば、一定のベリファイ回数を省略（”Skip”）できるため、プログラム時間（ｔＰＲＯＧ）の短縮化に対して有利である。
【００８５】
＜３．書き換え回数とベリファイ回数との関係について＞  
次に、図１１乃至図１６を用いて、書き換え回数とベリファイ回数との関係について説明する。
【００８６】
３−１．書込み電圧の印加回数と閾値電圧との関係
書込み電圧の印加回数（Program Loop）と閾値電圧（Cell Vth）との関係は、図１１のように示される。図中の破線は初期（例えば、出荷時）の特性（Initial）であり、実線は書き換え（データ書込み／消去）を繰り返した後の特性（After W/E）である。
【００８７】
ここで書き込み電圧は、図１２に示すように、一定の刻み幅（ｄＶＰＧＭ）でステップアップする値である。図１２は、図１１の横軸を書き込み電圧の印加回数から書き込み電圧に置き換えたものである。図１１と同様に、図中の破線は初期（例えば、出荷時）の特性（Initial）であり、実線はデータ書込み／消去を繰り返した後の特性（After W/E）である。
【００８８】
図１１および図１２が示すように、書込み電圧の印加回数と閾値電圧との関係は、初期（Initial）およびデータ書込み／消去後（After W/E）にかかわらず、比例関係（線形）にある。これは、書き込み電圧のステップアップ幅を適切に設定することにより、一回の書き込みで浮遊ゲート電極に注入される電子の量を均一化しているからである。さらに、データ書込み／消去後（After W/E）では、同じ書込み電圧の印加回数を基準にして、閾値電圧が上昇し易いことが分かる。
【００８９】
３−２．ベリファイ回数について
上記３−１の関係をふまえて、最終的に決定されるベリファイ回数について説明する。
【００９０】
ベリファイ状態について  
ここで、ベリファイ状態を説明するために、図１３に示すような状態（Phase V〜Phase O）に分けて説明する。
【００９１】
図示する状態Ｖ（Phase V）は、データ書込みが終了したビットが出現する前の状態である。即ち、この状態Ｖ（Phase V）では、ビットスキャン回路２２において、例えば、書込み中のビット数がＮＢ個、書込み終了のビット数が０個とスキャンされる。
【００９２】
続いて、状態Ｘ（Phase X）は、データ書込みが行われる途中の状態である。即ち、この状態Ｘ（Phase X）では、ビットスキャン回路２２において、例えば、書込み中のビット数がＮＢ−ｎ個、書込み終了のビット数がｎ個とスキャンされる。
【００９３】
続いて、状態Ｏ（Phase O）は、データ書込みが終了した状態である。即ち、この状態（Phase O）では、ビットスキャン回路２２において、例えば、書込み中のビット数が０個、書込み終了のビット数がＮＢ個とスキャンされる。
【００９４】
初期の場合のベリファイ回数  
初期の場合（Initial）のベリファイ回数は、例えば、図１４のように示される。図１４は、初期（Initial）のメモリセルトランジスタの書き込み特性に基づいて、規定回数ＮＬ＝８と設定した場合の例である。  
図示するように、例えば、初期の場合では、プログラムループ回数が１３回目（Prog Loop 13）から、閾値電圧レベルLev00のベリファイがパス（Phase X）し始める。
【００９５】
データ書込み／消去後の場合のベリファイ回数  
データ書込み／消去後の場合（Write/Erase）のベリファイ回数は、例えば、図１５のように示される。図１５は、データ書込み／消去後（Write/Erase）のメモリセルトランジスタの書き込み特性に基づいて、規定回数ＮＬ＝３と設定した場合の例である。  
図示するように、上記図１４の場合と比べて、書き込みが終了したビットが出現するタイミングがプログラムループ回数の小さい方向へシフトしていることが分かる。データ書込み／消去を繰り返した後の場合では、セル特性の変化から書込みが早まり、例えば、プログラムループ回数が９回目（Prog Loop 9）から、閾値電圧レベルLev00のベリファイがパス（Phase X）し始める。
【００９６】
最終的に決定されるベリファイ回数（Verify Skip）  
上記図１４、図１５のセル特性の変化を考慮すると、最終的に決定されるベリファイ動作（Verify Skip）のベリファイ回数は、図１６のように示される。  
図示するように、最終的に決定されるベリファイ回数は、図１５に示すようなデータ書込み／消去を繰り返すことで書込みが早まることを考慮して、上記ステップＳ１−２の際の「Verifyを開始するLoop回数：規定回数ＮＬ」を低めに設定する必要がある。
【００９７】
以上３−１〜３−２において説明したように、ベリファイスキップ動作では、ノーマルベリファイ動作に比べ、ベリファイ回数を低減できる点で有利であるが、データ書込み／消去後のセル劣化を考慮して、ベリファイ開始位置をより低いLoop回数側に設定しベリファイ回数の全体を低い側にシフトさせる必要がある分、ベリファイ回数が増大する場合がある。
【００９８】
そこで、上記２−１〜２−２で説明したベリファイスキップを改良した、改良型ベリファイスキップ（以下、Modified Verify Skipと称する）について、以下の４−１〜４−２において説明する。
【００９９】
＜４．データ書込み動作（Modified Verify Skip）＞  
４−１．データ書込み動作
図１７乃至図２１を用いて、第１の実施形態に係る不揮発性半導体記憶装置のデータ書込動作における改良型ベリファイスキップ（Modified Verify Skip）について説明する。この説明においては、図１７に示すフローに則して以下説明する。ここで説明するデータ書込み動作は、上記２−１〜２−２で説明したベリファイスキップにおけるデータ書込み動作の改良型（Modified Verify Skip）である。
【０１００】
（ステップＳ２−１（Program））  
まず、図示するように、制御回路１７は、外部のホスト装置からデータ入出力端子１５を介して入力される書込みデータに基づき、書込みパルスを印加する。
【０１０１】
（ステップＳ２−２（Verify lowest Level））  
続いて、制御回路１７は、最も低い閾値電圧レベルLev00に限ってベリファイし、その他の閾値電圧レベルLev00〜Lev15のベリファイを行わずこれを省略（”Skip”）する。
【０１０２】
（ステップＳ２−３（Count Verify pass Bit））  
続いて、ビットスキャン回路２２は、最も低い閾値電圧レベルLev00のベリファイパス（状態Phase X）のビット数をカウントする。
【０１０３】
（ステップＳ２−４（Pass Bit ＞ ＮＢ？））  
続いて、制御回路１７は、最も低い閾値電圧レベルLev00のベリファイパスビット数（Pass Bit）が、規定ビット数（ＮＢ）以上であるか否かを判定する。  
このステップの際、閾値電圧レベルLev00のベリファイパスビット数（Pass Bit）が、規定ビット数（ＮＢ）以上である場合（Ｙｅｓ）には、ステップＳ２−６に続く。
【０１０４】
尚、この規定ビット数ＮＢの値は、出荷前のテスト工程の際に決定された固定値であっても良いし、出荷後に再設定可能な変動値であっても良い。
【０１０５】
（ステップＳ２−５（ＶＰＧＭ＋＋、ＰＬ＋＋））  
続いて、閾値電圧レベルLev00のベリファイパスビット数（Pass Bit）が、規定ビット数（ＮＢ）以上でない場合（Ｎｏ）には、上記と同様に、書込み電圧ＶＰＧＭをステップアップし、書込みループ回数を１つそれぞれインクリメントし、再び上記ステップＳ２−１乃至Ｓ２−３を行う。
【０１０６】
（ステップＳ２−６（Program））  
続いて、閾値電圧レベルLev00のベリファイパスビット数（Pass Bit）が、規定ビット数（ＮＢ）以上である場合（Ｙｅｓ）に、制御回路１７は、外部のホスト装置からデータ入出力端子１５を介して入力される書込みデータに基づき、書込みパルスを印加する。
【０１０７】
（ステップＳ２−７（using Modified Verify Skip））  
続いて、制御回路１７がベリファイ動作を制御し、ベリファイ動作が完了しているか否かを判定する。この際行う改良型ベリファイ動作（Modified Verify Skip）については、後で詳細に説明する。
【０１０８】
続いて、ベリファイが完了できる場合（Ｐａｓｓ）には、データ書込み動作を終了する。
【０１０９】
（ステップＳ２−８（ＶＰＧＭ＋＋、ＰＬ＋＋））  
続いて、ベリファイが完了できない場合（Ｆａｉｌ）には、上記と同様に、書込み電圧ＶＰＧＭをステップアップし、書込みループ回数を１つそれぞれインクリメントし、再び上記ステップＳ２−６およびＳ２−７を行う。
【０１１０】
４−２．改良型ベリファイスキップ（Modified Verify Skip）
次に、図１８乃至図２１を用いて、上記改良型ベリファイ動作（Modified Verify Skip）について、さらに詳しく説明する。
【０１１１】
本例に係る改良型ベリファイ回数（Modified Verify Skip）  
後述する図１９、図２０のセル特性の変化を考慮して、本例に係る改良型ベリファイ動作（Modified Verify Skip）のベリファイ回数は、図１８のように示される。  
図示するように、例えば、本例に係る改良型ベリファイ回数では、データ書込み／消去で書込みが早まり、プログラムループ回数が１１回目（Prog Loop 11）から、最も低い閾値電圧レベルLev00のベリファイがパス（Phase X）し始める。
【０１１２】
さらに、データ書き終わった閾値電圧レベルは、以降ベリファイしない。即ち、この図１８において状態Ｏ（phase O)になったら、ベリファイしない。例えば、プログラムループ回数が１７回目（Prog Loop 17）では、最も低い閾値電圧レベルLev00のデータ書込みが完了するため、以降のプログラムループ回数１８回目（Prog Loop 18）からはベリファイを行わない。
【０１１３】
その結果、本例に係る改良型ベリファイスキップの場合のベリファイ回数は、合計で１０７回とすることができる。そのため、上記ベリファイスキップの場合と比較して、更にベリファイ回数を低減でき、更にプログラム時間（ｔＰＲＯＧ）の短縮化に対して有利であるといえる。
【０１１４】
初期の場合のベリファイ回数  
初期の場合（Initial）のベリファイ回数は、図１９のように示される。  
図示するように、例えば、初期の場合では、プログラムループ回数が１３回目（Prog Loop 13）から、閾値電圧レベルLev00のベリファイがパス（Phase X）し始める。
【０１１５】
本例に係る初期の場合の改良型ベリファイスキップの場合のベリファイ回数は、合計で１０９回である。
【０１１６】
データ書込み／消去後の場合のベリファイ回数  
データ書込み／消去後の場合（Write/Erase）のベリファイ回数は、図２０のように示される。  
図示するように、上記図１９の場合と比べて、閾値電圧レベルの低い側にシフトしていることが分かる。例えば、データ書込み／消去後の場合では、データ書込み／消去によるセル特性の変化から書込みが早まり、プログラムループ回数が９回目（Prog Loop 9）から、閾値電圧レベルLev00のベリファイがパス（Phase X）し始める。
【０１１７】
本例に係るデータ書込み／消去後の場合の改良型ベリファイスキップの場合のベリファイ回数は、合計で１０５回である。
【０１１８】
このように、改良型ベリファイスキップによれば、データ書込み／消去によるセル特性の変化から書込みが早まった場合であっても、最終的なベリファイ回数の増大を抑えることができる。
【０１１９】
選択ワード線の電圧波形  
さらに、図２１を用いて、改良型ベリファイスキップの選択ワード線の電圧波形について、説明する。ここでは、図１８中に矢印で示すプログラムループ１７回目（Prog Loop 17）乃至１９回目（Prog Loop 19）を一例に挙げる。
【０１２０】
図示するように、例えば、プログラムループ１７回目（Prog Loop 17）では、時刻ｔ１からｔ２の間（Program）に、選択ワード線に書込み電圧ＶＰＧＭが与えられる。
【０１２１】
続いて、時刻ｔ３からｔ４の間（Verify）に、６つの閾値電圧レベルLev01〜Lev06について、順次ベリファイを行う。
【０１２２】
続いて、プログラムループ１８回目（Prog Loop 18）では、時刻ｔ５からｔ６の間（Program）に、選択ワード線に上記書込み電圧ＶＰＧＭからｄＶＰＧＭだけステップアップされた書込み電圧ＶＰＧＭ＋ｄＶＰＧＭが与えられる。
【０１２３】
続いて、時刻ｔ７からｔ８の間（Verify）に、６つの閾値電圧レベルLev02〜Lev07について、順次ベリファイを行う。
【０１２４】
続いて、プログラムループ１９回目（Prog Loop 19）では、時刻ｔ９からｔ１０の間（Program）に、選択ワード線に上記書込み電圧ＶＰＧＭから２×ｄＶＰＧＭだけステップアップされた書込み電圧ＶＰＧＭ＋２×ｄＶＰＧＭが与えられる。
【０１２５】
続いて、時刻ｔ１１からｔ１２の間（Verify）に、６つの閾値電圧レベルLev03〜Lev08について、順次ベリファイを行う。
【０１２６】
このように、プログラム時間のうちそのほとんどを占めるベリファイ時間についてより短縮化できるため、上記図１０に示したノーマルベリファイの場合と比べて、プログラム時間（ｔＰＲＯＧ）を短縮化できることは明らかである。
【０１２７】
加えて、上記ベリファイスキップによりもさらに、データ書込み／消去によるセル特性の変化から書込みが早まった場合にかかわらず、ベリファイ回数を省略（”Skip”）できるため、プログラム時間（ｔＰＲＯＧ）の短縮化に対して更に有利である。
【０１２８】
＜５．第１の実施形態に係る効果＞  
この第１の実施形態に係る半導体記憶装置およびそのデータ書込み方法によれば、少なくとも下記（１）乃至（２）の効果が得られる。
【０１２９】
（１）プログラム時間（ｔＰＲＯＧ）の短縮化に有利である。  
（１）−１  ベリファイスキップ（Verify Skip）について  
上記のように、第１の実施形態に係る半導体記憶装置では、ステップＳ１−２の際に、上記図１６に示すプログラムループ回数とベリファイする閾値電圧レベルとの関係に従い、制御回路１７は、書込みパルスの回数ＰＬが、規定回数ＮＬか否かを判定する。そして、制御回路１７が、一定のベリファイを省略するベリファイ動作（Verify Skip）を行うように制御を行う。
【０１３０】
例えば、図８に示すように、全ての閾値電圧レベルのベリファイを行うノーマルベリファイ動作（Normal Verify）に比較して、図中の破線で囲むベリファイＶＣ１、ＶＣ２を省略する（”Skip”）することができる。
【０１３１】
例えば、本例の場合、プログラムループ４回目（Prog Loop 4）から閾値電圧レベルLev00が書き終わるであろうとの予測のもとに、プログラムループ４回目のときに閾値電圧レベルLev00のみベリファイを行う。一方、このときには、その他の閾値電圧レベルLev01〜Lev15のベリファイは行わず、これを省略する。
【０１３２】
例えば、上記と同様に、プログラムループ５回目（Prog Loop 5）のときには、閾値電圧レベルLev00およびLev01のみベリファイを行う。一方、このときには、その他の閾値電圧レベルLev02〜Lev15のベリファイは行わず、これを省略する。
【０１３３】
例えば、プログラムループ８回目（Prog Loop 8）のときには、閾値電圧レベルLev00〜Lev04までのベリファイを行う。一方、その他の閾値電圧レベルLev05〜Lev15のベリファイは行わず、これを省略（”Skip”）することができる。
【０１３４】
以後、上記と同様にして、プログラムループ回数が増加するごとに、ベリファする閾値レベルを増加していく。
【０１３５】
以上に説明したように結果、本例に係るベリファイスキップの場合のベリファイ回数は、例えば、合計で３０９回とすることができる。
【０１３６】
一方、ノーマルベリファイ（Normal Verify）では、全ての閾値電圧レベルLev00〜Lev15について、ベリファイを行う必要があるため、ベリファイ回数は、合計で５４４回と増大し、データ書込み動作の際に、プログラム時間の短縮化に対して不利である。
【０１３７】
ここで、図１０に示したように、データ書込みの際の選択ワード線に与える電圧は、書込み電圧（Program）とベリファイ電圧（Verify）の繰り返しである。そして、多値ＮＡＮＤ型フラッシュメモリでは、そのほとんどをベリファイ時間が占めていて、プログラム時間の短縮化の観点からは、このベリファイ回数をいかに少なくするかが重要である。このノーマルベリファイでは、全ての閾値電圧レベルLev00〜Lev15について順次ベリファイを行うため、ベリファイ回数が増大し、プログラム時間の短縮化に対して不利である。
【０１３８】
しかしながら、上記に説明したベリファイスキップによるデータ書込み動作によれば、一定のベリファイ回数を省略（”Skip”）できるため、プログラム時間（ｔＰＲＯＧ）の短縮化に対して有利である。
【０１３９】
（１）−２  改良型ベリファイスキップ（Modified Verify Skip）について  
上記（１）−１のベリファイスキップ動作では、ノーマルベリファイ動作に比べ、ベリファイ回数を低減できる点で有利であるが、データ書込み／消去後のセル劣化を考慮して、ベリファイ開始位置をより低いLoop回数側に設定しなければならない分だけベリファイ回数が増大する場合がある。
【０１４０】
そこで、上記の点を更に改良した改良型ベリファイスキップ（Modified Verify Skip）では、
（I）ステップＳ２−２の際に、制御回路１７は、図１８に示す関係に従い、最も低い閾値電圧レベル（本例では、Lev00）に限り、最初のプログラムループ（Prog Loop 1）からベリファイを開始するように制御し、その他の閾値電圧レベル（本例では、Lev01〜Lev15）のベリファイを行わず、これを省略（”Skip”）する。
【０１４１】
（II）続いて、ステップＳ２−３の際に、ビットスキャン回路２２は、最も低い閾値電圧レベル（Lev00）のベリファイパス（状態Phase X）のビット数をカウントし、続くステップＳ２−４の際にビットスキャン回路２２のカウント数を受けて、制御回路１７は、最も低い閾値電圧レベル（Lev00）のベリファイパスビット数（Pass Bit）が、規定ビット数（ＮＢ）以上であるか否かを判定する。
【０１４２】
（III）続いて、ステップＳ２−６の際に、閾値電圧レベル（Lev00）のベリファイパスビット数（Pass Bit）が規定ビット数（ＮＢ）以上である場合（Ｙｅｓ）に、制御回路１７は、外部のホスト装置からデータ入出力端子１５を介して入力される書込みデータに基づき、書込みパルスを印加する。ステップＳ２−７の際に、次のプログラムループから次の閾値電圧レベル（本例では、Lev01）のベリファイを開始する。
【０１４３】
（IV）続いて、再びステップＳ２−７の際に、各閾値電圧レベルでのベリファイの終了を検知し、ベリファイが終了すれば、それ以降のベリファイを省略（”Skip”）する。
【０１４４】
このようなベリファイ動作を改良型ベリファイスキップ（Modified Verify Skip）によれば、図１８に示すように、初期の場合（図１９）およびデータ書込み／消去後（図２０）にかかわらず、最適なベリファイ回数を自動的に選択でき、書き込み速度を高速化かつ安定化でき、信頼性も向上することが可能である。
【０１４５】
例えば、本例の場合、図１８に示すように、改良型ベリファイスキップの場合のベリファイ回数は、合計で１０９回とすることができる。そのため、上記ベリファイスキップの場合と比較しても、更にベリファイ回数を低減でき、更にプログラム時間の短縮化に対して有利であるといえる。
【０１４６】
本例に係る改良型ベリファイスキップは、図１８に示すように、ベリファイ動作において、メモリトランジスタの書込み速度に応じて、ベリファイ回数とベリファイ開始位置とを調整することができるものである。この改良型ベリファイスキップにより、ＮＡＮＤ型フラッシュメモリのベリファイ回数を大幅に削減でき、プログラム速度（MB/sec）を向上させることができる。
【０１４７】
図１８に示したようにベリファイ回数およびベリファイ開始位置を決定できるのは、ビットスキャン回路２２により、最も低い閾値電圧レベル（本例では、Lev00）のパスビット数が規定ビット数ＮＢ以上であることを確認できれば（Ｓ２−２乃至Ｓ２−４）、後は、図１１および図１２に示した閾値電圧の特性を利用して、逆Ｎ型にベリファイを行えば良いことによる。逆Ｎ型とは、図９、図１０に示すように、プログラムパルスを印加した後、階段状に閾値電圧レベルに対応してベリファイパルスを印加し、ステップアップされたプログラムパルスを印加する一連の電圧波形を言う。例えば、図１０に示すように、プログラムループ６回目（Prog Loop 6）では、時刻ｔ１からｔ２の間（Program）に、選択ワード線に書込み電圧パルスＶＰＧＭが印加される。続いて、時刻ｔ３からｔ４の間（Verify）に、全ての閾値電圧レベルLev00〜Lev15について、順次ベリファイパルスが印加される。続いて、プログラムループ７回目（Prog Loop 7）では、時刻ｔ５からｔ６の間（Program）に、ステップアップされた書込み電圧パルスＶＰＧＭ＋ｄＶＰＧＭが印加される。
【０１４８】
（２）  多値化に対して有利である。
【０１４９】
メモリの多値化が進行すると、例えば、図１０に示したように、ベリファイが必要な閾値レベルの数も増大する。図示するように、多値ＮＡＮＤ型フラッシュメモリでは、プログラム時間のほとんどをベリファイ時間が占めている。
【０１５０】
しかしながら、上記（１）−１、（１）−２において説明したように、第１の実施形態によれば、信頼性を保ちつつ、ベリファイ回数をより低減することができる。
【０１５１】
そのため、メモリの多値化に対して有利である。
【０１５２】
［第２の実施形態（中央値の閾値電圧レベル側から書き込む一例）］  
次に、第２の実施形態に係る半導体記憶装置およびそのデータ書込み方法について、図２２乃至図２５を用いて説明する。この実施形態は、制御回路１７が、多値データ（本例では、１６値のLev00〜Lev15）のうち、中央値（本例では、８値のLev08）の閾値電圧レベル側から書き込むように制御する一例に関するものである。この説明において、上記第１の実施形態と重複する部分の詳細な説明を省略する。
【０１５３】
＜６．データ書込み動作＞  
図２２乃至図２６を用いて、第２の実施形態に係る半導体記憶装置のデータ書込み動作ついて説明する。
【０１５４】
まず、図２２中のプログラムループ０回目（Prog Loop 0）に示すように、第２の実施形態では、上記ステップＳ２−２において、中央値である閾値電圧レベルLev08に限って書込みを開始する点で、上記の第１の実施形態と相違する。
【０１５５】
続いて、図２３に示すように、プログラムループ１回目（Prog Loop 1）から２０回目（Prog Loop 20）までは、閾値電圧レベルLev08のみベリファイを行う。一方、このプログラムループ１回目（Prog Loop 1）から２０回目（Prog Loop 20）の間には、その他の閾値電圧レベルLev00〜Lev07, Lev09〜Lev15についてのベリファイは行わず、これを省略（”Skip”）する。
【０１５６】
続いて、図２４に示すように、プログラムループ２２回目（Prog Loop 22）においては、閾値電圧レベルLev08およびLev09についてのベリファイを行う。その他の閾値電圧レベルLev00〜Lev07, Lev10〜Lev15についてのベリファイは行わず、これを省略（”Skip”）することは同様である。
【０１５７】
以後、上記と同様に、プログラムループ３３回目（Prog Loop 33）までに、閾値電圧レベルLev15についてのベリファイを先に行う。
【０１５８】
続いて、図２５に示すように、プログラムループ３４回目（Prog Loop 34）から、最も低い閾値電圧レベルLev00に限って、ベリファイを行う。その他の閾値電圧レベルLev01〜Lev15についてのベリファイは行わず、これを省略（”Skip”）する。この際、例えば、書込み電圧ＶＰＧＭを最も低い閾値電圧レベルLev00に対応する１０Ｖ程度に戻して、これを行う。この際、上記ステップＳ２−７において、閾値電圧レベルLev15のベリファイがパスした場合であっても、データ書込みを終了せず、再び上記ステップＳ２−２の動作を開始する点で、上記第１の実施形態と相違する。
【０１５９】
続いて、プログラムループ３５回目（Prog Loop 35）から、上記第１の実施形態と同様なデータ書込み動作を行う。
【０１６０】
その結果、図２６に示すように、プログラムループ６７回目（Prog Loop 67）には、１６値の所望の閾値電圧分布の多値データを書き込むことができる。
【０１６１】
＜７．効果＞  
上記のように、この第２の実施形態に係る半導体記憶装置およびそのデータ書込み方法によれば、少なくとも上記（１）乃至（２）と同様の効果が得られる。
【０１６２】
さらに、本例によれば、制御回路１７が、多値データ（本例では、１６値のLev00〜Lev15）のうち、中央値（本例では、８値のLev08）の閾値電圧レベル側から書き込むように制御する点で、上記第１の実施形態と相違する。
【０１６３】
そのため、後にデータ書込みを行う低い閾値電圧レベル（本例では、Lev00〜Lev07）のデータリテンション特性を向上できる点で、より有利である。
【０１６４】
また、必要に応じて、このような制御に適用することが可能である。
【０１６５】
尚、第２の実施形態では、中央値に対応する閾値電圧レベルLev08からデータ書込みを行う場合を一例に挙げたが、これに限られない。即ち、最も低い閾値電圧レベルLev00より大きな閾値電圧レベルから先にデータ書込みを始めれば良い。例えば、閾値電圧レベルLev10や、最も高い閾値電圧レベル（本例では、Lev15）等からデータ書込みを行う場合であっても、本第２の実施形態の範疇として認められる。
【０１６６】
さらに、上記の説明では、多値として、１６値を一例に挙げて説明したが、これに限られない。即ち、１６値に限らず、例えば、４値、８値等のその他の多値ＮＡＮＤ型フラッシュメモリでも同様に適用でき、同様の効果を得ることが可能である。さらに、多値ＮＡＮＤ型フラッシュメモリに限らず、１つのメモリセルトランジスタに１ビットデータを記憶可能な２値ＮＡＮＤ型フラッシュメモリ（ＳＬＣ：Single Level Cell）であっても同様に適用可能である。
【０１６７】
また、本例では、ランダムデータのデータ書込みを主に説明した。しかしながら、ある特定のデータ（例えば、”LevF”データだけを書く等）のデータ書込みの場合であっても良い。
【０１６８】
以上、第１、第２の実施形態を用いて本発明の説明を行ったが、この発明は上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１６９】
【図１】この発明の第１の実施形態に係る半導体記憶装置の全体構成例を示すブロック図。
【図２】図１中のビット線制御回路の構成例を示すブロック図。
【図３】図１中のブロックの構成例を示す等価回路図。
【図４】図１中のメモリセルアレイの平面構成例を示す平面図。
【図５】図４中のＶ−Ｖ線に沿った断面構成例を示す断面図。
【図６】第１の実施形態に係る半導体記憶装置の閾値分布を示す図。
【図７】第１の実施形態に係る半導体記憶装置のデータ書込みを示すフロー図。
【図８】ベリファイスキップの場合の書込みループとベリファイ回数との関係を示す図。
【図９】ノーマルスキップの場合の書込みループとベリファイ回数との関係を示す図。
【図１０】ノーマルスキップの場合の選択ワード線の電圧波形を示すタイミングチャート図。
【図１１】プログラムループ回数と閾値電圧との関係を示す図。
【図１２】書込み電圧と閾値電圧との関係を示す図。
【図１３】第１の実施形態に係るベリファイ状態を説明するための図。
【図１４】初期（Initial）の場合の書込みループとベリファイ回数との関係を示す図。
【図１５】書込み／消去後（Write/Erase後）の書込みループとベリファイ回数との関係を示す図。
【図１６】ベリファイスキップの最終的な書込みループとベリファイ回数との関係を示す図。
【図１７】第１の実施形態に係る半導体記憶装置のデータ書込みを示すフロー図。
【図１８】改良型ベリファイスキップの最終的な書込みループとベリファイ回数との関係を示す図。
【図１９】改良型ベリファイスキップの初期（Initial）の場合の書込みループとベリファイ回数との関係を示す図。
【図２０】改良型ベリファイスキップの書込み／消去後（Write/Erase後）の場合の書込みループとベリファイ回数との関係を示す図。
【図２１】改良型ベリファイスキップの選択ワード線の電圧波形を示すタイミングチャート図。
【図２２】第２の実施形態に係る半導体記憶装置の書込みループとベリファイ回数との関係を示す図。
【図２３】第２の実施形態に係る半導体記憶装置の一書込みループの際の閾値分布を示す図。
【図２４】第２の実施形態に係る半導体記憶装置の一書込みループの際の閾値分布を示す図。
【図２５】第２の実施形態に係る半導体記憶装置の一書込みループの際の閾値分布を示す図。
【図２６】第２の実施形態に係る半導体記憶装置の一書込みループの際の閾値分布を示す図。
【符号の説明】
【０１７０】
１１…メモリセルアレイ、１２…ビット線制御回路、１７…制御回路、２１…ページバッファ、２２…ビットスキャン回路、２３…キャッシュメモリ、２５…センスアンプ。
【図１】
2010067291.tif 000003
【図２】
2010067291.tif 000004
【図３】
2010067291.tif 000005
【図４】
2010067291.tif 000006
【図５】
2010067291.tif 000007
【図６】
2010067291.tif 000008
【図７】
2010067291.tif 000009
【図８】
2010067291.tif 000010
【図９】
2010067291.tif 000011
【図１０】
2010067291.tif 000012
【図１１】
2010067291.tif 000013
【図１２】
2010067291.tif 000014
【図１３】
2010067291.tif 000015
【図１４】
2010067291.tif 000016
【図１５】
2010067291.tif 000017
【図１６】
2010067291.tif 000018
【図１７】
2010067291.tif 000019
【図１８】
2010067291.tif 000020
【図１９】
2010067291.tif 000021
【図２０】
2010067291.tif 000022
【図２１】
2010067291.tif 000023
【図２２】
2010067291.tif 000024
【図２３】
2010067291.tif 000025
【図２４】
2010067291.tif 000026
【図２５】
2010067291.tif 000027
【図２６】
2010067291.tif 000028