(57)【要約】【課題】メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制する半導体記憶装置を提供する。【解決手段】半導体記憶装置は、複数のメモリセルを含む複数のブロックを有し、該ブロックごとにアドレスが割り当てられ、該ブロックごとにデータが消去されるＮＡＮＤメモリであって、データが書き込まれたブロックの書込み順を示す時系列データを示すＬＲＵテーブルを格納するＮＡＮＤメモリと、第１のブロックに対応する第１の論理アドレスへ第１のデータを書き込むときに、時系列データのうち最も古い最古ブロックに格納されていた第２のデータを一時的に格納するＲＡＭと、第１の論理アドレスと最古ブロックを示す第２の論理アドレスとを入れ替えるとともに、最古ブロックへ第１のデータを書き込み、かつ、第１のブロックへ第２のデータを書き込むＭＰＵとを備えている。【選択図】図５
2008276832.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第１のテーブルを格納する第１のメモリ領域と、
第１のメモリグループに対応する第１の論理アドレスへ第１のデータを書き込むときに、前記時系列データのうち最も古い第２のメモリグループに格納されていた第２のデータを一時的に格納する第２のメモリ領域と、
前記第１の論理アドレスと前記第２のメモリグループを示す第２の論理アドレスとを入れ替えるとともに、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込む演算制御部とを備えた半導体記憶装置。
【請求項２】
複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域と、
前記メモリグループ毎に設けられた書込みカウンタであって、或るメモリグループにデータを書き込む時に、それ以前に前記第１のメモリ領域にデータを書き込んだ累積書込み回数を、該メモリグループに対応させて記憶する書込みカウンタと、
第１のメモリグループに対応する第１の論理アドレスへ第１のデータを書き込むときに、前記累積書込み回数が最小である第２のメモリグループに格納されていた第２のデータを一時的に格納する第２のメモリ領域と、
記第１の論理アドレスと前記第２の論理アドレスとを入れ替えるとともに、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込む演算制御部とを備えた半導体記憶装置。
【請求項３】
前記第１のメモリ領域は、フラッシュ型ＥＥＰＲＯＭで構成され、
前記メモリグループは、データの消去単位であることを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記第２のデータを前記第２のメモリ領域に格納するときに、前記第２のメモリグループにおいてエラー訂正された前記メモリセルの数が所定数未満の場合、前記演算制御部は、前記第１のメモリグループと前記第２のメモリグループの異同に関わらず、前記第１のメモリグループへ前記第１のデータを書き込み、前記アドレスの入れ替えを実行せず、
前記第２のメモリグループにおいてエラー訂正された前記メモリセルの数が所定数以上の場合、前記演算制御部は、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込むとともに、前記第１のメモリグループのアドレスと前記第２のメモリグループのアドレスとを入れ替えることを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【請求項５】
複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第１のテーブルを格納する第１のメモリ領域と、前記第１のメモリ領域内のデータを一時的に格納する第２のメモリ領域とを備えた半導体記憶装置の駆動方法であって、
第１のメモリグループに対応する第１の論理アドレスへ第１のデータを書き込むときに、前記時系列データのうち最も古い第２のメモリグループに格納されていた第２のデータを前記第２のメモリ領域に格納し、
前記第１の論理アドレスと前記第２のメモリグループを示す第２の論理アドレスとを入れ替えるとともに、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込むことを具備する半導体記憶装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置およびその駆動方法に係り、例えば、ＮＡＮＤ型フラッシュメモリおよびその駆動方法に関する。
【背景技術】
【０００２】
半導体メモリは、コンピュータ、家電製品、携帯電話等で広く用いられている。ＮＡＮＤ型フラッシュメモリに代表されるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）型不揮発性メモリは、パーソナルコンピュータ、デジタルカメラ、デジタルビデオ、デジタルテレビ、ＭＰ３、携帯機器の記憶媒体として汎用されている。
【０００３】
また、ＮＡＮＤ型フラッシュメモリは、大容量化および高集積化に優れているため、近年、ハードディスクの代わりに採用されるようになってきた。ＮＡＮＤ型フラッシュメモリをハードディスクに代えて使用する場合、経時的なデータ劣化、リードディスターブによるデータ劣化、および、消去・書込みの繰り返しによるゲート絶縁膜の物理的劣化が問題となる。
【０００４】
経時的なデータ劣化は、電荷が蓄積されているフローティングゲートから時間とともに電荷（例えば、電子）が抜けていくことによるデータ劣化である。データの経時的な劣化は、メモリの微細化や１セルに２ビット以上の情報を記憶する多値化によって無視できないものとなってきている。データの経時的な劣化の対策としては、メモリセルのデータを一旦読出し、このデータと同一データをメモリセルへリストアするリフレッシュ動作がある。
【０００５】
リードディスターブによるデータの劣化も、リフレッシュ動作によって対処可能である。例えば、読出し回数がある基準値に達したら、誤り訂正回路（ＥＣＣ）にデータを通す。誤りビット数が所定数を超えている場合、そのブロックをリフレッシュする（特許文献１）。
【０００６】
消去および書込みの繰り返しによるゲート絶縁膜の劣化は、物理的な劣化であるため、リフレッシュ動作では対処できない。現在、フラッシュメモリの消去回数の制限は、約１０５回であり、他の不揮発メモリ（例えば、ＮＯＲ型フラッシュメモリ）と比べて少ない。従来、このゲート絶縁膜の劣化に対処するために、消去回数が所定数を超えたブロックと消去回数（書込み回数）が少ないブロックとの物理アドレスを交換していた。この作業は、ウェアレベリングと呼ばれている。ウェアレベリングによって、消去回数が特定のブロックに集中しない。
【０００７】
しかし、従来のウェアレベリングは、消去回数が所定数を超えるまで実行されなかった。従来のウェアレベリングは、書込み・消去回数を各ブロックにおいて平均化する機能ではなく、消去回数の偏りを或る程度軽減するに過ぎなかった。従って、従来のウェアレベリングは、フラッシュメモリの寿命を充分に延ばすことはできなかった。
【０００８】
また、従来のウェアレベリングは、消去回数が所定数を超えるまで実行されないので、消去回数が少ない場合にはデータ劣化の対策にはならない。即ち、従来のウェアレベリングは、各ブロックにおける消去回数の平均化およびデータ劣化対策を行うことはできなかった。
【特許文献１】特開２００４−３２６８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制する半導体記憶装置およびその駆動方法を提供する。
【課題を解決するための手段】
【００１０】
本発明に係る実施形態に従った半導体記憶装置は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第１のテーブルを格納する第１のメモリ領域と、第１のメモリグループに対応する第１の論理アドレスへ第１のデータを書き込むときに、前記時系列データのうち最も古い第２のメモリグループに格納されていた第２のデータを一時的に格納する第２のメモリ領域と、前記第１の論理アドレスと前記第２のメモリグループを示す第２の論理アドレスとを入れ替えるとともに、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込む演算制御部とを備えている。
【００１１】
本発明に係る実施形態に従った半導体記憶装置の駆動方法は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第１のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第１のテーブルを格納する第１のメモリ領域と、前記第１のメモリ領域内のデータを一時的に格納する第２のメモリ領域とを備えた半導体記憶装置の駆動方法であって、
第１のメモリグループに対応する第１の論理アドレスへ第１のデータを書き込むときに、前記時系列データのうち最も古い第２のメモリグループに格納されていた第２のデータを前記第２のメモリ領域に格納し、
前記第１の論理アドレスと前記第２のメモリグループを示す第２の論理アドレスとを入れ替えるとともに、前記第２のメモリグループへ前記第１のデータを書き込み、かつ、前記第１のメモリグループへ前記第２のデータを書き込むことを具備する。
【発明の効果】
【００１２】
本発明による半導体記憶装置およびその駆動方法は、メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００１４】
（第１の実施形態）
図１は、本発明に係る第１の実施形態に従ったメモリ装置の構成を示すブロック図である。メモリ装置は、第１のメモリ領域としてのＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリともいう）と、第２のメモリ領域としてのＲＡＭ（Random Access Memory）と、ＮＡＮＤメモリを制御するＮＡＮＤ制御回路と、ＲＡＭを制御するＲＡＭ制御回路と、ＭＰＵ（Micro Processing Unit）とを備えている。ＮＡＮＤ制御回路は、ＮＡＮＤメモリ内のデータ読出し動作およびデータ書込み動作を、ＭＰＵからの指令に基づいて実行する。ＲＡＭ制御回路は、ＲＡＭメモリ内のデータ読出し動作およびデータ書込み動作を、ＭＰＵからの指令に基づいて実行する。ＭＰＵ、ＮＡＮＤ制御回路およびＲＡＭ制御回路が演算制御部として機能する。
【００１５】
ＮＡＮＤメモリは、例えば、ＥＥＰＲＯＭ型不揮発性メモリであり、主記憶メモリとして用いられる。ＲＡＭは、ＮＡＮＤメモリのデータをリフレッシュする時に、ＮＡＮＤメモリ内のデータを一時的に格納し、あるいは、ＮＡＮＤメモリへのデータの読出し／書込み時に、データを一時的に格納するキャッシュメモリとして用いられる。ＭＰＵは、データを書き込んだＮＡＮＤメモリのブロックの順番を示す時系列データの検索、エラー訂正されたビット数（エラーセル数）の計算等の演算に用いられる。
【００１６】
図２は、ＮＡＮＤ型フラッシュメモリの物理アドレスと論理アドレスとの関係を示す概念図である。ＮＡＮＤメモリは、複数のページからなるブロックで構成されており、各ページは複数のメモリセルに格納された複数のビットで構成されている。データ書込み動作およびデータ読出し動作は、通常、ページ単位で実行される。データ消去／書換え動作は、通常、メモリグループとしてのブロック単位で実行される。本実施形態において、データの書込み、書戻し、または、消去の単位は、ページ単位またはブロック単位に限定せず、その他のメモリグループを単位としてよい。メモリグループは、複数のメモリセルを含むメモリの単位である。
【００１７】
各ブロックには、物理アドレスおよび論理アドレスが割り当てられている。物理アドレスは、各ブロックに対応した固定アドレスである。論理アドレスは、各ブロックおよび各物理アドレスに対応付けられているが、変更可能なアドレスである。論物変換テーブルは、物理アドレスと論理アドレスとの対応関係を示すテーブルである。
【００１８】
図３は、第１のテーブルとしての書込みＬＲＵ（Least Recently Used）テーブル（以下、ＬＲＵテーブル）を示す概念図である。ＬＲＵテーブルは、データが書き込まれたブロックの書込み順を示す時系列データを示すテーブルである。ＬＲＵテーブルは、ＮＡＮＤメモリの一部に格納される。ＬＲＵテーブルの変更時には、ＭＰＵは、ＬＲＵテーブルをＲＡＭへ一時的に移し、ＬＲＵテーブルを更新した後に、ＬＲＵテーブルをＮＡＮＤメモリへ戻せばよい。例えば、データが、論理アドレス３、論理アドレス１、論理アドレスｎ、論理アドレス２・・・の順に書き込まれた場合、ＬＲＵテーブルは、図３に示すように、データ書込みを実行したブロックの順番が分かるように論理アドレスを格納する。従って、ＬＲＵテーブルを参照することによって、書込み時点から最も長時間の経過した（最も古い）データを格納するブロックが判明する。例えば、図３に示すＬＲＵテーブルでは、論理アドレス３で指定されるブロックが最も古いデータを格納している。論理アドレス３に続いて、論理アドレス１、論理アドレスｎ、論理アドレス２は、その順番に次第に新しいデータを格納するブロックを示す。
【００１９】
図４および図５は、本実施形態によるメモリ装置のデータ書込み動作を示す概念図である。図６は、本実施形態によるデータ書込み動作を示すフロー図である。図４から図６では、データ書込み対象の論理アドレスが、最も古いデータを格納するブロック（以下、最古ブロックともいう）の論理アドレスと異なる場合の書込み動作を示す。
【００２０】
図４に示すように、最古ブロックの論理アドレスは“３”であり、その物理アドレスは（ｎ−１）である。最古ブロックは、データの消去・書込み回数が他のブロックと比べて少ないはずである。また、最古ブロックに格納されたデータは、書き込まれてから長時間経過しているため、データの劣化が進んでいるものと判断することができる。即ち、最古ブロックにおいては、メモリセルの物理的な劣化（ハードウェアの劣化）の程度は小さいものの、メモリセルに格納されているデータの劣化（ソフトウェアの劣化）は激しいと考えられる。
【００２１】
そこで、データ書込み動作において、ＭＰＵは、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み／消去回数の平均化が実行される。
【００２２】
より詳細には、データ書込み動作において、論理アドレス２が書き込み予定のアドレスとする。本実施形態では、図４に示すように、最古ブロックは、論理アドレス３により指定された物理アドレス（ｎ−１）のブロックである。ＮＡＮＤ制御回路およびＲＡＭ制御回路が、ＮＡＮＤメモリ内の最古ブロック（物理アドレス（ｎ−１）のブロック）に格納されたデータを引き出し、このデータをＲＡＭへ一時的にコピーする（Ｓ１０）。続いて、ＮＡＮＤ制御回路は、書込み予定の論理アドレス２で指定された物理アドレス１のブロック内のデータ、および、最古ブロック内のデータを消去する（Ｓ２０）。
【００２３】
さらに、図５に示すように、ＭＰＵは、論物変換テーブル内における書込み対象ブロックを示す論理アドレス２と最古ブロックを示す論理アドレス３とを入れ替える（Ｓ３０）。即ち、物理アドレス１のブロックに対する論理アドレスを“３”とし、物理アドレス（ｎ−１）のブロックに対する論理アドレスを“２”とする。それとともに、ＲＡＭに一時的に格納されていたデータは、論理アドレス３で指定される物理アドレス１のブロックへ書き戻される（Ｓ４０）。また、書込み予定のデータは、論理アドレス２で指定される物理アドレス（ｎ−１）のブロックへ書き込まれる（Ｓ５０）。
【００２４】
論理アドレス２と論理アドレス３との入替えと同時に、ＬＲＵテーブルの情報は、論理アドレス２および論理アドレス３を、最も新しいデータを格納するアドレスとして更新される（Ｓ６０）。このとき、ＭＰＵは、ＲＡＭ制御回路内のＬＲＵテーブルにおいて論理アドレス２および論理アドレス３を検索し、これらの論理アドレスを、最新のデータを格納するアドレスとしてＬＲＵテーブルに格納する。尚、図５において、ＬＲＵテーブルの更新は、論理アドレス２、論理アドレス３の順番で行われているが、論理アドレス３、論理アドレス２の順に更新されてもよい。
【００２５】
これにより、経時的なデータ劣化およびリードディスターブによるデータ劣化（ソフトウェアの劣化）を防ぐことができるとともに、各ブロック単位において書込み・消去回数の平均化を実行することができる。一般に、経時的なデータ劣化は、書込み・消去回数が増大することにより悪化することが知られている。本実施形態では、書込み・消去回数の平均化を行うことによって、各ブロックにおけるメモリセルの物理的な劣化の程度を揃えることができる。即ち、本実施形態は、メモリ装置内の局所的なメモリセルの物理的な劣化を防止し、全メモリセルの物理的な劣化を平均化することができる。これにより、本実施形態はメモリ装置の寿命を延ばすことができる。
【００２６】
図７は、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す。この場合、書込み対象である論理アドレス３で指定される物理アドレス（ｎ−１）のブロック内のデータのみが消去される。論物変換テーブルの論理アドレス３は、入れ替えることなく、物理アドレス（ｎ−１）のブロックに対応したままである。この状態で、書込みデータは、論理アドレス３で指定される物理アドレス（ｎ−１）のブロックに書き込まれる。これと同時に、ＲＡＭ制御回路は、ＬＲＵテーブルの情報を更新することによって、論理アドレス３を最も新しいデータを格納するアドレスとする。尚、データ書込み前に物理アドレス（ｎ−１）のブロックに格納されていたデータは、ＲＡＭにコピーされる。しかし、このデータは、不要であるのでＲＡＭにコピーする必要は必ずしも無い。
【００２７】
これにより、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合であっても、経時的なデータ劣化およびリードディスターブによるデータ劣化（ソフトウェアの劣化）を防ぐことができるとともに、各ブロック単位において書込み・消去回数の平均化を実行することができる。本実施形態による書込み・消去回数の平均化は、メモリ装置の使用当初から継続的にデータ書込み動作に対してリアルタイムに実行されるため、書込み・消去回数が閾値を超えるか否かの判定は不要である。即ち、本実施形態は、書込み・消去回数のカウンタが不要である。
【００２８】
（第２の実施形態）
図８および図９は、本発明に係る第２の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。図１０は、第２の実施形態によるデータ書込み動作を示すフロー図である。図８から図１０では、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと異なる場合の書込み動作を示す。
【００２９】
第２の実施形態は、ＬＲＵテーブルに代えて、書込みカウンタテーブル（以下、カウンタテーブル）を備えている点で第１の実施形態と異なる。第２の実施形態のその他の構成は、第１の実施形態の構成と同様でよい。カウンタテーブルは、累積書込み回数を各ブロックごとに格納するテーブルである。カウンタテーブルは、ＮＡＮＤメモリの一部に格納される。カウンタテーブルの変更時には、ＭＰＵは、カウンタテーブルをＲＡＭへ一時的に移し、ＬＲＵテーブルを更新した後に、ＬＲＵテーブルをＮＡＮＤメモリへ戻せばよい。ここで、累積書込み回数は、各ブロックごとの個別の書込み回数ではなく、全ブロックを対象とした総書込み回数を意味する。
【００３０】
例えば、１回目の書込みが物理アドレス（ｎ−１）のブロックに実行され、２回目の書込みが物理アドレス２のブロックに実行されたとする。この場合、図８に示すように、物理アドレス（ｎ−１）に対応するカウンタに“１”が記憶され、物理アドレス２に対応するカウンタに“２”が記憶される。その後、ｉ回目（ｉは整数）の書込みが或るブロックに実行された場合には、このブロックに対応するカウンタに“ｉ”が記憶される。これにより、カウンタテーブルは、各ブロックに対して異なる数値を記憶する。さらに、カウンタテーブルの数値は、書込み時点から長時間経過した（古い）データを格納するブロックに対しては小さく、一方、書込み時点から時間が経過していない（新しい）データを格納するブロックに対しては大きくなる。例えば、図８において、カウンタテーブルは、論理アドレス３で指定される物理アドレス（ｎ−１）のブロックに対して“１”を格納する。よって、物理アドレス（ｎ−１）のブロックは、最初にデータが書き込まれたブロックであり、最古ブロックである。これに対して、カウンタテーブルは、論理アドレス（ｎ−１）で指定される物理アドレスｎのブロックに対して“１０”を格納する。よって、物理アドレスｎのブロックは、物理アドレス（ｎ−１）のブロックよりも新しいデータを格納するブロックであることがわかる。尚、数値ｉの最大値は、１つのブロックについて保証されている消去回数とメモリ装置内の総ブロック数との積に等しくすればよい。例えば、１つのブロックについて保証されている消去回数が１０５回であり、総ブロック数が１０２４個であるとすれば、カウンタテーブルが格納可能な数値ｉの最大値は、１０５×１０２４であればよい。
【００３１】
このようなカウンタテーブルを有することによって、第２の実施形態によるメモリ装置は、第１の実施形態によるメモリ装置と同様の動作を実行することができる。即ち、データ書込み動作において、ＮＡＮＤ制御回路は、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。
【００３２】
より詳細には、データ書込み動作において、論理アドレス２が書き込み予定のアドレスとする。最古ブロックは、論理アドレス３により指定された物理アドレス（ｎ−１）のブロックであるとする。まず、ＭＰＵは、カウンタテーブルを検索することによって、最古カウンタを特定する（Ｓ５）。最古ブロックのカウンタは最も数値が小さいので、ＭＰＵは、カウンタテーブルのうち最小値を検索すればよい。次に、ＲＡＭ制御回路が、ＮＡＮＤメモリ内の最古ブロック（物理アドレス（ｎ−１）のブロック）に格納されたデータをＲＡＭへ一時的にコピーする（Ｓ１０）。続いて、ＮＡＮＤ制御回路は、書込み予定の論理アドレス２で指定された物理アドレス１のブロック内のデータ、および、最古ブロック内のデータを消去する（Ｓ２０）。
【００３３】
さらに、図９に示すように、ＭＰＵは、論物変換テーブル内における書込み対象ブロックを示す論理アドレス２と最古ブロックを示す論理アドレス３とを入れ替える（Ｓ３０）。即ち、ＭＰＵは、物理アドレス１のブロックに対する論理アドレスを“３”とし、物理アドレス（ｎ−１）のブロックに対する論理アドレスを“２”とする。それとともに、ＲＡＭに一時的に格納されていたデータは、論理アドレス３で指定される物理アドレス１のブロックへ書き戻される（Ｓ４０）。また、書込み予定のデータは、論理アドレス２で指定される物理アドレス（ｎ−１）のブロックへ書き込まれる（Ｓ５０）。
【００３４】
論理アドレス２と論理アドレス３との入替えと同時に、ＲＡＭ制御回路は、カウンタテーブルの情報を更新することによって、論理アドレス２および論理アドレス３を、最も新しいデータを格納するアドレスとする（Ｓ６１）。このとき、ＲＡＭ制御回路は、論理アドレス２で指定される物理アドレス（ｎ−１）のブロックのカウンタおよび論理アドレス３で指定される物理アドレス１のブロックのカウンタを更新する。例えば、カウンタテーブルにおいて数値“１０”が最大である場合（物理アドレスｎのブロックが最近書き込まれている場合）、物理アドレス１のブロックのカウンタを“１１”に更新し、物理アドレス（ｎ−１）のブロックのカウンタを“１２”に更新する。尚、図９において、カウンタテーブルの更新は、論理アドレス３、論理アドレス２の順番で行われているが、論理アドレス２、論理アドレス３の順に更新されてもよい。
【００３５】
これにより、第２の実施形態は、第１の実施形態と同様の効果を得ることができる。
【００３６】
図１１は、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す。この場合、書込み対象である論理アドレス３で指定される物理アドレス（ｎ−１）のブロック内のデータのみが消去される。論物変換テーブルの論理アドレス３は、入れ替えることなく、物理アドレス（ｎ−１）のブロックに対応したままである。この状態で、書込みデータは、論理アドレス３で指定される物理アドレス（ｎ−１）のブロックに書き込まれる。これと同時に、カウンタテーブルの情報は、論理アドレス３を、最も新しいデータを格納するアドレスとして更新される。尚、データ書込み前に物理アドレス（ｎ−１）のブロックに格納されていたデータは、ＲＡＭにコピーする。しかし、このデータは、不要であるのでＲＡＭにコピーする必要は必ずしも無い。
【００３７】
これにより、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合であっても、本実施形態の効果は失われない。
【００３８】
（第３の実施形態）
第３の実施形態は、最古ブロックのデータをＲＡＭへコピーするときに計算されるエラー訂正数に基づいて、論理アドレスの入替え（書込み・消去回数の平均化）の要否を決定する。エラー訂正数は、ＥＣＣ（Error-Correcting Cord）を確認することによって得ることができる。エラー訂正数は、リードディスターブや経時によってエラーとなったメモリセルを訂正した数である。エラー訂正数は、ＲＡＭへコピーするときにブロックごとに計算される。
【００３９】
エラー訂正数が所定数未満の場合には、ＭＰＵは、書込み対象の論理アドレスで指定されるブロックと最古ブロックとの異同に関わらず、論理アドレスの入れ替えを実行しない。例えば、図７に示すように、書込み対象である論理アドレス３で指定される物理アドレス（ｎ−１）のブロック内のデータのみが書き換えられる。論物変換テーブルの論理アドレス３は、入れ替えることなく、物理アドレス（ｎ−１）のブロックに対応したままである。このとき、ＲＡＭ制御回路は、ＬＲＵテーブルの情報を更新し、論理アドレス３を、最も新しいデータを格納するアドレスとする。
【００４０】
エラー訂正数が所定数以上である場合には、論理アドレスの入れ替えを実行する。例えば、図４〜図６に示すように、ＮＡＮＤ制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。ＮＡＮＤ制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。この場合の詳細な動作は、第１の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図７を参照して説明した通りである。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み／消去回数の平均化が実行される。
【００４１】
エラー訂正数は、データ劣化およびメモリセルの物理的な劣化が激しいほど多くなると考えられる。このため、エラー訂正数が所定の閾値未満のときには、ブロックへの消去回数を減少させるために、書込み対象の論理アドレスで指定されたブロックへそのままデータを書き込む。これにより、書込み対象ブロックが１つで済む。エラー訂正数が所定の閾値以上のときには、リフレッシュ動作のため、および、データ消去回数の平均化を図るために、論理アドレスの入替えを実行する。
【００４２】
（第４の実施形態）
第４の実施形態は、第３の実施形態によるエラー訂正数に基づく論理アドレスの入替えを第２の実施形態に適用した実施形態である。
【００４３】
エラー訂正数が所定数未満の場合には、ＭＰＵは、書込み対象の論理アドレスで指定されるブロックと最古ブロックとの異同に関わらず、論理アドレスの入れ替えを実行しない。例えば、図１１に示すように、書込み対象である論理アドレス３で指定される物理アドレス（ｎ−１）のブロック内のデータのみが書き換えられる。論物変換テーブルの論理アドレス３は、入れ替えることなく、物理アドレス（ｎ−１）のブロックに対応したままである。このとき、ＲＡＭ制御回路は、ＬＲＵテーブルの情報を更新し、論理アドレス３を、最も新しいデータを格納するアドレスとする。
【００４４】
エラー訂正数が所定数以上である場合には、ＮＡＮＤ制御回路は、論理アドレスの入れ替えを実行する。例えば、図８〜図１０に示すように、ＮＡＮＤ制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。ＮＡＮＤ制御回路は、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み対象の論理アドレスに対応するブロックへ書き戻される。この場合の詳細な動作は、第２の実施形態と同様である。尚、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図１１を参照して説明した通りである。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み／消去回数の平均化が実行される。
【００４５】
第４の実施形態は、第２および第３の実施形態の効果を併せ持つ。
【００４６】
（第５の実施形態）
図１２および図１３は、本発明に係る第５の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第５の実施形態は、第３の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、ＲＡＭ制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにＲＡＭへコピーする。このときにＭＰＵは、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、ＲＡＭ制御回路は、二番目に古いブロック内のデータをＲＡＭへコピーしない。
【００４７】
もし、二番目に古いブロックのエラー訂正数が所定値未満であった場合、ＮＡＮＤ制御回路は、図１２に示すように、物理アドレス２のブロック内のデータをそのまま残し、物理アドレス１およびｎ−１のブロック内のデータを消去する。その後、図４〜図６を参照して説明したように、ＮＡＮＤ制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。ＮＡＮＤ制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。この場合の詳細な動作は、第１の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図７を参照して説明した通りである。
【００４８】
もし、二番目に古いブロックのエラー訂正数が所定値以上であった場合、ＮＡＮＤ制御回路は、図１３に示すように、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。ＮＡＮＤ制御回路は、最古ブロックへデータを書き込み、論理アドレス３で指定される物理アドレス１のブロックへ論理アドレス３のデータを書き戻し、さらに、論理アドレス１で指定される物理アドレス２のブロックへ論理アドレス１のデータを書き戻す。ＬＲＵテーブルでは、論理アドレス２、３だけでなく、論理アドレス１も更新されたアドレスとして格納される。
【００４９】
三番目以降に古いブロックについても、二番目に古いブロックと同様に処理する。即ち、二番目に古いブロックのエラー訂正数が所定値以上であった場合、ＲＡＭ制御回路は、さらに、三番目に古い論理アドレスで指定されるブロック内のデータをさらにＲＡＭへコピーする。このとき、三番目に古いデータを格納するブロックのエラー訂正数も確認する。四番目以降に古いブロックについても、二番目および三番目に古いブロックと同様に処理する。このようにして、第５の実施形態は、エラー訂正数が所定値以上である全ブロックについてリフレッシュ動作を実行することができる。第５の実施形態は、さらに、第１および第３の実施形態の効果を得ることができる。
【００５０】
（第６の実施形態）
図１４および図１５は、本発明に係る第６の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第６の実施形態は、第４の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、ＲＡＭ制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにＲＡＭへコピーする。このとき、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、ＲＡＭ制御回路は、二番目に古いブロック内のデータをＲＡＭへコピーしない。
【００５１】
もし、二番目に古いブロックのエラー訂正数が所定値未満であった場合、ＮＡＮＤ制御回路は、図１４に示すように、物理アドレス２のブロック内のデータをそのまま残し、物理アドレス１およびｎ−１のブロック内のデータを消去する。その後、図８〜図１０を参照して説明したように、ＮＡＮＤ制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。ＮＡＮＤ制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。この場合の詳細な動作は、第２の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図７を参照して説明した通りである。
【００５２】
もし、二番目に古いブロックのエラー訂正数が所定値以上であった場合、ＮＡＮＤ制御回路は、図１５に示すように、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。ＮＡＮＤ制御回路は、最古ブロックへデータを書き込み、論理アドレス３で指定される物理アドレス１のブロックへ論理アドレス３のデータを書き戻し、さらに、論理アドレス１で指定される物理アドレス２のブロックへ論理アドレス１のデータを書き戻す。カウンタテーブルでは、物理アドレス１、（ｎ−１）のカウンタだけでなく、物理アドレス２のカウンタも更新される。例えば、物理アドレス２のカウンタは、“１３”に更新される。
【００５３】
三番目に古いブロックについても、二番目に古いブロックと同様に処理する。即ち、二番目に古いブロックのエラー訂正数が所定値以上であった場合、ＲＡＭ制御回路は、さらに、三番目に古い論理アドレスで指定されるブロック内のデータをさらにＲＡＭへコピーする。このとき、三番目に古いデータを格納するブロックのエラー訂正数も確認する。四番目以降に古いブロックについても、二番目および三番目に古いブロックと同様に処理する。このようにして、第６の実施形態は、エラー訂正数が所定値以上である全ブロックについてリフレッシュ動作を実行することができる。第６の実施形態は、さらに、第２および第４の実施形態の効果を得ることができる。
【００５４】
第１から第６の実施形態において、データ読出し時に指定されるアドレスは特定のアドレスに偏る場合がある。また、データ書込み動作と次のデータ書込み動作の間に実行されるデータ読出し回数は任意である。従って、第１および第２の実施形態において、リードディスターブによるデータ劣化は、データ書込み動作と次のデータ書込み動作の間に生じる可能性があるので、リードディスターブに対する対策は別途必要である。例えば、データ読出し回数をカウントするカウンタをメモリ装置に設ける。データ読出し回数が所定値を超えた場合に、リフレッシュ動作を実行する。これによってリードディスターブを防止することができる。
【図面の簡単な説明】
【００５５】
【図１】第１の実施形態に従ったメモリ装置の構成を示すブロック図。
【図２】ＮＡＮＤ型フラッシュメモリの物理アドレスと論理アドレスとの関係を示す概念図。
【図３】第１のテーブルとしてのＬＲＵテーブルを示す概念図。
【図４】第１の実施形態によるメモリ装置のデータ書込み動作を示す概念図。
【図５】第１の実施形態によるメモリ装置のデータ書込み動作を示す概念図。
【図６】第１の実施形態によるデータ書込み動作を示すフロー図。
【図７】データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す概念図。
【図８】第２の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【図９】第２の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【図１０】第２の実施形態によるデータ書込み動作を示すフロー図。
【図１１】データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す概念図。
【図１２】第５の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【図１３】第５の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【図１４】第６の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【図１５】第６の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図。
【符号の説明】
【００５６】
論理ｉ…論理アドレスｉ
物理ｉ…物理アドレスｉ
【図１】
2008276832.tif 000003
【図２】
2008276832.tif 000004
【図３】
2008276832.tif 000005
【図４】
2008276832.tif 000006
【図５】
2008276832.tif 000007
【図６】
2008276832.tif 000008
【図７】
2008276832.tif 000009
【図８】
2008276832.tif 000010
【図９】
2008276832.tif 000011
【図１０】
2008276832.tif 000012
【図１１】
2008276832.tif 000013
【図１２】
2008276832.tif 000014
【図１３】
2008276832.tif 000015
【図１４】
2008276832.tif 000016
【図１５】
2008276832.tif 000017