(57)【要約】  非揮発性記憶要素の組にプログラムパルスが付加される。このプログラムパルスの大きさは、非揮発性記憶要素がオーバープログラムされないよう十分に低く選択される。非揮発性記憶要素は、少なくとも１つ（又は別の最小数）の揮発性記憶要素がテスト閾値を超えてプログラムされたかどうかを決定するべくテストされる。そうである場合には、非揮発性記憶要素の組は、１つ又は複数の高速プログラミング非揮発性記憶要素を設けていると考慮され、それ以降のプログラムパルスにより小さい増分値を用いてさらなるプログラミングが実行される。１セットの非揮発性メモリ要素が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいると決定されなかった場合には、それ以降のプログラムパルスにはより大きな増分値を用いられる。これは、１つ（又は別の何らかの最小数）の非揮発性記憶要素がテスト閾値を超えてプログラムされて、より小さな増分値が以降のプログラムパルスに使用されるようになる時点まで継続される。【選択図】図１４
2008521153.tif 000002
【特許請求の範囲】
【請求項１】
非揮発性記憶装置をプログラミングする方法であって、
非揮発性記憶要素の組が、少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定する決定工程と、
前記非揮発性記憶要素の組が少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる場合には、前記非揮発性記憶要素の組を低速上昇制御ゲート電圧信号でプログラミングする工程と、
前記非揮発性記憶要素の組が少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいない場合には、前記非揮発性記憶要素の組を高速上昇制御ゲート電圧信号でプログラミングする工程と、を備えており、
前記最小数の高速プログラミング非揮発性記憶要素が、前記非揮発性記憶要素の組のうちプログラムが完了した全ての非揮発性記憶要素よりも少ないことを特徴とする方法。
【請求項２】
前記非揮発性記憶要素の組を前記高速上昇制御ゲート電圧信号でプログラミングする前記工程は、
前記非揮発性記憶要素の組の第１サブセットが第１レベルに達するまで、前記高速上昇制御ゲート電圧信号により前記非揮発性記憶要素の組をプログラミングし、次に、少なくとも前記非揮発性記憶要素の組の大きなサブセットが１つ又は複数の目標のレベルに達するまで、前記低速上昇制御ゲート電圧信号で前記非揮発性記憶要素の組をプログラミングすることを特徴とする請求項１に記載の方法。
【請求項３】
前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする前記工程は、
雑プログラミングモードとファインプログラミングモードを実行する工程を有しており、
前記雑プログラミングモードは、低ビットライン電圧を使用する工程を有し、
前記ファインプログラミングモードは、高ビットライン電圧を使用する工程を有していることを特徴とする請求項２に記載の方法。
【請求項４】
前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする工程は、
前記非揮発性記憶要素の各々が１つ又は複数の雑／ファインベリファイレベルに達するまで、前記非揮発性記憶要素の組を第１ビットライン電圧でプログラミングする工程と、
少なくとも前記非揮発性記憶要素の第２サブセットが前記１つ又は複数の目標レベルに達するまで、前記非揮発性記憶要素の組を第２ビットライン電圧でプログラミングする工程と、を有しており、
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項２に記載の方法。
【請求項５】
前記決定工程は、
前記非揮発性記憶要素の組にプログラムパルスを付加し、前記非揮発性記憶要素の組の少なくとも１つが所定のプログラミングレベルに達したか否かを決定する工程を有しており、
前記プログラムパルスは、前記プログラムパルスによってオーバープログラミングされる前記非揮発性記憶要素の組の数がゼロになる、又は大幅に低減されるように十分に低く設定されていることを特徴とする請求項１に記載の方法。
【請求項６】
前記低速上昇制御ゲート電圧信号は、第１の比率で上昇する大きさのパルスの組を含んでおり、
前記高速上昇制御ゲート電圧信号は、第２の比率で上昇した後に前記第１の比率で上昇する大きさのパルスの組を含んでおり、
前記第１の比率は前記第２の比率よりも小さいことを特徴とする請求項１に記載の方法。
【請求項７】
前記非揮発性記憶要素の組の全ての非揮発性記憶要素が共通の制御ゲート電圧信号を受信することを特徴とする請求項１に記載の方法。
【請求項８】
前記最小数の高速プログラミング非揮発性記憶要素は、１つの高速プログラミング非揮発性記憶要素であることを特徴とする請求項１に記載の方法。
【請求項９】
前記非揮発性記憶要素の組が最小数の１つ又は複数の高速プログラミング非揮発性記憶要素を含む場合には、前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする前記工程は、
前記制御ゲート電圧を低下させる工程を有していることを特徴とする請求項１に記載の方法。
【請求項１０】
前記高速上昇制御ゲート電圧信号で前記非揮発性記憶要素の組をプログラミングする前記工程は、
前記非揮発性記憶要素の組のサブセットが第１レベルに達するまで、前記制御ゲート電圧信号の上昇を継続する工程と、
前記非揮発性記憶要素の組の前記サブセットが前記第１レベルに達した後に、前記制御ゲート電圧信号を低下させる工程と、
次に、前記非揮発性記憶要素の組の全ての又はほぼ全ての非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記非揮発性メモリ記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする工程と、を有していることを特徴とする請求項９に記載の方法。
【請求項１１】
前記制御ゲート電圧信号は、パルスの組を備えていることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記非揮発性記憶要素の組は、１ページのデータに対応していることを特徴とする請求項１に記載の方法。
【請求項１３】
前記非揮発性記憶要素の組は、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１４】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１５】
前記非揮発性記憶要素の組は、ＮＡＮＤマルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１６】
非揮発性記憶システムであって、
データのユニットに関連している非揮発性記憶要素の組と、
前記非揮発性記憶要素の組と通信する１つ又は複数の制御回路とを備えており、
前記１つ又は複数の制御回路は、プログラムされるデータのユニットのうちどのデータのユニットが少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるかを決定しており、
前記１つ又は複数の制御回路は、少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを高速上昇制御ゲート電圧信号でプログラムし、また、少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる前記データのユニットを低速上昇制御ゲート電圧信号によってプログラムしており、
特定のデータのユニットでは、前記最小数の高速プログラミング非揮発性記憶要素が、プログラミングが完了した非揮発性記憶要素の総数よりも少ないことを特徴とする非揮発性記憶システム。
【請求項１７】
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを前記高速昇制御ゲート電圧信号でプログラミングすることは、
非揮発性記憶要素のサブセットが第１レベルに達するまで、前記高速上昇制御ゲート電圧信号でプログラミングを行う工程と、
その後、前記低速上昇制御ゲート電圧信号でプログラミングを行う工程と、を有していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項１８】
その後、前記低速上昇制御ゲート信号でプログラミングする工程は、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの各々の非揮発性記憶要素が１つ又は複数の雑ベリファイレベルに達するまで、前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素を第１ビットライン電圧によってプログラミングする工程と、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素を第２ビットライン電圧によってプログラミングする工程と、を有しており、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素は、マルチ状態メモリ装置であることを特徴とする請求項１７に記載の非揮発性記憶システム。
【請求項１９】
プログラムされるデータのユニットのうちどのデータのユニットが少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定することは、以下の方法を実行することで、データのユニットの各々を別個にテストするテスト工程を有しており、その方法は、
データのユニットのための非揮発性記憶要素の組にプログラムパルスを付加する工程と、
前記非揮発性記憶要素の少なくとも１つが所定のプログラミングレベルに達したことを決定する工程と、を有しており、
前記プログラムパルスは、前記非揮発性記憶要素の組が前記プログラムパルスによってオーバープログラム状態とならないよう十分低く設定されていることを特徴とする請求項１７に記載の非揮発性記憶システム。
【請求項２０】
前記最小数の高速プログラミング非揮発性記憶要素は、１つの高速プログラミング非揮発性記憶要素であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２１】
前記少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる前記データのユニットを低速上昇制御ゲート電圧信号でプログラミングすることは、
最初に前記制御ゲート電圧を低下させる工程を有していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２２】
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを高速上昇制御ゲート電圧信号でプログラミングすることは、
特定のデータのユニットに関連した非揮発性記憶要素のサブセットが第１レベルに達するまで、前記制御ゲート電圧信号の上昇を継続する工程と、
前記制御ゲート電圧信号を低下させる工程と、
その後、前記特定のデータのユニットに関連した前記非揮発性要素が１つ又は複数の目標レベルに達するまで、前記特定のデータのユニットに関連した前記非揮発性記憶要素を前記低速上昇制御ゲート電圧信号でプログラミングする工程と、を有していることを特徴とする請求項２１に記載の非揮発性記憶システム。
【請求項２３】
前記制御ゲート電圧信号は、パルスの組を備えていることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２４】
前記データのユニットは、ページ群のデータに関連していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２５】
前記非揮発性記憶要素の組は、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２６】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２７】
前記非揮発性記憶要素の組は、ＮＡＮＤマルチ状態フラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２８】
前記１つ又は複数の制御回路は、命令回路、状態マシン、行群制御回路、列群制御回路、ウェル制御回路、ソース制御回路又はデータＩ/Ｏ回路のうち任意の１つ又は組合せを含んでいることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２９】
非揮発性記憶システムであって、
非揮発性記憶要素の組と、
前記非揮発性記憶要素の組と通信する１つ又は複数の制御回路とを備えており、
前記１つ又は複数の制御回路は、非揮発性記憶要素の組が少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定しており、
前記１つ又は複数の制御回路は、前記非揮発性記憶要素の組が前記最小数の高速プログラミング非揮発性記憶要素を含んでいない場合には、ワードラインプログラム信号用の第１増分レベルを使用して、前記非揮発性記憶要素の組をプログラムしており、
前記１つ又は複数の制御回路は、前記非揮発性記憶要素の組が前記最小数の高速プログラミング非揮発性記憶要素を含んでいる場合には、前記ワードラインプログラム信号用の前記第１増分レベルではなく、前記ワードラインプログラム信号用の第２増分レベルを使用して、前記非揮発性記憶要素の組をプログラムしており、
前記第２増分信号は、前記第１増分信号よりも小さく、
前記最小数は、前記非揮発性記憶要素の組のためにプログラムされている全ての非揮発性記憶要素の数よりも小さいことを特徴とする非揮発性記憶システム。
【請求項３０】
前記非揮発性記憶要素の組が前記最小数の高速プログラミング非揮発性記憶要素を含んでいない場合には、
前記１つ又は複数の制御回路は、前記非揮発性記憶要素の組のサブセットが第１ベリファイレベルに達するまで、前記ワードラインプログラム信号用の前記第１増分レベルを使用して、前記非揮発性記憶要素の組をプログラムしており、
前記１つ又は複数の制御回路は、前記非揮発性記憶要素の組の全て又はほぼ全ての非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記ワードラインプログラム信号用の前記第２増分レベルを使用して、前記非揮発性記憶要素の組をプログラムしていることを特徴とする請求項２９に記載の非揮発性記憶システム。
【請求項３１】
前記非揮発性記憶要素の組が最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定することは、
前記非揮発性記憶要素の組にプログラムパルスを付加し、前記非揮発性記憶要素の組が所定のプログラミングレベルに達したか否かを決定する工程を有していることを特徴とする請求項２９に記載の非揮発性記憶システム。
【請求項３２】
前記最小数の１つ又は複数の高速プログラミング非揮発性記憶要素は、１つの高速プログラミング非揮発性記憶要素であることを特徴とする請求項２９に記載の非揮発性記憶システム。
【請求項３３】
前記非揮発性記憶要素の組は、ＮＡＮＤマルチ状態フラッシュメモリ装置であることを特徴とする請求項２９に記載の非揮発性記憶システム。
【請求項３４】
非揮発性記憶装置をプログラミングする方法であって、
非揮発性記憶要素の制御ゲートにプログラム電圧信号を付加する工程と、
最小数の前記非揮発性記憶要素が少なくとも第１レベルにプログラムされた場合に、前記プログラム電圧信号の上昇をより小さな増分によって継続し、前記非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記増加したプログラム電圧信号を前記非揮発性記憶要素の前記制御ゲートに付加する工程と、
前記最小数の前記非揮発性記憶要素が少なくとも前記第１レベルにプログラムされなかった場合には、前記プログラム電圧信号をより大きな増分で増加し続け、また、前記最小数の前記非揮発性記憶要素が少なくとも前記第１レベルにプログラムされるまで、前記増加したプログラム電圧信号を前記非揮発性記憶要素の前記制御ゲートに付加し、次に、前記プログラム電圧信号を前記より小さな増分で増加し続け、全て又はほぼ全ての非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記増加したプログラム電圧信号を前記非揮発性記憶要素の前記制御ゲートに付加する工程と、を備えており、
前記最小数の前記非揮発性記憶要素は、プログラミング中の非揮発性記憶要素の総数よりも小さいことを特徴とする方法。
【請求項３５】
前記プログラム電圧信号を前記より小さい増分で増加し続け、前記非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記増加したプログラム電圧信号を前記非揮発性記憶要素のための前記制御ゲートに付加する工程は、
雑プログラミングモード及びファインプログラミングモードを実行する工程を有しており、
前記雑プログラミングモードは、低ビットライン電圧を使用する工程を有し、
前記ファインプログラミングモードは、高ビットライン電圧を使用する工程を有していることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記プログラム電圧信号を前記より小さな増分で増加し続ける前記工程は、前記より小さな増分で増加する大きさのパルスの組を付加する工程を有しており、
前記プログラム電圧信号を前記より大きな増分で増加し続ける前記工程は、前記より大きな増分で増加する大きさのパルスの組を付加する工程を有していることを特徴とする請求項３４に記載の方法。
【請求項３７】
前記より小さな増分で前記プログラム電圧信号を増加し続ける工程は、前記プログラム電圧を低下させて、その後、前記プログラム電圧を前記より小さな増分で上昇させる工程を有していることを特徴とする請求項３４に記載の方法。
【請求項３８】
前記最小数の前記非揮発性記憶要素は、１つの非揮発性記憶要素であることを特徴とする請求項３４に記載の方法。
【請求項３９】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項３４に記載の方法。
【請求項４０】
非揮発性記憶装置をプログラミングする方法であって、
非揮発性記憶要素の組に第１プログラムパルスを付加する工程と、
前記非揮発性記憶要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定する工程と、
前記非揮発性記憶要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいる場合には、第１セットのプログラムパルスがより小さな増分量で増加している状態で、前記第１セットの１つ又は複数のプログラムパルスを前記非揮発性記憶要素の組に付加することで、前記非揮発性記憶要素の組をプログラミングする工程と、
前記非揮発性記憶要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいない場合には、第２セットのプログラムパルスがより大きな増分量で増加している状態で、前記第２セットの１つ又は複数のプログラムパルスを前記非揮発性記憶要素の組に付加することで、前記非揮発性記憶装置要素の組をプログラミングする工程と、を備えており、
前記第１プログラムパルスの大きさは、前記第１プログラムパルスの最中に、前記非揮発性記憶要素の組のいずれも（又はほぼいずれも）オーバープログラムされないよう十分に低く設定されていることを特徴とする方法。
【請求項４１】
前記非揮発性記憶要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定する工程は、前記非揮発性記憶要素の組の任意の１つが、高速プログラミング非揮発性記憶要素を測定するための閾値に達したか否かを決定する工程を有していることを特徴とする請求項４０に記載の方法。
【請求項４２】
前記非揮発性記憶要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を含んでいない場合には、前記第２組の１つ又は複数のプログラムパルスを前記非揮発性記憶要素に付加した後、第３セットのプログラムパルスを前記非揮発性記憶要素に付加する工程を有しており、
前記第３セットのプログラムパルスは、前記より小さい増分量で増加することを特徴とする請求項４１に記載の方法。
【請求項４３】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項４２に記載の方法。
【請求項４４】
前記第１セットの１つ又は複数のプログラムパルスを前記非揮発性記憶要素の組に付加することで前記非揮発性記憶要素をプログラミングする前記工程は、雑プログラミングモードとファインプログラミングモードを実行する工程を有していることを特徴とする請求項４３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は非揮発性メモリのプログラミングに関する。
【背景技術】
【０００２】
半導体メモリ装置は、様々な電子装置に使用されてポピュラーになっている。例えば、非揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及びその他の装置に使用されている。最も普及している非揮発性半導体メモリは、電気的消去プログラミングが可能な読み取り専用メモリ（ＥＥＰＲＯＭ）とフラッシュメモリである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリの両方は、半導体基板のチャネル領域から絶縁されているとともにチャネル領域の上に配置されているフローティングゲートを利用する。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲートの上に設けられているとともに、フローティングゲートから絶縁されている。トランジスタの閾電圧は、フローティングゲートに保持される電荷量によって制御される。即ち、トランジスタがソースとドレインの間を導通してターンオンする前に制御ゲートに付加されるべき最小限の電圧が、フローティングゲートの電荷レベルによって制御される。
【０００４】
ＥＥＰＲＯＭ又はフラッシュメモリ装置をプログラミングする場合、典型的には、制御ゲートにプログラム電圧が印加され、ビットラインが接地される。チャネルからの電子がフローティングゲートに注入される。フローティングゲート内に電子が蓄積すると、フローティングゲートが負電荷状態となり、メモリセルの閾電圧が上昇して、メモリセルがプログラム状態になる。プログラミングに関するさらなる情報は、２００３年３月５日出願の米国特許出願第１０／３７９，６０８号の「Self Boosting Technique」と、２００３年７月２９日出願の米国特許出願第１０／６２９，０６８号の「Detecting Over Programmed Memory」から得ることができる。両出願の全体は、本願明細書に参照として組み込まれる。
【０００５】
いくつかのＥＥＰＲＯＭとフラッシュメモリ装置は、２つの電荷範囲を保持するために使用されるフローティングゲートが設けられている。このために、メモリセルを２つの状態（消去された状態とプログラムされた状態）の間でプログラミング／消去することができる。例えば、図１は２つの閾電圧分布を表すグラフを示す。ｘ軸は閾電圧を表し、ｙ軸はメモリセルの数を表す。閾電圧分布２はゼロボルト未満である。一実施形態では、閾電圧分布２は、データ「１」を記憶する消去されたメモリセルに関連している。閾電圧分布４はゼロボルトよりも大きい。一実施形態では、閾電圧分布４は、データ「０」を記憶するプログラムされたメモリセルに関連している。
【０００６】
マルチ状態フラッシュメモリセルは、禁止された電圧範囲によって分離された複数の異なる許容された閾電圧範囲を特定することによって実現される。それぞれの異なる閾電圧範囲は、１組のデータビットの所定値に対応している。図２は、２ビットのデータ（例えば、４つのデータ状態）を記憶するメモリセルの閾電圧分布を例示している。一実施形態では、閾電圧分布２は、負の閾電圧レベルを備え、消去された状態のメモリセル（例えば「１１」を記憶する）を表す。閾電圧分布１０は、正の閾電圧レベルを備え、データ「１０」を記憶するメモリセルを表す。閾電圧分布１２は、データ「００」を記憶するメモリセルを表す。閾電圧分布１４は、「０１」を記憶するメモリセルを表す。別の実施形態では、それぞれの分布を上述のものとは異なるデータ状態と関連させることができる。いくつかの実施形態では（上記で例示したように）、これらのデータ値（例えば論理状態）は、グレーコードアサインメント（gray code assignment）を利用して、閾範囲に割り当てられるので、フローティングゲートの閾電圧が誤ってその近くのフィジカル状態にシフトしても、１論理ビットしか影響を受けない。メモリセルにプログラムされるデータとセルの閾電圧範囲の間の特定の関係は、メモリセルに採用されるデータエンコーディングスキーム（data encoding scheme）に依存する。例えば、米国特許第６，２２２，７６２号と、２００３年６月１３日出願の米国特許出願第１０／４６１，２４４号の「Tracking Cells For A Memory System」は、マルチ状態フラッシュメモリセルのための様々なデータエンコーディングスキームを開示している。これらの全体は、本願明細書に組み込まれる。さらに、本発明は２ビット以上のデータを記憶するメモリセルと共に利用することもできる。
【０００７】
閾電圧分布２、４は、ベリファイ動作を使用していない場合の、消去及びプログラムされた電圧分布を示す。これらの分布は、メモリセルを１つのシングルプログラミング又は消去パルスでプログラミング又は消去することで得られる。メモリアレイのサイズと製造工程の多様性に応じて、閾電圧分布４は、自然Ｖｔ幅として知られている特定の幅を備える。
【０００８】
図２に見られるように、分布１０、１２、１４（マルチ状態装置のプログラミングに関連するもの）は分布４の自然Ｖｔ幅よりもずっと狭くする必要がある。こうした幅の狭い閾電圧分布を達成するには、図３Ａ、図３Ｂ、図３Ｃで説明しているような複数のプログラミングパルスとベリファイ動作を使用できる。
【０００９】
図３Ａは、制御ゲートに一連のパルスとして付加されるプログラミング電圧信号Ｖｐｇｍを示す。パルスの大きさは、それぞれ連続したパルスにより、図３ＡにΔＶｐｇｍとして示す所定のステップサイズ（例えば０．２〜０．４ｖ）だけ増加される。パルスとパルスの間の期間にベリファイ動作が実行される。プログラム可能状態の数が増加するに従い、ベリファイ動作の数も増え、所要時間も長くなる。ベリファイの時間的負荷を低減するための１つの手段では、より効率的なベリファイプロセスを利用する。例えば、２００２年１２月５日出願の米国特許出願第１０／３１４０５５号の「Smart Verify for Multi-State Memories」には、効率的なベリファイプロセスが開示されている。この全体は、本願明細書に組み込まれる。実際には、図３Ａの複数のパルスは、ベリフィケーションを実行するための期間によって相互に離間している。しかし、図３では、ベリフィケーションのための期間を省略して読み易くしている。
【００１０】
図３Ｂは、プログラミング中のメモリセルに関連するビットラインに付加された電圧信号を示す。図３Ｃは、プログラミング中のメモリセルの閾電圧を示す。図３Ｃ中のグラフは読み易く滑らかになっている点に留意する。各プログラミングパルスの後にベリファイ動作が実行される（図示せず）。このベリファイ動作中、プログラムするメモリセルの閾電圧はチェックされる。閾電圧のメモリセルが目標値（例えばＶｖｅｒｉｆｙ）よりも大きい場合には、次のサイクルでは、（例えば時間ｔ４にて）ビットライン電圧を０ｖからＶｉｎｈｉｂｉｔに上昇させることで、このメモリセルのプログラミングを禁止する。
【００１１】
しかし、別の電子装置の場合では、可能な限り高速にプログラミングを実行するメモリ装置に対する顧客の要求がある。例えば、フラッシュメモリカードに画像を記憶するデジタルカメラのユーザは、写真と写真の間の切り替え時間が長いと感じている。適度な速度でプログラミングすることに加えて、マルチ状態メモリセルによる適切なデータの記憶を実現するためには、マルチ状態メモリセルの閾電圧レベルの複数の範囲を、十分なマージンで相互に離間させるべきである。これにより、明確な方法でメモリセルのレベルのプログラミングと読み出しを実行することができる。さらに、狭い閾電圧分布が奨励される。狭い閾電圧分布を達成する場合には一般的に小さなプログラミングステップを使用するので、セルの閾電圧のプログラミングがさらに遅くなる。所望の閾分布が狭くあればあるほど、ステップは小さくなり、プログラミングプロセスが遅くなる。
【００１２】
プログラミングプロセスをそれ程遅くせずに狭い閾分布を達成するための１つの解決法は、２フェーズのプログラミングプロセスを利用する。第１フェーズ、即ち雑プログラミングフェーズは、閾電圧をより高速な方法で上昇させ、狭い閾分布の達成を意識していない。第２フェーズ、即ちファインプログラミングフェーズは、目標の閾電圧に達するよう閾電圧をより遅い方法で上昇させ、より狭い電圧閾分布を達成する。雑／ファインプログラミング方法の１例は、米国特許６，６４３，１８８号から得られ、その全体は本願明細書に組み込まれる。
【００１３】
図４、図５は、雑／ファインプログラミング方法の１例のさらなる詳細を提供する。図４Ａ、図５Ａは、制御ゲートに付加されるプログラミングパルスＶｐｇｍを示す。図４Ｂ、図５Ｂは、プログラミング中であるメモリセルのためのビットライン電圧を示す。図４Ｃ、図５Ｃは、プログラミング中であるメモリセルの閾電圧を示す。この図４、図５の例では２つのベリファイレベルを使用しており、図中ではこれをＶｖｅｒ１、Ｖｖｅｒ２と示している。最終的な目標レベルはＶｖｅｒ１である。メモリセルの閾電圧がＶｖｅｒ１に達すると、このメモリセルに関連したビットラインに禁止電圧が印加され、メモリセルのそれ以上のプログラミングが禁止される。例えば、ビットライン電圧をＶｉｎｈｉｂｉｔへ上昇させることができる（図４Ｂ、図５Ｂを参照）。しかし、メモリセルが目標値Ｖｖｅｒ１に近い（しかしこれよりも低い）閾電圧に達すると、ビットラインに約０．３〜０．８ｖの特定のバイアス電圧が印加されることで、次のプログラミングパルス中における閾電圧のメモリセルへのシフトが遅くなる。次のプログラミングパルスの最中に閾電圧シフトの速度が遅くなることで、最終的な閾電圧分布を図３に示した方法の場合よりもさらに狭くすることが可能である。この方法を実現するために、Ｖｖｅｒ１のものよりも低い第２ベリファイレベルを使用する。図４、図５中では、この第２ベリファイレベルをＶｖｅｒ２として示している。メモリセルの閾電圧がＶｖｅｒ２よりも高く、Ｖｖｅｒｌよりも低い場合には、これ以降のプログラミングパルスでは、ビットラインにバイアスＶｓを付加することでメモリセルへの閾電圧シフトが低減される（図５Ｂ）。この場合、それぞれの状態に２つのベリファイ動作が必要である点に留意する。即ち、各状態に対応したＶｖｅｒ１に１つのベリファイ動作を実行し、各状態に対応したＶｖｅｒ２に１つのベリファイ動作を実行する。これによってメモリセルのプログラミングに要する合計時間が長くなるかもしれない。しかし、大きなΔＶｐｇｍステップサイズを使用することで工程のスピードアップを図ることができる。
【００１４】
図４Ａ、図４Ｂ、図４Ｃは、閾電圧が１つのプログラミングパルスでＶｖｅｒ２及びＶｖｅｒ１を超えるメモリセルの動作を示す。例えば、図４Ｃでは、ｔ２とｔ３の間に閾電圧がＶｖｅｒ２及びＶｖｅｒ１を通過することを示している。したがって、メモリセルは、ｔ３以前には雑フェーズにある。ｔ３の後に、メモリセルは禁止モードとなる。
【００１５】
図５Ａ、図５Ｂ、図５Ｃは、雑プログラミングフェーズとファインプログラミングフェーズの両方が利用されるメモリセルを示す。時間ｔ２とｔ３の間に、メモリセルの閾電圧がＶｖｅｒ２を通過する。メモリセルは、ｔ３以前には雑フェーズにある。ｔ３の後にビットライン電圧がＶｓに上昇して、メモリセルがファインフェーズに入る。ｔ３とｔ４の間にメモリセルの閾電圧がＶｖｅｒ１を通過すると、ビットライン電圧がＶｉｎｈｉｂｉｔへ上昇し、メモリセルのさらなるプログラミングが禁止される。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
非揮発性メモリ、特にマルチ状態メモリが経験する１つの問題は、オーバープログラミングの発生の可能性である。プログラミング工程中に、メモリセルが特定の目標状態にプログラミングされる。この目標状態は、特定の１組のデータを示す閾電圧範囲によって定義されている。メモリセルが特定の閾電圧範囲にプログラムされた場合、このセルの閾電圧はその範囲の最大許容閾電圧を越えてはならない。例えば、図２を見ると、メモリセルを目標の状態１０にプログラムする場合、メモリセル閾電圧をＶｖＩ以上に上昇させ、同時に、分布１０の最大許容閾電圧であるＶｍａｘ１未満に維持する必要がある。メモリセルの閾電圧がこの許容範囲を超えると、後でデータを読み出す際に障害が生じる可能性がある。この現象をオーバープログラミングと呼ぶ。場合によっては、エラー修正を使用して、オーバープログラミングによって生じたエラーを修正することができる。しかし、エラー修正で調整できないオーバープログラミングもある。さらに、エラー修正には時間がかかる。
【００１７】
図６は、消去された閾電圧分布２とプログラムされた閾電圧分布８０を示す。閾電圧分布８０は、通常よりも高速にプログラムできる、１セットの１つ又は複数のメモリセルを含んでいる。こうした高速メモリセルはオーバープログラムの候補である。例えば、１つのプログラムパルスの後に、図１の閾電圧分布４ではなく、１つ又は複数の高速セルを含んだメモリセルの集合体では、図６の閾電圧分布８０が得られる。閾電圧分布８０は高速メモリセル８２を含んでいる。
【００１８】
図７Ａ、図７Ｂ、図７Ｃは、オーバープログラムされる可能性のある高速メモリセルに伴った問題をさらに例示する。図７Ａは、２ビットのマルチ状態メモリセルの閾電圧分布２、１０、１２、１４を示す。図７Ｂは、自然消去された閾電圧分布２と、プログラムされた閾電圧分布８４を示す。一実施形態では、分布８４は、１つのプログラミングパルスの後に分布１０にプログラムされるメモリセルの集合体に関連している。図から分かるように、この分布は分布１０があるべき位置を越えて移動している。分布８４は１組の高速メモリセルを含んでおり、そのうちのいくつかは読み出しベリファイポイントＶｒＩを超えている。図７Ａに見られるように、読み出しベリファイポイントは、閾電圧分布１０と閾電圧分布１２を区別するために使用する電圧レベルである。そのため、１つのプログラミングパルスの終了後に、閾電圧分布８４内のいくつかのメモリセルには、その閾電圧分布がＶｒＩよりも大きいために既にエラーが生じている。プログラミング工程終了時には、閾電圧分布１０に入るべきこれらのメモリセルが、図７Ｃに示すように分布８６に入ってしまう傾向にある。閾電圧分布８６と図７Ａの閾電圧分布１０の違いは、閾電圧分布８６が、ＶｒＩを超える閾電圧を設けた１セットの高速メモリセル（分布の前端尾８６）を含んでいる点である。閾電圧がＶｒＩよりも高いこうした高速ビットは、その読み出し時にエラーを戻し得る。
【課題を解決するための手段】
【００１９】
ここで説明する技術は、オーバープログラミングを防止又は低減するための試みである。
【００２０】
一実施形態では、プログラムパルスが非揮発性記憶要素の組に付加される。プログラムパルスの大きさは、どの非揮発性記憶要素もオーバープログラムされないようにするために十分に低く選択される。少なくとも１つの非揮発性記憶要素（又は別の最少数）がテスト閾値を通過してプログラムされているか否かを決定するために、非揮発性記憶要素がテストされる。このとおりプログラムされている場合には、その非揮発性メモリ要素の組は、１つ又は複数の高速プログラミング非揮発性記憶要素を備えていると考慮され、以降のプログラムパルスでは、より小さい増分値を用いてさらなるプログラミングが実行される。非揮発性メモリ要素の組が１つ又は複数の高速プログラミング非揮発性記憶要素を備えていると決定されなかった場合には、以降のプログラミングパルスでは、１つの非揮発性記憶要素（又は別の最少数）がこのテスト閾値を超えてプログラムされるまで、より大きな増分値を用いる。このようにプログラムされた時点から、以降のプログラムパルスに、より小さい増分値を使用する。
【００２１】
本発明のこれらの目的とその他の目的と利点は、図面を参照して説明される以下の本発明の好適な実施形態からより明確となるだろう。
【発明を実施するための最良の形態】
【００２２】
本発明の実現に適したフラッシュメモリシステムの一例では、ＮＡＮＤ構造を利用する。このＮＡＮＤ構造は、選択した２つのゲートの間に直列配置された複数のトランジスタを備えている。直列配置されたトランジスタと選択ゲートはＮＡＮＤストリングと呼ばれる。図８は、１つのＮＡＮＤストリングを示す平面図である。図９は、これと同等の回路である。図８、図９に示したＮＡＮＤストリングは、４つのトランジスタ１００、１０２、１０４、１０６を具備し、これらは選択ゲート１２０と第２選択ゲート１２２の間に直列配置されている。選択ゲート１２０はＮＡＮＤストリングをビットライン接触部１２６に接続する。選択ゲート１２２はＮＡＮＤストリングをソースライン接触部１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧を印加することで制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧を印加することで制御される。各トランジスタ１００、１０２、１０４、１０６は、制御ゲートとフローティングゲートを備えている。トランジスタ１００は、制御ゲート１００ＣＧとフローティングゲート１００ＦＧを備えている。トランジスタ１０２は、制御ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備えている。トランジスタ１０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備えている。トランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備えている。制御ゲート１００ＣＧはワードラインＷＬ３に接続し、制御ゲート１０２ＣＧはワードラインＷＬ２に接続し、制御ゲート１０４ＣＧはワードラインＷＬ１に接続し、制御ゲート１０６ＣＧはワードラインＷＬ０に接続している。一実施形態では、トランジスタ１００，１０２，１０４，１０６は全てメモリセルである。別の実施形態では、メモリセルは複数のトランジスタを実装するか、又は図８、図９に示されたものとは異なるものであってよい。選択ゲート１２０は選択ラインＳＧＤに接続し、選択ゲート１２２は選択ラインＳＧＳに接続している。
【００２３】
図１０は、上述のＮＡＮＤストリングの断面図を提供する。図１０に示すように、ＮＡＮＤストリングのトランジスタはｐウェル領域１４０内に形成されている。各トランジスタは、制御ゲート（１００ＣＧ，１０２ＣＧ，１０４ＣＧ，１０６ＣＧ）とフローティングゲート（１００ＦＧ，１０２ＦＧ，１０４ＦＧ，１０６ＦＧ）によって構成される積層ゲート構造を含んでいる。フローティングゲートは、ｐウェルの表面上の酸化膜上に形成されている。制御ゲートはフローティングゲートの上に配置され、層間ポリシリコン誘電体層が制御ゲートとフローティングゲートを分離している。メモリセル（１００，１０２，１０４，１０６）の制御ゲートはワードラインを形成している。隣接するセルの間で、Ｎ＋拡散層１３０，１３２，１３４，１３６，１３８が共有されていることで、セルどうしが直列に接続されてＮＡＮＤストリングを形成している。これらのＮ＋拡散層は、それぞれのセルのソースとドレインを形成している。例えば、Ｎ＋拡散層１３０はトランジスタ１２２のドレイン、トランジスタ１０６のソースとして機能する。Ｎ＋拡散層１３２はトランジスタ１０６のドレイン、トランジスタ１０４のソースとして機能する。Ｎ＋拡散領域１３４はトランジスタ１０４のドレイン、トランジスタ１０２のソースとして機能する。Ｎ＋拡散領域１３６はトランジスタ１０２のドレイン、トランジスタ１００のソースとして機能する。Ｎ＋拡散層１３８はトランジスタ１００のドレイン、トランジスタ１２０のソースとして機能する。Ｎ＋拡散層１２６はＮＡＮＤストリングのビットラインと接続し、一方、Ｎ＋拡散層１２８は、複数のＮＡＮＤストリングの共通ソースラインと接続する。
【００２４】
図８〜図１０はＮＡＮＤストリング内の４つのメモリセルを示しているが、この４つのトランジスタの利用は単に一例として提供されたものである。ＮＡＮＤストリングは、４つ未満、又は４つ以上のメモリセルを実装することができる。例えば、８個のメモリセル、１６個のメモリセル、３２個のメモリセル、その他を実装するＮＡＮＤストリングもある。ここで示される説明は、ＮＡＮＤストリング内のメモリセルのどの特定数のメモリにも限定されない。
【００２５】
それぞれのメモリセルは、アナログ又はデジタル形式のデータを記憶することができる。１ビットのデジタルデータを記憶する場合、メモリセルの使用可能な閾電圧の範囲が２つの範囲に分割され、これらの範囲には論理データ「１」と「０」がそれぞれ割り当てられている。ＮＡＮＤ型フラッシュメモリの一例では、メモリセル消去後に電圧閾値が負になり、論理「１」と定義される。プログラム動作後には閾電圧が正になり、論理「０」と定義される。閾電圧が負の場合に読み取りを試みると、論理１が記憶されたことを示すためにメモリセルがターンオンする。閾電圧が正の場合には、読み出しオペレーションを試みても、メモリセルがターンオンすることはなく、論理ゼロが記憶されたことを示す。メモリセルは、複数レベルの情報を記憶することができるため、複数ビットのデジタルデータの記憶が可能である。複数レベルのデータを記憶する場合には、使用可能な閾電圧の範囲が記憶レベルの数に分割される。例えば、４つのレベルの情報を記憶する場合には、データ値「１１」，「１０」，「０１」，「００」が割り当てられた４つの閾電圧範囲に分割される。ＮＡＮＤ型メモリの一例では、消去オペレーション後に閾電圧が負になり、「１１」と定義される。「１０」，「０１」，「００」の状態に対しては正の閾電圧が使用される。
【００２６】
ＮＡＮＤ型フラッシュメモリ及びその動作の関連例は次の米国特許／特許出願、米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４２２号、米国特許第６，４５６，５２８号、米国特許出願第０９／８９３，２７７号（公開公報第ＵＳ２００３／０００２３４８号）から得られ、これらの全体は、本願明細書に組み込まれる。セルフブースティング技術を含むＮＡＮＤフラッシュメモリのプログラミングに関する情報は、２００３年３月５日出願の米国特許出願第１０／３７９，６０８号の「Self Boosting Technique」、２００３年７月２９日出願の米国特許出願第１０／６２９，０６８号の「Detecting Over Programmed Memory」から得られる。両出願の全体は、本願明細書に組み込まれる。フラッシュメモリ装置の他のタイプもまた、本発明において用いられる。例えば、ＮＯＲ型フラッシュメモリについての説明は、米国特許第５，０９５，３４４号、第５，１７２，３３８号、第５，８９０，１９２号、第６，１５１，２４８号から得られ、これらの全体は、本願明細書に組み込まれる。別型のフラッシュメモリの例は、米国特許第６，１５１，２４８号から得られる。これらの全体は、本願明細書に組み込まれる。
【００２７】
ここで説明している技術は浮遊ゲート型のメモリに限らず、別型の材料を用いて電荷の蓄積を行うメモリセルにも適用できる。例えば、ここで説明している技術を、制御ゲート（又はワードライン）と基板の間に形成された多様な型の電荷蓄積領域／層（１つ又は複数）を用いるメモリ装置と共に使用できる。多様な型の電荷蓄積領域／層（１つ又は複数）には、ナノ結晶としてより広く知られる窒化層や、小型のシリコンアイランドのようなものが含まれる。
【００２８】
図１１は、本発明の実行に使用できるフラッシュメモリシステムの一実施形態のブロック線図である。メモリセルアレイ２０２は列群制御回路２０４、行群制御回路２０６、ｃソース制御回路２１０、ｐウェル制御回路２０８によって制御される。列群制御回路２０４は、メモリセルに記憶されているデータを読み出すため、プログラムオペレーション中のメモリセルの状態を決定するため、ビットラインのポテンシャルレベルを制御してプログラミングを促進又は禁止するために、メモリセルアレイ２０２のビットラインに接続している。行群制御回路２０６は、複数のワードラインから１つを選択するため、読み出し電圧を印加するため、プログラム電圧を印加するため、消去電圧を印加するために、ワードラインに接続している。Ｃソース制御回路２１０は、メモリセルに接続した共有ソースライン（図１２中に「Ｃソース」として示す）を制御する。ｐウェル制御回路２０８はｐウェル電圧を制御する。
【００２９】
メモリセルに記憶されたデータは、列群制御回路２０４によって読み出され、データ入力／出力バッファ２１２を介して外部Ｉ／Ｏラインへ出力される。メモリセルに記憶されるべきプログラムデータは、外部Ｉ／Ｏラインを介してデータ入力／出力バッファ２１２に入力され、列群制御回路２０４へ転送される。外部Ｉ／Ｏラインはコントローラ２１８に接続している。
【００３０】
フラッシュメモリ装置を制御するための命令データがコントローラ２１８に入力される。命令データは、どのオペレーションが要求されたかをフラッシュメモリに知らせる。入力された命令が状態マシン２１６に転送され、列群制御回路２０４、行群制御回路２０６、ｃソース制御２１０、ｐウェル制御回路２０８、データ入力／出力バッファ２１２を制御する。さらに状態マシン２１６は、ＲＥＡＤＹ／ＢＵＳＹやＰＡＳＳ／ＦＡＩＬのようなフラッシュメモリの状態データを出力することができる。
【００３１】
コントローラ２１８はホストシステムに接続されているか、接続されることができる。このホストシステムは、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタント、その他を含む。コントローラ２１８は、ホストからの命令を受信し、ホストからのデータを受信し、また、ホストにデータを供給し、ホストに状態情報を供給するために、ホストと通信する。コントローラ２１８はホストからの命令を命令信号に変換する。この命令信号は、状態マシン２１６と通信している命令回路２１４によって解釈及び実行されることができる。一般的に、コントローラ２１８には、メモリアレイに書き込み、又はメモリアレイから読み出しされるユーザデータのためのバッファメモリが内蔵されている。
【００３２】
１つの例証的なメモリシステムは、コントローラ２１８を実装した１つの集積回路と、それぞれがメモリアレイと関連する制御とを含んでいる一又は複数の集積回路チップと、入力／出力及び状態マシン回路とを備えている。一又は複数の集積回路チップ上でシステムのメモリアレイとコントローラ回路を統合することがトレンドである。メモリシステムはホストシステムの部分として組み込むか、又は、ホストシステム内に取り外し可能に挿入されるメモリカード（もしくは他のパッケージ）内に内蔵することができる。このような取り外し可能なカードには、メモリシステム全体（例えば、コントローラを含む）が実装されているか、又は、単にメモリアレイ（一又は複数）と、関連する周辺回路（ホストにコントローラが組み込まれた状態）が実装されていてよい。したがって、コントローラ（又は制御機能）をホスト内に組み込むか、取り外し可能なメモリシステム内に実装することが可能である。
【００３３】
図１１のいくつかの構成要素を組み合わせることができる実施形態もある。様々な設計において、図１１中の、メモリセルアレイ３０２以外の一又は複数の構成要素は制御回路として考慮することができる。例えば、1つ又は複数の制御回路は、命令回路、状態マシン、行群制御回路、列群制御回路、ウェル制御回路、ソース制御回路、データＩ／Ｏ回路のうち任意のいずれか１つ、又はこれらの組み合わせを含んでいてよい。
【００３４】
図１２を参照すると、メモリセルアレイ２０２の構造の一例を説明している。一例として、１０２４個のブロックに区分されたＮＡＮＤフラッシュＥＥＰＲＯＭについて説明する。各ブロックに記憶されたデータが同時に消去される。一実施形態では、ブロックは、同時に消去されるセルの最小単位である。この場合、各ブロック内には、偶数列群と奇数列群に分割された８５１２個の列群が存在する。ビットラインも偶数ビットライン（ＢＬｅ）と奇数ビットライン（ＢＬｏ）に分割されている。図１２は、直列接続してＮＡＮＤストリングを形成している４つのメモリセルを示す。４つのセルは、それぞれのＮＡＮＤストリング内に内蔵されて示されているが、４つよりも多い又は４つ未満のメモリセルを利用できる。ＮＡＮＤストリングの１つの端末は選択トランジスタＳＧＤを介して対応するビットラインに接続し、別の端末は第２選択トランジスタＳＧＳを介してｃソースに接続している。
【００３５】
読み出し及びプログラミングオペレーションの一実施形態の最中に、４２５６個のメモリセルが同時に選択される。選択されたメモリセルは同一のワードラインと、同型のビットライン（例えば、偶数ビットライン又は奇数ビットライン）を有する。したがって、５３２バイトのデータを同時に読み出し又はプログラムすることができる。同時に読み出し又はプログラムできるこれらの５３２バイトのデータによって論理ページが形成される。したがって、１つのブロックは少なくとも８個の論理ページ（それぞれが奇数と偶数のページを備える４つのワードライン）を記憶することができる。各メモリセルが２ビットのデータ（例えばマルチステージメモリセル）をそれぞれ別のページに記憶する場合には、１つのブロックに１６個の論理ページが記憶される。
本発明では、これ以外のサイズのブロック及びページを利用することもできる。さらに、本発明の実現に、図１１、図１２に示した構造以外の構造を利用することもできる。
【００３６】
メモリセルは、ｐウェルを消去電圧にまで上昇させて（例えば２０ボルト）、選択されたブロックのワードラインを接地することで消去される。ソースとビットラインは浮遊している。消去はメモリアレイ全体、別個のブロック、別のセルのユニット上で実行できる。電子がフローティングゲートからｐウェル領域へ伝達されて、閾電圧が負になる（一実施形態の場合）。
【００３７】
読み出し及びベリファイ動作では、選択ゲート（ＳＧＤ，ＳＧＳ）と、選択されないワードライン（例えばＷＬ０，ＷＬ２，ＷＬ３）が読み出しパス電圧（例えば４．５ボルト）にまで上昇され、トランジスタがパスゲートとして動作される。選択されたワードライン（例えばＷＬ１）が、読み出し動作及びベリファイ動作のそれぞれに特化したレベルの電圧と接続することで、懸案のメモリセルの閾電圧がこのレベルを上回るか、又は下回るかが決定される。例えば、２レベルのメモリセルを読み出すオペレーションでは、選択されたワードラインＷＬ１を接地することで、閾電圧が０Ｖよりも高いかどうかを検出することができる。２レベルのメモリセルのベリファイオペレーションでは、選択されたワードラインＷＬ１が例えば０．８Ｖに接続することで、閾電圧が少なくとも０．８Ｖに達したかどうかをベリファイすることができる。ソースとｐウェルはゼロボルトにある。選択されたビットライン（ＢＬｅ）は例えば０．７Ｖのレベルにプレチャージされる。閾電圧がワードライン上の読み出し又はベリファイレベルよりも高い場合は、非伝導性メモリセルにより、懸案のセルに関連したビットライン（ＢＬｅ）の電位レベルが高レベルを維持する。一方で、閾電圧が読み出し又はベリファイレベルよりも低い場合には、伝導性メモリセルがビットラインを放電するため、接続したビットライン（ＢＬｅ）の電位レベルは例えば０．５Ｖ未満といった低レベルに低下する。これにより、ビットラインに接続している電圧比較部感知増幅器がメモリセルの状態を検出する。
【００３８】
上述した消去、読み出し、ベリファイオペレーションは、技術上周知の技術に従って実施される。そのため、説明した詳細の多くは当業者によって変更されることが可能である。技術上知られたこれ以外の消去、読み出し、ベリファイ技術を使用することもできる。
【００３９】
上述したように、メモリアレイ内のメモリセルのプログラミングは、そのメモリセルの制御ゲートにプログラム電圧Ｖｐｇｍを一連のパルスとして印加することで達成できる。Ｖｐｇｍの大きさは妥協しながら選択する。値が高すぎると、より速い速度のセルがオーバープログラミングされることになり、値が低すぎると、プログラミング速度を不適切に低下させてしまう。オーバープログラミングを引き起こす高速セルの数は、メモリシステム内のメモリセルの総数と比べて比較的少ない。その結果、メモリセルのページをプログラミングする場合、こうしたページ内に１つ又は複数の高速メモリセルが含まれる可能性はそれほど高くない。これは、低いＶｐｇｍを用いてオーバープログラミングを防止する場合に、必要なプログラミングパルスが主にＶｐｇｍの開始値によって決定されるため、多くのページにプログラミング速度に関した不要な問題が生じることを意味する。現実には、メモリシステム内の少数のページ総数だけが低いＶｐｇｍ値を有し、これ以外のページはこれよりも高いＶｐｇｍでプログラミングして性能の低下を防止するようにすればよい。この難局を解決するために以下の工程を提案する。
【００４０】
最初に、第１プログラミングパルスに低いＶｐｇｍ初期値を使用することで、第１プログラミングパルス（又は最初の２〜３のパルス）の最中にメモリセルがオーバープログラミングされないように（又はその数を少数に抑えるように）することができる。高速メモリセルを含まないページのプログラミングに要する時間への影響を低減するために、次のプログラミングパルスの大きさをより大きなステップサイズで増加させる（例えば、典型的な値である０．３ｖの代わりとして０．６ｖ）。Ｖｐｇｍの値は、この大きなステップサイズによって、１つ又は複数（又は別の最小数）のセルからなる第１セル群が初期ベリファイレベル（Ｖｖｓｔａｒｔ）に達するまで迅速に増加される。そのため多くの時間を損失することがなく、プログラミングパルスの総数を、他のシステムのものと同数に、あるいはこれよりも少なくすることができる。
【００４１】
ページ内にプログラム中の１つ又は複数の高速セルが含まれている場合は、この高速メモリセルが第１パルスの後に検出される。しかし、Ｖｐｇｍに使用する値によっては、高速セルが検出される前に２つ以上のプログラムパルスが必要となる可能性がある。あるページでは第１パルスの後に高速セル（１つ又は複数）が検出され、別のページでは第２パルスまたはそれ以降のパルスで高速セル（１つまたは複数）が検出され、他のページでは全く検出されないことがある。次のプログラミングパルスを小さなステップサイズで増加させることで、これらの高速メモリセルのオーバープログラミングを防止できる。高速メモリセルを含んだこのようなページはステップサイズが最初から小さいため、多数のプログラミングパルスが必要である。メモリアレイ内のほとんどのページには高速セルが全く設けられないため、速度が過度に低下せず、プログラミング速度全体に不適切に問題が生じることがない。オーバープログラミングを防ぐために、プログラミングの低速化はこれを必要とするページだけに実行される。
【００４２】
図１３は、メモリシステムをプログラミングする工程の一実施形態を説明するフローチャートである。ステップ３００では、命令回路２１４（図１１）が制御装置３１８から、データ群をプログラミングする命令を受信する。ステップ３０２では、データを受信する。ステップ３０４では、システムが、どのページのデータをプログラミングする必要があるかを決定する。どのページをプログラミングするかが決定したら、状態マシン２１６が適切なページのプログラミングを誘導する。ステップ３０６では、次のページがプログラミングされる。ステップ３０８では、この動作が成功したか否かが決定される。ページのプログラミングが成功した場合には、さらにプログラミングするページがあるかどうかを決定する（ステップ３１０）。プログラミングが必要なページがない場合は、図１３の工程を終了する。プログラミングするページがある場合は、再びステップ３０６へ戻り、次ページのプログラミングを開始する。
【００４３】
プログラミング動作が成功しなかった場合は（ステップ３０８）、ステップ３２０にて同じページを再度プログラミングする。ステップ３２０では、さらに各種エラーの修正技術又はプログラム動作の取り消しを実行するようにしてもよい。ステップ３２０の次はステップ３１０へ進む。
【００４４】
いくつかの実施形態では、プログラミングする様々なページをプログラミング前に事前処理しておくこともできる。例えば、様々なページに事前プログラミングを実施することで、未だ消去状態にあるメモリセルを共通レベルにプログラミングすることができる。事前プログラミング後には全てのページを消去できる。消去後にはソフトプログラミングを実施して、過剰消去されたメモリセルの閾電圧を上昇させることができる。
【００４５】
図１４は、１ページのデータをプログラミングする工程の一実施形態を説明したフローチャートである（図１３のステップ３０６を参照）。ステップ３５０では、この特定のページにデータがロードされる。ステップ３５２では、プログラム電圧Ｖｐｇｍが初期の低い値に設定され、増分値ΔＶｐｇｍが第１増分値ΔＶｐｇｍ１に設定され、プログラムカウンタＰＣがゼロに初期化される。第１プログラムパルスの値が十分に低く設定されるので、オーバープログラミング（例えば、１５Ｖ）されるプログラミングされる非揮発性記憶要素（偶数の高速非揮発性記憶要素）の数をゼロ、又は十分に少なくすることができる。ステップ３５４では、第１プログラミングパルスが付与される。設定した度数が十分に低いため、第１プログラミングパルスの後にオーバープログラミングされるメモリセルの数をゼロ又は十分少数にすることができる。上述したとおり、一実施形態では、１ページのデータ内のメモリセルが共通のワードラインを共用し、それぞれの制御ゲートにて同一のプログラミングパルスを受信する。プログラムパルスの次は、ステップ３５６にて、メモリセルが電圧Ｖｖｓｔａｒｔについてベリファイされる。電圧値Ｖｖｓｔａｒｔは、どのメモリセルが高速メモリセルであるかを決定するために使用される。これは装置特徴付けによって選択されるため、１つのプログラミングパルスの後にＶｖｓｔａｒｔを通過する任意のセルが高速メモリセルと考慮される。プログラミング中の特定のページのどのメモリセルの閾電圧もＶｖｓｔａｒｔを超えない場合には、ステップ３６０で、プログラム電圧がΔＶｐｇｍ１だけ増分され、プログラムカウンタＰＣが１だけ増分される。いくつかの実施形態では、プログラムカウンタを１ではない別の値で増加させて、より大きなステップサイズを反映するようにできる点に留意する。例えば、このより大きなステップサイズが小さいステップサイズの２倍以上である場合には、ループカウンタを２の値だけ増加させることができる。ステップ３６０の後にステップ３５４に戻ると、次のプログラムパルスが付与される。少なくとも１つのメモリセルがＶｖｓｔａｒｔより高い閾電圧を有するまで、ステップ３５４〜３５８を繰り返す。
【００４６】
一実施形態では、ステップ３５８で別の最小数（１つのメモリセル以外）を使用して、Ｖｖｓｔａｒｔよりも高い閾電圧を備えた十分な数のメモリセルが存在するか否かをテストする。使用する数は実現によって異なる。しかし、テストに用いる数は、完全にプログラミングされるメモリセルの総数よりも少ない数でなければならない。
【００４７】
ステップ３５８では、１つ又は複数（又は別の最小数）のメモリセルの閾電圧がＶｖｓｔａｒｔよりも高い場合には次にステップ３７４に進み、この時点で、全てのメモリセルが、異なるプログラム状態について、様々なベリファイレベルについてベリファイされる。一実施形態では、ステップ３５４〜３６０の繰り返しには、閾電圧がＶｖｓｔａｒｔよりも高い１つ又は複数（又は別の最少数）のメモリセルを見つけるために、メモリセルをＶｓｔａｒｔについてベリファイする工程のみが含まれる。１つ又は複数のメモリセルがＶｖｓｔａｒｔよりも高い閾電圧を有することがわかった後、全てのメモリセルが様々な目標（又は実現に応じ、目標、及び雑／ファインベリファイレベル）についてベリファイされる。例えば、雑／ファインプログラミングを使用する場合には、各メモリセルが、様々なプログラム状態のそれぞれの雑／ファインベリファイレベルと、最終目標のベリファイレベルとについてベリファイされる（ステップ３７４）。
【００４８】
タイプの異なる雑／ファインアルゴリズムを実現できる点に留意する。例えば、一番目のものだけを特定の所望状態の雑レベルについてベリファイし、この第１セルが同じ状態の雑レベルを通過したあと、ファインレベルに対するベリファイを開始できる点に留意する。さらに、同時に複数のレベルがプログラミングされる場合には、より高いレベルの雑／ファインプログラミングを特定数のプログラミングパルスの間だけ延期させることができる。別の可能性では、低い状態の雑ベリファイによって、１つ又は複数のセルがこの低い状態の雑レベルを通過したことが検出された後に、雑ベリファイを特定数のパルスの間だけ高レベルについて開始する。上述の方法を用いることで、必要なベリファイ動作の総数を減らし、必要な総プログラミング時間を短縮できる。
【００４９】
全てのメモリセルのベリファイが目標対象レベルに達すると（ステップ３７６）、工程が終了し、状態が合格に設定される（ステップ３７８）。いくつかの実施形態では、総数に満たない数のメモリセルが目的の目標に達した場合に、プログラミング工程を完了することができる。例えば、いくつかの実施形態では、ほぼ全てのメモリセルが目的の目標に達すれば（この場合、例えば所定数未満の数のセルは対象に達しない）、工程は成功である。目的の目標に達しなかったメモリセルはその読み出し時にエラー修正を用いて処理され、また、目的の目標に達しないセルが非常にたくさんあった場合には、データをメモリアレイ内の何処かでプログラミングすることができる。全てのメモリセルにベリファイ動作が実行されない場合は（これはステップ３７４が始めて実行される時である可能性がある）、プログラムカウンタが２０（又は別の適切な値）よりも低いか否かの決定が行われる。プログラムカウンタが２０（又は別の適切な数）あるいはこれ以上である場合には、余計なステップが行われ、工程は失敗する（ステップ３８２）。ステップ３７０で、プログラムカウンタが２０（または適切な値）よりも低い場合、プログラム電圧がΔＶｐｇｍ２上昇し、プログラムカウンタが１だけ増加する。いくつかの実施形態では、プログラムカウンタを１以外の値だけ増加させることで、ステップサイズの差異を利用している。ΔＶｐｇｍ２はΔＶｐｇｍｌよりも小さいステップサイズである点に留意する。これにより、ステップ３５４〜３６０の繰り返しの最中にプログラム電圧Ｖｐｇｍが、ステップ３７０〜３７２の繰り返し中におけるプログラム電圧Ｖｐｇｍの低速上昇と比べて遥かに高速に上昇する。ステップ３７２では、別のプログラムパルスが付加される。ステップ３７４では、上述と同じ方法でメモリセルがベリファイされ、次にステップ３７６へ進む。
【００５０】
次に、図１５Ａ、図１５Ｂ、図１５Ｃに関連してメモリセルの動作について説明する。図１５Ａは、２ビットのマルチ状態セルの閾電圧分布２、１０、１２、１４を示す。しかし、ここで説明する技術は、２ビットよりも大きい又は未満のデータを記憶するメモリセルに適用されるものである点に留意する。さらに図１５Ａには、読み出しベリファイポイントＶｒＩ、Ｖｒ２が示されている。読み出しベリファイポイントＶｒＩは、閾電圧分布１０と１２を区別するためのものである。読み出しベリファイポイントＶｒ２は、閾電圧分布１２と１４を区別するためのものである。閾電圧分布２と１０を区別するにはゼロボルトを使用する。図１５Ａはまた、閾電圧分布１０の最低電圧としての電圧レベルＶｖ１と、電圧分布１０の電圧上限としてのＶｍａｘ１とを示す。
【００５１】
図１５Ｂは、高速メモリセルがページ内に存在しない場合における、消去された閾電圧の分布２と、プログラミングされた閾電圧の分布４０２、４０４とを示す。この場合、ベリファイレベルＶｖＩは最終目標のベリファイレベルを表し、またゼロボルトをＶｖｓｔａｒｔとして使用できる。第１パルス後に、閾電圧分布４０２が消去レベルから特定の範囲にまでシフトアップしているのがわかるが、どのメモリセルもまだＶｖｓｔａｒｔ（０ｖ）には達していないため、ΔＶｐｇｍ１だけ増分したＶｐｇｍを有する第２パルスによってプログラミングが継続される。その結果、閾電圧分布がΔＶｐｇｍ１に近い値でシフトアップする。このシフト量は、初期Ｖｐｇｍパルスの増幅に従って異なり、またこれに大きく依存するものである点に留意する。第２パルスの後に、分布４０４における多数のメモリセルがＶｖｓｔａｒｔ（０ボルト）を超える閾電圧に到達した。これに伴い、Ｖｐｇｍも小さいステップサイズΔＶｐｇｍ２だけ上昇する。
【００５２】
図１５ｃは、高速メモリセルが存在する場合における、消去された閾電圧の分布２とプログラミングされた閾電圧の分布４１０を示す。第１プログラミングパルス（例えば、閾電圧の分布４１０）の後に、多数のセルの閾電圧がＶｖｓｔａｒｔ（０ボルト）よりも高くなる。いくつかのメモリセルの閾電圧はＶｖ１よりも高くなってよい。これにより、次のプログラミングパルスのステップサイズがΔＶｐｇｍ２と等しくなり、オーバープログラミングが防止される。
【００５３】
図１６、図１７は、雑／ファインプログラミングに関して説明した技術の使用を示すグラフを含んでいる。図１６Ａ、図１６Ｂ、図１６Ｃは、１つのパルス内で雑ベリファイレベルと目標ベリファイレベルの両方を満たす閾電圧を有する高速メモリセルの動作を示す。その結果、メモリセルは、ファインモードに入ることがない。図１７Ａ、図１７Ｂ、図１７Ｃは、雑モードとファインモードの両方に使用された速度の遅いメモリセルを示す。図１６Ａ、図１７Ａは、プログラミング中のメモリセルの制御ゲートに付加されたプログラミングパルスＶｐｇｍを示す。図１６Ｂ、図１７Ｂは、プログラミング中のメモリセルのビットライン電圧ＶｂＩを示す。図１６Ｃ、図１７Ｃは、プログラミング中のメモリの閾電圧を示す。
【００５４】
図１６Ａ、図１６Ｂ、図１６Ｃでは高速メモリセルが示されている。時間ｔθにて開始する第１パルスに応答して、メモリセルの閾電圧がＶｖｅｒ３以上に上昇する。ベリファイレベルＶｖｅｒ３は図１４のＶｖｓｔａｒｔに対応している点に留意する。そのため、このメモリセルを含んでいるページは最も遅い速度でプログラミングされる。これにより、次のプログラミングパルスの大きさがΔＶｐｇｍ２増大される。ｔ１とｔ２の間において、メモリセルの閾電圧がＶｖｅｒ２とＶｖｅｒ１の両方よりも高く上昇する。ｔ２にてビットライン電圧がＶｉｎｈｉｂｉｔにまで上昇することで、それ以上のプログラミングが禁止される。一実施形態では、Ｖｖｅｒ３は、最低のプログラム状態Ｖｖｅｒ２よりも０．２ｖ〜０．３ｖ低い。
【００５５】
図１７の速度の遅いメモリセルに関して、メモリセルの閾電圧は、ｔ２からｔ３までの期間までは、Ｖｖｅｒ３よりも高く上昇することはない。そのため、ｔ３以前にプログラミングパルスがΔＶｐｇｍ１だけ増分する。ｔ３にて、ページのメモリセル内の閾電圧はＶｖｅｒ３よりも高いため、ｔ３にて増分値がΔＶｐｇｍ２に変化し、次のパルスがΔＶｐｇｍ２だけ増加する。ｔ３とｔ４の間においてメモリセル内の閾電圧がＶｖｅｒ２以上に上昇することでメモリセルがファインプログラミングフェーズに入り、ｔ４にてビットラインがＶｓに上昇する。ｔ４とｔ５の間において、ビットライン電圧の上昇とＶｐｇｍ増分値の低下とによって閾電圧の上昇が低速化する。しかし、ｔ４とｔ５の間で閾電圧がＶｖｅｒ１よりも高くなるため、閾電圧が目標レベルに達し、また、ビットライン電圧がＶｉｎｈｉｂｉｔにまで上昇して、ｔ５にてそれ以上のプログラミングが禁止された。
【００５６】
図１６Ａ、図１７Ａは、グラフを読み易くするために相互に接近させたそれぞれのプログラミングパルスを示す。しかし実際には、パルスとパルスの間にはベリファイ動作を実行するための空き時間が設けられる。
【００５７】
図１８、図１９は、ここで説明したオーバープログラミングを防止又は低減するための技術を使用する別の実施形態を示す。この実施形態は、１つ又は複数のパルスを、１つ又は複数のメモリセルがＶｖｅｒ３レベルに達するまでのために行う初期設定と、その後の、次のプログラミングパルスに備えてプログラム電圧の大きさを低レベルに設定するために行う再設定とに関する。またこの実施形態は雑／ファイン方法も使用する。図１８Ａ、図１８Ｂ、図１８Ｃは高速メモリセルに関し、図１９Ａ、図１９Ｂ、図１９Ｃはこれよりも速度の遅いメモリセルに関するものである。図１８Ａ、図１９ＡはプログラムパルスＶｐｇｍを示す。図１８Ｂ、図１９Ｂはビットライン電圧ＶｂＩを示す。図１８Ｃ、図１９Ｃは、時間にわたってプログラミングされたメモリセルの閾電圧を示す。
【００５８】
図１８Ａに示すように、時間ｔθにて第１パルスが提供される。この第１パルスの大きさは、オーバープログラミングされるメモリセルの数がゼロ又は十分に少数となるように決定される。図１８Ｃは、時間ｔ０とｔ１の間において閾電圧がＶｖｅｒ３よりも高くなる高速メモリセルを示す。これにより、関連するメモリセルのページが、ΔＶｐｇｍ２を使用して低速プログラミングされる。しかし、さらにパルスを提供する前にＶｐｇｍが、例えば０．３〜０．５Ｖ低下される。これにより、図１８Ａは、ｔ１から開始したパルスの大きさが、ｔθから開始したパルスの大きさよりも低くなる様子を示している。ｔ１の後に、後続の各パルスがΔＶｐｇｍ２上昇する。ｔ１とｔ２の間で、メモリセルの閾電圧がＶｖｅｒ１より高いレベルに上昇することで、ｔ２にてビットラインがＶｉｎｈｉｂｉｔに上昇する（図１８Ｂを参照）。
【００５９】
図１９Ａはメモリセルがより低速度プログラミングされる場合を示す。これによって、ｔ２〜ｔ３の期間まで、メモリセルが閾電圧をＶｖｅｒ３にまで上昇しない。そのため、ｔ３の前にパルスがΔＶｐｇｍ１だけ増分される。ｔ３の後には、Ｖｐｇｍの増分値がΔＶｐｇｍ２に変更される。これに加え、パルスの大きさが低い値に設定される。例えば図１９aは、ｔ３から開始したパルスが、ｔ２から開始するパルスよりも低くなる様子を示す。ｔ３後に追加されるパルスの増分値はΔＶｐｇｍ２である。ｔ４では、閾電圧がＶｖｅｒ２よりも高く、Ｖｅｒ１よりも低いとベリファイされ、これによりメモリセルがファインプログラミングフェーズに入り、ビットライン電圧がＶｓに上昇する。ｔ５では、メモリセルの閾電圧はＶｖｅｒ１よりも高いとベリファイされ、これにより、ビットライン電圧がＶｉｎｈｉｂｉｔに上昇されて、メモリセルのそれ以上のプログラミングが禁止される。
【００６０】
先述の本発明の詳細な説明は、例証及び説明の目的で提示されたものである。これは、包括するのではなく、又、上記に開示された形態に本発明を制限することを意図するものではない。上記の示唆を考慮した多くの改良及び応用が可能である。上記の実施形態は、当業者が本発明を様々な実施形態において考えられる特定の使用に適した様々な改良を加えて利用できるように、本発明の原理とその実用的な用途を最良に説明するものとして選択された。本発明の技術的範囲は、添付された特許請求の範囲によって定義されるものとする。
【図面の簡単な説明】
【００６１】
【図１】２つの閾電圧分布を示すグラフである。
【図２】４つの閾電圧分布を示すグラフである。
【図３】図３Ａ、図３Ｂ及び図３Ｃは、プログラム工程を示す。図３Ａは、非揮発性記憶要素の制御ゲートに付加されたプログラミング電圧信号を示す。図３Ｂは、ＮＡＮＤストリング用のビットラインに付加された電圧信号である。図３Ｃは、プログラミング中の非揮発性記憶要素の閾電圧を示す。
【図４】図４Ａ、図４Ｂ及び図４Ｃは、雑／ファインプログラミングの一部として実行されるプログラミング工程の一実施形態を示す。
【図５】図５Ａ、図５Ｂ及び図５Ｃは、雑／ファインプログラミングの一部として実行されるプログラミング工程の一実施形態を示す。
【図６】２つの閾電圧分布を示すグラフである。
【図７】図７Ａ、図７Ｂ及び図７Ｃは、閾電圧分布を示すグラフである。
【図８】ＮＡＮＤストリングの平面図である。
【図９】ＮＡＮＤストリングの等価回路線図である。
【図１０】ＮＡＮＤストリングの断面図である。
【図１１】非揮発性メモリシステムの一実施形態のブロック線図である。
【図１２】メモリアレイの構成の一例を示す。
【図１３】メモリシステムのページをプログラミングする工程の一例を説明するフローチャートである。
【図１４】メモリシステムのページをプログラミングする工程の一例を説明するフローチャートである。
【図１５】図１５Ａ、図１５Ｂ及び図１５Ｃは、閾電圧分布を示すグラフである。
【図１６】図１６Ａ、図１６Ｂ及び図１６Ｃは、オーバープログラミングを低減するプログラミング工程の一実施形態を示す。
【図１７】図１７Ａ、図１７Ｂ及び図１７Ｃは、オーバープログラミングを低減するプログラミング工程の一実施形態を示す。
【図１８】図１８Ａ、図１８Ｂ及び図１８Ｃは、オーバープログラミングを低減するプログラミング工程の一実施形態を示す。
【図１９】図１９Ａ、図１９Ｂ及び図１９Ｃは、オーバープログラミングを低減するプログラミング工程の一実施形態を示す。
【図１】
2008521153.tif 000003
【図２】
2008521153.tif 000004
【図３】
2008521153.tif 000005
【図４】
2008521153.tif 000006
【図５】
2008521153.tif 000007
【図６】
2008521153.tif 000008
【図７】
2008521153.tif 000009
【図８】
2008521153.tif 000010
【図９】
2008521153.tif 000011
【図１０】
2008521153.tif 000012
【図１１】
2008521153.tif 000013
【図１２】
2008521153.tif 000014
【図１３】
2008521153.tif 000015
【図１４】
2008521153.tif 000016
【図１５】
2008521153.tif 000017
【図１６】
2008521153.tif 000018
【図１７】
2008521153.tif 000019
【図１８】
2008521153.tif 000020
【図１９】
2008521153.tif 000021
【手続補正書】
【提出日】平成19年7月23日(2007.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非揮発性記憶装置をプログラミングする方法であって、
非揮発性記憶要素の組が、少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定する決定工程と、
前記非揮発性記憶要素の組が少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる場合には、前記非揮発性記憶要素の組を低速上昇制御ゲート電圧信号でプログラミングする工程と、
前記非揮発性記憶要素の組が少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいない場合には、前記非揮発性記憶要素の組を高速上昇制御ゲート電圧信号でプログラミングする工程と、を備えており、
前記最小数の高速プログラミング非揮発性記憶要素が、前記非揮発性記憶要素の組のうちプログラムが完了した全ての非揮発性記憶要素よりも少ないことを特徴とする方法。
【請求項２】
前記非揮発性記憶要素の組を前記高速上昇制御ゲート電圧信号でプログラミングする前記工程は、
前記非揮発性記憶要素の組の第１サブセットが第１レベルに達するまで、前記高速上昇制御ゲート電圧信号により前記非揮発性記憶要素の組をプログラミングし、次に、少なくとも前記非揮発性記憶要素の組の大きなサブセットが１つ又は複数の目標のレベルに達するまで、前記低速上昇制御ゲート電圧信号で前記非揮発性記憶要素の組をプログラミングすることを特徴とする請求項１に記載の方法。
【請求項３】
前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする前記工程は、
雑プログラミングモードとファインプログラミングモードを実行する工程を有しており、
前記雑プログラミングモードは、低ビットライン電圧を使用する工程を有し、
前記ファインプログラミングモードは、高ビットライン電圧を使用する工程を有していることを特徴とする請求項２に記載の方法。
【請求項４】
前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする工程は、
前記非揮発性記憶要素の各々が１つ又は複数の雑／ファインベリファイレベルに達するまで、前記非揮発性記憶要素の組を第１ビットライン電圧でプログラミングする工程と、
少なくとも前記非揮発性記憶要素の第２サブセットが前記１つ又は複数の目標レベルに達するまで、前記非揮発性記憶要素の組を第２ビットライン電圧でプログラミングする工程と、を有しており、
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項２に記載の方法。
【請求項５】
前記決定工程は、
前記非揮発性記憶要素の組にプログラムパルスを付加し、前記非揮発性記憶要素の組の少なくとも１つが所定のプログラミングレベルに達したか否かを決定する工程を有しており、
前記プログラムパルスは、前記プログラムパルスによってオーバープログラミングされる前記非揮発性記憶要素の組の数がゼロになる、又は大幅に低減されるように十分に低く設定されていることを特徴とする請求項１に記載の方法。
【請求項６】
前記低速上昇制御ゲート電圧信号は、第１の比率で上昇する大きさのパルスの組を含んでおり、
前記高速上昇制御ゲート電圧信号は、第２の比率で上昇した後に前記第１の比率で上昇する大きさのパルスの組を含んでおり、
前記第１の比率は前記第２の比率よりも小さいことを特徴とする請求項１に記載の方法。
【請求項７】
前記非揮発性記憶要素の組の全ての非揮発性記憶要素が共通の制御ゲート電圧信号を受信することを特徴とする請求項１に記載の方法。
【請求項８】
前記最小数の高速プログラミング非揮発性記憶要素は、１つの高速プログラミング非揮発性記憶要素であることを特徴とする請求項１に記載の方法。
【請求項９】
前記非揮発性記憶要素の組が最小数の１つ又は複数の高速プログラミング非揮発性記憶要素を含む場合には、前記非揮発性記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする前記工程は、
前記制御ゲート電圧を低下させる工程を有していることを特徴とする請求項１に記載の方法。
【請求項１０】
前記高速上昇制御ゲート電圧信号で前記非揮発性記憶要素の組をプログラミングする前記工程は、
前記非揮発性記憶要素の組のサブセットが第１レベルに達するまで、前記制御ゲート電圧信号の上昇を継続する工程と、
前記非揮発性記憶要素の組の前記サブセットが前記第１レベルに達した後に、前記制御ゲート電圧信号を低下させる工程と、
次に、前記非揮発性記憶要素の組の全ての又はほぼ全ての非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記非揮発性メモリ記憶要素の組を前記低速上昇制御ゲート電圧信号でプログラミングする工程と、を有していることを特徴とする請求項９に記載の方法。
【請求項１１】
前記制御ゲート電圧信号は、パルスの組を備えていることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記非揮発性記憶要素の組は、１ページのデータに対応していることを特徴とする請求項１に記載の方法。
【請求項１３】
前記非揮発性記憶要素の組は、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１４】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１５】
前記非揮発性記憶要素の組は、ＮＡＮＤマルチ状態フラッシュメモリ装置であることを特徴とする請求項１に記載の方法。
【請求項１６】
非揮発性記憶システムであって、
データのユニットに関連している非揮発性記憶要素の組と、
前記非揮発性記憶要素の組と通信する１つ又は複数の制御回路とを備えており、
前記１つ又は複数の制御回路は、プログラムされるデータのユニットのうちどのデータのユニットが少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるかを決定しており、
前記１つ又は複数の制御回路は、少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを高速上昇制御ゲート電圧信号でプログラムし、また、少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる前記データのユニットを低速上昇制御ゲート電圧信号によってプログラムしており、
特定のデータのユニットでは、前記最小数の高速プログラミング非揮発性記憶要素が、プログラミングが完了した非揮発性記憶要素の総数よりも少ないことを特徴とする非揮発性記憶システム。
【請求項１７】
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを前記高速昇制御ゲート電圧信号でプログラミングすることは、
非揮発性記憶要素のサブセットが第１レベルに達するまで、前記高速上昇制御ゲート電圧信号でプログラミングを行う工程と、
その後、前記低速上昇制御ゲート電圧信号でプログラミングを行う工程と、を有していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項１８】
その後、前記低速上昇制御ゲート信号でプログラミングする工程は、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの各々の非揮発性記憶要素が１つ又は複数の雑ベリファイレベルに達するまで、前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素を第１ビットライン電圧によってプログラミングする工程と、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素が１つ又は複数の目標レベルに達するまで、前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素を第２ビットライン電圧によってプログラミングする工程と、を有しており、
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットの前記非揮発性記憶要素は、マルチ状態メモリ装置であることを特徴とする請求項１７に記載の非揮発性記憶システム。
【請求項１９】
プログラムされるデータのユニットのうちどのデータのユニットが少なくとも最小数の高速プログラミング非揮発性記憶要素を含んでいるか否かを決定することは、以下の方法を実行することで、データのユニットの各々を別個にテストするテスト工程を有しており、その方法は、
データのユニットのための非揮発性記憶要素の組にプログラムパルスを付加する工程と、
前記非揮発性記憶要素の少なくとも１つが所定のプログラミングレベルに達したことを決定する工程と、を有しており、
前記プログラムパルスは、前記非揮発性記憶要素の組が前記プログラムパルスによってオーバープログラム状態とならないよう十分低く設定されていることを特徴とする請求項１７に記載の非揮発性記憶システム。
【請求項２０】
前記最小数の高速プログラミング非揮発性記憶要素は、１つの高速プログラミング非揮発性記憶要素であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２１】
前記少なくとも前記最小数の高速プログラミング非揮発性記憶要素を含んでいる前記データのユニットを低速上昇制御ゲート電圧信号でプログラミングすることは、
最初に前記制御ゲート電圧を低下させる工程を有していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２２】
前記最小数の高速プログラミング非揮発性記憶要素を含んでいない前記データのユニットを高速上昇制御ゲート電圧信号でプログラミングすることは、
特定のデータのユニットに関連した非揮発性記憶要素のサブセットが第１レベルに達するまで、前記制御ゲート電圧信号の上昇を継続する工程と、
前記制御ゲート電圧信号を低下させる工程と、
その後、前記特定のデータのユニットに関連した前記非揮発性要素が１つ又は複数の目標レベルに達するまで、前記特定のデータのユニットに関連した前記非揮発性記憶要素を前記低速上昇制御ゲート電圧信号でプログラミングする工程と、を有していることを特徴とする請求項２１に記載の非揮発性記憶システム。
【請求項２３】
前記制御ゲート電圧信号は、パルスの組を備えていることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２４】
前記データのユニットは、ページ群のデータに関連していることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２５】
前記非揮発性記憶要素の組は、ＮＡＮＤフラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２６】
前記非揮発性記憶要素の組は、マルチ状態フラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２７】
前記非揮発性記憶要素の組は、ＮＡＮＤマルチ状態フラッシュメモリ装置であることを特徴とする請求項１６に記載の非揮発性記憶システム。
【請求項２８】
前記１つ又は複数の制御回路は、命令回路、状態マシン、行群制御回路、列群制御回路、ウェル制御回路、ソース制御回路又はデータＩ/Ｏ回路のうち任意の１つ又は組合せを含んでいることを特徴とする請求項１６に記載の非揮発性記憶システム。
【国際調査報告】
2008521153.tif 000022
2008521153.tif 000023