JP2005222550A - フラッシュメモリのリマッピング方法 - Google Patents

フラッシュメモリのリマッピング方法 Download PDF

Info

Publication number
JP2005222550A
JP2005222550A JP2005026846A JP2005026846A JP2005222550A JP 2005222550 A JP2005222550 A JP 2005222550A JP 2005026846 A JP2005026846 A JP 2005026846A JP 2005026846 A JP2005026846 A JP 2005026846A JP 2005222550 A JP2005222550 A JP 2005222550A
Authority
JP
Japan
Prior art keywords
unit
physical unit
physical
cost
compaction
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.)
Granted
Application number
JP2005026846A
Other languages
English (en)
Other versions
JP4185058B2 (ja
Inventor
Ji-Huun In
至▲ヒュン▼ 印
Hyon-Jun Kim
曉俊 金
Kwang-Yoon Lee
光倫 李
Tae-Sun Chung
泰善 鄭
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 JP2005222550A publication Critical patent/JP2005222550A/ja
Application granted granted Critical
Publication of JP4185058B2 publication Critical patent/JP4185058B2/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】フラッシュメモリのあらゆる領域を均一に使用可能にして、フラッシュメモリの寿命を延長できるフラッシュメモリのリマッピング方法を提供するとともに、ユーザーのデータ記録要請を処理するためのフラッシュメモリへの接近回数を最小化してユーザーに速い応答を提供する。
【解決手段】所定の論理ユニットにマッピングされていない複数の物理ユニットを削除回数によって並べる第1段階と、前記削除回数の少ない順に物理ユニットを所定の論理ユニットにマッピングする第2段階とを含むフラッシュメモリのリマッピング方法。
【選択図】図9

Description

本発明はフラッシュメモリのリマッピング方法に係り、さらに詳細にはフラッシュメモリの接近回数を最小化し、前記フラッシュメモリのあらゆる領域を均一に使用できるフラッシュメモリのマッピング方法に関する。
一般的に、家電機器、通信機器、セットトップボックスなどの内蔵型システムでは、データを保存して処理するための保存媒体として不揮発性メモリが多く使われている。
前記不揮発性メモリのうち主に使われるフラッシュメモリは、電気的にデータを削除または再記録できる不揮発性記憶素子であり、マグネチックディスクメモリを基盤とする保存媒体に比べて電力消耗が少ないつつもハードディスクのような速いアクセスタイムを持ち、かつコンパクトなサイズのために携帯機器の保存媒体として広く使われている。
また、前記フラッシュメモリは、ハードウェア的特性上、既存のRAM(Random Access Memory)や不揮発性保存媒体、マグネチック保存媒体などのように特定位置に保存されたデータに任意に接近できるが、データを削除する場合には既存の保存媒体とは違ってブロック単位で削除がなされる。
すなわち、前記フラッシュメモリは、ホストでは論理的な演算単位のセクターにデータを記録する一方、前記セクターに所定のデータを上書きする場合には前記セクターが含まれたブロック全体を削除する。
この時、データ記録と削除との不一致が、前記フラッシュメモリの性能を低下させる主な理由となる。
したがって、記録前の削除問題を解決するために論理アドレス及び物理アドレスの概念が導入された。
すなわち、前記ホストで要請する論理アドレスに対するデータ再生/記録演算は、多様な種類のマッピングアルゴリズムにより実際フラッシュメモリの物理アドレスに対する再生/記録演算に変更される。この時、前記フラッシュメモリの物理的な状態を考慮してマッピングするため、前記フラッシュメモリの性能を最大化しうる。
フラッシュ変換階層(Flash Translation Layer;以下、FTLと称する)は、前記フラッシュメモリ10をブロックデバイスのように使用可能にするソフトウェアであって、一般的に前記フラッシュメモリ10を管理するためのブロックリマッピング(Remapping)技法を支援する。
前記ブロックリマッピング技法は、修正または削除によって前記フラッシュメモリ10に記録された物理ブロック番号(Physical Block Number;以下、PBNと称する)が変更されても、同じ論理ブロック番号(Logical Block
Number;以下、LBNと称する)でフラッシュメモリ10に記録されたデータに接近可能に、特定のデータに対するLBNとPBN間のマッピング情報を管理することである。
すなわち、図1に図示されたように、特定LBNに対するデータの再生または記録が要請されれば、前記LBNの所定の論理ユニット番号(Logical Unit Number:以下、LUN)をLBN−LUNマッピングテーブルを通じて求めた後、前記LUNに対する物理ユニット番号(Physical Unit Number:以下、PUN)をLUN−PUNマッピングテーブルを通じて求める。
この時、前記物理ユニットを概略的に説明すれば、図2に図示されたように、各物理ユニット10、20はヘッダ(Erase Unit Header:以下、EUH)11、21と、ブロック割り当てマップ(Block Allocation Map:以下、BAM)12、22及び所定のデータが保存される複数のブロック13、23を持つ。
この時、前記EUH 11、21には、各物理ユニット10、20についてのいろいろなメタ情報が保存され、前記BAM 12、22は前記EUH 11、21の下部に少なくとも一つ以上のブロックを集めて記録できる。
また、前記BAM 12、22は、NANDタイプのフラッシュメモリのスペア・アレイのような特定空間にブロック別に分けられて記録されることもある。
このようなBAMには、該当物理ユニットに属するブロックに関する情報(LBN、状態など)が記録されうる。
したがって、特定論理ブロックに対するデータ記録は、前記論理ブロックに該当するPUNを求めた後、前記PUNのBAMで記録可能なブロックにデータを記録すれば、その論理ブロックアドレスは前記BAMに保存される。
例えば、図3に図示されたように、論理ブロック3番にデータ記録が2回要請された場合、2番目の記録演算は空の4番目ブロックにデータを記録し、前記BAMの4番目に論理ブロック番号3を記録する。
また、特定論理ブロックに対するデータ再生演算も同じ方法で行われうる。
この時、データエラーの発生時にデータ復旧のために、特定ブロックの状態情報を保存するためのラップカウントという概念が導入された。
すなわち、所定ブロックの状態は、未定(Free=1111)、有効(valid)、削除(deleted=0000)に分けられ、前記有効状態は再び3つの状態、s0=1110、s1=1100、s2=1000に区分される。
この時、前記s0、s1、及びs2は、s0<s1、s1<s2、s2<s0の循環的な関係を持っている。ここで、前記“<”は、順序的な前後関係を表す。したがって、エラーが発生した場合、以前あるいは以後データで復旧できる。
例えば、図4に図示されたように、5番目以後にエラーが発生すれば、有効データが2つ存在し、そのそれぞれのラップカウントは1110及び1100である。
この時、前記1110が1100に順序的に先行するため、以後データで復旧する政策を使えば右側データが削除される。
前記のようなフラッシュメモリは、論理ユニットと物理ユニットとが1:1にマッピングされて特定論理ユニットに対するセクター更新が頻繁に行われるため、論理ユニット内に空のセクターが存在していない場合、常に空の物理ユニットを割り当てられて削除した後、有効セクターを前記空の物理ユニットにコピーして空のセクターがある物理ユニットにした後、セクター更新を行える。
この時、前記フラッシュメモリの物理ユニットの削除回数は制限されている。したがって、前記フラッシュメモリの物理ユニットを均一に使用することにより、前記フラッシュメモリの寿命を延長させうる。
しかし、前記フラッシュメモリで空の物理ユニットを使用する場合、各物理ユニットの削除回数に関係なく空の物理ユニットを任意に選択して使用するために、前記フラッシュメモリの寿命を延長させるのに限界があるという問題点がある。
また、常に空の物理ユニットを割り当てるため、データを記録するために追加的に行われる演算が増加し、データ記録演算に対する性能低下を引き起こす問題点がある。
特許文献1は、写像テーブル更新は、ある物理ページグループの記録が遂行される時に毎度遂行されず、書き込みブロックグループ内のすべての物理ページグループの記録が終る始点に書き込みブロックグループに記録されたすべての論理ページグループに対して一度に遂行されるようにして、不必要なフラッシュメモリの接近を最小化するように構成されたフラッシュメモリ管理方法を開示しているが、これは物理ページグループに対する削除回数を考慮しないので、フラッシュメモリの寿命を延ばすのに限界があるという問題点がある。
韓国公開特許2002−0092261号公報
本発明は、ユーザーが論理セクターに対するデータ記録を要請した場合、フラッシュメモリのあらゆる領域を均一に使用可能にしてフラッシュメモリの寿命を延長できるフラッシュメモリのリマッピング方法を提供するところに、その目的がある。
本発明のさらに他の目的は、ユーザーのデータ記録要請を処理するためのフラッシュメモリへの接近回数を最小化してユーザーに速い応答を提供することである。
前記目的を達成するために、本発明の実施形態によるフラッシュメモリのリマッピング方法は、所定の論理ユニットにマッピングされていない複数の物理ユニットを削除回数によって並べる第1段階と、前記削除回数の少ない順に物理ユニットを所定の論理ユニットにマッピングする第2段階とを含む。
望ましくは、所定の論理ユニットにマッピングされた複数の物理ユニット間の前後関係を表す深さ値が、各物理ユニットに含まれる。
望ましくは、前記深さ値が大きいほど、最も最近にマッピングされた物理ユニットであると判断される。
望ましくは、前記マッピングされていない物理ユニットが存在していない場合、前記論理ユニット内で空の物理ユニットを生成するコンパクション演算を行う第3段階を含む。
望ましくは、前記深さ値の最も大きい物理ユニットは、コンパクション演算から除外する。
望ましくは、前記第3段階は、所定の論理ユニット内でコンパクションコストの最も小さな物理ユニットを選定する第1過程と、前記選定された物理ユニットのコンパクションコストを前記論理ユニットのコンパクションコストと設定する第2過程と、前記コンパクションコストの最も小さな物理ユニットの有効セクターを前記論理ユニットの空の空間にコピーした後、前記物理ユニットをマッピングから除外する第3過程とを含む。
望ましくは、前記コンパクションコストは、所定物理ユニットの有効なセクター数及びコピーコストに基づいて有効セクターを移すのにかかる時間の相対的な値に設定される。
望ましくは、論理セクターを前記物理ユニットの固定された位置に保存する場合、前記コンパクションコストCは、C=Sv*Cc+Se*Weにより求められるが、前記Svは有効セクター数、Ccはコピーコスト、Seは空のセクター数、Weは空のセクターに対する加重値である。
望ましくは、論理セクターを前記物理ユニットの固定されていない位置に保存する場合、前記コンパクションコストCは、C=Sv*Ccにより求められるが、前記Svは有効セクター数、Ccはコピーコストである。
望ましくは、前記コンパクションコストは、前記有効セクターを所定の論理ユニット内で移せない場合、新たな物理ユニットを割り当てるための割り当てコストが追加される。
望ましくは、前記割り当てコストは、物理ユニットの削除時間の相対的な値及び物理ユニットのメタ情報記録時間の相対的な値を通じて設定される。
望ましくは、前記物理ユニットのコンパクションコストCは、C=Sv*Ccにより求められるが、前記Svは有効セクター数、Ccはコピーコストである。
望ましくは、前記コンパクションコストは、最も小さなコンパクションコストを持つ物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットのコンパクションコストが追加される。
望ましくは、前記第3段階は、前記コンパクションコストの最も小さな論理ユニットの有効セクターをコピーするための空の空間が存在していない場合、コンパクションコストの最も小さな物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットを検索する第4過程と、所定の空の物理ユニットを前記論理ユニットにマッピングする第5過程と、コンパクションコストの最も小さな物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットの有効セクターを前記空の物理ユニットにコピーした後、マッピングから除外する第6過程とをさらに含む。
望ましくは、所定の論理ユニットにマッピングされた物理ユニットの最小削除回数及び最大削除回数を把握する第4段階と、前記最小削除回数及び最大削除回数が所定値を超過する場合に前記コンパクション演算を行う第5段階とをさらに含む。
望ましくは、前記第5段階は、前記最小削除回数を持つ物理ユニットに対するコンパクション演算を行う。
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。
本発明のフラッシュメモリのリマッピング方法によれば、次のような効果がある。
第1に、マッピングされていない複数の物理ユニットのうちECNTの少ない順に所定の論理ユニットにマッピングすることにより、あらゆる物理ユニットを均一に使用できるため、フラッシュメモリの寿命を延ばせる。
第2に、フラッシュメモリのデータ記録演算時、コンパクション演算を通じてフラッシュメモリへの接近回数を最小化してユーザーに速い応答を提供できる。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施形態を参照すれば明確になる。しかし、本発明は以下で開示される実施形態に限定されるものではなく、この実施形態から外れて多様な形に具現でき、本明細書で説明する実施形態は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
以下、添付された図面を参照して本発明の望ましい実施形態を詳細に説明する。
一般的に、フラッシュメモリは小ブロックフラッシュメモリと大ブロックフラッシュメモリとに分けられる。
この時、前記小ブロックフラッシュメモリは、論理的な演算単位と物理的な演算単位とが同じ一方、前記大ブロックフラッシュメモリは論理的な演算単位に比べて物理的な演算単位が大きい特徴を持つ。
ここで、前記論理的な演算単位はユーザー側でのデータ演算単位であって、一般的にセクターと呼ばれ、前記物理的な演算単位は実際フラッシュメモリでのデータ演算単位であって、一般的にページと呼ばれる。
参考的に、前記論理的な演算単位及び物理的な演算単位は、前記セクター及びページに限定されず、前記フラッシュメモリが使われる装置によって多様な大きさになりうる。
図5は、一般的な大ブロックフラッシュメモリの構造が概略的に図示された図面であって、前記フラッシュメモリは、それぞれ複数のページ102よりなる複数のブロック101よりなり、少なくとも一つ以上のブロックが集まって一つの論理ユニット100を構成する。
以下、一つの論理ユニットに含まれた各ブロックは物理ユニットと称する。
このような論理ユニット100は、マッピングされた論理ユニットとマッピングされていない論理ユニットとに分けることができるが、前記マッピングされた論理ユニットは有効なセクターを持っており、前記マッピングされていない論理ユニットは、有効なセクターを持っていないため、新たにマッピングされて使用可能な論理ユニットである。
ここで、前記論理ユニット100は、該当論理ユニットのLUNが保存されるメタ情報保存領域110と、データが保存されるデータ保存領域120とに区分できる。
また、前記メタ情報保存領域110は、図6に図示されたように、LUN111以外にも所定の論理ユニットにマッピングされた複数の物理ユニットに対する前後関係を表す深さ(以下、Depth)112、各物理ユニットの削除回数(EraseCount、以下、ECNT)113を含む。
この時、前記Depthは新たにマッピングされた物理ユニットであるほど大きい値を持つようにして、大きい値の深さを持つほどさらに最新のデータであると判断可能にする。
一方、前記データ保存領域120は図7に図示されたように、データが保存される物理セクター121及び、該当物理セクター121に対する論理セクター番号(Logical Sector Number:以下、LSN)が保存されるメタ情報122を含む。
図8は、同じLUNを持つ複数のPUNを各物理ユニットのDepth順に並べたものである。
この時、同じLUNを持つPUNを各物理ユニットのDepth順に並べ、前記Depth値が大きいほど最新の有効なデータと判断される。
このようなフラッシュメモリの各物理ユニットは独立的な使用寿命を持つ。すなわち、各物理ユニットは所定のECNTを持つため、ECNTの少ない物理ユニットを先に使用して初めて前記フラッシュメモリの寿命を延長させうる。
本実施形態は、前記ECNTによってあらゆる物理ユニットを均一に使用できるフラッシュメモリのリマッピング方法に係り、図9に図示されたように、マッピングされていない物理ユニットを前記ECNTの少ない順に並べる。
この時、前記マッピングされていない物理ユニットは有効なセクターを持っておらず、新たにマッピングされて使用可能な空の物理ユニットである。
以後、前記マッピングされていない物理ユニットのうち所定の論理ユニットに物理ユニットを新たにマッピングして使用する場合、前記ECNTの少ない物理ユニットを優先使用してあらゆる物理ユニットを均一に使用できる。
このようなフラッシュメモリのリマッピング方法を利用したデータ記録を例として説明すれば、図10に図示されたように、まず、所定の論理セクターにデータを記録する場合、前記データが保存されるLUNを検索する(S110)。
以後、検索された論理ユニットに前記論理セクターを保存する空間が存在しているかどうかを判断する(S120)。
前記判断結果、前記論理セクターを保存する空間が存在する場合、該当空の空間にデータを保存する(S130)。
もし、前記検索された論理ユニットにデータを保存するセクターが存在していない場合、追加でマッピング可能な物理ユニットが存在しているかどうかを判断する(S140)。前記判断結果、追加でマッピング可能な物理ユニットが存在する場合、マッピングされていない物理ユニットのうちECNTの最も少ない物理ユニットを選択し(S150)、前記選択された物理ユニットを前記論理ユニットに追加でマッピングする(S160)。
以後、前記論理ユニットに追加でマッピングされた物理ユニットの空の空間にデータを記録する。
もし、追加でマッピング可能な物理ユニットが存在していない場合には、使用中の物理ユニットのうちコンパクション演算を行ってマッピングされていない物理ユニットを生成し、前記生成された物理ユニットのうちECNTの最も少ない物理ユニットを選択し、これを前記論理ユニットにマッピングする(S170)。
この時、前記コンパクション演算は、論理ユニットと物理ユニットとのマッピング関係が1:N(N>2)である場合、前記論理ユニットと物理ユニットとのマッピング関係を1:N−1にマッピングして空の物理ユニットを少なくとも一つ以上生成することである。
すなわち、前記論理ユニットにマッピングされた複数の物理ユニットのうち空の物理ユニットを作る物理ユニットを選定し、前記選定された物理ユニットの有効セクターを他の物理ユニットの空のセクターに移して空の物理ユニットを生成することである。
このようなコンパクション演算方法を、図11を参照としてさらに詳細に説明すれば、まず少なくとも一つ以上の物理ユニットがマッピングされた論理ユニットを対象に前記論理ユニットのコンパクションコストの最も小さな論理ユニットを検索する(S171)。
この時、前記論理ユニットのコンパクションコストは、まず該当論理ユニットにマッピングされた物理ユニットのコンパクションコストを求めねばならないが、前記物理ユニットのコンパクションコストは、有効セクターの数などに基づいて前記有効セクターを移すのにかかる時間の相対的な値で求めることができる。
すなわち、前記物理ユニットのコンパクションコストは、論理ユニットで空の物理ユニットを生成するための時間の相対的な値であって、フラッシュメモリに接近せねばならない回数を通じて得られる。
この時、前記フラッシュメモリの接近は、物理ユニット削除、セクター記録、セクターコピー、セクター再生などに大別できる。
例えば、前記物理ユニット削除のコストは10、セクター記録のコストは3、セクターコピーのコストは4、セクター再生のコストは1とし、コンパクション演算を行うためには1個の物理ユニットを削除せねばならず、総12個のセクターをコピーする場合、前記論理ユニットのコンパクションコストは58であるといえる。
以後、前記物理ユニットのコンパクションコストのうち最も小さな値を前記論理ユニットのコンパクションコストと選定する。
この時、前記論理ユニットにマッピングされた複数の物理ユニットのうち最も最近にマッピングされたユニットは、コンパクション対象から除外する。
これは、最も最近にマッピングされた物理ユニットの有効セクターを移すためには常に空の物理ユニットを割り当てねばならないためである。
したがって、最も最近にマッピングされた物理ユニットを除いて、最も小さなコンパクションコストを持つ物理ユニットのコンパクションコストが、該当論理ユニットのコンパクションコストとなる。
この時、前記論理ユニットのコンパクションコストとなる該当物理ユニットの有効セクターをいずれも空の空間に移すことが不可能であれば、新たな物理ユニットを割り当てねばならないので、前記論理ユニットのコンパクションコストに割り当てコストを加える。
そして、前記論理ユニットのコンパクションコストとなる該当物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットを選定し、現在論理ユニットのコンパクションコストに、最も小さなコンパクションコストを持つ物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットのコンパクションコストを加える。
このように、論理ユニットのコンパクションコストをいずれも求めて選定したコンパクションコストの最も小さな論理ユニットを検索することである。
前記コンパクションコストの最も小さな論理ユニットが検索されれば、前記論理ユニット内でコンパクションコストの最も小さな物理ユニットAを検索する(S172)。
この時、前記コンパクション演算のために前記物理ユニットAの有効セクターを移すのに空の物理ユニットが必要であるかどうかを判断する(S173)。
前記判断結果、空の物理ユニットが必要でない場合には、前記コンパクションコストが、物理ユニットAの有効セクターを前記論理ユニット内の空の空間にコピーする(S174)。
以後、前記有効セクターがいずれもコピーされれば、前記物理ユニットAを前記論理ユニットのマッピングから除外する(S175)。
もし、前記判断結果、空の物理ユニットが必要な場合、前記論理ユニット内で、前記コンパクションコストの最も小さい物理ユニットに次いでコンパクションコストの小さい物理ユニットBを検索する(S176)。
以後、前記論理ユニットに空の物理ユニットを割り当てる(S177)。
この時、前記コンパクション演算のための空の物理ユニットを前記論理ユニットにマッピングし(S178)、前記物理ユニットBを前記空の物理ユニットにコピーする(S179)。
以後、前記物理ユニットBを前記論理ユニットのマッピングから除外し(S180)、前記物理ユニットAを論理ユニットのマッピングから除外する過程(S175)を行う。
一方、前記のようなコンパクション演算方法は、前記物理ユニット内に保存される論理セクターの位置が固定された場合とそうでない場合とによって所定の差を持つ。
すなわち、前記論理セクターは、図12に図示されたように、前記物理ユニット内の固定された位置に保存されることもあり、図13に図示されたように、前記物理ユニット内の固定されていない位置に保存されることもある。
まず、前記物理ユニット内に保存される論理セクターの位置が固定された場合を説明すれば、図14に図示されたように、一つの論理ユニットには複数の物理ユニットがマッピングされている。
例えば、論理セクター0番から論理セクター3番までは論理ユニット0番に保存され、論理セクター4番から論理セクター7番までは論理ユニット2番に保存され、論理セクター8番から論理セクター11番までは論理ユニット3番に保存される場合を説明する。
また、論理ユニット0番には物理ユニット7番、5番、4番がマッピングされ、論理ユニット1番には物理ユニット2番、1番がマッピングされ、論理ユニット2番には物理ユニット0番がマッピングされる場合を説明する。
この時、前記論理ユニットのコンパクションコストを選定するためには各物理ユニットに対するコンパクションコストを選定せねばならない。
ここで、前記物理ユニットに対するコンパクションコストCは、C=Sv*Cc+Se*Weにより求められるが、前記Svは有効セクター数、Ccはコピーコスト、Seは空のセクター数、Weは空のセクターに対する加重値である。
この時、前記コピーコストは3、空のセクターに対する加重値は0.5である場合を例として説明する。
したがって、前記論理アドレス0番で前記物理ユニット7番のコンパクションコストは1*3+3*0.5=4.5であり、前記物理ユニット5番のコンパクションコストは2*3+1*0.5=6.5であり、前記物理ユニット4番のコンパクションコストは1*3+0*0.5=3である。
ここで、最も最近にマッピングされた物理ユニット7番を除いて、最も小さいコンパクションコストを持つ物理ユニットは4番となる。したがって、前記物理ユニット4番の有効セクター1個は、物理ユニット5番にすべて移すことができる。
また、前記論理ユニット0番のコンパクションコストは、物理ユニット4番のコンパクションコストである3となる。
一方、前記論理アドレス1番で物理アドレス2番のコンパクションコストは、前記物理ユニット7番、5番、4番と同じ方法を通じて4.5を得ることができ、前記物理アドレス1番のコンパクションコストは4を得ることができる。
この時、最も最近にマッピングされた物理ユニット2番を除いて、最も小さいコンパクションコストを持つ物理ユニット1番の有効セクター1個は、物理ユニット2番にすべて移すことができ、前記論理ユニット1番のコンパクションコストは物理ユニット1番のコンパクションコストである1となる。
この時、前記論理アドレス2番は一つの物理ユニットのみマッピングされているので、コンパクション対象から除外される。
ここで、前記論理セクター11番を記録する場合を例として説明すれば、前記論理セクター11番が保存される論理ユニットは論理ユニット2番となる。
この時、前記論理ユニット2番では空のセクターが存在していないためにコンパクション演算を行って空の空間の物理ユニットを生成する。
すなわち、前記コンパクションコストの最も小さな論理ユニットは前記論理ユニット0番となる。
また、前記論理ユニット0番でコンパクションコストの最も小さな物理ユニットは物理ユニット4番となる。
したがって、図15に図示されたように、前記物理ユニット4番の有効セクター1個を前記物理ユニット5番にコピーし、前記物理ユニット4番を前記論理ユニット0番のマッピングから除外する。
以後、図16に図示されたように、前記論理ユニット0番のマッピングから除外された物理ユニットを前記論理ユニット2番にマッピングし、論理セクター11番を前記物理ユニット4番に保存する。
一方、他の実施形態で論理セクターが保存される位置が固定されていない場合を説明すれば、図17に図示されたように、一つの論理ユニットには複数の物理ユニットがマッピングされ、一つの物理ユニットに4個の論理セクターを保存できる場合、各物理ユニットに論理セクターを保存する時は順次に空の論理セクターに保存できる。
この時、論理セクター0番から3番までは論理ユニット0番に保存され、論理セクター4番から論理セクター7番までは論理ユニット1番に保存され、論理セクター8番から論理セクター11番までは論理ユニット2番に保存される場合を例として説明する。
ここで、前記論理ユニット0番には物理ユニット7番、5番、4番がマッピングされ、前記論理ユニット1番には物理ユニット2番、1番がマッピングされ、前記論理ユニット2番には物理ユニット0番がマッピングされる。
この時、各論理ユニットのコンパクションコストはシステム初期化時に計算し、以後に更新される度に該当論理ユニットのコンパクションコストを更新できる。
前記物理ユニットのコンパクションコストCは、C=Sv*Ccにより求められるが、前記Svは有効セクター数、Ccはコピーコストである。
また、割り当てコストQは、Q=Uc+Iwにより求められるが、前記Ucはユニットを削除するコスト、Iwはメタ情報を記録するコストである。
ここで、前記コピーコストは3、ユニットを削除するコストは10、メタ情報を記録するコストは2である場合を例として説明する。
まず、前記論理ユニット0番のコンパクションコストを得るために、前記物理ユニット7番、5番、4番のコンパクションコストを求める。すなわち、前記物理ユニット7番のコンパクションコストは1*3=3、前記物理ユニット5番のコンパクションコストは2*3=6、前記物理ユニット4番のコンパクションコストは1*3=3であることが分かる。
この時、前記論理ユニット0番で最も最近にマッピングされた物理ユニット7番を除いて、コンパクションコストの最も小さな物理ユニットは4番となる。
したがって、前記論理ユニット0番のコンパクションコストは、前記物理ユニット4番のコンパクションコストの3となる。
また、前記論理ユニット1番のコンパクションコストは、前記物理ユニット2番のコンパクションコストが1*3=3であり、前記物理ユニット1番のコンパクションコストが3*3=9であるので、最も最近にマッピングされた物理ユニット2番を除外すれば、前記論理ユニット1番のコンパクションコストは9となる。
この時、前記物理ユニット1番の有効セクター3個は、前記論理ユニット1番の空の空間にすべて移すことができないため、新たなユニットを割り当てる割り当てコスト12を加算する。したがって、前記論理ユニット1番のコンパクションコストは21となる。
また、前記物理ユニット1番を除いて、コンパクションコストの最も小さな物理ユニットは2番となるために、前記論理ユニット1番のコンパクションコストである21に3を加算して、前記論理ユニット1番のコンパクションコストは24となる。
一方、前記論理ユニット2番の一つの物理ユニットのみマッピングされているので、コンパクション演算の対象から除外する。
ここで、前記論理セクター11番を記録する場合を例として説明すれば、前記論理セクター11番が保存される論理ユニットは論理ユニット2番となる。
この時、前記論理ユニット2番には空のセクターが存在していないのでコンパクションを行うが、まず、コンパクションコストの最も小さな論理ユニットは0番となる。
また、前記論理ユニット0番で最も最近にマッピングされた物理ユニット7番を除外すれば、コンパクションコストの最も小さな物理ユニットは4番となる。
この時、前記物理ユニット4番の有効セクター1個は該当論理ユニットの空のセクターに移すことができるので、空のユニットが要らなくなる。
したがって、図18に図示されたように、前記物理ユニット4番の有効セクターである論理セクター3番を前記物理ユニット7番の空のセクターにコピーし、前記物理ユニット4番は前記論理ユニット0番のマッピングから除外する。
以後、図19に図示されたように、マッピングされていない物理ユニットのうちECNTの最も少ない物理ユニットを選定して前記論理ユニット2番にマッピングする。
したがって、前記論理セクター11番を、前記論理ユニット2番に新たにマッピングされた物理ユニット4番の最初のセクターに記録する。
前記のような本実施形態は、複数の物理ユニットの均一な使用のためにマッピングされていない物理ユニットを使用する時、最もECNTの小さなユニットを使用している。
この時、マッピングされていない物理ユニットの数が少ない場合、全体物理ユニットの均一な使用を保証するために前記コンパクションコスト以外にウェアレベリングコストを付与して、コンパクション演算を行う物理ユニットを設定できる。
また、最小ECNTと最大ECNTとの差が所定の範囲を超過する場合、前記最小ECNTを持つ物理ユニットの有効セクターを該当論理ユニットの空のセクターに移し、前記最小ECNTを持つ物理ユニットをマッピングから除外して最小ECNTを持つ物理ユニットを使用できる。
すなわち、このようなウェアレベリングを利用したデータ記録を例として説明すれば、図20に図示されたように、まず所定のセクターにデータを使う場合、前記データが保存されるLUNを検索する(S210)。
次いで、検索されたLUN内に前記セクターのデータを保存する空間が存在しているかどうかを判断する(S220)。
前記判断結果、前記セクターを保存する空間が存在する場合、該当空の空間にデータを保存する(S230)。
もし、前記論理ユニットにデータを保存するセクターが存在していない場合、追加でマッピング可能な物理ユニットが存在しているかどうかを判断する(S240)。
前記判断の結果、追加でマッピング可能な物理ユニットが存在する場合、マッピングされていない物理ユニットのうちECNTの最も少ない物理ユニットを選択し(S250)、前記選択された物理ユニットを前記論理ユニットに追加でマッピングする(S260)。
次いで、前記論理ユニットに追加でマッピングされた物理ユニットの空の空間にデータを記録する。
もし、追加でマッピング可能な物理ユニットが存在していない場合には、使用中の物理ユニットを通じたコンパクション演算を行ってマッピングされていない物理ユニットを生成し、それを前記論理ユニットに追加でマッピングする(S270)。すなわち、図21に図示されたように、論理ユニット0番には一つの物理ユニットがマッピングされているので、コンパクション演算対象から除外する。
論理ユニット1番に属する各物理ユニットのコンパクションコストを求めれば、物理ユニット2番のコンパクションコストは1*9=3であり、物理ユニット0番のコンパクションコストは2*3=6であり、物理ユニット6番のコンパクションコース借金1*3=3である。
この時、最も最近にマッピングされた物理ユニット2番を除いて、コンパクションコストの最も小さい物理ユニットは6番となる。したがって、前記論理ユニット1番のコンパクションコストは3となる。
この時、前記物理ユニット6番の有効セクター1個は、該当論理ユニットの空のセクターにすべて移すことができないので、新たな物理ユニットの割り当てコスト12を加算する。したがって、前記論理ユニット1番のコンパクションコストは15となる。
この時、前記物理ユニット1番を除外したコンパクションコストの最も小さな物理ユニットは2番であるため、前記物理ユニット2番のコンパクションコスト3を加算すれば、前記論理ユニット1番のコンパクションコストは18となる。
論理ユニット3番の物理ユニット4番のコンパクションコストは1*3=3であり、物理ユニット1番のコンパクションコストは3*3=9である。
最も最近にマッピングされた物理ユニット4番を除いて、物理ユニット1番のコンパクションコストが9であるので、前記論理ユニット3番のコンパクションコストは9となる。この時、前記物理ユニット1番の有効セクター3個は該当論理ユニット内の空のセクターにすべて移すことができないので、新たな物理ユニット割り当てコスト12を加算すれば、前記論理ユニット3番のコンパクションコストは21となる。
また、前記物理ユニット1番を除外すれば、コンパクションコストの最も小さな物理ユニット4番のコンパクションコスト3を加算すれば、前記論理ユニット3番のコンパクションコストは24となる。
論理ユニット4番に属する各物理ユニットのコンパクションコストを求めれば、物理ユニット7番のコンパクションコストは1*3=3であり、物理ユニット9番のコンパクションコストは3*3=9である。
最も最近にマッピングされた物理ユニット7番を除外すれば、物理ユニット9番のコンパクションコストが9であるため、前記論理ユニット4番のコンパクションコストは9となる。この時、前記物理ユニット9番の有効セクター3個は該当論理ユニット内の空のセクターにすべて移すことができないので、新たな物理ユニットを割り当てられて前記論理ユニット4番のコンパクションコストは、割り当てコスト12が加算されて21となる。
また、前記物理ユニット9番を除いて、コンパクションコストの最も小さな物理ユニットは7番であるため、前記物理ユニット7番のコンパクションコストを加算して前記論理ユニット4番のコンパクションコストは24となる。
この時、前記論理ユニット0番に論理セクター0番を保存する場合を例として説明すれば、前記論理ユニット0番には論理セクターを保存する空のセクターがもう存在しなくなる。
また、コンパクションコストの最も小さな論理ユニットは論理ユニット1番であり、前記論理ユニット1番でコンパクションコストの最も小さな物理ユニットは物理ユニット2番を除外すれば、物理ユニット6番となる。
この時、前記物理ユニット6番の有効セクター1個を該当論理ユニット内の空のセクターに移すことができないので、空の物理ユニットが必要となる。
したがって、図22に図示されたように、マッピングされていない物理ユニット1つを前記論理ユニット1番に新たにマッピングする。
以後、前記物理ユニット6番に次いでコンパクションコストの小さな物理ユニットは2番であるため、前記物理ユニット2番の有効セクター1個を新たにマッピングされた物理ユニットにコピーし、前記物理ユニット2番はマッピングから除外する。
また、前記物理ユニット6番の有効セクター1個を新たにマッピングされた物理ユニットにコピーし、前記物理ユニット6番をマッピングから除外する。
この時、図23に図示されたように、前記物理ユニット6番及び2番がマッピングされていない物理ユニットに含まれるが、このうちECNTの少ない物理ユニット6番を前記論理ユニット0番にマッピングする。
この時、最小ECNTと最大ECNTとの差が所定の範囲を超過するかどうかを判断し(S280)、前記判断結果所定の範囲を超過した場合、強制にウェアレベリングを行う(S290)。
すなわち、図24に図示されたように、各物理ユニットの最小ECNTと最大ECNTとの差が所定の範囲を超過するかどうかを判断することである。
この時、前記所定範囲が100である場合を例として説明すれば、最大ECNTは物理ユニット8番の21であり、最小ECNTは無理ユニット9番の121となって100となる。
したがって、前記最小ECNTを持つ物理ユニットの9番を強制にコンパクションさせる。
以上、例示された図を参照して 本発明によるフラッシュメモリのリマッピング方法を説明したが、本発明は前記実施形態に限定されず、本発明の技術的要旨を外れない範囲内で当業者により多様に変形実施することができる。
本発明は、携帯機器の保存媒体として用いられるフラッシュメモリのリマッピング技術分野に好適に適用できる。
一般的な論理ブロック番号とLUNとのマッピングテーブル及びLUNとPUNとのマッピングテーブルが図示された図である。 一般的な物理ユニットの構造が図示された図である。 一般的な物理ユニットのデータ記録が図示された図である。 一般的なラップカウントが図示された図である。 一般的な大ブロックフラッシュメモリの構造が図示された図である。 本発明による論理ユニットのメタ情報保存領域が図示された図である。 本発明による論理ユニットのデータ保存領域が図示された図である。 本発明による論理ユニットにマッピングされた物理ユニットが図示された図である。 本発明によるマッピングされていない物理ユニットが、ECNTの少ない順に並んだ図面である。 本発明による論理セクター記録方法が図示された図である。 本発明によるコンパクション演算方法が図示された図である。 本発明による物理ユニットの固定された位置に論理セクターを書込む方法が図示された図である。 本発明による物理ユニットの固定されていない位置に論理セクターを書込む方法が図示された図である。 本発明による物理ユニットの固定された位置に論理セクターを書込む場合のコンパクション演算過程が図示された図である。 本発明による物理ユニットの固定された位置に論理セクターを書込む場合のコンパクション演算過程が図示された図である。 本発明による物理ユニットの固定された位置に論理セクターを書込む場合のコンパクション演算過程が図示された図である。 本発明による物理ユニットの固定されていない位置に論理セクターを書込む場合のコンパクション演算過程が図示された図面である。 本発明による物理ユニットの固定されていない位置に論理セクターを書込む場合のコンパクション演算過程が図示された図である。 本発明による物理ユニットの固定されていない位置に論理セクターを書込む場合のコンパクション演算過程が図示された図である。 本発明による強制コンパクション演算方法が図示された図である。 本発明による強制コンパクション方法におけるコンパクション演算過程が図示された図である。 本発明による強制コンパクション方法におけるコンパクション演算過程が図示された図である。 本発明による強制コンパクション方法におけるコンパクション演算過程が図示された図である。 本発明による強制コンパクション方法におけるコンパクション演算過程が図示された図である。
符号の説明
10,20…物理ユニット
11,21…ヘッダ(EUH)
12,22…ブロック割り当てマップ(BAM)
13,23…ブロック

Claims (16)

  1. 所定の論理ユニットにマッピングされていない複数の物理ユニットを削除回数によって並べる第1段階と、
    前記削除回数の少ない順に物理ユニットを所定の論理ユニットにマッピングする第2段階と
    を含むことを特徴とするフラッシュメモリのリマッピング方法。
  2. 所定の論理ユニットにマッピングされた複数の物理ユニット間の前後関係を表す深さ値が、各物理ユニットに含まれることを特徴とする請求項1に記載のフラッシュメモリのリマッピング方法。
  3. 前記深さ値が大きいほど、最も最近にマッピングされた物理ユニットであると判断されることを特徴とする請求項2に記載のフラッシュメモリのリマッピング方法。
  4. 前記マッピングされていない物理ユニットが存在していない場合、前記論理ユニット内で空の物理ユニットを生成するコンパクション演算を行う第3段階を含むことを特徴とする請求項3に記載のフラッシュメモリのリマッピング方法。
  5. 前記深さ値の最も大きい物理ユニットは、コンパクション演算から除外することを特徴とする請求項4に記載のフラッシュメモリのリマッピング方法。
  6. 前記第3段階は、所定の論理ユニット内でコンパクションコストの最も小さな物理ユニットを選定する第1過程と、
    前記選定された物理ユニットのコンパクションコストを前記論理ユニットのコンパクションコストと設定する第2過程と、
    前記コンパクションコストの最も小さな物理ユニットの有効セクターを、前記論理ユニットの空の空間にコピーした後、前記物理ユニットをマッピングから除外する第3過程と
    を含むことを特徴とする請求項5に記載のフラッシュメモリのリマッピング方法。
  7. 前記コンパクションコストは、所定物理ユニットの有効なセクター数及びコピーコストに基づいて有効セクターを移すのにかかる時間の相対的な値に設定されることを特徴とする請求項6に記載のフラッシュメモリのリマッピング方法。
  8. 論理セクターを前記物理ユニットの固定された位置に保存する場合、前記コンパクションコストCは、C=Sv*Cc+Se*Weにより求められるが、前記Svは有効セクター数、Ccはコピーコスト、Seは空のセクター数、Weは空のセクターに対する加重値であることを特徴とする請求項7に記載のフラッシュメモリのリマッピング方法。
  9. 論理セクターを前記物理ユニットの固定されていない位置に保存する場合、前記コンパクションコストCは、C=Sv*Ccにより求められるが、前記Svは有効セクター数、Ccはコピーコストであることを特徴とする請求項7に記載のフラッシュメモリのリマッピング方法。
  10. 前記コンパクションコストは、前記有効セクターを所定の論理ユニット内で移せない場合、新たな物理ユニットを割り当てるための割り当てコストが追加されることを特徴とする請求項8または9のいずれか一つに記載のフラッシュメモリのリマッピング方法。
  11. 前記割り当てコストは、物理ユニットを削除する時間の相対的な値及び物理ユニットのメタ情報を記録する時間の相対的な値を通じて設定されることを特徴とする請求項10に記載のフラッシュメモリのリマッピング方法。
  12. 前記物理ユニットのコンパクションコストCは、C=Sv*Ccにより求められるが、前記Svは有効セクター数、Ccはコピーコストであることを特徴とする請求項11に記載のフラッシュメモリのリマッピング方法。
  13. 前記コンパクションコストは、最も小さなコンパクションコストを持つ物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットのコンパクションコストが追加されることを特徴とする請求項12に記載のフラッシュメモリのリマッピング方法。
  14. 前記第3段階は、前記コンパクションコストの最も小さな論理ユニットの有効セクターをコピーするための空の空間が存在していない場合、
    コンパクションコストの最も小さな物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットを検索する第4過程と、
    所定の空の物理ユニットを前記論理ユニットにマッピングする第5過程と、
    コンパクションコストの最も小さな物理ユニットに次いで小さなコンパクションコストを持つ物理ユニットの有効セクターを前記空の物理ユニットにコピーした後、マッピングから除外する第6過程と
    をさらに含むことを特徴とする請求項13に記載のフラッシュメモリのリマッピング方法。
  15. 所定の論理ユニットにマッピングされた物理ユニットの最小削除回数及び最大削除回数を把握する第4段階と、
    前記最小削除回数及び最大削除回数が所定値を超過する場合に前記コンパクション演算を行う第5段階と
    をさらに含むことを特徴とする請求項14に記載のフラッシュメモリのリマッピング方法。
  16. 前記第5段階は、前記最小削除回数を持つ物理ユニットに対するコンパクション演算を行うことを特徴とする請求項15に記載のフラッシュメモリのリマッピング方法。
JP2005026846A 2004-02-06 2005-02-02 フラッシュメモリのリマッピング方法 Active JP4185058B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2004-0008068A KR100526190B1 (ko) 2004-02-06 2004-02-06 플래시 메모리의 재사상 방법

Publications (2)

Publication Number Publication Date
JP2005222550A true JP2005222550A (ja) 2005-08-18
JP4185058B2 JP4185058B2 (ja) 2008-11-19

Family

ID=34676016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005026846A Active JP4185058B2 (ja) 2004-02-06 2005-02-02 フラッシュメモリのリマッピング方法

Country Status (5)

Country Link
US (1) US7516295B2 (ja)
EP (1) EP1562122A3 (ja)
JP (1) JP4185058B2 (ja)
KR (1) KR100526190B1 (ja)
CN (1) CN1315057C (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066129A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステムとストレージ装置及びその制御方法
JP2007220107A (ja) * 2006-02-16 2007-08-30 Samsung Electronics Co Ltd 不揮発性メモリのマッピング情報管理装置及び方法
JP2008112445A (ja) * 2006-10-27 2008-05-15 Samsung Electronics Co Ltd 不揮発性メモリを管理する装置及び方法
WO2009084724A1 (en) 2007-12-28 2009-07-09 Kabushiki Kaisha Toshiba Semiconductor storage device
JP2010021980A (ja) * 2008-06-13 2010-01-28 Yomiuri Telecasting Corp データ放送システム、データ放送方法及びプログラム
JP2010146515A (ja) * 2008-12-22 2010-07-01 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010146512A (ja) * 2008-12-22 2010-07-01 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010250413A (ja) * 2009-04-13 2010-11-04 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2012159993A (ja) * 2011-01-31 2012-08-23 Sony Corp メモリ装置およびメモリシステム
JP2013504142A (ja) * 2009-09-08 2013-02-04 フュージョン−アイオー・インコーポレーテッド ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US8745313B2 (en) 2008-03-01 2014-06-03 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US9026764B2 (en) 2011-03-23 2015-05-05 Kabushiki Kaisha Toshiba Memory system performing wear leveling based on deletion request
JP2016507830A (ja) * 2013-02-22 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. メモリ回収方法および装置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US20070180167A1 (en) * 2006-02-02 2007-08-02 Seagate Technology Llc Dynamic partition mapping in a hot-pluggable data storage apparatus
KR101354152B1 (ko) 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
KR100964374B1 (ko) * 2007-12-17 2010-06-17 한국전자통신연구원 전파식별 태그의 메모리 관리 장치 및 방법
JP4292225B2 (ja) * 2007-12-17 2009-07-08 株式会社東芝 情報記録装置および情報記録方法
JP4498426B2 (ja) * 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
JP4745356B2 (ja) * 2008-03-01 2011-08-10 株式会社東芝 メモリシステム
KR101067457B1 (ko) * 2008-03-01 2011-09-27 가부시끼가이샤 도시바 메모리 시스템
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
TWI410976B (zh) * 2008-11-18 2013-10-01 Lite On It Corp 固態儲存媒體可靠度的測試方法
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8296503B2 (en) * 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
TWI410795B (zh) * 2009-06-23 2013-10-01 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
US8463983B2 (en) * 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US8055942B2 (en) * 2009-12-03 2011-11-08 Seagate Technology Llc Data storage devices and methods for power-on initialization
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US9406346B2 (en) 2011-06-30 2016-08-02 Sandisk Technologies Llc Smart bridge for memory core
US9208070B2 (en) * 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
TWI571882B (zh) * 2016-02-19 2017-02-21 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置
TWI584292B (zh) * 2016-09-08 2017-05-21 群聯電子股份有限公司 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置
KR102507140B1 (ko) * 2017-11-13 2023-03-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102512727B1 (ko) * 2017-12-22 2023-03-22 삼성전자주식회사 가비지 컬렉션을 수행하는 스토리지 장치, 및 스토리지 장치의 가비지 컬렉션 방법
US11860947B2 (en) * 2019-01-31 2024-01-02 International Business Machines Corporation Deleted data restoration
US11061598B2 (en) * 2019-03-25 2021-07-13 Western Digital Technologies, Inc. Optimized handling of multiple copies in storage management
CN111290716A (zh) * 2020-03-05 2020-06-16 莆田学院 一种基于Norflash的磨损平衡处理方法
CN112394884A (zh) * 2020-11-18 2021-02-23 珠海全志科技股份有限公司 减少ubi子系统管理开销的方法、ubi子系统及介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JPH08124393A (ja) * 1994-10-20 1996-05-17 Fujitsu Ltd データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
CN1136503C (zh) * 1996-01-30 2004-01-28 Tdk株式会社 闪烁存储系统
GB2317721B (en) * 1996-09-30 2001-09-12 Nokia Mobile Phones Ltd Memory device
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
JP3544859B2 (ja) 1998-05-11 2004-07-21 富士通株式会社 不揮発性半導体メモリを使用した2次記憶装置
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4772214B2 (ja) 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 不揮発性記憶装置及びその書き換え制御方法
US6621746B1 (en) * 2002-02-27 2003-09-16 Microsoft Corporation Monitoring entropic conditions of a flash memory device as an indicator for invoking erasure operations
KR100914646B1 (ko) 2002-08-31 2009-08-28 지인정보기술 주식회사 멀티-플레인 구조의 플래시 메모리 관리 방법

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332582B2 (en) 2005-09-01 2012-12-11 Hitachi, Ltd. Storage system, storage device, and control method thereof
US9495105B2 (en) 2005-09-01 2016-11-15 Hitachi, Ltd. System managing a plurality of flash memory devices
US9251063B2 (en) 2005-09-01 2016-02-02 Hitachi, Ltd. Storage system including a plurality of flash memory devices
US8631199B2 (en) 2005-09-01 2014-01-14 Hitachi, Ltd. Storage system, storage device, and control method thereof
JP2007066129A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステムとストレージ装置及びその制御方法
JP2007220107A (ja) * 2006-02-16 2007-08-30 Samsung Electronics Co Ltd 不揮発性メモリのマッピング情報管理装置及び方法
US7822940B2 (en) 2006-02-16 2010-10-26 Samsung Electronics Co., Ltd. Apparatus and method for managing mapping information of nonvolatile memory
JP2008112445A (ja) * 2006-10-27 2008-05-15 Samsung Electronics Co Ltd 不揮発性メモリを管理する装置及び方法
US11960719B2 (en) 2007-12-28 2024-04-16 Kioxia Corporation Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US11513682B2 (en) 2007-12-28 2022-11-29 Kioxia Corporation Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US7953920B2 (en) 2007-12-28 2011-05-31 Kabushiki Kaisha Toshiba Semiconductor storage device with volatile and nonvolatile memories, method of controlling the same, controller and information processing apparatus
US7962688B2 (en) 2007-12-28 2011-06-14 Kabushiki Kaisha Toshiba Semiconductor storage device with nonvolatile and volatile memories, method of controlling the same, controller and information processing apparatus
US8065471B2 (en) 2007-12-28 2011-11-22 Kabushiki Kaisha Toshiba Semiconductor device having a volatile semiconductor memory and a nonvolatile semiconductor memory which performs read/write using different size data units
US8065470B2 (en) 2007-12-28 2011-11-22 Kabushiki Kaisha Toshiba Semiconductor storage device with volatile and nonvolatile memories
US10248317B2 (en) 2007-12-28 2019-04-02 Toshiba Memory Corporation Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US9703486B2 (en) 2007-12-28 2017-07-11 Kabushiki Kaisha Toshiba Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
WO2009084724A1 (en) 2007-12-28 2009-07-09 Kabushiki Kaisha Toshiba Semiconductor storage device
US10845992B2 (en) 2007-12-28 2020-11-24 Toshiba Memory Corporation Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US9134924B2 (en) 2007-12-28 2015-09-15 Kabushiki Kaisha Toshiba Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US8782331B2 (en) 2007-12-28 2014-07-15 Kabushiki Kaisha Toshiba Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks
US9092324B2 (en) 2008-03-01 2015-07-28 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US8745313B2 (en) 2008-03-01 2014-06-03 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
US9417799B2 (en) 2008-03-01 2016-08-16 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
JP4683438B2 (ja) * 2008-06-13 2011-05-18 讀賣テレビ放送株式会社 データ放送システム、データ放送方法及びプログラム
JP2010021980A (ja) * 2008-06-13 2010-01-28 Yomiuri Telecasting Corp データ放送システム、データ放送方法及びプログラム
JP2010146515A (ja) * 2008-12-22 2010-07-01 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010146512A (ja) * 2008-12-22 2010-07-01 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010250413A (ja) * 2009-04-13 2010-11-04 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2013504142A (ja) * 2009-09-08 2013-02-04 フュージョン−アイオー・インコーポレーテッド ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
JP2012159993A (ja) * 2011-01-31 2012-08-23 Sony Corp メモリ装置およびメモリシステム
US9026764B2 (en) 2011-03-23 2015-05-05 Kabushiki Kaisha Toshiba Memory system performing wear leveling based on deletion request
JP2016507830A (ja) * 2013-02-22 2016-03-10 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. メモリ回収方法および装置

Also Published As

Publication number Publication date
EP1562122A3 (en) 2007-05-02
US7516295B2 (en) 2009-04-07
KR20050079576A (ko) 2005-08-10
US20050174849A1 (en) 2005-08-11
CN1315057C (zh) 2007-05-09
JP4185058B2 (ja) 2008-11-19
EP1562122A2 (en) 2005-08-10
CN1652089A (zh) 2005-08-10
KR100526190B1 (ko) 2005-11-03

Similar Documents

Publication Publication Date Title
JP4185058B2 (ja) フラッシュメモリのリマッピング方法
US8521949B2 (en) Data deleting method and apparatus
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
JP5405513B2 (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
JP4778942B2 (ja) 不揮発性メモリを管理する装置及び方法
JP4991320B2 (ja) ホスト装置およびメモリシステム
US8364885B2 (en) Semiconductor storage system for decreasing page copy frequency and controlling method thereof
CN108073522B (zh) 可用于数据储存装置的垃圾搜集方法
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2006221627A (ja) 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
JP2009244962A (ja) メモリシステム
US20100318726A1 (en) Memory system and memory system managing method
KR20110139956A (ko) 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법
US20050169058A1 (en) Data management apparatus and method used for flash memory
JP2018160189A (ja) メモリシステム
JP2015053075A (ja) メモリシステム、情報処理装置および記憶装置
JP5649709B2 (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
JP5452735B2 (ja) メモリコントローラ及びメモリアクセス方法
JP2016177822A (ja) メモリシステム
KR20220096247A (ko) 플래시 메모리의 가비지 콜렉션 방법 및 이를 이용하는 저장 장치
CN113094004A (zh) 一种存储设备中针对特定规律数据镜像映射优化处理方法
KR20090093154A (ko) 센서 노드용 대용량 낸드 플래시 메모리의 파일 시스템

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

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: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4185058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

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

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