JP6313993B2 - ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 - Google Patents

ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 Download PDF

Info

Publication number
JP6313993B2
JP6313993B2 JP2014033982A JP2014033982A JP6313993B2 JP 6313993 B2 JP6313993 B2 JP 6313993B2 JP 2014033982 A JP2014033982 A JP 2014033982A JP 2014033982 A JP2014033982 A JP 2014033982A JP 6313993 B2 JP6313993 B2 JP 6313993B2
Authority
JP
Japan
Prior art keywords
host
data
indicator
quality
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.)
Expired - Fee Related
Application number
JP2014033982A
Other languages
English (en)
Other versions
JP2014164769A5 (ja
JP2014164769A (ja
Inventor
リャン・ジェイムズ・ゴス
マイケル・ジョセフ・スタイナー
マーク・アレン・ギャートナー
デビッド・スコット・エブセン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2014164769A publication Critical patent/JP2014164769A/ja
Publication of JP2014164769A5 publication Critical patent/JP2014164769A5/ja
Application granted granted Critical
Publication of JP6313993B2 publication Critical patent/JP6313993B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体に関する。
本開示は、重みをホストのサービス品質インジケータに割り当てることに関する。一実施例において、方法および装置は、ホストを介して不揮発性データストレージに記憶されたデータに関連する、ホストから提供されるサービス品質インジケータを、ホストインターフェースを介して受け取るのを容易にする。サービス品質インジケータに関連するワークロードインジケータが測定され、サービス品質インジケータと測定されたワークロードインジケータとの相関関係に応じて、重みがホストに割り当てられる。重みは、ホストからのデータアクセス要求に応じるときに、サービス品質インジケータに適用される。
別の実施例において、装置は、2つ以上の非階層メモリユニットを含む。各ユニットは、異なるタイプの不揮発性メモリであり、不揮発メモリのタイプの少なくとも1つは、抵抗に基づくメモリを含む。この2つ以上のメモリユニットに、コントローラが連結される。このコントローラは、ホストを介して装置に記憶されたデータに関連する、ホストから提供される品質サービスインジケータを記憶することを少なくとも行うように構成される。記憶されたサービス品質インジケータに関連するワークロードインジケータが測定され、記憶されたサービス品質インジケータと測定されたワークロードインジケータとの相関関係に応じて、重みがホストに割り当てられる。以降のホストのデータアクセス要求に応じて、重みが、以降のデータを記憶するときに2つ以上のメモリユニット間で選択するための以降のサービス品質インジケータに適用される。
種々の実施形態のこれらのおよび他の特徴および態様は、以下の詳細な議論および添付図面を考慮して理解され得る。
以下の図表では、複数の図面の中の類似する/同じ構成要素を識別するために、同じ参照番号が使用され得る。
例示的な実施形態による、装置のブロック図である。 例示的な実施形態による、ホストおよびワークロードインジケータのデータを示すブロック図である。 例示的な実施形態に従って、ワークロードインジケータとホスト提供のインジケータとを比較したときに、重みがどのように調整され得るのかを示す表である。 例示的な実施形態に従って、複数のワークロードインジケータを考慮して、重みがどのように調整され得るのかを示す表である。 例示的な実施形態による、方法のフローチャートである。 例示的な実施形態による、方法のフローチャートである。 例示的な実施形態による、方法のフローチャートである。
以下の種々の例示的な実施形態の説明では、本明細書の一部を形成し、種々の例示的な実施形態が実例として示される、添付図面を参照する。他の実施形態が用いられ得ること、また、本明細書に添付される特許請求の範囲から逸脱することなく、構造上および操作上の変更が行われ得ることを理解されたい。
本開示は、全体として、固体メモリストレージを使用するデバイス等の、持続的データストレージデバイスに関する。固体メモリストレージとしては、磁気ディスク、フラッシュメモリ(例えば、NANDまたはNORタイプメモリ)、抵抗に基づくメモリ(例えば、抵抗性ランダムアクセスメモリ、相変化メモリ)、およびスピントランスファトルクのランダムアクセスメモリが挙げられるが、それらに限定されない。これらのメモリタイプのそれぞれは、異なる特徴および利点を有し得るが、異なるメモリタイプを使用するメモリデバイスの効果的な使用は、デバイスに記憶されたホストデータと関連付けられるワークロード属性/インジケータを効果的に特徴付けることに関わり得る。
「ワークロード属性」または「ワークロードインジケータ」という用語は、通常操作中に測定され得る特定のデータユニットと関連付けられる、時間および場所に基づく特徴を指す。例えば、インジケータは、頻度データが読み出されること、頻度データが書き込まれる/変更されること、保持時間、データへのアクセスが順次的であるかランダムであるか、等の任意の組み合わせに基づいて、データユニットに割り当てられ得る。インジケータは、データユニットに向けられたアクションによってだけでなく、近傍のデータユニットに向けられたアクションによっても決定され得る。
属性が関連するデータユニットは、コンピューティングアーキテクチャのどのような層がデータストレージを管理しているかに基づいて変動し得る。例えば、ホストアプリケーションは、ファイルまたはファイルシステムメタデータに関するデータユニットを確認し得る。下位レベルのホストドライバは、論理ブロックアドレス(LBNA)の範囲に関して、データユニットを確認し得る。デバイスの内部プロセッサは、論理アドレスおよび物理アドレスの双方に関して、データユニットを確認し得る。
本開示は、持続的データストレージデバイスのワークロード属性の特徴付けおよび管理に関する。類似したインジケータは、ホストデバイスから通信され得、ワークロード属性/インジケータと比較され得る。これは、図1で示されるデバイス100等のデータストレージデバイスで使用され得る。
図1において、ブロック図は、例示的な実施形態による、データストレージデバイス100を図示する。このデバイス100は、固体メモリの任意の組み合わせを利用する、ソリッドステートドライブ(SSD)(またはその副構成要素)として構成され得る。デバイス100の特徴は、固体メモリおよび磁気ディスクの組み合わせを使用する混合ドライブ等の、他のタイプのハードドライブデバイスに適用可能であり得る。デバイス100の特徴はまた、標準的なハードドライブデータインターフェースを利用しない、特殊用途の固体および/またはディスクデータストレージデバイス(またはその副構成要素)にも適用可能であり得る。例えば、デバイス100は、例えばホスト114の中央処理ユニット(CPU)およびメモリコントローラと緊密に統合される、ホストのメインボード基盤の一部として構成され得る。
デバイス100は、デバイス100の不揮発性メモリのいくつかまたは全部を含む、2つ以上のメモリユニット102、103を含む。メモリユニット102、103は、1つ以上のそれぞれ別個の物理ユニット104、105、例えばメモリチップを含み得る。この実施例において、メモリユニット102、103は非階層ユニットであり、それぞれの物理ユニット104、105は、それぞれが、互いに異なるタイプの不揮発性メモリストレージ媒体を含む。各物理ユニット104、105内で、メモリは、より小さいブロック106、107にグループ化され得る。物理ユニット104、105の下層の媒体が異なるので、ブロック106、107のメモリサイズは異なり得る。デバイス100の特徴のいくつかは、非階層混合媒体ストレージに適用可能である一方で、この概念はまた、単一のストレージ媒体タイプを使用するデバイスでも利用され得るが、ユニット102、103間で異なる構成を伴い、メモリサイズ、読み出し待ち時間、書き込み待ち時間、電力消費、電力消費、保持時間、信頼性等のうちの1つ以上に関連する、異なる性能属性をもたらす。
デバイス100は、ホストインターフェース112を介してホスト114から受け取られる要求をサービスすることを容易にする、1つ以上のコントローラ110を含み得る。ホストインターフェース112は、ハードドライブインターフェース、または他のタイプのコンピュータインタフェース(例えば、メモリコントローラインターフェース、周辺バスインターフェース)を含み得る。コントローラ110は、一般に、論理アドレスを参照するホスト114から、読み出し要求または書き込み要求を受け取り得る。コントローラ110は、論理アドレスを物理アドレスに翻訳し、メモリユニット102、103の適切な物理アドレスに対してそれぞれの読み出し操作または書き込み操作を行う。
メモリユニット102、103は、特定のメモリタイプに適切な読み出し/書き込み操作を行うために、媒体への信号の符号化、復号化、および他のアプリケーションを少なくとも行う、別々のコントローラ(図示せず)を含み得る。別々のコントローラはまた、特定のメモリアーキテクチャに適切な、それら自体の論理−物理マッピングも行い得る。そのような場合、主コントローラ110は、論理ホストアドレスを、メモリユニット102、103によって使用可能な内部論理アドレスに翻訳し得る。
デバイス100は、数ある中でも、不揮発性メモリユニット102、103のための揮発性キャッシュ118に使用され得る、揮発性ランダムアクセスメモリ(RAM)116を含み得る。一般に、揮発性キャッシュ118は、不揮発性メモリ102、103の一部分をミラーリングするが、不揮発性メモリ102、103よりも迅速にそこからの読み出しおよび/またはそこへの書き込みを行うことができる、階層メモリ構造である。いくつかの状況、例えば、短時間に読み取り/書き込みアクティビティが繰り返されると分かるデータについて、揮発性キャッシュ118は、性能を高める。
上で述ベられるように、メモリユニット102、103は、異なるタイプのメモリストレージ媒体を含む、非階層ユニットである。例えば、メモリユニット102、103は、それぞれが、フラッシュメモリ、抵抗性RAM(ReRAM)、スピントルクRAM(STRAM)、または相変化メモリ(PSM)ユニットのうちの異なるものであり得る。コントローラ110は、データと関連付けられるワークロード属性に基づいて、ユニット102、103のうちの特定の1つに記憶するためのデータを選択し得る。例えば、メモリユニット102、103は、メモリサイズ、読み出し/書き込み待ち時間、読み出し/書き込みスループット、電力消費、保持時間、信頼性等に関して、異なる性能を有し得る。ホスト114はまた、記憶されたデータと関連する所望の性能属性に基づいて、ユニット102、103に記憶する特定のデータも目標とし得る。所望のデータ属性としては、高速アクセスに対する必要性、書き込み/更新の頻度、信頼性に対する必要性、長い保持時間、順次的またはランダムなアクセス等が挙げられる。
一般に、所望のデータ属性を、データが記憶されるメモリユニット102、103の特徴と一致させることが有用である。例えば、頻繁に書き込まれるデータは、高耐久性のメモリタイプに最良に記憶され得る。高速アクセスを必要とするデータは、低い読み出し待ち時間のメモリタイプに最良に記憶され得る。書き込まれる頻度は低いが、高い信頼性を必要とするデータは、良好な信頼性および保持特徴を有する、比較的高い待ち時間のメモリタイプに最良に記憶することができる。データは、より良好にまたはより容易に特定のメモリサイズと一致され得る。例えば、ある要求サイズが、メモリページサイズに適合され得るか、または一致していない要求が、読み出し−修正−書き込み操作(例えば、低い待ち時間、高い耐久性)に、より良好に適するメモリに適合され得る。
メモリユニット102、103は、非階層であるので、階層キャッシュ配置のようにユニット102、103間で冗長データを同期させる必要はない。一般に、データを記憶するために、ユニット102、103が選択される(例えば、データの論理アドレスが、選択されたメモリユニット102、103の物理アドレスにマップされる)と、データは、データが必要とされている限り、そのユニットの中に存在し続け得る。データ属性が再評価され、再評価に基づいてデータが一方のユニット102、103からもう一方のユニットに移動されるときの事例があり得る。再評価は、一定の間隔でスケジュールされたプロセスである場合もあれば、そうでない場合もあり、例えば、ユーザ要求に基づいて、デバイスがかなりのアクティビティを起こす、満杯になる、増加したビットエラーレートを経験する、等のときに起こり得る。再評価中に、データに影響を及ぼす現在のアクティビティが、初期のデータの分類に基づいて予想されるアクティビティと異なる場合、データは、移動され得る。
図示される実施形態において、ホスト114は、例えばホストインターフェース114を介してシグナリングすることによって、所望のストレージ属性をデバイス100に報告し得る。このシグナリングは、データが転送されているとき、またはいつかの他のときに生じ得る。本開示の目的で、この所望の属性のシグナリングで使用されるデータは、サービス品質(QoS)インジケータと称される。
QoSインジケータは、高速アクセスに対する必要性、書き込み/更新の頻度、信頼性に対する必要性、長い保持時間、順次的またはランダムなアクセス等の、本明細書で説明される所望のストレージ属性の任意の組み合わせを示すために使用され得る。QoSインジケータは、アクセス速度、信頼性、ランダム性等の目標属性を明示的に記述し得る。QoSインジケータは、暗示的であり得、例えば、ワークロードインジケータに関連しない、他のホスト提供のメタデータから導き出され得るが、そこからは、QoS要件が導き出され得る。そのような暗示的QoSインジケータとしては、ファイル識別子、ホスト識別子、論理ブラックアドレス範囲、アプリケーション名等が挙げられるが、それらに限定されない。これらの暗示的インジケータは、履歴的解析、帯域外シグナリング等によって決定され得る。ホスト114は、QoSインジケータを、論理ブロックアドレス(LBA)範囲、ファイル、ディレクトリ、アプリケーション等の、任意の記憶されたデータユニットと関連付け得る。ホスト114は、ホスト要求が論理アドレスに影響を及ぼす前、その間、またはその後に、QoSインジケータを論理アドレスと関連付けることによって、インジケータをデバイス100に通信し得る。
図1で示されるように、デバイス100は、コントローラ110を介して操作可能な機能モジュールのためのメモリの予約部分120と、デバイスによって内部的に使用される持続的データを記憶するためのデータベース122とを含む。例えば、ホスト属性モジュール124は、デバイス100の操作中に、ホスト114から受け取られるQoSインジケータを監視し得る。ホスト属性モジュール124はまた、QoSデータをデータベース122に記憶し得る。QoSデータは、インデックスとして個々の論理アドレスまたはアドレスの範囲を使用して、データベースに記憶され得る。
ホスト供給のQoSインジケータが、データのワークロード要件に関して常時正しい場合、QoSインジケータを記憶する必要はない。そのような場合、ホスト供給のQoSインジケータを使用して、データをどこに記憶するのかを決定することができ、次いで、QoSインジケータを安全に破棄することができる。しかしながら、ホスト供給のインジケータが正しくない場合があり得る。例えば、ホストプログラムまたはオペレーティングシステムは、正しくない推測を行い得ること、正しくないまたは次善のデフォルト値に依存し得ること、等があり得る。
データが最初に書き込まれるときに、ホスト供給のQoSデータが正しい場合であっても、ホスト通信プロトコルは、例えば記憶されたデータの以降の読み出しまたは更新中に、QoSを更新するためのプロビジョニングを有しないことがあり得る。その結果、データが最初に記憶されたときにメモリユニット102、103のうちの1つに最適にプロビジョニングされたある量のデータが、経時的なデータ変更の使用につれて、後で準最適にプロビジョニングされる。
ホスト供給のQoSデータを有効に管理するために、デバイス100は、経時的にデータワークロードアクティビティを追跡する、ワークロード属性モジュール126を含み、アクティビティのインジケータをデータベース122に記憶する。ワークロードは、到来する書き込みデータを監視し、以降の読み出しを測定することによって決定することができる。ワークロードはまた、空間的局所性のための関連付けられるコマンドを時間的に監視することによっても決定され得る。
時間的局所性は、ある時点で参照またはアクセスされ、近い将来に再度参照される可能性がある情報を含む。空間的局所性は、近隣のデータが最近アクセスされていれば、データがアクセスされる可能性がより高いという概念を連想させる。順次データは、複数のコマンドが、特定の空間的局所性に当てはまる時間的局所性を有するときに決定される。これは、2つ以上の異なる組のLBA範囲(またはファイル)が、1組として(例えば、全てのiノード、ファイルおよびiノード、キーおよび値等)まとめてアクセスされるときに生じ得る。ワークロード属性は、時間的に関連付けられたコマンドと、共通の時間的アフィニティを有するグループ化コマンドとを比較することによって決定される、ワークロード関連データセットとして構成することができる。
ワークロードデータは、ワークロード属性モジュール126およびホスト属性モジュール124からのデータを比較する、解決/重みモジュール128に利用できるようにされる。解決/重みモジュール128は、特定のデータユニットについてホスト114によって提供されるQoSインジケータと、該データユニットについて実際に測定されたワークロードアクティビティとの間の相違を解決する。これは、ホストQoSインジケータの重みを作成するために使用することができる。
重みは、データをメモリユニット102、103のどこに記憶するかを選択するときに、データ割り当てモジュール130によって適用することができる。重みは、測定されたワークロード属性によって補足される「ヒント」とみなされる、QoSインジケータをもたらし得る。別の実施例において、QoSインジケータは、ホスト114からの以前のQoSインジケータの精度に基づいてスケーリングすることができる。単一の重みが、特定のホスト114からの全てのインジケータに適用され得るか、またはいくつかの重みが、異なる細かさのレベル、例えば、QoSインジケータのタイプ、ホストコマンドのタイプ、メモリ範囲、ホストコマンドまたはデータのコンテキスト等で使用され得る。
重みは、異なるメモリタイプ間でのより良好なデータ移送/割り当ての際にホスト114を補助するために、ホストインターフェース112を介してホスト114に返信することができる。重みは、データに対する予想された変更のため、データのマッピング状態に対する変更が行われない、または以前の内部追跡データがデータセットのトリミング時にクリアされる、データのトリミング等の他のヒントに適用され得る。重み付けは、メモリユニット102、103間でのデータのバックグラウンドの再割り当てに応じて行われ得る。バックグラウンドのプロセスは、時として、既存のデータについてQoS値を再確認し、リソースのより良好な使用をもたらす場合に、データを再割り当てすることができる。例えば、ホスト供給のQoSは、それが頻繁にアクセスされることを示唆しているが、ワークロードインジケータは、それが長期間にわたってアクセスされていないことを示す場合、そのようなプロセスは、データの格下げを生じさせ得る。
本明細書で説明される実施形態の1つの態様は、異なる抽象化層(ホストファイル、デバイス、LBA、コントローラ、物理アドレス)が必要とされ得ないことである。例えば、デバイス100およびコントローラ110は、ファイルまたはオブジェクトのより抽象的な概念によって作動することができ、したがって、システムの中の層の数を低減させることができる。ホスト114とストレージデバイス100との間のこの種の通信の概念は、デバイス100が、実際にはホスト114の一部とみなされること、例えば、オペレーティングシステムおよび/またはカーネルレベルのアクセスが(例えば、インテリジェントDRAMコントローラのような)デバイスコントローラ110によって直接理解されることであり得る。そのような場合、サービス品質インジケータの通信は、要求の性質によって暗示され得る。例えば、オペレーティングシステムのページングが高速ストレージを獲得し得ること、アプリケーションのページングが低速ストレージを獲得し得ること、動的リンクライブラリ(DLL)のローディングが中速を獲得すること等である。
以下、図2を参照すると、ブロック図は、例示的な実施形態による、属性データセット200の比較を図示する。ブロック202〜205は、4つの異なるアドレス(例えば、LBA)について収集されたメタデータを表す。ブロック202〜205のメタデータは、個々のアドレスおよび/またはアドレスのブロックと関連付けられるアクティビティを記述し得る。各ブロック202〜205のデータは、2つのカテゴリ、例えば、ブロック202で示されるように、ホストインジケータ202Aおよびワークロードインジケータ202Bに分割される。
ホストインジケータ202Aは、この実施例において速度(例えば、待ち時間、スループット)、保持、およびデータがランダムであるか否かに関する、ホストによって提供されるQoSインジケータを含む。これらのインジケータの最初の2つは、2ビットの数(0〜3)によって指定され、ランダム性は、単一のビット、すなわち、ランダムの場合は「1」、順次的な場合「0」である。この実施例では、ホストとストレージデバイスとの間の通信オーバーヘッドを低減させるために、ホストインジケータが最小のワードサイズを使用すると予想される。しかしながら、本実施形態は、ホストまたはワークロードインジケータの任意の特定の形態またはワード長に限定されない。
ワークロードインジケータ202Bは、ストレージデバイスによって測定される。ワークロードインジケータ202Bも、ホストインジケータ202Aとの比較を簡単にするために、2ビットの数として示される。実際には、ワークロードインジケータは、比較的大きいデータセットから数学的に導き出され得るので、ワークロードインジケータ202Bは、より高い精度(例えば、8ビット以上の数)を使用して表され得る。そのような場合、ワークロードインジケータ202Bは、ホストインジケータ202Aの利用可能な値に適合する範囲に分割することができる。
この実施例においてデバイスによって測定されるワークロードインジケータは、一般に、読み出し/書き込みの回数および/または読み出し/書き込みの時間的近さの尺度である、「読み出しホットネス」および「書き込みホットネス」を含む。高い値の読み出しホットネスおよび書き込みホットネスは、データブロックがかなりの量のアクティビティを受けることを示し、これは、どのくらい前にアクティビティが発生したのか従って重み付けされる場合もあれば、そうでない場合もある。キャッシュは、一般に、最近の読み出しまたは書き込みアクティビティを追跡することだけしか必要としないので、これは、読み出しキャッシュまたは書き込みキャッシュがアクティビティをどのように追跡し得るのかということとは異なり得る。しかしながら、アクティビティが比較的低い頻度で(例えば、システムのブート中にだけ)起こる場合であっても、性能的な目的で、繰り返しの集中的なアクティビティを経験する、あるデータユニットへの高速アクセスを提供することが望ましくなり得る。
図2の実施例のデバイスはまた、ランダム性ワークロードインジケータによって示されるように、アドレス範囲に対する読み出しがどのくらい頻繁に同じ順序で生じるのかも測定する。順次データユニット(例えば、メディアファイル)は、通常、予測可能な順序で読み直される。ハードドライブのメタデータ(例えば、ジャーナル、ファイルアロケーションテーブル)等の他のデータは、ランダムな順序で書き込まれ、読み出され、および/または更新され得る。あるデータストレージタイプおよび関連アクセスアルゴリズムは、ランダムなデータに関して比較的より良好に機能し得、他のものは、順次データに関して比較的より良好に機能し得る。
図1の解決/重みモジュール128等の解析モジュールは、ホストインジケータ202Aをワークロードインジケータ202Bと相関させるように構成される。例えば、システム性能は、一般に、高頻度または低頻度で集中的なアクティビティを経験するデータが、より高速なストレージ媒体に配置される場合に向上し得る。このように、速度QoSインジケータは、読み出し/書き込みホットネスのワークロードインジケータに相関させることができる。インジケータ202A、202Bの間には、負の相関関係があり得る。例えば、長期の保持は、頻繁に書き直されるデータにとって優先事項となり得ないので、QoSインジケータ202Aにおける保持は、ワークロードインジケータ202Bの書き込みホットネスに逆相関し得る。この例は、仮想メモリであり、それは、短期間だけ依存され得る。
ブロック202において、ホストインジケータ202Aのいくつかは、いくつかの測定されたワークロードインジケータ202Bと良好に相関しないと思われる。例えば、ホストは、最も高い速度のインジケータを示したが、読み出しホットネスおよび書き込みホットネスは、データが最初に記憶されてから、かなりの読み出し/書き込みアクセスが見られなかったことを示す。しかしながら、データのランダム性は、ホストによって示されるものと相関すると思われるが、この場合はデータがほとんど使用されていないと思われるので、このパラメータは、性能にあまり影響を及ぼし得ない。
ブロック203および204における関連するホストインジケータは、測定されたワークロードインジケータ、例えば高い/低い読み出し/書き込みホットネスのワークロードインジケータと適合する高い/低い速度のQoSインジケータと密に相関すると思われる。ブロック205における読み出しおよび書き込みホットネスのインジケータは、速度および保持のためのホストインジケータに矛盾すると思われる。その結果、この少数のサンプルについて、ホストは、ランダム/順次データを良好に分類していると思われるが、アクセス速度に対する必要性を過大評価し、データ保持に対する必要性を過小評価している可能性があると結論され得る。このように、ストレージシステムは、将来、データを異なるメモリユニットに割り当てるときに、より少ない重みをホスト提供の速度および保持インジケータに与える傾向があり得る。
以下、図3を参照すると、表300は、例示的な実施形態に従って、重みがシステムにどのように適用され得るのかを図示する。表300は、ストレージデバイスによって独立して評価することができる、ホストによってストレージデバイスに提要される任意のメトリックまたはインジケータに適用可能であり得る。縦軸は、ホスト提供のインジケータを示し、横軸は、測定されたワークロードインジケータを示す。この実施例において、インジケータは、横軸および縦軸上の「低」および「高」という表記から分かるように、ある値の範囲を有し得る。
図中の4つの領域302〜305は、ホスト提供のインジケータを、測定されたワークロードインジケータとどのように比較するのかに応じて、ホストインジケータが、どのように重み付けされ得るのかを図示する。領域303および304は、測定されたワークロードインジケータがホスト提供のインジケータと一致する場所を示す。領域302は、測定されたワークロードインジケータと比較して、ホストインジケータが高い場所を示し、領域304は、測定されたワークロードインジケータと比較して、ホストインジケータが低い場所を示す。
領域302〜305は、ホスト提供のインジケータの精度の一般的なインジケータを提供し得るが、重みのそれぞれの増加または減少は、各領域302〜305に対して均一に適用される必要はない。例えば、ホスト提供のインジケータの大部分が領域304と305との間で等しく分割される場合、これは、ホストが圧倒的に低く評価していることを示し得る。領域304および305によって示される重みの変化が等しく適用された場合、ホストは、中間の重みを有することになる。しかしながら、領域304における正しい指示は、偶然に起因し得、それは、領域304の中にあるインジケータが重みに対して及ぼす影響がより少ない(または全く影響を及ぼさない)ことが望ましくなり得る。類似する解析を、領域303および領域302の中のインジケータに適用し得る。
ホストが一貫して高いまたは低いと評価する場合、これはまた、QoSインジケータを異なるストレージユニットにマップするときに、ホストインジケータがどのように翻訳され、適用され得るかという指示も提供し得る。図2による例示的な速度メトリックを使用すると、ホストが適度に正確であり、異なる速度属性を伴う2つのメモリユニットタイプがあった場合、0または1のホスト提供の速度メトリックを有するデータは、より遅い方のメモリユニットにマップされる。2または3のホスト提供のメトリックを有するデータは、より速い方のメモリユニットにマップされる。
上で説明されるマッピングは、ホストの重みに基づいて調整され得る。例えば、ホストのインジケータが一貫して領域302および303の中にある(ホストが、速度に対する必要性を過大評価している)場合、0〜2のホスト提供のメトリックを有するデータが、より遅い方のメモリユニットに適用され、3のホスト提供のメトリックを有するデータが、より速い方のメモリユニットに適用される。一方で、ホストのインジケータが一貫して領域304および305の中にある(ホストが、速度に対する必要性を過小評価している)場合、0のホスト提供のメトリックを有するデータが、より遅い方のメモリユニットに適用され、1〜3のホスト提供のメトリックを有するデータが、より速い方のメモリユニットに適用される。
ホストが1つを超えるQoSメトリックを提供する場合、ホスト提供のインジケータに対する重みおよび修正は、各メトリックを単独で調べる必要がないことが認識されるであろう。一実施例として図2によるメトリックを使用すると、ホストは、速度インジケータが低いときはいつも正確な保持インジケータを提供し得るが、速度インジケータが高いときにはいつも不正確な保持インジケータを提供し得る。その結果、データを記憶する場所に関する決定は、図4にあるような、統合決定表を使用し得、該図は、例示的な実施形態による、統合決定表400を示す。
図4において、2つ以上のメモリユニットタイプのうちの1つに1つのユニットを記憶するという決定は、2つのホスト提供のインジケータI1およびI2に依存し得る。QoS値Qは、Q=W×(C1×I1+C2×I2)使用して見出され得、式中、C1およびC2は、スケーリング定数である。Qを閾値とすると、Q≧Qである場合、データは、一方のメモリユニットに配置され得、Q<Qである場合、データは、もう一方のメモリユニットに配置され得る。これは、複数の閾値Qを使用することによって、任意の数のメモリユニットに拡張され得る。重みWは、ホストインジケータが表400の四半部402〜405のどこに入るかに依存して調整され得る。これは、Q=W1×C1×I1+W2×C2×I2に設定することによって、さらに精緻化され得る。そのような場合、W1およびW2のそれぞれは、ホストインジケータが入る表400の四半部402〜405に基づいて、独立に決定/調整される。
表300および表400は、さらなる仕切りを含むように修正され得、そのような仕切りは、互いに対して直線的または非直線的にサイズ決定され得ることが認識されるであろう。表300および表400はまた、「低」/「高」の表記が「0」/「1」、「真」/「偽」等と置き換えられる、2進数のホスト提供のインジケータまたはワークロードインジケータにも使用され得る。そのような2進数のインジケータは、一方または双方の軸に使用され得、前者の場合、多値軸とともに使用され得る。
以下、図5を参照すると、フローチャートは、例示的な実施形態による手順を図示する。フローチャートは、500で、記憶場所に影響を及ぼす要求、例えば、読み出し、書き込み、更新をホストから受け取ることによって引き起こされる。記憶場所は、1つ以上のアドレス(例えば、隣接する範囲)を含み得る。この要求は、決定ブロック502で示されるように、QoSインジケータを含む場合もあれば、含まない場合もある。読み出し等のいくつかの要求は、QoSインジケータを含み得ないが、それでも、内部メトリックを追跡する目的で重要であり得る。要求がQoSインジケータを有する場合、504で、それがデータベースに加えられ、506で、メトリックカウンタが1つ増加される。
メトリックカウンタは、時として、ホスト供給のQoSインジケータの重みの更新を引き起こすことが意図されるが、経過時間等の他のトリガーも使用され得る。決定ブロック508で試験されたときに、メトリックカウンタが閾値を超えた場合、510で、図6でさらに詳細に示される機能を使用して調整される。510で重みが調整された後に、カウンタは、所望の数の操作が再度生じるまで510での調整が繰り返されないように、512でリセットされる。
ブロック502でQoSインジケータが見つかったか否かに関わらず、要求は、それでも、514で、記憶場所に関する内部ワークロードインジケータを更新するために使用され得る。例えば、QoSインジケータが、最初にデータが書き込まれるときにだけ使用される場合、以降の読み出しまたは更新操作は、QoSインジケータを有しないが、それでも、514でワークロードインジケータを更新するのに有用である。更新されたワークロードインジケータは、データが書き込まれたときに提供されたアドレスと関連付けられるQoSインジケータと比較することができる。ワークロードインジケータは、キャッシングおよびガーベージコレクション等の他の操作にも使用され得る。
決定ブロック516で、イベントが新しいストレージ場所を画定する(例えば、新しいデータを書き込む)ことを要求すると決定された場合、サービス品質インジケータの重み付けした値に基づいて、518で、データを記憶する適切なメモリユニットが決定される。QoSインジケータが、新しいデータを書き込むことに対する要求にも随意である配設では、518で、重み付けしたQoSの代わりに、ワークロードインジケータ(例えば、時間またはアドレスが現行データと関連する他のデータと関連付けられるインジケータ)、またはデフォルト値等の、他のデータが使用され得る。QoSが提供される場合であっても、ホストの重みが十分に低い場合、デバイスは、QoSインジケータの代わりに、ワークロードインジケータまたはいくつかの他の属性を使用し得る。
要求は、520で、ルーチンを出る前に満たされる。520で要求を満たすことは、1つまたは複数の目標アドレスの読み出し、書き込み、更新を含み得る。これらの操作の順序が変更され得ること、およびいくつかの操作が並列に行われ得ることが認識されるであろう。例えば、要求は、520で、ルーチンの開始時に満たされ得、他の操作は、並列に行われ得るか、または後で実行するようにキューに入れられ得る。
以下、図6を参照すると、フローチャートは、例示的な実施形態による、ホストの重みを調整するために使用される、図5による調整機能510の実施例を図示する。手順は、ループ端ブロック600で示されるように、ホスト提供の属性を有する全てのアドレスを通してループすることを含む。例えば、ホスト提供のQoS属性が、LBAによってインデックスが付けられたデータベース(例えば、図1のデータベース122)に記憶されている場合、ループ600を通して繰り返すために、LBAによって記憶された全ての記録に対するクエリーが使用され得る。
602で、ループ600の各アドレスについて、ホスト提供のQoSインジケータが見つけられる。604で、同じアドレスについて、測定されたワークロードインジケータが見つけられる。606で、ワークロードインジケータとの比較に基づいて、ホスト提供のQoSインジケータの精度が決定される。この比較は、ルックアップテーブルに基づいて、または当技術分野で知られる他の相関関数を使用して、数字で示される。608で、この比較に基づいて、ホストの重みが調整される。重みは、総じてホストに適用可能であり得、または異なるホスト提供のQoSインジケータおよび/またはQoSインジケータの組み合わせに対する、1つを超える別々の重みを含み得る。ループ600を出た後に、610で、1つ以上の調整されたまたは新しい重みが記憶される。
608で重みを調整することは、既存の重みを修正すること、または新しい重みを作成することを含み得る。例えば、ループ600を通した各繰り返しは、累算器に対して加算または減算することができる。610で、ループは出たが、重みが記憶される前に、累算器は、適切な値、例えば0と1との間に平均化し、スケーリングすることができる。このスケーリングされた谷は、存在していれば以前の重みと組み合わせる(例えば、平均化する)ことができ、または任意の以前の重みを置き換えることができる。
以下、図7を参照すると、フローチャートは、例示的な実施形態による方法を図示する。この方法は、702で、ホストから提供されるサービス品質インジケータを、(例えば、ホストインターフェースを介して)受け取ることを含む。サービス品質インジケータは、ホストを介して不揮発性データストレージに記憶されるデータに関連する。
702で、サービス品質インジケータに関連するワークロード属性が測定され、704で、属性と監視されたワークロード属性との相関関係に応じて、重みがホストに割り当てられる。測定されたワークロードインジケータおよびサービス品質インジケータは、a)関連データがランダムであるか、順次的であるか、b)関連データが、かなりの読み出しアクティビティおよびかなりの書き込みアクティビティのうちの少なくとも1つを経験すると予想されるかどうか、c)関連データが、長いデータ保持時間を必要とすると予想されるかどうか、のうちの少なくとも1つを記述し得る。
706で、以降のホストのデータアクセス要求に応じるときに、重みがサービス品質インジケータに適用される。例えば、重み付けした以降のサービス品質インジケータに応じて、以降のデータを記憶するメモリが、不揮発性データストレージの2つ以上のタイプの非階層ストレージから選択され得る。2つ以上のタイプの非階層ストレージは、例えば、メモリサイズ、読み出し待ち時間、書き込み待ち時間、電力消費、保持時間、および信頼性のうちの少なくとも1つに関連する、異なる属性を有することに基づいて選択され得る。重みは、ホストに返信して、例えば、以降のデータの分類、およびQoSインジケータの使用において、ホストを支援し得る。
別の配設において、サービス品質の測定値は、2つを超える値の範囲を含み得る。そのような場合、重みを以降のサービス品質インジケータに適用することは、範囲と2つ以上のタイプの非階層ストレージとの間のマッピングを調整することを含む。2つ以上のタイプの非階層ストレージの少なくとも1つは、抵抗に基づくメモリ(例えば、ReRAM、PCM)を含み得る。
上で説明される種々の実施形態は、特定の結果を提供するように相互作用する回路および/またはソフトウェアモジュールを使用して実現され得る。コンピューティング技術の当業者は、モジュールレベルで、または総じて当技術分野で一般に知られている知識を使用して、そのような説明される機能を容易に実現することができる。例えば、本明細書で図示されるフローチャートは、プロセッサによって実行するためのコンピュータが読み出し可能な命令/コードを作成するために使用され得る。そのような命令は、コンピュータが読み出し可能な媒体に記憶され、当技術分野で知られているように実行するためのプロセッサへ転送され得る。上で示される構造および手順は、上で説明されるデータストレージデバイスにおけるキャッシングの管理を容易にするために使用することができる実施形態の代表例に過ぎない。
例示的な実施形態の前述の説明は、例示および説明の目的で提示したものである。本記述は、網羅的であること、または本発明の概念を開示された形態に限定することを意図したものではない。上述の教示に照らして、多数の修正および変形が可能である。開示される実施形態の特徴のいずれかまたは全ては、個々にまたは任意の組み合わせで適用することができ、限定することを意味するものではなく、単なる実例である。範囲は、この詳細な説明によって限定されるのではなく、むしろ本明細書に添付される特許請求の範囲によって限定されることを意図する。

Claims (18)

  1. 装置であって、
    不揮発性データストレージおよびホストインターフェースに連結することができるコントローラを備え、前記コントローラは、
    ホストを介して前記不揮発性データストレージに記憶されたデータに関連する、前記ホストから提供されるサービス品質インジケータを、前記ホストインターフェースを介して受け取ること、
    前記サービス品質インジケータに関連するワークロードインジケータを測定すること、
    前記サービス品質インジケータと前記測定されたワークロードインジケータとの相関関係に応じて、重みを前記ホストに割り当てること、および
    前記ホストからのデータアクセス要求に応じるときに、前記重みを前記サービス品質インジケータに適用すること、を少なくとも行うように構成され、
    前記データアクセス要求に応じることは、前記重みに基づいて前記ホストからのデータを記憶するための前記不揮発性データストレージの2つ以上のタイプの非階層ストレージから、メモリを選択することを含む、装置。
  2. 前記2つ以上のタイプの非階層ストレージは、メモリサイズ、待ち時間、スループット、電力消費、保持時間、および信頼性のうちの少なくとも1つに関連する、異なる属性を有することに基づいて選択される、請求項に記載の装置。
  3. 前記サービス品質インジケータは、2つを超える値の範囲を含み、前記重みをサービス品質インジケータに適用することは、前記範囲と前記2つ以上のタイプの非階層ストレージとの間のマッピングを調整することを含む、請求項または請求項に記載の装置。
  4. 前記タイプの非階層ストレージの少なくとも1つは、抵抗に基づくメモリまたはスピントルクメモリを備える、請求項から請求項のいずれか1項に記載の装置。
  5. 前記測定されたワークロードインジケータおよびサービス品質インジケータは、関連データが、ランダムであるか順次的であるかを記述する、請求項1から請求項のいずれか1項に記載の装置。
  6. 前記測定されたワークロードインジケータおよびサービス品質インジケータは、関連データに対して、読み出しアクティビティおよび書き込みアクティビティのうちの少なくとも1つが行なわれると予想されるかどうかを記述する、請求項1から請求項のいずれか1項に記載の装置。
  7. 前記測定されたワークロードインジケータおよびサービス品質インジケータは、関連データが、長いデータ保持時間を必要とすると予想されるかどうかを記述する、請求項1から請求項のいずれか1項に記載の装置。
  8. 前記サービス品質インジケータは、前記ワークロードインジケータに関連しないことが、ホスト提供のメタデータを介して示される、請求項1から請求項のいずれか1項に記載の装置。
  9. 前記ホスト提供のメタデータは、ホスト識別子、論理ブロックアドレス範囲、およびファイル識別子のうちの1つ以上を含む、請求項に記載の装置。
  10. コンピュータの動作によって実現される方法であって、
    ホストを介して不揮発性データストレージに記憶されたデータに関連する、前記ホストから提供されるサービス品質インジケータを受け取ることと、
    前記サービス品質インジケータに関連するワークロードインジケータを測定することと、
    前記サービス品質インジケータと前記測定されたワークロードインジケータとの相関関係に応じて、重みを前記ホストに割り当てることと、
    前記ホストからのデータアクセス要求に応じるときに、前記重みを前記サービス品質インジケータに適用することと、を含み、
    前記データアクセス要求に応じて順次データを記憶することは、前記重みに対応する前記ホストからのデータを記憶するための前記不揮発性データストレージの2つ以上のタイプの非階層ストレージから、メモリを選択することを含む、方法。
  11. 前記2つ以上のタイプの非階層ストレージは、メモリサイズ、待ち時間、スループット、電力消費、保持時間、および信頼性のうちの少なくとも1つに関連する、異なる属性を有することに基づいて選択される、請求項10に記載の方法。
  12. 前記サービス品質インジケータは、2つを超える値の範囲を含み、前記重みを以降のサービス品質インジケータに適用することは、前記範囲と前記2つ以上のタイプの非階層ストレージとの間のマッピングを調整することを含む、請求項10または請求項11に記載の方法。
  13. 前記測定されたワークロードインジケータおよびサービス品質インジケータは、
    関連データが、ランダムであるか順次的であるか、
    関連データに対して、読み出しアクティビティおよび書き込みアクティビティのうちの少なくとも1つが行なわれると予想されるかどうか、および
    関連データが、長いデータ保持時間を必要とすると予想されるかどうか、のうちの少なくとも1つを記述する、請求項10から請求項12のいずれか1項に記載の方法。
  14. 前記重みを前記ホストに返信することをさらに含む、請求項10から請求項13のいずれか1項に記載の方法。
  15. 請求項10から請求項14のいずれか1項に記載の方法を行うために、プロセッサによって操作可能な命令を記憶する、非一時的なコンピュータが読み出し可能な媒体。
  16. 装置であって、
    2つ以上の非階層メモリユニットであって、それぞれが異なるタイプの不揮発性メモリであり、前記不揮発性メモリの少なくとも1つは、抵抗に基づくメモリを備える、2つ以上の非階層メモリユニットと、
    前記2つ以上のメモリユニットに連結されるコントローラであって、
    ホストを介して前記装置に記憶されたデータに関連する、前記ホストから提供されるサービス品質インジケータを記憶すること、
    前記記憶されたサービス品質インジケータに関連するワークロードインジケータを測定すること、
    前記記憶されたサービス品質インジケータと前記測定されたワークロードインジケータとの相関関係に応じて、重みを前記ホストに割り当てること、および
    以降のホストのデータアクセス要求に応じて、前記重みを、以降のデータを記憶するときに前記2つ以上のメモリユニットの間でデータをどこに記憶するかを選択するための以降のサービス品質インジケータに適用すること、を少なくとも行うように構成される、コントローラとをえ、
    前記データアクセス要求に応じることは、前記重みに基づいて前記ホストからのデータを記憶するための前記装置の2つ以上のタイプの非階層ストレージから、メモリを選択することを含む、装置。
  17. 前記2つ以上のメモリユニットは、データアクセス速度、電力消費、保持時間、および信頼性のうちの少なくとも1つに関連する、異なる属性を有する、請求項16に記載の装置。
  18. 前記測定されたワークロードインジケータおよびサービス品質インジケータは、
    関連データが、ランダムであるか順次的であるか、
    関連データに対して、読み出しアクティビティおよび書き込みアクティビティのうちの少なくとも1つが行なわれると予想されるかどうか、および
    関連データが、長いデータ保持時間を必要とすると予想されるかどうか、のうちの少なくとも1つを記述する、請求項16または請求項17に記載の装置。
JP2014033982A 2013-02-26 2014-02-25 ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 Expired - Fee Related JP6313993B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/776,896 2013-02-26
US13/776,896 US9367262B2 (en) 2013-02-26 2013-02-26 Assigning a weighting to host quality of service indicators

Publications (3)

Publication Number Publication Date
JP2014164769A JP2014164769A (ja) 2014-09-08
JP2014164769A5 JP2014164769A5 (ja) 2017-04-20
JP6313993B2 true JP6313993B2 (ja) 2018-04-18

Family

ID=51368681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014033982A Expired - Fee Related JP6313993B2 (ja) 2013-02-26 2014-02-25 ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体

Country Status (3)

Country Link
US (1) US9367262B2 (ja)
JP (1) JP6313993B2 (ja)
CN (1) CN104008017B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194175A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム
US20170052713A1 (en) 2015-08-20 2017-02-23 Netapp, Inc. System and method to read cache data on hybrid aggregates based on physical context of the data
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
US9852786B2 (en) 2015-10-21 2017-12-26 Toshiba Memory Corporation Semiconductor memory device that varies voltage levels depending on which of different memory regions thereof is accessed
KR102517129B1 (ko) * 2015-11-19 2023-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10445143B2 (en) * 2017-06-14 2019-10-15 Vmware, Inc. Device replacement for hyper-converged infrastructure computing environments
US10558392B2 (en) 2017-06-30 2020-02-11 Seagate Technology Llc Enhancing quality of service of a storage device
US10223231B1 (en) 2017-08-09 2019-03-05 Seagate Technology Llc Data storage management
WO2021120218A1 (zh) * 2019-12-20 2021-06-24 华为技术有限公司 一种提升ssd利用率的方法、存储装置及ssd控制器
US11630579B2 (en) * 2020-02-14 2023-04-18 Micron Technology, Inc. Memory sub-system performance shaping including adding a delay to particular data traffic
JP7468012B2 (ja) * 2020-03-13 2024-04-16 富士通株式会社 管理装置、情報処理システム及び管理プログラム
CN111294247B (zh) * 2020-05-13 2020-09-18 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统
US11537524B2 (en) * 2020-11-20 2022-12-27 Western Digital Technologies, Inc. Effective PCIe utilization by PCIe TLP coalescing

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260115B1 (en) 1999-05-13 2001-07-10 Storage Technology Corporation Sequential detection and prestaging methods for a disk storage subsystem
US6965930B1 (en) * 2000-10-20 2005-11-15 International Business Machines Corporation Methods, systems and computer program products for workload distribution based on end-to-end quality of service
US6963917B1 (en) * 2000-10-20 2005-11-08 International Business Machines Corporation Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
US7111109B2 (en) * 2002-03-13 2006-09-19 Canon Kabushiki Kaisha Control system, recording device and electronic apparatus
US7441033B2 (en) * 2003-08-14 2008-10-21 Oracle International Corporation On demand node and server instance allocation and de-allocation
US7664847B2 (en) * 2003-08-14 2010-02-16 Oracle International Corporation Managing workload by service
US7437459B2 (en) * 2003-08-14 2008-10-14 Oracle International Corporation Calculation of service performance grades in a multi-node environment that hosts the services
US7437460B2 (en) * 2003-08-14 2008-10-14 Oracle International Corporation Service placement for enforcing performance and availability levels in a multi-node system
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US7953860B2 (en) * 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US7516221B2 (en) * 2003-08-14 2009-04-07 Oracle International Corporation Hierarchical management of the dynamic allocation of resources in a multi-node system
US7552171B2 (en) * 2003-08-14 2009-06-23 Oracle International Corporation Incremental run-time session balancing in a multi-node system
US7747717B2 (en) * 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
JP2005228278A (ja) * 2004-01-14 2005-08-25 Hitachi Ltd 記憶領域の管理方法、管理装置及び管理プログラム
CN1985239A (zh) * 2004-07-07 2007-06-20 皇家飞利浦电子股份有限公司 分配数据文件的方法以及用于存储数据文件的存储器系统
US8428983B2 (en) * 2007-12-28 2013-04-23 International Business Machines Corporation Facilitating availability of information technology resources based on pattern system environments
US8275933B2 (en) * 2008-11-10 2012-09-25 Fusion-10, Inc Apparatus, system, and method for managing physical regions in a solid-state storage device
US8412880B2 (en) * 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8464255B2 (en) * 2010-03-12 2013-06-11 Microsoft Corporation Managing performance interference effects on cloud computing servers
US8478879B2 (en) * 2010-07-13 2013-07-02 International Business Machines Corporation Optimizing it infrastructure configuration
US8862845B2 (en) 2010-12-06 2014-10-14 Xiotech Corporation Application profiling in a data storage array
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
US9417794B2 (en) * 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US8463633B2 (en) * 2011-07-27 2013-06-11 Xerox Corporation Methods and systems for deploying a service workflow in a hybrid cloud environment
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds

Also Published As

Publication number Publication date
US9367262B2 (en) 2016-06-14
CN104008017A (zh) 2014-08-27
JP2014164769A (ja) 2014-09-08
US20140244892A1 (en) 2014-08-28
CN104008017B (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
JP6313993B2 (ja) ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体
US10776263B2 (en) Non-deterministic window scheduling for data storage systems
TWI740110B (zh) 在固態儲存驅動器陣列中的工作量適應超容量快取
US10817217B2 (en) Data storage system with improved time-to-ready
US8856484B2 (en) Mass storage system and methods of controlling resources thereof
US20140304452A1 (en) Method for increasing storage media performance
EP3367251A1 (en) Storage system and solid state hard disk
TWI524348B (zh) 用於複合式非揮發性儲存裝置之資料遷移
CN111742291A (zh) 具有用户空间闪存转换层的用户空间存储i/o栈的方法和系统
JP2018537770A (ja) プロファイリングキャッシュ置換
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
US11113192B2 (en) Method and apparatus for dynamically adapting cache size based on estimated cache performance
US10289317B2 (en) Memory apparatus and methods thereof for write amplification aware wear leveling
US10025504B2 (en) Information processing method, information processing apparatus and non-transitory computer readable medium
US9971698B2 (en) Using access-frequency hierarchy for selection of eviction destination
KR20140113211A (ko) 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법
US20220147279A1 (en) Heat management solid-state data storage system
US20140372673A1 (en) Information processing apparatus, control circuit, and control method
US20200004443A1 (en) Balanced die set execution in a data storage system
WO2018103592A1 (zh) 存储设备中的存储介质管理方法、装置和存储设备
US10185666B2 (en) Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache
WO2016080953A1 (en) Method and apparatus for data cache in converged system
US20170168956A1 (en) Block cache staging in content delivery network caching system
US11301376B2 (en) Data storage device with wear range optimization
US10872015B2 (en) Data storage system with strategic contention avoidance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180220

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: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180326

R150 Certificate of patent or registration of utility model

Ref document number: 6313993

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

LAPS Cancellation because of no payment of annual fees