複数のビット線と、前記ビット線に交差する複数のワード線と、前記ビット線と前記ワード線との交点に対応して設けられた複数のメモリセルと、前記ビット線に接続され、前記複数のメモリセルに格納されたデータを検出するセンスアンプと、前記ワード線の電圧を制御するワード線ドライバとを備え、複数の前記メモリセルがデータ消去の単位となるメモリブロックを成し、前記メモリブロックにおいて各前記ワード線に共通に接続された前記メモリセルがページを成し、データ消去前の前記メモリブロックまたは前記ページのデータのうち所定の論理値データの割合に応じて、前記メモリブロックのデータ消去動作時における消去条件、または、前記メモリブロック内のデータが消去されたことを検証するベリファイの条件を変更する制御回路をさらに備えたことを特徴とする半導体記憶装置。データ消去前の前記メモリブロックまたは前記ページのデータのうち電荷蓄積状態を示すデータの割合が所定値を超える場合に、前記制御回路は、前記ベリファイの際に前記ビット線の電圧と比較される参照電圧を第1の参照電圧に設定し、前記電荷蓄積状態を示すデータの割合が所定値以下である場合に、前記制御回路は、前記ベリファイの際に前記ビット線の電圧と比較される参照電圧を前記第1の参照電圧よりも高い第2の参照電圧に設定することを特徴とする請求項1に記載の半導体記憶装置。前記メモリブロック内の前記メモリセルは、同一のウェル上に形成されており、データ消去前の前記メモリブロックまたは前記ページのデータのうち電荷蓄積状態を示すデータの割合が所定値を超える場合に、前記制御回路は、データ消去時に前記ウェルに印加されるウェル電圧を第1のウェル電圧に設定し、前記電荷蓄積状態を示すデータの割合が所定値以下である場合に、前記制御回路は、データ消去時に前記ウェルに印加されるウェル電圧を前記第1のウェル電圧よりも高い第2のウェル電圧に設定することを特徴とする請求項1または請求項2に記載の半導体記憶装置。データ消去前の前記ページのデータのうち電荷蓄積状態を示すデータの割合が所定値以下である場合に、前記制御回路は、データ消去動作後、前記ベリファイを実行し、さらにその後、再度データ消去動作を実行することを特徴とする請求項1から請求項3のいずれかに記載の半導体記憶装置。データ消去前の前記ページのデータのうち電荷蓄積状態を示すデータの割合が所定値を超える場合に、前記制御回路は、前記ベリファイの際に前記ビット線の電圧を検出する時間を、第1のセンス時間に設定し、前記電荷蓄積状態を示すデータの割合が所定値以下である場合に、前記制御回路は、前記ベリファイの際に前記ビット線の電圧を検出する時間を、前記第1のセンス時間よりも短い第2のセンス時間に設定することを特徴とする請求項1から請求項4のいずれかに記載の半導体記憶装置。ブロック内のデータパターンに依らず、データ消去動作においてメモリセルのデータの消去不良を抑制することができる半導体記憶装置を提供する。本実施形態による半導体記憶装置は、複数のビット線と、ビット線に交差する複数のワード線と、ビット線とワード線との交点に対応して設けられた複数のメモリセルと、ビット線に接続され、複数のメモリセルに格納されたデータを検出するセンスアンプと、ワード線の電圧を制御するワード線ドライバとを備えている、複数のメモリセルは、データ消去の単位となるメモリブロックを成す。メモリブロックにおいて各ワード線に共通に接続されたメモリセルがページを成す。コントローラは、データ消去前のメモリブロックまたはページのデータのうち所定の論理値データの割合に応じて、メモリブロックのデータ消去動作時における消去条件、または、メモリブロック内のデータが消去されたことを検証するベリファイの条件を変更する。以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。第1の実施形態まず、1データ残りに関して説明をする。例えば、ワード線方向に配列された同一ページのメモリセルに電荷蓄積状態例えば、データ0のメモリセルが少ない場合、非常に少ない消去ループ回数で消去ベリファイチェックをパスすることがある。例えば、或るワード線に共通に接続されたメモリセルのうち1つのメモリセルのみが電荷蓄積状態であり、他のメモリセルはもともと消去状態である場合、電荷蓄積状態のメモリセルのみ消去ベリファイチェックをパスすればよい。即ち、少ない消去ループ回数でその電荷蓄積状態のメモリセルさえ消去ベリファイチェックをパスすればよいことになる。従って、この場合、電荷蓄積状態であったメモリセルの閾値電圧は、充分に消去状態に遷移していない。また、例えば、消去ベリファイチェックにおいて、ビット線方向のセルストリングのうち多くのメモリセルが消去状態であり、極小数のメモリセルが充分に消去状態になっていない場合、セル電流は、比較的多く流れるので、消去ベリファイチェックをパスしやすい。従って、メモリセルに電荷蓄積状態例えば、データ0のメモリセルが少なく、消去状態のメモリセル1セルが多い場合、特に、ワード線方向のページに電荷蓄積状態のメモリセル0セルが少なく、かつ、ビット線方向のセルストリングに消去状態のメモリセル1セルが多い場合、消去不十分なメモリセルが存在しても、消去ベリファイチェックをパスしてしまう可能性が有る。その結果、誤消去が発生してしまう。通常は、誤消去セルはECCなどで救済している。しかし、不良セルの数が大きくなると、ECCで救済できる救済セル数を多くする必要があり、半導体記憶装置の動作が遅くなってしまう。図1は、第1の実施形態によるNAND型フラッシュメモリ以下、単にメモリともいう21および制御回路例えば、NANDコントローラ20の構成を示すブロック図である。メモリ21は、メモリセルアレイ1と、センスアンプ回路2と、ロウデコーダワード線ドライバWDRV、ウェルドライバWELLDRVおよびソース線ドライバSDRVを含む3と、制御部4と、入出力バッファ5と、ROMフューズ6と、電圧発生回路7とを備えている。尚、メモリ21は、1チップとして構成されており、NANDコントローラ20は、複数のメモリチップ21を制御するように構成されている。NANDコントローラ20および複数のメモリチップ21は、一体として樹脂封止されている。メモリセルアレイ1は、マトリクス状に二次元配列された複数のメモリセルMCにより構成されている。各NANDセルストリング以下、セルストリングともいう10は、複数個直列に接続されたメモリセルMCMC0、MC1、...、MC31と、その両端に接続される選択ゲートトランジスタS1、S2とにより構成されている。選択ゲートトランジスタS1のソースは共通ソース線CELSRCに接続され、選択ゲートトランジスタS2のドレインはビット線BLに接続されている。選択ゲートトランジスタS1、S2は、セルストリング10のメモリセルMCをビット線BLとCELSRCとの間において電気的に接続または切断するように構成されている。複数のセルストリング10がワード線WLの延伸方向に配列されており、メモリセルブロック以下、単にブロックともいうBLKを構成している。ブロックBLKは、同時にデータ消去動作が行われるメモリセルの単位である。各ブロックBLKは、複数のページを含む。ページは、同時にデータ書込み動作またはデータ読出し動作が行われるメモリセルの単位であり、或るワード線に共通に接続された複数のメモリセルから成る。各メモリセルMCは、ドレインDとソースSとの間に形成されたゲート絶縁膜トンネル絶縁膜と、ゲート絶縁膜上に設けられた電荷蓄積層としてのフローティングゲートFGを備える。メモリセルMCは、さらに、フローティングゲートFG上にゲート間絶縁膜を介して設けられたコントロールゲートCGを備える。コントロールゲートCGは、ワード線WLの1つに接続される。セルストリング10内のメモリセルMCの制御ゲートはそれぞれ異なるワード線WLWL0、WL1、...、WL31に接続されている。選択ゲートトランジスタS1、S2のゲートはワード線WLと並行する選択ゲート線SG1、SG2にそれぞれ接続されている。1本のワード線WLを共有する複数のメモリセルMCの集合は、上述のようにページを構成する。ワード線WLと選択ゲート線SG1、SG2を共有する複数のセルストリング10の集合は、ブロックBLKを構成する。図1に示すように、メモリセルアレイ1には、ビット線BL方向に複数のブロックBLKBLK0、BLK1、...、BLKnが構成される。P型ウェルCPWELLは、各ブロックBLKのそれぞれに対応してシリコン基板に形成されている。即ち、ブロックBLK内のメモリセルMCは、同一のウェル上に形成されている。センスアンプ回路2は、複数のセンスアンプSAを備えている。センスアンプSAは、ビット線BLに接続され、該ビット線BLを介して伝達された読出しデータをセンスする。また、センスアンプSAは、外部から受けた書込みデータをビット線BLを介してメモリセルMCへ書き込むために保持するページバッファを有する。センスアンプ回路2はカラム選択ゲートを有し、センスアンプSAは、カラム選択ゲートによってビット線BLに選択的に接続され得る。ワード線ドライバWDRVは、ワード線WL及び選択ゲート線SG1、SG2を選択して駆動する。ロウデコーダ3は、ロウアドレスに従ってワード線WL、セルウェルCPWELL、セルソースCELSRCを選択する。さらに、ロウデコーダ3は、ワード線ドライバWDRV、ウェルドライバWELLDRV、ソースドライバSDRVを含む。ワード線ドライバWDRVは、選択されたワード線WLに電圧を印加し、ウェルドライバWELLDRVは、選択されたセルウェルCPWELLに電圧を印加し、並びに、ソースドライバSDRVは、選択されたセルソースCELSRCに電圧を印加することができるように構成されている。データ入出力バッファ5は、センスアンプ回路2と外部入出力端子との間でデータの授受を行う他、コマンドデータやアドレスデータを受け取る。制御部4は、書込みイネーブル信号WEn、読出しイネーブル信号REn、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE等の外部制御信号を受けて、メモリ動作の全般の制御を行う。具体的に、制御部4は、コマンドインタフェース、アドレス保持回路、転送回路等を含み、供給されたデータが書込みデータであるかアドレスデータであるかを判定する。この判定結果に応じて、書込みデータはセンスアンプ回路2に転送され、アドレスデータはロウデコーダ3またはセンスアンプ回路2に転送される。また、制御部4は、外部制御信号に基づいて、読出し動作、書込み動作および消去動作のシーケンス制御、並びに、それらの動作における印加電圧の制御等を行う。電圧発生回路7は、複数の昇圧回路11と、パルス発生回路12とを備えている。昇圧回路11は、それぞれ周知のチャージポンプ回路CPCP1~CP8から構成され得る。電圧発生回路7は、制御部4からの制御信号に基づいて、駆動される昇圧回路11の数を切替え、さらにパルス発生回路12を制御して、例えば、パルス電圧のパルス幅やパルス高さを調整する。なお、書込み動作及び消去動作のパルス電圧のパルス幅やパルス高さは、例えば図1に示すROMフューズ6に、電圧設定データとして格納しておくことができる。制御部4は、この電圧設定データに従って、駆動すべき昇圧回路11の数を決定することができる。入出力バッファ5は、メモリ21とNANDコントローラ20との間を通信可能に接続する。NANDコントローラ20は、データ消去前のページにおいてデータ0または1の個数をカウントし、そのデータの割合に応じて、ブロックBLKのデータ消去動作時における消去条件、または、ブロックBLK内のデータが消去されたことを検証するベリファイの条件を変更するように構成されている。図2は、メモリセルアレイ1の部分的な構成例を示す図である。メモリセルアレイ1は、マトリクス状に二次元配列された複数のメモリセルMCによって構成されている。ワード線WLおよびビット線BLがほぼ直行して延伸している。メモリセルMCは、ワード線WLとビット線BLとの交点に対応して設けられている。メモリセルMCは、電荷を蓄積可能なフローティングゲートFGおよびワード線WLに接続されたコントロールゲートCGを有するFETである。複数のメモリセルMCは、直列に接続されてセルストリング10を構成している。セルストリング10は、メモリセルMCのドレイン側において選択トランジスタS2を介してビット線BLに接続されている。セルストリング10は、メモリセルMCのソース側において選択トランジスタS1を介してソースに接続されている。セルストリング10内のメモリセルMCのコントロールゲートCGは、それぞれ異なるワード線WLに接続されている。ワード線WLの延伸方向に配列された複数のセルストリング10がブロックBLKを構成する。ブロックBLKは、上述の通り、データ消去動作の単位である。さらに、メモリセルブロックBLKにおいて、或るワード線WLに共通に接続された複数のメモリセルMCがページを構成する。ページは、上述の通り、データ書込み動作およびデータ読出し動作の単位である。次に、データ消去動作について説明する。通常、データ消去動作は、複数の消去ループを繰り返すことによって実行される。各消去ループは、ブロック内のメモリセルから電荷を引き抜く動作と、データが消去されたか否かを検証するベリファイチェックとから成る。電荷引抜き動作電荷引抜き動作では、ワード線ドライバWDRVが消去対象ブロックのワード線WLの電圧を基準電圧に固定した後、ウェルドライバWELLDRVは、消去対象ブロックが形成されているウェルに消去電圧を印加する。例えば、メモリセルMCがN型FETFieldEffectTransistorであり、フローティングゲートFGに蓄積される電荷が電子である場合、ワード線ドライバWDRVが消去対象ブロックのワード線電圧を、例えば、0ボルトに固定した後、ウェルドライバWELLDRVは、対応するウェルCPWELLに、例えば、17ボルトの消去電圧を印加する。これにより、消去対象ブロック内のメモリセルMCに蓄積された電子が引き抜かれ、メモリセルMCのデータが消去される。消去ベリファイチェックベリファイチェックは、電荷引抜き動作後、ワード線WLの電圧を基準電圧に固定した後、セルソースCELSRCに電圧を印加する。このとき、センスアンプ回路2がセルストリング10を介してビット線BLの電圧を検知し、セルストリング10のメモリセルMCの消去状態を判断する。図3は、消去ベリファイチェックの動作を示す概念図である。図3には、1つのセルストリング10のみを便宜的に示している。上述のように、消去ベリファイチェックでは、ワード線ドライバWDRVがベリファイ対象のワード線WLを全て基準電圧例えば、0ボルトに固定する。ソース線ドライバSDRVがセルソースCELSRCに高レベル電圧VDDを印加する。そして、センスアンプ回路2がビット線電圧の変動を検知することによってセルストリングの消去状態を検証する。尚、BLCは、ビット線BLの容量、例えば、隣接するビット線BL間の容量を示している。セルストリング10の全てのメモリセルMCのデータが充分に消去されていれば、それらのメモリセルMCの閾値電圧は、基準電圧よりも充分に低い。従って、セル電流Icellがセルストリング10を流れ、ビット線の容量BLCを充電し、ビット線BLの電圧が規定時間内に参照電圧VSENEVよりも高くなる。センスアンプ回路2がビット線BLの電圧を検知することによって、ビット線BLの電圧が参照電圧VSENEVよりも高いか否かを判断できる。尚、参照電圧VSENEVは、ビット線BLの電圧と比較され、セルストリング10の消去状態を判断する基準電圧である。一方、セルストリング10のいずれかのメモリセルMCのデータが充分に消去されていなければ、そのメモリセルMCの閾値電圧は、基準電圧付近かそれよりも高い。従って、セル電流Icellがセルストリング10を流れ難く、ビット線BLの電圧の上昇に時間がかかるか、あるいは、ビット線BLの電圧が上昇しない。従って、ビット線BLの電圧は、規定時間内に参照電圧VSENEVよりも高くならない。このように、メモリ21は、参照電圧VSENEVとビット線BLの電圧とを比較してメモリセルMCの消去状態を判断することができる。図4は、第1の実施形態によるメモリ21およびNANDコントローラ20の消去動作を示すフロー図である。本実施形態では、ブロックBLKまたはページのデータのうち所定の論理値データの割合に応じて、NANDコントローラ20がベリファイチェックの条件を変更する。尚、本実施形態では、データ消去前にカウントされた0セルまたは1セルの個数、データ消去前のページ内における0セルまたは1セルの割合、消去動作時にウェルに印加されるウェル電圧、消去時にウェル電圧を印加する時間、消去動作後のベリファイチェック時にビット線BLの電圧と比較される基準電圧、消去動作後のベリファイチェック時にソースCELSRCに印加されるソース電圧、あるいは、ビット線BLの電圧と比較される基準電圧は、全てROMフューズ6に格納されていてよい。また、本実施形態では、電荷蓄積状態のデータをデータ0とし、消去状態のデータをデータ1とする。また、データ0を格納するメモリセルMCを0セルと呼び、データ1を格納するメモリセルMCを1セルと呼ぶ。まず、センスアンプ回路2が消去対象であるブロックBLKからデータを読み出すS10。読出しデータは、I/Oバッファ5を介してNANDコントローラ20に出力される。NANDコントローラ20は、0セルまたは1セルの個数をカウントし、ブロックBLK全体または各ページ全体に対するその論理値データの個数の割合を算出するS20。例えば、NANDコントローラ20は、0セルの数をカウントし、ブロックBLK全体または各ページ全体のメモリセル数に対する0セルの個数の割合を算出する。勿論、NANDコントローラ20は、1セルの数をカウントし、1セルの個数の割合を算出してもよい。次に、NANDコントローラ20が0セル数の割合をチェックするS25。0セルの割合がブロックBLK全体またはページ全体に対して所定値ここでは50とするを超える場合、NANDコントローラ20は、第1の参照電圧VSENEV1を選択するコマンドをメモリ21へ送信しS28、メモリ21は、第1の参照電圧VSENEV1を用いて通常通りに消去動作を実行するS30~S50。例えば、ROM6が第1の参照電圧VSENEV1を予め格納しており、0セルの割合が50を超える場合には、NANDコントローラ20は、第1の参照電圧VSENEV1例えば、0.35Vを選択するコマンドをメモリ21へ送信するS28。メモリ21は、NANDコントローラ20のコマンドに従って第1の参照電圧VSENEV1を選択する。そして、メモリ21は、電荷引抜き動作を実行しS30、その後、第1の参照電圧VSENEV1を用いてベリファイチェックを行うS40。尚、上記所定値は、メモリデバイス自体の特性、あるいは、メモリの実際の使用状況によるデータパターン等に依存して変更する。すなわち、0セルの割合は0~100の間で変更可能である。また、所定値または参照電圧は、メモリチップ21およびNANDコントローラ20の外部から書換えできるようにしてもよい。ベリファイチェックの結果、消去対象ブロックBLK内のいずれかのビット線BLの電圧が第1の参照電圧VSENEV1未満である場合S50のFail、充分にデータ消去されていないメモリセルMCがそのブロックBLKに含まれていることを意味する。従って、ステップS30およびS40からなる消去ループを再度実行する。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。ここで、各消去ループのベリファイチェックにおいて、第1の参照電圧VSENEV1が用いられる。そして、消去対象ブロックBLKの全セルストリング10がベリファイチェックをパスした場合S50のPass、消去動作が終了する。一方、0セルの割合がブロックBLK全体またはページ全体に対して50以下である場合S25、NANDコントローラ20は、第1の参照電圧VSENEV1よりも高い第2の参照電圧VSENEV2例えば、0.40Vを選択するコマンドをメモリ21へ送信するS60。メモリ21は、第2の参照電圧VSENEV2用いて消去動作を実行するS30。例えば、ROM6が第1の参照電圧VSENEV1の他に、それよりも高い第2の参照電圧VSENEV2を格納しており、0セルの割合が50以下である合には、NANDコントローラ20は、第2の参照電圧VSENEV2を選択するコマンドをメモリ21へ送信するS60。メモリ21は、NANDコントローラ20のコマンドに従って第2の参照電圧VSENEV2を選択する。そして、メモリ21は、電荷引抜き動作を実行しS30、その後、参照電圧VSENEV2を用いてベリファイチェックを行うS40。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。ここで、各消去ループのベリファイチェックにおいて、第2の参照電圧VSENEV2が用いられる。そして、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスした場合S50のPass、消去動作が終了する。0セルの数がブロックBLK全体またはページ全体に対して所定値50を超える場合、1セルが少ないため、上述の1データ残りが比較的発生しにくい。1データ残りは、ワード線方向のページにおいて1セルが多く存在し、さらにビット線方向のセルストリング10において1セルが多い場合に発生しやすいからである。従って、この場合には、ビット線BLの電圧の参照電圧は、第1の参照電圧VSENEV1でよい。一方、0セルの数がブロックBLK全体またはページ全体に対して所定値50以下である場合、1セルが多いため、上述の1データ残りが比較的発生しやすい状況となる。従って、この場合には、ビット線BLの電圧の参照電圧として、第2の参照電圧VSENEV2を用いる。第2の参照電圧VSENEV2は、第1の参照電圧VSENEVよりも高いので、メモリセルMCは、ベリファイチェックをパスし難くなる。よって、ステップS30の消去動作後、充分にデータ消去されていないメモリセルMCを含むセルストリング10がベリファイチェックをパスすることを抑制することができ、消去ループの実行回数が多くなる。その結果、1データ残りが発生し難くなる。このように、本実施形態による半導体記憶装置は、ブロック内のデータパターンデータの論理数の偏り、データの論理の分布等に依らず、データ消去動作においてメモリセルのデータの消去不良を抑制することができる。また、消去電圧VERAを1セルの数によって変更しないため、1セルが過度に消去されない。その結果、過消去セルによる隣接セルの閾値変動を防止することができる。第2の実施形態図5は、第2の実施形態によるメモリ21およびNANDコントローラ20の動作を示すフロー図である。第2の実施形態によるメモリ21およびNANDコントローラ20の構成は、第1の実施形態のそれらの構成と同様でよい。第2の実施形態では、ブロックBLKまたはページのデータのうち所定の論理値データの割合に応じて、NANDコントローラ20が電荷引抜き動作の条件を変更する。まず、センスアンプ回路2が消去対象であるブロックBLKからデータを読み出すS110。読出しデータは、I/Oバッファ5を介してNANDコントローラ20に出力される。NANDコントローラ20は、データ0または1の個数をカウントし、ブロックBLK全体またはページ全体に対するそのデータ数の割合を算出するS120。例えば、NANDコントローラ20は、0セルの数をカウントし、ブロックBLK全体またはページ全体のメモリセル数に対する0セルの個数の割合を算出する。次に、NANDコントローラ20が0セル数の割合をチェックするS125。0セルの数がブロックBLK全体またはページ全体に対して所定値ここでは50とするを超える場合、NANDコントローラ20は、第1の消去電圧VERA1例えば、15Vを選択するコマンドをメモリ21へ送信しS128、メモリ21は、第1の消去電圧VERA1を用いて通常通りに消去動作を実行するS130~S150。例えば、ROM6が第1の消去電圧VERA1を予め格納しており、0セルの割合が50を超える場合には、NANDコントローラ20は、第1の消去電圧VERA1を選択するコマンドをメモリ21へ送信するS128。メモリ21は、NANDコントローラ20のコマンドに従って第1の消去電圧VERA1を選択する。そして、メモリ21は、第1の消去電圧VERA1を用いて電荷引抜き動作を実行しS130、その後、ベリファイチェックを行うS140。第1の消去電圧VERA1は、電荷引抜き時にウェルCPWELLに印加される電圧である。第2の実施形態では、ベリファイチェック時の参照電圧はVSENEV例えば、3.5Vで一定である。ステップS130の電荷引抜き動作において、ウェルドライバWELLDRVは、消去対象ブロックBLKに対応するウェルCPWELLに第1の消去電圧VERA1を印加する。このとき、ワード線ドライバWDRVは、消去対象ブロックBLKのワード線WLの電圧を基準電圧例えば、0ボルトに固定している。ベリファイチェックの結果、消去対象ブロックBLK内のいずれかのビット線BLの電圧が参照電圧VSENEV未満である場合S150のFail、充分にデータ消去されていないメモリセルMCがそのブロックBLKに含まれていることを意味する。従って、ステップS130およびS140からなる消去ループを再度実行する。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。ここで、各消去ループの電荷引抜き動作において、第1の消去電圧VERA1が用いられる。そして、消去対象ブロックBLKの全セルストリング10がベリファイチェックをパスした場合S150のPass、消去動作が終了する。一方、0セルの数がブロックBLK全体またはページ全体に対して50以下である場合S125、NANDコントローラは、第1の消去電圧VERA1よりも高い第2の消去電圧VERA2例えば、16Vを選択するコマンドをメモリ21へ送信するS160。メモリ21は、第2の消去電圧VERA2を用いて消去動作を実行するS130。例えば、ROM6が第1の消去電圧VERA1の他に、それよりも高い第2の消去電圧VERA2を格納しており、0セルの数が50以下である合には、NANDコントローラ20は、第2の消去電圧VSENEV2を選択するコマンドをメモリ21へ送信するS160。メモリ21は、NANDコントローラ20のコマンドに従って第2の消去電圧VSENEV2を選択する。そして、メモリ21は、第2の消去電圧VSENEV2を用いて電荷引抜き動作を実行しS130、その後、ベリファイチェックを行うS140。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。各消去ループにおいて、電荷引抜き動作では、第2の消去電圧VERA2が用いられる。ここで、各消去ループの電荷引抜き動作において、第2の消去電圧VERA2が用いられる。そして、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスすると、消去動作が終了する。0セルの数がブロックBLK全体またはページ全体に対して所定値50以下である場合、1セルが多いため、上述の1データ残りが比較的発生しやすい状況となる。従って、この場合には、電荷引抜き時のセルウェル電圧として、第2の消去電圧VERA2を用いる。第2の参照電圧VSENEV2は、第1の参照電圧VSENEVよりも高いので、メモリセルMCに蓄積された電荷電子は、排出されやすくなる。よって、ブロックBLKまたはページにおいて1セルの割合が高い場合であっても、ステップS130の消去動作によって、メモリセルMCのデータは、充分に消去され得る。その結果、1データ残りが発生し難くなる。従って、第2の実施形態は、第1の実施形態と同様の効果を得ることができる。第3の実施形態図6は、第3の実施形態によるメモリ21およびNANDコントローラ20の動作を示すフロー図である。第3の実施形態によるメモリ21およびNANDコントローラ20の構成は、第1の実施形態のそれらの構成と同様でよい。第3の実施形態では、ブロックBLKまたはページのデータのうち所定の論理値データの割合に応じて、NANDコントローラ20は、電荷引抜き動作およびベリファイチェックを実行した後、さらに電荷引抜き動作を実行する。まず、センスアンプ回路2が消去対象であるブロックBLKからデータを読み出すS210。読出しデータは、I/Oバッファ5を介してNANDコントローラ20に出力される。NANDコントローラ20は、データ0または1の個数をカウントし、ブロックBLK全体またはページ全体に対するそのデータの個数の割合を算出するS220。例えば、NANDコントローラ20は、0セルの数をカウントし、ブロックBLK全体またはページ全体のメモリセルMC数に対する0セルの個数の割合を算出する。次に、NANDコントローラ20が0セル数の割合をチェックするS225。0セルの割合がブロックBLK全体またはページ全体に対して所定値ここでは50とするを超える場合、メモリ21は、通常通りに消去動作を実行する。即ち、メモリ21は、電荷引抜き動作を実行しS230、ベリファイチェックを行うS240。ベリファイチェックの結果、消去対象ブロックBLK内のいずれかのビット線BLの電圧が参照電圧VSENEV例えば、3.5V未満である場合S250のFail、ステップS230およびS240からなる消去ループを実行する。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。そして、消去対象ブロックBLKの全セルストリング10がベリファイチェックをパスした場合S250のPass、消去動作が終了する。一方、0セルの割合がブロックBLK全体またはページ全体に対して50以下である場合S225、NANDコントローラ20は、ベリファイチェックをパスした後に再度電荷引抜き動作を実行するコマンドをメモリ21へ送信する。メモリ21は、NANDコントローラ20からのコマンドに従って、消去動作を実行する。即ち、メモリ21は、電荷引抜き動作を実行しS231、ベリファイチェックを行うS241。ステップS231およびS241の消去ループは、それぞれステップS230およびS240の消去ループと同様である。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまでを繰り返される。そして、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスした場合S251のPass、メモリ21は、再度、電荷引抜き動作を実行するS260。これは、1ワード線不良により消去不十分なメモリセルMCが存在している場合に、そのメモリセルMCのデータを充分に消去するためである。電荷引抜き動作の終了後、消去動作を終了する。第3の実施形態は、1データ残りが比較的発生しやすい状況において、ベリファイチェックをパスした後、再度、電荷引抜き動作を実行する。これにより、第1および第2の実施形態と同様に、消去対象ブロックのメモリセルMCのデータは、充分に消去され得る。その結果、1データ残りが発生し難くなる。従って、第3の実施形態も、第1の実施形態と同様の効果を得ることができる。また、充分にデータ消去されていないメモリセルMCを含むセルストリング10が誤ってステップ251のベリファイチェックをパスしてしまっても、再度の電荷引抜き動作S260により、充分にデータ消去されていないメモリセルMCを消去することが可能となる。第4の実施形態図7は、第4の実施形態によるメモリ21およびNANDコントローラ20の動作を示すフロー図である。第4の実施形態によるメモリ21およびNANDコントローラ20の構成は、第1の実施形態のそれらの構成と同様でよい。第4の実施形態では、ブロックBLKまたはページのデータのうち所定の論理値データの割合に応じて、NANDコントローラ20は、ソースドライバSDRVがセルソースCELSRCに電圧VDDを印加してからセンスアンプ回路2が各カラムのビット線BLの電圧を検知するまでの時間以下、センス時間ともいうNTNEVを短縮させる。まず、センスアンプ回路2が消去対象であるブロックBLKからデータを読み出すS310。読出しデータは、I/Oバッファ5を介してNANDコントローラ20に出力される。NANDコントローラ20は、データ0または1の個数をカウントし、ブロックBLK全体またはページ全体に対するそのデータの個数の割合を算出するS320。例えば、NANDコントローラ20は、0セルの数をカウントし、ブロックBLK全体またはページ全体のメモリセル数に対する0セルの個数の割合を算出する。次に、NANDコントローラ20が0セル数の割合をチェックするS325。0セルの数がブロックBLK全体またはページ全体に対して所定値ここでは50とするを超える場合、NANDコントローラ20は、第1のセンス時間NTNEV1例えば、7.5μsを選択するコマンドをメモリ21へ送信しS328、メモリ21は、第1のセンス時間NTNEV1を用いて通常通りに消去動作を実行するS330~S350。例えば、ROM6が第1のセンス時間NTNEV1を予め格納しており、0セルの割合が50を超える場合には、NANDコントローラ20は、第1のセンス時間NTNEV1を選択するコマンドをメモリ21へ送信するS328。メモリ21は、NANDコントローラ20のコマンドに従って第1のセンス時間NTNEV1を選択する。そして、メモリ21は、電荷引抜き動作を実行しS330、その後、第1のセンス時間NTNEV1を用いてベリファイチェックを行うS340。このベリファイチェックにおいて、ソースドライバSDRVがセルソースCELSRCに電圧VDDを印加してから第1のセンス時間NTNEV1の経過後に、センスアンプ回路2が各カラムのビット線BLの電圧を検知する。ベリファイチェックの結果、消去対象ブロックBLK内のいずれかのビット線BLの電圧が参照電圧VSENEV未満である場合S350のFail、ステップS330およびS340からなる消去ループを繰り返し実行する。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。ここで、各消去ループのベリファイチェックにおいて、第1のセンス時間NTNEV1が用いられる。そして、消去対象ブロックBLKの全セルストリング10がベリファイチェックをパスした場合S350のPass、消去動作が終了する。一方、0セルの割合がブロックBLK全体またはページ全体に対して50以下である場合S325、NANDコントローラ20は、第1のセンス時間NTNEV1よりも短い第2のセンス時間NTNEV2例えば、7.0μsを選択するコマンドをメモリ21へ送信するS360。メモリ21は、第2のンス時間NTNEV2を用いてベリファイチェックを実行するS330。例えば、ROM6が第1のセンス時間NTNEV1とともに、それよりも短い第2のンス時間NTNEV2を格納しており、0セルの割合が50以下である合には、NANDコントローラ20は、第2のンス時間NTNEV2を選択するコマンドをメモリ21へ送信するS360。メモリ21は、NANDコントローラ20のコマンドに従って第2のンス時間NTNEV2を選択する。そして、メモリ21は、電荷引抜き動作を実行しS330、その後、第2のンス時間NTNEV2を用いてベリファイチェックを行うS340。消去ループは、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスするまで繰り返される。ここで、各消去ループのベリファイチェックにおいて、第2のンス時間NTNEV2が用いられる。そして、消去対象ブロックBLKの全カラムのセルストリング10がベリファイチェックをパスした場合S350のPass、消去動作が終了する。セルストリング10の全メモリセルMCのデータが充分に消去されている場合、そのセルストリング10に接続されたビット線BLの電圧は、ベリファイチェックにおいて短時間に立ち上がる。一方、1ワード線不良によって、充分にデータ消去されていないメモリセルMCがある場合には、ビット線BLの電圧は、ベリファイチェックにおいて或る程度の時間をおいて立ち上がる。そこで、1データ残りが比較的発生しやすい状況の場合には、ベリファイチェックにおいて比較的短い第2のセンス時間NTNEV2を用いることによって、消去不良のメモリセルMCを含むセルストリング10をパスし難くする。これにより、ブロックBLKに対して再度消去ループを実行し、1データ残りの発生を抑制する。このように、第4の実施形態も、第1の実施形態と同様の効果を得ることができる。また、ベリファイチェックの時間を短くすることができ、半導体記憶装置の動作を高速化することができる。上記第1から第4の実施形態は、それらの2つ以上を組み合わせてもよい。これにより、さらに、効果的に1ワード線不良問題の発生を抑制することができる。即ち、ブロックBLKまたはページのデータのうち所定の論理値データの割合に応じて、参照電圧VSENEV、消去電圧VERA、消去動作のシーケンスおよびセンス時間NTNEVのうち2つ以上を変更してもよい。これにより、1データ残りに対してさらに効果的に対処することができる。また、上記実施形態においては、NANDコントローラ20を例に挙げて説明しているが、メモリ21内に制御回路を設け、制御回路が0セル数の割合をチェックするS25、S125、S225、S325し、データ消去動作時における消去条件を変更S28、S128、S328、S60、S160、S360しても良い。