JP2022537760A - ストレージ・ドライブの動的な論理ストレージ容量調節 - Google Patents

ストレージ・ドライブの動的な論理ストレージ容量調節 Download PDF

Info

Publication number
JP2022537760A
JP2022537760A JP2021575890A JP2021575890A JP2022537760A JP 2022537760 A JP2022537760 A JP 2022537760A JP 2021575890 A JP2021575890 A JP 2021575890A JP 2021575890 A JP2021575890 A JP 2021575890A JP 2022537760 A JP2022537760 A JP 2022537760A
Authority
JP
Japan
Prior art keywords
storage
drives
drive
storage drives
group
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
JP2021575890A
Other languages
English (en)
Other versions
JP7459146B2 (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 JP2022537760A publication Critical patent/JP2022537760A/ja
Application granted granted Critical
Publication of JP7459146B2 publication Critical patent/JP7459146B2/ja
Active 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

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)
  • Debugging And Monitoring (AREA)

Abstract

複数のストレージ・ドライブ内の論理ストレージ容量を動的に変化させるための方法を開示する。1つの実施形態では、このような方法は、複数のストレージ・ドライブの特性(例えば、エージング、摩耗、等)をストレージ環境内で監視する。各ストレージ・ドライブは、ストレージ・ドライブに関連付けられたオーバープロビジョニングの量を有する。特性に基づいて、方法は、オーバープロビジョニングの量を変化させるために、ストレージ・ドライブの論理ストレージ容量を周期的に変更する。次に、方法は、ストレージ・ドライブの論理ストレージ容量に基づいて、様々なストレージ・グループ(例えば、RAIDアレイ、ストレージ階層、ワークロード、等)内のストレージ・ドライブを再編成する。例えば、方法は、同じ論理ストレージ容量のストレージ・ドライブを同じストレージ・グループ内にできる限り置くことができる。また、対応するシステムおよびコンピュータ・プログラム製品を開示する。

Description

本発明は、ストレージ・ドライブのエージングまたは摩耗あるいはその両方を動的に補償するためのシステムおよび方法に関する。
RAID(すなわち、独立ディスクの冗長アレイ)は、冗長性を通じて、向上したストレージ機能および信頼性を提供するストレージ技術である。RAIDは、複数のストレージ・ドライブ構成要素(例えば、ディスク・ドライブまたはソリッド・ステート・ドライブあるいはその両方)を結合して論理ユニットにすることによって作り出される。その後、「RAIDレベル」と呼ばれる様々な技術を使用して、ドライブ全体にデータを分散させる。標準的なRAIDレベルは、RAIDレベル1から6を現在含み、ストライピング、ミラーリング、またはパリティ、あるいはその組合せを用いてデータ冗長性を提供するRAID構成の基本セットである。構成のそれぞれは、(1)データ信頼性の向上、および(2)I/O性能の向上という、2つの主要な目標間のバランスを提供する。
RAID内のストレージ・ドライブが新しいとき、ストレージ・ドライブは、一定の性能特性または仕様を有することができる。これらの特性または仕様は、パフォーマンス・クラス、一日あたりの書込み回数(writes-per-day)分類、ストレージ容量、オーバープロビジョニング(over-provisioning)の量、等の用語で表現することができる。それでも、ストレージ・ドライブがエージングし、摩耗すると、ストレージ・ドライブは、新しいときに提供できた同じ性能特性または仕様を提供できなくなる可能性がある。これにより、一定の性能要件を有し得る、一定のRAIDアレイ、ストレージ階層、またはワークロードにおいて使用するのに、ストレージ・ドライブが適さなくなる可能性がある。ストレージ・ドライブの摩耗またはエージングを無視し、ストレージ・ドライブのエージングまたは摩耗あるいはその両方に関わらず、これらのストレージ・ドライブに同じワークロードを送ると、ストレージ・ドライブは、高い故障率、または低下したライフ・サイクル、あるいはその両方を過度に示す可能性がある。
前述を考慮すると、必要とされるのは、ストレージ・ドライブのエージングまたは摩耗あるいはその両方を動的に補償するためのシステムおよび方法である。理想的には、このようなシステムおよび方法は、ストレージ・ドライブのエージングまたは摩耗あるいはその両方に基づいて、適切なRAIDアレイ、ストレージ階層、またはワークロードにストレージ・ドライブを周期的に再割当てすることになる。また、このようなシステムおよび方法は、故障率を理想的に低下させ、ストレージ・ドライブの有効寿命を増加させることになる。
本発明は、現行の技術に応じて、および具体的には、現在利用可能なシステムおよび方法でまだ完全に解決されていない、当技術分野における問題および必要性に応じて開発されてきた。したがって、本発明の実施形態は、ストレージ・ドライブのエージングまたは摩耗あるいはその両方を動的に補償するために開発されてきた。本発明の特徴および利点は、以下の説明および添付の特許請求の範囲から、より完全に明らかになるか、または、以下に示すような、本発明の実践によって習得することができる。
前述と一致した、複数のストレージ・ドライブ内の論理ストレージ容量を動的に変化させるための方法を開示する。1つの実施形態では、このような方法は、複数のストレージ・ドライブの特性(例えば、エージング、摩耗、等)をストレージ環境内で監視する。各ストレージ・ドライブは、ストレージ・ドライブに関連付けられたオーバープロビジョニングの量を有する。特性に基づいて、方法は、オーバープロビジョニングの量を変化させるために、ストレージ・ドライブの論理ストレージ容量を周期的に変更する。次に、方法は、ストレージ・ドライブの論理ストレージ容量に基づいて、様々なストレージ・グループ(例えば、RAIDアレイ、ストレージ階層、ワークロード、等)内のストレージ・ドライブを再編成する。例えば、方法は、同じ論理ストレージ容量のストレージ・ドライブを同じストレージ・グループ内にできる限り置くことができる。
また、対応するシステムおよびコンピュータ・プログラム製品を開示し、本明細書で特許請求する。
本発明の利点を容易に理解するために、添付の図面に示す固有の実施形態を参照することによって、上記で簡単に説明した本発明のより詳しい説明を提供する。これらの図面が本発明の典型的な実施形態を描写するにすぎず、したがってその範囲の限定とみなされないことを理解して、添付の図面を使用してさらに具体的かつ詳細に本発明を記述し、説明する。
本発明によるシステムおよび方法を実施し得るネットワーク環境の一例を示す高レベル・ブロック図である。 1つまたは複数のRAIDまたはストレージ階層を実施し得るストレージ・システムの1つの実施形態を示す高レベル・ブロック図である。 様々なストレージ・ドライブ、および新しいときのストレージ・ドライブに関連付けられたパフォーマンス・クラスを示す高レベル・ブロック図である。 ストレージ・ドライブがエージングするときのストレージ・ドライブのパフォーマンス・クラスの低下を示す高レベル・ブロック図である。 ストレージ・ドライブのパフォーマンス・クラスに基づく、RAID内のストレージ・ドライブの再編成を示す高レベル・ブロック図である。 ストレージ・ドライブの一日あたりの書込み回数分類に基づく、RAID内のストレージ・ドライブの再編成を示す高レベル・ブロック図である。 ストレージ・ドライブの論理ストレージ容量に基づく、RAID内のストレージ・ドライブの再編成を示す高レベル・ブロック図である。 本発明による、ドライブ監視モジュール内の様々なサブ・モジュールを示す高レベル・ブロック図である。 本発明による、再分類モジュール内の様々なサブ・モジュールを示す高レベル・ブロック図である。 ドライブ特性に基づいてストレージ・ドライブを再編成するための方法の1つの実施形態を示す流れ図である。 ストレージ・ドライブのパフォーマンス・クラスに基づいてストレージ・ドライブを再編成するための方法の1つの実施形態を示す流れ図である。 ストレージ・ドライブの一日あたりの書込み回数分類に基づいてストレージ・ドライブを再編成するための方法の1つの実施形態を示す流れ図である。 ストレージ・ドライブの論理ストレージ容量に基づいてストレージ・ドライブを再編成するための方法の1つの実施形態を示す流れ図である。
本発明の構成要素は、本明細書で図に全体的に記述し、示すように、多種多様な異なる構成で配置し、設計できることが容易に理解されよう。したがって、図に表すような、本発明の実施形態の以下のより詳細な説明は、特許請求するように、本発明の範囲を限定することを意図するものではなく、本発明による現時点で想定される実施形態の一定の例の代表的なものにすぎない。今説明する実施形態は、図面への参照により、最も良く理解され、全体にわたって同様の部品が同様の番号によって指名される。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして具体化することができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサが実行するためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持し、格納できる有形デバイスであってもよい。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・システム、磁気ストレージ・システム、光ストレージ・システム、電磁気ストレージ・システム、半導体ストレージ・システム、または前述の適切ないずれかの組合せであってもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されたパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の適切ないずれかの組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で使用するように、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの、本質的に一時的な信号であると解釈するべきではない。
本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれの計算/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといったネットワークを介して、外部コンピュータまたは外部ストレージ・システムに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えることができる。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれの計算/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++、等などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってもよい。
コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、あるいは、部分的にユーザのコンピュータおよび部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じて、ユーザのコンピュータに接続することができ、または、接続は、(例えば、インターネット・サービス・プロバイダを使用して、インターネットを通じて)外部コンピュータに対して行うことができる。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明することができる。流れ図またはブロック図あるいはその両方の各ブロック、ならびに流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作を実施するための手段を作り出すべく、機械を生み出すために、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供することができる。また、これらのコンピュータ可読プログラム命令は、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作の態様を実施する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納することができ、特定の手法で機能するように、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに指図することができる。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作を実施するべく、コンピュータ実施処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行するため、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードすることができる。
図1を参照して、ネットワーク環境100の一例を示す。ネットワーク環境100は、本発明によるシステムおよび方法を実施し得る環境の一例を示すために提示する。ネットワーク環境100は、例として、また限定ではなく提示する。実際には、本明細書で開示するシステムおよび方法は、図示のネットワーク環境100に加えて、多種多様な異なるネットワーク環境に適用できる可能性がある。
図示のように、ネットワーク環境100は、ネットワーク104によって相互接続された1つまたは複数のコンピュータ102、106を含む。ネットワーク104は、例えば、ローカル・エリア・ネットワーク(LAN)104、ワイド・エリア・ネットワーク(WAN)104、インターネット104、イントラネット104等を含むことができる。特定の実施形態では、コンピュータ102、106は、(「ホスト」106または「ホスト・システム」106と本明細書でさらに呼ばれる)クライアント・コンピュータ102とサーバ・コンピュータ106の両方を含むことができる。一般に、クライアント・コンピュータ102は、通信セッションを始め、その一方で、サーバ・コンピュータ106は、クライアント・コンピュータ102からのリクエストを待ち、これに応答する。特定の実施形態では、コンピュータ102またはサーバ106あるいはその両方は、1つまたは複数の内部または外部の直接接続型ストレージ・システム112(例えば、ハード・ストレージ・ドライブ、ソリッド・ステート・ドライブ、テープ・ドライブ等のアレイ)に接続することができる。これらのコンピュータ102、106および直接接続型ストレージ・システム112は、ATA、SATA、SCSI、SAS、ファイバ・チャネル等などのプロトコルを使用して通信することができる。
特定の実施形態では、ネットワーク環境100は、(例えば、ネットワーク接続型ストレージを使用するとき)ストレージ・エリア・ネットワーク(SAN:storage-area-network)108またはLAN108などの、サーバ106の背後にあるストレージ・ネットワーク108を含むことができる。このネットワーク108は、ハード・ディスク・ドライブまたはソリッド・ステート・ドライブのアレイ110a、テープ・ライブラリ110b、個々のハード・ディスク・ドライブ110cまたはソリッド・ステート・ドライブ110c、テープ・ドライブ110d、CD-ROMライブラリ等などの、1つまたは複数のストレージ・システム110にサーバ106を接続することができる。ストレージ・システム110にアクセスするために、ホスト・システム106は、ホスト106上の1つまたは複数のポートからストレージ・システム110上の1つまたは複数のポートへの物理接続で通信することができる。接続は、スイッチ、ファブリック、直接接続、等を通じたものであってもよい。特定の実施形態では、サーバ106およびストレージ・システム110は、ファイバ・チャネル(FC)またはiSCSIなどのネットワーク規格を使用して通信することができる。
図2を参照して、ハード・ディスク・ドライブ204またはソリッド・ステート・ドライブ204あるいはその両方のアレイを収めるストレージ・システム110aの一例を示す。ストレージ・システム110aの内部構成要素を示すが、なぜなら、特定の実施形態では、このようなストレージ・システム110a内で、RAIDアレイを全てまたは部分的に実施できるからである。図示のように、ストレージ・システム110aは、ストレージ・コントローラ200、1つまたは複数のスイッチ202、および、ハード・ディスク・ドライブ204またはソリッド・ステート・ドライブ204(例えば、フラッシュ・メモリ・ベースのドライブ204)あるいはその両方などの、1つまたは複数のストレージ・ドライブ204を含む。ストレージ・コントローラ200は、1つまたは複数のホスト・システム106(例えば、z/OS(R)、zVM(R)等などのオペレーティング・システムを実行するオープン・システムまたはメインフレーム・サーバ106あるいはその両方)が、1つまたは複数のストレージ・ドライブ204内のデータにアクセスできるようにすることができる。
選択した実施形態では、ストレージ・コントローラ200は、1つまたは複数のサーバ206a、206bを含む。また、ストレージ・コントローラ200は、ホスト・システム106およびストレージ・ドライブ204にストレージ・コントローラ200を接続するための、ホスト・アダプタ208およびデバイス・アダプタ210をそれぞれ含むことができる。複数のサーバ206a、206bは、接続したホスト・システム106がデータを常に利用できることを保証するために、冗長性をもたらすことができる。したがって、1つのサーバ206aが故障したとき、他のサーバ206bは、ホスト・システム106とストレージ・ドライブ204との間でI/Oを継続できることを保証するために、故障したサーバ206aのI/Oロードを回復させることができる。この処理は、「フェイルオーバ」と呼ぶことができる。
選択した実施形態では、各サーバ206は、1つまたは複数のプロセッサ212およびメモリ214を含む。メモリ214は、揮発性メモリ(例えば、RAM)、および不揮発性メモリ(例えば、ROM、EPROM、EEPROM、ハード・ディスク、フラッシュ・メモリ等)を含むことができる。特定の実施形態では、揮発性および不揮発性メモリは、プロセッサ212上で動き、ストレージ・ドライブ204内のデータにアクセスするために使用される、ソフトウェア・モジュールを格納することができる。これらのソフトウェア・モジュールは、ストレージ・ドライブ204内の論理ボリュームへの全ての読込みおよび書込みリクエストを管理することができる。
図2に示すものと同様のアーキテクチャを有するストレージ・システム110aの一例は、IBM DS8000(TM)エンタープライズ・ストレージ・システムである。DS8000(TM)は、連続動作をサポートするように設計されたディスクおよびソリッド・ステート・ストレージを提供する高性能、高容量ストレージ・コントローラである。それでも、本明細書で開示する技術は、IBM DS8000(TM)エンタープライズ・ストレージ・システム110aに限定されず、システム110に関連付けられた製造業者、製品名、または構成要素もしくは構成要素名に関わらず、任意の同等または類似のストレージ・システム110において実施することができる。本発明の1つまたは複数の実施形態から恩恵を受け得るいずれのストレージ・システムも、本発明の範囲に含まれるものとみなされる。したがって、IBM DS8000(TM)を、例としてのみ、また限定することなく提示する。
図3を参照すると、特定の実施形態では、ストレージ・システム110aのストレージ・ドライブ204は、信頼性またはI/O性能あるいはその両方の所望のレベルを提供するように、1つまたは複数のRAIDアレイ304内に構成することができる。RAIDアレイ304は、複数のストレージ・ドライブ構成要素(例えば、ディスク・ドライブ204またはソリッド・ステート・ドライブ204あるいはその両方)を結合して論理ユニットにすることによって、作り出される。その後、「RAIDレベル」と呼ばれる様々な技術を使用して、ドライブ全体にデータを分散させる。標準的なRAIDレベルは、RAIDレベル1から6を現在含み、ストライピング、ミラーリング、またはパリティ、あるいはその組合せを用いてデータ冗長性を提供するRAID構成の基本セットである。構成のそれぞれは、(1)データ信頼性の向上、および(2)I/O性能の向上という、2つの主要な目標間のバランスを提供する。
RAIDアレイ304内のストレージ・ドライブ204が新しいとき、ストレージ・ドライブ204は、一定の性能特性または仕様を有することができる。これらの特性または仕様は、パフォーマンス・クラス、一日あたりの書込み回数分類、ストレージ容量、オーバープロビジョニングの量、等の用語で表現することができる。それでも、ストレージ・ドライブ204がエージングし、摩耗すると、ストレージ・ドライブ204は、新しいときに提供できた同じ性能特性または仕様を提供できなくなる可能性がある。これにより、一定の性能要件を有し得る、一定のRAIDアレイ304、ストレージ階層、またはワークロードで使用するのに、ストレージ・ドライブ204が適さなくなる可能性がある。ストレージ・ドライブ204の摩耗またはエージングを無視し、ストレージ・ドライブ204のエージングまたは摩耗あるいはその両方に関わらず、これらのストレージ・ドライブ204に同じワークロードを送ると、ストレージ・ドライブ204は、高い故障率、または低下したライフ・サイクル、あるいはその両方を過度に示す可能性がある。
したがって、システムおよび方法は、ストレージ・ドライブ204のエージングまたは摩耗あるいはその両方を動的に補償する必要がある。理想的には、このようなシステムおよび方法は、ストレージ・ドライブ204のエージングまたは摩耗あるいはその両方に基づいて、適切なRAIDアレイ304、ストレージ階層、またはワークロードにストレージ・ドライブ204を周期的に再割当てすることになる。また、このようなシステムおよび方法は、故障率を理想的に低下させ、ストレージ・ドライブ204の有効寿命を増加させることになる。
図3に示すように、ストレージ・ドライブ204が新しいとき、新しいストレージ・ドライブ204は、新しいストレージ・ドライブ204に関連付けられた一定のパフォーマンス・クラスを有することができる。例えば、ストレージ・ドライブ204は、パフォーマンス・クラスA、B、またはCを割り当てられており、ここで、パフォーマンス・クラスAは、パフォーマンス・クラスBよりパフォーマンス(例えば、I/O性能)が良く、パフォーマンス・クラスBは、パフォーマンス・クラスCよりパフォーマンスが良い。図示の実施形態では、RAIDアレイ304のそれぞれは、同じパフォーマンス・クラス(この例では、パフォーマンス・クラスA)のストレージ・ドライブ204でスタートするが、これは、全ての実施形態において必要なわけではない。例えば、RAIDアレイ304の中には、RAIDアレイ304の性能要件に応じて、低い方のパフォーマンス・クラス(例えば、パフォーマンス・クラスBまたはC)のストレージ・ドライブ204を割り当てられるものがあってもよい。
時間が経つにつれて、RAIDアレイ304内の一定のストレージ・ドライブ204の故障および交換により、RAIDアレイ304は、異なるエージングまたは摩耗あるいはその両方の特性を有するストレージ・ドライブ204から構成される可能性がある。それでも、ストレージ・ドライブ204がエージングし、摩耗すると、ストレージ・ドライブ204は、同じ性能特性または仕様を提供できなくなるか、受入れ可能な故障率または低下したライフ・サイクル以上のものを示すことなく、提供できなくなる可能性がある。それでも、一定のパフォーマンス・クラスのストレージ・ドライブ204がエージングまたは摩耗あるいはその両方をすると、ストレージ・ドライブ204は、パフォーマンス・クラスを最初に割り当てられた結果として、同じように使用され続ける可能性がある。
特定の実施形態では、本発明によるシステムおよび方法は、ストレージ環境内のストレージ・ドライブ204の特性(例えば、エージングまたは摩耗あるいはその両方)を監視し、適切なパフォーマンス・クラスにストレージ・ドライブ204を周期的に再分類することができる。例えば、3年という予想寿命のストレージ・ドライブ204について、ストレージ・ドライブ204は、パフォーマンス・クラスAを最初に割り当てることができる。1年目の使用の後、ストレージ・ドライブ204は、パフォーマンス・クラスBに下げることができる。2年目の使用の後、ストレージ・ドライブ204は、パフォーマンス・クラスCに下げることができる。ストレージ・ドライブ204に新しいパフォーマンス・クラスを割り当てるたびに、ストレージ・ドライブ204は、まだ行われていなければ、適切なストレージ・グループ(例えば、RAIDアレイ304、階層化したストレージ環境におけるストレージ階層、特定のワークロード要件を伴うストレージ・ドライブ204、等)内に置くことができる。これは、ストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、ワークロード、等)が、同じパフォーマンス・クラスのストレージ・ドライブ204をできる限り収めるように、ストレージ環境において、一定のパフォーマンス・クラスのストレージ・ドライブ204を異なるパフォーマンス・クラスのストレージ・ドライブ204と入れ替えることによって達成することができる。
図3に示すように、特定の実施形態では、1つまたは複数のモジュール300、302、303は、本発明による様々な特徴および機能を提供するために使用することができる。例えば、ドライブ監視モジュール300は、ストレージ・ドライブのエージング、使用、または摩耗、あるいはその組合せなどの、ストレージ・ドライブ特性を監視するように構成することができる。対照的に、ドライブ再分類モジュール302は、ストレージ・ドライブ204をその特性に従って周期的に再分類するように構成することができる。例えば、ドライブ再分類モジュール302は、エージングまたは摩耗すると、ストレージ・ドライブ204のパフォーマンス・クラスを下げることができる。ストレージ・ドライブ204を再分類すると、ドライブ再編成モジュール303は、ストレージ環境内のストレージ・ドライブ204をその分類に従って再編成するように構成することができる。例えば、特定の実施形態では、ドライブ再編成モジュール303は、同じパフォーマンス・クラスのストレージ・ドライブ204を、同じRAIDアレイ304または同じストレージ階層内などの同じストレージ・グループ内にできる限り置くことができる。
図4は、ドライブ再分類モジュール302でストレージ・ドライブ204を再分類した後の図3のRAIDアレイ304を示す。図示のように、数時間が経過し、RAIDアレイ304内の様々なストレージ・ドライブ204を、同じまたは異なるパフォーマンス・クラスの他のストレージ・ドライブ204と置き替えるか、取り替えた後、RAIDアレイ304内のストレージ・ドライブ204は、異なるエージングまたは摩耗あるいはその両方の特性を有する可能性がある。これらのエージングまたは摩耗あるいはその両方の特性に基づいて、ドライブ再分類モジュール302は、ストレージ・ドライブ204のエージングまたは摩耗あるいはその両方を反映するように、ストレージ・ドライブ204のパフォーマンス・クラスを変更することができる。例えば、図4に示すように、ストレージ環境は、ストレージ・ドライブ204の製造業者の仕様、あるいは、ストレージ・ドライブ204のエージングもしくは摩耗またはその両方に基づいて、パフォーマンス・クラスA、B、またはCとして分類されたストレージ・ドライブ204を収めることができる。これは、図4に示すような、異なるパフォーマンス・クラスのストレージ・ドライブ204をRAIDアレイ304が収めるシナリオを作り出す。特定の実施形態では、最も低いパフォーマンス・クラスを有するストレージ・ドライブ204は、RAIDアレイ304全体のパフォーマンスを定義する可能性がある。すなわち、RAIDアレイ304は、その最も低い性能のストレージ・ドライブ204(すなわち、最も低いパフォーマンス・クラスのストレージ・ドライブ204)と同様に機能することしかできなくなり得る。したがって、RAIDアレイ304の性能を最大化するために、RAIDアレイ304は、同じパフォーマンス・クラスを有するストレージ・ドライブ204を理想的に収めることになる。
図5を参照すると、これを達成するために、ドライブ再分類モジュール302がストレージ・ドライブ204のパフォーマンス・クラスを変更して、ストレージ・ドライブ204のエージングまたは摩耗あるいはその両方に適合させると、ドライブ再編成モジュール303は、ストレージ環境内のストレージ・ドライブ204を再編成することができる。より具体的には、ドライブ再編成モジュール303は、同じパフォーマンス・クラスのストレージ・ドライブ204を同じRAIDアレイ304内に置こうとすることができる。より高い性能のRAIDアレイ304が、より高いパフォーマンス・クラスのストレージ・ドライブ204を理想的に収めることになる。同様に、より低い性能のRAIDアレイ304が、より低いパフォーマンス・クラスのストレージ・ドライブ204を収めることができる。
ストレージ・ドライブ204を再編成するために、ドライブ再編成モジュール303は、例えば、データの入替えを容易にするために中間データ・ストアのような予備のストレージ・ドライブ204を使用して、RAIDアレイ304の間でストレージ・ドライブ204を入れ替えることができる。特定の実施形態では、これは、1つのストレージ・ドライブ204から別のストレージ・ドライブ204にデータをコピーするためのスマート再構築処理(smart rebuild process)を使用して、達成される。スマート再構築処理は、データがストレージ・ドライブ204にコピーされているときでも、予備としてストレージ・ドライブ204を使用する能力を維持することによって、データ喪失にさらされるのを減らすことができる。特定の実施形態では、第1のストレージ・ドライブ204から第2のストレージ・ドライブ204(例えば、予備のストレージ・ドライブ204)にデータをコピーするとき、スマート再構築処理は、第1のストレージ・ドライブ204のビットマップを作り出すことができる。各ビットは、第1のストレージ・ドライブ204上のストレージ空間のセクション(例えば、1メガバイト領域)を表すことができる。次に、スマート再構築処理は、第1のストレージ・ドライブ204から第2のストレージ・ドライブ204へのデータのコピーを始めることができる。各セクションをコピーしつつ、セクションの関連付けられたビットを、ビットマップに記録することができる。
データ・コピー処理の進行中に、第1のストレージ・ドライブ204のセクションへの書込みを受けた場合、スマート再構築処理は、ビットマップをチェックして、関連付けられたセクションにおけるデータが、第2のストレージ・ドライブ204に既にコピーされたかどうかを判定することができる。コピーされていない場合、スマート再構築処理は、第1のストレージ・ドライブ204の対応するセクションにデータを単純に書き込むことができる。そうでなければ、第1のストレージ・ドライブ204にデータを書き込んだ後、データは、第2のストレージ・ドライブ204にさらにコピーすることができる。第1のストレージ・ドライブ204から第2のストレージ・ドライブ204に全てのセクションをコピーすると、RAIDアレイ304は、第1のストレージ・ドライブ204の代わりに、第2のストレージ・ドライブ204の使用を始めることができる。これにより、第1のストレージ・ドライブ204は、RAIDアレイ304から解放される。
代替として、スマート再構築処理は、ビットマップの代わりにウォーターマークを利用して、第1のストレージ・ドライブ204から第2のストレージ・ドライブ204にどのデータをコピーしたかを追跡することができる。このような実施形態では、セクションは、第1のストレージ・ドライブ204から第2のストレージ・ドライブ204に指名順にコピーすることができる。ウォーターマークは、セクションを通じてコピー処理がどこまで進んでいるかを追跡することができる。コピー処理中に、第1のストレージ・ドライブ204のセクションへの書込みを受けると、スマート再構築処理は、ウォーターマークをチェックして、セクション内のデータが第2のストレージ・ドライブ204に既にコピーされたかどうかを判定することができる。コピーされていない場合、スマート再構築処理は、第1のストレージ・ドライブ204にデータを書き込むことができる。そうでなければ、第1のストレージ・ドライブ204にデータを書き込んだ後、スマート再構築処理は、第2のストレージ・ドライブ204にデータをさらにコピーすることができる。第1のストレージ・ドライブ204から第2のストレージ・ドライブ204に全てのセクションをコピーすると、RAIDアレイ304は、第1のストレージ・ドライブ204の代わりに、第2のストレージ・ドライブ204の使用を始めることができる。これにより、第1のストレージ・ドライブ204は、RAIDアレイ304から解放される。
他の実施形態では、ドライブ再分類モジュール302は、ストレージ環境内のストレージ・ドライブ204の他の特性を変化させることができる。例えば、ドライブ再分類モジュール302は、ストレージ・ドライブ204に関連付けられたストレージ・ドライブ204のエージングもしくは摩耗、一日あたりの書込み回数分類、論理ストレージ容量、またはオーバープロビジョニングの量、あるいはその組合せに基づいて変更することができる。次に、ドライブ再編成モジュール303は、図6に示すような、ストレージ・ドライブ204の一日あたりの書込み回数分類、または図7に示すような、ストレージ・ドライブ204の論理ストレージ容量に基づいて、RAIDアレイ304内のストレージ・ドライブ204を再編成することができる。このように、本発明によるシステムおよび方法は、ストレージ・ドライブ204の様々な特性を監視すること、ストレージ・ドライブ204の特性に基づいてストレージ・ドライブ204を再分類すること、および、ストレージ・ドライブ204を再分類した後、ストレージ・ドライブ204を再編成することができる。これを達成し得る手法は、図8から図13に関連して、より詳細に説明する。
図8は、ドライブ監視モジュール300内に含み得る様々なサブ・モジュールを示す高レベル・ブロック図である。ドライブ監視モジュール300および関連付けられたサブ・モジュールは、ハードウェア、ソフトウェア、ファームウェア、またはその組合せで実施することができる。ドライブ監視モジュール300および関連付けられたサブ・モジュールを、例として、また限定することなく提示する。より多くのまたは少ないサブ・モジュールを、異なる実施形態で提供することができる。例えば、いくつかのサブ・モジュールの機能を、単一もしくはより少ない数のサブ・モジュールに結合することができるか、または、単一のサブ・モジュールの機能を、いくつかのサブ・モジュールにわたって分散させることができる。
図示のように、ドライブ監視モジュール300は、エージング監視モジュール800、摩耗監視モジュール802、およびオーバープロビジョニング監視モジュール804の1つまたは複数を含む。エージング監視モジュール800は、ストレージ環境内のストレージ・ドライブ204のエージングを監視するように構成することができる。特定の実施形態では、これは、ストレージ環境にストレージ・ドライブ204がいつ新たにインストールされたかを検出し、次に、その時から、ストレージ・ドライブ204がストレージ環境内にある時間を追跡することによって、達成することができる。
対照的に、摩耗監視モジュール802は、ストレージ環境内のストレージ・ドライブ204の摩耗を監視することができる。特定の実施形態では、ストレージ・ドライブ204の耐用期間にわたってストレージ・ドライブ204に送られたI/Oの量、ストレージ・ドライブ204がアクティブになっている時間、ストレージ・ドライブ204の使用中にストレージ・ドライブ204が関連付けられたストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、またはワークロード)等などの、ストレージ・ドライブ204の使用状況から摩耗を判定することができる。
オーバープロビジョニング監視モジュール804は、ストレージ・ドライブ204内に存在するオーバープロビジョニングの量を監視するように構成することができる。ソリッド・ステート・ストレージ・ドライブ204(SSD)などの、一定のストレージ・ドライブ204は、データを格納するのに充てられるストレージ・ドライブ204の全ストレージ容量の一定の割合、および、「オーバープロビジョニング」の形で確保された残りの割合を有することができる。このオーバープロビジョニングは、典型的には、ソリッド・ステート・ストレージ・ドライブ204の性能を改善し、寿命を増加させる。ソリッド・ステート・ストレージ・ドライブ204がエージングまたは摩耗あるいはその両方をすると、ソリッド・ステート・ストレージ・ドライブ204内の記憶素子が劣化する可能性があり、これにより、ストレージ・ドライブ204内のオーバープロビジョニングの量が低下する可能性がある。これは、ソリッド・ステート・ストレージ・ドライブ204の性能または寿命あるいはその両方を低下させる可能性がある。
図9は、前述のドライブ再分類モジュール302内に含み得る様々なサブ・モジュールを示す高レベル・ブロック図である。図示のように、ドライブ再分類モジュール302は、パフォーマンス・クラス調節モジュール900、一日あたりの書込み回数調節モジュール902、およびサイズ/オーバープロビジョニング調節モジュール904の1つまたは複数を含むことができる。パフォーマンス・クラス調節モジュール900は、ドライブ監視モジュール300が検出したストレージ・ドライブ204の特性(例えば、エージングまたは摩耗あるいはその両方)に応じて、ストレージ・ドライブ204のパフォーマンス・クラスを調節するように構成することができる。特定の実施形態では、パフォーマンス・クラス調節モジュール900は、様々な個別ステップでパフォーマンス・クラスを調節することができる。例えば、パフォーマンス・クラス調節モジュール900は、ストレージ・ドライブ204のエージングまたは摩耗に応じて、パフォーマンス・クラスAからパフォーマンス・クラスBに、およびパフォーマンス・クラスBからパフォーマンス・クラスCに、パフォーマンス・クラスを下げることができる。
一日あたりの書込み回数調節モジュール902は、ストレージ・ドライブ204に関連付けられた一日あたりの書込み回数分類を調節するために使用することができる。ストレージ・ドライブ204に関連付けられたエージング、摩耗、またはオーバープロビジョニングの量、あるいはその組合せに基づいて、一日あたりの書込み回数調節モジュール902は、ストレージ・ドライブ204に関連付けられた一日あたりの書込み回数分類を下げることができる。特定の実施形態では、これは、個別ステップで発生させることができる。例えば、一日あたりの書込み回数分類は、ストレージ・ドライブ204に関連付けられた特性(例えば、オーバープロビジョニングの量、エージング等)に応じて様々な個別ステップで、第1のレベル(例えば、200GB/日)から第2のレベル(150GB/日)に、および次に、第2のレベルから第3のレベル(例えば、100GB/日)に、などに、落とすことができる。
サイズ/オーバープロビジョニング調節モジュール904は、ストレージ・ドライブ204に関連付けられた論理ストレージ容量、またはオーバープロビジョニングの量、あるいはその両方を調節するように構成することができる。上述のように、ストレージ・ドライブ204(例えば、ソリッド・ステート・ストレージ・ドライブ204)がエージングするか、利用されると、ストレージ・ドライブ204内のセクタまたは記憶素子が劣化する可能性がある。ストレージ・ドライブ204内のオーバープロビジョニングの量が一定のレベルまたは閾値に低下すると、サイズ/オーバープロビジョニング調節モジュール904は、ストレージ・ドライブ204内の論理ストレージ容量、またはオーバープロビジョニングの量、あるいはその両方を調節することができる。例えば、サイズ/オーバープロビジョニング調節モジュール904は、オーバープロビジョニングの量を増加させるために、ストレージ・ドライブ204の論理ストレージ容量を減らすことができる。これにより、ストレージ・ドライブ204の性能を改善すること、または有効寿命を増加させること、あるいはその両方を行うことができる。特定の実施形態では、これは、様々な個別ステップで発生させることができる。例えば、サイズ/オーバープロビジョニング調節モジュール904は、ストレージ・ドライブ204がエージングまたは摩耗あるいはその両方をすると、様々な個別ステップで、サイズA(例えば、900GB)からサイズB(例えば、800GB)に、サイズBからサイズC(例えば、700GB)に、など、ストレージ・ドライブ204の論理ストレージ容量を減らすことができる。以下でより詳細に説明するように、一定のケースでは、ストレージ・ドライブ204の論理ストレージ容量を減少させるとき、論理ストレージ容量の減少を容易にするために、データによってはストレージ・ドライブ204から移動させる必要があるものもあり得る。
図10を参照して、ドライブ特性に基づいてストレージ・ドライブ204を再編成するための方法1000の1つの実施形態を示す流れ図を示す。この方法1000は、図11から図13に示す、より具体的な方法を広く包含することを意図する。
図示のように、方法1000は、ストレージ環境内のストレージ・ドライブ204を再分類し、再編成する時が来たかどうかを最初に判定する1002。特定の実施形態では、方法1000は、1週間ごと、1カ月ごと、または数カ月ごとなど、周期的に実行することを意図する。ステップ1002は、方法1000を実行するべきかどうか、およびいつ実行するべきかを判定するように構成することができる。
ストレージ環境内のストレージ・ドライブ204を再分類し、再編成する時が来た場合、方法1000は、ストレージ環境内のストレージ・ドライブ204のエージング、摩耗、オーバープロビジョニングの量、等などの、ドライブ特性を判定する1004。特定の実施形態では、方法1000は、一定の特性が観察されると、ドライブ特性を実際に変更する。例えば、ストレージ・ドライブ204内のオーバープロビジョニングの量が、指定のレベルより下に落ちた場合、方法1000は、論理ストレージ容量を減らし、これにより、ストレージ・ドライブ204のオーバープロビジョニングの量を増加させることができる。
次に、方法1000は、判定した特性に基づいて、ストレージ環境内のストレージ・ドライブ204を再分類する1008。例えば、ストレージ・ドライブ204が一定のエージングに達した場合、方法1000は、パフォーマンス・クラスAからパフォーマンス・クラスBに、またはパフォーマンス・クラスBからパフォーマンス・クラスCに、ストレージ・ドライブ204を再分類することができる1008。別の例では、ストレージ・ドライブ204が一定のエージング、または摩耗の量に達した場合、方法1000は、第1の一日あたりの書込み回数分類から第2の一日あたりの書込み回数分類に、ストレージ・ドライブ204を再分類することができる1008。さらに別の例では、ストレージ・ドライブ204が一定のエージング、または摩耗の量に達した場合、方法1000は、第1の論理ストレージ容量を有することから第2の論理ストレージ容量を有することに、ストレージ・ドライブ204を再分類することができる1008。
次に、方法1000は、ストレージ・ドライブ204を収める一定のストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、一定のワークロードをサポートするストレージ・ドライブ204、等)の要件を判定する1010。例えば、方法1000は、ストレージ環境内のRAIDアレイ304の性能要件を判定することができる。ストレージ・グループの要件、およびストレージ・ドライブ204の分類に基づいて、方法1000は、ストレージ・グループ内のストレージ・ドライブ204を再編成する1012。例えば、方法1000は、より高い性能のRAIDアレイ304またはストレージ階層が、より高いパフォーマンス・クラス(例えば、パフォーマンス・クラスA)のストレージ・ドライブ204を収め、より低い性能のRAIDアレイ304またはストレージ階層が、より低いパフォーマンス・クラスのストレージ・ドライブ204を収めるように、RAIDアレイ304内のストレージ・ドライブ204の再編成を試みることができる1012。特定の実施形態では、これは、ストレージ・ドライブ204間でデータを入れ替えるスマート再構築処理を使用して、RAIDアレイ304またはストレージ階層内のストレージ・ドライブ204を入れ替えることによって達成することができる。
図11を参照して、ストレージ・ドライブ204のパフォーマンス・クラスに基づいてストレージ・ドライブ204を再編成するための方法の1つの実施形態1100を示す。ステップ1102において、ストレージ環境内のストレージ・ドライブ204を再分類し、再編成する時が来た場合、方法1100は、ストレージ環境内のストレージ・ドライブ204のエージングを判定する1104。次に、方法1100は、エージングが指名の閾値に達したストレージ・ドライブ204のパフォーマンス・クラスを下げる1106。例えば、計画ライフスパンが3年のストレージ・ドライブ204は、1年のエージングに達すると、パフォーマンス・クラスAからパフォーマンス・クラスBに下げることができる1106。同じストレージ・ドライブ204は、2年のエージングに達したとき、パフォーマンス・クラスBからパフォーマンス・クラスCに下げることができる1106。
次に、方法1100は、ストレージ環境内の様々なストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、一定のワークロードをサポートするストレージ・ドライブ204、等)の要件を判定する1108。例えば、方法1100は、ストレージ環境内の第1のRAIDアレイ304またはストレージ階層が、より高い性能、およびしたがって、より高い性能のストレージ・ドライブ204を必要とし、ストレージ環境内の第2のRAIDアレイ304またはストレージ階層が、より低い性能のストレージ・ドライブ204を利用できると判定することができる。ストレージ・グループの要件、およびストレージ・ドライブ204の特性に基づいて、方法1100は、ストレージ・グループ内のストレージ・ドライブ204を再編成する1110。例えば、方法1100は、同じパフォーマンス・クラスのストレージ・ドライブ204を同じストレージ・グループ内にできる限り置くことができる。特定の実施形態では、これは、スマート再構築処理を使用して、RAIDアレイ304またはストレージ階層内のストレージ・ドライブ204を入れ替えることによって達成することができる。
特定の実施形態では、再編成ステップ1110は以下のように機能し、ストレージ・ドライブ204のパフォーマンス・クラスに応じてストレージ・ドライブ204が再編成され、ストレージ・ドライブ204がパフォーマンス・クラスA、B、またはCとして分類され、ストレージ・グループがRAID304アレイであると仮定する。再編成ステップ1110は、パフォーマンス・クラスAのストレージ環境内の全てのストレージ・ドライブ204の「カウント」を最初に生成することができる。次に、再編成ステップ1110は、パフォーマンス・クラスAのストレージ・ドライブ204が最も多いストレージ環境内のRAIDアレイ304を見つけることができる。再編成ステップ1110は、RAIDアレイ304内のパフォーマンス・クラスAのストレージ・ドライブ204の数だけ「カウント」を減らす。次に、再編成ステップ1110は、全てのパフォーマンス・クラスAのストレージ・ドライブ204をRAIDアレイ304が収めるまで、スマート再構築処理を使用して、他のRAIDアレイ304からRAIDアレイ304にパフォーマンス・クラスAのストレージ・ドライブ204を入れ替える。再編成ステップ1110は、入れ替えたストレージ・ドライブ204の数だけ「カウント」を減らす。「カウント」がゼロの場合、パフォーマンス・クラスAのストレージ・ドライブ204に対する再編成は停止する。そうでなければ、再編成ステップ1110は、パフォーマンス・クラスAのストレージ・ドライブ204の数が次に多いRAIDアレイ304に対して、または、「カウント」がゼロになるまで、繰り返す。この再編成ステップ1110は、パフォーマンス・クラスBおよびパフォーマンス・クラスCのストレージ・ドライブ204に対して繰り返す。再編成ステップ1110は、同じパフォーマンス・クラスのストレージ・ドライブ204を同じRAIDアレイ304内にできる限り置くことになる。
図12を参照して、ストレージ・ドライブの一日あたりの書込み回数分類に基づいてストレージ・ドライブを再編成するための方法1200の1つの実施形態を示す。ステップ1202において、ストレージ環境内のストレージ・ドライブ204を再分類し、再編成する時が来た場合、方法1200は、ストレージ環境内のストレージ・ドライブ204のエージング、またはオーバープロビジョニングの量、あるいはその両方を判定する1204。次に、方法1200は、エージング、またはオーバープロビジョニングの量が指名の閾値に達したストレージ・ドライブ204の一日あたりの書込み回数分類を下げる1206。例えば、ストレージ・ドライブ204は、ストレージ・ドライブ204が第1のエージング(例えば、1年)、またはオーバープロビジョニングの指定の量(例えば、10パーセント未満のオーバープロビジョニング)に達すると、レベル1の一日あたりの書込み回数分類からレベル2の一日あたりの書込み回数分類に下げることができる1206。同様に、ストレージ・ドライブ204は、ストレージ・ドライブ204が第2のエージング(例えば、2年)に達するか、オーバープロビジョニングの指定の量に再度達すると、レベル2の一日あたりの書込み回数分類からレベル3の一日あたりの書込み回数分類に下げることができる1206。
次に、方法1200は、ストレージ環境内の様々なストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、一定のワークロードをサポートするストレージ・ドライブ204、等)の要件を判定する1208。例えば、方法1200は、ストレージ環境内の第1のRAIDアレイ304またはストレージ階層が、より高い性能、およびしたがって、より高い一日あたりの書込み回数分類のストレージ・ドライブ204を必要とし、ストレージ環境内の第2のRAIDアレイ304またはストレージ階層が、より低い一日あたりの書込み回数分類を有するストレージ・ドライブ204を利用できると判定することができる。ストレージ・グループの要件、およびストレージ・ドライブ204の一日あたりの書込み回数分類に基づいて、方法1200は、ストレージ・グループ内のストレージ・ドライブ204を再編成する1210。例えば、方法1200は、同じ一日あたりの書込み回数分類のストレージ・ドライブ204を同じストレージ・グループ内にできる限り置くことができる。特定の実施形態では、これは、スマート再構築処理を使用して、RAIDアレイ304またはストレージ階層内のストレージ・ドライブ204を入れ替えることによって達成することができる。特定の実施形態では、再編成ステップ1210は、図11に関連して説明した、再編成ステップ1110とほぼ同じ方式で機能することができる。
図13を参照して、ストレージ・ドライブの論理ストレージ容量に基づいてストレージ・ドライブを再編成するための方法の1つの実施形態1300を示す。ステップ1302において、ストレージ環境内のストレージ・ドライブ204を再分類し、再編成する時が来た場合、方法1300は、ストレージ環境内のストレージ・ドライブ204のエージングを判定する1304。次に、方法1300は、ストレージ・ドライブ204のエージングに基づいて、ストレージ・ドライブ204の論理ストレージ容量の適切な減少、およびオーバープロビジョニングの量の増加を判定する1306。新たに判定した論理ストレージ容量に収容可能なものを超えるデータの量を、ストレージ・ドライブ204が収める場合、方法1300は、ストレージ・ドライブ204から別の位置にデータを移動させる1308。次に、ストレージ・ドライブ204は、解放した論理ストレージ容量をオーバープロビジョニングに充てるように再構成することができる。次に、方法1300は、ステップ1306で判定した量に応じて、ストレージ・ドライブ204内の論理ストレージ容量を減少させ1310、オーバープロビジョニングの量を増加させる1310。
次に、方法1300は、ストレージ・グループ(例えば、RAIDアレイ304、ストレージ階層、等)内のストレージ・ドライブ204を再編成する1312。例えば、方法1300は、同じ論理ストレージ容量のストレージ・ドライブ204を同じストレージ・グループ内にできる限り置くことができる。特定の実施形態では、これは、スマート再構築処理を使用して、ストレージ・グループ内のストレージ・ドライブ204を入れ替えることによって達成することができる。特定の実施形態では、再編成ステップ1312は、図11および図12に関連して説明した再編成ステップ1110、1210とほぼ同じ方式で機能することができる。
図中の流れ図またはブロック図あるいはその両方は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ使用可能媒体の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、流れ図またはブロック図の各ブロックは、コードのモジュール、セグメント、または一部を表すことができ、コードは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む。いくつかの代替実装形態では、ブロックに記された機能は、図に記された順序とは異なる順序で発生してもよいことにも留意されたい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行してもよく、または、ブロックは、時には、含まれる機能に応じて逆の順序で実行してもよい。ブロック図または流れ図あるいはその両方の各ブロック、およびブロック図または流れ図あるいはその両方のブロックの組合せは、指定の機能もしくは動作を実行する専用ハードウェア・ベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実施できることにも留意されたい。

Claims (20)

  1. 複数のストレージ・ドライブ内の論理ストレージ容量を動的に変化させるための方法であって、
    複数のストレージ・ドライブの特性をストレージ環境内で監視することであって、各ストレージ・ドライブが、前記ストレージ・ドライブに関連付けられたオーバープロビジョニングの量を有する、監視することと、
    前記特性に基づいて、オーバープロビジョニングの前記量を変化させるために、前記ストレージ・ドライブの論理ストレージ容量を変更すること、および
    前記論理ストレージ容量に基づいて、様々なストレージ・グループ内の前記ストレージ・ドライブを再編成すること
    を周期的に実行することと
    を含む、方法。
  2. 前記ストレージ・グループが、RAIDアレイである、請求項1に記載の方法。
  3. 前記ストレージ・グループが、階層化したストレージ環境におけるストレージ階層である、請求項1に記載の方法。
  4. 前記ストレージ・グループが、一定のI/Oワークロードをサポートするように構成されたストレージ・ドライブのグループである、請求項1に記載の方法。
  5. 特性を監視することが、前記ストレージ・ドライブのエージングを監視することを含む、請求項1に記載の方法。
  6. 特性を監視することが、前記ストレージ・ドライブの摩耗を監視することを含む、請求項1に記載の方法。
  7. 前記ストレージ・ドライブを再編成することが、同じ論理ストレージ容量のストレージ・ドライブを同じストレージ・グループ内にできる限り置くことを含む、請求項1に記載の方法。
  8. 複数のストレージ・ドライブ内の論理ストレージ容量を動的に変化させるためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、コンピュータ使用可能プログラム・コードを具現化したコンピュータ可読媒体を備え、前記コンピュータ使用可能プログラム・コードが、少なくとも1つのプロセッサによって実行されると、
    複数のストレージ・ドライブの特性をストレージ環境内で監視することであって、各ストレージ・ドライブが、前記ストレージ・ドライブに関連付けられたオーバープロビジョニングの量を有する、監視することと、
    前記特性に基づいて、オーバープロビジョニングの前記量を変化させるために、前記ストレージ・ドライブの論理ストレージ容量を変更すること、および
    前記論理ストレージ容量に基づいて、様々なストレージ・グループ内の前記ストレージ・ドライブを再編成すること
    を周期的に実行することと
    を実行するように構成される、コンピュータ・プログラム製品。
  9. 前記ストレージ・グループが、RAIDアレイである、請求項8に記載のコンピュータ・プログラム製品。
  10. 前記ストレージ・グループが、階層化したストレージ環境におけるストレージ階層である、請求項8に記載のコンピュータ・プログラム製品。
  11. 前記ストレージ・グループが、一定のI/Oワークロードをサポートするように構成されたストレージ・ドライブのグループである、請求項8に記載のコンピュータ・プログラム製品。
  12. 特性を監視することが、前記ストレージ・ドライブのエージングを監視することを含む、請求項8に記載のコンピュータ・プログラム製品。
  13. 特性を監視することが、前記ストレージ・ドライブの摩耗を監視することを含む、請求項8に記載のコンピュータ・プログラム製品。
  14. 前記ストレージ・ドライブを再編成することが、同じ論理ストレージ容量のストレージ・ドライブを同じストレージ・グループ内にできる限り置くことを含む、請求項8に記載のコンピュータ・プログラム製品。
  15. 複数のストレージ・ドライブ内の論理ストレージ容量を動的に変化させるためのシステムであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに連結され、前記少なくとも1つのプロセッサ上での実行のための命令を格納する少なくとも1つのメモリ・デバイスとを備え、前記命令が、
    複数のストレージ・ドライブの特性をストレージ環境内で監視することであって、各ストレージ・ドライブが、前記ストレージ・ドライブに関連付けられたオーバープロビジョニングの量を有する、監視することと、
    前記特性に基づいて、オーバープロビジョニングの前記量を変化させるために、前記ストレージ・ドライブの論理ストレージ容量を変更すること、および
    前記論理ストレージ容量に基づいて、様々なストレージ・グループ内の前記ストレージ・ドライブを再編成すること
    を周期的に実行することと
    を前記少なくとも1つのプロセッサに行わせる、システム。
  16. 前記ストレージ・グループが、RAIDアレイである、請求項15に記載のシステム。
  17. 前記ストレージ・グループが、階層化したストレージ環境におけるストレージ階層である、請求項15に記載のシステム。
  18. 前記ストレージ・グループが、一定のI/Oワークロードをサポートするように構成されたストレージ・ドライブのグループである、請求項15に記載のシステム。
  19. 特性を監視することが、前記ストレージ・ドライブのエージングおよび前記ストレージ・ドライブの摩耗の少なくとも1つを監視することを含む、請求項15に記載のシステム。
  20. 前記ストレージ・ドライブを再編成することが、同じ論理ストレージ容量のストレージ・ドライブを同じストレージ・グループ内にできる限り置くことを含む、請求項15に記載のシステム。
JP2021575890A 2019-06-27 2020-06-11 ストレージ・ドライブの動的な論理ストレージ容量調節 Active JP7459146B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/454,048 2019-06-27
US16/454,048 US11137915B2 (en) 2019-06-27 2019-06-27 Dynamic logical storage capacity adjustment for storage drives
PCT/IB2020/055493 WO2020261023A1 (en) 2019-06-27 2020-06-11 Dynamic logical storage capacity adjustment for storage drives

Publications (2)

Publication Number Publication Date
JP2022537760A true JP2022537760A (ja) 2022-08-29
JP7459146B2 JP7459146B2 (ja) 2024-04-01

Family

ID=74042860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021575890A Active JP7459146B2 (ja) 2019-06-27 2020-06-11 ストレージ・ドライブの動的な論理ストレージ容量調節

Country Status (6)

Country Link
US (1) US11137915B2 (ja)
JP (1) JP7459146B2 (ja)
CN (1) CN113811862A (ja)
DE (1) DE112020003062T5 (ja)
GB (1) GB2600042B (ja)
WO (1) WO2020261023A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494103B2 (en) * 2019-08-02 2022-11-08 EMC IP Holding Company LLC Memory-efficient processing of RAID metadata bitmaps
US11593189B1 (en) * 2022-01-14 2023-02-28 Dell Products L.P. Configuring new storage systems based on write endurance

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015052811A1 (ja) * 2013-10-10 2015-04-16 株式会社日立製作所 ストレージシステムおよびデータ記憶方法
US20160092121A1 (en) * 2014-09-26 2016-03-31 Hewlett-Packard Development Company, L.P. Unmap storage space
JP2017162260A (ja) * 2016-03-10 2017-09-14 株式会社東芝 メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
US10082965B1 (en) * 2016-06-30 2018-09-25 EMC IP Holding Company LLC Intelligent sparing of flash drives in data storage systems
US20180284997A1 (en) * 2016-06-30 2018-10-04 EMC IP Holding Company LLC Arranging ssd resources based on estimated endurance

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802064B2 (en) 2006-03-31 2010-09-21 Mosaid Technologies Incorporated Flash memory system control scheme
US8429677B2 (en) 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
CN101452369B (zh) 2007-11-29 2012-01-25 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
US9652352B1 (en) 2011-03-08 2017-05-16 EMC IP Holding Company LLC Techniques for storage capacity configuration
EP2715510B1 (en) 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
US9298603B2 (en) 2011-09-09 2016-03-29 OCZ Storage Solutions Inc. NAND flash-based storage device and methods of using
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US20140052925A1 (en) 2012-08-17 2014-02-20 Dell Products L.P. System and method for write-life extension of storage resources
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
CN103827804B (zh) 2012-09-21 2016-08-03 株式会社东芝 在物理区块间拷贝数据的磁盘阵列装置、磁盘阵列控制器以及方法
US9141532B2 (en) 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9747034B2 (en) 2013-01-15 2017-08-29 Xiotech Corporation Orchestrating management operations among a plurality of intelligent storage elements
US9235486B1 (en) 2013-09-30 2016-01-12 Symantec Corporation Techniques for spare storage pool management
CA2867589A1 (en) 2013-10-15 2015-04-15 Coho Data Inc. Systems, methods and devices for implementing data management in a distributed data storage system
US9916096B2 (en) * 2014-02-05 2018-03-13 International Business Machines Corporation Increasing data storage capacity
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
US9760482B2 (en) 2014-10-28 2017-09-12 Toshiba Memory Corporation Reconstruct drive for dynamic resizing
US9846541B2 (en) 2014-12-11 2017-12-19 Toshiba Memory Corporation Memory system for controlling perforamce by adjusting amount of parallel operations
US20160328179A1 (en) 2015-05-08 2016-11-10 Micron Technology, Inc. Multiple virtually over-provisioned, virtual storage devices created from a single physical storage device
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
KR102401600B1 (ko) 2015-08-31 2022-05-25 삼성전자주식회사 데이터 양에 기초하여 복수의 데이터 스트림을 관리하도록 구성되는 스토리지 장치
US10296232B2 (en) 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
JP6515752B2 (ja) 2015-09-07 2019-05-22 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
US9921912B1 (en) 2015-09-30 2018-03-20 EMC IP Holding Company LLC Using spare disk drives to overprovision raid groups
US11385797B2 (en) 2015-10-05 2022-07-12 Micron Technology, Inc. Solid state storage device with variable logical capacity based on memory lifecycle
US9858148B2 (en) 2015-11-22 2018-01-02 International Business Machines Corporation Raid data loss prevention
CA2957584A1 (en) 2016-02-12 2017-08-12 Coho Data, Inc. Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
US9524111B1 (en) 2016-03-07 2016-12-20 FittedCloud, Inc. Devices, systems, apparatus, and methods for transparent and automated optimization of storage resource allocation in a cloud services system
US10410738B2 (en) * 2016-03-15 2019-09-10 Toshiba Memory Corporation Memory system and control method
US20170277629A1 (en) 2016-03-25 2017-09-28 Alibaba Group Holding Limited Extending the useful lifespan of nonvolatile memory
US10324633B2 (en) 2016-03-31 2019-06-18 EMC IP Holding Company LLC Managing SSD write quotas in data storage systems
US9830107B2 (en) 2016-04-29 2017-11-28 Netapp, Inc. Drive wear-out prediction based on workload and risk tolerance
US9842060B1 (en) * 2016-07-13 2017-12-12 Seagate Technology Llc Cache over-provisioning in a data storage device
US9818476B1 (en) 2016-07-25 2017-11-14 Samsung Electronics Co., Ltd. Reprogram without erase using capacity in multi-level NAND cells
JP6870246B2 (ja) 2016-09-07 2021-05-12 富士通株式会社 ストレージ装置、及びストレージ制御装置
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10284231B2 (en) 2017-06-01 2019-05-07 Seagate Technology, Llc Adaptive outer code for consistent overprovisioning (OP) level
CN109213618B (zh) 2017-06-30 2022-04-12 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN107515731B (zh) 2017-07-31 2019-12-24 华中科技大学 一种基于固态盘的进化存储系统及其工作方法
US20190044809A1 (en) 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US10726930B2 (en) 2017-10-06 2020-07-28 Western Digital Technologies, Inc. Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data
US10642517B2 (en) 2018-02-02 2020-05-05 Western Digital Technologies, Inc. Adjustable performance parameters for SSDs
US11132133B2 (en) * 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015052811A1 (ja) * 2013-10-10 2015-04-16 株式会社日立製作所 ストレージシステムおよびデータ記憶方法
US20160092121A1 (en) * 2014-09-26 2016-03-31 Hewlett-Packard Development Company, L.P. Unmap storage space
JP2017162260A (ja) * 2016-03-10 2017-09-14 株式会社東芝 メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
US10082965B1 (en) * 2016-06-30 2018-09-25 EMC IP Holding Company LLC Intelligent sparing of flash drives in data storage systems
US20180284997A1 (en) * 2016-06-30 2018-10-04 EMC IP Holding Company LLC Arranging ssd resources based on estimated endurance

Also Published As

Publication number Publication date
CN113811862A (zh) 2021-12-17
US11137915B2 (en) 2021-10-05
GB2600042A (en) 2022-04-20
US20200409568A1 (en) 2020-12-31
GB2600042B (en) 2023-02-08
DE112020003062T5 (de) 2022-03-17
WO2020261023A1 (en) 2020-12-30
JP7459146B2 (ja) 2024-04-01

Similar Documents

Publication Publication Date Title
US7702852B2 (en) Storage system for suppressing failures of storage media group
US9448735B1 (en) Managing storage device rebuild in data storage systems
US8341349B2 (en) System and method for loose coupling between raid volumes and drive groups
US20200394112A1 (en) Reducing incidents of data loss in raid arrays of differing raid levels
US11157361B2 (en) Efficient utilization of storage space in arrays of storage drives
JP7459146B2 (ja) ストレージ・ドライブの動的な論理ストレージ容量調節
US10929037B2 (en) Converting a RAID to a more robust RAID level
US10768822B2 (en) Increasing storage capacity in heterogeneous storage arrays
US11748196B2 (en) Adaptive parity rotation for redundant arrays of independent disks
US11442826B2 (en) Reducing incidents of data loss in raid arrays having the same raid level
US20180307418A1 (en) Dynamic background copy agent allocation
US11074118B2 (en) Reporting incidents of data loss in RAID arrays
US10592156B2 (en) I/O load balancing between virtual storage drives making up raid arrays
JP7486531B2 (ja) ストレージ・ドライブの動的な一日あたりの書込み回数調節
JP2022538028A (ja) ストレージ・ドライブの動的パフォーマンス・クラス調節
US11513712B2 (en) Method for storage management, device and computer program product
US10175888B2 (en) Performance-balanced heterogeneous raid
US10761943B2 (en) Multi-section full volume backups
US10664188B2 (en) Data set allocations taking into account point-in-time-copy relationships
US10866752B2 (en) Reclaiming storage space in raids made up of heterogeneous storage drives

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240319

R150 Certificate of patent or registration of utility model

Ref document number: 7459146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150