(57)【要約】【課題】プログラム後のベリファイ動作にかかる時間を短くする。【解決手段】不揮発性半導体記憶装置１０は、選択ワード線にプログラムパルス電圧を印加して選択ワード線に接続された複数の選択メモリセルにデータをプログラムするプログラム動作と、複数の選択メモリセルの閾値電圧を確認するベリファイ動作とを繰り返す制御回路１８を含む。制御回路１８は、複数の選択メモリセルに対して、第１閾値電圧以上であるか否かを検知する第１ベリファイ動作と、第２閾値電圧（第１閾値電圧＜第２閾値電圧）以上であるか否かを検知する第２ベリファイ動作とを行い、第１ベリファイ動作及び第２ベリファイ動作で複数のビット線の充電電圧を変える。【選択図】  図６
2014225310.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルが直列接続された複数のメモリストリングを含むメモリセルアレイと、
前記複数のメモリストリングにそれぞれ接続された複数のビット線と、
前記複数のメモリセルにそれぞれ接続され、前記複数のメモリストリングに共通接続された複数のワード線と、
選択ワード線にプログラムパルス電圧を印加して前記選択ワード線に接続された複数の選択メモリセルにデータをプログラムするプログラム動作と、前記複数の選択メモリセルの閾値電圧を確認するベリファイ動作とを繰り返す制御回路と、
を具備し、
前記制御回路は、前記複数の選択メモリセルに対して、第１閾値電圧以上であるか否かを検知する第１ベリファイ動作と、第２閾値電圧（第１閾値電圧＜第２閾値電圧）以上であるか否かを検知する第２ベリファイ動作とを行い、
前記第１ベリファイ動作及び前記第２ベリファイ動作で前記複数のビット線の充電電圧を変えることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記制御回路は、前記第１ベリファイ動作及び前記第２ベリファイ動作を同時に行うことを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記第２ベリファイ動作の充電電圧は、前記第１ベリファイ動作の充電電圧より低いことを特徴とする請求項１又は２に記載の不揮発性半導体記憶装置。
【請求項４】
複数のメモリセルが直列接続された複数のメモリストリングを含むメモリセルアレイと、
前記複数のメモリストリングにそれぞれ接続された複数のビット線と、
前記複数のメモリセルにそれぞれ接続され、前記複数のメモリストリングに共通接続された複数のワード線と、
選択ワード線に隣接する隣接ワード線に接続された複数の隣接メモリセルのデータを読み出す事前読み出し動作と、前記事前読み出し動作の読み出し結果に応じて前記選択ワード線に接続された複数の選択メモリセルのデータを読み出す読み出し動作とを行う制御回路と、
を具備し、
前記制御回路は、前記読み出し動作の際に、前記読み出し結果に応じて前記複数のビット線の充電電圧を変えることを特徴とする不揮発性半導体記憶装置。
【請求項５】
前記充電電圧は、隣接メモリセルとのセル間干渉による閾値電圧のシフト量が大きい選択メモリセルに対応するビット線ほど低く設定されることを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
現在知られているＥＥＰＲＯＭの多くは、電荷蓄積層（たとえば浮遊ゲート電極）に電荷を蓄積するタイプのメモリセルを用いている。その１つであるＮＡＮＤ型フラッシュメモリにおいては、書き込み動作及び消去動作の両方にＦＮトンネル電流を用いたデータ書き換えが行われる。近年では、１つのメモリセルに２ビット以上のデータを記憶する多値記憶技術が導入され、物理的に同じセルサイズで記憶容量を２倍以上に増やすことも可能になってきている。
【０００３】
データ読み出しの信頼性を向上させるためには、閾値電圧分布ができるだけ狭くなるように書き込みを行えばよい。しかしこの場合、細かなベリファイ動作を必要とするため、書き込み時間が増加してしまう。また、各データの閾値電圧を上げることにより閾値電圧分布間のマージンを拡大することも考えられるが、この場合には最も高い閾値電圧分布が高電圧側に引き上げられるので、非選択メモリセルの書き込みパス電圧や読み出しパス電圧を増加させる必要があり、メモリセルに対するストレスが増加してしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５８２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、プログラム後のベリファイ動作にかかる時間又は読み出し動作にかかる時間を短くすることが可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態に係る不揮発性半導体記憶装置は、複数のメモリセルが直列接続された複数のメモリストリングを含むメモリセルアレイと、前記複数のメモリストリングにそれぞれ接続された複数のビット線と、前記複数のメモリセルにそれぞれ接続され、前記複数のメモリストリングに共通接続された複数のワード線と、選択ワード線にプログラムパルス電圧を印加して前記選択ワード線に接続された複数の選択メモリセルにデータをプログラムするプログラム動作と、前記複数の選択メモリセルの閾値電圧を確認するベリファイ動作とを繰り返す制御回路とを具備する。前記制御回路は、前記複数の選択メモリセルに対して、第１閾値電圧以上であるか否かを検知する第１ベリファイ動作と、第２閾値電圧（第１閾値電圧＜第２閾値電圧）以上であるか否かを検知する第２ベリファイ動作とを行い、前記第１ベリファイ動作及び前記第２ベリファイ動作で前記複数のビット線の充電電圧を変える。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図。
【図２】メモリセルアレイの回路図。
【図３】メモリセルの閾値電圧分布を説明する図。
【図４】メモリセルの閾値電圧がシフトする様子を説明する図。
【図５】比較例に係るプログラムシーケンスを説明するタイミングチャート。
【図６】第１実施形態に係るＳＬＣのプログラムシーケンスを説明するタイミングチャート。
【図７】第１実施形態に係るＳＬＣのプログラムシーケンスを説明するフローチャート。
【図８】複数の閾値電圧分布のベリファイ電圧を説明する図。
【図９】比較例に係るプログラムシーケンスを説明するタイミングチャート。
【図１０】第１実施形態に係るＭＬＣのプログラムシーケンスを説明するタイミングチャート。
【図１１】図１０のベリファイ動作の詳細を説明するタイミングチャート。
【図１２】第２実施形態に係るベリファイ動作を説明するタイミングチャート。
【図１３】第３実施形態に係るプログラムシーケンスを説明するタイミングチャート。
【図１４】第３実施形態に係るプログラムシーケンスを説明するフローチャート。
【図１５】変形例に係るプログラムシーケンスを説明するタイミングチャート。
【図１６】変形例に係るプログラムシーケンスを説明するフローチャート。
【図１７】第４実施形態に係るプログラムシーケンスを説明するタイミングチャート。
【図１８】第４実施形態に係るプログラムシーケンスを説明するフローチャート。
【図１９】変形例に係るプログラムシーケンスを説明するフローチャート。
【図２０】変形例に係るプログラムシーケンスを説明するフローチャート。
【図２１】第５実施形態に係るプログラムシーケンスを説明するタイミングチャート。
【図２２】第５実施形態に係るプログラムシーケンスを説明するフローチャート。
【図２３】第６実施形態に係るプログラムシーケンスを説明するタイミングチャート。
【図２４】第６実施形態に係るプログラムシーケンスを説明するフローチャート。
【図２５】第７実施形態に係るベリファイ動作を説明するタイミングチャート。
【図２６】比較例に係る読み出し動作を説明するタイミングチャート。
【図２７】第８実施形態に係る下位ページ読み出し動作を説明するタイミングチャート。
【図２８】第８実施形態に係る上位ページ読み出し動作を説明するタイミングチャート。
【図２９】第８実施形態に係るシーケンシャル読み出し動作を説明するタイミングチャート。
【図３０】第９実施形態に係る下位ページ読み出し動作を説明するタイミングチャート。
【図３１】第９実施形態に係る上位ページ読み出し動作を説明するタイミングチャート。
【図３２】第９実施形態に係るシーケンシャル読み出し動作を説明するタイミングチャート。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らない。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【０００９】
不揮発性半導体記憶装置は、データを電気的に書き換え可能な半導体メモリであり、以下の実施形態では、不揮発性半導体記憶装置としてＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【００１０】
［第１実施形態］
［１．ＮＡＮＤ型フラッシュメモリの構造］
図１は、第１実施形態に係るＮＡＮＤ型フラッシュメモリ１０のブロック図である。  
メモリセルアレイ１１は、複数のメモリセルがマトリクス状に配置されて構成される。メモリセルは、電気的に書き換え可能なＥＥＰＲＯＭセルから構成される。メモリセルアレイ１１には、メモリセルの電圧を制御するために、複数のビット線、複数のワード線、及びソース線が配設される。
【００１１】
ロウデコーダとしてのワード線制御回路１２は、複数のワード線に接続され、データの読み出し、書き込み、及び消去時に、ワード線の選択及び駆動を行う。ビット線制御回路１３は、複数のビット線に接続され、データの読み出し、書き込み、及び消去時に、ビット線の電圧を制御する。また、ビット線制御回路１３は、データの読み出し時にビット線のデータを検知し、データの書き込み時に書き込みデータに応じた電圧をビット線に印加する。カラムデコーダ１４は、アドレスデコーダ１５の出力信号に応じて、ビット線を選択するためのカラム選択信号を生成し、このカラム選択信号をビット線制御回路１３に送る。
【００１２】
入出力制御回路１６は、外部から各種コマンドＣＭＤ、及びアドレス信号ＡＤＤを受け、また、外部との間でデータＤＴの送受信を行う。データの書き込み時、書き込みデータは、入出力制御回路１６からデータ入出力バッファ１７を介してビット線制御回路１３に送られる。データの読み出し時、ビット線制御回路１３により読み出された読み出しデータは、データ入出力バッファ１７を介して入出力制御回路１６に送られ、入出力制御回路１６から外部に出力される。
【００１３】
入出力制御回路１６からデータ入出力バッファ１７に送られたアドレス信号ＡＤＤは、アドレスデコーダ１５に送られる。アドレスデコーダ１５は、アドレス信号ＡＤＤをデコードし、ロウアドレスをワード線制御回路１２に送り、カラムアドレスをカラムデコーダ１４に送る。
【００１４】
入出力制御回路１６からデータ入出力バッファ１７に送られたコマンドＣＭＤは、制御回路（コントローラ）１８に送られる。制御回路１８には、外部からチップイネーブル信号／ＣＥ、書き込みイネーブル信号／ＷＥ、読み出しイネーブル信号／ＲＥ、アドレスラッチイネーブル信号ＡＬＥ、及びコマンドラッチイネーブル信号ＣＬＥ等を含む外部制御信号が入力される。制御回路１８は、動作モードに応じて入力される外部制御信号及びコマンドＣＭＤに基づいて、読み出し動作、書き込み動作、及び消去動作を制御する制御信号を発生する。この制御信号は、ワード線制御回路１２、ビット線制御回路１３、及び制御電圧発生回路１９等に送られる。制御回路１８は、この制御信号を用いて、ＮＡＮＤ型フラッシュメモリ１０の各種動作を統括的に制御する。
【００１５】
制御電圧発生回路１９は、制御回路１８から送られる各種制御信号に応じて、読み出し電圧、書き込み電圧、ベリファイ電圧、及び消去電圧等、メモリセルアレイ１１、ワード線制御回路１２、及びビット線制御回路１３の各種動作に必要な電圧を発生する。
【００１６】
パラメータ記憶部２０は、入出力制御回路１６、及び制御回路１８に接続され、例えばテスト工程で決定されたチップの品質に適したパラメータを記憶する。
【００１７】
次に、図１に示したメモリセルアレイ１１の構成について説明する。図２は、メモリセルアレイ１１の回路図である。
【００１８】
メモリセルアレイ１１は、複数（ｊ個）のブロックＢＬＫ０〜ＢＬＫｊ−１を備える。各ブロックＢＬＫは、Ｘ方向に沿って順に配列された複数（ｍ個）のＮＡＮＤストリングＮＳを備える。各ＮＡＮＤストリングＮＳにおいて、複数（ｎ個）のメモリセルＭＣは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置される。ＮＡＮＤストリングＮＳに含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬに接続され、ゲートが選択ゲート線ＳＧＤに共通接続される。ＮＡＮＤストリングＮＳに含まれる選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続される。
【００１９】
各メモリセルＭＣは、ｐ型ウェル上に形成され、電荷蓄積層（例えば、浮遊ゲート電極）を有する積層ゲートを備えたＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）から構成される。メモリセルＭＣの積層ゲートは、ｐ型ウェル上にゲート絶縁膜を介在して形成された電荷蓄積層、及び電荷蓄積層上に絶縁膜を介在して形成された制御ゲート電極を含む。メモリセルＭＣは、電荷蓄積層に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。メモリセルＭＣは、２値（１ビット）を記憶するように構成してもよいし、多値（２ビット以上）を記憶するように構成してもよい。
【００２０】
ＮＡＮＤストリングＮＳにおいて、最もソース側（選択トランジスタＳＴ２側）に位置するメモリセルＭＣから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｎ−１にそれぞれ接続される。従って、ワード線ＷＬｎ−１に接続されるメモリセルＭＣのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬ０に接続されるメモリセルＭＣのソースは選択トランジスタＳＴ２のドレインに接続される。ワード線ＷＬ０〜ＷＬｎ−１は、Ｘ方向（ロウ方向）に延在する。
【００２１】
ワード線ＷＬ０〜ＷＬｎ−１は、１つのブロックＢＬＫ内の複数のＮＡＮＤストリングＮＳ間で、メモリセルＭＣの制御ゲート電極を共通接続する。つまり、ブロックＢＬＫ内において同一行にあるメモリセルＭＣの制御ゲート電極は、同一のワード線ＷＬに接続される。同一のワード線ＷＬに接続されるｍ個のメモリセルＭＣはページとして取り扱われ、このページごとにデータの書き込み及び読み出しが行われる。
【００２２】
また、ビット線ＢＬ０〜ＢＬｍ−１は、ブロックＢＬＫ０〜ＢＬＫｊ−１間で、選択トランジスタＳＴ１のドレインを共通接続する。つまり、ブロックＢＬＫ０〜ＢＬＫｊ−１内において同一列にあるＮＡＮＤストリングＮＳは、同一のビット線ＢＬに接続される。ビット線ＢＬ０〜ＢＬｍ−１は、Ｘ方向と交差するＹ方向（カラム方向）に延在する。
【００２３】
各ビット線ＢＬは、センスアンプＳＡ及びデータラッチＤＬに接続される。センスアンプＳＡ及びデータラッチＤＬは、ビット線制御回路１３に含まれる。センスアンプＳＡは、データの読み出し時、ビット線ＢＬの電位変動を検知及び増幅し、メモリセルＭＣが記憶するデータを判別する。また、センスアンプＳＡは、データの書き込み時、ビット線ＢＬを充電又は放電させる。データラッチＤＬは、メモリセルＭＣから読み出されたデータ、及びメモリセルＭＣに書き込むデータを、一時的に記憶する。
【００２４】
次に、メモリセルＭＣの閾値電圧分布について説明する。図３は、メモリセルＭＣの閾値電圧分布を説明する図である。図３の横軸がメモリセルＭＣの閾値電圧Ｖｔｈである。図３（ａ）は、２値を記憶可能なメモリセルＭＣ、いわゆるＳＬＣ（Single Level Cell）の閾値電圧分布を説明する図である。メモリセルＭＣが２値（１ビット／セル）を記憶する場合、閾値電圧が低い方（例えば負の閾値電圧）は消去状態であり、例えばデータ“１”が割り当てられる。閾値電圧が高い方（例えば正の閾値電圧）は書き込み状態であり、例えばデータ“０”が割り当てられる。
【００２５】
図３（ｂ）は、多値を記憶可能なメモリセルＭＣ、いわゆるＭＬＣ（Multi Level Cell）の閾値電圧分布を説明する図である。以下の実施形態では、ＭＬＣとして、２ビットを記憶可能なメモリセルＭＣを例に挙げて説明するが、もちろん３ビット以上を記憶可能なメモリセルにも適用できる。
【００２６】
メモリセルＭＣが４値（２ビット／セル）を記憶する場合、閾値電圧の低い方から、４種類の閾値電圧分布Ｅ、Ａ、Ｂ、Ｃが設けられる。これらの閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対してそれぞれ、データが割り当てられる。
【００２７】
２ビットデータ“１１”、“０１”、“００”、“１０”は、上位ページデータ“ｘ”と下位ページデータ“ｙ”とにより“ｘｙ”で表される。２ビットデータの書き込み（プログラム）は、下位ページプログラムと上位ページプログラムとの２回のプログラム動作を必要とする。
【００２８】
閾値電圧分布Ｅは、メモリセルＭＣの閾値電圧の最も低い消去状態（例えば、負の閾値電圧）である。下位ページデータをメモリセルＭＣにプログラムした場合、メモリセルＭＣは、閾値電圧分布Ｅ、及び閾値電圧分布ＬＭ（Lower Middle）のいずれかに設定される。下位ページプログラムは、閾値電圧分布ＥのメモリセルＭＣを選択的に閾値電圧分布ＬＭに設定する動作である。閾値電圧分布ＬＭのメモリセルＭＣは、例えば下位ページデータが“０”のセルである。
【００２９】
上位ページプログラムは、閾値電圧分布Ｅのメモリセルを選択的に閾値電圧分布Ａに設定する第１の上位ページプログラムと、閾値電圧分布ＬＭのメモリセルを選択的に閾値電圧分布Ｂ、Ｃに設定する第２の上位ページプログラムとを含む。下位ページプログラム及び上位ページプログラムをメモリセルＭＣに実行することで、メモリセルＭＣを閾値電圧分布Ｅ、Ａ、Ｂ、Ｃのいずれかに設定できる。
【００３０】
また、図３に示した読み出しパス電圧Ｖｒｅａｄは、最も高い閾値電圧分布の上限よりも高い電圧である。よって、読み出しパス電圧Ｖｒｅａｄが印加されたメモリセルは、記憶データに関わらずオンする。この読み出しパス電圧Ｖｒｅａｄは、読み出し時において、非選択のワード線に印加される電圧である。
【００３１】
［２．動作］
メモリセルのデータをプログラムする場合には、メモリセルにプログラムパルス電圧を印加する動作と、メモリセルの閾値電圧を確認する動作とが繰り返されて、メモリセルの閾値電圧が所定電圧に設定される。この際、プログラム回数が増えるにつれて、プログラムパルス電圧がステップアップされる。以下の説明では、ワード線にプログラムパルス電圧を印加してメモリセルの閾値電圧をシフトさせる動作をプログラム動作と呼び、ベリファイ電圧を用いてメモリセルの閾値電圧を確認する動作をベリファイ動作と呼ぶ。また、プログラムパルス電圧をステップアップしながらプログラム動作及びベリファイ動作を繰り返す一連の動作をプログラムシーケンスと呼ぶ。
【００３２】
プログラム時間の増大を抑えつつ、プログラム後の閾値電圧分布幅を狭める方法としてＱＰＷ（Quick Pass Write）方式が考案されている。ＱＰＷ方式は、本来のベリファイレベルより低いレベルに到達したメモリセルに対して、次回以降のプログラム時、ビット線に中間電圧を印加し、プログラムの強さを弱めることで、閾値電圧の変動を少なくし、閾値電圧分布を狭めることができる。
【００３３】
以下に、ＳＬＣ、ＭＬＣの順に、ＮＡＮＤ型フラッシュメモリ１０の動作について説明する。  
［２−１．ＳＬＣについて］
＜比較例＞
まず、ＳＬＣに関する比較例について説明する。図４は、メモリセルの閾値電圧がシフトする様子を説明する図である。図５は、比較例に係るプログラムシーケンスを説明するタイミングチャートである。図４及び図５において、２種類のベリファイ電圧ＶＬ、ＶＨが用意され、ベリファイ電圧ＶＨは、メモリセルをプログラム状態（メモリセルが“０”データを記憶する状態）に設定する際の閾値電圧の下限値であり、閾値電圧がベリファイ電圧ＶＨ以上になると、該メモリセルのプログラムが完了する。ベリファイ電圧ＶＬは、ベリファイ電圧ＶＨより若干低く設定される。
【００３４】
プログラム動作では、選択ワード線にプログラムパルス電圧Ｖｐｇｍが印加され、非選択ワード線にプログラムパス電圧Ｖｐａｓｓが印加され、選択ゲート線ＳＧＤ、ＳＧＳにそれぞれ電源電圧Ｖｄｄ（例えば３Ｖ）、接地電圧Ｖｓｓ（０Ｖ）が印加される。選択ワード線は、プログラム対象のワード線であり、非選択ワード線は、プログラム非対象のワード線である。プログラムパス電圧Ｖｐａｓｓは、選択ワード線に書き込み電圧Ｖｐｇｍを印加している際に非選択ワード線に接続されたメモリセルを書き込み禁止とする非書き込みワード線電圧であり、Ｖｐａｓｓ＜Ｖｐｇｍである。
【００３５】
このプログラム動作に先立って、ビット線は、書き込みデータに応じてプリチャージされる。具体的には、“０”データをプログラムする場合には、センスアンプＳＡによってビット線に０Ｖが印加される。このビット線電圧は、選択トランジスタＳＴ１を介してＮＡＮＤストリングのチャネルに転送される。従って、上述のプログラム動作条件下で選択メモリセルのチャネルから電荷蓄積層に電荷が注入され、選択メモリセルの閾値電圧が正側にシフトする。
【００３６】
なお、メモリセルに消去状態（メモリセルが“１”データを記憶する状態）を維持させる場合、センスアンプＳＡによってビット線にＶｄｄが印加される。このビット線電圧Ｖｄｄが、選択トランジスタＳＴ１の閾値電圧分低下してＮＡＮＤストリングのチャネルに転送された後、チャネルはフローティング状態にされる。これにより、上述したプログラムパルス電圧Ｖｐｇｍ及びプログラムパス電圧Ｖｐａｓｓが選択ワード線及び非選択ワード線に印加されると、チャネル電圧が容量カップリングによって上昇し、電荷蓄積層への電荷注入が行われない。従って、メモリセルは“１”データを保持する。
【００３７】
次に、ベリファイ動作について説明する。ベリファイ動作では、選択ワード線にベリファイ電圧ＶＬが印加され、非選択ワード線に読み出しパス電圧Ｖｒｅａｄが印加され、選択ゲート線ＳＧＤ、ＳＧＳにそれぞれＶｄｄ、０Ｖが印加される。続いて、ビット線を所定電圧（例えばＶｄｄ）に充電した後、選択ゲート線ＳＧＳにＶｄｄを印加する。これにより、選択メモリセルの閾値電圧がベリファイ電圧ＶＬ以上であれば、ビット線がほとんど放電されず、このビット線電圧をセンスアンプＳＡが検知することで、ベリファイがパスとなる。選択メモリセルの閾値電圧がベリファイ電圧ＶＬ未満であれば、ビット線が放電され、ベリファイがフェイルとなる。続いて、プログラムパルス電圧Ｖｐｇｍをステップアップ電圧ΔＶだけ増加させながら、プログラム動作とベリファイ動作とが繰り返される。
【００３８】
さらに、ベリファイ電圧ＶＬを用いたベリファイがパスしたメモリセルに対しては、次回以降のプログラム時、ビット線に中間電圧Ｖｑｐｗ（０Ｖ＜Ｖｑｐｗ＜Ｖｄｄ）を印加し、プログラムの強さを弱めることで、閾値電圧の変動を少なくする。続いて、ベリファイ電圧ＶＨを用いたベリファイ動作が行われる。続いて、プログラムパルス電圧Ｖｐｇｍをステップアップ電圧ΔＶだけ増加させながら、プログラム動作とベリファイ動作とが繰り返される。
【００３９】
図５の比較例は、２回目のプログラムでベリファイ電圧ＶＬのベリファイがパスし、３回目のプログラムでベリファイ電圧ＶＨのベリファイがパスする例である。この比較例では、ベリファイ電圧ＶＬを用いたベリファイ動作と、ベリファイ電圧ＶＨを用いたベリファイ動作とが個別に行われるため、ベリファイ動作に時間を要し、結果としてプログラムシーケンス時間が長くなる。
【００４０】
＜実施形態＞
次に、第１実施形態に係るＳＬＣのベリファイ動作について説明する。図６は、第１実施形態に係るＳＬＣのプログラムシーケンスを説明するタイミングチャートである。図７は、第１実施形態に係るＳＬＣのプログラムシーケンスを説明するフローチャートである。
【００４１】
第１実施形態では、ベリファイ動作におけるビット線の充電電圧として、２種類の電圧ＶＢＬＨ、ＶＢＬＬ（ＶＢＬＨ＞ＶＢＬＬ）を用意する。ビット線を電圧ＶＢＬＨに充電してベリファイ動作を行うと、ビット線が所定電圧まで放電される時間が長くなる。一方、ビット線を電圧ＶＢＬＬに充電してベリファイ動作を行うと、ビット線が所定電圧まで放電される時間が、ＶＢＬＨの場合に比べて短くなる。そこで、ＶＬレベルのベリファイ（ＶＬベリファイと呼ぶ）を、電圧ＶＢＬＨを用いたベリファイで模擬的に実現し、また、ＶＨレベルのベリファイ（ＶＨベリファイと呼ぶ）を、電圧ＶＢＬＬを用いたベリファイで模擬的に実現する。
【００４２】
まず、閾値電圧がＶＬレベル未満のメモリセルに対して、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ１０）。続いて、選択ワード線にベリファイ電圧ＶＲを印加し、かつビット線を電圧ＶＢＬＨに充電して、ベリファイ動作（ＶＬベリファイ）が行われる（ステップＳ１１）。ベリファイ電圧ＶＲは、例えば図４のベリファイ電圧ＶＨと同じ電圧が用いられる。ステップＳ１１のＶＬベリファイの結果、メモリセルの閾値電圧がＶＬレベル未満である場合（ＶＬベリファイがフェイル）、ステップＳ１０に戻り、プログラムパルス電圧をステップアップして再度プログラム動作が行われる（ステップＳ１２）。なお、メモリセルの閾値電圧がＶＬレベル未満である場合は、該メモリセルがオンするため、ビット線が放電される。このビット線が放電される様子は、図６のビット線の波形の破線で示される。
【００４３】
ステップＳ１１のＶＬベリファイの結果、メモリセルの閾値電圧がＶＬレベル以上である場合（ＶＬベリファイがパス）、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行われる（ステップＳ１３）。なお、メモリセルの閾値電圧がＶＬレベル以上である場合は、該メモリセルがオフするため、ビット線がほとんど放電されない。このビット線の電圧が維持される様子は、図６のビット線の波形の実線で示される。
【００４４】
続いて、選択ワード線にベリファイ電圧ＶＲを印加し、かつビット線を電圧ＶＢＬＬに充電して、ベリファイ動作（ＶＨベリファイ）が行われる（ステップＳ１４）。ＶＬベリファイ及びＶＨベリファイにおけるセンス時間は同じである。電圧ＶＢＬＨ、ＶＢＬＬは、ＶＢＬＨ＞ＶＢＬＬの関係を維持しつつ、実際に作製されるメモリセルの特性（例えば放電特性）、及びベリファイ時における所望のセンス時間に応じて設計される。図６のＶＢＬＬの波形には、電圧レベルの比較のために、ＶＢＬＨの波形を破線で重ねて示している。
【００４５】
ステップＳ１４のＶＨベリファイの結果、メモリセルの閾値電圧がＶＨレベル未満である場合（ＶＨベリファイがフェイル）、ステップＳ１３に戻り、プログラムパルス電圧をステップアップして再度プログラム動作が行われる（ステップＳ１５）。一方、メモリセルの閾値電圧がＶＨレベル以上である場合（ＶＨベリファイがパス）、当該メモリセルのプログラムが完了する。その後、選択ワード線に接続された全ての選択メモリセルにおいて、プログラムされる閾値電圧に対応するＶＨベリファイがパスすると、プログラムシーケンスが終了する。
【００４６】
［２−２．ＭＬＣについて］
＜比較例＞
まず、ＭＬＣに関する比較例について説明する。図８は、複数の閾値電圧分布のベリファイ電圧を説明する図である。前述したように、ＭＬＣは、４種類の閾値電圧分布Ｅ、Ａ、Ｂ、Ｃのいずれかに設定可能である。メモリセルを閾値電圧分布Ａにプログラムする場合には、ベリファイ電圧ＡＶＬ、ＡＶＨ（ＡＶＬ＜ＡＶＨ）を用いてベリファイ動作が行われる。メモリセルを閾値電圧分布Ｂにプログラムする場合には、ベリファイ電圧ＢＶＬ、ＢＶＨ（ＢＶＬ＜ＢＶＨ）を用いてベリファイ動作が行われる。メモリセルを閾値電圧分布Ｃにプログラムする場合には、ベリファイ電圧ＣＶＬ、ＣＶＨ（ＣＶＬ＜ＣＶＨ）を用いてベリファイ動作が行われる。そして、ベリファイ結果を利用して、ＱＰＷ方式が実施される。
【００４７】
図９は、比較例に係るプログラムシーケンスを説明するタイミングチャートである。まず、選択ワード線にプログラムパルス電圧Ｖｐｇｍ、ビット線に０Ｖを印加して、プログラム動作が行われる。続いて、ベリファイレベルが低い順、すなわち、ＡＶＬ、ＡＶＨ、ＢＶＬ、ＢＶＨ、ＣＶＬ、ＣＶＨの順に、計６回のベリファイ動作が行われる。その後、図示は省略するが、ベリファイ結果に応じて、ビット線に０Ｖ又は中間電圧Ｖｑｐｗを印加して、プログラム動作が行われる。
【００４８】
図９の比較例では、各閾値電圧分布で２回のセンスを行うので、プログラムシーケンス時間が長くなり、さらに閾値電圧分布の数が増えるにつれてプログラムシーケンス時間が長くなる。
【００４９】
＜実施形態＞
次に、第１実施形態に係るＭＬＣのベリファイ動作について説明する。図１０は、第１実施形態に係るＭＬＣのプログラムシーケンスを説明するタイミングチャートである。ＭＬＣのプログラムシーケンスを説明するフローチャートは、図７と同じである。
【００５０】
まず、閾値電圧がＶＬレベル未満のメモリセルに対して、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ１０）。ＶＬレベルは、閾値電圧分布Ａにプログラムされるメモリセルに関してはＡＶＬレベル、閾値電圧分布Ｂにプログラムされるメモリセルに関してはＢＶＬレベル、閾値電圧分布Ｃにプログラムされるメモリセルに関してはＣＶＬレベルとなる。
【００５１】
続いて、選択ワード線にベリファイ電圧を印加し、かつビット線を電圧ＶＢＬＨに充電して、ベリファイ動作（ＶＬベリファイ）が行われる（ステップＳ１１）。ベリファイ電圧は、閾値電圧分布Ａにプログラムされるメモリセルに関してはＡＲ、閾値電圧分布Ｂにプログラムされるメモリセルに関してはＢＲ、閾値電圧分布Ｃにプログラムされるメモリセルに関してはＣＲとなり、ＡＲ＜ＢＲ＜ＣＲの関係を有する。ベリファイ電圧ＡＲ、ＢＲ、ＣＲはそれぞれ、例えば図８のベリファイ電圧ＡＶＨ、ＢＶＨ、ＣＶＨと同じ電圧が用いられる。
【００５２】
図１１は、図１０のベリファイ動作の詳細を説明するタイミングチャートである。ＶＬレベルのベリファイ動作では、ＡＶＬベリファイ、ＢＶＬベリファイ、及びＣＶＬベリファイが連続して行われる。ステップＳ１１のＶＬベリファイがフェイルである場合、ステップＳ１０に戻り、プログラムパルス電圧をステップアップして再度プログラム動作が行われる（ステップＳ１２）。
【００５３】
ステップＳ１１のＶＬベリファイがパスである場合、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行われる（ステップＳ１３）。続いて、選択ワード線にベリファイ電圧ＡＲ、ＢＲ、及びＣＲを順に印加し、かつビット線を電圧ＶＢＬＬに充電して、ベリファイ動作（ＶＨベリファイ）が行われる（ステップＳ１４）。
【００５４】
ステップＳ１４のＶＨベリファイがフェイルである場合、ステップＳ１３に戻り、プログラムパルス電圧をステップアップして再度プログラム動作が行われる（ステップＳ１５）。一方、ＶＨベリファイがパスである場合、当該メモリセルのプログラムが完了する。その後、選択ワード線に接続された全ての選択メモリセルにおいて、プログラムされる閾値電圧に対応するＶＨベリファイがパスすると、プログラムシーケンスが終了する。
【００５５】
［３．効果］
以上詳述したように第１実施形態では、ＶＬベリファイ及びＶＨベリファイとでビット線の充電電圧を変えるようにしている。すなわち、ＶＨベリファイ用のビット線の充電電圧を、ＶＬベリファイ用のビット線の充電電圧より低く設定する。また、各閾値電圧分布に対応するＶＬベリファイ及びＶＨベリファイでは、選択ワード線には一定のベリファイ電圧が印加される。
【００５６】
従って第１実施形態によれば、ベリファイレベルの異なる２種類のベリファイを模擬的に実現できる。また、各閾値電圧分布に対応するＶＬベリファイ及びＶＨベリファイを並行して（同時に）行うことができる。これにより、比較例に比べてベリファイ時間がほぼ半分に短縮できるため、プログラムシーケンス時間を短くすることができる。また、ビット線の充電電圧を等しくセンス時間を異ならせてＶＬベリファイ及びＶＨベリファイを行う方式と比べても、ＶＨベリファイ用のビット線の充電電圧を低く設定することで、ベリファイ時間の短縮を図ることが可能となる。
【００５７】
また、ＶＬベリファイがパスした後に、閾値電圧のシフト量を少なくすることができるため、各閾値電圧分布を狭くすることが可能である。この結果、隣接する閾値電圧分布間の距離を大きくできるため、より正確な読み出し動作が実現できる。
【００５８】
［第２実施形態］
第２実施形態は、第１実施形態と同じくＶＨベリファイにおいてビット線の充電電圧をＶＬベリファイに比べて低くしつつ、さらに、ＶＬベリファイとＶＨベリファイとでセンス時間を変えるようにしている。
【００５９】
図１２は、第２実施形態に係るベリファイ動作を説明するタイミングチャートである。第２実施形態では、ＶＨベリファイ（ＡＶＨベリファイ、ＢＶＨベリファイ、及びＣＶＨベリファイを含む）のセンス時間を、ＶＬベリファイ（ＡＶＬベリファイ、ＢＶＬベリファイ、及びＣＶＬベリファイを含む）のセンス時間より長くする。さらに、第１実施形態と同様に、ＶＨベリファイ時のビット線の充電電圧ＶＢＬＬをＶＬベリファイ時のビット線の充電電圧ＶＢＬＨより低くしている。ＶＬベリファイとＶＨベリファイとでセンスを開始するタイミングは同じである。
【００６０】
従って第２実施形態によれば、ＶＬベリファイ及びＶＨベリファイを並行して行うことで、ベリファイ時間が短縮できる。また、ＶＬベリファイのセンス時間とＶＨベリファイのセンス時間とを個別に設定できるため、ＶＬベリファイ及びＶＨベリファイにおけるセンス動作の精度を向上させることができる。この結果、ＱＰＷ方式をより精度よく実現できる。
【００６１】
［第３実施形態］
メモリセルアレイ内では、プログラム特性が良いメモリセル（速く書き上がるメモリセル）とプログラム特性が悪いメモリセル（遅く書き上がるメモリセル）とが混在している。そこで、第３実施形態は、所定回数のプログラムを実行してもＶＨベリファイがパスしない特定のメモリセルに対してはＶＬベリファイに切り替えるようにし、特定のメモリセルのベリファイを早く終了させるようにしている。
【００６２】
図１３は、第３実施形態に係るプログラムシーケンスを説明するタイミングチャートである。図１４は、第３実施形態に係るプログラムシーケンスを説明するフローチャートである。図１４のフローチャートは、第１実施形態で説明した図７のフローチャートに、ステップＳ２０〜Ｓ２２が追加されている。プログラムシーケンスでは、１回のプログラムパルス電圧の印加動作（プログラム動作）が複数回繰り返されるが、プログラムシーケンスの繰り返し単位である複数回のプログラム動作の各々をプログラムループ（又は単にループ）と呼ぶ。
【００６３】
ステップＳ１１のＶＬベリファイがパスである場合、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行われる（ステップＳ１３）。続いて、プログラムループ回数が所定数Ｍ以下であるか否かが判定される（ステップＳ２０）。プログラムループ回数がＭ以下である場合、第１実施形態と同様に、ステップＳ１４、Ｓ１５が行われる。
【００６４】
ステップＳ２０においてプログラムループ回数がＭを超えている場合、ＶＬベリファイが行われる（ステップＳ２１）。すなわち、選択ワード線にベリファイ電圧ＡＲ、ＢＲ、ＣＲを順に印加し、かつビット線を電圧ＶＢＬＨに充電して、ベリファイ動作が行われる。ステップＳ２１のＶＬベリファイがフェイルである場合、ステップＳ１３に戻り、プログラムパルス電圧をステップアップして再度プログラム動作が行われる（ステップＳ２２）。一方、ＶＬベリファイがパスである場合、当該メモリセルのプログラムが終了する。
【００６５】
なお、ループ回数Ｍを少なくすれば、プログラムシーケンス時間が短くなり、ループ回数Ｍを多くすれば、プログラムシーケンス時間が長くなる。ループ回数Ｍは、求められる仕様に応じて任意に設定可能である。また、ループ回数Ｍは、書き換え回数やメモリセルの劣化具合に応じて変更してもよい。
【００６６】
以上詳述したように第３実施形態によれば、プログラムループ回数が所定数Ｍを超えた場合に、ＶＨベリファイを実行中であっても、ＶＬベリファイに切り替える。これにより、プログラムシーケンスを早く終了させることができる。特に、特定のメモリセル（例えばプログラム特性が悪いメモリセル）に対して過剰にプログラムループを繰り返すことを避けることができ、結果として、プログラムシーケンス時間を短くできる。また、閾値電圧分布Ｅのメモリセル及び書き込みが完了したメモリセルへの非選択書き込みの回数を減らすことができ、誤書き込みの発生を避けることができる。
【００６７】
＜変形例＞
ステップＳ２１においてＶＬベリファイの対象となるメモリセルは、ステップＳ１２において一度ＶＬベリファイがパスしている。よって、プログラムループ回数が所定数Ｍを超えた場合、即座にプログラムシーケンスを終了するようにしてもよい。図１５は、変形例に係るプログラムシーケンスを説明するタイミングチャートである。図１６は、変形例に係るプログラムシーケンスを説明するフローチャートである。
【００６８】
図１６において、プログラムループ回数がＭを超えている場合（ステップＳ２０）、ＶＨベリファイの対象であるメモリセル（ＶＬベリファイがパスしたメモリセル）はプログラムが終了する。すなわち、変形例では、図１４のステップＳ２１、Ｓ２２が削除されている。変形例によれば、よりプログラムシーケンス時間を短くできる。また、閾値電圧分布Ｅのメモリセル及び書き込みが完了したメモリセルへの非選択書き込みの回数を減らすことができ、誤書き込みの発生を避けることができる。
【００６９】
［第４実施形態］
第４実施形態は、所定数のプログラムループを実行してもＶＨベリファイがパスしない特定のメモリセルに対してはプログラム時のビット線電圧を中間電圧Ｖｑｐｗから０Ｖに切り替えるようにし、特定のメモリセルのプログラムを早く終了させるようにしている。
【００７０】
図１７は、第４実施形態に係るプログラムシーケンスを説明するタイミングチャートである。図１８は、第４実施形態に係るプログラムシーケンスを説明するフローチャートである。図１８のフローチャートは、第１実施形態で説明した図７のフローチャートに、ステップＳ３０〜Ｓ３３が追加されている。
【００７１】
ステップＳ１１のＶＬベリファイがパスである場合、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行われる（ステップＳ１３）。続いて、プログラムループ回数が所定数Ｎ以下であるか否かが判定される（ステップＳ３０）。プログラムループ回数がＮ以下である場合、第１実施形態と同様に、ステップＳ１４、Ｓ１５が行われる。
【００７２】
ステップＳ３０においてプログラムループ回数がＮを超えている場合、まず、ステップＳ１４、Ｓ１５と同様に、ＶＨベリファイが行われる（ステップＳ３１、Ｓ３２）。ステップＳ３２のＶＨベリファイがフェイルである場合、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ３３）。このステップＳ３３のプログラム動作では、メモリセルの閾値電圧の変動を大きくできる。その後、ＶＨベリファイがパスするまで、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が繰り返される。
【００７３】
なお、ループ回数Ｎを少なくすれば、プログラムシーケンス時間が短くなり、ループ回数Ｎを多くすれば、プログラムシーケンス時間が長くなる。ループ回数Ｎは、求められる仕様に応じて任意に設定可能である。また、ループ回数Ｎは、書き換え回数やメモリセルの劣化具合に応じて変更してもよい。
【００７４】
以上詳述したように第４実施形態によれば、プログラムループ回数が所定数Ｎを超えた場合に、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作を行う。これにより、プログラムシーケンスを早く終了させることができる。特に、特定のメモリセル（例えばプログラム特性が悪いメモリセル）に対して過剰にプログラムループを繰り返すことを避けることができ、結果として、プログラムシーケンス時間を短くできる。また、閾値電圧分布Ｅのメモリセル及び書き込みが完了したメモリセルへの非選択書き込みの回数を減らすことができ、誤書き込みの発生を避けることができる。
【００７５】
＜変形例＞
第３実施形態と第４実施形態とを組み合わせても良い。図１９は、変形例に係るプログラムシーケンスを説明するフローチャートである。
【００７６】
ステップＳ２２までの工程は、第３実施形態の図１４と同じである。ステップＳ２２のＶＬベリファイがフェイルである場合、第４実施形態と同様の工程が行われる。すなわち、プログラムループ回数が所定数Ｎ以下であるか否かが判定される（ステップＳ３０）。プログラムループ回数がＮ以下である場合、ステップＳ１３に戻り、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行なわれる。
【００７７】
ステップＳ３０においてプログラムループ回数がＮを超えている場合、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ３３）。その後、ステップＳ２１、Ｓ２２によりＶＬベリファイがパスするまで、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が繰り返される。
【００７８】
なお、図１９の変形例は、プログラムループ回数の関係がＭ＜Ｎである場合を想定しているが、Ｍ＝Ｎであってもよい。また、閾値電圧分布Ａ、Ｂ、Ｃに対応する３つの書き込みステートごとにＭ、Ｎを変更してもよい。具体的には、閾値電圧が高くなるにつれて、Ｍ、Ｎをそれぞれ大きくする。
【００７９】
さらに、第３実施形態と第４実施形態との処理順序を入れ替えてもよい。図２０は、他の変形例に係るプログラムシーケンスを説明するフローチャートである。
【００８０】
ステップＳ３２までの工程は、第４実施形態の図１８と同じである。ステップＳ３３においてビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行われた後、第３実施形態と同様の工程が行われる。すなわち、プログラムループ回数が所定数Ｍ以下であるか否かが判定される（ステップＳ２０）。プログラムループ回数がＭ以下である場合、ステップＳ３１においてＶＨベリファイが行われる。
【００８１】
ステップＳ２０においてプログラムループ回数がＭを超えている場合、ＶＬベリファイが行われる（ステップＳ２１）。その後、ステップＳ２１、Ｓ２２によりＶＬベリファイがパスするまで、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が繰り返される。
【００８２】
なお、図２０の変形例は、プログラムループ回数の関係がＭ＞Ｎである場合を想定しているが、Ｍ＝Ｎであってもよい。また、閾値電圧分布Ａ、Ｂ、Ｃに対応する３つの書き込みステートごとにＭ、Ｎを変更してもよい。具体的には、閾値電圧が高くなるにつれて、Ｍ、Ｎをそれぞれ大きくする。
【００８３】
［第５実施形態］
プログラムシーケンスの最初の方のプログラム動作では、プログラムパルス電圧Ｖｐｇｍのレベルが低いため、ベリファイをパスするメモリセルの数が少ない。そこで、第５実施形態は、プログラムシーケンスの最初の方のプログラムループでは、ベリファイ動作を省略するようにしている。
【００８４】
図２１は、第５実施形態に係るプログラムシーケンスを説明するタイミングチャートである。図２２は、第５実施形態に係るプログラムシーケンスを説明するフローチャートである。図２２のフローチャートは、第１実施形態で説明した図７のフローチャートに、ステップＳ４０が追加されている。
【００８５】
まず、閾値電圧がＶＬレベル未満のメモリセルに対して、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ１０）。続いて、プログラムループ回数が所定数Ｍ以下であるか否かが判定される（ステップＳ４０）。ステップＳ４０においてプログラムループ回数がＭ以下である場合、ステップＳ１０に戻り、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる。一方、ステップＳ４０においてプログラムループ回数がＭを超えている場合、ＶＬベリファイが行われる（ステップＳ１１）。
【００８６】
以上のように、プログラムループ回数が所定数Ｍ以下である間は、ＶＬベリファイをパスするメモリセルの数が少ないため、ベリファイ動作を省略する。これにより、プログラムシーケンス時間を短くすることができる。
【００８７】
なお、閾値電圧分布Ａ、Ｂ、Ｃに対応する３つの書き込みステートごとにＭを変更してもよい。具体的には、閾値電圧が高くなるにつれて、Ｍを大きくする。
【００８８】
［第６実施形態］
第５実施形態のように複数回連続してプログラム動作を行うと、書き上がりが速いメモリセルは、ＶＨベリファイがパスする閾値電圧を有する場合もある。そこで、第６実施形態では、プログラムシーケンスの１回目のベリファイ動作で、ＶＬベリファイ及びＶＨベリファイを並行して行うようにしている。
【００８９】
図２３は、第６実施形態に係るプログラムシーケンスを説明するタイミングチャートである。図２４は、第６実施形態に係るプログラムシーケンスを説明するフローチャートである。
【００９０】
まずは、第５実施形態と同様に、複数回のプログラムループが行われる（ステップＳ１０、Ｓ４０）。続いて、ＶＬベリファイ及びＶＨベリファイが並行して行われる（ステップＳ４１）。具体的には、ビット線を電圧ＶＢＬＨに充電し、かつ、ＶＨベリファイのセンス時間をＶＬベリファイのセンス時間より長くする。これにより、ＶＨベリファイにおけるビット線電圧がＶＬベリファイに比べて低くなり、ＶＨベリファイがＶＬベリファイに比べてパスしにくくなる。結果として、ビット線の充電電圧を同じにして、１回のベリファイ動作でＶＬレベル及びＶＨレベルを検知できる。
【００９１】
ステップＳ４１のベリファイの結果（ステップＳ４２）、ＶＬベリファイ及びＶＨベリファイの両方がフェイルである場合、ビット線電圧ＶＢＬ＝０Ｖにしてプログラム動作が行なわれる（ステップＳ４３）。また、ＶＬベリファイがパス、かつＶＨベリファイがフェイルである場合、ビット線電圧ＶＢＬ＝Ｖｑｐｗにしてプログラム動作が行なわれる（ステップＳ１３）。さらに、ＶＬベリファイ及びＶＨベリファイの両方がパスである場合、当該メモリセルのプログラムが終了する。
【００９２】
以上のように、複数回のプログラムループを行った後に、１回目のベリファイ動作で、ＶＬベリファイ及びＶＨベリファイを並行して行うことで、ベリファイ回数を減らすことができる。これにより、プログラムシーケンス時間を短くすることができる。
【００９３】
［第７実施形態］
図２５は、第７実施形態に係るベリファイ動作を説明するタイミングチャートである。２ビットを記憶可能なＭＬＣでは、３種類のプログラムステート（閾値電圧分布Ａ、Ｂ、Ｃ）が存在し、さらにＱＰＷ方式を用いることで６種類のベリファイステート（ＡＶＬ、ＡＶＨ、ＢＶＬ、ＢＶＨ、ＣＶＬ、ＣＶＨ）が存在する。また、ベリファイ動作では、各ビット線に応じたベリファイステートに対応する電圧が当該ビット線に充電される。
【００９４】
第７実施形態では、図２５に示すように、ビット線に対応するベリファイステートを確認する期間のみビット線を充電し、ベリファイ時のセンスが終了した時点でビット線の充電も終了させる。ＶＬベリファイ時にビット線の充電電圧としてＶＢＬＨ、ＶＨベリファイ時にビット線の充電電圧としてＶＢＬＬを用いることは、前述した実施形態と同じである。
【００９５】
従って第７実施形態によれば、ビット線に不要な電圧を印加しないように制御できるため、ＮＡＮＤ型フラッシュメモリ１０の消費電力を低減することができる。
【００９６】
［第８実施形態］
プログラム動作では、ワード線を昇順にプログラムする。この場合、選択ワード線ＷＬｎをプログラムした時点は、選択ワード線ＷＬｎに隣接するワード線ＷＬｎ＋１はまだプログラムされていない。その後、ワード線ＷＬｎ＋１をプログラムすると、セル間干渉によって選択ワード線ＷＬｎに接続されたメモリセルの閾値電圧がシフトしてしまう。
【００９７】
そこで、選択ワード線ＷＬｎに接続された選択メモリセルのデータを読み出す前に、ワード線ＷＬｎ＋１に接続された隣接メモリセルのデータを読み出し、この隣接メモリセルのデータに応じてワード線ＷＬｎ＋１に印加する読み出しパス電圧Ｖｒｅａｄのレベルを変える。これにより、選択メモリセルの閾値電圧をプログラム時のものに近づけることができ、読み出し動作を正確に行うことができる。このような補正読み出し方式は、ＤＬＡ（Direct Look Ahead）方式と呼ばれる。
【００９８】
図２６は、比較例に係る読み出し動作を説明するタイミングチャートである。ワード線ＷＬｎが読み出し対象である選択ワード線である。比較例では、下位ページデータを読み出す動作を例に挙げて説明する。
【００９９】
プログラム順序としては、隣接ワード線からのセル間干渉を極力減らすために、例えば、ワード線ＷＬｎ＋１に下位ページをプログラムした後に、ワード線ＷＬｎに上位ページをプログラムする。このため、下位ページが既にプログラムされたメモリセルに上位ページをプログラムすると、閾値電圧分布Ａ、Ｃにプログラムされるメモリセルの閾値電圧のシフト量が特に大きくなる。すなわち、下位ページが既にプログラムされているメモリセルに上位ページをプログラムすると、閾値電圧のシフト量は、閾値電圧分布Ｅ、Ｂ、Ａ、Ｃの順に大きくなる。
【０１００】
これに対応して、隣接ワード線に上位ページがプログラムされた後では、セル間干渉により、隣接メモリセルが閾値電圧分布Ａ、Ｃにプログラムされた選択メモリセルの閾値電圧のシフト量が特に大きくなり、また、隣接メモリセルの閾値電圧分布Ｅ、Ｂ、Ａ、Ｃの順に、選択メモリセルの閾値電圧のシフト量が大きくなる。よって、補正読み出しでは、閾値電圧分布Ｅ、Ｂ、Ａ、Ｃの順に、ワード線ＷＬｎ＋１に印加する読み出しパス電圧の補正量を大きくする。
【０１０１】
図２６に示すように、まず、読み出し動作に先立って、事前読み出し動作が行われる。事前読み出し動作では、ワード線ＷＬｎ＋１に読み出し電圧ＡＲ、ＢＲ、ＣＲが順に印加され、ワード線ＷＬｎ＋１以外のワード線に読み出しパス電圧Ｖｒｅａｄが印加され、ビット線ＢＬは所定電圧ＶＢＬＣに充電される。これにより、読み出し電圧ＡＲ、ＢＲ、ＣＲそれぞれに対してワード線ＷＬｎ＋１に接続された隣接メモリセルのオン／オフが判定され、隣接メモリセルのデータが読み出される。読み出し電圧ＡＲ、ＢＲ、ＣＲは、例えば、前述したベリファイ電圧ＡＲ、ＢＲ、ＣＲと同じ値である。
【０１０２】
続いて、読み出し動作が行われる。下位ページ読み出しでは、読み出し電圧ＢＲが用いられる。読み出し動作では、選択ワード線ＷＬｎに読み出し電圧ＢＲが印加され、ビット線ＢＬは所定電圧ＶＢＬＣに充電される。また、ワード線ＷＬｎ＋１には、読み出しパス電圧Ｖｒｅａｄ１、Ｖｒｅａｄ２、Ｖｒｅａｄ３、Ｖｒｅａｄ４（Ｖｒｅａｄ１＜Ｖｒｅａｄ２＜Ｖｒｅａｄ３＜Ｖｒｅａｄ４）が順に印加される。Ｖｒｅａｄ１、Ｖｒｅａｄ２、Ｖｒｅａｄ３、Ｖｒｅａｄ４はそれぞれ、隣接メモリセルが閾値電圧分布Ｅ、Ｂ、Ａ、Ｃにプログラムされている場合に使用される読み出しパス電圧である。これにより、隣接メモリセルのデータに応じた補正読み出しが実現される。この比較例では、４種類の読み出しパス電圧Ｖｒｅａｄ１、Ｖｒｅａｄ２、Ｖｒｅａｄ３、Ｖｒｅａｄ４を用いた読み出し動作が個別に行われるため、読み出し時間が長くなる。
【０１０３】
以下に、実施形態に係る読み出し動作について説明する。なお、下位ページデータを読み出す動作（下位ページ読み出し）、上位ページデータを読み出す動作（上位ページ読み出し）、及び下位ページ及び上位ページを一度に読み出す動作（シーケンシャル読み出し）を順に説明する。
【０１０４】
［１．下位ページ読み出し］
図２７は、第８実施形態に係る下位ページ読み出し動作を説明するタイミングチャートである。まず、比較例と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。図２７には、ワード線ＷＬｎ＋１に接続された隣接メモリセルの閾値電圧がＥ、Ａ、Ｂ、Ｃである場合にそれぞれ対応するビット線の波形が記載されている。
【０１０５】
読み出し動作では、選択ワード線ＷＬｎに下位ページを読み出すための読み出し電圧ＢＲが印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。また、隣接メモリセルの閾値電圧がＣである選択メモリセルに対応するビット線はＶＢＬ１に充電され、隣接メモリセルの閾値電圧がＡである選択メモリセルに対応するビット線はＶＢＬ２に充電され、隣接メモリセルの閾値電圧がＢである選択メモリセルに対応するビット線はＶＢＬ３に充電され、隣接メモリセルの閾値電圧がＥである選択メモリセルに対応するビット線はＶＢＬ４に充電される。ビット線電圧ＶＢＬ１、ＶＢＬ２、ＶＢＬ３、ＶＢＬ４は、ＶＢＬ１＜ＶＢＬ２＜ＶＢＬ３＜ＶＢＬ４の関係を有する。例えばＶＢＬ３＝ＶＢＬＣである。図２７のＶＢＬ１、ＶＢＬ２、ＶＢＬ４の波形には、電圧レベルの比較のために、ＶＢＬ３の波形を破線で重ねて示している。
【０１０６】
これにより、セル間干渉により閾値電圧のシフト量が大きいメモリセルほど、センス時のビット線電圧が低くなるように補正できるため、補正読み出しが実現できる。さらに、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１０７】
［２．上位ページ読み出し］
図２８は、第８実施形態に係る上位ページ読み出し動作を説明するタイミングチャートである。上位ページデータは、読み出し電圧ＡＲ、ＣＲをそれぞれ用いたセンス結果によって判定される。
【０１０８】
まず、比較例と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。読み出し動作では、選択ワード線ＷＬｎに上位ページを読み出すための読み出し電圧ＡＲ、ＣＲが順に印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。ビット線ＢＬの充電電圧は、下位ページ読み出しの場合と同じであり、また、読み出し電圧ＡＲ、ＣＲをそれぞれ用いた読み出し期間中、ビット線は同じ電圧に充電される。
【０１０９】
これにより、読み出し電圧ＡＲ、ＣＲを用いた読み出し動作のそれぞれにおいて、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１１０】
［３．シーケンシャル読み出し］
図２９は、第８実施形態に係るシーケンシャル読み出し動作を説明するタイミングチャートである。シーケンシャル読み出しでは、下位ページデータ及び上位ページデータが一度に読み出され、下位ページデータ及び上位ページデータは、読み出し電圧ＡＲ、ＢＲ、ＣＲをそれぞれ用いたセンス結果によって判定される。
【０１１１】
まず、比較例と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。読み出し動作では、選択ワード線ＷＬｎに読み出し電圧ＡＲ、ＢＲ、ＣＲが順に印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。ビット線ＢＬの充電電圧は、下位ページ読み出しの場合と同じであり、また、読み出し電圧ＡＲ、ＢＲ、ＣＲをそれぞれ用いた読み出し期間中、ビット線は同じ電圧に充電される。
【０１１２】
これにより、読み出し電圧ＡＲ、ＢＲ、ＣＲを用いた読み出し動作のそれぞれにおいて、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１１３】
［４．効果］
以上詳述したように第８実施形態では、選択ワード線ＷＬｎの読み出し動作において、選択ワード線ＷＬｎに隣接する隣接ワード線ＷＬｎ＋１に接続された隣接メモリセルのデータに応じて、ビット線の充電電圧を変えるようにしている。すなわち、ビット線の充電電圧は、セル間干渉による閾値電圧のシフト量が大きいメモリセルほど低く設定する。また、読み出し動作において、非選択ワード線（隣接ワード線ＷＬｎ＋１を含む）には、１種類の読み出しパス電圧Ｖｒｅａｄのみが印加される。
【０１１４】
従って第８実施形態によれば、隣接メモリセルの複数種類の閾値電圧分布にそれぞれ対応した補正読み出しを同時に行うことができる。これにより、読み出し時間を短くすることができる。また、セル間干渉による閾値電圧の変動を補正して読み出し動作を行うことができるため、読み出し動作をより正確に行うことができる。なお、通常の読み出し動作でＥＣＣエラーが発生した時にのみ第８実施形態の補正読み出しを実施するようにしてもよい。
【０１１５】
なお、上記説明では、隣接ワード線に接続された隣接メモリセルのデータに応じて補正読み出しを行っている。しかしこれに限定されるものではなく、偶数ビット線と奇数ビット線とを分けてプログラム動作及び読み出し動作を行う場合には、隣接ビット線に接続されたメモリセルのデータに応じてビット線の充電電圧を変えるようにしてもよい。
【０１１６】
［第９実施形態］
第８実施形態では、補正読み出しの際に、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する４種類のビット線充電電圧を用いている。第９実施形態では、２種類のビット線充電電圧を用いて補正読み出しを行うようにしている。
【０１１７】
前述したように、下位ページがプログラムされているメモリセルに上位ページをプログラムすると、閾値電圧のシフト量は、閾値電圧分布Ｅ、Ｂ、Ａ、Ｃの順に大きくなる。そこで、第９実施形態では、隣接メモリセルの閾値電圧のシフト量が比較的大きい閾値電圧分布Ａ、Ｃにおいては、同じビット線充電電圧ＶＢＬ１を用いて選択メモリセルの読み出し動作を行う。また、隣接メモリセルの閾値電圧のシフト量が比較的小さい閾値電圧分布Ｅ、Ｂにおいては、同じビット線充電電圧ＶＢＬ２（ＶＢＬ１＜ＶＢＬ２）を用いて選択メモリセルの読み出し動作を行う。以下に、第９実施形態の動作について、下位ページ読み出し、上位ページ読み出し、及びシーケンシャル読み出しを順に説明する。
【０１１８】
［１．下位ページ読み出し］
図３０は、第９実施形態に係る下位ページ読み出し動作を説明するタイミングチャートである。まず、第８実施形態と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。図３０には、ワード線ＷＬｎ＋１に接続された隣接メモリセルの閾値電圧がＥ、Ａ、Ｂ、Ｃである場合にそれぞれ対応するビット線の波形が記載されている。
【０１１９】
読み出し動作では、選択ワード線ＷＬｎに下位ページを読み出すための読み出し電圧ＢＲが印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。また、隣接メモリセルの閾値電圧がＡ、Ｃである選択メモリセルにそれぞれ対応するビット線はＶＢＬ１に充電され、隣接メモリセルの閾値電圧がＥ、Ｂである選択メモリセルにそれぞれ対応するビット線はＶＢＬ２に充電される。例えばＶＢＬ２＝ＶＢＬＣである。図３０のＶＢＬ１の波形には、電圧レベルの比較のために、ＶＢＬ２の波形を破線で重ねて示している。
【０１２０】
これにより、セル間干渉により閾値電圧のシフト量が大きいメモリセルほど、センス時のビット線電圧が低くなるように補正できるため、補正読み出しが実現できる。さらに、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１２１】
［２．上位ページ読み出し］
図３１は、第９実施形態に係る上位ページ読み出し動作を説明するタイミングチャートである。上位ページデータは、読み出し電圧ＡＲ、ＣＲをそれぞれ用いたセンス結果によって判定される。
【０１２２】
まず、第８実施形態と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。読み出し動作では、選択ワード線ＷＬｎに上位ページを読み出すための読み出し電圧ＡＲ、ＣＲが順に印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。ビット線ＢＬの充電電圧は、下位ページ読み出しの場合と同じであり、また、読み出し電圧ＡＲ、ＣＲをそれぞれ用いた読み出し期間中、ビット線は同じ電圧に充電される。
【０１２３】
これにより、読み出し電圧ＡＲ、ＣＲを用いた読み出し動作のそれぞれにおいて、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１２４】
［３．シーケンシャル読み出し］
図３２は、第９実施形態に係るシーケンシャル読み出し動作を説明するタイミングチャートである。下位ページデータ及び上位ページデータは、読み出し電圧ＡＲ、ＢＲ、ＣＲをそれぞれ用いたセンス結果によって判定される。
【０１２５】
まず、第８実施形態と同様に、読み出し動作に先立って、事前読み出し動作が行われる。続いて、読み出し動作（補正読み出し動作）が行われる。読み出し動作では、選択ワード線ＷＬｎに読み出し電圧ＡＲ、ＢＲ、ＣＲが順に印加され、それ以外のワード線（ワード線ＷＬｎ＋１を含む）に読み出しパス電圧Ｖｒｅａｄが印加される。ビット線ＢＬの充電電圧は、下位ページ読み出しの場合と同じであり、また、読み出し電圧ＡＲ、ＢＲ、ＣＲをそれぞれ用いた読み出し期間中、ビット線は同じ電圧に充電される。
【０１２６】
これにより、読み出し電圧ＡＲ、ＢＲ、ＣＲを用いた読み出し動作のそれぞれにおいて、閾値電圧分布Ｅ、Ａ、Ｂ、Ｃに対応する補正読み出しを同時に行うことができる。
【０１２７】
［４．効果］
以上詳述したように第９実施形態によれば、２種類のビット線充電電圧ＶＢＬ１、ＶＢＬ２を用いて補正読み出しを実現できる。これにより、第８実施形態に比べて、ビット線の制御が容易になる。その他の効果は、第８実施形態と同じである。
【０１２８】
なお、第２乃至第９実施形態は、ＭＬＣを例に挙げて説明しているが、ＳＬＣに適用することも可能である。
【０１２９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３０】
１０…ＮＡＮＤ型フラッシュメモリ、１１…メモリセルアレイ、１２…ワード線制御回路、１３…ビット線制御回路、１４…カラムデコーダ、１５…アドレスデコーダ、１６…入出力制御回路、１７…データ入出力バッファ、１８…制御回路、１９…制御電圧発生回路、２０…パラメータ記憶部。
【図１】
2014225310.tif 000003
【図２】
2014225310.tif 000004
【図３】
2014225310.tif 000005
【図４】
2014225310.tif 000006
【図５】
2014225310.tif 000007
【図６】
2014225310.tif 000008
【図７】
2014225310.tif 000009
【図８】
2014225310.tif 000010
【図９】
2014225310.tif 000011
【図１０】
2014225310.tif 000012
【図１１】
2014225310.tif 000013
【図１２】
2014225310.tif 000014
【図１３】
2014225310.tif 000015
【図１４】
2014225310.tif 000016
【図１５】
2014225310.tif 000017
【図１６】
2014225310.tif 000018
【図１７】
2014225310.tif 000019
【図１８】
2014225310.tif 000020
【図１９】
2014225310.tif 000021
【図２０】
2014225310.tif 000022
【図２１】
2014225310.tif 000023
【図２２】
2014225310.tif 000024
【図２３】
2014225310.tif 000025
【図２４】
2014225310.tif 000026
【図２５】
2014225310.tif 000027
【図２６】
2014225310.tif 000028
【図２７】
2014225310.tif 000029
【図２８】
2014225310.tif 000030
【図２９】
2014225310.tif 000031
【図３０】
2014225310.tif 000032
【図３１】
2014225310.tif 000033
【図３２】
2014225310.tif 000034