JP5376624B2 - ホスト適応シーク技術環境 - Google Patents

ホスト適応シーク技術環境 Download PDF

Info

Publication number
JP5376624B2
JP5376624B2 JP2008166092A JP2008166092A JP5376624B2 JP 5376624 B2 JP5376624 B2 JP 5376624B2 JP 2008166092 A JP2008166092 A JP 2008166092A JP 2008166092 A JP2008166092 A JP 2008166092A JP 5376624 B2 JP5376624 B2 JP 5376624B2
Authority
JP
Japan
Prior art keywords
command
latency
load
commands
network
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
JP2008166092A
Other languages
English (en)
Other versions
JP2009009572A5 (ja
JP2009009572A (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 JP2009009572A publication Critical patent/JP2009009572A/ja
Publication of JP2009009572A5 publication Critical patent/JP2009009572A5/ja
Application granted granted Critical
Publication of JP5376624B2 publication Critical patent/JP5376624B2/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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]

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、概して、分散データ・ストレージ・システムの分野に関し、特に、分散アレイ・ストレージ・システムにおけるシーク・コマンド・プロファイルを適合可能に管理するための装置および方法に関するが、これに限定されない。
コンピュータ・ネットワーキングは、工業規格アーキテクチャのデータ転送速度が、インテル社(Intel Corporation)の80386プロセッサのデータ・アクセス速度に追いつくことができなくなった時に急激に増大し始めた。ローカル・エリア・ネットワーク(LAN)は、ネットワーク内のデータ・ストレージ容量を強化することにより、ストレージ・エリア・ネットワーク(SAN)に進化した。ユーザは、装置を結合し、SAN内の装置で扱われる関連データにより、直接取付ストレージにより可能となる以上の桁の処理能力、そして扱いやすいコストで有意の利点を実現している。
さらに最近は、データ・ストレージ・サブシステムを制御するためのネットワーク・セントリック・アプローチの方向への動きがある。すなわち、ストレージを強化したのと同じ方法で、サーバから取り出され、ネットワーク自身に送られるストレージの機能を制御するシステムにも同じ動きがある。例えば、ホスト・ベースのソフトウェアは、インテリジェント・スイッチまたは特殊化したネットワーク・ストレージ・サービス・プラットフォームに保守および管理タスクを委託することができる。アプライアンス・ベースの解決方法を使用すれば、ホストで稼働するソフトウェアが必要なくなるし、企業内にノードとして設置されているコンピュータで動作することができる。いずれにせよ、インテリジェント・ネットワーク解決方法は、これらのものをストレージ割当ルーチン、バックアップ・ルーチン、およびホストによらない障害許容スキームとして中央に集めることができる。
インテリジェンスをホストからネットワークに移動すればこのようないくつかの問題を解決することはできるが、仮想ストレージのプレゼンテーションをホストに変更する際の柔軟性の一般的な不足に関連する固有の問題は解決しない。例えば、データを格納する方法を、通常でないホスト負荷活動のバーストを収容するように適合させる必要がある場合がある。その各データ・ストレージ容量の自己決定による割当て、管理、および保護、およびグローバルなストレージ要件に適応するように、ネットワークへその容量を仮想ストレージ空間としての提示するインテリジェント・データ・ストレージ・サブシステムが求められている。この仮想ストレージ空間は、複数のストレージ・ボリューム内に提供することができる。本発明の目指しているのはこのための解法である。
本発明の実施形態は、概して、分散データ・ストレージ・システムのホスト適応シーク技術環境(HASTE)に関する。
ある実施形態の場合には、データ・ストレージ・システムおよび関連する方法は、負荷を動的に特徴付けるために、データ・ストレージ・システムにネットワーク負荷についての定性情報を連続的に収集し、コマンド・プロファイルを、特徴に関連するデータ・ストレージ・システムのデータ・ストレージに連続的に相関付けるポリシー・エンジンによりHASTEを実行する。
本発明を特徴付けるこれらおよび種々の他の機能および利点は、下記の詳細な説明を読み、関連する図面を見れば理解することができるだろう。
図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に対するコマンド・キューを管理する。特定の時点でいずれのコマンドを発行するのかの選択は、経路制御装置164内に常駐するホスト適応シーク技術環境(HASTE:Host Adaptive Seek Technique Environment)モジュール168と協働してシーク・マネージャが行う。シーク・マネージャは、実際に転送要求を発行する許可を与える関連するデータ転送を行うためのリソースを割り当てる。
ISE108のデータ・ストレージ容量は、データをストレージ128に格納する場合に、およびデータをストレージ128から検索する場合に、参照される論理装置の形に組織される。システム構成情報は、ユーザ・データおよび関連するパリティと、ミラー・データおよび各記憶位置間の関係を定義する。システム構成情報は、さらに、論理ブロック・アドレス(LBA)の用語のようなもので、データに割り当てられたストレージ容量のブロックと関連するメモリ記憶位置との間の関係を識別する。システム構成情報は、さらに、論理ブロック・アドレスにマッピングされる仮想ブロック・アドレスを定義することによる仮想化を含むことができる。
制御装置112アーキテクチャは、有利にスケーリングすることができる非常に機能的なデータ管理を行い、ストレージ容量の制御を行う。好適には、ストライプ・バッファ・リスト(SBL)および他のメタデータ構造を、記憶媒体上のストライプ境界、および記憶処理中ディスク・ストライプと関連するデータを格納するための専用のキャッシュ166内の参照データ・バッファと整合することが好ましい。
動作中、キャッシュ166は、SAN110によりHBA103を通して、ユーザ・データおよびI/O転送に関連する他の情報を格納する。要求されなかった不確かなデータを含むストレージ128から検索したリードバック・データを、ストレージ128宛のアクセス・コマンドのスケジューリングを要求する代わりに、以降の要求したデータがキャッシュ166から直接転送されるように、以降の「キャッシュ・ヒット」をあてにして、キャッシュ166内に暫くの間保持することができる。同様に、ストレージ128に書き込むデータが、キャッシュされるようにライトバック・キャッシュ・ポリシーが使用され、完了肯定応答がHBA103を介して開始ネットワーク・デバイスに返送されるが、ストレージ128へのデータの実際の書込みは、後の都合のよい時間にスケジューリングされる。
それ故、通常、制御装置112は、各エントリの状態を含むキャッシュ166の内容の正確な制御を維持しなければならない。このような制御は、テーブル構造に関連するアドレスを使用するスキップ・リスト配置により実行することが好ましい。スキップ・リストは、キャッシュ166の一部内に維持することが好ましいが、必要に応じて他のメモリ・スペースを使用することもできる。
キャッシュ166は、ストライプ・データ記述子(SDD)と呼ばれるデータ構造を使用して、制御装置112によりノード・ベースで管理される。各SDDは、それが関連するデータへの最近および現在のアクセスに関連するデータを保持する。各SDDは、対応するRAIDストライプ(すなわち、特定のパリティ・セットに関連する選択したストレージ上のすべてのデータ)と整合し、特定のストライプ・バッファ・リスト(SBL)に適合することが好ましい。
制御装置112により管理される各キャッシュ・ノードは、好適には、順方向および逆方向にリンクしているリストを使用して、仮想ブロック・アドレス(VBA)を通して昇順にリンクしている所与の組の論理ディスクに対する能動SDD構造によりいくつかの特定のSDDを参照することが好ましい。
好適には、VBAの値は、RAID割当てグリッド・システム(RAGS)とも呼ばれるグリッド・システムを使用して、RAIDデータ組織と整合される。通常、同じRAIDストリップ(例えば、特定のパリティ・セットに貢献するすべてのデータなど)に属するブロックの任意の特定の集合体が、特定のシート上の特定の信頼できるストレージ・ユニットに割り当てられる。ブックは多数のシートからできていて、異なるストレージからのブロックの複数の隣接する組から作られる。実際のシートおよびVBAに基づいて、このブックを、さらに、(冗長性を使用する場合)特定のデバイスまたはデバイスの組を示すゾーンに分割することができる。
各SDDは、アクセス履歴、ロックした状態、最後のオフセット、最後のブロック、タイムスタンプ(時刻、TOD)、データがいずれのゾーン(ブック)に属するのかを示す識別子、および使用するRAIDレベルを含むデータの種々の状態を示す変数を含むことが好ましい。SDDに関連するライトバック(「ダーティ」データ状態は、ダーティ・データ、ダーティ・バッファ、ダーティLRUおよびフラッシングLRUの値と関連して管理することが好ましい。
制御装置112は、システム要件により、多数の異なるレベルのところでのライトバック・データ・プロセスを管理するために同時に動作することが好ましい。第1のレベルは、通常、全RAIDストリップが検出された場合に、全SDD構造の周期的フラッシングを含む。このことは、SDDが関連するデータをダーティと識別した場合に、RAIDレベル変数に基づいて所与のSDDに対して容易に行うことができる。好適には、このことは、十分な連続している隣接SDDが、十分ダーティなデータで満たされているか否かを判定するために逆方向のチェックを含む。そうである場合には、これらのSDD構造は、コマンド・キュー内に入れられ、データのフラッシングを開始するようにとの要求が行われる。
もっと小さな組のデータのフラッシングもSDDをベースとして処理することが好ましい。ダーティ・ブロックおよびロックされていないブロックを含む任意のSDDは、ダーティLRUとしてセットし、古さの程度(例えば、キャッシュ待機フラッシング中にデータが消費した時間など)により区分けすることが好ましい。特定のエージングに達した場合には、フラッシングLRU変数を設定し、コマンド・キューを更新することが好ましい。
連続しているダーティ・ブロックの特定の範囲がフラッシングに対してスケジューリングされると、制御装置112は、最も近い位置を有するRAIDレベルに基づいて、ダーティ・ブロックの他の範囲、すなわち、シーク時間の点で「近い」ブロック、または同じRAIDパリティ・ストリップへのアクセスを含むブロックを配置することが好ましい。
この実施形態によれば、コマンド・キューからのデータのフラッシングの積極性は、I/Oコマンドのホスト負荷と結びついている。すなわち、比較的大きな負荷がかかっている時に十分積極的にフラッシングを行わないと、キャッシュ126が飽和する恐れがある。逆に、ホストの負荷が比較的低い時にあまりに積極的にフラッシングすると、キャッシュが不足してポテンシャル・キャッシュ・ヒットを満足できないままになる恐れがある。両方のシナリオともISE108システムの性能に悪影響を及ぼす。
図7は、キャッシュ・マネージャ170および経路制御装置164(図6)内に常駐するRAIDコンテナ・サービス172を示す機能ブロック図である。この図は、またHASTEモジュール168のポリシー・エンジン174およびシーク・マネージャ176も示す。シーク・マネージャ176は1つしか図示してないが、ストレージ128に対して専用のシーク・マネージャ176が存在する。そのため、これらのシーク・マネージャは、ポリシー・エンジン174からHASTE規則に個々に応答する。
これらの機能ブロックは、ソフトウェアまたはハードウェア内に位置することができる。ハードウェア内に位置する場合には、ポリシー・エンジン174は有限状態機械であるが、これに限定されない。いずれにせよ、ポリシー・エンジン174は、経路178を介して、I/O単位ベースでファブリックI/F160経由で受信したアクセス・コマンドについての定性データを連続的に収集する。ポリシー・エンジン174は、動的にホスト負荷を特徴づけそれに続けてシーク・マネージャ176を支配する経路179を介してHASTE規則を発行する。シーク・マネージャは、経路180を介してライトバック・データおよびホスト読取り要求をフラッシングするために、データ転送要求のコマンド・キューに問い合わせ、コマンド・プロファイルを定義するために経路182を通してデータ転送要求を発行する許可を選択的に与える。ポリシー・エンジン174は、経路184を通してキャッシュ166の状態を引き続き知らされ、経路186を通してキャッシュ・マネージャにHASTE規則を同様に発行することができる。
ポリシー・エンジン174は、1つまたは複数のネットワーク要求デバイスからのI/Oコマンドの現在の速度のようなリアルタイムの負荷についての定量データを収集することができる。ポリシー・エンジン174は、負荷を動的に特徴付け、コマンド・プロファイルを特徴付けとの関係においてストレージ128に連続的に調整するために、負荷に関する定性データを収集する。例えば、好適には、ポリシー・エンジン174は、レイテンシに敏感なコマンドに対する速度に敏感なコマンドの比率で、ホストの負荷を特徴付ける連続データをリアルタイムで収集することが好ましい。
この説明のために、ライトバック・キャッシング・スキームを仮定する。それ故、ライトバック・キャッシュ・コマンドは、速度に敏感なコマンドであると見なされる。何故なら、任意の時点でデータ・ストレージ128にいずれの要求をフラッシングするかはたいした問題ではないからである。実際には、速度に敏感な要求は、ダーティ・データとしてキャッシュ166内で未決状態である場合に、速度に敏感な要求を上書きすることさえできるからである。問題は、速度に敏感なコマンドを、キャッシュ166が飽和状態になることを防止する速度でフラッシングすることである。
一方、1つまたは複数のストレージ128内に格納しているデータを読み出すためのホスト・アクセス・コマンドは、同様に、ホスト・アプリケーションが、アクセス・コマンドが満足するまでそれ以上の処理を阻止する恐れがある。アクセス・コマンドを満足させる時間、すなわち、レイテンシ期間は、アプリケーションの性能にとって非常に重要なものである。そのため、このようなコマンドは、レイテンシに敏感なコマンドと呼ばれる。ある状況の場合には、ホストは、ライトバック・キャシングを許可しないことを選択することができる。この場合、ライトスルー・キャッシュ・コマンドと呼ばれる書込みコマンドは、同様にレイテンシに敏感なコマンドとして分類される。
ポリシー・エンジン174は、また、関連するデータ・ファイル(帯域幅)のサイズ、アクセス・コマンドを開始するHBA103および/またはネットワーク・デバイス、ストレージ128のアクセス履歴、またはブック・アクセス履歴の期間のようなその任意の一部、タイムスタンプ・データ、RAIDクラス、およびアクセス・コマンドが送られるLUNクラスのような、しかしこれに限定されない、ホストの負荷を特徴付ける定性データを収集することができる。
定性データを収集する際に、ポリシー・エンジン174は、1秒の各間隔のような、しかしこれに限定されない所定の各サンプリング期間中にカウントを照合することが好ましい。フリーランニング・カウンタは、連続的に上記比率を追跡するために1秒刻みで指針を移動させるポインタにより設定することができる。カウンタは、9番目のスロットで現在の1秒の比を計算するため前の8回の1秒サンプル比のような所望の数の前に観察した比率を保持する。1秒刻みの目盛の上では、指針が回転し、指し示した履歴値を減算し、最近のサンプル値を加算し、次に、比率の最近の移動平均を計算するために8で除算を行う。
ポリシー・エンジン174は、シーク・マネージャ176に対する規則を作成する際に性能の目標188に応じることができる。目標188は、量的(定量的)なものであっても質的(定性的)なものであってもよいが、速度に敏感なコマンドに対するレイテンシに敏感なコマンドの比率(ライトバック・キャッシングに対する書込みコマンドに対する読取りコマンドの比率)という点でネットワーク負荷のある種の要因である所望のコマンド・プロファイルの強化(強制設定)、異なるLUNクラスへの割り当てられた優先度の強化(強制設定)、所望の読取りコマンド・レイテンシの強化(強制設定)等に限定されない。それ故、ポリシー・エンジン174は、キャッシュに格納しているライトバック・コマンドおよびもっと高い優先度ホスト読取りコマンドからのデータ転送のコマンド・キュー内の複数のデータ転送から、選択したデータ転送を発行する許可を与える目的で、シーク・マネージャ176を支配しているHASTE規則を定義するために、負荷特性および予め定義した性能目標188の両方を使用することができる。
さらに、ポリシー・エンジン174は、シーク・マネージャ176を支配している規則を作成する際にシステム状態情報190に応じることができる。例えば、制限なしで、電源インジケータは、ポリシー・エンジン174にISE108がバッテリーのバックアップ電源に切り替わったことを知らせることができる。この状態において、ポリシー・エンジン174は、投影された制限付きの電力利用度に関してキャッシュ166を積極的にフラッシングする不測の事態を実行する可能性が高い。ポリシー・エンジン174は、また、ストレージ128へのコマンド・プロファイルを調整する時に、シーク・マネージャ176を支配しているHASTE規則を作成する際に、アクセス・コマンド・データ転送に直接関与しない懸案のバックグラウンドI/O192またはI/Oの状態に応じることができる。
図8は、本発明の例示としての実施形態によりHASTEを実施するための方法200のステップを示すフローチャートである。この方法200は、レイテンシおよびアドレス要因と関連するように、ダーティ・データの均一の分布によりランダムにフラッシングするために、HASTE規則を実行するデフォルト・モードでブロック202から開始する。デフォルト・モードは、その間に定性HASTEデータが収集される、1秒の間隔のような、しかしこれに限定されない予め定義した間隔中に実行される。最近のHASTEデータは、書込みに対する読取りの比率で、ホストの負荷を動的に特徴付けるために、ブロック204で使用される。
ブロック206においては、ポリシー・エンジンは、I/Oコマンドのバーストが、ネットワーク負荷を監視することによりはっきり分かるか否かを判定する。ブロック206における判定が「いいえ」である場合には、制御は、ブロック202に戻り、デフォルト状態のままである。しかし、ブロック206の判定が「はい」である場合には、ブロック208において、ポリシー・エンジンは、ストレージへのコマンド・プロファイル内で引き続き調整を行う目的でHASTE規則を呼び出すために、ホストの負荷、そして恐らく、目標188、システム状態190およびバックグラウンドI/O192を使用する。例えば、制限無しに、飽和状態で読取りコマンドに対する書込みコマンドの比率が高くなった場合には、ポリシー・エンジンは、飽和状態から回復するまで、読取りに対する書込みの比率の点でホストの負荷にコマンド・プロファイルを一致させるために、シーク・マネージャを支配することができる。ポリシー・エンジンは、できるだけ迅速に滑らかに飽和状態から回復するために、読取りレイテンシおよびLUNクラス優先度のような他の規則を修正することさえできるし、一時的に中止させることもできる。HASTE規則は、その間にHASTEデータの次のバッチが収集され、制御がブロック204に戻る1秒間隔のような所定の間隔中に呼び出される。
例示としての実施形態の場合には、HASTEデータは、最近の1秒の間隔中にレイテンシに敏感なコマンドに対する速度に敏感なコマンドの比率の決定、およびその比率の移動平均に対する比較の実施などで、ホストの負荷を質的に特徴付ける。下記の例示としての例のために、すべてのLUNクラスは、すべてのLUNクラスへのシステム・リソースの利用度がバランスのとれたものになるように、同じ優先度を有するものとして処理される。しかし、他の等価の実施形態の場合には、LUNクラスには、シーク・マネージャ176を支配するHASTE規則に分かれる優先度レベルを割り当てれことができる。また、この例示としての例のために、HASTEデータは、RAID−1ストレージ・アレイに割り当てられるストレージ128の1つはプールに対して入手される。
この例の場合には、HASTEモードの目標188は、各ストレージ128が、要求しているネットワーク・デバイスからの到着のその平均速度に比例して書込みコマンドおよび読取りコマンドを混合することである。分析は、適当なRAIDレベルで分かれる書込みに対する読取りの平均比率を観察することにより開始する。RAID−1の場合には、例えば、各ホスト書込みコマンドに対して2つの書込みコマンドが発生する。この情報は、(計算のために)16384の仮定した分母値を含む整数の分子であると見なすことができる「速度に敏感な要求の要因」(FRSR)にとり入れられる。例示としての例の場合には、FRSRは5461である。それ故、「レイテンシに敏感な要求の要因」は下式により計算することができる。
Figure 0005376624
ここで、ストレージ128は、200IOPSでアクセス・コマンドの所与の混合物を処理することができるものと仮定する。それ故、この前の8回の1秒サンプル間隔の移動平均は、1600のアクセス・コマンドに跨る。この移動平均は、観察した1067の読取りコマンドおよび533の書込みコマンドに基づくものと仮定し、最後の1秒サンプル間隔中には、66の読取りコマンドおよび34の書込みコマンドが存在したと仮定する。正規化FRSRを計算すると、下式のようになる。
Figure 0005376624
FRSRの目標は5461であり、実際のFRSRは目標を超える。それ故、ポリシー・エンジン174は、現在のコマンド・プロファイルを調整しない。
しかし、上記と同じ状況において、最新の1秒サンプルは、70の読取りコマンドおよび30の書込みコマンドを生成したと仮定する。この正規化FRSRを計算すると、下式のようになる。
Figure 0005376624
目標のFRSRと実際のFRSRとを比較する場合のマイナスのデルタは、速度検出(ライトバック)コマンドの数をコマンド・プロファイル内で増大する必要があることを示す。速度検出コマンドに対する適当な修正を決定するために、下記の関係を使用する。
Figure 0005376624
Xについてこの式を解くと、下式のようになる。
Figure 0005376624
上記例の場合には、下式のようになる。
Figure 0005376624
それ故、シーク・モード176は、所望の速度に観察した速度を一致させるために余分の書込みコマンドを実行させる。このことは、例えば、ドライブ自身を、高い優先度(またはレイテンシ検出)コマンドになるように、内部に待ち行列を含む5つの書込みコマンドを促進させることにより行うことができる。
通常、この実施形態は、ネットワーク・アクセス・コマンドに応じてデータを転送するために、ネットワークに接続するように構成されているストレージ・アレイ、およびHASTE内のストレージにコマンド・プロファイルを制御するための手段を予想する。この説明および添付の特許請求の範囲の意味のために、「制御するための手段」という用語は、明らかに本明細書に記載するおよび制御装置112がネットワーク負荷を特徴付け、特徴により制御装置・プロファイルを直接調整することができるようにするその等価物を含む。コマンド・プロファイルを「直接」調整することにより、「制御するための手段」は、制御装置112が、特徴に応えてダーティ・データおよび未決のホスト読取り要求からの複数のI/Oコマンドから選択したI/Oコマンドの発行を実際に調整することをはっきりと意味する。この説明および添付の特許請求の範囲の意味のために、「制御するための手段」という用語は、それによりキャッシュ・マネージャが、間接的にコマンド・プロファイルに影響を与える恐れがあるフラッシュ・リストを決定する機構の単なる調整を予想していない。
上記説明内で、本発明の種々の実施形態の構造および機能の詳細と一緒に、本発明の種々の実施形態の多くの特徴および利点を説明してきたが、この詳細な説明は、例示としてのためだけのものであって、添付の特許請求の範囲を説明している用語の広い一般的な意味により示す全範囲に、特に本発明の原理の部材の構造および配置を変えることができることを理解されたい。例えば、本発明の精神および範囲から逸脱することなしに、特定の処理環境により特定の要素を変えることができる。
さらに、本明細書に記載する実施形態は、データ・ストレージ・アレイに関するものであるが、当業者であれば、特許請求の範囲に記載の主題は、それに限定されるものではなく、本発明の精神および範囲から逸脱することなしに、種々の他の処理システムも使用することができることを理解することができるだろう。
本発明の実施形態を組み込むコンピュータ・システムの図面である。 図1のコンピュータ・システムの一部の簡単な図面である。 本発明の実施形態によるインテリジェント記憶素子の分解等角図である。 図3のインテリジェント記憶素子の複数のドライブ・アレイの分解等角図である。 図4の複数のドライブ・アレイで使用する例示としてのデータ・ストレージである。 インテリジェント記憶素子内のアレイ制御装置の機能ブロック図である。 インテリジェント記憶素子内のアレイ制御装置の一部の機能ブロック図である。 本発明の実施形態によるHASTEを呼び出すための方法のステップを示すフローチャートである。
符号の説明
100 コンピュータ・システム
102 ホスト
103 ホスト・バス・アダプタ(HBA)
104 サーバ
106 LAN/WAN
108 インテリジェント記憶素子(ISE)
110 SAN
109 データ・ストレージ容量
112 二重化冗長制御装置
114 シェルフ
116 ミッドプレーン
118 ドライブ・アセンブリ(MDA)
122 デュアル・バッテリー
124 デュアル交流電源
126 デュアル・インタフェース・モジュール
128 データ・ストレージ
130,132 隔壁
134 回路基板
136 コネクタ
138 ラッパー
140 モータ
142 読取り/書込みヘッド
148 回路基板
150 フレックス回路
154 プロセッサ
160,162 I/F回路
164 経路制御装置
166 キャッシュ
168 ホスト適応シーク技術環境(HASTE)モジュール

Claims (20)

  1. データ・ストレージ・システムにおけるコントローラであって、前記コントローラは、前記コントローラへのネットワーク負荷についての該ネットワーク負荷の性質を表すデータである定性情報を連続的に収集し該収集された定性情報に従って前記負荷を動的に特徴づけ該特徴づけにより得られる前記負荷の動的特徴を策定するポリシー・エンジン論理を含むホスト適応シーク技術環境(HASTE)モジュールを含み、前記ポリシー・エンジン論理は、キャッシュされたライトバック・データを含むフラッシング・リスト内の複数の入出力(I/O)要求から選択したI/O要求を発行するシーク・マネージャを支配しているホスト適応シーク技術環境規則であるHASTE規則を定義する際に、前記負荷の前記動的特徴および予め定義した前記システムにおいて実現すべきシーク性能の目標値を示す性能目標を使し、前記シーク・マネージャは、前記I/O要求の発行により、前記データ・ストレージ・システム内のデータ・ストレージ・デバイスへ前記リスト内のI/O要求をフラッシュする、コントローラ。
  2. 前記動的特徴は、該ネットワーク上のコマンドの転送速度よりも前記データ・ストレージ・システムのレイテンシの影響がより大きいレイテンシに敏感なコマンドに対する前記ネットワーク上のコマンドの転送速度の影響が前記データ・ストレージ・システムのレイテンシの影響よりも大きい速度に敏感なコマンドの比率に関するものであり、前記レイテンシは、アクセスコマンドの指示が満たされるまでに要する期間である、請求項1に記載のコントローラ。
  3. 前記速度に敏感なコマンドは、ライトバック・キャッシュ・コマンドであり、前記レイテンシに敏感なコマンドは、読取りコマンドおよびライトスルー・キャッシュ・コマンドのうちの少なくとも1つである、請求項2に記載のコントローラ。
  4. 前記動的特徴は、各コマンドと関連する帯域幅に関するものである、請求項1に記載のコントローラ。
  5. 前記HASTE規則は、該ネットワーク上のコマンドの転送速度よりも前記データ・ストレージ・システムのレイテンシの影響がよりレイテンシに敏感なコマンドに対する前記ネットワーク上のコマンドの転送速度の影響が前記データ・ストレージ・システムのレイテンシの影響よりも大きい速度に敏感なコマンドの比率に関して、前記負荷にコマンドの分布または配列を示すコマンド・プロファイルを選択的にマッチさせ、前記レイテンシは、アクセスコマンドの指示が満たされるまでに要する期間である、請求項1に記載のコントローラ。
  6. 前記HASTE規則は、前記コマンドに割り当てられた論理ユニット番号(LUN)優先度の強制的な設定に関連する、請求項2に記載のコントローラ。
  7. 前記HASTE規則は、前記コマンドの読取りコマンドのレイテンシの強制設定に関連する、請求項2に記載のコントローラ。
  8. 個別データストレージデバイスのアレイに結合されており、前記ポリシー・エンジン論理からの前記HASTE規則に個々に応じる前記アレイ内の各データ・ストレージデバイス専用のシーク・マネージャを含む、請求項1に記載のコントローラ。
  9. ストレージ・システムへのネットワーク負荷のコマンド・ストリームを監視し、該コマンド・ストリーム内のコマンドについての該コマンドの性質を表すデータである定性情報を収集するステップと、
    前記収集された定性情報に従って前記負荷を動的に特徴づけ、該特徴づけにより得られる前記負荷の動的特徴を策定するステップと、
    前記動的特徴を使用して、前記ネットワークと前記ストレージ・システム間のキャッシュされたライトバック・データの通信を含むフラッシング・リスト内の複数のI/O要求から選択したI/O要求を発行するための、前記動的特徴に関連するホスト適応シーク技術環境規則であるHASTE規則を生成するステップとを含み、前記I/O要求の発行により前記ストレージ・システム内のストレージデバイスへ前記リスト内のI/O要求がフラッシュされる、方法。
  10. 前記使用するステップは、前記ストレージ・システムに対する予め定義した前記システムにおいて実現すべきシーク性能の目標値を示す性能目標を考慮した規則を使用するステップを含む、請求項9に記載の方法。
  11. 前記監視するステップは、前記負荷を該ネットワーク上のコマンドの転送速度よりも前記ストレージ・システムのレイテンシの影響がより大きいレイテンシに敏感なコマンドに対する前記ネットワーク上のコマンドの転送速度の影響が前記データ・ストレージ・システムのレイテンシの影響よりも大きい速度に敏感なコマンドの比率の点から特徴づけるステップを含み、前記レイテンシは、アクセスコマンドの指示が満たされるまでに要する期間である、請求項9に記載の方法。
  12. 前記監視するステップは、ライトバック・キャッシュ・コマンドが前記速度に敏感なコマンドであり、読取りコマンドおよびライトスルー・キャッシュ・コマンドのうちの少なくとも一方が、前記レイテンシに敏感なコマンドであると特徴づけるステップを含む、請求項11に記載の方法。
  13. 前記監視するステップは、前記負荷を、アクセスコマンド関連する帯域幅の点から特徴づけるステップを含む、請求項9に記載の方法。
  14. 前記使用するステップは、前記HASTE規則該ネットワーク上のコマンドの転送速度よりも前記ストレージ・システムのレイテンシの影響がより大きいレイテンシに敏感なコマンドに対する前記ネットワーク上のコマンドの転送速度の影響が前記データ・ストレージ・システムのレイテンシの影響よりも大きい速度に敏感なコマンドの比率に関連づけるステップを含み、前記レイテンシは、アクセスコマンドの指示が満たされるまでに要する期間である、請求項9に記載の方法。
  15. 前記使用するステップは、該ネットワーク上のコマンドの転送速度よりも前記ストレージ・システムのレイテンシの影響がより大きいレイテンシに敏感なコマンドに対する前記ネットワーク上のコマンドの転送速度の影響が前記ストレージ・システムのレイテンシの影響よりも大きい速度に敏感なコマンドの比率に関して、前記負荷にコマンドの分布または配列を示すコマンド・プロファイルを選択的にマッチさせるステップを含み、前記レイテンシは、アクセスコマンドの指示が満たされるまでに要する期間である、請求項9に記載の方法。
  16. 前記使用するステップは、前記規則、前記コマンドの論理ユニット番号(LUN)クラス優先度の強制的な設定に関連づけるステップを含む、請求項11に記載の方法。
  17. 前記使用するステップは、前記規則、前記コマンドの読取りコマンドに対するレイテンシの強制設定に関連づけるステップを含む、請求項11に記載の方法。
  18. ストレージ・システムへのネットワーク負荷のコマンド・ストリーム内のコマンドについての該コマンドの性質を表すデータである定性情報を収集するステップと、
    前記収集された定性情報を使用して、読取りコマンドに対する書込みコマンドの比率に関して前記負荷を動的に特徴付けるステップと、
    前記ネットワークと前記ストレージ・システム間のキャッシュされたライトバック・データの通信を含むフラッシング・リスト内の複数のI/O要求から選択したI/O要求を発行するための、前記動的に特徴付けるステップにより特徴づけられた動的特徴に関連するホスト適応シーク技術環境規則であるHASTE規則を生成するステップとを含み、前記I/O要求の発行により前記ストレージ・システム内のストレージデバイスへ前記リスト内のI/O要求がフラッシュされる、方法。
  19. 前記使用するステップは、前記負荷の前記動的な特徴付けにより得られる動的特徴が予め定められたしきい値比率未満の場合に第1の規則を生成し、前記負荷の前記動的特徴が前記予め定められたしきい値よりも大きい場合に異なる第2の規則を生成する、請求項18に記載の方法。
  20. 前記使用するステップは、前記負荷の前記動的特徴に、複数の選択されたI/O要求をマッチさせるステップを含む、請求項18に記載の方法。
JP2008166092A 2007-06-26 2008-06-25 ホスト適応シーク技術環境 Expired - Fee Related JP5376624B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/768,850 2007-06-26
US11/768,850 US7870335B2 (en) 2007-06-26 2007-06-26 Host adaptive seek technique environment

Publications (3)

Publication Number Publication Date
JP2009009572A JP2009009572A (ja) 2009-01-15
JP2009009572A5 JP2009009572A5 (ja) 2011-07-21
JP5376624B2 true JP5376624B2 (ja) 2013-12-25

Family

ID=40162113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008166092A Expired - Fee Related JP5376624B2 (ja) 2007-06-26 2008-06-25 ホスト適応シーク技術環境

Country Status (2)

Country Link
US (1) US7870335B2 (ja)
JP (1) JP5376624B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2180575A1 (en) * 2008-10-21 2010-04-28 SCI Innovations Limited Portable communication device
US9417823B2 (en) 2011-07-12 2016-08-16 Violin Memory Inc. Memory system management
US9335939B2 (en) * 2011-07-12 2016-05-10 Violin Memory Inc. RAIDed memory system
US9158714B2 (en) * 2012-01-31 2015-10-13 Symantec Corporation Method and system for multi-layer differential load balancing in tightly coupled clusters
US9213646B1 (en) * 2013-06-20 2015-12-15 Seagate Technology Llc Cache data value tracking
JP6341212B2 (ja) * 2013-11-25 2018-06-13 日本電気株式会社 情報収集システム、サーバ装置、エッジ装置、制御方法、及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108274A (ja) * 1991-10-11 1993-04-30 Hitachi Ltd 並列デイスク制御方法および並列デイスク制御装置
JPH06243042A (ja) * 1993-02-19 1994-09-02 Hitachi Ltd 記憶制御装置
JP4142747B2 (ja) * 1997-06-24 2008-09-03 日水製薬株式会社 抗ヒトフィブリンモノマー特異的モノクローナル抗体、該モノクローナル抗体の製造方法、ハイブリドーマ及び免疫学的測定方法
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6339811B1 (en) * 1999-04-21 2002-01-15 Seagate Technologh Llc Rotationally optimized seek initiation
US6446241B1 (en) * 1999-07-15 2002-09-03 Texas Instruments Incorporated Automated method for testing cache
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
US6925539B2 (en) * 2002-02-06 2005-08-02 Seagate Technology Llc Data transfer performance through resource allocation
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7917903B2 (en) * 2003-03-27 2011-03-29 Hewlett-Packard Development Company, L.P. Quality of service controller and method for a data storage system
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation
US7363399B2 (en) * 2005-08-17 2008-04-22 International Business Machines Corporation Method, apparatus and computer program product providing storage network dynamic tuning of I/O flow with Queue Depth

Also Published As

Publication number Publication date
US20090006738A1 (en) 2009-01-01
US7870335B2 (en) 2011-01-11
JP2009009572A (ja) 2009-01-15

Similar Documents

Publication Publication Date Title
JP5638744B2 (ja) コマンド・キュー・ローディング
JP5236365B2 (ja) ストレージ・アレイでの電力管理
US7844794B2 (en) Storage system with cache threshold control
US7680984B2 (en) Storage system and control method for managing use of physical storage areas
US7743216B2 (en) Predicting accesses to non-requested data
JP5427630B2 (ja) 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理
JP5882557B2 (ja) 要求優先順位シーク・マネージャ
US7565508B2 (en) Allocating clusters to storage partitions in a storage system
EP2239655A2 (en) Storage controller and storage control method
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US20070266218A1 (en) Storage system and storage control method for the same
JP2007265001A (ja) ストレージ装置
JP5376624B2 (ja) ホスト適応シーク技術環境
US10082968B2 (en) Preferred zone scheduling
US7017007B2 (en) Disk array device and remote copying control method for disk array device
US20100235599A1 (en) Access control device, storage system, and access control method
US7930482B2 (en) Storage system and method for controlling cache residency setting in the storage system
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
US20100274966A1 (en) High availabilty large scale it systems with self recovery functions
JP2009282922A (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: 20110607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees