ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを有するNANDフラッシュストリングをプログラムする方法であって、すべてのワード線を第1のパス電圧に駆動してソース線によって供給されるストリングプリチャージ電圧を前記メモリセルに結合するステップであって、前記ストリングプリチャージ電圧は前記第1のパス電圧より大きい、ステップと、選択メモリセルに隣接する第1のメモリセルに対応する第1のワード線を除くすべてのワード線を、前記第1のパス電圧より大きい第2のパス電圧に駆動し続けるステップであって、前記第1のメモリセルは、前記選択メモリセルと前記ストリング選択デバイスの間に位置する、ステップと、前記選択メモリセルに隣接する第2のメモリセルに対応する第2のワード線を、前記第2のメモリセルをターンオフするように第1の電源電圧に駆動するステップと、前記選択メモリセルに対応する第3のワード線を、前記第2のパス電圧より大きいプログラム電圧に駆動するステップと、前記ビット線を前記選択メモリセルに結合するステップとを含む方法。前記ストリングプリチャージ電圧を結合するステップは、前記ソース線選択デバイスをソース線パス電圧に駆動するステップを含む、請求項1に記載の方法。前記ビット線を結合するステップは、前記ストリング選択デバイスを前記第2の電源電圧に駆動するステップを含む、請求項1に記載の方法。前記プログラム電圧は、前記第2のパス電圧、前記ストリングプリチャージ電圧、および前記ソース線パス電圧より大きく、前記ストリングプリチャージ電圧は少なくとも前記ソース線パス電圧であり、前記第1のパス電圧は少なくとも0Vである、請求項2に記載の方法。前記ストリングプリチャージ電圧および前記ソース線パス電圧は、前記第1のパス電圧にある、請求項4に記載の方法。前記第1のパス電圧は、プログラムされたメモリセル閾値電圧より大きい、請求項4に記載の方法。順次プログラミング方向において前記選択メモリセルに先立つメモリセルは、消去されたページに対応する、請求項4に記載の方法。前記順次プログラミング方向は、前記選択メモリセルから前記ソース線への第1の方向と、前記選択メモリセルから前記ビット線への第2の方向を含む、請求項7に記載の方法。前記第1のパス電圧は、前記第2のプログラム方向において0Vに設定される、請求項8に記載の方法。ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを駆動するドライバと、プログラム動作において前記ドライバを制御するコントローラとを備え、前記コントローラは、前記メモリセルのすべてのワード線を第1のパス電圧に駆動して前記ソース線によって供給されるストリングプリチャージ電圧を前記メモリセルに結合するように構成され、前記ストリングプリチャージ電圧は前記第1のパス電圧より大きく選択メモリセルに隣接する第1のメモリセルに対応する第1のワード線を除くすべてのワード線を、前記第1のパス電圧より大きい第2のパス電圧に駆動し続けるように構成され、前記第1のメモリセルは前記選択メモリセルと前記ストリング選択デバイスの間に位置し、前記選択メモリセルに隣接する第2のメモリセルに対応する第2のワード線を、前記第2のメモリセルをターンオフするように第1の電源電圧に駆動するように構成され、前記選択メモリセルに対応する第3のワード線を前記第2のパス電圧より大きいプログラム電圧に駆動するように構成され、かつ前記ビット線を前記選択メモリセルに結合するように構成されるフラッシュメモリデバイス。前記ドライバは、行信号を前記メモリセルに、ソース選択信号を前記ソース線選択デバイスに、ストリング選択信号をストリング選択デバイスに結合するためのワード線ドライバと、ブロックアドレスに応答して前記ワード線ドライバをイネーブルするためのブロックデコーダと、行アドレスに応答して、前記行信号、前記ソース選択信号、および前記ストリング選択信号を生成するための行デコーダとを含む、請求項10に記載のフラッシュメモリデバイス。前記行デコーダは、前記行信号の1つを生成するための行デコーダ回路を含み、前記行デコーダ回路は、前記プログラム電圧、前記第1のパス電圧、および前記第2のパス電圧のうちの1つを、前記行信号の前記1つに選択的に結合するためのマルチプレクサを含む、請求項11に記載のフラッシュメモリデバイス。前記行デコーダは、前記ソース選択信号を生成するための行デコーダ回路を含み、前記行デコーダ回路は、VSSと前記第2のパス電圧のうちの1つを前記ソース選択信号に選択的に結合するためのマルチプレクサを含む、請求項12に記載のフラッシュメモリデバイス。前記行デコーダは、ストリング選択信号を生成するための行デコーダ回路を含み、前記行デコーダ回路は、VSSとVDDのうちの1つを前記ストリング選択信号に選択的に結合するためのマルチプレクサを含む、請求項12に記載のフラッシュメモリデバイス。当業者には、フラッシュメモリデバイスは、プログラムディスターブを受けることが良く知られている。より具体的には、選択メモリセルが、対応する選択されたワード線をプログラム電圧に駆動することによってプログラムされるとき、同じワード線に沿ったプログラムされるべきでない非選択メモリセルが、意図せずにソフトプログラムされ得る。これは、プログラムされるべきでない選択メモリセルに対してプログラム禁止状態を確立するためのバイアスが、これらのメモリセルがプログラムされるのを完全に防止するには不十分であるという問題による。さらに、プログラム動作時に非選択ワード線に印加される電圧が高すぎるために、フラッシュメモリ内の非選択メモリセルもプログラムディスターブを受け、それによりプログラム後または消去後の閾値電圧のシフトを生じ得る。この問題は順次プログラム方式によって対処されたが、ランダムページプログラム動作を禁止することにより、ランダムページプログラミングに付随する動作上の融通性が失われるので用途での性能低下を生じる。本発明の第1の態様によれば、ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを有するNANDフラッシュストリングをプログラムする方法が提供される。本方法は、ビット線をバイアスするステップと、チャネルのグルーピングを非対称にプリチャージするステップと、選択メモリセルをプログラムするステップとを含む。ビット線は、第1の電源電圧レベルと第2の電源電圧レベルのうちの1つにバイアスされる。チャネルのグルーピングは、非選択メモリセルに記憶されたバックグラウンドデータとは無関係に選択メモリセルチャネルをプログラム禁止状態に設定するために、ソース線とは異なる電圧レベルに非対称的にプリチャージされるメモリセルに対応する。選択メモリセルは、ビット線が第2の電源電圧レベルにバイアスされるときにのみプログラムされ、選択メモリセルは、ビット線が第1の電源電圧レベルにバイアスされるときはプログラム禁止状態のままとなる。本態様の一実施形態によれば、選択メモリセルをプログラムするステップは、ビット線が第2の電源電圧レベルにバイアスされるときにのみ、ビット線を選択メモリセルに結合するように、ストリング選択デバイスを第1の電源電圧レベルに駆動するステップを含む。非対称にプリチャージするステップは、ソース線をストリングプリチャージ電圧にバイアスするステップ、およびソース線選択デバイスをソース線パス電圧に駆動することによってソース線をメモリセルに結合するステップを含むことができる。本方法の一態様によれば、非対称にプリチャージするステップは、下側チャネルをプリチャージするステップと、中間チャネルをプリチャージするステップと、上側チャネルをプリチャージするステップとを含む。下側チャネルは、ソース線選択デバイスと、選択メモリセルに隣接する第1のメモリセルの間のメモリセルに対応し、この下側チャネルは第1のプリチャージ電圧にプリチャージされ、下側チャネルは選択メモリセルおよび選択メモリセルに隣接する第2のメモリセルを含む。中間チャネルは、第1のメモリセルに対応し、これは第2のプリチャージ電圧にプリチャージされる。上側チャネルは、第1のメモリセルとストリング選択デバイスの間のメモリセルに対応し、この上側チャネルは第3のプリチャージ電圧にプリチャージされる。下側チャネルをプリチャージするステップは、ソース線選択デバイスと第1のメモリセルの間のメモリセルのゲート端子を、第1のパス電圧に駆動するステップを含む。中間チャネルをプリチャージするステップは、第1のメモリセルのゲート端子を第2のパス電圧に駆動するステップを含み、第2のパス電圧は少なくとも0Vであり、第2のパス電圧は、プログラムされたメモリセル閾値電圧より大きく、パス電圧より小さい。上側チャネルをプリチャージするステップは、第1のメモリセルとストリング選択デバイスの間のメモリセルのゲート端子を、第1のパス電圧に駆動するステップを含む。後に、上側チャネルは、第3のプリチャージ電圧を生ずるように第1のパス電圧と第2のパス電圧の差だけブーストされ、第2のパス電圧は、上側チャネルが第3のプリチャージ電圧にあるときに第1のメモリセルをターンオフするような値に選択される。本方法のもう1つの態様によれば、下側チャネルをプリチャージするステップは、第2のメモリセルをターンオフするステップと、ソース線選択デバイスをターンオフするステップとをさらに含む。下側チャネルをプリチャージするステップは、選択メモリセルのゲートをプログラム電圧に駆動することによって、プログラミングを禁止するのに有効な電圧に選択メモリセルチャネルを局部的にブーストするステップをさらに含む。プログラム電圧は、第1のパス電圧、ストリングプリチャージ電圧、およびソース線パス電圧より大きく、ストリングプリチャージ電圧は、少なくともソース線パス電圧である。本態様の他の実施形態では、ストリングプリチャージ電圧およびソース線パス電圧は、第1のパス電圧である。選択メモリセルとソース線選択デバイスの間の少なくとも1つのメモリセルは、プログラムされたページに対応し、少なくとも1つメモリセルは、プログラム後の閾値電圧と消去後の閾値電圧のうちの1つを有する。第1のメモリセルは、プログラム後の閾値電圧と消去後の閾値電圧のうちの1つを有するプログラムされたページに対応し得る。選択メモリセルとソース線選択デバイスの間のメモリセルは、消去後の閾値電圧を有する消去されたページに対応し、あるいは、代替として選択メモリセルとストリング選択デバイスの間のメモリセルは、消去後の閾値電圧を有する消去されたページに対応する。本発明の第2の態様では、ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを有するNANDフラッシュストリングをプログラムする方法が提供される。本方法は、ビット線を第1の電源電圧レベルと第2の電源電圧レベルのうちの1つにバイアスするステップと、メモリセルに対応するチャネルのグルーピングを、選択メモリセルに隣接する第1のメモリセルをターンオフするようにソース線とは異なる電圧レベルにプリチャージするステップと、印加されたプログラム電圧に応答して、選択メモリセルチャネルをプログラム禁止状態にプリチャージするステップと、ビット線が第2の電源電圧レベルにバイアスされたときのみにビット線を選択メモリセルに結合するように、ストリング選択デバイスを第1の電源電圧レベルに駆動するステップであって、ビット線が第1の電源電圧レベルにバイアスされたとき選択メモリセルはプログラム禁止状態のままとなる、ステップとを含む。本発明の第3の態様では、ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを有するNANDフラッシュストリングをプログラムする方法が提供される。本方法は、すべてのワード線を第1のパス電圧に駆動するステップと、第1のワード線を除くすべてのワード線を第2のパス電圧に駆動し続けるステップと、第2のワード線を第1の電源電圧に駆動するステップと、第3のワード線をプログラム電圧に駆動するステップと、ビット線を選択メモリセルに結合するステップとを含む。すべてのワード線は、第1のパス電圧に駆動されて、ソース線によって供給されるストリングプリチャージ電圧をメモリセルに結合し、ストリングプリチャージ電圧は第1のパス電圧より大きい。選択メモリセルに隣接する第1のメモリセルに対応する第1のワード線を除くすべてのワード線は、第1のパス電圧より大きい第2のパス電圧に駆動され、第1のメモリセルは、選択メモリセルとストリング選択デバイスの間に位置する。選択メモリセルに隣接する第2のメモリセルに対応する第2のワード線は、第2のメモリセルをターンオフするように第1の電源電圧に駆動される。選択メモリセルに対応する第3のワード線は、第2のパス電圧より大きいプログラム電圧に駆動される。本態様の一実施形態では、ストリングプリチャージ電圧を結合するステップは、ソース線選択デバイスをソース線パス電圧に駆動するステップを含み、ビット線を結合するステップは、ストリング選択デバイスを第2の電源電圧に駆動するステップを含む。本方法では、プログラム電圧は、第2のパス電圧、ストリングプリチャージ電圧、およびソース線パス電圧より大きく、ストリングプリチャージ電圧は少なくともソース線パス電圧であり、第1のパス電圧は少なくとも0Vである。ストリングプリチャージ電圧およびソース線パス電圧は、第1のパス電圧にあり、第1のパス電圧は、プログラムされたメモリセル閾値電圧より大きい。他の実施形態では、順次プログラミング方向において選択メモリセルに先立つメモリセルは、消去されたページに対応し、順次プログラミング方向は、選択メモリセルからソース線への第1の方向と、選択メモリセルからビット線への第2の方向を含む。この実施形態では、第1のパス電圧は、第2のプログラミング方向において0Vに設定される。本発明の第4の態様では、フラッシュメモリデバイスが提供される。フラッシュメモリデバイスは、ドライバと、コントローラとを含む。ドライバは、ビット線とソース線の間に直列に接続されたソース線選択デバイス、メモリセル、およびストリング選択デバイスを駆動する。コントローラは、プログラム動作においてドライバを制御し、コントローラは、メモリセルのすべてのワード線を第1のパス電圧に駆動してソース線によって供給されるストリングプリチャージ電圧をメモリセルに結合するように構成され、ストリングプリチャージ電圧は第1のパス電圧より大きく、選択メモリセルに隣接する第1のメモリセルに対応する第1のワード線を除くすべてのワード線を、第1のパス電圧より大きい第2のパス電圧に駆動し続けるように構成され、第1のメモリセルは選択メモリセルとストリング選択デバイスの間に位置し、選択メモリセルに隣接する第2のメモリセルに対応する第2のワード線を、第2のメモリセルをターンオフするように第1の電源電圧に駆動するように構成され、選択メモリセルに対応する第3のワード線を第2のパス電圧より大きいプログラム電圧に駆動するように構成され、かつ、ビット線を選択メモリセルに結合するように構成される。本態様の一実施形態では、ドライバは、ワード線ドライバと、ブロックデコーダと、行デコーダとを含む。ワード線ドライバは、行信号をメモリセルに、ソース選択信号をソース線選択デバイスに、ストリング選択信号をストリング選択デバイスに結合する。ブロックデコーダは、ブロックアドレスに応答してワード線ドライバをイネーブルする。行デコーダは、行アドレスに応答して、行信号、ソース選択信号、およびストリング選択信号を生成する。他の実施形態では、行デコーダは、行信号の1つを生成するための行デコーダ回路を含み、行デコーダ回路は、プログラム電圧、第1のパス電圧、および第2のパス電圧のうちの1つを、行信号の1つに選択的に結合するためのマルチプレクサを含む。行デコーダは、ソース選択信号を生成するための行デコーダ回路を含むことができ、行デコーダ回路は、VSSと第2のパス電圧のうちの1つをソース選択信号に選択的に結合するためのマルチプレクサを含む。行デコーダは、ストリング選択信号を生成することができ、行デコーダ回路は、VSSとVDDのうちの1つをストリング選択信号に選択的に結合するためのマルチプレクサを含む。本発明の他の態様および特徴は、当業者には、本発明の特定の実施形態についての以下の説明を、添付の図面と併せて読むことにより明らかになるであろう。次に、本発明の実施形態について、添付の図を参照して、例としてのみ説明する。一般に、本発明は、ランダムページプログラム動作を可能にしながら、プログラムストレスを最小にするための、NANDフラッシュメモリをプログラムする方法を提供する。ビット線がNANDストリングから減結合されると共に、NANDストリングは正にバイアスされたソース線から非対称にプリチャージされる。次いで選択メモリセルにプログラム電圧が印加され、それにビット線データの印加が続く。非対称プリチャージおよびプログラム電圧の印加の後に、すべての選択メモリセルは、それらの各NANDストリング内の他のメモリセルから減結合されるのに従って、プログラム禁止状態に設定され、それらのチャネルはプログラミングを禁止するのに有効な電圧まで局部的にブーストされる。VSSにバイアスされたビット線は、局部的にブーストされたチャネルをVSSに放電し、それによって選択メモリセルのプログラミングが生じるのを可能にする。VDDにバイアスされたビット線は、プリチャージされたNANDストリングに対しては何も影響を与えず、それによってその選択メモリセルのプログラムが禁止された状態を維持する。このNANDフラッシュメモリプログラム方法を、ソース側非対称プリチャージプログラム方式と呼ぶ。図1は、従来技術の通常のフラッシュメモリの全体的なブロック図である。フラッシュメモリ10は、フラッシュ回路の様々な機能を制御するための論理回路、アドレスおよびデータを記憶するためのレジスタ、必要なプログラムおよび消去電圧を発生するための高電圧回路、およびフラッシュメモリアレイにアクセスするための主要メモリ回路を含む。フラッシュメモリ10の図示の回路ブロックの機能は、当技術分野では良く知られている。当業者なら、図1に示されるフラッシュメモリ10は、多くの可能なフラッシュメモリ構成のうちの1つの可能な構成であることが理解される。図2a、2b、および2cは、図1に示されるフラッシュメモリセルアレイに用いられるNANDメモリセルストリングを示す。図2aは、2つのNANDメモリセルストリングの回路図である。図2bは、図2aに示される2つのNANDメモリセルストリングの物理的レイアウトである。図2cは、図2bに示される1つのNANDメモリセルストリングの線AAに沿った断面図である。ここに示す例では、各NANDメモリセルストリングは、それぞれのワード線WL0からWL31にそれぞれ接続された直列に接続された32個のフローティングゲートメモリセル50と、ビット線54と第1のフローティングゲートメモリセル50の間に接続されたストリング選択トランジスタ52と、共通ソース線58と最後のフローティングゲートメモリセル50の間に接続された接地選択トランジスタ56とを含む。ストリング選択トランジスタ52のゲートは、ストリング選択信号SSLを受け取り、接地選択トランジスタ56のゲートは、接地選択信号GSLを受け取る。各NANDメモリセルストリングは共通のワード線、ストリング選択SSL信号線、および接地選択GSL信号線を共有する。各メモリセル50、ストリング選択トランジスタ52、および接地選択トランジスタ56は、拡散領域62の間のゲート酸化物の下にチャネル領域60を有する。図示のNANDメモリストリングの構造および構成は、当技術分野では良く知られており、ストリング当たりに任意の数のメモリセルを含むことができる。一般に、同じワード線、SSL信号、およびGSL信号に並列に接続されたすべてのメモリストリングはメモリブロックを形成し、同じワード線に並列に接続されたすべてのメモリセルはメモリブロックのメモリページを形成する。当技術分野で良く知られた技術に従って、プログラム動作の前にメモリアレイのNANDメモリセルストリングは最初に消去される。NANDメモリセルストリングの各ブロックは選択的に消去することができ、したがって1つまたは複数のブロックを同時に消去することができる。このことは、メモリブロックのすべてのページは同時に消去されるが、メモリブロックの部分を選択的に消去することができることを意味する。消去が成功すると、すべての消去されたフローティングゲートメモリセル50は、負の閾値電圧をもつことになる。実効的にすべての消去されたメモリセル50は、例えば論理1などのデフォルトの論理状態に設定される。プログラムされたメモリセル50は、その閾値電圧が正の閾値電圧に変化し、したがって反対の0論理状態を表す。図3は、消去されたメモリセルおよびプログラムされたメモリセルに対する閾値電圧分布のグラフを示す。プロセスおよび電源変動により、消去後およびプログラム後の閾値電圧は、ある電圧範囲内に分布することになる。例えば図3に示されるように、消去されたメモリセルは、3Vから1Vの間の負の閾値電圧をもち、プログラムされたメモリセルは、1Vから3Vまでの範囲の正の閾値電圧をもち得る。一般にセルは、そのソースおよびドレイン端子を接地に保ったまま、そのゲートに高い電圧を印加することによってプログラムされる。高い電界により、メモリセルチャネル内の電子はゲート酸化物を越えてフローティングゲート内に埋め込まれトンネリングとして知られる、それによってメモリセルの実効閾値電圧を増加させる。通常、プログラミングはページごとに行われ、これは同じワード線に接続されたブロック内のすべてのメモリセル50は、書き込みデータで同時にプログラムされるように選択されることを意味する。したがってプログラム時には、残りのメモリセルは非選択となる。メモリセルは、プログラミングの前に消去状態にて開始するので、論理0でプログラムされるべきメモリセルだけがFNトンネリングを促進するのに必要な高い電界を受けるべきである。選択メモリセルのプログラミングは、選択メモリセルのゲートにプログラム電圧VPGMを印加することによって達成される。しかし、メモリアレイの物理的な接続により、同じワード線に沿ったすべてのメモリセルは、同じ高電圧プログラミングレベルを受け取る。その結果、消去されたメモリセルの閾値電圧が意図せずにシフトされる可能性がある。これはプログラムディスターブと呼ばれ、フラッシュメモリの分野では良く知られている。プログラムディスターブを最小にするために、当技術分野において知られたプログラム方式がある。1つの良く知られたプログラム方式は、JuneLeeらによる、A90nmCMOS18V2GbNANDFlashMemoryforMassStorageApplicationsと題する、IEEEJSolidStateCircuits、38巻、11号、1934~1942頁、2003年11月の論文に述べられている。この順次プログラム方式では、例えば図2aを参照すると、ストリング選択トランジスタ52はターンオンされ、接地選択トランジスタ56はターンオフされ、一方、プログラムされるべきセルのビット線電圧はVSSに設定され、プログラムが禁止されるべきセルのビット線電圧はVDDに設定される。VSSにバイアスされたビット線は、対応するNANDストリングのチャネルを接地に結合する。選択メモリセルのゲートにプログラム電圧が印加されると、ゲートとチャネルの間の大きな電位差の結果として、フローティングゲート上への電子のFNトンネリングを生じ、それによってセルをプログラムする。プログラムが禁止されるべきメモリセルでは、ビット線は、初めにNANDストリングチャネルをプリチャージする。NANDストリングのワード線電圧が、選択されたワード線に対してはプログラム電圧Vpgmまで、非選択ワード線に対してはパス電圧まで上昇すると、制御ゲート、フローティングゲート、チャネル、およびバルクを通じた直列キャパシタンスが結合され、チャネル電位は自動的にブーストされる。Vthsstをストリング選択トランジスタ52の閾値電圧としたとき、結合されたチャネル電圧がVDDVthsstまで上昇すると、ストリング選択トランジスタ52は遮断され、チャネルはフローティングノードになる。フローティングチャネル電圧は、ゲート電圧の約80まで上昇することが判明している。したがって、プログラムが禁止されたセルのチャネル電圧は、プログラム電圧Vpgmが155Vから20Vの間でパス電圧Vpassが10Vのとき、約8Vまでブーストされる。この高いチャネル電圧は、プログラムが禁止されたセルにおいてFNトンネリングが生じるのを防止する。残念ながらこのタイプのプログラム方式は、VDDに対する強い依存性という難点がある。より具体的には、ブーストされたチャネル電圧レベルは、VDDの関数である初期プリチャージレベルに強く依存する。選択されたNANDストリングのチャネルブースト前の最大プリチャージレベルは、選択されたNANDストリング内のすべてのセルが消去状態にあるとき、VDDVthsstとなる。しかし、VDD電圧を低くすることは、電力消費を低減するために非常に望ましい。NANDフラッシュでは、通常のVDD動作電圧は、現時点ではプロセスノードにかかわらず27Vから36Vの間である。50nmのプロセスノードでのNANDフラッシュメモリデバイスでさえも、33VのVDDを用いる。18Vが極めて望ましいにもかかわらず、33Vを保つ主な理由はプログラムストレスを低減するためである。このような方式のもう1つの問題は、SSLから隣接するワード線への結合であり、これはデバイス性能に悪影響を及ぼすことがある。プログラム動作において、ビット線電圧をNANDストリングに結合するようにSSLがVDDにバイアスされた後に、WL31は0Vからパス電圧Vpassに増加される。理想的には、ブーストされたチャネルは、ストリング選択トランジスタ52をターンオフするレベルまで上昇することになる。しかし、SSLはWL31との容量性結合によって一時的に増加し、その結果ストリング選択トランジスタ52の一時的な活動化を生じる。ブーストされたチャネルの容量は小さく、ビット線容量の1万分の1であることに留意すべきである。したがって、ストリング選択トランジスタ52は閾値未満の状況で動作するが、チャネルはビット線との電荷共有によってそのブーストされた電荷を失い得る。これにより、プログラムが禁止されたセルが、ストレスによって望ましくないプログラムを受ける可能性を生ずることになる。図4は、JuneLeeらの順次プログラム方式のシミュレーションであり、選択メモリセルに対してブーストされたチャネル電圧Vchboostを、電源電圧VDDとの関係において示す。このシミュレーションでは、Vpgm18V、Vpass10V、メモリセルの消去後の閾値電圧はVthcerase3V、およびメモリセルのプログラム後の閾値電圧はVtchpgm2Vである。Vchboostのデータは、3つの異なるシナリオに対してプロットされている。第1のシナリオでは、NANDストリングのすべてのメモリセルが消去されている。第2のシナリオでは、NANDストリングのメモリセルはチェッカボードデータパターンを有する。第3のシナリオでは、プログラムされるべき選択メモリセルとビット線の間のNANDストリングの非選択メモリセルがプログラムされている。最終のブーストされたチャネル電圧は、Vpgmが18Vのとき、ソフトプログラミングを避けるためには少なくとも7Vとなるべきである。しかし、NANDストリング内の非選択セルがすべてプログラムされるときは、Vchboostは6Vより低くなる。したがってVpgmストレスを低減するためにはVpassが増加されるべきであるが、Vpassが増加されることによってさらにVpassストレスが導入される。したがって、このようなプログラム方式のプログラム禁止の有効性は、バックグラウンドデータパターン依存性により減少する。さらに、シミュレーション結果は、VchboostはVDDに依存し、VDDが低下するに従ってプログラムを禁止するための有効性が低くなる。したがって、プロセス技術がスケールダウンするのに従って、VDDは低減されるべきである。VDDのスケーリングに適応するためには、上述のブースト型チャネルプログラム方式ではランダムページプログラミングは禁止され、メモリブロックは、プログラムストレスを最小にするために順次プログラミングに制限される。順次プログラミングでは、NANDストリングは、WL0に結合された最下ページから、WL31に結合された最上ページへ順次プログラムされ、選択セルの上側セルは常に消去されており、それにより非選択メモリセルは、ビット線から初期プリチャージ電圧をNANDストリングチャネルに完全に移転することができ、したがって結果として、より高いブーストされたプログラム禁止電圧を生じる。当業者には、ブロック内のランダムページプログラムの禁止は、一部の用途において性能の低下を生ずることが理解される。さらに順次ページプログラミングは、BDPDを除去せず、プログラムストレスを最小にするようにVpass電圧を低減することができない。最終のブーストされたチャネルプリチャージ電圧に影響を及ぼし得る、3つの可能なケースがある。ケース1では、WL0に対応するページ0がプログラムされ、すべての上側のメモリセルは消去状態にある。最終のブーストされたチャネル電圧は約96Vとなり、これはベストケースのシナリオである。ケース2では、WL15に対応するページ15がプログラムされ、すべての下側メモリセルはプログラムされており、すべての上側のメモリセルは消去されている。最終のブーストされたチャネル電圧は96Vより小さくなるが、次のワーストケースのシナリオより大きくなる。ケース3のワーストケースのシナリオでは、WL31に対応するページ31がプログラムされ、すべての下側セルはプログラムされている。最終のブーストされたチャネル電圧は、約65Vとなる。図5は、VDD33VおよびVDD18Vの場合の、BDPDに対する、結果としてのブーストされたチャネル電圧のシミュレーション結果をプロットしたものである。NANDストリングは、WL0に結合された最下メモリセルからWL31に結合された最上セルへプログラムされる。プログラミングが上側のメモリセルに達するにつれて、Vchboostのレベルは大幅に減少する。さらに、WL25からWL31へプログラムするとき、ブーストされたチャネル電圧は、VDDが33Vおよび18Vの両方の場合で6V未満であり、これはプログラムを禁止するには不十分な高さである。したがって従来技術の順次プログラム方式は、プログラムストレスの問題を完全には解決しない。上述の順次プログラム方式に対する改善は、TaeSungJungらによるA117mm233VOnly128MbMultilevelNANDFlashMemoryforMassStorageApplicationsと題する、31巻、11号、1575~1583頁、1996年11月の論文で述べられているような、ローカルセルフブーストによって達成される。TaeSungJungらの順次プログラム方式では、選択メモリセルの上側および下側隣接メモリセルのゲート電圧を0Vに減じることによって選択メモリセルをNANDストリングから減結合することにより、ローカルセルフブーストが用いられる。したがって、選択メモリセルは、そのチャネルにおいて、プログラム電圧が印加されたときに従来技術のNANDストリングチャネルブーストに比べて大きなブーストを受けることになる。しかし、選択メモリセルの上側隣接メモリセルは、プログラムのための0Vのビット線電圧を渡すために、消去されなければならない。選択メモリセルのチャネルブーストは改善されるが、上側隣接メモリセルに印加された0Vレベルは、そのセルが消去された場合にのみビット線電圧を渡せるので、依然としてランダムページプログラミングを実行することはできない。図6は、TaeSungJungらの局部的にブーストされた順次プログラム方式を用いた、4つの異なるシナリオの場合の、VDDに対する、結果としてのブーストされたチャネル電圧のシミュレーション結果をプロットしたものである。このシミュレーションでは、Vpgm18V、Vpass8V、メモリセルの消去後の閾値電圧はVthcerase3V、およびメモリセルのプログラム後の閾値電圧はVtchpgm2Vである。第1のシナリオでは、NANDストリングの選択メモリセルのすべての下側メモリセルはプログラムされている。これは、図6のppppのラベルが付けられたプロット曲線に対応する。第2のシナリオでは、すべての下側メモリセルは消去されており、eeeeのラベルが付けられたプロット曲線に対応する。第3のシナリオでは、下側メモリセルは交互に消去されプログラムされており、epepのラベルが付けられたプロット曲線に対応する。第4のシナリオでは、下側メモリセルは交互にプログラムされ消去されており、pepeのラベルが付けられたプロット曲線に対応する。図6に示されるように、pppp、eeee、およびepep曲線はほぼ重なり合っており、すべてVDDに対する強い依存性を有する。pepe曲線は、バックグラウンドデータへの依存性により、他の曲線と比べてかなり低いVchboostを有し、やはりVDDに対する強い依存性を有する。したがって、この従来型のローカルセルフブーストプログラム方式は、プログラムを防止するのに十分にブーストされたチャネル電圧を一貫しては、生じない。したがって、従来技術のプログラム方式を使用したNANDフラッシュメモリデバイスは、依然としてプログラム電圧ストレスおよびパス電圧ストレスを受け、図7に示されるようにプログラムされたおよび消去されたメモリセルに対して、結果としてシフトされた閾値電圧を生じる。さらにこれらの欠点は、NANDフラッシュメモリセルが順次プログラムされるときにも存在し、それによりメモリデバイスの動作上の融通性が制限される。図7は、プログラムディスターブを受けた、消去されたメモリセルおよびプログラムされたメモリセルの閾値電圧分布のグラフを示す。実線の曲線は図3に初めに示した閾値分布に対応し、点線の曲線はプログラムディスターブによりシフトされた閾値分布を示す。このシフトは、セルがディスターブを受けた累積回数による場合もあれば、または単一のプログラムディスターブ事象による場合もある。これは、シフトされた閾値は、図3に示されるような期待される閾値電圧に基づいてあらかじめ設定されたワード線読み出し電圧を使用する読み出し動作に影響を及ぼし得るので非常に問題である。上述のこれらの欠点は、半導体製造技術の継続するスケールダウンと共に、電源VDDも低いレベルにスケーリングされるのに従って悪化し続けることになる。実施形態についての以下の説明では、選択メモリセルとは、プログラム動作のためにアドレス指定された同じワード線に結合された、各NANDストリング内のメモリセルを指す。したがって、すべての選択メモリセルは、データのページと呼ばれる。選択メモリセルの下側隣接メモリセルは、選択メモリセルとソース線の間に位置するメモリセルを指す。選択メモリセルの上側隣接メモリセルは、選択メモリセルとビット線の間に位置するメモリセルを指す。プログラムされたデータのページは、前にプログラム動作を受けた、同じワード線に結合されたメモリセルに対応し、これはプログラムされることが禁止されるか、またはプログラムされることが許可される。図8は、図9のNANDストリングの回路図を参照した、ソース側非対称プリチャージプログラム方式の全般的な方法の実施形態を示すフローチャートである。図9の回路図は、前に図2aに示されたものと同一である。図8の方法は、第1のプリチャージステップ100で始まり、ここではステップ100にてNANDストリングのチャネルをプリチャージするためにソース線が用いられ、NANDストリングのメモリセルに対応する一定のチャネル範囲は、異なる電圧レベルにブーストされる。本実施形態では、NANDストリングチャネル範囲は、選択メモリセルの位置によって定義され、選択メモリセルはプログラムされるべきものである。図9に示される例では、WL26に結合されたメモリセルが選択メモリセルである。選択メモリセルはWL26に結合されているので、WL0からWL26に結合されたメモリセルのチャネルはNANDストリングの下側チャネル200となる。下側チャネルというラベルは、これらのメモリセルがソース線CSLに最も近いためであり、図9の例に特定のものである。WL27に結合された、選択メモリセルの上側隣接メモリセルに対応するチャネルは中間チャネル202であり、WL28からWL31に結合されたメモリセルのチャネルは上側チャネル204となる。一般に、図9に示されるものなどのNANDストリング構成では、下側チャネルはソース線CSLに最も近いチャネルの直列のグルーピングとなり、上側チャネルはビット線に最も近いチャネルの直列のグルーピングとなり、中間チャネルは選択メモリセルチャネルと上側チャネルとに隣接することになる。NANDストリングのこのチャネル範囲の定義を用いると、NANDストリングの非対称プリチャージは、NANDストリングの下側、中間、および上側チャネルのそれぞれが、異なる電圧レベルに設定されることを意味する。より具体的には、非対称プリチャージの最後の結果は、CSLからの最大の大きさの正電圧が、WL26に結合された選択メモリセルに渡され、Vthsstをストリング選択トランジスタ52の閾値電圧とすると、ストリング選択トランジスタ52のソース電圧はVDDVthsstより大きく、下側チャネル200と上側チャネル204とがプリチャージされるのに従って、中間チャネル202に対応するメモリセルは受動的にターンオフする。本実施形態では非対称プリチャージは、CSLが接地選択トランジスタ56を通じてNANDストリングに結合されたままで、ワード線を異なるパス電圧に駆動することによって達成される。これらのパス電圧のさらなる詳細は、後に述べる。NANDストリングが上記の状態に設定されると、ステップ102にて、選択メモリセルをデフォルトのプログラム禁止状態に設定することにより、第2のプリチャージステップが実行される。これは、印加されるプログラム電圧に応答した、選択メモリセルチャネルのローカルブーストによって行われる。選択メモリセルチャネルが局部的にブーストされると、これはFNトンネリングが起きるのを防ぐのに十分高くなり、それにより選択メモリセルのプログラムを禁止する。ローカルブーストのさらなる詳細は、後に述べる。この時点ではビット線はNANDストリングから減結合されているので、ビット線データにかかわらずすべての選択メモリセルに対して、デフォルトのプログラム禁止状態が設定されることに留意されたい。ステップ100および102はまとめて、ここに述べるソース側非対称プリチャージプログラム方式の実施形態の、非対称プリチャージフェーズと見なされる。次いでステップ104にて、すべてのNANDストリングをそれらのそれぞれのビット線に結合することによって、プログラムフェーズが開始される。一実施形態ではビット線は、ステップ100または102においてプログラムデータに応じて、すでにVDDまたはVSSに駆動されている。ビット線がVDDにある場合は、選択メモリセルはデフォルトのプログラム禁止状態のままとなる。ビット線がVSSにある場合は、選択メモリセルのチャネルは、選択メモリセルの上側隣接メモリセルと、上側チャネルに対応するメモリセルとを通じて、そのビット線によってVSSに放電される。いったん選択メモリセルのチャネルがVSSに放電されると、チャネルとプログラム電圧の間の大きな電位差はFNトンネリングを可能にするのに十分となり、それにより選択メモリセルをプログラムする。図10は本発明の一実施形態による、最小のプログラムストレスでNANDフラッシュメモリセルストリングをプログラムする方法のフローチャートである。図9のNANDストリングの回路図、および図11に示されるシーケンス図を参照して、本方法について説明する。図11のシーケンス図は、ストリング選択信号SSL、ワード線WL0からWL31、接地選択信号GSL、および共通ソース線CSLの信号トレースを示す。このプログラム方法において、これらの信号は、以下の関係を有する電圧レベルV1、V2、V3、V4、およびV5に駆動される。V1V2V3V5V4V3Vthcpgm、ただしVthcpgmは、プログラムされたメモリセルの閾値電圧である。以下の表1は、ここに述べるプログラム方式の電気的効果を示すのに役立つように、リストされたパラメータのサンプル値を示すものである。表1内のサンプル値は、特定のプロセス技術およびセル特性に対して用いることができる。当業者ならこれらの値は、異なるプロセス技術、セル特性、およびNANDストリング当たりのメモリセルの数によって変わることが理解できる。V3およびV4を除くすべての値は、現在のNANDフラッシュメモリデバイスについて典型的なものである。現在のNANDフラッシュメモリは、V3パス電圧を用いず、通常、VSSとVDDの間のV4を使用する。すべてのワード線、CSL、SSL、およびGSLの初期状態はVSSであり、この例ではプログラムされるべき選択メモリセルはWL26に結合されている。このプログラム方法はステップ300にて、図11の時間T0からT1の間に示されるように、ソース線CSLをV4にバイアスすることによって開始する。ステップ302でこれに続くのは、下側チャネル200と、上側チャネル204とを異なる電圧レベルにプリチャージするための第1の非対称プリチャージフェーズである。この第1の非対称プリチャージフェーズは、時間T1からT2の間にGSLをV5に駆動することによってCSLをNANDストリングに結合することと、時間T1からT2の間に、選択メモリセルの上側隣接メモリセルに結合されたワード線WL27を除くすべてのワード線をV2に駆動することを含む。WL27は、より低いV3の電圧レベルに駆動される。WL0からWL26に結合された非選択メモリセルを含む下側チャネル200は、少なくともV2VgstVthcpgmにプリチャージされることになる。これは、WL0からWL26に対応するページの少なくとも1つが、前にプログラム動作を受けていることを仮定している。表1の値を用いると、これは約72Vとなる。WL27、およびWL28からWL31は初期の0Vレベルから駆動されるので、これらのワード線がV3に達すると、中間チャネル202と、上側チャネル204は共に少なくともV3Vthcpgmにプリチャージされ、これは表1の値を用いると2Vとなる。これはワーストケース条件であり、中間チャネル202に対応するメモリセルが消去されている場合は、上側チャネル204は異なる電圧レベルにプリチャージされることに留意されたい。第1のケースで、下側チャネル200に対応するすべてのメモリセルが消去状態にある場合は、上側チャネル204は、V3Vthcerase、またはV4にプリチャージされることになる。第2のケースで、下側チャネル200に対応するすべてのメモリセルがプログラムされた状態にある場合は、上側チャネル204は、V3Vthcerase、またはV2Vthcpgmにプリチャージされることになる。これは、WL27に結合された、選択メモリセルの上側隣接メモリセルが、前に正の閾値電圧をもつようにプログラムを受けたページの一部であることを仮定している。一方、選択メモリセルの上側隣接メモリセルが消去状態にある場合は、そのチャネルはV3Vthceraseにプリチャージされ、これは表1の値を用いると5Vである。ワード線WL28からWL31の電圧レベルは引き続きV2であり、これは上側チャネル204内でチャネルブーストを生じる。より具体的には、上側チャネル204はV2V3だけブーストされ、最終的には選択メモリセルの上側隣接メモリセルは、上側チャネル204のブーストされたチャネル電圧によって受動的にターンオフされる。ステップ304でこれに続くのは、選択メモリセルのチャネルをプログラム禁止状態にプリチャージするための、第2の非対称プリチャージフェーズである。この第2の非対称プリチャージフェーズは時間T2で始まり、そのときWL25に結合された、選択メモリセルの下側隣接メモリセルは、WL25をVSSに駆動することによってターンオフされ、時間T3からT4の間にGSLをVSSに駆動することによって接地選択トランジスタ56をターンオフすることが続く。したがって、WL26に結合された選択メモリセルは、NANDストリングから減結合される。時間T4からT5の間では、選択メモリセル用のWL26はプログラム電圧V1に駆動され、それによってそのチャネルを約VbchVichγ×に局部的にブーストし、ただしVichはステップ302の第1の非対称プリチャージフェーズの結果としてのチャネルのプリチャージされた電圧レベルである。表1の例示の値を用いると、Vbch72V07V×128Vとなる。ブーストされたチャネル電圧と、プログラム電圧の差は、FNトンネリングを禁止することになり、したがってこれは選択メモリセルのプログラム禁止状態と呼ばれる。印加されたプログラム電圧がある状態でプログラムを禁止するのに十分な電圧は、チャネルをプログラム禁止状態に置くことになる。したがって時間T5で、すべての選択メモリセルはこのプログラム禁止状態にプリチャージされることになる。ここに述べるソース側非対称プリチャージプログラム方式の実施形態の非対称プリチャージフェーズは、第2の非対称プリチャージフェーズの終了で終わる。第2の非対称プリチャージフェーズは、WL26が、選択メモリセルチャネルのローカルブーストを生じるようにV1に達したすぐ後に終わる。ステップ306でこれに続くのはプログラムフェーズであり、ここではNANDストリングにビット線データが印加される。ビット線は、ステップ306の前のいずれかの時点でVDDまたはVSSに駆動されることに留意されたい。時間T5からT6の間に、ストリング選択トランジスタ52はVDDに駆動されてNANDストリングをそれぞれのビット線に結合する。ビット線がVDDに設定された場合は、ストリング選択トランジスタ52は、そのソース電圧とドレイン電圧が共にVthsstより大きくなるのでターンオフされたままとなる。より具体的には、ソース電圧は上側チャネル204のブーストされた電圧レベルであり、ドレイン電圧はVDDとなる。したがって選択メモリセルのチャネル内のブーストされた電荷は維持され、それによってプログラミングを防止する。一方、ビット線がVSSに設定された場合は、ストリング選択トランジスタ52はターンオンすることになる。上側チャネル204はVSSへ放電し、これは選択メモリセルの上側隣接メモリセルをターンオンして中間チャネル202をVSSに放電させる。したがって選択メモリセルチャネルのブーストされた電圧レベルはVSSに放電し、そのフローティングゲートに跨る必要な電圧差が確立される。時間T6からT7の間の期間は実際のプログラム期間であり、ここではVSSにバイアスされたビット線に結合された選択メモリセルのフローティングゲート酸化物内へ電子がトンネル移動して、プログラミングをもたらす。当業者ならT6からT7までの期間は、前に示された期間よりも長く、選択メモリセルが十分にプログラムされることを確実にするように選ばれることが理解できる。T6からT7までの期間の実際の長さは、プロセス技術および用いられる電圧に依存することになる。時間T7でプログラムフェーズは、WL26をVSSに駆動することによって終了され、時間T8ですべての残りのワード線、SSL、およびCSLがVSSに駆動される。前述の例示の動作は、上側隣接メモリセルと下側隣接メモリセルによって境界付けられた選択メモリセルに基づく。選択メモリセルが上側隣接メモリセルのみによって、および下側隣接メモリセルのみによって境界付けられる、2つ場合がある。第1のケースでは、選択メモリセルは第1のワード線WL0に結合され、ソース線CSLに最も近いメモリセルである。第2のケースでは、選択メモリセルは最後のワード線WL31に結合され、ビット線に最も近いメモリセルである。図12および13は、これら2つケースに対して、このNANDストリングプログラム方法の実施形態がどのようにして適用可能であるかを示すシーケンス図である。図12は、図11に示したものと同様なシーケンス図であり、選択メモリセルがWL0に結合されているときの、図2aのNANDストリングに印加される電圧のシーケンスを示す。図12には、図11に示されたのと同じ各期間が示される。この場合には、選択メモリセルの下側隣接メモリセルはない。より具体的には、選択メモリセルとソース線CSLの間には、接地選択トランジスタ56があるだけである。図11のプログラムシーケンスとの主な違いは、下側チャネルが選択メモリセルのみからなることである。図13のステップ304で時間T2からT3の間にターンオフさせるべき、選択メモリセルの下側隣接メモリセルはないので、選択メモリセルは、時間T3からT4の間に接地選択トランジスタ56をターンオフする動作によって減結合される。望むなら、接地選択トランジスタ56をターンオフするタイミングは時間T2からT3の間で、より早期に生ずるように調整することもできる。それゆえ残りのプログラムシーケンスは、図11と比べて変わらない。図13は、図11に示されたものと同様なシーケンス図であり、選択メモリセルがWL31に結合されている場合の、図2aのNANDストリングに印加される電圧のシーケンスを示す。図13には、図11に示されたのと同じ各期間が示される。この場合には、選択メモリセルの上側隣接メモリセルはない。より具体的には、選択メモリセルとビット線の間には、ストリング選択トランジスタ52があるだけである。故に選択メモリセルチャネルとビット線の間には、中間チャネルおよび上側チャネルはない。したがって、ステップ302において時間T2とT3の間で、上側隣接メモリセルを受動的にターンオフするために、中間チャネルと上側チャネルをプリチャージする必要はない。時間T1からT5の間でターンオフされるストリング選択トランジスタ52は、WL30に結合された選択メモリセルの下側隣接メモリセルと共に、選択メモリセルを絶縁することになる。残りのプログラムシーケンスは、図11と比べて変わらない。前述の実施形態において、いくつかの特徴が留意されるべきである。CSL、GSL、およびV2を同じに設定することにより、選択メモリセルチャネルを含む下側チャネル200は、チャネルブーストせずにVDDとは無関係のレベルにプリチャージされることになり、なぜならプリチャージフェーズ中には、VDDにバイアスされたビット線はNANDストリングに印加されないからである。下側チャネル200内のすべてのメモリセルが、前に正の閾値電圧にプログラムされているワーストケースのプリチャージシナリオの場合でも、V2GSLCSLの組合せは、ワーストケースのプリチャージレベルがV2VgstVthcpgmとなることを確実にする。局部的にブーストされたときは、選択メモリチャネルは、Vpgmストレスを最小にするのに十分すぎるほどの高い電圧レベルに達することになる。したがって下側チャネル200に対応するメモリセルのプログラミングまたはプログラム禁止に悪影響を及ぼすバックグラウンドデータパターン依存性はない。選択メモリセルの上側隣接メモリセルに印加されるワード線電圧だけをV2より低い電圧に制限することによって、上側チャネル204は、それらの対応するワード線がV2まで上昇し続けるのに従って、上側隣接メモリセルを受動的にターンオフするようにブーストされる。したがって、上側隣接メモリセルを能動的にターンオフすることは必要なく、それによりワード線デコード制御ロジックが簡単になる。選択メモリセルのワード線がプログラム電圧Vpgmに駆動されるとき、プリチャージされたNANDストリングは、プリチャージフェーズ後は、VSSにバイアスされたビット線のみに応答することになる。VDDにバイアスされ、プリチャージされたNANDストリングに印加されたビット線は、NANDストリングのプリチャージされた状態には影響を与えず、最も重要な点として、プログラム禁止状態の選択メモリセルに影響を与えない。したがって、中間チャネル202および上側チャネル204に対応するメモリセルのプログラミングまたはプログラム禁止に悪影響を及ぼすバックグラウンドデータパターン依存性はない。ランダムページプログラミングは実行することができ、なぜなら、選択メモリセルの上側隣接メモリセルはそのゲートがV3に駆動され、これはV2より小さくプログラム後の正の閾値電圧より大きいからである。したがって上側隣接メモリセルは、VSSにバイアスされたビット線を選択メモリセルに結合するように、常にターンオンすることになる。ここに述べるNANDフラッシュプログラム方式の有効性について、シミュレーションが行われ、結果が図14から16に示される。図14は、本発明の前述のソース側非対称プリチャージプログラム方式の実施形態、および図13に示したシミュレーションで用いたのと同じ電圧を用いて、選択メモリセルに対してブーストされたチャネル電圧Vchboostを、電源電圧VDDとの関係において示すシミュレーションである。このシミュレーションでは、Vpgm18V、VpassGSLCSL10V、V34V、Vtherase3V、およびVthpgm2Vである。3つのVchboost曲線がプロットされており、1つはすべてのメモリセルが消去されているケース、1つはすべてのメモリセルがプログラムされているケース、および1つはNANDストリングが消去されたメモリセルとプログラムされたメモリセルの組合せを含むケースである。最終のブーストされたチャネル電圧Vchboostの最小は、消去されたメモリセルとプログラムされたメモリセルの両方がNANDチェーン内にあるケースの場合の8Vと9Vの間であり、これは18VのVpgmにおいてソフトプログラミングを避けるのに十分である。すべてのメモリセルがプログラムされているケースでは、Vchboostは9Vから10Vの間であり、すべてのメモリセルが消去されているケースでは、Vchboostは13Vから14Vの間であることに注目すべきである。ここに述べる例において、選択メモリセルに対して必要な最終のブーストされたチャネル電圧の最小が7Vとなるべきである場合は、非選択メモリセルに対するVpassストレスを最小にするためにVpassを10Vから低減する余裕が存在する。図4の従来技術のプログラム方式のシミュレーションとの比較から、ここに述べる実施形態は、選択メモリセルに対して、より大きな最終のブーストされたチャネル電圧を一貫してもたらすことが明らかである。図14ですべてのメモリセルが消去状態にあるケースは、一定のメモリセルが消去状態にあることが要求される順次プログラム方式に類似する。したがって、順次プログラム動作に前述のソース側非対称プリチャージプログラム方式を適用することによって、Vpassはさらに低減することができる。順次プログラム動作では、図11から13に示される信号の印加の基本的なタイミングは同じになる。本実施形態によれば、ソース側非対称プリチャージプログラム方式を用いた順次プログラミングは、いずれの方向でも実行することができる。順次ページプログラミングの第1の方向は、WL31に結合された最も上側のメモリセルから、WL0に結合された最も下側のメモリセルへとなり、第2の方向は、WL0に結合された最も下側のメモリセルから、WL31に結合された最も上側のメモリセルへとなる。したがって第1および第2のいずれかの方向で順次プログラムするとき、プログラム方向において選択メモリセルに先立って常に消去されたメモリセルのページが存在することになる。プログラム方向にかかわらず、ワード線、SSL、GSL、およびCSLに対するバイアス条件は、下側チャネル200、中間チャネル202、および上側チャネル204を有するNANDストリングについて前述した通りのままとなる。図9に戻り、表1の例示の値を用いると、すべてのメモリセルは消去状態にあるので、下側チャネル200は常にV4までプリチャージされることになる。中間チャネル202および上側チャネル204は、中間チャネル202および上側チャネル204に対応するメモリセル内に、原因となるバックグラウンドデータが存在することになるので、少なくとも前述したのと同じ値までプリチャージされる。当業者には、選択メモリセルに対して初期にこのように高くプリチャージされたチャネルは、ローカルブーストがそのチャネル電圧をさらに増加させることが明らかであろう。したがってパス電圧V2は、10Vから、V3よりは依然として大きいが、選択メモリセルの最終のブーストされたチャネル電圧がプログラミングを禁止するのに有効であることを確実にするのに十分に高いレベルに低減することができる。したがって開示されたNANDフラッシュプログラム方法を用いて、NANDストリングが順次プログラムされると、完全にストレスのないプログラミングが達成される。図15は、4つの異なるシナリオの場合の、VDDに対する、選択メモリセルの最終のブーストされたチャネル電圧Vchboostのシミュレーションプロットである。このシミュレーションでは、Vpgm18V、V2CSLGSL8V、V34V、Vthcerase3V、およびVthcpgm2Vである。第1のシナリオでは、NANDストリングの選択メモリセルのすべての下側メモリセルは、プログラムされている。これは、図6のppppのラベルが付けられたプロット曲線に対応する。第2のシナリオでは、すべての下側メモリセルが消去されており、これはeeeeのラベルが付けられたプロット曲線に対応する。第3のシナリオでは、下側メモリセルは交互に消去およびプログラムされており、これはepepのラベルが付けられたプロット曲線に対応する。第4のシナリオでは、下側メモリセルは交互にプログラムおよび消去されており、これはpepeのラベルが付けられたプロット曲線に対応する。シミュレーション結果は、パス電圧V2を10Vから8Vに低くした後でも、ブーストされたチャネル電圧は、バックグラウンドデータパターンにかかわらず11Vよりも大きいことを示している。これは、選択メモリセルでのプログラミングを防止するのに十分高い。したがって、選択メモリセルの有効なプログラム禁止状態を維持しながら、パス電圧V2を低減する余裕が依然として存在する。プログラム方法の実施形態を用いた順次プログラム動作の場合の、最適なパス電圧レベルを求めるために、V2に対する、最終のブーストされたチャネル電圧Vchboostのシミュレーションが図16にプロットされている。このシミュレーションに対しては、Vpgm18V、V34V、Vthcerase3V、Vthcpgm2V、VDD18V、およびCSLGSLV2である。下側チャネル200内のすべてのメモリセルが消去状態にある場合は、図16は、V2が5Vに設定されたとき、選択メモリセルの最終のVchboostレベルは6Vから7Vの間となることを示す。これはVpgm18Vでの最小の有効なプログラム禁止電圧であるが、V2を6Vに設定するとVchboostは、8Vの少し上に劇的に上昇することになる。V2をさらに増加させると、Vchboostはさらに増加する。したがってV2は、非選択メモリセルに対するVpassストレスを最小にするように、かつVpgmストレスを最小にするように選択することができる。例えば、これらの例示の条件の下ではV2が7Vのときは、非選択の消去されたメモリセルはいかなるVpassストレスも受けず、ブーストされたチャネル電圧が11Vである選択メモリセルは、いかなるVpgmストレスも受けないことになる。したがってNANDストリングのプログラミングは、ストレスのないものとなる。ほとんどのNANDフラッシュデバイスは、密接したプログラムされたセルの分布を維持しながら、プロセスおよび環境変動の下で高速のプログラム性能を達成するために、インクリメンタルステップパルスプログラミングを行う。一般にISPP動作では、初期Vpgmは約16Vである。初期の16Vのプログラムパルスの後に必要な各後続パルスは、05Vステップで20Vまでインクリメントされる。従来技術のプログラム方式では、Vpassによって最終のブーストされたチャネル電圧Vchboostが決まる。Vpgmストレスを低減するために、Vpassは、Vpgmがインクリメントされるのに従ってインクリメントされるべきである。したがってVpassは、最大Vpgmレベルにてデータ1に対するプログラムを禁止するのに十分高い最大値をもつ必要がある。本実施形態のシミュレーション結果に示されるように、Vpgm値のある範囲に対するVpgmストレスを最小にするのに1つの最終のVchboostレベルが有効となるように、単一のVpassレベルを選択することができる。これは、Vpassを調整する必要なしに、Vpgmを最小値から最大値まで段階的に変化させ得ることを意味する。これにより、ワード線制御ロジックのオーバヘッドがさらに低減される。要約すると、前述のソース側非対称プリチャージプログラム方式の実施形態は、NANDストリングのソース側プリチャージを用いて、そのチャネルのグルーピングを異なる電圧レベル非対称にプリチャージし、これらのチャネルグルーピングは、プログラムされるべき選択メモリセルの位置によって定められる。非対称プリチャージの目的は、選択メモリセルをプログラム禁止状態に設定することであり、これは、上側隣接メモリセルとビット線の間のメモリセルのチャネルを、上側隣接メモリセルをターンオフするのに十分なレベルにブーストすることによって達成される。下側隣接メモリセルがターンオフされると、選択メモリセルはNANDストリングから完全に減結合される。印加されたビット線データがない状態で、そのチャネルを少なくともプログラム禁止電圧に局部的にブーストするように選択メモリセルに、プログラム電圧が印加される。したがって非対称プリチャージの後では、すべての選択メモリセルは、デフォルトによりプログラム禁止状態に設定される。後にVSSに結合されるNANDストリングだけが、選択メモリセルチャネルをVSSに放電することになり、それによって選択メモリセルのプログラミングが生じることになる条件を確立する。前述のNANDフラッシュプログラミングの実施形態から、具体的な性能上の利点が得られる。SSLは、プリチャージフェーズ全体にわたってVSSのままであるので、パス電圧の印加による、ストリング選択トランジスタ52への静電結合効果は皆無かそれに近い。したがってNANDストリングチャネルのブースト効率は、最大化される。ランダムページプログラム動作を実行することは可能であり、なぜなら選択メモリセルのブーストされたチャネル電圧は、NANDストリング中のバックグラウンドデータパターンおよびVDDレベルにかかわらず、常に、プログラムを禁止するのに十分な最小レベルにあるからである。順次プログラム動作は、非選択メモリセルへのVpassストレスをなくすように低減されたパス電圧で実行することができる。当業者なら、実施形態に示された形でワード線を制御するためには様々な回路があり、VDDより大きな電圧を発生しワード線制御回路に供給するために用いることができる、知られている電圧発生器があることが理解できる。前述のソース側非対称プリチャージプログラム方式の方法の実施形態により、ワード線WL0~WL31、ストリング選択線SSL、および接地選択線GSLを制御するために用いることができる例示の行制御ロジックは、図17から19に示される。図17は、例示の行制御ロジックまたはドライバのブロック図である。ドライバ400は、ブロックデコーダ402、行デコーダ回路408、およびワード線ドライバ回路410を含む。行制御ロジックは、例えば読み出しおよびプログラムコマンドなどの受け取ったコマンドに応答して、フラッシュメモリデバイス内のコマンドデコーダなどの制御回路によって制御される。フラッシュメモリデバイスのコマンドデコーダは、ソース側非対称プリチャージプログラム方式の実施形態を実行するように構成されることになる。行制御ロジック400をもつデバイスは、図17に示されていない他の回路によって用いることができる高電圧発生器404を有する。全体的に高電圧発生器404は、少なくともプログラム電圧V1、パス電圧V2、減結合電圧Vdcpとも呼ばれる低減されたパス電圧V3、CSL電圧V4、およびGSL電圧V5を発生することになる。メモリブロック当たり1つのブロックデコーダ402があり、これはワード線ドライバをイネーブルするためのブロックアドレスBAを受け取る。行デコーダ408は、すべてのメモリブロックによって共有され、行アドレスRAbおよび図示されていない他の信号を受け取って、全体的に行信号と呼ばれるソース選択信号SSL、ワード線信号S0n、および接地選択信号GSLを発生する。有効なブロックアドレスBAおよび行デコーダ信号に応答して、信号SSL、GSL、およびWL0WLnは、プログラム動作時にそれらの必要な電圧レベルに設定される。図18は、図17のブロックデコーダ402、およびワード線ドライバ回路410の、回路の詳細を示す回路図である。ブロックデコーダ402は1つのメモリブロックに関連付けられ、交差結合されたインバータラッチ回路およびレベルシフタ回路を含む。ラッチ回路は、交差結合されたインバータ500および502と、nチャネルリセットトランジスタ504と、nチャネルイネーブルトランジスタ506および508とを含む。ラッチ回路は、ラッチイネーブル信号LTCHENおよびブロックアドレスBAがハイ論理レベルにあるときイネーブルすなわちセットされる。インバータ500および502のラッチ回路は、信号RSTBDがハイ論理レベルにあるときリセットされる。レベルシフタ回路は、1対の交差結合されたpチャネルトランジスタ510および512を含み、各トランジスタはそれぞれnチャネルステアリングトランジスタ514および516に接続される。トランジスタ510と512の共通端子は高電圧Vhを受け取り、トランジスタ514と516の共通端子は負電圧Vnを受け取る。ノードVhは正電圧発生器404に接続され、ノードVnはVSSまたはオプションとして負電圧発生器によって発生される負電圧に接続される。ステアリングトランジスタ514および516は、インバータ500およびインバータ518の出力端に接続されたゲート端子を有し、インバータ518の入力端はトランジスタ514のゲートに接続される。インバータ500に供給される動作電源はVhより低く、インバータ502に供給される低電圧電源はVSSであるかまたはVnが負電圧の場合はVnより高いことに留意されたい。レベルシフタ回路の出力BDoutは、ワード線ドライバ410のすべてのnチャネルパストランジスタ520のゲート端子を駆動する。すべてのパストランジスタ520の基板端子は、Vnに接続される。各パストランジスタは、ソース選択、ワード線、および接地選択信号を選択的にメモリアレイに渡すことができる。プレースホルダnは、ゼロでない任意の整数とすることができ、通常、フラッシュセルストリング内の最大セル数に対応する。次に、ブロックデコーダ回路の全体的な動作を説明する。例えばプログラム動作では、1つのメモリブロックが選択され、他のブロックは非選択のままとなる。言い換えると、1つのメモリブロックをイネーブルすることができ、残りのメモリブロックはディスエーブルされる。メモリブロックをイネーブルするためにLTCHENおよびBAはハイ論理レベルになり、それによってレベルシフタ回路はハイ電圧Vhを出力するように設定される。したがって、ワード線ドライバ回路410のすべてのパストランジスタ520は、ターンオンされる。ワード線信号S0からSn、ならびに信号SSおよびGSは、前述のソース側非対称プリチャージプログラム方式の実施形態により、異なる電圧レベルに駆動される。ディスエーブルされたメモリブロックは、それらの対応するブロックデコーダ回路出力は低電圧Vnを出力するように設定される。したがって、非選択メモリブロック内のすべてのパストランジスタ520は、ターンオフされる。図19は、図17の行デコーダ408の1つの行デコーダ回路を示す回路図である。ここに示す図19の回路図は、機能のみを示すものであり、可能な、異なる特定の回路実装があり得る。図19は、1つの行信号Siを発生するための1つの回路を示し、iは0からnの間の整数とすることができるが、信号SSおよびGSを発生するための回路も同様に構成される。行デコーダ回路は、プログラム、プログラムベリファイ、読み出し、消去、および消去ベリファイ動作時に用いられるすべての電圧を受け取るためのマルチプレクサ600を含む。図19の回路図を簡単にするために、マルチプレクサ600は、ソース側非対称プリチャージプログラム方式の実施形態のために用いられる電圧のみを示すように構成されている。これは例えばプログラム電圧V1、パス電圧Vpass、低減されたパス電圧Vdcp、VDD、およびVSSを含む。図に示されていないが、GSLを生成するための行デコーダは、他の電圧の他に電圧V5を受け取るマルチプレクサをもつことになる。同様に、SSLを生成するための行デコーダは、他の電圧の他に電源電圧VDDを受け取るマルチプレクサをもつことになる。任意の数の電圧をマルチプレクサ600に供給することができ、次いで選択的にノードSnに渡される。電圧選択信号Vselectは、電圧の任意の1つを渡すために用いられる。当業者なら、Vselectは複数ビット信号となり、その数は、マルチプレクサ600がもつように構成された入力ポートの数に応じたものとなることが理解できる。nチャネルディスエーブルトランジスタ602は、ブロックが非選択のときに、Rabがハイ論理レベルにあるとき、SiをVSSに結合する。プログラム動作では、ディスエーブルトランジスタはターンオフされ、Vselectは、コマンドデコーダなどの制御ロジックによって制御され、必要な電圧をSiに結合する。一実施形態では、ブロックの各行デコーダ回路408に対して1つのVselect信号が存在する。したがって、1つのブロック内での行S1に対する1つのVselect信号は、他のブロック内の行位置S1に対して用いることができる。前述の説明では説明のために、本発明の実施形態の完全な理解を得るために、数多くの詳細が述べられた。しかし、当業者には、本発明を実施するためには、これらの特定の詳細は必要ないことが明らかであろう。他の場合では、良く知られている電気的構造および回路は、本発明が不明瞭にならないようにブロック図の形で示した。例えば、本明細書で述べられた本発明の実施形態が、ソフトウェアルーチン、ハードウェア回路、ファームウェア、またはそれらの組合せとして実装されるかどうかの具体的な詳細については示していない。上述の実施形態では、簡単にするために、デバイス要素は図に示されるように互いに接続される。装置への本発明の実用的応用では、デバイス、素子、回路などは、互いに直接接続することができる。また、デバイス、素子、回路などは、装置の動作に必要な他のデバイス、素子、回路などを通じて互いに間接的に接続してもよい。したがって実際の構成では、回路素子およびデバイスは、互いに直接または間接的に、結合または接続される。本発明の上述の実施形態は、例としてのみであるものとする。当業者なら、添付の特許請求の範囲のみによって定義される本発明の範囲を逸脱せずに、特定の実施形態に対して変更、修正および変形をもたらすことができる。