(57)【要約】【課題】第１データを保存する第１データブロック及び第１データの少なくとも一部のアップデートされたバージョンを保存する第１ログブロックを備える不揮発性メモリ装置を動作させる方法を提供する。【解決手段】データの記録されていない自由ブロックに第１データブロックの第１データの有効部分をコピーして第２データブロックを生成させる段階と、第２データブロックに第１ログブロックから第１データの少なくとも一部のアップデートされたバージョンをコピーする段階と、少なくとも一つの既定の条件が満足されれば、第１ログブロックからデータを消去せずに、第１ログブロックを再使用ログブロックとして割り当てる段階と、を備える不揮発性メモリ装置を動作させる方法。【選択図】図７
2008103071.tif 000002
【特許請求の範囲】
【請求項１】
第１データを保存する第１データブロック及び前記第１データの少なくとも一部のアップデートされたバージョンを保存する第１ログブロックを備える不揮発性メモリ装置を動作させる方法において、
データの記録されていない自由ブロックに第１データブロックにある前記第１データの有効部分をコピーして第２データブロックを生成する段階と、
前記第２データブロックに前記第１ログブロックから前記第１データの少なくとも一部のアップデートされたバージョンをコピーする段階と、
少なくとも一つの既定の条件が満足されたことに応答して、前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階と、
を含むことを特徴とする不揮発性メモリ装置を動作させる方法。
【請求項２】
少なくとも一つの既定の条件が満足されたことに応答して、前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階は、
前記第１ログブロックの空きメモリの量を判断する段階と、
前記判断された空きメモリの量と既定の基準値とを比べる段階と、
前記既定の基準値を超える前記第１ログブロックの前記判断された空きメモリの量に基づいて、前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階と、
を含むことを特徴とする請求項１に記載の不揮発性メモリ装置を動作させる方法。
【請求項３】
前記不揮発性メモリ装置は、フラッシュメモリ装置であることを特徴とする請求項２に記載の不揮発性メモリ装置を動作させる方法。
【請求項４】
前記空きメモリ量は、前記第１ログブロックの空きページの数であり、
前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階は、前記第１ログブロックの識別子及び前記第１ログブロックと関連した空きページ開始アドレスを再使用プールテーブルに記録する段階を含む、
ことを特徴とする請求項３に記載の不揮発性メモリ装置を動作させる方法。
【請求項５】
前記第１ログブロックの識別子は、前記第１ログブロックの物理的ブロック番号を含むことを特徴とする請求項４に記載の不揮発性メモリ装置を動作させる方法。
【請求項６】
前記方法は、
前記再使用ログブロックから前記第１データを消去せずに、前記再使用ログブロックに第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを記録する段階をさらに含むことを特徴とする請求項４に記載の不揮発性メモリ装置を動作させる方法。
【請求項７】
前記再使用ログブロックから前記第１データを消去せずに、前記再使用ログブロックに第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを記録する段階は、
前記第２データの少なくとも一部のアップデートされたバージョンを受信する段階と、
前記第２データの少なくとも一部のアップデートされたバージョンを新たなログブロックに保存するか否かを判断する段階と、
前記新たなログブロックが、自由メモリブロックである必要があるかどうか判断する段階と、
前記再使用ログブロックを前記新たなログブロックに選択する段階と、
前記第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを前記再使用ログブロックに記録する段階と、
を含むことを特徴とする請求項６に記載の不揮発性メモリ装置を動作させる方法。
【請求項８】
前記既定の基準値は、前記第１ログブロックの全体ページ数の約１／２であることを特徴とする請求項２に記載の不揮発性メモリ装置を動作させる方法。
【請求項９】
請求項１に記載の不揮発性メモリ管理方法を実行するためのプログラムを記録した記録媒体。
【請求項１０】
プログラムが保存されている第１メモリと、
データブロック及び前記データブロックを更新するためのデータを記録するためのログブロックを備える第２メモリと、
前記プログラムを実行して前記第２メモリを管理するプロセッサと、を備え、
前記プロセッサは、
データの記録されていない自由ブロックに第１データブロックの有効データと前記第１データブロックに対応する第１ログブロックの有効データとをコピーして第２データブロックを生成させ、
既定の条件に基づいて、前記第１ログブロックのデータを消去して前記第１ログブロックを自由ブロックに割り当てるか、または前記第１ログブロックのデータを消去せずに、前記第１ログブロックを第２ログブロックに割り当てる、
ことを特徴とする不揮発性メモリ装置。
【請求項１１】
前記第１メモリは、ＲＯＭ（Ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）であり、
前記第２メモリは、フラッシュメモリである、
ことを特徴とする請求項１０に記載の不揮発性メモリ装置。
【請求項１２】
不揮発性メモリ装置の第１メモリブロックに第１データを記録する段階を含み、
前記第１メモリブロックは、消去されたページと以前に記録されたこれ以上有効ではない第２データを含むページとを含む、
ことを特徴とする不揮発性メモリ装置を動作させる方法。
【請求項１３】
前記方法は、
前記第１メモリブロックに前記データを保存する前に、前記第１メモリブロックで消去されたページの数が基準値を超えるかどうかを判断したことに応答して、前記第１メモリブロックを再使用メモリブロックとして指定する段階をさらに含むことを特徴とする請求項１２に記載の不揮発性メモリ装置を動作させる方法。
【請求項１４】
前記方法は、
前記第１メモリブロックの第１の消去されたページセットの第１ページを指示する前記第１メモリブロックの第１アドレスを保存する段階をさらに含むことを特徴とする請求項１３に記載の不揮発性メモリ装置を動作させる方法。
【請求項１５】
前記第１メモリブロックに第１データを記録する段階は、
前記第１の消去されたページセットの第１ページで始まる前記第１メモリブロックで消去されたページの少なくとも一部に第１データを記録する段階を備えることを特徴とする請求項１４に記載の不揮発性メモリ装置を動作させる方法。
【請求項１６】
前記第１メモリブロックの第１アドレスは、前記第１メモリブロックで前記消去されたページの数が基準値を超えるかどうかの判断に応答して保存され、前記第１メモリブロックに対する指示とともに再使用ブロック管理データ構造に保存されることを特徴とする請求項１４に記載の不揮発性メモリ装置を動作させる方法。
【請求項１７】
前記第１メモリブロックはログブロックであり、前記第１データは第１データブロックと関連し、前記第２データは第２データブロックと関連することを特徴とする請求項１２に記載の不揮発性メモリ装置を動作させる方法。
【請求項１８】
不揮発性メモリ装置の第１ログブロックに保存された第１データと前記不揮発性メモリ装置の第１データブロックに保存された第２データとを前記不揮発性メモリ装置の第２データブロックに記録して併合する段階と、
前記第１ログブロックで空きページの数を判断する段階と、
前記空きページの数が基準値を超えるか否か判断する段階と、
を含むことを特徴とする不揮発性メモリ装置を動作させる方法。
【請求項１９】
前記方法は、
もし、前記空きページの数が前記基準値を超えれば、前記第１ログブロックを再使用ログブロックプールに割り当てる段階をさらに含むことを特徴とする請求項１８に記載の不揮発性メモリ装置を動作させる方法。
【請求項２０】
前記方法は、
前記空きページの数が前記基準値以下であれば、前記第１ログブロックを消去可能なログブロックプールに割り当てる段階をさらに含むことを特徴とする請求項１８に記載の不揮発性メモリ装置を動作させる方法。
【請求項２１】
前記方法は、
前記空きページの第１ページに対するアドレスと前記第１ログブロックに対する指示子とを前記不揮発性メモリ装置で保存される再使用ブロック管理データ構造に追加する段階をさらに含むことを特徴とする請求項１８に記載の不揮発性メモリ装置を動作させる方法。
【請求項２２】
前記第２データは、前記第１ログブロックにまた保存される第３データのアップデートされたバージョンを含むことを特徴とする請求項１８に記載の不揮発性メモリ装置を動作させる方法。
【請求項２３】
ログブロック領域、データブロック領域、消去可能なブロック領域、自由ブロック領域及び再使用ブロック領域を備える多数の論理領域に分けられたメモリセル領域と、
プロセッサと、を備え、
前記データブロック領域は、前記不揮発性メモリ装置に入力されるデータを保存する複数のデータブロックを含み、前記ログブロック領域は、前記データブロック領域に保存されたデータに対するアップデートデータを保存する複数のログブロックを含み、前記消去可能なブロック領域は、消去を待つ複数の消去可能なブロックを含み、前記自由ブロック領域は、複数の消去されたメモリブロックを含み、前記再使用ブロック領域は、少なくとも第１ログブロックでアップデートされたデータが、併合動作の一部として、他のブロックに記録された後に消去動作なしに再使用領域に割り当てられる前記第１ログブロックを含むことを特徴とする不揮発性メモリ装置。
【請求項２４】
前記メモリセル領域はマップ領域をさらに含み、前記再使用ブロック管理データ構造は前記マップ領域に保存されることを特徴とする請求項２３に記載の不揮発性メモリ装置。
【請求項２５】
前記再使用ブロック管理データ構造は、
前記再使用ブロックの第１空きページとともに前記再使用ブロックに対する指示子を含むそれぞれの利用可能な再使用ブロックに対するエントリーを備えることを特徴とする請求項２４に記載の不揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体メモリ装置に係り、より詳細には、不揮発性半導体メモリ装置を動作させる方法及びこれと関連した不揮発性メモリ装置に関する。
【背景技術】
【０００２】
フラッシュ（ｆｌａｓｈ）メモリ装置は、電気的にデータを消去するか書き込みできる不揮発性メモリ装置である。フラッシュメモリを基盤とした保存装置は、磁気ディスク保存装置に比べて電力消耗が少なく、サイズが小さくて磁気ディスク装置の代用として開発が活発に進行しており、広く普及される状況にある。
【０００３】
ところが、フラッシュメモリ装置は、データの直接のオーバライト可能な磁気ディスクメモリとは異なり、データの直接のオーバライトが不可能である。フラッシュメモリにデータをオーバライトするためには、先に保存されたデータを消去した後、新たなデータをその消去されたメモリセルにプログラムする。すなわち、消去（ｅｒａｓｅ）動作は、フラッシュメモリのメモリセルを初期状態に戻しうる。一般的に、フラッシュメモリ装置は、大きく３種類の動作モード、すなわち、プログラム（書き込み）モード（ｐｒｏｇｒａｍ  ｍｏｄｅ）、消去モード（ｅｒａｓｅ  ｍｏｄｅ）、読出モード（ｒｅａｄ  ｍｏｄｅ）を有する。ここで、消去された（ｅｒａｓｅｄ）フラッシュメモリセルまたはブロックは、“空（ｃｌｅａｎ）”セルまたはブロックと呼ばれうる。
【０００４】
消去動作は、プログラム（書き込み）動作に比べて相対的に長時間が必要となる。さらに、消去動作は、通常のプログラムや読出（読み取り）動作より相当に大きいブロックを単位として実行される。したがって、消去が要請されていない部分がブロック消去動作の間に消去されうる。このとき、消去動作が要請されていないブロックの部分は他のブロックにデータをプログラミングすることで、復旧される必要がある。
【０００５】
頻繁な消去動作は、フラッシュメモリ装置の消去回数（Ｅｒａｓｅ  Ｃｏｕｎｔ）を増加させる。消去回数は、フラッシュメモリ装置の寿命に重大な影響を及ぼすパラメータである。フラッシュメモリ装置の消去回数及びプログラム回数が増加する時、当該装置の期待寿命（すなわち、フラッシュメモリが正しく動作できる時間）は短縮される。
【０００６】
図１は、通常のフラッシュメモリ装置のメモリセル領域を表わすブロック図である。図１を参照して説明すると、フラッシュメモリ装置のメモリセル領域は、マップ領域、ログブロック領域、データブロック領域、消去可能ブロック領域及び自由ブロック領域を含む複数の論理領域に分けられうる。各領域は、一つ以上のメモリブロックを含みうる。ここで、ログブロック領域に属するメモリブロックは、ログブロック、データブロック領域にあるメモリブロックはデータブロック、消去可能ブロック領域にあるメモリブロックは消去可能ブロック、自由ブロック領域にあるメモリブロックは自由ブロックと呼ばれうる。
【０００７】
データブロックは一般データを保存する。ログブロックには更新（アップデート）された内容が記録され、ログブロックはデータブロックの一部または全部を更新（アップデート）するために使われる。したがって、ログブロックは、少なくとも一つのデータブロックに対応していて、該当のデータブロックの修正（アップデート）されたページを保存する。
【０００８】
ログブロックに保存されているページは、データブロックに保存されている対応するページより優先的に参照される。ログブロックのデータは、対応するデータブロックのデータと周期的に併合（ｍｅｒｇｅ）されうる。
【０００９】
図２は、通常のフラッシュメモリ装置のメモリブロック間の併合によるメモリブロックの状態変化を表わす状態図である。図２に図示されたメモリブロック間の併合によるメモリブロックの状態変化は、特許文献１に開示されている。図２を参照して説明すると、例えば、ログブロックが単純併合動作（Ｓｉｍｐｌｅ  Ｍｅｒｇｅ）を要する時、ログブロックは消去可能ブロックになる。消去可能ブロックは、再使用される前に消去される必要があるブロックである。
【００１０】
図３は、通常のフラッシュメモリ装置の単純併合動作（Ｓｉｍｐｌｅ  Ｍｅｒｇｅ）後のログブロックを表わす概略図である。図３を参照すれば、単純併合動作後にログブロックは多様な量（ａｍｏｕｎｔｓ）のプログラムされたデータを有しうる。例えば、あるログブロックは相当な量のデータを保存することができ、一方、他のログブロックは少量（例えば、一ページあるいは二ページ）のデータを保存することができるかもしれない。単純併合動作後にログブロックはすべてガービッジプール（ｇａｒｂａｇｅ  ｐｏｏｌ）に廃棄される。すなわち、ログブロックは、消去可能ブロックとして定義される。消去可能ブロックはその後に消去されることができ、消去（Ｅｒａｓｅ）後に図２に図示された自由ブロックになる。
【特許文献１】韓国公開特許第１０−２００２−００９２４８７号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の技術的課題は、メモリブロックの消去回数を減少させてメモリ装置の性能及び寿命を改善しうる、不揮発性メモリを動作させる方法及び不揮発性メモリ装置を提供することである。
【課題を解決するための手段】
【００１２】
前記のような目的を果たすための本発明の望ましい一側面による方法は、第１データを保存する第１データブロック及び前記第１データの少なくとも一部のアップデートされたバージョンを保存する第１ログブロックを含む不揮発性メモリ装置を動作させる方法であって、データの記録されていない自由ブロックに第１データブロックにある前記第１データの有効部分をコピーして第２データブロックを生成する段階と、前記第２データブロックに前記第１ログブロックから前記第１データの少なくとも一部のアップデートされたバージョンをコピーする段階と、少なくとも一つの既定の条件が満足されれば応答して、前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階と、を含む。
【００１３】
前記不揮発性メモリ装置は、例えば、フラッシュメモリ装置を含みうる。
【００１４】
少なくとも一つの既定の条件が満足されれば、前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階は、前記第１ログブロックの空きメモリ（ｃｌｅａｎ  ｍｅｍｏｒｙ）の量を判断する段階と、前記判断された空きメモリの量と既定の基準値とを比べる段階と、前記既定の基準値を超える前記第１ログブロックの前記判断された空きメモリの量に基づいて前記第１ログブロックからデータを消去せずに、前記第１ログブロックを再使用ログブロックとして割り当てる段階と、を含む。
【００１５】
前記空きメモリ量は、前記第１ログブロックの空きページの数であり得る。
【００１６】
前記第１ログブロックを再使用ログブロックとして割り当てる段階は、前記第１ログブロックの識別子（例えば、物理的ブロック番号）及び前記第１ログブロックと関連した空きページ開始アドレスを再使用プールテーブルに記録する段階であり得る。
【００１７】
前記既定の基準値は、例えば、前記第１ログブロックの全体ページ数のおおよそ１／２であり得る。
【００１８】
前記不揮発性メモリ装置を動作させる方法は、前記再使用ログブロックから前記第１データを消去せずに、前記再使用ログブロックに第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを記録する段階をさらに含みうる。
【００１９】
前記再使用ログブロックから前記第１データを消去せずに、前記再使用ログブロックに第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを記録する段階は、前記第２データの少なくとも一部のアップデートされたバージョンを受信する段階と、前記第２データの少なくとも一部のアップデートされたバージョンを新たなログブロックに保存するか否かを判断する段階と、前記新たなログブロックが、自由メモリブロックである必要があるかどうか判断する段階と、前記再使用ログブロックを前記新たなログブロックに選択する段階と、前記第２データブロックに保存された第２データの少なくとも一部のアップデートされたバージョンを前記再使用ログブロックに記録する段階と、を含みうる。
【００２０】
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置を動作させる方法は、不揮発性メモリ装置の第１メモリブロックに第１データを記録する段階を含み、前記第１メモリブロックは、消去されたページと以前に記録されたこれ以上有効ではない第２データを備えるページとを含む。
【００２１】
前記不揮発性メモリ装置を動作させる方法は、前記第１メモリブロックに前記データを保存する前に、前記第１メモリブロックで消去されたページの数が基準値を超えるかどうかを判断したことに応答して、前記第１メモリブロックを再使用メモリブロックとして指定する段階をさらに含みうる。
【００２２】
前記不揮発性メモリ装置を動作させる方法は、前記第１メモリブロックの第１消去されたページセットの第１ページを指示する前記第１メモリブロックの第１アドレスを保存する段階をさらに含みうる。
【００２３】
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置を動作させる方法は、不揮発性メモリ装置の第１ログブロックに保存された第１データと前記不揮発性メモリ装置の第１データブロックに保存された第２データとを前記不揮発性メモリ装置の第２データブロックに記録して併合する段階と、前記第１ログブロックで空きページの数を判断する段階と、前記空きページの数が基準値を超えるか否か判断する段階と、を含む。
【００２４】
前記不揮発性メモリ装置を動作させる方法は、前記空きページの数が前記基準値を超えれば、前記第１ログブロックを再使用ログブロックプールに割り当てる段階をさらに含みうる。
【００２５】
前記不揮発性メモリ装置を動作させる方法は、前記空きページの数が前記基準値以下であれば、前記第１ログブロックを消去可能なログブロックプールに割り当てる段階をさらに含みうる。
【００２６】
前記のような目的を果たすための本発明の望ましい一側面による不揮発性メモリ装置は、プログラムが保存されている第１メモリと、データブロック及び前記データブロックを更新するためのデータを記録するためのログブロックを備える第２メモリと、前記プログラムを実行して前記第２メモリを管理するプロセッサと、を備える。
【００２７】
前記プロセッサは、データの記録されていない自由ブロックに第１データブロックの有効データと前記第１データブロックに対応する第１ログブロックの有効データとをコピーして第２データブロックを生成し、既定の条件に基づいて、前記第１ログブロックのデータを消去して前記第１ログブロックを自由ブロックに割り当てるか、または前記第１ログブロックのデータを消去せずに、前記第１ログブロックを第２ログブロックに割り当てる。
【００２８】
前記第１メモリは、例えば、ＲＯＭ（Ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、前記第２メモリは、例えば、フラッシュメモリであり得る。
【００２９】
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置は、ログブロック領域、データブロック領域、消去可能なブロック領域、自由ブロック領域及び再使用ブロック領域を備える多数の論理領域に分けられたメモリセル領域と、プロセッサと、を備える。
【００３０】
前記データブロック領域は、前記不揮発性メモリ装置に入力されるデータを保存する複数のデータブロックを含みうる。
【００３１】
前記ログブロック領域は、前記データブロック領域に保存されたデータに対するアップデートデータを保存する複数のログブロックを含みうる。
【００３２】
前記消去可能なブロック領域は、消去を待つ複数の消去可能なブロックを含み、前記自由ブロック領域は、複数の消去されたメモリブロックを含みうる。
【００３３】
前記再使用ブロック領域は、少なくとも第１ログブロックでアップデートされたデータが併合動作の部分としてまた他のブロックに記録された後に、消去動作なしに再使用領域に割り当てられる前記第１ログブロックを含みうる。
【発明の効果】
【００３４】
本発明によれば、併合動作が発生してこれ以上有効ではないログブロックのうち一定比率以上の空きページ（Ｃｌｅａｎ  Ｐａｇｅ）を有するログブロックを消去せずに、また新たなログブロックに再割り当てることによって、不揮発性メモリ装置における消去回数を減らしうる。したがって、プログラム／消去回数に制限がある不揮発性メモリ装置の使用期限を拡張することができる。
【００３５】
また、新たなログブロックを再使用プールに割り当てる場合、消去なしにすぐ使うことができるので、消去に消耗する時間が不要となって性能が向上しうる。
【００３６】
特に、記録されるデータパターンの任意性（Ｒａｎｄｏｍｎｅｓｓ）が大きいほど空き空間の多い状態のログブロックを有する単純併合の頻度が増加しうる。このように単純併合の頻度の多い場合、あるいはブロックが大きい場合および／または使わないログブロック及び自由ブロックの個数が少ないほど本発明の效果が大きくなりうる。
【発明を実施するための最良の形態】
【００３７】
本発明とその動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
【００３８】
以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって本発明を詳しく説明する。各図面に付された同じ参照符号は、同じ部材または要素を表わす。
【００３９】
前述したように、通常の技術では、ログブロックのうち一部は、全体ページのうちの一部ページにのみデータが記録されているにもかかわらず、ログブロックを含む単純併合が完了した後にはログブロックはすべて廃棄されて消去される。これによって、フラッシュメモリ装置の消去回数が増加する。一方、本発明の実施形態によれば、消去回数を減らすために通常の技術によれば廃棄されるログブロックを再使用することによって、性能及び／又は寿命を向上させうる不揮発性メモリ装置およびそれを動作させる方法が提供される。
【００４０】
図４は、本発明の実施形態によるフラッシュメモリ装置のメモリセル領域を表わすブロック図である。図４を参照すれば、本発明の実施形態によるフラッシュメモリ装置のメモリセル領域は、マップ領域、ログブロック領域、データブロック領域、消去可能ブロック領域、再使用ブロック領域及び自由ブロック領域に分割されうる。ここで、各領域は、論理的に分割された領域を意味する。したがって、これらの領域は、物理的には互いに取り混ぜられるか不連続的に存在しうる。
【００４１】
マップ領域には、ブロックアドレッシングを可能にするために各ブロックごとにアドレス変換情報が保存されうる。マップ領域には、また各領域に属するメモリブロックを管理するためのテーブル、リスト及び／又は他のデータ構造が保存されうる。
【００４２】
ログブロック領域は、ログブロックに割り当てられたブロックが属する領域であり、データブロック領域は、一般データが記録される領域である。消去可能ブロック領域は、消去を待つブロックが属する領域である。ここで、このようなブロックは、消去可能ブロックまたは廃棄されたブロックとして表現される。消去可能ブロックは、データの消去を通じて自由ブロックになる。
【００４３】
自由ブロック領域は、ログブロックまたはデータブロックに割り当てられうる自由ブロックが属する領域である。自由ブロックは、必要に応じてマップ領域に割り当てられうる。自由ブロックは、データが記録されていないブロック、または記録されたデータが全部消去されたブロックを言う。
【００４４】
再使用ブロックは、消去なしにログブロックに再割り当てされうるブロックを言う。
【００４５】
オーバライトが不可能なフラッシュメモリ（例えば、通常のＮＡＮＤ型フラッシュメモリ）の特性の上、データ記録（更新）が必要な場合、臨時のメモリブロックを割り当ててデータを記録するが、このようにデータ更新のために臨時に割り当てるメモリブロックが前述したログブロックである。
【００４６】
ところが、ログブロックを無制限に割り当てて使うことはできないので、有限個数のログブロックを使うようになり、ある時点でログブロックのすべては、部分的に及び／又は完全に、データでいっぱいになりうる。ログブロックが新たなデータまたはアップデートされたデータを記録することを可能にするために、ログブロックに保存されたデータは、周期的に対応するデータブロックに保存されたデータと比較されて、（１）前記データブロックにおいて変更されていない情報（前記データがアップデートされていないために有効な情報）、及び、（２）前記ログブロックにおいてアップデートされたデータ（当該データブロックで旧データを置き換えるために必要なデータであって、有効なデータ）が識別される。
【００４７】
前記識別が完了すれば、前記データブロックと前記ログブロックは、例えば、前記ログブロックを空にするために一つのブロックに併合されうる。この過程は、“データ併合”または単純に“併合”と表現される。３種類の他の形態の併合動作が実行可能である。このような３種類の形態の併合は、単純併合（Ｓｉｍｐｌｅ  Ｍｅｒｇｅｓ）、コピー併合（Ｃｏｐｙ  Ｍｅｒｇｅｓ）、交換併合（Ｓｗａｐ  Ｍｅｒｇｅｓ）と呼ばれる。これらそれぞれについては詳しく後述される。
【００４８】
図５は、本発明の実施形態によるログブロック（Ｌｏｇ  Ｂｌｏｃｋ）と対応するデータブロック（Ｄａｔａ  Ｂｌｏｃｋ）との３種類の例示的な併合（Ｍｅｒｇｅ）を表わす概略図である。図５を参照すれば、交換併合（Ｓｗａｐ  Ｍｅｒｇｅ）は、データブロックのすべてのデータが対応するログブロックに保存されたデータで置き換えられること（アップデートされること）を意味する。交換併合は、２種類の他のブロックから選択されたデータを併合することを含まないので（その代りに、データブロックのすべてのデータを対応するログブロックに保存されたデータで置き換えることを含むので）、前記交換併合は、前記ログブロックを前記データブロックに再指定するためにブロックのマッピング（Ｍａｐｐｉｎｇ）を単純に修正することでなされうる。したがって、交換併合は、実際に如何なる実質的なデータのコピーも再書き込みも必要なしに実行されうる。交換併合は、特に、データブロックのすべてのページがすべて一回ずつのみ更新されてログブロックとデータブロックとのページ配列が同一の場合に実行されうる。ブロックのマッピングを入れ替ることは、アドレス変換情報のみを更新することでなされうる。すなわち、マップ領域に記録されたアドレス変換情報を更新して、ユーザーが要請した論理的アドレスに対して該当ログブロックをマッピングさせる。
【００４９】
交換併合の場合には、ブロックマッピングのみを入れ替れば良いのでさらに必要なブロックは無く、併合が完了した以後には既存データブロックは廃棄される。したがって、交換併合以後には既存データブロックは廃棄され、ログブロックはデータブロックになる。すなわち、既存データブロックは、消去を待つ消去可能ブロックになる。
【００５０】
コピー併合（Ｃｏｐｙ  Ｍｅｒｇｅ）は、データブロックの上位アドレス部分に対してアップデートされたデータが受信される時に実行される。前記アップデートされたデータは、例えば、ログブロックの上位アドレス部分に記録されうる。前記コピー併合は、データブロックの残りに保存されたデータを、例えば、前記アップデートされたデータを含むログブロックの下位アドレス部分にコピーするために使われうる。
【００５１】
図５を参照すれば、既存データブロックの上位アドレス部分のデータのみが更新された場合には、ログブロックの上位アドレス部分のデータ、すなわち、更新されたデータは有効である。また、既存データブロックのデータのうち上位アドレス部分のデータは既に更新されたので、これ以上有効ではない無効データ（ｉｎｖａｌｉｄ  ｄａｔａ）であり、更新されていない下位アドレス部分のデータは有効なデータである。下位アドレス部分のデータに対するアップデートされたデータは、受信されなかったためである。したがって、コピー併合において、前記ログブロックと前記対応するデータブロックとの両ブロックから前記有効なデータは一つのブロック（例えば、前記ログブロック）に併合されうる。例えば、前記データブロックの有効なデータを前記ログブロックにコピーすることで一つのブロック（例えば、前記ログブロック）に併合されうる。前記コピー併合は、追加的なブロック（第３のブロック）を要しない。前記コピー併合は、前記ログブロックをデータブロックに再指定するために前記メモリブロックマッピングを修正することで完了されうる。前記コピー併合後、既存データブロックは廃棄されうる。
【００５２】
単純併合（Ｓｉｍｐｌｅ  Ｍｅｒｇｅ）は、データブロックに記録されたデータが非連続的に更新された場合、ログブロックの有効データ（更新されたデータ）とデータブロックの有効データ（すなわち、既存データブロックで更新されていないデータ）とを第３ブロックにコピーすることで新たなデータブロックを作ることである。２つのブロックのデータを合わせて一つの新たなブロックに記録するので、１個の新たなブロックが必要であり、単純併合が完了された以後には、既存データブロックとログブロックのデータはこれ以上有効ではない。したがって、データブロックは、廃棄、すなわち、消去可能ブロックになり、ログブロックは、場合によって、消去可能ブロックになるか再使用ブロックとなる。単純併合は、ログブロックのページと該当のデータブロックのページとの配列が一致していない場合になされることが望ましい。
【００５３】
図６は、本発明の実施形態によるメモリブロックの状態変化を表わす状態遷移図である。図６を参照すれば、前述したように、ログブロックは、交換併合あるいはコピー併合を通じてデータブロックに遷移される。また、ログブロックは、単純併合を通じて消去可能ブロック（ｅｒａｓａｂｌｅ  ｂｌｏｃｋ）に遷移されるか、または再使用ブロックに遷移される。再使用ブロックは、プログラム動作によってログブロックになりうる。
【００５４】
データブロックは、交換併合、単純併合またはコピー併合後に廃棄されて、消去可能ブロックに遷移される。消去可能ブロックは、消去動作を通じて自由ブロックに遷移される。自由ブロックは、プログラムによってログブロックになり、また単純併合を通じてデータブロックになりうる。
【００５５】
データ併合過程を管理するためには、フラッシュメモリ装置は、関連したプロセッサ（図示せず）を有しうる。このプロセッサは、各ブロックについての情報が分からなければならない。そのために、フラッシュメモリ装置にある各メモリ領域を管理するためのテーブルが維持されることが望ましい。例えば、自由ブロックに対するエントリー（または、リスト）を有する自由ブロック管理テーブル、消去可能ブロックに対するエントリー（または、リスト）を有する消去可能ブロック管理テーブル、ログブロックに対するエントリー（または、リスト）を有するログブロック管理テーブル、及びデータブロックに対するエントリー（または、リスト）を有するデータブロック管理テーブルが維持されうる。
【００５６】
前記テーブルのそれぞれは、Ａｒｒａｙ、Ｌｉｎｋｅｄ  Ｌｉｓｔ、Ｑｕｅｕｅのようなデータ構造を利用して具現されることができ、該当のブロックの物理的ブロック番号（ＰＢＮ：Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ）またはそれぞれのブロックと関連した他の表示（ｉｎｄｉｃｉａ）を保存できる。廃棄されたブロックを管理するための一連のデータ構造をガービッジプールと言う。
【００５７】
また、本発明の実施形態によってフラッシュメモリを管理するためには、再使用ブロックに対するリストを有する再使用ブロック管理テーブルが必要である。再使用ブロック管理テーブルもＡｒｒａｙ、Ｌｉｎｋｅｄ  Ｌｉｓｔ、Ｑｕｅｕｅのようなデータ構造である。前記再使用ブロック管理テーブルは、再使用ブロックの物理的ブロック番号及び再使用ブロックの他の表示と前記ブロックで空きページの開始アドレスをともに保存する。再使用ブロックを管理するための一連のデータ構造を再使用プールと言う。前記テーブルは、前述したマップ領域に記録されうる。
【００５８】
図７は、本発明の実施形態による単純併合後のログブロックの処理方法を表わすフローチャートである。
【００５９】
図７を参照すれば、まず、単純併合が先に実行される（１１０）。単純併合が実行されれば、単純併合後のログブロックは、これ以上有効なデータを有していない無効ログブロックになる。次に、無効ログブロックの空きメモリの量（例えば、最後にページが消去された以後、前記ページに書き込まれたデータのない空きページの数）が検出される（１２０）。
【００６０】
次に、検出された空きページの数と既定の基準値（例えば，基準ページ数）とを比べて（１３０）、空きページの数が基準ページ数より大きければ、該当の無効ログブロックは、第１空きページのアドレスを指定する空きページ開始アドレスとともに再使用プールに割り当てられる（１４０）。再使用プールにある再使用ブロックは、消去なしにログブロックとして再活用されうる。空きページの数が基準ページ数より大きくなければ、該当の無効ログブロックは、ガービッジプールに割り当てられる（１５０）。
【００６１】
図８は、本発明の実施形態による単純併合後の複数の例示的なログブロックの状態を表わす概略図である。
【００６２】
図８を参照すれば、複数のログブロックは、単純併合動作を受ける。データが多く記録されたログブロックもあり、データがごく一部分（例えば、一ページあるいは二ページ）にのみ記録されたログブロックもある。ところが、通常のフラッシュメモリ装置のメモリ管理方法を利用すれば、プログラムされたデータの量、すなわち、使用程度にかかわらず、単純併合後のログブロックは、無条件廃棄されてガービッジプールで管理される。
【００６３】
一方、本発明の実施形態では、プログラムされたデータの量、すなわち、使用程度によって単純併合後のログブロックを選択的に分類する。すなわち、プログラムされたデータの量が多くて空きページの数が基準値より少ないか同一な場合には、ガービッジプールに送られて、プログラムされたデータの量が少なくて空きページ数が基準値より大きい場合には、再使用プールに送られる。
【００６４】
図８に示されたように、物理的ブロック番号（ＰＢＮ）が４、２０、１１及び１３であるブロックは、ガービッジプールに送られて、物理的ブロック番号（ＰＢＮ）が１０、１、２、５であるブロックは、再使用プールに送られる。図８において、指示１２、１０、４、１２は、対応するブロックにおける空きページの開始アドレスを表わす。本実施形態では、基準値をブロック内全体ページ数の５０％（すなわち、１／２）に設定した場合である。しかし、基準値は、異ならせて設定しうる。
【００６５】
図９は、本発明の実施形態による再使用ブロック管理テーブルの一例である。
【００６６】
ログブロックを前記再使用プールに割り当てる時は、前記ログブロックの物理的ブロック番号（ＰＢＮ）と該当ログブロックの空きページの開始アドレス、すなわち、空きページの開始番号（Ｃｌｅａｎ  Ｓｔａｒｔｉｎｇ  Ｎｕｍｂｅｒ）とを再使用ブロック管理テーブルにともに記録する。
【００６７】
図１０は、本発明の実施形態による新たなログブロックの割り当て方法を表わすフローチャートである。
【００６８】
図１０を参照して説明すると、まず、フラッシュメモリにデータを記録するか、保存されたデータをアップデートするための要請が受信される（２００）。
【００６９】
この要請に応答して、データを記録するために新たなログブロックが必要であるかを判断し（２１０）、新たなログブロックが必要ではなければ、データを記録するために他の要請を受信する動作に戻る（２００）。新たなログブロックが必要な場合、空きブロック（ｅｍｐｔｙ  ｂｌｏｃｋ）、すなわち、如何なるデータも記録されていないブロックが必要であるかを判断する（２２０）。空きブロックが必要であれば、現在利用可能な自由ブロックであるかを判断する（２３０）。利用可能な自由ブロックがあれば、アップデートされたデータが記録されうる新たなログブロックに自由ブロックが割り当てられる（２６０）。利用可能な自由ブロックがなければ、一つのブロックがガービッジプールから選択される（２４０）、そして、選択されたブロックは、自由ブロックを生成させるために消去される（２５０）。その次に前記ログブロックに割り当てられる（２６０）。
【００７０】
データを記録するための前記要請がブロックの第１ページに対応するアドレスを指定すれば、通常の図１０の２２０段階で空きブロックを得ることが必要である。しかし、他の場合には空きブロックが必要ではない。この場合、図１０の方法は、２２０段階から２７０段階に進行する。
【００７１】
この段階（２７０段階）では、少なくとも一つの再使用ブロックが再使用プールに存在するかどうかを判断する。再使用プールに再使用ブロックが一つでも存在すれば、再使用プールから一つのブロックを選択して（２８０）、前記選択されたブロックはログブロックに再使用する（２９０）。再使用されるログブロックは、空きページ開始アドレス（空きページ開始番号）を有するので、データは空きページ開始番号に該当する空きページから記録される。
【００７２】
前述した本発明のフラッシュメモリの管理方法は、フラッシュメモリ基盤装置（図示せず）に適用可能である。フラッシュメモリ基盤装置とは、少なくとも一つのフラッシュメモリ及びフラッシュメモリを管理するためのプロセッサを備える装置であって、例えば、スマートカードまたはＳＤ（ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ）カードなどになりうる。
【００７３】
フラッシュメモリ基盤装置は、またプログラムを保存するためのメモリ（例えば、ＲＯＭ）をさらに備えられうる。説明の便宜上、フラッシュメモリ基盤装置に使われるプログラム保存用メモリ（例えば、ＲＯＭ）を第１メモリと言い、フラッシュメモリを第２メモリと言う。
【００７４】
前述した本発明の実施形態によるフラッシュメモリ管理方法は、プロセッサで実行されるプログラムとして具現されて第１メモリ（例えば、ＲＯＭ）に保存されうる。プロセッサは、第１メモリに保存されたプログラムを実行して第２メモリを管理できる。
【００７５】
本発明の実施形態によるフラッシュメモリ管理方法は、プログラムとして具現されて記録媒体に保存されることもある。
【００７６】
本発明は、本発明の実施形態による方法、装置、及び／又はコンピュータプログラムのブロック図及び／又はフローチャートを参照して記述された。前記ブロック図のブロック及び／又はフローチャート、及び、前記ブロック図におけるブロック及び／又はフローチャートの組合わせは、コンピュータプログラム命令によって実行されうる。
【００７７】
したがって、本発明は、ハードウェア及び／又はソフトウェア（ファームウエア、常住するソフトウェア、マイクロコードなどを含む）によって具現可能である。
【００７８】
また、本発明は、命令語実行システムによってまたは命令語実行システムと連結されて使われるように、コンピュータで利用可能であるか、コンピュータで読み取り可能なプログラムコードを有してコンピュータで利用可能であるか、コンピュータで読み取り可能な記録媒体に保存されるコンピュータプログラム産出物の形態として具現可能である。
【００７９】
本発明は、図面に図示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の保護範囲は、特許請求の範囲によって決まるべきである。
【産業上の利用可能性】
【００８０】
本発明は、不揮発性半導体メモリ装置を管理する方法及びこれと関連した不揮発性メモリ装置関連の技術分野に適用可能である。
【図面の簡単な説明】
【００８１】
【図１】通常のフラッシュメモリ装置のメモリセル領域を表わすブロック図である。
【図２】通常のフラッシュメモリ装置のメモリブロック間の併合によるメモリブロックの状態変化を表わす状態図である。
【図３】通常のフラッシュメモリ装置の単純併合後のログブロックを表わす概略図である。
【図４】本発明の実施形態によるフラッシュメモリ装置のメモリセル領域を表わすブロック図である。
【図５】本発明の実施形態によるメモリブロックを併合できるデータ併合動作を表わす概略図である。
【図６】本発明の実施形態によるフラッシュメモリ装置のメモリブロックの状態変化を表わす状態図である。
【図７】本発明の実施形態による単純併合後のログブロックの処理方法を表わすフローチャートである。
【図８】本発明の実施形態による単純併合後のログブロックの割り当てを表わす概略図である。
【図９】本発明の実施形態による再使用プールテーブルの一例である。
【図１０】本発明の実施形態による新たなログブロックの割り当て方法を表わすフローチャートである。
【図１】
2008103071.tif 000003
【図２】
2008103071.tif 000004
【図３】
2008103071.tif 000005
【図４】
2008103071.tif 000006
【図５】
2008103071.tif 000007
【図６】
2008103071.tif 000008
【図７】
2008103071.tif 000009
【図８】
2008103071.tif 000010
【図９】
2008103071.tif 000011
【図１０】
2008103071.tif 000012