異なる複数の閾値電圧によって不揮発にデータを記憶するメモリセルを複数個有するメモリセルアレイと、前記メモリセルに対するデータ書き込みにおいて、前記メモリセルの閾値電圧を遷移させるプログラム動作、並びに、当該プログラム動作後の前記メモリセルの閾値電圧を検知するベイファイ動作、を有する書き込みループを実行する制御部とを備え、前記制御部は、前記複数の閾値電圧のうち最上位の前記閾値電圧に遷移させるデータ書き込みにおいて、前記メモリセルに対する書き込みループ数が第1回数よりも多くなった場合、前記書き込みループ数が前記第1回数以下の場合よりも前記ベリファイ動作がパスし易い条件を用いて前記ベリファイ動作を実行することを特徴とする不揮発性半導体記憶装置。前記制御部は、書き込みループ数が前記第1回数以下の場合は、前記メモリセルの閾値電圧が第1のベリファイ電圧よりも高いことを前記ベリファイパス条件とし、前記メモリセルに対する書き込みループ数が前記第1回数よりも多い場合、前記書き込みループ数が前記第1のベリファイ電圧小さい第2ベリファイ電圧を用いて前記ベリファイ動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記制御部は、書き込みループ数の増加に伴ってステップ幅で増加していくプログラム電圧を用いて前記プログラム動作を実行し、前記制御部は、前記メモリセルに対する書き込みループ数が第2回数以下の場合、前記ステップアップ幅を第1のステップ幅とし、前記メモリセルに対する書き込みループ数が第2回数より大きい場合、前記ステップアップ幅を前記第1のステップ幅よりも大きい第2のステップアップ幅とすることを特徴とする請求項1又は2記載の不揮発性半導体記憶装置。前記メモリセルアレイは、前記メモリセルの一端に接続されたビット線を有し、前記制御部は、前記メモリセルに対する書き込みループ数が第3回数以下の場合、前記メモリセルの閾値電圧の検知において、前記ベリファイ動作開始から第1のセンス時間経過後の前記ビット線の電圧によって前記メモリセルの閾値電圧を検知し、前記制御部は、前記メモリセルに対する書き込みループ数が第3回数よりも大きいの場合、前記第1のセンス時間よりも短い第2のセンス時間を用いて前記メモリセルの閾値電圧を検知することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記制御部は、前記メモリセルに対する書き込みループ数が第4回数よりも多くなった場合、読み出し電圧を低くして前記ベリファイ動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記データ書き込み部は、前記メモリセルに対する書き込みループ数が第5回数よりも多くなった場合、セルソース電圧を高くして前記ベリファイ動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。書き込み不良を低減させた不揮発性半導体記憶装置を提供することを目的とする。実施形態に係る不揮発性半導体記憶装置は、異なる複数の閾値電圧によって不揮発にデータを記憶するメモリセルを複数個有するメモリセルアレイと、前記メモリセルに対するデータ書き込みにおいて、前記メモリセルの閾値電圧を遷移させるプログラム動作、並びに、当該プログラム動作後の前記メモリセルの閾値電圧を検知するベイファイ動作、を有する書き込みループを実行する制御部とを備え、前記制御部は、前記複数の閾値電圧のうち最上位の前記閾値電圧に遷移させるデータ書き込みにおいて、前記メモリセルに対する書き込みループ数が第1回数よりも多くなった場合、前記書き込みループ数が前記第1回数以下の場合よりも前記ベリファイ動作がパスし易い条件を用いて前記ベリファイ動作を実行することを特徴とする。以下、図面を参照しながら実施形態に係る不揮発性半導体記憶装置について説明する。[第1の実施形態]<全体構成>先ず、第1の実施形態に係る不揮発性半導体記憶装置の全体構成について説明する。図1は、本実施形態に係る不揮発性半導体記憶装置のブロック図である。このNAND型フラッシュメモリは、NANDチップ10及びこのNANDチップ10を制御するコントローラ11を備える。NANDチップ10を構成するメモリセルアレイ1は、後述するように、電荷蓄積層を有する複数のメモリセルをマトリクス状に配置して構成される。このメモリセルアレイ1には、必要に応じて、ユーザからアクセスできないROMヒューズ領域1aを設けても良い。このROMヒューズ領域1aには、データ書き込み時など装置の制御に必要な各種情報が記憶される。メモリセルアレイ1の周辺には、ロウデコーダ/ワード線ドライバ2a、カラムデコーダ2b、ページバッファ3及び電圧発生回路8が配置されている。これら、ロウデコーダ/ワード線ドライバ2a、カラムデコーダ2b、ページバッファ3及び電圧発生回路8はデータ書き込み部を構成するものであり、メモリセルアレイ1に対してページ単位でデータの書き込み、或いは読み出しを行う。ロウデコーダ/ワード線ドライバ2aは、メモリセルアレイ1のワード線及び選択ゲート線を駆動する。ページバッファ3は、1ページ分のセンスアンプ回路とデータ保持回路を備えている。ページバッファ3の1ページ分の読み出しデータは、カラムデコーダ2bにより順次カラム選択されて、I/Oバッファ9を介して外部I/O端子に出力される。I/O端子から供給される書き込みデータは、カラムデコーダ2bにより選択されてページバッファ3にロードされる。ページバッファ3には、1ページ分の書き込みデータがロードされる。ロウアドレス信号及びカラムアドレス信号はI/Oバッファ9を介して入力され、それぞれ、ロウデコーダ2a及びカラムデコーダ2bに転送される。ロウアドレスレジスタ5aは、消去ブロックアドレスを保持したり、ページアドレスを保持したりする。カラムアドレスレジスタ5bには、書き込みシーケンス開始前の書き込みデータロードのための先頭カラムアドレスや、読み出しシーケンスのための先頭カラムアドレスが入力される。書き込みイネーブル/WEや読み出しイネーブル/REが、所定の条件でトグルされるまで、カラムアドレスレジスタ5bは入力されたカラムアドレスを保持する。ロジック制御回路6は、コントローラ11から送信されるチップイネーブル信号/CE、コマンドイネーブル信号CLE、アドレスラッチイネーブル信号ALE、書き込みイネーブル信号/WE、読み出しイネーブル信号/RE等の制御信号などのコマンドを受ける。このコマンドに基づいて、アドレスの入力、データの入出力を制御する。また、制御回路6はコマンドを受けて、シーケンス制御回路7に読み出し動作や、書き込み或いは消去のシーケンス制御を行うように指示を出す。電圧発生回路8は、制御回路7により制御されて、種々の動作に必要な所定の電圧を発生する。コントローラ11は、NANDチップ10の現在の書込状態に適した条件でデータの書き込み及び読み出しの制御を実行する。なお、後述する書き込みシーケンスの一部は、NANDチップ10側で行うようにしても良い。<メモリセルアレイ>次に、本実施形態に係る不揮発性半導体記憶装置のメモリセルアレイ1について説明する。図2は、メモリセルアレイ1の回路図である。図2の場合、n個nは、自然数の直列接続されたメモリセルMC0~MCn-1とその両端に接続された選択ゲートトランジスタSG1、SG2により、NANDストリング4が構成されている。選択ゲートトランジスタSG0のソースは、共通ソース線CELSRCに接続され、選択ゲートトランジスタSG1のドレインはビット線BLBL0~BLm-1に接続される。メモリセルMC0~MCn-1の制御ゲートはそれぞれワード線WLWL0~WLn-1に接続され、選択ゲートトランジスタSG1、SG2のゲートは、選択ゲート線SL1、SL2に接続される。1つのワード線WLを共有する複数のメモリセルMCが、一括したデータの読み出し及び書き込みの単位となるページとなる。また、ワード線WL方向に並ぶ複数のNANDストリング4が、データの一括消去の単位となるブロックBLKを構成する。図2では、ビット線BL方向に隣接するNANDストリング4がビット線BLを共有するように複数のブロックBLK0~BLKl-1を配列して、セルアレイ1が構成されている。ワード線WL及び選択ゲート線SL0、SL1は、ロウデコーダ2aにより駆動される。各ビット線BLは、ページバッファ3のセンスアンプ回路S/Aに接続されている。ここで、このようなNAND型フラッシュメモリのアクセス単位であるページについて説明する。以下の説明において、ページとは、異なる2つの意味を有するので注意を要する。第1は、1つのワード線で共有する複数のメモリセルMCから構成されたデータアクセス単位としてのページである。そして、第2は、1つのメモリセルに複数ビットを記憶する場合の記憶データの階層を示すページであり、この場合、LLowerページ、UUpperページなどと呼ぶ。<データ書き込み>先ず、本実施形態のデータ書き込みについて説明する前に、以下で用いる用語について説明しておく。始めに、データ書き込み時に実行される一連の処理を書き込みシーケンスと呼ぶ。この書き込みシーケンスは、実際にメモリセルの閾値電圧を遷移させるプログラム動作と、メモリセルの閾値電圧を確認するベリファイ動作からなる書き込みループの繰り返しによって実行される。各プログラム動作は、1又は2以上のプログラムステップからなる。各プログラムステップでは、ワード線に対してメモリセルの閾値電圧の遷移に必要なプログラム電圧を少なくとも1回印加される。また、各ベリファイ動作は、1又は2以上のベリファイステップからなる。各ベリファイステップでは、所定のベリファイ電圧を用いたメモリセルの閾値電圧の検知動作が1回実行される。次に、本実施形態の書き込みシーケンスについて説明する。図3は、2ビット/セルのメモリセルを用いた場合の書き込みシーケンス時のメモリセル群の閾値電圧分布の遷移の様子を示す図である。始めに、データ消去を実行するステップS101。これは、ブロック全体に対して一括に実行される。その結果、ブロック内の全てのメモリセルの閾値電圧Vthは、最も低いERレベルになる。続いて、Lページ書き込みを実行するステップS102。これは、書き込みデータの下位ビットに基づいて実行される。下位ビットが1の場合、メモリセルの閾値電圧VthはERレベルに維持される。下位ビットが0の場合、メモリセルの閾値電圧VthはERレベルからAレベルとBレベルとの中間レベルであり閾値電圧分布の下限が電圧Vlmよりも高いLMレベルに遷移する。最後に、Uページ書き込みを実行するステップS103。これは、書き込みデータの上位ビットに基づいて実行される。もし、メモリセルの閾値電圧VthがERレベルならば、上位データが1の場合、メモリセルの閾値電圧VthはERレベルのまま維持する。逆に、上位ビットが0の場合、メモリセルの閾値電圧Vthは電圧VavVav<Vlmよりも高いAレベルに遷移する。一方、メモリセルの閾値電圧VthがLMレベルならば、上位ビットが0の場合、メモリセルの閾値電圧Vthは閾値電圧分布の下限が電圧VbvVav<Vbvよりも高いBレベルに遷移する。逆に、上位ビットが1の場合、メモリセルの閾値電圧Vthは閾値電圧分布の下限が電圧VcvVbv<Vcvよりも高いCレベルまで遷移する。以上のように、メモリセルに対する2ビットデータの書き込みは、Lページ書き込みとUページ書き込みの2段階によって実現される。各ページの書き込みは、次のような書き込みループの繰り返しによって実現される。書き込みループは、メモリセルMCの閾値電圧Vthを遷移させるプログラム動作と、メモリセルMCの閾値電圧Vthがベリファイ電圧以上であることを確認するベリファイ動作からなる。書き込みシーケンスのプログラム動作は、メモリセルアレイ1を図4に示すようなバイアス状態にすることで実現される。なお、図4に示す例は、ワード線WL1に接続されたメモリセルMC1にデータを書き込む場合を示している。つまり、プログラム動作では、選択メモリセルMC1の制御ゲートワード線WL1にメモリセルMCの閾値電圧Vthの遷移に必要なプログラム電圧Vpgm例えば、20V程度を印加し、それ以外のメモリセルMC0、MC2、、MCn-1の制御ゲートには、それぞれ中間電圧Vpass例えば、10V程度を印加する。この中間電圧Vpassは、メモリセルMC0、MC2、、MCn-1がオンする程度の電圧且つプログラムされない程度の電圧となる。また、ソース線CELSRC側の選択ゲート線SL1には、接地電圧Vss例えば、0Vを印加し、ビット線BL側の選択ゲート線SL2には、電源電圧Vccを印加する。ビット線BLには0Vを印加する。ソース線CELSRCには電源電圧Vccを印加する。また、セルウエルには、ウエル電圧Vwell例えば、0Vを印加する。これによって、メモリセルMC1のゲート絶縁膜に高電圧が加わり、セルウエルから浮遊ゲートに電子がトンネリングし、浮遊ゲートに電荷が蓄えられる。その結果、メモリセルMC1の閾値電圧Vthは正電圧側にシフトする。一方、書き込みシーケンスのベリファイ動作は、各閾値電圧分布毎に行われるベリファイステップによって実現される。各ベリファイステップ時のメモリセルアレイ1のバイアス状態は図5のようになる。なお、図5に示す例は、ワード線WL1に接続されたメモリセルMC1の閾値電圧Vthをベリファイする場合を示している。ベリファイステップでは、選択メモリセルMC1の制御ゲートワード線WL0にベリファイ電圧Vαを印加する。ベリファイ電圧Vαは、図3に示すVav、Vbv、Vcvのいずれかに相当する電圧である。また、非選択メモリセルMC0、MC2、、MCn-1の制御ゲートに読み出し電圧Vread例えば、4V程度とし、選択ゲートトランジスタSG1に電源電圧Vccを、選択ゲートトランジスタSG2に接地電圧Vssを印加する。読み出し電圧Vreadは、非選択メモリセルMC0、MC2、、MCn-1がオンする程度の電圧であり、最上位にある閾値電圧分布の上限より高い値を持つ。これによって、非選択メモリセルMC0、MC2、、MCn-1をオンさせる。また、ビット線BLを電圧Vd例えば、1Vにプリチャージしておく。ソース線CELSRCに接地電圧Vss例えば、0Vを印加しておく。また、セルウエルには、ウエル電圧Vwell例えば、0Vを印加する。ビット線BLを電圧Vd例えば、1Vにプリチャージした後、選択ゲートトランジスタSG2には、電源電圧Vccを印加する。これによって、メモリセルMC1の閾値電圧Vthがベリファイ電圧Vα以下であった場合、メモリセルMC1がオンし、ビット線BLとソース線CELSRCが電気的に接続され、電圧Vdでプリチャージされていたビット線BLの電圧が低下する。そして、このビット線BLをページバッファ3が備えるセンスアンプS/Aで検知することで、メモリセルMCの閾値電圧Vthがベイファイ電圧Vα以下かどうかを判別することができる。ベリファイ動作は、ここで説明したベリファイステップをAレベル、Bレベル、Cレベルについて計3回行うことになる。書き込みシーケンスは、以上説明したプログラム動作及びベリファイ動作からなる書き込みループを、プログラム電圧をステップアップさせながら繰り返すのである。また、読み出しシーケンスは、以上説明したベリファイ動作とほぼ同様である。読み出しシーケンスでは、ベリファイ電圧Vαに代えて、選択メモリセルMC1の制御ゲートワード線WL0に参照電圧Vβを印加する。ここで参照電圧Vβは、2ビット/セルのメモリセルMCの場合、参照電圧Var、Vbr、Vcrの3つである。例えば、選択メモリセルMC1の制御ゲートに参照電圧Vbrを印加し、続いて、選択メモリセルMC1の制御ゲートに参照電圧Varを印加する。ここで、メモリセルMCの閾値電圧Vthが参照電圧Vbrより小さく、参照電圧Varより大きければ、メモリセルMCはAレベルの閾値電圧分布に属すると言える。次に、本実施形態の理解を容易にするために、書き込み/消去サイクル数とベリファイパスするまでの書き込みループ数の関係について説明しておく。書き込みシーケンスでは、前述の通り、書き込みループをベリファイパスするまで繰り返し実行するが、ベリファイパスするまでの書き込みループ数は、書き込み/消去サイクル数に依存する傾向がある。一般的には、図6に示すように、書き込み/消去サイクル数が増えるほどベイファイパスするまでに実行される書き込みループ数は少なくなる。これは、フローティング構造を持つメモリセルに対して書き込み/消去を繰り返すことでトンネル絶縁膜が劣化し電子トラップが増加することで、見かけ上、メモリセルMCの閾値電圧Vthが高く見えるためである。その結果、比較的低いプログラム電圧Vpgmを印加しただけで、メモリセルMCの閾値電圧Vthが所望のベリファイ電圧Vαを超えてしまう。つまり、書き込み/消去サイクル数が増加すると、メモリセルMCの閾値電圧Vthが遷移しやすくなるのである以下、メモリセルの閾値電圧の遷移のし易さをプログラム速度と呼ぶ。一方、メモリセルMCに対する書き込み/消去サイクルが増加すると、そのストレスによって、メモリセルの電荷保持特性以下、リンテンション特性と呼ぶが悪くなる。以上をまとめると、書き込み/消去サイクル数が多いメモリセル以下、サイクルドセルと呼ぶ。また、サイクルドセルには、書き込み/消去サイクル数に関係なくサイクルドセルと同程度の特性を持つメモリセルも含むものとする。ほどプログラム速度が速くリテンション特性が悪いと言える。換言すれば、書き込み/消去サイクル数が少ないメモリセル以下、フレッシュセルと呼ぶ。また、フレッシュセルには、書き込み/消去サイクル数に関係なくフレッシュセルと同程度の特性を持つメモリセルも含むものとする。ほどプログラム速度が遅くリテンション特性が良いと言える。また、メモリセルアレイ1には、ページ単位でデータの書き込が行われるため、サイクルドセルを多く有するページ以下、サイクルドページと呼ぶこともあるとフレッシュセルを多く有するページ以下、フレッシュページと呼ぶこともあるが混在している。本実施形態では、このようにサイクルドページとフレッシュページが混在していても、それぞれのページに対して書き込み条件を変更する必要がない。例えば、サイクルドページとフレッシュページでプログラム電圧を変更する必要がない。その結果、制御を簡略化することができる。ここで、サイクルドセルのリテンション特性を確保する方法として、プログラムの段階でベリファイ電圧を高めに設定しておくことが考えられる。この場合、基準電圧に対するマージンが大きくなるため、長時間の放置などによって閾値電圧が低下しても正しいデータを読み出すことができる。しかし、この方法の場合、プログラム速度の遅いフレッシュセルに対するプログラムが益々困難になり、最悪の場合、書き込み不良が生じてしまう。特に、フレッシュセルのみを取り扱う製品テストの段階で、本来は良品として取り扱えるメモリセルを書き込み不良としてしまうことは、不要な歩留まりの低下を招来することになる。そこで、第1の実施形態では、書き込み/消去サイクル数の増加を擬似的にプログラム回数で判断し、ベリファイパスの条件を厳しくすることで、サイクルドセルのリテンション特性を損なうことなく、フレッシュセルの書き込み不良を抑制する。具体的には、次のような書き込みシーケンスを実行する。図7は、本実施形態の書き込みシーケンス時におけるワード線WLの電圧波形を示す図である。図中、Pは、プログラム動作のプログラムステップ、Aは、ベリファイ動作のAレベルに対するベリファイステップ、Bは、ベリファイ動作のBレベルに対するベリファイステップ、Cは、ベリファイ動作のCレベルに対するベリファイステップを示している。また、図8は、同実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS150。シーケンス制御回路7は、Cレベルのベリファイステップで用いるベリファイ電圧VcvをVcv1で初期化した後ステップS151、プログラム電圧Vpgmを用いたプログラム動作を実行するステップS152。続いて、シーケンス制御回路7は、ベリファイ電圧Vavを用いたAレベルに対するベリファイステップ、ベリファイ電圧Vbvを用いたBレベルに対するベリファイステップ、ベリファイ電圧Vcvを用いたCレベルに対するベリファイステップを行うステップS153。ここで、全てのレベルに対するベリファイステップベリファイ動作がパスした場合ステップS154のYes、書き込みシーケンスは終了する。ここで、ベリファイ動作がパスには、後述するビット無視数も考慮して判断されたベリファイ動作も含まれる。一方、ベリファイ動作をパスしなかった場合ステップS154のNo、シーケンス制御回路7は、ステップS155に処理を移す。続いて、書き込みループ回数がN1回より大きいかを判断するステップS155。図7の例では、回数N1は19である。この回数N1は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN1回より大きい場合ステップS156のYes、ベリファイ電圧VcvをVcv1からVcv2に変更するステップS156。一方、書き込みループ回数がN1回以下の場合ステップS155のNo、シーケンス制御回路7は、ベリファイ電圧Vcv1を変更すことなく、ステップS157に処理を移す続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔV1ステップアップさせるステップS157。そして、シーケンス制御回路7は、再び処理をステップS152に戻し、書き込みループを繰り返し実行する。つまり、図7に示す場合、1回目から19回目までの書き込みループでは、1プログラム電圧Vpgmを用いたプログラム動作、2ベリファイ電圧Vavを用いてAレベルに対するベリファイステップ、3ベリファイ電圧Vbvを用いたBレベルに対するベリファイステップ、4ベリファイ電圧Vcv1を用いたCレベルに対するベリファイステップを実行する。そして、20回目以降の書き込みループでは、19回目までの書き込みループとは異なり、Cレベルに対するベリファイステップにおいてベリファイ電圧Vcv1よりも低いベリファイ電圧Vcv2を用いる。なお、図7に示す例では、プログラム電圧Vpgmは、書き込みループ毎に電圧ΔV1ずつ等間隔にステップアップされる。図9は、図7及び図8を用いて説明した書き込みシーケンスを行った場合のCレベルの閾値電圧分布を示す図である。実線は19回目までの書き込みループでプログラムが完了したメモリセル群以下、第1メモリセル群と呼ぶの閾値電圧分布であり、破線は20回目以降の書き込みループでプログラムが完了したメモリセル群以下、第2メモリセル群と呼ぶの閾値電圧分布である。なお、以下において、第1メモリセル群に含まれるメモリセルを第1メモリセル、第2メモリセル群に含まれるメモリセルを第2メモリセルとも呼ぶ。第1メモリセル群の場合、書き込みシーケンス実行直後の閾値電圧分布の下限は、図中D1のように、ベリファイ電圧Vcv1以上となる。ここで、第1メモリセル群は、第2メモリセル群に比べてプログラム速度が速いため、リテンション特性が悪いサイクルドセルと考えることができる。この場合、図中a1で示すように、高温放置などによるメモリセルの閾値電圧の低下は大きいと考えられる。しかし、ベリファイ電圧Vcv1と参照電圧Vcrとの間には十分にマージンがあるため、メモリセルMCの閾値電圧Vthが低下した場合でも、参照電圧Vcr以上の閾値電圧分布D2を確保することができる。一方、第2メモリセル群の場合、書き込みシーケンス実行直後の閾値電圧分布の下限は、図中D3のように、ベリファイ電圧Vcv2Vcv2<Vcv1以上しかない。しかし、第2メモリセル群は、第1メモリセル群に比べてプログラム速度が遅いため、リテンション特性が良いフレッシュセルと考えることができる。そのため、図中a2で示すように、長時間の放置などで生じるメモリセルの閾値電圧分布の低下は小さいと考えられる。そのため、メモリセルMCの閾値電圧Vthが低下した場合でも、参照電圧Vcr以上の閾値電圧分布を確保することができる。このように、本実施形態では、書き込みループ数によって、ベリファイ電圧を選択することで、結果として、サイクルドセルに対してはベリファイ電圧Vcv1と参照電圧Vcrの差である放置マージンを十分に確保することができる一方、フレッシュセルに対してはベリファイパスの条件を緩和し書き込み不良の発生を抑制することができる。この場合であっても、放置後のデータの信頼性は確保することができる。ここで、Cレベルは最高レベルの電圧閾値分布であることからプログラム困難である上に、電荷蓄積層に保持する電荷の量も多いことから高いリテンション特性が必要とされる。一方、Aレベル、Bレベルでは、電圧閾値分布も低く、高いリテンション特性も要求されない。すなわち、少なくともCレベルのベリファイ電圧のみ小さくすれば、リテンション特性を保持しつつ、書き込み不良の発生を抑制することができる。その結果、Aレベル、Bレベルのベリファイ電圧の変更を行わないため、回路動作を容易にすることができる。なお、図7~図9に示す例では、最もプログラム困難な最高レベルのCレベルの書き込み不良を抑制するため、書き込みループ数によってCレベルのベリファイ電圧のみを小さくしたが、Aレベル、Bレベルのベリファイ電圧を小さくしても良い。また、参照電圧Vcr、ベリファイ電圧Vcv1、Vcv2は、放置状態や放置時間等の要求仕様によって任意に設定することができる。更に、ベリファイ電圧の切り替えを3段階以上とすることも、この切り替え回数を自由に設定できるようにしても良い。以上、本実施形態によれば、リテンション特性を保持しつつ、書き込み不良の発生を抑制した不揮発性半導体記憶装置を提供することができる。また、本実施形態によれば、プログラム電圧を変更することが無いので、メモリセルMCのストレスを低減することもできる。なお、メモリセルアレイに書き込み/消去サイクル数が同じサイクルドセルとフレッシュセルが混在する場合であっても、本実施形態の場合、書き込みループ数を基準として用いることによってサイクルドセルとフレッシュセルを適切に区別することできあるため、上記効果を得ることができる。[第2の実施形態]第1の実施形態では、プログラム電圧Vpgmのステップアップ幅が一定であったが、第2の実施形態では、書き込みループ数に基づいてプログラム電圧Vpgmのステップアップ幅を変更する。図10は、第2の実施形態の書き込みシーケンス時の選択ワード線に印加される電圧Vwlを示す図である。また、図11は、本実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS200。シーケンス制御回路7は、プログラム電圧Vpgmのステップアップ幅ΔVをΔV1で初期化した後ステップS201、プログラム電圧Vpgmを用いたプログラム動作を実行するステップ202。続くステップS203及びS204については、図8のステップS153及びS154と同様であるため説明を省略する。但し、Cレベルに対するベリファイ電圧はVbv1で一定である。続いて、書き込みループ回数がN2回より大きいかどうか判断するステップS205。図10の例では、回数N2は19である。この回数N2は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN2回より大きい場合ステップS205のYes、プログラム電圧Vpgmのステップアップ幅ΔVをΔV1からΔV2に変更するステップS206。一方、書き込みループ回数がN2回以下の場合ステップS205のNo、シーケンス制御回路7は、プログラム電圧Vpgmのステップアップ幅ΔVを変更すことなく、ステップS207に処理を移す。続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔVだけステップアップさせるステップS207。そして、シーケンス制御回路7は、再び処理をステップS202に戻し、書き込みループを繰り返し実行する。このように、本実施形態の場合、N2回目図10の場合は19回目までの書き込みループでは、プログラム電圧Vpgmのステップ幅がΔV1となっているが、N21図10の場合は20回目からの書き込みループでは、プログラム電圧Vpgmのステップ幅がΔV1よりも大きいΔV2となっている。つまり、N2回目までの書き込みループでプログラムが完了する第1メモリセル、つまりリテンション特性が悪いサイクルドセルに対しては、プログラム電圧Vpgmのステップ幅をΔV1と小さくした精密なプログラムをすることで、メモリセルの閾値電圧分布を狭くすることができる。その結果、放置マージンを大きく取ることができる。一方、N21回目以降の書き込みループでプログラムが完了する第2メモリセル、つまりプログラム速度が遅いフレッシュメモリセルに対しては、プログラム電圧Vpgmのステップ幅をΔV2と大きくすることで書き込みループの繰り返し回数を抑えることができる。なお、製品の仕様によっては、図12に示す例のように、19回目までの書き込みループでは、プログラム電圧Vpgmのステップ幅をΔV1とし、20回目からの書き込みループでは、プログラム電圧Vpgmのステップ幅がΔV1よりも小さいΔV3としても良い。また、図10及び図12に示す例では、書き込みループ数が20回でプログラム電圧Vpgmのステップ幅を切り替えていたが、切り替える書き込みループ数は任意である。更に、本実施形態の場合、プログラム電圧Vpgmのステップ幅の切り替えを3段階以上にしても良い。以上、本実施形態によれば、第1の実施形態と同様、リテンション特性の向上し、書き込み不良の発生を抑制した不揮発性半導体記憶装置を提供することができる。また、本実施形態の場合、リフレッシュセルの放置マージンを大きくすることができる。更に、本実施形態は、第1の実施形態のベリファイ電圧の変更と組み合わせて用いることもできる。この場合、プログラム電圧Vpgmのステップ幅は大きくなるが、ベリファイ電圧Vcvを下げているので、閾値電圧分布の上裾の広がりを押さえることができる。[第3の実施形態]不揮発性半導体記憶装置は、微細化などの理由から、全てのメモリセルを確実にプログラムさせることは難しくなってきている。そのため、ECCシステムによるエラー訂正を前提として、ある程度の書き込みエラーを許容するようにしている。ここでは、例として、1ページにつき8ビットまでの書き込みエラーを許容する不揮発性半導体記憶装置において、ERレベルのメモリセルMCの閾値電圧Vthを最上位レベルであるCレベルに遷移させる場合について考える。なお、以下において、書き込みエラーを許容するビット数をビット無視数と呼ぶ。ERレベルのメモリセルをCレベルに遷移させた結果、N回目の書き込みループ実行後の閾値電圧分布が図13に示すようになったとする。この場合、ベリファイ電圧Vcv以下のメモリセルMCが9セル9ビットあるため、書き込みループが続行される。しかし、その後、図13下図に示すように、N1回目の書き込みループを実行することで、それまで閾値電圧Vthがベリファイ電圧Vcv以下であったメモリセルMCの一部は、図中a1に示すように、ベリファイ電圧Vcvを超える場合がある。その結果、書き込みエラー数は、8ビット以下の5ビットとなる。しかし、N1回目の書き込みループによって、ブログラムディスターブが発生してしまい、図中a2に示すように、ERレベルにあったメモリセル群の閾値電圧分布も正電圧方向に遷移してしまう。これによって、ERレベルの閾値電圧分布の一部は、Aレベルのベリファイ電圧Varを超えてしまい、Aレベルのデータに変化してしまう。そこで、第3の実施形態では、書き込みループ数に応じてビット無視数を変更することで、プログラムディスターブの発生を抑制する。図14は、本実施形態の書き込みシーケンス時における書き込みループ数とビット無視数との関係を示す図である。図14は、ビット無視数の最大値を16ビットとした場合の図である。また、図15は、本実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS300。シーケンス制御回路7は、ビット無視数NbをNb1で初期化した後ステップS301、プログラム電圧Vpgmを用いたプログラム動作を実行するステップS302。続くステップS303及びS304については、図8のステップS153及びS154と同様であるため説明を省略する。但し、Cレベルに対するベリファイ電圧はVbc1で一定である。続いて、書き込みループ回数がN3より大きいかどうか判断するステップS205。図14の例では、回数N3は19である。この回数N3は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN3より大きい場合ステップS305のYes、ビット無視数NbをNb1からNb2に変更するステップS306。一方、書き込みループ回数がN3以下の場合ステップS306のNo、シーケンス制御回路7は、ビット無視数Nbを変更すことなく、ステップS307に処理を移す。続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔV1だけステップアップさせるステップS307。そして、シーケンス制御回路7は、再び処理をステップS302に戻し、書き込みループを繰り返し実行する。以上のように、N3回目図14の場合は19回目までの書き込みループでは、ビット無視数を8ビットとしてベリファイ動作を実行し、N31回目図14では20回目からの書き込みループでは、ビット無視数を16ビットとしてベリファイ動作を実行する。つまり、サイクルドセルとみなせる第1メモリセルについては、ベリファイ動作時のビット無視数を制限する。この場合、長時間放置によってメモリセルMCの閾値電圧Vthが低下したことで、一部のメモリセルMCの閾値電圧Vthがベリファイ電圧Vcv以下となっても、最大8ビットまでのエラーであればECCシステムによって訂正することができる。一方、フレッシュセルとみなせる第2メモリセル群については、ビット無視数を16ビットまで増やすことで、書き込みループ数の増加を抑制することができる。また、これに伴い、プログラムディスターブの発生を防止することができる。以上、本実施形態によれば、第1の実施形態と同様、リテンション特性を保持しつつ、書き込み不良の発生を抑制することができる。また、本実施形態の場合、書き込みループ数増加によるプログラムディスターブを防止することもできる。なお、N31回目以降の書き込みループにおいて、エラー無視数Nbを増やすが、ECCを強化するものではないため、パリティビットの計算時間は長くならない。また、ビット無視数を固定した場合であっても、第1の実施形態と同様、ベリファイ電圧を変化させても同様の効果を得ることができる。つまり、図16に示すように、例えば、19回目までの書き込みループでは、ベリファイ電圧Vcv1を用いてベリファイステップを実行し、20回目以降の書き込みループでは、図中a1で示すように、ベリファイ電圧をVcv1からVcv2に下げてベリファイステップを実行する。このように、ベリファイ電圧を切り替えることで、例えば、図17に示すように、ベリファイ電圧Vcv1を用いてベリファイステップを実行した場合、9ビットのエラーがあったものが、ベリファイ電圧Vcv2を用いてベリファイステップを実行した場合、5ビットのエラーとなる。つまり、実質的に、エラー無視数を減らすこととなるため、図12に示す場合と同様の効果を得ることができる。更に、第1、第2の実施形態のベリファイ電圧の変更と組み合わせて用いることもできる。例えば、書き込みループ数が20回目以降でビット無視数を増やし、書き込みループ数が23回目以降でベリファイ電圧Vcvを下げるようにする。この場合、緩和したビット無視数に近いメモリセルにプログラム電圧を与えることができる。その結果、リテンション特性を保持しつつ、書き込み不良の発生を抑制することができるという効果をより発揮できる。一方、書き込みループ数が20回目以降でベリファイ電圧Vcvを下げ、書き込みループ数が23回目以降でビット無視数を増すようにすることもできる。この場合、より高速に書き込みを行うことができる。[第4の実施形態]第4の実施形態では、書き込みループ数に応じてベリファイステップ時のセンス時間を変える不揮発性半導体記憶装置について説明する。図18は、本実施形態に係るベリファイステップ時のセンス時間とビット線電圧Vblとの関係を示す図である。また、図19は、本実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS400。シーケンス制御回路7は、センス時間TsをTs1で初期化した後ステップS401、プログラム電圧Vpgmを用いたプログラム動作を実行するステップ402。続くステップS403及びS404については、図8のステップS153及びS154と同様であるため説明を省略する。但し、Cレベルに対するベリファイ電圧はVbc1で一定である。続いて、書き込みループ回数がN4より大きいかどうか判断するステップS405。この回数N4は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN4より大きい場合ステップS405のYes、センス時間TsをTs1からTs2に変更するステップS406。一方、書き込みループ回数がN4以下の場合ステップS406のNo、シーケンス制御回路7は、センス時間Tsを変更すことなく、ステップS407に処理を移す。続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔV1だけステップアップさせるステップS407。そして、シーケンス制御回路7は、再び処理をステップS402に戻し、書き込みループを繰り返し実行する。以上のように、N4回目までの書き込みループでは、ベリファイステップにおけるセンス時間をt1とし、N41回目以降の書き込みループでは、ベリファイステップにおけるセンス時間をt1よりも短いt2とする。つまり、サイクルドセルとみなせる第1メモリセル群の場合、センス時間t2より後のセンス時間t1でビット線BL電圧を検知することで、より実際の値に近いメモリセルの閾値電圧を検知することができる。一方、フレッシュセルとみなせる第2メモリセルの場合、センス時間がt2と短いため、ビット線BLの電圧は十分に低下しないことになる。その結果、メモリセルMCの閾値電圧Vthが高めに見えてしまうため、ベリファイパスしやすくなる。したがって、フレッシュセルに対する書き込みループ数の増大を抑制することができる。以上、本実施形態によれば、リテンション特性を損なうことなく、書き込み不良の発生を抑制した不揮発性半導体記憶装置を提供することができる。また、本実施形態の場合、リフレッシュセルが多い場合に書き込み速度を早くすることが出来る。更に、本実施形態は、第1の実施形態のベリファイ電圧の変更と組み合わせて用いることもできる。例えば、書き込みループ数が20回目以降でビット無視数を増やし、書き込みループ数が23回目以降でセンス時間を短くする。この場合、緩和したビット無視数に近いメモリセルにプログラム電圧を与えることができる。その結果、リテンション特性を保持しつつ、書き込み不良の発生を抑制することができるという効果をより発揮できる。一方、書き込みループ数が20回目以降でセンス時間を短くし、書き込みループ数が23回目以降でビット無視数を増すようにすることもできる。この場合、より高速に書き込みを行うことができる。[第5の実施形態]第5の実施形態では、書き込みループ数に応じてベリファイ動作の読み出し電圧を切り替える不揮発性半導体記憶装置について説明する。図20は、第5の実施形態に係る不揮発性半導体記憶装置のベリファイステップ時のバイアス状態の変化を示す図である。また、図21は、本実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS500。シーケンス制御回路7は、読み出し電圧VreadをVread1で初期化した後ステップS501、プログラム電圧Vpgmを用いたプログラム動作を実行するステップ502。続くステップS503及びS504については、図8のステップS153及びS154と同様であるため説明を省略する。但し、Cレベルに対するベリファイ電圧はVbc1で一定である。続いて、書き込みループ回数がN5より大きいかどうか判断するステップS505。この回数N5は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN5より大きい場合ステップS505のYes、読み出し電圧VreadをVread1からVread2に変更するステップS506。一方、書き込みループ回数がN5以下の場合ステップS505のNo、シーケンス制御回路7は、読み出し電圧Vreadを変更すことなく、ステップS507に処理を移す。続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔV1だけステップアップさせるステップS507。そして、シーケンス制御回路7は、再び処理をステップS502に戻し、書き込みループを繰り返し実行する。以上のように、N5回目までの書き込みループでは、図20上図に示すように、ベリファイステップの際、非選択ワード線WLに所定の読み出し電圧Vread1を印加し、N51回目以降の書き込みループでは、図20下図に示すように、ベリファイステップの際、非選択ワード線WLに読み出し電圧Vread1よりも低い読み出し電圧Vread2を用いてベリファイステップを実行する。この場合、フレッシュセルとみなせる第2メモリセルは、サイクルドセルとみなせる第1メモリセルよりも読み出し電圧が低い分メモリセルMCに流れるセル電流が流れにくくなる結果、メモリセルMCの閾値電圧Vthが高く見える。つまり、サイクルドセルよりもフレッシュセルの方がベリファイパスしやすくなる。以上より、本実施形態によれば、第1の実施形態と同様、サイクルドセルのデータの信頼性を損なうことなく、フレッシュセルの書き込み不良を低減させることができる。また、本実施形態の場合、書き込みループ数が多い場合に読み出し電圧Vreadを低くしている。その結果、フレッシュセルが多い場合に消費電力を小さくすることができる。なお、図16に示す例では、非選択ワード線WLの読み出し電圧を全てVreadからVread ́に切り替えたが、選択ワード線に隣接する1又は2以上の非選択ワード線に印加する読み出し電圧だけを切り替えても良い。更に、本実施形態は、第1の実施形態のベリファイ電圧の変更と組み合わせて用いることもできる。例えば、書き込みループ数が20回目以降でビット無視数を増やし、書き込みループ数が23回目以降で読み出し電圧Vreadを小さくする。この場合、緩和したビット無視数に近いメモリセルにプログラム電圧を与えることができる。その結果、リテンション特性を保持しつつ、書き込み不良の発生を抑制することができるという効果をより発揮できる。一方、書き込みループ数が20回目以降でセンス時間を短くし、書き込みループ数が23回目以降で読み出し電圧Vreadを小さくすることもできる。この場合、より高速に書き込みを行うことができる。[第6の実施形態]第6の実施形態では、書き込みループ数に応じてウエル電圧を切り替えてベリファイ動作をする不揮発性半導体記憶装置について説明する。図22は、本実施形態に係る不揮発性半導体記憶装置のベリファイステップ時のバイアス状態の変化を示す図である。また、図23は、本実施形態の書き込みシーケンスのフローチャートである。始めに、コントローラ11から書き込みコマンドがロジック制御回路6に送られる。ロジック制御回路6は、シーケンス制御回路7に書き込みシーケンスを実行させるステップS600。シーケンス制御回路7は、ウエル電圧VwellをVwell1で初期化した後ステップS601、プログラム電圧Vpgmを用いたプログラム動作を実行するステップS602。続くステップS603及びS604については、図8のステップS153及びS154と同様であるため説明を省略する。但し、Cレベルに対するベリファイ電圧はVbc1で一定である。続いて、書き込みループ回数がN6より大きいかどうか判断するステップS605。この回数N6は、ROMヒューズ領域1aに記憶されていても良いし、コントローラ11が書き込みコマンドと共に送付しても良い。シーケンス制御回路7は、書き込みループ回数がN6より大きい場合ステップS605のYes、ウエル電圧VwellをVwell1からVwell2に変更するステップS606。一方、書き込みループ回数がN6以下の場合ステップS605のNo、シーケンス制御回路7は、読み出し電圧Vwellを変更すことなく、ステップS607に処理を移す。続いて、シーケンス制御回路7は、プログラム電圧VpgmをΔV1だけステップアップさせるステップS607。そして、シーケンス制御回路7は、再び処理をステップS602に戻し、書き込みループを繰り返し実行する。以上のように、N6回目までの書き込みループでは、図22上図に示すように、所定のウエル電圧Vwell1を用いてベリファイ動作を実行し、N61回目以降の書き込みループでは、図22下図に示すように、ウエル電圧Vwell1よりも高いウエル電圧Vwell2を用いてベリファイ動作を実行する。この場合、フレッシュセルとみなせる第2メモリセルは、サイクルドセルとみなせる第1メモリセルよりもソース線CELSRCの電圧とウエル電圧Vwellが高くなる結果、実質的に閾値電圧が高く見える。つまり、サイクルドセルよりもフレッシュセルの方がベリファイパスしやすくなる。以上より、本実施形態によれば、第1の実施形態と同様、サイクルドセルのデータの信頼性を損なうことなく、フレッシュセルの書き込み不良を低減させることができる。また、本実施形態の場合、ベリファイ電圧Vcvだけでなく、ベリファイ電圧Vca、Vcbも実質的に下げる効果が同時に得られる。特に、Aレベル、または、BレベルとCレベルを同時に書き込む場合例えば、Aレベル用のプログラム電圧とBレベル及びCレベル用のプログラム電圧を連続して印加してA~Cレベルのベリファイを行うには有効である。その結果、Aレベル、Bレベルにおいても、サイクルドセルのデータの信頼性を損なうことなく、フレッシュセルの書き込み不良を低減させることができる。更に、本実施形態は、第1の実施形態のベリファイ電圧の変更と組み合わせて用いることもできる。[その他]以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。