(57)【特許請求の範囲】
【請求項１】
読み出し又は書き込みを行う複数の選択メモリセルを含むメモリセルアレイと、前記複数の選択メモリセルに対応して設けられる複数のデータラッチ回路と、前記複数のデータラッチ回路をｍ（２以上の自然数）個ずつ組にし、前記複数の選択メモリセルの各々に対して複数ビットのデータの読み出し又は書き込みを行うときは、１つのデータラッチ回路を選択し、前記複数の選択メモリセルの各々に対して１ビットのデータの読み出し又は書き込みを行うときは、１つの組内のｍ個のデータラッチ回路を選択する手段と、選択された１つ又はｍ個のデータラッチ回路とデータのやりとりをするデータ入出力端子とを具備することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記手段は、前記複数の選択メモリセルの各々に対してｍビットのデータの読み出し又は書き込みを行うときに１つのデータラッチ回路を選択することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
読み出し時、前記複数の選択メモリセルのデータを前記複数のデータラッチ回路に同時にラッチさせた後、前記複数のデータラッチ回路を１つ又はｍ個ずつ順次選択していく手段を具備することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
書き込み時、前記複数のデータラッチ回路を１つ又はｍ個ずつ順次選択して前記複数のデータラッチ回路にデータをラッチさせた後、前記複数のデータラッチ回路のデータを前記複数の選択メモリセルに同時に書き込む手段を具備することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項５】
前記複数のデータラッチ回路の各々は、少なくとも１本のビット線に接続され、かつ、１ビットデータをラッチできるサブデータ回路をｍ個有していることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項６】
読み出し又は書き込み時、前記複数のデータラッチ回路の各々は、１本のビット線に電気的に接続されることを特徴とする請求項５記載の不揮発性半導体記憶装置。
【請求項７】
前記メモリセルアレイのカラム方向の一端に隣接して前記複数のデータラッチ回路が配置され、かつ、前記メモリセルアレイのカラム方向の他端に隣接して前記複数のデータラッチ回路と同様の構成を有する複数のデータラッチ回路が配置されていることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項８】
前記複数の選択メモリセルの一部に対して複数ビットのデータの読み出し又は書き込みを行い、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行う場合において、
前記手段は、前記複数の選択メモリセルの一部に対して複数ビットのデータの読み出し又は書き込みを行うときに、１つのデータラッチ回路を選択し、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときに、１つの組内のｍ個のデータラッチ回路を選択することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項９】
前記複数の選択メモリセルの一部は、通常ビットを記憶するメインエリアに存在し、前記複数の選択メモリセルの他の一部は、冗長ビットを記憶するスペアエリアに存在することを特徴とする請求項８記載の不揮発性半導体記憶装置。
【請求項１０】
前記メモリセルアレイは、リダンダンシイエリアを有し、前記複数の選択メモリセルの一部を前記リダンダンシイエリアのメモリセルに置き換える場合には、前記リダンダンシイエリアのメモリセルに対して複数ビットのデータの読み出し又は書き込みを行い、前記複数の選択メモリセルの他の一部を前記リダンダンシイエリアのメモリセルに置き換える場合には、前記リダンダンシイエリアのメモリセルに対して１ビットのデータの読み出し又は書き込みを行うことを特徴とする請求項８記載の不揮発性半導体記憶装置。
【請求項１１】
前記ｍが２の場合、前記複数のデータラッチ回路は、第１、第２及び第３のデータ線によりデータ入出力バッファに接続され、前記複数の選択メモリセルの一部に対して２ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第２のデータ線又は前記第１及び第３のデータ線が使用され、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときは、前記第２及び第３のデータ線が使用されることを特徴とする請求項８記載の不揮発性半導体記憶装置。
【請求項１２】
前記複数のデータラッチ回路の各々は、１ビットデータをラッチできるサブデータ回路を２つ備え、前記第１のデータ線は、前記複数のデータラッチ回路の一方のサブデータ回路に接続され、前記第２のデータ線は、所定数のデータラッチ回路の他方のサブデータ回路に接続され、前記第３のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の他方のサブデータ回路に接続されることを特徴とする請求項１１記載の不揮発性半導体記憶装置。
【請求項１３】
前記ｍが２の場合、前記複数のデータラッチ回路は、第１乃至第４のデータ線によりデータ入出力バッファに接続され、前記複数の選択メモリセルの一部に対して２ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第２のデータ線又は前記第３及び第４のデータ線が使用され、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第３のデータ線又は前記第２及び第４のデータ線が使用されることを特徴とする請求項８記載の不揮発性半導体記憶装置。
【請求項１４】
前記複数のデータラッチ回路の各々は、１ビットデータをラッチできるサブデータ回路を２つ備え、前記第１のデータ線は、所定数のデータラッチ回路の一方のサブデータ回路に接続され、前記第２のデータ線は、前記所定数のデータラッチ回路の他方のサブデータ回路に接続され、前記第３のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の一方のサブデータ回路に接続され、前記第４のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の他方のサブデータ回路に接続されることを特徴とする請求項１３記載の不揮発性半導体記憶装置。
【請求項１５】
第１サイドに配置される第１サブデータ回路及び第２サイドに配置される第２サブデータ回路を有する第１データラッチ回路と、
前記第１データラッチ回路に接続される第１及び第２ビット線と、
前記第１サイドに配置される第３サブデータ回路及び前記第２サイドに配置される第４サブデータ回路を有する第２データラッチ回路と、
前記第２データラッチ回路に接続される第３及び第４ビット線と、
前記第１及び第３サブデータ回路に接続される第１データ線と、
前記第２サブデータ回路に接続される第２データ線と、
前記第４サブデータ回路に接続される第３データ線と
を具備し、
複数ビットデータがメモリセルに記憶されるときは、前記第１及び第２サブデータ回路又は前記第３及び第４サブデータ回路に前記複数ビットデータをラッチし、１ビットデータが前記メモリセルに記憶されるときは、前記第２及び第４サブデータ回路に前記１ビットデータをラッチし、前記第１及び第３サブデータ回路に前記１ビットデータをラッチしないことを特徴とする不揮発性半導体記憶装置。
【請求項１６】
前記第１及び第２データラッチ回路がメインエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記複数ビットデータを記憶することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項１７】
前記第１及び第２データラッチ回路がスペアエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記１ビットデータを記憶することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項１８】
前記第１及び第２データラッチ回路がリダンダンシイエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記１ビットデータ又は前記複数ビットデータを記憶することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項１９】
前記複数ビットデータが前記メモリセルに記憶されるときは、前記第１及び第２データ線は、前記複数ビットデータを転送することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項２０】
前記複数ビットデータが前記メモリセルに記憶されるときは、前記第１及び第３データ線は、前記複数ビットデータを転送することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項２１】
前記１ビットデータが前記メモリセルに記憶されるときは、前記第２及び第３データ線は、前記１ビットデータを転送することを特徴とする請求項１５記載の不揮発性半導体記憶装置。
【請求項２２】
第１サイドに配置される第１サブデータ回路及び第２サイドに配置される第２サブデータ回路を有する第１データラッチ回路と、
前記第１データラッチ回路に接続される第１及び第２ビット線と、
前記第１サイドに配置される第３サブデータ回路及び前記第２サイドに配置される第４サブデータ回路を有する第２データラッチ回路と、
前記第２データラッチ回路に接続される第３及び第４ビット線と、
前記第１サブデータ回路に接続される第１データ線と、
前記第２サブデータ回路に接続される第２データ線と、
前記第３サブデータ回路に接続される第３データ線と、
前記第４サブデータ回路に接続される第４データ線と
を具備し、
複数ビットデータがメモリセルに記憶されるときは、前記第１及び第２サブデータ回路又は前記第３及び第４サブデータ回路に前記複数ビットデータをラッチし、１ビットデータが前記メモリセルに記憶されるときは、前記第２及び第４サブデータ回路に前記１ビットデータをラッチし、前記第１及び第３サブデータ回路に前記１ビットデータをラッチしないことを特徴とする不揮発性半導体記憶装置。
【請求項２３】
前記第１及び第２データラッチ回路がメインエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記複数ビットデータを記憶することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【請求項２４】
前記第１及び第２データラッチ回路がスペアエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記１ビットデータを記憶することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【請求項２５】
前記第１及び第２データラッチ回路がリダンダンシイエリア内のメモリセルに対応して設けられている場合、前記メモリセルは、前記１ビットデータ又は前記複数ビットデータを記憶することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【請求項２６】
前記複数ビットデータが前記メモリセルに記憶されるときは、前記第１及び第２データ線は、前記複数ビットデータを転送することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【請求項２７】
前記複数ビットデータが前記メモリセルに記憶されるときは、前記第３及び第４データ線は、前記複数ビットデータを転送することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【請求項２８】
前記１ビットデータが前記メモリセルに記憶されるときは、前記第１及び第２データ線のうちの１つ、並びに、前記第３及び第４データ線のうちの１つは、前記１ビットデータを転送することを特徴とする請求項２２記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性半導体記憶装置に関し、特に、１つのメモリセルに２ビット（４値）以上の多ビットのデータを記憶できる多値記憶方式を有するＥＥＰＲＯＭに使用される。
【０００２】
【従来の技術】
不揮発性半導体記憶装置の１つであるＥＥＰＲＯＭは、フローティングゲート電極（電荷蓄積層）とコントロールゲート電極を有し、メモリセルに記憶されるデータ値は、フローティングゲート電極中の電荷量によって決定される。
【０００３】
通常、１つのメモリセルには、１ビット（２値）のデータ“０”，“１”が記憶されるが、近年では、大きな記憶容量の実現のため、１つのメモリセルに２ビット（４値）以上の多ビットのデータを記憶できる多値記憶方式のＥＥＰＲＯＭも開発されている。
【０００４】
図３３は、４値記憶方式のＮＡＮＤ型フラッシュＥＥＰＲＯＭの主要部を示すものである。
【０００５】
なお、このＥＥＰＲＯＭは、特願平９−１２４４９３号（平成９年５月１４日出願）から引用したものである。
【０００６】
メモリセルアレイ１は、マトリクス状に配置された複数のメモリセルを有し、これらメモリセルは、電気的にデータの書き換えが可能なように構成されている。また、メモリセルアレイ１内には、複数のワード線（コントロールゲート電極）、複数のビット線、及び、複数（又は全て）のメモリセルのソースに共通に接続される共通ソース線が配置されている。
【０００７】
また、メモリセルアレイ１に近接して、ビット線の電位の制御などを行うビット線制御回路２とワード線の電位の制御などを行うワード線制御回路６が配置されている。
【０００８】
ビット線制御回路２は、例えば、読み出し時に、メモリセルアレイ１中のメモリセルのデータをビット線を経由してチップ外部に出力するため、また、ベリファイ時に、メモリセルアレイ１中のメモリセルの状態を検出するため、また、書き込み時に、メモリセルアレイ１中のメモリセルに書き込み制御電圧を印加するために設けられている。
【０００９】
ビット線制御回路２は、メモリセルアレイ１の１ページ分のデータを保持できる複数のデータラッチ回路を含み、複数回の読み出し動作で、１ページ分のデータは、同時に、複数のデータラッチ回路に保持される。読み出し時、カラムデコーダ３は、複数のデータラッチ回路を１つずつ順番に選択するため、複数のデータラッチ回路に保持された１ページ分のデータは、データ入出力バッファ４を経由し、データ入出力端子５からチップの外部にシリアルに出力される。
【００１０】
また、書き込み時、カラムデコーダ３は、複数のデータラッチ回路を１つずつ順番に選択するため、１ページ分のデータは、チップの外部から内部にシリアルに入力され、ビット線制御回路２の複数のデータラッチ回路に保持される。複数のデータラッチ回路に保持された１ページ分のデータは、同時にメモリセルアレイ１中の複数のメモリセルに書き込まれる。
【００１１】
なお、×ｎ構成のメモリの場合には、このような処理がｎ個のブロックで同時に行われる。
【００１２】
ワード線制御回路６は、メモリセルアレイ１中の複数のワード線のうちの１本を選択し、この選択された１本のワード線（選択ワード線）及びその他のワード線（非選択ワード線）に、それぞれ読み出し、書き込み、消去の各モードに応じた所定の電位を印加する。
【００１３】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４及びワード線制御回路６は、制御信号及び制御電圧発生回路７によって制御される。
【００１４】
上記構成を有する４値記憶方式を有するＮＡＮＤ型フラッシュＥＥＰＲＯＭにおいて、メモリセルに記憶されるデータ値は、浮遊ゲート電極中の電荷量によって決定される。
【００１５】
具体的には、フローティングゲート電極中の電荷量が零の状態を中性状態とし、フローティングゲート電極が中性状態よりも正の電荷を蓄えた状態を消去状態とする。また、消去状態をデータ“０”に対応させる。例えば、消去動作は、基板に高電位（約２０Ｖ）を印加し、コントロールゲート電極を接地電位（０Ｖ）にすれば、実行することができる。
【００１６】
書き込み状態は、フローティングゲート電極が中性状態よりも負の電荷を蓄えた状態とし、データ“１”，“２”，“３”に対応させる。但し、データ“２”の状態のフローティングゲート電極中の電荷量は、データ“１”の状態のフローティングゲート電極中の電荷量よりも多く、データ“３”の状態のフローティングゲート電極中の電荷量は、データ“２”の状態のフローティングゲート電極中の電荷量よりも多くなるように設定されている。
【００１７】
例えば、書き込み動作は、基板、ソース、ドレインをそれぞれ接地電位（０Ｖ）にし、コントロールゲート電極に高電位（約２０Ｖ）を印加すれば、実行することができる。
【００１８】
【発明が解決しようとする課題】
多値記憶方式を有するＥＥＰＲＯＭのメモリセルの構造は、通常のＥＥＰＲＯＭのメモリセルの構造と実質的に同じであるから、１つのメモリセルに記憶できるデータ量が多い多値記憶方式を有するＥＥＰＲＯＭは、１つのメモリセルに１ビットのデータを記憶する通常のＥＥＰＲＯＭに比べて、当然に、データの記憶容量を増大させることができる。
【００１９】
しかし、一般に、１つのメモリセルに２ビット以上のデータを記憶させる場合には、１つのメモリセルに１ビットのデータを記憶させる場合に比べ、書き換え回数が増えるに従い、データの信頼性が低くなる。
【００２０】
よって、ユーザ側としては、使用目的に応じて、メモリセルアレイ中のメモリセルに対し、１ビット（２値）のデータを記憶させたり、又は２ビット（４値）以上のデータを記憶させたりできれば、非常に便利である。
【００２１】
また、ＮＡＮＤ型フラッシュＥＥＰＲＯＭでは、メモリセルアレイが、メインエリア、冗長ビットを記憶するスペアエリア、及び、メインエリア又はスペアエリアの不良ビットを救済するリダンダンシイエリアから構成されている。
【００２２】
ここで、メインエリア及びリダンダンシイエリアについては、記憶容量の増大のために１つのメモリセルに２ビット（４値）以上のデータを記憶させ、スペアエリアについては、書き換え回数が多くなっても信頼性を低下させないために１つのメモリセルに１ビット（２値）のデータを記憶させたいという要求がある。
【００２３】
本発明は、上記課題を解決すべくなされたもので、その目的は、１つのメモリセルアレイに記憶させるデータを、２ビット（４値）以上の多ビット（多値）にしたり、又は１ビット（２値）にしたりできるような切り替え機能を有する不揮発性半導体記憶装置を提供することである。
【００２４】
【課題を解決するための手段】
上記目的を達成するため、本発明の不揮発性半導体記憶装置は、読み出し又は書き込みを行う複数の選択メモリセルを含むメモリセルアレイと、前記複数の選択メモリセルに対応して設けられる複数のデータラッチ回路と、前記複数のデータラッチ回路をｍ（２以上の自然数）個ずつ組にし、前記複数の選択メモリセルの各々に対して複数ビットのデータの読み出し又は書き込みを行うときは、１つのデータラッチ回路を選択し、前記複数の選択メモリセルの各々に対して１ビットのデータの読み出し又は書き込みを行うときは、１つの組内のｍ個のデータラッチ回路を選択する手段と、選択された１つ又はｍ個のデータラッチ回路とデータのやりとりをするデータ入出力端子とを備える。
【００２５】
前記手段は、前記複数の選択メモリセルの各々に対してｍビットのデータの読み出し又は書き込みを行うときに１つのデータラッチ回路を選択する。
【００２６】
本発明の不揮発性半導体記憶装置は、さらに、読み出し時、前記複数の選択メモリセルのデータを前記複数のデータラッチ回路に同時にラッチさせた後、前記複数のデータラッチ回路を１つ又はｍ個ずつ順次選択していく手段を備える。
【００２７】
本発明の不揮発性半導体記憶装置は、さらに、書き込み時、前記複数のデータラッチ回路を１つ又はｍ個ずつ順次選択して前記複数のデータラッチ回路にデータをラッチさせた後、前記複数のデータラッチ回路のデータを前記複数の選択メモリセルに同時に書き込む手段を備える。
【００２８】
前記複数のデータラッチ回路の各々は、少なくとも１本のビット線に接続され、かつ、１ビットデータをラッチできるサブデータ回路をｍ個有している。
【００２９】
読み出し又は書き込み時、前記複数のデータラッチ回路の各々は、１本のビット線に電気的に接続される。
【００３０】
前記メモリセルアレイのカラム方向の一端に隣接して前記複数のデータラッチ回路が配置され、かつ、前記メモリセルアレイのカラム方向の他端に隣接して前記複数のデータラッチ回路と同様の構成を有する複数のデータラッチ回路が配置される。
【００３１】
前記複数の選択メモリセルの一部に対して複数ビットのデータの読み出し又は書き込みを行い、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行う場合において、前記手段は、前記複数の選択メモリセルの一部に対して複数ビットのデータの読み出し又は書き込みを行うときに、１つのデータラッチ回路を選択し、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときに、１つの組内のｍ個のデータラッチ回路を選択する。
【００３２】
前記複数の選択メモリセルの一部は、通常ビットを記憶するメインエリアに存在し、前記複数の選択メモリセルの他の一部は、冗長ビットを記憶するスペアエリアに存在する。
【００３３】
前記メモリセルアレイは、リダンダンシイエリアを有し、前記複数の選択メモリセルの一部を前記リダンダンシイエリアのメモリセルに置き換える場合には、前記リダンダンシイエリアのメモリセルに対して複数ビットのデータの読み出し又は書き込みを行い、前記複数の選択メモリセルの他の一部を前記リダンダンシイエリアのメモリセルに置き換える場合には、前記リダンダンシイエリアのメモリセルに対して１ビットのデータの読み出し又は書き込みを行う。
【００３４】
前記ｍが２の場合、前記複数のデータラッチ回路は、第１、第２及び第３のデータ線によりデータ入出力バッファに接続され、前記複数の選択メモリセルの一部に対して２ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第２のデータ線又は前記第１及び第３のデータ線が使用され、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときは、前記第２及び第３のデータ線が使用される。
【００３５】
前記複数のデータラッチ回路の各々は、１ビットデータをラッチできるサブデータ回路を２つ備え、前記第１のデータ線は、前記複数のデータラッチ回路の一方のサブデータ回路に接続され、前記第２のデータ線は、所定数のデータラッチ回路の他方のサブデータ回路に接続され、前記第３のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の他方のサブデータ回路に接続される。
【００３６】
前記ｍが２の場合、前記複数のデータラッチ回路は、第１乃至第４のデータ線によりデータ入出力バッファに接続され、前記複数の選択メモリセルの一部に対して２ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第２のデータ線又は前記第３及び第４のデータ線が使用され、前記複数の選択メモリセルの他の一部に対して１ビットのデータの読み出し又は書き込みを行うときは、前記第１及び第３のデータ線又は前記第２及び第４のデータ線が使用される。
【００３７】
前記複数のデータラッチ回路の各々は、１ビットデータをラッチできるサブデータ回路を２つ備え、前記第１のデータ線は、所定数のデータラッチ回路の一方のサブデータ回路に接続され、前記第２のデータ線は、前記所定数のデータラッチ回路の他方のサブデータ回路に接続され、前記第３のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の一方のサブデータ回路に接続され、前記第４のデータ線は、前記所定数のデータラッチ回路を除いたデータラッチ回路の他方のサブデータ回路に接続される。
【００３８】
本発明の不揮発性半導体記憶装置は、１つのメモリセルに複数ビットのデータが記憶されるもので、読み出し時に、前記１つのメモリセルに対するデータの読み出しを連続する複数の読み出し動作により達成する手段と、テスト時に、前記複数の読み出し動作を個別に実行して各動作が正常か否かを確認する手段とを備える。
【００３９】
本発明の不揮発性半導体記憶装置は、書き込み時に、メモリセルに対するデータの書き込みを、書き込み動作とベリファイ動作の繰り返しにより達成する手段と、全てのメモリセルのデータを常に“０”にするか又はベリファイの結果を示すフラグを強制的にフェイル状態にし、前記書き込み動作と前記ベリファイ動作を最大ループ回数まで繰り返し行うようにする手段とを備える。
【００４０】
本発明の不揮発性半導体記憶装置は、さらに、テスト時に、前記書き込み動作と前記ベリファイ動作を最大ループ回数まで繰り返し行い、ストレス試験を行う手段を備える。
【００４１】
【発明の実施の形態】
以下、図面を参照しながら、本発明の不揮発性半導体記憶装置について詳細に説明する。
【００４２】
［Ａ］  図１は、本発明の不揮発性半導体記憶装置の主要部を示している。図２は、図１の図番９で示す領域を詳細に示している。
【００４３】
メモリセルアレイ１は、マトリクス状に配置された複数のメモリセルＭを有し、これらメモリセルＭは、電気的にデータの書き換えが可能なように構成されている。また、メモリセルアレイ１内には、複数のワード線（コントロールゲート電極）ＷＬ、複数のビット線ＢＬ、及び、複数（又は全て）のメモリセルのソースに共通に接続される共通ソース線ＳＲＣが配置されている。
【００４４】
また、メモリセルアレイ１に近接して、ビット線ＢＬの電位の制御などを行うビット線制御回路２とワード線ＷＬの電位の制御などを行うワード線制御回路６が配置されている。
【００４５】
ビット線制御回路２は、例えば、読み出し時に、メモリセルアレイ１中のメモリセルのデータをビット線ＢＬを経由してチップ外部に出力するため、また、ベリファイ時に、メモリセルアレイ１中のメモリセルの状態を検出するため、また、書き込み時に、メモリセルアレイ１中のメモリセルに書き込み制御電圧を印加するために設けられている。
【００４６】
ビット線制御回路２は、メモリセルアレイ１の１ページ分のデータを保持できる複数のデータラッチ回路１０−１，…１０−ｍ，…を含み、１ページ分のデータは、複数のデータラッチ回路１０−１，…１０−ｍ，…に保持される。
【００４７】
ここで、本発明では、メモリセルＭが、１ビット（２値）のデータの他に、ｍビット（２ｍ  値）のデータも記憶できるように構成されている（ｍは、２以上の自然数）。
【００４８】
この場合、１つのデータラッチ回路１０−１は、ｍ個のサブデータ回路ＬＡＴＣＨを有し、かつ、少なくとも１本のビット線ＢＬに接続されている。また、ｍ個のデータラッチ回路１０−１，…１０−ｍが１つの組を構成しており、１つのメモリセルに１ビット（２値）のデータを記憶する場合には、データ入出力端子５と１つの組内のｍ個のデータラッチ回路１０−１，…１０−ｍの間で同時にデータの授受が行われる。一方、１つのメモリセルにｍビット（２ｍ  値）のデータを記憶する場合には、通常通り、データ入出力端子５と１つのデータラッチ回路１０−１の間でデータの授受が行われる。
【００４９】
読み出しの際、例えば、データラッチ回路１０−１は、１本のビット線に電気的に接続され、この１本のビット線に接続されるメモリセルから読み出されるデータをラッチする。また、書き込みの際も、データラッチ回路１０−１は、少なくとも１本のビット線に電気的に接続され、この１本のビット線に接続されるメモリセルに書き込むデータをラッチする。
【００５０】
ワード線制御回路６は、メモリセルアレイ１中の複数のワード線のうちの１本を選択し、この選択された１本のワード線（選択ワード線）及びその他のワード線（非選択ワード線）に、それぞれ読み出し、書き込み、消去の各モードに応じた所定の電位を印加する。
【００５１】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４及びワード線制御回路６は、制御信号及び制御電圧発生回路７によって制御される。
【００５２】
図３は、図２のメモリセルＭとセレクトトランジスタＳの構造を示すものである。
【００５３】
Ｐ型の半導体基板（あるいはＰウェル）１１の表面にＮ型の拡散層１２が形成され、一方がドレイン、他方がソースとなる。
【００５４】
メモリセルＭは、半導体基板１１上に絶縁膜１３を介して形成されるフローティングゲート電極１４とその上に絶縁膜（いわゆるＯＮＯ膜など）１５を介して形成されるコントロールゲート電極（ワード線）１６を有している。セレクトトランジスタＳは、半導体基板１１上に絶縁膜１７を介して形成されるセレクトゲート電極１８を有している。
【００５５】
メモリセルＭのコントロールゲート電極１６に閾値以上の電位を与えると、フローティングゲート電極１４の直下にチャネルが形成される。
【００５６】
例えば、コントロールゲート電極１６とフローティングゲート電極１４の間の容量が１ｆＦ、フローティングゲート電極１４とチャネルの間の容量が１ｆＦ、チャネルと基板の間の容量が０．２５ｆＦ、Ｎ型拡散層１２と基板１１の間の容量が０．２５ｆＦ（２つの拡散層の合計値）とすると、コントロールゲート電極１６とチャネル（又はＮ型拡散層１２）の容量結合比は、約５０％である。チャネル及びＮ型拡散層１２がフローティング状態のとき、コントロールゲート電極１６が１Ｖ上昇すると、チャネル又はＮ型拡散層１２の電位は、０．５Ｖ上昇する。
【００５７】
図４は、図２に示されるＮＡＮＤセルユニットの構造を示している。
【００５８】
ＮＡＮＤセル列は、直列接続された複数（例えば４つ）のメモリセルＭから構成される。ＮＡＮＤセル列の一端は、セレクトトランジスタＳを経由して共通ソース線ＳＲＣに接続され、他端は、セレクトトランジスタＳを経由してビット線ＢＬに接続される。
【００５９】
［Ｂ］  図５は、本発明の第１実施の形態に関わる４値記憶方式のＮＡＮＤ型フラッシュＥＥＰＲＯＭの主要部を示している。図６及び図７は、図５のメモリセルアレイの一部とビット線制御回路の一部を詳細に示している。
【００６０】
メモリセルアレイ１は、複数のＮＡＮＤセルユニットを有している。ＮＡＮＤセルユニットは、例えば、直列接続された１６個のメモリセルＭからなるＮＡＮＤ列と、その両端に接続されるセレクトトランジスタＳとから構成されている。ＮＡＮＤセルユニットの一端は、共通ソース線ＳＲＣに接続され、他端は、ビット線ＢＬ０，ＢＬ１，…に接続されている。
【００６１】
また、メモリセルアレイ１は、複数のブロックから構成され、１つのブロックは、ロウ方向の４２２４個のＮＡＮＤセルユニットを含んでいる。１ページは、同時に読み出し又は書き込みを行えるデータの単位を意味している。なお、同時に読み出し又は書き込みされるデータは、複数のデータラッチ回路１０−０，１０−１，…にラッチされる。
【００６２】
メモリセルアレイ１は、メインエリア、スペアエリア及びリダンダンシイエリアから構成されている。メインエリアには、通常のデータが記憶されるため、メインエリアにおいては、記憶容量を増大すべく、メモリセルＭには４値のデータを記憶するのがよい。
【００６３】
スペアエリアには、冗長ビットが記憶されるため、スペアエリアにおいては、書き込み回数が増えても高い信頼性を確保すべく、メモリセルＭには、２値のデータを記憶するのがよい。リダンダンシイエリアは、メインエリア又はスペアエリアの不良ビットを救済するために設けられるものであるため、メモリセルＭには２値又は４値のデータが記憶される。
【００６４】
メモリセルアレイ１内には、複数のワード線（コントロールゲート電極）ＷＬ１〜ＷＬ１６、複数のビット線ＢＬ０，ＢＬ１，…、及び、複数（又は全て）のメモリセルのソースに共通に接続される共通ソース線ＳＲＣが配置されている。
【００６５】
また、メモリセルアレイ１に近接して、ビット線ＢＬ０，ＢＬ１，…の電位の制御などを行うビット線制御回路２とワード線ＷＬ１〜ＷＬ１６の電位の制御などを行うワード線制御回路６が配置されている。
【００６６】
ビット線制御回路２は、例えば、読み出し時に、メモリセルアレイ１中のメモリセルＭのデータをビット線ＢＬ０，ＢＬ１，…を経由してチップ外部に出力するため、また、ベリファイ時に、メモリセルアレイ１中のメモリセルＭの状態を検出するため、また、書き込み時に、メモリセルアレイ１中のメモリセルＭに書き込み制御電圧を印加するために設けられている。
【００６７】
本例では、ビット線制御回路２は、メモリセルアレイ１を挟むように、メモリセルアレイ１のカラム方向の両端にそれぞれ配置されている。ビット線制御回路２は、それぞれ１ページ分のデータを保持できる複数のデータラッチ回路１０−０，１０−１，…１０−ｉ，…を含み、１ページ分のデータは、複数のデータラッチ回路１０−０，１０−１，…１０−ｉ，…に保持される。
【００６８】
ビット線制御回路２は、メモリセルアレイ１のカラム方向の両端に配置されているため、データラッチ回路を配置する領域のロウ方向の幅を大きくすることができる。メモリセルアレイ１の両端の２つのビット線制御回路２のうちのいずれにデータをラッチするかは、例えば、最下位アドレスＡ０により決定することができる。
【００６９】
また、メモリセルＭは、１ビット（２値）のデータの他に、２ビット（４値）のデータも記憶する。この場合、１つのデータラッチ回路１０−０は、２個のサブデータ回路ＬＡＴＣＨ１，ＬＡＴＣＨ２を有し、かつ、２本のビット線ＢＬ０，ＢＬ１に接続されている。
【００７０】
また、各ビット線制御回路２においては、例えば、互いに隣接する２つのデータラッチ回路が１つの組になっており、１つのメモリセルに１ビット（２値）のデータを記憶する場合には、書き込み時及び読み出し時において、データ入出力端子５と１つの組内の２個のデータラッチ回路の間で同時にデータの授受が行われる。
【００７１】
一方、１つのメモリセルに２ビット（４値）のデータを記憶する場合には、通常通り、書き込み時及び読み出し時において、データ入出力端子５と１つのデータラッチ回路の間でデータの授受が行われる。
【００７２】
書き込み及び読み出しの際、１つのデータラッチ回路１０−ｉに接続される２本のビット線のうちの所定の１本のビット線が選択され、その選択されたビット線に繋がるメモリセルに対して書き込み又は読み出しが実行される。
【００７３】
ビット線制御回路２とデータ入出力バッファ４を結ぶデータ線は、３本存在する（ＩＯＢ１〜ＩＯＢ３，ＩＯＴ１〜ＩＯＴ３）。また、データ入出力端子５は、２本存在し、１ビット（２値）又は２ビット（４値）のデータは、この２本のデータ入出力端子５から入出力される。
【００７４】
メモリセルアレイ１のメインエリアにおいて、ビット線制御回路２のデータラッチ回路１０−０，１０−１，…とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５，ＹＢｂ０〜ＹＢｂ１５，ＹＢｔ０〜ＹＢｔ１５により制御される。
【００７５】
また、メモリセルアレイ１のスペアエリアにおいて、ビット線制御回路２のデータラッチ回路とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＹＡＲｂ０〜ＹＡＲｂ１５，ＹＡＲｔ０〜ＹＡＲｔ１５，ＹＲＢ，ＹＲｔにより制御される。
【００７６】
また、メモリセルアレイ１のリダンダンシイエリアにおいて、ビット線制御回路２のデータラッチ回路とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＣＲ０ｙ〜ＣＲ７ｙにより制御される。
【００７７】
ワード線制御回路６は、メモリセルアレイ１中の複数のワード線のうちの１本を選択し、この選択された１本のワード線（選択ワード線）及びその他のワード線（非選択ワード線）に、それぞれ読み出し、書き込み、消去の各モードに応じた所定の電位を印加する。
【００７８】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４及びワード線制御回路６は、制御信号及び制御電圧発生回路７によって制御される。
【００７９】
なお、図５の一点破線９で囲った部分をユニットとし、１チップ内には、１ユニット又は複数ユニットが配置される。
【００８０】
上記構成を有するＮＡＮＤ型フラッシュＥＥＰＲＯＭによれば、１つのメモリセルＭに対して、１ビット（２値）及び２ビット（４値）のいずれのデータも読み出し又は書き込みができるように、３本のデータ線ＩＯＢ１〜ＩＯＢ３，ＩＯＴ１〜ＩＯＴ３を設けている。
【００８１】
即ち、データラッチ回路の一方のサブデータ回路ＬＡＴＣＨ２にデータ線ＩＯＢ１（ＩＯＴ１）を接続し、所定数（一個おき）のデータラッチ回路１０−０，…の他方のサブデータ回路ＬＡＴＣＨ１にデータ線ＩＯＢ３（ＩＯＴ３）を接続し、所定数のデータラッチ回路を除いたデータラッチ回路１０−１，…の他方のサブデータ回路ＬＡＴＣＨ１にデータ線ＩＯＢ２（ＩＯＴ２）を接続する。
【００８２】
これにより、例えば、１ビット（２値）記憶のときは、隣接する２つのデータラッチ回路の他方のサブデータ回路ＬＡＴＣＨ１とデータ線ＩＯＢ２，ＩＯＢ３を用いる。また、２ビット（４値）記憶のときは、１つのデータラッチ回路の双方のサブデータ回路ＬＡＴＣＨ１，ＬＡＴＣＨ２と、データ線ＩＯＢ１，ＩＯＢ２又はデータ線ＩＯＢ１，ＩＯＢ３を用いる。
【００８３】
なお、データ線ＩＯＢ１〜ＩＯＢ３を用いるか又はデータ線ＩＯＴ１〜ＩＯＴ３を用いるかは、例えば、最下位アドレスＡ０により決定できる。
【００８４】
また、互いに隣接する２つのデータラッチ回路が１つの組になっており、１つのメモリセルに１ビット（２値）のデータを記憶する場合には、書き込み時及び読み出し時において、データ入出力端子５と１つの組内の２個のデータラッチ回路の間で同時にデータの授受を行う。
【００８５】
一方、１つのメモリセルに２ビット（４値）のデータを記憶する場合には、通常通り、書き込み時及び読み出し時において、データ入出力端子５と１つのデータラッチ回路の間でデータの授受を行う。
【００８６】
このような動作は、カラムデコーダ３から出力される選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５，ＹＢｂ０〜ＹＢｂ１５，ＹＢｔ０〜ＹＢｔ１５，ＹＡＲｂ０〜ＹＡＲｂ１５，ＹＡＲｔ０〜ＹＡＲｔ１５，ＹＲＢ，ＹＲｔ，ＣＲ０ｙ〜ＣＲ７ｙにより制御することができる。
【００８７】
このように、本発明では、１つのメモリセルに対して、２ビット（４値）以上のデータを記憶させたり、又は１ビット（２値）のデータを記憶させたりすることができる。
【００８８】
図８は、図６又は図７に示すデータラッチ回路の構成の一例を示している。図９乃至図１１は、図５のデータ入出力バッファにおけるデータの出力経路を示し、図１２乃至図１４は、図５のデータ入出力バッファにおけるデータの入力経路を示している。
【００８９】
以下、これら図８乃至図１４に基づいて、本発明の第１実施の形態に関わるＮＡＮＤ型フラッシュＥＥＰＲＯＭの動作について説明する。なお、メモリセルのデータとメモリセルの閾値の関係は、表１のように定義する。
【００９０】
【表１】
0003629144.tif 000002
【００９１】
（１）  読み出し動作（Ｎｏｒｍａｌ  Ｒｅａｄ）
図１５は、通常の読み出し動作のタイミングチャートを示している。
【００９２】
まず、チップ外部から与えられるアドレス信号により、データラッチ回路に接続されている２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの１本が指定され、この指定されたビット線がデータラッチ回路に繋がる。また、チップ外部から与えられる外部アドレス信号により、１本のワード線が選択され、例えば、図７中に示す１ページが選ばれる。即ち、読み出し動作は、１ページ内の複数のメモリセルに対して同時に行われる。
【００９３】
通常の読み出しは、以下の３回の動作（ＲＥＡＤ０１，ＲＥＡＤ１０，ＲＥＡＤ００）により達成される。
【００９４】
・  ＲＥＡＤ０１
選択ワード線を含むブロック（選択ブロック）内の全ての非選択ワード線は、約４．５Ｖ、選択ブロック内のセレクトゲート電極ＳＧＤは、約４．５Ｖに設定される。これにより、選択ブロック内の非選択メモリセルは、オン状態となる。選択ワード線は、約２．３Ｖに設定される。
【００９５】
この後、信号ＢＩＡＳが約１．６Ｖとなり、選択ビット線がプリチャージされる。また、選択ブロック内のセレクトゲート電極ＳＧＳに“Ｈ”レベルの電位が印加される。ここで、選択メモリセルのデータが“０”，“１”，“２”である場合、選択メモリセルがオン状態となり、選択ビット線の電荷が放電されるが、選択メモリセルのデータが“３”である場合、選択メモリセルがオフ状態となり、選択ビット線の電荷が放電されることはない。
【００９６】
そして、図８のデータラッチ回路の第２のサブデータ回路に与えられる信号ＰＲＳＴＢ２が“Ｌ”となることで、ノードＮｂｉが“Ｈ”となる。ここで、信号ＢＬＣ２が中間電位となり、選択ビット線の電荷が放電されていたら、ノードＮｂｉは“Ｌ”となるが、選択ビット線の電荷が残っている場合には、ノードＮｂｉは“Ｈ”のままとなる。
【００９７】
この動作においては、選択メモリセルのデータが“０”，“１”，“２”の場合、第２のサブデータ回路のノードＮｂｉに“Ｌ”（“１”データ）が記憶され、選択メモリセルのデータが“３”の場合、第２のサブデータ回路のノードＮｂｉに“Ｈ”（“０”データ）が記憶される。
【００９８】
・  ＲＥＡＤ１０
選択ブロック内の全ての非選択ワード線は、約４．５Ｖ、選択ブロック内のセレクトゲート電極ＳＧＤは、約４．５Ｖに設定される。これにより、選択ブロック内の非選択メモリセルは、オン状態となる。選択ワード線は、０Ｖに設定される。
【００９９】
この後、信号ＢＩＡＳが約１．６Ｖとなり、選択ビット線がプリチャージされる。また、選択ブロック内のセレクトゲート電極ＳＧＳに“Ｈ”レベルの電位が印加される。ここで、選択メモリセルのデータが“０”である場合、選択メモリセルがオン状態となり、選択ビット線の電荷が放電されるが、選択メモリセルのデータが“１”，“２”，“３”である場合、原則として、選択メモリセルがオフ状態となり、選択ビット線の電荷が放電されることはない。
【０１００】
但し、ＲＥＡＤ０１の動作で読み出した第２のサブデータ回路のノードＮｂｉが“Ｈ”の場合（選択メモリセルのデータが“３”のとき）には、信号ＶＲＦＹ２を“Ｈ”にし、選択ビット線の電荷を放電し、選択ビット線をＶＳＳ（０Ｖ）にする。
【０１０１】
そして、図８のデータラッチ回路の第１のサブデータ回路に与えられる信号ＰＲＳＴＢ１が“Ｌ”となることで、ノードＮｂｉが“Ｈ”となる。ここで、信号ＢＬＣ１が中間電位となり、選択ビット線の電荷が放電されていたら、ノードＮｂｉは“Ｌ”となるが、選択ビット線の電荷が残っている場合には、ノードＮｂｉは“Ｈ”のままとなる。
【０１０２】
この動作においては、選択メモリセルのデータが“０”，“３”の場合、第１のサブデータ回路のノードＮｂｉに“Ｌ”（“１”データ）が記憶され、選択メモリセルのデータが“１”，“２”の場合、第１のサブデータ回路のノードＮｂｉに“Ｈ”（“０”データ）が記憶される。
【０１０３】
・  ＲＥＡＤ００
選択ブロック内の全ての非選択ワード線は、約４．５Ｖ、選択ブロック内のセレクトゲート電極ＳＧＤは、約４．５Ｖに設定される。これにより、選択ブロック内の非選択メモリセルは、オン状態となる。選択ワード線は、約１．１Ｖに設定される。
【０１０４】
この後、信号ＢＩＡＳが約１．６Ｖとなり、選択ビット線がプリチャージされる。また、選択ブロック内のセレクトゲート電極ＳＧＳに“Ｈ”レベルの電位が印加される。ここで、選択メモリセルのデータが“０”，“１”である場合、選択メモリセルがオン状態となり、選択ビット線の電荷が放電されるが、選択メモリセルのデータが“２”，“３”である場合、選択メモリセルがオフ状態となり、選択ビット線の電荷が放電されることはない。
【０１０５】
そして、図８のデータラッチ回路の第２のサブデータ回路に与えられる信号ＰＲＳＴＢ２が“Ｌ”となることで、ノードＮｂｉが“Ｈ”となる。ここで、信号ＢＬＣ２が中間電位となり、選択ビット線の電荷が放電されていたら、ノードＮｂｉは“Ｌ”となるが、選択ビット線の電荷が残っている場合には、ノードＮｂｉは“Ｈ”のままとなる。
【０１０６】
この動作においては、選択メモリセルのデータが“０”，“１”の場合、第２のサブデータ回路のノードＮｂｉに“Ｌ”（“１”データ）が記憶され、選択メモリセルのデータが“２”，“３”の場合、第２のサブデータ回路のノードＮｂｉに“Ｈ”（“０”データ）が記憶される。
【０１０７】
このように、通常の読み出しにおいては、以上の３回の動作により、１ページ分のメモリセルのデータ（４値）がデータラッチ回路にラッチされる。
【０１０８】
表２は、メモリセルのデータとデータラッチ回路にラッチされるデータの関係を示している。
【０１０９】
なお、第１の読み出しサブデータとは、図８の第１のサブデータ回路にラッチされるデータのことであり、第２の読み出しサブデータとは、図８の第２のサブデータ回路にラッチされるデータのことである。
【０１１０】
【表２】
0003629144.tif 000003
【０１１１】
データラッチ回路にラッチされたデータは、カラムデコーダから出力される選択信号の制御の下、シリアルに入出力バッファに導かれ、かつ、入出力端子を経由してチップ外部に出力される。
【０１１２】
（２）  書き込み動作（Ｐｒｏｇｒａｍ）
まず、１ページ分の書き込みデータ（４値）をデータラッチ回路にラッチする。例えば、メモリセルにデータ“０”を書き込む場合、データラッチ回路の第１及び第２のサブデータ回路のノードＮａｉを共に“Ｌ”とし、第１及び第２のサブデータ回路のサブデータを共に“０”とする。
【０１１３】
また、メモリセルにデータ“１”を書き込む場合、データラッチ回路の第１のサブデータ回路のノードＮａｉを“Ｈ”とし、第２のサブデータ回路のノードＮａｉを“Ｌ”とし、第１のサブデータ回路のサブデータを“１”とし、第２のサブデータ回路のサブデータを“０”とする。
【０１１４】
また、メモリセルにデータ“２”を書き込む場合、データラッチ回路の第１及び第２のサブデータ回路のノードＮａｉを“Ｈ”とし、第１及び第２のサブデータ回路のサブデータを共に“１”とする。
【０１１５】
また、メモリセルにデータ“３”を書き込む場合、データラッチ回路の第１のサブデータ回路のノードＮａｉを“Ｌ”とし、第２のサブデータ回路のノードＮａｉを“Ｈ”とし、第１のサブデータ回路のサブデータを“０”とし、第２のサブデータ回路のサブデータを“１”とする。
【０１１６】
なお、カラムデコーダから出力される選択信号の制御の下、１ページ分の書き込みデータは、入出力バッファからデータラッチ回路へシリアルに導かれる。
【０１１７】
表３は、メモリセルに書き込むデータ（初期制御データ）とデータラッチ回路にラッチされるデータ（初期サブデータ）の関係を示している。
【０１１８】
【表３】
0003629144.tif 000004
【０１１９】
この後、図１６の書き込み動作のタイミングチャート及び図１８のプログラムアルゴリズムに従い、１ページ分のデータラッチ回路のデータがメモリセルに同時に書き込まれる。
【０１２０】
即ち、チップ外部から与えられるアドレス信号により、ＢＬＳＡ＝“Ｈ”、ＢＬＳＢ＝“Ｌ”、又は、ＢＬＳＡ＝“Ｌ”、ＢＬＳＢ＝“Ｈ”となるため、データラッチ回路に接続されている２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの１本が選択され、この選択されたビット線がデータラッチ回路に繋がる。
【０１２１】
選択されなかったビット線がＢＬｉの場合、ＰＲＥＡ＝“Ｈ”、ＶＢＬＡ＝“Ｈ”となるため、このビット線ＢＬｉには常に電位が与えられる。同様に、選択されなかったビット線がＢＬｉ＋１の場合、ＰＲＥＢ＝“Ｈ”、ＶＢＬＢ＝“Ｈ”となるため、このビット線ＢＬｉ＋１には常に電位が与えられる。
【０１２２】
また、信号ＢＬＣ２が、ＶＡＢＤ  −  ２Ｖｔｈ（約７Ｖ）になると、第２のサブデータ回路にラッチされているデータが、選択されたビット線に出力される。そして、表３に示すように、メモリセルに“０”又は“１”のデータを書き込むときは、第２のサブデータ回路のデータは“０”であるため、ビット線に正の電位が与えられる。また、メモリセルに“２”又は“３”のデータを書き込むときは、第２のサブデータ回路のデータは“１”であるため、ビット線の電位はＶＳＳとなる。
【０１２３】
また、選択ブロック内のセレクトゲート電極ＳＧＤにＶＳＧＰＲＯ（約２．４Ｖ）、非選択ワード線に所定の電位ＶＰＡＳＳ（選択ワード線に隣接する非選択ワード線にはＶＳＳ）が印加される。そして、選択ワード線に書き込み電位ＶＰＧＭが印加されると、ビット線の電位がＶＳＳであるメモリセルについては書き込みが行われ、ビット線に正の電位が与えられているメモリセルについては書き込みが行われない。
【０１２４】
この後、図８中の信号ＢＬＣ２が“Ｌ”となり、全てのワード線の電位がＶＳＳになると、１回目の書き込みが終了する。
【０１２５】
また、信号ＰＲＯ１０が“Ｈ”となる。第１及び第２のサブデータ回路のいずれか一方のデータが“１”である場合、ビット線の電位がＶＳＳになる。ビット線の電位がＶＳＳであるメモリセルについては、１回目の書き込みと同様にして２回目の書き込みが行われる。
【０１２６】
つまり、“３”書き込み又は“２”書き込みを行うメモリセルについては、続けて２回の書き込みが行われ、“１”書き込みを行うメモリセルについては、１回の書き込みが行われる。また、“０”書き込みを行う（書き込みを行わない）メモリセルについては、書き込みが行われない。
【０１２７】
そして、後述するプログラムベリファイにおいて書き込みＯＫと判断されるまで、上述の１回目及び２回目の書き込み動作が繰り返し実行される。なお、書き込みＯＫと判断されると、第１及び第２のサブデータ回路のデータは、共に、強制的に“０”に設定される。
【０１２８】
第１及び第２のサブデータ回路が共にデータ“０”となると、常にビット線に正の電位が与えられた状態となり、書き込みが行われなくなる。
【０１２９】
（３）  プログラムベリファイ動作（Ｐｒｏｇｒａｍ  Ｖｅｒｉｆｙ  Ｒｅａｄ）
プログラムベリファイ動作は、書き込み動作後、メモリセルに所定のデータがきちんと書き込まれたか否かを検証し、書き込みが不十分な場合に再書き込みを行う動作である。メモリセルの状態を検証し、メモリセルの閾値が所定値に達したと判断すると、第１及び第２のサブデータ回路にラッチされるデータを強制的に“０”にする。一方、メモリセルの閾値が所定値に達していない場合、第１及び第２のサブデータ回路にラッチされたデータの変更は行わない。
【０１３０】
図１７は、プログラムベリファイ動作のタイミングチャートと示し、図１８は、プログラムアルゴリズムを示している。
【０１３１】
まず、書き込み回数ＩＷＴが“０”に設定される（ステップＳＴ１）。データラッチ回路から１ページ分（４２２４ビット分）のデータがロードされる（ステップＳＴ２）。この後、上述した書き込み動作が実行される（ステップＳＴ３〜ＳＴ５）。
【０１３２】
また、書き込み動作が行われている最中に、ステップＳＴ２でロードしたデータに基づき、“３”，“２”，“１”書き込みを行うメモリセルが存在するか否かチェックする。
【０１３３】
“３”書き込みを行うメモリセルが存在する場合には、ＦＲ０１＝“Ｈ”に設定し、“３”書き込みを行うメモリセルが存在しない場合には、ＦＲ０１＝“Ｌ”に設定する。同様に、“２”書き込みを行うメモリセルが存在する場合には、ＦＲ００＝“Ｈ”に設定し、“２”書き込みを行うメモリセルが存在しない場合には、ＦＲ００＝“Ｌ”に設定する。“１”書き込みを行うメモリセルが存在する場合には、ＦＲ１０＝“Ｈ”に設定し、“１”書き込みを行うメモリセルが存在しない場合には、ＦＲ１０＝“Ｌ”に設定する（ステップＳＴ５）。
【０１３４】
そして、“３”書き込みを行うメモリセルが存在しない場合（ＦＲ０１＝“Ｌ”の場合）には、データ“３”の閾値に達したか否かのベリファイＶＥＲＹ０１は行われない（ステップＳＴ６）。
【０１３５】
また、“２”書き込みを行うメモリセルが存在しない場合（ＦＲ００＝“Ｌ”の場合）には、データ“２”の閾値に達したか否かのベリファイＶＥＲＹ００は行われない（ステップＳＴ９）。
【０１３６】
また、“１”書き込みを行うメモリセルが存在しない場合（ＦＲ１０＝“Ｌ”の場合）には、データ“１”の閾値に達したか否かのベリファイＶＥＲＹ１０は行われない（ステップＳＴ１２）。
【０１３７】
一方、“３”、“２”、“１”書き込みを行うメモリセルが存在する場合（ＦＲ０１，ＦＲ００，ＦＲ１０＝“Ｈ”の場合）には、データ“３”、“２”、“１”の閾値に達したか否かのベリファイＶＥＲＹ０１、ＶＥＲＹ００、ＶＥＲＹ１０が行われる（ステップＳＴ６，９，１２）。
【０１３８】
なお、各ベリファイＶＥＲＹ０１、ＶＥＲＹ００、ＶＥＲＹ１０を行う前に、上述の書き込み動作が９回程繰り返し実行される（ステップＳＴ７，１０，１３）。最初のうちは、メモリセルの書き込みが十分でないためである。
【０１３９】
また、ベリファイＶＥＲＹ００及びＶＥＲＹ１０のみを行う工程を５回程（ＩＷＴ１０〜１４）繰り返して行った後に、ベリファイＶＥＲＹ１０、ＶＥＲＹ００及びＶＥＲＹ１０を行う工程を行うようにする（ＩＷＴ１５〜４４）。書き込み回数ＩＷＴが４５回になると、書き込み異常と判断し、プログラムを終了させる（ステップＳＴ１６）。
【０１４０】
以下、各ベリファイ動作について詳細に説明する。
【０１４１】
・  ＶＥＲＹ０１
メモリセルがデータ“３”の閾値に達したか否かをベリファイする。
【０１４２】
動作は、読み出し動作時のＲＥＡＤ０１と同じであるが、選択ワード線に与える電位にマージンを持たせるため、選択ワード線には、約２．８Ｖを与える。ビット線にメモリセルのデータを読み出した後、図８において、ＶＲＦＹ２を約２．７Ｖ、ＶＲＥＧを“Ｈ（ＶＣＣ）”にし、第２のサブデータ回路にラッチされたデータが“０”である場合は、ビット線に電荷を与え、第２のサブデータ回路のデータが“０”となり得るようにする。
【０１４３】
第２のサブデータ回路にラッチされたデータが“１”であるときのみ、ビット線のデータを第２のサブデータ回路に読み込む。このため、メモリセルのデータが“３”の状態になっている場合、ビット線が“Ｈ”レベルであるため、第２のサブデータ回路のデータは“０”となる。
【０１４４】
つまり、表４に示すように、第１及び第２のサブデータ回路にラッチされたデータが共に“０”となるため、この後、書き込みは実行されない。
【０１４５】
メモリセルのデータが“３”となっていない場合は、ビット線が“Ｌ”であるため、第２のサブデータ回路のデータは“１”のままである。よって、表４に示すように、メモリセルに対するデータ“３”の書き込みが繰り返し行われる。
【０１４６】
なお、メモリセルに“２”のデータを書き込みを行う場合も、第２のサブデータ回路のデータは“１”であり、ビット線のデータを第２のサブデータ回路に読み込むことになる。しかし、直ちに“２”書き込みが終了した（ＩＷＴ１０〜１４の間）メモリセルについては、既に第２のサブデータは“０”であるため、問題はない。
【０１４７】
また、ＩＷＴ１０〜１４で、“２”書き込みが終了していないメモリセルは、書き込み速度が遅いものであるため、その閾値は、データ“３”の閾値よりも必ず低くなる。よって、メモリセルはオンし、ビット線が“Ｌ”となり、第２のサブデータ回路のデータは“１”のままとなる。
【０１４８】
【表４】
0003629144.tif 000005
【０１４９】
・  ＶＥＲＹ００
メモリセルがデータ“２”の閾値に達したか否かをベリファイする。
【０１５０】
動作は、ＶＥＲＹ０１と同じであるが、選択ワード線の電位を約１．５５Ｖとする。また、信号ＶＲＦＹ１をＶＣＣ、信号ＶＲＥＧを“Ｌ（ＶＳＳ）”に設定し、第１のサブデータ回路のデータが“０”であるとき、ビット線をＶＳＳにする。
【０１５１】
また、ＶＲＦＹ２を約２．７Ｖ、ＶＲＥＧを“Ｈ（ＶＣＣ）”に設定し、第２のサブデータ回路に“０”が記憶されている場合には、第２のサブデータ回路のデータを“０”のままにし、第２のサブデータ回路に“１”が記憶されている場合には、ビット線の電位を第２のサブデータ回路に入れる。
【０１５２】
メモリセルにデータ“２”を書き込みたい場合で、メモリセルのデータが“２”となっているときは、そのメモリセルに繋がるビット線の電位は“Ｈ”レベルになる。よって、第２のサブデータ回路のデータが“０”となり（第１のサブデータ回路のデータは“１”）、表４に示すように、メモリセルに対してデータ“１”を書き込む状態となる。
【０１５３】
一方、メモリセルのデータが“２”となっていないときは、第２のサブデータ回路のデータは“１”のままであるため、メモリセルに対してデータ“２”を書き込む状態が継続する。
【０１５４】
なお、“３”書き込みを行うメモリセルに対しては、ビット線をＶＳＳに設定することにより、データラッチ回路の状態の変化、即ち、第２のサブデータ回路のデータが“１”から“０”になることを防止する。
【０１５５】
・  ＶＥＲＹ１０
メモリセルがデータ“１”の閾値に達したか否かをベリファイする。
【０１５６】
動作は、ＶＥＲＹ００と同じであるが、選択ワード線の電位を約０．３５Ｖに設定する。また、信号ＶＲＦＹ３をＶＣＣ、信号ＶＲＥＧを“Ｌ（ＶＳＳ）”に設定し、第２のサブデータ回路のデータが“１”であるとき（“２”書き込み及び“３”書き込みのとき）は、ビット線をＶＳＳにする。
【０１５７】
この動作により、“２”書き込み及び“３”書き込みを行うメモリセルに対しては、データラッチ回路の状態の変化を防止できる。
【０１５８】
ＶＲＦＹ１を約２．７Ｖ、ＶＲＥＧを“Ｈ（ＶＣＣ）”に設定し、第１のサブデータ回路に“０”が記憶されている場合、第１のサブデータ回路のデータを“０”のままにし、第１のサブデータ回路に“１”が記憶されている場合、ビット線の電位を第１のサブデータ回路に入れる。
【０１５９】
メモリセルにデータ“１”を書き込みたい場合で、メモリセルのデータが“１”となっているときは、ビット線の電位は“Ｈ”レベルに設定されている。このため、第１のサブデータ回路のデータは“０”となり、表４に示すように、メモリセルに対するデータ“０”書き込みは行われなくなる。
【０１６０】
一方、メモリセルのデータが“１”となっていないときは、第１のサブデータ回路のデータは“１”となるため、メモリセルに対するデータ“１”書き込みが継続される。
【０１６１】
“２”書き込みを行うメモリセルに対しては、上述のように、ビット線をＶＳＳとするため、データラッチ回路の状態は変わらない。
【０１６２】
プログラムベリファイは、上述の動作により行われる。
【０１６３】
即ち、メモリセルに所定のデータ（所定の閾値）がきちんと書き込まれると、第１又は第２のサブデータ回路のデータを“０”（書き込みを行わないデータ）にする。メモリセルに所定のデータ（所定の閾値）がきちんと書き込まれていないときは、各サブデータ回路の状態は変えず、再度、書き込み（プログラム）を行う。
【０１６４】
また、全てのメモリセルに対して、データ“３”又は“１”の書き込みを行う場合には、“３”書き込みに対するデータベリファイのみ又は“１”書き込みに対するデータベリファイのみが行われる。
【０１６５】
しかし、全てのメモリセルに対しデータ“２”の書き込みしか行わないときは、“２”書き込みに対するデータベリファイと“１”書き込みに対するデータベリファイが行われる。なぜなら、“２”書き込みに対するデータベリファイ後は、データラッチ回路の状態が“１”書き込みの状態（第１のサブデータ回路が“１”、第２のサブデータ回路が“０”）になるからである。
【０１６６】
（４）  消去動作（Ｅｒａｓｅ）
消去動作は、ブロック単位で行う。また、データラッチ回路に接続されている２本のビット線ＢＬｉ，ＢＬｉ＋１について同時に行う。
【０１６７】
図１９は、消去動作のタイミングチャートを示している。
【０１６８】
外部アドレスにより、消去を実行するブロック（選択ブロック）が決定され、選択ブロック内の全てのワード線がＶＳＳとなり、消去を実行しないブロック（非選択ブロック）内の全てのワード線がフローティング状態となる。また、ＢＬＳＡ＝“Ｌ”、ＢＬＳＢ＝“Ｌ”、ＰＲＥＡ＝“Ｌ”、ＰＲＥＢ＝“Ｌ”であるため、全てのビット線がフローティング状態になる。
【０１６９】
ここで、メモリセルが形成されるウエルに消去電圧ＶＥＲＡ（約２０Ｖ）を印加すると、フローティングゲート電極に正の電荷が注入される消去動作が行われる。正常に消去動作が行われると、メモリセルのデータは“０”となる。
【０１７０】
（５）  イレーズベリファイ動作（Ａｕｔｏ  Ｅｒａｓｅ  Ｖｅｒｉｆｙ）
図２０は、イレーズベリファイ動作のタイミングチャートを示している。
【０１７１】
イレーズベリファイ動作では、最初の動作で、データラッチ回路に接続されている２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの一方についてベリファイリードを行い、この結果を第１のサブデータ回路にラッチする。また、次の動作で、データラッチ回路に接続されている２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの他方についてベリファイリードを行い、この結果を第２のサブデータ回路にラッチする。
【０１７２】
２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの一方に接続されるメモリセルの閾値が基準値（０Ｖ）以下と判断されると、第１のサブデータ回路には“０”データが入り（ベリファイＯＫ）、基準値（０Ｖ）以上と判断されると、第１のサブデータ回路には“１”データが入る（ベリファイＮＧ）。
【０１７３】
同様に、２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの他方に接続されるメモリセルの閾値が基準値（０Ｖ）以下と判断されると、第２のサブデータ回路には“０”データが入り（ベリファイＯＫ）、基準値（０Ｖ）以上と判断されると、第２のサブデータ回路には“１”データが入る（ベリファイＮＧ）。
【０１７４】
（６）  ２値−４値切り替え動作
多値記憶方式のＮＡＮＤ型フラッシュＥＥＰＲＯＭでは、例えば、図６に示すように、メモリセルアレイが、メインエリア、スペアエリア及びリダンダンシイエリアから構成されている。メインエリアには、通常ビットが記憶され、スペアエリアには、冗長ビットが記憶される。リダンダンシイエリアは、メインエリア又はスペアエリアの不良ビットを救済するために設けられる。
【０１７５】
本例では、メインエリアのメモリセルに対しては、記憶容量の増加のため、４値のデータを記憶させ、スペアエリアのメモリセルに対しては、書き換え回数が多くても信頼性を確保するため、２値のデータを記憶させる。
【０１７６】
表５及び表６は、メインエリアのメモリセル（４値／セル）に対する読み出し又は書き込み時におけるカラムデコーダの動作を示している。なお、表５及び表６は、スペアエリアに４値データを記憶させた場合の動作にも適用できる。
【０１７７】
【表５】
0003629144.tif 000006
【０１７８】
【表６】
0003629144.tif 000007
【０１７９】
メインエリアでは、１つのアドレス（例えば、Ａ１，Ａ２，…Ａ８＝“Ｌ，Ｌ，…Ｌ”）に対して、１つのデータラッチ回路が選択され（例えば、ＹＡｂ０＝“Ｈ”、ＹＢｂ０＝“Ｈ”、他は全て“Ｌ”）、１つのデータラッチ回路には、２ビット（４値）のデータがラッチされる。
【０１８０】
例えば、読み出し時、同時に読み出された１ページ分のデータは、メインエリアのデータラッチ回路にラッチされ、かつ、表５及び表６に示すように、アドレスＡ１〜Ａ８を変えることにより、チップ外部にシリアルに出力される。また、書き込み時、表５及び表６に示すように、アドレスＡ１〜Ａ８を変えることにより、データラッチ回路に１ページ分のデータを順次ラッチし、かつ、同時に１ページ分のデータをメモリセルに書き込む。
【０１８１】
表７は、スペアエリアのメモリセル（２値／セル）に対する読み出し又は書き込み時のカラムデコーダの動作を示している。なお、表７及び表８は、メインエリアのメモリセルに２値データを記憶させた場合の動作にも適用できる。
【０１８２】
【表７】
0003629144.tif 000008
【０１８３】
【表８】
0003629144.tif 000009
【０１８４】
スペアエリアでは、１つのデータラッチ回路には１ビット（２値）のデータが記憶されるため、１つのアドレス（例えば、Ａ１，Ａ２，Ａ３，Ａ４＝“Ｌ，Ｌ，Ｌ，Ｌ”）が決まると、２つのデータラッチ回路が選択される（例えば、ＹＡＲｂ０＝“Ｈ”、ＹＡＲｂ１＝“Ｈ”、ＹＲｂ＝“Ｈ”、他は全て“Ｌ”）。
【０１８５】
例えば、読み出し時、同時に読み出された１ページ分のデータは、スペアエリアのデータラッチ回路にラッチされ、かつ、表７に示すように、アドレスＡ１〜Ａ４を変えることにより、２ビット単位でチップ外部に出力される。また、書き込み動作時、表７に示すように、アドレスＡ１〜Ａ４を変えることにより、データラッチ回路に２ビット単位でデータが転送され、かつ、同時に１ページ分のデータがメモリセルに書き込まれる。
【０１８６】
なお、メインエリアのメモリセルに対して１ビット（２値）のデータを記憶させる場合には、表７及び表８に示すように、データ入出力バッファと２つのデータラッチ回路の間で同時に２ビット単位でデータの転送が行われる。この場合、メインエリアにおいて、１つのデータラッチ回路には１ビット（２値）のデータが記憶され、１つのアドレス（例えば、Ａ１，Ａ２，…Ａ８＝“Ｌ，Ｌ，…Ｌ”）が決まると、２つのデータラッチ回路が選択される（例えば、ＹＡｂ０＝“Ｈ”、ＹＡｂ１＝“Ｈ”、ＹＢｂ０＝“Ｈ”、他は全て“Ｌ”）。
【０１８７】
リダンダンシイエリアでは、メインエリアのメモリセルを置き換えるときは、メインエリアと同じ動きをし、スペアエリアのメモリセルを置き換えるときは、スペアエリアと同じ動きをする。
【０１８８】
但し、２値データが記憶されるスペアエリアのメモリセルを置き換えるときは、常に２つのデータラッチ回路を組にして使用するため、２つのデータラッチ回路ごとに置き換える。
【０１８９】
メインエリア、スペアエリア及びリダンダンシイエリアの複数のデータラッチ回路は、３本のデータ線ＩＯＢ１，ＩＯＢ２，ＩＯＢ３又は３本のデータ線ＩＯＴ１，ＩＯＴ２，ＩＯＴ３によりデータ入出力バッファに接続される。なお、アドレスＡ０により、データ線ＩＯＢ１，ＩＯＢ２，ＩＯＢ３及びデータ線ＩＯＴ１，ＩＯＴ２，ＩＯＴ３のいずれか一方が選択される。
【０１９０】
メインエリアの１つのデータラッチ回路から２ビット（４値）データを入出力する場合、例えば、２本のデータ線ＩＯＢ１，ＩＯＢ２、又は２本のデータ線ＩＯＢ１，ＩＯＢ３が用いられる。また、スペアエリアの２つのデータラッチ回路からそれぞれ１ビット（２値）データを入出力する場合、例えば、一方のデータラッチ回路のデータについてはデータ線ＩＯＢ２が用いられ、他方のデータラッチ回路のデータについてはデータ線ＩＯＢ３が用いられる。
【０１９１】
図９乃至図１１に示すように、データ線ＩＯＢ１，ＩＯＢ２，ＩＯＢ３，ＩＯＴ１，ＩＯＴ２，ＩＯＴ３は、データ入出力バッファに繋がり、例えば、２ビットのデータＰＤ０，ＰＤ１は、それぞれデータ入出力バッファから２つの入出力端子Ｉ／Ｏ０，Ｉ／Ｏ１に導かれる。
【０１９２】
次に、読み出し（リード）時、書き込み（プログラム）時、プログラムベリファイ時、イレーズベリファイ時の動作について説明する。
【０１９３】
以下、メインエリア、スペアエリア又はリダンダンシイエリアを４値／セルで使用する場合を４値モードとし、メインエリア、スペアエリア又はリダンダンシイエリアを２値／セルで使用する場合を２値モードとする。
【０１９４】
図９乃至図１１又は図１２乃至図１４において、信号Ｄｏｕｂｌｅは、４値モード時に“Ｌ”、２モードの時に“Ｈ”となる。
【０１９５】
読み出し動作を行うと、４値モードでは、メモリセルのデータ“０”、“１”、“２”、“３”に応じて“１１”、“０１”、“００”、“１０”（表２参照）がデータラッチ回路から出力される。
【０１９６】
次に、カラムアドレスが決まると、図２１及び図２２の回路により、外部アドレスＡ０ｘ〜Ａ８ｘをレジスタに読み込み、Ａ０〜Ａ８を決定する（表９参照）。
【０１９７】
【表９】
0003629144.tif 000010
【０１９８】
また、表５及び表６に基づいて、ＹＡｉ、ＹＢｉなどが決まり、１つのデータラッチ回路が選択される。図９乃至図１１の回路で、信号Ｄｏｕｂｌｅが“Ｌ”であるため、１つのデータラッチ回路の２ビット（４値）データは、データ線ＩＯＢ１〜ＩＯＢ３又はデータ線ＩＯＴ１〜ＩＯＴ３を経由して、信号ＰＤ０，ＰＤ１となり、出力段Ｉ／Ｏ０，Ｉ／Ｏ１から出力される。
【０１９９】
例えば、第２のサブデータ回路ＬＡＴＣＨ２のデータは、データ線ＩＯＢ１又はデータ線ＩＯＴ１を経由して信号ＰＤ１として出力される。第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＢ２、データ線ＩＯＢ３、データ線ＩＯＴ２又はデータ線ＩＯＴ３を経由して信号ＰＤ０として出力される。
【０２００】
なお、アドレスＡ１が“Ｌ”のとき、第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＢ２又はデータ線ＩＯＴ２を経由して信号ＰＤ０として出力され、アドレスＡ１が“Ｈ”のとき、第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＢ３又はデータ線ＩＯＴ３を経由して信号ＰＤ０として出力される。
【０２０１】
データ線ＩＯＢ１〜ＩＯＢ３側とデータ線ＩＯＴ１〜ＩＯＴ３側の選択は、アドレスＡ０で行う。アドレスを新たに入れずに、シリアルリードする場合は、表９に示すように、Ａ０を最下位として、Ａ１、Ａ２、Ａ３、…とインクリメントしていく。
【０２０２】
２値モードでは、メモリセルのデータが“０”、“１”に応じて、“１１”、“０１”が出力される。カラムアドレスが決まると、図２１及び図２２の回路により、外部アドレスＡ０ｘ〜Ａ７ｘをレジスタに読み込み、アドレスＡ０，Ａ２〜Ａ８を決定する（表９参照）。
【０２０３】
また、表７及び表８に基づいて、ＹＡｉ，ＹＢｉなどが決まり、２つのデータラッチ回路が選択される。図９乃至図１１の回路で、信号Ｄｏｕｂｌｅが“Ｈ”であるため、２つのデータラッチ回路の１ビット（２値）データは、それぞれデータ線ＩＯＢ１〜ＩＯＢ３又はデータ線ＩＯＴ１〜ＩＯＴ３を経由して、信号ＰＤ０，ＰＤ１となり、出力端子Ｉ／Ｏ０，Ｉ／Ｏ１から出力される。
【０２０４】
例えば、２つのデータラッチ回路の第２のサブデータ回路ＬＡＴＣＨ２は、それぞれデータ線ＩＯＢ１又はデータ線ＩＯＴ１に共通に繋がる。一方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１は、データ線ＩＯＢ２又はデータ線ＩＯＴ２に繋がり、他方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１は、データ線ＩＯＢ３又はデータ線ＩＯＴ３に繋がる。
【０２０５】
データ線ＩＯＢ１〜ＩＯＢ３側とデータ線ＩＯＴ１〜ＩＯＴ３側の選択は、アドレスＡ０で行う。アドレスを新たに入れずに、シリアルリードする場合は、表９に示すようにＡ０を最下位として、Ａ２、Ａ３、…のように、Ａ１を飛ばしてインクリメントしていく。
【０２０６】
書き込み動作は、始めに、全てのデータラッチ回路の状態を“００”にし、書き込みを行わない状態にする。この後、１ページ分のデータをデータラッチ回路に入れる。４値モードでは、メモリセルに“０”、“１”、“２”、“３”のデータを書き込む場合、それぞれデータラッチ回路を“００”、“１０”、“１１”、“０１”の状態にする（表３参照）。
【０２０７】
例えば、図１２乃至図１４に示すように、チップ外部から書き込みデータＰＤＬ０，ＰＤＬ１が入力される。信号Ｓｓｉは、通常“Ｌ”であるが、データ入力モードとなると、“Ｈ”となる。４値モードのとき、信号Ｄｏｕｂｌｅが“Ｌ”であるため、データＰＤＬ１は、データ線ＩＯＢ１又はデータ線ＩＯＴ１に導かれ、データＰＤＬ０は、データ線ＩＯＢ２、データ線ＩＯＢ３、データ線ＩＯＴ２又はデータ線ＩＯＴ３に導かれる。
【０２０８】
４値モードの場合、カラムアドレスが決まると、表５及び表６に示すように、ＹＡｉ，ＹＢｉが決まるため、１つのデータラッチ回路が選択される。選択されたデータラッチ回路において、例えば、第２のサブデータ回路にはデータＰＤＬ１が入力され、第１のサブデータ回路にはデータＰＤＬ０が入力される。
【０２０９】
一方、２値モードでは、メモリセルに“０”又は“１”のデータを書き込む。このため、データラッチ回路を“００”、“１０”にする（表３参照）。
【０２１０】
例えば、図１２乃至図１４に示すように、チップ外部から書き込みデータＰＤＬ０，ＰＤＬ１が入力される。信号Ｓｓｉ＝“Ｈ”であり、２値モードのため、Ｄｏｕｂｌｅ＝“Ｈ”となるため、データＰＤＬ１は、データ線ＩＯＢ３又はデータ線ＩＯＴ３に導かれ、データＰＤＬ０は、データ線ＩＯＢ２又はデータ線ＩＯＴ２に導かれる。データ線ＩＯＢ１，ＩＯＴ１は、常に“Ｈ”レベルとなる。
【０２１１】
２値モードであるため、カラムアドレスが決まると、ＹＡｉ，ＹＡｉ＋１とＹＢｉが“Ｈ”となり、２つのデータラッチ回路が選択される。一方のデータラッチ回路の第１のサブデータ回路にはデータＰＤＬ０が入り、他方のデータラッチ回路の第１のサブデータ回路にはデータＰＤＬ１が入る。
【０２１２】
なお、２つのデータラッチ回路の第２のサブデータ回路には、それぞれデータ線ＩＯＢ１，ＩＯＴ１の電位（“Ｈ”）が入力される。
【０２１３】
ここで、データ線ＩＯＢ１，ＩＯＴ１は、常に“Ｈ”レベルになっているので、図８に示す第２のサブデータ回路のノードＮａｉは、“Ｌ”レベルとなり、データ“０”が入る。データ入力モードでは、ＯＳＡＣが“Ｌ”、ｎＯＳＡＣが“Ｈ”となるため、クロックドインバータは動作しない。従って、データラッチ回路には“００”、“１０”が入力される。
【０２１４】
プログラムベリファイは、書き込み（プログラム）動作の後に、読み出し（リード）動作を行い、メモリセルの閾値が所定値になったと判断したら、データラッチ回路を“００”（書き込みを行わない）にする。また、カラムアドレスをスキャンして、全てのデータラッチ回路のデータを読み出し、書き込み不十分なメモリセル（データラッチ回路のデータが“１０”、“１１”、“０１”のもの）が存在するか否かを調べる。
【０２１５】
ここで、プログラムベリファイは、データラッチ回路に“１０”、“１１”、“０１”のいずれかのデータがラッチされている場合に行われる。また、ベリファイリードは、“１０”、“１１”、“０１”の各データに対応させて３回行われるが、所定のデータがきちんと書けたメモリセルについては、ベリファイリードを行わないようにする。
【０２１６】
４値モードでは、ベリファイリードは、通常の読み出しと同じように行われるが、２値モードにおいては、ベリファイリードと通常の読み出しを同じように行うと、図９乃至図１１のＰＤ０とＰＤ１には、２つのデータラッチ回路のデータ“００”、“１０”、“１１”、“０１”が出力されてしまう。このため、プログラムベリファイでは、２値モードを強制的に４値モードにしてスキャンする。このようにすると、ＰＤ０、ＰＤ１には“００”と“１０”、つまり、メモリデータ“０”、“１”が出力される。
【０２１７】
消去動作は、例えば、消去を実行するブロックの指定、消去、ベリファイリードという順序で行い、全てのメモリセルに対して閾値が基準値（０Ｖ）以下になっているか否かを調べ、基準値（０Ｖ）を超える閾値を有するメモリセルが存在しなくなるまで、同様の動作が繰り返し行われる。
【０２１８】
イレーズベリファイは、最初の動作で、データラッチ回路に繋がる２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの一方についてベリファイリードを行い、この結果を第１のサブデータ回路に入れる。次の動作で、２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの他方のビット線についてベリファイリードを行い、この結果を第２のサブデータに入れる。
【０２１９】
メモリセルの閾値が基準値（０Ｖ）以下の場合には、第１又は第２のサブデータ回路のノードＮａｉが“０”となり、“０”データがラッチされる。メモリセルの閾値が基準値（０Ｖ）を超えている場合には、第１又は第２のサブデータ回路のノードＮａｉが“１”となり、“１”データがラッチされる。
【０２２０】
この結果をスキャンにより読み出す。４値モードでは、通常読み出しやベリファイリードと同じ動作を行うが、２値モードでは、通常読み出しやベリファイリードと同じ動作にすると、２つのデータラッチ回路の第１のサブデータが出力され、第２のサブデータの内容がスキャンにより読み出されない。このため、イレーズベリファイでも、プログラムベリファイと同様に、２値モードを強制的に４値モードにしてスキャンする。このようにすると、ＰＤ０、ＰＤ１には第１、第２のサブデータが出力される。
【０２２１】
［Ｃ］  図２３は、本発明の第２実施の形態に関わる４値記憶方式のＮＡＮＤ型フラッシュＥＥＰＲＯＭの主要部を示している。図２４及び図２５は、図２３のメモリセルアレイの一部とビット線制御回路の一部を詳細に示している。
【０２２２】
メモリセルアレイ１は、複数のＮＡＮＤセルユニットを有している。ＮＡＮＤセルユニットは、例えば、直列接続された１６個のメモリセルＭからなるＮＡＮＤ列と、その両端に接続されるセレクトトランジスタＳとから構成されている。ＮＡＮＤセルユニットの一端は、共通ソース線ＳＲＣに接続され、他端は、ビット線ＢＬ０，ＢＬ１，…に接続されている。
【０２２３】
また、メモリセルアレイ１は、複数のブロックから構成され、１つのブロックは、ロウ方向の４２２４個のＮＡＮＤセルユニットを含んでいる。１ページは、同時に読み出し又は書き込みを行えるデータの単位を意味している。なお、同時に読み出し又は書き込みされるデータは、複数のデータラッチ回路１０−０，１０−１，…にラッチされる。
【０２２４】
メモリセルアレイ１は、メインエリア、スペアエリア及びリダンダンシイエリアから構成されている。メインエリアには、通常のデータが記憶されるため、メインエリアにおいては、記憶容量を増大すべく、メモリセルＭには４値のデータを記憶するのがよい。
【０２２５】
スペアエリアには、冗長ビットが記憶されるため、スペアエリアにおいては、書き込み回数が増えても高い信頼性を確保すべく、メモリセルＭには、２値のデータを記憶するのがよい。リダンダンシイエリアは、メインエリア又はスペアエリアの不良ビットを救済するために設けられるものであるため、メモリセルＭには２値又は４値のデータが記憶される。
【０２２６】
メモリセルアレイ１内には、複数のワード線（コントロールゲート電極）ＷＬ１〜ＷＬ１６、複数のビット線ＢＬ０，ＢＬ１，…、及び、複数（又は全て）のメモリセルのソースに共通に接続される共通ソース線ＳＲＣが配置されている。
【０２２７】
また、メモリセルアレイ１に近接して、ビット線ＢＬ０，ＢＬ１，…の電位の制御などを行うビット線制御回路２とワード線ＷＬ１〜ＷＬ１６の電位の制御などを行うワード線制御回路６が配置されている。
【０２２８】
ビット線制御回路２は、例えば、読み出し時に、メモリセルアレイ１中のメモリセルＭのデータをビット線ＢＬ０，ＢＬ１，…を経由してチップ外部に出力するため、また、ベリファイ時に、メモリセルアレイ１中のメモリセルＭの状態を検出するため、また、書き込み時に、メモリセルアレイ１中のメモリセルＭに書き込み制御電圧を印加するために設けられている。
【０２２９】
本例では、ビット線制御回路２は、メモリセルアレイ１を挟むように、メモリセルアレイ１のカラム方向の両端にそれぞれ配置されている。ビット線制御回路２は、それぞれ１ページ分のデータを保持できる複数のデータラッチ回路１０−０，１０−１，…１０−ｉ，…を含み、１ページ分のデータは、複数のデータラッチ回路１０−０，１０−１，…１０−ｉ，…に保持される。
【０２３０】
ビット線制御回路２は、メモリセルアレイ１のカラム方向の両端に配置されているため、データラッチ回路を配置する領域のロウ方向の幅を大きくすることができる。メモリセルアレイ１の両端の２つのビット線制御回路２のうちのいずれにデータをラッチするかは、例えば、最下位アドレスＡ０により決定することができる。
【０２３１】
また、メモリセルＭは、１ビット（２値）のデータの他に、２ビット（４値）のデータも記憶する。この場合、１つのデータラッチ回路１０−０は、２個のサブデータ回路ＬＡＴＣＨ１，ＬＡＴＣＨ２を有し、かつ、２本のビット線ＢＬ０，ＢＬ１に接続されている。
【０２３２】
また、各ビット線制御回路２においては、例えば、互いに隣接する２つのデータラッチ回路が１つの組になっており、１つのメモリセルに１ビット（２値）のデータを記憶する場合には、書き込み時及び読み出し時において、データ入出力端子５と１つの組内の２個のデータラッチ回路の間で同時にデータの授受が行われる。
【０２３３】
一方、１つのメモリセルに２ビット（４値）のデータを記憶する場合には、通常通り、書き込み時及び読み出し時において、データ入出力端子５と１つのデータラッチ回路の間でデータの授受が行われる。
【０２３４】
書き込み及び読み出しの際、１つのデータラッチ回路１０−ｉに接続される２本のビット線のうちの所定の１本のビット線が選択され、その選択されたビット線に繋がるメモリセルに対して書き込み又は読み出しが実行される。
【０２３５】
ビット線制御回路２とデータ入出力バッファ４を結ぶデータ線は、４本存在する（ＩＯＡＢ０，１、ＩＯＢＢ０，１、ＩＯＡＴ０，１、ＩＯＢＴ０，１）。また、データ入出力端子５は、２本存在し、１ビット（２値）又は２ビット（４値）のデータは、この２本のデータ入出力端子５から入出力される。
【０２３６】
メモリセルアレイ１のメインエリアにおいて、ビット線制御回路２のデータラッチ回路１０−０，１０−１，…とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５，ＹＢｂ０〜ＹＢｂ１５，ＹＢｔ０〜ＹＢｔ１５及びデータ入出力バッファにより制御される。
【０２３７】
また、メモリセルアレイ１のスペアエリアにおいて、ビット線制御回路２のデータラッチ回路とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５，ＹＲＢ，ＹＲｔ及びデータ入出力バッファにより制御される。
【０２３８】
また、メモリセルアレイ１のリダンダンシイエリアにおいて、ビット線制御回路２のデータラッチ回路とデータ入出力端子５との間のデータの授受は、カラムデコーダ３から出力される選択信号ＣＲ０ｙ〜ＣＲ７ｙ及びデータ入出力バッファにより制御される。
【０２３９】
本実施の形態は、ビット線制御回路２とデータ入出力バッファ４を結ぶデータ線が４本存在する点で上述の第１実施の形態と異なっている。つまり、データ線の数を４本にすることで、メインエリアにおけるデータラッチ回路の選択に使用する選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５と、スペアエリアにおけるデータラッチ回路の選択に使用する選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５を共通化することができる。
【０２４０】
なお、上述の第１の実施の形態で、選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５を共通化すると、例えば、スペアエリアでのデータ読み出し時、スペアエリアで２つのデータラッチ回路を選択したときに、メインエリアでも２つのデータラッチ回路が選択され、メインエリアの２つのデータラッチ回路が短絡してしまう欠点がある。
【０２４１】
ワード線制御回路６は、メモリセルアレイ１中の複数のワード線のうちの１本を選択し、この選択された１本のワード線（選択ワード線）及びその他のワード線（非選択ワード線）に、それぞれ読み出し、書き込み、消去の各モードに応じた所定の電位を印加する。
【０２４２】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４及びワード線制御回路６は、制御信号及び制御電圧発生回路７によって制御される。
【０２４３】
なお、図２３の一点破線で囲んだ部分をユニットとした場合、１チップ内には、１つのユニット又は複数のユニットが配置される。
【０２４４】
上記構成を有するＮＡＮＤ型フラッシュＥＥＰＲＯＭによれば、１つのメモリセルＭに、１ビット（２値）及び２ビット（４値）のいずれのデータも記憶できるように、４本のデータ線ＩＯＡＢ０，１、ＩＯＢＢ０，１、ＩＯＡＴ０，１、ＩＯＢＴ０，１が設けられている。なお、データ線ＩＯＡＢ０，１、ＩＯＢＢ０，１を用いるか、又はデータ線ＩＯＡＴ０，１、ＩＯＢＴ０，１を用いるかは、例えば、最下位アドレスＡ０により決定できる。
【０２４５】
また、互いに隣接する２つのデータラッチ回路が１つの組になっており、１つのメモリセルに１ビット（２値）のデータを記憶する場合には、書き込み時及び読み出し時において、データ入出力端子５と１つの組内の２個のデータラッチ回路の間で同時にデータの授受を行う。
【０２４６】
一方、１つのメモリセルに２ビット（４値）のデータを記憶する場合には、通常通り、書き込み時及び読み出し時において、データ入出力端子５と１つのデータラッチ回路の間でデータの授受を行う。
【０２４７】
このような動作は、カラムデコーダ３から出力される選択信号ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５，ＹＢｂ０〜ＹＢｂ１５，ＹＢｔ０〜ＹＢｔ１５，ＹＲＢ，ＹＲｔ，ＣＲ０ｙ〜ＣＲ７ｙ及びデータ入出力バッファにより制御することができる。
【０２４８】
このように、本発明では、１つのメモリセルに対して、２ビット（４値）以上のデータを記憶させたり、又は１ビット（２値）のデータを記憶させたりすることができる。
【０２４９】
図２６乃至図２８は、図２３のデータ入出力バッファにおけるデータの出力経路を示し、図２９乃至図３２は、図２３のデータ入出力バッファにおけるデータの入力経路を示している。
【０２５０】
以下、これら図２６乃至図３２に基づいて、本発明の第２実施の形態に関わるＮＡＮＤ型フラッシュＥＥＰＲＯＭの動作について説明する。
【０２５１】
（１）  通常の読み出し動作、書き込み動作、プログラムベリファイ動作、消去動作、イレーズベリファイ動作については、省略する。
【０２５２】
（２）  ２値−４値切り替え動作
多値記憶方式のＮＡＮＤ型フラッシュＥＥＰＲＯＭでは、例えば、図２３に示すように、メモリセルアレイが、メインエリア、スペアエリア及びリダンダンシイエリアから構成されている。メインエリアには、通常ビットが記憶され、スペアエリアには、冗長ビットが記憶される。リダンダンシイエリアは、メインエリア又はスペアエリアの不良ビットを救済するために設けられる。
【０２５３】
本例では、メインエリアのメモリセルに対しては、記憶容量の増加のため、４値のデータを記憶させ、スペアエリアのメモリセルに対しては、書き換え回数が多くても信頼性を確保するため、２値のデータを記憶させる。
【０２５４】
表１０及び表１１は、メインエリアのメモリセル（４値／セル）及びスペアエリアのメモリセル（２値／セル）に対する読み出し又は書き込み時におけるカラムデコーダの動作を示している。
【０２５５】
【表１０】
0003629144.tif 000011
【０２５６】
【表１１】
0003629144.tif 000012
【０２５７】
メインエリアでは、１つのアドレス（例えば、Ａ１，Ａ２，…Ａ８＝“Ｌ，Ｌ，…Ｌ”）に対して、２つのデータラッチ回路が選択され（例えば、ＹＡｂ０＝“Ｈ”、ＹＡｂ１＝“Ｈ”、ＹＢｂ０＝“Ｈ”、他は全て“Ｌ”）、各データラッチ回路には、２ビット（４値）のデータがラッチされる。
【０２５８】
この時、データラッチ回路１０−０にラッチされた２ビットのデータは、データ線ＩＯＡＢ０，ＩＯＡＢ１を経由してデータ入出力回路に導かれ、データラッチ回路１０−１にラッチされた２ビットのデータは、データ線ＩＯＢＢ０，ＩＯＢＢ１を経由してデータ入出力回路に導かれる。
【０２５９】
データ入出力回路では、データ線ＩＯＡＢ０，ＩＯＡＢ１及びデータ線ＩＯＢＢ０，ＩＯＢＢ１のいずれか一方を選択し、選択されたデータ線の２ビットデータは、出力データＰＤ０，ＰＤ１として２つの出力端子から出力される（例えば、Ａ１，Ａ２，…Ａ８＝“Ｌ，Ｌ，…Ｌ”のときは、データ線ＩＯＡＢ０，ＩＯＡＢ１が選択され、Ａ１，Ａ２，…Ａ８＝“Ｈ，Ｌ，…Ｌ”のときは、データ線ＩＯＢＢ０，ＩＯＢＢ１が選択される）。
【０２６０】
なお、読み出し時、同時に読み出された１ページ分のデータは、メインエリアのデータラッチ回路にラッチされ、かつ、表１０及び表１１に示すように、アドレスＡ１〜Ａ８を変えることにより、チップ外部にシリアルに出力される。また、書き込み時、表１０及び表１１に示すように、アドレスＡ１〜Ａ８を変えることにより、データラッチ回路に１ページ分のデータを順次ラッチし、かつ、同時に１ページ分のデータをメモリセルに書き込む。
【０２６１】
スペアエリアでは、１つのデータラッチ回路には１ビット（２値）のデータが記憶されるため、１つのアドレス（例えば、Ａ１，Ａ２，Ａ３，Ａ４＝“Ｌ，Ｌ，Ｌ，Ｌ”）が決まると、２つのデータラッチ回路が選択される（例えば、ＹＡｂ０＝“Ｈ”、ＹＡｂ１＝“Ｈ”、ＹＲｂ＝“Ｈ”、他は全て“Ｌ”）。
【０２６２】
この時、データラッチ回路１０−０Ａにラッチされた１ビットのデータは、データ線ＩＯＡＢ０を経由してデータ入出力回路に導かれ、データラッチ回路１０−１Ａにラッチされた１ビットのデータは、データ線ＩＯＢＢ０を経由してデータ入出力回路に導かれる。データ入出力回路は、データ線ＩＯＡＢ０，ＩＯＢＢ０の各１ビットデータを出力データＰＤ０，ＰＤ１として２つの出力端子から出力する。
【０２６３】
なお、読み出し時、同時に読み出された１ページ分のデータは、スペアエリアのデータラッチ回路にラッチされ、かつ、表１０及び表１１に示すように、アドレスＡ１〜Ａ８を変えることにより、２ビット単位でチップ外部に出力される。また、書き込み動作時、表１０及び表１１に示すように、アドレスＡ１〜Ａ８を変えることにより、データラッチ回路に２ビット単位でデータが転送され、かつ、同時に１ページ分のデータがメモリセルに書き込まれる。
【０２６４】
ここで、本実施の形態では、メインエリアとスペアエリアにおいて選択信号の一部ＹＡｂ０〜ＹＡｂ１５，ＹＡｔ０〜ＹＡｔ１５を共有しているため、スペアエリアにおいて、２つのデータラッチ回路が選択されると、同時に、メインエリアにおいても、２つのデータラッチ回路が選択される。
【０２６５】
よって、本実施の形態では、データラッチ回路とデータ入出力バッファを結ぶデータ線を４本設け、スペアエリアにおけるデータ読み出し時に、メインエリアの２つのデータラッチ回路が短絡しないようにしている。
【０２６６】
なお、メインエリアのメモリセルに対して１ビット（２値）のデータを記憶させる場合には、データ入出力バッファと２つのデータラッチ回路の間で同時に１ビットデータの転送が行われる。この時、メインエリアにおいて、１つのデータラッチ回路には１ビット（２値）のデータが記憶され、１つのアドレス（例えば、Ａ１，Ａ２，…Ａ８＝“Ｌ，Ｌ，…Ｌ”）が決まると、２つのデータラッチ回路が選択される（例えば、ＹＡｂ０＝“Ｈ”、ＹＡｂ１＝“Ｈ”、ＹＢｂ０＝“Ｈ”、他は全て“Ｌ”）。
【０２６７】
リダンダンシイエリアでは、メインエリアのメモリセルを置き換えるときは、メインエリアと同じ動きをし、スペアエリアのメモリセルを置き換えるときは、スペアエリアと同じ動きをする。
【０２６８】
但し、２値データが記憶されるスペアエリアのメモリセルを置き換えるときは、常に２つのデータラッチ回路を組にして使用するため、２つのデータラッチ回路ごとに置き換える。
【０２６９】
メインエリア、スペアエリア及びリダンダンシイエリアの複数のデータラッチ回路は、４本のデータ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１又は４本のデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１によりデータ入出力バッファに接続される。なお、アドレスＡ０により、データ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１及びデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１のいずれか一方が選択される。
【０２７０】
メインエリアの１つのデータラッチ回路に対して２ビット（４値）データを入出力する場合でも、２つのデータラッチ回路が選択されるが、４本のデータ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１が存在するため、データ入出力バッファにおいていずれか一方のデータラッチ回路のデータのみを選択できる。
【０２７１】
スペアエリアの２つのデータラッチ回路に対してそれぞれ１ビット（２値）データを入出力する場合、一方のデータラッチ回路のデータについては、データ線ＩＯＡＢ０，ＩＯＡＢ１のいずれか一方を用い、他方のデータラッチ回路のデータについては、データ線ＩＯＢＢ０，ＩＯＢＢ１のいずれか一方を用いる。
【０２７２】
図２６乃至図２８に示すように、データ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１，ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１は、データ入出力バッファに繋がり、例えば、２ビットのデータＰＤ０，ＰＤ１は、それぞれデータ入出力バッファから２つの入出力端子Ｉ／Ｏ０，Ｉ／Ｏ１に導かれる。
【０２７３】
次に、読み出し（リード）時、書き込み（プログラム）時、プログラムベリファイ時、イレーズベリファイ時の動作について説明する。
【０２７４】
以下、メインエリア、スペアエリア又はリダンダンシイエリアを４値／セルで使用する場合を４値モードとし、メインエリア、スペアエリア又はリダンダンシイエリアを２値／セルで使用する場合を２値モードとする。
【０２７５】
図２６乃至図２８又は図２９乃至図３２において、信号Ｄｏｕｂｌｅは、４値モード時に“Ｌ”、２モードの時に“Ｈ”となる。
【０２７６】
読み出し動作を行うと、４値モードでは、メモリセルのデータ“０”、“１”、“２”、“３”に応じて“１１”、“０１”、“００”、“１０”（表２参照）がデータラッチ回路から出力される。
【０２７７】
次に、カラムアドレスが決まると、図２１及び図２２の回路により、外部アドレスＡ０ｘ〜Ａ８ｘをレジスタに読み込み、Ａ０〜Ａ８を決定する（表９参照）。
【０２７８】
また、表１０及び表１１に基づいて、ＹＡｉ、ＹＢｉなどが決まり、隣接する２つのデータラッチ回路が選択される。図２６乃至図２８の回路で、信号Ｄｏｕｂｌｅが“Ｌ”であるため、各データラッチ回路の２ビット（４値）データは、データ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１又はデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１を経由して、データ入出力バッファに導かれる。データ入出力バッファでは、２つのデータラッチ回路のいずれか一方のデータを選択し、選択された２ビットデータを信号ＰＤ０，ＰＤ１として出力端子Ｉ／Ｏ０，Ｉ／Ｏ１から出力する。
【０２７９】
第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＡＢ０（ＩＯＡＴ０）又はデータ線ＩＯＢＢ０（データ線ＩＯＢＴ０）を経由して信号ＰＤ０として出力される。第２のサブデータ回路ＬＡＴＣＨ２のデータは、データ線ＩＯＡＢ１（ＩＯＡＴ１）又はＩＯＢＢ１（ＩＯＢＴ１）を経由して信号ＰＤ１として出力される。
【０２８０】
例えば、アドレスＡ１が“Ｌ”のとき、第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＡＢ０（ＩＯＡＴ０）を経由して信号ＰＤ０として出力され、アドレスＡ１が“Ｈ”のとき、第１のサブデータ回路ＬＡＴＣＨ１のデータは、データ線ＩＯＢＢ０（ＩＯＢＴ０）を経由して信号ＰＤ０として出力される。
【０２８１】
また、アドレスＡ１が“Ｌ”のとき、第２のサブデータ回路ＬＡＴＣＨ２のデータは、データ線ＩＯＡＢ１（ＩＯＡＴ１）を経由して信号ＰＤ１として出力され、アドレスＡ１が“Ｈ”のとき、第２のサブデータ回路ＬＡＴＣＨ２のデータは、データ線ＩＯＢＢ１（ＩＯＢＴ１）を経由して信号ＰＤ１として出力される。
【０２８２】
データ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１側とデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１側の選択は、アドレスＡ０で行う。アドレスを新たに入れずに、シリアルリードする場合は、表９に示すように、Ａ０を最下位として、Ａ１、Ａ２、Ａ３、…とインクリメントしていく。
【０２８３】
２値モードでは、メモリセルのデータが“０”、“１”に応じて、“１１”、“０１”が出力される。カラムアドレスが決まると、図２１及び図２２の回路により、外部アドレスＡ０ｘ〜Ａ７ｘをレジスタに読み込み、アドレスＡ０，Ａ２〜Ａ８を決定する（表９参照）。
【０２８４】
また、表１０及び表１１に基づいて、ＹＡｉ，ＹＢｉなどが決まり、隣接する２つのデータラッチ回路が選択される。図２６乃至図２８の回路で、信号Ｄｏｕｂｌｅが“Ｈ”であるため、２つのデータラッチ回路の１ビット（２値）データは、それぞれデータ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１又はデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１を経由して、信号ＰＤ０，ＰＤ１となり、出力端子Ｉ／Ｏ０，Ｉ／Ｏ１から出力される。
【０２８５】
例えば、一方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１は、データ線ＩＯＡＢ０（ＩＯＡＴ０）に繋がり、第２のサブデータ回路ＬＡＴＣＨ２は、データ線ＩＯＡＢ１（ＩＯＡＴ１）に繋がる。他方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１は、データ線ＩＯＢＢ０（ＩＯＢＴ０）に繋がり、第２のサブデータ回路ＬＡＴＣＨ２は、データ線ＩＯＢＢ１（ＩＯＢＴ１）に繋がる。
【０２８６】
データ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１側とデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１側の選択は、アドレスＡ０で行う。アドレスを新たに入れずに、シリアルリードする場合は、表９に示すようにＡ０を最下位として、Ａ２、Ａ３、…のように、Ａ１を飛ばしてインクリメントしていく。
【０２８７】
書き込み動作は、始めに、全てのデータラッチ回路の状態を“００”とし、書き込みを行わない状態にする。この後、１ページ分のデータをデータラッチ回路に入れる。４値モードでは、メモリセルに“０”、“１”、“２”、“３”のデータを書き込む場合、それぞれデータラッチ回路を“００”、“１０”、“１１”、“０１”の状態にする（表３参照）。
【０２８８】
例えば、図２９乃至図３２に示すように、チップ外部から書き込みデータＰＤＬ０，ＰＤＬ１が入力される。信号Ｓｓｉは、通常“Ｌ”であるが、データ入力モードとなると、“Ｈ”となる。４値モードのとき、信号Ｄｏｕｂｌｅが“Ｌ”であるため、アドレスＡ１＝“Ｌ”のとき、データＰＤＬ１は、データ線ＩＯＡＢ１又はデータ線ＩＯＡＴ１に導かれ、データＰＤＬ０は、データ線ＩＯＡＢ０又はデータ線ＩＯＡＴ０に導かれる。
【０２８９】
データＰＤＬ０，ＰＤＬ１が“Ｌ”の場合、データラッチ回路の第１及び第２のサブデータ回路の状態は“１”になる。データＰＤＬ０，ＰＤＬ１が“Ｈ”の場合、データラッチ回路の第１及び第２のサブデータ回路の状態は“０”のままとなる。また、他のデータ線ＩＯＢＢ０，ＩＯＢＢ１，ＩＯＢＴ０，ＩＯＢＴ１には、“Ｈ”レベルの電位が供給される。
【０２９０】
なお、アドレスＡ１＝“Ｈ”のとき、データＰＤＬ１は、データ線ＩＯＢＢ１又はデータ線ＩＯＢＴ１に導かれ、データＰＤＬ０は、データ線ＩＯＢＢ０、データ線ＩＯＢＴ０に導かれる。
【０２９１】
４値モードの場合、カラムアドレスが決まると、表１０及び表１１に示すように、ＹＡｉ，ＹＢｉが決まり、２つのデータラッチ回路が選択される。また、データ入出力バッファにおいて１つのデータラッチ回路を選択し、選択されたデータラッチ回路においては、例えば、第２のサブデータ回路ＬＡＴＣＨ２にデータＰＤＬ１が入力され、第１のサブデータ回路ＬＡＴＣＨ１にデータＰＤＬ０が入力される。
【０２９２】
一方、２値モードでは、メモリセルに“０”又は“１”のデータを書き込む。このため、データラッチ回路を“００”、“１０”にする（表３参照）。
【０２９３】
例えば、図２９乃至図３２に示すように、チップ外部から書き込みデータＰＤＬ０，ＰＤＬ１が入力される。信号Ｓｓｉ＝“Ｈ”であり、２値モードのため、Ｄｏｕｂｌｅ＝“Ｈ”となるため、データＰＤＬ１は、データ線ＩＯＢＢ０又はデータ線ＩＯＢＴ０に導かれ、データＰＤＬ０は、データ線ＩＯＡＢ０又はデータ線ＩＯＡＴ０に導かれる。
【０２９４】
２値モードであるため、カラムアドレスが決まると、ＹＡｉ，ＹＡｉ＋１とＹＢｉが“Ｈ”となり、２つのデータラッチ回路が選択される。一方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１にはデータＰＤＬ０が入り、他方のデータラッチ回路の第１のサブデータ回路ＬＡＴＣＨ１にはデータＰＤＬ１が入る。
【０２９５】
なお、データ線ＩＯＡＢ１，ＩＯＡＴ１，ＩＯＢＢ１，ＩＯＢＴ１は、常に“Ｈ”レベルになっているので、図８に示す第２のサブデータ回路のノードＮａｉは、“Ｌ”レベルとなり、データ“０”が入る。データ入力モードでは、ＯＳＡＣが“Ｌ”、ｎＯＳＡＣが“Ｈ”となるため、クロックドインバータは動作しない。従って、データラッチ回路には“００”、“１０”が入力される。
【０２９６】
プログラムベリファイは、書き込み（プログラム）動作の後に、読み出し（リード）動作を行い、メモリセルの閾値が所定値になったと判断したら、データラッチ回路を“００”（書き込みを行わない）にする。また、カラムアドレスをスキャンして、全てのデータラッチ回路のデータを読み出し、書き込み不十分なメモリセル（データラッチ回路のデータが“１０”、“１１”、“０１”のもの）が存在するか否かを調べる。
【０２９７】
ここで、プログラムベリファイは、データラッチ回路に“１０”、“１１”、“０１”のいずれかのデータがラッチされている場合に行われる。また、ベリファイリードは、“１０”、“１１”、“０１”の各データに対応させて３回行われるが、所定のデータがきちんと書けたメモリセルについては、ベリファイリードを行わないようにする。
【０２９８】
本実施の形態では、４本のデータ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１又は４本のデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１を用いて２つのデータラッチ回路のデータを出力するため、図２１及び図２２のカウンタによるアドレス値のインクリメントは、２値モードを使用でき、スキャン時間を１／２に短縮することができる。
【０２９９】
消去動作は、例えば、消去を実行するブロックの指定、消去、ベリファイリードという順序で行い、全てのメモリセルに対して閾値が基準値（０Ｖ）以下になっているか否かを調べ、基準値（０Ｖ）を超える閾値を有するメモリセルが存在しなくなるまで、同様の動作が繰り返し行われる。
【０３００】
イレーズベリファイは、最初の動作で、データラッチ回路に繋がる２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの一方についてベリファイリードを行い、この結果を第１のサブデータ回路ＬＡＴＣＨ１に入れる。次の動作で、２本のビット線ＢＬｉ，ＢＬｉ＋１のうちの他方のビット線についてベリファイリードを行い、この結果を第２のサブデータ回路ＬＡＴＣＨ２に入れる。
【０３０１】
メモリセルの閾値が基準値（０Ｖ）以下の場合、第１又は第２のサブデータ回路ＬＡＴＣＨ１，ＬＡＴＣＨ２のノードＮａｉが“０”となり、“０”データがラッチされる。メモリセルの閾値が基準値（０Ｖ）を超えていると、第１又は第２のサブデータ回路ＬＡＴＣＨ１，ＬＡＴＣＨ２のノードＮａｉが“１”となり、“１”データがラッチされる。この結果をスキャンにより読み出す。
【０３０２】
イレーズベリファイもプログラムベリファイと同様に、４本のデータ線ＩＯＡＢ０，ＩＯＡＢ１，ＩＯＢＢ０，ＩＯＢＢ１又は４本のデータ線ＩＯＡＴ０，ＩＯＡＴ１，ＩＯＢＴ０，ＩＯＢＴ１を用いて２つのデータラッチ回路のデータを出力するため、図２１及び図２２のカウンタによるアドレス値のインクリメントは、２値モードを使用でき、スキャン時間を１／２に短縮することができる。
【０３０３】
テスト動作を行う場合には、通常読み出しで行う３つの動作ＲＥＡＤ０１，ＲＥＡＤ１０，ＲＥＡＤ００（第１実施の形態参照）を、それぞれ個別に動作させ、各動作が正常か否かを確認する。
【０３０４】
オートプログラム動作において、書き込み（プログラム）とプログラムベリファイを最大ループ回数まで行うようにするには、全てのメモリセルのデータをＰＡＳＳ（“０”）するか、最大ループ回数に達するまで行うように設定するか、ベリファイのフラグを強制的にフェイル（ＦＡＩＬ）状態にすればよい。また、最大ループ回数という概念をテスト動作時にも使用し、ストレス試験を行うことが可能である。この機能は、オートイレーズにも適用することができる。
【０３０５】
【発明の効果】
以上、説明したように、本発明の不揮発性半導体記憶装置は、１つのメモリセルに１ビット（２値）データを記憶させる２値モードと、１つのメモリセルに２ビット（４値）以上の多ビットデータを記憶させる多値（例えば、４値）モードとを有し、２値モードと多値モードで、データ入出力バッファとデータラッチ回路の間のデータのやりとりに関し、選択されるデータラッチ回路の数を異ならせている。つまり、多値モードでは、通常の多値記憶方式のＥＥＰＲＯＭのように、１つのデータラッチ回路が選択され、２値モードでは、複数のデータラッチ回路が選択される。このように、本発明では、１つの不揮発性半導体記憶装置に対して、１ビット（２値）データを記憶させたり、多ビット（多値）データを記憶させたりすることができる。
【図面の簡単な説明】
【図１】本発明の不揮発性半導体記憶装置を示す図。
【図２】図１の領域９を詳細に示す図。
【図３】メモリセルと選択トランジスタの構造を示す図。
【図４】ＮＡＮＤセルユニットの構造を示す図。
【図５】本発明の第１実施の形態に関わるフラッシュＥＥＰＲＯＭを示す図。
【図６】図５のメモリセルアレイとビット線制御回路の一部を詳細に示す図。
【図７】図５のメモリセルアレイとビット線制御回路の一部を詳細に示す図。
【図８】図６及び図７のデータラッチ回路の具体例を示す回路図。
【図９】図５のデータ入出力バッファの出力経路の一部を示す図。
【図１０】図５のデータ入出力バッファの出力経路の一部を示す図。
【図１１】図５のデータ入出力バッファの出力経路の一部を示す図。
【図１２】図５のデータ入出力バッファの入力経路の一部を示す図。
【図１３】図５のデータ入出力バッファの入力経路の一部を示す図。
【図１４】図５のデータ入出力バッファの入力経路の一部を示す図。
【図１５】通常の読み出し動作を示すタイミングチャート。
【図１６】書き込み動作を示すタイミングチャート。
【図１７】プログラムベリファイ動作を示すタイミングチャート。
【図１８】書き込み動作のアルゴリズムを示す図。
【図１９】消去動作を示すタイミングチャート。
【図２０】イレーズベリファイ動作を示すタイミングチャート。
【図２１】アドレスカウンタを示す図。
【図２２】図２１のカウンタ付レジスタを詳細に示す回路図。
【図２３】本発明の第２実施の形態に関わるフラッシュＥＥＰＲＯＭを示す図。
【図２４】図２３のメモリセルアレイとビット線制御回路の一部を詳細に示す図。
【図２５】図２３のメモリセルアレイとビット線制御回路の一部を詳細に示す図。
【図２６】図２３のデータ入出力バッファの出力経路の一部を示す図。
【図２７】図２３のデータ入出力バッファの出力経路の一部を示す図。
【図２８】図２３のデータ入出力バッファの出力経路の一部を示す図。
【図２９】図２３のデータ入出力バッファの入力経路の一部を示す図。
【図３０】図２３のデータ入出力バッファの入力経路の一部を示す図。
【図３１】図２３のデータ入出力バッファの入力経路の一部を示す図。
【図３２】図２３のデータ入出力バッファの入力経路の一部を示す図。
【図３３】従来の不揮発性半導体記憶装置を示す図。
【符号の説明】
１                    ：メモリセルアレイ、
２                    ：ビット線制御回路、
３                    ：カラムデコーダ、
４                    ：データ入出力バッファ、
５                    ：データ入出力端子、
６                    ：ワード線制御回路、
７                    ：制御信号及び制御電圧発生回路、
８                    ：制御信号入力端子、
１０−０，１０−１，…  ：データラッチ回路、
１１                    ：半導体基板、
１２                    ：拡散層、
１３                    ：絶縁膜、
１４                    ：フローティングゲート電極、
１５                    ：絶縁膜（ＯＮＯ膜）、
１６                    ：コントロールゲート電極。
【図１】
0003629144.tif 000013
【図２】
0003629144.tif 000014
【図３】
0003629144.tif 000015
【図４】
0003629144.tif 000016
【図５】
0003629144.tif 000017
【図６】
0003629144.tif 000018
【図７】
0003629144.tif 000019
【図８】
0003629144.tif 000020
【図９】
0003629144.tif 000021
【図１０】
0003629144.tif 000022
【図１１】
0003629144.tif 000023
【図１２】
0003629144.tif 000024
【図１３】
0003629144.tif 000025
【図１４】
0003629144.tif 000026
【図１５】
0003629144.tif 000027
【図１６】
0003629144.tif 000028
【図１７】
0003629144.tif 000029
【図１８】
0003629144.tif 000030
【図１９】
0003629144.tif 000031
【図２０】
0003629144.tif 000032
【図２１】
0003629144.tif 000033
【図２２】
0003629144.tif 000034
【図２３】
0003629144.tif 000035
【図２４】
0003629144.tif 000036
【図２５】
0003629144.tif 000037
【図２６】
0003629144.tif 000038
【図２７】
0003629144.tif 000039
【図２８】
0003629144.tif 000040
【図２９】
0003629144.tif 000041
【図３０】
0003629144.tif 000042
【図３１】
0003629144.tif 000043
【図３２】
0003629144.tif 000044
【図３３】
0003629144.tif 000045