JP6538940B2 - 不揮発性メモリの制御方法 - Google Patents
不揮発性メモリの制御方法 Download PDFInfo
- Publication number
- JP6538940B2 JP6538940B2 JP2018138742A JP2018138742A JP6538940B2 JP 6538940 B2 JP6538940 B2 JP 6538940B2 JP 2018138742 A JP2018138742 A JP 2018138742A JP 2018138742 A JP2018138742 A JP 2018138742A JP 6538940 B2 JP6538940 B2 JP 6538940B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- write
- block
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
[第1の実施形態]
本実施形態においては、ガベージコレクションを実行するメモリ領域を選択するメモリシステムについて説明する。
本実施形態において、メモリ領域は、例えば、ガベージコレクションの実行単位で区分けされた領域である。例えば、ガベージコレクションの実行単位とは、ガベージコレクションの実行対象となるメモリの範囲である。より具体的には、ガベージコレクションの実行単位とは、1回のガベージコレクションで不要な領域の解放が実行される対象となる範囲である。例えば、ガベージコレクションの実行単位は、複数の書き込み単位領域を含む1つ又は複数の消去単位領域としてもよい。本実施形態においては、メモリ領域がブロックであるとして説明する。しかしながら、メモリ領域は、例えば2以上のブロックを含むなど、他の単位としてもよい。例えば、不揮発性メモリ5が複数のネームスペースに分割されている場合、各メモリ領域は、各ネームスペースに対応するとしてもよい。本実施形態において、ネームスペースとは、不揮発性メモリ5に含まれる複数のブロックを任意に区分けすることによって得られるメモリのスペースである。コントローラ4は、ネームスペースIDを用いて不揮発性メモリ5に対する各種の制御を行うことにより、不揮発性メモリ5における特定のスペースのみを制御可能である。
情報処理システム1は、情報処理装置2とメモリシステム3とを含む。本実施形態において、情報処理装置2は、メモリシステム3に対応するホスト装置として動作する。
メモリシステム3は、情報処理装置2に内蔵されてもよく、情報処理装置2とメモリシステム3とは、ネットワークなどにより通信可能に接続されるとしてもよい。メモリシステム3は、複数の情報処理装置2と通信可能に接続されてもよい。また、複数のメモリシステム3が、1以上の情報処理装置2と通信可能に接続されてもよい。
メモリシステム3は、コントローラ4と不揮発性メモリ5とを含む。
コントローラ4は、インタフェース部6、記憶部7A、7B、プロセッサ8、メモリコントローラ9を含む。コントローラ4は、例えば、情報処理装置2との間でデータ、情報、信号、コマンド、アドレスなどを送受信するためのインタフェースに依存する部分であるフロントエンドと、当該インタフェースに依存しないバックエンドとに分けられるとしてもよい。この場合、例えば、フロントエンドは、インタフェース部6を含む。例えば、バックエンドは、記憶部7A,7B、プロセッサ8、メモリコントローラ9を含む。
記憶部7Aは、プロセッサ8が実行するプログラム71、アドレス変換データ72、順序情報73、データ量情報74、しきい値情報75を格納する。なお、プログラム71、アドレス変換データ72、順序情報73、データ量情報74、しきい値情報75の一部又は全部は、プロセッサ8内のメモリなどのような他のメモリに格納されてもよく、不揮発性メモリ5に書き込まれていてもよい。プログラム71は、例えば、ファームウェア、アプリケーションプログラム、又は、オペレーティングシステムとしてもよい。アドレス変換データ72は、情報処理装置2から受信された書き込みデータの論理アドレスと記憶部7B又は不揮発性メモリ5の物理アドレスとを関係付けている。アドレス変換データ72は、例えばLUT(Look Up Table)である。アドレス変換データ72は、テーブル形式のデータ構造を持つとしてもよく、リスト構造により論理アドレスと物理アドレスとを関連付けてもよい。
ライトバッファメモリWBは、情報処理装置2から受信された書き込みデータを一時的に格納する。ガベージコレクションバッファメモリGBは、後述するガベージコレクションの際にデータ(有効データ)を一時的に格納する。
記憶部7Bは、揮発性メモリでもよく、不揮発性メモリでもよく、不揮発性メモリと揮発性メモリとの組み合わせでもよい。
また、書き込み部81は、不揮発性メモリ5への書き込みに適したデータ量の書き込みデータがライトバッファメモリWBに格納されると、ライトバッファメモリWBのデータをメモリコントローラ9経由で不揮発性メモリ5へ書き込む。
また、アドレス変換部82は、ライトバッファメモリWBのデータが不揮発性メモリ5に書き込まれた場合に、当該データの論理アドレスと、当該データが書き込まれた不揮発性メモリ5の物理アドレスとを関係付けて、アドレス変換データ72を更新する。
さらに、アドレス変換部82は、ガベージコレクションによって不揮発性メモリ5のデータが移動した場合に、移動したデータの論理アドレスと、ガベージコレクションによる移動先の物理アドレスとを関係付けて、アドレス変換データ72を更新する。
より具体的に説明すると、有効データとは、例えば、アドレス変換データ72によって参照されるデータである。有効データの一例としては、書き込みコマンドとともに論理アドレス及び当該論理アドレスに対応する書き込みデータが情報処理装置2からメモリシステム3に受信された後、情報処理装置2から同一の論理アドレスを指定した上書きコマンドが受信されていないデータがある。換言すると、例えば、同じ論理アドレスに対応するデータが複数位置に格納又は書き込まれている場合に、最新のデータが有効データであるとする。
例えば、選択部86は、各ブロックB0〜BNのしきい値から各ブロックB0〜BNの有効データ量を引いた値を計算し、ブロックB0〜BNごとに計算された値のうち最も大きい値に対応するブロックをガベージコレクション対象のブロックとして選択してもよい。
選択部86は、1つのブロックを選択してもよく、複数のブロックを選択してもよい。
順序情報73は、ブロックB0〜BNの識別情報と、書き込み順序を示す昇順のシーケンシャルな番号とを関連付けている。
この図2では、ブロックB0〜BNの順で書き込みが実行され、ブロックB0に番号Kが関連付けられており、ブロックB1に番号K+1が関連付けられており、ブロックBNに番号K+Nが関連付けられている。
また、最大の番号K+NとブロックB0に関連付けられている番号Kとの差はNであり、最大の番号K+NとブロックB1に関連付けられている番号K+1との差はN−1であり、差の大きいブロックB0が、差の小さいブロックB1の前に書き込まれたことを認識可能である。
データ量情報74は、各ブロックB0〜BNの識別情報と、各ブロックB0〜BNの有効データ量(有効データの合計サイズ)Z0〜ZNとを関連付けている。書き込み順序が前のブロックほど、有効データ量は小さくなる傾向にある。
しきい値情報75は、各ブロックB0〜BNの識別情報と、有効データ量Z0〜ZNと比較されるしきい値TH0〜THNとを関連付けている。しきい値TH0〜THNは、書き込み順序が前のブロックに関連付けられるしきい値ほど大きく、書き込み順序が後のブロックに関連付けられるしきい値ほど小さくなるように、設定される。本実施形態においては、ブロックB0〜BNの順で書き込みが実行されているため、ブロックB0〜BNに対応するしきい値は、TH0>TH1>TH2>…>THNの関係を持つ。しかしながら、しきい値TH0〜THNのうちの一部は、等しい値でもよい。
この図5においては、ブロックB0〜BNの順に書き込みが実行されている。書き込み順序が後のブロックほど書き込み順序が前のブロックよりも有効データ量が多い傾向にあるが、有効データ量はメモリシステム3の使用状況に影響される。したがって、部分的には、書き込み順序が前のブロックであっても書き込み順序が後のブロックよりも有効データ量が多い場合もある。
この図5では、ブロックB0〜B3において、有効データ量Z0〜Z3がしきい値TH0〜TH3よりも小さい。そこで、ブロックB0〜B3に対して、各ブロックB0〜B3のしきい値TH0〜TH3から各ブロックB0〜B3の有効データ量Z0〜Z3を引き算した値(差)D0〜D3を計算する。
したがって、図5のような関係を持つ場合には、ブロックB1がガベージコレクション対象のブロックとして選択される。
ステップ601において、選択部86は、記憶部7Aの順序情報73、データ量情報74、しきい値情報75を読み出す。
ステップ602において、選択部86は、各ブロックB0〜BNのしきい値TH0〜THNと各ブロックB0〜BNの有効データ量Z0〜ZNとを比較する
ステップS603において、選択部86は、有効データ量がしきい値よりも小さいブロックがあるか否か判断する。
有効データ量がしきい値よりも小さいブロックがある場合、ステップ604において、選択部86は、有効データ量がしきい値よりも小さいブロックに対して、有効データ量からしきい値を引き算した値を計算する。
ステップ606において、ガベージコレクション部87は、選択されたブロックの有効データを、メモリコントローラ9経由で読み出し、読み出された有効データをガベージコレクションバッファメモリGBに格納する。
ステップ608において、ガベージコレクション部87は、メモリコントローラ9経由で、不揮発性メモリ5のいずれかのブロックに、ガベージコレクションバッファメモリGBのデータを、書き込む。
例えば、書き込み順序が前であっても有効データの多いブロックに対してガベージコレクションを実行すると、移動が必要なデータ量が多くなり、ガベージコレクションが効率的に実行されない場合がある。
しかしながら、本実施形態においては、書き込み順序がある程度前であり、かつ、有効データ量の少ないブロックに対して、ガベージコレクションを実行することができ、メモリシステム3の使用状態に応じてガベージコレクションの効率化を図ることができる。
本実施形態では、ブロックB0〜BNに対する書き込み順序に応じてしきい値が設定される場合を説明したが、例えば、ブロックB0〜BNごとの最後の書き込みが発生してからの経過時間に応じてしきい値が設定されるとしてもよい。この場合、書き込みが発生してからの経過時間が長いほど、しきい値が大きくなる。
本実施形態においては、上記第1の実施形態で説明した情報処理システム1の具体的構成の例について説明する。
図7は、本実施形態に係る情報処理システム1の具体的構成の一例を示すブロック図である。
情報処理システム1は、情報処理装置2とメモリシステム3とを含む。
上記第1の実施形態に係るメモリシステム3のプロセッサ8は、例えば、CPU(Central Processing Unit)43F,43Bに対応する。
記憶部7Aは、DRAM47に対応する。
アドレス変換データ72は、LUT45に対応する。
メモリコントローラ9は、NANDC(NAND Controller)50に対応する。
メモリシステム3のコントローラ4は、フロントエンドFEと、バックエンドBEとを備える。
フロントエンド(ホスト通信部)FEは、ホストインタフェース41、ホストインタフェースコントローラ42、暗号化/復号化部(Advanced Encryption Standard (AES))44、及びCPU43Fを備える。
ホストインタフェースコントローラ(制御部)42は、CPU43Fの制御に基づいて、上記ホストインタフェース41の通信を制御する。
バックエンド(メモリ通信部)BEは、ライトバッファメモリWB、ガベージコレクションバッファメモリGB、リードバッファメモリRB、LUT45、DDRC46、DRAM47、DMAC48、ECC49、ランダマイザRZ、NANDC50、及びCPU43Bを備える。
LUT45は、論理アドレスLBAを物理アドレスPBAに変換するためのテーブルである。
DDRC46は、DRAM47におけるDDR(Double Data Rate)を制御する。
DMAC(Direct Memory Access Controller)48は、内部バスIBを介して、書き込みデータや読み出しデータなどを転送する。図7においては1つのDMAC48が図示されているが、コントローラ4は、2以上のDMAC48を備えるとしてもよい。DMAC48は、必要に応じて、コントローラ4内の様々な位置に設定される。
CPU43Bは、バックエンドBEの上記各構成(45〜50,RZ)を制御し、バックエンドBEの全体の動作を制御する。
図8は、本実施形態に係るストレージシステムの一例を示す斜視図である。
ストレージシステム100は、SSDとしてのメモリシステム3を備える。
メモリシステム3は、例えば比較的小型のモジュールである。なお、メモリシステム3の大きさ及び寸法は、種々の大きさのものに適宜変更可能である。
以上説明したように、本実施形態で説明した構成を持つ情報処理システム1及びストレージシステム100においては、大容量の記憶に、上記第1の実施形態と同様の効果を得ることができる。
Claims (6)
- 不揮発性メモリの制御方法であって、
前記不揮発性メモリを制御するコントローラが、前記不揮発性メモリに含まれる複数のメモリ領域ごとの有効データのデータ量を検出することと、
前記コントローラが、前記複数のメモリ領域ごとに、前記複数のメモリ領域の書き込み順序又は書き込みからの経過時間に応じて変化するしきい値を設定することと、
前記コントローラが、前記複数のメモリ領域ごとの前記データ量と前記しきい値とに基づいて、前記データ量が前記しきい値より小さいメモリ領域を選択することと、
前記コントローラが、選択された前記メモリ領域の有効データを他のメモリ領域に移動し、選択された前記メモリ領域を消去することと、
を具備する方法。 - 前記コントローラは、
前記複数のメモリ領域の前記書き込み順序又は前記書き込みからの経過時間を示す順序情報を管理し、
前記順序情報に基づいて、前記複数のメモリ領域のうちの第1のメモリ領域のしきい値を、前記第1のメモリ領域よりも後に書き込まれた前記複数のメモリ領域のうちの第2のメモリ領域のしきい値より大きくなるように設定する、
請求項1の方法。 - 前記コントローラは、前記複数のメモリ領域ごとに前記しきい値から前記データ量を引いた値を計算し、前記値が最も大きいメモリ領域を選択する、
請求項2の方法。 - 前記コントローラは、前記複数のメモリ領域ごとに前記しきい値から前記データ量を引いた値を計算し、前記値が設定値以上のメモリ領域を選択する、
請求項2の方法。 - 前記順序情報は、前記複数のメモリ領域ごとに書き込み順序を示す昇順の番号を割り当てた情報である、
請求項2の方法。 - 前記コントローラは、最新の番号と前記第1のメモリ領域に対応する第1の番号との差が、前記最新の番号と前記第2のメモリ領域に対応する第2の番号との差より大きいことに基づいて、前記第1のメモリ領域に対する書き込みが前記第2のメモリ領域に対する書き込みより前であることを識別する、
請求項5の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562155249P | 2015-04-30 | 2015-04-30 | |
US62/155,249 | 2015-04-30 | ||
US14/848,844 | 2015-09-09 | ||
US14/848,844 US9811462B2 (en) | 2015-04-30 | 2015-09-09 | Memory system executing garbage collection |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016042477A Division JP6378226B2 (ja) | 2015-04-30 | 2016-03-04 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018181374A JP2018181374A (ja) | 2018-11-15 |
JP6538940B2 true JP6538940B2 (ja) | 2019-07-03 |
Family
ID=57204886
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016042477A Active JP6378226B2 (ja) | 2015-04-30 | 2016-03-04 | メモリシステム |
JP2018138742A Active JP6538940B2 (ja) | 2015-04-30 | 2018-07-24 | 不揮発性メモリの制御方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016042477A Active JP6378226B2 (ja) | 2015-04-30 | 2016-03-04 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (2) | US9811462B2 (ja) |
JP (2) | JP6378226B2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321172A1 (en) * | 2015-05-01 | 2016-11-03 | Kabushiki Kaisha Toshiba | Memory device that performs garbage collection |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
KR102468992B1 (ko) * | 2015-11-06 | 2022-11-22 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
JP6855704B2 (ja) * | 2016-08-22 | 2021-04-07 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及びデータ格納方法 |
US10528462B2 (en) * | 2016-09-26 | 2020-01-07 | Intel Corporation | Storage device having improved write uniformity stability |
BR112017019425B1 (pt) | 2016-11-11 | 2023-01-24 | Huawei Technologies Co., Ltd | Sistema de armazenamento e método de coleta de lixo de sistema |
JP6709180B2 (ja) * | 2017-02-28 | 2020-06-10 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11176047B2 (en) * | 2017-08-07 | 2021-11-16 | International Business Machines Corporation | Data storage system with physical storage and cache memory |
TWI644207B (zh) * | 2017-12-29 | 2018-12-11 | 國科美國研究實驗室 | Method for garbage collection of data storage device |
CN110058794B (zh) * | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US20190303035A1 (en) * | 2018-03-27 | 2019-10-03 | EMC IP Holding Company LLC | Copying garbage collector for geographically distributed data storage environment |
US10966340B2 (en) * | 2018-09-12 | 2021-03-30 | Hewlett Packard Enterprise Development Lp | Tray with memory modules |
CN109716282B (zh) * | 2018-12-07 | 2020-06-26 | 长江存储科技有限责任公司 | 用于编程存储器系统的方法 |
KR20200123683A (ko) * | 2019-04-22 | 2020-10-30 | 에스케이하이닉스 주식회사 | 데이터를 저장할 수 있는 복수의 영역을 포함하는 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20210044564A (ko) | 2019-10-15 | 2021-04-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 가비지 컬렉션 방법 |
US11144450B2 (en) * | 2019-12-19 | 2021-10-12 | Micron Technology, Inc. | Maintaining sequentiality for media management of a memory sub-system |
US11275679B2 (en) * | 2019-12-30 | 2022-03-15 | Micron Technology, Inc. | Separate cores for media management of a memory sub-system |
JP7366795B2 (ja) | 2020-02-14 | 2023-10-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
TWI741779B (zh) * | 2020-09-04 | 2021-10-01 | 群聯電子股份有限公司 | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI775268B (zh) | 2021-01-07 | 2022-08-21 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
US11972149B2 (en) | 2022-07-27 | 2024-04-30 | Western Digital Technologies, Inc. | Storage system and method for optimizing host-activated defragmentation and proactive garbage collection processes |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933840A (en) * | 1997-05-19 | 1999-08-03 | International Business Machines Corporation | Garbage collection in log-structured information storage systems using age threshold selection of segments |
US8131955B2 (en) * | 2004-04-15 | 2012-03-06 | Microsoft Corporation | Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles |
US7600223B2 (en) * | 2004-10-25 | 2009-10-06 | Microsoft Corporation | Abstracted managed code execution |
US7409489B2 (en) | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
JP5376551B2 (ja) | 2006-05-30 | 2013-12-25 | 京セラ株式会社 | フラッシュメモリシステム、電子機器、および携帯端末装置 |
JP5999645B2 (ja) * | 2009-09-08 | 2016-10-05 | ロンギチュード エンタープライズ フラッシュ エスエイアールエル | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
US9021185B2 (en) * | 2009-11-23 | 2015-04-28 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
US8285946B2 (en) | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US9141526B2 (en) * | 2010-09-16 | 2015-09-22 | International Business Machines Corporation | Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit |
JP2012141946A (ja) * | 2010-12-16 | 2012-07-26 | Toshiba Corp | 半導体記憶装置 |
US8627126B2 (en) * | 2011-01-12 | 2014-01-07 | International Business Machines Corporation | Optimized power savings in a storage virtualization system |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US8799561B2 (en) * | 2012-07-27 | 2014-08-05 | International Business Machines Corporation | Valid page threshold based garbage collection for solid state drive |
US9298608B2 (en) * | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
CN103577338B (zh) * | 2013-11-14 | 2016-06-29 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
US9645924B2 (en) * | 2013-12-16 | 2017-05-09 | International Business Machines Corporation | Garbage collection scaling |
US10318414B2 (en) * | 2014-10-29 | 2019-06-11 | SK Hynix Inc. | Memory system and memory management method thereof |
-
2015
- 2015-09-09 US US14/848,844 patent/US9811462B2/en active Active
-
2016
- 2016-03-04 JP JP2016042477A patent/JP6378226B2/ja active Active
-
2017
- 2017-10-02 US US15/722,391 patent/US10303599B2/en active Active
-
2018
- 2018-07-24 JP JP2018138742A patent/JP6538940B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6378226B2 (ja) | 2018-08-22 |
JP2018181374A (ja) | 2018-11-15 |
JP2016212835A (ja) | 2016-12-15 |
US10303599B2 (en) | 2019-05-28 |
US9811462B2 (en) | 2017-11-07 |
US20180024921A1 (en) | 2018-01-25 |
US20160321171A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6538940B2 (ja) | 不揮発性メモリの制御方法 | |
US10761977B2 (en) | Memory system and non-transitory computer readable recording medium | |
JP6479639B2 (ja) | 情報処理装置、プログラム、及び、情報処理システム | |
US9483404B2 (en) | Write admittance policy for a memory cache | |
US10824553B2 (en) | Memory device that controls timing of receiving write data from a host | |
US10127166B2 (en) | Data storage controller with multiple pipelines | |
US20130205114A1 (en) | Object-based memory storage | |
US11726906B2 (en) | Memory device and non-transitory computer readable recording medium | |
US11868246B2 (en) | Memory system and non-transitory computer readable recording medium | |
JP7030942B2 (ja) | メモリ装置及びその制御方法 | |
US20230281118A1 (en) | Memory system and non-transitory computer readable recording medium | |
JP2018160189A (ja) | メモリシステム | |
US20160266827A1 (en) | Memory controller, memory device, data transfer system, data transfer method, and computer program product | |
KR101369408B1 (ko) | 스토리지 시스템 및 이의 데이터 전송 방법 | |
KR20110109418A (ko) | 비휘발성 메모리 저장 장치 및 비휘발성 메모리 저장 장치의 성능 향상 방법 | |
CN109101186A (zh) | 数据储存装置与数据储存方法 | |
JP6689325B2 (ja) | メモリ装置の制御方法 | |
JP6313242B2 (ja) | メモリシステム及びプログラム | |
CN110928482A (zh) | 部分页条带与使用部分页条带的存储设备及其方法 | |
JP2016091534A (ja) | メモリシステム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190416 |
|
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: 20190507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6538940 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |