(57)【特許請求の範囲】
【請求項１】
異なる複数の閾値電圧によって不揮発にデータを記憶する複数のメモリセルを有するメモリセルアレイと、
前記メモリセルに対するデータ書き込みにおいて、前記メモリセルの閾値電圧を遷移させるプログラム動作、並びに、前記プログラム動作における前記メモリセルの閾値電圧が所定の値に遷移したことを確認するベリファイ動作を有する書き込みループを繰り返し実行する制御回路と
を備え、
前記ベリファイ動作は、前記データに対応した１又は２以上のベリファイステップからなり、前記ベリファイステップには、前記メモリセルの閾値電圧が、前記メモリセルの所望の閾値電圧の下限を示す本ベリファイ電圧よりも低い値で設定された予備ベリファイ電圧まで遷移したことを確認する予備ベリファイステップと、前記メモリセルの閾値電圧が前記本ベリファイ電圧まで遷移したことを確認する本ベリファイステップとがあり、
前記書き込みループには、所定の前記データに対応した前記予備ベリファイステップと当該予備ベリファイステップの後に続く前記本ベリファイステップとを含む第１書き込みループと、前記第１書き込みループから所定の前記データに対応した前記予備ベリファイステップを省略させた第２書き込みループ及び第３書き込みループとがあり、
前記制御回路は、１以上の前記第２書き込みループ、１以上の前記第１書き込みループ、及び１以上の前記第３書き込みループを順次実行する
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記制御回路は、前記書き込みループの繰り返し回数が所定数以上になった後、前記１以上の第３書き込みループを実行する
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記データ書き込みは、複数の前記メモリセルを対象に実行され、
前記制御回路は、前記データ書き込み対象となる前記メモリセルのうち、閾値電圧が前記予備ベリファイ電圧に遷移した前記メモリセルの個数が所定数以上になった後、前記１以上の第３書き込みループを実行する
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
前記制御回路は、前記書き込みループの繰り返し回数が所定数になるまで、所定の前記データに対応した前記本ベリファイステップを省略させた前記書き込みループを実行する
ことを特徴とする請求項１乃至３のいずれか１項記載の不揮発性半導体記憶装置。
【請求項５】
前記書き込みループのプログラム動作は、前記メモリセルの閾値電圧を遷移させる電圧であって互いに異なる電圧を前記メモリセルに印加する２以上のデータに対応したプログラムステップからなり、
前記制御回路は、前記書き込みループの繰り返し回数が所定数以上になると、所定の前記データに対応した前記プログラムステップを省略させた前記書き込みループを実行する
ことを特徴とする請求項１乃至４のいずれか１項記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置の信頼性を向上させる技術として、いわゆるクイックパスライト（Ｑｕｉｃｋ  Ｐａｓｓ  Ｗｒｉｔｅ）方式と呼ばれる動作方式を用いたデータ書き込み方法が提案されている。
【０００３】
このＱＰＷ方式では、データ毎に設定された閾値電圧分布の下限に設けられたベリファイ電圧（以下、「本ベリファイ電圧」と呼ぶ）の他、この本ベリファイ電圧よりも少し低いもう一つのベリファイ電圧（以下、「予備ベリファイ電圧」と呼ぶ）を用いたベリファイ動作を実行する。
【０００４】
そして、メモリセルの閾値電圧が予備ベリファイ電圧に遷移するまでは通常のプログラム動作を実行し、予備ベリファイ電圧を超えた後は閾値電圧の遷移幅がより小さい精密なプログラム動作を実行する。その結果、メモリセルの閾値電圧分布の幅が広がるのを抑制することができる。
【０００５】
しかし、ＱＰＷ方式を用いたデータ書き込みでは、ベリファイ動作において多くの検知動作が必要となるなめ、データ書き込み時の処理時間が長くなる傾向がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−５２２７０７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
データの書き込みを高速化した不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態に係る不揮発性半導体記憶装置は、異なる複数の閾値電圧によって不揮発にデータを記憶する複数のメモリセルを有するメモリセルアレイと、前記メモリセルに対するデータ書き込みにおいて、前記メモリセルの閾値電圧を遷移させるプログラム動作、並びに、前記プログラム動作における前記メモリセルの閾値電圧が所定の値に遷移したことを確認するベリファイ動作を有する書き込みループを繰り返し実行する制御回路とを備え、前記ベリファイ動作は、前記メモリセルの閾値電圧が、前記メモリセルの所望の閾値電圧の下限を示す本ベリファイ電圧よりも低い値で設定された予備ベリファイ電圧まで遷移したことを確認する予備ベリファイステップ、並びに、前記メモリセルの閾値電圧が前記本ベリファイ電圧まで遷移したことを確認する本ベリファイステップからなり、前記書き込みループは、前記各データに対応した１又は２以上の前記ベリファイ動作からなり、前記制御回路は、所定の第１条件を具備した後、所定の前記データに対応した前記ベリファイ動作の予備ベリファイステップを省略させた前記書き込みループを実行することを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る不揮発性半導体記憶装置のブロック図である。
【図２】同実施形態に係る不揮発性半導体記憶装置のメモリセルアレイの回路図である。
【図３】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時におけるメモリセル群の閾値電圧分布の遷移の様子を示す図である。
【図４】クイックパスライト方式の書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。
【図５】クイックパスライト方式の書き込みシーケンス時のワード線に印加される電圧の様子を示す図である。
【図６】クイックパスライト方式の書き込みシーケンス時の制御区分を説明する図である。
【図７】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの原理を説明する図である。
【図８】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【図９】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図１０】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図１１】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図１２】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【図１３】第２の実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの原理を説明する図である。
【図１４】同実施形態に係る書き込みシーケンスの効果を説明する図である。
【図１５】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図１６】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図１７】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【図１８】第３の実施形態に係る書き込みシーケンスの効果を説明する図である。
【図１９】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２０】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図２１】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２２】第４の実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２３】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図２４】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２５】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２６】第５の実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２７】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスの効果を説明する図である。
【図２８】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図２９】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時における各書き込みループのベリファイステップの実行／省略を示す図である。
【図３０】第６の実施形態に係る不揮発性半導体記憶装置の書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。
【図３１】同実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【図３２】第７の実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【図３３】同実施形態に係る不揮発性半導体記憶装置において、第６の実施形態を適用した場合の書き込みシーケンスのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態に係る不揮発性半導体記憶装置について説明する。
【００１１】
［第１の実施形態］
＜全体構成＞
先ず、第１の実施形態に係る不揮発性半導体記憶装置の全体構成について説明する。
図１は、本実施形態に係る不揮発性半導体記憶装置のブロック図である。
【００１２】
このＮＡＮＤ型フラッシュメモリは、ＮＡＮＤチップ１０及びこのＮＡＮＤチップ１０を制御するコントローラ１１を備える。
【００１３】
ＮＡＮＤチップ１０を構成するメモリセルアレイ１は、後述するように、複数の浮遊ゲート型のメモリセルをマトリクス状に配置して構成される。このメモリセルアレイ１には、必要に応じて、ユーザからアクセスできないＲＯＭヒューズ領域１ａを設けても良い。このＲＯＭヒューズ領域１ａには、データ書き込み時など装置の制御に必要な各種情報が記憶される。
【００１４】
メモリセルアレイ１の周辺には、ロウデコーダ／ワード線ドライバ２ａ、カラムデコーダ２ｂ、ページバッファ３及び電圧発生回路８が配置されている。これら、ロウデコーダ／ワード線ドライバ２ａ、カラムデコーダ２ｂ、ページバッファ３及び電圧発生回路８は制御回路を構成するものであり、メモリセルアレイ１に対してページ単位でデータの書き込み、或いは読み出しを行う。
【００１５】
ロウデコーダ／ワード線ドライバ２ａは、メモリセルアレイ１のワード線及び選択ゲート線を駆動する。ページバッファ３は、１ページ分のセンスアンプ回路とデータ保持回路を備えている。ページバッファ３の１ページ分の読み出しデータは、カラムデコーダ２ｂにより順次カラム選択されて、Ｉ／Ｏバッファ９を介して外部Ｉ／Ｏ端子に出力される。Ｉ／Ｏ端子から供給される書き込みデータは、カラムデコーダ２ｂにより選択されてページバッファ３にロードされる。ページバッファ３には、１ページ分の書き込みデータがロードされる。ロウアドレス信号及びカラムアドレス信号はＩ／Ｏバッファ９を介して入力され、それぞれ、ロウデコーダ２ａ及びカラムデコーダ２ｂに転送される。ロウアドレスレジスタ５ａは、消去動作では、消去ブロックアドレスを保持し、書き込み動作や読み出し動作ではページアドレスを保持する。カラムアドレスレジスタ５ｂには、書き込み動作開始前の書き込みデータロードのための先頭カラムアドレスや、読み出し動作のための先頭カラムアドレスが入力される。書き込みイネーブル／ＷＥや読み出しイネーブル／ＲＥが、所定の条件でトグルされるまで、カラムアドレスレジスタ５ｂは入力されたカラムアドレスを保持する。
【００１６】
ロジック制御回路６は、チップイネーブル信号／ＣＥ、コマンドイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ等の制御信号に基づいて、コマンドやアドレスの入力、データの入出力を制御する。読み出し動作や書き込み動作はコマンドで実行される。コマンドを受けて、シーケンス制御回路７は、読み出し動作や、書き込み或いは消去のシーケンス制御を行う。電圧発生回路８は、制御回路７により制御されて、種々の動作に必要な所定の電圧を発生する。
【００１７】
コントローラ１１は、ＮＡＮＤチップ１０の現在の書き込み状態に適した条件でデータの書き込み及び読み出しの制御を実行する。なお、後述する書き込み動作の一部は、ＮＡＮＤチップ１０側で行うようにしても良い。
【００１８】
＜メモリセルアレイ＞
次に、本実施形態に係る不揮発性半導体記憶装置のメモリセルアレイ１について説明する。
【００１９】
図２は、メモリセルアレイ１の回路図である。図２の場合、６４個の直列接続されたメモリセルＭＣ０〜ＭＣ６３とその両端に接続された選択ゲートトランジスタＳＧ０、ＳＧ１により、ＮＡＮＤストリング４が構成されている。選択ゲートトランジスタＳＧ０のソースは、共通ソース線ＣＥＬＳＲＣに接続され、選択ゲートトランジスタＳＧ１のドレインはビット線ＢＬ（ＢＬ０〜ＢＬｎ−１）に接続される。メモリセルＭＣ０〜ＭＣ６３の制御ゲートはそれぞれワード線ＷＬ（ＷＬ０〜ＷＬ６３）に接続され、選択ゲートトランジスタＳＧ０、ＳＧ１のゲートは、選択ゲート線ＳＬ０、ＳＬ１に接続される。
【００２０】
１つのワード線ＷＬに沿う複数のメモリセルＭＣの範囲が、一括したデータの読み出し及び書き込みの単位となるページとなる。また、ワード線ＷＬ方向に並ぶ複数のＮＡＮＤストリング４の範囲が、データの一括消去の単位となるブロックＢＬＫを構成する。図２では、ビット線ＢＬ方向にビット線ＢＬを共有する複数のブロックＢＬＫ０〜ＢＬＫｍ−１を配列して、セルアレイ１が構成されている。ワード線ＷＬ及び選択ゲート線ＳＬ０、ＳＬ１は、ロウデコーダ２ａにより駆動される。各ビット線ＢＬは、ページバッファ３のセンスアンプ回路Ｓ／Ａに接続されている。
【００２１】
ここで、このようなＮＡＮＤ型フラッシュメモリのアクセス単位である「ページ」について説明する。以下の説明において、「ページ」とは、異なる２つの意味を有するので注意を要する。
【００２２】
第１は、１つのワード線に沿う一括したデータアクセス単位としての「ページ」である。そして、第２は、１つのメモリセルに複数ビットを記憶する場合の記憶データの階層を示す「ページ」であり、この場合、「Ｌ（Ｌｏｗｅｒ）ページ」、「Ｕ（Ｕｐｐｅｒ）ページ」などと呼ぶ。
【００２３】
＜クイックパスライト方式の書き込みシーケンス＞
先ず、本実施形態のデータ書き込みについて説明する前に、以下で用いる用語について説明しておく。
【００２４】
始めに、データ書き込み時に実行される一連の処理を「書き込みシーケンス」と呼ぶ。この書き込みシーケンスは、実際にメモリセルの閾値電圧を遷移させる「プログラム動作」と、メモリセルの閾値電圧を確認する「ベリファイ動作」からなる「書き込みループ」の繰り返しによって実行される。各プログラム動作は、１又は２以上の「プログラムステップ」からなる。各プログラムステップでは、ワード線に対してメモリセルの閾値電圧の遷移に必要なプログラム電圧を１回印加される。また、各ベリファイ動作は、１又は２以上の「ベリファイステップ」からなる。各ベリファイステップでは、所定のベリファイ電圧を用いたメモリセルの閾値電圧の検知動作が１回実行される。なお、このベリファイステップを、その目的に応じて「本ベリファイステップ」或いは「予備ベリファイステップ」と呼ぶこともある。これら本ベリファイステップ或いは予備ベリファイステップについては、以下で詳しく説明する。
【００２５】
次に、本実施形態の書き込みシーケンスについて説明する。
図３は、２ビット／セルのメモリセルを用いた場合の書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。
【００２６】
始めに、データ消去を実行する。これは、ブロック全体に対して一括に実行される。その結果、ブロック内の全てのメモリセルの閾値電圧は、最も低いＥＲレベルになる。
【００２７】
続いて、Ｌページ書き込みを実行する。これは、書き込みデータの下位ビットに基づいて実行される。下位ビットが“１”の場合、メモリセルの閾値電圧はＥＲレベルに維持される。下位ビットが“０”の場合、メモリセルの閾値電圧はＥＲレベルからＡレベルとＢレベルとの中間レベルであり、メモリセル群の閾値電圧分布の下限が電圧Ｖｌｍよりも高いＬＭレベルに遷移する。ただし、メモリセル群の閾値電圧分布は、ＥＣＣ救済できるビット数までは電圧Ｖｌｍよりも低くしてもよい場合がある。また、以降「メモリセルの閾値電圧が電圧よりも高いレベル」とは、「閾値電圧分布の下限が電圧よりも高い」を意味する。
【００２８】
最後に、Ｕページ書き込みを実行する。これは、書き込みデータの上位ビットに基づいて実行される。もし、メモリセルの閾値電圧がＥＲレベルならば、上位データが“１”の場合、メモリセルの閾値電圧はＥＲレベルのまま維持する。逆に、上位ビットが“０”の場合、メモリセルの閾値電圧は電圧Ｖａ（Ｖａ＜Ｖｌｍ）よりも高いＡレベルに遷移する。一方、メモリセルの閾値電圧がＬＭレベルならば、上位ビットが“０”の場合、メモリセルの閾値電圧は電圧Ｖｂ（Ｖａ＜Ｖｂ）よりも高いＢレベルに遷移する。逆に、上位ビットが“１”の場合、メモリセルの閾値電圧は電圧Ｖｃ（Ｖｂ＜Ｖｃ）よりも高いＣレベルまで遷移する。
【００２９】
以上のように、メモリセルに対する２ビットデータの書き込みは、Ｌページ書き込みとＵページ書き込みの２段階によって実現される。各ページの書き込みは、前述のように、書き込みループの繰り返しによって実現される。
【００３０】
更に、本実施形態では、クイックパスライト方式と呼ばれる動作方式の書き込みシーケンスを用いる。以下において、クイックパスライト方式を「ＱＰＷ方式」と呼ぶ。また、ＱＰＷ方式の書き込みシーケンスを単に「書き込みシーケンス」と呼ぶこともある。
【００３１】
ＱＰＷ方式とは、ある書き込みループのベリファイ動作の結果に応じて、次の書き込みループにおけるメモリセルの閾値電圧の遷移量を調整することを特徴とする動作方式である。なお、以下では、所定のプログラム電圧を印加した場合のメモリセルの閾値電圧の遷移量、つまり、メモリセルの閾値電圧の遷移のし易さを「プログラム速度」と呼ぶことにする。
【００３２】
図４は、書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。図５は、書き込みシーケンス時のワード線に印加される電圧Ｖｗｌの様子を示す図である。また、図６は、書き込みシーケンスの制御区分を説明する図である。
【００３３】
図４は、メモリセル群の閾値電圧分布を分布Ｄ０から分布Ｄ２まで遷移させる例を示している。
【００３４】
本実施形態の書き込みシーケンスでは、前述の通り、プログラム動作とベリファイ動作からなる書き込みループＬＷを繰り返し実行する。
【００３５】
このうち、各書き込みループＬＷのプログラムステップＳＰαでは、メモリセルの閾値電圧を電圧Ｖα（図３の電圧Ｖａ、Ｖｂ、Ｖｃに相当）に遷移させるために必要なプログラム電圧Ｖｐαがワード線に印加される。このプログラム電圧Ｖｐαは、書き込みループＬＷの回数が増えるにつれ、図５に示すように、ΔＶｐずつステップアップされていく。
【００３６】
また、各書き込みループＬＷのベリファイ動作では、レベル毎に２回のベリファイステップが実行される。１回目のベリファイステップは、予備ベリファイステップＳＶα´（図３の電圧Ｖａ´、Ｖｂ´、Ｖｃ´に相当）である。予備ベリファイステップＳＶα´は、予備ベリファイ電圧Ｖα´を用いたベリファイステップである。この予備ベリファイ電圧Ｖα´は、所望の閾値電圧分布Ｄ２の下限よりも少し低く設定されている。２回目のベリファイステップは、本ベリファイステップＳＶαである。本ベリファイステップＳＶαは、本ベリファイ電圧Ｖαを用いたベリファイステップである。この本ベリファイ電圧Ｖαは、所望の閾値電圧分布Ｄ２の下限に設定されている。
【００３７】
ＱＰＷ方式の書き込みシーケンスの特徴は、前述の通りであるが、具体的には、所定の書き込みループＬＷにおける上記ベリファイ動作によってメモリセルの閾値電圧が、Ｖｔｈ≦Ｖα´（図６の閾値電圧分布Ｄａ）、Ｖα´＜Ｖｔｈ≦Ｖα（図６の閾値電圧分布Ｄｂ）、Ｖα＜Ｖｔｈ（図６の閾値電圧分布Ｄｃ）のいずれの区分に属するかを判定する。その結果、メモリセルの閾値電圧がＶｔｈ≦Ｖα´であった場合、次の書き込みループＬＷでは、通常のプログラム動作を実行する。これに対し、メモリセルの閾値電圧がＶα´＜Ｖｔｈ≦Ｖαであった場合、次の書き込みループＬＷでは、プログラム速度を抑えた精密なプログラム動作を実行する。プログラム速度の調整は、例えば、ビット線ＢＬに対して所定の電圧を印加することで実現できる。また、メモリセルＭＣの閾値電圧ＶｔｈがＶα＜Ｖｔｈであった場合、次の書き込みループＬＷのプログラム動作を禁止する。プログラム動作の禁止は、例えば、ビット線ＢＬに対して電源電圧Ｖｄｄを印加すれば良い。
【００３８】
以上の書き込みループＬＷによって、例えば、所定の書き込みループＬＷが終了した時点のメモリセル群の閾値電圧分布があと少しで閾値電圧Ｖｔｈが本ベリファイ電圧Ｖαを超えるメモリセルＭＣ（例えば、図４の分布Ｄ１にある場合）に対して、精密なプログラム動作を実行することができる。そのため、ＱＰＷ方式の書き込みシーケンスによれば、図４の分布Ｄ２で示すような狭小な閾値電圧分布を得ることができる。
【００３９】
しかし、ＱＰＷ方式の書き込みシーケンスの場合、ベリファイ動作におけるベリファイステップ数が多くなるため、書き込みシーケンスの処理時間が長くなる傾向がある。
【００４０】
そこで、第１の実施形態では、無駄な予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図る。
【００４１】
図７は、一回のプログラム動作におけるメモリセル群の閾値電圧分布であり、下限側が本ベリファイ電圧に達していないメモリセル群の閾値電圧分布となる。すなわち、閾値電圧分布の下限側にいるメモリセルＭＣほどプログラム速度が遅いメモリセルＭＣであるといえる。ここで、無駄な予備ベリファイステップとは、図７の点線円ｃ１で示された閾値電圧分布の下裾側のメモリセルＭＣに対する予備ベリファイステップの事である。何故ならば、これらメモリセルＭＣは、プロセスばらつきなどにより元々プログラム速度の遅いメモリセルである。このようなプログラム速度の遅いメモリセルに多少粗いプログラム動作を実行したとしても所望の閾値電圧分布の上限を一挙に超えるようなことは極めて希だからである。つまり、これらプログラム速度が遅いメモリセルＭＣだけについて言えば、本来、ＱＰＷ方式の書き込みシーケンスは不要であり、ＱＰＷ方式を採用したが故に必要となる予備ベリファイステップを省略したとしても、省略しない場合と同程度の狭小な閾値電圧分布が得られるためである。
【００４２】
ここで、メモリセルＭＣのプログラム速度が遅いかを判定する基準であるが、本実施形態では、書き込みループ数を用いて判定する。具体的には、所定の書き込みループ数を実行した時点において閾値電圧が本ベリファイ電圧を超えていないメモリセルをプログラム速度の遅いメモリセルとして扱う。
【００４３】
この場合、書き込みシーケンスは、図８のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路７が、書き込みループ数が所定数Ｎよりも小さいかを判定する（図８のステップＳ１０１）。書き込みループ数が所定数Ｎよりも小さい場合、シーケンス制御回路７は予備ベリファイステップを含む書き込みループを実行し（図８のステップＳ１０２）、書き込みループ数が所定数Ｎ以上の場合、シーケンス制御回路７は予備ベリファイステップを省略させた書き込みループを実行する（図８のステップＳ１０３）。そして、シーケンス制御回路７は、以上のステップＳ１０１〜Ｓ１０３の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する（図８のステップＳ１０４）。この所定数Ｎは、例えば、予めＲＯＭヒューズ領域１ａに記録することができる。また、この所定数Ｎはコントローラ１１よりＮＡＮＤチップ１０に書き込みコマンドと同時に送付されても良い。
【００４４】
以下において、プログラム速度が遅いメモリセルＭＣに対する予備ベリファイステップＶα´を省略する条件を「第１予備ベリファイステップ省略条件」（第１条件）と呼ぶこともある。
【００４５】
図９は、本実施形態の書き込みシーケンスの効果を説明する図である。この図９は、各書き込みループＬＷの理解を容易にするため、ワード線ＷＬに印加される電圧Ｖｗｌによって表現している。また、全ての書き込みループＬＷにおいて予備ベリファイステップＳＶα´を省略しない書き込みシーケンスを用いた場合も比較例として示している。
【００４６】
なお、以下で説明する実施形態に対する比較例は、全ての書き込みループＬＷにおいて予備ベリファイステップＳＶα´を省略しない書き込みシーケンスを用いた場合をいう。
【００４７】
図９に示す例は、４回の書き込みループＬＷ＜１＞〜＜４＞で書き込みシーケンスが完了する場合であり、書き込みループ数が３以上であることを第１予備ベリファイステップ省略条件とする場合である。
【００４８】
図９に示す場合、３回目、４回目の書き込みループＬＷ＜３＞、＜４＞の予備ベリファイステップＳＶα´が省略されるため、比較例に比べ、予備ベリファイステップＳＶα´を２回処理する時間Δｔだけ書き込みシーケンスの処理時間を短縮できる。
【００４９】
次に、図１０及び図１１を用いて説明した書き込みシーケンスを、２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合について説明する。
【００５０】
図１０は、本実施形態の書き込みシーケンスを２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。また、図１１は、図１０示す書き込みシーケンスの効果を説明する図である。
【００５１】
図１０及び図１１に示す例では、Ｌページ書き込み後に、Ｕページ書き込みにおいて、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行う。したがって、プログラム動作は、１回のプログラムステップＳＰしか実行しない。なお、Ｌページ書き込みを行わず、Ｕページ書き込みのみで、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行ってもよい。
【００５２】
また、Ａレベル、Ｂレベル、Ｃレベルのプログラムのために実行される書き込みループ回数を、それぞれ１０回、１５回、２０回で設定している。また、Ａレベル、Ｂレベル、Ｃレベルの第１予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ８回以上、１３回以上、１８回以上で設定している。
【００５３】
この場合、図１０左図及び図１１下図に示すように、１回目の書き込みループＬＷ＜１＞では、プログラムステップＳＰ、Ａレベルに対する予備ベリファイステップＳＶａ´及び本ベリファイステップＳＶａ、Ｂレベルに対する予備ベリファイステップＳＶｂ´及び本ベリファイステップＳＶｂ、並びに、Ｃレベルに対する予備ベリファイステップＳＶｃ´及びＳＶｃの計７ステップの処理を実行する。続く２回目〜７回目の書き込みループＬＷ＜２＞〜＜７＞は、それぞれ書き込みループＬＷ＜１＞と同様である。
【００５４】
８回目の書き込みループＬＷ＜８＞からは、Ａレベルに対する予備ベリファイステップＳＶａ´を省略する。そのため、書き込みループＬＷ＜８＞では、計６ステップの処理を実行する。続く８回目、９回目の書き込みループＬＷ＜９＞、＜１０＞は、それぞれ書き込みループＬＷ＜７＞と同様である。
【００５５】
ここまでで、メモリセルＭＣに対するＡレベルのプログラムは完了する。したがって、以降の書き込みループＬＷからは、Ａレベルに対するプログラム動作及びベリファイ動作はなくなる。
【００５６】
続く１１回目の書き込みループＬＷ＜１１＞では、計５ステップの処理を実行する。続く１２回目の書き込みループＬＷ＜１２＞は、それぞれ書き込みループＬＷ＜１１＞と同様である。
【００５７】
１３回目の書き込みループＬＷ＜１３＞からは、Ｂレベルに対する予備ベリファイステップＳＶｂ´を省略する。そのため、書き込みループＬＷ＜１３＞では、計４ステップの処理を実行する。
【００５８】
ここまでで、メモリセルＭＣに対するＢレベルのプログラムは完了する。したがって、以降の書き込みループＬＷからは、Ｂレベルに対するプログラム動作及びベリファイ動作はなくなる。
【００５９】
続く１６回目の書き込みループＬＷ＜１６＞では、計３ステップの処理を実行する。続く１７回目の書き込みループＬＷ＜１７＞は、書き込みループＬＷ＜１６＞と同様である。
【００６０】
１８回目の書き込みループＬＷ＜１８＞からは、Ｃレベルに対する予備ベリファイステップＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１８＞では、計２ステップの処理を実行する。続く１９回目の書き込みループＬＷ＜１９＞及び最後の２０回目の書き込みループＬＷ＜２０＞は、それぞれ書き込みループＬＷ＜１８＞と同様である。
【００６１】
以上から、本実施形態の場合、書き込みループＬＷ＜１＞〜＜２０＞を計１０１ステップで処理することができる。
【００６２】
これに対し、比較例の場合、図１０左図及び図１１上図に示すように、１回目の書き込みループＬＷ＜１＞からメモリセルＭＣに対するＡレベルのプログラムが完了する１０回目の書き込みループＬＷ＜１０＞までは、それぞれ計７ステップの処理を実行する。続く１１回目の書き込みループＬＷ＜１１＞からメモリセルＭＣに対するＢレベルのプログラムが完了する１５回目の書き込みループＬＷ＜１５＞までは、それぞれ計５ステップの処理を実行する。そして、続く１６回目の書き込みループＬＷ＜１６＞からメモリセルＭＣに対するＣレベルのプログラムが完了する２０回目の書き込みループＬＷ＜２０＞までは、それぞれ計３ステップの処理を実行する。
【００６３】
以上から、比較例の場合、書き込みループＬＷ＜１＞〜＜２０＞を計１１０ステップで処理することになる。
【００６４】
書き込みシーケンスは、図１２のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路７が、書き込みループ数が所定数ＮＡよりも小さいかを判定する（図１２のステップＳ１０１Ａ）。同様に、シーケンス制御回路７が、書き込みループ数が所定数ＮＢ、ＮＣよりも小さいかを判定する（図１２のステップＳ１０１Ｂ、Ｓ１０１Ｃ）。
【００６５】
ここで、ＮＡ＜ＮＢ＜ＮＣの関係がある。また、図１０において、ＮＡは７回目のループ数、ＮＢは１２回目のループ数、ＮＣは１７回目のループ数である。
【００６６】
シーケンス制御回路７は、ステップＳ１０１Ａ〜Ｓ１０１Ｃにそれぞれ該当するか否かにより、各レベルの予備ベリファイステップを行うか省略するかを決定する（図１２のステップＳ１０２）。そして、シーケンス制御回路７は、以上のステップＳ１０１Ａ〜Ｓ１０２の処理を、メモリセルＭＣへのプログラムが完了するまで繰り返し実行する（図１２のステップＳ１０４）。
【００６７】
つまり、本実施形態の場合、図１１に示すように、比較例と比べて、書き込みシーケンスの処理時間を９ステップ分短縮することができる。また、この場合であっても、プログラム速度が遅いメモリセルＭＣに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´しか省略しないため、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
【００６８】
以上、本実施形態によれば、ＱＰＷ方式の書き込みシーケンスの効果を維持しつつ、書き込みシーケンスの処理時間を短縮することができる。
【００６９】
［第２の実施形態］
第１の実施形態では、プログラム速度の遅いメモリセルに対する予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図った。これに対し、第２の実施形態では、更に、プログラム速度の速いメモリセルに対する予備ベリファイステップも省略する。
【００７０】
図１３は、一回のプログラム動作におけるメモリセル群の閾値電圧分布である。すなわち、閾値電圧分布の上限側にいるメモリセルＭＣほどプログラム速度が速いメモリセルＭＣであるといえる。ここで、プログラム速度の速いメモリセルＭＣとは、例えば、図１３の点線円ｃ１で示された閾値電圧分布の上裾側のメモリセルＭＣの事である。これらプログラム速度の速いメモリセルＭＣの場合、１回のプログラム動作による閾値電圧Ｖｔｈの遷移量が大きい。したがって、メモリセルＭＣの閾値電圧Ｖｔｈが予備ベリファイ電圧Ｖα´以下であったとしても、１回のプログラム動作によって、閾値電圧Ｖｔｈが一挙に本ベリファイ電圧Ｖαを超えてしまうことも多い。すなわち、図１３の点線円ｃ１に属するメモリセルＭＣは本ベリファイ電圧より大きい閾値電圧を有している。なお、プログラム速度が速いメモリセルＭＣもプロセスばらつき等により発生する。
【００７１】
また、このようにプログラム速度が速いメモリセルＭＣの数は、図１３の閾値電圧分布を見ても分かるようにそれほど多いものではない。
【００７２】
したがって、プログラム速度が速いメモリセルＭＣに対する予備ベリファイステップを省略したとしても、メモリセル群の閾値電圧分布の広がりを、比較例と同程度に抑制することができる。
【００７３】
そこで、本実施形態では、早い段階で実行される書き込みループの予備ベリファイステップを省略することで、プログラム速度が速いメモリセルＭＣに対する無駄な予備ベリファイステップの処理時間を短縮する。なお、その他のメモリセルＭＣについては、早い段階で実行される書き込みループによって閾値電圧Ｖｔｈが予備ベリファイ電圧Ｖα´に達しないため、このことによる不都合は生じない。
【００７４】
以下において、プログラム速度が速いメモリセルＭＣに対する予備ベリファイステップを省略する条件を「第２予備ベリファイステップ省略条件」（第２条件）と呼ぶ。
【００７５】
図１４は、本実施形態の書き込みシーケンスの効果を説明する図である。この図１４も、図９と同様、各書き込みループＬＷの理解を容易にするため、ワード線ＷＬに印加される電圧Ｖｗｌによって表現している。
【００７６】
図１４に示す具体例は、６回の書き込みループＬＷ＜１＞〜＜６＞で書き込みシーケンスが完了する場合であり、書き込みループ数が６以上であることを第１予備ベリファイステップ省略条件、書き込みループ数が１以下であることを第２予備ベリファイステップ省略条件とする場合である。
【００７７】
図１４に示す具体例の場合、１番目、６番目の書き込みループＬＷ＜１＞、＜６＞の予備ベリファイステップＳＶα´が省略されるため、比較例に比べ、予備ベリファイステップＳＶα´を２回処理する時間Δｔだけ書き込みシーケンスの処理時間を短縮できる。
【００７８】
次に、図１５及び図１６を用いて説明した書き込みシーケンスを、２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合について説明する。図１５及び図１６に示す例では、Ｌページ書き込み後に、Ｕページ書き込みにおいて、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行う。したがって、プログラム動作は、１回のプログラムステップＳＰしか実行しない。なお、Ｌページ書き込みを行わず、Ｕページ書き込みのみで、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行ってもよい。
【００７９】
図１５は、本実施形態の書き込みシーケンスを２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。また、図１６は、図１５に示す書き込みシーケンスの効果を説明する図である。なお、図１５に示す具体例に対する比較例は、図１０左図と同様であるため省略している。
【００８０】
図１５及び図１６に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの第２予備ベリファイステップ条件を、書き込みループ数がそれぞれ２回以下、４回以下、７回以下で設定している。第１予備ベリファイステップ省略条件等、その他の条件については図１０右図及び図１１下図に示す具体例と同様である。
【００８１】
この場合、図１５及び図１６下図に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１＞では、計４ステップの処理を実行する。続く２回目の書き込みループＬＷ＜２＞は、書き込みループＬＷ＜１＞と同様である。
【００８２】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜３＞では、計５ステップの処理を実行する。続く４回目の書き込みループＬＷ＜４＞は、書き込みループＬＷ＜３＞と同様である。
【００８３】
５回目の書き込みループＬＷ＜５＞からは、新たにＢレベルに対する予備ベリファイステップＳＶｂ´を実行する。そのため、書き込みループＬＷ＜５＞では、計６ステップの処理を実行する。続く６回目、７回目の書き込みループＬＷ＜６＞、＜７＞は、それぞれ書き込みループＬＷ＜５＞と同様である。
【００８４】
続く８回目〜２０回目の書き込みループＬＷ＜８＞〜＜２０＞については、図１０及び図１１に示す具体例と同様であるため説明を省略する。
【００８５】
以上から、本実施形態の場合、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計８８ステップで処理することができる。
【００８６】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計１１０ステップかけて処理することになる。
【００８７】
つまり、本実施形態の場合、図１６に示すように、比較例と比べて、書き込みシーケンスの処理時間を２２ステップ分だけ短縮することができる。また、この場合であっても、プログラム速度が遅いメモリセルＭＣ及びプログラム速度の速いメモリセルＭＣに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´しか省略しないため、メモ
【００８８】
書き込みシーケンスは、図１７のようになる。つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路７が、書き込みループ数が所定数ＮＡＬ以上且つＮＡＨよりも小さいかを判定する（図１７のステップＳ２０１Ａ）。同様に、シーケンス制御回路７が、書き込みループ数が所定数ＮＢＬ、ＮＣＬ以上且つＮＢＨ、ＮＣＨよりも小さいかを判定する（図１７のステップＳ２０１Ｂ、Ｓ２０１Ｃ）。
【００８９】
ここで、ＮＡＨ＜ＮＢＨ＜ＮＣＨの関係がある。また、ＮＡＬ＜ＮＢＬ＜ＮＣＬの関係がある。また、図１５において、ＮＡＨは７回目のループ数、ＮＢＨは１２回目のループ数、ＮＣＨは１７回目のループ数である。また、図１５において、ＮＡＬは２回目のループ数、ＮＢＬは４回目のループ数、ＮＣＬは７回目のループ数である。
【００９０】
シーケンス制御回路７は、ステップＳ２０１Ａ〜Ｓ２０１Ｃにそれぞれ該当するか否かにより、各レベルの予備ベリファイステップを行うか省略するかを決定する（図１７のステップＳ２０２）。そして、シーケンス制御回路７は、以上のステップＳ２０１Ａ〜Ｓ２０２の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する（図１７のステップＳ２０４）。
【００９１】
以上、本実施形態によれば、ＱＰＷ方式の書き込みシーケンスの効果を維持しつつ、第１の実施形態よりも更に、書き込みシーケンスの処理時間を短縮することができる。
【００９２】
［第３の実施形態］
第１及び第２の実施形態では、予備ベリファイステップを省略することで、書き込みシーケンスの処理時間の短縮を図った。これに対し、第３の実施形態では、更に、メモリセルの閾値電圧が本ベリファイ電圧に達しない早い段階の書き込みループの本ベリファイステップも省略する。
【００９３】
以下において、このように、本ベリファイステップを省略する条件を「本ベリファイステップ省略条件」と呼ぶ。
【００９４】
図１８は、本実施形態の書き込みシーケンスの効果を説明する図である。この図１８も、図１４と同様、各書き込みループＬＷの理解を容易にするため、ワード線ＷＬに印加される電圧Ｖｗｌによって表現している。
【００９５】
図１８に示す具体例は、６回の書き込みループＬＷ＜１＞〜＜６＞で書き込みシーケンスが完了する場合であり、書き込みループ数が２以下であることを第１予備ベリファイステップ省略条件、書き込みループ数が６以上であることを第２予備ベリファイステップ省略条件、書き込みループ数が１以下であることを本ベリファイステップ省略条件とする場合である。
【００９６】
図１８に示す場合、１番目、２番目、６番目の書き込みループＬＷ＜１＞、＜２＞、＜６＞の予備ベリファイステップＳＶα´、並びに、書き込みループＬＷ＜１＞の本ベリファイステップＳＶαが省略されるため、比較例に比べ、ベリファイステップＳＶα´、ＳＶαを４回処理する時間Δｔだけ書き込みシーケンスの処理時間を短縮できる。
【００９７】
次に、図１８を用いて説明した書き込みシーケンスを、２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合について説明する。
【００９８】
図１９は、本実施形態の書き込みシーケンスを２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。また、図２０は、図１９に示す書き込みシーケンスの効果を説明する図である。なお、図１９に示す具体例に対する比較例は、図１０左図と同様であるため省略している。図１９及び図２０に示す例では、Ｌページ書き込み後に、Ｕページ書き込みにおいて、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行う。したがって、プログラム動作は、１回のプログラムステップＳＰしか実行しない。なお、Ｌページ書き込みを行わず、Ｕページ書き込みのみで、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行ってもよい。
【００９９】
図１９及び図２０下図に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの本ベリファイステップ条件を、書き込みループ数がそれぞれ１回以下、３回以下、６回以下で設定している。第１予備ベリファイステップ省略条件、第２予備ベリファイステップ省略条件等、その他の条件については図１５及び図１６上図と同様である。
【０１００】
この場合、図１９及び図２０下図に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´及び本ベリファイステップＳＶａ、ＳＶｂ、ＳＶｃを省略する。そのため、書き込みループＬＷ＜１＞では、計１ステップの処理を実行する。
【０１０１】
２回目の書き込みループＬＷ＜２＞からは、新たにＡレベルに対する本ベリファイステップＳＶａを実行する。そのため、書き込みループＬＷ＜２＞では、計２ステップの処理を実行する。
【０１０２】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜３＞では、計３ステップの処理を実行する。
【０１０３】
４回目の書き込みループＬＷ＜４＞からは、新たにＢレベルに対する本ベリファイステップＳＶｂを実行する。そのため、書き込みループＬＷ＜４＞では、計４ステップの処理を実行する。
【０１０４】
５回目の書き込みループＬＷ＜５＞からは、新たにＢレベルに対する予備ベリファイステップＳＶｂ´を実行する。そのため、書き込みループＬＷ＜５＞では、計５ステップの処理を実行する。続く６回目の書き込みループＬＷ＜６＞は、書き込みループＬＷ＜５＞と同様である。
【０１０５】
７回目の書き込みループＬＷ＜７＞からは、新たにＣレベルに対する本ベリファイステップＳＶｃを実行する。そのため、書き込みループＬＷ＜７＞では、計６ステップの処理を実行する。
【０１０６】
続く８回目〜２０回目の書き込みループＬＷ＜８＞〜＜２０＞については、図１０及び図１１に示す具体例と同様であるため説明を省略する。
【０１０７】
以上から、本実施形態の場合、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計７８ステップで処理することができる。
【０１０８】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計１１０ステップかけて処理することになる。
【０１０９】
つまり、本実施形態の場合、図２０に示すように、比較例と比べて、書き込みシーケンスの処理時間を３２ステップ分短縮することができる。また、この場合であっても、予備ベリファイステップＳＶα´については、第２の実施形態と同様に無駄なものしか省略せず、また、本ベリファイステップＳＶαについてもメモリセルＭＣの閾値電圧Ｖｔｈが本ベリファイ電圧Ｖαに達しないような早い段階の書き込みループのものしか省略しない。そのため、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
【０１１０】
以上で説明した図１９及び図２０下図に示した具体例では、第２予備ベリファイステップ省略条件よりも本ベリファイステップ省略条件の方が、基準となる書き込みループ数が少なかった。これに対し、次に説明する具体例は、第２予備ベリファイステップ省略条件よりも本ベリファイステップ省略条件の方が、基準となる書き込みループ数が多い具体例である。
【０１１１】
図２１は、本実施形態の書き込みシーケンスを２ビット／セルのメモリセルＭＣを用いた不揮発性半導体記憶装置に適用した場合であって、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。なお、図２１に示す具体例に対する比較例は、図１０左図と同様であるため省略している。
【０１１２】
図２１に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの本ベリファイステップ条件を、書き込みループ数がそれぞれ３回以下、５回以下、７回以下で設定している点を除き、図１９及び図２０に示した具体例と同じである。
【０１１３】
この場合、図２１に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´及び本ベリファイステップＳＶａ、ＳＶｂ、ＳＶｃを省略するそのため、書き込みループＬＷ＜１＞では、計１ステップの処理を実行する。続く２回目の書き込みループＬＷ＜２＞は、書き込みループＬＷ＜１＞と同様である。
【０１１４】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜３＞では、計２ステップの処理を実行する。
【０１１５】
４回目の書き込みループＬＷ＜４＞からは、新たにＡレベルに対する本ベリファイステップＳＶａを実行する。そのため、書き込みループＬＷ＜４＞では、計３ステップの処理を実行する。
【０１１６】
５回目の書き込みループＬＷ＜５＞からは、新たにＢレベルに対する予備ベリファイステップＳＶｂ´を実行する。そのため、書き込みループＬＷ＜５＞では、計４ステップの処理を実行する。
【０１１７】
６回目の書き込みループＬＷ＜６＞からは、新たにＢレベルに対する本ベリファイステップＳＶｂを実行する。そのため、書き込みループＬＷ＜６＞では、計５ステップの処理を実行する。続く７回目の書き込みループＬＷ＜７＞は、書き込みループＬＷ＜６＞と同様である。
【０１１８】
８回目の書き込みループＬＷ＜８＞からは、新たにＣレベルに対する予備ベリファイステップＳＶｃ´を実行する一方、Ａレベルに対する予備ベリファイステップＳＶａ´を省略する。そのため、書き込みループＬＷ＜８＞では、計５ステップの処理を実行する。
【０１１９】
続く９回目〜２０回目の書き込みループＬＷ＜９＞〜＜２０＞については、図１０に示す具体例と同様であるため説明を省略する。
【０１２０】
以上から、本実施形態の場合、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計７２ステップで処理することになる。
【０１２１】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜ＬＷ＜２０＞を計１１０ステップかけて処理することになる。
【０１２２】
つまり、本実施形態の場合、比較例と比べて、書き込みシーケンスの処理時間を３８ステップ分だけ短縮することができる。また、この場合であっても、図１９及び図２０に示した具体例と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
【０１２３】
以上、本実施形態によれば、ＱＰＷ方式の書き込みシーケンスの効果を維持しつつ、第２の実施形態よりも更に、書き込みシーケンスの処理時間を短縮することができる。
【０１２４】
［第４の実施形態］
第４の実施形態は、第１〜第３の実施形態の応用例である。第４の実施形態では、プログラム動作において、各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する。
【０１２５】
本実施形態の書き込みシーケンスのプログラム動作は、Ａレベル及びＢレベルのプログラムをするプログラム電圧Ｖｐａｂを印加するプログラムステップＳＰａと、Ｃレベルのプログラムをするプログラム電圧Ｖｐｃを印加するプログラムステップＳＰｃからなる。すなわち、最も高いＣレベルのプログラムはその閾値電圧分布の上限をあまり気にしなくて良い。一方、Ａレベル、Ｂレベルのプログラムは、その閾値電圧分布の上限は他の閾値電圧分布と干渉しないように調整する必要がある。その結果、Ｃレベルの閾値電圧分布のプログラムを高速に行うことができ、Ａレベル、Ｂレベルの閾値電圧分布を正確にプログラムすることができる。
【０１２６】
このように、Ａレベル及びＢレベルのプログラムステップＶｐａｂと、ＣレベルのプログラムステップＶｐｃとを別にした場合、ＢレベルのプログラムよりもＣレベルのプログラムの方が先に完了してしまうということがある。
【０１２７】
そこで、本実施形態では、ＣレベルのプログラムがＢレベルのプログラムよりも先に完了する場合について、第１〜第３の実施形態を応用する。
始めは、第１の実施形態の応用例について図２２及び図２３を用いて説明する。図２２及び図２３に示す例では、Ｌページ書き込み後に、Ｕページ書き込みにおいて、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行う。なお、Ｌページ書き込みを行わず、Ｕページ書き込みのみで、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行ってもよい。
【０１２８】
図２２は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図であり、図２３は、図２２に示す書き込みシーケンスの効果を説明する図である。
【０１２９】
図２２及び図２３に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルのプログラムのために実行される書き込みループ回数を、それぞれ１０回、１５回、１４回に設定している。また、Ａレベル、Ｂレベル、Ｃレベルの第１予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ８回以上、１３回以上、１３回以上で設定している。
【０１３０】
この場合、図２２左図及び図２３下図に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル及びＢレベルのプログラムステップＳＰａｂ、ＣレベルのプログラムステップＳＰｃ、Ａレベルに対する予備ベリファイステップＳＶａ´及び本ベリファイステップＳＶａ、Ｂレベルに対する予備ベリファイステップＳＶｂ´及び本ベリファイステップＳＶｂ、並びに、Ｃレベルに対する予備ベリファイステップＳＶｃ´及びＳＶｃの計８ステップの処理を実行する。続く２回目〜７回目の書き込みループＬＷ＜２＞〜＜７＞は、それぞれ書き込みループＬＷ＜１＞と同様である。
【０１３１】
８回目の書き込みループＬＷ＜８＞からは、Ａレベルに対する予備ベリファイステップＳＶａ´を省略する。そのため、書き込みループＬＷ＜８＞では、計７ステップの処理を実行する。続く９回目、１０回目の書き込みループＬＷ＜９＞、＜１０＞は、書き込みループＬＷ＜８＞と同様である。
【０１３２】
ここまでで、メモリセルＭＣに対するＡレベルのプログラムは完了する。したがって、以降の書き込みループＬＷからは、Ａレベルに対するプログラム動作及びベリファイ動作はなくなる。
【０１３３】
続く１１回目の書き込みループＬＷ＜１１＞では、計６ステップを実行する。続く１２回目の書き込みループＬＷ＜１２＞は、書き込みループＬＷ＜１１＞と同様である。
【０１３４】
１３回目の書き込みループＬＷ＜１３＞からは、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶｂ´、ＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１３＞では、計４ステップの処理を実行する。続く１４回目の書き込みループＬＷ＜１４＞は、書き込みループＬＷ＜１３＞と同様である。
【０１３５】
ここまでで、メモリセルＭＣに対するＣレベルのプログラムが完了する。したがって、以降の書き込みループＬＷからは、Ｃレベルに対するプログラム動作及びベリファイ動作はなくなる。
【０１３６】
最後に１５回目の書き込みループＬＷ＜１５＞では、計２ステップの処理が実行される。
【０１３７】
以上から、図２２右図及び図２３下図に示す具体例の場合、書き込みループＬＷ＜１＞〜＜１５＞を計９９ステップで処理することができる。
【０１３８】
これに対し、比較例の場合、図２２左図及び図２３上図に示すように、１回目の書き込みループＬＷ＜１＞からメモリセルＭＣに対するＡレベルのプログラムが完了する１０回目の書き込みループＬＷ＜１０＞までは、それぞれ計８ステップの処理を実行する。続く１１回目の書き込みループＬＷ＜１１＞からメモリセルＭＣに対するＣレベルのプログラムが完了する１４回目の書き込みループＬＷ＜１４＞までは、それぞれ計６ステップの処理を実行する。そして、メモリセルＭＣに対するＢレベルのプログラムが完了する１５回目の書き込みループＬＷ＜１５＞では、計３ステップの処理を実行する。
【０１３９】
以上から、比較例の場合、書き込みループＬＷ＜１＞〜＜１５＞を計１０７ステップかけて処理することになる。
【０１４０】
つまり、図２２右図及び図２３下図に示す具体例の場合、図２３に示すように、比較例に比べて、書き込みシーケンスの処理時間を８ステップ分短縮することができる。また、この場合であっても、第１の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。また、Ｃレベルの閾値電圧分布のプログラムを高速に行うことができ、Ａレベル、Ｂレベルの閾値電圧分布を正確にプログラムすることができる。
【０１４１】
次に、第２の実施形態の応用例について図２４を用いて説明する。
図２４は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。なお、図２４に示す具体例に対する比較例は、図２２左図と同様であるため省略している。
【０１４２】
図２４に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの第２予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ２回以下、４回以下、４回以下で設定している。第１予備ベリファイステップ省略条件等、その他の条件につては図２２右図及び図２３下図に示す具体例と同様である。
【０１４３】
この場合、図２４に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１＞では、計５ステップの処理を実行する。続く２回目の書き込みループＬＷ＜２＞は、書き込みループＬＷ＜１＞と同様である。
【０１４４】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜３＞では、計６ステップの処理を実行する。続く４回目の書き込みループＬＷ＜４＞は、書き込みループＬＷ＜３＞と同様である。
【０１４５】
５回目の書き込みループＬＷ＜５＞からは、新たにＢレベル、Ｃレベルに対する予備ベリファイステップＳＶｂ´、ＳＶｃ´を実行する。そのため、書き込みループＬＷ＜５＞では、計８ステップの処理を実行する。
【０１４６】
続く８回目〜１５回目の書き込みループＬＷ＜８＞〜＜１５＞については、図２２及び図２３に示した具体例と同様であるため説明を省略する。
【０１４７】
以上から、図２４に示す具体例では、書き込みループＬＷ＜１＞〜＜１５＞を計８９ステップで処理することができる。
【０１４８】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜＜１５＞を計１０７ステップかけて処理することになる。
【０１４９】
つまり、図２４に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を１８ステップ分短縮することができる。また、この場合であっても、第２の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。また、Ｃレベルの閾値電圧分布のプログラムを高速に行うことができ、Ａレベル、Ｂレベルの閾値電圧分布を正確にプログラムすることができる。
【０１５０】
次に、第３の実施形態の応用例について図２５を用いて説明する。
図２５は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。なお、図２５に示す具体例に対する比較例は、図２２左図と同様であるため省略している。
【０１５１】
図２５に示す実施例では、Ａレベル、Ｂレベル、Ｃレベルの本ベリファイステップ省略条件を、書き込みループ数がそれぞれ１回以下、３回以下、３回以下に設定している。第１予備ベリファイステップ省略条件、第２予備ベリファイステップ条件等、その他の条件につては図２２右図及び図２３下図に示す具体例と同様である。
【０１５２】
この場合、図２５に示すように、１回目の書き込みループ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´及び本ベリファイステップＳＶａ、ＳＶｂ、ＳＶｃを省略する。そのため、書き込みループＬＷ＜１＞では、計２ステップの処理を実行する。
【０１５３】
２回目の書き込みループＬＷ＜２＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜２＞では、計３ステップの処理を実行する。
【０１５４】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する本ベリファイステップＳＶａを実行する。そのため、書き込みループＬＷ＜３＞では、計４ステップの処理を実行する。
【０１５５】
４回目の書き込みループＬＷ＜４＞からは、新たにＢレベル、Ｃレベルに対する本ベリファイステップＳＶｂ、ＳＶｃを実行する。そのため、書き込みループＬＷ＜４＞では、計６ステップの処理を実行する。
【０１５６】
続く５回目〜１５回目の書き込みループＬＷ＜５＞〜＜１５＞については、図２２及び図２３に示した実施例と同様であるため説明を省略する。
【０１５７】
以上から、図２５に示す実施例では、書き込みループＬＷ＜１＞〜＜１５＞を計８２ステップで処理することができる。
【０１５８】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜＜１５＞を計１０７ステップかけて処理することになる。
【０１５９】
つまり、図２５に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を２５ステップ分短縮することができる。また、この場合であっても、第３の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制することができる。また、Ｃレベルの閾値電圧分布のプログラムを高速に行うことができ、Ａレベル、Ｂレベルの閾値電圧分布を正確にプログラムすることができる。
【０１６０】
以上、本実施形態によれば、プログラム動作において各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する不揮発性半導体記憶装置についても、第１〜第３の実施形態と同様の効果を得ることができる。また、Ｃレベルの閾値電圧分布のプログラムを高速に行うことができ、Ａレベル、Ｂレベルの閾値電圧分布を正確にプログラムすることができる。
【０１６１】
［第５の実施形態］
第５の実施形態は、第１〜第３の実施形態の応用例である。第５の実施形態でも、第４の実施形態と同様、プログラム動作において、各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する。
【０１６２】
但し、本実施形態の書き込みシーケンスのプログラム動作は、第４の実施形態と異なり、Ａレベルのプログラムをするプログラム電圧Ｖｐａを印加するプログラムステップＳＰａと、Ｂレベル及びＣレベルのプログラムをするプログラム電圧Ｖｐｂｃを印加する第２プログラムステップＳＰｂｃからなる。すなわち、ＡレベルとＢレベル、Ｃレベルの書き込みを別にすることにより、Ａレベルに書き込む予定のメモリセルＭＣの閾値電圧が高くなる可能性が小さくするとともに、Ｂレベル、Ｃレベルに書き込まれる予定のメモリセルＭＣの書き込みスピードを向上させている。
【０１６３】
このように、ＡレベルのプログラムステップＳＰａと、Ｂレベル及びＣレベルのプログラムステップＳＰｂｃとを別にした場合、ＡレベルのプログラムよりもＢレベルのプログラムの方が先に完了してしまうということがある。
【０１６４】
そこで、本実施形態では、ＢレベルのプログラムがＡレベルのプログラムよりも先に完了する場合について、第１〜第３の実施形態を応用する。
【０１６５】
始めは、第１の実施形態の応用例について図２６及び図２７を用いて説明する。図２６及び図２７に示す例では、Ｌページ書き込み後に、Ｕページ書き込みにおいて、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行う。なお、Ｌページ書き込みを行わず、Ｕページ書き込みのみで、Ａレベル、Ｂレベル、ＣレベルのプログラムをプログラムステップＳＰで一括して行ってもよい。
図２６は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図であり、図２７は、図２６に示す書き込みシーケンスの効果を説明する図である。
【０１６６】
図２６右図及び図２７下図に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルのプログラムのために実行される書き込みループ回数を、それぞれ１０回、９回、１５回に設定している。また、Ａレベル、Ｂレベル、Ｃレベルの第１予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ８回以上、８回以上、１３回以上に設定している。
【０１６７】
この場合、図２６右図及び図２７下図に示すように、１回目の書き込みループＬＷ＜１＞では、ＡレベルのプログラムステップＳＰａ、Ｂレベル及びＣレベルのプログラムステップＳＰｂｃ、Ａレベルに対する予備ベリファイステップＳＶａ´及び本ベリファイステップＳＶａ、Ｂレベルに対する予備ベリファイステップＳＶｂ´及び本ベリファイステップＳＶｂ、並びに、Ｃレベルに対する予備ベリファイステップＳＶｃ´及びＳＶｃの計８ステップの処理を実行する。続く２回目〜７回目の書き込みループＬＷ＜２＞〜＜７＞は、それぞれ書き込みループＬＷ＜１＞と同様である。
【０１６８】
８回目の書き込みループＬＷ＜８＞からは、Ａレベル、Ｂレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´を省略する。そのため、書き込みループＬＷ＜８＞では、計６ステップの処理を実行する。続く９回目の書き込みループＬＷ＜９＞は、書き込みループＬＷ＜８＞と同様である。
【０１６９】
ここまでで、メモリセルＭＣに対するＢレベルのプログラムは完了する。したがって、以降の書き込みループＬＷからは、Ｂレベルに対するプログラム動作及びベリファイ動作はなくなる。
【０１７０】
続く１０回目の書き込みループＬＷ＜１０＞では、計５ステップの処理を実行する。
【０１７１】
ここまでで、メモリセルＭＣに対するＡレベルのプログラムは完了する。したがって、以降の書き込みループＬＷからは、Ａレベルに対するプログラム動作及びベリファイ動作はなくなる。
【０１７２】
続く１１回目の書き込みループＬＷ＜１１＞では、計３ステップの処理を実行する。続く１２回目の書き込みループＬＷ＜１２＞は、書き込みループＬＷ＜１１＞と同様である。
【０１７３】
１３回目の書き込みループＬＷ＜１３＞からは、Ｃレベルに対する予備ベリファイステップＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１３＞では、計２ステップの処理を実行する。続く１４回目の書き込みループＬＷ＜１４＞及び最後の１５回目の書き込みループＬＷ＜１５＞は、それぞれ書き込みループＬＷ＜１３＞と同様である。さらに、本実施例では、Ａレベルの閾値電圧分布を正確に書くと共に、Ｂレベル、Ｃレベルの閾値電圧分布を高速に書くことができる。
【０１７４】
以上から、図２６右図及び図２７下図に示す具体例の場合、書き込みループＬＷ＜１＞〜＜１５＞を計８５ステップで処理することができる。
【０１７５】
これに対し、比較例の場合、図２６左図及び図２７上図に示すように、１回目の書き込みループＬＷ＜１＞からメモリセルＭＣに対するＢレベルのプログラムが完了する９回目の書き込みループＬＷ＜９＞までは、それぞれ計８ステップの処理を実行する。続くＡレベルのプログラムが完了する１０回目の書き込みループＬＷ＜１０＞では、計６ステップの処理を実行する。そして、続く１１回目の書き込みループＬＷ＜１１＞からメモリセルＭＣに対するＣレベルのプログラムが完了する１５回目の書き込みループＬＷ＜１５＞までは、それぞれ計３ステップの処理を実行する。
【０１７６】
以上から、比較例の場合、書き込みループＬＷ＜１＞〜＜１５＞を計９３ステップかけて処理することになる。
【０１７７】
つまり、図２６右図及び図２７下図に示す具体例の場合、図２７に示すように、比較例に比べて、書き込みシーケンスの処理時間を８ステップ分短縮することができる。また、この場合であっても、第１の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。
【０１７８】
次に、第２の実施形態の応用例について図２８を用いて説明する。
図２８は、書き込みシーケンスの各書き込みループの予備ベリファイステップと本ベリファイステップの実行／省略を示す図である。なお、図２８に示す具体例に対する比較例は、図２６左図と同様であるため省略している。
【０１７９】
図２８に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの第２予備ベリファイステップ省略条件を、書き込みループ数がそれぞれ２回以下、４回以下、４回以下に設定している。第１予備ベリファイステップ省略条件等、その他の条件については図２６右図及び図２７下図に示す具体例と同様である。
【０１８０】
この場合、図２７に示すように、１回目の書き込みループＬＷ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´を省略する。そのため、書き込みループＬＷ＜１＞では、計５ステップの処理を実行する。続く２回目の書き込みループＬＷ＜２＞は、書き込みループＬＷ＜１＞と同様である。
【０１８１】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜３＞では、計６ステップの処理を実行する。続く４回目の書き込みループＬＷ＜４＞は、書き込みループＬＷ＜３＞と同様である。
【０１８２】
続く５回目〜１５回目の書き込みループＬＷ＜５＞〜＜１５＞については、図２６及び図２７に示した具体例と同様であるため説明を省略する。
【０１８３】
以上から、図２８に示す具体例では、書き込みループＬＷ＜１＞〜＜１５＞を計７５ステップで処理することができる。
【０１８４】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜＜１５＞を計９３ステップかけて処理することになる。
【０１８５】
つまり、図２８に示す具体例の場合、比較例に比べて、書き込みシーケンスの処理時間を１８ステップ分短縮することができる。また、この場合であっても、第２の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。さらに、本実施例では、Ａレベルの閾値電圧分布を正確に書くと共に、Ｂレベル、Ｃレベルの閾値電圧分布を高速に書くことができる。
【０１８６】
次に、第３の実施形態の応用例について図２９を用いて説明する。
図２９は、書き込みシーケンスの各書き込みループの予備ベリファイステップ及び本ベリファイステップの実行／省略を示す図である。なお、図２９に示す具体例に対する比較例は、図２６左図と同様であるため省略している。
【０１８７】
図２９に示す具体例では、Ａレベル、Ｂレベル、Ｃレベルの本ベリファイステップ省略条件を、書き込みループ数がそれぞれ１回以下、３回以下、３回以下に設定している。第１予備ベリファイステップ、第２予備ベリファイステップ等、その他の条件については図２６右図及び図２７下図に示す具体例と同様である。
【０１８８】
この場合、図２９に示すように、１回目の書き込みループ＜１＞では、Ａレベル、Ｂレベル、Ｃレベルに対する予備ベリファイステップＳＶａ´、ＳＶｂ´、ＳＶｃ´及び本ベリファイステップＳＶａ、ＳＶｂ、ＳＶｃを省略する。そのため、書き込みループＬＷ＜１＞では、計２ステップの処理を実行する。
【０１８９】
２回目の書き込みループＬＷ＜２＞からは、新たにＡレベルに対する予備ベリファイステップＳＶａ´を実行する。そのため、書き込みループＬＷ＜２＞では、計３ステップの処理を実行する。
【０１９０】
３回目の書き込みループＬＷ＜３＞からは、新たにＡレベルに対する本ベリファイステップＳＶａを実行する。そのため、書き込みループＬＷ＜３＞では、計４ステップの処理を実行する。
【０１９１】
４回目の書き込みループＬＷ＜４＞からは、新たにＢレベル、Ｃレベルに対する本ベリファイステップＳＶｂ、ＳＶｃを実行する。そのため、書き込みループＬＷ＜４＞では、計６ステップの処理を実行する。
【０１９２】
続く５回目〜１５回目の書き込みループＬＷ＜５＞〜＜１５＞については、図２６及び図２７に示した具体例と同様であるため説明を省略する。
【０１９３】
以上から、図２９に示す具体例では、書き込みループＬＷ＜１＞〜＜１５＞を計６８ステップで処理することができる。
【０１９４】
これに対し、比較例の場合、前述の通り、書き込みループＬＷ＜１＞〜＜１５＞を計９３ステップかけて処理することになる。
【０１９５】
つまり、図２９に示す具体例の場合、比較例と比べて、書き込みシーケンスの処理時間２５ステップ分省略することができる。また、この場合であっても、第３の実施形態と同様、メモリセル群の閾値電圧分布の広がりは、比較例と同程度に抑制できる。さらに、本実施例では、Ａレベルの閾値電圧分布を正確に書くと共に、Ｂレベル、Ｃレベルの閾値電圧分布を高速に書くことができる。
【０１９６】
以上、本実施形態によれば、プログラム動作において各レベルのプログラムに適した複数のプログラム電圧を印加する方式を採用する不揮発性半導体記憶装置についても、第１〜第３の実施形態と同様の効果を得ることができる。さらに、本実施例では、Ａレベルの閾値電圧分布を正確に書くと共に、Ｂレベル、Ｃレベルの閾値電圧分布を高速に書くことができる。
【０１９７】
［第６の実施形態］
第１〜第５の実施形態では、第１予備ベリファイステップ省略条件を書き込みループ数に基づいて設定していた。
【０１９８】
これに対し、第６の実施形態では、第１予備ベリファイステップ省略条件を、予備ベリファイ電圧以下の閾値電圧を持つメモリセル数に基づいて設定する。
【０１９９】
つまり、メモリセルＭＣに対して書き込みループを繰り返し実行すると、メモリセルＭＣの閾値電圧Ｖｔｈは、図３０の矢印ａ１で示すように正の方向に遷移する。図３０を見れば解るように、メモリセル群の閾値電圧分布は下裾を引くように正の方向に移動し、予備ベリファイ電圧Ｖα´からメモリセル群の閾値電圧分布の下裾を大きく正の方向に移動し、メモリセル群の閾値電圧分布を狭くしている。すなわち、メモリセル群が閾値電圧分布の下裾にいる数が重要となっている。そこで、第６の実施形態では閾値電圧Ｖｔｈが予備ベリファイ電圧Ｖα´以下のメモリセル（図３０の斜線で示すメモリセルＭＣ）の数が所定数以下になったことを条件として、書き込みループの予備ベリファイステップを省略するのである。
【０２００】
図３１は、本実施形態に係る不揮発性半導体記憶装置の書き込みシーケンスのフローチャートである。
【０２０１】
つまり、本実施形態の書き込みシーケンスは、始めに、シーケンス制御回路７が、閾値電圧Ｖｔｈが予備ベリファイ電圧Ｖα´以下のメモリセル数が所定数Ｎ（例えば、１００個）よりも多いかを判定する（図３１のステップＳ６０１）。メモリセルＭＣ数が所定数Ｎよりも大きい場合、シーケンス制御回路７が予備ベリファイステップを含む書き込みループを実行し（図３１のステップＳ６０２）、メモリセル数が所定数Ｎ以下の場合、シーケンス制御回路７が予備ベリファイステップを省略させた書き込みループを実行する（図３１のステップＳ６０３）。そして、シーケンス制御回路７は以上のステップＳ６０１〜Ｓ６０３の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する（図３１のステップＳ６０４）。この所定数Ｎは、例えば、予めＲＯＭヒューズ領域１ａに記録することができる。また、この所定数Ｎはコントローラ１１よりＮＡＮＤチップ１０に書き込みコマンドと同時に送付されても良い。
【０２０２】
本実施形態によれば、メモリセル群のうち予備ベリファイ電圧以下のメモリセル数に基づいて第１予備ベリファイステップ省略条件を設定することで、不揮発性半導体記憶装置の固体間に生じるメモリセルのプログラム特性の違いなどをある程度補償することができる。
【０２０３】
したがって、本実施形態を第１〜第５の実施形態の第１予備ベリファイステップ省略条件を予備ベリファイ電圧以下のメモリ数に基づいて設定することで、より適切な予備ベリファイステップの実行／省略を実現することができる。
【０２０４】
［第７の実施形態］
第１〜第６の実施形態については、第１予備ベリファイステップ省略条件を固定しても効果をえることができる。しかし、メモリセルのプログラム特性は、不揮発性半導体記憶装置の個体間によってもバラツキが生じるばかりでなく、同じメモリセルであっても使用状況などから変化することがある。例えば、書き込み／消去サイクル回数が増えてくると、一般的にメモリセルのプログラム速度は速くなる傾向がある。
【０２０５】
そこで、第７の実施形態では、このようなメモリセルのプログラム特性の変化にも柔軟に対応できるように、第１予備ベリファイステップ省略条件を可変にする。
【０２０６】
図３２は、第１の実施形態の応用例であり、第１の実施形態の第１予備ベリファイステップ省略条件を可変にした場合の書き込みシーケンスのフローチャートである。
【０２０７】
図３２に示す場合、書き込みシーケンスが開始されると、始めに、シーケンス制御回路７が、書き込みサイクル数が所定数Ｍより大きいかを判定する（図３２のステップＳ７０１）。そして、書き込みサイクル数が所定数Ｍより小さい場合は、シーケンス制御回路７は第１予備ベリファイステップ省略条件の基準となる書き込みループ数Ｎを所定数Ｎ１で初期化する（図３２のステップＳ７０２）。一方、書き込みサイクル数が所定数Ｍ以上の場合は、メモリセルＭＣのプログラム速度が速くなっていると考えられるため、シーケンス制御回路７は書き込みループ数Ｎを所定数Ｎ１よりも小さい所定数Ｎ２で初期化する（図３２のステップＳ７０３）。以降ステップＳ７０４〜Ｓ７０７については、シーケンス制御回路７が上記書き込みループ数Ｎを用いて第１の実施形態と同様の書き込みシーケンスを実行する。なお、上記書き込みシーケンスの判定条件となる書き込み／消去サイクル数Ｍや、書き込みループ数Ｎ１、Ｎ２等は、例えば、予めＲＯＭヒューズ領域１ａに記録することができる。また、コントローラ１１が書き込みループ数Ｎ１、Ｎ２等をＲＯＭヒューズ領域１ａから読み取り、コントローラ１１が書き込みループ数ＮをＮＡＮＤチップ１０に書き込みコマンドと同時に送付されても良い。
【０２０８】
また、第７の実施形態を第６の実施形態に適用することも可能である。この場合を図３３に示す。
【０２０９】
始めのステップＳ７０１〜Ｓ７０３までは、図３２と同様なので説明を省略する。続いて、シーケンス制御回路７が、閾値電圧Ｖｔｈが予備ベリファイ電圧Ｖα´以下のメモリセル数が所定数Ｎ（例えば、１００個）よりも多いかを判定する（図３３のステップＳ７０４´）。メモリセル数が所定数Ｎよりも大きい場合、シーケンス制御回路７が予備ベリファイステップを含む書き込みループを実行し（図３３のステップＳ７０５´）、メモリセル数が所定数Ｎ以下の場合、シーケンス制御回路７が予備ベリファイステップを省略させた書き込みループを実行する（図３３のステップＳ７０６´）。そして、シーケンス制御回路７は以上のステップＳ７０４´〜Ｓ７０６´の処理を、メモリセルへのプログラムが完了するまで繰り返し実行する（図３３のステップＳ７０７）。なお、上記書き込みシーケンスの判定条件となる書き込み／消去サイクル数Ｍや、書き込みループ数Ｎ１、Ｎ２等は、例えば、予めＲＯＭヒューズ領域１ａに記録することができる。また、コントローラ１１が書き込みループ数Ｎ１、Ｎ２等をＲＯＭヒューズ領域１ａから読み取り、コントローラ１１が書き込みループ数ＮをＮＡＮＤチップ１０に書き込みコマンドと同時に送付されても良い。
【０２１０】
以上、本実施形態を第１〜第６の実施形態に適用することで、第１〜第６の実施形態と同様の効果を得られるばかりでなく、メモリセルのプログラム特性の変化に対応した、より最適なＱＰＷ方式の書き込みシーケンスを実現できる。
【０２１１】
［その他］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１２】
１・・・メモリセルアレイ、１ａ・・・ＲＯＭヒューズ領域、２ａ・・・ロウデコーダ／ワード線ドライバ、２ｂ・・・カラムデコーダ、３・・・ページバッファ、４・・・ＮＡＮＤストリング、５ｂ・・・カラムアドレスレジスタ、６・・・ロジック制御回路、７・・・シーケンス制御回路、８・・・電圧発生回路、９・・・Ｉ／Ｏバッファ、１０・・・ＮＡＮＤチップ１０、１１・・・コントローラ、
【図１】
0005380506.tif 000002
【図２】
0005380506.tif 000003
【図３】
0005380506.tif 000004
【図４】
0005380506.tif 000005
【図５】
0005380506.tif 000006
【図６】
0005380506.tif 000007
【図７】
0005380506.tif 000008
【図８】
0005380506.tif 000009
【図９】
0005380506.tif 000010
【図１０】
0005380506.tif 000011
【図１１】
0005380506.tif 000012
【図１２】
0005380506.tif 000013
【図１３】
0005380506.tif 000014
【図１４】
0005380506.tif 000015
【図１５】
0005380506.tif 000016
【図１６】
0005380506.tif 000017
【図１７】
0005380506.tif 000018
【図１８】
0005380506.tif 000019
【図１９】
0005380506.tif 000020
【図２０】
0005380506.tif 000021
【図２１】
0005380506.tif 000022
【図２２】
0005380506.tif 000023
【図２３】
0005380506.tif 000024
【図２４】
0005380506.tif 000025
【図２５】
0005380506.tif 000026
【図２６】
0005380506.tif 000027
【図２７】
0005380506.tif 000028
【図２８】
0005380506.tif 000029
【図２９】
0005380506.tif 000030
【図３０】
0005380506.tif 000031
【図３１】
0005380506.tif 000032
【図３２】
0005380506.tif 000033
【図３３】
0005380506.tif 000034