(57)【特許請求の範囲】
【請求項１】
データを記憶する複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルから読み出したリードデータが入力され、前記リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つ前記リードデータがエラー訂正されたことを示す第１のパリティフラグを出力し、一方、前記リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つ前記リードデータがエラー訂正されていないことを示す第２のパリティフラグを出力するＥＣＣ処理回路と、
前記ＥＣＣ処理回路から出力された前記リードデータおよび前記パリティフラグを格納するデータバッファと、
前記データバッファから出力されたリードデータを出力するための第１の入出力ピンと、
前記データバッファから出力された前記第１または第２のパリティフラグを出力するための第２の入出力ピンと、を備え、
前記データバッファに格納されエラー訂正されたリードデータを前記第１の入出力ピンから出力するのに同期した、前記エラー訂正されたリードデータに対応する前記第１のパリティフラグを前記第２の入出力ピンから出力する
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記第１のパリティフラグに応じたリカバリコマンド、前記メモリセルアレイに対して、前記エラー訂正されたリードデータを再書き込みする
ことを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記リカバリコマンドに基づいて、再書き込みした後、プリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記データバッファに格納されエラー訂正されなかったリードデータを前記第１の入出力ピンから出力するのに同期して、前記エラー訂正されていないリードデータに対応する前記第２のパリティフラグを前記第２の入出力ピンから出力する
ことを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項５】
前記第２のパリティフラグに応じたプリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
前記ＥＣＣ処理回路により訂正された複数のリードデータのアドレスおよび前記第１のパリティフラグを、格納するリカバリレジスタを、さらに備える
ことを特徴とする請求項１ないし５のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項７】
前記リカバリレジスタに格納されたアドレスに対応し前記データバッファに格納されている前記メモリセルアレイのリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項６に記載の不揮発性半導体記憶装置。
【請求項８】
前記リカバリレジスタは、訂正されたリードデータをさらに格納することを特徴とする請求項６に記載の不揮発性半導体記憶装置。
【請求項９】
前記リカバリレジスタに格納されたアドレスに対応し且つ前記リカバリレジスタに格納されているリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項８に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）処理回路を備えた不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
近年、不揮発性のＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）インターフェースを有する高速読み書き可能な不揮発性大容量ワーキングメモリが登場し、既存の不揮発性ＲＯＭとこのような不揮発性大容量ワーキングメモリ  を単体で置き換えが可能となる。
【０００３】
不揮発性ＲＯＭは、書き込みが1度しかできないものやファームウェアのアップデート等のように極端に頻度が少ないものが主流である。
【０００４】
また、不揮発性ＲＯＭは、ＲＡＭと別のデバイスであるため、ユーザの不注意、オペーレーションシステムやアプリケーションシステムの動作に対し、堅牢な仕組みである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１９２９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【０００７】
実施例に従った不揮発性半導体記憶装置は、データを記憶する複数のメモリセルが配置されたメモリセルアレイを備える。不揮発性半導体記憶装置は、メモリセルから読み出したリードデータが入力され、リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つリードデータがエラー訂正されたことを示す第１のパリティフラグを出力し、一方、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つリードデータがエラー訂正されていないことを示す第２のパリティフラグを出力するＥＣＣ処理回路を備える。不揮発性半導体記憶装置は、ＥＣＣ処理回路から出力されたリードデータおよびパリティフラグを格納するデータバッファを備える。不揮発性半導体記憶装置は、データバッファから出力されたリードデータを出力するための第１の入出力ピンを備える。不揮発性半導体記憶装置は、データバッファから出力された第１または第２のパリティフラグを出力するための第２の入出力ピンと、を備える。不揮発性半導体記憶装置は、データバッファに格納されエラー訂正されたリードデータを第１の入出力ピンから出力するのに同期した、エラー訂正されたリードデータに対応する第１のパリティフラグを第２の入出力ピンから出力する。
【図面の簡単な説明】
【０００８】
【図１】図１は、ＤＤＲインターフェースにおいて、オンチップＥＣＣを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【図２】図２は、実施例１に係るメモリシステム１０００の構成の一例を示す図である。
【図３】図３は、実施例１に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【図４】図４は、リードデータにエラーが有る場合における、図３に示す不揮発性半導体記憶装置１００のリード時のアクセスタイミングの一例を示す波形図である。
【図５】図５は、リードデータにエラーが無い場合における、図３に示す不揮発性半導体記憶装置１００のリード時のアクセスタイミングの一例を示す波形図である。
【図６】図６は、実施例２に係る不揮発性半導体記憶装置２００の構成の一例を示すブロック図である。
【図７】図７は、リードデータにエラーが有る場合における、図６に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【図８】図８は、実施例３に係る不揮発性半導体記憶装置３００の構成の一例を示すブロック図である。
【図９】図９は、リードデータにエラーが有る場合における、図８に示す不揮発性半導体記憶装置３００のリード時のアクセスタイミングの一例を示す波形図である。
【図１０】図１０は、リードデータにエラーが無い場合における、図８に示す不揮発性半導体記憶装置３００のリード時のアクセスタイミングの一例を示す波形図である。
【比較例】
【０００９】
図１は、ＤＤＲインターフェースにおいて、オンチップＥＣＣを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【００１０】
図１に示すように、比較例においては、リードコマンドに応じてメモリセルアレイのリード動作が実行され、外部から入力されたデータストロボ信号ＤＱＳに応じてリードデータが出力される。
【００１１】
そして、リードデータのエラーの有無しに拘わらず、メモリセルアレイに対してＥＣＣ処理回路により訂正されたリードデータを書き戻すためのライトリカバリ時間が設定される。
【００１２】
したがって、上記比較例では、エラーが無い場合にもライトリカバリ時間の経過を待つ必要があり、ランダムアクセスの性能低下を招くことになる。
【００１３】
そこで、以下の実施例では、ＥＣＣ保護機能を搭載しつつ、アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置について提案する。なお、以下の実施例では、救済するエラーは、ソフトエラーであることを前提とする。
【００１４】
以下、各実施例について図面に基づいて説明する。
【実施例１】
【００１５】
図２は、実施例１に係るメモリシステム１０００の構成の一例を示す図である。また、図３は、実施例１に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【００１６】
図２に示すように、メモリシステム１０００は、ＤＤＲインターフェースを有する不揮発性半導体記憶装置１００と、この不揮発性半導体記憶装置１００の動作を制御する外部制御回路１０１と、を備える。
【００１７】
不揮発性半導体記憶装置１００は、例えば、ＦＥＲＡＭ、ＭＲＡＭ等の不揮発性ＲＡＭである。
【００１８】
この不揮発性半導体記憶装置１００は、メモリセルアレイ１と、ＥＣＣ処理回路２と、データバッファ３と、第１のマルチプレクサ４ａと、第２のマルチプレクサ４ｂと、第１のリードドライバ５ａと、第２のリードドライバ５ｂと、第１のライトレシーバ６ａと、第２のライトレシーバ６ｂと、第１の入出力ピン７ａと、第２の入出力ピン７ｂと、出力制御回路８と、リード制御回路９と、ライト制御回路１０と、を備える。
【００１９】
メモリセルアレイ１は、データを記憶する複数のメモリセルが配置されている。
【００２０】
ＥＣＣ処理回路２は、メモリセル１から読み出したリードデータが入力されるようになっている。
【００２１】
このＥＣＣ処理回路２は、リードデータのエラーを検出した場合には、エラーを訂正したリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されたことを示す第１のパリティフラグをデータバッファ３に出力する。
【００２２】
一方、ＥＣＣ処理回路２は、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されていないことを示す第２のパリティフラグをデータバッファ３に出力する。
【００２３】
データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１の１ページ長分のリードデータおよびこのリードデータに対応するパリティフラグを格納するようになっている。
【００２４】
第１のマルチプレクサ４ａは、リード時には、データバッファ３から出力されたリードデータを第１のリードドライバ５ａに出力する。
【００２５】
一方、第１のマルチプレクサ４ａは、外部制御回路１０１から入力されたライドデータのライト時には、第１のライトレシーバ６ａから出力されたライトデータをデータバッファ３に出力する。
【００２６】
第２のマルチプレクサ４ｂは、リード時には、データバッファ３から出力された第１または第２のパリティフラグを第２のリードドライバ５ｂに出力する。
【００２７】
一方、第２のマルチプレクサ４ｂは、外部制御回路１０１から入力されたライドデータのライト時には、第２のライトレシーバ６ｂから出力されたライトマスク信号をデータバッファ３に出力する。
【００２８】
第１のリードドライバ５ａは、データバッファ３から第１のマルチプレクサ４ａを介して入力されたリードデータを、第１の入出力ピン７ａに出力する。
【００２９】
第２のリードドライバ５ｂは、データバッファ３から第２のマルチプレクサ４ｂを介して入力された第１または第２のパリティフラグを、第２の入出力ピン７ｂに出力する。
【００３０】
第１のライトレシーバ６ａは、第１の入出力ピン７ａから入力されたライトデータを受信し、第２のマルチプレクサ４ｂを介してデータバッファ３に出力する。
【００３１】
第２のライトレシーバ６ｂは、第２の入出力ピン７ｂから入力されたライトマスク信号を受信し、第２のマルチプレクサ４ｂを介してデータバッファ３に出力する。
【００３２】
第１の入出力ピン７ａは、データバッファ３から出力されたリードデータを出力するためのピンである。
【００３３】
また、既述のように、第２の入出力ピン７ｂには、外部制御回路１０１から入力されたライドデータのライト時、該ライトマスク信号を入力するためのピンである。この第２の入出力ピン７ｂは、リードデータの出力時には、データバッファ３から出力された第１または第２のパリティフラグを出力するために使用される。
【００３４】
これにより、第１または第２のパリティフラグを出力するための入出力ピンを不揮発性半導体記憶装置１００に別途設ける必要が無くなる。
【００３５】
出力制御回路８は、第１および第２のリードドライバ５ａ、５ｂの出力を制御するようになっている。
【００３６】
例えば、出力制御回路８は、リード時において、第１のリードドライバ５ａがリードデータを出力しない期間、第１のリードドライバ５ａの出力をハイインピーダンスに設定する。
【００３７】
また、出力制御回路８は、リード時において、第２のリードドライバ５ｂが第１または第２のパリティフラグを出力しない期間、第２のリードドライバ５ｂの出力をハイインピーダンスに設定する。
【００３８】
リード制御回路９は、リードコマンド等のコマンドに応じて、メモリセルアレイ１のリード動作を制御するようになっている。
【００３９】
ライト制御回路１０は、外部制御回路１０１から入力されるリカバリコマンド、ライトコマンド等のコマンドに応じて、メモリセルアレイ１のライト動作を制御するようになっている。
【００４０】
次に、以上のような構成を有する不揮発性半導体記憶装置１００のリード時の動作の一例について、ＤＤＲ-ＳＤＲＡＭの規格を例に説明する。
【００４１】
先ず、リードデータにエラーが有る場合について説明する。
【００４２】
図４は、リードデータにエラーが有る場合における、図３に示す不揮発性半導体記憶装置１００のリード時のアクセスタイミングの一例を示す波形図である。
【００４３】
図４に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路９がメモリセルアレイ１を制御してプリフェッチ（データバス長）毎にメモリセルのデータを読み出す。
【００４４】
そして、ＥＣＣ処理回路２は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されたことを示す第１のパリティフラグをデータバッファ３に出力する。
【００４５】
そして、データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【００４６】
そして、不揮発性半導体記憶装置１００は、データバッファ３に格納されエラー訂正されたリードデータをデータストロボ信号ＤＱＳに同期させて第１の入出力ピン７ａから外部制御回路１０１に出力する。
【００４７】
このとき、不揮発性半導体記憶装置１００は、該エラー訂正されたリードデータを第１の入出力ピン７ａから外部制御回路１０１に出力するのに同期して、該エラー訂正されたリードデータに対応する第１のパリティフラグ（ここでは、“Ｈｉｇｈ”レベルの信号）を第２の入出力ピン７ｂから外部制御回路１０１に出力する。
【００４８】
これにより、外部制御回路１０１は、リードデータがエラー訂正されている（エラーが検出されている）ことに関する情報を取得することができる。
【００４９】
ここで、既述のように、第１のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置１００の入出力ピンの数の増加させること無く、第１のパリティフラグを出力するようにすることができる。
【００５０】
なお、出力制御回路８により、第２のリードドライバ回路５ｂが第１のパリティフラグを出力しない期間、第２のリードドライバ５ｂの出力をハイインピーダンスに設定する。
【００５１】
そして、不揮発性半導体記憶装置１００は、第１のパリティフラグに応じてリカバリコマンド（内部コマンド）を内部発行し、メモリセルアレイ１に対して、データバッファ３に格納されているエラー訂正されたリードデータを再書き込みする。
【００５２】
そして、不揮発性半導体記憶装置１００は、該リカバリコマンドに基づいて、再書き込みした後、第１のパリティフラグに応じて外部制御回路１０１から入力されるプリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行する。
【００５３】
なお、該プリチャージコマンドは、再書き込みした後（ライトリカバリ時間の経過後）、不揮発性半導体記憶装置１００内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行するようにしてもよい。
【００５４】
次に、リードデータにエラーが無い場合について説明する。
【００５５】
図５は、リードデータにエラーが無い場合における、図３に示す不揮発性半導体記憶装置１００のリード時のアクセスタイミングの一例を示す波形図である。
【００５６】
図５に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路９がメモリセルアレイ１を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【００５７】
そして、ＥＣＣ処理回路２は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されていないことを示す第２のパリティフラグをデータバッファ３に出力する。
【００５８】
そして、データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【００５９】
そして、不揮発性半導体記憶装置１００は、データバッファ３に格納されエラー訂正されたリードデータをデータストロボ信号ＤＱＳに同期させて第１の入出力ピン７ａから外部制御回路１０１に出力する。
【００６０】
このとき、不揮発性半導体記憶装置１００は、該エラー訂正されなかったリードデータを第１の入出力ピン７ａから出力するのに同期して、該エラー訂正されていないリードデータに対応する第２のパリティフラグ（ここでは、“Ｌｏｗ”レベルの信号）を第２の入出力ピン７ｂから外部制御回路１０１に出力する。
【００６１】
これにより、外部制御回路１０１は、リードデータがエラー訂正されていない（エラーが検出されていない）ことに関する情報を取得することができる。
【００６２】
ここで、既述のように、第２のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置１００の入出力ピンの数の増加させること無く、第２のパリティフラグを出力するようにすることができる。
【００６３】
なお、出力制御回路８により、第２のリードドライバ回路５ｂが第２のパリティフラグを出力しない期間、第２のリードドライバ５ｂの出力をハイインピーダンスに設定する。
【００６４】
そして、不揮発性半導体記憶装置１００は、第２のパリティフラグに応じて外部制御回路１０１から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【００６５】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【００６６】
これにより、不揮発性半導体記憶装置１００のアクセス性能の向上を図ることができる。
【００６７】
なお、該プリチャージコマンドは、第１の入出力ピン７ａからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【００６８】
以上のように、本実施例１に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例２】
【００６９】
既述の実施例１では、エラーが検出された場合には、データバッファ３に格納されたエラー訂正された１つのプリフェッチ（データバス長）分のリードデータを、すぐにメモリセルアレイ１に対して再書き込みする例について、説明した。
【００７０】
本実施例２では、エラーが検出された場合には、例えば、データバッファ３に格納されたエラー訂正された１つのページ長分のリードデータを、１ページ長分毎にまとめてメモリセルアレイ１に対して再書き込みする例について、説明する。
【００７１】
図６は、実施例２に係る不揮発性半導体記憶装置２００の構成の一例を示すブロック図である。なお、図６において、図２の符号と同じ符号は、実施例１と同様の構成を示す。また、図６に示す不揮発性半導体記憶装置２００は、実施例１の不揮発性半導体記憶装置１００と同様に、図１に示すメモリシステム１０００に適用される。
【００７２】
図６に示すように、不揮発性半導体記憶装置２００は、実施例１の不揮発性半導体記憶装置１００と比較して、リカバリレジスタ１１と、リカバリ制御回路１２と、をさらに備える。
【００７３】
リカバリレジスタ１１は、ＥＣＣ処理回路２により訂正された複数のリードデータのアドレスおよび該複数のリードデータに対応する第１のパリティフラグを、格納するようになっている。
【００７４】
リカバリ制御回路１２は、外部制御回路１０１から入力されるリカバリコマンドに基づいて、リカバリレジスタ１１の動作を制御するようになっている。
【００７５】
なお、不揮発性半導体記憶装置２００のその他の構成は、実施例１の不揮発性半導体記憶装置１００と同様である。
【００７６】
次に、以上のような構成を有する不揮発性半導体記憶装置２００のリード時の動作の一例について、ＤＤＲ-ＳＤＲＡＭの規格を例に説明する。
【００７７】
ここでは、リードデータにエラーが有る場合について説明する。
【００７８】
図７は、リードデータにエラーが有る場合における、図６に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【００７９】
図７に示すように、先ず、連続して入力されるリードコマンド（ここでは２個）に基づいて、リード動作が連続して実行される。すなわち、リード制御回路９がメモリセルアレイ１を制御してプリフェッチ（データバス長）毎にメモリセルのデータを読み出す。
【００８０】
そして、ＥＣＣ処理回路２は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されたことを示す第１のパリティフラグをデータバッファ３に出力する。
【００８１】
そして、データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【００８２】
そして、不揮発性半導体記憶装置１００は、外部制御回路１０１から入力されたデータストロボ信号ＤＱＳに応じて、データバッファ３に格納されエラー訂正されたリードデータを連続して第１の入出力ピン７ａから外部制御回路１０１に出力する。
【００８３】
このとき、不揮発性半導体記憶装置１００は、該エラー訂正されたリードデータを第１の入出力ピン７ａから外部制御回路１０１に出力するのに同期して、該エラー訂正されたリードデータに対応するエラー（ＥＲＲＯＲ１、ＥＲＲＯＲ２）に対応する第１のパリティフラグ（ここでは、“Ｈｉｇｈ”レベルの信号）を連続して第２の入出力ピン７ｂから外部制御回路１０１に出力する。
【００８４】
これにより、外部制御回路１０１は、例えば、連続する２つのリードコマンドに対応するリードデータがエラー訂正されている（エラーが検出されている）ことに関する情報を取得することができる。
【００８５】
ここで、既述のように、第１のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置１００の入出力ピンの数の増加させること無く、第１のパリティフラグを出力するようにすることができる。
【００８６】
なお、出力制御回路８により、第２のリードドライバ回路５ｂが第１のパリティフラグを出力しない期間、第２のリードドライバ５ｂの出力をハイインピーダンスに設定する。
【００８７】
そして、不揮発性半導体記憶装置１００は、メモリセルアレイ１に対して、データバッファ３に格納されているエラー訂正されたリードデータを再書き込みする。
【００８８】
そして、不揮発性半導体記憶装置１００は、第１のパリティフラグに応じて外部制御回路１０１から入力されるリカバリコマンドに基づいて、リカバリレジスタ１１に格納されたアドレスに対応しデータバッファ３に格納されているメモリセルアレイ１の１つのページのリードデータを、メモリセルアレイ１に対して、まとめて再書き込みする。
【００８９】
そして、不揮発性半導体記憶装置１００は、該リカバリコマンドに基づいて、再書き込みした後、第１のパリティフラグに応じて外部制御回路１０１から入力されるプリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行する。
【００９０】
なお、該プリチャージコマンドは、再書き込みした後（ライトリカバリ時間の経過後）、不揮発性半導体記憶装置１００内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行するようにしてもよい。
【００９１】
このように、上記の説明では、エラーが検出された場合には、データバッファ３に格納されたエラー訂正された１つのページ長分のリードデータを、１ページ長分毎にまとめてメモリセルアレイ１に対して再書き込みする。
【００９２】
しかし、データバッファ３に格納されたエラー訂正されたリードデータをリカバリレジスタ１１に格納しておくことで、リードデータをランダムにまとめて書き戻すことも可能である。
【００９３】
すなわち、エラーが検出された場合には、該リカバリコマンドに基づいて、リカバリレジスタ１１に格納されたアドレスに対応し且つリカバリレジスタ１１に格納されているリードデータを、メモリセルアレイ１に対して、まとめて再書き込みする。
【００９４】
これにより、エラー訂正されたリードデータを、ランダムにまとめてメモリセルアレイ１に対して再書き込みすることができる。
【００９５】
なお、リードデータにエラーが無い場合については、実施例１と同様に、リードデータの出力後、リードデータの出力に続けて、プリチャージコマンドに基づいてプリチャージ動作が実行される。
【００９６】
これにより、実施例１と同様に、不揮発性半導体記憶装置２００のアクセス性能の向上を図ることができる。
【００９７】
以上のように、本実施例２に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例３】
【００９８】
本実施例３では、第１のパリティフラグに応じて、外部制御回路１０１からリカバリフラグが入力される構成の一例について説明する。
【００９９】
図８は、実施例３に係る不揮発性半導体記憶装置３００の構成の一例を示すブロック図である。なお、図８において、図６の符号と同じ符号は、実施例２と同様の構成を示す。また、図８に示す不揮発性半導体記憶装置３００は、実施例１の不揮発性半導体記憶装置１００と同様に、図１に示すメモリシステム１０００に適用される。
【０１００】
図８に示すように、不揮発性半導体記憶装置３００は、実施例２の不揮発性半導体記憶装置２００と比較して、第３の入出力ピン７ｃを、さらに備える。
【０１０１】
第３の入出力ピン７ｃは、第２の入出力ピン７ｂから出力した第１のパリティフラグに応じて、外部制御回路１０１からリカバリフラグが入力されるようになっている。
【０１０２】
そして、リカバリ制御回路１２は、この第３の入出力ピン７ｃを介して、外部制御回路１０１から入力されるリカバリコマンドに基づいて、リカバリレジスタ１１の動作を制御するようになっている。
【０１０３】
次に、以上のような構成を有する不揮発性半導体記憶装置１００のリード時の動作の一例について、ＤＤＲ-ＳＤＲＡＭの規格を例に説明する。
【０１０４】
先ず、リードデータにエラーが有る場合について説明する。
【０１０５】
図９は、リードデータにエラーが有る場合における、図８に示す不揮発性半導体記憶装置３００のリード時のアクセスタイミングの一例を示す波形図である。
【０１０６】
図９に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路９がメモリセルアレイ１を制御してプリフェッチ（データバス長）毎にメモリセルのデータを読み出す。
【０１０７】
そして、ＥＣＣ処理回路２は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されたことを示す第１のパリティフラグをデータバッファ３に出力する。
【０１０８】
そして、データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【０１０９】
そして、不揮発性半導体記憶装置１００は、外部制御回路１０１から入力されたデータストロボ信号ＤＱＳに応じて、データバッファ３に格納されエラー訂正されたリードデータを第１の入出力ピン７ａから外部制御回路１０１に出力する。
【０１１０】
このとき、不揮発性半導体記憶装置１００は、該エラー訂正されたリードデータを第１の入出力ピン７ａから外部制御回路１０１に出力するのに同期して、該エラー訂正されたリードデータに対応する第１のパリティフラグ（ここでは、“Ｈｉｇｈ”レベルの信号）を第２の入出力ピン７ｂから外部制御回路１０１に出力する。
【０１１１】
これにより、外部制御回路１０１は、リードデータがエラー訂正されている（エラーが検出されている）ことに関する情報を取得することができる。
【０１１２】
そして、上記リードデータの出力中に、第１のパリティフラグに応じて外部制御回路１０１から出力されたリカバリフラグ（ここでは、“Ｈｉｇｈ”レベルの信号）が、第３の入出力ピン７ｃを介してリカバリ制御回路１２に入力される。リカバリ制御回路１２は、このリカバリフラグに応じて、リカバリコマンドを発行する。
【０１１３】
そして、不揮発性半導体記憶装置１００は、該リカバリコマンドに基づいて、メモリセルアレイ１に対して、データバッファ３に格納されているエラー訂正されたリードデータを再書き込みする。
【０１１４】
そして、不揮発性半導体記憶装置１００は、該リカバリコマンドに基づいて、再書き込みした後、第１のパリティフラグに応じて外部制御回路１０１から入力されるプリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行する。
【０１１５】
なお、該プリチャージコマンドは、再書き込みした後（ライトリカバリ時間の経過後）、不揮発性半導体記憶装置１００内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ１に対してプリチャージ動作を実行するようにしてもよい。
【０１１６】
次に、リードデータにエラーが無い場合について説明する。
【０１１７】
図１０は、リードデータにエラーが無い場合における、図８に示す不揮発性半導体記憶装置３００のリード時のアクセスタイミングの一例を示す波形図である。
【０１１８】
図１０に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路９がメモリセルアレイ１を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【０１１９】
そして、ＥＣＣ処理回路２は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ３に出力し且つこのリードデータがエラー訂正されていないことを示す第２のパリティフラグをデータバッファ３に出力する。
【０１２０】
そして、データバッファ３は、ＥＣＣ処理回路２から出力されたメモリセルアレイ１のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【０１２１】
そして、不揮発性半導体記憶装置１００は、外部制御回路１０１から入力されたデータストロボ信号ＤＱＳに応じて、データバッファ３に格納されエラー訂正されなかったリードデータを第１の入出力ピン７ａから外部制御回路１０１に出力する。
【０１２２】
このとき、不揮発性半導体記憶装置１００は、該エラー訂正されなかったリードデータを第１の入出力ピン７ａから出力するのに同期して、該エラー訂正されていないリードデータに対応する第２のパリティフラグ（ここでは、“Ｌｏｗ”レベルの信号）を第２の入出力ピン７ｂから外部制御回路１０１に出力する。
【０１２３】
これにより、外部制御回路１０１は、リードデータがエラー訂正されていない（エラーが検出されていない）ことに関する情報を取得することができる。
【０１２４】
なお、書き戻しの必要がないため、上記リードデータの出力中に、外部制御回路１０１はリカバリフラグを出力しない（ここでは、第３の入出力ピン７ｃに入力される信号が“Ｌｏｗ”レベルのままである）。
【０１２５】
そして、不揮発性半導体記憶装置１００は、第２のパリティフラグに応じて外部制御回路１０１から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【０１２６】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【０１２７】
これにより、不揮発性半導体記憶装置１００のアクセス性能の向上を図ることができる。
【０１２８】
なお、該プリチャージコマンドは、第１の入出力ピン７ａからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【０１２９】
なお、上記説明では、リードコマンドが１つの場合について記載しているが、実施例２のように複数のリードコマンドが連続して発行される場合に対しても、リカバリフラグが入力される点に関しては同様である。
【０１３０】
また、実施形態は例示であり、発明の範囲はそれらに限定されない。
【符号の説明】
【０１３１】
１００  不揮発性半導体記憶装置
１０１  外部制御回路
１０００  メモリシステム
【図１】
0005490062.tif 000002
【図２】
0005490062.tif 000003
【図３】
0005490062.tif 000004
【図４】
0005490062.tif 000005
【図５】
0005490062.tif 000006
【図６】
0005490062.tif 000007
【図７】
0005490062.tif 000008
【図８】
0005490062.tif 000009
【図９】
0005490062.tif 000010
【図１０】
0005490062.tif 000011