(57)【特許請求の範囲】
【請求項１】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｍ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする記憶システム。
【請求項２】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｍ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｍ値の記憶をさせるメモリセルを変更することを特徴とする記憶システム。
【請求項３】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｎ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする記憶システム。
【請求項４】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｎ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｎ値の記憶をさせるメモリセルを変更することを特徴とする記憶システム。
【請求項５】
さらにＤＲＡＭを備え、電源投入後に前記制御情報をメモリセルから読み出し、前記ＤＲＡＭに蓄えることを特徴とする請求項１乃至請求項４いずれか一項に記載の記憶システム。
【請求項６】
前記複数のメモリセルは所定個づつ複数のブロックに分割され、ブロック単位でｎ値の記憶部分かｍ値の記憶部分かが制御されることを特徴とする請求項１乃至請求項４いずれか一項に記載の記憶システム。
【請求項７】
前記制御情報は所定のブロックに記憶されることを特徴とする請求項６記載の記憶システム。
【請求項８】
前記制御情報はメモリセルの書き換え回数を含むことを特徴とする請求項１乃至請求項４いずれか一項に記載の記憶システム。
【請求項９】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｍ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする記憶システム。
【請求項１０】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｍ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｍ値の記憶をさせるメモリセルアレイを変更することを特徴とする記憶システム。
【請求項１１】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｎ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする記憶システム。
【請求項１２】
複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、
前記複数のメモリセルを制御する制御回路と、を備え、
前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｎ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｎ値の記憶をさせるメモリセルアレイを変更することを特徴とする記憶システム。
【請求項１３】
さらにＤＲＡＭを備え、電源投入後に前記制御情報をメモリセルアレイから読み出し、前記ＤＲＡＭに蓄えることを特徴とする請求項９乃至請求項１２いずれか一項に記載の記憶システム。
【請求項１４】
前記メモリセルアレイは所定個のメモリセルを含む複数のブロックに分割され、ブロック単位でｎ値の記憶部分かｍ値の記憶部分かが制御されることを特徴とする請求項９乃至請求項１２いずれか一項に記載の記憶システム。
【請求項１５】
前記制御情報は所定のブロックに記憶されることを特徴とする請求項１４記載の記憶システム。
【請求項１６】
前記制御情報はメモリセルの書き換え回数を含むことを特徴とする請求項９乃至請求項１２いずれか一項に記載の記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶システム、例えば電気的書き換え可能な多値記憶不揮発性半導体記憶装置（ＥＥＰＲＯＭ）によって構成される記憶システムに関する。
【０００２】
【従来の技術】
近年、電気的書き替え可能とした不揮発性半導体装置（ＥＥＰＲＯＭ）の１つとしてＮＡＮＤセル型ＥＥＰＲＯＭが提案されている。
【０００３】
このＥＥＰＲＯＭは、電荷蓄積層としての例えば浮遊ゲートと制御ゲートが積層されたｎチャネルＦＥＴＭＯＳ構造の複数のメモリセルを、それらのソース、ドレインを隣接するもの同士で共有する形で直列接続し、これを１単位としてビット線に接続するものである。
【０００４】
図３６は、メモリセルアレイの１つのＮＡＮＤセル部分を示す図で、（ａ）図は平面図、（ｂ）図は等価回路図である。図３７は断面図で、（ａ）図は図３６（ａ）中のＡ−Ａ’線に沿う断面図、（ｂ）図は図３６（ａ）中のＢ−Ｂ’線に沿う断面図である。
【０００５】
ｐ型シリコン基板（又はｐ型ウエル）１１には、素子分離酸化膜１２で囲まれた素子領域が設けられている。素子領域にはＮＡＮＤセルが形成され、ＮＡＮＤセルが複数集まることで、メモリセルアレイが形成されている。
【０００６】
図３６および図３７を参照し、１つのＮＡＮＤセルに着目して説明する。
【０００７】
図３６および図３７に示す装置では、８個のメモリセルＭ１〜Ｍ８が直列に接続されて１つのＮＡＮＤセルを構成している。メモリセルはそれぞれ、基板１１の上に、ゲート絶縁膜１３を介して形成された浮遊ゲート１４（１４-1、１４-2、…、１４-8）を有している。浮遊ゲート１４の上には、第２のゲート絶縁膜１５を介して制御ゲート１６が形成されている。メモリセルのソース、ドレインであるｎ型拡散層１９はそれぞれ、隣接するメモリセルどうしで共有される。これにより、８個のメモリセルは、互いに直列に接続される。
【０００８】
ＮＡＮＤセルのドレイン側、ソース側には各々、メモリセルの浮遊ゲート１４-1〜１４-8、制御ゲート１６-1〜１６-8と同時に形成された第１の選択ゲート１４-9、１６-9、及び第２の選択ゲート１４-10 、１６-10 が設けられている。メモリセルなどの素子が形成された基板１１の上方は、ＣＶＤ酸化膜１７により覆われている。ＣＶＤ酸化膜１７の上には、ビット線１８が配設されている。ＮＡＮＤセルの制御ゲート１６は行方向に連続して形成され、行方向に隣接するＮＡＮＤセルどうしで共通とされて、ワード線（制御ゲートＣＧ１、ＣＧ２、…、ＣＧ８）として機能する。選択ゲート１４-9、１６-9、および１４-10 、１６-10 はそれぞれ、制御ゲート１６-1〜１６-8と同様に行方向に連続して形成され、行方向に隣接したＮＡＮＤセルどうしで共通とされて、選択ゲートＳＧ１、ＳＧ２として機能する。
【０００９】
図３８は、上記ＮＡＮＤセルがマトリクス状に配列されたメモリセルアレイの等価回路図である。
【００１０】
図３８に示すように、ソース線は、コンタクトを介して、アルミニウムや、導電性のポリシリコンなどから構成されている基準電位配線に接続される。ソース線と基準電位配線とのコンタクトは、例えば６４本のビット線ごとに、１箇所設けられる。基準電位配線は、例えば動作モードに応じてソース線に与える電位を制御する、図示せぬ周辺回路に接続されている。
【００１１】
制御ゲートＣＧ１、ＣＧ２、…、第１、第２の選択ゲートＳＧ１、ＳＧ２は、行方向に連続的に配設される。通常、制御ゲートにつながるメモリセルの集合を、ページ（１ページ）と呼び、１組のドレイン側（第１の選択ゲート）およびソース側（第２の選択ゲート）の選択ゲートによって挟まれた上記ページの集合を、ＮＡＮＤブロック（１ＮＡＮＤブロック）、又はブロック（１ブロック）と呼ぶ。１ページは、例えば２５６バイト（２５６×８）個のメモリセルから構成される。１ページ分のメモリセルは、ほぼ同時に書き込みが行われる。１ブロックは例えば２０４８バイト（２０４８×８）個のメモリセルから構成される。１ブロック分のメモリセルは、ほぼ同時に消去される。
【００１２】
ＮＡＮＤ型ＥＥＰＲＯＭの動作は、次の通りである。
【００１３】
データ書き込みは、ビット線から遠い方のメモリセルから順に行われる。
【００１４】
選択されたメモリセルの制御ゲートには、昇圧された書き込み電圧Ｖpp（＝２０Ｖ程度）を印加し、他の非選択メモリセルの制御ゲート、および第１の選択ゲートにはそれぞれ、中間電位（＝１０Ｖ程度）を印加し、ビット線には、データに応じて、０Ｖ（“０”書き込み）、又は中間電位（“１”書き込み）を印加する。このとき、ビット線の電位は、選択されているメモリセルに伝達される。データが“０”の時は、選択されているメモリセルの浮遊ゲートと基板との間に、高い電圧がかかり、基板から浮遊ゲートに、電子がトンネル注入され、しきい値電圧が正方向に移動する。データが”１”の時は、しきい値電圧は変化しない。
データ消去は、ブロック単位で、ほぼ同時に行われる。
【００１５】
すなわち、消去を行うブロックに含まれている全ての制御ゲート、選択ゲートを０Ｖとし、ｐ型シリコン基板（またはｐ型ウェルおよびｎ型基板）に、昇圧された昇圧電位ＶppE （２０Ｖ程度）を印加する。一方、消去を行わないブロックに含まれている制御ゲート、選択ゲートには、上記昇圧電位ＶppE を印加する。これにより、消去が行われるブロックのメモリセルにおいて、浮遊ゲートに蓄積されていた電子がｐ型シリコン基板（またはウェル）に放出され、しきい値電圧が、負の方向に移動する。
【００１６】
データ読み出し動作は、ビット線をプリチャージした後、ビット線をフローティングとし、選択されたメモリセルの制御ゲートを０Ｖ、それ以外のメモリセルの制御ゲート、選択ゲートを電源電圧Ｖcc（たとえば３Ｖ）、ソース線を０Ｖとして、選択されているメモリセルで、電流が流れるか否かをビット線に検出することにより、行われる。すなわち、メモリセルに書き込まれたデータが”０”  （メモリセルのしきい値Ｖth＞０）ならばメモリセルはオフになるので、ビット線はプリチャージ電位を保つが、”１”（メモリセルのしきい値Ｖth＜０）ならばメモリセルは、オンしてビット線はプリチャージ電位からΔＶだけ下がる。これらのビット線電位を、センスアンプで検出することによって、メモリセルのデータが読み出される。
【００１７】
さらに最近では、ＥＥＰＲＯＭの大容量化を実現する手法の１つとして、１個のセルに３値以上の情報を記憶させる、多値記憶セルが知られている（例えば特開平７−９３９７９号、特開平７−１６１８５２号）。
【００１８】
図３９は、一つのメモリセルに、４つの書き込み状態を設けることによって、４値を記憶する場合の、メモリセルのしきい値電圧と、４つの書き込み状態（４値データ“０”、“１”、“２”、“３”）との関係を示す図である。
【００１９】
データ“０”の状態は、消去後の状態と同じで、例えば負のしきい値を持つ。データ“１”の状態は、例えば０．５Ｖから０．８Ｖの間のしきい値を持つ。データ“２”の状態は、例えば１．５Ｖから１．８Ｖの間のしきい値を持つ。データ“３”の状態は、例えば２．５Ｖから２．８Ｖの間のしきい値を持つ。
【００２０】
したがって、メモリセルＭの制御ゲートＣＧに、読み出し電圧VCG2R を印加して、メモリセルが“ＯＮ”か“ＯＦＦ”かで、メモリセルのデータが「“０”、“１”のいずれかか、“２”、“３”のいずれかか」を検出できる。続けて、読み出し電圧VCG3R 、VCG1R を印加することでメモリセルのデータが完全に検出される。読み出し電圧VCG1R 、VCG2R 、VCG3R は、例えばそれぞれ０Ｖ、１Ｖ、２Ｖとされる。
【００２１】
また、電圧VCG1V 、VCG2V 、VCG3V は、ベリファイ電圧と呼ばれ、データ書き込み時には、これらベリファイ電圧を制御ゲートに印加してメモリセルＭの状態を検出し、十分に書き込みが行われたか否かをチェックする。ベリファイ電圧VCG1V 、VCG2V 、VCG3V は、例えばそれぞれ０．５Ｖ、１．５Ｖ、２．５Ｖとされる。
【００２２】
【発明が解決しようとする課題】
フラッシュメモリでは、書き換え回数に、２値メモリセルで、例えば１００万回の制限がある。この書き換え回数の制限は、例えば書き込み状態のメモリセルのフローティングゲートから基板に、フローティングゲートに蓄えた電子がリークすることにより生じる。図３９のデータ“１”の状態のメモリセルから、電子がリークすることにより、メモリセルがデータ“０”の状態になると、書き込みデータが破壊されたことになる。
【００２３】
メモリセルに多値データを蓄えると、状態間の電圧差（例えば図３９の“３”状態と“２”状態の間の電圧差）が小さくなる。その結果、わずかな量の電子が基板にリークしても、データが、“３”の状態から、“２”の状態に変わってしまう。また、メモリセルを多値化すると、しきい値が最も大きい状態（図３９では“３”状態）のしきい値が大きくなるので、フローティングゲートと基板との間の電界が大きくなる。その結果、フローティングゲートからの電子のリーク量が大きくなる。
【００２４】
以上の事情から、メモリセルを多値化するほど信頼性、特にデータの書き換え回数に対する信頼性が悪化し、書き換え回数の制限値が減少し、例えば５０万回になる。結果として、装置の耐久性（装置の寿命）が損なわれている。
【００２５】
従来のメモリーカード（例えばN.Niijima ; IBM J.RES.DEVELOP.VOL.39 NO.5 SEPTEMBER 1995）では、ブロック毎に書き換え回数を記録し、書き換え回数が、例えば１００万回を超えた場合には、該ブロックを使用しないようにしている。しかしながら、この方式でも、多値記憶化すればするほど、メモリーカードの使用回数は、２値記憶のときよりも減少する。
【００２６】
この発明は、上記の事情に鑑みて為されたもので、その目的は、多値記憶のメモリセルを含みながらも、特に書き換えに関する耐久性に富む記憶システムを提供することにある。
【００２７】
また、他の目的は、上記目的を達成する記憶システムに必要な、幾つかの新規なシステム要素を含んだ記憶システムを提供することにある。
【００２８】
【課題を解決するための手段】
上記目的を達成するために、この発明の第１の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｍ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする。
【００２９】
また、この発明の第２の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｍ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｍ値の記憶をさせるメモリセルを変更することを特徴とする。
また、この発明の第３の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｎ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする。
また、この発明の第４の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記複数のメモリセルの一部を前記ｎ値の記憶部分として制御し、異なる一部のメモリセルをｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、更に異なる一部のメモリセルにどのメモリセルをｎ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｎ値の記憶をさせるメモリセルを変更することを特徴とする。
また、この発明の第５の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｍ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする。
また、この発明の第６の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｍ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｍ値の記憶をさせるメモリセルアレイを変更することを特徴とする。
また、この発明の第７の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｎ値の記憶部分として制御するかという制御情報を記憶させることを特徴とする。
また、この発明の第８の態様に係る記憶システムでは、複数のｎ値（ｎは３以上の自然数）を記憶可能で電気的に書き換え可能な複数の不揮発性半導体メモリセルで構成されるメモリセルアレイと、前記複数のメモリセルを制御する制御回路と、を備え、前記制御回路は、前記メモリセルアレイの一部を前記ｎ値の記憶部分として制御し、前記メモリセルアレイの異なる一部をｍ値（ｍは２以上の自然数であり、ｍ＜ｎ）の記憶部分として制御し、前記メモリセルアレイの更に異なる一部にメモリセルアレイのどの部分をｎ値の記憶部分として制御するかという制御情報を記憶させ、前記制御情報を書き換えることでｎ値の記憶をさせるメモリセルアレイを変更することを特徴とする。
【００３０】
【発明の実施の形態】
以下、この発明の実施の形態を、多値NAND型フラッシュメモリを、例にとって説明する。
【００３１】
図１〜図３はそれぞれ、この発明の第１の実施の形態に係る多値NAND型フラッシュメモリの各記憶モードごとの、しきい値電圧と多値データとの関係を示す図である。
【００３２】
図１には、４値動作モードのときの、しきい値電圧と４値データとの関係の一つの例が、図２（ａ）〜（ｃ）には、３値動作モードのときの、しきい値電圧と３値データとの関係の三つの例が、図３（ａ）、（ｂ）には、２値動作モードのときの、しきい値電圧と２値データとの関係の二つの例がそれぞれ示されている。
【００３３】
図１〜図３の各図において、“０”は消去状態、“１”、“２”、“３”はそれぞれ書き込み状態である。多値NAND型フラッシュメモリのチップ内部の動作  （書き込み、読み出し、消去など）は、特開平７−９３９７９号、特開平７−１６１８５２号、特願平７−２９５１３７号、特願平８−６１４４３号、特願平８−６１４４５号などに記されているとうりである。
【００３４】
上述したように、ＥＥＰＲＯＭの分野においては、多値化すればするほど、書き換え可能な回数が減少する。例えば図１に示すような４値の記憶状態をとる４値セルでは５０万回、図２に示すような３値の記憶状態をとる３値セルでは８０万回、図３に示すような２値の記憶状態をとる２値セルでは１００万回がそれぞれ、書き換え可能な範囲である。
【００３５】
この発明によると、まず、５０万回の書き換えが行われるまでは、メモリセルを図１に示すような記憶状態をとる４値セルとして使用する。５０万回の書き換えが行われた後、８０万回の書き換えが行われるまでは、図２（ａ）〜（ｃ）に示すような３値セルとして使用する。８０万回の書き換え以降では、図３に示すような２値セルとして使用する。
【００３６】
また、装置の動作の方法を簡略化するために、５０万回の書き換えが行われるまでは、４値セルとして使用し、５０万回の書き換えが行われた後、２値セルとして使用するようにしても良い。
【００３７】
このように、４値セルとしての書き換え回数の限度を超えた場合には、３値セル、あるいは２値セルとして使用することにより、フラッシュメモリの使用回数を、増やすことができる。したがって、従来の多値記憶のフラッシュメモリよりも、特に書き換えに関する耐久性が向上する。
【００３８】
上記の耐久性は、フラッシュメモリ単体、つまりチップの耐久性として向上することはもちろんのこと、このフラッシュメモリを様々なメモリ装置（例えばメモリカードなど）の中に組み込むことで、該メモリ装置の、耐久性についても、向上する。
【００３９】
メモリセルを４値として動作させるか、あるいは３値として動作させるか、あるいは２値として動作させるかは、チップの外部から、フラッシュメモリにコマンドを入力することによって制御しても良い。つまり、フラッシュメモリ内部の動作モードとして４値用の書き込み動作モード（または動作方法）／読み出し動作モード（または動作方法）、３値用の書き込み動作モード（または動作方法）／読み出し動作モード（または動作方法）、２値用の書き込み動作モード（または動作方法）／読み出し動作モード（または動作方法）をそれぞれ持たせ、これらの動作モード（または動作方法）のいずれかを、コマンドの入力によって選び、それぞれの動作を制御しても良い。
【００４０】
あるいはメモリセルを４値として動作させるか、あるいは３値として動作させるか、あるいは２値として動作させるかを、フラッシュメモリを制御するコントローラから入力する書き込みデータによって制御するようにしても良い。つまり、フラッシュメモリの内部動作は変えずに、外部から入力する書き込みデータを、４値、３値、２値と順次、あるいは４値、２値と制御する。つまり、４値セルとして動作させるときには「“０”、“１”、“２”、“３”」の４値を入力し、３値セルとして動作させるときには「“０”、“１”、“２”」の３値を入力し、２値セルとして動作させるときには、「“０”、“１”」の２値を入力するように、それぞれの入力データ値を制御しても良い。
【００４１】
また、２値セルとしての書き換え回数の限度を超えた場合には、該セルは使用しないようにしても良い。
【００４２】
また、２値セルとしての書き換え回数の限度を超えた場合には、該セルには、データの書き込み、あるいはデータの消去をしないようにしても良い。この場合には、該セルは、書き換えが行われないだけであるので、ＲＯＭとして使用することが可能である。なお、ＲＯＭとして使用されたときには、セルの、特にトンネル酸化膜の劣化の度合いが、記憶保持期間を左右する。しかしながら、書き換え回数が限度に達したとしても、通常、セルには、ＲＯＭとして耐えるだけの信頼性が充分に残っている。なぜならば、書き換え回数の限度は、トンネル酸化膜が使用に耐えられなくなるまでに、ある程度のマージンを見込んで設定されているためである。
【００４３】
次に、この発明の第２の実施の形態に係る記憶システムについて説明する。
【００４４】
図４は、第２の実施の形態に係るフラッシュメモリの構成図である。
【００４５】
図４に示すように、コントローラ１００は、ｋ個（ｋは自然数）の多値NAND型フラッシュメモリのチップ１０１-1〜１０１-kの動作を制御する。
【００４６】
図５は、図４に示す多値NAND型フラッシュメモリのチップ１０１の構成図である。図４に示すチップ１０１には複数のメモリセルが含まれていて、これらメモリセルはそれぞれ、第１の実施の形態で説明したものと同様に、多値記憶レベルに応じたしきい値電圧分布を持つ。しきい値電圧分布は、例えば図１〜図３と同様なものであり、図１〜図３に示すように、“０”が消去状態、“１”、“２”、“３”が書き込み状態である。
【００４７】
多値NAND型フラッシュメモリのチップ内部の動作（書き込み、読み出し、消去など）は、特開平７−９３９７９号、特開平７−１６１８５２号、特願平７−２９５１３７号、特願平８−６１４４３号、特願平８−６１４４５号などに記されているとうりである。
【００４８】
同時に書き込みを行う単位である１ページは、５２８バイト個のメモリセルで構成され、そのうち例えば５１２バイト個のメモリセルがデータ領域、残りの１６バイト個のメモリセルが論理アドレスと物理アドレスの対応を示すアドレス変換テーブルや、誤り訂正コード（Error Correcting Code : ECC)を記憶する。
【００４９】
図５では、１つのチップは、５１２ブロックから構成され、同時に消去を行う単位である１ブロックは１６ページで構成される。例えば先頭ブロックＢｌｏｃｋ０はシステム領域として使用する。つまり、Ｂｌｏｃｋ０には各ブロックの書き換え回数やどのブロックが壊れているか、あるいはブロック・シークエンス番号Ｓを記憶しておけばよい。以下では、書き換え回数を記憶する部分を書き換え回数記録領域と呼ぶ。ブロック・シークエンス番号Ｓなどの説明の詳細は公知例N.Niijima ; IBM J.RES.DEVELOP.VOL.39 NO.5 SEPTEMBER 1995に記されている。この場合、書き込み・消去を繰り返す毎に、書き換え回数が記憶されている先頭ブロックの書き換えが起こる。このように、システムブロックでは書き換えが頻繁に行われるので、システム領域のメモリセルの寿命が他のデータ領域のメモリセルの寿命よりも短くなることがある。
【００５０】
図６は、第２の実施の形態の変形に係る記憶システムの構成図である。
【００５１】
上記のように、システム領域のメモリセルの寿命が他のデータ領域のメモリセルの寿命よりも短くなる場合には、図６に示すように、書き換え回数記録領域などのシステム領域を記憶するＤＲＡＭ１０２を備えても良い。電源投入時（動作時）にフラッシュメモリのシステム領域のデータを読み出してＤＲＡＭに蓄える。その後、データの書き込み、消去、書き換え等にはシステム領域の書き換えが生じるが、この時には、ＤＲＡＭに蓄えられたシステム領域を書き換えれば良い。ＤＲＡＭ上のシステム領域のデータに基づいて、電源をオフ時、あるいは一定時間毎にフラッシュメモリのシステム領域のデータを書き換えれば良い。
【００５２】
このように、動作時のシステム領域の書き換えは、ＤＲＡＭ内のデータに対して行うことにより、フラッシュメモリ内のシステム領域が頻繁に書き換えられることが防がれる。
【００５３】
また、データの書き込み、消去、書き換え時にアドレス変換テーブルの書き換えが必要な場合には、アドレス変換テーブルの内容も、ＤＲＡＭに蓄え、書き換えもＤＲＡＭ内で行えばよい。
【００５４】
この実施の形態では、４値フラッシュメモリを例にとり、説明を行う。例えば図１のような４値メモリセルでは５０万回、図３（ａ）、（ｂ）のような２値メモリセルでは、１００万回書き換え可能とする。
【００５５】
この実施の形態によると、まず、５０万回書き換えが行われるまでは、メモリセルを図１（ａ）のような４値セルとして４値モードで使用する。各ブロックの書き換え回数は、電源オフ時にはフラッシュメモリ上のシステム領域の書き換え回数記録領域に、電源投入時（動作時）にはＤＲＡＭの書き換え回数記録領域に蓄える。
【００５６】
５０万回書き替えた後では、図３（ａ）、（ｂ）のように、２値セルとして２値モードで使用する。４値モードと２値モードの切り換えは、１ページ単位、あるいは１ブロック単位で行っても良いし、複数のブロック単位で行っても良いし、チップ単位で行っても良い。各ページ、各ブロック、あるいは各チップが２値モードであるか、あるいは４値モードであるかを保持するレベル記憶手段は、電源オフ時にはフラッシュメモリのシステム領域に、動作モードに関する情報を記憶し、電源投入時（動作時）にはＤＲＡＭに蓄えれば良い。そして、電源投入時に、レベル記憶手段を読み出すことにより、メモリセルを何値で動作させるかを決めることができる。
【００５７】
このように、４値セルとしての書き換え回数の限度を超えた場合には２値セルとして使用する事により、フラッシュメモリの使用回数を増加することができる。
【００５８】
メモリセルを４値として動作させるか、あるいは２値として動作させるかは、コントローラ１００からフラッシュメモリにコマンドを入力することによって制御しても良い。つまり、フラッシュメモリ内部の動作モードとして４値用の書き込み動作モード（または動作方法）／読み出し動作モード（または動作方法）、２値用の書き込み動作モード（または動作方法）／読み出し動作モード（または動作方法）を持たせ、これらの動作モード（または動作方法）のいずれかを、コマンドの入力によって選び、それぞれの動作を制御しても良い。
【００５９】
あるいはメモリセルを４値として動作させるか、あるいは２値として動作させるかを、フラッシュメモリを制御するコントローラ１００から入力する書き込みデータによって制御するようにしても良い。つまり、フラッシュメモリの内部動作は変えずに、外部から入力する書き込みデータを４値、２値と制御する。つまり、４値セルとして動作させるときには「“０”、“１”、“２”、“３”」の４値を入力し、２値セルとして動作させるときには、「“０”、“１”」の２値を入力するように、それぞれの入力データ値を制御しても良い。
【００６０】
また、４値モードと２値モードとで、１ページ内のデータ領域のメモリセル数を変更しても良いし、変更しなくても良い。４値モードでも２値モードでも、５２８バイト個のメモリセルのうち、例えば５１２バイト個のメモリセルがデータ領域、残りの１６バイト個のメモリセルが論理アドレスと物理アドレスの対応を示すアドレス変換テーブルや、誤り訂正コード（ECC)を記憶してもよい。あるいは４値モードと２値モードとで、アドレス変換テーブルやECC の領域を最適化しても良い。例えば４値モードではアドレス変換テーブルやECC の領域が１６バイト個のメモリセルを用いていたのに対し、２値モードでは２４バイト個のメモリセルを用いても良いし、８バイト個のメモリセルを用いても良い。いずれの場合でも、アドレス変換テーブルやECC の領域以外をデータ領域として用いれば良い。
【００６１】
書き換え回数記録領域は、それぞれのブロックが書き換えられる毎にデータが更新されるので、この書き換え回数記録領域をモニタすることにより、メモリセルが何値で動作するかを決定すればよい。つまり、書き換え前にＤＲＡＭ内の書き換え回数記録領域を読み出して、書き込みを行うブロックの書き換え回数が５０万回以下の場合には、そのブロックを４値セルとして書き込む。書き換え回数が５０万回を超える場合には、ＤＲＡＭ内のレベル記憶手段の内容を、この実施の形態では４値セルではなく２値セルであると、変更し、そのブロックを、２値セルとして書き込む。また、１００万回を超える場合には、そのブロックを使用しない、あるいは書き込みまたは消去をしないようにしても良い。
【００６２】
第２の実施の形態では、例えば各ブロック単位で書き換え回数を記録し、各ブロック単位で何値で動作するかを決めている。また、何値で動作するか決める単位は、ブロックに限らず、例えば複数のブロックで１つの書き換え回数記録領域を設け、複数のブロック単位で何値で動作するかを決めても良い。あるいはフラッシュメモリチップ１つにつき、１つの書き換え回数記録領域を設け、チップ単位で何値で動作するかを決めても良い。さらにページ単位で、書き換え回数をモニタし、各ページ単位で何値で動作するかを決めても良い。
【００６３】
第２の実施の形態では、書き換え回数をモニタすることにより、何値メモリセルとして動作するかを決めているが、例えば出荷してからの時間をモニタすることにより、何値メモリセルとして動作するかを決めてもよい。
【００６４】
次に、この発明の第３の実施の形態に係る記憶システムについて説明する。
【００６５】
以下、この発明に係る幾つかの記憶システムを挙げ、これらを第３の実施の形態に係る記憶システムとして説明する。
【００６６】
図７は、第３の実施の形態に係る第１の記憶システムの動作フローを示す図である。
【００６７】
第１の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図７に示すように、メモリセルが所定の書き換え回数（たとえば５０万回）まではｎ値のメモリセルとして動作する。それ以後は、ｍ値（ｍはｎ未満の自然数）のメモリセルとして動作する、記憶システムである。
【００６８】
書き換え回数は、第２の実施の形態によって説明したように、各ブロック、あるいは各チップの書き換え回数記憶領域に記録し、この書き換え回数記憶領域をモニタすることにより、何値メモリセルで動作するかを決めればよい。
【００６９】
図８は、第３の実施の形態に係る第２の記憶システムの動作フローを示す図である。
【００７０】
第２の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図８に示すように、メモリセルが所定の書き換え回数まではｎ値のメモリセルとして動作する。それ以後は、２値のメモリセルとして動作する、記憶システムである。
【００７１】
図９は、第３の実施の形態に係る第３の記憶システムの動作フローを示す図である。
【００７２】
第３の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図９に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第（ｎ−１）の書き換え回数までは、メモリセルは（ｎ−１）値として動作し、第ｉ（ｉは２以上の自然数）の書き換え回数までは、メモリセルはｉ値として動作する、記憶システムである。
【００７３】
なお、ここでは、それぞれｎ値セル、（ｎ−１）値セル、ｉ値セルとしての書き換え回数の制限値と対応して設定される所定の書き換え回数を、第ｎの書き換え回数、第（ｎ−１）の書き換え回数、第ｉの書き換え回数と定義しており、以下についても全く同様に定義するものとする。
【００７４】
第４の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、半導体記憶装置において、該メモリセルが何値のデータを保持しているかを記憶する、レベル記憶手段を有する、記憶システムである。
【００７５】
上記レベル記憶手段は、例えばフラッシュメモリチップの最初のブロック、例えば図５に示したＢｌｏｃｋ０に、その記憶内容を記憶させておけば良い。
【００７６】
あるいは上記レベル記憶手段を電源投入時に読み出し、図６に示したＤＲＡＭ１０２に、その記憶内容を記憶させておいても良い。そして、例えば４値メモリセルとして動作していたものが、書き換え回数記憶領域を読み出すことにより書き換え回数が５０万回に達したことが判定されると、レベル記憶手段の内容を変更し、以後は２値メモリセルとして動作すればよい。以後は、レベル記憶手段を読み出すことにより、２値セルとして書き込みを行う。すなわち、ここでは、電源投入時などに、レベル記憶手段を読み出すことで、メモリセルを何値で動作させるかを、随時決めることができる。
【００７７】
第５の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含み、所定の数のメモリセルがメモリセルブロックを構成し、該メモリセルブロック単位で書き込み、または消去を行う半導体記憶装置であって、該メモリセルブロック内のメモリセルは所定の書き換え回数まではｎ値のメモリセルとして動作する。それ以後は、該メモリセルブロック内のすべてのメモリセルがｍ値（ｍはｎ未満の自然数）のメモリセルとして動作する、記憶システムである。
【００７８】
また、第５の記憶システムは、各メモリセルブロック毎に、該メモリセルブロックの書き換え回数を記憶する書き換え回数記憶領域を有している。該メモリセルブロックが何値メモリセルで動作するかは、この書き換え回数記憶領域に記憶された書き換え回数に応じて、決めればよい。
【００７９】
なお、ここでのメモリセルブロックとは、１本のドレイン側選択ゲートと、１本のソース側選択ゲートに挟まれたページの集合である、所謂ブロックに制限されるものではなく、単にデータの書き込み、または消去が同時に行われるメモリセル群を示すものである。例えばＮＡＮＤ型ＥＥＰＲＯＭでは、通常、上述したようなページ単位で書き込みが行われ、また、ブロック単位で消去が行われるので、この場合は、これらのページ、またはブロックが、ここでのメモリセルブロックに相当する。
【００８０】
第６の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む半導体記憶装置であって、メモリセルが所定の書き換え回数まではｎ値のメモリセルとして動作する。それ以後は、該メモリセルが含まれるチップ内のすべてのメモリセルがｍ値（ｍはｎ未満の自然数）のメモリセルとして動作する、記憶システムである。
【００８１】
また、第６の記憶システムは、各チップ毎に該チップの書き換え回数を記憶する書き換え回数記憶領域を有する。該チップが何値メモリセルで動作するかは、この書き換え回数記憶領域に記憶された書き換え回数に応じて決めればよい。
【００８２】
図１０は、第３の実施の形態に係る第７の記憶システムの動作フローを示す図である。
【００８３】
第７の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１０に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第ｍの書き換え回数までは、ｍ値（ｍはｎ未満の自然数）のメモリセルとして動作し、それ以後は、該メモリセルを使用しない、記憶システムである。
【００８４】
図１１は、第３の実施の形態に係る第８の記憶システムの動作フローを示す図である。
【００８５】
第８の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１１に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第２の書き換え回数までは、２値のメモリセルとして動作し、それ以後は、該メモリセルを使用しない、記憶システムである。
【００８６】
図１２は、第３の実施の形態に係る第９の記憶システムの動作フローを示す図である。
【００８７】
第９の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１２に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第（ｎ−１）の書き換え回数まではメモリセルは（ｎ−１）値として動作し、以降順次、第ｉ（ｉは２以上の自然数）の書き換え回数まではメモリセルはｉ値として動作する。その後、第２の書き換え回数に達した後は、該メモリセルは使用しない、記憶システムである。
【００８８】
図１３は、第３の実施の形態に係る第１０の記憶システムの動作フローを示す図である。
【００８９】
第１０の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１３に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第ｍの書き換え回数までは、ｍ値（ｍはｎ未満の自然数）のメモリセルとして動作し、それ以後は、該メモリセルのデータを消去または書き込みしない、記憶システムである。
【００９０】
図１４は、第３の実施の形態に係る第１１の記憶システムの動作フローを示す図である。
【００９１】
第１１の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１４に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第２の書き換え回数までは、２値のメモリセルとして動作し、それ以後は、該メモリセルのデータを消去または書き込みしない、記憶システムである。
【００９２】
図１５は、第３の実施の形態に係る第１２の記憶システムの動作フローを示す図である。
【００９３】
第１２の記憶システムは、ｎ値（ｎは３以上の自然数で、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１５に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第（ｎ−１）の書き換え回数まではメモリセルは（ｎ−１）値として動作し、以降順次、第ｉ（ｉは２以上の自然数）の書き換え回数まではメモリセルはｉ値として動作する。その後、第２の書き換え回数に達した後は、該メモリセルのデータを消去または書き込みしない、記憶システムである。
【００９４】
図１６は、第３の実施の形態に係る第１３の記憶システムの動作フローを示す図である。
【００９５】
第１３の記憶システムは、ｎ値（ｎは３以上の自然数、例えば３あるいは４あるいは８あるいは１６）を記憶するメモリセルを含む。そして、図１６に示すように、メモリセルが第ｎの書き換え回数まではｎ値のメモリセルとして動作し、第（ｎ−１）の書き換え回数まではメモリセルは（ｎ−１）値として動作し、以降順次、第ｉ（ｉは３以上の自然数）の書き換え回数まではメモリセルはｉ値として動作する。そして、第３の書き換え回数までは３値として動作した後、第２の書き換え回数に達するまでは２値として使う。その後、第２の書き換え回数以後は、該メモリセルのデータを消去または書き込みをしなくてもよいし、該メモリセルを使用しなくてもよい。
【００９６】
次に、この発明の第４の実施の形態に係る多値NAND型フラッシュメモリについて説明する。
【００９７】
第４の実施の形態に係るフラッシュメモリでは、フラッシュメモリが何値で動作するかを、チップ外部からのコマンドを入力することによって制御する。以下、より具体的な４値NAND型フラッシュメモリを例にとり、説明する。
【００９８】
第４の実施の形態では、フラッシュメモリ内部の動作モードとして４値用の書き込み、読み出し方法と、２値用の書き込み、読み出し方法がある。４値用の書き込み、読み出しを行うか、２値用の書き込み、読み出しを行うかはチップ外部のコントローラからのコマンドで制御する。
【００９９】
以下では、４値用の書き込み、読み出し方法と、２値用の書き込み、読み出し方法についてそれぞれ説明する。消去は４値メモリセルの場合も、２値メモリセルの場合も、従来の２値NANDフラッシュメモリと同様にブロック単位、あるいは、チップ単位で行われる。
【０１００】
［１］４値メモリセルとして動作する場合
図１７は、この発明の第４の実施の形態に係る多値記憶式ＥＥＰＲＯＭの構成を示す構成図である。
【０１０１】
図１７には、多値記憶式ＥＥＰＲＯＭの構成が示されている。メモリセルがマトリクス状に配置されて構成されるメモリセルアレイ１に対して、メモリセルを選択したり、制御ゲートに書き込み電圧および読み出し電圧を印加する制御ゲート・選択ゲート駆動回路２が設けられる。制御ゲート・選択ゲート駆動回路２は、アドレスバッファ５に接続されていて、アドレスバッファ５からのアドレス信号を受ける。データ回路３は、書き込みデータを保持したり、メモリセルのデータを読み出したりするための回路である。データ回路３は、データ入出力バッファ４に接続されていて、アドレスバッファ５からのアドレス信号を受ける。データ入出力バッファ４は、ＥＥＰＲＯＭ外部とのデータ入出力制御を行う。
【０１０２】
図１８は、図１７に示すメモリセルアレイ１、およびデータ回路３の構成を示す構成図である。
【０１０３】
図１８に示すように、ＮＡＮＤ型セルは、メモリセルＭ１〜Ｍ４が直列に接続されることで構成されている。ＮＡＮＤ型セルの両端は、選択トランジスタＳ１、Ｓ２を介して、それぞれビット線ＢＬ、ソース線Ｖｓに接続される。制御ゲートＣＧを共有するメモリセルＭ群は、“ページ”と呼ばれる単位を形成し、同時にデータ書き込み・読み出しが為される。また、４本の制御ゲートＣＧ１〜ＣＧ４に繋がるメモリセル群でブロックを形成する。“ページ”、“ブロック”は制御ゲート・選択ゲート駆動回路２によって選択される。各ビット線ＢＬ0 〜ＢＬm には、データ回路３-0〜３-mが接続され、対応するメモリセルへの書き込みデータを一時的に記憶したりする。
【０１０４】
図１９は、メモリセルＭに４つの書き込み状態をもうけることによって４値記憶する場合の、メモリセルＭのしきい値電圧と４つの書き込み状態（４値データ“０”、“１”、“２”、“３”）の関係を示す図である。
【０１０５】
図１９に示すように、データ“０”の状態は、データを消去した後の状態と同じで、例えば負のしきい値を持つ。データ“１”の状態は、例えば０．５Ｖから０．８Ｖの間のしきい値を持つ。データ“２”の状態は、例えば１．５Ｖから１．８Ｖの間のしきい値を持つ。データ“３”の状態は、例えば２．５Ｖから２．８Ｖの間のしきい値を持つ。メモリセルＭの制御ゲートＣＧに、読み出し電圧VCG2R を印加して、メモリセルが“ＯＮ”か“ＯＦＦ”かでメモリセルのデータが「“０”、“１”のいずれかか、“２”、“３”のいずれかか」を検出できる。続けて、読み出し電圧VCG3R 、VCG1R を印加することでメモリセルのデータが完全に検出される。読み出し電圧VCG1R 、VCG2R 、VCG3R は、例えばそれぞれ０Ｖ、１Ｖ、２Ｖとされる。電圧VCG1V 、VCG2V 、VCG3V はベリファイ電圧と呼ばれ、データ書き込み時には、これらベリファイ電圧を制御ゲートに印加してメモリセルＭの状態を検出し、十分書き込みが行われたか否かをチェックする。ベリファイ電圧VCG1V 、VCG2V 、VCG3V は、例えばそれぞれ０．５Ｖ、１．５Ｖ、２．５Ｖとされる。
【０１０６】
図２０は、図１７に示すメモリセルアレイ１、およびデータ回路３の回路図である。
【０１０７】
図２０に示すように、データ回路３には、第１のフリップ・フロップＦＦ１と、第２のフリップ・フロップＦＦ２とが含まれている。この実施の形態における第１のフリップ・フロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２１、Ｑｎ２２、Ｑｎ２３と、ｐチャネルＭＯＳトランジスタＱｐ９、Ｑｐ１０、Ｑｐ１１とで構成されており、所謂クロスカップル型ラッチ回路と呼ばれる回路となっている。また、第２のフリップ・フロップＦＦ２も同様に、ｎチャネルＭＯＳトランジスタＱｎ２９、Ｑｎ３０、Ｑｎ３１と、ｐチャネルＭＯＳトランジスタＱｐ１６、Ｑｐ１７、Ｑｐ１８とで構成され、所謂クロスカップル型ラッチ回路と呼ばれる回路となっている。フリップ・フロップＦＦ１、ＦＦ２にはそれぞれ、書き込み／読み出しデータがラッチされる。また、これらフリップ・フロップＦＦ１、ＦＦ２はそれぞれ、ビット線ＢＬａ、あるいはビット線ＢＬｂの電位を増幅、即ちデータを増幅するセンスアンプとしても動作する。  フリップ・フロップＦＦ１、ＦＦ２は、「“０”書き込みをするか、“１”書き込みをするか、“２”書き込みをするか、“３”書き込みをするか」を書き込みデータ情報としてラッチし、メモリセルが「“０”の情報を保持しているか、“１”の情報を保持しているか、“２”の情報を保持しているか、“３”の情報を保持しているか」を、読み出しデータ情報としてセンスしラッチする。
【０１０８】
データ入出力線ＩＯＡ、ＩＯＢとフリップ・フロップＦＦ１は、ｎチャネルＭＯＳトランジスタＱｎ２８、Ｑｎ２７を介して接続される。データ入出力線ＩＯＣ、ＩＯＤとフリップ・フロップＦＦ２は、ｎチャネルＭＯＳトランジスタＱｎ３５、Ｑｎ３６を介して接続される。データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤは、図１７中のデータ入出力バッファ４にも接続される。
【０１０９】
ｎチャネルＭＯＳトランジスタＱｎ２７、Ｑｎ２８、Ｑｎ３５、Ｑｎ３６のゲートは、ＮＡＮＤ論理回路Ｇ２とインバータＩ４で構成されるカラムアドレスデコーダの出力に接続される。ｎチャネルＭＯＳトランジスタＱｎ２６、Ｑｎ３４は、それぞれフリップ・フロップＦＦ１、ＦＦ２を信号ＥＣＨ１、ＥＣＨ２が  “Ｈ”となってイコライズする。ｎチャネルＭＯＳトランジスタＱｎ２４、Ｑｎ３２は、フリップ・フロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ１の接続を制御する。ｎチャネルＭＯＳトランジスタＱｎ２５、Ｑｎ３３は、フリップ・フロップＦＦ１、ＦＦ２とＭＯＳキャパシタＱｄ２の接続を制御する。
【０１１０】
ｐチャネルＭＯＳトランジスタＱｐ１２Ｃ、Ｑｐ１３Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡＣによって、フリップ・フロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４Ｃ、Ｑｐ１５Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢＣによって、フリップ・フロップＦＦ１のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１２Ｃ、Ｑｐ１９Ｃ、Ｑｐ２０Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ２Ｃによって、フリップ・フロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｐチャネルＭＯＳトランジスタＱｐ１４Ｃ、Ｑｐ２１Ｃ、Ｑｐ２２Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ２Ｃによって、フリップ・フロップＦＦ１およびＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【０１１１】
ｎチャネルＭＯＳトランジスタＱｎ１Ｃ、Ｑｎ２Ｃで構成される回路は、活性化信号ＶＲＦＹＢＡ１Ｃによって、フリップ・フロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ１のゲート電圧を変更する。ｎチャネルＭＯＳトランジスタＱｎ３Ｃ、Ｑｎ４Ｃで構成される回路は、活性化信号ＶＲＦＹＢＢ１Ｃによって、フリップ・フロップＦＦ２のデータに応じて、ＭＯＳキャパシタＱｄ２のゲート電圧を変更する。
【０１１２】
ＭＯＳキャパシタＱｄ１、Ｑｄ２は、ディプリーション型ｎチャネルＭＯＳトランジスタで構成され、ビット線容量より十分小さくされる。ｎチャネルＭＯＳトランジスタＱｎ３７は、信号ＰＲＥＡによってＭＯＳキャパシタＱｄ１を電圧ＶＡに充電する。ｎチャネルＭＯＳトランジスタＱｎ３８は、信号ＰＲＥＢによってＭＯＳキャパシタＱｄ２を電圧ＶＢに充電する。ｎチャネルＭＯＳトランジスタＱｎ３９、Ｑｎ４０は、信号ＢＬＣＡ、ＢＬＣＢによって、データ回路３とビット線ＢＬａ、ＢＬｂの接続をそれぞれ制御する。ｎチャネルＭＯＳトランジスタＱｎ３７、Ｑｎ３８で構成される回路はビット線電圧制御回路を兼ねる。
【０１１３】
次に、図２０に示すように構成されているデータ回路３を備えるフラッシュメモリ（ＥＥＰＲＯＭ）の動作を、タイミング図にしたがって説明する。以下では制御ゲートＣＧ２Ａが選択されている場合を示す。
【０１１４】
＜読み出し動作＞
図２１は、読み出し動作のときのタイミング図である。以下、図２１にしたがって、読み出し動作を説明する。
【０１１５】
図２１に示すように、まず、時刻ｔ１ＲＣに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂの電位はそれぞれ、１．８Ｖ、１．５Ｖになる。さらに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、およびビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。また、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１１６】
続いて、時刻ｔ２ＲＣに、制御ゲート・選択ゲート駆動回路２によって選択されたブロックの、選択された制御ゲートＣＧ２Ａは０Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１１７】
この後、時刻ｔ３ＲＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとなり、ビット線のデータがＭＯＳキャパシタＱｄ１，Ｑｄ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。さらに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ１が非活性化され、さらに、信号ＥＣＨ１が“Ｈ”レベルとなって、フリップ・フロップＦＦ１の２つの入出力端子（ノードＮ３Ｃ、Ｎ４Ｃ）は互いにイコライズされる。さらに、この後、信号ＲＶ１Ａ、ＲＶ１Ｂがそれぞれ“Ｈ”レベルとなる。
【０１１８】
続いて、時刻ｔ４ＲＣに、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧が、フリップ・フロップＦＦ１によってセンスされ、そして、フリップ・フロップＦＦ１にラッチされる。これにより、「メモリセルのデータが“０”か、あるいは“１”または“２”または“３”か」が、フリップ・フロップＦＦ１によってセンスされ、その情報がラッチされる。なお、選択された制御ゲートＣＧ２Ａは、１Ｖにされている。この結果、選択されたメモリセルのしきい値が１Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１１９】
続いて、時刻ｔ５ＲＣに、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｈ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はそれぞれ１．８Ｖ、１．５Ｖになる。この後、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１２０】
この後、時刻ｔ６ＲＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされる。再度、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。この後、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ２が非活性化され、さらに信号ＥＣＨ２が“Ｈ”となって、フリップ・フロップＦＦ２の２つの入出力端子（ノードＮ５Ｃ、Ｎ６Ｃ）は互いにイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂがそれぞれ“Ｈ”レベルとなる。
【０１２１】
続いて、時刻ｔ７ＲＣに、再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧が、フリップ・フロップＦＦ２によってセンスされ、そして、フリップ・フロップＦＦ２にラッチされる。これにより、「メモリセルのデータが“０”または“１”か、あるいは“２”または“３”か」がフリップ・フロップＦＦ２によってセンスされ、その情報はラッチされる。この時のフリップフロップＦＦ１、ＦＦ２のノードＮ３Ｃ、Ｎ５Ｃの電位の関係は、図２２に示すような関係となる。
【０１２２】
最後に、メモリセルに書き込まれたデータが「“２”または“３”か」がセンスされる。選択された制御ゲートＣＧ２Ａが２Ｖにされている。選択されたメモリセルのしきい値が２Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１２３】
この後、時刻ｔ８ＲＣに、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｈ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はそれぞれ１．８Ｖ、１．５Ｖになる。さらに、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１２４】
この後、時刻ｔ１０ＲＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされる。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１２５】
ＭＯＳキャパシタのデータをセンスするに先立ち、時刻ｔ１１ＲＣに、信号ＶＲＦＹＢＡ２Ｃが０Ｖになる。図２２からわかるように、ノードＮ５Ｃが“Low level ”およびノードＮ３Ｃが“High level”（つまりノードＮ４Ｃが“Low level ”）になるのは“１”データの場合のみである。したがって、“１”データの場合のみ、ｐチャネルＭＯＳトランジスタＱｐ１２Ｃ，Ｑｐ１９Ｃ，Ｑｐ２０Ｃがオンし、ノードＮ１がＶＣＣになる。その後、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となってイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂがそれぞれ“Ｈ”レベルとなる。
【０１２６】
時刻ｔ１２ＲＣに、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧が、フリップ・フロップＦＦ１にセンスされ、そして、ラッチされる。これにより、「メモリセルのデータが“２”か“３”か」が、フリップ・フロップＦＦ１によってセンスされ、その情報がラッチされる。
【０１２７】
以上の読み出し動作の結果、４値のデータが図２３に示すように、フリップフロップＦＦ１、ＦＦ２にラッチされる。図中の各データのしきい値分布は、次のとうりである。
【０１２８】
データ“０”・・・しきい値：０Ｖ以下
データ“１”・・・しきい値：0.5V以上0.8V以下
データ“２”・・・しきい値：1.5V以上1.8V以下
データ“３”・・・しきい値：2.5V以上2.8V以下
読み出し中、信号ＶＲＦＹＢＡＣ、ＶＲＦＹＢＢＣはともに“Ｈ”レベル、信号ＶＲＦＹＢＡ１Ｃ，ＶＲＦＹＢＢ１Ｃはともに“Ｌ”レベルである。また、電圧Ｖｓは０Ｖとする。
【０１２９】
カラムアドレスデコーダに入力されるカラム活性化信号ＣＥＮＢが“Ｈ”レベルとなると、アドレス信号によって選択されたデータ回路３に保持されているデータが、データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力され、データ入出力バッファ４を介してＥＥＰＲＯＭ外部へ出力される。
【０１３０】
メモリセルに記憶されているデータ、しきい値、データ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに読み出し後に出力されるレベルの関係は、図２３に示すような関係となる。
【０１３１】
チップ外部への出力データは、データ入出力バッファ４でデータ入力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤに出力された信号をもとに変換したものであってもよい。
【０１３２】
＜書き込み動作＞
まず、書き込みデータがフリップフロップＦＦ１，ＦＦ２にロードされる。その後、“１”データ、“２”データおよび“３”データがほぼ同時に書き込まれる。そして“１”データ、“２”データ、“３”データが十分に書き込まれたかを調べるベリファイリードが行われ、書き込み不十分のメモリセルがある場合には、再書き込みが行われる。すべてのメモリセルが十分に書き込まれることを、書き込み終了検知回路が検知することにより書き込みが終了する。
【０１３３】
以下では、まず、プログラムについて説明し、次にベリファイリードについて説明する。
【０１３４】
(1) プログラム
書き込み動作前に、入力された２ビット分のデータは、データ入出力バッファ４で変換されて、データ回路３に入力される。４値データとデータ入出力線ＩＯＡ、ＩＯＢ、ＩＯＣ、ＩＯＤの関係は図２４に示すような関係となる。
【０１３５】
変換された４値データは、カラム活性化信号ＣＥＮＢが“Ｈ”レベルで、アドレス信号で指定されたカラム番地のデータ回路３に転送される。
【０１３６】
図２５は、書き込み動作のときのタイミング図である。以下、図２５にしたがって、書き込み動作を説明する。
【０１３７】
図２５に示すように、まず、時刻ｔ１Ｓに、電圧ＶＡがビット線書き込み制御電圧１Ｖとなって、ビット線ＢＬａが１Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３９のしきい値分の電圧降下分が問題になるときは、信号ＢＬＣＡを昇圧すればよい。続いて、信号ＰＲＥＡが“Ｌ”レベルとなって、ビット線ＢＬａがフローティングにされる。
【０１３８】
次に、時刻ｔ２Ｓに、信号ＲＶ２Ａが１．５Ｖとされる。これによって、データ“１”または“３”が保持されているデータ回路からは、ビット線制御電圧０Ｖが、ビット線ＢＬａに印加される。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値を１Ｖとすると、“０”または“２”書き込み時にはｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”、“１”または“３”書き込み時には“ＯＮ”となる。
【０１３９】
その後、時刻ｔ３Ｓに、信号ＶＲＦＹＢＡＣが０Ｖになり、データ“０”またはデータ“１”が保持されているデータ回路からは、ビット線書き込み制御電圧ＶＣＣが、ビット線ＢＬａに出力される。
【０１４０】
そして、時刻ｔ４Ｓに、信号ＶＲＦＹＢＡ２Ｃが０Ｖになり、データ“１”が保持されているデータ回路からは、端子Ｖ１を介して、ビット線“１”書き込み電位２Ｖがビット線ＢＬａに出力される。
【０１４１】
その結果、“０”書き込みするビット線はＶＣＣ、“１”書き込みするビット線は２Ｖ，“２”書き込みするビット線は１Ｖ，“３”書き込みするビット線は０Ｖになる。また、時刻ｔ１Ｓ〜ｔ４Ｓでは、制御ゲート・選択ゲート駆動回路２によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとなっている。また、選択ゲートＳＧ２Ａは０Ｖである。
【０１４２】
次に、時刻ｔ５ｓに、選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａが電圧ＶＭ（例えば１０Ｖ）となる。データ“３”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入され、メモリセルのしきい値が上昇する。データ“２”が保持されているデータ回路に対応するメモリセルでは、１Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入され、メモリセルのしきい値が上昇する。データ“１”が保持されているデータ回路に対応するメモリセルでは、２Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入され、メモリセルのしきい値が上昇する。“２”書き込みの場合のチャネル電位を１Ｖ、“１”書き込みの場合のチャネル電位を２Ｖにしているのは、電子の注入量を“３”データ書き込みの場合、“２”書き込みの場合、  “１”書き込みの場合の順番で少なくするためである。データ“０”が保持されているデータ回路に対応するメモリセルでは、チャネル電位と制御ゲートのＶＰＰの電位差が小さいため、実効的には浮遊ゲートに電子は注入されない。よって、メモリセルのしきい値は変動しない。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＰＲＥＢ、ＢＬＣＢは“Ｈ”レベル、信号ＳＡＰ１、ＳＡＰ２、ＶＲＦＹＢＡ１Ｃ、ＲＶ１Ａ、ＲＶ１Ｂ、ＲＶ２Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”レベル、電圧ＶＢは０Ｖである。
【０１４３】
(2) ベリファイリード
書き込み動作後、書き込みが充分に行われたかを検出する（書き込みベリファイ）。もし、所望のしきい値に達していれば、データ回路のデータを“０”に変更する。もし、所望のしきい値に達していなければ、データ回路のデータを保持して、再度、書き込み動作を行う。書き込み動作と書き込みベリファイは、全ての“１”書き込みするメモリセル、“２”書き込みするメモリセルおよび“３”書き込みするメモリセルが所望のしきい値に達するまで繰り返される。
【０１４４】
図２６および図２７はそれぞれ、書き込みベリファイ動作のときのタイミング図である。なお、図２６および図２７はそれぞれ、時間的に連続した図面である。図２６の紙面右側に、信号波形の端部に付されている数字１〜３２は、図２７の紙面左側に、信号波形の端部に付されている数字１〜３２につながっていることを示している。以下、図２６および図２７にしたがって、書き込みベリファイ動作を説明する。
【０１４５】
まず、“１”書き込みするメモリセルが、所定のしきい値に達しているかを検出する。
【０１４６】
図２６に示すように、まず、時刻ｔ１ＹＣに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ、１．８Ｖ、１．５Ｖになる。さらに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。また、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１４７】
続いて、時刻ｔ２ＹＣに、制御ゲート・選択ゲート駆動回路２によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０．５Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１４８】
この後、時刻ｔ３ＹＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされ、ビット線の電位がノードＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１４９】
この後、時刻ｔ４ＹＣに、信号ＲＶ１Ａが１．５Ｖになり、“２”書き込みの場合および“３”書き込みの場合には、ノードＮ１が０Ｖに放電される。
【０１５０】
続いて、時刻ｔ５ＹＣに、信号ＶＲＦＹＢＡ１Ｃが“Ｈ”レベルとなると、  “０”または“２”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２が“ＯＮ”であり、ノードＮ１はＶＣＣとなる。その結果、ノードＮ１は“０”書き込みまたは“２”書き込みの場合にはＶＣＣ，“３”書き込みの場合には０Ｖになる。この後、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”となって、フリップ・フロップＦＦ２の２つの入出力端子（ノードＮ５Ｃ、Ｎ６Ｃ）は互いにイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂがそれぞれ“Ｈ”レベルとなる。
【０１５１】
この後、時刻ｔ６ＹＣに、再度、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧がセンスされ、ラッチされる。これにより、“１”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分に“１”書き込み状態となったか否かを検出する。メモリセルのデータが“１”であれば、フリップ・フロップＦＦ２でノードＮ１の電圧をセンスし、ラッチすることで書き込みデータは“０”に変更される。反対に、メモリセルのデータが“１”でなければ、フリップ・フロップＦＦ１でノードＮ２の電圧をセンスし、ラッチすることで書き込みデータは“１”に保持される。“０”または“２”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。なお、選択された制御ゲートは１．５Ｖにされている。選択されたメモリセルのしきい値が１．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が１．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１５２】
続いて、時刻ｔ７ＹＣに、信号ＰＲＥＡ，ＰＲＥＢがそれぞれＶＣＣになり、ノードＮ１、Ｎ２がそれぞれ１．８Ｖ、１．５Ｖになった後、フローティングになる。
【０１５３】
この後、図２７に示すように、時刻ｔ８ＹＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１５４】
この後、時刻ｔ９ＹＣに、信号ＲＶ２Ａが、例えばＶＣＣ以下の１．５Ｖとされる。ｎチャネルＭＯＳトランジスタＱｎ３２のしきい値が１Ｖの場合、“３”書き込みデータが保持されているデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＮ”で、ノードＮ１は０Ｖとなる。“２”書き込みデータが保持されているデータ回路で、メモリセルが十分に“２”書き込みされている場合には、ｎチャネルＭＯＳトランジスタＱｎ３２は“ＯＦＦ”で、ノードＮ１は１．５Ｖ以上に保たれる。“２”書き込み不十分の場合には、ノードＮ１は１．５Ｖ以下である。
【０１５５】
この後、時刻ｔ１０ＹＣに、信号ＶＲＦＹＢＡＣが“Ｌ”レベルとなると、  “０”または“１”書き込みデータが保持されているデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３Ｃが“ＯＮ”し、ノードＮ１はＶＣＣとなる。さらに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”レベルとなって、フリップ・フロップＦＦ１の２つの入出力端子（ノードＮ３Ｃ、Ｎ４Ｃ）が互いにイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂがそれぞれ“Ｈ”レベルとなる。
【０１５６】
この後、時刻ｔ１１ＹＣに、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧がセンスされ、ラッチされる。これにより、“２”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分に“２”書き込み状態となったか否かを検出する。メモリセルのデータが“２”であれば、フリップ・フロップＦＦ１でノードＮ１の電圧をセンスし、ラッチすることで書き込みデータは“０”に変更される。反対に、メモリセルのデータが“２”でなければ、フリップ・フロップＦＦ１でノードＮ１の電圧をセンスし、ラッチすることで書き込みデータは“２”に保持される。“０”または“１”または“３”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。なお、選択された制御ゲートは２．５Ｖにされている。選択されたメモリセルのしきい値が２．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が２．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１５７】
この後、時刻ｔ１２ＹＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１５８】
この後、時刻ｔ１３ＹＣに、信号ＶＲＦＹＢＡＣが“Ｌ”レベルとなると、  “０”または“１”書き込みデータが保持されているデータ回路、および“２”書き込みが十分に行われたデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１３Ｃが“ＯＮ”し、ノードＮ１はＶＣＣとなる。さらに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”レベルとなって、フリップ・フロップＦＦ１の２つの入出力端子（ノードＮ３Ｃ、Ｎ４Ｃ）が互いにイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂがそれぞれ“Ｈ”レベルとなる。
【０１５９】
この後、時刻ｔ１４ＹＣに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧がセンスされ、ラッチされる。この後、図２７に示されるように、上述したような書き込みデータの変換が、さらに行われる。
【０１６０】
次いで、時刻ｔ１５ＹＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされ、ビット線の電位がＮ１、Ｎ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１６１】
この後、時刻ｔ１６ＹＣに、信号ＶＲＦＹＢＡ１Ｃが“Ｈ”レベルとなると、“０”または“２”書き込みデータが保持されているデータ回路、および“１”書き込み十分のデータ回路では、ｎチャネルＭＯＳトランジスタＱｎ２Ｃが“ＯＮ”し、ノードＮ１はＶＣＣとなる。さらに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ２が非活性化され、信号ＥＣＨ２が“Ｈ”レベルとなって、フリップ・フロップＦＦ２の２つの入出力端子（ノードＮ５Ｃ、Ｎ６Ｃ）が互いにイコライズされる。この後、信号ＲＶ２Ａ、ＲＶ２Ｂがそれぞれ“Ｈ”レベルとなる。
【０１６２】
この後、時刻ｔ１７ＹＣに、信号ＳＡＮ２、ＳＡＰ２がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧がセンスされ、ラッチされる。
【０１６３】
この実施の形態では、時刻ｔ１６ＹＣに、信号ＶＲＦＹＢＡ１ＣをＶＣＣにすることにより、“０”書き込み、および“２”書き込みする場合のＭＯＳキャパシタＱｄ１のノードＮ１を、ノードＮ２の電位（１．５Ｖ）よりも高くなるように充電している。時刻ｔ１６ＹＣに、信号ＲＶ２Ｂを、例えば１．５Ｖにしても良い。この場合、“０”書き込み、または“２”書き込みの場合には、ノードＮ６Ｃが０ＶなのでｎチャネルＭＯＳトランジスタＱｎ３３がオンし、ノードＮ２は０Ｖになる。一方、“１”または“３”書き込みの場合には、ノードＮ６ＣがＶＣＣ、ノードＮ２が１．５Ｖなので、ｎチャネルＭＯＳトランジスタＱｎ３３はオフし、ノードＮ２は１．５Ｖに保たれる。時刻ｔ１６ＹＣに、信号ＶＲＦＹＢＡ１ＣをＶＣＣにして行う、“０”書き込み、および“２”書き込みする場合の、ノードＮ１への充電は、ノードＮ２の電位（０Ｖ）よりも大きければよいので、ノードＮ１の充電は、例えば０．５Ｖ程度の低い電圧でよい。
【０１６４】
以上のようにして、“３”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分に“３”書き込み状態となったか否かを検出する。メモリセルのデータが“３”であれば、フリップ・フロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスし、ラッチすることで、書き込みデータは“０”に変更される。メモリセルのデータが“３”でなければ、フリップ・フロップＦＦ１、ＦＦ２でノードＮ１の電圧をセンスし、ラッチすることで、書き込みデータは“３”に保持される。“０”または“１”または“２”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１６５】
書き込みベリファイ中、信号ＶＲＦＹＢＢＣは“Ｈ”、信号ＶＲＦＹＢＢ１Ｃは“Ｌ”、電圧Ｖｓは０Ｖとする。
【０１６６】
選択されたメモリセルの全てが、所望のしきい値に達していれば、データ回路のデータは“０”データになる。つまり、書き込みが終了すると、ノードＮ４Ｃ、Ｎ６Ｃが“Ｌ”レベルになる。これを検出することにより、選択されたメモリセルの全てが、所望のしきい値に達したか否かがわかる。書き込み終了の検出は、例えば、図２０に示されている、ノードＮ４Ｃにゲートを接続した書き込み終了一括検知トランジスタＱｎ５Ｃ、およびノードＮ６Ｃにゲートを接続した書き込み終了一括検知トランジスタＱｎ６Ｃを用いればよい。
【０１６７】
ベリファイリード後、まず、端子ＶＲＴＣを、例えばＶＣＣにプリチャージする。書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ４ＣまたはＮ６Ｃの少なくとも一方は“Ｈ”レベルなので、ｎチャネルＭＯＳトランジスタＱｎ５ＣおよびＱｎ６Ｃの少なくとも１つはオンし、端子ＶＲＴＣの電位は、プリチャージ電位から低下する。全てのメモリセルが十分に書き込まれると、データ回路３-0、３-1、…、３-m-1、３-mのノードＮ４Ｃ、Ｎ６Ｃが  “Ｌ”レベルになる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ５ＣおよびＱｎ６Ｃがオフになるので、端子ＶＲＴＣの電位は、プリチャージ電位を保つ。
【０１６８】
［２］２値メモリセルとして動作する場合
メモリセルが２値セルとして動作する場合の書き込み、読み出し手順を、以下に説明する。読み出し、書き込みデータを制御する回路は、４値セルとして動作する場合と同様に、図２０に示される回路である。
【０１６９】
＜書き込み動作＞
(1) プログラム
書き込み動作前に、入力されたデータは、データ入出力バッファ４を経て、データ回路３に入力される。データは、カラム活性化信号ＣＥＮＢが“Ｈ”レベルで、ＩＯＡ、ＩＯＢを介してフリップ・フロップＦＦ１に入力される。
【０１７０】
図２８は、メモリセルＭに２つの書き込み状態をもうけることによって２値記憶する場合の、メモリセルＭのしきい値電圧と２つの書き込み状態（２値データ“０”、“１”）の関係を示す図である。また、図２９は、書き込みデータと、フリップ・フロップＦＦ１のノードＮ３Ｃ、Ｎ４Ｃとの関係を示す図である。また、図３０は、書き込み動作のときのタイミング図である。以下、図３０にしたがって、書き込み動作を説明する。
【０１７１】
図３０に示すように、まず、時刻ｔ１Ｓに、信号ＶＲＦＹＢＡＣが０Ｖになり、データ“０”が保持されているデータ回路からは、ビット線書き込み制御電圧ＶＣＣがビット線ＢＬａに出力される。
【０１７２】
その後、時刻ｔ２Ｓに、信号ＲＶ１ＡがＶＣＣになることにより、データ“１”が保持されているデータ回路からは、電圧０Ｖがビット線に出力される。
【０１７３】
その結果、“０”書き込みするビット線はＶＣＣ、“１”書き込みするビット線は０Ｖになる。また、時刻ｔ１Ｓに、制御ゲート・選択ゲート駆動回路２によって、選択されたブロックの選択ゲートＳＧ１Ａ、制御ゲートＣＧ１Ａ〜ＣＧ４ＡがＶＣＣとされる。選択ゲートＳＧ２Ａは０Ｖである。
【０１７４】
次に、時刻ｔ３Ｓに、選択された制御ゲートＣＧ２Ａが高電圧ＶＰＰ（例えば２０Ｖ）、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａが電圧ＶＭ（例えば１０Ｖ）となる。データ“１”が保持されているデータ回路に対応するメモリセルでは、０Ｖのチャネル電位と制御ゲートのＶＰＰの電位差によって、浮遊ゲートに電子が注入され、メモリセルのしきい値が上昇する。データ“０”が保持されているデータ回路に対応するメモリセルでは、選択ゲートＳＧ１Ａがオフになるので、メモリセルのチャネルはフローティングになる。その結果、メモリセルのチャネルは制御ゲートとの間の容量結合により、８Ｖ程度になる。データ“０”を書き込むメモリセルではチャネルが８Ｖ、制御ゲートが２０Ｖなので、メモリセルへの電子の注入は行われず、消去状態（“０”）を保つ。書き込み動作中、信号ＳＡＮ１、ＳＡＮ２、ＰＲＥＢ、ＢＬＣＢ、ＶＲＦＹＢＡ２Ｃは“Ｈ”レベル、信号ＳＡＰ１、ＳＡＰ２、ＶＲＦＹＢＡ１Ｃ、ＲＶ１Ｂ、ＲＶ２Ｂ、ＥＣＨ１、ＥＣＨ２は“Ｌ”レベル、電圧ＶＢは０Ｖである。
【０１７５】
(2) ベリファイリード
書き込み動作後、書き込みが充分に行われたかを検出する（書き込みベリファイ）。もし、所望のしきい値に達していれば、データ回路のデータを“０”に変更する。もし、所望のしきい値に達していなければ、データ回路のデータを保持して、再度、書き込み動作を行う。書き込み動作と書き込みベリファイは、全ての“１”書き込みするメモリセルが所望のしきい値に達するまで繰り返される。
【０１７６】
図３１は、書き込みベリファイ動作のときのタイミング図である。
【０１７７】
以下、図２０に示す回路図と、図３１に示すタイミング図とを用いて、書き込みベリファイ動作を説明する。
【０１７８】
図３１に示すように、まず、時刻ｔ１ＹＣに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂはそれぞれ、１．８Ｖ、１．５Ｖになる。さらに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。また、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１７９】
続いて、時刻ｔ２ＹＣに、制御ゲート・選択ゲート駆動回路２によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０．５Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０．５Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０．５Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１８０】
この後、時刻ｔ３ＹＣに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとされ、ビット線の電位がノードＮ１、Ｎ２に転送される。その後、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。
【０１８１】
この後、時刻ｔ４ＹＣに、信号ＶＲＦＹＢＡＣが“Ｌ”となると、“０”書き込みデータが保持されているデータ回路では、ｐチャネルＭＯＳトランジスタＱｐ１２Ｃが“ＯＮ”であり、ノードＮ１はＶＣＣとなる。その結果、ノードＮ１は“０”書き込みの場合にはＶＣＣになる。“１”書き込みの場合には、ｐチャネルＭＯＳトランジスタＱｐ１２Ｃが“ＯＦＦ”する。つまり、“１”書き込みが十分に行われた場合には、Ｎ１はＶＣＣになり、“１”書き込みが不十分の場合には、Ｎ１は０Ｖになる。その後、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”、“Ｈ”となってフリップ・フロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となって、フリップ・フロップＦＦ１の２つの入出力端子（ノードＮ３Ｃ、Ｎ４Ｃ）は互いにイコライズされる。この後、信号ＲＶ１Ａ、ＲＶ１Ｂが“Ｈ”となる。
【０１８２】
この後、時刻ｔ５ＹＣに、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧がセンスされ、ラッチされる。これにより、“１”書き込みデータを保持しているデータ回路のみ、対応するメモリセルのデータが十分に“１”書き込み状態となったか否かを検出する。メモリセルのデータが“１”であれば、フリップ・フロップＦＦ１でノードＮ１の電圧をセンスし、ラッチすることで書き込みデータは“０”に変更される。反対に、メモリセルのデータが“１”でなければ、フリップ・フロップＦＦ１でノードＮ１の電圧をセンスし、ラッチすることで書き込みデータは“１”に保持される。“０”書き込みデータを保持しているデータ回路の書き込みデータは変更されない。
【０１８３】
選択されたメモリセルの全てが、所望のしきい値に達していれば、データ回路のノードＮ４Ｃが“Ｌ”になる。これを検出することにより、全ての選択されたメモリセルが所望のしきい値に達したか否かがわかる。書き込み終了の検出は、例えば、図２０に示されている、ノードＮ４Ｃにゲートを接続した書き込み終了一括検知トランジスタＱｎ５Ｃを用いればよい。
【０１８４】
ベリファイリード後、まず、端子ＶＲＴＣを、例えばＶＣＣにプリチャージする。書き込みが不十分なメモリセルが１つでもあると、そのデータ回路のノードＮ４Ｃは“Ｈ”なので、ｎチャネルＭＯＳトランジスタＱｎ５Ｃはオンし、端子ＶＲＴＣの電位は、プリチャージ電位から低下する。全てのメモリセルが十分に書き込まれると、データ回路３-0、３-1、…、３-m-1、３-mのノードＮ４Ｃが、全て“Ｌ”レベルになる。その結果、全てのデータ回路内のｎチャネルＭＯＳトランジスタＱｎ５Ｃがオフになるので、端子ＶＲＴＣの電位は、プリチャージ電位を保ち、書き込み終了が検知される。
【０１８５】
＜読み出し動作＞
読み出し動作では、「“０”または“１”か」が読み出される。
【０１８６】
図３２は、読み出し動作のときのタイミング図である。以下、図３２にしたがって、読み出し動作を説明する。
【０１８７】
図３２に示すように、まず、時刻ｔ１ＲＤに、電圧ＶＡ、ＶＢがそれぞれ１．８Ｖ、１．５Ｖとなって、ビット線ＢＬａ、ＢＬｂの電位はそれぞれ、１．８Ｖ、１．５Ｖになる。さらに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｌ”レベルとなって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離され、ビット線ＢＬａ、ＢＬｂはフローティングとなる。また、信号ＰＲＥＡ、ＰＲＥＢがそれぞれ“Ｌ”レベルとなって、ＭＯＳキャパシタＱｄ１、Ｑｄ２のゲート電極であるノードＮ１、Ｎ２はフローティング状態になる。
【０１８８】
続いて、制御ゲート・選択ゲート駆動回路２によって選択されたブロックの選択された制御ゲートＣＧ２Ａは０Ｖ、非選択制御ゲートＣＧ１Ａ、ＣＧ３Ａ、ＣＧ４Ａと選択ゲートＳＧ１Ａ、ＳＧ２ＡはＶＣＣにされる。選択されたメモリセルのしきい値が０Ｖ以下なら、ビット線電圧は１．５Ｖより低くなる。選択されたメモリセルのしきい値が０Ｖ以上なら、ビット線電圧は１．８Ｖのままとなる。
【０１８９】
この後、時刻ｔ２ＲＤに、信号ＢＬＣＡ、ＢＬＣＢがそれぞれ“Ｈ”レベルとなり、ビット線のデータがＭＯＳキャパシタＱｄ１，Ｑｄ２に転送される。その後、再度、信号ＢＬＣＡ、ＢＬＣＢが“Ｌ”となって、ビット線ＢＬａとＭＯＳキャパシタＱｄ１、ビット線ＢＬｂとＭＯＳキャパシタＱｄ２は切り離される。さらに、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｌ”レベル、“Ｈ”レベルとなって、フリップ・フロップＦＦ１が非活性化され、信号ＥＣＨ１が“Ｈ”となって、フリップ・フロップＦＦ１の２つの入出力端子（ノードＮ３Ｃ、Ｎ４Ｃ）は互いにイコライズされる。さらに、この後、信号ＲＶ１Ａ、ＲＶ１Ｂがそれぞれ“Ｈ”レベルとなる。
【０１９０】
続いて、時刻ｔ３ＲＤに、再度、信号ＳＡＮ１、ＳＡＰ１がそれぞれ“Ｈ”レベル、“Ｌ”レベルとなることで、ノードＮ１の電圧が、フリップ・フロップＦＦ１によってセンスされ、そして、フリップ・フロップＦＦ１にラッチされる。これにより、「メモリセルのデータが“０”か、あるいは“１”か」が、フリップ・フロップＦＦ１によってセンスされ、その情報がラッチされる。
【０１９１】
次に、この発明の第５の実施の形態に係る記憶システムについて説明する。
【０１９２】
上記第１〜第４の実施の形態により説明した記憶システムでは、メモリセルの性能（何値メモリセルとして使用するか）を、メモリセルの書き換え回数をモニタする、あるいはメモリセルの使用時間をモニタすることにより、判定していた。しかし、モニタの仕方は、上記の方法に限られるものではない。
【０１９３】
この第５の実施の形態に係る記憶システムでは、上記メモリセルの性能切り換えの判定に、特に有効である、新規なモニタの仕方、および新規なモニタの仕方を含む記憶システムを提供する。
【０１９４】
図３３は、第５の実施の形態に係る第１の記憶システムの動作フローを示す図である。
【０１９５】
図３３に示すように、第１の記憶システムは、書き込みのベリファイ数、すなわち、書き込み・ベリファイリードサイクル数をモニタする。もちろん、書き込みのベリファイ回数に限らず、消去のベリファイ数をモニタするようにしても良い。
【０１９６】
すなわち、ＮＡＮＤ型ＥＥＰＲＯＭでは、書き込み、消去に際して、プログラムパルスを印加した後に、書き込み、あるいは消去が十分に行われたかを調べるベリファイリードを行う。そして、書き込み、あるいは消去が不十分なメモリセルがある場合には、再書き込み、再消去を行う。ここで、使用当初には、メモリセルは、例えば３回の書き込み・ベリファイリードサイクルによって、十分に書き込まれたとする。一方、書き換えの回数が多くなるにつれて、メモリセルのトンネル酸化膜に電子がトラップされ、書き込みにくくなる。その結果、例えば書き込み・ベリファイリードサイクル数が、４回、５回、６回と多くなる。したがって、例えば書き込み・ベリファイリードサイクル数が、所定の回数（例えば５回）までは図１に示すように、４値メモリセルとして動作させ、上記所定の回数以後の書き込み時には、３値メモリセルとして動作させれば良い。３値メモリセルとして動作される場合も、書き換え回数が増加するにしたがって、書き込み・ベリファイリードサイクル数が増えてくるので、所定の回数（例えば７回、あるいは５回、あるいは４回）になったところで、以後の書き込み時には、２値メモリセルとして動作されても良い。同様に、２値メモリセルの書き込み・ベリファイリードサイクル数が、所定の回数に達した場合は、以後は、そのメモリセルを使用しなくても良いし、あるいは以後は書き込み・消去をしないようにしても良い。
【０１９７】
このように、書き込み・ベリファイリードサイクル数を検出し、この検出結果から、メモリセルの劣化の度合いを把握することができる。したがって、書き込み・ベリファイリードサイクル数が、所定の回数に達したか否かを判定することで、第１〜第４の実施の形態のように、メモリセルに蓄える情報の数を変更することができる。このようなモニタの仕方は、第１〜第４の実施の形態により説明した記憶システム、あるいは多値記憶フラッシュメモリに使用することができる。
【０１９８】
例えばメモリセルを、まず、４値メモリセルとして使用し、書き込み・ベリファイリードサイクル数が、所定のサイクル数に達した後は、２値セルとして使用しても良い。
【０１９９】
また、第５の実施の形態に係る記憶システムが含む新規なモニタ方法は、多値メモリセルだけでなく、２値メモリセルにおいても有効である。
【０２００】
図３４は、第５の実施の形態に係る第２の記憶システムの動作フローを示す図である。
【０２０１】
図３４に示すように、書き込み・ベリファイリードサイクル数が、所定の回数までは、２値メモリセルとして使用し、所定の回数を超えた後は、このメモリセルを使用しないようにする。あるいは所定の回数を超えた後、このメモリセルに書き込み、消去を行わないようにしても良い。
【０２０２】
また、ＮＡＮＤ型ＥＥＰＲＯＭでは、例えば１６ページで１ブロックを形成するが、それぞれのページ毎に書き込み・ベリファイリードサイクル数を検出することにより、何値のメモリセルとして動作させるかを、各ページ毎に決めても良い。
【０２０３】
また、何値のメモリセルとして動作させるかは、各ブロック毎に行っても良いし、各チップ毎に行っても良い。つまり、あるブロックを構成する１６ページのうち、１つのページでも４値メモリセルとして動作させる書き込み・ベリファイリードサイクル数が所定の回数を超えた場合には、このページが含まれているブロックのメモリセルを、以後の書き込みでは、例えば２値セルとして動作させても良い。もちろん、チップを構成する複数のページのうち、１つのページでも、４値メモリセルとして動作させる書き込み・ベリファイリードサイクル数が所定の回数を超えた場合には、このページが含まれているチップの全てのメモリセルを、以後の書き込みでは、例えば２値セルとして動作させても良い。
【０２０４】
さらには、ページを細分化したメモリセルブロック単位で、何値のメモリセルとして動作させるかを決めても良く、動作を制御することが可能でさえあれば、同ページ内に、動作モードが異なるメモリセルが存在していても構わない。すなわち、メモリセルに蓄える情報の数を変更する単位は、特に限定されるものではなく、上述したようなページ単位、ブロック単位、チップ単位の他、様々な変形が可能である。
【０２０５】
また、書き込み・ベリファイリードサイクル数ではなく、消去・ベリファイリードサイクル数を検出することにより、メモリセルに蓄える情報値の数を変えても良い。
【０２０６】
さらに、書き込み・ベリファイリードサイクル数、あるいは消去・ベリファイリードのサイクル数は、チップ内に設けられているカウンタ回路に記憶、またはカウントし、該カウンタ回路の情報をチップに出力しても良い。
【０２０７】
図３５は、第５の実施の形態に係る第３の記憶システムの動作フローを示す図である。
【０２０８】
図３５に示すように、書き込み・ベリファイリードサイクル数（あるいは消去・ベリファイリードサイクル数）を検出することにより、書き込み（あるいは消去）電圧を変更するようにしても良い。例えば２値メモリセルを例にとって説明すると、サイクル数が４回になるまでは、書き込み電圧の初期値は１６Ｖである。書き換え回数が増加するにつれて、書き込み、消去がしにくくなるので、サイクル数が増加する。サイクル数が４回を超えると、書き込み電圧の初期値を１７Ｖにする。書き換え回数が、さらに増加して、書き込み電圧の初期値が１７Ｖでもサイクル数が４回を超える場合には、書き込み電圧の初期値を１８Ｖに増加させれば良い。
【０２０９】
また、上記サイクル数が、所定の回数を超えると、書き込み電圧だけでなく、消去電圧の初期値を高くしても良い。もちろん、消去・ベリファイリードサイクル数を検出することにより、消去電圧、あるいは書き込み電圧を変えても良い。
【０２１０】
このように、書き込み・ベリファイリードサイクル数、または消去・ベリファイリードサイクル数をモニタすることは、書き換え回数をモニタする場合と同様に、何値メモリセルとして動作させるかを決めることができるばかりでなく、広くメモリセルの性能を判定するうえで、非常に有効である。
【０２１１】
以上、説明した第１〜第５の実施の形態では、多値半導体記憶装置を用いた記憶システムにおいて、書き換え回数が増加するに従い、１つのメモリセルに蓄える情報（値）の数を減らす。例えば４値メモリセルにおいて、書き換え回数が５０万回までは４値メモリセルとして動作し、それ以降は２値メモリセルとして動作する。これにより、記憶システム全体の書き換え回数を、従来よりも多くすることができる。
【０２１２】
なお、この発明が適用できるのは、ＮＡＮＤ型ＥＥＰＲＯＭや、ＮＯＲ型フラッシュメモリのみならず、ＡＮＤ型（K.Kume et al. ;IEDM Tech. Dig., Dec. 1992, pp.991-993 ）や、ＤＩＮＯＲ型（S.Kobayashi et al. ;ISSCC Tech. Dig., 1995, pp.122）、や仮想グランド型アレイ（R.Cemea et al. ;ISSCC Tech. Dig., 1995, pp.126）でもよい。
【０２１３】
また、多値ＤＲＡＭや多値マスクＲＯＭあるいは多値ＳＲＡＭでも、もちろん良い。
【０２１４】
また、この発明が適用できるのは、３値メモリセル、あるいは４値メモリセルに限らず、もちろん５値メモリセル、あるいは８値メモリセル、あるいは１６値メモリセルなどでも、有効である。
【０２１５】
【発明の効果】
以上、説明したように、この発明によれば、多値記憶のメモリセルを含みながらも、特に書き換えに関する耐久性に富む記憶システム、およびこの記憶システムに特に必要な、新規なシステム要素を含んだ記憶システムを提供することができる。
【図面の簡単な説明】
【図１】図１はこの発明の第１の実施の形態に係る多値NAND型フラッシュメモリのしきい値電圧と４値データとの関係を示す図。
【図２】図２（ａ）、（ｂ）、（ｃ）はそれぞれこの発明の第１の実施の形態に係る多値NAND型フラッシュメモリのしきい値電圧と３値データとの関係を示す図。
【図３】図３（ａ）、（ｂ）はそれぞれこの発明の第１の実施の形態に係る多値NAND型フラッシュメモリのしきい値電圧と２値データとの関係を示す図。
【図４】図４はこの発明の第２の実施の形態に係るフラッシュメモリの構成図。
【図５】図５は図４に示すフラッシュメモリのチップの構成図。
【図６】図６はこの発明の第２の実施の形態の変形に係る記憶システムの構成図。
【図７】図７はこの発明の第３の実施の形態に係る第１の記憶システムの動作フローを示す図。
【図８】図８はこの発明の第３の実施の形態に係る第２の記憶システムの動作フローを示す図。
【図９】図９はこの発明の第３の実施の形態に係る第３の記憶システムの動作フローを示す図。
【図１０】図１０はこの発明の第３の実施の形態に係る第７の記憶システムの動作フローを示す図。
【図１１】図１１はこの発明の第３の実施の形態に係る第８の記憶システムの動作フローを示す図。
【図１２】図１２はこの発明の第３の実施の形態に係る第９の記憶システムの動作フローを示す図。
【図１３】図１３はこの発明の第３の実施の形態に係る第１０の記憶システムの動作フローを示す図。
【図１４】図１４はこの発明の第３の実施の形態に係る第１１の記憶システムの動作フローを示す図。
【図１５】図１５はこの発明の第３の実施の形態に係る第１２の記憶システムの動作フローを示す図。
【図１６】図１６はこの発明の第３の実施の形態に係る第１３の記憶システムの動作フローを示す図。
【図１７】図１７はこの発明の第４の実施の形態に係る多値記憶式ＥＥＰＲＯＭの構成を示す構成図。
【図１８】図１８は図１７に示すメモリセルアレイおよびデータ回路の構成を示す構成図。
【図１９】図１９はこの発明の第４の実施の形態に係る多値記憶式ＥＥＰＲＯＭのしきい値電圧と４値データとの関係を示す図。
【図２０】図２０は図１７に示すメモリセルアレイおよびデータ回路の回路図。
【図２１】図２１は読み出し動作のときのタイミング図。
【図２２】図２２はフリップ・フロップのノードの電位と４値データとの関係を示す図。
【図２３】図２３はフリップ・フロップのノードの電位と４値データとの関係を示す図。
【図２４】図２４はフリップ・フロップのノードの電位と４値データとの関係を示す図。
【図２５】図２５は書き込み動作のときのタイミング図。
【図２６】図２６は書き込みベリファイ動作のときのタイミング図。
【図２７】図２７は書き込みベリファイ動作のときのタイミング図。
【図２８】図２８はこの発明の第４の実施の形態に係る多値記憶式ＥＥＰＲＯＭのしきい値電圧と２値データとの関係を示す図。
【図２９】図２９はフリップ・フロップのノードの電位と２値データとの関係を示す図。
【図３０】図３０は書き込み動作のときのタイミング図。
【図３１】図３１は書き込みベリファイ動作のときのタイミング図。
【図３２】図３２は読み出し動作のときのタイミング図。
【図３３】図３３はこの発明の第５の実施の形態に係る第１の記憶システムの動作フローを示す図。
【図３４】図３４はこの発明の第５の実施の形態に係る第２の記憶システムの動作フローを示す図。
【図３５】図３５はこの発明の第５の実施の形態に係る第３の記憶システムの動作フローを示す図。
【図３６】図３６はメモリセルアレイのＮＡＮＤセル部分を示す図で（ａ）図は平面図、（ｂ）図は等価回路図。
【図３７】図３７は断面図で（ａ）図は図３６（ａ）中のＡ−Ａ’線に沿う断面図（ｂ）図は図３６（ａ）中のＢ−Ｂ’線に沿う断面図。
【図３８】図３８はＮＡＮＤセルがマトリクス状に配列されたメモリセルアレイの等価回路図。
【図３９】図３９はメモリセルのしきい値電圧と４値データとの関係を示す図。
【符号の説明】
１  ・・・メモリセルアレイ、
２  ・・・制御ゲート・選択ゲート駆動回路、
３  ・・・データ回路、
４  ・・・データ入出力バッファ、
５  ・・・アドレスバッファ、
６  ・・・データ制御回路、
Ｍ  ・・・メモリセル、
Ｓ  ・・・選択トランジスタ、
ＳＧ・・・選択ゲート、
ＣＧ・・・制御ゲート、
ＢＬ・・・ビット線、
Ｑｎ・・・ｎチャネルＭＯＳトランジスタ、
Ｑｐ・・・ｐチャネルＭＯＳトランジスタ、
Ｑｄ・・・ディプリーション型ｎチャネルＭＯＳトランジスタ、
ＦＦ・・・フリップ・フロップ、
Ｉ  ・・・インバータ、
Ｇ  ・・・ＮＡＮＤ論理回路。
【図１】
0003828376.tif 000002
【図２】
0003828376.tif 000003
【図３】
0003828376.tif 000004
【図４】
0003828376.tif 000005
【図５】
0003828376.tif 000006
【図６】
0003828376.tif 000007
【図７】
0003828376.tif 000008
【図８】
0003828376.tif 000009
【図９】
0003828376.tif 000010
【図１０】
0003828376.tif 000011
【図１１】
0003828376.tif 000012
【図１２】
0003828376.tif 000013
【図１３】
0003828376.tif 000014
【図１４】
0003828376.tif 000015
【図１５】
0003828376.tif 000016
【図１６】
0003828376.tif 000017
【図１７】
0003828376.tif 000018
【図１８】
0003828376.tif 000019
【図１９】
0003828376.tif 000020
【図２０】
0003828376.tif 000021
【図２１】
0003828376.tif 000022
【図２２】
0003828376.tif 000023
【図２３】
0003828376.tif 000024
【図２４】
0003828376.tif 000025
【図２５】
0003828376.tif 000026
【図２６】
0003828376.tif 000027
【図２７】
0003828376.tif 000028
【図２８】
0003828376.tif 000029
【図２９】
0003828376.tif 000030
【図３０】
0003828376.tif 000031
【図３１】
0003828376.tif 000032
【図３２】
0003828376.tif 000033
【図３３】
0003828376.tif 000034
【図３４】
0003828376.tif 000035
【図３５】
0003828376.tif 000036
【図３６】
0003828376.tif 000037
【図３７】
0003828376.tif 000038
【図３８】
0003828376.tif 000039
【図３９】
0003828376.tif 000040