JPH08221876A - 記憶スペースを提供する方法 - Google Patents

記憶スペースを提供する方法

Info

Publication number
JPH08221876A
JPH08221876A JP7330583A JP33058395A JPH08221876A JP H08221876 A JPH08221876 A JP H08221876A JP 7330583 A JP7330583 A JP 7330583A JP 33058395 A JP33058395 A JP 33058395A JP H08221876 A JPH08221876 A JP H08221876A
Authority
JP
Japan
Prior art keywords
storage
data
disk
raid
mirror
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
JP7330583A
Other languages
English (en)
Other versions
JP3753259B2 (ja
Inventor
Marvin D Nelson
マーヴィン・ディー・ネルソン
Theresa A Burkes
テレサ・エー・バークス
Bryan M Diamond
ブライアン・エム・ダイアモンド
Michael B Jacobson
マイケル・ビー・ジャコブソン
Wade A Dolphin
ウェイドゥ・エー・ドルフィン
Douglas L Voigt
ダグラス・エル・ヴォイト
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 JPH08221876A publication Critical patent/JPH08221876A/ja
Application granted granted Critical
Publication of JP3753259B2 publication Critical patent/JP3753259B2/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

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

Abstract

(57)【要約】 【課題】 ディスク・アレイのすべての記憶ディスクを
十分利用しながらホット・スペア資源を提供する。 【解決手段】 ディスク・アレイ(11)の全記憶ディス
ク(12)に分布してユーザ・データおよび冗長性データ
を格納しておき、記憶ディスク故障の場合、次の2つの
ステップの一つを行う。(a)故障した記憶ディスクから
ユーザ・データを再建し、冗長性を復元するための記憶
スペースとして、ミラーまたはパリティRAID領域として
割り当てられていない不使用の記憶スペースを使う。
(b)ミラーRAID領域からパリティRAID領域にユーザ・デ
ータを移行させ、記憶ディスク故障で失われたスペース
を補うための記憶スペースを空けるためにミラー領域を
詰め込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディスク・アレ
イに関し、より具体的には、記憶ディスクが故障する場
合、ユーザ・データと冗長情報の再構築のために十分な
スペースを提供するためのホット・スペア資源を持つ冗
長で階層的なディスク・アレイ・データ記憶システムに
関する。この発明は、再構築を容易にするために必要と
されるまでユーザ・データを格納するためにホット・ス
ペア資源を使うための方法に関する。
【0002】
【従来の技術】ディスク・アレイ・データ記憶システム
は、一つの大容量記憶システムを形づくるよう配置され
協調するようにされた複数の記憶ディスク・ドライブ装
置を持っている。そのような記憶装置のための3つの主
要な設計基準がある。これらは、費用、パフォーマンス
および可用性である。メガバイトのコストが低く、入出
力パフォーマンスが高く、データ可用性が高いメモリ装
置を生産するすることが望まれる。「可用性」は、その
記憶装置に格納したデータをアクセスする能力およびな
んらかの故障の場合に継続操作を保証する能力である。
典型的には、データ可用性は、データ、またはデータ間
の関係が複数のロケーションに格納されいる状況で、冗
長性の使用を通して提供される。そのディスク・アレイ
における記憶ディスクが部分的に、あるいは、完全に故
障する場合、そのユーザ・データは残りのディスクに格
納された冗長データを通して再構成することができる。
【0003】冗長データを格納するには2つの一般的な
方法がある。第1の方法、すなわち「 ミラー」法によ
ると、データは、複製され、その記憶装置の2つの別々
の領域に 格納される。例えば、ディスク・アレイにお
いて、同じデータがディスク・アレイの2つの別々のデ
ィスクに提供される。ミラー法は、二重記憶技術によっ
て高 いパフォーマンスおよび高いデータ可用性の利点
を持っている。しかし、ミラー法は、データを格納する
費用を実質的に2倍にするので比較的高価である。
【0004】第2の方法、すなわち「パリティ」法で
は、記憶領域の一部分が、冗長データを格納するために
使われるが、冗長な記憶領域のサイズは、オリジナルの
データを格納するのに使われた残りの記憶スペースより
小さい。例えば、5つのディスクを持つディスク・アレ
イにおいて、4つのディスクが、データを格納するのに
使われ、5番目のディスクが冗長データを格納するのに
使われる。パリティ法は、ミラー法より低コストだとい
う利点があるが、ミラー法に比べるとパフォーマンスお
よび可用性特性において劣る。
【0005】
【発明が解決しようとする課題】データ冗長性は別とし
て、ディスク・アレイ・データ記憶システムのあるもの
は、故障した記憶ディスクの代用になる付加的な物理的
記憶ディスクを保留することによってデータ可用性を改
良する。この余分の記憶装置ディスクは、「スペア」と
呼ばれる。予備のディスクは、ディスク故障の後、「再
構築建」として知られるプロセスで、ディスク・アレイ
においてユーザ・データを再構成し、冗長性を復元する
ために使われる。ある場合には、この余分な記憶ディス
クはディスク・アレイに実際に取り付けられ完全に使用
可能であるが、記憶ディスクが故障するまではアイドル
状態のままである。これらの運転中の(ライヴ:live)
記憶ディスクは、「ホット・スペア」と呼ばれる。
【0006】ホット・スペア・ディスクは、ディスク故
障の際に有用であるが、すべてのディスクが正常に機能
している正常状態ではディスク・アレイになんらのサー
ビスも提供しない。ホット・スペア目的のために物理的
な記憶ディスク全体を保留して印を付けることは、付加
資源をデータ記憶作用のために十分利用する利益なしで
システムのコストを増やす。
【0007】したがって、この発明は、ディスク・アレ
イのすべての記憶ディスクを十分利用しながらホット・
スペア資源を提供することを課題とする。
【0008】
【課題を解決するための手段】この発明は、アレイに付
けられたすべての記憶ディスクを十分に利用しながら、
ホット・スペア資源の余裕を持つディスク・アレイ・デ
ータ記憶システムを提供する。ホット・スペアのために
物理的ディスク全体を予約して印を付ける代わりに、こ
の発明のシステムおよび方法は、アレイの複数の記憶デ
ィスクにわたって分布した有効記憶スペースから成るホ
ット・スペア・ディスクの論理的容量を保留する。この
ように、ディスク故障の場合、ユーザ・データを再構成
し冗長性を復元するのに、適切な量のスペースを使うこ
とができることを確保しながら、すべての記憶装置ディ
スクが、ユーザ・データを格納するために使われる。
【0009】この発明の一つの面によると、ディスク・
アレイ・データ記憶システムは、複数の記憶ディスク、
および記憶ディスクの間でユーザ・データの移転をコー
ディネートするためのディスク・アレイ・コントローラ
を持つ。RAID管理システムは、RAIDレベルの仮想記憶ス
ペースを記憶ディスクの物理的な記憶スペースにマップ
するために設けられている。RAIDレベルの仮想記憶スペ
ースは、データをミラー冗長性に従って格納するミラー
RAID領域、およびパリティ冗長性に従ってデータを格納
するパリティRAID領域を含む複数のRAID領域として物理
的な記憶スペースに提示される。RAID管理システムは、
またRAIDレベルの仮想記憶スペースを、ユーザに提示さ
れるアプリケーション・レベルの仮想記憶スペースにマ
ップする。
【0010】ホット・スペア・オプションがイネーブル
されるとき、RAID管理システムは、記憶ディスク故障に
続いて冗長性を再構築するために、ホット・スペア・ス
ペースが使用可能になることを保証しながら、ミラー記
憶装置にユーザ・データを格納するためにホット・スペ
アのスペースを使う。スペースは、ミラー記憶装置から
パリティ記憶装置へデータを移行することによって使用
可能になる。この移行は、ミラー記憶装置の量を減少さ
せながら同時にパリティ記憶装置の量を増やす。この移
行プロセスと同時に、データ記憶のためのストライプ・
サイズが、故障した記憶ディスクから失われたスペース
のために減らされる。
【0011】このシステムによると、アレイにおけるす
べての記憶ディスクがユーザ・データを格納するため、
およびディスク故障の場合にホット・スペアの目的のた
めで容易に使用可能にできる記憶スペースを維持するた
めに使われる。ホット・スペア記憶スペースのこの使用
は、並列性を増やすことによって、そしてミラー記憶装
置のためにより多くの容量を提供することによってかな
りパフォーマンスを改善する。
【0012】
【発明の実施の形態】図1は、この発明に従ってつくら
れたデータ記憶システム10を示す。データ記憶システム
10は、複数の記憶ディスク12を持つ階層的なディスク・
アレイ11、記憶ディスク12との間でのデータの転送をコ
ーディネートするためディスク・アレイ11に結合された
ディスク・アレイ・コントローラ14、およびRAID管理シ
ステムを含む、ディスク・アレイ・データ記憶システム
であるのが好ましい。この発明は、冗長な階層的なディ
スク・アレイ・システムとしての好ましい実施形態のに
ついて記述される。しかし、この発明の概念は、非階層
的なディスク・アレイのようなディスク・アレイ・デー
タ記憶システムの他の型において使用することができる
ことに注意されたい。
【0013】説明上、「ディスク」は、それ自身の記憶
装置故障を発見する能力を持つ、不揮発性でランダムに
アクセス可能な、再書き込み可能な大容量記憶装置であ
る。それは、回転する磁気ディスクおよび光ディスク、
ならびにソリッドステートのディスクまたは不揮発性電
子記憶素子(PROM、EPROMとEEPROMのような)を含む。
「ディスク・アレイ」という用語は、ディスクの集合を
いい、それらを一つまたは複数のホスト・コンピュータ
に接続するために必要なハードウェア、および物理的な
ディスクの操作を制御するために使われ、ホスト操作環
境へそれらを一つまたは複数の仮想ディスクとして提供
する管理ソフトウェアを含んでいる。仮想ディスクは、
管理ソフトウェアによってディスク・アレイの中で実現
される抽象的な構成要素である。
【0014】用語「RAID」(Redundant Array of Indepe
ndent Disks)は、記憶容量の残りの部分に格納されたユ
ーザ・データに関する冗長情報を格納するために、物理
的な記憶容量の一部分が使われるディスク・アレイを意
味する。そのアレイの構成ディスクの一つが故障するか
それへのアクセス経路が故障した場合、冗長情報がユー
ザ・データの再生を可能にする。RAIDシステムのより詳
細な説明は、The RAIDBook: A Source Book for RAID T
echnology, the RAID Advisory Board, LinoLakes, Min
nesota、1993 年6月9日、に記載されている。
【0015】ディスク・アレイ・コントローラ14は、小
型コンピュータ・システム・インターフェース(SCSI)
のような1つまたは複数のインターフェース・バス13を
通してディスク・アレイ11に結合されている。RAID管理
システム16は、インターフェース・プロトコル15を通し
て動作的にディスク・アレイ・コントローラ14に結合さ
れている。また、データ・メモリ・システム10は、I/O
インターフェース・バス17を通してホスト・コンピュー
タ(図示しない)に結合される。RAID管理システム16
は、ディスク記憶および信頼性のレベルを制御するた
め、およびいろいろな信頼性記憶レベルの間でデータを
転送するためにデータ・マネージャー手段を提供するよ
う、別々のコンポーネントとして具体化されることも、
ディスク・アレイ・コントローラ14内で、あるいはホス
ト・コンピュータ内で構成されることもできる。これら
の信頼性記憶レベルは、後述するようにミラーまたはパ
リティ冗長レベルであるのが好ましいが、全く冗長性な
しの信頼性記憶レベルを含むことができる。
【0016】ディスク・アレイ・コントローラ14は、デ
ィスク・アレイ・コントローラA、14aとディスク・アレ
イ・コントローラB、14bから成る二重のコントローラと
して実施するのが好ましい。二重のコントローラ14aと1
4bは、連続的なバックアップと冗長性を提供することに
よって、一つのコントローラが動作不能になるときの信
頼性を高める。しかし、この発明は、一つのコントロー
ラその他のアーキテクチャーでも実施することができ
る。
【0017】階層的なディスク・アレイは、その物理的
な記憶スペースおよび1つまたは複数の仮想記憶スペー
スを含めて、異なる記憶スペースとして特徴づけること
ができる。記憶装置のこれらのいろいろな見方は、マッ
ピング技法を通して関係づけられる。例えば、そのディ
スク・アレイの物理的な記憶スペースは、いろいろなデ
ータの信頼度レベルに従って記憶領域を画定する仮想記
憶スペースにマップすることができる。仮想記憶スペー
ス内のいくつかの領域が、ミラーまたはRAIDレベル1の
ような第1の信頼性記憶レベルのために割り当てられ、
他の領域がパリティまたはRAIDレベル5のような第2の
信頼性記憶レベルのために割り当てられることができ
る。いろいろなマッピング技術およびRAIDレベルに関す
る仮想スペースについて、以下に詳細を説明する。
【0018】データ記憶システム10は、異なる記憶スペ
ースを互いにマップするために使われるる仮想マッピン
グ情報を持続的に記憶するためのメモリ・マップ・スト
ア21を含む。メモリ・マップ・ストアは、ディスク・ア
レイに対して外部にあり、ディスク・アレイ・コントロ
ーラ14に常駐するのが好ましい。異なるビューの間でい
ろいろなマッピング構成が変わるにつれて、メモリ・マ
ッピング情報がコントローラまたはRAID管理システムに
よって連続的に、あるいは定期的に更新されることがで
きる。
【0019】メモリーマップ・ストア21は、それぞれの
コントローラ14aと14bに位置する2つの不揮発性RAM (Ra
ndom Access Memory) 21aおよび21bとして具体化される
のが好ましい。不揮発性RAM(NVRAM)の一例は、バッテ
リで支援されたRAMである。バッテリ支援RAMは、データ
記憶システム10への電力供給が損なわれた場合、ある時
間の間メモリの中のデータを維持するために独立のバッ
テリ源からのエネルギーを使う。一つの好ましい構造
は、自己リフレッシュ型のバッテリ支援DRAM(Dynamic
RAM)である。
【0020】二重のNVRAM 21aおよび21bが、メモリ・マ
ッピング情報の冗長な記憶を行う。仮想マッピング情報
が、ミラー冗長技術に従って複製され、両方のNVRAM 21
aおよび21bに格納される。このように、NVRAM 21aが、
オリジナルのマッピング情報を格納することに専用さ
れ、NVRAM 21bが冗長なマッピング情報を格納すること
に専用されることができる。代替構造において、ミラー
されたメモリーマップ・ストアは、そのデータを二重に
記憶するに十分なスペースを持つ単一の不揮発性RAMを
使って構成することができる。
【0021】図1に示されるように、ディスク・アレイ1
1は、複数の記憶ディスク・ドライブ装置12を持ってい
る。これらの記憶ディスクのサイズの例は、1ないし3ギ
ガバイトである。記憶ディスクは、SCSIバス13とのイン
ターフェイスを提供する機械的ベイに、独立に接続され
たり切り離したりされることができる。一つの実施例に
おいて、データ記憶システムは、12の機械的ベイを持つ
よう設計される。4つのSCSIバスが、これらのベイとデ
ィスク・アレイ・コントローラ14とをインターフェイス
するのに使われる(すなわち、3つの機械的ベイにつき
一つのバス)。活動ベイがいっぱいにロードされるなら
ば、データ記憶システムは、12ないし36ギガバイトの結
合された容量を持つ例になる。ディスク・アレイ・コン
トローラ14は、どのベイに接続されたかとは関係なく記
憶ディスク12を認識する。データ記憶システム10は、デ
ィスク・アレイが運転中である間に、ディスク・アレイ
の利用可能な機械的ベイに付加的ディスクを「ホットプ
ラグ」(稼働中にプラグ接続する)することができるよ
う設計されている。
【0022】ディスク・アレイ11の中の記憶装置ディス
ク12は、説明の目的のために、複数のディスク20のミラ
ー・グループ18および複数のディスク24のパリティ・グ
ループ22に配列されているものと観念することができ
る。ミラー・グループ18は、データを第1の、すなわち
ミラー冗長レベルに従って格納する、ディスク・アレイ
の第1の記憶ロケーションすなわちRAID領域を表わす。
また、このミラー冗長レベルは、RAIDレベル1と考えら
れる。RAIDレベル1、あるいはディスク・ミラーリング
は、データのあらゆるビットがデータ記憶システム内で
複製され記憶される点で1対1の保護を与え、最も高い
データ信頼性を提供する。ミラー冗長性は、図1におい
て3対のディスク20によって表わされている。オリジナ
ルのデータが、第1組のディスク26に格納されることが
でき、重複して冗長データが対になった第2組のディス
ク28に格納される。
【0023】図2は、RAIDレベル1に従ったデータの記憶
を図示する。垂直な列は、個々のディスク(ディスク
0、1、2および3が図示される)を表現する。4つのディ
スクのディスク・アレイに含まれる物理的な記憶スペー
スは、水平な行によって表現されるように、複数のスト
ライプに構成することができる。「ストライプ」は、記
憶ディスクを横切って広がり、一つのセグメントがその
アレイの中のそれぞれのディスクと関連する、多数の等
しい大きさの記憶スペースのセグメントを含む。すなわ
ち、セグメントは、一つのディスク上にあるストライプ
の部分である。各ストライプは、記憶ディスクを横切っ
て分配されるあらかじめ決められた量のデータを持つ。
ストライプのセグメントのあるものは、オリジナルのデ
ータのために使われ、他のセグメントが冗長データのた
めに使われる。
【0024】ミラー冗長性(RAIDレベル1)のこの例に
おいて、ディスク0上でストライプ0のセグメント0に格
納されたデータは、複製され、ディスク1上でストライ
プ0のセグメント0'に格納される。同様に、ディスク2上
でストライプ2のセグメント5に格納されたデータは、デ
ィスク3上でストライプ2のセグメント5'にミラー(複
製)される。このように、データの各部分は、複製され
てディスク上に格納される。図2の冗長性レイアウト
は、説明の目的で用意されている。冗長データは、図示
しているのと同じストライプにきちんと置かれる必要は
ない。例えば、ディスク0上でストライプ1の中のセグメ
ント2に格納されたデータは、複製されて、ディスク3上
でストライプSのセグメントT'に置かれてもよい。
【0025】再び図1を参照すると、ディスク24のパリ
ティ・グループ22は、データがRAIDレベル5のような第
2の冗長レベルに従って格納される第2の記憶ロケーシ
ョンすなわちRAID領域を表わす。6つのディスクを用い
た説明的なイラストにおいて、オリジナルのデータは、
5つのディスク30に格納され、冗長な「パリティ」デー
タが6番目のディスク32に格納される。
【0026】図3は、パリティRAID領域のレイアウトを
より詳しく示す。図2のミラーRAID領域レイアウトと同
様に、ディスク0、1、2、3の物理的な記憶スペースは、
複数の等しい大きさのストライプに構成されることがで
きる。図の例において、データがRAIDレベル5に従って
格納され、セグメントに格納された冗長データは、文字
Pによって参照される。冗長なPセグメントは、他のセグ
メントのパリティをそのストライプに格納する。たとえ
ば、ストライプ0において、ディスク3上の冗長なPセグ
メントは、ディスク0、1および2のパリティを格納す
る。各ストライプのためのパリティが、次の式の中の記
号によって表わされる排他的OR機能のようななんらか
の機能によって計算される。第1の4つのストライプの
ためのパリティ(下付き添字数字が対応するストライプ
を表わす)は、次のようである:
【0027】
【数1】 パリティ冗長性は、ディスクの一つで利用できなくなる
データの再生を可能にする。例えば、セグメント5のデ
ータが利用できなくなったならば、その内容は、セグメ
ント3および4ならびにセグメントPの中のパリティ・デ
ータから確かめることができる。パリティ記憶は、ミラ
ー記憶より経済的であるが、相対的に信頼性が低く、パ
フォーマンスが低い。
【0028】図1のディスク構成は、概念上の目的で用
意されている。実際上、ディスク・アレイ11は、データ
をミラーおよびパリティ冗長性に従って格納することが
できる単に複数のディスク12を持っていてよい。すべて
のディスク12によって提供される利用可能な記憶スペー
スの中で、その記憶スペースの一部がミラー冗長性のた
めに割り当てられ、他の部分がパリティ冗長のために割
り当てられる。ディスク12は、個々の区域が複数のセグ
メントを持つ、複数の等しい大きさに作られた記憶区域
(図4において数字35で参照される)を含むよう構成さ
れるのが好ましい。その区域は、記憶スペースの一つの
仮想ビューにおいて、RAID領域を形成するようグループ
化される。さらに、記憶スペースのもう一つの(ホスト
で規定される)ビューがユーザまたはホストに提示され
るので、RAID領域およびデータ冗長性記憶技術はユーザ
またはホストに透明である。これらの機構は、図4を参
照してより詳しく説明する。
【0029】データ記憶システム10は、ミラーおよびパ
リティ記憶法の間でデータの「移行」を管理する。両方
の型の冗長性の管理は、RAID管理システム16(図1)で
協調される。RAID管理システム16は、ディスク・アレイ
の2つの異なる型のRAID領域を、ミラーRAID領域がパリ
ティRAID領域のためのキャッシュに似た動作をするメモ
リ・ハイアラーキとして管理する。RAID管理システム16
は、規定されたパフォーマンス・プロトコルに従って、
ミラーおよびパリティRAID領域の間でデータをシフト
し、組織するなど管理する。ミラーおよびパリティRAID
領域の間でデータを動かすプロセスは、「移行」と呼ば
れる。
【0030】データ記憶システム10は、ミラー冗長性が
最も高いパフォーマンスと信頼性の余裕を持っているか
ら、よりパフォーマンスに厳格なデータをミラーRAID領
域に置こうとする。RAID管理システムによって実行され
るパフォーマンス・プロトコルは、2つの好ましい移行
方針の一つを含む。「アクセス頻度」として知られる第
1の移行方針によると、階層的なディスク・アレイ上の
最も頻繁にアクセスされるデータがミラーRAID領域18に
維持される。アクセスされる頻度の小さいデータは、パ
リティRAID領域22に維持される。「アクセスの最近度」
として知られている第2の移行方針によると、最も最近
アクセスされたデータがミラーRAID領域18に維持され、
アクセス最近度の低いデータがパリティRAID領域22に格
納される。他のパフォーマンス・プロトコルを使うこと
もできる。理想的には、そのようなプロトコルは、特定
のコンピュータ・アプリケーションおよびユーザのニー
ズに基づいて規定される。
【0031】さらに、RAID管理システム16は、2つのパ
ラメーターの関数に従って、データ記憶システムの記憶
資源を自動的に「調整する」。この2つのパラメータ
は、物理的な記憶容量のサイズ、およびデータ記憶シス
テムに格納つつあるユーザ・データの現在量のサイズで
ある。最初は、最も高いパフォーマンスおよび信頼性を
持つので、すべてのデータがミラーRAID領域に格納され
る。より多くのデータがデータ記憶システムに加えられ
るにつれて、データは、パフォーマンスおよび信頼性を
最適化するために、ミラーRAID領域およびパリティRAID
領域の間で移行される。データ記憶システムが容量いっ
ぱいに近づくと、冗長性を通しての信頼性を提供しなが
らユーザのすべての要求に応ずるために、より多くのデ
ータがパリティRAID領域に移行される。それゆえに、こ
の発明のデータ記憶システムは、最大の融通性と順応性
を持つ。この発明の記憶システムは、ユーザに特定の記
憶体制を選ぶことを要求せず、ユーザの要求に適応する
ことができる。
【0032】図4は、データ記憶システム10の利用可能
な記憶スペースのメモリ・マッピングを、マップされた
仮想記憶スペースの複数の段として図示する。図の中の
垂直に伸びたそれぞれの長方形は、物理的な記憶スペー
スのビューを表現する。この図の中で、物理的記憶スペ
ース34が2つの仮想記憶装置のビュー40および50で参照
される。物理的記憶スペース34は、数字0、1、2、およ
び3で参照される4つのディスク(図1の中のディスク12
のような)によって表現される。そのディスクに関連し
た4つの長方形は、ディスク1、2および3がほぼ等しい記
憶容量を持ち、ディスク0がわずかに小さい記憶容量を
持つ物理的な記憶スペースのビュー50を表わす。そのよ
うなディスクの例としての記憶容量は、1-3ギガバイト
である。記憶スペース34は、領域A0、A1、A2、その他に
区分される。個々の領域は、領域A0にストライプ0-Qの
ような多数のストライプを含む。個々の領域も、多数の
区域35を含む。区域35は、区域が全ディスク・アレイに
わたって同じ大きさであるように、あらゆる記憶ディス
ク上で選ばれた数の均一な大きさのセグメントから成る
のが好ましい。区域35の例としてのサイズは、1メガバ
イトである。
【0033】ディスクの記憶スペースは、物理的な記憶
スペース34の第1の、中間の、RAIDレベルの仮想ビュー
40にマップされる。この第1の仮想ビューは、観念的に
は、連続してアドレス可能な記憶スペースを表現する第
2のアプリケーション・ビューにマップされることがで
きる一組のRAID領域である。その物理的構成およびその
記憶スペースのRAIDビューは、アプリケーション・ビュ
ーから隠されている。RAID領域記憶スペース40は、ミラ
ーおよびパリティ記憶スペースを識別する記憶装置のビ
ューである。たとえば、RAID領域42が、M割当てブロッ
ク43のミラーRAID領域を表現し、RAID領域44がN割当て
ブロック45のパリティRAID領域を表現してもよい。割当
てブロック43および45は、同じ大きさであるのが好まし
い。例としての大きさは、64キロバイトである。これら
のRAID領域は、物理的な記憶スペース34上の対応する物
理的な領域A0、A1、A2などに関連する。例として、RAID
仮想ビューにおける16の64K割当てブロック43または45
は、一つの1M区域35の上へマップすることができる。
【0034】ミラーおよびパリティRAID領域は、ディス
ク・アレイの全記憶スペース34を消費するかもしれず、
消費しないかもしれない。したがって、ある種のアプリ
ケーションの間、特定のRAID領域に対応しない、不使用
の指定されていない記憶スペースがあることがある。し
かし、そのような記憶スペースは、ミラーまたはパリテ
ィRAID領域に変換されることができる。また、RAID領域
は、ディスク・アレイ上で連続する領域にマップされ、
各RAID領域に関連したそれぞれの区域が各記憶ディスク
の同じ物理アドレスに位置するものとして示されている
点に注意されたい。代わりに、RAID領域は、ディスク・
アレイ上の連続しない領域にマップされてもよい。
【0035】RAID領域で利用可能な記憶スペースは、ユ
ーザまたはホスト・アプリケーション・プログラムによ
って規定され、それらに提示される記憶装置のビューで
ある、第2の、フロントエンドの、アプリケーション・
レベルの仮想ビュー50にマップされる。ユーザまたはホ
スト・アプリケーション・プログラムから見るとき、ア
プリケーション・レベルの仮想ビュー50は、記憶ディス
ク12上の利用可能な記憶スペースを示す一つの大きい記
憶容量を表わすことができる。仮想記憶スペース50は、
個別に0、1、2、...、J-1、J、J+1、...、Lー1、L、L+
1、...、などとして参照される等しい大きさの記憶仮想
ブロック52および53の線形セットのビューを提示する。
仮想ブロック52および53は、RAID領域40における割当て
ブロックと同じサイズであることが好ましい。サイズの
例は、64キロバイトである。仮想ブロック記憶スペース
50は、RAID領域40で表されるビューの割当てブロックへ
の参照すなわちポインタ(矢印54によって表現されるよ
うに)のテーブルによって表わされる。したがって、ア
プリケーション仮想ビュー50における仮想ブロック52お
よび53は、仮想ブロック・テーブルに維持されるポイン
タを通してRAID仮想ビュー40における割当てブロック43
および45と関連する。仮想ブロック・テーブルから参照
することができる少くとも2つ型のRAID領域、ミラーお
よびパリティがある。
【0036】RAID管理システム16は、物理的な記憶スペ
ースにわたって動的にRAID領域の構成を変えることがで
きる。それぞれの型についてRAID領域の数が、システム
で格納されるユーザ・データの量および物理的なディス
ク記憶スペースのサイズに依存して増やされまたは減少
されうる。この結果、RAIDレベルの仮想ビュー40におけ
るRAID領域のディスクへのマッピング、およびアプリケ
ーション・レベルの仮想ビュー50のRAIDビュー40へのマ
ッピングは、概して変化状態にある。NVRAM 21aおよび2
1b(図1)におけるメモリ・マップ・ストアは、RAID領
域をディスクへマップするためにRAID管理システム16に
よって使われる現在のマッピング情報を、2つの仮想ビ
ューの間でマップするために使われる情報と同様に維持
する。RAID管理システムは、動的にRAIDレベルのマッピ
ングを変えるにつれて、その変更を反映するために、メ
モリ・マップ・ストアのマッピング情報を更新する。
【0037】メモリ・システム10の移行操作を図1およ
び4を参照して説明する。
【0038】説明を続ける目的で、アプリケーション・
レベルの仮想記憶スペース50の仮想ブロック53は、物理
的記憶スペース34の領域A1に格納されたパリティRAID領
域44における関連した割当てブロック45を参照する。そ
のような仮想ブロック53は、パリティ仮想ブロックと呼
ぶことができ、関連した割当てブロック45は、パリティ
割当てブロックと呼ぶことができる。同様に、仮想ブロ
ック52は、物理的記憶スペース34の領域AOに格納された
ミラーRAID領域42における関連した割当てブロック43を
参照する。そのような仮想ブロック52は、「ミラー仮想
ブロック」と呼ばれ、関連した割当てブロック43が「ミ
ラー割当てブロック」と呼ばれる。
【0039】一般に、一つのRAID領域から別の領域に移
行するために、第1のRAIDレベル型(ミラーまたはレベ
ル1のような)の割当てブロックに関連した仮想ブロッ
クが選ばれる。次いで、第2のRAIDレベル型(パリティ
またはレベル5のような)を表す不使用の割当てブロッ
クが見いだされる。不使用の割当てブロックを見いだす
ことができないならば、一つが作成される。データは、
選ばれた仮想ブロックと関連する割当てブロックから不
使用の割当てブロックに移され、データは冗長レベルを
変更される。例えば、ミラー冗長性に従って格納されて
いたデータは、パリティ冗長性に従って格納され、ま
た、その逆が行われる。最終的なステップとして、RAID
レベルの仮想記憶スペース40へのアプリケーション・レ
ベルの仮想記憶スペース50のマッピング54は、データの
シフトを反映するために修正され、更新される。以前に
第1のRAIDレベル型の割当てブロックと関連していた、
選ばれた仮想ブロックが、更新されたポインタを介し
て、移行されたデータを含む第2のRAIDレベル型の割当
てブロックを参照する。この処理の間に生じるマッピン
グ変化は、メモリ・マップ・ストア21において更新され
る。
【0040】この発明の好ましい方法と順序に従って、
ミラーおよびパリティ記憶領域の間を移行するデータの
より詳細な説明を続ける。データをパリティ記憶からミ
ラー記憶に移行するために、次のシーケンスが使われ
る。
【0041】1. RAID管理システムは、ミラーRAID領域
42における、不使用のミラー割当てブロック43を見つけ
る。 2. 何も見つけられることができなければ、RAID管理シ
ステムは、ミラー割当てブロック(下で説明する)を作
り出す。 3. RAID管理システムは、移行すべき仮想ブロックへの
新しい記憶要求を中断する。 4. RAID管理システムは、仮想ブロックへのすべての有
効なデータ記憶要求が完了されるまで待つ。 5. 仮想ブロック53に関連したパリティ割当てブロック
45からのデータが、一時記憶バッファに読み込まれる。 6. データは、次いで、ステップ2において選ばれたミ
ラー割当てブロックに書き込まれる。 7. 仮想ブロック・テーブルは、ミラー割当て43ブロッ
クにおけるそのデータの新しいロケーションを参照する
よう修正される。 8. 中断されていた記憶要求が、再開される。
【0042】上記の手順によると、アプリケーション・
レベルの仮想ビュー50における仮想ブロック53は、パリ
ティ記憶からミラー記憶に移行した。中間の仮想ビュー
40に関し、データは、パリティRAID領域44におけるパリ
ティ割当てブロック45からミラーRAID領域42におけるミ
ラー割当てブロック43に移行されている。物理的な記憶
スペースにおいて、データは領域A1から領域A0に動いて
いる。
【0043】不使用のミラー割当てブロックを見いだす
ことができないならば(上のステップ1)、RAID管理シ
ステムは、次の3つの技法の好ましいシーケンスをため
す。第1に、RAID管理システムは、不使用のRAIDレベル
の記憶のシステムしきい値を破ることなくミラーRAID領
域に変換されることができる、不使用の(したがって指
定されていない)RAID領域を見つけるよう試みる。これ
は、移行を常に進めることができることを保証するため
に必要とされる。これが失敗し、そして保留量の不使用
のRAIDレベル記憶より多くをシステムが持っているなら
ば、システムは、不使用のパリティ割当てブロックを不
使用のRAID領域に集めるためにパリティ記憶装置内でデ
ータを移行させる。この移行によって、上述のようにミ
ラーRAID領域に変換されることができる不使用のRAID領
域が生じれば、システムは、それをミラーRAID領域に変
換する。さもなければ、システムは、不使用のミラー割
当てブロックを見いだすに十分か、または不使用のRAID
領域をミラーRAID領域に変換するに十分に、不使用のRA
IDレベルの記憶装置をシステムが増やすまで、データを
ミラー記憶装置からパリティ記憶装置へ移行し、ミラー
記憶装置を詰め込み、不使用のRAIDレベルの記憶をパリ
ティに変換する。ミラー割当てブロックがパリティ割当
てブロックより大きな物理的な記憶スペースを占めるか
ら、この最後の技法によって、不使用のRAIDレベル記憶
装置の量が正味増加する。
【0044】不使用のミラー割当てブロックを見つける
ためおよび確立するために使われる創設/変換プロトコ
ルは、RAID管理システムがユーザ・データの量および物
理的な記憶スペースのサイズに従ってパリティおよびミ
ラー領域の間で記憶割当てを選択的に調節することを可
能にするので、有利である。データ使用および記憶容量
が変化するにつれて、RAID管理システムは、ミラー記憶
装置に保持されるデータの量を最大にするために上記の
3つの技法の1つまたは複数を使う。
【0045】RAID管理システムは、スペース作成シーケ
ンスがアイドル時間に不使用RAID領域をつくることによ
って不使用のミラー割当てブロックを創設するのを、記
憶装置要求が待たなければならない状況を避けようとす
る。しかし、いくらかの状況において、記憶装置要求は
スペース作成シーケンスの間、中断されることがある。
RAID管理システムは、仮想スペースがRAIDビューより小
さくなるような形態で、仮想ブロック記憶スペースを構
成する。これは、少くとも1つのRAID領域と等しい自由
スペースが移行その他の目的のためにとっておかれるこ
とを保証する。このように、この技法は、常に不使用の
ミラー割当てブロックを生む。
【0046】データをミラー記憶装置からパリティ記憶
装置へ移行させるために、以下の順序が使われる: 1.RAID管理システムは、アクセス最近度またはかアク
セス頻度のような移行方針に従ってミラー記憶装置から
パリティ記憶装置へ移行させるために仮想ブロックを52
から選ぶ。 2. RAID管理システムは、パリティRAID領域44に不使用
のパリティ割当てブロック45を見つける。 3.そのようなブロックが見つけられないならば、移行
用に保留されたスペースが上述の創設技法に従ってパリ
ティRAID領域に変換される。 4. 移行されるべき仮想ブロックへの新しい記憶装置要
求が中断される。 5. RAID管理システムは、仮想ブロックへのすべての有
効な記憶装置要求が完了するまで待つ。 6. データは、仮想ブロック52に関連したミラー割当て
ブロック43から一時記憶バッファに読込まれる。 7. そのデータは、選ばれたパリティ割当てブロック45
に書込まれる。 8. 仮想ブロック・テーブルが、パリティ割当てブロッ
ク45におけるデータの新しいロケーションを参照するよ
う修正される。 9. 仮想ブロックへのデータ要求が再開される。
【0047】上述の2つの番号を付けたシーケンスは、
この発明のメモリ・システムが異なる2つの冗長性レベ
ルの間でデータを移行する方法の例を提供する。
【0048】データ冗長は別として、この発明のディス
ク・アレイ・データ記憶システムは、データ 可用性を
高めるために「ホット・スペア」能力を提供する。発明
の背景において説明し たように、先行技術のディスク
・アレイは、記憶ディスクが故障する場合に使用する付
加的な物理的記憶ディスク、すなわち「スペア」をと
っておく。この余分な記憶ディス クは、ディスク・ア
レイに取り付けられ、完全に動作可能であるが、記憶デ
ィスク故障 が起こるまで、働いていないままである。
このライブ記憶ディスクは、「ホット・スペ ア」と呼
ばれる。ホット・スペア・ディスクは、ディスク故障の
後、「再構築」として 知られるプロセスでデータを再
構成し冗長性を復元するために使われる。あいにく専用
のホット・スペア・ディスクは、すべてのディスクが
正しく作用している通常操作の間には有用なサービスを
提供せず、ディスク故障の際にだけ有用である。
【0049】この発明のディスク・アレイによると、デ
ィスク故障の際にユーザ・データを再構築するに十分な
量の記憶スペースが、アレイの多数のそして好ましくは
すべての記憶ディスクにわたって分布した形態で維持さ
れ、RAID1の記憶装置を増大させるのに使われる。「ホ
ット・スペア」に指定された記憶装置ディスクは一つも
ない。アレイにおけるすべてのディスクは、再構築のた
めに記憶スペースをつかうことができるような態様でア
クセス可能なユーザーデータを格納する。ホット・スペ
ア・スペースの使用は、並列性を増やすことによって、
そして、ミラー記憶のためにより多くの容量を提供する
ことによってかなりパフォーマンスを改善する本質にお
いて、過去、単にホット・スペア資源のためにだけ保留
された付加的な磁気ディスクが、ユーザ・データを格納
する通常動作のためにアレイに編入される。
【0050】図5は、ディスク故障が起こる前に、記憶
ディスク0-5を持つ例としての6ディスクの同質のディ
スク・アレイを示す。その記憶スペースすなわち記憶空
間のすべてが、ミラーまたはパリティ技法に従ってユー
ザ・データおよび冗長データを格納するために使われ
る。どのディスクも領域も、ホット・スペア資源のため
にだけ保留されることがない。ここで、そのユーザ・デ
ータの55%がRAID5のパリティ領域に格納され、45%がRAI
D1のミラー領域に格納される。たとえすべての記憶空間
が普通のデータ記憶のために使われているとしても、デ
ィスク故障の場合、冗長性を復元するためおよびユーザ
・データを再建するために、ある量のスペースを使用可
能にすることができる。この図において、使用可能にす
ることができるホット・スペア・スペースが、アレイの
記憶ディスクにわたって分布するRAID1の記憶スペース
として現在使われている。
【0051】図6は、図5と同じディスクアレイを示す
が、記憶ディスク5の故障の後を示している。ディスク5
の上に格納されたユーザ・データおよび/または冗長デ
ータは、失われる。故障が生じると、ディスク・アレイ
は、そのシステムにおける冗長性を再構築する再構築プ
ロセスを開始する。スペースは、ミラー記憶からパリテ
ィ記憶にデータを移行することにより使用可能にされ
る。この移行は、ミラー記憶の量を減少させてながら、
同時にパリティ記憶の量を増やす。この移行プロセスと
並行して、故障した記憶ディスクのために失なわれた一
つのセグメントだけシステムのすべてのストライプのサ
イズが減少する。いまや、ストライプがディスク0-4に
わたって広がるだけでディスク5にわたっては延びてい
ないことに注意されたい。このデータ移行およびストラ
イプ・サイズの減少の結果、90%のユーザ・データがRAI
D5の領域に格納され、10%がRAID1の領域に格納される。
冗長性は、この再構築プロセスに続いてディスク・アレ
イに復元されている。
【0052】図7は、ディスク5の故障に続いてデータの
移動によってどのように付加的スペースが自由にされる
かを図示する。この図は、一般に数字90と92で参照され
る3つのストライプの2セットを含む記憶ディスク0-5の
部分を示す。上の3つのストライプにおけるデータは、
ユーザ・データがセグメント1-9に格納され、冗長デー
タがセグメント1'ないし9'に格納されるミラー記憶技法
に従って格納される。ディスク5の冗長データ3'、6'お
よび9'がこのディスクの故障のために消失していること
に注意されたい。
【0053】図7の例において、ストライプ90における
ユーザ・データが低いセットのストライプ92に移行され
ると仮定する。ここで冗長性記憶技法の相違によって、
ユーザ・データ1ないし9をより少ないセグメントに格納
することができる。ディスク5の消失にもかかわらず、
そのデータの移動によって付加的な3つのセグメント
(「不使用」のラベル)が使用可能になった。この3つ
のセグメントは、ユーザ・データを格納するために使う
ことができる。
【0054】ディスク故障に続く再構築を保証しながら
RAID1の記憶装置としてホット・スペア・スペースを使
う能力は、メモリ・マネージャーによって管理される。
好ましい実施例においいて、メモリ・マネジャーは、ユ
ーザ・データ、冗長データおよびのディスク・アレイ上
の不使用スペースの情報を追跡し続けるRAID管理システ
ム(図1)として具体化される。
【0055】RAID管理システムは、ユーザに割り当てる
ことができるアプリケーション・レベルの仮想記憶スペ
ースの量(図4におけるスペース50)に人為的な天井を
設けることによって、使われた記憶スペースがホット・
スペア目的のために、有効にされることを保証する(ア
プリケーション・レベルの仮想記憶スペースの量が、ホ
ット・スペア・オプションがオフにされれば使用可能で
あるものから、減らされる点で「人為的」)。この天井
を提供するために、RAID管理システムは、ディスク・ア
レイがその必要な機能(データの移動のような)を実行
することができることを保証しながら、ユーザに割り当
てることができるアプリケーション・レベルの仮想記憶
スペースの容量を定型的に計算する。ユーザがホット・
スペア・オプションを選ぶとき、RAID管理システムは、
まるでそれがそのアレイにおける最も大きいサイズの記
憶ディスクの容量を含まなかったように、アプリケーシ
ョン・レベルの容量を計算する。最も大きい記憶ディス
クの容量は、アレイにおける最も大きいものを含む任意
の記憶ディスクが故障する場合に、再構築プロセスが実
行されることを保証するのに使われる。すべての記憶デ
ィスクが同じサイズである均質なディスク・アレイにお
いては、任意の記憶ディスクの容量を使うことができ
る。
【0056】ひとたび人為的な天井が計算されるなら
ば、RAID管理システムは、計算された容量を越えて付加
的なアプリケーション・レベルの仮想記憶スペースが割
り当てられるのを防ぐことによってこの限界を強制す
る。容量分析および強制の結合によって、アプリケーシ
ョン-レベル仮想記憶スペースのサイズが人為的に減少
させられ、これによって、記憶ディスクが故障する場
合、確実に十分な量のRAIDレベルの仮想記憶スペースが
再構築のための使用可能になる。
【0057】同時にホット・スペアを保証しながら、ア
プリケーション・レベルの仮想記憶スペースの現在の量
を、満たすことができなけらば、RAID管理システムは、
ホット・スペア・スペースが使用可能でないことをユー
ザに知らせる警告を生成する。ディスク・アレイがすで
に一つの記憶ディスクをなくしているとき、この状況が
起こるかもしれない。例えば、故障したディスク5をも
つ図6のディスク・アレイは、別のディスク損失を受
け、しかもユーザ・データの冗長性を維持することはで
きない。ユーザが最初にホット・スペア・オプションを
イネーブルしないで、アプリケーション・レベルの仮想
記憶スペースのサイズがセットされた後にこの機構を要
求するときに、別の状況が起こりうる。ディスク・アレ
イは、その時点で、ホット・スペア資源を保証すること
ができないかもしれない。
【0058】図8は、正常状態の間、およびディスク故
障の場合のディスク・アレイの動作方法を示す。ステッ
プ100において、RAID管理システム16は、ディスク・ア
レイ12によって提供される物理的な記憶スペースを第1
のすなわちRAIDレベルの仮想記憶スペース40(図4参
照)にマップする。先に述べたように、RAIDレベルの仮
想記憶スペースは、ミラーおよびてパリティRAID領域と
して物理的な記憶スペースを提示する。ステップ102に
おいて、RAID管理システムは、ディスク故障の場合、デ
ィスク・アレイにわたって十分な記憶スペースが使用可
能にされることができるようにする。
【0059】データが最初にそのシステムに置かれると
き、そのデータは、完全にミラー記憶装置(ステップ10
4)に格納される。ユーザ・データおよび対応する冗長
データは、均一にそのディスクにわたって広がるのがよ
い。ミラー記憶装置は、パリティ記憶装置と比較してパ
フォーマンスおよび信頼性がよく、したがって好ましい
記憶型である。ユーザ・データの量がそのシステムにお
けるそのディスクの物理的容量のおよそ二分の一に届く
とき、ユーザ・データが記憶容量のおよそ二分の一を消
費し、冗長性データが残りの半分を消費するから、ディ
スク・アレイは、実効的に満杯である。ユーザ・データ
の量が、50の%閾値を越えるにつれて、RAID管理システ
ムは、これらのタイプの間でのデータ移動を使って、デ
ータをミラーおよびパリティRAID領域両方に格納し始め
る(ステップ106)。パリティ記憶装置を使うと、同じ
合計スペースにミラー記憶よりも多くのユーザ・データ
を格納することができる。データ記憶システムがいっぱ
いになり続けると、増加する量のデータを収納するため
に、比例的により多くのデータがパリティ記憶に移行さ
れる。ミラー記憶装置におけるユーザ・データの量は、
減少する。
【0060】記憶ディスクが、正常動作の間の任意の時
点で故障する場合(破線によってステップ108に)、RAI
D管理システムは、再構築プロセスを始める。ステップ1
09において、RAID管理システムは、ディスク故障の場合
に利用可能にされることができる適切な量のホット・ス
ペア・スペースがあるかどうかを、評価する。言い換え
ると、故障した記憶ディスクを除いたシステムで、割り
当てた容量のすべてを冗長性とともに格納することがで
きることができるかを評価する。ディスク故障の場合に
(すなわち、ステップ109から「NO」分岐)割り当てた
容量のすべてを冗長性とともに格納する、適切な量のス
ペースがなければ、ディスク・アレイ記憶システムは、
ホット・スペア資源すなわち冗長性を復元する能力なし
で劣化した条件で操作される(ステップ111)。
【0061】一方、ホット・スペアのための適切なスペ
ースがあるならば(すなわち、ステップ109からの「YE
S」分岐)、RAID管理システムは、ユーザ・データを再
建して、冗長性を復元する目的のために十分なスペース
が利用可能にされているかどうかを、判断する(ステッ
プ110)。ある場合(すなわち、ステップ110からの「YE
S」分岐)、ディスクアレイは、利用可能な自由スペー
スを使って、故障した記憶ディスクからユーザ・データ
を再建し冗長性を復元する。代わりに使用可能にされた
十分なスペースがなければ(すなわち、ステップ112か
ら「NO」分岐)、RAID管理システムは、故障した記憶デ
ィスクで失われたスペースを補う利用可能な記憶スペー
スを空けるために、ミラー記憶装置からパリティ記憶装
置にユーザ・データを移行させる。RAID管理システム
は、十分な量の使用可能な記憶スペースが空けられ、故
障したディスク・スペースの必要性がなくなるまで、ミ
ラーからパリティ記憶装置にデータを移行し続ける(ス
テップ110および114のループによって表現されるよう
に)。
【0062】この発明のディスク・アレイ・システム
は、ディスク故障に続いて再構築を保証しながら、すべ
ての記憶ディスクがデータをミラー記憶装置に格納する
ために等しく使われる点で、先行技術のディスク・アレ
イより有利である。故障が起こるまで、不使用になる専
用記憶ディスクがない。ミラー記憶装置としてのホット
・スペア記憶装置の使用は、並列性を増やし冗長な記憶
スペースへの書き込みを管理する複雑さを減少させるこ
とによって、かなりディスク・アレイ全体のパフォーマ
ンス を改善する。
【0063】しかし、この発明は、上述した特定の特長
に限られるものではなく、均等論によって解釈される特
許請求の範囲で規定する事項を包含する。この発明は、
例として次の実施態様を含む。
【0064】1.記憶ディスクが故障した場合、記憶ディ
スク・アレイにおける再構築に使用するための記憶スペ
ースを提供するための方法であって、複数の記憶ディス
クを有するディスク・アレイを準備するステップと、ユ
ーザ・データをすべての記憶ディスクに格納するステッ
プと、冗長データを記憶ディスクの中の少なくとも1つ
に格納するステップと、記憶ディスクの一つが故障する
場合、ユーザ・データを再建し、冗長性を復元するため
に十分な量の記憶スペースが利用可能にできるようにす
るステップと、を含み、ディスク故障が起きるまで上記
の量の記憶スペースをユーザ・データおよび冗長データ
の格納のために使用する、上記記憶スペースを提供する
方法。
【0065】2. ユーザデータおよび冗長データを格納
するために使われる記憶スペースを、そのユーザ・デー
タを再建して、冗長性を復元するためのホット・スペア
・スペースに変換するステップを含む上記1の方法。 3.ディスク故障に続いてディスク・アレイにおけるユー
ザ・データを再建し冗長性を復元するために、十分な量
の記憶スペースを利用可能にすることができないことが
判断されるとき、ホット・スペア資源が、保証されえな
いことを知らせる警告を、ユーザに発するステップを含
んでいる上記1の方法。
【0066】4. 物理的な記憶スペース(34)を規定する
選ばれた容量の複数の記憶ディスク(12)のディスク・
アレイ(11)を含んでいる階層的なデータ記憶システム
(10)おける再構築に使用する記憶スペースを提供する
ための方法であって、物理的な記憶スペース(34)をRAID
レベルの仮想記憶スペース(40)にマップする物理的な記
憶スペースを、データをミラー冗長性に従って格納する
ミラーRAID領域およびデータをパリティ冗長に従って格
納するパリティRAID領域を含む複数のRAID領域として提
示するステップと、ユーザ・データがディスク・アレイ
(11)のすべての記憶ディスク(12)にわたって分布す
る態様で少くともミラーまたはパリティRAID領域の1つ
にユーザ・データを格納するステップと、記憶ディスク
故障の場合、ユーザ・データを再建し冗長性を復元する
に十分な量のRAIDレベルの仮想記憶スペース(40)を利用
可能にすることができることを確実にするステップと、
を含み、記憶ディスク故障が生じるまでミラー冗長性に
従ってデータを格納するのに、ユーザ・データを再建し
冗長性を回復するために利用可能にされることができる
量の記憶スペースを使う、上記記憶スペースを提供する
方法。
【0067】5. 次のステップを含む上記4の方法:RAI
D-レベル仮想記憶スペース(40)をアプリケーション・レ
ベルの仮想記憶スペース(50)にマップするステップと、
最も大きいサイズ記憶ディスクの容量を含むことなくユ
ーザに割り当てることができるアプリケーション・レベ
ルの仮想記憶スペース(50)の容量を計算するステップ。 6.十分な量のRAIDレベルの仮想記憶スペース(40)が、再
構築のために利用可能にされることができることを確保
するため、計算された容量を越えて付加的なアプリケー
ション・レベルの仮想記憶スペースを割り当てるのを防
ぐステップを含む上記5の方法。 7.上記4の方法において、ディスク・アレイ(11)が、2
つ以上の記憶装置ディスク(12)を持ち、ミラーRAID領
域がデータを格納するのに、同じ量のデータを格納する
のにパリティRAID領域によって消費されるよりも多くの
RAIDレベルの仮想記憶スペース(40)を消費するようにな
っており、さらに、以下のステップを含む方法:最初に
ユーザ・データをミラーRAID領域に格納するステップ
と、記憶ディスク故障の場合、以下の2ステップの一つ
を行うステップ; (a)故障した記憶ディスクからユーザ・データを再建
し、冗長性を復元するための記憶スペースとして、ミラ
ーまたはパリティRAID領域として割り当てられていない
不使用の記憶スペースを使う、または (b)ミラーRAID領域からパリティRAID領域にユーザ・デ
ータを移行させ、故障した記憶ディスクで失われたスペ
ースを補うための記憶スペースを空けるためにミラー領
域を詰め込む。
【0068】8.複数の記憶ディスク(12)を有するディ
スク・アレイ(11)と;記憶ディスク(12)との間でユー
ザ・データの転送をコーディネートするためにディスク
・アレイ(11)に結合されたディスク・アレイ・コント
ローラ(14)と;メモリ割り当ておよびディスク・アレ
イ(11)上のデータ記憶を管理するためディスク・アレ
イ・コントローラ(14)に結合されたメモリマネージャー
(16)と;を含み、該メモリマネージャーは、すべての
記憶ディスク(12)にわたってユーザ・データおよび冗
長データを分配し、記憶ディスクの一つが故障する場
合、ユーザ・データを再建し冗長性を回復するために利
用可能にされることができる十分な量の記憶スペースを
維持し、記憶ディスク故障に続く再構築のためにその記
憶スペースが利用可能にされることを保証しながら、ユ
ーザ・データおよび冗長性データを格納するためにその
量の記憶スペースを使うようにしたデータ記憶システ
ム。
【0069】9.記憶ディスク(12)が物理的な記憶空間
(34)を規定し、メモリ・マネージャー(16)が、RAIDレ
ベルの仮想記憶スペース(40)を記憶ディスク(12)の物
理的な記憶スペース(34)にマップするRAID管理システム
を含み、RAIDレベルの仮想記憶スペースが、物理的な記
憶スペースを複数のRAID領域として提示するRAID領域
は、データをミラー冗長に従って格納するミラーRAID領
域、およびデータをパリティ冗長に従って格納するパリ
ティRAID領域を含み、さらに、RAID管理システムは、RA
IDレベルの仮想記憶スペース(40)をアプリケーション・
レベルの仮想記憶スペース(50)にマップし、最も大きい
サイズ記憶ディスクの容量を含むことなくユーザに割り
当てることができるアプリケーション・レベルの仮想記
憶スペース(50)の容量を計算するようにした上記8のデ
ータ記憶システム。
【0070】10. RAID管理システムは、十分な量のRAI
Dレベルの仮想記憶スペース(40)が、ユーザ・データを
回復し冗長性を復元するために利用可能にされることを
確実にするために、計算された容量を越えて、付加アプ
リケーション・レベルの仮想記憶スペース(50)の割り当
てを防ぐ上記9のデータ記憶システム。
【0071】
【発明の効果】この発明によると、ディスク・アレイの
すべての記憶ディスクを十分利用しながらホット・スペ
ア資源が得られる。
【図面の簡単な説明】
【図1】この発明に従う冗長な階層的なディスク・アレ
イ・データ記憶システムの図表のブロック図である。
【図2】複数の記憶ディスク上の記憶スペースを示す図
表で、RAIDレベル1によるデータ記憶を示している。
【図3】複数の記憶ディスク上の記憶スペースの図表
で、RAIDレベル5によるデータ記憶を示す。
【図4】2つの仮想記憶スペースが物理的な記憶スペー
スの上へマップされている、この発明のメモリーマッピ
ング取り決めの図表である。
【図5】複数の記憶ディスク上の記憶スペースの図表で
あって、記憶ディスクの故障前のホット・スペア資源の
使用を示す。
【図6】複数の記憶ディスク上の記憶スペースの図表で
あって、記憶ディスクの故障後のホット・スペア資源の
使用を示す。
【図7】複数の記憶ディスク上の記憶スペースの図表で
あって、RAIDレベル1の記憶装置からRAIDレベル5の記憶
装置へのデータの移動によってホット・スペアのために
どのようにスペースが使用可能になるかを示す。
【図8】図8は、ホット・スペア・スペースの可用性を
保証するようディスク・アレイを操作する方法の流れ図
である。
【符号の説明】
10 データ記憶システム 11 ディスク・アレイ 12 記憶ディスク 13 インターフェイス・バス 14 ディスク・アレイ・コントローラ 18 ミラー・グループ 22 パリティ・グループ
フロントページの続き (72)発明者 ブライアン・エム・ダイアモンド アメリカ合衆国83704アイダホ州ボイジー、 ラムスゲート 9704 (72)発明者 マイケル・ビー・ジャコブソン アメリカ合衆国83714アイダホ州ボイジー、 オースティン 8884 (72)発明者 ウェイドゥ・エー・ドルフィン アメリカ合衆国83704アイダホ州ボイジー、 ペトリエ 7179 (72)発明者 ダグラス・エル・ヴォイト アメリカ合衆国83702アイダホ州ボイジー、 ノース・トゥエンティフォース 3030

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】記憶ディスクが故障した場合、記憶ディス
    ク・アレイにおける再構築に使用するための記憶スペー
    スを提供するための方法であって、 複数の記憶ディスクを有するディスク・アレイを準備す
    るステップと、 ユーザ・データをすべての記憶ディスクに格納するステ
    ップと、 冗長データを記憶ディスクの中の少なくとも1つに格納
    するステップと、 記憶ディスクの一つが故障する場合、ユーザ・データを
    再建し、冗長性を復元するために十分な量の記憶スペー
    スが利用可能にできるようにするステップと、 を含み、ディスク故障が起きるまで上記の量の記憶スペ
    ースをユーザ・データおよび冗長データの格納のために
    使用する、上記記憶スペースを提供する方法。
JP33058395A 1995-02-10 1995-12-19 記憶空間を提供する方法およびデータ記憶システム Expired - Fee Related JP3753259B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US386,574 1995-02-10
US08/386,574 US5666512A (en) 1995-02-10 1995-02-10 Disk array having hot spare resources and methods for using hot spare resources to store user data

Publications (2)

Publication Number Publication Date
JPH08221876A true JPH08221876A (ja) 1996-08-30
JP3753259B2 JP3753259B2 (ja) 2006-03-08

Family

ID=23526167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33058395A Expired - Fee Related JP3753259B2 (ja) 1995-02-10 1995-12-19 記憶空間を提供する方法およびデータ記憶システム

Country Status (4)

Country Link
US (1) US5666512A (ja)
EP (1) EP0726521B1 (ja)
JP (1) JP3753259B2 (ja)
DE (1) DE69532030T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519356A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 格納システム状態インジケータおよび方法
JP2010113727A (ja) * 2009-12-21 2010-05-20 Hitachi Ltd 制御方法及び記憶システム
US8700948B2 (en) 2008-12-25 2014-04-15 Fujitsu Limited Storage area managing apparatus and storage area managing method
US8966143B2 (en) 2012-08-15 2015-02-24 Fujitsu Limited Method for controlling storages and storage control apparatus

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334195B1 (en) * 1995-12-29 2001-12-25 Lsi Logic Corporation Use of hot spare drives to boost performance during nominal raid operation
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
JP3140957B2 (ja) * 1996-02-16 2001-03-05 インターナショナル・ビジネス・マシーンズ・コーポレ−ション デイスク装置およびデイスク装置におけるエラー処理方法
US5875457A (en) * 1996-10-08 1999-02-23 Mylex Corporation Fault-tolerant preservation of data integrity during dynamic raid set expansion
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
JP3595099B2 (ja) * 1997-03-17 2004-12-02 富士通株式会社 デバイスアレイ・システム
US6098119A (en) * 1998-01-21 2000-08-01 Mylex Corporation Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level
US6230240B1 (en) * 1998-06-23 2001-05-08 Hewlett-Packard Company Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6519679B2 (en) 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6842422B1 (en) 1999-06-15 2005-01-11 Marconi Communications, Inc. Data striping based switching system
US6430714B1 (en) * 1999-08-06 2002-08-06 Emc Corporation Failure detection and isolation
US6513093B1 (en) * 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
WO2001040925A1 (fr) * 1999-12-02 2001-06-07 Fujitsu Limited Batterie de disques et procede d'extension de sa capacite
US6785835B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Raid memory
US6530004B1 (en) 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US6691136B2 (en) 2000-09-28 2004-02-10 Fair Issac Corporation Fast data retrieval based upon contiguous consolidation of records according to frequency of access
US6595998B2 (en) * 2001-03-08 2003-07-22 Spinewave, Inc. Tissue distraction device
US6802023B2 (en) 2001-03-15 2004-10-05 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having hot insertion system and method
US6708285B2 (en) 2001-03-15 2004-03-16 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having system and method for handling controller resets
US6715101B2 (en) 2001-03-15 2004-03-30 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having an on-line controller removal system and method
US6845465B2 (en) * 2001-09-17 2005-01-18 Sun Microsystems, Inc. Method and system for leveraging spares in a data storage system including a plurality of disk drives
US6710958B2 (en) 2001-10-26 2004-03-23 Hewlett-Packard Development Company, L.P. Optimized sparing table and method
US7055056B2 (en) * 2001-11-21 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for ensuring the availability of a storage system
US7111117B2 (en) * 2001-12-19 2006-09-19 Broadcom Corporation Expansion of RAID subsystems using spare space with immediate access to new space
KR100463841B1 (ko) * 2002-02-25 2004-12-29 한국전자통신연구원 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법
US6732233B2 (en) * 2002-05-21 2004-05-04 International Business Machines Corporation Hot spare reliability for storage arrays and storage networks
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US7024585B2 (en) * 2002-06-10 2006-04-04 Lsi Logic Corporation Method, apparatus, and program for data mirroring with striped hotspare
US7337269B2 (en) * 2002-10-03 2008-02-26 Hewlett Packard Development Company, L.P. Method of managing a data storage array, and a computer system including a raid controller
US7216195B1 (en) * 2003-03-29 2007-05-08 Emc Corporation Architecture for managing disk drives
US7062673B2 (en) * 2003-05-19 2006-06-13 Hitachi Global Technologies System and method for sparing in RAID-1 system
US7308599B2 (en) * 2003-06-09 2007-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for data reconstruction after failure of a storage device in a storage array
US7058762B2 (en) * 2003-06-09 2006-06-06 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting among multiple data reconstruction techniques
US7827353B2 (en) * 2003-07-15 2010-11-02 International Business Machines Corporation Self healing memory
GB0320494D0 (en) * 2003-09-02 2003-10-01 Ibm Methods apparatus and controllers for a raid storage system
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
JP4384470B2 (ja) * 2003-10-21 2009-12-16 株式会社日立製作所 記憶装置の管理方法
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) * 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US20050193273A1 (en) * 2004-02-18 2005-09-01 Xiotech Corporation Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
GB2411258A (en) * 2004-02-18 2005-08-24 Hewlett Packard Development Co A method of maintaining a data storage system comprising an array of storage modules
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
US7093157B2 (en) * 2004-06-17 2006-08-15 International Business Machines Corporation Method and system for autonomic protection against data strip loss
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
GB0419599D0 (en) * 2004-09-03 2004-10-06 Ibm Controlling preemptive work balancing in data storage
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP4441929B2 (ja) * 2005-01-19 2010-03-31 日本電気株式会社 ディスク装置及びホットスワップ方法
US7484038B1 (en) * 2005-01-26 2009-01-27 Network Appliance, Inc. Method and apparatus to manage storage devices
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
US20060236149A1 (en) * 2005-04-14 2006-10-19 Dell Products L.P. System and method for rebuilding a storage disk
US20060253674A1 (en) * 2005-05-06 2006-11-09 Xiv Ltd. Automatic disk healing
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
US7743276B2 (en) * 2006-09-27 2010-06-22 Hewlett-Packard Development Company, L.P. Sufficient free space for redundancy recovery within a distributed data-storage system
JP2008102590A (ja) * 2006-10-17 2008-05-01 Hitachi Ltd ストレージシステムの運用管理方法およびストレージシステム
KR100800484B1 (ko) * 2006-11-03 2008-02-04 삼성전자주식회사 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법
US20080155213A1 (en) * 2006-12-20 2008-06-26 International Business Machines Corporation Data Logging and Hot Spare Device Management
JP2008181416A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
US7958303B2 (en) * 2007-04-27 2011-06-07 Gary Stephen Shuster Flexible data storage system
US7987383B1 (en) 2007-04-27 2011-07-26 Netapp, Inc. System and method for rapid indentification of coredump disks during simultaneous take over
US20090265510A1 (en) * 2008-04-17 2009-10-22 Dell Products L.P. Systems and Methods for Distributing Hot Spare Disks In Storage Arrays
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
US8392654B2 (en) * 2009-04-17 2013-03-05 Lsi Corporation Raid level migration for spanned arrays
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8935595B2 (en) 2010-03-12 2015-01-13 Lsi Corporation LDPC erasure decoding for flash memories
US9727414B2 (en) 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
JP5980798B2 (ja) 2010-12-01 2016-08-31 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 独立したシリコン素子の動的な上位レベルの冗長モード管理
US8719663B2 (en) 2010-12-12 2014-05-06 Lsi Corporation Cross-decoding for non-volatile storage
CN103415844B (zh) * 2011-01-18 2016-04-20 希捷科技有限公司 用于高级冗余信息计算的系统和方法
US9594421B2 (en) 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
US9454434B2 (en) 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
JP6244974B2 (ja) * 2014-02-24 2017-12-13 富士通株式会社 ストレージ装置、及びストレージ装置の制御方法
US9563509B2 (en) 2014-07-15 2017-02-07 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
CN105893188B (zh) * 2014-09-30 2018-12-14 伊姆西公司 用于加速磁盘阵列的数据重构的方法和装置
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
CN108153622B (zh) * 2016-12-06 2021-08-31 华为技术有限公司 一种故障处理的方法、装置和设备
US10664367B2 (en) 2017-11-30 2020-05-26 International Business Machines Corporation Shared storage parity on RAID
CN110389858B (zh) * 2018-04-20 2023-06-09 伊姆西Ip控股有限责任公司 存储设备的故障恢复方法和设备
US10929037B2 (en) 2019-06-15 2021-02-23 International Business Machines Corporation Converting a RAID to a more robust RAID level
US11442826B2 (en) 2019-06-15 2022-09-13 International Business Machines Corporation Reducing incidents of data loss in raid arrays having the same raid level
US11074118B2 (en) 2019-06-15 2021-07-27 International Business Machines Corporation Reporting incidents of data loss in RAID arrays
CN111597066B (zh) * 2020-05-14 2023-06-06 深圳忆联信息系统有限公司 Ssd修复方法、装置、计算机设备及存储介质
CN114253460A (zh) * 2020-09-23 2022-03-29 伊姆西Ip控股有限责任公司 管理存储池的方法、设备和计算机程序产品
US11436142B1 (en) * 2021-04-23 2022-09-06 EMC IP Holding Company, LLC System and method for moving metadata without updating references used by the metadata

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0428021B1 (en) * 1989-11-03 1998-09-02 Compaq Computer Corporation Method for data distribution in a disk array
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5287462A (en) * 1991-12-20 1994-02-15 Ncr Corporation Bufferless SCSI to SCSI data transfer scheme for disk array applications
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5289418A (en) * 1992-02-14 1994-02-22 Extended Systems, Inc. Memory apparatus with built-in parity generation
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
US5455934A (en) * 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5485571A (en) * 1993-12-23 1996-01-16 International Business Machines Corporation Method and apparatus for providing distributed sparing with uniform workload distribution in failures
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system
US5524204A (en) * 1994-11-03 1996-06-04 International Business Machines Corporation Method and apparatus for dynamically expanding a redundant array of disk drives
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008519356A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 格納システム状態インジケータおよび方法
JP2008519350A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム
JP4870678B2 (ja) * 2004-11-05 2012-02-08 ドロボ, インコーポレイテッド 格納システム状態インジケータおよび方法
US9043639B2 (en) 2004-11-05 2015-05-26 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
US8700948B2 (en) 2008-12-25 2014-04-15 Fujitsu Limited Storage area managing apparatus and storage area managing method
JP2010113727A (ja) * 2009-12-21 2010-05-20 Hitachi Ltd 制御方法及び記憶システム
US8966143B2 (en) 2012-08-15 2015-02-24 Fujitsu Limited Method for controlling storages and storage control apparatus

Also Published As

Publication number Publication date
EP0726521A3 (en) 2000-02-23
DE69532030D1 (de) 2003-12-04
EP0726521B1 (en) 2003-10-29
JP3753259B2 (ja) 2006-03-08
US5666512A (en) 1997-09-09
DE69532030T2 (de) 2004-06-17
EP0726521A2 (en) 1996-08-14

Similar Documents

Publication Publication Date Title
JP3753259B2 (ja) 記憶空間を提供する方法およびデータ記憶システム
JP3753461B2 (ja) 冗長性パリティ法によるデータの書き込み方法およびデータ記憶システム
EP0726514B1 (en) Methods for using non contiguously reserved storage space for data migration in a redundant hierarchic data storage system
EP0715249B1 (en) Methods of and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US5546558A (en) Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
JP3699165B2 (ja) データ記憶装置の記憶容量を拡大する方法
EP0709765B1 (en) Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables
EP0639811B1 (en) Memory systems with data storage redundancy management
US5696934A (en) Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchial disk array
US6704839B2 (en) Data storage system and method of storing data
JP3505093B2 (ja) ファイル管理システム
US6647460B2 (en) Storage device with I/O counter for partial data reallocation
US20020118582A1 (en) Log-structure array
JP2006120120A (ja) 複数のデータ・フォーマットを割り振るための一般記憶コンテナ
JPH08221875A (ja) データ記憶システムにおける仮想容量の過大割当てを避ける方法
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
US11544005B2 (en) Storage system and processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050614

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees