不揮発性半導体記憶装置
【課題】アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置を提供する。
【解決手段】不揮発性半導体記憶装置は、データバッファに格納されエラー訂正されたリードデータを第1の入出力ピンから出力するのに同期して、エラー訂正されたリードデータに対応する第1のパリティフラグを第2の入出力ピンから出力する。
【解決手段】不揮発性半導体記憶装置は、データバッファに格納されエラー訂正されたリードデータを第1の入出力ピンから出力するのに同期して、エラー訂正されたリードデータに対応する第1のパリティフラグを第2の入出力ピンから出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、ECC(Error Check and Correct)処理回路を備えた不揮発性半導体記憶装置に関する。
【背景技術】
【0002】
近年、不揮発性のDDR(Double Data Rate)インターフェースを有する高速読み書き可能な不揮発性大容量ワーキングメモリが登場し、既存の不揮発性ROMとこのような不揮発性大容量ワーキングメモリ を単体で置き換えが可能となる。
【0003】
不揮発性ROMは、書き込みが1度しかできないものやファームウェアのアップデート等のように極端に頻度が少ないものが主流である。
【0004】
また、不揮発性ROMは、RAMと別のデバイスであるため、ユーザの不注意、オペーレーションシステムやアプリケーションシステムの動作に対し、堅牢な仕組みである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−192990号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【0007】
実施例に従った不揮発性半導体記憶装置は、データを記憶する複数のメモリセルが配置されたメモリセルアレイを備える。不揮発性半導体記憶装置は、メモリセルから読み出したリードデータが入力され、リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つリードデータがエラー訂正されたことを示す第1のパリティフラグを出力し、一方、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つリードデータがエラー訂正されていないことを示す第2のパリティフラグを出力するECC処理回路を備える。不揮発性半導体記憶装置は、ECC処理回路から出力されたリードデータおよびパリティフラグを格納するデータバッファを備える。不揮発性半導体記憶装置は、データバッファから出力されたリードデータを出力するための第1の入出力ピンを備える。不揮発性半導体記憶装置は、データバッファから出力された第1または第2のパリティフラグを出力するための第2の入出力ピンと、を備える。不揮発性半導体記憶装置は、データバッファに格納されエラー訂正されたリードデータを第1の入出力ピンから出力するのに同期した、エラー訂正されたリードデータに対応する第1のパリティフラグを第2の入出力ピンから出力する。
【図面の簡単な説明】
【0008】
【図1】図1は、DDRインターフェースにおいて、オンチップECCを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【図2】図2は、実施例1に係るメモリシステム1000の構成の一例を示す図である。
【図3】図3は、実施例1に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【図4】図4は、リードデータにエラーが有る場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【図5】図5は、リードデータにエラーが無い場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【図6】図6は、実施例2に係る不揮発性半導体記憶装置200の構成の一例を示すブロック図である。
【図7】図7は、リードデータにエラーが有る場合における、図6に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【図8】図8は、実施例3に係る不揮発性半導体記憶装置300の構成の一例を示すブロック図である。
【図9】図9は、リードデータにエラーが有る場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【図10】図10は、リードデータにエラーが無い場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【比較例】
【0009】
図1は、DDRインターフェースにおいて、オンチップECCを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【0010】
図1に示すように、比較例においては、リードコマンドに応じてメモリセルアレイのリード動作が実行され、外部から入力されたデータストロボ信号DQSに応じてリードデータが出力される。
【0011】
そして、リードデータのエラーの有無しに拘わらず、メモリセルアレイに対してECC処理回路により訂正されたリードデータを書き戻すためのライトリカバリ時間が設定される。
【0012】
したがって、上記比較例では、エラーが無い場合にもライトリカバリ時間の経過を待つ必要があり、ランダムアクセスの性能低下を招くことになる。
【0013】
そこで、以下の実施例では、ECC保護機能を搭載しつつ、アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置について提案する。なお、以下の実施例では、救済するエラーは、ソフトエラーであることを前提とする。
【0014】
以下、各実施例について図面に基づいて説明する。
【実施例1】
【0015】
図2は、実施例1に係るメモリシステム1000の構成の一例を示す図である。また、図3は、実施例1に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【0016】
図2に示すように、メモリシステム1000は、DDRインターフェースを有する不揮発性半導体記憶装置100と、この不揮発性半導体記憶装置100の動作を制御する外部制御回路101と、を備える。
【0017】
不揮発性半導体記憶装置100は、例えば、FERAM、MRAM等の不揮発性RAMである。
【0018】
この不揮発性半導体記憶装置100は、メモリセルアレイ1と、ECC処理回路2と、データバッファ3と、第1のマルチプレクサ4aと、第2のマルチプレクサ4bと、第1のリードドライバ5aと、第2のリードドライバ5bと、第1のライトレシーバ6aと、第2のライトレシーバ6bと、第1の入出力ピン7aと、第2の入出力ピン7bと、出力制御回路8と、リード制御回路9と、ライト制御回路10と、を備える。
【0019】
メモリセルアレイ1は、データを記憶する複数のメモリセルが配置されている。
【0020】
ECC処理回路2は、メモリセル1から読み出したリードデータが入力されるようになっている。
【0021】
このECC処理回路2は、リードデータのエラーを検出した場合には、エラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0022】
一方、ECC処理回路2は、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0023】
データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1の1ページ長分のリードデータおよびこのリードデータに対応するパリティフラグを格納するようになっている。
【0024】
第1のマルチプレクサ4aは、リード時には、データバッファ3から出力されたリードデータを第1のリードドライバ5aに出力する。
【0025】
一方、第1のマルチプレクサ4aは、外部制御回路101から入力されたライドデータのライト時には、第1のライトレシーバ6aから出力されたライトデータをデータバッファ3に出力する。
【0026】
第2のマルチプレクサ4bは、リード時には、データバッファ3から出力された第1または第2のパリティフラグを第2のリードドライバ5bに出力する。
【0027】
一方、第2のマルチプレクサ4bは、外部制御回路101から入力されたライドデータのライト時には、第2のライトレシーバ6bから出力されたライトマスク信号をデータバッファ3に出力する。
【0028】
第1のリードドライバ5aは、データバッファ3から第1のマルチプレクサ4aを介して入力されたリードデータを、第1の入出力ピン7aに出力する。
【0029】
第2のリードドライバ5bは、データバッファ3から第2のマルチプレクサ4bを介して入力された第1または第2のパリティフラグを、第2の入出力ピン7bに出力する。
【0030】
第1のライトレシーバ6aは、第1の入出力ピン7aから入力されたライトデータを受信し、第2のマルチプレクサ4bを介してデータバッファ3に出力する。
【0031】
第2のライトレシーバ6bは、第2の入出力ピン7bから入力されたライトマスク信号を受信し、第2のマルチプレクサ4bを介してデータバッファ3に出力する。
【0032】
第1の入出力ピン7aは、データバッファ3から出力されたリードデータを出力するためのピンである。
【0033】
また、既述のように、第2の入出力ピン7bには、外部制御回路101から入力されたライドデータのライト時、該ライトマスク信号を入力するためのピンである。この第2の入出力ピン7bは、リードデータの出力時には、データバッファ3から出力された第1または第2のパリティフラグを出力するために使用される。
【0034】
これにより、第1または第2のパリティフラグを出力するための入出力ピンを不揮発性半導体記憶装置100に別途設ける必要が無くなる。
【0035】
出力制御回路8は、第1および第2のリードドライバ5a、5bの出力を制御するようになっている。
【0036】
例えば、出力制御回路8は、リード時において、第1のリードドライバ5aがリードデータを出力しない期間、第1のリードドライバ5aの出力をハイインピーダンスに設定する。
【0037】
また、出力制御回路8は、リード時において、第2のリードドライバ5bが第1または第2のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0038】
リード制御回路9は、リードコマンド等のコマンドに応じて、メモリセルアレイ1のリード動作を制御するようになっている。
【0039】
ライト制御回路10は、外部制御回路101から入力されるリカバリコマンド、ライトコマンド等のコマンドに応じて、メモリセルアレイ1のライト動作を制御するようになっている。
【0040】
次に、以上のような構成を有する不揮発性半導体記憶装置100のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0041】
先ず、リードデータにエラーが有る場合について説明する。
【0042】
図4は、リードデータにエラーが有る場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【0043】
図4に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0044】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0045】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0046】
そして、不揮発性半導体記憶装置100は、データバッファ3に格納されエラー訂正されたリードデータをデータストロボ信号DQSに同期させて第1の入出力ピン7aから外部制御回路101に出力する。
【0047】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0048】
これにより、外部制御回路101は、リードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0049】
ここで、既述のように、第1のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第1のパリティフラグを出力するようにすることができる。
【0050】
なお、出力制御回路8により、第2のリードドライバ回路5bが第1のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0051】
そして、不揮発性半導体記憶装置100は、第1のパリティフラグに応じてリカバリコマンド(内部コマンド)を内部発行し、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0052】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0053】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0054】
次に、リードデータにエラーが無い場合について説明する。
【0055】
図5は、リードデータにエラーが無い場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【0056】
図5に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【0057】
そして、ECC処理回路2は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0058】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0059】
そして、不揮発性半導体記憶装置100は、データバッファ3に格納されエラー訂正されたリードデータをデータストロボ信号DQSに同期させて第1の入出力ピン7aから外部制御回路101に出力する。
【0060】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されなかったリードデータを第1の入出力ピン7aから出力するのに同期して、該エラー訂正されていないリードデータに対応する第2のパリティフラグ(ここでは、“Low”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0061】
これにより、外部制御回路101は、リードデータがエラー訂正されていない(エラーが検出されていない)ことに関する情報を取得することができる。
【0062】
ここで、既述のように、第2のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第2のパリティフラグを出力するようにすることができる。
【0063】
なお、出力制御回路8により、第2のリードドライバ回路5bが第2のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0064】
そして、不揮発性半導体記憶装置100は、第2のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【0065】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【0066】
これにより、不揮発性半導体記憶装置100のアクセス性能の向上を図ることができる。
【0067】
なお、該プリチャージコマンドは、第1の入出力ピン7aからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【0068】
以上のように、本実施例1に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例2】
【0069】
既述の実施例1では、エラーが検出された場合には、データバッファ3に格納されたエラー訂正された1つのプリフェッチ(データバス長)分のリードデータを、すぐにメモリセルアレイ1に対して再書き込みする例について、説明した。
【0070】
本実施例2では、エラーが検出された場合には、例えば、データバッファ3に格納されたエラー訂正された1つのページ長分のリードデータを、1ページ長分毎にまとめてメモリセルアレイ1に対して再書き込みする例について、説明する。
【0071】
図6は、実施例2に係る不揮発性半導体記憶装置200の構成の一例を示すブロック図である。なお、図6において、図2の符号と同じ符号は、実施例1と同様の構成を示す。また、図6に示す不揮発性半導体記憶装置200は、実施例1の不揮発性半導体記憶装置100と同様に、図1に示すメモリシステム1000に適用される。
【0072】
図6に示すように、不揮発性半導体記憶装置200は、実施例1の不揮発性半導体記憶装置100と比較して、リカバリレジスタ11と、リカバリ制御回路12と、をさらに備える。
【0073】
リカバリレジスタ11は、ECC処理回路2により訂正された複数のリードデータのアドレスおよび該複数のリードデータに対応する第1のパリティフラグを、格納するようになっている。
【0074】
リカバリ制御回路12は、外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11の動作を制御するようになっている。
【0075】
なお、不揮発性半導体記憶装置200のその他の構成は、実施例1の不揮発性半導体記憶装置100と同様である。
【0076】
次に、以上のような構成を有する不揮発性半導体記憶装置200のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0077】
ここでは、リードデータにエラーが有る場合について説明する。
【0078】
図7は、リードデータにエラーが有る場合における、図6に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【0079】
図7に示すように、先ず、連続して入力されるリードコマンド(ここでは2個)に基づいて、リード動作が連続して実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0080】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0081】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0082】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されたリードデータを連続して第1の入出力ピン7aから外部制御回路101に出力する。
【0083】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応するエラー(ERROR1、ERROR2)に対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を連続して第2の入出力ピン7bから外部制御回路101に出力する。
【0084】
これにより、外部制御回路101は、例えば、連続する2つのリードコマンドに対応するリードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0085】
ここで、既述のように、第1のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第1のパリティフラグを出力するようにすることができる。
【0086】
なお、出力制御回路8により、第2のリードドライバ回路5bが第1のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0087】
そして、不揮発性半導体記憶装置100は、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0088】
そして、不揮発性半導体記憶装置100は、第1のパリティフラグに応じて外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11に格納されたアドレスに対応しデータバッファ3に格納されているメモリセルアレイ1の1つのページのリードデータを、メモリセルアレイ1に対して、まとめて再書き込みする。
【0089】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0090】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0091】
このように、上記の説明では、エラーが検出された場合には、データバッファ3に格納されたエラー訂正された1つのページ長分のリードデータを、1ページ長分毎にまとめてメモリセルアレイ1に対して再書き込みする。
【0092】
しかし、データバッファ3に格納されたエラー訂正されたリードデータをリカバリレジスタ11に格納しておくことで、リードデータをランダムにまとめて書き戻すことも可能である。
【0093】
すなわち、エラーが検出された場合には、該リカバリコマンドに基づいて、リカバリレジスタ11に格納されたアドレスに対応し且つリカバリレジスタ11に格納されているリードデータを、メモリセルアレイ1に対して、まとめて再書き込みする。
【0094】
これにより、エラー訂正されたリードデータを、ランダムにまとめてメモリセルアレイ1に対して再書き込みすることができる。
【0095】
なお、リードデータにエラーが無い場合については、実施例1と同様に、リードデータの出力後、リードデータの出力に続けて、プリチャージコマンドに基づいてプリチャージ動作が実行される。
【0096】
これにより、実施例1と同様に、不揮発性半導体記憶装置200のアクセス性能の向上を図ることができる。
【0097】
以上のように、本実施例2に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例3】
【0098】
本実施例3では、第1のパリティフラグに応じて、外部制御回路101からリカバリフラグが入力される構成の一例について説明する。
【0099】
図8は、実施例3に係る不揮発性半導体記憶装置300の構成の一例を示すブロック図である。なお、図8において、図6の符号と同じ符号は、実施例2と同様の構成を示す。また、図8に示す不揮発性半導体記憶装置300は、実施例1の不揮発性半導体記憶装置100と同様に、図1に示すメモリシステム1000に適用される。
【0100】
図8に示すように、不揮発性半導体記憶装置300は、実施例2の不揮発性半導体記憶装置200と比較して、第3の入出力ピン7cを、さらに備える。
【0101】
第3の入出力ピン7cは、第2の入出力ピン7bから出力した第1のパリティフラグに応じて、外部制御回路101からリカバリフラグが入力されるようになっている。
【0102】
そして、リカバリ制御回路12は、この第3の入出力ピン7cを介して、外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11の動作を制御するようになっている。
【0103】
次に、以上のような構成を有する不揮発性半導体記憶装置100のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0104】
先ず、リードデータにエラーが有る場合について説明する。
【0105】
図9は、リードデータにエラーが有る場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【0106】
図9に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0107】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0108】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0109】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力する。
【0110】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0111】
これにより、外部制御回路101は、リードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0112】
そして、上記リードデータの出力中に、第1のパリティフラグに応じて外部制御回路101から出力されたリカバリフラグ(ここでは、“High”レベルの信号)が、第3の入出力ピン7cを介してリカバリ制御回路12に入力される。リカバリ制御回路12は、このリカバリフラグに応じて、リカバリコマンドを発行する。
【0113】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0114】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0115】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0116】
次に、リードデータにエラーが無い場合について説明する。
【0117】
図10は、リードデータにエラーが無い場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【0118】
図10に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【0119】
そして、ECC処理回路2は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0120】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0121】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されなかったリードデータを第1の入出力ピン7aから外部制御回路101に出力する。
【0122】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されなかったリードデータを第1の入出力ピン7aから出力するのに同期して、該エラー訂正されていないリードデータに対応する第2のパリティフラグ(ここでは、“Low”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0123】
これにより、外部制御回路101は、リードデータがエラー訂正されていない(エラーが検出されていない)ことに関する情報を取得することができる。
【0124】
なお、書き戻しの必要がないため、上記リードデータの出力中に、外部制御回路101はリカバリフラグを出力しない(ここでは、第3の入出力ピン7cに入力される信号が“Low”レベルのままである)。
【0125】
そして、不揮発性半導体記憶装置100は、第2のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【0126】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【0127】
これにより、不揮発性半導体記憶装置100のアクセス性能の向上を図ることができる。
【0128】
なお、該プリチャージコマンドは、第1の入出力ピン7aからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【0129】
なお、上記説明では、リードコマンドが1つの場合について記載しているが、実施例2のように複数のリードコマンドが連続して発行される場合に対しても、リカバリフラグが入力される点に関しては同様である。
【0130】
また、実施形態は例示であり、発明の範囲はそれらに限定されない。
【符号の説明】
【0131】
100 不揮発性半導体記憶装置
101 外部制御回路
1000 メモリシステム
【技術分野】
【0001】
本実施形態は、ECC(Error Check and Correct)処理回路を備えた不揮発性半導体記憶装置に関する。
【背景技術】
【0002】
近年、不揮発性のDDR(Double Data Rate)インターフェースを有する高速読み書き可能な不揮発性大容量ワーキングメモリが登場し、既存の不揮発性ROMとこのような不揮発性大容量ワーキングメモリ を単体で置き換えが可能となる。
【0003】
不揮発性ROMは、書き込みが1度しかできないものやファームウェアのアップデート等のように極端に頻度が少ないものが主流である。
【0004】
また、不揮発性ROMは、RAMと別のデバイスであるため、ユーザの不注意、オペーレーションシステムやアプリケーションシステムの動作に対し、堅牢な仕組みである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−192990号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【0007】
実施例に従った不揮発性半導体記憶装置は、データを記憶する複数のメモリセルが配置されたメモリセルアレイを備える。不揮発性半導体記憶装置は、メモリセルから読み出したリードデータが入力され、リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つリードデータがエラー訂正されたことを示す第1のパリティフラグを出力し、一方、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つリードデータがエラー訂正されていないことを示す第2のパリティフラグを出力するECC処理回路を備える。不揮発性半導体記憶装置は、ECC処理回路から出力されたリードデータおよびパリティフラグを格納するデータバッファを備える。不揮発性半導体記憶装置は、データバッファから出力されたリードデータを出力するための第1の入出力ピンを備える。不揮発性半導体記憶装置は、データバッファから出力された第1または第2のパリティフラグを出力するための第2の入出力ピンと、を備える。不揮発性半導体記憶装置は、データバッファに格納されエラー訂正されたリードデータを第1の入出力ピンから出力するのに同期した、エラー訂正されたリードデータに対応する第1のパリティフラグを第2の入出力ピンから出力する。
【図面の簡単な説明】
【0008】
【図1】図1は、DDRインターフェースにおいて、オンチップECCを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【図2】図2は、実施例1に係るメモリシステム1000の構成の一例を示す図である。
【図3】図3は、実施例1に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【図4】図4は、リードデータにエラーが有る場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【図5】図5は、リードデータにエラーが無い場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【図6】図6は、実施例2に係る不揮発性半導体記憶装置200の構成の一例を示すブロック図である。
【図7】図7は、リードデータにエラーが有る場合における、図6に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【図8】図8は、実施例3に係る不揮発性半導体記憶装置300の構成の一例を示すブロック図である。
【図9】図9は、リードデータにエラーが有る場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【図10】図10は、リードデータにエラーが無い場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【比較例】
【0009】
図1は、DDRインターフェースにおいて、オンチップECCを実現する場合のリード時のアクセスタイミングの一例を示す比較例の波形図である。
【0010】
図1に示すように、比較例においては、リードコマンドに応じてメモリセルアレイのリード動作が実行され、外部から入力されたデータストロボ信号DQSに応じてリードデータが出力される。
【0011】
そして、リードデータのエラーの有無しに拘わらず、メモリセルアレイに対してECC処理回路により訂正されたリードデータを書き戻すためのライトリカバリ時間が設定される。
【0012】
したがって、上記比較例では、エラーが無い場合にもライトリカバリ時間の経過を待つ必要があり、ランダムアクセスの性能低下を招くことになる。
【0013】
そこで、以下の実施例では、ECC保護機能を搭載しつつ、アクセス性能の向上を図ることが可能な不揮発性半導体記憶装置について提案する。なお、以下の実施例では、救済するエラーは、ソフトエラーであることを前提とする。
【0014】
以下、各実施例について図面に基づいて説明する。
【実施例1】
【0015】
図2は、実施例1に係るメモリシステム1000の構成の一例を示す図である。また、図3は、実施例1に係る不揮発性半導体記憶装置の構成の一例を示すブロック図である。
【0016】
図2に示すように、メモリシステム1000は、DDRインターフェースを有する不揮発性半導体記憶装置100と、この不揮発性半導体記憶装置100の動作を制御する外部制御回路101と、を備える。
【0017】
不揮発性半導体記憶装置100は、例えば、FERAM、MRAM等の不揮発性RAMである。
【0018】
この不揮発性半導体記憶装置100は、メモリセルアレイ1と、ECC処理回路2と、データバッファ3と、第1のマルチプレクサ4aと、第2のマルチプレクサ4bと、第1のリードドライバ5aと、第2のリードドライバ5bと、第1のライトレシーバ6aと、第2のライトレシーバ6bと、第1の入出力ピン7aと、第2の入出力ピン7bと、出力制御回路8と、リード制御回路9と、ライト制御回路10と、を備える。
【0019】
メモリセルアレイ1は、データを記憶する複数のメモリセルが配置されている。
【0020】
ECC処理回路2は、メモリセル1から読み出したリードデータが入力されるようになっている。
【0021】
このECC処理回路2は、リードデータのエラーを検出した場合には、エラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0022】
一方、ECC処理回路2は、リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0023】
データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1の1ページ長分のリードデータおよびこのリードデータに対応するパリティフラグを格納するようになっている。
【0024】
第1のマルチプレクサ4aは、リード時には、データバッファ3から出力されたリードデータを第1のリードドライバ5aに出力する。
【0025】
一方、第1のマルチプレクサ4aは、外部制御回路101から入力されたライドデータのライト時には、第1のライトレシーバ6aから出力されたライトデータをデータバッファ3に出力する。
【0026】
第2のマルチプレクサ4bは、リード時には、データバッファ3から出力された第1または第2のパリティフラグを第2のリードドライバ5bに出力する。
【0027】
一方、第2のマルチプレクサ4bは、外部制御回路101から入力されたライドデータのライト時には、第2のライトレシーバ6bから出力されたライトマスク信号をデータバッファ3に出力する。
【0028】
第1のリードドライバ5aは、データバッファ3から第1のマルチプレクサ4aを介して入力されたリードデータを、第1の入出力ピン7aに出力する。
【0029】
第2のリードドライバ5bは、データバッファ3から第2のマルチプレクサ4bを介して入力された第1または第2のパリティフラグを、第2の入出力ピン7bに出力する。
【0030】
第1のライトレシーバ6aは、第1の入出力ピン7aから入力されたライトデータを受信し、第2のマルチプレクサ4bを介してデータバッファ3に出力する。
【0031】
第2のライトレシーバ6bは、第2の入出力ピン7bから入力されたライトマスク信号を受信し、第2のマルチプレクサ4bを介してデータバッファ3に出力する。
【0032】
第1の入出力ピン7aは、データバッファ3から出力されたリードデータを出力するためのピンである。
【0033】
また、既述のように、第2の入出力ピン7bには、外部制御回路101から入力されたライドデータのライト時、該ライトマスク信号を入力するためのピンである。この第2の入出力ピン7bは、リードデータの出力時には、データバッファ3から出力された第1または第2のパリティフラグを出力するために使用される。
【0034】
これにより、第1または第2のパリティフラグを出力するための入出力ピンを不揮発性半導体記憶装置100に別途設ける必要が無くなる。
【0035】
出力制御回路8は、第1および第2のリードドライバ5a、5bの出力を制御するようになっている。
【0036】
例えば、出力制御回路8は、リード時において、第1のリードドライバ5aがリードデータを出力しない期間、第1のリードドライバ5aの出力をハイインピーダンスに設定する。
【0037】
また、出力制御回路8は、リード時において、第2のリードドライバ5bが第1または第2のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0038】
リード制御回路9は、リードコマンド等のコマンドに応じて、メモリセルアレイ1のリード動作を制御するようになっている。
【0039】
ライト制御回路10は、外部制御回路101から入力されるリカバリコマンド、ライトコマンド等のコマンドに応じて、メモリセルアレイ1のライト動作を制御するようになっている。
【0040】
次に、以上のような構成を有する不揮発性半導体記憶装置100のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0041】
先ず、リードデータにエラーが有る場合について説明する。
【0042】
図4は、リードデータにエラーが有る場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【0043】
図4に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0044】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0045】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0046】
そして、不揮発性半導体記憶装置100は、データバッファ3に格納されエラー訂正されたリードデータをデータストロボ信号DQSに同期させて第1の入出力ピン7aから外部制御回路101に出力する。
【0047】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0048】
これにより、外部制御回路101は、リードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0049】
ここで、既述のように、第1のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第1のパリティフラグを出力するようにすることができる。
【0050】
なお、出力制御回路8により、第2のリードドライバ回路5bが第1のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0051】
そして、不揮発性半導体記憶装置100は、第1のパリティフラグに応じてリカバリコマンド(内部コマンド)を内部発行し、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0052】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0053】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0054】
次に、リードデータにエラーが無い場合について説明する。
【0055】
図5は、リードデータにエラーが無い場合における、図3に示す不揮発性半導体記憶装置100のリード時のアクセスタイミングの一例を示す波形図である。
【0056】
図5に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【0057】
そして、ECC処理回路2は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0058】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0059】
そして、不揮発性半導体記憶装置100は、データバッファ3に格納されエラー訂正されたリードデータをデータストロボ信号DQSに同期させて第1の入出力ピン7aから外部制御回路101に出力する。
【0060】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されなかったリードデータを第1の入出力ピン7aから出力するのに同期して、該エラー訂正されていないリードデータに対応する第2のパリティフラグ(ここでは、“Low”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0061】
これにより、外部制御回路101は、リードデータがエラー訂正されていない(エラーが検出されていない)ことに関する情報を取得することができる。
【0062】
ここで、既述のように、第2のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第2のパリティフラグを出力するようにすることができる。
【0063】
なお、出力制御回路8により、第2のリードドライバ回路5bが第2のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0064】
そして、不揮発性半導体記憶装置100は、第2のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【0065】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【0066】
これにより、不揮発性半導体記憶装置100のアクセス性能の向上を図ることができる。
【0067】
なお、該プリチャージコマンドは、第1の入出力ピン7aからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【0068】
以上のように、本実施例1に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例2】
【0069】
既述の実施例1では、エラーが検出された場合には、データバッファ3に格納されたエラー訂正された1つのプリフェッチ(データバス長)分のリードデータを、すぐにメモリセルアレイ1に対して再書き込みする例について、説明した。
【0070】
本実施例2では、エラーが検出された場合には、例えば、データバッファ3に格納されたエラー訂正された1つのページ長分のリードデータを、1ページ長分毎にまとめてメモリセルアレイ1に対して再書き込みする例について、説明する。
【0071】
図6は、実施例2に係る不揮発性半導体記憶装置200の構成の一例を示すブロック図である。なお、図6において、図2の符号と同じ符号は、実施例1と同様の構成を示す。また、図6に示す不揮発性半導体記憶装置200は、実施例1の不揮発性半導体記憶装置100と同様に、図1に示すメモリシステム1000に適用される。
【0072】
図6に示すように、不揮発性半導体記憶装置200は、実施例1の不揮発性半導体記憶装置100と比較して、リカバリレジスタ11と、リカバリ制御回路12と、をさらに備える。
【0073】
リカバリレジスタ11は、ECC処理回路2により訂正された複数のリードデータのアドレスおよび該複数のリードデータに対応する第1のパリティフラグを、格納するようになっている。
【0074】
リカバリ制御回路12は、外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11の動作を制御するようになっている。
【0075】
なお、不揮発性半導体記憶装置200のその他の構成は、実施例1の不揮発性半導体記憶装置100と同様である。
【0076】
次に、以上のような構成を有する不揮発性半導体記憶装置200のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0077】
ここでは、リードデータにエラーが有る場合について説明する。
【0078】
図7は、リードデータにエラーが有る場合における、図6に示す不揮発性半導体記憶装置のリード時のアクセスタイミングの一例を示す波形図である。
【0079】
図7に示すように、先ず、連続して入力されるリードコマンド(ここでは2個)に基づいて、リード動作が連続して実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0080】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0081】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0082】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されたリードデータを連続して第1の入出力ピン7aから外部制御回路101に出力する。
【0083】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応するエラー(ERROR1、ERROR2)に対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を連続して第2の入出力ピン7bから外部制御回路101に出力する。
【0084】
これにより、外部制御回路101は、例えば、連続する2つのリードコマンドに対応するリードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0085】
ここで、既述のように、第1のパリティフラグの出力には、ライトマスク信号を入力するためのピンを使用する。これにより、不揮発性半導体記憶装置100の入出力ピンの数の増加させること無く、第1のパリティフラグを出力するようにすることができる。
【0086】
なお、出力制御回路8により、第2のリードドライバ回路5bが第1のパリティフラグを出力しない期間、第2のリードドライバ5bの出力をハイインピーダンスに設定する。
【0087】
そして、不揮発性半導体記憶装置100は、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0088】
そして、不揮発性半導体記憶装置100は、第1のパリティフラグに応じて外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11に格納されたアドレスに対応しデータバッファ3に格納されているメモリセルアレイ1の1つのページのリードデータを、メモリセルアレイ1に対して、まとめて再書き込みする。
【0089】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0090】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0091】
このように、上記の説明では、エラーが検出された場合には、データバッファ3に格納されたエラー訂正された1つのページ長分のリードデータを、1ページ長分毎にまとめてメモリセルアレイ1に対して再書き込みする。
【0092】
しかし、データバッファ3に格納されたエラー訂正されたリードデータをリカバリレジスタ11に格納しておくことで、リードデータをランダムにまとめて書き戻すことも可能である。
【0093】
すなわち、エラーが検出された場合には、該リカバリコマンドに基づいて、リカバリレジスタ11に格納されたアドレスに対応し且つリカバリレジスタ11に格納されているリードデータを、メモリセルアレイ1に対して、まとめて再書き込みする。
【0094】
これにより、エラー訂正されたリードデータを、ランダムにまとめてメモリセルアレイ1に対して再書き込みすることができる。
【0095】
なお、リードデータにエラーが無い場合については、実施例1と同様に、リードデータの出力後、リードデータの出力に続けて、プリチャージコマンドに基づいてプリチャージ動作が実行される。
【0096】
これにより、実施例1と同様に、不揮発性半導体記憶装置200のアクセス性能の向上を図ることができる。
【0097】
以上のように、本実施例2に係る不揮発性半導体記憶装置によれば、アクセス性能の向上を図ることができる。
【実施例3】
【0098】
本実施例3では、第1のパリティフラグに応じて、外部制御回路101からリカバリフラグが入力される構成の一例について説明する。
【0099】
図8は、実施例3に係る不揮発性半導体記憶装置300の構成の一例を示すブロック図である。なお、図8において、図6の符号と同じ符号は、実施例2と同様の構成を示す。また、図8に示す不揮発性半導体記憶装置300は、実施例1の不揮発性半導体記憶装置100と同様に、図1に示すメモリシステム1000に適用される。
【0100】
図8に示すように、不揮発性半導体記憶装置300は、実施例2の不揮発性半導体記憶装置200と比較して、第3の入出力ピン7cを、さらに備える。
【0101】
第3の入出力ピン7cは、第2の入出力ピン7bから出力した第1のパリティフラグに応じて、外部制御回路101からリカバリフラグが入力されるようになっている。
【0102】
そして、リカバリ制御回路12は、この第3の入出力ピン7cを介して、外部制御回路101から入力されるリカバリコマンドに基づいて、リカバリレジスタ11の動作を制御するようになっている。
【0103】
次に、以上のような構成を有する不揮発性半導体記憶装置100のリード時の動作の一例について、DDR-SDRAMの規格を例に説明する。
【0104】
先ず、リードデータにエラーが有る場合について説明する。
【0105】
図9は、リードデータにエラーが有る場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【0106】
図9に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ(データバス長)毎にメモリセルのデータを読み出す。
【0107】
そして、ECC処理回路2は、リードデータのエラーを検出し、このエラーを訂正したリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されたことを示す第1のパリティフラグをデータバッファ3に出力する。
【0108】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0109】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力する。
【0110】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されたリードデータを第1の入出力ピン7aから外部制御回路101に出力するのに同期して、該エラー訂正されたリードデータに対応する第1のパリティフラグ(ここでは、“High”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0111】
これにより、外部制御回路101は、リードデータがエラー訂正されている(エラーが検出されている)ことに関する情報を取得することができる。
【0112】
そして、上記リードデータの出力中に、第1のパリティフラグに応じて外部制御回路101から出力されたリカバリフラグ(ここでは、“High”レベルの信号)が、第3の入出力ピン7cを介してリカバリ制御回路12に入力される。リカバリ制御回路12は、このリカバリフラグに応じて、リカバリコマンドを発行する。
【0113】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、メモリセルアレイ1に対して、データバッファ3に格納されているエラー訂正されたリードデータを再書き込みする。
【0114】
そして、不揮発性半導体記憶装置100は、該リカバリコマンドに基づいて、再書き込みした後、第1のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行する。
【0115】
なお、該プリチャージコマンドは、再書き込みした後(ライトリカバリ時間の経過後)、不揮発性半導体記憶装置100内で自動的に生成され、該プリチャージコマンドに基づいて、メモリセルアレイ1に対してプリチャージ動作を実行するようにしてもよい。
【0116】
次に、リードデータにエラーが無い場合について説明する。
【0117】
図10は、リードデータにエラーが無い場合における、図8に示す不揮発性半導体記憶装置300のリード時のアクセスタイミングの一例を示す波形図である。
【0118】
図10に示すように、先ず、リードコマンドに基づいて、リード動作が実行される。すなわち、リード制御回路9がメモリセルアレイ1を制御してプリフェッチ毎にメモリセルのデータを読み出す。
【0119】
そして、ECC処理回路2は、リードデータのエラーを検出せず、エラー訂正しないでリードデータをデータバッファ3に出力し且つこのリードデータがエラー訂正されていないことを示す第2のパリティフラグをデータバッファ3に出力する。
【0120】
そして、データバッファ3は、ECC処理回路2から出力されたメモリセルアレイ1のリードデータおよびこのリードデータに対応するパリティフラグを格納する。
【0121】
そして、不揮発性半導体記憶装置100は、外部制御回路101から入力されたデータストロボ信号DQSに応じて、データバッファ3に格納されエラー訂正されなかったリードデータを第1の入出力ピン7aから外部制御回路101に出力する。
【0122】
このとき、不揮発性半導体記憶装置100は、該エラー訂正されなかったリードデータを第1の入出力ピン7aから出力するのに同期して、該エラー訂正されていないリードデータに対応する第2のパリティフラグ(ここでは、“Low”レベルの信号)を第2の入出力ピン7bから外部制御回路101に出力する。
【0123】
これにより、外部制御回路101は、リードデータがエラー訂正されていない(エラーが検出されていない)ことに関する情報を取得することができる。
【0124】
なお、書き戻しの必要がないため、上記リードデータの出力中に、外部制御回路101はリカバリフラグを出力しない(ここでは、第3の入出力ピン7cに入力される信号が“Low”レベルのままである)。
【0125】
そして、不揮発性半導体記憶装置100は、第2のパリティフラグに応じて外部制御回路101から入力されるプリチャージコマンドに基づいて、メモリセルアレイに対してプリチャージ動作を実行する。
【0126】
このように、リードデータにエラーが無く、リードデータの書き戻しが必要ない場合は、ライトリカバリ時間を設定せずに、そのままプリチャージ動作を実行する。
【0127】
これにより、不揮発性半導体記憶装置100のアクセス性能の向上を図ることができる。
【0128】
なお、該プリチャージコマンドは、第1の入出力ピン7aからリードデータを出力した後、不揮発性半導体記憶装置内で自動的に生成されるようにしてもよい。
【0129】
なお、上記説明では、リードコマンドが1つの場合について記載しているが、実施例2のように複数のリードコマンドが連続して発行される場合に対しても、リカバリフラグが入力される点に関しては同様である。
【0130】
また、実施形態は例示であり、発明の範囲はそれらに限定されない。
【符号の説明】
【0131】
100 不揮発性半導体記憶装置
101 外部制御回路
1000 メモリシステム
【特許請求の範囲】
【請求項1】
データを記憶する複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルから読み出したリードデータが入力され、前記リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つ前記リードデータがエラー訂正されたことを示す第1のパリティフラグを出力し、一方、前記リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つ前記リードデータがエラー訂正されていないことを示す第2のパリティフラグを出力するECC処理回路と、
前記ECC処理回路から出力された前記リードデータおよび前記パリティフラグを格納するデータバッファと、
前記データバッファから出力されたリードデータを出力するための第1の入出力ピンと、
前記データバッファから出力された前記第1または第2のパリティフラグを出力するための第2の入出力ピンと、を備え、
前記データバッファに格納されエラー訂正されたリードデータを前記第1の入出力ピンから出力するのに同期した、前記エラー訂正されたリードデータに対応する前記第1のパリティフラグを前記第2の入出力ピンから出力する
ことを特徴とする不揮発性半導体記憶装置。
【請求項2】
前記第1のパリティフラグに応じたリカバリコマンド、前記メモリセルアレイに対して、前記エラー訂正されたリードデータを再書き込みする
ことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
【請求項3】
前記リカバリコマンドに基づいて、再書き込みした後、プリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項2に記載の不揮発性半導体記憶装置。
【請求項4】
前記データバッファに格納されエラー訂正されなかったリードデータを前記第1の入出力ピンから出力するのに同期して、前記エラー訂正されていないリードデータに対応する前記第2のパリティフラグを前記第2の入出力ピンから出力する
ことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
【請求項5】
前記第2のパリティフラグに応じたプリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項4に記載の不揮発性半導体記憶装置。
【請求項6】
前記ECC処理回路により訂正された複数のリードデータのアドレスおよび前記第1のパリティフラグを、格納するリカバリレジスタを、さらに備える
ことを特徴とする請求項1ないし5のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項7】
前記リカバリレジスタに格納されたアドレスに対応し前記データバッファに格納されている前記メモリセルアレイのリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項6に記載の不揮発性半導体記憶装置。
【請求項8】
前記リカバリレジスタは、訂正されたリードデータをさらに格納することを特徴とする請求項6に記載の不揮発性半導体記憶装置。
【請求項9】
前記リカバリレジスタに格納されたアドレスに対応し且つ前記リカバリレジスタに格納されているリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項8に記載の不揮発性半導体記憶装置。
【請求項1】
データを記憶する複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルから読み出したリードデータが入力され、前記リードデータのエラーを検出した場合には、エラーを訂正したリードデータを出力し且つ前記リードデータがエラー訂正されたことを示す第1のパリティフラグを出力し、一方、前記リードデータのエラーを検出しない場合には、エラー訂正しないでリードデータを出力し且つ前記リードデータがエラー訂正されていないことを示す第2のパリティフラグを出力するECC処理回路と、
前記ECC処理回路から出力された前記リードデータおよび前記パリティフラグを格納するデータバッファと、
前記データバッファから出力されたリードデータを出力するための第1の入出力ピンと、
前記データバッファから出力された前記第1または第2のパリティフラグを出力するための第2の入出力ピンと、を備え、
前記データバッファに格納されエラー訂正されたリードデータを前記第1の入出力ピンから出力するのに同期した、前記エラー訂正されたリードデータに対応する前記第1のパリティフラグを前記第2の入出力ピンから出力する
ことを特徴とする不揮発性半導体記憶装置。
【請求項2】
前記第1のパリティフラグに応じたリカバリコマンド、前記メモリセルアレイに対して、前記エラー訂正されたリードデータを再書き込みする
ことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
【請求項3】
前記リカバリコマンドに基づいて、再書き込みした後、プリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項2に記載の不揮発性半導体記憶装置。
【請求項4】
前記データバッファに格納されエラー訂正されなかったリードデータを前記第1の入出力ピンから出力するのに同期して、前記エラー訂正されていないリードデータに対応する前記第2のパリティフラグを前記第2の入出力ピンから出力する
ことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
【請求項5】
前記第2のパリティフラグに応じたプリチャージコマンドに基づいて、前記メモリセルアレイに対してプリチャージ動作を実行する
ことを特徴とする請求項4に記載の不揮発性半導体記憶装置。
【請求項6】
前記ECC処理回路により訂正された複数のリードデータのアドレスおよび前記第1のパリティフラグを、格納するリカバリレジスタを、さらに備える
ことを特徴とする請求項1ないし5のいずれか一項に記載の不揮発性半導体記憶装置。
【請求項7】
前記リカバリレジスタに格納されたアドレスに対応し前記データバッファに格納されている前記メモリセルアレイのリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項6に記載の不揮発性半導体記憶装置。
【請求項8】
前記リカバリレジスタは、訂正されたリードデータをさらに格納することを特徴とする請求項6に記載の不揮発性半導体記憶装置。
【請求項9】
前記リカバリレジスタに格納されたアドレスに対応し且つ前記リカバリレジスタに格納されているリードデータを、前記メモリセルアレイに対して、まとめて再書き込みする
ことを特徴とする請求項8に記載の不揮発性半導体記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2013−25835(P2013−25835A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−158093(P2011−158093)
【出願日】平成23年7月19日(2011.7.19)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月19日(2011.7.19)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]