(57)【要約】不揮発性集積記憶装置において、プログラムしにくい記憶素子を迅速かつ効果的にプログラムするシステムおよび方法を提供する。多くの記憶素子は、第１のレベルに制限される記憶素子を通って流れる電流を用いて同時にプログラミング処理を受ける。これら記憶素子の一部が所定の状態に達すると、それらはプログラムされるセルのセットから取り除かれ、プログラムされ続ける素子に関する電流制限が上昇する。これらプログラムしにくいセルの電流レベルを別の上限まで上昇させることができ、または無制限とすることができる。
2006518530.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリアレイをプログラムする方法において、
複数のメモリ記憶ユニットの端子に同時に第１のセットのプログラミング電圧波形を印加するステップであって、前記複数の記憶ユニットの各々の端子の第１と第２との間で流れる電流を第１の電流レベルよりも大きくしないように制限する第１のセットのプログラミング電圧波形を印加するステップと、
前記第１のセットのプログラミング電圧波形を印加するステップの後で、前記複数のメモリ記憶ユニットの第１のサブセットの端子に同時に第２のセットのプログラミング電圧波形を印加するステップであって、前記第１のサブセットの各々の端子の第１と第２との間で流れる電流を前記第１の電流レベルよりも大きくしないように制限しない第２のセットのプログラミング電圧波形を印加するステップと、
を含む不揮発性メモリアレイをプログラムする方法。
【請求項２】
前記複数のメモリ記憶ユニットの第１のサブセットの端子に第２のセットのプログラミング電圧波形を印加するステップの間、前記第１のサブセットの各々の端子の第１と第２との間で流れる電流を前記第１の電流レベルよりも大きい第２の電流レベルよりも下にするように制限する請求項１記載の方法。
【請求項３】
前記メモリ記憶ユニットの各々がフローティングゲートトランジスタを含み、前記端子の第１と第２との間で流れる電流をドレイン−ソース電流とする請求項１記載の方法。
【請求項４】
前記メモリ記憶ユニットの各々が１つ以上のフローティングゲートトランジスタと、１つ以上の選択トランジスタとを含む請求項３記載の方法。
【請求項５】
前記第１のセットのプログラミング電圧波形が、少なくとも１つのプログラミングパルスを前記複数のメモリ記憶ユニットの各々のコントロールゲートに並列に印加するステップを含み、前記第２のセットのプログラミング電圧波形が、少なくとも１つのプログラミングパルスを前記複数のメモリ記憶ユニットの第１のサブセットの各々のコントロールゲートに並列に印加するステップを含む請求項３記載の方法。
【請求項６】
前記第１のセットのプログラミング電圧波形が、第１の所定数のプログラミングパルスを前記複数のメモリ記憶ユニットの各々のコントロールゲートに印加するステップを含む請求項５記載の方法。
【請求項７】
前記第２のセットのプログラミング電圧波形が、第２の所定数のプログラミングパルスを前記複数のメモリ記憶ユニットの第１のサブセットの各々のコントロールゲートに印加するステップを含む請求項６記載の方法。
【請求項８】
前記メモリ記憶ユニットの各々が２ビット以上のデータを記憶することができるようにする請求項１記載の方法。
【請求項９】
前記第１のセットのプログラミング電圧波形を印加するステップの後で、前記複数のメモリ記憶ユニットの各々のデータ内容に関するパラメータ値を測定するステップと、
測定されたパラメータ値に基づいて前記第１のサブセットを決定するステップと、
をさらに含む請求項１記載の方法。
【請求項１０】
前記第２のセットのプログラミング電圧波形を印加するステップの前に、前記第１のサブセットに含まれない前記複数のメモリ記憶ユニットのメモリをロックアウトするステップをさらに含む請求項９記載の方法。
【請求項１１】
前記第１のサブセットを決定するステップは、
前記複数のメモリ記憶ユニットの所定部分が前記パラメータ値の所定値を達成したことを決定するステップと、
前記所定値を達成しなかったメモリ記憶ユニットから前記第１のサブセットを形成するステップと、
を含む請求項９記載の方法。
【請求項１２】
前記第１のセットのプログラミング電圧波形を印加するステップと、前記第２のセットのプログラミング電圧波形を印加するステップと、前記第１のサブセットを決定するステップとを粗いプログラミングモードの一部として実行し、前記粗いプログラミングモードの後で、前記方法は、
前記複数のメモリ記憶ユニットの第２のサブセットの端子に同時に第３のセットのプログラミング電圧波形を印加するステップであって、前記複数の記憶ユニットの各々の端子の第１と第２との間で流れる電流を前記第１の電流レベルよりも下にするように制限する第３のセットのプログラミング電圧波形を印加するステップと、
前記第３のセットのプログラミング電圧波形を印加するステップの後で、前記複数のメモリ記憶ユニットの第２のサブセットの各々のデータ内容に関するパラメータ値を測定するステップと、
前記第３のセットのプログラミング電圧波形を印加するステップの後に測定されたパラメータ値に基づいて第３のサブセットを決定するステップと、
前記複数のメモリ記憶ユニットの第３のサブセットの端子に同時に第４のセットのプログラミング電圧波形を印加するステップであって、前記第３のサブセットの各々の端子の第１と第２との間で流れる電流を前記第１の電流レベルよりも下にするようには制限せず、前記第３のセットのプログラミング電圧波形を印加するステップと、前記第４のセットのプログラミング電圧波形を印加するステップと、前記第２のサブセットを決定するステップとを細かいプログラミングモードの一部として実行する第４のセットのプログラミング電圧波形を印加するステップと、
を含む請求項９記載の方法。
【請求項１３】
前記第１のセットおよび第２のセットのプログラミング電圧波形をソフトプログラミング処理に適用する請求項１記載の方法。
【請求項１４】
不揮発性メモリにおいて、
複数のメモリ記憶ユニットと、
前記メモリ記憶ユニットに接続可能な電流制限回路であって、接続された記憶ユニットを通って流れる電流の量を制御することができる電流制限回路と、
前記記憶ユニットおよび前記電流制限回路に接続されるプログラミング回路であって、前記複数の記憶ユニットのうちの１つ以上の記憶ユニットを同時にプログラムする動作中に前記１つ以上の記憶ユニットの各々に流れるそれぞれの電流を第１のモードの第１の電流レベルよりも大きくしないように制限することができ、第２のモードの前記第１の電流レベルを超えることを許容するプログラミング回路と、
を有する不揮発性メモリ。
【請求項１５】
前記第２のモード中に、前記１つ以上の記憶ユニットの各々に流れるそれぞれの電流を、前記第１の電流レベルよりも大きい第２の電流レベルよりも下にするように制限することができる請求項１４記載の不揮発性メモリ。
【請求項１６】
前記メモリ記憶ユニットの各々がフローティングゲートトランジスタを有し、前記流れている電流がドレイン−ソース電流である請求項１４記載の不揮発性メモリ。
【請求項１７】
前記メモリ記憶ユニットの各々が１つ以上のフローティングゲートトランジスタと、１つ以上の選択トランジスタとを有する請求項１６記載の不揮発性メモリ。
【請求項１８】
プログラミング処理中に、前記プログラミング回路が、少なくとも１つのプログラミングパルスの印加を含むプログラミング電圧波形のセットを前記複数のメモリ記憶ユニットの各々のコントロールゲートに印加する請求項１６記載の不揮発性メモリ。
【請求項１９】
前記メモリ記憶ユニットの各々が、２ビット以上のデータを記憶することができるようにする請求項１４記載の不揮発性メモリ。
【請求項２０】
前記電流制限回路が、電流ミラーを用いて形成される請求項１４記載の不揮発性メモリ。
【請求項２１】
前記プログラミング回路に結合され、前記記憶ユニットに接続可能な感知回路であって、前記複数のメモリ記憶ユニットの各々のデータ内容に関するパラメータ値を検証処理中に感知することができ、前記検証処理中に検証する記憶素子を複数の記憶ユニットを同時にプログラムする動作からロックアウトさせることができる感知回路をさらに有する請求項１４記載の不揮発性メモリ。
【請求項２２】
前記プログラミング回路に結合されるイベントカウンタをさらに有し、前記イベントカウンタに応答して前記電流制限回路を制御する請求項１４記載の不揮発性メモリ。
【請求項２３】
前記プログラミング回路が、一連の電圧パルスを接続された記憶ユニットに印加し、前記イベントカウンタがパルスの数をカウントする請求項２２記載の不揮発性メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、不揮発性集積記憶装置に関し、特に、不揮発性集積記憶装置のプログラミング中の電流レベルを制御するシステムおよび方法に関する。
【背景技術】
【０００２】
多くの不揮発性コンピュータメモリでは、データを記憶する能力は、プログラミング処理中に特定の記憶ユニットを通って流れる電流の量にしばしば関連している。不揮発性メモリのある特定の例は、メモリ内の記憶ユニットの状態がフローティングゲートに蓄えられる電荷の量に依存するフラッシュまたはＥＥＰＲＯＭメモリである。大まかに言えば、所定のユニットを通って流れる電流が多ければ多い程、より迅速にユニットをプログラムすることでき、および／またはユニットをプログラムすることができるレベルの範囲がより広がる。しかし、さらなる多くの数に向かう傾向を伴って、多数の記憶ユニットが一般に並列にプログラムされるので、この結果として、平均しても瞬時にも、高い電流レベルをもたらすことになり、このことはより低い出力装置への傾向と対立する。
【０００３】
電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）またはフラッシュメモリのような不揮発性データ記憶装置は、携帯電話、ハンドヘルド形パーソナルコンピュータ（ＰＣ）、携帯音楽プレーヤやデジタルカメラなどの大容量データ記憶装置および固定電源を欠く持ち運び可能な装置で広く用いられている。
【０００４】
フラッシュメモリは典型的には、各々が１つ以上の絶縁されたフローティングゲートである多くの記憶素子を持つ半導体電界効果トランジスタ装置であり、当該１つ以上の絶縁されたフローティングゲートは、フローティングゲートに電荷を注入することにより情報を記憶してトランジスタのしきい値電圧を変更するようにプログラムされる。注入された電荷は、蓄えられた電荷の量に比例する量だけ固有のしきい値電圧からしきい値電圧を変更する。トランジスタの新たなしきい値電圧は、１またはそれ以上のビットのプログラムされたデータまたは情報に相当する。例えば、シングルビットのデータを記憶する単純なメモリセルにおいて、トランジスタのしきい値電圧は、しきい値電圧空間の高位端付近の値まで上昇されるか或いは低位端付近の値に維持される。これら２つのプログラムされたしきい値電圧は論理１または論理０に相当し、オンに転換するか或いはオンに転換しないようにそれぞれメモリセルをプログラムし、読み出し条件が定められていれば、これによりメモリセル内に記憶されたデータが論理１であるか或いは論理０であるかを読み出し動作が決定することを可能にする。
【０００５】
不揮発性メモリは一般に、そしてフラッシュＥＥＰＲＯＭ装置は特に、様々なアーキテクチャおよびセル構造体について多くの特許および特許出願において充分に説明されている。１つの設計のＮＯＲアレイは、隣接するビット（列）ライン間に接続されるメモリセルと、ワード（行）ラインに接続されるコントロールゲートとを有する。個々のセルは、直列に形成される選択トランジスタを用いるかまたは用いない１つのフローティングゲートトランジスタ或いは単一の選択トランジスタにより分離された２つのフローティングゲートトランジスタのいずれかを含む。記憶システムにおけるこのようなアレイおよびその使用の例が、その全体が参照により本願明細書において援用されているサンデスク  コーポレイションの以下の米国特許および同時係属出願中の特許出願に記載されている。これらの特許および特許出願とは、第５，０９５，３４４号（特許文献１）、第５，１７２，３３８号（特許文献２）、第５，６０２，９８７号（特許文献３）、第５，６６３，９０１号（特許文献４）、第５，４３０，８５９号（特許文献５）、第５，６５７，３３２号（特許文献６）、第５，７１２，１８０号（特許文献７）、第５，８９０，１９２号（特許文献８）、第６，１５１，２４８号（特許文献９）並びに２０００年２月１７日出願の特許出願第０９／５０５，５５５号（特許文献１０）と、２０００年９月２２日出願の特許出願第０９／６６７，３４４号（特許文献１１）である。
【０００６】
１つの設計のＮＡＮＤアレイは、いずれか一方の端部の選択トランジスタを通る基準電位とビットラインとの間で直列ストリングに接続される８，１６または３２ものような多数のメモリセルを有する。ワードラインは、異なる直列ストリングのセルのコントロールゲートと接続されている。このようなアレイおよびその動作の関連する例が、２００１年６月２７日出願の米国特許出願第０９／８９３，２７７号（特許文献１２）に示されている。この特許出願も、本願明細書において参照により援用され、本願明細書に含まれる参考文献である。
【０００７】
ＥＥＰＲＯＭのプログラミングメカニズムは、コントロールゲート上の高電圧と、ドレイン上の別の高電圧により熱い電子がチャネルのドレイン側から薄い酸化層を通ってフローティングゲートへ渡るドレイン側チャネルの熱い電子注入と、ソース側注入とを含む。ソース側注入に関して、フローティングゲートトランジスタと直列に選択トランジスタを形成するのに選択ゲートまたは側壁の存在を用いることができる。ソース側注入では、選択トランジスタのしきい値電圧よりもわずかに大きい電圧が選択ゲート上に設定され、高電圧が高電圧をコントロールゲートに印加することによりフローティングゲートに容量的に結合され、高電圧がフローティングゲートトランジスタのドレインに印加される。選択ゲート上の電圧は、選択ゲート下のチャネルの一部をオンに転換するのに充分である。ソースとドレインとの間の差分電圧は、選択ゲートとフローティングゲートとの間のギャップでチャネルの熱い電子を生成し、これらチャネルの熱い電子はこの後、フローティングゲートのソース側付近のギャップ酸化物における有利な電界によりフローティングゲートへ掃くように移動される。
【０００８】
最新世代のフラッシュメモリは、１２８から６４Ｋバイトまでサイズに幅があるセクタまたはプログラミングブロック内でプログラムされ、消去される何億ものメモリセルのアレイを有することができ、ここで消去およびプログラミングブロックはしばしば同一サイズではない。多数のメモリセルのプログラミングは、例えば、２００２年２月２２日に出願されたケビン・エム・コンレーとヨーラム・セダーによる「不揮発性メモリシステムにおけるパイプライン形の並列プログラミング動作」という米国特許出願（米国特許第６，８７１，２５７号）（特許文献１３）に記載されている。この特許出願も、本願明細書において参照により援用され、本願明細書に含まれる参考文献である。セクタ内の多数のメモリセルをプログラミング中に消費される電力は、従来のフラッシュメモリにおいて重大な問題となっている。バッテリに依存し、出力容量が限定されたオンチップ電圧電源または電荷ポンプを一般に有する持ち運び可能な装置に対して特に問題である。さらに、携帯電話やデジタルカメラなどの多くの持ち運び可能な装置における傾向は、小形装置またはフォームファクタへ向けられている。従って、持ち運び可能な装置において、増大する数のメモリセルと減少するバッテリ寸法とは、多数のメモリセルを並列にプログラムする能力についてのさらなる制限をもたらす。
【０００９】
本発明は、前述した問題およびその他の問題の解決策を提供し、従来技術より優れたその他の利点を提示する。
【特許文献１】米国特許第５，０９５，３４４号
【特許文献２】米国特許第５，１７２，３３８号
【特許文献３】米国特許第５，６０２，９８７号
【特許文献４】米国特許第５，６６３，９０１号
【特許文献５】米国特許第５，４３０，８５９号
【特許文献６】米国特許第５，６５７，３３２号
【特許文献７】米国特許第５，７１２，１８０号
【特許文献８】米国特許第５，８９０，１９２号
【特許文献９】米国特許第６，１５１，２４８号
【特許文献１０】米国特許出願第０９／５０５，５５５号
【特許文献１１】米国特許出願第０９／６６７，３４４号
【特許文献１２】米国特許出願第０９／８９３，２７７号
【特許文献１３】米国特許第６，８７１，２５７号
【特許文献１４】米国特許出願第０９／８６５，３２０号
【特許文献１５】米国特許出願第１０／２５４，８３０号
【特許文献１６】米国特許第６，１０３，５７３号
【特許文献１７】米国特許第６，５１２，２６３号
【特許文献１８】米国特許第５，７６８，１９２号
【特許文献１９】米国特許第４，６３０，０８６号
【特許文献２０】米国特許第６，９２５，００７号
【特許文献２１】米国特許第６，８５０，４４１号
【特許文献２２】米国特許出願第０９／７９３，３７０号
【特許文献２３】米国特許出願第１０／３１４，０５５号
【特許文献２４】米国特許第５，２７２，６６９号
【発明の開示】
【００１０】
本発明の目的は、不揮発性集積メモリ装置においてプログラムしにくい記憶素子を迅速かつ効果的にプログラムするシステムおよび方法を提供することにある。本発明の主要な態様によれば、多くの記憶素子が、第１のレベルに制限される記憶素子を通って流れる電流を用いてプログラミング処理を同時に受ける。これら記憶素子の一部が所定状態に達すると、それらはプログラムされるセルのセットから取り除かれ、プログラムされ続ける素子に関する電流制限が上昇する。このことは、１素子あたりに流れる電流の量を増大させるという結果をもたらすが、電流が流れる素子の数が減少するので、プログラムしにくい記憶素子に大きな電流を依然として印加してはいるが、流れる累積電流を低いレベルに維持することができる。
【００１１】
フラッシュＥＥＰＲＯＭメモリを用いる一実施形態では、プログラム可能な記憶装置内のメモリセルを迅速かつ効果的にプログラムするための回路が、プログラミング速度をほとんどもしくは全く下げずに瞬間的および平均的なプログラミング電流を減少させるために設けられる。一般に、その方法は、選択したメモリセルの各々を通るドレイン−ソース間電流（ＩDS）を、ソース電圧を上昇させること（ソースデバイアス）により所定のレベルに制限しながら、プログラムすることを目標としているメモリセルの様々なゲートおよびドレインに電圧波形のセットを印加し、少なくとも１つのプログラミングパルスをメモリセルに印加することを含む。さらにプログラムする必要があるセルに対して、制限されたＩDSを上昇させ、さらなるプログラミングパルスを印加する。
【００１２】
実施形態の１つのセットでは、本発明は、粗い−細かいプログラミング技術に適用される。一般に、その方法は、プログラミングブロックに属するすべてのセルを個々の粗い目標しきい値に対して同時に検証し、それぞれの粗いプログラミングしきい値を既に超えているしきい値を持つこれらセルをロックアウトし、粗いプログラミングしきい値に達していないこれらセルにプログラミングパルスを印加するステップを含む。この処理を繰り返すが、繰り返されるプログラミングステップの各々は、コントロールゲート（ステアリングゲート）プログラミング電圧パルスを所定の粗い増分値だけ増大する。このことを、プログラミングブロック内のすべてのセルをそれぞれの粗いしきい値にプログラムするまで或いは粗いパルスの所定の最大数に達するまで継続することができる。
【００１３】
一実施形態では、粗いパルスの幾つかの所定数を消耗し、それぞれの粗い目標にプログラムされていない幾つかのセルが依然として残っていれば、この時点でソースデバイアス条件を緩和できるか或いは引き上げることができ、またすべてのセルがそれらの粗い目標に達するまで或いは許容される粗いパルスの別の所定の最大数に達するまでプログラム検証処理を繰り返すことができる。
【００１４】
この時点で、細かいプログラミングフェーズが、プログラミングブロックに属するすべてのセルをそれらの個々の細かいプログラミング目標しきい値に対して同時に検証することにより開始される。それぞれの細かいプログラミングしきい値を既に超えたしきい値を持つこれらセルをロックアウトし、細かいプログラミングしきい値に達していないこれらセルにプログラミングパルスを印加する。（各セルのコントロールゲートに印加される最初の細かいプログラミングパルスを、粗から細に下げられた電圧と称するある所定量だけ各セルに印加される最後の粗いプログラミング電圧パルスから少なくすることができる。）検証プログラミングステップを繰り返すが、繰り返されるプログラミングステップの各々は、プログラミングブロック内のすべてのセルをそれぞれの細かいしきい値にプログラムするまで或いは細かいパルスの所定の最大数に達するまでプログラミングパルスを所定の細かい増分値だけ増大する。細かいパルスの最大数を消耗し、それぞれの細かい目標にプログラムされていない幾つかのセルが依然として残っていれば、この場合も、この時点でソースデバイアス条件を緩和できるか或いは引き上げることができ、またすべてのセルがそれらの細かい目標に達するまで或いはデバイアスでない許容される細かいパルスの別の所定の最大数を超えるまでプログラム検証処理を繰り返す。
【００１５】
好ましくは、この方法は、不充分にプログラムされているメモリセルの各々に高いＩDSを供給するステップの前にプログラムされているメモリセルをオフに転換するさらなるステップを含む。
【００１６】
一実施形態では、電流制限器を用いてＩDSを制限するステップを達成し、プログラミング中のメモリセル内の各記憶ユニットに高いＩDSを供給するステップは、電流制限器を無効にすることを含む。或いは、電流制限器は、ＩDSを多くの所定のレベルのうちの１つに制限することを可能にし、不充分にプログラムされる各メモリセル内の各ＦＥＴに高いＩDSを供給するステップは、不充分にプログラムされる各メモリセル内の各ＦＥＴを通るＩDSを所定のレベルのうちの高いレベルに制限するステップを含む。
【００１７】
別の実施形態では、記憶ユニットを通る電流を電流制限器により制限しながら、所定の最大数以下の知的に決定された数のプログラミングパルスをプログラミングブロック内の各セルに印加する。その後、その他の所定の最大数以下の別の知的に決定された数のプログラミングパルスを、高い電流を供給する必要があるプログラミングブロック内のプログラムしにくいセルの各々に印加する。さらなる別の実施形態では、所定数のメモリセルをプログラムするまで、プログラミングパルスを選択したメモリセルの各々に印加する。その後、多くのプログラミングパルスを、高いＩDSを供給する残りのプログラムしにくいメモリセルに印加する。或いは、最終的な目標しきい値電圧に完全にプログラムされない最後の数個の極めてプログラムしにくいセルを残して、少なくとも別の所定数のメモリセルをプログラムするまで、高電流を供給する各メモリセルにプログラミングパルスを印加することができる。これら最後の数個のセルの起こりうる存在により生じた誤りを訂正するために、誤り訂正符号に頼ることができる。
【００１８】
本発明の方法および回路は、多くの不揮発性記憶ユニットを有する不揮発性記憶装置に特に有用である。一般に、この回路は、（ｉ）選択された記憶ユニットの一対の端子にまたがる電圧差を印加することが可能な電圧電源と、（ｉｉ）選択された記憶ユニットの各々を通る電流（ＩDS）を所定のレベルに制限することが可能な電流制限器と、（ｉｉｉ）選択された記憶ユニットにプログラミングパルスを印加することが可能なプログラミング下位回路と、（ｉｖ）少なくとも所定数のプログラミングパルスを選択された記憶ユニットに印加した後、プログラムしにくい記憶ユニットの各々に高電流レベルを可能にするように電流制限器を制御することが可能なメモリチップ内の周辺回路のセットとを含む。一実施形態では、内部メモリチップの周辺回路は、電流制限器を無効にすることにより、プログラムしにくい記憶ユニットの各々に高電流を供給するように構成されている。或いは、電流制限器は多くの所定のレベルの１つに電流を制限することが可能であり、内部メモリチップの周辺回路は、所定数のプログラミングパルスを選択されたメモリセルに印加した後、多くの所定のレベルのうちの高いレベルの電流をプログラムしにくいメモリセルの各々に供給するために電流制限器を制御するように構成されている。
【００１９】
別の実施形態では、内部メモリチップの周辺回路は、所定数のプログラミングパルスを選択されたメモリセルに印加した後で、プログラムしにくいメモリセルの各々に高電流を供給するために電流制限器を制御するように構成されている。
【００２０】
さらなる別の実施形態では、内部メモリチップの周辺回路は、所定数の選択されたメモリセルをプログラムした後、プログラムしにくいメモリセルの各々に高電流を供給するために電流制限器を制御するように構成されている。さらなる実施形態では、本発明の様々な態様を、消去回復として別の名称で知られているソフトプログラミング処理に適用することができる。論理セクタから既にマップアウトされ、ソースデバイアス条件下でソフトプログラムしにくい欠陥のあるメモリセルが存在する可能性がある。（オフにされるためのものである）除外された過度に消去されているメモリセルが実際に導通する際に、読み出しエラーを導く寄生電流経路を除去するために、これらメモリセルを接地にされたソースでソフトプログラムしてもよい。
【００２１】
本発明のさらなる態様、特徴および利点は、添付図面とともに読まれるべきである例示的な実施形態の以下の説明に含まれる。
【００２２】
本発明の前述した特徴および利点並びに本発明のその他の様々な特徴および利点は、添付図面とともに以下の詳細な説明を読めば明らかになるであろう。
【発明を実施するための最良の形態】
【００２３】
図１は、不揮発性メモリアレイ１００の一部の例示的な実施形態を示す。この特定の実施形態において、各記憶ユニットは、ソース側注入によりプログラムされるデュアルフローティングゲートＥＥＰＲＯＭユニットである。例えば、個々の記憶ユニット１０１は、仮想接地構造のビットラインＢＬα3 ，ＢＬα4 の間に接続される選択ゲートトランジスタの両側にフローティングゲートトランジスタα6 ，α7 を有する。アレイ１００の選択ライン０，１に接続される２つの行と、２つのブロック、すなわちαおよびβ領域とを図１に示す。通常、実際のアレイは、これよりもずっと多い。個々のフローティングゲートトランジスタは、２つ以上のデータ状態を各々記憶することができる。
【００２４】
本発明の様々な態様は、図１に示す具体的なアレイのタイプに特定されないが、この構成は、本発明の多くの態様を容易に図に示すことができるので、例示的な実施形態としてしばしば用いられる。背景技術の欄で説明したように、現在の不揮発性メモリシステムはしばしば、極めて多数の記憶ユニットを並列にプログラムする。例えば、大規模な並列プログラミングは、２００２年２月２２日に出願されたケビン・エム・コンレーとヨーラム・セダーによる「不揮発性メモリシステムにおけるパイプライン形の並列プログラミング動作」という米国特許出願（米国特許第６，８７１，２５７号）（特許文献１３）である。この特許出願は、本願明細書において参照により援用され、本願明細書に含まれる参考文献である。これら記憶ユニットの各々をどの程度迅速に、かつどのレベルまでプログラムすることができるか、すなわちそれらの「プログラマビリティ」は、以下に説明するように、プログラミング処理中にトランジスタのチャネルを通って流れる電流の量に依存する。すべての累積電流を制御するために、平均してもピークレベルでも、電流制限装置をプログラムされるセルのソースライン上に配置することができる。このことを図１に示し、ここで電流制限器１０３がトランジスタα0 ，トランジスタα3 またはその両方に対してＩα1,lim の最大電流レベルを設定し、電流制限器１０５がトランジスタβ0 ，トランジスタβ3 またはその両方に対してＩβ1,lim の最大電流レベルを設定し、プログラムされる（図に示されていない）その他のセルは、同様に制限される。
【００２５】
このことを達成する１つの方法は、ソースデバイアスによるものであり、このソースデバイアスは、ソース電圧を上昇させることによりドレイン−ソース間のプログラミング電流を制限するように作用する。このことは、基板効果によりソースと対応するドレインとの間で直列の（記憶データを含む）すべてのトランジスタのしきい値電圧を増大させ、しかもドレイン−ソース間電圧を減少させ、これによりプログラミング電流を減少させる。事前のソースデバイアスはオンまたはオフのいずれかであると想定された。以前の設計よりは優れた改善であるが、この提案は完全に満足することができるものではない。
【００２６】
１つの欠点は、プログラムするのに高いプログラミング電流または長時間を必要とする少数のメモリセルが各セクタ内で典型的に存在するということである。このようにプログラムしにくいメモリセルが存在する根本的原因は多数あり、すなわち、１）セル容量結合比に影響を及ぼすセル間の変動、２）ドレイン／ソース接合特性、３）セル酸化物の厚さの変動、４）様々な材料界面の粗さ、５）酸化物、チャネルおよびセルトランジスタの接合部での微細な欠陥／損傷結合を含む可能性があるが、これらに限定はされない。従って、許容可能な多数のメモリおよび許容可能な短いプログラミング時間を得るために、これらセルを高電圧でプログラムすることが望ましい。しかし、事前にソースデバイアスは工場内で設定され、チップの寿命に関与したままである。
【００２７】
一実施形態では、一定の電流シンクを用いてドレイン−ソース間電流をソースから取り出すことによりソースデバイアスを達成する。理想的な一定の電流シンク（ソース）は、一定の電流を維持するために、時変負荷に瞬時に適合し、（限られた範囲に制限された）ソースに可変電圧を印加する。ｎ形トランジスタにおいて、デバイアスは、正の電圧をソースに印加することを意味する。この正の電圧は、単独のプログラミングパルス中でも変化する。従って、この実施形態では、デバイアスの電圧レベルが一定の電流源により動的に制御されるという意味でデバイアスは一定ではない。しかし、同じ実施形態では、デバイアスの電流レベルは一定であるので、この意味では、デバイアスを一定であると称することができる。
【００２８】
前述したソースデバイアス方法では、この選択肢は、工場でオンまたはオフのいずれかに設定され、チップの寿命の間、チップのすべてに対してＩα1,lim ＝Ｉβ1,lim ＝Ｉγ1,lim ＝．．．＝Ｉlim と変わらないままである。プログラム／ソフトプログラムされるべきセルがいくつか残っている場合、様々なＩ-,lim s （Ｉα1,lim ，Ｉβ1,lim ，．．．）を独立して変更することにより、各セクタのプログラミングの終結に向かってソースデバイアスを動的にオフに転換することで、新たな革新が構成される。プログラムされるべきごくわずかなセルが残っている場合にだけ、接地にされたソースのプログラミングが用いられるので、１セルあたりの超過電流は過度のチップ電流消費を生じさせない。というのは、ほんの少しのセルが電流を引き込むためである。一例として、接地にされたソースのプログラミングがプログラミング電流に１０倍の増大をもたらせば、各プログラミングユニットのセルの１０％まで、または「かなりの量（チャンク）」を、接地にされたソースを用いて同時にプログラムすることができ、このときにセルの残りの９０％はロックアウトされている。
【００２９】
本発明は図１に示すアレイおよび記憶ユニット構造体に限定されないが、この構造体は、その他のＥＥＰＲＯＭおよびフラッシュシステムに見られる多くの特徴を含むので、例示的な実施形態として有用である。図１は、各々が複数のフローティングゲートを持つ多状態記憶ユニットの仮想接地アレイを示す。このように、記憶ユニット自体がＮＯＲ形構造内に配置されているが、各記憶ユニットが小形ＮＡＮＤアレイと多くの類似点を有する。一般に、メモリは、前に参照により援用されている様々な参考文献に記載されている様々なＮＡＮＤまたはＮＯＲ構造のいずれかを用いることができる。（１０１内のα6 などの）各記憶ユニット内のフローティングゲートトランジスタの１つを無視することにより、記憶ユニットは選択ゲートを有する従来のフローティングゲートトランジスタに減らされる。選択ゲートが欠けているか或いは側壁構造体により置き換えられている場合、仮想接地アレイ以外の構造が用いられている場合並びに記憶ユニットがソース側注入以外の技術によりプログラムされる場合にまで、この考察も容易に広がる。記憶ユニットを、どちらか一方の端部の選択トランジスタと直列に接続される多くのフローティングゲートトランジスタを有するＮＡＮＤストリングとすることもできる。例示的な実施形態のデュアルフローティングゲート構造体でさえ、多くの変形例を有することができ、例えば、フローティングゲートの消去はチャネルによる場合がある。ここで用いたように、フローティングゲートの実施形態では、「記憶ユニット」という用語は、一連の１つ以上のフローティングゲートトランジスタを意味し、場合によっては１つ以上の選択ゲートトランジスタを意味する。これら異なる構造のさらなる詳細は、背景技術の欄で引用した参考文献に示されている。ソース側注入および仮想接地アレイの双方に関する様々な問題点は、２００１年５月２５日出願の米国特許出願第０９／８６５，３２０号（特許文献１４）に記載されている。この特許出願は、本願明細書において参照により援用され、本願明細書で引用されている参考文献である。
【００３０】
本発明の様々な態様が、個々の記憶ユニットを通って流れる電流に依存するプログラマビリティを有する多数の記憶ユニットを並列にプログラムすることに関するので、これら態様は、電流の流れに依存するプログラマビリティを有する記憶ユニットの別の態様における並列プログラミングにも適用することができる。さらに、読み出し処理での電流制限は、本願明細書において参照により援用されている２００２年９月２４日出願の米国特許出願第１０／２５４，８３０号（特許文献１５）に記載されている。以下では、「記憶ユニット」および「アレイ」がこれら構造のいずれかを意味する場合があるが、図１の動作をしばしば参照するので、この動作を簡潔かつより詳細に説明する。
【００３１】
図１の構造を持つ不揮発性メモリは、米国特許第５，７１２，１８０号（特許文献７）、米国特許第６，１０３，５７３号（特許文献１６）並びに２０００年２月１７日出願の米国特許出願第０９／５０５，５５５号（特許文献１０）および２０００年９月２２日に出願されたジャック・エッチ・ユアンおよびヤコブ・ハスケルによる「連続するビットライン導体により接触される不連続のドレインおよびソース拡散部を有する不揮発性メモリセルアレイおよび形成方法」という米国特許出願（米国特許第６，５１２，２６３号）（特許文献１７）に記載されている。これら特許および特許出願は、すべてサンデスク  コーポレイションに譲渡され、本願明細書において参照により援用されている。これらセルは、１つの物理的フローティングゲート記憶トランジスタあたりに５つ以上の論理ビットを記憶することができる。多くの考察が、セルの構造でなく、アレイ構造に基づくので、フローティングゲートを持たない不揮発性メモリを用いる別の実施形態も用いることができる。例えば、双方が本願明細書において参照により援用されているエイタンの米国特許第５，７６８，１９２号（特許文献１８）およびサトウらの米国特許第４，６３０，０８６号（特許文献１９）に記載されたＮＲＯＭまたはＭＮＯＳセルのようなＮＲＯＭまたはＭＮＯＳセルも用いることができ、同様に、本願明細書において参照により援用されている２００２年１０月２５日に出願されたエリヤホウ・ハラリ、ジョージ・サマチサ、ジャック・エッチ・ユアンおよびダニエル・シー・グッターマンによる「誘電記憶素子を用いる多状態不揮発性集積回路メモリシステム」という米国特許出願（米国特許第６，９２５，００７号）（特許文献２０）に記載された誘電記憶素子のような誘電記憶素子も用いることができる。図２Ａ，２Ｂは、複数のフローティングゲートを有するメモリセル構造体の一実施形態の上面図および断面図をそれぞれ示し、前に参照により含まれている米国特許第５，７１２，１８０号（特許文献７）のものを利用している。図２Ｂの断面図に示されているように、記憶ユニットのチャネルが、ビットライン（ＢＬ１）７１１および（ＢＬ２）７１２の２つのソース／ドレイン領域間に形成されている。このチャネルは、３つの領域、すなわち、左フローティングゲート（ＦＧＬ１２）７８１および左コントロールゲート（ＣＧＬ２）７７１の下にある左フローティングゲートチャネル７６１と、右フローティングゲート（ＦＧＲ１２）７８３および右コントロールゲート（ＣＧＲ２）７７３の下にある右フローティングゲートチャネル７６３と、これらの間で、かつ選択トランジスタ（Ｔ１２）７７２の下にある選択チャネル７６２とに再分割されている。
【００３２】
図２Ａに示されているように、この構造体では、（ＳＧ１）７２０などのワードラインが、（ＢＬ１）７１１および（ＢＬ２）７１２などのビットラインを横断してアレイを形成している。この場合、アレイ内のメモリセルの位置は、これらラインの交点により規定される。例えば、選択トランジスタ（Ｔ１２）７７２を持つ図２Ｂのセルは、ワードライン（ＳＧ１）７２０に沿って（ＢＬ１）７１１と（ＢＬ２）７１２との間に位置されている。コントロールゲートは、一般的な構造体でのように行に沿っているのではなく、ビットラインに平行な列に沿って接続されている。従って、電圧をコントロールゲートライン（ＣＧＬ２）７７１に印加することにより、この電圧が、トランジスタ（Ｔ１２）７７２を含むセルのゲートに印加されるだけでなく、ビットライン（ＢＬ１）７１１と（ＢＬ２）７１２との間の列内にあるすべてのセルの左コントロールゲートにも印加される。
【００３３】
図３Ｂは、図２Ａ，２Ｂのメモリセルのようなメモリセルのアレイの一実施形態を示す回路図であり、図３Ａは、これらメモリセルの等価回路である。セルのフローティングゲート７８１，７８３を独立してプログラムし、読み出すことができる。例えば、図３Ａの右フローティングゲート７８３をプログラムするために、例えば８ボルトのオーバードライブ電圧が左コントロールゲート７７１に印加される。実際の値は重要ではないが、フローティングゲートに記憶されるデータ状態にかかわらず、左フローティングゲートトランジスタＴFGL を完全にオンに転換するのに充分であるような値がとられる。回路から効果的に取り除かれた左フローティングゲートトランジスタＴFGL では、単独のフローティングゲートのトランジスタをソース側注入方法によりプログラムするのとほぼ同じように右フローティングゲートトランジスタＴFGR をプログラムすることができる。
【００３４】
規則的なプログラミング動作では、ドレインは約５ボルト或いは大体４〜７ボルトに再び設定され、ソースは接地に設定され、および／または電流制限装置を介して接地に接続される。列のすべてのセルは、同じ状態にある。選択された行に対して、１．５〜５ボルトの電圧が選択ゲートに設定され、これにより選択トランジスタをオンに転換する。このことは、チャネルを通る電流を生じさせ、電子がソース側から入る。選択されていない行では、選択ゲートラインまたはワードラインは接地に保たれ、これら選択トランジスタはオフに転換されたままである。この場合、例えば５〜１０ボルトのプログラミング電圧が右コントロールゲートに印加される。これら値は、選択トランジスタと右フローティングゲートトランジスタとの間のチャネル領域内に高電界を生じさせる。この結果、ソースから入った電子が、プログラミング電圧に応答して（右）フローティングゲート内に注入されることになる。左フローティングゲートをプログラムするために、ソースおよびドレインがそうであるように左および右コントロールゲートの役割も反対にされる。
【００３５】
図１に示されているように、隣接する記憶ユニットを同時にプログラムすることができるようにアレイをバイアスすることができる。例えば、フローティングゲートトランジスタα0 ，α3 の双方は、プログラミング中にビットラインＢＬα1 をソースラインとして用いる。このことにより、様々なラインをどのようにバイアスしたかに基づいて、かつ速度および精度要件に従って、これら２つのトランジスタを一緒にプログラムするか或いは異なる実装例で別々にプログラムすることができる。
【００３６】
Ｃ31L およびＣ31R のそれぞれの結合によりまたはチャネル消去などの別の方法により左および右フローティングゲートの双方を消去するように消去電圧を選択ゲートに印加することによってフローティングゲートトランジスタを消去することができる。消去およびその他の動作に関するさらなる詳細は、前に参照により援用されている米国特許第５，７１２，１８０号（特許文献７）に示されている。そこで記載されているように、読み出しまたは検証動作の感知処理では、感知されていない記憶ユニット内のトランジスタは完全にオンに転換され、感知された状態を有するトランジスタを当該技術分野において知られている様々な技術により処理することができる。チャネル消去は、ＮＡＮＤ構造に即しているが、前に援用されている米国特許出願第０９／８９３，２７７号（特許文献１２）にさらに記載されている。多くの感知技術は、２００２年１月１８日に出願されたニーマ・モクレシー、ダニエル・シー・グッターマンおよびジェフリー・ゴングワーによる「一時的な煽動を用いるトランジスタおよび小形装置の雑音低減技術」という米国特許出願（米国特許第６，８５０，４４１号）（特許文献２１）に記載されている。セルが属する可能なデータ状態のどれかを、例えば二進探索により決定する代わりに、検証処理がセルの状態を表すパラメータを目標値に対して比較するという点で、検証処理はデータ読み出し処理とは異なっている。
【００３７】
本発明に戻って、様々な態様は、１）複数の記憶ユニットの大規模な並列書き込み、２）１記憶ユニットあたりに多少低い速度またはプログラマビリティの可能な費用でピークおよび平均累積出力を管理するように各記憶ユニットに対して書き込み中に電流を制限すること、３）各記憶ユニットが目標状態に達すると、プログラミングを終了した各記憶ユニットと記憶ユニットの電流引き込みとをロックアウトすること、４）依然としてプログラムされるこのような記憶ユニットの数が所定の限界値の下に行った後でおよび／またはプログラミングパルスの数を超えた後で、電流制限の大きさを減少させて（すなわち、記憶ユニット電流を増大させて）、プログラミング速度／プログラマビリティを増大させることを含む。記憶ユニットの数が、進行する目標値より下に減少するにつれて、これら概念を漸次適用することができる。
【００３８】
１記憶ユニットあたりの瞬間的および平均的なプログラミング電流を制限するために、一定の電流シンクはプログラミング電流を制限するように作用する。図１〜３の例では、一定の電流シンクは、ソース電圧を効果的に上昇させることによりドレイン−ソース間のプログラミング電流を制限する。この正のソース電圧はドレイン−ソース間の電位差ＶDSを減少させ、各記憶ユニットのソースとドレインとの間で直列に存在する３つのトランジスタ（２つのフローティングゲートトランジスタと１つの選択トランジスタ）のすべてのしきい値電圧を基板効果により増大させ、これによりプログラミング電流を減少させる。そうすることで、記憶ユニットの最大の達成可能なコントロールゲートしきい値電圧またはステアリングゲートしきい値電圧も制限する。各プログラミングユニット内（例えば、セクタまたはプログラミングブロック）では、プログラムしにくい少数のセルが存在する可能性がある。大きいメモリしきい値ウインドウを有するために、これらセルを高いしきい値電圧にプログラムすることができる。
【００３９】
一実施形態では、ある数の最大コントロールゲートプログラミングパルスが既に印加された後でプログラミングからまだロックアウトされていない最後のわずかな記憶ユニットに印加される最後の数個のパルスに対する一定の電流条件を動的に引き上げることにより、これらプログラムしにくい記憶ユニットを必須の高いしきい値電圧にプログラムすることが可能となる。ソースデバイアスが、プログラミング阻害条件をとることに依存すれば、接地にされたソースでプログラミングの周波数を限定して阻害機構を最小限に抑えることができる。接地にされたソースのプログラミング事象の周波数を監視するのにイベントカウンタを投入することができる。図４Ａは、図１の実施形態による記憶ユニット４０１および電流制限器４０３の最初の例示的な実施形態を示す。この例では、記憶ユニット４０１はビットライン４３３，４３１間にノードＡ，Ｄでそれぞれ接続され、挿入された選択トランジスタ４１３にノードＢ，Ｃによりそれぞれ接続されるフローティングゲートトランジスタ４１１，４１５により構成されている。前述したように、記憶ユニット４０１を、ＮＡＮＤストリングなどの別のフローティングゲート記憶ユニットタイプまたはより一般的に非フローティングゲート技術に基づくユニットで代わりに構成することができる。例示的な記憶ユニット４０１は本発明の態様に用いられ、これら様々な代替案の対応する動作は、前に示した対応する参考文献で詳細に説明されている。
【００４０】
図４Ａに示されているように、プログラムされるか或いは読み出されるフローティングゲートはトランジスタ４１５であり、通常のプログラミングに対するスイッチ４２１，４６１の位置を示す。トランジスタ４１５を読み出すか或いは検証する場合、ノードＡは接地された読み出し用のソースであり、ノードＤはセンス増幅器により駆動される読み出し用のドレインであり、電流制限器４０３はノードＤから切断され、このことは、読み出し／検証モード中にスイッチ４２１が浮動位置にあるということを意味する。単極／三接点スイッチ４２１をボックス４０３内に示す。通常のプログラミング中にスイッチ４２１はノードＤをトランジスタ４４３のドレイン（図４Ａに示す位置）に接続し、最後のわずかなプログラミングパルス中に電流制限条件が引き上げられると、ノードＤは接地（右側の位置）に接続され、読み出し／検証中にノードＤは事実上電流シンクをノードＤから切断する（中央位置により表される）スイッチ４２１のフローティングの脚部に接続される。センス増幅器とノードＤとの間に接続される単極／単投スイッチ４６１は、読み出し中に閉じられ、プログラミング中に開放される。プログラミング中にノードＤはプログラミング用のソースであり、センス増幅器はノードＤから切断され、電流シンク４０３はノードＤに接続される。
【００４１】
トランジスタ４１５のフローティングゲートへのソース側注入によるメモリセル４１５の典型的なプログラミング処理では、ノードＡは、ビットライン４３３上のレベルを上昇させることにより高電圧に設定される。トランジスタ４１１，４１５は、それぞれのコントロールゲートに前述した電圧を用いてオンに転換される。トランジスタ４１３は、０．５ボルト〜数ボルトだけしきい値電圧を超えるレベルでこの選択トランジスタをオンに転換するのに充分な高いワードライン（すなわち、選択ゲート）電圧を印加することによりオンに転換される。プログラミング中にノードＤ（すなわち、プログラミング用のソース）は通常、電流制限器４０３に接続されているが、電流制限器を回避すべきである場合、ノードＤは接地にされる。この場合、記憶ユニット全体にまたがる電圧はＶA −ＶD であり、プログラムされるトランジスタ４１５のチャネルにまたがる電圧は、トランジスタ４１１，４１３にわたる降下に起因してＶA −ＶB に対して幾分少ない。スイッチ４２１がノードＤを接地に接続している場合、全電圧ＶA は記憶ユニット４０１の両端間に設定される（ここで、この考察に関して、ＶD を接地から離しておく実際の回路に見られる他の電圧降下および過渡事象は無視する）。トランジスタ４１５をプログラムするために、チャネルを通して電流ＩDSを流し、電荷をフローティングゲート内に蓄えさせるプログラミング電圧でコントロールゲートにパルスが印加される。ノードＤがスイッチ４２１を介して接地に接続されている場合、ＩDSは主に規制されない。
【００４２】
前述したように、回路に流れる電流の量を制御するために、電流制限器４０３が用いられる。ノードＤがスイッチ４２１によりトランジスタ４４３を介して接地に接続されている場合、ＩDSは値Ｉprogと同じような大きさとなるように制限される。電流の流れが制限されると、ノードＤ上の電圧は上昇し、基板効果が、選択ゲート４１３を通って流れる電流を妨げることにより、３つのトランジスタのすべての電流の流れを制限することになる。２つのフローティングゲートトランジスタ４１１，４１５は、電流に対する妨げを阻止するために、プログラミング中にそれぞれのしきい値をかなり上回ってバイアスされる。一定の電流シンク４０３の電流制限動作は、基板効果によって選択ゲートトランジスタのしきい値電圧を主として上昇させることにより達成される。電流制限が関与していてもしていなくても、選択トランジスタは、ノードＡからノードＤまで電流を制限する１つのトランジスタである。
【００４３】
例示的な実施形態では、ＮＭＯＳトランジスタ４４３，４４５の電流ミラーが用いられる。スイッチ４２１，４６１の配置は、ブロックＲ／Ｗ４５１により制御される。実際の実装例では、スイッチ４２１は２つのトランジスタで構成することができる。一方のトランジスタはノードＤと接地との間にあり、このトランジスタのゲートは４５０により制御され、他方のトランジスタはノードＤと４４３のドレインとの間にあり、このトランジスタのゲートも４５０により制御される。スイッチ４６１は、ノードＤとセンス増幅器との間のトランジスタでもあり、このトランジスタのゲートも４５０により制御される。スイッチが２つのノード間に配置されている場合、このスイッチは２つのノードに接続される置き換え可能なソースおよびドレインである。論点が生じないために、これらトランジスタをオンに転換するタイミングは、一方がオンに転換される前に他方がオフに転換されるようになっていなければならない。スイッチ４２１の配置に依存して、記憶ユニット４０１を通る電流は、Ｉprogと同じような大きさとなるように制限されるか或いは制限されない。一般に、接続アースまたは最大許容流量を表すＩprog,nのいずれかで利用することができる幾つかの制限Ｉprog,1≦Ｉprog,2≦．．≦Ｉprog,nがある場合がある。このことにより、記憶ユニット中の電流の流れがこれらｎまたはｎ＋１個の値のいずれかとすることができる。
【００４４】
記憶ユニット４０１は、例えばα2 およびα3 を含む図１の記憶ユニットのいずれかに対応することができ、この場合、ビットライン４３１，４３３はそれぞれＢＬα1 ，ＢＬα2 に対応し、電流制限器４０３は電流制限器Ｉα1,lim １０３に対応する。このような電流制限器がプログラミング用のソースとして作用する場合、アレイの各ビットラインはこのような電流制限器に接続可能である。読み出し、書き込みおよび対応する制御回路および電流制限器へのそれら接続部は、図１には示されていない。
【００４５】
４０３などの電流制限器の各々は、複数のビットラインに同時に使用することができるようにする多くの脚部を有することができる。各ソースラインの最大レベルを独立して制御することができるように、これらの各々を独立して制御することができる。説明したように、多数の記憶ユニット、場合によっては無数の記憶ユニットが並列にプログラムされる。個々の記憶ユニットにより見られるようなこの処理を図４に対して説明する。通常、電流ミラーはたった１つの入力トランジスタ４４５と、４４３のような無数の出力トランジスタとを有し、ここで同時にプログラムされる多数のセルの各々が１つの出力トランジスタを有する。このように、例えば１μＡの入力電流は無数のセルにわたって償却される。しかし、各セルがそれ自体の入力および出力トランジスタを持っていれば、ダイ寸法が増大するだけでなく、個別のミラーの入力トランジスタの１μＡの累積効果のために、電流消費も増大する。
【００４６】
図４Ａに戻って、プログラミング処理の開始には、記憶ユニットをプログラムするためにバイアスし、電流レベルを制限器４０３によりＩprog（或いは、２つ以上の制限を用いれば、Ｉprog,1）に制限する。次に、センス増幅器４５３を用いて感知動作で散在されるトランジスタ４１５のフローティングゲートを同じ水準にする追加の電荷を蓄えるようにトランジスタ４１５のコントロールゲートにパルスを印加して、記憶ユニットの状態を目標値に対して比較する。目標値に対して記憶ユニットを検証したならば、例えば、ノードＤ上の電圧レベルをかなり上昇させることにより、さらなるプログラミングから記憶ユニットをロックアウトすることができる。記憶ユニットを検証しなければ、処理を続ける。記憶ユニットを検証し、ロックアウトされれば、プログラムされる記憶ユニットの数と、対応する消費されるプログラミング電流が減少する。依然としてプログラムされるセルの数がある数よりも下がると、絶対数または割合、或いは（イベントカウンタ４５１により決定されるような）パルスのある数の後、或いはこれら２つの組み合わせのいずれかの表現で、これら残りのプログラムしにくいセルへの電流制限を上昇させることができる。対応する電流制限器４０３内のスイッチ４２１はノードＤを接地に接続することができる。次に、プログラミングが終了するまで或いはプログラム不可能で欠陥のある記憶ユニットを見つけるまで処理を続ける。後者の場合では、この記憶ユニットをマップアウトする。複数の限度を用いれば、電流制限のこの動的な上昇をＩprog,1，Ｉprog,2，．．．，Ｉprog,nにより漸次処理することができる。
【００４７】
図４Ｂは、図４Ａの実施形態の変形例であるその他の実施形態を示す。この場合、幾つかの電流値Ｉprog,iは制限回路４０３に利用することができ、ここでｉ＝１，．．．，ｎであり、ｎ≧２、Ｉprog,1≦Ｉprog,2≦．．≦Ｉprog,nである。ノードＤはプログラミング中にトランジスタ４４３のドレインに常に接続され、スイッチ４２１は単極／単投スイッチでさえあれば充分である。一定の電流シンクを用いる通常のプログラミングから接地にされたノードＤへの移行は、トランジスタの４４５のドレインノードに供給されるミラー入力電流Ｉprog,iを逐次増大することにより、より一層漸次的な移行にすることができる。例えば、コントロールゲート電圧がパルスからパルスまで階段状になっている限り、Ｉprog,1を１μＡに設定することができる。しかし、プログラミングコントロールゲート電圧が、例えば１２Ｖの最大値に達している場合、充分にプログラムされていない幾つかのセルが依然として残っていれば、次のプログラミングパルスを同じ最大コントロールゲート電圧とすることができるが、電流制限を１セルあたりにＩprog,1＝１μＡから１セルあたりにＩprog,2＝２μＡへ緩和でき、次のパルスを例えば１セルあたりにＩprog,3＝４μＡの電流シンク値で印加することができる。このことは、一斉に電流制限を完全に引き上げることよりも漸次的に移行させる。漸次的な方法の利点は、電流制限されていないプログラミングパルスを最初に印加する際のオーバープログラミングの可能性が少ないことである。図４Ｂの漸次的な移行方法は、（独立して駆動されるコントロールゲート構造体とは対照的に）共通して駆動されるコントロールゲートを用いる構造体で容易に実施される。というのは、同時にプログラムされるセルのすべてが最大コントロールゲート状態に同時に達するためであり、このことは独立して駆動されるコントロールゲート構造体の場合ではない。
【００４８】
図４Ａ，４Ｂでは、スイッチ４２１，４６１を、コントローラまたはブロック４５１，４５３により線図的に表されているメモリチップ上の内部周辺回路により制御することができる。高速動作に対して、コントローラが、プログラムしにくいセルの存在に決して気付くべきではなく、これらセルをプログラムしようと試みることもちろんであることが通常望ましい。このように、コントローラは、このコントローラにトランスペアレントなすべてのその後の動作を伴って、プログラムされるべきデータと、データが到達すべきアドレスと、プログラミングを開始するためのメモリチップへの命令とをシフトインするだけで足りる。プログラミングが終了するまで、メモリチップの内部周辺回路は独立し、プログラミングが終了すると、メモリチップは、レディー／ビジー（ＲＥＡＤＹ／ＢＵＳＹ）信号の状態を変更することによりプログラミングが終了したことをコントローラに伝達する。
【００４９】
図５は、本発明の例示的な実施形態に関するフローチャートであり、この場合、図１〜４に示すタイプの記憶素子を有するメモリに粗い−細かいプログラミング技術を用いる。粗いモードおよび細かいモードを有するプログラミング技術の使用は、本願明細書において参照により援用されている２００１年２月２６日出願の米国特許出願第０９／７９３，３７０号（特許文献２２）に記載されている。
【００５０】
個々の粗い目標しきい値に対して、プログラミングブロックに属するすべてのセルを並列に検証する任意のステップ５０１で処理が始まる。共通して駆動されるステアリング構造体では、この検証およびその後の検証を一連の下位検証に分解する必要があり、これら下位検証の各々は、同じ目標状態に対してセルのグループを検証する。同じプログラミングブロックに属するセルのグループのステアリングゲートのすべてが相互に関連する場合、例えば、状態４にプログラムされるべきそれらの幾つかに２ボルトを同時に印加している間は、状態２にプログラムするように定められる別の幾つかに１ボルトを印加しようがない。従って、各プログラミングパルスの後、下位検証のすべてまたは少なくとも１つのサブセットを実行しなければならない。１セルあたりに８状態の設計では、各プログラミングパルスに続いて７つの検証動作が必要であり、１番目の検証動作は状態０と１とを区別し、２番目の検証動作は状態１と２とを区別し、７番目の検証動作は６と７とを区別する。適切なプログラム検証技術は、本願明細書において参照により援用されている２００２年１２月５日出願の米国特許出願第１０／３１４，０５５号（特許文献２３）にさらに記載されている。セルの状態を示すパラメータ値は典型的には電流または電圧であり、前に参照により援用されている「一時的な煽動を用いるトランジスタおよび小形装置の雑音低減技術」という米国特許出願（特許第６，８５０，４４１号）（特許文献２１）に記載されているように目標値に対して比較される。ブロックが前もってプログラムされていれば、これより先に消去処理があり、実施形態に依存して、消去処理に続いて以下でさらに説明されるようなソフトプログラミング処理がある。記憶ユニットを粗い基準値に対して検証するならば、ステップ５２５の細かいモードに処理が切り替わり、検証しなければ、処理はステップ５０３へ進む。
【００５１】
プログラミングを必要とする記憶ユニットを、例えばフローティングゲートトランジスタセルのソースおよびドレインにまたがって電圧をかけることによりバイアスし、電流を第１のレベルに制限し、フローティングゲートセルのコントロールゲートにパルスを印加するなどのプログラミングがステップ５０５で生じる。この後に、別の粗い検証（５０５）が続き、この場合も、目標の基準が満たされれば、ステップ５２５へ進む。セルを検証しなければ、コントロールゲートのプログラミング電圧を増大し、別のパルスを印加し（５０９）、これに続いて検証ステップ５０５に戻る。ステップ５０５と５０９との間において、ステップ５０７は、最大コントロールゲートプログラミング電圧に達したかをチェックする。検証するまで或いは最大コントロールゲートプログラミング電圧に達するまで、ステップ５０５，５０７，５０９のループが継続し、検証すれば、処理をステップ５２５へ進め、最大コントロールゲートプログラミング電圧に達すれば、処理をステップ５１１へ進める。
【００５２】
ステップ５１１，５１３，５１５はループを形成し、このループでは、コントロールゲートプログラミング電圧を最大値に保ちながら、電流制限を引き上げる。その他の実施形態では、電圧を引き下げ、ステップ５０５〜５０９のループ中のようなステップでの最大値まで上昇し返すことができ、所定の電流制限／最大電圧の組み合わせの２つ以上のパルスを用いるか或いはこれらの組み合わせを用いることができる。ステップ５１１で電流シンクの値をまずチェックし、その後高い値が得られれば、ステップ５１３で増分させ、ステップ５１５で別の粗い検証が続くことになる。ステップ５１１で最大電流シンク値に達すれば、処理はステップ５１７に進む。
【００５３】
ステップ５１７，５１９，５２１，５２３は、最大コントロールゲートプログラミング電圧および最大プログラミング電流のパルスを多くの回数（ＮCmax）記憶ユニットに印加することを可能にさせる。ステップ５１７でこのようなパルスの数ＮC を増分させ、これに続いて、パルスの数ＮC が最大値ＮCmaxを超えたかどうかをチェックし（５１９）、超えていなければ、パルスを印加する（５２１）。セルを検証するか或いはこれらの条件でパルスの最大数に達すれば、処理がステップ５２５へ進む。
【００５４】
ステップ５２５は、細かい目標パラメータ値における最初の検証であり、随意である。セルを検証しなければ、コントロールゲート電圧を下げ、細かいプログラミング処理がステップ５２９で始まる。ステップ５３１〜５５１は、粗いプログラミングフェーズでの対応するステップと同じである。しかし、セルを細かい検証ステップ（ステップ５２５，５３１，５４１，５５１）のいずれかで検証したならば、ステップ５２７でセルをロックアウトする。また、ステップ５４５で、最大コントロールゲートプログラミング電圧および最大プログラミング電流のパルスの最大数（ＮF ）が制限（ＮFmax）を超えていれば、プログラミングは失敗に終わり、対応するセルまたはセルが属するすべてのセクタをステップ５４７でマップアウトする。
【００５５】
本発明の様々な態様を消去回復として別の名称で知られているソフトプログラミングに適用することができる。定義からして、フラッシュセル消去は、セルの少なくとも１つのセクタのすべての消去を必要とする。このセクタのすべては通常、ワードラインである。この共通ワードラインの様々なセルの消去速度の相違に起因して、セルはしばしば消去された状態を確実に示すのに必要とされる最小の下側しきい値電圧を超えて消去するおそれがある。ソフトプログラミングは、実際のデータプログラミング前に、過度に消去されるセルのしきい値を徐々に上昇させるのに用いられる技術である。これら技術の幾つかに関するさらなる詳細を、米国特許第５，１７２，３３８号（特許文献２）および米国特許第５，２７２，６６９号（特許文献２４）で見つけることができる。これら双方の特許はサンデスク  コーポレイションに譲渡され、本願明細書において参照により援用されている。図１〜４の例示的な実施形態に特に適用されるソフトプログラミングの態様は、前に本願明細書において参照により援用されている２００１年５月２５日出願の米国特許出願第０９／８６５，３２０号（特許文献１４）に提示されている。
【００５６】
メモリアレイでは、論理セクタから既にマップアウトされ、電流制限が関与するソースデバイアス状況の下でソフトプログラムしにくい欠陥セルが存在するおそれがある。このようなセルが、過度に消去される状態でアレイ内に存在すれば、これらセルをデータでプログラムしない。これらセルが過度に消去されたものであるので、これらは寄生電流経路を生じさせるおそれがある。これらセルがプログラムしにくければ、最低レベルの電流制限を持つ標準のソフトプログラミング動作が、過度に消去された状況からセルを取り出すのに充分でない可能性がある。これらセルのしきい値を充分に上昇させるために、本発明をソフトプログラミング処理に適用することができる。これらメモリセルを、接地にされたソースでソフトプログラムすることができるので、（オフされるためのものである）除外された過度に消去されているメモリセルが実際に導通する際に、読み出しエラーを導く寄生電流経路を除去する。本発明の別の実装例のように、第１の制限および接地にされたソース間で１つ以上の中間電流制限を用いることができる。
【００５７】
本発明の様々な態様を具体的な例示の実施形態に関して説明してきたが、本発明は添付の特許請求の範囲の全範囲内でその権利が保護されるべきであることが理解されよう。
【図面の簡単な説明】
【００５８】
【図１】本発明が用いられるメモリアレイの例示的な実施形態である。
【図２Ａ】図１の実施形態のメモリアレイの詳細図である。
【図２Ｂ】図１の実施形態のメモリアレイの詳細図である。
【図３Ａ】図１の実施形態のメモリアレイの詳細図である。
【図３Ｂ】図１の実施形態のメモリアレイの詳細図である。
【図４Ａ】図１の記憶ユニットおよび電流制限器の詳細図である。
【図４Ｂ】図１の記憶ユニットおよび電流制限器の詳細図である。
【図５】本発明の一実施形態の動作を示すフローチャートである。
【図１】
2006518530.tif 000003
【図２Ａ】
2006518530.tif 000004
【図２Ｂ】
2006518530.tif 000005
【図３Ａ】
2006518530.tif 000006
【図３Ｂ】
2006518530.tif 000007
2006518530.tif 000008
【図５】
2006518530.tif 000009
【国際調査報告】
2006518530.tif 000010
2006518530.tif 000011
2006518530.tif 000012