JP2008276832A - 半導体記憶装置およびその駆動方法 - Google Patents
半導体記憶装置およびその駆動方法 Download PDFInfo
- Publication number
- JP2008276832A JP2008276832A JP2007117172A JP2007117172A JP2008276832A JP 2008276832 A JP2008276832 A JP 2008276832A JP 2007117172 A JP2007117172 A JP 2007117172A JP 2007117172 A JP2007117172 A JP 2007117172A JP 2008276832 A JP2008276832 A JP 2008276832A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- logical address
- block
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
【課題】メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制する半導体記憶装置を提供する。
【解決手段】半導体記憶装置は、複数のメモリセルを含む複数のブロックを有し、該ブロックごとにアドレスが割り当てられ、該ブロックごとにデータが消去されるNANDメモリであって、データが書き込まれたブロックの書込み順を示す時系列データを示すLRUテーブルを格納するNANDメモリと、第1のブロックに対応する第1の論理アドレスへ第1のデータを書き込むときに、時系列データのうち最も古い最古ブロックに格納されていた第2のデータを一時的に格納するRAMと、第1の論理アドレスと最古ブロックを示す第2の論理アドレスとを入れ替えるとともに、最古ブロックへ第1のデータを書き込み、かつ、第1のブロックへ第2のデータを書き込むMPUとを備えている。
【選択図】図5
【解決手段】半導体記憶装置は、複数のメモリセルを含む複数のブロックを有し、該ブロックごとにアドレスが割り当てられ、該ブロックごとにデータが消去されるNANDメモリであって、データが書き込まれたブロックの書込み順を示す時系列データを示すLRUテーブルを格納するNANDメモリと、第1のブロックに対応する第1の論理アドレスへ第1のデータを書き込むときに、時系列データのうち最も古い最古ブロックに格納されていた第2のデータを一時的に格納するRAMと、第1の論理アドレスと最古ブロックを示す第2の論理アドレスとを入れ替えるとともに、最古ブロックへ第1のデータを書き込み、かつ、第1のブロックへ第2のデータを書き込むMPUとを備えている。
【選択図】図5
Description
本発明は、半導体記憶装置およびその駆動方法に係り、例えば、NAND型フラッシュメモリおよびその駆動方法に関する。
半導体メモリは、コンピュータ、家電製品、携帯電話等で広く用いられている。NAND型フラッシュメモリに代表されるEEPROM(Electrically Erasable and Programmable Read Only Memory)型不揮発性メモリは、パーソナルコンピュータ、デジタルカメラ、デジタルビデオ、デジタルテレビ、MP3、携帯機器の記憶媒体として汎用されている。
また、NAND型フラッシュメモリは、大容量化および高集積化に優れているため、近年、ハードディスクの代わりに採用されるようになってきた。NAND型フラッシュメモリをハードディスクに代えて使用する場合、経時的なデータ劣化、リードディスターブによるデータ劣化、および、消去・書込みの繰り返しによるゲート絶縁膜の物理的劣化が問題となる。
経時的なデータ劣化は、電荷が蓄積されているフローティングゲートから時間とともに電荷(例えば、電子)が抜けていくことによるデータ劣化である。データの経時的な劣化は、メモリの微細化や1セルに2ビット以上の情報を記憶する多値化によって無視できないものとなってきている。データの経時的な劣化の対策としては、メモリセルのデータを一旦読出し、このデータと同一データをメモリセルへリストアするリフレッシュ動作がある。
リードディスターブによるデータの劣化も、リフレッシュ動作によって対処可能である。例えば、読出し回数がある基準値に達したら、誤り訂正回路(ECC)にデータを通す。誤りビット数が所定数を超えている場合、そのブロックをリフレッシュする(特許文献1)。
消去および書込みの繰り返しによるゲート絶縁膜の劣化は、物理的な劣化であるため、リフレッシュ動作では対処できない。現在、フラッシュメモリの消去回数の制限は、約105回であり、他の不揮発メモリ(例えば、NOR型フラッシュメモリ)と比べて少ない。従来、このゲート絶縁膜の劣化に対処するために、消去回数が所定数を超えたブロックと消去回数(書込み回数)が少ないブロックとの物理アドレスを交換していた。この作業は、ウェアレベリングと呼ばれている。ウェアレベリングによって、消去回数が特定のブロックに集中しない。
しかし、従来のウェアレベリングは、消去回数が所定数を超えるまで実行されなかった。従来のウェアレベリングは、書込み・消去回数を各ブロックにおいて平均化する機能ではなく、消去回数の偏りを或る程度軽減するに過ぎなかった。従って、従来のウェアレベリングは、フラッシュメモリの寿命を充分に延ばすことはできなかった。
また、従来のウェアレベリングは、消去回数が所定数を超えるまで実行されないので、消去回数が少ない場合にはデータ劣化の対策にはならない。即ち、従来のウェアレベリングは、各ブロックにおける消去回数の平均化およびデータ劣化対策を行うことはできなかった。
特開2004−326867号公報
メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制する半導体記憶装置およびその駆動方法を提供する。
本発明に係る実施形態に従った半導体記憶装置は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第1のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第1のテーブルを格納する第1のメモリ領域と、第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記時系列データのうち最も古い第2のメモリグループに格納されていた第2のデータを一時的に格納する第2のメモリ領域と、前記第1の論理アドレスと前記第2のメモリグループを示す第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込む演算制御部とを備えている。
本発明に係る実施形態に従った半導体記憶装置の駆動方法は、複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第1のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第1のテーブルを格納する第1のメモリ領域と、前記第1のメモリ領域内のデータを一時的に格納する第2のメモリ領域とを備えた半導体記憶装置の駆動方法であって、
第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記時系列データのうち最も古い第2のメモリグループに格納されていた第2のデータを前記第2のメモリ領域に格納し、
前記第1の論理アドレスと前記第2のメモリグループを示す第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込むことを具備する。
第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記時系列データのうち最も古い第2のメモリグループに格納されていた第2のデータを前記第2のメモリ領域に格納し、
前記第1の論理アドレスと前記第2のメモリグループを示す第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込むことを具備する。
本発明による半導体記憶装置およびその駆動方法は、メモリの各ブロックの消去回数または書込み回数を平均化し、その平均化動作において経時やリードディスターブによるデータ劣化をも抑制することができる。
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
(第1の実施形態)
図1は、本発明に係る第1の実施形態に従ったメモリ装置の構成を示すブロック図である。メモリ装置は、第1のメモリ領域としてのNAND型フラッシュメモリ(以下、NANDメモリともいう)と、第2のメモリ領域としてのRAM(Random Access Memory)と、NANDメモリを制御するNAND制御回路と、RAMを制御するRAM制御回路と、MPU(Micro Processing Unit)とを備えている。NAND制御回路は、NANDメモリ内のデータ読出し動作およびデータ書込み動作を、MPUからの指令に基づいて実行する。RAM制御回路は、RAMメモリ内のデータ読出し動作およびデータ書込み動作を、MPUからの指令に基づいて実行する。MPU、NAND制御回路およびRAM制御回路が演算制御部として機能する。
図1は、本発明に係る第1の実施形態に従ったメモリ装置の構成を示すブロック図である。メモリ装置は、第1のメモリ領域としてのNAND型フラッシュメモリ(以下、NANDメモリともいう)と、第2のメモリ領域としてのRAM(Random Access Memory)と、NANDメモリを制御するNAND制御回路と、RAMを制御するRAM制御回路と、MPU(Micro Processing Unit)とを備えている。NAND制御回路は、NANDメモリ内のデータ読出し動作およびデータ書込み動作を、MPUからの指令に基づいて実行する。RAM制御回路は、RAMメモリ内のデータ読出し動作およびデータ書込み動作を、MPUからの指令に基づいて実行する。MPU、NAND制御回路およびRAM制御回路が演算制御部として機能する。
NANDメモリは、例えば、EEPROM型不揮発性メモリであり、主記憶メモリとして用いられる。RAMは、NANDメモリのデータをリフレッシュする時に、NANDメモリ内のデータを一時的に格納し、あるいは、NANDメモリへのデータの読出し/書込み時に、データを一時的に格納するキャッシュメモリとして用いられる。MPUは、データを書き込んだNANDメモリのブロックの順番を示す時系列データの検索、エラー訂正されたビット数(エラーセル数)の計算等の演算に用いられる。
図2は、NAND型フラッシュメモリの物理アドレスと論理アドレスとの関係を示す概念図である。NANDメモリは、複数のページからなるブロックで構成されており、各ページは複数のメモリセルに格納された複数のビットで構成されている。データ書込み動作およびデータ読出し動作は、通常、ページ単位で実行される。データ消去/書換え動作は、通常、メモリグループとしてのブロック単位で実行される。本実施形態において、データの書込み、書戻し、または、消去の単位は、ページ単位またはブロック単位に限定せず、その他のメモリグループを単位としてよい。メモリグループは、複数のメモリセルを含むメモリの単位である。
各ブロックには、物理アドレスおよび論理アドレスが割り当てられている。物理アドレスは、各ブロックに対応した固定アドレスである。論理アドレスは、各ブロックおよび各物理アドレスに対応付けられているが、変更可能なアドレスである。論物変換テーブルは、物理アドレスと論理アドレスとの対応関係を示すテーブルである。
図3は、第1のテーブルとしての書込みLRU(Least Recently Used)テーブル(以下、LRUテーブル)を示す概念図である。LRUテーブルは、データが書き込まれたブロックの書込み順を示す時系列データを示すテーブルである。LRUテーブルは、NANDメモリの一部に格納される。LRUテーブルの変更時には、MPUは、LRUテーブルをRAMへ一時的に移し、LRUテーブルを更新した後に、LRUテーブルをNANDメモリへ戻せばよい。例えば、データが、論理アドレス3、論理アドレス1、論理アドレスn、論理アドレス2・・・の順に書き込まれた場合、LRUテーブルは、図3に示すように、データ書込みを実行したブロックの順番が分かるように論理アドレスを格納する。従って、LRUテーブルを参照することによって、書込み時点から最も長時間の経過した(最も古い)データを格納するブロックが判明する。例えば、図3に示すLRUテーブルでは、論理アドレス3で指定されるブロックが最も古いデータを格納している。論理アドレス3に続いて、論理アドレス1、論理アドレスn、論理アドレス2は、その順番に次第に新しいデータを格納するブロックを示す。
図4および図5は、本実施形態によるメモリ装置のデータ書込み動作を示す概念図である。図6は、本実施形態によるデータ書込み動作を示すフロー図である。図4から図6では、データ書込み対象の論理アドレスが、最も古いデータを格納するブロック(以下、最古ブロックともいう)の論理アドレスと異なる場合の書込み動作を示す。
図4に示すように、最古ブロックの論理アドレスは“3”であり、その物理アドレスは(n−1)である。最古ブロックは、データの消去・書込み回数が他のブロックと比べて少ないはずである。また、最古ブロックに格納されたデータは、書き込まれてから長時間経過しているため、データの劣化が進んでいるものと判断することができる。即ち、最古ブロックにおいては、メモリセルの物理的な劣化(ハードウェアの劣化)の程度は小さいものの、メモリセルに格納されているデータの劣化(ソフトウェアの劣化)は激しいと考えられる。
そこで、データ書込み動作において、MPUは、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み/消去回数の平均化が実行される。
より詳細には、データ書込み動作において、論理アドレス2が書き込み予定のアドレスとする。本実施形態では、図4に示すように、最古ブロックは、論理アドレス3により指定された物理アドレス(n−1)のブロックである。NAND制御回路およびRAM制御回路が、NANDメモリ内の最古ブロック(物理アドレス(n−1)のブロック)に格納されたデータを引き出し、このデータをRAMへ一時的にコピーする(S10)。続いて、NAND制御回路は、書込み予定の論理アドレス2で指定された物理アドレス1のブロック内のデータ、および、最古ブロック内のデータを消去する(S20)。
さらに、図5に示すように、MPUは、論物変換テーブル内における書込み対象ブロックを示す論理アドレス2と最古ブロックを示す論理アドレス3とを入れ替える(S30)。即ち、物理アドレス1のブロックに対する論理アドレスを“3”とし、物理アドレス(n−1)のブロックに対する論理アドレスを“2”とする。それとともに、RAMに一時的に格納されていたデータは、論理アドレス3で指定される物理アドレス1のブロックへ書き戻される(S40)。また、書込み予定のデータは、論理アドレス2で指定される物理アドレス(n−1)のブロックへ書き込まれる(S50)。
論理アドレス2と論理アドレス3との入替えと同時に、LRUテーブルの情報は、論理アドレス2および論理アドレス3を、最も新しいデータを格納するアドレスとして更新される(S60)。このとき、MPUは、RAM制御回路内のLRUテーブルにおいて論理アドレス2および論理アドレス3を検索し、これらの論理アドレスを、最新のデータを格納するアドレスとしてLRUテーブルに格納する。尚、図5において、LRUテーブルの更新は、論理アドレス2、論理アドレス3の順番で行われているが、論理アドレス3、論理アドレス2の順に更新されてもよい。
これにより、経時的なデータ劣化およびリードディスターブによるデータ劣化(ソフトウェアの劣化)を防ぐことができるとともに、各ブロック単位において書込み・消去回数の平均化を実行することができる。一般に、経時的なデータ劣化は、書込み・消去回数が増大することにより悪化することが知られている。本実施形態では、書込み・消去回数の平均化を行うことによって、各ブロックにおけるメモリセルの物理的な劣化の程度を揃えることができる。即ち、本実施形態は、メモリ装置内の局所的なメモリセルの物理的な劣化を防止し、全メモリセルの物理的な劣化を平均化することができる。これにより、本実施形態はメモリ装置の寿命を延ばすことができる。
図7は、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す。この場合、書込み対象である論理アドレス3で指定される物理アドレス(n−1)のブロック内のデータのみが消去される。論物変換テーブルの論理アドレス3は、入れ替えることなく、物理アドレス(n−1)のブロックに対応したままである。この状態で、書込みデータは、論理アドレス3で指定される物理アドレス(n−1)のブロックに書き込まれる。これと同時に、RAM制御回路は、LRUテーブルの情報を更新することによって、論理アドレス3を最も新しいデータを格納するアドレスとする。尚、データ書込み前に物理アドレス(n−1)のブロックに格納されていたデータは、RAMにコピーされる。しかし、このデータは、不要であるのでRAMにコピーする必要は必ずしも無い。
これにより、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合であっても、経時的なデータ劣化およびリードディスターブによるデータ劣化(ソフトウェアの劣化)を防ぐことができるとともに、各ブロック単位において書込み・消去回数の平均化を実行することができる。本実施形態による書込み・消去回数の平均化は、メモリ装置の使用当初から継続的にデータ書込み動作に対してリアルタイムに実行されるため、書込み・消去回数が閾値を超えるか否かの判定は不要である。即ち、本実施形態は、書込み・消去回数のカウンタが不要である。
(第2の実施形態)
図8および図9は、本発明に係る第2の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。図10は、第2の実施形態によるデータ書込み動作を示すフロー図である。図8から図10では、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと異なる場合の書込み動作を示す。
図8および図9は、本発明に係る第2の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。図10は、第2の実施形態によるデータ書込み動作を示すフロー図である。図8から図10では、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと異なる場合の書込み動作を示す。
第2の実施形態は、LRUテーブルに代えて、書込みカウンタテーブル(以下、カウンタテーブル)を備えている点で第1の実施形態と異なる。第2の実施形態のその他の構成は、第1の実施形態の構成と同様でよい。カウンタテーブルは、累積書込み回数を各ブロックごとに格納するテーブルである。カウンタテーブルは、NANDメモリの一部に格納される。カウンタテーブルの変更時には、MPUは、カウンタテーブルをRAMへ一時的に移し、LRUテーブルを更新した後に、LRUテーブルをNANDメモリへ戻せばよい。ここで、累積書込み回数は、各ブロックごとの個別の書込み回数ではなく、全ブロックを対象とした総書込み回数を意味する。
例えば、1回目の書込みが物理アドレス(n−1)のブロックに実行され、2回目の書込みが物理アドレス2のブロックに実行されたとする。この場合、図8に示すように、物理アドレス(n−1)に対応するカウンタに“1”が記憶され、物理アドレス2に対応するカウンタに“2”が記憶される。その後、i回目(iは整数)の書込みが或るブロックに実行された場合には、このブロックに対応するカウンタに“i”が記憶される。これにより、カウンタテーブルは、各ブロックに対して異なる数値を記憶する。さらに、カウンタテーブルの数値は、書込み時点から長時間経過した(古い)データを格納するブロックに対しては小さく、一方、書込み時点から時間が経過していない(新しい)データを格納するブロックに対しては大きくなる。例えば、図8において、カウンタテーブルは、論理アドレス3で指定される物理アドレス(n−1)のブロックに対して“1”を格納する。よって、物理アドレス(n−1)のブロックは、最初にデータが書き込まれたブロックであり、最古ブロックである。これに対して、カウンタテーブルは、論理アドレス(n−1)で指定される物理アドレスnのブロックに対して“10”を格納する。よって、物理アドレスnのブロックは、物理アドレス(n−1)のブロックよりも新しいデータを格納するブロックであることがわかる。尚、数値iの最大値は、1つのブロックについて保証されている消去回数とメモリ装置内の総ブロック数との積に等しくすればよい。例えば、1つのブロックについて保証されている消去回数が105回であり、総ブロック数が1024個であるとすれば、カウンタテーブルが格納可能な数値iの最大値は、105×1024であればよい。
このようなカウンタテーブルを有することによって、第2の実施形態によるメモリ装置は、第1の実施形態によるメモリ装置と同様の動作を実行することができる。即ち、データ書込み動作において、NAND制御回路は、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。
より詳細には、データ書込み動作において、論理アドレス2が書き込み予定のアドレスとする。最古ブロックは、論理アドレス3により指定された物理アドレス(n−1)のブロックであるとする。まず、MPUは、カウンタテーブルを検索することによって、最古カウンタを特定する(S5)。最古ブロックのカウンタは最も数値が小さいので、MPUは、カウンタテーブルのうち最小値を検索すればよい。次に、RAM制御回路が、NANDメモリ内の最古ブロック(物理アドレス(n−1)のブロック)に格納されたデータをRAMへ一時的にコピーする(S10)。続いて、NAND制御回路は、書込み予定の論理アドレス2で指定された物理アドレス1のブロック内のデータ、および、最古ブロック内のデータを消去する(S20)。
さらに、図9に示すように、MPUは、論物変換テーブル内における書込み対象ブロックを示す論理アドレス2と最古ブロックを示す論理アドレス3とを入れ替える(S30)。即ち、MPUは、物理アドレス1のブロックに対する論理アドレスを“3”とし、物理アドレス(n−1)のブロックに対する論理アドレスを“2”とする。それとともに、RAMに一時的に格納されていたデータは、論理アドレス3で指定される物理アドレス1のブロックへ書き戻される(S40)。また、書込み予定のデータは、論理アドレス2で指定される物理アドレス(n−1)のブロックへ書き込まれる(S50)。
論理アドレス2と論理アドレス3との入替えと同時に、RAM制御回路は、カウンタテーブルの情報を更新することによって、論理アドレス2および論理アドレス3を、最も新しいデータを格納するアドレスとする(S61)。このとき、RAM制御回路は、論理アドレス2で指定される物理アドレス(n−1)のブロックのカウンタおよび論理アドレス3で指定される物理アドレス1のブロックのカウンタを更新する。例えば、カウンタテーブルにおいて数値“10”が最大である場合(物理アドレスnのブロックが最近書き込まれている場合)、物理アドレス1のブロックのカウンタを“11”に更新し、物理アドレス(n−1)のブロックのカウンタを“12”に更新する。尚、図9において、カウンタテーブルの更新は、論理アドレス3、論理アドレス2の順番で行われているが、論理アドレス2、論理アドレス3の順に更新されてもよい。
これにより、第2の実施形態は、第1の実施形態と同様の効果を得ることができる。
図11は、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作を示す。この場合、書込み対象である論理アドレス3で指定される物理アドレス(n−1)のブロック内のデータのみが消去される。論物変換テーブルの論理アドレス3は、入れ替えることなく、物理アドレス(n−1)のブロックに対応したままである。この状態で、書込みデータは、論理アドレス3で指定される物理アドレス(n−1)のブロックに書き込まれる。これと同時に、カウンタテーブルの情報は、論理アドレス3を、最も新しいデータを格納するアドレスとして更新される。尚、データ書込み前に物理アドレス(n−1)のブロックに格納されていたデータは、RAMにコピーする。しかし、このデータは、不要であるのでRAMにコピーする必要は必ずしも無い。
これにより、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合であっても、本実施形態の効果は失われない。
(第3の実施形態)
第3の実施形態は、最古ブロックのデータをRAMへコピーするときに計算されるエラー訂正数に基づいて、論理アドレスの入替え(書込み・消去回数の平均化)の要否を決定する。エラー訂正数は、ECC(Error-Correcting Cord)を確認することによって得ることができる。エラー訂正数は、リードディスターブや経時によってエラーとなったメモリセルを訂正した数である。エラー訂正数は、RAMへコピーするときにブロックごとに計算される。
第3の実施形態は、最古ブロックのデータをRAMへコピーするときに計算されるエラー訂正数に基づいて、論理アドレスの入替え(書込み・消去回数の平均化)の要否を決定する。エラー訂正数は、ECC(Error-Correcting Cord)を確認することによって得ることができる。エラー訂正数は、リードディスターブや経時によってエラーとなったメモリセルを訂正した数である。エラー訂正数は、RAMへコピーするときにブロックごとに計算される。
エラー訂正数が所定数未満の場合には、MPUは、書込み対象の論理アドレスで指定されるブロックと最古ブロックとの異同に関わらず、論理アドレスの入れ替えを実行しない。例えば、図7に示すように、書込み対象である論理アドレス3で指定される物理アドレス(n−1)のブロック内のデータのみが書き換えられる。論物変換テーブルの論理アドレス3は、入れ替えることなく、物理アドレス(n−1)のブロックに対応したままである。このとき、RAM制御回路は、LRUテーブルの情報を更新し、論理アドレス3を、最も新しいデータを格納するアドレスとする。
エラー訂正数が所定数以上である場合には、論理アドレスの入れ替えを実行する。例えば、図4〜図6に示すように、NAND制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。NAND制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。この場合の詳細な動作は、第1の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図7を参照して説明した通りである。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み/消去回数の平均化が実行される。
エラー訂正数は、データ劣化およびメモリセルの物理的な劣化が激しいほど多くなると考えられる。このため、エラー訂正数が所定の閾値未満のときには、ブロックへの消去回数を減少させるために、書込み対象の論理アドレスで指定されたブロックへそのままデータを書き込む。これにより、書込み対象ブロックが1つで済む。エラー訂正数が所定の閾値以上のときには、リフレッシュ動作のため、および、データ消去回数の平均化を図るために、論理アドレスの入替えを実行する。
(第4の実施形態)
第4の実施形態は、第3の実施形態によるエラー訂正数に基づく論理アドレスの入替えを第2の実施形態に適用した実施形態である。
第4の実施形態は、第3の実施形態によるエラー訂正数に基づく論理アドレスの入替えを第2の実施形態に適用した実施形態である。
エラー訂正数が所定数未満の場合には、MPUは、書込み対象の論理アドレスで指定されるブロックと最古ブロックとの異同に関わらず、論理アドレスの入れ替えを実行しない。例えば、図11に示すように、書込み対象である論理アドレス3で指定される物理アドレス(n−1)のブロック内のデータのみが書き換えられる。論物変換テーブルの論理アドレス3は、入れ替えることなく、物理アドレス(n−1)のブロックに対応したままである。このとき、RAM制御回路は、LRUテーブルの情報を更新し、論理アドレス3を、最も新しいデータを格納するアドレスとする。
エラー訂正数が所定数以上である場合には、NAND制御回路は、論理アドレスの入れ替えを実行する。例えば、図8〜図10に示すように、NAND制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。NAND制御回路は、書込み指定された論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み対象の論理アドレスに対応するブロックへ書き戻される。この場合の詳細な動作は、第2の実施形態と同様である。尚、データ書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図11を参照して説明した通りである。これにより、最古ブロックのリフレッシュ動作およびブロックごとのデータ書込み/消去回数の平均化が実行される。
第4の実施形態は、第2および第3の実施形態の効果を併せ持つ。
(第5の実施形態)
図12および図13は、本発明に係る第5の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第5の実施形態は、第3の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このときにMPUは、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、RAM制御回路は、二番目に古いブロック内のデータをRAMへコピーしない。
図12および図13は、本発明に係る第5の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第5の実施形態は、第3の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このときにMPUは、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、RAM制御回路は、二番目に古いブロック内のデータをRAMへコピーしない。
もし、二番目に古いブロックのエラー訂正数が所定値未満であった場合、NAND制御回路は、図12に示すように、物理アドレス2のブロック内のデータをそのまま残し、物理アドレス1およびn−1のブロック内のデータを消去する。その後、図4〜図6を参照して説明したように、NAND制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。NAND制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。この場合の詳細な動作は、第1の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図7を参照して説明した通りである。
もし、二番目に古いブロックのエラー訂正数が所定値以上であった場合、NAND制御回路は、図13に示すように、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。NAND制御回路は、最古ブロックへデータを書き込み、論理アドレス3で指定される物理アドレス1のブロックへ論理アドレス3のデータを書き戻し、さらに、論理アドレス1で指定される物理アドレス2のブロックへ論理アドレス1のデータを書き戻す。LRUテーブルでは、論理アドレス2、3だけでなく、論理アドレス1も更新されたアドレスとして格納される。
三番目以降に古いブロックについても、二番目に古いブロックと同様に処理する。即ち、二番目に古いブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、さらに、三番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このとき、三番目に古いデータを格納するブロックのエラー訂正数も確認する。四番目以降に古いブロックについても、二番目および三番目に古いブロックと同様に処理する。このようにして、第5の実施形態は、エラー訂正数が所定値以上である全ブロックについてリフレッシュ動作を実行することができる。第5の実施形態は、さらに、第1および第3の実施形態の効果を得ることができる。
(第6の実施形態)
図14および図15は、本発明に係る第6の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第6の実施形態は、第4の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このとき、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、RAM制御回路は、二番目に古いブロック内のデータをRAMへコピーしない。
図14および図15は、本発明に係る第6の実施形態に従ったメモリ装置のデータ書込み動作を示す概念図である。第6の実施形態は、第4の実施形態において、最古ブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、二番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このとき、二番目に古いデータを格納するブロックのエラー訂正数を確認する。最古ブロックのエラー訂正数が所定値未満であった場合、RAM制御回路は、二番目に古いブロック内のデータをRAMへコピーしない。
もし、二番目に古いブロックのエラー訂正数が所定値未満であった場合、NAND制御回路は、図14に示すように、物理アドレス2のブロック内のデータをそのまま残し、物理アドレス1およびn−1のブロック内のデータを消去する。その後、図8〜図10を参照して説明したように、NAND制御回路は、書込み対象の論理アドレスに対応するブロックへデータをそのまま書き込まず、最古ブロックにそのデータを書き込む。最古ブロックに格納されていたデータは、書込み指定された論理アドレスに対応するブロックへ書き戻される。NAND制御回路は、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。この場合の詳細な動作は、第2の実施形態と同様である。尚、書込み対象の論理アドレスが、最古ブロックの論理アドレスと同じ場合の書込み動作は、図7を参照して説明した通りである。
もし、二番目に古いブロックのエラー訂正数が所定値以上であった場合、NAND制御回路は、図15に示すように、書込み対象の論理アドレスと最古ブロックの論理アドレスとを入れ替える。NAND制御回路は、最古ブロックへデータを書き込み、論理アドレス3で指定される物理アドレス1のブロックへ論理アドレス3のデータを書き戻し、さらに、論理アドレス1で指定される物理アドレス2のブロックへ論理アドレス1のデータを書き戻す。カウンタテーブルでは、物理アドレス1、(n−1)のカウンタだけでなく、物理アドレス2のカウンタも更新される。例えば、物理アドレス2のカウンタは、“13”に更新される。
三番目に古いブロックについても、二番目に古いブロックと同様に処理する。即ち、二番目に古いブロックのエラー訂正数が所定値以上であった場合、RAM制御回路は、さらに、三番目に古い論理アドレスで指定されるブロック内のデータをさらにRAMへコピーする。このとき、三番目に古いデータを格納するブロックのエラー訂正数も確認する。四番目以降に古いブロックについても、二番目および三番目に古いブロックと同様に処理する。このようにして、第6の実施形態は、エラー訂正数が所定値以上である全ブロックについてリフレッシュ動作を実行することができる。第6の実施形態は、さらに、第2および第4の実施形態の効果を得ることができる。
第1から第6の実施形態において、データ読出し時に指定されるアドレスは特定のアドレスに偏る場合がある。また、データ書込み動作と次のデータ書込み動作の間に実行されるデータ読出し回数は任意である。従って、第1および第2の実施形態において、リードディスターブによるデータ劣化は、データ書込み動作と次のデータ書込み動作の間に生じる可能性があるので、リードディスターブに対する対策は別途必要である。例えば、データ読出し回数をカウントするカウンタをメモリ装置に設ける。データ読出し回数が所定値を超えた場合に、リフレッシュ動作を実行する。これによってリードディスターブを防止することができる。
論理i…論理アドレスi
物理i…物理アドレスi
物理i…物理アドレスi
Claims (5)
- 複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第1のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第1のテーブルを格納する第1のメモリ領域と、
第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記時系列データのうち最も古い第2のメモリグループに格納されていた第2のデータを一時的に格納する第2のメモリ領域と、
前記第1の論理アドレスと前記第2のメモリグループを示す第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込む演算制御部とを備えた半導体記憶装置。 - 複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第1のメモリ領域と、
前記メモリグループ毎に設けられた書込みカウンタであって、或るメモリグループにデータを書き込む時に、それ以前に前記第1のメモリ領域にデータを書き込んだ累積書込み回数を、該メモリグループに対応させて記憶する書込みカウンタと、
第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記累積書込み回数が最小である第2のメモリグループに格納されていた第2のデータを一時的に格納する第2のメモリ領域と、
記第1の論理アドレスと前記第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込む演算制御部とを備えた半導体記憶装置。 - 前記第1のメモリ領域は、フラッシュ型EEPROMで構成され、
前記メモリグループは、データの消去単位であることを特徴とする請求項1または請求項2に記載の半導体記憶装置。 - 前記第2のデータを前記第2のメモリ領域に格納するときに、前記第2のメモリグループにおいてエラー訂正された前記メモリセルの数が所定数未満の場合、前記演算制御部は、前記第1のメモリグループと前記第2のメモリグループの異同に関わらず、前記第1のメモリグループへ前記第1のデータを書き込み、前記アドレスの入れ替えを実行せず、
前記第2のメモリグループにおいてエラー訂正された前記メモリセルの数が所定数以上の場合、前記演算制御部は、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込むとともに、前記第1のメモリグループのアドレスと前記第2のメモリグループのアドレスとを入れ替えることを特徴とする請求項1または請求項2に記載の半導体記憶装置。 - 複数のメモリセルを含む複数のメモリグループを有し、該メモリグループごとにアドレスが割り当てられ、該メモリグループごとにデータが消去される第1のメモリ領域であって、データが書き込まれた前記メモリグループの書込み順を示す時系列データを示す第1のテーブルを格納する第1のメモリ領域と、前記第1のメモリ領域内のデータを一時的に格納する第2のメモリ領域とを備えた半導体記憶装置の駆動方法であって、
第1のメモリグループに対応する第1の論理アドレスへ第1のデータを書き込むときに、前記時系列データのうち最も古い第2のメモリグループに格納されていた第2のデータを前記第2のメモリ領域に格納し、
前記第1の論理アドレスと前記第2のメモリグループを示す第2の論理アドレスとを入れ替えるとともに、前記第2のメモリグループへ前記第1のデータを書き込み、かつ、前記第1のメモリグループへ前記第2のデータを書き込むことを具備する半導体記憶装置の駆動方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007117172A JP2008276832A (ja) | 2007-04-26 | 2007-04-26 | 半導体記憶装置およびその駆動方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007117172A JP2008276832A (ja) | 2007-04-26 | 2007-04-26 | 半導体記憶装置およびその駆動方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008276832A true JP2008276832A (ja) | 2008-11-13 |
Family
ID=40054615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007117172A Pending JP2008276832A (ja) | 2007-04-26 | 2007-04-26 | 半導体記憶装置およびその駆動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008276832A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347024B2 (en) | 2009-09-25 | 2013-01-01 | Kabushiki Kaisha Toshiba | Memory system monitoring data erasing time or writing time |
JP2015111453A (ja) * | 2015-02-10 | 2015-06-18 | 株式会社日立製作所 | フラッシュメモリモジュール |
JP2017102717A (ja) * | 2015-12-02 | 2017-06-08 | 富士通株式会社 | メモリ制御システム及びメモリ制御方法 |
US9715341B2 (en) | 2014-10-29 | 2017-07-25 | Samsung Electronics Co., Ltd. | Operating a memory device using a program order stamp to control a read voltage |
US9858014B2 (en) | 2014-10-29 | 2018-01-02 | Samsung Electronics Co., Ltd. | Memory system and method of operating same using program order information |
US9921749B2 (en) | 2014-10-29 | 2018-03-20 | Samsung Electronics Co., Ltd. | Memory system and method including determining a read voltage based on program order information and a plurality of mapping tables |
US10366771B2 (en) | 2017-02-28 | 2019-07-30 | Toshiba Memory Corporation | Controller, memory system, and block management method for NAND flash memory using the same |
-
2007
- 2007-04-26 JP JP2007117172A patent/JP2008276832A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347024B2 (en) | 2009-09-25 | 2013-01-01 | Kabushiki Kaisha Toshiba | Memory system monitoring data erasing time or writing time |
US9715341B2 (en) | 2014-10-29 | 2017-07-25 | Samsung Electronics Co., Ltd. | Operating a memory device using a program order stamp to control a read voltage |
US9858014B2 (en) | 2014-10-29 | 2018-01-02 | Samsung Electronics Co., Ltd. | Memory system and method of operating same using program order information |
US9921749B2 (en) | 2014-10-29 | 2018-03-20 | Samsung Electronics Co., Ltd. | Memory system and method including determining a read voltage based on program order information and a plurality of mapping tables |
JP2015111453A (ja) * | 2015-02-10 | 2015-06-18 | 株式会社日立製作所 | フラッシュメモリモジュール |
JP2017102717A (ja) * | 2015-12-02 | 2017-06-08 | 富士通株式会社 | メモリ制御システム及びメモリ制御方法 |
US10366771B2 (en) | 2017-02-28 | 2019-07-30 | Toshiba Memory Corporation | Controller, memory system, and block management method for NAND flash memory using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8078923B2 (en) | Semiconductor memory device with error correction | |
US10275165B2 (en) | Memory controller | |
US7778078B2 (en) | Memory system and control method thereof | |
US10740013B2 (en) | Non-volatile data-storage device with spare block pools using a block clearing method | |
US8484432B2 (en) | Memory system | |
TWI393140B (zh) | 在一非揮發性記憶體中儲存資料之方法 | |
US7409490B2 (en) | Method of flash memory management | |
US20100125696A1 (en) | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor | |
JP2011203916A (ja) | メモリコントローラ、および半導体記憶装置 | |
TW201349099A (zh) | 資料儲存裝置和快閃記憶體之區塊管理方法 | |
JP2016525240A (ja) | メモリシステムにおける消去管理 | |
JP2008276832A (ja) | 半導体記憶装置およびその駆動方法 | |
JP2009037317A (ja) | メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム | |
JPWO2011118114A1 (ja) | 不揮発性記憶装置及びメモリコントローラ | |
JP5494086B2 (ja) | 不揮発性記憶装置および不揮発性メモリコントローラ | |
US10204043B2 (en) | Memory controller, method of controlling nonvolatile memory and memory system | |
JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP2011059907A (ja) | 端末装置及びそれに用いる不揮発メモリ管理方法並びにそのプログラム | |
JP4558054B2 (ja) | メモリシステム | |
JP4551938B2 (ja) | メモリシステム | |
US20240289269A1 (en) | Data storage device and non-volatile memory control method | |
US20240265964A1 (en) | Flash memory and wear leveling method thereof | |
JP2009211202A (ja) | メモリシステム | |
JP2005174468A (ja) | フラッシュメモリのアクセス制御方法 | |
KR20190088671A (ko) | 낸드 플래시 메모리 장치 |