(57)【要約】【課題】書込み動作に要する時間を短縮させる。【解決手段】一実施形態の半導体記憶装置は、第１メモリセルトランジスタと、制御部と、を備える。上記第１メモリセルトランジスタは、第１ビット及び第２ビットを含むデータが書込まれる。上記制御部は、上記第１ビットを受け取ると、上記第１ビットに基づいて、上記第１メモリセルトランジスタに対して第１ベリファイ動作を含む第１書込み動作を実行し、上記第１ビットを受け取った後に上記第２ビットを受け取ると、上記第１ベリファイ動作にパスしたか否かに関わらず、上記第１ビット及び上記第２ビットに基づいて、上記第１メモリセルトランジスタに対して第２ベリファイ動作を含む第２書込み動作を実行する。【選択図】図９
2018041523.tif 000002
【特許請求の範囲】
【請求項１】
第１ビット及び第２ビットを含むデータが書込まれる第１メモリセルトランジスタと、
制御部と、を備え、
前記制御部は、
前記第１ビットを受け取ると、前記第１ビットに基づいて、前記第１メモリセルトランジスタに対して第１ベリファイ動作を含む第１書込み動作を実行し、
前記第１ビットを受け取った後に前記第２ビットを受け取ると、前記第１ベリファイ動作にパスしたか否かに関わらず、前記第１ビット及び前記第２ビットに基づいて、前記第１メモリセルトランジスタに対して第２ベリファイ動作を含む第２書込み動作を実行する、
半導体記憶装置。
【請求項２】
前記データは、第３ビットを更に含み、
前記制御部は、前記第２ビットを受け取った後に前記第３ビットを受け取ると、前記第２ベリファイ動作にパスしたか否かに関わらず、前記第１ビット、前記第２ビット、及び前記第３ビットに基づいて、前記第１メモリセルトランジスタに対して第３ベリファイ動作を含む第３書込み動作を実行する、
請求項１記載の半導体記憶装置。
【請求項３】
前記データは、第３ビットを更に含み、
前記第２書込み動作は、前記第１ビット及び前記第３ビットを受け取った後に前記第２ビットを受け取ると、前記第１ビット、前記第２ビット、及び前記第３ビットに基づいて実行される、
請求項１記載の半導体記憶装置。
【請求項４】
前記第１ベリファイ動作のベリファイ電圧は、第１電圧であり、
前記第２ベリファイ動作のベリファイ電圧は、前記第１電圧、又は前記第１電圧及び前記第１電圧より高い第２電圧を含む、
請求項１記載の半導体記憶装置。
【請求項５】
前記第１ベリファイ動作のベリファイ電圧は、第１電圧であり、
前記第２ベリファイ動作のベリファイ電圧は、前記第１電圧、又は前記第１電圧及び前記第１電圧より高い第２電圧であり、
前記第３ベリファイ動作のベリファイ電圧は、前記第１電圧、前記第１電圧及び前記第２電圧、又は前記第１電圧、前記第２電圧、及び前記第２電圧より高い第３電圧を含む、
請求項２記載の半導体記憶装置。
【請求項６】
前記制御部は、第１コマンドを受信すると前記第１書込み動作を実行する、請求項１記載の半導体記憶装置。
【請求項７】
前記制御部は、第２コマンドを受信すると前記第２書込み動作を実行する、請求項１記載の半導体記憶装置。
【請求項８】
前記制御部は、第３コマンドを受信すると前記第３書込み動作を実行する、請求項２記載の半導体記憶装置。
【請求項９】
前記制御部は、第４コマンドを受信すると、以降の書込み動作において前記第１書込み動作、前記第２書込み動作、及び前記第３書込み動作を実行する、請求項２記載の半導体記憶装置。
【請求項１０】
前記制御部は、前記第１書込み動作において、前記第１ビットに基づいて、前記第１メモリセルトランジスタを１ビットのみが書込まれるメモリセルトランジスタとみなす、請求項１記載の半導体記憶装置。
【請求項１１】
前記制御部は、前記第２書込み動作において、前記第１ビット及び前記第２ビットに基づいて、前記第１メモリセルトランジスタを２ビットのみが書込まれるメモリセルトランジスタとみなす、請求項１記載の半導体記憶装置。
【請求項１２】
前記制御部は、第１ループ数に達すると、前記第１書込み動作の実行を停止する、請求項１記載の半導体記憶装置。
【請求項１３】
前記制御部は、第２ループ数に達すると、前記第２書込み動作の実行を停止する、請求項１記載の半導体記憶装置。
【請求項１４】
前記半導体記憶装置は、第１ビット、第２ビット、及び第３ビットを含むデータであって前記第１メモリセルトランジスタのデータと異なるデータが書込まれ、前記第１メモリセルトランジスタと同一のワード線に電気的に接続された第２メモリセルトランジスタを更に備え、
前記第１書込み動作は、前記第１メモリセルトランジスタが選択され、前記第２メモリセルトランジスタが選択されない状態で、前記ワード線に第１電圧を印加する第１プログラム動作を更に含む、
請求項２記載の半導体記憶装置。
【請求項１５】
前記第２書込み動作は、
前記第１メモリセルトランジスタが選択され、前記第２メモリセルトランジスタが選択されない状態で、前記ワード線に前記第１電圧より高い第２電圧を印加する第２プログラム動作と、
前記第２メモリセルトランジスタが選択され、前記第１メモリセルトランジスタが選択されない状態で、前記ワード線に前記第２電圧より高い第３電圧を印加する第３プログラム動作と、
を更に含む、請求項１４記載の半導体記憶装置。
【請求項１６】
前記半導体記憶装置は、第１ビット、第２ビット、及び第３ビットを含むデータであって前記第１メモリセルトランジスタのデータ及び前記第２メモリセルトランジスタのデータと異なるデータが書込まれ、前記第１メモリセルトランジスタ及び前記第２メモリセルトランジスタと同一のワード線に電気的に接続された第３メモリセルトランジスタを更に備え、
前記第２プログラム動作は、前記第３メモリセルトランジスタが選択されない状態で前記第２電圧が印加され、
前記第３プログラム動作は、前記第３メモリセルトランジスタが選択されない状態で前記第３電圧が印加され、
前記第３書込み動作は、前記第３メモリセルトランジスタが選択され、前記第１メモリセルトランジスタ及び前記第２メモリセルトランジスタが選択されない状態で、前記ワード線に前記第２電圧より高く、前記第３電圧より低い第４電圧を印加する第４プログラム動作を含む、
請求項１５記載の半導体記憶装置。
【請求項１７】
前記第１書込み動作は、サーチ動作と、前記サーチ動作の後に実行されるプログラム動作とを含み、
前記制御部は、
前記サーチ動作において、前記第１メモリセルトランジスタに電気的に接続されたビット線に第１電圧及び前記第１電圧より高い第２電圧を印加し、
前記サーチ動作に基づき、前記第１メモリセルトランジスタの閾値電圧が前記第１電圧より大きく、前記第２電圧より小さいと判定し、
前記第２電圧の値に基づいて、前記プログラム動作の書込み電圧を決定する、
請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置として、メモリセルが３次元に積層されたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２６６１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
書込み動作に要する時間を短縮させる。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、第１メモリセルトランジスタと、制御部と、を備える。上記第１メモリセルトランジスタは、第１ビット及び第２ビットを含むデータが書込まれる。上記制御部は、上記第１ビットを受け取ると、上記第１ビットに基づいて、上記第１メモリセルトランジスタに対して第１ベリファイ動作を含む第１書込み動作を実行し、上記第１ビットを受け取った後に上記第２ビットを受け取ると、上記第１ベリファイ動作にパスしたか否かに関わらず、上記第１ビット及び上記第２ビットに基づいて、上記第１メモリセルトランジスタに対して第２ベリファイ動作を含む第２書込み動作を実行する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムの構成を説明するためのブロック図。
【図２】第１実施形態に係る半導体記憶装置の構成を説明するためのブロック図。
【図３】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための回路図。
【図４】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための断面図。
【図５】第１実施形態に係る半導体記憶装置のメモリセルトランジスタの閾値電圧の分布を説明するためのダイアグラム。
【図６】第１実施形態に係る半導体記憶装置の目標閾値レベルと見かけの目標敷地レベルとの関係を説明するためのテーブル。
【図７】第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成を説明するための平面図。
【図８】第１実施形態に係る半導体記憶装置のセンスアンプユニットの構成を説明するための回路図。
【図９】第１実施形態に係る半導体記憶装置のデータの書込み動作を説明するためのコマンドシーケンス。
【図１０】第１実施形態に係る半導体記憶装置の書込み動作を説明するための模式図。
【図１１】第１実施形態に係る半導体記憶装置の書込み動作の全体動作を説明するためのフローチャート。
【図１２】第１実施形態に係る半導体記憶装置の第１書込み動作を説明するためのフローチャート。
【図１３】第１実施形態に係る半導体記憶装置の第２書込み動作を説明するためのフローチャート。
【図１４】第１実施形態に係る半導体記憶装置の第３書込み動作を説明するためのフローチャート。
【図１５】第１実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図１６】第１実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図１７】第１実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図１８】第１実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図１９】第１実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２０】第１実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２１】第１実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２２】第１実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２３】第１実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２４】第２実施形態に係る半導体記憶装置の第１書込み動作を説明するためのフローチャート。
【図２５】第２実施形態に係る半導体記憶装置の第２書込み動作を説明するためのフローチャート。
【図２６】第２実施形態に係る半導体記憶装置の第３書込み動作を説明するためのフローチャート。
【図２７】第２実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図２８】第２実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図２９】第２実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図３０】第２実施形態に係る半導体記憶装置のラッチ回路の動作を説明するためのテーブル。
【図３１】第３実施形態に係る半導体記憶装置の第１書込み動作を説明するためのフローチャート。
【図３２】第３実施形態に係る半導体記憶装置のサーチ書込み動作を説明するための模式図。
【図３３】第３実施形態に係る半導体記憶装置の書込み動作を説明するためのタイミングチャート。
【図３４】変形例に係る半導体記憶装置のセットフィーチャ動作を説明するためのタイミングチャート。
【図３５】変形例に係る半導体記憶装置のセットフィーチャ動作を説明するためのテーブル。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。また、共通する参照符号を有する複数の構成要素を区別する場合、当該共通する参照符号に添え字を付して区別する。なお、複数の構成要素について特に区別を要さない場合、当該複数の構成要素には、共通する参照符号のみが付され、添え字は付さない。
【０００８】
１．第１実施形態
第１実施形態に係る半導体記憶装置及びメモリシステムについて説明する。以下では、半導体記憶装置として、メモリセルが半導体基板の上方に三次元に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
１．１  構成について
１．１．１  メモリシステムの全体構成について
第１実施形態に係るメモリシステムの構成例について、図１を用いて説明する。図１は、第１実施形態に係るメモリシステムの構成の一例を示すブロック図である。メモリシステム１は、例えば、外部のホスト機器（図示せず）と通信する。メモリシステム１は、ホスト機器からのデータを保持し、また、データをホスト機器に読み出す。
【００１０】
図１に示すように、メモリシステム１は、コントローラ１０及び半導体記憶装置（ＮＡＮＤ型フラッシュメモリ）２０を備えている。コントローラ１０は、ホスト機器から命令を受取り、受け取られた命令に基づいて半導体記憶装置２０を制御する。具体的には、コントローラ１０は、ホスト機器から書込みを指示されたデータを半導体記憶装置２０に書込み、ホスト機器から読出しを指示されたデータを半導体記憶装置２０から読み出してホスト機器に送信する。コントローラ１０は、ＮＡＮＤバスによって半導体記憶装置２０に接続される。半導体記憶装置２０は、複数のメモリセルを備え、データを不揮発に記憶する。
【００１１】
ＮＡＮＤバスは、ＮＡＮＤインタフェースに従った信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、／ＷＰ、／ＲＢ、及びＩ／Ｏの送受信を行う。信号／ＣＥは、半導体記憶装置２０をイネーブルにするための信号である。信号ＣＬＥ及びＡＬＥは、信号ＣＬＥ及びＡＬＥと並行して半導体記憶装置２０に流れる信号Ｉ／ＯがそれぞれコマンドＣＭＤ及びアドレスＡＤＤであることを半導体記憶装置２０に通知する。また、信号ＣＬＥ及びＡＬＥは、例えば、いずれも“Ｌ（Low）”レベルの場合、信号ＣＬＥ及びＡＬＥと並行して半導体記憶装置２０に流れる信号Ｉ／ＯがデータＤＡＴであることを半導体記憶装置２０に通知する。信号／ＷＥは、信号／ＷＥと並行して半導体記憶装置２０に流れる信号Ｉ／Ｏを半導体記憶装置２０に取り込むことを指示する。信号／ＲＥは、半導体記憶装置２０に信号Ｉ／Ｏを出力することを指示する。信号／ＷＰは、データ書込み及び消去の禁止を半導体記憶装置２０に指示する。信号／ＲＢは、半導体記憶装置２０がレディ状態（外部からの命令を受け付ける状態）であるか、ビジー状態（外部からの命令を受け付けない状態）であるかを示す。信号Ｉ／Ｏは、例えば８ビットの信号である。信号Ｉ／Ｏは、半導体記憶装置２０とコントローラ１０との間で送受信されるデータの実体であり、コマンドＣＭＤ、アドレスＡＤＤ、データＤＡＴ、並びにステータスＳＴＳを含む。データＤＡＴは、書込みデータ及び読出しデータを含む。
【００１２】
１．１．２  コントローラの構成について
引き続き図１を用いて、第１実施形態に係るメモリシステムのコントローラについて説明する。コントローラ１０は、プロセッサ（ＣＰＵ：Central Processing Unit）１１、内蔵メモリ（ＲＡＭ：Random Access Memory）１２、ＮＡＮＤインタフェース回路１３、バッファメモリ１４、及びホストインタフェース回路１５を備えている。
【００１３】
プロセッサ１１は、コントローラ１０全体の動作を制御する。プロセッサ１１は、例えば、ホスト機器から受信したデータの書込み命令に応答して、ＮＡＮＤインタフェースに基づく書込み命令を半導体記憶装置２０に対して発行する。この動作は、読出し及び消去の場合についても同様である。
【００１４】
内蔵メモリ１２は、例えば、ＤＲＡＭ（Dynamic RAM）等の半導体メモリであり、プロセッサ１１の作業領域として使用される。内蔵メモリ１２は、半導体記憶装置２０を管理するためのファームウェア、及び各種の管理テーブル等を保持する。
【００１５】
ＮＡＮＤインタフェース回路１３は、ＮＡＮＤバスを介して半導体記憶装置２０と接続され、半導体記憶装置２０との通信を司る。ＮＡＮＤインタフェース回路１３は、プロセッサ１１の指示により、コマンドＣＭＤ、アドレスＡＤＤ、及び書込みデータを半導体記憶装置２０に送信する。また、ＮＡＮＤインタフェース回路１３は、半導体記憶装置２０からステータスＳＴＳ、及び読出しデータを受信する。
【００１６】
バッファメモリ１４は、コントローラ１０が半導体記憶装置２０及びホスト機器から受信したデータ等を一時的に保持する。
【００１７】
ホストインタフェース回路１５は、ホスト機器と接続され、ホスト機器との通信を司る。ホストインタフェース回路１５は、例えば、ホスト機器から受信した命令及びデータを、それぞれプロセッサ１１及びバッファメモリ１４に転送する。
【００１８】
１．１．３  半導体記憶装置の構成について
次に、第１実施形態に係る半導体記憶装置の構成例について、図２を用いて説明する。図２は、第１実施形態に係る半導体記憶装置の構成の一例を示すブロック図である。
【００１９】
半導体記憶装置２０は、メモリセルアレイ２１、入出力回路２２、ロジック制御回路２３、レジスタ２４、シーケンサ２５、電圧生成回路２６、ロウデコーダ２７、及びセンスアンプモジュール２８を備えている。
【００２０】
メモリセルアレイ２１は、複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…）を備えている。ブロックＢＬＫは、ワード線及びビット線に関連付けられた複数の不揮発性メモリセルトランジスタ（図示せず）を含む。ブロックＢＬＫは、例えばデータの消去単位となり、同一ブロックＢＬＫ内のデータは、一括して消去される。各ブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、…）を備えている。各ストリングユニットＳＵは、ＮＡＮＤストリングＮＳの集合である。ＮＡＮＤストリングＮＳは、複数のメモリセルトランジスタを含む。なお、メモリセルアレイ２１内のブロック数、１ブロックＢＬＫ内のストリングユニット数、及び１ストリングユニットＳＵ内のＮＡＮＤストリング数は、任意の数に設定出来る。
【００２１】
入出力回路２２は、コントローラ１０と信号Ｉ／Ｏ（Ｉ／Ｏ０〜Ｉ／Ｏ７）を送受信する。入出力回路２２は、信号Ｉ／Ｏ内のコマンドＣＭＤ及びアドレスＡＤＤをレジスタ２４に転送する。入出力回路２２は、書き込みデータ及び読み出しデータをセンスアンプモジュール２８と送受信する。入出力回路２２は、ステータスＳＴＳをレジスタ２４から受信する。
【００２２】
ロジック制御回路２３は、コントローラ１０から信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、及び／ＷＰを受信する。また、ロジック制御回路２３は、信号／ＲＢをコントローラ１０に転送して半導体記憶装置２０の状態を外部に通知する。
【００２３】
レジスタ２４は、コマンドＣＭＤ及びアドレスＡＤＤを保持する。レジスタ２４は、アドレスＡＤＤをロウデコーダ２７及びセンスアンプモジュール２８に転送すると共に、コマンドＣＭＤをシーケンサ２５に転送する。
【００２４】
シーケンサ２５は、コマンドＣＭＤを受け取り、受け取ったコマンドＣＭＤに基づくシーケンスに従って半導体記憶装置２０の全体を制御する。
【００２５】
電圧生成回路２６は、シーケンサ２５からの指示に基づき、データの書込み、読出し、及び消去等の動作に必要な電圧を生成する。電圧生成回路２６は、生成した電圧をロウデコーダ２７及びセンスアンプモジュール２８に供給する。
【００２６】
ロウデコーダ２７は、レジスタ２４からアドレスＡＤＤ中のロウアドレスを受取り、当該ロウアドレスに基づいてブロックＢＬＫを選択する。そして、選択されたブロックＢＬＫには、ロウデコーダ２７を介して電圧生成回路２６からの電圧が転送される。
【００２７】
センスアンプモジュール２８は、データの読出し時には、メモリセルトランジスタからビット線に読み出された読出しデータをセンスし、センスした読出しデータを入出力回路２２に転送する。センスアンプモジュール２８は、データの書込み時には、ビット線を介して書込まれる書込みデータをメモリセルトランジスタに転送する。また、センスアンプモジュール２８は、レジスタ２４からアドレスＡＤＤ中のカラムアドレスを受取り、当該カラムアドレスに基づくカラムのデータを出力する。
【００２８】
１．１．４  メモリセルアレイの構成について
次に、第１実施形態に係る半導体記憶装置のメモリセルアレイの構成について、図３を用いて説明する。図３は、第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための回路図の一例である。
【００２９】
図３に示すように、ＮＡＮＤストリングＮＳの各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１と、選択トランジスタＳＴ２とを備える。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。各メモリセルトランジスタＭＴは、選択トランジスタＳＴ１及びＳＴ２の間に、直列接続される。なお、以下の説明では『接続』とは、間に別の導電可能な要素が介在することも含む。
【００３０】
或るブロックＢＬＫ内において、ストリングユニットＳＵ０〜ＳＵ３の選択トランジスタＳＴ１のゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３に接続される。また、ブロックＢＬＫ内の全てのストリングユニットＳＵの選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳに共通接続される。同一のブロックＢＬＫ内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に接続される。すなわち、同じアドレスのワード線ＷＬは、同一ブロックＢＬＫ内の全てのストリングユニットＳＵに共通接続されており、選択ゲート線ＳＧＳは、同一ブロックＢＬＫ内の全てのストリングユニットＳＵに共通接続されている。一方、選択ゲート線ＳＧＤは、同一ブロックＢＬＫ内のストリングユニットＳＵの１つのみに接続される。
【００３１】
また、メモリセルアレイ２１内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一行にあるＮＡＮＤストリングＮＳの選択トランジスタＳＴ１の他端は、ｍ本のビット線ＢＬ（ＢＬ０〜ＢＬ（ｍ−１）（ｍは自然数））のいずれかに接続される。また、ビット線ＢＬは、複数のブロックＢＬＫにわたって、同一列のＮＡＮＤストリングＮＳに共通接続される。
【００３２】
また、選択トランジスタＳＴ２の他端は、ソース線ＣＥＬＳＲＣに接続される。ソース線ＣＥＬＳＲＣは、複数のブロックＢＬＫにわたって、複数のＮＡＮＤストリングＮＳに共通接続される。
【００３３】
前述のとおり、データの消去は、例えば、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴに対して一括して行われる。これに対して、データの読出し及び書込みは、いずれかのブロックＢＬＫのいずれかのストリングユニットＳＵにおける、いずれかのワード線ＷＬに共通接続された複数のメモリセルトランジスタＭＴにつき、一括して行われる。このように一括して書込まれる単位を「ページ」と言う。
【００３４】
次に、メモリセルアレイ２１の断面構造について図４を用いて説明する。図４は、第１実施形態に係る半導体記憶装置のメモリセルアレイの一部の断面構造の一例を示している。特に、図４は、１つのブロックＢＬＫ内の２つのストリングユニットＳＵに関する部分を示している。具体的には、図４は、２つのストリングユニットＳＵのそれぞれの２つのＮＡＮＤストリングＮＳと、その周辺の部分と、を示している。そして、図４に示される構成が、Ｘ方向に複数配列されており、例えばＸ方向に並ぶ複数のＮＡＮＤストリングＮＳの集合が１つのストリングユニットＳＵに相当する。
【００３５】
半導体記憶装置２０は、半導体基板３０上に設けられている。以下の説明では、半導体基板３０の表面と平行な面をＸＹ平面とし、ＸＹ平面に垂直な方向をＺ方向とする。また、Ｘ方向とＹ方向は、互いに直交するものとする。
【００３６】
半導体基板３０の上面には、ｐ型ウェル領域３０ｐが設けられる。ｐ型ウェル領域３０ｐ上に、複数のＮＡＮＤストリングＮＳが設けられる。すなわち、ｐ型ウェル領域３０ｐ上には、例えば、選択ゲート線ＳＧＳとして機能する配線層３１、ワード線ＷＬ０〜ＷＬ７として機能する８層の配線層３２（ＷＬ０〜ＷＬ７）、及び選択ゲート線ＳＧＤとして機能する配線層３３が、順次積層される。配線層３１及び３３は、複数層積層されていてもよい。積層された配線層３１〜３３間には、図示せぬ絶縁膜が設けられる。
【００３７】
配線層３１は、例えば、１つのブロックＢＬＫ内の複数のＮＡＮＤストリングＮＳの各々の選択トランジスタＳＴ２のゲートに共通接続される。配線層３２は、各層毎に、１つのブロックＢＬＫ内の複数のＮＡＮＤストリングＮＳの各々のメモリセルトランジスタＭＴの制御ゲートに共通接続される。配線層３３は、１つのストリングユニットＳＵ内の複数のＮＡＮＤストリングＮＳの各々の選択トランジスタＳＴ１のゲートに共通接続される。
【００３８】
メモリホールＭＨは、配線層３３、３２、３１を通過してｐ型ウェル領域３０ｐに達するように設けられる。メモリホールＭＨの側面上には、ブロック絶縁膜３４、電荷蓄積層（絶縁膜）３５、及びトンネル酸化膜３６が順に設けられる。メモリホールＭＨ内には、半導体ピラー（導電膜）３７が埋め込まれる。半導体ピラー３７は、例えばノンドープのポリシリコンであり、ＮＡＮＤストリングＮＳの電流経路として機能する。半導体ピラー３７の上端上には、ビット線ＢＬとして機能する配線層３８が設けられる。
【００３９】
以上のように、ｐ型ウェル領域３０ｐの上方には、選択トランジスタＳＴ２、複数のメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１が順に積層されており、１つのメモリホールＭＨが、１つのＮＡＮＤストリングＮＳに対応している。
【００４０】
ｐ型ウェル領域３０ｐの上面には、ｎ＋型不純物拡散領域３９及びｐ＋型不純物拡散領域４０が設けられる。ｎ＋型不純物拡散領域３９の上面上には、コンタクトプラグ４１が設けられる。コンタクトプラグ４１の上面上には、ソース線ＣＥＬＳＲＣとして機能する配線層４２が設けられる。ｐ＋型不純物拡散領域４０の上面上にはコンタクトプラグ４３が設けられる。コンタクトプラグ４３の上面上には、ウェル線ＣＰＷＥＬＬとして機能する配線層４４が設けられる。
【００４１】
なお、メモリセルアレイ２１の構成については、その他の構成であってもよい。メモリセルアレイ２１の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４２】
１．１．５  メモリセルトランジスタの閾値分布について
次に、メモリセルトランジスタＭＴの取り得る閾値電圧の分布について、図５を用いて説明する。図５は、第１実施形態に係る半導体記憶装置のメモリセルトランジスタの閾値電圧の分布の一例を示すダイアグラムである。
【００４３】
図５に示すように、メモリセルトランジスタＭＴの閾値電圧は、上位（Ｕｐｐｅｒ）ビット（上位データ）、中位（Ｍｉｄｄｌｅ）ビット（中位データ）、及び下位（Ｌｏｗｅｒ）ビット（下位データ）による３ビットデータ、すなわち“１１１”、“１１０”、“１００”、“０００”、“０１０”、“０１１”、“００１”、及び“１０１”データを保持可能である。
【００４４】
“１１１”データの閾値電圧は、“Ｅｒ”レベルであり、例えば、データの消去状態に相当する。そして、“Ｅｒ”レベルに含まれる閾値電圧は、電圧ＡＲより小さく、正又は負の値を有する。
【００４５】
“１１０”、“１００”、“０００”、“０１０”、“０１１”、“００１”、及び“１０１”データの閾値電圧は、それぞれ“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”レベルである。“Ａ”レベル〜“Ｇ”レベルは、電荷蓄積層４５に電荷が注入されてメモリセルトランジスタＭＴにデータが書込まれた状態に相当し、各分布に含まれる閾値電圧は、例えば正の値を有する。“Ａ”レベルに含まれる閾値電圧は、読出し電圧ＡＲより大きいベリファイ電圧ＶＡより大きく、かつ読出し電圧ＢＲより小さい。“Ｂ”レベルに含まれる閾値電圧は、読出し電圧ＢＲより大きいベリファイ電圧ＶＢより大きく、かつ読出し電圧ＣＲより小さい。“Ｃ”レベルに含まれる閾値電圧は、読出し電圧ＣＲより大きいベリファイ電圧ＶＣより大きく、かつ読出し電圧ＤＲより小さい。“Ｄ”レベルに含まれる閾値電圧は、読出し電圧ＤＲより大きいベリファイ電圧ＶＤより大きく、かつ読出し電圧ＥＲより小さい。“Ｅ”レベルに含まれる閾値電圧は、読出し電圧ＥＲより大きいベリファイ電圧ＶＥより大きく、かつ読出し電圧ＦＲより小さい。“Ｆ”レベルに含まれる閾値電圧は、読出し電圧ＦＲより大きいベリファイ電圧ＶＦより大きく、かつ読出し電圧ＧＲより小さい。そして、“Ｇ”レベルに含まれる閾値電圧は、読出し電圧ＧＲより大きいベリファイ電圧ＶＧより大きく、電圧ＶＲＥＡＤより小さい。電圧ＶＲＥＡＤは、或るブロックＢＬＫ内へのデータの読出しの際に、読出しの対象ではないワード線ＷＬに印加される電圧である。
【００４６】
以上のように、各メモリセルトランジスタＭＴは、８個の閾値電圧の分布のいずれかを有することで、８種類の状態を取ることができる。なお、各データと閾値レベルとの関係は上記に限定されるものではなく、適宜変更可能である。
【００４７】
また、上述の通り、データの書込み及び読出しは、ページ単位で行われる。したがって、メモリセルトランジスタＭＴが３ビットデータを保持している場合には、１つのページに、上位ビット、中位ビット、及び下位ビットの各々に対応するデータが割当てられる。以下の説明では、上位ビット、中位ビット、及び下位ビットについて一括して書込み又は読み出されるページは、それぞれ、上位ページ、中位ページ、及び下位ページと言う。
【００４８】
なお、シーケンサ２５は、下位データ、中位データ、及び上位データが全て入力された場合、メモリセルトランジスタＭＴが上述した８種類の状態のいずれとされるべきかを識別することができる。言い換えると、シーケンサ２５は、下位データ、中位データ、及び上位データのいずれかのデータが入力されていない場合、８種類の状態を一意に識別することができない。
【００４９】
図６は、第１実施形態に係る半導体記憶装置のデータと、当該データから識別可能な閾値レベルとの関係を示すテーブルである。図６（Ａ）は、下位データのみが入力された場合において識別可能な閾値電圧が示される。図６（Ｂ）は、下位データ及び中位データが入力された場合において識別可能な閾値電圧が示される。
【００５０】
図６（Ａ）に示すように、下位データのみが入力された場合、“Ｅｒ”レベル〜“Ｇ”レベルまでの８種類の状態は、“０”又は“１”のみで表現される。このため、８種類の状態は、２種類の状態にしか識別できない。具体的には、“Ｅｒ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルは、下位データによって“１”と表現される。このため、“Ｅｒ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルは、相互に区別できない。また、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、及び“Ｄ”レベルは、下位データによって“０”と表現される。このため、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、及び“Ｄ”レベルは、相互に区別できない。
【００５１】
図６（Ｂ）に示すように、下位データ及び中位データが入力された場合、“Ｅｒ”レベル〜“Ｇ”レベルまでの８種類の状態は、“００”、“０１”、“１０”、又は“１１”で表現される。このため、８種類の状態は、４種類の状態にしか識別できない。具体的には、“Ｅｒ”レベル及び“Ｅ”レベルは、下位データ及び中位データによって“１１”と表現される。このため、“Ｅ”レベルは、“Ｅｒ”レベルと区別できない。“Ａ”レベル及び“Ｄ”レベルは、下位データ及び中位データによって“１０”と表現される。このため、“Ｄ”レベルは、“Ａ”レベルと区別できない。“Ｂ”レベル及び“Ｃ”レベルは、下位データ及び中位データによって“００”と表現される。このため、“Ｃ”レベルは、“Ｂ”レベルと区別できない。また、“Ｆ”レベル及び“Ｇ”レベルは、下位データ及び中位データによって“０１”と表現される。このため、“Ｇ”レベルは、“Ｆ”レベルと区別できない。
【００５２】
１．１．６  センスアンプモジュールの構成について
次に、第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成について説明する。図７は、第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成の一例を説明するための平面図である。図７に示すように、センスアンプモジュール２８は、複数のセンスアンプユニット群ＳＡＵ＜１５：０＞と、複数のラッチ回路群ＸＤＬ＜１５：０＞とを含む。
【００５３】
複数のセンスアンプユニット群ＳＡＵ＜１５：０＞は、Ｘ方向に沿って並ぶ。図７の例では、各センスアンプユニット群ＳＡＵ＜１５：０＞は、Ｙ方向に沿って並ぶ１６個のセンスアンプユニットＳＡＵ（ＳＡＵ＜０＞、ＳＡＵ＜１＞、…、ＳＡＵ＜１５＞）を含む。
【００５４】
センスアンプユニットＳＡＵは、例えば、ビット線ＢＬ毎に設けられる。センスアンプユニットＳＡＵは、対応するビット線ＢＬに読み出されたデータをセンスし、対応するビット線ＢＬに書込みデータを転送する。また、センスアンプユニット群ＳＡＵ＜１５：０＞内の各センスアンプユニットＳＡＵは、１つのバスＤＢＵＳに共通に接続されている。
【００５５】
ラッチ回路群ＸＤＬ＜１５：０＞は、Ｘ方向に沿って並ぶ。ラッチ回路群ＸＤＬ＜１５：０＞は、１６個のラッチ回路ＸＤＬ（ＸＤＬ＜０＞、ＸＤＬ＜１＞、…、ＸＤＬ＜１５＞）を含む。ラッチ回路群ＸＤＬ＜１５：０＞は、センスアンプユニット群ＳＡＵ＜１５：０＞毎に設けられる。そして、１６個のセンスアンプユニットＳＡＵ＜０＞〜ＳＡＵ＜１５＞にそれぞれ対応する１６個のラッチ回路ＸＤＬ＜０＞〜ＸＤＬ＜１５＞が、１つのバスＤＢＵＳに共通に接続されている。各ラッチ回路ＸＤＬは、対応するセンスアンプユニットＳＡＵに接続されたビット線ＢＬに関連するデータを一時的に保持する。また、各ラッチ回路ＸＤＬは、信号Ｉ／Ｏを転送する配線ＩＯに接続される。ラッチ回路ＸＤＬは、当該配線ＩＯ、及びバスＤＢＵＳを介してセンスアンプユニットＳＡＵと外部との間のデータの送受信に使用される。具体的には、コントローラ１０から受信したデータは、配線ＩＯを介してラッチ回路ＸＤＬに保持された後、バスＤＢＵＳを介してセンスアンプユニットＳＡＵに転送される。また、センスアンプユニットＳＡＵから転送されたデータは、バスＤＢＵＳを介してラッチ回路ＸＤＬに保持された後、配線ＩＯを介してコントローラ１０に読み出される。
【００５６】
１．１．７  センスアンプユニットの構成について
次に、第１実施形態に係る半導体記憶装置のセンスアンプユニットの構成について説明する。図８は、第１実施形態に係る半導体記憶装置のセンスアンプユニットの構成の一例を示す回路図である。
【００５７】
図８に示すように、センスアンプユニットＳＡＵは、センスアンプ部ＳＡ、４個のラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬ、ＬＢＵＳプリチャージャＬＰ、並びにバススイッチＳＷを含む。センスアンプユニットＳＡＵは、バスＤＢＵＳ及びビット線ＢＬに接続される。
【００５８】
センスアンプ部ＳＡは、ラッチ回路ＳＤＬの保持データに応じて、ビット線ＢＬを制御する。ＬＢＵＳプリチャージャＬＰは、バスＬＢＵＳに電圧を転送することで、バスＬＢＵＳをプリチャージする。バススイッチＳＷは、センスアンプユニットＳＡＵとラッチ回路ＸＤＬの間のデータ転送用スイッチとして機能する。
【００５９】
ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬは、書込みデータ及び読出しデータを一時的に保持する。データの書込み動作において、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬは、例えば、個々のメモリセルトランジスタＭＴが２ビット以上のデータを保持する多値動作用に使用される。
【００６０】
より具体的には、例えば、ラッチ回路ＳＤＬは、データの書込み動作において、当該データをメモリセルトランジスタＭＴに書込むべきか否かを示す情報を保持する。ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬはそれぞれ、例えば、メモリセルトランジスタＭＴに書込まれるデータのうち、下位ビット、中位ビット、及び上位ビットを保持する。
【００６１】
ラッチ回路ＳＤＬは、低耐圧ｎチャネルＭＯＳトランジスタ５０〜５３及び低耐圧ｐチャネルＭＯＳトランジスタ５４〜５７を含む。以下の説明では、低耐圧ｎチャネルＭＯＳトランジスタ、及び低耐圧ｐチャネルＭＯＳトランジスタは、特に区別しない場合、単にトランジスタと言う。
【００６２】
トランジスタ５０は、ゲートに信号ＳＴＬが入力され、一端がバスＬＢＵＳに接続され、他端がノードＬＡＴ＿Ｓに接続される。
【００６３】
トランジスタ５１は、ゲートに信号ＳＴＩが入力され、一端がバスＬＢＵＳに接続され、他端がノードＩＮＶ＿Ｓに接続される。
【００６４】
トランジスタ５２は、ゲートがノードＩＮＶ＿Ｓに接続され、一端が接地され、他端がノードＬＡＴ＿Ｓに接続される。
【００６５】
トランジスタ５３は、ゲートがノードＬＡＴ＿Ｓに接続され、一端が接地され、他端がノードＩＮＶ＿Ｓに接続される。
【００６６】
トランジスタ５４は、ゲートがノードＩＮＶ＿Ｓに接続され、一端がノードＬＡＴ＿Ｓに接続され、他端がトランジスタ７６の一端に接続される。
【００６７】
トランジスタ５５は、ゲートがノードＬＡＴ＿Ｓに接続され、一端がノードＩＮＶ＿Ｓに接続され、他端がトランジスタ７７の一端に接続される。
【００６８】
トランジスタ５６は、ゲートに信号ＳＬＬが入力され、他端に電圧ＶＤＤＳＡが印加される。
【００６９】
トランジスタ５７は、ゲートに信号ＳＬＩが入力され、他端に電圧ＶＤＤＳＡが印加される。
【００７０】
ラッチ回路ＳＤＬでは、トランジスタ５２及び５４で第１インバータが構成され、トランジスタ５３及び５５で第２インバータが構成されている。そして、第１インバータの出力及び第２インバータの入力（ノードＬＡＴ＿Ｓ）が、データ転送用のトランジスタ５０を介してバスＬＢＵＳに接続される。また、第１インバータの入力および第２インバータの出力（ノードＩＮＶ＿Ｓ）が、データ転送用のトランジスタ５１を介してバスＬＢＵＳに接続される。ラッチ回路ＳＤＬは、データをノードＬＡＴ＿Ｓで保持し、その反転データをノードＩＮＶ＿Ｓで保持する。
【００７１】
ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬは、例えば、ラッチ回路ＳＤＬと同様の構成を有しているため、その説明を省略する。各センスアンプユニットＳＡＵにおいて、センスアンプ部ＳＡ、並びに４個のラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬは、互いにデータを送受信可能なようにバスＬＢＵＳによって接続される。
【００７２】
なお、上記構成のセンスアンプユニットＳＡＵにおける各種信号は、例えば、シーケンサ２５によって与えられる。
【００７３】
なお、以下の説明では、ブロックＢＬＫ、メモリセルトランジスタＭＴ、並びに当該メモリセルトランジスタＭＴに接続されたワード線ＷＬ及びセンスアンプユニットＳＡＵ内がデータの書込み又は読出し対象である場合、各々の名称に「選択」を付す。また、データの書込み又は読出し対象でない場合、各々の名称に「非選択」を付す。
【００７４】
１．２  書込み動作について
次に、第１実施形態に係る半導体記憶装置の書込み動作について説明する。
【００７５】
１．２．１  コマンドシーケンスについて
第１実施形態に係る書込み動作のコマンドシーケンスについて説明する。
【００７６】
図９は、第１実施形態に係る半導体記憶装置のデータの書込み動作を示すコマンドシーケンスの一例である。図９では、半導体記憶装置２０が書込み動作に係るコマンドを受信する間に先行して実行される書込み動作と、コマンドシーケンスとの関係が経時的に示される。
【００７７】
図９に示すように、コントローラ１０は、コマンド“０１ｈ”及び書込みコマンド“８０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“８０ｈ”は、半導体記憶装置２０へのデータの書込みを命令するコマンドである。半導体記憶装置２０は、連続するコマンド“０１ｈ”及びコマンド“８０ｈ”を受け取ると、後続する書込みデータＤＡＴ（Ｄｉｎとして図示されている）が下位データであることを認識する。
【００７８】
コントローラ１０は、例えば５サイクルにわたってアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。このアドレスＡＤＤは、例えば、選択ブロックＢＬＫ内の或る領域のアドレスを指定するものである。アドレスＡＤＤは、選択ブロックＢＬＫ内の或る領域のアドレスのみならず、選択センスアンプユニットＳＡＵ内のラッチ回路（例えばラッチ回路ＡＤＬ）のアドレスを指定してもよい。続いてコントローラ１０は、下位データを示す書込みデータＤＡＴを半導体記憶装置２０に送信する。
【００７９】
コントローラ１０は、コマンド“１６ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１６ｈ”は、直前に送信されたデータＤＡＴを選択センスアンプユニットＳＡＵ内のラッチ回路（例えばラッチ回路ＡＤＬ）へ入力するためのコマンドである。また、コマンド“１６ｈ”は更に、当該データＤＡＴの入力が完了次第、当該入力されたデータに基づく特殊な書込み動作を実行させるためのコマンドである。特殊な書込み動作では、例えば、入力されたデータに応じて異なる書込み動作が実行される。より具体的には、コマンド“１６ｈ”は、下位データが入力されると、特殊な書込み動作として、下位データのみに基づく書込み動作を実行させる。以下の説明では、下位データのみに基づく書込み動作を、「第１書込み動作」と言う。また、コマンド“０１ｈ”、“８０ｈ”、及び“１６ｈ”の組は、第１書込み動作を実行し得るコマンドセットであり、単に第１書込み動作を実行し得る「コマンド」とも称し得る。
【００８０】
図６において示した通り、下位データのみが入力された場合、シーケンサ２５は、メモリセルトランジスタＭＴに書込むべきデータの閾値電圧のレベル（以下、「目標閾値レベル」という。）が、“Ｅｒ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルのいずれであるかを区別できない。このため、第１書込み動作では、シーケンサ２５は、“Ｅｒ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルが書込まれるべきメモリセルトランジスタＭＴには、最も低い“Ｅｒ”レベルが書込まれるものとみなす。また、シーケンサ２５は、目標閾値レベルが“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、及び“Ｄ”レベルのいずれであるかを区別できない。このため、第１書込み動作では、シーケンサ２５は、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、及び“Ｄ”レベルが書込まれるべきメモリセルトランジスタＭＴには、最も低い“Ａ”レベルが書込まれるものとみなす。
【００８１】
コマンド“１６ｈ”がレジスタ２４に格納されると、シーケンサ２５は、電圧生成回路２６及びセンスアンプモジュール２８等を制御して、下位データのラッチ回路ＡＤＬへの入力を開始する。このときロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをコントローラ１０に知らせる。
【００８２】
時刻Ｔｌｏｗ＿ｆにおいて、下位データのラッチ回路ＡＤＬへの入力が完了した後、ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをコントローラ１０に知らせる。シーケンサ２５は、時刻Ｔｌｏｗ＿ｆを経過すると、電圧生成回路２６、ロウデコーダ２７、及びセンスアンプモジュール２８等を制御して、第１書込み動作を開始する。
【００８３】
続いて、コントローラ１０は、コマンド“０２ｈ”及び書込みコマンド“８０ｈ”を発行し、半導体記憶装置２０に送信する。半導体記憶装置２０は、連続するコマンド“０２ｈ”及びコマンド“８０ｈ”を受け取ると、後続する書込みデータＤＡＴ（Ｄｉｎとして図示されている）が中位データであることを認識する。
【００８４】
コントローラ１０は、例えば５サイクルにわたってアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。このアドレスＡＤＤは、例えば、選択ブロックＢＬＫ内の或る領域のアドレスを指定するものである。アドレスＡＤＤは、選択ブロックＢＬＫ内の或る領域のアドレスのみならず、選択センスアンプユニットＳＡＵ内のラッチ回路（例えばラッチ回路ＢＤＬ）のアドレスを指定してもよい。続いてコントローラ１０は、中位データを示す書込みデータＤＡＴを半導体記憶装置２０に送信する。
【００８５】
コントローラ１０は、コマンド“１６ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１６ｈ”は、中位データが入力されると、特殊な書込み動作として、下位データ及び中位データに基づく書込み動作を実行させる。以下の説明では、下位データ及び中位データのみに基づく書込み動作を、「第２書込み動作」と言う。また、コマンド“０２ｈ”、“８０ｈ”、及び“１６ｈ”の組は、第２書込み動作を実行し得るコマンドセットであり、単に第２書込み動作を実行し得る「コマンド」とも称し得る。
【００８６】
図６において示した通り、下位データ及び中位データのみが入力された場合、シーケンサ２５は、目標閾値レベルが“Ｅｒ”レベル及び“Ｅ”レベルのいずれであるかを区別できない。このため、第２書込み動作では、シーケンサ２５は、“Ｅｒ”レベル及び“Ｅ”レベルが書込まれるべきメモリセルトランジスタＭＴには、低い方の“Ｅｒ”レベルが書込まれるべきものとみなす。また、シーケンサ２５は、目標閾値レベルが“Ａ”レベル及び“Ｄ”レベルのいずれであるかを区別できない。このため、第２書込み動作では、シーケンサ２５は、“Ａ”レベル及び“Ｄ”レベルが書込まれるべきメモリセルトランジスタＭＴには、低い方の“Ａ”レベルが書込まれるべきものとみなす。また、シーケンサ２５は、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのいずれであるかを区別できない。このため、第２書込み動作では、シーケンサ２５は、“Ｂ”レベル及び“Ｃ”レベルが書込まれるべきメモリセルトランジスタＭＴには、低い方の“Ｂ”レベルが書込まれるべきものとみなす。また、シーケンサ２５は、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのいずれであるかを区別できない。このため、第２書込み動作では、シーケンサ２５は、“Ｆ”レベル及び“Ｇ”レベルが書込まれるべきメモリセルトランジスタＭＴには、低い方の“Ｆ”レベルが書込まれるべきものとみなす。
【００８７】
コマンド“１６ｈ”がレジスタ２４に格納されると、シーケンサ２５は、電圧生成回路２６及びセンスアンプモジュール２８等を制御して、中位データのラッチ回路ＢＤＬへの入力を開始する。このときロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをコントローラ１０に知らせる。
【００８８】
時刻Ｔｍｉｄ＿ｆにおいて、中位データのラッチ回路ＢＤＬへの入力が完了した後、ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをコントローラ１０に知らせる。シーケンサ２５は、時刻Ｔｍｉｄ＿ｆを経過すると、電圧生成回路２６、ロウデコーダ２７、及びセンスアンプモジュール２８等を制御して、第１書込み動作から第２書込み動作に移行する。
【００８９】
続いて、コントローラ１０は、コマンド“０３ｈ”及び書込みコマンド“８０ｈ”を発行し、半導体記憶装置２０に送信する。半導体記憶装置２０は、連続するコマンド“０３ｈ”及びコマンド“８０ｈ”を受け取ると、後続する書込みデータＤＡＴ（Ｄｉｎとして図示されている）が上位データであることを認識する。
【００９０】
コントローラ１０は、例えば５サイクルにわたってアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。このアドレスＡＤＤは、例えば、選択ブロックＢＬＫ内の或る領域のアドレスを指定するものである。アドレスＡＤＤは、選択ブロックＢＬＫ内の或る領域のアドレスのみならず、選択センスアンプユニットＳＡＵ内のラッチ回路（例えばラッチ回路ＣＤＬ）のアドレスを指定してもよい。続いてコントローラ１０は、上位データを示す書込みデータＤＡＴを半導体記憶装置２０に送信する。
【００９１】
コントローラ１０は、コマンド“１０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１０ｈ”は、直前に送信されたデータＤＡＴを選択センスアンプユニットＳＡＵ内のラッチ回路へ入力するためのコマンドである。また、コマンド“１０ｈ”は更に、下位データ、中位データ、及び上位データに基づく第３書込み動作を実行させるためのコマンドである。以下の説明では、下位データ、中位データ、及び上位データに基づく書込み動作を、「第３書込み動作」と言う。すなわち、第３書込み動作では、全てのメモリセルトランジスタＭＴは、本来書込まれるべき閾値レベルに応じた書込み動作が実行される。また、“０３ｈ”、“８０ｈ”、及び“１０ｈ”の組は、第３書込み動作を実行し得るコマンドセットであり、単に第３書込み動作を実行し得る「コマンド」とも称し得る。
【００９２】
コマンド“１０ｈ”がレジスタ２４に格納されると、シーケンサ２５は、電圧生成回路２６及びセンスアンプモジュール２８等を制御して、上位データのラッチ回路ＣＤＬへの入力を開始する。このときロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをコントローラ１０に知らせる。
【００９３】
時刻Ｔｕｐ＿ｆにおいて、シーケンサ２５は、上位データのラッチ回路ＣＤＬへの入力を完了する。シーケンサ２５は、時刻Ｔｕｐ＿ｆを経過すると、電圧生成回路２６、ロウデコーダ２７、及びセンスアンプモジュール２８等を制御して、第２書込み動作から第３書込み動作に移行する。
【００９４】
以上の動作により、中位データ入力中に第１書込み動作が実行され、上位データ入力中に第２書込み動作が実行され、全てのデータの入力が完了した後に第３書込み動作が実行される。
【００９５】
１．２．２  書込み動作の概要について
次に、第１実施形態に係る書込み動作の概要について簡単に説明する。
【００９６】
第１書込み動作、第２書込み動作、及び第３書込み動作の各々は、例えば、プログラム動作及びベリファイ動作を含む。プログラム動作は、電子を選択メモリセルトランジスタＭＴの電荷蓄積層４５に注入することで閾値電圧を上昇させる、又は電子の注入を禁止することで閾値電圧を維持させる動作のことである。ベリファイ動作は、プログラム動作の後、データを読み出すことで、選択メモリセルトランジスタＭＴの閾値電圧がベリファイ電圧まで達したか否かを判定する動作である。ベリファイ電圧まで達した選択メモリセルトランジスタＭＴは、その後、プログラム動作の際の電子の注入が禁止される。プログラム動作及びベリファイ動作の組み合わせを複数回繰り返すことで、選択メモリセルトランジスタＭＴの閾値電圧がベリファイ電圧まで上昇される。このプログラム動作及びベリファイ動作の繰り返し動作を「ループ」と言う。
【００９７】
また、書込み動作は、例えば、ループ数に応じて、異なる「フェーズ」に分類される。同一のフェーズに分類されたループにおける書込み動作は、例えば、プログラム動作、及び同一のレベルを対象としたベリファイ動作で構成される。
【００９８】
図１０は、第１実施形態に係る半導体記憶装置の書込み動作の概要を説明するための模式図である。図１０では、ループ数に応じて設定された書込み動作の構成の一例が示される。また、図１０では、当該各動作が第１書込み動作、第２書込み動作、及び第３書込み動作のいずれに含まれ得るか、が模式的に示される。
【００９９】
図１０に示すように、１回目及び２回目のループは、フェーズＡに分類される。フェーズＡでは、１回のプログラム動作（図１０では、Progと表記されている。）に対して、“Ａ”レベルを対象としたベリファイ動作（図１０では、VfyAと表記されている。）が実行される。３回目及び４回目のループは、フェーズＢに分類される。フェーズＢでは、１回のプログラム動作に対して、“Ａ”レベルを対象としたベリファイ動作に加え、“Ｂ”レベルを対象としたベリファイ動作（図１０では、VfyA,Bと表記されている。）が実行される。５回目のループは、フェーズＣに分類される。フェーズＣでは、１回のプログラム動作に対して、“Ａ”レベルを対象としたベリファイ動作、及び“Ｂ”レベルを対象としたベリファイ動作に加え、“Ｃ”レベルを対象としたベリファイ動作（図１０では、VfyA,B,Cと表記されている。）が更に実行される。６回目以降のループも同様に、或るフェーズに応じたプログラム動作及びベリファイ動作が実行される。そして、最終的に、ベリファイ動作は、“Ｇ”レベルを対象としたベリファイ動作まで実行される。
【０１００】
なお、或るループ数がどのフェーズに分類されるか（つまり、どのループ数で新たなレベルを対象としたベリファイ動作が実行されるか）は、上述の例に依らず、任意に設定可能である。
【０１０１】
また、或るフェーズにおけるベリファイ動作は、当該或るフェーズよりも前のフェーズにおけるベリファイ動作を含み得る。例えば、フェーズＢにおけるベリファイ動作は、フェーズＡにおけるベリファイ動作（“Ａ”レベルのみを対象としたベリファイ動作）を含み得る。フェーズＣにおけるベリファイ動作は、フェーズＡにおけるベリファイ動作、及びフェーズＢにおけるベリファイ動作（“Ａ”レベル及び“Ｂ”レベルのみを対象としたベリファイ動作）を含み得る。或るフェーズにおいて当該或るフェーズよりも前のフェーズにおけるベリファイ動作が実行される場合としては、例えば、ループ数の経過によってフェーズが移行した場合において、新たなレベルを対象としたベリファイ動作を実行する必要が無い程度に書込み電圧の大きさが上昇していない際に発生し得る。
【０１０２】
図１０に示すように構成された書込み動作は、第１書込み動作、第２書込み動作、及び第３書込み動作のいずれかにおいて実行される。そして、第１書込み動作、第２書込み動作、及び第３書込み動作の各々において実行可能な動作は、限定される。
【０１０３】
具体的には、第１書込み動作では、例えば、目標閾値レベルが“Ｅｒ”レベルであるか“Ａ”レベルであるかは区別できるが、“Ａ”レベルであるか“Ｂ”レベルであるかは区別できない。このため、第１書込み動作では、“Ａ”レベルを対象としたベリファイ動作のみが実行可能である。つまり、第１書込み動作では、フェーズＡに分類された書込み動作と、フェーズＢに分類された書込み動作のうち最初のループにおけるプログラム動作と、が実行可能である。
【０１０４】
第２書込み動作では、例えば、目標閾値レベルが“Ａ”レベルであるか“Ｂ”レベルであるかは区別できるが、“Ｂ”レベルであるか“Ｃ”レベルであるかは区別できない。このため、第２書込み動作では、“Ａ”レベルを対象としたベリファイ動作、又は“Ａ”レベルを対象としたベリファイ動作及び“Ｂ”レベルを対象としたベリファイ動作のみが実行可能である。つまり、第２書込み動作では、フェーズＡに分類された書込み動作と、フェーズＢに分類された書込み動作と、フェーズＣに分類された書込み動作のうち最初のループにおけるプログラム動作と、が実行可能である。
【０１０５】
なお、第２書込み動作では、或るメモリセルトランジスタＭＴに書込むべきデータが“Ｆ”レベル以上であると認識することができるため、当該メモリセルトランジスタＭＴに対しては“Ｆ”レベルを対象としたベリファイ動作まで実行可能である。このため、上述の例に限らず、“Ｆ”レベル以上のデータが書込まれるメモリセルトランジスタＭＴに対しては、“Ｃ”レベル〜“Ｆ”レベルを対象としたベリファイ動作が実行できてもよい。
【０１０６】
第３書込み動作では、“Ｃ”レベル以上のレベルを含む全てのレベルを対象としたベリファイ動作が実行可能である。つまり、第３書込み動作では、全てのフェーズに分類されたループ数における書込み動作が実行可能である。
【０１０７】
図１１〜図１４は、第１実施形態に係る半導体記憶装置の書込み動作を説明するためのフローチャートである。図１１は、書込み動作の全体動作が示される。図１２は、書込み動作のうち第１書込み動作が示される。図１３は、書込み動作のうち第２書込み動作が示される。図１４は、書込み動作のうち第３書込み動作が示される。
【０１０８】
まず、書込み動作の全体動作について、図１１を用いて説明する。
【０１０９】
図１１に示すように、ステップＳＴ１０において、シーケンサ２５は、下位データの入力が完了したか否かを判定する。シーケンサ２５は、下位データの入力が完了していないと判定した場合（ステップＳＴ１０；ｎｏ）、ステップＳＴ１０に戻り、完了したと判定した場合、（ステップＳＴ１０；ｙｅｓ）、ステップＳＴ２０に進む。
【０１１０】
ステップＳＴ２０において、シーケンサ２５は、第１書込み動作を実行させる。
【０１１１】
ステップＳＴ３０において、シーケンサ２５は、第２書込み動作を実行させる。
【０１１２】
ステップＳＴ４０において、シーケンサ２５は、第３書込み動作を実行させる。
【０１１３】
以上で、書込み動作が終了する。
【０１１４】
次に、第１書込み動作について、図１２を用いて説明する。
【０１１５】
図１２に示すように、ステップＳＴ２１において、シーケンサ２５は、中位データの入力が完了したか否かを判定する。シーケンサ２５は、中位データの入力が完了していないと判定した場合（ステップＳＴ２１；ｎｏ）、ステップＳＴ２２に進み、完了したと判定した場合、（ステップＳＴ２１；ｙｅｓ）、第１書込み動作を終了させる。
【０１１６】
ステップＳＴ２２において、シーケンサ２５は、プログラム動作を実行させる。
【０１１７】
ステップＳＴ２３において、シーケンサ２５は、書込み動作がフェーズＢに進んだか否かを判定する。シーケンサ２５は、書込み動作がフェーズＢに進んでいない、つまり書込み動作がフェーズＡであると判定した場合（ステップＳＴ２３；ｎｏ）、ステップＳＴ２４に進み、フェーズＢに進んだと判定した場合、（ステップＳＴ２３；ｙｅｓ）、ステップＳＴ２５に進む。
【０１１８】
ステップＳＴ２４において、シーケンサ２５は、ベリファイ動作を実行させた後、ステップＳＴ２１に戻る。そして、中位データの入力が完了するまで、プログラム動作及びベリファイ動作が繰り返し実行される。なお、ステップＳＴ２４におけるベリファイ動作は、第１書込み動作として実行されるため、“Ａ”レベルのみを対象としたベリファイ動作が実行される。
【０１１９】
ステップＳＴ２５において、シーケンサ２５は、ステップＳＴ２１と同様に、中位データの入力が完了したか否かを判定する。シーケンサ２５は、中位データの入力が完了していないと判定した場合（ステップＳＴ２５；ｎｏ）、ステップＳＴ２６に進み、完了したと判定した場合、（ステップＳＴ２５；ｙｅｓ）、第１書込み動作を終了させる。
【０１２０】
ステップＳＴ２６において、シーケンサ２５は、書込み動作を一時停止させた後、ステップＳＴ２５に戻る。つまり、シーケンサ２５は、中位データの入力が完了するまで、一時停止の状態を継続する。
【０１２１】
以上で、第１書込み動作が終了する。
【０１２２】
次に、第２書込み動作について、図１３を用いて説明する。
【０１２３】
図１３に示すように、ステップＳＴ３１において、シーケンサ２５は、書込み動作が一時停止中であるか否かを判定する。シーケンサ２５は、書込み動作が一時停止中でないと判定した場合（ステップＳＴ３１；ｎｏ）、ステップＳＴ３３に進み、一時停止中であると判定した場合（ステップＳＴ３１；ｙｅｓ）、ステップＳＴ３２に進む。
【０１２４】
ステップＳＴ３２において、シーケンサ２５は、ベリファイ動作を実行させて、書込み動作を再開させる。なお、ステップＳＴ３２におけるベリファイ動作は、第２書込み動作として実行されるため、“Ａ”レベルを対象としたベリファイ動作に加えて、“Ｂ”レベルを対象としたベリファイ動作を含み得る。
【０１２５】
ステップＳＴ３３において、シーケンサ２５は、上位データの入力が完了したか否かを判定する。シーケンサ２５は、上位データの入力が完了していないと判定した場合（ステップＳＴ３３；ｎｏ）、ステップＳＴ３４に進み、完了したと判定した場合、（ステップＳＴ３３；ｙｅｓ）、第２書込み動作を終了させる。
【０１２６】
ステップＳＴ３４において、シーケンサ２５は、プログラム動作を実行させる。
【０１２７】
ステップＳＴ３５において、シーケンサ２５は、書込み動作がフェーズＣに進んだか否かを判定する。シーケンサ２５は、書込み動作がフェーズＣに進んでいない、つまり書込み動作のループ数がフェーズＢであると判定した場合（ステップＳＴ３５；ｎｏ）、ステップＳＴ３６に進み、フェーズＣに進んだと判定した場合、（ステップＳＴ３５；ｙｅｓ）、ステップＳＴ３７に進む。
【０１２８】
ステップＳＴ３６において、シーケンサ２５は、ベリファイ動作を実行させた後、ステップＳＴ３３に戻る。そして、上位データの入力が完了するまで、プログラム動作及びベリファイ動作が繰り返し実行される。なお、ステップＳＴ３６におけるベリファイ動作は、第２書込み動作として実行されるため、“Ａ”レベルを対象としたベリファイ動作に加えて、“Ｂ”レベルを対象としたベリファイ動作を含む。
【０１２９】
ステップＳＴ３７において、シーケンサ２５は、ステップＳＴ３３と同様に、上位データの入力が完了したか否かを判定する。シーケンサ２５は、上位データの入力が完了していないと判定した場合（ステップＳＴ３７；ｎｏ）、ステップＳＴ３８に進み、完了したと判定した場合、（ステップＳＴ３７；ｙｅｓ）、第２書込み動作を終了させる。
【０１３０】
ステップＳＴ３８において、シーケンサ２５は、書込み動作を一時停止させた後、ステップＳＴ３７に戻る。つまり、シーケンサ２５は、上位データの入力が完了するまで、一時停止の状態を継続する。
【０１３１】
以上で、第２書込み動作が終了する。
【０１３２】
なお、第２書込み動作は、スキップされてもよい。具体的には、図１３に示されるステップＳＴ３３において、シーケンサ２５は、上位データの入力が完了していないと判定した場合（ステップＳＴ３３；ｎｏ）、ステップＳＴ３８に進んでもよい（ステップＳＴ３３からステップＳＴ３８に向かう矢印は図示せず）。
【０１３３】
このように動作させた場合、下位データの入力が完了した後、上位データの入力が完了するまでの間では、下位データのみに基づく書込み動作のみが実行される。このような動作は、例えば、入力されるデータが少ない場合や、データが高速に入力される場合に適用され得る。
【０１３４】
次に、第３書込み動作について、図１４を用いて説明する。
【０１３５】
図１４に示すように、ステップＳＴ４１において、シーケンサ２５は、書込み動作が一時停止中であるか否かを判定する。シーケンサ２５は、書込み動作が一時停止中でないと判定した場合（ステップＳＴ４１；ｎｏ）、ステップＳＴ４３に進み、一時停止中であると判定した場合（ステップＳＴ４１；ｙｅｓ）、ステップＳＴ４２に進む。
【０１３６】
ステップＳＴ４２において、シーケンサ２５は、ベリファイ動作を実行させて、書込み動作を再開させる。なお、ステップＳＴ４２におけるベリファイ動作は、第３書込み動作として実行されるため、“Ａ”レベルを対象としたベリファイ動作、及び“Ｂ”レベルを対象としたベリファイ動作に加えて、“Ｃ”レベルを対象としたベリファイ動作を含み得る。
【０１３７】
ステップＳＴ４３において、シーケンサ２５は、ベリファイ動作の結果、ベリファイ動作がパスしたか否かを判定する。具体的には、シーケンサ２５は、或る割合のメモリセルトランジスタＭＴの閾値電の上昇が十分ではない場合（ステップＳＴ４３；ｎｏ）、いまだデータの書込みが完了していない（ベリファイ動作にフェイルした）と判定し、ステップＳＴ４４に進む。ステップＳＴ４４において、シーケンサ２５は、プログラム動作を実行させる。そして、シーケンサ２５は、ステップＳＴ４５において、ベリファイ動作を実行させた後、再びステップＳＴ４３に進む。一方、シーケンサ２５は、或る割合のメモリセルトランジスタＭＴの閾値電圧が十分に上昇した場合（ステップＳＴ４３；ｙｅｓ）、所望のデータが書込まれた（ベリファイ動作にパスした）と判定し、書込み動作を終了させる。
【０１３８】
以上により、第３書込み動作が終了し、書込み動作が終了する。
【０１３９】
１．２．３  一時停止を含まない場合の書込み動作について
次に、第１実施形態に係る半導体記憶装置の書込み動作について、一時停止を含まない場合の動作の詳細について説明する。
【０１４０】
１．２．３．１  第１書込み動作から第２書込み動作への移行について
まず、第１書込み動作から第２書込み動作へ書込み動作が移行する際の動作の例について図１５を用いて説明する。図１５は、第１実施形態に係る半導体記憶装置の一時停止を含まない場合の書込み動作の詳細を示すタイミングチャートである。なお、図１５は、図１２において示された第１書込み動作におけるステップＳＴ２２〜ＳＴ２４に対応する。
【０１４１】
図１５に示すように、時刻Ｔｌｏｗ＿ｆが経過すると、選択ワード線ＷＬには、書込み動作が開始されると共に、以下に示す各種電圧が一例として印加される。
【０１４２】
プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭが印加され、選択メモリセルトランジスタＭＴの電荷蓄積層４５へ電子が注入される。電圧ＶＰＡＳＳは、電子を注入される選択メモリセルトランジスタＭＴを含むＮＡＮＤストリングＮＳでは、非選択メモリセルトランジスタＭＴへのプログラムを制御しつつ、電子を注入されない選択メモリセルトランジスタＭＴを含むＮＡＮＤストリングＮＳでは、選択メモリセルトランジスタＭＴでの閾値上昇を抑制できる程度にカップリングによりチャネルを上昇させることができる大きさを有する。電圧ＶＰＧＭは、電荷をメモリセルトランジスタＭＴの電荷蓄積層４５に注入するための電圧であり、電圧ＶＰＡＳＳより大きい。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加される。続いて、選択ワード線ＷＬには電圧ＶＳＳが印加され、プログラム動作が終了する。なお、電圧ＶＰＧＭは、ループ数が大きくなるにつれて、徐々にステップアップされる。
【０１４３】
ベリファイ動作においては、選択ワード線ＷＬには、ベリファイ電圧が印加される。ベリファイ電圧は、図１０に示したように、フェーズに応じて異なるレベルを対象とした電圧が印加される。具体的には、フェーズＡでは、１回のループにおいて電圧ＶＡのみが印加され、フェーズＢでは、１回のループにおいて電圧ＶＡが印加された後、更に電圧ＶＢが印加される。その後、選択ワード線ＷＬには電圧ＶＳＳが印加されて、ベリファイ動作が終了する。
【０１４４】
図１５の例では、時間は、フェーズＡに分類された２回目のループのベリファイ動作が実行されている間に、時刻Ｔｍｉｄ＿ｆを経過している。つまり、中位データの入力は、第１書込み動作において実行可能な動作が実行されている間に完了している。このように、第１書込み動作において実行可能な動作が実行されている間に中位データの入力が完了した場合、シーケンサ２５は、第１書込み動作を一時停止させることなく、第２書込み動作に移行させることができる。
【０１４５】
１．２．３．２  第２書込み動作から第３書込み動作への移行について
次に、第２書込み動作から第３書込み動作へ書込み動作が移行する際の動作の例について図１６を用いて説明する。図１６は、第１実施形態に係る半導体記憶装置の一時停止を含まない場合の書込み動作の詳細を示すタイミングチャートである。なお、図１６は、図１３において示された第２書込み動作におけるステップＳＴ３４〜ＳＴ３６に対応する。
【０１４６】
図１６に示すように、時刻Ｔｍｉｄ＿ｆが経過し、書込み動作がフェーズＢになると、選択ワード線ＷＬには、以下に示す各種電圧が一例として印加される。
【０１４７】
プログラム動作は、図１５に示された場合と同様に動作する。
【０１４８】
ベリファイ動作においては、選択ワード線ＷＬには、フェーズＢでは、１回のループにおいて電圧ＶＡが印加された後、更に電圧ＶＢが印加される。フェーズＣでは、選択ワード線ＷＬには、１回のループにおいて電圧ＶＡ及び電圧ＶＢが印加された後、更に電圧ＶＣが印加される。その後、選択ワード線ＷＬには電圧ＶＳＳが印加されて、ベリファイ動作が終了する。
【０１４９】
図１６の例では、時間は、フェーズＢに分類された４回目のループのベリファイ動作が実行されている間に、時刻Ｔｕｐ＿ｆを経過している。つまり、上位データの入力は、第２書込み動作において実行可能な動作が実行されている間に完了している。このように、第２書込み動作において実行可能な動作が実行されている間に上位データの入力が完了した場合、シーケンサ２５は、第２書込み動作を一時停止させることなく、第３書込み動作に移行させることができる。
【０１５０】
１．２．４  一時停止を含む場合の書込み動作について
次に、第１実施形態に係る半導体記憶装置の書込み動作について、一時停止を含む場合の動作の詳細について説明する。
【０１５１】
１．２．４．１  第１書込み動作から第２書込み動作への移行について
まず、第１書込み動作から第２書込み動作へ書込み動作が移行する際の動作の例について図１７を用いて説明する。図１７は、第１実施形態に係る半導体記憶装置の一時停止を含む場合の書込み動作の詳細を示すタイミングチャートである。なお、図１７は、図１２において示された第１書込み動作におけるステップＳＴ２２〜ＳＴ２６に対応する。
【０１５２】
図１７の例では、時間は、フェーズＢに分類された３回目のループのプログラム動作が終了した後に、時刻Ｔｍｉｄ＿ｆを経過している。つまり、中位データの入力は、第１書込み動作において実行可能な動作が終了した後に完了している。
【０１５３】
一方、シーケンサ２５は、中位データの入力が完了するまでは、第１書込み動作を第２書込み動作に移行させることができない。このため、シーケンサ２５は、第１書込み動作において実行可能な動作が完了した後、中位データの入力が完了するまでの間、書込み動作を一時停止させる（図１７では、Waitと表記されている。）。図１７の例では、シーケンサ２５は、３回目のループのプログラム動作が終了した後、中位データの入力が完了するまでの間、第１書込み動作を一時停止させる。そして、シーケンサ２５は、中位データの入力が完了した後速やかに、３回目のループのベリファイ動作から、第２書込み動作を実行させる。
【０１５４】
１．２．４．２  第２書込み動作から第３書込み動作への移行について
次に、第２書込み動作から第３書込み動作へ書込み動作が移行する際の動作の例について図１８を用いて説明する。図１８は、第１実施形態に係る半導体記憶装置の一時停止を含む場合の書込み動作の詳細を示すタイミングチャートである。なお、図１８は、図１３において示された第２書込み動作におけるステップＳＴ３４〜ＳＴ３８に対応する。
【０１５５】
図１８の例では、時間は、フェーズＣに分類された４回目のループのプログラム動作が終了した後に、時刻Ｔｕｐ＿ｆを経過している。つまり、上位データの入力は、第２書込み動作において実行可能な動作が終了した後に完了している。
【０１５６】
一方、シーケンサ２５は、上位データの入力が完了するまでは、第２書込み動作を第３書込み動作に移行させることができない。このため、シーケンサ２５は、第２書込み動作において実行可能な動作が完了した後、上位データの入力が完了するまでの間、書込み動作を一時停止させる（図１８では、Waitと表記されている。）。図１８の例では、シーケンサ２５は、４回目のループのプログラム動作が終了した後、上位データの入力が完了するまでの間、第２書込み動作を一時停止させる。そして、シーケンサ２５は、上位データの入力が完了した後速やかに、５回目のループのベリファイ動作から、第３書込み動作を実行させる。
【０１５７】
１．２．５  ラッチ回路の動作について
次に、第１実施形態に係る半導体記憶装置の書込み動作におけるラッチ回路の動作について説明する。図１９〜図２３は、第１実施形態に係る半導体記憶装置の書込み動作におけるラッチ回路の動作を説明するためのテーブルである。図１９〜図２３では、目標の閾値レベルが“Ｅｒ”レベル〜“Ｇ”レベルであるメモリセルトランジスタＭＴに接続されたラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬに入力されたデータが示される。また、図２０、図２１、図２２、及び図２３はそれぞれ、図１９、図２０、図２１、及び図２２からの変化が示される。
【０１５８】
なお、以下の説明では、一例として、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬにはそれぞれ、下位データ、中位データ、及び上位データが入力されるものとする。また、以下の説明では、必要に応じて、或る目標閾値レベルとして“Ｘ”レベル（Ｘは、Ｅｒ又はＡ〜Ｇ）が書込まれるべきメモリセルトランジスタＭＴに接続されたラッチ回路Ｙ（Ｙは、ＳＤＬ、ＡＤＬ、ＢＤＬ、又はＣＤＬ）を、Ｙｘ（ｘは、Ｘの小文字）と表記する。例えば、目標閾値レベルが“Ｅｒ”レベルのメモリセルトランジスタＭＴに接続されたラッチ回路ＡＤＬは、ラッチ回路ＡＤＬｅｒと表記し、目標閾値レベルが“Ｅ”レベルのメモリセルトランジスタＭＴに接続されたラッチ回路ＣＤＬは、ラッチ回路ＣＤＬｅと表記する。
【０１５９】
図１９は、下位データの入力が完了し、第１書込み動作が開始した直後の状態の一例が示される。下位データの入力が完了すると、第１書込み動作が開始される。なお、第１書込み動作の際には、ラッチ回路ＢＤＬ及びＣＤＬには、有意なデータは入力されていない。特に、ラッチ回路ＢＤＬには、中位データが入力されている途中であるが、全てのデータの入力が完了していない。このため、ラッチ回路ＢＤＬ及びＣＤＬは、第１書込み動作には寄与しない（図１９では、ＮＡ（Not activated）と表記されている）。
【０１６０】
なお、書込み動作では、メモリセルトランジスタＭＴへの書込みが実行されるか否かは、例えば、ラッチ回路ＳＤＬのデータに応じて判定される。具体的には、シーケンサ２５は、ラッチ回路ＳＤＬのデータが“１”の場合、当該ラッチ回路ＳＤＬに接続されたメモリセルトランジスタＭＴへのデータの書込みが実行される。一方、ラッチ回路ＳＤＬのデータが“０”の場合、当該ラッチ回路ＳＤＬに接続されたメモリセルトランジスタＭＴへのデータの書込みは実行されない。
【０１６１】
上述の通り、下位データのみでは、“Ｅ”レベル〜“Ｇ”レベルは、“Ｅｒ”レベルと区別できない。このため、第１書込み動作では、目標閾値レベルが“Ｅｒ”レベル及び“Ｅ”レベル〜“Ｇ”レベルのメモリセルトランジスタＭＴには、見かけの目標閾値レベルとして“Ｅｒ”レベルが設定される。これに伴い、ラッチ回路ＳＤＬｅｒ、ＳＤＬｅ、ＳＤＬｆ、及びＳＤＬｇには、“１”が入力される。
【０１６２】
また、上述の通り、“Ｂ”レベル〜“Ｄ”レベルは、“Ａ”レベルと区別できない。このため、第１書込み動作では、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴには、見かけの目標閾値レベルとして“Ａ”レベルが設定される。これに伴い、ラッチ回路ＳＤＬａ、ＳＤＬｂ、ＳＤＬｃ、及びＳＤＬｄには、“０”が入力される。これにより、第１書込み動作では、目標閾値レベルが“Ａ”〜“Ｄ”レベルのメモリセルトランジスタＭＴに対して、プログラム動作及び“Ａ”レベルを対象としたベリファイ動作が実行される。
【０１６３】
なお、第１書込み動作におけるこのようなラッチ回路ＳＤＬへの入力は、例えば、ラッチ回路ＡＤＬに入力されたデータをラッチ回路ＳＤＬへ転送することによって実現される。
【０１６４】
図２０は、一例として、目標閾値レベルが“Ｂ”レベル及び“Ｄ”レベルのメモリセルトランジスタＭＴについて、“Ａ”レベルを対象としたベリファイ動作がパスした場合の状態が示される。図２０に示すように、目標閾値レベルが“Ｂ”レベル及び“Ｄ”レベルのメモリセルトランジスタＭＴは、見かけの目標閾値レベルが“Ａ”レベルに設定されているため、書込みが完了したと判定される。これに伴い、ラッチ回路ＳＤＬｂ及びＳＤＬｄが“０”から“１”に更新される。なお、見かけの目標閾値レベルが“Ａ”レベルのその他のラッチ回路ＳＤＬａ及びＳＤＬｃには、引き続き“０”が保持される。
【０１６５】
図２１は、中位データの入力が完了した後、第２書込み動作の動作が開始した状態の一例が示される。なお、第２書込み動作の際には、ラッチ回路ＣＤＬには、上位データが入力されている途中であるが、全てのデータの入力が完了していない。このため、ラッチ回路ＣＤＬは、第２書込み動作には寄与しない（図２１では、ＮＡと表記されている）。
【０１６６】
上述の通り、下位データ及び中位データのみでは、“Ｅ”レベルは、“Ｅｒ”レベルと区別できない。このため、第２書込み動作では、目標閾値レベルが“Ｅ”レベルのメモリセルトランジスタＭＴには、見かけの目標閾値レベルとして、引き続き“Ｅｒ”レベルが設定される。これに伴い、ラッチ回路ＳＤＬｅには、引き続き“１”が保持される。
【０１６７】
一方、中位データが入力されたことにより、“Ｆ”レベル及び“Ｇ”レベルは、“Ｅｒ”レベルと区別される。このため、ラッチ回路ＳＤＬｆ及びＳＤＬｇは、“１”から“０”に更新される。なお、下位データ及び中位データのみでは、“Ｇ”レベルは、“Ｆ”レベルと区別できない。このため、第２書込み動作では、目標閾値レベルが“Ｇ”レベルのメモリセルトランジスタＭＴには、見かけの目標閾値レベルとして、“Ｆ”レベルが設定される。
【０１６８】
また、上述の通り、下位データ及び中位データのみでは、“Ｄ”レベルは、“Ａ”レベルと区別できない。このため、第２書込み動作では、目標閾値レベルが“Ｄ”レベルのメモリセルトランジスタＭＴには、見かけの目標閾値レベルとして、引き続き“Ａ”レベルが設定される。図２１の例では、目標閾値レベルが“Ｄ”レベルのメモリセルトランジスタＭＴは、“Ａ”レベルを対象としたベリファイ動作にパスしているため、ラッチ回路ＳＤＬｄには、引き続き“１”が保持される。また、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴは、“Ａ”レベルを対象としたベリファイ動作にまだパスしていないため、ラッチ回路ＳＤＬａには、引き続き“０”が保持される。
【０１６９】
一方、中位データが入力されたことにより、“Ｂ”レベル及び“Ｃ”レベルは、“Ａ”レベルと区別される。このため、ラッチ回路ＳＤＬｂは、“１”から“０”に更新され、ラッチ回路ＳＤＬｃは、引き続き“０”が保持される。なお、下位データ及び中位データのみでは、“Ｃ”レベルは、“Ｂ”レベルと区別できない。このため、第２書込み動作では、目標閾値レベルが“Ｃ”レベルのメモリセルトランジスタには、見かけの目標閾値レベルとして、“Ｂ”レベルが設定される。
【０１７０】
これにより、第２書込み動作では、目標閾値レベルが“Ａ”レベル及び“Ｄ”レベルのメモリセルトランジスタＭＴに対して、プログラム動作及び“Ａ”レベルを対象としたベリファイ動作が実行される。また、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対して、プログラム動作及び“Ｂ”レベルを対象としたベリファイ動作が実行される。また、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対して、プログラム動作が実行される。
【０１７１】
図２２は、一例として、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴについて、“Ａ”レベルを対象としたベリファイ動作がパスし、目標閾値レベルが“Ｃ”レベルのメモリセルトランジスタＭＴについて、“Ｂ”レベルを対象としたベリファイ動作がパスした場合の状態が示される。
【０１７２】
図２２に示すように、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴは、書込みが完了したと判定される。これに伴い、ラッチ回路ＳＤＬａが“０”から“１”に更新される。また、目標閾値レベルが“Ｃ”レベルのメモリセルトランジスタＭＴは、見かけの目標閾値レベルが“Ｂ”レベルに設定されているため、書込みが完了したと判定される。これに伴い、ラッチ回路ＳＤＬｃが“０”から“１”に更新される。
【０１７３】
なお、目標閾値レベルが“Ｂ”レベルのラッチ回路ＳＤＬｂ、並びに見かけの目標閾値レベルが“Ｆ”レベルのラッチ回路ＳＤＬｆ及びＳＤＬｇには、引き続き“０”が保持される。
【０１７４】
図２３は、上位データの入力が完了した後、第３書込み動作の動作が開始した状態の一例が示される。図２３では、下位データ、中位データ、及び上位データの全てのデータの入力が完了したため、全てのメモリセルトランジスタＭＴには、目標閾値レベルが設定される。
【０１７５】
上述の通り、全てのデータが入力されたため、“Ｄ”レベルは、“Ａ”レベルと区別でき、“Ｅ”レベルは、“Ｅｒ”レベルと区別できる。これに伴い、ラッチ回路ＳＤＬｄ及びＳＤＬｅは、“１”から“０”に更新される。
【０１７６】
また、上述の通り、全てのデータが入力されたため、“Ｃ”レベルは、“Ｂ”レベルと区別される。このため、ラッチ回路ＳＤＬｃは、“１”から“０”に更新され、ラッチ回路ＳＤＬｂは、引き続き“０”が保持される。
【０１７７】
なお、以降の書込み動作では、シーケンサ２５は、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬの論理積が、最終的な書込みが完了した場合に“１”になり、完了していない場合に“０”になるように制御する。つまり、或る目標閾値レベルのメモリセルトランジスタＭＴに対する書込みが完了した場合、当該メモリセルトランジスタＭＴの見かけの目標閾値レベルが“Ｅｒ”レベルとなるように、ラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬの値を更新する。図２３の例では、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴは、“Ａ”レベルを対象としたベリファイ動作にパスしているため、最終的な書込みが完了している。これに伴い、ラッチ回路ＡＤＬａは、“０”から“１”に更新される。そして、ラッチ回路ＳＤＬａには、ラッチ回路ＡＤＬａ、ＢＤＬａ、及びＣＤＬａの論理積として“１”が入力される。
【０１７８】
以降の書込み動作についても、上述の動作と同様にラッチ回路の値を更新し、最終的にすべてのメモリセルトランジスタＭＴに対する書込み動作が終了する。
【０１７９】
１．３  本実施形態に係る効果
１つのメモリセルトランジスタに複数ビットのデータを保持するよう構成された半導体記憶装置が知られている。複数ビットのデータを保持し得るメモリセルトランジスタにデータを書込む場合、当該メモリセルトランジスタに書込まれるべきデータは、複数回に分けて、外部のコントローラから半導体記憶装置に入力される。メモリセルトランジスタに書込まれるべきデータは、全てのデータが入力されるまで、一意に特定されない。このため、一般に、全てのデータが入力されるまで、書込み動作は開始されない。
【０１８０】
第１実施形態によれば、シーケンサ２５は、コマンドセット“０１ｈ”、“８０ｈ”、及び“１６ｈ”を受信すると、ラッチ回路ＡＤＬに下位データを入力させる。そして、シーケンサ２５は、下位データの入力が完了した後、中位データの入力が完了する前に、下位データに基づく第１書込み動作を実行させるようにしている。これにより、中位データ及び上位データの入力が完了する前に、書込み動作の一部を先行して実行することができる。
【０１８１】
具体的には、第１書込み動作では、シーケンサ２５は、書込み対象のメモリセルトランジスタＭＴを、下位データのみに基づく１ビットのデータが書込まれるものとみなす。つまり、第１書込み動作では、シーケンサ２５は、目標閾値レベルが“Ｅｒ”レベル、及び“Ｅ”レベル〜“Ｇ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ｅｒ”レベルと区別できない“Ｅ”レベル〜“Ｇ”レベルのメモリセルトランジスタＭＴに対しては、書込みを実行しない。“Ｅ”レベル〜“Ｇ”レベルは、“Ｅｒ”レベルより高いため、目標閾値レベルが“Ｅｒ”レベルであるか“Ｅ”〜“Ｇ”レベルであるかが確定する前に、メモリセルトランジスタＭＴの閾値電圧を上げることはできないからである。また、第１書込み動作では、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ａ”〜“Ｄ”レベルのメモリセルトランジスタＭＴに対しては、少なくとも最も低い“Ａ”レベルを対象とするベリファイ動作にパスするまでは、書込みを実行することができる。“Ｂ”レベル〜“Ｄ”レベルは、“Ａ”レベルより高いため、目標閾値レベルが“Ａ”レベルであるか“Ｂ”レベル〜“Ｄ”レベルであるかが確定する前であっても、いずれのメモリセルトランジスタＭＴも“Ａ”レベル以上まで閾値電圧を上げる必要があることは分かっているからである。このように、シーケンサ２５は、中位データの入力が完了するまでに、書込み動作の一部を実行することができ、ひいては、全体の書込み動作に要する時間を短縮することができる。
【０１８２】
なお、第１書込み動作では、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴと“Ｂ”レベルのメモリセルトランジスタＭＴとを区別することができない。このため、“Ｂ”レベルを対象とするベリファイ動作を実行することができない。第１実施形態によれば、中位データが完了するまでに“Ａ”レベルを対象とするベリファイ動作を実行し得る全てのメモリセルトランジスタＭＴがパスした場合、シーケンサ２５は、第１書込み動作を一時停止させるようにしている。これにより、本来“Ａ”レベルが書込まれるべきメモリセルトランジスタＭＴに対して“Ｂ”レベル以上のデータが書込まれることを抑制することができる。
【０１８３】
また、シーケンサ２５は、コマンドセット“０２ｈ”、“８０ｈ”、及び“１６ｈ”を受信すると、ラッチ回路ＢＤＬに中位データを入力させる。そして、シーケンサ２５は、中位データの入力が完了した後、上位データの入力が完了する前に、下位データ及び中位データに基づく第２書込み動作を実行させるようにしている。これにより、上位データの入力が完了する前に、書込み動作の一部を更に先行して実行することができる。
【０１８４】
具体的には、第２書込み動作では、シーケンサ２５は、書込み対象のメモリセルトランジスタＭＴを、下位データ及び中位データのみに基づく２ビットのデータが書込まれるものとみなす。つまり、第２書込み動作では、シーケンサ２５は、目標閾値レベルが“Ｅｒ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ｅｒ”レベルと区別できない“Ｅ”レベルのメモリセルトランジスタＭＴに対しては、書込みを実行しない。また、目標閾値レベルが“Ａ”レベル及び“Ｄ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ｄ”レベルのメモリセルトランジスタＭＴに対しては、少なくとも“Ａ”レベルを対象とするベリファイ動作にパスするまでは、書込みを実行することができる。また、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対しては、少なくとも“Ｂ”レベルを対象とするベリファイ動作にパスするまでは、書込みを実行することができる。また、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴを区別しない。これにより、シーケンサ２５は、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対しては、少なくとも“Ｆ”レベルを対象とするベリファイ動作にパスするまでは、書込みを実行することができる。このように、シーケンサ２５は、中位データの入力が完了した後、上位データの入力が完了するまでに、第１書込み動作に加えて、更に書込み動作の一部を実行することができ、ひいては、全体の書込み動作に要する時間を短縮することができる。
【０１８５】
なお、第２書込み動作では、目標閾値レベルが“Ｂ”レベル又は“Ｃ”レベルのメモリセルトランジスタＭＴに対して、“Ｃ”レベルを対象とするベリファイ動作を実行することができない。このため、上位データが完了するまでに、目標閾値レベルが“Ｂ”レベル又は“Ｃ”レベルのメモリセルトランジスタＭＴに対して、“Ｂ”レベルを対象とするベリファイ動作がパスした場合、シーケンサ２５は、第２書込み動作を一時停止させるようにしている。これにより、本来“Ｂ”レベルが書込まれるべきメモリセルトランジスタＭＴに対して“Ｃ”レベル以上のデータが書込まれることを抑制することができる。
【０１８６】
２．第２実施形態
次に、第２実施形態に係る半導体記憶装置について説明する。第２実施形態では、意図しないレベルまで閾値電圧が上昇してしまうことを避けつつ、一部のデータの入力が完了した時点で少なくとも閾値電圧を上昇させる必要があると判明するレベルまで、メモリセルトランジスタの閾値電圧を上昇させるものである。具体的には、第１書込み動作として、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴに対して、“Ｂ”レベルまで書込まれない程度に閾値電圧を上昇させる書込み動作を行う。また、第２書込み動作として、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対して、“Ｃ”レベルまで書込まれない程度に閾値電圧を上昇させる書込み動作を行うと共に、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対して、“Ｇ”レベルまで書込まれない程度に閾値電圧を上昇させる書込み動作を行う。そして、第３書込み動作として、通常の書込み動作を行う前に、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴに対して、“Ｅ”レベルまで書込まれない程度に閾値電圧を上昇させる書込み動作を行う。これにより、以下では、第１実施形態と同様の構成要素には同一の符号を付してその説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０１８７】
２．１  書込み動作について
第２実施形態に係る半導体記憶装置の書込み動作について説明する。
【０１８８】
２．１．１  書込み動作の概要について
第２実施形態に係る書込み動作の概要について簡単に説明する。
【０１８９】
図２４〜図２６は、第２実施形態に係る半導体記憶装置の書込み動作を説明するためのフローチャートである。図２４は、書込み動作のうち第１書込み動作が示される。図２５は、書込み動作のうち第２書込み動作が示される。図２６は、書込み動作のうち第３書込み動作が示される。図２４〜図２６は、第１実施形態において示された図１１における書込み動作の全体動作に含まれ、それぞれ図１２〜図１４に対応する。
【０１９０】
まず、第１書込み動作について、図２４を用いて説明する。
【０１９１】
図２４に示すように、ステップＳＴ２１ａにおいて、シーケンサ２５は、“Ａ”レベル用プログラム動作を実行させる。“Ａ”レベル用プログラム動作は、メモリセルトランジスタＭＴの閾値電圧を電圧ＶＡに近づくように上昇させるプログラム動作である。“Ａ”レベル用プログラム動作は、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴに対して実行される。
【０１９２】
ステップＳＴ２２ａにおいて、シーケンサ２５は、中位データの入力が完了したか否かを判定する。シーケンサ２５は、中位データの入力が完了していないと判定した場合（ステップＳＴ２２ａ；ｎｏ）、ステップＳＴ５２に戻り、完了したと判定した場合、（ステップＳＴ２２ａ；ｙｅｓ）、第１書込み動作を終了させる。
【０１９３】
次に、第２書込み動作について、図２５を用いて説明する。
【０１９４】
図２５に示すように、ステップＳＴ３１ａにおいて、シーケンサ２５は、“Ｆ”レベル用プログラム動作を実行させる。“Ｆ”レベル用プログラム動作は、メモリセルトランジスタＭＴの閾値電圧を電圧ＶＦに近づくように上昇させるプログラム動作である。“Ｆ”レベル用プログラム動作は、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対して実行される。
【０１９５】
ステップＳＴ３２ａにおいて、シーケンサ２５は、“Ｂ”レベル用プログラム動作を実行させる。“Ｂ”レベル用プログラム動作は、メモリセルトランジスタＭＴの閾値電圧を電圧ＶＢに近づくように上昇させるプログラム動作である。“Ｂ”レベル用プログラム動作は、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対して実行される。
【０１９６】
ステップＳＴ３３ａにおいて、シーケンサ２５は、上位データの入力が完了したか否かを判定する。シーケンサ２５は、上位データの入力が完了していないと判定した場合（ステップＳＴ３３ａ；ｎｏ）、ステップＳＴ６３に戻り、完了したと判定した場合、（ステップＳＴ３３ａ；ｙｅｓ）、第２書込み動作を終了させる。
【０１９７】
なお、図２５の例では、“Ｆ”レベル用プログラム動作は、“Ｂ”レベル用プログラム動作よりも先に実行されているが、任意の順番で実行可能である。例えば、“Ｆ”レベル用プログラム動作は、“Ｂ”レベル用プログラム動作よりも後に実行されてもよい。
【０１９８】
次に、第３書込み動作について、図２６を用いて説明する。
【０１９９】
図２６に示すように、ステップＳＴ４１ａにおいて、シーケンサ２５は、“Ｄ”レベル用プログラム動作を実行させる。“Ｄ”レベル用プログラム動作は、メモリセルトランジスタＭＴの閾値電圧を電圧ＶＤに近づくように上昇させるプログラム動作である。“Ｄ”レベル用プログラム動作は、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴに対して実行される。
【０２００】
ステップＳＴ４２ａにおいて、シーケンサ２５は、プログラム動作を実行させる。
【０２０１】
ステップＳＴ４３ａにおいて、シーケンサ２５は、ベリファイ動作を実行させる。
【０２０２】
ステップＳＴ４４ａにおいて、シーケンサ２５は、ベリファイ動作の結果、ベリファイ動作がパスしたか否かを判定する。具体的には、シーケンサ２５は、或る割合のメモリセルトランジスタＭＴの閾値電の上昇が十分ではない場合（ステップＳＴ４４ａ；ｎｏ）、ベリファイ動作にフェイルしたと判定し、ステップＳＴ４２ａに進む。一方、シーケンサ２５は、或る割合のメモリセルトランジスタＭＴの閾値電圧が十分に上昇した場合（ステップＳＴ４４ａ；ｙｅｓ）、ベリファイ動作にパスしたと判定し、第３書込み動作を終了させる。
【０２０３】
以上により、書込み動作が終了する。
【０２０４】
２．１．２  タイミングチャートについて
次に、第２実施形態に係る半導体記憶装置の書込み動作におけるタイミングチャートについて、図２７を用いて説明する。図２７は、第２実施形態に係る半導体記憶装置の書込み動作を示すタイミングチャートである。
【０２０５】
まず、第１書込み動作におけるタイミングチャートについて説明する。図２７に示すように、時刻Ｔｌｏｗ＿ｆが経過すると、選択ワード線ＷＬには、第１書込み動作が開始され、以下に示す各種電圧が一例として印加される。
【０２０６】
“Ａ”レベル用プログラム動作は、選択ワード線ＷＬに印加された書込み電圧ＶＰＧＭＡによって、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴの閾値電圧を上昇させる。具体的には、“Ａ”レベル用プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭＡが印加され、選択メモリセルトランジスタＭＴの電荷蓄積層４５へ電子が注入される。電圧ＶＰＧＭＡは、電荷をメモリセルトランジスタＭＴの電荷蓄積層４５に注入するための電圧であり、電圧ＶＰＡＳＳより大きい。また、電圧ＶＰＧＭＡは、書込み対象のメモリセルトランジスタＭＴの閾値電圧を、電圧ＶＡに近づける大きさを有する。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加される。続いて、選択ワード線ＷＬには電圧ＶＳＳが印加され、“Ａ”レベル用プログラム動作が終了する。
【０２０７】
また、第１書込み動作は、ベリファイ動作を含んでもよいし、含まなくてもよい。
【０２０８】
次に、第２書込み動作におけるタイミングチャートについて、引き続き図２７を用いて説明する。時刻Ｔｍｉｄ＿ｆが経過すると、選択ワード線ＷＬには、第２書込み動作が開始され、以下に示す各種電圧が一例として印加される。
【０２０９】
“Ｆ”レベル用プログラム動作は、選択ワード線ＷＬに印加された書込み電圧によって、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴの閾値電圧を上昇させる。具体的には、“Ｆ”レベル用プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭＦが印加され、選択メモリセルトランジスタＭＴの電荷蓄積層４５へ電子が注入される。電圧ＶＰＧＭＦは、電荷をメモリセルトランジスタＭＴの電荷蓄積層４５に注入するための電圧であり、電圧ＶＰＡＳＳより大きい。また、電圧ＶＰＧＭＦは、書込み対象のメモリセルトランジスタＭＴの閾値電圧を、電圧ＶＦに近づける大きさを有する。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加される。続いて、選択ワード線ＷＬには電圧ＶＳＳが印加され、“Ｆ”レベル用プログラム動作が終了する。
【０２１０】
“Ｂ”レベル用プログラム動作は、選択ワード線ＷＬに印加された書込み電圧によって、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴの閾値電圧を上昇させる。具体的には、“Ｂ”レベル用プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭＢが印加され、選択メモリセルトランジスタＭＴの電荷蓄積層４５へ電子が注入される。電圧ＶＰＧＭＢは、電荷をメモリセルトランジスタＭＴの電荷蓄積層４５に注入するための電圧であり、電圧ＶＰＡＳＳより大きい。また、電圧ＶＰＧＭＢは、書込み対象のメモリセルトランジスタＭＴの閾値電圧を、電圧ＶＢに近づける大きさを有する。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加される。続いて、選択ワード線ＷＬには電圧ＶＳＳが印加され、“Ｂ”レベル用プログラム動作が終了する。
【０２１１】
また、第２書込み動作は、ベリファイ動作を含んでもよいし、含まなくてもよい。
【０２１２】
次に、第３書込み動作におけるタイミングチャートについて、引き続き図２７を用いて説明する。時刻Ｔｕｐ＿ｆが経過すると、選択ワード線ＷＬには、第３書込み動作が開始され、以下に示す各種電圧が一例として印加される。
【０２１３】
“Ｄ”レベル用プログラム動作は、選択ワード線ＷＬに印加された書込み電圧によって、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴの閾値電圧を上昇させる。具体的には、“Ｄ”レベル用プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭＤが印加され、選択メモリセルトランジスタＭＴの電荷蓄積層４５へ電子が注入される。電圧ＶＰＧＭＤは、電荷をメモリセルトランジスタＭＴの電荷蓄積層４５に注入するための電圧であり、電圧ＶＰＡＳＳより大きい。また、電圧ＶＰＧＭＤは、書込み対象のメモリセルトランジスタＭＴの閾値電圧を、電圧ＶＤに近づける大きさを有する。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加される。続いて、選択ワード線ＷＬには電圧ＶＳＳが印加され、“Ｄ”レベル用プログラム動作が終了する。
【０２１４】
また、第３書込み動作は、通常書込み動作が開始されるまでに、ベリファイ動作を含んでもよいし、含まなくてもよい。
【０２１５】
“Ｄ”レベル用プログラム動作が実行された後、通常書込み動作が実行される。通常書込み動作は、各ループにおけるプログラム動作及びベリファイ動作を確定した目標閾値レベルに到達するまで行うことを含む。プログラム動作では、書込み電圧として電圧ＶＰＧＭが印加される。電圧ＶＰＧＭは、例えば、電圧ＶＰＧＭＡから予め定められた値だけステップアップされた値が適用される。ベリファイ動作は、“Ａ”レベルを対象としたベリファイ動作から開始される。
【０２１６】
図２７の例では、電圧ＶＰＧＭＡ、ＶＰＧＭＢ、ＶＰＧＭＤ、及びＶＰＧＭＦは、１回のみ印加されている。この場合、電圧ＶＰＧＭＡ、ＶＰＧＭＢ、ＶＰＧＭＤ、及びＶＰＧＭＦの大小関係は、「ＶＰＧＭＡ＜ＶＰＧＭＢ＜ＶＰＧＭＤ＜ＶＰＧＭＦ」のようになる。
【０２１７】
なお、電圧ＶＰＧＭＡ、ＶＰＧＭＢ、ＶＰＧＭＤ、及びＶＰＧＭＦは、１回のみの印加に限らず、数回印加されることによってその目的を達してもよい。具体的には、電圧ＶＧＰＭＡ、ＶＰＧＭＢ、ＶＰＧＭＤ、及びＶＰＧＭＦは、例えば、数回印加されることによって、書込み対象のメモリセルトランジスタＭＴの閾値電圧を、それぞれ電圧ＶＡ、ＶＢ、ＶＤ、及びＶＦに近づけてもよい。この場合、電圧ＶＰＧＭＡ、ＶＰＧＭＢ、ＶＰＧＭＤ、及びＶＰＧＭＦの大小関係は、「ＶＰＧＭＡ＜ＶＰＧＭＢ＜ＶＰＧＭＤ＜ＶＰＧＭＦ」に限られず、任意の大小関係を取り得る。
【０２１８】
２．１．３  ラッチ回路の動作について
次に、第１実施形態に係る半導体記憶装置の書込み動作におけるラッチ回路の動作について説明する。図２８〜図３０は、第２実施形態に係る半導体記憶装置の書込み動作におけるラッチ回路の動作を説明するためのテーブルである。図２８〜図３０では、目標の閾値レベルが“Ｅｒ”レベル〜“Ｇ”レベルであるメモリセルトランジスタＭＴに接続されたラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬに入力されたデータが示される。
【０２１９】
まず、第１書込み動作におけるラッチ回路の動作について説明する。図２８は、下位データの入力が完了し、第１書込み動作における“Ａ”レベル用プログラム動作が開始した直後の状態の一例が示される。
【０２２０】
図２８に示すように、下位データは、例えば、ラッチ回路ＡＤＬに入力される。そして、下位データの入力が完了すると、“Ａ”レベル用プログラム動作が開始される。なお、“Ａ”レベル用プログラム動作の際には、ラッチ回路ＢＤＬ及びＣＤＬには、有意なデータは入力されていない。特に、ラッチ回路ＢＤＬには、中位データが入力されている途中であるが、全てのデータの入力が完了していない。このため、ラッチ回路ＢＤＬ及びＣＤＬは、“Ａ”レベル用プログラム動作には寄与しない（図２８では、ＮＡと表記されている）。
【０２２１】
上述の通り、“Ａ”レベル用プログラム動作では、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベル、すなわち見かけの目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴに対して、実行される。したがって、ラッチ回路ＳＤＬａ、ＳＤＬｂ、ＳＤＬｃ、及びＳＤＬｄには、プログラム動作が実行されることを示す“０”が入力され、ラッチ回路ＳＤＬｅｒ、ＳＤＬｅ、ＳＤＬｆ、及びＳＤＬｇには、プログラム動作が実行されないことを示す“１”が入力される。
【０２２２】
なお、“Ａ”レベル用プログラム動作におけるこのようなラッチ回路ＳＤＬへの入力は、例えば、ラッチ回路ＡＤＬに入力されたデータをラッチ回路ＳＤＬへ転送することによって実現される。
【０２２３】
次に、第２書込み動作におけるラッチ回路の動作について説明する。図２９は、中位データの入力が完了し、第２書込み動作における“Ｆ”レベル用プログラム動作又は“Ｂ”レベル用プログラム動作が開始した直後の状態の一例が示される。
【０２２４】
図２９に示すように、中位データは、例えば、ラッチ回路ＢＤＬに入力される。なお、第２書込み動作の際には、ラッチ回路ＣＤＬには、上位データが入力されている途中であるが、全てのデータの入力が完了していない。このため、ラッチ回路ＣＤＬは、第２書込み動作には寄与しない（図２９では、ＮＡと表記されている）。
【０２２５】
上述の通り、“Ｆ”レベル用プログラム動作では、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベル、すなわち見かけの目標閾値レベルが“Ｆ”レベルのメモリセルトランジスタＭＴに対して、実行される。したがって、ラッチ回路ＳＤＬｆ及びＳＤＬｇには、“０”が入力され、ラッチ回路ＳＤＬｅｒ〜ＳＤＬｅには“１”が入力される。
【０２２６】
なお、“Ｆ”レベル用プログラム動作におけるこのようなラッチ回路ＳＤＬへの入力は、例えば、ラッチ回路ＡＤＬに入力されたデータの反転データと、ラッチ回路ＢＤＬに入力されたデータとの論理和をラッチ回路ＳＤＬへ転送することによって実現される。
【０２２７】
また、上述の通り、“Ｂ”レベル用プログラム動作では、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベル、すなわち見かけの目標閾値レベルが“Ｂ”レベルのメモリセルトランジスタＭＴに対して、実行される。したがって、ラッチ回路ＳＤＬｂ及びＳＤＬｃには、“０”が入力され、ラッチ回路ＳＤＬｅｒ、ＳＤＬａ、及びＳＤＬｄ〜ｇには、“１”が入力される。
【０２２８】
なお、“Ｂ”レベル用プログラム動作におけるこのようなラッチ回路ＳＤＬへの入力は、例えば、ラッチ回路ＡＤＬに入力されたデータと、ラッチ回路ＢＤＬに入力されたデータとの論理和をラッチ回路ＳＤＬへ転送することによって実現される。
【０２２９】
次に、第３書込み動作におけるラッチ回路の動作について説明する。図３０は、上位データの入力が完了し、第３書込み動作における“Ｄ”レベル用プログラム動作が開始した直後の状態の一例が示される。
【０２３０】
図３０に示すように、上位データは、例えば、ラッチ回路ＣＤＬに入力される。
【０２３１】
上述の通り、“Ｄ”レベル用プログラム動作では、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴに対して、実行される。したがって、ラッチ回路ＳＤＬｄ及びＳＤＬｅには“０”が入力され、ラッチ回路ＳＤＬｅｒ〜ＳＤＬｃ、ＳＤＬｆ、及びＳＤＬｇには“１”が入力される。
【０２３２】
なお、“Ｄ”レベル用プログラム動作におけるこのようなラッチ回路ＳＤＬへの入力は、例えば、ラッチ回路ＢＤＬに入力されたデータの反転データと、ラッチ回路ＣＤＬに入力されたデータとの論理和をラッチ回路ＳＤＬへ転送することによって実現される。
【０２３３】
２．２  本実施形態に係る効果
書込み動作に要する時間は、短縮されることが望ましい。このため、メモリセルトランジスタの閾値電圧を上昇させる動作は、より少ないループ数で実行されることが望ましい。一方、少ないループ数で閾値電圧を上昇させる場合、意図しない範囲まで閾値電圧が上昇してしまう可能性がある。一旦上昇した閾値電圧を書込み動作中に元に戻すことは困難であるため、意図しない範囲まで閾値電圧が上昇することを避けつつ、より少ないループ数で書込み動作を実行することが望ましい。
【０２３４】
第２実施形態によれば、第１書込み動作において、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴに対して、書込み電圧として電圧ＶＰＧＭＡが印加される。第１書込み動作の開始の時点では、中位データ及び上位データが未入力のため、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのいずれであるかは未確定である。しかしながら、目標閾値レベルが少なくとも“Ａ”レベル以上であることは分かっているので、このことが利用されて、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴに対して、電圧ＶＰＧＭＡが印加される。これにより、中位データの入力が完了する前に、“Ａ”レベルまでしか書込む必要のないメモリセルトランジスタＭＴが“Ｂ”レベルまで閾値電圧が上昇することを避けつつ、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴの閾値電圧を“Ａ”レベルに近づけることができる。このため、全てのデータの入力が完了した後、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴへの通常の書込み動作の際に、より少ないループ数で書込みを行うことができる。
【０２３５】
また、第２書込み動作において、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対して、書込み電圧として電圧ＶＰＧＭＦが印加される。第２書込み動作の開始の時点では、上位データが未入力のため、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのいずれであるかは未確定である。しかしながら、目標閾値レベルが少なくとも“Ｆ”レベル以上であることは分かっているので、このことが利用されて、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴに対して、電圧ＶＰＧＭＦが印加される。これにより、上位データの入力が完了する前に、“Ｆ”レベルまでしか書込む必要のないメモリセルトランジスタＭＴが“Ｇ”レベルまで閾値電圧が上昇することを避けつつ、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴの閾値電圧を“Ｆ”レベルに近づけることができる。このため、全てのデータの入力が完了した後、目標閾値レベルが“Ｆ”レベル及び“Ｇ”レベルのメモリセルトランジスタＭＴへの通常の書込み動作の際に、より少ないループ数で書込みを行うことができる。
【０２３６】
また、第２書込み動作において、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対して、書込み電圧として電圧ＶＰＧＭＢが印加される。第２書込み動作の開始の時点では、上位データが未入力のため、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのいずれであるかは未確定である。しかしながら、目標閾値レベルが少なくとも“Ｂ”レベル以上であることは分かっているので、このことが利用されて、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴに対して、電圧ＶＰＧＭＢが印加される。これにより、上位データの入力が完了する前に、“Ｂ”レベルまでしか書込む必要のないメモリセルトランジスタＭＴが“Ｃ”レベルまで閾値電圧が上昇することを避けつつ、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴの閾値電圧を“Ｂ”レベルに近づけることができる。このため、全てのデータの入力が完了した後、目標閾値レベルが“Ｂ”レベル及び“Ｃ”レベルのメモリセルトランジスタＭＴへの通常の書込み動作の際に、より少ないループ数で書込みを行うことができる。
【０２３７】
また、第３書込み動作において、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴに対して、書込み電圧として電圧ＶＰＧＭＤが印加される。第３書込み動作の開始の時点では、全てのデータの入力が完了しているため、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのいずれかであるメモリセルトランジスタＭＴが確定する。このことが利用されて、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴに対して、電圧ＶＰＧＭＤが印加される。これにより、全てのデータの入力が完了した後、通常の書込み動作を開始する前に、“Ｄ”レベルまでしか書込む必要のないメモリセルトランジスタＭＴが“Ｅ”レベルまで閾値電圧が上昇することを避けつつ、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴの閾値電圧を“Ｄ”レベルに近づけることができる。このため、目標閾値レベルが“Ｄ”レベル及び“Ｅ”レベルのメモリセルトランジスタＭＴへの通常の書込み動作の際に、より少ないループ数で書込みを行うことができる。
【０２３８】
３、第３実施形態
次に、第３実施形態に係る半導体記憶装置について説明する。第３実施形態では、第１書込み動作として、最初のループにおいて、サーチ動作を含むベリファイ動作を行う。そして、当該サーチ動作の結果に基づいて、以後のループにおける書込み電圧が決定されるものである。以下では、第１実施形態と同様の構成要素には同一の符号を付してその説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０２３９】
３．１  書込み動作について
第３実施形態に係る半導体記憶装置の書込み動作について説明する。
【０２４０】
３．１．１  書込み動作の概要について
第３実施形態に係る書込み動作の概要について簡単に説明する。
【０２４１】
図３１は、第３実施形態に係る半導体記憶装置の書込み動作を説明するためのフローチャートである。図３１は、書込み動作のうち第１書込み動作が示される。図３１は、第１実施形態において示された図１１における書込み動作の全体動作に含まれ、図１２に対応する。
【０２４２】
図３１に示すように、ステップＳＴ２１ｂにおいて、シーケンサ２５は、プログラム動作を実行させる。
【０２４３】
ステップＳＴ２２ｂにおいて、シーケンサ２５は、サーチ動作を含むベリファイ動作を実行させる。
【０２４４】
ステップＳＴ２３ｂにおいて、シーケンサ２５は、サーチ動作の結果に基づき、次のループ以降のプログラム動作に適用される書込み電圧を決定する。
【０２４５】
ステップＳＴ２４ｂ〜ステップＳＴ２９ｂは、第１実施形態において示された図１２のステップＳＴ２１〜ステップＳＴ２６と同様の動作であるため、その説明を省略する。
【０２４６】
以上により、第１書込み動作が終了する。
【０２４７】
図３２は、第３実施形態に係る半導体記憶装置の第１書込み動作を説明するための模式図である。図３２は、第１書込み動作で実行されるサーチ動作における閾値電圧の様子が模式的に示される。
【０２４８】
図３２に示すように、サーチ動作は、或るループにおけるプログラム動作と、当該或るループの次のループにおけるプログラム動作の間で実行される。或るループにおけるプログラム動作後、書込み対象の複数のメモリセルトランジスタＭＴの閾値電圧の分布は、例えば、分布Ｄ１のように分布する。分布Ｄ１では、例えば、閾値電圧が上昇しやすいメモリセルトランジスタＭＴの閾値電圧は、プログラム動作によって電圧ＶＡを超えている。図３２では、シーケンサ２５は、次ループにおけるプログラム動作によって、分布Ｄ１が電圧ＶＡよりも高い閾値電圧まで上昇させる計画であるものとする。サーチ動作では、このような場合において、分布Ｄ１の上裾を検出する。
【０２４９】
具体的には例えば、サーチ動作では、ベリファイ動作における電圧ＶＡと同様に、電圧Ｖｓ１、Ｖｓ２、及びＶｓ３が選択ワード線ＷＬに印加される。これにより、全てのメモリセルトランジスタＭＴにおいてメモリセルトランジスタＭＴがオン状態となるような電圧（図３２の例では、電圧Ｖｓ３）が、閾値電圧の分布の上裾（右端）として検出される。
【０２５０】
サーチ動作によって閾値電圧の分布の上裾が検出された後、シーケンサ２５は、当該検出された上裾の値に基づき、次ループのプログラム動作において印加される書込み電圧の値を決定する。具体的には、例えば、シーケンサ２５は、次ループにおける所望の上裾位置を予め保持する。
【０２５１】
なお、次ループのプログラム動作によって閾値電圧の分布の上裾位置が電圧ＶＢを超えてしまった場合、本来“Ａ”レベルが書込まれるべきメモリセルトランジスタＭＴの一部が“Ｂ”レベルまで書込まれてしまうことを意味する。このため、当該所望の上裾位置は、例えば、電圧ＶＢを超えない程度に設定されることが望ましい。また、次ループのプログラム動作によって閾値電圧の分布の上裾位置が十分に電圧ＶＢに近づいていない場合、分布の下裾（左端）を含む分布全体の閾値電圧の上昇量が低い可能性がある。このような場合、分布の下裾位置が電圧ＶＡを超えていない可能性があり、ひいては、“Ａ”レベルを対象としたベリファイ動作がパスしない可能性がある。このため、当該所望の上裾位置は、例えば、十分に電圧ＶＢに近づく値が設定されることが望ましい。
【０２５２】
シーケンサ２５は、当該所望の上裾位置と現在の上裾位置との差の値に基づき、次ループに印加される書込み電圧を決定する。これにより、次ループのプログラム動作後におけるメモリセルトランジスタＭＴの閾値電圧の分布Ｄ２は、上裾が電圧ＶＢを超えない程度に、十分に電圧ＶＢに近づくように上昇し得る。このため、シーケンサ２５は、分布Ｄ２の上裾が電圧ＶＢを超えない程度において、分布Ｄ２の下裾（左端）が電圧ＶＡを超える確率を高めることができる。
【０２５３】
３．１．２  タイミングチャートについて
次に、第３実施形態に係る半導体記憶装置の書込み動作におけるタイミングチャートについて、図３３を用いて説明する。図３３は、第３実施形態に係る半導体記憶装置の書込み動作を示すタイミングチャートである。図３３では、第１書込み動作におけるタイミングチャートが示される。
【０２５４】
図３３に示すように、時刻Ｔｌｏｗ＿ｆが経過すると、選択ワード線ＷＬには、第１書込み動作が開始され、以下に示す各種電圧が一例として印加される。
【０２５５】
１回目のループでは、プログラム動作、及びサーチ動作を含むベリファイ動作が実行される。プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭが印加される。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加された後、電圧ＶＳＳが印加され、プログラム動作が終了する。
【０２５６】
サーチ動作を含むベリファイ動作においては、選択ワード線ＷＬには、電圧ＶＡが印加される。続いて、選択ワード線ＷＬには、電圧Ｖｓ１、Ｖｓ２、及びＶｓ３がサーチ電圧として順次印加される。これにより、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴの閾値電圧の分布の上裾が検出される。その後、選択ワード線ＷＬには電圧ＶＳＳが印加されて、サーチ動作を含むベリファイ動作が終了する。電圧Ｖｓ１、Ｖｓ２、及びＶｓ３は、例えば、電圧ＶＡより大きく、電圧ＶＢより小さい値を有する。
【０２５７】
２回目のループでは、プログラム動作、及び“Ａ”レベルを対象としたベリファイ動作が実行される。プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭ＿ｆｂが印加される。電圧ＶＰＧＭ＿ｆｂは、１回目のループにおいて実行されたサーチ動作の結果がフィードバックされる。つまり、電圧ＶＰＧＭ＿ｆｂは、目標閾値レベルが“Ａ”レベル〜“Ｄ”レベルのメモリセルトランジスタＭＴの閾値電圧の分布の上裾が電圧ＶＢを超えない程度に、電圧ＶＢに十分近づき得る値を有する。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加された後、電圧ＶＳＳが印加され、プログラム動作が終了する。
【０２５８】
３回目以降のループでは、フェーズＢに移行し、プログラム動作と、“Ａ”レベルを対象としたベリファイ動作及び“Ｂ”レベルを対象としたベリファイ動作と、が繰り返し実行される。プログラム動作においては、選択ワード線ＷＬには、電圧ＶＰＡＳＳが印加された後に電圧ＶＰＧＭ＿ｆｂが印加される。その後、選択ワード線ＷＬには電圧ＶＰＡＳＳが印加された後、電圧ＶＳＳが印加され、プログラム動作が終了する。なお、電圧ＶＰＧＭ＿ｆｂは、ループ数が大きくなるにつれて、徐々にステップアップされる。
【０２５９】
なお、図３３の例では、時間は、２回目のループにおけるプログラム動作の際に、時刻Ｔｍｉｄ＿ｆを経過している。つまり、中位データの入力は、第１書込み動作において実行可能な動作が実行されている間に完了している。このように、第１書込み動作において実行可能な動作が実行されている間に中位データの入力が完了した場合、シーケンサ２５は、第１書込み動作を一時停止させることなく、第２書込み動作に移行させることができる。
【０２６０】
３．２  本実施形態に係る効果
半導体記憶装置に設けられる複数のメモリセルトランジスタは、各々が同等の性能を有するように設計、生成される。しかしながら、複数のメモリセルトランジスタは、製造誤差等によって、その性能にばらつきが生じ得る。性能は、例えば、或る書込み電圧が印加された場合の閾値電圧の上昇量を含む。つまり、同一の書込み電圧が印加された場合であっても、複数のメモリセルトランジスタの各々は、異なる閾値電圧まで上昇し得る。このため、これらのばらつきに起因して、書込み動作において意図したレベル以上に閾値電圧が上昇してしまうメモリセルトランジスタが発生しないように、書込み電圧の値が低く設定される。
【０２６１】
第３実施形態によれば、第１書込み動作において、サーチ動作を実行する。具体的には、中位データの入力が完了するまでに、プログラム動作によって上昇した閾値電圧の分布の上裾を検出するようにしている。これにより、シーケンサ２５は、閾値電圧が上昇しやすいメモリセルトランジスタＭＴの閾値電圧が、当該プログラム動作において印加された書込み電圧によって、どの程度まで上昇したかを検出することができる。つまり、シーケンサ２５は、当該書込み電圧によって上昇する閾値電圧の最大値を検出することができる。
【０２６２】
また、シーケンサ２５は、当該検出された閾値電圧の分布の上裾の値に基づき、次のプログラム動作において当該分布の閾値電圧がどの程度まで上昇することが望ましいか、を決定する。具体的には、目標閾値レベルが“Ａ”レベルのメモリセルトランジスタＭＴが“Ｂ”レベルまで書込まれてしまうことを避けるため、次ループのプログラム動作後の閾値電圧の分布の上裾は、電圧ＶＢを超えない程度に設定されることが望ましい。また、次ループのプログラム動作によって目標閾値レベルが“Ａ”レベル以上のメモリセルトランジスタＭＴが、次ループの“Ａ”レベルを対象としたベリファイ動作にパスするように、次ループのプログラム動作後の閾値電圧の分布の上裾は、電圧ＶＢに十分近づくように設定されることが望ましい。シーケンサ２５は、上述のような条件を満たすために最適な位置まで分布の上裾における閾値電圧が上昇するように、次ループのプログラム動作において印加される書込み電圧の値を決定するようにしている。これにより、閾値電圧の上昇量の実際のばらつきを考慮しつつ、最適な書込み電圧を適用することができる。
【０２６３】
４．変形例等
実施形態は、上述の第１実施形態〜第３実施形態で述べた形態に限らず、種々の変形が可能である。上述の第１実施形態〜第３実施形態に係る半導体記憶装置では、第１書込み動作、第２書込み動作、及び第３書込み動作に実行に際して特殊なコマンドセットを用いる場合について説明したが、これに限られない。例えば、半導体記憶装置は、事前にセットフィーチャコマンドを受信することにより、通常の書込みコマンドを受信した際に第１書込み動作、第２書込み動作、及び第３書込み動作を含む書込み動作を実行してもよい。以下の説明では、第１実施形態と同様の構成要素には同一の符号を付してその説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０２６４】
図３４は、変形例に係る半導体記憶装置の書込み動作のセットフィーチャ動作を示すコマンドシーケンスの一例である。
【０２６５】
図３４に示すように、コントローラ１０は、コマンド“ＥＦｈ”を発行し、半導体記憶装置２０に送信する。コマンド“ＥＦｈ”は、例えば、半導体記憶装置２０に対して、セットフィーチャの実行を命令するコマンドである。セットフィーチャは、例えば、半導体記憶装置２０の各種動作を規定するパラメタを変更する動作である。続いて、コントローラ１０は、コマンド“ＺＺｈ”を発行し、半導体記憶装置２０に送信する。コマンド“ＺＺｈ”は、半導体記憶装置２０の書込み動作を、第１書込み動作、第２書込み動作、及び第３書込み動作を含むものとするか否かの設定を命令するためのコマンドである。
【０２６６】
コントローラ１０は、例えば４サイクルにわたってデータＢ０〜Ｂ３を発行し、半導体記憶装置２０に送信する。このデータＢ０〜Ｂ３は、例えば、書込み動作が第１書込み動作、第２書込み動作、及び第３書込み動作を含むものとするか否かを設定するものである。続いて、ロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをコントローラ１０に知らせる。半導体記憶装置２０がビジー状態である期間ｔＦＥＡＴは、セットフィーチャ動作が行われている期間を示している。期間ｔＦＥＡＴにおいて書込み動作に第１書込み動作、第２書込み動作、及び第３書込み動作が含まれるか否かの設定が更新される。
【０２６７】
その後、第１実施形態と同様に第１書込み動作、第２書込み動作、及び第３書込み動作を含む書込み動作が実行される。以上の動作により、半導体記憶装置２０が中位データを入力している間において、下位データに基づく書込み動作が実行される。また、半導体記憶装置２０が上位データを入力している間において、下位データ及び中位データに基づく書込み動作が実行される。また、全てのデータの入力が完了した後、全てのデータに基づく書込み動作が実行される。
【０２６８】
図３５は、変形例に係る半導体記憶装置のセットフィーチャ動作において第１書込み動作、第２書込み動作、及び第３書込み動作の有無を設定するデータの一例を示すテーブルである。図３５に示すように、データＢ０〜Ｂ３は、例えば各々が８ビットのデータであり、書込み動作が先行入力データのみで書込み動作を開始するか否かを設定する書込み動作設定情報を含む。つまり、データＢ０のうち最下位ビットには、書込み動作設定情報が保持される。書込み動作設定情報は、例えば、全データ入力後に書込みを開始する場合“０”となり、先行入力データのみで書込みを開始する場合“１”となる。
【０２６９】
なお、図３５の例では、データＢ０の１ビット目から７ビット目、及びデータＢ１〜Ｂ３が未使用とされているが、これらのビットに他の情報が含まれていてもよい。
【０２７０】
このように、セットフィーチャコマンドを受信し、全データの入力が完了する前に書込み動作を開始するか否かを事前に設定するようにしている。これにより、通常の書込みコマンドを受信した場合においても先行入力データのみで書込み動作を開始することができる。このため、通常の書込み動作とコマンドシーケンスを変更することなく、全データの入力が完了する前に書込み動作を開始することができる。したがって、コントローラ１０側の負担を軽減することができる。
【０２７１】
その他、各実施形態において、以下の事項が適用されることが可能である。
【０２７２】
多値レベルの読み出し動作（リード）において、Ａレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば０Ｖ〜０．５５Ｖの間である。これに限定されることなく、０．１Ｖ〜０．２４Ｖ、０．２１Ｖ〜０．３１Ｖ、０．３１Ｖ〜０．４Ｖ、０．４Ｖ〜０．５Ｖ、及び０．５Ｖ〜０．５５Ｖのいずれかの間にしてもよい。
【０２７３】
Ｂレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば１．５Ｖ〜２．３Ｖの間である。これに限定されることなく、１．７５Ｖ〜１．８Ｖ、１．８Ｖ〜１．９５Ｖ、１．９５Ｖ〜２．１Ｖ、及び２．１Ｖ〜２．３Ｖのいずれかの間にしてもよい。
【０２７４】
Ｃレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば３．０Ｖ〜４．０Ｖの間である。これに限定されることなく、３．０Ｖ〜３．２Ｖ、３．２Ｖ〜３．４Ｖ、３．４Ｖ〜３．５Ｖ、３．５Ｖ〜３．７Ｖ、及び３．７Ｖ〜４．０Ｖのいずれかの間にしてもよい。
【０２７５】
読み出し動作の時間（ｔＲ）としては、例えば２５μｓ〜３８μｓ、３８μｓ〜７０μｓ、及び７０μｓ〜８０μｓのいずれかの間にしてもよい。
【０２７６】
書き込み動作は、プログラム動作及びベリファイ動作を含む。書き込み動作では、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば１３．７Ｖ〜１４．３Ｖの間である。これに限定されることなく、例えば１３．７Ｖ〜１４．０Ｖ、及び１４．０Ｖ〜１４．７Ｖのいずれかの間としてもよい。
【０２７７】
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧とを変えてもよい。
【０２７８】
プログラム動作をＩＳＰＰ（Incremental Step Pulse Program）方式としたとき、ステップアップの電圧として、例えば０．５Ｖ程度が挙げられる。
【０２７９】
非選択のワード線に印加される電圧としては、例えば７．０Ｖ〜７．３Ｖの間としてもよい。この場合に限定されることなく、例えば７．３Ｖ〜８．４Ｖの間としてもよく、７．０Ｖ以下としてもよい。
【０２８０】
非選択のワード線が奇数番目のワード線であるか、又は偶数番目のワード線であるかによって印加するパス電圧を変えてもよい。
【０２８１】
書き込み動作の時間（tProg）としては、例えば１７００μｓ〜１８００μｓ、１８００μｓ〜１９００μｓ、及び１９００μｓ〜２０００μｓのいずれかの間にしてもよい。
【０２８２】
消去動作では、半導体基板上部に形成され、かつ、メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば１２Ｖ〜１３．７Ｖの間である。この場合に限定されることなく、例えば１３．７Ｖ〜１４．８Ｖ、１４．８Ｖ〜１９．０Ｖ, １９．０〜１９．８Ｖ、及び１９．８Ｖ〜２１Ｖのいずれかの間であってもよい。
【０２８３】
消去動作の時間（tErase）としては、例えば３０００μｓ〜４０００μｓ、４０００μｓ〜５０００μｓ、及び４０００μｓ〜９０００μｓのいずれかの間にしてもよい。
【０２８４】
メモリセルは、半導体基板（シリコン基板）上に膜厚が４〜１０ｎｍのトンネル絶縁膜を介して配置された電荷蓄積層を有する。この電荷蓄積層は、膜厚が２〜３ｎｍのＳｉＮ、又はＳｉＯＮなどの絶縁膜と膜厚が３〜８ｎｍのポリシリコンとの積層構造であってもよい。また、ポリシリコンにはＲｕなどの金属が添加されていてもよい。電荷蓄積層上には、絶縁膜が形成される。この絶縁膜は、例えば、膜厚が３〜１０ｎｍの下層Ｈｉｇｈ−ｋ膜と膜厚が３〜１０ｎｍの上層Ｈｉｇｈ−ｋ膜とに挟まれた膜厚が４〜１０ｎｍのシリコン酸化膜を有する。Ｈｉｇｈ−ｋ膜としては、ＨｆＯなどが挙げられる。また、シリコン酸化膜の膜厚は、Ｈｉｇｈ−ｋ膜の膜厚よりも厚くしてもよい。絶縁膜上には膜厚が３〜１０ｎｍの仕事関数調整用の材料を介して膜厚が３０ｎｍ〜７０ｎｍの制御電極が形成される。ここで、仕事関数調整用の材料は、ＴａＯなどの金属酸化膜、又はＴａＮなどの金属窒化膜である。制御電極としては、Ｗなどを用いてもよい。
【０２８５】
また、メモリセル間にはエアギャップを形成することができる。
【０２８６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０２８７】
１…メモリシステム、１０…コントローラ、１１…プロセッサ、１２…内蔵メモリ、１３…ＮＡＮＤインタフェース回路、１４…バッファメモリ、１５…ホストインタフェース回路、２０…半導体記憶装置、２１…メモリセルアレイ、２２…入出力回路、２３…ロジック制御回路、２４…レジスタ、２５…シーケンサ、２６…電圧生成回路、２７…ロウデコーダ、２８…センスアンプモジュール、３０…半導体基板、３１〜３３、３８、４２、４４…配線層、３４…ブロック絶縁膜、３５…電荷蓄積層、３６…トンネル酸化膜、３７…半導体ピラー、３９…ｎ＋型不純物拡散領域、４０…ｐ＋型不純物拡散領域、４１、４３…コンタクトプラグ、５０〜５３…低耐圧ｎチャネルＭＯＳトランジスタ、５４〜５７…低耐圧ｐチャネルＭＯＳトランジスタ。
【図１】
2018041523.tif 000003
【図２】
2018041523.tif 000004
【図３】
2018041523.tif 000005
【図４】
2018041523.tif 000006
【図５】
2018041523.tif 000007
【図６】
2018041523.tif 000008
【図７】
2018041523.tif 000009
【図８】
2018041523.tif 000010
【図９】
2018041523.tif 000011
【図１０】
2018041523.tif 000012
【図１１】
2018041523.tif 000013
【図１２】
2018041523.tif 000014
【図１３】
2018041523.tif 000015
【図１４】
2018041523.tif 000016
【図１５】
2018041523.tif 000017
【図１６】
2018041523.tif 000018
【図１７】
2018041523.tif 000019
【図１８】
2018041523.tif 000020
【図１９】
2018041523.tif 000021
【図２０】
2018041523.tif 000022
【図２１】
2018041523.tif 000023
【図２２】
2018041523.tif 000024
【図２３】
2018041523.tif 000025
【図２４】
2018041523.tif 000026
【図２５】
2018041523.tif 000027
【図２６】
2018041523.tif 000028
【図２７】
2018041523.tif 000029
【図２８】
2018041523.tif 000030
【図２９】
2018041523.tif 000031
【図３０】
2018041523.tif 000032
【図３１】
2018041523.tif 000033
【図３２】
2018041523.tif 000034
【図３３】
2018041523.tif 000035
【図３４】
2018041523.tif 000036
【図３５】
2018041523.tif 000037