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