JP2017084338A - フラッシュメモリのフラッシングを改善する方法およびシステム - Google Patents
フラッシュメモリのフラッシングを改善する方法およびシステム Download PDFInfo
- Publication number
- JP2017084338A JP2017084338A JP2016164115A JP2016164115A JP2017084338A JP 2017084338 A JP2017084338 A JP 2017084338A JP 2016164115 A JP2016164115 A JP 2016164115A JP 2016164115 A JP2016164115 A JP 2016164115A JP 2017084338 A JP2017084338 A JP 2017084338A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- dirty
- region
- request
- 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.)
- Pending
Links
Images
Classifications
-
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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/061—Improving I/O performance
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】フラッシュメモリへ書き込む要求を受信する工程304と、要求に関連付けられたデータをフラッシュメモリへ書き込む工程306と、書き込み要求に対する書き込み領域に対応する領域ビットマップへのポインタを識別する工程308と、要求に対応する領域ビットマップのビットをダーティとしてマーキングする工程312と、ダーティブロックカウントを含むように、ポインタ管理部品を使用することにより、領域ビットマップへのポインタを更新する工程314とを含む。
【選択図】図3
Description
104 ホストCPU
106 PCIエクスプレスルートコンプレックス
108 スイッチ
110 ターゲット
112 コントローラ
114 非揮発性ストレージ
116 ターゲット
118 コントローラ
120 非揮発性ストレージ
122 ターゲット
124 コントローラ
126 非揮発性ストレージ
210 SSDフラッシュ改善部品
212 書き込み監視部品
214 ダーティ領域識別部品
216 アレイ管理部品
218 エラーログ記録および報告部品
220、234、246 例示的方法
300、400 方法
302、304、306、308、310、312、314、316、402、404、406、408、410、412、414 段階
Claims (20)
- フラッシュメモリのフラッシングを改善する方法であって
フラッシュメモリへ書き込む要求を受信する工程と、
前記要求に関連付けられたデータを前記フラッシュメモリへ書き込む工程と、
前記要求に対する書き込み領域に対応する領域ビットマップへのポインタを識別する工程と、
前記要求に対応する前記領域ビットマップのビットをダーティとしてマーキングする工程と、
ダーティブロックカウントを含むように、ポインタ管理部品を使用することにより、前記領域ビットマップへの前記ポインタを更新する工程とを含む方法。 - ダーティブロックカウントを含むように前記領域ビットマップへの前記ポインタを更新する工程は、前記ダーティブロックカウントを含むように前記ポインタの1つまたは複数の上位ビットを更新する工程を含む、請求項1に記載の方法。
- 前記ポインタは48個の最下位ビットと16個の上位ビットとを有するポインタを含み、前記ダーティブロックカウントは前記16個の上位ビット内に格納される、請求項2に記載の方法。
- 前記要求に対応する前記領域ビットマップのビットをダーティとしてマーキングする工程は、前記ポインタの最下位ビットの値を含むように前記ポインタの前記上位ビットを更新する工程と、前記領域ビットマップを識別するために前記更新ポインタを使用する工程とを含む、請求項2に記載の方法。
- 前記ポインタはポインタのアレイのうちの1つを含み、前記ポインタのアレイは前記ポインタのそれぞれの中のダーティブロックカウントに従って順序付けられる、請求項1に記載の方法。
- 前記順序付けられたポインタのアレイを使用することにより前記フラッシュメモリの複数の領域のうちの最もダーティな領域を識別する工程と、前記最もダーティな領域の1つまたは複数のブロックを従来のストレージへ書き込む工程とをさらに含む請求項5に記載の方法。
- 1つまたは複数のブロックを従来のストレージへ書き込む工程は1つまたは複数の因子の検出によりトリガされる、請求項6に記載の方法。
- 前記1つまたは複数の因子は、到達されるダーティブロックの規定閾値、CPU利用率のレベル、ネットワーク利用率のレベル、従来のストレージの入力/出力のレベル、キャッシュからの1つまたは複数のブロックの時間経過、ユーザ指定優先度のうちの少なくとも1つを含む、請求項7に記載の方法。
- 前記最もダーティな領域の1つまたは複数のブロックを従来のストレージへ書き込む工程は、従来のストレージへ書き込まれるデータに関連付けられた論理ブロックアドレスを識別するために、領域ビットマップの基底アドレスと前記領域ビットマップのビットに関連付けられたオフセットとを使用する工程を含む、請求項6に記載の方法。
- 第1の領域に関連付けられた1つまたは複数のブロックを書き込んだ後に、第2の最もダーティな領域に関連付けられたポインタの前記アレイ内の第2のポインタを識別する工程をさらに含む請求項6に記載の方法。
- 第1のポインタに関連付けられた1つまたは複数のブロックが従来のストレージへ書き込まれると、前記第2のポインタのオフセットは前記アレイの開始点になる、請求項10に記載の方法。
- コンピュータ上で実行可能な一系列の命令からなり、フラッシュメモリのフラッシングを改善する方法を行うコンピュータプログラム製品であって、
フラッシュメモリへ書き込む要求を受信する工程と、
前記要求に関連付けられたデータを前記フラッシュメモリへ書き込む工程と、
前記要求に対する書き込み領域に対応する領域ビットマップへのポインタを識別する工程と、
前記要求に対応する前記領域ビットマップのビットをダーティとしてマーキングする工程と、
ダーティブロックカウントを含むように前記ポインタを前記領域ビットマップへ更新する工程とを実施するコンピュータプログラム製品。 - フラッシュメモリのフラッシングを改善するためのシステムであり、記憶媒体装置と、前記記憶媒体装置に関連付けられたPCIeベース装置コントローラとを含むシステムであって、前記PCIeベース装置コントローラは、
フラッシュメモリへ書き込む要求を受信し、
前記要求に関連付けられたデータを前記フラッシュメモリへ書き込み、
前記要求に対する書き込み領域に対応する領域ビットマップへのポインタを識別し、
前記要求に対応する前記領域ビットマップのビットをダーティとしてマーキングし、
ダーティブロックカウントを含むように前記ポインタを前記領域ビットマップへ更新するように構成される、システム。 - ダーティブロックカウントを含むように前記領域ビットマップへの前記ポインタを更新する工程は、前記ダーティブロックカウントを含むように前記ポインタの1つまたは複数の上位ビットを更新する工程を含む、請求項13に記載のシステム。
- 前記ポインタは48個の最下位ビットと16個の上位ビットとを有するポインタを含み、前記ダーティブロックカウントは前記16個の上位ビット内に格納される、請求項14に記載のシステム。
- 前記要求に対応する前記領域ビットマップのビットをダーティとしてマーキングする工程は、前記ポインタの最下位ビットの値を含むように前記ポインタの上位ビットを更新する工程と、前記領域ビットマップを識別するために前記更新ポインタを使用する工程とを含む、請求項14に記載のシステム。
- 前記ポインタはポインタのアレイのうちの1つを含み、前記ポインタのアレイは前記ポインタのそれぞれの中のダーティブロックカウントに従って順序付けられる、請求項13に記載のシステム。
- 前記PCIeベース装置コントローラはさらに、前記順序付けられたポインタのアレイを使用することにより前記フラッシュメモリの複数の領域のうちの最もダーティな領域を識別し、前記最もダーティな領域の1つまたは複数のブロックを従来のストレージへ書き込むように構成される、請求項17に記載のシステム。
- 1つまたは複数のブロックを従来のストレージへ書き込む工程は1つまたは複数の因子の検出によりトリガされる、請求項18に記載のシステム。
- 前記1つまたは複数の因子は、到達されるダーティブロックの規定閾値、CPU利用率のレベル、ネットワーク利用率のレベル、従来のストレージの入力/出力のレベル、キャッシュからの1つまたは複数のブロックの時間経過、ユーザ指定優先度のうちの少なくとも1つを含む、請求項19に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/833,817 | 2015-08-24 | ||
US14/833,817 US10209891B2 (en) | 2015-08-24 | 2015-08-24 | Methods and systems for improving flash memory flushing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017084338A true JP2017084338A (ja) | 2017-05-18 |
Family
ID=57045461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016164115A Pending JP2017084338A (ja) | 2015-08-24 | 2016-08-24 | フラッシュメモリのフラッシングを改善する方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US10209891B2 (ja) |
JP (1) | JP2017084338A (ja) |
KR (1) | KR101933766B1 (ja) |
CN (1) | CN106486167B (ja) |
DE (1) | DE102016010276A1 (ja) |
GB (1) | GB2543391B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170058482A (ko) * | 2015-11-18 | 2017-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102426107B1 (ko) | 2017-12-20 | 2022-07-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20190088790A (ko) | 2018-01-19 | 2019-07-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN109002399B (zh) * | 2018-07-09 | 2021-05-18 | 北京智芯微电子科技有限公司 | 嵌入式设备事件记录的方法 |
CN110147298B (zh) * | 2019-05-23 | 2020-02-18 | 北京天华星航科技有限公司 | 虚拟磁带库备份系统、设备 |
CN112749134B (zh) * | 2019-10-30 | 2024-05-17 | 伊姆西Ip控股有限责任公司 | 用于位图转换的方法、设备和计算机可读存储介质 |
US10923178B1 (en) * | 2020-02-27 | 2021-02-16 | Western Digital Technologies, Inc. | Data storage with improved write performance for preferred user data |
CN111597076B (zh) * | 2020-05-12 | 2024-04-16 | 第四范式(北京)技术有限公司 | 操作数据的方法和装置以及管理持久化跳表的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223591A (ja) * | 1992-10-30 | 1994-08-12 | Intel Corp | フラッシュeepromアレイのクリーン・アップ方法 |
JPH1083351A (ja) * | 1996-09-09 | 1998-03-31 | Toshiba Corp | キャッシュフラッシュ装置および同装置を適用した計算機システム |
US20070124531A1 (en) * | 2005-11-30 | 2007-05-31 | Sony Corporation | Storage device, computer system, and storage device access method |
US20120198174A1 (en) * | 2011-01-31 | 2012-08-02 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US8838936B1 (en) * | 2013-11-27 | 2014-09-16 | NXGN Data, Inc. | System and method for efficient flash translation layer |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW288120B (en) * | 1994-04-18 | 1996-10-11 | Macronix Int Co Ltd | Solid-state disk sector link processing method and pointer structure |
US6275912B1 (en) * | 1998-06-30 | 2001-08-14 | Microsoft Corporation | Method and system for storing data items to a storage device |
US6629198B2 (en) | 2000-12-08 | 2003-09-30 | Sun Microsystems, Inc. | Data storage system and method employing a write-ahead hash log |
JP3723960B2 (ja) * | 2001-11-19 | 2005-12-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体 |
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
US20040131055A1 (en) * | 2003-01-06 | 2004-07-08 | Juan-Carlos Calderon | Memory management free pointer pool |
US7380059B2 (en) * | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
US7039661B1 (en) * | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
US7231497B2 (en) * | 2004-06-15 | 2007-06-12 | Intel Corporation | Merging write-back and write-through cache policies |
US7624129B2 (en) * | 2006-06-30 | 2009-11-24 | Microsoft Corporation | Dual logging of changes to a user preference in a computer device |
US8903888B1 (en) * | 2006-10-27 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines |
US8074014B2 (en) * | 2008-03-31 | 2011-12-06 | Microsoft Corporation | Storage systems using write off-loading |
US8443166B2 (en) * | 2009-03-06 | 2013-05-14 | Vmware, Inc. | Method for tracking changes in virtual disks |
US8793440B2 (en) * | 2010-06-17 | 2014-07-29 | Microsoft Corporation | Error detection for files |
JP5609436B2 (ja) | 2010-08-30 | 2014-10-22 | セイコーエプソン株式会社 | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 |
US10817502B2 (en) * | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9141527B2 (en) * | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US8806112B2 (en) * | 2011-07-14 | 2014-08-12 | Lsi Corporation | Meta data handling within a flash media controller |
KR101996641B1 (ko) * | 2012-02-06 | 2019-07-04 | 삼성전자주식회사 | 메모리 오버레이 장치 및 방법 |
-
2015
- 2015-08-24 US US14/833,817 patent/US10209891B2/en active Active
-
2016
- 2016-08-24 GB GB1614433.9A patent/GB2543391B/en active Active
- 2016-08-24 JP JP2016164115A patent/JP2017084338A/ja active Pending
- 2016-08-24 CN CN201610720989.2A patent/CN106486167B/zh active Active
- 2016-08-24 DE DE102016010276.4A patent/DE102016010276A1/de not_active Withdrawn
- 2016-08-24 KR KR1020160107925A patent/KR101933766B1/ko active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223591A (ja) * | 1992-10-30 | 1994-08-12 | Intel Corp | フラッシュeepromアレイのクリーン・アップ方法 |
US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
JPH1083351A (ja) * | 1996-09-09 | 1998-03-31 | Toshiba Corp | キャッシュフラッシュ装置および同装置を適用した計算機システム |
US6490657B1 (en) * | 1996-09-09 | 2002-12-03 | Kabushiki Kaisha Toshiba | Cache flush apparatus and computer system having the same |
US20070124531A1 (en) * | 2005-11-30 | 2007-05-31 | Sony Corporation | Storage device, computer system, and storage device access method |
JP2007334852A (ja) * | 2005-11-30 | 2007-12-27 | Sony Corp | 記憶装置、コンピュータシステム、および記憶装置のアクセス方法 |
US20120198174A1 (en) * | 2011-01-31 | 2012-08-02 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US8838936B1 (en) * | 2013-11-27 | 2014-09-16 | NXGN Data, Inc. | System and method for efficient flash translation layer |
Also Published As
Publication number | Publication date |
---|---|
KR20170023734A (ko) | 2017-03-06 |
DE102016010276A1 (de) | 2017-03-02 |
GB2543391B (en) | 2019-03-27 |
US10209891B2 (en) | 2019-02-19 |
CN106486167B (zh) | 2019-11-15 |
GB201614433D0 (en) | 2016-10-05 |
CN106486167A (zh) | 2017-03-08 |
US20170060433A1 (en) | 2017-03-02 |
GB2543391A (en) | 2017-04-19 |
KR101933766B1 (ko) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11650976B2 (en) | Pattern matching using hash tables in storage system | |
JP2017084338A (ja) | フラッシュメモリのフラッシングを改善する方法およびシステム | |
US10289304B2 (en) | Physical address management in solid state memory by tracking pending reads therefrom | |
CN105843551B (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
US9715519B2 (en) | Managing updates to multiple sets of metadata pertaining to a memory | |
US9323659B2 (en) | Cache management including solid state device virtualization | |
JP5943095B2 (ja) | 複合不揮発性記憶装置のためのデータ移行 | |
KR101870521B1 (ko) | 스토리지 저널링을 개선하는 방법 및 시스템 | |
JP6218869B2 (ja) | Ssdへのコピーオンライト用システム及び方法 | |
US20170024140A1 (en) | Storage system and method for metadata management in non-volatile memory | |
US20140372675A1 (en) | Information processing apparatus, control circuit, and control method | |
EP3346387B1 (en) | Storage system and system garbage collection method | |
US20140372673A1 (en) | Information processing apparatus, control circuit, and control method | |
WO2016101145A1 (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
US20140325123A1 (en) | Information processing apparatus, control circuit, and control method | |
US20170017405A1 (en) | Systems and methods for improving flash-oriented file system garbage collection | |
JP2018106545A (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
EP4372540A1 (en) | Techniques for zoned namespace (zns) storage using multiple zones | |
US20150121033A1 (en) | Information processing apparatus and data transfer control method | |
US9703497B2 (en) | Storage system and storage control method | |
CN113971001A (zh) | 存储器装置中的存储流量模式检测 | |
US11954345B2 (en) | Two-level indexing for key-value persistent storage device | |
Munegowda et al. | Adapting Endurance and Performance Optimization Strategies of ExFAT file system to FAT file system for embedded storage devices | |
JP2020052852A (ja) | ストレージ及び情報処理システム。 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170808 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190409 |