(57)【要約】【課題】リファレンスセルの個数が増加することによるしきい値調整時間の増加を低減できる不揮発性半導体メモリ装置を提供する。【解決手段】この発明の不揮発性半導体メモリ装置では、トリム用センスアンプ８が第１のリファレンスセルＲＦＣ０のしきい値と第２のリファレンスセルＳＲＣのしきい値とを比較した結果に基いて、プログラム制御回路１は、書込回路ＷＣにより第１のリファレンスセルＲＦＣ０のしきい値を設定する。トリム用センスアンプ８による上記しきい値比較は、第１のリファレンスセルＲＦＣ０のしきい値読み出し動作に比べて、短い時間で行える。したがって、第１のリファレンスセルの個数が増加した場合に、第１のリファレンスセルを読み出して第１のリファレンスセルのしきい値を調整する従来例に比べて、しきい値調整時間を大幅に低減できる。【選択図】　図２
2004039075.tif 000002
【特許請求の範囲】
【請求項１】
制御ゲート，ドレイン，ソースおよび浮遊ゲートを有する電気的に情報の書き込みおよび消去可能な浮遊ゲート電界効果トランジスタで構成されたメモリセルと、第１のリファレンスセルを有する読み出し手段を備えた不揮発性半導体メモリ装置であって、
第２のリファレンスセルと、
上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較するしきい値比較手段と、
上記しきい値比較手段が上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較した結果に基いて、上記第１のリファレンスセルのしきい値を設定するしきい値設定手段とを備えたことを特徴とする不揮発性半導体メモリ装置。
【請求項２】
請求項１に記載の不揮発性半導体メモリ装置において、
上記読み出し手段は、上記第１のリファレンスセルと第１のセンスアンプを有し、この第１のリファレンスセルと第１のセンスアンプを用いて、上記メモリセルの読み出しを行い、
上記しきい値比較手段は、第２のセンスアンプを有し、この第２のセンスアンプで上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較することを特徴とする不揮発性半導体メモリ装置。
【請求項３】
請求項１に記載の不揮発性半導体メモリ装置において、
上記読み出し手段は、上記第１のリファレンスセルとセンスアンプを有し、上記第１のリファレンスセルと上記センスアンプを用いて、上記メモリセルの読み出しを行い、
上記しきい値比較手段は、上記読み出し手段が有する上記センスアンプを、上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較するセンスアンプとして共用することを特徴とする不揮発性半導体メモリ装置。
【請求項４】
請求項１乃至３のいずれか１つに記載の不揮発性半導体メモリ装置において、
しきい値の異なる複数の第２のリファレンスセルを備えたことを特徴とする不揮発性半導体メモリ装置。
【請求項５】
請求項１乃至４のいずれか１つに記載の不揮発性半導体メモリ装置において、
上記メモリセルの浮遊ゲートに電子が注入され、上記メモリセルのしきい値が高められた状態を書き込み状態とし、上記メモリセルのしきい値が低い状態をイレース状態とした場合に、
上記第１のリファレンスセルのしきい値の目標値が、上記書込み状態のしきい値と上記イレース状態のしきい値の間にあり、上記第２のリファレンスセルのしきい値が、上記第１のリファレンスセルのしきい値の目標値よりも低いことを特徴とする不揮発性半導体メモリ装置。
【請求項６】
請求項１乃至５のいずれか１つに記載の不揮発性半導体メモリ装置において、
上記第２のリファレンスセルのしきい値は、上記第１のリファレンスセルのしきい値の目標値よりも、上記しきい値設定手段による書込みの分解能分だけ低いことを特徴とする不揮発性半導体メモリ装置。
【請求項７】
請求項１乃至６のいずれか１つに記載の不揮発性半導体メモリ装置において、
上記しきい値設定手段は、
上記第１のリファレンスセルのしきい値を調整する内部制御手段からなることを特徴とする不揮発性半導体メモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、不揮発性半導体メモリ装置に関し、特に、リファレンスセルのしきい値設定時間を短縮できる不揮発性半導体メモリ装置に関する。
【０００２】
【従来の技術】
従来、最も一般的に用いられているフラッシュメモリとしては、ＥＴＯＸ（ＥＰＲＯＭ　Ｔｈｉｎ　Ｏｘｉｄｅ、Ｉｎｔｅｌの登録商標）がある。図１３に、このＥＴＯＸ型フラッシュメモリの模式的な断面を示す。図１３に示すように、このメモリは、ソースＳとドレインＤとの間の基板上に、トンネル酸化膜ＴＦを介してフローティングゲートＦＧが形成され、このフローティングゲートＦＧ上に、層間絶縁膜ＬＦを介して、コントロールゲートＣＧが形成されている。
【０００３】
次に、このＥＴＯＸタイプのフラッシュメモリの動作原理について述べる。下の表１に、書き込み、消去、読み出しの各動作時における電圧条件を示す。すなわち、書き込み時は、コントロールゲートＣＧに電圧Ｖｐｐ（例えば９Ｖ）を印加し、ソースＳを基準電圧Ｖｓｓ（例えば０Ｖ）にし、ドレインＤに５Ｖの電圧を印加する。これにより、チャネル層では、多くの電流が流れ、ドレインサイドの電界が高い部分で、ホットエレクトロンが発生し、フローティングゲートＦＧに電子が注入され、しきい値電圧が上昇する。この書き込み状態を、図１４に、プログラム状態として示す。図１４では、横軸をしきい値電圧とし縦軸をメモリセルの個数Ｎとしている。
【０００４】
表１
各モードでの印加電圧
2004039075.tif 000003
【０００５】
また、消去時には、コントロールゲートＣＧに電圧Ｖｎｎ（例えば、−９Ｖ）、ソースＳに電圧Ｖｐｅ（例えば６Ｖ）を印加し、ソースサイドでフローティングゲートＦＧから電子を引き抜き、しきい値電圧を低下させる。この消去状態（イレース状態）でのしきい値電圧を、図１４にイレース状態として示す。
【０００６】
このイレース時には、ＢＴＢＴ（Ｂａｎｄ　Ｔｏ　Ｂａｎｄ　Ｔｕｎｎｅｌｉｎｇ）電流が流れる。このＢＴＢＴ電流が発生すると、同時にホットホール、ホットエレクトロンが発生する。このうち、ホットエレクトロンは基板に流れてしまうが、一方、ホットホールは、トンネル酸化膜ＴＦ側へ引かれ、酸化膜ＴＦ内にトラッップされる。
この現象が一般的に、信頼性を悪化させると言われている。
【０００７】
また、読み出し動作では、ドレインＤに１Ｖを印加し、コントロールゲートＣＧに５Ｖを印加する。このとき、しきい値電圧がイレース状態であり、しきい値電圧が低い場合には、メモリセルに電流が流れず、この場合、このメモリセルの記憶情報は、「１」と判定される。一方、メモリセルがプログラム状態でしきい値電圧が高い場合、メモリセルに電流が流れず、この場合、このメモリセルの記憶情報は、「０」と判定される。
【０００８】
この場合の読み出し方法について、図１１に示すセンスアンプ回路の構成を参照しながら、より詳細に述べる。通常、フラッシュメモリの読み出し動作は、図１１に示すように、メインアレイのメモリセル（メインセル）で流れる電流Ｉｍと、リファレンスセルで流れる電流Ｉｒを比較して、メインセルが保持しているデータが「０」、または、「１」のいずれであるのかを判定する。
【０００９】
すなわち、Ｉｍ＞Ｉｒである場合には、上記データが「１」であると判定し、Ｉｒ＜Ｉｍであれば上記データが「０」であると判定する。このように判定するためには、リファレンスセルのしきい値は、書込み状態のセルのしきい値とイレース状態のしきい値の中間の値である必要がある。この中間の値とは、例えば、３．５Ｖである。
【００１０】
従来、このリファレンスセルのしきい値は、読み出しスピード、および、信頼性等を考慮し、正確な値である必要がある。例えば、３．５Ｖ±０．１Ｖ以内の精度が求められる。また、ワード線電圧は、ＲＷＬ，ＷＬとも同じ電圧（例えば５Ｖ）である。
【００１１】
一方、最近のフラッシュメモリでは、高速アクセスおよびページモード技術、シンクロナス技術等によって、読み出しの高速化が進められている。特に、ページモード技術，シンクロナス技術を用いると、一度の読み出し（センス）動作で読み出すメモリセルの数が大幅に増加する。この場合、読み出しの高速化を実現しようとする場合、読み出し時においてメインセルの状態とリファレンスセルの状態とをできるだけ同じ状態にする必要がある。この必要を満たそうとすれば、リファレンスセルの数が増加してしまうことになる。
【００１２】
例えば、従来技術において、ページモード技術を用いて、さらに読み出し動作の高速化を行なう場合、メモリ装置におけるセンス系は、図１２に示すような構成となる。図１２では、１ブロック分のメモリアレイを示しており、２５６本のワード線ＷＬ０〜ＷＬ２５５、２０４８本のビット線ＢＬ０〜ＢＬ２０３２で構成されている。また、読み出し動作では、１回の動作で１２８個のメモリセルＭＳを同時に読み出せる構成になっている。一方、リファレンス側も高速読み出しを実現するため、１つのセンスアンプＳＡ０（，ＳＡ１…ＳＡ１２７）に１つのリファレンスセルＲＦＣ０（，ＲＦＣ１…ＲＦＣ１２７）を配置している。
【００１３】
【発明が解決すべき課題】
次に、上記従来の不揮発性半導体メモリ装置の問題点について述べる。図１０に、上記メモリ装置において、リファレンスセルアレイ１０３のリファレンスセルをプログラム（書き込み）して、そのしきい値を調整する回路構成を示す。この場合のリファレンスセルは上記したように、そのしきい値を３．５Ｖ±０．１Ｖの範囲に収める必要がある。このしきい値の調整方法としては、外部の制御装置を用いて、徐々にプログラムを行い、１つのメモリセルのしきい値を３．５Ｖ±０．１Ｖにする手法を用いる。このしきい値の調整はテスト時に行なわれる。
【００１４】
上記しきい値の調整を行なう場合、プログラム制御回路１０１から、このリファレンスセルのプログラム動作のコマンドがセンスアンプアレイ１０５とリファレンスセルワード線電圧発生回路１０６に入力される。すると、このセンスアンプアレイ１０５とリファレンスセルワード線電圧発生回路１０６からリファレンスレスアレイ１０３にプログラムパルスが１パルス入力される。このプログラムパルスは、例えば、コントロールゲート電圧が６Ｖ，ドレイン電圧が５Ｖ，パルス幅１μ秒とする。また、このしきい値調整を行う場合のゲート電圧は、メインアレイ１０２のメモリセルのしきい値をオーバーしないように、通常のプログラムよりも低い値に設定される。
【００１５】
次に、図１２に示すパッドＰＡＤから、直接、リファレンスセルＲＦＣ０に流れる電流を測定し、その電流からしきい値を測定する。ここで、上記しきい値が３．４Ｖ以下と判断されれば、さらに、上記プログラムパルスをリファレンスセルＲＦＣ０に印加する。このしきい値調整の動作は、リファレンスセルＲＦＣ０のしきい値が３．４Ｖ以上になるまで行なわれる。なお、このようなしきい値調整の方式に関しては、特開平１０−２６１７６８公報の従来技術でも示されている。
【００１６】
上記リファレンスセルＲＦＣ０のしきい値調整が終了すると、次に、リファレンスセルＲＦＣ１のしきい値調整が行なわれる。このしきい値調整動作は、次に、ＲＦＣ１２７まで行なわれる。
【００１７】
次に、上記のしきい値調整に要する時間について検討する。１つのリファレンスセルのしきい値を調整する動作において、１つのリファレンスセルに印加するプログラムパルスのパルス回数は、通常、１００回程度必要となる。ここで、１つのプログラムパルス印加動作（セットアップ動作等を含む）に、１０μ秒を要し、しきい値読み出し動作に１００μ秒を要するとする。すると、１つのリファレンスセルに対するしきい値調整動作に要する所要時間Ｔは、次式（１０１）で算出されるように、１１ｍ秒程度となる。
【００１８】
Ｔ＝（１００＋１０）μ秒×１００＝１１（ｍ秒）　　　……　（１０１）
また、上記リファレンスセルの個数は１２８個（ＲＦＣ０〜ＲＦＣ１２７）なので、この１２８個のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値調整動作に要する合計所要時間ＴＴは、次式（１０２）で算出されるように、１．４秒程度となる。
【００１９】
ＴＴ＝１１ｍ秒×１２８＝１．４（秒）　　　　　　　……　（１０２）
このように、上記従来技術では、リファレンスセルのしきい値の調整に要する時間（テスト時間とも言う）が非常に長くなる。
【００２０】
そして、先述のように、ページモード技術，シンクロナス技術で、一度の読み出し（センス）動作で読み出すメモリセルの数が大幅に増加すると、これに伴って、リファレンスセル数も増加するので、さらに、しきい値調整時間が長くなってしまう。
【００２１】
そこで、この発明の目的は、リファレンスセルの個数が増加することによるしきい値調整時間の増加を低減できる不揮発性半導体メモリ装置を提供することにある。
【００２２】
【課題を解決するための手段】
上記目的を達成するため、この発明の不揮発性半導体メモリ装置は、制御ゲート，ドレイン，ソースおよび浮遊ゲートを有する電気的に情報の書き込みおよび消去可能な浮遊ゲート電界効果トランジスタで構成されたメモリセルと、第１のリファレンスセルを有する読み出し手段を備える。また、この不揮発性半導体メモリ装置は、しきい値比較手段で、第２のリファレンスセルと、上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較し、しきい値設定手段は、上記しきい値の比較結果に基いて、上記第１のリファレンスセルのしきい値を設定する。
【００２３】
上記しきい値比較は、上記第１のリファレンスセルのしきい値読み出し動作に比べて、短い時間で行える。したがって、上記第１のリファレンスセルの個数が増加した場合に、上記第１のリファレンスセルを読み出して上記第１のリファレンスセルのしきい値を調整する従来例に比べて、しきい値調整時間を大幅に低減できる。
【００２４】
また、一実施形態の不揮発性半導体メモリ装置では、上記しきい値比較手段は、メモリセルの読み出しのための第１のセンスアンプとは別の第２のセンスアンプを有し、この第２のセンスアンプでもって、上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較する。したがって、上記メモリセルの読み出し動作とは独立に、しきい値比較動作を行える。
【００２５】
また、一実施形態の不揮発性半導体メモリ装置では、上記しきい値比較手段は、上記読み出し手段が有する上記センスアンプを、上記第１のリファレンスセルのしきい値と上記第２のリファレンスセルのしきい値とを比較するセンスアンプとして共用している。
【００２６】
この実施形態では、読み出し手段が有するセンスアンプでもって、第１，第２のリファレンスセルのしきい値比較を行う。このため、メインセル読み出し用のセンスアンプと上記しきい値比較用のセンスアンプとを別個に有する場合と異なり、センスアンプのばらつきを吸収でき、しきい値を調整精度を向上できる。また、読み出し用のセンスアンプを複数個有している場合は、複数個の第１リファレンスセルのしきい値を同時に調整することも可能となり、しきい値調整時間の短縮を図れる。
【００２７】
また、一実施形態の不揮発性半導体メモリ装置では、しきい値の異なる複数の第２のリファレンスセルを備えたから、しきい値の異なる複数の第１のリファレンスセルのしきい値を調整でき、２値を越える多値のしきい値状態を持つメモリセルに対応可能となる。
【００２８】
また、一実施形態の不揮発性半導体メモリ装置では、上記第１のリファレンスセルのしきい値の目標値が、上記メモリセルのしきい値が高められた書込み状態のしきい値と上記メモリセルのしきい値が低いイレース状態のしきい値の間にあり、かつ、上記第２のリファレンスセルのしきい値が、上記第１のリファレンスセルのしきい値の目標値よりも低い。これにより、上記しきい値比較手段が上記第１のリファレンスセルのしきい値と第２のリファレンスセルのしきい値とを比較した結果、上記第１のリファレンスセルのしきい値が第２のリファレンスセルのしきい値よりも低い場合に、上記しきい値設定手段は、上記第１のリファレンスセルに書き込みパルスを加え、上記第１のリファレンスセルのしきい値を増加させて、上記しきい値の目標値に近づけることができる。
【００２９】
また、一実施形態の不揮発性半導体メモリ装置では、上記第２のリファレンスセルのしきい値は上記第１のリファレンスセルのしきい値の目標値よりも、上記しきい値設定手段による書込みの分解能分だけ低いから、上記しきい値設定手段は、上記しきい値比較手段によるしきい値比較結果に基き、上記書込みの分解能の精度でもって、上記第１のリファレンスセルのしきい値を目標値に設定できる。
【００３０】
また、一実施形態の不揮発性半導体メモリ装置は、しきい値設定手段が内部制御手段からなるから、外部制御によらず、不揮発性半導体メモリ装置内部の制御でもって、第１のリファレンスセルのしきい値を調整できる。
【００３１】
【発明の実施の形態】
以下、この発明を図示の実施の形態に基いて詳細に説明する。
【００３２】
（第１の実施形態）
図１，図２を参照して、この発明の不揮発性半導体メモリ装置の第１実施形態を説明する。
【００３３】
図１に示すように、この第１実施形態は、プログラム制御回路１，メインアレイ２，複数の第１リファレンスセルからなるリファレンスセルアレイ３，センスアンプアレイ５，リファレンスワード線電圧発生回路６，第２リファレンスセルＳＲＣ，しきい値比較手段としてのリファレントリム用センスアンプ８および出力バッファ回路９を備える。
【００３４】
図１から判るように、この実施形態では、リファレンスセルアレイ３とメインアレイ２の読み出し用センスアンプアレイ５以外に、第２リファレンスセルＳＲＣとリファレンストリム用センスアンプ８を有する。この第２リファレンスセルＳＲＣとリファレンストリム用センスアンプ８は、リファレンスセルアレイ３のしきい値を所定の値に調整するために用いられる。上記リファレンストリム用センスアンプ８は第２のセンスアンプである。
【００３５】
図２に示すように、上記メインアレイ２は、フローティングゲートを有する電気的に情報の書き込みと消去が可能な浮遊ゲート電界効果トランジスタからなる複数のメモリセルＭＳが行と列をなして配置されている。各行のメモリセルＭＳのコントロールゲートには行線としてのワード線ＷＬ０〜ＷＬ２５５が接続されており、各列のメモリセルＭＳのドレインには列線としてのビット線ＢＬ０〜ＢＬ２０３２が接続されている。各ビット線ＢＬ０〜ＢＬ２０３２はＹデコーダＹＤに接続されている。このＹデコーダＹＤは１２８本の信号線ｓｅｎ０〜ｓｅｎ１２７で１２８個のセンスアンプＳＡ１〜ＳＡ１２７に接続されている。このセンスアンプＳＡ１〜ＳＡ１２７がセンスアンプアレイ５を構成している。また、信号線ｓｅｎ０〜ｓｅｎ１２７が図１の信号線群ｓｅｎｓをなす。
【００３６】
また、図２に示すように、浮遊ゲート電界効果トランジスタからなる１２８個の第１リファレンスセルＲＦＣ０，ＲＦＣ１〜ＲＦＣ１２７はリファレンスセルアレイ３をなす。この第１リファレンスセルＲＦＣ０，ＲＦＣ１〜ＲＦＣ１２７のドレインは、それぞれ、ｎＭＯＳトランジスタＴｒｒ０，Ｔｒｒ１〜Ｔｒｒ１２７を介して、信号線ｒｅｆ０〜ｒｅｆ１２７でセンスアンプＳＡ０，ＳＡ１〜ＳＡ１２７に接続されている。図２の信号線ｒｅｆ０〜ｒｅｆ１２７が図１の信号線群ｒｅｆであり、図２の信号線ｒｓｅｎ０が図１の信号線ｒｓｅｎｓである。
【００３７】
また、図２に示すように、書き込み回路ＷＣが信号線ｒｓｅｎに接続され、この信号線ｒｓｅｎは、トランジスタＴｒ０，Ｔｒ１〜Ｔｒ１２７を介して、第１リファレンスセルＲＦＣ０，ＲＦＣ１〜ＲＦＣ１２７のドレインに接続されている。また、上記書き込み回路ＷＣは図１のプログラム制御回路１に接続されている。このプログラム制御回路１と書き込み回路ＷＣがしきい値設定手段を構成している。
【００３８】
さらに、上記信号線ｒｓｅｎはトリム用センスアンプ８の反転入力端子に接続され、このトリム用センスアンプ８の出力端子はプログラム制御回路１に接続されている。また、このトリム用センスアンプ８の非反転入力端子は信号線ｓｒｅｆでもって、ｎＭＯＳトランジスタＴｒｑを経由して、浮遊ゲート電界効果トランジスタからなる第２リファレンスセルＳＲＣのドレインに接続されている。また、この第２リファレンスセルＳＲＣのドレインはｎＭＯＳトランジスタＴｒｐを経由して外部パッドＰＡＤに接続されている。また、第２リファレンスセルＳＲＣのコントロールゲートは第２リファレンスワード線ＷＬＳＲに接続されている。また、この第２リファレンスセルＳＲＣのソースは、ソース電圧が供給される端子に接続されている。
【００３９】
次に、この第１実施形態における回路動作を説明する。最初に、第２のリファレンスセルＳＲＣのしきい値設定方法について述べる。
【００４０】
ここでは、上記リファレンスセルアレイ３が有する読み出し用の第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値の目標値が３．５Ｖであるので、第２のリファレンスセルＳＲＣのしきい値を３．４５Ｖ±０．０５Ｖの範囲に設定する。つまり、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値の目標値よりも、第２のリファレンスセルＳＲＣのしきい値を低目に設定する。その理由は、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７にプログラムパルスを１つずつ印加して、第１のリファレンスセルのしきい値を第２のリファレンスセルのしきい値と比較することで検出しながら、第１のリファレンスセルのしきい値を段階的に上げて行くことで、第１のリファレンスセルのしきい値を設定するからである。
【００４１】
したがって、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７に、１つのプログラムパルスを印加することで上昇するしきい値（書き込み分解能）分だけ、第２のリファレンスセルＳＲＣのしきい値を第１のリファレンスセルのしきい値よりも低く設定しておくことによって、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値を目標値（３．５Ｖ）近傍に設定できる。
【００４２】
何故ならば、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値が、第２のリファレンスセルＳＲＣのしきい値よりも高くなったことが検出されたときに、第１のリファレンスセルのしきい値へのプログラムパルスの印加を終了するからである。つまり、第２のリファレンスセルＳＲＣのしきい値を第１のリファレンスセルのしきい値と同じ値に設定した場合には、第２のリファレンスセルのしきい値よりも第１のリファレンスセルのしきい値が高めに設定されてしまうからである。
【００４３】
この第１実施形態におけるプログラム方法では、図２に示す外部パッドＰＡＤから、トランジスタＴｒｐを経由して、第２のリファレンスセルＳＲＣへドレイン電圧を入力する。また、図１のリファレンスセルワード線電圧発生回路６から第２リファレンスワード線ＷＬＳＲへワード線電圧を供給し、第２リファレンスセルＳＲＣのコントロールゲートへコントロールゲート電圧を印加する。なお、上記第２リファレンスセルＳＲＣへのドレイン電圧は、内部回路で発生させてもよい。また、上記ワード線電圧は、外部パッドから入力してもよい。
【００４４】
上記のようにして、第２リファレンスセルＳＲＣへプログラムパルスが１パルス入力される。このプログラムパルスは、例えば、上記コントロールゲート電圧が６Ｖであり、ドレイン電圧が５Ｖであり、パルス幅が１μ秒である。
【００４５】
次に、しきい値の読み出し動作について説明する。この読み出し動作においても、図２に示す外部パッドＰＡＤから、第２のリファレンスセルＳＲＣのドレインにビット線を介して電圧を直接入力する。また、第２リファレンスワード線ＷＬＳＲへのコントロールゲート電圧は、図示していない外部パッドから直接入力する。この状態で、第２のリファレンスセルＳＲＣに流れる電流を測定し、第２のリファレンスセルＳＲＣのしきい値を測定する。この測定したしきい値が３．４Ｖ以下であると判断された場合には、第２のリファレンスセルＳＲＣに、さらに、プログラムパルスを印加する。このしきい値の測定，判断，パルス印加の動作は、第２のリファレンスセルＳＲＣのしきい値が３．４Ｖ以上になるまで行なわれる。結果的に、第２のリファレンスセルＳＲＣのしきい値を、３．４Ｖ乃至３．５Ｖの範囲内に設定する。
【００４６】
次に、図１に示すメインアレイ２の読み出し時に用いるリファレンスセルアレイ３を構成する第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値設定動作を説明する。この実施形態では、図２に示すように、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７の個数は１２８個ある。この第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値の設定では、書込みとベリファイを交互に行なうことにより、しきい値を調整する。
【００４７】
図７に、図２における書込み回路ＷＣの構成を示す。図１のプログラム制御回路１に、プログラム動作開始の信号が入力されると、プログラム制御回路１から書込み回路ＷＣに書込み信号としてＬ（Ｌｏｗ）レベルが出力される。そして、図７に示す信号ＤａｔａｏｎがＨ（ｈｉｇｈ）レベルとなると、ｎＭＯＳトランジスタＴｒＷがオンして、ラッチ回路ＬＣにはＬレベルがラッチされることになる。そして、信号ｈｈｖｐが高電圧（例えば１０Ｖ）となることで、レベルシフターＨＶの出力信号ｈｖｏｎが１０Ｖとなり、ｎＭＯＳトランジスタＴｒＸがオンする。一方、信号ＰＧＶは、プログラム電圧（例えば５Ｖ）となり、信号ＰＧｓｔａｒｔがＨレベル（例えば１０Ｖ）となり、ｎＭＯＳトランジスタＴｒＹがオンする。すると、信号線ｒｓｅｎ０には、５Ｖの電圧が出力される。
【００４８】
さらに、図２に示す電圧Φ０が、Ｈレベル（例えば１０Ｖ）となり、ｎＭＯＳトランジスタＴｒ０がオンし、書き込み回路ＷＣから信号線ｒｓｅｎ０とｎＭＯＳトランジスタＴｒ０を経由して、第１リファレンスセルＲＦＣ０のドレインに５Ｖの電圧が出力される。このとき、リファレンスワード線ＷＬＲの電圧は、通常のプログラム（書き込み）動作時の電圧より低い電圧（例えば、５．５Ｖ程度）となり、プログラム（書き込み）が開始され、第１リファレンスセルＲＦＣ０のしきい値が上昇する。このプログラムにおけるプログラムパルス幅は１μ秒程度である。
【００４９】
次に、プログラム制御回路１は、ベリファイ動作の命令を出力する。これにより、ベリファイ動作が開始される。このベリファイ動作では、先に、しきい値調整を行った第２のリファレンスセルＳＲＣとトリム用センスアンプ８を用いてしきい値比較が行われる。すなわち、このベリファイ動作では、第１リファレンスセルＲＦＣ０のしきい値と第２リファレンスセルＳＲＣのしきい値とを比較する。なお、このベリファイ動作では、信号ＲΦ０をＨレベルとしてトランジスタＴｒｑをオンとし、信号Φ０をＨレベルとしてトランジスタＴｒ０をオンとする。
また、第２リファレンスワード線ＷＬＳＲと第１リファレンスワード線ＷＬＲには、第２リファレンスセルＳＲＣのしきい値電圧乃至このしきい値電圧＋３Ｖ以下の電圧が印加される。また、第１リファレンスセルＲＦＣ０のワード線ＷＬＲには、上記第２リファレンスワード線ＷＬＳＲへのワード線電圧と同じ電圧が印加される。
【００５０】
ここで、上記第１リファレンスセルＲＦＣ０のしきい値が、第２のリファレンスセルＳＲＣのしきい値よりも低い場合には、第２リファレンスセルＳＲＣから信号線ｓｒｅｆを経由してトリム用センスアンプ８の非反転入力端子に入力される電圧が、第１リファレンスセルＲＦＣ０から信号線ｒｓｅｎ０を経由してトリム用センスアンプ８の反転入力端子に入力される電圧よりも大きい。
【００５１】
この場合、トリム用センスアンプ８からの出力信号を受けたプログラム制御回路１は、書き込み回路ＷＣ，リファレンスセルワード線電圧発生回路６を制御して、第１リファレンスセルＲＦＣ０に、再度、プログラムパルスを１パルスだけ印加して、第１リファレンスセルＲＦＣ０のしきい値を所定値だけ上げる。そして、再度、上記ベリファイ動作を行い、その結果、依然、上記第１リファレンスセルＲＦＣ０のしきい値が、第２のリファレンスセルＳＲＣのしきい値よりも低い場合には、さらに、上記プログラムパルスを１パルスだけ第１リファレンスセルＲＦＣ０に印加する。
【００５２】
そして、このベリファイ動作と上記プログラムパルス印加を繰り返し、最終的に、第１リファレンスセルＲＦＣ０のしきい値が第２のリファレンスセルＳＲＣのしきい値よりも高くなると、トリム用センスアンプ８からプログラム制御回路１への出力信号がＬレベルとなる。これにより、プログラム制御回路１は、第１リファレンスセルＲＦＣ０のしきい値が第２のリファレンスセルＳＲＣのしきい値よりも高いと判断して、第１のリファレンスセルＲＦＣ０へのプログラムパルス印加を終了する。
【００５３】
上述のしきい値調整動作（ベリファイとプログラムパルス印加）は、プログラム制御回路１が、一旦、コマンドを発行すると、第１のリファレンスセルＲＦＣ０のしきい値が所定のしきい値以上となるまで、内部のプログラム制御回路１によって、自動的に行われる。
【００５４】
続いて、第１リファレンスセルＲＦＣ１、第１リファレンスセルＲＦＣ２、……、第１リファレンスセルＲＦＣ１２７の順に、上記しきい値調整動作を行う。ここで、１つの第１リファレンスセルのしきい値調整時間は、プログラムパルス印加の動作（セットアップ動作等を含む）に１０μ秒を要し、ベリファイ時間に、２μ秒を要するとし、プログラムパルスの印加回数を１００回とすると、１つの第１リファレンスセルのしきい値調整動作に要する所要時間Ｔは、次式（１）で算出できるように、１．２ｍ秒程度となる。
【００５５】
Ｔ＝１２（μ秒）×１００（回）＝１．２（ｍ秒）　　　　　……（１）
また、１つの第１リファレンスセルのしきい値を調整するために、プログラム制御回路１が最初に１度コマンドを発行するのに必要な時間を、１μ秒程度であるとすると、第１リファレンスセルの個数は１２８個なので、この１２８個の第１リファレンスセルのしきい値を調整するのに要する合計時間ＴＴは、次式（２）より、０．１５秒程度となる。
【００５６】
ＴＴ＝１．２０１（ｍ秒）×１２８（個）＝０．１５（秒）　　　……（２）
したがって、従来例の場合ではしきい値調整に１．４秒だけ必要（式（１０１）参照）なのに対して、この第１実施形態によれば、しきい値調整時間を、従来例に比べて、約１０分の１まで低減することが可能となる。
【００５７】
この第１実施形態では、１個の第２のリファレンスセルＳＲＣについてはそのセルに流れる電流を測定してしきい値を設定した。一方、１２８個の第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７については、電圧比較手段として使用したセンスアンプ８を用いて、第２のリファレンスセルＳＲＣとのしきい値比較（ベリファイ）によって、しきい値を設定することで、従来に比べて、しきい値調整に要する時間を大幅に短縮できた。
【００５８】
したがって、この第１実施形態によれば、内部のプログラム制御回路１を用いて制御するしきい値調整動作により、第１リファレンスセルの個数が増加することに伴うしきい値調整時間の増大を抑えることが可能になる。
【００５９】
（第２の実施形態）
次に、図３，図４を参照して、この発明の不揮発性半導体メモリ装置の第２実施形態を説明する。
【００６０】
前述の第１の実施形態では、第１のリファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値を調整するときに使用するセンスアンプ８が１つであるから、第１リファレンスセルのしきい値調整は１つづつ行うこととなり、第１リファレンスセルの個数がさらに増加した場合に、ベリファイ時間およびプログラム時間が長くなる。さらに、メインアレイ２の読み出し時に使用するセンスアンプＳＡ１〜ＳＡ１２７と、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値設定時に用いられるセンスアンプ８とが異なることから、センスアンプ間のばらつきを吸収することができない。この第２実施形態では、この点を改善したものである。
【００６１】
図３，図４に示すように、この第２実施形態では、図１，図２に示す第１実施形態では有していたトリム用センスアンプ８がなく、センスアンプアレイ５の替わりに、センスアンプアレイ５５を備えた点が第１実施形態と異なる。このセンスアンプアレイ５５は、図４に示すように、１２８個のセンスアンプ＆書込回路ＳＡＰ０〜ＳＡＰ１２７からなる。
【００６２】
図８に、図４におけるセンスアンプ回路＆書込み回路ＳＡＰ０の構成を示す。
このセンスアンプ＆書込回路ＳＡＰ０は、センスアンプＳＡＡと書き込み回路ＷＣからなる。この書き込み回路ＷＣは、図７の書き込み回路ＷＣと同様の構成である。なお、このセンスアンプ回路＆書込み回路ＳＡＰ０の構成は、他のセンスアンプ回路＆書込み回路ＳＡＰ１〜ＳＡＰ１２７と同じ構成である。
また、このセンスアンプ回路＆書込回路ＳＡＰ０〜ＳＡＰ１２７は、信号線ｒｅｆ０〜ｒｅｆ１２７，ｎＭＯＳトランジスタＴｖ０〜Ｔｖ１２７を経由して、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のドレインに接続されている。また、このセンスアンプ回路＆書込回路ＳＡＰ０〜ＳＡＰ１２７は、信号線ｓｅｎ０〜ｓｅｎ１２７でＹデコーダＹＤに接続されている。また、信号線ｓｅｎ０〜ｓｅｎ１２７は、ｎＭＯＳトランジスタＴｗ０〜Ｔｗ１２７で信号線ｒｓｅｎ０に接続されている。また、この信号線ｒｓｅｎ０は、ｎＭＯＳトランジスタＴｒｑを経由して第２リファレンスセルＳＲＣのドレインに接続されている。また、この第２リファレンスセルＳＲＣのドレインは、ｎＭＯＳトランジスタＴｒｐを経由して、外部パッドＰＡＤに接続されている。
【００６３】
この第２実施形態では、上記センスアンプ回路＆書込み回路ＳＡＰ１〜ＳＡＰ１２７が有するセンスアンプＳＡＡがしきい値比較手段をなし、書き込み回路ＷＣとプログラム制御回路１がしきい値設定手段をなす。
【００６４】
次に、この第２実施形態の回路動作を説明する。最初に、第２のリファレンスセルＳＲＣのしきい値設定方法を説明する。ここでは、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値の目標値は３．５Ｖなので、第２のリファレンスセルＳＲＣのしきい値は３．４５Ｖ±０．０５Ｖの範囲に設定する。この場合の第２リファレンスセルＳＲＣのプログラム方法は、外部パッドＰＡＤから、第２リファレンスセルＳＲＣのドレインにドレイン電圧を入力すると共に、リファレンスセルワード線電圧発生回路６から第２リファレンスワード線ＷＬＳＲへ印加電圧を供給する。なお、上記ドレイン電圧は内部回路で発生させてもよい。また、上記ワード線ＷＬＳＲへのワード線電圧は、外部パッドから入力してもよい。
【００６５】
上記ドレイン電圧と上記ワード線電圧によって、上記第２リファレンスセルＳＲＣに、プログラムパルスが１パルス入力される。例えば、上記ワード線電圧によって、第２リファレンスセルＳＲＣのコントロールゲートにゲート電圧として６Ｖが印加されると共に、上記ドレイン電圧によって、第２リファレンスセルＳＲＣのドレインに５Ｖが印加される。また、上記プログラムパルスのパルス幅は、例えば、１μ秒に設定される。
【００６６】
次に、第２のリファレンスセルＳＲＣのしきい値の読み出し動作について、説明する。この読み出し動作では、図４に示す外部パッドＰＡＤから直接、第２のリファレンスセルＳＲＣのドレインに接続されているビット線に電圧を入力する。また、第２リファレンスワード線ＷＬＳＲへの電圧は、図示していない外部パッドから直接入力し、第２のリファレンスセルＳＲＣに流れる電流を測定し、その電流値からしきい値を測定する。
【００６７】
この測定の結果、第２リファレンスセルＳＲＣのしきい値が３．４Ｖ以下と判断されると、第２リファレンスセルＳＲＣに、さらに、上記プログラムパルスを１パルスだけ印加する。このしきい値の測定，しきい値の判断，パルス印加の動作は、第２リファレンスセルＳＲＣのしきい値が３．４Ｖ以上になるまで行なわれる。結果的に、第２のリファレンスセルＳＲＣのしきい値を３．４Ｖから３．５Ｖの範囲内に設定する。
【００６８】
次に、複数のメインメモリセルＭＳからなるメインアレイ２を読み出す時に用いられる第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値設定について説明する。図４に示すように、１２８個の第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７がリファレンスセルアレイ３を構成している。
【００６９】
この第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値設定動作では、第１リファレンスセルへの書込みとベリファイを交互に行なうことによって、以下に述べるようにして、第１リファレンスセルのしきい値を調整する。
【００７０】
（第１リファレンスセルへの書き込み）
図３に示すプログラム制御回路１に、プログラム動作開始の信号が入力されると、プログラム制御回路１から図８の書込み回路ＷＣに書込み信号として、Ｌレベルが出力される。次に、図８に示す信号ＤａｔａｏｎがＨレベルとなり、ｎＭＯＳトランジスタＴｒＷがオンし、ラッチ回路ＬＣではＬレベルがラッチされる。そして、信号ｈｈｖｐが、高電圧（例えば１０Ｖ）となり、レベルシフターＨＶの出力信号ｈｖｏｎが１０Ｖとなり、ｎＭＯＳトランジスタＴｒＸがオンする。そして、信号ＰＧＶはプログラム電圧（例えば５Ｖ）となり、ＰＧｒｓｔａｒｔ信号がＨレベル（例えば１０Ｖ）となることで、トランジスタＴｒＹがオンし、信号線ｒｅｆ０には５Ｖの電圧が出力する。
【００７１】
さらに、図４の信号ＲＣ０がＨレベル（例えば１０Ｖ）となり、トランジスタＴｖ０がオンして、信号線ｒｅｆ０からリファレンスセルＲＦＣ０のドレインに、５Ｖの電圧を出力する。また、第１リファレンスセルワード線ＷＬＲに供給される電圧は通常のプログラム時の電圧より低い電圧（例えば、５．５Ｖ程度）が印加され、プログラム（書き込み）が開始され、第１リファレンスセルＲＦＣ０のしきい値が上昇する。なお、上記ドレインへの電圧と上記ワード線ＷＬＲからコントロールゲートへの電圧とからなるプログラムパルスのパルス幅は１μ秒程度とする。
【００７２】
この第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７への書込み動作は、例えば、８つの第１リファレンスメモリセルＲＦＣ０〜ＲＦＣ７に対して、８つのセンスアンプ＆書込み回路ＳＡＰ０〜ＳＡＰ７を用いて同時に行うことが可能である。つまり、８つの第１リファレンスメモリセルＲＦＣ０〜ＲＦＣ７に対して、８つのセンスアンプ＆書込み回路ＳＡＰ０〜ＳＡＰ７から並列書き込み動作が可能である。
【００７３】
次に、プログラム制御回路１はベリファイ動作の命令を出力する。これにより、ベリファイ動作が開始される。このベリファイ動作では、先に、しきい値調整を行った第２のリファレンスセルＳＲＣと図８のセンスアンプＳＡＡを用いて、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７と第２のリファレンスセルＳＲＣとのしきい値比較が行われる。
【００７４】
このしきい値比較は、８個のセンスアンプ＆書込回路ＳＡＰ０〜ＳＡＰ７の８個のセンスアンプＳＡＡを用いて、８個の第１リファレンスセルＲＦＣ０〜ＲＦＣ７について同時に行うことができる。
【００７５】
例えば、８個の第１リファレンスセルＲＦＣ０〜ＲＦＣ７のうちの第１リファレンスセルＲＦＣ０のしきい値が第２のリファレンスセルＳＲＣのしきい値よりもより低い場合には、第２リファレンスセルＳＲＣから信号線ｒｓｅｎ０，トランジスタＴｗ０，信号線ｓｅｎ０を経由して、センスアンプＳＡＡの反転入力端子に入力される電圧が、第１リファレンスセルＲＦＣ０から信号線ｒｅｆ０を経由してセンスアンプＳＡＡの非反転入力端子に入力される電圧よりも高い。
【００７６】
すると、図８のセンスアンプＳＡＡはプログラム制御回路１に信号を出力し、プログラム制御回路１は、第１のリファレンスセルＲＦＣ０のしきい値が第２のリファレンスセルＳＲＣのしきい値よりも低いと判断し、前述の第１リファレンスセルへの書き込み動作を実行する。これにより、この第１のリファレンスセルＲＦＣ０へ、再度、プログラムパルスが印加される。
【００７７】
上記しきい値比較，プログラムパルス印加を繰り返し、最終的に、第１のリファレンスセルＲＦＣ０〜ＲＦＣ７のしきい値が、第２のリファレンスセルＳＲＣのしきい値よりも高くなる。すると、センスアンプＳＡＡの出力信号を受けたプログラム制御回路１が、第２のリファレンスセルＳＲＣのしきい値よりも、第１リファレンスセルＲＦＣ０〜ＲＦＣ７のしきい値が高いと判断したときに、第１リファレンスセルＲＦＣ０〜ＲＦＣ７に対するパルス印加が終了する。
【００７８】
上記第１リファレンスセルＲＦＣ０〜ＲＦＣ７に対するしきい値調整動作は、１度、上記プログラム制御回路１によってコマンドが発行されると、上記第１リファレンスセルＲＦＣ０〜ＲＦＣ７のしきい値が所定のしきい値（第２リファレンスセルＳＲＣのしきい値）以上となるまで、内部のプログラム制御回路１を用いて自動的に行われる。
【００７９】
続けて、第１リファレンスセルＲＦＣ８〜第１リファレンスセルＲＦＣ１５、……、第１リファレンスセルＲＦＣ１２０〜第１リファレンスセルＲＦＣ１２７の順に、８個づつ、しきい値調整を行う。この場合、８つの第１リファレンスセルのしきい値設定時間は、プログラムパルス回数を１００回とし、プログラムパルス印加の動作（セットアップ動作等込み）に１０μ秒を要し、　ベリファイ時間に２μ秒を要するとして、８つの第１リファレンスセルのしきい値調整動作に要する時間Ｔは、次式（３）により、１．２ｍ秒程度となる。
【００８０】
Ｔ＝（（１２）μ秒×１００）＝１．２ｍ秒　　　　　　　……（３）
また、８つの第１リファレンスセルを調整するために、最初に、１度、コマンドが発行される。これに必要な時間を１μ秒とすると、第１リファレンスセル数は１２８個なので、上述のごとく８個の第１リファレンスセルのしきい値調整を同時に行う場合、しきい値調整に要する合計時間ＴＴは、次式（４）のより、０．０３９秒程度となる。
【００８１】
ＴＴ＝１．２０１ｍ秒×１２８／８＝０．０３９秒　　　……（４）
このように、この第２実施形態によれば、第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値調整動作に要する時間を、第１実施形態に比して、約８分の１まで低減させることが可能となる。
【００８２】
また、この第２実施形態では、図８の信号ＰＧｍｓｔａｒｔにより、ｎＭＯＳトランジスタＴｒＺをオフにし、信号ＲＰ０によりｎＭＯＳトランジスタＴｗ０〜Ｔｗ１２７をオフにして、センスアンプ＆書込回路ＳＡＰ０〜ＳＡＰ１２７のセンスアンプＳＡＡでメインアレイ２のメモリセルＭＳを読み出す。つまり、この第２実施形態では、メインアレイ２の読み出し時と第１リファレンスセルＲＦＣ０〜ＲＦＣ１２７のしきい値設定時に同じセンスアンプＳＡＡを使用することから、上記読み出し時と上記しきい値設定時とで異なるセンスアンプを用いる場合に比べて、センスアンプ間のばらつきを吸収することができる。
【００８３】
（第３の実施形態）
次に、図５，図６を参照して、この発明の不揮発性半導体メモリ装置の第３実施形態を説明する。
【００８４】
前述の第１，第２実施形態は、不揮発性半導体メモリが２値フラッシュメモリである。一方、最近、ビットコスト低減のために、多値フラッシュメモリの検討が各所で進められている。例えば、４値フラッシュメモリの場合、１つのメモリセルのしきい値状態が図１５に示すように４状態となる。この場合、各しきい値状態を分離するためには、リファレンスセルが３つ必要となり、さらにリファレンスセルが増加することになる。
【００８５】
そこで、この第３実施形態では、本発明を多値フラッシュメモリに適用した場合について述べる。
【００８６】
図５に示すように、この第３実施形態におけるリファレンスセルのしきい値設定回路は、図３に示す第２実施形態のセンスアンプアレイ５５に替えてセンスアンプアレイ３５を備え、図３の第２リファレンスセルＳＲＣに替えて第２リファレンスセルアレイ３７を備える。
【００８７】
このセンスアンプアレイ３５は、図６に示すセンスアンプ＆書込回路ＳＡＰ００〜ＳＡＰ１２７２からなる。また、上記第２リファレンスセルアレイ３７は、第２リファレンスセルＳＲＣ００，ＳＲＣ０１，ＳＲＣ０２からなる。この３つの第２リファレンスセルＳＲＣ００，ＳＲＣ０１，ＳＲＣ０２は、それぞれ、ドレインがｎＭＯＳトランジスタＴｒｐ１，Ｔｒｐ２，Ｔｒｐ３を経由して外部パッドＰＡＤに接続されている。また、第２リファレンスセルＳＲＣ００，ＳＲＣ０１，ＳＲＣ０２のドレインは、ｎＭＯＳトランジスタＴｒｑ３，Ｔｒｑ２，Ｔｒｑ１を経由して、信号線ｒｓｅｎに接続されている。また、第２リファレンスセルＳＲＣ００，ＳＲＣ０１，ＳＲＣ０２のコントロールゲートは、ワード線ＷＬＳＲ０，ＷＬＳＲ１，ＷＬＳＲ２に接続されている。また、第２リファレンスセルＳＲＣ００〜ＳＲＣ０２のソースは、ソース電圧を供給する端子に接続されている。
【００８８】
また、図９に、図６におけるセンスアンプ回路＆書込回路ＳＡＰ００の構成を示す。このセンスアンプ回路＆書込回路ＳＡＰ００の構成は、前述の第２実施形態における図８のセンスアンプ回路＆書込回路ＳＡＰ０と同様の構成である。
【００８９】
また、この第３実施形態では、図６に示すように、１２８個のセンスアンプ回路＆書込回路ＳＡＰ００〜ＳＡＰ１２７０と、１２８個のセンスアンプ回路＆書込回路ＳＡＰ０１〜ＳＡＰ１２７１と、１２８個のセンスアンプ回路＆書込回路ＳＡＰ０２〜ＳＡＰ１２７２とを備える。つまり、この第３実施形態では、１２８×３個のセンスアンプ回路＆書込回路ＳＡＰ００〜ＳＡＰ１２７２を有する。
このセンスアンプ回路＆書込回路ＳＡＰ００〜ＳＡＰ１２７２が有するセンスアンプＳＡＡがしきい値比較手段をなす。また、センスアンプ回路＆書込回路ＳＡＰ００〜ＳＡＰ１２７２が有する書込回路ＷＣおよびプログラム制御回路１がしきい値設定手段をなす。
上記センスアンプ回路＆書込回路ＳＡＰ００，ＳＡＰ０１，ＳＡＰ０２〜ＳＡＰ１２７０，ＳＡＰ１２７１，ＳＡＰ１２７２は、それぞれ、信号線ｒｅｆ００，ｒｅｆ０１，ｒｅｆ０２〜ｒｅｆ１２７０，ｒｅｆ１２７１，ｒｅｆ１２７２とｎＭＯＳトランジスタＴｒ００，Ｔｒ０１，Ｔｒ０２〜Ｔｒ１２７０，Ｔｒ１２７１，Ｔｒ１２７２を経由して、第１リファレンスセルＲＦＣ００，ＲＦＣ０１，ＲＦＣ０２〜ＲＦＣ１２７０，ＲＦＣ１２７１，ＲＦＣ１２７２のドレインに接続されている。
【００９０】
次に、この第３実施形態の回路動作を説明する。最初に、３つの第２のリファレンスセルＳＲＣ００〜ＳＲＣ０２のしきい値設定方法について述べる。まず、第１リファレンスセルＲＦＣ００のしきい値の目標値は３．５Ｖなので、第２のリファレンスセルＳＲＣ００のしきい値を、３．４５Ｖ±０．０５Ｖの範囲に設定する。この場合のプログラム（書き込み）方法は、外部パッドＰＡＤからトランジスタＴｒｑ１を経由して第２リファレンスセルＳＲＣ００にドレイン電圧を入力し、第２リファレンスワード線ＷＬＳＲ０への印加電圧をリファレンスセルワード線電圧発生回路６から供給する。なお、上記ドレイン電圧は内部回路で発生させてもよい。また、ワード線ＷＬＳＲ０への印加電圧は外部パッドから入力してもよい。
【００９１】
この第２リファレンスセルＳＲＣ００への書き込みでは、第２リファレンスセルＳＲＣ００へプログラムパルス（例えば、コントロールゲート電圧が６Ｖ、ドレインが５Ｖ、パルス幅１μ秒）が１パルス入力される。
【００９２】
次に、この第２リファレンスセルＳＲＣ００のしきい値の読み出しについて説明する。図６に示す外部パッドＰＡＤから、トランジスタＴｒｐ１を経由して、第２リファレンスセルＳＲＣ００のドレインに接続されているビット線への電圧を入力する。また、第２リファレンスワード線ＷＬＳＲ０への電圧は、図示していない外部パッドから直接入力し、第２リファレンスセルＳＲＣ００に流れるセル電流を測定し、その電流からしきい値を測定する。
【００９３】
このしきい値測定の結果、第２リファレンスセルＳＲＣ００のしきい値が３．４Ｖ以下であると判断されれば、第２リファレンスセルＳＲＣ００に、さらにプログラムパルスを印加する。このしきい値測定とプログラムパルス印加動作は、第２リファレンスセルＳＲＣ００のしきい値が３．４Ｖ以上になるまで行なわれる。結果的に、第２のリファレンスセルＳＲＣ００のしきい値を３．４Ｖから３．５Ｖの範囲内に設定する。
【００９４】
同様に、他の２つの第２リファレンスセルＳＲＣ０１，ＳＲＣ０２のしきい値設定を行なう。この場合、第１のリファレンスセルＲＦＣ０１のしきい値の目標値が４．５Ｖ、第１のリファレンスセルＲＦＣ０２のしきい値の目標値が５．５Ｖであるので、第２のリファレンスセルＳＲＣ０１，ＳＲＣ０２のしきい値は、それぞれ、４．４５Ｖ±０．０５Ｖ、５．４５Ｖ±０．０５Ｖの範囲に設定する。
【００９５】
この第２リファレンスセルＳＲＣ０１，ＳＲＣ０２のプログラム方法は、第１リファレンスセルＲＦＣ００のものと同様である。ただし、しきい値書込み時のコントロールゲート電圧は、第２リファレンスセルＲＦＣ００のものより高く、第２リファレンスセルＲＦＣ０１のコントロールゲート電圧は６．５Ｖ、第２リファレンスセルＲＦＣ０２のコントロールゲート電圧は７．５Ｖである。
【００９６】
次に、メインアレイ２の読み出し時に用いる第１リファレンスセルＲＦＣ００〜ＲＦＣ１２７２のしきい値設定について述べる。
【００９７】
図６に示すように、３つの第１リファレンスセルＲＦＣ００，ＲＦＣ０１，ＲＦＣ０２を１組目として、１２８組目の３つの第１リファレンスセルＲＦＣ１２７０，ＲＦＣ１２７１，ＲＦＣ１２７２まで、全部で１２８×３個の第１リファレンスセルがある。この第１リファレンスセルのしきい値の設定は、書込みとベリファイを交互に行なうことで行う。
【００９８】
すなわち、最初に、設定するしきい値が同じである、第１リファレンスセルＲＦＣ００，ＲＦＣ１０，ＲＦＣ２０，ＲＦＣ３０，…，ＲＦＣ１２５０，ＲＦＣ１２６０，ＲＦＣ１２７０までの１２８個の第１リファレンスセルに対してしきい値設定を行なう。このように、設定するしきい値の同じ第１リファレンスセルに対して、まず、書込みを行なう理由は、調整するしきい値によって、第１リファレンスセルのコントロールゲートに印加するワード線電圧を変える必要があるからである。
【００９９】
上記センスアンプ回路＆書込回路ＳＡＰ００において、プログラム制御回路１にプログラム動作開始の信号が入力されると、プログラム制御回路１から書込み回路ＷＣに書込み信号としてＬ（Ｌｏｗ）レベルが出力される。そして、図９に示すデータオン信号ＤａｔａｏｎがＨレベルとなると、ラッチ回路ＬＣにはＬレベル信号がラッチされる。そして、信号ｈｈｖｐは高電圧（例えば１０Ｖ）となり、レベルシフターＨＶの出力信号ｈｖｏｎが１０Ｖとなる。信号ＰＧＶは、プログラム電圧（例えば５Ｖ）となり、ＰＧｒｓｔａｒｔ信号がＨレベル（例えば１０Ｖ）となることで、ｎＭＯＳトランジスタＴｒＺがオンし、信号線ｒｅｆ００には５Ｖの電圧が出力される。
【０１００】
さらに、図６の信号ＲＣ００がＨレベル（例えば１０Ｖ）となり、ｎＭＯＳトランジスタＴｖ００がオンして、第１リファレンスセルＲＦＣ００のドレインに信号線ｒｅｆ００から５Ｖの電圧が出力する。一方、リファレンスワード線ＷＬＲには、通常のプログラム時の電圧より低い電圧、例えば、５．５Ｖ程度が印加される。これにより、第１リファレンスセルＲＦＣ００へのプログラムが開始され、第１リファレンスセルＲＦＣ００のしきい値が上昇する。このプログラム時のプログラムパルス幅は１μ秒程度とした。
なお、このプログラムパルスの１パルス入力によって、第１リファレンスセルＲＦＣ００のしきい値が増加する増分が書き込みの分解能であり、上記第２のリファレンスセルＳＲＣ００のしきい値を上記第１のリファレンスセルＲＦＣ００のしきい値の目標値よりも上記書き込みの分解能分だけ低く設定することで、上記書き込みの分解能の精度でもって、上記第１のリファレンスセルＲＦＣ００のしきい値を目標値に設定できる。
【０１０１】
また、この書込み（プログラム）動作は、例えば、８つのセンスアンプ＆書込回路ＳＡＰ００〜ＳＡＰ７０により、８つの第１リファレンスセルＲＦＣ００〜リファレンスセルＲＦＣ７０に対して、同時に行なうことが可能であり、第２実施形態と同様の並列書込み動作が可能である。
【０１０２】
次に、プログラム制御回路１は、ベリファイ動作の命令を出力する。これにより、ベリファイ動作が開始される。このベリファイ動作では、先に、しきい値調整を行った第２のリファレンスセルＳＲＣ００〜ＳＲＣ０２とセンスアンプ＆書込回路ＳＡＰ００〜ＳＡＰ１２７２のセンスアンプＳＡＡを用いてしきい値比較が行われる。
【０１０３】
このしきい値比較では、第２リファレンスセルＳＲＣ００のドレインから、トランジスタＴｒｑ３，信号線ｒｓｅｎ０，トランジスタＴｗ００，信号線ｓｅｎ０を経由して、図９のセンスアンプＳＡＡの反転入力端子に電圧が入力される。また、第１リファレンスセルＲＦＣ００のドレインから、トランジスタＴｒ００，信号線ｒｅｆ００を経由して、上記センスアンプＳＡＡの非反転入力端子に電圧が入力される。
【０１０４】
上記しきい値比較の結果、第１リファレンスセルＲＦＣ００のしきい値が第２のリファレンスセルＳＲＣ００よりも低い場合には、上記センスアンプＳＡＡの非反転入力端子に入力される電圧が上記反転入力端子に入力される電圧よりも低くなる。この場合、このセンスアンプＳＡＡからの出力信号を受けたプログラム制御回路１は、第２のリファレンスセルＳＲＣ００のしきい値よりも、第１のリファレンスセルＲＦＣ００のしきい値が低いと判断して、この第１のリファレンスセルＳＲＣ００に、再度、プログラムパルスが１パルスだけ印加される。なお、上記では、８つの第１リファレンスセルＲＦＣ００，ＲＦＣ１０，ＲＦＣ２０，ＲＦＣ３０，ＲＦＣ４０，ＲＦＣ５０，ＲＦＣ６０，ＲＦＣ７０のうちのＲＦＣ００のしきい値が第２のリファレンスセルＳＲＣ００のしきい値よりも低い場合を述べたが、８つの第１リファレンスセルＲＦＣ００〜ＲＦＣ７０のうち、第２のリファレンスセルＳＲＣ００のしきい値よりも低い第１リファレンスセルのみに、再度、プログラムパルスが１パルスだけ印加されることになる。
【０１０５】
上記しきい値比較とプログラムパルスの印加を繰り返し、最終的に、上記８つの第１リファレンスセルＲＦＣ００〜ＲＦＣ７０の全てが、第２リファレンスセルＳＲＣ００に比べて、しきい値が高くなった（つまり、第２のリファレンスセルより電流が流れない）と、プログラム制御回路１が判断した場合、プログラム制御回路１によって、プログラムパルス印加が終了される。
【０１０６】
一連のこれらの動作は、コマンドが１度発行されると、しきい値が所定のしきい値以上となるまで、内部のプログラム制御回路１を用いて自動的に行われる。
【０１０７】
続けて、第１リファレンスセルＲＦＣ８０〜第１リファレンスセルＲＦＣ１５０、……　第１リファレンスセルＲＦＣ１２００〜第１リファレンスセルＲＦＣ１２７０の順に、設定するしきい値レベルが同一の第２リファレンスセルに対して、８つずつ、しきい値調整を行う。
【０１０８】
さらに、上記１２８個の第１リファレンスセルＲＦＣ００〜１２７０よりも、設定するしきい値レベルの高い１２８個の第１リファレンスセルＲＦＣ０１〜リファレンスセルＲＦＣ１２７１に対して、上述と同じ要領で、しきい値調整を行なう。この場合、書込みスピードを調整するため、書込み時のワード線ＷＬＲに印加する電圧を６．５Ｖとする。
【０１０９】
つづけて、さらに、設定するしきい値レベルの高い１２８個の第１リファレンスセルＲＦＣ０２〜リファレンスセルＲＦＣ１２７２に対して、上述と同じ要領で、しきい値調整を行なう。この場合、書込みスピードを調整するため、書込み時のワード線ＷＬＲに印加する電圧を７．５Ｖとする。
【０１１０】
この第３実施形態では、１つの第１リファレンスセルのしきい値設定において、プログラムパルス回数を１００回として、プログラムパルス印加の動作（セットアップ動作等込み）に、１０μ秒を要し、ベリファイ時間に、２μ秒を要するとすると、１つの第１リファレンスセルのしきい値調整動作に要する時間Ｔは、次式（５）で算出されるように、１．２ｍ秒程度となる。
【０１１１】
Ｔ＝（（１２）μ秒×１００）＝１．２ｍ秒　　　　　　　　……（５）
また、１つの第１リファレンスセルを調整するために、最初に、コマンドが１度発行される。これに必要な時間を、１μ秒とすると、第１リファレンスセル数が全部で１２８×３個であることと、８個の第１リファレンスセルに同時に書き込み動作が可能なことから、しきい値調整に要する合計時間ＴＴは、次式（６）で算出されるように、０．１１７秒となる。
【０１１２】
ＴＴ＝１．２０１ｍ秒×１２８×３／８＝０．１１７秒　　……（６）
このように、この第３実施形態によれば、約０．１秒という現実的なテスト時間で、多値用のリファレンスセルのしきい値調整の実現が可能となる。
【０１１３】
尚、上記第３実施形態では、不揮発性半導体メモリ装置としての４値フラッシュメモリについて説明したが、４値フラッシュメモリに限らずフローティングゲートに３値以上の電荷状態が形成される不揮発性半導体メモリ装置にこの発明を適用できる。また、上記第１〜第３実施形態では、しきい値比較をセンスアンプで行ったが、センスアンプに替えて、第１のリファレンスセルのしきい値と第２のリファレンスセルのしきい値を比較可能な電圧比較回路を採用してもよい。
【０１１４】
【発明の効果】
以上より明らかなように、この発明の不揮発性半導体メモリ装置によれば、しきい値比較手段が、第１のリファレンスセルのしきい値と第２のリファレンスセルのしきい値とを比較し、このしきい値比較結果に基いて、しきい値設定手段が、第１のリファレンスセルのしきい値を設定する。上記しきい値比較は、上記第１のリファレンスセルのしきい値読み出し動作に比べて、短い時間で行える。したがって、上記第１のリファレンスセルの個数が増加した場合に、上記第１のリファレンスセルを読み出して上記第１のリファレンスセルのしきい値を調整する従来例に比べて、しきい値調整時間を大幅に低減できる。
【図面の簡単な説明】
【図１】この発明の不揮発性半導体メモリ装置の第１実施形態におけるリファレンスセルのしきい値設定回路の構成を示すブロック図である。
【図２】上記第１実施形態におけるセンス系の回路を含むリファレンスセルのしきい値設定回路の構成図である。
【図３】この発明の第２実施形態におけるリファレンスセルのしきい値設定回路の構成を示すブロック図である。
【図４】この発明の第２実施形態におけるセンス系の回路を含むリファレンスセルのしきい値設定回路の構成図である。
【図５】この発明の第３実施形態におけるリファレンスセルのしきい値設定回路の構成を示すブロック図である。
【図６】上記第３実施形態におけるセンス系の回路を含むリファレンスセルのしきい値設定回路の構成図である。
【図７】上記第１実施形態における書込み回路の回路図である。
【図８】上記第２実施形態におけるセンスアンプ＆書込み回路の回路図である。
【図９】上記第３実施形態におけるセンスアンプ＆書込み回路の回路図である。
【図１０】従来技術におけるリファレンスセルのしきい値設定回路の構成を示すブロック図である。
【図１１】従来におけるセンスアンプ回路の構成を示す回路図である。
【図１２】従来技術におけるセンス系の回路を含むリファレンスセルのしきい値設定回路の構成図である。
【図１３】フラッシュメモリの断面構造を示す図である。
【図１４】２値フラッシュメモリのフローティングゲートの電荷状態を示す図である。
【図１５】４値フラッシュメモリのフローティングゲートの電荷状態を示す図である。
【符号の説明】
１…プログラム制御回路、２…メインアレイ、
３…第１リファレンスセルアレイ、
５，３５，５５…センスアンプアレイ、３７…第２リファレンスセルアレイ、
６…リファレンスセルワード線電圧発生回路、
ＳＲＣ…第２リファレンスセル、８…トリム用センスアンプ、
９…出力バッファ回路、
ＷＣ…書込回路、ＷＬＲ…第１リファレンスセルワード線、
ＷＬＳＲ…第２リファレンスセルワード線、
ＳＲＣ，ＳＲＣ００〜ＳＲＣ０２…第２リファレンスセル、
ＲＦＣ０〜ＲＦＣ１２７…第１リファレンスセル、
ＲＦＣ００〜ＲＦＣ１２７２…第１リファレンスセル、
ＳＡ０〜ＳＡ１２７…センスアンプ、
ＳＡＰ０〜ＳＡＰ１２７…センスアンプ＆書込回路、
ＳＡＰ００〜ＳＡＰ１２７２…センスアンプ＆書込回路。
【図１】
2004039075.tif 000004
【図２】
2004039075.tif 000005
【図３】
2004039075.tif 000006
【図４】
2004039075.tif 000007
【図５】
2004039075.tif 000008
【図６】
2004039075.tif 000009
【図７】
2004039075.tif 000010
【図８】
2004039075.tif 000011
【図９】
2004039075.tif 000012
【図１０】
2004039075.tif 000013
【図１１】
2004039075.tif 000014
【図１２】
2004039075.tif 000015
【図１３】
2004039075.tif 000016
【図１４】
2004039075.tif 000017
【図１５】
2004039075.tif 000018