(57)【要約】【課題】読出し方式に応じてセクタ毎の誤り訂正結果を出力する。【解決手段】一実施形態の半導体記憶装置は、外部と通信可能なインタフェース回路と、データを保持可能なメモリセルを含みページ単位でデータが読み出されるメモリセルアレイと、メモリセルアレイから読み出されたデータのエラーを検出するエラー検出回路と、を備える。読み出されたページ単位のサイズのデータは、ページ単位が分割された複数の第１単位で誤りが検出される。インタフェース回路は、メモリセルアレイから読み出された第１データの外部への出力と、第２データのメモリセルアレイからの読出しと、が並行して実行される第１動作の際に、第１データについて検出された誤りに基づく情報を外部へ出力可能である。情報は、第１単位ごとに検出されたエラービット数、エラービット数が或る閾値を超えたか否かを示す値、又はエラービット数のうちの最大値を含む。【選択図】図１
2018156570.tif 000002
【特許請求の範囲】
【請求項１】
外部と通信可能なインタフェース回路と、
データを保持可能なメモリセルトランジスタを含み、ページ単位でデータが読み出される第１メモリセルアレイと、
前記第１メモリセルアレイから読み出されたデータの誤りを検出する誤り検出回路と、
を備え、
読み出された前記ページ単位のサイズのデータは、前記ページ単位が分割された複数の第１単位で誤りが検出され、
前記インタフェース回路は、前記第１メモリセルアレイから読み出された第１データの前記外部への出力と、前記第１データと異なる第２データの前記第１メモリセルアレイからの読出しと、が並行して実行される第１動作の際に、前記第１データについて検出された前記誤りに基づく情報を前記外部へ出力可能である、
半導体記憶装置。
【請求項２】
前記情報は、前記第１単位ごとに検出されたエラービット数、前記第１単位ごとに検出されたエラービット数が或る閾値を超えたか否かを示す値、又は前記第１単位ごとに検出されたエラービット数のうちの最大値を含む、請求項１記載の半導体記憶装置。
【請求項３】
前記閾値は、前記外部から設定可能である、請求項２記載の半導体記憶装置。
【請求項４】
前記閾値は、固定値を含む、請求項２記載の半導体記憶装置。
【請求項５】
前記インタフェース回路は、
前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報を前記外部へ出力し、
前記第１動作の後に第２コマンドを受けると、前記第２データについての前記情報を前記外部へ出力する、
請求項２記載の半導体記憶装置。
【請求項６】
前記第１データ及び前記第２データの各々についての前記情報を保持するテーブルを更に備え、
前記インタフェース回路は、前記第１データ及び前記第２データの各々についての前記情報を前記テーブルから出力する、
請求項２記載の半導体記憶装置。
【請求項７】
前記インタフェース回路は、前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報を前記第１単位ごとに連続して前記テーブルから出力する、請求項６記載の半導体記憶装置。
【請求項８】
前記インタフェース回路は、前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報のうち、前記第１単位に対応する部分の前記エラービット数を前記テーブルから出力する、請求項６記載の半導体記憶装置。
【請求項９】
前記インタフェース回路は、アサートされたチップセレクト信号を受けた直後に受けた、前記チップセレクト信号と異なる入力信号をコマンドとして認識する、請求項１記載の半導体記憶装置。
【請求項１０】
前記インタフェース回路は、アサートされたコマンドラッチイネーブル信号を受けている間に受けた入出力信号をコマンドとして認識する、請求項１記載の半導体記憶装置。
【請求項１１】
外部と通信可能なインタフェース回路と、
データを保持可能なメモリセルトランジスタを含み、ページ単位でデータが読み出される第１メモリセルアレイ及び第２メモリセルアレイと、
前記第１メモリセルアレイ及び前記第２メモリセルアレイの各々から読み出されたデータの誤りを検出する誤り検出回路と、
を備え、
読み出された前記ページ単位のサイズのデータは、前記ページ単位が分割された複数の第１単位で誤りが検出され、
前記インタフェース回路は、前記第１メモリセルアレイ及び前記第２メモリセルアレイからそれぞれ並行して読み出された第１データ及び第２データを前記外部に出力する第１動作の際に、前記第１データ及び前記第２データの各々について検出された前記誤りに基づく情報を前記外部へ出力可能である、
半導体記憶装置。
【請求項１２】
前記情報は、前記第１単位ごとに検出されたエラービット数、前記第１単位ごとに検出されたエラービット数が或る閾値を超えたか否かを示す値、又は前記第１単位ごとに検出されたエラービット数のうちの最大値を含む、請求項１１記載の半導体記憶装置。
【請求項１３】
前記閾値は、前記外部から設定可能である、請求項１２記載の半導体記憶装置。
【請求項１４】
前記閾値は、固定値を含む、請求項１２記載の半導体記憶装置。
【請求項１５】
前記インタフェース回路は、
前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報を前記外部へ出力し、
前記第１動作の際に第２コマンドを受けると、前記第２データについての前記情報を前記外部へ出力する、
請求項１２記載の半導体記憶装置。
【請求項１６】
前記第１データ及び前記第２データの各々についての前記情報を保持するテーブルを更に備え、
前記インタフェース回路は、前記第１データ及び前記第２データの各々についての前記情報を前記テーブルから出力する、
請求項１２記載の半導体記憶装置。
【請求項１７】
前記インタフェース回路は、前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報を前記第１単位ごとに連続して前記テーブルから出力する、請求項１６記載の半導体記憶装置。
【請求項１８】
前記インタフェース回路は、前記第１動作の際に第１コマンドを受けると、前記第１データについての前記情報のうち、前記第１単位に対応する部分を前記テーブルから出力する、請求項１６記載の半導体記憶装置。
【請求項１９】
前記インタフェース回路は、前記第１データ及び前記第２データの前記外部への出力と、並行して実行される前記第１メモリセルアレイからの第３データの読出し及び前記第２メモリセルアレイからの第４データの読出しと、が並行して実行される第３動作の際に、前記第１データ及び前記第２データの各々について前記情報を前記外部へ出力可能である、請求項１１記載の半導体記憶装置。
【請求項２０】
前記情報は、前記第１単位ごとに検出されたエラービット数、前記第１単位ごとに検出されたエラービット数が或る閾値を超えたか否かを示す値、又は前記第１単位ごとに検出されたエラービット数のうちの最大値を含む、請求項１９記載の半導体記憶装置。
【請求項２１】
前記閾値は、前記外部から設定可能である、請求項２０記載の半導体記憶装置。
【請求項２２】
前記閾値は、固定値を含む、請求項２０記載の半導体記憶装置。
【請求項２３】
前記インタフェース回路は、
前記第３動作の際に第１コマンドを受けると、前記第１データについての前記情報を前記外部へ出力し、
前記第３動作の際に第２コマンドを受けると、前記第２データについての前記情報を前記外部へ出力し、
前記第３動作の後に第３コマンドを受けると、前記第３データについての前記情報を前記外部へ出力し、
前記第３動作の後に第４コマンドを受けると、前記第４データについての前記情報を前記外部へ出力する、
請求項２０記載の半導体記憶装置。
【請求項２４】
前記第１メモリセルアレイ及び前記第２メモリセルアレイから読み出されたデータについての前記情報を保持するテーブルを更に備え、
前記インタフェース回路は、前記第１データ、前記第２データ、前記第３データ、及び前記第４データの各々についての前記情報を前記テーブルから出力する、
請求項２０記載の半導体記憶装置。
【請求項２５】
前記インタフェース回路は、アサートされたチップセレクト信号を受けた直後に受けた、前記チップセレクト信号と異なる入力信号をコマンドとして認識する、請求項１１記載の半導体記憶装置。
【請求項２６】
前記インタフェース回路は、アサートされたコマンドラッチイネーブル信号を受けている間に受けた入出力信号をコマンドとして認識する、請求項１１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置としてのＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Toshiba Datasheet, TC58NVG0S3HTA00, ２０１２年８月３１日
【非特許文献２】Toshiba Datasheet, TC58BVG0S3HTA00, ２０１２年８月３１日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
読出し方式に応じてセクタ毎の誤り訂正結果を出力する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、外部と通信可能なインタフェース回路と、データを保持可能なメモリセルトランジスタを含み、ページ単位でデータが読み出される第１メモリセルアレイと、上記第１メモリセルアレイから読み出されたデータの誤りを検出するエラー検出回路と、を備える。読み出された上記ページ単位のサイズのデータは、上記ページ単位が分割された複数の第１単位で誤りが検出される。上記インタフェース回路は、上記第１メモリセルアレイから読み出された第１データの前記外部への出力と、上記第１データと異なる第２データの上記第１メモリセルアレイからの読出しと、が並行して実行される第１動作の際に、上記第１データについて検出された上記誤りに基づく情報を上記外部へ出力可能である。上記情報は、上記第１単位ごとに検出されたエラービット数、上記第１単位ごとに検出されたエラービット数が或る閾値を超えたか否かを示す値、又は上記第１単位ごとに検出されたエラービット数のうちの最大値を含む、
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体記憶装置の構成を説明するためのブロック図。
【図２】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための回路図。
【図３】第１実施形態に係る半導体記憶装置のメモリセルアレイの構成を説明するための断面図。
【図４】第１実施形態に係る半導体記憶装置のデータレジスタの構成を説明するためのブロック図。
【図５】第１実施形態に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【図６】第１実施形態に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのブロック図。
【図７】第１実施形態に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンス。
【図８】第１実施形態に係る半導体記憶装置のキャッシュ読出し動作を説明するためのブロック図。
【図９】第１実施形態に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図１０】第１実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのブロック図。
【図１１】第１実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図１２】第１実施形態の第１変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【図１３】第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作に用いられる特徴テーブル。
【図１４】第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンス。
【図１５】第１実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作に用いられる特徴テーブル。
【図１６】第１実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図１７】第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作に用いられる特徴テーブル。
【図１８】第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図１９】第１実施形態の第２変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【図２０】第１実施形態の第２変形例に係る半導体記憶装置の読出し動作に用いられる特徴テーブル。
【図２１】第２実施形態に係る半導体記憶装置の構成を説明するためのブロック図。
【図２２】第２実施形態に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【図２３】第２実施形態に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンス。
【図２４】第２実施形態に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図２５】第２実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図２６】第２実施形態の第１変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【図２７】第２実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンス。
【図２８】第２実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図２９】第２実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンス。
【図３０】第２実施形態の第２変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンス。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。また、共通する参照符号を有する複数の構成要素を区別する場合、当該共通する参照符号に後続する追加符号を更に付して区別する。なお、複数の構成要素について特に区別を要さない場合、当該複数の構成要素には、共通する参照符号のみが付され、追加符号は付さない。
【０００８】
また、以下の説明において２つの動作が「並行して」実行される、とは、当該２つの動作が重複して実行される期間を含むことを意味する。
【０００９】
１．第１実施形態
第１実施形態に係る半導体記憶装置について説明する。
【００１０】
１．１  構成について
まず、第１実施形態に係る半導体記憶装置の構成について説明する。
【００１１】
１．１．１  半導体記憶装置の構成について
第１実施形態に係る半導体記憶装置の構成例について、図１を用いて説明する。
【００１２】
図１に示すように、半導体記憶装置２は、例えば、ＮＡＮＤ型フラッシュメモリであり、外部のコントローラ又はホスト機器１（以下、第１実施形態では、単にコントローラ１と言う。）と接続される。
【００１３】
半導体記憶装置２は、複数のプレーンＰＢ（ＰＢ０及びＰＢ１）、入出力制御回路１１、ロジック制御回路１２、アドレスレジスタ１３、コマンドレジスタ１４、ステータスレジスタ１５、シーケンサ１６、電圧生成回路１７、及びＥＣＣ回路１８を備えている。プレーンＰＢ０及びＰＢ１はそれぞれ、メモリセルアレイ２１（２１−０及び２１−１）、ロウデコーダ２２（２２−０及び２２−１）、センスアンプ２３（２３−０及び２３−１）、データレジスタ２４（２４−０及び２４−１）、並びにカラムデコーダ２５（２５−０及び２５−１）を含む。
【００１４】
メモリセルアレイ２１は、複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、ＢＬＫ２…）を含む。ブロックＢＬＫには、いずれのプレーンＰＢのいずれのブロックＢＬＫであるかを識別可能なアドレスが割当てられる。ブロックＢＬＫは、例えばデータの消去単位となり、同一のブロックＢＬＫ内のデータは、一括して消去される。各ブロックＢＬＫは、複数のＮＡＮＤストリングＮＳ（ＮＳ０、ＮＳ１、…）を含む。各ＮＡＮＤストリングＮＳは、行（ロウ）及び列（カラム）に対応付けられた複数のメモリセルトランジスタ（図示せず）を含む。なお、メモリセルアレイ２１内のブロック数、１ブロックＢＬＫ内のＮＡＮＤストリング数は、任意の数に設定出来る。
【００１５】
同一行にあるメモリセルトランジスタは同一のワード線に接続され、同一列にあるメモリセルトランジスタは同一のビット線に接続される。データの読出し及び書込みは、同一のワード線に接続された複数のメモリセルトランジスタに対して一括して行われる。この単位を「ページ」と呼ぶ。１ページ分のデータは、例えば、正味のデータと、管理データと、を含む。正味のデータは、「セクタ」と呼ばれる単位で管理される。１ページは、例えば、４つのセクタを含む。管理データは、例えば、誤り訂正のためのＥＣＣデータ（パリティ）を含む。誤り訂正は、セクタ毎に行われる。
【００１６】
入出力制御回路１１は、コントローラ１と信号ＩＯ（ＩＯ０〜ＩＯ７）を送受信する。信号ＩＯは、例えば８ビットの信号である。信号ＩＯは、半導体記憶装置２とコントローラ１との間で送受信されるデータの実体であり、アドレス、コマンド、及びデータを含む。データは、例えば、書込みデータ及び読出しデータを含む。入出力制御回路１１は、信号ＩＯ内のコマンド及びアドレスをそれぞれアドレスレジスタ１３及びコマンドレジスタ１４に転送する。また、入出力制御回路１１は、書き込みデータ及び読み出しデータをＥＣＣ回路１８及びデータレジスタ２４と送受信する。
【００１７】
ロジック制御回路１２は、コントローラ１から信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、及び／ＷＰを受信する。信号／ＣＥは、半導体記憶装置２をイネーブルにするためのチップイネーブル（Chip Enable）信号である。信号ＣＬＥは、信号ＣＬＥが“Ｈ（High）”レベルである間に半導体記憶装置２に流れる信号ＩＯがコマンドであることを半導体記憶装置２に通知するコマンドラッチイネーブル（Command Latch Enable）信号である。信号ＡＬＥは、信号ＡＬＥが“Ｈ”レベルである間に半導体記憶装置２に流れる信号ＩＯがアドレスであることを半導体記憶装置２に通知するアドレスラッチイネーブル（Address Latch Enable）信号である。また、信号ＣＬＥ及びＡＬＥは、信号ＣＬＥ及びＡＬＥがいずれも“Ｌ（Low）”レベルである間に半導体記憶装置２に流れる信号ＩＯがデータであることを半導体記憶装置２に通知する。信号／ＷＥは、信号／ＷＥが“Ｌ”レベルである間に半導体記憶装置２に流れる信号ＩＯを半導体記憶装置２に取り込むことを指示するライトイネーブル（Write Enable）信号である。信号／ＲＥは、半導体記憶装置２に信号ＩＯを出力することを指示するリードイネーブル（Read Enable）信号である。信号／ＷＰは、データ書込み及び消去の禁止を半導体記憶装置２に指示するライトプロテクト（Write Protect）信号である。
【００１８】
アドレスレジスタ１３は、アドレスと認識された信号ＩＯを入出力制御回路１１から受信し、一時的に保持する。アドレスレジスタ１３は、例えば、当該保持されたアドレスをロウデコーダ２２及びセンスアンプ２３に転送する。
【００１９】
コマンドレジスタ１４は、コマンドと認識された信号ＩＯを入出力制御回路１１から受信し、一時的に保持する。コマンドレジスタ１４は、例えば、当該保持されたコマンドをシーケンサ１６に転送する。
【００２０】
ステータスレジスタ１５は、半導体記憶装置２の各種ステータス情報を保持する。ステータス情報には、例えば、読出し動作の際にＥＣＣ回路１８によって生成された誤り訂正結果が含まれる。なお、ステータスレジスタ１５は、種々の読出し方式に対応するため、複数の（例えば４つの）誤り訂正結果を同時に保持可能なように構成されることが望ましい。
【００２１】
シーケンサ１６は、コマンドレジスタ１４からコマンドを受け取り、受け取ったコマンドに基づくシーケンスに従って半導体記憶装置２の全体を制御する。また、シーケンサ１６は、信号／ＲＢをコントローラ１に転送して半導体記憶装置２の状態を外部に通知する。信号／ＲＢは、半導体記憶装置２がレディ状態（外部からの命令を受け付ける状態）であるか、ビジー状態（外部からの命令を受け付けない状態）であるかを示すレディビジー（Ready Busy）信号である。
【００２２】
電圧生成回路１７は、シーケンサ１６からの指示に基づき、データの書込み、読出し、及び消去等の動作に必要な電圧を生成する。電圧生成回路１７は、例えば、生成した電圧をメモリセルアレイ２１、ロウデコーダ２２、及びセンスアンプ２３に供給する。
【００２３】
ＥＣＣ回路１８は、誤り検出処理及び誤り訂正処理を行う。より具体的には、データの書込み時には、コントローラ１から受信したデータに基づいて、セクタ毎にパリティを生成し、このパリティと、当該パリティに対応する正味のデータとをデータレジスタ２４に転送する。データの読出し時には、データレジスタ２４から転送されたデータに含まれるパリティに基づいてセクタ毎にシンドロームを生成し、誤りの有無を検出する。そして、誤りが検出された際には、そのビット位置を特定して誤りを訂正し、誤り訂正後データを生成する。生成された誤り訂正後データは、例えば、データレジスタ２４に転送される。また、ＥＣＣ回路１８は、誤り訂正処理の結果として誤り訂正結果を生成し、ステータスレジスタ１５に転送する。誤り訂正結果は、例えば、セクタ位置と、エラービット数と、訂正可否情報と、を含む。セクタ位置は、例えば、当該誤り訂正処理が実行されたセクタを識別するための情報を含む。エラービット数は、セクタ毎に検出された誤りビットの数（エラービット数）を含む。訂正可否情報は、誤り訂正処理が正常に実行できたか否かを示す。以下の説明では、エラービット数及び訂正可否情報を併せて、単に「エラービット数」とも言う。
【００２４】
ロウデコーダ２２は、アドレスレジスタ１３からアドレス中のロウアドレスを受取り、当該ロウアドレスに基づいてブロックＢＬＫを選択する。そして、選択されたブロックＢＬＫには、ロウデコーダ２２を介して電圧生成回路１７から供給された電圧が転送される。
【００２５】
センスアンプ２３は、データの読出し時には、メモリセルトランジスタからビット線に読み出された読出しデータをセンスし、センスした読出しデータをデータレジスタ２４に転送する。センスアンプ２３は、データの書込み時には、ビット線を介して書込まれる書込みデータをメモリセルトランジスタに転送する。
【００２６】
データレジスタ２４は、書込みデータ又は読出しデータを一時的に保持する。データレジスタ２４は、例えば、保持された書込みデータをメモリセルアレイ２１に送信する。また、データレジスタ２４は、例えば、保持された読出しデータを、カラムデコーダ２５を介してＥＣＣ回路１８及び入出力制御回路１１に送信する。
【００２７】
カラムデコーダ２５は、アドレスレジスタ１３からアドレス中のカラムアドレスを受取り、当該カラムアドレスに基づくカラムのデータをデータレジスタ２４から読み出す。
【００２８】
１．１．２  メモリセルアレイの構成について
次に、第１実施形態に係る半導体記憶装置のメモリセルアレイの構成について、図２を用いて説明する。図２では、メモリセルアレイ２１に含まれる１つのブロックＢＬＫを抽出して示している。
【００２９】
図２に示すように、ＮＡＮＤストリングＮＳの各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１と、選択トランジスタＳＴ２とを備える。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。各メモリセルトランジスタＭＴは、選択トランジスタＳＴ１及びＳＴ２の間に、直列接続される。なお、以下の説明では「接続」とは、間に別の導電可能な要素が介在する場合（すなわち、電気的に接続される場合）も含む。
【００３０】
ブロックＢＬＫ内の全ての選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤに共通接続される。また、ブロックＢＬＫ内の全ての選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳに共通接続される。同一のブロックＢＬＫ内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に接続される。
【００３１】
また、同一行にあるＮＡＮＤストリングＮＳの選択トランジスタＳＴ１の他端は、ｍ本のビット線ＢＬ（ＢＬ０〜ＢＬ（ｍ−１）（ｍは自然数））のいずれかに接続される。また、ビット線ＢＬは、複数のブロックＢＬＫにわたって、同一列のＮＡＮＤストリングＮＳに共通接続される。
【００３２】
また、選択トランジスタＳＴ２の他端は、ソース線ＣＥＬＳＲＣに共通接続される。ソース線ＣＥＬＳＲＣは、例えば、複数のブロックＢＬＫにわたって、複数のＮＡＮＤストリングＮＳに共通接続される。
【００３３】
次に、メモリセルアレイ２１の断面構造について図３を用いて説明する。図３は、第１実施形態に係る半導体記憶装置のメモリセルアレイの一部の断面構造の一例を示している。
【００３４】
半導体記憶装置２は、半導体基板３０上に設けられている。以下の説明では、半導体基板３０の表面と平行な面をＸＹ平面とし、ＸＹ平面に垂直な方向をＺ方向とする。また、Ｘ方向とＹ方向は、互いに直交するものとする。
【００３５】
半導体基板３０の上部には、ｐ型ウェル領域３０ｐが設けられる。ｐ型ウェル領域３０ｐの上部には、例えば、複数のｎ＋型不純物拡散領域３１〜３３がＹ方向に沿って設けられる。ｐ型ウェル領域３０ｐの上面上のうち、ｎ＋型不純物拡散領域３１の各々の間には、ブロック絶縁膜３４が設けられる。ブロック絶縁膜３４の上面上には、例えば、浮遊ゲート（ＦＧ）として機能する電荷蓄積層３５が設けられる。電荷蓄積層３５は、絶縁層であってもよい。電荷蓄積層３５の上方には、ワード線ＷＬとして機能する配線層３６（ＷＬ０〜ＷＬ７）が設けられる。配線層３６の各々は、例えばＸ方向に延びる。ｐ型ウェル領域３０ｐの上方のうち、ｎ＋型不純物拡散領域３１及び３２の間には、選択ゲート線ＳＧＤとして機能する配線層３７が設けられる。ｐ型ウェル領域３０ｐの上方のうち、ｎ＋型不純物拡散領域３１及び３３の間には、選択ゲート線ＳＧＳとして機能する配線層３８が設けられる。以上のように、ｐ型ウェル領域３０ｐの上方には、選択トランジスタＳＴ２、複数のメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１がＹ方向に沿って設けられて、１つのＮＡＮＤストリングＮＳを構成している。また、ｎ＋型不純物拡散領域３２及び３３の上面にはそれぞれ、ビット線ＢＬ及びソース線ＣＥＬＳＲＣとして機能する配線層３９及び４０が設けられる。
【００３６】
１．１．３  データレジスタの構成について
図４は、第１実施形態に係る半導体記憶装置のデータレジスタの構成を説明するためのブロック図である。図４（Ａ）及び図４（Ｂ）ではそれぞれ、プレーンＰＢ０に対応するデータレジスタ２４−０、及びプレーンＰＢ１に対応するデータレジスタ２４−１がそれぞれ示される。
【００３７】
図４（Ａ）に示すように、データレジスタ２４−０は、データレジスタ２４Ａ及び２４Ｃを含む。データレジスタ２４Ａは、レジスタＡ１及びＡ２を含み、データレジスタ２４Ｃは、レジスタＣ１及びＣ２を含む。レジスタＡ１、Ａ２、Ｃ１、及びＣ２は、例えば、１ページ分のデータを保持し得るメモリ領域を有する。
【００３８】
データレジスタ２４Ａは、例えば、メモリセルアレイ２１−０から読み出された１ページ分のデータのうち、最初に入出力制御回路１１に送信される予定のデータが保持される。データレジスタ２４Ｃは、例えば、メモリセルアレイ２１−０から読み出された１ページ分のデータのうち、データレジスタ２４Ａに保持されたデータの後に入出力制御回路１１に送信される予定のデータが保持される。つまり、データレジスタ２４Ｃは、データレジスタ２４Ａに保持されたデータが出力されるまでの間、メモリセルアレイ２１−０から読み出されたデータを一時的に保持するための領域として使用し得る。
【００３９】
レジスタＡ１及びＣ１は、例えば、メモリセルアレイ２１−０から読み出された１ページ分のデータのうち、ＥＣＣ回路１８によって誤り訂正がされる前のデータを一時的に保持する。レジスタＡ２及びＣ２は、例えば、メモリセルアレイ２１−０から読み出された１ページ分のデータのうち、ＥＣＣ回路１８によって誤り訂正がされた後のデータを一時的に保持する。
【００４０】
また、図４（Ｂ）に示すように、データレジスタ２４−１は、データレジスタ２４Ｂ及び２４Ｄを含む。データレジスタ２４Ｂは、レジスタＢ１及びＢ２を含み、データレジスタ２４Ｄは、レジスタＤ１及びＤ２を含む。レジスタＢ１、Ｂ２、Ｄ１、及びＤ２は、例えば、１ページ分のデータを保持し得るメモリ領域を有する。
【００４１】
データレジスタ２４Ｂは、例えば、メモリセルアレイ２１−１から読み出された１ページ分のデータのうち、最初に入出力制御回路１１に送信される予定のデータが保持される。データレジスタ２４Ｄは、例えば、メモリセルアレイ２１−１から読み出された１ページ分のデータのうち、データレジスタ２４Ｂに保持されたデータの後に入出力制御回路１１に送信される予定のデータが保持される。つまり、データレジスタ２４Ｄは、データレジスタ２４Ｂに保持されたデータが出力されるまでの間、メモリセルアレイ２１−１から読み出されたデータを一時的に保持するための領域として使用し得る。
【００４２】
レジスタＢ１及びＤ１は、例えば、メモリセルアレイ２１−１から読み出された１ページ分のデータのうち、ＥＣＣ回路１８によって誤り訂正がされる前のデータを一時的に保持する。レジスタＢ２及びＤ２は、例えば、メモリセルアレイ２１−１から読み出された１ページ分のデータのうち、ＥＣＣ回路１８によって誤り訂正がされた後のデータを一時的に保持する。
【００４３】
以下の説明では、データレジスタ２４Ａ〜２４Ｄは、上述のデータ保持に係るルールに従って読出しデータを保持するものとして説明する。しかしながら、上述の例はあくまで一例であり、データレジスタ２４Ａ〜２４Ｄは、上述の例に限らず、任意のルールに従ってデータを保持可能である。
【００４４】
１．２  動作について
次に、第１実施形態に係る半導体記憶装置の動作の例について説明する。なお、以下の説明では、特に、メモリセルアレイ２１からデータレジスタ２４へのデータの「読出し」と、半導体記憶装置２からコントローラ１へのデータの「出力」とが区別される。
【００４５】
１．２．１  誤り訂正結果の出力動作について
まず、誤り訂正結果の出力動作について説明する。図５は、第１実施形態に係る半導体記憶装置の誤り訂正結果の出力動作を説明するためのコマンドシーケンスである。図５では、事前にメモリセルアレイ２１からデータが読み出されており、当該読み出されたデータに対して誤り訂正処理が実行されているものとする。そして、当該読み出されたデータに対応する誤り訂正結果ＳＴＳがステータス情報としてステータスレジスタ１５に保持されているものとする。
【００４６】
図５に示すように、コントローラ１は、コマンド“７ｘｈ”を発行する。コマンド“７ｘｈ”は、半導体記憶装置２に対して、種々の読出し方式に応じてメモリセルアレイ２１から読み出された１ページ分のデータに対する誤り訂正結果ＳＴＳの出力を指示するコマンドの総称である。種々の読出し方式は、例えば、マルチプレーン読出し方式、キャッシュ読出し方式、及びマルチプレーンキャッシュ読出し方式等を含み、コマンド“７ｘｈ”は、当該種々の読出し方式に応じた、互いに識別可能な複数のコマンドを含む。コマンド“７ｘｈ”の詳細、並びにマルチプレーン読出し方式、キャッシュ読出し方式、及びマルチプレーンキャッシュ読出し方式の詳細については、後述する。
【００４７】
コマンド“７ｘｈ”がコマンドレジスタ１４に格納されると、シーケンサ１６は、当該コマンド“７ｘｈ”に対応する読出し方式によって読み出された１ページ分のデータを特定する。そして、当該特定された１ページ分のデータに関する誤り訂正結果ＳＴＳをステータスレジスタ１５から入出力制御回路１１に転送する。入出力制御回路１１は、例えば４サイクルにわたって、１ページ分のデータに対応する誤り訂正結果ＳＴＳを、データＳｅｃｔ０〜Ｓｅｃｔ３に分けてコントローラ１に出力する。データＳｅｃｔ０〜Ｓｅｃｔ３はそれぞれ、例えば、セクタ０〜セクタ３の誤り訂正結果ＳＴＳを含む。
【００４８】
つまり、コマンド“７ｘｈ”が発行されると、半導体記憶装置２は、１ページ分のデータに対応する誤り訂正結果ＳＴＳを、セクタ毎に順次出力する。
【００４９】
なお、コントローラ１は、図５に示される期間にわたって、信号／ＣＥを“Ｌ”レベルに維持し、信号／ＲＢを“Ｈ”レベルに維持する。また、半導体記憶装置２にコマンドを入力する際には、コントローラ１は信号ＣＬＥをアサートする（“Ｈ”レベルにする）。また、半導体記憶装置２から誤り訂正結果ＳＴＳを出力させる際には、コントローラ１は、信号／ＲＥをトグルさせる。
【００５０】
１．２．２  マルチプレーン読出し動作について
次に、マルチプレーン読出し（Multi − plane reading）動作について説明する。
【００５１】
１．２．２．１  動作の概要について
図６は、第１実施形態に係る半導体記憶装置のマルチプレーン読出し動作の概要を説明するためのブロック図である。図６では、マルチプレーン読出し動作における読出しデータと、当該読出しデータの誤り訂正結果ＳＴＳとが半導体記憶装置２内で通信される様子が示される。また、図６では、メモリセルアレイ２１からのデータ読出しから、入出力制御回路１１への当該読出しデータの転送までの一連の通信の様子がステップＳＴ１〜ＳＴ１２で示される。ステップＳＴ１〜ＳＴ１２は、例えば、コントローラ１からの指示に基づき、シーケンサ１６によって実行される。
【００５２】
図６に示すように、ステップＳＴ１において、シーケンサ１６は、メモリセルアレイ２１−０からデータを読み出し、データレジスタ２４Ａ内のレジスタＡ１に転送する。ステップＳＴ２において、メモリセルアレイ２１−１からデータが読み出され、データレジスタ２４Ｂ内のレジスタＢ１に保持される。マルチプレーン読出し動作では、プレーンＰＢ０及びＰＢ１で並行してデータが読み出される。すなわち、ステップＳＴ１及びＳＴ２は、並行して実行される。
【００５３】
ステップＳＴ３において、ＥＣＣ回路１８は、レジスタＡ１に保持された読出しデータについて誤り検出処理及び誤り訂正処理を実行し、誤り訂正後データ、及び誤り訂正結果ＳＴＳ−Ｐ０を生成する。誤り訂正結果ＳＴＳ−Ｐ０は、プレーンＰＢ０から読み出されたデータに対応する誤り訂正結果ＳＴＳである。
【００５４】
ステップＳＴ４において、ＥＣＣ回路１８は、ステップＳＴ３において生成された誤り訂正後データをレジスタＡ２に転送する。
【００５５】
ステップＳＴ５において、ＥＣＣ回路１８は、ステップＳＴ３において生成された誤り訂正結果ＳＴＳ−Ｐ０をステータスレジスタ１５に転送する。
【００５６】
ステップＳＴ６において、ＥＣＣ回路１８は、レジスタＢ１に保持された読出しデータについて誤り検出処理及び誤り訂正処理を実行し、誤り訂正後データ、及び誤り訂正結果ＳＴＳ−Ｐ１を生成する。誤り訂正結果ＳＴＳ−Ｐ１は、プレーンＰＢ１から読み出されたデータに対応する誤り訂正結果ＳＴＳである。
【００５７】
ステップＳＴ７において、ＥＣＣ回路１８は、ステップＳＴ６において生成された誤り訂正後データをレジスタＢ２に転送する。
【００５８】
ステップＳＴ８において、ＥＣＣ回路１８は、ステップＳＴ６において生成された誤り訂正結果ＳＴＳ−Ｐ１をステータスレジスタ１５に転送する。
【００５９】
ステップＳＴ９において、シーケンサ１６は、誤り訂正結果ＳＴＳ−Ｐ０をステータスレジスタ１５から読出し、入出力制御回路１１を介してコントローラ１に出力する。
【００６０】
ステップＳＴ１０において、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを、出力データＤＡＴ−Ｐ０として、入出力制御回路１１を介してコントローラ１に出力する。
【００６１】
ステップＳＴ１１において、シーケンサ１６は、誤り訂正結果ＳＴＳ−Ｐ１をステータスレジスタ１５から読出し、入出力制御回路１１を介してコントローラ１に出力する。
【００６２】
ステップＳＴ１２において、シーケンサ１６は、レジスタＢ２に保持された誤り訂正後データを、出力データＤＡＴ−Ｐ１として、入出力制御回路１１を介してコントローラ１に出力する。
【００６３】
以上で、マルチプレーン読出し動作が終了する。
【００６４】
１．２．２．２  コマンドシーケンスについて
図７は、第１実施形態に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンスである。図７は、図６に示されたマルチプレーン読出し動作を実現するためのコマンドシーケンスの一例が示される。
【００６５】
図７に示すように、コントローラ１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０”、コマンド“６０ｈ”、及びアドレス“ＡＤＤ−Ｐ１”をこの順に半導体記憶装置２に送信する。コマンド“６０ｈ”は、後続するアドレスにて指定されるプレーンＰＢに対するマルチプレーン読出し動作を指示するコマンドである。アドレス“ＡＤＤ−Ｐ０”及び“ＡＤＤ−Ｐ１”はそれぞれ、プレーンＰＢ０及びＰＢ１内の或るページを指定する情報を含む。つまり、シーケンサ１６は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０”、コマンド“６０ｈ”、及びアドレス“ＡＤＤ−Ｐ０”をこの順に受けると、プレーンＰＢ０のアドレス“ＡＤＤ−Ｐ０”に対する読出しと、プレーンＰＢ１のアドレス“ＡＤＤ−Ｐ１”に対する読出しと、を並行して実行するための設定を行う。
【００６６】
続いて、コントローラ１は、コマンド“３０ｈ”を半導体記憶装置２に送信する。コマンド“３０ｈ”は、直前に送信されたアドレスに対応するデータをメモリセルアレイ２１から読み出す旨を指示するコマンドである。つまり、ここでは、コマンド“３０ｈ”は、メモリセルアレイ２１−０及び２１−１から並行してデータを読み出す旨を半導体記憶装置２に指示する。また、コマンド“３０ｈ”は、読み出されたデータのコントローラ１への出力を開始せずに保留し、後続の指示があることを示す。
【００６７】
半導体記憶装置２は、コマンド“３０ｈ”を受けると、期間ｔＲの間、信号Ｒ／Ｂを“Ｌ”レベルにして、ビジー状態をコントローラ１に通知する。シーケンサ１６は、期間ｔＲの間に、メモリセルアレイ２１−０、２１−１、及びＥＣＣ回路１８等を制御し、図６において示したステップＳＴ１〜ＳＴ８を実行させる。これにより、メモリセルアレイ２１−０及び２１−１から読み出されたデータの誤り訂正後データがそれぞれレジスタＡ２及びＢ２に保持されると共に、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１がステータスレジスタ１５に個別に保持される。なお、上述の通り、メモリセルアレイ２１−０からレジスタＡ１へのデータの読出し、及びメモリセルアレイ２１−１からのレジスタＢ１へのデータの読出しは、並行して実行される。上記動作が終了した後、半導体記憶装置２は、信号Ｒ／Ｂを“Ｈ”レベルにして、レディ状態をコントローラ１に通知する。
【００６８】
続いて、コントローラ１は、コマンド“７Ａｈ”を半導体記憶装置２に送信する。コマンド“７Ａｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、誤り訂正結果ＳＴＳ−Ｐ０のコントローラ１への出力を指示するコマンドである。
【００６９】
半導体記憶装置２は、コマンド“７Ａｈ”を受けると、図６において示したステップＳＴ９を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０をコントローラ１に出力する。
【００７０】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ０に基づき、プレーンＰＢ０から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“００ｈ”を半導体記憶装置２に送信する。コマンド“００ｈ”は、アドレス入力受付コマンドに相当し、半導体記憶装置２からコントローラ１にデータを出力するための動作を命令するコマンドである。続いて、コントローラ１は、アドレス“ＡＤＤ−Ｐ０”を半導体記憶装置２に送信する。これにより、半導体記憶装置２は、プレーンＰＢ０から読み出されたデータの出力が指示されたことを認識する。
【００７１】
続いて、コントローラ１は、コマンド“０５ｈ”及びアドレス“ＡＤＤ−ＣＡ”を半導体記憶装置２に送信する。コマンド“０５ｈ”は、後続するアドレス“ＡＤＤ−ＣＡ”において指定されたカラムアドレスのデータの読出しを指示するコマンドである。続いて、コントローラ１は、コマンド“Ｅ０ｈ”を半導体記憶装置２に送信する。コマンド“Ｅ０ｈ”は、直前に指定された情報に基づいて、データレジスタ２４に保持されたデータのコントローラ１への出力を指示するコマンドである。
【００７２】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、図６において示したステップＳＴ１０を実行する。すなわち、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ０としてコントローラ１に出力する。
【００７３】
続いて、コントローラ１は、コマンド“７Ｂｈ”を半導体記憶装置２に送信する。コマンド“７Ｂｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、誤り訂正結果ＳＴＳ−Ｐ１の出力を指示するコマンドである。
【００７４】
半導体記憶装置２は、コマンド“７Ｂｈ”を受けると、図６において示したステップＳＴ１１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１をコントローラ１に出力する。
【００７５】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ１に基づき、プレーンＰＢ１から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“００ｈ”及びアドレス“ＡＤＤ−Ｐ１”を半導体記憶装置２に送信する。半導体記憶装置２は、アドレス“ＡＤＤ−Ｐ１”に基づいて、プレーンＰＢ１から読み出されたデータの出力が指示されたことを認識する。続いて、コントローラ１は、コマンド“０５ｈ”、アドレス“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”を半導体記憶装置２に送信する。
【００７６】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、図６において示したステップＳＴ１２を実行する。すなわち、シーケンサ１６は、レジスタＢ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ１としてコントローラ１に出力する。
【００７７】
以上のように動作することにより、半導体記憶装置２は、マルチプレーン読出し動作において、出力データＤＡＴ−Ｐ０及びＤＡＴ−Ｐ１の出力前に、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１を、個別にコントローラ１に出力することができる。
【００７８】
１．２．３  キャッシュ読出し動作について
次に、キャッシュ読出し（Cache reading）動作について説明する。
【００７９】
１．２．３．１  動作の概要について
図８は、第１実施形態に係る半導体記憶装置のキャッシュ読出し動作の概要を説明するためのブロック図である。図８では、キャッシュ読出し動作における読出しデータと、当該読出しデータの誤り訂正結果ＳＴＳとが半導体記憶装置２内で通信される様子が示される。以下の説明では、ｎ回目にメモリセルアレイ２１から読み出されたデータに対応する誤り訂正結果ＳＴＳ及び出力データＤＡＴはそれぞれ、誤り訂正結果ＳＴＳ−（ｎ）及び出力データＤＡＴ−（ｎ）と示される（ｎは、任意の自然数）。
【００８０】
図８では、メモリセルアレイ２１からのデータ読出し、及び当該データ読出しと並行して実行されるコントローラ１へのデータ出力における通信の様子がステップＳＴ２１〜ＳＴ２７で示される。ステップＳＴ２１〜ＳＴ２７は、例えば、コントローラ１からの指示に基づき、シーケンサ１６によって実行される。なお、以下では、当該キャッシュ読出し動作において（ｎ＋１）回目にメモリセルアレイ２１−０から読み出されたデータの誤り訂正後データが出力データＤＡＴ−（ｎ＋１）としてレジスタＣ２に保持されているものとする。また、出力データＤＡＴ−（ｎ＋１）に対応する誤り訂正結果ＳＴＳ−（ｎ＋１）がステータスレジスタ１５に保持されているものとする。そして、図８では、当該キャッシュ読出し動作において（ｎ＋２）回目にメモリセルアレイ２１−０からデータが読み出される場合が示される。
【００８１】
図８に示すように、ステップＳＴ２１において、シーケンサ１６は、レジスタＣ２に保持された誤り訂正後データをレジスタＡ２に転送する。また、シーケンサ１６は、レジスタＣ１に保持された誤り訂正前データをレジスタＡ１に転送してもよい。
【００８２】
ステップＳＴ２２において、シーケンサ１６は、当該キャッシュ読出し動作において（ｎ＋２）回目のメモリセルアレイ２１−０からのデータ読み出しを実行し、データレジスタ２４Ｃ内のレジスタＣ１に転送する。
【００８３】
ステップＳＴ２３において、ＥＣＣ回路１８は、レジスタＣ１に保持された読出しデータについて誤り検出処理及び誤り訂正処理を実行し、誤り訂正後データ及び誤り訂正結果ＳＴＳ−（ｎ＋２）を生成する。
【００８４】
ステップＳＴ２４において、ＥＣＣ回路１８は、ステップＳＴ２３において生成された誤り訂正後データをレジスタＣ２に転送する。
【００８５】
ステップＳＴ２５において、ＥＣＣ回路１８は、ステップＳＴ２３において生成された誤り訂正結果ＳＴＳ−（ｎ＋２）をステータスレジスタ１５に転送する。ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−（ｎ＋２）を、既に保持している誤り訂正結果ＳＴＳ−（ｎ＋１）と別個に保持する。
【００８６】
キャッシュ読出し動作では、（ｎ＋２）回目の読出し動作に係るこれまでのステップＳＴ２１〜ＳＴ２５と、（ｎ＋１）回目の出力動作に係る以降のステップＳＴ２６及びＳＴ２７とが、並行して実行される。
【００８７】
ステップＳＴ２６において、シーケンサ１６は、誤り訂正結果ＳＴＳ−（ｎ＋１）をステータスレジスタ１５から読出し、入出力制御回路１１を介してコントローラ１に出力する。
【００８８】
ステップＳＴ２７において、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを、出力データＤＡＴ−（ｎ＋１）として、入出力制御回路１１を介してコントローラ１に出力する。
【００８９】
ステップＳＴ２７直後の状態は、ステップＳＴ２１の直前の状態と、データレジスタ２４及びステータスレジスタ１５内に保持されるデータが変化したことを除いて一致する。このため、ステップＳＴ２７の後、再びステップＳＴ２１〜ＳＴ２７の動作が繰り返されることによって、キャッシュ読出し動作を繰り返し実行することができる。
【００９０】
１．２．３．２  コマンドシーケンスについて
図９は、第１実施形態に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンスである。図９は、図８に示されたキャッシュ読出し動作を実現するためのコマンドシーケンスの一例が示され、例えば、プレーンＰＢ０に対するキャッシュ読出し動作が示される。なお、図９では、キャッシュ読出し動作の一例として、任意のページのデータが出力されるランダムキャッシュ読出し（Random cache reading）動作が実行される場合が示される。
【００９１】
図９に示すように、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（１）”、及びコマンド“３０ｈ”を半導体記憶装置２に送信する。アドレス“ＡＤＤ−（１）”は、例えば、当該キャッシュ読出し動作のシーケンスにおいて１回目に読み出されるデータのアドレスを指定する情報を含む。
【００９２】
半導体記憶装置２は、コマンド“３０ｈ”を受けると、期間ｔＲの間、信号Ｒ／Ｂを“Ｌ”レベルにして、ビジー状態をコントローラ１に通知する。シーケンサ１６は、期間ｔＲの間に、メモリセルアレイ２１−０からデータを読出し、レジスタＣ１に転送する。ＥＣＣ回路１８は、レジスタＣ１に保持されたデータに対して誤り訂正処理を実行し、誤り訂正後データをレジスタＣ２に転送する。また、ＥＣＣ回路１８は、誤り訂正結果ＳＴＳ−（１）をステータスレジスタ１５に転送する。上記動作が終了した後、半導体記憶装置２は、信号Ｒ／Ｂを“Ｈ”レベルにして、レディ状態をコントローラ１に通知する。
【００９３】
ここで、半導体記憶装置２は、図８において示したステップＳＴ２１の直前の状態と一致する。
【００９４】
続いて、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（２）”、及びコマンド“３１ｈ”を半導体記憶装置２に送信する。アドレス“ＡＤＤ−（２）”は、当該キャッシュ読出し動作のシーケンスにおいて、２回目に読み出されるデータのアドレスを指定する情報を含む。コマンド“３１ｈ”は、メモリセルアレイ２１から、直前に送信されたアドレスに対応するデータを読み出す旨を指示するコマンドである。また、コマンド“３１ｈ”は、次に読み出されるデータを一時的に保持する旨を指示するコマンドである。なお、２回目に読み出されるデータは、１回目に読み出されたデータを上書きすることなく保持される。
【００９５】
半導体記憶装置２は、コマンド“３１ｈ”を受けると、図８において示したステップＳＴ２１〜ＳＴ２５を実行する。すなわち、シーケンサ１６は、レジスタＣ１及びＣ２に保持されたデータをそれぞれレジスタＡ１及びＡ２に転送する間、信号Ｒ／Ｂを“Ｌ”レベルにして、ビジー状態をコントローラ１に通知する。半導体記憶装置２は、レジスタ間のデータ転送が完了すると、信号Ｒ／Ｂを“Ｈ”レベルにして、レディ状態をコントローラ１に通知する。そして、シーケンサ１６は、メモリセルアレイ２１−０からアドレス“ＡＤＤ−（２）”に対応するデータを読出し、レジスタＣ１へ転送する。ＥＣＣ回路１８は、レジスタＣ１に保持されたデータについて誤り訂正処理を実行し、誤り訂正後データをレジスタＣ２に転送すると共に、誤り訂正結果ＳＴＳ−（２）をステータスレジスタ１５に転送する。誤り訂正結果ＳＴＳ−（２）は、誤り訂正結果ＳＴＳ−（１）を上書きすることなく、ステータスレジスタ１５に保持される。
【００９６】
ステップＳＴ２２〜ＳＴ２５と並行して、コントローラ１及び半導体記憶装置２は、図８において示したステップＳＴ２６及びＳＴ２７を実行する。
【００９７】
具体的には、コントローラ１は、コマンド“７Ｃｈ”を半導体記憶装置２に送信する。コマンド“７Ｃｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、キャッシュ読出し動作において奇数回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（ｏｄｄ）の出力を指示する（“ｏｄｄ”は、任意の奇数）。
【００９８】
半導体記憶装置２は、コマンド“７Ｃｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（１）をコントローラ１に出力する。
【００９９】
コントローラ１は、当該誤り訂正結果ＳＴＳ−（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（１）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１００】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（１）としてコントローラ１に出力する。
【０１０１】
ここで、半導体記憶装置２は、再び、図８において示したステップＳＴ２１の直前の状態と一致する。
【０１０２】
続いて、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（３）”、及びコマンド“３１ｈ”を半導体記憶装置２に送信する。アドレス“ＡＤＤ−（３）”は、当該キャッシュ読出し動作のシーケンスにおいて、３回目に読み出されるデータのアドレスを指定する情報を含む。
【０１０３】
半導体記憶装置２は、コマンド“３１ｈ”を受けると、図８において示したステップＳＴ２１〜ＳＴ２５を実行する。すなわち、シーケンサ１６は、レジスタＣ１及びＣ２に保持されたデータをそれぞれレジスタＡ１及びＡ２に転送する。シーケンサ１６は、メモリセルアレイ２１−０からアドレス“ＡＤＤ−（３）”に対応するデータを読出し、レジスタＣ１へ転送する。ＥＣＣ回路１８は、レジスタＣ１に保持されたデータについて誤り訂正処理を実行し、誤り訂正後データをレジスタＣ２に転送すると共に、誤り訂正結果ＳＴＳ−（３）をステータスレジスタ１５に転送する。ＥＣＣ回路１８は、例えば、誤り訂正結果ＳＴＳ−（３）を、奇数回目の読出しデータに対応する誤り訂正結果ＳＴＳ−（１）に上書きしてステータスレジスタ１５に保持させる。
【０１０４】
ステップＳＴ２１〜ＳＴ２５と並行して、コントローラ１及び半導体記憶装置２は、図８において示したステップＳＴ２６及びＳＴ２７を実行する。
【０１０５】
具体的には、コントローラ１は、コマンド“７Ｄｈ”を半導体記憶装置２に送信する。コマンド“７Ｄｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、キャッシュ読出し動作において偶数回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（ｅｖｅｎ）の出力を指示する（“ｅｖｅｎ”は、任意の偶数）。
【０１０６】
半導体記憶装置２は、コマンド“７Ｄｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（２）をコントローラ１に出力する。
【０１０７】
コントローラ１は、当該誤り訂正結果ＳＴＳ−（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（２）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１０８】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（２）としてコントローラ１に出力する。
【０１０９】
続いて、コントローラ１は、コマンド“３Ｆｈ”を半導体記憶装置２に送信する。コマンド“３Ｆｈ”は、当該キャッシュ読出し動作のシーケンスにおいて、これ以上メモリセルアレイ２１からデータ読出しを行わない旨を指示するコマンドである。
【０１１０】
半導体記憶装置２は、コマンド“３Ｆｈ”を受けると、レジスタＣ１及びＣ２に保持されたデータをそれぞれレジスタＡ１及びＡ２に転送し、データの出力に備える。
【０１１１】
コントローラ１は、コマンド“７Ｃｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“７Ｃｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（３）をコントローラ１に出力する。
【０１１２】
コントローラ１は、当該誤り訂正結果ＳＴＳ−（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−（３）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１１３】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（３）としてコントローラ１に出力する。
【０１１４】
以上のように動作することにより、半導体記憶装置２は、メモリセルアレイ２１−０からのデータ読出しと、コントローラ１へのデータ出力とを並行して実行する場合においても、各データに対応する誤り訂正結果ＳＴＳを個別にコントローラ１に出力できる。
【０１１５】
１．２．４  マルチプレーンキャッシュ読出し動作について
次に、マルチプレーンキャッシュ読出し（Multi − plane reading with data cache）動作について説明する。
【０１１６】
１．２．４．１  動作の概要について
図１０は、第１実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作の概要を説明するためのブロック図である。図１０では、マルチプレーンキャッシュ読出し動作における読出しデータと、当該読出しデータの誤り訂正結果ＳＴＳとが半導体記憶装置２内で通信される様子が示される。以下の説明では、ｎ回目にメモリセルアレイ２１−０から読み出されたデータに対応する誤り訂正結果ＳＴＳ及び出力データＤＡＴはそれぞれ、誤り訂正結果ＳＴＳ−Ｐ０（ｎ）及び出力データＤＡＴ−Ｐ０（ｎ）と示される。また、ｎ回目にメモリセルアレイ２１−１から読み出されたデータに対応する誤り訂正結果ＳＴＳ及び出力データＤＡＴはそれぞれ、誤り訂正結果ＳＴＳ−Ｐ１（ｎ）及び出力データＤＡＴ−Ｐ１（ｎ）と示される。
【０１１７】
図１０では、メモリセルアレイ２１からのデータ読出し、及び当該データ読出しと並行して実行されるコントローラ１へのデータ出力における通信の様子がステップＳＴ３１〜ＳＴ４４で示される。ステップＳＴ３１〜ＳＴ４４は、例えば、コントローラ１からの指示に基づき、シーケンサ１６によって実行される。
【０１１８】
なお、以下では、当該マルチプレーンキャッシュ読出し動作において（ｎ＋１）回目にメモリセルアレイ２１−０及び２１−１から読み出されたデータの誤り訂正後データが、それぞれ出力データＤＡＴ−Ｐ０（ｎ＋１）及びＤＡＴ−Ｐ１（ｎ＋１）としてレジスタＣ２及びＤ２に保持されているものとする。また、出力データＤＡＴ−Ｐ０（ｎ＋１）及びＤＡＴ−Ｐ１（ｎ＋１）にそれぞれ対応する誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋１）及びＳＴＳ−Ｐ１（ｎ＋１）がステータスレジスタ１５に別個に保持されているものとする。そして、図１０では、当該キャッシュ読出し動作における（ｎ＋２）回目のデータ読出しがメモリセルアレイ２１−０及び２１−１に対して実行される場合が示される。
【０１１９】
図１０に示すように、ステップＳＴ３１〜ＳＴ３５、ＳＴ４１、及びＳＴ４２ではプレーンＰＢ０に係る動作が実行され、ステップＳＴ３６〜ＳＴ４０、ＳＴ４３、及びＳＴ４４ではプレーンＰＢ１に係る動作が実行される。
【０１２０】
具体的には、ステップＳＴ３１において、シーケンサ１６は、レジスタＣ２に保持された誤り訂正後データをレジスタＡ２に転送する。また、シーケンサ１６は、レジスタＣ１に保持された誤り訂正前データをレジスタＡ１に転送してもよい。
【０１２１】
ステップＳＴ３２において、シーケンサ１６は、当該マルチプレーンキャッシュ読出し動作において（ｎ＋２）回目のメモリセルアレイ２１−０からのデータ読み出しを実行し、レジスタＣ１に転送する。
【０１２２】
ステップＳＴ３３において、ＥＣＣ回路１８は、レジスタＣ１に保持された読出しデータについて誤り検出処理及び誤り訂正処理を実行し、誤り訂正後データ及び誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋２）を生成する。
【０１２３】
ステップＳＴ３４において、ＥＣＣ回路１８は、ステップＳＴ３３において生成された誤り訂正後データをレジスタＣ２に転送する。
【０１２４】
ステップＳＴ３５において、ＥＣＣ回路１８は、ステップＳＴ３３において生成された誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋２）をステータスレジスタ１５に転送する。ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋１）及びＳＴＳ−Ｐ１（ｎ＋１）と別個に、誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋２）を保持する。
【０１２５】
また、ステップＳＴ３６において、シーケンサ１６は、レジスタＤ２に保持された誤り訂正後データをレジスタＢ２に転送する。また、シーケンサ１６は、レジスタＤ１に保持された誤り訂正前データをレジスタＢ１に転送してもよい。
【０１２６】
ステップＳＴ３７において、シーケンサ１６は、当該マルチプレーンキャッシュ読出し動作において（ｎ＋２）回目のメモリセルアレイ２１−１からのデータ読み出しを実行し、レジスタＤ１に転送する。
【０１２７】
ステップＳＴ３８において、ＥＣＣ回路１８は、レジスタＤ１に保持された読出しデータについて誤り検出処理及び誤り訂正処理を実行し、誤り訂正後データ及び誤り訂正結果ＳＴＳ−Ｐ１（ｎ＋２）を生成する。
【０１２８】
ステップＳＴ３９において、ＥＣＣ回路１８は、ステップＳＴ３８において生成された誤り訂正後データをレジスタＤ２に転送する。
【０１２９】
ステップＳＴ４０において、ＥＣＣ回路１８は、ステップＳＴ３８において生成された誤り訂正結果ＳＴＳ−Ｐ１（ｎ＋２）をステータスレジスタ１５に転送する。ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋１）、ＳＴＳ−Ｐ１（ｎ＋１）、ＳＴＳ−Ｐ０（ｎ＋２）と別個に、誤り訂正結果ＳＴＳ−Ｐ１（ｎ＋２）を保持する。
【０１３０】
マルチプレーンキャッシュ読出し動作では、プレーンＰＢ０及びＰＢ１で並行してデータが読み出される。すなわち、ステップＳＴ３２及びＳＴ３７は、並行して実行される。また、マルチプレーンキャッシュ読出し動作では、（ｎ＋２）回目の読出し動作に係るこれまでのステップＳＴ３１〜ＳＴ４０と、（ｎ＋１）回目の出力動作に係る以降のステップＳＴ４１〜ＳＴ４４とが、並行して実行される。
【０１３１】
ステップＳＴ４１において、シーケンサ１６は、誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋１）をステータスレジスタ１５から読出し、入出力制御回路１１を介してコントローラ１に出力する。
【０１３２】
ステップＳＴ４２において、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを、出力データＤＡＴ−Ｐ０（ｎ＋１）として、入出力制御回路１１を介してコントローラ１に出力する。
【０１３３】
ステップＳＴ４３において、シーケンサ１６は、誤り訂正結果ＳＴＳ−Ｐ１（ｎ＋１）をステータスレジスタ１５から読出し、入出力制御回路１１を介してコントローラ１に出力する。
【０１３４】
ステップＳＴ４４において、シーケンサ１６は、レジスタＢ２に保持された誤り訂正後データを、出力データＤＡＴ−Ｐ１（ｎ＋１）として、入出力制御回路１１を介してコントローラ１に出力する。
【０１３５】
ステップＳＴ４４直後の状態は、ステップＳＴ３１の直前の状態と、データレジスタ２４及びステータスレジスタ１５内に保持されるデータが変化したことを除いて一致する。すなわち、ステップＳＴ４４の後、再びステップＳＴ３１〜ＳＴ４４の動作が繰り返されることによって、マルチプレーンキャッシュ読出し動作を繰り返し実行することができる。
【０１３６】
１．２．４．２  コマンドシーケンスについて
図１１は、第１実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンスである。図１１は、図１０に示されたマルチプレーンキャッシュ読出し動作を実現するためのコマンドシーケンスの一例が示される。なお、図１１では、マルチプレーンキャッシュ読出し動作の一例として、ランダムキャッシュ読出し動作が実行される場合が示される。
【０１３７】
図１１に示すように、コントローラ１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（１）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（１）”、及びコマンド“３０ｈ”をこの順に半導体記憶装置２に送信する。アドレス“ＡＤＤ−Ｐ０（１）”及び“ＡＤＤ−Ｐ１（１）”はそれぞれ、マルチプレーンキャッシュ読出し動作においてプレーンＰＢ０及びＰＢ１から１回目に読み出されるデータを指定する情報を含む。つまり、シーケンサ１６は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（１）”、コマンド“６０ｈ”、及びアドレス“ＡＤＤ−Ｐ１（１）”をこの順に受けると、プレーンＰＢ０のアドレス“ＡＤＤ−Ｐ０（１）”に対する読出しと、プレーンＰＢ１のアドレス“ＡＤＤ−Ｐ１（１）”に対する読出しと、を並行して実行するための設定を行う。
【０１３８】
半導体記憶装置２は、コマンド“３０ｈ”を受けると、期間ｔＲの間、信号Ｒ／Ｂを“Ｌ”レベルにして、ビジー状態をコントローラ１に通知する。シーケンサ１６は、期間ｔＲの間に、メモリセルアレイ２１−０及び２１−１から並行してデータを読出し、それぞれレジスタＣ１及びＤ１に転送する。ＥＣＣ回路１８は、レジスタＣ１に保持されたデータに対して誤り訂正処理を実行し、誤り訂正後データをレジスタＣ２に転送する。また、ＥＣＣ回路１８は、当該レジスタＣ２に転送された誤り訂正後データに対応する誤り訂正結果ＳＴＳ−Ｐ０（１）をステータスレジスタ１５に転送する。また、ＥＣＣ回路１８は、レジスタＤ１に保持されたデータに対して誤り訂正処理を実行し、誤り訂正後データをレジスタＤ２に転送する。また、ＥＣＣ回路１８は、当該レジスタＤ２に転送された誤り訂正後データに対応する誤り訂正結果ＳＴＳ−Ｐ１（１）をステータスレジスタ１５に転送する。ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０（１）及びＳＴＳ−Ｐ１（１）を別個に保持する。上記動作が終了した後、半導体記憶装置２は、信号Ｒ／Ｂを“Ｈ”レベルにして、レディ状態をコントローラ１に通知する。
【０１３９】
ここで、半導体記憶装置２は、図１０において示したステップＳＴ３１の直前の状態と一致する。
【０１４０】
続いて、コントローラ１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（２）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（２）”、及びコマンド“３１ｈ”をこの順に半導体記憶装置２に送信する。アドレス“ＡＤＤ−Ｐ０（２）”及び“ＡＤＤ−Ｐ１（２）”は、当該マルチプレーンキャッシュ読出し動作のシーケンスにおいて、２回目に読み出されるデータのアドレスを指定する情報を含む。
【０１４１】
半導体記憶装置２は、コマンド“３１ｈ”を受けると、図１０において示したＳＴ３１〜ＳＴ４０を実行する。すなわち、シーケンサ１６は、レジスタＣ１及びＣ２、並びにＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにＢ１及びＢ２に転送する間、信号Ｒ／Ｂを“Ｌ”レベルにして、ビジー状態をコントローラ１に通知する。半導体記憶装置２は、レジスタ間のデータ転送が完了すると、信号Ｒ／Ｂを“Ｈ”レベルにして、レディ状態をコントローラ１に通知する。そして、シーケンサ１６は、メモリセルアレイ２１−０及び２１−１からそれぞれアドレス“ＡＤＤ−Ｐ０（２）”及び“ＡＤＤ−Ｐ１（２）”に対応するデータを並行して読出し、レジスタＣ１及びＤ１へ転送する。ＥＣＣ回路１８は、レジスタＣ１及びＤ１に保持されたデータについて誤り訂正処理を実行し、それぞれの誤り訂正後データをレジスタＣ２及びＤ２に転送する。ＥＣＣ回路１８は、レジスタＣ２及びＤ２にそれぞれ転送された誤り訂正後データにそれぞれ対応する誤り訂正結果ＳＴＳ−Ｐ０（２）及びＳＴＳ−Ｐ１（２）をステータスレジスタ１５に転送する。ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０（１）、ＳＴＳ−Ｐ１（１）、ＳＴＳ−Ｐ０（２）、及びＳＴＳ−Ｐ１（２）を別個に保持する。
【０１４２】
ステップＳＴ３１〜ＳＴ４０と並行して、コントローラ１及び半導体記憶装置２は、図１０において示したステップＳＴ４１〜ＳＴ４４を実行する。
【０１４３】
具体的には、コントローラ１は、コマンド“７Ｅｈ”を半導体記憶装置２に送信する。コマンド“７Ｅｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、マルチプレーンキャッシュ読出し動作において奇数回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（ｏｄｄ）の出力を指示する。また、コマンド“７Ｅｈ”が連続して発行される場合、１回目のコマンド“７Ｅｈ”は、例えば、プレーンＰＢ０（ｏｄｄ）に対応するコマンドであると認識される。
【０１４４】
半導体記憶装置２は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（１）をコントローラ１に出力する。
【０１４５】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ０（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ０（１）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１４６】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（１）としてコントローラ１に出力する。
【０１４７】
また、コントローラ１は、再びコマンド“７Ｅｈ”を半導体記憶装置２に送信する。コマンド“７Ｅｈ”が連続して発行される場合、２回目のコマンド“７Ｅｈ”は、例えば、プレーンＰＢ１に対応するコマンドであると認識される。
【０１４８】
半導体記憶装置２は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（１）をコントローラ１に出力する。
【０１４９】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ１（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ１（１）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１５０】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（１）としてコントローラ１に出力する。
【０１５１】
ここで、半導体記憶装置２は、再び図１０において示したステップＳＴ３１の直前の状態と一致する。
【０１５２】
続いて、コントローラ１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（３）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（３）”、及びコマンド“３１ｈ”をこの順に半導体記憶装置２に送信する。アドレス“ＡＤＤ−Ｐ０（３）”及び“ＡＤＤ−Ｐ１（３）”は、当該マルチプレーンキャッシュ読出し動作のシーケンスにおいて、３回目に読み出されるデータのアドレスを指定する情報を含む。
【０１５３】
半導体記憶装置２は、コマンド“３１ｈ”を受けると、図１０において示したステップＳＴ３１〜ＳＴ４０を実行する。すなわち、シーケンサ１６は、レジスタＣ１及びＣ２、並びにＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにＢ１及びＢ２に転送する。シーケンサ１６は、メモリセルアレイ２１−０及び２１−１からそれぞれアドレス“ＡＤＤ−Ｐ０（３）”及び“ＡＤＤ−Ｐ１（３）”に対応するデータを読出し、レジスタＣ１及びＤ１へ転送する。ＥＣＣ回路１８は、レジスタＣ１に保持されたデータについて誤り訂正処理を実行し、誤り訂正後データをレジスタＣ２に転送すると共に、レジスタＣ２に転送された誤り訂正後データに対応する誤り訂正結果ＳＴＳ−Ｐ０（３）をステータスレジスタ１５に転送する。また、ＥＣＣ回路１８は、レジスタＤ１に保持されたデータについて誤り訂正処理を実行し、誤り訂正後データをレジスタＤ２に転送すると共に、レジスタＤ２に転送された誤り訂正後データに対応する誤り訂正結果ＳＴＳ−Ｐ１（３）をステータスレジスタ１５に転送する。ＥＣＣ回路１８は、例えば、誤り訂正結果ＳＴＳ−Ｐ０（３）及びＳＴＳ−Ｐ１（３）を、奇数回目の読出しデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（１）及びＳＴＳ−Ｐ１（１）に上書きしてステータスレジスタ１５に保持させる。
【０１５４】
ステップＳＴ３１〜ＳＴ４０と並行して、コントローラ１及び半導体記憶装置２は、図１０において示したステップＳＴ４１〜ＳＴ４４を実行する。
【０１５５】
具体的には、コントローラ１は、コマンド“７Ｆｈ”を半導体記憶装置２に送信する。コマンド“７Ｆｈ”は、コマンド“７ｘｈ”に含まれるコマンドのうちの１つであり、例えば、マルチプレーンキャッシュ読出し動作において偶数回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（ｅｖｅｎ）の出力を指示する。また、コマンド“７Ｆｈ”が連続して発行される場合、１回目のコマンド“７Ｆｈ”は、例えば、プレーンＰＢ０に対応するコマンドであると認識される。
【０１５６】
半導体記憶装置２は、コマンド“７Ｆｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（２）をコントローラ１に出力する。
【０１５７】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ０（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ０（２）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１５８】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（２）としてコントローラ１に出力する。
【０１５９】
また、コントローラ１は、再びコマンド“７Ｆｈ”を半導体記憶装置２に送信する。コマンド“７Ｆｈ”が連続して発行される場合、２回目のコマンド“７Ｆｈ”は、例えば、プレーンＰＢ１に対応するコマンドであると認識される。
【０１６０】
半導体記憶装置２は、コマンド“７Ｆｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（２）をコントローラ１に出力する。
【０１６１】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ１（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ１（２）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１６２】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（２）としてコントローラ１に出力する。
【０１６３】
続いて、コントローラ１は、コマンド“３Ｆｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“３Ｆｈ”を受けると、レジスタＣ１及びＣ２、並びにＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにＢ１及びＢ２に転送し、データの出力に備える。
【０１６４】
コントローラ１は、コマンド“７Ｅｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（３）をコントローラ１に出力する。
【０１６５】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ０（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ０（３）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１６６】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（３）としてコントローラ１に出力する。
【０１６７】
また、コントローラ１は、再びコマンド“７Ｅｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（３）をコントローラ１に出力する。
【０１６８】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ１（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、コントローラ１は、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ１（３）”、コマンド“０５ｈ”、コマンド“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”をこの順に半導体記憶装置２に送信する。
【０１６９】
半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（３）としてコントローラ１に出力する。
【０１７０】
以上のように動作することにより、半導体記憶装置２は、プレーンＰＢ０からのキャッシュ読出しと、プレーンＰＢ１からのキャッシュ読出しとを並行して実行するマルチプレーンキャッシュ読出し動作の場合においても、各データに対応する誤り訂正結果ＳＴＳを個別にコントローラ１に出力できる。
【０１７１】
１．３  本実施形態に係る効果
第１実施形態によれば、種々の読出し方式に応じてセクタ毎の誤り訂正結果を出力することができる。本効果につき、以下に説明する。
【０１７２】
ＮＡＮＤ型フラッシュメモリでは、書込まれたデータの一部にエラービットが生じる（ビットが反転する）。このため、ＮＡＮＤ型フラッシュメモリを使用する際には、ＥＣＣ回路によってデータの誤り訂正が行われる。
【０１７３】
誤り訂正可能なビット数は、ＥＣＣ回路ごとに上限がある。他方で、ＮＡＮＤ型フラッシュメモリでは、一度書込まれたデータに対する読出し動作が多数回に及ぶと、当該データにおいてエラービット数が増加する傾向がある。
【０１７４】
このため、コントローラは、エラービット数の増加によりＥＣＣ回路でエラー訂正が出来なくなる前に、データを別のブロックに移動させる等の処理を実施する。この処理は、リフレッシュ処理とも言う。
【０１７５】
一方、ＮＡＮＤ型フラッシュメモリでは、マルチプレーン読出し方式、キャッシュ読出し方式、マルチプレーンキャッシュ読出し方式等の種々の読出し方式が用いられる。これらの読出し方式は、各種回路を並行して動作させることによってデータ読出しのスループットを向上させることができる。
【０１７６】
しかしながら、これらの並行動作を伴う読出し方式の際に、並行動作を伴わない通常の読出し方式と同様にＥＣＣ回路を動作させた場合、読出しデータごとの誤り訂正結果を個別に出力できない可能性がある。
【０１７７】
第１実施形態に係る半導体記憶装置は、マルチプレーン読出し動作の際に、メモリセルアレイ２１−０から読み出されたデータに対応する出力データＤＡＴ−Ｐ０と、メモリセルアレイ２１−１から読み出されたデータに対応する出力データＤＡＴ−Ｐ１と、をそれぞれ出力する。ＥＣＣ回路１８は、出力データＤＡＴ−Ｐ０に対して実行した誤り訂正結果ＳＴＳ−Ｐ０と、出力データＤＡＴ−Ｐ１に対して実行した誤り訂正結果ＳＴＳ−Ｐ１と、をそれぞれステータスレジスタ１５に転送する。これにより、ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１を個別に保持することができる。
【０１７８】
また、シーケンサ１６は、コントローラ１からコマンド“７Ａｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０を、コマンド“７Ｂｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ１をステータスレジスタ１５から出力する。これにより、コントローラ１は、マルチプレーン読出し動作によって異なるプレーンＰＢ０及びＰＢ１から並行して読み出されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、コントローラ１は、マルチプレーン読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
【０１７９】
また、第１実施形態に係る半導体記憶装置は、キャッシュ読出し動作の際に、メモリセルアレイ２１からの（ｎ＋１）回目の読出しと並行して、ｎ回目に読み出されたデータに対応する出力データＤＡＴ−（ｎ）を出力する。ＥＣＣ回路１８は、出力データＤＡＴ−（ｎ）に対して実行した誤り訂正結果ＳＴＳ−（ｎ）と、（ｎ＋１）回目に読み出されたデータに対して実行した誤り訂正結果ＳＴＳ−（ｎ＋１）と、をそれぞれステータスレジスタ１５に転送する。これにより、ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−（ｎ）及びＳＴＳ−（ｎ＋１）を個別に保持することができる。
【０１８０】
また、シーケンサ１６は、コントローラ１からコマンド“７Ｃｈ”を受けると誤り訂正結果ＳＴＳ−（ｏｄｄ）を、コマンド“７Ｄｈ”を受けると誤り訂正結果ＳＴＳ−（ｅｖｅｎ）をステータスレジスタ１５から出力する。これにより、コントローラ１は、キャッシュ読出し動作によってメモリセルアレイ２１からの読出しと、コントローラ１への出力とが並行して実行されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、コントローラ１は、キャッシュ読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
【０１８１】
また、第１実施形態に係る半導体記憶装置は、マルチプレーンキャッシュ読出し動作の際に、メモリセルアレイ２１−０及び２１−１からの（ｎ＋１）回目のマルチプレーン読出しと並行して、ｎ回目にマルチプレーン読み出しされたデータに対応する出力データＤＡＴ−Ｐ０（ｎ）及びＤＡＴ−Ｐ１（ｎ）を出力する。ＥＣＣ回路１８は、出力データＤＡＴ−Ｐ０（ｎ）及びＤＡＴ−Ｐ１（ｎ）に対してそれぞれ実行した誤り訂正結果ＳＴＳ−Ｐ０（ｎ）及びＳＴＳ−Ｐ１（ｎ）と、（ｎ＋１）回目に読み出されたデータに対してそれぞれ実行した誤り訂正結果ＳＴＳ−Ｐ０（ｎ＋１）及びＳＴＳ−Ｐ１（ｎ＋１）と、をそれぞれステータスレジスタ１５に転送する。これにより、ステータスレジスタ１５は、誤り訂正結果ＳＴＳ−Ｐ０（ｎ）、ＳＴＳ−Ｐ１（ｎ）、ＳＴＳ−Ｐ０（ｎ＋１）、及びＳＴＳ−Ｐ１（ｎ＋１）を個別に保持することができる。
【０１８２】
また、シーケンサ１６は、コントローラ１からコマンド“７Ｅｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）及びＳＴＳ−Ｐ１（ｏｄｄ）を、コマンド“７Ｆｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）及びＳＴＳ−Ｐ１（ｅｖｅｎ）をステータスレジスタ１５から出力する。これにより、コントローラ１は、マルチプレーンキャッシュ読出し動作によってメモリセルアレイ２１からの読出しと、コントローラ１への出力とが並行して実行されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、コントローラ１は、マルチプレーンキャッシュ読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
【０１８３】
また、コントローラ１は、マルチプレーン読出し動作、キャッシュ読出し動作、及びマルチプレーンキャッシュ読出し動作の各々における出力データＤＡＴの出力を指示する前に、誤り訂正結果ＳＴＳの出力を半導体記憶装置２に指示する。これにより、コントローラ１は、出力データＤＡＴに対する誤り訂正が成功しているか否かを、データ出力前に判定することができる。このため、仮に出力データＤＡＴに対する誤り訂正が失敗していた場合、当該出力データＤＡＴの出力を中止することができる。したがって、コントローラ１の負荷を軽減させることができる。
【０１８４】
１．４  第１実施形態の第１変形例
なお、第１実施形態では、誤り訂正結果ＳＴＳをコントローラ１に出力させるための専用のコマンド“７ｘｈ”を用いる場合について説明したが、これに限られない。誤り訂正結果ＳＴＳは、例えば、ステータスレジスタ１５内に別途保持される特徴テーブルから読み出されてもよい。すなわち、コントローラ１は、特徴テーブルの読出しコマンド“０Ｆｈ”を用いて誤り訂正結果ＳＴＳを出力させてもよい。
【０１８５】
以下の説明では、第１実施形態と同一の部分については説明を省略し、異なる部分についてのみ説明する。
【０１８６】
１．４．１  誤り訂正情報出力動作について
まず、誤り訂正結果の出力動作について説明する。図１２は、第１実施形態の第１変形例に係る半導体記憶装置の誤り訂正結果の出力動作を説明するためのコマンドシーケンスである。図１２は、図５に対応する。
【０１８７】
図１２に示すように、コントローラ１は、コマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”を発行する。コマンド“０Ｆｈ”は、ステータスレジスタ１５内の特徴テーブルに保持された情報の出力を指示するコマンドの総称である。アドレス“ｘ０ｈ”は、特徴テーブル内の種々の情報の格納先に対応し、例えば８ビットの情報に対して１つのアドレスが割当てられる。コマンド“０Ｆｈ”がコマンドレジスタ１４に格納されると、シーケンサ１６は、アドレス“ｘ０ｈ”に対応する特徴テーブル内の情報を特定する。そして、当該特定された情報をステータスレジスタ１５から入出力制御回路１１に転送する。
【０１８８】
なお、特徴テーブルは、複数ページ分（例えば、少なくとも４ページ分）の誤り訂正結果ＳＴＳが保持可能である。一方、１セクタ分の誤り訂正結果ＳＴＳは、例えば、セクタ位置を示すセクタ位置情報、並びにエラービット数及び訂正可否情報を示すエラービット数情報を含む８ビットの情報として定義される。このため、１つのアドレス“ｘ０ｈ”は、特徴テーブル内の１セクタ分の誤り訂正結果ＳＴＳに対応するアドレスを含む。１セクタ分の誤り訂正結果ＳＴＳに対応するアドレス“ｘ０ｈ”は、例えば、“Ａ０ｈ”、“Ｂ０ｈ”、“Ｃ０ｈ”、“Ｄ０ｈ”、“１０ｈ”、“２０ｈ”、“３０ｈ”、及び“４０ｈ”を含む。各アドレスの具体的な説明については、後述する。
【０１８９】
シーケンサ１６は、或るページ内の或るセクタ（例えばセクタ０）の誤り訂正結果ＳＴＳに対応するアドレス“ｘ０ｈ”を受けると、当該誤り訂正結果ＳＴＳを含むデータＳｅｃｔ０と共に、当該或るページ内の他のセクタ（例えばセクタ１〜セクタ３）の誤り訂正結果ＳＴＳを含むデータ（Ｓｅｃｔ１〜Ｓｅｃｔ３）についても順次出力させる。
【０１９０】
つまり、コマンド“０Ｆｈ”及び１つのアドレス“ｘ０ｈ”が発行されると、半導体記憶装置２は、例えば４サイクルにわたって、１ページ分のデータに対応する誤り訂正結果ＳＴＳを、セクタ毎に順次出力する。
【０１９１】
１．４．２  マルチプレーン読出し動作について
次に、マルチプレーン読出し動作について説明する。
【０１９２】
図１３は、第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作に用いられる特徴テーブルである。
【０１９３】
図１３に示すように、マルチプレーン読出し動作の際に用いられる特徴テーブルには、例えば、異なるプレーンＰＢから読み出されたデータの誤り訂正結果ＳＴＳを互いに識別する領域と、当該領域に対応するアドレスが割当てられる。具体的には、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１はそれぞれ、アドレス“Ａ０ｈ”及び“Ｂ０ｈ”に対応付けられる。
【０１９４】
つまり、コマンド“０Ｆｈ”及びアドレス“Ａ０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ０を、１セクタ毎に４サイクルにわたって出力する。また、コマンド“０Ｆｈ”及びアドレス“Ｂ０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ１を、１セクタ毎に４サイクルにわたって出力する。
【０１９５】
より具体的には、１セクタ分の誤り訂正結果ＳＴＳ−Ｐ０は、１ビット目（ビット０）から４ビット目（ビット３）には、セクタ位置情報ＳＡ（ＳＡ＿０〜ＳＡ＿３）が保持され、５ビット目（ビット４）から８ビット目（ビット７）には、エラービット数情報及び訂正可否情報ＢＦＡ（ＢＦＡ＿０〜ＢＦＡ＿３）が保持される。１セクタ分の誤り訂正結果ＳＴＳ−Ｐ１は、１ビット目から４ビット目には、セクタ位置情報ＳＢ（ＳＢ＿０〜ＳＢ＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦＢ（ＢＦＢ＿０〜ＢＦＢ＿３）が保持される。
【０１９６】
図１４は、第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンスである。図１４は、第１実施形態における図７に対応する。
【０１９７】
図１４に示すように、第１実施形態の第１変形例におけるマルチプレーン読出し動作は、専用コマンド“７ｘｈ”に代えて特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第１実施形態と相違する。
【０１９８】
コントローラ１は、メモリセルアレイ２１−０及び２１−１からの並行したデータ読出しが終了し、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“Ａ０ｈ”を半導体記憶装置２に送信する。
【０１９９】
コマンド“０Ｆｈ”及びアドレス“Ａ０ｈ”を受けると、半導体記憶装置２は、図６において示したステップＳＴ９を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された１ページ分の誤り訂正結果ＳＴＳ−Ｐ０をコントローラ１に出力する。
【０２００】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ０に基づき、プレーンＰＢ０から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ０”、コマンド“０５ｈ”、アドレス“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、図６において示したステップＳＴ１０を実行する。すなわち、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ０としてコントローラ１に出力する。
【０２０１】
また、コントローラは、コントローラ１は、コマンド“０Ｆｈ”及びアドレス“Ｂ０ｈ”を半導体記憶装置２に送信する。コマンド“０Ｆｈ”及びアドレス“Ｂ０ｈ”を受けると、半導体記憶装置２は、図６において示したステップＳＴ１１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された１ページ分の誤り訂正結果ＳＴＳ−Ｐ１をコントローラ１に出力する。
【０２０２】
コントローラ１は、当該誤り訂正結果ＳＴＳ−Ｐ１に基づき、プレーンＰＢ１から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“００ｈ”、アドレス“ＡＤＤ−Ｐ１”、コマンド“０５ｈ”、アドレス“ＡＤＤ−ＣＡ”、及びコマンド“Ｅ０ｈ”を半導体記憶装置２に送信する。半導体記憶装置２は、コマンド“Ｅ０ｈ”を受けると、図６において示したステップＳＴ１２を実行する。すなわち、シーケンサ１６は、レジスタＢ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ１としてコントローラ１に出力する。
【０２０３】
以上で、マルチプレーン読出し動作が終了する。
【０２０４】
１．４．３  キャッシュ読出し動作について
次に、キャッシュ読出し動作について説明する。
【０２０５】
図１５は、第１実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作に用いられる特徴テーブルである。
【０２０６】
図１５に示すように、キャッシュ読出し動作の際に用いられる特徴テーブルには、例えば、奇数回目及び偶数回目の読出しデータの誤り訂正結果ＳＴＳを互いに識別する領域と、当該領域に対応するアドレスが割当てられる。具体的には、誤り訂正結果ＳＴＳ−（ｏｄｄ）及びＳＴＳ−（ｅｖｅｎ）はそれぞれ、アドレス“Ｃ０ｈ”及び“Ｄ０ｈ”に対応付けられる。
【０２０７】
つまり、コマンド“０Ｆｈ”及びアドレス“Ｃ０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−（ｏｄｄ）を、１セクタ毎に４サイクルにわたって出力する。また、コマンド“０Ｆｈ”及びアドレス“Ｄ０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−（ｅｖｅｎ）を、１セクタ毎に４サイクルにわたって出力する。
【０２０８】
より具体的には、１セクタ分の誤り訂正結果ＳＴＳ−（ｏｄｄ）は、１ビット目から４ビット目には、セクタ位置情報ＳＣ（ＳＣ＿０〜ＳＣ＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦＣ（ＢＦＣ＿０〜ＢＦＣ＿３）が保持される。１セクタ分の誤り訂正結果ＳＴＳ−（ｅｖｅｎ）は、１ビット目から４ビット目には、セクタ位置情報ＳＤ（ＳＤ＿０〜ＳＤ＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦＤ（ＢＦＤ＿０〜ＢＦＤ＿３）が保持される。
【０２０９】
図１６は、第１実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンスである。図１６は、第１実施形態における図９に対応する。
【０２１０】
図１６に示すように、第１実施形態の第１変形例におけるキャッシュ読出し動作は、マルチプレーン読出し動作と同様、専用コマンド“７ｘｈ”に代えて、特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第１実施形態と相違する。
【０２１１】
コントローラ１は、１回目のデータ読出しを指示するコマンド“３１ｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“Ｃ０ｈ”を半導体記憶装置２に送信する。
【０２１２】
コマンド“０Ｆｈ”及びアドレス“Ｃ０ｈ”を受けると、半導体記憶装置２は、図８において示したステップＳＴ２６を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−（１）をコントローラ１に出力する。当該動作は、ステップＳＴ２１〜ＳＴ２５と並行して実行される。
【０２１３】
また、コントローラ１は、２回目のデータ読出しを指示するコマンド“３１ｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“Ｄ０ｈ”を半導体記憶装置２に送信する。
【０２１４】
コマンド“０Ｆｈ”及びアドレス“Ｄ０ｈ”を受けると、半導体記憶装置２は、図８において示したステップＳＴ２６を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−（２）をコントローラ１に出力する。当該動作は、ステップＳＴ２１〜ＳＴ２５と並行して実行される。
【０２１５】
また、コントローラ１は、データの新たな読出し行わない旨を指示するコマンド“３Ｆｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“Ｃ０ｈ”を半導体記憶装置２に送信する。
【０２１６】
コマンド“０Ｆｈ”及びアドレス“Ｃ０ｈ”を受けると、半導体記憶装置２は、図８において示したステップＳＴ２６を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−（３）をコントローラ１に出力する。
【０２１７】
以上で、キャッシュ読出し動作が終了する。
【０２１８】
１．４．４  マルチプレーンキャッシュ読出し動作について
次に、マルチプレーンキャッシュ読出し動作について説明する。
【０２１９】
図１７は、第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作に用いられる特徴テーブルである。
【０２２０】
図１７に示すように、マルチプレーンキャッシュ読出し動作の際に用いられる特徴テーブルには、例えば、４種類のデータの誤り訂正結果ＳＴＳを互いに識別する領域と、当該領域に対応するアドレスが割当てられる。４種類のデータは、プレーンＰＢ０及びＰＢ１のいずれから読み出されたか、及び同一のプレーンＰＢから奇数回目及び偶数回目のいずれに読み出されたか、で分類される。具体的には、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）は、アドレス“１０ｈ”に対応付けられ、誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）は、アドレス“２０ｈ”に対応付けられる。また、誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）は、アドレス“３０ｈ”に対応付けられ、誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）は、アドレス“４０ｈ”に対応付けられる。
【０２２１】
つまり、コマンド“０Ｆｈ”及びアドレス“１０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）を、１セクタ毎に４サイクルにわたって出力する。また、コマンド“０Ｆｈ”及びアドレス“２０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）を、１セクタ毎に４サイクルにわたって出力する。コマンド“０Ｆｈ”及びアドレス“３０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）を、１セクタ毎に４サイクルにわたって出力する。また、コマンド“０Ｆｈ”及びアドレス“４０ｈ”が発行されると、シーケンサ１６は、１ページ分の誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）を、１セクタ毎に４サイクルにわたって出力する。
【０２２２】
より具体的には、１セクタ分の誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）は、１ビット目から４ビット目には、セクタ位置情報Ｓ１（Ｓ１＿０〜Ｓ１＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦ１（ＢＦ１＿０〜ＢＦ１＿３）が保持される。１セクタ分の誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）は、１ビット目から４ビット目には、セクタ位置情報Ｓ２（Ｓ２＿０〜Ｓ２＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦ２（ＢＦ２＿０〜ＢＦ２＿３）が保持される。１セクタ分の誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）は、１ビット目から４ビット目には、セクタ位置情報Ｓ３（Ｓ３＿０〜Ｓ３＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦ３（ＢＦ３＿０〜ＢＦ３＿３）が保持される。１セクタ分の誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）は、１ビット目から４ビット目には、セクタ位置情報Ｓ４（Ｓ４＿０〜Ｓ４＿３）が保持され、５ビット目から８ビット目には、エラービット数情報ＢＦ４（ＢＦ４＿０〜ＢＦ４＿３）が保持される。
【０２２３】
図１８は、第１実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンスである。図１８は、第１実施形態における図１１に対応する。
【０２２４】
図１８に示すように、第１実施形態の第１変形例におけるマルチプレーンキャッシュ読出し動作は、マルチプレーン読出し動作及びキャッシュ読出し動作と同様、専用コマンド“７ｘｈ”に代えて特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第１実施形態と相違する。
【０２２５】
コントローラ１は、２回目のデータ読出しを指示するコマンド“３１ｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“１０ｈ”を半導体記憶装置２に送信する。
【０２２６】
コマンド“０Ｆｈ”及びアドレス“１０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ０（１）をコントローラ１に出力する。
【０２２７】
また、コントローラ１は、半導体記憶装置２からの出力データＤＡＴ−Ｐ０（１）の出力が完了した後、コマンド“０Ｆｈ”及びアドレス“３０ｈ”を半導体記憶装置２に送信する。コマンド“０Ｆｈ”及びアドレス“３０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４３を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ１（１）をコントローラ１に出力する。
【０２２８】
１回目の出力に係るステップＳＴ４１〜ＳＴ４４の動作は、２回目の読出しに係るステップＳＴ３１〜ＳＴ４０と並行して実行される。
【０２２９】
また、コントローラ１は、３回目のデータ読出しを指示するコマンド“３１ｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“２０ｈ”を半導体記憶装置２に送信する。
【０２３０】
コマンド“０Ｆｈ”及びアドレス“２０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ０（２）をコントローラ１に出力する。
【０２３１】
また、コントローラ１は、半導体記憶装置２からの出力データＤＡＴ−Ｐ０（２）の出力が完了した後、コマンド“０Ｆｈ”及びアドレス“４０ｈ”を半導体記憶装置２に送信する。コマンド“０Ｆｈ”及びアドレス“４０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４３を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ１（２）をコントローラ１に出力する。
【０２３２】
２回目の出力に係るステップＳＴ４１〜ＳＴ４４の動作は、３回目の読出しに係るステップＳＴ３１〜ＳＴ４０と並行して実行される。
【０２３３】
また、コントローラ１は、データの新たな読出しを行わない旨を指示するコマンド“３Ｆｈ”を半導体記憶装置２に送信した後、信号／ＲＢが“Ｈ”レベルであることを確認した後、コマンド“０Ｆｈ”及びアドレス“１０ｈ”を半導体記憶装置２に送信する。
【０２３４】
コマンド“０Ｆｈ”及びアドレス“１０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ０（３）をコントローラ１に出力する。
【０２３５】
また、コントローラ１は、半導体記憶装置２からの出力データＤＡＴ−Ｐ０（３）の出力が完了した後、コマンド“０Ｆｈ”及びアドレス“３０ｈ”を半導体記憶装置２に送信する。コマンド“０Ｆｈ”及びアドレス“３０ｈ”を受けると、半導体記憶装置２は、図１０において示したステップＳＴ４３を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５の特徴テーブルに保持された誤り訂正結果ＳＴＳ−Ｐ１（３）をコントローラ１に出力する。
【０２３６】
以上で、マルチプレーンキャッシュ読出し動作が終了する。
【０２３７】
１．４．５  本変形例に係る効果
第１実施形態の第１変形例では、ステータスレジスタ１５は、特徴テーブル内に誤り訂正結果ＳＴＳを保持する。そして、半導体記憶装置２は、特徴テーブル内の誤り訂正結果ＳＴＳを出力することにより、第１実施形態と同様の効果を奏することができる。
【０２３８】
具体的には、シーケンサ１６は、特徴テーブル出力コマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”を受けると、当該アドレス“ｘ０ｈ”に対応するセクタの誤り訂正結果ＳＴＳと、当該セクタと同一のページ内の他のセクタの誤り訂正結果ＳＴＳとを連続して出力する。これにより、コントローラ１は、コマンド“０Ｆｈ”を１回発行するたびに、１ページ分の誤り訂正結果ＳＴＳを取得することができる。
【０２３９】
また、マルチプレーン読出し動作では、特徴テーブルには、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１の２つを識別可能に割り当てられる。つまり、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１にはそれぞれ、アドレス“Ａ０ｈ”及び“Ｂ０ｈ”が割当てられる。これにより、マルチプレーン読出し動作において、誤り訂正結果ＳＴＳを出力させる専用のコマンドを用いずに、リフレッシュ動作の要否を判断することができる。
【０２４０】
また、キャッシュ読出し動作では、特徴テーブルには、誤り訂正結果ＳＴＳ−（ｏｄｄ）及びＳＴＳ−（ｅｖｅｎ）の２つを識別可能に割当てられる。つまり、誤り訂正結果ＳＴＳ−（ｏｄｄ）及びＳＴＳ−（ｅｖｅｎ）にはそれぞれ、アドレス“Ｃ０ｈ”及び“Ｄ０ｈ”が割当てられる。これにより、キャッシュ読出し動作において、誤り訂正結果ＳＴＳを出力させる専用のコマンドを用いずに、リフレッシュ動作の要否を判断することができる。
【０２４１】
また、マルチプレーンキャッシュ読出し動作では、特徴テーブルには、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）、ＳＴＳ−Ｐ０（ｅｖｅｎ）、ＳＴＳ−Ｐ１（ｏｄｄ）、及びＳＴＳ−Ｐ１（ｅｖｅｎ）の４つを識別可能に割当てられる。つまり、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）、ＳＴＳ−Ｐ０（ｅｖｅｎ）、ＳＴＳ−Ｐ１（ｏｄｄ）、及びＳＴＳ−Ｐ１（ｅｖｅｎ）にはそれぞれ、アドレス“１０ｈ”、“２０ｈ”、“３０ｈ”、及び“４０ｈ”が割当てられる。これにより、マルチプレーンキャッシュ読出し動作において、誤り訂正結果ＳＴＳを出力させる専用のコマンドを用いずに、リフレッシュ動作の要否を判断することができる。
【０２４２】
１．５  第１実施形態の第２変形例
第１実施形態の第１変形例では、コントローラ１から１つのアドレス“ｘ０ｈ”が発行されると、自動的に４サイクルにわたって１ページ分の誤り訂正結果ＳＴＳが出力される場合について説明した。しかしながら、上述の例に限らず、１つのアドレス“ｘ０ｈ”に対して１セクタ分の誤り訂正結果ＳＴＳが出力されてもよい。
【０２４３】
図１９は、第１実施形態の第２変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンスである。図１９は、図１２の部分に対応する。
【０２４４】
図１９に示すように、コントローラ１は、コマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”を発行する。コマンド“０Ｆｈ”がコマンドレジスタ１４に格納されると、シーケンサ１６は、アドレス“ｘ０ｈ”に対応する特徴テーブル内の情報を特定する。そして、当該特定された情報をステータスレジスタ１５から入出力制御回路１１に転送する。
【０２４５】
なお、シーケンサ１６は、或るページ内の或るセクタ（例えばセクタ０）の誤り訂正結果ＳＴＳに対応するアドレス“ｘ０ｈ”を受けると、当該或るセクタの誤り訂正結果ＳＴＳを含むデータＳｅｃｔ０のみを出力させる。
【０２４６】
つまり、コマンド“０Ｆｈ”及び１つのアドレス“ｘ０ｈ”が発行されると、半導体記憶装置２は、例えば１サイクルにわたって、１セクタ分のデータに対応する誤り訂正結果ＳＴＳのみを個別に出力する。
【０２４７】
上述のように誤り訂正結果ＳＴＳが出力される場合、アドレス“ｘ０ｈ”は、セクタ毎に割当てられる。図２０は、第１実施形態の第２変形例に係る半導体記憶装置の読出し動作に用いられる特徴テーブルである。以下では、図２０に示される特徴テーブルが、マルチプレーンキャッシュ読出し動作に用いられる場合について説明する。
【０２４８】
図２０に示すように、第１実施形態の第２変形例では、アドレス“ｘ０ｈ”は、アドレス“Ａ０ｈ”、“Ｂ０ｈ”、“Ｃ０ｈ”、及び“Ｄ０ｈ”に加えて、“Ａ１ｈ”、“Ａ２ｈ”、“Ａ３ｈ”、“Ｂ１ｈ”、“Ｂ２ｈ”、“Ｂ３ｈ”、“Ｃ１ｈ”、“Ｃ２ｈ”、“Ｃ３ｈ”、“Ｄ１ｈ”、“Ｄ２ｈ”、及び“Ｄ３ｈ”を更に含む。
【０２４９】
１セクタ分の誤り訂正結果ＳＴＳは、例えば、１ビット目から３ビット目には、任意のデータを保持可能であり、４ビット目には、プレーン情報が保持され、５ビット目から８ビット目には、エラービット数情報が保持される。プレーン情報は、例えば、当該誤り訂正結果ＳＴＳに対応する読出しデータがプレーンＰＢ０に対応する場合、“０”が入力され、プレーンＰＢ１に対応する場合、“１”が入力される。
【０２５０】
より具体的には、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）のセクタ０〜セクタ３に対応する部分はそれぞれ、アドレス“Ａ０ｈ”、“Ａ１ｈ”、“Ａ２ｈ”、及び“Ａ３ｈ”に対応付けられる。アドレス“Ａ０ｈ”〜“Ａ３ｈ”に対応付けられた誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）の５ビット目から８ビット目にはそれぞれ、セクタ０〜セクタ３のエラービット数情報ＢＦＡ０（ＢＦＡ０＿０〜ＢＦＡ０＿３）〜ＢＦＡ３（ＢＦＡ３＿０〜ＢＦＡ３＿３）が保持される。
【０２５１】
誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）のセクタ０〜セクタ３に対応する部分はそれぞれ、アドレス“Ｂ０ｈ”、“Ｂ１ｈ”、“Ｂ２ｈ”、及び“Ｂ３ｈ”に対応付けられる。アドレス“Ｂ０ｈ”〜“Ｂ３ｈ”に対応付けられた誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）の５ビット目から８ビット目にはそれぞれ、セクタ０〜セクタ３のエラービット数情報ＢＦＢ０（ＢＦＢ０＿０〜ＢＦＢ０＿３）〜ＢＦＢ３（ＢＦＢ３＿０〜ＢＦＢ３＿３）が保持される。
【０２５２】
誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）のセクタ０〜セクタ３に対応する部分はそれぞれ、アドレス“Ｃ０ｈ”、“Ｃ１ｈ”、“Ｃ２ｈ”、及び“Ｃ３ｈ”に対応付けられる。アドレス“Ｃ０ｈ”〜“Ｃ３ｈ”に対応付けられた誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）の５ビット目から８ビット目にはそれぞれ、セクタ０〜セクタ３のエラービット数情報ＢＦＣ０（ＢＦＣ０＿０〜ＢＦＣ０＿３）〜ＢＦＣ３（ＢＦＣ３＿０〜ＢＦＣ３＿３）が保持される。
【０２５３】
誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）のセクタ０〜セクタ３に対応する部分はそれぞれ、アドレス“Ｄ０ｈ”、“Ｄ１ｈ”、“Ｄ２ｈ”、及び“Ｄ３ｈ”に対応付けられる。アドレス“Ｄ０ｈ”〜“Ｄ３ｈ”に対応付けられた誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）の５ビット目から８ビット目にはそれぞれ、セクタ０〜セクタ３のエラービット数情報ＢＦＤ０（ＢＦＤ０＿０〜ＢＦＤ０＿３）〜ＢＦＤ３（ＢＦＤ３＿０〜ＢＦＤ３＿３）が保持される。
【０２５４】
なお、上述の例では、図２０に示した特徴テーブルをマルチプレーンキャッシュ読出し動作に用いる場合について説明したが、これに限らず、図２０に示した特徴テーブルは、マルチプレーン読出し動作及びキャッシュ読出し動作についても用いることができる。
【０２５５】
例えば、図２０に示した特徴テーブルがマルチプレーン読出し動作に用いられる場合、誤り訂正結果ＳＴＳ−Ｐ０は、アドレス“Ａ０ｈ”〜“Ａ３ｈ”に対応付けられ、誤り訂正結果ＳＴＳ−Ｐ１は、アドレス“Ｂ０ｈ”〜“Ｂ３ｈ”に対応付けられてもよい。
【０２５６】
また、例えば、図２０に示した特徴テーブルがプレーンＰＢ０におけるキャッシュ読出し動作に用いられる場合、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）は、アドレス“Ａ０ｈ”〜“Ａ３ｈ”に対応付けられ、誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）は、アドレス“Ｃ０ｈ”〜“Ｃ３ｈ”に対応付けられてもよい。同様に、例えば、図２０に示した特徴テーブルがプレーンＰＢ１におけるキャッシュ読出し動作に用いられる場合、誤り訂正結果ＳＴＳ−Ｐ１（ｏｄｄ）は、アドレス“Ｂ０ｈ”〜“Ｂ３ｈ”に対応付けられ、誤り訂正結果ＳＴＳ−Ｐ１（ｅｖｅｎ）は、アドレス“Ｄ０ｈ”〜“Ｄ３ｈ”に対応付けられてもよい。
【０２５７】
以上のようにアドレスを割当てることにより、マルチプレーン読出し動作、キャッシュ読出し動作、及びマルチプレーンキャッシュ読出し動作の際に、全ての読出しデータ内の全てのセクタを特定することができる。これにより、コントローラ１は、コマンド“０Ｆｈ”を１回発行するたびに、１セクタ分の誤り訂正結果ＳＴＳを取得することができる。
【０２５８】
２．  第２実施形態
第１実施形態では、ＮＡＮＤインタフェースに基づいてコントローラ又はホスト機器と接続される半導体記憶装置について説明した。第２実施形態では、ＳＰＩ（Serial Peripheral Interface）に準拠したシリアルインタフェースに基づいてコントローラ又はホスト機器と接続される半導体記憶装置について説明する。以下の説明では、第１実施形態と同一の部分については説明を省略し、異なる部分についてのみ説明する。
【０２５９】
２．１  構成について
第２実施形態に係る半導体記憶装置の構成について説明する。
【０２６０】
２．１．１  半導体記憶装置の構成について
図２１は、第２実施形態に係る半導体記憶装置の構成を説明するためのブロック図である。図２１は、図１に対応する。図２１に示すように、半導体記憶装置３は、外部のコントローラ又はホスト機器１（以下、第２実施形態では、単にホスト機器１と言う。）と接続される。半導体記憶装置３は、図１における入出力制御回路１１及びロジック制御回路１２に代えて、インタフェース回路１９を備えている。
【０２６１】
インタフェース回路１９は、ホスト機器１から信号ＳＣＫ、ＳＩ、／ＣＳ、／ＨＯＬＤ、及び／ＷＰを受信し、ホスト機器１へ信号ＳＯを送信する。信号ＳＣＫは、シリアルクロック信号である。信号ＳＩ及びＳＯはそれぞれ、入力用及び出力用のシリアルデータである。信号／ＣＳは、半導体記憶装置３を活性化させるためのチップセレクト信号（言い換えれば、半導体記憶装置３にアクセスする際に活性化される信号）である。信号／ＣＳは、例えば、ホスト機器１が半導体記憶装置３にコマンドを入力するタイミングでアサートされる（“Ｌ”レベルにされる）。信号／ＨＯＬＤは、ホスト機器１と半導体記憶装置３との間の通信を一時的に停止する際にアサートされる（“Ｌ”レベルにされる）。信号／ＷＰは、半導体記憶装置３の一部設定の変更を禁止する際にアサートされる（“Ｌ”レベルにされる）。
【０２６２】
２．２  動作について
次に、第２実施形態に係る半導体記憶装置の動作について説明する。
【０２６３】
２．２．１  誤り訂正情報出力動作について
図２２は、第２実施形態に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンスである。図２２は、図５に対応する。
【０２６４】
図２２に示すように、ホスト機器１は、信号／ＣＳをアサートすると共に、誤り訂正結果出力コマンド“７ｘｈ”を信号ＳＩとして発行し、更に信号ＳＣＫを発行する。
【０２６５】
インタフェース回路１９は、信号／ＣＳがアサートされて最初の信号ＳＣＫを受信した際の信号ＳＩをコマンドとして認識する。このコマンドは、例えば８クロックサイクルにわたって入力される８ビット信号である。コマンド“７ｘｈ”を受けると、半導体記憶装置３は、誤り訂正結果ＳＴＳの出力シーケンスを開始する。
【０２６６】
半導体記憶装置３は、例えば、８クロックサイクルにわたる１セクタ分の誤り訂正結果ＳＴＳを、セクタ０〜セクタ３まで順次ホスト機器１に出力する。そして、１ページ分の誤り訂正結果ＳＴＳが半導体記憶装置３から出力された後、ホスト機器１は信号／ＣＳをネゲートする。
【０２６７】
以上のように動作することにより、半導体記憶装置３は、第１実施形態と同様の誤り訂正結果ＳＴＳを、ホスト機器１に対して出力することができる。
【０２６８】
２．２．２  マルチプレーン読出し動作について
次に、マルチプレーン読出し動作について説明する。
【０２６９】
図２３は、第２実施形態に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンスである。図２３は、図７に対応し、図６に示されたマルチプレーン読出し動作を実現するためのコマンドシーケンスの一例が示される。
【０２７０】
図２３に示すように、第２実施形態に係るマルチプレーン読出し動作は、メモリセルアレイ２１からの読出し動作に係る部分と、ホスト機器１への出力動作に係る部分とは、第１実施形態と異なる。一方、誤り訂正結果出力動作に係る部分は、第１実施形態と同様である。
【０２７１】
具体的には、ホスト機器１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１”、及びコマンド“６１ｈ”をこの順に半導体記憶装置３に送信する。コマンド“６１ｈ”は、例えば、メモリセルアレイ２１から、直前に送信されたアドレスに対応するデータを読み出す旨を指示するコマンドである。つまり、コマンド“６１ｈ”は、メモリセルアレイ２１−０及び２１−１から並行してデータを読み出す旨を半導体記憶装置３に指示するコマンドである。また、コマンド“６１ｈ”は、読み出されたデータのホスト機器１への出力を開始せずに保留し、後続の指示があることを示す。
【０２７２】
半導体記憶装置３は、コマンド“６１ｈ”を受けると、期間ｔＲの間、例えば、特徴テーブル内のＯＩＰ（Operation in Progress）を“１”に設定する。特徴テーブル内のＯＩＰは、半導体記憶装置３がレディ状態であるかビジー状態であるかを示すフラグであり、“０”がレディ状態で、“１”がビジー状態を示す。ホスト機器１は、特徴テーブル内のＯＩＰを取得するためのコマンドを半導体記憶装置３に発行してＯＩＰを取得し、半導体記憶装置３の状態を把握してもよい。
【０２７３】
期間ｔＲの間の半導体記憶装置３の動作は、第１実施形態と同様であるため、説明を省略する。メモリセルアレイ２１−０及び２１−１からの並行したデータ読出しが終了した後、半導体記憶装置３は、ＯＩＰを“０”に設定し、レディ状態をホスト機器１に通知する。
【０２７４】
続いて、ホスト機器１は、コマンド“７Ａｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ａｈ”を受けると、図６において示したステップＳＴ９を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０をホスト機器１に出力する。
【０２７５】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ０に基づき、プレーンＰＢ０から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“０３ｈ”を半導体記憶装置３に送信する。コマンド“０３ｈ”は、アドレス入力受付コマンドに相当し、半導体記憶装置３からホスト機器１にデータを出力するための動作を命令するコマンドである。続いて、ホスト機器１は、アドレス“ＡＤＤ−Ｐ０−ＣＡ”を半導体記憶装置３に送信する。これにより、半導体記憶装置３は、プレーンＰＢ０から読み出されたデータの出力が指示されたことを認識する。
【０２７６】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ０−ＣＡ”を受けると、図６において示したステップＳＴ１０を実行する。すなわち、シーケンサ１６は、レジスタＡ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ０としてホスト機器１に出力する。
【０２７７】
続いて、ホスト機器１は、コマンド“７Ｂｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｂｈ”を受けると、図６において示したステップＳＴ１１を実行する。すなわち、シーケンサ１６は、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１をホスト機器１に出力する。
【０２７８】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ１に基づき、プレーンＰＢ１から読み出されたデータが正常に誤り訂正されていることを確認した後、コマンド“０３ｈ”及びアドレス“ＡＤＤ−Ｐ１−ＣＡ”を半導体記憶装置３に送信する。半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ１−ＣＡ”を受けると、図６において示したステップＳＴ１２を実行する。すなわち、シーケンサ１６は、レジスタＢ２に保持された誤り訂正後データを出力データＤＡＴ−Ｐ１としてホスト機器１に出力する。
【０２７９】
以上のように動作することにより、半導体記憶装置３は、シリアルインタフェースに基づくマルチプレーン読出し動作において、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１を、個別にホスト機器１に出力することができる。
【０２８０】
２．２．３  キャッシュ読出し動作について
次に、キャッシュ読出し動作について説明する。
【０２８１】
図２４は、第２実施形態に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンスである。図２４は、図９に対応し、図８に示されたキャッシュ読出し動作を実現するためのコマンドシーケンスの一例が示される。
【０２８２】
図２４に示すように、第２実施形態に係るキャッシュ読出し動作は、メモリセルアレイ２１からの読出し動作に係る部分と、ホスト機器１への出力動作に係る部分とは、第１実施形態と異なる。一方、誤り訂正結果出力動作に係る部分は、第１実施形態と同様である。
【０２８３】
図２４に示すように、ホスト機器１は、コマンド“１３ｈ”及びアドレス“ＡＤＤ−（１）”を半導体記憶装置３に送信する。コマンド“１３ｈ”は、例えば、アドレス入力受付コマンドに相当し、半導体記憶装置３からホスト機器１にデータを出力するための動作を命令するコマンドである。
【０２８４】
半導体記憶装置３は、アドレス“ＡＤＤ−（１）”を受けると、期間ｔＲの間、特徴テーブル内のＯＩＰを“１”に設定して、ビジー状態をホスト機器１に通知する。期間ｔＲの間の半導体記憶装置３の動作は、第１実施形態と同様であるため、説明を省略する。メモリセルアレイ２１−０からのデータ読出しが終了した後、半導体記憶装置３は、ＯＩＰを“０”に設定し、レディ状態をホスト機器１に通知する。
【０２８５】
ここで、半導体記憶装置３は、図８において示したステップＳＴ２１の直前の状態と一致する。
【０２８６】
続いて、ホスト機器１は、コマンド“３０ｈ”及びアドレス“ＡＤＤ−（２）”を半導体記憶装置３に送信する。コマンド“３０ｈ”は、例えば、メモリセルアレイ２１から、直後に送信されたアドレスに対応するデータを読み出す旨を指示するコマンドである。また、コマンド“３０ｈ”は、次に読み出されるデータを一時的に保持する旨を指示するコマンドである。なお、２回目に読み出されるデータは、１回目に読み出されたデータを上書きすることなく保持される。
【０２８７】
半導体記憶装置３は、コマンド“３０ｈ”及びアドレス“ＡＤＤ−（２）”を受けると、図８において示したステップＳＴ２１〜ＳＴ２５を実行する。すなわち、シーケンサ１６は、ステップＳＴ２１において、レジスタＣ１及びＣ２に保持されたデータをそれぞれレジスタＡ１及びＡ２に転送する間、ＯＩＰを“１”に設定して、ビジー状態をホスト機器１に通知する。半導体記憶装置３は、レジスタ間のデータ転送が完了すると、ＯＩＰを“０”に設定して、レディ状態をホスト機器１に通知する。ステップＳＴ２１〜ＳＴ２５に係るその他の動作の詳細は、第１実施形態と同様であるため、説明を省略する。
【０２８８】
ステップＳＴ２１〜ＳＴ２５と並行して、ホスト機器１及び半導体記憶装置３は、図８において示したステップＳＴ２６及びＳＴ２７を実行する。
【０２８９】
具体的には、ホスト機器１は、コマンド“７Ｃｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｃｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（１）をホスト機器１に出力する。
【０２９０】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−（１）−ＣＡ”を半導体記憶装置３に送信する。
【０２９１】
半導体記憶装置３は、アドレス“ＡＤＤ−（１）−ＣＡ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（１）としてホスト機器１に出力する。
【０２９２】
ここで、半導体記憶装置３は、再び図８において示したステップＳＴ２１の直前の状態と一致する。
【０２９３】
続いて、ホスト機器１は、コマンド“３０ｈ”及びアドレス“ＡＤＤ−（３）”を半導体記憶装置３に送信する。
【０２９４】
半導体記憶装置３は、コマンド“３０ｈ”及びアドレス“ＡＤＤ−（３）”を受けると、図８において示したステップＳＴ２１〜ＳＴ２５を実行する。
【０２９５】
ステップＳＴ２１〜ＳＴ２５と並行して、ホスト機器１及び半導体記憶装置３は、図８において示したステップＳＴ２６及びＳＴ２７を実行する。
【０２９６】
具体的には、ホスト機器１は、コマンド“７Ｄｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｄｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（２）をホスト機器１に出力する。
【０２９７】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”及びアドレス“ＡＤＤ−（２）−ＣＡ”を半導体記憶装置３に送信する。
【０２９８】
半導体記憶装置３は、アドレス“ＡＤＤ−（２）−ＣＡ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（２）としてホスト機器１に出力する。
【０２９９】
続いて、ホスト機器１は、コマンド“３Ｆｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“３Ｆｈ”を受けると、レジスタＣ１及びＣ２に保持されたデータをそれぞれレジスタＡ１及びＡ２に転送し、データの出力に備える。
【０３００】
ホスト機器１は、コマンド“７Ｃｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｃｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−（３）をホスト機器１に出力する。
【０３０１】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”及びアドレス“ＡＤＤ−（３）−ＣＡ”を半導体記憶装置３に送信する。
【０３０２】
半導体記憶装置３は、アドレス“ＡＤＤ−（３）−ＣＡ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−（３）としてホスト機器１に出力する。
【０３０３】
以上のように動作することにより、半導体記憶装置３は、シリアルインタフェースに基づくキャッシュ読出し動作においても、各データに対応する誤り訂正結果ＳＴＳを個別にホスト機器１に出力できる。
【０３０４】
２．２．４  マルチプレーンキャッシュ読出し動作について
次に、マルチプレーンキャッシュ読出し動作について説明する。
【０３０５】
図２５は、第２実施形態に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンスである。図２５は、図１１に対応し、図１０に示されたマルチプレーンキャッシュ読出し動作を実現するためのコマンドシーケンスの一例が示される。
【０３０６】
図２５に示すように、第２実施形態に係るマルチプレーンキャッシュ読出し動作は、メモリセルアレイ２１からの読出し動作に係る部分と、ホスト機器１への出力動作に係る部分とは、第１実施形態と異なる。一方、誤り訂正結果出力動作に係る部分は、第１実施形態と同様である。
【０３０７】
図２５に示すように、ホスト機器１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（１）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（１）”、及びコマンド“６１ｈ”をこの順に半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“６１ｈ”を受けると、期間ｔＲの間、例えば、特徴テーブル内のＯＩＰを“１”に設定し、ビジー状態をホスト機器１に通知する。
【０３０８】
期間ｔＲの間の半導体記憶装置３の動作は、第１実施形態と同様であるため、説明を省略する。メモリセルアレイ２１−０及び２１−１からの並行したデータ読出しが終了した後、半導体記憶装置３は、ＯＩＰを“０”に設定し、レディ状態をホスト機器１に通知する。
【０３０９】
ここで、半導体記憶装置３は、図１０において示したステップＳＴ３１の直前の状態と一致する。
【０３１０】
続いて、ホスト機器１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（２）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（２）”、及びコマンド“６２ｈ”をこの順に半導体記憶装置３に送信する。コマンド“６２ｈ”は、メモリセルアレイ２１から、直後に送信されたアドレスに対応するデータを読み出す旨を指示するコマンドである。つまり、コマンド“６２ｈ”は、メモリセルアレイ２１−０及び２１−１から並行してデータを読み出す旨を半導体記憶装置３に指示する。また、コマンド“６２ｈ”は、次に読み出されるデータを一時的に保持する旨を指示するコマンドである。なお、２回目に読み出されるデータは、１回目に読み出されたデータを上書きすることなく保持される。
【０３１１】
半導体記憶装置３は、コマンド“６２ｈ”を受けると、図１０において示したステップＳＴ３１〜４０を実行する。すなわち、半導体記憶装置３は、コマンド“６２ｈ”を受けると、レジスタＣ１及びＣ２、並びにレジスタＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにレジスタＢ１及びＢ２に転送し、データの出力に備える。
【０３１２】
ステップＳＴ３１〜ＳＴ４０と並行して、ホスト機器１及び半導体記憶装置３は、図１０において示したステップＳＴ４１〜ＳＴ４４を実行する。
【０３１３】
具体的には、ホスト機器１は、コマンド“７Ｅｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（１）をホスト機器１に出力する。
【０３１４】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ０（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ０（１）−ＣＡ”を半導体記憶装置３に送信する。
【０３１５】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ０（１）−ＣＡ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（１）としてホスト機器１に出力する。
【０３１６】
また、ホスト機器１は、再度コマンド“７Ｅｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、２回目のコマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、１回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（１）をホスト機器１に出力する。
【０３１７】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ１（１）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ１（１）−ＣＡ”を半導体記憶装置３に送信する。
【０３１８】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ１（１）−ＣＡ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（１）としてホスト機器１に出力する。
【０３１９】
ここで、半導体記憶装置３は、再び、図１０において示したステップＳＴ３１の直前の状態と一致する。
【０３２０】
続いて、ホスト機器１は、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ０（３）”、コマンド“６０ｈ”、アドレス“ＡＤＤ−Ｐ１（３）”、及びコマンド“６２ｈ”をこの順に半導体記憶装置３に送信する。
【０３２１】
半導体記憶装置３は、コマンド“６２ｈ”を受けると、図１０において示したステップＳＴ３１〜４０を実行する。すなわち、半導体記憶装置３は、コマンド“６２ｈ”を受けると、レジスタＣ１及びＣ２、並びにレジスタＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにレジスタＢ１及びＢ２に転送し、データの出力に備える。
【０３２２】
ステップＳＴ３１〜４０と並行して、ホスト機器１及び半導体記憶装置３は、図１０において示したステップＳＴ４１〜ＳＴ４４を実行する。
【０３２３】
具体的には、ホスト機器１は、コマンド“７Ｆｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｆｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（２）をホスト機器１に出力する。
【０３２４】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ０（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ０（２）−ＣＡ”を半導体記憶装置３に送信する。
【０３２５】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ０（２）−ＣＡ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（２）としてホスト機器１に出力する。
【０３２６】
また、ホスト機器１は、再度コマンド“７Ｆｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、２回目のコマンド“７Ｆｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、２回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（２）をホスト機器１に出力する。
【０３２７】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ１（２）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ１（２）−ＣＡ”を半導体記憶装置３に送信する。
【０３２８】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ１（２）−ＣＡ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（２）としてホスト機器１に出力する。
【０３２９】
続いて、ホスト機器１は、コマンド“６Ｆｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“６Ｆｈ”を受けると、レジスタＣ１及びＣ２、並びにレジスタＤ１及びＤ２に保持されたデータをそれぞれレジスタＡ１及びＡ２、並びにレジスタＢ１及びＢ２に転送し、データの出力に備える。
【０３３０】
ホスト機器１は、コマンド“７Ｅｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、コマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ０（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ０（３）をホスト機器１に出力する。
【０３３１】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ０（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ０（３）−ＣＡ”を半導体記憶装置３に送信する。
【０３３２】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ０（３）−ＣＡ”を受けると、レジスタＡ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ０（３）としてホスト機器１に出力する。
【０３３３】
また、ホスト機器１は、再度コマンド“７Ｅｈ”を半導体記憶装置３に送信する。半導体記憶装置３は、２回目のコマンド“７Ｅｈ”を受けると、ステータスレジスタ１５に保持された誤り訂正結果ＳＴＳ−Ｐ１（ｎ）のうち、３回目に読み出されたデータに対応する誤り訂正結果ＳＴＳ−Ｐ１（３）をホスト機器１に出力する。
【０３３４】
ホスト機器１は、当該誤り訂正結果ＳＴＳ−Ｐ１（３）に基づき、読み出されたデータが正常に誤り訂正されていることを確認する。そして、ホスト機器１は、コマンド“０３ｈ”、及びアドレス“ＡＤＤ−Ｐ１（３）−ＣＡ”を半導体記憶装置３に送信する。
【０３３５】
半導体記憶装置３は、アドレス“ＡＤＤ−Ｐ１（３）−ＣＡ”を受けると、レジスタＢ２に保持された誤り訂正後データを読出しデータＤＡＴ−Ｐ１（３）としてホスト機器１に出力する。
【０３３６】
以上のように動作することにより、半導体記憶装置３は、シリアルインタフェースに基づくマルチプレーンキャッシュ読出し動作においても、各データに対応する誤り訂正結果ＳＴＳを個別にホスト機器１に出力できる。
【０３３７】
２．３  本実施形態に係る効果
第２実施形態に係る半導体記憶装置は、信号ＳＣＫ、信号／ＣＳ、ＳＩ、／ＨＯＬＤ、及び／ＷＰを受け、信号ＳＯを出力する。シーケンサ１６は、アサートされた信号／ＣＳを受けた直後に受けた信号ＳＩをコマンドとして認識する。これにより、半導体記憶装置３は、シリアルインタフェースによってホスト機器１と接続される場合においても、第１実施形態と同様に、誤り訂正結果ＳＴＳを出力することができる。
【０３３８】
また、シーケンサ１６は、ホスト機器１からコマンド“７Ａｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０を、コマンド“７Ｂｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ１をステータスレジスタ１５から出力する。これにより、ホスト機器１は、マルチプレーン読出し動作によって異なるプレーンＰＢ０及びＰＢ１から並行して読み出されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、ホスト機器１は、マルチプレーン読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
【０３３９】
また、シーケンサ１６は、ホスト機器１からコマンド“７Ｃｈ”を受けると誤り訂正結果ＳＴＳ−（ｏｄｄ）を、コマンド“７Ｄｈ”を受けると誤り訂正結果ＳＴＳ−（ｅｖｅｎ）をステータスレジスタ１５から出力する。これにより、ホスト機器１は、キャッシュ読出し動作によってメモリセルアレイ２１からの読出しと、ホスト機器１への出力とが並行して実行されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、ホスト機器１は、キャッシュ読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
【０３４０】
また、シーケンサ１６は、ホスト機器１からコマンド“７Ｅｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）及びＳＴＳ−Ｐ１（ｏｄｄ）を、コマンド“７Ｆｈ”を受けると誤り訂正結果ＳＴＳ−Ｐ０（ｅｖｅｎ）及びＳＴＳ−Ｐ１（ｅｖｅｎ）をステータスレジスタ１５から出力する。これにより、ホスト機器１は、マルチプレーンキャッシュ読出し動作によってメモリセルアレイ２１からの読出しと、ホスト機器１への出力とが並行して実行されたデータの各々について、どのセクタ位置でどの程度エラービット数が発生したかを把握することができる。このため、ホスト機器１は、マルチプレーンキャッシュ読出し動作の際にも、リフレッシュ動作の要否を判断することができる。
したがって、第１実施形態と同様の効果を奏することができる。
【０３４１】
２．４  第２実施形態の第１変形例
なお、第２実施形態では、誤り訂正結果ＳＴＳをホスト機器１に出力させるための専用のコマンド“７ｘｈ”を用いる場合について説明したが、これに限られない。誤り訂正結果ＳＴＳは、例えば、ステータスレジスタ１５内に別途保持される特徴テーブルから読み出されてもよい。すなわち、ホスト機器１は、特徴テーブルの読出しコマンド“０Ｆｈ”を用いて誤り訂正結果ＳＴＳを出力させてもよい。
【０３４２】
以下の説明では、第２実施形態と同一の部分については説明を省略し、異なる部分についてのみ説明する。
【０３４３】
２．４．１  誤り訂正情報読出し動作について
まず、誤り訂正結果の出力動作について説明する。図２６は、第２実施形態の第１変形例に係る半導体記憶装置の誤り訂正結果の出力動作を説明するためのコマンドシーケンスである。図２６は、図２２に対応する。
【０３４４】
図２６に示すように、ホスト機器１は、信号／ＣＳをアサートすると共に、８クロックサイクルにわたってコマンド“０Ｆｈ”を信号ＳＩとして発行し、更に信号ＳＣＫを発行する。また、ホスト機器１は、例えば８クロックサイクルにわたってアドレス“ｘ０ｈ”を信号ＳＩとして半導体記憶装置３に送信する。
【０３４５】
コマンド“０Ｆｈ”がコマンドレジスタ１４に格納されると、シーケンサ１６は、アドレス“ｘ０ｈ”に対応する特徴テーブル内の情報を特定する。そして、当該特定された情報をステータスレジスタ１５から入出力制御回路１１に転送する。なお、シーケンサ１６は、アドレス“ｘ０ｈ”が或るページの或るセクタの誤り訂正結果ＳＴＳに対応する場合、当該或るページの他のセクタの誤り訂正結果ＳＴＳについても順次出力させる。
【０３４６】
つまり、コマンド“０Ｆｈ”及び１つのアドレス“ｘ０ｈ”が発行されると、半導体記憶装置３は、例えば８クロックサイクルにわたる１セクタ分の誤り訂正結果ＳＴＳの出力をセクタ０〜セクタ３について順次ホスト機器１に出力する。そして、１ページ分の誤り訂正結果ＳＴＳが半導体記憶装置３から出力された後、ホスト機器１は信号／ＣＳをネゲートする。
【０３４７】
なお、第２実施形態の第１変形例に適用される特徴テーブル内の誤り訂正結果ＳＴＳ、及び当該誤り訂正結果ＳＴＳに割当てられるアドレス“ｘ０ｈ”は、第１実施形態の第１変形例と同様なものが適用可能であるため、その説明を省略する。
【０３４８】
以上のように動作することにより、半導体記憶装置３は、第２実施形態と同様の誤り訂正結果ＳＴＳを、ホスト機器１に対して出力することができる。
【０３４９】
２．４．２  マルチプレーン読出し動作について
次に、マルチプレーン読出し動作について説明する。
【０３５０】
図２７は、第２実施形態の第１変形例に係る半導体記憶装置のマルチプレーン読出し動作を説明するためのコマンドシーケンスである。図２７は、第２実施形態における図２３に対応する。
【０３５１】
図２７に示すように、第２実施形態の第１変形例におけるマルチプレーン読出し動作は、専用コマンド“７ｘｈ”に代えて特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第２実施形態と相違する。
【０３５２】
また、第２実施形態の第１変形例と第２実施形態との相違点に係る説明は、第１実施形態の第１変形例と第１実施形態との相違点に係る説明と同一である。
【０３５３】
以上のように動作することにより、シリアルインタフェースに基づくマルチプレーン読出し動作において、特徴テーブルに保持された誤り訂正結果ＳＴＳをホスト機器１に出力できる。
【０３５４】
２．４．３  キャッシュ読出し動作について
次に、キャッシュ読出し動作について説明する。
【０３５５】
図２８は、第２実施形態の第１変形例に係る半導体記憶装置のキャッシュ読出し動作を説明するためのコマンドシーケンスである。図２８は、第２実施形態における図２４に対応する。
【０３５６】
図２８に示すように、第２実施形態の第１変形例におけるキャッシュ読出し動作は、専用コマンド“７ｘｈ”に代えて特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第２実施形態と相違する。
【０３５７】
また、第２実施形態の第１変形例と第２実施形態との相違点に係る説明は、第１実施形態の第１変形例と第１実施形態との相違点に係る説明と同一である。
【０３５８】
以上のように動作することにより、シリアルインタフェースに基づくキャッシュ読出し動作において、特徴テーブルに保持された誤り訂正結果ＳＴＳをホスト機器１に出力できる。
【０３５９】
２．４．４  マルチプレーンキャッシュ読出し動作について
次に、マルチプレーンキャッシュ読出し動作について説明する。
【０３６０】
図２９は、第２実施形態の第１変形例に係る半導体記憶装置のマルチプレーンキャッシュ読出し動作を説明するためのコマンドシーケンスである。図２９は、第２実施形態における図２５に対応する。
【０３６１】
図２９に示すように、第２実施形態の第１変形例におけるマルチプレーンキャッシュ読出し動作は、専用コマンド“７ｘｈ”に代えて特徴フィーチャ読出しコマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”が用いられる点についてのみ、第２実施形態と相違する。
【０３６２】
また、第２実施形態の第１変形例と第２実施形態との相違点に係る説明は、第１実施形態の第１変形例と第１実施形態との相違点に係る説明と同一である。
【０３６３】
以上のように動作することにより、シリアルインタフェースに基づくマルチプレーンキャッシュ読出し動作において、特徴テーブルに保持された誤り訂正結果ＳＴＳをホスト機器１に出力できる。
【０３６４】
２．４．５  本変形例に係る効果
第２実施形態の第１変形例では、ステータスレジスタ１５は、特徴テーブル内に誤り訂正結果ＳＴＳを保持する。そして、半導体記憶装置３は、特徴テーブル内の誤り訂正結果ＳＴＳを出力することにより、第２実施形態と同様の効果を奏することができる。
【０３６５】
具体的には、シーケンサ１６は、特徴テーブル出力コマンド“０Ｆｈ”及びアドレス“ｘ０ｈ”を受けると、当該アドレス“ｘ０ｈ”に対応するセクタを含むページの誤り訂正結果ＳＴＳを連続して出力する。これにより、ホスト機器１は、コマンド“０Ｆｈ”を１回発行するたびに、１ページ分の誤り訂正結果ＳＴＳを取得することができる。
【０３６６】
また、アドレス“ｘ０ｈ”は、第１実施形態の第１変形例と同様に割り当てられる。すなわち、マルチプレーン読出し動作では、誤り訂正結果ＳＴＳ−Ｐ０及びＳＴＳ−Ｐ１にはそれぞれ、アドレス“Ａ０ｈ”及び“Ｂ０ｈ”が割当てられる。キャッシュ読出し動作では、誤り訂正結果ＳＴＳ−（ｏｄｄ）及びＳＴＳ−（ｅｖｅｎ）にはそれぞれ、アドレス“Ｃ０ｈ”及び“Ｄ０ｈ”が割当てられる。マルチプレーンキャッシュ読出し動作では、誤り訂正結果ＳＴＳ−Ｐ０（ｏｄｄ）、ＳＴＳ−Ｐ０（ｅｖｅｎ）、ＳＴＳ−Ｐ１（ｏｄｄ）、及びＳＴＳ−Ｐ１（ｅｖｅｎ）にはそれぞれ、アドレス“１０ｈ”、“２０ｈ”、“３０ｈ”、及び“４０ｈ”が割当てられる。これにより、マルチプレーン読出し動作、キャッシュ読出し動作、及びマルチプレーンキャッシュ読出し動作の各々において、誤り訂正結果ＳＴＳを出力させる専用のコマンドを用いずに、リフレッシュ動作の要否を判断することができる。
【０３６７】
２．５  第１実施形態の第２変形例
第２実施形態の第１変形例では、ホスト機器１から１つのアドレス“ｘ０ｈ”が発行されると、自動的に４サイクルにわたって１ページ分の誤り訂正結果ＳＴＳが出力される場合について説明した。しかしながら、上述の例に限らず、１つのアドレス“ｘ０ｈ”に対して１セクタ分の誤り訂正結果ＳＴＳが出力されてもよい。
【０３６８】
図３０は、第２実施形態の第２変形例に係る半導体記憶装置の誤り訂正結果出力動作を説明するためのコマンドシーケンスである。図３０は、図２６の部分に対応する。
【０３６９】
図３０に示すように、ホスト機器１は、信号／ＣＳをアサートすると共に、例えば８クロックサイクルにわたってコマンド“０Ｆｈ”を信号ＳＩとして発行し、更に信号ＳＣＫを発行する。また、ホスト機器１は、例えば８クロックサイクルにわたってアドレス“ｘ０ｈ”を半導体記憶装置３に送信する。
【０３７０】
コマンド“０Ｆｈ”がコマンドレジスタ１４に格納されると、シーケンサ１６は、アドレス“ｘ０ｈ”に対応する特徴テーブル内の情報を特定する。そして、当該特定された情報をステータスレジスタ１５から入出力制御回路１１に転送する。なお、シーケンサ１６は、アドレス“ｘ０ｈ”が或るページの或るセクタの誤り訂正結果ＳＴＳに対応する場合、当該或るセクタの誤り訂正結果ＳＴＳのみを出力させる。
【０３７１】
つまり、コマンド“０Ｆｈ”及び１つのアドレス“ｘ０ｈ”が発行されると、半導体記憶装置３は、例えば８クロックサイクルにわたる１セクタ分のデータに対応する誤り訂正結果ＳＴＳのみを個別に出力する。そして、１セクタ分の誤り訂正結果ＳＴＳが半導体記憶装置３から出力された後、ホスト機器１は信号／ＣＳをネゲートする。
【０３７２】
以上のように動作することにより、半導体記憶装置３は、第２実施形態と同様の誤り訂正結果ＳＴＳを、ホスト機器１に対して出力することができる。
【０３７３】
上述のように誤り訂正結果ＳＴＳが出力される場合、アドレス“ｘ０ｈ”は、セクタ毎に割当てられる。このため、第１実施形態の第２変形例と同様、例えば、図２０に示した特徴テーブルに対応するアドレスを割当てることにより、マルチプレーン読出し動作、キャッシュ読出し動作、及びマルチプレーンキャッシュ読出し動作の際に、全ての読出しデータ内の全てのセクタを特定することができる。
【０３７４】
３．  その他
上述の各実施形態では、ＥＣＣ回路１８は、誤り訂正結果ＳＴＳとして、或るページ内のセクタのセクタ位置情報と、当該セクタ毎のエラービット数情報と、訂正可否情報と、を含む情報を生成する場合について説明したが、これに限られない。例えば、ＥＣＣ回路１８は、誤り訂正結果ＳＴＳとして、或るページ内のセクタのうち、エラービット数が最も多いセクタのセクタ位置情報と、当該セクタにおけるエラービット数情報との組を含む情報を生成してもよい。また、例えば、ＥＣＣ回路１８は、誤り訂正結果ＳＴＳとして、或るページ内のセクタのセクタ位置情報と、当該セクタに対する誤り検出処理の結果、或る閾値を超えた数の誤りが検出されたか否かを示す情報と、の組を含む情報を生成してもよい。なお、当該或る閾値は、予め設定された固定値でもよく、コントローラ又はホスト機器１によって適宜異なる値に設定可能でもよい。
【０３７５】
また、誤り訂正結果ＳＴＳにセクタ位置情報及びエラービット数情報以外の情報が含まれる場合、特徴テーブルは、当該他の情報が定義された領域が更に割り当てられてもよい。
【０３７６】
そして、半導体記憶装置２及び３は、ＥＣＣ回路１８が生成した上述の各種情報を含む誤り訂正結果ＳＴＳを、上述の各実施形態において説明したコマンドシーケンスに従って出力可能であってもよい。
【０３７７】
また、上述の各実施形態では、キャッシュ読出し動作及びマルチプレーンキャッシュ読出し動作において、ランダムキャッシュ読出し動作が実行される場合について示したが、これに限られない。例えば、キャッシュ読出し動作及びマルチプレーンキャッシュ読出し動作では、連続するページが順次読み出されるシーケンシャルキャッシュ読出し（Sequential cache reading）動作が実行されてもよい。
【０３７８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０３７９】
１…コントローラ又はホスト機器、２、３…半導体記憶装置、１１…入出力制御回路、１２…ロジック制御回路、１３…アドレスレジスタ、１４…コマンドレジスタ、１５…ステータスレジスタ、１６…シーケンサ、１７…電圧生成回路、１８…ＥＣＣ回路、１９…インタフェース回路、２１…メモリセルアレイ、２２…ロウデコーダ、２３…センスアンプ、２４…データレジスタ、２５…カラムデコーダ、３０…半導体基板、３１〜３３…ｎ＋型不純物拡散領域、３４…ブロック絶縁膜、３５…電荷蓄積層、３６〜４０…配線層。
【図１】
2018156570.tif 000003
【図２】
2018156570.tif 000004
【図３】
2018156570.tif 000005
【図４】
2018156570.tif 000006
【図５】
2018156570.tif 000007
【図６】
2018156570.tif 000008
【図７】
2018156570.tif 000009
【図８】
2018156570.tif 000010
【図９】
2018156570.tif 000011
【図１０】
2018156570.tif 000012
【図１１】
2018156570.tif 000013
【図１２】
2018156570.tif 000014
【図１３】
2018156570.tif 000015
【図１４】
2018156570.tif 000016
【図１５】
2018156570.tif 000017
【図１６】
2018156570.tif 000018
【図１７】
2018156570.tif 000019
【図１８】
2018156570.tif 000020
【図１９】
2018156570.tif 000021
【図２０】
2018156570.tif 000022
【図２１】
2018156570.tif 000023
【図２２】
2018156570.tif 000024
【図２３】
2018156570.tif 000025
【図２４】
2018156570.tif 000026
【図２５】
2018156570.tif 000027
【図２６】
2018156570.tif 000028
【図２７】
2018156570.tif 000029
【図２８】
2018156570.tif 000030
【図２９】
2018156570.tif 000031
【図３０】
2018156570.tif 000032