(57)【要約】【課題】信頼性を向上できる。【解決手段】実施形態によれば、半導体記憶装置は、第１メモリセルＭＴを含む第１メモリストリングＳＲと、ビット線ＢＬと、ラッチ回路ＡＤＬを含むセンスアンプ２０と、第１メモリセルＭＴの書き込み動作中に書き込み動作を中断して第１メモリセルの読み出し動作を実行可能な制御回路１５とを含む。第１メモリセルＭＴの書き込み動作を中断して実行される第１メモリセルＭＴの読み出し動作において、センスアンプ２０は、第１メモリセルＭＴの書き込みが終了している場合、第１メモリセルＭＴから読み出したデータを読み出しデータＲＤとして出力し、第１メモリセルＭＴの書き込みが終了していない場合、ラッチ回路ＡＤＬが保持する書き込みデータＷＤを読み出しデータＲＤとして出力する。【選択図】  図１４
2019029045.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリセル及び前記第１メモリセルに接続された第１選択トランジスタを含む第１メモリストリングと、
第２メモリセル及び前記第２メモリセルに接続された第２選択トランジスタを含む第２メモリストリングと、
前記第１及び第２メモリセルのゲートに接続されたワード線と、
前記第１選択トランジスタのゲートに接続された第１選択ゲート線と、
前記第２選択トランジスタのゲートに接続された第２選択ゲート線と、
前記第１及び第２選択トランジスタに接続されたビット線と、
前記ワード線、前記第１選択ゲート線、及び前記第２選択ゲート線に接続されたロウデコーダと、
前記ビット線に接続され、書き込みデータを保持可能なラッチ回路を含むセンスアンプと、
前記第１メモリセルの書き込み動作中に前記第１メモリセルの読み出し命令を受信した場合、前記書き込み動作を中断して前記第１メモリセルの読み出し動作を実行可能な制御回路と
を備え、
前記第１メモリセルの前記書き込み動作を中断して実行される前記第１メモリセルの前記読み出し動作において、前記センスアンプは、前記第１メモリセルへの前記書き込みデータの書き込みが終了している場合、前記第１メモリセルから読み出したデータを読み出しデータとして出力し、前記第１メモリセルへの前記書き込みデータの前記書き込みが終了していない場合、前記ラッチ回路が保持する前記書き込みデータを前記読み出しデータとして出力する半導体記憶装置。
【請求項２】
前記書き込みデータと、前記読み出しデータは同じである
請求項１記載の半導体記憶装置。
【請求項３】
前記書き込み動作は、プログラムとベリファイとを含むプログラムループを繰り返し、
前記プログラム終了後に前記書き込み動作を中断した場合、前記書き込み動作は前記ベリファイから再開され、前記ベリファイ終了後に前記書き込み動作を中断した場合、前記書き込み動作は前記プログラム、または前記ベリファイから再開される請求項１または２記載の半導体記憶装置。
【請求項４】
前記制御回路は、前記書き込み動作中にサスペンドコマンドを受信した場合、前記書き込み動作を中断し、前記書き込み動作を中断している間にレジュームコマンドを受信した場合、前記書き込み動作を再開する請求項１乃至３のいずれか一項記載の半導体記憶装置。
【請求項５】
前記センスアンプは、前記第１メモリセルの前記書き込み動作を中断して前記第２メモリセルの読み出し動作を行う場合、前記第２メモリセルから読み出したデータを前記読み出しデータとして出力する請求項１乃至４のいずれか一項記載の半導体記憶装置。
【請求項６】
前記ロウデコーダは、前記第１メモリセルへの前記書き込み動作において、前記ワード線に書き込み電圧を印加し、前記第１選択ゲート線に前記書き込み電圧よりも低い第１電圧を印加し、前記第２選択ゲート線に前記第１電圧よりも低い第２電圧を印加し、前記第１メモリセルからの前記読み出し動作において、前記ワード線に読み出し電圧を印加し、前記第１選択ゲート線に前記読み出し電圧よりも高い第３電圧を印加し、前記第２選択ゲート線に前記第３電圧よりも低い第４電圧を印加する請求項１乃至５のいずれか一項記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置として、ＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許６，２４９，４６１  Ｂ１号明細書
【特許文献２】米国特許９，０９３，１３２  Ｂ２号明細書
【特許文献３】特開２００３−２３３９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
信頼性を向上できる半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態に係る半導体記憶装置は、第１メモリセル及び第１メモリセルに接続された第１選択トランジスタを含む第１メモリストリングと、第２メモリセル及び第２メモリセルに接続された第２選択トランジスタを含む第２メモリストリングと、第１及び第２メモリセルのゲートに接続されたワード線と、第１選択トランジスタのゲートに接続された第１選択ゲート線と、第２選択トランジスタのゲートに接続された第２選択ゲート線と、第１及び第２選択トランジスタに接続されたビット線と、ワード線、第１選択ゲート線、及び第２選択ゲート線に接続されたロウデコーダと、ビット線に接続され、書き込みデータを保持可能なラッチ回路を含むセンスアンプと、第１メモリセルの書き込み動作中に第１メモリセルの読み出し命令を受信した場合、書き込み動作を中断して第１メモリセルの読み出し動作を実行可能な制御回路と、を含む。第１メモリセルの書き込み動作を中断して実行される第１メモリセルの読み出し動作において、センスアンプは、第１メモリセルへの書き込みデータの書き込みが終了している場合、第１メモリセルから読み出したデータを読み出しデータとして出力し、第１メモリセルへの書き込みデータの書き込みが終了していない場合、ラッチ回路が保持する書き込みデータを読み出しデータとして出力する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係る半導体記憶装置を備えるメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係る半導体記憶装置のブロック図である。
【図３】図３は、第１実施形態に係る半導体記憶装置の備えるメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係る半導体記憶装置の備えるセンスアンプ及びデータレジスタのブロック図である。
【図５】図５は、第１実施形態に係る半導体記憶装置の備えるセンスアンプユニットの回路図である。
【図６】図６は、第１実施形態に係る半導体記憶装置の備えるメモリセルトランジスタの閾値分布図である。
【図７】図７は、第１実施形態に係る半導体記憶装置を備えるメモリシステムにおける読み出し動作のときの各種信号のタイミングチャートである。
【図８】図８は、第１実施形態に係る半導体記憶装置における読み出し動作のときの各種配線及び各種信号のタイミングチャートである。
【図９】図９は、第１実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。
【図１０】図１０は、第１実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図１１】図１１は、第１実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図１２】図１２は、第１実施形態に係る半導体記憶装置を備えるメモリシステムにおける書き込み動作のときの各種信号のタイミングチャートである。
【図１３】図１３は、第１実施形態に係る半導体記憶装置を備えるメモリシステムにおけるフルシーケンスのフローチャートである。
【図１４】図１４は、第１実施形態に係る半導体記憶装置における書き込み動作のときの各種配線のタイミングチャートである。
【図１５】図１５は、第１実施形態に係る半導体記憶装置を備えるメモリシステムにおける同一ページサスペンドリードを含む書き込み動作の例を示すタイミングチャートである。
【図１６】図１６は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図１７】図１７は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図１８】図１８は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図１９】図１９は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図２０】図２０は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図２１】図２１は、第１実施形態に係る半導体記憶装置における書き込み動作において、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの例を示す図である。
【図２２】図２２は、第２実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。
【図２３】図２３は、第２実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図２４】図２４は、第２実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図２５】図２５は、第２実施形態に係る半導体記憶装置を備えるメモリシステムにおける書き込み動作のときの各種信号のタイミングチャートである。
【図２６】図２６は、第２実施形態に係る半導体記憶装置を備えるメモリシステムにおける同一ページサスペンドリードを含む書き込み動作の例を示すタイミングチャートである。
【図２７】図２７は、第４実施形態に係る半導体記憶装置において、第１書き込み動作及び第２書き込み動作のときのメモリセルトランジスタの閾値分布を示す図である。
【図２８】図２８は、第４実施形態に係る半導体記憶装置を備えるメモリシステムの書き込み動作のときのフローチャートである。
【図２９】図２９は、第４実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図３０】図３０は、第４実施形態に係る半導体記憶装置における書き込み動作のときのフローチャートである。
【図３１】図３１は、第４実施形態に係る半導体記憶装置において、第１書き込み動作のときにラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬが保持するデータの例を示す図である。
【図３２】図３２は、第４実施形態に係る半導体記憶装置において、第２書き込み動作のときにラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬが保持するデータの例を示す図である。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
１．第１実施形態
第１実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
本実施形態に係る半導体記憶装置は、データの書き込み動作途中で、外部機器から、例えば読み出し命令があると、書き込み動作を一旦中断(以下、「サスペンド」とも表記する)し、読み出し動作を実行後に、書き込み動作を再開（以下、「レジューム」とも表記する）する機能を有する。また、以下の説明において、「同じデータ」と記載した場合、必ずしも厳密に一致していなくても良く、例えばＥＣＣ技術等により訂正可能な誤差を許容するものである。
【００１０】
１．１  構成について
１．１．１  メモリシステムの全体構成について  
まず、本実施形態に係る半導体記憶装置を備えるメモリシステムの全体構成について、図１を用いて説明する。
【００１１】
図１に示すように、メモリシステム１は、ＮＡＮＤ型フラッシュメモリ１００及びコントローラ２００を備えている。コントローラ２００及びＮＡＮＤ型フラッシュメモリ１００は、例えばそれらの組み合わせにより一つの半導体記憶装置を構成しても良く、その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。
【００１２】
ＮＡＮＤ型フラッシュメモリ１００は、複数のメモリセルトランジスタを備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリ１００は、ＮＡＮＤバスによってコントローラ２００と接続され、コントローラ２００からの命令に基づいて動作する。より具体的には、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００と、例えば８ビットの信号ＤＱ０〜ＤＱ７（以下、ＤＱ０〜ＤＱ７を限定しない場合は、単に信号ＤＱ、または信号ＤＱ［７：０］と表記する）の送受信を行う。信号ＤＱ０〜ＤＱ７には、例えばデータ、アドレス、及びコマンドが含まれる。また、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から、例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを受信する。そして、ＮＡＮＤ型フラッシュメモリ１００はコントローラ２００に、レディ／ビジー信号Ｒ／Ｂｎを送信する。
【００１３】
チップイネーブル信号ＣＥｎは、ＮＡＮＤ型フラッシュメモリ１００をイネーブルにするための信号であり、例えばＬｏｗ（“Ｌ”）レベルでアサートされる。コマンドラッチイネーブル信号ＣＬＥは、信号ＤＱがコマンドであることを示す信号であり、例えばＨｉｇｈ（“Ｈ”）レベルでアサートされる。アドレスラッチイネーブル信号ＡＬＥは、信号ＤＱがアドレスであることを示す信号であり、例えば“Ｈ”レベルでアサートされる。ライトイネーブル信号ＷＥｎは、受信した信号をＮＡＮＤ型フラッシュメモリ１００内へ取り込むための信号であり、コントローラ２００よりコマンド、アドレス、及びデータ等を受信する度に、例えば“Ｌ”レベルでアサートされる。よって、ＷＥｎがトグルされる度に、信号ＤＱがＮＡＮＤ型フラッシュメモリ１００に取り込まれる。リードイネーブル信号ＲＥｎは、コントローラ２００が、ＮＡＮＤ型フラッシュメモリ１００からデータを読み出すための信号である。リードイネーブル信号ＲＥｎは、例えば“Ｌ”レベルでアサートされる。レディ／ビジー信号Ｒ／Ｂｎは、ＮＡＮＤ型フラッシュメモリ１００がビジー状態であるかレディ状態であるか（コントローラ２００からコマンドを受信不可能な状態か可能な状態か）を示す信号であり、例えばＮＡＮＤ型フラッシュメモリ１００がビジー状態の際に“Ｌ”レベルとされる。
【００１４】
コントローラ２００は、ホスト機器２からの命令に応答して、ＮＡＮＤ型フラッシュメモリ１００に対してデータの読み出し、書き込み、消去等を命令する。また、コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００のメモリ空間を管理する。
【００１５】
コントローラ２００は、ホストインターフェイス回路２１０、内蔵メモリ（ＲＡＭ）２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、ＮＡＮＤインターフェイス回路２５０、及びＥＣＣ回路２６０を含む。
【００１６】
ホストインターフェイス回路２１０は、コントローラバスを介してホスト機器２と接続され、ホスト機器２との通信を司る。ホストインターフェイス回路２１０は、プロセッサ２３０及びバッファメモリ２４０に、ホスト機器２から受信した命令及びデータを転送する。また、ホストインターフェイス回路２１０は、プロセッサ２３０の命令に応答して、バッファメモリ２４０内のデータをホスト機器２へ転送する。
【００１７】
ＮＡＮＤインターフェイス回路２５０は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００と接続され、ＮＡＮＤ型フラッシュメモリ１００との通信を司る。ＮＡＮＤインターフェイス回路２５０は、ＮＡＮＤ型フラッシュメモリ１００にプロセッサ２３０から受信した命令を転送する。また、ＮＡＮＤインターフェイス回路２５０は、書き込み時には、ＮＡＮＤ型フラッシュメモリ１００に、バッファメモリ２４０内の書き込みデータを転送する。更に、ＮＡＮＤインターフェイス回路２５０は、読み出し時には、バッファメモリ２４０に、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータを転送する。
【００１８】
プロセッサ２３０は、コントローラ２００全体の動作を制御する。また、プロセッサ２３０は、ホスト機器２の命令に応じて、各種コマンドを発行し、ＮＡＮＤ型フラッシュメモリ１００に送信する。例えば、プロセッサ２３０は、ホスト機器２から書き込み命令を受信した際には、それに応答して、ＮＡＮＤ型フラッシュメモリ１００に書き込み命令を送信する。読み出し及び消去の際も同様である。また、プロセッサ２３０は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１００を管理するための様々な処理を実行する。更に、プロセッサ２３０は、各種の演算を実行する。例えば、プロセッサ２３０は、データの暗号化処理やランダマイズ処理等を実行する。
【００１９】
ＥＣＣ回路２６０は、データの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理を実行する。
【００２０】
内蔵メモリ２２０は、例えばＤＲＡＭ等の半導体メモリであり、プロセッサ２３０の作業領域として使用される。そして内蔵メモリ２２０は、ＮＡＮＤ型フラッシュメモリ１００を管理するためのファームウェアや、各種の管理テーブル等を保持する。
【００２１】
１．１．２  半導体記憶装置の構成について
次に、半導体記憶装置の構成について、図２を用いて説明する。なお、図２では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
【００２２】
図２に示すように、ＮＡＮＤ型フラッシュメモリ１００は、入出力回路１０、ロジック制御回路１１、ステータスレジスタ１２、アドレスレジスタ１３、コマンドレジスタ１４、シーケンサ１５、レディ／ビジー回路１６、電圧発生回路１７、メモリセルアレイ１８、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２を含む。
【００２３】
入出力回路１０は、コントローラ２００との信号ＤＱの入出力を制御する。より具体的には、入出力回路１０は、入力回路と出力回路を備える。入力回路は、コントローラ２００から受信したデータＤＡＴ（書き込みデータＷＤ）を、データレジスタ２１に送信し、アドレスＡＤＤをアドレスレジスタ１３に送信し、コマンドＣＭＤをコマンドレジスタ１４に送信する。出力回路は、ステータスレジスタ１２から受信したステータス情報ＳＴＳ、データレジスタ２１から受信したデータＤＡＴ（読み出しデータＲＤ）、及びアドレスレジスタ１３から受信したアドレスＡＤＤをコントローラ２００に送信する。
【００２４】
ロジック制御回路１１は、コントローラ２００から例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを受信する。そしてロジック制御回路１１は、受信した信号に応じて、入出力回路１０及びシーケンサ１５を制御する。
【００２５】
ステータスレジスタ１２は、例えばデータの書き込み、読み出し、及び消去動作におけるステータス情報ＳＴＳを一時的に保持し、コントローラ２００に動作が正常に終了したか否かを通知する。
【００２６】
アドレスレジスタ１３は、入出力回路１０を介してコントローラ２００から受信したアドレスＡＤＤを一時的に保持する。そしてアドレスレジスタ１３は、ロウアドレスＲＡをロウデコーダ１９へ転送し、カラムアドレスＣＡをカラムデコーダ２２に転送する。
【００２７】
コマンドレジスタ１４は、入出力回路１０を介してコントローラ２００から受信したコマンドＣＭＤを一時的に保存し、シーケンサ１５に転送する。
【００２８】
シーケンサ１５は、ＮＡＮＤ型フラッシュメモリ１００全体の動作を制御する。より具体的には、シーケンサ１５は、コマンドレジスタ１４が保持するコマンドＣＭＤに応じて、例えばステータスレジスタ１２、レディ／ビジー回路１６、電圧発生回路１７、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。また、シーケンサ１５は、レジスタ（不図示）を含む。例えば、レジスタは、書き込み動作をサスペンドしたときのサスペンド情報を保持する。シーケンサ１５は、レジスタが保持するサスペンド情報に基づいて、書き込み動作をレジュームする。
【００２９】
レディ／ビジー回路１６は、シーケンサ１５の動作状況に応じて、レディ／ビジー信号Ｒ／Ｂｎをコントローラ２００に送信する。
【００３０】
電圧発生回路１７は、シーケンサ１５の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ１８、ロウデコーダ１９、及びセンスアンプ２０等に供給する。ロウデコーダ１９及びセンスアンプ２０は、電圧発生回路１７より供給された電圧をメモリセルアレイ１８内のメモリセルトランジスタに印加する。
【００３１】
メモリセルアレイ１８は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ（以下、「メモリセル」とも表記する）を含む複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…、ＢＬＫ（Ｌ−１））（Ｌは２以上の整数）を備えている。各々のブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、ＳＵ３、…）を含む。そして各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。なお、メモリセルアレイ１８内のブロックＢＬＫ数及びブロックＢＬＫ内のストリングユニットＳＵ数は任意である。メモリセルアレイ１８の詳細については後述する。
【００３２】
ロウデコーダ１９は、ロウアドレスＲＡをデコードする。ロウデコーダ１９は、デコード結果に基づき、ブロックＢＬＫのいずれかを選択し、更にいずれかのストリングユニットＳＵを選択する。そして、ロウデコーダ１９は、必要な電圧をブロックＢＬＫに印加する。
【００３３】
センスアンプ２０は、読み出し動作のときには、メモリセルアレイ１８から読み出されたデータをセンスする。そして、センスアンプ２０は、読み出しデータＲＤをデータレジスタ２１に送信する。また、センスアンプ２０は、書き込み動作のときには、書き込みデータＷＤをメモリセルアレイ１８に送信する。
【００３４】
データレジスタ２１は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータＷＤ及び読み出しデータＲＤを保持する。例えば書き込み動作において、データレジスタ２１は、入出力回路１０から受信した書き込みデータＷＤを一時的に保持し、センスアンプ２０に送信する。また例えば、読み出し動作において、データレジスタ２１は、センスアンプ２０から受信した読み出しデータＲＤを一時的に保持し、入出力回路１０に送信する。
【００３５】
カラムデコーダ２２は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスＣＡをデコードし、デコード結果に応じてデータレジスタ２１内のラッチ回路を選択する。
【００３６】
１．１．３  メモリセルアレイの構成について  
次に、メモリセルアレイ１８の構成について、図３を用いて説明する。図３の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【００３７】
図３に示すように、ブロックＢＬＫ０は、例えば４つのストリングユニットＳＵ（ＳＵ０〜ＳＵ３）を含む。そして、各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。ＮＡＮＤストリングＳＲの各々は、例えば８個のメモリセルトランジスタＭＴ０〜ＭＴ７、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ７を限定しない場合は、メモリセルトランジスタＭＴと表記する。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
【００３８】
なお、メモリセルトランジスタＭＴは、電荷蓄積層に絶縁膜を用いたＭＯＮＯＳ型であっても良いし、電荷蓄積層に導電層を用いたＦＧ型であっても良い。以下、本実施形態では、ＭＯＮＯＳ型を例として説明する。また、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。更に、選択トランジスタＳＴ１及びＳＴ２の個数は、任意であり、それぞれ１個以上あれば良い。
【００３９】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタＭＴ０〜ＭＴ７は、その電流経路が直列に接続される。そしてメモリセルトランジスタＭＴ７のドレインは、選択トランジスタＳＴ１のソースに接続され、メモリセルトランジスタＭＴ０のソースは、選択トランジスタＳＴ２のドレインに接続されている。
【００４０】
ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０〜ＳＧＤ３にそれぞれ接続される。同様に、ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０〜ＳＧＳ３にそれぞれ接続される。以下、選択ゲート線ＳＧＤ０〜ＳＧＤ３を限定しない場合は、選択ゲート線ＳＧＤと表記する。選択ゲート線ＳＧＳ０〜ＳＧＳ３を限定しない場合は、選択ゲート線ＳＧＳと表記する。なお、各ストリングユニットＳＵの選択ゲート線ＳＧＳ０〜ＳＧＳ３は共通に接続されても良い。
【００４１】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。以下、ワード線ＷＬ０〜ＷＬ７を限定しない場合は、ワード線ＷＬと表記する。
【００４２】
ストリングユニットＳＵ内にある各ＮＡＮＤストリングＳＲの選択トランジスタＳＴ１のドレインは、それぞれ異なるビット線ＢＬ０〜ＢＬ（Ｎ−１）（Ｎは２以上の整数）に接続される。以下、ビット線ＢＬ０〜ＢＬ（Ｎ−１）を限定しない場合は、ビット線ＢＬと表記する。各ビット線ＢＬは、複数のブロックＢＬＫ間で各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＳＲを共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。つまり、ストリングユニットＳＵは、異なるビット線ＢＬに接続され、且つ同一の選択ゲート線ＳＧＤ及びＳＧＳに接続されたＮＡＮＤストリングＳＲの集合体である。またブロックＢＬＫは、ワード線ＷＬを共通にする複数のストリングユニットＳＵの集合体である。そしてメモリセルアレイ１８は、ビット線ＢＬを共通にする複数のブロックＢＬＫの集合体である。
【００４３】
データの書き込み及び読み出しは、いずれかのストリングユニットＳＵにおけるいずれかのワード線ＷＬに接続されたメモリセルトランジスタＭＴに対して、一括して行われる。以下、データの書き込み及び読み出しの際、一括して選択されるメモリセルトランジスタＭＴの群を「メモリセルグループＭＣＧ」と呼ぶ。そして、１つのメモリセルグループＭＣＧに書き込まれる、または読み出される１ビットのデータの集まりを「ページ」と呼ぶ。
【００４４】
データの消去は、ブロックＢＬＫ単位、またはブロックＢＬＫよりも小さい単位で行うことができる。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号に記載されている。更に、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という２０１２年５月３０日に出願された米国特許出願１３／４８３，６１０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４５】
更に、メモリセルアレイ１８の構成は、他の構成であっても良い。すなわちメモリセルアレイ１８の構成については、例えば、“三次元積層不揮発性半導体メモリ(THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY)”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ(THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY)”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法(NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME)”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号“半導体メモリ及びその製造方法(SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME)”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４６】
１．１．４  センスアンプおよびデータレジスタの構成
次に、センスアンプ２０およびデータレジスタ２１の構成について、図４を用いて説明する。
【００４７】
図４に示すように、センスアンプ２０は、各ビット線ＢＬ０〜ＢＬ（Ｎ−１）に対応して設けられたセンスアンプユニットＳＡＵ０〜ＳＡＵ（Ｎ−１）を含む。各センスアンプユニットＳＡＵは、センス回路ＳＡ、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬを含む。センス回路ＳＡ、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬは、互いにデータを送受信可能なように接続されている。
【００４８】
センス回路ＳＡは、読み出し動作時には対応するビット線ＢＬに読み出されたデータをセンスし、データが“０”データであるか“１”データであるかを判断する。また書き込み動作時には、書き込みデータＷＤに基づいてビット線ＢＬに電圧を印加する。
【００４９】
ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬは、例えば、書き込みデータＷＤを一時的に保持する。なお、センスアンプユニットＳＡＵの構成はこれに限定されず、種々の変更が可能である。センスアンプユニットＳＡＵが備えるラッチ回路の個数は、例えば１つのメモリセルトランジスタＭＴが保持するデータのビット数に基づいて任意に変更可能である。
【００５０】
データレジスタ２１は、各センスアンプユニットＳＡＵに対応して設けられた複数のラッチ回路ＸＤＬを含む。ラッチ回路ＸＤＬは、センスアンプユニットＳＡＵから受信した読み出しデータＲＤ及び入出力回路１０から受信した書き込みデータＷＤを一時的に保持する。より具体的には、入出力回路１０が受信した書き込みデータＷＤは、ラッチ回路ＸＤＬを介して、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、またはセンス回路ＳＡのいずれかに転送される。また、センスアンプユニットＳＡＵから受信した読み出しデータＲＤは、ラッチ回路ＸＤＬを介して入出力回路１０に転送される。
【００５１】
１．１．５  センスアンプユニットの構成について  
次に、センスアンプユニットＳＡＵの構成の詳細について、図５を用いて説明する。なお、本実施形態では、ビット線ＢＬを流れる電流をセンスする電流センス方式のセンスアンプユニットＳＡＵを例に説明するが、電圧センス方式のセンスアンプユニットＳＡＵを用いても良い。以下の説明において、トランジスタのソースまたはドレインの一方を「トランジスタの一端」と呼び、ソースまたはドレインの他方を「トランジスタの他端」と呼ぶ。
【００５２】
図５に示すように、センスアンプユニットＳＡＵは、センス回路ＳＡ、４個のラッチ回路（ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬ）、プリチャージ回路３０、及びバススイッチ３２を含む。
【００５３】
センス回路ＳＡは、高耐圧ｎチャネルＭＯＳトランジスタ４０、低耐圧ｎチャネルＭＯＳトランジスタ４１〜５０、低耐圧ｐチャネルＭＯＳトランジスタ５１、及び容量素子５２を備えている。
【００５４】
トランジスタ４０のゲートに信号ＢＬＳが入力される。トランジスタ４０の一端は対応するビット線ＢＬに接続され、トランジスタ４０の他端はノードＢＬＩに接続される。
【００５５】
トランジスタ４１のゲートには、信号ＢＬＣが入力される。トランジスタ４１の一端はノードＢＬＩに接続され、トランジスタ４１の他端はノードＳＣＯＭに接続される。トランジスタ４１は、対応するビット線ＢＬを、信号ＢＬＣに応じた電位にクランプするためのものである。
【００５６】
トランジスタ４２のゲートには、信号ＢＬＸが入力される。トランジスタ４２の一端はノードＳＣＯＭに接続され、トランジスタ４２の他端はノードＳＳＲＣに接続される。
【００５７】
トランジスタ４３のゲートは、ノードＩＮＶ＿Ｓに接続される。トランジスタ４３の一端はノードＳＳＲＣに接続され、トランジスタ４３の他端はノードＳＲＣＧＮＤに接続される。ノードＳＲＣＧＮＤには、例えば接地電圧ＶＳＳが印加される。
【００５８】
トランジスタ５１のゲートは、ノードＩＮＶ＿Ｓに接続される。トランジスタ５１の一端に電源電圧ＶＤＤＳＡが印加され、トランジスタ５１の他端はノードＳＳＲＣに接続される。
【００５９】
トランジスタ４４のゲートには、信号ＸＸＬが入力される。トランジスタ４４の一端はノードＳＣＯＭに接続され、トランジスタ４４の他端はノードＳＥＮに接続される。
【００６０】
トランジスタ４５のゲートには、信号ＨＬＬが入力される。トランジスタ４５の一端には電圧ＶＳＥＮＰが印加され、トランジスタ４５の他端はノードＳＥＮに接続される。
【００６１】
容量素子５２の一方の電極は、ノードＳＥＮに接続され、容量素子５２の他方の電極にはクロック信号ＣＬＫが入力される。
【００６２】
トランジスタ４７のゲートは、ノードＳＥＮに接続される。トランジスタ４７の一端はトランジスタ４８の一端に接続され、トランジスタ４７の他端にはクロック信号ＣＬＫが入力される。トランジスタ４７は、ノードＳＥＮの電圧をセンスするセンストランジスタとして機能する。
【００６３】
トランジスタ４８のゲートには、信号ＳＴＢが入力される。トランジスタ４８の他端はバスＬＢＵＳに接続される。
【００６４】
トランジスタ４６のゲートには、信号ＢＬＱが入力される。トランジスタ４６の一端はノードＳＥＮに接続され、トランジスタ４６の他端はバスＬＢＵＳに接続される。例えば、バスＬＢＵＳを介して、ノードＳＥＮを充電する場合、あるいは、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、またはＸＤＬのデータをノードＳＥＮに転送する場合、トランジスタ４６はオン状態とされる。
【００６５】
トランジスタ４９のゲートは、バスＬＢＵＳに接続される。トランジスタ４９の一端はトランジスタ５０の一端に接続され、トランジスタ４９の他端には電圧ＶＬＳＡが印加される。電圧ＶＬＳＡは、例えば接地電圧ＶＳＳであっても良い。
【００６６】
トランジスタ５０のゲートには、信号ＬＳＬが入力される。トランジスタ５０の他端はノードＳＥＮに接続される。
【００６７】
データの書き込み時には、センス回路ＳＡは、ラッチ回路ＳＤＬの保持データに応じて、ビット線ＢＬを制御する。ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬは、例えば、個々のメモリセルトランジスタが２ビット以上のデータを保持する多値動作用に使用される。
【００６８】
ラッチ回路ＳＤＬは、低耐圧ｎチャネルＭＯＳトランジスタ６０〜６３及び低耐圧ｐチャネルＭＯＳトランジスタ６４〜６７を備えている。
【００６９】
トランジスタ６０のゲートには、信号ＳＴＬが入力される。トランジスタ６０の一端はバスＬＢＵＳに接続され、トランジスタ６０の他端はノードＬＡＴ＿Ｓに接続される。
【００７０】
トランジスタ６１のゲートには、信号ＳＴＩが入力される。トランジスタ６１の一端はバスＬＢＵＳに接続され、トランジスタ６１の他端はノードＩＮＶ＿Ｓに接続される。
【００７１】
トランジスタ６２のゲートは、ノードＩＮＶ＿Ｓに接続される。トランジスタ６２の一端は接地され、トランジスタ６２の他端はノードＬＡＴ＿Ｓに接続される。
【００７２】
トランジスタ６３のゲートは、ノードＬＡＴ＿Ｓに接続される。トランジスタ６３の一端は接地され、トランジスタ６３の他端はノードＩＮＶ＿Ｓに接続される。
【００７３】
トランジスタ６４のゲートは、ノードＩＮＶ＿Ｓに接続される。トランジスタ６４の一端はノードＬＡＴ＿Ｓに接続され、トランジスタ６４の他端はトランジスタ６６の一端に接続される。
【００７４】
トランジスタ６５のゲートは、ノードＬＡＴ＿Ｓに接続される。トランジスタ６５の一端はノードＩＮＶ＿Ｓに接続され、トランジスタ６５の他端はトランジスタ６７の一端に接続される。
【００７５】
トランジスタ６６のゲートには、信号ＳＬＬが入力される。トランジスタ６６の他端には電源電圧ＶＤＤＳＡが印加される。
【００７６】
トランジスタ６７のゲートには信号ＳＬＩが入力される。トランジスタ６７の他端には電源電圧ＶＤＤＳＡが印加される。
【００７７】
ラッチ回路ＳＤＬでは、トランジスタ６２、６４で第１インバータが構成され、トランジスタ６３、６５で第２インバータが構成されている。ラッチ回路ＳＤＬは、データをノードＬＡＴ＿Ｓで保持し、その反転データをノードＩＮＶ＿Ｓで保持する。
【００７８】
ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬは、ラッチ回路ＳＤＬと同様の構成を有しているので、説明は省略するが、各トランジスタの参照番号及び信号名は、図５の通りラッチ回路ＳＤＬのものとは区別して以下説明する。ラッチ回路ＳＤＬのトランジスタ６０〜６７が、ラッチ回路ＡＤＬのトランジスタ７０〜７７、ラッチ回路ＢＤＬのトランジスタ８０〜８７、及びラッチ回路ＴＤＬのトランジスタ９０〜９７にそれぞれ相当する。そして各センスアンプユニットＳＡＵにおいて、センス回路ＳＡ、並びに４個のラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、及びＣＤＬは、互いにデータを送受信可能なようにバスＬＢＵＳによって接続されている。
【００７９】
プリチャージ回路３０は、バスＬＢＵＳをプリチャージする。プリチャージ回路３０は、例えば低耐圧ｎチャネルＭＯＳトランジスタ３１を含む。トランジスタ３１のゲートには、信号ＬＰＣが入力される。トランジスタ３１の一端はバスＬＢＵＳに接続され、トランジスタ３１の他端には電圧ＶＨＬＢが印加される。そしてプリチャージ回路３０は、バスＬＢＵＳに電圧ＶＨＬＢを転送することで、バスＬＢＵＳをプリチャージする。
【００８０】
バススイッチ３２は、バスＬＢＵＳとバスＤＢＵＳとを接続する。すなわち、バススイッチ３２は、センス回路ＳＡとラッチ回路ＸＤＬとを接続する。バススイッチ３２は、例えば低耐圧ｎチャネルＭＯＳトランジスタ３３を含む。トランジスタ３３のゲートには、信号ＤＳＷが入力される。トランジスタ３３の一端はバスＬＢＵＳに接続され、トランジスタ３３の他端はバスＤＢＵＳを介してラッチ回路ＸＤＬに接続される。
【００８１】
なお、上記構成のセンスアンプユニットＳＡＵにおける各種信号は、例えばシーケンサ１５によって与えられる。
【００８２】
１．２  メモリセルトランジスタの閾値分布について  
次に、本実施形態に係るメモリセルトランジスタＭＴの取り得る閾値分布について、図６を用いて説明する。以下、本実施形態では、メモリセルトランジスタＭＴが８値（３ビット）のデータを保持可能な場合について説明するが、保持可能なデータは８値に限定されない。本実施形態においては、メモリセルトランジスタＭＴが２値以上のデータ（１ビット以上のデータ）を保持可能であれば良い。
【００８３】
図示するように、各々のメモリセルトランジスタＭＴの閾値電圧は、離散的な例えば８個の分布のいずれかに含まれる値を取る。以下、８個の分布を閾値電圧の低い順にそれぞれ、“Ｅｒ”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、“Ｆ”レベル、及び“Ｇ”レベルと呼ぶ。
【００８４】
“Ｅｒ”レベルは、例えばデータの消去状態に相当する。そして“Ａ”〜“Ｇ”レベルは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値分布に対応するベリファイ電圧をＡＶ、ＢＶ、ＣＶ、ＤＶ、ＥＶ、ＦＶ、ＧＶとする。すると、これらの電圧値は、ＡＶ＜ＢＶ＜ＣＶ＜ＤＶ＜ＥＶ＜ＦＶ＜ＧＶの関係にある。
【００８５】
より具体的には、“Ｅｒ”レベルに含まれる閾値電圧は電圧ＡＶ未満である。“Ａ”レベルに含まれる閾値電圧は、電圧ＡＶ以上であり、且つ電圧ＢＶ未満である。“Ｂ”レベルに含まれる閾電圧値は、電圧ＢＶ以上であり、且つ電圧ＣＶ未満である。“Ｃ”レベルに含まれる閾値電圧は、電圧ＣＶ以上であり、且つ電圧ＤＶ未満である。“Ｄ”レベルに含まれる閾値電圧は、電圧ＤＶ以上であり、且つ電圧ＥＶ未満である。“Ｅ”レベルに含まれる閾値電圧は、電圧ＥＶ以上であり、且つ電圧ＦＶ未満である。“Ｆ”レベルに含まれる閾値電圧は、電圧ＦＶ以上であり、且つ電圧ＧＶ未満である。そして、“Ｇ”レベルに含まれる閾値電圧は、電圧ＧＶ以上である。
【００８６】
以上のように、各メモリセルトランジスタＭＴは、８個の閾値分布のいずれかを有することで、８種類の状態を取ることができる。これらの状態を、２進数表記で“０００”〜“１１１”に割り当てることで、各メモリセルトランジスタＭＴは３ビットのデータを保持できる。以下、３ビットのデータをそれぞれ、上位ビット、中位ビット、及び下位ビットと呼ぶ。また、メモリセルグループＭＣＧに一括して書き込まれる（または読み出される）上位ビットの集合を上位ページ、中位ビットの集合を中位ページ、下位ビットの集合を下位ページと呼ぶ。
【００８７】
図６の例では、各閾値分布に含まれるメモリセルトランジスタＭＴに対して、以下に示すようにデータを割り付ける。
【００８８】
“Ｅｒ”レベル：“１１１”（“上位ビット／中位ビット／下位ビット”）データ
“Ａ”レベル：“１１０”データ
“Ｂ”レベル：“１００”データ
“Ｃ”レベル：“０００”データ
“Ｄ”レベル：“０１０”データ
“Ｅ”レベル：“０１１”データ
“Ｆ”レベル：“００１”データ
“Ｇ”レベル：“１０１”データ
例えば、書き込み動作において、下位ビットのデータは、センスアンプユニットＳＡＵのラッチ回路ＡＤＬに格納され、中位ビットのデータは、ラッチ回路ＢＤＬに格納され、上位ビットのデータは、ラッチ回路ＣＤＬに格納される。
【００８９】
以上で説明した閾値分布に対して読み出し電圧は、隣り合う閾値分布の間にそれぞれ設定される。例えば、あるメモリセルトランジスタＭＴが“Ｅｒ”レベルの閾値電圧を有するか“Ａ”レベル以上の閾値電圧を有するかを判定するための読み出し電圧ＡＲは、“Ｅｒ”レベルにおける最大の閾値電圧と“Ａ”レベルにおける最小の閾値電圧との間に設定される。あるメモリセルトランジスタＭＴが“Ａ”レベルの閾値電圧を有するか“Ｂ”レベル以上の閾値電圧を有するかを判定するための読み出し電圧ＢＲは、“Ａ”レベルにおける最大の閾値電圧と“Ｂ”レベルにおける最小の閾値電圧との間に設定される。その他の読み出し電圧ＣＲ、ＤＲ、ＥＲ、ＦＲ、及びＧＲも、読み出し電圧ＡＲ及びＢＲと同様に設定される。読み出し電圧ＡＲ、ＢＲ、ＣＲ、ＤＲ、ＥＲ、ＦＲ、及びＧＲは、ＡＲ＜ＢＲ＜ＣＲ＜ＤＲ＜ＥＲ＜ＦＲ＜ＧＲの関係にある。そして、“Ｇ”レベルの閾値分布における最大の閾値電圧よりも高い電圧に、電圧ＶＲＥＡＤが設定される。電圧ＶＲＥＡＤは、読み出し動作のときに非選択ワード線ＷＬに印加される電圧であり、制御ゲートに電圧ＶＲＥＡＤが印加されたメモリセルトランジスタＭＴは、保持するデータに依らずにオン状態になる。
【００９０】
そして、読み出し動作において下位ページのデータは、電圧ＡＲ及びＥＲを用いた読み出し結果によって確定する。中位ページのデータは、電圧ＢＲ、ＤＲ、及びＦＲを用いた読み出し結果によって確定する。上位ページのデータは、電圧ＣＲ及びＧＲを用いた読み出し結果によって確定する。つまり下位ページのデータ、中位ページのデータ、及び上位ページのデータはそれぞれ、２回、３回、及び２回の読み出し動作によって確定する。以下、このようなデータの割り付けのことを“２３２コード”と呼ぶ。
【００９１】
なお、各閾値分布の間にそれぞれ設定された各種ベリファイ電圧と各種読み出し電圧としては、同じ電圧値を設定しても良いし、異なる電圧値を設定しても良い。
【００９２】
更に、図６では８個のレベルが離散的に分布する場合を例に説明したが、これは例えばデータの書き込み直後の理想的な状態である。従って、現実的には隣接するレベルが重なることが起こり得る。例えばデータの書き込み後、ディスターブ等により“Ｅｒ”レベルの上端と“Ａ”レベルの下端とが重なる場合がある。このような場合には、例えばＥＣＣ技術等を用いてデータが訂正される。
【００９３】
更に、“Ｅｒ”〜“Ｇ”レベルへのデータの割り付けは、２３２コードに限定されない。
【００９４】
１．３  読み出し動作について
次に、読み出し動作について説明する。読み出し動作は、大まかに、ページ読み出しとキャッシュ読み出しとを含む。ページ読み出しは、メモリセルトランジスタＭＴからデータレジスタ２１（ラッチ回路ＸＤＬ）にデータを読み出す動作であり、キャッシュ読み出しは、データレジスタ２１からコントローラ２００にデータを読み出す動作である。
【００９５】
１．３．１  読み出し動作におけるコントローラの動作について
まず、読み出し動作におけるコントローラの動作について、図７を用いて説明する。図７の例は、説明を簡略化するため、通常状態（書き込み動作の中断及び再開を含まない）における読み出し動作を示している。
【００９６】
図７に示すように、まず、コントローラ２００は、下位ページ（“０１ｈ”）、中位ページ（“０２ｈ”）、または上位ページ（“０３ｈ”）のいずれかを指定するコマンド及びページ読み出しを実行することを通知するコマンド“００ｈ”をＮＡＮＤ型フラッシュメモリ１００に送信するとともに、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【００９７】
次に、コントローラ２００は、アドレス“ＡＤＤ”を送信すると共に、アドレスラッチイネーブル信号ＡＬＥを“Ｈ”レベルにしてアサートする。なお、図７の例では、カラムアドレスＣＡを２サイクル送信した後、ロウアドレスＲＡを３サイクル送信する場合を示しているが、カラムアドレスＣＡ及びロウアドレスＲＡのサイクルは任意に設定可能である。また、ページを指定するコマンド０１ｈ、０２ｈ、及び０３ｈが省略され、カラムアドレスＣＡが下位ページ、中位ページ、及び上位ページに対応するページアドレスを含んでいても良い。
【００９８】
更にコントローラ２００は、ページ読み出しの実行を指示するページリードコマンド“３０ｈ”を送信すると共に、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【００９９】
ＮＡＮＤ型フラッシュメモリ１００は、ページリードコマンド“３０ｈ”に応じて、ビジー状態となり（Ｒ／Ｂｎ＝“Ｌ”）、ページ読み出しを開始する。ＮＡＮＤ型フラッシュメモリ１００は、データレジスタ２１（ラッチ回路ＸＤＬ）へのデータの読み出しが終了するとレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１００】
コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、キャッシュ読み出しを実行することを通知するコマンド“０５ｈ”をＮＡＮＤ型フラッシュメモリ１００に送信するとともに、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【０１０１】
次に、コントローラ２００は、アドレス“ＡＤＤ”として、カラムアドレスＣＡを２サイクル送信し、ロウアドレスＲＡを３サイクル送信すると共に、アドレスラッチイネーブル信号ＡＬＥを“Ｈ”レベルにしてアサートする。なお、キャッシュ読み出しにおいては、ロウアドレスＲＡが省略されても良い。
【０１０２】
次に、コントローラ２００は、キャッシュ読み出しの実行を指示するキャッシュリードコマンド“Ｅ０ｈ”を送信すると共に、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【０１０３】
ＮＡＮＤ型フラッシュメモリ１００は、キャッシュリードコマンド“Ｅ０ｈ”に応じて、キャッシュ読み出しを開始する。より具体的には、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から受信するリードイネーブル信号ＲＥｎに基づいて、コントローラ２００に読み出しデータＲＤを送信する。
【０１０４】
１．３．２  ページ読み出しにおける各配線の電圧について
次に、ページ読み出しにおける各配線の電圧について、図８を用いて説明する。図８の例は説明を簡略化するため、１つのレベル（例えば“Ａ”レベル）の読み出しを実行する場合を示している。例えば、複数のレベルのページ読み出しを実行する場合、選択ワード線ＷＬには、各レベルに対応した読み出し電圧ＶＣＧＲＶが印加される。電圧ＶＣＧＲＶは、読み出し対象データの閾値レベルに応じた電圧である。より具体的には、下位ページの読み出しにおいて、“Ａ”レベルと“Ｅ”レベルの読み出しが実行される。“Ａ”レベルの読み出しのときには、選択ワード線ＷＬに読み出し電圧ＶＣＧＲＶとして電圧ＡＲが印加され、“Ｅ”レベルの読み出しのときには、選択ワード線ＷＬに読み出し電圧ＶＣＧＲＶとして電圧ＥＲが印加される。なお、書き込み動作で実行されるベリファイも同様の波形となり、選択ワード線ＷＬの読み出し電圧ＶＣＧＲＶが、ベリファイレベルに応じて異なる。例えば“Ａ”レベルのベリファイの場合、選択ワード線ＷＬに読み出し電圧ＶＣＧＲＶとして電圧ＡＶが印加される。
【０１０５】
図８に示すように、時刻ｔ１において、ロウデコーダ１９は、選択ブロックＢＬＫの選択ゲート線ＳＧＤ及びＳＧＳに電圧ＶＳＧを印加し、選択ワード線ＷＬに電圧ＶＣＧＲＶを印加し、非選択ワード線ＷＬに電圧ＶＲＥＡＤを印加する。電圧ＶＳＧは選択トランジスタＳＴ１及びＳＴ２をオン状態にする電圧である。電圧ＶＣＧＲＶと電圧ＶＲＥＡＤとは、ＶＣＧＲＶ＜ＶＲＥＡＤの関係にある。
【０１０６】
時刻ｔ２において、センスアンプ２０は、ビット線ＢＬを充電し（以下、「ＢＬプリチャージ」と呼ぶ）、ビット線ＢＬに電圧ＶＢＬＲＤを印加する。電圧ＶＢＬＲＤは読み出し動作時にビット線ＢＬに印加される電圧である。
【０１０７】
また、ソース線ＳＬには、例えばソース線ドライバ（不図示）を介して、電圧ＶＳＲＣが印加される。電圧ＶＢＬＲＤと電圧ＶＳＲＣとは、ＶＢＬＲＤ＞ＶＳＲＣ（＞ＶＳＳ）の関係にある。
【０１０８】
時刻ｔ３において、シーケンサ１５は、信号ＨＬＬを“Ｈ”レベルにして、トランジスタ４５をオン状態にする。これにより、センスアンプユニットＳＡＵ内においてノードＳＥＮに電圧ＶＳＥＮＰが印加される。
【０１０９】
時刻ｔ４において、シーケンサ１５は、信号ＨＬＬを“Ｌ”レベルにし、ノードＳＥＮをフローティング状態にする。そして、シーケンサ１５は、クロック信号ＣＬＫに“Ｈ”レベルの電圧を印加する（以下、「クロックアップ」と呼ぶ）。この結果、容量素子５２は充電され、ノードＳＥＮの電圧は、容量カップリングの影響により電圧ＶＢＳＴに上昇する。電圧ＶＢＳＴは、クロックアップにより上昇したノードＳＥＮの電圧であり、電圧ＶＳＥＮＰよりも高い電圧である。
【０１１０】
時刻ｔ５〜ｔ６の期間、シーケンサ１５は、センスを実行する。より具体的には、時刻ｔ５〜ｔ６の間、シーケンサ１５は、信号ＸＸＬを“Ｈ”レベルにしてトランジスタ４４をオン状態にする。この状態において、読み出し対象となるメモリセルトランジスタＭＴの閾値電圧がターゲットレベル以上の場合、メモリセルトランジスタＭＴはオフ状態（以下、「オフセル（off-cell）」と呼ぶ）とされ、対応するビット線ＢＬからソース線ＳＬに電流はほとんど流れない。よって、ノードＳＥＮ及び容量素子５２に充電された電荷はほとんど放電されず、ノードＳＥＮの電圧はほとんど変動しない。他方で、読み出し対象となるメモリセルトランジスタＭＴの閾値電圧がターゲットレベル未満の場合、メモリセルトランジスタＭＴはオン状態（以下、「オンセル（on-cell）」と呼ぶ）となり、対応するビット線ＢＬからソース線ＳＬに電流が流れる。すなわち、ノードＳＥＮの電圧が低下していく。
【０１１１】
時刻ｔ６において、シーケンサ１５は、信号ＸＸＬを“Ｌ”レベルにしてトランジスタ４４をオフ状態にする。そして、シーケンサ１５は、クロック信号ＣＬＫに“Ｌ”レベルの電圧を印加する（以下、「クロックダウン」と呼ぶ）。この結果、容量カップリングの影響により、ノードＳＥＮの電圧は低下する。
【０１１２】
時刻ｔ７〜ｔ８の期間、シーケンサ１５は、ノードＳＥＮの電圧をストローブする。より具体的には、シーケンサ１５は、信号ＳＴＢを“Ｈ”レベルにし、トランジスタ４８をオン状態にする。この状態において、ノードＳＥＮの電圧がセンストランジスタ４７の閾値電圧（判定レベル）以上の場合、対応するセンストランジスタ４７は、オン状態にされる。この結果、予め“Ｈ”レベルとされていたバスＬＢＵＳは“Ｌ”レベルとされる。
【０１１３】
他方で、ノードＳＥＮの電圧がセンストランジスタ４７の閾値電圧（判定レベル）よりも低い場合、センストランジスタ４７は、オフ状態にされる。この結果、予め“Ｈ”レベルとされていたバスＬＢＵＳは“Ｈ”レベルを維持する。
【０１１４】
そして、例えば、ラッチ回路ＳＤＬのトランジスタ６１がオン状態とされ、バスＬＢＵＳの反転データがラッチ回路ＳＤＬに転送される。すなわち、ノードＳＥＮが“Ｈ”レベルの場合、ラッチ回路ＳＤＬには“Ｈ”レベルのデータ（“１”データ）が格納され、ノードＳＥＮが“Ｌ”レベルの場合、ラッチ回路ＳＤＬには“Ｌ”レベルのデータ（“０”データ）が格納される。
【０１１５】
時刻ｔ８において、また、リカバリ処理が行われ、読み出し動作が終了する。
【０１１６】
なお、複数のレベルの読み出しを実行する場合、レベル毎に時刻ｔ２〜ｔ８が繰り返される。この場合、各レベルに応じた電圧ＶＣＧＲＶが設定される。
【０１１７】
１．４  書き込み動作について
次に、書き込み動作について説明する。コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００に書き込み命令を送信する場合、通常のライトコマンドまたはキャッシュライトコマンドのいずれかをＮＡＮＤ型フラッシュメモリ１００に送信する。ＮＡＮＤ型フラッシュメモリ１００は、通常のライトコマンドを受信した場合、メモリセルアレイ１８に書き込みデータＷＤを書き込んでいる期間、信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）にする。
【０１１８】
他方で、ＮＡＮＤ型フラッシュメモリ１００は、キャッシュライトコマンドを受信した場合、書き込み動作開始からデータレジスタ２１がセンスアンプ２０への書き込みデータＷＤの転送を終了するまでの期間、信号Ｒ／Ｂｎを“Ｌ”レベルにする。すなわち、ＮＡＮＤ型フラッシュメモリ１００は、データレジスタ２１（ラッチ回路ＸＤＬ）が使用可能になると、メモリセルアレイ１８への書き込み動作中においても“Ｈ”レベル（レディ状態）の信号Ｒ／Ｂｎをコントローラ２００に送信し、次のコマンドを受信可能な状態とする。本実施形態では、コントローラ２００がキャッシュライトコマンドを送信した場合について説明する。
【０１１９】
書き込み動作は、大まかにはプログラムとベリファイとを含む。そして、プログラムとベリファイとの組み合わせ（以下、「プログラムループ」と呼ぶ）を繰り返すことで、メモリセルトランジスタＭＴの閾値電圧がターゲットレベルまで上昇される。
【０１２０】
プログラムは、電子を電荷蓄積層に注入することにより閾値電圧を上昇させる（または注入を禁止することで閾値電圧を維持させる）動作のことである。以下では、閾値電圧を上昇させる動作を「“０”プログラム」または「“０”書き込み」と呼び、“０”プログラム対象とされたビット線ＢＬには、センスアンプ２０から“０”データに対応する電圧（例えば電圧ＶＳＳ）が与えられる。他方で、閾値電圧を維持させる動作を「“１”プログラム」、「“１”書き込み」、または「書き込み禁止」と呼び、“１”プログラム対象とされたビット線ＢＬには、センスアンプ２０から“１”データに対応する電圧（以下、「電圧ＶＢＬ」と表記する）が与えられる。以下、“０”プログラムに対応するビット線をＢＬ（“０”）と表記し、“１”プログラムに対応するビット線をＢＬ（“１”）と表記する。
【０１２１】
ベリファイは、プログラムの後、データを読み出し、メモリセルトランジスタＭＴの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。以下、メモリセルトランジスタＭＴの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と呼び、ターゲットレベルまで達していない場合を、「ベリファイをフェイルした」と呼ぶ。
【０１２２】
また、書き込み動作には、下位ページ、中位ページ、及び上位ページのデータを別々に書きこむ場合と、下位ページ、中位ページ、及び上位ページのデータを一括して書き込む場合がある（以下、「フルシーケンス書き込み」と呼ぶ）。本実施形態では、フルシーケンス書き込みを適用した場合について説明する。
【０１２３】
１．４．１  メモリシステムにおける書き込み動作の全体の流れについて
まず、メモリシステムにおける書き込み動作の全体の流れについて、図９を用いて説明する。
【０１２４】
図９に示すように、コントローラ２００のホストインターフェイス回路２１０は、ホスト機器２から書き込み命令を受信する（ステップＳ１）。
【０１２５】
この書き込み命令に応答して、コントローラ２００は、ＮＡＮＤインターフェイス回路２５０を介してＮＡＮＤ型フラッシュメモリ１００に、書き込み命令（キャッシュライトコマンド、アドレスＡＤＤ、及び書き込みデータＷＤ）を送信する（ステップＳ２）。
【０１２６】
すると、ＮＡＮＤ型フラッシュメモリ１００のシーケンサ１５は、書き込み命令に基づいて信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ３）、書き込み動作を開始する（ステップＳ４）。
【０１２７】
シーケンサ１５は、データレジスタ２１からセンスアンプ２０への書き込みデータＷＤの送信が終了し、データレジスタ２１（ラッチ回路ＸＤＬ）が使用可能な状態になると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とする（ステップＳ５）。シーケンサ１５は、信号Ｒ／Ｂｎを“Ｈ”レベルにした後、プログラムを開始し、プログラムループを繰り返す。
【０１２８】
コントローラ２００は、書き込み動作実行中に、ホスト機器２より例えば読み出し命令を受信する（ステップＳ６）。コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、ＮＡＮＤ型フラッシュメモリ１００に、ページ読み出し命令（ページリードコマンド、アドレスＡＤＤ）を送信する（ステップＳ７）。
【０１２９】
シーケンサ１５は、ページ読み出し命令に応じて、書き込み動作を中断する（ステップＳ８）。このとき、シーケンサ１５は、例えばシーケンサ１５内のレジスタにサスペンド情報を保存する。なお、シーケンサ１５は、コントローラ２００にサスペンド情報を送信しても良い。
【０１３０】
シーケンサ１５は、信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ９）、サスペンドリードを実行する（ステップＳ１０）。
【０１３１】
具体的には、書き込み対象のページアドレスと読み出し対象のページアドレスが同じ場合、以下の動作が行われる。書き込み動作が終了しているメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬには、読み出しデータＲＤとして、メモリセルトランジスタＭＴから読み出されたデータが格納される。他方で、書き込み動作が終了していないメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬには、読み出しデータＲＤとして、ラッチ回路ＡＤＬ、ＢＤＬ、またはＣＤＬに格納されている書き込みデータＷＤが格納される。例えば、センスアンプ２０は、下位ページの読み出しの場合、ラッチ回路ＡＤＬに格納されている下位ページの書きこみデータＷＤをラッチ回路ＸＤＬに転送する。同様に、センスアンプ２０は、中位ページの読み出しの場合、ラッチ回路ＢＤＬに格納されている中位ページの書きこみデータＷＤをラッチ回路ＸＤＬに転送し、上位ページの読み出しの場合、ラッチ回路ＣＤＬに格納されている上位ページの書きこみデータＷＤをラッチ回路ＸＤＬに転送する。これにより、ラッチ回路ＸＤＬには書き込みデータＷＤと同じデータが格納される。
【０１３２】
また、書き込み対象のページアドレスと読み出し対象のページアドレスが異なる場合、通常のページ読み出しと同様に、メモリセルトランジスタＭＴから読み出されたデータがラッチ回路ＸＤＬに格納される。
【０１３３】
以下、書き込み対象のページアドレスと読み出し対象のページアドレスが同じ場合のページ読み出しを「同一ページサスペンドリード」と呼び、書き込み対象のページアドレスと読み出し対象のページアドレスが異なる場合のページ読み出しを「ノーマルサスペンドリード」と呼ぶ。
【０１３４】
シーケンサ１５は、サスペンドリードが終了すると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とし（ステップＳ１１）、サスペンド情報に基づいて書き込み動作を再開する（ステップＳ１２）。
【０１３５】
コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、ＮＡＮＤ型フラッシュメモリ１００に、キャッシュ読み出し命令（キャッシュリードコマンド、アドレスＡＤＤ）を送信する（ステップＳ１３）。
【０１３６】
シーケンサ１５は、書き込み動作実行中においても、キャッシュ読み出し命令に応じて、データレジスタ２１が保持する読み出しデータＲＤをコントローラ２００に送信する（ステップＳ１４）。
【０１３７】
コントローラ２００は、読み出しデータＲＤのＥＣＣ処理を実行した後、ホスト機器２にＥＣＣ訂正処理後の読み出しデータＲＤを送信する（ステップＳ１５）。ホスト機器２は、コントローラ２００からＥＣＣ訂正処理後の読み出しデータＲＤを受信する（ステップＳ１６）。
【０１３８】
１．４．２  ＮＡＮＤ型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、ＮＡＮＤ型フラッシュメモリ１００における書き込み動作の全体の流れについて、図１０及び図１１を用いて説明する。図１０及び図１１の例では、ベリファイ後に書き込み動作を中断し、プログラムから書き込み動作を再開する場合について説明する。なお、ベリファイ後に書き込み動作を中断した場合においても、ベリファイから書き込み動作を再開しても良い。更には、プログラム後に書き込み動作を中断しても良く、この場合、ベリファイから書き込み動作を再開しても良い。
【０１３９】
図１０に示すように、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から書き込み命令（キャッシュライトコマンド、アドレスＡＤＤ、及び書き込みデータＷＤ）を受信する（ステップＳ１０１）。
【０１４０】
シーケンサ１５は、書き込み命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ１０２）、書き込み動作を開始する（ステップＳ１０３）。より具体的には、シーケンサ１５は、データレジスタ２１に格納された書き込みデータＷＤを、センスアンプ２０に送信する。書き込みデータＷＤが下位ページのデータの場合、書き込みデータＷＤはラッチ回路ＡＤＬに格納される。同様に、中位ページのデータは、ラッチ回路ＢＤＬに格納され、上位ページのデータは、ラッチ回路ＣＤＬに格納される。
【０１４１】
シーケンサ１５は、データレジスタ２１（ラッチ回路ＸＤＬ）からセンスアンプ２０への書き込みデータＷＤの送信が終了し、データレジスタ２１が使用可能な状態になると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とする（ステップＳ１０４）
次に、シーケンサ１５は、プログラムを実行する（ステップ１０５）。より具体的には、センスアンプ２０は、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬのデータを演算した結果を、プログラムデータとしてラッチ回路ＳＤＬに格納する。そして、センスアンプ２０は、ラッチ回路ＳＤＬが保持するデータに基づいてプログラムを開始する。ラッチ回路ＳＤＬに“０”データが格納されている場合、すなわちノードＬＡＴ＿Ｓが“Ｌ”レベルの場合、“０”プログラムに対応してビット線ＢＬ（“０”）に電圧ＶＳＳが印加される。他方で、ラッチ回路ＳＤＬに“１”データが格納されている場合、すなわちノードＬＡＴ＿Ｓが“Ｈ”レベルの場合、“１”プログラムに対応してビット線ＢＬ（“１”）に電圧ＶＢＬ（＞ＶＳＳ）が印加される。ロウデコーダ１９は、選択ブロックＢＬＫにおいて、いずれかのワード線ＷＬを選択し、選択ワード線ＷＬにプログラム電圧として電圧ＶＰＧＭを印加し、非選択ワード線ＷＬに電圧ＶＰＡＳＳを印加する。電圧ＶＰＧＭは、電子を電荷蓄積層に注入するための高電圧である。例えば、１回目のプログラムにおいて、ロウデコーダ１９は選択ワード線ＷＬに電圧ＶＰＧＭを印加する。電圧ＶＰＡＳＳは、メモリセルトランジスタＭＴの閾値電圧によらず、メモリセルトランジスタＭＴをオン状態にする電圧である。電圧ＶＰＧＭと電圧ＶＰＡＳＳとは、ＶＰＧＭ＞ＶＰＡＳＳの関係にある。これにより、対象となるメモリセルトランジスタＭＴに“１”または“０”データが書き込まれる。
【０１４２】
次に、シーケンサ１５は、ベリファイを実行する（ステップＳ１０６）。より具体的には、シーケンサ１５は、メモリセルトランジスタＭＴの閾値電圧がベリファイ電圧Ｖｐｆｙ以上の場合、すなわち、ベリファイをパスした場合、ラッチ回路ＳＤＬに、例えば“１”データを格納する。他方で、メモリセルトランジスタＭＴの閾値電圧がベリファイ電圧Ｖｐｆｙよりも低い場合、すなわち、ベリファイをフェイルした場合、ラッチ回路ＳＤＬに、例えば“０”データを格納する。ベリファイ電圧Ｖｐｆｙは、図８の読み出し電圧ＶＣＧＲＶに相当する。例えば、“Ａ”レベルのベリファイを実行する場合、ベリファイ電圧Ｖｐｆｙとして電圧ＡＶが印加される。ベリファイをパスした場合、シーケンサ１５は、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬに“１”データを格納する。
【０１４３】
シーケンサ１５は、コントローラ２００からページ読み出し命令（ページリードコマンド及びアドレスＡＤＤ）を受信した場合（ステップＳ１０７＿Ｙｅｓ）、書き込み動作を中断する（ステップＳ１０８）。
【０１４４】
他方で、シーケンサ１５は、コントローラ２００からページ読み出し命令を受信していない場合（ステップＳ１０７＿Ｎｏ）、書き込み動作を継続する。
【０１４５】
シーケンサ１５は、書き込み動作を中断した後（ステップＳ１０８）、信号Ｒ／Ｂｎを“Ｌ”レベルにする（ステップ１０９）。
【０１４６】
図１１に示すように、書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページの場合（ステップＳ１１０＿Ｙｅｓ）、シーケンサ１５は、同一ページサスペンドリードを実行する。
【０１４７】
同一ページサスペンドリードにおいて、シーケンサ１５は、まずページ読み出しを実行する（ステップ１１１）。より具体的には、ロウデコーダ１９は、選択ブロックＢＬＫの選択ワード線ＷＬに電圧ＶＣＧＲＶを印加し、非選択ワード線ＷＬに電圧ＶＲＥＡＤを印加する。この状態でセンスアンプ２０は、各ビット線ＢＬに流れる電流をセンスして、メモリセルトランジスタＭＴのデータを読み出す。そしてセンスアンプ２０は、読み出したデータをラッチ回路ＸＤＬに転送する。
【０１４８】
次に、センスアンプ２０は、読み出し対象となるメモリセルトランジスタＭＴが書き込み未了（書き込み未了セル）である場合、ラッチ回路ＸＤＬに、ラッチ回路ＡＤＬ、ＢＤＬ、またはＣＤＬの書き込みデータＷＤを送信する（ステップＳ１１２）。従って、書き込み動作が終了しているメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬには、読み出しデータＲＤとしてメモリセルトランジスタＭＴのデータが格納される。他方で、書き込み動作が終了していないメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬには、読み出しデータＲＤとして書き込みデータＷＤが格納される。すなわち、ラッチ回路ＸＤＬには、書き込みデータＷＤと同じデータが読み出しデータＲＤとして格納される。
【０１４９】
書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページではない場合（ステップＳ１１０＿Ｎｏ）、シーケンサ１５は、ノーマルサスペンドリード、すなわち通常のページ読み出しを実行する（ステップＳ１１３）。この場合、各ラッチ回路ＸＤＬには、読み出しデータＲＤとしてメモリセルトランジスタＭＴのデータが格納される。
【０１５０】
シーケンサ１５は、サスペンドリードが終了すると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とし（ステップＳ１１４）、サスペンド情報に基づいて書き込み動作を再開する（ステップＳ１１５）。
【０１５１】
また、シーケンサ１５は、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とした後（ステップＳ１１４）、コントローラ２００からキャッシュ読み出し命令（キャッシュリードコマンド及びアドレスＡＤＤ）を受信する（ステップＳ１１６）。シーケンサ１５は、書き込み動作を再開した状態においても、データレジスタ２１（ラッチ回路ＸＤＬ）の読み出しデータＲＤをコントローラ２００に送信する（ステップＳ１１７）。
【０１５２】
また、シーケンサ１５は、書き込み動作を再開する（ステップＳ１１５）。
【０１５３】
シーケンサ１５は、ベリファイをパスしている場合（ステップ１１８＿Ｙｅｓ）、書き込み動作を終了させる。より具体的には、シーケンサ１５は、ベリファイをフェイルしたビット数（メモリセルトランジスタ数）をカウントし、フェイルビット数が規定値未満の場合、ベリファイをパスしたと判定し、書き込み動作を終了させる。
【０１５４】
また、シーケンサ１５は、ベリファイをフェイルした場合（ステップＳ１１８＿Ｎｏ）、プログラムループが予め設定された規定回数に達したか確認する（ステップＳ１１９）。
【０１５５】
プログラムループが規定回数に達している場合（ステップＳ１１９＿Ｙｅｓ）、シーケンサ１５は、書き込み動作を終了させ、書き込み動作が正常に終了しなかった旨をコントローラ２００に報告する。
【０１５６】
プログラムループが規定回数に達していない場合（ステップＳ１１９＿Ｎｏ）、シーケンサ１５は、プログラム電圧をステップアップさせる（ステップＳ１２０）。より具体的には、シーケンサ１５は、プログラムループを繰り返す度にプログラム電圧を電圧ΔＶだけステップアップさせる。例えば１回目のプログラムにおけるプログラム電圧をＶＰＧＭとすると、２回目のプログラムにおけるプログラム電圧はＶＰＧＭ＋ΔＶであり、３回目のプログラムにおけるプログラム電圧はＶＰＧＭ＋２ΔＶである。すなわち、ｍ回目（ｍは１以上の整数）のプログラムにおけるプログラム電圧は、ＶＰＧＭ＋（ｍ−１）ΔＶである。
【０１５７】
プログラム電圧をステップアップさせた後（ステップＳ１２０）、ステップＳ１０５に戻り、次のプログラムループが実行される。このとき、ロウデコーダ１９は、選択ワード線ＷＬにステップアップさせたプログラム電圧を印加する。
【０１５８】
シーケンサ１５は、ベリファイをパスするか、プログラムループが規定回数に達するまで、プログラムループを繰り返す。
【０１５９】
１．４．３  書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ２００の動作ついて、図１２を用いて説明する。図１２の例は、コントローラ２００が下位ページ、中位ページ、または上位ページのいずれかの書き込み動作においてキャッシュライトコマンドを送信する場合を示している。
【０１６０】
図１２に示すように、まず、コントローラ２００は、下位ページ（“０１ｈ”）、中位ページ（“０２ｈ”）、または上位ページ（“０３ｈ”）を指定するコマンド及び書き込み動作を実行することを通知するコマンド“８０ｈ”をＮＡＮＤ型フラッシュメモリ１００に送信するとともに、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【０１６１】
次に、コントローラ２００は、アドレス“ＡＤＤ”を送信すると共に、アドレスラッチイネーブル信号ＡＬＥを“Ｈ”レベルにしてアサートする。なお、図１２の例では、カラムアドレスＣＡを２サイクル送信した後、ロウアドレスＲＡを３サイクル送信する場合を示しているが、カラムアドレス及びロウアドレスのサイクルは任意に設定可能である。また、ページを指定するコマンド０１ｈ、０２ｈ、及び０３ｈが省略され、カラムアドレスＣＡが下位ページ、中位ページ、及び上位ページに対応するページアドレスを含んでいても良い。
【０１６２】
次に、コントローラ２００は、書き込みデータ“ＷＤ”を必要なサイクル数送信する。
【０１６３】
更にコントローラ２００は、書き込み実行を指示するキャッシュライトコマンド“１５ｈ”を送信すると共に、コマンドラッチイネーブル信号ＣＬＥを“Ｈ”レベルにしてアサートする。
【０１６４】
ライトコマンド“１５ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、書き込み動作を開始し、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。
【０１６５】
データレジスタ２１からセンスアンプ２０への書き込みデータＷＤの転送が終了し、データレジスタ２１（ラッチ回路ＸＤＬ）が使用可能な状態になると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１６６】
信号Ｒ／Ｂｎが“Ｈ”レベルとされた後、シーケンサ１５はプログラムループを繰り返して、メモリセルトランジスタＭＴにデータを書き込む。
【０１６７】
１．４．４  フルシーケンス書き込みにおけるコントローラの動作について
次に、フルシーケンス書き込みにおけるコントローラ２００の動作ついて、図１３を用いて説明する。図１３の例は、フルシーケンス書き込みにおいて、下位ページ、中位ページ、上位ページの順に書き込みデータＷＤを送信する場合を示している。また、図１３の例は、データＤＱ［７：０］及び信号Ｒ／Ｂｎを示しており、信号ＣＥｎ、ＣＬＥ、ＡＬＥ、ＷＥｎ、ＲＥｎは省略されている。なお、各ページのデータの送信順序は任意に設定可能である。
【０１６８】
図１３に示すように、コントローラ２００は、下位ページの書きこみデータＷＤを送信するコマンドシーケンス（以下、「第１コマンドセット」と呼ぶ）として、下位ページを指定するコマンド“０１ｈ”、書き込み動作を実行することを通知するコマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、下位ページの書きこみデータＷＤ、及びコマンド“１Ａｈ”を順に送信する。コマンド“１Ａｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。そして、データレジスタ２１（ラッチ回路ＸＤＬ）からセンスアンプ２０（ラッチ回路ＡＤＬ）への下位ページの書き込みデータＷＤの送信が終了し、データレジスタ２１が使用可能な状態になると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１６９】
次に、コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベルに復帰したのを確認すると、中位ページの書きこみデータＷＤを送信するコマンドシーケンス（以下、「第２コマンドセット」と呼ぶ）として、中位ページを指定するコマンド“０２ｈ”、コマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、中位ページの書きこみデータＷＤ、及びセンスアンプ２０へのデータ格納を指示するコマンド“１Ａｈ”を送信する。コマンド“１Ａｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。データレジスタ２１からセンスアンプ２０（ラッチ回路ＢＤＬ）への中位ページの書き込みデータＷＤの送信が終了し、データレジスタ２１が使用可能な状態になると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１７０】
次に、コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベルに復帰したのを確認すると、上位ページの書きこみデータＷＤを送信するコマンドシーケンス（以下、「第３コマンドセット」と呼ぶ）として、上位ページを指定するコマンド“０３ｈ”、コマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、上位ページの書きこみデータＷＤ、及びライトコマンド“１０ｈ”を送信する。ライトコマンド“１０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。メモリセルトランジスタＭＴへの書き込み動作が終了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１７１】
なお、ライトコマンド“１０ｈ”の代わりに、キャッシュライトコマンド“１５ｈ”を用いても良い。この場合、データレジスタ２１からセンスアンプ２０（ラッチ回路ＣＤＬ）への上位ページの書き込みデータＷＤの送信が終了し、データレジスタ２１が使用可能な状態になると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０１７２】
１．４．５  プログラム時の各配線の電圧について
次に、プログラム時の各配線の電圧について、図１４を用いて説明する。図１４の例は、１回目のプログラムループにおけるプログラムを示している。
【０１７３】
図１４に示すように、時刻ｔ１において、センスアンプ２０は、ビット線ＢＬ（“１”）に電圧ＶＢＬを印加し、ＢＬプリチャージを開始する。より具体的には、ラッチ回路ＳＤＬに“１”データ（ノードＬＡＴ＿Ｓに“Ｈ”レベルのデータ）が保持されている場合、ノードＩＮＶ＿Ｓは“Ｌ”レベルとなるため、トランジスタ５１がオン状態となる。この状態において、信号ＢＬＳ及びＢＬＸが“Ｈ”レベルとされて、トランジスタ４０及び４２がオン状態とされる。そして、信号ＢＬＣが“Ｈ”レベルとされて、トランジスタ４１のゲートに電圧“ＶＢＬ＋Ｖｔ４１”（Ｖｔ４１はトランジスタ４１の閾値電圧）が印加されると、ビット線ＢＬ（“１”）に電圧ＶＢＬが印加される。他方で、ラッチ回路ＳＤＬに“０”データ（ノードＬＡＴ＿Ｓに“Ｌ”レベルのデータ）が保持されている場合、ノードＩＮＶ＿Ｓは“Ｈ”レベルとなるため、トランジスタ４３がオン状態とされる。ノードＳＲＣＧＮＤに電圧ＶＳＳが印加されている場合、対応するビット線ＢＬ（“０”）には電圧ＶＳＳが印加される。
【０１７４】
ロウデコーダ１９は、選択ブロックＢＬＫにおいて、選択ストリングユニットＳＵの選択ゲート線ＳＧＤ（参照符号“選択ＳＧＤ”）に電圧ＶＳＤ１を印加する。選択トランジスタＳＴ１の閾値電圧をＶｔｓｇとすると、電圧ＶＳＤ１は、“ＶＢＬ＋Ｖｔｓｇ”以上の電圧で、選択トランジスタＳＴ１をオン状態とさせる電圧である。他方で、ロウデコーダ１９は、非選択ストリングユニットＳＵの選択ゲート線ＳＧＤ（参照符号“非選択ＳＧＤ”）に電圧ＶＳＳを印加して、対応する選択トランジスタＳＴ１をオフ状態とさせる。また、ロウデコーダ１９は、選択ストリングユニットＳＵおよび非選択ストリングユニットＳＵの選択ゲート線ＳＧＳに電圧ＶＳＳを印加して、選択トランジスタＳＴ２をオフ状態とさせる。
【０１７５】
またソース線ＳＬには、例えばソース線ドライバ（不図示）を介して、電圧ＶＣＥＬＳＲＣ（＞ＶＳＳ）が印加される。
【０１７６】
時刻ｔ２において、ロウデコーダ１９は、選択ストリングユニットＳＵの選択ゲート線ＳＧＤに電圧ＶＳＤ２を印加する。電圧ＶＳＤ２は、電圧ＶＳＤ１及び電圧ＶＢＬよりも低い電圧で、電圧ＶＳＳを印加された選択トランジスタＳＴ１はオンさせるが、電圧ＶＢＬを印加された選択トランジスタＳＴ１はカットオフさせる電圧である。これにより、ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＳＲのチャネルはフローティング状態となる。
【０１７７】
時刻ｔ３において、ロウデコーダ１９は、選択ストリングユニットＳＵの各ワード線ＷＬに電圧ＶＰＡＳＳを印加する。
【０１７８】
時刻ｔ４において、ロウデコーダ１９は、選択ストリングユニットＳＵの選択ワード線ＷＬに電圧ＶＰＧＭを印加する。
【０１７９】
ビット線ＢＬ（“０”）に対応するＮＡＮＤストリングＳＲでは、選択トランジスタＳＴ１がオン状態となっているため、選択ワード線ＷＬに接続されたメモリセルトランジスタＭＴのチャネル電位はＶＳＳとなる。よって、制御ゲートとチャネルとの間の電位差（ＶＰＧＭ−ＶＳＳ）が大きくなる。その結果、電子が電荷蓄積層に注入されて、ビット線ＢＬ（“０”）に対応するメモリセルトランジスタＭＴの閾値電圧が上昇される。
【０１８０】
ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＳＲでは、選択トランジスタＳＴ１がカットオフ状態となっているため、選択ワード線ＷＬに接続されたメモリセルトランジスタＭＴのチャネルは電気的にフローティングとなる。すると、ワード線ＷＬ等との容量カップリングにより、チャネル電位は上昇する。よって、制御ゲートとチャネルとの間の電位差は、ビット線ＢＬ（“０”）に対応するメモリセルトランジスタＭＴよりも小さくなる。その結果、電子が電荷蓄積層にほとんど注入されず、ビット線ＢＬ（“１”）に対応するメモリセルトランジスタＭＴの閾値電圧は維持される（閾値分布レベルがより高い分布に遷移するほどには閾値電圧は変動しない）。
【０１８１】
時刻ｔ５において、ロウデコーダ１９は、ワード線ＷＬに電圧ＶＳＳを印加する。
【０１８２】
時刻ｔ６において、リカバリ処理が実行され、プログラムは終了する。
【０１８３】
１．５  同一ページサスペンドリードの具体例について
次に、同一ページサスペンドリードを実行する場合の具体例について説明する。
【０１８４】
１．５．１  書き込み動作の全体の流れの具体例について
まず、書き込み動作の全体の流れについて、図１５を用いて説明する。図１５の例は、２回目のプログラムループにおいてベリファイ終了後、書き込み動作を中断し、同一ページサスペンドリード実行後、書き込み動作を再開する場合を示している。また、図１５の例は、ストリングユニットＳＵ０のワード線ＷＬ０を選択して、フルシーケンス書き込み及び下位ページ読み出し動作を実行する場合を示している。なお、説明を簡略化するため、選択ワード線ＷＬおよび選択ゲート線ＳＧＤに印加される電圧の一部は省略されている。
【０１８５】
図１５に示すように、時刻ｔ０〜ｔ１の期間において、コントローラ２００は、フルシーケンス書き込みのコマンドシーケンスとして、図１３で説明した第１コマンドセット、第２コマンドセット、及び第３コマンドセットをＮＡＮＤ型フラッシュメモリ１００に送信する。
【０１８６】
時刻ｔ１において、シーケンサ１５は、ライトコマンド“１５ｈ”に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルにし、書き込み動作を開始する。時刻ｔ１〜ｔ２の期間、書き込み動作のステータスは準備状態（参照符号“ＳＥＴＵＰ”）とされ、データレジスタ２１は、センスアンプ２０に書き込みデータＷＤを送信する。
【０１８７】
時刻ｔ２において、データレジスタ２１からセンスアンプ２０への書き込みデータＷＤの転送が終了すると、シーケンサ１５は、信号Ｒ／Ｂｎを“Ｈ”レベルにする。そして、時刻ｔ２〜ｔ３の期間、書き込み動作のステータスはプログラム状態（参照符号“ＰＲＯＧ”）とされ、シーケンサ１５は、１回目のプログラムを実行する。ロウデコーダ１９は、選択ワード線ＷＬ０に電圧ＶＰＧＭを印加し、選択ストリングユニットＳＵ０の選択ゲート線ＳＧＤ０に電圧ＶＳＤ２を印加し、非選択ストリングユニットＳＵ１〜ＳＵ３の選択ゲート線ＳＧＤ１〜ＳＧＤ３に電圧ＶＳＳを印加する。
【０１８８】
時刻ｔ３〜ｔ４の期間、書き込み動作のステータスはベリファイ状態（参照符号“ＰＶＦＹ”）とされ、シーケンサ１５は、１回目のベリファイを実行する。ロウデコーダ１９は、選択ワード線ＷＬ０にベリファイ電圧Ｖｐｆｙを印加し、選択ゲート線ＳＧＤ０に電圧ＶＳＧを印加し、選択ゲート線ＳＤＧ１〜ＳＧＤ３に電圧ＶＳＳを印加する。なお、時刻ｔ３〜ｔ４の期間、複数のレベルのベリファイが実行されても良い。
【０１８９】
時刻ｔ４〜ｔ５の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ１５は、２回目のプログラムを実行する。ロウデコーダ１９は、選択ワード線ＷＬ０にプログラム電圧ＶＰＧＭ＋ΔＶを印加する。他の動作は、時刻ｔ２〜ｔ３の期間と同じである。
【０１９０】
時刻ｔ５〜ｔ６の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ１５は、２回目のベリファイを実行する。具体的な動作は、時刻ｔ３〜ｔ４の期間と同じである。
【０１９１】
シーケンサ１５は、時刻ｔ２以降にコントローラ２００から、同じメモリセルグループＭＣＧの下位ページのページ読み出し命令（コマンド“０１ｈ”、“００ｈ”、５サイクルのアドレスデータ“ＡＤＤ”、及びページリードコマンド“３０ｈ”）を受信する。例えば、シーケンサ１５は、時刻ｔ５〜ｔ６の期間にページリードコマンド“３０ｈ”を受信すると、時刻ｔ６において、書き込み動作を中断し、信号Ｒ／Ｂｎを“Ｌ”レベルにする。そして、時刻ｔ６〜ｔ７の期間、書き込み動作のステータスはサスペンドリード状態（参照符号“ＳＰＤ−ＲＥＡＤ”）とされ、シーケンサ１５は、同一ページサスペンドリードを実行する。ロウデコーダ１９は、“Ａ”レベルの読み出しの場合、書き込み動作と同じ選択ワード線ＷＬ０に電圧ＡＲを印加し、“Ｅ”レベルの読み出しの場合、選択ワード線ＷＬ０に電圧ＥＲを印加する。またロウデコーダは、“Ａ”レベルと“Ｅ”レベルの読み出しの間、書き込み動作と同じ選択ゲート線ＳＧＤ０に電圧ＶＳＧを印加し、選択ゲート線ＳＧＤ１〜ＳＧＤ３に電圧ＶＳＳを印加する。
【０１９２】
例えば、ノーマルページリードにおいて、読み出し対象となるメモリセルトランジスタＭＴが、同じストリングユニットＳＵ内の異なるメモリセルグループＭＣＧである場合、読み出し動作における選択ワード線ＷＬが書き込み動作における選択ワード線ＷＬ０と異なる。また、読み出し対象となるメモリセルトランジスタＭＴが、異なるストリングユニットＳＵにある場合、読み出し動作における選択ストリングユニットＳＵに対応する選択ゲート線ＳＧＤが、書き込み動作における選択ストリングユニットＳＵに対応する選択ゲート線ＳＧＤ０と異なる。
【０１９３】
時刻ｔ７において、同一ページサスペンドリードが終了すると、シーケンサ１５は、信号Ｒ／Ｂｎを“Ｈ”レベルとし、書き込み動作を再開する。時刻ｔ７〜ｔ８の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ１５は、３回目のプログラムを実行する。ロウデコーダ１９は、選択ワード線ＷＬ０にプログラム電圧ＶＰＧＭ＋２ΔＶを印加する。他の動作は、時刻ｔ２〜ｔ３の期間と同じである。
【０１９４】
時刻ｔ８〜ｔ９の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ１５は、３回目のベリファイを実行する。具体的な動作は、時刻ｔ３〜ｔ４の期間と同じである。
【０１９５】
シーケンサ１５は、プログラムループを繰り返し、時刻ｔ１０〜ｔ１１の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ１５は、ｍ回目のプログラムを実行する。ロウデコーダ１９は、選択ワード線ＷＬ０にプログラム電圧ＶＰＧＭ＋（ｍ−１）ΔＶを印加する。他の動作は、時刻ｔ２〜ｔ３の期間と同じである。
【０１９６】
時刻ｔ１１〜ｔ１２の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ１５は、ｍ回目のベリファイを実行する。具体的な動作は、時刻ｔ３〜ｔ４の期間と同じである。そして、シーケンサ１５は、ｍ回目のベリファイで、ベリファイをパスすると、時刻ｔ１２〜ｔ１３の期間、リカバリ処理を実行し、書き込み動作を終了する。
【０１９７】
シーケンサ１５は、時刻ｔ７〜ｔ１３の期間に、キャッシュ読み出し命令（コマンド“０５ｈ”、５サイクルのアドレスデータ“ＡＤＤ”、及びキャッシュリードコマンド“Ｅ０ｈ”）を受信すると、書き込み動作を実行中であっても、読み出しデータＲＤをコントローラ２００に送信する。
【０１９８】
１．５．２  ラッチ回路が保持するデータの具体例について
次に、同一ページサスペンドリードにおいて、ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬが保持するデータの具体例について、図１６〜図２１を用いて説明する。図１６〜図２１の例は、コントローラ２００から下位ページ、中位ページ、上位ページの書き込みデータＷＤを受信し、プログラム、“Ａ”レベルのベリファイ、及び“Ｂ”レベルのベリファイを実行した後、同一ページサスペンドリードを実行する場合を示している。なお、本例では、説明を簡略化するため、書き込みデータＷＤが“Ｅｒ”レベル、“Ａ”レベル、“Ｂ”レベル、及び“Ｅ”レベルの場合を示す。また、以下の説明において、ビット線ＢＬ０に対応するラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬを限定する場合、ラッチ回路ＳＤＬ０、ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、及びＸＤＬ０とそれぞれ表記する。他のビット線ＢＬ１〜ＢＬ５についても同様である。
【０１９９】
まず、図１６に示すように、コントローラ２００から受信した３ビットの書き込みデータＷＤは、ラッチ回路ＸＤＬを介して、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬにそれぞれ格納される。図１６の例では、ビット線ＢＬ０に対応するラッチ回路ＡＤＬ０、ＢＤＬ０、及びＣＤＬ０に“Ｅｒ”レベルのデータが格納され、ビット線ＢＬ１に対応するラッチ回路ＡＤＬ１、ＢＤＬ１、及びＣＤＬ１、並びにビット線ＢＬ２に対応するラッチ回路ＡＤＬ２、ＢＤＬ２、及びＣＤＬ２に“Ａ”レベルのデータが格納される。更に、ビット線ＢＬ３に対応するラッチ回路ＡＤＬ３、ＢＤＬ３、及びＣＤＬ３、並びにビット線ＢＬ４に対応するラッチ回路ＡＤＬ４、ＢＤＬ４、及びＣＤＬ４に“Ｂ”レベルのデータが格納され、ビット線ＢＬ５に対応するラッチ回路ＡＤＬ５、ＢＤＬ５、及びＣＤＬ５に“Ｅ”レベルのデータが格納される。
【０２００】
そして、各センスアンプユニットＳＡＵは、センス回路ＳＡにおいて、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬのデータのＡＮＤ演算（ＳＤＬ＝ＡＤＬ＆ＢＤＬ＆ＣＤＬ）（“＆”：ＡＮＤ演算を示す）を行い、その結果をプログラムデータとしてラッチ回路ＳＤＬに格納する。この結果、“１”データが“Ｅｒ”レベルのデータに対応するラッチ回路ＳＤＬに格納される。また、“０”データが“Ａ”〜“Ｇ”レベルのデータに対応するラッチ回路ＳＤＬに格納される。図１６の例では、 “１”データがラッチ回路ＳＤＬ０に格納され、“０”データがラッチ回路ＳＤＬ１〜ＳＤＬ５に格納される。
【０２０１】
そして、ラッチ回路ＳＤＬのデータに応じて１回目のプログラムが実行される。すなわち“Ｅｒ”レベルのデータに対応するセンスアンプユニットＳＡＵでは、“１”プログラムが実行され、“Ａ”〜“Ｇ”レベルのデータに対応するセンスアンプユニットＳＡＵでは、“０”プログラムが実行される。
【０２０２】
図１７に示すように、次に、シーケンサ１５は、“Ａ”レベルのベリファイを実行する。なお、図１７の例では、Ａ”レベルのベリファイの対象外であるため、“Ｅｒ”レベル、“Ｂ”レベル、“Ｅ”レベルに対応するラッチ回路ＳＤＬのデータを不定とし、説明を省略する。
【０２０３】
より具体的には、まず“Ａ”レベルのベリファイの結果が、センス回路ＳＡのノードＳＥＮからラッチ回路ＳＤＬに転送される。ベリファイをパスした場合、“１”データがラッチ回路ＳＤＬに格納され、ベリファイ動作をフェイルした場合、“０”データがラッチ回路ＳＤＬに格納される。図１７の例では、“０”データがラッチ回路ＳＤＬ１に格納され、“１”データがラッチ回路ＳＤＬ２に格納される。
【０２０４】
次に、センスアンプ２０は、各レベルのベリファイに対応して、以下に示す演算を行う。この結果、ベリファイをパスした場合、対応するラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬのデータは、“１”データとされる。なお、以下の演算式において、“｜”はＯＲ演算を示し、“／”は反転データを示す。また、各演算式において、右辺のラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬの値は、書き込みデータＷＤを示す。例えば、“Ｂ”レベルのベリファイの場合、まず、ラッチ回路ＳＤＬにＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆ＣＤＬの演算結果が格納される。次に、ラッチ回路ＡＤＬとラッチ回路ＳＤＬのＯＲ演算の結果がラッチ回路ＡＤＬに格納され、ラッチ回路ＢＤＬとラッチ回路ＳＤＬのＯＲ演算の結果がラッチ回路ＢＤＬに格納される。
“Ａ”レベルのベリファイ
ＡＤＬ＝ＡＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆ＢＤＬ＆ＣＤＬ）
“Ｂ”レベルのベリファイ
ＡＤＬ＝ＡＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆ＣＤＬ）
ＢＤＬ＝ＢＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆ＣＤＬ）
“Ｃ”レベルのベリファイ
ＡＤＬ＝ＡＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆（／ＣＤＬ）
ＢＤＬ＝ＢＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆（／ＣＤＬ）
ＣＤＬ＝ＣＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆（／ＢＤＬ）＆（／ＣＤＬ）
“Ｄ”レベルのベリファイ
ＡＤＬ＝ＡＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆ＢＤＬ＆（／ＣＤＬ）
ＣＤＬ＝ＣＤＬ｜（ＳＤＬ＆（／ＡＤＬ）＆ＢＤＬ＆（／ＣＤＬ）
“Ｅ”レベルのベリファイ
ＡＤＬ＝ＡＤＬ｜（ＳＤＬ＆ＡＤＬ＆ＢＤＬ＆（／ＣＤＬ））
“Ｆ”レベルのベリファイ
ＢＤＬ＝ＢＤＬ｜（ＳＤＬ＆ＡＤＬ＆（／ＢＤＬ）＆（／ＣＤＬ））
ＣＤＬ＝ＣＤＬ｜（ＳＤＬ＆ＡＤＬ＆（／ＢＤＬ）＆（／ＣＤＬ））
“Ｇ”レベルのベリファイ
【０２０５】
ＢＤＬ＝ＢＤＬ｜（ＳＤＬ＆ＡＤＬ＆（／ＢＤＬ）＆ＣＤＬ）
図１７の例では、上述の“Ａ”レベルのベリファイに対応した演算が実行される。この結果、“１”データが、“Ａ”ベリファイをパスしたメモリセルトランジスタＭＴに対応するラッチ回路ＡＤＬ２に格納される。
【０２０６】
図１８に示すように、例えば、シーケンサ１５は、“Ｂ”レベルのベリファイを実行する。１回のプログラムによる閾値電圧の上昇幅（書き込み速度）はメモリセルトランジスタＭＴ毎にばらつくため、“Ａ”レベルの書き込みが終了していないメモリセルトランジスタＭＴと、“Ｂ”レベルの書き込みが終了しているメモリセルトランジスタＭＴとが混在する場合がある。“Ｂ”レベルのベリファイの結果、“０”データがラッチ回路ＳＤＬ３に格納され、“１”データがラッチ回路ＳＤＬ４に格納される。そして、上述の“Ｂ”レベルのベリファイに対応した演算が実行される。この結果、“１”データが、“Ｂ”ベリファイをパスしたメモリセルトランジスタＭＴに対応するラッチ回路ＡＤＬ４及びＢＤＬ４に格納される。
【０２０７】
この段階で、ビット線ＢＬ２及びＢＬ４に対応するメモリセルトランジスタＭＴは書き込み終了状態にあり、ビット線ＢＬ１、ＢＬ３、及びＢＬ５に対応しているメモリセルトランジスタＭＴは書き込み未了状態にある。
【０２０８】
図１９に示すように、ベリファイ後、シーケンサ１５は、書き込み動作を中断し、同一サスペンドリードを実行する。より具体的には、まず、シーケンサ１５は、下位ページの読み出し（“Ａ”レベルと“Ｅ”レベルの読み出し）を行い、その結果をラッチ回路ＳＤＬに格納する。より具体的には、シーケンサ１５は、まず“Ａ”レベルの読み出しを行う。このとき、“Ｅｒ”レベルに対応するメモリセルトランジスタＭＴはオン状態にされ、ビット線ＢＬからソース線ＳＬに電流が流れる。このためノードＳＥＮは”Ｌ”レベルとされる。他方で、“Ａ”〜“Ｇ”レベルに対応するメモリセルトランジスタＭＴはオフ状態にされ、ビット線ＢＬからソース線ＳＬに電流が流れない。このため、ノードＳＥＮは、“Ｈ”レベルを維持する。この結果、“Ｅｒ”レベルに対応するラッチ回路ＳＤＬには、ノードＳＥＮの反転データである“１”データが格納され、“Ａ”〜“Ｇ”レベルに対応するラッチ回路ＳＤＬには“０”データが格納される。次に、シーケンサ１５は、“Ｅ”レベルの読み出しを行う。その結果、“Ｅｒ”〜“Ｄ” レベルに対応するノードＳＥＮは”Ｌ”レベルとされ、“Ｅ”〜“Ｇ”レベルに対応するノードＳＥＮは、“Ｈ”レベルとされる。センスアンプ２０は、ノードＳＥＮのデータとラッチ回路ＳＤＬのデータとのＯＲ演算を行い、その結果をラッチ回路ＳＤＬに格納する。その結果、“Ｅｒ”及び“Ｅ”〜“Ｇ”レベルに対応するラッチ回路ＳＤＬには“１”データが格納され、“Ａ”〜“Ｄ”レベルに対応するラッチ回路ＳＤＬには、“０”データが格納される。図１９の例では、このとき、“１”データがラッチ回路ＳＤＬ０に格納され、“０”データがラッチ回路ＳＤＬ２及びＳＤＬ４に格納される。書き込み未了のメモリセルトランジスタＭＴに対応するラッチ回路ＳＤＬ１、ＳＤＬ３、及びＳＤＬ５のデータは、不定とされる。そして、ラッチ回路ＳＤＬのデータがラッチ回路ＸＤＬに転送される。
【０２０９】
図２０に示すように、次に、シーケンサ１５は、センスアンプ２０において、ＸＤＬ＝ＸＤＬ＆ＡＤＬ＆ＢＤＬ＆ＣＤＬの演算を行い、書き込み未了のメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬに“０”データを格納する。図２０の例では、“０”データが、ラッチ回路ＸＤＬ１、ＸＤＬ３、ＸＤＬ５に格納される。
【０２１０】
図２１に示すように、次に、センスアンプ２０は、読み出し対象となるページ対応して以下の演算を行う。この結果、“０”データを保持し（ラッチ回路ＸＤＬ＝０）且つ書き込み未了のメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬには、ラッチ回路ＡＤＬ、ＢＤＬ、またはＣＤＬが保持する書き込みデータＷＤが格納される。
下位ページ：ＸＤＬ＝ＡＤＬ＆（／（ＡＤＬ＆ＢＤＬ＆ＣＤＬ））｜ＸＤＬ
中位ページ：ＸＤＬ＝ＢＤＬ＆（／（ＡＤＬ＆ＢＤＬ＆ＣＤＬ））｜ＸＤＬ
上位ページ：ＸＤＬ＝ＣＤＬ＆（／（ＡＤＬ＆ＢＤＬ＆ＣＤＬ））｜ＸＤＬ
【０２１１】
図２１の例では、“Ｅｒ”レベルに対応するラッチ回路ＸＤＬ０および書き込み終了のメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬ２及びＸＤＬ４には、メモリセルトランジスタＭＴから読み出されたデータが格納され、書き込み未了のメモリセルトランジスタＭＴに対応するラッチ回路ＸＤＬ１、ＸＤＬ３、及びＸＤＬ５には、ラッチ回路ＡＤＬ１、ＡＤＬ３、ＡＤＬ５の書きこみデータＷＤがそれぞれ格納される。そして、ラッチ回路ＸＤＬに格納されたデータは、読み出しデータＲＤとして、コントローラ２００に送信される。
【０２１２】
１．６  本実施形態に係る効果について
本実施形態に係る構成であると、半導体記憶装置及びメモリシステムの信頼性を向上できる。以下、本効果について詳述する。
【０２１３】
例えば、データセンタ向けのＳＳＤでは、読み出し要求が来てから読み出し結果を返すまでの応答保障期間（ＱｏＳ）のスペックが厳しい。このため、ＮＡＮＤ型フラッシュメモリは、書き込み動作実行中であっても、書き込み動作の終了を待たずに、読み出し結果の送信を求められる場合がある。このような場合、ＮＡＮＤ型フラッシュメモリは、書き込み動作を中断して、読み出し動作を実行する。しかし、書き込み対象となるページと読み出し対象となるページが同じ場合、書き込み途中のメモリセルトランジスタから読み出したデータは書き込みデータとは異なるため、コントローラに正しい（書き込みデータと同じ）データを送信することができない。
【０２１４】
これに対し、本実施形態に係る構成では、書き込み対象となるページと同じページを読み出す際に、書き込みデータＷＤと同じデータをコントローラ２００に送信することができる。より具体的には、メモリセルトランジスタＭＴへの書き込みが終了している場合、センスアンプ２０は、データレジスタ２１（ラッチ回路ＸＤＬ）にメモリセルトランジスタＭＴから読み出したデータを送信する。他方で、メモリセルトランジスタＭＴへの書き込みが未了である場合、センスアンプ２０は、データレジスタ２１にセンスアンプ２０のラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬが保持する書き込みデータＷＤを送信することができる。これにより、読み出しデータＲＤの信頼性を向上できる。よって、半導体記憶装置の信頼性を向上できる。
【０２１５】
更に、書き込み動作の途中で、同じページの読み出しができるため、読み出し要求が来てから読み出し結果を返すまでの応答保障期間が長くなるのを抑制できる。
【０２１６】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、サスペンドコマンド及びレジュームコマンドを用いて、書き込み動作の中断及び再開を制御する場合について説明する。以下、第１実施形態と異なる点についてのみ説明する。
【０２１７】
２．１  書き込み動作について
まず、書き込み動作について説明する。本実施形態では、コントローラ２００が通常のライトコマンドを送信した場合について説明する。
【０２１８】
２．１．１  メモリシステムにおける書き込み動作の全体の流れについて
まず、メモリシステムにおける書き込み動作の全体の流れについて、図２２を用いて説明する。
【０２１９】
図２２に示すように、コントローラ２００は、ホスト機器２から書き込み命令を受信する（ステップＳ１）。
【０２２０】
コントローラ２００のコントローラ２００は、ホスト機器２からの書き込み命令に応答して、ＮＡＮＤ型フラッシュメモリ１００に、書き込み命令（ライトコマンド、アドレスＡＤＤ、及び書き込みデータＷＤ）を送信する（ステップＳ２０）。
【０２２１】
すると、ＮＡＮＤ型フラッシュメモリ１００のシーケンサ１５は、書き込み命令に基づいて信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ３）、書き込み動作を開始する（ステップＳ４）。
【０２２２】
コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００が書き込み動作実行中に、ホスト機器２より例えば読み出し命令を受信する（ステップＳ６）。
【０２２３】
この読み出し命令に応答して、コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００にサスペンドコマンドを送信する（ステップＳ２１）。
【０２２４】
シーケンサ１５は、信号Ｒ／Ｂｎが“Ｌ”レベル（ビジー状態）であってもサスペンドコマンドに応じて、書き込み動作を中断し（ステップＳ８）、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とする（ステップＳ２２）。そして、シーケンサ１５は、例えばシーケンサ１５内のレジスタにサスペンド情報を保存する。
【０２２５】
コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、ＮＡＮＤ型フラッシュメモリ１００に、ページ読み出し命令（ページリードコマンド、アドレスＡＤＤ）を送信する（ステップＳ７）。
【０２２６】
シーケンサ１５は、ページ読み出し命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ９）、サスペンドリードを実行する（ステップＳ１０）。
【０２２７】
シーケンサ１５は、サスペンドリードが終了すると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とする（ステップＳ１１）。
【０２２８】
コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベル（レディ状態）に復帰したのを確認すると、ＮＡＮＤ型フラッシュメモリ１００に、キャッシュ読み出し命令（キャッシュリードコマンド、アドレスＡＤＤ）を送信する（ステップＳ１３）。
【０２２９】
シーケンサ１５は、キャッシュ読み出し命令に応じて、データレジスタ２１が保持する読み出しデータＲＤをコントローラ２００に送信する（ステップＳ１４）。
【０２３０】
コントローラ２００は、読み出しデータＲＤのＥＣＣ処理を実行した後、ホスト機器２にＥＣＣ訂正処理後の読み出しデータＲＤを送信する（ステップＳ１５）。ホスト機器２は、コントローラ２００からＥＣＣ訂正処理後の読み出しデータＲＤを受信する（ステップＳ１６）
また、コントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００から読み出しデータＲＤを受信すると、ＮＡＮＤ型フラッシュメモリ１００にレジュームコマンドを送信する（ステップＳ２３）。
【０２３１】
シーケンサ１５は、レジュームコマンドに応じて、サスペンド情報を確認し書き込み動作を再開する（ステップＳ１２）。
【０２３２】
２．１．２  ＮＡＮＤ型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、ＮＡＮＤ型フラッシュメモリ１００における書き込み動作の全体の流れについて、図２３及び図２４を用いて説明する。図２３及び図２４の例では、図１０及び図１１と同様に、ベリファイ後に書き込み動作を中断し、プログラムから書き込み動作を再開する場合について説明する。なお、第１実施形態と同様に、ベリファイ後に書き込み動作を中断した場合においても、ベリファイから書き込み動作を再開しても良い。更には、プログラム後に書き込み動作を中断しても良く、この場合、ベリファイから書き込み動作を再開しても良い。以下、第１実施形態の図１０及び図１１と異なる点についてのみ説明する。
【０２３３】
図２３に示すように、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から書き込み命令（ライトコマンド、アドレスＡＤＤ、及び書き込みデータＷＤ）を受信する（ステップＳ１３０）。
【０２３４】
シーケンサ１５は、書き込み命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベル（ビジー状態）とし（ステップＳ１０２）、書き込み動作を開始する（ステップＳ１０３）。
【０２３５】
シーケンサ１５は、データレジスタ２１からセンスアンプ２０への書き込みデータＷＤの送信が終了すると、プログラムを実行する（ステップ１０５）。
【０２３６】
次に、シーケンサ１５は、ベリファイを実行する（ステップＳ１０６）。
【０２３７】
シーケンサ１５は、コントローラ２００からサスペンドコマンドを受信した場合（ステップＳ１３１＿Ｙｅｓ）、書き込み動作を中断する（ステップＳ１０８）。
【０２３８】
他方で、シーケンサ１５は、コントローラ２００からサスペンドコマンドを受信していない場合（ステップＳ１３１＿Ｎｏ）、書き込み動作を継続する。
【０２３９】
シーケンサ１５は、書き込み動作を中断した後（ステップＳ１０８）、信号Ｒ／Ｂｎを“Ｈ”レベルにする（ステップ１３２）。
【０２４０】
そして、シーケンサ１５は、コントローラ２００からページ読み出し命令（ページリードコマンド及びアドレスＡＤＤ）を受信する（ステップ１３３）と、信号Ｒ／Ｂｎを“Ｌ”レベルにする（ステップ１０９）。そして、図２４に示すように、書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページの場合（ステップＳ１１０＿Ｙｅｓ）、シーケンサ１５は、同一ページサスペンドリードを実行する（ステップＳ１３４）。具体的な動作は、第１実施形態の図１１におけるステップＳ１１０及びＳ１１１と同じである。
【０２４１】
また、書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページではない場合（ステップＳ１１０＿Ｎｏ）、シーケンサ１５は、ノーマルサスペンドリード、すなわち通常のページ読み出しを実行する（ステップＳ１３５）。
【０２４２】
シーケンサ１５は、サスペンドリードが終了すると、信号Ｒ／Ｂｎを“Ｈ”レベル（レディ状態）とする（ステップＳ１１４）。
【０２４３】
次に、シーケンサ１５は、コントローラ２００からキャッシュ読み出し命令（キャッシュリードコマンド及びアドレスＡＤＤ）を受信する（ステップＳ１１６）と、データレジスタ２１（ラッチ回路ＸＤＬ）の読み出しデータＲＤをコントローラ２００に送信する（ステップＳ１１７）。
【０２４４】
シーケンサ１５は、コントローラ２００からレジュームコマンドを受信する（ステップＳ１３６）と、信号Ｒ／Ｂｎを“Ｌ”レベルとし（ステップＳ１３７）。サスペンド情報に基づいて書き込み動作を再開する（ステップＳ１１５）。
【０２４５】
書き込み動作を再開した後の動作は、第１実施形態の図１０及び図１１と同じである。
【０２４６】
シーケンサ１５は、ベリファイをパスする（ステップＳ１１８＿Ｙｅｓ）かプログラムループが規定回数に達する（ステップＳ１１９＿Ｙｅｓ）と、信号Ｒ／Ｂｎを“Ｈ”レベルにして、書き込み動作を終了する。
【０２４７】
２．１．３  書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ２００の動作ついて、図２５を用いて説明する。図２５の例は、コントローラ２００が通常のライトコマンドを送信する場合の書き込み動作を示している。以下、第１実施形態の図１２と異なる点についてのみ説明する。
【０２４８】
図２４に示すように、第１実施形態の図１２と異なる点は、コントローラ２００が、書き込みデータ“ＷＤ”を送信後、ライトコマンド“１０ｈ”を送信する点と、メモリセルトランジスタＭＴへの書き込み動作が終了してから、信号Ｒ／Ｂｎが“Ｈ”レベルとされる点である。
【０２４９】
２．２  書き込み動作の全体の流れの具体例について
次に、書き込み動作の全体の流れについて、図２６を用いて説明する。図２６の例は、１回目のプログラムループにおいてベリファイ終了後、書き込み動作を中断し、同一ページサスペンドリード及びキャッシュ読み出し実行後、書き込み動作を再開する場合を示している。また、図２６の例は、第１実施形態の図１５と同様に、ストリングユニットＳＵ０のワード線ＷＬ０を選択して、フルシーケンス書き込み及び下位ページ読み出し動作を実行する場合を示している。以下、第１実施形態の図１５と異なる点についてのみ説明する。
【０２５０】
図２６に示すように、時刻ｔ０〜ｔ１の期間において、コントローラ２００は、フルシーケンス書き込みのコマンドシーケンスとして、第１コマンドセット、第２コマンドセット、及び第３コマンドセットをＮＡＮＤ型フラッシュメモリ１００に送信する
時刻ｔ１において、シーケンサ１５は、ライトコマンド“１５ｈ”に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルし、書き込み動作を開始する。時刻ｔ１〜ｔ２の期間、書き込み動作のステータスは準備状態（参照符号“ＳＥＴＵＰ”）とされ、データレジスタ２１は、センスアンプ２０に書き込みデータＷＤを送信する。
【０２５１】
時刻ｔ２において、データレジスタ２１からセンスアンプ２０への書き込みデータＷＤの送信が終了すると、時刻ｔ２〜ｔ３の期間、書き込み動作のステータスはプログラム状態（参照符号“ＰＲＯＧ”）とされ、シーケンサ１５は、１回目のプログラムを実行する。
【０２５２】
時刻ｔ３〜ｔ４の期間、書き込み動作のステータスはベリファイ状態（参照符号“ＰＶＦＹ”）とされ、シーケンサ１５は、１回目のベリファイを実行する。また、この間にシーケンサ１５は、サスペンドコマンド“Ａ７ｈ”を受信すると、ベリファイ終了後、書き込み動作を中断し、信号Ｒ／Ｂｎを“Ｈ”レベルにする。
【０２５３】
時刻ｔ４〜ｔ５の期間、書き込み動作のステータスはサスペンド状態（参照符号“ＳＵＳＰＥＮＤ”）とされ、シーケンサ１５は、コントローラ２００から、同じメモリセルグループＭＣＧの下位ページのページ読み出し命令（コマンド“０１ｈ”、“００ｈ”、５サイクルのアドレスデータ“ＡＤＤ”、及びページリードコマンド“３０ｈ”）を受信する。
【０２５４】
時刻ｔ５において、シーケンサ１５は、信号Ｒ／Ｂｎを“Ｌ”レベルとする。そして、時刻ｔ５〜ｔ６の期間、書き込み動作のステータスはサスペンドリード状態とされ、シーケンサ１５は、同一ページサスペンドリードを実行する。
【０２５５】
時刻ｔ６において、同一ページサスペンドリードが終了すると、シーケンサ１５は、信号Ｒ／Ｂｎを“Ｈ”レベルにする。コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベルに復帰したのを確認すると、キャッシュ読み出し命令（コマンド“０５ｈ”、５サイクルのアドレスデータ“ＡＤＤ”、及びキャッシュリードコマンド“Ｅ０ｈ”）を送信する。
【０２５６】
時刻ｔ６〜ｔ７の期間、書き込み動作のステータスはデータ出力状態（参照符号“ＯＵＴＰＴ”）とされ、シーケンサ１５は、キャッシュ読み出し命令に基づいて読み出しデータＲＤをコントローラ２００に送信する。
【０２５７】
時刻ｔ７〜ｔ８の期間、書き込み動作のステータスはリカバリ状態（参照符号“ＲＣＶ”）とされ、シーケンサ１５は、コントローラ２００からレジュームコマンド“４８ｈ”を受信すると、書き込み動作を開催する。
【０２５８】
時刻ｔ８〜ｔ９の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ１５は、２回目のプログラムを実行する。
【０２５９】
時刻ｔ９〜ｔ１０の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ１５は、２回目のベリファイを実行する。
【０２６０】
シーケンサ１５は、プログラムループを繰り返し、時刻ｔ１１〜ｔ１２の期間、書き込み動作のステータスはプログラム状態とされ、シーケンサ１５は、ｍ回目のプログラムを実行する。
【０２６１】
時刻ｔ１２〜ｔ１３の期間、書き込み動作のステータスはベリファイ状態とされ、シーケンサ１５は、ｍ回目のベリファイを実行する。そして、シーケンサ１５は、ｍ回目のベリファイで、ベリファイをパスすると、時刻ｔ１３〜ｔ１４の期間、リカバリ処理を実行し、書き込み動作を終了する。
【０２６２】
２．３  本実施形態に係る効果について
本実施形態に係る構成であると、第１実施形態と同様の効果を得ることができる。
３．第３実施形態
次に、第４実施形態について説明する。第３実施形態では、フルシーケンス書き込みにおいて、データを２段階で書き込む場合を示している。以下、第１乃至第３実施形態と異なる点についてのみ説明する。
【０２６３】
３．１  書き込み動作について
まず、本実施形態における書き込み動作について、図２７を用いて説明する。本実施形態においてＮＡＮＤ型フラッシュメモリ１００は、メモリセルトランジスタＭＴに３ビットのデータを書き込む際に、２段階の書き込み動作を実行する。以下の説明では、２段階の書き込み動作のうち１段階目の書き込み動作のことを「第１書き込み動作」と呼び、２段階目の書き込み動作のことを「第２書き込み動作」と呼ぶ。
【０２６４】
図２７に示すように、第１書き込み動作は、例えば、閾値電圧の変動量が比較的大きい “Ｄ”〜“Ｇ”レベルの書き込みに対応するメモリセルトランジスタＭＴの閾値電圧を予め“ＬＭ”レベルまで上昇させる動作である。“ＬＭ”レベルに含まれる閾値電圧は、電圧ＬＭＶ以上であり、電圧ＥＶ未満である。例えば、第１書き込み動作では、プログラムループの回数を低減させるため、１回のプログラムにおける閾値電圧の変動量が比較的大きくなるようなプログラム条件が適用される。このため、“ＬＭ”レベルの閾値分布は、“Ａ”〜“Ｇ”レベルの閾値分布よりも広くなる傾向がある。従って、例えば、電圧ＬＭＶは、電圧ＣＶ以上電圧ＤＶ未満に設定される。
【０２６５】
第２書き込み動作は、“Ｅｒ”レベルのメモリセルトランジスタＭＴに“Ａ”〜“Ｃ”レベルを書き込み、“ＬＭ”レベルのメモリセルトランジスタＭＴに、“Ｄ”〜“Ｇ”レベルを書き込む動作である。例えば、第２書き込み動作では、各レベルの閾値分布が“ＬＭ”レベルの閾値分布よりも狭くなるように、１回のプログラムにおける閾値電圧の変動量が、第１書き込み動作よりも小さくなるプログラム条件が適用される。より具体的には、例えば、第１書き込み動作よりも低いプログラム電圧ＶＰＧＭが設定される。
【０２６６】
なお、第１書き込み動作において、“ＬＭ”レベルの書き込みを行うメモリセルトランジスタＭＴ及び電圧ＬＭＶは、任意に設定可能である。例えば“Ｅ”〜“Ｇ”レベルの書き込みを行うメモリセルトランジスタＭＴを書き込み対象としても良い。この場合、電圧ＬＭＶは、例えば電圧ＤＶ以上電圧ＥＶ未満に設定されても良い。
【０２６７】
３．１．１  書き込み動作におけるコントローラの動作について
次に、書き込み動作におけるコントローラ２００の動作ついて、図２８を用いて説明する。図２８の例は、第１書き込み動作の書き込み命令(以下、「第１書き込み命令」と呼ぶ)として下位ページのデータを送信し、第２書き込み動作の書き込み命令（以下、「第２書き込み命令」と呼ぶ）として中位ページのデータ及び上位ページのデータを順に送信する場合を示している。また、図２８の例は、データＤＱ［７：０］及び信号Ｒ／Ｂｎを示しており、信号ＣＥｎ、ＣＬＥ、ＡＬＥ、ＷＥｎ、ＲＥｎは省略されている。なお、各ページのデータの送信順序は任意に設定可能である。
【０２６８】
図２８に示すように、コントローラ２００は、第１書き込み命令として、“ＬＭ”レベルの書き込みに対応する下位ページの書きこみデータＷＤを送信するコマンドシーケンスを実行する。より具体的には、コントローラ２００は、下位ページを指定するコマンド“０１ｈ”、書き込み動作を実行することを通知するコマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、下位ページの書きこみデータＷＤ、及びライトコマンド“１０ｈ”を順に送信する。ライトコマンド“１０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。第１書き込み動作が終了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０２６９】
次に、コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベルに復帰したのを確認すると、第２書き込み命令をＮＡＮＤ型フラッシュメモリ１００に送信する。より具体的には、コントローラ２００は、まず、中位ページの書きこみデータを送信するコマンドシーケンスとして、中位ページを指定するコマンド“０２ｈ”、コマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、中位ページの書きこみデータＷＤ、及びコマンド“１Ａｈ”を送信する。コマンド“１Ａｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。データレジスタ２１からセンスアンプ２０（ラッチ回路ＢＤＬ）への中位ページの書き込みデータＷＤの送信が終了し、データレジスタ２１が使用可能な状態になると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０２７０】
次に、コントローラ２００は、信号Ｒ／Ｂｎが“Ｈ”レベルに復帰したのを確認すると、上位ページの書きこみデータを送信するコマンドシーケンスとして、上位ページを指定するコマンド“０３ｈ”、コマンド“８０ｈ”、カラムアドレスＣＡ、ロウアドレスＲＡ、上位ページの書きこみデータＷＤ、及びライトコマンド“１０ｈ”を送信する。ライトコマンド“１０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００は、ビジー状態となる（Ｒ／Ｂｎ＝“Ｌ”）。メモリセルトランジスタＭＴへの第２書き込み動作が終了すると、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となり、信号Ｒ／Ｂｎは“Ｈ”レベルとされる。
【０２７１】
なお、コントローラ２００は、第１書き込み動作及び第２書き込み動作を指示するコマンドをそれぞれ発行しても良い。
【０２７２】
３．１．２  ＮＡＮＤ型フラッシュメモリにおける書き込み動作の全体の流れについて
次に、ＮＡＮＤ型フラッシュメモリ１００における書き込み動作の全体の流れについて、図２９及び図３０を用いて説明する。なお、図２９及び図３０の例では、書き込み動作におけるプログラム及びベリファイは省略されおり、書き込み動作を中断するタイミングについて特に限定しない。書き込み動作は、プログラム後に中断されても良く、ベリファイ後に中断されても良い。
【０２７３】
図２９に示すように、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から第１書き込み命令（ライトコマンド、アドレスＡＤＤ、及び下位ページの書き込みデータＷＤ）を受信する（ステップＳ２０１）。
【０２７４】
シーケンサ１５は、第１書き込み命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルとし、第１書き込み動作を開始する（ステップＳ２０２）。
【０２７５】
シーケンサ１５は、第１書き込み動作中に、コントローラ２００からサスペンドコマンドを受信した場合（ステップＳ２０３＿Ｙｅｓ）、書き込み動作を中断し（ステップＳ２０４）、信号Ｒ／Ｂｎを“Ｈ”レベルにする。
【０２７６】
他方で、シーケンサ１５は、コントローラ２００からサスペンドコマンドを受信していない場合（ステップＳ２０３＿Ｎｏ）、第１書き込み動作を継続する。
【０２７７】
シーケンサ１５は、書き込み動作を中断した(ステップＳ２０４)後、コントローラ２００からページ読み出し命令（ページリードコマンド及びアドレスＡＤＤ）を受信する（ステップＳ２０５）。シーケンサ１５は、ページ読み出し命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルにする。
【０２７８】
第１書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページの場合（ステップＳ２０６＿Ｙｅｓ）、シーケンサ１５は、同一ページサスペンドリードを実行する(ステップＳ２０７)。
【０２７９】
他方で、第１書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが異なるページの場合（ステップＳ２０６＿Ｎｏ）、シーケンサ１５は、ノーマルサスペンドリードを実行する(ステップＳ２０８)。
【０２８０】
シーケンサ１５は、サスペンドリード終了後、信号Ｒ／Ｂｎを“Ｈ”レベルにする。そして、シーケンサ１５は、キャッシュ読み出し命令を受信すると、コントローラ２００に読み出しデータＲＤを送信する（ステップＳ２０９）。
【０２８１】
シーケンサ１５は、コントローラ２００からレジュームコマンドを受信する（ステップＳ２１０）と、信号Ｒ／Ｂｎを“Ｌ”レベルにし、第１書き込み動作を再開する（ステップＳ２１１）。
【０２８２】
シーケンサ１５は、第１書き込み終了（ステップＳ２１２）後、信号Ｒ／Ｂｎを“Ｈ”レベルにする。
【０２８３】
図３０に示すように、ＮＡＮＤ型フラッシュメモリ１００は、コントローラ２００から第２書き込み命令（ライトコマンド、アドレスＡＤＤ、並びに中位ページ及び上位ページの書き込みデータＷＤ）を受信する（ステップＳ２１３）。
【０２８４】
シーケンサ１５は、第２書き込み命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルとし、第２書き込み動作を開始する（ステップＳ２１４）。
【０２８５】
シーケンサ１５は、第２書き込み動作中に、コントローラ２００からサスペンドコマンドを受信した場合（ステップＳ２１５＿Ｙｅｓ）、書き込み動作を中断し（ステップＳ２１６）、信号Ｒ／Ｂｎを“Ｈ”レベルにする。
【０２８６】
他方で、シーケンサ１５は、コントローラ２００からサスペンドコマンドを受信していない場合（ステップＳ２１５＿Ｎｏ）、第２書き込み動作を継続する。
【０２８７】
シーケンサ１５は、書き込み動作を中断した(ステップＳ２１６)後、コントローラ２００からページ読み出し命令（ページリードコマンド及びアドレスＡＤＤ）を受信する（ステップＳ２１７）。シーケンサ１５は、ページ読み出し命令に応じて、信号Ｒ／Ｂｎを“Ｌ”レベルにする。
【０２８８】
第２書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが同じページの場合（ステップＳ２１８＿Ｙｅｓ）、シーケンサ１５は、同一ページサスペンドリードを実行する(ステップＳ２１９)。
【０２８９】
他方で、第１書き込み命令のアドレスＡＤＤとページ読み出し命令のアドレスＡＤＤが異なるページの場合（ステップＳ２１８＿Ｎｏ）、シーケンサ１５は、ノーマルサスペンドリードを実行する(ステップＳ２２０)。
【０２９０】
シーケンサ１５は、サスペンドリード終了後、信号Ｒ／Ｂｎを“Ｈ”レベルにする。そして、シーケンサ１５は、キャッシュ読み出し命令を受信すると、コントローラ２００に読み出しデータＲＤを送信する（ステップＳ２２１）。
【０２９１】
シーケンサ１５は、コントローラ２００からレジュームコマンドを受信する（ステップＳ２２２）と、信号Ｒ／Ｂｎを“Ｌ”レベルにし、第２書き込み動作を再開する（ステップＳ２２３）。
【０２９２】
３．１．３  第１及び第２書き込み動作においてラッチ回路が保持するデータの具体例について
次に、第１及び第２書き込み動作において、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬが保持するデータの具体例について、図３１及び図３２を用いて説明する。図３１及び図３２の例では、以下に示す１３３コードのデータの割り付けを適用した場合について説明する。
“Ｅｒ”レベル：“１１１”（“上位ビット／中位ビット／下位ビット”）データ
“Ａ”レベル：“１０１”データ
“Ｂ”レベル：“０１１”データ
“Ｃ”レベル：“００１”データ
“Ｄ”レベル：“１１０”データ
“Ｅ”レベル：“１００”データ
“Ｆ”レベル：“０１０”データ
“Ｇ”レベル：“０００”データ
【０２９３】
まず、図３１に示すように、センスアンプ２０は、第１書き込み命令（ライトコマンド、アドレスＡＤＤ、及び下位ページの書き込みデータＷＤ）に応じて、下位ページのデータをラッチ回路ＡＤＬに格納する。より具体的には、“Ｅｒ”〜“Ｃ”レベルに対応するラッチ回路ＡＤＬに“１”データが格納され、“Ｄ”〜“Ｇ”レベルに対応するラッチ回路ＡＤＬに “０”データが格納される。そして、ラッチ回路ＡＤＬのデータがラッチ回路ＳＤＬに転送され、第１書き込み動作が実行される。第１書き込み動作では、“０”データが割り付けられた“Ｄ”〜“Ｇ”レベルに対応するメモリセルトランジスタＭＴに“ＬＭ”レベルの書き込みが行われる。そして、第１書き込み動作が終了すると、ベリファイをパスした“Ｄ”〜“Ｇ”レベルに対応するラッチ回路ＡＤＬには、“１”データが格納される。すなわち、第１書き込み動作が終了すると、“Ｅｒ”〜“Ｇ”レベルに対応するラッチ回路ＡＤＬに“１”データが格納される。
【０２９４】
図３２に示すように、次に、センスアンプ２０は、第２書き込み命令（ライトコマンド、アドレスＡＤＤ、並びに中位ページ及び上位ページの書き込みデータＷＤ）に応じて、中位ページ及び上位ページデータをラッチ回路ＢＤＬ及びＣＤＬに格納する。そして、センスアンプ２０は、内部データロード（IDL：internal data load）を実行し、メモリセルトランジスタＭＴのデータを読み出した結果をラッチ回路ＡＤＬに格納する。これにより、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬには、１３３コードに対応するデータが格納される。シーケンサ１５は、ラッチ回路ＡＤＬ、ＢＤＬ、及びＣＤＬに格納されたデータに基づいて第２書き込み動作を実行する。
【０２９５】
３．２  本実施形態に係る効果について
本実施形態に係る構成であると、第１実施形態と同様の効果を得ることができる。
【０２９６】
４．変形例等
上記実施形態に係る半導体記憶装置は、第１メモリセル(MT0)及び第１メモリセルに接続された第１選択トランジスタ(ST1)を含む第１メモリストリング(SR)と、第２メモリセル(MT0)及び第２メモリセルに接続された第２選択トランジスタ(ST1)を含む第２メモリストリング(SR)と、第１及び第２メモリセルのゲートに接続されたワード線(WL0)と、第１選択トランジスタのゲートに接続された第１選択ゲート線(SGD0)と、第２選択トランジスタのゲートに接続された第２選択ゲート線(SGD1)と、第１及び第２選択トランジスタに接続されたビット線(BL0)と、ワード線、第１選択ゲート線、及び第２選択ゲート線に接続されたロウデコーダ(19)と、ビット線に接続され、書き込みデータを保持可能なラッチ回路(ADL)を含むセンスアンプ(20)と、第１メモリセルの書き込み動作中に第１メモリセルの読み出し命令を受信した場合、書き込み動作を中断して第１メモリセルの読み出し動作を実行可能な制御回路(15)と、を含む。第１メモリセルの書き込み動作を中断して実行される第１メモリセルの読み出し動作において、センスアンプは、第１メモリセルへの書き込みデータの書き込みが終了している場合、第１メモリセルから読み出したデータを読み出しデータとして出力し、第１メモリセルへの書き込みデータの書き込みが終了していない場合、ラッチ回路が保持する書き込みデータを読み出しデータとして出力する。
【０２９７】
上記実施形態を適用することにより、信頼性を向上できる半導体記憶装置を提供できる。
【０２９８】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【０２９９】
例えば、上記実施形態において、センスアンプ２０は、ラッチ回路ＴＤＬを更に含み、同一ページサスペンドリードにおいて、ラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＸＤＬを用いて行った各種演算を、ラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＴＤＬを用いて行い、ラッチ回路ＴＤＬが保持する読み出しデータＲＤ（メモリセルトランジスタＭＴから読み出したデータ、またはラッチ回路ＡＤＬ、ＢＤＬ、あるいはＣＤＬが保持する書き込みデータＷＤ）をラッチ回路ＸＤＬに転送しても良い。
【０３００】
更に、上記実施形態は、フルシーケンス書き込みに限定されない。例えば、下位ページ、中位ページ、あるいは上位ページの書きこみ及び読み出し動作にも適用できる。
【０３０１】
更に、上記実施形態は三次元積層型ＮＡＮＤ型フラッシュメモリに限定されず、半導体基板上にメモリセルが配置された平面型ＮＡＮＤ型フラッシュメモリにも適用できる。更には、ＮＡＮＤ型フラッシュメモリに限定されず、プログラムとベリファイとを含む書き込み動作中にサスペンドとレジュームを実行可能な、他のメモリを用いた半導体記憶装置にも適用できる。
【０３０２】
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。  
なお、本発明に関する各実施形態において、以下の通りであっても良い。例えばメモリセルトランジスタＭＴが２ビット（４値）のデータを保持可能であり、４値のいずれかを保持している際の閾値レベルを低い方からＥｒレベル（消去レベル）、Ａレベル、Ｂレベル、及びＣレベルとしたとき、
（１）読み出し動作では、
Ａレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V、0.21V〜0.31V、0.31V〜0.4V、0.4V〜0.5V、及び0.5V〜0.55Vのいずれかの間にしても良い。
【０３０３】
Ｂレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V、1.8V〜1.95V、1.95V〜2.1V、及び2.1V〜2.3Vのいずれかの間にしても良い。
【０３０４】
Ｃレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V、3.2V〜3.4V、3.4V〜3.5V、3.5V〜3.6V、及び3.6V〜4.0Vのいずれかの間にしても良い。
【０３０５】
読み出し動作の時間（tR）としては、例えば25μs〜38μs、38μs〜70μs、または70μs〜80μsの間にしても良い。
【０３０６】
（２）書き込み動作は、上述した通りプログラム動作とベリファイ動作を含む。書き込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V及び14.0V〜14.6Vのいずれかの間としても良い。
【０３０７】
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えても良い。
【０３０８】
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
【０３０９】
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としても良い。
【０３１０】
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えても良い。
【０３１１】
書き込み動作の時間（tProg）としては、例えば1700μs〜1800μs、1800μs〜1900μs、または1900μs〜2000μsの間にしても良い。
【０３１２】
（３）消去動作では、
半導体基板上部に形成され、且つ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V、14.8V〜19.0V、19.0〜19.8V、または19.8V〜21Vの間であっても良い。
【０３１３】
消去動作の時間（tErase）としては、例えば3000μs〜4000μs、4000μs〜5000μs、または4000μs〜9000μsの間にしても良い。
【０３１４】
（４）平面型ＮＡＮＤ型フラッシュメモリにおけるメモリセルの構造は、
半導体基板（シリコン基板）上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのＳｉＮ、またはＳｉＯＮなどの絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはＲｕなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層Ｈｉｇｈ−ｋ膜と膜厚が3〜10nmの上層Ｈｉｇｈ−ｋ膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。Ｈｉｇｈ−ｋ膜はＨｆＯなどが挙げられる。また、シリコン酸化膜の膜厚はＨｉｇｈ−ｋ膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの仕事関数調整用の材料を介して膜厚が30nm〜70nmの制御電極が形成されている。ここで仕事関数調整用の材料はＴａＯなどの金属酸化膜、ＴａＮなどの金属窒化膜である。制御電極にはＷなどを用いることができる。
【０３１５】
また、メモリセル間にはエアギャップを形成することができる。
【０３１６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０３１７】
１…メモリシステム、２…ホスト機器、１０…入出力回路、１１…ロジック制御回路、１２…ステータスレジスタ、１３…アドレスレジスタ、１４…コマンドレジスタ、１５…シーケンサ、１６…レディ／ビジー回路、１７…電圧発生回路、１８…メモリセルアレイ、１９…ロウデコーダ、２０…センスアンプ、２１…データレジスタ、２２…カラムデコーダ、３０…プリチャージ回路、３１、３３、４０〜５１、６０〜６７、７０〜７７、８０〜８７、９０〜９７…トランジスタ、３２…バススイッチ、５２…容量素子、１００…ＮＡＮＤ型フラッシュメモリ、２００…コントローラ、２１０…ホストインターフェイス回路、２２０…内蔵メモリ、２３０…プロセッサ、２４０…バッファメモリ、２５０…ＮＡＮＤインターフェイス回路、２６０…ＥＣＣ回路
【図１】
2019029045.tif 000003
【図２】
2019029045.tif 000004
【図３】
2019029045.tif 000005
【図４】
2019029045.tif 000006
【図５】
2019029045.tif 000007
【図６】
2019029045.tif 000008
【図７】
2019029045.tif 000009
【図８】
2019029045.tif 000010
【図９】
2019029045.tif 000011
【図１０】
2019029045.tif 000012
【図１１】
2019029045.tif 000013
【図１２】
2019029045.tif 000014
【図１３】
2019029045.tif 000015
【図１４】
2019029045.tif 000016
【図１５】
2019029045.tif 000017
【図１６】
2019029045.tif 000018
【図１７】
2019029045.tif 000019
【図１８】
2019029045.tif 000020
【図１９】
2019029045.tif 000021
【図２０】
2019029045.tif 000022
【図２１】
2019029045.tif 000023
【図２２】
2019029045.tif 000024
【図２３】
2019029045.tif 000025
【図２４】
2019029045.tif 000026
【図２５】
2019029045.tif 000027
【図２６】
2019029045.tif 000028
【図２７】
2019029045.tif 000029
【図２８】
2019029045.tif 000030
【図２９】
2019029045.tif 000031
【図３０】
2019029045.tif 000032
【図３１】
2019029045.tif 000033
【図３２】
2019029045.tif 000034