JP7667613B2 - フラッシュメモリに基づくssdの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法 - Google Patents

フラッシュメモリに基づくssdの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法 Download PDF

Info

Publication number
JP7667613B2
JP7667613B2 JP2024508776A JP2024508776A JP7667613B2 JP 7667613 B2 JP7667613 B2 JP 7667613B2 JP 2024508776 A JP2024508776 A JP 2024508776A JP 2024508776 A JP2024508776 A JP 2024508776A JP 7667613 B2 JP7667613 B2 JP 7667613B2
Authority
JP
Japan
Prior art keywords
data
pages
life span
block
flash memory
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
JP2024508776A
Other languages
English (en)
Other versions
JP2024538858A (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.)
UNIST Academy Industry Research Corp
Original Assignee
UNIST Academy Industry Research Corp
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 UNIST Academy Industry Research Corp filed Critical UNIST Academy Industry Research Corp
Publication of JP2024538858A publication Critical patent/JP2024538858A/ja
Application granted granted Critical
Publication of JP7667613B2 publication Critical patent/JP7667613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

本発明は、フラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法に関し、より詳しくは、最初作成時点から無効化時点までデータが作成された複数個のページがガーベジコレクション(Garbage Collection;GC)により任意のブロックから他のブロックへ移動される移動回数によって当該データが寿命別に分類されるフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法に関する。
SSD(Solid State Drive)は、複数のNANDフラッシュメモリが並列に接続して構成されたストレージ装置である。SSDは、機械的に動作するHDD(Hard Disk Drive)と異なり半導体基盤で動作するため、データ伝送速度とランダムな入出力の側面で性能が向上し、消費電力を下げることによって、最近サーバ、デスクトップ、ノート型コンピュータのストレージ装置として活用率がますます高まってきている。
SSDを構成しているNANDフラッシュメモリのクリティカルな特性としては、それぞれのセル毎に書き込み/消去回数に制限があり、元の保存場所への上書きができない。SLC(Single Level Cell)は、約10万回程度の回数制限、MLC(Multi Level Cell)は、約1万回の回数制限、TLC(Triple Level Cell)は、約1千回の制限がある。もし、制限された回数を超えると、当該セルは正常な動作が行われない。また、NANDフラッシュメモリは、HDDとは異なり元の保存場所への上書きができないため、空きページにのみ書き込み演算が可能である。
SSDでの有効データと無効データは、SSDの書き込み・消去演算で生成される。有効データの発生は、SSDに入力データが保存されると、書き込み演算によって生成され、無効データは、有効データの更新および削除で発生する。無効データは、ガーベジコレクション(Garbage Collection;GC)が発生して完全に消去されるまで維持され、ガーベジコレクションのプロセス後に無効データが占めた空間は空き空間となる。
ここで、ガーベジコレクション(GC)は、NANDフラッシュメモリにおけるブロックの無効データを消去演算して空きブロックにするプロセスである。ガーベジコレクション(GC)演算は、SSDの元の保存場所への上書きができないという特性を補完するが、速度が遅い消去(Erase)演算のため、SSDの入出力(I/O)の速度を遅くする原因である。
近年、SSDの性能改善のために、ガーベジコレクション(GC)を解決するためにHot/Coldまたは意味論的分類方法に関する研究が行われたが、前記分類方法は、データ分類のための追加データ構造又はインターフェースの修正が必要な限界がある。したがって、別途のメモリ消費や指定されたインターフェースがなくてもデータを分類してガーベッジコレクション(GC)の問題を解決することができる技術が必要な実情である。
本発明は、前記したような問題点を解決するためになされたもので、ガーベッジコレクション(GC)の消去演算の速度を向上させることができるとともにSSDの入出力(I/O)の速度が向上して、SSDの性能を改善することができるように最初作成時点から無効化時点までデータが作成された複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動される前記移動回数によって当該データが寿命別に分類されるフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法を提供することを目的とする。
また、本発明は、別途のメモリ消費や指定されたインターフェースなしに、SSDのソフトウェアレベルで実現し得るように複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックに移動されるとともに、前記複数個のページの一側に備えられた追加空間であるOOB部に移動回数が保存されるフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法を提供することを目的とする。
前記目的を達成するために、本発明のフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法は、コンピュータシステムに搭載されたソフトウェアによって、フラッシュメモリに基づくSSDにおいて最初作成時点から消去または上書きされる無効化時点までデータが作成された複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動される移動回数がそれぞれ追跡される移動回数追跡段階と、前記ソフトウェアにより、前記複数個のページの中で前記移動回数が同一の少なくとも1個のページが、1つ以上のブロックにグループ化されて分類群が形成される分類群形成段階と、を含む。
以上のように本発明によれば、最初作成時点から無効化時点までデータが作成された複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動される移動回数によって当該データが寿命別に分類されることによって、コールドデータ(Cold Data)を除くデータが作成されたページを含むブロックが別途のコピーのプロセスなしに消去処理されることができる。これにより、ガーベジコレクション(GC)の消去演算の速度を向上させることができるとともに、SSDの入出力(I/O)の速度が向上して、SSDの性能を改善することができるという効果がある。
また、本発明は、複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックに移動されるとともに、前記複数個のページの一側に備えられた追加空間であるOOB部に前記移動回数が保存されるように備えることにより、別途のメモリ消費や指定されたインターフェースなしに、SSDのソフトウェアレベルで具現することができるという効果がある。
本発明のフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法のフローチャートである。 従来のガーベッジコレクション(GC)を示す図である。 従来のデータが分類されていない場合(a)と、本発明の一実施形態に係るものであって、移動回数によってデータが寿命別に分類された場合(b)とを示した図である。 本発明の一実施形態に係る分類群形成段階を示す図である。
本明細書で使用される用語は、本発明での機能を考慮しながら、できるだけ現在広く使用される一般的な用語を選択したが、これは当業者の意図又は判例、新たな技術の出現などによって変わることができる。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する発明の説明部分で詳細にその意味を記載する。したがって、本発明で使用される用語は、単純な用語の名称ではなく、その用語が持つ意味及び本発明の全般にわたる内容に基づいて定義される。
他に定義されない限り、技術的または科学的な用語を含めてここで用いられる全ての用語は、本発明の属する技術分野における通常の知識を有する者によって一般的に理解されるものと同一の意味を有している。一般的に使用される辞書上に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈され、本出願で明白に定義しない限り、理想的または過度に形式的な意味に解釈されない。
以下、添付の図面を参照して本発明による実施形態を詳細に説明する。図1は、本発明のフラッシュメモリに基づくSSD100の性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法のフローチャートである。図2は、従来のガーベッジコレクション(GC)を示す図である。図3は、従来のデータが分類されていない場合(a)と、本発明の一実施形態に係るものであって、移動回数によってデータが寿命別に分類された場合(b)とを示した図である。図4は、本発明の一実施形態に係る分類群形成段階S200を示す図である。
一般に、フラッシュメモリ(Flash Memory)は、複数個のページ(page)を含むブロック(Block)と、複数のブロックを含むプレーン(plane)と、複数のプレーンを含むダイ(Die)とで構成される。そして、フラッシュメモリ(Flash Memory)における、読み出し、書き込みコマンドは、ページ(page)単位で遂行されることができることに対し、データ消去は、ページの上位単位であるブロック(Block)単位でのみ可能である。
また、一般に、ガーベジコレクション(GC)は、ブロック消去前にブロック内の内部有効データを含むページを他のブロックに移すプロセスである。より具体的に、図2(a)を見れば、ガーベッジコレクション(GC)が使用されて、既に無効化済みのデータの無効データと、まだ無効化処理されていない有効データがブロック1に一緒に作成されている。ブロック2は、データのない空きページを含んでいる。
ここで、図2(b)を参照すると、前記有効データのみがブロック2にコピーされ、ブロック1でコピー済みの有効データは、無効化処理される。そして、図2(c)を参照すると、ブロック1にすべて無効データのみが含まれているので、ブロック1を再使用できるように、ブロック単位で消去処理する。
ただし、従来のガーベジコレクション(GC)は、有効データのみで構成されたブロック2に無効化が最も容易な、つまり、より頻繁に更新されるホットデータ(Hot Data)と、コールドデータ(Cold Data)よりも無効化が容易なクールデータ(Cool Data)と、無効化が最も容易でないコールドデータ(Cold Data)とが、未分類のまま一緒に作成されている。
より具体的に、図3(a)に示されたブロック2およびブロック3には、無効化が容易な程度によって、温度で表されたホットデータ(Hot Data)と、クールデータ(Cool Data)と、コールドデータ(Cold Data)とが未分類のまま一緒に作成されており、ホットデータ(Hot Data)およびクールデータ(Cool Data)が全て無効化処理された後、ブロック2とブロック3にコールドデータ(Cold Data)がそれぞれ分散されて作成されている。
すなわち、ブロックを再利用するためには、分散されたコールドデータ(Cold Data)をブロック2とブロック3のうちの1つにコピーおよびマージする過程が追加されなければならない。これにより、従来のガーベジコレクション(GC)は、データの無駄なコピーが継続されることにより消去動作が遅くなり、かつSSDの入出力(I/O)の速度が遅くなり、SSDの性能を改善するには限界が存在する。
しかし、本発明は、前記移動回数追跡段階S100及び分類群形成段階S200によって、結果的に図3(b)のように無効化が最も容易でないコールドデータ(Cold Data)を含むページのみで構成されたブロック2が形成され、ブロック3は別途の有効データのコピーのプロセスを経ることなく直ちにブロック再利用のための消去処理が可能である。従って、ガーベジコレクション(GC)の消去演算の速度を向上させることができるとともにSSD100の入出力(I/O)の速度が向上して、SSD100の性能の改良に顕著な効果がある。
これを具現するにあたり、まず図1を参照すると、本発明のフラッシュメモリに基づくSSD100の性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法は、移動回数追跡段階100と分類群形成段階S200とを含む。
本発明は、ファームウェアまたはフラッシュメモリを管理する構成によって、オペレーティングシステム内のソフトウェアによって具現することができる。
より具体的に、前記移動回数追跡段階100は、コンピュータシステム200に搭載されたソフトウェア210により、フラッシュメモリに基づくSSD(Solid State Drive)100で最初作成時点から消去または上書きされる無効化時点までデータが作成された複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動される移動回数がそれぞれ追跡される。
ここで、移動回数は、複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックに移動されるとともに、前記複数個のページの一側に備えられた追加空間であるOOB(Out-of-Band)部110に保存されることができる。
すなわち、前記最初作成時点に前記移動回数は0であり、複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動されるたびに前記移動回数が1ずつ増加した数字が保存されることができる。例えば、図4を参照すると、灰色に前記複数個のページの一側にそれぞれ備えられた追加空間であるOOB部110が表示されている。また、複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動されるたびに0、1、2、3に1ずつ増加した数字が保存されたことを確認することができる。
次に、前記分類群形成段階S200は、前記ソフトウェア210によって、前記複数個のページのうち前記移動回数が同一の少なくとも1個のページが、1つ以上のブロックにグループ化されて分類群が形成される。
すなわち、複数個のページの中で前記移動回数が同一の少なくとも1個のページが1つのブロック内で収容可能なページの数だけグループ化されると、残りのページが他のブロックが収容可能なページの数だけさらにグループ化される。これにより、前記移動回数が同一のブロックが一つ以上であり、これらの1つ以上のブロックを分類群に形成することができる。
図4をたとえて説明すると、前記移動回数が0であるページが20個以上であり、複数のブロックは4個のページのみを収容することができる。従って、前記分類群形成段階S200は、前記移動回数が0である4個のページを一つのブロックにグループ化してもよく、このようなブロックを5つ以上形成してもよい。そして、前記移動回数が0である4個のページをそれぞれ含む、5つ以上のブロックを「分類群0」に形成することができる。また、前記分類群形成段階S200は、前記移動回数が1である4個のページを一つのブロックにグループ化してもよく、このようなブロックを3つ以上形成してもよい。そして、前記移動回数が1である4個のページをそれぞれ含む、3つ以上のブロックは「分類群1」に形成することができる。
また、前記分類群形成段階S200は、前記移動回数が2である6個のページを4つずつ、2つずつグループ化してもよく、これを含むブロックを2つ形成してもよい。そして、前記移動回数が2であるページをそれぞれ含む2つのブロックは「分類群2」に形成することができる。最後に、前記分類群形成段階S200は、前記移動回数が3である2個のページを一つのブロックにグループ化してもよく、このようなブロックを1つ形成してもよい。そして、前記移動回数が3であるページを含む1つのブロックは「分類群3」に形成することができる。
ここで、前記分類群形成段階S200は、前記OOB部110がnビット(bit)単位を基準とすると、2個の前記分類群を形成することができ、前記移動回数が2-1回以上の前記少なくとも1個のページに作成されたデータを、無効化が最も容易でないコールドデータ(Cold Data)に分類することができる。ここで、nは正の整数である。
例えば、前記OOB部110が2ビット(bit)単位を基準にすると、4個の分類群を形成することができ、前述したように分類群0、分類群1、分類群2、分類群3を形成することができる。そして、それぞれの分類群は順に移動回数として0、1、2、3を有することができる。また、前記分類群形成段階S200は、前記移動回数が3回以上である前記分類群3に含まれたブロック内の少なくとも1個のページに作成されたデータを、無効化が最も容易でないコールドデータ(Cold Data)に分類することができる。
次に、本発明は、前記ソフトウェア210によって、前記移動回数によって前記複数個のページに作成されたデータが分類されるデータ分類段階S300をさらに含むことができる。
つまり、前記データ分類段階S300は、前記分類群形成段階S200から「分類群0’」に形成され、前記移動回数が0である少なくとも1個のページに作成されたデータを、無効化が最も容易なホットデータ(Hot Data)に分類することができる。そして、「分類群1」に形成されて前記移動回数が1である少なくとも1個のページに作成されたデータを、前記ホットデータ(Hot Data)に次いで無効化が容易なウォームデータ(Warm Data)に分類することができる。そして、「分類群2」に形成されて前記移動回数が2である少なくとも1個のページに作成されたデータを、ウォームデータ(Warm Data)に次いで無効化が容易なクールデータ(Cool Data)に分類することができる。
ただし、前記した分類群は、2ビットを基準に作成したので、前記移動回数によって4個のデータの寿命を温度範囲に比例してデータを分類することができ、さらに、前記OOB部110が3ビット以上で作成する場合には、少なくとも8個のデータ寿命を温度範囲でさらに細分化してデータを分類することができるので、特定の温度範囲に限定されない。
ここで、データ寿命は、フラッシュメモリ基盤SSD(Solid State Drive)100で最初作成時点から消去または上書きされる無効化時点までデータが作成された量を指す。すなわち、前記データ寿命が短いほど前記ホットデータ(Hot Data)に近く、無効化が容易なものに属すると言え、データ寿命が長いほど前記コールドデータ(Cold Data)に近く、無効化が容易でないものに属すると言える。
したがって、図3(b)のように本発明は、複数のデータを、無効化が最も容易でないコールドデータ(Cold Data)のみを含むブロックと、そうでないブロックとに分類することができる。そして本発明は、コールドデータ(Cold Data)を除く、データを含むブロックが、個別のコピーのプロセスなしに消去処理され、前記コールドデータ(Cold Data)のみが有効データで作成され、別途のコピーのプロセスを経ることなく空きページを有するブロックを消去処理することができるという顕著な効果がある。
また、本発明は、複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックに移動されるとともに、前記複数個のページの一側に備えられた追加空間であるOOB部110に前記移動回数が保存されるように備えることにより、別途のメモリ消費や指定されたインターフェースなしに、SSD100のソフトウェアレベルで具現でき、データを前記のように分類してガーベッジコレクション(GC)の消去演算の速度低下の問題を解決することができるという顕著な効果がある。
以上のように、実施形態を限定された実施例と図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記の記載から様々な修正及び変形が可能である。例えば、開示の技術が、説明された方法とは異なる順序で遂行されるか、および/または説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられたり、他の構成要素またはその等価物によって代替又は置換されたりしても適切な結果を達成することができる。
したがって、他の具現例、他の実施例及び特許請求の範囲と均等なものも後述する特許請求の範囲の範囲内に属するものである。

Claims (4)

  1. コンピュータシステムに搭載されたソフトウェアによって、フラッシュメモリに基づくSSD(Solid State Drive)において、最初作成時点から消去または上書きされる無効化時点までデータが作成された複数個のページがガーベジコレクション(Garbage Collection;GC)により任意のブロックから他のブロックへ移動される移動回数がそれぞれ追跡される移動回数追跡段階と、
    前記ソフトウェアにより、前記複数個のページの中で前記移動回数が同一の少なくとも1個のページが、1つ以上のブロックにグループ化されて分類群が形成される分類群形成段階と、を含み、
    前記移動回数は、
    複数個のページがガーベッジコレクション(GC)によって任意のブロックから他のブロックに移動されるとともに、前記複数個のページの一側に備えられた追加空間であるOOB(Out-of-Band)部に保存される
    ことを特徴とするフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法。
  2. 前記分類群形成段階は、
    前記OOB部がnビット(bit)単位を基準とすると、2n個の前記分類群を形成することができ、
    前記移動回数が2-1回以上の前記少なくとも1個のページに作成されたデータを、無効化が最も容易でないコールドデータ(Cold Data)に分類する
    請求項1に記載のフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法。(ここで、nは正の整数である。)
  3. 前記ソフトウェアにより、前記移動回数によって前記複数個のページに作成されたデータが分類されるデータ分類段階をさらに含む
    請求項1に記載のフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法。
  4. 前記移動回数は、
    前記最初の作成時点に0であり、前記ガーベッジコレクション(GC)によって任意のブロックから他のブロックへ移動されるたびに1ずつ増加され、
    前記データ分類段階は、
    前記移動回数が0である少なくとも1個のページに作成されたデータを、無効化が最も容易なホットデータ(Hot Data)に分類し、前記移動回数が最も多い少なくとも1個のページに作成されたデータを、無効化が最も容易でないコールドデータ(Cold Data)に分類する
    請求項3に記載のフラッシュメモリに基づくSSDの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法。
JP2024508776A 2021-08-13 2021-11-16 フラッシュメモリに基づくssdの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法 Active JP7667613B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020210107014A KR102721998B1 (ko) 2021-08-13 2021-08-13 플래시 메모리 기반 ssd의 성능과 수명 개선을 위한 데이터 이동횟수에 따른 수명별 데이터 분류방법
KR10-2021-0107014 2021-08-13
PCT/KR2021/016802 WO2023017914A1 (ko) 2021-08-13 2021-11-16 플래시 메모리 기반 ssd의 성능과 수명 개선을 위한 데이터 이동횟수에 따른 수명별 데이터 분류방법

Publications (2)

Publication Number Publication Date
JP2024538858A JP2024538858A (ja) 2024-10-24
JP7667613B2 true JP7667613B2 (ja) 2025-04-23

Family

ID=85200820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024508776A Active JP7667613B2 (ja) 2021-08-13 2021-11-16 フラッシュメモリに基づくssdの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法

Country Status (5)

Country Link
US (1) US12541303B2 (ja)
EP (1) EP4386563B1 (ja)
JP (1) JP7667613B2 (ja)
KR (1) KR102721998B1 (ja)
WO (1) WO2023017914A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120131579A (ko) 2011-05-26 2012-12-05 에스코어 주식회사 플래시 파일 시스템
JP2017111476A (ja) 2015-12-14 2017-06-22 株式会社東芝 メモリシステムおよび制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135955A1 (ja) * 2015-02-27 2016-09-01 株式会社日立製作所 不揮発性メモリデバイス
US9851926B2 (en) * 2015-06-02 2017-12-26 Quantum Corporation Log structured block device for hard disk drive
US10133770B2 (en) * 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
KR20180065075A (ko) * 2016-12-06 2018-06-18 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
KR101880190B1 (ko) 2017-03-20 2018-07-20 성균관대학교산학협력단 Ssd 컨트롤러 및 ssd 컨트롤러에 의해 수행되는 블록 속성 지정 방법
US11188456B2 (en) * 2017-03-21 2021-11-30 Western Digital Technologies Inc. Storage system and method for predictive block allocation for efficient garbage collection
JP6443571B1 (ja) 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CN108920107B (zh) * 2018-07-13 2022-02-01 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
KR102795754B1 (ko) 2018-11-16 2025-04-15 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템
KR102835407B1 (ko) * 2019-03-28 2025-07-18 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11449480B2 (en) * 2019-10-31 2022-09-20 EMC IP Holding Company LLC Similarity hash for binary data pages
KR20210099930A (ko) * 2020-02-05 2021-08-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20220069543A (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템
US11500775B2 (en) * 2021-02-24 2022-11-15 Macronix International Co., Ltd. File system management in memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120131579A (ko) 2011-05-26 2012-12-05 에스코어 주식회사 플래시 파일 시스템
JP2017111476A (ja) 2015-12-14 2017-06-22 株式会社東芝 メモリシステムおよび制御方法

Also Published As

Publication number Publication date
KR20230025043A (ko) 2023-02-21
EP4386563B1 (en) 2026-01-28
EP4386563A1 (en) 2024-06-19
US20240231634A1 (en) 2024-07-11
WO2023017914A1 (ko) 2023-02-16
US12541303B2 (en) 2026-02-03
JP2024538858A (ja) 2024-10-24
EP4386563A4 (en) 2025-08-20
KR102721998B1 (ko) 2024-10-24

Similar Documents

Publication Publication Date Title
KR101533744B1 (ko) 플래시 메모리 시스템 및 그것의 플래시 변환 계층 설계 방법
Chang On efficient wear leveling for large-scale flash-memory storage systems
CN110998550B (zh) 存储器寻址
Sun et al. A hybrid solid-state storage architecture for the performance, energy consumption, and lifetime improvement
CN101408880B (zh) 使用分割文件元数据的文件管理方法和装置
US9158671B2 (en) Nonvolatile memory system with migration manager
EP3926451B1 (en) Communication of data relocation information by storage device to host to improve system performance
US10296250B2 (en) Method and apparatus for improving performance of sequential logging in a storage device
KR20090017238A (ko) 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
TW201917581A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
US20200073591A1 (en) Flash memory controller and associated accessing method and electronic device
TWI718710B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
JP7667613B2 (ja) フラッシュメモリに基づくssdの性能と寿命を改善するためのデータ移動回数による寿命別データ分類方法
Chen et al. Co-optimizing storage space utilization and performance for key-value solid state drives
US20240232032A1 (en) Stream temperature interleave monitor
CN115048056B (zh) 基于页面替换代价的固态硬盘缓冲区管理方法
Kwon et al. Hybrid associative flash translation layer for the performance optimization of chip-level parallel flash memory
US12141077B1 (en) Firmware management of least recently used memory for cache hint optimization
KR102719939B1 (ko) 읽기 성능 개선을 위한 LightNVM의 데이터 저장 방법 및 그 장치
Park et al. Integrated write buffer management for solid state drives
KR102957768B1 (ko) 스트림 분류 번호에 따른 데이터 분류 스토리지 장치 및 그 동작 방법
Jung et al. F2FS Filesystem Optimization for LSM Tree-based Key-value Store in ZNS SSD
Khanbadr et al. The SBM: A victim block selection method based on min-heap priority queues

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250404

R150 Certificate of patent or registration of utility model

Ref document number: 7667613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150