JP5594942B2 - 好適なゾーン・スケジューリング - Google Patents

好適なゾーン・スケジューリング Download PDF

Info

Publication number
JP5594942B2
JP5594942B2 JP2008169143A JP2008169143A JP5594942B2 JP 5594942 B2 JP5594942 B2 JP 5594942B2 JP 2008169143 A JP2008169143 A JP 2008169143A JP 2008169143 A JP2008169143 A JP 2008169143A JP 5594942 B2 JP5594942 B2 JP 5594942B2
Authority
JP
Japan
Prior art keywords
command
data
load
data storage
latency
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
JP2008169143A
Other languages
English (en)
Other versions
JP2009015845A (ja
JP2009015845A5 (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 JP2009015845A publication Critical patent/JP2009015845A/ja
Publication of JP2009015845A5 publication Critical patent/JP2009015845A5/ja
Application granted granted Critical
Publication of JP5594942B2 publication Critical patent/JP5594942B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明の実施形態は、概して、データ・ストレージ・システムの分野に関し、特に、分散アレイ・ストレージ・システムにおけるシーク・コマンド・プロファイルを適合可能に管理するための装置および方法に関するが、これに限定されない。
コンピュータ・ネットワーキングは、工業規格アーキテクチャのデータ転送速度が、インテル社(Intel Corporation)の80386プロセッサのデータ・アクセス速度に追いつくことができなくなった時に急激に増大し始めた。ローカル・エリア・ネットワーク(LAN)は、ネットワーク内のデータ・ストレージ容量を強化することにより、ストレージ・エリア・ネットワーク(SAN)に進化した。ユーザは、装置を結合しSAN内の装置で扱われる関連データにより、直接取付ストレージにより可能となるより1桁上の処理能力、そして扱いやすいコストで有意の利点を実現している。
さらに最近は、データ・ストレージ・サブシステムを制御するためのネットワーク・セントリック・アプローチの方向への動きがある。すなわち、ストレージを強化したのと同じ方法で、サーバから取り出され、ネットワーク自身に送られるストレージの機能を制御するシステムにも同じ動きがある。例えば、ホスト・ベースのソフトウェアは、インテリジェント・スイッチまたは特殊化したネットワーク・ストレージ・サービス・プラットフォームに保守および管理タスクを委託することができる。アプライアンス・ベースの解決方法を使用すれば、ホストで稼働するソフトウェアが必要なくなるし、企業内にノードとして設置されているコンピュータで動作することができる。いずれにせよ、インテリジェント・ネットワーク解決方法は、これらのものをストレージ割当ルーチン、バックアップ・ルーチン、およびホストによらない障害許容スキームとして中央に集めることができる。
インテリジェンスをホストからネットワークに移動すればこのようないくつかの問題を解決することはできるが、仮想ストレージのプレゼンテーションをホストに変更する際の柔軟性の一般的な不足に関連する固有の問題は解決しない。例えば、データを格納する方法を、通常でないホスト負荷活動のバーストを収容するように適合させる必要がある場合がある。その各データ・ストレージ容量の自己決定による割当て、管理、および保護、およびグローバルなストレージ要件に適応するように、ネットワークへその容量を仮想ストレージ空間として提示するインテリジェント・データ・ストレージ・サブシステムが求められている。この仮想ストレージ空間は、複数のストレージ・ボリューム内に提供することができる。本発明の目指しているのはこのための解法である。
本発明の実施形態は、概して、バースト負荷条件下でコマンド・キューの内容を選択的に入手することによるダーティ・データのフラッシング性能の最適化に関する。
ある実施形態においては、ポリシー・エンジンが、負荷を動的に特徴付けるために、データ・ストレージ・システムへのネットワーク負荷に関する定性情報を連続的に収集し、キャッシュされたライトバック・データおよびホスト読取りコマンドに対するデータ転送要求から入手するコマンド・キューの内容に負荷の特徴を連続的に相関付け、内容を記憶媒体の複数の予め定義したゾーンのゾーン・ベースで選択されるライトバック・データに対するこれらの転送要求だけに制限するデータ・ストレージ・システムおよび関連する方法が提供される。
特許請求の範囲に記載する本発明を特徴付けるこれらおよび種々の他の機能および利点は、下記の詳細な説明を読み、関連する図面を見れば理解することができるだろう。
図1は、本発明の実施形態を含む例示としてのコンピュータ・システム100である。1つまたは複数のホスト102は、ローカル・エリア・ネットワーク(LAN)および/またはワイド・エリア・ネットワーク(WAN)106により、1つまたは複数のネットワークに取り付けられているサーバ104にネットワークで接続している。好適には、LAN/WAN106は、ワールド・ワイド・ウェブを通して通信するために、インターネット・プロトコル・ネットワーキング・インフラストラクチャを使用することが好ましい。ホスト102は、多数のインテリジェント記憶素子(ISE)108のうちの1つまたは複数上に格納しているデータをルーチン的に必要とするサーバ104内に常駐しているアプリケーションにアクセスする。それ故、SAN110は、格納しているデータにアクセスするために、サーバ104をISE108に接続する。ISE108は、その内部の企業またはデスクトップ・クラスの記憶媒体により、直列ATAおよびファイバ・チャネルのような種々の選択した通信プロトコルによりデータを格納するために、データ・ストレージ容量109を提供する。
図2は、図1のコンピュータ・システム100の一部の簡単な図面である。3つのホスト・バス・アダプタ(HBA)103は、ネットワークまたはファブリック110を介して1対のISE108(それぞれAおよびBで示す)と相互に作用する。各ISE108は、好適には、独立ドライブの冗長アレイ(RAID)として特徴付けられている一組のストレージとして、データ・ストレージ容量109上で動作することが好ましい二重化冗長制御装置112(A1、A2およびB1、B2で示す)を含む。すなわち、好適には、制御装置112およびデータ・ストレージ容量109は、種々の制御装置112が並列の冗長リンクを使用し、システム100が格納しているユーザ・データのうちの少なくともいくつかが、少なくとも一組のデータ・ストレージ容量109内の冗長フォーマットに格納されるように、障害許容配置を使用することが好ましい。
図3は、本発明の例示としての実施形態により組み立てたISE108である。シェルフ114は、ミッドプレーン116と電気的に接続している制御装置112に収容する形で係合するための空洞を定める。シェルフ114は、キャビネット(図示せず)内に支持される。1対の複数ドライブ・アセンブリ(MDA)118は、ミッドプレーン116の同じ側面上のシェルフ114内に収容される形で係合している。ミッドプレーン116の対向側面には、非常電力供給を行うデュアル・バッテリー122、デュアル交流電源124およびデュアル・インタフェース・モジュール126が接続している。好適には、デュアル構成要素は、一方のあるいは両方のMDA118を同時に動作し、それにより構成要素が故障した場合にバックアップ保護を行うように構成することが好ましい。
図4は、それぞれが5つのデータ・ストレージ128を支持している上部隔壁130および下部隔壁132を有するMDA118の拡大分解等角図である。隔壁130、132は、ミッドプレーン116(図3)と係合するコネクタ136を有する共通の回路基板134と接続するためにデータ・ストレージ128を整合する。ラッパー138は、電磁妨害シールドを行う。MDA118のこの例示としての実施形態は、参照により本明細書に組み込むものとする譲受人に譲渡される「複数のディスク・アレイのためのキャリヤ装置および方法(Carrier Device and Method for a Multiple Disc Array)」という名称の米国特許第7,133,291号の主題である。MDA118のもう1つの例示としての実施形態は、本発明の譲受人に譲渡される、参照により本明細書に組み込むものとする同じ名称の米国特許第7,177,145号の主題である。他の等価の実施形態の場合には、MDA118は、密封されたエンクロージャ内に設置することができる。
図5は、本発明の実施形態と一緒に使用するのに適していて、回転媒体ディスク・ドライブの形をしているデータ・ストレージ128の等角図である。動体データ記憶媒体と回転スピンドルを下記の説明のために使用するが、他の等価の実施形態の場合には、固体メモリ素子のような非回転媒体デバイスが使用される。図5の例示としての実施形態の場合には、データ記憶ディスク138は、読取り/書込みヘッド(「ヘッド」)142にディスク138のデータ記憶位置を示すためにモータ140により回転する。ヘッド142は、ディスク138の内部トラックと外部トラックとの間をヘッド142が半径方向に移動している間に、ボイス・コイル・モータ(VCM)146に応じる回転アクチュエータ144の遠い方の端部のところに支持されている。ヘッド142は、フレックス回路150を通して回路基板148に電気的に接続している。回路基板148は、データ・ストレージ128の機能を制御する制御信号を受信し、送信することができる。コネクタ152は、回路基板148に電気的に接続していて、データ・ストレージ128をMDA118の回路基板134(図4)と接続することができる。
図6は、制御装置112のうちの1つの図面である。制御装置112は、1つの集積回路で具体化することもできるし、必要に応じて多数の個々の回路間で分散することもできる。好適には、プログラマブル・コンピュータ・プロセッサであることを特徴とするプロセッサ154は、プログラミング・ステップ、および好適には不揮発性メモリ156(フラッシュ・メモリまたは類似物など)およびダイナミック・ランダム・アクセス・メモリ(DRAM)158内に格納している処理データにより制御を行う。
ファブリック・インタフェース(I/F)回路160は、ファブリック110を介して他の制御装置112およびHBA103と通信し、デバイスI/F回路162は、ストレージ128と通信する。I/F回路160、162および経路制御装置164は、キャッシュ166を使用するなどして、HBA103を介してネットワーク・デバイスとISE108との間でコマンドおよびデータを送るために通信経路を形成する。別々に図示してあるが、経路制御装置164およびI/F回路160、162は一体に形成することができることを理解することができるだろう。
好適には、ホスト処理機能を増大するために、ストレージ128への仮想ブロックをフラッシュするようにRAIDコンテナ・サービス(RCS)に要求することにより、キャッシュ・マネージャが、書込みコマンドの特定のサブセットに対してフラッシング活動を作動させるまで、仮想ブロックに対する書込みコマンドはキャッシュ166内にライトバック・キャッシュされ、その内部に懸案として保持される。確実に媒体を更新するRAIDアルゴリズムにより媒体の更新を行う目的で、RCSは、シーク・マネージャに特定のデータ転送を行うために要求を送るアルゴリズムを実行する。シーク・マネージャは、キャッシュされたライトバック・コマンド、およびもっと優先度の高いホスト読取りコマンドからのデータ転送要求を発行する許可を実際に与えるために、特定のストレージ128に対するコマンド・キューを管理する。シーク・マネージャは、実際に転送要求を発行する許可を与える関連するデータ転送を行うためのリソースを割り当てる。
ISE108のデータ・ストレージ容量は、データをストレージ128に格納する場合に、およびデータをストレージ128から検索する場合に、参照される論理装置の形に組織される。システム構成情報は、ユーザ・データおよび関連するパリティと、ミラー・データおよび各記憶位置間の関係を定義する。システム構成情報は、さらに、論理ブロック・アドレス(LBA)の用語のようなもので、データに割り当てられたストレージ容量のブロックと関連するメモリ記憶位置との間の関係を識別する。システム構成情報は、さらに、論理ブロック・アドレスにマッピングされる仮想ブロック・アドレスを定義することによる仮想化を含むことができる。
制御装置112アーキテクチャは、有利にスケーリングすることができる非常に機能的なデータ管理を行い、ストレージ容量の制御を行う。好適には、ストライプ・バッファ・リスト(SBL)および他のメタデータ構造を、記憶媒体上のストライプ境界、および記憶処理中ディスク・ストライプと関連するデータを格納するための専用のキャッシュ166内の参照データ・バッファと整合することが好ましい。
動作中、キャッシュ166は、SAN110によりHBA103を通して、ユーザ・データおよびI/O転送に関連する他の情報を格納する。要求されなかった不確かなデータを含むストレージ128から検索したリードバック・データを、ストレージ128宛のアクセス・コマンドのスケジューリングを要求する代わりに、以降の要求したデータがキャッシュ166から直接転送されるように、以降の「キャッシュ・ヒット」をあてにして、キャッシュ166内に暫くの間保持することができる。同様に、ストレージ128に書き込むデータが、キャッシュされるようにライトバック・キャッシュ・ポリシーが使用され、完了肯定応答がHBA103を介して開始ネットワーク・デバイスに返送されるが、ストレージ128へのデータの実際の書込みは、後の都合のよい時間にスケジューリングされる。
それ故、通常、制御装置112は、各エントリの状態を含むキャッシュ166の内容の正確な制御を維持しなければならない。このような制御は、テーブル構造に関連するアドレスを使用するスキップ・リスト配置により実行することが好ましい。スキップ・リストは、キャッシュ166の一部内に維持することが好ましいが、必要に応じて他のメモリ・スペースを使用することもできる。
図7は、経路制御装置164(図6)内に常駐するキャッシュ・マネージャ170、RAIDコンテナ・サービス172、ポリシー・エンジン174、およびシーク・マネージャ176を示す機能ブロック図である。シーク・マネージャ176は1つしか図示してないが、ストレージ128に対して専用のシーク・マネージャ176が存在する。そのため、これらのシーク・マネージャは、ポリシー・エンジン174からのシーク規則に個々に応答する。
これらの機能ブロックは、ソフトウェアまたはハードウェアで実施することができる。ハードウェアで実施する場合には、ポリシー・エンジン174は有限状態機械であるが、これに限定されない。いずれにせよ、ポリシー・エンジン174は、経路178を介して、I/O単位ベースでファブリックI/F160経由で受信したアクセス・コマンドについての定性データを連続的に収集する。ポリシー・エンジン174は、動的にネットワーク負荷を特徴付け、それに続けてシーク・マネージャ176を管理する経路179を介してシーク規則をその後で発行する。シーク・マネージャは、経路180を介してライトバック・データおよびホスト読取り要求を転送するために、データ転送要求のコマンド・キューに問い合わせ、コマンド・プロファイルを定義するために経路182を通してデータ転送要求を発行する許可を選択的に与える。
ポリシー・エンジン174は、シーク・マネージャ176に対する規則を作成する際に性能の目標188に応じることができる。目標188は、速度に敏感なコマンドに対するレイテンシに敏感なコマンドの比率(ライトバック・キャッシングに対する書込みコマンドに対する読取りコマンドの比率)でのネットワーク負荷のある要因である所望のコマンド・プロファイルの強化、異なるLUNクラスに割り当てた優先度の強化、所望の読取りコマンドのレイテンシの強化のような量的なものであっても質的なものであってもよいが、これらに限定されない。ポリシー・エンジン174は、また、サイズ(帯域幅)のような他のものでホスト負荷を特徴付ける定性データを収集することもできる。
さらに、ポリシー・エンジン174は、シーク・マネージャ176を管理する規則を作成する際にシステム状態情報190に応じることができる。例えば、制限なしで、電源インジケータは、ポリシー・エンジン174にISE108がバッテリーのバックアップ電源に切り替わったことを知らせることができる。この状態の場合、ポリシー・エンジン174は、計画した制限付きの電力利用度に関してキャッシュ166を積極的にフラッシングするために付随の事態を実施する可能性がある。ポリシー・エンジン174は、コマンド・プロファイルをストレージ128に調整する場合に、シーク・マネージャ176を管理するシーク規則を作成する際に、アクセス・コマンド・データ転送に直接関連しない懸案中のバックグラウンドI/O192またはI/Oの状態に応じることができる。
それ故、ポリシー・エンジン174は、キャッシュされたライトバック・コマンドおよびより優先度の高いホスト読取りコマンドから入手したデータ転送のコマンド・キュー内の複数のデータ転送から選択したデータ転送要求を発行する目的で、シーク・マネージャ176を管理するシーク規則を定義するために、負荷の特徴、目標188、システム状態190、およびバックグラウンドI/Oの任意の組合わせを使用することができる。
例示としての例の場合には、ポリシー・エンジンは、レイテンシに敏感なコマンドに対する速度に敏感なコマンドの比率で、ネットワーク負荷を特徴付ける。この説明のために、ライトバック・キャッシング・スキームを仮定する。それ故、ライトバック・キャッシュ・コマンドは、速度に敏感なコマンドであると見なされる。何故なら、任意の時点でデータ・ストレージ128にどの要求をフラッシングするかは大した問題ではないからである。実際には、ダーティ・データとしてキャッシュ166内で未決状態である場合に、速度に敏感な要求を上書きすることすらできるからである。問題は、速度に敏感なコマンドを、キャッシュ166が飽和状態になることを防止する速度でフラッシングすることである。
一方、1つまたは複数のデータ・ストレージ128内に格納しているデータを読み出すためのアクセス・コマンドは、同様に、ネットワーク・アプリケーションが、アクセス・コマンドが満足するまでそれ以上の処理を阻止する恐れがある。アクセス・コマンドを満足させる時間、すなわち、レイテンシ期間は、アプリケーションの性能にとって非常に重要なものである。そのため、このようなコマンドは、レイテンシに敏感なコマンドと呼ばれる。ある状況の場合には、ホストは、ライトバック・キャッシングを許可しないことを選択することができる。この場合、ライトスルー・キャッシュ・コマンドと呼ばれる書込みコマンドは、同様にレイテンシに敏感なコマンドとして分類される。
定性データを収集する際に、ポリシー・エンジン174は、1秒の各間隔のような、しかしこれに限定されない所定の各サンプリング期間中にカウントを照合することが好ましい。書込みコマンドに対する読取りコマンドの比率でデータを収集するために、例えば、フリーランニング・カウンタは、連続的に上記比率を追跡するために1秒刻みで指針を移動させるポインタにより設定することができる。カウンタは、9番目のスロットで現在の1秒の比を計算するため前の8回の1秒サンプル比のような所望の数の前に観察した比率を保持する。1秒刻みの目盛の上では、指針が回転し、指し示した履歴値を減算し、最近のサンプル値を加算し、次に、比率の最近の移動平均を計算するために8で除算を行う。
さらに、例示としての例について説明すると、ポリシー・エンジン174が、ホスト負荷バースト活動が発生していることを観察している場合には、ポリシー・エンジンは、キャッシュ166内での飽和状態を防止する際に、ネットワーク負荷に関連してコマンド・プロファイルを修正するために、シーク・マネージャ176を管理する規則を発行することができる。この規則は、(レイテンシに敏感な)読取りコマンドに対する(速度に敏感な)書込みコマンドの比率でコマンド・プロファイルをネットワーク負荷にマッチさせることができる。この規則は、また飽和状態からできるだけ速く滑らかに回復するために、最大レイテンシおよびLUNクラス優先度のような他の目標を修正することもできるし、または一時的に延期することさえできる。
このような状態の場合、シーク・マネージャ176に書込みコマンドを積極的にフラッシングすることが強く求められた場合には、特にストレージ128内のディスク138(図5)の複数の物理ゾーンの選択した物理ゾーン内に位置するものだけへのコマンド・キュー内の転送要求を入手するために、負荷特徴に関連するキャッシュ・マネージャ170の機能を変更することにより、フラッシング性能を有意に改善するという決定が行われる。
図8は、ストライプ・データ記述子(SDD)とも呼ばれるデータ構造を使用するノード・ベースでのキャッシュ166(図6)を管理するキャッシュ・マネージャ170の略図である。各SDDは、それが関連するデータへの最近および現在のアクセスに関連するデータを保持する。各SDDは、アクセス履歴、ロックした状態、最後のオフセット、最後のブロック、タイムスタンプ・データ(時刻、TOD)、データがどのゾーン(ブック)に属するのかを示す識別子、および使用するRAIDレベルを含むデータの種々の状態を示す変数を含むことが好ましい。好適には、SDDに関連するデータのライトバック(「ダーティ」データ)状態は、ダーティ・データ、ダーティ・バッファ、ダーティLRUおよびフラッシングLRU値と関連して管理することが好ましい。
各SDDは、対応するRAIDストライプ194(すなわち、特定のパリティ・セットと関連する選択したストレージ128上のすべてのデータ)と整合し、特定のストライプ・バッファ・リスト(SBL)に適合することが好ましい。各キャッシュ・ノードは、順方向および逆方向にリンクしているリストを使用して、仮想ブロック・アドレス(VBA)を介して昇順にリンクしている所与の組の論理ディスクに対する能動SDD構造により、いくつかの特定のSDDを参照することが好ましい。
好適には、VBA値は、RAID割当てグリッド・システム(RAGS)と呼ばれるグリッド・システムを使用して、RAIDデータ組織と整合される。通常、同一のRAIDストリップ196(例えば、特定のパリティ・セットに貢献するすべてのデータなど)に属するブロックの任意の特定の集合体が、特定のシート上の特定の信頼性のあるストレージ・ユニット(RSU)に割り当てられる。ブックはいくつかのシートからできていて、異なるストレージ128からのブロックの複数の隣接する組から作られる。実際のシートおよびVBAに基づいて、このブックを、さらに、(冗長性を使用する場合)特定のデバイスまたはデバイスの組を示すゾーンに再分割することができる。
好適には、キャッシュ・マネージャ170は、ライトバック・コマンドおよびホスト読取りコマンドをできるだけ効率的に処理するために適合できるように管理することが好ましい。ダーティ・ブロックおよびロックしていないブロックを含む任意のSDDは、ダーティとしてセットし、古さ(例えば、キャッシュ待機フラッシング中にデータが消費した時間など)で分類することが好ましい。特定の古さになると、フラッシングLRU変数をセットすることができ、フラッシング・リストが更新される。
図9は、コマンド・キュー内の転送要求のアレイ198である。これらの要求は、記憶容量およびブック200が存在するストレージ128のブック200の交点により定義されるセルによりマッピングされる。セルは、Xで示すこれらのセルが1つまたは複数の転送要求が懸案中であるこれらの位置を示すように、転送要求により配置される。アレイ198は、読取りコマンドを実行するために、アクセス・コマンドが特定の位置にトランスジューサ142(図5)を送った場合に使用されるシーク管理ツールであり、ライトバック・データの他の使用可能なブロックは、アクチュエータ144(図5)をショート・ストロークする際に現在の位置に関連してサービスを行うために容易に識別することができる。
ダーティ・データに対する転送要求は、シーク・マネージャ176に均一な分布が提示されるように、アレイ198にランダムに追加される。コマンド・キューに対するこの均一に分布しているベースは、ネットワーク負荷が予想した定常状態である場合に、またはそれ以下である場合に使用することが好ましいCSCANおよびエレベータ・ルーチンのような従来のシーク・スケジューリング・ルーチンにうまく適している。図10は、例えば、ヘッド142が、どのように移動の予め定義した経路に沿って均一に分布している転送要求を発行しているシーク・マネージャ176と一緒に、内部の半径202から半径方向に外側に向かってディスク138を横断し、次に、外側の半径204から半径方向に内側に横断するのかを示す。
しかし、本実施形態の場合には、コマンド・キューからのデータのフラッシングの積極性は、アクセス・コマンドのホスト負荷に結びついている。すなわち、比較的大きなホスト負荷がかかっている間に十分積極的にフラッシングしないと、キャッシュ126が飽和する恐れがある。それ故、均一でない分布による負荷バースト活動の間にホスト負荷の特徴にコマンド・プロファイルをマッチさせるためにシーク・マネージャ174に重きを置くポリシー・エンジン174と一緒に、ポリシー・エンジン174は、また、それにより自身が均一な分布によるのではなく、物理ゾーンによりコマンド・キューを定義するモードへのキャッシュ・マネージャ170の切替も管理する。
図11は、図9のアレイ198を形成しているストレージ128のディスク138のうちの1つである。これらのストレージ128のこのディスク138およびすべての他のディスク138は、記憶容量のブック200により定義される環状ゾーン内に区分される。図12は、各ブック200内で現在懸案中のライトバック・データに対する転送要求の数の一例である。この実施形態によれば、ポリシー・エンジン174は、この場合はブック2004である、最大数の懸案中のライトバック要求を含むブック200を選択するためにキャッシュ・マネージャ170を選択的に管理し、コマンド・キューの内容をブック2004内のこれらのライトバック要求だけに制限する。ある実施形態の場合には、キャッシュ・マネージャ170は、すべてのライトバック要求がそのブック200から発行されるまで、該最多のブック200に制限することができる。他の実施形態の場合には、キャッシュ・マネージャ170は、周期的にライトバック要求の分布を再評価することができ、異なるブック200がかなり大きい数のライトバック要求を有している場合には、キャッシュ・マネージャは、コマンド・キューの内容を該最多のブック200内のライトバック要求にシフトする。
図13は、本発明の実施形態による好適なゾーン・スケジューリングのための方法202のステップを示すフローチャートである。この方法202は、ライトバック・コマンドおよびホスト読取りコマンドに対する転送要求の均一な分布によるコマンド・キューをローディングするデフォルト・モードでブロック204からスタートする。デフォルト・モードは、ポリシー・エンジンが、ネットワーク負荷に関するデータを収集する1秒の間隔のような、しかしこれに限定されない予め定義した間隔中に実施される。最新のデータは、例えば、書込みに対する読取りの比率およびI/O速度で、ホスト負荷を動的に特徴付けるためにブロック206で使用される。
ブロック208においては、ポリシー・エンジンは、均一でない分布を含むI/Oコマンドのバーストがネットワーク負荷を監視することによりはっきりわかるか否かを判定する。ブロック208における判定が「いいえ」である場合には、制御はブロック204に戻り、そのためデフォルト状態が継続する。しかし、ブロック208における判定が「はい」である場合には、ブロック210において、ポリシー・エンジンは、コマンド・プロファイルの入手の際に連続的に調整する目的で、ホスト負荷の特徴、およびおそらく目標188、システム状態190およびバックグラウンドI/O192を使用して好適なゾーン・スケジューリング規則を呼び出す。例えば、制限無しで、飽和状態でコマンドを読み出すための高い書込みコマンドが発生している場合には、ポリシー・エンジンは、飽和状態から回復するまで、読取りに対する書込みの比率でコマンド・キューの内容をホスト負荷にマッチさせるためにキャッシュ・マネージャを管理することができる。ポリシー・エンジンは、飽和状態からできるだけ速くまた滑らかに回復するために、読取りレイテンシおよびLUNクラス優先度のような他の規則を修正することさえできるし、または一時的に中止することさえできる。好適なゾーン・スケジューリング規則は、負荷データの次のバッチが収集される1秒の間隔のような所定の間隔中に呼び出され、制御は、ブロック206に戻る。
通常、この実施形態は、ネットワーク・アクセス・コマンドに応じてデータを転送するためにネットワークに接続するように構成されているストレージ・アレイ、およびコマンド・キュー内の転送要求の分布をアクセス・コマンドのネットワーク負荷の観察した特徴に相関付けることによりコマンド・キューを入手するための手段を予想している。この説明および添付の特許請求の範囲の意味のために、「入手するための手段」という用語は、明らかに、本明細書に記載する構造、および制御装置112がネットワーク負荷を特徴付け、特徴によりコマンド・キューの内容を直接調整することができるようにするその等価物を含む。フラッシング・リストを「直接」調整することにより、「入手するための手段」は、明らかに、ネットワーク負荷の特徴およびポリシー・エンジンからの規則に関連して、均一な分布からゾーン分布へのようなそれに応じて内容を切り替えるキャッシュ・マネージャを予測している。この説明および添付の特許請求の範囲の場合、「入手するための手段」は、ライトバック・データおよびコマンド・キューの内容に間接的に影響を与える恐れがある高度に局所化したバースト活動の周期となるPOS(point of sale)取引のようなその発生の一致する位置を単に予想していない。
上記説明内で、本発明の種々の実施形態の構造および機能の詳細と一緒に、本発明の種々の実施形態の多くの特徴および利点を説明してきたが、この詳細な説明は、例示としてのためだけのものであって、添付の特許請求の範囲を説明している用語の広い一般的な意味により示す全範囲に、特に本発明の原理の部材の構造および配置を変えることができることを理解されたい。例えば、本発明の精神および範囲から逸脱することなしに、特定の処理環境により特定の要素を変えることができる。
さらに、本明細書に記載する実施形態は、データ・ストレージ・アレイに関するものであるが、当業者であれば、特許請求の範囲に記載の主題は、それに限定されるものではなく、本発明の精神および範囲から逸脱することなしに、種々の他の処理システムも使用することができることを理解することができるだろう。
本発明の実施形態を組み込むコンピュータ・システムの図面である。 図1のコンピュータ・システムの一部の簡単な図面である。 本発明の実施形態によるインテリジェント記憶素子の分解等角図である。 図3のインテリジェント記憶素子の複数のドライブ・アレイの分解等角図である。 図4の複数のドライブ・アレイで使用する例示としてのデータ・ストレージである。 インテリジェント記憶素子内のアレイ制御装置の機能ブロック図である。 図6のアレイ制御装置の一部の機能ブロック図である。 インテリジェント・ストレージ素子内のアレイ制御装置およびデータ・ストレージのアレイの一部を示す略図である。 ライトバック・データ要求をランダムにマッピングする際にキャッシュ・マネージャが使用するアレイである。 CSCANシーク・スケジューリング技術と一緒に、均一に分布しているライトバック・データ要求を発行するストレージの略図である。 データ・ストレージ容量のブックにより定義される環状のゾーンを示すストレージ・ディスクの簡単な平面図である。 図11の各ブック内のライトバック要求の観察したカウントを示す。 本発明の実施形態による好適なゾーン・スケジューリングのための方法のステップを示すフローチャートである。
符号の説明
100 コンピュータ・システム
102 ホスト
103 ホスト・バス・アダプタ(HBA)
104 サーバ
106 LAN/WAN
108 インテリジェント記憶素子(ISE)
109 データ・ストレージ容量
110 SAN
112 二重化冗長制御装置
114 シェルフ
116 ミッドプレーン
118 ドライブ・アセンブリ(MDA)
122 デュアル・バッテリー
124 デュアル交流電源
126 デュアル・インタフェース・モジュール
128 データ・ストレージ
130,132 隔壁
134 回路基板
136 コネクタ
138 ラッパー
140 モータ
142 読取り/書込みヘッド
144 回転アクチュエータ
146 ボイス・コイル・モータ(VCM)
148 回路基板
150 フレックス回路
152 コネクタ
154 プロセッサ
156 不揮発性メモリ
158 ダイナミック・ランダム・アクセス・メモリ(DRAM)
160,162 I/F回路
164 経路制御装置
166 キャッシュ
170 キャッシュ・マネージャ
172 RAIDコンテナ・サービス
174 ポリシー・エンジン
176 シーク・マネージャ
178,180,182 経路
188 目標
190 システム状態
198 アレイ
200 ブック

Claims (14)

  1. データ・ストレージ・システムであって、
    ポリシーエンジンを備え、
    前記ポリシー・エンジンは、前記データ・ストレージ・システムに対するネットワーク負荷についての定性データを連続的に収集して前記負荷を動的に特徴付け、該特徴づけにより得られた負荷の特徴に応じて、ライトバック・データに対する転送要求についてのコマンド・キューの内容を記憶媒体上にデータ記憶領域として設けられた複数の物理ゾーンにおいて物理ゾーン単位で選択されたライトバック・データに対する転送要求だけに選択的に限定し、
    前記ネットワーク負荷は、該ネットワークを介して前記データ・ストレージ・システムに該ネットワークに結合されるホストから与えられる一連のアクセス・コマンドの少なくとも種別および転送速度により表され
    前記定性データは前記負荷に含まれるアクセス・コマンドが読取りコマンドであるか書込みコマンドであるかを特定するデータであり、前記負荷の特徴は少なくとも当該特定されたアクセス・マンドの分布を表す、データ・ストレージ・システム。
  2. 前記ポリシー・エンジンに応答して、前記負荷の特徴が、前記負荷が、前記ポリシーエンジンが前記ネットワーク負荷の状態の判定のための基準として用いる予想された定常状態と同じか、またはそれ以下であることを示している場合に、前記複数の物理ゾーンが均一な割合で選択されてアクセスされる均一な分布にもとづいて前記コマンド・キューの内容を設定して前記複数の物理ゾーンが均一な割合でアクセスされるよう管理し、前記負荷の特徴が、均一でない分布のアクセス・コマンド活動のバーストを示している場合に、物理ゾーンにもとづいて前記コマンド・キューの内容を設定して前記物理ゾーン単位で前記複数の物理ゾーンがアクセスされるように管理するキャッシュ・マネージャを備える、請求項1に記載のデータ・ストレージ・システム。
  3. 前記負荷の特徴が、前記負荷に含まれるアクセス・コマンドのレイテンシに敏感なアクセス・コマンドに対する速度に敏感なアクセス・コマンドの比率で表され、
    前記レイテンシに敏感なコマンドは、コマンド処理においてレイテンシの影響が速度による影響よりも大きなコマンドであり、
    前記速度に敏感なコマンドはコマンド処理において速度の影響がレイテンシによる影響よりも大きなコマンドである、請求項1または2に記載のデータ・ストレージ・システム。
  4. 前記速度に敏感なコマンドが、ライトバック・キャッシュ・コマンドであり、前記レイテンシに敏感なコマンドが、読取りコマンドおよびライトスルー・キャッシュ・コマンドのうちの少なくとも一方である、請求項3に記載のデータ・ストレージ・システム。
  5. 前記負荷の特徴が、各アクセス・コマンドに関連するサイズで表される、請求項1に記載のデータ・ストレージ・システム。
  6. 各物理ゾーンが、前記記憶媒体の全周にわたる環状部分である、請求項1に記載のデータ・ストレージ・システム。
  7. 独立のドライブ(RAID)の冗長アレイを定義するために割り当てられた媒体を有するデータ・ストレージのアレイを備え、各物理ゾーンが、2つ以上のデータ・ストレージにわたってストライプ化されて割り当てられたストレージ空間である、請求項1から6のいずれかに記載のデータ・ストレージ・システム。
  8. 前記コマンド・キューがシーク・マネージャに提示され、前記シーク・マネージャは、コマンド・プロファイルを定義するコマンド・キュー内の転送要求を選択的に発行する、請求項1から7のいずれかに記載のデータ・ストレージ・システム。
  9. 前記ポリシー・エンジンが、発行時のコマンドの分布を示すコマンド・プロファイルを決定する際に、シーク・マネージャを管理する規則として負荷の特徴に対応する規則および前記コマンド・キューからの転送要求の処理時に前記システムにおいて実現されるべき目標に対応する規則を決定する、請求項1から8のいずれかに記載のデータ・ストレージ・システム。
  10. 前記ポリシー・エンジンが、前記負荷に含まれるアクセス・コマンドのレイテンシに敏感なコマンドに対する速度に敏感なコマンドの比率でにおいて、発行時のコマンドの分布を示すコマンド・プロファイルを前記負荷の特徴に選択的に対応させ、
    前記レイテンシに敏感なコマンドは、コマンド処理においてレイテンシの影響が速度による影響よりも大きなコマンドであり、
    前記速度に敏感なコマンドはコマンド処理において速度の影響がレイテンシによる影響よりも大きなコマンドである、請求項1から9のいずれかに記載のデータ・ストレージ・システム。
  11. 前記ポリシー・エンジンが、前記負荷に含まれるアクセス・コマンドのレイテンシに敏感なコマンドに対する速度に敏感なコマンドの比率において、前記コマンド・プロファイルを前記負荷の特徴とマッチさせ、
    前記レイテンシに敏感なコマンドは、コマンド処理においてレイテンシの影響が速度による影響よりも大きなコマンドであり、
    前記速度に敏感なコマンドはコマンド処理において速度の影響がレイテンシによる影響よりも大きなコマンドである、請求項9に記載のデータ・ストレージ・システム。
  12. 前記ポリシー・エンジンが、前記コマンド・プロファイルを前記アクセス・コマンドの所望の最大レイテンシと選択的に対応させる、請求項9に記載のデータ・ストレージ・システム。
  13. 前記ポリシー・エンジンが、前記コマンド・プロファイルを異なるLUNに割り当てられた優先度に選択的に対応させる、請求項9に記載のデータ・ストレージ・システム。
  14. 前記ポリシー・エンジンが、有限状態機械である、請求項1に記載のデータ・ストレージ・システム。
JP2008169143A 2007-06-29 2008-06-27 好適なゾーン・スケジューリング Expired - Fee Related JP5594942B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/771,980 US9329800B2 (en) 2007-06-29 2007-06-29 Preferred zone scheduling
US11/771,980 2007-06-29

Publications (3)

Publication Number Publication Date
JP2009015845A JP2009015845A (ja) 2009-01-22
JP2009015845A5 JP2009015845A5 (ja) 2011-08-04
JP5594942B2 true JP5594942B2 (ja) 2014-09-24

Family

ID=40162116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008169143A Expired - Fee Related JP5594942B2 (ja) 2007-06-29 2008-06-27 好適なゾーン・スケジューリング

Country Status (2)

Country Link
US (2) US9329800B2 (ja)
JP (1) JP5594942B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910234B2 (en) * 2007-08-21 2014-12-09 Schneider Electric It Corporation System and method for enforcing network device provisioning policy
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US10592107B2 (en) 2016-03-30 2020-03-17 EMC IP Holding Company LLC Virtual machine storage management queue
US10496539B1 (en) * 2016-09-30 2019-12-03 EMC IP Holding Company LLC Using storage class memory as a persistent operating system file/block cache
JP2021505277A (ja) 2017-12-08 2021-02-18 デピュイ・アイルランド・アンリミテッド・カンパニーDepuy Ireland Unlimited Company 整形外科用器具

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257614A (ja) * 1992-03-13 1993-10-08 Nippon Telegr & Teleph Corp <Ntt> ディスク入出力制御方法および装置
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5390315A (en) * 1992-06-15 1995-02-14 International Business Machines Corporation Allocation of uniform contiguous blocks of DASD storage by maintaining both a bit and a bit map record of available storage
US5522057A (en) * 1993-10-25 1996-05-28 Intel Corporation Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems
JPH08115169A (ja) * 1994-10-14 1996-05-07 Hitachi Ltd ディスク制御装置
JP3745552B2 (ja) * 1999-02-26 2006-02-15 富士通株式会社 情報記憶装置
US6460122B1 (en) * 1999-03-31 2002-10-01 International Business Machine Corporation System, apparatus and method for multi-level cache in a multi-processor/multi-controller environment
US6629211B2 (en) * 2001-04-20 2003-09-30 International Business Machines Corporation Method and system for improving raid controller performance through adaptive write back/write through caching
US6782449B1 (en) * 2002-06-01 2004-08-24 Western Digital Technologies, Inc. Adaptively modifying a read caching algorithm based upon the detection of a vibration state within a rotating media storage device
US7353334B2 (en) * 2002-08-19 2008-04-01 Aristos Logic Corporation Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7487235B2 (en) * 2003-09-24 2009-02-03 Dell Products L.P. Dynamically varying a raid cache policy in order to optimize throughput
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
US7249229B2 (en) * 2004-03-31 2007-07-24 Gemini Mobile Technologies, Inc. Synchronous message queues
US7177145B2 (en) * 2004-04-02 2007-02-13 Seagate Technology Llc Carrier device and method for a multiple disc array
US7430638B2 (en) * 2004-06-14 2008-09-30 Mossman Holdings Llc Adaptive input / output compressed system and data cache and system using same
US7133291B2 (en) * 2004-07-02 2006-11-07 Seagate Technology Llc Carrier device and method for a multiple disc array
US7380067B2 (en) * 2004-07-19 2008-05-27 Infortrend Technology, Inc. IO-stream adaptive write caching policy adjustment
US7594075B2 (en) * 2004-10-20 2009-09-22 Seagate Technology Llc Metadata for a grid based data storage system
US20060143396A1 (en) * 2004-12-29 2006-06-29 Mason Cabot Method for programmer-controlled cache line eviction policy
US20060236033A1 (en) * 2005-04-18 2006-10-19 Dell Products L.P. System and method for the implementation of an adaptive cache policy in a storage controller
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
US7831624B2 (en) * 2005-06-24 2010-11-09 Seagate Technology Llc Skip list with address related table structure
JP4788528B2 (ja) * 2005-09-22 2011-10-05 富士通株式会社 ディスク制御装置、ディスク制御方法、ディスク制御プログラム
JP2007188341A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 記憶デバイス制御装置
US8250316B2 (en) * 2006-06-06 2012-08-21 Seagate Technology Llc Write caching random data and sequential data simultaneously

Also Published As

Publication number Publication date
US20160320990A1 (en) 2016-11-03
US10082968B2 (en) 2018-09-25
JP2009015845A (ja) 2009-01-22
US9329800B2 (en) 2016-05-03
US20090006741A1 (en) 2009-01-01

Similar Documents

Publication Publication Date Title
JP5236365B2 (ja) ストレージ・アレイでの電力管理
JP5638744B2 (ja) コマンド・キュー・ローディング
JP5427630B2 (ja) 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理
US8635427B2 (en) Data storage control on storage devices
EP1785876B1 (en) Storage control system and storage control method
US8166270B2 (en) Storage control apparatus, data management system and data management method for determining storage heirarchy based on a user policy
US7565508B2 (en) Allocating clusters to storage partitions in a storage system
JP5882557B2 (ja) 要求優先順位シーク・マネージャ
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US20070266218A1 (en) Storage system and storage control method for the same
US7644228B2 (en) Distributed storage system with global replication
US10082968B2 (en) Preferred zone scheduling
JP5376624B2 (ja) ホスト適応シーク技術環境
JP4616899B2 (ja) 管理サーバ、プール増設方法および計算機システム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110616

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140805

R150 Certificate of patent or registration of utility model

Ref document number: 5594942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees