(57)【特許請求の範囲】
【請求項１】
集積回路メモリ・システムであって、
各メモリ・セルが、Ｎ（Ｎは整数）ビットの情報ビットに対応する２N個の離散状態の一つを格納することができるよう構成され、かつこのそれぞれの離散状態があらかじめ選択された大きさの幅（事前選択幅）を有するようにした複数のメモリ・セルと、
２N個以上の基準値を生成する手段と、
前記メモリ・セル内の一離散状態と前記生成された基準値とをあらかじめ決められた順序で順次比較して該メモリ・セル内の前記の一離散状態を決定するとともに、前記基準値を基準にして前記の一離散状態におけるドリフトを決定することによって、前記の一離散状態の事前選択幅外の前記メモリ・セルによるドリフトを検出する手段と
を含む集積回路メモリ・システム。
【請求項２】
前記事前選択幅外の前記メモリ・セルによるドリフトに対して前記の一離散状態を復元する手段をさらに含み、前記復元手段が前記検出手段に応答する請求項１に記載のメモリ・システム。
【請求項３】
各メモリ・セルが前記情報ビットに対応する電荷量を浮遊ゲートに蓄積する不揮発性メモリ・セルを具備し、
前記電荷量に応答して前記の複数のメモリ・セルの各浮遊ゲート内の前記電荷量を維持する電荷維持回路手段をさらに含み、
それによって各メモリ・セル内の前記情報ビットの喪失を回避する請求項１に記載のメモリ・システム。
【請求項４】
前記電荷維持回路手段が選択された複数のメモリ・セルに対して同時に動作することを特徴とする請求項３に記載のメモリ・システム。
【請求項５】
前記電荷維持回路手段が各不揮発性メモリ・セルの電荷を増分式に加減することにより、前記不揮発性メモリ・セルからすべての電荷を最初に消去することなく前記電荷量を調整することを特徴とする請求項４に記載のメモリ・システム。
【請求項６】
各メモリ・セル内の前記情報ビットが少なくとも２ビットを含むことを特徴とする請求項４に記載のメモリ・システム。
【請求項７】
前記基準値が第１の組と第２の組を具備し、前記検出手段が前記第１の組の基準値に応答して前記の一離散状態を検出し、前記検出手段が前記第２の組の基準値に応答して前記メモリ・セル内の一離散状態におけるドリフトを決定し、かつ前記第２の組の基準値が第１の組の基準値と所定の関係を有することを特徴とする請求項１に記載のメモリ・システム。
【請求項８】
前記検出手段に応答して前記の一離散状態にある前記メモリ・セルを復元する手段をさらに含み、それによって前記の一離散状態に対応する情報を前記の複数のメモリ・セルのいずれかに保持できるようにする請求項７に記載のメモリ・システム。
【請求項９】
各メモリ・セルが前記の一離散状態を表す電荷量を蓄積し、前記検出手段が前記の一離散状態を表す電荷を保持するために前記メモリ・セルとの間で電荷の加減を行うべきかどうかを判定し、
さらに前記検出手段による判定に応答して少なくとも１つの状況フラグを設定する手段を含む請求項１に記載のメモリ・システム。
【請求項１０】
前記メモリ・セルに関係する記憶域に前記の少なくとも１つの状況フラグを保存する手段をさらに含む請求項９に記載のメモリ・システム。
【請求項１１】
前記検出手段が前記の一離散状態を少なくとも２つの基準値と比較して、前記メモリ・セルに付加した電荷が前記の一離散状態を復元するのに十分か不十分かを判定することを特徴とする請求項９に記載のメモリ・システム。
【請求項１２】
前記の複数のメモリ・セルがアレイ内に配置され、各メモリ・セルが前記情報ビットに対応する電荷量を蓄積する請求項１記載のメモリ・システムであって、
前記メモリ・セル・アレイに結合され、前記メモリ・セル・アレイに信号を供給して前記メモリ・セルとの間で電荷を移動させ、それによって前記メモリ・セルに蓄積した電荷を前記情報ビットに対応させるプログラミング回路と、
複数の基準電圧を生成することができる基準電圧回路と、
前記メモリ・セル・アレイと前記基準電圧回路とに結合されたコンパレータと、
前記メモリ・セル・アレイ、前記基準電圧回路、および前記コンパレータに結合された制御回路とを含み、前記制御回路が電荷量を検出することならびに前記の選択された複数の各メモリ・セル内の情報ビットに対応する前記電荷量におけるドリフトを決定することを目的として、前記メモリ・セル・アレイ内の選択された複数のメモリ・セルと前記基準電圧回路を前記コンパレータに接続するメモリ・システム。
【請求項１３】
前記制御回路がドリフト決定に応答して前記の選択された複数のメモリ・セル内の電荷の調整を前記プログラミング回路に行わせ、それによって各メモリ・セル内の情報ビットの喪失を回避できるようにすることを特徴とする請求項１２に記載のメモリ・システム。
【請求項１４】
前記プログラミング回路が前記の複数のメモリ・セルからすべての電荷を最初に消去することなく前記電荷を調整することを特徴とする請求項１３に記載のメモリ・システム。
【請求項１５】
前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷に応答した電圧を前記の複数の基準電圧のうちの第１の組の基準電圧と比較して、前記の選択された複数の各メモリ・セル内の前記情報ビットを決定すること、
前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷に応答した前記電圧を前記の複数の基準電圧のうちの第２の組の基準電圧と比較して、前記情報ビットに対応する前記電荷の前記電荷量における前記ドリフトを決定すること、および
前記制御回路が前記情報ビットに対応する前記電荷の前記電荷量における前記ドリフトの前記決定を表す状況フラグを設定することを特徴とする請求項１２に記載のメモリ・システム。
【請求項１６】
複数のメモリ・セルを有する集積回路メモリ・システムを動作させる方法であって、
各メモリ・セルが、Ｎ（Ｎは整数）ビットの情報ビットに対応して２N個の離散量を格納することができるよう構成され、かつこのそれぞれの離散量があらかじめ選択された大きさの幅（事前選択幅）を有するようにした複数のメモリ・セル内に電荷を蓄積する段階と、
２N個以上の基準値を生成する段階と、
前記メモリ・セル内の一離散量と前記生成された基準値とをあらかじめ決められた順序で順次比較して、前記メモリ・セル内の前記の一離散量を決定するとともに、前記基準値を基準にして前記の一離散量におけるドリフトを決定することによって、前記の一離散量の事前選択幅外の前記メモリ・セルによるドリフトを受動的に検出する段階と
を含む方法。
【請求項１７】
前記の一離散量の前記事前選択幅からの前記ドリフトに応答して前記メモリ・セル内の電荷を復元する段階をさらに含む請求項１６に記載の方法。
【請求項１８】
前記検出段階が前記電荷量に対応する値と前記生成された基準値の内の第１の組の基準値とを反復して比較する段階を含み、ある比較段階での基準値が前の比較段階の結果によって決まり、
さらに前記生成された基準値の内の第２の組の基準値に対して各メモリ・セル内の前記電荷量におけるドリフトを決定する段階と、
前記ドリフト決定段階がドリフトの存在を肯定した場合にドリフトの方向を表す少なくとも１つの状況フラグを設定する段階とを含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記メモリ・セルに関係する記憶域に前記の少なくとも１つの状況フラグを保存する段階をさらに含む請求項１８に記載の方法。
【請求項２０】
前記ドリフト決定段階が前記電荷量に対応する値と前記第２の組の基準値とを反復して比較する段階を含み、ある比較段階での基準値が前の比較段階の結果によって決まることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記第２の組の基準値との前記反復比較段階がそれぞれ、前記第１の組の基準値との前記反復比較段階のいずれかに続いて行われることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記検出段階が前記の対応する情報ビットがすべて論理「１」とすべて論理「０」のどちらと判定したかに応じて、前記電荷量に対応する前記値と前記第１、第２の組の基準値のどれよりも大きいまたは小さい基準値とを比較する段階をさらに含む請求項１８に記載の方法。
【請求項２３】
各メモリ・セル内に電荷を蓄積するための前記の複数の離散量が２N個からなること、および前記比較手段を少なくともＮ回だけ繰り返すことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
発明の分野
本発明は一般に、半導体メモリに関し、詳細にはドリフト効果を受ける半導体メモリの安定化に関する。そうしたメモリは、１メモリ・セル当たり１つまたは複数のデジタル・ビットを記憶できる。
発明の背景
ＥＥＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ、ＤＲＡＭなどの半導体メモリ集積回路はこれまで、１メモリ・セルごとに１つのデジタル・ビットを記憶できるように使用されており、以下ではこの方式を単一ビット記憶と呼ぶ。１メモリ・セル当たり２ビット以上のデジタル・データが記憶可能なメモリとその利点についてはすでに説明がなされている。そうした１セル当たり複数ビットのメモリは、単一ビット記憶技術に使用されるこれまでの２つ（伝導状態と非伝導状態）のセルしきい値電圧ＶTレベルより多くのレベルを必要とすることから多レベル・メモリと呼ばれる。
多レベル・メモリ・セルの各レベルは、各メモリ・セルに蓄積される特定範囲の電荷を表し、不揮発性メモリ、すなわちＥＥＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨなどのメモリの場合は、セルＶT値の特定範囲を表す。１メモリ・セル当たりＮビットを記憶するためには、セルＶTの範囲と電荷蓄積量が２Nのレベルに分割できなければならない。各レベルは、Ｎビットすべてに固有のバイナリ・データ・パターンに対応する。セルの消去または電荷蓄積のためのプログラムは、セルＶTがこれら２N個のレベルのいずれかの範囲内に設定されるように行う。セルＶTがどのレベルになっているかの判定と、Ｎビットに対して記憶された対応するバイナリ・データ・パターンの読出しは、検出回路によって行う。このように、これまで１セル当たり１ビットのみを記憶していた同じメモリ・セル・アレイ領域にＮ倍のビット数を記憶することができるので、はるかに低いビット単価でデジタル情報を記憶することが可能である。
不揮発性メモリに関する以下の説明で「レベル」と呼ぶのは、一定範囲のＶT値であって、１つの電圧値ではない。また、セルＶTという用語は、半導体デバイス物理学によって定義された厳密な意味で使用するのではなく、検出回路によってメモリ・セルの伝導状態を判定する方法に対して使用する。この伝導はセルＶTに関連している。同様に、ＤＲＡＭのレベルとは１つの電荷値ではなく一定範囲の蓄積電荷を指す。
個々のレベルの検出動作は、複数の基準電圧または基準電流を基準にして検出した電圧または電流で表したメモリ・セルの伝導度（すなわち蓄積電荷）を比較することによって行う。本発明では電圧の検出に関して記述するが、負荷回路を介して当技術分野で実施されている検出方法で容易に電圧を電流に変換可能である。
多レベル・メモリには多くの問題が伴う。通常は、１メモリ・セル当たりＮビットを記憶する場合、２N−１または２N個の基準電圧値ＶRI（ここで、Ｉ＝１、２．．．、２N−１、または２N）を使用して、ＶR1＜ＶR2＜．．．＜ＶR(2^N)となるように互いを２N個のレベルに分離することが提案されている。説明を簡潔するために、場合によってはＶRIをＶRと略称することに注意されたい。第１Ａ図ないし第１Ｃ図に基準電圧値とセルＶTとの関係を示す。これらの図面は、１セル当たりそれぞれ１ビット、２ビット、および４ビットを記憶する場合の、メモリ・チップ全体の多レベル検出基準電圧とセルＶTの分布を示している。
メモリ・セルのＶTがＶR電圧のいずれかに近いと望ましくない状態が生じる。すなわち、セルＶTの判定があいまいになる。セルＶTを判定する実際の検出回路は、回路の安定性や速度、デジタル・スイッチング・ノイズによって生じる電圧変動や電流変動、ならびに電源電圧、温度、およびシリコン加工におけるその他の変動によって制限される。分離した複数のレベルと複数の基準電圧のどちらも必要ないアナログ信号記憶とは異なり、デジタル・メモリ記憶技術では、レベルを明瞭に判定することが必要であり、またそのような分離した基準電圧が必要である。セル内のレベルの検出が不正確だと、デジタル・メモリが誤作動を起こし、１セル当たり最大Ｎビットが失われる可能性がある。
ＶR電圧のいずれかに近いか、あるいはそれに等しいセルＶT値を検出する際の問題を回避するために、マージン電圧範囲ＶMPI（第２図を参照）によってあるレベルのセルＶTを他の隣接するレベルと分離することが提案されている。この分離は、セルの消去時とプログラム時に実行する。ただし、各ＶMPI範囲の両端は定められていない。むしろ、提案されているこの技術では、１セル当たり１ビット、あるいは２ビットを格納するのに十分なＶMPIを設けるための冗長なプログラミング・アルゴリズムと共に、シリコン加工の統計的管理を利用する。ただし、セルＶTが所期の範囲を超えたかどうかを判定する機構は設けられていない。しかし、この技術は次の２つの条件が満たされた場合にのみ信頼できるものとなる。第１に、明瞭に検出を行うのに十分なマージンを設けることができるほど、ＶR値間の分離が大きくなければならない。第２に、データを有効な状態にとどめておく限り、セルＶTが所期のレベルの範囲内で安定していなければならない。この期間は、メモリ・チップの寿命に相当すると考えられる。
しかし、すべての多レベル記憶技術が克服しなければならない問題は、メモリ・セルＶTを各レベルごとにきわめて狭い範囲内に制御することである。このＶT制御に関する問題は、メモリ・セルのプログラム、消去、および読出しを含めて、メモリの動作モードすべてに当てはまる。１セル当たりＮビットを格納するには１セル当たり２N個のレベルが必要であることから、ＶT制御に関する問題の重大度は、メモリ・セルごとに格納するビット数が増加するにつれて幾何級数的に大きくなる。単一レベル内のＶT値の範囲ＶLと、異なるレベルのセルＶTを分離するマージン範囲ＶM（第３Ａ図ないし第３Ｃ図を参照）は、すべての有効なセルＶT値の固定範囲ＶF内のレベル数が増加するにつれて狭くなる。本発明では、説明を簡潔にするために、場合によってはＶLI（ここで、Ｉは２N個のレベルのいずれか）をＶLと略称する。
ＶFは、プログラム、消去、および検出動作の際にメモリ・セルの端子に印加可能な電圧範囲によって制限されるので、通常は固定である。ＶFはまた、回路の速度、複雑さ、およびデータ記憶の信頼性によっても制約を受ける。これまで提案されている不揮発性メモリ技術の多くでは、ＶFは読出動作時の電源電圧ＶCCとほぼ一致する。
すべてのレベルのＶL範囲を同じものとし、レベル間のマージンをゼロとするきわめて単純な場合では、ＶL＝ＶF／２Nとなる。例えば、単一ビット記憶技術を用いて５ボルトのＶCCで動作させた場合のＶLの範囲は５／２＝２．５Ｖとなるが、１セル当たり４ビットの多レベル・メモリを３Ｖで動作させた場合のＶLの範囲は３／１６＝１８７．５ｍＶとなる。各レベルの間にマージン電圧範囲ＶMを加えると、
0003706146.tif 000002
となる。先の単純な場合を引き続き使用し、ＶMの範囲もすべて同じと仮定すると、レベルの範囲はこのとき、ＶL＝［ＶF−（２N−１）×ＶM］／２Nまで減少する。０．１ＶのＶMを採用すると、先の４ビットの場合の３ボルトのＶCCの場合のＶL例はこのとき、［３−（１５×０．１）］／１６＝９３．８ｍＶまで減少する。
ＶTの制御に加えて問題となるのはメモリ・セルを消去する手順である。実際のメモリ・アレイの実施形態では、セルの消去は多くのセルを含むブロック単位で行われるので、完全に消去されたセルＶTの分布は、より選択的にプログラムされた他のレベルより広くなる。完全に消去されたセルを定義するのにより広いＶLレベルＶLERASEが使用されることにより、プログラムされるレベルのＶLの範囲はより減少する。第３Ａ図ないし第３Ｃ図に、第１Ａ図ないし第１Ｃ図に示したものと同じ技術を用いた場合のこの問題を示す。
第１Ａ図、第１Ｂ図、第１Ｃ図、第２図、第３Ａ図、第３Ｂ図、および第３Ｃ図は、プログラミングがセルＶTを増加する技術の例であることに注意されたい。先の記述は、プログラミングの際にセルＶTを減少させる技術にも同様に当てはまる。この場合、これらの図面は、セルＶTのローエンドではなくハイエンドで広く消去されたレベルを示す。
このように、１セル当たりのビット数が増加するにつれて各レベル内のＶTの範囲が幾何級数的に減少することから、単一ビット記憶システムの場合よりも多レベルの場合の方がはるかにＶTの制御が重要になる。
そのうえ、セルＶTを当初プログラムされた値からドリフトさせる可能性のある様々な機構がある。これらの機能の多くは、元のプログラミングに続いてセルに印加される電圧ストレスによって生じる。こうした状態を「外乱」と呼び、有効なメモリ・システムを形成するためにセルを他の類似したセル・アレイ内にグループ化する場合には不可避である。プログラムおよび消去の外乱は、最小の累積時間にわたって存在するが、これらの動作時に使用される高電圧によって生じるＶTのドリフトの大きな原因となる。例えば、外乱に関するデータは、ＦＬＡＳＨメモリの新技術について記述する技術文献で日常的に報告されている。
ＶTのドリフトのその他の発生源は、浮遊ゲートの周囲、または浮遊ゲートとメモリ・セルの基板との間の捕捉電荷の数もしくは位置の変化の影響によるものである。捕捉電荷は、欠陥によるものであったり、繰返しのプログラム／消去（Ｐ／Ｅ）サイクルの間など、時間の経過に伴って作用する高電界の累積効果によるものであったりする。ゲート誘電体に流す消去またはプログラミング電流を多くすると、捕捉電荷の蓄積もそれに応じて多くなる。この結果、これらの動作の遅延や部品の誤動作につながる。
捕捉電荷はまた、繰り返さない形のＰ／Ｅサイクルでも生じる可能性がある。これは、いわゆる「ローグ・ビット(rogue bit)」効果によるものとされている。ローグ・ビットは、あるサイクルでプログラミング能力または消去能力が変化し、、別のサイクルでは通常の状態に戻る。ＶTのドリフト速度は常に一定とは限らず、しかも欠陥の存在の統計的差異により、すべてのセルにわたって同じであるとは限らない。セルがその中で相互接続された行とコラムが異なれば、それに応じて様々な順序でアクセスされるので、メモリ・セル・アレイ内の各セルは、外乱と電荷ストレス状態の独自の組合せをそれぞれ有する。また、不規則な電圧ストレスによって生じるドリフト効果が、不規則な欠陥によって生じるドリフト効果に加えられる。これらの効果は、セルＶTのドリフトに対して累積的に作用する。
この結果、不揮発性セルは繰返しＰ／Ｅサイクルに対する耐久力を失う。すなわち、そのプログラム動作または消去動作があまりに遅いため、これらの動作に与えられた時間内に終えることができず、結果的にそれらの動作は失敗する。一部の従来型プログラミング技術では、メモリ・セル・アレイの特定の部分をサイクリングした回数をカウントする。一例では、そうしたサイクリング・データを使用して、所定の控え目な最大サイクル回数に基づき、メモリ・セル・アレイのその過度に使用された部分をさらにＰ／Ｅサイクリングすることを防止する。このように、このプログラミング技術は、その技術が必要になる前よりメモリの機能性を損なうように働く可能性がある。
さらに、ＶTの外乱およびドリフトの機構に関する上述の問題はすべて、メモリ・セルの物理的サイズの縮小に応じてセル内の電界が増加することによって悪化する。これらの問題がセルのスケーリングの障害となったり、より経済的なメモリ・チップの障壁となったりするのは周知のことである。１セル当たりに複数ビットを格納する場合や、低電源電圧を使用する場合など、ＶLの範囲が狭くなると、セルＶTのドリフトの問題はさらに重大になる。
本発明は、これらの問題を解決するか、あるいはほぼ解消する。本発明によるメモリは、部品の寿命にわたり、各不揮発性メモリの安定性、プログラム可能性、および消去性を直ちに改善する。
発明の概要
本発明は、デジタル情報に対応する複数のレベルのいずれかに蓄積された電荷をそれぞれが有する複数のメモリ・セルを備えた集積回路メモリ・システムを提供する。このメモリ・システムはさらに、メモリ・セル内のデジタル情報の消失を防止するために、メモリ・セル内の電荷の所定の変化量に応答して電荷を回復する回路構成も備える。電荷の回復は、蓄積電荷を第１の組の固有の基準電圧値によって決められた元の値に移行するのに十分な電荷のみをメモリ・セルとの間で移動させるミニプログラミング動作とミニ消去動作によって実行する。
この集積回路メモリ・システムはまた、新規のプログラミング動作と消去動作のための回路構成も備える。このメモリ・システムは、メモリ・セルのプログラミング時には、プログラムするメモリ・セルにデジタル情報に対応する複数のレベルのいずれかの電荷を書き込む。このレベルは、第２の組の固有の基準電圧値によって決めるが、この組では第１の組の固有の基準電圧値よりもレベルを広く決める。その後、必要に応じてミニプログラミング動作とミニ消去動作を実行して、蓄積電荷の範囲を第１の組の固有の基準電圧値によって決められたレベルにまで狭める。当初は蓄積電荷の範囲が広いので、メモリ・セルのプログラミングが高速化される。
このメモリ・システムは、メモリ・セルの消去時には、消去するメモリ・セルのレベルにある蓄積電荷の範囲を固有の基準電圧値によって狭める。消去するもののレベルを狭くすることにより、デジタル情報に対応するレベルの間の間隔が広くなる。これにより、レベル間の安全マージンを大きくしたり、メモリ・セル内に記憶可能なビット数を多くしたりすることができる。
【図面の簡単な説明】
第１Ａ図は、従来技術による、１セル当たり１ビットのデータを記憶する場合のメモリ・チップ全体の検出基準電圧とセルＶTの分布の例を示す図である。
第１Ｂ図は、従来技術による、１セル当たり２ビットのデータを記憶する場合のメモリ・チップ全体の検出基準電圧とセルＶTの分布の例を示す図である。
第１Ｃ図は、従来技術による、１セル当たり４ビットのデータを記憶する場合のメモリ・チップ全体の検出基準電圧とセルＶTの分布の例を示す図である。
第２図は、特定の従来技術による、１セル当たり２ビットのデータを記憶する場合のメモリ・チップ全体の読出し、プログラム、および消去モードの検出基準電圧と得られるセルＶTの分布の例を、異なるＶTレベルで分けたマージンと共に示す図である。
第３Ａ図は、従来技術による、１セル当たり１ビットのデータを記憶する場合のメモリ・チップ全体のＶF、ＶLERASE、ＶM、およびＶLの各セルＶTの分布の範囲の定義例を示す図である。
第３Ｂ図は、従来技術による、１セル当たり２ビットのデータを記憶する場合のメモリ・チップ全体のＶF、ＶLERASE、ＶM、およびＶLの各セルＶTの分布の範囲の定義例を示す図である。
第３Ｃ図は、従来技術による、１セル当たり４ビットのデータを記憶する場合のメモリ・チップ全体のＶF、ＶLERASE、ＶM、およびＶLの各セルＶTの分布の範囲の定義例を示す図である。
第４Ａ図は、ＶTが上昇する場合の時間に対するセルＶTのドリフトの例を示す図である。
第４Ｂ図は、ＶTが降下する場合の時間に対するセルＶTのドリフトの例を示す図である。
第５Ａ図は、ＶTが上昇する場合の時間に対するセルＶTのドリフトの例を、新たな２つの多レベル・デジタル読出し検出基準電圧と所与のレベルの保護帯域と共に示す図である。
第５Ｂ図は、ＶTが降下する場合の時間に対するセルＶTのドリフトの例を、新たな２つの多レベル・デジタル読出し検出基準電圧と所与のレベルの保護帯域と共に示す図である。
第６図は、１メモリ・セル当たり４ビットの多レベル・デジタル・データを検出する場合のＢＳＥＲＤ技術の好ましい実施形態の一般的動作を示す図である。
第７図は、本発明の好ましい実施形態の構成図である。
第８図は、ＢＳＥＲＤ技術をその好ましい実施形態で実施した場合の流れ図である。
第９図は、ＢＳＥＲＤ技術を用いて１つのメモリ・セルから多レベル・デジタル・データを検出する例を示す図である。
第１０図は、第９図に示す例のタイミング図である。
第１１図は、本発明の実施形態の１つであるページ・モード動作の場合のメモリ・アレイとＹ−ＤＲＩＶＥＲＳの詳細な構成を示す構成図である。
第１２図は、２つの異なる時点でのメモリ内の複数セルのセルＶT分布、および所与のレベルの範囲内にある新たな２つのミニプログラミング検出基準電圧と保護帯域を示しながら、本発明によるミニプログラミングの例を示す図である。
第１３Ａ図は、４つの異なる時点でのメモリ内の複数セルのセルＶT分布、新たな予備消去ミニプログラミング検出基準電圧と保護帯域、ならびに所与のレベルの範囲内にある新たな２つのミニ消去検出基準電圧と保護帯域を示しながら、本発明によるミニ消去技術の例を示す図である。
第１３Ｂ図は、第１３Ａ図に続くものであり、３つの異なる時点でのメモリ内の複数セルのセルＶT分布、新たな予備消去ミニプログラミング検出基準電圧と保護帯域、ならびに所与のレベルの範囲内にある新たな２つのミニ消去検出基準電圧と保護帯域を示しながら、本発明によるミニ消去技術の例を示す図である。
第１４Ａ図は、４つの異なる時点でのメモリ内の複数セルのセルＶT分布、および所与のレベルの範囲内にある新たな予備消去マイクロプログラム検出基準電圧と保護帯域を示しながら、本発明によるＶTオーバーシュート回復技術の例を示す図である。
第１４Ｂ図は、第１４Ａ図の続くものであり、３つの異なる時点でのメモリ内の複数セルのセルＶT分布、新たな予備消去マイクロプログラム検出基準電圧と保護帯域、ならびに所与のレベルの範囲内にある新たな２つのマイクロプログラム検出基準電圧と保護帯域を示しながら、本発明によるＶTオーバーシュート回復技術の例を示す図である。
第１５Ａ図は、プログラム直後のメモリ内の所与のレベルの範囲内にある複数セルの当初は厳密なセルＶT分布、および長時間が経過した後のあいまいな検出によって障害が生じた時点での同じセルの大幅に広がった分布を示しながら、従来技術の例を示す図である。
第１５Ｂ図は、新たな２つのプログラミング検出基準電圧と保護帯域、および３つの異なる時点での所与のレベルの範囲内にあるメモリ内の複数セルのセルＶT分布の例、すなわち第１プログラミング部分の直後の当初は広いセルＶT分布、第２プログラミング部分の直後の狭くなった分布、および第１５Ａ図に示すのと同じ長時間が経過した後にあいまいな検出による障害を防止するために復元技術を適用したときの同じセルの復元された分布を示す図である。
第１６Ａ図は、４つの異なる時点でのメモリ内の複数セルのセルＶT分布、および所与のレベルの範囲内なる新たな２つのプログラミング検出基準電圧と保護帯域を示しながら、本発明によるプログラミング技術の例を示す図である。
第１６Ｂ図は、第１６Ａ図の続くものであり、所与のレベルの範囲内にある３つの異なる時点でのメモリ内の複数セルのセルＶT分布を示しながら、本発明によるミニ消去技術の例を示す図である。
第１７Ａ図は、従来用いられている技術と同様にＶL0にＶLERASEを使用する場合の、１セル当たり４ビットのデータ記憶時の消去ブロックのＶF、ＶLERASE、ＶM、およびＶLの各セルＶT分布の範囲の定義例を示す図である。
第１７Ｂ図は、ＶL0にＶLERASEは使用せず、ＶLレベルをＶFの全範囲にわたって展開した結果、第１７Ａ図よりＶLおよびＶMの範囲が広がった場合の、１セル当たり４ビットのデータ記憶時の消去ブロックのＶF、ＶLERASE、ＶM、およびＶLの各セルＶT分布の範囲の定義例を示す図である。
第１７Ｃ図は、ＶL0にＶLERASEは使用せず、一部の技術では高信頼のデータ検出に必要である可能性のあるＶLERASEにＶLレベルを重複させない場合の、１セル当たり４ビットのデータ記憶時の消去ブロックのＶF、ＶLERASE、ＶM、およびＶLの各セルＶT分布の範囲の定義例を示す図である。
第１８Ａ図は、４つの異なる時点での４つのレベル全体での消去ブロック内の複数セルのセルＶT分布、およびＶL0レベルの範囲内にある新たな４つの消去検出基準電圧と新たなＶMEFL保護帯域を示しながら、本発明による消去技術の例を示す図である。
第１８Ｂ図は、第１８Ａ図の続くものであり、４つの異なる時点での４つのレベル全体での消去ブロック内の複数セルのセルＶT分布、およびＶL0レベルの範囲内にある新たな２つの消去検出基準電圧と新たなＶMEFU保護帯域を示しながら、本発明による消去技術の例を示す図である。
好ましい実施形態の説明
上述の問題を回避するために、本発明によるメモリ・システムは、セルＶTの微調整を行い、プログラミングのずっと後でもドリフト効果を自動的に補正する。それにより、セルＶTは適切なＶLIの範囲内の最適値に復元される。この復元動作を必要に応じて実行することにより、メモリの寿命の全期間にわたって高信頼のデータ記憶を行うのに十分な検出マージンを維持する。このメモリ・システムは、セルＶTが所期のＶL範囲の片側のＶR値のいずれかに近づきすぎているときを判定する追加の検出基準電圧により、メモリ・セルＶTを復元すべきタイミングを決定する。
本発明はまた、別個の検出基準電圧によって分離した複数のレベルを使用しない従来のアナログ記憶技術とまったく異なる。そのようなアナログ技術では、元のアナログ信号がＶTドリフトによって不正になった後は、セルのドリフト効果または外乱効果を検出することも補正することもできない。
セルＶTは、次の３つのいずれかで移動することができる。
ＶTの上昇（例えば、第４Ａ図に示すように、浮遊ゲートに電子を加えた場合など）
ＶTの降下（例えば、第４Ｂ図に示すように、浮遊ゲートから電子を除去した場合など）
電荷の平衡またはストレス状態の解消によるＶTの安定
本発明によるメモリは、各メモリ・セルごとに上記の３つの可能性すべてに応答し、セルＶTを復元するのに必要な処置を決定する。この応答と決定は、元のデータ・プログラミングのずっと後でも行うことができる。このメモリ・システムは、必ずしもプログラミングの前に消去を実行しない。その代わりに、このメモリは、正しい方向にＶTを補正するミニ消去動作とミニプログラム動作を実行する。これらの動作では、ＶTの復元を行うのに必要な少量の蓄積電荷のみを移動する。これにより、他のセル上のデータを妨害することを回避する。従来のＰ／Ｅサイクリング技術の磨耗効果は最小限に抑えられる。
さらに、このメモリ・システムは、通常のＰ／Ｅサイクル中にゲート誘電体を大量の電荷が流れたときに生じるローグ・ビットも補正する。復元動作では、セルＶTをほんの少し変化させるだけでＶTを復元することができる。
ＦＬＡＳＨ不揮発性メモリのメモリ・セル・アレイは通常、そのセルをセクタと呼ばれる大きなグループ単位、すなわち消去ブロック単位で電子的に消去する必要があることから、チップのシリコン領域を縮小するように最適化される。プログラミングは、ページ、ワード、バイトなどの小さなグループ単位でより少数のビットを同時にプログラムするといった、より選択的な形で行われる。プログラミング・ページ、ワード、またはバイト内のすべてのセルは、同時に検出（読出しまたは検査）することもできる。１つの消去セクタまたは消去ブロックは、複数のプログラミング・ページを含んでいてもよい。
プログラミングにより、メモリ・セルＶTは消去時とは反対方向にシフトする。本明細書で使用するプログラミングと消去の定義は、浮遊ゲートなどの電荷蓄積領域への電荷移動の極性にも方向にも関係せず、メモリ・セル・アレイによって決定されることに注意されたい。したがって、本発明はセルＶTの上昇によってプログラムを行う技術にも、降下によってプログラムを行う技術にも適用することができる。
集積回路セルのプログラミングに際して、メモリ・システムは、消去ブロック内のすべてのセルを完全に消去してから、その消去ブロック内のページに新しいデータ・ビットをプログラムする。従来のプログラミング・アルゴリズムでは、各セルを一連のプログラミング・パルスのうちの所期のＶTにプログラムする。多レベル・プログラミングでは、その後のドリフトを見越して、プログラミング中にできる限り厳密なＶLが得られるように各セルＶTを個別に設定することが好ましい。従来の多レベル・プログラミング・アルゴリズムでは、セルＶTをある方向にシフトするためにプログラム／検査を何回も繰り返す必要がある。また、セルＶTのプログラミングを最高速化したときにレベル内の所期の範囲を超えたり、ＶRに近づきすぎたりすることを回避するために、統計的プロセス管理に大きく依存する。このオーバーシュートを回避するには、小規模のプログラミングを何回も繰り返す必要がある。
それとは対照的に、本明細書で記述するメモリ・システムのプログラミング動作では、プログラミング・モード時にミニ消去動作を採用することにより、セルＶTを両方向にシフトすることができる。このミニ消去動作により、大規模のプログラミングの繰返しを実行することが可能になる。プログラミング中は、各セルのプログラミング特性の統計的管理に依存するのではなく、各ＶL範囲の両端を制御する。以下に記述するプログラミング技術のもう１つの利点は、ミニプログラミング動作とミニ消去動作により、当初プログラミングされた各レベル内の広いセルＶTの分布が縮小され、ＶTのオーバーシュートがすべて補正されるので、多レベル・メモリのプログラミング時間が短縮されることである。
本発明を用いる場合、メモリ・システムは、外部システムに組み込みながら直接測定を行うことにより、データのプログラム、消去、または格納を高信頼に行うことができなくなったときを判定することができる。適切な処置が直ちに必要かどうかを判定して初めてそうした処置を講じる。これにより、メモリ・チップの有効寿命が延びる。
以下、本発明によるメモリ・システムの様々な態様を詳細に説明する。多レベル・データ検出、ミニプログラミング、ミニ消去、プログラミング、および消去の各動作は以下の通りである。
Ｉ．多レベル・デジタル・データ検出
検出動作の全般的説明
本発明は、新規の多レベル・デジタル・データ検出技術を提供する。この技術では、検出動作中に追加の基準電圧と保護帯域を使用して、メモリ・セルＶTがドリフトを生じているかどうかと、ＶLIレベルの一方を定義するレベル分離基準電圧ＶRIまたはＶR(I+1)のいずれかに近づきすぎているかどうかとを判定する。
第５Ａ図および第５Ｂ図に示すように、検出モードの間は、基準電圧ＶUGIおよびＶLGIによってセルＶTの読出しマージン保護帯域を導入する。各レベル「Ｉ」ごとに、１）上側読出し保護帯域ＶMRUI＝ＶR(I+1)−ＶUGIと、２）下側読出し保護帯域ＶMRLI＝ＶLGI−ＶRIという２つの読出しマージン保護帯域を設ける。保護帯域ＶMRUIおよびＶMRLIは、ＶRIを基準とする。例えば、ＶMRUIはＶR(I+1)を基準とし、ＶMRLIはＶRIを基準とする。ＶRIを中心とする全読出し保護帯域は、ＶMRI＝ＶMRU（Ｉ−１）＋ＶMRLIとなる。
この新しい多レベル・デジタル・データを検出技術では、セルＶTが読出しマージン保護帯域のいずれかへのドリフトを生じていることを検知した場合、復元サイクル状態を確立し、条件付き状況フラグを設定する。この新しい多レベル・デジタル・データ検出技術ではまた、（２N＋１）個のレベル分離基準電圧ＶRIも使用する（ここで、Ｎは各メモリ・セルごとに格納される多レベル・デジタル・ビットの数、Ｉは０〜（２N＋１）である）。セルが信頼できるデータ検出の極限へのドリフトを生じているかどうかを検出するために、２つの読出しマージン保護帯域も別途使用する。
バイナリサーチ埋込み復元検知方法論
バイナリサーチ埋込み復元検知（ＢＳＥＲＤ：Binary Search Embedded Restore Detection）技術と呼ばれるこの新しい多レベル・デジタル・データ検出技術は、多レベル・デジタル・データとしてメモリ・セルに格納された複数のビットのデータを検出し、帯域検出検知を用いて復元サイクル状態が確立されているかどうかを判定する。
第６図に、１メモリ・セル当たり４ビット（Ｎ＝４）の多レベル・デジタル・データを検出する場合のＢＳＥＲＤ技術の好ましい実施形態の全般的動作を示す。この実施形態でＮ＝４を選択したのは、本発明の教示のためにすぎず、Ｎを他の値にした場合への本発明の応用を限定するものではない。本発明は、例えば１メモリ・セル当たり１ビット（Ｎ＝１）に利用したり、他の複数ビット記憶（ただしＮ＞１）応用したりすることができる。
各「Ｓｅｔ  ＢｉｔＸ」サイクル（Ｘ＝０〜Ｎ−１）中に、２つのサブサイクル動作を実行する。これらのサブサイクルは、データ検知サブサイクルと、それに続いての復元検知サブサイクルである。各サブサイクルの間、適切な基準電圧ＶＣＲＦを設定し、検出したセルＶTと比較する。ある時点でのＶＣＲＦ電圧は、その時点でのＶＣＲＦ電圧とその前の各時点で検出されたセルＶTとを比較した結果によって決まる。必要な回数のＳｅｔ  ＢｉｔＸサイクルが終了した後は、境界検知サブサイクルと境界復元サブサイクルを実行して、セルＶTがセルＶT検出範囲の信頼マージン内であるかどうかと、セルＶTが上限または下限の復元マージン範囲内であるかどうかを判定する。
多レベル・メモリ検出システム
第７図に本発明の好ましい実施形態の構成図を示す。４ビットの多レベル・デジタル・データは、各メモリ・セルから検出する。外部システムと好ましい実施形態との間でのデータ信号、アドレス信号、制御信号、およびシステム・クロック信号の送受信は、ＤＡＴＡ、ＡＤＤＲ  ＆  ＣＮＴＲＬ  ＳＹＳＴＥＭ  ＩＮＴＥＲＦＡＣＥブロック１０をインターフェースとして、ＤＡＴＡバス１１、ＡＤＤＲバス１２、ＣＮＴＲＬバス１３、およびＣＬＫＩＮ線１４をそれぞれ介して行う。別法として、内部ＣＬＯＣＫブロック（第７図には図示せず）により、第７図に示すＣＬＣＫ信号線１５上にクロック信号を生成する。検出動作中、ＤＡＴＡ、ＡＤＤＲ  ＆  ＣＮＴＲＬ  ＳＹＳＴＥＭ  ＩＮＴＥＲＦＡＣＥブロック１０は、メモリ・アレイ・ブロックＣＥＬＬ  ＡＲＲＡＹ  ２１内の該当するメモリ・セル２０を選択するために、両方向アドレスＡＤＤＲＢＵＳバス１６を介して水平復号器Ｘ−ＤＥＣ  １７、垂直復号器Ｙ−ＤＥＣ  １８、およびブロック復号器ＢＬＯＣＫ−ＤＥＣ  １９にアドレス情報を供給する。
復号器は、ＰＲＧ−ＥＲＳ制御バス２２、ＨＶＣＴＲＬ制御バス２３、ＰＲＧＨＶ高電圧線２４、ＨＶＯＵＴ高電圧線２５上の信号に応じて、セル２０の端子に適切な多レベル・プログラミング電圧、消去電圧、または検出電圧を供給する。ＰＲＧ−ＥＲＳおよびＨＶＣＴＲＬ信号は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６によって生成する。ＨＶＯＵＴおよびＰＲＯＧＨＶ信号は、ＨＶＧＥＮブロック２７によって生成する。
検出中、ＲＤ線２８を強制的に高電圧状態にすることにより、ＧＡＴＥＣスイッチ２９を作動させてＭＬＬＩＮＥ線３０をＶＭＥＭ線３１に接続する。ＭＬＬＩＮＥ線３０は、Ｙ−ＭＵＸブロック３２とＢＬ００ビット線７１を介してセル２０に接続されている。検出中にＭＬＬＩＮＥ線３０に接続される特定のセル２０は、Ｙ−ＤＥＣブロック１８によってＹＤＥＣＯバス３４上に生成された信号に応答して、Ｙ−ＭＵＸブロック３２が決定する。ＶＭＥＭ線３１は、コンパレータＣＭＰ３５の非反転入力に接続されている。ＲＤ線２８が高電圧状態になると、負荷ブロック回路ＣＥＬＬ  ＬＯＡＤ３６もＶＭＥＭ線３１に接続される。
アドレス指定されたセル２０の端子に適切な電圧が印加され、ＣＥＬＬ  ＬＯＡＤ３６が接続されると、４ビットのデジタル・データを表す電圧がＶＭＥＭ線３１上に発生する。ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６はまた、ＰＲＧＲＤＢバス３７を介して、基準電圧選択ブロックＶＸ  ＶＹ  ＧＥＮブロック３８および△ＶＵ  △ＶＬ  ＧＥＮブロック３９にも信号を送信する。ＶＸ  ＶＹ  ＧＥＮブロック３８および△ＶＵ  △ＶＬ  ＧＥＮブロック３９の出力は、コンパレータ基準電圧生成ブロックＶＣＲＦＧＥＮブロック４０に渡される。基準電圧は、ＶＸ  ＶＹ  ＧＥＮブロック３８と△ＶＵ  △ＶＬＧＥＮブロック３９により、基準電圧バスＲＶＢＵＳ  ４２を介してＶＯＬＴＡＧＥ  ＲＥＦＥＲＥＮＣＥＳブロック４１から選択される。
検出動作中、ＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３とＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、ＤＡＴＡ、ＡＤＤＲ  ＆  ＣＮＴＲＬ  ＳＹＳＴＥＭ  ＩＮＴＥＲＦＡＣＥブロック１０からＣＬＣＫ線１５上に送信されたクロック信号によって同期されたＢＳＥＲＤ技術の制御と順序付けを行う。ＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３は、両方向バスＤＡＴＡＢＵＳ［０〜３］４４上の該当するデータ線を引き込む。
ＶＣＲＦＧＥＮブロック４０はまた、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６からの制御線ＰＨＳＳＥＬ線４６、およびＳＴＰＤＩＲラッチ５２からの制御線ＳＴＰＤＩＲ線４７からも制御信号を受信する。ＳＴＰＤＩＲラッチ５２は、出力線ＶＣＭＰＯ  ４９と転送ゲートＧＡＴＥＡ  ５０を介して、ＣＭＰコンパレータ３５の出力端子に接続されている。ＤＡＴＡＢＵＳ［０〜３］バス４４からの入力信号に基づき、ＶＸ  ＶＹ  ＧＥＮブロック３８と△ＶＵ  △ＶＬ  ＧＥＮブロック３９はＶＣＲＦＧＥＮブロック４０への適切な電圧を生成する。表１に、検出中にＰＨＳＳＥＬ線４６とＳＴＰＤＩＲ線４７上のレベルに基づいてＶＣＲＦＧＥＮブロック４０から出力ＶＣＲＦ線４５上に出力される電圧を示す。ＶＣＲＦ線４５は、ＣＭＰコンパレータ３５の反転入力側に接続されている。
0003706146.tif 000003
第６図に基準電圧ＶR0ないしＶR16を示す。これらの基準電圧は、ＰＲＧＲＤＢバス３７およびＤＡＴＡＢＵＳ［０〜３］バス４４の制御信号のもとにＶＸ  ＶＹ  ＧＥＮブロック３８の出力として生成され、次いでシーケンサ２６および４３によって制御される。検出中、ＶＸ  ＶＹ  ＧＥＮブロック３８からの電圧出力は、ＶＸ＝ＶRIおよびＶＹ＝ＶRIである（ここで、ＩはＤＡＴＡＢＵＳ［０〜３］バス４４上のデータ線によって決定される０〜１６の範囲の整数である）。検出中は、第６図に示すように、△ＶＵ  △ＶＬ  ＧＥＮブロック３９もまた出力電圧△ＶＬおよび△ＶＵを生成する（ここで、△ＶＬ＝ＶMRLI、△ＶＵ＝ＶMRU(I-1)で、それぞれＩ＝０〜１５）。
ＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８は、各メモリ・セル２０から４つのビットがＢＳＥＲＤ技術によって検出されたときにそれらのビットを格納する４つのラッチを有する。ＣＭＰコンパレータ３５は、ＶＭＥＭ入力線３１上の電圧とＶＣＲＦ入力線４５上の電圧とを比較し、ＶＣＭＰＯ出力線４９上に論理高電圧信号または論理低電圧信号を生成する。ＶＭＥＭ線３１上の電圧がＶＣＲＦ線４５上の電圧より高い場合は、ＶＣＭＰＯ線４９を論理高電圧信号に駆動する。逆に、ＶＭＥＭ線３１上の電圧がＶＣＲＦ線４５上の電圧より低い場合には論理低電圧信号に駆動する。
出力線ＶＣＭＰＯ  ４９は、転送スイッチＧＡＴＥＡ  ５０の他に、転送スイッチＧＡＴＥＢ  ５１の入力側にも接続されている。ＧＡＴＥＡ  ５０の出力線は、ＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２の入力線に接続する。ＧＡＴＥＢ  ５１の出力線は、ラッチＲＥＳ  ＬＡＴＣＨ  ５３の入力に接続されている。スイッチＧＡＴＥＡ  ５０およびＧＡＴＥＢ  ５１の動作は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６からのＰＨＳＳＥＬ線４６によって制御する。ＰＨＳＳＥＬ線４６が高電圧状態になると、ＣＭＰコンパレータ３５からの出力線ＶＣＭＰＯ  ４９は、スイッチＧＡＴＥＢ  ５１を介してＲＥＳ  ＬＡＴＣＨ  ５３の入力に接続される。ＰＨＳＳＥＬ線４６が低電圧状態になると、ＶＣＭＰＯ線４９は、ＧＡＴＥＡスイッチ５０を介してＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２の入力に接続される。
ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６からのＲＳＴ線５４は、ＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２とＲＥＳ  ＬＡＴＣＨ  ５３の両方に接続する。この２つのラッチ５２および５３は、ＲＳＴ線５４が論理高電圧になるとリセットされる。ＲＥＳ  ＬＡＴＣＨ  ５３がリセットされると、ラッチ５３からの出力線ＲＥＳ  ５５は低電圧状態になる。ＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２からの出力線ＳＴＰＤＩＲ  ４７は、ラッチ５２からの反転信号を搬送する。ＳＴＰＤＩＲ  ＬＡＴＣＨ５２がリセットされると、出力線ＳＴＰＤＩＲ  ４７は高電圧状態になる。ＳＴＰＤＩＲ線４７は、高電圧スイッチＨＶＳＷ５６、ＶＣＲＦＧＥＮブロック４０、転送スイッチＧＡＴＥＤ  ５７、転送スイッチＧＡＴＥＦ  ５８、および転送スイッチＧＡＴＥＨ５９に接続されている。ＳＴＰＤＩＲ線４７が高電圧状態になると、ＨＶＳＷスイッチ５６は高電圧発生器ＨＶＧＥＮブロック２７に接続されているＰＲＧＨＶ線２４とＭＬＬＩＮＥ線３０に高電圧パルスを渡す。ＳＴＰＤＩＲ線４７が低電圧状態になると、ＨＶＳＷスイッチ５６はＰＲＧＨＶ線２４をＭＬＬＩＮＥ線３０から切断する。
ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６からＨＶＣＴＲＬバス２３を強制的にプログラミングまたは消去動作に設定すると、ＨＶＧＥＮブロック２７によって高電圧パルスが生成される。検出中は、ＨＶＣＴＲＬバス２３が検出用に設定されるので、高電圧線ＰＲＧＨＶ  ２４は変動しても差し支えなく、ＨＶＧＥＮブロック２７は高電圧パルスをまったく生成しない。ＨＶＧＥＮブロック２７はまた、プログラミング、消去、および復元の各動作中、ならびに潜在的には検出動作中にも、ＨＶＯＵＴバス２５を介してＹ−ＤＥＣブロック１８、Ｘ−ＤＥＣブロック１７、およびＢＬＯＣＫ−ＤＥＣブロック１９に高電圧を供給する。
Ｙ−ＭＵＸブロック３２は、Ｙ−ＤＥＣブロック１８の制御のもとに、アドレス指定されたセル２０の該当するビット（検出）線を選択する。ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０は、ＢＳＥＲＤ技術によって決められた条件付き復元状況フラグと共に復元するメモリ・セルのアドレスを格納する。ＡＤＤＲＢＵＳバス１６に接続されているＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０の制御は、ＢＦＣＴＬＢＵＳバス６１を介して、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６によって行う。
ＧＡＴＥＤスイッチ５７とＧＡＴＥＥスイッチ６２は、ＧＲＯＵＮＤ線６４に直列に接続されており、論理低電圧信号に設定される。これらのスイッチ５７および６２の制御は、ＳＴＰＤＩＲ線４７上の信号とＲＥＳ線５５上の信号によってそれぞれ行う。同様に、ＧＡＴＥＦスイッチ５８とＧＡＴＥＧスイッチ６３は、ＰＯＷＥＲ線６７に直列に接続されており、論理高電圧信号に設定される。これらのスイッチ５８および６３の制御もまた、ＳＴＤＩＲ線４７とＲＥＳ線５５によってそれぞれ行う。
ＳＴＰＤＩＲ線４７とＲＥＳ線５５が共に高電圧状態になると、ＧＡＴＥＤスイッチ５７とＧＡＴＥＥスイッチ６２を介してＦＬＧＢ線６５に論理低電圧信号が渡される。ＳＴＰＤＩＲ線４７上の信号とＲＥＳ線５５上の信号の他のどんな組合せでも、ＦＬＧＢ線６５に論理低電圧信号が渡されることはないので、ＰＵＬＬ  ＵＰ  ＬＯＡＤブロック６６はＦＬＧＢ線６５上の高電圧信号を引き込むことができる。ＳＴＰＤＩＲ線４７とＲＥＳ線５５が共に低電圧状態になると、ＧＡＴＥＦスイッチ５８とＧＡＴＥＧスイッチ６３を介してＦＵＧＢ線６８に論理高電圧信号が渡される。ＳＴＰＤＩＲ線４７上の信号とＲＥＳ線５５上の信号の他のどんな組合せでも、ＦＵＧＢ線６８に論理高電圧信号が渡されることはないので、ＰＵＬＬ  ＤＯＷＮ  ＬＯＡＤブロック６９はＦＵＧＢ線６８上の低電圧信号を引き込む。ＦＬＧＢ線６５とＦＵＧＢ線６８は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６およびＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３の入力線である。ＳＴＰＤＩＲ線４７が低電圧状態になると、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６によって生成され、ＬＣＨＤＡＴ線７０を介して伝導されたデータ・ラッチング・パルスが、ＧＡＴＥＨスイッチ５９を通過してＤＡＴＡ［０〜３］ＬＡＴＣＨＥＳブロック４８に渡される。
第８図に、ＢＳＥＲＤ技術を実施した場合の流れずを示す。ＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３とＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、ＢＳＥＲＤ技術を実施するのに必要な制御回路を含む。この回路の設計は、集積回路設計の当業者には明らかなものであろう。
第９図に、メモリ・セルから多レベル・デジタル・データを検出する例を示す。第９図中の矢印は、時間軸に示した前の各時点でのＣＭＰ  ３５の出力の状態に応答した、ある時点でのＣＭＰコンパレータ  ３５へのＶＣＲＦ入力線４５における基準電圧の遷移を示す。
第１０図に、第９図に示すメモリ・セル２０から多レベル・デジタル・データを検出するときの典型的なタイミング図を示し、以下このタイミング図について述べる。選択したセル２０のＶTは、あらかじめ適切にプログラムしてあり、そのＶＭＥＭ線３１（第７図を参照）上での検出は、第９図に「セルＶT」として示した黒い点線の横線で行う。ＢＳＥＲＤ技術の開始を表す時間Ｔ0に、ＲＳＴ線５４に高電圧パルスを流してＳＴＰＤＩＲラッチ５２とＲＥＳラッチ５３をリセットする。ＰＲＧＲＤＢバス３７を設定するとＰＨＳＳＥＬ線４６は低電圧状態になり、ＨＶＣＴＲＬバス２３を検出用に設定するとＲＤ線２８は高電圧状態になり、選択したメモリ・セルの検出されたアドレスがＡＤＤＲＢＵＳバス１６に格納される。線５４上にリセット・パルスを流すと、ＳＴＰＤＩＲ線４７は高電圧状態になり、ＲＥＳ線５５は低電圧状態になる。また、ＦＬＧＢ線６５は高電圧状態になり、ＦＵＧＢ線６８は低電圧状態になる。
次に、「Ｓｅｔ  ＢＩＴ３」サイクル（第６図を参照）と最初のデータ検知サブサイクルを開始する。ＤＡＴＡＢＵＳ［０〜３］バス４４の最上位ビット線Ｂｉｔ３を、ＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３によって強制的に高電圧状態にする。ＤＡＴＡＢＵＳ［０〜３］バス４４上の（０００１）であるＢｉｔ３を強制的に高電圧状態にすることにより、ＶＸ  ＶＹ  ＧＥＮ  ブロック３８は時間Ｔ1Dに基準電圧ＶR8を出力し、△ＶＵ  △ＶＬ  ＧＥＮブロック３９は基準電圧ＶMRL8およびＶMRU7を出力する。ＰＨＳＳＥＬ線４６はこのとき低電圧状態にあるので、ＶＣＲＦＧＥＮブロック４０はＶＣＲＦ線４５上に基準電圧ＶR8を出力する。時間Ｔ1Dの直後に、ＣＭＰコンパレータ３５はＶＭＥＭ線３１がＶＣＲＦ線４５より高い電圧の状態になっていることを感知し、ＶＣＭＰＯ線４９上に論理高電圧信号を生成する。ＰＨＳＳＥＬ線４６が低電圧状態になると、ＧＡＴＥＡスイッチ５０はＶＣＭＰＯ線４９を介して論理高電圧信号をＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２の入力線に渡す。ラッチ５２は、設定されるとＳＴＰＤＩＲ線４７上に論理低電圧信号を生成する。ＳＴＰＤＩＲ線４７が低電圧状態になると、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６からＬＣＨＤＡＴ線７０上へのラッチング・パルスがＧＡＴＥＨスイッチ５９を通過して、ＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８内のＤＡＴＡ３ラッチに「１」が保持される。これは、データ検知サブサイクルの終了を示す。
次に、最初の復元検知サブサイクルを開始する。まず、ＰＨＳＳＥＬ線４６を高電圧に設定する。ＰＨＳＳＥＬ線４６が高電圧状態となり、ＳＴＰＤＩＲ線４７が低電圧状態にあるので、ＶＣＲＦＧＥＮブロック４０は時間Ｔ1RにＶＣＲＦ線４５上に電圧（ＶR8＋ＶMRL8）を出力する。ＣＭＰコンパレータ３５は、ＶＭＥＭ線３１上の信号がＶＣＲＦ線４５上の信号より依然として高いことを感知し、ＶＣＭＰＯ線４９上に論理高電圧信号を生成する。ＰＨＳＳＥＬ線４６が論理高電圧状態にあるので、ＶＣＭＰＯ線４９上の信号は、ＧＡＴＥＢスイッチ５１を通ってＲＥＳ  ＬＡＴＣＨ  ５３に渡されるが、ＧＡＴＥＡスイッチ５０を通ってＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２に渡されることはない。ＲＥＳ  ＬＡＴＣＨ  ５３の入力ではレベルは高い状態にあるので、出力ＲＥＳ線５５は高電圧状態に設定される。これで最初の復元検知サブサイクルが終了し、「Ｓｅｔ  Ｂｉｔ３」サイクルも終了する。
ＢＳＥＲＤ技術では、前段で述べたように事象およびサブサイクルの順序付けを実行しており、Ｓｅｔ  ＢＩＴ２、Ｓｅｔ  ＢＩＴ１、およびＳｅｔ  ＢＩＴ０の各サイクルを順に実行する。第９図に、様々な時点でＶＣＲＦ線４５に設定される基準電圧を示す。第１０図に、様々な時点でのＶＣＭＰＯ線４９、ＳＴＰＤＩＲ線４７、ＲＥＳ線５５、ＦＬＧＢ線６５、ＦＵＧＢ線６８、およびＤＡＴＡＢＵＳ［０〜３］バス４４上の各出力論理電圧を示す。いずれかのデータ検知サブサイクルの終了時に、ＣＭＰコンパレータ３５からの出力線ＶＣＭＰＯ４９が低電圧状態のままである、すなわちＶＭＥＭ線３１上の電圧がＶＣＲＦ線４５上の電圧より低いと、ＳＴＰＤＩＲ線４７は高電圧状態となる。その状態になると、ＬＣＨＤＡＴ線７０からのデータ・ラッチング・パルスはＧＡＴＥＨスイッチ５９を通過しない。その場合、ＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８内の該当するデータ・ラッチは「０」にリセットされた状態のままとなる。この例ではこの状態は生じていない。同様に、いずれかの復元検知サブサイクルの終了時に、ＳＴＰＤＩＲ線４７とＲＥＳ線５５が共に高電圧状態になると、低電圧復元サイクル状態が確立され、ＦＬＧＢ線６５を強制的に低電圧状態にする。いずれかの復元検知サブサイクルの終了時に、ＳＴＰＤＩＲ線４７とＲＥＳ線５５が共に低電圧状態になると、高電圧復元サイクル状態が確立され、ＦＵＧＢ線６８を強制的に高電圧状態にする。
データ検知サブサイクルと復元検知サブサイクルの完了時に、ＢＳＥＲＤ技術によって境界検知サブサイクルと境界復元サブサイクルを実行する。先の例で最後の「Ｓｅｔ  ＢＩＴ０」サイクルの終了時には、ＤＡＴＡＢＵＳ［０〜３］バス４４上のデータは（１１１１）である。境界検知サブサイクルの開始時に、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６はＤＡＴＡＢＵＳ［０〜３］バス４４上の（１１１１）を検出し、ＶＸ  ＶＹ  ＧＥＮブロック３８の出力には基準電圧ＶR16を、△ＶＵ  △ＶＬ  ＧＥＮブロック３９の出力には基準電圧ＶMRU15およびＶMRL15をそれぞれ選択するようにＰＲＧＲＤＢバス３７を設定する。ＰＨＳＳＥＬ線４６はこのとき低電圧状態にあるので、ＶＣＲＦＧＥＮブロック４０は時間Ｔ5FにＶＣＲＦ線４５上に基準電圧ＶR16を出力する。ＣＭＰコンパレータ３５は、ＶＭＥＭ線３１がＶＣＲＦ線４５より低電圧になっていることを感知し、ＶＣＭＰＯ線４９上に論理低電圧信号を出力する。ＰＨＳＳＥＬ線４６が低電圧状態になると、ＧＡＴＥＡスイッチ５０はＶＣＭＰＯ線４９を介してＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２に低電圧信号を渡し、ラッチ５２はＳＴＰＤＩＲ線４７上に論理高電圧信号を出力する。これで境界検知サブサイクルが終了する。境界検知サブサイクルの間は、ＬＣＨＤＡＴ線７０上にラッチング・パルスは生成されない。
次に、境界復元サブサイクルの開始時にＰＨＳＳＥＬ線４６を高電圧状態に設定する。ＳＴＰＤＩＲ線４７とＰＨＳＳＥＬ線４６が共に高電圧状態になると、表１に従って、ＶＣＲＦＧＥＮブロック４０は時間Ｔ5RにＶＣＲＦ線４５上に電圧ＶR16−ＶMRU15を出力する。ＣＭＰコンパレータ３５は、ＶＭＥＭ線３１上の電圧がＶＣＲＦ線４５上の電圧より高いことを感知し、ＶＣＭＰＯ線４９上に論理高電圧信号を生成する。ＰＨＳＳＥＬ線４６は高電圧状態にあるので、ＶＣＭＰＯ線４９上の論理高電圧信号はＧＡＴＥＢスイッチ５１を通ってＲＥＳ  ＬＡＴＣＨ  ５３に渡される。論理高電圧信号がＧＡＴＥＡスイッチ５０を通ってＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２に渡されることはない。ＲＥＳ  ＬＡＴＣＨ  ５３の入力は高電圧状態なので、ＲＥＳ線５５は高電圧状態に設定されたままになる。ＳＴＰＤＩＲ線４７＝高電圧かつＲＥＳ線５５＝高電圧の状態になると、低電圧復元サイクル状態が確立され、ＦＬＧＢ線６５は強制的に低電圧状態になる。これで境界復元サブサイクルは終了し、ＢＳＥＲＤ技術も終了する。境界検知サブサイクルの開始時に、ＢＳＥＲＤ技術がＤＡＴＡＢＵＳ［０〜３］バス４４上に（１１１１）と（００００）のどちらも検出しなかった場合、ＢＳＥＲＤ検出技術は終了したことになる。
ＢＳＥＲＤ技術の終了に際して、選択したセル２０に蓄積されたＶTレベルに一意に対応するＮビットのバイナリ・データ・パターンがＤＡＴＡ［０〜３］ＬＡＴＣＨＥＳブロック４８内に保持され、ＤＡＴＡＢＵＳ［０〜３］バス４４、ＤＡＴＡ、ＡＤＤＲ  ＆  ＣＮＴＲＬ  ＳＹＳＴＥＭ  ＩＮＴＥＲＦＡＣＥブロック１０、およびＤＡＴＡバス１１を介して読出しに利用可能となる。
好ましい実施形態では、低電圧復元と高電圧復元という２つの状態があり、それによって復元検知サブサイクルまたは境界復元サブサイクルの終了時に復元サイクル状態を発生させることができる。ＳＴＰＤＩＲ線４７＝高電圧かつＲＥＳ線５５＝高電圧の状態が低電圧復元状態であり、そのときＦＬＧＢ線６５を強制的に低電圧状態にする。ＳＴＰＤＩＲ線４７＝低電圧かつＲＥＳ線５５＝低電圧の状態が高電圧復元状態であり、そのときＦＵＧＢ線６８を強制的に高電圧状態にする（第７図および第８図を参照）。ＢＳＥＲＤ技術の動作中はいつでも、復元サイクル状態が確立されると、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は状態を検知し、ＦＬＧＢ線６５およびＦＵＧＢ線６８の状況を復元サイクル状況ラッチ上に内部的に保存する。復元サイクル状況ラッチは、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６がその内部に備える。ＢＳＥＲＤ技術の動作中に復元サイクル状態が設定されると、その完了時に、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、復元サイクルに必要な記憶域のアドレスならびに必要な復元サイクルのタイプをＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０に保存する動作を開始する。
復元サイクルに必要なアドレスならびに必要な復元のタイプを保存することにより、後で復元サイクルを実行できるという柔軟性がもたらされる。現在の記憶域で復元サイクル動作を直ちに実行する場合は、ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０への必要な復元サイクルのアドレスとタイプの保存は行わない。ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０は、復元サイクル動作を必要とする複数のアドレスに関する復元サイクル情報を保存することができる。ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０は、同じ集積回路と別のシステムのどちらに置いてもよく、しかも揮発性メモリと不揮発性メモリのどちらからなってもよい。
第６図および第７図に、あるメモリ・セルからのデータ検出を示す。好ましい実施形態はまた、セルのページからのデータ検出にも働く。第７図のＹ−ＤＲＩＶＥＲブロック３３は、ページ内に存在するセル数Ｊと同じ数だけ繰り返す。第７図のＹ−ＤＲＩＶＥＲブロック３３の境界を越える線は、ＣＥＬＬ  ＡＲＲＡＹブロック２１への線を除いて、すべてのＹ−ＤＲＩＶＥＲブロック３３に共通である。ＦＬＧＢ線６５とＦＵＧＢ線６８は、すべてのＹ−ＤＲＩＶＥＲブロック３３の間で出力結合の形で互いに接続する。
第１１図に、ある実施形態におけるページ・モード動作の場合のメモリ・アレイおよびＹ−ＤＲＩＶＥＲブロック３３の構成をより詳細に示す。セルのページに対するプログラミングおよび復元サイクル中と、セルの消去ブロックに対する消去サイクル中とでは同じ構成を使用する。第１１図に「Ｊ」個のＹ−ＤＲＩＶＥＲブロック３３を示す。第７図のＹ−ＤＥＣブロック１８からのＹＤＥＣＯバス３４が、各Ｙ−ＤＲＩＶＥＲブロック３３内のＹ−ＭＵＸ  ３２を介してアクティブ・ページの選択を制御する。
第１１図のＣＥＬＬ  ＡＲＲＡＹ  ２１と記した概略のブロック内に示した回路とメモリ・セル・アレイは本発明の一部ではないが、本発明の実施形態が任意のメモリ・セル・アレイと連動する方法を説明するために、以下この回路とメモリ・セル・アレイについて述べる。
第１１図に「Ｓ」個のページを示す。また、「Ｋ」個のブロック８３ないし８４も示す。各ブロックは、複数の行のセルで構成することができる。第７図に示したように、ブロック選択と行選択は、それぞれＢＬＯＣＫ−ＤＥＣブロック１９とＸ−ＤＥＣブロック１７によって同時に行う。各ブロック８３ないし８４内のＢＵＳサブブロック７７とＢＳＬサブブロック７８は、アレイ内の各ブロック８３ないし８４ごとに、ビット（検出）線（ＢＬ００線７１ないしＢＬＳＪ線７２）または共通線（ＣＬ０線７５ないしＣＬＫ線７６）の選択／選択解除を実行する。ＢＳＵブロック７７とＢＳＬブロック７８の制御は、ＳＬＵＫ線７９とＳＬＬＫ線８０によって行う。第１１図に示すように、ＢＬＯＣＫ０ブロック８３に入るＳＬＬ０線８１、ＳＬＵ０線８２、およびＣＬ０線７５と、ＢＬＯＣＫＫブロック８４に入るＳＬＬＫ線８０、ＳＬＵＫ線７９およびＣＬＫ線７６は、第７図のＢＬＯＣＫ−ＤＥＣブロック１９に端を発する。
すべてのブロック８３ないし８４内の該当する行の選択は、ワード線（ＷＬ００線８５ないしＷＬＫＴ線８６）によって行う。第１１図に、ブロックごとに「Ｔ」本のワード線を示す。ワード線の制御は、第７図に示したＸ−ＤＥＣブロック１７によって行う。Ｘ−ＤＥＣブロック１７、ＢＬＯＣＫ−ＤＥＣブロック１９、およびＹ−ＤＥＣブロック１８は、それぞれ複数個を用いる。ただし、説明を簡潔にするために、第７図にはそれぞれ１つずつのみを示した。ページ動作では、ブロック８３ないし８４を選択し、そのブロック内で行を選択し、その行内でページを選択する。第１１図に太線で示すセル２０は、ブロック０内の行１の中のページ１を形成する。このページ１の選択は、ビット（検出）線ＢＬ１０  ７３ないしＢＬ１Ｊ  ７４と、ワード線ＷＬ０１  ８７と、ブロック選択線ＳＬＵ０  ８２、ＳＬＬ０  ８１、およびＣＬ０  ７５とを介して行う。消去動作は、選択したブロック８３内のすべてのセルに直接作用する。プログラム動作は、選択したページ内のすべてのセルに直接作用する。本発明のこの実施形態は、どんな不揮発性メモリ・セル・アレイとも連動することができる。
ＩＩ．ミニプログラミング
ミニプログラミング動作の全般的説明
このセクションでは、本発明の一部として、ミニプログラミングと呼ばれる新しい多レベル・プログラミング技術について述べる。完全消去状態のセルにのみプログラミングを開始する従来のプログラミング技術とは異なり、ミニプログラミング技術では完全消去を行う必要なく、有効なデータがまだ格納されているセルに対して動作する。従来技術による消去動作では、選択した消去ブロックまたはセクタ内のすべてのセルＶTを、第３Ａ図ないし第３Ｃ図にＶLERASEとして示した、セルＶTの有効範囲ＴFの一方の端の外側へわざわざシフトする。従来のプログラミング技術では、消去動作が終了すると、メモリ・セルの浮遊ゲートの周囲の酸化物を通して大量の電荷を移動することにより、選択したセルＶTをＶLERASE範囲外の他のいずれかのレベルにシフトする。
従来技術とは対照的に、本発明によるミニプログラミング技術では、完全消去を行う必要がないので少量の電荷を移動するだけでよい。選択した各セルＶTは、ほんの少しだけ、しかもそのセルの元のＶLレベルの範囲内のみにおいてシフトする。新しいこのミニプログラミング技術により、電荷の移動はほんの少量だけで済むので、従来のプログラミング技術によるセルＰ／Ｅサイクリング耐久力に対する有害作用が回避される。また、先に決定したＶTドリフトを補正するのに必要な量の電荷のみを移動する。ミニプログラミング技術は、従来技術によって行った場合より少ない時間で、消去状態からプログラミング状態に移行する。さらに、ミニプログラミングは選択したセルＶTにわずかに作用するだけであり、その結果、他の選択していないセルに対して生じるプログラムの外乱効果は無視できる程度となる。ミニプログラミング動作では、ＶLレベルを消去とは反対方向にほんの少しだけシフトし、復元動作中に所期のＶT復元に必要な１つの機能を実行することができ、それによって高信頼の多レベルデータ記憶が可能になる。
ミニプログラミング技術では、先に多レベル・デジタル検出のセクションで述べたものと同様の本発明による帯域検出能力を利用して、各セルＶTを読み出し、それらがＶL範囲の所期の帯域内にあることを検証する。これにより、そのＶL範囲の両端であいまいな検出が行われるのを防止するのに十分なマージン保護帯域が確保される。これは、ミニプログラミング検証動作中に複数の新たな基準電圧によって実施する。
本発明によるミニプログラミング技術は、ＶRI＋ＶMPLIとＶR(I+1)−ＶMPUIに新たな２つの基準電圧をさらに備える。第１２図に示すように、これらの基準電圧は、ＶRIおよびＶR(I+1)と共に、各ＶLIレベルの範囲内に新たな２つの上側および下側のミニプログラミング・マージン保護帯域ＶMPLIおよびＶMPUIを決める。ＶMPLIとＶMPUIは、先に述べた読出しマージン保護帯域ＶMRLIおよびＶMRUIと等しくなる場合もあれば等しくならない場合もあり、またそれより高くなる場合もあれば高くならない場合もある。各ＶLIレベルの範囲内のＶMPLIおよびＶMPUI帯域の選択は、ミニプログラミングの後に得られるＶTの分布がＶL範囲より狭い所期の帯域内に最適化されるような形で行う。最適化では、ＶMPLI帯域とＶMPUI帯域が互いに等しくならないようにすることが必要になる可能性もあれば、各ＶLIレベルごとに別の帯域値が必要になる可能性もあり、またメモリ・セル・アレイ製造技術によって決定される任意の帯域値が必要になる可能性すらある。あるいは、各ＶLIレベル内のＶMPLIとＶMPUIが等しい値になる場合もある。本発明は、広範なメモリ製造技術に対する最適化に合わせて改変することができる。
本発明による検証技術は、１つの値のみを基準にしてセルＶTを検証し、セルＶTが所期のＶT帯域をオーバーシュートするのを防止するための統計的プロセス管理に依存する従来技術とはまったく異なる。ＶTのオーバーシュートは、プログラミング動作中に生じる可能性があり、前述のローグ・セル効果によって生じる可能性もある。この効果は、メモリ・セルの浮遊ゲートの周囲の酸化物内に捕捉された電荷、あるいは他のプロセスによって誘発された欠陥によって引き起こされる。
ミニプログラミング技術は、ゲート酸化物を通って移動する電荷の量をほんの少しにすることにより、電荷の捕捉とローグ・セルが生じる可能性を最小限に抑える。ミニプログラミングの検証動作は、ＶTがいずれかの保護帯域内にシフトしすぎていることを検知し、それによってミニ消去動作（後述）を用いて所期のＶTをそのレベル内に再設定できるようにする。ＶTのオーバーシュートに対するこの回復能力は従来技術にはないものであり、最初に完全消去動作と再プログラム動作を実行しない。本発明による復元方法を用いることにより、ＶTのオーバーシュートを回復する際の完全消去と再プログラムが回避され、チップのＰ／Ｅ耐久期間が維持される。
ミニプログラミングの方法
ミニプログラミング技術は、同じプログラミング・ページ内で互いに接続された複数のセルを考察すると最もよくわかる。実際の多レベル・メモリ・システムは、ページ・モード・アーキテクチャを利用して、複数のセルを同時にプログラムする形でプログラミング時間を短縮する。チップ全体でなくとも、少なくともそうしたページ内でのすべてのセルの挙動を理解するには、任意の形式のプログラミングにありうるすべての結果を考察することが必要である。
第１２図に、２つの異なる時間ＴRESRおよびＴRESPに同じレベルＶLIの範囲内にある、メモリ内の複数のセルＶTの分布を示す。この例では、一方のＶTの分布は、先に述べた本発明によるＢＳＥＲＤ技術を用いて時間ＴRESRでセルを読み出した後の状態を示している。ＢＳＥＲＤ技術により、保護帯域ＶMRLI内のＡおよびＢにＶT値を持つ２つのセルが検出されている。そのため、復元動作が必要なことを示す復元条件付きフラグが設定されている。ＢＳＥＲＤ技術はまた、保護帯域ＶMRUI内で検出されたセルはないことから、ミニ消去を行う必要なく復元動作を実行することができると判定し、このページ・アドレスに対して高電圧復元状態フラグを設定したままにする。
本発明の１つの実施形態では、チップはミニ消去を行わずに復元動作を行うようにフラグが設定されたセルのページのＶTを復元するために、ミニプログラミング動作を後で実行すると好都合である。その場合はまず、復元検知サブサイクルを用いずにデータ検知サブサイクルのみを用いる簡易型ＢＳＥＲＤ技術によってセルを読み出して、読み出した各セル内に蓄積されていたＶTに対応するＮ個のバイナリ・データを保持する。
本発明のもう１つの実施形態では、通常の完全ＢＳＥＲＤ読出しの直後にミニプログラム動作を実行する場合は、完全ＢＳＥＲＤ技術によってすでにＮ個のバイナリ・ビットが保持されているので、最初の簡易型ＢＳＥＲＤステップは省略する。次いで、セルＶTを新たな下側のミニプログラミング・マージン基準電圧ＶRI＋ＶMPLIと比較（検証）する。ここで、Ｉは保持されたＮ個のバイナリ・ビットによって表されるレベルに一意に対応する。セル内に蓄積されているＶTに対応するすでに保持されたＮ個のバイナリ・ビットの状態が検証によって変更されることはないので、この検証検出はＢＳＥＲＤの際の読出し検出とは異なる。したがって、ＶTがＶRI＋ＶMPLIより低いことが確認されたセルはすべて、値ＶRIおよびＶRI＋ＶMPLIによって決められた下側のミニプログラミング・マージン保護帯域ＶMPLIの範囲内である。
次に、選択したページ内において、先の検証ステップで下側の保護帯域ＶMPLIの範囲内にＶTを持つとすでに判定されたセルにのみ、適切な電圧と持続時間を持ったミニプログラミング・パルスを選択的に印加する。ＶMPLI保護帯域より上にＶTを持つセルは、ミニプログラミング・パルスから除外する。最初のミニプログラミング・パルスの後に、検証動作をもう一度実行する。下側の保護帯域ＶMPLI内にあることが確認されたセルがある場合は、ＶMPLI帯域内にあるセルにのみ、別のミニプログラミング・パルスを選択的に印加する。検証／ミニプログラミング・パルス・シーケンスは、第１２図に示した時間ＴRESPまでの間にページ内のすべてのセルが保護帯域ＶMPLIより上にＶTを持つことが確認されるまで繰り返すか、あるいは所定の最大数までミニプログラミング・パルスを印加し、システム・エラー・フラグが設定されるまで繰り返す。得られたセルＶTの分布は、例えば第１２図の時間ＴRESPに示す次の分布に示したようなものとなる。
この例では、復元動作は当初、第１２図のセルＡやセルＢなど、下側の読出しマージン保護帯域内ＶMRLIにあることがすでに判明しているセルによって起動されたものである。ＶMPLIの範囲内にＶTを持つセルに対してもミニプログラムを実行し、それによってそのＶTがＶMRLIの範囲内にあるものとして当初フラグを設定したセルを補正するだけでなく、ページ全体にわたってＶTの分布を狭くする。その結果、ページ全体のＶT分布が狭くなり、このページに対してその後の復元動作を行う必要性がなくなることにより、システム性能が向上する。
ＶTのオーバーシュート状態を検知するために、上述の検証／ミニプログラミング・パルス・シーケンスの後に追加の検証ステップを実行する。あるいは、各ミニプログラミング・パルスの後に追加の検証ステップを実行することもできるが、実施にかかる時間が長くなるはずである。この追加のステップでは、もう１つの新たな上側のミニプログラミング・マージン基準電圧ＶR(I+1)−ＶMPUIと比較することにより、選択したミニプログラムを適用したページ内のすべてのセルＶTを検証する。この場合もやはり、Ｉは保持されたＮ個のバイナリ・ビットによって表される同レベルに一意に対応する。そのＶTが電圧ＶR(I+1)−ＶMPUIより高いことが確認されたセルはすべて、値ＶR(I+1)と値ＶR(I+1)−ＶMPUIによって決められる上側のミニプログラミング・マージン保護帯域内にある。保護帯域ＶMPUIの範囲内で検出されたセルＶTがある場合は、ＶTオーバーシュート・システム条件付きフラグを設定する。後の復元動作で、ＶTオーバーシュート・システム条件付きフラグが設定されているかどうかを検査し、ＶTオーバーシュート回復動作が必要かどうかを判定する。ＶTオーバーシュート回復は、以下の本発明のミニ消去セクションで詳細に述べるミニ消去動作を含む一連の動作である。
多レベル・メモリミニプログラミング・システム
第７図に本発明の好ましい実施形態の構成図を示すが、この図についてすでにＢＳＥＲＤ検出技術と共に述べた。ミニプログラミングの検証検出動作は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６が、ＰＲＧＲＤＢバス３７を介して△ＶＵ  △ＶＬ  ＧＥＮブロック３９に対して、基準電圧バスＲＶＢＵＳ  ４２からの電圧ＶMPU(I-1)およびＶMRLIの代わりに電圧ＶMPUIおよびＶMPLIを生成するように指令するという点で読出し検出動作とは異なる。また、ＶＸ  ＶＹ  ＧＥＮブロック３８に対しても、電圧ＶRIおよびＶR(I+1)を生成するように指令する。ここで、Ｉは先のＢＳＥＲＤステップにおいて各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０−３］  ＬＡＴＣＨＥＳブロック４８にすでに保持されているＮ個のバイナリ・ビットによって表されるレベルに対応する。
検証動作シーケンスの後、セルＶTが保護帯域ＶMPLI内にあることが確認された場合にＳＴＰＤＩＲ線４７が高電圧状態になるように、各Ｙ−ＤＲＩＶＥＲ  ３３内のＳＴＰＤＩＲ  ＬＡＴＣＨ  ５２およびＲＥＳ  ＬＡＴＣＨ  ５３を設定する。ＳＴＰＤＩＲ線４７に高電圧信号が流れると、高電圧スイッチＨＶＳＷ  ５６が作動して、ＰＲＧＨＶ線２４からの高電圧プログラミング・パルスがＭＬＬＩＮＥ線３０に渡される。各Ｙ−ＤＲＩＶＥＲ  ３３内のＹ−ＭＵＸマルチプレクサ３２は、ＣＥＬＬ  ＡＲＲＡＹ２１内の選択されたページの該当するセル２０に高電圧パルスを渡して、Ｙ−ＤＥＣ復号器１８によって選択されたとおりにそのセルをプログラムする。セルＶTが保護帯域ＶMPLIの外側にあることが確認された場合は、ＳＴＰＤＩＲ線４７は低電圧状態になる。ＳＴＰＤＩＲ線４７に低電圧信号が流れると、高電圧スイッチＨＶＳＷ  ５６はオフになる。これにより、高電圧プログラミング・パルスをＭＬＬＩＮＥ線３０から分離する。
上側の保護帯域ＶMPUIの範囲内にあることが確認されたセルＶTがある場合は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６内にＶTオーバーシュート条件付きフラグを設定する。そのアドレス位置と対応するＶTオーバーシュート条件付きフラグを、ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０に保存する。検証／ミニプログラミング・パルス・シーケンスを行うごとに、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６内のカウンタを増分する。そのカウンタが所定の最大数を超えた場合、そのページに対するミニプログラミングを停止し、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６内にシステム・エラー・フラグを設定すると同時に、そのアドレスをＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０に保存する。
ＩＩＩ．ミニ消去
ミニ消去動作の全般的説明
このセクションでは、本発明の一部として、ミニ消去と呼ばれる多レベル消去技術について述べる。セル内に格納されたデータを破壊する従来の消去技術とは異なり、ミニ消去技術ではセル内に元々格納されているデータの原型を保つ。従来技術による消去動作では、選択した消去ブロック内のすべてのセルＶTを、第３Ａ図ないし第３Ｃ図にＶLERASEとして示した、セルＶTの有効範囲ＶFの一方の端の外側へわざわざシフトする。この消去では、メモリ・セルの浮遊ゲートの周囲の酸化物を通して大量の電荷を移動することにより、選択したセルＶTをＶLERASE範囲外の他のいずれかのＶLレベルにシフトする。
これとは対照的に、ミニ消去技術では少量の電荷のみを移動する。ミニプログラミングの場合と同様に、セルＶTは、ほんの少しだけ、しかもそのセルの元のＶLレベルの範囲内のみにおいてシフトする。従来技術の消去によって生じるセルＰ／Ｅサイクリング耐久力に対する有害作用は、ミニ消去によって回避される。というのは、電荷の移動はほんの少量だけで済むからである。また、先に判定されたＶTドリフトを補正するのに必要な量の電荷のみを移動する。ミニ消去技術は、従来技術によって行った場合の完全消去状態までの消去より少ない時間しか必要としない。さらに、ミニ消去は選択したセルＶTにわずかに作用するだけであり、その結果、他の選択していないセルに対して生じる消去の外乱効果は無視できる程度となる。ミニ消去動作では、ＶTをＶLレベル中でプログラミングとは反対方向にほんの少しだけシフトし、復元動作中に所期のＶT復元に必要な１つの機能を実行することができ、それによって高信頼の多レベル・データ記憶が可能になる。
ミニ消去技術と先に述べたミニプログラミング技術とを組み合わせることにより、大規模の消去ブロック・サイズに関連する問題を克服することができる。セルが多数の場合には、それらが同じ消去ブロック内で接続されている可能性があり、それによって消去パルス後のセルＶTの分布が、プログラミング・ページ内の少数のセルにプログラミング・パルスを印加した後に得られる分布より広くなる。ミニ消去技術では、ミニプログラム動作とミニ消去動作を組み合わせて用いることにより、消去ブロック内のすべてのセルに対して、各ＶLIレベル内でのセルＶTの分布を幅を狭くする。
ミニ消去動作では、先に多レベル・デジタル検出セクションで述べたものと同様の本発明による帯域検出能力を利用して、各セルＶTがＶL範囲の所期の帯域内にあることを検証し、それによってそのＶL範囲の両端であいまいな検出が行われるのを防止するのに十分なマージン保護帯域を確保する。これは、ミニ消去検証中に複数の基準電圧によって実施する。ＶRI＋ＶMPELI、ＶRI＋ＶMELI、およびＶR(I+1)−ＶMEUIという新たな３つの基準電圧があり、第１３Ａ図および第１３Ｂ図に示すように、これらの基準電圧はＶRIおよびＶR(I+1)と共に、ＶLIレベルの範囲内に３つのミニ消去マージン保護帯域ＶMPELI、ＶMELI、およびＶMEUIを定義する。ＶMPELI、ＶMELI、およびＶMEUIは、先に述べた読出しマージン保護帯域ＶMRLIおよびＶMRUIまたはミニプログラミングマージン保護帯域ＶMPLIおよびＶMPUIと等しくなる場合もあれば等しくならない場合もあり、またそれより高くなる場合もあれば高くならない場合もある。各ＶLIレベルの範囲内のマージン保護帯域ＶMPELI、ＶMELI、およびＶMEUIの選択は、ミニ消去の後に得られるＶTの分布がＶL範囲より狭い所期の帯域内に最適化されるような形で行う。
最適化では、ＶMPELI、ＶMELI、およびＶMEUIの各帯域が互いに等しくならないようにすることが必要になる可能性もあれば、各ＶLIレベルごとに別の帯域値が必要になる可能性もあり、またメモリ・セル・アレイ製造技術によって決定される任意の帯域値が必要になる可能性すらある。あるいは、各レベル内のマージン保護帯域が等しい値になる場合もある。このミニ消去は、広範なメモリ製造技術に対して最適化を行うのに十分な柔軟性を備える。
本発明によるミニ消去検証技術は、１つの値のみを基準にしてセルＶTを検証し、セルＶTが所期のＶT帯域をアンダーシュートするのを防止するための統計的プロセス管理に依存する従来技術とはまったく異なる。ＶTのアンダーシュート（プログラミング時のＶTオーバーシュートに相当する消去時の現象）は、消去動作中に生じる可能性があり、メモリ・セルの浮遊ゲートの周囲の酸化物内に捕捉された電荷または他のプロセスが誘発した欠陥による前述のローグ・セル効果によって引き起こされる可能性がある。さらに、ミニ消去は、ゲート酸化物を通って移動する電荷の量をほんの少しにすることにより、電荷の捕捉とローグ・セルが生じる可能性を最小限に抑える。
ミニ消去の検証動作は、消去ブロック内のいずれかのセルＶTがＶMELI保護帯域の１つ内にシフトしすぎていることを検知するとそれ以降のミニ消去を停止し、それによって後でミニプログラミング動作を用いてそのレベル内に所期のＶTに再設定できるようにする。ＶTのアンダーシュートに対するこの回復能力は従来技術にはないものであり、最初に完全消去動作と再プログラム動作を実行しない。本発明による復元動作を用いることにより、ＶTのアンダーシュートを回復する際の完全消去と再プログラムが回避され、チップのＰ／Ｅ耐久期間が拡大する。
消去中のセルＶTのシフトの方向は特定のシリコン技術に有用なものとなる。ミニ消去は、消去時のどちらの方向へのＶTシフトにも対応することができるので、広範なメモリ技術に応用することができる。話を簡単にするために、消去動作によってセルＶTを降下させる場合を示す添付の例と図面を用いてミニ消去動作について説明する。当業者なら、これとは逆の、消去のさいＶTを上昇させる場合にも同様に対処することができよう。したがって、この特定の例と方法は、消去の方向性に関して特定のメモリ・セル技術に限定するものではない。
ミニ消去の方法
ミニ消去技術は、同じ消去ブロック内で互いに接続された複数のセルを考察すると最もよくわかる。実際の多レベル・メモリ・システムは、複数のセルを同時に消去できるようにセル領域を縮小した消去ブロック・メモリ・セル・アーキテクチャを利用するはずである。チップ全体でなくとも、少なくともそうした消去ブロック内でのすべてのセルの挙動を理解するには、任意の形式の消去にありうるすべての結果を考察することが必要である。
第１３Ａ図および第１３Ｂ図に、６つの異なる時間ＴRESR、ＴRESPE1、ＴRESE1、ＴRESPE2、ＴRESE2、およびＴRESPに同じレベルＶLIの範囲内にある、メモリ内の複数のセルＶTの分布を示す。この例では、時間ＴRESRでのＶTの分布は、先に述べたＢＳＥＲＤ技術を用いて読み出した後のセルの状態を示している。ＢＳＥＲＤ技術により、保護帯域ＶMRLI内のＡおよびＢにＶT値を持つ２つのセルと、保護帯域ＶMRUI内のＣおよびＤにＶT値を持つさらに２つのセルが検出されている。そのため、復元動作が必要なことを示す復元条件付きフラグが設定されている。ＢＳＥＲＤ技術はまた、保護帯域ＶMRUI内にセルが検出されたことから、ミニ消去を含めた復元動作を実施することができると判定し、このブロック・アドレスに対して低電圧復元状態フラグを設定したままにする。
ミニ消去技術の１つの実施形態では、集積回路はミニプログラムとミニ消去を含めた一連の動作を実行する。ミニプログラム動作についてはすでに述べた。ミニ消去技術では、２つの形のミニプログラミング動作を用いる。１つは、前述のミニプログラミングと同じである。この場合、先に述べた保護帯域ＶMPLIおよびＶMPUIを用いることにより、ミニ消去シーケンスの終了時に最終的なＶT調整を実行する。
もう１つの形のミニプログラミング動作は、別の（予備消去）プログラミングマージン保護帯域ＶMPELIを用いるという点で最初の形とは異なる。ＶMPELIによるミニプログラミング動作は、各ミニ消去動作の前に実行する。所定の最大回数まで、複数回のミニ消去動作を実行することができる。以下、ミニ消去技術の１つの実施形態における動作順序について説明する。
本発明の１つの実施形態では、集積回路はミニ消去を含めた復元動作を行うように事前にフラグが設定されたセルの消去ブロックのＶTを復元するために、ミニ消去を含めた復元動作をしばらく後の時点で実行すると好都合である。その場合はまず、ミニ消去すべき消去ブロック内のすべてのセルに対してミニプログラムを実行し、それによって消去ブロック内のすべてのセルＶTが各Ｉレベルごとの保護帯域ＶMPELIより高くなるようにする。この予備消去ミニプログラムは、下側保護帯域の検証値をＶRI＋ＶMPLIではなくＶRI＋ＶMPELIに設定した上で、ミニプログラミング技術を用いてブロック内の各ページごとに実行する。まず、時間ＴRESPE1において、ブロック内のすべてのページに対する予備消去ミニプログラムを完了する。その結果得られる各ＶL1レベル内のセルＶTの分布の例は、消去ブロック内のすべてのセルに関して第１３Ａ図の時間ＴRESPE1に示す。ミニプログラム動作を最初に実行することにより、時間ＴRESRでのセルＡおよびＢのようにＶR値に近すぎる帯域ＶMPELI内のセルは、ミニ消去動作中に隣接するＶL範囲にシフトする可能性がある。これは、データの喪失を引き起こすことになる。予備消去ミニプログラミングにより、消去ブロック内のセルＶTが帯域ＶMPELI内にある場合に生じる可能性があるデータの喪失を防止する。
次に、消去ブロック内のすべてのセルにミニ消去パルスを印加する。ミニ消去パルスにより、消去ブロック内のすべてのセルＶTは消去方向（プログラミング動作の方向とは反対の方向）に向かってシフトする。次いで、消去ブロック内の最初のページがミニ消去動作の対象として選択されるように、消去ブロック（複数のページからなる）内のすべてのセルに対してミニ消去検証動作を実行する。次いで、データ検知サブサイクルのみによる簡易型ＢＳＥＲＤ技術によってセルを読み出して、セル内に蓄積されているＶTに対応するＮ個のバイナリ・ビットを保持する。その後、消去ブロック内の選択したページ内のセルＶTを、新たな下側のミニ消去マージン基準電圧ＶRI＋ＶMELIと比較（検証）する。ここで、Ｉは保持されたＮ個のバイナリ・ビットによって表されるレベルに一意に対応する。
セル内に蓄積されているＶTに対応するすでに保持されたＮ個のバイナリ・ビットの状態が検証動作によって変更されることはないので、この検証検出は上述の読出し検出とは異なる。このとき、ＶTがＶRI＋ＶMELIより低いことが確認されたセルは、値ＶRIおよびＶRI＋ＶMELIによって定められた下側のミニ消去マージン保護帯域ＶMELIの範囲内である。最初のページの保護帯域ＶMELI内にあることが確認されたセルがない場合は、次のページを選択し、読出しと検証を同様に行う。消去ブロック全体において、保護帯域ＶMELI内にあることが確認されたセルがない場合は、消去ブロックに別のミニ消去パルスを印加し、上述の読出動作と検証動作を繰り返す。
ミニ消去パルス／消去ブロック検証ステップのシーケンスは、消去ブロック検証中に時間ＴRESE1において、選択した消去ブロックの任意のページの任意のセルが保護帯域ＶMELIの範囲内に見つかった場合か、あるいは所定の最大数までミニ消去パルスを印加し、得られるエラー・フラグを設定した時点で終了する。時間ＴRESE1でのセルＶTの分布の例は、第１３Ａ図に示した。この繰り返しのミニ消去パルス／消去ブロック検証動作シーケンスを用いて、消去ブロック内のすべてのセルＶTを小規模の増分で、またすべてのセルＶTを元のＶL1範囲より狭い帯域内に維持するような形で同時に調整する。このようにして、セルＶTのアンダーシュートとデータの喪失を防止する。
上述の例より高速のもう１つの実施形態では、保護帯域ＶMELIの検証動作を行わずに１つのミニ消去パルスを用いる。この場合、データの喪失を防止するには、消去ブロック内のすべてのセルの消去特性のより厳密なプロセス制御が必要になる。第１３Ａ図では、セルＶTの分布の端が消去方向側に長く延びていることに注目されたい。これは、その消去ブロック内のセルの大部分において、一部のセルのミニ消去が他のセルより速いことに起因する。このとき、消去ブロックのＶTの分布は、ＶTのアンダーシュートもデータの喪失も生じない範囲でできる限り大きく消去方向にシフトされている。このとき、元々ミニ消去のきっかけとなったセル（第１３Ａ図のＣおよびＤにＶTを持つ）は、第１３Ａ図にＶDELEIとして示した量だけ所期の方向にシフトされている。
次の検証動作では、第１４Ａ図の時間ＴRESPE1でのセルＥのように、先の予備消去ミニプログラミング動作中にＶTオーバーシュートの挙動を示したものがあるかどうかについてすべてのセルを検査し、またミニ消去がさらに必要かどうかについても検査する。このミニ消去検証動作の場合もやはり、消去ブロック内の最初のページがミニ消去動作の対象として選択されるように、消去ブロック内のすべてのセルに対して実行する。次いで、データビット検知サブサイクルのみによる、すなわち復元検知サブサイクルを行わない簡易型ＢＳＥＲＤ技術によってセルを読み出して、セル内に蓄積されているＶTに対応するＮ個のバイナリ・ビットを保持する。その後、セルＶTを新たな上側のミニ消去マージン基準電圧ＶR(I+1)−ＶMEUIと比較（検証）する。ここで、Ｉは保持されたＮ個のバイナリ・ビットによって表されるレベルに一意に対応する。
この検証検出動作の場合もやはり、セル内に蓄積されているＶTに対応するすでに保持されたＮ個のバイナリ・ビットの状態が検証動作によって変更されることはないので、上述の読出し検出動作とは異なる。したがって、ＶTがＶR(I+1)−ＶMEUIより高いことが確認されたセルは、値ＶR(I+1)およびＶR(I+1)−ＶMEUIによって定められた上側のミニ消去保護帯域ＶMEUIの範囲内である。最初のページの保護帯域ＶMEUI内にあることが確認されたセルがない場合は、次のページを選択し、読出しと検証を同様に行う。消去ブロック全体において、保護帯域ＶMEUI内にあることが確認されたセルがある場合は、消去ブロックに対して上述の予備消去ミニプログラミング／ミニ消去／検証動作のシーケンスを再度実行する。ただし、そうしたシーケンスが所定の最大数まで実行され、その結果エラー・フラグが設定された場合を除く。
検証中に保護帯域ＶMEUIの範囲内で検出されたセルがある場合は、そのセルのアドレス位置を、第１３Ａ図のＣおよびＤなど、元々ミニ消去のきっかけとなったセルのすでに保存されているアドレス位置と比較する。第１４Ａ図のＥのように新しいアドレスが検知された場合は、ＶTオーバーシュート条件付きフラグを設定し、そのページ・アドレスを保存する。第１３Ａ図および第１３Ｂ図に示した例では、ＣおよびＤの２つのセルが時間ＴRESE1において依然として保護帯域ＶMEUIの範囲内にあるので、上述のシーケンスが２回必要になる。この例では、時間ＴRESPE2で２回目の予備消去ミニプログラミングを完了したのに続いて、２回目の一連のミニ消去パルスを印加し、その結果、セルＣのＶTは時間ＴRESE2で量ＶDELE2だけシフトされる。得られるセルＶTの分布は第１３Ｂ図に示す。
第１３Ｂ図の例に示したように、時間ＴRESE2での上述の消去ブロック検証中に保護帯域ＶMEUIの範囲内にセルが見つからなければ、最後のミニプログラミング動作を開始する。最後のミニプログラミング動作は、消去ブロック内の各ページをミニプログラムするという点を除き、ミニプログラミングのセクションで述べたのと同じ方法で実行する。最後のミニプログラミング動作中に、上側の保護帯域ＶMPUIの範囲内にセルＶTが検知された場合は、ＶTオーバーシュート・システム条件付きフラグを設定し、そのページ・アドレスを保存する。最後のミニプログラミング動作では、第１３Ｂ図の例の時間ＴRESPに示したように、保護帯域ＶMPLIと保護帯域ＶMPUIの間の各ＶLレベルごとに、消去ブロック全体のセルＶTの分布を復元する。
どのページに対してミニプログラミング動作を実行する場合も、ＶTオーバーシュート・システム条件付きフラグの検査を事前に行う。ミニプログラムすべきページにこのフラグが設定されているのが検出された場合は必ず、各パルスによって生じる通常のセルＶTシフト増分量より小規模となるようにミニプログラミング・パルス・シーケンスを変更するが、これをマイクロプログラミングと呼ぶ。検証／マイクロプログラミング・パルス・シーケンスが完了した後の選択したページ内の各レベル内のセルＶTの分布は、検証／ミニプログラミング・パルス・シーケンスの後より狭くなる。マイクロプログラミングを行うようにフラグが設定されたページは、ミニプログラミングより処理に時間がかかるが、フラグが設定された必要なページのみに対してマイクロプログラムを行うので、全体としてのシステム性能は最適化される。
別のマイクロプログラミング動作では、各ＶL範囲内での得られるセルＶTの分布が最適化されるように、ミニプログラミングの際に使用する保護帯域ＶMPELI、ＶMPLI、およびＶMPUIを保護帯域ＶCPELI、ＶCPLI、およびＶCPUIにそれぞれ置き換える（第１４Ａ図および第１４Ｂ図を参照）。ミニプログラミング技術の場合と同様に、検証／マイクロプログラミング・パルス・シーケンスの数が所定数を超えると、マイクロプログラミングを停止し、システム・エラー・フラグを設定する。ＶTオーバーシュート・システム条件付きフラグは、フラグが設定されたページが正常にマイクロプログラムされた後にリセットする。復元中にミニ消去を行わずにＶTオーバーシュート・システム条件付きフラグを設定することにより、その消去ブロックに対するミニ消去動作は、直ちに、あるいはその後の都合のよい時間に開始される。ミニ消去技術は、マイクロプログラミングと共に用いることにより、ＶTオーバーシュートを回復するための方法として機能する。
多レベル・メモリ・ミニ消去システム
第７図のＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、ＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３と共に、ミニ消去動作を実行するのに必要なすべての事象の制御と順序付けを行う。第１１図に、セル・アレイ２１への特定のインターフェースを示す。
例えば、ＢＬＯＣＫ０ブロック８３は、この消去ブロック内のアドレスに対して低電圧復元状態がすでに設定されているので、ミニ消去動作の対象として選択される。第１３Ａ図の時間ＴRESRに、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は復元条件付きフラグに基づいてミニ消去動作を開始する。第１１図に示すように、１ページ当たりＪ個のセルがあり、１行当たりＳ個のページがあり、１ブロック当たりＴ個の行がある。したがって、１ブロック当たり（Ｓ×Ｔ）個のページがあり、１ブロック当たり（Ｓ×Ｔ×Ｊ）個のセルがあることになる。第１３Ａ図の例を用いる。まずＢＬＯＣＫ０ブロック８３のすべてのページに対して予備消去ミニプログラム動作を実行する。ＢＬＯＣＫ０ブロック８３の各ページごとに、復元検知サブサイクルを行わない簡易型ＢＳＥＲＤ技術を実行して、選択したページ内のＪ個のセルすべてについて各セル２０から４ビットのデータを同時に読み出す。読出動作が完了すると、各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８には、選択したページのＪ個のセルそれぞれに対する１セル当たり４ビットの個別データが格納される。
次に、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６によってＰＲＧＲＤＢバス３７を設定する。各Ｙ−ＤＲＩＶＥＲ  ３３ごとにＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８からの出力に基づいて、ＶＸ  ＶＹ  ＧＥＮブロック３８からのＶＸ出力として該当する電圧ＶRIを生成し、またそのブロックからのＶＹ出力として電圧ＶR(I+1)を生成する。△ＶＵ  △ＶＬ  ＧＥＮブロック３９は、△ＶＬ出力としてＶMPELIを生成する。ＶＣＲＦＧＥＮブロック４０は、すべての予備消去ミニプログラミング動作中に、ＶＣＲＦ線４５上に電圧（ＶRI＋ＶMPELI）を生成する。次いで、繰り返しのミニプログラム・パルス・シーケンスによって予備消去ミニプログラミング動作を実行し、選択したページ内のＪ個のセルがすべて、（ＶRI＋ＶMPELI）より高いＶTを持つようになるまで検証動作を実行する。その後、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６とＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３は、最初の行線ＷＬ00  ８５内のＳ個のページすべてに対する予備消去ミニプログラミングを継続する。この動作は、Ｓ個のページを伴うＴ個の行がすべて予備消去ミニプログラムされ、プログラムされたすべてのセルＶTが電圧（ＶRI＋ＶMPELI）より高くなるまで継続する。これで、選択したＢＬＯＣＫ０ブロック８３の予備消去ミニプログラミングは完了する。ＢＬＯＣＫ０のセルＶTの典型的な分布は、第１３Ａ図の時間ＴRESPE1に示す。
選択したメモリ・ブロックまたはセクタに対して消去動作が実行できるように、ＢＬＯＣＫ−ＤＥＣブロック１９、Ｘ−ＤＥＣブロック１７、およびＹ−ＤＥＣブロック１８に対してＰＲＧ−ＥＲＳバス２２を強制的に設定する。次いで、選択したＢＬＯＣＫ０ブロック８３内のすべてのセル２０にミニ消去パルスを印加する。このミニ消去パルスは、ＨＶＧＥＮブロック２７によって生成され、ＨＶＯＵＴバス２５を介して渡される。
ミニ消去パルスを印加した後は、選択しＢＬＯＣＫ０ブロック８３内のすべてのセル２０に対して検証動作を実行する。復元検知サブサイクルを行わないＢＳＥＲＤ技術により、ページ内の各セル２０から４ビットのデータを各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８に保持する。各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８からの出力に基づき、ＶＸ  ＶＹ  ＧＥＮブロック３８はＶＸ出力として電圧ＶRIを、ＶＹ出力として電圧ＶR(I+1)をそれぞれ生成する。△ＶＵ  △ＶＬ  ＧＥＮブロック３９は、△ＶＬ出力として電圧ＶMELIを生成する。
すべてのミニ消去検証動作中、ＶＣＲＦＧＥＮブロック４０はＶＣＲＦ線４５上に電圧（ＶRI＋ＶMELI）を出力するが、これは各Ｙ−ＤＲＩＶＥＲ  ３３ごとにＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８からの出力によって一意に定義される。その後、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６とＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３は、選択したＢＬＯＣＫ０ブロック８３のＴ個の行のＳ個のページすべて対してミニ消去検証動作を実行する。ミニ消去検証では、各Ｙ−ＤＲＩＶＥＲ  ３３ごとに、ＶＭＥＭ線３１上の電圧とＶＣＲＦ線上の電圧（ＶRI＋ＶMELI）とを比較する。ミニ消去検証動作中に、ＶＭＥＭ線３１がＶＣＲＦ線４５より低電圧になった場合、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６内に条件付きフラグを設定する。条件付きフラグを設定しなかった場合は、選択したＢＬＯＣＫ０ブロック８３に対して別のミニ消去パルスおよびミニ消去検証動作を実行する。条件付きフラグを設定したか、ミニ消去パルス動作の最大数に達した場合は必ず、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６はミニ消去／検証動作を停止する。第１３Ａ図の時間ＴRESE1に、条件付きフラグが設定された後のセルＶTの分布を示す。
次に、選択したＢＬＯＣＫ０ブロック８３のすべてのセルに対して、オーバーシュート・セル検証動作を実行する。ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６とＢＩＮＡＲＹ  ＳＥＡＲＣＨ  ＲＥＡＤ  ＳＥＱＵＥＮＣＥＲブロック４３は、選択したＢＬＯＣＫ０のＴ個の行のＳ個のページすべてに対してオーバーシュート・セル検証を実行する。オーバーシュート検証動作の期間全体にわたり、ＶＣＲＦ線４５上の電圧をＶR(I+1)−ＶMEUIに設定するが、これは各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］ＬＡＴＣＨＥＳブロック４８の出力によって一意に決まる。ＶＭＥＭ線３１がＶＣＲＦ線４５より低電圧である限りは、各ページごとに、また各Ｙ−ＤＲＩＶＥＲ  ３３ごとにオーバーシュート検証を継続して次のページに進む。選択したページのいずれかの時点で、いずれかのＹ−ＤＲＩＶＥＲ  ３３に関してＶＭＥＭ線３１がＶＣＲＦ線４５より高電圧になっている場合は、それらのセル２０のアドレスをＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０に保存する。
オーバーシュート条件付きフラグが設定されたセルのアドレスを、元々ミニ消去条件フラグのきっかけとなったセルのアドレスと照合する。アドレスが不一致となった場合は、そのページに対してオーバーシュート条件付きフラグを設定すると共に、そのページ・アドレスをＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０に保存する。アドレスが一致する場合は、別の予備消去ミニプログラミング動作を実行する。第１３Ａ図および第１３Ｂ図に、２回目の予備消去ミニプログラミング動作の後の時間ＴRESPE2でのセルＶTの分布を示す。
その後、別のミニ消去パルスを印加し、ミニ消去検証を実行する。第１３Ｂ図の時間ＴRESE2に、２回目のミニ消去／検証動作後のセルＶTの分布を示す。ＶMEUI保護帯域検証の後にオーバーシュート条件付きフラグが設定されていない場合、選択したＢＬＯＣＫ０ブロック８３内のすべてのページに対して最後のミニプログラミング動作を実行する。各ページに対する最後のミニプログラミング動作の開始時に、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、ＲＥＧＩＳＴＥＲＳ  ＆  ＡＤＤＲＥＳＳ  ＢＵＦＦＥＲブロック６０内のそのページに対して、ＶTオーバーシュート条件付きフラグ検査を実行する。フラグが見つからなかった場合は、通常のミニプログラミング動作を実行する。第１３Ｂ図の時間ＴRESPに、最後の通常のミニプログラミング動作を実行した後のセルＶTの分布を示す。あるページに条件付きフラグが見つかった場合は必ず、そのページに対してマイクロプログラミング動作を実行する。マイクロプログラミング動作は、１）ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６が、ＰＲＧＲＡＤＢバス３７を介して△ＶＵ  △ＶＬ  ＧＥＮブロック３９に対して、アナログ電圧バスＲＶＢＵＳ  ４２からの電圧ＶMPELI、ＶMPUI、およびＶMPLIの代わりに、電圧ＶCPELI、ＶCPUI、およびＶCPLIを生成するように指令する、２）ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６が、ＨＶＣＴＲＬバス２３を介してＨＶＧＥＮブロック２７に対して、ミニプログラミング・パルスをマイクロプログラミング・パルスに変更するように指令し、それによってセル２０のＶTのシフト量がミニプログラミング動作中より小さくなるようにするという例外を除いて、ミニプログラミング動作と同じであることが好ましい。
ＩＶ．プログラミング
プログラミング動作の全般的説明
本明細書で記述する集積回路はまた、新規の多レベル・プログラミング技術によっても動作する。このプログラミング技術は、これまで述べたミニプログラミング技術とは異なる。このプログラミングにより、すでに消去したページに新しいデータを格納すると同時に、ミニプログラミングにより、すでに格納されたデータを変更することなく既存データを復元する。ミニプログラミングと比べて、このプログラミング技術では浮遊ゲートの周囲の酸化物を通してより大量の電荷を移動するので、セルＶTをより大幅にシフトすることができる。一方向（プログラミング方向）にのみセルＶTをシフトする従来のプログラミング技術とは異なり、本発明によるプログラミング技術は、プログラミングと消去の両方向にセルＶTをシフトする。
そうした従来の多レベル・メモリ・プログラミングでは、セルＶTの分布がきわめて狭いことが必要である。プログラミング後の各レベル内のマージンが非常に広いと、メモリ・チップの寿命全体にわたって将来的にＶTのドリフトが生じる可能性がある。第１５Ａ図に、時間ＴPにおける１つのマージン値ＰＶIを用いた従来技術によるプログラミングの直後の、ＶLレベル内のセルＶTの当初は狭い分布の例を示す。また、同図に、当初は狭かった分布が、その間のＶTドリフトによって時間ＴFにおけるあいまいな検出による障害が生じるに至るまで大幅に広がった、長期間後の分布も示す。
これとは対照的に、本発明では、しばらくの間だけデータを高信頼に記憶するための最初のプログラミング・ステップから生じた各レベル内のきわめて広いセルＶT分布（第１５Ｂ図の時間ＴPを参照）を、近い将来の時間（第１５Ｂ図のＴRESPで示した）に復元動作が実行可能となるまで用いることができる。さらに、本発明によるセルＶT復元技術によって維持されるマージン（第１５Ｂ図の時間ＴFを参照）は、本発明を用いないプログラミングの際に必要なマージンほど広くはない。従来技術においてプログラミングＶTの分布が狭くなければならないということは、所期の基準電圧が正常に確認されるまで、ＶTを小規模の増分でシフトするのに多くの検証／プログラム・パルス・シーケンスが必要になるので、プログラミング時間を大幅に長くする。ほとんどのシステム応用分野では、プログラミング時間が長いということは外部システムから見て非常に不都合である。一方、本発明は、外部システムの感知プログラミング・アルゴリズムへの各レベル内の広いセルＶT分布の採用を可能にすることにより、多レベル記憶のプログラミング時間を短縮する。
本発明の１つの実施形態は、ＶLIレベルすべてについてセルＶTをプログラミング動作に設定するための最後の動作が必要であるという点と、ＶF範囲の一方の端のいずれかのレベルに対して従来技術で使用されるのと同様の消去動作が不要であるという点で従来技術と異なる。
本発明では、プログラミング・サイクルを２つの部分に分割する。第１部分ではまず、各レベルごとのＶR基準電圧値の周囲に小規模のマージンを設けて、すばやくセルにデータを記憶する。長期のＶTドリフト効果によってデータの喪失が生じるまで一時的にデータを高信頼に記憶するには、この小さなマージンで十分である。この第１部分では、外部システムから見てできる限り短時間となるようにプログラミング時間を最適化する。外部システムにとっての総プログラム時間は、第１部分の間のデータ記憶を行うのに必要な時間のみである。第１部分では、ゲート酸化物を通しての電荷移動のほとんどと、セルＶTシフトのほとんどを実行する。
第２部分は、先に述べたミニ消去動作を含めた復元と同じである。第１部分ですでにデータはセルに記憶されているので、第２部分は外部システムから独立して実施することができる。第２部分は、外部システムによって感知されたプログラミング期間が終了した後に、そうでない場合はメモリ・チップがアイドル状態の期間中に実行することができる。プログラミング・サイクルの第２部分では、システム動作の最適化と長期的な信頼性のために必要なより広いマージンをＶR値の周囲に設定する。このプログラミング・サイクルの第２部分は、第１部分より処理に時間がかかる。
本発明の１つの実施形態では、第２部分は第１部分の直後に行う。もう１つの実施形態では、より時間のかかる第２部分を第１部分のしばらく後まで延期し、外部システムから見たプログラミング時間が大幅に短縮されるような形で行う。
プログラム動作の第１部分では、多レベル・デジタル検出のセクションで述べたのと同様の、本発明による帯域検出能力を利用する。各セルＶTがＶL範囲の所期の帯域にシフトされたことを検証して、そのＶL範囲の両端でのあいまいな検出を防止するのに十分なマージン保護帯域を確保する。プログラミング検証動作では複数の基準電圧を用いる。プログラム技術の第１部分では、基準電圧ＶRI＋ＶPLIおよびＶR(I+1)−ＶPUIを使用し、それによってＶRIおよびＶR(I+1)と共に、第１５Ｂ図に示す各ＶLIレベルの範囲内に新たな２つの下側および上側のプログラミング・マージン保護帯域ＶPLIおよびＶPUIを定める。ＶPLIおよびＶPUIは、先に述べた読出し保護帯域ＶMRLIおよびＶMRUI、ミニプログラミング保護帯域ＶMPLIおよびＶMPUI、ミニ消去保護帯域ＶMPELI、ＶMELI、およびＶMUI、あるいはマイクロプログラミング保護帯域ＶCPELI、ＶCPLI、ＶCPUIと等しくなる場合もあれば等しくならない場合もあり、またそれより高くなる場合もあれば高くならない場合もある。各ＶL1レベルの範囲内の保護帯域ＶPLIおよびＶPUIの選択は、プログラミングの第１部分の後に得られるＶTの分布がＶL範囲より狭い所期の帯域内に最適化されるような形で行う。最適化では、ＶPLIとＶPUIの各帯域が互いに等しくならないようにすることが必要になる可能性もあれば、各Ｉレベルごとに別の帯域値が必要になる可能性もあり、またメモリ・セル・アレイ製造技術によって決定される任意の帯域値が必要になる可能性すらある。あるいは、各レベル内の帯域が等しい値になる場合もある。このプログラミング技術は、広範なメモリ製造技術に対して最適化を行うのに十分な柔軟性を備える。
本発明による検証技術は、１つの値のみを基準にしてセルＶTを検証する従来のプログラミング技術とはまったく異なる。従来技術では、先に述べたあいまいな検出の問題を引き起こす基準電圧ＶR(I+1)にＶTが近づきすぎるような形でセルのプログラムが行われる可能性がある。本発明は、各レベルごとに２つの追加の検証基準電圧を用いて、プログラム後のデータが最適化された帯域内にあることを検証することにより、従来技術を用いた場合に生じる可能性があるあいまいなデータ検出の問題を防止する。
プログラミングの方法
まず、プログラムすべきページ内に新しいデータを保持し、各セルごとに２Ｎ個のＶLレベルのいずれかに変換する。本発明の１つの実施形態では、集積回路はプログラミング・シーケンスの第１部分を実行する。セルＶTを新たな下側のプログラミング・マージン基準電圧ＶRI＋ＶPLIと比較（検証）する。ここで、Ｉは保持されたＮ個のバイナリ・ビットによって表されるレベルに一意に対応する。この検証検出技術は、先に述べた読出および検証検出とは異なり、また値ＶRIおよびＶRI＋ＶPLIによって定められる保護帯域ＶPLIの値が、いずれの従来技術で可能な値よりもはるかに小さいという点で従来技術とも異なる。本発明においてそうした小さなプログラミング・マージン保護帯域ＶPLIが可能なのは、１）プログラミング・シーケンスの第２部分により、長期的なＶTの安定性のためのマージンが高くなること、２）プログラミング・シーケンスの第２部分は、第１部分が完了した後、該当するＶTのドリフトが生じる前に実行することによる。セル内に蓄積されているＶTに対応するすでに保持されたＮ個のバイナリ・ビットの状態が検証動作によって変更されることはないので、この検証検出は読出し検出動作とは異なる（前述のＢＳＥＲＤ技術を参照）。
次に、選択したページ内の選択したセルにのみ、適切な電圧と持続時間を持ったプログラミング・パルスを印加する。このプログラミング・パルスは、先の検証ステップでＶTが電圧ＶRI＋ＶPLIより低いとすでに判定されたセルにのみ、選択的に印加する。ＶTが電圧ＶRI＋ＶPLIより高いと判定されたセルは、プログラミングから除外する。最初のプログラミング・パルスの後、別の検証動作を実行する。ＶTが電圧ＶRI＋ＶPLIより低いことが確認されたセルがある場合は別のプログラミング・パルスを選択的に印加するが、この場合もやはり、ＶTが電圧ＶRI＋ＶPLIより低いセルにのみ印加する。
このプログラミング技術は、同じページ内で互いに接続された複数のセルを考察すると最もよくわかる。第１６Ａ図および第１６Ｂ図に、６つの異なる時間ＴP、ＴRESPE1、ＴRESE1、ＴRESPE2、ＴRESE2、およびＴRESPに同じレベルＶL1の範囲内にある、メモリ内の複数のセルＶTの分布を示す。検証／プログラミング・パルス・シーケンスは、第１６Ａ図に示した時間ＴPまでの間にページ内のすべてのセルが電圧ＶRI＋ＶPLIより上にＶTを持つことが確認されるまで繰り返すか、あるいは所定の最大数までパルスを印加し、システム・エラー・フラグが設定されるまで繰り返す。
最初のページが正常にプログラムされると、プログラムすべき次の消去済みページを選択し、この手順を最後のページまで繰り返す。プログラムすべきページは、すでに消去したブロックまたはセクタ内になければならない。第１部分のプログラミング動作の実行対象となった各消去ブロックのアドレスを保存し、それによって第２部分のプログラミング動作を後で実行できるようにする。この第１部分のプログラミング手順の完了が、外部システムから見たプログラミング時間を決定する。このプログラミング部分で用いるプログラミング・パルスは、従来技術で必要なほどの狭いセルＶT分布を各ＶLレベル内に必要としないので、本発明によって多レベルプログラミング時間は大幅に短縮される。
本発明は、上述の検証／プログラミング・パルス・シーケンスの後に追加の検証ステップを加える。あるいは、この新たな検証ステップは、各プログラミング・パルスの後に実行することもできる。当然のことながら、この場合には処理時間がよけいにかかることになる。追加のステップでは、プログラムを終えたばかりの選択したページ内のすべてのセルＶTを、もう１つの新たなプログラミング・マージン基準電圧ＶR(I+1)−ＶPUIと比較する。この場合もやはり、Ｉは保持されたＮ個のバイナリ・ビットによって表される同じレベルに一意に対応する（第１６Ａ図を参照）。このとき、そのＶTが電圧ＶR(I+1)−ＶPUIより高いことが確認されたセルはすべて、過剰プログラムされており、システム・エラー・フラグを設定する。この検証動作により、検証に合格したプログラム済みのセルＶTをＶLの範囲より狭い帯域内に設定し、上側と下側の両プログラミング・マージンＶPLIおよびＶPUIを設定することが可能になる。これにより、あるビットのプログラムが基準電圧値ＶR(I+1)に近すぎる場合にあいまいな検出が生じる可能性は回避される。これとは対照的に、従来技術では下側のマージンのみを設定する。
上述の第１部分のプログラミング・シーケンスの後の都合のよい時間に、集積回路はプログラムを終えたばかりのすべての消去ブロックに対して順次、ミニ消去動作を含めた復元を実行する。第１３Ａ図の時間ＴRESRに示したミニ消去を含めた復元前のセルＶTの分布と第１６Ａ図の時間ＶPに示したセルＶTの分布は、これらの動作の結果を例示している。
したがって、プログラミング・シーケンスの第２部分は、先に述べたミニ消去技術を含めた復元によって完全に実施される。第１６Ａ図および第１６Ｂ図にこれらのステップを示すが、これは時間ＴRESPE1、ＴRESE1、ＴRESPE2、ＴRESE2、およびＴRESPの後にミニ消去動作を含めた復元を行った場合の第１３Ａ図および第１３Ｂ図に示す同じステップに対応する。プログラミングの第１の部分で最小限の保護帯域で蓄積したセルＶTにドリフトを生じるための時間を与える前に、完全な保護帯域ＶMPLIおよびＶMPUIが復元される。このとき、得られるＶTの分布は、第１６Ｂ図の時間ＴRESPに示す最後の分布に見られるようなものとなる。
あるいは、集積回路は、第２部分のプログラミング動作を行うようにすでにフラグが設定されたセルの消去ブロックのＶTを復元するために、プログラミング動作の第２部分（ミニ消去を含めた復元）をしばらく後の時点で実行すると好都合である。
もう１つの変形では、第１部分ですでにプログラムした消去ブロックに対する第２部分のプログラミングを、その第１部分のプログラミング・ステップの直後に実行する。いずれの場合も、すべてのデータがすでにメモリ・セル内に格納されているので、第２部分のプログラミング動作は自律的に実行される。したがって、本発明の自律的に実行される第２部分のプログラミング・シーケンスは、外部システムが感知するプログラミング時間を増加しない。
多レベル・メモリ・プログラミング・システム
プログラミングに関する好ましい実施形態については、ＢＳＥＲＤ検出技術、ミニプログラミング技術、およびミニ消去技術と共にすでに述べた。まず、第７図のＤＡＴＡ、ＡＤＤＲ  ＆  ＣＮＴＲＬ  ＳＹＳＴＥＭ  ＩＮＴＥＲＦＡＣＥブロック１０を介して、外部の供給源からのデータを各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８にロードする。また、データを格納するためのアドレス位置も与える。データは、すでに消去されているブロックにプログラムする。プログラミングの第１部分は、先に述べたミニプログラミング技術ときわめてよく似ている。このとき、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６は、ＰＲＧＲＤＢバス３７を介して△ＶＵ  △ＶＬ  ＧＥＮブロック３９に対して、基準電圧バスＲＶＢＵＳ  ４２からの電圧ＶMPUIおよびＶMPLIの代わりに、基準電圧ＶPUIおよびＶPLIを生成するように指令する。ＶＸ  ＶＹ  ＧＥＮブロック３８は指令を受けて、基準電圧ＶRIおよびＶR(I+1)を生成する。ここで、Ｉは各Ｙ−ＤＲＩＶＥＲ  ３３内のＤＡＴＡ［０〜３］  ＬＡＴＣＨＥＳブロック４８に先にロードされ、保持されているＮ個のバイナリ・ビットによって表されるレベルに対応する。プログラム／検証動作とオーバーシュート検証動作は、先に述べたミニプログラミング技術で使用するものと同様である。プログラミング技術の第２部分は、先に述べたミニ消去技術とまったく同じである。
Ｖ．消去
消去動作時の全般的説明
集積回路はまた、先に述べたミニ消去技術とは異なる多レベル消去技術によっても動作する。消去は消去ブロックまたはセクタ内にすでに格納されているデータを破壊するが、ミニ消去はすでに格納されているデータを改変することなく既存のデータを復元する。また、消去は、ミニ消去の際に生じるよりも大量の電荷を浮遊ゲートの周囲の酸化物を通して移動し、しかもより大幅にセルＶTをシフトする可能性がある。
セルＶTを一方向（消去方向）にのみシフトする従来の消去技術とは異なり、本発明による消去技術は、プログラミングと消去の両方向にセルＶTをシフトする。多レベル・メモリ記憶の場合の従来技術による消去は、消去ブロック内のすべてのセルについて非常に広いセルＶTの分布を引き起こす。従来技術では、この消去済みのセルの広くなったＶT分布ＶLERASEが、多レベル記憶の場合の２Ｎ個のＶLの範囲として用いられてきた。しかし、本発明による消去技術では、消去済みの広くなったセルＶT分布を２Ｎ個のＶLの範囲の１つとして使用しない。ＶLの範囲はすべて、範囲ＶL0の幅が、ＶLERASEの範囲と同時に重複しながらも他のＶLの範囲のいずれかと同様になるように最適化する。
第１７Ａ図ないし第１７Ｃ図に、１セル当たり４ビットの多レベル記憶の場合の消去ブロック内のすべてのセルに関する長期データ記憶時のセルＶT分布の例を示す。また、第１７Ａ図ないし第１７Ｃ図は、すべて同じメモリ・アレイ製造技術を用いており、したがって１）ＶFとして示した、プログラミングおよび消去の場合の有効セルＶTの範囲と、２）ＶLERASEの範囲はまったく同じである。
しかしながら、これらの図面は消去技術のタイプと得られるＶR値、ＶLの範囲、およびＶMの範囲が異なる。第１７Ａ図は、従来用いられている技術と同様にＶLERASEの範囲をＶL0レベル（基準値ＶR0とＶR1の間）として用いた場合の例を示す。第１７Ａ図には１６個のレベルを示した。各レベルはＶM分だけ分離しており、１５個のレベルの幅はＶLであり、１個のレベルの幅はＶLERASEであり、ＶLERASE＞＞ＶLであり、またＶF＝ＶLERASE＋１５ＶM＋１５ＶLである。第１７Ｂ図は、１）ＶL0レベルとしてＶLERASEの範囲を使用しない、その代わりに２）ＶFの範囲全体にわたってＶLの範囲がほぼ等しくなるように広げることにより、ＶFの範囲全体の利用率を最適化した場合の本発明の１つの実施形態を示す。第１７Ｂ図に示した１６個のＶLレベルはＶM分だけ分離しており、ＶF＝１６ＶL＋１５ＶMとなる。ＶFは等しいので、ＶL＋ＶMは第１７Ａ図の例より第１７Ｂ図の例の方が大きくなる（したがって、製造や管理が容易になる）。したがって、第１７Ｂ図に示した実施形態は第１７Ａ図に示した技術より優れており、高密度の多レベルデータ記憶を可能にする。
第１７Ｃ図にもう１つの変形は示す。ＶFの範囲全体にわたって広がっている第１７Ｂ図のＶLレベルとは異なり、第１７Ｃ図のＶLレベルはＶLERASEの範囲とは重複しない。これは、ＶL＋ＶMの電圧が広くなるという利点をもたらさないが、一部の技術でのより高信頼のデータ検出には必要になる可能性がある。さらに、先にミニ消去のセクションで述べたように、この集積回路の消去技術は、いずれの方向への消去ＶTシフトにも適応できる。本発明は、広範なメモリ・アレイ製造と多レベル記憶のための検出回路を可能にする。
この消去動作では、先に多レベル・デジタル検出セクションで述べたものと同様の帯域検出能力を利用して、各セルＶTがＶL範囲の所期の帯域内にあることを検証する。これにより、そのＶL範囲の両端であいまいな検出が行われるのを防止するのに十分なマージン保護帯域を確保する。
消去検証中には複数の基準電圧を用いる。第１８Ａ図および第１８Ｂ図に示すように、基準電圧ＶR0＋ＶMEFLおよびＶR1−ＶMEFUは、ＶR0およびＶR1と共に、各ＶL0レベルの範囲内に新たな２つの下側および上側の消去マージン保護帯域ＶMEFLおよびＶMEFUを定義する。消去基準電圧ＶEAおよびＶEBと、プログラミング基準電圧ＶPEBおよびＶPEFを用いる。以下説明するように、その他の電圧を用いることもできる。ＶMEFLおよびＶMEFUは、先に述べた読出し保護帯域ＶMRLIおよびＶMRUI、ミニプログラミング保護帯域ＶMPLIおよびＶMPUI、ミニ消去保護帯域ＶMPELI、ＶMELI、およびＶMUI、マイクロプログラミング保護帯域ＶCPELI、ＶCPLI、およびＶCPUI、あるいはプログラミング保護帯域ＶPLIおよびＶPUIと等しくなる場合もあれば等しくならない場合もあり、またそれより高くなる場合もあれば高くならない場合もある。
各ＶL0レベルの範囲内のマージン保護帯域ＶMEFLおよびＶMEFUの選択は、消去技術の後に得られるＶTの分布がＶL0範囲より狭い所期の帯域内に最適化されるような形で行う。最適化では、ＶMEFLとＶMEFUの各帯域が互いに等しくならないようにすることが必要になる場合がある。あるいは、各レベル内の帯域を等しい値にする場合もある。
この技術は、広範なメモリ製造技術に適応できるように最適化される。本発明による検証技術は、１つの消去基準電圧のみを基準にしてセルＶTを検証する従来技術とはまったく異なる。従来技術では、先に述べたあいまいな検出の問題を引き起こす基準値ＶR0またはＶR1にＶTが近づきすぎるような形でセルの消去が行われる可能性がある。本発明による消去技術は、追加の検証基準電圧を用いて消去後のデータが最適化された帯域内にあることを検証することにより、あいまいなデータ検出の問題を防止する。
消去の方法論
消去技術は、同じ消去ブロック内で互いに接続された複数のセルを考察すると最もよくわかる。先に述べたように、実際の多レベル・メモリ・システムは、複数のセルを同時に消去できるようにセル領域を縮小した消去ブロック・メモリ・セル・アーキテクチャを利用する。チップ全体でなくとも、少なくともそうした消去ブロック内でのすべてのセルの挙動を理解するには、任意の形式の消去にありうるすべての結果を考察することが必要である。
第１８Ａ図および第１８Ｂ図に、７つの異なる時間ＴPE、ＴE1、ＴEPE2、ＴE2、ＴEPEF、ＴEF、およびＴPに４つのレベルＶL0ないしＶL3の範囲内にある、メモリ内の複数のセルＶTの分布を示す。この例では、ＶLERASEは４つのＶL範囲と重複する。ただし、この技術がこの特定の例に限定されるものと見なしてはならない。
時間ＴPEでのＶTの分布は、消去の直前のセルの状態を示す。この消去方法は、多くの点でミニ消去方法と似ており、同じ原理の多くを用いることからここではあまり詳しく述べない。まず、選択したセクタに消去パルスを与える。次いで、メモリ・アレイ製造の特徴に応じて、次の２つの方法のいずれかによってそのセクタ内のすべてのセルを検証する。最初の方法ではすべてのセルが基準電圧ＶEAより低くなっていることを検証するが、もう１つの方法ではすべてのセルがマージン基準電圧ＶR0＋ＶMEFLより高くなっていることを検証する。後続の消去パルス／検証シーケンスは、すべてのセルが基準電圧ＶEAより低くなるまで、最初のセルがマージン保護帯域ＶMEFL内にあることが確認されるまで、あるいはシーケンスの最大数（エラー・フラグ）に達するまで印加する。得られるセルＶTの分布は、第１８Ａ図の時間ＴE1に示す。
次に、消去済みのセルの分布を狭くし、マージン基準電圧ＶR0＋ＶMEFLに向けてシフトするためのもう１つの方法として、一連の予備消去ミニプログラミング／ミニ消去ステップを実行する。予備消去ミニプログラミング／ミニ消去シーケンスの回数は、メモリを製造する際のプロセスによって決まり、適切な基準電圧値を選択することによって最小限に抑えられる。
第１８Ａ図および第１８Ｂ図の例は、それぞれ時間ＴEPE2／ＴE2と時間ＴEPEF／ＴEFでの、そうした２つの予備消去ミニプログラミング／ミニ消去シーケンスを示す。第１８Ａ図に示した例では、最初の予備消去ミニプログラミング基準電圧はＶPEBに設定される。ＶPEBでのミニプログラミング・パルス／検証動作は、すべてのセルが基準電圧ＶPEBより高いことが確認されるまで印加する。この最初の予備消去ミニプログラミング・ステップから得られるセルＶTの分布を、時間ＴEPE2に示す。次いで、すべてのセルが基準電圧ＶEBより低いことが確認されるまで、最初のセルがマージン保護帯域ＶMEFL内にあることが確認されるまで、あるいはシーケンスの最大数（エラー・フラグ）に達するまで、ミニ消去パルス／検証動作を行う。基準電圧ＶEBは、先の基準電圧ＶEAとＶR0＋ＶMEFLの間で最適に選択される。その結果得られるセルＶTの分布を、第１８Ａ図および第１８Ｂ図の時間ＴE2に示す。
再び、予備消去ミニプログラミング／ミニ消去ステップを繰り返す。次いで、もう１つの予備消去ミニプログラミング基準電圧をＶPEFに設定する。基準電圧ＶPEFは、先の基準電圧ＶFEBとＶR0＋ＶMEFLの間で最適に選択される。ＶPEFでのミニプログラミング・パルス／検証動作は、すべてのセルが基準電圧ＶPEFより高いことが確認されるまで行われる。このもう１つの予備消去ミニプログラミング・ステップから得られるセルＶT分布を時間ＴEPEFに示す。次いで、すべてのセルが保護帯域基準電圧ＶR1−ＶMEFUより低いことが確認されるまで、最初のセルがマージン保護帯域ＶMEFL内にあることが確認されるまで、あるいは最大数（エラー・フラグ）に達するまで、ミニ消去パルス／検証動作が行われる。
今回は、別のミニプログラミング・ステップを適用するのではなく、保護帯域基準電圧ＶR1−ＶMEFUを用いて検証する時とあらかじめ決められている。保護帯域ＶMEFU内にあることが確認されたセルがない場合、あるいは最大数（エラー・フラグ）まで消去ステップを実行した場合は、消去動作を完了する。あるいは、先のミニ消去検証ステップの終了時に保護帯域基準電圧ＶR1−ＶMEFUより高いことが確認されたセルがある場合にのみ、次の基準電圧ＶPEを用いて最大数（エラー・フラグ）まで予備消去ミニプログラミング／ミニ消去シーケンスを実行する。次の基準電圧ＶPEは、先の基準電圧ＶPEとＶR0＋ＶMEFLの間で最適に選択される。その結果得られるセルＶTの分布を第１８Ｂ図の時間ＴEFに示すが、これはすべてのセルが保護帯域基準電圧ＶR1−ＶMEFUより低いことが確認されたことを示している。これで消去動作は完了する。得られるセルＶTの分布を第１８Ｂ図の時間ＴEFに示すが、これは、プログラミング技術の第１部分によって得られるものと幅が類似する。これで、消去ブロックは、ＶL0レベルに残存していないセルをいつでもプログラミングできる状態となる。先に述べたプログラミング技術の第１部分の後のセルＶTの分布を、第１８Ｂ図の時間ＴPに示す。
多レベル・メモリ消去システム
消去動作は、先に述べたミニ消去技術の動作とほぼ同じである。例外は、ＰＲＯＧＲＡＭ  ＥＲＡＳＥ  ＲＥＡＤ  ＲＥＳＴＯＲＥ  ＳＥＱＵＥＮＣＥＲブロック２６が、ＰＲＧＲＤＢバス３７を介して△ＶＵ  △ＶＬ  ＧＥＮブロック３９に対して、基準電圧バスＲＶＢＵＳ４２からの電圧ＶMEUIおよびＶMELIの代わりに、基準電圧ＶMEFUおよびＶMEFLを生成するように指令することである。ＶＸ  ＶＹ  ＧＥＮブロック３８は指令を受けて、基準電圧ＶR0およびＶR1を生成する。基準電圧ＶEA、ＶPEB、ＶEB、およびＶPEFも同様の形で生成され、先に述べた最適化に応じて最も近いＶRIを基準にする。また、ミニ消去のセクションで先に述べたように、選択したメモリ・ブロックまたはセクタに対して消去動作が実行できるように、ＢＬＯＣＫ−ＤＥＣブロック１９、Ｘ−ＤＥＣブロック１７、およびＹ−ＤＥＣブロック１８に対してＰＲＧ−ＥＲＳバス２２を強制的に設定する。
以上は、本発明の好ましい実施形態の完全な説明であるが、様々な代替例、修正例、および均等物を用いることができる。上述の実施形態に対して適切な修正を加えることにより、本発明を同等に応用できることは明白であろう。本発明に当てはまるメモリ技術は多くあり、単に電荷の蓄積に限定されない。自然界のその他の基本的物質も、集積回路メモリ・セルに蓄積することができる。例えば、半導体チャネル上の薄膜中の強誘電体拘束電荷はチャネルの伝導度を調整するので、強誘電体メモリの基礎をなす。導体や制御ゲートに電圧を印加したり、強誘電性薄膜全体に電圧を印加することにより、拘束電荷量を制御することができ、それによって様々な伝導度を得ることができる。基準電圧を用いて制御ゲート電圧を設定することもできる。このように、本発明は電荷蓄積型のメモリと同様に強誘電体メモリにも応用することができる。
したがって、以上の説明を、添付の請求の範囲によって定義される本発明の範囲を限定するものとして捉えてはならない。
【図１Ａ】
0003706146.tif 000004
【図１Ｂ】
0003706146.tif 000005
【図１Ｃ】
0003706146.tif 000006
【図２】
0003706146.tif 000007
【図３Ａ】
0003706146.tif 000008
【図３Ｂ】
0003706146.tif 000009
【図３Ｃ】
0003706146.tif 000010
【図４Ａ】
0003706146.tif 000011
【図４Ｂ】
0003706146.tif 000012
【図５Ａ】
0003706146.tif 000013
【図５Ｂ】
0003706146.tif 000014
【図６】
0003706146.tif 000015
【図７】
0003706146.tif 000016
【図８】
0003706146.tif 000017
【図９】
0003706146.tif 000018
【図１０】
0003706146.tif 000019
【図１１】
0003706146.tif 000020
【図１２】
0003706146.tif 000021
【図１３Ａ】
0003706146.tif 000022
【図１３Ｂ】
0003706146.tif 000023
【図１４Ａ】
0003706146.tif 000024
【図１４Ｂ】
0003706146.tif 000025
【図１５Ａ】
0003706146.tif 000026
【図１５Ｂ】
0003706146.tif 000027
【図１６Ａ】
0003706146.tif 000028
【図１６Ｂ】
0003706146.tif 000029
【図１７Ａ】
0003706146.tif 000030
【図１７Ｂ】
0003706146.tif 000031
【図１７Ｃ】
0003706146.tif 000032
【図１８Ａ】
0003706146.tif 000033
【図１８Ｂ】
0003706146.tif 000034