JP2014110058A - フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング - Google Patents
フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング Download PDFInfo
- Publication number
- JP2014110058A JP2014110058A JP2013250303A JP2013250303A JP2014110058A JP 2014110058 A JP2014110058 A JP 2014110058A JP 2013250303 A JP2013250303 A JP 2013250303A JP 2013250303 A JP2013250303 A JP 2013250303A JP 2014110058 A JP2014110058 A JP 2014110058A
- Authority
- JP
- Japan
- Prior art keywords
- host
- read command
- volatile memory
- cost
- memory die
- 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
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000000737 periodic effect Effects 0.000 claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 122
- 238000000034 method Methods 0.000 claims description 23
- 239000007787 solid Substances 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013403 standard screening design Methods 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003446 memory effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1014—One time programmable [OTP] memory, e.g. PROM, WORM
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
【解決手段】 読取コマンドに応答するホストへのデータリターンを管理して、ソリッドステートドライブ(SSD)の動作モニタは、対応するフラッシュダイ上の読取動作を完了するまでの推定時間を特徴とする数値指標を保持するのに使用されるカウンタを管理する。タイマは、経時でカウンタをデクリメントする周期的なイベントを生成する。各カウンタに記憶される値は、対応するダイに送られたフラッシュ動作に対して生成され、一般に、動作履歴および動作の物理的な位置に基づく。読取コマンドが特定のダイに送られる予定の場合は常に、その特定の読取動作に対する時間推定が検索され、この情報に基づいて、データをホストに返す最適な順序が決定される。
【選択図】 図4
Description
本発明の一実施形態は、ソリッドステートドライブ(SSD)記憶装置を管理するために使用してもよい。図1は、本発明の実施形態が実施され得る例示的動作環境を示すブロック図である。図1は、主要な通信インターフェース106を介してホストデバイス104と通信可能に接続されたSSD102を備えた一般的なSSD構造100を示す。本発明の一実施形態は、図1に示したような構造に限定されず、むしろ実施形態は、SSD以外の動作環境に適用可能であってもよく、図1に示した構造以外のSSD構造内で実施してもよい。例えば実施形態は、データを書き込み、かつ読み取るための不揮発性メモリ記憶構成要素に依存する他の環境において動作するように実施してもよい。
図2は、本発明の一実施形態が実施され得る、メモリ動作モニタに注目した例示的動作環境の一部を示すブロック図である。例示的動作環境200は、CPU204に通信可能に連結されたメモリ動作モニタ202(以下「動作モニタ」と呼ぶ)を含む。動作モニタ202は、1つまたは複数のチャンネル206a、206b、206nにさらに連結され、各チャンネルは1つまたは複数の不揮発性メモリダイに連結される。例示的な目的として、図2は、ダイ208a0、ダイ208a1、ダイ208a2に連結され、それらと通信するチャンネル206aと、ダイ208b0、208b1、208b2に連結され、それらと通信するチャンネル206bと、ダイ208n0、208n1、208n2に連結され、それらと通信するチャンネル206nとを示す。図2に示したチャンネルおよび対応するメモリダイの数は、例を目的としており、本発明の実施形態は示した厳密な構造に限定されないことに留意されたい。
図4は、本発明の一実施形態による、ホストへのリターンを管理するための方法を示すフローチャートである。図4に示した工程は、SSD102(図1)などのSSD内で実施してもよい。さらに具体的には、図4に示した工程は、一実施形態によるSSD102のコントローラ112(図1)内で実施してもよい。さらに一実施形態によれば、図4の工程はメモリ動作モニタ202(図2)内で実施する。プロセス論理は、SSD102内のアナログもしくはデジタルハードウェア回路として、またはSSD102内のCPU204(図2)もしくはMPUなどのプロセッサによって実行されるファームウェア命令として実施してもよい。
フラッシュメモリの特性および作業能力は経時で、そして使用で変わり(例えばプログラム時間、消去時間などを)、また動作コスト推定が部分的にフラッシュの特性に基づくため、初期動作コスト値は、フラッシュが不揮発性メモリに使用される一実施形態において、ドライブの寿命の間、調整されてもよい。そのため、消去コストレジスタ310、読取コストレジスタ312、およびプログラムコストレジスタ314a〜314n(図3)内の値は、使用で生じる完了時間のばらつきに基づいて、すなわちフラッシュの動作履歴に基づいて経時で調整されてもよい。
102 SSD
104 ホストデバイス
106 主要インターフェース
110 インターフェース
112 コントローラ
114 アドレッシング部
116 データバッファキャッシュ
118 エラー訂正コード(ECC)
120a、120b、120n 不揮発性メモリ構成要素
122 揮発性メモリ
200 動作環境
202 メモリ動作モニタ
204 CPU
206a、206b、206n チャンネル
208a0、208a1、208a2、208b0、208b1、208b2、208n0、208n1、208n2 メモリダイ
302a0、302a1、302a2、302b0、302b1、302b2、302n0、302n1、302n2 ダイカウンタ
304 タイマ
306 制御論理
308 メモリ
310 消去コストレジスタ
312 読取コストレジスタ
314a、314b、314c、314n プログラムコストレジスタ
316a、316b、316n チャンネルバス制御機構
402、404、406、408、410、412 ブロック
Claims (15)
- ソリッドステートドライブ(SSD)装置がホストから受け取った読取コマンドに応答する前記ホストへのリターンを管理するための方法であって、
前記ホストからデータ読取コマンドを受け取るステップと、
前記読取コマンドに対応するそれぞれの不揮発性メモリダイに送られた動作ごとの完了までの推定時間に基づいて、前記読取コマンドの完了までの総推定時間を計算するステップと、
前記読取コマンドの完了までの前記総推定時間に基づいて、前記ホストから受け取った他のデータ読取コマンドに対して、要求されたデータをどんな順序で前記ホストに返すべきかを決定するステップと、
前記要求されたデータを、決定された前記順序で前記ホストに返すステップと、
を含む方法。 - ソリッドステートドライブ(SSD)装置がホストから受け取った読取コマンドに応答する前記ホストへのリターンを管理するための方法であって、
前記ホストからデータ読取コマンドを受け取るステップと、
それぞれの不揮発性メモリダイに送られた動作ごとに動作コストを生成するステップであって、各動作コストを周期的なイベントに基づいて経時でデクリメントするステップと、
前記読取コマンドに対応する前記それぞれの不揮発性メモリダイに送られた動作ごとの現在の動作コストに基づいて、前記読取コマンドの総コストを計算するステップと、
前記読取コマンドの前記総コストに基づいて、前記ホストから受け取った他のデータ読取コマンドに対して、要求されたデータをどんな順序で前記ホストに返すべきかを決定するステップと、
前記要求されたデータを、決定された前記順序で前記ホストに返すステップと、
を含む方法。 - 動作コストを生成するステップが、(1)ターゲット不揮発性メモリダイがアイドル状態であるか否か、(2)ターゲット不揮発性メモリダイが消去動作でビジー状態であるか否か、(3)ターゲット不揮発性メモリダイがページプログラム動作でビジー状態であるか否か、および(4)ターゲット不揮発性メモリダイが読取動作でビジー状態であるか否か、のうちの少なくとも1つに基づいて、動作コストを生成するステップを含む、
請求項2に記載の方法。 - 動作コストを生成するステップが、不揮発性メモリダイに送られた対応する動作の完了までの時間を推定するステップを含む、
請求項2に記載の方法。 - 動作コストを生成するステップが、不揮発性メモリダイ上の動作の物理的な位置に基づいて動作コストを生成するステップを含む、
請求項2に記載の方法。 - 動作コストを生成するステップが、不揮発性メモリダイの動作履歴に基づいて動作コストを生成するステップを含む、
請求項2に記載の方法。 - 前記要求されたデータを前記ホストに返すステップが、第1の読取コマンドに対応する第1の動作コストよりも、第2の読取コマンドに対応する第2の動作コストが少ないことに基づいて、前記第1の動作コストを有する第1の要求されたデータの前に、前記第2の動作コストを有する第2の要求されたデータを前記ホストに返すステップを含む、
請求項2に記載の方法。 - 前記第1の読取コマンドを前記ホストから受け取った後、前記第2の読取コマンドを前記ホストから受け取った、
請求項7に記載の方法。 - 前記動作コストが推定動作コストであり、
動作コストを生成するステップが、
前記推定動作コストと、不揮発性メモリダイに送られた対応する動作の完了までの時間との差を特定するステップと、
前記差に基づいて、前記推定動作コストを調整するステップと、
を含む、
請求項2に記載の方法。 - 不揮発性メモリダイと、前記不揮発性メモリダイ上の動作を管理するためのコントローラと、を含むソリッドステートドライブ(SSD)であって、
前記コントローラがホストから受け取ったデータ読取コマンドの動作コストの要求を前記コントローラから受け取り、
それぞれの不揮発性メモリダイに送られた動作ごとの完了までの時間を示す動作コストを生成し、前記対応するカウンタに前記動作コストを記憶することを含み、各カウンタがそれぞれの不揮発性メモリダイに関連付けられたカウンタを管理し、
周期的なイベントを生成するタイマに基づいて各動作コストをデクリメントし、
前記コントローラが受け取った前記読取コマンドに対応するそれぞれの不揮発性メモリダイに送られた動作ごとの現在の動作コストを前記コントローラに返し、前記現在の動作コストが、前記読取コマンドに対応するそれぞれの不揮発性メモリダイに関連付けられた各カウンタの現在の値に基づく、
ように構成された動作モニタと、
前記それぞれの不揮発性メモリダイに送られた動作ごとの現在の動作コストに基づいて、前記読取コマンドの総コストを計算し、
前記読取コマンドの前記総コストに基づいて、前記ホストから受け取った他のデータ読取コマンドに対して、前記要求されたデータをどんな順序で前記ホストに返すべきかを決定する、
ように構成された前記コントローラと、
を含む、SSD。 - 1つまたは複数のチャンネルバス制御をさらに含み、
カウンタを管理する前記動作モニタが、前記1つまたは複数のチャンネルバス制御からの情報に基づいて動作ごとの動作コストを生成するステップであって、前記情報から、不揮発性メモリダイに送られた動作の期間が、前記不揮発性メモリダイに関連付けられたチャンネルバスを監視することにより決定されるステップを含む、
請求項10に記載のSSD。 - 前記不揮発性メモリダイ上の消去動作の完了時間に対応する値を管理するための1つまたは複数の消去コストレジスタと、
前記不揮発性メモリダイ上の読取動作の完了時間に対応する値を記憶するための1つまたは複数の読取コストレジスタと、
前記不揮発性メモリダイ上の書込動作の完了時間に対応する値を記憶するための1つまたは複数のプログラムコストレジスタと、
を含み、
動作ごとに動作コストを生成するステップが、前記消去コストレジスタ、前記読取コストレジスタおよび前記プログラムコストレジスタに関連する1つまたは複数のそれぞれの値に基づく、
請求項10に記載のSSD。 - カウンタを管理する前記動作モニタが、
カウンタからの動作コストと、対応する不揮発性メモリダイに送られた対応する動作の完了までの実際の時間との差を特定するステップと、
前記差に基づいて、前記カウンタの前記動作コストを調整するステップと、
を含む、
請求項10に記載のSSD。 - 1つまたは複数の命令シーケンスを記憶するソリッドステートドライブコントローラであって、1つまたは複数のプロセッサによって実行される時、
ホストからデータ読取コマンドを受け取り、
前記読取コマンドに対応するそれぞれの不揮発性メモリダイに送られた動作ごとの完了までの推定時間に基づいて、前記読取コマンドの完了までの総推定時間を計算し、
前記読取コマンドの完了までの前記総推定時間に基づいて、前記ホストから受け取った他のデータ読取コマンドに対して、要求されたデータをどんな順序で前記ホストに返すべきかを決定し、
前記要求されたデータを、決定された前記順序で前記ホストに返す、
性能をもたらすコントローラ。 - 1つまたは複数の命令シーケンスを記憶するソリッドステートドライブコントローラであって、1つまたは複数のプロセッサによって実行される時、
ホストからデータ読取コマンドを受け取り、
それぞれの不揮発性メモリダイに送られた動作ごとに動作コストを生成し、各動作コストを周期的なイベントに基づいて経時でデクリメントし、
前記読取コマンドに対応する前記それぞれの不揮発性メモリダイに送られた動作ごとの現在の動作コストに基づいて、前記読取コマンドの総コストを計算し、
前記読取コマンドの前記総コストに基づいて、前記ホストから受け取った他のデータ読取コマンドに対して、要求されたデータをどんな順序で前記ホストに返すべきかを決定し、
前記要求されたデータを、決定された前記順序で前記ホストに返す、
性能をもたらすコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/705,103 US9032177B2 (en) | 2012-12-04 | 2012-12-04 | Host read command return reordering based on time estimation of flash read command completion |
US13/705,103 | 2012-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014110058A true JP2014110058A (ja) | 2014-06-12 |
JP5719013B2 JP5719013B2 (ja) | 2015-05-13 |
Family
ID=49979436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013250303A Active JP5719013B2 (ja) | 2012-12-04 | 2013-12-03 | フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング |
Country Status (5)
Country | Link |
---|---|
US (3) | US9032177B2 (ja) |
JP (1) | JP5719013B2 (ja) |
KR (1) | KR101543102B1 (ja) |
DE (1) | DE102013020269A1 (ja) |
GB (1) | GB2509603B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932110A (zh) * | 2017-05-26 | 2018-12-04 | 希捷科技有限公司 | 用于管理存储器中数据的方法和装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9508437B2 (en) * | 2014-01-30 | 2016-11-29 | Sandisk Technologies Llc | Pattern breaking in multi-die write management |
KR102317786B1 (ko) | 2015-02-02 | 2021-10-26 | 삼성전자주식회사 | 스토리지 디바이스에서의 입출력 처리 방법 및 이를 적용하는 스토리지 디바이스 및 비휘발성 메모리 디바이스 |
KR102339779B1 (ko) | 2015-04-06 | 2021-12-15 | 삼성전자주식회사 | 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 상기 시스템의 작동 방법 |
US9477408B1 (en) | 2015-04-14 | 2016-10-25 | Samsung Electronics Co., Ltd. | Memory systems having improved out-of-order execution of commands and methods for operating the same |
CN106067321B (zh) * | 2015-04-21 | 2020-09-15 | 爱思开海力士有限公司 | 适于存储器编程暂停-恢复的控制器 |
US9875053B2 (en) * | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
CN106933492B (zh) * | 2015-12-30 | 2020-05-22 | 伊姆西Ip控股有限责任公司 | 有助于固态硬盘的磨损平衡的方法和装置 |
US10636065B2 (en) | 2016-03-09 | 2020-04-28 | Western Digital Technologies, Inc. | Data storage device, method and system, and control of data storage device based on writing operations and lifetime |
US10540274B2 (en) | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
US10146444B2 (en) | 2016-10-03 | 2018-12-04 | Samsung Electronics Co., Ltd. | Method for read latency bound in SSD storage systems |
US10740228B2 (en) * | 2017-05-18 | 2020-08-11 | Sandisk Technologies Llc | Locality grouping during garbage collection of a storage device |
US10901892B2 (en) * | 2017-05-18 | 2021-01-26 | Western Digital Technologies, Inc. | Locality grouping during garbage collection with flush of buffered write data upon completion of garbage collection operation |
US10528268B2 (en) | 2017-09-12 | 2020-01-07 | Toshiba Memory Corporation | System and method for channel time management in solid state memory drives |
KR102427323B1 (ko) * | 2017-11-08 | 2022-08-01 | 삼성전자주식회사 | 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법 |
KR102626048B1 (ko) * | 2018-03-21 | 2024-01-18 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
JP2019175292A (ja) | 2018-03-29 | 2019-10-10 | 東芝メモリ株式会社 | 電子機器、コンピュータシステム、および制御方法 |
US11593262B1 (en) * | 2018-04-25 | 2023-02-28 | Seagate Technology Llc | Garbage collection command scheduling |
US11150836B2 (en) | 2018-06-28 | 2021-10-19 | Seagate Technology Llc | Deterministic optimization via performance tracking in a data storage system |
JP2020149588A (ja) * | 2019-03-15 | 2020-09-17 | キオクシア株式会社 | メモリシステム及びメモリコントローラ |
US11074011B2 (en) | 2019-03-20 | 2021-07-27 | Western Digital Technologies, Inc. | Solid state drive latency estimation interface for host performance tuning |
US10971215B1 (en) | 2020-02-24 | 2021-04-06 | Western Digital Technologies, Inc. | Dynamically adjust data transfer speed for non-volatile memory die interfaces |
US11645009B2 (en) | 2021-03-03 | 2023-05-09 | Western Digital Technologies, Inc. | Data storage with improved read parallelism |
US11531499B2 (en) * | 2021-03-04 | 2022-12-20 | Western Digital Technologies, Inc. | Data storage that controls decode performance by changing program PLC |
KR20230096289A (ko) | 2021-12-23 | 2023-06-30 | 국민대학교산학협력단 | 저장장치의 입출력 응답시간 추적 장치 및 방법 |
US20240143182A1 (en) * | 2022-10-31 | 2024-05-02 | Phison Electronics Corp. | Data reading method, memory storage device, and memory control circuit unit |
CN116882335B (zh) * | 2023-09-06 | 2023-12-22 | 上海芯存天下电子科技有限公司 | 操作时间仿真获取方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011000082A1 (en) * | 2009-06-29 | 2011-01-06 | Mosaid Technologies Incorporated | A bridging device having a frequency configurable clock domain |
JP2012014433A (ja) * | 2010-06-30 | 2012-01-19 | Toshiba Corp | 半導体記憶装置及びデータ書き込み読み出し方法 |
WO2012037293A1 (en) * | 2010-09-15 | 2012-03-22 | Pure Storage, Inc. | Scheduling of i/o in an ssd environment |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6013589A (en) * | 1998-03-13 | 2000-01-11 | The Procter & Gamble Company | Absorbent materials for distributing aqueous liquids |
US6513089B1 (en) * | 2000-05-18 | 2003-01-28 | International Business Machines Corporation | Dual burst latency timers for overlapped read and write data transfers |
US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
AU2003291014A1 (en) * | 2002-11-14 | 2004-06-15 | Isilon Systems, Inc. | Systems and methods for restriping files in a distributed file system |
US7379974B2 (en) | 2003-07-14 | 2008-05-27 | International Business Machines Corporation | Multipath data retrieval from redundant array |
US20050041453A1 (en) | 2003-08-22 | 2005-02-24 | Brazis Paul W. | Method and apparatus for reading and writing to solid-state memory |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7802061B2 (en) | 2006-12-21 | 2010-09-21 | Intel Corporation | Command-based control of NAND flash memory |
US7937321B2 (en) * | 2007-01-16 | 2011-05-03 | Verizon Patent And Licensing Inc. | Managed service for detection of anomalous transactions |
US9021482B2 (en) | 2007-05-04 | 2015-04-28 | International Business Machines Corporation | Reordering data responses using ordered indicia in a linked list |
US8140739B2 (en) | 2008-08-08 | 2012-03-20 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table |
US9123409B2 (en) | 2009-06-11 | 2015-09-01 | Micron Technology, Inc. | Memory device for a hierarchical memory architecture |
US8495332B2 (en) | 2009-07-24 | 2013-07-23 | Apple Inc. | Controller for optimizing throughput of read operations |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
-
2012
- 2012-12-04 US US13/705,103 patent/US9032177B2/en not_active Expired - Fee Related
-
2013
- 2013-11-28 GB GB201320971A patent/GB2509603B/en active Active
- 2013-12-02 DE DE102013020269.8A patent/DE102013020269A1/de active Pending
- 2013-12-03 JP JP2013250303A patent/JP5719013B2/ja active Active
- 2013-12-04 KR KR1020130149818A patent/KR101543102B1/ko active IP Right Grant
-
2015
- 2015-04-07 US US14/680,657 patent/US9354814B2/en not_active Expired - Fee Related
-
2016
- 2016-05-13 US US15/154,418 patent/US9652156B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011000082A1 (en) * | 2009-06-29 | 2011-01-06 | Mosaid Technologies Incorporated | A bridging device having a frequency configurable clock domain |
JP2012014433A (ja) * | 2010-06-30 | 2012-01-19 | Toshiba Corp | 半導体記憶装置及びデータ書き込み読み出し方法 |
WO2012037293A1 (en) * | 2010-09-15 | 2012-03-22 | Pure Storage, Inc. | Scheduling of i/o in an ssd environment |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932110A (zh) * | 2017-05-26 | 2018-12-04 | 希捷科技有限公司 | 用于管理存储器中数据的方法和装置 |
US10664168B2 (en) | 2017-05-26 | 2020-05-26 | Seagate Technology Llc | Data transfers with adaptively adjusted polling times |
CN108932110B (zh) * | 2017-05-26 | 2021-08-13 | 希捷科技有限公司 | 用于管理存储器中数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2509603B (en) | 2015-05-20 |
KR101543102B1 (ko) | 2015-08-07 |
US9354814B2 (en) | 2016-05-31 |
JP5719013B2 (ja) | 2015-05-13 |
US20150212735A1 (en) | 2015-07-30 |
US9032177B2 (en) | 2015-05-12 |
GB2509603A (en) | 2014-07-09 |
DE102013020269A1 (de) | 2014-06-05 |
GB201320971D0 (en) | 2014-01-15 |
KR20140071938A (ko) | 2014-06-12 |
US20140156911A1 (en) | 2014-06-05 |
US20160253095A1 (en) | 2016-09-01 |
US9652156B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5719013B2 (ja) | フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング | |
KR102546244B1 (ko) | 모픽 스토리지 장치 | |
KR101394845B1 (ko) | 비휘발성 메모리 상태 정보를 획득하여 이용하기 위한 시스템들 및 방법들 | |
US8719531B2 (en) | System and method for performing data retention that incorporates environmental conditions | |
US9052826B2 (en) | Selecting storage locations for storing data based on storage location attributes and data usage statistics | |
US8254172B1 (en) | Wear leveling non-volatile semiconductor memory based on erase times and program times | |
US20180196743A1 (en) | Directed sanitization of memory | |
TW201945921A (zh) | 在固態儲存驅動器陣列中的工作量適應超容量快取 | |
US9348520B2 (en) | Lifetime extension of non-volatile semiconductor memory for data storage device | |
KR20210111527A (ko) | 메모리 시스템에서 가비지 컬렉션을 수행하는 장치 및 방법 | |
JP6119533B2 (ja) | ストレージ装置,ステージング制御方法及びステージング制御プログラム | |
KR20140113211A (ko) | 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법 | |
US9690696B1 (en) | Lifetime extension of memory for data storage system | |
US10957411B2 (en) | Apparatus and method for managing valid data in memory system | |
US10339053B2 (en) | Variable cache flushing | |
TWI570738B (zh) | 具有使用歷程記錄的主記憶體模組以及此主記憶體模組於電腦系統之應用 | |
KR20140041408A (ko) | 저장 위치 속성 및 데이터 사용량 통계에 기초하여 데이터 저장을 위한 저장 위치 선택 | |
US10564886B2 (en) | Methods and apparatus for controlling flash translation layer recycle from host | |
CN110083496B (zh) | 非易失存储设备的掉电时间估计方法和装置 | |
US11954367B2 (en) | Active time-based command prioritization in data storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150115 |
|
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: 20150217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5719013 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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |