JP6932530B2 - ホストへの動的帯域幅報告のための装置および方法 - Google Patents
ホストへの動的帯域幅報告のための装置および方法 Download PDFInfo
- Publication number
- JP6932530B2 JP6932530B2 JP2017063019A JP2017063019A JP6932530B2 JP 6932530 B2 JP6932530 B2 JP 6932530B2 JP 2017063019 A JP2017063019 A JP 2017063019A JP 2017063019 A JP2017063019 A JP 2017063019A JP 6932530 B2 JP6932530 B2 JP 6932530B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- host
- bandwidth
- controller
- statistics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/1668—Details of memory controller
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- 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/065—Replication mechanisms
-
- 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/0653—Monitoring storage devices or systems
-
- 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
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)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は概してソリッドステートドライブに関し、より特定的には、ソリッドステートドライブについて動的帯域幅報告を実現するための方法および/または装置に関する。
ストレージへのアクセスは、従来のサーバ仮想化システムの一部である。サーバ仮想化システムでは、サーバは、情報技術インフラストラクチャの効率的で費用効果の高い利用を可能にする仮想マシンを実行する。各サーバは、中央処理装置、メモリ、ネットワークインターフェイス、およびストレージの基礎をなすハードウェアインフラストラクチャの利用を最大化することを目標として、多数の仮想マシンをホストし得る。1つのサーバ上でホストする仮想マシンが多過ぎると、仮想マシンについて許容できないレベルのパフォーマンス劣化につながることが多い。ホストする仮想マシンの数が控えめであると、インフラストラクチャが十分に利用されない。
本発明は、メモリおよびコントローラを含む装置に関する。メモリはデータを記憶するように構成され得る。コントローラは複数のテーブルを有し得る。コントローラは概して、メモリに対する読出/書込を求める複数の入出力要求を処理し、メモリの複数の統計を追跡し、複数のテーブルをメモリの複数の統計で索引付けして複数のパラメータを求め、ホストから隠されている1つ以上のタスクを有するメモリにサービスしている間にコントローラが消費する第1の帯域幅を複数のパラメータに基づいて算出し、コントローラが消費する第1の帯域幅に基づいてホストが利用可能なメモリの第2の帯域幅をホストに報告するように構成される。
本発明の実施形態は、(i)ドライブ内でサービス動作を実行するコントローラが消費するメモリ帯域幅を推定し得、(ii)コントローラがドライブ統計をどのように集めるかを制御する能力をホストに与え得、(iii)帯域幅計算において仮定シナリオを説明し得、および/または(iv)1つ以上の集積回路として実現され得るソリッドステートドライブついて動的帯域幅報告を提供することを含む。
ホストB/W = フラッシュB/W − (リサイクルB/W + FTL B/W + キャッシュオフロードB/W + 雑多B/W) (1)
フラッシュB/W値はメモリ104の固定値であり得、概してメモリ104の設計に基づいている。リサイクルB/W値は、ガーベッジコレクション動作によって消費されるサービス帯域幅であり得る。FTL B/W値は、フラッシュトランスレーションレイヤ動作によって消費されるサービス帯域幅であり得る。キャッシュオフロードB/W値は、キャッシュ122からメモリ104にデータをオフロードしている間に消費される平均サービス帯域幅であり得る。雑多B/W値は、コントローラ102が消費するサービス帯域幅を増加させる他の動作の合計であり得る。
残りの利用可能なBW = 利用可能な全BW − 現在のBW (3)
残りの利用可能な帯域幅は概して、多数のファクタおよび入力に基づく分析計算である。残りの生の帯域幅およびリソースは、生の全帯域幅、読出および書込について残っている生のフラッシュ帯域幅、残っている生のフラッシュバス帯域幅、残っている生の中央処理装置(CPU)リソース、残っている生のバッファ空間および帯域幅、残っている生の内部バス帯域幅、ならびに残っている生のホストインターフェイス帯域幅から、現在の生の帯域幅を引くことによって計算され得る。剰余は概してコントローラ102上の残りのリソースおよび帯域幅を表わす。その後、コントローラ利用およびリソースに基づいて、以下の統計を用いて、選択された作業負荷に基づいて残りの帯域幅が求められ得る:CPU利用;有効なオーバープロビジョニング(残りの書込帯域幅を算出するために用いられる);空きメモリ空間クレジットが得られる速度も、分布が異なり得るために考慮され得る;読出帯域幅に影響を与え得る平均符号化率およびプログラム/消去サイクル;ならびに、さまざまな有効なオーバープロビジョニングレベルおよび容量で収集された1つ以上のアプリケーションパフォーマンスプロファイル。当該プロファイルはテーブルに記憶され得る。ホスト92は、どのアプリケーションがどの領域を使用しているかを、対応するプロファイルと共に特定し得る。
Claims (20)
- データを記憶するように構成されたメモリと、
前記メモリの複数の統計をパラメータに変換するデータを記憶する複数のテーブルを有するコントローラと、ホストに接続可能なホストインターフェイス回路とを備える装置であって、前記コントローラは、前記メモリに対する読出/書込を求める複数の入出力要求を処理し、前記メモリの前記複数の統計を追跡し、前記複数の統計は、前記メモリのオーバープロビジョニング、前記メモリにおいて実行されたプログラム/消去サイクルの総数、前記メモリが電源投入された合計時間を含み、前記複数のテーブルを前記メモリの前記複数の統計によって索引付けすることで複数のパラメータを求め、前記コントローラが前記ホストから隠されている1つ以上のタスクを前記メモリに対して実行している間に前記コントローラが消費する第1の帯域幅を前記複数のパラメータに基づいて算出し、前記コントローラが消費する前記第1の帯域幅に基づいて、前記ホストが前記ホストインターフェイス回路を介して利用可能な前記メモリの第2の帯域幅を算出し、前記第2の帯域幅を前記ホストインターフェイス回路を介して前記ホストに報告するように構成される、装置。 - 前記メモリおよび前記コントローラはソリッドステートドライブの一部を形成する、請求項1に記載の装置。
- 前記コントローラはさらに、前記コントローラによって実行される動的内部イベント、前記コントローラによって実行される周期的な内部イベント、前記ホストからの問合せ、パワーオンイベント、ガーベッジコレクションタスクの開始、および前記ガーベッジコレクションタスクの終了、の少なくとも1つに応答して前記第2の帯域幅を前記ホストに報告するように構成される、請求項1に記載の装置。
- 前記ホストに報告される前記第2の帯域幅は、前記ホストと前記コントローラとの間で前記ホストインターフェイス回路を介して毎秒転送され得るデータの量を示す、請求項1に記載の装置。
- 前記コントローラはさらに、前記ホストから1つ以上の指示を受信し、前記1つ以上の指示に基づいて、前記メモリの前記複数の統計の1つ以上がどのように追跡されるかを制御するように構成される、請求項1に記載の装置。
- 前記コントローラはさらに、前記ホストによる付加的な帯域幅の仮定の消費を受信し、前記仮定の消費に基づいて、前記ホストに報告される前記第2の帯域幅を更新するように構成される、請求項1に記載の装置。
- 前記メモリの前記複数の統計は、現在利用可能な空き空間の量をさらに含む、請求項1に記載の装置。
- 前記第2の帯域幅は、前記ホストが利用可能な読出帯域幅および前記ホストが利用可能な書込帯域幅として報告される、請求項1に記載の装置。
- 前記コントローラはさらに、前記メモリと前記コントローラとの間で転送されているユーザデータのサイズを修正する1つ以上の動作に基づいて、前記メモリの前記複数の統計の1つ以上を推定するように構成される、請求項1に記載の装置。
- 前記1つ以上の動作は、エラー訂正コード動作、圧縮動作、およびトリム動作の1つ以上を含む、請求項9に記載の装置。
- ホストへの動的帯域幅報告のための方法であって、
メモリに対する読出/書込を求める複数の入出力要求をコントローラにおいて処理するステップと、
前記メモリの複数の統計を追跡するステップとを備え、前記複数の統計は、前記メモリのオーバープロビジョニング、前記メモリにおいて実行されたプログラム/消去サイクルの総数、前記メモリが電源投入された合計時間を含み、前記方法はさらに、
前記コントローラ内の複数のテーブルを前記メモリの前記複数の統計によって索引付けすることで複数のパラメータを求めるステップを備え、前記複数のテーブルは、前記メモリの前記複数の統計をパラメータに変換するデータを記憶し、前記方法はさらに、
前記コントローラが前記ホストから隠されている1つ以上のタスクを前記メモリに対して実行している間に前記コントローラが消費する第1の帯域幅を、前記複数のパラメータに基づいて算出するステップと、
前記コントローラが消費する前記第1の帯域幅に基づいて、前記ホストがホストインターフェイス回路を介して利用可能な前記メモリの第2の帯域幅を算出するステップと、
前記メモリの第2の帯域幅を前記ホストに報告するステップとを備える、方法。 - 前記ステップはソリッドステートドライブにおいて実行される、請求項11に記載の方法。
- 前記第2の帯域幅は、前記コントローラによって実行される動的内部イベント、前記コントローラによって実行される周期的な内部イベント、前記ホストからの問合せ、パワーオンイベント、ガーベッジコレクションタスクの開始、および前記ガーベッジコレクションタスクの終了、の少なくとも1つに応答して前記ホストに報告される、請求項11に記載の方法。
- 前記ホストに報告される前記第2の帯域幅は、前記ホストと前記コントローラとの間で前記ホストインターフェイス回路を介して毎秒転送され得るデータの量を示す、請求項11に記載の方法。
- 前記ホストから1つ以上の指示を受信するステップと、
前記1つ以上の指示に基づいて、前記メモリの前記複数の統計の1つ以上がどのように追跡されるかを制御するステップとをさらに備える、請求項11に記載の方法。 - 前記ホストによる付加的な帯域幅の仮定の消費を受信するステップと、
前記仮定の消費に基づいて、前記ホストに報告される前記第2の帯域幅を更新するステップとをさらに備える、請求項11に記載の方法。 - 前記第2の帯域幅は、前記ホストが利用可能な読出帯域幅および前記ホストが利用可能な書込帯域幅として報告される、請求項11に記載の方法。
- 前記メモリと前記コントローラとの間で転送されているユーザデータのサイズを修正する1つ以上の動作に基づいて、前記メモリの前記複数の統計の1つ以上を推定するステップをさらに備え、
前記1つ以上の動作は、エラー訂正コード動作、圧縮動作、およびトリム動作の1つ以上を含む、請求項11に記載の方法。 - メモリに対する複数の読出/書込動作を処理するように構成されたインターフェイスと、
前記メモリの複数の統計をパラメータに変換するデータを記憶する複数のテーブルおよびホストに接続可能なホストインターフェイス回路を有する制御回路とを備える装置であって、前記制御回路は、前記メモリの前記複数の統計を追跡し、前記複数の統計は、前記メモリのオーバープロビジョニング、前記メモリにおいて実行されたプログラム/消去サイクルの総数、前記メモリが電源投入された合計時間を含み、前記複数のテーブルを前記メモリの前記複数の統計によって索引付けすることで複数のパラメータを求め、前記制御回路が前記ホストから隠されている1つ以上のタスクを前記メモリに対して実行している間に前記制御回路が消費する第1の帯域幅を前記複数のパラメータに基づいて算出し、前記制御回路が消費する前記第1の帯域幅に基づいて、前記ホストが前記ホストインターフェイス回路を介して利用可能な前記メモリの第2の帯域幅を算出し、前記第2の帯域幅を前記ホストインターフェイス回路を介して前記ホストに報告するように構成される、装置。 - 前記メモリおよび前記制御回路は、ソリッドステートドライブの一部を形成する、請求項19に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/082,492 | 2016-03-28 | ||
US15/082,492 US10156999B2 (en) | 2016-03-28 | 2016-03-28 | Dynamic bandwidth reporting for solid-state drives |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018010615A JP2018010615A (ja) | 2018-01-18 |
JP6932530B2 true JP6932530B2 (ja) | 2021-09-08 |
Family
ID=59897919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017063019A Active JP6932530B2 (ja) | 2016-03-28 | 2017-03-28 | ホストへの動的帯域幅報告のための装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10156999B2 (ja) |
JP (1) | JP6932530B2 (ja) |
KR (1) | KR102302649B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10275162B2 (en) | 2017-06-23 | 2019-04-30 | Dell Products L.P. | Methods and systems for managing data migration in solid state non-volatile memory |
CN111656329A (zh) | 2017-12-29 | 2020-09-11 | 美光科技公司 | 不可校正ecc |
US11416171B2 (en) | 2020-01-07 | 2022-08-16 | Western Digital Technologies, Inc. | Dynamic predictive latency attributes |
KR20220165980A (ko) * | 2021-06-09 | 2022-12-16 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US20240069783A1 (en) * | 2022-08-29 | 2024-02-29 | Micron Technology, Inc. | Memory phase monitoring and scheduling system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291131B2 (en) * | 2009-07-06 | 2012-10-16 | Micron Technology, Inc. | Data transfer management |
US8826270B1 (en) | 2010-03-16 | 2014-09-02 | Amazon Technologies, Inc. | Regulating memory bandwidth via CPU scheduling |
KR101467941B1 (ko) | 2011-04-26 | 2014-12-02 | 엘에스아이 코포레이션 | 비휘발성 저장부에 대한 가변 오버프로비저닝 |
EP2742429A4 (en) * | 2011-08-09 | 2015-03-25 | Lsi Corp | I / O DEVICE AND INTERACTION WITH DATA PROCESSING HOST |
JP5733136B2 (ja) * | 2011-09-26 | 2015-06-10 | 富士通株式会社 | 情報処理装置の制御方法、制御プログラム及び情報処理装置 |
US9081504B2 (en) | 2011-12-29 | 2015-07-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Write bandwidth management for flash devices |
JP5900088B2 (ja) * | 2012-03-27 | 2016-04-06 | 富士通株式会社 | 並列計算機、並列計算機の制御方法及び制御プログラム |
US8848577B2 (en) | 2012-09-24 | 2014-09-30 | Apple Inc. | Bandwidth management |
US8830716B2 (en) | 2012-09-29 | 2014-09-09 | Intel Corporation | Intelligent far memory bandwith scaling |
US20140095696A1 (en) * | 2012-10-01 | 2014-04-03 | Emerson Electric Co. | Evaluating utilization of one or more computer systems |
US20140108740A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Prefetch throttling |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US20140337598A1 (en) * | 2013-05-07 | 2014-11-13 | Lsi Corporation | Modulation of flash programming based on host activity |
US10182110B2 (en) * | 2013-12-13 | 2019-01-15 | Hitachi, Ltd. | Transfer format for storage system, and transfer method |
US9916087B2 (en) * | 2014-10-27 | 2018-03-13 | Sandisk Technologies Llc | Method and system for throttling bandwidth based on temperature |
US20160210060A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
-
2016
- 2016-03-28 US US15/082,492 patent/US10156999B2/en active Active
-
2017
- 2017-03-28 KR KR1020170039496A patent/KR102302649B1/ko active IP Right Grant
- 2017-03-28 JP JP2017063019A patent/JP6932530B2/ja active Active
-
2018
- 2018-11-12 US US16/186,958 patent/US10346058B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10156999B2 (en) | 2018-12-18 |
US10346058B2 (en) | 2019-07-09 |
US20190079680A1 (en) | 2019-03-14 |
KR20170113343A (ko) | 2017-10-12 |
US20170277444A1 (en) | 2017-09-28 |
JP2018010615A (ja) | 2018-01-18 |
KR102302649B1 (ko) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6932530B2 (ja) | ホストへの動的帯域幅報告のための装置および方法 | |
TWI740110B (zh) | 在固態儲存驅動器陣列中的工作量適應超容量快取 | |
KR102362045B1 (ko) | 멀티-티어 올-플래시 데이터센터의 자동 데이터 배치 관리자 | |
US9189410B2 (en) | Hypervisor-based flash cache space management in a multi-VM environment | |
US9971548B1 (en) | Storage resource management employing performance analytics | |
US8521986B2 (en) | Allocating storage memory based on future file size or use estimates | |
US9298616B2 (en) | Systems and methods for tracking working-set estimates with a limited resource budget | |
US20140181370A1 (en) | Method to apply fine grain wear leveling and garbage collection | |
US8862837B1 (en) | Techniques for automated data compression and decompression | |
JP2015518987A (ja) | フラッシュストレージのためのi/oアクセスパターンの特殊化 | |
US10997080B1 (en) | Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address | |
US20140244892A1 (en) | Assigning a weighting to host quality of service indicators | |
US20180121237A1 (en) | Life cycle management of virtualized storage performance | |
Kim et al. | SSDcheck: Timely and accurate prediction of irregular behaviors in black-box SSDs | |
Liu et al. | CostPI: Cost-effective performance isolation for shared NVMe SSDs | |
US9317224B1 (en) | Quantifying utilization of a data storage system by a virtual storage unit | |
US11693570B2 (en) | Machine learning to improve caching efficiency in a storage system | |
WO2015072925A1 (en) | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system | |
US11126360B2 (en) | Dynamically adjusting block mode pool sizes | |
Qi et al. | Indef: An advanced defragmenter supporting migration offloading on zns ssd | |
Sun et al. | CalmWPC: A buffer management to calm down write performance cliff for NAND flash-based storage systems | |
CN117234434B (zh) | 存储设备的操作控制方法及装置 | |
US20240012763A1 (en) | Systems And Methods Of Intelligent Logical Block Address (LBA) Access Trace Log Collection For Performance Optimization | |
Xu et al. | Locality-Driven Dynamic Flash Cache Allocation | |
WO2017141408A1 (ja) | 方法、媒体及び計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AA79 | Non-delivery of priority document |
Free format text: JAPANESE INTERMEDIATE CODE: A24379 Effective date: 20170801 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191009 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210201 |
|
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: 20210720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6932530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |