(57)【要約】【課題】書込み動作のレイテンシの増加を抑制する。【解決手段】一実施形態の半導体記憶装置は、各々が複数のメモリセルを含むメモリセルアレイを含む第１プレーン及び第２プレーンと、上記メモリセルアレイへ書き込まれるデータをコントローラから受けるように構成された入出力回路と、制御回路と、を備える。上記第１プレーンは、上記第１プレーン内の上記複数のメモリセルのうちの第１メモリセルに電気的に接続された第１センスアンプ回路と、上記入出力回路と上記第１センスアンプ回路との間に直列に接続された第１ラッチ回路と、を更に含む。上記制御回路は、上記第１メモリセルへの第１書込み動作を指示する第１コマンドを受けると、上記第１書込み動作に伴う上記第１ラッチ回路の使用が完了する前に、上記第２プレーン内の上記複数のメモリセルのうちの第２メモリセルへの第２書込み動作を指示する第２コマンドを受付けるように構成される。【選択図】図８
2020042889.tif 000002
【特許請求の範囲】
【請求項１】
各々が、複数のメモリセルを含むメモリセルアレイを含む、第１プレーン及び第２プレーンと、
前記メモリセルアレイへ書き込まれるデータをコントローラから受けるように構成された入出力回路と、
制御回路と、
を備え、
前記第１プレーンは、前記第１プレーン内の前記複数のメモリセルのうちの第１メモリセルに電気的に接続された第１センスアンプ回路と、前記入出力回路と前記第１センスアンプ回路との間に直列に接続された第１ラッチ回路と、を更に含み、
前記制御回路は、前記第１メモリセルへの第１書込み動作を指示する第１コマンドを受けると、前記第１書込み動作に伴う前記第１ラッチ回路の使用が完了する前に、前記第２プレーン内の前記複数のメモリセルのうちの第２メモリセルへの第２書込み動作を指示する第２コマンドを受付けるように構成された、
半導体記憶装置。
【請求項２】
前記第２コマンドを受付けることは、前記第１ラッチ回路を擬似的に開放することを含む、
請求項１記載の半導体記憶装置。
【請求項３】
前記第２コマンドを受付けることは、前記第１ラッチ回路内のデータをリセットすることなく、前記制御回路が前記第２コマンドを受付け可能であることを前記コントローラに通知することを含む、
請求項１記載の半導体記憶装置。
【請求項４】
前記制御回路は、前記第１書込み動作が完了した後、前記第１ラッチ回路内のデータをリセットするように構成された、
請求項１記載の半導体記憶装置。
【請求項５】
前記半導体記憶装置は、複数のメモリセルを含むメモリセルアレイを含む第３プレーンを更に備え、
前記第２プレーンは、前記第２メモリセルに電気的に接続された第２センスアンプ回路と、前記入出力回路と前記第２センスアンプ回路との間に直列に接続された第２ラッチ回路と、を更に含み、
前記制御回路は、前記第２コマンドを受けると、前記第１書込み動作が完了した後、前記第２書込み動作に伴う前記第２ラッチ回路の使用が完了する前に、前記第１プレーン又は前記第３プレーン内の前記複数のメモリセルのうちの第３メモリセルへの第３書込み動作を指示する第３コマンドを受付けるように更に構成された、
請求項４記載の半導体記憶装置。
【請求項６】
前記第３コマンドを受付けることは、前記第２ラッチ回路を擬似的に開放することを含む、
請求項５記載の半導体記憶装置。
【請求項７】
前記第３コマンドを受付けることは、前記第２ラッチ回路内のデータをリセットすることなく、前記制御回路が前記第３コマンドを受付け可能であることを前記コントローラに通知することを含む、
請求項５記載の半導体記憶装置。
【請求項８】
前記制御回路は、前記第１コマンドを受けた後、前記第１書込み動作に伴う前記第１ラッチ回路の使用が完了する前に第４コマンドを受けると、前記第１書込み動作を中断し、前記第１プレーン又は前記第２プレーンからの読出し動作を実行するように構成された、
請求項１記載の半導体記憶装置。
【請求項９】
前記第２プレーンは、前記第２メモリセルに電気的に接続された第２センスアンプ回路と、前記入出力回路と前記第２センスアンプ回路との間に直列に接続された第２ラッチ回路と、を更に含み、
前記制御回路は、前記第２コマンドを受けた後、更なる書込み動作を指示する第５コマンドを受ける前に第６コマンドを受けると、前記第１書込み動作を中断し、前記第１プレーン又は前記第２プレーンからの読出し動作を実行するように構成された、
請求項１記載の半導体記憶装置。
【請求項１０】
前記第１コマンドと前記第２コマンドは、それぞれ、第１種の書込みコマンドセットを含み、
前記半導体記憶装置が前記第１コマンドを受信してからレディ状態に戻るまでに要する第１期間は、前記半導体記憶装置が前記第２コマンドを受信してから前記レディ状態に戻るまでに要する第２期間よりも、短い、
請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置としてのＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１７／０１８６４８４号明細書
【特許文献２】米国特許第９０５３８１０号明細書
【特許文献３】米国特許第９５８９６５９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
書込み動作のレイテンシの増加を抑制する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、各々が複数のメモリセルを含むメモリセルアレイを含む第１プレーン及び第２プレーンと、上記メモリセルアレイへ書き込まれるデータをコントローラから受けるように構成された入出力回路と、制御回路と、を備える。上記第１プレーンは、上記第１プレーン内の上記複数のメモリセルのうちの第１メモリセルに電気的に接続された第１センスアンプ回路と、上記入出力回路と上記第１センスアンプ回路との間に直列に接続された第１ラッチ回路と、を更に含む。上記制御回路は、上記第１メモリセルへの第１書込み動作を指示する第１コマンドを受けると、上記第１書込み動作に伴う上記第１ラッチ回路の使用が完了する前に、上記第２プレーン内の上記複数のメモリセルのうちの第２メモリセルへの第２書込み動作を指示する第２コマンドを受付けるように構成される。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムの構成を説明するためのブロック図。
【図２】第１実施形態に係る半導体記憶装置の構成を説明するためのブロック図。
【図３】第１実施形態に係る半導体記憶装置のプレーンを説明するためのブロック図。
【図４】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための回路図。
【図５】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための断面図。
【図６】第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成を説明するためのブロック図。
【図７】第１実施形態に係る半導体記憶装置のセンスアンプユニットの構成を説明するための回路図。
【図８】第１実施形態に係る半導体記憶装置における擬似キャッシュプログラム動作を説明するためのコマンドシーケンス。
【図９】第１実施形態の第１変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンス。
【図１０】第１実施形態の第１変形例に係る半導体記憶装置における、センスアンプユニット内のデータのバッティングを回避するためのデータ移動を説明するための模式図。
【図１１】第１実施形態の第２変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンス。
【図１２】第１実施形態の第２変形例の更なる変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンス。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。また、共通する参照符号を有する複数の構成要素を区別する場合、当該共通する参照符号に添え字を付して区別する。なお、複数の構成要素について特に区別を要さない場合、当該複数の構成要素には、共通する参照符号のみが付され、添え字は付さない。
【０００８】
１．第１実施形態
第１実施形態に係る半導体記憶装置について説明する。
【０００９】
１．１  構成について
まず、第１実施形態に係る半導体記憶装置の構成について説明する。
【００１０】
１．１．１  メモリシステムの全体構成について
図１は、第１実施形態に係る半導体記憶装置を含むメモリシステムの構成の一例を示すブロック図である。メモリシステム１は、例えば、外部の図示しないホスト機器と通信する。メモリシステム１は、ホスト機器（図示せず）からのデータを保持し、また、データをホスト機器に読み出す。
【００１１】
図１に示すように、メモリシステム１は、メモリコントローラ１０及び半導体記憶装置（ＮＡＮＤフラッシュメモリ）２０を備えている。メモリコントローラ１０は、ホスト機器から命令を受取り、受け取られた命令に基づいて半導体記憶装置２０を制御する。具体的には、メモリコントローラ１０は、ホスト機器から書込みを指示されたデータを半導体記憶装置２０に書込み、ホスト機器から読出しを指示されたデータを半導体記憶装置２０から読み出してホスト機器に送信する。メモリコントローラ１０は、ＮＡＮＤバスによって半導体記憶装置２０に接続される。半導体記憶装置２０は、複数のメモリセルを備え、データを不揮発に記憶する。
【００１２】
ＮＡＮＤバスは、ＮＡＮＤインタフェースに従った信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、／ＷＰ、／ＲＢ、及びＩ／Ｏ＜７：０＞の各々について、個別の信号線を介して送受信を行う。信号／ＣＥは、半導体記憶装置２０をイネーブルにするための信号である。信号ＣＬＥは、信号ＣＬＥが“Ｈ（High）”レベルである間に半導体記憶装置２０に流れる信号Ｉ／Ｏ＜７：０＞がコマンドであることを半導体記憶装置２０に通知する。信号ＡＬＥは、信号ＡＬＥが“Ｈ”レベルである間に半導体記憶装置２０に流れる信号Ｉ／Ｏ＜７：０＞がアドレスであることを半導体記憶装置２０に通知する。信号／ＷＥは、信号／ＷＥが“Ｌ（Low）”レベルである間に半導体記憶装置２０に流れる信号Ｉ／Ｏ＜７：０＞を半導体記憶装置２０に取り込むことを指示する。信号／ＲＥは、半導体記憶装置２０に信号Ｉ／Ｏ＜７：０＞を出力することを指示する。信号／ＷＰは、データ書込み及び消去の禁止を半導体記憶装置２０に指示する。信号／ＲＢは、半導体記憶装置２０がレディ状態（外部からの命令を受け付ける状態）であるか、ビジー状態（外部からの命令を受け付けない状態）であるかを示す。信号Ｉ／Ｏ＜７：０＞は、例えば８ビットの信号である。信号Ｉ／Ｏ＜７：０＞は、半導体記憶装置２０とメモリコントローラ１０との間で送受信されるデータの実体であり、コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＡＴを含む。データＤＡＴは、書込みデータ及び読出しデータを含む。
【００１３】
１．１．２  メモリコントローラの構成について
引き続き図１を用いて、第１実施形態に係るメモリシステムのメモリコントローラについて説明する。メモリコントローラ１０は、プロセッサ（ＣＰＵ：Central Processing Unit）１１、内蔵メモリ（ＲＡＭ：Random Access Memory）１２、ＥＣＣ（Error Check and Correction）回路１３、ＮＡＮＤインタフェース回路１４、バッファメモリ１５、及びホストインタフェース回路１６を備えている。
【００１４】
プロセッサ１１は、メモリコントローラ１０全体の動作を制御する。プロセッサ１１は、例えば、ホスト機器から受信したデータの読出し命令に応答して、ＮＡＮＤインタフェースに基づく読出し命令を半導体記憶装置２０に対して発行する。この動作は、書込み及び消去の場合についても同様である。また、プロセッサ１１は、半導体記憶装置２０からの読出しデータに対して、種々の演算を実行する機能を有する。
【００１５】
内蔵メモリ１２は、例えば、ＤＲＡＭ（Dynamic RAM）等の半導体メモリであり、プロセッサ１１の作業領域として使用される。内蔵メモリ１２は、半導体記憶装置２０を管理するためのファームウェア、及び各種の管理テーブル等を保持する。
【００１６】
ＥＣＣ回路１３は、エラー検出及びエラー訂正処理を行う。より具体的には、データの書込み時には、ホスト機器から受信したデータに基づいて、或る数のデータの組毎にＥＣＣ符号を生成する。また、データの読出し時には、ＥＣＣ符号に基づいてＥＣＣ復号し、エラーの有無を検出する。そしてエラーが検出された際には、そのビット位置を特定し、エラーを訂正する。
【００１７】
ＮＡＮＤインタフェース回路１４は、ＮＡＮＤバスを介して半導体記憶装置２０と接続され、半導体記憶装置２０との通信を司る。ＮＡＮＤインタフェース回路１４は、プロセッサ１１の指示により、コマンドＣＭＤ、アドレスＡＤＤ、及び書込みデータを半導体記憶装置２０に送信する。また、ＮＡＮＤインタフェース回路１４は、半導体記憶装置２０から読出しデータを受信する。
【００１８】
バッファメモリ１５は、メモリコントローラ１０が半導体記憶装置２０及びホスト機器から受信したデータ等を一時的に保持する。バッファメモリ１５は、例えば、半導体記憶装置２０からの読出しデータ、及び読出しデータに対する演算結果等を一時的に保持する記憶領域としても使用される。
【００１９】
ホストインタフェース回路１６は、ホスト機器と接続され、ホスト機器との通信を司る。ホストインタフェース回路１６は、例えば、ホスト機器から受信した命令及びデータを、それぞれプロセッサ１１及びバッファメモリ１５に転送する。
【００２０】
１．１．３  半導体記憶装置の構成について
次に、第１実施形態に係る半導体記憶装置の構成例について説明する。図２は、第１実施形態に係る半導体記憶装置の構成の一例を示すブロック図である。
【００２１】
図２は、第１実施形態に係る半導体記憶装置の構成の一例を示すブロック図である。図２に示すように、半導体記憶装置２０は、コア部２１、入出力回路２２、ロジック制御回路２３、レジスタ２４、シーケンサ２５、電圧生成回路２６、及びドライバセット２７を備えている。
【００２２】
コア部２１は、例えば、１６個のプレーンＰＢ（ＰＢ０、ＰＢ１、…、ＰＢ１５）を含む。各プレーンＰＢは、複数のメモリセルトランジスタ（図示せず）を含むブロック（図示せず）を単位として上述の各種動作を行う。具体的には、例えば、各プレーンＰＢは、或るブロック内の一部のメモリセルトランジスタに対してデータの書込み動作、及びデータの読出し動作を行い、或るブロック内の全てのメモリセルトランジスタに対して、データの消去動作を行う。なお、本実施形態におけるプレーンＰＢ０〜ＰＢ１５の各々は、特に記載する場合を除き、同等の構成を有する。プレーンＰＢの構成の詳細については、後述する。
【００２３】
入出力回路２２は、メモリコントローラ１０と信号Ｉ／Ｏ＜７：０＞を送受信する。入出力回路２２は、信号Ｉ／Ｏ＜７：０＞内のコマンドＣＭＤ及びアドレスＡＤＤをレジスタ２４に転送する。また、入出力回路２２は、書き込みデータ及び読み出しデータ（データＤＡＴ）をコア部２１と送受信する。
【００２４】
ロジック制御回路２３は、メモリコントローラ１０から信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、及び／ＷＰを受信する。また、ロジック制御回路２３は、信号／ＲＢをメモリコントローラ１０に転送して半導体記憶装置２０の状態を外部に通知する。
【００２５】
レジスタ２４は、コマンドＣＭＤ及びアドレスＡＤＤを保持する。レジスタ２４は、例えば、当該アドレスＡＤＤ及びコマンドＣＭＤを、シーケンサ２５に転送する。
【００２６】
シーケンサ２５は、コマンドＣＭＤ及びアドレスＡＤＤを含むコマンドセットを受け取り、受け取ったコマンドセットに基づくシーケンスに従って半導体記憶装置２０の全体を制御する。シーケンサ２５は、例えば、制御信号を出力することにより、コア部２１内の複数のプレーンＰＢを同期させて、データの読出し動作、書込み動作、又は消去動作等を実行させることができる。
【００２７】
電圧生成回路２６は、シーケンサ２５からの指示に基づき、データの書込み動作、読出し動作、及び消去動作等に必要な電圧を生成する。電圧生成回路２６は、生成した電圧をドライバセット２７に供給する。
【００２８】
ドライバセット２７は、複数のドライバを含み、レジスタ２４からのアドレスに基づいて、電圧生成回路２６からの種々の電圧をコア部２１に供給する。
【００２９】
１．１．４  プレーンの構成について
次に、第１実施形態に係る半導体記憶装置のプレーンの構成について説明する。
【００３０】
図３は、第１実施形態に係る半導体記憶装置のプレーンの構成の一例を示すブロック図である。図３では、一例としてプレーンＰＢ０が示されるが、他のプレーンＰＢも同等の構成を有する。
【００３１】
図３に示すように、プレーンＰＢ０は、メモリセルアレイ２１＿１、ロウデコーダ２１＿２、及びセンスアンプモジュール２１＿３を含む。
【００３２】
メモリセルアレイ２１＿１は、複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…）を備えている。各ブロックＢＬＫは、例えば、互いに識別可能なブロックアドレスによって区別される。なお、プレーンＰＢ０以外のプレーンＰＢについても、プレーンＰＢ０と同じブロックアドレスに対応するブロックＢＬＫが含まれる。異なるプレーンＰＢ間で同じブロックアドレスが割当てられたブロックＢＬＫ同士は、互いに識別可能なプレーンアドレスによって区別される。ブロックＢＬＫは、ワード線及びビット線に関連付けられた複数の不揮発性メモリセルトランジスタ（図示せず）を含む。ブロックＢＬＫは、例えばデータの消去単位となり、同一のブロックＢＬＫ内のデータは、一括して消去される。各ブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、…）を備えている。各ストリングユニットＳＵは、複数のＮＡＮＤストリングＮＳを備えている。なお、メモリセルアレイ２１＿１内のブロック数、１ブロックＢＬＫ内のストリングユニット数、１ストリングユニットＳＵ内のＮＡＮＤストリング数は、任意の数に設定出来る。
【００３３】
ロウデコーダ２１＿２は、レジスタ２４に保持されたアドレスＡＤＤ中のブロックアドレスに基づいてブロックＢＬＫ等を選択する。そして、選択されたブロックＢＬＫには、ロウデコーダ２１＿２を介してドライバセット２７からの電圧が転送される。
【００３４】
センスアンプモジュール２１＿３は、データの読出し時には、メモリセルトランジスタの閾値電圧をセンスすることでデータを読み出し、入出力回路２２に転送する。センスアンプモジュール２１＿３は、データの書込み時には、ビット線を介して書込まれる書込みデータをメモリセルトランジスタに転送する。また、センスアンプモジュール２１＿３は、レジスタ２４からアドレスＡＤＤ中のカラムアドレスを受取り、当該カラムアドレスに基づくカラムのデータを出力する。
【００３５】
１．１．５  メモリセルアレイの回路構成について
次に、第１実施形態に係る半導体記憶装置のメモリセルアレイの回路構成について、図４を用いて説明する。図４は、第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための回路図の一例である。図４では、メモリセルアレイ２１＿１のうちの１つのブロックＢＬＫの回路図が示される。
【００３６】
図４に示すように、各ストリングユニットＳＵは、ＮＡＮＤストリングＮＳの集合により構成される。ＮＡＮＤストリングＮＳの各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１と、選択トランジスタＳＴ２とを備える。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個、３２個、６４個、９６個、１２８個等であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。各メモリセルトランジスタＭＴは、選択トランジスタＳＴ１及びＳＴ２の間に、直列接続される。なお、以下の説明では『接続』とは、間に別の導電可能な要素が介在する場合も含む。
【００３７】
或るブロックＢＬＫ内において、ストリングユニットＳＵ０〜ＳＵ３の選択トランジスタＳＴ１のゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３に接続される。また、ブロックＢＬＫ内の全てのストリングユニットＳＵの選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳに共通接続される。同一のブロックＢＬＫ内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に接続される。すなわち、同じアドレスのワード線ＷＬは、同一のブロックＢＬＫ内の全てのストリングユニットＳＵに共通接続されており、選択ゲート線ＳＧＳは、同一のブロックＢＬＫ内の全てのストリングユニットＳＵに共通接続されている。一方、選択ゲート線ＳＧＤは、同一のブロックＢＬＫ内のストリングユニットＳＵの１つのみに接続される。
【００３８】
また、メモリセルアレイ２１＿１内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一行にあるＮＡＮＤストリングＮＳの選択トランジスタＳＴ１の他端は、ｍ本のビット線ＢＬ（ＢＬ０〜ＢＬ（ｍ−１）（ｍは自然数））のいずれかに接続される。また、ビット線ＢＬは、複数のブロックＢＬＫにわたって、同一列のＮＡＮＤストリングＮＳに共通接続される。
【００３９】
また、選択トランジスタＳＴ２の他端は、ソース線ＣＥＬＳＲＣに接続される。ソース線ＣＥＬＳＲＣは、複数のブロックＢＬＫにわたって、複数のＮＡＮＤストリングＮＳに共通接続される。
【００４０】
上述のとおり、データの消去は、例えば、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴに対して一括して行われる。これに対して、データの読出し及び書込みは、いずれかのブロックＢＬＫのいずれかのストリングユニットＳＵにおける、いずれかのワード線ＷＬに共通接続された複数のメモリセルトランジスタＭＴにつき、一括して行われ得る。このような、１つのストリングユニットＳＵ中でワード線ＷＬを共有するメモリセルトランジスタＭＴの組は、例えば、セルユニットＣＵと称される。つまり、セルユニットＣＵは、一括して書込み、又は読み出し動作が実行され得るメモリセルトランジスタＭＴの組である。
【００４１】
なお、１つのメモリセルトランジスタＭＴは、例えば、１又は複数ビットのデータを保持可能である。そして、同一のセルユニットＣＵ内において、メモリセルトランジスタＭＴの各々が同位のビットにおいて保持する１ビットの集合を「ページ」と呼ぶ。つまり、「ページ」とは、同一のセルユニットＣＵ内のメモリセルトランジスタＭＴの組に形成されるメモリ空間の一部、と定義することも出来る。
【００４２】
以下の説明では、簡単のため、１つのメモリセルトランジスタＭＴに１ビットのデータを保持可能な場合について説明する。
【００４３】
次に、メモリセルアレイ２１＿１の断面構造について図５を用いて説明する。図５は、第１実施形態に係る半導体記憶装置のメモリセルアレイの一部の断面構造の一例を示している。特に、図５は、１つのブロックＢＬＫ内の２つのストリングユニットＳＵに関する部分を示している。具体的には、図５は、２つのストリングユニットＳＵのそれぞれの２つのＮＡＮＤストリングＮＳと、その周辺の部分と、を示している。そして、図５に示される構成が、Ｘ方向に複数配列されており、例えばＸ方向に並ぶ複数のＮＡＮＤストリングＮＳの集合が１つのストリングユニットＳＵに相当する。
【００４４】
メモリセルアレイ２１＿１は、半導体基板３０上に設けられている。以下の説明では、半導体基板３０の表面と平行な面をＸＹ平面とし、ＸＹ平面に垂直な方向をＺ方向とする。また、Ｘ方向とＹ方向は、互いに直交するものとする。
【００４５】
半導体基板３０の上部には、ｐ型ウェル領域３０ｐが設けられる。ｐ型ウェル領域３０ｐ上に、複数のＮＡＮＤストリングＮＳが設けられる。すなわち、ｐ型ウェル領域３０ｐ上には、例えば、選択ゲート線ＳＧＳとして機能する配線層３１、ワード線ＷＬ０〜ＷＬ７として機能する８層の配線層３２（ＷＬ０〜ＷＬ７）、及び選択ゲート線ＳＧＤとして機能する配線層３３が、順次積層される。配線層３１及び３３は、複数層積層されていてもよい。積層された配線層３１〜３３間には、図示せぬ絶縁膜が設けられる。
【００４６】
配線層３１は、例えば、１つのブロックＢＬＫ内の複数のＮＡＮＤストリングＮＳの各々の選択トランジスタＳＴ２のゲートに共通接続される。配線層３２は、各層毎に、１つのブロックＢＬＫ内の複数のＮＡＮＤストリングＮＳの各々のメモリセルトランジスタＭＴの制御ゲートに共通接続される。配線層３３は、１つのストリングユニットＳＵ内の複数のＮＡＮＤストリングＮＳの各々の選択トランジスタＳＴ１のゲートに共通接続される。
【００４７】
メモリホールＭＨは、配線層３３、３２、３１を通過してｐ型ウェル領域３０ｐに達するように設けられる。メモリホールＭＨの側面上には、ブロック絶縁膜３４、電荷蓄積層（絶縁膜）３５、及びトンネル酸化膜３６が順に設けられる。メモリホールＭＨ内には、半導体ピラー（導電膜）３７が埋め込まれる。半導体ピラー３７は、例えばノンドープのポリシリコンであり、ＮＡＮＤストリングＮＳの電流経路として機能する。半導体ピラー３７の上方には、ビット線ＢＬとして機能する配線層３８が設けられる。半導体ピラー３７と配線層３８とは、コンタクトプラグ４５を介して接続されている。
【００４８】
以上のように、ｐ型ウェル領域３０ｐの上方には、選択トランジスタＳＴ２、複数のメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１が順に積層されており、１つのメモリホールＭＨが、１つのＮＡＮＤストリングＮＳに対応している。
【００４９】
ｐ型ウェル領域３０ｐの上部には、ｎ＋型不純物拡散領域３９及びｐ＋型不純物拡散領域４０が設けられる。ｎ＋型不純物拡散領域３９の上面上には、コンタクトプラグ４１が設けられる。コンタクトプラグ４１の上面上には、ソース線ＣＥＬＳＲＣとして機能する配線層４２が設けられる。ｐ＋型不純物拡散領域４０の上面上にはコンタクトプラグ４３が設けられる。コンタクトプラグ４３の上面上には、ウェル線ＣＰＷＥＬＬとして機能する配線層４４が設けられる。
【００５０】
なお、メモリセルアレイ２１＿１の構成については、その他の構成であってもよい。メモリセルアレイ２１＿１の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００５１】
１．１．６  センスアンプモジュールの構成について
次に、第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成について説明する。図６は、第１実施形態に係る半導体記憶装置のセンスアンプモジュールの構成の一例を説明するためのブロック図である。図６に示すように、センスアンプモジュール２１＿３は、ビット線ＢＬ毎に設けられたセンスアンプユニットＳＡＵ（ＳＡＵ０、ＳＡＵ１、…、ＳＡＵ（ｍ−１））を備えている。
【００５２】
センスアンプユニットＳＡＵの各々は、センスアンプＳＡ、ラッチ回路ＳＤＬ、及びラッチ回路ＸＤＬを備えている。
【００５３】
センスアンプＳＡは、対応するビット線ＢＬの電圧又は電流によってメモリセルトランジスタＭＴの閾値電圧をセンスすることでデータを読み出し、又書込みデータに応じてビット線ＢＬに電圧を印加する。すなわちセンスアンプＳＡは、ビット線ＢＬを直接的に制御する。そしてセンスアンプＳＡには、読出し時には、例えばシーケンサ２５によってノードＳＴＢを介してストローブ信号が与えられる。センスアンプＳＡは、ストローブ信号がアサートされるタイミングで読出しデータを確定させ、ラッチ回路ＳＤＬに保持させる。
【００５４】
ラッチ回路ＳＤＬは、センスアンプＳＡによって読み出された読出しデータ及びセンスアンプＳＡによって書き込まれる書込みデータを一時的に保持する。後述するように、センスアンプユニットＳＡＵにおいて、センスアンプＳＡはノードＳＥＮを含み、ラッチ回路ＳＤＬ及びＸＤＬはバスＤＢＵＳで接続されている。ノードＳＥＮとバスＤＢＵＳは、大きな寄生容量を持っているため、一時的なラッチとして使用できる。例えば、ラッチ回路ＳＤＬ及びＸＤＬに保持されているデータをノードＳＥＮ及びバスＤＢＵＳに一時的に展開させることで、それらに対して、否定（ＮＯＴ）演算、論理和（ＯＲ）演算、論理積（ＡＮＤ）演算、否定論理積（ＮＡＮＤ）演算、否定論理和（ＮＯＲ）演算、排他的論理和（ＸＯＲ）演算等、種々の論理演算を行うことができる。
【００５５】
センスアンプＳＡ、及びラッチ回路ＳＤＬは、互いにデータを送受信可能なように、共通のノードに接続されている。そして更にラッチ回路ＸＤＬがバスＤＢＵＳを介してセンスアンプＳＡ、及びラッチ回路ＳＤＬに接続されている。
【００５６】
センスアンプモジュール２１＿３におけるデータの入出力は、ラッチ回路ＸＤＬを介して行われる。すなわち、メモリコントローラ１０から受信したデータは、入出力回路２２から入出力用のバスＸＢＵＳを経由してラッチ回路ＸＤＬへと転送された後、ラッチ回路ＳＤＬ又はセンスアンプＳＡに送信される。また、ラッチ回路ＳＤＬ又はセンスアンプＳＡのデータは、バスＤＢＵＳを経由してラッチ回路ＸＤＬに転送された後、バスＸＢＵＳを経由して入出力回路２２又はその先のメモリコントローラ１０へ送信される。このように、ラッチ回路ＸＤＬは、入出力回路２２とセンスアンプＳＡとの間に直列に接続された、半導体記憶装置２０のキャッシュメモリとして機能する。したがって、ラッチ回路ＳＤＬが使用中であったとしても、ラッチ回路ＸＤＬが空いていれば（開放された状態であれば）、半導体記憶装置２０はレディ状態となることができる。一方、ラッチ回路ＸＤＬが使用中である場合、後述する擬似キャッシュプログラム動作のような所定の場合を除き、半導体記憶装置２０はレディ状態となることはできない。
【００５７】
図７は、第１実施形態に係る半導体記憶装置のセンスアンプユニットの構成の一例を説明するための回路図である。図７では、センスアンプモジュール２１＿３内のセンスアンプユニットＳＡＵのうち、センスアンプＳＡ、ラッチ回路ＳＤＬ、及びラッチ回路ＸＤＬの構成が一例として示される。
【００５８】
まず、センスアンプＳＡの構成について説明する。
【００５９】
図７に示すように、センスアンプＳＡは、トランジスタＴｒ１、Ｔｒ２、Ｔｒ３、Ｔｒ４、Ｔｒ５、Ｔｒ６、Ｔｒ７、Ｔｒ８、Ｔｒ９、Ｔｒ１０、及びＴｒ１１、並びにキャパシタＣ１及びＣ２を備えている。トランジスタＴｒ１〜Ｔｒ５、及びＴｒ７〜Ｔｒ１１は、例えば、ｎ型の極性を有し、トランジスタＴｒ６は、例えば、ｐ型の極性を有する。
【００６０】
トランジスタＴｒ１は、例えば、高耐圧のトランジスタであり、ビット線ＢＬに接続された第１端と、トランジスタＴｒ２の第１端に接続された第２端と、ノードＢＬＳに接続されたゲートと、を含む。トランジスタＴｒ２は、ノードＳＣＯＭに接続された第２端と、ノードＢＬＣに接続されたゲートと、を含む。
【００６１】
トランジスタＴｒ３は、ノードＳＣＯＭに接続された第１端と、ノードＳＳＲＣに接続された第２端と、ノードＢＬＸに接続されたゲートと、を含む。トランジスタＴｒ４は、ノードＳＣＯＭに接続された第１端と、ノードＶＬＳＡに接続された第２端と、ノードＮＬＯに接続されたゲートと、を含む。
【００６２】
トランジスタＴｒ５は、ノードＳＳＲＣに接続された第１端と、ノードＳＲＣＧＮＤに接続された第２端と、ノードＬＡＴ＿Ｓに接続されたゲートと、を含む。トランジスタＴｒ６は、ノードＳＳＲＣに接続された第１端と、ノードＶＨＳＡに接続された第２端と、ノードＬＡＴ＿Ｓに接続されたゲートと、を含む。
【００６３】
トランジスタＴｒ７は、ノードＳＣＯＭに接続された第１端と、ノードＳＥＮに接続された第２端と、ノードＸＸＬに接続されたゲートと、を含む。キャパシタＣ１は、ノードＳＥＮに接続された第１端と、ノードＣＬＫＳＡに接続された第２端と、を含む。キャパシタＣ２は、ノードＳＥＮに接続された第１端と、バスＤＢＵＳに接続された第２端と、を含む。
【００６４】
トランジスタＴｒ８は、ノードＳＥＮに接続された第１端と、ノードＶＨＬＢに接続された第２端と、ノードＢＬＱに接続されたゲートと、を含む。トランジスタＴｒ９は、ノードＳＥＮに接続された第１端と、バスＤＢＵＳに接続された第２端と、ノードＤＳＷに接続されたゲートと、を含む。
【００６５】
トランジスタＴｒ１０は、ノードＣＬＫＳＡに接続された第１端と、トランジスタＴｒ１１の第１端に接続された第２端と、ノードＳＥＮに接続されたゲートと、を含む。トランジスタＴｒ１１は、ノードＩＮＶ＿Ｓに接続された第２端と、ノードＳＴＢに接続されたゲートと、を含む。
【００６６】
引き続き図７を用いて、ラッチ回路ＳＤＬの構成について説明する。
【００６７】
ラッチ回路ＳＤＬは、トランジスタＴｒ１２、Ｔｒ１３、Ｔｒ１４、Ｔｒ１５、Ｔｒ１６、Ｔｒ１７、Ｔｒ１８、及びＴｒ１９を備えている。トランジスタＴｒ１４、及びＴｒ１７〜Ｔｒ１９は、例えば、ｎ型の極性を有し、トランジスタＴｒ１２、Ｔｒ１３、Ｔｒ１５、及びＴｒ１６は、例えば、ｐ型の極性を有する。
【００６８】
トランジスタＴｒ１２は、ノードＩＮＶ＿Ｓに接続された第１端と、トランジスタＴｒ１３の第１端に接続された第２端と、ノードＳＬＩに接続されたゲートと、を含む。トランジスタＴｒ１３は、ノードＶＤＤＳＡに接続された第２端と、ノードＬＡＴ＿Ｓに接続されたゲートと、を含む。トランジスタＴｒ１４は、ノードＩＮＶ＿Ｓに接続された第１端と、ノードＶＳＳ＿ＳＤＬに接続された第２端と、ノードＬＡＴ＿Ｓに接続されたゲートと、を含む。
【００６９】
トランジスタＴｒ１５は、ノードＬＡＴ＿Ｓに接続された第１端と、トランジスタＴｒ１６の第１端に接続された第２端と、ノードＳＬＬに接続されたゲートと、を含む。トランジスタＴｒ１６は、ノードＶＤＤＳＡに接続された第２端と、ノードＩＮＶ＿Ｓに接続されたゲートと、を含む。トランジスタＴｒ１７は、ノードＬＡＴ＿Ｓに接続された第１端と、ノードＶＳＳ＿ＳＤＬに接続された第２端と、ノードＩＮＶ＿Ｓに接続されたゲートと、を含む。
【００７０】
トランジスタＴｒ１８は、ノードＩＮＶ＿Ｓに接続された第１端と、バスＤＢＵＳに接続された第２端と、ノードＳＴＩに接続されたゲートと、を含む。トランジスタＴｒ１９は、ノードＬＡＴ＿Ｓに接続された第１端と、バスＤＢＵＳに接続された第２端と、ノードＳＴＬに接続されたゲートと、を含む。
【００７１】
引き続き図７を用いて、ラッチ回路ＸＤＬの構成について説明する。
【００７２】
ラッチ回路ＸＤＬは、トランジスタＴｒ２０、Ｔｒ２１、Ｔｒ２２、Ｔｒ２３、Ｔｒ２４、Ｔｒ２５、Ｔｒ２６、Ｔｒ２７、Ｔｒ２８、及びＴｒ２９を備えている。トランジスタＴｒ２０、Ｔｒ２２、Ｔｒ２５、Ｔｒ２７、及びＴｒ２９は、例えば、ｎ型の極性を有する。トランジスタＴｒ２１、Ｔｒ２３、Ｔｒ２４、Ｔｒ２６、及びＴｒ２８は、例えば、ｐ型の極性を有する。
【００７３】
トランジスタＴｒ２０は、バスＤＢＵＳに接続された第１端と、ノードＩＮＶ＿Ｘに接続された第２端と、ノードＸＴＩに接続されたゲートと、を含む。
【００７４】
トランジスタＴｒ２１は、ノードＩＮＶ＿Ｘに接続された第１端と、トランジスタＴｒ２３の第１端に接続された第２端と、ノードＬＡＴ＿Ｘに接続されたゲートと、を含む。トランジスタＴｒ２２は、ノードＩＮＶ＿Ｘに接続された第１端と、接地された第２端と、ノードＬＡＴ＿Ｘに接続されたゲートと、を含む。トランジスタＴｒ２３は、ノードＶＤＤＳＡに接続された第２端と、ノードＸＬＩに接続されたゲートと、を含む。
【００７５】
トランジスタＴｒ２４は、ノードＬＡＴ＿Ｘに接続された第１端と、トランジスタＴｒ２６の第１端に接続された第２端と、ノードＩＮＶ＿Ｘに接続されたゲートと、を含む。トランジスタＴｒ２５は、ノードＬＡＴ＿Ｘに接続された第１端と、トランジスタＴｒ２７の第１端に接続された第２端と、ノードＩＮＶ＿Ｘに接続されたゲートと、を含む。トランジスタＴｒ２６は、ノードＶＤＤＳＡに接続された第２端と、ノードＸＬＬに接続されたゲートと、を含む。トランジスタＴｒ２７は、接地された第２端と、ノードＸＮＬに接続されたゲートと、を含む。
【００７６】
トランジスタＴｒ２８は、ノードＬＡＴ＿Ｘに接続された第１端と、バスＸＢＵＳに接続された第２端と、ノードＸＮＬに接続されたゲートと、を含む。トランジスタＴｒ２９は、ノードＬＡＴ＿Ｘに接続された第１端と、バスＸＢＵＳに接続された第２端と、ノードＸＴＬに接続されたゲートと、を含む。バスＸＢＵＳは、信号Ｉ／Ｏを転送するための経路として使用される。
【００７７】
以上のように構成することにより、センスアンプユニットＳＡＵは、ビット線ＢＬとバスＸＢＵＳとの間にデータを保持可能なラッチ回路を設けつつ、データの送受信経路として機能することができる。
【００７８】
１．２  擬似キャッシュプログラム動作について
次に、第１実施形態に係る半導体記憶装置における擬似キャッシュプログラム動作について説明する。ここで、キャッシュプログラム動作は、センスアンプモジュール２１＿３内のセンスアンプユニットＳＡＵにおいて、センスアンプＳＡがラッチ回路ＳＤＬに格納された書込みデータに基づいて或るページ（例えば、第１ページ）に対する書込み動作を実行する期間を利用して、当該或るページと異なる他のページ（例えば、第２ページ）に対する書込みデータをラッチ回路ＸＤＬへ入力する動作を示す。擬似キャッシュプログラム動作は、このようなキャッシュプログラム動作のうち、上述の第１ページと第２ページとが互いに異なるプレーンＰＢに対応する場合に適用することができる。
【００７９】
図８は、第１実施形態に係る半導体記憶装置における擬似キャッシュプログラム動作を説明するためのコマンドシーケンスである。図８では、一例として、プレーンＰＢ０への書込み動作と、プレーンＰＢ１への書込み動作と、が擬似キャッシュプログラム動作のシーケンスに沿って交互に実行される場合が一例として示される。
【００８０】
図８に示すように、メモリコントローラ１０は、直前に書込みコマンド等が送信されておらず半導体記憶装置２０がレディ状態であるときに、コマンド“８０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“８０ｈ”は、半導体記憶装置２０へのデータの書込み動作を命令するコマンドである。
【００８１】
コントローラ１０は、例えば、５サイクルにわたってアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。このアドレスＡＤＤは、例えば、書込み対象のプレーンＰＢ、ブロックＢＬＫ、及び当該ブロックＢＬＫ内の或る領域のアドレスを指定するものである。図８の例では、シーケンサ２５は、当該アドレスＡＤＤによって、プレーンＰＢ０内においてデータが書込まれる領域のアドレスを特定する。アドレスＡＤＤがレジスタ２４に格納されると、シーケンサ２５は、全てのプレーンＰＢ内のラッチ回路ＸＤＬを開放（例えば、全てのラッチ回路ＸＤＬに保持されたデータを“１”にリセット）する。これにより、以降の書込み動作において予期しない書込み動作が実行されることを抑制することができる。なお、アドレスＡＤＤのサイクル数は、５サイクルに限らず、任意のサイクル数が適用可能である。
【００８２】
続いてコントローラ１０は、書込みデータＤｉｎを半導体記憶装置２０に送信する。コントローラ１０は、例えば、コマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”は、直前に送信されたアドレスＡＤＤ及び書込みデータＤｉｎに基づいて半導体記憶装置２０にデータの書込み動作を実行させるためのコマンドである。また、コマンド“１５ｈ”は、当該書込み動作がキャッシュプログラム動作であることを半導体記憶装置２０に通知する。コマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”の組を「第１種の書込みコマンドセット」と呼ぶ場合がある。また、コマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”（後述）の組を「第２種の書込みコマンドセット」と呼ぶ場合がある。また、コマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１０ｈ”の組を「第３種の書込みコマンドセット」と呼ぶ場合がある。
【００８３】
コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、メモリコントローラ１０から送信された書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力する。そして、シーケンサ２５は、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路（例えば、ラッチ回路ＳＤＬ）に更に移動させる。その後、シーケンサ２５は、電圧生成回路２６、並びにコア部２１内のプレーンＰＢ０のロウデコーダ２１＿２、及びセンスアンプモジュール２１＿３等を制御して、書込み動作を開始する。
【００８４】
ここで、書込み動作は、プログラム動作と、ベリファイ動作と、を含む。プログラム動作は、書込みデータＤｉｎに基づいてメモリセルトランジスタＭＴの閾値電圧を上昇させる動作である。ベリファイ動作は、当該プログラム動作の後にメモリセルトランジスタＭＴの閾値電圧をセンスし、当該メモリセルトランジスタＭＴの閾値電圧が所望の値まで上昇したか否かを判定する動作である。シーケンサ２５は、当該プログラム動作とベリファイ動作とを交互に実行させることによって、最終的に書込み動作を完了させる。
【００８５】
このため、書込み動作に際しては、少なくとも１つのラッチ回路（例えば、ラッチ回路ＳＤＬ）において書込みデータＤｉｎを保持する必要があるとともに、他の１つのラッチ回路（例えば、ラッチ回路ＸＤＬ）においてベリファイ動作中に読み出される読出しデータを保持する必要がある。したがって、本実施形態に係る半導体記憶装置２０では、書込みデータＤｉｎがラッチ回路ＸＤＬからラッチ回路ＳＤＬに移動されても、書込み動作中にラッチ回路ＸＤＬが使用中の状態となる。
【００８６】
上述の通り、ラッチ回路ＸＤＬが使用中である場合、一般的に、半導体記憶装置２０は、レディ状態となることはできない。そこで、擬似キャッシュプログラム動作では、シーケンサ２５は、プレーンＰＢ０への書込み動作が完了する前に（例えば、対応するラッチ回路ＸＤＬへの書込みデータＤｉｎの入力が終わった後、プレーンＰＢ０への書込み動作の開始と同時に）、プレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。具体的には、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬに保持されたデータをリセットすることなく、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態であるとみなす。換言すれば、第１実施形態に係る半導体記憶装置２０は、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態である場合にレディ状態となるだけでなく、全てのプレーンＰＢのうち一部のプレーンＰＢ（例えば、プレーンＰＢ０）内のラッチ回路ＸＤＬに書込みデータＤｉｎの入力が終わった後にも、実際には当該一部のプレーンＰＢにおいて書込み動作が実行中であったとしても、レディ状態となる。
【００８７】
これにより、ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知することができる。このため、メモリコントローラ１０は、半導体記憶装置２０が更なるコマンドを受付け可能な状態であることを認識することができる。
【００８８】
次に、メモリコントローラ１０は、コマンド“８０ｈ”、及び５サイクルにわたるアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。図８の例では、シーケンサ２５は、当該アドレスＡＤＤによって、プレーンＰＢ１内においてデータが書込まれる領域のアドレスを特定する。
【００８９】
続いてコントローラ１０は、書込みデータＤｉｎを半導体記憶装置２０に送信する。コントローラ１０は、例えば、コマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。
【００９０】
シーケンサ２５は、プレーンＰＢ０に対する書込み動作を実行しつつ、メモリコントローラ１０から送信された書込みデータＤｉｎをプレーンＰＢ１内の対応するラッチ回路ＸＤＬに入力する。そして、シーケンサ２５は、当該書込みデータＤｉｎをプレーンＰＢ１内の他のラッチ回路ＳＤＬに更に移動させる。シーケンサ２５は、プレーンＰＢ０への書込み動作が完了するまで、プレーンＰＢ１への書込み動作を待機させる。
【００９１】
プレーンＰＢ０への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ０内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。また、シーケンサ２５は、プレーンＰＢ０への書込み動作が完了したことに伴い、プレーンＰＢ１への書込み動作を開始させる。この際、シーケンサ２５は、プレーンＰＢ１内のラッチ回路ＸＤＬを擬似的に開放する。具体的には、シーケンサ２５は、プレーンＰＢ１内のラッチ回路ＸＤＬに保持されたデータをリセットすることなく、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態であるとみなす。これにより、ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知することができる。このため、メモリコントローラ１０は、半導体記憶装置２０が更なるコマンドを受付け可能な状態であることを認識することができる。
【００９２】
シーケンサ２５は、直前に書込みコマンド等が送信されておらず半導体記憶装置２０がレディ状態であるときにプレーンＰＢ０に対する書込みコマンドを受けた場合は、プレーンＰＢ０内のラッチ回路ＸＤＬへ書込みデータの入力が終わった後に、ロジック制御回路２３に信号／ＲＢを“Ｈ”レベルにさせて、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知させる。一方で、シーケンサ２５は、プレーンＰＢ０に対する書込みコマンドを受けて書込み動作が実行中であるときにプレーンＰＢ１に対する書込みコマンドを受けた場合は、プレーンＰＢ１内のラッチ回路ＸＤＬへ書込みデータの入力が終わり、かつ、プレーンＰＢ０への書込み動作が完了した後に、ロジック制御回路２３に信号／ＲＢを“Ｈ”レベルにさせて、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知させる。
【００９３】
すなわち、第１実施形態に係る半導体記憶装置２０は、あるプレーン（プレーンＰＢ０）に対する第１種の書込みコマンドセット（“１５ｈ”を含む）を受信してからレディ状態に戻るまでに要する第１期間Ｄ１が、他のプレーン（プレーンＰＢ１）に対する第１種の書込みコマンドセットを受信してからレディ状態に戻るまでに要する第２期間Ｄ２よりも、短い。
【００９４】
次に、メモリコントローラ１０は、コマンド“８０ｈ”、及び５サイクルにわたるアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。図８の例では、シーケンサ２５は、当該アドレスＡＤＤによって、プレーンＰＢ０内においてデータが書込まれる領域のアドレスを特定する。
【００９５】
続いてコントローラ１０は、書込みデータＤｉｎを半導体記憶装置２０に送信する。コントローラ１０は、コマンド“１０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１０ｈ”は、直前に送信されたアドレスＡＤＤ及び書込みデータＤｉｎに基づいて半導体記憶装置２０にデータの書込み動作を実行させるためのコマンドである。また、コマンド“１０ｈ”は、当該書込み動作でキャッシュプログラム動作が終了することを半導体記憶装置２０に通知する。
【００９６】
コマンド“１０ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。
【００９７】
シーケンサ２５は、プレーンＰＢ１に対する書込み動作を実行しつつ、メモリコントローラ１０から送信された書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力する。そして、シーケンサ２５は、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路ＳＤＬに更に移動させる。その後、シーケンサ２５は、プレーンＰＢ１への書込み動作が完了するまで、プレーンＰＢ０への書込み動作を待機させる。
【００９８】
プレーンＰＢ１への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ１内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ１内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。また、シーケンサ２５は、プレーンＰＢ１への書込み動作が完了したことに伴い、プレーンＰＢ０への書込み動作を開始させる。
【００９９】
プレーンＰＢ０への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ０を含む全てのプレーンＰＢ内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１００】
以上で、擬似キャッシュプログラム動作が終了する。
【０１０１】
なお、メモリコントローラ１０は、上述した擬似キャッシュプログラム動作中の任意のタイミングで、ラッチ回路ＸＤＬに保持されたデータを出力することが可能である。具体的には、メモリコントローラ１０は、半導体記憶装置２０に、コマンド“０５ｈ”、カラムアドレス、及びコマンド“Ｅ０ｈ”を発行する。半導体記憶装置２０は、当該コマンドシーケンスに応答して、ラッチ回路ＸＤＬに保持されたデータを、メモリコントローラ１０に出力する。
【０１０２】
１．３  本実施形態に係る効果
第１実施形態によれば、書込み動作のレイテンシの増加を抑制することができる。本効果について、以下に説明する。
【０１０３】
半導体記憶装置２０は、書込み動作の際に各センスアンプユニットＳＡＵ内に設けられた全ての（２つの）ラッチ回路ＸＤＬ及びＳＤＬが使用されるにもかかわらず、キャッシュプログラム動作をサポートする。すなわち、シーケンサ２５は、プレーンＰＢ０へのキャッシュプログラム動作を指示するコマンド（“８０ｈ”−“１５ｈ”）を受けると、プレーンＰＢ０内のラッチ回路ＸＤＬの使用が完了する前に、後続するキャッシュプログラム動作を指示するコマンド（“８０ｈ”−“１５ｈ”又は“８０ｈ”−“１０ｈ”）を受付けるように構成される。これにより、ロジック制御回路２３は、プレーンＰＢ０がラッチ回路ＸＤＬを使用しながら書込み動作を実行中であるにもかかわらず、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知することができる。このため、他のプレーンＰＢ１への書込みデータＤｉｎをラッチ回路ＸＤＬに入力する動作を、プレーンＰＢ０への書込み動作と並行して実行することができる。したがって、書込み動作のレイテンシの増加を抑制することができる。
【０１０４】
補足すると、一般的に、ラッチ回路ＸＤＬが使用中の場合、ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにすることができない。このため、第１実施形態に係る半導体記憶装置２０のように、ラッチ回路の数が少ない構成の場合、キャッシュプログラム動作をサポートすることができない可能性がある。
【０１０５】
第１実施形態では、半導体記憶装置２０が複数のプレーンＰＢを有する。各プレーンＰＢは、メモリセルアレイ２１＿１、ロウデコーダ２１＿２、及びセンスアンプモジュール２１＿３を含み、プレーンＰＢ毎に書込み動作、読出し動作、消去動作等を行うことができる。また、メモリシステム１は、後続するキャッシュプログラム動作における書込み対象のプレーンＰＢを、直前のキャッシュプログラム動作における書込み対象のプレーンＰＢと異ならせる制約を設ける。これにより、シーケンサ２５は、あるプレーンＰＢ（例えば、プレーンＰＢ０）内のラッチ回路ＸＤＬへ書込みデータＤｉｎが入力された後、書込み動作が実行されている間、当該プレーンＰＢ（例えば、プレーンＰＢ０）内のラッチ回路ＸＤＬへ新たな書込みデータＤｉｎが転送されることがない、とみなすことができる。このため、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放することができる。したがって、未使用のラッチ回路ＸＤＬを有する他のプレーンＰＢ１への書込みデータの入力に要する期間を、プレーンＰＢ０への書込み動作に要する期間と重複させることができ、ひいては、書込み動作のレイテンシの増加を抑制することができる。
【０１０６】
なお、第１実施形態では、書込み動作のうちのベリファイ動作においてラッチ回路ＸＤＬが使用中となる場合について説明したが、これに限られない。例えば、書込み動作のうちのプログラム動作においてもラッチ回路ＸＤＬが使用中となる場合においても、第１実施形態と同等の擬似キャッシュプログラム動作を適用することができ、同等の効果を奏することができる。
【０１０７】
１．４  変形例等
第１実施形態では、キャッシュプログラム動作のシーケンスにおいてラッチ回路ＸＤＬが擬似的に開放される場合について説明したが、これに限られず、種々の変形が可能である。例えば、キャッシュプログラム動作中に読出し動作等の他の動作が割り込む場合にも、同様にラッチ回路ＸＤＬが擬似的に開放され得る。以下の説明では、第１実施形態と同様の構成及び動作については適宜説明を省略し、第１実施形態と異なる構成及び動作について主に説明する。
【０１０８】
１．４．１  第１変形例
まず、擬似キャッシュプログラム動作中に、書込み動作を中断するコマンドを発行することによって、読出し動作を割り込ませる場合について説明する。
【０１０９】
図９は、第１実施形態の第１変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンスである。図９では、第１実施形態の図８において説明した擬似キャッシュプログラム動作中に、読出し動作が割り込んで実行される場合の一例が示される。
【０１１０】
図９に示すように、まず、メモリコントローラ１０は、プレーンＰＢ０への擬似キャッシュプログラム動作を命令するためのコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。アドレスＡＤＤがレジスタ２４に格納されると、シーケンサ２５は、全てのプレーンＰＢ内のラッチ回路ＸＤＬを開放する。また、コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路ＳＤＬに更に移動させる。そして、シーケンサ２５は、プレーンＰＢ０への書込み動作を開始する。
【０１１１】
シーケンサ２５は、プレーンＰＢ０への書込み動作が完了する前に、プレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１１２】
メモリコントローラ１０は、例えば、外部のホスト機器から優先度の高い読出し動作の実行命令を受ける。これに伴い、メモリコントローラ１０は、コマンド“Ａ７ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“Ａ７ｈ”は、実行中の書込み動作を中断させ、新たな動作を割り込ませることを半導体記憶装置２０に通知するためのコマンドである。
【０１１３】
続いてメモリコントローラ１０は、コマンド“００ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“００ｈ”は、半導体記憶装置２０からのデータの読出し動作を命令するコマンドである。
【０１１４】
メモリコントローラ１０は、例えば、５サイクルにわたってアドレスＡＤＤを発行し、半導体記憶装置２０に送信する。このアドレスＡＤＤは、例えば、読出し対象のプレーンＰＢ、ブロックＢＬＫ、及び当該ブロックＢＬＫ内の或る領域のアドレスを指定するものである。ここで、当該アドレスＡＤＤは、書込み動作を実行中のプレーンＰＢ０に依らず、任意のプレーンＰＢ内の任意のブロックＢＬＫを指定可能である。
【０１１５】
メモリコントローラ１０は、コマンド“３０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“３０ｈ”は、直前に送信されたアドレスＡＤＤに基づいて半導体記憶装置２０からのデータの読出し動作を実行させるためのコマンドである。これにより、半導体記憶装置２０は、書込み動作を中断させ、読出し動作を割り込ませる動作を開始する。
【０１１６】
具体的には、ロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、プレーンＰＢ０への書込み動作を中断させ、読出し動作を開始するための設定の切替えを行う。具体的には、例えば、シーケンサ２５は、ラッチ回路ＳＤＬに保持されている書込みデータＤｉｎを、ラッチ回路ＸＤＬに再度転送し直してもよい。しかる後、シーケンサ２５は、メモリセルトランジスタＭＴからのデータの読出し動作を開始させる。
【０１１７】
ロジック制御回路２３は、データの読出し動作が完了した後、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。メモリコントローラ１０は、半導体記憶装置２０がレディ状態になると、信号／ＲＥを繰り返しアサートする。信号／ＲＥがトグルされるたびに、読み出されたデータがメモリコントローラ１０へ出力される。
【０１１８】
読み出されたデータのメモリコントローラ１０への出力が完了した後、メモリコントローラ１０は、コマンド“４８ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“４８ｈ”は、中断させた書込み動作を再開させることを半導体記憶装置２０に通知するためのコマンドである。コマンド“４８ｈ”を受けると、シーケンサ２５は、プレーンＰＢ０への書込み動作を再開させると共に、再びプレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。プレーンＰＢ０への書込み動作の再開に伴ってプレーンＰＢ０内のラッチ回路ＸＤＬは使用中となるが、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬをリセットすることなく、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態であるとみなす。このため、半導体記憶装置２０はレディ状態のままであり、メモリコントローラ１０は、半導体記憶装置２０が更なるコマンドを受付け可能な状態であることを認識することができる。
【０１１９】
次に、メモリコントローラ１０は、プレーンＰＢ１への擬似キャッシュプログラム動作を命令するためのコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１０ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１０ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ１内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ１内の他のラッチ回路ＳＤＬに更に移動させる。シーケンサ２５は、プレーンＰＢ０への書込み動作が完了するまで、プレーンＰＢ１への書込み動作を待機させる。
【０１２０】
プレーンＰＢ０への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ０内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。また、シーケンサ２５は、プレーンＰＢ０への書込み動作が完了したことに伴い、プレーンＰＢ１への書込み動作を開始させる。プレーンＰＢ１への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ１内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ１を含む全てのプレーンＰＢ内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１２１】
以上で、読出し動作を割り込ませた擬似キャッシュプログラム動作が終了する。
【０１２２】
なお、上述の通り、ラッチ回路ＸＤＬは、センスアンプＳＡと入出力回路２２との間に直列に接続されて設けられる。これにより、メモリセルトランジスタＭＴから読み出されたデータをメモリコントローラ１０に出力するためには、ラッチ回路ＸＤＬを経由させることを要する。このため、読出し対象のプレーンＰＢが書込み動作を中断させたプレーンＰＢと同一（すなわち、図９の場合ではプレーンＰＢ０）である場合、ラッチ回路ＸＤＬ内に書込みデータＤｉｎが保持されている可能性がある。したがって、ラッチ回路ＸＤＬにおいて書込みデータＤｉｎと読出しデータとが衝突する可能性がある。
【０１２３】
図１０は、第１実施形態の第１変形例に係る半導体記憶装置における、センスアンプユニット内のデータの衝突を回避するためのデータ移動を説明するための模式図である。図１０では、プレーンＰＢ０への書込み動作が中断している際に、プレーンＰＢ０からのデータの読出し動作が割り込んで実行される場合が示される。
【０１２４】
図１０に示すように、まず、ステップＳ１において、シーケンサ２５は、書込みデータＤｉｎをラッチ回路ＸＤＬに保持させる。
【０１２５】
続いて、ステップＳ２において、シーケンサ２５は、読出し対象のメモリセルトランジスタＭＴの閾値電圧をノードＳＥＮにおいてセンスすることでデータを読み出し、読み出したデータをラッチ回路ＳＤＬに保持させる。
【０１２６】
ステップＳ３において、シーケンサ２５は、ラッチ回路ＸＤＬに保持された書込みデータＤｉｎをセンスアンプＳＡ内のノードＳＥＮに保持させる。
【０１２７】
ステップＳ４において、シーケンサ２５は、ラッチ回路ＳＤＬに保持された読出しデータをラッチ回路ＸＤＬに保持させる。
【０１２８】
ステップＳ５において、シーケンサ２５は、ノードＳＥＮに保持された書込みデータＤｉｎをラッチ回路ＳＤＬに保持させる。
【０１２９】
ステップＳ６において、シーケンサ２５は、ラッチ回路ＸＤＬに転送された読出しデータをメモリコントローラ１０に向けて出力する。
【０１３０】
ステップＳ７において、シーケンサ２５は、ラッチ回路ＳＤＬに保持された書込みデータＤｉｎをラッチ回路ＸＤＬに保持させる。
【０１３１】
以上のように動作させることにより、書込み動作を中断させたプレーンＰＢと、読出し対象のプレーンＰＢとが同一の場合においても、書込みデータＤｉｎを失うことなく、データの読出しを実行することができる。
【０１３２】
なお、図１０では、書込み動作を中断させたプレーンＰＢと、読出し対象のプレーンＰＢとが同一の場合について説明したが、これに限られない。すなわち、書込み動作を中断させたプレーンＰＢは、読出し対象のプレーンＰＢと異なっていてもよい。この場合、ラッチ回路ＸＤＬにおいて書込みデータＤｉｎと読出しデータが衝突する可能性を考慮する必要はない。このため、シーケンサ２５は、図１０の例におけるステップＳ１、Ｓ３、Ｓ５、及びＳ７を省略したシーケンス（すなわち、ステップＳ２、Ｓ４、及びＳ６）に沿って、読出しデータをメモリコントローラ１０へ出力することができる。
【０１３３】
第１実施形態の第１変形例によれば、シーケンサ２５は、第１実施形態と同様に、プレーンＰＢ０への書込み動作の実行中に、プレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。これにより、ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにすることができる。このため、メモリコントローラ１０は、半導体記憶装置２０がレディ状態の際に、コマンド“Ａ７ｈ”を半導体記憶装置２０に送信することができる。したがって、読出し動作を開始するまでに要する時間を低減することができる。
【０１３４】
補足すると、擬似キャッシュプログラム動作による書込み動作でない場合、プレーンＰＢ０への書込み動作の際、半導体記憶装置２０は、ビジー状態となる。この状態で読出し動作を割り込ませる場合、シーケンサ２５は、ビジー状態でコマンド“Ａ７ｈ”を受けることを要する。シーケンサ２５は、更なる読出し用のコマンド“００ｈ”を受けるために、半導体記憶装置２０内の設定をレディ状態に変更するための処理を実行する必要があり、読出し動作のレイテンシが増加する可能性がある。
【０１３５】
第１実施形態の第１変形例によれば、シーケンサ２５は、レディ状態でコマンド“Ａ７ｈ”を受けることができるため、上述したビジー状態からレディ状態への設定変更の処理が不要となる。このため、読出し動作のレイテンシの増加を抑制することができる。
【０１３６】
１．４．２  第２変形例
次に、擬似キャッシュプログラム動作における書込みデータＤｉｎをラッチ回路ＸＤＬに入力している際に、読出し動作が割り込んで実行される場合の動作について説明する。
【０１３７】
図１１は、第１実施形態の第２変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンスである。図１１では、複数プレーンＰＢが同期した書込み動作に対して擬似キャッシュプログラム動作が実行される場合が示される。より具体的には、図１１では、プレーンＰＢ０及びＰＢ１が同期して実行される書込み動作と、プレーンＰＢ２及びＰＢ３が同期して実行される書込み動作とが、擬似キャッシュプログラム動作のシーケンスに沿って交互に実行される場合が一例として示される。そして、図１１では、当該書込み動作のうち、書込みデータＤｉｎのラッチ回路ＸＤＬへの入力中に、読出し動作を割り込ませる場合の動作の一例が示される。
【０１３８】
図１１に示すように、まず、メモリコントローラ１０は、プレーンＰＢ０への書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１１ｈ”は、複数のプレーンＰＢを同期させて実行することを半導体記憶装置２０に通知するためのコマンドである。アドレスＡＤＤがレジスタ２４に格納されると、シーケンサ２５は、全てのプレーンＰＢ内のラッチ回路ＸＤＬを開放する。また、コマンド“１１ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路ＳＤＬに更に移動させる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、プレーンＰＢ０と同期させる書込み動作を指示するコマンドを待つ。
【０１３９】
メモリコントローラ１０は、プレーンＰＢ１への書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ１内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ１内の他のラッチ回路ＳＤＬに更に移動させる。そして、シーケンサ２５は、書込みデータＤｉｎの入力が完了し次第、プレーンＰＢ０及びＰＢ１への同期書込み動作を開始する。
【０１４０】
シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作が完了する前に、プレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬを擬似的に開放する。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１４１】
続いてメモリコントローラ１０は、プレーンＰＢ２への書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１１ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ２内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ２内の他のラッチ回路ＳＤＬに更に移動させる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、プレーンＰＢ２と同期させる書込み動作を指示するコマンドを待つ。
【０１４２】
メモリコントローラ１０は、例えば、プレーンＰＢ２内のラッチ回路ＸＤＬへの書込みデータＤｉｎの入力が完了する前に、外部のホスト機器から優先度の高い読出し動作の実行命令を受ける。これに伴い、メモリコントローラ１０は、コマンド“００ｈ”、アドレスＡＤＤ、及びコマンド“３０ｈ”を発行し、半導体記憶装置２０に送信する。これにより、半導体記憶装置２０は、書込みデータＤｉｎのラッチ回路ＸＤＬへの入力を中断させ、読出し動作を割り込ませる動作を開始する。
【０１４３】
具体的には、ロジック制御回路２３は、信号／ＲＢを“Ｌ”レベルにして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作を中断させ、読出し動作を開始するための設定の切替えを行う。具体的には、例えば、シーケンサ２５は、既に入力が完了してラッチ回路ＳＤＬに保持されている書込みデータＤｉｎを、ラッチ回路ＸＤＬに再度転送し直してもよい。しかる後、シーケンサ２５は、メモリセルトランジスタＭＴからのデータの読出し動作を開始させる。
【０１４４】
なお、読出し対象のプレーンＰＢが、同期書込み動作を中断させたプレーンＰＢ０又はＰＢ１、若しくは書込みデータＤｉｎの入力を中断させたプレーンＰＢ２である場合、ラッチ回路ＸＤＬにおいて書込みデータＤｉｎと読出しデータとが衝突する可能性がある。この場合のセンスアンプユニットＳＡＵ内のデータの移動手法は、例えば、第１実施形態の第１変形例における図１０と同等の手法が適用可能であるため、説明を省略する。
【０１４５】
ロジック制御回路２３は、データの読出し動作が完了した後、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。メモリコントローラ１０は、半導体記憶装置２０がレディ状態になると、信号／ＲＥを繰り返しアサートする。信号／ＲＥがトグルされるたびに、読み出されたデータがメモリコントローラ１０へ出力される。
【０１４６】
読み出されたデータのメモリコントローラ１０への出力が完了した後、メモリコントローラ１０は、コマンド“３Ｆｈ”を発行し、半導体記憶装置２０に送信する。コマンド“３Ｆｈ”は、ラッチ回路ＳＤＬに保持された書込みデータＤｉｎの一部をラッチ回路ＸＤＬに転送するためのコマンドである。コマンド“３Ｆｈ”を受けると、シーケンサ２５は、読出し動作の前に入力済みの書込みデータＤｉｎを、ラッチ回路ＳＤＬからラッチ回路ＸＤＬに転送させる。これにより、センスアンプユニットＳＡＵ内を、読出し動作の割込みが発生する直前の状態に戻すことができる。
【０１４７】
続いてメモリコントローラ１０は、コマンド“４８ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“４８ｈ”を受けると、シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作を再開させると共に、再びプレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬを擬似的に開放する。プレーンＰＢ０及びプレーンＰＢ１への同期書込み動作の再開に伴ってプレーンＰＢ０及びプレーンＰＢ１内のラッチ回路ＸＤＬは使用中となるが、シーケンサ２５は、プレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬをリセットすることなく、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態であるとみなす。このため、半導体記憶装置２０はレディ状態のままであり、メモリコントローラ１０は、半導体記憶装置２０が更なるコマンドを受付け可能な状態であることを認識することができる。
【０１４８】
メモリコントローラ１０は、コマンド“８５ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“８５ｈ”は、いったん中断した書込みデータＤｉｎの入力を再開する旨を半導体記憶装置２０に通知するためのコマンドである。なお、当該書込みデータＤｉｎは、読出し動作による中断前にプレーンＰＢ２内のラッチ回路ＸＤＬへの入力が完了していないデータが含まれていればよい。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ２内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ２内の他のラッチ回路ＳＤＬに更に移動させる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、プレーンＰＢ２と同期させる書込み動作を指示するコマンドを待つ。
【０１４９】
次に、メモリコントローラ１０は、プレーンＰＢ３への擬似キャッシュプログラム動作を命令するためのコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ３内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ３内の他のラッチ回路ＳＤＬに更に移動させる。シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作が完了するまで、プレーンＰＢ２及びＰＢ３への同期書込み動作を待機させる。
【０１５０】
プレーンＰＢ０及びＰＢ１への同期書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。また、シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作が完了したことに伴い、プレーンＰＢ２及びＰＢ３への同期書込み動作を開始させる。プレーンＰＢ２及びＰＢ３への同期書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ２及びＰＢ３内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ２及びＰＢ３を含む全てのプレーンＰＢ内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１５１】
以上で、読出し動作を割り込ませた擬似キャッシュプログラム動作が終了する。
【０１５２】
第１実施形態の第２変形例によれば、シーケンサ２５は、プレーンＰＢ０及びＰＢ１への同期書込み動作の実行中、当該プレーンＰＢ０及びＰＢ１内のラッチ回路ＸＤＬを擬似的に開放する。これにより、プレーンＰＢ０及びＰＢ１への同期書込み動作を実行しつつ、プレーンＰＢ２及びＰＢ３内のラッチ回路ＸＤＬへの書込みデータＤｉｎの入力を実行することができる。このため、プレーンＰＢ２及びＰＢ３への同期書込み動作のレイテンシの増加を抑制することができる。加えて、プレーンＰＢ２及びＰＢ３への同期書込み動作に対して読出し動作の割込みが発生した場合、当該読出し動作のレイテンシの増加をも抑制することができる。
【０１５３】
なお、上述の第２変形例では、プレーンＰＢ２内のラッチ回路ＸＤＬへの書込みデータＤｉｎの入力中に読出しコマンドが発行される場合について説明したが、これに限られない。例えば、読出しコマンドは、プレーンＰＢ２内のラッチ回路ＸＤＬへの書込みデータＤｉｎの入力が完了した後、プレーンＰＢ３への書込みコマンドが発行されるまでの間に発行されてもよい。
【０１５４】
また、上述の第２変形例では、複数のプレーンＰＢの同期書込み動作に対して擬似キャッシュプログラム動作が実行される際に、読出し動作が割り込む場合について説明したが、これに限られない。例えば、第２変形例に係る動作は、第１実施形態、及び第１変形例と同様、１つのプレーンＰＢへの書込み動作に対して擬似キャッシュプログラム動作が実行される際に、読出し動作が割り込む場合においても、同様に適用可能である。
【０１５５】
以下に、上述したような、第２変形例に対する更なる変形例について図１２を用いて説明する。
【０１５６】
図１２は、第２変形例の更なる変形例に係る半導体記憶装置における、割り込んで実行される読出し動作を伴う擬似キャッシュプログラム動作を説明するためのコマンドシーケンスである。図１２では、複数プレーンＰＢが同期した書込み動作ではなく、１つのプレーンへの書込み動作に対して擬似キャッシュプログラム動作が実行される場合が示される。より具体的には、図１２では、プレーンＰＢ０に対して実行される書込み動作と、プレーンＰＢ１に対して実行される書込み動作とが、擬似キャッシュプログラム動作のシーケンスに沿って交互に実行される場合が一例として示される。そして、図１２では、当該書込み動作のうち、書込みデータＤｉｎのラッチ回路ＸＤＬへの入力完了後に、読出し動作を割り込ませる場合の動作の一例が示される。
【０１５７】
図１２に示すように、まず、メモリコントローラ１０は、プレーンＰＢ０への書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１１ｈ”は、続けて更なる書込みコマンドが発行されることを半導体記憶装置２０に通知する。アドレスＡＤＤがレジスタ２４に格納されると、シーケンサ２５は、全てのプレーンＰＢ内のラッチ回路ＸＤＬを開放する。また、コマンド“１１ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路ＳＤＬに更に移動させる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、プレーンＰＢ０への連続した書込み動作を指示するコマンドを待つ。
【０１５８】
メモリコントローラ１０は、プレーンＰＢ０への更なる書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ０内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ０内の他のラッチ回路ＳＤＬに更に移動させる。そして、シーケンサ２５は、書込みデータＤｉｎの入力が完了し次第、プレーンＰＢ０への書込み動作を開始する。
【０１５９】
シーケンサ２５は、プレーンＰＢ０への書込み動作が完了する前に、プレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１６０】
続いてメモリコントローラ１０は、プレーンＰＢ１への書込み動作を指示するコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１１ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ１内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ１内の他のラッチ回路ＳＤＬに更に移動させる。ロジック制御回路２３は、ラッチ回路ＸＤＬへの書込みデータＤｉｎへの入力が完了したか否かに依らず、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、更なる書込み動作を指示するコマンドを待つ。
【０１６１】
メモリコントローラ１０は、例えば、プレーンＰＢ１内のラッチ回路ＸＤＬへの書込みデータＤｉｎの入力が完了した後、更なる書込み動作を指示するコマンドが発行される前に、外部のホスト機器から優先度の高い読出し動作の実行命令を受ける。これに伴い、メモリコントローラ１０は、コマンド“００ｈ”、アドレスＡＤＤ、及びコマンド“３０ｈ”を発行し、半導体記憶装置２０に送信する。これにより、半導体記憶装置２０は、書込みデータＤｉｎのラッチ回路ＸＤＬへの入力を中断させ、読出し動作を割り込ませる動作を開始する。
【０１６２】
読出し動作の割込み処理については、図１１の場合と同様であるため、説明を省略する。
【０１６３】
読み出されたデータのメモリコントローラ１０への出力が完了した後、メモリコントローラ１０は、コマンド“３Ｆｈ”を発行し、半導体記憶装置２０に送信する。コマンド“３Ｆｈ”を受けると、シーケンサ２５は、読出し動作の前に入力済みの書込みデータＤｉｎを、ラッチ回路ＳＤＬからラッチ回路ＸＤＬに転送させる。これにより、センスアンプユニットＳＡＵ内を、読出し動作の割込みが発生する直前の状態に戻すことができる。
【０１６４】
続いてメモリコントローラ１０は、コマンド“４８ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“４８ｈ”を受けると、シーケンサ２５は、プレーンＰＢ０への書込み動作を再開させると共に、再びプレーンＰＢ０内のラッチ回路ＸＤＬを擬似的に開放する。プレーンＰＢ０への連続書込み動作の再開に伴ってプレーンＰＢ０内のラッチ回路ＸＤＬは使用中となるが、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬをリセットすることなく、全てのプレーンＰＢ内のラッチ回路ＸＤＬが未使用の状態であるとみなす。このため、半導体記憶装置２０はレディ状態のままであり、メモリコントローラ１０は、半導体記憶装置２０が更なるコマンドを受付け可能な状態であることを認識することができる。
【０１６５】
メモリコントローラ１０は、コマンド“８５ｈ”、アドレスＡＤＤ、及びコマンド“１１ｈ”を発行し、半導体記憶装置２０に送信する。図１２の例では、書込みデータＤｉｎは、読出し動作による中断前にプレーンＰＢ１内のラッチ回路ＸＤＬへの全て入力が完了しているため、再度送信されない。コマンド“１１ｈ”を受けると、ロジック制御回路２３は、信号／ＲＢを“Ｈ”レベルにして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知し、更なる書込み動作を指示するコマンドを待つ。
【０１６６】
次に、メモリコントローラ１０は、プレーンＰＢ１への更なる書込み動作を命令するためのコマンド“８０ｈ”、アドレスＡＤＤ、書込みデータＤｉｎ、及びコマンド“１５ｈ”を発行し、半導体記憶装置２０に送信する。コマンド“１５ｈ”がレジスタ２４に格納されると、ロジック制御回路２３は、信号／ＲＢを“Ｌ”にして、半導体記憶装置２０がビジー状態であることをメモリコントローラ１０に通知する。シーケンサ２５は、書込みデータＤｉｎをプレーンＰＢ１内の対応するラッチ回路ＸＤＬに入力した後、当該書込みデータＤｉｎをプレーンＰＢ１内の他のラッチ回路ＳＤＬに更に移動させる。シーケンサ２５は、プレーンＰＢ０への書込み動作が完了するまで、プレーンＰＢ１への書込み動作を待機させる。
【０１６７】
プレーンＰＢ０への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ０内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ０内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。また、シーケンサ２５は、プレーンＰＢ０への書込み動作が完了したことに伴い、プレーンＰＢ１への書込み動作を開始させる。プレーンＰＢ１への書込み動作が完了すると、シーケンサ２５は、プレーンＰＢ１内のラッチ回路ＸＤＬを開放する。これにより、プレーンＰＢ１を含む全てのプレーンＰＢ内のラッチ回路ＸＤＬを使用中の状態から未使用の状態にすることができる。ロジック制御回路２３は、信号／ＲＢを“Ｈ”にして、半導体記憶装置２０がレディ状態であることをメモリコントローラ１０に通知する。
【０１６８】
以上で、読出し動作を割り込ませた擬似キャッシュプログラム動作が終了する。
【０１６９】
２．その他
なお、上述の第１実施形態、並びに第１変形例及び第２変形例に限らず、種々の変形が適用可能である。例えば、上述の第１実施形態及び第１変形例では、プレーンＰＢ０の書込み動作と、プレーンＰＢ１の書込みデータ入力動作と、を並行に実行する擬似キャッシュプログラム動作について説明した。また、上述の第２変形例では、プレーンＰＢ０及びＰＢ１の同期書込み動作と、プレーンＰＢ２及びＰＢ３の書込みデータ入力動作と、を並行に実行する擬似キャッシュプログラム動作について説明した。しかしながら、これに限らず、擬似キャッシュプログラム動作は、任意の数（例えば、３個、４個、８個等）のプレーンの組の同期書込み動作に対して実行可能である。より具体的には、例えば、４個のプレーンの組の同期書込み動作に対して擬似キャッシュプログラム動作が適用される場合、プレーンＰＢ０〜ＰＢ３の同期書込み動作と、プレーンＰＢ４〜ＰＢ７の書込みデータ入力動作と、を並行に実行させてもよい。
【０１７０】
上述の第１実施形態では、メモリシステム１が、後続するキャッシュプログラム動作における書込み対象のプレーンＰＢを、直前のキャッシュプログラム動作における書込み対象のプレーンＰＢと異ならせる制約を設ける例を説明した。この制約を、同期書込み動作を実行できるプレーンの組と対応させて与えてもよい。例えば、図１に示される半導体記憶装置２０において、プレーンＰＢ０〜ＰＢ３と、プレーンＰＢ４〜ＰＢ７と、プレーンＰＢ８〜ＰＢ１１と、プレーンＰＢ１２〜ＰＢ１５とが、それぞれ、同期書込み動作を実行できるプレーンの組とする場合、プレーンＰＢ０〜ＰＢ３のうち少なくとも１つに対するキャッシュプログラム動作がなされた場合、後続するキャッシュプログラム動作の対象を、プレーンＰＢ４〜ＰＢ７のうち少なくとも１つとするように制約を設けてもよい。
【０１７１】
また、上述の第１実施形態、並びに第１変形例及び第２変形例では、センスアンプユニットＳＡＵ内にラッチ回路ＳＤＬ及びＸＤＬの２つのみが設けられる場合について説明したが、これに限られない。例えば、ラッチ回路ＳＤＬ及びＸＤＬ以外の更なるラッチ回路が設けられる場合においても、ラッチ回路ＸＤＬが使用中となるような書込み動作の際には、上述の擬似キャッシュプログラム動作によって、上述した効果と同等の効果を奏することができる。
【０１７２】
また、上述の第２変形例では、セルユニットＣＵ単位で書込み動作を指示する書込みコマンドである“８０ｈ”が発行される場合について説明したが、これに限られない。例えば、書込みコマンド“８０ｈ”に代えて、セルユニットＣＵ内の任意のサイズのカラムアドレスに対して書込み動作を指示可能な書込みコマンドである“８５ｈ”が発行されてもよい。
【０１７３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１７４】
１…メモリシステム、１０…メモリコントローラ、１１…プロセッサ、１２…内蔵メモリ、１３…ＥＣＣ回路、１４…ＮＡＮＤインタフェース回路、１５…バッファメモリ、１６…ホストインタフェース回路、２０…半導体記憶装置、２１…コア部、２１＿１…メモリセルアレイ、２１＿２…ロウデコーダ、２１＿３…センスアンプモジュール、２２…入出力回路、２３…ロジック制御回路、２４…レジスタ、２５…シーケンサ、２６…電圧生成回路、２７…ドライバセット、３０…半導体基板、３０ｐ…ｐ型ウェル領域、３１、３２、３３、３８、４２、４４…配線層、３４…ブロック絶縁膜、３５…電荷蓄積層、３６…トンネル酸化膜、３７…半導体ピラー、３９…ｎ＋型不純物拡散領域、４０…ｐ＋型不純物拡散領域、４１、４３、４５…コンタクトプラグ。
【図１】
2020042889.tif 000003
【図２】
2020042889.tif 000004
【図３】
2020042889.tif 000005
【図４】
2020042889.tif 000006
【図５】
2020042889.tif 000007
【図６】
2020042889.tif 000008
【図７】
2020042889.tif 000009
【図８】
2020042889.tif 000010
【図９】
2020042889.tif 000011
【図１０】
2020042889.tif 000012
【図１１】
2020042889.tif 000013
【図１２】
2020042889.tif 000014