(57)【要約】  隣接セルのブースティングからの干渉の影響を緩和する不揮発性記憶装置をプログラムするシステムが提案される。メモリセルは２つまたはそれ以上のグループに分割される。一例では、メモリセルは、奇数と偶数のメモリセルに分割されるが、他のグループ分けも採用されうる。第１のトリガの前に、第１のグループのメモリセルが、時間の経過とともに増加するプログラミング信号を用いて、第２のグループのメモリセルとともにプログラムされる。第１のトリガに引き続いて第２のトリガの前に、第１のグループのメモリセルは、第１のトリガに応じて振幅が低下されているプログラミング信号を用いて第２のグループのメモリセルとは別にプログラムされる。第２のトリガに引き続いて、第１のグループのメモリセルは、第２のトリガに応じて上昇されているプログラミング信号で第２のグループのメモリセルとともにプログラムされる。両トリガの前後に、第１のグループのメモリセルは、第２のグループのメモリセルとともに検証される。【選択図】図１３
2013525935.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置をプログラムする方法であって、
プログラミング信号を用いて第１のグループの不揮発性記憶素子および第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
前記第１の状態が存在すると判断することと、
前記第１の状態が存在するとの判断に応じて前記プログラミング信号を低下させることと、
前記第１の状態が存在するとの判断に応じて、前記低下されたプログラミング信号を用いて前記第１のグループの不揮発性記憶素子を、前記第２のグループの不揮発性記憶素子をプログラムすることとは別にプログラムすることと、
を備える方法。
【請求項２】
前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子は、共通の制御ラインに接続され、前記プログラミング信号を前記共通の制御ライン上で受け取る、請求項１に記載の方法。
【請求項３】
前記第１の状態が存在すると判断した後、前記第１のグループの不揮発性記憶素子を前記第２のグループの不揮発性記憶素子とともに検証することをさらに備える、請求項１または２に記載の方法。
【請求項４】
第２の状態が存在すると判断することと、
前記第２の状態が存在するとの判断に応じて前記プログラミング信号を上昇させることと、
前記第２の状態が存在するとの判断に応じてプログラムするために前記上昇されたプログラミング信号を用いて、前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
をさらに備える、請求項１〜３のいずれかに記載の方法。
【請求項５】
前記第２の状態が存在すると前記判断することは、前記第１のグループの不揮発性記憶素子の少なくとも所定量の不揮発性記憶素子を決定することを備え、
１つ以上のデータ状態のサブセットにプログラムされるべき前記第２のグループの不揮発性記憶素子は、１つ以上のデータ状態の前記サブセットへのプログラムが成功している、請求項４に記載の方法。
【請求項６】
前記第２の状態が存在すると判断することは、所定量のプログラミングが実施されていると判断することを備える、請求項４に記載の方法。
【請求項７】
前記第２の状態が存在するとの判断に応じて、前記プログラミング信号は、プログラム−検証の複数回の反復にわたって上昇される、請求項１〜６のいずれかに記載の方法。
【請求項８】
第１の状態が存在するとの前記判断の前に、前記プログラミング信号は特定の割合で増加している振幅を有しており、
前記プログラミング信号を前記上昇させることは、前記プログラミング信号を、前記第１の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合おける前記プログラミング信号の振幅に基づいた値まで上昇させることを備える、請求項７に記載の方法。
【請求項９】
前記プログラミング信号は特定の割合で増加している振幅を有している前記第１の状態が存在するとの前記判断の前に、前記第２の状態が存在すると判断することと、
前記第２の状態が存在するとの判断に応じて、前記プログラミング信号を、前記第１の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいた値まで上昇させることと、
前記第２の状態が存在するとの判断に応じて前記上昇されたプログラミング信号を用いて、前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証することと、
をさらに備える、請求項１〜３のいずれかに記載の方法。
【請求項１０】
前記第１の状態が存在すると前記判断することは、前記第１のグループの不揮発性記憶素子の少なくとも所定量の不揮発性記憶素子を決定することを備え、
特定の組の１つ以上のデータ状態にプログラムされるべき前記第２のグループの不揮発性記憶素子は、前記特定の組の１つ以上のデータ状態へのプログラムが成功しており、
前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子は、データ状態のグループにプログラムされており、
前記特定の組の１つ以上のデータ状態は、前記消去された状態に最も近いデータ状態の前記グループのサブセットである、
請求項１〜９のいずれかに記載の方法。
【請求項１１】
第１のグループの不揮発性記憶素子および第２のグループの不揮発性記憶素子を含む複数の不揮発性記憶素子と、
前記不揮発性記憶素子と通信する１つ以上の管理回路と、を備え、
前記１つ以上の管理回路は、プログラミング信号を用いて前記第１のグループの不揮発性記憶素子および前記前記第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証し、
第１の状態が存在すると判断する前記１つ以上の管理回路は、第１の状態が存在するとの判断に応じてプログラミング信号を低下させ、
前記１つ以上の管理回路は、前記第１の状態が存在するとの判断に応じて前記低下されたプログラミング信号を用いて、第１のグループの不揮発性記憶素子を第２のグループの不揮発性記憶素子のプログラミングとは別にプログラムする、不揮発性記憶装置。
【請求項１２】
前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子は、共通制御ラインに接続され、前記プログラミング信号を前記共通制御ライン上で受け取る、請求項１１に記載の装置。
【請求項１３】
前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子は、多状態不揮発性記憶素子である、請求項１１または１２に記載の装置。
【請求項１４】
前記１つ以上の管理回路は、前記第１の状態が存在すると判断した後、前記第１のグループの不揮発性記憶素子を前記第２のグループの不揮発性記憶素子とともに検証する、請求項１１、１２、または１３に記載の装置。
【請求項１５】
前記１つ以上の管理回路は、第２の状態が存在すると判断し、
前記１つ以上の管理回路は、第２の状態が存在するとの判断に応じて前記プログラミング信号を用いて、前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証する、請求項１１〜１４のいずれかに記載の装置。
【請求項１６】
前記１つ以上の管理回路は、前記第２の状態が存在するとの判断に応じて前記プログラミング信号を上昇させる、請求項１５に記載の装置。
【請求項１７】
前記１つ以上の管理回路は、前記第２の状態が存在するとの判断に応じて、プログラム−検証の複数回の反復にわたって前記プログラミング信号を上昇させる、請求項１６に記載の装置。
【請求項１８】
第１の状態が存在するとの前記判断の前に、前記プログラミング信号は、特定の割合で増加している振幅を有しており、
前記１つ以上の管理回路は、前記プログラミング信号を、前記第１の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいた値まで上昇させる、
請求項１７に記載の装置。
【請求項１９】
前記１つ以上の管理回路は、第２の状態が存在すると判断し、
前記第１の状態が存在するとの前記判断の前に、前記プログラミング信号は特定の割合で増加している振幅を有しており、
前記１つ以上の管理回路は、前記第２の状態が存在するとの判断に応じて、前記プログラミング信号を、前記第１の状態が存在するとの判断に応じて前記プログラミング信号が低下されなかった場合における前記プログラミング信号の振幅に基づいてある値まで上昇させ、
前記１つ以上の管理回路は、前記第２の状態が存在するとの判断に応じて前記上昇されたプログラミング信号を用いて、前記第１のグループの不揮発性記憶素子および前記第２のグループの不揮発性記憶素子を同時にプログラムして同時に検証する、請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶装置のための技術に関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。
例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタル
アシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使
用されている。電気的消去・再プログラム可能型読取専用メモリ（ＥＥＰＲＯＭ）と
フラッシュメモリは、最も普及している不揮発性半導体メモリである。
【０００３】
ＥＥＰＲＯＭとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、
そのチャネル領域から絶縁されているフローティングゲートを採用している。フロー
ティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている
。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御
ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保
持されている電荷量によって制御される。 即ち、そのソースとドレインの間の導通を
可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は
、そのフローティングゲート上の電荷量レベルにより制御される。従って、フローテ
ィングゲートに保持されている電荷量を変化させることにより閾値電圧を変化させる
ことで、メモリセル（メモリセルは一つ以上のトランジスタを備えていてもよい）に
プログラムまたは／および消去を行うことができる。
【０００４】
各メモリセルは（アナログ又はデジタルの）データを記憶することができる。１ビ
ットのデジタルデータを記憶する場合（バイナリメモリセルと呼ばれる）、メモリセ
ルの可能な閾値電圧の範囲は、２つの範囲に分割され、それぞれの範囲が論理データ
の「１」と「０」に割り当てられる。ＮＡＮＤ型フラッシュメモリの一例では、メモ
リセルが消去された後では閾値電圧が負値となり、それは論理「１」と定義される。
プログラム後の閾値電圧は正値となり、それは論理「０」と定義される。閾値電圧が
負値であり、制御ゲートに０ボルトが印加される読み出しが試みられた場合、メモリ
セルがオンとなり、これは論理１が記憶されていることを示す。閾値電圧が正値であ
り、制御ゲートに０ボルトが印加される読み出し動作が試みられた場合、メモリセル
はオンせず、これは論理０が記憶されていることを示す。
【０００５】
一つのメモリセルで、複数レベルの情報を記憶することができる（マルチステート
メモリセルと呼ばれる）。複数レベルのデータを記憶する場合には、可能な閾値の範
囲は、データのレベルの数に分割される。例えば、４つのレベルの情報を記憶する場
合、４つの閾値電圧範囲が存在し、それぞれがデータ値「１１」、「１０」、「０１
」、及び「００」に割り当てられる。ＮＡＮＤタイプのメモリの一例では、消去動作
の後の閾値電圧は負の値となり、論理「１１」と定義される。正値の閾値電圧群が「
１０」、「０１」、「００」というデータ状態に対して用いられる。８つのレベルの
情報（又は状態）が各メモリセルに記憶される場合（即ち、３ビットのデータ）、デ
ータ値「０００」、「００１」、「０１０」、「０１１」、「１００」、「１０１」
、「１１０」、及び「１１１」に割り当てられる８つの閾値電圧範囲がある。メモリ
セルにプログラムされるデータとセルの閾値電圧レベルの間の具体的な関係は、セル
に採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照す
ることにより本明細書に組み込まれる米国特許第６，２２２，７６２号及び米国特許
出願公開公報第２００４／０２５５０９０号は、マルチステートフラッシュメモリセ
ルのための様々なデータ符号化方式を説明している。一実施形態においては、フロー
ティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に１つのビ
ットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲
に割り当てられる。いくつかの実施形態では、異なるワードラインに対してデータ符
号化方式が変更され得ることがある。データ符号化方式は、時間に依存して変更され
得ることがある。また、ランダムなワードラインのデータビットは、データパターン
感度を低減し、かつメモリセルの劣化を均一にするために、反転されることがある。
また、様々な符号化方式が使用され得ることがある。
【０００６】
ＥＥＰＲＯＭやＮＡＮＤ型フラッシュメモリデバイスなどのフラッシュメモリデバ
イスにプログラムを行う場合、典型的には、ビットラインが接地されるとともに、制
御ゲートにプログラム電圧が加えられる。チャネルからの電子がフローティングゲー
トへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲー
トが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルがプログラムされた
状態となる。プログラムに関するさらなる情報は、「Source Side Self Boosting Te
chnique for Non-Volatile Memory」と題した米国特許第６，８５９，３９７号、およ
び、「Detecting Over Programmed Memory」と題した米国特許出願公開公報２００５
／００２４９３９号に開示されている。これらの両方の文献の内容は、その全体を参
照することにより本明細書に組み込まれる。多くのデバイスでは、プログラム電圧は
、連続するパルスの各々で所定ステップサイズずつパルスの大きさが増加する一連の
パルスとして、プログラム動作の間にコントロールゲートに印加される。
【０００７】
多くの不揮発性記憶装置システムは、列と行に配列されたメモリセルのアレイを備
えている。（ワードライン、ビットライン、その他の種類のコントロールラインなど
の）コントロールラインは、様々な列および行に接続される。一例では、ワードライ
ンがメモリセルの行のアクセスに使用される一方、ビットラインがメモリセルの列の
アクセスに使用される。この配列では、プログラム電圧の一連のパルスは、複数の選
択メモリセルに接続されている選択ワードラインに印加される。パルスを印加される
選択メモリセルの各々は、パルスの印加に応じて閾値電圧が上昇する可能性がある。
メモリセルが目標の閾値電圧に到達すると、メモリセルはさらなるプログラムから除
外される。メモリセルが除外されると、そのメモリセルに隣接するメモリセルの期待
されているプログラム速度に干渉を起こすことが知られている。この影響によって、
隣接メモリセルの閾値電圧が所望の目標閾値電圧を超過することがあり、その結果、
オーバープログラムとなる。ある場合には、オーバープログラムされたメモリセルは
、読み出し時にエラーを起こすことがある。
【図面の簡単な説明】
【０００８】
【図１】ＮＡＮＤストリングの平面図である。
【図２】ＮＡＮＤストリングの等価回路図である。
【図３】不揮発性メモリシステムのブロック図である。
【図４】メモリアレイの一実施形態を示すブロック図である。
【図５】センスブロックの一実施形態を示すブロック図である。
【図６】複数の閾値電圧区分の一例および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ａ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｂ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｃ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｄ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｅ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｆ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｇ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｈ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図７Ｉ】様々な閾値電圧分布および不揮発性メモリのプログラミング処理を説明する図である。
【図８】不揮発性メモリのプログラミング順序の一実施形態を説明するテーブルである。
【図９】不揮発性メモリのプログラミング処理の一実施形態を説明するフローチャートである。
【図１０】不揮発性素子のプログラミング処理の一実施形態を説明するフローチャートである。
【図１１Ａ】隣接する２つのメモリセルの例の部分図である。
【図１１Ｂ】隣接する２つのメモリセルの例の部分図である。
【図１１Ｃ】隣接する２つのメモリセルの例の部分図である。
【図１２】複数のプログラムパルスの図である。
【図１３】複数のプログラムパルスの図である。
【図１４】複数のプログラムパルスおよび検証パルスの図である。
【図１５】複数のプログラムパルスおよび検証パルスの図である。
【図１６】波形の例を説明する図である。
【図１７】所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。
【図１８】所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。
【図１９】所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。
【図２０】所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。
【図２１】プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。
【図２２】プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。
【図２３】プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。
【図２４】トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。
【図２５】図２４の処理を実行するための一部の要素を図示するブロック図である。
【図２６】トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。
【図２７】図２６の処理を実行するための一部の要素を図示するブロック図である。
【発明を実施するための形態】
【０００９】
プログラミング中に隣接メモリセル間での干渉の影響を減少させることができる技
術について詳述する。
【００１０】
一組の実施形態では、メモリセルは２つまたはそれ以上のグループに分割される。
一例では、メモリセルは奇数および偶数のメモリセルに分割されるが、他のグループ
分けも採用されうる。第１のトリガの前に、第１のグループのメモリセルは時間の経
過とともに増加するプログラミング信号を用いて、第２のグループのメモリセルとと
もにプログラムされる。第１のトリガに引き続いて第２のトリガの前に、第１のグル
ープのメモリセルは、第１のトリガに応じて、振幅が低下されているプログラミング
信号を用いて第２のグループのメモリセルとは別にプログラムされる。第２のトリガ
に引き続いて、第１のグループのメモリセルは、第２のトリガに応じて上昇されてい
るプログラミング信号で第２のグループのメモリセルとともにプログラムされる。両
トリガの前後で、第１のグループのメモリセルは、第２のグループのメモリセルとと
もに検証される。一部の実施形態では、第２のトリガを利用せずに第１のトリガを使
用してもよい。
【００１１】
本明細書で説明されている技術は、多様なタイプの不揮発性メモリについて利用さ
れ得る。フラッシュメモリシステムの一例は、ＮＡＮＤ構造を用いており、２つの選
択ゲートの間に挟まれた複数のトランジスタの直列接続を含んでいる。直列に接続さ
れたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つの
ＮＡＮＤストリングを示す平面図である。図２は、その等価回路である。図１と図２
に示すＮＡＮＤストリングは、第１（又はドレイン側）選択ゲート１２０と第２（又
はソース側）選択ゲート１２２の間に挟まれている、直列に接続されている４つのト
ランジスタ１００、１０２、１０４及び１０６を有する。選択ゲート１２０は、ビッ
トコンタクト１２６を介してＮＡＮＤストリングをビットラインに接続している。選
択ゲート１２２は、ＮＡＮＤストリングをソースライン１２８に接続している。選択
ゲート１２０は、選択ラインＳＧＤに適切な電圧を加えることによって制御される。
選択ゲート１２２は、選択ラインＳＧＳに適切な電圧を加えることによって制御され
る。トランジスタ１００、１０２、１０４、及び１０６の各々は、制御ゲートとフロ
ーティングゲートを有している。例えば、トランジスタ１００は、制御ゲート１００
ＣＧとフローティングゲート１００ＦＧを備えている。トランジスタ１０２は、制御
ゲート１０２ＣＧとフローティングゲート１０２ＦＧを備えている。トランジスタ１
０４は、制御ゲート１０４ＣＧとフローティングゲート１０４ＦＧを備えている。ト
ランジスタ１０６は、制御ゲート１０６ＣＧとフローティングゲート１０６ＦＧを備
えている。制御ゲート１００ＣＧはワードラインＷＬ３に接続されており、制御ゲー
ト１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワー
ドラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接
続されている。
【００１２】
図１と図２は、ＮＡＮＤストリング内の４個のメモリセルを示しているが、４個の
トランジスタの使用は単に一例として提示されている点に留意されたい。ＮＡＮＤス
トリングは、４個よりも少ない、或いは、４個よりも多いメモリセルを有していてよ
い。例えば、ＮＡＮＤストリングによっては８個、１６個、３２個、６４個、１２８
個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数の
メモリセルを有するＮＡＮＤストリングにも限定されない。
【００１３】
ＮＡＮＤ構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、い
くつかのＮＡＮＤストリングを含んでいる。各ＮＡＮＤストリングは、選択ラインＳ
ＧＳによって制御されるソース選択ゲートによってソースラインに接続されていると
ともに、選択ラインＳＧＤによって制御されるドレイン選択ゲートによって関連する
ビットラインに接続されている。各ビットラインと、ビットラインコンタクトを介し
てそのビットラインに接続されている各々のＮＡＮＤストリングと、は、メモリセル
アレイの列を構成する。ビットラインは、複数のＮＡＮＤストリングによって共有さ
れている。典型的には、ビットラインは、ワードラインと直交する方向でＮＡＮＤス
トリング上を通っており、１以上のセンスアンプと接続されている。
【００１４】
ＮＡＮＤタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米
国特許／特許出願に記載されており、それらの引用文献は、その全体が参照により本
明細書に組み込まれる。米国特許第５，５７０，３１５号、米国特許第５，７７４，
３９７号、米国特許第６，０４６，９３５号、米国特許第６，４５６，５２８号、及
び、米国公開公報第ＵＳ２００３／０００２３４８号。本明細書における説明は、他
のタイプの不揮発性記憶素子と同様に、ＮＡＮＤを加えた他のタイプのフラッシュメ
モリにも適用可能である。
【００１５】
ＮＡＮＤフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いる
ことができる。例えば、不揮発性装置は、電荷を貯めるための誘電体層を用いたメモ
リセルによって製造されてもよい。前述した導電性のフローティングゲート素子の代
わりに、誘電体層が用いられる。誘電体記憶素子を用いたメモリ装置が、「NROM: A 
Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell」、IEEE Electron Dev
ice Letters、２１巻、１１号、２０００年１１月、５４３から５４５ページに、Eit
anらによって開示されている。ＯＮＯ誘電層は、ソース拡散領域とドレイン拡散領域
との間のチャンネルを横切って伸びている。あるデータビットの電荷がドレインに近
接した誘電層内に局在し、他のデータビットの電荷がソースに近接した誘電層内に局
在する。例えば、米国特許第５，７６８，１９２号および６，０１１，７２５号では
、２つの酸化シリコン層に挟まれたトラップ用の誘電層を有する不揮発性メモリセル
が開示されている。マルチステートのデータ記憶は、誘電層内の空間的に離れた電荷
蓄積領域のバイナリ状態を、別々に読み出すことで行われる。他のタイプのメモリ素
子も使用できる。
【００１６】
図３は、複数のメモリセル（例えば、ＮＡＮＤマルチステートフラッシュメモリな
ど）のページ（または他のユニット）に平行して読み出しおよびプログラミングを行
うリード／ライト回路を有する記憶デバイス２１０を示している。記憶デバイス２１
０は１以上のメモリダイまたはチップ２１２を備えていてもよい。メモリダイ２１２
は、メモリセルの（２次元又は３次元の）アレイ２００、制御回路２２０、及び、リ
ード／ライト回路２３０Ａと２３０Ｂとを有する。一実施形態では、様々な周辺回路
によるメモリアレイ２００へのアクセスはアレイの両側で対称的に実装されており、
これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード／ラ
イト回路２３０Ａ及び２３０Ｂは、複数のセンスブロック３００を有しており、それ
らのセンスブロック３００によって１ページのメモリセルを並列に読み出し又はプロ
グラムすることができる。メモリアレイ２００は、行デコーダ２４０Ａと２４０Ｂを
介したワードラインと、列デコーダ２４２Ａと２４２Ｂを介したビットラインによっ
てアドレス指定される。ワードラインおよびビットラインは、コントロールラインの
一例である。典型的な実施形態では、コントローラ２４４は、１つ以上のメモリダイ
２１２のような同じメモリデバイス２１０（例えば、取り外し可能なストレージカー
ド又はパッケージ）内に含まれる。命令、及びデータは、ライン２３２を介してホス
トとコントローラ２４４との間で転送され、また、ライン２３４を介してコントロー
ラと１つ以上のメモリダイ２１２との間で転送される。
【００１７】
制御回路２２０は、リード／ライト回路２３０Ａと２３０Ｂと協調して、メモリア
レイ２００に対してメモリ動作を実行する。制御回路２２０は、ステートマシン２２
２、オンチップアドレスデコーダ２２４、及び電力制御モジュール２２６を有してい
る。ステートマシン２２２は、メモリ動作のチップレベルの制御を提供する。オンチ
ップアドレスデコーダ２２４は、ホスト又はメモリコントローラによって用いられる
アドレスと、デコーダ２４０Ａ、２４０Ｂ、２４２Ａ及び２４２Ｂによって用いられ
るハードウェアアドレスと、の間のアドレスインタフェースを提供する。電力制御モ
ジュール２２６は、メモリ動作中のワードライン及びビットラインに供給される電力
及び電圧を制御する。一実施形態では、電力制御モジュール２２６は、供給電力より
大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
【００１８】
一実施形態では、制御回路２２０、電力制御回路２２６、デコーダ回路２２４、ス
テートマシン回路２２２、デコーダ回路２４２Ａ、デコーダ回路２４２Ｂ、デコーダ
回路２４０Ａ、デコーダ回路２４０Ｂ、リード／ライト回路２３０Ａ、リード／ライ
ト回路２３０Ｂ、及び／又はコントローラ２４４の一つ又は幾つかの組合せは、１つ
以上の管理回路と称されることがある。１以上の管理回路は、本明細書で記述する処
理を実行する。
【００１９】
図４は、メモリセルアレイ２００の例示的な構造を示す。一実施形態においては、
メモリセルのアレイは、数多くのメモリセルのブロックに分割される（例えば、ブロ
ック０−１０２３や、その他の量など）。フラッシュＥＥＰＲＯＭシステムに一般的
であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去され
る最小数のメモリセルを含む。その他の消去の単位を用いた装置も使用可能である。
【００２０】
ブロックは、ビットライン（例えばビットラインＢＬ０−ＢＬ６９６２３）および
ワードライン（ＷＬ０、ＷＬ１、ＷＬ２、ＷＬ３）を介してアクセスされるＮＡＮＤ
ストリングのセットを備えている。図４は、直列接続されることでＮＡＮＤストリン
グを形成している、４つのメモリセルを示している。各々のＮＡＮＤストリングに４
つのセルが含まれることが示されているが、４個よりも少ない、或いは、４個よりも
多いメモリセルを有していてよい（例えば、ＮＡＮＤストリングによっては、１６個
、３２個、６４個、１２８個やその他の数のメモリセルを有していてもよい。）各Ｎ
ＡＮＤストリングの一端は、（選択ラインＳＧＤに接続されている）ドレイン選択ゲ
ートを介して対応するビットラインに接続されており、他端は、（選択ラインＳＧＳ
に接続されている）ソース選択ゲートを介してソースラインに接続されている。
【００２１】
各ブロックは、通常、複数のページに分割される。一実施形態においては、ページ
はプログラムの単位である。その他のプログラムの単位も使用可能である。通常、１
つ以上のページのデータが１列のメモリセルに記憶される。例えば、データの１以上
のページが、共通ワードラインに接続されたメモリセルに記憶されてもよい。１つの
ページは、１つ以上のセクタを記憶できる。１つのセクタは、ユーザデータとオーバ
ヘッドデータ（システムデータとも呼ばれる）を含む。オーバヘッドデータは、通常
、ヘッダ情報と、セクタのユーザデータから算出される誤り訂正符号（Ｅｒｒｏｒ
Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：ＥＣＣ）と、を含む。コントローラ（または他の
構成要素）は、データがアレイにプログラムされているときにＥＣＣを計算し、デー
タがアレイから読み出されているときにＥＣＣのチェックも行う。代わりに、ＥＣＣ
及び／又は他のオーバヘッドデータは、それらが関係するユーザデータとは異なるペ
ージに記憶され、または異なるブロックに記憶される。ユーザデータのセクタは通常
、磁気ディスクドライブ内のセクタサイズに相当する５１２バイトである。例えば８
ページから３２、６４、１２８、或いはそれ以上のページまでの多数のページが１ブ
ロックを形成する。異なるサイズのブロックと、異なるサイズのページと、異なるサ
イズのセクタと、を採用することもできる。
【００２２】
図５は、センスモジュール４８０と呼ばれるコア部と共通部４９０とに分割された
個々のセンスブロック３００のブロック図である。一実施形態では、各ビットライン
に対して個別のセンスモジュール４８０を用意し、一組の複数センスモジュール４８
０に対して一つの共通部４９０を用意してもよい。一例として、１個のセンスブロッ
クは、１個の共通部４９０と８個のセンスモジュール４８０とを有している。グルー
プ内の各センスモジュールは、データバス４７２を介して協働する共通部と通信する
。一例としては、その全体を参照することにより本明細書に組み込まれる米国特許出
願公開公報２００６／０１４０００７号を参照されたい。
【００２３】
センスモジュール４８０は、接続されたビットライン内の伝導電流が予め決められ
たレベルより高いか低いかを判定するセンス回路４７０を備えている。幾つかの実施
形態では、センスモジュール４８０は、センスアンプと一般に呼ばれる回路を有する
。センスモジュール４８０は、さらに、接続されたビットラインに電圧状態を設定す
るために用いられるビットラインラッチ４８２を有している。例えば、予め決められ
た状態がビットラインラッチ４８２内でラッチされることによって、接続されたビッ
トラインを、プログラム禁止を指定する状態（例えば、Ｖｄｄ）に引き上げる（プル
する）。
【００２４】
共通部４９０は、プロセッサ４９２、データラッチ群４９４、及び、データラッチ
群４９４とデータバス４２０との間を接続するＩ／Ｏインタフェース４９６を備えて
いる。プロセッサ４９２は計算を実行する。例えば、その機能の１つは、センスされ
たメモリセル内に記憶されているデータを特定し、特定されたデータをデータラッチ
群内に記憶することである。データラッチ群４９４は、読み出し動作において、プロ
セッサ４９２によって特定されたデータビット群を記憶するために用いられる。デー
タラッチ群４９４は、プログラム動作において、データバス４２０から取り込んだデ
ータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモ
リ内にプログラムする予定のライトデータ（プログラムデータ）を表す。 Ｉ／Ｏイン
タフェース４９６は、データラッチ群４９４とデータバス４２０との間のインタフェ
ースを提供する。
【００２５】
読み出し又はセンス中には、システムの動作はステートマシン２２２の制御下にあ
り、ステートマシン２２２は（電力制御モジュール２２６を用いて）アドレス指定さ
れたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメ
モリ状態に対応する様々な既定制御ゲート電圧を受けるなかで、センスモジュール４
８０はこれらの電圧の１つに遷移し、バス４７２を介してセンスモジュール４８０か
らプロセッサ４９２に出力が提供される。その時点で、プロセッサ４９２は、センス
モジュールの遷移イベントと、ステートマシンから入力ライン４９３を介して加えら
れた制御ゲート電圧についての情報と、によって、結果としてのメモリ状態を特定す
る。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られ
たデータビット群をデータラッチ群４９４に格納する。コア部の別の実施形態では、
ビットラインラッチ４８２は、センスモジュール４８０の出力をラッチするラッチ、
及び、上記のようなビットラインラッチの二つの役割を持つ。
【００２６】
当然のことながら、いくつかの実装形態では複数のプロセッサ４９２を有すること
ができる。一実施形態では、各プロセッサ４９２は出力ライン（図５には示されてい
ない）を有し、各出力ラインは共にワイヤードＯＲ（配線論理和）接続される。いく
つかの実施形態では、出力ラインは、ワイヤードＯＲラインに接続される前段階で反
転される。この構成は、ワイヤードＯＲの結果を受け取るステートマシンが、プログ
ラムされる全てのビットがいつ所望のレベルに到達したかを判断できるので、プログ
ラム処理の完了時点を検証するプログラム検証処理における素早い判定を可能にする
。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「０」が
ワイヤードＯＲラインに送られる（又はデータ「１」が反転される）。全てのビット
がデータ「０」を出力すると（又はデータ「１」が反転されると）、ステートマシン
はプログラム処理の完了を知る。各プロセッサが８個のセンスモジュールと通信する
実施形態では、（いくつかの実施形態において）ステートマシンはワイヤードＯＲラ
インを８回読み出す必要があってもよいし、あるいは、協働するビットラインの結果
を蓄積するために論理をプロセッサ４９２に追加し、ステートマシンがワイヤードＯ
Ｒラインを一度だけ読み出せば良いようにしてもよい。
【００２７】
データラッチスタック４９４は、センスモジュールに対応するデータラッチのスタ
ックを有する。一実施形態では、センスモジュール４８０毎に３個（或いは４個或い
はその他の数の）データラッチが存在する。一実施形態では、ラッチは各々１ビット
である。
【００２８】
プログラム又は検証処理の間、プログラムされるべきデータはデータバス４２０か
ら１組のデータラッチ４９４内に記憶される。検証処理の間、プロセッサ４９２は、
所望のメモリ状態に対する検証メモリ状態を監視する。その２つが一致したとき、プ
ロセッサ４９２は、プログラム禁止を指定する状態にビットラインを引き上げる（プ
ルする）ようにビットラインラッチ４８２を設定する。これにより、たとえプログラ
ムパルスがその制御ゲートに影響しても、ビットラインに接続したメモリセルがさら
にプログラムされないようにすることができる。他の実施形態では、プロセッサが最
初にビットラインラッチ４８２をロードし、センス回路が検証処理中にそれに禁止値
を設定する。
【００２９】
いくつかの実装形態では、（必須ではないが）データラッチ群はシフトレジスタと
して実装され、内部に記憶されたパラレルデータをデータバス４２０用にシリアルデ
ータに変換したり、その逆を行ったりする。好適な一実施形態では、ｍ個のメモリセ
ルのリード／ライトブロックに対応する全てのデータラッチを相互にリンクしてブロ
ックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または
出力できるようにする。特に、リード／ライトモジュールの一群のデータラッチのそ
れぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード／
ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード／ライト
ブロック全体のためのシフトレジスタの一部であるかのようにしてもよい。
【００３０】
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている
。（１）米国特許出願公開２００４／００５７２８７号、「Non-Volatile Memory An
d Method With Reduced Source Line Bias Errors」、２００４年３月２５日公開、（
２）米国特許出願公開２００４／０１０９３５７号、「Non-Volatile Memory And Met
hod with Improved Sensing」、２００４年６月１０日公開、（３）米国特許出願公開
２００５０１６９０８２号、（４）米国特許出願公開２００６／０２２１６９２号、
「Compensating for Coupling During Read Operations of Non-Volatile Memory」、
発明者Ｊｉａｎ  Ｃｈｅｎ、２００５年４月５日出願、及び、（５）米国特許出願公
開２００６／０１５８９４７号、「Reference Sense Amplifier For Non-Volatile M
emory」、発明者Ｓｉｕ  Ｌｕｎｇ  Ｃｈａｎ及びＲａｕｌ−Ａｄｒｉａｎ  Ｃｅｒｎ
ｅａ、２００５年１２月２８日出願。これら５個の特許文献の全ては、その全体を参
照することにより本明細書に組み込まれる。
【００３１】
成功した（検証を含む）プログラム処理の最後において、メモリセルの閾値電圧は
、必要に応じて、プログラムされたメモリセルの１つ以上についての閾値電圧の分布
の範囲内、或いは、消去されたメモリセルについての閾値電圧の分布の範囲内となる
。各メモリセルが３ビットデータを記憶する場合における、メモリセルアレイについ
ての閾値電圧区分（或いはデータ状態）の例を図６に示す。この一方で、他の実施形
態では、１メモリセルあたり３ビットよりも多い、或いは３ビットよりも少ないデー
タを記憶するとしてもよい（例えば、１メモリセルあたり４ビット以上のデータを記
憶するなど）。
【００３２】
図６の例では、各々のメモリセルは３ビットのデータを保持する。よって、８つの
有効なデータ状態Ｓ０−Ｓ７が存在する。一実施形態では、データ状態Ｓ０は０ボル
トより低く、データ状態Ｓ１−Ｓ７は０ボルトより高い。他の実施形態として、８つ
のデータ状態の全てが０ボルトより高い場合や、その他のアレンジが実装可能である
。一実施形態では、Ｓ０の閾値電圧分布がＳ１−Ｓ７の分布よりも広い。
【００３３】
各々のデータ状態は、メモリセルに記憶された３ビットデータの固有の値に対応す
る。一実施形態では、S0=111，S1=110，S2=101，S3=100，S4=011，S5=010，S6=001，
S7=000，である。データ状態Ｓ０−Ｓ７の他のマッピングも使用することができる。
一実施形態では、１つのメモリセルに記憶されている全てのビットのデータは、同一
の論理ページに記憶される。他の実施形態では、メモリセルに記憶されているデータ
の各ビットは、異なるページに対応する。従って、３ビットのデータを記憶している
１つのメモリセルは、第１ページ、第２ページ、第３ページのデータを含んでいる。
いくつかの実施形態では、同一のワードラインに接続された全てのメモリセルが、同
一の３ページのデータを記憶するとされる。いくつかの実施形態では、１つのワード
ラインに接続されたメモリセルが異なるセットのページに分類される（例えば、偶数
および奇数ビットラインや、他の配列によって）。
【００３４】
いくつかの先行技術の装置では、メモリセルが消去されて状態Ｓ０となる。メモリ
セルは、状態Ｓ０から状態Ｓ１−Ｓ７の何れかへプログラムされてもよい。一実施形
態では、フルシーケンスプログラミングとして知られている、消去された状態Ｓ０か
らプログラムされた状態Ｓ１−Ｓ７の何れかに直接にプログラムする方法を行うこと
ができる。例えば、メモリセル群内のすべてのメモリセルが消去状態Ｓ０になるよう
に、プログラム対象のメモリセル群が最初に消去されてもよい。あるメモリセルが状
態Ｓ０から状態Ｓ１へプログラムされる間に、他のメモリセルが状態Ｓ０から状態Ｓ
２へ、状態Ｓ０から状態Ｓ３へ、状態Ｓ０から状態Ｓ４へ、状態Ｓ０から状態Ｓ５へ
、状態Ｓ０から状態Ｓ６へ、状態Ｓ０から状態Ｓ７へ、プログラムされる。フルシー
ケンスプログラミングは、図６の７つの曲線状の矢印を用いて図示されている。
【００３５】
図７Ａ−７Ｉは、何れの特定のメモリセルについても、前のページの隣接メモリセ
ルに書き込みが行われた後で、その特定ページに関連する特定のメモリセルに書き込
みを行うことによってフローティングゲート間の結合現象を低減する、不揮発性記憶
素子のプログラムの他の処理方法を示している。図７Ａ−Ｉの処理は、３つのプログ
ラム処理ステップである。第１ステップに先立ち、状態Ｓ０の消去閾値分布にするた
めに、メモリセルを消去する。
【００３６】
図７Ａ−７Ｉの処理では、各々のメモリセルが３ビットのデータを記憶しており、
各々のビットは異なるページに属すると仮定する。データの第１ビット（一番左のビ
ット）は、第１ページと関連する。真ん中のビットは、第２ページと関連する。一番
右のビットは、第３ページと関連する。データとデータ状態との相関は、以下の通り
である：Ｓ０＝１１１、Ｓ１＝１１０、Ｓ２＝１０１、Ｓ３＝１００、Ｓ４＝０１１
、Ｓ５＝０１０、Ｓ６＝００１、Ｓ７＝０００。しかしながら他の実施形態では、（
例えば、隣接状態間で、１ビットのみ変化するようにしたグレイコードのような）他
のデータコード化方式も使用可能である。
【００３７】
（図７Ａに示すように）第１ページにプログラムする際において、ビットをデータ
“１”にする場合には、メモリセルは状態Ｓ０が維持される（閾値電圧分布５０２）
。ビットをデータ“０”にする場合には、メモリセルにプログラムが行われ、状態Ｓ
４となる（閾値電圧分布５０４）。隣接するメモリセルがプログラムされた後、隣接
するフローティングゲート間の容量性カップリングにより、図７Ｂに示すように、状
態Ｓ４が広くなることがある。状態Ｓ０も広くなることがあるが、Ｓ０とＳ１の間に
は十分な余裕があるため、その影響を無視できる。フローティングゲート間の結合現
象についての詳細は、米国特許第５，８６７，４２９号および米国特許第６，６５７
，８９１号に開示されており、両公報は全体を参照することにより本明細書に組み込
まれる。
【００３８】
第２ページをプログラムする際において（図７Ｃを参照）、メモリセルが状態Ｓ０
であり第２ページのビットをデータ“１”にする場合には、メモリセルは状態Ｓ０が
維持される。いくつかの実施形態では、第２ページのプログラム処理は閾値電圧分布
５０１を狭めて新たなＳ０とすることができる。メモリセルが状態Ｓ０であり第２ペ
ージにプログラムすべきデータが“０”である場合には、メモリセルは状態Ｓ２へ移
される（閾値電圧分布５０６）。状態Ｓ２は、Ｃ*の検証ポイント（最低電圧）を有す
る。メモリセルが状態Ｓ４でありメモリセルに書き込みすべきデータが “１”である
場合には、メモリセルは状態Ｓ４が維持される。しかしながら図７Ｃに示すように、
状態Ｓ４についてメモリセルを閾値電圧分布５０４から閾値電圧分布５０８へ移動す
ることによって、状態Ｓ４は狭められる。閾値電圧分布５０８は、（閾値電圧分布５
０４のＥ**と比較して）Ｅ*の検証ポイントを有する。メモリセルが状態Ｓ４であり第
２ページにプログラムすべきデータが“０”である場合には、メモリセルの閾値電圧
は、Ｇ*の検証ポイントを有する状態Ｓ６（閾値電圧分布５１０）へ移動される。
【００３９】
隣接するメモリセルがプログラムされた後、隣接するフローティングゲート間の結
合により、図７Ｄの閾値電圧分布５０６，５０８，５１０に示すように、状態Ｓ２，
Ｓ４，Ｓ６が広くされる。時には、状態Ｓ０も広くなる場合がある。
【００４０】
図７Ｅ，７Ｆ，７Ｇおよび７Ｈは、第３ページのプログラムを示している。プログ
ラムを表すために１つの図を用いてもよいが、見やすくするために、処理を４つの図
に示す。第２ページがプログラムされた後では、メモリセルは状態Ｓ０，Ｓ２，Ｓ４
，Ｓ６の何れかとなる。図７Ｅは、第３ページにプログラムが行われる、状態Ｓ０の
メモリセルを表している。図７Ｆは、第３ページにプログラムが行われる、状態Ｓ２
のメモリセルを表している。図７Ｇは、第３ページにプログラムが行われる、状態Ｓ
４のメモリセルを表している。図７Ｈは、第３ページにプログラムが行われる、状態
Ｓ６のメモリセルを表している。図７Ｉは、メモリセル群に図７Ｅ，７Ｆ，７Ｇ，７
Ｈの処理が（一斉に、または連続的に）実行された後における、閾値電圧分布を示し
ている。
【００４１】
メモリセルが状態Ｓ０であり、第３ページのデータが“１”である場合には、メモ
リセルは状態Ｓ０が維持される。第３ページのデータが“０”である場合には、メモ
リセルの閾値電圧がＢの検証ポイントを有する状態Ｓ１へ上昇される（図７Ｅ参照）
。
【００４２】
メモリセルが状態Ｓ２であり、第３ページにプログラムされるデータが“１”であ
る場合には、メモリセルは状態Ｓ２が維持される（図７Ｆ参照）。しかしながら幾つ
かのプログラムでは、閾値区分５０６を狭めて、Ｃボルトの検証ポイントを有する新
たな状態Ｓ２とする。第３ページにプログラムされるデータが“０”である場合には
、メモリセルはＤボルトの検証ポイントを有する状態Ｓ３にプログラムされる。
【００４３】
メモリセルが状態Ｓ４であり、第３ページに書き込みされるデータが“１”である
場合には、メモリセルは状態Ｓ４が維持される（図７Ｇ参照）。しかしながら幾つか
のプログラムでは、閾値区分５０８を狭めて、Ｅの検証ポイントを有する新たな状態
Ｓ４とする。メモリセルが状態Ｓ４であり、第３ページにプログラムされるデータが
“０”である場合には、メモリセルの閾値電圧がＦの検証ポイントを有する状態Ｓ５
へ上昇される。
【００４４】
メモリセルが状態Ｓ６であり、第３ページに書き込みされるデータが“１”である
場合には、メモリセルは状態Ｓ６が維持される（図７Ｈ参照）。しかしながら幾つか
のプログラムでは、閾値分布５１０を狭めて、Ｇの検証ポイントを有する新たな状態
Ｓ６とする。第３ページのデータが“０”である場合には、メモリセルの閾値電圧が
Ｈの検証ポイントを有する状態Ｓ７へプログラムされる。第３ページのプログラムが
終了すると、メモリセルは図７Ｉに示す８つの状態のうち、何れか１つの状態となる
。
【００４５】
図８は、セットまたは複数のメモリセルの(複数の)ページに対するプログラム順序
の一例を示す図である。このテーブルは、図４の４本のワードライン（ＷＬ０、ＷＬ
１、ＷＬ２およびＷＬ３）についてのプログラム順序を表している。しかしながら、
このテーブルは、４本より多いまたは少ないワードラインについても適用可能である
。ＷＬ０に接続されたメモリセルの第１ページがプログラムされ、続いてＷＬ１に接
続されたメモリセルの第１ページがプログラムされ、続いてＷＬ０に接続されたメモ
リセルの第２ページがプログラムされ、続いてＷＬ２に接続されたメモリセルの第１
ページがプログラムされ、続いてＷＬ１に接続されたメモリセルの第２ページがプロ
グラムされ、などとなる。
【００４６】
図９は、選択されたワードラインに接続されているメモリセルのプログラム処理を
説明するフローチャートである。一の実施形態では、図９の処理はメモリセルのブロ
ックをプログラムするために用いられる。図９の処理の一の実装形態では、メモリセ
ルの劣化を均一に維持するために、メモリセルには事前プログラムが行われる（ステ
ップ５５０）。一実施形態では、メモリセルは、状態７や、ランダムパターンや、そ
の他のパターンに事前プログラムされる。いくつかの実装形態では、事前プログラム
を行う必要がない。
【００４７】
ステップ５５２では、プログラムに先立って、メモリセルが（ブロック単位又は他
の単位で）消去される。一実施形態では、ソースとビットラインをフローティング状
態にしておきながら、選択されたブロックのワードラインを接地し、かつ、十分な時
間の間、ｐウェルを消去電圧（例えば２０ボルト）にまで上昇させることによってメ
モリセルが消去される。容量性カップリングのため、非選択ワードライン、ビットラ
イン、選択ライン、及び、共通ソースラインもまた、消去電圧のかなりの割合の電圧
まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が
加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲー
トの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子
がフローティングゲートからｐ−ウェル領域に移動するにつれて、選択されたセルの
閾値電圧が低下する。消去は、メモリアレイ全体、個々のブロック、又はセルの他の
単位で行うことができる。一実施形態では、メモリセルが消去された後、全ての消去
済みのメモリセルが状態Ｓ０となる（図６参照）。
【００４８】
ステップ５５４では、消去されたメモリセルの消去閾値電圧の分布を狭めるために
、ソフトプログラムが実行される。いくつかのメモリセルは、消去処理の結果として
必要以上に低い消去状態にあってよい。ソフトプログラムにより、より深く消去され
たメモリセルの閾値電圧ほど、消去検証レベルに近づくように移動させることができ
る。例えば図６に示すように、ステップ５５４は、状態Ｓ０と関連する閾値電圧分布
を狭めるステップを含むことがあり得る。ステップ５５６では、本明細書で述べたと
おり、ブロックのメモリセルにプログラムが行われる。図９の処理は、上述した多様
な回路を用いたステートマシンの指示によって実行されうる。他の実施形態では、図
９の処理は、上述した多様な回路を用いたコントローラの指示によって実行されうる
。図９の処理の実行後に、ブロックのメモリセルは読み出し可能となる。
【００４９】
図１０は共通ワードラインに接続されているメモリセルにプログラムを実行する際
のプロセスの一実施形態を表すフローチャートである。図１０のプロセスは、図９の
ステップ５５６において１回または複数回実施されうる。例えば、図１０の処理は、
図６のフルシーケンスプログラミングを実行するために使用することができ、その場
合には図１０の処理は各々のワードラインについて１回実行されうる。一実施形態で
は、プログラムプロセスは、ソースラインの最も近くに位置するワードラインから開
始して、ビットライン側へ向かって順番に実施される。図１０のプロセスは、図７Ａ
−Ｉのプログラム処理に対して、ワードラインのデータのページにプログラムを行う
ためにも使用しうる。この場合には、各々のワードラインについて図１０の処理を３
回行うことができる。他の変更形態もまた使用可能である。図１０の処理はステート
マシン２２２の指示によって実行される。
【００５０】
通常、プログラム信号（プログラム電圧とも呼ばれる）は、プログラム動作の間に
、連続するパルスとして制御ゲートに印加される。プログラムパルスの合間には、検
証処理を可能とするための複数の検証パルスが存在する。多くの実装形態では、連続
する各々のパルスの大きさが、所定のステップサイズで増加する。図１０のステップ
６０８では、プログラム電圧（Ｖｐｇｍ）が初期値（例えば、〜１２―１６ボルトの
電圧など、その他の適切な値）に初期化されると共に、ステートマシン２２２によっ
て維持されるプログラムカウンタＰＣが１に初期化される。ステップ６１０において
、プログラム信号Ｖｐｇｍのプログラムパルスが、選択ワードライン（プログラム用
に選択されたワードライン）に印加される。非選択ワードラインは、従来知られる昇
圧方法を実行することで、１以上の昇圧電圧（例えば、９ボルトまでの電圧）を受け
る。メモリセルがプログラムされる場合には、対応するビットラインが接地される。
一方、メモリセルが現在の閾値電圧を維持する場合には、プログラムを禁止するため
に、対応するビットラインがＶDDに接続される。昇圧方式に関するさらなる情報は、
米国特許第６，８５９，３９７号、および、米国特許出願公開公報第２００８／０１
２３４２５号に記載されている。これらの両方の文献の内容は、その全体を参照する
ことにより本明細書に組み込まれる。
【００５１】
ステップ６１０では、選択ワードラインに接続されている全てのメモリセルが一緒
にプログラムされるように、選択ワードラインに接続されている全てのメモリセルに
プログラムパルスが一斉に印加される。すなわち、全てのメモリセルは、同一時間（
または重複した時間）にプログラムされる。このようにして、選択ワードラインに接
続されている全てのメモリセルは、プログラム対象から除外されない限り、一斉に閾
値電圧を変更することができる。
【００５２】
ステップ６１２では、適切な一組の目標レベルを使用して、選択されたメモリセル
の状態が検証される。図１０のステップ６１２は、１つ以上の検証動作を有している
。一般的に、検証動作および読み出し動作の期間では、関連するメモリセルの閾値電
圧がそれらのレベルに到達しているか否かを判断するために、選択されたワードライ
ンが電圧に接続され、その電圧レベルが、各々の読み出し動作および各々の検証動作
において特定される（例えば、図７ＩのＢ，Ｃ，Ｄ，Ｅ，Ｆ，ＧおよびＨを参照）。
ワードライン電圧を印加した後に、ワードラインに印加された電圧に応じてメモリセ
ルがターンオンしたか否かを判定するために、メモリセルの伝導電流が測定される。
所定値よりも大きい伝導電流が測定される場合には、メモリセルがターンオンしてい
ると推定され、かつ、ワードラインに印加された電圧がメモリセルの閾値電圧よりも
大きいと推定される。所定値よりも大きい伝導電流が測定されない場合には、メモリ
セルがターンオンしていないと推定され、かつ、ワードラインに印加された電圧がメ
モリセルの閾値電圧よりも大きくないと推定される。
【００５３】
読み出し動作または検証動作において、メモリセルの伝導電流を測定するためには
多くの方法がある。一例としては、センスアンプの専用キャパシタへの伝導電流の放
電速度または充電速度によって、メモリセルの伝導電流を測定する。別の例としては
、選択したメモリセルの伝導電流が、メモリセルを備えるＮＡＮＤストリングの対応
するビットラインを放電させる（または放電させない）。ビットラインが放電された
か否かを調べるために、一定期間後に、ビットラインの電圧が測定される。ここで述
べる技術は、検証および読み出しについての他の周知技術と共に利用しうることに留
意されたい。検証および読み出しに関する更なる情報は、その全体を参照することに
より本明細書に組み込まれる下記の特許文献に開示されている。（１）米国特許出願
公開２００４／００５７２８７号、「Non-Volatile Memory And Method With Reduce
d Source Line Bias Errors」、２００４年３月２５日公開、（２）米国特許出願公開
２００４／０１０９３５７号、「Non-Volatile Memory And Method with Improved Se
nsing」、２００４年６月１０日公開、（３）米国特許出願公開２００５０１６９０８
２号、（４）米国特許出願公開２００６／０２２１６９２号、「Compensating for C
oupling During Read Operations of Non-Volatile Memory」。
【００５４】
選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知され
た場合には、例えばそのメモリセルのビットライン電圧がその後のプログラムパルス
の間にＶｄｄまで高められることにより、そのメモリセルは以後のプログラムから除
外される。加えて、プログラミング動作の間に、パス電圧（例えば、１０ボルトまで
の電圧）が非選択ワードラインに印加される。（パス電圧とされている）非選択ワー
ドラインは（電圧がＶｄｄの）非選択ビットラインに接続され、非選択ビットライン
のチャンネルに（例えば、約８ボルトの）電圧を発生させる。これにより、プログラ
ムが防止される。メモリセルをプログラミング（と昇圧）から除外するための他の手
法も、本明細書で述べられている技術に用いることが可能である。
【００５５】
図１０へ戻り、ステップ６１４において、全てのメモリセルが目標閾値電圧に到達
したか否かが確認される。到達している場合には、全ての選択されたメモリセルがプ
ログラムされていると共に目標状態が検証されているため、プログラム処理が完了し
成功している。ステップ６１６において「合格」ステータスが通知される。ステップ
６１４の幾つかの実装形態では、少なくとも予め決められた数のメモリセルが適切に
プログラムされたことが検証されたか否かがチェックされることに留意されたい。こ
の予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセ
ルが適切な検証レベルに到達する前にプログラム処理が終了し得る。プログラムに成
功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る
。
【００５６】
ステップ６１４において、全てのメモリセルが目標閾値電圧に到達しているのでは
ないと判断された場合、プログラム処理は継続する。ステップ６１８では、プログラ
ムカウンタＰＣがプログラム限度値（ＰＬ）に対してチェックされる。プログラム限
度値の一例は２０である。しかしながら、これ以外の値の使用も可能である。プログ
ラムカウンタＰＣがプログラム限度値未満でない場合には、ステップ６３０にて、プ
ログラムに成功していないメモリセルの数が既定数以下かどうかが判定される。プロ
グラムに失敗したメモリセルの数が既定数以下の場合には、プログラム処理に合格の
フラグが立てられ、合格のステータスが通知される。多くの場合、プログラムに失敗
したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし
、プログラムに失敗したメモリセルの数が既定数よりも多い場合には、ステップ６３
４にて、プログラム処理に失敗したことを示すフラグが立てられ、失格ステータスが
通知される。
【００５７】
ステップ６１８において、プログラムカウンタＰＣがプログラム制限値ＰＬよりも
小さいと判断されると、プロセスはステップ６１９に進み、その期間にプログラムカ
ウンタＰＣは１だけインクリメントされる。ステップ６２０において、前のプログラ
ムパルスがすべてのビットライン（関連するメモリセルの各々はその目標に達してい
るかそれとも消去状態に保たれているはずであるかのいずれかであるので除外された
ビットライン以外のビットライン）に印加されたかそれともプログラミングをまだ必
要とするビットラインのサブセットに印加されただけであるかが判断される。後述す
るように、システムが奇数ビットラインしかプログラムしないときや、偶数ビットラ
インしかプログラムしないときには、特定の状況がある。システムがプログラミング
を必要とするすべてのビットラインをプログラムしている場合、次のステップは６２
２である（ステップ６２０の「同時（together）」結果を参照）。システムがプログ
ラミングを必要とする偶数ビットラインのみまたは奇数ビットラインのみをプログラ
ムしている場合、ステップ６２０の次のステップはステップ６４０である（ステップ
６２０の「単独（separate）」結果を参照）。
【００５８】
ステップ６２２において、トリガが発生しているかどうかが判断される。一実施形
態では、プログラム電圧Ｖｐｇｍ（たとえば、プログラムパルス）の振幅がトリガ電
圧に達するとトリガが発生する。他の実施形態では、他のトリガ（たとえば、時間に
よる基準、プログラムされたビット数、パルス数、電流など）が採用されうる。トリ
ガが発生していなければ、プログラム電圧Ｖｐｇｍは、ステップ６２４において、次
の振幅にステップアップされる。たとえば、次のパルスは、前のパルスよりもあるス
テップサイズ（たとえば、０．１〜０．４Ｖのステップサイズ）だけ大きい振幅を有
することになる。プログラム電圧Ｖｐｇｍをステップした後、プロセスはステップ６
１０にループバックし、全ビットライン（目標状態にあるために除外されたメモリセ
ルを除く）に対するプログラミングが行われるように、次のプログラムパルス（ステ
ップ６２４において設定された新たな振幅の）が選択ワードラインに印加される。上
述のように、プロセスはステップ６１０から進む。
【００５９】
ステップ６２２のトリガは、容量結合を伴う除外状態を伝逹するか別の方法で示す
ように設定される。一般に、隣接フローティングゲート間には容量結合がある。両方
の隣接フローティングゲート（第１のフローティングゲートおよび第２のフローティ
ングゲート）がプログラムされているとき、容量結合は一定かつ／または予測可能な
状態にある。第１のフローティングゲートがその目標状態に達しているためにプログ
ラミングから除外すると、その第１のフローティングゲートの電位はブースティング
によって上昇することになる。第１のフローティングゲートは比較的高い電位を有す
るので、第２のフローティングゲートに対する容量結合は増す。比較的高い容量結合
は、第２のフローティングゲートに対する電圧を増加し、第２のフローティングゲー
トのプログラミング速度を増す。このため、オーバープログラミングを招くおそれが
ある。オーバープログラミングに対するリスクは、低速プログラミング（両方の隣接
メモリセルがまだプログラムされているとき）から高速プログラミング（あるメモリ
セルがプログラムされておりその隣接メモリセルがプログラミングを禁止されている
とき）に遷移すると大きくなる。
【００６０】
図１１Ａは、２つの隣接するフローティングゲート８０６および８１０を示してい
る。フローティングゲート８０６および８１０の各々は、アクティブエリア８０４お
よび８０８の各々の上方に位置している。共通ワードラインポリシリコン層８０２は
、両方のフローティングゲートのコントロールゲートとして機能し、また、フローテ
ィングゲート間のシールド８０５を形成する。図１１Ａは、両方のフローティングゲ
ートがプログラムされている状態を示している。そのため、アクティブエリアは０ボ
ルトにされている。上述したように、一方のフローティングゲートがプログラムから
除外されると、そのアクティブエリアは７から１０ボルトの値まで昇圧される。それ
により、各フローティングゲートの電位が上昇すると共に、隣接するフローティング
ゲートへの容量性カップリングが増大する。その結果、隣接するフローティングゲー
トのプログラムが速くなる。速いプログラミングは、オーバープログラミングを発生
させることがある。
【００６１】
フローティングゲート８０６と８１０の間のシールド８０５は、容量性カップリン
グを縮小させる働きをする。しかし、大きな電圧がワードラインに印加されると、ポ
リシリコンのシールド８０５が空乏化する。例えば、図１１Ｂは、同一の２つのフロ
ーティングゲート８０６と８１０を示している。併せて、点線８１２が引かれたワー
ドラインポリシリコン層８０２も示している。点線８１２の下側の領域は、空乏化さ
れている。点線８１２の下側の領域が空乏化されているため、上述した容量性カップ
リングが十分に遮蔽されない。
【００６２】
図１１Ｃは、点線８１２の下方に空乏化された領域を有する、同一の２つのフロー
ティングゲート８０６と８１０を示している。しかしながら、図１１Ｃは、フローテ
ィングゲート８０６がプログラムから除外されている状態を示している。よって、ア
クティブエリア８０４が高電圧となることで、フローティングゲート８０６が高電圧
となる。フローティングゲート８０６が高電圧となりシールド８０５が空乏化される
ため、フローティングゲート８０６と８１０との間の容量性カップリングにより、フ
ローティングゲート８１０がより高電位となり、その結果プログラムが高速化する。
【００６３】
一実施形態では、図１１Ｃに関して説明したように、どの程度のワードライン電圧
でワードラインポリシリコン層８０２が空乏化してカップリングが発生するのかを突
き止めるために、デバイス特性（シミュレーションを含む）が使用される。他の実施
形態では、実際のシリコンチップをテストすることで、ワードライン電圧を測定する
ことができる。いくつかの実施形態では、シリコンチップの全てを検査することがで
きる。他の実施形態では、部品のサンプルを検査し、測定された電圧を部品のグルー
プ全体に使用することもできる。空乏化が始まる電圧を決定する他の方法を使用する
こともできる。
【００６４】
上述した、プログラム速度を増加させるために十分な空乏化を発生させるワードラ
イン電圧は、トリガ電圧であって、トリガ電圧は、図１０のステップ６２２で使用さ
れる。Ｖｐｇｍのプログラムパルスの大きさが、ワードラインポリシリコン層に十分
な空乏を発生させてカップリングを許容するトリガ電圧まで到達すると、トリガ条件
が満たされ、処理が図１０のステップ６３０へ進む。ワードラインポリシリコン層が
空乏化しカップリングを許容する状態で、一方の隣接メモリセルが除外され、他方の
隣接メモリセルがまだプログラム中である場合、即ち、プログラムの速度が上昇する
可能性がある場合を、ここでは除外状態と呼ぶ。
【００６５】
ステップ６２２に対するトリガの別の実施形態では、少なくとも所定量のメモリセ
ル（たとえば、奇数ワードラインおよび偶数ワードラインの両方に接続されたメモリ
セル）が特定の１組の１つ以上のデータ状態にプログラムされるべきときに、特定の
１組の１つ以上のデータ状態へのプログラムが成功している。たとえば、トリガは、
状態Ｓ１にプログラムしようとするメモリセルのすべてがデータ状態Ｓ１に達するこ
とに成功していることが検証されているとき、とすることができる。別の方法では、
システムは、状態Ｓ１にプログラムしようとするすべてのあるいは所定数のメモリセ
ルであって、データ状態Ｓ１に達することに成功していることが検証されているもの
に対して試験することができる。所定数とは、データ状態１に達するべきメモリセル
のすべてであって、エラー訂正コード（または、他のエラー回復プロセス）を用いて
読出しプロセス中に訂正されうる一部の数を除くものということになる。さらに別の
方法では、１つのデータ状態（たとえば、データ状態S１）に達するメモリセルに基づ
いてトリガせずに、システムはデータ状態Ｓ１、Ｓ２、およびＳ３（最も低い３つの
状態）など、複数のデータ状態に達するメモリセルに基づいてトリガすることができ
る。他データ状態の組も採用されうる。
【００６６】
除外状態が存在する（ステップ６２２のトリガによって伝達される）十分な機会が
あるとき、システムは奇数ビットラインに接続されたメモリセルを偶数ビットライン
に接続されたビットラインとは別にプログラムすることになる。このように、次のプ
ログラミングパルスによってプログラムされる所与のメモリセルに対して、同じワー
ドライン上の隣接セルは禁止されることが保証されるので、隣接セルからの結合は完
全に予測可能である。両方の隣接セルが禁止され、しかも両方の隣接セルを禁止する
ことでプログラミングが高速化される（これはオーバープログラミングを招く可能性
がある）ことは周知であるので、システムは除外状態を補償するためにＶｐｇｍのプ
ログラムパルスの電圧振幅を低減することになる。すなわち、Ｖｐｇｍのプログラム
パルスの電圧振幅を低下させることによってプログラミングが低速化され、これによ
ってプログラミングを高速化する除外状態が補償されるはずである。
【００６７】
図１０のステップ６３０において、プログラミング信号（たとえば、プログラムパ
ルス）の電圧振幅が低減される。一部の実施形態では、電圧振幅は０．５Ｖ低減され
る。他の実施形態では、電圧の低減は０．５Ｖと異なる場合がある。一部の実施形態
では、プログラム信号の電圧振幅の低減は、製造の時点、製品設計の時点、試験の時
点、またはその他の時点に設定されるパラメータに基づいている。サンプルの１組の
部品が所与のプロセスまたは設計に対して製造された後、エンジニアは、除外状態が
プログラミングの速度に及ぼす影響の大きさを試験してから、適切な量の電圧を選定
してプログラム信号を低下させ、除外状態を防ぐことができる。適切な量の電圧を決
定してプログラム信号を低下させ、除外状態を防ぐために、デバイスシミュレーショ
ンも採用されうる。
【００６８】
ステップ６３２において、偶数ビットラインに接続されたメモリセルのみにプログ
ラムするために、プログラムパルスが選択ワードラインに印加される。よって、偶数
ビットラインは０ボルトとされ、奇数ビットラインはＶｄｄが印加される。ステップ
６２６の期間では、偶数ビットラインのみがプログラムされる。ステップ６３２が実
行された後、同一の選択ワードラインにプログラムパルスを印加するステップを含ん
だステップ６３４が実行される。ステップ６３４の期間では、奇数ビットラインに接
続されたメモリセルのみがプログラムされる。よって、ステップ６３４は、奇数ビッ
トラインに０ボルトを印加し、偶数ビットラインにＶｄｄを印加するステップを含む
。従って、ステップ６３２と６３４とでは、２つの連続するプログラムパルスが、同
一のワードラインに（よって、そのワードラインに接続された同一のメモリセルのセ
ットに）印加される。しかしながら、偶数メモリセルのみが第１のパルスの間にプロ
グラムされ（ステップ６３２）、奇数メモリセルのみが第２のパルスの間にプログラ
ムされる（ステップ６３４）。従って、偶数ビットラインに接続されたメモリセル群
（偶数メモリセル）は、奇数ビットラインに接続されたメモリセル群（奇数メモリセ
ル）とは別にプログラムされる。例えば、ＷＬ２＿ｉが選択ワードラインとされ（図
４参照）、ステップ６３２においてＢＬ０，ＢＬ２，ＢＬ４ およびＷＬ２＿ｉに接続
されたメモリセルがプログラムされ、ステップ６３４においてＢＬ１，ＢＬ３，ＢＬ
５およびＷＬ２＿ｉに接続されたメモリセルがプログラムされる。奇数メモリセルに
ステップ６３２のプログラムパルスが印加されていても、それらのメモリセルはステ
ップ６３２の間はプログラムされることが抑制される。ステップ６３４で偶数メモリ
セルにプログラムパルスを印加されていても、それらのメモリセルはステップ６３４
の間はプログラムされることが抑制される。ステップ６３４の後、処理はステップ６
１２へ戻り、偶数ビットラインおよび奇数ビットラインのメモリセルは全て一緒に検
証される。（ただし、いくつかの実施形態では、目標に到達することでメモリセルが
すでに除外されている。）ステップ６１２以降は、上述したように処理が続行される
。ステップ６３２と６３４との間では、検証動作は行われない。
【００６９】
メモリセルのブロック（ブロックｉ）が記載されている図４へ戻る。一実施形態で
は、ワードラインに沿ったメモリセルは、２つのグループに分割される。第１のグル
ープは、奇数ビットライン（例：ＢＬ１、ＢＬ３、ＢＬ５、・・・）に接続されてい
る全てのメモリセルで形成される。第２のグループは、偶数ビットライン（例：ＢＬ
０、ＢＬ２、ＢＬ４、・・・）に接続されている全てのメモリセルで形成される。図
４に示されるように、偶数ビットラインと奇数ビットラインは、交互に配置される。
よって、偶数ビットラインに接続されたメモリセルのグループは、奇数ビットライン
に接続されたメモリセルと交互に配置される。偶数ビットラインのみがプログラムさ
れている場合には、奇数ビットラインに接続されている全てのメモリセルは除外され
る。これにより、プログラムされている何れのメモリセルにおいても、その両隣のメ
モリセルが除外されている状態を保証しうる。たとえカップリングを生じても、両隣
が除外されていることが保証されているため、カップリングが予測可能であり一定で
ある。その結果、オーバープログラミングの可能性が低くなる。ワードラインに接続
された複数のメモリセルが、２以上のグループに分割可能とされ、奇数および偶数グ
ループ以外の種類のグループに分類しうる。
【００７０】
ステップ６２０において、プログラム−検証の前の反復が、偶数ビットラインと奇
数ビットラインに対して別々のパルスを印加したと判断されると、プロセスはステッ
プ６４０に進み、システムは潜在的な除外状態の補償を証明し続けるかどうかを判断
する。
【００７１】
ステップ６４０の一実施形態では、プログラミングパルス（またはプログラム−検
証反復）の数が所定数に達すると、システムは補償（たとえば、奇数及び偶数のビッ
ト・ライン・プログラミングに対する別々のパルス）を終了する。たとえば、システ
ムはＰＣが所定数よりも少ないかどうかを試験することができる。
【００７２】
ステップ６４０の別の実施形態では、１つ以上のデータ状態である特定のセットに
プログラムされるべき少なくとも所定量のメモリセル（たとえば、奇数ワードライン
と偶数ワードラインの両方に接続されたメモリセル）が、１つ以上のデータ状態であ
る当該特定の組へのプログラムに成功していると、システムは補償（たとえば、奇数
と偶数とのビット・ライン・プログラミングに対する別々のパルス）を終了する。た
とえば、データ状態Ｓ６にプログラムするよう意図されているすべてまたはほとんど
すべてのメモリセルがＳ６にあることの検証に成功しているとき、システムは補償を
終了しうる。あるいは、データ状態Ｓ５およびＳ６にプログラムするよう意図されて
いるすべてまたはほとんどすべてのメモリセルがそれぞれＳ５およびＳ６にあること
の検証に成功しているとき、システムは補償を終了しうる。システムは、プログラム
に成功しているデータ状態にプログラムするよう意図されているすべてのメモリセル
、あるいはエラー訂正コード（または、他のエラー回復プロセス）を用いて読出しプ
ロセス中に訂正されうる小さい所定数を引いたすべてを試験することができる
【００７３】
ステップ６４０の別の実施形態では、追加的な除外状態の可能性が低いか否かが判
断されると、システムは補償（たとえば、奇数及び偶数のビット・ライン・プログラ
ミングに対する別々のパルス）を終了する。上述したように、除外状態は、あるメモ
リセルがプログラムされ、隣接するメモリセルがプログラムから除外され、ワードラ
イン電圧が十分に高くなることで発生する。除外状態は、プログラムの高速化を招く
。オーバープログラミングは、低速なプログラムから高速なプログラムへの移行時に
発生しうる。よって一実施形態では、システムは、除外状態の発現によって低速プロ
グラムから高速プログラムへの移行が発生する可能性があるかを確認する。システム
は、新しい除外状態または追加的な除外状態の潜在的な数を確認することで、低速か
ら高速プログラムへの移行の可能性を確認する。いくつかの実施形態では、読み出し
処理において周知のエラー訂正手法を用いてエラーが訂正されるため、システムは少
数のエラーを許容しうる。それゆえ、潜在的な除外状態の数が十分少ない場合には、
システムはエラーの可能性を許容でき、プログラムの際にエラーを訂正する必要がな
い。
【００７４】
ステップ６４０において、この時点で補償が終了しないと判断される場合、プロセ
スは先に進み、偶数ビットラインのメモリセルを奇数ビットラインのメモリセルのプ
ログラミングとは別に、かつ、時を異にしてプログラムするステップを含む、ステッ
プ６３２および６３４を実施する。
【００７５】
ステップ６４０において、この時点で補償が終了すると判断される場合、メモリシ
ステムは奇数および偶数のビットラインを同時にプログラムすることによってプログ
ラミングプロセスを継続することになる。一実施形態では、奇数および偶数のビット
ラインを同時にプログラムするステップに切替え復帰するとき、システムはプログラ
ミング電圧の振幅をさらに上昇させることになる（ステップ６４２）。ステップ６４
２において、プログラミング電圧の振幅を上昇させた後、プロセスはステップ６１０
に進み、奇数および偶数のビットラインの両方のメモリセルをプログラムするために
次のプログラミングパルスを印加する。一部の実施形態では、奇数および偶数ビット
ラインを同時にプログラムするステップに切替え復帰するときプログラミング電圧の
振幅が上昇されないようにステップ６４２はスキップされる。
【００７６】
ステップ６４２は、プログラミング電圧の振幅を上昇させるステップを含む。一実
施形態では、プログラミング電圧の振幅は、プログラミングの所望速度を得るために
所定の一定量上昇される。別の実施形態では、プログラミング電圧の振幅は、トリガ
が存在するとの判断に応じてプログラミング信号が低下されなかった場合に（一定の
割合で増加していた）プログラミング信号の振幅に基づいてある値まで上昇される（
ステップ６２２）。そして、ステップ６３０において、プログラミング電圧Ｖｐｇｍ
の振幅が低下されなかった場合に、ここでは振幅がＸＶになるであろう。したがって
、ステップ６４２は、Ｖｐｇｍの振幅をＸＶに上昇させるステップを含む。
【００７７】
一実施態様例では、プログラミング電圧Ｖｐｇｍの振幅は、１ステップにおいてそ
の目標まで上昇される（ステップ６４２）。別の実施態様では、プログラミング電圧
Ｖｐｇｍの振幅は、複数のステップにわたってその目標まで上昇される。たとえば、
プログラミング電圧Ｖｐｇｍの振幅は、複数のプログラム−検証反復のセットにわた
ってその目標電圧まで上昇されうる（ステップ６１０および６１２）。ステップ６４
０において、補償を終了することが決定される時点で、プログラミング電圧Ｖｐｇｍ
がステップ６３０において低下されなかった場合よりもプログラム電圧Ｖｐｇｍが０
．７Ｖ低いものであるとする。この別の方法では、プログラミング電圧Ｖｐｇｍは、
ステップ６１０において次のプログラミングパルスに対して０．４５Ｖ上昇可能であ
り、この後、ステップ６１０の次の反復における後続のプログラミングパルスに対し
てさらに０．４５Ｖ上昇可能である。プログラミング電圧Ｖｐｇｍは、プログラミン
グパルス間の０．２Ｖのステップに対応するために０．７Ｖでなく０．９Ｖ上昇され
る。これを達成するために、後続のステップ６２４は、プログラミング電圧Ｖｐｇｍ
を０．２Ｖのステップではなく０．４５Ｖ上昇するように修正されなければならない
。さらに別の方法では、プログラミング電圧Ｖｐｇｍは、２ステップ以上（たとえば
、３ステップ以上）にわたってその目標まで上昇される。
【００７８】
ステップ６４０において、新たな／追加的な除外状態の潜在的な数が小さいと判断
される場合、補償は継続することになり、メモリシステムは奇数および偶数のビット
ラインを別にプログラムすることによってプログラミングプロセスを継続することに
なる。それゆえ、プロセスは、ステップ６３２および６３４を実施することによって
継続することになり、これらのステップは偶数ビットラインのメモリセルを奇数ビッ
トラインのメモリセルのプログラミングとは別にかつ時を異にしてプログラムするス
テップを含む。
【００７９】
図１２はプログラム電圧Ｖｐｇｍの波形の一例である。図１２の信号は、パルス７
０２，７０４，７０６，７０８，７１０，７１２，７１４，７１６，７１８，７２０
，７２２，７２４，７２６，７２８，７３０，７３２，７３４そして７３６を有して
いる。プログラムパルス７０２−７２０は、トリガに先立って印加される。これらの
各パルスの大きさは、トリガ電圧よりも小さくされている。パルス７０２−７２０は
、図１０のステップ６１０の反復の一部として印加される。パルス７２０を印加した
後、（例えば、Ｖｐｇｍの大きさがトリガ電圧よりも大きくなるなどして）トリガ電
圧に到達し、奇数ビットラインと分離して、偶数ビットラインのプログラムが実行さ
れる（ステップ６３２およびステップ６３４）。従って、図１２には７２２および７
２４の、振幅が同じ２つのパルスが示されている。プログラミングパルス７２２は、
偶数ビットラインに接続されたメモリセル群をプログラムするためのパルスである（
ステップ６３２）。プログラミングパルス７２４は、奇数ビットラインに接続された
メモリセル群をプログラムするためのパルスである（ステップ６３４）。しかしなが
ら、７２２および７２４の両パルスは、同一の選択ワードラインに印加される。ステ
ップ６３０のとおり、パルス７２２および７２４の振幅はパルス７２０の振幅よりも
小さい。図１２の例では、奇数および偶数ビットラインを別々にプログラムする処理
が継続される（偶数ビットラインへの第１のプログラミングと、その後の奇数ビット
ラインへのプログラム）。例えば、（互いに同一の振幅であるが、パルス７２２およ
び７２４より振幅が大きい）パルス７２６および７２８は、図１０のステップ６３２
および６３４の次の反復である。パルス７３０および７３２は、ステップ６３２およ
び６３４のその次の反復である。パルス７３４および７３６は、図１２の例における
ステップ６３２および６３４の最期の反復である。パルス７３４および７３６の印加
後において、処理が無事に完了するように、全てのメモリセルが適切に検証される（
または十分なメモリセルが検証される）。
【００８０】
図１３は、Ｖｐｇｍのプログラミングパルスの他の波形例である。図１３の例は、
全てのビットラインのプログラム（ステップ６１０）から、偶数および奇数ビットラ
インの個別のプログラム（ステップ６３２および６３４）へのプログラム処理の遷移
と、その後に全てのビットラインのプログラム（ステップ６４０および６４２経由）
へ戻る遷移を含んでいる。プログラミングパルス７５０，７５２，７５４，７５６，
７５８，７６０，７６２，７６４，７６６及び７６８がステップ６１０の反復の間に
印加される。プログラミングパルス７６８の後に、トリガ電圧に到達し、偶数ビット
ラインに接続されたメモリセルをプログラミングパルス７７０でプログラムし、奇数
ビットラインに接続されたメモリセルをプログラミングパルス７７２でプログラムす
るために、ステップ６３２および６３４の処理が行われる。図１０のステップ６３０
のため、パルス７７０および７７２の電圧振幅は、パルス７６８の電圧振幅よりも小
さい。図１３は、ステップ６３２および６３４の３回の反復を示している。ステップ
６３２および６３４の２回目の反復において、プログラミングパルス７７４が偶数ビ
ットラインに接続されたメモリセルのプログラミングに使用され、プログラミングパ
ルス７７６が奇数ビットラインに接続されたメモリセルのプログラミングに使用され
る。ステップ６３２および６３４の３回目の反復において、プログラミングパルス７
７８が偶数ビットラインに接続されたメモリセルのプログラミングに使用され、プロ
グラミングパルス７８０が奇数ビットラインに接続されたメモリセルのプログラミン
グに使用される。ステップ６３４においてプログラミングパルス７８０が印加された
後は、除外状態の発生率が低いか否かが判断される。従って、処理はステップ６４２
を実行し、プログラム電圧Ｖｐｇｍの振幅を、補償が提供されない場合の値まで再び
上昇する。そして、プログラミングパルス７８２が、（目標とする状態に到達したた
めに除外されたメモリセルを除く）全てのビットラインに接続されたメモリセルに（
ステップ６１０で）印加される。図１０の処理の次の反復では、ステップ６１０にお
いて１つのプログラミングパルス７８４が印加される。プログラミングパルス７８４
の印加後において、十分な数のメモリセルが検証され、プログラム処理が無事に完了
したか否かが判断される。なお、破線７８５は、プログラミング信号Ｖｐｇｍの振幅
が補償前（たとえば、奇数／偶数ビットラインを別々にプログラムする前）に上昇し
ていることを示し、トリガが存在するとの判断に応じてプログラミング信号が低下さ
れなかった場合に、プログラムパルス７８２の振幅がプログラミング信号の振幅と等
しいことを示す。
【００８１】
上述したように、検証処理のセットが、プログラミングパルスの合間に実行される
。一実施形態では、検証パルスが選択ワードラインに検証処理ごとに印加される。例
えば、メモリセルが取りうる可能性のある８つのデータ状態がある場合には、７つの
検証処理がある。従って、７つの検証パルスが存在する。図１４は、プログラミング
パルス７０６、７０８および７１０の例を示している（図１２も参照のこと）。検証
パルスが、プログラミングパルス７０６、７０８および７１０の間に印加されている
。図１４の検証パルスの各々は、上述したように、検証処理に関連する。
【００８２】
図１５もまた、プログラミングパルスを示していており、そのプログラミングパル
ス間には検証パルスが存在する。図１５は、図１２のプログラミングパルス７２２，
７２４，７２６，７２８，７３０および７３２を示している。これらの６つのプログ
ラミングパルスは、トリガ電圧に到達した後に印加されるプログラミングパルスに関
連している。よって、奇数および偶数のメモリセルが個別にプログラムされる。上述
したように、プログラミングパルス７２２は偶数ビットラインに接続されたメモリセ
ルをプログラムし、プログラミングパルス７２４は奇数ビットラインに接続されたメ
モリセルをプログラムする。一実施形態では、プログラミングパルス７２２と７２４
との間には、検証動作は行われない。プログラミングパルス７２４の後であって、次
の対のパルス７２６および７２８の前に、検証動作を行うための複数の検証パルスの
セットが印加される。パルス７２６と７２８との間には、検証動作は行われない。パ
ルス７２８の後であって、次の対のパルス（７３０、７３２）の前に、対応する検証
処理のセットを行うために、検証パルスのセットが印加される。
【００８３】
図１６は、プログラム時における、様々な信号の動きを示した図である。さらに具
体的には、図１６は、図１０のステップ６１０, ６３２ または ６３４における１回
の反復の間での動作を示している。図示されたプログラム動作は、ビットラインプリ
チャージフェーズ、プログラムフェーズ、および放電フェーズにグループ分けするこ
とができる。
【００８４】
ビットラインプリチャージフェーズの期間（１）では、ＳＧＳを０ボルトに維持す
ることで、ソース選択トランジスタはターンオフされ、ＳＧＤがＶSGまで高まること
で、ドレイン選択トランジスタはターンオンされる。それゆえ、ビットラインがＮＡ
ＮＤストリングにアクセスすることが許可される。ビットラインプリチャージフェー
ズの期間（２）では、プログラムが禁止されたＮＡＮＤストリング（BL inhibit）の
ビットライン電圧を、ＶDDで与えられた所定電圧まで上昇させることが許可される。
プログラムが禁止されたＮＡＮＤストリングのビットライン電圧がＶDDまで上昇する
と、期間（３）においてドレイン選択トランジスタのゲート電圧ＳＧＤがＶDDまで低
下したときに、ＮＡＮＤストリングがフロートする。プログラムされるＮＡＮＤスト
リング（BL pgm）のビットライン電圧は積極的に０ボルトへ引き下げられる。幾つか
の別の実施形態では、プログラムされるＮＡＮＤストリングのビットライン電圧は、
一方または両方の隣接メモリセルがプログラム禁止モードか否かに基づいて、バイア
スがかけられている。バイアスに関するさらなる情報は、米国特許第７，１８７，５
８５号に記載されており、この文献の内容は、その全体を参照することにより本明細
書に組み込まれる。
【００８５】
プログラムフェーズの期間（４）では、ＮＡＮＤストリングを昇圧できるように、非選択ワードライン（ＷＬ＿ｕｎｓｅｌ）がＶＰＡＳＳにセットされる。プログラムが禁止されたＮＡＮＤストリングがフロートしているため、アドレス指定されていないメモリトランジスタのコントロールゲートに印加されている高ＶＰＡＳＳは、チャンネルおよび電荷蓄積素子の電圧を上昇させる。よって、プログラムが禁止される。ＶＰＡＳＳは、一般的には、Ｖｐｇｍ（例えば、〜１２−２４ボルト）に対する中間電圧（例えば、〜１０ボルト）に設定される。
【００８６】
プログラムフェーズの期間（５）では、プログラミング電圧Ｖｐｇｍがプログラミ
ングパルスとして、選択ワードライン（ＷＬ＿ｓｅｌ）に印加される。期間（５）の
プログラミングパルスは、図１２のパルス７０２−７３６の何れか、または図１３の
パルス７５０−７８４の何れかに対応する。（例えば、昇圧されたチャンネルおよび
電荷蓄積ユニットを有する）禁止されているメモリセルには、プログラムが行われな
い。（選択ワードラインに接続された）選択メモリセルが、プログラムされる。放電
フェーズの期間（６）では、様々なコントロールラインとビットラインとが放電する
ことが許可される。
【００８７】
図１７は、追加的に除外状態となる可能性が低いために補償を終了させるか否かを
決定する処理の一実施形態のフローチャートである（図１０のステップ６４０の間で
実行される）。ステップ８５０において、同一ワードラインに沿って、各メモリセル
が隣接するメモリセルと比較される。ステップ８５２において、システムが除外状態
へ移行する可能性があるものの数Ｘをカウントする。２つの隣接メモリセルが両方と
もまだプログラムされている場合には、隣接メモリセルの一方が除外される前に隣接
メモリセルの他方が目標に到達する可能性があるため、潜在的な除外状態が存在する
。従って一実施形態では、ステップ８５２は、まだプログラムが行われている隣接メ
モリセルのペアの数を数えることを含んでいる。潜在的な除外状態の数が閾値よりも
大きい場合には（ステップ８５４）、追加的に除外状態となる可能性が低くない（ス
テップ８５８）。潜在的な除外状態の数が閾値よりも大きくない場合には、追加的に
除外状態となる可能性が低い（ステップ８５６）。ステップ８５４の閾値は、エラー
訂正符号（あるいは他のエラー回復処理）によって訂正されたビット数に基づいて設
定される。例えば、一実施形態では、７ビットまでの誤ったデータ（データの約０．
０１パーセント）を訂正できるエラー訂正符号が備えられている。従って、潜在的な
除外状態の数が７未満である場合には、追加的に除外状態となる可能性が低い（ステ
ップ８５６）。他の閾値を使用することもできる。他の実施形態では、ステップ８５
０は、隣接するメモリセルと比較されるメモリセルの一部のみについて実行されうる
。そして、比較結果からメモリセル全体についての推定が行われ、閾値と比較される
。
【００８８】
図１８は、図１７の処理を実行可能なハードウェアの一例を示すブロック図である
。全メモリセルのデータラッチ４９４（図５参照）が、シフトレジスタ８８０へデー
タを供給する。一実施形態では、シフトレジスタ８８０は、実際のデータラッチ４９
４を含んでいてもよい。シフトレジスタ８８０は、全てのビットラインの全データを
保持する。データは１回につき１ビットずつシフトする。よってデータは、まず１ビ
ットレジスタ８８２にシフトアウトされ、その後に１ビットレジスタ８８４にシフト
アウトされる。レジスタ８８２内のデータと、レジスタ８８４からのデータは、ＮＯ
Ｒゲート８８６へ送られる。ＮＯＲゲート８８６の出力は、加算器８８８に送られる
。加算器８８８の出力はステートマシン２２２に供給される。ステートマシン２２２
は、潜在的な除外状態の数が閾値よりも大きくないか否かを判断する。図１８の回路
は、隣接するビットラインが０−０を記憶していることの発生数をカウントする。一
例では、特定のメモリセルがプログラムされるべきか禁止されるべきかの指示を記憶
するためにデータラッチが使用されることで、センス回路によって適切な電圧がビッ
トラインに印加されるように構成されている。一実施形態では、それぞれのデータラ
ッチは、ビットラインが禁止されるべき場合は「１」を記憶し、ビットラインがプロ
グラムされるように設定されるべき場合には「０」を記憶する。反対の極性も使用可
能である。従って、図１８の回路は、データが０−０である隣り合うビットラインを
探し、探し出した回数を加算器８８８を用いてカウントする。加算器８８８が０−０
をカウントした回数が閾値よりも大きい場合には、ステートマシンは、追加的に除外
状態となる可能性が低くないと結論を出す。
【００８９】
図１９は、追加的に除外状態となる可能性が低いか否かを判断する他の実施形態に
ついての記載である（図１０のステップ６４０の間に実行される）。ステップ９０２
において、まだプログラム中のメモリセルの数がカウントされる。別の手段として、
除外されたメモリセルの数がカウントされる。ステップ９０４において、まだプログ
ラム中のメモリセルの数が閾値未満か否かが判断される。プログラム中のメモリセル
の数が閾値未満である場合には（ステップ９０４）、追加的に除外状態となる可能性
が低い（ステップ９０６）。除外されたメモリセルの数が閾値未満でない場合には、
追加的に除外状態となる可能性が低くない（ステップ９０８）。一実施形態では、０
．４％だけのメモリセルがまだプログラム中の場合（または９９．６％のメモリセル
が除外されている場合）に、追加的に除外状態となる可能性が低くなるように、閾値
が設定される。なお、他の閾値も使用可能である。
【００９０】
図２０は、図１９の処理を実行可能なハードウェアの一例を示すブロック図である
。図２０は、コンパレータ回路９２０と通信し、ビットラインの各々のグループのた
めに備えられた各々のプロセッサ４９２（例えば、８本のビットラインのために１つ
のプロセッサ４９２が備えられる）を示している。プロセッサの各々は、各ビットラ
インがプログラムされるか除外されるかを指示する。コンパレータ９２０は、除外さ
れたビットラインの数をカウントする回路を含んでいる。一実施形態では、上述した
ラッチ群からデータが供給されることで、カウントが遂行される。コンパレータ９２
０は、閾値（ステップ９０４参照）を示すパラメータ９２２にアクセス可能であり、
また、その閾値を除外されたビットラインの総数と比較することが可能である。コン
パレータ９２０の出力は、ステートマシン２２２に送られる。
【００９１】
図１０に戻り、奇数および偶数メモリセルの同時プログラミングから、奇数および
偶数メモリセルの個別のプログラミングへプログラム処理を変更するために、トリガ
が使用されている（ステップ６２２）。一実施形態では、適切なトリガ電圧を決定す
るために、デバイス特性（シミュレーションを含む）を使用することを備えている。
幾つかの実施形態では、トリガ電圧は各々の集積回路で個別に調整されてもよい。す
なわち、集積回路の製造に引き続いて、各集積回路がテストされるとしてもよい。当
該テストに基づき、トリガ電圧が設定または調整されうる。
【００９２】
図２１、２２および２３は、トリガ値の調整または設定を行う３つの実施形態を示
すフローチャートである。図２１−２３の処理は１つのブロックで実行しうる。１つ
のブロックからのデータが、メモリデバイスの全てのブロックに使用されることが可
能である。ある代替的手法では、多数のブロックがテストされ、その結果が全てのブ
ロックに適用されるとすることもできる。他の代替的手法では、図２１−２３の処理
が全てのブロックで行われ、それぞれのブロックが独自のトリガ値を有することもで
きる。一実施形態では、１つのブロックにおいて１つのワードラインのみがテストさ
れるとすることができる。他の実施形態では、１本よりも多いワードラインがテスト
され、その結果が平均されるかまたは一体とされてもよい。他の実装形態では、（ワ
ードライン、ワードラインのグループ、ページ、セクタ、などの）他のユニットがテ
ストのために選択されるとすることもできる。
【００９３】
図２１のステップ１００２では、テスト用の特定の１ブロック（または複数ブロッ
ク）が消去される。次に、１本の選択ワードライン上の偶数セルがプログラムされる
。一実施形態では、１本のワードラインのみがプログラムされる。その１本のワード
ラインに基づき、ブロック全体、チップ全体またはメモリシステム全体のための新た
なトリガ値が決定される。他の実施形態では、多数のワードラインがプログラムされ
、そのデータが平均化されるか、それぞれのワードラインが独自のトリガ値を有する
とすることができる。ステップ１００４では、選択ワードラインに接続されたメモリ
セルがプログラムされる。ステップ１００４のプログラム処理は、奇数ビットライン
および偶数ビットラインに接続されたメモリセルの全てについて、プログラムするこ
とと、振幅が増加していくプログラミングパルス群を、それらのプログラミングパル
スがＶｐｇｍ＿ｔｅｓｔの大きさに到達するまで印加することと、を可能にするステ
ップを含んでいる。一実施形態では、デバイス特性から決定されるトリガ電圧を２ボ
ルト下回るように、Ｖｐｇｍ＿ｔｅｓｔが初期設定される。ステップ１００４のプロ
グラム処理は、ステップ６２０の後を除いて図１０の処理に類似しており、処理はス
テップ６２４に続く（ステップ６２２、６３０−６４２はない）。ステップ１００４
のプログラム処理の終了後、ステップ１００６において、偶数ビットラインに接続さ
れたメモリセルの閾値電圧分布の最大値および最小値が測定される。ステップ１００
８では、ブロックが消去される。
【００９４】
ステップ１０１０では、偶数ビットラインに接続されたメモリセルが再度プログラ
ムされる。しかしながらステップ１０１０では、奇数ビットラインに接続されたメモ
リセルは、全てのプログラミングパルスによるプログラムが禁止される。ステップ１
０１０は、ステップ１００４のように、プログラミングパルスの振幅がＶｐｇｍ＿ｔ
ｅｓｔと等しくなるまで、振幅を増加させながら連続してプログラミングパルスを印
加することを含んでいる。ステップ１０１２では、偶数ビットラインに接続されたメ
モリセルの閾値電圧分布が測定される。ステップ１０１４では、ステップ１０１２お
よび１００６で測定された閾値電圧分布の最大値および最小値が比較される。一実施
形態では、２つの閾値電圧分布の下限が比較される。他の実施形態では、それぞれの
閾値電圧分布の上限が比較される。閾値電圧分布の下限（または上限）間の差分値が
閾値よりも大きくない場合には、Ｖｐｇｍ＿ｔｅｓｔが所定量（例えば、０．５ボル
ト等の値）ずつ増加され、処理がステップ１００２へ戻る。２つの閾値電圧分布の最
下点間の差分値が閾値よりも大きい場合には、ステップ１０２０において、（デバイ
ス特性によって決定される値から求められる）トリガ電圧は、Ｖｐｇｍ＿ｔｅｓｔの
現在の値になるように変更される。幾つかの実施形態では、サンプルのサイズが実際
のワーストケースを捉えられていない点を考慮するために、マージンを取るためのオ
フセットをさらに追加することで、Ｖｐｇｍ＿ｔｅｓｔがさらに変更されるとするこ
ともできる。一実施形態では、ステップ１０１６の閾値は０．５ボルトに等しくされ
、ステップ１００４および１０１０でプログラミングに使用されるプログラムパルス
のステップサイズは０．４ボルトとされる。
【００９５】
図２２は、トリガ電圧の決定または調整のための処理の他の実施形態である。ステ
ップ１０５０では、検討中のブロックが消去される。ステップ１０５２において、プ
ログラム処理の反復処理の各々においてプログラム対象に選択された奇数ビットライ
ンに接続されたメモリセルと共に、偶数ビットラインに接続されたメモリセルが、閾
値電圧が目標値のＶｘボルトに到達するまでプログラムされる。Ｖｘは実験により設
定しうる。Ｖｘの一例として、３．５ボルトが挙げられる。ステップ１０５４におい
て、ステップ２０５２の間に偶数ビットラインに接続されたメモリセルに適切にプロ
グラムするために必要なプログラミングパルスの数が記録される。ステップ１０５６
では、検討中のブロックが消去される。ステップ１０５８では、偶数ビットラインに
接続されたメモリセルが、それらの閾値電圧がＶｘボルトに到達するまで、再度プロ
グラムされる。ステップ１０５８では、奇数ビットラインに接続されたメモリセルが
各サイクルにおいて常に禁止される。ステップ１０６０では、ステップ１０５８にお
いてメモリセルをプログラムするために必要なプログラムパルスの数が記録される。
ステップ１０６２では、各々のテスト（ステップ１０５４および１０６０）における
パルスの数が比較される。ステップ１０６０で測定されたパルス数が、ステップ１０
５４で測定されたパルス数よりも少なくなることが予測されている。パルス数におけ
る当該差分量は、上述した除外状態に関連する干渉効果の大きさを意味している。差
分量が閾値よりも大きい場合には、トリガ電圧は、ステップ１０５８のプログラミン
グ処理で用いられた最後のパルスの大きさに設定される。差分量が閾値よりも大きく
ない場合には、電圧Ｖｘが（例えば０．５ボルト分）増加され、テストを繰り返すた
めに処理がステップ１０５０へ戻る。一例として、ステップ１０６４の閾値は、１つ
のパルスと同等である。なお、他の閾値を使用することもできる。
【００９６】
図２３は、トリガ電圧を決定または調整するための他の実施形態である。ステップ
１１０２において、選択された１ブロックまたは複数ブロックが消去される。ステッ
プ１１０４において、偶数ビットラインに接続されたメモリセルが、それらの閾値電
圧が電圧Ｖｙに等しくなるまでプログラムされる。ステップ１１０４のプログラミン
グ処理の間、奇数ビットラインに接続されたメモリセルがプログラミングのために常
に選択される。ステップ１１０６において、偶数ビットラインに接続され、かつ、オ
ーバープログラムされたメモリセルの数が測定される。例えば、理想的な閾値電圧分
布がシミュレーションに基づいて推定され、その理想的な閾値電圧分布に対する上位
基準値を決定することができる。メモリセルの閾値電圧が理想的な分布の上限値を上
回る場合には、メモリセルがオーバープログラムされている。例えば図７Ｉを参照す
ると、状態Ｓ６は、下側境界Ｇおよび上側境界ＯＰを備える。メモリセルがＯＰより
も大きな閾値電圧を有する場合には、メモリセルはオーバープログラムされている。
他の実施形態では、オーバープログラミングのための比較レベルを異ならせることが
できる。
【００９７】
図２３に戻り、ステップ１１０８において、選択ワードラインにもう一つのプログ
ラミングパルスが印加される。プログラミングパルスがステップ１１０８で印加され
る一方、奇数ビットラインに接続されている全てのメモリセルのプログラミングが禁
止される。ステップ１１０４においてＶｙの閾値電圧に到達したメモリセルは、ステ
ップ１１０８の期間において除外されたままとされる。ステップ１１０８のプログラ
ミングパルスは、Ｖｙの閾値電圧にまだ到達していないメモリセルのみをプログラム
する。ステップ１１１０において、オーバープログラムされたメモリセルの数が再度
測定される。ステップ１１１２において、ステップ１１１０で測定されたオーバープ
ログラムされたセル数が、ステップ１１０６で測定されたオーバープログラムされた
セル数と比較される。オーバープログラムされたセル数の差分量が閾値よりも大きい
場合には、トリガ電圧の大きさが、ステップ１１０８で印加されたパルスの大きさに
設定される。ステップ１１１４の閾値の一例として、５つのメモリセルが挙げられる
。差分量が閾値（ステップ１１１４）よりも大きくない場合には、ステップ１１１６
においてＶｙの電圧レベルが（例えば５ボルトなどに）増加され、処理がステップ１
１０２へ戻って繰り返される。
【００９８】
幾つかの実施形態では、環境条件又は使用条件による変化に対応するために、不揮
発性記憶装置システムは、トリガ電圧に対して動的な調整を行うとすることができる
。環境条件又は使用条件による変化とは、サイクルの履歴、温度等である。図２４は
、プログラム／消去サイクルの数に基づいてトリガ電圧を動的に変更する実施形態を
示すフローチャートである。プログラム／消去サイクルは、消去処理およびプログラ
ム処理を行うステップを含んでいる。不揮発性記憶装置システムは多数のプログラム
／消去サイクルを実行するため、電荷がフローティングゲートとチャンネルとの間の
誘電領域にトラップされることがある。この状態は、図１１Ａ−Ｃにおいて、上述し
た空乏領域を減少させることがある。よって、デバイスで何度もサイクルが行われる
と、奇数メモリセルと偶数メモリセルとを別々のプログラムするステップをプログラ
ミング処理において遅く発生させるために、トリガ電圧を上昇させることが可能とな
る。図２４のステップ１２４０では、メモリデバイスは、プログラム／消去サイクル
をＸ回実行する。一例では、Ｘ回のプログラムサイクルは、１００００回のプログラ
ム／イレースサイクルであってもよい。なお、Ｘには他の値を使用しうる。Ｘ回のプ
ログラム／イレースサイクルを実行した後、ステップ１２４２において、トリガ電圧
が（例えば０．５ボルト分）上昇される。ステップ１２４２においてトリガ電圧が上
昇された後、ステップ１２４４においてメモリシステムは、プログラム／消去サイク
ルをＹ回実行する。一例では、Ｙ回のプログラム／消去サイクルは、５０００回のプ
ログラム／イレースサイクルであってもよい。ステップ１２４６において、トリガ電
圧が（例えば０．２ボルト単位で）再度上昇される。ステップ１２４６におけるトリ
ガ電圧の上昇後に、メモリシステムは、プログラム／消去サイクルの実行を続行する
（ステップ１２４８）。図２４は、トリガ電圧が２回上昇されたメモリデバイスを示
している。しかしながら、他の実施形態では、トリガ電圧は１回のみ上昇されてもよ
いし、２回よりも多い回数上昇されてもよい。ＸとＹの異なる値は、デバイス特性ま
たは実験的手段によって決定することができる。
【００９９】
図２５は、図２４の処理を実行するために使用される要素の一例を示すブロック図
である。図２５は、トリガパラメータを記憶しているレジスタ１２８２およびサイク
ルパラメータを記憶しているレジスタ１２８４と通信するステートマシン２２２を示
している。補償回路１２８６もまた、レジスタ１２８２およびレジスタ１２８４と通
信を行う。トリガパラメータは、当該トリガの電圧（または他のトリガ電圧）を指示
するものである。トリガパラメータは、電圧の大きさや、パルス数等を特定しうるも
のである。サイクルパラメータは、実行されたプログラム／消去サイクルの数を指示
することができる。サイクルパラメータの値に基づいて、適切な場合には、補償回路
がトリガパラメータを更新する。例えば、図２４のステップ１２４２および１２４６
の一部として、補償回路１２８６がトリガパラメータを更新することができる。ステ
ートマシン２２２は、図１０のステップ６２２の期間において、トリガパラメータを
使用することもできる。
【０１００】
図２６は、温度に基づいてトリガ電圧を動的に調整する実施形態を示すフローチャ
ートである。ステップ１３０２において、メモリシステムは温度を測定する。一実施
形態では、メモリシステムは温度センサを含むことができる。測定された温度に基づ
いて、ステップ１３０４において、トリガ電圧が調整される。空乏領域は低温では悪
化することが予測されるため、プログラム処理においてトリガがより早く発生しうる
。低温の時にはトリガ電圧を低下させることで、これに対応しうる。ステップ１３０
２で測定された温度がプリセット値よりも低い場合には、トリガ電圧を低下させうる
。ステップ１３０２で測定された温度がプリセット値よりも高い場合には、トリガ電
圧を上昇させうる。他の実施形態では、ステートマシン２２２が、温度範囲とトリガ
電圧とを関連付けるテーブルを記憶するとしてもよい。ステップ１３０２において、
ステートマシン２２２は温度を読み出す。ステップ１３０４において、ステートマシ
ン２２２は、温度をテーブルの手掛かりとして使用して、テーブルからトリガ値を検
索する。テーブルから見つかったトリガ電圧は、プログラミング処理で使用するため
に、パラメータ内に記憶される。他の実施形態では、ステップ１３０４において、補
償回路は測定された温度を読み出し、トリガ電圧を調整することもできる。ステップ
１３０６では、システムは、ステップ１３０４で設定されたトリガ電圧を用いてプロ
グラミングを実行する。一定量のプログラミングが行われた後、処理はステップ１３
０２へ戻り、温度が再度測定され、ステップ１３０４において、任意でトリガ値が調
整されうる。一実施形態では、ステップ１３０２−１３０６のループは、全てのプロ
グラミング処理について実行することができる。代替的な実施形態では、処理がＮサ
イクルごとまたはＮ回の期間ごとに実行されてもよい。
【０１０１】
図２７は、図２６の処理を実行しうる要素の一例を記載したブロック図である。図
２７は、トリガパラメータを記憶しているレジスタ１３５０と通信するステートマシ
ン２２２を示している。トリガパラメータは、当該トリガの電圧（または他のトリガ
電圧）を指示するものである。トリガパラメータは、電圧の大きさや、パルス数等を
特定しうるものである。補償回路１３５２は、レジスタ１３５０および温度センサ１
３５４と通信する。温度センサ１３５４は、温度の指標となる信号（電圧または電流
）を出力する。温度センサ１３５４の出力に基づき、補償回路１３５２はトリガパラ
メータを更新する。例えば、補償回路１３５２は、図２６のステップ１３０４の一部
として、トリガパラメータを更新するとしてもよい。トリガパラメータの更新は、継
続的か、一定期間ごとか、要求に応じて実行されるとしてもよい。
【０１０２】
一実施形態は、プログラミング信号を用いて第１のグループの不揮発性記憶素子と
第２グループの不揮発性記憶素子とを同時にプログラムして同時に検証することと、
第１の状態が存在すると判断することと、第１の状態が存在するとの判断に応じてプ
ログラム信号を低下させることと、第１の状態が存在するとの判断に応じて低下され
たプログラミング信号を用いて第１のグループの不揮発性記憶素子を第２のグループ
の不揮発性記憶素子のプログラミングとは別にプログラムすることとを含む。
【０１０３】
一例では、第１のグループの不揮発性記憶素子および第２のグループの不揮発性記
憶素子は、共通の制御ラインに接続され、プログラミング信号を共通の制御ライン上
で受け取る。共通の制御ラインの一例はワードラインである。
【０１０４】
一実施形態は、第１のグループの不揮発性記憶素子および第２のグループを含む複
数の不揮発性記憶素子と、不揮発性記憶素子と通信している１つ以上複数の管理回路
と、を含む。１つ以上の管理回路は、プログラミング信号を用いて、第１のグループ
の不揮発性記憶素子および第２のグループの不揮発性記憶素子を同時にプログラムし
て同時に検証する。第１の状態が存在すると判断する１つ以上の管理回路は、第１の
状態が存在するとの判断に応じてプログラム信号を低下させる。１つ以上の管理回路
は、第１の状態が存在するとの判断に応じて低下されたプログラム信号を用いて、第
１のグループの不揮発性記憶素子を第２のグループの不揮発性記憶素子のプログラミ
ングとは別にプログラムする。
【０１０５】
一実施形態は、不揮発性記憶装置をプログラムする方法を含む。第１のトリガの前
に、方法は、第１のトリガにおける基準振幅に対して時間とともに増加するプログラ
ミングパルスを含む共通プログラミング信号を用いて、第１のグループの不揮発性記
憶素子および第２のグループの不揮発性記憶素子を同時にプログラムして、同時に検
証することを含む。第１のトリガの後、方法は、基準振幅よりも振幅が低い別のプロ
グラミングパルスを用いて、第１のグループの不揮発性記憶素子を第２のグループの
不揮発性記憶素子のプログラミングとは別にプログラムすることと、第１のグループ
の不揮発性記憶素子を第２のグループの不揮発性記憶素子とともに検証することとを
含む。
【０１０６】
上記本発明の詳細な説明は、説明と例示とを目的として提示されたものである。こ
れは網羅的なものではなく、本発明を開示されたとおりの明確な形態に限定するもの
ではない。上記の教示に照らして多くの改変および変形が可能である。説明した実施
形態は、本発明の原理とその実用的な適用例とを最もよく説明し、当業者が様々な実
施形態で、検討される特定の使用に適するように様々に修正して本発明を最もよく利
用し得るように選定された。本発明の技術的範囲は、本明細書に添付された特許請求
の範囲によって定まるものである。
【図１】
2013525935.tif 000003
【図２】
2013525935.tif 000004
【図３】
2013525935.tif 000005
【図４】
2013525935.tif 000006
【図５】
2013525935.tif 000007
【図６】
2013525935.tif 000008
【図７Ａ】
2013525935.tif 000009
【図７Ｂ】
2013525935.tif 000010
【図７Ｃ】
2013525935.tif 000011
【図７Ｄ】
2013525935.tif 000012
【図７Ｅ】
2013525935.tif 000013
【図７Ｆ】
2013525935.tif 000014
【図７Ｇ】
2013525935.tif 000015
【図７Ｈ】
2013525935.tif 000016
【図７Ｉ】
2013525935.tif 000017
【図８】
2013525935.tif 000018
【図９】
2013525935.tif 000019
【図１０】
2013525935.tif 000020
【図１１Ａ】
2013525935.tif 000021
【図１１Ｂ】
2013525935.tif 000022
【図１１Ｃ】
2013525935.tif 000023
【図１２】
2013525935.tif 000024
【図１３】
2013525935.tif 000025
【図１４】
2013525935.tif 000026
【図１５】
2013525935.tif 000027
【図１６】
2013525935.tif 000028
【図１７】
2013525935.tif 000029
【図１８】
2013525935.tif 000030
【図１９】
2013525935.tif 000031
【図２０】
2013525935.tif 000032
【図２１】
2013525935.tif 000033
【図２２】
2013525935.tif 000034
【図２３】
2013525935.tif 000035
【図２４】
2013525935.tif 000036
【図２５】
2013525935.tif 000037
【図２６】
2013525935.tif 000038
【図２７】
2013525935.tif 000039
【国際調査報告】
2013525935.tif 000040
2013525935.tif 000041