(57)【特許請求の範囲】
【請求項１】
不揮発性メモリにおいて、
２Nの閾値電圧状態を保持する複数のセルトランジスタと、
前記セルトランジスタが接続される複数のビット線及びワード線と、
前記ビット線に接続され、前記セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路とを有し、
前記読み出しバッファ回路は、前記検出された閾値電圧状態に従って、読み出しデータをラッチするラッチ回路と、前記ラッチ回路のラッチ状態を第１及び第２の状態に反転する第１及び第２のラッチ反転回路とを有し、
前記読み出しバッファ回路は、前記セルトランジスタが保持する第１のビットのデータを読み出す時、初期状態のラッチ回路を、検出された第１、２又は第３、４の閾値電圧状態に応じて、前記第１のラッチ反転回路で反転または非反転し、当該ラッチ状態を第１のデータとして出力し、更に、セルトランジスタが保持する下位の第２のビットのデータを読み出す時、前記第１のデータに対応するラッチ状態から、検出された第１又は第２の閾値電圧状態に応じて、前記第１のラッチ反転回路で反転または非反転し、続けて検出された第３又は第４の閾値電圧状態に応じて、前記第２のラッチ反転回路で反転または非反転し、当該ラッチ状態を第２のデータとして出力することを特徴とする不揮発性メモリ。
【請求項２】
請求項１において、
前記セルトランジスタは、電荷を蓄積するフローティングゲートと、前記ワード線に接続されるコントロールゲートとを有し、
前記第１のビットを読み出す時、前記ワード線に、前記第１及び第２の閾値電圧と前記第３及び第４の閾値電圧との間の第２基準電圧が印加され、
前記第２のビットを読み出す時、前記ワード線に、前記第１と第２の閾値電圧の間の第１基準電圧が印加され、続いて前記ワード線に前記第３と第４の閾値電圧の間の第３基準電圧が印加されることを特徴とする不揮発性メモリ。
【請求項３】
請求項１において、
前記読み出しバッファ回路のラッチ回路は、前記読み出しの前に初期状態にリセットされることを特徴とする不揮発性メモリ。
【請求項４】
請求項１において、
前記第１のラッチ反転回路は、第１のセット信号に応答して活性化され、前記ラッチ回路の第１のノードをＨレベルまたはＬレベルの一方のレベルにして前記ラッチ回路を反転し、
前記第２のラッチ反転回路は、第２のセット信号に応答して活性化され、前記ラッチ回路の第２のノードをＨレベルまたはＬレベルの一方のレベルにして前記ラッチ回路を反転することを特徴とする不揮発性メモリ。
【請求項５】
請求項１において、
前記複数のビット線は、第１のビット線群と第２のビット線群とを有し、
更に、前記読み出しバッファ回路は、前記第１のビット線群にそれぞれ接続される第１の読み出しバッファ回路群と、前記第２のビット線群にそれぞれ接続される第２の読み出しバッファ回路群とを有し、
前記第２の読み出しバッファ回路群から第１のデータを出力する時に並行して、前記第１の読み出しバッファ回路群が前記セルトランジスタから第２のビットを読み出してラッチし、
前記第１の読み出しバッファ回路群から第２のデータを出力する時に並行して、前記第２の読み出しバッファ回路群が前記セルトランジスタから第２のビットを読み出してラッチすることを特徴とする不揮発性メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多値データを記録する不揮発性メモリに関し、特に、メモリセルに記録された多値データを簡単な構成で読み出すことができる読み出しバッファ回路を有する半導体不揮発性メモリに関する。
【０００２】
【従来の技術】
フラッシュメモリなどの半導体不揮発性メモリは、ソース、ドレイン領域に挟まれたチャネル領域上にフローティングゲートを有するセルトランジスタで構成され、そのフローティングゲートに電荷を注入することにより、セルトランジスタの閾値電圧を変化させて、データを記録する。記録されたデータは、セルトランジスタの閾値電圧の違いを利用して読み出される。
【０００３】
従来の不揮発性メモリは、フローティングゲートに電荷を蓄積しない状態（電荷が電子の場合は閾値電圧が低い状態）と、電荷を蓄積する状態（電荷が電子の場合は閾値電圧が高い状態）とで１ビットのデータを記録する。フローティングゲートに電子が蓄積されない状態は、データ１が記録された状態または消去状態であり、フローティングゲートに電子が蓄積される状態は、データ０が記録された状態またはプログラム状態である。
【０００４】
フラッシュメモリなどの半導体不揮発性メモリは、小型であり、電源をオフにしても記録が保持されるので、デジタルカメラなどの画像や音声の記録媒体として広く利用されている。そして、より多くの記憶容量が求められているが、上記の通り、従来の普及型の不揮発性メモリは、セルトランジスタが１ビット（単値）のデータしか記録できない。
【０００５】
【発明が解決しようとする課題】
そこで、セルトランジスタに２値データなど、多値データを記録することが提案されている。フローティングゲートに注入する電荷量をコントロールすることにより、複数の閾値電圧状態を実現し、多値データの記録を可能にする。例えば、２値データが蓄積される場合は、４つの閾値電圧状態が保持されることを意味する。
【０００６】
しかしながら、セルトランジスタから２ビットのデータを読み出すためには、第１のビットのデータを読み出してから、更に、第２のビットのデータを読み出すことが必要になる。従って、セルトランジスタの記録データを読み出すための読み出しバッファ回路には、それらの２ビットのデータを一時的に保持するラッチ回路が必要になる。
【０００７】
一般に、読み出しバッファ回路は、ビット線毎に設けられるので、読み出しバッファ回路の回路構成をできるだけ簡素化することが必要である。しかしながら、上記の通り、セルトランジスタの記録データの多値化に伴い、読み出しバッファ回路に複数のラッチ回路を設けると、読み出しバッファ回路の規模が大きくなり、集積度の観点から大容量化の要請に反する結果となる。
【０００８】
更に、多値のセルトランジスタをプログラム（書き込み）する場合、複数ビットを入力して、それに対応する電荷をフローティングゲートに注入する必要がある。その場合も、複数ビットと多値との関係に応じたプログラム動作を、簡単なプログラム用回路で実現できることが望まれる。
【０００９】
そこで、本発明の目的は、多値データを記録する不揮発性メモリにおいて、比較的簡単な構成の読み出しバッファ回路を提供することにある。
【００１０】
更に、本発明の目的は、多値データを記録する不揮発性メモリにおいて、簡単な構成で多値データをプログラムすることができる回路を提供することにある。
【００１１】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面では、フローティングゲート型のセルトランジスタを複数有する不揮発性メモリにおいて、ビット線に接続され、セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路を有する。そして、セルトランジスタは、２Nの閾値電圧状態を保持することができ、従って、読み出しバッファ回路は、Ｎビットのデータを読み出す。その為に、読み出しバッファ回路は、検出された閾値電圧状態に従って、読み出しデータをラッチするラッチ回路を有し、このラッチ回路は、ラッチ状態を第１及び第２の状態に反転する第１及び第２のラッチ反転回路を有する。
【００１２】
そして、読み出しバッファ回路は、セルトランジスタが保持する第１のビットを読み出す時、初期状態のラッチ回路を、検出された第１、２又は第３、４の閾値電圧状態に応じて、第１のラッチ反転回路で反転または非反転し、そのラッチ状態を第１のデータとして出力する。更に、読み出しバッファ回路は、続いてセルトランジスタが保持する下位の第２のビットを読み出す時、前記第１のデータに対応するラッチ状態から、検出された第１又は第２の閾値電圧状態に応じて、前記第１のラッチ反転回路で反転または非反転し、続けて検出された第３又は第４の閾値電圧状態に応じて、前記第２のラッチ反転回路で反転または非反転し、当該ラッチ状態を第２のデータとして出力する。
【００１３】
以上の動作をすることにより、読み出しバッファ回路は、一つのラッチ回路で、少なくとも２ビットのデータを区別してラッチすることができる。即ち、ラッチ回路は、初期状態にリセットされた後、時系列的に、第１のデータを保持、出力、第２のデータを保持、出力する。
【００１４】
本発明の第２の側面では、フローティングゲート型のセルトランジスタを複数有する不揮発性メモリが、第１のビット及びそれより下位の第２のビットの入力に応答して、プログラムの有無を示すプログラムデータを出力するプログラム入力回路と、ビット線に接続され、セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路とを有する。そして、プログラム時に、読み出しバッファ回路は、前記プログラムデータをラッチして、ビット線にプログラムデータを出力する。更に、前記プログラム入力回路は、消去状態である第１の状態から第２の状態にプログラムする第１のサイクルと、第１の状態から第３の状態にプログラムする第２のサイクルと、第１の状態から第４の状態にプログラムする第３のサイクルにおいて、第１及び第２のビットの組合せに応じて、前記プログラムデータを出力する。
【００１５】
上記のプログラム入力回路を設けることにより、２ビットの組合せに応じたプログラムデータを、読み出しバッファ回路内のラッチ回路に保持することができる。従って、ラッチ回路が保持するプログラムデータに従って、セルトランジスタにプログラムすることができる。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【００１７】
図１は、本実施の形態例におけるセルトランジスタの構成図である。左右いずれの断面図においても、Ｐ型の半導体基板Subの表面にＮ型のソース、ドレイン領域Ｓ、Ｄが形成され、それらの間のチャネル領域上に、トンネル酸化膜TNを介してフローティングゲートＦＧが形成され、更に、絶縁膜を隔ててコントロールゲートＣＧが設けられる。左側のセルトランジスタのフローティングゲートには、電子が注入されていない状態である。従来の１ビットを記録するメモリの場合では、データ１が格納されている状態である。右側のセルトランジスタのフローティングゲートには、電子が注入されている状態である。１ビットを記録するメモリの場合では、データ０が格納されている状態である。
【００１８】
本実施の形態例では、セルトランジスタは２ビットのデータを記録することができる。その為に、セルトランジスタは、フローティングゲートに電子が蓄積されていない状態Ｌ０と、電子が蓄積されているが、その電子の量が順次増加する状態Ｌ１，Ｌ２，Ｌ３とを保持することができる。
【００１９】
図２は、２ビットデータＱ１，Ｑ２と、セルトランジスタの閾値電圧Ｖｔの分布との関係を示す図である。図中、縦軸は閾値電圧Ｖｔを示し、上に行くほど閾値電圧が高くなる。横軸はセルトランジスタ数を示す。図中、閾値電圧レベルの４つの状態Ｌ０，Ｌ１，Ｌ２，Ｌ３に対応する４つの分布が示されている。即ち、状態Ｌ０は閾値電圧Ｖ１より低い閾値電圧状態であり、状態Ｌ１は閾値電圧Ｖ１とＶ２との間の閾値電圧状態であり、状態Ｌ２は閾値電圧Ｖ２とＶ３との間の閾値電圧状態であり、状態Ｌ３は閾値電圧Ｖ３より高い閾値電圧状態である。
【００２０】
上記の通り、メモリセルのフローティングゲートに電子が注入されている状態は３レベル（Ｌ１，Ｌ２，Ｌ３）存在し、これはフローティングゲート内の電子の量によって変化する。このときのメモリセルの閾値電圧Ｖｔは正であり、メモリセルはエンハンスメント・トランジスタとして機能する。それに対して、メモリセルのフローティングゲートから電子が引き抜かれた状態（Ｌ０）も存在し、このときのメモリセルのＶｔは負であり、メモリセルはディプリション・トランジスタとして機能する。本実施の形態例では、例えば、Ｖ１＝０Ｖ、Ｖ２＝０．８Ｖ、Ｖ３＝１．６Ｖである。
【００２１】
状態L0からL3には、それぞれ２ビットのデータＱ１，Ｑ２が割り当てられる。図２の例では、状態L0は「11」、状態L1は「10」、状態L2は「00」（または「01」）、状態L3は「01」（または「00」）である。ここで、上位のビットをQ2、下位のビットをQ1と定義する。
【００２２】
メモリセルが上記４つの状態を保持する場合、コントロールゲートＣＧに電圧Ｖ２を印加して、メモリセルが導通するか否かにより、上位ビットＱ２を読み出すことができる。即ち、状態Ｌ０，Ｌ１の時は、メモリセルが導通し、上位ビットＱ２＝１が読み出される。また、状態Ｌ２，Ｌ３の時は、メモリセルが非導通となり、上位ビットＱ２＝０が読み出される。更に、上位ビットＱ２＝１の場合に、コントロールゲートＣＧに電圧Ｖ１を印加して、メモリセルが導通するか否かにより、下位ビットＱ１を読み出すことができる。同様に、上位ビットＱ２＝０の場合に、コントロールゲートＣＧに電圧Ｖ３を印加して、メモリセルが導通するか否かにより下位ビットＱ１を読み出すことができる。
【００２３】
上記の様に、４つの状態を検出するためには、メモリセルのコントロールゲートＣＧに電圧Ｖ２，Ｖ１，Ｖ３を順次印加して、それぞれのセルトランジスタの導通、非導通の組合せから、２ビットデータＱ１，Ｑ２を検出しなければならない。つまり、最低で３サイクルの読み出し動作が必要になる。
【００２４】
図３は、本実施の形態例におけるＮＡＮＤ型のフラッシュメモリアレイとページバッファの構成を示す図である。図中には、４つのビット線BL0〜BL3と、それらにぞれぞれ接続されるページバッファＰＢとが示される。更に、複数のメモリセルＭＣとセレクトゲートトランジスタＳＧを縦列接続したストリングが、ビット線に接続される。図３の例では、４つのメモリセルＭＣ00〜ＭＣ30が、セレクトゲートトランジスタＳＧを介して、ビット線BL0とグランドARVSSとに接続される。そして、メモリセルＭＣ00が選択されると、セレクトゲート信号ＳＧ10、ＳＧ20がＨレベルになりセレクトゲートトランジスタＳＧが共に導通し、セルストリングがビット線BL0とグランドARVSSに接続される。そして、ワード線ＷＬ00が図２の基準電圧Ｖ１，Ｖ２，Ｖ３のいずれかに駆動され、メモリセルの導通または非導通に応じて、ビット線BL0がＬまたはＨレベルになる。このビット線のレベルが、センスバッファＳＢにより検出される。センスバッファＳＢは、読み出しバッファ回路であり、後述する通り、ビット線のレベルを検出する回路と、読み出したデータを保持するラッチ回路を有する。
【００２５】
図４は、本実施の形態例におけるフラッシュメモリの全体構成図である。簡単のために、メモリセルアレイＭＣＡの構成は、１行ｘ４コラムになっている。各メモリセルＭＣ０〜３が、セレクタトランジスタＳＧを介して、ビット線ＢＬ０〜３とグランドVSSに接続される。また、ビット線ＢＬ０〜３にはページバッファＰＢ０〜３が設けられる。外部の入出力端子I/Oは、入出力バッファＩＯＢを介して、４つのページバッファＰＢ０〜３に共通に接続される。そして、ページバッファ選択信号ＹＤ１(0)〜(3)により、いずれか１つのページバッファが入出力バッファＩＯＢに接続される。
【００２６】
主制御回路１０は、ページバッファ制御回路１２を制御し、ページバッファ制御回路１２は、ページバッファPBを制御する。図４は、読み出し動作を説明するための構成図であり、読み出しに必要な制御信号が示される。
【００２７】
図４の右側の表に示される通り、メモリセルＭＣ０が状態Ｌ３（Ｑ２，Ｑ１＝０，１）に、メモリセルＭＣ１が状態Ｌ２（Ｑ２，Ｑ１＝０，０）に、メモリセルＭＣ２が状態Ｌ１（Ｑ２，Ｑ１＝１，０）に、メモリセルＭＣ３が状態Ｌ０（Ｑ２，Ｑ１＝１，１）になっているとする。尚、各メモリセルは２ビットを保持しているので、メモリセルアレイＭＣＡは物理的には１行ｘ４コラムであるが、論理的には２行ｘ４コラムである。そこで、上位ビットＱ２をページ０のデータ、下位ビットＱ１をページ１のデータとしてとらえることもできる。
【００２８】
図５は、本実施の形態例における読み出しバッファ回路図である。この読み出しバッファ回路は、図４におけるページバッファＰＢである。このページバッファＰＢは、インバータ１４，１６からなるラッチ回路LATCHを有する。更に、ページバッファは、バイアス制御信号PBIASにより制御されるＰ型トランジスタＰ１２と、ビット線選択信号BLCNTRLにより制御されるＮ型トランジスタＮ１０とを有し、ビット線ＢＬに接続される図示しないメモリセルと共にセンスアンプを構成する。即ち、トランジスタＰ１２，Ｎ１０を導通させ、選択されたメモリセルのワード線を駆動することにより、メモリセルの導通、非導通に応じて、負荷トランジスタＰ１２からの負荷電流が、ビット線ＢＬからメモリセルに流れるか、または流れず、その結果、検出ノードSNSがＬレベルまたはＨレベルになる。
【００２９】
トランジスタＮ１７、Ｎ２０は第１のラッチ反転回路を構成し、トランジスタＮ１６、Ｎ１８は第２のラッチ反転回路を構成する。第１のラッチ反転回路は、検出ノードSNSがＨレベルの時に、第１のセット信号SET1のＨレベルに応答して、ラッチ回路LATCHのノードＢをＬレベルに引き下げ、反転させる。一方、第２のラッチ反転回路は、検出ノードSNSがＨレベルの時に、第２のセット信号SET2のＨレベルに応答して、ラッチ回路のノードＡをＬレベルに引き下げ、反転させる。従って、ラッチ回路の最初の状態と、検出ノードSNSのレベルに応じて、第１または第２のセット信号でラッチ回路を反転または非反転（ラッチ状態維持）することができる。
【００３０】
ページバッファＰＢには、プログラムオン信号PGMONにより制御されるトランジスタＮ１３と、ディスチャージ信号DISにより制御されるトランジスタＮ１１とを有する。両トランジスタを導通することにより、ラッチ回路のノードＡを強制的にＬレベルにし、ラッチ回路を初期状態にプリセットすることができる。更に、ページバッファＰＢには、入出力バッファ回路ＩＯＢとの接続を制御するページバッファ選択トランジスタＮ２５が設けられ、ページバッファ選択信号YD1のＨレベルにより導通する。更に、トランジスタＰ２１，Ｐ２２，Ｎ２３，Ｎ２４，Ｎ２６が設けられ、ロード信号ＬＤをＨレベルにすることにより、外部からのプログラムデータがラッチ回路に供給され、リード信号ＲＤをＨレベルにすることにより、メモリセルから読み出されてラッチ回路にラッチされた読み出しデータが出力される。
【００３１】
図６は、読み出し動作時の各信号やノードの状態を示す図表である。また、図７は、読み出し動作のタイミングチャート図である。図６には、メモリセルに記録された４つの状態（２ビットデータによる４つの組合せ）に対する、ワード線ＷＬ、セット信号ＳＥＴ１，２、ラッチ状態、読み出されたデータが示される。そして、図７には、図４のフラッシュメモリを読み出す場合の、ページバッファ制御回路１２の制御信号と、各ページバッファ内の検出ノードSNSやラッチ回路のノードＡ，Ｂの信号が示される。
【００３２】
従って、メモリセルMC0及びページバッファPB０の動作は、図６の記憶されたデータＱ２＝０，Ｑ１＝１の行、及び図７のPB0に示される。同様に、メモリセルMC1及びページバッファPB1の動作は、図６のデータＱ２＝０，Ｑ１＝０の行、及び図７のPB1に示される。メモリセルMC２及びページバッファPB2と、メモリセルMC3及びページバッファPB3の動作も同様である。
【００３３】
詳細な説明する前に、読み出し動作を概略的に説明をする。メモリセルの２ビットのデータを読み出す動作は、ラッチ回路を初期状態にするプリリセットと、第１のビットＱ２を読み出す第１のサイクルと、第２のビットＱ１を読み出す第２のサイクルとで構成される。第１のビットＱ２を読み出す第１のサイクルでは、ワード線ＷＬが第２の基準電圧Ｖ２に駆動される。また、第２のビットＱ１を読み出し第２のサイクルは、ワード線ＷＬが第１の基準電圧Ｖ１に駆動されるサイクルと、第３の基準電圧Ｖ３に駆動されるサイクルとを有する。
【００３４】
初期状態で、ページバッファ内のラッチ回路LATCHがノードＡ＝Ｌレベル、ノードＢ＝Ｈレベルになるようにリセットされる。そして、第１のサイクルでは、ワード線ＷＬが第２の基準電圧Ｖ２に駆動され、第１のセット信号SET1をＨレベルにすることで、第１のラッチ反転回路Ｎ１７が活性化される。その結果、メモリセルの状態に応じて、ラッチ回路のラッチ状態が反転、またはそのまま維持される。具体的には、状態Ｌ２，Ｌ３の場合に検出ノードSNSがＨレベルになり、ラッチ回路は反転される。
【００３５】
第２のサイクルでは、ワード線ＷＬが第１の基準電圧Ｖ１に駆動された時は、第１のセット信号SET1が再びＨレベルにされ、第１のラッチ反転回路Ｎ１７が活性化され、状態Ｌ１の場合に検出ノードSNSがＨレベルになり、ラッチ回路が反転される。更に、その後ワード線ＷＬが第３の基準電圧Ｖ３に駆動された時は、第２のセット信号SET2がＨレベルにされ、状態Ｌ３の場合に検出ノードSNSがＨレベルになり、ラッチ回路が反転される。この結果、第２サイクルでは、ラッチ回路には第２のビットＱ１に応じたデータがラッチされる。
【００３６】
第１のサイクル及び第２のサイクルそれぞれにおいて、ラッチ回路LATCHのデータが、ページバッファＰＢから入出力バッファIOBに出力される。
【００３７】
図６，７を参照しながら、具体的な読み出し動作を説明する。読み出しコマンドに応答して、主制御回路１０がプリセット信号PRESETを出力し、それに応答して、ページバッファ制御回路１２によりプログラムオン信号PGMONとディスチャージ信号DISとがＨレベルにされ、ラッチ回路LATCHのノードＡは、トランジスタＮ１３，Ｎ１１を経由して、Ｌレベルにリセットされる。従って、ラッチ回路の初期状態は、ノードＡがＬレベル、ノードＢがＨレベルである。
【００３８】
そこで、第１のサイクルにおいて、図示しないワードドライバによりワード線ＷＬが第２の基準電圧Ｖ２に駆動され、セグメント信号ＳＧ１，２もＨレベルに駆動される。ワード線ＷＬの駆動時間は、主制御回路１０からの制御信号EVALにより制御される。同時に、ページバッファＰＢ内のビット線制御信号BLCNTRLがＨレベルになり、トランジスタＮ１０が導通し、ビット線ＢＬがページバッファＰＢに接続される。また、バイアス制御信号PBIASがＬレベルになり、トランジスタＰ１２が導通し、ビット線ＢＬに電流を供給する。
【００３９】
状態Ｌ０，Ｌ１（Ｑ２＝１）のメモリセルMC3,MC2は、ワード線ＷＬ＝Ｖ２に対して導通し、ビット線電流はメモリセルに吸収され、検出ノードSNS3,2はＬレベルになる。一方、状態Ｌ２，Ｌ３（Ｑ２＝０）のメモリセルMC1,MC0は、ワード線ＷＬ＝Ｖ２に対して非導通となり、検出ノードSNS1,0はＨレベルになる。そこで、主制御回路１０からのセット信号SETに応答して、ページバッファ制御回路１２が第１のセット信号SET1をＨレベルにする。それにより、第１のラッチ反転回路を構成するトランジスタＮ１７が活性化状態になり、状態Ｌ２，Ｌ３（Ｑ２＝０）のメモリセルMC1,0に対してのみ、トランジスタN17が導通し、ラッチ回路LATCHの状態を反転し、ノードＡ＝Ｈ，ノードＢ＝Ｌにする。つまり、図７に示される通り、ページバッファＰＢ０，ＰＢ１のラッチ回路が反転し、ページバッファＰＢ２，ＰＢ３のラッチ回路は初期状態を維持する。
【００４０】
そして、リードイネーブルクロックRE/に同期して内部アドレスを連続的に変化させることで、各ページバッファの選択信号YD1(0)〜YD1(3)が時系列にＨレベルになり、各ページバッファ内のラッチ回路の状態が、入出力バッファ回路IOBから入出力端子I/Oに出力される。図７に示される通り、第１のデータＱ２について、「００１１」が出力される。
【００４１】
次に、各ページバッファ回路内のラッチ回路の状態はそのままで、第２のサイクルに入る。まず、ワード線ＷＬが第１の基準電圧Ｖ１に駆動されると、図７に示される通り、状態Ｌ１，Ｌ２，Ｌ３にあるページバッファＰＢ０，ＰＢ１，ＰＢ２において、検出ノードSNSがＨレベルになる。そして、第１のセット信号SET1をＨレベルにすると、トランジスタN20,N17が導通する。そこで、第１のサイクルでラッチ回路LATCHが、初期状態（ノードＡ＝Ｌ、Ｂ＝Ｈ）のままだった、ページバッファＰＢ２のラッチ回路の状態が、反転される。
【００４２】
更に、ラッチ状態を維持したまま、ワード線ＷＬを第３の基準電圧Ｖ３に駆動すると、図７に示される通り、ページバッファＰＢ０の検出ノードSNS0のみがＨレベルになる。そこで、今度は、第２のセット信号SET2がＨレベルにされると、トランジスタN18が導通し、第２のラッチ反転回路N16が活性化される。そして、ページバッファＰＢ０内のラッチ回路のノードＡがＬレベルにされ反転される。
【００４３】
この状態では、状態Ｌ３のページバッファＰＢ０では、ラッチ状態がA=L,B=H、状態Ｌ２のページバッファＰＢ１では、ラッチ状態がA=H,B=L、状態Ｌ１のページバッファＰＢ２では、ラッチ状態がA=H,B=L、そして、状態Ｌ０のページバッファＰＢ３では、ラッチ状態がA=L,B=Hになっている。そこで、これらの状態が、入出力バッファ回路IOBに連続的に出力される。即ち、図７に示される通り、データ「１００１」が入出力端子I/Oから出力される。
【００４４】
以上の通り、本実施の形態例におけるページバッファ回路は、一つのラッチ回路を有し、ラッチ回路を初期状態にプリセットした後、第１のサイクルで第１のデータＱ２を読み出してラッチし、出力する。更に、そのラッチ状態を利用して、第２のサイクルで第２のデータＱ２を読み出してラッチし、出力する。従って、ページバッファ回路の構成が簡単であり、且つ、内蔵する単一のラッチ回路をサイクル毎にプリセットするなどの煩雑な制御をする必要がない。従って、本実施の形態例のページバッファ回路は、多値データを記録するフローティングゲートを有するメモリセルの読み出し回路として有効である。
【００４５】
図８は、フラッシュメモリの別の全体構成図である。この構成は、上記の読み出し動作に更に改良を加えるためのものである。図７で示した通り、２ビットのデータをメモリセルから読み出すために、第１のデータＱ２をメモリセルからページバッファＰＢに読み出してラッチ回路に格納し、それらのデータを入出力バッファIOBにシリアルに出力する。その後更に、第２のデータＱ１をメモリセルから読み出してページバッファに格納し、それらのデータを入出力バッファIOBにシリアルに出力する。つまり、メモリセルからページバッファへは全コラム一斉にデータを読み出すことができるが、各ページバッファから入出力バッファIOBへは時系列にしかデータを出力することができない。従って、ページバッファＰＢの数が多くなると、読み出し動作が長時間に及ぶことになる。
【００４６】
そこで、図８のフラッシュメモリでは、複数のページバッファを、偶数ビット線に接続されるページバッファ群GPB0と奇数ビット線に接続されるページバッファ群GPB1とに分けて、一方のページバッファ群が読み出したデータを入出力バッファ回路IOBに出力している間に、他方のページバッファ群がメモリセルからデータを読み出すように制御する。そのように読み出すことにより、複数のページバッファから入出力バッファ回路IOBへのシリアルデータ転送に長時間を要する場合でも、全体の読み出し時間を短くすることができる。
【００４７】
図９は、上記の読み出し動作のタイミングチャート図である。期間Ｔ０においては、メモリセルが保持する第１のデータＱ２を、両ページバッファ群GPB0,GPB1が読み出してラッチ回路に格納する。その動作は、前述と同じであり、ワード線ＷＬを第２の基準電圧Ｖ２に駆動して、第１のセット信号SET1をＨレベルにして読み出す。更に、期間Ｔ０では、第１のページバッファ群GPB0に格納した第１のデータＱ２が、シリアルに入出力バッファ回路IOBに出力される。
【００４８】
次の期間Ｔ１では、第２のページバッファ群GPB1に格納した第１のデータＱ２が、入出力バッファ回路IOBにシリアルに出力されるのと平行して、メモリセルが保持する第２のデータＱ１が、第１のページバッファ群GPB0に読み出され、ラッチ回路に格納される。この並列動作により、全体の読み出し時間が短縮される。第２のデータＱ１の読み出しは、前述の通り、ワード線ＷＬを第１の基準電圧Ｖ１に駆動してから第１のセット信号SET1でラッチ回路を反転、非反転し、更にワード線ＷＬを第３の基準電圧Ｖ３に駆動してから第２のセット信号SET2でラッチ回路を反転、非反転する。
【００４９】
次の期間Ｔ２では、期間Ｔ１と逆に、第１のページバッファ群GPB0に格納した第２のデータＱ１が、入出力バッファ回路IOBにシリアルに出力されると同時に、メモリセルが保持する第２のデータＱ１が、第２のページバッファ群GPB1に読み出され、ラッチ回路に格納される。ここでも、並列動作が行われ、読み出し時間が短縮される。そして、最後の期間Ｔ３にて、第２のページバッファ群GPB1に格納した第２のデータＱ１が、入出力バッファ回路IOBにシリアルに出力される。
【００５０】
以上の通り、多数ビットのデータをメモリセルが保持する場合、それらの多数ビットをメモリセルからページバッファへ読み出す動作と、複数のページバッファから入出力バッファ回路にシリアルに出力する動作とを、並列的に行うことで、全体の読み出し動作を短縮することができる。
【００５１】
サブバッファ群の分割は、必ずしも奇数ビット線と偶数ビット線に従う必要はない。また、サブバッファ群は２つよりも多い数に分割することも可能である。更に、メモリセルが保持するビット数に応じて分割数を増やすことも可能である。
【００５２】
［プログラム動作］
次に、２ビットのデータを保持するメモリセルを有するフラッシュメモリのプログラム動作を説明する。図１０は、プログラム動作を説明するためのフラッシュメモリの全体構成図である。図１１は、プログラム入力回路を説明する図である。更に、図１２，１３，１４は、プログラム動作のタイミングチャート図である。本実施の形態例では、一例として図１０の各メモリセルに示したようなデータをプログラムする。図４の保持データと同じである。
【００５３】
図２に示した通り、メモリセルが２ビットのデータを保持するために、４つの閾値電圧状態Ｌ０〜Ｌ３にプログラムされる。１ビットの場合と同様に、プログラム動作では、全メモリセルを消去して、閾値電圧Ｌ０の状態にする。その後、プログラムすべき２ビットのデータＱ２，Ｑ１に応じて、フローティングゲートに電子を注入し、メモリセルを別の閾値電圧の状態Ｌ１，Ｌ２，Ｌ３にシフトさせる。従って、プログラム動作は、閾値レベルＬ１にシフトするサイクルと、Ｌ２にシフトするサイクルと、Ｌ３にシフトするサイクルとで構成される。いずれのサイクルも、データＱ２，Ｑ１の入力と、対応するメモリセルへのプログラムとが行われる。プログラム動作で電子の注入とベリファイを繰り返す動作は、１ビットを保持するメモリセルへのプログラム動作と同じである。
【００５４】
図１０に示されたフラッシュメモリでは、２ビットのプログラムすべきデータＱ２，Ｑ１を入出力端子I/Oからシリアルに入力し、その２ビットのデータの組み合わせに応じて、プログラム入力回路２０が、プログラムの有無を示すプログラムデータPoutをページバッファに出力する。従って、図１０の例では、４組のデータＱ２．Ｑ１が入出力端子I/Oからシリアルに入力され、それに対応するプログラムデータPoutが、４つのページバッファにシリアルに出力される。プログラムデータPoutが全てのページバッファＰＢ内のラッチ回路に格納されると、フローティングゲートへの電子の注入とベリファイ動作が繰り返される。その時、プログラム有りのプログラムデータPoutを格納したページバッファに対応するメモリセルに、電子の注入が行われる。
【００５５】
図１０において、主制御回路１０は、ページバッファをリセットするプリロード信号PRELOADと、電子を注入する時間を制御するプログラム時間制御信号ＰＨと、ビット線がプログラムデータに応じて所望のレベルになるまでのセットアップ時間を制御するＰＨセットアップ信号PHSETUPと、電子注入後のワード線のディスチャージを制御するディスチャージ制御信号PHDISとを、ページバッファ制御回路１２に出力する。また、主制御回路１０は、状態Ｌ１、Ｌ２，Ｌ３へのプログラム時にそれぞれＨレベルになるプログラムデータ制御信号PGM0、PGM1、PGM2をプログラム入力回路２０に出力する。この制御信号により、３つのプログラムサイクルが制御される。
【００５６】
図１１（Ａ）に示されたプログラム入力回路２０は、第１の書き込みイネーブル信号WE1により制御される入力ゲートトランジスタN30と、ラッチ回路２２と、インバータ２３，２４と、プログラムデータ制御信号PGM0-2に応じて生成されるクロックCK1-4により制御されるゲートトランジスタN32-N34と、ＮＯＲゲート２６と、第２の書き込みイネーブル信号WE2により制御される出力ゲートトランジスタN35と、プログラムデータPoutを保持するラッチ回路２７とを有する。
【００５７】
上記クロックCK1-4は、プログラムデータ制御信号PGM0-2に従って、NORゲート２８，３１とインバータ２９，３０，３２，３３からなるクロック発生回路により生成される。図１１（Ｃ）に、プログラムデータ制御信号PGM0-2とそれにより生成されるクロックCK1-4との関係を示す図表が示される。
【００５８】
図１１（Ｂ）に示される通り、外部からの書き込みイネーブル信号WE/の立ち下がりエッジに同期して、プログラム入力回路２０への入力信号DinからデータＱ２，Ｑ１が交互に且つシリアルに入力され、且つ、第１及び第２の書き込みイネーブル信号WE1,WE2が交互に出力される。従って、例えば図１２の状態Ｌ３へのプログラムサイクルでは、書き込みイネーブル信号WE/に同期して、コラム０のデータＱ２，Ｑ１、コラム１のデータＱ２，Ｑ１，コラム２のデータＱ２，Ｑ１，コラム３のデータＱ２，Ｑ１がシリアルに入力される。最初に入力されるデータＱ２は、プログラム入力回路内のラッチ回路２２にラッチされ、次のラッチされるデータＱ１と共に、ＮＯＲゲート２６に入力される。
【００５９】
そして、状態Ｌ３のプログラムサイクルでは、プログラムデータ制御信号PGM2がＨレベルに制御されるので、クロックCK1-4は、図１１（Ｃ）に示される通り、「ＨＬＨＬ」に制御され、トランジスタN31,N33が導通する。従って、ＮＯＲゲート２６には、データＱ２の非反転データとデータＱ１の反転データとが入力される。つまり、状態Ｌ３に対応するＱ２＝０，Ｑ１＝１の組み合わせが入力された場合に、プログラムデータPoutがＬレベルになる。つまり、図１２の状態Ｌ３のプログラムサイクルでは、プログラムデータPoutは、「ＬＨＨＨ」になる。図１１（Ｄ）に、プログラムデータ制御信号PGM0-2に対応して、各コラムに対して生成されるプログラムデータPoutが示される。この図表で、「１」「０」は、Ｈレベル、Ｌレベルに対応する。
【００６０】
以上の通り、プログラム入力回路２０は、プログラムすべき状態に対応して生成されるプログラムデータ制御信号PGM0-2により、特定の入力データＱ２，Ｑ１の組み合わせに対して、プログラム有りのプログラムデータPout＝Ｌを生成する。特定の入力データの組み合わせに該当しない場合は、プログラムなしのプログラムデータPout＝Ｈを生成する。このプログラムデータPoutが各ページバッファＰＢに供給され、ラッチ回路LATCHに格納される。その後、この格納されたプログラムデータに従って、対応するメモリセルのフローティングゲートへの電子の注入が行われる。
【００６１】
それでは、図１２，１３，１４を参照して、具体的なプログラム動作について説明する。本実施の形態例では、状態Ｌ３のプログラム動作を行い、その次に状態Ｌ１のプログラム動作を行い、最後に状態Ｌ２のプログラム動作を行う。但し、この順番は任意に設定可能である。尚、以下の説明では、プログラム動作と書き込み動作とは同じ意味であり、いずれもメモリセルのフローティングゲートに電子を注入する動作である。
【００６２】
最初に、状態Ｌ３のプログラム動作を図１２に従って説明する。まず、書き込みたいデータをNAND型フラッシュメモリに入力する。始めに状態Ｌ３に対応する書き込みデータロードのコマンドを入れ、プログラムデータ制御信号PGM2=Highにして、L3状態に対応するデータのロード可能状態にする。次に、書込みデータをロードするコラムアドレスの開始点を指定する。このアドレス指定の間に、バイアス制御信号PBIAS=Low、第１のセット信号SET1=Highとして、全てのページバッファPB0-3のラッチ回路LATCHを、ノードA=High、ノードB=Lowの状態にセットする。次に、外部の制御に従い書き込みデータを入力する。書込みデータは、同一のメモリセルに記憶されるべきデータQ2及びQ1が、Q2-Q1の順で連続して入力される。入出力端子I/Oから入力されたデータQ2とQ1は、図１１のプログラム入力回路２０で論理合成され、その出力であるプログラムデータPoutが対応するページバッファに入力され、ラッチ回路に格納される。図１２に示される通り、状態Ｌ３のプログラムの場合では、以下のように各ページバッファのラッチ回路がセットされる。
ページバッファPB0： Pout=Low： A#0=Low、B#0=High
ページバッファPB1： Pout=High： A#1=High、B#1=Low
ページバッファPB2： Pout=High： A#2=High、B#2=Low
ページバッファPB3： Pout=High： A#3=High、B#3=Low
ここで、ノードAがLowならば、ビット線BLがＬレベルになり、対応するメモリセルに書き込みを行い（電子の注入）、Highならば書き込みを禁止する。上記の場合ならば、ページバッファPB0に対応するメモリセルMC0に書き込みが行われる。
【００６３】
書込みデータ入力後、状態Ｌ３に対応する書込み開始のコマンドを入力することで、ページバッファのラッチ回路に格納された書込みデータに従い書込みが開始される。この例では、書込み検証・書込み・書込み検証．．．．（プログラムベリファイ・プログラム・プログラムベリファイ．．．．）のシーケンスで書き込みが行われる。図１２では、簡便の為に一回の書込みによってメモリセルへの十分な書込みが完了したと仮定している。
【００６４】
まず始めに、書込み検証を行う。書込み検証は、ページバッファのラッチのノードAがLowのものだけに対して行われる。検証の手順は読み出しと略同じであるが、読み出しとの違いは、始めにページバッファのセットを行わないことである。ワード線WLには基準電圧V3よりわずかに高い電圧V3'が印加される。電圧V3'は読み出し時の電圧V3と同じ電圧でもよいし、異なっていても構わない。通常は、読み出し状態からいくらかマージンを持たせる為に、V3'>V3に設定される。この書込み検証は、書き込み前のものなので、メモリセルはまだ書き込まれていない。従って、メモリセルは全て導通状態になり、検出ノードSNSはＬレベルになり、第１のセット信号SET1にHighパルスが印加されても、全てのページバッファのラッチはその状態を保持する。
【００６５】
次に、書込みを行う。書込み中はプログラム制御信号PGMON=Highである。これにより、各ページバッファのラッチ回路LATCHのノードAがビット線BLと電気的に接続され、ラッチに格納された書込みデータに従い、書き込みの為の電圧、もしくは書き込み禁止の電圧がビット線BLに印加される。PHセットアップ制御信号PHSETUP=Highの期間が、このビット線BLの充放電を確実に行う為に設けられている。次に、プログラム時間制御信号PH=Highにすることで、ワード線WLに高い電圧Vppが印加される。この昇圧電圧Vppは書き込みストレスをメモリセルに与える電圧であり、約20V程度である。但し、これはメモリセルのプロセス・パラメータに依存するので、20Vという値に限る必要はない。ある一定期間電圧Vppをワード線WLに印加したら、次にディスチャージ制御信号PHDIS=Highとなり、ワード線WLに印加されていた電圧Vppのディスチャージが行われる。
【００６６】
次に、書き込み検証に入る。手順は先に説明した通りである。今回は、メモリセルに書き込みが十分に行われたと仮定しているので、第１のセット信号SET1にHighパルスが印加されたとき、ページバッファPB0内の検出ノードSNS#0はHighレベルになっており、従って、ラッチ回路はA#0=High、B#0=Lowとなり、書き込み検証がパスする。これで書き込みが終了する。この結果、ページバッファPB0に接続されたメモリセルMC0にのみ書き込み動作が行われ、メモリセルMC0が状態Ｌ３を保持する。
【００６７】
次に、図１３により、L1レベルを書き込む場合を説明する。書き込みデータの入力手順はL3レベル書き込みの場合と同様である。始めにL1対応の書き込みデータロードのコマンドを入れ、プログラムデータ制御信号PGM0=Highにして、L1データのロード可能状態にする。次に、書込みデータをロードするコラムアドレスの開始点を指定する。そして、このアドレス指定の間に、全てのページバッファのラッチ回路を、ノードA=High、B=Lowの状態にセットする。次に、L3レベルの書き込みと同様に、４コラムの書き込みデータQ2,Q1を連続して入力する。それぞれの書き込みデータQ2,Q1は、プログラム入力回路２０により論理合成回路で合成され、その出力Poutが対応するページバッファに格納される。L1レベルの場合では、以下のように各ページバッファのラッチがセットされる。
ページバッファPB0： Pout=High： A#0=High、B#0=Low
ページバッファPB 1： Pout=High： A#1=High、B#1=Low
ページバッファPB 2： Pout=Low： A#2=Low、B#2=High
ページバッファPB 3： Pout=High： A#3=High、B#3=Low
従って、ページバッファPB2に書き込み許可データが格納され、後に対応するメモリセルに書き込みが行われる。
【００６８】
まず始めに、書込み検証を行う。今度はL1レベルに対する検証であるので、ワード線WLには基準電圧V1よりわずかに高い電圧V1'が印加される。この書込み検証は書き込み前のものなので、メモリセルはまだ書き込まれておらず、第１のセット信号SET1にHighパルスが印加されても、全てのページバッファのラッチはその状態を保持する。
【００６９】
次に、書込みを行う。ワード線WLに印加される電圧Vppは、書き込みストレスをメモリセルに与える電圧であり、約17V程度である。L1レベルは閾値電圧が低く、注入する電子の量が少ないので、L3レベルの時よりも低い電圧である。但し、他のL3,L2レベルの書き込みに使用される電圧Vppと同電圧であってもよい。
【００７０】
次に、書き込み検証に入る。手順は先に説明した通りである。今回は、メモリセルに書き込みが十分に行われたと仮定しているので、第１のセット信号SET1にHighパルスが印加されたとき、ページバッファPB2内の検出ノードSNS#2はHighレベルになっており、従ってA#2=High、B#2=Lowとなり、書き込み検証がパスする。これで書き込みが終了する。
【００７１】
最後に、図１４に従ってL2レベルを書き込む場合を説明する。書き込みデータの入力手順はL3レベルまたはL1レベル書き込みの場合と同様である。始めにL2対応の書き込みデータロードのコマンドを入れ、プログラムデータ制御信号PGM1=Highにして、L2データのロード可能状態にする。次に、書込みデータをロードするコラムアドレスの開始点を指定した後、外部の制御に従い書き込みデータQ2,Q1を入力する。プログラム入力回路２０の論理合成により、以下のように各ページバッファのラッチがセットされる。
ページバッファPB0： Pout=High： A#0=High、B#0=Low
ページバッファPB 1： Pout=Low： A#1=Low、B#1=High
ページバッファPB 2： Pout=High： A#2=High、B#2=Low
ページバッファPB 3： Pout=High： A#3=High、B#3=Low
従って、ページバッファPB1に対応するメモリセルに書き込みが行われる。
【００７２】
書込みデータ入力後、L2対応の書込み開始のコマンドを入力することで、ページバッファのラッチに格納された書込みデータに従い書込みが開始される。まず始めに、書込み検証を行う。書込み検証は、ページバッファのラッチ回路のノードAがLowのものだけに対して行われる。今回は、ワード線WLには基準電圧V2よりわずかに高い基準電圧V2'が印加される。電圧V2'は読み出し時の電圧V2と同じでもよいし、異なっていても構わない。通常は、読み出し状態からいくらかマージンを持たせる為に、V3>V2'>V2に設定される。ここでの書き込み検証では、ページバッファ内のラッチ回路は状態を維持する。
【００７３】
次に、書込みを行う。プログラム期間制御信号PH=Highにすることで、ワード線WLに印加される昇圧電圧Vppは、今回は約18V程度である。L3レベルの時より低く、L1レベルの時よりも高い電圧が好ましい。但し、他のVtレベルの書き込みに使用される昇圧電圧Vppと同電圧であってもよい。
【００７４】
次に、書き込み検証に入る。手順は先に説明した通りである。今回は、メモリセルに書き込みが十分に行われたと仮定しているので、第１のセット信号SET1にHighパルスが印加されたとき、ページバッファPB1内の検出ノードSNS#1はHighレベルになっており、従って、ラッチ回路内のノードA#1=High、B#1=Lowとなり、書き込み検証がパスする。これで書き込みが終了する。
【００７５】
以上の通り、プログラム入力回路が書き込みデータの組み合わせに応じて、プログラムの有無を示すプログラムデータを生成する。従って、読み出しバッファ回路内の１つのラッチ回路にそのプログラムデータを格納し、そのプログラムデータに従って、各状態L1,L2,L3へのプログラム動作が行われる。
【００７６】
以上の例では、外部からデータを入力する際に、本来ならば連続したデータではないデータQ2とQ1を、書き込みの為に連続で入力する必要がある。この点を除けば、単値NAND型フラッシュメモリと略同様のページバッファをもって、多値データの書き込みが可能となる。また、この不連続のデータQ2,Q1を連続に入力するというデメリットを解消する為に、以下に述べるような方法をとることもできる。
【００７７】
図１５は、別のプログラム入力回路を説明する図である。図１５（Ａ）に示される通り、このプログラム入力回路２０は、ページバッファの数に対応して、複数設けられる。そして、最初にまとめて入力されるデータＱ１，Ｑ２が、各プログラム入力回路２０内の２つのラッチ回路に格納される。即ち、図１５（Ｂ）に示される通り、プログラム入力回路には、２つのラッチ回路２２，４０が設けられ、Ｑ１ロード信号Q1LOADによりトランジスタN41が導通して、ラッチ回路４０にデータＱ１がロードされる。また、Q2ロード信号Q2LOADによりトランジスタN30が導通して、ラッチ回路２２にデータＱ２がロードされる。そして、プログラムされるレベルL0,L1,L2に応じて生成されるプログラムデータ制御信号PGM0-2に対応して、図１５（Ｃ）に示される図表のようにクロック信号CK1-4が生成され、データQ1,Q2の組み合わせに応じて、プログラムデータ信号Poutが出力される。図１５（Ｃ）の図表は、ラッチ回路４０が追加されているので、図１１（Ｃ）の図表とクロックCK3,4のレベルが逆になている。それ以外のプログラム入力回路の動作は、前述の回路と同じである。
【００７８】
上記の通り、プログラム入力回路２０は、一度に書き込み可能なメモリセルの数と同じだけ配置される。これにより、外部からデバイスに書き込みデータを入力する際、データの並べかえを外部で行う必要がなくなる。外部からは、読み出しと同様のデータの並びで書き込みデータを入力すれば、それを論理合成回路内に一時格納しておくことができる。あとは、デバイス内部で自動的に書き込みレベルに対応した書き込みデータの論理合成を行い、プログラムデータPoutを対応するページバッファに自動的に転送し、各書き込みレベルでの書き込みを行うのである。
【００７９】
図１６，１７は、図１５のプログラム入力回路を利用した場合の詳細な書き込みタイミングチャート図である。前述の図１２，１３，１４と異なるところは、図１６に示される通り、最初に４つのコラムのデータＱ２が入力され、対応するプログラム入力回路２０内のラッチ回路２２内に格納され、次に４つのコラムのデータＱ１が入力され、対応するプログラム入力回路２０内のラッチ回路４０内に格納され、その後はＬ３レベルの書き込み、L1レベルの書き込み、及びＬ２レベルの書き込みが連続して行われることである。つまり、各レベルの書き込み動作毎に、データＱ２，Ｑ１が入力される必要はない。
【００８０】
図１６に示される通り、Ｌ３レベルの書き込み時は、プログラムデータ制御信号PGM2=Highに設定され、ページバッファPB0内のラッチ回路のノードA0にＬレベルがラッチされる。それ以外のページバッファ内のノードA1,A2,A3にはＨレベルがラッチされる。それに伴い、その後のプログラム動作ではページバッファPB0に対応するメモリセルにのみ、電子の注入が行われる。図１６に示されたＬ３レベルの書き込みに対する書き込み検証、書き込み動作、書き込み検証が行われると、図１７に移って、プログラムデータ制御信号PGM0=Highに設定され、Ｌ１レベルの書き込みが開始される。その後、プログラムデータ制御信号PGM1=Highに設定され、Ｌ２レベルの書き込みが行われる。それぞれの書き込み検証、書き込み動作は、前述と同じである。
【００８１】
図１８は、複数のフラッシュメモリを有するメモリ装置の構成図である。図１８の例は、４つのフラッシュメモリデバイスFM0-3に対して、外付け回路として、プログラム入力回路２０が設けられる。メモリカードなど、複数のメモリデバイスが搭載される場合は、共通にプログラム入力回路２０が設けられることにより、それぞれのフラッシュメモリデバイスのチップサイズを小さくすることができる。共通に設けられるプログラム入力回路２０は、図１５に示されるような同時にプログラムされるコラム分のデータＱ２，Ｑ１を格納することができるタイプが好ましい。
【００８２】
以上の実施の形態例を、次の通り付記にまとめる。
【００８３】
付記１．不揮発性メモリにおいて、
２Nの閾値電圧状態を保持する複数のセルトランジスタと、
前記セルトランジスタが接続される複数のビット線及びワード線と、
前記ビット線に接続され、前記セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路とを有し、
前記読み出しバッファ回路は、前記検出された閾値電圧状態に従って、読み出しデータをラッチするラッチ回路と、前記ラッチ回路のラッチ状態を第１及び第２の状態に反転する第１及び第２のラッチ反転回路とを有し、
前記読み出しバッファ回路は、前記セルトランジスタが保持する第１のビットのデータを読み出す時、初期状態のラッチ回路を、検出された第１、２又は第３、４の閾値電圧状態に応じて、前記第１のラッチ反転回路で反転または非反転し、当該ラッチ状態を第１のデータとして出力し、更に、セルトランジスタが保持する下位の第２のビットのデータを読み出す時、前記第１のデータに対応するラッチ状態から、検出された第１又は第２の閾値電圧状態に応じて、前記第１のラッチ反転回路で反転または非反転し、続けて検出された第３又は第４の閾値電圧状態に応じて、前記第２のラッチ反転回路で反転または非反転し、当該ラッチ状態を第２のデータとして出力することを特徴とする不揮発性メモリ。
【００８４】
付記２．付記１において、
前記セルトランジスタは、電荷を蓄積するフローティングゲートと、前記ワード線に接続されるコントロールゲートとを有し、
前記第１のビットを読み出す時、前記ワード線に、前記第１及び第２の閾値電圧と前記第３及び第４の閾値電圧との間の第２基準電圧が印加され、
前記第２のビットを読み出す時、前記ワード線に、前記第１と第２の閾値電圧の間の第１基準電圧が印加され、続いて前記ワード線に前記第３と第４の閾値電圧の間の第３基準電圧が印加されることを特徴とする不揮発性メモリ。
【００８５】
付記３．付記１において、
前記読み出しバッファ回路のラッチ回路は、前記読み出しの前に初期状態にリセットされることを特徴とする不揮発性メモリ。
【００８６】
付記４．付記１において、
前記第１のラッチ反転回路は、第１のセット信号に応答して活性化され、前記ラッチ回路の第１のノードをＨレベルまたはＬレベルの一方のレベルにして前記ラッチ回路を反転し、
前記第２のラッチ反転回路は、第２のセット信号に応答して活性化され、前記ラッチ回路の第２のノードをＨレベルまたはＬレベルの一方のレベルにして前記ラッチ回路を反転することを特徴とする不揮発性メモリ。
【００８７】
付記５．付記１において、
前記複数のビット線は、第１のビット線群と第２のビット線群とを有し、
更に、前記読み出しバッファ回路は、前記第１のビット線群にそれぞれ接続される第１の読み出しバッファ回路群と、前記第２のビット線群にそれぞれ接続される第２の読み出しバッファ回路群とを有し、
前記第２の読み出しバッファ回路群から第１のデータを出力する時に並行して、前記第１の読み出しバッファ回路群が前記セルトランジスタから第２のビットを読み出してラッチし、
前記第１の読み出しバッファ回路群から第２のデータを出力する時に並行して、前記第２の読み出しバッファ回路群が前記セルトランジスタから第２のビットを読み出してラッチすることを特徴とする不揮発性メモリ。
【００８８】
付記６．付記５において、
前記第１及び第２の読み出しバッファ回路群は、読み出した第１及び第２のデータをそれぞれシリアルに出力することを特徴とする不揮発性メモリ。
【００８９】
付記７．不揮発性メモリにおいて、
２Nの閾値電圧状態を保持する複数のセルトランジスタと、
前記セルトランジスタが接続される複数のビット線及びワード線と、
前記ビット線に接続され、前記セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路と、
第１のビット及びそれより下位の第２のビットのデータ入力に応答して、プログラムの有無を示すプログラムデータを出力するプログラム入力回路とを有し、
プログラム時に、前記読み出しバッファ回路は、前記プログラムデータをラッチして、ビット線を当該プログラムデータに応じた状態にし、更に、前記プログラム入力回路は、消去状態である第１の状態から第２の状態にプログラムする第１のサイクルと、第１の状態から第３の状態にプログラムする第２のサイクルと、第１の状態から第４の状態にプログラムする第３のサイクルにおいて、前記第１及び第２のビットの組合せに応じて、前記プログラムデータを出力することを特徴とする不揮発性メモリ。
【００９０】
付記８．付記７において、
前記セルトランジスタは、電荷を蓄積するフローティングゲートと、前記ワード線に接続されるコントロールゲートとを有し、
前記プログラム時に、前記第１のサイクルにおいて、前記第２の状態にプログラムされるセルトランジスタに対して前記フローティングゲートに電荷の注入が行われ、前記第２のサイクルにおいて、前記第３の状態にプログラムされるセルトランジスタに対して前記フローティングゲートに電荷の注入が行われ、前記第３のサイクルにおいて、前記第４の状態にプログラムされるセルトランジスタに対して前記フローティングゲートに電荷の注入が行われることを特徴とする不揮発性メモリ。
【００９１】
付記９．付記７において、
前記プログラム入力回路は、前記第１及び第２のビットのデータと、前記第１乃至第３のサイクルにおいて生成されるプログラムデータ制御信号との論理合成により、前記プログラムデータを生成することを特徴とする不揮発性メモリ。
【００９２】
付記１０．付記７において
前記プログラム入力回路は、前記第１及び第２のビットのデータをラッチするデータラッチ回路を有し、当該ラッチされた第１及び第２のデータと、前記第１乃至第３のサイクルにおいて生成される第１乃至第３のプログラムデータ制御信号との論理合成により、前記プログラムデータを生成することを特徴とする不揮発性メモリ。
【００９３】
付記１１．不揮発性メモリ装置において、
２Nの閾値電圧状態を保持する複数のセルトランジスタと、前記セルトランジスタが接続される複数のビット線及びワード線と、前記ビット線に接続され、前記セルトランジスタの閾値電圧状態を検出する読み出しバッファ回路とを有する複数の不揮発性メモリと、
前記複数の不揮発性メモリに共通に設けられ、第１のビット及びそれより下位の第２のビットのデータ入力に応答して、プログラムの有無を示すプログラムデータを出力するプログラム入力回路とを有し、
プログラム時に、前記不揮発性メモリ内の読み出しバッファ回路は、前記プログラムデータをラッチして、ビット線を当該プログラムデータに応じた状態にし、
更に、前記プログラム入力回路は、消去状態である第１の状態から第２の状態にプログラムする第１のサイクルと、第１の状態から第３の状態にプログラムする第２のサイクルと、第１の状態から第４の状態にプログラムする第３のサイクルにおいて、前記第１及び第２のビットの組合せに応じて、前記プログラムデータを出力することを特徴とする不揮発性メモリ装置。
【００９４】
以上、本発明の保護範囲は、上記の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００９５】
【発明の効果】
以上、本発明によれば、多ビットデータを記録するメモリセルを有する不揮発性メモリにおいて、回路構成が簡単な読み出しバッファ回路を提供することができる。更に、多ビットのデータの組み合わせに応じて、プログラムの有無を示すプログラムデータを生成するプログラム入力回路を提供することができる。
【図面の簡単な説明】
【図１】図１は、本実施の形態例におけるセルトランジスタの構成図である。
【図２】図２は、２ビットデータＱ１，Ｑ２と、セルトランジスタの閾値Ｖｔの分布との関係を示す図である。
【図３】本実施の形態例におけるＮＡＮＤ型のフラッシュメモリアレイとページバッファの構成を示す図である。
【図４】本実施の形態例におけるフラッシュメモリ全体構成図である。
【図５】本実施の形態例における読み出しバッファ回路図である。
【図６】読み出し動作時の各信号やノードの状態を示す図表である。
【図７】読み出し動作のタイミングチャート図である。
【図８】フラッシュメモリの別の全体構成図である。
【図９】図９の読み出し動作のタイミングチャート図である。
【図１０】プログラム動作を説明するためのフラッシュメモリの全体構成図である。
【図１１】プログラム入力回路を説明する図である。
【図１２】状態Ｌ３へのプログラム動作のタイミングチャート図である。
【図１３】状態Ｌ１へのプログラム動作のタイミングチャート図である。
【図１４】状態Ｌ２へのプログラム動作のタイミングチャート図である。
【図１５】別のプログラム入力回路を説明する図である。
【図１６】図１５のプログラム入力回路を利用した場合の詳細な書き込みタイミングチャート図である。
【図１７】図１５のプログラム入力回路を利用した場合の詳細な書き込みタイミングチャート図である。
【図１８】複数のフラッシュメモリを有するメモリ装置の構成図である。
【符号の説明】
ＭＣ      メモリセル
ＢＬ      ビット線
ＷＬ      ワード線
ＰＢ      ページバッファ、読み出しバッファ回路
IOB      入出力バッファ回路
LATCH    ページバッファ内のラッチ回路
N17,N20    第１のラッチ反転回路
N16,N18    第２のラッチ反転回路
SET1      第１のセット信号
SET2      第２のセット信号
Q2,Q1      第１のビットデータ、第２のビットデータ
L0-L3      第１〜第４の状態
２０        プログラム入力回路
【図１】
0003942342.tif 000002
【図２】
0003942342.tif 000003
【図３】
0003942342.tif 000004
【図４】
0003942342.tif 000005
【図５】
0003942342.tif 000006
【図６】
0003942342.tif 000007
【図７】
0003942342.tif 000008
【図８】
0003942342.tif 000009
【図９】
0003942342.tif 000010
【図１０】
0003942342.tif 000011
【図１１】
0003942342.tif 000012
【図１２】
0003942342.tif 000013
【図１３】
0003942342.tif 000014
【図１４】
0003942342.tif 000015
【図１５】
0003942342.tif 000016
【図１６】
0003942342.tif 000017
【図１７】
0003942342.tif 000018
【図１８】
0003942342.tif 000019