(57)【要約】【課題】ＥＣＣだけに頼ることなく、リードディスターブを未然に抑制することができる半導体記憶装置を提供する。【解決手段】半導体記憶装置は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域２２と、第１のメモリ領域から読み出されたデータ、あるいは、第１のメモリ領域へ書き込むデータを一時的に格納する第２のメモリ領域２３と、データ読出し回数をメモリグループごとに記憶するリードカウンタ２４と、読み出したデータの誤りビット数を計算する誤り訂正回路と、誤りビット数が第１の閾値を超えた場合、あるいは、データ読出し回数が第２の閾値を超えた場合、読み出されたデータが格納されていたメモリグループのデータを第２のメモリ領域に一旦読み出し、かつ該データを該メモリグループへ書き戻すリフレッシュ動作を実行する制御部２１とを備えている。【選択図】図１
2009087509.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域と、
前記第１のメモリ領域から読み出されたデータ、あるいは、前記第１のメモリ領域へ書き込むデータを一時的に格納する第２のメモリ領域と、
データ読出し回数を前記メモリグループごとに記憶するリードカウンタと、
読み出したデータの誤りビット数を計算する誤り訂正回路と、
前記誤りビット数が第１の閾値を超えた場合、あるいは、前記データ読出し回数が第２の閾値を超えた場合、読み出されたデータが格納されていた前記メモリグループのデータを前記第２のメモリ領域に一旦読み出し、かつ該データを該メモリグループへ書き戻すリフレッシュ動作を実行する制御部とを備えた半導体記憶装置。
【請求項２】
データの読出しは複数のメモリセルを含むページ単位で実行され、データの消去は複数のページを含むブロック単位で実行され、前記リードカウンタは、データ読出し回数を前記ブロック単位で記憶することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
データ書込み回数を前記メモリグループごとに記憶するライトカウンタをさらに備え、
前記制御部は、前記第２の閾値を前記データ書込み回数に応じて変更することを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記誤りビット数が第１の閾値を超えており、かつ、該誤りビット数の過半数が第１の論理値から第２の論理値へ変化している場合、前記第２の閾値を前記リードカウンタ内のデータ読出し回数とすることを特徴とする請求項１から請求項３のいずれかに記載の半導体記憶装置。
【請求項５】
複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域と、
前記第１のメモリ領域から読み出されたデータ、あるいは、前記第１のメモリ領域へ書き込むデータを一時的に格納する第２のメモリ領域と、
読み出したデータの誤りビット数を計算する誤り訂正回路と、
読み出されたデータが格納されていた前記メモリグループのデータを前記第２のメモリ領域に一旦読み出し、かつ該データを該メモリグループへ書き戻すリフレッシュ動作を実行する制御部と、
或るリフレッシュ動作と次のリフレッシュ動作との間の期間における前記誤りビット数のうち最大誤りビット数を保持する最大値レジスタと、
前記第１のメモリ領域へ電力供給を停止した後、該第１のメモリ領域へ電力供給を再開した場合に、この電力供給の再開後、最初の読出し動作であることを示すフラグを格納するフラグレジスタとを備え、
前記第１のメモリ領域への電力供給を再開してから最初の読出し動作における前記誤りビット数が、該電力供給の再開以前における前記最大誤りビット数よりも大きい場合、前記制御部が前記リフレッシュ動作を実行することを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に係り、例えば、ＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
半導体メモリは、コンピュータ、家電製品、携帯電話等で広く用いられている。ＮＡＮＤ型フラッシュメモリに代表されるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）型不揮発性メモリは、パーソナルコンピュータ、デジタルカメラ、デジタルビデオ、デジタルテレビ、ＭＰ３、携帯機器の記憶媒体として汎用されている。
【０００３】
さらに、ＮＡＮＤ型フラッシュメモリは、大容量化および高集積化に優れているため、近年、ハードディスクの代わりに採用されるようになってきた。ＮＡＮＤ型フラッシュメモリをハードディスクに代えて使用する場合、リードディスターブによるデータ劣化、および、消去・書込みの繰り返しによるゲート絶縁膜の物理的劣化が問題となる。
【０００４】
ゲート絶縁膜の物理的劣化は、リテンション不良を引き起こす。つまり、電荷（例えば、電子）が、フローティングゲートから短時間で抜けてしまい、データが破壊される。ＮＡＮＤ型フラッシュメモリの書込み回数の限界は１０５回程度である。これに対処するために、リフレッシュ動作およびウェアレベリングが実行される。リフレッシュ動作は、メモリセルのデータを一旦読出し、このデータと同一データをメモリセルへリストアする動作である。ウェアレベリングは、消去回数の多いブロックの論理アドレスと消去回数の少ないブロックの論理アドレスとを交換することによって消去回数の平均化を図る操作である。
【０００５】
また、ＮＡＮＤ型メモリでは、非選択メモリセル（読出し対象外のページの非選択メモリセルも含む）のゲートに高電圧を掛けることによってデータの読出しを行う。このため、高電圧が読出し動作ごとに非選択メモリセルに繰り返し印加されるため、電荷がフローティングゲートへ入り込んでしまう。これにより、メモリセルのデータが破壊されてしまう。この現象をリードディスターブという。
【０００６】
従来、リードディスターブの対策として、ＥＣＣ（Error-Correcting Code）を用いた誤り訂正が行われていた。しかし、多数の誤りビットを訂正するためには、大容量のＥＣＣが必要になる。また、メモリの微細化や１セルに２ビット以上の情報を記憶する多値化によって、さらに大容量のＥＣＣが必要となる。
【特許文献１】特開２００４−３２６８６７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＥＣＣだけに頼ることなく、リードディスターブを未然に抑制することができる半導体記憶装置を提供する。
【課題を解決するための手段】
【０００８】
本発明に係る実施形態に従った半導体記憶装置は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域と、前記第１のメモリ領域から読み出されたデータ、あるいは、前記第１のメモリ領域へ書き込むデータを一時的に格納する第２のメモリ領域と、データ読出し回数を前記メモリグループごとに記憶するリードカウンタと、読み出したデータの誤りビット数を計算する誤り訂正回路と、前記誤りビット数が第１の閾値を超えた場合、あるいは、前記データ読出し回数が第２の閾値を超えた場合、読み出されたデータが格納されていた前記メモリグループのデータを前記第２のメモリ領域に一旦読み出し、かつ該データを該メモリグループへ書き戻すリフレッシュ動作を実行する制御部とを備えている。
【０００９】
本発明に係る実施形態に従った半導体記憶装置は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域と、前記第１のメモリ領域から読み出されたデータ、あるいは、前記第１のメモリ領域へ書き込むデータを一時的に格納する第２のメモリ領域と、読み出したデータの誤りビット数を計算する誤り訂正回路と、読み出されたデータが格納されていた前記メモリグループのデータを前記第２のメモリ領域に一旦読み出し、かつ該データを該メモリグループへ書き戻すリフレッシュ動作を実行する制御部と、或るリフレッシュ動作と次のリフレッシュ動作との間の期間における前記誤りビット数のうち最大誤りビット数を保持する最大値レジスタと、前記第１のメモリ領域へ電力供給を停止した後、該第１のメモリ領域へ電力供給を再開した場合に、この電力供給の再開後、最初の読出し動作であることを示すフラグを格納するフラグレジスタとを備え、
前記第１のメモリ領域への電力供給を再開してから最初の読出し動作における前記誤りビット数が、該電力供給の再開以前における前記最大誤りビット数よりも大きい場合、前記制御部が前記リフレッシュ動作を実行することを特徴とする。
【発明の効果】
【００１０】
本発明による半導体記憶装置は、ＥＣＣだけに頼ることなく、リードディスターブを未然に抑制することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１２】
（第１の実施形態）
図１は、本発明に係る第１の実施形態に従ったメモリシステムの構成を示すブロック図である。メモリシステム２０は、ホストＰＣ１０と通信接続されている。メモリシステム２０は、ホストＰＣ１０から読出しコマンドまたは書込みコマンドを受けて、そのコマンドに従って、読出し動作あるいは書込み動作を実行する。
【００１３】
メモリシステム２０は、制御部としてのコントローラ２１と、第１のメモリとしてのＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリ）２２と、第２のメモリとしての強誘電体メモリ（以下、ＲＡＭ）２３とを備えている。
【００１４】
ＮＡＮＤメモリ２２は、例えば、ＥＥＰＲＯＭ型不揮発性メモリであり、主記憶メモリとして用いられる。ＮＡＮＤメモリ２２は、複数のページからなるブロックで構成されており、各ページは複数のメモリセルに格納された複数のビット（メモリセル）で構成されている。データ書込み動作およびデータ読出し動作は、通常、ページ単位で実行される。データ消去／書換え動作は、通常、メモリグループとしてのブロック単位で実行される。そのため、各ページおよび各ブロックにはそれぞれアドレスが割り当てられている。本実施形態において、データの書込み、書戻し、または、消去の単位は、ページ単位またはブロック単位に限定せず、その他のメモリグループを単位としてよい。メモリグループは、複数のメモリセルを含むメモリの単位である。
【００１５】
ＲＡＭ２３は、ＮＡＮＤメモリ２２のデータをリフレッシュする時に、ＮＡＮＤメモリ内のデータを一時的に格納し、あるいは、ＮＡＮＤメモリへのデータの読出し／書込み時に、データを一時的に格納するキャッシュメモリとして用いられる。コントローラ２１は、ＮＡＮＤメモリ２２およびＲＡＭ２３を制御する。また、コントローラ２１はＥＣＣ回路を含み、ＥＣＣ回路はエラー訂正された誤りビット数（エラーセル数）の計算等の演算に用いられる。
【００１６】
ＮＡＮＤメモリ２２は、高集積に優れている。ＲＡＭ２３は、読出し／書込み動作が速い。ＲＡＭ２３は、リードカウンタ２４を含む。リードカウンタ２４は、データ読出し回数をブロックごとに記憶する。
【００１７】
図２は、リードカウンタ２４の構成を示す概念図である。リードカウンタ２４は、読出しを実行したページ数の累計をブロックごとに格納している。例えば、ブロック１のうち２ページを読み出した場合には、ブロック１の読出し回数に２を加算し、その結果値をブロック１の読出し回数としてリードカウンタ２４に格納する。リードカウンタ２４は、不揮発性のＲＡＭ２３に格納されており、瞬停の場合でも読出し回数の情報は消失しない。
【００１８】
図３は、第１の実施形態によるメモリシステム２０の動作を示すフロー図である。まず、メモリシステム２０は、ホストＰＣ１０から読出し／書込みコマンドを受け取る。コントローラ２１は、転送開始アドレスや転送容量等の情報に基づき、ＮＡＮＤメモリ２２への読出しアクセスが生じるか否かを判断する（Ｓ１０）。即ち、コントローラ２１は、ＮＡＮＤメモリ２２からの読出し動作が実行されるか否かを判断する。
【００１９】
ＮＡＮＤメモリ２２からデータを読み出す場合、コントローラ２１は、ＮＡＮＤメモリ２２からＲＡＭ２３へデータ転送を行う（Ｓ２０）。読出し動作は、ページごとに実行される。コントローラ２１は、ホストＰＣ１０へのデータ転送を行う（Ｓ３０）。ＲＡＭ２３へデータ転送を行うとき、ＥＣＣ回路が、読み出されるデータの誤りビット数を計算する（Ｓ４０）。その結果、誤りビット数が第１の閾値をよりも大きい場合、コントローラ２１は、読出し対象ブロックに対してリフレッシュ動作を実行する（Ｓ７０）。誤りビット数が第１の閾値をよりも大きい場合には、読み出されたデータのうち多くのビットデータが、リテンション不良、あるいは、リードディスターブの影響により破壊されていると判断することができるからである。リフレッシュ動作時には、誤りビットを修正したデータをＮＡＮＤメモリ２２へ書き戻す。
【００２０】
第１の閾値は、ＥＣＣ回路において訂正可能な最大誤りビット数に基づいて決定する。例えば、第１の閾値は、１ページの最大誤りビット数の８０％に設定してもよい。この場合、１ページあたりの実際の誤りビット数が最大誤りビット数の８０％を超えた場合にリフレッシュ動作を実行する。第１の閾値は、ＥＣＣ回路内のレジスタに格納しておけばよい。リフレッシュ動作を実行した場合には、リードカウンタ２４の対象ブロックの読出し回数をゼロにリセットする。
【００２１】
ステップＳ４０において、誤りビット数が第１の閾値以下である場合、リードカウンタ２４のうち、読出し対象ブロックのデータを転送ページ数分だけ足す（Ｓ５０）。例えば、読出し動作において、ＮＡＮＤメモリ２２のブロック１から２ページ分のデータをＲＡＭ２３に転送（読み出し）した場合、ステップＳ５０において、コントローラ２１は、リードカウンタ２４のブロック１の読出し回数を２だけインクリメントする。
【００２２】
次に、コントローラ２１は、リードカウンタ２４の読出し回数が第２の閾値を超えているか否かを判断する（Ｓ６０）。読出し対象ブロックの読出し回数が第２の閾値を超えている場合には、その対象ブロックに対してリフレッシュ動作を実行する（Ｓ７０）。読出し対象ブロックの読出し回数が第２の閾値以下である場合には、読出し動作を終了する。ステップＳ７０でのリフレッシュ動作は、リードディスターブを予防するために実行される。従って、第２の閾値は、リードディスターブが生じる読出し回数以下に設定されることが好ましい。例えば、第２の閾値は、リードディスターブが生じる読出し回数の８０％に設定してよい。リードディスターブが生じる読出し回数は、製造ライン、製造条件等から統計的に予測可能な数値である。
【００２３】
ステップＳ１０において、ＮＡＮＤメモリ２２からデータを読み出さない場合、コントローラ２１は、ホストＰＣ１０へのデータ転送を行い（Ｓ８０）、読出し動作を終了する。
【００２４】
図４は、リフレッシュ動作を示すフロー図である。既に消去済みのブロックが存在する場合（Ｓ７１）、ウェアレベリングを実行する（Ｓ７２、Ｓ７３）。より詳細には、リフレッシュ対象のブロックの全データをＲＡＭ２３に読み出し、このデータを消去済みのブロックへ書き込む（Ｓ７２）。例えば、ブロック２が既に消去済みのブロックであり、ブロック１がリフレッシュ対象のブロックであるとする。この場合、ブロック１のデータを一旦、ＲＡＭ２３に読み出し、このデータをブロック２へ書き込む。ブロック１のデータは、消去される。これにより、使用されていなかった（使用頻度の少なかった）ブロック２へデータを転送する。その結果、データリテンション不良を予防することができる。ＮＡＮＤメモリ２２がＮＡＮＤ間コピーの機能を有する場合、ステップＳ７２において、ＲＡＭ２３を用いることなく、ＮＡＮＤ間コピーを用いてリフレッシュ対象のブロックのデータを、消去済みのブロックへコピーしてもよい。
【００２５】
データを転送した後、論理アドレスと物理アドレスとを変換する（Ｓ７３）。例えば、ブロック１のデータをブロック２へ転送した場合、ブロック１の論理アドレスとブロック２の論理アドレスとを交換する。これにより、ブロック２に転送されたデータに対応する論理アドレスが、ブロック２に割り当てられる。その後、リードカウンタ２４に格納されたリフレッシュ対象ブロックの読出し回数をゼロにリセットする（Ｓ７４）。
【００２６】
ＮＡＮＤメモリ２２の全ブロックにデータが格納されており、消去済みのブロックが存在しない場合（Ｓ７１）、リフレッシュ対象のブロックの全データをＲＡＭ２３に読み出し（Ｓ７５）、その後、リフレッシュ対象のブロックのデータを消去し（Ｓ７６）、ＲＡＭ２３のデータをリフレッシュ対象のブロックへ書き戻す（Ｓ７７）。リフレッシュ動作後、リードカウンタ２４に格納されたリフレッシュ対象ブロックの読出し回数をゼロにリセットする（Ｓ７４）。
【００２７】
本実施形態によれば、誤りビット数が第１の閾値を超えた場合、あるいは、データ読出し回数が第２の閾値を超えた場合に、読出し対象であるブロックに対してリフレッシュ動作を実行する。これにより、ＥＣＣだけに頼ることなく、リードディスターブを未然に抑制することができる。また、本実施形態では、ＥＣＣによる誤りビット数に応じてリフレッシュ動作を実行しているので、リードディスターブを予防するだけでなく、データリテンション不良についても修正することができる。
【００２８】
リフレッシュ動作では、通常、ＮＡＮＤメモリ２２のリフレッシュ対象ブロック内の全データをＲＡＭ２３へ読み出し、このデータを書き戻す。しかし、書込みデータ（更新データ）がＲＡＭ２３に存在する場合には、リフレッシュ対象ブロックのうち更新対象のページについては読み出す必要は無い。従って、この場合、リフレッシュ対象ブロックのうち更新対象ページ以外のページをＲＡＭ２３へ読み出し、この読み出されたページおよび更新対象ページを合わせてＲＡＭ２３からリフレッシュ対象ブロックへ書き込んでもよい。
【００２９】
（第２の実施形態）
図５は、本発明に係る第２の実施形態に従ったメモリシステムの構成を示すブロック図である。第２の実施形態は、ＲＡＭ２３がライトカウンタ２５および第２の閾値レジスタ２６を備えている点で第１の実施形態と異なる。第２の実施形態のその他の構成は、第１の実施形態の構成と同様でよい。
【００３０】
図６は、リードカウンタ２４、ライトカウンタ２５および第２の閾値レジスタ２６を示す概念図である。ライトカウンタ２５は書き込みブロックの消去回数をブロック毎に格納している。即ち、ＮＡＮＤフラッシュは或るブロックに書き込む前に消去を行うので、ライトカウンタ２５はこの消去回数をカウントする。ライトカウンタ２５は、不揮発性のＲＡＭ２３に格納されており、瞬停の場合でも読出し回数の情報は消失しない。
【００３１】
第２の閾値レジスタ２６は、第２の閾値をブロックごとに格納する。これは、第２の閾値は、各ブロックの書込み回数に応じて異なる場合があるからである。第２の閾値レジスタ２６は、不揮発性のＲＡＭ２３に格納されており、瞬停の場合でも読出し回数の情報は消失しない。
【００３２】
ライトカウンタ２５は、第２の閾値をデータ書込み回数に応じて変更するために用いられる。図７に示すように、通常、リードディスターブが生じる読出し回数は、書込み回数の上昇に応じて低下する。これは、書込み回数が上昇すると、メモリセルのゲート絶縁膜が物理的に劣化し、リードディスターブが生じやすくなるためである。従って、第２の実施形態では、第２の閾値を書込み回数に応じて低下させる。
【００３３】
例えば、図７に示すように、書込み回数が１０４回以下の場合、第２の閾値は、書込み回数が１０４回以下という範囲において、リードディスターブが生じる読出し回数の最小値１０４の８０％にする。書込み回数が１０４回〜１０５回の場合、第２の閾値は、書込み回数が１０４回〜１０５回という範囲において、リードディスターブが生じる読出し回数の最小値１０３の８０％にする。さらに、書込み回数が１０５回以上の場合、第２の閾値は、１０２の８０％にする。尚、データ書込み回数と第２の閾値との対応関係は、ブロックごとの第２の閾値とともにＲＡＭ２３に格納すればよい。
【００３４】
第２の実施形態によるメモリシステムの動作は、ＥＣＣによる誤りビット数および読出し回数に基づいてリフレッシュ動作を実行する点で第１の実施形態と同じである。従って、図３および図４に示す動作はそのまま第２の実施形態に適用することができる。ただし、第２の実施形態では、書込み回数に応じて第２の閾値を変更するため、第２の閾値が変数となる。このように、書込み回数に応じて第２の閾値を変更することによって、メモリセルのゲート絶縁膜の劣化を考慮して、リフレッシュ動作の頻度を変更することができる。
【００３５】
例えば、図６のように、ブロック０〜ブロック２における読出し回数は、ブロック１（１０００回）よりもブロック２（５１２４回）の方が多い。しかし、書込み回数は、ブロック２（１０００回）よりもブロック１（１０００１回）の方が多い。よって、ブロック１の第２の閾値は、１０３×０．８であり、ブロック２の第２の閾値は、１０４×０．８である。従って、ブロック１からデータを読み出した場合、ブロック１は、リフレッシュ対象となるが、ブロック２からデータを読み出した場合、ブロック２は、リフレッシュ対象とならない。
【００３６】
第２の実施形態において、第２の閾値は、書込み回数に応じて段階的に変更する。第２の閾値の変更頻度は、図８に示す変更頻度より細分化してよい。さらに、第２の閾値は、書込み回数の更新とともに変更しても構わない。
【００３７】
第２の実施形態は、書込み回数に応じて第２の閾値を変更することによって、リードディスターブの生じやすさに依存して、第２の閾値を変更することができる。第２の実施形態は、第１の実施形態の効果をも得ることができる。
【００３８】
（第３の実施形態）
図８は、本発明に係る第３の実施形態に従ったメモリシステムの構成を示すブロック図である。図９は、リードカウンタ２４および第２の閾値レジスタ２６を示す概念図である。図１０は、第３の実施形態によるメモリシステムの動作を示すフロー図である。第３の実施形態は、ＥＣＣによる誤りビット数およびそのデータの誤り方向に基づいて第２の閾値を変更する。従って、第３の実施形態は、第２の閾値レジスタ２６を備えている点で第１の実施形態と異なる。第３の実施形態のその他の構成は、第１の実施形態の構成と同様でよい。
【００３９】
データの誤り方向とは、論理値が０から１へ変化している場合（誤り方向１）と論理値が１から０へ変化している場合（誤り方向２）とのいずれかである。例えば、電子がメモリセルのフローティングゲートに多数蓄積されている状態をデータ“１”とし、電子がメモリセルのフローティングゲートに蓄積されていない状態をデータ“０”とする。この場合、誤り方向１はリードディスターブによる影響と判断し、誤り方向２はリテンション不良と判断することができる。よって、誤りビットのうち誤り方向１が多い場合には、リードディスターブによる影響が大きく、誤りビットのうち誤り方向２が多い場合には、リテンション不良による影響が大きいことがわかる。
【００４０】
第３の実施形態では、図１０に示すように、誤りビット数が第１の閾値を超えており、かつ、誤りビット数の過半数が誤り方向１でエラーとなっている場合（Ｓ９０）、第２の閾値レジスタ２６は、そのブロックの読出し回数を、読出し対象ブロックの第２の閾値として格納する（Ｓ１００）。尚、図１０のステップＳ１０からＳ８０は、第１の実施形態と同様であるので、その説明を省略する。
【００４１】
例えば、ブロック１内のデータを読み出すとする。この読み出しデータの誤りビット数が第１の閾値を超えている場合、コントローラ２１は、さらに、その誤り方向を判定する。誤り方向は、エラービットの論理値を見れば判明する。このとき、誤りビット数の過半数（例えば、誤りビット数の８０％以上）が誤り方向１でエラーとなっていた場合、図９に示すように、ブロック１の第２の閾値（１００００）を読出し回数（１０００）にする。即ち、ブロック１の第２の閾値は、１００００から１０００へ変更される。その後、ブロック１の第２の閾値は１０００となるので、読出し回数が１０００を超えると、ブロック１に対してリフレッシュ動作を実行する。
【００４２】
このように、データ破壊の主原因がリードディスターブである場合に、その読出し時における読出し回数を第２の閾値として設定する。これにより、メモリセルのゲート絶縁膜の劣化によって、リードディスターブが実際に生じるときの読出し回数よりも第２の閾値が過剰に大きい場合であっても、第２の閾値を適切に修正することができる。
【００４３】
（第３の実施形態の変形例）
図１１および図１２は、本発明に係る第３の実施形態の変形例に従ったメモリシステムの構成図である。本変形例は、第３の実施形態に対してライトカウンタ２５を追加した実施形態である。ライトカウンタ２５は、第２の実施形態におけるそれと同様でよい。本変形例では、コントローラ２１は、書込み回数に応じた第２の閾値と、誤りビット数および誤り方向に基づいた第２の閾値とを比較し、より小さい方を第２の閾値として選択する。書込み回数に応じた第２の閾値は、リテンション不良を未然に防ぐために用いられる。誤りビット数および誤り方向に基づいた第２の閾値は、リードディスターブによる不良を検出するために用いられる。よって、本変形例は、リテンション不良およびリードディスターブの両方に対処することができる。
【００４４】
（第４の実施形態）
図１３は、本発明に係る第４の実施形態に従ったメモリシステムの構成を示すブロック図である。図１４は、最大値レジスタ２７およびフラグレジスタ２８を示す概念図である。第４の実施形態は、リードカウンタを有さず、最大値レジスタ２７およびフラグレジスタ２８を備えている点で第１の実施形態と異なる。第４の実施形態のその他の構成は、第１の実施形態の構成と同様でよい。
【００４５】
最大値レジスタ２７は、或るリフレッシュ動作と次のリフレッシュ動作との間の期間においてＥＣＣ回路で検出される誤りビット数のうち最大誤りビット数をブロックごとに保持する。この最大誤りビット数は、読出し単位における最大誤りビット数であり、例えば、ページ単位で読み出す場合には、ページのビット数が最大誤りビット数の最大値となる。勿論、最大誤りビット数の最小値はゼロである。例えば、図１４では、或るリフレッシュ動作と次のリフレッシュ動作との間の期間において、ブロック０の最大誤りビット数は、５ビットである。ブロック１の最大誤りビット数は、３０ビットである。
【００４６】
フラグレジスタ２８は、各ブロックに対して１ビットデータを有する。即ち、フラグレジスタ２８は、ブロック数分のビットデータを格納するレジスタである。フラグは、メモリシステム２０へ電力供給を停止した後、電力供給を再開した場合に、この電力供給の再開後、最初の読出し動作であることを示す。例えば、フラグ０のブロックは、メモリシステム２０への電源投入後、まだ読出し動作を実行していないブロックである。フラグ１のブロックは、メモリシステム２０への電源投入後、少なくとも１回は読出し動作が実行されたブロックである。フラグレジスタ２８は、電源をオフにしたときに、全ブロックのフラグを０にする。フラグにより、読出し対象ブロックが、電源投入後、初めて読出し動作が実行されるブロックであるか否かを確認する。
【００４７】
メモリシステム２０への電力供給を再開してから最初の読出し動作における誤りビット数が、電力供給の再開以前における最大誤りビット数よりも大きい場合、コントローラ２１はそのブロックに対してリフレッシュ動作を実行する。電源が切られている期間にリテンション不良が生じている場合、電源投入後の誤りビット数は、電源が切られる前の最大誤りビット数を超えると考えられる。従って、リテンション不良によってエラーとなっているビットが多いブロックに対してリフレッシュ動作を実行することにより、エラービットを修正する。
【００４８】
例えば、ブロック１からデータを読み出す場合、ブロック１のフラグは０であるので、ブロック１は、電源投入後、初めて読出し対象となったことが分かる。読出しページの誤りビット数が５０ビットであった場合、最初の読出し時の誤りビット数は、電源を切る前の最大誤りビット数３０よりも大きい。つまり、ブロック１は、電源を切っている間にリテンション不良を起こしているビットを多数含んでいる。よって、この場合、コントローラ２１は、ブロック１に対してリフレッシュ動作を実行する。これにより、第４の実施形態は、リテンション不良によるエラービットを修正することができる。
【００４９】
（第４の実施形態の変形例）
図１５は、本発明に係る第４の実施形態に従ったメモリシステムの構成を示すブロック図である。本変形例は、第４の実施形態に対して第２の実施形態のようにリードカウンタ２４、ライトカウンタ２５、第２の閾値レジスタ２６をさらに備えている。即ち、本変形例は、第４の実施形態に第２の実施形態を組み合わせた実施形態である。最大値レジスタ２７およびフラグレジスタ２８は、リードカウンタ２４、ライトカウンタ２５および第２の閾値レジスタ２６から独立して動作させることができる。これにより、書込み回数および読出し回数に応じたリードディスターブを未然に抑制することができるとともに、リテンション不良によるエラービットを修正することができる。
【００５０】
勿論、第４の実施形態は、第１の実施形態または第３の実施形態とも組み合わせることができる。
【００５１】
第１から第４の実施形態において、ＲＡＭ２３は、不揮発性メモリであり、例えば、強誘電体メモリ、ＭＲＡＭ（Magnetic RAM）、ＰＲＡＭ（Phase Change RAM）もしくはＲＲＡＭ（Resistive RAM）のいずれかでよい。
【００５２】
リードカウンタ２４、ライトカウンタ２５、第２の閾値レジスタ２６、最大値レジスタ２７および／またはフラグレジスタ２８は、上記実施形態のようにＲＡＭ２３の一部として組み込まれていてもよい。しかし、リードカウンタ２４、ライトカウンタ２５、第２の閾値レジスタ２６、最大値レジスタ２７および／またはフラグレジスタ２８は、ＲＡＭ２３とは別個に設けてもよく、あるいは、ホストＰＣ１０に格納してもよい。
【００５３】
上記実施形態において、ＥＣＣ回路は、コントローラ２１内に組み込まれている。しかし、ＥＣＣ回路は、コントローラ２１とは別個に設けてもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明に係る第１の実施形態に従ったメモリシステムの構成を示すブロック図。
【図２】リードカウンタ２４の構成を示す概念図。
【図３】第１の実施形態によるメモリシステム２０の動作を示すフロー図。
【図４】リフレッシュ動作を示すフロー図。
【図５】本発明に係る第２の実施形態に従ったメモリシステムの構成を示すブロック図。
【図６】リードカウンタ２４、ライトカウンタ２５および第２の閾値レジスタ２６を示す概念図。
【図７】リードディスターブが生じる読出し回数と書込み回数との関係を示すグラフ。
【図８】本発明に係る第３の実施形態に従ったメモリシステムの構成を示すブロック図。
【図９】リードカウンタ２４および第２の閾値レジスタ２６を示す概念図。
【図１０】第３の実施形態によるメモリシステムの動作を示すフロー図。
【図１１】本発明に係る第３の実施形態の変形例に従ったメモリシステムの構成図。
【図１２】本発明に係る第３の実施形態の変形例に従ったメモリシステムの構成図。
【図１３】本発明に係る第４の実施形態に従ったメモリシステムの構成を示すブロック図。
【図１４】最大値レジスタ２７およびフラグレジスタ２８を示す概念図。
【図１５】本発明に係る第４の実施形態に従ったメモリシステムの構成を示すブロック図。
【符号の説明】
【００５５】
１０…ホストＰＣ
２０…メモリシステム
２１…コントローラ
２２…ＮＡＮＤ型フラッシュメモリ
２３…ＲＡＭ
２４…リードカウンタ
２５…ライトカウンタ
２６…第２の閾値レジスタ
２７…最大値レジスタ
２８…フラグレジスタ
【図１】
2009087509.tif 000003
【図２】
2009087509.tif 000004
【図３】
2009087509.tif 000005
【図４】
2009087509.tif 000006
【図５】
2009087509.tif 000007
【図６】
2009087509.tif 000008
【図７】
2009087509.tif 000009
【図８】
2009087509.tif 000010
【図９】
2009087509.tif 000011
【図１０】
2009087509.tif 000012
【図１１】
2009087509.tif 000013
【図１２】
2009087509.tif 000014
【図１３】
2009087509.tif 000015
【図１４】
2009087509.tif 000016
【図１５】
2009087509.tif 000017