JP2001290746A - I/o要求に優先順位を与える方法 - Google Patents

I/o要求に優先順位を与える方法

Info

Publication number
JP2001290746A
JP2001290746A JP2001075172A JP2001075172A JP2001290746A JP 2001290746 A JP2001290746 A JP 2001290746A JP 2001075172 A JP2001075172 A JP 2001075172A JP 2001075172 A JP2001075172 A JP 2001075172A JP 2001290746 A JP2001290746 A JP 2001290746A
Authority
JP
Japan
Prior art keywords
request
host
data
raid
priority
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
JP2001075172A
Other languages
English (en)
Other versions
JP2001290746A5 (ja
JP4922496B2 (ja
Inventor
K Anberger David
デヴィッド・ケー・アンバーガー
D Daniels Roger
ロジャー・ディー・ダニエルズ
Beruhaji Mohamed
モハメド・ベルハジ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001290746A publication Critical patent/JP2001290746A/ja
Publication of JP2001290746A5 publication Critical patent/JP2001290746A5/ja
Application granted granted Critical
Publication of JP4922496B2 publication Critical patent/JP4922496B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】再構築中のホストのI/Oパフォーマンスおよ
び記憶アレイの可用性を向上させる。 【解決手段】I/O要求に優先順位をつけることによ
り、ホストI/Oパフォーマンスおよび記憶アレイの可
用性が向上する。一実施形態においては、記憶アレイが
永久的にデータを失いつつあるとき(たとえば、さらに
もう1つの所定のディスクの故障により、データが失わ
れる結果となるとき)、再構築I/O要求に、ホストI
/O要求に対する優先権が与えられる。記憶アレイがも
はや永久的にデータを失いつつある状態でなくなるま
で、再構築I/O要求はホストI/O要求に対する優先
権を持ち、永久的にデータを失いつつある状態でなくな
ったとき、ホストI/O要求に、再構築I/O要求に対
する優先権が与えられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶アレイに関
し、より具体的には、本発明は、I/O要求に優先順位
を与えて、再構築中におけるホストのI/Oパフォーマ
ンスおよび記憶アレイの可用性を向上させることに関す
る。
【0002】
【従来の技術】従来からのディスクアレイデータ記憶シ
ステムは、単一の大容量記憶システムを形成するよう配
置され調整された複数の記憶ディスクドライブ装置を有
している。大容量記憶システムの一般的な設計目的に
は、メガバイト単位の低コスト、高い入出力パフォーマ
ンス、および高いデータ可用性が含まれる。データ可用
性は、ディスクまたは他のコンポーネントが故障した場
合に動作の継続を保証しつつ、記憶システムに格納され
たデータにアクセスすることができる能力を含む。デー
タ可用性は、データまたはデータ間の関係を記憶システ
ムの複数の場所に格納するといった冗長性を使用するこ
とによって提供されることが多い。ディスクが故障した
場合、冗長データが、システムの動作可能な部分から検
索され、コンポーネントの故障に起因して失われた元の
データを再生するのに使用される。
【0003】ディスクドライブに冗長データを格納する
2つの一般的な方法がある。すなわち、ミラーリングお
よびパリティである。ミラーリングの冗長性では、格納
されるデータは複製され、記憶システムの同じサイズの
2つの別々の領域(元のデータの記憶領域および冗長デ
ータの記憶領域)に格納される。パリティの冗長性で
は、元のデータは元のデータの記憶領域に格納され、冗
長データは冗長データの記憶領域に格納されるが、冗長
データはパリティデータのみであるので、冗長データの
記憶領域のサイズは元のデータの記憶領域のサイズより
小さい。
【0004】RAID(Redundant Arra
y of IndependentDisks)記憶シ
ステムは、冗長データを格納するために物理記憶容量の
一部が使用されるディスクアレイシステムである。一般
に、RAIDシステムは、頭文字RAIDのもとで示さ
れる7つのアーキテクチャすなわちレベルのうちの1で
特徴付けられる。RAID0アーキテクチャは、いかな
る冗長性もなく構成されているディスクアレイシステム
である。このアーキテクチャは、実際には冗長アーキテ
クチャではないため、RAID0はしばしばRAIDシ
ステムの議論からは省かれる。
【0005】RAID1アーキテクチャは、ミラーリン
グの冗長性に従って構成された記憶ディスクを含む。元
のデータはディスクのあるセットに格納され、そのデー
タの複製コピーは別のディスクに保持される。RAID
2〜RAID6アーキテクチャは、すべてパリティタイ
プの冗長記憶を伴う。特に、RAID5アーキテクチャ
は、ディスクのすべてにわたってデータおよびパリティ
情報を分散させる。一般に、ディスクは、「ブロック」
と呼ばれる等しいサイズのアドレス領域に分割される。
同じユニットアドレス範囲を有するそれぞれのディスク
からの一組のブロックを、「ストライプ」と呼ぶ。RA
ID5において、それぞれのストライプは、Nブロック
のデータと、そのNブロックにおけるデータについての
冗長情報を含む1つのパリティブロックと、を有してい
る。
【0006】RAID5において、パリティブロック
は、ストライプごとに異なるディスクを循環する。例え
ば、5つのディスクを有するRAID5アーキテクチャ
において、第1のストライプのパリティブロックは5番
目のディスクにあり、第2のストライプのパリティブロ
ックは4番目のディスクにあり、第3のストライプのパ
リティブロックは3番目のディスクにある、等である。
後に続くストライプのパリティブロックは、一般に、螺
旋パターン(他のパターンも可能であるが)でディスク
ドライブを循環する(これを、「precess」と呼ぶ)。
RAID2〜RAID4アーキテクチャは、どのように
してパリティブロックをディスクに配置するかにおいて
RAID5と異なっている。
【0007】RAID6アーキテクチャは、データがス
トライプ化されているという点でRAID4および5と
同様であるが、元のデータに対し2つの独立した別個の
パリティ値(本明細書では、PおよびQと呼ぶ)を利用
するという点で異なっている。Pパリティは、一般に、
元のデータのすべてのディスクからのストライプにおい
て、対応するデータ・チャンク(ひとかたまりのデー
タ)のビット毎の排他的論理和関数を使用して計算され
る。これは、1つの方程式の1つの未知数の積和演算に
対応する。一方、Qパリティは、Pとは無関係に、積和
演算に対して異なるアルゴリズムを使用して線形に計算
される。その結果、各パリティ値は独立したアルゴリズ
ムを使用して計算され、それぞれ別個のディスクに格納
される。したがって、RAID6システムは、ストライ
プにおいて2つの別々のディスクが故障した場合であっ
てもデータを再構築することができるが(再構築空間が
使用可能であると仮定する)、RAID5システムは、
ストライプにおいて1つのディスクが故障した場合にの
みデータを再構築することができる。
【0008】RAID5と同様に、RAID6アーキテ
クチャは、2つのパリティブロックを、ストライプにお
けるデータ記憶装置のすべてにわたって分散させる。す
なわち、N+2個のデータ記憶装置のストライプにおい
て、各ストライプは、Nブロックの元のデータと2ブロ
ックの独立したパリティデータとを有する。パリティデ
ータ・ブロックのうちの一方は、N+2個のデータ記憶
装置のうちの1つに格納され、パリティデータ・ブロッ
クのうちの他方は、N+2個のデータ記憶装置のうちの
別のものに格納される。RAID5と同様に、RAID
6におけるパリティブロックは、ストライプごとに異な
るディスクを循環される。例えば、所定のストライプに
おいて5つのデータ記憶装置を使用するRAID6シス
テムにおいて、ブロックの第1のストライプのパリティ
ブロックは、4番目と5番目の装置に書込まれ、ブロッ
クの第2のストライプのパリティブロックは、3番目と
4番目の装置に書込まれ、ブロックの第3のストライプ
のパリティブロックは、2番目と3番目の装置に書込ま
れる、等である。一般に、この場合も、次に続くブロッ
クについてのパリティブロックの場所は、他のパターン
も使用可能であるが、そのストライプにおける次の論理
装置にシフトする。
【0009】階層型データ記憶システムにより、異なる
技術に従ってデータを格納することができる。階層型R
AIDシステムでは、冗長性技術の利点と欠点との間の
トレードオフを可能にするために、データは、RAID
1およびRAID5等の複数のRAIDアーキテクチャ
に従って格納されることができる。
【0010】さらに、データ記憶システムは、データ
が。システム内に同時に存在している複数の冗長グルー
プに格納されることを可能にする。RAIDシステムで
は、それぞれの冗長グループは、同じRAIDアーキテ
クチャ(または、階層型RAIDシステムについての複
数のRAIDアーキテクチャ)を使用して冗長性を提供
する、該RAIDシステムにおける一組のディスクであ
る。例として、合計30個のディスクを有するRAID
システムにおいて、10個のディスクは、第1のRAI
Dアーキテクチャを使用して(例えばRAID1を使用
して)第1の冗長グループにいることができ、他の12
個のディスクは、第2のRAIDアーキテクチャを使用
して(例えば、RAID1およびRAID5を使用し
て)第2の冗長グループにいることができ、残りの8個
のディスクは、第3のRAIDアーキテクチャを使用し
て(例えばRAID1およびRAID6を使用して)第
3の冗長グループにいることができる。
【0011】「Memory Systems wit
h Data Storage Redundancy
Management」と題されたJacobson
等の米国特許第5,392,244号は、データ記憶状
態および空間要求が変化した場合にデータを1つのRA
IDタイプから他のRAIDタイプに移行させることが
できる階層型RAIDシステムを記述している。この特
許(ヒューレット・パッカード社に譲渡されている)
は、物理的記憶空間が、ミラーリングおよびパリティR
AID領域(例えば、RAID1およびRAID5)を
有するRAIDレベルの仮想記憶空間にマップされるマ
ルチレベルRAIDアーキテクチャを記述している。R
AIDレベルの仮想記憶空間は、アプリケーションレベ
ルの仮想記憶空間にマップされる。このアプリケーショ
ンレベルの仮想記憶空間は、ユーザに対し、記憶空間
を、1つの大きい連続してアドレス指定可能な空間とし
て示すものである。動作中、ユーザの記憶要求がアプリ
ケーションレベルの仮想空間で変化すると、データは、
その変化に適応するために、RAIDレベル仮想空間に
おいてミラーリングRAID領域とパリティRAID領
域との間で移行することができる。例えば、ミラーリン
グ冗長性に従っていったん格納されたデータは、シフト
されて、パリティ冗長性を使用して格納されることがで
き、またその逆も可能である。さらなる背景技術の情報
を提供するため、この米国特許第5,392,244号
を参照によりこの明細書に取り入れる。
【0012】
【発明が解決しようとする課題】RAIDシステムにお
いてディスクが故障した場合、アレイにおけるデータは
「再構築」される。これは一般に、ディスクアレイに対
し複数の読出しおよび/または書込み要求を発行するこ
とを含むプロセスである。また一般に、RAIDシステ
ムは、この再構築プロセス中、ホストコンピュータから
の読出しおよび書込み要求に対して使用可能である。し
かしながら、これらのホスト要求は、しばしば再構築要
求によって使用されるものと同じリソース(資源)にア
クセスする必要があり、そのため再構築要求と競合す
る。
【0013】システムによっては、ホスト要求および再
構築要求の間のこのような競合は、常に再構築要求を優
先してホスト要求を遅延させる(その結果、記憶アレイ
のデータがより迅速に再構築され、記憶アレイが永久的
にデータを失いつつある場合でなくても、ホスト要求に
応答するシステムのパフォーマンスが低下する)か、ま
たは、常にホスト要求を優先して再構築要求を遅延させ
る(その結果、ホスト要求に応答するシステムのパフォ
ーマンスは低下しないが、記憶アレイが永久的にデータ
を失いつつある場合であっても、記憶アレイのデータの
再構築に非常に長い時間がかかる可能性がある)ことに
よって、解決される。記憶アレイは、例えば記憶アレイ
のもう1つの所定のディスクの故障によってデータが失
われる結果となるときに、永久的にデータを失いつつあ
る。
【0014】後述されるが、I/O要求に優先順位を与
えることによる、再構築中のホストのI/Oパフォーマ
ンスおよび記憶アレイの可用性の向上は、これらおよび
他の欠点を解決しようとするものである。
【0015】
【課題を解決するための手段】入出力(I/O)要求に
優先順位を与えることにより、再構築中におけるホスト
のI/Oパフォーマンスおよび記憶アレイの可用性を向
上することが開示される。
【0016】この発明の1つの側面によると、I/O要
求に優先順位を与える方法が提供され、該方法は、記憶
アレイが永久的にデータを失いつつあることを識別する
ステップと、記憶アレイが永久的にデータを失いつつあ
ることが識別されことに応答して、該記憶アレイの少な
くとも一部を再構築するI/O要求に、ホストのI/O
要求に対する優先権を与えるステップとを含む。
【0017】この発明の1つの側面によると、記憶アレ
イが永久的にデータを失いつつある(例えば、記憶アレ
イにおけるもう1つの所定のディスクの故障によってデ
ータが失われる結果となる)とき、再構築I/O要求
に、ホストI/O要求に対する優先権が与えられる。記
憶アレイが永久的にデータを失いつつある状態でなくな
るまで、再構築I/O要求はホストI/O要求に対する
優先権を有し続け、上記状態でなくなった時点で、ホス
トI/O要求に、再構築I/O要求に対する優先権が与
えられる。
【0018】この発明の他の側面によると、ホストI/
O要求および再構築I/O要求は、共に処理を待つため
に待ち行列に入力される。再構築I/O要求が優先権を
有する時(例えば、「再構築優先」モードの時)、新た
なI/O要求(ホストまたは再構築に関わらず)は、待
ち行列の最下位に入力されて該待ち行列の最上位に向か
って伝搬され、そこで先入れ先出し(FIFO)方式で
処理される。しかしながら、ホストI/O要求が優先権
を有する(例えば、「ホスト優先」モードである)時、
新たな再構築I/O要求は待ち行列の最下位に入力さ
れ、新たなホストI/O要求は、該待ち行列の他のすべ
てのホストI/O要求より下であるがすべての再構築I
/O要求より上に挿入される。これは、ホスト優先モー
ドの場合はホストI/O要求が再構築I/O要求の前に
処理されるが、再構築優先モードの場合はホストI/O
要求および再構築I/O要求が受け取られた順序で処理
される(その結果、ホストI/O要求よりも再構築I/
Oモードに対し、より多くのシステムリソースが割当て
られる)、という効果を有する。
【0019】この発明の他の側面によると、再構築I/
O要求が、ホストI/O要求に対する優先権を有すると
き、ホストI/O要求に対する1つまたは複数のシステ
ムリソースの割当てが制限される。この場合、ホストI
/O要求によるシステムリソースの使用が閾値量を超え
ない限り、I/O要求(ホストまたは再構築に関わら
ず)は、受け取られた順序で処理される。閾値量を超え
ると、再構築I/O要求がホストI/O要求よりも前に
処理される。
【0020】この発明の他の側面によると、I/O要求
(ホストまたは再構築に関わらず)の処理は複数の段階
で発生する。より優先順位が高い方を優先するように、
ある所定の要求の処理は、2つの段階の間で割り込みを
かけられることができる。例として、再構築優先モード
の時に新たな再構築I/O要求が受け取られた場合、ホ
ストI/O要求の処理に割り込みをかけて、該再構築I
/O要求の処理を可能にすることができる。
【0021】
【発明の実施の形態】図1は、入出力(I/O)インタ
ーフェースバス26を介してデータ記憶システム24に
接続されたホストコンピュータ22を備えるコンピュー
タシステム20を示す。ホストコンピュータ22は、例
えばサーバまたはワークステーションとして構成される
ことができる汎用コンピュータである。コンピュータ2
2は、表示装置28と、中央処理装置(CPU)30
と、キーボード32と、マウス34と、を有する。ま
た、プリンタ、テープドライブ、CD−ROMドライ
ブ、ネットワークインターフェース等、他のデータ入力
および出力周辺装置を含んでもよい。図1において、ホ
ストコンピュータ22は、ネットワーク36に接続され
ることにより、データ記憶システム24から1つまたは
複数のクライアント(図示せず)にデータを提供する。
【0022】データ記憶システム24は、ユーザデータ
および他の情報を保持するよう構成された記憶アレイを
表す。1つの実施形態によると、データ記憶システム2
4は、異なるおよび/または複数の冗長方式に従ってデ
ータを格納することができる階層型RAIDシステムで
ある。ホストコンピュータ22は、診断の実行、パフォ
ーマンスの評価、動作パラメータの設定のように、管理
者または他のユーザがRAID記憶システムを管理する
ためのインターフェースを提供する。説明を簡単にする
ため、本明細書ではデータ記憶システム24をRAID
システムとして述べるが、代替的に他のタイプの記憶ア
レイを使用することも可能である。
【0023】図2は、ホストコンピュータ22およびデ
ータ記憶システム24をより詳細に示す。コンピュータ
22は、プロセッサ40と、揮発性メモリ(すなわち、
RAM)42と、キーボード32と、マウス34と、不
揮発性メモリ(例えば、ROM、ハードディスク、フロ
ッピー(登録商標)ディスク、CD−ROM、DVD
等)44と、表示装置28と、を有する。管理モジュー
ル46は、メモリ44に格納されており、プロセッサ4
0上で実行される。管理モジュール46は、データ記憶
システム24の種々のパラメータを設定することができ
ると共に、診断、パフォーマンス審査、容量分析等の管
理機能を提供する。管理モジュール46は、表示装置2
8に視覚的なインターフェースを提供する記憶マネージ
ャ・ユーザインターフェース(UI)48をサポートす
る。管理者は、後により詳細に説明するように、UI4
8を介して、データ記憶システム24の種々のパラメー
タを変更することにより、再構築I/O要求対ホストI
/O要求に与えられる優先権を制御することができる。
【0024】データ記憶システム24は、複数の記憶デ
ィスク52、ディスクアレイコントローラ54aと54
b、およびRAID管理システム56を備えたディスク
アレイ50を含む。本明細書で使用される「ディスク」
は、あらゆる大容量記憶装置、一般的には不揮発性でラ
ンダムアクセス可能な、再書込み可能の大容量記憶装置
を言う。ディスクには、不揮発性電子記憶素子(例え
ば、PROM、EPROM、EEPROM等)だけでな
く、磁気ディスクおよび光ディスクが含まれる。
【0025】ディスクアレイコントローラ54aおよび
54bは、スカジー(SCSI)のような、1つまたは
複数のインターフェースバス58を介して、ディスクア
レイ50に連結されている。RAID管理システム56
は、インターフェースプロトコル60を介してディスク
アレイコントローラ54aおよび54bに連結されてい
る。RAID管理システム56を、ソフトウェア、ファ
ームウェア、ハードウェアまたはそれらの組合せによっ
て具現化することができるということに注意されたい。
さらに、RAID管理システム56を、別個のコンポー
ネント(図示せず)として、またはディスクアレイコン
トローラ54aおよび54b内に、またはホストコンピ
ュータ22内に具現化することもできるということに注
意されたい。1つの実施形態によると、RAID管理シ
ステム56は、データ記憶システム24の処理装置上
で、またはコンピュータ22のプロセッサ40上で実行
されるソフトウェアモジュールである。代替的に、RA
ID管理システム56は、他の処理装置によって実行さ
れることができ、またはファームウェアにおいて具現化
されることができ、またはハードウェア(例えば、AS
IC)において具現化されることができる。
【0026】ディスクアレイコントローラ54aおよび
54bは、ディスクアレイ50へのデータの転送および
ディスクアレイ50からのデータの転送を調整する。1
つまたは複数の冗長グループをディスクアレイ50上で
実現することができ、1つまたは複数のRAIDアーキ
テクチャレベルを、それぞれの冗長グループにおいて実
現することができる。図2において、ディスクアレイコ
ントローラ54aおよび54bは、まったく同じコント
ローラボードである。この並列なコントローラは、一方
のコントローラが動作不能となった場合に連続したバッ
クアップおよび冗長性を提供することにより、信頼性を
向上させる。並列のディスクアレイコントローラ54a
および54bは、リンク64を介してそれぞれのミラー
リングされたメモリ62aおよび62bを有している。
1つの実施形態によると、ミラーリングされたメモリ6
2aおよび62bは、バッテリーバックアップ式不揮発
性RAM(NVRAM)であるが、代替的に他のタイプ
のメモリを使用することもできる。ミラーリングされた
メモリ62aおよび62bは、ディスクアレイ50にお
ける記憶空間のメモリマップ、ディスクアレイ50から
読み出されているデータのための読出しキャッシュ、デ
ィスクアレイ50に書き込まれる前のデータのための書
込みキャッシュのような、数種類の情報を格納する。図
2には二重ディスクアレイコントローラ54aおよび5
4bが示されているが、3つ以上のコントローラが使用
されるマルチコントローラ構成、または代替的にシング
ルコントローラ構成のような、異なる構成を使用するこ
ともできる。
【0027】RAID管理システム56は、要求待ち行
列66、待ち行列コントローラ68、優先順位識別部7
0、要求ディスパッチャ72、再構築コントローラ74
および要求プロセッサ76を含む。再構築コントローラ
74は、1つまたは複数のディスク52が故障した場合
に、ディスクアレイ50によって維持される1つまたは
複数のRAIDアーキテクチャレベルのいずれかにおけ
るデータの再構築を管理する。ディスク52の故障は、
ディスク自体の問題またはディスクのアクセスに使用さ
れるコンポーネント(例えば、バス)の問題に起因し
て、ディスク52全体またはディスク52の一部がアク
セス不能になることを示す。ディスク故障の検出は当業
者にとって周知であるため、本発明に関連する部分を除
いてこれ以上の説明は省略する。
【0028】ディスクアレイ50に異なるRAIDレベ
ルが格納されることができることに起因して、異なるデ
ィスクが故障すると、異なるRAIDレベルが再構築さ
れることとなる場合がある。記憶アレイのデータが再構
築される方法は、故障の原因、アレイに採用されるRA
IDレベル、冗長グループにおけるディスクの数のよう
な多くの要因に依存して変わる。アレイにおいてデータ
を再構築する例としては、故障したディスクが使用され
ないように他のディスクおよび/またはRAIDレベル
にデータを移行させること、新たにインストールされた
ディスクにデータをコピーする(または書込むべきデー
タを判断してそのデータを書込む)こと、指定されたバ
ックアップまたはスペアディスクにデータを書込むこ
と、が含まれる。いずれにしても、RAIDレベルの再
構築は、典型的には、ディスクアレイ50からのデータ
の読出しおよび/またはディスクアレイ50へのデータ
の書込みを含む。さらに、再構築プロセスは、故障の検
出に応じて自動的に実行されることができ、または代替
的に、ユーザ(または管理者)の要求に応じて実行され
てもよい。RAIDレベルの再構築は当業者には周知で
あるため、本発明に関連する部分を除いてこれ以上の説
明は省略する。
【0029】図2に要求待ち行列66が示されている
が、本明細書ではこれを、論理待ち行列構造(実際の待
ち行列機構の実現を抽象化したもの)として説明する。
要求待ち行列66は、広範囲な様々な方法のいずれによ
って実現されてもよい。かかる実現の例には、以下のも
のが含まれる。すなわち、すべてのI/O要求(ホスト
または再構築に関わりなく)が配置される単一の待ち行
列を使用してもよい。または、複数の待ち行列を使用し
て、I/O要求を1つの待ち行列に配置し、再構築要求
を他の待ち行列に配置するようにしてもよいし、代替的
に、優先順位の異なる要求を異なる待ち行列に配置する
ようにしてもよい。または、要求および各要求の受け取
りの時刻の簡単なリストを保持してもよい(このリスト
に、さらに各要求の優先順位をオプションとして含めて
もよい)。
【0030】要求待ち行列66は、コントローラ54a
および54bによって処理されるべき、ディスクアレイ
50に対するI/O要求を格納する。これらのI/O要
求は、ホストコンピュータ22、または代替的に再構築
コントローラ74で発生することができ、さらに、入力
および/または出力要求(例えば、読出し要求、書込み
要求等)であることができる。示されている実施例で
は、要求は、待ち行列コントローラ68によって要求待
ち行列66に入力されるが、代替的に、ホストコンピュ
ータ22または再構築コントローラ74によって要求待
ち行列66に直接入力されてもよい。要求は、異なる方
法で(たとえば、受け取られた順序で)要求待ち行列6
6に入力されることができ、または、後でより詳細に述
べるようにいくつかの他の順序方式に従って、要求待ち
行列66に入力されることができる。
【0031】要求は、要求ディスパッチャ72によって
要求待ち行列66から検索され、処理のために要求プロ
セッサ76に渡される。要求の処理は、要求の種類に基
づいて変わるが、概して、要求を遂行するのに必要な動
作を実行することを言う。これら動作には、例えば、パ
リティ値を計算すること、1つまたは複数のディスクに
データを書込むこと、1つまたは複数のディスクからデ
ータを読出すこと、等が含まれることができる。要求デ
ィスパッチャ72は、待ち行列に配置された順序で、ま
たは代替的に、後でより詳細に述べるような他の順序に
従って、要求待ち行列66から要求を抽出することがで
きる。
【0032】優先順位識別部70は、ホストI/O要求
または再構築I/O要求のどちらが他方に対する優先権
を有するべきかを判断する。待ち行列コントローラ68
および/または要求ディスパッチャ72の振舞いは、後
でより詳細に説明するように、ホストI/O要求または
再構築I/O要求のどちらが他方に対する優先権を有す
るべきかに基づいて変わることができる。
【0033】概して、ホストI/O要求または再構築I
/O要求に互いに対する優先権を与えるために、要求待
ち行列66、待ち行列コントローラ68、優先順位識別
部70および要求ディスパッチャ72は協調して動作す
る。ある特定の時刻に、ホスト要求または再構築要求の
どちらが優先権を有しているかは、アレイ50が、永久
的にデータを失う状態にどれくらい近い状態にあるかに
従って決まる。一方のタイプの要求に、他方のタイプの
要求に対する優先権を与えることは、要求ベースで行う
ことができ(例えば、他のいずれの要求よりも前に処理
されるために、優先要求のすべてがディスクアレイコン
トローラ54aおよび54bに渡される)、または代替
的に、リソースベースで行うことができる(例えば、優
先権を持たない要求は、優先権を持つ要求よりもリソー
スの使用がより制限される)。
【0034】図3は、ホストI/O要求および再構築I
/O要求を管理する例示的なプロセスを示すフローチャ
ートである。図3のプロセスは、図2のRAID管理シ
ステム56によって実現され、図2の要素を参照しつつ
説明される。
【0035】最初に、データ記憶システム24において
ディスクの故障が無いとき、ホストI/O要求は優先権
を有している(これを、「ホスト優先」と呼ぶ)(9
2)。ホストI/O要求は、RAIDレベルの低下をも
たらすディスク故障が発生するまで、優先権を持ち続け
る(94)。低下したRAIDレベルとは、1つまたは
複数のディスクが故障したRAIDレベルを言う。1つ
または複数のRAIDレベルのデータを格納しているデ
ィスクが故障した場合、そのディスク故障によってRA
DIレベルが低下する。しかしながら、すべてのディス
ク故障がRAIDレベルの低下をもたらすものではない
(例えば、ディスクがスペアディスクであってデータを
まったく格納していない、またはディスクアレイが新し
くまだRAIDレベルについて初期化されていない、ま
たは故障したディスクが別の冗長グループにある、
等)。
【0036】RAIDレベルの低下をもたらすディスク
故障が発生すると、優先順位識別部70は、1つまたは
複数のRAIDレベルが臨界点にあるか否かをチェック
する(96)。臨界点とは、RAIDレベルが永久的に
データを失いつつある状態を言う。永久的にデータを失
うとは、データを失って、該失ったデータを回復するこ
とができないことを言う。データを永久的に失うこと
は、単純にデータを失うこと(例えば、ディスク故障に
より)とは異なる。なぜならば、RAID記憶システム
の本質は、いくつかのディスク故障が発生しても、永久
的に失うことなく再構築することによって該ディスク上
のデータを回復させることのできる冗長性を提供するこ
とだからである。
【0037】1つの実施形態によると、RAIDレベル
は、1つ(またはもう1つ)のディスクの故障によって
そのRAIDレベルの少なくとも一部のデータが永久的
に失われるであろうという場合、永久的にデータを失い
つつあると識別される。RAIDアーキテクチャレベル
により、データの喪失無しに持ちこたえることができる
故障の数は変化するため、冗長グループにおいて1つの
ディスクが故障すると、いくつかのRAIDレベル(例
えば、RAID1またはRAID5)は永久的にデータ
を失いつつある状態になるが、他のRAIDレベル(例
えば、RAID6)は、該冗長グループのさらに他のデ
ィスク(1つまたは複数)が故障するまで、永久的にデ
ータを失いつつある状態にはならない、ということが、
階層型データ記憶システムにおいては可能である。
【0038】示されている実施例では、優先順位識別部
70は、各RAIDレベルにおいてデータ喪失がもたら
される前にいくつのディスクの故障が許容されるか、お
よび、どのRAIDレベルおよびどの冗長グループに、
アレイ50のどのディスク52が使用されているか、に
関してプログラムされている。ディスク52が故障する
と、優先順位識別部70には、どのディスク(1つまた
は複数)が故障したか(例えば、直接に、または再構築
コントローラ74を介して)が通知される。同様に、故
障したディスクの結果としてシステムがデータの再構築
を完了した時も、優先順位識別部70に(例えば、再構
築コントローラ74によって)通知される。したがっ
て、優先順位識別部70は、どの冗長グループおよび各
冗長グループ内のどのRAIDレベルが臨界点にあるか
を、正確に判断することができる。
【0039】優先順位識別部70が、ディスク故障の結
果としていずれのRAIDレベルも臨界点に無いと判断
した場合、ホストI/O要求に優先権が与えられ続ける
(92)。こうして、かかる状況においては、ホストI
/O要求は受け取られた順序で処理され、再構築I/O
要求は、ホストI/O要求によって消費されていない使
用可能なリソースがある場合に処理される。
【0040】ステップ96に戻り、1つまたは複数のR
AIDレベルがその臨界点にある場合、それらのRAI
Dレベルについて、再構築I/O要求にホストI/O要
求に対する優先権が与えられる(それらのRAIDレベ
ルの「再構築優先」と呼ばれる)(98)。再構築優先
である場合、再構築I/O要求には、ホストI/O要求
よりも優先的処置が与えられる(例えば、最初に処理さ
れる、またはより多くのリソースが割当てられる、
等)。臨界点にあるRAIDレベルのそれぞれについて
のこの優先順位は、そのRAIDレベルが臨界点にある
限り続き(96)、臨界点でなくなった時、そのRAI
Dレベルについて、ホストI/O要求は再構築I/O要
求に対する優先権を有する。例えば、冗長グループがR
AID1データおよびRAID6データを含み、その冗
長グループにおける1つのディスクが故障した場合、そ
の冗長グループのRAID1は臨界点にあるがRAID
6は臨界点にない。そのため、RAID1は再構築優先
の状態にあるが、RAID6はまだホスト優先の状態に
ある。RAIDレベルがその臨界点にある時に、再構築
I/O要求にホストI/O要求に対する優先権を与える
ことにより、そのRAIDレベルのデータをより迅速に
再構築して、永久的にデータを失うかもしれないことに
対する保護を支援することができる。
【0041】代替的な実施形態によると、ステップ98
において、少なくとも1つのRAIDレベルが臨界点に
ある場合、そのRAIDレベルおよび少なくとも1つの
他のRAIDレベル(または、1つの実施例によるとす
べてのRAIDレベル)は、ホストI/O要求に対する
優先権が与えられた再構築I/O要求を有する。例え
ば、冗長グループがRAID1データおよびRAID6
データを含み、その冗長グループの1つのディスクが故
障した場合、その冗長グループのRAID1はその臨界
点にあり、そのため、その冗長グループのRAID1お
よびRAID6は共に、(RAID6がその臨界点に無
い場合であっても)再構築優先の状態になる。この場
合、冗長グループ全体が再構築優先の状態にある。
【0042】さらに、ステップ98において、臨界点に
あるRAIDレベルの再構築I/O要求に、すべての冗
長グループのホストI/O要求に対する優先権が与えら
れる(ある特定の冗長グループにおけるRAIDレベル
のいずれもが臨界点にない場合であっても)ようにして
もよい。代替的に、臨界点にあるRAIDレベルの再構
築I/O要求に、該臨界点にあるRAIDレベルと同じ
冗長グループにおけるホストI/O要求に対してのみ優
先権が与えられるようにしてもよい(この場合、その臨
界点にあるRAIDレベルが無い他の冗長グループは、
ホスト優先の状態を維持する)。
【0043】図4は、ホストI/O要求または再構築I
/O要求のどちらが優先権を有しているかに基づいて要
求待ち行列を管理する例示的なプロセスを示すフローチ
ャートである。図4のプロセスは、図2のRAID管理
システム56によって実現され、図2の要素を参照しな
がら説明される。
【0044】図4のプロセスにおいて、要求は、優先順
位に基づいて要求待ち行列66の、ある場所に配置され
る。RAIDレベルが再構築優先の状態にある場合、要
求は、受け取られた順序で要求待ち行列66に配置さ
れ、先入れ先出し(FIFO)方式で処理される。これ
により、いくつかの再構築I/O要求が取出されて処理
される前に、ホストI/O要求が要求待ち行列66から
取出されて処理されることがあるが、通常は、再構築I
/O要求は、処理においてホストI/O要求よりも多く
のシステムリソースを消費するので、再構築I/O要求
が優先権を有することとなる。
【0045】最初に、I/O要求(ホストまたは再構築
のいずれか)が受け取られ(108)、待ち行列コント
ローラ68は、(例えば優先順位識別部70に問い合せ
ることにより)その要求が対応するRAIDレベル(代
替的には、冗長グループ、またはディスクアレイ全体で
もよい)が再構築優先の状態にあるかどうかをチェック
する(110)。RAIDレベルが再構築優先の状態に
ある場合、待ち行列コントローラ68は、要求がホスト
I/O要求であるか再構築I/O要求であるかに関わら
ず、受け取られた要求を要求待ち行列66の最下位に配
置する(112)。その後、処理は、別のI/O要求
(ホストまたは再構築のいずれか)を受け取るため、ス
テップ108に戻る。
【0046】一方、RAIDレベルがホスト優先状態で
ある場合、待ち行列コントローラ68は、要求が、ホス
トI/O要求であるか再構築I/O要求であるかをチェ
ックする(114)。要求が再構築I/O要求である場
合、コントローラ68は、要求を、要求待ち行列66の
最下位に配置する(112)。要求がホストI/O要求
である場合、待ち行列コントローラ68は、要求待ち行
列66に再構築要求があるか否かをチェックする(11
6)。要求待ち行列66に再構築要求が無い場合、コン
トローラ68は、要求を、要求待ち行列66の最下位に
配置する(112)。一方、要求待ち行列66に再構築
要求がある場合、コントローラ68は、要求を、待ち行
列の他のすべてのホスト要求より下であるがすべての再
構築要求よりも上に配置する(118)。その後、処理
は、他のI/O要求を受け取るため、ステップ108に
戻る。
【0047】図4のプロセスにより、待ち行列コントロ
ーラ68が要求待ち行列66における要求の順序付けに
責任を持つよう動作するため、要求ディスパッチャ72
は、常に要求待ち行列66の最上位からI/O要求を取
出すことができる。代替的に、コントローラ68に、受
け取られた順序で要求を要求待ち行列66に配置させ、
要求ディスパッチャ72に、要求待ち行列66から要求
を処理のために取り出す順序を変更させることにより、
同じ結果を得ることができる(例えば、ホスト優先状態
にある場合、要求待ち行列66のホストI/O要求を探
索し、処理のための何らかの再構築I/O要求を選択す
る前に、処理のためのホストI/O要求を(例えばFI
FO方式で)選択する)。
【0048】図5は、ホストI/O要求または再構築I
/O要求のどちらが優先権を有しているかに基づいて要
求待ち行列を管理する代替的なプロセスを示すフローチ
ャートである。図5のプロセスは、図2のRAID管理
システム56によって実現され、図2の要素を参照しつ
つ説明される。
【0049】図5の例において、待ち行列コントローラ
68は、受け取られた順序で要求を要求待ち行列66に
配置する。その後、要求ディスパッチャ72は、再構築
優先の状態にある時に、ある制限されたリソースの再構
築I/Oの使用を確実に保証する方法で、要求待ち行列
66から処理のための要求を選択する。再構築優先の状
態にある時、制限されたリソースのホストI/Oによる
使用が閾値量を超えた場合、再構築要求は、その閾値量
を超えた状態でなくなるまで、ホスト要求よりも前に処
理される。これにより、要求待ち行列66にホストI/
O要求が無い場合には、再構築I/O要求は、その制限
されたリソースを完全に使用することができると同時
に、要求待ち行列66にホストI/O要求がある場合に
は、その制限されたリソースの再構築I/Oによる使用
が特定の量(すなわち、下限)より低下することが防止
される。制限されたリソースの再構築I/Oによる使用
量をそのように保証することにより、RAIDレベルが
再構築優先の状態にある時にいくつかのホストI/O要
求が処理されるが、再構築I/O要求に対するリソース
が不足することが防止される。
【0050】図5は、制限されたリソースのホストI/
Oによる使用を制限することに関して説明されている
が、代替的に、RAID管理システム56は、類似した
方法で、制限されたリソースの再構築I/Oによる使用
を制限してもよい。このような実施形態では、ホスト優
先の状態にある時に、制限されたリソースの再構築I/
Oによる使用が閾値量を超えた場合、その閾値量を超え
た状態でなくなるまで、ホスト要求は再構築要求よりも
前に処理される。
【0051】図2を参照すると、記憶システム24は、
種々のリソースの任意のものを使用して実現することが
できる。かかるリソースの例には、メモリ、CPU、バ
ス等が含まれる。システム24のこれらリソースのいず
れについても、制限を設けることができる。1つの実施
形態によると、ディスクアレイコントローラ54aおよ
び54b、またはディスクアレイコントローラ54aお
よび54bとディスク52との間のバス(または他のチ
ャネル)のように、「ボトルネック」であると考えられ
るリソースには制限がある。
【0052】図5に戻ると、要求ディスパッチャ72
は、ディスクアレイコントローラ54aおよび54bが
他のI/O要求を処理することができるまで待機する
(128)。用意ができると、要求ディスパッチャ72
は、要求待ち行列66における次のI/O要求に対応す
るRAIDレベル(代替的には、冗長グループ、または
ディスクアレイ全体でもよい)が再構築優先の状態にあ
るか否かをチェックする(130)。要求待ち行列66
における要求のRAIDレベルは、該要求と共に要求待
ち行列66に格納することができ、または、代替的に要
求ディスパッチャ72が、対応するRAIDレベルを判
断することができる(例えば、要求ディスパッチャ72
を、RAIDレベルに対するアドレスのマッピングを持
つようプログラムしてもよく、または、要求ディスパッ
チャ72が、RAIDレベルに対するアドレスのマッピ
ングへのアクセスを持つようにしてもよい)。
【0053】要求待ち行列66における次の要求に対応
するRAIDレベルが再構築優先の状態に無い場合、処
理のための次の要求が要求待ち行列66から選択される
(132)。RAIDレベルが再構築優先の状態にある
場合、要求ディスパッチャ72は、そのRAIDレベル
について、制限されたリソースのホストI/Oによる使
用が閾値を超えているか否かをチェックする(13
4)。該制限されたリソースのホストI/Oによる使用
が閾値を超えていない場合、要求待ち行列66における
次の要求が、処理のために要求待ち行列66から選択さ
れる(132)。しかしながら、該制限されたリソース
のホストI/Oによる使用が閾値を超えた場合、そのR
AIDレベルについての次の再構築I/O要求が、処理
のために要求待ち行列66から選択される(136)。
【0054】代替的に、要求ディスパッチャ72は、ス
テップ130において、異なるRAIDレベル間の区別
に関与しなくてもよい。例えば、いずれかのRAIDレ
ベルが再構築優先の状態であると判断されたならば、ス
テップ134における判断は、そのいずれかのRAID
レベル(または組み合わされたRAIDレベルのすべ
て)についてのホストI/Oによる使用が閾値を超えて
いるか否かに関して行うことができる。
【0055】ホスト優先から再構築優先に変更するの
に、または再構築優先からホスト優先に変更するのに超
えるべき上記閾値をどれくらいにするか、およびどのリ
ソースを制限するか、という決定は、種々の方法で行う
ことができる。図2のRAID管理システム56は、ど
のシステムリソースが制限されるべきかの特定およびそ
れらの対応する閾値について、事前に構成されることが
できる。かかるリソースの制限は、管理者または他のユ
ーザにより変更されることにより、または代替的に管理
者または他のユーザにより最初に入力されていてもよ
い。かかる入力は、例えば図2のユーザインターフェー
ス48を介して受取られることが可能である。例とし
て、RAID管理システムにおける種々のリソースの識
別子がユーザに提示され、それらリソースのうちのいず
れが制限されるべきかをユーザが選択することができる
ようにすることができる。さらに、特定の閾値を入力す
ることもできる(例えば、ユーザが、再構築優先の状態
にある時は、ホストI/O要求によって、ある特定のリ
ソースが25%より多くは使用されるべきではないと示
すことにより)。代替的に、特定の値に対応する複数の
事前設定が与えられるようにしてもよい(例えば、ユー
ザは「低」、「中」または「高」という制限を選択する
ことができ、それらの各々が、管理モジュール46また
はRAID管理システム56によって、それぞれ25
%、50%および75%等の特定の値に変換されるよう
にすることができる)。
【0056】図2から図5は、記憶システム24によっ
てサポートされるすべてのRAIDレベルおよび冗長グ
ループについて、単一の要求待ち行列66、待ち行列コ
ントローラ68、優先順位識別部70および要求ディス
パッチャ72を有するデータ記憶システム24に関して
述べられている。代替的に、各冗長グループが、それ自
身の要求待ち行列66、待ち行列コントローラ68、優
先順位識別部70および要求ディスパッチャ72を有し
てもよく、および/または各RAIDレベル(またはR
AIDレベルの他の組合せ)が、それ自身の要求待ち行
列66、待ち行列コントローラ68、優先順位識別部7
0およびディスパッチャ72を有してもよい。
【0057】さらに、RAID管理システムは、要求の
処理中に、再構築I/O要求および/またはホストI/
O要求に対して優先権を与えることができる。一般に、
I/O要求の処理は、それぞれの段階間に種々の遅延が
ある複数の段階において発生する。例えば、図2の要求
プロセッサ76は、1つの要求を処理するために1つま
たは複数のディスク52からデータを読出す必要がある
かもしれない。しかしながら、ディスク52から実際に
データを読出す際の遅延により、要求プロセッサ76が
該ディスクからデータが取得されるのを単に待っている
期間がしばしばある。この期間中、さらなる要求が要求
ディスパッチャ72から受け取られて、先行する要求に
割り込みをかけることができ、その結果要求プロセッサ
76は、その新たな要求の処理を開始(および処理を完
了する可能性もある)ことができる。
【0058】図6は、I/O要求の割り込みの一例を示
すフローチャートである。図6は、例示的な要求として
書込み要求を示しているが、他のタイプのI/O要求に
対しても同様の段階が発生する。
【0059】最初に、ホスト書込み要求が受け取られる
(ブロック142)。このホスト書込み要求に基づい
て、読出しコマンドが図2のディスク52のうちの1つ
または複数に対して発行される(ブロック144)。あ
る期間の後、要求したデータがディスクから受け取られ
る(ブロック146)。その後、パリティ演算のような
種々の演算が実行される(ブロック148)。かかる演
算が実行される方法は、要求に関連するRAIDレベル
によって変わりうる。かかる演算が完了すると、ホスト
書込み要求に対応するデータを伴う書込みコマンドが、
ディスク52のうちの1つまたは複数に対して発行され
る。
【0060】一方、図6の例では、読出しデータがディ
スク52から受取られている間に(ブロック146)、
再構築の読出し要求が受け取られている(ブロック15
2)。要求プロセッサ76は、データが受け取られた後
(ブロック146)、再構築読出し要求を優先してホス
ト書込み要求に割り込みをかけ、再構築読出し要求をデ
ィスク52のうちの1つまたは複数に対して発行する
(ブロック154)。ある期間の後、要求したデータが
ディスクから受取られ(ブロック156)、該データが
要求側に返される。要求側が再構築読出し要求の処理を
完了すると、割り込まれたホスト書込み要求は再開する
ことができ、要求プロセッサ76は、必要な演算を実行
し(ブロック148)、ディスクに対して書込みコマン
ドを発行する(ブロック150)。
【0061】代替的に、ホスト書込み要求に対して完全
に割り込みをかけるのではなく、ホスト書込み要求また
は再構築読出し要求のどちらかを処理することができる
状況の場合に、再構築読出し要求が単に優先されるよう
にしてもよい。例えば、ディスクに対して再構築読出し
要求についての読出しコマンドが発行された後(ブロッ
ク154)、要求プロセッサ76は、再構築読出し要求
について該要求されたデータをディスクから受け取るの
を待っている間に、種々のパリティ演算を実行すること
ができ(ブロック148)、それによって、要求プロセ
ッサ76がアイドル状態である時間を低減することがで
きる。
【0062】要求プロセッサ76は、オプションとし
て、割り込まれたホストI/O要求が再構築I/O要求
と同じアドレスおよび/またはディスクの場所を変更す
るかどうかをチェックしてもよく、データの整合性を保
証するために、ホストI/O要求が再構築I/O要求の
前に処理を終了することができるよにしてもよい。
【0063】上記説明は、ホストI/O要求および再構
築I/O要求が共にRAID管理システムによって待ち
行列に入れられるように述べている。代替の実施形態で
は、かかる待ち行列処理は不要である。例として、ホス
トコンピュータまたは再構築コントローラが、I/O要
求を有したときに信号またはメッセージをRAID管理
システムに送信し、その後、RAID管理システムから
受入れまたは肯定応答信号あるいは何らかのメッセージ
を受け取ったときに、処理のためのI/O要求を送信し
てもよい。
【0064】このように、I/O要求に優先権を与える
ことにより再構築中にホストI/Oパフォーマンスおよ
び記憶アレイの可用性を向上させることについて説明し
た。再構築I/O要求には、記憶アレイが永久的にデー
タを失いつつある場合にのみ、ホストI/O要求に対す
る優先権が与えられるのが有利である。それ以外の場合
は、データ喪失の機会を増大させることなく、ホストI
/O要求に応答して記憶アレイのパフォーマンスを向上
させるために、ホストI/O要求に、再構築I/O要求
に対する優先権を与える。
【0065】上記説明では、構成の特徴および/または
方法の動作に特有の言語を用いたが、特許請求の範囲で
定義されている発明は、説明された特定の特徴または動
作に限定されるものではない、ということは理解される
べきである。この特定の特徴および動作は、本発明を実
現する例示的な形態として開示されている。
【0066】本発明は、以下の実施態様を含む。
【0067】(1)記憶アレイ(24)が永久的にデー
タを失いつつあることを識別するステップ(96)と、
前記記憶アレイ(24)が永久的にデータを失いつつあ
ると識別したことに応答して、該記憶アレイの少なくと
も一部を再構築する入出力(I/O)要求に、ホストI
/O要求に対する優先権を与えるステップ(98)と、
を含む方法。
【0068】(2)前記識別するステップ(96)は、
前記記憶アレイ(24)における複数の記憶装置(5
0)のうちの1つのさらなる記憶装置(52)の故障
が、該記憶アレイ(24)において永久的なデータ喪失
の結果となる場合に、該記憶アレイ(24)が永久的に
データを失いつつあると識別するステップを含む上記
(1)に記載の方法。
【0069】(3)前記記憶アレイ(24)がRAID
システムである上記(1)に記載の方法。
【0070】(4)前記RAIDシステムは複数のRA
IDレベルを含み、前記識別するステップは、前記複数
のRAIDレベルのうちの少なくとも1つが永久的にデ
ータを失いつつある時を識別するステップ(96)を含
み、永久的にデータを喪失しつつある前記少なくとも1
つのRAIDレベルについてのみ、再構築I/O要求
に、ホストI/O要求に対する優先権を与えるステップ
(98)をさらに含む上記(3)に記載の方法。
【0071】(5)前記記憶アレイが永久的にデータを
失いつつある状態でない場合、ホストI/O要求に、再
構築I/O要求に対する優先権を与えるステップ(9
2)をさらに含む上記(1)に記載の方法。
【0072】(6)前記記憶アレイの少なくとも一部を
再構築するI/O要求に、ホストのI/O要求に対する
優先権を与える前記ステップ(98)は、前記アレイの
少なくとも一部を再構築するI/O要求とホストのI/
O要求とを共に、受け取られた順序で待ち行列(66)
に配置するステップ(112)と、前記再構築のための
I/O要求と前記ホストのI/O要求とを先入れ先出し
(FIFO)方式で前記待ち行列から処理するステップ
と、を含む上記(1)に記載の方法。
【0073】(7)前記記憶アレイの少なくとも一部を
再構築するI/O要求に、ホストのI/O要求に対する
優先権を与える前記ステップ(98)は、前記記憶アレ
イおよび対応するコントローラにおける複数のリソース
の間で、前記ホストのI/O要求よりも前記再構築する
I/O要求に、より多くのリソースの使用を割当てるス
テップ(134,136)を含む上記(1)に記載の方
法。
【0074】(8)前記記憶アレイ(24)および対応
するコントローラ(54a,54b)は複数のリソース
を有し、前記記憶アレイ(24)の少なくとも一部を再
構築するI/O要求に、ホストI/O要求に対する優先
権を与える前記ステップ(98)は、ホストのI/Oに
よるリソースの使用を閾値量を超えないように制限する
ステップ(134,136)を含む上記(1)に記載の
方法。
【0075】(9)前記閾値量(134)はユーザが構
成可能である上記(8)に記載の方法。
【0076】(10)前記記憶アレイの少なくとも一部
を再構築するI/O要求に、ホストI/O要求に対する
優先権を与える前記ステップ(98)は、再構築I/O
要求を優先して、ホストI/O要求に割り込みをかける
ステップ(146,148,152)を含む上記(1)
に記載の方法。
【0077】(11)コンピュータの1つまたは複数の
プロセッサによって実行される場合に、該1つまたは複
数のプロセッサに動作を実行させるコンピュータプログ
ラムを格納した1つまたは複数のコンピュータ読取り可
能媒体であって、記憶アレイ(24)が永久的にデータ
を失いつつあることを識別するステップ(96)と、前
記記憶アレイ(24)が永久的にデータを失いつつある
ことを識別したことに応答して、該記憶アレイの少なく
とも一部を再構築する入出力(I/O)要求に、ホスト
I/O要求に対する優先権を与えるステップ(98)
と、を実行させるためのプログラムを格納した、1つま
たは複数のコンピュータ読取り可能媒体。
【0078】(12)前記識別するステップ(96)
は、前記記憶アレイ(24)における複数の記憶装置
(50)のうちの1つのさらなる記憶装置(52)の故
障が、該記憶アレイ(24)において永久的なデータ喪
失の結果となる場合に、該記憶アレイ(24)が永久的
にデータを失いつつあると識別するステップを含む、上
記(11)に記載の1つまたは複数のコンピュータ読取
り可能媒体。
【0079】(13)前記記憶アレイの少なくとも一部
を再構築するI/O要求に、ホストI/O要求に対する
優先権を与える前記ステップ(98)は、前記記憶アレ
イおよび対応するコントローラにおける複数のリソース
の間で、ホストI/O要求よりも再構築I/O要求によ
り多くのリソース使用を割当てるステップ(134,1
36)を含む上記(11)に記載の1つまたは複数のコ
ンピュータ読取り可能媒体。
【0080】(14)前記記憶アレイ(24)および対
応するコントローラ(54a,54b)は複数のリソー
スを有し、前記記憶アレイ(24)の少なくとも一部を
再構築するI/O要求に、ホストI/O要求に対する優
先権を与える前記ステップ(98)は、ホストI/Oに
よるリソースの使用を閾値量を超えないように制限する
ステップ(134,136)を含む、上記(11)に記
載の1つまたは複数のコンピュータ読取り可能媒体。
【0081】(15)記憶アレイ(24)に対するホス
トの入出力(I/O)要求または再構築のI/O要求の
どちらが優先権を有するべきかを判断する優先順位識別
部(70)と、前記優先順位識別部(70)に通信可能
なように連結されており、前記ホストI/O要求または
再構築I/O要求のどちらが優先権を有するべきかに少
なくとも部分的に基づいて、実行のためのホストI/O
要求および再構築I/O要求を選択する要求ディスパッ
チャ(72)と、を備える装置。
【0082】(16)前記記憶アレイ(24)がRAI
Dシステムを備えている上記(15)に記載の装置。
【0083】(17)前記RAIDシステムは複数のR
AIDレベルを有しており、前記複数のRAIDレベル
のそれぞれに関連付けられた優先順位識別部(70)
と、前記複数のRAIDレベルのそれぞれに関連付けら
れた要求ディスパッチャ(72)と、をさらに備える上
記(16)に記載の装置。
【0084】(18)前記要求ディスパッチャ(72)
による実行のための選択を待つために、前記再構築I/
O要求および前記ホストI/O要求が配置される要求待
ち行列構造(66)をさらに備える上記(15)に記載
の装置。
【0085】(19)前記要求ディスパッチャ(72)
は、前記要求がホストI/O要求か再構築I/O要求か
に関わらず、前記待ち行列構造(66)の最上位から要
求を選択するよう構成されている上記(18)に記載の
装置。
【0086】(20)前記要求待ち行列構造(66)に
通信可能なように連結され、ホストI/O要求が優先権
を有するべきである場合にのみホストI/O要求が再構
築要求よりも上位にあるように、前記待ち行列構造(6
6)における要求を順位付けするよう構成された待ち行
列コントローラ(68)をさらに備える上記(18)に
記載の装置。
【0087】(21)前記要求待ち行列構造(66)
は、複数の待ち行列を含む上記(18)に記載の装置。
【0088】(22)複数のリソース(60,54a,
54b,62a,62b,58)をさらに備えており、
前記要求ディスパッチャ(72)は、再構築I/O要求
が優先権を有するべきである場合に、前記複数のリソー
ス(60,54a,54b,62a,62b,58)の
少なくとも1つの前記ホストI/O要求による使用を制
限する上記(15)に記載の装置。
【0089】(23)前記優先順位識別部(70)は、
前記記憶アレイ(24)における複数の記憶装置(5
0)のうちの1つのさらなる記憶装置(52)の故障が
該記憶アレイ(24)におけるデータ喪失の結果となる
場合に、再構築I/O要求が優先権を有するべきである
と判断する、上記(15)に記載の装置。
【0090】(24)前記要求ディスパッチャ(72)
と通信可能なように連結され、I/O要求を処理し、再
構築I/O要求を優先してホストI/O要求に割り込み
をかける要求プロセッサ(76)をさらに備える、上記
(15)に記載の装置。
【0091】
【発明の効果】再構築中のホストのI/Oパフォーマン
スおよび記憶アレイの可用性を向上させることができ
る。
【図面の簡単な説明】
【図1】データ記憶システムに接続されているホストコ
ンピュータを有する例示的なコンピュータシステムを示
すブロック図。
【図2】例示的なホストコンピュータおよび例示的なデ
ータ記憶システムをより詳細に示すブロック図。
【図3】ホストI/O要求および再構築I/O要求を管
理する例示的なプロセスを示すフローチャート。
【図4】ホストI/O要求または再構築I/O要求のど
ちらが優先権を有するかに基づき要求待ち行列を管理す
る例示的なプロセスを示すフローチャート。
【図5】ホストI/O要求または再構築I/O要求のど
ちらが優先権を有するかに基づき要求待ち行列を管理す
る代替的なプロセスを示すフローチャート。
【図6】I/O要求の割り込みの例を示すフローチャー
ト。
【符号の説明】
24…データ記憶システム 50…ディスクアレイ 52…ディスク 54a,54b…ディスクアレイコントローラ 58…インターフェースバス 62a,62b…ミラーリングされたメモリ 66…要求待ち行列
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロジャー・ディー・ダニエルズ アメリカ合衆国83709アイダホ州ボイジー、 ウィチトー・ドライブ 8568 (72)発明者 モハメド・ベルハジ アメリカ合衆国83616アイダホ州イーグル、 ノース・マンスフィールド・ウェイ 1782

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】記憶アレイが永久的にデータを失いつつあ
    ることを識別するステップと、 前記記憶アレイが永久的にデータを失いつつあることが
    識別されことに応答して、該記憶アレイの少なくとも一
    部を再構築する入出力(I/O)要求に、ホストのI/
    O要求に対する優先権を与えるステップと、 を含む、I/O要求に優先順位を与える方法。
JP2001075172A 2000-03-23 2001-03-16 I/o要求に優先順位を与える方法 Expired - Fee Related JP4922496B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/534,921 US6647514B1 (en) 2000-03-23 2000-03-23 Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US09/534921 2000-03-23

Publications (3)

Publication Number Publication Date
JP2001290746A true JP2001290746A (ja) 2001-10-19
JP2001290746A5 JP2001290746A5 (ja) 2007-08-02
JP4922496B2 JP4922496B2 (ja) 2012-04-25

Family

ID=24132081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001075172A Expired - Fee Related JP4922496B2 (ja) 2000-03-23 2001-03-16 I/o要求に優先順位を与える方法

Country Status (2)

Country Link
US (2) US6647514B1 (ja)
JP (1) JP4922496B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181382A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd ストレージ装置及び負荷分散方法
US7809979B2 (en) 2005-03-15 2010-10-05 Fujitsu Limited Storage control apparatus and method
JP2011515746A (ja) * 2008-03-11 2011-05-19 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶ライブラリのための重複排除プロトコルを選択する装置および方法
JP2011520182A (ja) * 2008-04-17 2011-07-14 エヌイーシー ラボラトリーズ アメリカ インク 分散データストレージシステムの信頼性の動的定量化と改善
JP2013058103A (ja) * 2011-09-08 2013-03-28 Toshiba Corp 映像収録再生装置及びリビルド処理方法
JP2013515292A (ja) * 2010-06-17 2013-05-02 株式会社日立製作所 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
JP2014059659A (ja) * 2012-09-14 2014-04-03 Toshiba Corp 映像収録再生装置及びリビルド再開方法
JP2016139251A (ja) * 2015-01-27 2016-08-04 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
US11163658B2 (en) 2017-04-17 2021-11-02 EMC IP Holding Company LLC Methods, devices and computer readable mediums for managing storage system

Families Citing this family (300)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2923702B2 (ja) * 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
US6968463B2 (en) 2001-01-17 2005-11-22 Hewlett-Packard Development Company, L.P. System for controlling access to resources in a storage area network
US6915397B2 (en) 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6931487B2 (en) * 2001-10-22 2005-08-16 Hewlett-Packard Development Company L.P. High performance multi-controller processing
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7032131B2 (en) * 2002-03-26 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for ensuring merge completion in a storage area network
US6947981B2 (en) * 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7359397B2 (en) * 2002-04-19 2008-04-15 Seagate Technology Llc Prioritizing transfers across an interface
US6839817B2 (en) * 2002-04-24 2005-01-04 International Business Machines Corporation Priority management of a disk array
US7139931B2 (en) * 2002-08-19 2006-11-21 Aristos Logic Corporation Method of controlling the system performance and reliability impact of hard disk drive rebuild
US6952794B2 (en) * 2002-10-10 2005-10-04 Ching-Hung Lu Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
JP4703959B2 (ja) * 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法
US20050138306A1 (en) * 2003-12-19 2005-06-23 Panchbudhe Ankur P. Performance of operations on selected data in a storage area
US7305520B2 (en) * 2004-01-30 2007-12-04 Hewlett-Packard Development Company, L.P. Storage system with capability to allocate virtual storage segments among a plurality of controllers
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US7363541B2 (en) * 2004-02-23 2008-04-22 Hewlett-Packard Development Company, L.P. Command management using task attributes
US7246259B2 (en) * 2004-03-18 2007-07-17 Aristos Logic Coporation Method of calculating parity for surviving dual drive failures in a disk array
JP2005275829A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd ストレージシステム
JP2005301590A (ja) 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP4324088B2 (ja) * 2004-12-17 2009-09-02 富士通株式会社 データ複製制御装置
US20060168472A1 (en) * 2005-01-25 2006-07-27 Inventec Corporation Data storage unit failure condition responding method and system
US8127088B2 (en) * 2005-01-27 2012-02-28 Hewlett-Packard Development Company, L.P. Intelligent cache management
US7301718B2 (en) * 2005-01-31 2007-11-27 Hewlett-Packard Development Company, L.P. Recording errors in tape drives
JP4815825B2 (ja) * 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
US7711989B2 (en) * 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
US20060230243A1 (en) * 2005-04-06 2006-10-12 Robert Cochran Cascaded snapshots
US20060236149A1 (en) * 2005-04-14 2006-10-19 Dell Products L.P. System and method for rebuilding a storage disk
US7363426B2 (en) * 2005-04-26 2008-04-22 Dell Products L.P. System and method for RAID recovery arbitration in shared disk applications
US7779218B2 (en) * 2005-07-22 2010-08-17 Hewlett-Packard Development Company, L.P. Data synchronization management
US7206156B2 (en) * 2005-07-27 2007-04-17 Hewlett-Packard Development Company, L.P. Tape drive error management
JP4817783B2 (ja) * 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
US8352782B2 (en) * 2005-09-30 2013-01-08 Cleversafe, Inc. Range based rebuilder for use with a dispersed data storage network
US8880799B2 (en) * 2005-09-30 2014-11-04 Cleversafe, Inc. Rebuilding data on a dispersed storage network
US10860424B1 (en) 2005-09-30 2020-12-08 Pure Storage, Inc. Background verification processing in a storage network
US11620185B2 (en) * 2005-09-30 2023-04-04 Pure Storage, Inc. Integrity processing in a dispersed storage network
US11221917B1 (en) 2005-09-30 2022-01-11 Pure Storage, Inc. Integrity processing in a dispersed storage network
US8555109B2 (en) * 2009-07-30 2013-10-08 Cleversafe, Inc. Method and apparatus for distributed storage integrity processing
US7325078B2 (en) * 2005-10-06 2008-01-29 Hewlett-Packard Development Company, L.P. Secure data scrubbing
US7721053B2 (en) * 2005-10-24 2010-05-18 Hewlett-Packard Development Company, L.P. Intelligent logical unit provisioning
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7631143B1 (en) * 2006-01-03 2009-12-08 Emc Corporation Data storage system employing virtual disk enclosure
JP2007206931A (ja) * 2006-02-01 2007-08-16 Hitachi Ltd 記憶システム、データ処理方法並びにストレージ装置
US7467268B2 (en) 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US7934027B2 (en) 2007-01-19 2011-04-26 Hewlett-Packard Development Company, L.P. Critical resource management
US7861031B2 (en) * 2007-03-01 2010-12-28 Hewlett-Packard Development Company, L.P. Access control management
US8024514B2 (en) * 2007-03-01 2011-09-20 Hewlett-Packard Development Company, L.P. Access control management
US7694079B2 (en) 2007-04-04 2010-04-06 Hewlett-Packard Development Company, L.P. Tagged sequential read operations
US8201018B2 (en) * 2007-09-18 2012-06-12 Hewlett-Packard Development Company, L.P. Control of sparing in storage systems
US7962690B2 (en) * 2008-01-04 2011-06-14 International Business Machines Corporation Apparatus and method to access data in a raid array
US7979635B2 (en) * 2008-02-14 2011-07-12 International Business Machines Corporation Apparatus and method to allocate resources in a data storage library
JP2010009442A (ja) * 2008-06-30 2010-01-14 Fujitsu Ltd ディスクアレイシステム、ディスク制御装置及びその再構築処理方法
US8006128B2 (en) * 2008-07-31 2011-08-23 Datadirect Networks, Inc. Prioritized rebuilding of a storage device
WO2010042109A1 (en) * 2008-10-07 2010-04-15 Hewlett-Packard Development Company, L.P. Creating snapshots of data using a selected one of different snapshot algorithms
US8086911B1 (en) * 2008-10-29 2011-12-27 Netapp, Inc. Method and apparatus for distributed reconstruct in a raid system
US9128895B2 (en) * 2009-02-19 2015-09-08 Oracle International Corporation Intelligent flood control management
US20120233397A1 (en) * 2009-04-01 2012-09-13 Kaminario Technologies Ltd. System and method for storage unit building while catering to i/o operations
JP5409159B2 (ja) * 2009-07-23 2014-02-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8719495B2 (en) * 2010-03-30 2014-05-06 Lenovo (Singapore) Pte. Ltd. Concatenating a first raid with a second raid
US9898373B2 (en) * 2010-04-26 2018-02-20 International Business Machines Corporation Prioritizing rebuilding of stored data in a dispersed storage network
US8612699B2 (en) 2010-06-25 2013-12-17 International Business Machines Corporation Deduplication in a hybrid storage environment
US8726070B2 (en) * 2010-09-27 2014-05-13 Dell Products L.P. System and method for information handling system redundant storage rebuild
US8417989B2 (en) * 2010-10-15 2013-04-09 Lsi Corporation Method and system for extra redundancy in a raid system
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements
US8719619B2 (en) * 2011-09-20 2014-05-06 International Business Machines Corporation Performance enhancement technique for raids under rebuild
WO2013057764A1 (en) * 2011-10-19 2013-04-25 Hitachi, Ltd. Storage system
US9606929B2 (en) 2011-11-08 2017-03-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Simulated NVRAM
US8966172B2 (en) 2011-11-15 2015-02-24 Pavilion Data Systems, Inc. Processor agnostic data storage in a PCIE based shared storage enviroment
US9652182B2 (en) 2012-01-31 2017-05-16 Pavilion Data Systems, Inc. Shareable virtual non-volatile storage device for a server
US8751861B2 (en) 2012-02-08 2014-06-10 Lsi Corporation System and method for improved rebuild in RAID
US8856431B2 (en) * 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
US8892939B2 (en) 2012-11-21 2014-11-18 Hewlett-Packard Development Company, L.P. Optimizing a RAID volume
US9645859B1 (en) * 2012-12-18 2017-05-09 Veritas Technologies Llc Performing I/O quiesce and drain operations in multi-node distributed systems
US9430333B2 (en) * 2013-03-14 2016-08-30 Microsoft Technology Licensing, Llc Recovery of application from snapshot
GB2514810A (en) * 2013-06-05 2014-12-10 Ibm Rebuilding data of a storage system
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
WO2015114643A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Data storage system rebuild
US9396068B2 (en) * 2014-04-17 2016-07-19 International Business Machines Corporation Adaptive rebuild scheduling scheme
US9075773B1 (en) * 2014-05-07 2015-07-07 Igneous Systems, Inc. Prioritized repair of data storage failures
US9201735B1 (en) 2014-06-25 2015-12-01 Igneous Systems, Inc. Distributed storage data repair air via partial data rebuild within an execution path
US9594632B2 (en) 2014-07-09 2017-03-14 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9582355B2 (en) * 2014-07-09 2017-02-28 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9734007B2 (en) 2014-07-09 2017-08-15 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9053114B1 (en) 2014-08-07 2015-06-09 Igneous Systems, Inc. Extensible data path
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
US9098451B1 (en) 2014-11-21 2015-08-04 Igneous Systems, Inc. Shingled repair set for writing data
US9747177B2 (en) * 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US9276900B1 (en) 2015-03-19 2016-03-01 Igneous Systems, Inc. Network bootstrapping for a distributed storage system
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US10275302B2 (en) * 2015-12-18 2019-04-30 Microsoft Technology Licensing, Llc System reliability by prioritizing recovery of objects
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US10120769B2 (en) 2016-04-13 2018-11-06 Dell Products L.P. Raid rebuild algorithm with low I/O impact
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9841921B2 (en) * 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10157021B2 (en) * 2016-06-29 2018-12-18 International Business Machines Corporation Processing incomplete data access transactions
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
CN108228482B (zh) * 2016-12-21 2021-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统中的缓存设备的方法和系统
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US10789020B2 (en) 2017-06-12 2020-09-29 Pure Storage, Inc. Recovering data within a unified storage element
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
CN116431072A (zh) 2017-06-12 2023-07-14 净睿存储股份有限公司 集成到大容量存储设备的可访问快速耐久存储
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
CN109725823B (zh) * 2017-10-27 2021-11-16 伊姆西Ip控股有限责任公司 用于管理混合存储盘阵列的方法和设备
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10417069B2 (en) 2017-12-01 2019-09-17 International Business Machines Corporation Handling zero fault tolerance events in machines where failure likely results in unacceptable loss
US10664187B2 (en) * 2017-12-01 2020-05-26 International Business Machines Corporation Reducing a rate at which data is mirrored from a primary server to a secondary server
US10725776B2 (en) * 2017-12-01 2020-07-28 International Business Machines Corporation Reducing a rate at which requests are sent from one processor to another to reduce processor utilization at the processor receiving the requests
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US20190354628A1 (en) 2018-05-21 2019-11-21 Pure Storage, Inc. Asynchronous replication of synchronously replicated data
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11182258B2 (en) * 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11625416B1 (en) 2019-09-13 2023-04-11 Pure Storage, Inc. Uniform model for distinct types of data replication
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11194663B2 (en) * 2019-09-20 2021-12-07 DigitalOcean, LLC Protocol for improving rebuild times of redundant array of independent disks
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US20210173945A1 (en) 2019-12-06 2021-06-10 Pure Storage, Inc. Replicating data to a storage system that has an inferred trust relationship with a client
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11301162B2 (en) * 2020-05-31 2022-04-12 EMC IP Holding Company LLC Balancing resiliency and performance by selective use of degraded writes and spare capacity in storage systems
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US11563744B2 (en) 2021-02-22 2023-01-24 Bank Of America Corporation System for detection and classification of intrusion using machine learning techniques
CN115237330A (zh) * 2021-04-22 2022-10-25 伊姆西Ip控股有限责任公司 用于raid重建的方法、电子设备和程序产品
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127839A (ja) * 1991-06-18 1993-05-25 Internatl Business Mach Corp <Ibm> エラーの発生したデイスクドライブを含む複数のデイスクドライブの冗長アレイ内でデータを再生する方法および装置
JPH05165577A (ja) * 1991-12-17 1993-07-02 Fujitsu Ltd アレイディスク装置のバックグラウンド処理実行方法
JPH05314674A (ja) * 1991-04-01 1993-11-26 Hitachi Ltd 記憶装置の障害回復システム及びその方法
WO1995013581A2 (en) * 1993-11-12 1995-05-18 Conner Peripherals, Inc. Scsi-coupled module for monitoring and controlling scsi-coupled raid bank and bank environment
JPH11119921A (ja) * 1991-04-01 1999-04-30 Hitachi Ltd 記憶装置
JPH11119920A (ja) * 1991-04-01 1999-04-30 Hitachi Ltd 記憶装置及びそのデータ修復方法
JPH11184643A (ja) * 1997-12-22 1999-07-09 Nec Corp ディスクアレイ装置の管理方法及びプログラムを記録した機械読み取り可能な記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392244A (en) 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5500940A (en) * 1994-04-25 1996-03-19 Hewlett-Packard Company Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation
US5680539A (en) * 1995-07-11 1997-10-21 Dell Usa, L.P. Disk array system which performs data reconstruction with dynamic load balancing and user-specified disk array bandwidth for reconstruction operation to maintain predictable degradation
US5822584A (en) * 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
US5881311A (en) * 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US6032217A (en) * 1997-11-04 2000-02-29 Adaptec, Inc. Method for reconfiguring containers without shutting down the system and with minimal interruption to on-line processing
US6799283B1 (en) * 1998-12-04 2004-09-28 Matsushita Electric Industrial Co., Ltd. Disk array device
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05314674A (ja) * 1991-04-01 1993-11-26 Hitachi Ltd 記憶装置の障害回復システム及びその方法
JPH11119921A (ja) * 1991-04-01 1999-04-30 Hitachi Ltd 記憶装置
JPH11119920A (ja) * 1991-04-01 1999-04-30 Hitachi Ltd 記憶装置及びそのデータ修復方法
JPH05127839A (ja) * 1991-06-18 1993-05-25 Internatl Business Mach Corp <Ibm> エラーの発生したデイスクドライブを含む複数のデイスクドライブの冗長アレイ内でデータを再生する方法および装置
JPH05165577A (ja) * 1991-12-17 1993-07-02 Fujitsu Ltd アレイディスク装置のバックグラウンド処理実行方法
WO1995013581A2 (en) * 1993-11-12 1995-05-18 Conner Peripherals, Inc. Scsi-coupled module for monitoring and controlling scsi-coupled raid bank and bank environment
JPH11184643A (ja) * 1997-12-22 1999-07-09 Nec Corp ディスクアレイ装置の管理方法及びプログラムを記録した機械読み取り可能な記録媒体

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809979B2 (en) 2005-03-15 2010-10-05 Fujitsu Limited Storage control apparatus and method
US8863145B2 (en) 2007-01-25 2014-10-14 Hitachi, Ltd. Storage apparatus and load distribution method
JP2008181382A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd ストレージ装置及び負荷分散方法
US8161490B2 (en) 2007-01-25 2012-04-17 Hitachi, Ltd. Storage apparatus and load distribution method
JP2011515746A (ja) * 2008-03-11 2011-05-19 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶ライブラリのための重複排除プロトコルを選択する装置および方法
JP2012043449A (ja) * 2008-03-11 2012-03-01 Internatl Business Mach Corp <Ibm> データ記憶ライブラリのための重複排除プロトコルを選択する装置および方法
US8234444B2 (en) 2008-03-11 2012-07-31 International Business Machines Corporation Apparatus and method to select a deduplication protocol for a data storage library
JP2011520182A (ja) * 2008-04-17 2011-07-14 エヌイーシー ラボラトリーズ アメリカ インク 分散データストレージシステムの信頼性の動的定量化と改善
JP2013515292A (ja) * 2010-06-17 2013-05-02 株式会社日立製作所 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
JP2013058103A (ja) * 2011-09-08 2013-03-28 Toshiba Corp 映像収録再生装置及びリビルド処理方法
JP2014059659A (ja) * 2012-09-14 2014-04-03 Toshiba Corp 映像収録再生装置及びリビルド再開方法
JP2016139251A (ja) * 2015-01-27 2016-08-04 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
US11163658B2 (en) 2017-04-17 2021-11-02 EMC IP Holding Company LLC Methods, devices and computer readable mediums for managing storage system

Also Published As

Publication number Publication date
US7213165B2 (en) 2007-05-01
JP4922496B2 (ja) 2012-04-25
US6647514B1 (en) 2003-11-11
US20040059958A1 (en) 2004-03-25

Similar Documents

Publication Publication Date Title
JP4922496B2 (ja) I/o要求に優先順位を与える方法
US6341342B1 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US7725768B1 (en) System and method for handling a storage resource error condition based on priority information
US9524107B2 (en) Host-based device drivers for enhancing operations in redundant array of independent disks systems
US7761684B2 (en) Data management method in storage pool and virtual volume in DKC
US9846544B1 (en) Managing storage space in storage systems
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US6718434B2 (en) Method and apparatus for assigning raid levels
US5809224A (en) On-line disk array reconfiguration
US9747034B2 (en) Orchestrating management operations among a plurality of intelligent storage elements
US8131969B2 (en) Updating system configuration information
US7032070B2 (en) Method for partial data reallocation in a storage system
US6041366A (en) System and method for dynamic specification of input/output attributes
US6775738B2 (en) Method, system, and program for caching data in a storage controller
US20110185147A1 (en) Extent allocation in thinly provisioned storage environment
US9547446B2 (en) Fine-grained control of data placement
US6105118A (en) System and method for selecting which data copy to read in an information handling system
US7032069B2 (en) RAID apparatus and access control method therefor which balances the use of the disk units
WO2015114643A1 (en) Data storage system rebuild
US10579540B2 (en) Raid data migration through stripe swapping
GB2382183A (en) Automatic system for assigning physical memory or storage units to logical units to reduce contention
US9367405B1 (en) Managing software errors in storage systems
KR20210138502A (ko) 오류 복구 스토리지를 위한 시스템, 방법 및 장치
US11907551B2 (en) Performance efficient and resilient creation of network attached storage objects
US9781057B1 (en) Deadlock avoidance techniques

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100401

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100823

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100928

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

R150 Certificate of patent or registration of utility model

Ref document number: 4922496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees