JP2014502395A - コンピューティング・ストレージ環境における実行時動的性能スキュー排除のための方法、システム、コンピュータ・プログラム(実行時動的性能スキュー排除) - Google Patents

コンピューティング・ストレージ環境における実行時動的性能スキュー排除のための方法、システム、コンピュータ・プログラム(実行時動的性能スキュー排除) Download PDF

Info

Publication number
JP2014502395A
JP2014502395A JP2013540486A JP2013540486A JP2014502395A JP 2014502395 A JP2014502395 A JP 2014502395A JP 2013540486 A JP2013540486 A JP 2013540486A JP 2013540486 A JP2013540486 A JP 2013540486A JP 2014502395 A JP2014502395 A JP 2014502395A
Authority
JP
Japan
Prior art keywords
rank
data
ranks
extent
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013540486A
Other languages
English (en)
Other versions
JP5466794B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014502395A publication Critical patent/JP2014502395A/ja
Application granted granted Critical
Publication of JP5466794B2 publication Critical patent/JP5466794B2/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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コンピュータ環境における実行時動的性能スキュー排除のための例示的な方法、システム、コンピュータ・プログラムを提供する。
【解決手段】一実施形態では、コンピュータ環境は、帯域幅(BW)および1秒当たりの入出力数(IOPS)測定基準を含めて、エクステント粒度で収集した複数の細粒度の統計データを用いることによって、複数のランク・ヒートを計算するように構成されている。データを再配置するために適応データ配置プランを発生する。データを複数のデータ・ストレージ・ランクにわたって配置する。適応データ配置プランに従ってデータ・ストレージ・ランクを均衡化する。
【選択図】図3

Description

本発明は、一般にコンピュータに関し、更に具体的には、コンピューティング・ストレージ環境における実行時動的性能スキュー排除(runtime dynamic performance skewelimination)に関する。
今日の社会において、コンピュータ・システムは一般化している。コンピュータ・システムは、職場、家庭、または学校で見ることができる。コンピュータ・システムは、データを処理し記憶するためのデータ・ストレージ・システムまたはディスク・ストレージ・システムを含む場合がある。ストレージ・システムは1つ以上のディスク・ドライブを含むことがある。ディスク・ドライブは、RAID(Redundant Array of IndependentDisks)トポロジー等のアレイに構成することで、ハードウェアまたはソフトウェアの故障の場合にデータ・セキュリティを提供することができる。データ・ストレージ・システムは、メインフレーム・コンピュータ等のホストに接続することができる。多くのデータ・ストレージ・システムにおけるディスク・ドライブは一般に、直接アクセス・ストレージ・デバイス(DASD:Direct Access Storage Device)として知られている。DASDデバイスは典型的に、ディスクの表面上の円形経路であるトラック上にデータを記憶する。情報はこのディスクに記録されると共に、このディスクから記録情報が読み取られる。多数の並行IO要求を同時に処理するシステムにおいてスループットの向上を達成するために、多数の物理デバイス(ディスク・ドライブ、アダプタ等)にまたがってデータを分散させることにより、異なるデータ・ロケーションにアクセスする要求に同時に対応することを可能とする。しかしながら、時間が経つにつれて、作業負荷は、デバイスのいくつかは過剰使用されるがいくつかは利用不足になる場合がある。更に、データ・ストレージ・システムにおいて、ディスク・ストレージ・サブシステムの作業負荷は時間と共に変動して固有のスキュー(複数のスキュー)を生じる恐れがある。スキューは、帯域幅(BW)および1秒当たりの入出力数(I/O)(IOPS:input/output per second)の双方の次元に沿って不均衡を引き起こし、このため許容可能な性能が得られない場合がある。
様々なストレージ・デバイスを用いるデータ処理システムにおいて、ストレージ・デバイスのいくつかの性能が他のものよりも高い場合、ストレージ・システムは固有のスキューを生じ、帯域幅および1秒当たりの入出力数(I/O)(IOPS)次元の双方に沿って不均衡となる場合がある。コンピューティング環境内でスキューが生じると、性能およびシステム処理が低下する。
従って、前述のことに鑑み、コンピュータ環境における実行時動的性能スキュー排除のための様々な例示的な方法、システム、およびコンピュータ・プログラムの実施形態を提供する。一実施形態において、コンピュータ環境は、帯域幅(BW)および1秒当たりの入出力数(IOPS)測定基準を含めて、エクステント(extent)粒度で収集した複数の細粒度の統計データを用いることによって、複数のランク・ヒートを計算するように構成されている。データを再配置するために適応データ配置プランを発生する。データを複数のデータ・ストレージ・ランクにわたって配置する。適応データ配置プランに従ってデータ・ストレージ・ランクを均衡化する。
前述の例示的な実施形態に加えて、様々な他のシステムおよびコンピュータ・プログラムの実施形態を提供し、関連する利点を与える。前述の概要は、「発明を実施するための形態」において以下で更に説明するいくつかの選択された概念を簡略化形態で紹介するために与えたものである。この「概要」は、特許請求する主題の重要な特性(feature)または不可欠な特性を識別することは意図しておらず、特許請求する主題の範囲の決定を促進するために用いることも意図していない。特許請求する主題は、「背景技術」において明記した全ての欠点を解決する実施に限定されるものではない。
これより、添付図面を参照して、一例としてのみ本発明の実施形態(複数の実施形態)を説明する。
本発明の態様を実現可能である例示的なストレージ・デバイスを有するコンピュータ・ストレージ環境を示す。 本発明の態様を実現可能であるコンピュータ・システムにおけるデータ・ストレージ・システムのハードウェア構造を示す例示的なブロック図を示す。 実行時動的性能スキュー排除の例示的な方法を示すフローチャートである。 本発明の態様を実現可能である待ち時間曲線を示す例示的な図である。 本発明の態様を実現可能である追加ランク使用の場合を示す例示的な図である。 本発明の態様を実現可能である追加ランクの代替的なフローを示す例示的な図である。 本発明の態様を実現可能である性能スキュー使用の場合を示す例示的な図である。 本発明の態様を実現可能である性能スキュー排除機構を示す例示的な図である。 データ・ストレージ・ランク間の実行時動的性能スキューのための例示的な方法を示すフローチャートである。
ストレージ・システムは、いくつかの要因の組み合わせによって、固有のスキューを生じ、帯域幅および1秒当たりの入出力数(I/O)(IOPS)次元の双方に沿って不均衡となり、許容可能な性能が得られない場合がある。これらの要因に含まれ得るものは、(1)データ配置、すなわち同一のデバイス(ランク等)上に「同時にアクセスされるホット・データ」を配置すること、(2)作業負荷の変化によって、以前は最適であった配置が次善かつ許容不可能な性能を与えるようになること、(3)ハードウェアの追加/削除/劣化およびシステムが構成の変更に適合できなこと、(4)ボリュームの生成/削除/マイグレーション等の他のマイグレーション・アクティビティまたは構成の変更、および(5)システムにおける新しいハードウェアおよび劣化したハードウェアのマイグレーション、追加は全て性能のスキューの一因となり得る。固有のスキューに対処するための既存の手法は、ストライピングまたはランダム配置等の技法を用いる。しかしながら、かかる手法は、アクセス・パターンが現れる前に配置を割り当てるので、スキューの確率を低下させるに過ぎない。かかる手法では、スキューは排除されず、スキューの最初の発生時にスキューは補正されない。他の技法では、作業負荷再均衡化手法が用いられ、一次ロケーションが過負荷である場合にデータの冗長的な二次ロケーションへと作業負荷を方向変更する。この場合も、かかる手法では、実行時にストレージ・サブシステム内のスキューは排除されず、二次ロケーションが利用可能でない場合には問題は対処されない。これらの手法では、システム内のいくつかのランクが過剰負荷でありいくつかのランクが利用不足であるために生じるストレージ・サブシステム・レベルでの性能劣化は効果的に対処されない。このように問題に対処することができないことの主な要因は、これらの手法が、ストレージ・サブシステムによって必要とされる細かい粒度(fine-granularity)で課題に対処しないことであり、もしもそうである場合でも静的にそうするに過ぎないことである。
一実施形態において、例示した実施形態の機構は、データ・ストレージ・ランク間で適応的にデータを配置することによって実行時動的性能スキュー排除を提供する。適応アルゴリズムは作業負荷および構成に基づいている。
一実施形態において、例示した実施形態の機構は、ハードウェアの帯域幅およびIOPSの双方の特性ならびに作業負荷特徴を考慮に入れながら、エクステント粒度で収集した細粒度の統計データを利用してランク・ヒート(複数のヒート)を計算する。ランク間の平均ランク・ヒートを用いて(変形はIOPS待ち時間曲線および補正係数の使用を含む)、突然の反射的な反応なしでシステムにおける長期性能スキューを低減するためにエクステントを再配置するプランを発生する。これに従ってマイグレーションのペースを調整する。プランニング・プロセスをトリガするのは、性能スキューの存在、ならびに、ハードウェアの追加/削除/劣化、ボリュームの生成/削除/再構成、および他のかかる構成イベント(プールのマージ等)等の他のイベントの双方である。
図1に移ると、本発明の態様を実現可能である例示的なコンピュータ・システム10が示されている。コンピュータ・システム10は中央処理装置(CPU)12を含み、これは大容量ストレージ・デバイス(複数のデバイス)14およびメモリ・デバイス16に接続されている。大容量ストレージ・デバイスは、ハード・ディスク・ドライブ(HDD)・デバイス、固体デバイス(SSD)等を含むことができ、これらはRAIDに構成することができる。システム10または他の場所に位置するデバイス(複数のデバイス)14上で、更に記載するバックアップ動作を実行することができる。メモリ・デバイス16は、電気的消去可能書き込み可能ROM(EEPROM)または関連デバイスのホスト等のメモリを含むことができる。メモリ・デバイス16および大容量ストレージ・デバイス14は信号担持媒体を介してCPU12に接続されている。更に、CPU12は通信ポート18を介して通信ネットワーク20に接続されており、これには追加の複数のコンピュータ・システム22および24が接続されている。
図2は、本発明によるコンピュータ・システムにおけるデータ・ストレージ・システムのハードウェア構造を示す例示的なブロック図200である。図2を参照すると、ホスト・コンピュータ210、220、225が示されており、これらは各々、データ・ストレージ・システム200の一部のデータ処理を実行するための中央処理装置として作用する。ホスト(物理または仮想デバイス)210、220、および225は、データ・ストレージ・システム200において本発明の目的を達成するための1つ以上の新しい物理デバイスまたは論理デバイスとすることができる。一実施形態では、一例に過ぎないが、データ・ストレージ・システム200は、IBM(R)System Storage(TM)DS8000(TM)として実施することができる。ネットワーク接続260は、ファイバ・チャネル・ファブリック、ファイバ・チャネル・ポイント・ツー・ポイント・リンク、イーサネット・ファブリックまたはポイント・ツー・ポイント・リンク上のファイバ・チャネル、FICONまたはESCON I/Oインタフェース、他のいずれかのI/Oインタフェース・タイプ、無線ネットワーク、有線ネットワーク、LAN、WAN、ヘテロジニアス、ホモジニアス、公設(すなわちインターネット)、私設、またはそれらのいずれかの組み合わせとすることができる。ホスト210、220、および225は、ローカルとするかまたは1つ以上のロケーション間に分散させることができ、更に、ファイバ・チャネル、FICON、ESCON、イーサネット、光ファイバ、無線、または同軸アダプタ等のストレージ・コントローラ240に対するいずれかのタイプのファブリック(またはファブリック・チャネル)(図2には図示せず)またはネットワーク・アダプタ260を備えることができる。従って、データ・ストレージ・システム200は、通信を行うための適切なファブリック(図2には図示せず)またはネットワーク・アダプタ260を備える。データ・ストレージ・システム200は、ストレージ・コントローラ240およびストレージ230を含むものとして図2に示す。
本明細書に記載する方法の明確な理解を容易にするため、図2には単一の処理ユニットとしてストレージ・コントローラ240を示し、これは以下で更に詳細に説明するマイクロプロセッサ242、システム・メモリ243、および不揮発性ストレージ(「NVS」)216を含む。いくつかの実施形態では、ストレージ・コントローラ240は多数の処理ユニットから成り、それらの各々が自身のプロセッサ複合体およびシステム・メモリを有し、データ・ストレージ・システム200内の専用ネットワークによって相互接続されていることに留意すべきである。ストレージ230は、ストレージ・アレイ等の1つ以上のストレージ・デバイスから成ることができ、これらはストレージ・ネットワークによってストレージ・コントローラ240に接続されている。
いくつかの実施形態において、ストレージ230に含まれるデバイスはループ・アーキテクチャで接続することができる。ストレージ・コントローラ240は、ストレージ230を管理し、ストレージに意図された書き込みおよび読み取り要求の処理を容易にする。ストレージ・コントローラ240のシステム・メモリ243はプログラム命令およびデータを記憶しており、プロセッサ242はこれらにアクセスすることで、ストレージ230の管理に関連した機能および方法ステップを実行し、コンピュータ・ストレージ環境における実行時動的性能スキュー排除のための本発明のステップおよび方法を実行することができる。一実施形態では、システム・メモリ243は、本明細書に記載する方法および動作を含むコンピュータ・ストレージ環境における実行時動的性能スキュー排除のための動作ソフトウェア250を含むか、これに関連付けられているか、またはこれと通信状態にある。図2に示すように、システム・メモリ243は、ストレージ230のためのキャッシュ245を含むかこれと通信状態にあることができ、これは本明細書において「キャッシュ・メモリ」とも称され、書き込み/読み取り要求およびそれらの関連データをそれぞれ指す「書き込みデータ」および「読み取りデータ」をバッファするためのものである。一実施形態では、キャッシュ245はシステム・メモリ243の外部のデバイスに割り当てられているが、マイクロプロセッサ242によってアクセス可能であり、本明細書に記載するような動作を実行することに加えてデータ喪失に対する追加のセキュリティを提供するように機能することができる。
いくつかの実施形態において、キャッシュ245は、揮発性メモリおよび不揮発性メモリによって実施され、データ・ストレージ・システム200の性能向上のためにローカル・バス(図2には図示せず)を介してマイクロプロセッサ242に結合されている。データ・ストレージ・コントローラに含まれるNVS216は、マイクロプロセッサ242によってアクセス可能であり、他の図に記載するように本発明の動作および実行のための追加のサポートを提供するように機能する。NVS216は、「永続的」キャッシュまたは「キャッシュ・メモリ」とも称することができ、記憶しているデータを保持するために外部電力を利用する場合も利用しない場合もある不揮発性メモリによって実施されている。NVSは、本発明の目的を達成するのに適したいずれかの目的のためにキャッシュ245内にまたはキャッシュ245と共に記憶されている場合がある。いくつかの実施形態では、バッテリ等のバックアップ電源(図2には図示せず)がNVS216に充分な電力を供給して、データ・ストレージ・システム200に対する電力が喪失した場合に記憶データを保持する。いくつかの実施形態では、NVS216の容量はキャッシュ245の全容量以下である。
ストレージ230は、ストレージ・アレイ等の1つ以上のストレージ・デバイスから物理的に構成することができる。ストレージ・アレイは、ハード・ディスク等の個別のストレージ・デバイスの論理的な集まりである。いくつかの実施形態では、ストレージ230はJBOD(Just a Bunch of Disks)アレイまたはRAIDアレイから成る。更に、物理ストレージ・アレイの集合を組み合わせてランクを形成することができる。これは物理ストレージを論理構成とは切り離す。ランクにおけるストレージ空間は論理ボリュームに割り当てることができ、これは書き込み/読み取り要求に指定されたストレージ・ロケーションを規定する。一実施形態では、一例に過ぎないが、図2に示すようなストレージ・システムは論理ボリュームまたは単に「ボリューム」を含むことができ、異なる種類の割り当てを有し得る。データ・ストレージ・システム200におけるランクとしてストレージ230a、230b、および230nを示し、これらを本明細書ではランク230a、230b、および230nと称する。ランクはデータ・ストレージ・システム200にローカルとすることができ、または物理的にリモートの位置に配置することも可能である。換言すると、ローカルなストレージ・コントローラは、リモートのストレージ・コントローラと接続することができ、リモート位置のストレージを管理することができる。ランク230aは、2つの完全なボリューム234および236ならびに1つの部分的なボリューム232aにより構成されているものとして示す。ランク230bには、別の部分的なボリューム232bが示されている。従って、ボリューム232はランク230aおよび230bにまたがって割り当てられている。ランク230nは全体的にボリューム238に割り当てられているものとして示す。すなわち、ランク230nはボリューム238のための完全な物理ストレージを意味する。上述の例から、1つのランクは1つ以上の部分的または全体的あるいはその両方のボリュームを含むように構成可能であることが認められよう。ボリュームおよびランクは、固定ストレージ・ブロックを表すいわゆる「トラック」に更に分割することも可能である。従ってトラックには、所与のボリュームを関連付け、所与のランクを付与することができる。
ストレージ・コントローラ240は、コンピュータ・ストレージ環境において実行時動的性能スキュー排除を促進するために、性能スキュー排除モジュール255およびランク・ヒート・モジュール247を含むことができる。性能スキュー排除モジュール255およびランク・ヒート・モジュール247は、ストレージ・コントローラ240、ホスト210、220、および225、ならびにストレージ・デバイス230の各コンポーネントと連携して動作することができる。性能スキュー排除モジュール255およびランク・ヒート・モジュール247の双方は、コンピュータ・ストレージ環境における実行時動的性能スキュー排除のために、共に連携して動作する構造的に1つの完全なモジュールとするか、または個別のモジュールとすることができる。また、性能スキュー排除モジュール255およびランク・ヒート・モジュール247は、本発明の目的を達成するために、キャッシュ245またはストレージ・コントローラ240の他のコンポーネント内に位置することも可能である。
ストレージ・コントローラ240は、ホスト・コンピュータ210、220、225に対するファイバ・チャネル・プロトコルを制御するための制御スイッチ241、ストレージ・コントローラ240全体を制御するためのマイクロプロセッサ242、ストレージ・コントローラ240の動作を制御するためのマイクロプログラム(動作ソフトウェア)250、制御のためのデータ、および後述する各テーブルを記憶するための不揮発性制御メモリ243、データを一時的に記憶する(バッファする)ためのキャッシュ245、キャッシュ245のデータの読み取りおよび書き込みを支援するためのバッファ244、ストレージ・デバイス230との間のデータ転送を制御するプロトコルを制御するための制御スイッチ241、性能スキュー排除モジュール255、ならびに情報を設定することができるランク・ヒート・モジュール247によって構築することができる。本発明によって多数のバッファ244を実施して、コンピュータ・ストレージ環境における実行時動的性能スキュー排除を促進することができる。
一実施形態においては、一例に過ぎないが、ホスト・コンピュータまたは1つ以上の物理もしくは仮想デバイス210、220、225およびストレージ・コントローラ240は、インタフェースとしてのネットワーク・アダプタ(これはファイバ・チャネルである場合がある)260によって、「ファブリック」と呼ばれるスイッチを介して接続されている。一実施形態において、単に一例として、図2に示すシステムの動作を説明する。マイクロプロセッサ242は、ホスト・デバイス(物理または仮想)210からのコマンド情報およびホスト・デバイス(物理または仮想)210を識別するための情報を記憶するようにメモリ243を制御することができる。制御スイッチ241、バッファ244、キャッシュ245、動作ソフトウェア250、マイクロプロセッサ242、メモリ243、NVS216、性能スキュー排除モジュール255、およびランク・ヒート・モジュール247は、相互に通信状態にあり、別個のまたは1つの個別のコンポーネント(複数のコンポーネント)とすることができる。また、コンポーネントの全てではないが、動作ソフトウェア245等のいくつかのものは、コンピュータ・ストレージ環境における実行時動的性能スキュー排除のためにメモリ243と共に含ませることができる。一実施形態では、一例に過ぎないが、ストレージ・デバイス内のコンポーネントの各々を連結することができ、本発明に適した目的のために相互に通信状態とすることができる。
図3は、実行時動的性能スキュー排除のための例示的な方法300を示すフローチャートである。例示した実施形態の機構は、システム内の異なるランク間で作業負荷を均等に分散させた均衡化エクステント・プールを維持し、構成変更を考慮に入れることによって、全体的なシステム性能および並行性を向上させるように機能する。データはストレージ・ランク(デバイス)間で適応的に配置される。適応データ・アルゴリズムは作業負荷およびシステム構成に基づいている。更に、例示する実施形態の機構は、エクステント粒度で収集した細粒度の統計データを利用して計算されるランク・ヒートを用いる。ランク間の平均ランク・ヒートを用いて、最適な性能のためにエクステントを再配置するプランを発生する。エクステントはデータ配置の単位とすることができる。例えば、DS8000システムにおいては、エクステントは1Gの固定サイズとすることができ、これはデータ・マイグレーションの単位ともすることができる。このアルゴリズムは、システムがサポートするデータ配置/マイグレーションのいずれかの他の単位にも適用可能である。
方法300が開始する(ステップ302)と、帯域幅(BW)および1秒当たりの入出力数(IOPS)測定基準を考慮することを含めて、エクステント粒度で収集した細粒度の統計データを利用することによって1つ以上のランク・ヒートを計算する(ステップ304)。データを再配置するために適応データ配置プランを発生する(ステップ306)。データはエクステントまたはデータ・セグメントとして反映させることができる。データ・ストレージ・ランク間にデータを配置する(ステップ308)。適応データ配置プランに従ってデータ・ストレージ・ランクを均衡化する(ステップ310)。例えば、適応データ配置プランは、再均衡化アルゴリズム(計算)、1つ以上のランク・ヒート(複数のヒート)、決定ウィンドウ、またはシステムによって許容可能であるスキューの閾値あるいはそれら全ての1つ以上に基づくものとすることができる。方法300は終了する(ステップ312)。
上述のように、ディスク・ストレージ・サブシステムの作業負荷を軽減するための1つの方法は、必要な場合に、頻繁にアクセスされるデータを、もっと許容可能なデバイス上に移動、配置、または「マイグレーション」することである。適応データ配置決定自体は複雑であり、以下の要素を考慮に入れることができる。すなわち、(1)平均およびピークの挙動を含む経時的な作業負荷および変動(主な問題は、ローカリティおよびデータ間の関係が作業負荷挙動によって動的に生成され、アプリオリに知られず、または「前もって」知られないことである)、(2)BW、IOPS特性(測定基準)等のデバイス特徴、および(3)ランク割り当て等のシステム構成である。適応データ配置プランに基づいたデータのマイグレーションは、瞬間のアクティビティでない場合があり、利用可能な帯域幅によって制約されることがある。
再均衡化に要求されるのは、スケーラブルであること(すなわち、システムを再均衡化しスキューを排除するために必要なリソースは再均衡化されるデータ量に比例しなければならない)、作業負荷の短期間の変動に対してロバストであること、動的であること、すなわち構成変更等の作業負荷またはシステムにおける新しいイベントおよび変化に適応すること、作業負荷およびデータ配置の変更等の将来のイベントを予想して分析と実行との間に相当な遅れがあり得ることに対処可能であること、ならびに包括的であること、すなわち異なるベンダーからの様々なデバイス・タイプおよび異なる作業負荷挙動(ランダム、順次、または混合型あるいはそれら全て)をサポートすることであるはずである。
実行時動的性能スキュー排除の目的の1つは、システム内のランク間で作業負荷を均等に分散させた均衡化エクステント・プールを維持することによってシステムの性能および並行性を向上させることである。エクステント・プールは、所与のランク・グループに関連付けた同一のタイプのエクステント・セットを管理するために使用可能な論理構造物とすることができる。エクステント・プールが規定されると、これにランク・グループおよびエクステント・タイプを割り当てることができる。同一のエクステント・タイプを有する1つ以上のランクを1つのエクステント・プールに割り当てることができるが、1つのランクは1つのエクステント・プールにのみ割り当てることができる。エクステント・プールはランクと同じ数だけ存在することができる。エクステント・プールに割り当てられるランクの数またはサイズに制約はない。1つのエクステント・プールに割り当てられたランクの全エクステントは、そのエクステント・プールに関連付けられた論理ボリュームに割り当てるために別個に利用可能である。この機構は、ヒート測定基準計算、決定ウィンドウ、プラン・サイズ推定、または実行時動的性能スキュー排除アルゴリズムあるいはそれら全てによってスキューの排除を容易にする重要なコンポーネントを適用する。
ヒート測定基準を用いてランク・ヒート(複数のヒート)を計算することができる。ランク・ヒートは、エクステント・ヒート測定値から再構築される。エクステント・ヒート測定値は、基礎にあるシステムから周期的に収集される。この機構によるエクステント統計データの使用は二通りである。すなわち、(1)実行時動的性能スキュー排除はエクステント・ヒート測定値を用いてランク・ヒートを計算する、および(2)実行時動的性能スキュー排除機構はエクステント・ヒート測定値を用いてソース・ランクにおけるホット・エクステントを識別し、スワップ動作の場合には、ターゲット・ランク上のコールド・エクステントの識別またはスワップあるいはその両方を行う。ランク・ヒートは、エクステント・ヒート(複数のヒート)の指数移動平均(EMA)(要約測定値)および瞬時ランク構成(すなわちランクにおける現在のエクステント・セット)に基づいた瞬時ランク・ヒートとすることができる。一実施形態では、一例に過ぎないが、以下の式を考慮してランク・ヒートおよびエクステント・ヒートを計算することができる。
=ΣEMA(Hextent) (1)
ここで、Rhはランク・ヒートであり、EMAは指数移動平均であり、Hextentはエクステント・ヒートである。エクステントは瞬時ランク構成(ランクにおける現在のエクステント・セット)に属する。エクステント・ヒート自体は、以下のようなランダムおよび順次IO計数の何らかの線形の組み合わせとして計算することができる。
EMA(Hextent)=EMA(RIOC)+EMA(SIOC) (2)
ここで、RIOCはランダム入出力計数であり、SIOCは順次入出力計数である。エクステント・ヒートのEMAは、ランク内のホット・エクステントを識別するために維持されている。ランク・ヒートを計算するための他の可能な変形には、デバイス特性、待ち時間測定基準等に応じてランダムおよび順次アクセスのための重み付け測定基準を用いることが含まれる。
実行時動的性能スキュー排除機構の目標の1つは、選択した測定基準について均衡化した状態にシステムを維持することである。これは、決定ウィンドウの計算を用いることによって達成可能である。決定ウィンドウは、適応データ配置プランを発生させる頻度を表す。決定ウィンドウの長さは、限定ではないが、作業負荷特徴、利用可能なマイグレーション帯域幅、および他の適用可能なハードウェアおよび作業負荷特徴を含む様々な要素に基づいて選択することができる。
決定ウィンドウの機能性を例示するため、以下の説明は全ての状況に当てはめることは意図しておらず、適応データ・プランを発生させる頻度を表し、前述の様々な要素を適用することの実際的な理解を得ようとするものである。一実施形態において、この機構は必要に応じて多数の決定ウィンドウを選択可能とし、例えば決定ウィンドウは6時間の決定ウィンドウとすることができる。各決定ウィンドウにおいて、マイグレーション・アドバイスを発生する。アドバイスは、マイグレーションのためのプランを表し、マイグレーションする必要があるエクステント・セット、ソース・ランク、およびターゲット・ランクを含む。アドバイス・サイズは、かかる発生させたマイグレーション・プランの数を示す。アドバイス・サイズを計算するために、システム内のアクティブなエクステントの数、利用可能なマイグレーション帯域幅の量、システムに対する現在の負荷、および決定ウィンドウの長さ等の多数の要素を用いて、マイグレーション・アドバイス・サイズを計算することができる。
例えば、コストおよびマイグレーション・アドバイス・サイズの計算を含むいくつかの計算を用いることによって、決定ウィンドウのロジスティック動作を示すことができる。これらの計算は、全ての状況に当てはめることは意図しておらず、決定ウィンドウ計算のいくつかを実証する目的で例示する。
コストの計算では、Tm=決定ウィンドウ当たりのマイグレーションにかかる時間とする。 (3)
再均衡化状態である持続時間をTm未満として、マイグレーションに用いられるリソース、例えば4Tmを正当化することができる。この増大は、再均衡化の決定が長さ4Tmの決定ウィンドウに基づくことを意味する。上述の例を用いて、2日の決定ウィンドウを想定すると、ウィンドウごとに720分のマイグレーション・アクティビティを実行可能である。5分ごとにマイグレーションが4のレートでは、決定ウィンドウ当たり576のマイグレーションを実行可能である。決定ウィンドウ当たり再均等化されるランク数は以下の通りとすることができる。すなわち、再均等化のためにホット・ランクの10%をマイグレーションする必要があると想定する(SAS(serial attached small computersystem interface)/SSD(solid-state drive)ランクに80のエクステント、およびシリアルATA(STA:serial advanced technologyattachment)ランクに200のエクステント)。「移動」動作のみによって、7.2のSAS/SSDランクおよび2.88のSATAランクを再均等化することができる。「スワップ」動作のみによって、決定ウィンドウごとに3.6のSAS/SSDランクおよび1.44のSATAランクを再均等化することができる。
マイグレーション・アドバイス・サイズについては、Max Adv Size=Minimum(アクティブ・エクステントに基づく上限、帯域幅に基づく上限)である。
(4)
ここで、Max Adv Sizeは最大アドバイス・サイズであり、Minimumはアクティブ・エクステントに基づく上限および帯域幅に基づく上限である。
Act extentup = #extentstier/2 (5)
ここで、Act extentupはアクティブ・エクステントに基づく上限であり、#extentstierは層(tier)におけるエクステント数である。
Figure 2014502395

ここで、BWupは帯域幅ベースの上限であり、#rankstierは層におけるランク数であり、rankBWthresholdはランク帯域幅閾値であり、#BWmigはマイグレーションに利用可能な帯域幅の百分率であり、DWは決定ウィンドウの持続時間であり、extentMBはメガバイト(MB)単位のエクステント・サイズである。
このため、これらの計算を決定ウィンドウ内で利用して、選択した測定基準について均等化した状態にシステムを維持することによって、実行時動的性能スキュー排除の目標を達成することができる。
前述のように、この機構は、確率論的なアルゴリズムを適用して、データ配置アクティビティの潜在的なターゲットを識別することができると共に、マイグレーション時にターゲットが過負荷にならないことを保証する。同時に、適応データ・アルゴリズムによって、デバイス(ランク)が利用不足にならないことを保証する。一実施形態では、現在のエクステント・プールの各層について、以下のように計算および適応データ・アルゴリズム・フローを説明することができる。第1に、この機構は各ランクについてランク・ヒートを計算することができ、ここで予測ランク・ヒート(PRH:projected rank heat)は実際のランク・ヒート(ARH:actual rank heat)に等しくすることができる。第2に、ランク・ヒート(複数のヒート)をランク・ヒートの降順に記憶する。コンピューティング・システムの必要性または望まれる好みに従って、ランク・ヒートは1つの単一のランク・ヒートである場合があり、または多数のランク・ヒートを含む場合があることに留意すべきである。更に、システムに応じて、ランク・ヒート(複数のヒート)は昇順で記憶することも可能である。第3に、再均衡化されるランク・セット間でランク・ヒートの平均値(AVE)および標準偏差(STDEV)を計算する。第4に、この機構は、ホット・ランクのセット(複数のセット)Hを識別することができる(ここでPRHはAVEよりも大きい)。第5に、ホット・ランクが存在しターゲット・ランクが存在する間、この機構はホット・ランクをソース・ランクとして、そのエクステントの1つをソース・ランクからのソース・エクステントとして指定することができる。第6に、この機構は、多数のターゲット・ランク(コールド・ランクまたは単に「C」)を識別することができる(ここで、PRHはAVE未満であり、PRHはランクの入出力(I/O)閾値未満である)。ランクの閾値はデバイス較正に基づいて静的に決定して、待ち時間が許容可能性能を超える前にランクに対する最大許容可能負荷がどれほどであるかを調べることができる。ヒート(ソース・エクステント)にPRH(ターゲット・ランク)を加えたものがAVE未満である場合、ターゲット・ランクに余分の容量が存在するか否かを判定し、ソース・エクステントをターゲット・ランクに移動させる。他の場合は、ターゲット・ランク内の最もコールドなエクステントに等しいものとしてターゲット・エクステントを識別し、ターゲット・エクステントをソース・エクステントとスワップし、その後、ソース・ランクおよびターゲット・ランクのPRHを更新する。この機構は、ランク・ヒート(複数のヒート)の降順/昇順でランク・ヒートのソートを繰り返すことができる。更に、ランク・ヒート(複数のヒート)間で標準偏差を小さくしようとすることによってシステムにおけるスキューの最小化を目指す適応アルゴリズムを用いることができる。アルゴリズムの他の変形はスキューを低減させるように機能する。これについては以下で述べる。
図4は、本発明を実現可能である待ち時間曲線400を示す例示的な図である。例えば図1および図2の、データ・ストレージ・システム内のデバイスにおいて、図4の待ち時間曲線(曲線)400に類似した待ち時間IOPS曲線はアプリオリに知ることができる。待ち時間曲線400の縦軸410はシステムの待ち時間を表し、横軸412はIOPS406を表す(図4に406A〜406Bとして示す)。曲線は、ホット領域402(格子状パターンで示す)およびコールド領域404(斜線で示す)を示すと共に、IPOSA406Aを「A」で標示し、IOPSB406Bを「B」で標示する。いったんIOPSBがわかると、ランク閾値を計算することができる。
一実施形態では、実行時動的性能スキュー排除のためのアルゴリズムのあり得る変形は、IOPS待ち時間曲線400を用い、前述のオリジナルのアルゴリズムと同様であるが、異なる点は、予測ランク・ヒート(PRH)がランクのIOPSB閾値より大きい場合にランクを「ホット」すなわちソース・ランクとして分類することである。一実施形態では、PRHがIOPSB未満である場合にランクを「コールド」すなわちターゲット・ランクとして分類することができる。IOPSBは、デバイス・タイプのIOPSBポイント、ランク内のドライブ数、およびRAIDスキームに基づいて計算することができる。
一実施形態では、適応データ・アルゴリズムの第3の変形は、相関係数を用いて密接に相関するホット・エクステントを識別し、エクステントを再分散させて、ランクを過負荷にする作業負荷スパイクを低減する。一実施形態では、この機構はスキュー排除のために考慮しているエクステント・プールにおける最もホットなエクステントの上位N%を識別する。プール内のエクステントの総数が大きい場合があるので、効率のため、この機構は再均衡化動作を最もホットなエクステントの上位N%(これはEMA(エクステント−ヒート)に基づいて決定される)に限定することができる。これらのエクステント間で相互の相関係数を計算する。単純な相関クラスタリング機構を用いて、この機構はエクステントを、正に相関するエクステントのクラスタへと分割する。各クラスタで、エクステント・ヒートに従ってエクステントをソートすることができる。層において利用可能なランク間で、ストライピングを用いてエクステントを再分配する。
図5から図8は、性能スキュー排除のための様々な処理および機構を示す例示的な図である。図5は、本発明の態様を実現可能である追加ランク使用の場合を示す例示的な図500である。図5から図8は各々、いくつかのランク502を示す。各ランク502A内にいくつかのエクステントがある。すなわち、ホット・エクステント510またはコールド・エクステント512のいずれかである。ランク502は、ホット・エクステント510またはコールド・エクステント512あるいはその両方のマイグレーションを示す目的のために、ホット・ランク502Aおよびターゲット・ランク502Bに分割されている。図5では、同一の層に多数のランクが存在する前提条件を認識することができる。いくつかの追加の前提条件は以下を含むことができる。すなわち、(1)ランク統計データの可用性およびランクをソートする能力、ならびに(2)ランク・マッピング等のランク構成の可用性である。
一実施形態では、この機構は、既存のランクを用いて層内に新しいランクを追加することによってトリガされる。トリガされると、機構はその層内の全ランクについてヒートを計算することができる。性能スキューが、システム内の許容可能スキュー量として規定することができる閾値を超えている間、機構はホット・ランク(ヒートが閾値を超えている)を識別することができる。ターゲット・ランク502Bは、新たに追加されたランクに等しくすることができる。ホット・ランク502Aが存在する場合、機構はホット・ランク502Aからターゲット・ランク502Bにホット・エクステント(510)をマイグレーションすることができる。例えば、ホット・ランク502A内のホット・エクステント510をターゲット・ランク502Bにマイグレーションする。以降のマイグレーションで示される新しいホット・ランク502Aには、マイグレーションしたホット・エクステント510は存在しない。マイグレーションしたホット・エクステント510はターゲット・ランク502Bに現れている。図5は空であるターゲット・ランク502Bを示し、ホット・エクステント510がマイグレーションされた後は、ターゲット・ランクは1つのホット・エクステント510を含む。
図6は、本発明を実現可能である追加ランクの代替的なフローを示す例示的な図である。図6内で、3つの状況520、522、および524は、代替的なフローを用いた追加ランクを示す。第1の状況520では、ホット・エクステント510の1つがホット・ランク502Aからターゲット・ランク502Bにマイグレーションされる。マイグレーションは新たに追加したランクに対して発生する。第2の状況522では、ホット・ランク502Aにホット・エクステント(510)は存在せず、ホット・ランク502Aにはコールド・エクステント512のみが見られる。性能スキューが閾値を超えていないので、ホット・ランク502Aからターゲット・ランク502Bへのマイグレーションは行われない。第3の状況524では、ホット・ランク502Aにホット・エクステント(510)が存在するにもかかわらず、ソース・ランクが充分にホットでないために、ホット・ランク502Aからターゲット・ランク502Bへのマイグレーションは行われない。
図7は、本発明を実現可能である性能スキュー使用の場合を示す例示的な図である。一実施形態では、同一の層内に多数のランクが存在する前提条件を認識することができる。いくつかの追加の前提条件は以下を含むことができる。すなわち、(1)ランク統計データの可用性およびランクをソートする能力、および(2)ランク・マッピング等のランク構成の可用性である。
一実施形態では、この機構は、現在のタイム・サイクルが決定ウィンドウにあることによってトリガされる。トリガされると、機構は層内の全ランクについてランク・ヒートを計算することができる。性能スキューが、システム内の許容可能スキュー量として規定することができる閾値を超えている間、例示した実施形態の機構はホット・ランク(ヒートは閾値を超えている)を識別することができる。ホット・ランク502Aが存在する場合、例示した実施形態の機構はランク502Bをターゲットにすることができる(ソースとターゲットとの間のスキューは最大である)。ターゲット・ランク502Bに余分の容量がある場合、機構はホット・ランク502Aからターゲット・ランク502Bにホット・エクステント510を移動させることができる。そうでない場合、機構は、ホット・ランク502Aからのホット・エクステント510をターゲット・ランク502Bからのコールド・エクステント512とスワップすることができる。例えば、ホット・ランク502Aからマイグレーションしたホット・エクステント510はターゲット・ランク502Bに現れている。図7が示すターゲット・ランク502Bは、マイグレーションの前はコールド・エクステント512のみを含み、マイグレーションの後はターゲット・ランク502Bにホット・エクステント510が配置され、このためターゲット・ランク502Bは1つのホット・エクステント510および1つのコールド・エクステント512を含む。
図8は、本発明を実現可能である代替的なフローを用いた性能スキュー排除機構を示す例示的な図である。図8内では、3つの状況530、532、および524が、代替的なフローによる性能スキュー使用の場合を示す。第1の状況530では、ホット・ランク502Aに1つのみのホット・エクステント510が存在し、更にいくつかのコールド・エクステント512も存在する。ソース・ランクが充分にホットでないため、ホット・ランク502Aからターゲット・ランク502Bへのマイグレーションは発生しない。ホット・ランクからコールド・ランクへとエクステントをマイグレーションしないための別の条件は、マイグレーションによってコールド・ランクが再均衡化しているランクのAVEヒートを超えるか否か、または、マイグレーションによってコールド・ランク負荷がデバイス閾値を超えるか否かである。第2の状況532では、ターゲット・ランク502Bにはホット・エクステント510およびコールド・エクステント512の双方が存在し、ホット・ランク502Aにはホット・エクステント510のみが存在する。性能スキューが閾値を超えていないのでマイグレーションは行われない。第3の状況534では、ホット・ランク502Aは完全にホット・エクステント(510)で一杯であり、ターゲット・ランク502Bは完全にコールド・エクステント512で一杯である。ホット・ランク502Aからターゲット・ランク502Bへのマイグレーションが行われるか、またはホット・エクステント510のいくつかがコールド・エクステント512のいくつかによって「スワップ」される。ホット・ランク502Aにもコールド・ランク502Bにも余分の容量がないからである。
図9は、データ・ストレージ・ランク間の実行時動的性能スキューのための例示的な方法600を示すフローチャートである。一実施形態では、例示する実施形態の機構は、多数の次元/測定基準(BWおよびIOPS)にわたる長期スキュー(複数のスキュー)を識別し、安定した非侵入でスケーラブルな戦略を与えて、多層システムの単一層内のランク間でスキューを排除する。IOPSおよびBWリソースの利用百分率を用いることによって、アルゴリズムを発生することができ、多数のベンダーのデバイスに自動的に適用することができる。更に、指数移動平均(EMA)等の要約測定値を用いることによって、アルゴリズムは、反射的な反応なしの鋭いピークを説明することができる。確率論的アルゴリズムを用い採用することで、データ配置アクティビティのための潜在的なターゲットを識別すると共に、マイグレーション時またはマイグレーション・プランの実行後にターゲットがすでに過負荷でないことを保証し、同時にアルゴリズムは、デバイス(ランク)が利用不足でないことを保証する。一実施形態では、いくつかのフィードバック機構を用いて、システム・アクティビティに応じて発生される配置アドバイス量を調節し、システム内の「ホット」と「コールド」との間の切り換えを識別して、解決することができない状況が識別されると自動的にアドバイス発生を停止する。
この方法は開始する(602)と、性能スキューおよびイベントの存在によってプランニング・プロセスをトリガする(ステップ603)。方法600は、ランク・ヒートを計算するためにエクステント粒度で収集した統計データを用いる(ステップ604)。細粒度の統計データは統計データに含まれる。方法600は、多数の次元(帯域幅および1秒当たりの入出力数等)および作業負荷特徴に沿って様々なハードウェア・デバイスの特性を考慮する(ステップ606)。多数の次元にわたる長期および短期のスキューを識別する(ステップ607)。方法600は、それらの次元の利用百分率を適用する(ステップ608)。プランを発生するためにランク間の平均ヒートを用いる(ステップ609)。データを適応的に配置するためにターゲットの位置を特定する(ステップ610)。データのマイグレーション時およびマイグレーション命令の実行後に、ターゲット(ターゲット・デバイス)が過負荷になることを防ぐ(ステップ611)。エクステントの再配置、マイグレーション、および配置のためのプランを発生する(ステップ612)。この方法は、プラン内に、例えば多層システムの単一層のランク間でスキューを排除するための安定した非侵入でスケーラブルな戦略を含む(ステップ613)。1つ以上のエクステントをマイグレーションする(ステップ614)。方法600は、マイグレーションしたエクステントをターゲット・ランクに配置する(ステップ616)。いくつかの測定値を用い採用して、鋭いピークを説明する(ステップ618)。方法は、均衡化エクステント・プールを維持しながら、フィードバック機構を適用してデータの配置を調節する(ステップ620)。方法600は、マイグレーション時に最大限に利用するためにデータ・ストレージ・ランクを適合させる(ステップ622)。方法600は終了する(ステップ624)。
前述のように、この機構は、ハードウェアの帯域幅およびIOPSの双方の特性ならびに作業負荷特徴を考慮に入れながら、エクステント粒度で収集した細粒度の統計データを利用してランク・ヒートを計算する。ランク間の平均ランク・ヒートを用いて(変形はIOPS待ち時間曲線および相関係数の使用を含む)、この機構は、突然の反射的な反応なしでシステムにおける長期性能スキュー(複数のスキュー)を低減するためにエクステントを再配置するプランを発生することができる。データ(エクステント)のマイグレーションのペースを調整する。適応データ・プランのためのプラニング・プロセスをトリガするのは、性能スキューの存在、ならびに、ハードウェアの追加/削除/劣化、ボリュームの生成/削除/再構成、および他のかかる構成イベント(プールのマージ等)等の他のイベントの双方である。
「義務的な」、「必須の」、「必要とする」、および「しなければならない」等の用語は、明確さのために本明細書において記載した特定の実施または適用の文脈内で行われる実施の選択を指しており、限定を意図したものではないことは認められよう。代替的な注入、動作、構築、または実施では、同一の要素を、義務的でなく必須でないものとして規定することができ、または全体的に排除することも可能であるからである。更に、単数の文脈において本明細書に述べて記載したコンポーネントまたは構造は、明確さのためにおよび一例として特定の実施または適用において記載するに過ぎず、限定を意図したものではない。本明細書に記載した方法およびシステムの代替的な注入、動作、構築、または実施あるいはそれら全てにおいては、多数のコンポーネントまたは構造を利用可能であるからである。
当業者によって認められるように、本発明の態様は、システム、方法、またはコンピュータ・プログラムとして具現化することができる。従って、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、「回路」、「モジュール」、または「システム」と一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ使用可能プログラム・コードを有する1つ以上のコンピュータ読み取り可能媒体(複数の媒体)において具現化されたコンピュータ・プログラムの形態を取ることも可能である。
1つ以上のコンピュータ読み取り可能媒体(複数の媒体)のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能ストレージ媒体とすることができる。コンピュータ読み取り可能ストレージ媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能ストレージ媒体の更に具体的な例(非網羅的な列挙)は、以下を含む。すなわち、1本以上のワイヤを含む電気的接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能ストレージ媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかの有形の媒体とすることができる。
コンピュータ読み取り可能媒体上で具現化されるプログラム・コードは、限定ではないが、無線、有線、光ファイバ・ケーブル、RF等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で、実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、(例えばインターネット・サービス・プロバイダを用いてインターネットを介して)外部コンピュータに対して行うことができる。
本発明の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本発明の態様について以下に記載する。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。
また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令を含む製造品を生成するようになっている。また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラムの可能な実施のアーキテクチャ、機能性、および動作を例示する。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能(複数の機能)を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、規定された機能もしくは行為を実行する特殊目的ハードウェア・ベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実施可能であることに留意すべきである。
本発明の1つ以上の実施形態について詳細に例示したが、以下の特許請求の範囲に述べたような本発明の範囲から逸脱することなくこれらの実施形態に対する変形および適合を実施可能であることは当業者にはみとめられよう。

Claims (9)

  1. コンピューティング・ストレージ環境におけるプロセッサ・デバイスによる実行時動的性能スキュー排除のための方法であって、
    帯域幅(BW)および1秒当たりの入出力数(IOPS)測定基準を含めて、エクステント粒度で収集した複数の細粒度の統計データを用いることによって、複数のランク・ヒートを計算することと、
    データを再配置するための適応データ配置プランを発生することと、
    前記データを複数のデータ・ストレージ・ランクにわたって配置することと、
    前記適応データ配置プランに従って前記複数のデータ・ストレージ・ランクを均衡化することと、
    を含む、方法。
  2. 前記複数のデータ・ストレージ・ランク間の平均ヒート・ランク、IOPS待ち時間曲線、および前記適応データ配置プランを発生するための複数の相関係数の1つを用いることを更に含む、請求項1に記載の方法。
  3. 前記複数のデータ・ストレージ・ランクにおける複数のターゲットの1つに前記データを配置することと、
    性能スキューおよび複数のイベントの存在によって前記適応データ・プランのためのプランニング・プロセスをトリガすることと、
    の少なくとも1つを実行することを更に含む、請求項1に記載の方法。
  4. 前記帯域幅(BW)および1秒当たりの入出力数(IOPS)測定基準の少なくとも1つの複数の次元にわたる複数のスキューを識別することと、
    前記複数の次元の利用百分率を適用することと、
    前記データを配置するために複数のターゲットの位置を特定することと、
    複数の要約測定値を用いて複数のピークを説明することと、
    フィードバック機構を適用して前記データの配置を調整することと、
    の少なくとも1つを実行することを更に含む、請求項1に記載の方法。
  5. 前記複数のデータ・ストレージ・ランク間に前記データを配置する時に複数のターゲットが過負荷になるのを防ぐことと、
    マイグレーションの時に最大限の利用のために前記複数のデータ・ストレージ・ランクを適合することと、
    の少なくとも1つを実行することを更に含む、請求項1に記載の方法。
  6. 降順および昇順の1つに従って前記複数のランク・ヒートをソートすることと、
    前記複数のランク・ヒートから平均および標準偏差ランク・ヒートの1つを計算することと、
    実際のランク・ヒート(ARH)よりも大きい予測ランク・ヒート(PRH)を有する複数のホット・ランク(H)を識別することと、
    前記複数のホット・ランクおよび複数のターゲット・ランクが存在する間、最もホットなランクとしてソース・ランクを指定し、前記ソース・ランクからの最もホットなエクステントの1つとしてソース・エクステントを指定することと、
    前記複数のターゲット・ランクのうち、前記PRHが前記AVE未満であり、前記PRHが前記複数のデータ・ストレージ・ランクの入出力(I/O)閾値未満であるものを、コールド・ランク(C)として識別することと、
    の少なくとも1つを実行することを更に含む、請求項1に記載の方法。
  7. 前記複数のターゲット・ランクのうちのものをコールド・ランクとして指定することが、前記ソース・エクステントおよび前記PRHが前記AVE未満である場合に、
    前記複数のターゲット・ランク上に余分な容量が存在する場合、前記ソース・エクステントを前記複数のターゲット・ランクの1つに移動させることと、その他の場合に、
    前記複数のターゲット・ランクの1つにおいて最もコールドなエクステントと等しいものとしてターゲット・エクステントを識別することと、
    前記ターゲット・エクステントを前記ソース・エクステントとスワップし、前記ソース・ランクおよび前記ターゲット・ランクの前記PRHを更新する、ことと、
    を含む、請求項6に記載の方法。
  8. コンピューティング・ストレージ環境における実行時動的性能スキュー排除のためのシステムであって、
    前記コンピューティング・ストレージ環境において動作可能であり、請求項1から7のステップを実行するように適合されたプロセッサ・デバイスを含む、システム。
  9. プロセッサ・デバイスによるコンピューティング・ストレージ環境における実行時動的性能スキュー排除のためのコンピュータ・プログラムであって、コンピュータ読み取り可能プログラム・コード部分が記憶された非一時的なコンピュータ読み取り可能ストレージ媒体を含み、前記コンピュータ読み取り可能プログラム・コード部分がコンピュータによって実行されると前記コンピュータに請求項1から7のいずれかのステップを実行させる、コンピュータ・プログラム。
JP2013540486A 2011-04-29 2012-04-12 コンピューティング・ストレージ環境における実行時動的性能スキュー排除のための方法、システム、コンピュータ・プログラム(実行時動的性能スキュー排除) Expired - Fee Related JP5466794B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/098,143 US8365023B2 (en) 2011-04-29 2011-04-29 Runtime dynamic performance skew elimination
US13/098,143 2011-04-29
PCT/IB2012/051775 WO2012146998A1 (en) 2011-04-29 2012-04-12 Runtime dynamic performance skew elimination

Publications (2)

Publication Number Publication Date
JP2014502395A true JP2014502395A (ja) 2014-01-30
JP5466794B2 JP5466794B2 (ja) 2014-04-09

Family

ID=47068925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013540486A Expired - Fee Related JP5466794B2 (ja) 2011-04-29 2012-04-12 コンピューティング・ストレージ環境における実行時動的性能スキュー排除のための方法、システム、コンピュータ・プログラム(実行時動的性能スキュー排除)

Country Status (6)

Country Link
US (5) US8365023B2 (ja)
JP (1) JP5466794B2 (ja)
CN (1) CN103502956B (ja)
DE (1) DE112012000953B4 (ja)
GB (1) GB2505115A (ja)
WO (1) WO2012146998A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197933A (ja) * 2017-05-23 2018-12-13 富士通株式会社 ストレージ制御装置、情報処理システムおよびプログラム
US10681130B2 (en) 2016-09-09 2020-06-09 Toshiba Memory Corporation Storage system including a plurality of nodes

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972676B2 (en) 2011-01-28 2015-03-03 International Business Machines Corporation Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship
US20140259023A1 (en) * 2013-03-07 2014-09-11 Seagate Technology Llc Adaptive vibration mitigation
US20140351151A1 (en) * 2013-05-23 2014-11-27 International Business Machines Corporation Providing a lease period determination
CN104516471B (zh) 2013-09-27 2017-04-12 国际商业机器公司 一种管理存储器系统的电源的方法和装置
CN104679575B (zh) * 2013-11-28 2018-08-24 阿里巴巴集团控股有限公司 输入输出流的控制系统及其方法
CN103631538B (zh) * 2013-12-05 2017-04-05 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
US9665288B1 (en) * 2013-12-26 2017-05-30 EMC IP Holding Company LLC Techniques for determining workload skew
US10209898B2 (en) * 2014-04-03 2019-02-19 International Business Machines Corporation Estimation of performance utilization of a storage device
KR102318478B1 (ko) * 2014-04-21 2021-10-27 삼성전자주식회사 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
US10484470B2 (en) 2014-05-09 2019-11-19 International Business Machines Corporation Peak cyclical workload-based storage management in a multi-tier storage environment
US9436406B2 (en) 2014-07-07 2016-09-06 International Business Machines Corporation Migration decision window selection based on hotspot characteristics
US9372630B2 (en) 2014-07-09 2016-06-21 International Business Machines Corporation Migration of newly allocated data to a storage tier
US9979662B2 (en) 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US9940057B2 (en) * 2015-10-20 2018-04-10 International Business Machines Corporation I/O statistic based depopulation of storage ranks
US10248353B2 (en) * 2016-01-07 2019-04-02 International Business Machines Corporation Dynamicly freeing storage space in tiered storage systems
CN105824720B (zh) * 2016-03-10 2018-11-20 中国人民解放军国防科学技术大学 一种面向数据连续读取的重删纠删混合系统的数据放置方法
US10203994B2 (en) * 2016-05-12 2019-02-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Determining and using correlative thermal efficiency impacts to distribute workloads
US10241719B2 (en) * 2016-06-27 2019-03-26 International Business Machines Corporation Dynamic granularity for storage optimization
US10303392B2 (en) * 2016-10-03 2019-05-28 International Business Machines Corporation Temperature-based disk defragmentation
US10042578B2 (en) * 2016-11-08 2018-08-07 International Business Machines Corporation Extent migration in multi-tier storage systems
US10353610B1 (en) * 2017-03-16 2019-07-16 EMC IP Holding Company LLC Method, apparatus and computer program product for configuring a data storage system
US11157194B2 (en) 2018-01-12 2021-10-26 International Business Machines Corporation Automated predictive tiered storage system
US11151037B2 (en) 2018-04-12 2021-10-19 International Business Machines Corporation Using track locks and stride group locks to manage cache operations
US10606776B2 (en) 2018-04-16 2020-03-31 International Business Machines Corporation Adding dummy requests to a submission queue to manage processing queued requests according to priorities of the queued requests
US10831597B2 (en) 2018-04-27 2020-11-10 International Business Machines Corporation Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data
US10884849B2 (en) 2018-04-27 2021-01-05 International Business Machines Corporation Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data
US10776013B2 (en) 2018-04-27 2020-09-15 International Business Machines Corporation Performing workload balancing of tracks in storage areas assigned to processing units
CN110413197B (zh) * 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
US10664185B2 (en) 2018-06-18 2020-05-26 International Business Machines Corporation Backend-aware extent balancing
CN111104055B (zh) * 2018-10-29 2023-10-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN111026677B (zh) * 2019-10-31 2022-02-18 苏州浪潮智能科技有限公司 一种基于ema算法的缓存分配方法、系统、终端及存储介质
US11442654B2 (en) 2020-10-15 2022-09-13 Microsoft Technology Licensing, Llc Managing and ranking memory resources
US20220164118A1 (en) * 2020-11-23 2022-05-26 Microsoft Technology Licensing, Llc Managing and ranking memory resources

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774154A (en) 1972-08-21 1973-11-20 Ibm Error control circuits and methods
US4115759A (en) 1977-08-08 1978-09-19 Honeywell Information Systems Inc. Multiple bit deskew buffer
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6493795B1 (en) 1998-12-30 2002-12-10 Emc Corporation Data storage system
US6574699B1 (en) * 1999-12-07 2003-06-03 International Business Machines Corporation Fast track reassign in a rotating storage media
JP2004127147A (ja) * 2002-10-07 2004-04-22 Hitachi Ltd デスキュー回路およびそれを用いたディスクアレイ制御装置
US7461146B2 (en) 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7937551B2 (en) 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US7191207B2 (en) 2003-06-11 2007-03-13 International Business Machines Corporation Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
US7366837B2 (en) 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7916574B1 (en) * 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US7290195B2 (en) * 2004-03-05 2007-10-30 Microsoft Corporation Adaptive acknowledgment delay
US7595629B2 (en) 2004-07-09 2009-09-29 Formfactor, Inc. Method and apparatus for calibrating and/or deskewing communications channels
GB0419599D0 (en) 2004-09-03 2004-10-06 Ibm Controlling preemptive work balancing in data storage
US7138823B2 (en) * 2005-01-20 2006-11-21 Micron Technology, Inc. Apparatus and method for independent control of on-die termination for output buffers of a memory device
US7467335B2 (en) 2005-07-01 2008-12-16 Alcatel-Lucent Usa Inc. Method and apparatus for synchronizing data channels using an alternating parity deskew channel
US7836250B2 (en) 2005-07-15 2010-11-16 International Business Machines Corporation Automatic rebalancing of a data storage system
JP2007183816A (ja) * 2006-01-06 2007-07-19 Elpida Memory Inc メモリ制御装置
US9037828B2 (en) 2006-07-13 2015-05-19 International Business Machines Corporation Transferring storage resources between snapshot storage pools and volume storage pools in a data storage system
KR101128234B1 (ko) 2006-08-23 2012-03-23 엘지전자 주식회사 메모리 접근 제어 장치 및 방법
CN100476742C (zh) 2007-02-09 2009-04-08 华中科技大学 基于对象存储设备的负载平衡方法
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US7774631B1 (en) * 2007-06-30 2010-08-10 Emc Corporation Method and system for minimizing power consumption in a multiprocessor data storage system
US8117619B2 (en) 2007-08-31 2012-02-14 International Business Machines Corporation System and method for identifying least busy resources in a storage system using values assigned in a hierarchical tree structure
US7839716B2 (en) * 2008-12-19 2010-11-23 Lsi Corporation Apparatus and systems for VT invariant DDR3 SDRAM write leveling
US7957218B2 (en) * 2009-06-11 2011-06-07 Freescale Semiconductor, Inc. Memory controller with skew control and method
US20100325352A1 (en) 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US8880835B2 (en) 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8484418B2 (en) * 2010-10-22 2013-07-09 Intel Corporation Methods and apparatuses for idle-prioritized memory ranks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7013004256; Jorge Guerra et al.: 'Cost Effective Storage using Extent Based Dynamic Tiering' Proceedings of the 9th USENIX conference on File and stroage technologies , 201102, pp.1〜14, USENIX Association *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681130B2 (en) 2016-09-09 2020-06-09 Toshiba Memory Corporation Storage system including a plurality of nodes
JP2018197933A (ja) * 2017-05-23 2018-12-13 富士通株式会社 ストレージ制御装置、情報処理システムおよびプログラム

Also Published As

Publication number Publication date
GB2505115A (en) 2014-02-19
CN103502956B (zh) 2016-05-11
US20130185528A1 (en) 2013-07-18
US8443241B2 (en) 2013-05-14
US20130232270A1 (en) 2013-09-05
US8719645B2 (en) 2014-05-06
CN103502956A (zh) 2014-01-08
US8738975B2 (en) 2014-05-27
US9104316B2 (en) 2015-08-11
DE112012000953B4 (de) 2018-08-30
US20120278669A1 (en) 2012-11-01
GB201320009D0 (en) 2013-12-25
DE112012000953T5 (de) 2013-12-05
US20140359380A1 (en) 2014-12-04
WO2012146998A1 (en) 2012-11-01
US20120278668A1 (en) 2012-11-01
US8365023B2 (en) 2013-01-29
JP5466794B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
JP5466794B2 (ja) コンピューティング・ストレージ環境における実行時動的性能スキュー排除のための方法、システム、コンピュータ・プログラム(実行時動的性能スキュー排除)
US8566546B1 (en) Techniques for enforcing capacity restrictions of an allocation policy
US11138124B2 (en) Migrating data between block pools in a storage system
US8284627B2 (en) Reducing energy consumption and optimizing workload and performance in multi-tier storage systems using extent-level dynamic tiering
US9703500B2 (en) Reducing power consumption by migration of data within a tiered storage system
US10013170B1 (en) Intelligent data compression
US9311013B2 (en) Storage system and storage area allocation method having an automatic tier location function
US9405478B2 (en) Storage apparatus provided with a plurality of nonvolatile semiconductor storage media and storage control method
US9003157B1 (en) Techniques for dynamic data storage configuration in accordance with an allocation policy
US8645750B2 (en) Computer system and control method for allocation of logical resources to virtual storage areas
US20130311740A1 (en) Method of data migration and information storage system
JP2008217216A (ja) 負荷分散方法及び計算機システム
US20090300283A1 (en) Method and apparatus for dissolving hot spots in storage systems
US20110252210A1 (en) Method and apparatus for rebalancing storage components within a storage tier
US9311207B1 (en) Data storage system optimizations in a multi-tiered environment
US10168945B2 (en) Storage apparatus and storage system
JPWO2013046331A1 (ja) 計算機システム、及び情報管理方法
Wu et al. LDM: Log disk mirroring with improved performance and reliability for SSD-based disk arrays
US20140229675A1 (en) Elastic i/o processing workflows in heterogeneous volumes
Ahmadian et al. Etica: efficient two-level i/o caching architecture for virtualized platforms
US20100274966A1 (en) High availabilty large scale it systems with self recovery functions
Meyer et al. Supporting heterogeneous pools in a single ceph storage cluster
JP5597266B2 (ja) ストレージシステム
US10684944B1 (en) Managing data accesses in storage systems
Yang Flash-based storage management in cloud computing datacenter infrastructures

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20131107

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20131113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees