(57)【要約】【課題】  消去時間が短縮された不揮発性半導体記憶装置を提供する。【解決手段】  メモリブロックのデータを消去する際に、メモリブロックに対して一括して消去パルスを印加する動作Ｓ３と、メモリブロックの一部の領域に限定して一括して消去パルスを印加する動作Ｓ６とを併用する。これにより、ベリファイパスとなったメモリセルに対して過剰に印加される消去パルス数を従来よりも低減でき、その結果過消去リカバリ書込Ｓ９の対象となるメモリセル数が減り、ブロック消去時間の総計を短くすることができる【選択図】        図４
2005085309.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配列され制御ゲートと浮遊ゲートとを有する複数のメモリトランジスタと、前記複数のメモリトランジスタの行に対応して設けられる複数のワード線と、前記複数のメモリトランジスタの列に対応して設けられる複数のビット線とを含むメモリブロックと、
前記メモリブロック内における消去パルスの印加対象を選択する選択回路と、
前記メモリブロックが保持する情報を一括消去する際に、前記メモリブロックのデータ消去の制御を行なう書込消去制御部とを備え、
前記一括消去の過程には、
一括消去の途中の消去状態である第１の消去状態と、
前記第１の消去状態よりも後の消去状態である第２の消去状態とを含み、
前記第１、第２の消去状態は、前記複数のメモリトランジスタのしきい値電圧の分布が予め定められた第１、第２のしきい値電圧よりもそれぞれ低くなった状態であり、
前記書込消去制御部は、前記選択回路に、
前記メモリブロックが前記第１の消去状態になるまで、第１の消去パルスを繰り返し与えるよう前記メモリブロック内のメモリトランジスタを一括して選択させる指示をし、
前記メモリブロックが前記第１の消去状態になった後に、前記メモリブロック内のメモリトランジスタに対し通常の書込よりも弱い書込パルスを与えるよう選択させる指示をし、
さらに、前記メモリブロックが前記第２の消去状態になるまで、前記メモリブロックを複数の領域に分割し、各領域ごとに一括して第２の消去パルスを与えるよう前記各領域ごとに順次選択させる指示をする、不揮発性半導体記憶装置。
【請求項２】
前記選択回路は、
前記書込消去制御部の指示に応じて、前記第１の消去パルス印加時は、前記複数のワード線を一括して選択し、前記第２の消去パルス印加時は、前記複数のワード線のうちの一部分のワード線を一括して選択する、請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記書込消去制御部は、行アドレスおよび列アドレスを順次変更しながら前記メモリブロックからデータを読出して前記メモリブロックが前記第２の消去状態になったか否かを確認するベリファイ動作を行ない、前記ベリファイ動作の結果が不良である毎に前記一部分のワード線に接続されたメモリトランジスタに前記第２の消去パルスを印加するよう前記選択回路に指示し、また
前記ベリファイ動作の結果が不良となった時点に指定されていた行アドレスに対応するワード線を前記一部分のワード線に少なくとも含むよう前記選択回路に指示する、請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記書込消去制御部は、前記第１の消去パルス印加時は、前記複数のビット線に対して一括して消去するためのデータを与え、前記第２の消去パルス印加時は、前記複数のビット線のうちの一部分のビット線に前記消去するためのデータを与える、請求項１に記載の不揮発性半導体記憶装置。
【請求項５】
前記書込消去制御部は、行アドレスおよび列アドレスを順次変更しながら前記メモリブロックからデータを読出して前記メモリブロックが前記第２の消去状態になったか否かを確認するベリファイ動作を行ない、前記ベリファイ動作の結果が不良である毎に前記一部分のビット線に接続されたメモリセルに対して前記第２の消去パルスを印加するよう前記選択回路に指示し、また
前記ベリファイ動作の結果が不良となった時点に指定されていた列アドレスに対応するビット線を前記一部分のビット線に少なくとも含むよう前記選択回路に指示する、請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
前記選択回路は、
前記書込消去制御部の指示に応じて、前記第１の消去パルス印加時は、前記複数のワード線を一括して選択し、前記第２の消去パルス印加時は、前記第２の消去パルスの印加回数が所定数未満であるときは前記複数のワード線を一括して選択し、前記第２の消去パルスの印加回数が所定数以上であるときは前記複数のワード線のうちの一部分のワード線を一括して選択する、請求項１に記載の不揮発性半導体記憶装置。
【請求項７】
前記書込消去制御部は、行アドレスおよび列アドレスを順次変更しながら前記メモリブロックからデータを読出して前記メモリブロックが前記第２の消去状態になったか否かを確認するベリファイ動作を行ない、前記ベリファイ動作の結果が不良である毎に前記選択回路により選択されたワード線に接続されたメモリトランジスタに前記第２の消去パルスを印加するよう前記選択回路に指示し、また
前記ベリファイ動作の結果が不良となった時点に指定されていた行アドレスに対応するワード線を前記一部分のワード線に少なくとも含むよう前記選択回路に指示する、請求項６に記載の不揮発性半導体記憶装置。
【請求項８】
前記第２のしきい値電圧は前記第１のしきい値電圧よりも高いことを特徴とする、請求項１に記載の不揮発性半導体記憶装置。
【請求項９】
行列状に配列され制御ゲートと浮遊ゲートとを有する複数のメモリトランジスタと、前記複数のメモリトランジスタの行に対応して設けられる複数のワード線と、前記複数のメモリトランジスタの列に対応して設けられる複数のビット線とを含むメモリブロックと、
前記メモリブロック内における消去パルスの印加対象を選択する選択回路と、
前記メモリブロックが保持する情報を一括消去する際に、前記メモリブロックのデータ消去の制御を行なう書込消去制御部とを備え、
前記一括消去の過程には、
一括消去の途中の消去状態である第１の消去状態と、
前記第１の消去状態よりも後の消去状態である第２の消去状態とを含み、
前記第１、第２の消去状態は、前記複数のメモリトランジスタのしきい値電圧の分布が予め定められた第１、第２のしきい値電圧よりもそれぞれ低くなった状態であり、
第１の書込状態は、前記複数のメモリトランジスタのしきい値電圧の分布が前記第１のしきい値電圧より低い電圧である所定のしきい値電圧よりも高くなった状態であり、
前記書込消去制御部は、前記選択回路に、
前記メモリブロックが前記第１の消去状態になるまで、第１の消去パルスを繰り返し与えるよう前記メモリブロック内のメモリトランジスタを一括して選択させる指示をし、
前記メモリブロックが前記第１の消去状態になった後に、前記メモリブロックが前記第１の書込状態になるまで、前記メモリブロックを複数の領域に分割し、各領域ごとに一括して通常の書込よりも弱い書込パルスを与えるよう前記各領域ごとに順次選択させる指示をし、
さらに、前記メモリブロックが前記第２の消去状態になるまで、前記メモリブロックに第２の消去パルスを繰り返し与えるよう前記メモリブロック内のメモリトランジスタを一括して選択させる指示をする、不揮発性半導体記憶装置。
【請求項１０】
前記選択回路は、
前記書込消去制御部の指示に応じて、前記第１の消去パルス印加時は、前記複数のワード線を一括して選択し、通常の書込よりも弱い前記書込パルスの印加時は、前記複数のワード線のうちの一部分のワード線を一括して選択する、請求項９に記載の不揮発性半導体記憶装置。
【請求項１１】
前記書込消去制御部は、行アドレスおよび列アドレスを順次変更しながら前記メモリブロックからデータを読出して前記メモリブロックが前記第１の書込状態になったか否かを確認するベリファイ動作を行ない、前記ベリファイ動作の結果が不良である毎に前記一部分のワード線に接続されたメモリトランジスタに通常の書込よりも弱い前記書込パルスを印加するよう前記選択回路に指示し、また
前記ベリファイ動作の結果が不良となった時点に指定されていた行アドレスに対応するワード線を前記一部分のワード線に少なくとも含むよう前記選択回路に指示する、請求項１０に記載の不揮発性半導体記憶装置。
【請求項１２】
前記選択回路は、
前記書込消去制御部の指示に応じて、前記第１の消去パルス印加時は、前記複数のワード線を一括して選択し、通常の書込よりも弱い前記書込パルス印加時は、前記書込パルスの印加回数が所定数未満であるときは前記複数のワード線を一括して選択し、前記書込パルスの印加回数が所定数以上であるときは前記複数のワード線のうちの一部分のワード線を一括して選択する、請求項９に記載の不揮発性半導体記憶装置。
【請求項１３】
前記書込消去制御部は、行アドレスおよび列アドレスを順次変更しながら前記メモリブロックからデータを読出して前記メモリブロックが前記第１の書込状態になったか否かを確認するベリファイ動作を行ない、前記ベリファイ動作の結果が不良である毎に前記選択回路により選択されたワード線に接続されたメモリトランジスタに通常の書込よりも弱い前記書込パルスを印加するよう前記選択回路に指示し、また
前記ベリファイ動作の結果が不良となった時点に指定されていた行アドレスに対応するワード線を前記一部分のワード線に少なくとも含むよう前記選択回路に指示する、請求項１２に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性半導体記憶装置に関し、より特定的には、消去また書込を行なう領域が変更可能なフラッシュメモリに関する。
【背景技術】
【０００２】
フラッシュメモリは、電気的に書換可能な不揮発性メモリ（ＥＥＰＲＯＭ）のうち、複数のメモリセルを一括消去するメモリである。近年の大容量のフラッシュメモリでは、メモリアレイを複数のブロックに分割し、このブロック単位で一括消去を行なうブロック消去方式を採用している場合が多い。
【０００３】
図２２は、従来のフラッシュメモリのブロック消去時の動作を示したフローチャートである。
【０００４】
図２３は、メモリブロックを示した回路図である。
【０００５】
図２３では説明を簡単にするために、メモリブロックは、メモリセルが４行４列に配置された構成としている。各メモリセルは、しきい値電圧の変化によってデータを不揮発的に記憶することができるメモリトランジスタを含む。メモリトランジスタは、フローティングゲートを有し、フローティングゲートに電子を注入し、または、フローティングゲートから電子を引き抜くことによって、しきい値電圧が変化する。以降このメモリトランジスタのことを単に、メモリセルとも称する。
【０００６】
図２２、図２３を参照して、ブロック消去が開始されると、まずステップＳ５０１において消去前の書込が行なわれる。
【０００７】
図２４は、消去前書込が行なわれた後のメモリセルのしきい値電圧の分布を示した図である。
【０００８】
消去前は、メモリブロック内の各メモリセルの保持データが１であるか０であるかが通常ばらばらであるので、このまま消去動作を行なうと、過消去となるメモリセルが多くなってしまう。図２４に示すように、消去前書込が行なわれると、メモリブロック内の各メモリセルのしきい値電圧の分布は、電圧が高い側に移動する。
【０００９】
図２２においてステップＳ５０１が終了すると、次にステップＳ５０２，Ｓ５０３においてメモリブロックを第１の消去状態に設定する作業が行なわれる。具体的には、行アドレスおよび列アドレスを変更しながら各メモリトランジスタから読出を行ない、メモリセルが消去状態にあるか否かがステップＳ５０２の消去ベリファイ１で判断される。
【００１０】
ステップＳ５０２においてメモリセルが消去状態になっていないと判断されるごとにステップＳ５０３においてメモリブロックに一括して消去パルスが印加される。
【００１１】
本明細書では区別の容易化のため、ステップＳ５０３で印加されるような第１の消去状態を実現するために印加する消去パルスを消去パルス１と呼び、後にステップＳ５０７で印加されるような第２の消去状態を実現するために印加する消去パルスを消去パルス２と呼ぶことにする。また消去パルス１、消去パルス２に対応して、第１の消去状態を確認するためのベリファイを消去ベリファイ１と呼び、第２の消去状態を確認するためのベリファイを消去ベリファイ２と呼ぶことにする。
【００１２】
図２３に示すように、ステップＳ５０３の消去パルスの印加は、ワード線、ビット線、ソース線を所定の電圧に設定することで行なわれる。具体的には、ワード線ＷＬ０〜ＷＬ３はすべて負電圧たとえば−１０Ｖに設定され、ビット線ＢＬ〜ＢＬ３はすべて開放状態とされ、ソース線ＳＬは正電圧たとえば＋１０Ｖに設定される。このように電圧を設定することにより、メモリブロックのすべてのメモリセルに対してしきい値電圧を下げる作用を有する消去パルスが一括して与えられることになる。
【００１３】
図２５は、消去パルス印加時のメモリトランジスタに与えられる電圧を示した図である。
【００１４】
図２５を参照して、ワード線に接続されているコントロールゲートには負電圧たとえば−１０Ｖが印加される。Ｐウェルおよびソースには正電圧たとえば＋１０Ｖが与えられる。このソースはソース線ＳＬに接続されている。一方、メモリトランジスタのドレインは開放状態とされる。このドレインはビット線に接続されている。また、内部にＰウェルが形成されているＮウェルの電圧も正電圧、たとえば＋１０Ｖに設定される。消去パルスが与えられることにより、トンネル現象によってフローティングゲート中の電子が引抜かれ、しきい値電圧Ｖｔｈが低下する。
【００１５】
図２６は、消去パルス１を印加した後のしきい値電圧の分布を示す図である。
【００１６】
図２２、図２６を参照して、ステップＳ５０２、ステップＳ５０３において消去動作が完了すると、メモリブロック内の各メモリセルのしきい値電圧の分布は、ベリファイ電圧Ｖｔｈ１より小さい領域に移動している。ただし、ステップＳ５０２の消去ベリファイ１がパスした直後では、過消去すなわちしきい値電圧が０Ｖ以下となってしまう領域にしきい値電圧分布の下限がはみだしてしまうことがある。したがって、ステップＳ５０４およびステップＳ５０５においてソフト一括書込ベリファイ、ソフト一括書込パルス印加という処理を行なう。ステップＳ５０５において与えられる通常の書込時よりも弱い書込パルスをソフト一括書込パルスと呼ぶ。
【００１７】
図２７は、ソフト一括書込パルスを与えているときのメモリセルの電圧印加状態を示した図である。
【００１８】
図２７を参照して、ワード線に接続されているコントロールゲートには正電圧たとえば＋１０Ｖが与えられる。ソース線ＳＬに接続されているソースとメモリトランジスタが形成されているＰウェルの電圧は、負電圧たとえば−５Ｖに設定される。ビット線に接続されているドレインは開放状態とされる。またＰウェルの下部に存在するＮウェルは電源電圧Ｖｄｄが与えられる。このような電圧を印加することにより、トンネル現象によりフローティングゲートに電子が注入され、しきい値電圧Ｖｔｈが上昇する。
【００１９】
図２８は、ソフト一括書込ベリファイが完了した直後のしきい値電圧の分布を示した図である。
【００２０】
図２２、図２８を参照して、ステップＳ５０５においてソフト一括書込パルスがメモリブロックに一括して与えられる。これにより、メモリセルのしきい値電圧分布の下限値がシフトされる。メモリセルのしきい値電圧分布の下限値がベリファイ電圧Ｖｔｈ２以上になるように、メモリブロックのすべてのメモリセルに一括して、ソフト書込パルスが与えられる。メモリセルのしきい値電圧分布の下限値がベリファイ電圧Ｖｔｈ２以上になったとき、ステップＳ５０４のソフト一括書込ベリファイがパスする。
【００２１】
ステップＳ５０４においてソフト一括書込ベリファイがパスすると、逆にしきい値電圧の分布の上限側に分布が飛び出したビットが存在することがある。この上限飛び出しビットのしきい値電圧を消去状態に戻すために再びステップＳ５０６、ステップＳ５０７においてメモリブロックに対して消去パルス２が印加される。
【００２２】
ステップＳ５０６，ステップＳ５０７においてメモリセルのしきい値電圧の分布がすべて所定の上限設定電圧Ｖｔｈ３以下になるまで消去パルス２の印加が繰返される。このステップＳ５０７における消去パルス２の印加もステップＳ５０３と同様ブロックのメモリセルに一括してパルスが与えられる。
【００２３】
図２９は、ステップＳ５０６における消去ベリファイ２が完了した後のしきい値電圧の分布を示す図である。
【００２４】
消去パルス２をソフト一括書込後に与えることにより、分布が飛び出していたビットに対しても、図２９に示すようにしきい値電圧はベリファイ電圧Ｖｔｈ３以下になっている。
【００２５】
最後にステップＳ５０６の消去ベリファイ２が完了すると、続いてステップＳ５０８，ステップＳ５０９において過消去となったメモリセルに対して１ビット単位で過消去リカバリ書込が行なわれる。
【００２６】
図３０は、ステップＳ５０８の過消去ベリファイが完了した後のメモリセルのしきい値電圧の分布を示した図である。
【００２７】
ステップＳ５０８で読出したことによりそのメモリセルが過消去であることが判明すると、ステップＳ５０９においてその過消去と判明したメモリセル１つに対して書込パルスが印加される。ステップＳ５０８、Ｓ５０９が繰返される結果、ベリファイ電圧Ｖｔｈ４よりもしきい値電圧が小さかったメモリセルのみに書込パルスが与えられ、書込パルスが印加されたメモリセルのしきい値電圧はしきい値電圧が大きくなる側にシフトする。
【００２８】
図２２に示すフローにしたがって処理を行ない、メモリブロック内の各メモリセルのしきい値電圧の分布を、しきい値電圧下限としきい値電圧上限の設定電圧値内に納めることで、ブロック一括消去動作は完了する。
【００２９】
このように、同じ書込パルスや同じ消去パルスを与えても、各メモリセルの特性にばらつきがあるため、メモリセルのしきい値電圧の分布が広がってしまう。このため、パルスの強度を変えながらブロックに対して一括して書込パルスや消去パルスを与えることを何回か繰り返し行なった後、最後に、過消去となったメモリセルに対して１ビットごとに書込を行なっている。最初のうちは一括してメモリセルに対してパルスを与えるのは、パルスを与える合計回数を少なくするためである。最初から１ビットごとに書込を行なったりすると、パルス印加の回数が多くなり消去時間が長くなってしまうからである。
【００３０】
なお、不揮発性半導体記憶装置の一括消去に関連する従来技術として、特開平３−１０５７９５号公報（特許文献１）に、メモリアレイの一括消去を含む多様な部分的消去を実現する技術が開示されている。
【特許文献１】特開平３−１０５７９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
従来は、ソフト一括書込後の消去パルス２の印加は、ブロック一括単位で行なわれていた。具体的には、消去パルス２の印加は、消去ベリファイがフェイルとなる毎に行なわれていた。消去ベリファイは、ロウアドレスおよびコラムアドレスの両方を順次インクリメントしながら、一度に１または８または１６ビットのデータ毎に読出を行ないパス／フェイルの判定を行なう。たとえば、図２３に示したような１６個のメモリセルからなるメモリブロックの場合は、メモリセル１個ずつから読出を行ないメモリセル１個ごとにパス／フェイルの判定を行なう。
【００３２】
このため、ロウアドレス小かつコラムアドレス小に相当する領域は、一度ベリファイパスした後にも、その後ベリファイが行なわれるさらに上位アドレスに相当する領域のベリファイがフェイルであれば、消去パルス２がさらに印加されることになる。
【００３３】
その結果、消去対象のブロックのすべてのメモリセルのしきい値電圧が、消去ベリファイ電圧以下に下がるまでには、ベリファイがパスとなった領域に消去パルスが過剰に印加されてしまう。すると、過剰に消去パルスが印加されてしまったメモリセルのしきい値電圧が、許容分布の下限より低くなり、過消去となるメモリセルが増加する。そして、過消去リカバリ書込の対象となるメモリセルが増えた結果、消去時間が長くなるという問題があった。
【００３４】
この発明の目的は、消去時間が短縮された不揮発性半導体記憶装置を提供することである。
【課題を解決するための手段】
【００３５】
この発明は、要約すると、不揮発性半導体記憶装置であって、行列状に配列され制御ゲートと浮遊ゲートとを有する複数のメモリトランジスタと、複数のメモリトランジスタの行に対応して設けられる複数のワード線と、複数のメモリトランジスタの列に対応して設けられる複数のビット線とを含むメモリブロックと、メモリブロック内における消去パルスの印加対象を選択する選択回路と、メモリブロックが保持する情報を一括消去する際に、メモリブロックのデータ消去の制御を行なう書込消去制御部とを備える。一括消去の過程には、一括消去の途中の消去状態である第１の消去状態と、第１の消去状態よりも後の消去状態である第２の消去状態とを含む。第１、第２の消去状態は、複数のメモリトランジスタのしきい値電圧の分布が予め定められた第１、第２のしきい値電圧よりもそれぞれ低くなった状態である。書込消去制御部は、選択回路に、メモリブロックが第１の消去状態になるまで、第１の消去パルスを繰り返し与えるようメモリブロック内のメモリトランジスタを一括して選択させる指示をし、メモリブロックが第１の消去状態になった後に、メモリブロック内のメモリトランジスタに対し通常の書込よりも弱い書込パルスを与えるよう選択させる指示をし、さらに、メモリブロックが第２の消去状態になるまで、メモリブロックを複数の領域に分割し、各領域ごとに一括して第２の消去パルスを与えるよう各領域ごとに順次選択させる指示をする。
【００３６】
この発明の他の局面に従う不揮発性半導体記憶装置は、行列状に配列され制御ゲートと浮遊ゲートとを有する複数のメモリトランジスタと、複数のメモリトランジスタの行に対応して設けられる複数のワード線と、複数のメモリトランジスタの列に対応して設けられる複数のビット線とを含むメモリブロックと、メモリブロック内における消去パルスの印加対象を選択する選択回路と、メモリブロックが保持する情報を一括消去する際に、メモリブロックのデータ消去の制御を行なう書込消去制御部とを備える。一括消去の過程には、一括消去の途中の消去状態である第１の消去状態と、第１の消去状態よりも後の消去状態である第２の消去状態とを含む。第１、第２の消去状態は、複数のメモリトランジスタのしきい値電圧の分布が予め定められた第１、第２のしきい値電圧よりもそれぞれ低くなった状態であり、第１の書込状態は、複数のメモリトランジスタのしきい値電圧の分布が第１のしきい値電圧より低い電圧である所定のしきい値電圧よりも高くなった状態である。書込消去制御部は、選択回路に、メモリブロックが第１の消去状態になるまで、第１の消去パルスを繰り返し与えるようメモリブロック内のメモリトランジスタを一括して選択させる指示をし、メモリブロックが第１の消去状態になった後に、メモリブロックが第１の書込状態になるまで、メモリブロックを複数の領域に分割し、各領域ごとに一括して通常の書込よりも弱い書込パルスを与えるよう各領域ごとに順次選択させる指示をし、さらに、メモリブロックが第２の消去状態になるまで、メモリブロックに第２の消去パルスを繰り返し与えるようメモリブロック内のメモリトランジスタを一括して選択させる指示をする。
【発明の効果】
【００３７】
本発明によれば、メモリブロックのデータを消去する際に、第１の消去状態となるまでメモリブロックに対して一括して消去パルスを印加する動作と、第２の消去状態となるまでメモリブロックの一部の領域に対して一括して消去パルスを印加する動作とを併用する。これにより、ベリファイパスとなったメモリセルに対して過剰に印加される消去パルス数を従来よりも低減でき、その結果過消去リカバリ書込の対象となるメモリセル数が減り、ブロック消去時間の総計を短くすることができる。
【発明を実施するための最良の形態】
【００３８】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【００３９】
［実施の形態１］
図１は、本発明の実施の形態１の不揮発性半導体記憶装置の構成を示す概略ブロック図である。
【００４０】
図１を参照して、不揮発性半導体記憶装置１は、内部にＲＯＭを用い、このＲＯＭに保持しているプログラムコードに基づき書込および消去の制御を行なう書込＆消去制御部２と、書込＆消去制御部２からスタンバイ信号ＣＸＨＲＤＹおよびチャージポンプ活性化信号ＰＰＵＭＰＥ、リセット信号ＲＳＴＥを受けてこれらに応じて出力電位Ｖｏｕｔ＋、Ｖｏｕｔ−、ＶWLを発生して出力する電圧発生部３と、外部からアドレス信号ＡＤＲを受けるアドレスバッファ１６と、アドレスバッファ１６から内部アドレス信号を受け電圧発生部３から電位の供給を受け、ワード線ＷＬ０，ＷＬ１，ソース線ＳＬおよびウェルの各電位を決定するＸデコーダ１８と、データ入出力信号ＤＩＯを授受するための入出力バッファ２２と、アドレスバッファ１６からアドレス信号を受けデコードするＹデコーダ２０と、Ｙデコーダ２０の出力に応じてデータ入出力信号に対応しビット線ＢＬに高電圧を印加するＹ系制御回路２４とを含む。
【００４１】
電圧発生部３は、書込＆消去制御部２からスタンバイ信号ＣＸＨＲＤＹおよびチャージポンプ活性化信号ＰＰＵＭＰＥ、リセット信号ＲＳＴＥを受けてこれらに応じて出力電位Ｖｏｕｔ＋を発生させる正電圧発生回路４と、スタンバイ信号ＣＸＨＲＤＹ、リセット信号ＲＳＴＥおよびチャージポンプ活性化信号ＮＰＵＭＰＥを受けて出力電位Ｖｏｕｔ−を発生させる負電圧発生回路８と、ワード線電位ＶWLを発生させるＷＬブースト回路１２と、書込＆消去制御部２によって制御され出力電位Ｖｏｕｔ＋、Ｖｏｕｔ−およびワード線電位ＶWLを受けて各内部回路に分配するディストリビュータ１４とを含む。
【００４２】
Ｘデコーダ１８は、図示しないが、ワード線を選択するためのＷＬデコーダと、選択されたメモリブロックに対応するウェル領域を選択するＷＥＬＬデコーダと、ソース線を選択するためのＳＬデコーダとを含む。
【００４３】
Ｙ系制御回路２４は、図示しないが、読出時にカラム選択を行ないセンスアンプで読出作業を行なうＹＧ＆センスアンプとラッチ回路と、ラッチしているデータに基づきビット線ＢＬに所定の電位を印加するかどうかを決定するページバッファとを含む。
【００４４】
ＷＬブースト回路１２は、高速アクセスを実現するために読出時に選択されたワード線ＷＬに与える昇圧電位を発生する回路である。
【００４５】
不揮発性半導体記憶装置１は、さらに、メモリアレイ２６を含む。メモリアレイ２６は、それぞれが分離されたウェルの内部に形成されるメモリブロックＢＬＯＣＫ０〜ＢＬＯＣＫｎを含む。
【００４６】
書込＆消去制御部２は、Ｘデコーダ１８に対してブロック消去時に使用する制御信号ＥＲＳ１，ＥＳＲ２を出力する。また書込＆消去制御部２は、ベリファイ用のアドレス信号ＶＡＤＲをＸデコーダ１８およびＹデコーダ２０に対して出力する。ベリファイ動作時には、書込＆消去制御部２は、Ｙ系制御回路２４から読出データＲＤＡＴＡを受取り、また書戻しデータや消去データであるデータＷＤＡＴＡをＹ系制御回路２４に対して与える。
【００４７】
図２は、図１におけるＸデコーダ１８の構成を示した回路図である。
【００４８】
図２を参照して、Ｘデコーダ１８は、制御信号ＥＲＳ１，ＥＲＳ２とアドレス信号ＡＸ０，ＡＸ１およびその反転信号ＩＡＸ０，ＩＡＸ１に応じてワード線を選択する選択部３０と、選択部３０の出力に応じてワード線ＷＬ０〜ＷＬ３を駆動するワード線ドライバ３２とを含む。
【００４９】
選択部３０は、制御信号ＥＲＳ１を受けて反転するインバータ４０と、制御信号ＥＲＳ２および信号ＩＡＸ１を受けるＮＡＮＤ回路４２と、制御信号ＥＲＳ２および信号ＡＸ１を受けるＮＡＮＤ回路４４と、インバータ４０の出力とＮＡＮＤ回路４２の出力とを受けるＡＮＤ回路４６と、インバータ４０の出力とＮＡＮＤ回路４４の出力とを受けるＡＮＤ回路４８とを含む。
【００５０】
選択部３０は、さらに、信号ＩＡＸ０，ＩＡＸ１を受けるＡＮＤ回路５０と、信号ＡＸ０，ＩＡＸ１を受けるＡＮＤ回路５２と、信号ＩＡＸ０，ＡＸ１を受けるＡＮＤ回路５４と、信号ＡＸ０，ＡＸ１を受けるＡＮＤ回路５６とを含む。
【００５１】
選択部３０は、さらに、ＡＮＤ回路４６の出力とＡＮＤ回路５０の出力とを受けるＡＮＤ回路６０と、ＡＮＤ回路４６の出力とＡＮＤ回路５２の出力とを受けるＡＮＤ回路６２と、ＡＮＤ回路４８の出力とＡＮＤ回路５４の出力とを受けるＡＮＤ回路６４と、ＡＮＤ回路４８の出力とＡＮＤ回路５６の出力とを受けるＡＮＤ回路６６とを含む。
【００５２】
選択部３０は、さらに、ＡＮＤ回路４６の出力とＡＮＤ回路６０の出力とを受けるＯＲ回路７０と、ＡＮＤ回路４６の出力とＡＮＤ回路６２の出力とを受けるＯＲ回路７２と、ＡＮＤ回路４８の出力とＡＮＤ回路６４の出力とを受けるＯＲ回路７４と、ＡＮＤ回路４８の出力とＡＮＤ回路６６の出力とを受けるＯＲ回路７６とを含む。
【００５３】
ワード線ドライバ３２は、ＯＲ回路７０の出力に応じてワード線ＷＬ０を駆動する駆動回路８０と、ＯＲ回路７２の出力に応じてワード線ＷＬ１を駆動する駆動回路８２と、ＯＲ回路７４の出力に応じてワード線ＷＬ２を駆動する駆動回路８４と、ＯＲ回路７６の出力に応じてワード線ＷＬ３を駆動する駆動回路８６とを含む。駆動回路８０〜８６には、図１のディストリビュータ１４から駆動電位として電位ＶＰ，ＶＮが与えられる。
【００５４】
従来は、Ｘデコーダは、ブロックのワード線のいずれか１つを個別に選択するか、または、ブロックのワード線を一括してすべて選択するかのいずれかの動作しかできなかった。しかし、図２に示すＸデコーダ１８は、たとえば消去パルス印加時においては電位ＶＰは０Ｖに設定され、電位ＶＮは負電位である−１０Ｖに設定されているときに、ワード線ＷＬ０，ＷＬ１を−１０Ｖに設定し、ワード線ＷＬ２，ＷＬ３を０Ｖに設定することができる。
【００５５】
図３は、図１におけるメモリブロックＢＬＯＣＫ０の構成を示した回路図である。
【００５６】
図３を参照して、メモリブロックＢＬＯＣＫ０は、ビット線ＢＬ０とソース線ＳＬとの間に接続されゲートにワード線ＷＬ０，ＷＬ１，ＷＬ２，ＷＬ３がそれぞれ接続されるメモリトランジスタＭ００，Ｍ１０，Ｍ２０，Ｍ３０と、ビット線ＢＬ１とソース線ＳＬとの間に接続されゲートにワード線ＷＬ０，ＷＬ１，ＷＬ２，ＷＬ３がそれぞれ接続されるメモリトランジスタＭ０１，Ｍ１１，Ｍ２１，Ｍ３１とを含む。
【００５７】
メモリブロックＢＬＯＣＫ０は、さらに、ビット線ＢＬ２とソース線ＳＬとの間に接続されゲートにワード線ＷＬ０，ＷＬ１，ＷＬ２，ＷＬ３がそれぞれ接続されるメモリトランジスタＭ０２，Ｍ１２，Ｍ２２，Ｍ３２と、ビット線ＢＬ３とソース線ＳＬとの間に接続されゲートにワード線ＷＬ０，ＷＬ１，ＷＬ２，ＷＬ３がそれぞれ接続されるメモリトランジスタＭ０３，Ｍ１３，Ｍ２３，Ｍ３３とを含む。
【００５８】
なお、図３では、説明の簡単のために、４×４のメモリトランジスタが行列状に配列されたメモリブロックを例示したが、実際には、メモリブロックにはさらに多くのワード線およびビット線が設けられより多くのメモリトランジスタが含まれる。
【００５９】
図４は、実施の形態１のブロック消去の動作を説明するためのフローチャートである。
【００６０】
図４を参照して、実施の形態１のブロック消去動作は、ソフト一括書込動作までは従来と同じであるが、二度目の消去動作では、後に説明するようにワード線の選択数を通常のブロック一括選択から２分の１のワード線に限定して選択する点が異なる。ワード線は２分の１に分割する場合に限らずたとえば４分の１や８分の１に分割して選択してもよい。
【００６１】
以下、フローチャートを順次説明する。
【００６２】
まずブロック消去コマンドが入力されると、ステップＳ１において消去前書込が行なわれる。
【００６３】
消去前は、メモリブロック内の各メモリセルの保持データが１であるか０であるかが通常ばらばらであるので、このまま消去動作を行なうと、過消去となるメモリセルが多くなってしまう。先に図２４に示したように、消去前書込が行なわれると、メモリブロック内の各メモリセルのしきい値電圧の分布は、電圧が高い側に移動する。
【００６４】
ステップＳ１が終了すると、次にステップＳ２，Ｓ３においてメモリブロックを第１の消去状態に設定する作業が行なわれる。具体的には、行アドレスおよび列アドレスを変更しながら各メモリトランジスタから読出を行ない、メモリセルが消去状態にあるか否かがステップＳ２の消去ベリファイ１で判断される。
【００６５】
ステップＳ２においてメモリセルが消去状態になっていないと判断されるごとにステップＳ３においてメモリブロックに一括して消去パルスが印加される。区別の容易化のため、ステップＳ３で印加される消去パルスを消去パルス１と呼び、後にステップＳ６で印加される消去パルスを消去パルス２と呼ぶことにする。
【００６６】
先に図２３に示したように、ステップＳ３の消去パルスの印加は、ワード線、ビット線、ソース線を所定の電圧に設定することで行なわれる。具体的には、ワード線ＷＬ０〜ＷＬ３はすべて負電圧たとえば−１０Ｖに設定され、ビット線ＢＬ〜ＢＬ３はすべて開放状態とされ、ソース線ＳＬは正電圧たとえば＋１０Ｖに設定される。
【００６７】
ステップＳ３においては、図２に示したＸデコーダ１８において信号ＥＲＳ１はＨレベルに設定され、信号ＥＲＳ２はＬレベルに設定される。すると、ステップＳ２において行なわれている消去ベリファイ１のアドレスに関係なく、ワード線ドライバのすべての入力レベルがＬレベルとなる。このとき、ワード線ドライバの電源電位ＶＰは０Ｖに設定されており、電源電位ＶＮは負電位たとえば−１０Ｖに設定されている。このようにワード線が選択されることにより、該当ブロック内のすべてのワード線ＷＬ０〜ＷＬ３に負電位が印加され、メモリブロックに含まれているメモリトランジスタに一括して消去パルスが印加される。
【００６８】
このように電圧を設定することにより、メモリブロックのすべてのメモリセルに対してしきい値電圧を下げる作用を有する消去パルスが一括して与えられることになる。消去パルスが与えられることにより、トンネル現象によってフローティングゲート中の電子が引抜かれ、しきい値電圧Ｖｔｈが低下する。
【００６９】
ステップＳ２、ステップＳ３において消去動作が完了すると、先に図２６で示したようにメモリブロック内の各メモリセルのしきい値電圧の分布は、ベリファイ電圧Ｖｔｈ１より小さい領域に移動している。ただし、ステップＳ２の消去ベリファイ１がパスした直後を第１の消去状態とすると、この第１の消去状態はメモリブロックの一括消去の途中の消去状態である。具体的には、過消去すなわちしきい値電圧が０Ｖ以下となってしまう領域に、しきい値電圧分布の下限がはみだしてしまうことがある。したがって、ステップＳ４およびステップＳ５においてソフト一括書込ベリファイ、ソフト一括書込パルス印加という処理を行なう。ステップＳ５において与えられる通常の書込時よりも弱い書込パルスをソフト一括書込パルスと呼ぶ。ここで、弱い書込パルスとは、通常の書込時よりパルス電圧の絶対値が小さいパルス、パルス幅が短いパルス、または、パルス電圧が小さくかつパルス幅の短いパルスをいう。
【００７０】
ソフト一括書込パルスを与えているとき、ワード線に接続されているコントロールゲートには正電圧たとえば＋１０Ｖが与えられる。ソース線ＳＬに接続されているソースとメモリトランジスタが形成されているＰウェルの電圧は、負電圧たとえば−５Ｖに設定される。ビット線に接続されているドレインは開放状態とされる。またＰウェルの下部に存在するＮウェルは電源電圧Ｖｄｄが与えられる。このような電圧を印加することにより、トンネル現象によりフローティングゲートに電子が注入され、しきい値電圧Ｖｔｈが上昇する。
【００７１】
ステップＳ５においてソフト一括書込パルスがメモリブロックに一括して与えられると、先に図２８で示したようにメモリセルのしきい値電圧分布の下限値がシフトされる。メモリセルのしきい値電圧分布の下限値がベリファイ電圧Ｖｔｈ２以上になるように、メモリブロックのすべてのメモリセルに一括して、ソフト書込パルスが与えられる。メモリセルのしきい値電圧分布の下限値がベリファイ電圧Ｖｔｈ２以上になったとき、ステップＳ４のソフト一括書込ベリファイがパスする。
【００７２】
ステップＳ４においてソフト一括書込ベリファイがパスすると、逆にしきい値電圧の分布の上限側に分布が飛び出したビットが存在することがある。この上限飛び出しビットのしきい値電圧を消去状態に戻すためにステップＳ６の消去２という処理が行なわれる。
【００７３】
ステップＳ６では、消去パルス２を印加する動作が行なわれる。消去パルス２の印加は、メモリブロック内のワード線は一括して選択されるのではなく、ワード線が分割選択される。具体的には、後に詳しく説明するように、一括して選択されるワード線の数がメモリブロックのワード線の総数の２分の１に限定される。
【００７４】
また、消去パルス２を消去パルス１より電圧を小さくしたり、パルス幅を短くすることで、より過消去が生じにくくできる。
【００７５】
消去パルス２をソフト一括書込後に与えることにより、分布が飛び出していたビットに対しても、先に図２９に示したようにしきい値電圧はベリファイ電圧Ｖｔｈ３以下になっている。なお、ベリファイ電圧Ｖｔｈ３は、ベリファイ電圧Ｖｔｈ１より電圧の絶対値を高くしておくほうが消去動作を早く終了するには好ましい。この場合、ステップＳ６完了時のメモリアレイの状態を第２の消去状態とすると、第２の消去状態は、ステップＳ２がパスした直後の第１の消去状態よりも一括消去の過程において後の消去状態である。
【００７６】
ステップＳ６において２回目の消去動作が完了すると、ステップＳ８に進む。
【００７７】
ステップＳ６の消去２が完了すると、続いてステップＳ８，ステップＳ９において過消去となったメモリセルに対して１ビット単位で過消去リカバリ書込が行なわれる。
【００７８】
ステップＳ８で読出したことによりそのメモリセルが過消去であることが判明すると、ステップＳ９においてその過消去と判明したメモリセル１つに対して書込パルスが印加される。ステップＳ８、Ｓ９が繰返される結果、先に図３０に示したように、ベリファイ電圧Ｖｔｈ４よりもしきい値電圧が小さかったメモリセルのみに書込パルスが与えられ、書込パルスが印加されたメモリセルのしきい値電圧はしきい値電圧が大きくなる側にシフトする。
【００７９】
図５は、図４におけるステップＳ６の消去動作の詳細を説明するためのフローチャートである。
【００８０】
図５を参照して、ステップＳ６の消去２の動作が開始されるとまずステップＳ１０１においてベリファイを行なうメモリセルを指定するアドレスの初期化が行なわれる。
【００８１】
続いてステップＳ１０２に進み消去ベリファイ２が行なわれる。この消去ベリファイ２では、現在設定されているアドレスに対応するメモリトランジスタからのデータ読出が行なわれる。メモリトランジスタの保持データが消去されていることが確認されると消去ベリファイがパスとなる。
【００８２】
たとえば図３に示したメモリブロックＢＬＯＣＫ０の消去を行なう場合には、ステップＳ１０２における消去ベリファイ２は、１６個のメモリトランジスタについて個別に判断される。アドレスの初期化直後においてはまずメモリトランジスタＭ００の読出が行なわれ、このメモリトランジスタＭ００の消去がまだされていない状態であれば消去ベリファイはフェイルとなる。
【００８３】
ステップＳ１０２において消去ベリファイ２がフェイルとなったときにはステップＳ１０３に進む。ステップＳ１０３では、消去パルス２を印加するための信号ＥＲＳ１，ＥＲＳ２のセットアップが行なわれる。
【００８４】
図２に示したＸデコーダ１８に入力される信号ＥＲＳ１は、消去パルス１の印加時にＨレベルとなる信号であり、また信号ＥＲＳ２は消去パルス２の印加時にＨレベルとなる信号である。
【００８５】
図１の書込＆消去制御部２は、信号ＥＲＳ１をＬレベルに設定し、信号ＥＲＳ２をＨレベルに設定する。これにより、図２に示したＸデコーダ１８は、現在設定されているベリファイアドレスに対応するメモリトランジスタを含む領域を選択する。
【００８６】
具体的に、たとえばメモリトランジスタＭ１１が選択されている場合について説明する。現在のアドレスの設定によって図２、図３に示すようにアドレス信号ＡＸ０はＨレベルに設定され，アドレス信号ＡＸ１はＬレベルに設定されている。その反転信号である信号ＩＡＸ０，ＩＡＸ１はそれぞれＬレベル、Ｈレベルである。すると、図２に記入されているように、ＡＮＤ回路４６の出力信号はＬレベルとなり、ＡＮＤ回路４８の出力信号はＨレベルとなる。
【００８７】
続いて、ステップＳ１０４に進み、電圧発生部３から消去電圧がワード線ドライバ３２に与えられる。その結果、ワード線ＷＬ０，ＷＬ１はＬレベルに相当する負電圧ＶＮに駆動される。電位ＶＮはたとえば−１０Ｖである。一方、ワード線ＷＬ２，ＷＬ３はＨレベルに相当する電位ＶＰに駆動される。消去時においてはこの電位ＶＰはたとえば０Ｖである。
【００８８】
このようにしてメモリトランジスタＭ００〜Ｍ０３，Ｍ１０〜Ｍ１３に対して消去パルス２が印加される。このとき、メモリトランジスタＭ２０〜Ｍ２３，Ｍ３０〜Ｍ３３に対しては消去パルス２は印加されない。
【００８９】
続いてステップＳ１０５において電圧発生部３からの消去電圧がリセットされる。そしてステップＳ１０６に進み消去時の制御信号がリセットされる。すなわち信号ＥＲＳ１，ＥＲＳ２はともにＬレベルに設定される。
【００９０】
ステップＳ１０６において信号のリセットが終了すると、再びステップＳ１０２において消去ベリファイ２が行なわれる。ステップＳ１０２においてベリファイがパスすると、ステップＳ１０７において現在設定されているアドレスが最終アドレスか否かが判断される。
【００９１】
最終アドレスでなかった場合には、ステップＳ１０８においてアドレスがインクリメントされ、そしてステップＳ１０２に進み次のメモリトランジスタからデータが読出され消去ベリファイが行なわれる。ステップＳ１０７において現在設定されているアドレスが最終アドレスであると判断された場合には、ステップＳ６の消去２の動作は完了する。
【００９２】
図５に示した消去パルス２の印加時には、図４のステップＳ２，Ｓ３で行なわれる消去パルス１の印加時と異なり、信号ＥＲＳ１がＬレベルに設定され、信号ＥＲＳ２はＨレベルに設定されているので、その時点で示されているアドレス信号ＡＸ１がたとえばＬレベルだった場合には、ワード線ＷＬ０，ＷＬ１には負電位ＶＮが印加され、ワード線ＷＬ２，ＷＬ３には０Ｖが印加される。逆にアドレス信号ＡＸ１がＨレベルであればワード線ＷＬ０，ＷＬ１は０Ｖに設定されワード線ＷＬ２，ＷＬ３には負電位ＶＮが印加される。このようにしてブロック内の半分のワード線のみに消去パルス２が印加される。
【００９３】
このように消去パルス２の印加する領域を半分にすると、従来よりも過剰に消去パルスが印加されることを防ぐことができる。たとえば図３において、メモリトランジスタＭ００は、消去ベリファイ２が完了した場合にその後残り１５個のメモリトランジスタの消去ベリファイ２が行なわれるのでこれらすべてのメモリトランジスタの消去ベリファイ２がパスするまで過剰な消去パルスが印加されていた。
【００９４】
これに対し、本発明の実施の形態１によれば、メモリトランジスタＭ００は、メモリトランジスタＭ０１〜Ｍ０３，Ｍ１０〜Ｍ１３のベリファイがパスした後には過剰な消去パルス２がさらに印加されることはない。したがってメモリトランジスタＭ００が過消去となる可能性を低減させることができる。
【００９５】
つまり、ステップＳ６の消去２の動作が完了した時点で、しきい値電圧の許容範囲の下限よりも下にシフトするメモリセル数を減らすことができる。これによりステップＳ９における１ビット単位での過消去リカバリ書込の対象となるメモリトランジスタの数が減少するので、消去時間の総計が短縮できる。
【００９６】
［実施の形態２］
実施の形態１では、第２回目の消去パルスの印加時に、ワード線を限定して選択して消去パルスを印加した。実施の形態２では、ワード線を選択する代わりにビット線を用いて消去パルスを印加する領域を限定する。
【００９７】
実施の形態２の不揮発性半導体記憶装置は、図１に示した構成においてＸデコーダ１８に代えてＸデコーダ１８Ａを含み、書込＆消去制御部２はＸデコーダ１８Ａに信号ＥＲＳを与え実施の形態１とは異なる制御を行なう。
【００９８】
図６は、実施の形態２で用いられるＸデコーダ１８Ａの構成を示す回路図である。
【００９９】
図６を参照して、Ｘデコーダ１８Ａは、図２に示したＸデコーダ１８の構成において選択部３０に代えて選択部３０Ａを含む。
【０１００】
選択部３０Ａは、信号ＥＲＳを受けて反転するインバータ９８と、信号ＩＡＸ０，ＩＡＸ１を受けるＡＮＤ回路１００と、信号ＡＸ０，ＩＡＸ１を受けるＡＮＤ回路１０２と、
信号ＩＡＸ０，ＡＸ１を受けるＡＮＤ回路１０４と、信号ＡＸ０，ＡＸ１を受けるＡＮＤ回路１０６とを含む。
【０１０１】
選択部３０Ａは、さらに、インバータ９８の出力とＡＮＤ回路１００の出力とを受けるＡＮＤ回路１１０と、インバータ９８の出力とＡＮＤ回路１０２の出力とを受けるＡＮＤ回路１１２と、インバータ９８の出力とＡＮＤ回路１０４の出力とを受けるＡＮＤ回路１１４と、インバータ９８の出力とＡＮＤ回路１０６の出力とを受けるＡＮＤ回路１１６とを含む。ＡＮＤ回路１１０，１１２，１１４，１１６の出力は、それぞれ駆動回路８０，８２，８４，８６の入力に与えられる。
【０１０２】
図７は、実施の形態２のブロック消去の動作を説明するためのフローチャートである。
【０１０３】
図７を参照して、実施の形態２の消去動作のフローチャートは、図４で説明したフローチャートにおいてステップＳ６に代えてステップＳ１０を含む。ステップＳ１０では、ビット線を分割して選択し、消去２の動作が行なわれる。
【０１０４】
他のステップについては、図４の場合と同様であるので説明は繰返さない。
【０１０５】
図８は、図７におけるステップＳ１０を詳細に説明するためのフローチャートである。
【０１０６】
図８を参照して、ステップＳ１０の消去２の動作が開始されるとまずステップＳ１１１においてベリファイ対象となるメモリセルのアドレスが初期化される。続いてステップＳ１１２に進み、消去ベリファイ２が行なわれる。消去ベリファイ２では、現在設定されているアドレスに対応するメモリトランジスタに対して読出動作が行なわれそのメモリトランジスタの保持データが消去されているか否かが確認される。
【０１０７】
ステップＳ１１２の結果がフェイルであればステップＳ１１３に進み消去パルスを印加するためのセットアップが行なわれる。すなわち書込＆消去制御部２からＸデコーダ１８Ａに対して送られている信号ＥＲＳがＨレベルに設定される。これによりＸデコーダ１８Ａは図６に示されるように信号ＥＲＳがＨレベルに設定されるとワード線ＷＬ０〜ＷＬ３のすべてが選択される。
【０１０８】
一方、ビット線の選択は、書込＆消去制御部２からＹ系制御回路２４に対して送られるデータＷＤＡＴＡに応じて行なわれる。ステップＳ１１３では、ステップＳ１１２でベリファイが行なわれていたメモリトランジスタに対応するビット線のみに消去パルスが印加されるようにデータ設定が行なわれる。これらのセットアップが終了すると、ステップＳ１１４に進み消去電圧が発生されて選択されている領域に対して消去パルスが印加される。
【０１０９】
図９は、図８のステップＳ１１４における消去パルス印加状態を説明するための図である。
【０１１０】
図８、図９を参照して、ステップＳ１１２においてベリファイが行なわれていたメモリトランジスタがメモリトランジスタＭ１１であった場合には、ステップＳ１１４におけるワード線とビット線の状態は、図９に示すようにワード線ＷＬ０〜ＷＬ３のすべてには負電圧が印加され、ビット線ＢＬ１は正電圧が印加されビット線ＢＬ０，ＢＬ２，ＢＬ３は０Ｖに設定される。また、ソース線ＳＬおよびメモリブロックＢＬＯＣＫ０が形成されるＰウェルの電位は０Ｖに設定される。
【０１１１】
この結果、消去パルス２が印加される領域としてビット線ＢＬ１に接続されているメモリトランジスタＭ０１，Ｍ１１，Ｍ２１，Ｍ３１が選択され、残りのメモリトランジスタには消去パルス２は印加されない。
【０１１２】
図１０は、図８のステップＳ１１４において選択されたメモリトランジスタの電圧印加状態を示した図である。
【０１１３】
図１０を参照して、ワード線に接続されているコントロールゲートは、負電圧たとえば−１０Ｖに設定される。ビット線ＢＬ１に接続されているメモリトランジスタのドレインは正電圧たとえば５Ｖに設定される。ソース線ＳＬに接続されているメモリトランジスタのソースは０Ｖに設定される。またメモリトランジスタがその内部に形成されているＰウェルの電位は０Ｖに設定される。Ｐウェルの下部に位置するＮウェルの電位は電源電位Ｖｄｄに設定される。
【０１１４】
再び図８を参照して、ステップＳ１１４におけるパルス印加が終了すると、ステップＳ１１５に進み消去電圧がリセットされる。そしてステップＳ１１６に進み、ステップＳ１１３で設定されたセットアップ条件がリセットされる。すなわち信号ＥＲＳがＬレベルに設定され、ビット線に対するデータ設定がリセットされる。そして消去パルスの印加によりベリファイがフェイルしたビットがパスになるか否かがステップＳ１１２で再び確認される。
【０１１５】
ステップＳ１１２のベリファイ結果がパスであった場合は、ステップＳ１１７に進む。ステップＳ１１７では、現在のアドレスが最終アドレスであるか否かが確認される。最終アドレスでない場合にはステップＳ１１８に進みアドレスのインクリメントがなされる。このアドレスインクリメントは、メモリブロックＢＬＯＣＫ０に含まれるメモリトランジスタの１つずつを順に検査できるように、行アドレスおよび列アドレスが順番にインクリメントされる。アドレスがインクリメントされるとステップＳ１１２に進みベリファイがパスとなったメモリトランジスタの次のメモリトランジスタがベリファイされる。
【０１１６】
ステップＳ１１７においてパスとなったメモリトランジスタのアドレスが最終アドレスであった場合には、ステップＳ１０の消去２の動作は終了する。
【０１１７】
以上説明したように、実施の形態２では、選択されたビット線上のメモリセルのみ消去パルス２を印加してしきい値電圧Ｖｔｈをシフトさせる。これにより、消去ベリファイ２がすべてのメモリトランジスタについてパスしたときに、しきい値電圧の分布が下限よりも下回ってしまうメモリセルの数を従来に比べて減らすことができる。したがって過消去リカバリ書込の対象となるメモリトランジスタ数が減少するため、消去を高速化できる。
【０１１８】
また、ビット線には通常の読出や書込動作との互換性のある正の電圧をかけるため、１本ずつの選択が容易であり、１つのブロックに２５６本以上のビット線があるため、従来に比べ大幅な改善ができる。
【０１１９】
［実施の形態３］
実施の形態１ではワード線を選択する数を限定し、実施の形態２ではビット線を選択する数を限定して消去パルスを印加する場合について説明した。実施の形態３では、これらを組合せて、ビット線およびワード線の選択数を限定して消去パルスを与える。
【０１２０】
図１１は、実施の形態３のブロック消去動作を説明するためのフローチャートである。
【０１２１】
図１１を参照して、実施の形態３のブロック消去の動作は、図４で説明した実施の形態１のブロック消去のフローにおいてステップＳ６に代えてステップＳ２０を含む。ステップＳ２０では、ワード線、ビット線の両方をいくつかのグループに分割してそれらの一部を選択する。
【０１２２】
具体的には、図２で示したＸデコーダ１８を用いるとともに、書込＆消去制御部２からＹ系制御回路２４に与えるビット線の設定データを現在のベリファイしているアドレスに対応させて限定する。
【０１２３】
図１２は、図１１におけるステップＳ２０の詳細な動作を説明するためのフローチャートである。
【０１２４】
図１２を参照して、ステップＳ２０の消去２の動作が開始されるとまずステップＳ１２１においてベリファイを行なうメモリセルを指定するアドレスの初期化が行なわれる。
【０１２５】
続いてステップＳ１２２に進み消去ベリファイ２が行なわれる。この消去ベリファイ２では、現在設定されているアドレスに対応するメモリトランジスタからのデータ読出が行なわれる。メモリトランジスタの保持データが消去されていることが確認されると消去ベリファイがパスとなる。
【０１２６】
たとえば、メモリブロックＢＬＯＣＫ０の消去を行なう場合には、ステップＳ１２２における消去ベリファイは、１６個のメモリトランジスタについて個別に判断される。アドレスの初期化直後においてはまずメモリトランジスタＭ００の読出が行なわれ、このメモリトランジスタＭ００の消去がまだされていない状態であれば消去ベリファイはフェイルとなる。
【０１２７】
ステップＳ１２２において消去ベリファイがフェイルとなったときにはステップＳ１２３に進む。ステップＳ１２３では、消去パルスを印加するためのセットアップが行なわれる。
【０１２８】
セットアップでは、書込＆消去制御部２からＸデコーダ１８に対して送られている信号ＥＲＳ１がＨレベルに設定され，信号ＥＲＳ２はＬレベルに設定される。これにより、ワード線ＷＬ０〜ＷＬ３のうちの半分がベリファイアドレスに応じて選択される。さらに、ビット線の選択は、書込＆消去制御部２からＹ系制御回路２４に対して送られるデータＷＤＡＴＡに応じて行なわれる。ステップＳ１２３では、ステップＳ１２２でベリファイが行なわれていたメモリトランジスタに対応するビット線のみに消去パルスが印加されるようにデータ設定が行なわれる。
【０１２９】
これらのセットアップが終了すると、ステップＳ１２４に進み消去電圧が発生されて、選択されている領域に対して消去パルスが印加される。
【０１３０】
図１３は、図１２のステップＳ１２４における消去パルス印加状態を説明するための図である。
【０１３１】
図１３を参照して、ステップＳ１２２におけるベリファイがメモリトランジスタＭ１１についてベリファイがフェイルとなった場合には、図１３に示されるようにワード線ＷＬ０，ＷＬ１は負電圧に設定されワード線ＷＬ２，ＷＬ３は０Ｖに設定される。またビット線ＢＬ１は正電圧に設定されビット線ＢＬ０，ＢＬ２，ＢＬ３は０Ｖに設定される。またソース線ＳＬおよびＰウェルは０Ｖに設定される。その結果、消去パルス２は、メモリトランジスタＭ０１，Ｍ１１の２つに印加される。他のトランジスタについては消去パルス２は印加されない。メモリトランジスタＭ０１，Ｍ１１には、先に図１０で説明したような電圧印加がなされる。
【０１３２】
つまり、消去ベリファイ２で不良となったメモリセルに接続されるワード線を含む半分のワード線が選択され負電圧が印加される。またこのメモリセルをに接続されるビット線に正電圧が印加されその他のビット線は０Ｖに固定される。なお、ワード線の選択はより多くのメモリセルが配置されるメモリアレイでは、ワード線総数の４分の１や８分の１の選択でもよい。
【０１３３】
ステップＳ１２４におけるパルス印加が終了すると、ステップＳ１２５において電圧発生部３からの消去電圧がリセットされる。そしてステップＳ１２６に進み消去時の制御信号がリセットされる。すなわち信号ＥＲＳ１，ＥＲＳ２はともにＬレベルに設定され、ビット線に対するデータ設定がリセットされる。そして消去パルスの印加によりベリファイがフェイルしたビットがパスになるか否かがステップＳ１２２で再び確認される。
【０１３４】
ステップＳ１２２においてベリファイがパスすると、ステップＳ１２７において現在設定されているアドレスが最終アドレスか否かが判断される。
【０１３５】
最終アドレスでなかった場合には、ステップＳ１２８においてアドレスがインクリメントされ、そしてステップＳ１２２に進み次のメモリトランジスタからデータが読出され消去ベリファイが行なわれる。ステップＳ１２７において現在設定されているアドレスが最終アドレスであると判断された場合には、ステップＳ２０の消去２の動作は完了する。
【０１３６】
実施の形態３では、消去２において、選択されたワード線とビット線上のメモリセルのみしきい値電圧がシフトする状態となる。したがって、実施の形態１や実施の形態２の場合と比べてさらにしきい値電圧の許容範囲の下限よりもしきい値電圧が下回るメモリセルの数を減らすことができる。したがって過消去リカバリ書込の対象となるメモリセル数が減少するので、ブロック消去時間を短縮できる。
【０１３７】
［実施の形態４］
実施の形態４では、実施の形態１の図４で示した制御フローを変更してさらにブロック消去の時間を短縮する。
【０１３８】
図１４は、実施の形態４のブロック消去の動作を説明するためのフローチャートである。
【０１３９】
図１４を参照して、実施の形態４のブロック消去のフローチャートは、図４で示した実施の形態１のブロック消去のフローチャートにおいてステップＳ６に代えてＳ３０を含む。他のステップについては図４と同様であるので説明は繰返さない。ステップＳ３０では、消去パルス２を印加する際に、選択するワード線の数を印加パルス数に応じて変更する。
【０１４０】
図１５は、図１４におけるステップＳ３０の詳細な動作を説明するためのフローチャートである。
【０１４１】
図１５を参照して、ステップＳ３０の消去動作が開始されると、まずステップＳ１３１においてアドレスの初期化が行なわれる。続いてステップＳ１３２において消去パルスを印加する数のカウントが初期化される。たとえばこのパルスカウントは書込＆消去制御部２においてカウント数ＥＰ２として管理される。この場合はカウント数ＥＰ２が０に設定される。
【０１４２】
続いてステップＳ１３３に進み、現在設定されているアドレスに対応するメモリセルからの読出が行なわれ、そのメモリセルが消去されているか否かを確認する消去ベリファイ２が実行される。
【０１４３】
ステップＳ１３３においてベリファイ結果がフェイルであった場合には、ステップＳ１３４に進む。ステップＳ１３４では、ステップＳ３０における消去動作において印加された消去パルスのカウント数ＥＰ２が規定値以上か否かが判断される。この規定値としては、たとえば５が考えられる。
【０１４４】
カウント数ＥＰ２が５よりも小さい場合にはステップＳ１３６に進み信号のセットアップが行なわれる。このとき信号ＥＲＳ１はＨレベルに設定され信号ＥＲＳ２はＬレベルに設定される。この設定によって次のステップＳ１３７での消去パルスの印加はメモリブロックに対して一括して行われることになる。
【０１４５】
一方、ステップＳ１３４においてパルスカウント数ＥＰ２が規定値以上であると判断された場合には、ステップＳ１３５に進む。ステップＳ１３５では、信号のセットアップが行なわれこれにより信号ＥＲＳ１がＬレベルに設定され、信号ＥＲＳ２はＨレベルに設定される。この場合には、実施の形態１で説明したように、消去パルスが印加されるメモリトランジスタは、ステップＳ１３３でベリファイが行なわれたメモリトランジスタの行アドレスに応じて特定の領域に限定される。
【０１４６】
ステップＳ１３７では、ステップＳ１３５またはステップＳ１３６で設定された領域に対して消去パルスが印加される。そしてステップＳ１３８において消去電圧がリセットされ、ステップＳ１３９に進み信号がリセットされる。すなわち信号ＥＲＳ１およびＥＲＳ２はともにＬレベルに設定される。
【０１４７】
続いてステップＳ１４０に進みパルスカウント数ＥＰ２がインクリメントされる。つまり、現在のカウント数ＥＰ２に１が加えられる。ステップＳ１４０でパルスカウントがインクリメントされると、ステップＳ１３３に進み再び現在設定されているアドレスに対応するメモリトランジスタから読出が行なわれ消去ベリファイ２が実行される。
【０１４８】
ステップＳ１３３において消去ベリファイ２がパスすると、ステップＳ１４１に進みベリファイパスとなったメモリトランジスタのアドレスが最終アドレスか否かが判断される。最終アドレスでなかった場合にはステップＳ１４２に進みアドレスがインクリメントされそして再びＳ１３３において消去ベリファイが行なわれる。
【０１４９】
ステップＳ１４１においてベリファイパスとなったメモリトランジスタのアドレスが最終アドレスであると判断された場合には、ステップＳ３０の消去動作は終了する。
【０１５０】
以上説明したように、実施の形態４では、消去パルス数が少ない段階では、ワード線を全選択状態としておく。そしてブロックのメモリトランジスタに対して一括して消去パルスを印加する。
【０１５１】
消去パルス数が規定値ｎ（たとえば５）以上となった時点からワード線をいくつかのグループに分割して消去パルスを印加する。このため複数のビットに対する消去パルス印加を同時に行ない全体の消去パルス印加回数を少なく抑えつつ、そのパルスでも消去しきれないビットを含むワード線にのみさらに消去パルスを印加し続けることになる。つまり、消去パルスを印加する領域の最適化を図ることができる。
【０１５２】
したがって、消去パルスの印加回数を少なく抑えつつ、しきい値電圧が下限を下回ることにより過消去リカバリが必要となるメモリセル数を減少させることができ、さらにブロック消去の時間を短縮することができる。
【０１５３】
［実施の形態５］
実施の形態５では、実施の形態２のようにビット線を分割して消去パルスを与える場合に、さらに、追加消去パルスを印加した後ベリファイをパスしたビットのビット線にはそれ以上パルスを印加しないようにする不揮発性メモリを提供する。
【０１５４】
図１６は、実施の形態５の不揮発性半導体記憶装置の構成を示したブロック図である。
【０１５５】
図１６を参照して、矢印Ａ１〜Ａ５は、信号の流れを表わす。パス／フェイル判定回路１２０、ＢＬデータ設定回路１２２は、図１の書込＆消去制御部２に相当する。読出回路１２４とデータ送信回路１２６とＢＬ選択回路１２８は、図１のＹ系制御回路２４に相当する。
【０１５６】
まず、２回目の消去ベリファイの読出は、ＢＬ選択回路１２８を介してビット線に接続される読出回路１２４において行なわれる（矢印Ａ１）。例えば、チップは８または１６の入出力線で１アドレスについて８ビットまたは１６ビットのデータを外部とやり取りする。読出回路１２４は、チップの入出力線ごとに配置され同一アドレスの各入出力線を同時に読出すことができる。
【０１５７】
次に、読出した結果をパス／フェイル判定回路１２０へ送り（矢印Ａ２）、読出したアドレスのすべての入出力線からのデータがパスとなっているか否かを判定する。読出したデータのうち１ビットでもフェイルとなった場合には、ＢＬデータ設定回路１２２にベリファイで不良となった入出力線に対してのみ消去パルスに対応するデータを設定する（矢印Ａ３）。このデータが、データ送信回路１２６にセットされ（矢印Ａ４）、第２回目の消去パルス印加時にデータ送信回路から出力される正電圧がＢＬ選択回路１２８を介してビット線に伝わる（矢印Ａ５）。
【０１５８】
このようにして消去ベリファイで不良となったビットを含むビット線に対してのみ消去パルスが印加される。この方式を採用することで、さらに過消去リカバリのための書込対象ビットを減らすことができ、ブロック消去時間を短縮することができる。
【０１５９】
［実施の形態６］
実施の形態６では、ソフト一括書込時の書込パルス印加についてワード線の選択する数を限定し、パルス印加を行なう領域を限定する。実施の形態１と同様、Ｘデコーダ１８を用いるが、制御フローが実施の形態１とは異なる。
【０１６０】
図１７は、実施の形態６のブロック消去の動作を説明するためのフローチャートである。
【０１６１】
図１７を参照して、実施の形態６のブロック消去動作は、消去パルス１の印加と消去ベリファイ１については、従来と同じであるが、ソフト一括書込動作では、後に説明するようにワード線の選択数を通常のブロック一括選択から２分の１のワード線に限定して選択する点が従来とは異なる。ワード線は２分の１に分割する場合に限らずたとえば４分の１や８分の１に分割して選択してもよい。
【０１６２】
以下動作フローチャートを順次説明する。
【０１６３】
まずブロック消去コマンドが入力されると、ステップＳ１において消去前書込が行なわれ、ステップＳ２で消去ベリファイ１が行なわれ、ステップＳ３では消去パルス１の印加が行なわれる。ステップＳ１〜Ｓ３については、図４で説明した実施の形態１の場合と同様であるので説明は繰り返さない。
【０１６４】
ステップＳ２、ステップＳ３において消去動作が完了すると、先に図２６で示したようにメモリブロック内の各メモリセルのしきい値電圧の分布は、ベリファイ電圧Ｖｔｈ１より小さい領域に移動している。ただし、ステップＳ２の消去ベリファイ１がパスした直後を第１の消去状態とすると、この第１の消去状態はメモリブロックの一括消去の途中の消去状態である。具体的には、過消去すなわちしきい値電圧が０Ｖ以下となってしまう領域に、しきい値電圧分布の下限がはみだしてしまうことがある。したがって、ステップＳ４０においてソフト書込という処理を行なう。
【０１６５】
図１８は、図１７におけるステップＳ４０のソフト書込動作の詳細を説明するためのフローチャートである。
【０１６６】
図１８を参照して、ステップＳ４０のソフト書込動作が開始されるとまずステップＳ１５１においてベリファイを行なうメモリセルを指定するアドレスの初期化が行なわれる。
【０１６７】
続いてステップＳ１５２に進みソフト書込ベリファイが行なわれる。このソフト書込ベリファイでは、現在設定されているアドレスに対応するメモリトランジスタからのデータ読出が行なわれる。メモリトランジスタの保持データがソフト書込されていることが確認されると、ソフト書込ベリファイがパスとなる。ソフト書込ベリファイがパスしたメモリブロックの状態を第１の書込状態とすると、第１の書込状態では所定のしきい値電圧よりもメモリセルのしきい値が高くなった状態である。ただし、この所定のしきい値電圧は、ステップＳ２の消去ベリファイ１がパスした直後の第１の消去状態のしきい値電圧分布の上限値よりも低い。
【０１６８】
たとえば、メモリブロックＢＬＯＣＫ０の消去を行なう場合には、ステップＳ１５２におけるソフト書込ベリファイは、１６個のメモリトランジスタについて個別に判断される。アドレスの初期化直後においてはまずメモリトランジスタＭ００の読出が行なわれ、このメモリトランジスタＭ００のソフト書込がまだされていない状態であればソフト書込ベリファイはフェイルとなる。
【０１６９】
ステップＳ１５２においてソフト書込ベリファイがフェイルとなったときにはステップＳ１５３に進む。ステップＳ１５３では、ソフト書込パルスを印加するための信号ＥＲＳ１，ＥＲＳ２のセットアップが行なわれる。
【０１７０】
図１の書込＆消去制御部２は、信号ＥＲＳ１をＬレベルに設定し、信号ＥＲＳ２をＨレベルに設定する。これにより、図２に示したＸデコーダ１８は、現在設定されているベリファイアドレスに対応するメモリトランジスタを含む領域を選択する。
【０１７１】
続いて、ステップＳ１５４に進み、電圧発生部３からソフト書込電圧がワード線ドライバ３２に与えられる。
【０１７２】
図１９は、ステップＳ１５４におけるソフト書込パルス印加時のメモリブロックの電圧印加状態を示す図である。
【０１７３】
図１９を参照して、ワード線ＷＬ０，ＷＬ１はＨレベルに相当する正電圧に駆動される。この正電圧はたとえば＋１０Ｖである。一方、ワード線ＷＬ２，ＷＬ３はＬレベルに相当する０Ｖに駆動される。消去時においてはこの電位ＶＰはたとえば０Ｖである。ビット線ＢＬ０〜ＢＬ３はオープン状態に設定される。ソース線ＳＬおよびＰウエルについては負電圧、たとえば−５Ｖに設定される。
【０１７４】
このようにしてメモリトランジスタＭ００〜Ｍ０３，Ｍ１０〜Ｍ１３に対してソフト書込パルスが印加される。このとき、メモリトランジスタＭ２０〜Ｍ２３，Ｍ３０〜Ｍ３３に対してはソフト書込パルスは印加されない。
【０１７５】
なお、ソフト書込時にメモリブロックのワード線の半分の数のワード線を選択するようにしたが、ベリファイ対象となるメモリセルを含む領域であれば、１／４または１／８の数のワード線を選択するようにＸデコーダを変形しても良い。
【０１７６】
再び、図１８を参照して、ステップＳ１５４が完了するとステップＳ１５５において電圧発生部３からのソフト書込電圧がリセットされる。そしてステップＳ１５６に進み制御信号がリセットされる。すなわち信号ＥＲＳ１，ＥＲＳ２はともにＬレベルに設定される。
【０１７７】
ステップＳ１５６において信号のリセットが終了すると、再びステップＳ１５２においてソフト書込ベリファイが行なわれる。ステップＳ１５２においてベリファイがパスすると、ステップＳ１５７において現在設定されているアドレスが最終アドレスか否かが判断される。
【０１７８】
最終アドレスでなかった場合には、ステップＳ１５８においてアドレスがインクリメントされ、そしてステップＳ１５２に進み次のメモリトランジスタからデータが読出されソフト書込ベリファイが行なわれる。ステップＳ１５７において現在設定されているアドレスが最終アドレスであると判断された場合には、ステップＳ４０のソフト書込の動作は完了する。
【０１７９】
再び図１７を参照して、ステップＳ４０のソフト書込が終了すると、次にステップＳ４１，Ｓ４２においてメモリブロックを第２の消去状態に設定する作業が行なわれる。この第２の消去状態は、ブロック一括消去の過程においてステップＳ２がパスした直後の第１の消去状態よりも後の消去状態である。設定作業は、行アドレスおよび列アドレスを変更しながら各メモリトランジスタから読出を行ない、メモリセルが消去状態にあるか否かがステップＳ４１の消去ベリファイ２で判断される。
【０１８０】
ステップＳ４１においてメモリセルが消去状態になっていないと判断されるごとにステップＳ４２においてメモリブロックに一括して消去パルス２が印加される。
【０１８１】
ステップＳ４２の消去パルス２の印加は、ワード線、ビット線、ソース線を所定の電圧に設定することで行なわれる。具体的には、ワード線ＷＬ０〜ＷＬ３はすべて負電圧に設定され、ビット線ＢＬ〜ＢＬ３はすべて開放状態とされ、ソース線ＳＬは正電圧に設定される。
【０１８２】
ステップＳ４２においては、図２に示したＸデコーダ１８において信号ＥＲＳ１はＨレベルに設定され、信号ＥＲＳ２はＬレベルに設定される。すると、ステップＳ４１において行なわれている消去ベリファイ２のアドレスに関係なく、ワード線ドライバのすべての入力レベルがＬレベルとなる。このようにワード線が選択されることにより、該当ブロック内のすべてのワード線ＷＬ０〜ＷＬ３に負電位が印加され、メモリブロックに含まれているメモリトランジスタに一括して消去パルスが印加される。
【０１８３】
このように電圧を設定することにより、メモリブロックのすべてのメモリセルに対してしきい値電圧を下げる作用を有する消去パルスが一括して与えられることになる。消去パルスが与えられることにより、トンネル現象によってフローティングゲート中の電子が引抜かれ、しきい値電圧Ｖｔｈが低下する。
【０１８４】
ステップＳ４１において消去ベリファイ２がパスすると、続いてステップＳ８，ステップＳ９において過消去となったメモリセルに対して１ビット単位で過消去リカバリ書込が行なわれる。
【０１８５】
ステップＳ８で読出したことによりそのメモリセルが過消去であることが判明すると、ステップＳ９においてその過消去と判明したメモリセル１つに対して書込パルスが印加される。ステップＳ８、Ｓ９が繰返される結果、ベリファイ電圧よりもしきい値電圧が小さかったメモリセルのみに書込パルスが与えられ、書込パルスが印加されたメモリセルのしきい値電圧はしきい値電圧が大きくなる側にシフトし、過消去状態ではなくなる。
【０１８６】
実施の形態６では、選択されたワード線に接続されたメモリセルにのみソフト書込が行なわれる。したがって、従来に比べてソフト書込ベリファイがパスしたときにしきい値電圧の許容範囲上限を超えるしきい値電圧となっているメモリセル数を減らすことができる。このため、その後の消去パルス２の印加回数を極力減らすことができ、そのことが過消去リカバリ書込対象となるメモリセルを減らすことにつながるため、消去を高速化できる。
【０１８７】
［実施の形態７］
実施の形態７では、実施の形態６の図１７、図１８で示した制御フローを変更してさらにブロック消去の時間を短縮する。
【０１８８】
図２０は、実施の形態７のブロック消去の動作を説明するためのフローチャートである。
【０１８９】
図２０を参照して、実施の形態７のブロック消去のフローチャートは、図１７で示した実施の形態６のブロック消去のフローチャートにおいてステップＳ４０に代えてＳ５０を含む。他のステップについては図１７と同様であるので説明は繰返さない。ステップＳ５０では、ソフト書込パルスを印加する際に、選択するワード線の数を印加パルス数に応じて変更する。
【０１９０】
図２１は、図２０におけるステップＳ５０の詳細な動作を説明するためのフローチャートである。
【０１９１】
図２１を参照して、ステップＳ５０のソフト書込動作が開始されると、まずステップＳ１６１においてアドレスの初期化が行なわれる。続いてステップＳ１６２においてソフト書込パルスを印加する数のカウントが初期化される。たとえばこのパルスカウントは書込＆消去制御部２においてカウント数ＳＦＰとして管理される。この場合はカウント数ＳＦＰが０に設定される。
【０１９２】
続いてステップＳ１６３に進み、現在設定されているアドレスに対応するメモリセルからの読出が行なわれ、そのメモリセルがソフト書込されているか否かを確認するソフト書込ベリファイが実行される。
【０１９３】
ステップＳ１６３においてベリファイ結果がフェイルであった場合には、ステップＳ１６４に進む。ステップＳ１６４では、ステップＳ５０におけるソフト書込動作において印加されたソフト書込パルスのカウント数ＳＦＰが規定値以上か否かが判断される。この規定値としては、たとえば５が考えられる。
【０１９４】
カウント数ＳＦＰが５よりも小さい場合にはステップＳ１６６に進み信号のセットアップが行なわれる。このとき信号ＥＲＳ１はＨレベルに設定され信号ＥＲＳ２はＬレベルに設定される。この設定によって次のステップＳ１６７でのソフト書込パルスの印加はメモリブロックに対して一括して行われることになる。
【０１９５】
一方、ステップＳ１６４においてパルスカウント数ＳＦＰが規定値以上であると判断された場合には、ステップＳ１６５に進む。ステップＳ１６５では、信号のセットアップが行なわれ、これにより信号ＥＲＳ１がＬレベルに設定され、信号ＥＲＳ２はＨレベルに設定される。この場合には、実施の形態６で説明したように、ソフト書込パルスが印加されるメモリトランジスタは、ステップＳ１６３でベリファイが行なわれたメモリトランジスタの行アドレスに応じて特定の領域に限定される。
【０１９６】
ステップＳ１６７では、ステップＳ１６５またはステップＳ１６６で設定された領域に対してソフト書込パルスが印加される。そしてステップＳ１６８においてソフト書込電圧がリセットされ、ステップＳ１６９に進み信号がリセットされる。すなわち信号ＥＲＳ１およびＥＲＳ２はともにＬレベルに設定される。
【０１９７】
続いてステップＳ１７０に進みパルスカウント数ＳＦＰがインクリメントされる。つまり、現在のカウント数ＳＦＰに１が加えられる。ステップＳ１７０でパルスカウントがインクリメントされると、ステップＳ１６３に進み再び現在設定されているアドレスに対応するメモリトランジスタから読出が行なわれソフト書込ベリファイが実行される。
【０１９８】
ステップＳ１６３においてソフト書込ベリファイがパスすると、ステップＳ１７１に進みベリファイパスとなったメモリトランジスタのアドレスが最終アドレスか否かが判断される。最終アドレスでなかった場合にはステップＳ１７２に進みアドレスがインクリメントされそして再びＳ１６３においてソフト書込ベリファイが行なわれる。
【０１９９】
ステップＳ１７１においてベリファイパスとなったメモリトランジスタのアドレスが最終アドレスであると判断された場合には、ステップＳ５０のソフト書込動作は終了する。
【０２００】
以上説明したように、実施の形態７では、ソフト書込パルス数が少ない段階では、ワード線を全選択状態としておく。そしてブロックのメモリトランジスタに対して一括してソフト書込パルスを印加する。
【０２０１】
ソフト書込パルス数が規定値ｎ（たとえば５）以上となった時点からワード線をいくつかのグループに分割してソフト書込パルスを印加する。このため複数のビットに対するソフト書込パルス印加を同時に行ない全体のソフト書込パルス印加回数を少なく抑えつつ、そのパルスでもソフト書込しきれないビットを含むワード線にのみさらにソフト書込パルスを印加し続けることになる。つまり、ソフト書込パルスを印加する領域の最適化を図ることができる。
【０２０２】
したがって、従来に比べてソフト書込ベリファイがパスしたときにしきい値電圧の許容範囲上限を超えるしきい値電圧となっているメモリセル数を減らすことができる。このため、その後の消去パルス２の印加回数を極力減らすことができ、そのことが過消去リカバリ書込対象となるメモリセルを減らすことにつながるため、消去を高速化できる。
【０２０３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２０４】
【図１】本発明の実施の形態１の不揮発性半導体記憶装置の構成を示す概略ブロック図である。
【図２】図１におけるＸデコーダ１８の構成を示した回路図である。
【図３】図１におけるメモリブロックＢＬＯＣＫ０の構成を示した回路図である。
【図４】実施の形態１のブロック消去の動作を説明するためのフローチャートである。
【図５】図４におけるステップＳ６の消去動作の詳細を説明するためのフローチャートである。
【図６】実施の形態２で用いられるＸデコーダ１８Ａの構成を示す回路図である。
【図７】実施の形態２のブロック消去の動作を説明するためのフローチャートである。
【図８】図７におけるステップＳ１０を詳細に説明するためのフローチャートである。
【図９】図８のステップＳ１１４における消去パルス印加状態を説明するための図である。
【図１０】図８のステップＳ１１４において選択されたメモリトランジスタの電圧印加状態を示した図である。
【図１１】実施の形態３のブロック消去動作を説明するためのフローチャートである。
【図１２】図１１におけるステップＳ２０の詳細な動作を説明するためのフローチャートである。
【図１３】図１２のステップＳ１２４における消去パルス印加状態を説明するための図である。
【図１４】実施の形態４のブロック消去の動作を説明するためのフローチャートである。
【図１５】図１４におけるステップＳ３０の詳細な動作を説明するためのフローチャートである。
【図１６】実施の形態５の不揮発性半導体記憶装置の構成を示したブロック図である。
【図１７】実施の形態６のブロック消去の動作を説明するためのフローチャートである。
【図１８】図１７におけるステップＳ４０のソフト書込動作の詳細を説明するためのフローチャートである。
【図１９】ステップＳ１５４におけるソフト書込パルス印加時のメモリブロックの電圧印加状態を示す図である。
【図２０】実施の形態７のブロック消去の動作を説明するためのフローチャートである。
【図２１】図２０におけるステップＳ５０の詳細な動作を説明するためのフローチャートである。
【図２２】従来のフラッシュメモリのブロック消去時の動作を示したフローチャートである。
【図２３】メモリブロックを示した回路図である。
【図２４】消去前書込が行なわれた後のメモリセルのしきい値電圧の分布を示した図である。
【図２５】消去パルス印加時のメモリトランジスタに与えられる電圧を示した図である。
【図２６】消去パルス１を印加した後のしきい値電圧の分布を示す図である。
【図２７】ソフト一括書込パルスを与えているときのメモリセルの電圧印加状態を示した図である。
【図２８】ソフト一括書込ベリファイが完了した直後のしきい値電圧の分布を示した図である。
【図２９】ステップＳ５０６における消去ベリファイ２が完了した後のしきい値電圧の分布を示す図である。
【図３０】ステップＳ５０８の過消去ベリファイが完了した後のメモリセルのしきい値電圧の分布を示した図である。
【符号の説明】
【０２０５】
１  不揮発性半導体記憶装置、２  書込＆消去制御部、３  電圧発生部、４  正電圧発生回路、８  負電圧発生回路、１２  ＷＬブースト回路、１４  ディストリビュータ、１６  アドレスバッファ、１８，１８Ａ  Ｘデコーダ、２０  Ｙデコーダ、２２  入出力バッファ、２４  Ｙ系制御回路、２６  メモリアレイ、３０，３０Ａ  選択部、３２  ワード線ドライバ、１２０  パス／フェイル判定回路、１２２  ＢＬデータ設定回路、１２４  読出回路、１２６  データ送信回路、１２８  ＢＬ選択回路、ＢＬ，ＢＬ０〜ＢＬ３  ビット線、ＢＬＯＣＫ０〜ＢＬＯＣＫｎ  メモリブロック、Ｍ００〜Ｍ３３  メモリトランジスタ、ＳＬ  ソース線、ＷＬ，ＷＬ０〜ＷＬ３  ワード線。
【図１】
2005085309.tif 000003
【図２】
2005085309.tif 000004
【図３】
2005085309.tif 000005
【図４】
2005085309.tif 000006
【図５】
2005085309.tif 000007
【図６】
2005085309.tif 000008
【図７】
2005085309.tif 000009
【図８】
2005085309.tif 000010
【図９】
2005085309.tif 000011
【図１０】
2005085309.tif 000012
【図１１】
2005085309.tif 000013
【図１２】
2005085309.tif 000014
【図１３】
2005085309.tif 000015
【図１４】
2005085309.tif 000016
【図１５】
2005085309.tif 000017
【図１６】
2005085309.tif 000018
【図１７】
2005085309.tif 000019
【図１８】
2005085309.tif 000020
【図１９】
2005085309.tif 000021
【図２０】
2005085309.tif 000022
【図２１】
2005085309.tif 000023
【図２２】
2005085309.tif 000024
【図２３】
2005085309.tif 000025
【図２４】
2005085309.tif 000026
【図２５】
2005085309.tif 000027
【図２６】
2005085309.tif 000028
【図２７】
2005085309.tif 000029
【図２８】
2005085309.tif 000030
【図２９】
2005085309.tif 000031
【図３０】
2005085309.tif 000032