"半導体基板と、前記半導体基板に対して垂直方向に延び複数のメモリセルを直列接続してなるメモリストリングと、前記メモリストリングの一端に接続されるドレイン側選択トランジスタと、前記メモリストリングの他端に接続されるソース側選択トランジスタと、前記メモリセルに接続される複数のワード線と、前記ドレイン側選択トランジスタに接続される複数のビット線と、前記ソース側選択トランジスタに接続されるソース線と、前記ドレイン側選択トランジスタ、前記ソース側選択トランジスタ、前記ワード線、前記ビット線に対して印加する電圧を制御する制御回路とを備え、前記制御回路は、選択された前記ワード線に接続された複数のメモリセルそれぞれの閾値電圧が所定値以下であるか否かを判定し、前記複数のメモリセルにおいて所定数以上のデータ変動が発生したか否かを判定するデータ変動判定動作を実行可能に構成されたことを特徴とする不揮発性半導体記憶装置。前記データ変動判定動作は、前記読み出し電圧より小さい第1電圧、及び前記第1電圧よりも大きい第2電圧を選択された前記ワード線に印加して前記メモリセルの読み出しを行うことにより、前記複数の閾値電圧分布の上限又は下限に変動があるか否かを判定する請求項1記載の不揮発性半導体記憶装置。前記制御回路は、前記第1電圧では非導通状態となる一方、前記第2電圧では導通状態となる前記メモリセルにデータ変動が発生したと判定するように構成された請求項2記載の不揮発性半導体記憶装置。前記第1電圧を前記ワード線に印加することで読み出された第1データを保持する第1ラッチ回路と、前記第2電圧を前記ワード線に印加することで読み出された第2データを保持する第2ラッチ回路と、前記第1データ及び前記第2データを含む各種データに対し演算を施す演算回路と、前記演算回路による演算結果に係る第3データを保持する第3ラッチ回路とを備えたことを特徴とする請求項3記載の不揮発性半導体記憶装置。前記制御回路は、選択されたワード線に沿った前記複数のメモリセルにおいて所定数以上のデータ変動が発生したとデータ変動判定動作において判断された場合、その選択されたワード線に沿った前記複数のメモリセルの閾値電圧分布を正常な状態に戻す書き込みである追加書き込み動作を実行可能に構成された請求項1記載の不揮発性半導体記憶装置。前記制御回路は、前記柱状半導体層の下方に形成された前記メモリセルから前記データ変動判定動作を開始し、前記柱状半導体層の上方に位置する前記メモリセルに対し、順々に前記データ変動判定動作を実行する請求項1記載の不揮発性半導体記憶装置。前記制御回路は、前記柱状半導体層の第1の位置に形成された第1のメモリセルに接続される第1のワード線を対象として前記データ変動判定動作を実行し、その結果前記複数のメモリセルにおいて所定数以上のデータ変動が発生したと判定される場合には、当該第1のワード線を含むメモリブロックに記憶されるデータを別のメモリブロックにコピーするブロックコピー動作を実行するように構成された請求項1記載の不揮発性半導体記憶装置。本実施形態は、3次元型の半導体記憶装置のパフォーマンスの向上を図ることを目的とする。以下に説明する実施の形態の不揮発性半導体記憶装置は、半導体基板と、前記半導体基板に対して垂直方向に延び複数のメモリセルを直列接続してなるメモリストリングと、前記メモリストリングの一端に接続されるドレイン側選択トランジスタと、前記メモリストリングの他端に接続されるソース側選択トランジスタと、前記メモリセルに接続される複数のワード線と、前記ドレイン側選択トランジスタに接続される複数のビット線と、前記ソース側選択トランジスタに接続されるソース線と、前記ドレイン側選択トランジスタ、前記ソース側選択トランジスタ、前記ワード線、前記ビット線に対して印加する電圧を制御する制御回路とを備えている。制御回路は、選択されたワード線に接続された複数のメモリセルそれぞれの閾値電圧が所定値以下であるか否かを判定し、複数のメモリセルにおいて所定数以上のデータ変動が発生したか否かを判定するデータ変動判定動作を実行する。以下、図面を参照して、本発明に係る不揮発性半導体記憶装置の実施形態について説明する。[第1の実施の形態]先ず、図1Aを参照して、第1の実施の形態に係る不揮発性半導体記憶装置の全体構成について説明する。図1Aに示すように、第1の実施の形態に係る不揮発性半導体記憶装置は、メモリセルアレイAR1、及びその周辺に設けられたロウデコーダ2A、2B、センスアンプ回路3、カラムデコーダ4、データレジスタ5及び制御回路AR2を有する。メモリセルアレイAR1には、図1Aに示すように、電気的に書き換え可能なメモリセルMTr0~15メモリセル及びバックゲートトランジスタBTrが直列接続されたメモリストリングMSがマトリクス状に配列される。ロウデコーダ2A、2Bは、メモリセルアレイAR1の左側、右側にそれぞれ配置され、制御回路AR2からのアドレス信号に従い、ワード線WL、選択ゲート線SGD、SGS及びバックゲート線BGを駆動する。カラムデコーダ4は、制御回路AR4から供給されるアドレス信号に従い、書き込み及び読み出しを行うアドレスを選択する。センスアンプ回路3は、読み出し動作時において、メモリセルに記憶されているデータを判定する。また、制御回路AR2からカラムデコーダ4を介して供給されるアドレス信号に従い、ビット線BL及びソース線SLを駆動する。また、データレジスタ5は、図1Bに示すように、1本のビット線BLに対応して、3つのラッチ回路LAT1~LAT3、及び演算回路OPを備えている。ラッチ回路LAT1は、後述するデータ変動判定装置において、ある電圧をワード線WLに印加することで読み出されたデータを保持する。またラッチ回路LAT2は、別の電圧をワード線WLに印加することで読み出されたデータを保持する。演算回路OPは、ラッチデータ間の各種演算を実行する。ラッチ回路LAT3は、演算回路OPの演算結果をラッチする。制御回路AR2は、メモリセルMTrに印加する電圧等を制御する機能を有する。すなわち、制御回路AR2は、ワード線WL、選択ゲート線SGD、SGS及びバックゲート線BLを駆動するドライバ201、ビット線BL、ソース線SLを駆動するドライバ202、電源電圧を所定の昇圧電圧まで昇圧させるチャージポンプ回路203、及びアドレスデコーダ204を備えている。制御回路AR2は、メモリセルMTrにデータを書き込む動作、メモリセルMTrのデータを消去する消去動作、及びメモリセルMTrからデータを読み出す動作を実行する。メモリセルアレイAR1は、図1Aに示すように、m列のメモリブロックMBを有する。各メモリブロックMBは、例えばn行2列にマトリクス状に配列されたメモリユニットMUを有する。メモリユニットMUは、メモリストリングMS、メモリストリングMSのソース側に接続されたソース側選択トランジスタSSTr2、及びメモリストリングMSのドレイン側に接続されたドレイン側選択トランジスタSDTr2、及びバックゲートトランジスタBTrを備える。なお、図1Aに示す例においては、メモリユニットMUの一列目をサブブロックSB1と表記し、その二列目をサブブロックSB2と表記する。図1Aでは、1つのメモリブロックMB中に2つのサブブロックSB1、SB2が存在する場合を説明するが、勿論これに限定されるものではなく、1つのメモリブロックMB中に3つ又はそれ以上のサブブロックが設けられても良い。m個のメモリブロックMBは、同一のビット線BLを共有している。すなわち、ビット線BLは、図1Aに示すカラム方向に延び、m個のメモリブロックMB中でカラム方向に一列に並ぶ複数のメモリユニットMUドレイン側選択トランジスタSDTrに接続されている。各メモリブロックMB中において、カラム方向に並ぶ2個のメモリユニットMUは、同一のビット線BLに共通に接続されている。また、各メモリブロックMBにおいて、n×2個のメモリユニットMUは、対応するワード線WL及びバックゲート線BGを共有している。また、ロウ方向に並ぶn個のメモリユニットMUは、選択ゲート線SGD、選択ゲート線SGSを共有している。すなわち、1本のドレイン側選択ゲート線SGD及び1本のソース側選択ゲート線SGSに共通に接続される複数のドレイン側選択トランジスタSDTr及び複数のソース側選択トランジスタSSTrを有する複数のメモリユニットMUは、1つのサブブロックを構成する。メモリセルアレイAR1には、図2に示すように、メモリセルMTrを3次元マトリクス状に配列される。すなわち、メモリセルMTrは、水平方向にマトリクス状に配列されるとともに、積層方向基板に対して垂直方向にも配列される。積層方向に並ぶ複数個のメモリセルMTr0~7、MTr8~15、及びバックゲートトランジスタBTrは直列接続され、前述のメモリストリングMSとなる。メモリストリングMSの一端にドレイン側選択トランジスタSDTrが接続され、他端にソース側選択トランジスタSSTrが接続される。ドレイン側選択トランジスタSDTr及びソース側選択トランジスタSSTrは、メモリストリングMSの選択非選択を決定するために設けられている。このメモリストリングMSは、積層方向を長手方向として配列される。次に、図3を参照して、メモリセルアレイAR1の回路構成について具体的に説明する。図3は、メモリセルアレイAR1の等価回路図である。メモリセルアレイAR1は、図3に示すように、複数のメモリブロックMBを有する。ビット線BLは、ロウ方向にあるピッチを有し配列されカラム方向にストライプ状に延びる。図3に示すように、メモリブロックMBは、カラム方向に繰り返し設けられている。メモリブロックMBは、ロウ方向及びカラム方向にマトリクス状に配列された複数のメモリユニットMUを有する。メモリユニットMUは、メモリストリングMS、ソース側選択トランジスタSSTr、及びドレイン側選択トランジスタSDTrを有する。メモリユニットMUは、ロウ方向及びカラム方向にマトリクス状に配列されている。メモリストリングMSは、メモリセルMTr0~15、及びバックゲートトランジスタBTrにて構成されている。メモリセルMTr0~7は、積層方向に直列に接続されている。メモリセルMTr8~15も、同様に積層方向に直列に接続されている。メモリセルMTr0~15は、その電荷蓄積層に蓄積される電荷の量が変化することで、その閾値電圧が変化する。閾値電圧が変化することにより、メモリセルMTr0~15が保持するデータが書き替えられる。バックゲートトランジスタBTrは、最下層のメモリセルMTr7とメモリセルMTr8との間に接続される。従って、メモリセルMTr0~MTr15、及びバックゲートトランジスタBTrは、カラム方向に沿った断面においてU字形状に接続される。ソース側選択トランジスタSSTr2のドレインは、メモリストリングMSの一端メモリセルMTr15のソースに接続される。ドレイン側選択トランジスタSDTr2のソースは、メモリストリングMSの他端メモリセルMTr0のドレインに接続される。1つのメモリブロックMB中のn×2個のメモリセルMTr0のゲートは、ロウ方向に延びる1本のワード線WL0に共通接続される。同様に、n×2個のメモリセルMTr0~15のゲートは、各々、ロウ方向に延びる1本のワード線WL1~15に共通接続される。また、ロウ方向及びカラム方向にマトリクス状に配列されたn×2個のバックゲートトランジスタBTrのゲートは、バックゲート線BGに共通接続される。ロウ方向に一列に配列されたn個のソース側選択トランジスタSSTrのゲートは、ロウ方向に延びる1本のソース側選択ゲート線SGSに共通接続される。また、ソース側選択トランジスタSSTrのソースは、ロウ方向に延びるソース線SLに接続される。ロウ方向に一列に配列されたn個のドレイン側選択トランジスタSDTrのゲートは、ロウ方向に延びる1本のドレイン側選択ゲート線SGDに共通接続される。ドレイン側選択トランジスタSDTrのドレインは、カラム方向に延びるビット線BLに接続される。次に、図4、図5A及び図5Bを参照して、第1の実施の形態に係る不揮発性半導体記憶装置の積層構造について説明する。メモリセルアレイAR1は、図4に示すように、基板10上にバックゲートトランジスタ層20、メモリセル層30、選択トランジスタ層40、及び配線層50を有する。バックゲートトランジスタ層20は、バックゲートトランジスタBTrとして機能する。メモリセル層30は、メモリセルMTr0~15メモリストリングMSとして機能する。選択トランジスタ層40は、ソース側選択トランジスタSSTr、ドレイン側選択トランジスタSDTrとして機能する。配線層50は、ソース線SL、及びビット線BLとして機能する。バックゲートトランジスタ層20は、図5Aに示すように、バックゲート導電層21を有する。バックゲート導電層21は、バックゲート線BGとして機能すると共に、バックゲートトランジスタBTrのゲートとして機能する。バックゲート導電層21は、基板10と平行なロウ方向及びカラム方向に2次元的に広がる板状に形成される。バックゲート導電層21は、メモリブロックMB毎に分断される。バックゲート導電層21は、ポリシリコンpoly-Siを材料としている。バックゲート導電層20は、図5Aに示すように、バックゲート半導体層34b連結部34bを有する。バックゲート半導体層34bは、バックゲートホール22に埋め込まれている。バックゲートホール22は、バックゲート導電層21を掘り込むように形成される。バックゲートホール22は、上面からみてカラム方向を長手方向とする略矩形状に形成される。バックゲートホール22は、ロウ方向及びカラム方向にマトリクス状に形成される。メモリセル層30は、図4に示すように、バックゲート導電層20の上層に形成される。メモリセル層30は、ワード線導電層31a~31hを有する。ワード線導電層31a~31hは、各々、ワード線WL0~15として機能すると共に、及びメモリセルMTr0~15のゲートとして機能する。ワード線導電層31a~31hは、層間絶縁層図示略を挟んで積層される。ワード線導電層31a~3hは、カラム方向にあるピッチをもってロウ方向を長手方向として延びるように形成される。ワード線導電層31a~31hは、ポリシリコンpoly-Siにて構成される。また、これらの間に形成される層間絶縁層図示略は、例えばシリコン酸化膜により形成される。メモリセル層30は、図5Aに示すように、メモリ半導体層34を有する。メモリ半導体層34はメモリホール32に埋め込まれる。メモリホール32は、ワード線導電層31a~31h、及び図示しない層間絶縁層を貫通するように形成される。メモリホール32は、バックゲートホール22のカラム方向の端部近傍に整合するように形成される。なお、メモリホール32は、一般的なリソグラフィ及び異方性エッチングにより形成される場合、上側から下側に向かうに従ってその孔径がだんだん小さくなる、いわゆるテーパー状に形成されることが多い。また、バックゲートトランジスタ層20、及びメモリセル層30は、図5Aに示すように、メモリゲート絶縁層33、及びメモリ半導体層34を有する。メモリ半導体層34は、メモリセルMTr0~MTr15メモリストリングMSのボディとして機能する。メモリゲート絶縁層33は、図5Aに示すように、バックゲートホール22及びメモリホール32の側面にある厚みをもって形成される。メモリゲート絶縁層33は、ブロック絶縁層33a、電荷蓄積層33b、及びトンネル絶縁層33cを有する。電荷蓄積層33bが電荷を蓄積することによりメモリセルMTr0~15の閾値電圧が変化し、これによりメモリセルMTrが保持するデータを書き換えられる。ブロック絶縁層33aは、図5Aに示すように、バックゲートホール22及びメモリホール32の側面にある厚みをもって形成される。電荷蓄積層33bは、ブロック絶縁層33aの側面にある厚みをもって形成される。トンネル絶縁層33cは、電荷蓄積層33bの側面にある厚みをもって形成される。ブロック絶縁層33a、及びトンネル絶縁層33cは、酸化シリコンSiO2を材料としている。電荷蓄積層33bは、窒化シリコンSiNを材料としている。メモリ半導体層34は、トンネル絶縁層33cの側面に接するように形成される。メモリ半導体層34は、バックゲートホール22、及びメモリホール33を埋めるように形成される。メモリ半導体層34は、ロウ方向からみてU字状に形成される。メモリ半導体層34は、基板10に対して垂直方向に延びる一対の柱状部34a、及び一対の柱状部34aの下端を連結する連結部34bを有する。メモリ半導体層34は、ポリシリコンpoly-Siにて構成される。上記バックゲートトランジスタ層20の構成を換言すると、メモリゲート絶縁層33は、連結部34bを取り囲むように形成される。バックゲート導電層21は、メモリゲート絶縁層33を介して連結部34bを取り囲むように形成される。また、上記メモリセル層30の構成を換言すると、メモリゲート絶縁層33は、柱状部34aを取り囲むように形成される。ワード線導電層31a~31dは、メモリゲート絶縁層33を介して柱状部34aを取り囲むように形成される。選択トランジスタ層40は、図4に示すように、ソース側導電層45a、及びドレイン側導電層45bを有する。ソース側導電層45aは、ソース側選択ゲート線SGSとして機能すると共に、ソース側選択トランジスタSSTrのゲートとして機能する。ドレイン側導電層45bは、ドレイン側選択ゲート線SGDとして機能すると共に、ドレイン側選択トランジスタSDTrのゲートとして機能する。ソース側導電層45aは、半導体層48aの周囲に形成され、ドレイン側導電層45bは、ソース側導電層45aと同層であって、同様に半導体層48bの周囲に形成される。ソース側導電層45a、及びドレイン側導電層45bは、ポリシリコンpoly-Siにて構成される。選択トランジスタ層40は、図5Aに示すように、ソース側ホール46a、ドレイン側ホール46bを有する。ソース側ホール46aは、ソース側導電層45aを貫通するように形成される。ドレイン側ホール46bは、ドレイン側導電層45bを貫通するように形成される。ソース側ホール46a及びドレイン側ホール46bは、各々、メモリホール32と整合する位置に形成される。選択トランジスタ層40は、図5Aに示すように、ソース側ゲート絶縁層47a、ソース側柱状半導体層48a、ドレイン側ゲート絶縁層47b、及びドレイン側柱状半導体層48bを有する。ソース側柱状半導体層48aは、ソース側選択トランジスタSSTrのボディとして機能する。ドレイン側柱状半導体層48bは、ドレイン側選択トランジスタSDTrのボディとして機能する。配線層50は、図4に示すように、選択トランジスタ層40の上層に形成される。配線層50は、ソース線層51、及びビット線層52を有する。ソース線層51は、ソース線SLとして機能する。ビット線層52は、ビット線BLとして機能する。ソース線層51は、ロウ方向に延びる板状に形成される。ソース線層51は、カラム方向に隣接する一対のソース側柱状半導体層48aの上面に接するように形成される。ビット線層52は、ドレイン側柱状半導体層48bの上面に接し、ロウ方向にあるピッチをもってカラム方向に延びるストライプ状に形成される。ソース線層51、及びビット線層52は、タングステンW、銅Cu、アルミニウムAl等の金属にて構成される。次に、図5Bを参照して、ワード線導電層31a~31hの形状について詳しく説明する。図5Bは、ワード線導電層31a~31hを示す上面図である。ワード線導電層31a~hは、図5Bに示すように、各々、垂直方向からみて櫛歯状に形成される。ワード線導電層31a~hは、ロウ方向に並ぶ複数の柱状半導体層34aを取り囲む複数の直線部351a、351bと、複数の直線部351a、351bの端部を連結する直線部352a、352bとを備える。このように、ビット線BL方向に並ぶ複数のメモリストリングMSは、メモリブロック毎に1つのワード線WLに共通接続される。これは、ワード線WL、選択ゲート線SGD、SGSおよびバックゲート線BGの信号をロウデコーダ等の周辺回路部分へ接続するための金属配線の数を減らす必要があるからである。なお、図4、図5Bでは、ビット線BL方向に並ぶ2つのメモリストリングMSが同じワード線配線層31a~31hに共通接続される例を示したが、図6、図7に示すように、ビット線BL方向に並ぶメモリストリングMSが、メモリストリングMS毎に互いに分断されたワード線配線層31a~31hに接続されるような構成も採用可能である。このように、メモリセルを3次元的に配置した従来の半導体記憶装置は、マトリクス状に配列された複数のメモリストリングが同一のワード線を共有するように形成される。その理由は、1つのメモリストリング毎に独立のワード線を形成すると、ワード線とロウデコーダを接続するためのコンタクトを形成するためのコンタクト領域、及びロウデコーダの面積が肥大化してしまい、メモリ装置の小型化が困難になるからである。しかし、このようなワード線の共有化は、選択ブロック内の非選択のメモリストリングに対する読み出し動作時のリードディスターブ、及び書き込み動作時のプログラムディスターブの原因となる。従って、メモリセルを3次元的に配置した半導体記憶装置では、リードディスターブ等への対策が、2次元型の半導体記憶装置との比較でも一層重要となる。また、3次元型の半導体記憶装置では、メモリセルが複数層に亘り形成されるので、メモリセルのデータ保持特性が、メモリセルの積層方向の位置によってバラつくことが避けられない場合がある。このようなデータ保持特性のバラつきがある場合、データ保持特性の最も悪いワード線導電層のページを基準として、データ保持特性を考えておく必要がある。すなわち、データ保持特性の最も悪いワード線導電層のページのメモリセルにおいてデータ変動が起こってきた場合には、同一ブロック内の他のページに問題がない場合においても消去単位がブロック単位であることから、ブロック単位でデータコピーを実行する必要も生じてくる。このため、データコピー動作の回数が多くなってしまう。その結果、メモリ装置のパフォーマンスの低下につながる。本実施の形態では、以下に説明する動作により、これに対処している。[NAND型フラッシュメモリにおける多値記憶]NAND型フラッシュメモリにおける多値記憶について図8Aを用いて説明する。NAND型フラッシュメモリにおいては、例えば図8Aに示すように、1つのメモリセルにおいて閾値電圧の値を例えば4通り閾値電圧分布E,A,B,Cに制御し、2ビットのデータを1つのメモリセルに記憶させることができる。以下では、4値記憶を例にとって説明するが、本発明は、それ以外の8値3ビットあるいはそれ以上の多値記憶にも適用可能であることは言うまでもない。図8Aに示す4つの閾値電圧分布E,A,B,Cは、それぞれ2ビットのデータ11、10、00、01に対応する。すなわち、4通りの閾値電圧分布E、A~Cの各々に4通りのビット情報11、10、00、01のいずれかが割り付けられる。この2ビットのデータに対応して2つのサブページが形成される。即ち、上位ページUPPER、下位ページLOWERの2ページのデータが、1つのワード線WLに沿って並ぶn個のメモリセルMTrに記憶され得る。[データ読み出し]データの読み出し動作時には、選択されたワード線WLselectに読み出し電圧を印加して、メモリセルMCの導通非導通を検出して行う。選択ワード線WLselectに印加される読み出し電圧の電圧値は、メモリセルの4通りの閾値電圧分布に対応して、図8Aに示すような電圧AR、BR、CRに設定され得る。読み出し電圧ARは最も低い電圧で、BR、CRの順に電圧値が大きくなる。電圧ARは、閾値電圧が閾値電圧分布A以上か否かを判定するのに用いる。電圧BRは、閾値電圧が閾値電圧分布B以上か否かを判定するのに用いる。電圧CRは、閾値電圧が閾値電圧分布Cに含まれるか否かを判定するのに用いる。なお、読み出し動作時に非選択メモリセルMCunselectに印加される読み出しパス電圧Vreadは、データ01が割り付けられた閾値電圧分布Cの上限よりも大きな電圧とされる。書き込み動作次に、多値データの書き込み動作について説明する。メモリストリングMS中で選択されたメモリセルMTrselectに接続される選択ワード線WLselectには、例えば20V以上のプログラム電圧Vpgmを印加する。一方、非選択メモリセルMTrunselectが接続される非選択ワード線WLunselectには、例えば10V前後のパス電圧Vpassを印加する。ビット線BLには、書き込みを行うか、それとも書き込み禁止にするかにより、電源電圧Vdd又は接地電圧Vssを与える。また、ドレイン側選択トランジスタSDTrの選択ゲート線SGDには、電源電圧Vddよりやや大きな電圧を与える。接地電圧Vssが与えられたビット線BLに接続されたメモリストリングMSにおいては、ドレイン側選択トランジスタSDTrが導通状態ONとなり、これによりメモリストリングMSのチャネルは接地電圧Vssとなり、プログラム電圧Vpgmとの電位差により、選択トランジスタMTrにおける書き込みが実行される。一方、電源電圧Vddが与えられたビット線BLに接続されたメモリストリングMSにおいては、ドレイン側選択トランジスタSDTrが非導通状態OFFとなり、これによりメモリストリングMSのチャネルはフローティング状態となり、書き込みが禁止される。ベリファイ読み出し動作上述の書き込み動作の後、所望のデータの書き込みが完了したか否かを判定するため、ベリファイ読み出し動作が実行される。ベリファイ読み出し動作は、例えば選択メモリセルMTrが接続されるワード線WLselectに図8Aに示すようなベリファイ電圧AV、BV、CVを印加し、非選択メモリセルMTrが接続されるワード線WLunselectには上述の読み出しパス電圧Vreadを印加する。ベリファイ電圧AV、BV、CVは、それぞれ読み出し電圧AR、BR、CRよりも大きい。各電圧の大小関係は、AR<AV<BR<BV<CR<CV<Vreadである。上述のようなべリファイ電圧AV、BV、CVを用いたベリファイ読み出し動作の結果、閾値電圧分布A,B,Cの下限が略ベリファイ電圧AV、BV、CV以上となった場合に、書き込み動作が完了したと判定される。以上のような書き込み動作が実行された後、閾値電圧分布A,B,Cは、近接する配線間の容量結合や、経時変化、その他様々な要因により、図8B、図8Cに示すように変動することがある。図8Bは、閾値電圧分布A,B,Cの下限が、それぞれベリファイ電圧AV、BV、CVを下回った場合を図示している。図8Cは、閾値電圧分布A,B,Cの変動が更に進み、その下限が読み出し電圧AR,BR、CRを下回った場合を示している。この図8Cに図示する程度にまで閾値電圧分布の変動が進行した場合、例えばメモリセルMTrに保持されたデータは実際は01であったが、電圧CRを印加した読み出し動作を行った結果、データ00と誤って読み出されることがある。すなわち、本来書きこまれたデータとは異なる読み出しデータが得られてしまうデータ変動。換言すれば、そのようなメモリセルMTrにおける読み出し動作において誤読み出しが生ずる。ただし、誤読み出しデータの数が少なければ、パリティデータを用いた誤り訂正技術により訂正することができる。しかし、誤読み出しデータの数が多くなると、誤り訂正技術では対応ができなくなる。このため、誤読み出しデータの数が誤り訂正技術で訂正可能な範囲にあるうちに、定期的に別のメモリブロックにコピーするブロックコピー動作等を実行する必要がある。この際、コピー元のデータは、誤り訂正技術で訂正されてから別のブロックに書き込まれるため、データのリフレッシュが行われることになる。しかし、本実施の形態のような3次元構造積層型の不揮発性半導体記憶装置では、1つのメモリブロックMB中に含まれる複数のメモリセルMTrのデータ保持特性が異なり、特に積層方向においてデータ保持特性が大きく異なる。具体的に、1つのメモリストリングMS中のメモリセルMTr0~15は、積層方向の異なる位置に形成されるが、その積層方向の位置によってデータ保持特性が異なってしまう。そのようになる理由の1つはメモリホール32がテーパー状に形成されることによる。メモリホールがテーパー状に形成される場合、メモリストリングMS中、下側のメモリセルMTr7、MTr8は、上側のメモリセルMTr0等に比べ、データ保持特性が悪くなる傾向がある。このような状況において、データ保持特性の悪いメモリセルMTr7、8に合わせて、上述のようなブロックコピー動作を行っていたのではブロックコピー動作の実施頻度が大きくなり、不揮発性半導体記憶装置のパフォーマンスが低下してしまう。本実施の形態の不揮発性半導体記憶装置は、1本のワード線WLに沿った複数のメモリセルMTrにデータ変動が所定数以上発生しているか否かを判定するための動作以下、この動作をデータ変動判定動作というを実行する。そして、データ変動判定動作の結果、その複数のメモリセルMTrのうちの所定数以上にデータ変動が発生していると判定された場合には、そのワード線WLに沿った複数のメモリセルMTrに対し、図8Aに示すような書き込み動作直後の閾値電圧分布を得るための書き込み動作以下、このような書き込み動作を追加書き込み動作と称するを実行する。図9は、本実施の形態のデータ変動判定動作の概要を示す概念図である。本実施の形態のデータ変動判定動作では、読み出し電圧AR,BR、CRの各々よりも小さい電圧である電圧AR’<AR、BR’<BR、CR’<CR、及びこれらの電圧AR’、BR’、CR’の各々よりも大きい電圧例えば読み出し電圧AR、BR、CRを、順次選択されたワード線WLに印加して読み出し動作を行う。その結果、電圧AR’より大きく電圧ARよりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図9の分布Aeが存在するか否かを判定することができる。このような分布Aeに含まれる閾値電圧を有するメモリセルMTrが存在する場合、そのメモリセルMTrはデータ変動を起こしていることを意味する。同様に、電圧BR’より大きく電圧BRよりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図9の分布Beが存在するか否かを判定することができる。また、電圧CR’より大きく電圧CRよりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図9の分布Ceが存在するか否かを判定することができる。以下では、このような分布Ae、Be、Ceをデータ変動分布と称する。選択ワード線WLにおいて、このようなデータ変動分布Ae、Be、Ceを有するメモリセルMTrが所定数以上確認された場合には、その選択ワード線WLにおいて、図8Aに示すような書き込み動作直後の閾値電圧分布に戻すための書き込み動作追加書き込み動作が実行される。本実施の形態においては、追加書き込み動作は、上述のようなデータ変動分布Ae、Be、Ceを有するメモリセルMTrだけではなく、正常な閾値電圧分布とデータ変動分布Ae、Be、Ceとの間の分布Ac、Bc、Ccを有するメモリセルMTrに対しても実行される。このような分布Ac、Bc、Ccを有するメモリセルMTrは、データ変動を発生させる可能性が高いと認められるからである以下、このような分布Ac、Bc、Ccをデータ劣化分布と称する。。分布Ae、Be、Ceを有するメモリセルMTr、及び分布Ac、Bc、Ccを有するメモリセルMTrを特定するための読み出し動作追加書き込み要否判定動作の後に追加書き込み動作が実行される。追加書き込み要否判定動作は、例えば電圧AR’、BR’、CR’、及びベリファイ電圧AV、BV、CVを、順次選択されたワード線WLに印加して読み出し動作を行うことにより行う。このようにして、追加書き込み動作の要否がメモリセル毎に判定され、追加書き込み動作が実行される。追加書き込み動作が行われることにより、データ変動分布Ae、Be、Ce、又はデータ劣化分布Ac、Bc、Ccを消滅させ、ベリファイ電圧AV、BV、CV付近を下限とした正常な閾値電圧分布A,B,Cが得られる。次に、この第1の実施の形態におけるデータ変動判定動作、及び追加書き込み動作の具体的な実行手順を、図10のフローチャートを参照して説明する。まず、図10に示すように、1つのワード線WLが選択されS11、この選択ワード線WLに対しデータ変動判定動作が実行されるS12。例えば、最初に選択されるワード線WLは、最下層のメモリセルMTr7に接続されるワード線WL7とすることができる。メモリセルMTr7は、他のメモリセルに比べデータ保持特性が悪い。従って、メモリセルMTr7に追加書き込み動作が不要であると判定することができれば、他のメモリセルに対する追加書き込み動作も不要であると判定することができる。ただし、1つのメモリストリングMS中の複数のワード線WLのうちのいずれを最初に選択してもよい。データ変動判定動作により、データ変動が発生しているメモリセルMTrでは、対応するラッチ回路LAT3にデータ1が格納される。一方、データ変動が発生していないメモリセルMTrでは、対応するラッチ回路LAT3にデータ0が格納される。制御回路AR2は、ワード線WL7に沿った複数のメモリセルMTrのうち、データ1を出力したメモリセルの数N1をカウントしS13、その数N1が基準値Ns1以上であるか否かを判定するS14。数N1が基準値Ns1未満であれば、そのメモリブロックMBに対するデータ変動判定動作及び追加書き込み動作は終了されS14のY、その他のワード線に対するデータ変動判定動作は行われない。例えば、ワード線WL7に接続されるメモリセルMTrは、データ保持特性が最も悪い筈であるので、そのワード線WL7でデータ変動の数N1が所定数Ns1未満であることは、他のワード線WLにおいては、判定動作を行うまでもなく基準値Ns1以上の数のデータ変動は発生しないと推定することができるからである。一方、数N1が基準値Ns1以上である場合には、引き続きそのワード線WLにおいて追加書き込み動作が実行される。その追加書き込み動作の前に、そのワード線WLにおいて、データ変動を既に起こしているメモリセルMTr、及びデータ劣化のメモリセルMTr換言すれば、分布Ae、Be、Ceを有するメモリセルMTr、及び分布Ac、Bc、Ccを有するメモリセルを特定するための読み出し動作すなわち、追加書き込みが必要なメモリセルを特定するための追加書き込み要否判定動作が行われるS15。続いて、追加書き込み動作が必要と判定されたメモリセルMTrに対応するラッチ回路LAT1、LAT2に、書き込まれるべき追加書き込みデータがセットされS16、追加書き込み動作が実行されるS17。以下、同様のステップが、他のワード線WLに対しても実行されるS18。図11は、データ変動判定動作S12において行われるデータラッチ動作、及び演算動作の具体例を説明している。また、図12は、図11に示すデータ変動判定動作においてワード線WL、ビット線BL及び選択ゲート線SGD、SGSに印加される電圧の変化を示すタイミングチャートである。データ変動判定動作では、前述したように、電圧AR’、AR、BR’、BR、CR’、CRの6種類の電圧を、選択されたワード線WLii=0~15に印加して読み出し動作を行うことにより実行される非選択のワード線WLjj≠iには、読み出しパス電圧Vreadが印加される。図12では、この6種類の電圧を、電圧レベルの小さい順AR’、AR、BR’、BR、CR’、CRにワード線WLに印加する場合のタイミングチャートを示している。しかし、これはあくまでも一例であり、電圧の印加手順はこれに限るものではない。演算やデータラッチの手順も、図11に示すものには限られないことはいうまでもない。図11、図12に示す例では、選択ワード線WLselectには、電圧AR’、AR、BR’、BR、CR’、CRがその順に印加される図12。また、非選択ワード線WLunselectには読み出しパス電圧Vreadが与えられ、ビット線BLには1V程度の電圧Vblが与えられる。選択メモリセルMTrの閾値電圧よりも選択ワード線WLselectに印加される電圧が高くなると、ビット線BLは、電圧Vblから接地電圧Vssに向けて放電される。また、選択ゲート線SGDには、常に電圧Vblよりも大きい電圧Vsg3~4.5Vを与えられ、常にドレイン側選択トランジスタSDTrが導通状態ONに維持される。一方、選択ゲート線SGSに与えられる電圧は、選択ワード線WLselectの電圧が切り替わるタイミングに同期して、電圧Vsgと接地電圧Vssとの間で切り替わり、これによりソース側選択トランジスタSSTrを導通状態ONと非導通状態OFFとの間で切り替える。図11に示すように、電圧AR’では導通しないが、電圧ARでは導通するようなメモリセルMTrがあれば、それは閾値電圧分布Aのデータ変動を起こしていることを意味する。同様に、電圧BR’では導通しないが、電圧BRでは導通するようなメモリセルMTrがあれば、それは閾値電圧分布Bのデータ変動を起こしていることを意味する。また、電圧CR’では導通しないが、電圧CRでは導通するようなメモリセルMTrがあれば、それは閾値電圧分布Cのデータ変動を起こしていることを意味する。図11の例では、このようなデータ変動を起こしているメモリセルMTrに対応するラッチ回路LAT3にデータ1が格納され、それ以外にはデータ0が格納されるよう、データラッチ動作及び演算を行っている。以下、このデータラッチ動作及び演算の内容を、図11を参照して説明する。まず、図11の1、及び図12に示すように、選択ワード線WLselectに電圧AR’を印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT1に格納する。このとき、メモリセルMTrの閾値電圧が閾値電圧分布Eにあれば、ラッチ回路LAT1にはデータ1が格納され、それ以外の場合には0が格納される。次に、図11の2、及び図12に示すように、選択ワード線WLselectに電圧ARを印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT2に格納する。このとき、メモリセルMTrの閾値電圧が閾値電圧分布E、又はデータ変動分布Aeにあれば、ラッチ回路LAT1にはデータ1が格納され、それ以外の場合には0が格納される。演算回路OPは、ラッチ回路LAT1の保持データの反転データと、ラッチ回路LAT2の保持データとの論理積を演算して、この演算結果をラッチ回路LAT3に格納する。これにより、データ変動分布Aeを有するメモリセルMTrに対応するラッチ回路LAT3にのみデータ1が格納され、その他にはデータ0が格納される。次に、図11の3、及び図12に示すように、選択ワード線WLselectに電圧BR’を印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT1に格納する。更に図11の4、及び図12に示すように、選択ワード線WLselectに電圧BRを印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT2に格納する。演算回路OPは、ラッチ回路LAT1の保持データの反転データと、ラッチ回路LAT2の保持データとの論理積を演算した後、この論理積データとラッチ回路LAT3の保持データとの論理和演算を行う。この演算結果が新たにラッチ回路LAT3に格納される。これにより、データ変動分布Beを有するメモリセルMTrに対応するラッチ回路LAT3にのみデータ1が格納される。次に、図11の5、及び図12に示すように、選択ワード線WLselectに電圧CR’を印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT1に格納する。更に図11の6、及び図12に示すように、選択ワード線WLselectに電圧CRを印加して読み出し動作を行い、センスアンプ回路3のラッチデータの反転データ~SAをラッチ回路LAT2に格納する。演算回路OPは、ラッチ回路LAT1の保持データの反転データと、ラッチ回路LAT2の保持データとの論理積を演算した後、この論理積データとラッチ回路LAT3の保持データとの論理和演算を行う。この演算結果が新たにラッチ回路LAT3に格納される。これにより、データ変動分布Ceを有するメモリセルMTrに対応するラッチ回路LAT3にデータ1が格納される。以上のような電圧印加、データラッチ動作及び演算を行うことにより、データ変動分布Ae、Be、Ceを有するメモリセルMTrを特定することができる。図13は、追加書き込み要否判定動作S15において行われるデータラッチ動作、及び演算動作の具体例を説明している。また、図14は、図13に示す追加書き込み要否判定動作においてワード線WL、ビット線BL及び選択ゲート線SGD、SGSに印加される電圧の変化を示すタイミングチャートである。電圧印加動作、データラッチ動作、演算動作とも、データ変動判定動作と略同一であり、異なるのは、選択ワード線WLに印加される電圧が、電圧AR、BR、CRの代わりに電圧AV、BV、CVとされる点である。電圧AR’、AV、BR’、BV、CR’、CVが選択ワード線WLselectに順次印加され、図11、と同様のデータラッチ動作、演算動作がされ、最後にラッチ回路LAT3のデータが反転される。これにより、データ変動分布Ae、Be、Ce、及びデータ劣化分布Ac、Bc、Ccを有するメモリセルMTrに対応するラッチ回路LAT3には、データ0がラッチされ、それ以外にはデータ1がラッチされる。データ0がラッチされたラッチ回路LAT3に対応するメモリセルMTrにのみ、追加書き込み動作が実行され、データ1がラッチされたラッチ回路LAT3に対応するメモリセルMTrでは、追加書き込み動作が禁止される。図15、及び図16は、追加書き込み要否判定動作の別の例を示す。まず、図13、図14に示す電圧印加動作、データラッチ動作及び演算動作を実行した後、更に、選択ワード線WLselectに、電圧AR’、BR’、及びCR’を順次印加する。電圧AR’を印加して得たセンスアンプ回路3の読み出しデータの反転データをラッチ回路LAT1に格納する。また、電圧BR’を印加して得たセンスアンプ回路3の読み出しデータの反転データをラッチ回路LAT2に格納する。更に、電圧CR’を印加して得たセンスアンプ回路3の読み出しデータとラッチ回路LAT1の保持データとの論理和演算を行い、その演算結果を新たにラッチ回路LAT1に格納する。更に、ラッチ回路LAT1とLAT3の保持データの論理和演算を行い、その演算結果をラッチ回路LAT1に新たに格納する。更に、ラッチ回路LAT2とLAT3の保持データの論理和演算を行い、その演算結果をラッチ回路LAT2に新たに格納する。これにより、ラッチ回路LAT1及びLAT2には、追加書き込み動作が必要か否かに応じて、異なるデータが保持される。すなわち、閾値電圧分布A,B又はCが書き込まれ、その後変動が許容範囲内のメモリセルMTrに対応するデータラッチ回路LAT1、LAT2には、いずれもデータ1が格納され、追加書き込み動作の対象とはされない追加書き込み動作の実行時においては、当該メモリセルMTrは書き込み禁止状態Inhibitとされる。一方、元々正常な下限がベリファイ電圧AV以上の閾値電圧分布Aを有していたが、これが変動してデータ変動分布Ae又はデータ劣化分布Acに変動したメモリセルMTrでは、対応するラッチ回路LAT1、LAT2にそれぞれデータ0、1が格納される。また、元々正常な閾値電圧分布Bを有していたが、これが変動してデータ変動分布Be又はデータ劣化分布Bcに変動したメモリセルMTrでは、対応するラッチ回路LAT1、LAT2にそれぞれデータ0、0が格納される。また、元々正常な閾値電圧分布Cを有していたが、これが変動してデータ変動分布Ce又はデータ劣化分布Ccに変動したメモリセルMTrでは、対応するラッチ回路LAT1、LAT2にそれぞれデータ1、0が格納される。これらのメモリセルMTrは、追加書き込み動作の対象とされ、ラッチ回路LAT1、LAT2の保持データに応じた追加書き込み動作が実行される。以上説明したように、本実施の形態では、データ保持特性の悪いメモリセルが接続されたワード線から順にデータ変動判定動作を行い、所定数以上のデータ変動が発生している場合には、そのワード線に対し追加書き込み動作を実行する。これにより、データ保持特性の悪いメモリセルに合わせてデータコピー動作を行う必要が無くなり、装置のパフォーマンスを向上させることができる。[第2の実施の形態]先ず、図17、図18を参照して、第2の実施の形態に係る不揮発性半導体記憶装置について説明する。装置の全体的な構成は、図1~7と同様で構わないので、構成の重複する説明はここでは省略する。また、データ変動判定動作、追加書き込み要否判定動作等の実行手順も第1の実施の形態と同様の、図9~図10に示す通りである。ただし、この実施の形態では、データ変動判定動作S12における電圧印加動作、データラッチ動作及び演算動作が、第1の実施の形態図11、図12とは異なっている。この第2の実施の形態のデータ変動判定動作S12は、閾値電圧分布Cを有するメモリセルMTrにおけるデータ変動の有無を判定するものである。すなわち、選択ワード線WLselectに印加される電圧は、電圧CR’とCRの2種類のみである。電圧CR’を印加した場合のセンスアンプ回路3の読み出しデータの反転データをラッチ回路LAT1に格納する一方、電圧CRを印加した場合のセンスアンプ回路3の読み出しデータの反転データをラッチ回路LAT2に格納する。そして、演算回路OPにおいて、ラッチ回路LAT1の保持データの反転データと、ラッチ回路LAT2の保持データとの論理積演算を行い、その演算結果をラッチ回路LAT3に格納する。このような演算を行うことにより、閾値電圧分布Cを有していたがデータ変動分布Ceに変動したメモリセルMTrにおいてのみ、対応するラッチ回路LAT3にデータ1が格納される。このようなデータ1の数N1が基準値Ns1以上である場合に、第1の実施の形態と同様の追加書き込み動作が実行される。なお、ステップS14における基準値Ns1は、第1の実施の形態の基準値Ns1よりも小さい数に設定される。閾値電圧分布Cは、他の閾値電圧分布A,Bよりも電圧レベルが高く、その分他の閾値電圧分布よりもデータ変動が生じやすい。そのような閾値電圧分布Cのデータ変動のみを判定することにより、救済効率の向上を図ることができる。また、この第2の実施の形態によれば、データ変動判定動作において印加される電圧の種類が2種類のみであるので、第1の実施の形態に比べ、データ変動判定動作に要する時間を短縮することができ、全体として装置のパフォーマンスを第1の実施の形態に比べ向上させることができる。[第3の実施の形態]先ず、図19を参照して、第3の実施の形態に係る不揮発性半導体記憶装置について説明する。装置の全体的な構成は、図1~7と同様で構わないので、構成の重複する説明はここでは省略する。ただし、データ変動判定動作、追加書き込み要否判定動作等の実行手順が前述の実施の形態とは異なっている。図19は、第3の実施の形態におけるデータ変動判定動作、追加書き込み要否判定動作等の実行手順を示すフローチャートである。第1の実施の形態では、最もデータ保持特性が悪い、メモリストリングMS中の最下層のメモリセルMTr7が接続されるワード線WL7を最初にデータ変動判定動作の対象とする例を説明した。これに対し、この実施の形態では、最悪でも最良でもない、例えば中間程度のデータ保持特性を有するメモリセルMTrが接続されるワード線WL一例として、図1,2のワード線WL4を、最初にデータ変動判定動作の対象とする。その後、第1の実施の形態と同様にしてワード線WL4に対してデータ変動判定動作S12を行い、データ1の数N1をカウントするS13。そして、数N1が基準値Ns1以上であった場合にはS14のY、第1の実施の形態とは異なり、ワード線WL4を含むメモリブロックMB1全体に対し、ブロックコピー動作当該メモリブロックMB1のデータを、別のブロックMB2に丸ごとコピーするを実行する。一方、数N1が基準値Ns1未満であった場合S14のNには、ワード線WL4よりも下層に位置するワード線WL5~7が順次選択されS31、同様にデータ変動判定動作S32、及び数N1のカウント動作S33が実行される。そして、数N1が基準値Ns1よりも小さかった場合にはS34のN、全てのワード線WLの選択が終わるまで他のページに対して同様の動作を繰り返す一方S35、数N1が基準値Ns1以上であった場合にはS34のY、そのワード線WLに対して、第1の実施の形態と同様の追加書き込み要否判定動作、追加書き込み動作が実行されるS15~S17。この第3の実施の形態において、ワード線WL4でのデータ変動判定動作において数N1が基準値Ns1以上であると判明した場合に、ワード線WL4を含むメモリブロックMB1全体に対し、ブロックコピー動作を実行するのは、以下の理由からである。すなわち、データ保持特性が中間程度のメモリセルMTrが接続されたワード線WL4におけるデータ変動判定動作において基準値Ns1以上のデータ変動が発生した場合、ワード線WL4より下層ではそれ以上の数のデータ変動が発生していると推定される。また、ワード線WL4より上層においても、基準値Ns1を超えるデータ変動が発生していることも考えられる。このような場合には、データ変動判定動作及び追加書き込み動作をワード線WL毎に行うよりも、上記のようなブロックコピー動作を行ってしまった方が、簡単にデータ変動の問題を解消することができる。これにより、装置全体のパフォーマンスを更に向上させることができる。なお、この第3の実施の形態では、図19のステップS11においてメモリセルのデータ保持特性が中間程度のワード線WL4を最初にデータ変動判定動作の対象とし、そのワード線WL4において所定数以上のデータ変動が見つかれば、ブロックコピー動作に移行する例を示した。これに変えて、例えばメモリセルのデータ保持特性が最良のワード線WL0を最初にデータ変動判定動作の対象とし、そのワード線WL0において所定数以上のデータ変動が見つかれば、ブロックコピー動作に移行するよう、制御回路AR2を設計することも可能である。[第4の実施の形態]先ず、図20~図22を参照して、第4の実施の形態に係る不揮発性半導体記憶装置について説明する。装置の全体的な構成は、図1~7と同様で構わないので、構成の重複する説明はここでは省略する。ただし、データ変動判定動作、追加書き込み要否判定動作等の実行手順が前述の実施の形態とは異なっている。前述の実施の形態では、閾値電圧分布A~Cの下限側下裾側のデータ変動の有無を判定し、データ変動が所定数以上認められる場合に追加書き込み動作を実行する例を説明した。これに対し、第4の実施の形態の不揮発性半導体記憶装置は、下裾側だけでなく、閾値電圧分布E,A,Bの上裾側のデータ変動の有無も判定可能なように構成される点で、前述の実施の形態と異なっている。下裾側のデータ変動判定の手法は、前述の実施の形態と同様でよい。閾値電圧分布E,A,Bの上裾側でのデータ変動判定動作の概要を、図20を参照して説明する。上裾側のデータ変動判定動作は、例えば電圧AR’、BR’、CR’よりも更に小さい電圧EO、AO、BOと、これらの電圧EO、AO、BOよりも大きい電圧ここでは、電圧AR’’、BR’’、CR’’を選択ワード線WLに印加して読み出し動作を行うことにより実行され得る。この電圧EO、AO、BOは、想定される閾値電圧分布E、A、Bの上限値よりもあるマージンだけ大きい電圧とされるのが好ましい。また、電圧AR’’、BR’’、CR’’は、電圧EO、AO、BOよりも大きい電圧であればよく、電圧AR’、BR’、CR’以上の電圧であってもよい。このような読み出し動作を実行することにより、電圧EOより大きく電圧AR’’よりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図20の分布Ee’が存在するか否かを判定することができる。同様に、電圧AOより大きく電圧BR’’よりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図20の分布Ae’が存在するか否かを判定することができる。また、電圧CR’’より大きく電圧CRよりも小さい閾値電圧を有するメモリセルMTrが存在するか否か図20の分布Be’が存在するか否かを判定することができる。なお、本実施の形態においては、閾値電圧分布E,A,Bの上裾側のデータ変動が検出された場合には、追加書き込み動作を実行するのではなく、読み出し電圧AR、BR、CR及びベリファイ電圧AV、BV、CVの電圧レベルを上昇させて対応する。ブロックコピー動作による対応も可能である。図21は、この第4の実施の形態におけるデータ変動判定動作及び追加書き込み動作の具体的な実行手順を示すフローチャートである。この第1の実施の形態と同一のステップについては同一の符号を付し、以下ではその説明は省略する。この第4の実施の形態では、ステップS11とS12の間に、閾値電圧分布E,A,Bの上裾側のデータ変動判定動作を行っているS1~S4。まず、図20で説明したような要領で閾値電圧分布E,A,Bの上裾側のデータ変動判定動作を実行するS1。後述するように、データ変動が発生した場合には、そのメモリセルMTrに対応するラッチ回路LAT3にデータ1が格納される。データ1の数N3をカウントしS2、その数N3が基準値Ns3以上であるか否かが判定されるS3。N3≧Ns3であれば、上述のように読み出し電圧AR、BR、CR及びベリファイ電圧AV、BV、CVの電圧レベルを上昇させて対応するS4。N3<Ns3であれば、ステップS4をスキップして、第1の実施の形態と同様にして、閾値電圧分布A,B,Cの下裾側のデータ変動判定動作に移行するS12~S17。図22は、上裾側のデータ変動判定を実行する場合の電圧印加動作、データラッチ動作及び演算動作を示す。内容は略第1の実施の形態と同様であるので、ここでは詳しい説明は省略する。本実施の形態によれば、閾値電圧分布の上裾側のデータ変動も併せて検出するため、データ変動の発生確率を一層抑制することができる。以上、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"