ワード線、及びビット線に接続された複数のメモリセルがマトリックス状に配置され、前記メモリセルに負の閾値電圧を設定することが可能なメモリセルアレイと、前記ワード線、及びビット線の電位を制御する制御回路と、前記制御回路は、前記ビット線のうち第1のビット線に接続されたメモリセルから負の閾値電圧の読み出し動作を行なう場合、前記第1のビット線に隣接して配置された第2のビット線と、前記メモリセルアレイが形成されたウェルと、前記メモリセルアレイのソース線に、正の第1の電圧を供給し、選択セルのワード線に前記第1の電圧より低い正の電圧を供給することを特徴とする半導体記憶装置。ワード線、及びビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、前記ワード線、ビット線、ソース線、及びウェルの電位を制御する制御回路と、正の第1の電圧及び前記第1の電圧より低い第2電圧を発生する定電圧発生回路とを有し、前記メモリセルは、第1の状態、第2の状態乃至第nの状態nは2以上の自然数のn個の状態を有し、第1の状態、第2の状態乃至第kの状態k<=n、kは自然数は負の閾値電圧であり、前記制御回路は、これら負の閾値電圧を読み出す場合、前記メモリセルアレイのウェルと、前記メモリセルアレイのソース線に、前記定電圧発生回路により発生された前記第1の電圧を供給し、選択セルのワード線に前記第1の電圧より低い正の電圧を供給し、第k1の状態乃至第nの状態の状態を読み出す場合、前記メモリセルアレイのウェルと、前記メモリセルアレイのソース線に、第2の電圧を供給することを特徴とする半導体記憶装置。本発明は、メモリセルに負の閾値電圧を設定することができ、しかも安定な動作が可能な半導体記憶装置を提供する。本発明の半導体記憶装置の第1の態様は、ワード線、及びビット線に接続された複数のメモリセルがマトリックス状に配置され、前記メモリセルに負の閾値電圧を設定することが可能なメモリセルアレイと、前記ワード線、及びビット線の電位を制御する制御回路と、前記制御回路は、前記ビット線のうち第1のビット線に接続されたメモリセルから負の閾値電圧の読み出し動作を行なう場合、前記第1のビット線に隣接して配置された第2のビット線と、前記メモリセルアレイが形成されたウェルと、前記メモリセルアレイのソース線に、正の第1の電圧を供給し、選択セルのワード線に前記第1の電圧より低い正の電圧を供給することを特徴とする。本発明の半導体記憶装置の第2の態様は、ワード線、及びビット線に接続された複数のメモリセルがマトリックス状に配置されたメモリセルアレイと、前記ワード線、ビット線、ソース線、及びウェルの電位を制御する制御回路と、正の第1の電圧及び前記第1の電圧より低い第2電圧を発生する定電圧発生回路とを有し、前記メモリセルは、第1の状態、第2の状態乃至第nの状態nは2以上の自然数のn個の状態を有し、第1の状態、第2の状態乃至第kの状態k<=n、kは自然数は負の閾値電圧であり、前記制御回路は、これら負の閾値電圧を読み出す場合、前記メモリセルアレイのウェルと、前記メモリセルアレイのソース線に、前記定電圧発生回路により発生された前記第1の電圧を供給し、選択セルのワード線に前記第1の電圧より低い正の電圧を供給し、第k1の状態乃至第nの状態の状態を読み出す場合、前記メモリセルアレイのウェルと、前記メモリセルアレイのソース線に、第2の電圧を供給することを特徴とする。本発明によれば、メモリセルに負の閾値電圧を設定することができ、しかも安定な動作が可能な半導体記憶装置を提供できる。以下、本発明の実施の形態について、図面を参照して説明する。第1の実施形態図2は、第1の実施形態に係る半導体記憶装置、具体的には例えば4値2ビットのデータを記憶するNANDフラッシュメモリの構成を示している。メモリセルアレイ1は複数のビット線と複数のワード線と共通ソース線を含み、例えばEEPROMセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ1には、ビット線を制御するためのビット制御回路2とワード線制御回路6が接続されている。ビット線制御回路2は、ビット線を介してメモリセルアレイ1中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ1中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ1中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路2には、カラムデコーダ3、データ入出力バッファ4が接続されている。ビット線制御回路2内のデータ記憶回路はカラムデコーダ3によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ4を介してデータ入出力端子5から外部へ出力される。また、外部からデータ入出力端子5に入力された書き込みデータは、データ入出力バッファ4を介して、カラムデコーダ3によって選択されたデータ記憶回路に入力される。ワード線制御回路6は、メモリセルアレイ1に接続されている。このワード線制御回路6は、メモリセルアレイ1中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。メモリセルアレイ1、ビット線制御回路2、カラムデコーダ3、データ入出力バッファ4、及びワード線制御回路6は、制御信号及び制御電圧発生回路7に接続され、この制御信号及び制御電圧発生回路7によって制御される。制御信号及び制御電圧発生回路7は、制御信号入力端子8に接続され、外部から制御信号入力端子8を介して入力される制御信号によって制御される。前記ビット線制御回路2、カラムデコーダ3、ワード線制御回路6、制御信号及び制御電圧発生回路7は書き込み回路、及び読み出し回路を構成している。図3は、図2に示すメモリセルアレイ1及びビット線制御回路2の構成を示している。メモリセルアレイ1には複数のNANDセルが配置されている。1つのNANDセルは、直列接続された例えば32個のEEPROMからなるメモリセルMCと、選択ゲートS1、S2とにより構成されている。選択ゲートS2はビット線BL0eに接続され、選択ゲートS1はソース線SRCに接続されている。各ロウに配置されたメモリセルMCの制御ゲートはワード線WL0~WL29、WL30、WL31に共通接続されている。また、選択ゲートS2はセレクト線SGDに共通接続され、選択ゲートS1はセレクト線SGSに共通接続されている。ビット線制御回路2は複数のデータ記憶回路10を有している。各データ記憶回路10には、一対のビット線BL0e、BL0o、BL1e、BL1o...BLie、BLio、BL8ke、BL8koが接続されている。メモリセルアレイ1は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のNANDセルにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路10に接続されている2本のビット線について同時に行なわれる。また、ビット線の1つおきに配置され、1つのワード線に接続された複数のメモリセル破線で囲まれた範囲のメモリセルは、1セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路10に接続されている2本のビット線BLie、BLioのうち外部より供給されるアドレス信号YA0、YA1...YAi...YA8kに応じて1本のビット線が選択される。さらに、外部アドレスに応じて、1本のワード線が選択される。図4、図5は、メモリセル及び選択トランジスタの断面図を示している。図4abはメモリセル及び選択トランジスタの断面図を示している。図4aはメモリセルを示している。基板51後述するP型ウェル領域55にはメモリセルのソース、ドレインとしてのn型拡散層42が形成されている。P型ウェル領域55の上にはゲート絶縁膜43を介して浮遊ゲートFG44が形成され、この浮遊ゲート44の上には絶縁膜45を介して制御ゲートCG46が形成されている。図4bは選択ゲートを示している。P型ウェル領域55にはソース、ドレインとしてのn型拡散層47が形成されている。P型ウェル領域55の上にはゲート絶縁膜48を介して制御ゲート49が形成されている。図5は、この実施形態に対応する半導体記憶装置の断面図を示している。例えばP型半導体基板51内には、N型ウェル領域52、53、54、P型ウェル領域55、56が形成されている。N型ウェル領域52内にはP型ウェル領域55が形成され、このP型ウェル領域55内にメモリセルアレイ1を構成する低電圧NチャネルトランジスタLVNTrが形成されている。さらに、前記N型ウェル領域53、P型ウェル領域56内に、データ記憶回路10を構成する低電圧PチャネルトランジスタLVPTr、低電圧NチャネルトランジスタLVNTrが形成されている。前記基板51内には、ビット線とデータ記憶回路10を接続する高電圧NチャネルトランジスタHVNTrが形成されている。また、前記N型ウェル領域54内には例えばワード線駆動回路等を構成する高電圧PチャネルトランジスタHVPTrが形成されている。図5に示すように、高電圧トランジスタHVNTr、HVPTrは、低電圧トランジスタLVNTr、LVPTrに比べて例えば厚いゲート絶縁膜を有している。図6は、イレーズ、プログラム、正の閾値電圧を読み出す正リード、負の閾値電圧を読み出す負リードにおいて、図5に示す各部に供給される電圧を示している。図7は、図3に示すデータ記憶回路10の一例を示す回路図である。このデータ記憶回路10は、プライマリデータキャッシュPDC、セコンダリデータキャッシュSDC、ダイナミックデータキャッシュDDC、テンポラリデータキャッシュTDCを有している。SDC、PDC、DDCは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。TDCは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、多値データを記憶する際に内部データの操作に使用される。SDCは、ラッチ回路を構成するクロックドインバータ回路61a、61b、及びトランジスタ61c、61dにより構成されている。トランジスタ61cはクロックドインバータ回路61aの入力端と、クロックドインバータ回路61bの入力端の間に接続されている。このトランジスタ61cのゲートには信号EQ2が供給されている。トランジスタ61dはクロックドインバータ回路61bの出力端と接地間に接続されている。このトランジスタ61dのゲートには信号PRSTが供給されている。SDCのノードN2aは、カラム選択トランジスタ61eを介して入出力データ線IOに接続され、ノードN2bは、カラム選択トランジスタ61fを介して入出力データ線IOnに接続される。これらトランジスタ61e、61fのゲートにはカラム選択信号CSLiが供給されている。SDCのノードN2aは、トランジスタ61g、61hを介してPDCのノードN1aに接続されている。トランジスタ61gのゲートには信号BLC2が供給され、トランジスタ61hのゲートには信号BLC1が供給されている。PDCは、クロックドインバータ回路61i、61j及びトランジスタ61kにより構成されている。トランジスタ61kは、クロックドインバータ回路61iの入力端とクロックドインバータ回路61jの入力端の相互間に接続されている。このトランジスタ61kのゲートには信号EQ1が供給されている。PDCのノードN1bはトランジスタ61lのゲートに接続されている。このトランジスタ61lの電流通路の一端はトランジスタ61mを介して接地されている。このトランジスタ61mのゲートには信号CHK1が供給されている。また、トランジスタ61lの電流通路の他端はトランスファーゲートを構成するトランジスタ61n、61oの電流通路の一端に接続されている。このトランジスタ61nのゲートには信号CHK2nが供給されている。また、トランジスタ61oのゲートはノードN3に接続されている。トランジスタ61n、61oの電流通路の他端には、信号COMiが供給されている。この信号COMiは全データ記憶回路10に共通の信号であり、全データ記憶回路10のベリファイが完了したかどうかを示す信号である。すなわち、後述するように、ベリファイが完了すると、PDCのノードN1bがローレベルとなる。この状態において、信号CHK1、CHK2nをハイレベルとすると、ベリファイが完了している場合、信号COMiがハイレベルとなる。さらに、前記TDCは、例えばMOSキャパシタ61pにより構成されている。このキャパシタ61pは、一端が前記トランジスタ61g、61hの接続ノードN3に接続され、他端に後述する信号BOOSTが供給されている。また、接続ノードN3には、トランジスタ61qを介してDDCが接続されている。トランジスタ61qのゲートには、信号REGが供給されている。DDCは、トランジスタ61r、61sにより構成されている。トランジスタ61rの電流通路の一端には信号VREGが供給され、他端は前記トランジスタ61qの電流通路に接続されている。このトランジスタ61rのゲートはトランジスタ61sを介して前記PDCのノードN1aに接続されている。このトランジスタ61sのゲートには信号DTGが供給されている。さらに、前記接続ノードN3にはトランジスタ61t、61uの電流通路の一端が接続されている。トランジスタ61uの電流通路の他端には信号VPREが供給され、ゲートにはBLPREが供給されている。前記トランジスタ61tのゲートには信号BLCLAMPが供給されている。このトランジスタ61tの電流通路の他端はトランジスタ61vを介してビット線BLoの一端に接続され、トランジスタ61wを介してビット線BLeの一端に接続されている。ビット線BLoの一端はトランジスタ61xの電流通路の一端に接続されている。このトランジスタ61xのゲートには信号BlASoが供給されている。ビット線BLeの一端はトランジスタ61yの電流通路の一端に接続されている。このトランジスタ61yのゲートには信号BlASeが供給されている。これらトランジスタ61x、61yの電流通路の他端には、信号BLCRLが供給されている。トランジスタ61x、61yは、信号BlASo、BlASeに応じてトランジスタ61v、61wと相補的にオンとされ、非選択のビット線に信号BLCRLの電位を供給する。尚、前記ノードN3と接地間には、例えばMOSキャパシタ61zが接続されている。このキャパシタ61zは、後述するTDCのキャパシタ61pを信号BOOSTにより昇圧する際、カップリングにより、ノードN3の電位が上昇し過ぎないように、ノードN3の電位を調整する。以後、PDCのデータはノードN1aの電位、SDCのデータはノードN2aの電位、TDCのデータはノードN3の電位、DDCのデータはノードN4の電位とする。上記各信号及び電圧は、図2に示す制御信号及び制御電圧発生回路7により生成され、この制御信号及び制御電圧発生回路7の制御に基づき、以下の動作が制御される。本メモリは、多値メモリであるため、1つのセルに2ビットのデータを記憶することが可能とされている。この2ビットの切り替えはアドレス第1ページ、第2ページによって行なわれる。図8abcは、メモリセルのデータとメモリセルの閾値電圧の関係を示している。消去動作を行なうと、図8acに示すように、メモリセルのデータは0となる。第1ページの書き込み後、メモリセルのデータはデータ0又はデータ1となる。ここで、データ0は負の閾値電圧を有し、データ1は正の閾値電圧を有している。また、図8bに示すように、第2ページの書き込み後、メモリセルのデータはデータ0、1、2、3となる。第1の実施形態において、メモリセルのデータは閾値電圧の低いほうから高い方へと定義されている。図9は、第1の実施形態における書き込み順序の一例を示している。ブロック内では、ソース線に近いメモリセルからページごとに書き込み動作が行なわれる。読み出し動作図8に示すように、第1ページ書き込み後、メモリセルのデータは、0又は2となっている。このため、ワード線の電位をこれらのデータの閾値電圧の中間の電位aに設定して読み出し動作を行なうことにより、これらのデータを読み出すことができる。また、第2ページ書き込み後、メモリセルのデータは、0、1、2、3のいずれかにある。このため、ワード線の電位をb、c、dに設定することにより、これらのデータを読み出すことができる。ここで、例えば電位a、bは負レベルであり、電位c、dは正レベルである。正レベルリードまず、正レベルc、dによる読み出し動作について説明する。図6に示すように、図1に示す定電圧発生回路71の出力電圧をVss0V:接地電圧とすることにより、選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートにVss0V、選択ワード線にリードの時の電位c又はd、選択ブロックの非選択ワード線にVread、選択ブロックの選択ゲートSGDにVsgVddVthを供給する。Vddは例えば2.5Vであり、VthはNチャネルMOSトランジスタの閾値電圧である。次に、図7に示すデータ記憶回路10の信号VPREにVdd例えば2.5V、信号BLPREにVsgVddVth、信号BLCLAMPに例えば0.6VVthの電圧を一旦供給し、ビット線を例えば0.6Vにプリチャージする。次に、セルのソース側のセレクト線SGSをVsgVddVthにする。セルの閾値電圧がc又はdより高い時、セルはオフする。このため、ビット線はHハイレベルのままである。また、セルの閾値電圧がc又はdより低い場合、セルはオンする。このため、ビット線はこれらのセルを介して放電され、Lローレベルとなる。ここで、図7に示すデータ記憶回路10の信号BLPREを一旦VsgVddVth、VPRE=Vddとして、TDCのノードをVddにプリチャージする。この後、信号BLCLAMPを例えば0.45VVthに設定する。TDCのノードN3はビット線が0.45Vより低い場合Lレベルとなり、ビット線が0.45Vより高い場合Hレベルとなる。次いで、信号BLCLAMP=Vssとした後、BLC1=VsgVddVthとして、TDCの電位をPDCに読み込む。セルの閾値電圧がワード線の電位c又はdより低いとPDCはLレベルとなり、高いとPDCはHレベルとなり、読み出しが行なわれる。負レベルリード次に、負レベルa、bの読み出し動作について説明する。この場合、選択ワード線に負レベルa、bを供給すればよい。しかし、負電圧を出力する場合、前述したように、ローデコーダの電位設定が煩雑となる。すなわち、図10に示すように、P型基板上にローデコーダを構成する高耐圧NMOSトランジスタHVNTrを形成した場合、このトランジスタ制御ゲートCGを負電位に設定するとドレインが負電位となる。このため、高耐圧NMOSトランジスタHVNTrをPウェル上に形成する必要がある。この場合、製造工程が複雑になるという問題がある。そこで、第1の実施形態は、図1に示すように、電圧Vfix例えば1.6Vを発生する定電圧発生回路71を設け、負レベルリードの際、定電圧発生回路71より選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートに電圧Vfix例えば1.6Vを供給する。すなわち、図1に示すように、ソース線SRCと定電圧発生回路71の間には、トランジスタ72が接続され、メモリセルや選択ゲートが形成されるP型ウェル領域55には、トランジスタ73が接続されている。さらに、ソース線SRCにはトランジスタ74の一端が接続され、メモリセルや選択ゲートが形成されるP型ウェル領域55にはトランジスタ75の一端が接続されている。これらトランジスタ74、75の他端には、消去時に消去電圧Veraが供給される。トランジスタ72、73はデータの消去時に信号/Seraに応じてオフとされ、データの読み出し時にオンとされる。また、トランジスタ74、75はデータの消去時に信号Seraに応じてオンとされ、データの読み出し時にオフとされる。前記定電圧発生回路71は、図2に示す制御信号及び制御電圧発生回路7に設けられている。上記構成において、例えばトランジスタ61v、61yがオンとされ、トランジスタ61w、71yがオフとされ、ビット線BLoに接続されたメモリセルより負レベルにデータを読み出す場合について説明する。この際、トランジスタ72、73はオンとされ、トランジスタ74、75はオフとされている。このため、選択されているセルのウェル、ソース線SRC、非選択ビット線、非選択ブロックの選択ゲートに定電圧発生回路71より、電圧Vfix例えば1.6Vが供給される。また、選択されたワード線にリードの時の電位Vfixa例えばa=-0.5VとするとVfixaは1.1V又はVfixb例えばb=-1VとするとVfixbは0.6V供給すると、見かけ上、セルのゲートには負電位が供給されたようになる。これと同時に、選択ブロックの非選択ワード線にVreadVfix、選択ブロックの選択ゲートSGDにVsgVddVthVfix、SGSにVfixを供給する。次に、図7に示すデータ記憶回路10の信号VPREにVdd例えば2.5V、信号BLPREにVsgVddVth、信号BLCLAMPに例えば0.6VVthVfixの電圧を供給し、ビット線を例えば0.6VVfix=2.2Vにプリチャージする。次に、セルのソース側のセレクト線SGSをVsgVddVthVfixにする。ウェル及びソースの電位がVfixとなっているため、閾値電圧がa例えばa=-0.5V又はb例えばb=-1Vより高い時、セルはオフする。このため、ビット線はHレベル例えば2.2Vのままである。また、閾値電圧がa又はbより低いとセルはオンする。このため、ビット線BLoは放電されソース線SRCと同電位のVfix例えば1.6Vとなる。つまり、ビット線BLoの電位は、オン状態のセルを介して放電し、ビット線BLoの電荷は、NANDセル、ソース線SRC、トランジスタ72、61yを介してビット線BLeに移動する。図3に示すように、メモリセルアレイ1内のビット線の数は、例えば16k本である。このため、ビット線から放電された電荷Qが、定電圧発生回路71に流れ込んだ場合、定電圧発生回路71の動作が不安定となる。しかし、第1の実施形態の場合、図1に示すように、ビット線にプリチャージされた電荷は、選択ビット線BLoと非選択ビット線BLe間の容量Cに蓄えられており、ソース線SRCは非選択ビット線BLeに接続されている。このため、選択ビット線BLoの電荷Qは、非選択ビット線BLeの電荷-Qと相殺されるため、定電圧発生回路71に大電流が流れ込むことを防止できる。したがって、定電圧発生回路71の動作を安定に保持することが可能である。上記状態において、図7に示すデータ記憶回路10の信号BLPREを電圧VsgVddVthとし、信号VPREを電圧Vddとして、TDCのノードN3をVddにプリチャージする。この後、信号BOOSTをLレベルからHレベルとし、TDC=αVdd例えばα=1.7、αVdd=4.25Vとする。ここで、信号BLCLAMPを例えば電圧0.45VVthVfixとする。すると、TDCのノードN3はビット線の電位が0.45VVfixより低い場合、LレベルVfix例えば1.6Vとなり、ビット線の電位が0.45Vより高い場合、HレベルのままαVdd例えば4.25Vとなる。この後、信号BLCLAMP=Vtr例えば0.1VVthとした後、信号BOOSTをHレベルからLレベルにする。ここで、TDCはLレベルの場合、Vfix例えば1.6Vから下がるが、信号BLCLAMP=Vtr例えば0.1VVthとしているため、0.1Vよりは下がらない。また、TDCはHレベルの場合αVdd例えば4.25VからVddとなる。ここで、信号BLC1=VsgVddVthとして、TDCの電位をPDCに読み込む。したがって、セルの閾値電圧が、電圧a又はbより低いと、PDCはLレベル、高いとPDCはHレベルとなり、読み出しが行なわれる。このようにして、ワード線を負電圧に設定することなく、セルに設定した負の閾値電圧を読み出すことが可能である。プログラム及びプログラムベリファイプログラム次に、図8に示す閾値電圧を設定するためのプログラム動作について説明する。プログラム動作は、先ず、アドレスを指定し、図3に示す2ページが選択される。図8に示すように、第1ページの書き込みで、メモリセルのデータはデータ0とデータ2になる。すなわち、書き込みデータが1書き込みを行なわないの場合、メモリセルのデータはデータ0のままであり、書き込みデータが0書き込みを行なうの場合、メモリセルのデータはデータ2となる。また、第2ページの書き込み後、メモリセルのデータはデータ0、1、2、3となる。すなわち、第1ページの書き込みデータが1で、第2ページの書き込みデータが1の場合、メモリセルのデータは0のままであり、第2ページの書き込みデータが0の場合、メモリセルのデータは1となる。また、第1ページの書き込みデータが0で、第2ページの書き込みデータが0の場合、メモリセルのデータは2のままであり、第2ページの書き込みデータが1の場合、メモリセルのデータは3となる。図12は、第1ページのプログラム及びベリファイ動作を示し、図13は、第2ページのプログラム及びベリファイ動作を示している。第1ページプログラム初めにアドレスにより第1ページを選択する。次に、図12に示すように、書き込むべきデータを外部より入力し、全てのデータ記憶回路10のSDCに記憶するS11。この後、書き込みコマンドが入力されると、全てのデータ記憶回路10内のSDCのデータがPDCに転送されるS12。外部よりデータ1書き込みを行なわないが入力されると、PDCのN1aはHレベルになり、データ0書き込みを行なうが入力されるとLレベルとなる。プログラム動作S13図7に示す信号BLC1にVddVthの電圧を与えるとPDCにデータ1が記憶されている時、ビット線の電位はVddとなり、PDCにデータ0が記憶されている時、ビット線の電位はVssとなる。また、選択されたワード線に接続され、非選択ページビット線が非選択であるのセルは、書き込みが行なわれてはならない。このため、これらのセルに接続されているビット線の電位も、データ1に対応するビット線と同様にVddとする。ここで、選択されているブロックのセレクト線SGSをVdd、選択ワード線にVpgm20V、非選択ワード線にVpass10Vを供給すると、ビット線の電位がVssになっている場合、セルのチャネルがVss、ワード線がVpgmとなるため、書き込みが行なわれる。一方、ビット線の電位がVddとなっている場合、セルのチャネルがVssではなくVpgm及びVpassを上げることにより、カップリングで高い電位に上がるためプログラムが行われない。プログラムベリファイは、読み出し時のaレベルより若干高いa’レベルにより行なわれる以後’はベリファイ電位を示し、リード時の電位より若干高い値とする。メモリセルの閾値電圧がa’レベルに達するまで、プログラム及びベリファイが繰り返されるS14、S15、S13。ベリファイ動作については後述する。第2ページプログラム図13に示すように、先ず、書き込むべきデータを外部より入力し、全てのデータ記憶回路10のSDCに記憶するS21。内部データリードS22先ず、セルへの書き込みの前に、第1ページのメモリセルのデータが0か2であるかを判断するため、内部リード動作を行なう。この内部リード動作は、前述した負レベルリードと同様であり、ワード線にaレベルを供給して読み出し動作を行なう。データキャッシュの設定S23この後、各データキャッシュに記憶されたデータが操作される。すなわち、SDCのデータがPDCに転送され、PDCのデータがDDCに転送される。次に、DDCのデータが反転されてSDCに転送される。この後、PDCのデータがDDCに転送される。次に、DDCのデータが反転されてPDCに転送される。この後、PDCのデータがDDCに転送される。このような操作をすることにより、メモリセルのデータを0にする場合第1ページにおいてデータ1、第2ページにおいてデータ1、PDC、DDC、SDCは全てハイレベルに設定される。メモリセルのデータを1にする場合第1ページにおいてデータ1、第2ページにおいてデータ0、PDCはローレベル、DDCはローレベル、SDCはハイレベルに設定される。メモリセルのデータを2にする場合第1ページにおいてデータ0、第2ページにおいてデータ0、PDCはローレベル、DDCはハイレベル、SDCはローレベルに設定される。メモリセルのデータを3にする場合第1ページにおいてデータ0、第2ページにおいてデータ1、PDC、DDC、SDCは全てローレベルに設定される。このように、各データキャッシュを設定した状態において、第1ページと同様にして第2ページのプログラムが実行されるS24。この後、b’c’d’の各レベルを用いてプログラムベリファイが実行されるS25-S28、S24。次に、上記第1及び第2ページのプログラムベリファイについて説明する。負レベルプログラムベリファイリード上述したプログラムにおいては、閾値電圧の低いレベルよりデータが書き込まれる。このため、第1ページではa’レベル、第2ページではb’レベルのプログラムベリファイを行なう。プログラムベリファイ動作は、リード動作と殆ど同じである。先ず、選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートに定電圧発生回路71より、電圧Vfix例えば1.6Vを供給する。選択されたワード線にリードの時の電位Vfixa又はVfixbより少し高い電位Vfixa’例えばa’=-0.4VとするとVfixa’は1.2V又はVfixb’例えばb’=-0.8VとするとVfixb’は0.8Vを供給することにより、見かけ上、セルのゲートには負電位が供給されるようにする。これと同時に、選択ブロックの非選択ワード線にVreadVfix、選択ブロックのセレクト線SGDにVsgVddVthVfix、SGSにVfixを供給する。次に、データ記憶回路10の信号VPREを電圧Vdd例えば2.5V、BLPREにVsgVddVth、BLCLAMPに例えば0.6VVthVfixの電圧を供給し、ビット線を例えば0.6VVfix=2.2Vにプリチャージする。次に、セルのソース側のセレクト線SGSをVsgVddVthVfixにする。ウェル及びソースの電圧がVfixとなっているため、セルの閾値電圧がベリファイ電圧a’例えばa’=-0.4V又はb’例えばb’=-0.8Vより高い時、セルがオフする。このため、ビット線はHレベル例えば2.2Vのままであり、セルの閾値電圧がベリファイ電圧a’又はb’より低い時、セルはオンする。このため、ビット線は放電され、ソースと同電位つまりVfix例えば1.6Vとなる。ビット線の放電中に、一旦VPRE=Vss、BLPRE=Vddとし、TDC=Lレベルとした後、VREG=Vdd、REG=HレベルとしてDDCをTDCにコピーし、次に、一旦、DTG=VsgVddVthとして、PDCのデータをDDCにコピーし、最後にBLC1=HレベルとしてTDCのデータをPDCにコピーする。次に、データ記憶回路10の信号BLPREをVsgVddVthとして、TDCのノードN3をVddにプリチャージする。この後、信号BOOSTをLレベルからHレベルとし、TDC=αVdd例えばα=1.7、αVdd=4.25Vとする。ここで、信号BLCLAMPを例えば0.45VVthVfixとする。TDCのノードN3はビット線の電位が0.45VVfixより低い場合、LレベルVfix例えば1.6Vとなり、ビット線の電位が0.45Vより高い場合、HレベルのままαVdd例えば4.25Vとなる。信号BLCLAMP=Vtr例えば0.1VVthとした後、信号BOOSTをHレベルからLレベルとする。ここで、TDCの電位は信号BOOSTがLレベルの場合、Vfix例えば1.6Vから下がる。しかし、信号BLCLAMP=Vtr例えば0.1VVthとしているため、TDCの電位は0.1Vよりは下がらない。また、信号BOOSTがHレベルの場合、TDCの電位はαVdd例えば4.25VからVddとなる。ここで、信号VREG=Vdd、信号REG=VsgVddVthとして、DDCがHレベル非書き込みの場合、TDCを強制的にHレベルとする。しかし、DDCがLレベル非書き込みの場合、TDCのデータは変わらない。次に、一旦、DTG=VSGとしてPDCのデータをDDCにコピーした後、信号BLC1=VsgVddVthとして、TDCの電位をPDCに読み込む。したがって、元々PDC=Lレベル書き込みの場合で、セルの閾値電圧が、a’又はb’より低い場合、PDCは再びLレベル書き込みとなり、高い場合PDCはHレベルとなり、次回のプログラムループより非書き込みとなる。また、元々PDC=Hレベル非書き込みの場合、PDC=Hレベルとなり、次回のプログラムループより非書き込みとなる。また、第2ページの書き込みにおいて、b’レベルによるプログラムベリファイは、上記の動作を行なうと、c及びdレベルへ書き込んでいるセルが、b’レベルのプログラムベリファイで、非書き込みとなってしまう。しかし、c’及びd’レベルの書き込みの場合、SDCのノードN2aをLレベル、b’レベルの書き込みの場合、SDCのノードN2aをHレベルと設定している。このため、非書き込みの場合のTDCを強制的にHレベルとする動作の前に、信号BLC2=Vtr0.1VVthとすると、c’及びd’レベルの書き込みの場合、TDCを強制的にLレベルとし、b’レベルでのプログラムベリファイにおいて書き込み完了としないようにする。正レベルプログラムベリファイリード第2ページの書き込みにおいて、プログラムとb’レベルのベリファイを繰り返すが、しばらくすると、cレベルの書き込みも完了する。このため、プログラムとb’レベル及びc’レベルのベリファイを繰り返す。次に、プログラムとb’レベル、c’レベル、d’レベルのベリファイを繰り返す。また、しばらくすると、b’レベルの書き込みが終了するため、プログラムとc’レベル、d’レベルのベリファイを繰り返す。最後に、プログラム及びd’レベルのベリファイを繰り返す。先ず、正レベルであるc、dレベルの読み出し動作について説明する。選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートにVss、選択ワード線にリードの時の電位c’又はd’、選択ブロックの非選択ワード線にVread、選択ブロックの選択ゲートSGDにVsgVddVthを供給する。次に、データ記憶回路10の信号VPREをVdd例えば2.5V、信号BLPREをVsgVddVth、信号BLCLAMPを例えば0.6VVthに設定し、ビット線を例えば0.6Vにプリチャージする。次に、セルのソース側のセレクト線SGSをVsgVddVthとする。閾値電圧がc’又はd’より高い時は、セルがオフする。このため、ビット線はHレベルのままである。また、閾値電圧がc’又はd’より低いとセルがオンするためビット線はLレベルとなる。ビット線の放電中に、一旦VPRE=Vss、BLPRE=Vddとし、TDC=Lレベルとした後、VREG=Vdd、REG=HレベルとしてDDCをTDCにコピーし、次に、一旦、DTG=VsgVddVthとして、PDCをDDCにコピーし、最後にBLC1=HレベルとしてTDCをPDCにコピーする。この後、信号BLPREをVsgVddVthとして、TDCのノードN3をVddにプリチャージした後、信号BLCLAMPを例えば0.45VVthとする。TDCのノードN3はビット線が0.45Vより低い場合Lレベルとなり、ビット線が0.45Vより高い場合、Hレベルとなる。信号BLCLAMP=Vssとした後、信号VREG=Vdd、信号REG=VsgVddVthとして、DDCがHレベル非書き込みの場合、TDCを強制的にHレベルとする。しかし、DDCがLレベル非書き込みの場合、TDCの値は変わらない。ここで、信号BLC1=VsgVddVthとして、TDCの電位をPDCに読み込む。したがって、元々PDC=Lレベル書き込みの場合で、セルの閾値電圧が、c’又はd’より低いと、PDCは再びLレベル書き込みとなり、高いとPDCはHレベルとなり、次回のプログラムループより非書き込みとなる。また、元々PDC=Hレベル非書き込みの場合、PDC=Hレベルとなり、次回のプログラムループより非書き込みとなる。また、第2ページの書き込みにおいて、c’レベルのプログラムベリファイにおいて、上記の動作を行なうと、dレベルへの書き込みセルが、c’レベルのプログラムベリファイで、非書き込みとなってしまう。そこで、VREG=Vdd、信号REG=Vsgとする。非書き込みの場合のTDCを強制的にHレベルとする動作の直前において、cレベルの書き込みの場合、PDCのノードN1aがLレベル、これ以外の場合、ノードN1aがLレベルとなっている。このため、信号BLC1=Vtr0.1VVthとし、d’レベルの書き込みの場合は、TDCを強制的にLレベルとし、d’レベルでのプログラムベリファイにおいて書き込み完了としないようにする。PDCがLレベルの場合、再び書き込み動作を行ない、全てのデータ記憶回路10のデータがHレベルとなるまで、このプログラム動作とベリファイ動作を繰り返す。イレーズ動作イレーズ動作は、図3に破線で示すブロック単位で行う。また、データ記憶回路10に接続された2本のビット線BLie、BLioについて同時に行う。先ず、図1に示すトランジスタ74、75をオンとし、トランジスタ72、73をオフとし、ソース線SRCとメモリセルが形成されたウェルを消去電位Vera=20Vとし、選択ブロック内のワード線の電位を0V、その他のワード線をフローティング状態として、選択ブロック内のメモリセルのデータを消去する。消去後、セルの閾値電圧は、図8cに示すように、データ0負の閾値電圧となる。ところで、消去領域を自己昇圧するErasedAreaSelfBoost書き込み方法の場合、消去セルの閾値電圧を浅くする必要がある。先ず、この消去領域を自己昇圧する書き込み方法について説明する。この書き込み方法は、図14に示すように、必ずNANDセルのソース側から書き込みを行う。セルにデータを書き込む場合、ビット線をVssとし、非書き込みの場合、ビット線をVddとする。次に、例えばWL7により選択セルにデータを書き込む場合、WL0~WL4はVpass、WL5はVss、WL6はVdd、WL7はプログラム電圧Vpgm、WL8~WL31はVpassに設定される。この状態において、データを書き込む場合、ワード線WL7のゲートがVpgm、チャネルがVssであるため、書き込みが行なわれる。また、非書き込みの場合、チャネルは、ブースされて例えばVpass/2となる。しかし、書き込まれるセルの数が多い場合、チャネルはブースとされにくくなる。ところが、消去領域を自己昇圧する書き込み方法は、必ずソース側から書き込まれている。したがって、WL5=0としてブースとすると、WL8~WL31のセルは消去されているため、チャネルはブーストされ、書き込まれなくなる。このように、既に書き込まれたセルにブースとした電荷が移動しないようにしなくてはならない。しかし、ワード線WL5により選択されるセルが消去状態の場合で、閾値電圧が深い場合、すなわち、大きな負の閾値電圧となっている場合、セルはオフしなくなってしまう。したがって、消去セルの閾値電圧を浅くする、すなわち、小さな負の閾値電圧とする必要がある。このため、消去動作後、ブロック内の全ワード線を選択し、プログラム及びプログラムベリファイリードを行ない、図8cに示すように、zレベルまで書き込み動作を行なう。この時のプログラム及びプログラムベリファイリード動作は、全ワード線を選択状態とし、ベリファイ時の選択ワード線の電位をzVfix例えば0Vとし、他は、通常のプログラム及びプログラムベリファイリードと全く同様に行なう。上記実施形態によれば、多値データのうちの少なくとも2つのデータを負の閾値電圧により設定している。このため、図15bに示すように、読み出し電圧Vreadの範囲内において、図15aに示す従来の場合に比べて、設定可能な閾値電圧の範囲を広げることが可能である。したがって、1つの閾値電圧の分布幅を大きく設定できため、プログラム及びベリファイ回数を削減でき、高速な書き込みを行なうことができる。特に、この実施形態は、1つのメモリセルに8値、又は16値のデータを記憶する場合に有効である。また、負の閾値電圧を読み出す場合、定電圧発生回路71により電圧Vfixを発生し、この電圧Vfixをセルのソース及びウェルに供給することにより、セルのソース及びウェルの電位を選択セルのワード線の電位より高くすることで、見かけ上、ワード線に負電圧を加えた場合と同等としている。しかも、負の閾値電圧を読み出す場合、ソース及びウェルと非選択ビット線を短絡することにより、定電圧発生回路71に流れ込む電流を低減することができる。したがって、定電圧発生回路71を安定に動作させることができる効果を有している。さらに、上記実施形態によれば、セルのゲートに負電圧を供給する必要がない。このため、ローデコーダを構成する高耐圧トランジスタをPウェル内に形成する必要がない。したがって、製造工程の増加を防止することが可能である。第2の実施形態上記第1の実施形態において、イレーズシーケンス中に、消去セルの閾値電圧を-1.6Vにする動作を行なった。しかし、図11に示すように、第1ページのプログラム又は、第2ページのプログラム中で行なうことも可能である。第2の実施形態によれば、プログラム動作が若干遅くなるが、イレーズ動作を高速化することが可能である。第3の実施形態上記第1、第2の実施形態において、正のリード及びプログラムベリファイリードと、負のリード及びプログラムベリファイリードにおいて、選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートに加える電圧を、負の時はVfix例えば1.6V、正の時はVssと変化させた。しかし、これに限らず、正の時も負の時と同様に、選択されているセルのウェル、ソース線、非選択ビット線、非選択ブロックの選択ゲートに加える電圧をVfixとしてもよい。第3の実施形態によれば、正のリードと負のリードにおいて、読み出し動作を変える必要がない。このため、正のリードと負のリードを同じ条件により行うことができるため、正のリードと負のリードの閾値電圧のマージンを多く設定する必要がない。したがって、多値データの各閾値電圧の分布幅を広くすることができ、高速な書き込みが可能となる。第4の実施形態第1の実施形態において、データ記憶回路は、図3に示すように、2本のビット線に1つ接続した。しかし、これに限定されるものではない。図16は、第4の実施形態に係るメモリセルアレイ1とデータ記憶回路10の構成を示している。すなわち、図16に示すように、1本のビット線に1つのデータ記憶回路10を配置することも可能である。この場合、例えばプログラムは、2本のビット線について、同時に書き込みを行い、ベリファイリード及びリード時は、片方のビット線のデータを読み出し、他方のビット線は、非選択とする。第4の実施形態によれば、同時に書き込むセルの数を第1の実施形態の2倍とすることができるため、一層高速の書き込みを行なうことが可能である。尚、上記各実施形態は、4値の場合について説明したが、8値、16値、n値nは自然数のデータを記憶する半導体記憶装置に各実施形態を適用することが可能である。その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。