JP2016506579A - データストレージシステム向けの優先度に基づくガベージコレクション - Google Patents
データストレージシステム向けの優先度に基づくガベージコレクション Download PDFInfo
- Publication number
- JP2016506579A JP2016506579A JP2015550378A JP2015550378A JP2016506579A JP 2016506579 A JP2016506579 A JP 2016506579A JP 2015550378 A JP2015550378 A JP 2015550378A JP 2015550378 A JP2015550378 A JP 2015550378A JP 2016506579 A JP2016506579 A JP 2016506579A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory area
- data unit
- data storage
- garbage collection
- 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
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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- 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
-
- 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
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- 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/7211—Wear leveling
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
フラッシュストレージデバイス等のデータストレージシステムは、性能と寿命の改善のために、ガベージコレクション、ウェアレベリング、不良ブロック管理等の内部システム動作を行う。ガベージコレクションは、あるメモリ領域に格納された有効なデータを別のメモリ領域にコピーし、更に前者のメモリ領域がいかなる有効なデータも格納していないと示すことを伴ってよい。ガベージコレクションは、ガベージコレクションされるメモリ領域内に残存する無効なデータの量を優先度付けに用いることができる。しかしながら、ガベージコレクション動作は、相当のオーバーヘッドを伴い、無効なデータの量のみに基づいたガベージコレクションの優先度付けは、望ましくない非効率性につながり得る。例えば、格納されたデータは様々なレベルの優先度に関連付けられ得て、ガベージコレクションを行う際にデータの優先度を考慮に入れることが有利になるだろう。
図1は、本発明の一の実施形態に係る優先度に基づくガベージコレクションを実装する、ホストシステムとデータストレージシステムとの組み合わせ100を図示する。図示のように、データストレージシステム120(例えばハイブリッドディスクドライブ)は、コントローラー130及び不揮発性メモリアレイ150、ならびに、磁気メディア164を有する磁気ストレージ160を含む。不揮発性メモリアレイ150は、フラッシュ集積回路、カルコゲナイドRAM(C−RAM)、相変化メモリ(PC−RAM又はPRAM)、プログラマブルメタライゼーションセルRAM(PMC−RAM又はPMCm)、Ovonic Unified Memory(OUM)、抵抗RAM(RRAM(登録商標))、NANDメモリ(例えばシングルレベルセル(SLC)メモリ、マルチレベルセル(MLC)メモリ、又はこれらの任意の組み合わせ)、NORメモリ、EEPROM、強誘電体メモリ(FeRAM)、磁気抵抗RAM(MRAM)、その他のディスクリートNVM(不揮発性メモリ)チップ、もしくはこれらの任意の組み合わせ、といった不揮発性メモリを含み得る。不揮発性メモリアレイ150は、ブロック、ページ等の1以上のメモリ領域を含んでよい。メモリ領域はメモリ単位を含んでよい。一の実施形態において、不揮発性メモリアレイ150は磁気ストレージ160に対するキャッシュとして機能してよい。データストレージシステム120は更に他の種類のストレージを含んでよい。
図2は、本発明の一の実施形態に係るデータ単位の優先度情報に基づくデータ単位のランキング200を図示する。ランキング200は、リスト、キュー、テーブル、ハッシュテーブル、グラフ等、適切なデータ構造を用いて表すことができる。一の実施形態において、ランキング200は、優先度情報に従ってソートされたキューとして表されることができる。例えば、ランキング200は、格納されたデータに関連付けられた優先度情報に従ってソートされた、不揮発性メモリアレイ150に格納されたデータ単位の位置(例えば論理アドレス)を示すことができる。一の実施形態において、データ単位は、ホストから受信された示唆された優先度情報に従って一次的にソートされ、その後、最低使用頻度(LRU)基準等の観察されたデータアクセス基準に基づいて二次的にソートされ得る。
開示された優先度に基づくガベージコレクションは、ガベージコレクションと、格納システム全体の効率を向上するために、不揮発性メモリアレイに格納されたデータの属性を用いる。優先度の低い一連のデータは、不揮発性メモリアレイから選択的に追い出し可能である。これにより、例えばガベージコレクションに伴うライトアンプリフィケーションを低減できる。優先度の低い、他の一連のデータは、不揮発性メモリアレイ内の別の領域において再編成又は併合できる。更に、ガベージコレクションを強化又は最適化するために、データのフラッシュが行われて良い。これにより、性能及び耐久性が向上できる。
当業者は、一部の実施形態において、開示された技術が、格納システムによって実行される他のハウスキーピング動作に適用可能であることを理解するだろう。例えば、ウェアレベリングや不良ブロック管理等の際に、データの優先度が考慮に入れられてよい。また、格納されたデータの優先度を決定するために、追加の要素が用いられてよい。更に、格納されたデータの優先度は、要素の任意の適切な組み合わせを用いて、また、平均、加重平均、最小二乗決定、その他の線形関数及び/又は非線形関数といった任意の適切な関数をこの組み合わせに適用して、決定されてよい。図3及び4に図示するプロセスのような、開示されたプロセスにおいて行われる実際の工程は、図示されたものとは異なり得る。追加のシステムコンポーネントが用いられてよく、開示されたシステムコンポーネントは組み合わせ又は省略されてよい。実施形態によっては、上述した工程のうちいくつかは削除されてよく、他の工程が追加されてよい。したがって、本開示の範囲は、添付の請求の範囲への参照によってのみ定義されるよう意図される。
Claims (23)
- データストレージシステムであって、
複数のデータ単位を格納するように構成された複数のメモリ領域を有する不揮発性メモリアレイと、
データを格納するように構成された磁気ストレージと、
少なくとも、
有効なデータを含む第1のメモリ領域内のデータ単位を識別し、
各データ単位に関連付けられた優先度情報に基づいて、有効なデータを含む少なくともいくつかのデータ単位を、第2のメモリ領域にコピーしないデータ単位として指定することであって、以下のうち少なくとも1つを含む、
1)前記不揮発性メモリアレイ内の追い出し用のいかなるメモリ領域にもコピーしないデータ単位を指定すること、及び
2)併合用の第3のメモリ領域にコピーするデータ単位を指定すること、
有効なデータを含み、前記第2のメモリ領域にコピーしないデータ単位として指定されていないデータ単位を前記第2のメモリ領域にコピーすること、
により、前記第1のメモリ領域のガベージコレクションを行うように構成されたコントローラーと、を備える、データストレージシステム。 - 請求項1に記載のデータストレージシステムであって、前記コントローラーは、有効なデータを含み、かつ併合用に指定されているデータ単位を前記第3のメモリ領域にコピーするように更に構成される、データストレージシステム。
- 請求項2に記載のデータストレージシステムであって、前記コントローラーは、前記第3のメモリ領域内の少なくとも一部のデータ単位を、前記不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないデータ単位として指定するように更に構成される、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記コントローラーは、前記優先度情報を追い出し閾値と比較することによって、前記不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないデータ単位を指定するように構成される、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記コントローラーは、
前記メモリ領域内の前記データ単位の前記優先度情報に少なくとも部分的に基づいて、前記メモリ領域のガベージコレクションランキングを決定し、
前記ランキングに基づいて、ガベージコレクション用の1以上のメモリ領域を選択する、
ように更に構成される、データストレージシステム。 - 請求項5に記載のデータストレージシステムであって、ガベージコレクション用に選択された前記1以上のメモリ領域は、前記第1のメモリ領域を含む、データストレージシステム。
- 請求項5に記載のデータストレージシステムであって、前記コントローラーは、
前記磁気ストレージとの同期用にデータを選択する際、(1)関連付けられた優先度に基づいた追い出し閾値を満し、かつ(2)ガベージコレクションの候補である1以上のメモリ領域内に存在する、データを優先し、
前記選択されたデータの少なくとも一部を同期し、
前記同期されたデータを、ガベージコレクション中に不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないよう指定する、
ように更に構成される、データストレージシステム。 - 請求項1に記載のデータストレージシステムであって、前記コントローラーは、前記優先度情報を併合閾値と比較することによって、併合用の前記第3のメモリ領域にコピーするデータ単位を指定するように構成される、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、
データ単位に関連付けられた前記優先度情報は、ホストシステムによって提供された優先度情報、前記データ単位のアクセス頻度、前記データ単位への最後のアクセスからの持続時間、及び前記データ単位の読み出し/書き込み率、のうち1以上に基づいている、
データストレージシステム。 - 複数のデータ単位を格納するように構成された複数のメモリ領域を有する不揮発性メモリアレイを含むデータストレージシステムにおいて、ガベージコレクションを行う方法であって、
有効を含む第1のメモリ領域内のデータ単位を識別するステップと、
各データ単位に関連付けられた優先度情報に基づいて、有効なデータを含む少なくともいくつかのデータ単位を、第2のメモリ領域にコピーしないデータ単位として指定するステップであって、以下のうち
1)前記不揮発性メモリアレイ内の、別のデータストレージへの追い出し用のいかなるメモリ領域にもコピーしないデータ単位を指定すること、及び
2)併合用の第3のメモリ領域にコピーするデータ単位を指定すること、
の少なくとも1つを含むステップと、
有効なデータを含み、前記第2のメモリ領域にコピーしないデータ単位として指定されていないデータ単位を前記第2のメモリ領域にコピーするステップと、を含み、
コントローラーの制御下で行われる、方法。 - 請求項10に記載の方法であって、有効なデータを含み、かつ併合用に指定されているデータ単位を前記第3のメモリ領域にコピーするステップを更に含む、方法。
- 請求項11に記載の方法であって、前記第3のメモリ領域内の少なくとも一部のデータ単位を、前記不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないデータ単位として指定するステップを更に含む、方法。
- 請求項10に記載の方法であって、前記不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないデータ単位を指定するステップは、前記優先度情報を追い出し閾値と比較することを含む、方法。
- 請求項10に記載の方法であって、
前記メモリ領域内の前記データ単位の前記優先度情報に少なくとも部分的に基づいて、前記メモリ領域のガベージコレクションランキングを決定するステップと、
前記ランキングに基づいて、ガベージコレクション用の1以上のメモリ領域を選択するステップと、
を更に含む、方法。 - 請求項14に記載の方法であって、ガベージコレクション用に選択された前記1以上のメモリ領域は、前記第1のメモリ領域を含む、方法。
- 請求項14に記載の方法であって、
前記別のデータストレージとの同期用にデータを選択する際、(1)関連付けられた優先度に基づいた追い出し閾値を満たし、かつ(2)ガベージコレクションの候補である1以上のメモリ領域内に存在する、データを優先し、
前記選択されたデータの少なくとも一部を同期し、
前記同期されたデータを、ガベージコレクション中に不揮発性メモリアレイ内のいかなるメモリ領域にもコピーしないよう指定する、
方法。 - 請求項10に記載の方法であって、併合用の前記第3のメモリ領域にコピーするデータ単位を指定するステップは、前記優先度情報を併合閾値と比較することを含む、方法。
- 請求項10に記載の方法であって、データ単位に関連付けられた前記優先度情報は、ホストシステムによって提供された優先度情報、前記データ単位のアクセス頻度、前記データ単位への最後のアクセスからの持続時間、及び前記データ単位の読み出し/書き込み率、のうち1以上に基づいている、方法。
- 請求項10に記載の方法であって、前記データストレージシステムは、前記別のデータストレージとして構成された磁気メディアを更に含み、前記不揮発性メモリアレイは、磁気ストレージのキャッシュメモリとして構成される、方法。
- 請求項10に記載の方法であって、前記別のデータストレージは、リモートデータストレージを含み、前記不揮発性メモリアレイは、前記リモートデータストレージへのキャッシュメモリとして構成される、方法。
- データストレージシステムであって、
複数のデータ単位を格納するように構成された複数のメモリ領域を有する不揮発性メモリアレイと、
少なくとも、
有効なデータを含む第1のメモリ領域内のデータ単位を識別し、
各データ単位に関連付けられた優先度情報に基づいて、有効なデータを含む少なくともいくつかのデータ単位を、第2のメモリ領域にコピーしないデータ単位として指定することであって、以下のうち少なくとも1つを含む、
1)前記不揮発性メモリアレイ内の、別のデータストレージへの追い出し用のいかなるメモリ領域にもコピーしないデータ単位を指定すること、及び
2)併合用の第3のメモリ領域にコピーするデータ単位を指定すること、
有効なデータを含み、前記第2のメモリ領域にコピーしないデータ単位として指定されていないデータ単位を前記第2のメモリ領域にコピーすること、
により、前記第1のメモリ領域のガベージコレクションを行うように構成されたコントローラーと、を備える、データストレージシステム。 - 請求項21に記載のデータストレージシステムであって、前記データストレージシステムは、前記別のデータストレージとして構成された磁気メディアを更に含み、前記不揮発性メモリアレイは、磁気ストレージのキャッシュメモリとして構成される、データストレージシステム。
- 請求項21に記載のデータストレージシステムであって、
前記別のデータストレージは、リモートデータストレージを含み、
前記不揮発性メモリアレイは、前記リモートデータストレージへのキャッシュメモリとして構成される、
データストレージシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/727,278 US9430376B2 (en) | 2012-12-26 | 2012-12-26 | Priority-based garbage collection for data storage systems |
US13/727,278 | 2012-12-26 | ||
PCT/US2013/061473 WO2014105229A1 (en) | 2012-12-26 | 2013-09-24 | Priority-based garbage collection for data storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016506579A true JP2016506579A (ja) | 2016-03-03 |
JP6266019B2 JP6266019B2 (ja) | 2018-01-24 |
Family
ID=50976073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015550378A Active JP6266019B2 (ja) | 2012-12-26 | 2013-09-24 | データストレージシステム向けの優先度に基づくガベージコレクション |
Country Status (7)
Country | Link |
---|---|
US (1) | US9430376B2 (ja) |
EP (1) | EP2939120B1 (ja) |
JP (1) | JP6266019B2 (ja) |
KR (1) | KR101894625B1 (ja) |
CN (1) | CN105074673B (ja) |
HK (1) | HK1217371A1 (ja) |
WO (1) | WO2014105229A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880578B2 (en) | 2017-03-23 | 2024-01-23 | Netapp, Inc. | Composite aggregate architecture |
Families Citing this family (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
US9753847B2 (en) | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8788779B1 (en) | 2010-09-17 | 2014-07-22 | Western Digital Technologies, Inc. | Non-volatile storage subsystem with energy-based performance throttling |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8959416B1 (en) | 2011-12-16 | 2015-02-17 | Western Digital Technologies, Inc. | Memory defect management using signature identification |
US9348741B1 (en) | 2011-12-19 | 2016-05-24 | Western Digital Technologies, Inc. | Systems and methods for handling write data access requests in data storage devices |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9977612B1 (en) | 2012-05-11 | 2018-05-22 | Western Digital Technologies, Inc. | System data management using garbage collection and logs |
US9170932B1 (en) | 2012-05-22 | 2015-10-27 | Western Digital Technologies, Inc. | System data storage mechanism providing coherency and segmented data loading |
US8924832B1 (en) | 2012-06-26 | 2014-12-30 | Western Digital Technologies, Inc. | Efficient error handling mechanisms in data storage systems |
US8954653B1 (en) | 2012-06-26 | 2015-02-10 | Western Digital Technologies, Inc. | Mechanisms for efficient management of system data in data storage systems |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9177638B2 (en) | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9032271B2 (en) | 2012-12-07 | 2015-05-12 | Western Digital Technologies, Inc. | System and method for lower page data recovery in a solid state drive |
US8954655B2 (en) | 2013-01-14 | 2015-02-10 | Western Digital Technologies, Inc. | Systems and methods of configuring a mode of operation in a solid-state memory |
US8972655B2 (en) | 2013-01-21 | 2015-03-03 | Western Digital Technolgies, Inc. | Initialization of a storage device |
US9274966B1 (en) | 2013-02-20 | 2016-03-01 | Western Digital Technologies, Inc. | Dynamically throttling host commands to disk drives |
US9454474B2 (en) | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US8924824B1 (en) | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US8990668B2 (en) | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
US9335950B2 (en) | 2013-03-15 | 2016-05-10 | Western Digital Technologies, Inc. | Multiple stream compression and formatting of data for data storage systems |
US9448738B2 (en) | 2013-03-15 | 2016-09-20 | Western Digital Technologies, Inc. | Compression and formatting of data for data storage systems |
US9218279B2 (en) | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
US9946495B2 (en) * | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US9338927B2 (en) | 2013-05-02 | 2016-05-10 | Western Digital Technologies, Inc. | Thermal interface material pad and method of forming the same |
US9195293B1 (en) | 2013-05-03 | 2015-11-24 | Western Digital Technologies, Inc. | User controlled data storage device power and performance settings |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
US9081700B2 (en) | 2013-05-16 | 2015-07-14 | Western Digital Technologies, Inc. | High performance read-modify-write system providing line-rate merging of dataframe segments in hardware |
US9170938B1 (en) | 2013-05-17 | 2015-10-27 | Western Digital Technologies, Inc. | Method and system for atomically writing scattered information in a solid state storage device |
US9280200B1 (en) | 2013-05-20 | 2016-03-08 | Western Digital Technologies, Inc. | Automatic peak current throttle of tiered storage elements |
US9740248B2 (en) | 2013-06-07 | 2017-08-22 | Western Digital Technologies, Inc. | Component placement within a solid state drive |
US9274978B2 (en) | 2013-06-10 | 2016-03-01 | Western Digital Technologies, Inc. | Migration of encrypted data for data storage systems |
US9436630B2 (en) | 2013-06-11 | 2016-09-06 | Western Digital Technologies, Inc. | Using dual phys to support multiple PCIe link widths |
US9830257B1 (en) | 2013-06-12 | 2017-11-28 | Western Digital Technologies, Inc. | Fast saving of data during power interruption in data storage systems |
US9665501B1 (en) | 2013-06-18 | 2017-05-30 | Western Digital Technologies, Inc. | Self-encrypting data storage device supporting object-level encryption |
US9304560B2 (en) | 2013-06-19 | 2016-04-05 | Western Digital Technologies, Inc. | Backup power for reducing host current transients |
US9208101B2 (en) | 2013-06-26 | 2015-12-08 | Western Digital Technologies, Inc. | Virtual NAND capacity extension in a hybrid drive |
US9583153B1 (en) | 2013-06-28 | 2017-02-28 | Western Digital Technologies, Inc. | Memory card placement within a solid state drive |
US9042197B2 (en) | 2013-07-23 | 2015-05-26 | Western Digital Technologies, Inc. | Power fail protection and recovery using low power states in a data storage device/system |
US9442668B1 (en) | 2013-08-29 | 2016-09-13 | Western Digital Technologies, Inc. | Adaptive power management control with performance feedback |
US9263136B1 (en) | 2013-09-04 | 2016-02-16 | Western Digital Technologies, Inc. | Data retention flags in solid-state drives |
US10444998B1 (en) | 2013-10-24 | 2019-10-15 | Western Digital Technologies, Inc. | Data storage device providing data maintenance services |
US9330143B2 (en) | 2013-10-24 | 2016-05-03 | Western Digital Technologies, Inc. | Data storage device supporting accelerated database operations |
US9007841B1 (en) | 2013-10-24 | 2015-04-14 | Western Digital Technologies, Inc. | Programming scheme for improved voltage distribution in solid-state memory |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US9286176B1 (en) | 2013-11-08 | 2016-03-15 | Western Digital Technologies, Inc. | Selective skipping of blocks in an SSD |
US9270296B1 (en) | 2013-11-13 | 2016-02-23 | Western Digital Technologies, Inc. | Method and system for soft decoding through single read |
US9529710B1 (en) | 2013-12-06 | 2016-12-27 | Western Digital Technologies, Inc. | Interleaved channels in a solid-state drive |
US9652373B2 (en) * | 2013-12-16 | 2017-05-16 | International Business Machines Corporation | Adaptive statistics for a linear address space |
US10140067B1 (en) | 2013-12-19 | 2018-11-27 | Western Digital Technologies, Inc. | Data management for data storage device with multiple types of non-volatile memory media |
US9524236B1 (en) * | 2014-01-09 | 2016-12-20 | Marvell International Ltd. | Systems and methods for performing memory management based on data access properties |
US9036283B1 (en) | 2014-01-22 | 2015-05-19 | Western Digital Technologies, Inc. | Data storage device with selective write to a first storage media or a second storage media |
US9337864B1 (en) | 2014-01-29 | 2016-05-10 | Western Digital Technologies, Inc. | Non-binary LDPC decoder using binary subgroup processing |
US9250994B1 (en) | 2014-02-05 | 2016-02-02 | Western Digital Technologies, Inc. | Non-binary low-density parity check (LDPC) decoding using trellis maximization |
US9384088B1 (en) | 2014-02-24 | 2016-07-05 | Western Digital Technologies, Inc. | Double writing map table entries in a data storage system to guard against silent corruption |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9268487B2 (en) | 2014-03-24 | 2016-02-23 | Western Digital Technologies, Inc. | Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached |
US9348520B2 (en) | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
US9448742B2 (en) | 2014-03-27 | 2016-09-20 | Western Digital Technologies, Inc. | Communication between a host and a secondary storage device |
US9564212B2 (en) | 2014-05-06 | 2017-02-07 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
US9690696B1 (en) | 2014-05-14 | 2017-06-27 | Western Digital Technologies, Inc. | Lifetime extension of memory for data storage system |
US9472222B2 (en) | 2014-05-16 | 2016-10-18 | Western Digital Technologies, Inc. | Vibration mitigation for a data storage device |
US10645002B2 (en) | 2014-06-20 | 2020-05-05 | Hewlett Packard Enterprise Development Lp | System, apparatus and method for managing redundancy elimination in packet storage during observation of data movement |
US10521358B2 (en) * | 2014-06-20 | 2019-12-31 | Hewlett Packard Enterprise Development Lp | System, apparatus and method for prioritizing the storage of content based on a threat index |
US9275741B1 (en) | 2014-09-10 | 2016-03-01 | Western Digital Technologies, Inc. | Temperature compensation management in solid-state memory |
US9875039B2 (en) * | 2014-09-30 | 2018-01-23 | Sandisk Technologies Llc | Method and apparatus for wear-leveling non-volatile memory |
US9418699B1 (en) | 2014-10-09 | 2016-08-16 | Western Digital Technologies, Inc. | Management of sequentially written data |
US9405356B1 (en) | 2014-10-21 | 2016-08-02 | Western Digital Technologies, Inc. | Temperature compensation in data storage device |
US9530490B2 (en) | 2014-10-27 | 2016-12-27 | Sandisk Technologies Llc | Compaction process for a data storage device |
US9823859B2 (en) | 2014-11-06 | 2017-11-21 | Western Digital Technologies, Inc. | Mechanical shock mitigation for data storage |
US20160179401A1 (en) * | 2014-12-17 | 2016-06-23 | Sk Hynix Memory Solutions Inc. | Memory system and the operation method thereof |
US9921963B1 (en) * | 2015-01-30 | 2018-03-20 | EMC IP Holding Company LLC | Method to decrease computation for cache eviction using deferred calculations |
US9892045B1 (en) * | 2015-01-30 | 2018-02-13 | EMC IP Holding Company LLC | Methods to select segments of an evicted cache unit for reinsertion into the cache |
US9720835B1 (en) * | 2015-01-30 | 2017-08-01 | EMC IP Holding Company LLC | Methods to efficiently implement coarse granularity cache eviction based on segment deletion hints |
US9892044B1 (en) * | 2015-01-30 | 2018-02-13 | EMC IP Holding Company LLC | Methods to efficiently implement coarse granularity cache eviction |
US9857995B1 (en) | 2015-03-09 | 2018-01-02 | Western Digital Technologies, Inc. | Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection |
US9785563B1 (en) | 2015-08-13 | 2017-10-10 | Western Digital Technologies, Inc. | Read command processing for data storage system based on previous writes |
US9668337B2 (en) | 2015-09-08 | 2017-05-30 | Western Digital Technologies, Inc. | Temperature management in data storage devices |
US9727261B2 (en) | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
US9836232B1 (en) | 2015-09-30 | 2017-12-05 | Western Digital Technologies, Inc. | Data storage device and method for using secondary non-volatile memory for temporary metadata storage |
US10013174B2 (en) | 2015-09-30 | 2018-07-03 | Western Digital Technologies, Inc. | Mapping system selection for data storage device |
WO2017069646A1 (en) * | 2015-10-19 | 2017-04-27 | Huawei Technologies Co., Ltd. | Method and device for determination of garbage collector thread number and activity management in log-structured file systems |
US9620226B1 (en) | 2015-10-30 | 2017-04-11 | Western Digital Technologies, Inc. | Data retention charge loss and read disturb compensation in solid-state data storage systems |
US10126981B1 (en) | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
TWI598733B (zh) * | 2016-01-12 | 2017-09-11 | 瑞昱半導體股份有限公司 | 權重式資料搬遷控制裝置與方法 |
US10884914B2 (en) | 2016-02-19 | 2021-01-05 | International Business Machines Corporation | Regrouping data during relocation to facilitate write amplification reduction |
US10248327B2 (en) * | 2016-04-01 | 2019-04-02 | SK Hynix Inc. | Throttling for a memory system using a GC/HOST ratio and operating method thereof |
EP3336706B1 (en) * | 2016-04-07 | 2021-06-30 | Huawei Technologies Co., Ltd. | Method and storage device for processing stripes in storage device |
KR101950759B1 (ko) * | 2016-04-26 | 2019-02-21 | 한양대학교 산학협력단 | 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 |
US10387303B2 (en) | 2016-08-16 | 2019-08-20 | Western Digital Technologies, Inc. | Non-volatile storage system with compute engine to accelerate big data applications |
CN106502579B (zh) * | 2016-09-22 | 2019-10-11 | 广州华多网络科技有限公司 | 一种数据存储失败时的重建方法及装置 |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
TWI615710B (zh) | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN106775479B (zh) * | 2016-12-21 | 2020-05-12 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
US10565123B2 (en) | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
US10579288B2 (en) * | 2017-08-31 | 2020-03-03 | Micron Technology, Inc. | Prioritized security |
US10509722B2 (en) | 2017-08-31 | 2019-12-17 | Micron Technology, Inc. | Memory device with dynamic cache management |
KR102347871B1 (ko) * | 2017-11-14 | 2022-01-06 | 삼성전자주식회사 | 캐시 관리 매커니즘을 갖는 컴퓨팅 시스템 및 그 동작방법 |
CN108038001B (zh) * | 2017-12-13 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 垃圾文件清理策略生成方法、装置及服务器 |
US10572184B2 (en) | 2018-01-11 | 2020-02-25 | International Business Machines Corporation | Garbage collection in data storage systems |
US10360155B1 (en) | 2018-04-05 | 2019-07-23 | Western Digital Technologies, Inc. | Multi-tier memory management |
US10776268B2 (en) * | 2018-04-19 | 2020-09-15 | Western Digital Technologies, Inc. | Priority addresses for storage cache management |
KR20200016075A (ko) | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치 |
US10769062B2 (en) | 2018-10-01 | 2020-09-08 | Western Digital Technologies, Inc. | Fine granularity translation layer for data storage devices |
US10956071B2 (en) | 2018-10-01 | 2021-03-23 | Western Digital Technologies, Inc. | Container key value store for data storage devices |
US10740231B2 (en) | 2018-11-20 | 2020-08-11 | Western Digital Technologies, Inc. | Data access in data storage device including storage class memory |
TWI759580B (zh) * | 2019-01-29 | 2022-04-01 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
TWI781886B (zh) * | 2019-01-29 | 2022-10-21 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
US10878907B1 (en) | 2019-06-05 | 2020-12-29 | Sandisk Technologies Llc | Sub-block size reduction for 3D non-volatile memory |
US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
US10978152B1 (en) | 2019-11-13 | 2021-04-13 | Sandisk Technologies Llc | Adaptive VPASS for 3D flash memory with pair string structure |
US11194714B2 (en) | 2020-03-31 | 2021-12-07 | International Business Machines Corporation | Deep object graph traversal |
US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
KR20210138996A (ko) | 2020-05-13 | 2021-11-22 | 삼성전자주식회사 | 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
TWI751580B (zh) | 2020-06-10 | 2022-01-01 | 財團法人工業技術研究院 | 儲存空間暫存檔案的管理方法及用於儲存多個暫存檔案的記錄裝置 |
JP2023108843A (ja) | 2022-01-26 | 2023-08-07 | キオクシア株式会社 | メモリシステム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009503735A (ja) * | 2005-08-03 | 2009-01-29 | サンディスク コーポレイション | フラッシュメモリシステムのデータ記憶容量の解放 |
JP2009181314A (ja) * | 2008-01-30 | 2009-08-13 | Toshiba Corp | 情報記録装置およびその制御方法 |
JP2012033002A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
US20120059978A1 (en) * | 2010-09-07 | 2012-03-08 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US20120191936A1 (en) * | 2011-01-21 | 2012-07-26 | Seagate Technology Llc | Just in time garbage collection |
US20120198174A1 (en) * | 2011-01-31 | 2012-08-02 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US8341339B1 (en) * | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
JP2013504142A (ja) * | 2009-09-08 | 2013-02-04 | フュージョン−アイオー・インコーポレーテッド | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
JP2014513850A (ja) * | 2011-05-17 | 2014-06-05 | サンディスク テクノロジィース インコーポレイテッド | 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744325A (ja) | 1993-07-27 | 1995-02-14 | Fuji Electric Co Ltd | ディスク記憶装置の起動およびデータ読み書き方式 |
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US6044439A (en) | 1997-10-27 | 2000-03-28 | Acceleration Software International Corporation | Heuristic method for preloading cache to enhance hit rate |
US7886108B2 (en) | 2000-01-06 | 2011-02-08 | Super Talent Electronics, Inc. | Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device |
US6539456B2 (en) | 1999-10-13 | 2003-03-25 | Intel Corporation | Hardware acceleration of boot-up utilizing a non-volatile disk cache |
US7610438B2 (en) | 2000-01-06 | 2009-10-27 | Super Talent Electronics, Inc. | Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table |
US6807630B2 (en) | 2000-12-15 | 2004-10-19 | International Business Machines Corporation | Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory |
US7120806B1 (en) | 2001-10-31 | 2006-10-10 | Western Digital Technologies, Inc. | Method for setting a power operating mode transition interval of a disk drive in a mobile device based on application category |
US6968450B1 (en) | 2002-06-01 | 2005-11-22 | Western Digital Technologies, Inc. | Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer |
US7017037B2 (en) | 2002-06-27 | 2006-03-21 | Microsoft Corporation | Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
US7028174B1 (en) | 2002-09-30 | 2006-04-11 | Western Digital Technologies, Inc. | Disk drive employing a non-volatile serial semiconductor memory for storing a control program for a microprocessor |
US7082494B1 (en) | 2002-12-24 | 2006-07-25 | Western Digital Technologies, Inc. | Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7334082B2 (en) | 2003-12-30 | 2008-02-19 | Intel Corporation | Method and system to change a power state of a hard drive |
US7395452B2 (en) | 2004-09-24 | 2008-07-01 | Microsoft Corporation | Method and system for improved reliability in storage devices |
US7472222B2 (en) | 2004-10-12 | 2008-12-30 | Hitachi Global Storage Technologies Netherlands B.V. | HDD having both DRAM and flash memory |
US7516346B2 (en) | 2004-10-28 | 2009-04-07 | Nec Laboratories America, Inc. | System and method for dynamically changing the power mode of storage disks based on redundancy and system load |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
WO2007019217A1 (en) * | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Nonvolatile memory with block management |
US7409489B2 (en) | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7644231B2 (en) | 2005-08-11 | 2010-01-05 | International Business Machines Corporation | Selective information caching on disk drive |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7613876B2 (en) | 2006-06-08 | 2009-11-03 | Bitmicro Networks, Inc. | Hybrid multi-tiered caching storage system |
US7411757B2 (en) | 2006-07-27 | 2008-08-12 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory having multiple modes of operation |
KR100801015B1 (ko) | 2006-08-30 | 2008-02-04 | 삼성전자주식회사 | 하이브리드 하드 디스크 드라이브와 데이터 저장 방법 |
US8015433B2 (en) | 2006-09-13 | 2011-09-06 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory for storage of failure-related data |
KR100789406B1 (ko) * | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
KR100881187B1 (ko) | 2007-01-16 | 2009-02-05 | 삼성전자주식회사 | 하이브리드 하드 디스크 드라이브, 하이브리드 하드 디스크드라이브를 내장하는 컴퓨터 시스템, 그리고 하이브리드하드 디스크 드라이브의 플래시 메모리 dma 회로 |
KR100866962B1 (ko) | 2007-03-08 | 2008-11-05 | 삼성전자주식회사 | Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법 |
KR101297563B1 (ko) | 2007-11-15 | 2013-08-19 | 삼성전자주식회사 | 스토리지 관리 방법 및 관리 시스템 |
US20090271562A1 (en) | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
EP2315126A4 (en) | 2008-08-11 | 2012-06-20 | Fujitsu Ltd | PEST INFORMATION COLLECTION PROGRAM, PASSING INFORMATION COLLECTION METHOD, AND PASSING INFORMATION COLLECTION SYSTEM |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
US8166233B2 (en) | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US8677203B1 (en) * | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
US8356137B2 (en) * | 2010-02-26 | 2013-01-15 | Apple Inc. | Data storage scheme for non-volatile memories based on data priority |
US8458417B2 (en) | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
US8595463B2 (en) | 2010-09-15 | 2013-11-26 | International Business Machines Corporation | Memory architecture with policy based data storage |
KR20120028581A (ko) | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들 |
WO2012051600A2 (en) * | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
-
2012
- 2012-12-26 US US13/727,278 patent/US9430376B2/en active Active
-
2013
- 2013-09-24 WO PCT/US2013/061473 patent/WO2014105229A1/en active Application Filing
- 2013-09-24 CN CN201380068656.0A patent/CN105074673B/zh active Active
- 2013-09-24 JP JP2015550378A patent/JP6266019B2/ja active Active
- 2013-09-24 KR KR1020157020012A patent/KR101894625B1/ko active IP Right Grant
- 2013-09-24 EP EP13867022.9A patent/EP2939120B1/en active Active
-
2016
- 2016-05-10 HK HK16105300.6A patent/HK1217371A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009503735A (ja) * | 2005-08-03 | 2009-01-29 | サンディスク コーポレイション | フラッシュメモリシステムのデータ記憶容量の解放 |
JP2009181314A (ja) * | 2008-01-30 | 2009-08-13 | Toshiba Corp | 情報記録装置およびその制御方法 |
JP2013504142A (ja) * | 2009-09-08 | 2013-02-04 | フュージョン−アイオー・インコーポレーテッド | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
US8341339B1 (en) * | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
JP2012033002A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
US20120059978A1 (en) * | 2010-09-07 | 2012-03-08 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US20120191936A1 (en) * | 2011-01-21 | 2012-07-26 | Seagate Technology Llc | Just in time garbage collection |
US20120198174A1 (en) * | 2011-01-31 | 2012-08-02 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
JP2014513850A (ja) * | 2011-05-17 | 2014-06-05 | サンディスク テクノロジィース インコーポレイテッド | 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880578B2 (en) | 2017-03-23 | 2024-01-23 | Netapp, Inc. | Composite aggregate architecture |
Also Published As
Publication number | Publication date |
---|---|
US9430376B2 (en) | 2016-08-30 |
EP2939120A1 (en) | 2015-11-04 |
CN105074673B (zh) | 2018-11-13 |
JP6266019B2 (ja) | 2018-01-24 |
KR20150100862A (ko) | 2015-09-02 |
US20140181432A1 (en) | 2014-06-26 |
WO2014105229A1 (en) | 2014-07-03 |
KR101894625B1 (ko) | 2018-09-03 |
CN105074673A (zh) | 2015-11-18 |
EP2939120A4 (en) | 2016-06-22 |
HK1217371A1 (zh) | 2017-01-06 |
EP2939120B1 (en) | 2020-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6266019B2 (ja) | データストレージシステム向けの優先度に基づくガベージコレクション | |
US10761777B2 (en) | Tiered storage using storage class memory | |
US8788778B1 (en) | Garbage collection based on the inactivity level of stored data | |
US11355197B2 (en) | Memory system with nonvolatile cache and control method thereof | |
US10216639B2 (en) | Identification of blocks to be retained in a cache based on temperature | |
EP3384394B1 (en) | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes | |
KR101717644B1 (ko) | 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법 | |
CN107622022B (zh) | 数据存储设备中的高速缓存超量配置 | |
US8793429B1 (en) | Solid-state drive with reduced power up time | |
US9785564B2 (en) | Hybrid memory with associative cache | |
US20120166749A1 (en) | Data management in solid-state storage devices and tiered storage systems | |
US20150127889A1 (en) | Nonvolatile memory system | |
KR20100107456A (ko) | 호스트 기록 작업과 캐시 플러싱을 균형화하기 위한 방법과 시스템 | |
JP6139381B2 (ja) | メモリシステムおよび方法 | |
US9208101B2 (en) | Virtual NAND capacity extension in a hybrid drive | |
CN110413537B (zh) | 一种面向混合固态硬盘的闪存转换层及转换方法 | |
JP2013242908A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
KR20100132244A (ko) | 메모리 시스템 및 메모리 시스템 관리 방법 | |
US20170228191A1 (en) | Systems and methods for suppressing latency in non-volatile solid state devices | |
US10635581B2 (en) | Hybrid drive garbage collection | |
US10013174B2 (en) | Mapping system selection for data storage device | |
KR101017067B1 (ko) | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 | |
KR101026634B1 (ko) | 하이브리드 플래시 메모리의 데이터 저장 방법 | |
WO2014185038A1 (ja) | 半導体記憶装置およびその制御方法 | |
Tong et al. | Pgc: An Efficient Parallel Garbage Collection Scheme Based on Hot and Cold Data Separation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170718 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170807 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170912 |
|
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: 20171128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6266019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |