(57)【要約】【課題】信頼性を向上することができる半導体記憶装置を提供する。【解決手段】選択トランジスタＳＴ１、ＳＴ２と、異なる複数の閾値電圧のいずれかに設定可能なメモリセルＭＴを含む複数のストリングＮＳと、複数のストリングＮＳの選択トランジスタＳＴ１のゲートに共通接続された選択ゲート線ＳＧＤと、複数のストリングＮＳに個別接続された複数のビット線ＢＬと、複数のストリングＮＳのメモリセルＭＴのゲートに共通接続されたワード線ＷＬと、メモリセルＭＴにデータを書き込むプログラム動作と書き込まれたデータを検証するベリファイ動作とのセットから成る複数のループを繰り返し行う書き込みシーケンスを実行する制御部２２と、を具備し、最初のループのプログラム動作で選択ゲート線ＳＧＤに印加される電圧よりも、最後のループのプログラム動作で選択ゲート線ＳＧＤに印加される電圧のほうが低い。【選択図】図１３
2020047330.tif 000002
【特許請求の範囲】
【請求項１】
選択トランジスタと、前記選択トランジスタの一端（例えばソース）に接続され少なくとも４つの異なる閾値電圧のいずれかに設定可能なメモリセルとをそれぞれ含む複数のメモリストリングと、
前記複数のメモリストリングの前記選択トランジスタのゲートに共通して接続された選択ゲート線と、
前記複数のメモリストリングの前記選択トランジスタの他端（ドレイン）に個別に接続された複数のビット線と、
前記複数のメモリストリングの前記メモリセルのゲートに共通して接続されたワード線と、
前記メモリセルにデータを書き込むプログラム動作と前記メモリセルに書き込まれた前記データを検証するベリファイ動作とのセットから成る複数のループを繰り返し行う書き込みシーケンスを実行し、前記メモリセルに所定のデータの書き込みを行う制御部と、
を具備し、
最初の前記ループの前記プログラム動作において前記選択ゲート線に印加される電圧よりも、最後の前記ループの前記プログラム動作において前記選択ゲート線に印加される電圧の方が低いことを特徴とする、半導体記憶装置。
【請求項２】
前記制御部は、前記ベリファイ動作の結果に応じ、前記選択ゲート線に印加するゲート電圧を変更することを特徴とする、請求項１に記載の半導体記憶装置。
【請求項３】
前記制御部は、前記ベリファイ動作において、前記メモリセルに設定可能な複数の閾値電圧のうち、二番目に高い閾値電圧をターゲットとする前記プログラム動作が完了したと判定した場合、前記選択ゲート線に印加する電圧を所定幅だけ下げることを特徴とする、請求項１又は２に記載の半導体記憶装置。
【請求項４】
各ストリングにおいて、前記メモリセルが、半導体基板上に対する垂直方向に複数配置されており、
前記複数のメモリセルにそれぞれ対応するように前記ワード線が前記半導体基板上に対する前記垂直方向に複数積層され、
前記制御部は、前記メモリセルの垂直方向の位置に応じて、前記選択ゲート線に印加する電圧を調整することを特徴とする、請求項１乃至請求項３のいずれか一項に記載の半導体記憶装置。
【請求項５】
前記複数のメモリストリングを含むプレーンを複数具備し、
前記制御部は、全ての前記プレーンのベリファイ動作の結果に応じ、全ての前記プレーンに接続された前記選択ゲート線に印加する電圧を変更することを特徴とする、請求項１乃至請求項４のいずれか一項に記載の半導体記憶装置。
【請求項６】
前記制御部は、前記ベリファイ動作において、複数の前記プレーンのいずれか一のプレーンにおいて、前記メモリセルに設定可能な複数の閾値電圧のうち、二番目に高い閾値電圧をターゲットとする前記プログラム動作が完了したと判定した場合、他の前記プレーンについて二番目に高い閾値電圧をターゲットとする前記プログラム動作を終了し、全ての前記プレーンに接続された前記選択ゲート線に印加する電圧を所定幅だけ下げることを特徴とする、請求項５に記載の半導体記憶装置。
【請求項７】
前記制御部は、前記ベリファイ動作において、前記メモリセルに設定可能な複数の閾値電圧のうち、二番目に高い閾値電圧をターゲットとする前記プログラム動作が完了したと判定した場合、前記プログラム動作時において前記ビット線に印加する電圧を所定幅だけ下げることを特徴とする、請求項３乃至請求項６のいずれか一項に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置として、ＮＡＮＤフラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１９６９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、信頼性を向上させることができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本実施形態の半導体記憶装置は、選択トランジスタと、前記選択トランジスタの一端（例えばソース）に接続され少なくとも４つの異なる閾値電圧のいずれかに設定可能なメモリセルとをそれぞれ含む複数のメモリストリングと、前記複数のメモリストリングの前記選択トランジスタのゲートに共通して接続された選択ゲート線と、前記複数のメモリストリングの前記選択トランジスタの他端（ドレイン）に個別に接続された複数のビット線と、前記複数のメモリストリングの前記メモリセルのゲートに共通して接続されたワード線と、前記メモリセルにデータを書き込むプログラム動作と前記メモリセルに書き込まれた前記データを検証するベリファイ動作とのセットから成る複数のループを繰り返し行う書き込みシーケンスを実行し、前記メモリセルに所定のデータの書き込みを行う制御部とを備えている。最初の前記ループの前記プログラム動作において前記選択ゲート線に印加されるゲート電圧よりも、最後の前記ループの前記プログラム動作において前記選択ゲート線に印加される電圧の方が低い。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態にかかる記憶装置の構成例を示すブロック図。
【図２】本発明の実施形態の不揮発性メモリの構成例を示すブロック図。
【図３】３次元構造のメモリセルアレイのブロックの構成例を示す図。
【図４】３次元構造のＮＡＮＤメモリのメモリセルアレイの一部領域の断面図。
【図５】実施形態の閾値領域の一例を示す図。
【図６】実施形態のデータコーディングを示す図。
【図７】一般的な半導体記憶装置の書き込み動作時における各配線の電位変化を示す図。
【図８】書き込み動作時のストリングの様子を示す回路図。
【図９】書き込み動作時における、ループ回数とプログラム動作及びベリファイ動作の関係を示すダイアグラム。
【図１０】書き込み動作時における、ループ回数とビット線電圧との関係を示すダイアグラム。
【図１１】書き込み動作時における、選択ワード線、及び、ビット線の電圧を示すタイミングチャート。
【図１２】セレクトゲート線電圧■ＳＧＤとフェイルビット数との関係を示す図。
【図１３】本実施形態の半導体記憶装置にかかる最上位の閾値レベルの書き込み動作時における各配線の電位変化を示す図。
【図１４】本実施形態における書き込み動作の手順の一例を説明するフローチャート。
【図１５】変形例の不揮発性メモリの構成例を示すブロック図。
【図１６】変形例における書き込み動作の手順の一例を説明するフローチャート。
【図１７】変形例における書き込み動作の手順の別の一例を説明するフローチャート。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態を説明する。
（１．構成）
（１−１．メモリシステムの構成）
図１は、本発明の実施形態にかかるメモリシステムの構成例を示すブロック図である。本実施形態のメモリシステムは、メモリコントローラ１と、半導体記憶装置としての不揮発性メモリ２とを備える。メモリシステムは、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
【０００８】
不揮発性メモリ２は、データを不揮発に記憶するメモリであり、例えば、ＮＡＮＤメモリ（ＮＡＮＤフラッシュメモリ）を備えている。本実施形態では、不揮発性メモリ２は、メモリセルあたり３ｂｉｔを記憶可能なメモリセルを有するＮＡＮＤメモリ、すなわち３ｂｉｔ／Ｃｅｌｌ（ＴＬＣ：Ｔｒｉｐｌｅ Ｌｅｖｅｌ Ｃｅｌｌ）のＮＡＮＤメモリであるとして説明する。不揮発性メモリ２は、３次元化されている。
【０００９】
メモリコントローラ１は、ホストからの書き込みリクエストに従って不揮発性メモリ２へのデータの書き込みを制御する。また、メモリコントローラ１は、ホストからの読み出しリクエストに従って不揮発性メモリ２からのデータの読み出しを制御する。メモリコントローラ１は、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１１、プロセッサ１２、ホストインターフェイス１３、ＥＣＣ（Ｅｒｒｏｒ Ｃｈｅｃｋ ａｎｄ Ｃｏｒｒｅｃｔ）回路１４およびメモリインターフェイス１５を備える。ＲＡＭ１１、プロセッサ１２、ホストインターフェイス１３、ＥＣＣ回路１４およびメモリインターフェイス１５は、互いに内部バス１６で接続される。
【００１０】
ホストインターフェイス１３は、ホストから受信したリクエスト、ユーザデータ（書き込みデータ）などを内部バス１６に出力する。また、ホストインターフェイス１３は、不揮発性メモリ２から読み出されたユーザデータ、プロセッサ１２からの応答などをホストへ送信する。
【００１１】
メモリインターフェイス１５は、プロセッサ１２の指示に基づいて、ユーザデータ等を不揮発性メモリ２へ書き込む処理および不揮発性メモリ２から読み出す処理を制御する。
【００１２】
プロセッサ１２は、メモリコントローラ１を統括的に制御する。プロセッサ１２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）等である。プロセッサ１２は、ホストからホストインターフェイス１３経由でリクエストを受けた場合に、そのリクエストに従った制御を行う。例えば、プロセッサ１２は、ホストからのリクエストに従って、不揮発性メモリ２へのユーザデータおよびパリティの書き込みをメモリインターフェイス１５へ指示する。また、プロセッサ１２は、ホストからのリクエストに従って、不揮発性メモリ２からのユーザデータおよびパリティの読み出しを、メモリインターフェイス１５へ指示する。
【００１３】
プロセッサ１２は、ＲＡＭ１１に蓄積されるユーザデータに対して、不揮発性メモリ２上の格納領域（メモリ領域）を決定する。ユーザデータは、内部バス１６経由でＲＡＭ１１に格納される。プロセッサ１２は、メモリ領域の決定を、書き込み単位であるページ単位のデータ（ページデータ）に対して実施する。本明細書では、不揮発性メモリ２の１ページに格納されるユーザデータをユニットデータと定義する。ユニットデータは、一般的には符号化されて符号語として不揮発性メモリ２に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ１は、符号化せずにユニットデータを不揮発性メモリ２に格納してもよいが、図１では、一構成例として符号化を行う構成を示している。メモリコントローラ１が符号化を行わない場合には、ページデータはユニットデータと一致する。また、１つのユニットデータに基づいて１つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて１つの符号語が生成されてもよい。また、複数のユニットデータを用いて１つの符号語が生成されてもよい。
【００１４】
プロセッサ１２は、ユニットデータごとに書き込み先の不揮発性メモリ２のメモリ領域を決定する。不揮発性メモリ２のメモリ領域には物理アドレスが割当てられている。プロセッサ１２は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ１２は、決定したメモリ領域（物理アドレス）を指定してユーザデータを不揮発性メモリ２へ書き込むようメモリインターフェイス１５へ指示する。プロセッサ１２は、ユーザデータの論理アドレス（ホストが管理する論理アドレス）と物理アドレスとの対応を管理する。プロセッサ１２は、ホストからの論理アドレスを含む読み出しリクエストを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス１５へ指示する。
【００１５】
ＥＣＣ回路１４は、ＲＡＭ１１に格納されたユーザデータを符号化して、符号語を生成する。また、ＥＣＣ回路１４は、不揮発性メモリ２から読み出された符号語を復号する。
【００１６】
ＲＡＭ１１は、ホストから受信したユーザデータを不揮発性メモリ２へ記憶するまでに一時格納したり、不揮発性メモリ２から読み出したデータをホストへ送信するまでに一時格納したりする。ＲＡＭ１１は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）などの汎用メモリである。
【００１７】
図１では、メモリコントローラ１が、ＥＣＣ回路１４とメモリインターフェイス１５をそれぞれ備える構成例を示した。しかしながら、ＥＣＣ回路１４がメモリインターフェイス１５に内蔵されていてもよい。また、ＥＣＣ回路１４が、不揮発性メモリ２に内蔵されていてもよい。
【００１８】
ホストから書き込みリクエストを受信した場合、メモリシステムは次のように動作する。プロセッサ１２は、書き込み対象となるデータをＲＡＭ１１に一時記憶させる。プロセッサ１２は、ＲＡＭ１１にストアされたデータを読み出し、ＥＣＣ回路１４に入力する。ＥＣＣ回路１４は、入力されたデータを符号化し、符号語をメモリインターフェイス１５に入力する。メモリインターフェイス１５は、入力された符号語を不揮発性メモリ２に書き込む。
【００１９】
ホストから読み出しリクエストを受信した場合、メモリシステムは次のように動作する。メモリインターフェイス１５は、不揮発性メモリ２から読み出した符号語をＥＣＣ回路１４に入力する。ＥＣＣ回路１４は、入力された符号語を復号し、復号されたデータをＲＡＭ１１にストアする。プロセッサ１２は、ＲＡＭ１１にストアされたデータを、ホストインターフェイス１３を介してホストに送信する。
（１−２．不揮発性メモリの構成）
図２は、本実施形態の不揮発性メモリの構成例を示すブロック図である。不揮発性メモリ２は、ＮＡＮＤ Ｉ／Ｏインターフェイス２１、制御部２２、プレーン２６を備えている。プレーン２６は、独立して読み出し動作、書き込み動作、及び消去動作を実行することが可能な単位であり、不揮発性メモリ内に１つ以上のプレーン２６が配置される。図２は、不揮発性メモリ２に１つのプレーン２６が配置されている場合について示している。プレーン２６は、ＮＡＮＤメモリセルアレイ（メモリセル部）２３Ａ、センスユニット２４Ａ、及び、ロウデコーダ２５Ａを備える。不揮発性メモリ２は、例えば１チップの半導体基板（例えば、シリコン基板）からなる。
【００２０】
制御部２２は、ＮＡＮＤ Ｉ／Ｏインターフェイス２１経由でメモリコントローラ１か
ら入力されたリクエスト等に基づいて、不揮発性メモリ２の動作を制御する。具体的には、制御部２２は、書き込みリクエストが入力された場合、書き込み対象となるデータをＮＡＮＤメモリセルアレイ２３Ａ上の指定されたアドレスへ書き込むよう、ロウデコーダ２５Ａとセンスユニット２４Ａを制御する。また、制御部２２は、読み出しリクエストが入力された場合、読み出し対象となるデータをＮＡＮＤメモリセルアレイ２３Ａから読み出してＮＡＮＤ Ｉ／Ｏインターフェイス２１経由でメモリコントローラ１へ出力するよう制御する。
【００２１】
ロウデコーダ２５Ａは、制御部２２から入力されたロウアドレスに基づいて、ＮＡＮＤメモリセルアレイ２３Ａをブロック単位で選択するとともに、ワード線に所望の電圧を印可する。
【００２２】
センスユニット２４Ａは、データの読み出し時において、ＮＡＮＤメモリセルアレイ２３Ａから読み出したデータを検知する。また、センスユニット２４Ａは、データの書き込み時において、メモリコントローラ１から入力された書き込みデータを一時的に格納し、ＮＡＮＤメモリセルアレイ２３Ａに転送する。
（１−３．メモリセルアレイの構成）
図３は、３次元構造のメモリセルアレイのブロックの構成例を示す図である。図３は、３次元構造のメモリセルアレイを構成する複数のブロックのうちの１つのブロックＢＬＫを示している。メモリセルアレイの他のブロックも図３と同様の構成を有する。なお、本実施形態は、２次元構造のメモリセルにも適用可能である。
【００２３】
図示するように、ブロックＢＬＫは、例えば４つのストリングユニットＳＵ（ＳＵ０〜ＳＵ３）を含む。また各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＮＳを含む。ＮＡＮＤストリングＮＳの各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１，ＳＴ２とを含む。
【００２４】
なお、メモリセルトランジスタＭＴの個数は８個に限られず、例えば、３２個、４８個、６４個、９６個でもよい。選択トランジスタＳＴ１，ＳＴ２は、電気回路上は１つのトランジスタとして示しているが、構造上はメモリセルトランジスタと同じでもよい。また、例えばカットオフ特性を高めるために、選択トランジスタＳＴ１，ＳＴ２として、それぞれ複数の選択トランジスタを用いてもよい。さらに、メモリセルトランジスタＭＴと選択トランジスタＳＴ１，ＳＴ２との間には、ダミーセルトランジスタが設けられていてもよい。
【００２５】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１，ＳＴ２間において、直列接続されるようにして配置されている。一端側のメモリセルトランジスタＭＴ７が、選択トランジスタＳＴ１の一端に接続され、他端側のメモリセルトランジスタＭＴ０が、選択トランジスタＳＴ２に接続されている。
【００２６】
ストリングユニットＳＵ０〜ＳＵ３の各々の選択トランジスタＳＴ１のゲートは、それぞれセレクトゲート線ＳＧＤ０〜ＳＧＤ３に共通接続される。他方で、選択トランジスタＳＴ２のゲートは、同一ブロックＢＬＫ内にある複数のストリングユニットＳＵ間で同一のセレクトゲート線ＳＧＳに共通接続される。また、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。すなわち、ワード線ＷＬ０〜ＷＬ７及びセレクトゲート線ＳＧＳは、同一ブロックＢＬＫ内の複数のストリングユニットＳＵ０〜ＳＵ３間で共通に接続されているのに対し、セレクトゲート線ＳＧＤは、同一ブロックＢＬＫ内であってもストリングユニットＳＵ０〜ＳＵ３毎に独立している。
【００２７】
ＮＡＮＤストリングＮＳを構成するメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲート電極には、それぞれワード線ＷＬ０〜ＷＬ７が接続されており、また各ＮＡＮＤストリングＮＳ中のメモリセルトランジスタＭＴｉ（ｉ＝０〜ｎ）間は、同一のワード線ＷＬｉ（ｉ＝０〜ｎ）によって共通接続されている。すなわち、ブロックＢＬＫ内において同一行にあるメモリセルトランジスタＭＴｉの制御ゲート電極は、同一のワード線ＷＬｉに接続される。なお、以下の説明では、ＮＡＮＤストリングＮＳを単に「ストリング」という場合がある。
【００２８】
ＮＡＮＤストリングＮＳはビット線に接続されており、ＮＡＮＤストリングＮＳに含まれる各メモリセルは、対応するワード線ＷＬｉに接続されている。上述した通り、同一のブロックＢＬＫ内にあるメモリセル（メモリセルトランジスタＭＴ）のデータは、一括して消去される。一方、データの読み出し及び書き込みは、メモリセルグループＭＧ単位（または、ページ単位）で行われる。本明細書では、１つのワード線ＷＬｉに接続され、かつ１つのストリングユニットＳＵに属する複数のメモリセルをメモリセルグループと定義する。本実施形態では、１つのワード線に共通に接続されたメモリセルをメモリセルグループＭＧと定義する。本実施形態では、不揮発性メモリ２は、３ｂｉｔ／ＣｅｌｌのＮＡＮＤメモリであり、１つのメモリセルグループＭＧは３ページに対応する。各メモリセルの３ｂｉｔは、それぞれこの３ページに対応する。本実施形態では、この３ページをＬｏｗｅｒページ（第１のページ）、Ｍｉｄｄｌｅページ（第２のページ）、Ｕｐｐｅｒページ（第３のページ）と呼ぶ。
【００２９】
読み出し動作及び書き込み動作時において、物理アドレスに応じて、１本のワード線ＷＬｉおよび１本のセレクトゲート線ＳＧＤが選択され、メモリセルグループＭＧが選択される。
【００３０】
図４は、３次元構造のＮＡＮＤメモリのメモリセルアレイの一部領域の断面図である。図４に示すように、ｐ型ウェル領域（Ｐ−ｗｅｌｌ）上に複数のＮＡＮＤストリングＮＳが形成されている。すなわち、ｐ型ウェル領域上には、セレクトゲート線ＳＧＳとして機能する複数の配線層３３３、ワード線ＷＬｉとして機能する複数の配線層３３２、およびセレクトゲート線ＳＧＤとして機能する複数の配線層３３１が積層されている。
【００３１】
そして、これらの配線層３３３，３３２，３３１を貫通してｐ型ウェル領域に達するメモリホール３３４が形成されている。メモリホール３３４の側面には、ブロック絶縁膜３３５、電荷蓄積層３３６、およびゲート絶縁膜３３７が順次形成され、更にメモリホール３３４内に導電体柱３３８が埋め込まれている。導電体柱３３８は、例えばポリシリコンからなり、ＮＡＮＤストリングＮＳに含まれるメモリセルトランジスタＭＴ並びに選択トランジスタＳＴ１及びＳＴ２の動作時にチャネルが形成される領域として機能する。
【００３２】
各ＮＡＮＤストリングＮＳにおいて、ｐ型ウェル領域上に選択トランジスタＳＴ２、複数のメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１が形成されている。導電体柱３３８よりも上側には、ビット線ＢＬとして機能する配線層が形成される。導電体柱３３８の上側には、導電体柱３３８とビット線ＢＬとを接続するコンタクトプラグ３３９が形成されている。
【００３３】
さらに、ｐ型ウェル領域の表面内には、ｎ＋型不純物拡散層およびｐ＋型不純物拡散層が形成されている。ｎ＋型不純物拡散層上にはコンタクトプラグ３４０が形成され、コンタクトプラグ３４０上には、ソース線ＳＬとして機能する配線層が形成される。
【００３４】
以上の図４に示した構成が、図４の紙面の奥行き方向に複数配列されており、奥行き方向に一列に並ぶ複数のＮＡＮＤストリングの集合によって、１つのストリングユニットＳＵが形成される。
（１−４．メモリセルトランジスタの閾値分布）
図５は、本実施形態の閾値領域の一例を示す図である。図５では、３ｂｉｔ／Ｃｅｌｌの不揮発性メモリ２の閾値分布例を示している。不揮発性メモリ２では、メモリセルの電荷蓄積層に蓄えられた電荷量により情報を記憶する。各メモリセルは、電荷量に応じた閾値電圧を有する。そして、メモリセルに記憶する複数のデータ値を、閾値電圧の複数の領域（閾値領域）にそれぞれ対応させる。
【００３５】
図５の、Ｅｒ、Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇと記載した８つの分布（山型）は、８つの閾値領域内のそれぞれの閾値分布を示している。このように、各メモリセルは、７つの境界によって仕切られた閾値分布を有している。図５の横軸は閾値電圧を示し、縦軸はメモリセル数（セル数）の分布を示している。
【００３６】
本実施形態では、閾値電圧がＶｒ１以下となる領域を領域Ｅｒとよび、閾値電圧がＶｒ１より大きくＶｒ２以下となる領域を領域Ａとよび、閾値電圧がＶｒ２より大きくＶｒ３以下となる領域を領域Ｂとよび、閾値電圧がＶｒ３より大きくＶｒ４以下となる領域を領域Ｃとよぶ。また、本実施形態では、閾値電圧がＶｒ４より大きくＶｒ５以下となる領域を領域Ｄとよび、閾値電圧がＶｒ５より大きくＶｒ６以下となる領域を領域Ｅとよび、閾値電圧がＶｒ６より大きくＶｒ７以下となる領域を領域Ｆとよび、閾値電圧がＶｒ７より大きい領域を領域Ｇとよぶ。
【００３７】
また、領域Ｅｒ，Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇに対応する閾値分布をそれぞれ分布Ｅｒ，Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ（第１〜第８の分布）と呼ぶ。Ｖｒ１〜Ｖｒ７は、各領域の境界となる閾値電圧である。
【００３８】
不揮発性メモリ２では、メモリセルの複数の閾値領域（すなわち閾値分布）に複数のデータ値をそれぞれ対応させる。この対応をデータコーディングという。このデータコーディングをあらかじめ定めておき、データの書き込み（プログラム）時には、データコーディングに従って記憶するデータ値に応じた閾値領域内となるようにメモリセルに電荷を注入する。そして、読み出し時には、メモリセルに読み出し電圧を印加し、読み出し電圧よりメモリセルの閾値が低いか高いかにより、データが決定される。
【００３９】
図６は、本実施形態のデータコーディングを示す図である。本実施形態では、図５に示した８つの閾値分布（閾値領域）を３ｂｉｔの８つのデータ値にそれぞれ対応させる。閾値電圧と、Upper，Middle，Lowerページに対応するビットのデータ値との関係は、以下に示す通りである。
【００４０】
・閾値電圧がＥｒ領域内にあるメモリセルは“１１１”を記憶している状態である。
【００４１】
・閾値電圧がＡ領域内にあるメモリセルは“１０１”を記憶している状態である。
【００４２】
・閾値電圧がＢ領域内にあるメモリセルは“００１”を記憶している状態である。
【００４３】
・閾値電圧がＣ領域内にあるメモリセルは“０１１”を記憶している状態である。
【００４４】
・閾値電圧がＤ領域内にあるメモリセルは“０１０”を記憶している状態である。
【００４５】
・閾値電圧がＥ領域内にあるメモリセルは“１１０”を記憶している状態である。
【００４６】
・閾値電圧がＦ領域内にあるメモリセルは“１００”を記憶している状態である。
【００４７】
・閾値電圧がＧ領域内にあるメモリセルは“０００”を記憶している状態である。
【００４８】
このように、閾値電圧の領域毎に、各メモリセルの３ｂｉｔのデータの状態を表すことが出来る。なお、メモリセルが未書き込みの状態（「消去」の状態）では、メモリセルの閾値電圧はＥｒ領域内にある。また、ここに示した符号では，Ｅｒ（消去）状態で”１１１”というデータを記憶し、Ａ状態で”１０１”というデータを記憶するといったように、任意の2つの隣接する状態間で１ｂｉｔのみデータが変化する。このように、図６に示したコーディングは、任意の２つの隣接する領域間で１ｂｉｔのみデータが変化するグレイ符号である。
【００４９】
なお、図５では８個のレベルが離散的に分布する場合を例に説明したが、これは例えばデータの書き込み直後の理想的な状態である。従って、現実的には隣接するレベルが重なることが起こり得る。例えば、データの書き込み後、ディスターブ等により、分布Ｅｒの上端と分布Ａの下端とが重なる場合がある。このような場合には、例えばＥＣＣ技術などを用いてデータが訂正される。
（２．動作）
次に、本実施形態におけるデータの書き込み動作について説明する。
（２−１．書き込み動作の概念）
まず、本実施形態に係る書き込み動作について簡単に説明する。まず、書き込み動作は、大まかにはプログラム動作とベリファイ動作とを含む。
【００５０】
プログラム動作は、電子を電荷蓄積層に注入することにより閾値を上昇させる（または注入を禁止することで閾値を維持させる）動作のことである。以下では、閾値を上昇させる動作を「“０”プログラム」または「“０”書き込み」と呼び、“０”プログラム対象とされたビット線ＢＬには“０”データが与えられる。他方で、閾値を維持させる動作を「“１”プログラム」、「“１”書き込み」、または「書き込み禁止」と呼び、“１”プログラム対象とされたビット線ＢＬには“１”データが与えられる。
【００５１】
「“０”書き込み」としては、通常モード、またはＱＰＷモードのプログラム動作が実行される。通常モードは、ターゲットレベルの近傍まで閾値を迅速に上昇させるために、閾値の上昇幅を大きくさせる書き込みモードである。ＱＰＷ（Ｑｕｉｃｋ Ｐａｓｓ Ｗｒｉｔｅ）モードは、閾値がターゲットレベルを大幅に超えないように、閾値の上昇幅を抑えた書き込みモードである。各モードにおけるプログラム動作については、後に詳述する。
【００５２】
ベリファイ動作は、プログラム動作の後、データを読み出すことで、メモリセルトランジスタＭＴの閾値がターゲットレベルまで達したか否かを判定する動作である。ターゲットレベルまで達したメモリセルトランジスタＭＴは、その後、書き込み禁止とされる。
【００５３】
以上のプログラム動作とベリファイ動作の組み合わせを繰り返すことで、メモリセルトランジスタＭＴの閾値がターゲットレベルまで上昇される。
【００５４】
図７は、プログラム動作時における各配線の電位変化を示している。図示するように、まずセンスユニット２４が各ビット線ＢＬにプログラムデータを転送する。“０”データが与えられたビット線ＢＬには、通常モードでプログラム動作を行う場合は“Ｌ”レベルとして接地電圧Ｖｓｓ（例えば０Ｖ）が印加される。また、ＱＰＷモードでプログラム動作を行う場合は“ＱＰＷ”レベルとして電圧ＶＢＬＣ＿ＱＰＷ（Ｖｓｓ＜ＶＢＬＣ＿ＱＰＷ＜ＶＤＤ、例えば０．５Ｖ）が印加される。“１”データが与えられたビット線ＢＬには“Ｈ”レベル、例えば２．５Ｖが印加される。
【００５５】
またロウデコーダ２５は、いずれかのブロックＢＬＫを選択し、更にいずれかのストリングユニットＳＵを選択する。そして、選択されたストリングユニットＳＵにおけるセレクトゲート線ＳＧＤに例えば５Ｖを印加して、選択トランジスタＳＴ１をオン状態とさせる。他方で、セレクトゲート線ＳＧＳに電圧Ｖｓｓを印加することで、選択トランジスタＳＴ２をオフ状態とさせる。
【００５６】
更にロウデコーダ２５は、選択ブロックＢＬＫにおける非選択ストリングユニットＳＵ及び非選択ブロックＢＬＫにおける非選択ストリングユニットＳＵのセレクトゲート線ＳＧＤ及びＳＧＳに電圧Ｖｓｓを印可して、選択トランジスタＳＴ１及びＳＴ２をオフ状態とさせる。
【００５７】
またソース線ＳＬは、例えば１Ｖ（セレクトゲート線ＳＧＳの電位よりも高い電位）とされる。
【００５８】
その後、ロウデコーダ２５は、選択ブロックＢＬＫにおける選択ストリングユニットＳＵにおけるセレクトゲート線ＳＧＤの電位を、例えば２．５Ｖとする。この電位は、“０”データ（０Ｖ、または、ＶＢＬＣ＿ＱＰＷ）が与えられたビット線ＢＬに対応する選択トランジスタＳＴ１はオンさせるが、“１”データ（２．５Ｖ）が与えられたビット線ＢＬに対応する選択トランジスタＳＴ１はカットオフさせる電圧である。
【００５９】
そしてロウデコーダ２５は、選択ブロックＢＬＫにおいていずれかのワード線ＷＬを選択し、選択ワード線に電圧ＶＰＧＭを印加し、その他の非選択ワード線ＷＬに電圧ＶＰＡＳＳを印加する。電圧ＶＰＧＭは、トンネル現象により電子を電荷蓄積層に注入するための高電圧であり、ＶＰＧＭ＞ＶＰＡＳＳである。この際のストリングユニットＳＵの様子を図８に示す。
【００６０】
図８では、通常モードにおける“０”書き込み対象のビット線ＢＬ、ＱＰＷモードにおける“０”書き込み対象のビット線ＢＬ、及び、“１”書き込み対象のビット線ＢＬに対応する３つのＮＡＮＤストリングを図示している。また、ワード線ＷＬ３が選択された際の様子を示している。
【００６１】
図示するように、選択ワード線ＷＬ３には電圧ＶＰＧＭが印加され、非選択ワード線ＷＬ０〜ＷＬ２及びＷＬ４〜ＷＬ７には電圧ＶＰＡＳＳが印加される。
【００６２】
そして、“０”書き込み対象のビット線ＢＬに対応するＮＡＮＤストリングでは、選択トランジスタＳＴ１がオン状態となる。そのため、選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴ３のうち、通常モードのメモリセルトランジスタＭＴ３のチャネル電位Ｖchは０Ｖとなる。また、選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴ３のうち、ＱＰＷモードのメモリセルトランジスタＭＴ３のチャネル電位ＶchはＶＢＬＣ＿ＱＰＷとなる。すなわち、制御ゲートとチャネルとの間の電位差が大きくなり、その結果、電子が電荷蓄積層に注入されて、メモリセルトランジスタＭＴ３の閾値が上昇される。このとき、０＜ＶＢＬＣ＿ＱＰＷと設定されているので、ＱＰＷモードのメモリセルトランジスタＭＴ３の閾値上昇幅は、通常モードのメモリセルトランジスタＭＴ３の閾値上昇幅よりも小さくなる。
【００６３】
閾値がターゲットレベルの近傍まで上昇していないメモリセルトランジスタＭＴ３に対して通常モードでプログラム動作を行いつつ、閾値がターゲットレベルの近傍まで上昇したメモリセルトランジスタＭＴ３に対してＱＰＷモードでプログラム動作を行うことにより、一回のプログラムパルスを用いて、２通りの書き込み特性を実現することができる。これにより、電圧ＶＰＧＭのステップ幅を小さくすることなく閾値分布幅を細くすることができるので、書き込み動作全体に要する時間を短縮することができる。
【００６４】
“１”書き込み対象のビット線ＢＬに対応するＮＡＮＤストリングでは、選択トランジスタＳＴ１がカットオフ状態となる。そのため、選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴ３のチャネルは電気的にフローティングとなり、ワード線ＷＬ等との容量カップリングによりチャネル電位Ｖchは電圧ＶＰＧＭ近くまで上昇される。すなわち、制御ゲートとチャネルとの間の電位差が小さくなり、その結果、電子は電荷蓄積層に注入されず、メモリセルトランジスタＭＴ３の閾値は維持される（閾値分布レベルがより高い分布に遷移するほどには閾値は変動しない）。
（２−２．書き込み動作の具体例について）
本実施形態の書き込み動作について、図９及び図１０を用いて、より具体的に説明する。図９及び図１０では、プログラム動作とベリファイ動作との組み合わせが１９回繰り返されることによって、データが書き込まれる場合を例に示している。この繰り返し動作を「ループ」と呼ぶ。
【００６５】
図９には、各ループにおいて行われるベリファイ動作のターゲットレベルが示されている。図示するように、１回目及び２回目のループでは、ベリファイは“Ａ”レベルのみを対象にして行われる。つまり、ベリファイ動作時に選択ワード線ＷＬには電圧ＶfyＡが印加され、電圧ＶfyＢ〜ＶfyＧは印加されない。引き続き３回目及び４回目のループでは、ベリファイ動作は“Ａ”レベルと“Ｂ”レベルとを対象にして行われる。つまり、ベリファイ動作時に選択ワード線ＷＬには電圧ＶfyＡ及びＶfyＢが順次印加され、電圧ＶfyＣ〜ＶfyＧは印加されない。
【００６６】
５回目及び６回目のループでは、ベリファイ動作は“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルを対象にして行われる。つまり、ベリファイ動作時に選択ワード線ＷＬには電圧ＶfyＡ、ＶfyＢ、及びＶfyＣが順次印加され、電圧ＶfyＤ〜ＶfyＧは印加されない。そして、“Ａ”レベルを対象としたベリファイ動作は、６回目のループで完了する。これは、例えば６回のループ回数で“Ａ”レベルへのプログラムはほぼ完了するということが統計的に求められるからである。
【００６７】
また、７回目及び８回目のループでは、ベリファイ動作は“Ｂ”レベル、“Ｃ”レベル、及び“Ｄ”レベルを対象にして行われる。つまり、ベリファイ動作時に選択ワード線ＷＬには電圧ＶfyＢ、ＶfyＣ、及びＶfyＤが順次印加される。そして、“Ｂ”レベルを対象としたベリファイ動作は、８回目の書き込み動作で完了する。更に、９回目及び１０回目のループでは、ベリファイ動作は“Ｃ”レベル、“Ｄ”レベル、及び“Ｅ”レベルを対象にして行われる。つまり、ベリファイ動作時に選択ワード線ＷＬには電圧ＶfyＣ、ＶfyＤ、及びＶfyＥが順次印加される。そして、“Ｃ”レベルを対象としたベリファイ動作は、１０回目のループで完了する。
【００６８】
以降、同様にして“Ｇ”レベルの書き込みまで行われ、ループは最大で１９回、繰り返される。
【００６９】
なお、各ループにおけるベリファイ動作では、ローレベルベリファイとハイレベルベリファイとの２回のベリファイ動作が行われる。ハイレベルベリファイは、閾値がターゲットレベルに達したか否かを判定するベリファイ動作である。以下、“Ａ”〜“Ｇ”の各レベルにおいて、ハイレベルベリファイ動作時に選択ワード線ＷＬに印加される電圧を、ＶfyＡ（Ｈ）〜ＶfyＡ（Ｈ）と記す。ローレベルベリファイは、閾値がターゲットレベルの近傍に迫っているか否かを判定するベリファイ動作である。以下、“Ａ”〜“Ｇ”の各レベルにおいて、ローレベルベリファイ動作時に選択ワード線ＷＬに印加される電圧を、ＶfyＡ（Ｌ）〜ＶfyＡ（Ｌ）と記す。
【００７０】
ＶfyＡ（Ｈ）〜ＶfyＡ（Ｈ）は、例えば、上述の、領域Ｅｒ〜Ｇの境界として使用される電圧Ｖｒ１〜Ｖｒ７とそれぞれ同じ値であってもよい。
【００７１】
各レベルにおいて、ローレベルベリファイ時に選択ワード線ＷＬに印加される電圧Ｖfy（Ｌ）は、ハイレベルベリファイ時に選択ワード線に印加される電圧Ｖfy（Ｈ）よりも所定値（例えば、０．２Ｖ程度）だけ低い値に設定される。
【００７２】
なお、ローレベルベリファイおよびハイレベルベリファイとして、ロウデコーダ２５によって選択ワード線ＷＬに上述の電圧Ｖfy（Ｌ）および電圧Ｖfy（Ｈ）を連続して印加しつつ、センスユニット２４にそれぞれ読み出し動作を実行させてもよい。あるいは、ローレベルベリファイとして、ロウデコーダ２５によって選択ワード線ＷＬに電圧Ｖfy（Ｈ）を印加しつつ、センスアンプ回路２４の動作パラメータを変更して（例えば、センス時間を短くして）読み出し動作を実行させてもよい。この場合、ローレベルベリファイとそれに続くハイレベルベリファイとにおいて選択ワード線ＷＬに電圧Ｖfy（Ｈ）を印加すればよくなり、ローレベルベリファイとハイレベルベリファイとで選択ワード線ＷＬに印加する電圧を変更する必要がなくなる。
【００７３】
図１０は図９に対応し、各ループにおける、閾値のターゲットレベルに応じたビット線の状態を示している。図１０において、“１”なる表記は、対応するビット線ＢＬに“１”データが与えられることを意味し、“０”なる表記は、“０”データが与えられることを意味している。
【００７４】
図示するように、メモリセルトランジスタＭＴの閾値を“Ｅｒ”レベルに維持しておくべき場合には、全ループにわたってビット線ＢＬに“１”データが与えられる。すなわち 、書き込み動作の期間、常に選択トランジスタＳＴ１がカットオフ状態とされる。
【００７５】
閾値のターゲットレベルが“Ａ”レベルの場合、つまり、閾値を“Ｅｒ”レベル内の値 から“Ａ”レベル内の値へ上昇させるべきメモリセルトランジスタＭＴに対しては、１回目から６回目のループにおいて“０”プログラム動作が行われる。これは、“Ａ”レベルに対するベリファイ動作が行われるループに対応している。ベリファイにパスするまではビット線ＢＬには“０”データが与えられ、パスした後は“１”データが与えられる。      
【００７６】
また、プログラム動作が完了した７回目以降のループにおいても、ビット線ＢＬには“１ ”データが与えられ、書き込み禁止とされる。
【００７７】
ターゲットレベルが“Ｂ”レベルの場合、つまり、閾値を“Ｅｒ”レベル内の値から“ Ｂ”レベル内の値へ上昇させるべきメモリセルトランジスタＭＴに対しては、１回目から８回目のループにおいて“０”プログラム動作が行われ得る。これは、“Ｂ”レベルに対するベリファイ動作が行われるループに対応している。３回目から８回目のループでは、ビット線ＢＬには、ベリファイにパスするまで“０”データが与えられ、パスした後は“１”データが与えられる。また、プログラム動作が完了した９回目以降のループにおいても、ビット線ＢＬには“１”データが与えられ、書き込み禁止とされる。
【００７８】
その後は同様にして、“Ｃ”〜“Ｇ”レベルまでのプログラム動作が行われる。
【００７９】
以上の動作時における各配線の電位の様子を図１１に示す。図１１は、２回目のループ、及び、３回目のループのプログラム動作における、セレクトゲート線ＳＧＤの電位、選択ワード線ＷＬ（図１１ではＷＬ０と表記）の電位、非選択ワード線（図１１ではＷＬ１と表記）の電位、セレクトゲート線ＳＧＳのゲート電位、通常モードの“０”プログラム動作が行われるビット線ＢＬ（図１１ではＢＬ（“０”、通常モード）と表記）の電位、ＱＰＷモードの“０”プログラム動作が行われるビット線ＢＬ（図１１ではＢＬ（“０”、ＱＰＷモード）と表記）の電位、及び、“１”プログラム動作が行われるビット線ＢＬ（図１１ではＢＬ（“１”）と表記）の電位の時間変化を示している。
【００８０】
図示しない１回目のループでは、“Ｅｒ”レベルを維持すべきメモリセルトランジスタＭＴに対応するビット線ＢＬは、ＢＬ（“１”）の電位、“Ａ”〜“Ｇ”レベル内の値に閾値を上昇させるべきメモリセルトランジスタＭＴに対応するビット線ＢＬは、ＢＬ（“０”、通常モード）の電位が設定される。１回目のループにおいては、所定のプログラム電圧でプログラム動作が行われた後、“Ａ”レベルをターゲットとするメモリセルトランジスタＭＴに対応するビット線ＢＬが例えば０．７Ｖにプリチャージされることにより選択され、“Ａ”レベルのローレベルベリファイとハイレベルベリファイとが行われる。
【００８１】
１回目のループでは、“Ａ”レベルをターゲットとするメモリセルトランジスタＭＴは閾値が上昇するが、上昇度合いに応じて、ローレベルベリファイをフェイルしたトランジスタ、ローレベルベリファイはパスしたがハイレベルベリファイはフェイルしたトランジスタ、ハイレベルベリファイをパスしたトランジスタ、のいずれかに分類される。
【００８２】
２回目のループでは、“Ａ”レベルについてのハイレベルベリファイをフェイルしたメモリセルトランジスタＭＴ、及び、“Ｂ”〜“Ｇ”レベルのメモリセルトランジスタＭＴについて、“０”プログラム動作が行われる。このとき、１回目のループで“Ａ”レベルについてのローレベルベリファイをパスしたトランジスタについては、ＱＰＷモードで“０”プログラム動作が行われる。すなわち、選択ワード線ＷＬ０には電圧ＶＰＧＭが印可され、ビット線ＢＬ（“０”、ＱＰＷモード）には、電圧ＶＢＬＣ＿ＱＰＷ（例えば、０．５Ｖ）が印可される。
【００８３】
“Ａ”レベルについてのローレベルベリファイをフェイルしたトランジスタ、及び、“Ｂ”〜“Ｇ”レベルのメモリセルトランジスタＭＴについては、通常モードで“０”プログラム動作が行われる。すなわち、選択ワード線ＷＬ０には電圧ＶＰＧＭが印可され、ビット線ＢＬ（“０”、通常モード）には、例えば電圧ＶＳＳ（＝０Ｖ）が印可される。また、“Ｅｒ”レベルを維持すべきメモリセルトランジスタＭＴ、及び、“Ａ”レベルについてのハイレベルベリファイをパスしたメモリセルトランジスタＭＴについては、“１”プログラム動作が行われる。すなわち、ビット線ＢＬ（“１”）には、例えば電圧ＶＤＤ（＝２．５Ｖ）が印可される。
【００８４】
なお、プログラム動作時には、セレクトゲート線ＳＧＤは、ゲート電圧ＶＳＧＤが電圧ＶＤＤ（＝２．５Ｖ）になされ、選択トランジスタＳＴ１はビット線ＢＬの電圧（Ｖｓｓ，ＶＢＬＣ＿ＱＰＷ，ＶＤＤ）との関係によって導通状態またはカットオフ状態とされる。セレクトゲート線ＳＧＳは０Ｖに固定されて、選択トランジスタＳＴ２はカットオフ状態になされる。
【００８５】
プログラム動作に続き、“Ａ”レベルについてのベリファイ動作（ローレベルベリファイ、及び、ハイレベルベリファイ）が行われる。まず、ローレベルベリファイでは、ビット線ＢＬ（“０”、通常モード）のうち“Ａ”レベルターゲットとするメモリセルトランジスタＭＴに対応するビット線と、ビット線ＢＬ（“０”、ＱＰＷモード）とが、例えば０．７Ｖにプリチャージされ、選択ワード線ＷＬ０にローレベルベリファイ電圧ＶfyＡ（Ｌ）（＝０．２Ｖ）が印可される。そして、“Ａ”レベルについてのローレベルベリファイが行われる。
【００８６】
続いて、ハイレベルベリファイでは、ビット線の電圧はローレベルベリファイのままで、選択ワード線ＷＬ０にハイレベルベリファイ電圧ＶfyＡ（Ｈ）（＝０．４Ｖ）が印可される。そして、“Ａ”レベルについてのハイレベルベリファイが行われる。
【００８７】
なお、“Ａ”レベル以外のレベルをターゲットとするメモリセルトランジスタＭＴに、及び、１回目のループで“Ａ”レベルのハイレベルベリファイをパスしたメモリセルトランジスタＭＴについては、“Ａ”レベルのベリファイの対象外である。従って、これらのメモリセルトランジスタＭＴに対応するビット線ＢＬは、ローレベルベリファイ、ハイレベルベリファイを通じて０Ｖに固定される。また、セレクトゲート線ＳＧＤ、ＳＧＳは、共に、４．３Ｖに固定され、選択トランジスタＳＴ１、ＳＴ２は、共に導通状態となされる。
【００８８】
３回目のループのプログラム動作では、２回目と同様に、“Ａ”レベルについてのベリファイ動作（ハイレベルベリファイ）をフェイルしたメモリセルトランジスタＭＴ、及び、“Ｂ”〜“Ｇ”レベルのメモリセルトランジスタＭＴに対して“０”プログラム動作が行われる。このとき選択ワード線ＷＬに印加される電圧ＶＰＧＭはステップアップされる。２回目と同様に、“Ａ”レベルについてのローレベルベリファイをパスしたメモリセルトランジスタＭＴは、ＱＰＷモードで“０”プログラム動作を行う。
【００８９】
プログラム動作が終了すると、２回目と同様に、“Ａ”レベルについてのベリファイ動作（ローレベルベリファイ、及び、ハイレベルベリファイ）が実行される。続いて、“Ｂ”レベルについても、ベリファイ動作（ローレベルベリファイ、及び、ハイレベルベリファイ）が実行される。すなわち、各ループでは、１つのレベルに対して２回（ローレベルベリファイ、及び、ハイレベルベリファイ）のベリファイ動作が実行される。例えば、３回目のループでは、“Ａ”レベルと“Ｂ”レベルとがベリファイの対象であるので、２×２＝４回のベリファイ動作が実行される。
【００９０】
４回目から、“Ｆ”レベルのベリファイが完了する１６回目のループまでの間、選択ワード線ＷＬに印加される電圧ＶＰＧＭをステップアップしながら、上述と同様の動作が行われる。
【００９１】
ここで、セレクトゲート線ＳＧＤの電圧ＶＳＧＤと、メモリセルトランジスタＭＴのフェイルビット数との関係について、図１２を用いて説明する。図１２は、横軸がセレクトゲート線ＳＧＤの電圧ＶＳＧＤを示しており、縦軸がメモリセルトランジスタＭＴのフェイルビット数を示している。一般的に、ＶＳＧＤが低い領域では、選択ビット線ＢＬの電圧転送がしにくくなるため、ある電圧値を下回るとフェイルビット数が増加しやすくなる。フェイルビット数が増加し始める電圧Ｖａは、選択ビット線ＢＬに印加する電圧に依存しており、印可電圧の上昇に従って電圧Ｖａも上昇する。
【００９２】
上述したようなプログラム動作において２つのモードを用いる場合、選択ビット線ＢＬに印加する電圧が０Ｖである通常モードにおいてフェイルビット数が低下し始める電圧Ｖａ１と、選択ビット線ＢＬに電圧ＶＢＬＣ＿ＱＰＷ（０＜ＶＢＬＣ＿ＱＰＷ）を印可するＱＰＷモードにおいてフェイルビット数が低下し始める電圧Ｖａ２とは異なった値となる。つまり、ＱＰＷモードは通常モードに比べ、フェイルビット数が低下し始める電圧Ｖａが高くなる（電圧Ｖａ１＜電圧Ｖａ２）。従って、ＱＰＷモードによりプログラム動作を行う場合、信頼性を確保するために、ゲート電圧ＶＳＧＤを電圧Ｖａ２以上に設定する必要がある。
【００９３】
一方で、ＶＳＧＤが高い領域では、非選択のメモリセルトランジスタＭＴのブーストポテンシャルがリークし、書き込み禁止のメモリセルトラジスタＭＴにも“０”書き込みが行われてしまうため、ある電圧値を上回るとフェイルビット数が増加しやすくなる。フェイルビット数が増加し始める電圧Ｖｂは、プログラム動作時に選択ワード線ＷＬに印加する電圧ＶＰＧＭに依存する。すなわち、閾値のターゲットレベルが高くなるほど、書き込み動作時の電圧ＶＰＧＭが上昇するため、電圧Ｖｂは低下する。例えば、１回目のループで電圧ＶＰＧＭを印可した場合に、フェイルビット数が増加し始める電圧Ｖｂ１と、１９回目のループで電圧ＶＰＧＭを印可した場合に、フェイルビット数が増加し始める電圧Ｖｂ２は異なった値となり、１９回目のループのほうがＶｂは小さくなる（電圧Ｖｂ２＜電圧Ｖｂ１）。
【００９４】
また、上述のように縦型のチャネル構造を有する３次元メモリセルアレイでは、選択トランジスタＳＴ１、ＳＴ２のチャネルをポリシリコンで形成し、ゲートにはＭＯＮＯＳ（Ｍｅｔａｌ Ｏｘｉｄｅ-Ｎｉｔｒｉｄｅ-Ｏｘｉｄｅ Ｓｉｌｉｃｏｎ）構造を用いている。これは、２次元メモリセルアレイにおいて、チャネルを単結晶シリコンで形成し、ゲートがトンネル酸化膜のみで形成する選択トランジスタＳＴ１、ＳＴ２を用いる場合よりも、Ｓファクターが悪くなっている。このため、選択トランジスタＳＴ１の閾値のばらつきが大きくなり、また、電圧の転送効率に大きな影響が出るため、上層に位置するワード線ＷＬほど電圧Ｖｂは低下する傾向にある。
【００９５】
このように、ＱＰＷモードを用いると、フェイルビット数を少なくして信頼性を確保することができるセレクトゲート線ＳＧＤの電圧ＶＳＧＤの下限値Ｖａが高くなる。また、選択ワード線ＷＬに印加する電圧ＶＰＧＭが大きくなるほど、フェイルビット数を少なくして信頼性を確保することができる電圧ＶＳＧＤの上限値Ｖｂが低くなる。すなわち、信頼性を確保できる電圧ＶＳＧＤの領域（電圧ＶＳＧＤマージン領域、Ｖａ＜電圧ＶＳＧＤ＜Ｖｂ）が小さくなってしまう。
【００９６】
一方、最上位の閾値ターゲットレベルでは、閾値分布が高め方向に広がっても問題ない。（次のレベルがないので、閾値分布の重なりが生じない。）従って、“Ｇ”レベルでは、ＱＰＷモードを使用せずに通常モードのみでプログラム動作を行っても問題ないといえる。
【００９７】
そこで、本実施形態では、最上位の閾値ターゲットレベルである“Ｇ”レベルのみ、通常モードのみでプログラム動作を行うことにより、信頼性を確保することができるセレクトゲート線ＳＧＤの電圧ＶＳＧＤの下限値Ｖａを小さくし、電圧ＶＳＧＤマージン領域を低い電圧方向に広げる。そして、該マージン領域が低電圧方向に広がったことを利用し、書き込み動作時にセレクトゲート線ＳＧＤに印加する電圧を、“Ｆ”レベル以前の書き込み時の値よりも小さい値に設定する。
【００９８】
図１３は、最上位の閾値レベルである“Ｇ”レベルの書き込み動作時における、各配線の電位変化を示している。図１３には、選択ＢＬＫの選択ＳＵのみ示している。選択ＢＬＫの非選択ＳＵ、及び、非選択ＢＬＫの各配線の電位変化は、図７に示すものと同様であるので、説明を省略する。“０”データが与えられたビット線ＢＬには、 “Ｌ”レベルとして接地電圧Ｖｓｓ（例えば０Ｖ）が印加される。“１”データが与えられたビット線ＢＬには“Ｈ”レベル、例えば２．５Ｖが印加される。
【００９９】
またロウデコーダ２５は、いずれかのブロックＢＬＫを選択し、更にいずれかのストリングユニットＳＵを選択する。そして、選択されたストリングユニットＳＵにおけるセレクトゲート線ＳＧＤに例えば５Ｖを印加して、選択トランジスタＳＴ１をオン状態とさせる。他方で、セレクトゲート線ＳＧＳに電圧Ｖｓｓを印加することで、選択トランジスタＳＴ２をオフ状態とさせる。またソース線ＳＬは、例えば１Ｖ（セレクトゲート線ＳＧＳの電位よりも高い電位）とされる。
【０１００】
その後、ロウデコーダ２５は、選択ブロックＢＬＫにおける選択ストリングユニットＳＵにおけるセレクトゲート線ＳＧＤの電位を、例えば２．３Ｖとする。この電位は、“Ｆ”レベルまでの書き込み動作時におけるセレクトゲート線ＳＧＤの電位（例えば、２．５Ｖ）よりも低い値であり、“０”データ（０Ｖ）が与えられたビット線ＢＬに対応する選択トランジスタＳＴ１はオンさせるが、“１”データ（２．５Ｖ）が与えられたビット線ＢＬに対応する選択トランジスタＳＴ１はカットオフさせる電圧である。
【０１０１】
そしてロウデコーダ２５は、選択ブロックＢＬＫにおいていずれかのワード線ＷＬを選択し、選択ワード線に電圧ＶＰＧＭを印加し、その他の非選択ワード線ＷＬに電圧ＶＰＡＳＳを印加する。
【０１０２】
次に、本実施形態における書き込み動作について、図１４を用いて説明する。図１４は、本実施形態における書き込み動作の手順の一例を説明するフローチャートである。まず、書き込み動作時におけるセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を初期設定する（Ｓ１）。Ｓ１において設定する電位は、最下位の閾値ターゲットレベルである“Ａ”レベルから、最上位のひとつ下の閾値ターゲットレベルである“Ｆ”レベルまでの間の書き込み動作に用いる電位である。上述の一例の場合、ＶＳＧＤ＝２．５Ｖに設定される。
【０１０３】
続いて、設定された書き込み動作を、１ループ目から順に実行する（Ｓ２）。Ｓ２の書き込み動作においては、通常モードとＱＰＷモードの両方を用いたプログラム動作を実行する。
【０１０４】
各ループにおけるベリファイ動作において、“Ｆ”レベルの書き込みが終了したと判定された場合（Ｓ３、Ｙｅｓ）、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を所定量下げる（Ｓ４）。図９に示す一例の場合、１６ループ目のベリファイ動作において、“Ｆ”レベルの書き込みが終了したと判定されるので、１７ループ目に入る前に、プログラム動作時におけるセレクトゲート線ＳＧＤの設定電位の変更が行われる。
【０１０５】
一方、“Ｆ”レベルの書き込みが終了していないと判定された場合（Ｓ３、Ｎｏ）、Ｓ２に戻って設定された書き込み動作を続ける。
【０１０６】
Ｓ４において、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）の変更が完了したら、以降のループについての書き込み動作が実行される（Ｓ５）。Ｓ５におけるプログラム動作は、最上位の“Ｇ”レベルについて実施されるので、通常モードのみ実行しＱＰＷモードは行わない。
【０１０７】
Ｓ５におけるベリファイ動作において、“Ｇ”レベルの書き込みが終了したと判定された場合（Ｓ６、Ｙｅｓ）、ＮＡＮＤメモリセルアレイ２３への書き込み動作を終了する。“Ｇ”レベルの書き込みが終了していないと判定された場合（Ｓ６、Ｎｏ）、Ｓ５に戻って設定された書き込み動作を続ける。
【０１０８】
以上のように、本実施形態によれば、複数の異なる閾値電圧のいずれかに設定可能な複数のメモリセルトランジスタＭＴに書き込み動作を行う際に、最上位より一つ下のターゲットレベルの書き込みが終了した後、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を所定量下げてから、最上位のターゲットレベルの書き込み動作を行う。従って、プログラム動作時に選択ワード線ＷＬに印加する電圧ＶＰＧＭが高くなるにつれて信頼性を確保できる電圧ＶＳＧＤの上限Ｖｂの領域が低下することに起因する、フェイルビット数の増加を防ぎ、半導体記憶装置の信頼性を向上させることができる。
【０１０９】
また、最上位より一つ下のターゲットレベルの書き込みが終了した後、最上位のターゲットレベルの書き込み動作では、プログラム動作を通常モードのみで行うことで、信頼性を確保できる電圧ＶＳＧＤの下限Ｖａを低下させ、電圧ＶＳＧＤマージン領域を低電圧方向に広げることができる。従って、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を所定量下げても、信頼性を確保できる電圧ＶＳＧＤの下限Ｖａよりも高い値に設定することができる。
【０１１０】
また、信頼性を確保できる電圧ＶＳＧＤの上限電圧Ｖｂは、書き込み動作時において書き込み禁止のメモリセルトラジスタＭＴに対応するビット線ＢＬに印加する電圧（＝ＶＤＤ）にも依存しており、ＶＤＤが低くなるほど電圧Ｖｂも低下する。これに対し、本実施の形態によれば、最上位より一つ下のターゲットレベルの書き込みが終了した後は、セレクトゲート線ＳＧＤの電位を下げることができるので、ＶＤＤを低く設定することができ、消費電力を低下させることができる。
【０１１１】
なお、縦型のチャネル構造を有する３次元メモリセルアレイでは、信頼性を確保できる電圧ＶＳＧＤの上限電圧Ｖｂは、上層に位置するワード線ＷＬほど低下する傾向にある。従って、最上位より一つ下のターゲットレベルの書き込みが終了した後に、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を下げる際に、ワード線ＷＬの垂直方向の位置に応じて下げ量を決定してもよい。例えば、最下層から所定の層までに位置するワード線ＷＬについては、ＶＳＧＤの下げ幅を０．２Ｖとし、所定の層以上に位置するワード線ＷＬについては、ＶＳＧＤの下げ幅を０．５Ｖとしてもよい。下げ幅は、２段階でなく、複数段階設けることも可能である。
【０１１２】
以上、図２に示すように、１つのプレーンが配置された不揮発性メモリについて説明したが、本実施形態は、２つ以上のプレーンが配置された不揮発性メモリにも適用可能である。
【０１１３】
図１５は、変形例の不揮発性メモリの構成例を示すブロック図である。図１５は、不揮発性メモリ２に２つのプレーン２６Ａ、２６Ｂが配置されている場合について示している。プレーン２６Ｂは、ＮＡＮＤメモリセルアレイ（メモリセル部）２３Ｂ、センスユニット２４Ｂ、及び、ロウデコーダ２５Ｂを備える。プレーン２６Ａとプレーン２６Ｂとは同様の構成を有し、それぞれ独立して読み出し動作、書き込み動作、及び消去動作を実行することが可能である。プレーン２６Ａとプレーン２６Ｂの読み出し動作、書き込み動作、及び消去動作は、制御部２２が行う。
【０１１４】
図１５に示すように複数のプレーンを有する不揮発性メモリへの書き込み動作について、図１６を用いて説明する。図１６は、本実施形態の変形例における書き込み動作の手順の一例を説明するフローチャートである。なお、図１６の手順において、図１４の手順と同様の手順には、同じ符号を付している。
【０１１５】
まず、まず、全てのプレーンについて、書き込み動作時におけるセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を初期設定する（Ｓ１）。続いて、全てのプレーンについて、設定された書き込み動作を、１ループ目から順に実行する（Ｓ２）。Ｓ２の書き込み動作においては、通常モードとＱＰＷモードの両方を用いたプログラム動作を実行する。
【０１１６】
全てのプレーンについて、“Ｆ”レベルの書き込みが終了したと判定された場合（Ｓ３１、Ｙｅｓ）、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を所定量下げる（Ｓ４）。一方、全てのプレーンについて、“Ｆ”レベルの書き込みが終了したと判定されていない場合（Ｓ３、Ｎｏ）、Ｓ２に戻って設定された書き込み動作を続ける。例えば、プレーン２６Ａは１６ループ目のベリファイ動作において“Ｆ”レベルの書き込みが終了したと判定されたが、プレーン２６Ｂは１６ループ目のベリファイ動作において“Ｆ”レベルの書き込みが終了していないと判定された場合、Ｓ４には進まずに、Ｓ２にもとって１７ループ目の書き込み動作を実行する。
【０１１７】
Ｓ４において、全てのプレーンについてセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）の変更が完了したら、以降のループについての書き込み動作が実行される（Ｓ５）。Ｓ５におけるプログラム動作は、最上位の“Ｇ”レベルについて実施されるので、通常モードのみ実行しＱＰＷモードは行わない。
【０１１８】
Ｓ５におけるベリファイ動作において、全てのプレーンについて“Ｇ”レベルの書き込みが終了したと判定された場合（Ｓ６１、Ｙｅｓ）、ＮＡＮＤメモリセルアレイ２３への書き込み動作を終了する。“Ｇ”レベルの書き込みが終了していないプレーンがあると判定された場合（Ｓ６１、Ｎｏ）、Ｓ５に戻って設定された書き込み動作を続ける。
【０１１９】
このように、不揮発性メモリに複数のプレーンが存在する場合にも、最も書き込み速度の遅いプレーンが最上位より一つ下の“Ｆ”レベルのプログラム動作が終了したら、全てのプレーンのセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を下げる。これにより、個々のプレーンについて煩雑な制御を行うことなく、全てのプレーンについてフェイルビット数の増加を防ぎ、半導体記憶装置の信頼性を向上させることができる。
【０１２０】
なお、複数のプレーンを有する不揮発性メモリへの書き込み動作は、図１７のように行うこともできる。図１７は、変形例における書き込み動作の手順の別の一例を説明するフローチャートである。
【０１２１】
まず、まず、全てのプレーンについて、書き込み動作時におけるセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を初期設定する（Ｓ１）。続いて、全てのプレーンについて、設定された書き込み動作を、１ループ目から順に実行する（Ｓ２）。Ｓ２の書き込み動作においては、通常モードとＱＰＷモードの両方を用いたプログラム動作を実行する。
【０１２２】
いずれかのプレーンが“Ｆ”レベルの書き込みが終了したと判定された場合（Ｓ３２、Ｙｅｓ）、全てのプレーンについて、“Ｆ”レベルの書き込みを強制終了させる（Ｓ３３）。その後、全てのプレーンについて、セレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を所定量下げる（Ｓ４）。一方、“Ｆ”レベルの書き込みが終了したプレーンがある判定されていない場合（Ｓ３２、Ｎｏ）、Ｓ２に戻って設定された書き込み動作を続ける。
【０１２３】
例えば、プレーン２６Ａは１６ループ目のベリファイ動作において“Ｆ”レベルの書き込みが終了したと判定されたが、プレーン２６Ｂは１６ループ目のベリファイ動作において“Ｆ”レベルの書き込みが終了していないと判定された場合、プレーン２６Ｂの“Ｆ”レベルの書き込みは強制的に終了する。本実施形態の半導体記憶装置は、ＥＣＣ回路１４を備えており、ＥＣＣ回路１４によってエラー訂正が可能である。従って、“Ｆ”レベルの書き込みを強制終了させられたプレーンについてもデータ訂正を行うことができるので、信頼性を保つことが可能である。
【０１２４】
Ｓ４において、全てのプレーンについてセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）の変更が完了したら、以降のループについての書き込み動作が実行される（Ｓ５）。Ｓ５におけるプログラム動作は、最上位の“Ｇ”レベルについて実施されるので、通常モードのみ実行しＱＰＷモードは行わない。
【０１２５】
Ｓ５におけるベリファイ動作において、全てのプレーンについて“Ｇ”レベルの書き込みが終了したと判定された場合（Ｓ６１、Ｙｅｓ）、ＮＡＮＤメモリセルアレイ２３への書き込み動作を終了する。“Ｇ”レベルの書き込みが終了していないプレーンがあると判定された場合（Ｓ６１、Ｎｏ）、Ｓ５に戻って設定された書き込み動作を続ける。
【０１２６】
このように、最も書き込み速度の速いプレーンが最上位より一つ下の“Ｆ”レベルのプログラム動作が終了したら、全てのプレーンのセレクトゲート線ＳＧＤの電位（ＶＳＧＤ）を下げる。これにより、個々のプレーンについて煩雑な制御を行うことなく、全てのプレーンについてフェイルビット数の増加を防ぎ、半導体記憶装置の信頼性を向上させることができる。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、一例として示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２８】
１…メモリコントローラ、２…不揮発性メモリ、１１…ＲＡＭ、１２…プロセッサ、１３…ホストインターフェイス、１４…ＥＣＣ回路、１５…メモリインターフェイス、１６…内部バス、２１…ＮＡＮＤ Ｉ／Ｏインターフェイス、２２…制御部、２３Ａ、２３Ｂ…メモリセルアレイ、２４Ａ、２４Ｂ…センスユニット、２５Ａ、２５Ｂ…ロウデコーダ、３３３，３３２，３３１…配線層、３３４…メモリホール、３３５…ブロック絶縁膜、３３６…電荷蓄積層、３３７…ゲート絶縁膜、３３８…導電体柱、３３９，３４０…コンタクトプラグ、
【図１】
2020047330.tif 000003
【図２】
2020047330.tif 000004
【図３】
2020047330.tif 000005
【図４】
2020047330.tif 000006
【図５】
2020047330.tif 000007
【図６】
2020047330.tif 000008
【図７】
2020047330.tif 000009
【図８】
2020047330.tif 000010
【図９】
2020047330.tif 000011
【図１０】
2020047330.tif 000012
【図１１】
2020047330.tif 000013
【図１２】
2020047330.tif 000014
【図１３】
2020047330.tif 000015
【図１４】
2020047330.tif 000016
【図１５】
2020047330.tif 000017
【図１６】
2020047330.tif 000018
【図１７】
2020047330.tif 000019