JP2008192154A - メモリマッピング方法およびメモリマッピングシステム - Google Patents

メモリマッピング方法およびメモリマッピングシステム Download PDF

Info

Publication number
JP2008192154A
JP2008192154A JP2008023003A JP2008023003A JP2008192154A JP 2008192154 A JP2008192154 A JP 2008192154A JP 2008023003 A JP2008023003 A JP 2008023003A JP 2008023003 A JP2008023003 A JP 2008023003A JP 2008192154 A JP2008192154 A JP 2008192154A
Authority
JP
Japan
Prior art keywords
block
log
data
blocks
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
Application number
JP2008023003A
Other languages
English (en)
Inventor
Won-Moon Cheon
源 ▲モン▼ 千
Yang-Sup Lee
洋 燮 李
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 JP2008192154A publication Critical patent/JP2008192154A/ja
Pending legal-status Critical Current

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】ページ複写およびブロック消去動作の回数を減らし、ログブロックのページの利用率を高めるメモリマッピングシステムおよび方法を提供する。
【解決手段】メモリシステムは、ホストから論理ユニット番号のための書き込みデータを受信するための入力装置と、複数のデータブロックグループの中で何れのグループが前記論理ユニット番号を含むかを決定するためのマッピング装置と、前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納するためのメモリ装置とを備える。そして、メモリマッピング方法は、ホストから論理ユニット番号のための書き込みデータが入力される段階と、複数のデータブロックグループ内で何れのものが前記論理ユニット番号を含むかを決定する段階と、前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納する段階とを含む。
【選択図】図5

Description

本発明は、フラッシュメモリシステムに係り、さらに詳しくはマッピングテーブルを有するフラッシュメモリシステムに関する。
コンピュータ、デジタルカメラ、デジタル音楽プレーヤ、携帯電話機、PDAの様な携帯用電子装置には、フラッシュメモリ、特にフラッシュガートの使用がだんだん増えている。フラッシュガートは、SSD、SDガート、MMC、メモリスティック、または、moviNAND、GBNAND、iNANDの様な内装メモリを含む。
一般にホストは、フラッシュ変換レイヤ(Flash Translation Layer)を使用してフラッシュメモリと通信する。フラッシュ変換レイヤはコントローラまたはフラッシュメモリに格納されているファームウェア(firmware)を含む。一般にフラッシュ変換レイヤには、フラッシュガートを効果的に管理するのに使用される。
アドレスマッピング動作は、フラッシュ変換レイヤ機能の一つである。フラッシュ変換レイヤは、ホストから論理アドレス(Logical Address)が入力され、入力された論理アドレスを物理アドレス(Physical Address)に変換する。物理アドレスはフラッシュメモリにデータを格納し、フラッシュメモリからデータを読み出すとき使用されるアドレスである。
アドレスマッピングテーブルは、アドレス変換に使用される。例えば、アドレスマッピングテーブルは、フラッシュメモリに格納され、その格納されたテーブルはコントローラの中にあるバッファにロードされる。論理アドレスおよび対応する物理アドレスは、アドレスマッピングテーブルに関連している。アドレスマッピングテーブルの大きさは、定義されたマッピングユニットによって異なる。テーブルの大きさが大きいほど、必要とするバッファの大きさはさらに大きくなる。典型的なマッピングユニットは、消去単位になるブロックと、読み出し/書き込みの単位になるページとを含む。
多様なマッピングユニットに応じて、使用できるマッピング方法は様々である。ページマッピング方法に於いて、マッピングテーブルは共通にページ単位に変換される。即ち、データアドレスの論理ページは、対応する物理ページに変換される。ここで、一つのメモリブロックは、数十または数百個のページを含む。しかし、斯かる方法はブロックマッピング方法より更に大きいサイズのマッピングテーブルを必要とする。
ブロックマッピング方法に於いて、マッピングテーブルは共通にブロック単位に変換される。ここで、ページはブロックから順次に書き込まれる。しかし、斯かる方法を使用するとき、自由ブロックを生成するためには多数のマージ動作を必要とする。
本発明は上述した技術的な課題を解決するためのものであって、本発明の目的はページ複写およびブロック消去動作の回数を減らすことができ、ログブロックのページの利用率を高めることができるメモリマッピングシステムおよび方法を提供することである。
本発明によるメモリマッピング方法は、ホストから論理ユニット番号のための書き込みデータが入力される段階と、複数のデータブロックグループの中で何れのものが前記論理ユニット番号を含むかを決定する段階と、前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納する段階とを含む。
実施形態として、前記メモリマッピング方法は、前記ホストから第2論理ユニット番号のための書き込み要求が入力される段階と、前記第2物理ユニット番号に関連する前記第2論理ユニット番号を前記ログブロックグループのログブロックに格納する段階とをさらに含む。
本発明によるメモリマッピングシステムは、ホストから論理ユニット番号のための書き込みデータを受信する入力装置と、複数のデータブロックグループの中で何れのグループが前記論理ユニット番号を含むかを決定するマッピング装置と、前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納するメモリ装置とを備える。
本発明によるメモリマッピングシステムは、少なくとも一つの論理ユニット−物理ユニットマップテーブルと、前記少なくとも一つのマップテーブルと信号通信する複数のデータユニットグループと、前記複数のデータユニットグループの中で対応する一つと夫々関連する複数のログユニットグループとを備える。ここで、前記複数のデータユニットグループの中で一つの中にある何れのデータユニットのためのアップデータされたデータは、前記複数のログユニットグループの中の対応する一つのグループの中にある何れかのログユニットに格納される。
本発明によるメモリマッピングシステムおよび方法は、グループマッピング方法を使用するので、ログブロックのページの利用率が向上する。また、本発明は、マージ演算およびブロック消去の回数を減らすことができる。
図1から分かる様に、メモリマッピングシステム100はプロセッサ116、プロセッサ116と信号通信するフラッシュメモリ110、プロセッサ116と信号通信するRAM114を含む。ROM112は、例えば、フラッシュメモリ110またはRAM114からデータを読み出したり、それらにデータを書き込むための読み出しおよび書き込みコマンドを提供するプロセッサ116によって行われるプログラムを含む。コマンドに応じて行われる読み出しおよび書き込み動作等は、本発明によって開示されるメモリマッピングの実施形態に関連して、フラッシュメモリ110から行われる。また、ROM112とRAM114は、関連データ構造および/またはプロセッサ116によって行われる応用プログラムを格納する。
図2を参照すれば、フラッシュメモリガートシステム200はコンピュータ、デジタルカメラ、デジタル音楽プレーヤ、携帯電話機、PDA等の携帯用電子装置を含む。フラッシュメモリガートシステム200は、フラッシュガート220と信号通信するホスト210を含む。フラッシュガート220はSSD(Solid State Disk)、SDガート、MMC、メモリスチック、そして内装ガート(例えば、moviNAND、GBNAND、iNAND)等を含む。
フラッシュガート220は、フラッシュメモリ250と信号通信するコントローラ230を備える。ホスト210は、フラッシュ変換レイヤ(Flash Translation Layer)を使用してフラッシュメモリ250と通信する。フラッシュ変換レイヤはフラッシュガート220を電気的に管理するロジックおよび/またはファームウェア(firmware)を備える。フラッシュ変換レイヤは、コントローラ230またはフラッシュメモリ250に格納することにより、具現できる。
コントローラ230は、コントローラバス232と信号通信するホストインタフェース231、コントローラバス232と信号通信するフラッシュインタフェース233、コントローラバス232と信号通信するバッファメモリ235、コントローラバス232と信号通信するCPU237、コントローラバス232と信号通信するROM239を備える。
動作に於いて、アドレスマッピング動作は、ホスト210から論理アドレスLAが入力され、その入力された論理アドレスLAを物理アドレスPAに変換するフラッシュ変換レイヤの機能である。物理アドレスPAは、フラッシュメモリ250にデータを格納するとき使用されるアドレスである。論理アドレスおよび対応する物理アドレスは、テーブル内で互いに関連付けられている。テーブルは、フラッシュメモリ250に格納され、コントローラ230の中のバッファメモリ235にロードされる。テーブルの大きさ(size)は、定義されたマッピングユニットによって異なる。
図3を参照すれば、ハイブリッドマッピングシステム300は、フラッシュ変換レイヤ320と信号通信するホスト310を備える。フラッシュ変換レイヤ320は、順次にフラッシュメモリ330と信号通信する。論理アドレスLAは、ホスト310とフラッシュ変換レイヤ320との間でパスされる。物理アドレスPAは、フラッシュ変換レイヤ320とフラッシュメモリ330との間でパスされる。フラッシュ変換レイヤ320は、ブロックマッピングテーブル321とページマッピングテーブル322とを備える。ページマッピングテーブル322は、ログブロック等のために具現される。逆に、ブロックマッピングテーブル321は、例えば、データブロック等のために具現される。
フラッシュメモリ330は、データ領域331を備える。データ領域331は、物理ブロック番号(PBN:physical block numbers)100、101、102、103、104、105、206、303、・・・、900、901、902、903を有するデータブロックを備える。フラッシュメモリ330は、ログ領域332を備える。ログ領域332は、物理ブロック番号300、400、500を有するログブロック等を備える。フラッシュメモリ330は、自由領域333およびメタ領域334をさらに備える。自由領域333は、物理ブロック番号600、601、602、603を有する自由ブロックを備える。
動作に於いて、ハイブリッドマッピング方法は、例えば、フラッシュガートシステムからマッピングアドレスのために使用される。ハイブリッドマッピング方法に於いて、マッピングテーブルは、ページ単位またはブロック単位で論理アドレスを物理アドレスに関連付ける。ハイブリッドマッピング方法がログブロックのページマッピングとデータブロックのブロックマッピングのために使用される際、テーブルの大きさおよびマージ動作の回数は夫々減る。
例えば、書き込み動作を行う際、指定されたデータブロックに格納されるページデータは先に指定されたログブロックに格納される。仮にログブロックとして使用される自由ブロックがなければ、ログブロックにあるページデータおよびログブロックに対応するデータブロックにあるページデータは新しいデータブロックに複写される。この動作の間に代わったマッピング情報は、メタ領域に格納される。ログブロックと旧データブロックとは、その内容等が異なるブロックに割り当てられると、安全に消去される。
図4から分かる様に、マージ400には、データブロック100およびログブロック300が入力され、マージされたデータブロック101を提供する。ここで、論理ページ番号(LPN:logical page number)1に対応するデータがデータブロック100の物理ページ番号2に格納され、ホストが論理ページ番号2、3、0の順に書き込み動作を要求する際、ログブロック300の物理ページ番号1、2、3は順に書き込まれる。フラッシュ変換レイヤが自由ブロックの不足によりログブロック300のマージ動作を行う際、ログブロック300の論理ページ番号2、3、0および対応するデータブロック100の論理ページ番号1は夫々新しいデータブロック101の物理ページ番号1、2、3、4に論理ページ番号0、1、2、3の順に複写される。ログブロック300およびデータブロック100は、新しいデータブロックまたは自由ブロックにまた割り当てられる際に消去される。
斯かる方法は、数多いページ複写およびブロック消去動作を行う。一つのブロックが4個のページから構成されたと仮定すれば、一つのマージ動作について4回のページ複写動作および2回のブロック消去動作が必要になる。また、斯かる方法は、ログブロックから低いページ使用率を有する。ログブロック300は、マージ動作によって自由ブロックに代わる前に4個のページの中で3個のページだけを使用する。頻繁に発生するマージ動作について数多い複写および消去動作と、低いページ使用率は、ガートシステムの全般的な性能の減少を招く。
図5を参照すれば、ハイブリッドマッピングシステム500は、フラッシュ変換レイヤ520と信号通信するホスト510を備える。フラッシュ変換レイヤ520は、順次にフラッシュメモリ530と信号通信する。論理アドレスLAはホスト510とフラッシュ変換レイヤ520との間からパスされる。物理アドレスPAは、フラッシュ変換レイヤ520とフラッシュメモリ530との間からパスされる。フラッシュ変換レイヤ520は、ブロックマッピングテーブル521、グループマッピングテーブル522、ページマッピングテーブル523を備える。ページマッピングテーブル322は、ログブロックのために具現される。逆にブロックマッピングテーブルは、例えば、データブロックのために具現される。
フラッシュメモリ530は、データ領域531を備える。データ領域531は、物理ブロック番号100、101、102、103、104、105、206、303、・・・、900、901、902、903を有するデータブロックを備える。フラッシュメモリ530は、ログ領域532を備える。ログ領域532は、物理ブロック番号300、400、500を有するログブロックを備える。ログブロックは、ログブロックグループの間に分布される。フラッシュメモリ530は、自由領域533およびメタ領域534をさらに備える。自由領域533は、物理ブロック番号600、601、602、603を有する自由ブロックを備える。
グループマッピング方法に於いて、ログブロックグループ(LBG:log block group)は、データブロックグループ(DBG:data block group)に割り当てられる。ログブロックグループLBGとデータブロックグループDBGとは、夫々複数のログブロックおよび複数のデータブロックを備える。図5で、ログブロックグループLBG1は、ログブロック300と400から構成され、データブロックグループDBG1に割り当てられる。データブロックグループDBG1は、データブロック100、101、102、103から構成される。この様に、データブロック100〜103にプログラムされるデータは、先にログブロック300または400にプログラムされる。一つのログブロックグループLBGの中にある夫々のログブロックは、割り当てられたデータブロックグループDBGの中にあるデータブロックに割り当てられる。夫々のデータブロックグループDBGまたはログブロックグループLBGの中のブロックの数は可変的である。グループマッピング方法を通じて、マージ動作の回数は減り、ログブロックの中にあるページの平均使用率が向上される。
図6を参照すれば、グループマッピングのフラッシュ変換レイヤ600が図示されている。この実施形態に於いて、フラッシュ変換レイヤ600は、ブロックマッピングテーブル(BMT:block mapping table)610、グループマッピングテーブル(GMT:group mapping table)620、ページマッピングテーブル(PMT:page mapping table)630を備える。ブロックマッピングテーブル610は、論理ブロック番号(LBN:logical block number)0〜7を物理ブロック番号PBN100〜105、206、303と夫々関連させる。グループマッピングテーブル620は、データブロックグループDBG1をログブロックの物理ブロック番号PBN300、400と関連させて、データブロックグループDBG2を物理ブロック番号PBN500と関連させる。ページマッピングテーブル630は、データブロックグループDBG1について論理ページ番号LPN3、4、11、12、13、14を物理ページ番号PPN1200、1201、1202、1203、1600、1601と夫々関連させる。また、ページマッピングテーブル630は、データブロックグループDBG2に対して論理ページ番号LPN17〜20を物理ページ番号PPN2000〜2003と夫々関連させる。
この様に、ログブロックグループLBG1の物理ブロック番号PBN300は、論理ページ番号LPN3、4、11、12と夫々関連される物理ページ番号PPN1200〜1203を有する。ログブロックグループLBG1の物理ブロック番号PBN400は、論理ページ番号LPN13、14と夫々関連される物理ページ番号PPN1600、1601を有する。ログブロックグループLBG1は、データブロックグループDBG1と関連される。データブロックグループDBG1の物理ブロック番号PBN100は、論理ページ番号LPN0〜3と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG1の物理ブロック番号PBN101は、論理ページ番号LPN4〜7と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG1の物理ブロック番号PBN102は、論理ページ番号LPN8〜11と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG1の物理ブロック番号PBN103は、論理ページ番号LPN12〜15と関連される物理ページ番号PPN1〜4を有する。
また、ログブロックグループLBG2の物理ブロック番号PBN500は論理ページ番号LPN17〜20と夫々関連される物理ページ番号PPN2000〜2003を有する。ログブロックグループLBG2は、データブロックグループDBG2と関連される。データブロックグループDBG2の物理ブロック番号PBN104は、論理ページ番号LPN16〜19と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG2の物理ブロック番号PBN105は、論理ページ番号LPN20〜23と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG2の物理ブロック番号PBN206は、論理ページ番号LPN24〜27と関連される物理ページ番号PPN1〜4を有する。データブロックグループDBG2の物理ブロック番号PBN303は、論理ページ番号LPN28〜31と関連される物理ページ番号PPN1〜4を有する。
ブロックマッピングテーブル610は、論理ブロック番号LBNを物理ブロック番号PBNに変換する。グループマッピングテーブル620は、夫々のデータブロックグループDBGとログブロックの物理ブロック番号PBNとの間のマッピング情報を有する。ページマッピングテーブル630は、夫々のデータブロックグループDBG、論理ページ番号LPN、そして対応する物理ページ番号PPNとの間のマッピング情報を有する。
好ましいグループマッピングの実施形態に於いて、論理ページ番号LPN3、4のための書き込み要求がホストから入力される。フラッシュ変換レイヤは、自由ブロックからログブロック300を割り当て、データブロックグループDBG1に対応するログブロックグループLBG1を生成する。フラッシュ変換レイヤは、グループマッピングテーブルにログブロック300を登録する。ログブロック300は、データブロックグループDBG1の中にある全てのデータブロックに割り当てられる。図6に於いて、論理ページ番号LPN0〜15は、ログブロック300に格納される。論理ページ番号LPN3、4は、ログブロック300の物理ページ番号PPN1200、1201に格納される。マッピング情報は、ページマッピングテーブルに格納される。
次に、論理ページ番号LPN11〜14に対する書き込み要求がホストから入力される。論理ページ番号LPN11、12は、先に割り当てられたログブロック300の物理ページ番号PPN1202、1203に格納される。ページマッピングテーブル630は、新しいマッピング情報によってアップデータされる。
新しいログブロック400は、追加に論理ブロックグループLBG1に割り当てられるので、論理ページ番号LPN13、14を格納する。フラッシュ変換レイヤは、グループマッピングテーブル620にログブロック400を登録する。論理ページ番号LPN13、14はログブロック400の物理ページ番号PPN1600、1601に格納され、ページマッピングテーブル630はアップデータされる。書き込み要求は、論理ページ番号LPN17〜20のためにホストから入力される。
論理ページ番号LPN17〜20は、データブロックグループDBG1に属しないので、ログブロック400に格納されない。フラッシュ変換レイヤは、ホストから新しいログブロック500を割り当て、データブロックグループDBG2に対応する論理ブロックグループLBG2を生成する。フラッシュ変換レイヤはグループマッピングテーブル620にログブロック500を登録する。論理ページ番号LPN17〜20は、ログブロック500の物理ページ番号2000、2001に格納され、ページマッピングテーブル630はアップデータされる。
グループマッピング方法を使用するので、ログブロックのページ使用率は向上される。これはログブロック300が、一つのページ(例えば、PPN1200)を使用する従来の方法と比較される。本発明の実施形態に於いて、ログブロック300は、全てのページ(例えば、PPN1200〜1203)を使用する。その理由は、一つのログブロックは、データブロックグループ内の全てのデータブロックに割り当てられるからである。またマージ動作の回数は、ログブロックの高いページ使用率と関連して減る様になる。更に、複写および消去動作の回数が減り、システム性能は向上する。
図7から分かる様に、論理フラッシュメモリ構造700が図示されている。フラッシュメモリ700は、使用者に見えないメタデータ領域710と、使用者に見える使用者データ領域720とを備える。メタデータ領域710はファームウェアブロック712、バッドブロックを代替するための予備ブロック714、マップブロック716、書き込みバッファブロック718を備える。マップブロック716は、ブロックマップテーブル717を備える。ブロックマップテーブル717は、論理ブロック番号0、1、・・・、31を物理ブロック番号3、15、・・・、0に夫々マッピングする。図7は書き込みバッファブロック718の一つの例719を示す。書き込みバッファブロック719は、論理ページ番号1と3のための代替データ(replacement data)、即ち論理ページ番号1’と3’を格納する。
使用者データ領域720は、データブロック722〜726を備える。データブロック725は、論理ページ番号0〜3を備える。動作に於いて、マージ動作は、データブロック725と書き込みバッファブロック719とを結合することによって新しいデータブロック726を形成する。新しいデータブロック726は、論理ページ番号0、1’、2、3’を含む。
図8を参照すれば、ページマッピング構造800が図示されている。ページマッピング構造800は、ページマップテーブル810およびフラッシュメモリ870を備える。ページマップテーブル810は、論理ページ番号830および対応する物理ページ番号850を備える。論理ページ番号832は、対応する物理ページ番号を探すのに使用される。
論理ページ番号LPN1は、初期に物理ページ番号PPN2に対応する。新しい物理ページ番号PPN5は、フラッシュメモリ870に書き込まれる。そして、ブロックマッピングテーブル810は、LPN1をPPN5と関連させるためにアップデータされる。これは、out−of−placeマッピングと呼ばれる。アップデータするページは、新しいブロックの他の位置に書き込まれる。ページマップテーブルのアップデータは、比較的に大きいサイズのマップテーブルを使用する。例えば、128KBマップテーブルは、128MBのNANDフラッシュメモリのために使用される。
図9を参照すれば、ブロックマッピング構造900が図示されている。ブロックマッピング構造900は、ブロックマップテーブル920およびフラッシュメモリ970を備える。ブロックマップテーブル920は、論理ブロック番号940および対応する物理ブロック番号960を備える。論理ブロック番号942は、対応する物理ブロック番号を探すのに使用される。物理ページ番号962は、物理ブロック番号に足されるオフセットである。
物理ページ番号PPN2は、フラッシュメモリ970の中から物理ページ番号PPN2’にアップデータされる。これはin−placeマッピングと呼ばれる。アップデータページは、新しいブロックの同じ位置に書き込まれ、ブロックマップテーブルは、アップデータされる。Out−of−placeページのアップデータがブロック複写動作をする際、書き込み動作の間に複写オーバーヘッドが発生する。
図10から分かる様に、ハイブリッドマッピング構造1000が図示されている。ハイブリッドマッピング構造1000は、ページマップテーブル1010、ブロックマップテーブル1020、ログブロック1070、データブロック1080を備える。
ページマップテーブル1010は、論理ページ番号1030および対応する物理ページ番号1050を備える。ブロックマップテーブル1020は、論理ブロック番号1040および対応する物理ブロック番号1060を備える。論理ブロック番号1032は、対応する物理ブロック番号を探すのに使用される。
動作に於いて、論理ブロック番号1032は、ブロックマッピングテーブル1020にある対応する物理ブロック番号を探すのに使用されたり、論理ページ番号1052は、ページマッピングテーブル1010にある対応する物理ページ番号を探すのに使用される。
例えば、ページマッピングは、書き込みバッファやログブロックのために使用されるが、ブロックマッピングは、データブロックのために使用される。論理ページ番号1は、初期にログブロック1070から物理ページ番号2に対応する。ページマップテーブル1010は、論理ページ番号1をスイッチして、物理ページ番号4に対応する様にアップデータされる。ログブロック1070がデータブロック1080に書き込まれる際、ブロックマップテーブルはアップデータされる。
図11を参照すれば、マージ方法1100が図示されている。図11に於いて、ログエントリ情報1110は、ログブロック1120をアップデータするのに使用される。次に、ログブロック1120は、データブロック1130にマージされる。マージされたデータは、自由ブロック1140に書き込まれる。自由ブロック1140は、新しいデータブロックになる。この様に、マージ方法1100は、自由ブロックを割り当てて有効ページを割り当てられた自由ブロックに複写し、割り当てられた自由ブロックをデータブロックにセットすることによりマップページをアップデータし、旧ログブロックおよび旧データブロックを消去する様にセットする。
図12を参照すれば、複写−マージ方法1200が図示されている。図12に於いて、ログエントリ情報1210は、ログブロック1220のページをアップデータするのに使用される。データブロック1230の変らないページは、ログブロック1220に複写される。この様に、マージ方法1200は、データブロックにある有効ページをログブロックに複写し、旧ログブロックをデータブロックにセットすることによりマップページをアップデータし、旧データブロックを消去する様にセットする。
図13から分かる様に、スワップマージ方法1300が図示されている。図13に於いて、ログエントリ情報1310は、ログブロック1320の全てのページをアップデータするのに使用される。マージページは、旧ログブロックをデータブロックにセットすることによりアップデータされ、旧データブロックは消去する様にセットされる。
図14を参照すれば、1:1マッピング構造1400が図示されている。1:1マッピング構造1400は、ユニットマップテーブル1410を備える。ユニットマップテーブル1410は、物理ユニット番号部分またはカラム1430に対応する論理ユニット番号部分またはカラム1420を有する。物理ユニット番号はフラッシュメモリ内の、伝達ユニット1450を備える物理ユニット1440に対応する。物理ユニット1440は、例えばブロックから成る。即ち、夫々のマップテーブルエントリは、一つの物理ユニットに対応する。
図15を参照すれば、1:2マッピング構造1500が図示されている。1:2マッピング構造1500は、ページマップテーブル1510およびブロックマップテーブル1520を備える。ページマップテーブル1510は、物理ページ番号部分またはカラム1550に対応する論理ページ番号部分またはカラム1530を有する。ブロックマップテーブル1520は、物理ブロック番号部分またはカラム1560に対応する論理ブロック番号部分またはカラム1540を有する。
物理ブロックおよびページ番号は、物理格納装置またはフラッシュメモリ内にある物理ブロック1570〜1573およびそれらのページに対応する。ここで、ブロックマッピングテーブル1520の101の様な物理ブロック番号は、物理ブロック1570を示す。そしてページマッピングテーブル1510の1、0、2、3の様な物理ページ番号は、ブロック1570の中にある物理ページを示す。マップテーブルに直接指定されたブロックおよびページはプライマリユニットであり、各プライマリユニットは、アップデータを記録するためにそれと関連する一つの追加ログユニットを有する。この様に、プライマリブロック1570、1571は、夫々ログブロック1572、1573と関連付けられる。即ち、夫々のマップテーブルエントリは一つまたは二つの物理ユニットに対応する。
図16に図示された様に、1:Nマッピング構造1600が図示されている。1:Nマッピング構造1600は、ページマップテーブル1610とブロックマップテーブル1620とを備える。ページマップテーブル1610は、物理ページ番号部分またはカラム1650に対応する論理ページ番号部分またはカラム1630を有する。ブロックマップテーブル1620は、物理ブロック番号部分、カラム1660に対応する論理ブロック番号部分またはカラム1640を有する。
物理ブロックおよびページ番号は、物理格納装置またはフラッシュメモリ内にある物理ブロック1670〜1675およびそれらのページに対応する。ここで、ブロックマッピングテーブル1620の101の様な物理ブロック番号は物理ブロック1670を示す。そしてページマッピングテーブル1610の1、0、2、3の様な物理ページ番号はブロック1670の中にある物理ページを示す。マップテーブルに直接指定されたブロックおよびページはプライマリユニットであり、各プライマリユニットはアップデータを記録するためにそれと関連されるNまで追加されるログユニットを有する。この様に、プライマリブロック1671は、ログブロック1673、1675、・・・と関連される。即ち、夫々のマップテーブルエントリは1からNまでの物理ユニットに対応する。1:Nマッピング構造1600は、データブロックと共にログブロックの遅延されたマージを使用する。
図17を参照すれば、N:M+Kマッピング構造1700が図示されている。N:M+Kマッピング構造1700は、ページマップテーブル1710とブロックマップテーブル1720とを備える。ページマップテーブル1710は、物理ページ番号部分、カラム1750に対応する論理ページ番号部分またはカラム1730を有する。ブロックマップテーブル1720は、物理ブロック番号部分、カラム1760に対応する論理ブロック番号部分またはカラム1740を有する。
物理ブロックおよびページ番号は、物理格納装置またはフラッシュメモリ内にある物理ブロック1769〜1775およびそれらのページに対応する。ここで、ブロックマッピングテーブル1720の101の様な物理ブロック番号は物理ブロック1770を示す。そしてページマッピングテーブル1710の1、0、2、3の様な物理ページ番号は、ブロック1770の中にある物理ページを示す。マップテーブルに直接指定されたブロックおよびページはプライマリユニットであり、各プライマリユニットはアップデータを記録するためにKまで追加にチェーン化されたり、グループ化されるログユニットを有する。追加にチェーン化されたり、グループ化されるログユニットは、Nプライマリユニットまで共有される。また、追加ログユニットのMまでの区別されるチェーンまたはグループがある。この様に、物理ブロック番号0と1を夫々有するプライマリブロック1771、1772は、チェーン化されたりグループ化されるログブロック1783、1785と関連付けられる。
また、物理ブロック番号101と102を夫々有するプライマリブロック1769、1770の夫々は、例えば、ログブロック1780と関連付けられる。N:M+Kマッピング構造1700は、データブロックとログブロックの遅延されたマージだけでなく、データブロックの中でログブロックの関連を利用する。ここで、Nは全ての使用者データブロックの数であり、Mは書き込みバッファまたはログブロックの数であり、Kは遅延されたマージまたはログブロックグループLBG内のログブロックの最大数である。データブロックグループDBGは、夫々のログブロックグループLBGと関連付けられている。例えば、夫々のデータブロックグループDBGは、二つのデータブロックを備える。しかしデータブロックグループDBGは、他の実施形態に於いて二つ以上のデータブロックを含むことも可能である。
メモリブロックは消去単位の大きさであり、ページは読み出しおよび書き込み単位の大きさである。本発明は一般のメモリブロックおよびページの大きさを使用し、これによって本発明が制限されるものではない。セクタまたは他の単位の大きさは、先に説明したブロックまたはページユニットの代わりに使用できる。例えば、ハイブリッドマッピングの実施形態に於いて、書き込みバッファまたはログブロックについてページマッピングを使用することが好ましく、データユニットについてブロックマッピングを使用することが好ましい。しかし、他の実施形態は二つまたはそれ以上のマッピングユニットの大きさを交代に使用できる。
一方、本発明の詳細な説明では、詳しい実施形態について説明したが、本発明の範囲から外れない限度内で様々に変形できるであろう。従って、本発明の範囲は上述した実施形態に限られるものではなく、本発明の特許請求範囲又は特許請求範囲に均等のものによって決められるべきである。
本発明の実施形態によるメモリマッピングシステムを示すブロック図である。 本発明によるフラッシュメモリガートシステムを示すブロック図である。 本発明によるハイブリッドマッピングシステムを示すブロック図である。 本発明によるマージ順序を示すブロック図である。 本発明によるグループマッピングテーブルを有するハイブリッドマッピングシステムを示すブロック図である。 本発明によるグループマッピングのフラッシュ変換レイヤを示すブロック図である。 本発明による論理フラッシュメモリ構造を示すブロック図である。 本発明によるページマッピング構造を示すブロック図である。 本発明によるブロックマッピング構造を示すブロック図である。 本発明によるハイブリッドマッピング構造を示すブロック図である。 本発明によるマージ動作を示すブロック図である。 本発明による複写−マージ方法を示すブロック図である。 本発明によるスワップ−マージ方法を示すブロック図である。 本発明による1:1マッピング構造を示すブロック図である。 本発明による1:2マッピング構造を示すブロック図である。 本発明による1:Nマッピング構造を示すブロック図である。 本発明によるN:M+Kマッピング構造を示すブロック図である。
符号の説明
100 メモリマッピングシステム
200 フラッシュメモリガートシステム
300 500 ハイブリッドマッピングシステム
400 マージ
600 グループマッピングのラッシュ変換レイヤ
700 論理フラッシュメモリ構造
800 ページマッピング構造
900 ブロックマッピング構造
1000 ハイブリッドマッピング構造

Claims (30)

  1. メモリマッピング方法に於いて、
    ホストから論理ユニット番号のための書込みデータが入力される段階と、
    複数のデータブロックグループの中で何れのものが前記論理ユニット番号を含むかを決定する段階と、
    前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納する段階とを含むことを特徴とするメモリマッピング方法。
  2. ユニットの大きさは、一番小さい書き込み可能なビット数であり、
    ブロックの大きさは、一番小さい消去可能なビット数および複数の多重書き込み可能なユニットの大きさであり、
    グループの大きさは、変更可能な多重消去ブロックのサイズであることを特徴とする請求項1に記載のメモリマッピング方法。
  3. ユニットは、バイト、ページ、セクタの中の少なくとも一つであることを特徴とする請求項1に記載のメモリマッピング方法。
  4. 前記論理ユニット番号と物理ユニット番号と間の関係は、ページマッピングテーブルに格納されることを特徴とする請求項1に記載のメモリマッピング方法。
  5. 前記ページマッピングテーブルは、複数の論理ユニット番号と夫々関連するデータグループ番号をさらに含むことを特徴とする請求項4に記載のメモリマッピング方法。
  6. 前記決定段階は、前記論理ユニット番号を前記複数のデータブロック数に割ることを根拠とする法演算を含むことを特徴とする請求項1に記載のメモリマッピング方法。
  7. 自由ブロックを前記ログブロックグループにあるログブロックに割り当てることにより、前記ログブロックグループを初期化する段階をさらに含むことを特徴とする請求項1に記載のメモリマッピング方法。
  8. 自由ブロックを前記ログブロックグループにある次のログブロックに割り当てることにより、前記ログブロックグループを拡張する段階をさらに含むことを特徴とする請求項7に記載のメモリマッピング方法。
  9. 複数の自由ブロックを前記ログブロックグループにある対応する複数のログブロックに割り当てる段階をさらに含むことを特徴とする請求項7に記載のメモリマッピング方法。
  10. 自由ブロックをログブロックに割り当てる段階をさらに含むことを特徴とする請求項1に記載のメモリマッピング方法。
  11. 前記割り当てる段階は、前記ログブロックをグループマッピングテーブルに登録する段階を含むことを特徴とする請求項10に記載のメモリマッピング方法。
  12. 前記グループマッピングテーブルの関連性は、夫々のグループに対するログブロックのための複数の物理ブロックであることを特徴とする請求項11に記載のメモリマッピング方法。
  13. 前記ログブロックは、前記データブロックグループ内にある全てのデータブロックのために使用されることを特徴とする請求項10に記載のメモリマッピング方法。
  14. 前記ホストから第2論理ユニット番号のための書き込み要求が入力される段階と、
    第2物理ユニット番号と関連する前記第2論理ユニット番号を前記ログブロックグループのログブロックに格納する段階とをさらに含むことを特徴とする請求項1に記載のメモリマッピング方法。
  15. 前記格納する段階は、前記論理ユニット番号のための新しいマッピング情報と関連するページマッピングテーブルをアップデータする段階を含むことを特徴とする請求項14に記載のメモリマッピング方法。
  16. 前記ログブロックが全て満たされているかを検査する段階をさらに含み、
    前記検査する段階から前記ログブロックが全て満たされた場合に、追加ログブロックを論理ユニット番号をさらに格納するための前記ログブロックグループに割り当ることを特徴とする請求項14に記載のメモリマッピング方法。
  17. 前記割り当てる段階は、前記追加ログブロックの物理ブロック番号のための新しいマッピング情報と関連するグループマッピングテーブルをアップデータする段階を含むことを特徴とする請求項16に記載のメモリマッピング方法。
  18. 前記ホストから第3論理ユニット番号のための書き込み要求が入力される段階と、
    第3物理ユニット番号と関連する第3論理ユニット番号を前記ログブロックグループに存在するログブロックに格納する段階とをさらに含むことを特徴とする請求項16に記載のメモリマッピング方法。
  19. 前記ホストから異なる論理ユニット番号のための書き込み要求信号が入力され、また異なる論理ユニット番号は、前記第1データブロックグループに含まれない段階と、
    異なる物理ユニット番号と関連する前記また異なる論理ユニット番号を異なるログブロックグループのログブロックに格納し、ページマッピングテーブルをアップデータする段階とを含むことを特徴とする請求項1に記載のメモリマッピング方法。
  20. 自由ブロックをログブロックに割り当てることにより、前記また異なる論理ユニット番号を含む異なるデータブロックグループに該当するまた異なるログブロックグループを生成する段階をさらに含むことを特徴とする請求項19に記載のメモリマッピング方法。
  21. 一つのログブロックは、データブロックグループ内の全てのデータブロックに割り当てられることを特徴とする請求項1に記載のメモリマッピング方法。
  22. ログブロックは、複数の物理ユニット番号を使用することを特徴とする請求項1に記載のメモリマッピング方法。
  23. 前記メモリはフラッシュメモリ、DRAM、PRAM、MRAM、FRAM、EEPROMの中の少なくとも一つを含むことを特徴とする請求項1に記載のメモリマッピング方法。
  24. 少なくとも一つのマッピングテーブルは、第1複数の使用者データブロックおよび第2複数のログブロックまたは書き込みバッファを第3複数の遅延されたマージブロックと関連する様に構成されることを特徴とする請求項1に記載のメモリマッピング方法。
  25. 前記第3複数の遅延されたマージブロックは、動的制御されることを特徴とする請求項24に記載のメモリマッピング方法。
  26. ログブロックの数は、論理ブロックの数と関連することを特徴とする請求項1に記載のメモリマッピング方法。
  27. ログブロックグループ当たりのログブロックの数は、一つより多いことを特徴とする請求項1に記載のメモリマッピング方法。
  28. ログブロックは、複数のデータブロックのための書き込みデータユニットを格納することを特徴とする請求項1に記載のメモリマッピング方法。
  29. メモリマッピングシステムに於いて、
    ホストから論理ユニット番号のための書き込みデータを受信するための入力装置と、
    複数のデータブロックグループの中の何れのグループが前記論理ユニット番号を含むかを決定するためのマッピング装置と、
    前記決定されたデータブロックグループに対応するログブロックグループの空いているログユニットに前記書き込みデータを格納するためのメモリ装置とを含むことを特徴とするメモリマッピングシステム。
  30. メモリマッピングシステムに於いて、
    少なくとも一つの論理ユニット−物理ユニットマップテーブルと、
    前記少なくとも一つのマップテーブルと信号通信する複数のデータユニットグループと、
    前記複数のデータユニットグループの中の対応する一つと夫々関連する複数のログユニットグループとを備え、
    前記複数のデータユニットグループの中の一つのグループ内にある何れのデータユニットのためのアップデータされたデータは、前記複数のログユニットグループの中の対応する一つのグループ内にある何れかのログユニットに格納されることを特徴とするメモリマッピングシステム。
JP2008023003A 2007-02-06 2008-02-01 メモリマッピング方法およびメモリマッピングシステム Pending JP2008192154A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070012198A KR100885181B1 (ko) 2007-02-06 2007-02-06 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US11/833,750 US20080189490A1 (en) 2007-02-06 2007-08-03 Memory mapping

Publications (1)

Publication Number Publication Date
JP2008192154A true JP2008192154A (ja) 2008-08-21

Family

ID=39677158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008023003A Pending JP2008192154A (ja) 2007-02-06 2008-02-01 メモリマッピング方法およびメモリマッピングシステム

Country Status (4)

Country Link
US (1) US20080189490A1 (ja)
JP (1) JP2008192154A (ja)
KR (1) KR100885181B1 (ja)
CN (1) CN101241474A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595412B2 (en) 2009-04-15 2013-11-26 Samsung Electronics Co., Ltd. Data storage device and data storage system including the same
JP2016021264A (ja) * 2015-10-23 2016-02-04 株式会社東芝 メモリシステムのデータ管理方法

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452912B2 (en) * 2007-10-11 2013-05-28 Super Talent Electronics, Inc. Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US20110179219A1 (en) * 2004-04-05 2011-07-21 Super Talent Electronics, Inc. Hybrid storage device
US20110145489A1 (en) * 2004-04-05 2011-06-16 Super Talent Electronics, Inc. Hybrid storage device
CN101241472B (zh) * 2008-03-07 2010-12-22 威盛电子股份有限公司 映射管理方法及系统
CN101251788A (zh) * 2008-03-07 2008-08-27 威盛电子股份有限公司 储存单元管理方法及系统
TWI385519B (zh) * 2008-04-18 2013-02-11 Phison Electronics Corp 資料寫入方法及使用此方法的快閃儲存系統與其控制器
TWI398770B (zh) * 2008-07-08 2013-06-11 Phison Electronics Corp 用於快閃記憶體的資料存取方法、儲存系統與控制器
KR101086857B1 (ko) * 2008-07-25 2011-11-25 주식회사 팍스디스크 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
KR101021364B1 (ko) * 2008-10-10 2011-03-14 한양대학교 산학협력단 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 멀티 플래시 메모리 관리방법 및 장치
US9128821B2 (en) 2008-10-10 2015-09-08 Seagate Technology Llc Data updating in non-volatile memory
KR101028929B1 (ko) * 2008-12-31 2011-04-12 성균관대학교산학협력단 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치
KR101581859B1 (ko) * 2009-02-27 2016-01-21 삼성전자주식회사 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
KR100994052B1 (ko) 2009-05-06 2010-11-11 성균관대학교산학협력단 플래시 변환 계층에서 수행되는 데이터 관리 방법 및 이를 수행하는 플래시 메모리 장치
US8364931B2 (en) * 2009-06-29 2013-01-29 Mediatek Inc. Memory system and mapping methods using a random write page mapping table
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
US8838878B2 (en) * 2010-06-01 2014-09-16 Greenliant Llc Method of writing to a NAND memory block based file system with log based buffering
US8341340B2 (en) 2010-07-21 2012-12-25 Seagate Technology Llc Multi-tier address mapping in flash memory
US9021215B2 (en) 2011-03-21 2015-04-28 Apple Inc. Storage system exporting internal storage rules
US9164887B2 (en) * 2011-12-05 2015-10-20 Industrial Technology Research Institute Power-failure recovery device and method for flash memory
CN102521144B (zh) * 2011-12-22 2015-03-04 清华大学 一种闪存转换层系统
KR20130084846A (ko) * 2012-01-18 2013-07-26 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
CN103778068A (zh) * 2012-10-24 2014-05-07 北京兆易创新科技股份有限公司 一种闪速存储器及访问闪速存储器数据的方法
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
KR101297442B1 (ko) * 2013-02-22 2013-08-16 서울과학기술대학교 산학협력단 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템
CN104102585B (zh) * 2013-04-03 2017-09-12 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
US9489300B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489294B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9117520B2 (en) * 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
US9489299B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9117514B2 (en) 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
KR102025180B1 (ko) 2013-08-08 2019-09-26 삼성전자주식회사 스토리지 시스템 및 그것의 쓰기 방법
US9390008B2 (en) 2013-12-11 2016-07-12 Sandisk Technologies Llc Data encoding for non-volatile memory
CN105917308B (zh) * 2014-01-22 2019-02-12 惠普发展公司,有限责任合伙企业 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器
KR102218712B1 (ko) 2014-02-11 2021-02-22 삼성전자주식회사 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
TWI512467B (zh) * 2014-09-02 2015-12-11 Silicon Motion Inc 實體儲存對照表維護方法以及使用該方法的裝置
KR102263800B1 (ko) * 2015-01-07 2021-06-10 에스케이텔레콤 주식회사 메모리제어장치 및 메모리제어장치의 동작 방법
TWI545433B (zh) 2015-03-04 2016-08-11 慧榮科技股份有限公司 實體儲存對照表維護方法以及使用該方法的裝置
CN105205009B (zh) * 2015-09-30 2018-05-11 华为技术有限公司 一种基于大容量固态存储的地址映射方法及装置
TWI537729B (zh) * 2015-10-15 2016-06-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10031845B2 (en) 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US10019198B2 (en) * 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
CN107544866B (zh) * 2016-06-29 2021-01-05 北京忆恒创源科技有限公司 一种日志更新方法与装置
CN113590504A (zh) * 2016-06-29 2021-11-02 北京忆恒创源科技股份有限公司 存储日志帧以及日志条目的固态硬盘
TWI641948B (zh) * 2017-07-27 2018-11-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
CN109388332A (zh) * 2017-08-04 2019-02-26 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置
CN107562644B (zh) * 2017-08-11 2021-02-09 记忆科技(深圳)有限公司 一种固态硬盘映射表的压缩方法
JP2019050066A (ja) * 2017-09-07 2019-03-28 株式会社東芝 ハードディスク装置および制御方法
CN109582593B (zh) * 2018-11-05 2022-09-30 华侨大学 一种基于计算的ftl地址映射读、写方法
TWI698744B (zh) * 2019-04-10 2020-07-11 慧榮科技股份有限公司 資料儲存裝置及邏輯至物理位址映射表之更新方法
CN110471861B (zh) * 2019-07-10 2022-02-11 华为技术有限公司 一种闪存设备中的数据存储方法及闪存设备
CN110727604B (zh) * 2019-08-26 2022-04-29 华为技术有限公司 一种数据处理方法及装置
KR20210049619A (ko) * 2019-10-25 2021-05-06 에스케이하이닉스 주식회사 분산 저장 시스템의 스토리지 노드 및 그 동작 방법
CN114168225B (zh) * 2021-12-08 2024-05-14 深圳忆联信息系统有限公司 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066790A1 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Management of non-volatile memory systems having large erase blocks
WO2005066970A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Robust data duplication and improved update method in a multibit non-volatile memory

Family Cites Families (8)

* 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
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
CN1926616B (zh) 2004-01-19 2011-09-14 特科2000国际有限公司 使用存储器地址映射表的便携式数据存储设备
KR100638638B1 (ko) * 2004-09-03 2006-10-26 명지대학교 산학협력단 플래시 메모리의 제어 방법
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
TW200705180A (en) * 2005-07-29 2007-02-01 Genesys Logic Inc Adjustable flash memory management system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066790A1 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Management of non-volatile memory systems having large erase blocks
WO2005066970A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Robust data duplication and improved update method in a multibit non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595412B2 (en) 2009-04-15 2013-11-26 Samsung Electronics Co., Ltd. Data storage device and data storage system including the same
JP2016021264A (ja) * 2015-10-23 2016-02-04 株式会社東芝 メモリシステムのデータ管理方法

Also Published As

Publication number Publication date
KR100885181B1 (ko) 2009-02-23
CN101241474A (zh) 2008-08-13
US20080189490A1 (en) 2008-08-07
KR20080073499A (ko) 2008-08-11

Similar Documents

Publication Publication Date Title
JP2008192154A (ja) メモリマッピング方法およびメモリマッピングシステム
US10657047B2 (en) Data storage device and method of performing partial garbage collection
US20080120488A1 (en) Apparatus and method of managing nonvolatile memory
US7844772B2 (en) Device driver including a flash memory file system and method thereof and a flash memory device and method thereof
KR101465789B1 (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
CN110781096B (zh) 用于通过预测需求时间来执行垃圾收集的设备和方法
US9753847B2 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US7890550B2 (en) Flash memory system and garbage collection method thereof
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
US8386746B2 (en) Storage unit management methods and systems
KR100823171B1 (ko) 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8438325B2 (en) Method and apparatus for improving small write performance in a non-volatile memory
US20100082917A1 (en) Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method
US20130103889A1 (en) Page-buffer management of non-volatile memory-based mass storage devices
US8521947B2 (en) Method for writing data into flash memory
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
KR101041837B1 (ko) 파일저장 제어장치 및 방법
KR20160106240A (ko) 반도체 장치 및 그 동작 방법
JP2021034091A (ja) メモリシステムおよび制御方法
JP2019148913A (ja) メモリシステム
JP2004326165A (ja) メモリ制御装置およびメモリ制御方法
KR20150139383A (ko) 반도체 장치
WO2020039927A1 (ja) 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
KR100982440B1 (ko) 단일 플래시 메모리의 데이터 관리시스템
US11921641B1 (en) Address translation for zoned namespace nonvolatile memory using a compacted logical-to-physical table

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130702