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