(57)【要約】【課題】電源ノイズ及びその他のノイズの影響により判定電流又は判定電圧が変動しても、パス／フェイルの判定を正確に行うことができる不揮発性半導体メモリ及びその動作方法を提供する。【解決手段】メモリセルから第１の判定条件でデータを読み出してパス／フェイルを判定し、フェイルと判定した場合には当該メモリセルに信号を印加してメモリセルの蓄積電荷量を変化させる第１の判定処理と、メモリセルから前記第１の判定条件よりも緩和された第２の判定条件でデータを読み出してパス／フェイルを判定する第２の判定処理とを実行し、前記第２の判定処理でフェイルと判定したときには前記第１の判定処理から処理を繰り返す。【選択図】　図１１
2004054966.tif 000002
【特許請求の範囲】
【請求項１】
データに応じた電荷を蓄積する不揮発性メモリセルと、
前記メモリセルを駆動するメモリセル駆動部とを有し、
前記メモリセル駆動部は、第１の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定し、フェイルと判定したメモリセルには信号を印加して前記メモリセルの蓄積電荷量を変化させる第１の判定処理と、前記第１の判定条件よりも緩和された第２の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定する第２の判定処理とを実行することを特徴とする不揮発性半導体メモリ。
【請求項２】
書き込みベリファイ時における前記第１の判定処理では前記第２の判定処理で用いる基準電流よりも小さい電流を基準電流としてパス／フェイルを判定し、消去ベリファイ時における前記第１の判定処理では前記第２の判定処理で用いる基準電流よりも大きい電流を基準電流としてパス／フェイルを判定することを特徴とする請求項１に記載の不揮発性半導体メモリ。
【請求項３】
書き込みベリファイ時における前記第１の判定処理では前記第２の判定処理に用いるリファレンスセルよりもしきい値が高いリファレンスセルを用いてパス／フェイルを判定し、消去ベリファイ時における前記第１の判定処理では前記第２の判定処理に用いるリファレンスセルよりもしきい値が低いリファレンスセルを用いてパス／フェイルを判定することを特徴とする請求項１に記載の不揮発性半導体メモリ。
【請求項４】
不揮発性メモリセルのデータを検証しながら前記メモリセルへのデータの書き込み又はデータの消去を行う不揮発性半導体メモリの動作方法において、
前記メモリセルから第１の判定条件でデータを読み出してパス／フェイルを判定し、フェイルと判定した場合には当該メモリセルに信号を印加してメモリセルの蓄積電荷量を変化させる第１の判定処理と、
前記メモリセルから前記第１の判定条件よりも緩和された第２の判定条件でデータを読み出してパス／フェイルを判定する第２の判定処理とを有し、
前記第２の判定処理でフェイルと判定したときには前記第１の判定処理から繰り返すことを特徴とする不揮発性半導体メモリの動作方法。
【請求項５】
アドレスカウンタにスタートアドレスを設定する第１のステップと、
前記アドレスカウンタに設定されたアドレスのメモリセルから第１の書き込み判定条件でデータを読み出してパス／フェイルを判定する第２のステップと、
前記第２のステップでフェイルと判定したときに前記メモリセルに書き込みパルスを印加する第３のステップと、
前記第２のステップでパスと判定したとき、又は前記第３のステップを終了したときに、前記アドレスカウンタに設定されたアドレスが終了アドレスか否かを判定する第４のステップと、
前記第４のステップで否と判定したときには前記アドレスカウンタの値を変更し、その後前記第２のステップに移行する第５のステップと、
前記第４のステップで諾と判定したときに、前記アドレスカウンタにスタートアドレスを設定する第６のステップと、
前記アドレスカウンタに設定されたアドレスのメモリセルから前記第１の書き込み判定条件よりも緩和された第２の書き込み判定条件でデータを読み出してパス／フェイルを判定する第７のステップと、
前記アドレスカウンタに設定されたアドレスが最終アドレスか否かを判定する第８のステップと、
前記第８のステップで否と判定したときに前記アドレスカウンタの値を変更し、その後前記第７のステップに移行する第９のステップと、
前記第８のステップで諾と判定したときに移行し、前記第７のステップでフェイルと判定したときには前記第１のステップに処理を戻す第１０のステップと
を有することを特徴とする不揮発性半導体メモリの動作方法。
【請求項６】
前記第７のステップでフェイルと判定すると、処理を前記第１のステップに直接戻すことを特徴とする請求項５に記載の不揮発性半導体メモリの動作方法。
【請求項７】
アドレスカウンタにスタートアドレスを設定する第１のステップと、
前記アドレスカウンタに設定されたアドレスのメモリセルから第１の消去判定条件でデータを読み出してパス／フェイルを判定する第２のステップと、
前記アドレスカウンタに設定されたアドレスが終了アドレスか否かを判定する第３のステップと、
前記第３のステップで否と判定したときには前記アドレスカウンタの値を変更し、その後前記第２のステップに移行する第４のステップと、
前記第３のステップで諾と判定したときに移行し、前記第２のステップでフェイルと判定したメモリセルがあるときは前記スタートアドレスから前記終了アドレスまでのメモリセルに一括して消去パルスを印加する第５のステップと、
前記アドレスカウンタにスタートアドレスを設定する第６のステップと、
前記アドレスカウンタに設定されたアドレスのメモリセルから前記第１の消去判定条件よりも緩和された第２の消去判定条件でデータを読み出してパス／フェイルを判定する第７のステップと、
前記アドレスカウンタに設定されたアドレスが最終アドレスか否かを判定する第８のステップと、
前記第８のステップで否と判定したときに前記アドレスカウンタの値を変更し、その後前記第７のステップに移行する第９のステップと、
前記第８のステップで諾と判定したときに移行し、前記第７のステップでフェイルと判定したメモリセルがあるときには前記第１のステップに処理を戻す第１０のステップと
を有することを特徴とする不揮発性半導体メモリの動作方法。
【請求項８】
前記第２のステップでフェイルと判定すると前記第５のステップに直接移行して、前記スタートアドレスから前記終了アドレスまでのメモリセルに一括して消去パルスを印加することを特徴とする請求項７に記載の不揮発性半導体メモリの動作方法。
【請求項９】
前記第７のステップでフェイルと判定すると処理を前記第１のステップに直接戻すことを特徴とする請求項７に記載の不揮発性半導体メモリの動作方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ　）やフラッシュメモリ（一括的に電気的消去可能なＥＥＰＲＯＭ）などの不揮発性半導体メモリ及びその動作方法に関し、電源ノイズやその他の原因により判定電流又は判定電圧が変動しても安定した書き込みベリファイ及び消去ベリファイを保証できる不揮発性半導体メモリ及びその動作方法に関する。
【０００２】
【従来の技術】
近年、電子機器の多機能化及び小型化が促進されており、それに伴って半導体集積回路のより一層の微細化が要求されている。ＥＥＰＲＯＭやフラッシュメモリ等の不揮発性半導体メモリでは、メモリセルの微細化だけでなく、より小さなしきい値電圧の変化を安定して検出することが必要となる。
【０００３】
一方、メモリセルの寸法をシュリンク（縮小）しなくても実質的なセル面積を小さくできる多値化に対応したメモリ（以下、多値化メモリという）も開発されている。通常の半導体メモリでは１つのメモリセルに“０”又は“１”の２つの状態しか記憶できないのに対し、多値化メモリでは、１つのメモリセルに３以上の状態を記憶する。但し、多値化メモリでは、記憶するデータに応じてしきい値電圧を厳密にコントロールすることが必要になる。今後は、電子機器の高機能化及び小型化に対応するために、多値化メモリが積極的に使用されるものと考えられる。
【０００４】
従来の不揮発性半導体メモリでは、薄い絶縁膜を挟んでフローティングゲート及びコントロールゲートの２つのゲート電極が形成された二重ゲート構造のフローティングゲート型メモリが一般的であった。フローティングゲート型メモリについては、例えば特開２０００−１７４２３５号に記載されている。
【０００５】
しかし、近年、二重ゲート構造の複雑な製造プロセスが微細化の障害として顕著になってきた。そのため、ゲート電極が１つの単ゲート型不揮発性半導体メモリが注目されている。単ゲート型不揮発性半導体メモリでは、半導体基板とゲート電極との間のゲート絶縁膜に電荷を蓄積可能な材料を使用し、ゲート絶縁膜に蓄積された電荷によりしきい値電圧が変化することを利用してデータを記憶する。
【０００６】
このような単ゲート型不揮発性半導体メモリの１つにＳＯＮＯＳ（Ｓｉｌｉｃｏｎ　Ｏｘｉｄｅ　Ｎｉｔｒｉｄｅ　Ｏｘｉｄｅ　Ｓｉｌｉｃｏｎ　）型メモリがある。ＳＯＮＯＳ型メモリについては、例えば特開２００１−３２５７９３号に記載されている。
【０００７】
ＳＯＮＯＳ型メモリではゲート絶縁膜として、例えばシリコン窒化膜（ＳｉＮ）を上下からシリコン酸化膜（ＳｉＯ）で挟んだ積層構造の絶縁膜を使用する。シリコン窒化膜に電荷を出し入れすることで、データの記憶及び消去を行う。
【０００８】
ＳＯＮＯＳ型メモリでは、フローティングゲート型メモリに比べて電荷の捕獲量が少ないため、しきい値電圧のシフト量が小さい。また、ＳＯＮＯＳ型メモリでは書き込み効率が悪いため、フローティングゲート型メモリよりも書き込み速度が遅くなる。従って、ＳＯＮＯＳ型メモリのような単ゲート型不揮発性メモリでは、書き込み及び消去の際に、微小なしきい値電圧の変化を検出することが重要である。
【０００９】
【発明が解決しようとする課題】
このように、近年の不揮発性半導体メモリの動向を見ると、より微小なしきい値電圧の変化量を検出することが重要になってきている。しかしながら、しきい値電圧の変化量が小さいと、書き込みや消去が十分になされたかという検証動作（ベリファイ）において、パス又はフェイルを正確に判定できなくなるという問題が発生する。
【００１０】
つまり、半導体メモリでは、電源ノイズ及びその他の外部からのノイズの影響により、判定基準となる電流又はメモリセルからの電流が経時的に変動しており、これらのノイズの影響による電流変動幅に対応する電圧がしきい値電圧の変化量に匹敵してしまうことがある。これにより、一度はパスと判定されたメモリセルが次のベリファイの際にフェイルと判定されることがあり、書き込み又は消去の動作（ループ）を再度実行しなければならなくなる。しかし、２度目のベリファイ動作でもパスと判定されたメモリセルがあれば、更に書き込み又は消去の動作（ループ）を実行することになる。このように、従来の不揮発性半導体メモリでは、電源ノイズ及びその他のノイズの影響によりパス／フェイルの判定が不確実になり、ベリファイ動作を何度も実行する可能性がある。
【００１１】
図１は、ベリファイの概念を示す図である。ノイズの影響により、基準電流Ｉが±ΔＩだけ変動するものとする。メモリセルの電流Ｉｄ　がＩ＋ΔＩ以上の場合は、ノイズの影響にかかわらずフェイルと判定され、再度の書き込みが必要となる。メモリセルの電流Ｉｄ　がＩ−ΔＩ以下の場合は、ノイズの影響にかかわらずパスと判定され、再度の書き込みは不要である。しかし、メモリセルの電流Ｉｄ　がＩ−ΔＩ＜Ｉｄ　＜Ｉ＋ΔＩの場合は、ノイズの影響によりパス／フェイルの判定が不確実になる。従って、最初のベリファイでパスと判定されたセルが次のベリファイでフェイルと判定されることもある。
【００１２】
実際のメモリでは、図２の概念図に示すように、書き込み判定レベル、通常動作時の記憶情報判定レベル及び消去判定レベルの３種類の判定レベルがあり、それぞれの判定レベルに判定が不確実になる不感帯（図中破線で示す帯）が存在する。
【００１３】
図３は、従来の不揮発性半導体メモリにおける書き込みベリファイの動作を示すフローチャートである。
【００１４】
まず、ステップＳ１１において、フェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ１２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ１３ではそのスタートアドレスのメモリセルからデータを読み出す。
【００１５】
次に、ステップＳ１４に移行し、データの書き込みが必要なメモリセルか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータを判定基準と比較してフェイルか否かを判定する。データの書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）はステップＳ１５に移行する。一方、データの書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ１７に移行する。
【００１６】
ステップＳ１５では、当該アドレスのメモリセルに書き込みパルスを印加する。その後、ステップＳ１６に移行し、フェイルカウント数に１を加えた後、ステップＳ１７に移行する。
【００１７】
ステップＳ１７では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでないときはステップＳ１８に移行して、アドレスカウンタに次のアドレスを設定する。その後、ステップＳ１３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００１８】
このようにして、スタートアドレスのメモリセルから終了アドレスのメモリセルまで順番にデータを読み出し、データの書き込みが必要なメモリセルか否か、必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。そして、フェイルと判定したメモリセルには書き込みパルスを印加して、メモリセルに蓄積されている電荷量を変化させる。
【００１９】
その後、ステップＳ１７からステップＳ１９に移行してフェイルカウント数が０か否かを判定し、０でない場合はステップＳ１１に戻って、上記の処理を繰り返す。ステップＳ１９でフェイルカウント数が０の場合は、ベリファイを終了する。
【００２０】
図４は、従来の不揮発性半導体メモリにおける消去ベリファイの動作を示すフローチャートである。
【００２１】
まず、ステップＳ２１において、フェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ２２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ２３ではそのスタートアドレスのメモリセルからデータを読み出す。
【００２２】
次に、ステップＳ２４に移行し、読み出したデータと判定基準とを比較して、フェイルか否かを判定する。フェイルの場合（Ｙｅｓ）はステップＳ２５に移行し、パスの場合（Ｎｏ）はステップＳ２６に移行する。
【００２３】
ステップＳ２５ではフェイルカウント数に１を加える。その後、ステップＳ２６に移行する。
【００２４】
ステップＳ２６では、アドレスカウンタに設定されているアドレスが終了アドレスか否かを判定する。終了アドレスでないときはステップＳ２７に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ２３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００２５】
このようにして、スタートアドレスのメモリセルから終了アドレスのメモリセルまで順番にデータを読み出してフェイルか否かの判定を行い、フェイルを検出するたびにフェイルカウント数をアップする。
【００２６】
その後、ステップＳ２６からステップＳ２８に移行して、フェイルカウント数が０か否かを判定する。フェイルカウント数が０でない場合は、ステップＳ２９に移行し、スタートアドレスから終了アドレスまでのメモリセルに対し一括して消去パルスを印加する。その後、ステップＳ２１に戻って、上記の処理を繰り返す。なお、消去ベリファイでは、図４中に破線矢印で示すように、ステップＳ２４でフェイルを検出した場合にステップＳ２９に直接移行するようにしたものもある。
【００２７】
これらの図３，図４に示すように、従来の不揮発性半導体メモリでは、ベリファイ時にフェイルが発生すると、フェイルがなくなるまで書き込みパルス又は消去パルスの印加を繰り返す。前述したように、従来の不揮発性半導体メモリでは、ノイズ等の影響によりパスと判定されたメモリセルが次のベリファイ時にフェイルに判定されることがあるので、信頼性が十分であるとはいえない。また、フェイルがなくなるまで処理ループ（ステップＳ１１〜ステップＳ１９又はステップＳ２１〜ステップＳ２９までの処理）を何度も繰り返し、ベリファイが完了するまでに長時間かかってしまう。
【００２８】
以上から、本発明の目的は、電源ノイズ及びその他のノイズの影響により判定電流又は判定電圧が変動しても、パス／フェイルの判定を正確に行うことができる不揮発性半導体メモリ及びその動作方法を提供することである。
【００２９】
【課題を解決するための手段】
本発明の不揮発性半導体メモリは、データに応じた電荷を蓄積する不揮発性メモリセルと、前記メモリセルを駆動するメモリセル駆動部とを有し、前記メモリセル駆動部は、第１の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定し、フェイルと判定したメモリセルには信号を印加して前記メモリセルの蓄積電荷量を変化させる第１の判定処理と、前記第１の判定条件よりも緩和された第２の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定する第２の判定処理とを実行することを特徴とする。
【００３０】
本発明の不揮発性半導体メモリの動作方法は、不揮発性メモリセルのデータを検証しながら前記メモリセルへのデータの書き込み又はデータの消去を行う不揮発性半導体メモリの動作方法において、前記メモリセルから第１の判定条件でデータを読み出してパス／フェイルを判定し、フェイルと判定した場合には当該メモリセルに信号を印加してメモリセルの蓄積電荷量を変化させる第１の判定処理と、前記メモリセルから前記第１の判定条件よりも緩和された第２の判定条件でデータを読み出してパス／フェイルを判定する第２の判定処理とを有し、前記第２の判定処理でフェイルと判定したときには前記第１の判定処理から繰り返すことを特徴とする。
【００３１】
従来は、メモリセルのパス／フェイルの判定と、書き込みが必要か否かの判定とを、同一の判定条件で行っていた。そのため、電源ノイズ等により電圧が変動するとパス／フェイルの判定が不確実になり、前述したように処理ループを何度も繰り返すという問題点が発生する。
【００３２】
そこで、本発明においては、メモリセルのパス／フェイルの判定と、書き込み又は消去が必要か否かの判定を、別の判定条件で行う。例えば、データの書き込みの際には、まず、比較的厳しい第１の判定条件で書き込みが必要か否かを判定する第１の判定処理を実行し、書き込みが必要なメモリセルに対しては書き込み処理を行ってメモリセルに蓄積されている蓄積電荷量を変化させる。これにより、パス／フェイルの判定が不確実になる可能性のあるメモリセルには、より多くの電荷が注入されて、データが補強される。
【００３３】
その後、第２の判定条件でメモリセルのパス／フェイルを判定する第２の判定処理を実行する。第１の判定処理において、パス／フェイルの判定が不確実になる可能性のあったメモリセルには電荷が注入されてデータが補強されている。また、第２の判定処理では、第１の判定条件よりも緩和された第２の判定条件でパス／フェイルを判定する。従って、第２の判定処理ではメモリセルのデータがフェイルとなる可能性は極めて少ない。
【００３４】
このように、メモリセルのパス／フェイルの判定と、書き込み又は消去が必要か否かの判定を別の判定条件で行うことにより、ノイズ等に拘わらずパス／フェイルの判定が正確になり、データの検証（ベリファイ）処理の実行時間を従来に比べて大幅に短縮することができる。
【００３５】
【発明の実施の形態】
以下、本発明の実施の形態について、添付の図面を参照して説明する。
【００３６】
（第１の実施の形態）
図５は本発明の第１の実施の形態に係るＳＯＮＯＳ型不揮発性半導体メモリのメモリセル形成部を示す平面図、図６（ａ）は図５のＩ−Ｉ線による断面図、図６（ｂ）は図５のＩＩ−ＩＩ線による断面図、図６（ｃ）は図５のＩＩＩ　−ＩＩＩ　線による断面図である。
【００３７】
ｐ型シリコン基板１０の表面には活性領域を確定する局所絶縁膜１１が形成されている。この局所絶縁膜１１は、図６（ａ）の紙面に垂直な方向に延在している。シリコン基板１０の活性領域上には、積層ゲート絶縁膜１５が形成されている。この積層ゲート絶縁膜１５は、基板１０側から順番に、シリコン酸化膜１２、シリコン窒化膜１３及びシリコン酸化膜１４が積層された３層構造を有する。シリコン窒化膜１３にはデータに応じた電荷が蓄積される。
【００３８】
シリコン酸化膜１１の下には、シリコン基板１０にＡｓ（ヒ素）を導入して形成された不純物領域からなるビットライン１が配置されている。局所絶縁膜１１及び積層ゲート絶縁膜１５の上には、図６（ａ）の横方向に延在するワードライン２が形成されている。このワードライン２は、例えば多結晶シリコン層とタングステンシリサイド（ＷＳｉ）層との積層構造を有する。
【００３９】
ビットライン１とワードライン２とは、その交差個所において、局所絶縁膜１１により相互に絶縁されている。相互に隣り合う一対のビットライン１の間と１本のワードライン２との交差個所に、一対のビットライン１をそれぞれソース及びドレインとし、ワードライン２をゲート電極とするＦＥＴ（メモリセル）３が形成される。
【００４０】
ビットライン１の延在する方向に隣り合う２つのＦＥＴ３のチャネル領域の間には、シリコン基板１０にｐ型不純物を導入して形成されたチャネルストッパ領域４が配置されている。
【００４１】
図７は、ＳＯＮＯＳ型不揮発性半導体メモリの回路構成を示すブロック図である。１つのメモリセルを構成するＦＥＴ３のソース及びドレインが、それぞれ隣り合う２本のビットライン１に接続され、ゲート電極がワードライン２に接続されている。
【００４２】
複数のメモリセルが行列状に配置されてメモリセルアレイを構成する。メモリセルにはそれぞれ固有のアドレスが割り当てられており、アドレス情報により１つのメモリセルが特定される。メモリセルアレイは、複数のブロックに分割されており、メモリセルの各々はいずれかのブロックに属する。
【００４３】
ビットライン１がセンスアンプ部２６に接続され、ワードライン２がワードラインドライバ２７に接続されている。制御回路２０がセンスアンプ部２６及びワードラインドライバ２７を制御する。ここでは、ビットライン１を、図７の左から順番にＢＬ１，ＢＬ２，ＢＬ３，ＢＬ４…で表し、ワードライン２を、図７の上から順番にＷＬ１，ＷＬ２，ＷＬ３，ＷＬ４…で表わす。
【００４４】
制御回路２０はアドレスカウンタ（図示せず）を有する。アドレスカウンタに設定されたアドレスで特定されるメモリセルに接続されたビットライン及びワードラインを選択することにより、所望のメモリセルにアクセスすることができる。
【００４５】
制御回路２０は、外部のＣＰＵ３０によって制御される。ＣＰＵ３０に、ＲＡＭ３１が接続されている。ＲＡＭ３１は、メモリセルに書き込むべきデータを一時的に記憶する。
【００４６】
（判定回路）
図８は、本実施の形態の不揮発性半導体メモリのセンスアンプ部２６内に設けられたパス／フェイル判定回路の構成を示す回路図である。
【００４７】
基準電流発生回路４０は、制御回路２０からの信号に応じて所定の基準電流Ｉｒｅｆ　を発生する。この基準電流発生回路４０と接地との間には抵抗値がＲ０　の抵抗４３が接続されている。基準電流発生回路４０から抵抗４３に基準電流Ｉｒｅｆ　が供給されると、抵抗４３の基準電流発生回路４０側の接続点Ｎ１に基準電圧（Ｒ０　×Ｉｒｅｆ　）が発生する。
【００４８】
また、メモリセルのソース側及びドレイン側のビット線には、それぞれ選択ゲート（ＭＯＳＦＥＴ）４１，４２が接続されている。これらの選択ゲート４１，４２は、制御回路２０からの信号に応じてオン／オフする。選択ゲート４２と接地との間には、抵抗値がＲ０　の抵抗４４が接続されている。
【００４９】
例えば、メモリセル３に対し書き込まれたデータを検証（ベリファイ）するときには、センスアンプ部２６内のワード線制御回路（図示せず）からメモリセル３のゲート（ワード線）に所定の電圧Ｖｗｒが供給され、センスアンプ部２６のビット線制御回路（図示せず）から選択ゲート４１を介してメモリセル３のドレインに所定の電圧Ｖｂｒが供給される。これにより、メモリセル３には、ゲート絶縁膜に蓄積された電荷量（データ）に応じた電流（セル電流）Ｉｃｏｒｅが流れ、抵抗４４の選択ゲート４２側の接続点Ｎ２にセル電圧（Ｒ０　×Ｉｃｏｒｅ）が発生する。
【００５０】
センスアンプ４５は基準電圧とセル電圧とを比較してパス／フェイルを判定する。そして、フェイルと判定した場合は“１”を出力し、パスと判定した場合は“０”を出力する。
【００５１】
以下、上述したＳＯＮＯＳ型不揮発性半導体メモリの動作について説明する。以下に説明する動作は、ＣＰＵ３０からの指示により制御回路２０が実行する。
【００５２】
（データ書き込み動作）
データ書き込みの動作は、選択したメモリセルのドレインに接続されたビット線１に書き込み電圧Ｖｄｐ（＝約６Ｖ）を印加し、ソースに接続されたビット線１に０Ｖを与え、ワード線２に電圧Ｖｗｐ（＝約１０Ｖ）を印加することで行う。このとき、非選択セルのビット線１とワード線２は浮遊させておき、データの書き込みを回避する。
【００５３】
上記のデータ書き込み動作が行われたとき、選択されたメモリセルにおいて、ドレイン近傍でホット電子が発生する。ホット電子はシリコン酸化膜１２の障壁を超えて、シリコン窒化膜１３中にトラップされる。これにより、選択されたメモリセル（ＦＥＴ３）のしきい値電圧が正方向にシフトする。この状態をデータが書き込まれた状態、すなわち“０”とする。
【００５４】
（データ消去動作）
データ消去動作は、選択されたブロックのすべてのメモリセルに対し一括して行う。データ消去動作は、選択されたブロックのワード線２の全てに電圧Ｖｗｅ（＝約−６Ｖ）を印加し、ビット線１の全てに電圧Ｖｂｅ（＝約６Ｖ）を印加することで行う。これにより、シリコン窒化膜１３中にトラップされていた電子が基板１０側に排除され、メモリセル（ＦＥＴ３）のしきい値電圧が負方向にシフトする。この状態をデータが消去された状態、すなわち“１”とする。
【００５５】
（データ読出動作）
データの読み出し動作は、選択されたメモリセルにつながるワード線２に電圧Ｖｗｒ（＝約４Ｖ）を印加し、ドレインに接続されたビット線１に読み出し電圧Ｖｂｒ（＝約１．４Ｖ）を印加し、ソースに接続されたビット線１に０Ｖを与えることで行う。
【００５６】
但し、読み出し動作におけるドレインとソースの関係は、データ書き込み動作におけるドレインとソースの関係と反転させる。これは、データ書き込みの際にドレインとした拡散層の近傍に電子がトラップされているため、読み出しの際にはドレインとソースとを反転させたほうがしきい値のシフトが大きくとれるためである。データの読み出しの結果、選択されたメモリセルに流れる電流と判定電流との大小関係を比較し、その結果により“０”，“１”を判定する。
【００５７】
（ベリファイ）
図９は本実施の形態におけるベリファイの概念を示す図である。
【００５８】
本実施の形態においては、基準電流１と基準電流２の２種類の基準電流（判定条件）を設けている。基準電流１は書き込みが必要か否かを判断するときに使用し、基準電流２はパス／フェイルの判断に使用する。基準電流１は、基準電流２よりも厳しい条件で設定する。
【００５９】
但し、基準電流１及び基準電流２はノイズ等の影響により変動する。ここでは、基準電流１，２の変動範囲（図９中に破線の帯で示す）をそれぞれ不感帯という。基準電流１の不感帯と基準電流２の不感帯とが重ならないようにすることが必要である。
【００６０】
実際のメモリでは、図１０の概念図に示すように、書き込みベリファイ時及び消去ベリファイ時にそれぞれ２種類の判定条件を使用する。すなわち、書き込みベリファイ時には第１及び第２の書き込み判定条件でパス／フェイルを判定し、消去ベリファイ時には第１及び第２の消去判定条件でパス／フェイルの判定を行う。
【００６１】
（書き込みベリファイ）
図１１は、本実施の形態の不揮発性半導体メモリにおける書き込みベリファイの動作を示すフローチャートである。書き込みベリファイでは、書き込み動作を行う前に読み出しを行って、書き込みが十分であるか否かを検証（ベリファイ）する。書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合には、メモリセルに対し書き込み動作を行う。
【００６２】
まず、ステップＳ３１において、フェイルカウントを初期化（フェイルカウント＝０）とする。その後、ステップＳ３２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ３３ではそのスタートアドレスのメモリセルからデータを読み出す。このとき、ワード線への印加電圧Ｖｗｒを５．２Ｖ、ドレイン側のビット線への印加電圧Ｖｂｒを１．４Ｖ（第１の書き込み判定条件）としてデータを読み出す。
【００６３】
次に、ステップＳ３４に移行し、データの書き込みが必要なメモリセルであるか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの書き込みが必要なメモリセルであり、かつ読み出したデータがフェイル（Ｙｅｓ）の場合（センスアンプ４５の出力が“１”の場合）は、ステップＳ３５に移行する。一方、データの書き込みが不要のメモリセルの場合、又は読み出したデータがパス（Ｎｏ）の場合（センスアンプ４５の出力が“０”の場合）は、ステップＳ３６に移行する。
【００６４】
ステップＳ３５では、当該アドレスのメモリセルに書き込みパルスを印加する。その後、ステップＳ３６に移行する。
【００６５】
ステップＳ３６では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでないときはステップＳ３７に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ３３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００６６】
このようにして、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、データの書き込みが必要であり、かつ読み出したデータがフェイルと判定したメモリセルに対しては書き込みパルスを印加して、メモリセルの蓄積電荷量を変化させる。
【００６７】
その後、ステップＳ３６からステップＳ３８に移行して、再びスタートアドレスを設定する。そして、ステップＳ３９に移行し、設定されたアドレスのメモリセルからデータを読み出す。このとき、ワード線への印加電圧Ｖｗｒを５．０Ｖ、ドレイン側のビット線への印加電圧Ｖｂｒを１．４Ｖ（第２の書き込み判定条件）とする。
【００６８】
次に、ステップＳ４０に移行し、データの書き込みが必要なメモリセルであるか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの書き込みが必要なメモリセルであり、かつ読み出したデータがフェイル（Ｙｅｓ）の場合（センスアンプ４５の出力が“１”の場合）は、ステップＳ４１に移行する。一方、データの書き込みが不要なメモリセルの場合、又は読み出したデータがパス（Ｎｏ）の場合（センスアンプ４５の出力が“０”の場合）は、ステップＳ４２に移行する。
【００６９】
ステップＳ４１では、フェイルカウント数に１を加える。その後、ステップＳ４２に移行する。
【００７０】
ステップＳ４２では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでないときはステップＳ４３に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ３９に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００７１】
このようにして、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、データの書き込みが必要であり、かつフェイルであるか否かを判定する。そして、フェイルと判定した場合は、フェイルカウント数をアップする。
【００７２】
その後、ステップＳ４２からステップＳ４４に移行して、フェイルカウント数が０か否かを判定し、０でない場合はステップＳ３１に戻って、上記の処理を繰り返す。フェイルカウント数が０の場合は、書き込みベリファイを終了する。
【００７３】
このように、本実施の形態においては、第１の書き込み判定条件でデータを読み出しフェイルか否かを判定してフェイルの場合には書き込みパルスを印加するステップＳ３１からステップＳ３７までの処理（以下、ループ１という）と、第２の書き込み判定条件でデータを読み出しフェイルか否かを判定してフェイルの場合にはフェイルカウント数をアップするステップＳ３８からステップＳ４４までの処理（以下、ループ２という）とを実施する。
【００７４】
基準電流やセル電流はノイズ等の影響により経時的に変化することが考えられる。しかし、本実施の形態では、ループ１では、ループ２の書き込み判定条件よりも厳しい判定条件を用いてフェイルか否かを判定する。つまり、ループ１ではワード線に印加する電圧を５．２Ｖとしているのに対し、ループ２ではワード線に印加する電圧を５．０Ｖとしている。従って、メモリセルに蓄積されている電荷量が同じとすると、ループ２ではループ１に比べてメモリセルに流れる電流（セル電流）が少なくなる。これにより、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【００７５】
このように、本実施の形態では書き込みベリファイ時におけるパス／フェイルの判定が正確になり、データの信頼性が向上すると共に、書き込みベリファイに要する時間が短縮される。
【００７６】
なお、本実施の形態において、図１１中に破線矢印で示すように、ステップＳ４０でフェイルと判定した場合に、ステップＳ３１に移行するようにしてもよい。
【００７７】
（消去ベリファイ）
図１２は、本実施の形態の不揮発性半導体メモリの消去ベリファイの動作を示すフローチャートである。消去ベリファイでは、ブロック内の全てのメモリセルに対し順番に読み出し動作を行い、フェイルのメモリセルが一つでもあればブロック全体のメモリセルに対し一括消去動作を実行する。
【００７８】
まず、ステップＳ５１において、フェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ５２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ５３ではそのスタートアドレスのメモリセルからデータを読み出す。このとき、ワード線に印加する電圧Ｖｗｒを２．３Ｖ、ドレイン側のビット線に印加する電圧Ｖｂｒを１．４Ｖ（第１の消去判定条件）として読み出しを行う。
【００７９】
次に、ステップＳ５４に移行し、読み出したデータがフェイルか否かを判定する。フェイル（Ｙｅｓ）の場合（センスアンプ４５の出力が“１”の場合）はステップＳ５５に移行し、パス（Ｎｏ）の場合（センスアンプ４５の出力が“０”の場合）はステップＳ５６に移行する。
【００８０】
ステップＳ５５では、フェイルカウント数に１を加える。その後、ステップＳ５６に移行する。
【００８１】
ステップＳ５６ではアドレスカウンタに設定されているアドレスが終了アドレスか否かを判定する。終了アドレスでないときはステップＳ５７に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ５３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００８２】
このようにして、スタートアドレスのメモリセルから終了アドレスのメモリセルまで順番にデータを読み出し、フェイルか否かの判定を行い、フェイルを検出するたびにフェイルカウント数をアップする。
【００８３】
その後、ステップＳ５６からステップＳ５８に移行に移行し、フェイルカウント数が０か否かを判定する。フェイルカウント数が０の場合は、ステップＳ５８からステップＳ６０に移行する。ステップＳ５８でフェイルカウント数が０でない場合はステップＳ５９に移行してスタートアドレスから終了アドレスまでのメモリセルに対し一括して消去パルスを印加する。その後、ステップＳ６０に移行する。
【００８４】
ステップＳ６０では、再びフェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ６１においてスタートアドレスを設定し、ステップＳ６２ではそのスタートアドレスのメモリセルからデータを読み出す。このとき、ワード線に印加する電圧Ｖｗｒを２．５Ｖ、ドレイン側のビット線に印加する電圧Ｖｂｒを１．４Ｖ（第２の消去判定条件）とする。
【００８５】
次に、ステップＳ６３に移行し、読み出したデータがフェイルか否かを判定する。フェイル（Ｙｅｓ）の場合（センスアンプ４５の出力が“１”の場合）はステップＳ６４に移行し、パス（Ｎｏ）の場合（センスアンプ４５の出力が“０”の場合）はステップＳ６５に移行する。
【００８６】
ステップＳ６４では、フェイルカウント数に１を加える。その後、ステップＳ６５に移行する。
【００８７】
ステップＳ６５ではアドレスカウンタに設定されているアドレスが終了アドレスか否かを判定する。終了アドレスでないときはステップＳ６６に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ６２に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【００８８】
このようにして、スタートアドレスのメモリセルから終了アドレスのメモリセルまで順番にデータを読み出し、フェイルか否かの判定を行い、フェイルを検出するたびにフェイルカウント数をアップする。
【００８９】
その後、ステップＳ６５からステップＳ６７に移行して、フェイルカウント数が０か否かを判定する。フェイルカウント数が０でない場合は、ステップＳ５１に戻って、上記の処理を繰り返す。ステップＳ６５でフェイルカウント数が０の場合は、消去ベリファイを終了する。
【００９０】
このように、本実施の形態においては、第１の消去判定条件でメモリセルからデータを読み出してフェイルか否かを判定しフェイルの場合に消去パルスを印加するステップＳ５１からステップＳ５８までの処理（以下、ループ１という）と、第２の消去判定条件でメモリセルからデータを読み出してフェイルか否かを判定しフェイルの場合にはフェイルカウンタをアップするステップＳ６０からステップＳ６７までの処理（以下、ループ２という）とを実施する。
【００９１】
基準電流及びセル電流はノイズ等の影響により経時的に変化することが考えられる。しかし、本実施の形態では、ループ１では、ループ２の消去判定条件よりも厳しい判定条件を用いてフェイルか否かを判定する。つまり、ループ１ではワード線に印加する電圧を２．３Ｖとしているのに対し、ループ２ではワード線に印加する電圧を２．５Ｖとしている。従って、メモリセルに蓄積されている電荷量が同じとすると、ループ２ではループ１に比べてメモリセルに流れる電流（セル電流）が大きくなる。これにより、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【００９２】
このように、本実施の形態では消去ベリファイ時におけるパス／フェイルの判定が正確になり、データの信頼性が向上すると共に、消去ベリファイに要する時間が短縮される。
【００９３】
なお、図１２中に破線矢印で示すように、ステップＳ５４でフェイルと判定した場合に、ステップＳ５９に移行するようにしてもよい。また、ステップＳ６３でフェイルと判定した場合に、ステップＳ５１に移行するようにしてもよい。
【００９４】
上述した書き込みベリファイ及び消去ベリファイにおいて、基準電流を１０μＡとし、しきい値電圧をセル電流が１０μＡに達するときのワード線の電圧（ＷＬ電圧）で定義した場合、データが書き込まれたメモリセルのしきい値電圧は５Ｖ以上、消去されたメモリセルのしきい値電圧は２．５Ｖ以下となり、データ“０”のときとデータ“１”のときのしきい値電圧の差（ウィンドウ）が２．５Ｖとなる。
【００９５】
従って、データ読み出し時には、例えばワード線に印加する電圧Ｖｗｒを４．０Ｖ、ドレイン側のビット線に印加する電圧Ｖｂｒを１．４Ｖとし、メモリセルに流れる電流Ｉｃｏｒｅと基準電流Ｉｒｅｆ　とを大小比較することで、データ“０”又はデータ“１”を正確に読み出すことができる。
【００９６】
（第２の実施の形態）
図１３は本発明の第２の実施の形態の不揮発性半導体メモリのパス／フェイル判定回路の構成を示す回路図である。なお、本実施の形態の不揮発性半導体メモリが第１の実施の形態と異なる点はパス／フェイル判定回路の構成が異なることにあり、その他の構成は基本的に第１の実施の形態と同様であるので、重複する部分の説明は省略する。また、図１３において、図８と同一物には同一符号を付している。
【００９７】
本実施の形態においては、メモリセル３の他に、１個のデータ読み出し用リファレンスセル、２個の書き込みベリファイ用リファレンスセル、２個の消去ベリファイ用リファレンスセルを設けておく。これらのリファレンスセルは、基本的にメモリセル３と同じ構造である。但し、データ読み出し用リファレンスセルのしきい値電圧は４．０Ｖ、第１の書き込みベリファイ用リファレンスセルのしきい値電圧は５．２Ｖ、第２の書き込みベリファイ用リファレンスセルのしきい値電圧は５．０Ｖ、第１の消去ベリファイ用リファレンスセルのしきい値電圧は２．３Ｖ、第２の消去ベリファイリファレンスセルのしきい値電圧は２．５Ｖに設定する。図１３では、これらのリファレンスセルのうち、第１の書き込みベリファイ用リファレンスセル５１及び第２の書き込みベリファイ用リファレンスセル５２のみを示している。
【００９８】
第１の書き込みベリファイ用リファレンスセル５１のソース側及びドレイン側のビット線にはそれぞれ選択ゲート（ＭＯＳＦＥＴ）５３，５４が接続されている。これらの選択ゲート５３，５４は制御回路からの信号に応じてオン／オフする。選択ゲート５４と接地との間には、抵抗値がＲ０　の抵抗５７が接続されている。抵抗５７と選択ゲート５４との接続点Ｎ３はセンスアンプ４５の一方の入力端に接続されている。
【００９９】
また、第２の書き込みベリファイ用リファレンスセル５２のソース側及びドレイン側のビット線にはそれぞれ選択ゲート（ＭＯＳＦＥＴ）５５，５６が接続されている。これらの選択ゲート５５，５６も、制御回路からの信号に応じてオン／オフする。選択ゲート５６と接地との間には、抵抗値がＲ０　の抵抗５８が接続されている。抵抗５８と選択ゲート５６との接続点Ｎ４も、センスアンプ４５の一方の入力端に接続されている。
【０１００】
これと同様に、第１及び第２の消去ベリファイ用リファレンスセルのソース側及びドレイン側のビット線にはそれぞれ選択ゲートが接続され、一方の選択ゲートと接地との間には抵抗値がＲ０　の抵抗が接続されている。そして、それらの抵抗と選択ゲートとの接続点はセンスアンプ４５の一方の入力端に接続されている。
【０１０１】
（書き込みベリファイ）
以下、書き込みベリファイ時の動作について説明する。本実施の形態においても、図１１のフローチャートを参照して書き込みベリファイ時の動作を説明する。
【０１０２】
まず、ステップＳ３１において、フェイルカウントを初期化（フェイルカウント＝０）とする。その後、ステップＳ３２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ３３ではそのスタートアドレスのメモリセルからデータを読み出す。
【０１０３】
このとき、メモリセル３及び第１の書き込みベリファイ用リファレンスセル５１のゲートに接続されたワード線に同時に読み出し電圧Ｖｗｒ＝４．０Ｖを供給し、ドレイン側のビット線に同時に電圧Ｖｂｒ＝１．４Ｖを供給する（第１の書き込み判定条件）。また、第２の書き込みベリファイ用リファレンスセル５２、データ読み出し用リファレンスセル並びに第１及び第２の消去ベリファイ用リファレンスセルは、それらに接続する選択ゲートをオフにしておくことで、電流が流れないようにしておく。
【０１０４】
次に、ステップＳ３４に移行し、データの書き込みが必要なメモリセルであるか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ３５に移行する。一方、データの書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ３６に移行する。
【０１０５】
データの書き込みが必要なメモリセルの場合、しきい値電圧がリファレンスセル５１のしきい値電圧（５．２Ｖ）よりも低い場合はフェイルと判定される。
【０１０６】
ステップＳ３５では、当該アドレスのメモリセルに書き込みパルスを印加する。その後，ステップＳ３６に移行する。
【０１０７】
ステップＳ３６では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでないときはステップＳ３７に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ３３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１０８】
このようにして、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、データの書き込みが必要であり、かつ読み出したデータがフェイルと判定したメモリセルに対しては書き込みパルスを印加して、メモリセルの蓄積電荷量を変化させる。
【０１０９】
その後、ステップＳ３６からステップＳ３８に移行して、再びアドレスカウンタにスタートアドレスを設定する。そして、ステップＳ３９に移行し、設定されたアドレスのメモリセルからデータを読み出す。
【０１１０】
このとき、メモリセル３及び第２の書き込みベリファイ用リファレンスセル５２のゲートに接続されたワード線に同時に読み出し電圧Ｖｗｒ＝４．０Ｖを供給し、ドレイン側のビット線に同時に電圧Ｖｂｒ＝１．４Ｖを供給する（第２の書き込み判定条件）。また、第１の書き込みベリファイ用リファレンスセル５１、データ読み出し用リファレンスセル並びに第１及び第２の消去ベリファイ用リファレンスセルは、それらに接続する選択ゲートをオフにしておくことで、電流が流れないようにしておく。
【０１１１】
次に、ステップＳ４０に移行し、データの書き込みが必要なメモリセルであるか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの書き込みが必要なメモリセルであり、かつ読み出したデータがフェイル（Ｙｅｓ）の場合（センスアンプ４５の出力が“１”の場合）は、ステップＳ４１に移行する。一方、データの書き込みが不要なメモリセルの場合、又は読み出したデータがパス（Ｎｏ）の場合（センスアンプ４５の出力が“０”の場合）は、ステップＳ４２に移行する。
【０１１２】
データの書き込みが必要なメモリセルの場合、しきい値電圧がリファレンスセル５２のしきい値電圧（５．０Ｖ）よりも高い場合はパスと判定される。
【０１１３】
ステップＳ４１では、フェイルカウント数に１を加える。その後、ステップＳ４２に移行する。
【０１１４】
ステップＳ４２では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでないときはステップＳ４３に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ３９に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１１５】
このようにして、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、データの書き込みが必要であり、かつフェイルであるか否かを判定する。そして、フェイルと判定した場合は、フェイルカウント数をアップする。
【０１１６】
その後、ステップＳ４２からステップＳ４４に移行して、フェイルカウント数が０か否かを判定し、０でない場合はステップＳ３１に戻って、上記の処理を繰り返す。フェイルカウント数が０の場合は、ベリファイを終了する。
【０１１７】
このように、本実施の形態では、ループ１において、メモリセル３に流れる電流Ｉｃｏｒｅと、しきい値電圧が高い第１の書き込みベリファイ用リファレンスセル５１に流れる電流Ｉｒｅｆ１とを比較してフェイルか否かを判定し、フェイルと判定した場合にメモリセルに対し書き込みパルスを印加する。一方、ループ２においては、メモリセル３に流れる電流Ｉｃｏｒｅと、しきい値電圧が低い第２の書き込みベリファイ用リファレンスセル５２に流れる電流Ｉｒｅｆ２とを比較してフェイルか否かを判定する。従って、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【０１１８】
（消去ベリファイ）
以下、消去ベリファイ時の動作について説明する。本実施の形態においても、図１２のフローチャートを参照して消去ベリファイ時の動作を説明する。
【０１１９】
まず、ステップＳ５１において、フェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ５２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ５３ではそのスタートアドレスからデータを読み出す。このとき、メモリセル３及び第１の消去ベリファイ用リファレンスセルのゲートに接続されたワード線に同時に読み出し電圧Ｖｗｒ＝４．０Ｖを供給し、ドレイン側のビット線に同時に電圧Ｖｂｒ＝１．４Ｖを供給する（第１の消去判定条件）。また、第２の消去ベリファイ用リファレンスセル並びに第１及び第２の書き込みベリファイ用リファレンスセルは、それらに接続する選択ゲートをオフにしておくことで、電流が流れないようにしておく。
【０１２０】
次に、ステップＳ５４に移行し、読み出したデータがフェイルか否かを判定する。メモリセルのしきい値電圧が第１の消去ベリファイ用リファレンスセルのしきい値電圧（２．３Ｖ）よりも高い場合はフェイルと判定される。フェイル（Ｙｅｓ）の場合はステップＳ５５に移行し、パス（Ｎｏ）の場合はステップＳ５６に移行する。
【０１２１】
ステップＳ５５ではフェイルカウント数に１を加え、その後ステップＳ５６に移行する。
【０１２２】
ステップＳ５６ではアドレスカウンタに設定されているアドレスが終了アドレスか否かを判定する。終了アドレスでないときはステップＳ５７に移行して、アドレスカウンタに次にアドレスを設定する。そして、ステップＳ５３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１２３】
ステップＳ５６からステップＳ５８に移行した場合は、フェイルカウント数が０か否かを判定する。フェイルカウント数が０の場合はステップＳ６０に移行する。ステップＳ５８でフェイルカウント数が０でない場合はステップＳ５９に移行して、スタートアドレスから終了アドレスまでのメモリセルに対し一括して消去パルスを印加する。その後、ステップＳ６０に移行する。
【０１２４】
ステップＳ６０では再びフェイルカウントを初期化（フェイルカウント＝０）する。その後、ステップＳ６１においてスタートアドレスを設定し、ステップＳ６２ではそのスタートアドレスのメモリセルからデータを読み出す。
【０１２５】
このとき、メモリセル３及び第２の消去ベリファイ用リファレンスセルのゲートに接続されたワード線に同時に電圧Ｖｗｒ＝４．０Ｖを供給し、ドレイン側のビット線に同時に電圧Ｖｂｒ＝１．４Ｖを供給する（第２の消去判定条件）。また、第１の消去ベリファイ用リファレンスセル、データ読み出し用リファレンスセル並びに第１及び第２のデータ書き込みベリファイ用リファレンスセルは、それらに接続する選択ゲートをオフにしておくことで、電流が流れないようにしておく。
【０１２６】
次に、ステップＳ６３に移行し、読み出したデータがフェイルか否かを判定する。メモリセルのしきい値電圧が第２の消去ベリファイ用リファレンスセルのしきい値電圧（２．５Ｖ）よりも低い場合はパスと判定される。フェイル（Ｙｅｓ）の場合はステップＳ６４に移行し、パス（Ｎｏ）の場合はステップＳ６５に移行する。
【０１２７】
ステップＳ６４では、フェイルカウント数に１を加え、その後ステップＳ６５に移行する。
【０１２８】
ステップＳ６５ではアドレスカウンタに設定されているアドレスが終了アドレスか否かを判定する。終了アドレスでないときはステップＳ６６に移行して、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ６２に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１２９】
ステップＳ６５からステップＳ６７に移行した場合は、フェイルカウント数が０か否かを判定する。フェイルカウント数が０でない場合はステップＳ５１に戻って上記の処理を繰り返す。ステップＳ６５でフェイルカウント数が０の場合は、消去ベリファイを終了する。
【０１３０】
このように、本実施の形態では、ループ１において、メモリセル３に流れる電流と、しきい値電圧が低い第１の消去ベリファイ用リファレンスセルに流れる電流とを比較してフェイルか否かを判定し、フェイルと判定した場合にメモリセルに対し書き込みパルスを印加する。一方、ループ２においては、メモリセル３に流れる電流と、しきい値電圧が高い第２の消去ベリファイ用リファレンスセルに流れる電流とを比較してフェイルか否かを判定する。従って、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【０１３１】
（第３の実施の形態）
図１４は本発明の第３の実施の形態の不揮発性半導体メモリのパス／フェイル判定回路の構成を示す回路図である。なお、本実施の形態の不揮発性半導体メモリが第１の実施の形態と異なる点はパス／フェイル判定回路の構成が異なることにあり、その他の構成は基本的に第１の実施の形態と同様であるので、重複する部分の説明は省略する。また、図１４において、図８と同一物には同一符号を付している。
【０１３２】
前述の第２の実施の形態では、書き込みベリファイ及び消去ベリファイ用にそれぞれ２個のリファレンスセルを必要としていた。このため、各リファレンスセルのしきい値電圧を設定することが煩雑であるという欠点がある。本実施の形態では、１個の書き込みベリファイ用リファレンスセルと１個の消去ベリファイ用リファレンスセルでパス／フェイル判定回路を構成する。ここでは、書き込みベリファイ用リファレンスセルについて説明する。
【０１３３】
リファレンスセル６１のソース側及びドレイン側のビット線にはそれぞれ選択ゲート（ＭＯＳＦＥＴ）６２，６３が接続されている。これらの選択ゲート６２，６３は制御回路からの信号に応じてオン／オフする。選択ゲート６３と接地との間には、抵抗値がＲ０　の抵抗６４が接続されている。
【０１３４】
書き込みベリファイ用リファレンスセルの場合はしきい値電圧を５．０Ｖに設定し、消去ベリファイ用リファレンスセルの場合はしきい値電圧を２．３Ｖに設定する。
【０１３５】
レベル切替回路６６は、２つのスイッチ６７ａ，６７ｂにより構成されている。一方のスイッチ６７ａはワード線制御回路とレベル制御用トランジスタ６５との間に接続され、他方のスイッチ６７ｂはワード線制御回路とリファレンスセル６１のゲートとの間に接続される。
【０１３６】
レベル制御用トランジスタ６５のドレイン及びゲートはスイッチ６７ａに接続され、ソースはリファレンスセル６１のゲートに接続されている。
【０１３７】
このレベル制御用トランジスタ６５のしきい値電圧Ｖｔｈ０　は０．２Ｖに調整されている。また、トランジスタ６５は、メモリセル３と同じ導電型のトランジスタが使用される。例えば、メモリセル３がｐ型トランジスタであれば、レベル制御用トランジスタ６５もｐ型トランジスタであり、メモリセル３がｎ型トランジスタであればレベル制御用トランジスタ６５もｎ型トランジスタである。この例ではレベル制御用トランジスタ６５はｎ型であるものとする。
【０１３８】
本実施の形態の不揮発性半導体メモリにおいても、書き込みベリファイ及び消去ベリファイの動作は図１１，図１２に示すフローチャートに従う。但し、書き込みベリファイの場合、ループ１ではスイッチ６７ａをオン、スイッチ６７ｂをオフとしてパス／フェイルの判定を行う。また、ループ２ではスイッチ６７ａをオフ、スイッチ６７ｂをオンとしてパス／フェイルの判定を行う。
【０１３９】
ループ１ではリファレンスセル６１のゲートに印加される電圧が３．８Ｖ（４．０Ｖ−０．２Ｖ）となり、ループ２ではリファレンスセル６１のゲートに印加される電圧が４Ｖとなる。すなわち、ループ１ではループ２よりも厳しい条件でパス／フェイルの判定を行う。これにより、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【０１４０】
消去ベリファイの場合、ループ１ではスイッチ６７ａをオフ、スイッチ６７ｂをオンとしてパス／フェイルの判定を行う。また、ループ２ではスイッチ６７ａをオン、スイッチ６７ｂをオフとしてパス／フェイルの判定を行う。
【０１４１】
ループ１ではリファレンスセル６１のゲートに印加される電圧が４．０Ｖとなり、ループ２ではリファレンスセル６１のゲートに印加される電圧が３．８Ｖ（４．０Ｖ−０．２Ｖ）となる。すなわち、ループ１ではループ２よりも厳しい条件でパス／フェイルの判定を行う。これにより、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。
【０１４２】
本実施の形態においては、第２の実施の形態と同様の効果が得られるのに加えて、書き込みベリファイ用リファレンスセル及び消去ベリファイ用リファレンスセルがそれぞれ１個でよく、しきい値電圧の調整が容易になるという効果が得られる。
【０１４３】
（第４の実施の形態）
以下、本発明の第４の実施の形態の不揮発性半導体メモリについて説明する。本実施の形態は、本発明を多値化メモリに適用した例を示している。
【０１４４】
多値化メモリでは、メモリセルのしきい値電圧をデータに応じて設定する。１個のメモリセルに２ビットのデータを記憶する場合は、図１５に示すように４つのデータ“００”、“０１”、“１０”、“１１”に対応させた電圧でデータ書き込みを行う。本実施の形態では、データ“００”を書き込むときは６Ｖ，データ“０１”を書き込むときは４Ｖ、データ“１０”を書き込むときは２Ｖとする。また、消去レベルを１Ｖとし、しきい値電圧が１Ｖ以下のメモリセルのデータは“１１”とする
メモリセルに記憶されているデータの判定には、３つの判定レベル（判定レベルＡ，Ｂ，Ｃ）を使用する。ここでは、判定レベルＡは５Ｖ、判定レベルＢは３Ｖ，判定レベルＣは１．５Ｖとする。
【０１４５】
メモリセルから読み出したセル電圧と判定レベルＡ，Ｂ，Ｃとの比較結果が全て“０”の場合、メモリセルに記憶されているデータは“００”と判定する。メモリセルから読み出したセル電圧と判定レベルＡとの比較結果が“１”、判定レベルＢ，Ｃとの比較結果がいずれも“０”の場合、メモリセルに記憶されているデータは“０１”と判定する。メモリセルから読み出したセル電圧と判定レベルＡ，Ｂとの比較結果がいずれも“１”、判定レベルＣとの比較結果が“０”の場合、メモリセルに記憶されているデータは“１０”と判定する。メモリセルから読み出したセル電圧と判定レベルＡ，Ｂ，Ｃとの比較結果がいずれも“１”の場合、メモリセルに記憶されているデータは“１１”と判定する。
【０１４６】
データの書き込み及びデータの読み出しの際には、前述したように、電源ノイズ等の影響により、不感帯が発生する。そこで、本実施の形態においては、図１５に示すように、データ“００”の書き込み判定レベル１ａに対して若干厳しく設定された書き込み判定レベル１ｂ、データ“０１”の書き込み判定レベル２ａに対して若干厳しく設定された書き込み判定レベル２ｂ、データ“１０”の書き込み判定レベル３ａに対して若干厳しく設定された書き込み判定レベル３ｂ、消去判定レベル４ａに対して若干厳しく設定された消去判定レベル４ｂを用いる。これらの書き込み判定レベル又は消去判定レベルとセル電圧との比較は、第１〜第３の実施の形態で説明したパス／フェイル判定回路を用いて行う。
【０１４７】
図１６，１７は、本実施の形態の不揮発性半導体メモリにおける書き込みベリファイ時の動作を示すフローチャートである。
【０１４８】
まず、ステップＳ７１において、フェイルフラグを初期化（フェイルフラグ＝０）する。フェイルフラグの替わりに、第１〜第３の実施の形態と同様に、フェイルカウンタを用いてもよい。
【０１４９】
次に、ステップＳ７２において、アドレスカウンタにスタートアドレスを設定し、ステップＳ７３ではそのスタートアドレスのメモリセルからデータを読み出す。そして、ステップＳ７４に移行し、データ“００”の書き込みが必要なメモリセルであるか否かを判定し、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル１ｂに相当する条件で行う。
【０１５０】
データ“００”の書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ７５に移行する。一方、データ“００”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ７６に移行する。
【０１５１】
ステップＳ７５では、当該アドレスのメモリセルに書き込みパルスを印加する。その後、ステップＳ７６に移行する。
【０１５２】
ステップＳ７６では、アドレスカウンタに設定されているメモリセルからデータを読み出す。そして、ステップＳ７７に移行し、データ“００”又は“０１”の書き込みが必要なメモリセルか否か、データの書き込みが必要なセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル２ｂに相当する条件で行う。
【０１５３】
データ“００”又は“０１”の書き込みが必要なメモリセルであり、且つ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ７８に移行する。一方、データ“００”又は“０１”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ７９に移行する。
【０１５４】
ステップＳ７８では、当該アドレスのメモリセルに書き込みパルスを印加する。その後，ステップＳ７９に移行する。
【０１５５】
ステップＳ７９では、アドレスカウンタに設定されているメモリセルからデータを読み出す。そして、ステップＳ８０に移行し、データ“００”、“０１”又は“１０”の書き込みが必要なメモリセルか否か、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル３ｂに相当する条件で行う。
【０１５６】
データ“００”、“０１”又は“１０”の書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ８１に移行する。一方、データ“００”、“０１”又は“１０”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ８２に移行する。
【０１５７】
ステップＳ８１では、当該アドレスのメモリセルに書き込みパルスを印加する。その後、ステップＳ８２に移行する。
【０１５８】
ステップＳ８２では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでない場合はステップＳ８３に移行し、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ７３に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１５９】
このようにして、ステップＳ７１からステップＳ８２までの処理（以下、ループ１という）では、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、所定のデータが書き込まれていないメモリセルに対しては書き込みパルスを印加して，メモリセルの蓄積電荷量を変化させる。
【０１６０】
その後、ステップＳ８２からステップＳ８４に移行して、アドレスカウンタにスタートアドレスを設定する。
【０１６１】
次に、ステップＳ８５に移行して、設定されたアドレスのメモリセルからデータを読み出す。そして、ステップＳ８６に移行し、データ“００”の書き込みが必要なメモリセルか否か、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル１ａに相当する条件で行う。
【０１６２】
データ“００”の書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ８７に移行する。一方、データ“００”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ８８に移行する。
【０１６３】
ステップＳ８７では、フェイルフラグを“１”に設定する。その後、ステップＳ８８に移行する。
【０１６４】
ステップＳ８８では、アドレスカウンタに設定されているメモリセルからデータを読み出す。そして、ステップＳ８９に移行し、データ“００”又は“０１”の書き込みが必要なメモリセルか否か、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル２ａに相当する条件で行う。
【０１６５】
データ“００”又は“０１”の書き込みが必要なメモリセルであり、かつ読み出したデータがフェイルの場合（Ｙｅｓ）は、ステップＳ９０に移行する。一方、データ“００”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ９１に移行する。
【０１６６】
ステップＳ９０では、フェイルフラグを“１”に設定する。その後、ステップＳ９１に移行する。
【０１６７】
ステップＳ９１では、アドレスカウンタに設定されているメモリセルからデータを読み出す。そして、ステップＳ９２に移行し、データ“００”、“０１”又は“１０”の書き込みが必要なメモリセルか否か、データの書き込みが必要なメモリセルの場合は読み出したデータがフェイルか否かを判定する。データの読み出し及びパス／フェイルの判定は、図１５に示す書き込み判定レベル３ａに相当する条件で行う。
【０１６８】
データ“００”、“０１”又は“１０”の書き込みが必要なメモリセルであり、かつ読み出したデータがフェイル（Ｙｅｓ）の場合は、ステップＳ９３に移行する。一方、データ“００”、“０１”又は“１０”の書き込みが不要のメモリセルの場合、又は読み出したデータがパスの場合（Ｎｏ）は、ステップＳ９４に移行する。
【０１６９】
ステップＳ９３では、フェイルフラグを“１”に設定する。その後、ステップＳ９４に移行する。
【０１７０】
ステップＳ９４では、アドレスカウンタに設定されているアドレスが最終アドレスか否かを判定する。最終アドレスでない場合はステップＳ９５に移行し、アドレスカウンタに次のアドレスを設定する。そして、ステップＳ８４に戻り、設定されたアドレスのメモリセルからデータを読み出す。
【０１７１】
このようにして、ステップＳ８４からステップＳ９４までの処理（以下、ループ２という）では、スタートアドレスのメモリセルから最終アドレスのメモリセルまで順番にデータを読み出し、所定のデータが書き込まれていないメモリセルを検出した場合にフェイルフラグを“１”に設定する。
【０１７２】
その後、ステップＳ９４からステップＳ９６に移行すると、フェイルフラグが“０”か否かを判定する。フェイルフラグが“１”の場合はステップＳ７１に戻り、上述した処理を繰り返す。一方、フェイルフラグが“０”の場合は、書き込みベリファイを終了する。
【０１７３】
このように、本実施の形態では、ループ１においてループ２の書き込み判定条件よりも厳しい条件を用いてフェイルか否かを判定する。従って、ループ１で不感帯に含まれるメモリセルであっても、ループ２では確実にパスと判定される。従って、データの信頼性が向上すると共に、書き込みベリファイに要する時間が短縮される。
【０１７４】
なお、本実施の形態の不揮発性半導体メモリの消去ベリファイ時の動作は基本的に第１の実施の形態と同じであるので、ここでは説明を省略する。
【０１７５】
また、上記第１〜第４の実施の形態においては、第１の判定条件及び第２の判定条件における印加電圧の差をいずれも０．２Ｖとしているが、実際にはノイズ等による電圧のふらつきに応じて第１の判定条件及び第２の判定条件における印加電圧を適切に設定する必要がある。
【０１７６】
（その他の実施の形態１）
上記第１〜第４の実施の形態においては、いずれも本発明をＳＯＮＯＳ型不揮発性半導体メモリに適用した場合について説明したが、本発明はその他の単ゲート型メモリやフローティングゲート型メモリに適用することもできる。また、半導体メモリの回路構成がＮＯＲ型かＮＡＮＤ型かに拘わらず適用することができる。更に、データの書き込み方式がチャネルホットエレクトロンで書き込むか、ＦＮ（Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍ　）トンネリングで書き込むかに拘わらず、適用することができる。
【０１７７】
図１８はフローティングゲート型メモリ（ＮＯＲゲート型）の一例を示す断面図である。
【０１７８】
シリコン基板７１にはメモリセルのソース／ドレインである不純物拡散層７２が形成されている。シリコン基板７１の表面上にはシリコン酸化膜（ゲート酸化膜）７３が形成されている。
【０１７９】
一対の不純物拡散層７２の間のシリコン酸化膜７３の上にはフローティングゲート７４が形成されている。このフローティングゲート７４の上には絶縁膜７５が形成されており、絶縁膜７５の上にはポリシリコン層とタングステンシリサイド層との積層構造のコントロールゲート７６が形成されている。
【０１８０】
これらのフローティングゲート７４及びコントロールゲート７６は、シリコン酸化膜７７とＢＰＳＧ（Ｂｏｒｏｐｈｏｓｐｈｏｓｉｌｉｃａｔｅ　ｇｌａｓｓ　）膜７８とからなる積層構造の層間絶縁膜に覆われている。
【０１８１】
図１９はフローティングゲート型メモリ（フラッシュメモリ）の回路構成を示すブロック図である。
【０１８２】
メモリセルを構成するＦＥＴ８３はマトリクス状に配列されている。行方向に並んだメモリセルのコントロールゲートは共通のワードライン（ＷＬ１，ＷＬ２，…）８２に接続されている。また、列方向に並んだメモリセルのドレインは共通のビットライン（ＢＬ１，ＢＬ２，…）８１に接続されている。更に、同一ブロックのメモリセル（ＦＥＴ３）のソースは、共通のソースラインＳＬ０に接続されている。
【０１８３】
ビットラインＢＬ１，ＢＬ２，…はセンスアンプ部８６に接続され、ワードラインＷＬ１，ＷＬ２，…はワードラインドライバ８７に接続されている。これらのセンスアンプ部８６及びワードラインドライバ８７は、制御回路（図示せず）からの信号により動作する（図７参照）。センスアンプ部８６内には、第１〜第３の実施の形態で示したようなパス／フェイル判定回路が形成されている。
【０１８４】
このように構成されたフローティングゲート型メモリにおいても、第１〜第４に示す方法で書き込みベリファイ及び消去ベリファイを行うことにより、電源ノイズ及びその他のノイズの有無に拘わらずパス／フェイルの判定を正確に行うことができるとともに、書き込みベリファイ及び消去ベリファイに要する時間を短縮することができる。
【０１８５】
（その他の実施の形態２）
本発明の不揮発性半導体メモリの動作方法は、不揮発性半導体メモリ製造後の検査工程に適用することもできる。
【０１８６】
図２０は、不揮発性半導体メモリの検査方法の概要を示す図である。検査装置９１には、図８，図１３又は図１４に示すようなパス／フェイル判定回路９２が設けられている。この検査装置９１と製造後の不揮発性半導体メモリ９５とを検査プローブを介して電気的に接続し、図１１、図１２又は図１６及び図１７に示すフローチャートに従って、データの書き込み又は消去を行う。そして、ループ１，２の実行回数や、フェイルと判定した数により、不揮発性半導体メモリ９５の良否を判定する。
【０１８７】
この場合も、ループ１ではループ２よりも厳しい条件でパス／フェイルの判定を行うので、ループを無駄に繰り返すことがなく、短時間で良否を判定することができる。
【０１８８】
また、不揮発性半導体メモリに対してデータの書き込み及び消去を繰り返すことによって不揮発性半導体メモリの寿命を検査するサイクリング試験においても、上述した動作方法を適用することができる。
【０１８９】
（付記１）データに応じた電荷を蓄積する不揮発性メモリセルと、前記メモリセルを駆動するメモリセル駆動部とを有し、前記メモリセル駆動部は、第１の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定し、フェイルと判定したメモリセルには信号を印加して前記メモリセルの蓄積電荷量を変化させる第１の判定処理と、前記第１の判定条件よりも緩和された第２の判定条件で前記メモリセルから読み出したデータのパス／フェイルを判定する第２の判定処理とを実行することを特徴とする不揮発性半導体メモリ。
【０１９０】
（付記２）書き込みベリファイ時における前記第１の判定処理では前記第２の判定処理で用いる基準電流よりも小さい電流を基準電流としてパス／フェイルを判定し、消去ベリファイ時における前記第１の判定処理では前記第２の判定処理で用いる基準電流よりも大きい電流を基準電流としてパス／フェイルを判定することを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９１】
（付記３）書き込みベリファイ時における前記第１の判定処理では前記第２の判定処理に用いるリファレンスセルよりもしきい値が高いリファレンスセルを用いてパス／フェイルを判定し、消去ベリファイ時における前記第１の判定処理では前記第２の判定処理に用いるリファレンスセルよりもしきい値が低いリファレンスセルを用いてパス／フェイルを判定することを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９２】
（付記４）前記メモリセル駆動部は、前記第１の判定条件に対応する第１の基準電流と前記第２の判定条件に対応する第２の基準電流とを発生する基準電流発生回路と、前記基準電流発生回路を駆動制御する制御部とを有することを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９３】
（付記５）前記基準電流発生回路が、しきい値電圧が相互に異なる複数のトランジスタにより構成されていることを特徴とする付記４に記載の不揮発性半導体メモリ。
【０１９４】
（付記６）前記基準電流発生回路が、リファレンス用トランジスタと、ワード線と前記リファレンストランジスタのゲートとの間に接続されたレベル制御用トランジスタと、基準電圧の供給先を前記リファレンスセルのゲート及び前記レベル制御用トランジスタのいずれか一方に切り替える切替回路とにより構成されていることを特徴とする付記４に記載の不揮発性半導体メモリ。
【０１９５】
（付記７）前記メモリセルが、データに応じた電荷を絶縁膜に蓄積する単ゲート型メモリセルであることを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９６】
（付記８）前記メモリセルが、データに応じた電荷をフローティングゲートに蓄積するフローティングゲート型メモリセルであることを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９７】
（付記９）前記メモリセルが多値化に対応したメモリセルであり、各値毎に、前記第１の判定条件及び前記第２の判定条件が個別に設定されていることを特徴とする付記１に記載の不揮発性半導体メモリ。
【０１９８】
（付記１０）不揮発性メモリセルのデータを検証しながら前記メモリセルへのデータの書き込み又はデータの消去を行う不揮発性半導体メモリの動作方法において、前記メモリセルから第１の判定条件でデータを読み出してパス／フェイルを判定し、フェイルと判定した場合には当該メモリセルに信号を印加してメモリセルの蓄積電荷量を変化させる第１の判定処理と、メモリセルから前記第１の判定条件よりも緩和された第２の判定条件でデータを読み出してパス／フェイルを判定する第２の判定処理とを有し、前記第２の判定処理でフェイルと判定したときには前記第１の判定処理から繰り返すことを特徴とする不揮発性半導体メモリの動作方法。
【０１９９】
（付記１１）アドレスカウンタにスタートアドレスを設定する第１のステップと、前記アドレスカウンタに設定されたアドレスのメモリセルから第１の書き込み判定条件でデータを読み出してパス／フェイルを判定する第２のステップと、前記第２のステップでフェイルと判定したときに前記メモリセルに書き込みパルスを印加する第３のステップと、前記第２のステップでパスと判定したとき、又は前記第３のステップを終了したときに、前記アドレスカウンタに設定されたアドレスが終了アドレスか否かを判定する第４のステップと、前記第４のステップで否と判定したときには前記アドレスカウンタの値を変更し、その後前記第２のステップに移行する第５のステップと、前記第４のステップで諾と判定したときに、前記アドレスカウンタにスタートアドレスを設定する第６のステップと、前記アドレスカウンタに設定されたアドレスのメモリセルから前記第１の書き込み判定条件よりも緩和された第２の書き込み判定条件でデータを読み出してパス／フェイルを判定する第７のステップと、前記アドレスカウンタに設定されたアドレスが最終アドレスか否かを判定する第８のステップと、前記第８のステップで否と判定したときに前記アドレスカウンタの値を変更し、その後前記第７のステップに移行する第９のステップと、前記第８のステップで諾と判定したときに移行し、前記第７のステップでフェイルと判定したときには前記第１のステップに処理を戻す第１０のステップとを有することを特徴とする不揮発性半導体メモリの動作方法。
【０２００】
（付記１２）前記第７のステップでフェイルと判定すると、処理を前記第１のステップに直接戻すことを特徴とする付記１１に記載の不揮発性半導体メモリの動作方法。
【０２０１】
（付記１３）前記メモリセルが多値化に対応したメモリセルであって、各値毎に前記第１の判定条件及び前記第２の判定条件が個別に設定されていることを特徴とする付記１１又は１２に記載の不揮発性半導体メモリの動作方法。
【０２０２】
（付記１４）前記第１のステップ乃至第１０のステップは検査工程で実施し、前記第１の書き込み判定条件及び前記第２の書き込み判定条件を外部の検査装置で設定することを特徴とする付記１１又は１２に記載の不揮発性半導体メモリの動作方法。
【０２０３】
（付記１５）アドレスカウンタにスタートアドレスを設定する第１のステップと、前記アドレスカウンタに設定されたアドレスのメモリセルから第１の消去判定条件でデータを読み出してパス／フェイルを判定する第２のステップと、前記アドレスカウンタに設定されたアドレスが終了アドレスか否かを判定する第３のステップと、前記第３のステップで否と判定したときには前記アドレスカウンタの値を変更し、その後前記第２のステップに移行する第４のステップと、前記第３のステップで諾と判定したときに移行し、前記第２のステップでフェイルと判定したメモリセルがあるときは前記スタートアドレスから前記終了アドレスまでのメモリセルに一括して消去パルスを印加する第５のステップと、前記アドレスカウンタにスタートアドレスを設定する第６のステップと、前記アドレスカウンタに設定されたアドレスのメモリセルから前記第１の消去判定条件よりも緩和された第２の消去判定条件でデータを読み出してパス／フェイルを判定する第７のステップと、前記アドレスカウンタに設定されたアドレスが最終アドレスか否かを判定する第８のステップと、前記第８のステップで否と判定したときに前記アドレスカウンタの値を変更し、その後前記第７のステップに移行する第９のステップと、前記第８のステップで諾と判定したときに移行し、前記第７のステップでフェイルと判定したメモリセルがあるときには前記第１のステップに処理を戻す第１０のステップとを有することを特徴とする不揮発性半導体メモリの動作方法。
【０２０４】
（付記１６）前記第２のステップでフェイルと判定すると前記第５のステップに直接移行して、前記スタートアドレスから前記終了アドレスまでのメモリセルに一括して消去パルスを印加することを特徴とする付記１５に記載の不揮発性半導体メモリの動作方法。
【０２０５】
（付記１７）前記第７のステップでフェイルと判定すると処理を前記第１のステップに直接戻すことを特徴とする付記１５に記載の不揮発性半導体メモリの動作方法。
【０２０６】
（付記１８）前記第１のステップ乃至前記第１０のステップは検査工程で実施し、前記第１の書き込み判定条件及び前記第２の書き込み判定条件を外部の検査装置で設定することを特徴とする付記１５乃至１７のいずれか１項に記載の不揮発性半導体メモリの動作方法。
【０２０７】
【発明の効果】
以上説明したように、本発明によれば、メモリセルから第１の判定条件でデータを読み出してパス／フェイルの判定を行い、フェイルと判定した場合には信号を印加してメモリセルの蓄積電荷量を変化させ、その後、メモリセルから第１の判定条件よりも緩和された第２の判定条件でデータを読み出してパス／フェイルを判定するので、ノイズ等に拘わらずパス／フェイルの判定が正確になり、データの検証（ベリファイ）処理の実行時間を従来に比べて大幅に短縮することができる。
【図面の簡単な説明】
【図１】図１は、従来のベリファイの概念を示す図（その１）である。
【図２】図２は、従来のベリファイの概念を示す図（その２）である。
【図３】図３は、従来の不揮発性半導体メモリにおける書き込みベリファイの動作を示すフローチャートである。
【図４】図４は、従来の不揮発性半導体メモリにおける消去ベリファイの動作を示すフローチャートである。
【図５】図５は本発明の第１の実施の形態に係るＳＯＮＯＳ型不揮発性半導体メモリのメモリセル形成部を示す平面図である。
【図６】図６（ａ）は図５のＩ−Ｉ線による断面図、図６（ｂ）は図５のＩＩ−ＩＩ線による断面図、図６（ｃ）は図５のＩＩＩ　−ＩＩＩ　線による断面図である。
【図７】図７は、ＳＯＮＯＳ型不揮発性半導体メモリの回路構成を示すブロック図である。
【図８】図８は、第１の実施の形態の不揮発性半導体メモリのセンスアンプ部内に設けられたパス／フェイル判定回路の構成を示す回路図である。
【図９】図９は第１の実施の形態におけるベリファイの概念を示す図（その１）である。
【図１０】図１０は第１の実施の形態におけるベリファイの概念を示す図（その２）である。
【図１１】図１１は、第１の実施の形態の不揮発性半導体メモリにおける書き込みベリファイの動作を示すフローチャートである。
【図１２】図１２は、第１の実施の形態の不揮発性半導体メモリの消去ベリファイの動作を示すフローチャートである。
【図１３】図１３は本発明の第２の実施の形態の不揮発性半導体メモリのパス／フェイル判定回路の構成を示す回路図である。
【図１４】図１４は本発明の第３の実施の形態の不揮発性半導体メモリのパス／フェイル判定回路の構成を示す回路図である。
【図１５】図１５は、多値化メモリにおけるしきい値電圧の分布と各値に対応した判定レベルとを示す概念図である。
【図１６】図１６は、第４の実施の形態の不揮発性半導体メモリにおける書き込みベリファイ時の動作を示すフローチャート（その１）である。
【図１７】図１７は、第４の実施の形態の不揮発性半導体メモリにおける書き込みベリファイ時の動作を示すフローチャート（その２）である。
【図１８】図１８はフローティングゲート型メモリの（ＮＯＲゲート型）一例を示す断面図である。
【図１９】図１９はフローティングゲート型メモリ（フラッシュメモリ）の回路構成を示すブロック図である。
【図２０】図２０は、不揮発性半導体メモリの検査方法の概要を示す図である。
【符号の説明】
１，８１…ビットライン、
２，８２…ワードライン、
３，８３…ＦＥＴ（メモリセル）、
１０，７１…シリコン基板、
１１…局所絶縁膜、
１２，１４…シリコン酸化膜、
１３…シリコン窒化膜、
１５…ゲート絶縁膜、
２０…制御回路、
２６，８６…センスアンプ部、
２７，８７…ワードラインドライバ、
３０…ＣＰＵ、
３１…ＲＡＭ、
４０…基準電流発生回路、
４１，４２，５３，５４，５５，５６，６２，６３…選択ゲート、
４３，４４，５７，５８，６４…抵抗、
４５…センスアンプ、
５１，５２，６１…リファレンスセル、
６５…レベル制御用トランジスタ、
７２…不純物拡散層、
７３…シリコン酸化膜、
７４…フローティングゲート、
７６…コントロールゲート。
【図１】
2004054966.tif 000003
【図２】
2004054966.tif 000004
【図３】
2004054966.tif 000005
【図４】
2004054966.tif 000006
【図５】
2004054966.tif 000007
【図６】
2004054966.tif 000008
【図７】
2004054966.tif 000009
【図８】
2004054966.tif 000010
【図９】
2004054966.tif 000011
【図１０】
2004054966.tif 000012
【図１１】
2004054966.tif 000013
【図１２】
2004054966.tif 000014
【図１３】
2004054966.tif 000015
【図１４】
2004054966.tif 000016
【図１５】
2004054966.tif 000017
【図１６】
2004054966.tif 000018
【図１７】
2004054966.tif 000019
【図１８】
2004054966.tif 000020
【図１９】
2004054966.tif 000021
【図２０】
2004054966.tif 000022