(57)【要約】【課題】リードディスターブの抑制とレイテンシの改善を図る。【解決手段】実施形態に係わる半導体集積回路は、メモリセルアレイから読み出された第１の単位のデータを第２の単位で保持する入力レジスタ２１と、入力レジスタ２１に保持されたデータのビット状態をカウントするビット状態カウンタ２２と、第１の単位を保持するフレームサイズ設定レジスタ２６と、入力レジスタ２１に入力されるデータの総数が第１の単位に達したか否かを判定する入力データカウンタ２８と、ビット状態カウンタ２２によりカウントされた値を累積する累積回路３３と、メモリセルアレイの消去領域をアクセスしたか否かを判定する閾値を保持する閾値レジスタ２７と、累積回路３３の累積値と閾値レジスタ２７の閾値とを比較し、消去領域をアクセスしたか否かを判定する比較回路２９と、比較回路２９の結果を保持する結果格納レジスタとを備える。【選択図】図４
2012155818.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイから読み出された第１の単位のデータを第２の単位で保持する入力レジスタと、前記入力レジスタに保持された前記データのビット状態をカウントするビット状態カウンタと、前記第１の単位を保持するフレームサイズ設定レジスタと、前記入力レジスタに入力される前記データの総数が前記第１の単位に達したか否かを判定する入力データカウンタと、前記ビット状態カウンタによりカウントされた値を累積する累積回路と、前記メモリセルアレイの消去領域をアクセスしたか否かを判定する閾値を保持する閾値レジスタと、前記累積回路の累積値と前記閾値とを比較し、前記消去領域をアクセスしたか否かを判定する比較回路と、前記比較回路の結果を保持する結果格納レジスタとを具備することを特徴とする半導体集積回路。
【請求項２】
前記比較回路は、前記入力レジスタに入力される前記データの総数が前記第１の単位に達したとき、前記累積回路の累積値と前記閾値とを比較し、前記消去領域をアクセスしたか否かを判定することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１の単位は、可変値であることを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記第１の単位でエラー訂正処理を行うＥＣＣと、前記ＥＣＣでのリードエラーの発生を前記第１の単位ごとに保持するエラーフレームレジスタとをさらに具備し、前記結果格納レジスタは、前記消去領域をアクセスしたか否かを示す前記結果を前記第１の単位ごとに保持することを特徴とする請求項１乃至３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記エラーフレームレジスタにより前記第１の単位において前記リードエラーの発生が確認されたとき、前記結果格納レジスタにより前記第１の単位における前記リードエラーが前記消去領域をアクセスしたことによるものであるか否かを判定することを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリなどの不揮発性半導体メモリでは、読み出し動作の繰り返しによるリードディスターブを防ぐため、読み出し回数はできるだけ少なくするようなシステムを構成するのが望ましい。しかし、従来のシステムでは、リードエラーが発生したときに、消去領域をアクセスしたのか否かをチェックする処理が存在する。この処理では、再度の読み出し動作（リトライ）を行うため、リードディスターブの発生を助長すると共にレイテンシを悪化させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８１３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現する技術を提案する。
【課題を解決するための手段】
【０００５】
実施形態によれば、半導体集積回路は、メモリセルアレイから読み出された第１の単位のデータを第２の単位で保持する入力レジスタと、前記入力レジスタに保持された前記データのビット状態をカウントするビット状態カウンタと、前記第１の単位を保持するフレームサイズ設定レジスタと、前記入力レジスタに入力される前記データの総数が前記第１の単位に達したか否かを判定する入力データカウンタと、前記ビット状態カウンタによりカウントされた値を累積する累積回路と、前記メモリセルアレイの消去領域をアクセスしたか否かを判定する閾値を保持する閾値レジスタと、前記累積回路の累積値と前記閾値とを比較し、前記消去領域をアクセスしたか否かを判定する比較回路と、前記比較回路の結果を保持する結果格納レジスタとを備える。
【図面の簡単な説明】
【０００６】
【図１】メモリシステムを示す図。
【図２】リードエラー発生時の割り込み処理を示すフローチャート。
【図３】メモリシステムを示す図。
【図４】消去領域判定回路を示す図。
【図５】リードエラー発生時の割り込み処理を示すフローチャート。
【図６】閾値レジスタを示す図。
【図７】エラーフレームレジスタを示す図。
【図８】結果格納レジスタを示す図。
【図９】結果格納レジスタを示す図。
【図１０】適用例としてのメモリシステムを示す図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら実施形態を説明する。  
まず、前提となるメモリシステムについて説明する。
【０００８】
図１は、メモリシステムを示している。
【０００９】
メモリコントローラ１１は、不揮発性半導体メモリ１２の読み出し動作を制御する。メモリコントローラ１１は、コマンド信号ＣＭＤにより、不揮発性半導体メモリ１２に読み出し動作を指示すると、不揮発性半導体メモリ１２からデータＤＡＴが読み出される。メモリコントローラ１１は、ＥＣＣ(error correct circuit)１３を有する。
【００１０】
次に、このメモリシステムによるリードエラー発生時の処理を説明する。
【００１１】
図２は、読み出し動作のフローチャートを示している。
【００１２】
読み出し動作は、不揮発性半導体メモリからのデータ読み出しに必要な所定のレジスタ設定を行った後に実行される（ステップＳＴ１〜ＳＴ２）。
【００１３】
ＥＣＣでのエラー訂正（例えば、ＢＣＨデコーディング）において、エラー訂正がパスしたときは、読み出し対象となったページが使用ページ(used page)であると判定される。これに対し、ＥＣＣでのエラー訂正がフェイルしたとき（リードエラーが発生したとき）は、読み出し対象となったページが消去ページであるか否かをチェックする処理が行われる（ステップＳＴ３）。
【００１４】
この処理では、リードエラーが発生したページに対して再度の読み出し動作（リトライ）を行う。再度の読み出し動作も、不揮発性半導体メモリからのデータ読み出しに必要な所定のレジスタ設定を行った後に実行される（ステップＳＴ４〜ＳＴ５）。
【００１５】
再度の読み出し動作で読み出されたデータの内容をＥＣＣにおいて確認し、読み出し対象となったページが消去ページであるか否かを判断する。読み出されたデータのビット状態が消去レベルを示していれば消去ページ(erased page)と判断し、そうでなければ真性のリードエラー、即ち、チップ不良(chip fail)として次の処理に移る（ステップＳＴ６）。
【００１６】
以上の読み出し動作において問題となるのは、リードエラーが発生したときに、消去領域をアクセスしたのか否かをチェックするために、再度の読み出し動作（リトライ）を行うことにある。この再度の読み出しは、リードディスターブの発生を助長して信頼性を低下させると共に、レイテンシを悪化させてアクセス性能を劣化させる。
【００１７】
以上から分かるように、リードエラーが発生したときの処理として、読み出し回数を減らし、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現するためには、最初の読み出し動作において、消去領域をアクセスしたことを判定可能な機能が不可欠となる。
【００１８】
図３は、実施形態に係わるメモリシステムを示している。
【００１９】
このメモリシステムの特徴は、１回の読み出し動作により、不揮発性半導体メモリ１２から読み出したデータが消去領域に存在するか否かを判定可能な消去領域判定回路１６を有する点にある。消去領域判定回路１６は、不揮発性半導体メモリ１２から読み出したデータのビット状態をＥＣＣでのエラー訂正単位であるフレームサイズ単位で認識し、リードエラーが発生したときに、再度の読み出し動作（リトライ）を行うことなく、リードエラー処理に移ることを可能にする機能を有する。これにより、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現する。
【００２０】
尚、ＥＣＣ１３については、図１のメモリシステムと同じである。また、実施形態では、ＥＣＣ１３及び消去領域判定回路１６は、メモリコントローラ１１内に配置されているが、メモリコントローラ１１以外の領域、例えば、不揮発性半導体メモリ１２内に配置してもよい。
【００２１】
図４は、消去領域判定回路を示している。
【００２２】
本例では、消去領域判定回路１６がメモリコントローラ１１内に配置される例を説明する。
【００２３】
不揮発性半導体メモリからは、第１の単位（ビット数）で読み出しデータが読み出される。第１の単位は、例えば、フレームサイズ単位のことであり、不揮発性半導体メモリの種類（例えば、多値セル(MLC: multi-level cell)、２値セル(SLC: single-level cell)など）によって異なる。
【００２４】
入力レジスタ２１は、不揮発性半導体メモリ（例えば、ＮＡＮＤフラッシュメモリ）から読み出された第１の単位のデータを第２の単位で保持する。
【００２５】
例えば、不揮発性半導体メモリから読み出された第１の単位のデータは、第２の単位ごとに、不揮発性半導体メモリからメモリコントローラ内の消去領域判定回路に転送される。入力レジスタ２１は、この第２の単位のデータを順次保持する。この場合、１サイクルで第２の単位のデータの転送が行われるとすると、複数サイクル（≧第１の単位／第２の単位）により、第１の単位のデータの全てが入力レジスタ２１に入力される。
【００２６】
ビット状態カウンタ２２は、入力レジスタ２１に保持されたデータのビット状態をカウントする。ここで、ビット状態とは、各ビットの値“０”／“１”のことである。例えば、ビット状態カウンタ２２は、入力レジスタ２１に保持された複数ビットのうち“０”又は“１”の数をカウントする。
【００２７】
累積回路３３は、入力レジスタ２１に入力されるデータの総数が第１の単位に達するまで、ビット状態カウンタ２２によりカウントされた値を累積する。
【００２８】
例えば、加算器２４は、ビット状態カウンタ２２によりカウントされた値をｎ回（ｎは自然数、ｎ＞第１の単位／第２の単位である）加算する。累積レジスタ２３は、加算器２４の出力を保持する。結果として、累積レジスタ２３、加算器２４及びセレクタ２５のループがｎ回繰り返され、累積レジスタ２３にビット状態カウンタ２２のカウント値が累積される。
【００２９】
フレームサイズ設定レジスタ２６は、不揮発性半導体メモリから読み出されるデータの単位である第１の単位（フレームサイズ単位）を保持する。これは、コントローラ１１が不揮発性半導体メモリに読み出し動作を指示する前に行う。例えば、アクセスするデータが２値領域に存在するか、又は、多値領域に存在するか否か、により、フレームサイズ単位を認識可能であるため、これを予めフレームサイズ設定レジスタ２６に保持する。
【００３０】
閾値レジスタ２７は、消去領域をアクセスしたか否かを判定する閾値を保持する。例えば、消去状態を“１”と仮定すると、消去領域をアクセスしたときは、不揮発性半導体メモリから読み出されるデータのほとんどは“１”となっているはずである。
【００３１】
そこで、例えば、第１の単位のうち“０”の数がｘ個（ｘは自然数）未満のときに消去領域をアクセスしたと判断するとき、閾値設定レジスタ２７にはｘが保持され、ビット状態カウンタ２２は、“０”の数をカウントする（例１）。
【００３２】
また、第１の単位のうち“１”の数がｙ個（ｙは自然数）を超えるときに消去領域をアクセスしたと判断するとき、閾値設定レジスタ２７にはｙが保持され、ビット状態カウンタ２２は、“１”の数をカウントする（例２）。
【００３３】
入力データカウンタ２８は、不揮発性半導体メモリから入力レジスタ２１に入力される読み出しデータ（入力データ）をカウントし、これが第１の単位に達したとき、ビット状態カウンタ２２によりカウントされた値の累積値と閾値設定レジスタ２７の閾値とを比較するように比較回路２９に指示する。
【００３４】
比較回路２９は、上記例１のとき、累積値（“０”の数）がｘ個未満であれば、消去領域をアクセスしたと判断し、累積値（“０”の数）がｘ個以上であれば、使用領域をアクセスしたと判断する。この結果は、第１の単位ごとに結果格納レジスタ３０に保持される。
【００３５】
また、比較回路２９は、上記例２のとき、累積値（“１”の数）がｙ個を超えていれば、消去領域をアクセスしたと判断し、累積値（“１”の数）がｙ個以下であれば、使用領域をアクセスしたと判断する。この結果は、第１の単位ごとに結果格納レジスタ３０に保持される。
【００３６】
また、入力データカウンタ２８は、不揮発性半導体メモリから入力レジスタ２１に入力される読み出しデータ（入力データ）が第１の単位に達したとき、セレクタ２５を一時的に切り替え、累積レジスタ２３をリセットする。
【００３７】
尚、本例では、不揮発性半導体メモリから入力レジスタ２１に入力される読み出しデータ（入力データ）が第１の単位に達したとき、ビット状態カウンタ２２によりカウントされた値の累積値と閾値設定レジスタ２７の閾値とを比較する。
【００３８】
但し、上記例１では、累積値（“０”の数）がｘ個以上となった時点で、直ちに使用領域をアクセスしたと判断し、その結果を結果格納レジスタ２３に格納してもよい（例３）。
【００３９】
同様に、上記例２のときは、累積値（“１”の数）がｙ個を超えた時点で、直ちに消去領域をアクセスしたと判断し、その結果を結果格納レジスタ３０に格納してもよい（例４）。
【００４０】
これら例３及び例４では、入力レジスタ２１に入力される読み出しデータ（入力データ）が第１の単位に達する前に、消去領域をアクセスしたか否かを判定できるため、レイテンシの改善によるさらなるアクセス性能の向上を図ることができる。
【００４１】
例えば、例４では、不揮発性半導体メモリからのデータ読み出しが完了する前に消去領域をアクセスしたと判断することができ、消去領域からのデータ読み出しを中断することができる。具体的には、第１の単位の読み出しデータを不揮発性半導体メモリから読み出している途中で累積値（“１”の数）がｙ個を超えれば、その時点で消去領域をアクセスしたと判断することができ、不揮発性半導体メモリからの残りの第１の単位の読み出しデータの読み出しを省略することができる。
【００４２】
また、読み出しデータをデータ反転回路により反転させた後に、上記例１〜例４と同様の処理を行うことも可能である。
【００４３】
一方、ＥＣＣ１３でのエラー訂正処理と消去領域判定回路１６での処理とは、互いに連携していることが必要である。
【００４４】
ＥＣＣ１３では、フレームサイズ単位である第１の単位でエラー訂正処理を実行する。例えば、メモリシステムが２値データ及び多値データの双方を利用する場合などのように、フレームサイズ単位が変化するときは、メモリコントローラ１１は、複数のＥＣＣ、又は、エラー訂正処理のサイズが可変であるＥＣＣを備える。
【００４５】
このＥＣＣ１３での処理単位（第１の単位）に合わせてフレームサイズ設定レジスタ２６の値を設定する。また、リードエラーが発生したとき、リードエラーが発生したフレーム（第１の単位）の位置をエラーフレームレジスタ３１に保持する。
【００４６】
コントローラ１１は、読み出し動作において、制御バス３２を介して、エラーフレームレジスタ３１の情報を確認することにより、所定フレームについてリードエラーが発生したか否かを確認できる。また、コントローラ１１は、リードエラーが発生したとき、結果格納レジスタ３０の値を参酌することにより、直ちに、その所定フレームにおけるリードエラーが、消去領域をアクセスしたことによるものか、又は、真性のリードエラー（チップ不良）かを判定でき、次の処理に移ることができる。
【００４７】
このように、ＥＣＣ１３と消去領域判定回路１６との間で互いに十分な連携がとれているため、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現することができる。
【００４８】
次に、このメモリシステムによるリードエラー発生時の処理を説明する。
【００４９】
図５は、読み出し動作のフローチャートを示している。
【００５０】
読み出し動作は、不揮発性半導体メモリからのデータ読み出しに必要な所定のレジスタ設定を行った後に実行される。また、リードエラーが発生したときに、消去領域をアクセスしたか否かを判定する処理（消去領域判定処理）を実行するか否かのレジスタ設定を行う（ステップＳＴ１〜ＳＴ２）。
【００５１】
消去領域判定処理を行うときは、メモリセルアレイ（例えば、不揮発性半導体メモリ）から読み出される読み出しデータ（入力データ）の単位（第１の単位）をフレームサイズ設定レジスタに設定する。また、消去領域をアクセスしたか否かを判定するための閾値を閾値レジスタに設定する。
【００５２】
ここでは、消去領域判定をオンとする。また、本例では、不揮発性半導体メモリからの読み出しデータを反転した後に消去領域判定回路による判定を行う例を説明する。即ち、データ反転前の消去状態を“１”とすると、データ反転後の第１の単位内の“０”の数を累積し、その累積値がｙ個を超えたか否かを判定する例（上記例２の“１”を“０”に置き換えた例に相当）を説明する。
【００５３】
例えば、図６に閾値レジスタの例を示す。
【００５４】
消去領域をアクセスしたか否かを判定するための閾値は、第１の単位内に存在する“０”の数により設定される。例えば、第１の単位が１０２４（２１０）ビット＋冗長ビット（ＥＣＣのためのパリティビットを含む）から構成されていると仮定すると、閾値レジスタは、３２ビットbit0〜bit31のうちの下位の１１ビットbit0〜bit10により閾値を設定することができる。
【００５５】
閾値は、不揮発半導体メモリの種類、特性などに応じて決定される。
【００５６】
また、第１の単位が可変値であるときは、第１の単位の最大値について閾値を設定できるのに十分なビット数を有していることが必要である。例えば、第１の単位が、１０２４（２１０）ビット＋冗長ビット、及び、５１２（２９）ビット＋冗長ビットのうちの１つを選択的に有するときは、閾値レジスタは、第１の単位の最大値を設定できる１１ビットbit0〜bit10を有していることが必要である。
【００５７】
本例では、消去領域をアクセスしたか否かを判定するための閾値のビットシンボルは、ERTHOV[10:0]であり、閾値の読み出しは、Read (R)、閾値の書き込みは、Write (W)で表現している。また、閾値レジスタの最上位ビットbit31を消去領域判定のオン／オフを示す領域としている。消去領域判定のビットシンボルは、ERCNTE Nであり、消去領域判定の読み出しは、Read (R)、消去領域判定の書き込みは、Write (W)で表現している。
【００５８】
また、本例では、閾値ERTHOV[10:0]及び消去領域判定ERCNTE Nは、共に、書き込み前のリセット状態“０”を示している。
【００５９】
次に、ＥＣＣでのエラー訂正（例えば、ＢＣＨデコーディング）において、第１の単位のエラー訂正がパスしたときは、その第１の単位が使用ページ(used page)内にあると判定される。これに対し、ＥＣＣでの第１の単位のエラー訂正がフェイルしたとき（リードエラーが発生したとき）は、その第１の単位が消去ページ内にあるか否かをチェックする。
【００６０】
このチェックは、消去領域判定回路内の結果格納レジスタの値を参酌すれば、直ちに終了する。
【００６１】
そして、結果格納レジスタの値が消去ページ内にあることを示していれば消去ページ(erased page)と判断し、そうでなければ真性のリードエラー、即ち、チップ不良(chip fail)として次の処理に移る（ステップＳＴ３）。
【００６２】
例えば、図７にエラーフレームレジスタの例を示す。
【００６３】
エラーフレームレジスタは、例えば、メモリセルアレイから第１の単位で読み出される読み出しデータの数（例えば、１ページ内のフレーム数に相当）を規定するために十分なビット数を有していることが必要である。例えば、１ページが６４キロビットにより構成され、１フレーム（第１の単位）が１キロビットにより構成されるとき、メモリセルアレイから第１の単位で読み出される読み出しデータの数（フレーム数）は、６４個である。
【００６４】
従って、この場合、図７に示すように、エラーフレームレジスタは、３２ビットbit0〜bit31のうちの下位の６ビットbit0〜bit5により、メモリセルアレイから読み出されるフレーム（第１の単位）の位置を特定する。
【００６５】
本例では、エラーフレームレジスタのビットシンボルは、ERRFRAME[5:0]であり、エラーフレームレジスタの読み出しは、Read (R)、エラーフレームレジスタの書き込みは、Write (W)で表現している。また、本例では、エラーフレームレジスタERRFRAME[5:0]は、書き込み前のリセット状態“０”を示している。
【００６６】
また、図８及び図９に結果格納レジスタの例を示す。
【００６７】
この結果格納レジスタは、図７のエラーフレームレジスタに対応している。即ち、図７の例では、メモリセルアレイから第１の単位で読み出される読み出しデータの数（フレーム数）は、６４個である。
【００６８】
従って、図８及び図９に示すように、結果格納レジスタは、６４ビットbit0〜bit31  ×２だけ有する。
【００６９】
本例では、結果格納レジスタのビットシンボルは、ERF[63:0]であり、結果格納レジスタの読み出しは、Read (R)、結果格納レジスタの書き込みは、Write (W)で表現している。また、本例では、結果格納レジスタERF[63:0]は、書き込み前のリセット状態“０”を示している。
【００７０】
このように、ＥＣＣでの第１の単位のエラー訂正がフェイルしたとき（リードエラーが発生したとき）は、その第１の単位が消去ページ内にあるか否かを、消去領域判定回路内の結果格納レジスタの値を参酌することにより、直ちにチェックできる。
【００７１】
尚、消去ページをアクセスしたときは、必ずリードエラーとなる。
【００７２】
なぜなら、ＥＣＣでのエラー訂正の単位となる第１の単位（フレームサイズ単位）のデータ構成は、ユーザデータの他に必ずパリティビットを含んでいる。このため、第１の単位が消去状態のとき、パリティビットも消去状態になるので、ＥＣＣでのエラー訂正は、パリティビットが適切でないために必ずリードエラーとなるからである。
【００７３】
以上、ＥＣＣにおいて第１の単位のリードエラーが発生したときに、消去領域判定回路内の結果格納レジスタの値を参酌するだけで、直ちにその第１の単位が消去ページ内にあるか否かをチェックできるため、再度の読み出し動作（リトライ）が不要であり、結果として、リードエラー処理の高速化により、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現できる。
【００７４】
ところで、結果格納レジスタの値を決める消去領域判定処理は、読み出し動作（ステップＳＴ２〜ＳＴ３）に並行して行われる。
【００７５】
例えば、各レジスタの設定が終わり、読み出し動作を開始すると、第１の単位（例えば、１０２４ビット＋冗長ビット）の読み出しデータは、データ反転後に、第２の単位（例えば、８ビット）ごとに、順次、入力レジスタに入力される。
【００７６】
そして、入力レジスタに最初に保持された第２の単位から“０”の数を計算し、これを累積レジスタに保持する。同様に、入力レジスタに次に保持された第２の単位から“０”の数を計算し、これを累積レジスタの値に加算し、その結果を再び累積レジスタに保持する。このような動作を、例えば、入力レジスタに入力される読み出しデータの総数が第１の単位に達するまで繰り返す。
【００７７】
また、入力データカウンタによるカウント値が、フレームサイズ設定レジスタに設定された値（例えば、第１の単位）に達すると、比較回路により、累積回路の累積値と閾値レジスタの閾値とが比較される。
【００７８】
例えば、第１の単位の番号（フレーム番号）No.3においてリードエラーが発生したときは、図７のエラーフレームレジスタERRFRAME[5:0]の値は、第１の単位の番号（フレーム番号）No.3を示す値ERRFRAME[5:0]＝000010になる。
【００７９】
これに並行して、第１の単位の番号（フレーム番号）No.3において、累積値＞閾値（ｙ個）のときは、消去領域をアクセスしたと判断されるため、図８及び図９の結果格納レジスタERF3の値が“１”にセットされる。また、第１の単位の番号（フレーム番号）No.3において、累積値≦閾値（ｙ個）のときは、消去領域をアクセスしたと判断されないため、図８及び図９の結果格納レジスタERF3の値が“０”にセットされる。
【００８０】
そして、メモリコントローラは、ERRFRAME[5:0]＝000010により、第１の単位の番号（フレーム番号）No.3においてリードエラーが発生したことを確認すると、結果格納レジスタのERF3の値を参酌し、第１の単位の番号（フレーム番号）No.3のリードエラーが、消去領域をアクセスしたことによるものか、又は、真性のリードエラーかを判断する。
【００８１】
ところで、読み出しデータは、逐次、ＥＣＣに復号データとして入力される。そして、ＥＣＣに第１の単位（フレームサイズ）のデータが入力された時点で、復号処理を開始する。また、これに並行して、読み出しデータは、逐次、消去領域判定回路に入力される。そして、消去領域判定回路に第１の単位（フレームサイズ）のデータが入力された時点で、消去領域をアクセスしたか否かの判定を開始する。
【００８２】
ＥＣＣにおいて復号処理が正常に終了すると、リードエラーとならないため、引き続き、次の第１の単位についてＥＣＣにおける復号処理を行う。これに対し、何らかの原因によりリードエラーが発生すると、一時的にＥＣＣにおける復号処理を停止し、割り込み処理によりその原因を確認する。
【００８３】
リードエラーが消去領域をアクセスしたものか否かについては、実施形態の消去領域判定回路を使用すれば、容易に判定することができる。
【００８４】
図１０は、実施形態の適用例としてのメモリシステムを示している。
【００８５】
本例では、メモリカードを用いたシステムについて説明するが、実施形態は、他のメモリシステム（例えば、SSD: solid state drive、USBメモリなど）に適用することも可能である。また、図１０において、CMDは、コマンドであり、DAT[7:0]は、読み出し／書き込みデータであり、CLKは、クロックである。
【００８６】
メモリカード４１は、メモリコントローラＡと不揮発性半導体メモリＢを備えるメモリシステムを構成する。また、メモリカード４１を装着可能な電子機器（例えば、デジタルビデオカメラなど）は、メモリカード４１及びホストコントローラ４２を備えるメモリシステムを構成する。
【００８７】
ホストコントローラ４２からメモリカード４１に対して読み出し命令があると、不揮発性半導体メモリＢからのデータ読み出しが実行される。そして、例えば、メモリコントローラＡが実施形態の消去領域判定回路を有するとき、リードエラーが発生すると、エラーフレームレジスタの情報が割り込み要求又は別の方法（レジスタのポーリング動作）により、メモリコントローラＡはこれを認識する。
【００８８】
メモリコントローラＡは、リードエラーが発生したフレームを確認すると共に、消去領域判定回路内の結果格納レジスタのチェックを行う。そして、リードエラーが発生したフレームに対応する結果格納レジスタの値がセット状態（“１”状態）のとき、リードエラーが消去領域をアクセスしたことによるものと判断し、次の処理へ進む。
【００８９】
以上、実施形態によれば、消去領域判定回路は、メモリセルアレイから読み出したデータのビット状態をＥＣＣでのエラー訂正単位であるフレームサイズ単位で認識し、リードエラーが発生したときに、再度の読み出し動作（リトライ）を行うことなく、リードエラー処理に移ることを可能にする機能を有する。これにより、リードディスターブの抑制による信頼性の向上とレイテンシの改善によるアクセス性能の向上とを実現する。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１１：  メモリコントローラ、  １２：  不揮発性半導体メモリ、  １３：  ＥＣＣ、  １６：  消去領域判定回路、  ２１：  入力レジスタ、  ２２：  ビット状態カウンタ、  ２３：  累積レジスタ、  ２４：  加算器、  ２５：  セレクタ、  ２６：  フレームサイズ設定レジスタ、  ２７：  閾値レジスタ、  ２８：  入力データカウンタ、  ２９：  比較回路、  ３０：  結果格納レジスタ、  ３１：  エラーフレームレジスタ、  ３２：  制御バス（ＣＰＵバス）、  ３３：  累積回路。
【図１】
2012155818.tif 000003
【図２】
2012155818.tif 000004
【図３】
2012155818.tif 000005
【図４】
2012155818.tif 000006
【図５】
2012155818.tif 000007
【図６】
2012155818.tif 000008
【図７】
2012155818.tif 000009
【図８】
2012155818.tif 000010
【図９】
2012155818.tif 000011
【図１０】
2012155818.tif 000012