(57)【要約】【課題】カラム系回路の回路規模を、特にセンスアンプ回路、データラッチ回路、ベリファイ回路の数を減ずることによって小さくし、高集積化に適した不揮発性半導体記憶装置を提供する。【解決手段】  ｎ種類の書き込み状態に書き込みを行う書き込み動作に際し、ｋ（ｋは２≦ｋ≦ｎを満たす自然数）種類の書き込み状態に書き込みを行うメモリセルに対してほぼ同時に第１の書き込みを行い、第１の書き込み動作の前あるいは後に、ｎ−ｋ種類の書き込み状態に書き込みを行うメモリセルに書き込みを行う。【選択図】      図９
2006228427.tif 000002
【特許請求の範囲】
【請求項１】
電気的書き替え可能なｎ値（ｎは３以上の自然数）を記憶するメモリセルがマトリクス状に配置されたメモリセルアレイと、
メモリセルに書き込むデータを保持するデータ回路と、
前記メモリセルの書き込み動作後の状態が所望のデータの記憶状態になっているか否かを確認する書き込みベリファイ手段とを備え、
ｎ種類の書き込み状態に書き込みを行う書き込み動作に際し、ｋ（ｋは２≦ｋ≦ｎを満たす自然数）種類の書き込み状態に書き込みを行うメモリセルに対してほぼ同時に第１の書き込みを行い、第１の書き込み動作の前あるいは後に、ｎ−ｋ種類の書き込み状態に書き込みを行うメモリセルに書き込みを行うことを特徴とする不揮発性半導体記憶装置。
【請求項２】
“１”状態が消去状態であり、“２”状態、“３”状態、…、“ｎ”状態が書き込み状態であるような、電気的書き替え可能なｎ値（ｎは３以上の自然数）を記憶するメモリセルがマトリクス状に配置されたメモリセルアレイと、
メモリセルに書き込むデータを保持するデータ回路と、
前記メモリセルの書き込み動作後の状態が所望のデータの記憶状態になっているか否かを確認する書き込みベリファイ手段とを備え、
書き込み時に、ｎ種類の書き込み動作のうち、“３”状態、…、及び“ｎ”状態に書き込みを行うメモリセルにほぼ同時に第１の書き込み動作を行い、前記第２の書き込み動作の前あるいは後に、“２”状態に書き込みを行うことを特徴とする不揮発性半導体記憶装置。
【請求項３】
ｎ値の書き込み状態で、“１”状態、“２”状態、“３”、…“ｎ”状態の順で書き込みしきい値電圧が大きいことを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
４値データ“０”、“１”、“２”、“３”を記憶可能な複数のメモリセルと、
前記複数のメモリセルの一つに対応し、前記複数のメモリセルに書き込まれる書き込みデータ“０”、“１”、“２”、“３”を記憶する複数のデータ記憶回路と、
前記複数のメモリセルのうち、前記書き込みデータ“１”を記憶した前記データ記憶回路に対応するメモリセルに同時にデータ“１”を書き込む第１の書き込みシーケンスと、前記複数のメモリセルのうち、前記書き込みデータ“２”もしくは“３”を記憶した前記データ記憶回路に対応する前記複数のメモリセルに同時にデータ“２”もしくはデータ“３”を書き込む第２の書き込みシーケンスとを実行する書き込み制御回路とを具備し、
前記第１書き込みシーケンスにおいて、前記複数のメモリセルに、前記書き込みデータ“１”を書き込むための第１電圧を与え、データ“１”の書き込み成功を判断し、
前記第２書き込みシーケンスにおいて、前記複数のメモリセルに、前記書き込みデータ“２”もしくは前記書き込みデータ“３”を書き込むための第２電圧を与え、前記書き込みデータ“２”を記憶した前記データ記憶回路に対応する前記複数のメモリセルへのデータ“２”の書き込み成功、及び前記書き込みデータ“３”を記憶した前記データ記憶回路に対応する前記複数のメモリセルへのデータ“３”の書き込み成功を判断することを特徴とする不揮発性半導体記憶装置。
【請求項５】
前記第１書き込みシーケンスは前記第２書き込みシーケンスが終了した後、実行されることを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
前記データ”０”を記憶するメモリセルは消去状態であり、前記データ“１”、“２”及び“３”を記憶するメモリセルはそれぞれ、第１のしきい値電圧、第２のしきい値電圧及び第３のしきい値電圧を有することを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項７】
前記第１のしきい値電圧は、前記第２、第３のしきい値電圧よりも小さいことを特徴とする請求項６に記載の不揮発性半導体記憶装置。
【請求項８】
前記データ記憶回路の各々は、２ビットレジスタに前記書き込みデータを記憶することを特徴とする請求項４に記憶の不揮発性半導体記憶装置。
【請求項９】
前記２ビットレジスタは２つのＣＭＯＳ型フリップフロップから構成されることを特徴とする請求項８に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的書き換え可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）に係わり、特に１つのメモリセルに、１ビットより多い情報を記憶させる多値記憶ＥＥＰＲＯＭに関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭの大容量化を実現する手法の一つとして、１つのメモリセルにｎ（ｎ≧３）値の情報を記憶させる、多値記憶ＥＥＰＲＯＭが知られている。例えば、４値記憶式では、４種類のしきい値電圧の１つをそれぞれのセルが有し、これを（０、０）、（０、１）、（１、０）、（１、１）と表される２ビットの情報に対応させるものである。
【０００３】
ｎ値を記憶したメモリセルのデータを読みとるには、セルから読み出したデータを、（ｎ−１）個の基準電圧と比較する。このため、従来、（ｎ−１）個のセンスアンプを必要とした（例えば、特許文献１特開昭６１−１１７７９６号公報）。
【０００４】
４値記憶式のＥＥＰＲＯＭでは、２値記憶式セルのＥＥＰＲＯＭと比べ、メモリセルの記憶密度は２倍となり、メモリセルが占める面積は１／２になったのに対し、センスアンプが占める面積は３倍となり、高密度化の効果を減少させる。特に、ページ読み出しを行うためにビット線毎にセンスアンプを設けるタイプのＥＥＰＲＯＭでは、センスアンプ数の増加が大容量化の妨げとなる。
【０００５】
これに対して特許文献２には、セルデータを判別したセンスアンプの出力によって、他のセンスアンプの基準電圧を制御することにより、センスアンプの数を減らした事を特徴とした読みとり専用メモリが開示されている。
【０００６】
一方、メモリセルにｎ（ｎ≧３）種類のしきい値電圧を記憶する多値記憶ＥＥＰＲＯＭでは、記憶データを書き込むときに、それぞれのしきい値電圧を、より狭い範囲に分布させる必要がある。このため、書き込みを小刻みに行い、書き込みと書き込みとの間に、それぞれのメモリセルが目的とするしきい値範囲に書き込まれたか否かをチェックし、書き込み不足のセルがあればそのセルにのみ追加書き込みを行い、それぞれのメモリセル毎に、最適の書き込みがなされるよう制御するビット毎ベリファイが有効となっている。なお、ビット毎ベリファイは特許文献３に開示されている。
【０００７】
また、多値記憶ＥＥＰＲＯＭに対するビット毎ベリファイは、特許文献４に開示されている。しかし、特許文献４に開示された装置では、センスアンプ及びベリファイ回路をそれぞれ、（ｎ−１）個ずつ必要としている。よって、メモリセルは、より多くのデータを記憶することにより、同じ面積のチップに大容量のデータを蓄積できるようになっているものの、データの読み出し／書き込みを制御する回路が大規模になり、高集積化に難点があった。
【０００８】
また、３値データを記憶するメモリセルに対する書き込みデータを２個のフリップフロップＦＦ１、２に保持する不揮発性半導体記憶装置は、特許文献５に記載されている。
【０００９】
さらに、書き込み後のベリファイ読み出し時に、メモリセルのゲート電極に、“２”状態に達したか否か、“１”または“２”に達したか否かを検出するための各検出電圧を印加する不揮発性半導体記憶装置は、特許文献４に記載されている。
【特許文献１】特開昭６１−１１７７９６号公報
【特許文献２】特開昭６２−５４８９６号公報
【特許文献３】特開平３−２９５０９８号公報
【特許文献４】特開平７−９３９７９号公報
【特許文献５】特開平７−１６１８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このように、従来、ベリファイ機能を有した多値記憶ＥＥＰＲＯＭでは、多値のデータの数を“ｎ≧３”としたとき、（ｎ−１）個のベリファイ回路を必要としていた。このため、センスアンプ・データラッチ回路も、ベリファイ回路に応じ、（ｎ−１）個必要としている。
【００１１】
以上のような事情により、ビット線に接続される回路、つまりカラム系回路の回路規模、特にセンスアンプ回路、データラッチ回路、ベリファイ回路の数が膨大なものとなって、高集積化のネックになっている。
【００１２】
この発明は、カラム系回路の回路規模を、特にセンスアンプ回路、データラッチ回路、ベリファイ回路の数を減ずることによって小さくし、高集積化に適した不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【００１３】
この発明の第１態様に係る不揮発性半導体記憶装置は、電気的書き替え可能なｎ値（ｎは３以上の自然数）を記憶するメモリセルがマトリクス状に配置されたメモリセルアレイと、メモリセルに書き込むデータを保持するデータ回路と、前記メモリセルの書き込み動作後の状態が所望のデータの記憶状態になっているか否かを確認する書き込みベリファイ手段とを備え、ｎ種類の書き込み状態に書き込みを行う書き込み動作に際し、ｋ（ｋは２≦ｋ≦ｎを満たす自然数）種類の書き込み状態に書き込みを行うメモリセルに対してほぼ同時に第１の書き込みを行い、第１の書き込み動作の前あるいは後に、ｎ−ｋ種類の書き込み状態に書き込みを行うメモリセルに書き込みを行う。
【００１４】
この発明の第２態様に係る不揮発性半導体記憶装置は、“１”状態が消去状態であり、“２”状態、“３”状態、…、“ｎ”状態が書き込み状態であるような、電気的書き替え可能なｎ値（ｎは３以上の自然数）を記憶するメモリセルがマトリクス状に配置されたメモリセルアレイと、メモリセルに書き込むデータを保持するデータ回路と、前記メモリセルの書き込み動作後の状態が所望のデータの記憶状態になっているか否かを確認する書き込みベリファイ手段とを備え、書き込み時に、ｎ種類の書き込み動作のうち、“３”状態、…、及び“ｎ”状態に書き込みを行うメモリセルにほぼ同時に第１の書き込み動作を行い、前記第２の書き込み動作の前あるいは後に、“２”状態に書き込みを行う。
【００１５】
この発明の第３態様に係る不揮発性半導体記憶装置は、４値データ“０”、“１”、“２”、“３”を記憶可能な複数のメモリセルと、前記複数のメモリセルの一つに対応し、前記複数のメモリセルに書き込まれる書き込みデータ“０”、“１”、“２”、“３”を記憶する複数のデータ記憶回路と、前記複数のメモリセルのうち、前記書き込みデータ“１”を記憶した前記データ記憶回路に対応するメモリセルに同時にデータ“１”を書き込む第１の書き込みシーケンスと、前記複数のメモリセルのうち、前記書き込みデータ“２”もしくは“３”を記憶した前記データ記憶回路に対応する前記複数のメモリセルに同時にデータ“２”もしくはデータ“３”を書き込む第２の書き込みシーケンスとを実行する書き込み制御回路とを具備し、前記第１書き込みシーケンスにおいて、前記複数のメモリセルに、前記書き込みデータ“１”を書き込むための第１電圧を与え、データ“１”の書き込み成功を判断し、前記第２書き込みシーケンスにおいて、前記複数のメモリセルに、前記書き込みデータ“２”もしくは前記書き込みデータ“３”を書き込むための第２電圧を与え、前記書き込みデータ“２”を記憶した前記データ記憶回路に対応する前記複数のメモリセルへのデータ“２”の書き込み成功、及び前記書き込みデータ“３”を記憶した前記データ記憶回路に対応する前記複数のメモリセルへのデータ“３”の書き込み成功を判断する。
【発明の効果】
【００１６】
この発明によれば、カラム系回路の回路規模を、特にセンスアンプ回路、データラッチ回路、ベリファイ回路の数を減ずることによって小さくしたことで、高集積化に適した不揮発性半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１８】
＜実施の形態１＞
図１は、この発明の第１の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭの構成を示す構成図である。
【００１９】
図１に示すように、第１の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭは、オープンビット型と呼ばれる構成を有している。オープンビット型の多値記憶ＮＡＮＤ型ＥＥＰＲＯＭは、メモリセルがマトリクス状に配置されて構成されるメモリセルアレイ１Ａ、１Ｂそれぞれに対して設けられたロウ系回路２Ａ、２Ｂと、メモリセルアレイ１Ａ、１Ｂそれぞれで共通に使用されるカラム系回路３**とを有している。
【００２０】
ロウ系回路２Ａ、２Ｂには、アドレス入力回路（アドレスバッファ）４から出力されたアドレス信号を受け、受けたアドレス信号に基いて、メモリセルアレイのロウを選択するロウデコーダと、ロウデコーダの出力に基いて、メモリセルアレイのワード線を駆動するワード線駆動回路が含まれている。ＮＡＮＤ型ＥＥＰＲＯＭの場合、ワード線は、選択ゲートＳＧ（ＳＧＡ、ＳＧＢ）および制御ゲートＣＧ（ＣＧＡ、ＣＧＢ）を指す。そして、ワード線駆動回路は、制御ゲート／選択ゲート駆動回路と読み替えられる。
【００２１】
また、メモリセルアレイ１Ａ、１Ｂそれぞれで共通に使用されるカラム系回路３**には、アドレスバッファ４から出力されたアドレス信号を受け、受けたアドレス信号に基いて、メモリセルアレイのカラムを選択するカラムデコーダと、カラムデコーダの出力に基いて、メモリセルアレイのカラムを選択するカラム選択線を駆動するカラム選択線駆動回路とが含まれている。
【００２２】
さらに、カラム系回路３**には、メモリセルへの書き込みデータを一時的に保持したり、メモリセルのデータを読み出したりするためのデータ回路（ビット線制御回路）が含まれている。
【００２３】
ビット線制御回路は、データ入出力線ＩＯを介して、データ入出力回路（データ入出力バッファ）５に接続されている。また、ビット線制御回路は、ビット線ＢＬａを介して、メモリセルアレイ１Ａのメモリセルに、ビット線ＢＬｂを介して、メモリセルアレイ１Ｂのメモリセルにそれぞれ接続されている。
【００２４】
ビット線制御回路は、データを書き込むとき、書き込みデータを、データ入出力バッファ５から受け、受けた書き込みデータをメモリセルへ入力する。また、ビット線制御回路は、データを読み出すとき、読み出しデータを、メモリセルから受け、受けた読み出しデータをデータ入出力バッファ５へ出力する。
【００２５】
データ入出力バッファ５は、データ入出力制御を行うもので、ＥＥＰＲＯＭの外部から入力された書き込みデータをメモリコアへ導いたり、メモリコアから読み出された読み出しデータを、ＥＥＰＲＯＭの外部へ出力したりする。
【００２６】
書き込み終了検知回路１８は、ビット線制御回路の出力に基いて、データ書き込みが終了したか否かを検知する。
【００２７】
図２は、図１に示すメモリセルアレイ、およびカラム系回路の構成を示す構成図である。図３は、図２に示すメモリセルからデータを読み出すときを示す図で、（ａ）図は電圧の入力状態を示す図、（ｂ）図は電圧の入力波形と、ビット線に現れる出力波形とを示す図である。
【００２８】
図２に示すように、メモリセルアレイ１Ａ、１Ｂにはそれぞれ、メモリセルＭＣがマトリクス状に配置されている。
【００２９】
また、カラム系回路３**には、ｍ個のデータ回路（ビット線制御回路）６**が含まれている。ビット線制御回路６**は、１本のビット線ＢＬａ、および１本のビット線ＢＬｂに接続されている。
【００３０】
また、図３（ａ）に示すように、ＮＡＮＤ型ＥＥＰＲＯＭでは、１つのセルＭＣには、互いに直列に接続された複数のメモリセルトランジスタＭ１〜Ｍ４が含まれ、ＮＡＮＤ型のセルＭＣを構成している。セルＭＣの一端は、選択トランジスタＳ１を介してビット線ＢＬに接続され、その他端は、選択トランジスタＳ２を介して、ソース線Ｖｓに接続される。制御ゲートＣＧを共有するメモリセルトランジスタＭのグループは、“ページ”と呼ばれる単位を形成する。データの書き込みおよび読み出しは、“ページ”で同時に行われる。また、４本の制御ゲートＣＧ１〜ＣＧ４に接続されるメモリセルトランジスタＭのグループは、“ブロック”と呼ばれる単位を形成する。“ページ”、および“ブロック”はそれぞれ、制御ゲート／選択ゲート駆動回路によって選択される。
【００３１】
メモリセルトランジスタＭは、多値のデータは、しきい値のレベルにより記憶する。そして、この発明に係る装置では、しきい値のレベルを、図３（ａ）および（ｂ）に示されるようにして読み出す。ここでは制御ゲートＣＧ２を有するメモリセルトランジスタＭ２が選択されている。図３（ａ）に見られるように電圧を各部に印加し、ビット線ＢＬはフローティングにする。ビット線ＢＬを前もって０Ｖにリセットしておくと、ビット線ＢＬは共通ソース線ＶｓによってＮＡＮＤセルを通して充電される。この充電されたビット線ＢＬの電位が選択されたメモリセルＭ２のしきい値によって決まるように、各選択ゲート、制御ゲート電圧は制御される。
【００３２】
この例では、選択ゲートＳＧ１、２、制御ゲートＣＧ１、ＣＧ３〜４を６Ｖに、選択された制御ゲートＣＧ２を２Ｖに、共通ソース線Ｖｓを６Ｖにする。各部の電圧波形は図３（ｂ）に示されている。例えばビット線ＢＬの電位が０Ｖであればしきい値は２Ｖ以上、ビット線電位が３．５Ｖであればしきい値は−１．５Ｖ以下である。ただし以下の実施の形態では、説明を簡略化するため、しきい値という表現は、バックバイアスを考慮したものとする。
【００３３】
消去動作によってメモリセルの浮遊ゲートから電子が放出された後、書き込みデータに従う書き込み動作によって電子が浮遊ゲートに注入される。
【００３４】
図４は、ビット線に現れる出力電圧と、メモリセルの数とを関係を示す図である。
【００３５】
１つのメモリセルに３つの状態（データ”０”、”１”、”２”）を持たせる場合、例えば図４の様に読みだし時のビット線出力電圧が３．５〜４．５Ｖとなる状態（しきい値で約−２．５Ｖ〜−１．５Ｖ）をデータ”０”（消去状態）、ビット線出力電圧が１．５〜２．５Ｖとなる状態（しきい値で約−０．５Ｖ〜０．５Ｖ）をデータ”１”、ビット線出力電圧が０〜０．５Ｖとなる状態（しきい値で約１．５Ｖ〜２．５Ｖ）をデータ”２”とすればよい。
【００３６】
図５は、図２に示すデータ回路の回路図である。図５に示すデータ回路は、３値記憶を例に構成されている。
【００３７】
図５に示すように、ｎチャネルＭＯＳトランジスタＱｎ２１、Ｑｎ２２、Ｑｎ２３とｐチャネルＭＯＳトランジスタＱｐ９、Ｑｐ１０、Ｑｐ１１により構成されるフリップフロップＦＦ１と、ｎチャネルＭＯＳトランジスタＱｎ２９、Ｑｎ３０、Ｑｎ３１とｐチャネルＭＯＳトランジスタＱｐ１６、Ｑｐ１７、Ｑｐ１８により構成されるＦＦ２とには、書き込み／読み出しデータがラッチされる。また、これらはセンスアンプとしても動作する。
【００３８】
フリップフロップＦＦ１は「“０”書き込みをするか、あるいは“１”書き込みまたは“２”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“０”の情報を保持しているか、あるいは“１”の情報を保持しているか、または“２”の情報を保持しているか」を読み出しデータ情報としてセンスしラッチする。フリップフロップＦＦ２は「“１”書き込みをするか、または“２”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“１”の情報を保持しているか、あるいは“２”の情報を保持しているか」を読み出しデータ情報としてセンスしラッチする。
【００３９】
データ入出力線ＩＯＡ、ＩＯＢとフリップフロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２８、Ｑｎ２７を介して接続される。データ入出力線ＩＯＣ、ＩＯＤとフリップフロップＦＦ２は、ｎチャネルＭＯＳトランジスタＱｎ３５、Ｑｎ３６を介して接続される。データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤは、図１中のデータ入出力バッファ５にも接続される。
【００４０】
ｎチャネルＭＯＳトランジスタＱｎ２７、Ｑｎ２８、Ｑｎ３５、Ｑｎ３６のゲートは、ＮＡＮＤ論理回路Ｇ２とインバータＩ４で構成されるカラムアドレスデコーダの出力に接続される。ｎチャネルＭＯＳトランジスタＱｎ２６、Ｑｎ３４は、それぞれフリップフロップＦＦ１、ＦＦ２を信号ＥＣＨ１、ＥＣＨ２が“Ｈ”となってイコライズする。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ３２は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ１の接続を制御する。ｎチャネルＭＯＳトランジスタＱｎ２５、Ｑｎ３３は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ２の接続を制御する。
【００４１】
ｐチャネルＭＯＳトランジスタＱｐ１２、Ｑｐ１３で構成される回路は、活性化信号ＶＲＦＹＢＡによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４、Ｑｐ１５で構成される回路は、活性化信号ＶＲＦＹＢＢによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ１、Ｑｎ２で構成される回路は、活性化信号ＶＲＦＹＢＡ１によって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ３、Ｑｎ４で構成される回路は、活性化信号ＶＲＦＹＢＢ１によって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【００４２】
ＭＯＳキャパシタＱｄ１、Ｑｄ２は、ディプリーション型ｎチャネルＭＯＳトランジスタで構成され、ビット線容量より十分小さくされる。ｎチャネルＭＯＳトランジスタＱｎ３７は、信号ＰＲＥＡによってＭＯＳキャパシタＱｄ１を電圧ＶＡに充電する。ｎチャネルＭＯＳトランジスタＱｎ３８は、信号ＰＲＥＢによってＭＯＳキャパシタＱｄ２を電圧ＶＢに充電する。ｎチャネルＭＯＳトランジスタＱｎ３９、Ｑｎ４０は、信号ＢＬＣＡ、ＢＬＣＢによって、データ回路３とビット線ＢＬａ、ＢＬｂの接続をそれぞれ制御する。ｎチャネルＭＯＳトランジスタＱｎ３７、Ｑｎ３８で構成される回路はビット線電圧制御回路を兼ねる。ｐチャネルＭＯＳトランジスタＱｐ１２、Ｑｐ１３で構成される回路、ｐチャネルＭＯＳトランジスタＱｐ１４、Ｑｐ１５で構成される回路、ｎチャネルＭＯＳトランジスタＱｎ１、Ｑｎ２で構成される回路、およびｎチャネルＭＯＳトランジスタＱｎ３、Ｑｎ４で構成される回路は、ビット線電圧制御回路でもある。
【００４３】
次に、このように構成されたＥＥＰＲＯＭの動作を、動作波形図に従って説明する。以下では制御ゲートＣＧ２Ａが選択されている場合を示す。
【００４４】
＜読み出し動作＞
図６は、読み出し動作を示す動作波形図である。
【００４５】
図６に示すように、まず、時刻ｔ１Ｒに、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは２Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２Ａは６Ｖにされる。メモリセルのソース電位は６Ｖにされる。メモリセルが“０”の場合にはビット線ＢＬａは３．５Ｖ以上に、“１”の場合にはビット線ＢＬａは１．５Ｖ以上２．５Ｖ以下に、“２”の場合には０．５Ｖ以下になる。ダミービット線ＢＬｂはＶＢから３Ｖに充電される。ｎチャネルＭＯＳトランジスタＱｎ４０のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。
【００４６】
時刻ｔ２ＲにキャパシタＱｄ１、Ｑｄ２のノードＮ１、Ｎ２が１．５Ｖにされた後フローティングにされる。時刻ｔ３ＲにＢＬＣＡ、ＢＬＣＢがＶＣＣ（例えば５Ｖ）になり、ビット線ＢＬａ、ＢＬｂの電位がＮ１、Ｎ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ２５のしきい値分の電圧降下分が問題になるときは、信号ＲＶ１Ａ、ＲＶ１Ｂを昇圧すればよい。時刻ｔ４Ｒに再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１、Ｎ２の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”或いは、“１”または“２”か」がフリップフロップＦＦ１によってセンスされ、その情報はラッチされる。
【００４７】
次に、メモリセルが“１”であるかまたは“２”であるかがセンスされる。
【００４８】
時刻ｔ５Ｒにダミービット線ＢＬｂがＶＢから１Ｖに充電される。時刻ｔ６ＲにキャパシタＱｄ１、Ｑｄ２のノードＮ１、Ｎ２が１．５Ｖにされた後フローティングにされる。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔ７Ｒに再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、メモリセルのデータが“１”であるか“２”であるかがフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【００４９】
図７は、フリップフロップＦＦ１、ＦＦ２がセンスし、ラッチする読み出しデータを示す図である。
【００５０】
この時のフリップフロップＦＦ１、ＦＦ２のデータは、図７のようになり、データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに読み出しデータが出力される。
【００５１】
チップ外部への出力データは、入出力バッファ５で、データ入力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力された信号をもとに変換したものもよい。
【００５２】
＜書き込み動作＞
書き込み動作前に、入力された２ビット分のデータは、データ入出力バッファ４で変換されて、データ回路６**に入力される。
【００５３】
図８は、データ回路６**に入力され、フリップフロップＦＦ１、ＦＦ２がラッチする書き込みデータを示す図である。４値データとデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤの関係は図８のとおりである。
【００５４】
変換された３値データは、カラム活性化信号ＣＥＮＢが“Ｈ”で、アドレス信号で指定されたカラム番地のデータ回路に転送される。
【００５５】
図９は、書き込み動作を示す動作波形図である。
【００５６】
時刻ｔ１ｗに、電圧ＶＡがビット線書き込み制御電圧１Ｖとなってビット線ＢＬａが１Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３９のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。続いて、信号ＰＲＥが“Ｌ”となってビット線がフローティングにされる。次に、時刻ｔ２ｗに信号ＲＶ２Ａが１．５Ｖとされる。これによって、データ“２”が保持されているカラムではビット線制御電圧０Ｖがビット線に印加される。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値を１Ｖとすると、“０”または“１”書き込み時にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”、“２”書き込み時には“ＯＮ”となる。その後、時刻ｔ３ｗにＶＲＦＹＢＡが０Ｖになり、データ“０”が保持されているデータ回路からはビット線書き込み制御電圧ＶＣＣ（例えば５Ｖ）がビット線に出力される。
【００５７】
その結果、“０”書き込みするビット線はＶＣＣ、“１”書き込みするビット線は１Ｖ、“２”書き込みするビット線は０Ｖになる。
【００５８】
時刻ｔ１ｗに制御ゲート・選択ゲート駆動回路によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとなる。選択ゲートＳＧ２Ａは０Ｖである。次に、選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡがＶＭ（例えば１０Ｖ）となる。データ“２”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。データ“１”が保持されているデータ回路に対応するメモリセルでは、１Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。チャネル電位を１Ｖにしているのは、“２”データ書き込みより電子の注入量が少なくてよいからである。データ“０”が保持されているデータ回路に対応するメモリセルでは、チャネル電位と制御ゲートのＶＰＰの電位差が小さいため、実効的には浮遊ゲートに電子は注入されない。よって、メモリセルのしきい値は変動しない。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＶＲＦＹＢＢ、ＰＲＥＢ、ＢＬＣＢは“Ｈ”、信号ＳＡＰ１、ＳＡＰ２、ＲＶ１Ａ、ＲＶ１Ｂ、ＲＶ２Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”、電圧ＶＢは０Ｖである。
【００５９】
＜ベリファイ読み出し動作＞
図１０は、ベリファイ読み出し動作を示す動作波形図である。
【００６０】
まず、時刻ｔ１ＲＶに、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは２Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２Ａは６Ｖにされる。メモリセルのソース電位は６Ｖにされる。“０”書き込みの場合にはビット線ＢＬａは３．５Ｖ以上になる。“１”書き込み十分の場合にはビット線ＢＬａは２．５Ｖ以下に、“１”書き込み不十分の場合には１．５Ｖ以上になる。“２”書き込み十分の場合には０．５Ｖ以下に、“２”書き込み不十分の場合には０．５Ｖ以上になる。ダミービット線ＢＬｂはＶＢから２．５Ｖに充電される。ダミービット線ＢＬｂの電位を“１”読み出し時の３Ｖよりも０．５Ｖだけ小さくしているのは、メモリセルを十分に書き込むためである。またｎチャネルＭＯＳトランジスタＱｎ４０のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。
【００６１】
時刻ｔ２ＲＶにキャパシタＱｄ１、Ｑｄ２のノードＮ１、Ｎ２が１．５Ｖにされた後フローティングにされる。そして、時刻ｔ３ＲＶにＶＲＦＹＢＢ１が“Ｈ”になる。この時、図７からわかるように、ノードＮ６が“Ｈ”なのは“２”書き込みの場合だけである。従って“２”書き込みするダミービット線ＢＬｂはＶrefから０．５Ｖになる。“２”書き込みのダミービット線ＢＬｂの電位を“２”読み出し時の１Ｖよりも０．５Ｖだけ小さくしているのは、メモリセルを十分に書き込むためである。“０”または“１”書き込みの場合にはＮ６が“Ｌ”なのでｎチャネルＭＯＳトランジスタＱｎ４はオフし、ダミービット線ＢＬｂは２．５Ｖを保つ。
【００６２】
時刻ｔ４ＲＶに、ＢＬＣＡ、ＢＬＣＢがＶＣＣ（例えば５Ｖ）になり、ビット線ＢＬａ、ＢＬｂの電位がＮ１、Ｎ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【００６３】
時刻ｔ５ＲＶにＲＶ１Ａが１．５Ｖになる。これによって、データ“０”書き込みするカラムではＮ１が接地される。ｎチャネルＭＯＳトランジスタＱｎ２４のしきい値を１Ｖとすると、“１”または“２”書き込み時にはｎチャネルＭＯＳトランジスタＱｎ２４は“ＯＦＦ”、“０”書き込み時には“ＯＮ”となる。
【００６４】
信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ２５のしきい値分の電圧降下分が問題になるときは、信号ＲＶ１Ａ、ＲＶ１Ｂを昇圧すればよい。時刻ｔ４Ｒに再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１、Ｎ２の電圧がセンスされラッチされる。
【００６５】
以上のようにして、“１”書き込みデータを保持しているデータ回路では、対応するメモリセルのデータが十分“１”書き込み状態となったか否かを検出する。メモリセルのデータが“１”であれば、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“１”に変更される。メモリセルのデータが“１”でなければ、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“１”に保持される。また、“２”書き込みデータを保持しているデータ回路では、対応するメモリセルのデータが十分“２”書き込み状態となったか否かを検出する。メモリセルのデータが“２”であれば、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“２”でなければ、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“２”に保持される。“０”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【００６６】
書き込みベリファイ中、信号ＶＲＦＹＢＢは“Ｈ”、電圧Ｖｓは０Ｖとする。
【００６７】
“１”書き込みまたは“２”書き込みする全ての選択されたメモリセルが所望のしきい値に達していれば、データ回路のノードＮ４はすべて“Ｌ”になる。つまり“１”書き込みまたは“２”書き込みする選択されたすべてのメモリセルが十分に書き込まれると、すべてのデータ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ３が“Ｈ”、Ｎ４が“Ｌ”になる。これを検出すると、“２”書き込みまたは“３”書き込みする全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。“２”書き込みおよび“３”書き込み終了の検出は例えば、図５のように“２”、“３”書き込み終了一括検知トランジスタＱｎ５を用いればよい。ベリファイリード後、ＶＲＴを例えばＶＣＣにプリチャージする。“１”または“２”書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ４は“Ｈ”なのでｎチャネルＭＯＳトランジスタＱｎ５はオンし、ＶＲＴは接地される。すべての“１”または“２”書き込みするメモリセルが十分に書き込まれると、データ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ４が“Ｌ”になる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ５がオフになるのでＶＲＴはプリチャージ電位を保つ。
【００６８】
上記第１の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭでは、データの書き込みを行う際に、少なくとも１つのビット線電圧制御回路によって、ビット線を所望のビット線書き込み制御電圧に充電する。このような装置であると、簡単な回路構成を持つ、ｎ（ｎ≧２）値書き込みデータに応じたビット線書き込み制御電圧を、ビット線に印加するビット線電圧制御回路を実現することができる。
【００６９】
よって、カラム系回路３の回路規模が、特にセンスアンプ回路、データラッチ回路、ベリファイ回路の数が減ずることによって小さくなり、高集積化に適した不揮発性半導体記憶装置を得ることができる。
【００７０】
＜実施の形態２＞
次に、この発明の第２の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭを説明する。
【００７１】
第１の実施の形態に係るＥＥＰＲＯＭは、多値のデータの数を、３値とした例を説明したが、第２の実施の形態に係るＥＥＰＲＯＭ以降は、多値のデータの数を４値とした例を説明する。
【００７２】
なお、第２の実施の形態に係るＥＥＰＲＯＭは、図１、図２に示した構成と同様な構成を持つ。
【００７３】
図１１は、４値記憶のときのメモリセルトランジスタのしきい値分布を示す図である。
【００７４】
ＥＥＰＲＯＭを４値記憶式とするときには、１つのメモリセルトランジスタＭに、４つの書き込み状態を設ける。４つの書き込み状態はそれぞれ、メモリセルトランジスタＭのしきい値電圧により、互いに区別される。
【００７５】
図１１に示すように、電源電圧ＶＣＣが３ＶであるＥＥＰＲＯＭでは、データ“０”の状態は、データ消去後の状態と同じとし、例えば負のしきい値を持たせる。また、データ“１”の状態には、例えば０．５Ｖから０．８Ｖの間のしきい値を持たせる。データ“２”の状態には、例えば１．５Ｖから１．８Ｖの間のしきい値を持たせる。データ“３”の状態には、例えば２．５Ｖから２．８Ｖの間のしきい値を持たせる。
【００７６】
メモリセルトランジスタＭからデータを読み出すときには、制御ゲートＣＧに、３つの読み出し電圧ＶＣＧ２Ｒ、ＶＣＧ３Ｒ、ＶＣＧ１Ｒの順で印加する。
【００７７】
まず、制御ゲートＣＧに、読み出し電圧ＶＣＧ２Ｒを印加する。これにより、メモリセルトランジスタＭが「ＯＮ」するか「ＯＦＦ」するかで、記憶されているデータが「“０”、“１”」か、「“２”、“３”」かが検出される。続けて、読み出し電圧ＶＣＧ３Ｒを印加すると、記憶されているデータが「“２”」か、「“３”」かが検出され、さらに、読み出し電圧ＶＣＧ１Ｒを印加すると、データが「“０”」か、「“１”」かが検出される。読み出し電圧ＶＣＧ１Ｒ、ＶＣＧ２Ｒ、ＶＣＧ３Ｒの一つの例は、それぞれ０Ｖ、１Ｖ、２Ｖである。
【００７８】
また、図１１に示す電圧ＶＣＧ１Ｖ、ＶＣＧ２Ｖ、ＶＣＧ３Ｖは、ベリファイ読み出し電圧と呼ばれるもので、データが十分に書き込まれたか否かをチェックするとき（ベリファイ動作）に使用される読み出し電圧である。ベリファイ読み出し電圧は、データを書き込んだ後に制御ゲートＣＧに印加される。ベリファイ読み出し電圧が制御ゲートＣＧに印加されたとき、メモリセルトランジスタＭが「ＯＮ」するか「ＯＦＦ」するかで、メモリセルトランジスタＭのしきい値が、書き込まれたデータに応じた範囲までシフトされているか否かを知ることができる。これを利用して、十分な書き込みが行われたか否かをチェックする。ベリファイ読み出し電圧ＶＣＧ１Ｖ、ＶＣＧ２Ｖ、ＶＣＧ３Ｖの一つの例は、それぞれ０．５Ｖ、１．５Ｖ、２．５Ｖである。
【００７９】
図１２は、この発明の第２の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図である。図１２に示すデータ回路は、４値記憶を例に構成されている。
【００８０】
図１２に示すように、ｎチャネルＭＯＳトランジスタＱｎ２１、Ｑｎ２２、Ｑｎ２３とｐチャネルＭＯＳトランジスタＱｐ９、Ｑｐ１０、Ｑｐ１１により構成されるフリップフロップＦＦ１と、ｎチャネルＭＯＳトランジスタＱｎ２９、Ｑｎ３０、Ｑｎ３１とｐチャネルＭＯＳトランジスタＱｐ１６、Ｑｐ１７、Ｑｐ１８により構成されるＦＦ２とには、書き込み／読み出しデータがラッチされる。また、これらはセンスアンプとしても動作する。
【００８１】
フリップフロップＦＦ１、ＦＦ２は、「“０”書き込みをするか、“１”書き込みをするか、“２”書き込みをするか、“３”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“０”の情報を保持しているか、“１”の情報を保持しているか、“２”の情報を保持しているか、“３”の情報を保持しているか」を読み出しデータ情報としてセンスしラッチする。
【００８２】
データ入出力線ＩＯＡ、ＩＯＢとフリップフロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２８、Ｑｎ２７を介して接続される。データ入出力線ＩＯＣ、ＩＯＤとフリップフロップＦＦ２は、ｎチャネルＭＯＳトランジスタＱｎ３５、Ｑｎ３６を介して接続される。データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤは、図１に示したデータ入出力バッファ５にも接続される。
【００８３】
ｎチャネルＭＯＳトランジスタＱｎ２７、Ｑｎ２８、Ｑｎ３５、Ｑｎ３６のゲートは、ＮＡＮＤ論理回路Ｇ２とインバータＩ４で構成されるカラムアドレスデコーダの出力に接続される。ｎチャネルＭＯＳトランジスタＱｎ２６、Ｑｎ３４は、それぞれフリップフロップＦＦ１、ＦＦ２を信号ＥＣＨ１、ＥＣＨ２が“Ｈ”となってイコライズする。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ３２は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ１の接続を制御する。ｎチャネルＭＯＳトランジスタＱｎ２５、Ｑｎ３３は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ２の接続を制御する。
【００８４】
ｐチャネルＭＯＳトランジスタＱｐ１２、Ｑｐ１３で構成される回路は、活性化信号ＶＲＦＹＢＡによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４、Ｑｐ１５で構成される回路は、活性化信号ＶＲＦＹＢＢによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ１、Ｑｎ２で構成される回路は、活性化信号ＶＲＦＹＢＡ１によって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ３、Ｑｎ４で構成される回路は、活性化信号ＶＲＦＹＢＢ１によって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【００８５】
ＭＯＳキャパシタＱｄ１、Ｑｄ２は、ディプリーション型ｎチャネルＭＯＳトランジスタで構成され、ビット線容量より十分小さくされる。ｎチャネルＭＯＳトランジスタＱｎ３７は、信号ＰＲＥＡによってＭＯＳキャパシタＱｄ１を電圧ＶＡに充電する。ｎチャネルＭＯＳトランジスタＱｎ３８は、信号ＰＲＥＢによってＭＯＳキャパシタＱｄ２を電圧ＶＢに充電する。ｎチャネルＭＯＳトランジスタＱｎ３９、Ｑｎ４０は、信号ＢＬＣＡ、ＢＬＣＢによって、データ回路３とビット線ＢＬａ、ＢＬｂの接続をそれぞれ制御する。ｎチャネルＭＯＳトランジスタＱｎ３７、Ｑｎ３８で構成される回路はビット線電圧制御回路を兼ねる。ｐチャネルＭＯＳトランジスタＱｐ１２、Ｑｐ１３で構成される回路、ｐチャネルＭＯＳトランジスタＱｐ１４、Ｑｐ１５で構成される回路、ｎチャネルＭＯＳトランジスタＱｎ１、Ｑｎ２で構成される回路、およびｎチャネルＭＯＳトランジスタＱｎ３、Ｑｎ４で構成される回路は、ビット線電圧制御回路でもある。また、フリップフロップＦＦ２とｎチャネルＭＯＳトランジスタＱｎ３２、Ｑｎ３３で構成される回路もビット線電圧制御回路を兼ねる。
【００８６】
次に、このように構成されたＥＥＰＲＯＭの動作を、動作波形図に従って説明する。以下では制御ゲートＣＧ２Ａが選択されている場合を示す。
【００８７】
＜読み出し動作＞
図１３は、読み出し動作を示す動作波形図である。
【００８８】
図１３に示すように、まず、時刻ｔ１Ｒに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。続いて、時刻ｔ２Ｒに制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは１Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が１Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後、時刻ｔ３Ｒに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”となりビット線のデータがＭＯＳキャパシタＱｄ１、Ｑｄ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、選択された制御ゲートが２Ｖにされる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。時刻ｔ４Ｒに再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１、Ｎ２の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”または“１”か、或いは“２”または“３”か」がフリップフロップＦＦ１によってセンスされ、その情報はラッチされる。
【００８９】
次に、時刻ｔ５Ｒに信号ＰＲＥＡ、ＰＲＥＢが“Ｈ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はそれぞれ１．８Ｖ、１．５Ｖになる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。選択されたメモリセルのしきい値が２Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後、時刻ｔ６Ｒに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされる。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔ７Ｒに再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、メモリセルのデータが“３”か否かがフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【００９０】
図１４は、時刻ｔ７ＲのときにフリップフロップＦＦ１、ＦＦ２がセンスし、ラッチしている読み出しデータを示す図である。
【００９１】
最後にメモリセルに書き込まれたデータが「“０”か否か」がセンスされる。まず時刻ｔ８Ｒに、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖに充電された後、フローティングになる。また、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２もフローティング状態になる。続いて、時刻ｔ９Ｒに制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後、時刻ｔ１０Ｒに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”となりビット線のデータがＭＯＳキャパシタＱｄ１、Ｑｄ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。ＭＯＳキャパシタのデータをセンスするに先立ち、時刻ｔ１１ＲにＶＲＦＹＢＡ１がＶＣＣになる。図１４からわかるように、ノードＮ５が“ｈｉｇｈ ｌｅｖｅｌ”なのは“３”データの場合のみである。従って“３”データの場合のみｎチャネルＭＯＳトランジスタＱｎ２がオンし、ノードＮ１は接地される。そして、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔ１２Ｒに再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”か否か」がフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【００９２】
図１５は、フリップフロップＦＦ１、ＦＦ２がセンスし、ラッチする読み出しデータを示す図である。
【００９３】
以上の読み出し動作の結果、４値のデータが図１５のようにフリップフロップＦＦ１、ＦＦ２にラッチされる。
【００９４】
図中の各データのしきい値分布は次のとおりである。
【００９５】
データ“０”・・・しきい値：０Ｖ以下
データ“１”・・・しきい値０．５Ｖ以上０．８Ｖ以下
データ“２”・・・しきい値１．５Ｖ以上１．８Ｖ以下
データ“３”・・・しきい値２．５Ｖ以上２．８Ｖ以下
読み出し中、信号ＶＲＦＹＢＡ、ＶＲＦＹＢＢは“Ｈ”である。また、電圧Ｖｓ（Ｖsa、Ｖsb）は０Ｖとする。
【００９６】
カラムアドレスデコーダに入力されるカラム活性化信号ＣＥＮＢが“Ｈ”となると、アドレス信号によって選択されたデータ回路に保持されているデータがデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力され、データ入出力バッファ５を介してＥＥＰＲＯＭ外部へ出力される。
【００９７】
メモリセルに記憶されているデータ、しきい値、データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに読み出し後に出力されるレベルの関係は、図１５のとおりである。
【００９８】
チップ外部への出力データは、データ入出力バッファ５でデータ入力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力された信号をもとに変換したものもよい。
【００９９】
＜書き込み動作＞
図１６は、書き込み動作の概略を示す概略図である。
【０１００】
図１６に示すように、まず、書き込みデータがフリップフロップＦＦ１、ＦＦ２にロードされる。その後、プログラム第１サイクルで“２”データおよび“３”データがほぼ同時に書き込まれる。そして“２”データ、“３”データが十分書き込まれたかを調べるベリファイリード第１サイクルが行われ、書き込み不十分のメモリセルがある場合には、再書き込みが行われる。“２”書き込みおよび“３”書き込みするメモリセルがすべて十分に書き込まれると、次に“１”書き込みするメモリセルにほぼ同時に書き込みが行われる（プログラム第２サイクル）。そして“１”書き込みが十分に行われたかを調べるベリファイリード第２サイクルが行われる。“１”書き込み不十分のメモリセルには再書き込みが行われ、またすべてのメモリセルが十分に書き込まれると書き込みが終了する。
【０１０１】
以下、プログラム第１サイクル、ベリファイリード第１サイクル、プログラム第２サイクル、ベリファイリード第２サイクルの順に詳細に説明する。
【０１０２】
（１）プログラム第１サイクル
書き込み動作前に、入力された２ビット分のデータは、データ入出力バッファ４で変換されて、データ回路６**に入力される。
【０１０３】
図１７は、データ回路６**に入力され、フリップフロップＦＦ１、ＦＦ２がラッチする書き込みデータを示す図である。４値データとデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤの関係は図１７のとおりである。
【０１０４】
変換された４値データは、カラム活性化信号ＣＥＮＢが“Ｈ”で、アドレス信号で指定されたカラム番地のデータ回路に転送される。
【０１０５】
図１８は、書き込み動作（プログラム第１サイクル）を示す動作波形図である。
【０１０６】
時刻ｔ１ｗに、電圧ＶＡがビット線書き込み制御電圧１Ｖとなってビット線ＢＬａが１Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３９のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。続いて、信号ＰＲＥが“Ｌ”となってビット線がフローティングにされる。次に、時刻ｔ２ｗに信号ＲＶ２Ａが１．５Ｖとされる。これによって、データ“１”または“３”が保持されているカラムではビット線制御電圧０Ｖがビット線に印加される。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値を１Ｖとすると、“０”または“２”書き込み時にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”、“１”または“３”書き込み時には“ＯＮ”となる。その後、時刻ｔ３ｗにＶＲＦＹＢＡが０Ｖになり、データ“０”またはデータ“１”が保持されているデータ回路からはビット線書き込み制御電圧ＶＣＣがビット線に出力される。
【０１０７】
その結果、“０”書き込みまたは“１”書き込みするビット線はＶＣＣ、“２”書き込みするビット線は１Ｖ、“３”書き込みするビット線は０Ｖになる。
【０１０８】
時刻ｔ１ｗに制御ゲート・選択ゲート駆動回路によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとなる。選択ゲートＳＧ２Ａは０Ｖである。次に、選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡがＶＭ（例えば１０Ｖ）となる。データ“３”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。データ“２”が保持されているデータ回路に対応するメモリセルでは、１Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。チャネル電位を１Ｖにしているのは、“３”データ書き込みより電子の注入量が少なくてよいからである。データ“０”またはデータ“１”が保持されているデータ回路に対応するメモリセルでは、チャネル電位と制御ゲートのＶＰＰの電位差が小さいため、実効的には浮遊ゲートに電子は注入されない。よって、メモリセルのしきい値は変動しない。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＶＲＦＹＢＢ、ＰＲＥＢ、ＢＬＣＢは“Ｈ”、信号ＳＡＰ１、ＳＡＰ２、ＲＶ１Ａ、ＲＶ１Ｂ、ＲＶ２Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”、電圧ＶＢは０Ｖである。
【０１０９】
（２）ベリファイ読み出し第１サイクル
書き込み動作後、“２”書き込みするメモリセルと“３”書き込みするメモリセルのしきい値を検出する（書き込みベリファイ）。もし、所望のしきい値に達していれば、データ回路のデータを“０”に変更する。もし、所望のしきい値に達していなければ、データ回路のデータを保持して再度書き込み動作を行う。書き込み第１サイクルと書き込みベリファイ第１サイクルは全ての“２”書き込みするメモリセルおよび“３”書き込みするメモリセルが所望のしきい値に達するまで繰り返される。
【０１１０】
図１９は、ベリファイ読み出し動作（ベリファイ読み出し第１サイクル）を示す動作波形図である。
【０１１１】
まず、時刻ｔ１ｖに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。続いて時刻ｔ２ｖに、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは１．５Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が１．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ３ｖに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ４ｖに、信号ＲＶ２Ａが例えばＶＣＣ以下の１．５Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値が１Ｖの場合、“３”書き込みデータが保持されているデータ回路ではｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＮ”で、ノードＮ１は０Ｖとなる。“２”書き込みデータが保持されているデータ回路で、メモリセルが十分に“２”書き込みされている場合にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”で、ノードＮ１は１．５Ｖ以上に保たれる。“２”書き込み不十分の場合には、ノードＮ１は１．５Ｖ以下である。なお、この間に、選択された制御ゲートは２．５Ｖとされる。時刻ｔ５ｖに信号ＶＲＦＹＢＡが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、時刻ｔ６ｖにノードＮ１の電圧がセンスされラッチされる。これで、“２”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“２”書き込み状態となったか否かを検出する。メモリセルのデータが“２”であれば、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“２”でなければ、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“２”に保持される。“０”または“１”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１１２】
次に、選択された制御ゲートが２．５Ｖになっているので、選択されたメモリセルのしきい値が２．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後時刻ｔ７ｖに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、信号ＶＲＦＹＢＣが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路、および“２”書き込みが十分に行われたデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１２Ｃが“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。その後時刻ｔ８ｖに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１１３】
この後、図１９に示されるように、書き込みデータの変換が更に行われる。時刻ｔ９ｖに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ１０ｖに、信号ＶＲＦＹＢＡ１が“Ｈ”となると、“０”または“２”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。その後時刻ｔ１１ｖに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１１４】
上記第２の実施の形態では、時刻ｔ１０ｖにＶＲＦＹＢＡ１をＶＣＣにすることにより、“０”書き込みおよび“２”書き込みする場合のＭＯＳキャパシタＱｄ１のノードＮ１を、ノードＮ２の電位（１．５Ｖ）よりも高くなるように充電している。ｔ１０ｖにＲＶ２Ｂを例えば１．５Ｖにしても良い。この場合、“０”書き込みまたは“２”書き込みの場合には、ノードＮ６が０ＶなのでｎチャネルＭＯＳトランジスタＱｎ３３がオンし、Ｎ２は０Ｖになる。一方、“１”または“３”書き込みの場合には、ノードＮ６がＶＣＣ、Ｎ２が１．５ＶなのでｎチャネルＭＯＳトランジスタＱｎ３３はオフし、Ｎ２は１．５Ｖを保たれる。時刻ｔ１０ｖにＶＲＦＹＢＡ１をＶＣＣにして行う、“０”書き込みおよび“２”書き込みする場合のＮ１への充電はＮ２の電位（０Ｖ）よりも大きければよいので、Ｎ１の充電は例えば０．５Ｖ程度の低い電圧でよい。
【０１１５】
以上のようにして、“３”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“３”書き込み状態となったか否かを検出する。メモリセルのデータが“３”であれば、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“３”でなければ、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“３”に保持される。“０”または“１”または“２”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１１６】
書き込みベリファイ中、信号ＶＲＦＹＢＢは“Ｈ”、電圧Ｖｓは０Ｖとする。
【０１１７】
図２０は、“２”または“３”書き込みが充分に行われた後、フリップフロップＦＦ１、ＦＦ２が、ラッチしているデータを示す図である。
【０１１８】
“２”書き込みまたは“３”書き込みする全ての選択されたメモリセルが所望のしきい値に達していれば、データ回路のデータは図２０のようになる。つまり“２”書き込みまたは“３”書き込みする選択されたすべてのメモリセルが十分に書き込まれると、すべてのデータ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ３が“Ｈ”、Ｎ４が“Ｌ”になる。これを検出すると、“２”書き込みまたは“３”書き込みする全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。
【０１１９】
図２１は、書き込み終了一括検知トランジスタを有したデータ回路の回路図である。
【０１２０】
“２”書き込みおよび“３”書き込み終了の検出は、例えば図２１に示されるような“２”、“３”書き込み終了一括検知トランジスタＱｎ５を用いればよい。ＶＲＴは、ベリファイリード第１サイクル後、例えばＶＣＣにプリチャージされる。“２”または“３”書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ４は“Ｈ”なのでｎチャネルＭＯＳトランジスタＱｎ５はオンし、ＶＲＴは接地される。すべての“２”または“３”書き込みするメモリセルが十分に書き込まれると、データ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ４が“Ｌ”になる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ５がオフし、ＶＲＴはプリチャージ電位を保つ。
【０１２１】
（３）プログラム第２サイクル
“２”および“３”書き込みがすべて終了した後は、“１”書き込み（プログラム第２サイクル）が行われる。“１”書き込み時のフリップフロップのノード電位は図２０である。つまり“１”書き込みの場合には、ノードＮ５が“Ｌ”になりビット線に書き込み電位が印加され、“１”書き込み以外ではノードＮ５が“Ｈ”になり、ビット線に書き込み非選択電位が印加される。
【０１２２】
図２２は、書き込み動作（プログラム第２サイクル）を示す動作波形図である。
【０１２３】
時刻ｔ１ｐに、電圧ＶＲＦＹＢＡ１が“Ｈ”になり、“０”または“２”または“３”書き込みするビット線ＢＬａが書き込み非選択電圧ＶＣＣに充電される。ｎチャネルＭＯＳトランジスタＱｎ３９のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。続いて、信号ＲＶ２ＡがＶＣＣとされる。これによって、データ“０”または“２”または“３”が保持されているデータ回路からは書き込み非選択電圧ＶＣＣがビット線ＢＬａに印加される。データ“１”が保持されているデータ回路からはビット線ＢＬａに書き込みビット線電位０Ｖが印加される。
【０１２４】
制御ゲート・選択ゲート駆動回路によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとなる。選択ゲートＳＧ２Ａは０Ｖである。次に、時刻ｔ２ｐに選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡがＶＭ（例えば１０Ｖ）となる。データ“１”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。データ“０”または“２”または“３”が保持されているデータ回路に対応するメモリセルでは、チャネル電位と制御ゲートのＶＰＰの電位差が小さいため、実効的には浮遊ゲートに電子は注入されない。よって、メモリセルのしきい値は変動しない。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＶＲＦＹＢＢ、ＰＲＥＢ、ＢＬＣＢは“Ｈ”、信号ＳＡＰ１、ＳＡＰ２、ＲＶ１Ａ、ＲＶ１Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”、電圧ＶＢは０Ｖである。
【０１２５】
（４）ベリファイ読み出し第２サイクル
書き込み第２サイクル終了後、“１”書き込みするメモリセルのしきい値を検出する（書き込みベリファイ第２サイクル）。もし、所望のしきい値に達していれば、データ回路のデータを“０”に変更する。もし、所望のしきい値に達していなければ、データ回路のデータを保持して再度書き込み動作を行う。書き込み動作と書き込みベリファイは全ての“１”書き込みするメモリセルが所望のしきい値に達するまで繰り返される。
【０１２６】
図２３は、ベリファイ読み出し動作（ベリファイ読み出し第２サイクル）を示す動作波形図である。
【０１２７】
まず、時刻、ｔ１ｙに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。続いて時刻ｔ２ｙに、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０．５Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ３ｙに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、時刻ｔ４ｙに信号ＶＲＦＹＢＡ１が“Ｈ”となると、“０”または“２”または“３”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。
【０１２８】
信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、時刻ｔ５ｙにノードＮ１の電圧がセンスされラッチされる。これで、“１”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“１”書き込み状態となったか否かを検出する。メモリセルのデータが“１”であれば、フリップフロップＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“１”でなければ、フリップフロップＦＦ１でノードＮ２の電圧をセンスしラッチすることで書き込みデータは“１”に保持される。“０”または“２”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１２９】
図２４は、“１”書き込みが充分に行われた後、フリップフロップＦＦ１、ＦＦ２が、ラッチしているデータを示す図である。
【０１３０】
“１”書き込みする全ての選択されたメモリセルが所望のしきい値に達していれば、データ回路のデータは図２４のようになる。つまり“１”書き込みするすべてのメモリセルが十分に書き込まれると、すべてのデータ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ５が“Ｈ”、Ｎ６が“Ｌ”になる。これを検出すると、全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。
【０１３１】
プログラムサイクル２の書き込み終了の検出は、例えば図２１に示されるような書き込み終了一括検知トランジスタＱｎ６を用いればよい。ＶＲＥＤは、ベリファイリード第２サイクル後、例えばＶＣＣにプリチャージされる。“１”書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ６は“Ｈ”なのでｎチャネルＭＯＳトランジスタＱｎ６はオンし、ＶＲＥＤは接地される。すべてのメモリセルが十分に書き込まれると、データ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ６が“Ｌ”になる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ６がオフし、ＶＲＥＤはプリチャージ電位を保つ。
【０１３２】
以上、第２の実施の形態に係るＥＥＰＲＯＭを説明したが、ベリファイ読み出し、書き込み、通常の読み出し等は、他の動作が可能である。
【０１３３】
図２５は、他のベリファイ読み出し動作（ベリファイ読み出し第１サイクル）を示す動作波形図である。
【０１３４】
例えばベリファイ読み出し第１サイクルは、図２５の動作波形図のように動作させても良い。
【０１３５】
図２５に示すベリファイ読み出し第１サイクルでは、時刻ｔ７ｖまでの動作は、図１９に示すベリファイ読み出し第１サイクルと同様であり、時刻ｔ７ｖ以降の動作が異なっている。
【０１３６】
時刻ｔ７ｖに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。メモリセルのしきい値が２．５Ｖ以上である場合にはビット線ＢＬａは１．５Ｖ以上、２．５Ｖ以下である場合にはビット線ＢＬｂは１．５Ｖ以下である。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、時刻ｔ８ｚに信号ＶＲＦＹＢＡ１が“Ｈ”となると、“０”または“２”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２が“ＯＮ”であり、ノードＮ１は１．５Ｖ以上となる。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。その後時刻ｔ９ｚに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１３７】
この後、図２５に示されるように、書き込みデータの変換が更に行われる。時刻ｔ１０ｚに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ１１ｚに、信号ＶＲＦＹＢＡが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路、および“２”書き込みが十分におこなわれたデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。その後、時刻ｔ１２ｚに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１３８】
以上のように、“３”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“３”書き込み状態となったか否かを検出できる。メモリセルのデータが“３”であれば、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“３”でなければ、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“３”に保持される。“０”または“１”または“２”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。“２”書き込みまたは“３”書き込みする全ての選択されたメモリセルが所望のしきい値に達していれば、データ回路のデータは図２０のようになる。つまり、“２”書き込みまたは“３”書き込みする選択されたすべてのメモリセルが十分に書き込まれると、すべてのデータ回路６**-0、６**-1、…、６**-m-1、６**-mのノードＮ３が“Ｈ”、Ｎ４が“Ｌ”になる。これを検出することにより、“２”書き込みまたは“３”書き込みする全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。
【０１３９】
また、データ回路の回路構成も、図１２、図２１に示す回路構成に限られるものではなく、他の回路構成であっても良い。
【０１４０】
図２６および図２７はそれぞれ、データ回路の他の回路図である。
【０１４１】
図２６に示すデータ回路の、ＶＲＦＹＢＡ１、ＶＲＦＹＢＢ１の動作タイミングは、図１２、図２１のデータ回路と同様の動作タイミングを用いた場合（動作波形図；図１３、図１８、図１９、図２２、図２３、図２５）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡ、ＶＲＦＹＢＢの動作タイミングは、図１２、図２１のデータ回路を用いた場合と同様である。
【０１４２】
また、図２７に示すデータ回路の、ＶＲＦＹＢＡ、ＶＲＦＹＢＢの動作タイミングは、図１２、図２１のデータ回路と同様な動作タイミングを用いた場合（動作波形図；図１３、図１８、図１９、図２２、図２３、図２５）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡ１、ＶＲＦＹＢＢ１の動作タイミングは、図１２、図２１のデータ回路を用いた場合と同様である。
【０１４３】
上記第２の実施の形態では、まず“２”、“３”データを同時に書いてから、次に“１”データの書き込みを行ったが、書き込む順番は大いに任意性を有する。例えば“１”、“２”を書き込んでから、次に“３”を書き込んでも良いし、“１”、“３”を書き込んでから“２”を書き込んでも良い。
【０１４４】
＜実施の形態３＞
次に、この発明の第３の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭを説明する。
【０１４５】
上記第２の実施の形態では、まず、“２”状態および“３”状態をほぼ同時に書き込んでから、“１”状態を書き込むものを例示したが、この第３の実施の形態では、“１”状態、“２”状態、および“３”状態をほぼ同時に書き込むものである。
【０１４６】
なお、第３の実施の形態に係るＥＥＰＲＯＭは、第２の実施の形態に係るＥＥＰＲＯＭと同様に、図１、図２に示した構成と同様な構成を持つ。
【０１４７】
図２８は、この発明の第３の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図である。図２８に示すデータ回路は、４値記憶を例に構成されている。
【０１４８】
図２８に示すように、メモリセルＭ１〜Ｍ４が直列に接続され、ＮＡＮＤ型セルを構成している。その両端は、選択トランジスタＳ１、Ｓ２を介して、それぞれビット線ＢＬ、ソース線Ｖｓに接続される。制御ゲートＣＧを共有するメモリセルＭ群は、“ページ”と呼ばれる単位を形成し、同時にデータ書き込み・読み出しされる。また、４本の制御ゲートＣＧ１〜ＣＧ４に繋がるメモリセル群でブロックを形成する。“ページ”、“ブロック”は制御ゲート・選択ゲート駆動回路によって選択される。各ビット線ＢＬ0〜ＢＬmには、データ回路６**-0、６**-1、…、６**-m-1、６**-mが接続され、対応するメモリセルへの書き込みデータを一時的に記憶したりする。
【０１４９】
メモリセルの書き込み状態としきい値との関係は、第１の実施の形態と同様であり、例えば図１１に示すとおりである。
【０１５０】
図２８に示すように、ｎチャネルＭＯＳトランジスタＱｎ２１、Ｑｎ２２、Ｑｎ２３とｐチャネルＭＯＳトランジスタＱｐ９、Ｑｐ１０、Ｑｐ１１により構成されるフリップフロップＦＦ１と、ｎチャネルＭＯＳトランジスタＱｎ２９、Ｑｎ３０、Ｑｎ３１とｐチャネルＭＯＳトランジスタＱｐ１６、Ｑｐ１７、Ｑｐ１８により構成されるＦＦ２とには、書き込み／読み出しデータがラッチされる。また、これらはセンスアンプとしても動作する。
【０１５１】
フリップフロップＦＦ１、ＦＦ２は、「“０”書き込みをするか、“１”書き込みをするか、“２”書き込みをするか、“３”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“０”の情報を保持しているか、“１”の情報を保持しているか、“２”の情報を保持しているか、“３”の情報を保持しているか」を読み出しデータ情報としてセンスしラッチする。
【０１５２】
データ入出力線ＩＯＡ、ＩＯＢとフリップフロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２８、Ｑｎ２７を介して接続される。データ入出力線ＩＯＣ、ＩＯＤとフリップフロップＦＦ２は、ｎチャネルＭＯＳトランジスタＱｎ３５、Ｑｎ３６を介して接続される。データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤは、図１中のデータ入出力バッファ４にも接続される。
【０１５３】
ｎチャネルＭＯＳトランジスタＱｎ２７、Ｑｎ２８、Ｑｎ３５、Ｑｎ３６のゲートは、ＮＡＮＤ論理回路Ｇ２とインバータＩ４で構成されるカラムアドレスデコーダの出力に接続される。ｎチャネルＭＯＳトランジスタＱｎ２６、Ｑｎ３４は、それぞれフリップフロップＦＦ１、ＦＦ２を信号ＥＣＨ１、ＥＣＨ２が“Ｈ”となってイコライズする。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ３２は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ１の接続を制御する。ｎチャネルＭＯＳトランジスタＱｎ２５、Ｑｎ３３は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ２の接続を制御する。
【０１５４】
ｐチャネルＭＯＳトランジスタＱｐ１２Ｃ、Ｑｐ１３Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡＣによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４Ｃ、Ｑｐ１５Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢＣによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１２Ｃ、Ｑｐ１９Ｃ、Ｑｐ２０Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ２Ｃによって、フリップフロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４Ｃ、Ｑｐ２１Ｃ、Ｑｐ２２Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ２Ｃによって、フリップフロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ１Ｃ、Ｑｎ２Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ１Ｃによって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ３Ｃ、Ｑｎ４Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ１Ｃによって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【０１５５】
ＭＯＳキャパシタＱｄ１、Ｑｄ２は、ディプリーション型ｎチャネルＭＯＳトランジスタで構成され、ビット線容量より十分小さくされる。ｎチャネルＭＯＳトランジスタＱｎ３７は、信号ＰＲＥＡによってＭＯＳキャパシタＱｄ１を電圧ＶＡに充電する。ｎチャネルＭＯＳトランジスタＱｎ３８は、信号ＰＲＥＢによってＭＯＳキャパシタＱｄ２を電圧ＶＢに充電する。ｎチャネルＭＯＳトランジスタＱｎ３９、Ｑｎ４０は、信号ＢＬＣＡ、ＢＬＣＢによって、データ回路３とビット線ＢＬａ、ＢＬｂの接続をそれぞれ制御する。ｎチャネルＭＯＳトランジスタＱｎ３７、Ｑｎ３８で構成される回路はビット線電圧制御回路を兼ねる。
【０１５６】
次に、このように構成されたＥＥＰＲＯＭの動作を、動作波形図に従って説明する。以下では制御ゲートＣＧ２Ａが選択されている場合を示す。
【０１５７】
＜読み出し動作＞
図２９は、読み出し動作を示す動作波形図である。
【０１５８】
図２９に示すように、まず、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。時刻ｔ１ＲＣに信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。続いて、時刻ｔ２ＲＣに制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後、時刻ｔ３ＲＣに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”となり、ビット線のデータがＭＯＳキャパシタＱｄ１、Ｑｄ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、選択された制御ゲートが１Ｖにされる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。時刻ｔ４ＲＣに再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”か、或いは“１”または“２”または“３”か」がフリップフロップＦＦ１によってセンスされ、その情報はラッチされる。
【０１５９】
次に、選択された制御ゲートが１Ｖになっているので、選択されたメモリセルのしきい値が１Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ５ＲＣに信号ＰＲＥＡ、ＰＲＥＢが“Ｈ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はそれぞれ１．８Ｖ、１．５Ｖになる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。この後、時刻ｔ６ＲＣに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされる。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔ７ＲＣに再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”または“１”か、或いは“２”または“３”か」がフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【０１６０】
図３０は、時刻ｔ７ＲＣのときにフリップフロップＦＦ１、ＦＦ２がセンスし、ラッチしている読み出しデータを示す図である。この時のフリップフロップＦＦ１、ＦＦ２のノードＮ３Ｃ、Ｎ５Ｃの電位は図３０のようになる。
【０１６１】
最後にメモリセルに書き込まれたデータが「“２”または“３”か」がセンスされる。選択された制御ゲートが２Ｖにされる。選択されたメモリセルのしきい値が２Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ８ＲＣに信号ＰＲＥＡ、ＰＲＥＢが“Ｈ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はそれぞれ１．８Ｖ、１．５Ｖになる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。この後、時刻ｔ１０ＲＣに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされる。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。ＭＯＳキャパシタのデータをセンスするに先立ち、時刻ｔ１１ＲＣにＶＲＦＹＢＡ２Ｃが０Ｖになる。図２２からわかるように、ノードＮ５Ｃが“Ｌｏｗ ｌｅｖｅｌ”およびノードＮ３Ｃが“ｈｉｇｈ ｌｅｖｅｌ”（つまりノードＮ４Ｃが“Ｌｏｗ ｌｅｖｅｌ”）になるのは“１”データの場合のみである。従って“１”データの場合のみｐチャネルＭＯＳトランジスタＱｐ１２Ｃ、Ｑｐ１９Ｃ、Ｑｐ２０Ｃがオンし、ノードＮ１がＶＣＣになる。その後、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。時刻ｔ１２ＲＣに再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“２”か“３”か」がフリップフロップＦＦ１によってセンスされ、その情報はラッチされる。
【０１６２】
図３１は、フリップフロップＦＦ１、ＦＦ２がセンスし、ラッチする読み出しデータを示す図である。
【０１６３】
以上の読み出し動作の結果、４値のデータが、図３１のようにフリップフロップＦＦ１、ＦＦ２にラッチされる。図中の各データのしきい値分布は次のとおりである。
【０１６４】
データ“０”・・・しきい値：０Ｖ以下
データ“１”・・・しきい値０．５Ｖ以上０．８Ｖ以下
データ“２”・・・しきい値１．５Ｖ以上１．８Ｖ以下
データ“３”・・・しきい値２．５Ｖ以上２．８Ｖ以下
読み出し中、信号ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣは“Ｈ”、信号ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１Ｃは“Ｌ”である。また、電圧Ｖｓは０Ｖとする。
【０１６５】
カラムアドレスデコーダに入力されるカラム活性化信号ＣＥＮＢが“Ｈ”となると、アドレス信号によって選択されたデータ回路に保持されているデータがデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力され、データ入出力バッファ４を介してＥＥＰＲＯＭ外部へ出力される。
【０１６６】
メモリセルに記憶されているデータ、しきい値、データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに読み出し後に出力されるレベルの関係は図３１のとおりである。
【０１６７】
チップ外部への出力データは、データ入出力バッファ５でデータ入力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力された信号をもとに変換したものもよい。
【０１６８】
＜書き込み動作＞
まず、書き込みデータがフリップフロップＦＦ１、ＦＦ２にロードされる。その後、“１”データ、“２”データおよび“３”データがほぼ同時に書き込まれる。そして“１”データ、“２”データ、“３”データが十分書き込まれたかを調べるベリファイリードが行われ、書き込み不十分のメモリセルがある場合には、再書き込みが行われる。すべてのメモリセルが十分に書き込まれることを、書き込み終了検知回路が検知することにより書き込みが終了する。
【０１６９】
以下では、まず、プログラムについて説明し、次にベリファイリードについて説明する。
【０１７０】
（１）プログラム
書き込み動作前に、入力された２ビット分のデータは、データ入出力バッファ５で変換されて、データ回路６**に入力される。
【０１７１】
図３２は、データ回路６**に入力され、フリップフロップＦＦ１、ＦＦ２がラッチする書き込みデータを示す図である。４値データとデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤの関係は図３２のとおりである。
【０１７２】
変換された４値データは、カラム活性化信号ＣＥＮＢが“Ｈ”で、アドレス信号で指定されたカラム番地のデータ回路に転送される。
【０１７３】
図３３は、書き込み動作を示す動作波形図である。
【０１７４】
まず、時刻ｔ１ｓに、電圧ＶＡがビット線書き込み制御電圧１Ｖとなってビット線ＢＬａが１Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３９のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。続いて、信号ＰＲＥが“Ｌ”となってビット線がフローティングにされる。次に、時刻ｔ２ｓに信号ＲＶ２Ａが１．５Ｖとされる。これによって、データ“１”または“３”が保持されているからはビット線制御電圧０Ｖがビット線に印加される。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値を１Ｖとすると、“０”または“２”書き込み時にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”、“１”または“３”書き込み時には“ＯＮ”となる。その後、時刻ｔ３ｓにＶＲＦＹＢＡＣが０Ｖになり、データ“０”またはデータ“１”が保持されているデータ回路からはビット線書き込み制御電圧ＶＣＣがビット線に出力される。
【０１７５】
そして、時刻ｔ４ｓにＶＲＦＹＢＡ２Ｃが０Ｖになり、データ“１”が保持されているデータ回路からはＶ１を介してビット線“１”書き込み電位２Ｖがビット線に出力される。
【０１７６】
その結果、“０”書き込みするビット線はＶＣＣ、“１”書き込みするビット線は２Ｖ、“２”書き込みするビット線は１Ｖ、“３”書き込みするビット線は０Ｖになる。
【０１７７】
時刻ｔ１ｓに制御ゲート・選択ゲート駆動回路によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとなる。選択ゲートＳＧ２Ａは０Ｖである。次に、選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡがＶＭ（例えば１０Ｖ）となる。データ“３”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。データ“２”が保持されているデータ回路に対応するメモリセルでは、１Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。データ“１”が保持されているデータ回路に対応するメモリセルでは、２Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入されしきい値が上昇する。“２”書き込みの場合のチャネル電位を１Ｖ、“１”書き込みの場合のチャネル電位を２Ｖにしているのは、電子の注入量を“３”データ書き込みの場合、“２”書き込みの場合、“１”書き込みの場合の順番で少なくするためある。データ“０”が保持されているデータ回路に対応するメモリセルでは、チャネル電位と制御ゲートのＶＰＰの電位差が小さいため、実効的には浮遊ゲートに電子は注入されない。よって、メモリセルのしきい値は変動しない。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＰＲＥＢ、ＢＬＣＢは“Ｈ”、信号ＳＡＰ１、ＳＡＰ２、ＶＲＦＹＢＡ１Ｃ、ＲＶ１Ａ、ＲＶ１Ｂ、ＲＶ２Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”、電圧ＶＢは０Ｖである。
【０１７８】
（２）ベリファイ読み出し
書き込み動作後、書き込みが充分に行われたかを検出する（書き込みベリファイ）。もし、所望のしきい値に達していれば、データ回路のデータを“０”に変更する。もし、所望のしきい値に達していなければ、データ回路のデータを保持して再度書き込み動作を行う。書き込み動作と書き込みベリファイは全ての“１”書き込みするメモリセル、“２”書き込みするメモリセルおよび“３”書き込みするメモリセルが所望のしきい値に達するまで繰り返される。
【０１７９】
図３４および図３５はそれぞれ、ベリファイ読み出し動作を示す動作波形図である。
【０１８０】
以下、図３４および図３５を参照し、書き込みベリファイ動作を説明する。
【０１８１】
はじめに、“１”書き込みするメモリセルが所定のしきい値に達しているかを検出する。
【０１８２】
まず、図３４に示すように、時刻ｔ１ｙｃに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。続いて時刻ｔ２ｙｃに、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０．５Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ３ｙｃに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ４ｙｃにＲＶ１Ａが１．５Ｖになり、“２”書き込みの場合および“３”書き込みの場合には、ノードＮ１が０Ｖに放電される。この後、選択された制御ゲートが１．５Ｖにされる。時刻ｔ５ｙｃに信号ＶＲＦＹＢＡ１Ｃが“Ｈ”となると、“０”または“２”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱn2が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。その結果、ノードＮ１は“０”書き込みまたは“２”書き込みの場合にはＶＣＣ、“３”書き込みの場合には０Ｖになる。
【０１８３】
信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、時刻ｔ６ｙｃにノードＮ１の電圧がセンスされラッチされる。これで、“１”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“１”書き込み状態となったか否かを検出する。メモリセルのデータが“１”であれば、フリップフロップＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“１”でなければ、フリップフロップＦＦ１でノードＮ２の電圧をセンスしラッチすることで書き込みデータは“１”に保持される。“０”または“２”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１８４】
次に、選択された制御ゲートが１．５Ｖになっているので、選択されたメモリセルのしきい値が１．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔ７ｙｃにＰＲＥＡ、ＰＲＥＢがＶＣＣになりノードＮ１、Ｎ２が１．８Ｖ、１．５Ｖになった後、フローティングになる。この後、図３５に示すように、時刻ｔ８ｙｃに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、時刻ｔ９ｙｃに、信号ＲＶ２Ａが例えばＶＣＣ以下の１．５Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値が１Ｖの場合、“３”書き込みデータが保持されているデータ回路ではｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＮ”で、ノードＮ１は０Ｖとなる。“２”書き込みデータが保持されているデータ回路で、メモリセルが十分に“２”書き込みされている場合にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”で、ノードＮ１は１．５Ｖ以上に保たれる。“２”書き込み不十分の場合には、ノードＮ１は１．５Ｖ以下である。なお、この間に、選択された制御ゲートは２．５Ｖとされる。時刻ｔ１０ｙｃに信号ＶＲＦＹＢＡＣが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。
【０１８５】
信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、時刻ｔ１１ｙｃにノードＮ１の電圧がセンスされラッチされる。これで、“２”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“２”書き込み状態となったか否かを検出する。メモリセルのデータが“２”であれば、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“２”でなければ、フリップフロップＦＦ１でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“２”に保持される。“０”または“１”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１８６】
次に、選択された制御ゲートが２．５Ｖになっているので、選択されたメモリセルのしきい値が２．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。この後、時刻ｔ１２ｙｃに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ１３ｙｃに、信号ＶＲＦＹＢＡＣが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路および、“２”書き込みが十分に行われたデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３Ｃが“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。その後時刻ｔ１４ｙｃに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１８７】
この後、図３５に示すように、書き込みデータの変換が更に行われる。時刻ｔ１５ｙｃに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ１６ｙｃに、信号ＶＲＦＹＢＡ１Ｃが“Ｈ”となると、“０”または“２”書き込みデータが保持されているデータ回路および“１”書き込み十分のデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２Ｃが“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。その後時刻ｔ１７ｙｃに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１８８】
上記実施の形態では時刻ｔ１６ｙｃにＶＲＦＹＢＡ１ＣをＶＣＣにすることにより、“０”書き込みおよび“２”書き込みする場合のＭＯＳキャパシタＱｄ１のノードＮ１を、ノードＮ２の電位（１．５Ｖ）よりも高くなるように充電している。ｔ１６ｙｃにＲＶ２Ｂを例えば１．５Ｖにしても良い。この場合、“０”書き込みまたは“２”書き込みの場合には、ノードＮ６Ｃが０ＶなのでｎチャネルＭＯＳトランジスタＱｎ３３がオンしＮ２は０Ｖになる。一方、“１”または“３”書き込みの場合には、ノードＮ６ＣがＶＣＣ、Ｎ２が１．５ＶなのでｎチャネルＭＯＳトランジスタＱｎ３３はオフし、Ｎ２は１．５Ｖを保たれる。時刻ｔ１６ｙｃにＶＲＦＹＢＡ１ＣをＶＣＣにして行う、“０”書き込みおよび“２”書き込みする場合のＮ１への充電はＮ２の電位（０Ｖ）よりも大きければよいので、Ｎ１の充電は例えば０．５Ｖ程度の低い電圧でよい。
【０１８９】
以上のようにして、“３”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分“３”書き込み状態となったか否かを検出する。メモリセルのデータが“３”であれば、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“０”に変更される。メモリセルのデータが“３”でなければ、フリップフロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスしラッチすることで書き込みデータは“３”に保持される。“０”または“１”または“２”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１９０】
書き込みベリファイ中、信号ＶＲＦＹＢＢＣは“Ｈ”、信号ＶＲＦＹＢＢ１Ｃは“Ｌ”、電圧Ｖｓは０Ｖとする。
【０１９１】
全ての選択されたメモリセルが所望のしきい値に達していれば、データ回路のデータは“０”データになる。つまり書き込みが終了すると、ノードＮ４Ｃ、Ｎ６Ｃが“Ｌ”になる。これを検出することにより、全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。
【０１９２】
図２８は、書き込み終了一括検知トランジスタを有したデータ回路の回路図である。
【０１９３】
書き込み終了の検出は例えば、図２８に示すように書き込み終了一括検知トランジスタＱｎ５Ｃ、およびＱｎ６Ｃを用いればよい。ベリファイ読み出し後、まず、ＶＲＴＣを、例えばＶＣＣにプリチャージする。書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ４ＣまたはＮ６Ｃの少なくとも一方は“Ｈ”なのでｎチャネルＭＯＳトランジスタＱｎ５ＣとＱｎ６Ｃの少なくとも１つはオンし、ＶＲＴＣはプリチャージ電位から低下する。すべてのメモリセルが十分に書き込まれると、データ回路６**-0、６**-1、…、６**-m-1のノードＮ４Ｃ、Ｎ６Ｃが“Ｌ”になる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ５ＣおよびＱｎ６ＣがオフになるのでＶＲＴＣはプリチャージ電位を保つ。
【０１９４】
以上、第３の実施の形態に係るＥＥＰＲＯＭを説明したが、ベリファイ読み出し、書き込み、通常の読み出し等は、他の動作が可能である。
【０１９５】
図３６は、他のベリファイ読み出し動作を示す動作波形図である。
【０１９６】
例えばベリファイ読み出しは、図３６の動作波形図のように動作させても良い。
【０１９７】
図３６に示すベリファイ読み出しでは、時刻ｔ１２ｙｃまでの動作は、図３５に示すベリファイ読み出しと同様であり、時刻ｔ１２ｙｃ以降の動作が異なっている。
【０１９８】
時刻ｔ１２ｙｃに信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。メモリセルのしきい値が２．５Ｖ以上である場合にはビット線ＢＬａは１．５Ｖ以上、２．５Ｖ以下である場合にはビット線ＢＬｂは１．５Ｖ以下である。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、時刻ｔ１３ｚｃに信号ＶＲＦＹＢＡ１Ｃが“Ｈ”となると、“０”または“２”書き込みデータが保持されているデータ回路及び“１”書き込み十分のデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２が“ＯＮ”であり、ノードＮ１は１．５Ｖ以上となる。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。その後時刻ｔ１４ｚｃに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。
【０１９９】
この後、図３６に示されるように、書き込みデータの変換が更に行われる。時刻ｔ１５ｚｃに、信号ＢＬＣＡ、ＢＬＣＢが“Ｈ”とされ、ビット線の電位がＮ１、Ｎ２に転送される。再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後時刻ｔ１６ｚｃに、信号ＶＲＦＹＢＡＣが“Ｌ”となると、“０”または“１”書き込みデータが保持されているデータ回路、および“２”書き込みが十分におこなわれたデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。その後、時刻ｔ１７ｚｃに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。また、データ回路の回路構成も、図２０に示す回路構成に限られるものではなく、他の回路構成であっても良い。
【０２００】
図３７、図３８、図３９および図４０はそれぞれ、データ回路の他の回路図である。
【０２０１】
図３７に示すデータ回路の、ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１Ｃの動作タイミングは、図２８のデータ回路と同様の動作タイミングを用いた場合（動作波形図：図２９、図３３、図３４、図３５、図３６）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣ、ＶＲＦＹＢＡ２Ｃ、ＶＲＦＹＢＢ２Ｃのタイミングは、図２８のデータ回路を用いた場合と同様である。
【０２０２】
また、図３８に示すデータ回路の、ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣ、ＶＲＦＹＢＡ２Ｃ、ＶＲＦＹＢＢ２Ｃの動作タイミングは、図２８のデータ回路を用いた場合（動作波形図；図２９、図３３、図３４、図３５３５、図３６）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１Ｃの動作タイミングは、図２８のデータ回路を用いた場合と同様である。
【０２０３】
また、図３９に示すデータ回路の、ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣの動作タイミングは、図２８のデータ回路を用いた場合（動作波形図：図２９、図３３、図３４、図３５、図３６）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１Ｃ、ＶＲＦＹＢＡ２Ｃ、ＶＲＦＹＢＢ２Ｃの動作タイミングは、図２８のデータ回路を用いた場合と同様である。
【０２０４】
また、図４０に示すデータ回路の、ＶＲＦＹＢＡ２Ｃ、ＶＲＦＹＢＢ２Ｃの動作タイミングは、図２８のデータ回路を用いた場合（動作波形図：図２９、図３３、図３４、図３５、図３６）、ＶＣＣを０Ｖ、０ＶをＶＣＣにすればよい。なお、ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１Ｃ、ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣの動作タイミングは、図２８のデータ回路を用いた場合と同様である。さらに、ＶＲＦＹＢＡ２Ｃ、ＶＲＦＹＢＢ２Ｃ、ＶＲＦＹＢＡ１Ｃ、ＶＲＦＹＢＢ１ＣをＶＣＣにする場合に、ＶＣＣの代わりに、ＶＣＣ＋Ｖｔｈ（ＶｔｈはｎチャネルＭＯＳトランジスタのしきい値電圧）、あるいはＶＣＣ＋２Ｖｔｈにしても良い。この場合、ｎチャネルＭＯＳトランジスタは、実質的な“しきい値落ち”を発生させずに、電位を転送できる。
【０２０５】
また、上記第３の実施の形態では、読み出しおよびベリファイ読み出し時に、ビット線をプリチャージした後、非選択コントロールゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡをＶＣＣにすることにより、ＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａをゲート電極とするメモリセルをオンさせている。
【０２０６】
これを、例えば非選択コントロールゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４ＡはＶＣＣにした後、フローティングにし、その後、ビット線をプリチャージしても良い。あるいは、ビット線をプリチャージした後、非選択コントロールゲートをＶＣＣにし、その後、非選択コントロールゲートをフローティングにしても良い。この場合、メモリセルを通じて、ビット線からソース線に読み出し電流が流れる間に非選択コントロールゲートはフローティング状態である。読み出し電流が流れる間は、非選択コントロールゲートをゲート電極とするメモリセルのチャネルは０Ｖから大きくなり、その結果、チャネルと非選択コントロールゲート間の容量結合によって非選択コントロールゲートの電位はＶＣＣよりも大きくなる。このように非選択コントロールゲートの電位がＶＣＣよりも大きくなると、非選択コントロールゲートをゲート電極とするメモリセルの抵抗が小さくなり、その結果読み出し電流が大きくなり、読み出しが高速化される。
【０２０７】
＜実施の形態４＞
次に、この発明の第４の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭを説明する。
【０２０８】
なお、第４の実施の形態に係るＥＥＰＲＯＭは、第２の実施の形態に係るＥＥＰＲＯＭなどと同様に、図１、図２に示した構成と同様な構成を持つ。
【０２０９】
図４１は、この発明の第４の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図である。図４１に示すデータ回路は、４値記憶を例に構成されている。
【０２１０】
図４１に示すデータ回路は、２つのラッチ回路（第１のラッチ回路及び第２のラッチ回路）を含む。書き込みの際には、２ビットの書き込みデータはこの２つのラッチ回路に蓄えられる。読み出しの際には、読み出した４値データはこの２つのラッチ回路に蓄えられ、その後ＩＯＡ〜ＩＯＤを介してチップの外部へ出力される。
【０２１１】
図４１に示すように、ｎチャネルＭＯＳトランジスタＱｎ２１、Ｑｎ２２、Ｑｎ２３とｐチャネルＭＯＳトランジスタＱｐ９、Ｑｐ１０、Ｑｐ１１により構成されるフリップフロップＦＦ１とｎチャネルＭＯＳトランジスタＱｎ２９、Ｑｎ３０、Ｑｎ３１とｐチャネルＭＯＳトランジスタＱｐ１６、Ｑｐ１７、Ｑｐ１８により構成されるＦＦ２に、書き込み／読み出しデータをラッチする。また、これらはセンスアンプとしても動作する。
【０２１２】
フリップフロップＦＦ１、ＦＦ２は、「“０”書き込みをするか、“１”書き込みをするか、“２”書き込みをするか、“３”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“０”の情報を保持しているか、“１”の情報を保持しているか、“２”の情報を保持しているか、“３”の情報を保持しているか」を読み出しデータ情報としてセンスしラッチする。
【０２１３】
データ入出力線ＩＯＡ、ＩＯＢとフリップフロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２８、Ｑｎ２７を介して接続される。データ入出力線ＩＯＣ、ＩＯＤとフリップフロップＦＦ２は、ｎチャネルＭＯＳトランジスタＱｎ３５、Ｑｎ３６を介して接続される。データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤは、図１に示されたデータ入出力バッファ５にも接続される。ｎチャネルＭＯＳトランジスタＱｎ２７、Ｑｎ２８のゲートは、ＮＡＮＤ論理回路Ｇ３とインバータＩ５で構成されるカラムアドレスデコーダの出力に接続される。
【０２１４】
ｎチャネルＭＯＳトランジスタＱｎ２６、Ｑｎ３４は、それぞれフリップフロップＦＦ１、ＦＦ２を信号ＥＣＨ１、ＥＣＨ２が“Ｈ”となってイコライズする。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ３２は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ１の接続を制御する。ｎチャネルＭＯＳトランジスタＱｎ２５、Ｑｎ３３は、フリップフロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ２の接続を制御する。
【０２１５】
ｎチャネルＭＯＳトランジスタＱｎ５０Ｃ、Ｑｎ５１Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡＣによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ５２Ｃ、Ｑｎ５３Ｄで構成される回路は、活性化信号ＶＲＦＹＢＢＣによって、フリップフロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ５３Ｃ、Ｑｎ５４Ｃ、Ｑｎ５５Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ２Ｃによって、フリップフロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ５６Ｃ、Ｑｎ５７Ｃ、Ｑｎ５８Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ２Ｃによって、フリップフロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ１Ｃ、Ｑｎ２Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ１Ｃによって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ３Ｃ、Ｑｎ４Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ１Ｃによって、フリップフロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【０２１６】
ＭＯＳキャパシタＱｄ１、Ｑｄ２は、ディプリーション型ｎチャネルＭＯＳトランジスタで構成され、ビット線容量より十分小さくされる。ｎチャネルＭＯＳトランジスタＱｎ３７は、信号ＰＲＥＡによってＭＯＳキャパシタＱｄ１を電圧ＶＡに充電する。ｎチャネルＭＯＳトランジスタＱｎ３８は、信号ＰＲＥＢによってＭＯＳキャパシタＱｄ２を電圧ＶＢに充電する。ｎチャネルＭＯＳトランジスタＱｎ３９、Ｑｎ４０は、信号ＢＬＣＡ、ＢＬＣＢによって、データ回路３とビット線ＢＬａ、ＢＬｂの接続をそれぞれ制御する。ｎチャネルＭＯＳトランジスタＱｎ３７、Ｑｎ３８で構成される回路はビット線電圧制御回路を兼ねる。
【０２１７】
次に、このように構成されたＥＥＰＲＯＭの動作を、動作波形図に従って説明する。以下では制御ゲートＣＧ２Ａが選択されている場合を示す。
【０２１８】
＜読み出し動作＞
図４２は、読み出し動作を示す動作波形図である。
【０２１９】
図４２に示すように、まず、時刻ｔｗ１、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ１．８Ｖ、１．５Ｖになる。次に、信号ＰＲＥＡ、ＰＲＥＢが“Ｌ”となって、ビット線ＢＬａ、ＢＬｂはフローティングとなる。続いて、時刻ｔｗ２に、制御ゲート・選択ゲート駆動回路によって選択されたブロックの選択された制御ゲートＣＧ２Ａは１Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が１Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。その後、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、時刻ｔ３ｗに、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。時刻ｔｗ４に、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”または“１”か、或いは“２”または“３”か」がフリップフロップＦＦ１によってセンスされ、その情報はラッチされる。
【０２２０】
次に、メモリセルのしきい値が０Ｖ以上か或いは、０Ｖ以下かが判定される。時刻ｔｗ５に、ビット線ＢＬａが１．８Ｖに、ダミービット線ＢＬｂが１．５Ｖにプリチャージされ、その後フローティングにされる。その後、時刻ｔｗ６に選択された制御ゲートが０Ｖにされる。選択されたメモリセルのしきい値が０Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、時刻ｔｗ７に信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔｗ８に、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”か、或いは“１”または“２”または“３”か」がフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【０２２１】
図４３は、時刻ｔｗ８のときにフリップフロップＦＦ１、ＦＦ２がセンスし、ラッチしている読み出しデータを示す図である。この時のフリップフロップＦＦ１、ＦＦ２のノードＮ３Ｃ、Ｎ５Ｃの電位は図４３のようになる。
【０２２２】
最後に、メモリセルに書き込まれたデータが「“０”または“１”または“２”か、あるいは“３”か」がセンスされる。時刻ｔｗ９にビット線ＢＬａが１．８Ｖに、ダミービット線ＢＬｂが１．５Ｖにプリチャージされ、その後フローティングにされる。その後、時刻ｔｗ１０に選択された制御ゲートが２Ｖにされる。選択されたメモリセルのしきい値が２Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。時刻ｔｗ１１にＶＲＦＹＢＡ２ＣがＶＣＣになる。
【０２２３】
図４３からわかるように、ノードＮ５Ｃが“ｈｉｇｈ ｌｅｖｅｌ”およびノードＮ３Ｃが“Ｌｏｗ ｌｅｖｅｌ”（つまりノードＮ４Ｃが“ｈｉｇｈ ｌｅｖｅｌ”）になるのは“１”データの場合のみである。従って“１”データの場合のみｎチャネルＭＯＳトランジスタＱｎ５４Ｃ、Ｑｎ５５Ｃ、Ｑｎ５３Ｃがオンし、ノードＮ１がＶＣＣになる。その後、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”、“Ｈ”となってフリップフロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となってイコライズされる。この後、時刻ｔｗ１２に、信号ＲＶ２Ａ、ＲＶ２Ｂが“Ｈ”となる。時刻ｔｗ１３に、再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”、“Ｌ”となることで、ノードＮ１の電圧がセンスされラッチされる。これで、「メモリセルのデータが“０”または“１”または“２”であるか、あるいは“３”か」がフリップフロップＦＦ２によってセンスされ、その情報はラッチされる。
【０２２４】
図４４は、フリップフロップＦＦ１、ＦＦ２がセンスし、ラッチする読み出しデータを示す図である。
【０２２５】
フリップフロップＦＦ１およびＦＦ２に保持された２ビットのデータは時刻ｔｗ１４にＣＥＮＢが活性化されることにより、チップ外部に出力される。
【０２２６】
書き込み動作、および書き込みベリファイ読み出し動作はそれぞれ、第３の実施の形態と、ほぼ同様に行えばよい。
【０２２７】
また、第４の実施の形態では、ワード線に所定の読み出し電圧（例えば０Ｖ、１Ｖ、２Ｖ）を印加する前に、毎回ビット線及びダミービット線をプリチャージしている。
【０２２８】
これに対し、第３の実施の形態では、読み出し及びベリファイ読み出し時に、最初にビット線及びダミービット線をプリチャージし、その後はプリチャージせず、ワード線の読み出し電圧を変化（例えば０Ｖから１Ｖ、２Ｖ）させている。このような第３の実施の形態においても、読み出し、あるいはベリファイ読み出し時に、ワード線に読み出し電圧（例えば０Ｖ、１Ｖ、２Ｖ）を印加する毎に、上記第４の実施の形態のようにビット線及びダミービット線をプリチャージするようにしても良い。
【０２２９】
以上、この発明を第１〜第４の実施の形態により説明したが、これら第１〜第４の実施の形態において、下記のような、さらなる変形が可能である。
【０２３０】
図４５は、変形されたカラム構成を有するＥＥＰＲＯＭの構成図である。
【０２３１】
上記第１〜第４の実施の形態では、左右一つずつのビット線ＢＬに、一つのデータ回路６**が対応したものを説明したが、左右複数ずつビット線ＢＬに、一つのデータ回路６**が対応した形に変更することができる。
【０２３２】
図４５に示すように、変形されたカラム構成を有するＥＥＰＲＯＭでは、４本のビット線ＢＬａｉ-1〜ＢＬａｉ-4、またはＢＬｂｉ-1〜ＢＬｂｉ-4（ｉは０〜３）に対して、データ回路６**-0〜６**-mのうちの一つが設けられている。
【０２３３】
以下、メモリセルアレイ１Ａ側を例にとり説明する。
【０２３４】
４本のビット線ＢＬａｉ-1〜ＢＬａｉ-4のうち、例えばＢＬａｉ-1を選択するときには、データ回路側のトランスファゲート回路７*Ａを駆動する駆動信号ＢＬＣ１〜ＢＬＣ４のうち、信号ＢＬＣ１を“Ｈ”レベルとし、他の信号ＢＬＣ２〜４をそれぞれ、“Ｌ”レベルとする。
【０２３５】
また、同時に、非選択ビット線制御回路側のトランスファゲート回路７**Ａを駆動する駆動信号ＢＬＣ１Ｄ〜ＢＬＣ４Ｄのうち、信号ＢＬＣ１Ｄを“Ｌ”レベルとし、他の信号ＢＬＣ２Ｄ〜４Ｄをそれぞれ、“Ｈ”レベルとする。これにより、選択されたビット線ＢＬｉ-1だけがデータ回路６**-0〜６**-mに接続される。
【０２３６】
これにより、選択されたビット線ＢＬａｉ-1だけがデータ回路６**-0〜６**-mに接続され、選択されていないビット線ＢＬａｉ-2〜ＢＬａｉ-4はそれぞれ、非選択ビット線制御回路２０-0Ａ〜２０-mＡに接続される。非選択ビット線制御回路２０-0Ａ〜２０-mＡは、選択されていないビット線ＢＬａｉ-2〜ＢＬａｉ-4の電位を制御する。
【０２３７】
また、メモリセルアレイ１Ａ、１Ｂに集積されるメモリセルは、ＮＡＮＤ型のセルに限られることはなく、以下に説明するようなセルでも、この発明の実施が可能である。
【０２３８】
図４６は、ＮＯＲ型のセルが集積されたメモリセルアレイを示す図である。図４６に示すＮＯＲ型のセルは、ビット線ＢＬに、選択ゲートを介して接続されている。
【０２３９】
図４７は、他のＮＯＲ型のセルが集積されたメモリセルアレイを示す図である。図４７に示すＮＯＲ型のセルは、ビット線ＢＬに、直接に接続されている。
【０２４０】
図４８は、グランドアレイ型のセルが集積されたメモリセルアレイを示す図である。図４８に示すように、グランドアレイ型のセルは、ビット線ＢＬとソース線Ｖｓとを並行に配置したものである。グランドアレイ型のセルは、ＮＯＲ型のメモリの一つである。
【０２４１】
図４９は、他のグランドアレイ型のセルが集積されたメモリセルアレイを示す図である。図４９に示すグランドアレイ型のセルは、データを消去するときに使用される消去ゲートＥＧを有している。また、制御ゲートＣＧの一部を、メモリセルトランジスタのチャネルにオーバーラップさせた、いわゆるスプリットチャネル型になっている。
【０２４２】
図５０は、交互グランドアレイ型のセルが集積されたメモリセルアレイを示す図である。図５０に示すように、交互グランドアレイ型のセルは、ビット線ＢＬとソース線Ｖｓとを並行に配置した点でグランドアレイ型のセルと一致するが、ビット線ＢＬとソース線Ｖｓとを交互に切り替えることが可能な点が相違している。
【０２４３】
図５１は、他の交互グランドアレイ型のセルが集積されたメモリセルアレイを示す図である。図５１に示す交互グランドアレイ型のセルは、図５０に示したグランドアレイ型のセルと同様な構成を有している。
【０２４４】
図５２は、ＤＩＮＯＲ（ＤＩｖｉｄｅｄ ＮＯＲ）型のセルが集積されたメモリセルアレイを示す図である。図５２に示すように、ＤＩＮＯＲ型のセルは、ビット線ＢＬとソース線Ｖｓとの間に、ビット線側選択トランジスタを介して、例えば４つのメモリセルトランジスタが並列に接続されて構成される。
【０２４５】
図５３は、ＡＮＤ型のセルが集積されたメモリセルアレイを示す図である。図５３に示すように、ＡＮＤ型のセルは、ビット線ＢＬとソース線Ｖｓとの間に、ビット線側選択トランジスタおよびソース線側選択トランジスタを介して、例えば４つのメモリセルトランジスタが並列に接続されて構成される。
【０２４６】
上記第１〜第４の実施の形態によれば、データ書き込みを行う際に、少なくとも１つのビット線電圧制御回路によって、ビット線を所望のビット線書き込み制御電圧に充電する。これにより、簡単な回路構成で、ｎ値書き込みデータに応じたビット線書き込み制御電圧をビット線に印加するビット線電圧制御回路を実現できる。よって、カラム系回路の規模が小さくなり、チップサイズを小さくでき、低コストのｎ値記憶ＥＥＰＲＯＭを得ることができる。
【０２４７】
例えばメモリセルへの書き込みデータをラッチ、およびメモリセルからの読み出しデータをセンス・ラッチする、多値のデータの数を２ｍ（ｍは２以上の自然数）＝ｎ値としたとき、フリップフロップ回路の数をｍ個にできるので、カラム系回路の回路規模を小さくできる。そして、ベリファイ中、再度、書き込みを行うか否かを判断する判断回路とを具備するが、この判断回路を、前記ベリファイ中に、データラッチ・センスアンプ回路に、ベリファイ読み出し結果に応じて、更新されていく書き込みデータによって制御するように構成している。
【０２４８】
なお、上記多値のデータの数ｎは、２（ｍ−１）＜ｎ≦２ｍを満たす自然数であれば良い。
【図面の簡単な説明】
【０２４９】
【図１】図１はこの発明の第１の実施の形態に係る多値記憶ＮＡＮＤ型ＥＥＰＲＯＭの構成を示す構成図。
【図２】図２は図１に示すメモリセルアレイおよびカラム系回路の構成を示す構成図。
【図３】図３は図２に示すメモリセルからデータを読み出すときを示す図で、（ａ）図は電圧の入力状態を示す図、（ｂ）図は電圧の入力波形とビット線に現れる出力波形とを示す図。
【図４】図４はビット線に現れる出力電圧とメモリセルの数とを関係を示す図。
【図５】図５は図２に示すデータ回路の回路図。
【図６】図６は読み出し動作を示す動作波形図。
【図７】図７はフリップフロップがセンスしラッチする読み出しデータを示す図。
【図８】図８はフリップフロップがラッチする書き込みデータを示す図。
【図９】図９は書き込み動作を示す動作波形図。
【図１０】図１０はベリファイ読み出し動作を示す動作波形図。
【図１１】図１１は４値記憶のときのメモリセルトランジスタのしきい値分布を示す図。
【図１２】図１２はこの発明の第２の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図。
【図１３】図１３は読み出し動作を示す動作波形図。
【図１４】図１４はフリップフロップがセンスしラッチしている読み出しデータを示す図。
【図１５】図１５はフリップフロップがセンスしラッチする読み出しデータを示す図。
【図１６】図１６は書き込み動作の概略を示す概略図。
【図１７】図１７はフリップフロップがラッチする書き込みデータを示す図。
【図１８】図１８は書き込み動作（プログラム第１サイクル）を示す動作波形図。
【図１９】図１９はベリファイ読み出し動作（ベリファイ読み出し第１サイクル）を示す動作波形図。
【図２０】図２０はフリップフロップがラッチしているデータを示す図。
【図２１】図２１は書き込み終了一括検知トランジスタを有したデータ回路の回路図。
【図２２】図２２は書き込み動作（プログラム第２サイクル）を示す動作波形図。
【図２３】図２３はベリファイ読み出し動作（ベリファイ読み出し第２サイクル）を示す動作波形図。
【図２４】図２４はフリップフロップがラッチしているデータを示す図。
【図２５】図２５は他のベリファイ読み出し動作（ベリファイ読み出し第１サイクル）を示す動作波形図。
【図２６】図２６はデータ回路の他の回路図。
【図２７】図２７はデータ回路の他の回路図。
【図２８】図２８はこの発明の第３の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図。
【図２９】図２９は読み出し動作を示す動作波形図。
【図３０】図３０はフリップフロップがセンスしラッチしている読み出しデータを示す図。
【図３１】図３１はフリップフロップがセンスしラッチする読み出しデータを示す図。
【図３２】図３２はフリップフロップがラッチする書き込みデータを示す図。
【図３３】図３３は書き込み動作を示す動作波形図。
【図３４】図３４はベリファイ読み出し動作を示す動作波形図。
【図３５】図３５はベリファイ読み出し動作を示す動作波形図。
【図３６】図３６は他のベリファイ読み出し動作を示す動作波形図。
【図３７】図３７はデータ回路の他の回路図。
【図３８】図３８はデータ回路の他の回路図。
【図３９】図３９はデータ回路の他の回路図。
【図４０】図４０はデータ回路の他の回路図。
【図４１】図４１はこの発明の第４の実施の形態に係るＥＥＰＲＯＭが有するデータ回路の回路図。
【図４２】図４２は読み出し動作を示す動作波形図。
【図４３】図４３はフリップフロップがセンスしラッチしている読み出しデータを示す図。
【図４４】図４４はフリップフロップがセンスし、ラッチする読み出しデータを示す図。
【図４５】図４５は変形されたカラム構成を有するＥＥＰＲＯＭの構成図。
【図４６】図４６はＮＯＲ型のセルが集積されたメモリセルアレイを示す図。
【図４７】図４７は他のＮＯＲ型のセルが集積されたメモリセルアレイを示す図。
【図４８】図４８はグランドアレイ型のセルが集積されたメモリセルアレイを示す図。
【図４９】図４９は他のグランドアレイ型のセルが集積されたメモリセルアレイを示す図。
【図５０】図５０は交互グランドアレイ型のセルが集積されたメモリセルアレイを示す図。
【図５１】図５１は他の交互グランドアレイ型のセルが集積されたメモリセルアレイを示す図。
【図５２】図５２はＤＩＮＯＲ型のセルが集積されたメモリセルアレイを示す図。
【図５３】図５３はＡＮＤ型のセルが集積されたメモリセルアレイを示す図。
【符号の説明】
【０２５０】
１…メモリセルアレイ、２…ロウ系回路、３…カラム系回路、４…アドレスバッファ、５…データ入出力回路、６**…データ回路、７…トランスファゲート回路、ＭＣ…メモリセル、Ｍ…メモリセルトランジスタ、Ｓ…選択トランジスタ、ＳＧ…選択ゲート、ＣＧ…制御ゲート、ＢＬ…ビット線、ＦＦ…フリップフロップ回路。
【図１】
2006228427.tif 000003
【図２】
2006228427.tif 000004
【図３】
2006228427.tif 000005
【図４】
2006228427.tif 000006
【図５】
2006228427.tif 000007
【図６】
2006228427.tif 000008
【図７】
2006228427.tif 000009
【図８】
2006228427.tif 000010
【図９】
2006228427.tif 000011
【図１０】
2006228427.tif 000012
【図１１】
2006228427.tif 000013
【図１２】
2006228427.tif 000014
【図１３】
2006228427.tif 000015
【図１４】
2006228427.tif 000016
【図１５】
2006228427.tif 000017
【図１６】
2006228427.tif 000018
【図１７】
2006228427.tif 000019
【図１８】
2006228427.tif 000020
【図１９】
2006228427.tif 000021
【図２０】
2006228427.tif 000022
【図２１】
2006228427.tif 000023
【図２２】
2006228427.tif 000024
【図２３】
2006228427.tif 000025
【図２４】
2006228427.tif 000026
【図２５】
2006228427.tif 000027
【図２６】
2006228427.tif 000028
【図２７】
2006228427.tif 000029
【図２８】
2006228427.tif 000030
【図２９】
2006228427.tif 000031
【図３０】
2006228427.tif 000032
【図３１】
2006228427.tif 000033
【図３２】
2006228427.tif 000034
【図３３】
2006228427.tif 000035
【図３４】
2006228427.tif 000036
【図３５】
2006228427.tif 000037
【図３６】
2006228427.tif 000038
【図３７】
2006228427.tif 000039
【図３８】
2006228427.tif 000040
【図３９】
2006228427.tif 000041
【図４０】
2006228427.tif 000042
【図４１】
2006228427.tif 000043
【図４２】
2006228427.tif 000044
【図４３】
2006228427.tif 000045
【図４４】
2006228427.tif 000046
【図４５】
2006228427.tif 000047
【図４６】
2006228427.tif 000048
【図４７】
2006228427.tif 000049
【図４８】
2006228427.tif 000050
【図４９】
2006228427.tif 000051
【図５０】
2006228427.tif 000052
【図５１】
2006228427.tif 000053
【図５２】
2006228427.tif 000054
【図５３】
2006228427.tif 000055