JP5336060B2 - 不揮発性メモリ装置およびそれを動作させる方法 - Google Patents

不揮発性メモリ装置およびそれを動作させる方法 Download PDF

Info

Publication number
JP5336060B2
JP5336060B2 JP2007271763A JP2007271763A JP5336060B2 JP 5336060 B2 JP5336060 B2 JP 5336060B2 JP 2007271763 A JP2007271763 A JP 2007271763A JP 2007271763 A JP2007271763 A JP 2007271763A JP 5336060 B2 JP5336060 B2 JP 5336060B2
Authority
JP
Japan
Prior art keywords
block
data
log
log block
memory device
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.)
Active
Application number
JP2007271763A
Other languages
English (en)
Other versions
JP2008103071A (ja
Inventor
任廷彬
金慧英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2008103071A publication Critical patent/JP2008103071A/ja
Application granted granted Critical
Publication of JP5336060B2 publication Critical patent/JP5336060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Description

本発明は、不揮発性半導体メモリ装置に係り、より詳細には、不揮発性半導体メモリ装置を動作させる方法及びこれと関連した不揮発性メモリ装置に関する。
フラッシュ(flash)メモリ装置は、電気的にデータを消去するか書き込みできる不揮発性メモリ装置である。フラッシュメモリを基盤とした保存装置は、磁気ディスク保存装置に比べて電力消耗が少なく、サイズが小さくて磁気ディスク装置の代用として開発が活発に進行しており、広く普及される状況にある。
ところが、フラッシュメモリ装置は、データの直接のオーバライト可能な磁気ディスクメモリとは異なり、データの直接のオーバライトが不可能である。フラッシュメモリにデータをオーバライトするためには、先に保存されたデータを消去した後、新たなデータをその消去されたメモリセルにプログラムする。すなわち、消去(erase)動作は、フラッシュメモリのメモリセルを初期状態に戻しうる。一般的に、フラッシュメモリ装置は、大きく3種類の動作モード、すなわち、プログラム(書き込み)モード(program mode)、消去モード(erase mode)、読出モード(read mode)を有する。ここで、消去された(erased)フラッシュメモリセルまたはブロックは、“空(clean)”セルまたはブロックと呼ばれうる。
消去動作は、プログラム(書き込み)動作に比べて相対的に長時間が必要となる。さらに、消去動作は、通常のプログラムや読出(読み取り)動作より相当に大きいブロックを単位として実行される。したがって、消去が要請されていない部分がブロック消去動作の間に消去されうる。このとき、消去動作が要請されていないブロックの部分は他のブロックにデータをプログラミングすることで、復旧される必要がある。
頻繁な消去動作は、フラッシュメモリ装置の消去回数(Erase Count)を増加させる。消去回数は、フラッシュメモリ装置の寿命に重大な影響を及ぼすパラメータである。フラッシュメモリ装置の消去回数及びプログラム回数が増加する時、当該装置の期待寿命(すなわち、フラッシュメモリが正しく動作できる時間)は短縮される。
図1は、通常のフラッシュメモリ装置のメモリセル領域を表わすブロック図である。図1を参照して説明すると、フラッシュメモリ装置のメモリセル領域は、マップ領域、ログブロック領域、データブロック領域、消去可能ブロック領域及び自由ブロック領域を含む複数の論理領域に分けられうる。各領域は、一つ以上のメモリブロックを含みうる。ここで、ログブロック領域に属するメモリブロックは、ログブロック、データブロック領域にあるメモリブロックはデータブロック、消去可能ブロック領域にあるメモリブロックは消去可能ブロック、自由ブロック領域にあるメモリブロックは自由ブロックと呼ばれうる。
データブロックは一般データを保存する。ログブロックには更新(アップデート)された内容が記録され、ログブロックはデータブロックの一部または全部を更新(アップデート)するために使われる。したがって、ログブロックは、少なくとも一つのデータブロックに対応していて、該当のデータブロックの修正(アップデート)されたページを保存する。
ログブロックに保存されているページは、データブロックに保存されている対応するページより優先的に参照される。ログブロックのデータは、対応するデータブロックのデータと周期的に併合(merge)されうる。
図2は、通常のフラッシュメモリ装置のメモリブロック間の併合によるメモリブロックの状態変化を表わす状態図である。図2に図示されたメモリブロック間の併合によるメモリブロックの状態変化は、特許文献1に開示されている。図2を参照して説明すると、例えば、ログブロックが単純併合動作(Simple Merge)を要する時、ログブロックは消去可能ブロックになる。消去可能ブロックは、再使用される前に消去される必要があるブロックである。
図3は、通常のフラッシュメモリ装置の単純併合動作(Simple Merge)後のログブロックを表わす概略図である。図3を参照すれば、単純併合動作後にログブロックは多様な量(amounts)のプログラムされたデータを有しうる。例えば、あるログブロックは相当な量のデータを保存することができ、一方、他のログブロックは少量(例えば、一ページあるいは二ページ)のデータを保存することができるかもしれない。単純併合動作後にログブロックはすべてガービッジプール(garbage pool)に廃棄される。すなわち、ログブロックは、消去可能ブロックとして定義される。消去可能ブロックはその後に消去されることができ、消去(Erase)後に図2に図示された自由ブロックになる。
韓国公開特許第10−2002−0092487号
本発明の技術的課題は、メモリブロックの消去回数を減少させてメモリ装置の性能及び寿命を改善しうる、不揮発性メモリを動作させる方法及び不揮発性メモリ装置を提供することである。
前記のような目的を果たすための本発明の望ましい一側面による方法は、第1データを保存する第1データブロック及び前記第1データの少なくとも一部のアップデートされたバージョンを保存する第1ログブロックを含む不揮発性メモリ装置を動作させる方法であって、データの記録されていない自由ブロックに第1データブロックにある前記第1データの有効部分をコピーして第2データブロックを生成する段階と、前記第2データブロックに前記第1ログブロックから前記第1データの少なくとも一部のアップデートされたバージョンをコピーする段階と、少なくとも一つの既定の条件が満足されれば応答して、前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階と、を含む。
前記不揮発性メモリ装置は、例えば、フラッシュメモリ装置を含みうる。
少なくとも一つの既定の条件が満足されれば、前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階は、前記第1ログブロックの空きメモリ(clean memory)の量を判断する段階と、前記判断された空きメモリの量と既定の基準値とを比べる段階と、前記既定の基準値を超える前記第1ログブロックの前記判断された空きメモリの量に基づいて前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階と、を含む。
前記空きメモリ量は、前記第1ログブロックの空きページの数であり得る。
前記第1ログブロックを再使用ログブロックとして割り当てる段階は、前記第1ログブロックの識別子(例えば、物理的ブロック番号)及び前記第1ログブロックと関連した空きページ開始アドレスを再使用プールテーブルに記録する段階であり得る。
前記既定の基準値は、例えば、前記第1ログブロックの全体ページ数のおおよそ1/2であり得る。
前記不揮発性メモリ装置を動作させる方法は、前記再使用ログブロックから前記第1データを消去せずに、前記再使用ログブロックに第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを記録する段階をさらに含みうる。
前記再使用ログブロックから前記第1データを消去せずに、前記再使用ログブロックに第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを記録する段階は、前記第2データの少なくとも一部のアップデートされたバージョンを受信する段階と、前記第2データの少なくとも一部のアップデートされたバージョンを新たなログブロックに保存するか否かを判断する段階と、前記新たなログブロックが、自由メモリブロックである必要があるかどうか判断する段階と、前記再使用ログブロックを前記新たなログブロックに選択する段階と、前記第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを前記再使用ログブロックに記録する段階と、を含みうる。
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置を動作させる方法は、不揮発性メモリ装置の第1メモリブロックに第1データを記録する段階を含み、前記第1メモリブロックは、消去されたページと以前に記録されたこれ以上有効ではない第2データを備えるページとを含む。
前記不揮発性メモリ装置を動作させる方法は、前記第1メモリブロックに前記データを保存する前に、前記第1メモリブロックで消去されたページの数が基準値を超えるかどうかを判断したことに応答して、前記第1メモリブロックを再使用メモリブロックとして指定する段階をさらに含みうる。
前記不揮発性メモリ装置を動作させる方法は、前記第1メモリブロックの第1消去されたページセットの第1ページを指示する前記第1メモリブロックの第1アドレスを保存する段階をさらに含みうる。
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置を動作させる方法は、不揮発性メモリ装置の第1ログブロックに保存された第1データと前記不揮発性メモリ装置の第1データブロックに保存された第2データとを前記不揮発性メモリ装置の第2データブロックに記録して併合する段階と、前記第1ログブロックで空きページの数を判断する段階と、前記空きページの数が基準値を超えるか否か判断する段階と、を含む。
前記不揮発性メモリ装置を動作させる方法は、前記空きページの数が前記基準値を超えれば、前記第1ログブロックを再使用ログブロックプールに割り当てる段階をさらに含みうる。
前記不揮発性メモリ装置を動作させる方法は、前記空きページの数が前記基準値以下であれば、前記第1ログブロックを消去可能なログブロックプールに割り当てる段階をさらに含みうる。
前記のような目的を果たすための本発明の望ましい一側面による不揮発性メモリ装置は、プログラムが保存されている第1メモリと、データブロック及び前記データブロックを更新するためのデータを記録するためのログブロックを備える第2メモリと、前記プログラムを実行して前記第2メモリを管理するプロセッサと、を備える。
前記プロセッサは、データの記録されていない自由ブロックに第1データブロックの有効データと前記第1データブロックに対応する第1ログブロックの有効データとをコピーして第2データブロックを生成し、既定の条件に基づいて、前記第1ログブロックのデータを消去して前記第1ログブロックを自由ブロックに割り当てるか、または前記第1ログブロックのデータを消去せずに、前記第1ログブロックを第2ログブロックに割り当てる。
前記第1メモリは、例えば、ROM(Read−only memory)、前記第2メモリは、例えば、フラッシュメモリであり得る。
前記のような目的を果たすための本発明の望ましい他の一側面による不揮発性メモリ装置は、ログブロック領域、データブロック領域、消去可能なブロック領域、自由ブロック領域及び再使用ブロック領域を備える多数の論理領域に分けられたメモリセル領域と、プロセッサと、を備える。
前記データブロック領域は、前記不揮発性メモリ装置に入力されるデータを保存する複数のデータブロックを含みうる。
前記ログブロック領域は、前記データブロック領域に保存されたデータに対するアップデートデータを保存する複数のログブロックを含みうる。
前記消去可能なブロック領域は、消去を待つ複数の消去可能なブロックを含み、前記自由ブロック領域は、複数の消去されたメモリブロックを含みうる。
前記再使用ブロック領域は、少なくとも第1ログブロックでアップデートされたデータが併合動作の部分としてまた他のブロックに記録された後に、消去動作なしに再使用領域に割り当てられる前記第1ログブロックを含みうる。
本発明によれば、併合動作が発生してこれ以上有効ではないログブロックのうち一定比率以上の空きページ(Clean Page)を有するログブロックを消去せずに、また新たなログブロックに再割り当てることによって、不揮発性メモリ装置における消去回数を減らしうる。したがって、プログラム/消去回数に制限がある不揮発性メモリ装置の使用期限を拡張することができる。
また、新たなログブロックを再使用プールに割り当てる場合、消去なしにすぐ使うことができるので、消去に消耗する時間が不要となって性能が向上しうる。
特に、記録されるデータパターンの任意性(Randomness)が大きいほど空き空間の多い状態のログブロックを有する単純併合の頻度が増加しうる。このように単純併合の頻度の多い場合、あるいはブロックが大きい場合および/または使わないログブロック及び自由ブロックの個数が少ないほど本発明の效果が大きくなりうる。
本発明とその動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって本発明を詳しく説明する。各図面に付された同じ参照符号は、同じ部材または要素を表わす。
前述したように、通常の技術では、ログブロックのうち一部は、全体ページのうちの一部ページにのみデータが記録されているにもかかわらず、ログブロックを含む単純併合が完了した後にはログブロックはすべて廃棄されて消去される。これによって、フラッシュメモリ装置の消去回数が増加する。一方、本発明の実施形態によれば、消去回数を減らすために通常の技術によれば廃棄されるログブロックを再使用することによって、性能及び/又は寿命を向上させうる不揮発性メモリ装置およびそれを動作させる方法が提供される。
図4は、本発明の実施形態によるフラッシュメモリ装置のメモリセル領域を表わすブロック図である。図4を参照すれば、本発明の実施形態によるフラッシュメモリ装置のメモリセル領域は、マップ領域、ログブロック領域、データブロック領域、消去可能ブロック領域、再使用ブロック領域及び自由ブロック領域に分割されうる。ここで、各領域は、論理的に分割された領域を意味する。したがって、これらの領域は、物理的には互いに取り混ぜられるか不連続的に存在しうる。
マップ領域には、ブロックアドレッシングを可能にするために各ブロックごとにアドレス変換情報が保存されうる。マップ領域には、また各領域に属するメモリブロックを管理するためのテーブル、リスト及び/又は他のデータ構造が保存されうる。
ログブロック領域は、ログブロックに割り当てられたブロックが属する領域であり、データブロック領域は、一般データが記録される領域である。消去可能ブロック領域は、消去を待つブロックが属する領域である。ここで、このようなブロックは、消去可能ブロックまたは廃棄されたブロックとして表現される。消去可能ブロックは、データの消去を通じて自由ブロックになる。
自由ブロック領域は、ログブロックまたはデータブロックに割り当てられうる自由ブロックが属する領域である。自由ブロックは、必要に応じてマップ領域に割り当てられうる。自由ブロックは、データが記録されていないブロック、または記録されたデータが全部消去されたブロックを言う。
再使用ブロックは、消去なしにログブロックに再割り当てされうるブロックを言う。
オーバライトが不可能なフラッシュメモリ(例えば、通常のNAND型フラッシュメモリ)の特性の上、データ記録(更新)が必要な場合、臨時のメモリブロックを割り当ててデータを記録するが、このようにデータ更新のために臨時に割り当てるメモリブロックが前述したログブロックである。
ところが、ログブロックを無制限に割り当てて使うことはできないので、有限個数のログブロックを使うようになり、ある時点でログブロックのすべては、部分的に及び/又は完全に、データでいっぱいになりうる。ログブロックが新たなデータまたはアップデートされたデータを記録することを可能にするために、ログブロックに保存されたデータは、周期的に対応するデータブロックに保存されたデータと比較されて、(1)前記データブロックにおいて変更されていない情報(前記データがアップデートされていないために有効な情報)、及び、(2)前記ログブロックにおいてアップデートされたデータ(当該データブロックで旧データを置き換えるために必要なデータであって、有効なデータ)が識別される。
前記識別が完了すれば、前記データブロックと前記ログブロックは、例えば、前記ログブロックを空にするために一つのブロックに併合されうる。この過程は、“データ併合”または単純に“併合”と表現される。3種類の他の形態の併合動作が実行可能である。このような3種類の形態の併合は、単純併合(Simple Merges)、コピー併合(Copy Merges)、交換併合(Swap Merges)と呼ばれる。これらそれぞれについては詳しく後述される。
図5は、本発明の実施形態によるログブロック(Log Block)と対応するデータブロック(Data Block)との3種類の例示的な併合(Merge)を表わす概略図である。図5を参照すれば、交換併合(Swap Merge)は、データブロックのすべてのデータが対応するログブロックに保存されたデータで置き換えられること(アップデートされること)を意味する。交換併合は、2種類の他のブロックから選択されたデータを併合することを含まないので(その代りに、データブロックのすべてのデータを対応するログブロックに保存されたデータで置き換えることを含むので)、前記交換併合は、前記ログブロックを前記データブロックに再指定するためにブロックのマッピング(Mapping)を単純に修正することでなされうる。したがって、交換併合は、実際に如何なる実質的なデータのコピーも再書き込みも必要なしに実行されうる。交換併合は、特に、データブロックのすべてのページがすべて一回ずつのみ更新されてログブロックとデータブロックとのページ配列が同一の場合に実行されうる。ブロックのマッピングを入れ替ることは、アドレス変換情報のみを更新することでなされうる。すなわち、マップ領域に記録されたアドレス変換情報を更新して、ユーザーが要請した論理的アドレスに対して該当ログブロックをマッピングさせる。
交換併合の場合には、ブロックマッピングのみを入れ替れば良いのでさらに必要なブロックは無く、併合が完了した以後には既存データブロックは廃棄される。したがって、交換併合以後には既存データブロックは廃棄され、ログブロックはデータブロックになる。すなわち、既存データブロックは、消去を待つ消去可能ブロックになる。
コピー併合(Copy Merge)は、データブロックの上位アドレス部分に対してアップデートされたデータが受信される時に実行される。前記アップデートされたデータは、例えば、ログブロックの上位アドレス部分に記録されうる。前記コピー併合は、データブロックの残りに保存されたデータを、例えば、前記アップデートされたデータを含むログブロックの下位アドレス部分にコピーするために使われうる。
図5を参照すれば、既存データブロックの上位アドレス部分のデータのみが更新された場合には、ログブロックの上位アドレス部分のデータ、すなわち、更新されたデータは有効である。また、既存データブロックのデータのうち上位アドレス部分のデータは既に更新されたので、これ以上有効ではない無効データ(invalid data)であり、更新されていない下位アドレス部分のデータは有効なデータである。下位アドレス部分のデータに対するアップデートされたデータは、受信されなかったためである。したがって、コピー併合において、前記ログブロックと前記対応するデータブロックとの両ブロックから前記有効なデータは一つのブロック(例えば、前記ログブロック)に併合されうる。例えば、前記データブロックの有効なデータを前記ログブロックにコピーすることで一つのブロック(例えば、前記ログブロック)に併合されうる。前記コピー併合は、追加的なブロック(第3のブロック)を要しない。前記コピー併合は、前記ログブロックをデータブロックに再指定するために前記メモリブロックマッピングを修正することで完了されうる。前記コピー併合後、既存データブロックは廃棄されうる。
単純併合(Simple Merge)は、データブロックに記録されたデータが非連続的に更新された場合、ログブロックの有効データ(更新されたデータ)とデータブロックの有効データ(すなわち、既存データブロックで更新されていないデータ)とを第3ブロックにコピーすることで新たなデータブロックを作ることである。2つのブロックのデータを合わせて一つの新たなブロックに記録するので、1個の新たなブロックが必要であり、単純併合が完了された以後には、既存データブロックとログブロックのデータはこれ以上有効ではない。したがって、データブロックは、廃棄、すなわち、消去可能ブロックになり、ログブロックは、場合によって、消去可能ブロックになるか再使用ブロックとなる。単純併合は、ログブロックのページと該当のデータブロックのページとの配列が一致していない場合になされることが望ましい。
図6は、本発明の実施形態によるメモリブロックの状態変化を表わす状態遷移図である。図6を参照すれば、前述したように、ログブロックは、交換併合あるいはコピー併合を通じてデータブロックに遷移される。また、ログブロックは、単純併合を通じて消去可能ブロック(erasable block)に遷移されるか、または再使用ブロックに遷移される。再使用ブロックは、プログラム動作によってログブロックになりうる。
データブロックは、交換併合、単純併合またはコピー併合後に廃棄されて、消去可能ブロックに遷移される。消去可能ブロックは、消去動作を通じて自由ブロックに遷移される。自由ブロックは、プログラムによってログブロックになり、また単純併合を通じてデータブロックになりうる。
データ併合過程を管理するためには、フラッシュメモリ装置は、関連したプロセッサ(図示せず)を有しうる。このプロセッサは、各ブロックについての情報が分からなければならない。そのために、フラッシュメモリ装置にある各メモリ領域を管理するためのテーブルが維持されることが望ましい。例えば、自由ブロックに対するエントリー(または、リスト)を有する自由ブロック管理テーブル、消去可能ブロックに対するエントリー(または、リスト)を有する消去可能ブロック管理テーブル、ログブロックに対するエントリー(または、リスト)を有するログブロック管理テーブル、及びデータブロックに対するエントリー(または、リスト)を有するデータブロック管理テーブルが維持されうる。
前記テーブルのそれぞれは、Array、Linked List、Queueのようなデータ構造を利用して具現されることができ、該当のブロックの物理的ブロック番号(PBN:Physical Block Number)またはそれぞれのブロックと関連した他の表示(indicia)を保存できる。廃棄されたブロックを管理するための一連のデータ構造をガービッジプールと言う。
また、本発明の実施形態によってフラッシュメモリを管理するためには、再使用ブロックに対するリストを有する再使用ブロック管理テーブルが必要である。再使用ブロック管理テーブルもArray、Linked List、Queueのようなデータ構造である。前記再使用ブロック管理テーブルは、再使用ブロックの物理的ブロック番号及び再使用ブロックの他の表示と前記ブロックで空きページの開始アドレスをともに保存する。再使用ブロックを管理するための一連のデータ構造を再使用プールと言う。前記テーブルは、前述したマップ領域に記録されうる。
図7は、本発明の実施形態による単純併合後のログブロックの処理方法を表わすフローチャートである。
図7を参照すれば、まず、単純併合が先に実行される(110)。単純併合が実行されれば、単純併合後のログブロックは、これ以上有効なデータを有していない無効ログブロックになる。次に、無効ログブロックの空きメモリの量(例えば、最後にページが消去された以後、前記ページに書き込まれたデータのない空きページの数)が検出される(120)。
次に、検出された空きページの数と既定の基準値(例えば,基準ページ数)とを比べて(130)、空きページの数が基準ページ数より大きければ、該当の無効ログブロックは、第1空きページのアドレスを指定する空きページ開始アドレスとともに再使用プールに割り当てられる(140)。再使用プールにある再使用ブロックは、消去なしにログブロックとして再活用されうる。空きページの数が基準ページ数より大きくなければ、該当の無効ログブロックは、ガービッジプールに割り当てられる(150)。
図8は、本発明の実施形態による単純併合後の複数の例示的なログブロックの状態を表わす概略図である。
図8を参照すれば、複数のログブロックは、単純併合動作を受ける。データが多く記録されたログブロックもあり、データがごく一部分(例えば、一ページあるいは二ページ)にのみ記録されたログブロックもある。ところが、通常のフラッシュメモリ装置のメモリ管理方法を利用すれば、プログラムされたデータの量、すなわち、使用程度にかかわらず、単純併合後のログブロックは、無条件廃棄されてガービッジプールで管理される。
一方、本発明の実施形態では、プログラムされたデータの量、すなわち、使用程度によって単純併合後のログブロックを選択的に分類する。すなわち、プログラムされたデータの量が多くて空きページの数が基準値より少ないか同一な場合には、ガービッジプールに送られて、プログラムされたデータの量が少なくて空きページ数が基準値より大きい場合には、再使用プールに送られる。
図8に示されたように、物理的ブロック番号(PBN)が4、20、11及び13であるブロックは、ガービッジプールに送られて、物理的ブロック番号(PBN)が10、1、2、5であるブロックは、再使用プールに送られる。図8において、指示12、10、4、12は、対応するブロックにおける空きページの開始アドレスを表わす。本実施形態では、基準値をブロック内全体ページ数の50%(すなわち、1/2)に設定した場合である。しかし、基準値は、異ならせて設定しうる。
図9は、本発明の実施形態による再使用ブロック管理テーブルの一例である。
ログブロックを前記再使用プールに割り当てる時は、前記ログブロックの物理的ブロック番号(PBN)と該当ログブロックの空きページの開始アドレス、すなわち、空きページの開始番号(Clean Starting Number)とを再使用ブロック管理テーブルにともに記録する。
図10は、本発明の実施形態による新たなログブロックの割り当て方法を表わすフローチャートである。
図10を参照して説明すると、まず、フラッシュメモリにデータを記録するか、保存されたデータをアップデートするための要請が受信される(200)。
この要請に応答して、データを記録するために新たなログブロックが必要であるかを判断し(210)、新たなログブロックが必要ではなければ、データを記録するために他の要請を受信する動作に戻る(200)。新たなログブロックが必要な場合、空きブロック(empty block)、すなわち、如何なるデータも記録されていないブロックが必要であるかを判断する(220)。空きブロックが必要であれば、現在利用可能な自由ブロックであるかを判断する(230)。利用可能な自由ブロックがあれば、アップデートされたデータが記録されうる新たなログブロックに自由ブロックが割り当てられる(260)。利用可能な自由ブロックがなければ、一つのブロックがガービッジプールから選択される(240)、そして、選択されたブロックは、自由ブロックを生成させるために消去される(250)。その次に前記ログブロックに割り当てられる(260)。
データを記録するための前記要請がブロックの第1ページに対応するアドレスを指定すれば、通常の図10の220段階で空きブロックを得ることが必要である。しかし、他の場合には空きブロックが必要ではない。この場合、図10の方法は、220段階から270段階に進行する。
この段階(270段階)では、少なくとも一つの再使用ブロックが再使用プールに存在するかどうかを判断する。再使用プールに再使用ブロックが一つでも存在すれば、再使用プールから一つのブロックを選択して(280)、前記選択されたブロックはログブロックに再使用する(290)。再使用されるログブロックは、空きページ開始アドレス(空きページ開始番号)を有するので、データは空きページ開始番号に該当する空きページから記録される。
前述した本発明のフラッシュメモリの管理方法は、フラッシュメモリ基盤装置(図示せず)に適用可能である。フラッシュメモリ基盤装置とは、少なくとも一つのフラッシュメモリ及びフラッシュメモリを管理するためのプロセッサを備える装置であって、例えば、スマートカードまたはSD(secure digital)カードなどになりうる。
フラッシュメモリ基盤装置は、またプログラムを保存するためのメモリ(例えば、ROM)をさらに備えられうる。説明の便宜上、フラッシュメモリ基盤装置に使われるプログラム保存用メモリ(例えば、ROM)を第1メモリと言い、フラッシュメモリを第2メモリと言う。
前述した本発明の実施形態によるフラッシュメモリ管理方法は、プロセッサで実行されるプログラムとして具現されて第1メモリ(例えば、ROM)に保存されうる。プロセッサは、第1メモリに保存されたプログラムを実行して第2メモリを管理できる。
本発明の実施形態によるフラッシュメモリ管理方法は、プログラムとして具現されて記録媒体に保存されることもある。
本発明は、本発明の実施形態による方法、装置、及び/又はコンピュータプログラムのブロック図及び/又はフローチャートを参照して記述された。前記ブロック図のブロック及び/又はフローチャート、及び、前記ブロック図におけるブロック及び/又はフローチャートの組合わせは、コンピュータプログラム命令によって実行されうる。
したがって、本発明は、ハードウェア及び/又はソフトウェア(ファームウエア、常住するソフトウェア、マイクロコードなどを含む)によって具現可能である。
また、本発明は、命令語実行システムによってまたは命令語実行システムと連結されて使われるように、コンピュータで利用可能であるか、コンピュータで読み取り可能なプログラムコードを有してコンピュータで利用可能であるか、コンピュータで読み取り可能な記録媒体に保存されるコンピュータプログラム産出物の形態として具現可能である。
本発明は、図面に図示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の保護範囲は、特許請求の範囲によって決まるべきである。
本発明は、不揮発性半導体メモリ装置を管理する方法及びこれと関連した不揮発性メモリ装置関連の技術分野に適用可能である。
通常のフラッシュメモリ装置のメモリセル領域を表わすブロック図である。 通常のフラッシュメモリ装置のメモリブロック間の併合によるメモリブロックの状態変化を表わす状態図である。 通常のフラッシュメモリ装置の単純併合後のログブロックを表わす概略図である。 本発明の実施形態によるフラッシュメモリ装置のメモリセル領域を表わすブロック図である。 本発明の実施形態によるメモリブロックを併合できるデータ併合動作を表わす概略図である。 本発明の実施形態によるフラッシュメモリ装置のメモリブロックの状態変化を表わす状態図である。 本発明の実施形態による単純併合後のログブロックの処理方法を表わすフローチャートである。 本発明の実施形態による単純併合後のログブロックの割り当てを表わす概略図である。 本発明の実施形態による再使用プールテーブルの一例である。 本発明の実施形態による新たなログブロックの割り当て方法を表わすフローチャートである。

Claims (23)

  1. 第1データを保存する第1データブロック及び前記第1データの少なくとも一部のアップデートされたバージョンを保存する第1ログブロックを備える不揮発性メモリ装置を動作させる方法において、
    データの記録されていない自由ブロックに第1データブロックにある前記第1データの有効部分をコピーして第2データブロックを生成する段階と、
    前記第2データブロックに前記第1ログブロックから前記第1データの少なくとも一部のアップデートされたバージョンをコピーする段階と、
    少なくとも一つの既定の条件が満足されたことに応答して、前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階とを含み、
    前記少なくとも一つの既定の条件が満足されたことに応答して、前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階は、
    前記第1ログブロックの空きメモリの量を判断する段階と、
    前記判断された空きメモリの量と既定の基準値とを比べる段階と、
    前記既定の基準値を超える前記第1ログブロックの前記判断された空きメモリの量に基づいて、前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階と、
    を含むことを特徴とする不揮発性メモリ装置を動作させる方法。
  2. 前記不揮発性メモリ装置は、フラッシュメモリ装置であることを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  3. 前記空きメモリ量は、前記第1ログブロックの空きページの数であり、
    前記第1ログブロックからデータを消去せずに、前記第1ログブロックを再使用ログブロックとして割り当てる段階は、前記第1ログブロックの識別子及び前記第1ログブロックと関連した空きページ開始アドレスを再使用プールテーブルに記録する段階を含む、
    ことを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  4. 前記第1ログブロックの識別子は、前記第1ログブロックの物理的ブロック番号を含むことを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  5. 前記方法は、
    前記再使用ログブロックから前記第1データを消去せずに、前記再使用ログブロックに第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを記録する段階をさらに含むことを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  6. 前記再使用ログブロックから前記第1データを消去せずに、前記再使用ログブロックに第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを記録する段階は、
    前記第2データの少なくとも一部のアップデートされたバージョンを受信する段階と、
    前記第2データの少なくとも一部のアップデートされたバージョンを新たなログブロックに保存するか否かを判断する段階と、
    前記新たなログブロックが、自由メモリブロックである必要があるかどうか判断する段階と、
    前記再使用ログブロックを前記新たなログブロックに選択する段階と、
    前記第2データブロックに保存された第2データの少なくとも一部のアップデートされたバージョンを前記再使用ログブロックに記録する段階と、
    を含むことを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  7. 前記既定の基準値は、前記第1ログブロックの全体ページ数の約1/2であることを特徴とする請求項に記載の不揮発性メモリ装置を動作させる方法。
  8. 請求項1に記載の不揮発性メモリ管理方法を実行するためのプログラムを記録した記録媒体。
  9. 第1データブロック及び前記第1データブロックを更新するためのデータを記録するための第1ログブロックを備える不揮発性メモリと、
    前記プログラムを実行して前記不揮発性メモリを管理するプロセッサと、を備え、
    前記プロセッサは、
    データの記録されていない自由ブロックに前記第1データブロックの有効データと前記第1ログブロックの有効データとをコピーして第2データブロックを生成させ、
    既定の条件に基づいて、前記第1ログブロックのデータを消去せずに、前記第1ログブロックを第ログブロックに割り当て、
    上記プロセッサは、前記第1のログブロックの空きメモリの量を判断して、
    上記判断された空きメモリの量プリセットの基準値を比較し、
    上記予め設定された基準値を超えている上記第1のログブロックの上判断された空きメモリの量に基づいて前記第1のログブロックからデータを消去せずに上記第1のログブロックを第3ログブロックに割り当てることを特徴とする不揮発性メモリ装置。
  10. 前記第1メモリは、ROM(Read−only memory)であり、
    前記第2メモリは、フラッシュメモリである、
    ことを特徴とする請求項に記載の不揮発性メモリ装置。
  11. 第1メモリブロックの消去されたページ数が既定の基準値を越えたことを判断したことに応答して、前記第1メモリブロックを再使用メモリブロックに割り当てる段階と、
    不揮発性メモリ装置の前記第1メモリブロックの前記消去されたページに第1データを記録する段階を含み、
    前記第1メモリブロックは、消去されたページと以前に記録されたこれ以上有効ではない第2データを含むページとを含む、
    ことを特徴とする不揮発性メモリ装置を動作させる方法。
  12. 前記方法は、
    前記第1メモリブロックの第1の消去されたページセットの第1ページを指示する前記第1メモリブロックの第1アドレスを保存する段階をさらに含むことを特徴とする請求項11に記載の不揮発性メモリ装置を動作させる方法。
  13. 前記第1メモリブロックに第1データを記録する段階は、
    前記第1の消去されたページセットの第1ページで始まる前記第1メモリブロックで消去されたページの少なくとも一部に第1データを記録する段階を備えることを特徴とする請求項12に記載の不揮発性メモリ装置を動作させる方法。
  14. 前記第1メモリブロックの第1アドレスは、前記第1メモリブロックで前記消去されたページの数が基準値を超えるかどうかの判断に応答して保存され、前記第1メモリブロックに対する指示とともに再使用ブロック管理データ構造に保存されることを特徴とする請求項12に記載の不揮発性メモリ装置を動作させる方法。
  15. 前記第1メモリブロックはログブロックであり、前記第1データは第1データブロックと関連し、前記第2データは第2データブロックと関連することを特徴とする請求項11に記載の不揮発性メモリ装置を動作させる方法。
  16. 不揮発性メモリ装置の第1ログブロックに保存された第1データと前記不揮発性メモリ装置の第1データブロックに保存された第2データとを前記不揮発性メモリ装置の第2データブロックに記録して併合する段階と、
    前記第1ログブロックで空きページの数を判断する段階と、
    前記空きページの数が基準値を超えるか否か判断する段階と、
    を含むことを特徴とする不揮発性メモリ装置を動作させる方法。
  17. 前記方法は、
    もし、前記空きページの数が前記基準値を超えれば、前記第1ログブロックを再使用ログブロックプールに割り当てる段階をさらに含むことを特徴とする請求項16に記載の不揮発性メモリ装置を動作させる方法。
  18. 前記方法は、
    前記空きページの数が前記基準値以下であれば、前記第1ログブロックを消去可能なログブロックプールに割り当てる段階をさらに含むことを特徴とする請求項16に記載の不揮発性メモリ装置を動作させる方法。
  19. 前記方法は、
    前記空きページの第1ページに対するアドレスと前記第1ログブロックに対する指示子とを前記不揮発性メモリ装置で保存される再使用ブロック管理データ構造に追加する段階をさらに含むことを特徴とする請求項16に記載の不揮発性メモリ装置を動作させる方法。
  20. 前記第2データは、前記第1ログブロックにまた保存される第3データのアップデートされたバージョンを含むことを特徴とする請求項16に記載の不揮発性メモリ装置を動作させる方法。
  21. ログブロック領域、データブロック領域、消去可能なブロック領域、自由ブロック領域及び再使用ブロック領域を備える多数の論理領域に分けられたメモリセル領域と、
    前記メモリセル領域を管理するプロセッサと、を備え、
    前記データブロック領域は、前記不揮発性メモリ装置に入力されるデータを保存する複数のデータブロックを含み、前記ログブロック領域は、前記データブロック領域に保存されたデータに対するアップデートデータを保存する複数のログブロックを含み、前記消去可能なブロック領域は、消去を待つ複数の消去可能なブロックを含み、前記自由ブロック領域は、複数の消去されたメモリブロックを含み、前記再使用ブロック領域は、少なくとも第1ログブロックでアップデートされたデータが、併合動作の一部として、他のブロックに記録された後に消去動作なしに再使用領域に割り当てられる前記第1ログブロックを含み、
    上記第1のログブロックの空きメモリの量を判断して、
    上記判断された空きメモリの量プリセットの基準値を比較し、
    上記予め設定された基準値を超えている上記第1のログブロックの上判断された空きメモリの量に基づいて前記第1のログブロックからデータを消去せずに上記第1のログブロックを再利用領域に割り当てることを特徴とする不揮発性メモリ装置。
  22. 前記メモリセル領域はマップ領域をさらに含み、前記再使用ブロック管理データ構造は前記マップ領域に保存されることを特徴とする請求項21に記載の不揮発性メモリ装置。
  23. 前記再使用ブロック管理データ構造は、
    前記再使用ブロックの第1空きページとともに前記再使用ブロックに対する指示子を含むそれぞれの利用可能な再使用ブロックに対するエントリーを備えることを特徴とする請求項22に記載の不揮発性メモリ装置。
JP2007271763A 2006-10-19 2007-10-18 不揮発性メモリ装置およびそれを動作させる方法 Active JP5336060B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2006-0101643 2006-10-19
KR1020060101643A KR100849221B1 (ko) 2006-10-19 2006-10-19 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치

Publications (2)

Publication Number Publication Date
JP2008103071A JP2008103071A (ja) 2008-05-01
JP5336060B2 true JP5336060B2 (ja) 2013-11-06

Family

ID=39198533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007271763A Active JP5336060B2 (ja) 2006-10-19 2007-10-18 不揮発性メモリ装置およびそれを動作させる方法

Country Status (5)

Country Link
US (1) US7783851B2 (ja)
JP (1) JP5336060B2 (ja)
KR (1) KR100849221B1 (ja)
CN (1) CN101165660B (ja)
DE (1) DE102007006307A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI358068B (en) * 2007-10-19 2012-02-11 Phison Electronics Corp Writing method for non-volatile memory and control
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US8219740B2 (en) * 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
KR100954039B1 (ko) * 2008-08-11 2010-04-20 (주)인디링스 플래시 메모리 제어 방법 및 제어 장치
KR100987251B1 (ko) * 2008-10-10 2010-10-12 한양대학교 산학협력단 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 플래시 메모리 관리 방법및 장치
KR101021364B1 (ko) * 2008-10-10 2011-03-14 한양대학교 산학협력단 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치
KR101510120B1 (ko) * 2008-11-21 2015-04-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR101663667B1 (ko) * 2009-02-03 2016-10-07 삼성전자주식회사 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치
JP5310053B2 (ja) * 2009-02-12 2013-10-09 住友電気工業株式会社 マイクロコントローラを備えた光データリンク
KR101020781B1 (ko) 2009-03-04 2011-03-09 한국과학기술원 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법
CN102576330B (zh) * 2009-06-12 2015-01-28 提琴存储器公司 具有持久化无用单元收集机制的存储系统
CN101957797B (zh) * 2009-07-17 2013-01-09 群联电子股份有限公司 闪速存储器逻辑区块管理方法及其控制电路与储存系统
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US20110119462A1 (en) * 2009-11-19 2011-05-19 Ocz Technology Group, Inc. Method for restoring and maintaining solid-state drive performance
US8131772B2 (en) * 2009-12-04 2012-03-06 Unisys Corporation Method and apparatus for improving the performance of object-oriented queues
KR101153688B1 (ko) * 2010-10-15 2012-06-18 성균관대학교산학협력단 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템
US9569351B2 (en) * 2010-10-25 2017-02-14 Seagate Technology Llc Storing corresponding data units in a common storage unit
KR20120043521A (ko) * 2010-10-26 2012-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US9396106B2 (en) * 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9075708B1 (en) * 2011-06-30 2015-07-07 Western Digital Technologies, Inc. System and method for improving data integrity and power-on performance in storage devices
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US9223649B2 (en) * 2012-02-15 2015-12-29 Sandisk Technologies Inc. System and method of sending correction data to a buffer of a non-volatile memory
US9244833B2 (en) * 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
KR101997572B1 (ko) * 2012-06-01 2019-07-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
US9268652B1 (en) * 2012-10-31 2016-02-23 Amazon Technologies, Inc. Cached volumes at storage gateways
US9448919B1 (en) 2012-11-13 2016-09-20 Western Digital Technologies, Inc. Data storage device accessing garbage collected memory segments
KR102252419B1 (ko) * 2014-01-09 2021-05-14 한국전자통신연구원 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법
CN103838521B (zh) * 2014-02-28 2017-02-08 华为技术有限公司 一种数据处理方法及装置
KR102285462B1 (ko) * 2014-03-26 2021-08-05 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법
JP6241373B2 (ja) * 2014-06-19 2017-12-06 株式会社デンソー 記憶装置、フラッシュメモリ制御装置、及びプログラム
JP6130971B2 (ja) * 2014-06-27 2017-05-17 華為技術有限公司Huawei Technologies Co.,Ltd. データをフラッシュメモリ装置に書き込む方法、フラッシュメモリ装置及び記憶システム
US10210168B2 (en) * 2015-02-23 2019-02-19 International Business Machines Corporation Managing data in storage according to a log structure
US10599352B2 (en) * 2015-08-14 2020-03-24 Samsung Electronics Co., Ltd. Online flash resource allocation manager based on a TCO model
JP6414852B2 (ja) * 2015-12-14 2018-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
US9880743B1 (en) * 2016-03-31 2018-01-30 EMC IP Holding Company LLC Tracking compressed fragments for efficient free space management
KR20180026876A (ko) * 2016-09-05 2018-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102107604B1 (ko) * 2018-03-26 2020-05-07 성균관대학교 산학협력단 비휘발성 메모리 장치, 및 비휘발성 메모리의 데이터 관리 방법
US10698621B2 (en) * 2018-04-23 2020-06-30 Western Digital Technologies, Inc. Block reuse for memory operations
KR102387960B1 (ko) * 2018-07-23 2022-04-19 삼성전자주식회사 컨트롤러 및 그것의 동작 방법
CN110045918B (zh) * 2018-12-03 2021-09-03 蚂蚁金服(杭州)网络技术有限公司 一种高效的数据单元重用方法和系统
US11204722B1 (en) * 2020-06-04 2021-12-21 Western Digital Technologies, Inc. Content-aware storage system and method for use therewith

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP4812192B2 (ja) 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
KR100608602B1 (ko) 2003-12-10 2006-08-03 삼성전자주식회사 플래시 메모리, 이를 위한 사상 제어 장치 및 방법
EP2977906A1 (en) 2004-04-28 2016-01-27 Panasonic Corporation Nonvolatile storage device and data write method
KR100638638B1 (ko) * 2004-09-03 2006-10-26 명지대학교 산학협력단 플래시 메모리의 제어 방법
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
JP2007133541A (ja) * 2005-11-09 2007-05-31 Tokyo Electron Device Ltd 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム

Also Published As

Publication number Publication date
US20080098192A1 (en) 2008-04-24
CN101165660B (zh) 2011-12-21
US7783851B2 (en) 2010-08-24
DE102007006307A1 (de) 2008-04-24
KR100849221B1 (ko) 2008-07-31
JP2008103071A (ja) 2008-05-01
KR20080035237A (ko) 2008-04-23
DE102007006307A8 (de) 2008-07-31
CN101165660A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
US10657047B2 (en) Data storage device and method of performing partial garbage collection
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US9489301B2 (en) Memory systems
JP3692313B2 (ja) 不揮発性メモリの制御方法
US8086787B2 (en) Wear leveling method, and storage system and controller using the same
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
US20030229753A1 (en) Flash memory file system
US20100191897A1 (en) System and method for wear leveling in a data storage device
JP2005242897A (ja) フラッシュディスク装置
JP2005301591A (ja) 不揮発性メモリを備えた装置及びメモリコントロ−ラ
JP2013174975A (ja) メモリシステムとそのデータ書き込み方法
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
JP2010287049A (ja) メモリシステムおよびメモリシステムの管理方法
JP2009205689A (ja) フラッシュディスク装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
JP2004326165A (ja) メモリ制御装置およびメモリ制御方法
KR100703727B1 (ko) 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
JP5520880B2 (ja) フラッシュメモリ装置
JP2009211152A (ja) 情報処理装置、メモリシステムおよびその制御方法
JP2021068129A (ja) メモリコントローラ及びフラッシュメモリシステム
JP2021140464A (ja) ストレージ装置、ストレージシステム及び方法
JP2011123560A (ja) フラッシュディスク装置
JP2009199211A (ja) メモリ制御方法及び装置、コンピュータプログラム
KR20090032690A (ko) 플래시 메모리의 오류블록 관리 방법

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080201

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130801

R150 Certificate of patent or registration of utility model

Ref document number: 5336060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250