複数のメモリセルがブロックごとに設けられたメモリセルアレイと、前記メモリセルの書き込み動作時に複数のベリファイレベルに対するベリファイ動作を実行させる書き込みベリファイ実行部と、前記ベリファイ動作のチェック結果に基づいて書き込み電圧をステップアップさせつつ、前記メモリセルの書き込み動作を実行させる書き込み実行部と、前記メモリセルの書き込みベリファイ動作に基づいて前記メモリセルのしきい値を判定するしきい値判定部と、前記メモリセルのしきい値に基づいて、前記書き込み電圧をステップアップさせるステップアップ電圧を変更するステップアップ電圧変更部とを備えることを特徴とする不揮発性半導体記憶装置。前記しきい値判定部は、前記メモリセルのしきい値分布が上裾ベリファイレベルを超えたかどうかを判定し、前記ステップアップ電圧変更部は、前記メモリセルのしきい値分布が上裾ベリファイレベルを超えた時に前記ステップアップ電圧を小さくすることを特徴とする請求項1に記載の不揮発性半導体記憶装置。前記しきい値判定部は、前記メモリセルの消去回数が規定値以上の時に前記メモリセルのしきい値分布を判定することを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。複数のメモリセルがブロックごとに設けられたメモリセルアレイと、前記メモリセルの書き込み動作時にベリファイ動作を実行させる書き込みベリファイ実行部と、前記ベリファイ動作のチェック結果に基づいて書き込み電圧をステップアップさせつつ、前記メモリセルの書き込み動作を実行させる書き込み実行部と、前記メモリセルの消去回数を前記ブロック単位でカウントする消去回数カウント部と、前記消去回数に基づいて、前記書き込み電圧をステップアップさせるステップアップ電圧を変更するステップアップ電圧変更部とを備えることを特徴とする不揮発性半導体記憶装置。前記ステップアップ電圧変更部は、目標のしきい値レベルの手前に設定されたベリファイレベルに達する前は、前記ベリファイレベルに達した後よりも大きな値に前記ステップアップ電圧を固定することを特徴とする請求項1から4のいずれか1項に記載の不揮発性半導体記憶装置。本発明の一つの実施形態の目的は、書き込み時間の増大を抑制しつつ、しきい値分布の広がりを抑えることが可能な不揮発性半導体記憶装置を提供することである。実施形態の不揮発性半導体記憶装置によれば、メモリセルアレイと、書き込みベリファイ実行部と、書き込み実行部と、しきい値判定部と、ステップアップ電圧変更部とが設けられている。メモリセルアレイは、複数のメモリセルがブロックごとに設けられている。書き込みベリファイ実行部は、前記メモリセルの書き込み動作時に複数のベリファイレベルに対するベリファイ動作を実行させる。書き込み実行部は、前記ベリファイ動作のチェック結果に基づいて書き込み電圧をステップアップさせつつ、前記メモリセルの書き込み動作を実行させる。しきい値判定部は、前記メモリセルの書き込みベリファイ動作に基づいて前記メモリセルのしきい値を判定する。ステップアップ電圧変更部は、前記メモリセルのしきい値に基づいて、前記書き込み電圧をステップアップさせるステップアップ電圧を変更する。以下、実施形態に係る不揮発性半導体記憶装置について図面を参照しながら説明する。なお、これらの実施形態により本発明が限定されるものではない。第1実施形態図1は、第1実施形態に係る不揮発性半導体記憶装置の概略構成を示すブロック図である。図1において、この不揮発性半導体記憶装置には、メモリセルアレイ1、ロウ選択回路2、ウェル電位設定回路3、ソース電位設定回路4、カラム選択回路5、データ入出力バッファ6、制御回路7およびセンスアンプ回路8が設けられている。メモリセルアレイ1には、データを記憶するメモリセルがロウ方向およびカラム方向にマトリックス状に配置されている。なお、1個のメモリセルは、1ビット分のデータを記憶するようにしてもよいし、2ビット以上のデータが記憶できるように多値化されていてもよい。ここで、メモリセルアレイ1は、nnは正の整数個のブロックB1~Bnに分割されている。なお、各ブロックB1~Bnは、NANDセルユニットをロウ方向に複数配列して構成することができる。図2は、図1の不揮発性半導体記憶装置のブロックの概略構成を示す回路図である。図2において、ブロックBi1≦i≦nの整数には、llは正の整数本のワード線WL1~WLl、セレクトゲート線SGD、SGSおよびソース線SCEが設けられている。また、ブロックB1~Bnには、mmは正の整数本のビット線BL1~BLmが共通に設けられている。そして、ブロックBiには、m個のNANDセルユニットNU1~NUmが設けられ、NANDセルユニットNU1~NUmはビット線BL1~BLmにそれぞれ接続されている。ここで、NANDセルユニットNU1~NUmには、セルトランジスタMT1~MTlおよびセレクトトランジスタMS1、MS2がそれぞれ設けられている。なお、モリセルアレイ1の1個のメモリセルは、1個のセルトランジスタMTk1≦k≦lの整数にて構成することができる。そして、セルトランジスタMT1~MTlが直列に接続されることでNANDストリングが構成され、そのNANDストリングの両端にセレクトトランジスタMS1、MS2が接続されることでNANDセルユニットNUj1≦j≦mの整数が構成されている。そして、NANDセルユニットNU1~NUmにおいて、セルトランジスタMT1~MTlの制御ゲート電極には、ワード線WL1~WLlがそれぞれ接続されている。また、NANDセルユニットNUjにおいて、セルトランジスタMT1~MTlからなるNANDストリングの一端は、セレクトトランジスタMS1を介してビット線BLjに接続され、NANDストリングの他端は、セレクトトランジスタMS2を介してソース線SCEに接続されている。図3は、図1の不揮発性半導体記憶装置の1セルユニット分の断面図である。図3において、ウェル11上にはフローティングゲート電極15およびセレクトゲート電極19、20が配置され、フローティングゲート電極15上には制御ゲート電極16が配置されている。なお、ウェル11とフローティングゲート電極15とは、不図示のトンネル絶縁膜を介して絶縁することができる。フローティングゲート電極15と制御ゲート電極16とは、不図示の電極間絶縁膜を介して絶縁することができる。ここで、1個のフローティングゲート電極15とその上の制御ゲート電極16とで1個のメモリセルを構成することができる。そして、ウェル11には、フローティングゲート電極15間またはフローティングゲート電極15とセレクトゲート電極19、20との間に配置された不純物拡散層12、13、14が形成されている。なお、例えば、ウェル11はP型、不純物拡散層12、13、14はN型に形成することができる。そして、不純物拡散層13は接続導体18を介してビット線BLjに接続され、不純物拡散層14は接続導体17を介してソース線SCEに接続されている。なお、各メモリセルの制御ゲート電極16はワード線WL1~WLlに接続され、セレクトゲート電極19、20はセレクトゲート線SGD、SGSにそれぞれ接続されている。また、図1において、ロウ選択回路2は、メモリセルの読み書き消去時において、メモリセルアレイ1のロウ方向のメモリセルを選択することができる。ウェル電位設定回路3は、メモリセルの読み書き消去時において、メモリセルアレイ1のウェル電位を設定することができる。ソース電位設定回路4は、メモリセルの読み書き消去時において、メモリセルアレイ1のソース電位を設定することができる。カラム選択回路5は、メモリセルの読み書き消去時において、メモリセルアレイ1のカラム方向のメモリセルを選択することができる。センスアンプ回路8は、メモリセルから読み出されたデータをカラムごとに判別することができる。データ入出力バッファ6は、外部から受け取ったコマンドやアドレスを制御回路7に送ったり、センスアンプ回路8と外部との間でデータの授受を行ったりすることができる。制御回路7は、コマンドおよびアドレスに基づいて、ロウ選択回路2、ウェル電位設定回路3、ソース電位設定回路4およびカラム選択回路5の動作を制御することができる。ここで、制御回路7には、消去回数カウント部7a、ステップアップ電圧変更部7b、書き込み実行部7cおよび書き込みベリファイ実行部7dが設けられている。消去回数カウント部7aは、メモリセルの消去回数をブロックB1~Bn単位でカウントすることができる。書き込み実行部7cは、メモリセルの書き込み動作を実行させることができる。なお、書き込み実行部7cは、ベリファイ動作のチェック結果に基づいて書き込み電圧VPGMをステップアップさせることができる。書き込みベリファイ実行部7dは、メモリセルの書き込み動作時にベリファイ動作を実行させることができる。ステップアップ電圧変更部7bは、メモリセルの消去回数に基づいて、書き込み電圧VPGMをステップアップさせるステップアップ電圧ΔVPGMを変更することができる。具体的には、メモリセルの消去回数が規定値を超えた時にステップアップ電圧ΔVPGMを小さくすることができる。図4は、図1の不揮発性半導体記憶装置の消去回数とステップアップ電圧との関係を示す図である。なお、P1はメモリセルの消去回数が規定値以下の時の書き込み電圧VPGMのステップアップ方法、P2はメモリセルの消去回数が規定値を越えた時の書き込み電圧VPGMのステップアップ方法を示す。図4において、メモリセルの消去回数が規定値以下の場合、ステップアップ電圧はΔVPGMに設定される。そして、ベリファイチェックに合格するまでステップアップ電圧ΔVPGMだけ増加されながら書き込み電圧VPGMが繰り返し印加されることで、メモリセルに書き込みが行われる。一方、メモリセルの消去回数が規定値を超えた場合、ステップアップ電圧はΔVPGMからΔVPGM ́に変更される。ただし、ΔVPGM>ΔVPGM ́である。そして、ベリファイチェックに合格するまでステップアップ電圧ΔVPGM ́だけ増加されながら書き込み電圧VPGMが繰り返し印加されることで、メモリセルに書き込みが行われる。図5は、図1の不揮発性半導体記憶装置の書き込みベリファイ動作を示すフローチャートである。図5において、ダイソートテストで書き込み電圧VPGMおよびステップアップ電圧ΔVPGMが決定された後S1、消去回数Nが1に設定されるS2。次に、選択ブロックBiの消去指示が行われるとS3、選択ブロックBiの消去回数Nが1だけインクリメントされた後S4、選択ブロックBiの消去処理が行われるS5。ブロックBiの消去処理では、ブロックBiのワード線WL1~WLlに0Vが印加され、メモリセルアレイ1のウェル電位が消去電圧Veに設定される。なお、消去電圧Veは、例えば、20V程度の高電圧に設定することができる。また、ブロックBiのソース線SCEおよびセレクトゲート線SGD、SGSはフローティングに設定することができる。そして、ブロックBiのワード線WL1~WLlに0Vが印加され、メモリセルアレイ1のウェル電位が消去電圧Veに設定された場合、ブロックBiのメモリセルのウェル11と制御ゲート電極15との間に高電圧がかかる。このため、フローティングゲート電極14に蓄積されていた電子がウェル11側に引き抜かれ、ブロックBiのメモリセルの消去動作が実行される。一方、ステップS3で書き込み指示が行われると、例えば、消去回数Nが1000を超えたかどうかが判断されるS6。そして、消去回数Nが1000以下の場合、書き込み電圧VPGMをステップアップさせるステップアップ電圧がΔVPGMに設定され、書き込み処理が行われるS7。図6は、図5の書き込み処理を示すフローチャートである。図6において、書き込み処理では、書き込み動作が実行されるS11。この書き込み動作では、ブロックBiの選択ワード線WLkに書き込み電圧VPGMが印加され、ブロックBiの選択ビット線BLjに0Vが印加される。また、選択ワード線WLkよりもビット線BLj側の非選択ワード線WL1~WLk-1には、セルトランジスタMT1~MTk-1をオンさせるのに十分な高電圧例えば、10Vが印加され、選択ワード線WLkよりもソース線SCE側の非選択ワード線WLk1~WLlには、セルトランジスタMTk1~MTlをオフさせるのに十分な低電圧例えば、0Vが印加される。また、セレクトゲート線SGDには、セレクトトランジスタMS1をオンさせるのに十分な高電圧が印加され、セレクトゲート線SGSには、セレクトトランジスタMS2をオフさせるのに十分な低電圧が印加される。すると、ビット線BLjに印加された0Vの電圧が、NANDセルユニットNUjのセルトランジスタMT1~MTk-1を介してセルトランジスタMTkのドレインに伝わるとともに、選択セルの制御ゲート電極16に高電圧がかかり、選択セルのフローティングゲート電極15の電位が上昇する。このため、トンネル現象によって選択セルのドレインから電子がフローティングゲート電極15に注入され、セルトランジスタMTkのしきい値が上昇することで、選択セルの書き込み動作が実行される。ブロックBiの選択セルの書き込み動作が実行されると、目標のしきい値レベルに達したかどうかを確認するために、書き込みベリファイ動作が実行されるS12。この時、ブロックBiの選択ワード線WLkにベリファイ電圧が印加され、非選択ワード線WL1~WLk-1、WLk1~WLlには、セルトランジスタMT1~MTk-1、MTk1~MTlをオンさせるのに十分な高電圧例えば、4.5Vが印加される。また、セレクトゲート線SGD、SGSには、セレクトトランジスタMS1、MS2をオンさせるのに十分な高電圧例えば、4.5Vが印加される。また、ビット線BLjにプリチャージ電圧が印加され、ソース線SCEに0Vが印加される。この時、選択セルのしきい値が目標のしきい値レベルに達しているなら、ビット線BLjに充電された電荷がNANDセルユニットNUjを介して放電され、ビット線BLjの電位がロウレベルになる。一方、選択セルのしきい値が目標のしきい値レベルに達していないなら、ビット線BLjに充電された電荷がNANDセルユニットNUjを介して放電されないので、ビット線BLjの電位がハイレベルになる。そして、ビット線BLjの電位がロウレベルかハイレベルかを判定することでベリファイチェックが行われるS13。そして、選択セルのしきい値が目標のしきい値レベルに達しているなら、図5の書き込み処理S7が終了し、ステップS3に戻る。一方、選択セルのしきい値が目標のしきい値レベルに達していないなら、書き込み電圧VPGMがステップアップ電圧ΔVPGMだけ増加されるS14。そして、ベリファイチェックに合格するまでステップアップ電圧ΔVPGMだけ増加されながら選択セルのしきい値が目標のしきい値レベルに達するまで書き込み電圧VPGMが繰り返し印加されることで、メモリセルに書き込みが行われる。一方、図5のステップS6において、消去回数Nが1000を超えている場合、例えば、消去回数Nが2000を超えたかどうかが判断されるS8。そして、消去回数Nが2000以下の場合、書き込み電圧VPGMをステップアップさせるステップアップ電圧がΔVPGM ́に設定され、書き込み処理が行われるS9。この書き込み処理は、ステップアップ電圧がΔVPGMからΔVPGM ́に変更された以外は、図6と同様である。一方、図5のステップS8において、消去回数Nが2000を超えている場合、書き込み電圧VPGMをステップアップさせるステップアップ電圧がΔVPGM ́ ́に設定され、書き込み処理が行われるS10。この書き込み処理は、ステップアップ電圧がΔVPGM ́からΔVPGM ́ ́に変更された以外は、図6と同様である。ただし、ΔVPGM ́>ΔVPGM ́ ́である。これにより、消去回数Nが増大した時にステップアップ電圧ΔVPGMを小さくすることができる。このため、メモリセルの消去が繰り返されたためにメモリセルが劣化した場合においても、メモリセルのしきい値分布の広がりを抑制することが可能となるとともに、メモリセルが劣化する前にはメモリセルが劣化した後に比べてステップアップ電圧ΔVPGMを大きくすることができ、書き込み時間の増大を抑制しつつ、書き換え回数を増大させることができる。なお、上述した実施形態では、消去回数Nが1000または2000を超えた時にステップアップ電圧ΔVPGMを小さくする方法について説明したが、ステップアップ電圧ΔVPGMを小さくする時の消去回数Nは任意の値に設定することができる。また、上述した実施形態では、ステップアップ電圧ΔVPGMを2段階に渡って小さくする方法について説明したが、ステップアップ電圧ΔVPGMを小さくする段階は任意の値に設定することができる。また、上述した実施形態では、消去回数Nに基づいて書き込み動作時のステップアップ電圧ΔVPGMを変更する方法について説明したが、消去回数Nに基づいて書き込み動作時のビット線電圧を変更するようにしてもよい。この時、消去回数Nが増大すると、書き込み動作時のビット線電圧を上昇させることにより、ワード線とチャネル間の電位差を小さくすることができ、メモリセルのしきい値分布の広がりを抑制することが可能となる。例えば、上述した実施形態では、書き込み動作時のビット線電圧を0Vに設定する方法について説明したが、消去回数Nが1000を超えた時にビット線電圧を0.5Vに変更し、消去回数Nが2000を超えた時にビット線電圧を0.7Vに変更するようにしてもよい。なお、消去回数Nに基づいて書き込み動作時のステップアップ電圧ΔVPGMを変更する処理と書き込み動作時のビット線電圧を変更する処理とを同時に行うようにしてもよい。また、上述した実施形態では、図6のベリファイチェックS13で不合格の場合は、ベリファイチェックに合格するまでステップアップ電圧ΔVPGMだけ増加させながら書き込み電圧VPGMを繰り返し印加する方法について説明したが、目標のしきい値レベルの手前に設定されたベリファイレベルに達する前は、そのベリファイレベルに達した後よりも大きな値にステップアップ電圧ΔVPGMを固定するようにしてもよい。これにより、目標のしきい値レベルの手前に設定されたベリファイレベルに達する前はステップアップ電圧ΔVPGMを大きくすることが可能となるとともに、そのベリファイレベルに達した後はステップアップ電圧ΔVPGMを小さくことが可能となり、書き込み時間の増大を抑制しつつ、メモリセルのしきい値分布の広がりを抑制することが可能となる。第2実施形態図7は、第2実施形態に係る不揮発性半導体記憶装置の概略構成を示すブロック図である。図7において、この不揮発性半導体記憶装置には、図1の制御回路7の代わりに制御回路7 ́が設けられている。この制御回路7 ́には、しきい値判定部7a ́、ステップアップ電圧変更部7b ́、書き込み実行部7c ́および書き込みベリファイ実行部7d ́が設けられている。しきい値判定部7a ́は、メモリセルの書き込みベリファイ動作に基づいてメモリセルのしきい値を判定することができる。ステップアップ電圧変更部7b ́は、メモリセルのしきい値分布に基づいて、書き込み電圧VPGMをステップアップさせるステップアップ電圧ΔVPGMを変更することができる。具体的には、メモリセルのしきい値分布が規定値より広がった時にステップアップ電圧ΔVPGMを小さくすることができる。書き込み実行部7c ́は、メモリセルの書き込み動作を実行させることができる。なお、書き込み実行部7c ́は、ベリファイ動作のチェック結果に基づいて書き込み電圧VPGMをステップアップさせることができる。書き込みベリファイ実行部7d ́は、メモリセルの書き込み動作時に複数のベリファイレベルに対するベリファイ動作を実行させることができる。なお、このベリファイレベルとしては、例えば、メモリセルのしきい値分布の下裾側に対応した下裾ベリファイレベルと、メモリセルのしきい値分布の上裾側に対応した上裾ベリファイレベルを設けることができる。図8は、図7の不揮発性半導体記憶装置の消去および書き込み時のメモリセルのしきい値電圧分布を示す図である。なお、図8の例では、メモリセルに4値が書き込まれる時のしきい値電圧分布を示した。図8において、メモリセルにデータ‘11’が書き込まれる時消去時は、メモリセルのしきい値電圧がしきい値電圧分布E内に設定される。メモリセルにデータ‘10’が書き込まれる時は、メモリセルのしきい値電圧がしきい値電圧分布A内に設定される。メモリセルにデータ‘01’が書き込まれる時は、メモリセルのしきい値電圧がしきい値電圧分布B内に設定される。メモリセルにデータ‘00’が書き込まれる時は、メモリセルのしきい値電圧がしきい値電圧分布C内に設定される。そして、メモリセルからデータ‘11’を読み出すための読み出し電圧RAがしきい値電圧分布E、A間に設定される。メモリセルからデータ‘10’を読み出すための読み出し電圧RBがしきい値電圧分布A、B間に設定される。メモリセルからデータ‘01’を読み出すための読み出し電圧RCがしきい値電圧分布B、C間に設定される。また、しきい値電圧分布Aの下裾には、データ‘10’を書き込む時のベリファイチェックを行うために、目標のしきい値レベルに相当する下裾ベリファイレベルVAが設定される。しきい値電圧分布Bの下裾には、データ‘01’を書き込む時のベリファイチェックを行うために、目標のしきい値レベルに相当する下裾ベリファイレベルVBが設定される。しきい値電圧分布Cの下裾には、データ‘00’を書き込む時のベリファイチェックを行うために、目標のしきい値レベルに相当する下裾ベリファイレベルVCが設定される。また、しきい値電圧分布Aの上裾側には、データ‘10’が書き込まれた時のしきい値電圧分布Aを判定するために、上裾ベリファイレベルVAHが設定される。しきい値電圧分布Bの上裾側には、データ‘01’が書き込まれた時のしきい値電圧分布Bを判定するために、上裾ベリファイレベルVBHが設定される。そして、データ‘10’が書き込まれた時のしきい値電圧分布Aが上裾ベリファイレベルVAHを超えた時には、しきい値電圧分布Aが広がったと判定し、次回の書き込みサイクルからステップアップ電圧ΔVPGMを小さくすることができる。あるいは、データ‘01’が書き込まれた時のしきい値電圧分布Bが上裾ベリファイレベルVBHを超えた時には、しきい値電圧分布Bが広がったと判定し、次回の書き込みサイクルからステップアップ電圧ΔVPGMを小さくすることができる。なお、データ‘10’が書き込まれた時のしきい値電圧分布Aが上裾ベリファイレベルVAHを超えた場合またはデータ‘01’が書き込まれた時のしきい値電圧分布Bが上裾ベリファイレベルVBHを超えた場合、次回の書き込みサイクルからデータ‘10’、‘01’および‘00’のいずれを書き込む場合においても、ステップアップ電圧ΔVPGMを一律に小さくするようにしてもよい。あるいは、データ‘10’が書き込まれた時のしきい値電圧分布Aが上裾ベリファイレベルVAHを超えた場合かつデータ‘01’が書き込まれた時のしきい値電圧分布Bが上裾ベリファイレベルVBHを超えていない場合、次回の書き込みサイクルからデータ‘10’を書き込む場合にのみ、ステップアップ電圧ΔVPGMを小さくするようにしてもよい。あるいは、データ‘10’が書き込まれた時のしきい値電圧分布Aが上裾ベリファイレベルVAHを超えていない場合かつデータ‘01’が書き込まれた時のしきい値電圧分布Bが上裾ベリファイレベルVBHを超えている場合、次回の書き込みサイクルからデータ‘01’を書き込む場合にのみ、ステップアップ電圧ΔVPGMを小さくするようにしてもよい。図9は、図7の不揮発性半導体記憶装置の書き込みベリファイ動作を示すフローチャートである。図9において、ダイソートテストで書き込み電圧VPGMおよびステップアップ電圧ΔVPGMが決定されるS21。次に、選択ブロックBiの消去指示が行われるとS22、選択ブロックBiの消去処理が行われるS23。一方、ステップS22でデータ‘10’の書き込み指示が行われると、書き込み電圧VPGMが印加された後S24、選択セルのしきい値が下裾ベリファイレベルVAに達したかどうかが判定されるS25。そして、選択セルのしきい値が下裾ベリファイレベルVAに達していない場合、選択セルのしきい値が下裾ベリファイレベルVAに達するまで書き込み電圧VPGMがステップアップ電圧ΔVPGMだけステップアップされながらS26、書き込み電圧VPGMが印加される。そして、選択セルのしきい値が下裾ベリファイレベルVAに達すると、選択セルのしきい値が上裾ベリファイレベルVAH以上かどうかが判定されるS27。そして、選択セルのしきい値が上裾ベリファイレベルVAH以上の場合、ステップアップ電圧ΔVPGMが小さくされた後S28、ステップS22に戻る。また、ステップS22でデータ‘01’の書き込み指示が行われると、書き込み電圧VPGMが印加された後S29、選択セルのしきい値が下裾ベリファイレベルVBに達したかどうかが判定されるS30。そして、選択セルのしきい値が下裾ベリファイレベルVBに達していない場合、選択セルのしきい値が下裾ベリファイレベルVBに達するまで書き込み電圧VPGMがステップアップ電圧ΔVPGMだけステップアップされながらS31、書き込み電圧VPGMが印加される。そして、選択セルのしきい値が下裾ベリファイレベルVBに達すると、選択セルのしきい値が上裾ベリファイレベルVBH以上かどうかが判定されるS32。そして、選択セルのしきい値が上裾ベリファイレベルVBH以上の場合、ステップアップ電圧ΔVPGMが小さくされた後S33、ステップS22に戻る。また、ステップS22でデータ‘00’の書き込み指示が行われると、書き込み電圧VPGMが印加された後S34、選択セルのしきい値が下裾ベリファイレベルVCに達したかどうかが判定されるS35。そして、選択セルのしきい値が下裾ベリファイレベルVCに達していない場合、選択セルのしきい値が下裾ベリファイレベルVCに達するまで書き込み電圧VPGMがステップアップ電圧ΔVPGMだけステップアップされながらS36、書き込み電圧VPGMが印加される。そして、選択セルのしきい値が下裾ベリファイレベルVCに達すると、ステップS22に戻る。これにより、メモリセルのしきい値分布の実際の広がりに応じてステップアップ電圧ΔVPGMを小さくすることができる。このため、メモリセルのしきい値分布の実際に広がった時に、メモリセルのしきい値分布の広がりを抑制することが可能となるとともに、メモリセルのしきい値分布が広がる前には広がった後に比べてステップアップ電圧ΔVPGMを大きくすることができ、書き込み時間の増大を抑制しつつ、書き換え回数を増大させることができる。なお、上述した実施形態では、メモリセルのしきい値分布の広がりに基づいて書き込み動作時のステップアップ電圧ΔVPGMを変更する方法について説明したが、メモリセルのしきい値分布の広がりに基づいて書き込み動作時のビット線電圧を変更するようにしてもよい。また、メモリセルのしきい値分布の広がりに基づいて書き込み動作時のステップアップ電圧ΔVPGMを変更する処理と書き込み動作時のビット線電圧を変更する処理とを同時に行うようにしてもよい。また、上述した実施形態では、データ‘10’の書き込み指示が行われた場合、選択セルのしきい値が下裾ベリファイレベルVAに達していない場合、選択セルのしきい値が下裾ベリファイレベルVAに達するまで書き込み電圧VPGMがステップアップ電圧ΔVPGMだけステップアップさせながら書き込み電圧VPGMを繰り返し印加する方法について説明したが、目標のしきい値レベルの手前に設定されたベリファイレベルに達する前は、そのベリファイレベルに達した後よりも大きな値にステップアップ電圧ΔVPGMを固定するようにしてもよい。データ‘01’または‘00’の書き込み指示が行われた場合についても同様である。第3実施形態図10は、第3実施形態に係る不揮発性半導体記憶装置の書き込みベリファイ動作を示すフローチャートである。なお、図10の例では、データ‘10’が書き込まれる場合について示し、データ‘01’、‘00’が書き込まれる場合は省略した。図10において、消去回数Nが1に設定されるS41。次に、選択ブロックBiの消去指示が行われるとS42、選択ブロックBiの消去回数Nが1だけインクリメントされた後S43、選択ブロックBiの消去処理が行われるS44。一方、ステップS42でデータ‘10’の書き込み指示が行われると、書き込み電圧VPGMが印加された後S45、選択セルのしきい値が下裾ベリファイレベルVAに達したかどうかが判定されるS46。そして、選択セルのしきい値が下裾ベリファイレベルVAに達していない場合、選択セルのしきい値が下裾ベリファイレベルVAに達するまで書き込み電圧VPGMがステップアップ電圧ΔVPGMだけステップアップされながらS47、書き込み電圧VPGMが印加される。そして、選択セルのしきい値が下裾ベリファイレベルVAに達すると、消去回数Nが10以上かどうかが判定されるS48。そして、消去回数Nが10以上でない場合、ステップS42に戻る。一方、消去回数Nが10以上の場合、選択セルのしきい値が上裾ベリファイレベルVAH以上かどうかが判定されるS49。そして、選択セルのしきい値が上裾ベリファイレベルVAH以上の場合、ステップアップ電圧ΔVPGMが小さくされるS50。そして、ステップアップ電圧ΔVPGMの変更に伴ってROMパラメータが変更された後S51、消去回数Nが1に設定されS52、ステップS42に戻る。これにより、メモリセルのしきい値分布の実際の広がりに応じてステップアップ電圧ΔVPGMを小さくすることが可能となるとともに、消去処理が10回だけ行われるごとに選択セルのしきい値が上裾ベリファイレベルVAH以上かどうかを判定することができる。このため、メモリセルに余計なストレスがかかるのを抑制しつつ、メモリセルのしきい値分布の広がりを抑制することが可能となるとともに、メモリセルのしきい値分布が広がる前には広がった後に比べてステップアップ電圧ΔVPGMを大きくすることができ、書き込み時間の増大を抑制しつつ、書き換え回数を増大させることができる。なお、上述した実施形態では、消去回数Nが10以上の時に選択セルのしきい値が上裾ベリファイレベルVAH以上かどうかを判定する方法について説明したが、選択セルのしきい値が上裾ベリファイレベルVAH以上かどうかを判定する時の消去回数Nは任意の値に設定することができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。