JP2005531071A - Raidデータの復元および移動でのファイルシステム情報の使用 - Google Patents

Raidデータの復元および移動でのファイルシステム情報の使用 Download PDF

Info

Publication number
JP2005531071A
JP2005531071A JP2004516269A JP2004516269A JP2005531071A JP 2005531071 A JP2005531071 A JP 2005531071A JP 2004516269 A JP2004516269 A JP 2004516269A JP 2004516269 A JP2004516269 A JP 2004516269A JP 2005531071 A JP2005531071 A JP 2005531071A
Authority
JP
Japan
Prior art keywords
data
disk
block
blocks
information
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.)
Pending
Application number
JP2004516269A
Other languages
English (en)
Other versions
JP2005531071A5 (ja
Inventor
スティーブン・アール・クライマン
スティーブン・エイチ・ストレンジ
Original Assignee
ネットワーク・アプライアンス・インコーポレイテッド
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 ネットワーク・アプライアンス・インコーポレイテッド filed Critical ネットワーク・アプライアンス・インコーポレイテッド
Publication of JP2005531071A publication Critical patent/JP2005531071A/ja
Publication of JP2005531071A5 publication Critical patent/JP2005531071A5/ja
Pending legal-status Critical Current

Links

Images

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/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
    • 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
    • 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/2056Error 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 by mirroring
    • G06F11/2082Data synchronisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

ディスクの故障時(210)、記憶システムは、割り当てられたデータを含むディスクブロックのみを移動し、可能なとき、未割り当てのディスクブロックを論理的に0として扱う。予備ディスクが無いとき、ソースティスクブロックは論理的に0に設定され、ソースディスクブロックに関係するRAIDストライプに対してパリティを再計算する(223)。予備があるとき、予備上の未割り当てのブロックは移動時に論理的又は物理的に0に設定される(222)。故障ディスクへの書き込み動作は他の非故障ディスクに再指示され、使用ディスクでのその記録はこれらの他の非故障ディスクへ移動され維持される。未使用ディスクブロックは予め0に設定される。目標ミラーコピーは、割り当てられたディスクブロックに関する情報を用い、割り当てられたデータまたはパリティを含むこれらのブロックをコピーすることにより及び、いずれも未割り当てを含むこれらのブロックのミラー化時にクリアすることでなされる。

Description

発明の詳細な説明
発明の背景
[発明の分野]
この発明は、RAIDデータの復元および移動におけるファイルシステム情報を使用することに関する。
[関連する技術]
コンピューターシステムで大量記憶装置を維持する既知の1つの方法はRAID(「安価なディスクによる冗長アレイ」)と呼ばれる。RAID記憶装置はディスクのグループを含み、それの少なくとも一部は、データを記憶するために用いられ、それの少なくとも一部は、前記データに関係するパリティ情報を記憶するために用いられ、そのデータおよびパリティは、複数のディスクにわたって分配される。これは、ディスクブロック(それらはデータまたはパリティを記憶する)のうちの1つが故障した場合、あるいは全ディスクが故障した場合。RAID記憶システムがオリジナルのデータを(記憶されたデータの残りから、およびパリティ情報から)復元することを可能にする。データとパリティは、RAIDストライプと呼ばれるディスクブロックの組で互いに関係している。
RAID記憶に関する既知の1つの問題は、駆動が失敗した場合、RAID記憶システムは、もはや同じ程度の冗長を持っておらず、同じ程度の冗長を維持することが望まれるなら、調整されなければならないということである。すなわち、RAID記憶システムは、データの損失なしに後の第2のディスク失敗を許可するが望ましい。しかし、RAIDストライプで2つの別個に失敗したディスクに対してデータを復元することは可能ではない。同じ程度の冗長を維持するために、RAID記憶システムは、故障したディスクからのデータを修復する予備のディスクを持つか、あるいは(適切な利用可能なスペースがある場合)、故障したディスクから他のディスクへデータを移動する。後の場合では、各RAIDストライプに関連したパリティは、割り当てられたデータの移動に応じて調節されなければならない。しかしながら、データの復元およびパリティの再計算は、ディスクドライブに対して実質的にリードおよびライトの動作を含んでおり、また、ディスクへのアクセス数および、ディスクと残りのコンピューターシステムとの間でやりとりされる転送データの容量を最小限にすることが有利になる。
従って、データ信頼度を維持し、故障したディスクの論理的な削除を可能にし、又、データ移動か復元、あるいはパリティ調節を実行するために、計算とディスクへのアクセスの容量を最小限にする記憶システム(それはRAID記憶システムあるいは別のタイプの記憶システムであってもよい)を提供することが有利である。これらの利点および他のものは、ファイルシステムによって維持された情報(どのディスクブロックが実際に、記録している記憶データを使用中であるかの情報を含む)が、データの復元および移動およびパリティの再計算で使用される、この発明の実施例で提供される。計算およびディスク・アクセスを最小限にする、この発明の利点も、ソースから目標記憶システムへ全体の記憶容量を反映すると共に、記憶システムの正常な動作で使用することができる。
[発明の概要]
この発明は、データ信頼度を維持し、故障したディスクの論理的な削除を可能にし、データの移動または復元またはパリティの再計算を実行するため、計算とディスクへのアクセスを最小限にする、方法およびシステムを提供する。好ましい実施例では、データの復元および移動、およびパリティの再計算を実行する場合、この記憶システムは、本質的に単に割り当てられたディスクブロックに関する情報を用い、前もって定義した値(例えば0)にセットされた未割り当てのディスクブロックを無視する。ディスクの故障においては、この記憶システムは、故障したディスク上のそれらのディスクブロックのみを移動し、割り当てられていないディスクブロックを、可能な場合、論理上0であるとして扱う。
この発明の態様では、ファイルシステムによって維持された情報が、どのディスクブロックが故障したディスクに実際に割り当てられているか識別する。RAIDグループ中のディスクは、予備のディスクがある場合、あるいは予備のディスクがない場合のどちらかで故障するかもしれない。ディスクブロックが故障したディスクから移動されることになっているが、予備のディスクが無い場合、それらのディスクブロックは、故障したディスクからRAIDグループ中の他の故障の無いディスクへ移動され、その結果、RAIDグループ中のディスクの数を低減する。それらのディスクブロックが移動された時(すなわち、データが復元され、目標ディスクブロックへコピーされる)、ソースのディスクブロックは、論理的に0にセットされ、そして、ソースのディスクブロックに関連したRAIDストライプのために再計算される。一旦故障したディスクからの割り当てられたディスクブロックがすべて移動されると、故障したディスクは論理的にRAIDグループから取り除くことができる。ディスクブロックが、故障したディスクから予備のディスクに移動されることになっている場合、予備のディスク上の未割り当てのブロックが、移動時に論理的あるいは物理的に選択された値(0)へセットされることを除き、これらのディスクブロックは、同様に移動される。
この発明の態様では、他の非故障のディスクへの書き込み動作(これは故障したディスク上のディスクブロックのために意図されている)を再指示することにより、ファイルシステムが積極的にRAID記憶システムを支援する。このファイルシステムは、使用のディスクブロックが、他の故障の無いディスクに、このように"移動"された記録をも維持し、その結果、故障したディスク上で本来維持されていた、記憶データがいつ完全に移動されたかの指標を提供する。ディスクへの書き込み時、書き込み時のみならず、後の回の書き込み時の双方で、パリティ再計算の容量を最小限にするために、ファイルシステムは率先して、未使用のディスクブロックを選択された値(0)にセットする。好ましい実施例では、ファイルシステムは、少なくとも次の場合に未使用のディスクブロックを0にセットする:
(1) 新しいディスクがRAIDグループに加えられる場合
(2) 未使用のディスクブロックを含んでいるRAIDストライプが書き込まれる場合
好ましい実施例では、ファイルシステムが「一貫性ポイント」を維持し、そのポイントでは、記憶データは、自己矛盾の無いことが保証され、ディスクに一貫性ポイントをライトする場合
この発明の態様では、RAID記憶システムは、(RAIDレベル5のような)技術(パリティブロックが異なるディスク上で見つけられる)を使用してもよい。それらのディスクのうちの1つが故障した場合、ファイルシステムは故障したディスクについてのパリティ情報に関連したRAIDストライプを識別し、そして、ディスクブロックの全セットを、それらのストライプから他のディスクへ移動し、それにより、故障のないディスク上でそれらの全ストライプのためのパリティ情報を維持する。
この発明の態様では、記憶システムは、RAID記憶システムによって実行された動作を改善するために、割り当てられたディスクブロックに関する情報を用いる。記憶システムは、1つのいずれかのRAIDストライプをいつ書き込むか、また、どのディスクブロックが割り当てられるかに応答して、減算により、または再計算により、パリティを計算することがより効率的であるかを決定する。
この発明の態様では、記憶ボリュームの目標ミラーコピーは、割り当てられたディスクブロックに関するファイルシステム情報を用い、割り当てられたデータを含むブロック、およびパリティを含むブロックをコピー(ミラーコピーに)することにより、および、あらゆる割り当てられたデータあるいはパリティを含まないブロックを(ミラーコピーで)取り除くことにより、作成することができる。その目標記憶ボリュームは、このようにどんなパリティ再計算も要求せずに、ソース記憶ボリュームに応じて構築することができる。
この発明は、データが多数のデバイス上で維持され、また、少なくとも、これらの多数のデバイスに記録された少なくともいくつかの情報(例えば、ファイルシステムの一部でなく、又は、キャッシュから立ち退かせることができるキャッシュ化のオブジェクト)を放棄できる、ファイルシステムおよび記憶システムに対して一般的な適用可能性を持つ。これらの適用のいずれも、一貫性ポイントを維持するファイルシステムに特に制限されず、また、それらがRAID記憶システムに特に制限されず、それらがそうでなければ、ここに示された特定の適用に関係するシステムに制限される、ということもない。
[好ましい実施例の詳細な説明]
この記述では、好ましいプロセス・ステップおよびデータ構造を含む、この発明の好ましい実施例が記述される。当業者なら、この明細書の熟読後に、不適当な実験または別の発明を用いることなくこの発明の実施例が、特に記述していない様々な他の技術を使用して実行でき、また、そのような他の技術もこの発明の範囲または本旨内にあることが理解されるであろう。
[用語集]
次の用語はこの発明あるいはその実施例の態様に関するか、参照する。これらの用語の各々の一般的な意味は、例示されるために意図されたものであり、全く限定するものではない。
・一貫性ポイント(consistency point):一般に、これは、自己矛盾がなく、したがって一貫性ポイント内のデータへの参照がファイルシステム・エラーに帰着するだろうという心配のないディスク上に保存することができるファイルシステムによって維持されたデータの確認可能なセットに関する。そのフレーズ「一貫性ポイント」は、原子的に自己矛盾がないものと同様に、最近の変化に対して専門誌への記述によって保証された首尾一貫を有する、ファイルシステムを十分に広くカバーするよう意図される。
・ディスクブロック(disk block):一般に、これは、データを記憶することができる大量記憶システムの割り当て可能部分を指す。そのフレーズ「ディスクブロック」は、量子化されているか、否かのディスク上の割り当て可能なスペースを十分に広くカバーするように意図されている。
・ファイルシステム(file system):一般に、これは、大量記憶に維持された、名前付けスキーマおよびファイルデータの間の関係を維持するシステムを含む、記憶システム上でディスクブロックを直接管理するすべての適用を指す。このフレーズ「ファイルシステム」は、ディスクに直接読み書きするシステム、および異なるサブシステムあるいはオペレーティング・システムの他の部分がディスクに読み書きすることを可能にするシステムの両方を含む、ファイルシステムの変形を広くカバーするに十分なように意図される。
・記憶システム(storage system):一般に、データを記憶するためのシステムは、例えば、RAIDアレイで整えられた1セットの1枚以上のディスクである。この記憶システムは、1つ以上のボリュームに分配でき、その各々は記憶システムのように作用する。このフレーズ「記憶システム」および「ボリューム」あるいは、「記憶ボリューム」は取り替えて用いることができる。
・ディスクブロックの移動(migration of disk blocks):一般に、これは、失われたディスクブロックからのデータを、故障の無い(それ故、利用可能な)ディスクのような大量記憶システムへコピーするか復元するためのいずれかの技術を指す。
・パリティ再計算(parity recalculation):一般に、これは、他の冗長情報と結合するか、しないかに拘わりなく、喪失後に記憶されたデータに応じて、パリティ情報あるいは他の冗長情報を回復するために任意の技術を指す。
・RAID グループ:一般に、これは、RAID記憶システムに含まれ、データの冗長を維持するためにRAID記憶システムによって用いられるディスクの組みを指す。いくつかのシステムは、それらのディスクを1つ以上のRAIDグループに分けるRAID記憶システムを含むことがある。
・RAID 記憶システム:一般に、これは、冗長情報の組み(恐らくパリティ情報、ハミングコード、あるいは、実際のデータのコピーのような他のある形式の冗長のごときもの)を含み、そして喪失に応じてデータ復元の可能性を提供する、大量記憶システム上でデータを維持するための任意の技術を指す。
・RAID ストライプ:一般に、これは、ディスクブロックと、冗長情報(喪失後に少なくともいくらかを回復することができるようにディスクブロックおよび余剰情報は相互依存する)の間の任意の関連を指す。
・復元(reconstruction):一般に、これは、他の記憶されたデータと結合していてもしなくても、冗長情報に応じて、喪失後にデータを復元するために任意の技術を指す。
・ゼロマップ(zeromap):一般に、これは、どのディスクブロックが論理的にあるいは物理的に0に設定されたかを示す登録部の組みを有するテーブルを指す。
・ストライプマップ(stripemap):一般に、これは、どのRAIDストライプが故障したディスクから移動されたのかを示す登録部の組みを有するテーブルを指す。
この発明の範囲および趣旨は、これらのいずれの定義に対して、およびここで述べる特定の実施例に対して限定されず、これらおよび他の用語によって具体化された最も一般的な概念を含むように意図される。
[システムの要素]
図1は、RAIDデータの復元でファイルシステム情報を用いることを含むファイルシステムおよびRAID記憶システムのブロック図を示す。
システム100はファイルシステム120、記憶システム140およびこれらの2つの間の通信リンク160を含む。そのシステムは、さらにファイルシステム120の実行のためにプロセッサー(示されていない)とプログラム及びデータのメモリ(示されていない)を含む。
このファイルシステム120は、記憶システム140内にディスクブロック(個別かそれのグループ)に関する情報を示す組みのファイルシステム情報テーブル121を含む。記憶システム140によってデータが失われた場合であっても、それらのファイルシステム情報テーブル121が、ファイルシステム120にアクセス可能である限り、ファイルシステム情報テーブル121は、メモリに記録されることができるか、あるいは記憶システム140の選択された部分に記録されることができ、あるいはそれ以外(不揮発性のメモリあるいは他の補助記憶装置のごとく)に記憶できる。ファイルシステム情報テーブル121中の特別の情報はさらに下に記述される。
その記憶システム140は、ディスク141の組みを含み、それらの各々は、(少なくともいくつかのでティスク・ブロック142に記憶された)データを含むディスクブロック142の組みを含み、そのティスク・ブロック142は、(少なくともいくつかのディスクブロック142に記憶された)少なくともいくつかの冗長情報を含むRAIDストライプのセットに配置される。任意の個々のディスク141上の任意の個々のディスクブロック142上の情報が、他のディスク141上の他のディスクブロック142上の情報に関係するように、RAIDストライプ143が配置される。これは、任意のディスクブロック142あるいは全ディスク141の損失であっても、任意の個々のディスクブロック142についての情報が復元されるか再計算されることを可能にする。RAID記憶システムは大量記憶システムの分野で周知である。
通信リンク160はファイルシステム120および記憶システム140を連結し、ファイルシステム120および記憶システム140が、ディスクブロック142のために、およびシステム100の動作のために、情報を交換することができるすべての技術を含む。好ましい実施例では、通信リンク160は、ファイルシステム120および記憶システム140につながれたバスを含む。
ファイルシステム情報テーブル121は、セットのブロックマップ登録部123を有し、割り当てられたファイルシステム・データにより、どのディスクブロック142が使用中かを示す、ブロックマップテーブル121を含む。したがって、ブロックマップテーブル122は、各ディスク141上の各ディスクブロック142に対し、そのディスクブロック142がファイルシステム120により使用されているか(例えば論理値"1"が示されているか)、あるいはファイルシステム120により使用されていないか(例えば論理値"0"が示されているか)を示す。この記述の中で用いられたように、「割り当てられたファイルシステム・データ」は、ファイルシステム120によって維持されるかもしれないすべての一時的データ構造から区別され、その一時的データ構造は、恐らくオンのディスク要素を含んでいるかもしれない。割り当てられたファイルシステム・データも、好ましい「WAFL」ファイルシステム120に関する開示に記述されたような「スナップ写真」データのごとき、ファイルシステム120によって維持されるかもしれない、ファイルシステム・データのバックアップのコピーと区別される。
ファイルシステム情報テーブル121は、セットのゼロマップの登録部125を有し、どのディスクブロック142が論理的に又は物理的に0に設定されているかを示す、ゼロマップテーブル124を含む。
ファイルシステム情報テーブル121は、組みのストライプマップ登録部127を有し、どのRAIDストライプ143が故障したディスクから移動したかを示す、ストライプマップテーブル126を含む。RAIDストライプ143が故障したディスクについてのパリティ情報を含んでいた場合に、そのRAIDストライプ143が移動される、この発明の態様において、各ストライプマップの登録部127は、RAIDストライプ143全体からディスクブロック142が、移動されたかを示す(パリティ情報はそれ自身が移動されないため)。
[割り当てられたデータの移動]
ディスクブロック142中のデータが失われた(例えば、ディスクブロック142が感染した)場合、あるいは、ディスク141上のすべてのデータが失われた(例えば、ディスクが故障した)場合、記憶システム140は失われたデータを復元することができる。どんな割り当てられたデータも持たないようにブロックマップテーブル122で示されていた、ディスクブロック142が失われたとき、そのディスクブロック142に対してデータを復元する必要はない。したがって、個々のディスクブロック142のために、使用していない時にもし失われれば、記憶システム140は、いずれのデータも復元する必要がない。全ディスク141に対しては、もし失われれば、記憶システム140は単に、その時に使用されていたこれらのディスクブロック142に対してデータを復元しなければならない。
予備のディスクが無い場合、そのファイルシステム120は、割り当てられたディスクブロック142に対するデータを復元するように(つまり、ブロックマップテーブル122によって割り当てられるためにディスクブロック142が示される)、そして、ディスクに改造されたデータをコピーすることは、記憶システム140内の同じRAIDグループ中の他の故障の無いディスク141上のディスクブロック142に復元されたデータをコピーするように、記憶システム140に命令を出す。代替の実施例では、復元されたデータは記憶システム140における異なるRAIDグループで他の故障のないディスク141にコピーされてもよい。次に、ディスクブロック142は、その故障したディスク141に対して、もはや書き込まれず、そのため、ファイルシステム120は利用可能なVBN(仮想のブロック番号)スペース内の「穴」としてそれらを扱う。例えば、故障したディスクがディスク#1、#2、#3、#4、および#5(パリティ)の内のディスク#3であるなら、ディスク#1、#2、および#4に対するVBNsは、まだ有効であるが、ディスク#3に対するVBNsは無効になる。故障したディスク141からのデータのすべてを取り除いたとき、故障したディスク141をRAIDグループから論理的か物理的に取り除き、その結果、RAIDグループにおけるディスク141の数を1つ低減する。
当業者は、この明細書の熟読後に、データ復元の量を減少させるブロックマップテーブル122の使用は、同じ程度の故障の許容を維持する一方、記憶システム140が、仕事の量を最小にするということを認識するであろう。また、当業者は、この出願の熟読後に、過度の実験や新発明をすることなく、この技術を、既にRAIDおよび、コーベットまたは"EVENODD"のものなどのような複数の故障を許容するRAIDに似たシステムに適用できることを認めるであろう。また、より一般に、当業者はまた、この出願の熟読の後に、この技術を、過度の実験や新発明することなく、データかメタデータが配置されるべき固定された固定の位置を持っていないすべての記憶システムに適用できるということが認められるであろう。
故障したディスク141上のディスクブロック142に対するデータが移動された時、記憶システム140は、前記ディスクブロック142に対するデータを論理的にクリア(ゼロに設定)する。そのファイルシステム120は、対応するRAIDストライプ143のためのゼロマップの登録部125を設定する。その記憶システム140は、対応するRAIDストライプのためのパリティを再計算し、そして、再計算されたパリティを、対応するRAIDストライプ143内のパリティディスク141に書き込む。
予備ディスクがある場合、ファイルシステム120は、同様に、割り当てられたディスクブロック142からデータ移動するように記憶システム140に命令する。割り当てのないディスクブロック142に対して、記憶システム140は、別の故障の無いディスク141上の対応するディスクブロック142に書き込むが、割り当てられていないディスクブロック142からデータを復元することを試みない。好ましくは、記憶システム140は、非割り当てのディスクブロック142のための移動目標であるディスクブロック142を物理的にクリア(ゼロに設定)する。好ましい実施例では、ファイルシステム120は、ディスクが移動目標であるディスクブロック142を持つディスク141を指示するために、SCSI「同一に書き込む」コマンドを使用するように記憶システム140に命令する。これは、ディスク141による活動に対して、および、ファイルシステム120と記憶システム140の間の帯域幅について節約する。
そのストライプマップテーブル126は、それぞれのRAIDストライプ143のためのストライプマップ登録部127を含み、そのRAIDストライプ143に対して、RAIDストライプ143内の(故障ディスク141からの)ディスクブロック142が別の故障の無いディスク141に移動したどうかを示す。特定のディスクブロック142が故障ディスク141から故障のないディスク141に移動したことを、その対応するストライプマップ登録部127が示した時、記憶システム140は、以降のパリティ再計算の間の考察から、その特定のディスクブロック142を取り除くことができる。より正確には、その記憶システム140は、前記特定のストライプに、示されたディスクブロック142が一様に0である推定を書き込み時に、パリティを再計算する。すべてのディスクブロック142が故障ディスク141から他の故障のないディスク141に移動したことを、ストライプマップテーブル126が示した時、ファイルシステム120および記憶システム140は、故障したディスク141を全体で論理的に削除することができる。
[アクセス要求の再指示]
そのファイルシステム120は、故障したディスク141上のディスクブロック142にアクセスするための要求を再指示するに際して記憶システム140を支援する。好ましい実施例では、そのファイルシステム120は、(故障ディスク141ではない、いずれかのディスク141上の)ディスクブロック142へのすべての書き込み動作が、書き込み動作の目標である、ディスクブロック142からデータをコピーすることにより、そして、新たに変更されたコピーを指示するために、目標ディスクブロック142へのポインタを調整することにより実行される、コピー・オン・ライト技術を含む。好ましい実施例では、記憶ボリュームの一貫性ポイントを発生させるとき、これらの変更は一緒にグループ化される。 しかしながら、そのようなグループ化のためのどんな特定の要件もない。
ディスク141の故障、またはディスクブロック142が不正になった場合、ファイルシステム120は、失われた各ディスクブロック142が不正とマークされることを示すために、(不正ブロック登録部を持つ不正ブロックテーブルを含む)そのファイルシステム情報テーブルをマークする。最初の結果は、不正ディスクブロック142への書き込みのどんな試みも、コピー・オン・ライトの動作が実行されるべきことを生じさせる。2番目の結果は、次の一貫性ポイントまでに、ファイルシステム120がディスクに一貫性ポイントの書き込みの一部としてディスクブロック142のコピーを生成するということである。
失われたディスクブロック142に対するユーザーの要求が再指示されるので、また、ファイルシステム120が、次の一貫性ポイントまでに、ディスクブロック142のコピーを生成するので、記憶システム140は、ファイルシステム120からの命令を待つことができ、失われたディスクブロック142を積極的に復元することによって応答するね必要はない。
[ディスクブロックの事前のゼロ化]
ある場合には、ファイルシステム120は、記憶システム140に、ディスクブロック142全体を0に設定するように先を見越して命令を出し、 その結果、そのディスクブロック142を含むストライプに関連しているパリティ情報の簡単な「再計算」(または、「再計算」なし)を許容する。好ましい実施例では、上で説明したように、ファイルシステム120は、SCSIの「同一様に書き込む」コマンドを使用するように記憶システム140に命令する。
そのファイルシステム120は少なくとも以下の場合で全体のディスクブロックを0に設定する。
・新しいディスク141がRAIDグループに追加されるとき、それぞれのRAIDストライプ143は、その結果、1個のディスクのブロック142により広くされ、そして、そのような各ストライプのためのパリティは、その結果、新しいディスクブロック142のデータに応答する。いずれかのパリティ情報を再計算するよりも、むしろ、ファイルシステム120は、先を見越して、新しいディスクブロック141内のすべてのディスクブロック142を0に設定するよう、記憶システム140に命令し、その結果、パリティ情報が変化しないようにさせる。
パリティは好ましくは、RAIDストライプ143内のディスクブロック142内のすべてのデータの排他的論理和("XOR")としても知られている、サム・モジューロ2(sum modulo 2)として計算される。したがって、すべてゼロである新しいディスクブロック142を挿入することは、RAIDストライプ143内でパリティは変化しない。
・未割り当てのディスクブロック142(すなわち、ファイルシステム120によって「使用中であること」がマークされていないディスクブロック142)を含むRAIDストライプが書き込まれた時、ファイルシステム120は、それらのディスクブロックのデータを0に設定するように記憶システム140に先を見越して命令する。これは、ファイルシステム120、又は記憶システム140、又は、フライ・バイ XOR サブシステムのような、システム100のある他の要素のいずれかに対して、実行に依存して、未使用のディスクブロック142を読み出すことなく、前記ストライプに対するパリティ情報を計算することを許可する。未使用のディスクを読む必要性のないことは、記憶システム140によって実行される読み込み動作の数を減らし、また、ファイルシステム120と記憶システム140の間で使用される通信帯域幅の量を減少させる。
・ファイルシステム120が一貫性ポイントをディスクに書く準備ができたとき、一般に、それはディスク141上の比較的多数のディスクブロック142に書き込む。ファイルシステム120が、それらのディスクブロック142を全体のRAIDストライプ143にグループ化することを試み、そのため、書き込み動作は、可能な限りに効率的にでき、また、パリティ計算は、最小にできる(割り当てられたデータのブロック142に対するオーバヘッド操作として見たとき)。RAIDストライプ143に書き込むとき、ファイルシステム120は、一貫性ポイントの一部でない(また、従ってファイルシステム120によって未割り当てであるとマークされる)RAIDストライプ内のそれらのディスクブロック142をクリアにするように記憶システム140に命令する。これは、それらのディスクブロック142を読むことなく、パリティ計算を進めることができる。
[パリティの効率的な計算]
この発明の態様では、ディスクブロック142により実行された動作は、目標のRAIDストライプ143内のディスクブロック142に対するゼロマップテーブル125に応答する。それらにゼロマップテーブル125に応答して、ファイルシステム120は目標のRAIDストライプ143内の0でないディスクブロックの個数を計数できる。このことは、ファイルシステム120か記憶システム140が、いずれかのRAIDストライプ143にいつ書き込むか、引き算でパリティを計算するか、または再計算でパリティを計算するのが、より効率的であるかを決定することを可能にする。
その記憶システム140は引き算でパリティを計算することができ、すなわち、ディスクブロック142をディスク141に書き込むとき、記憶システム140は、(そのRAIDストライプ143のために)関連したパリティからディスクブロック142内の古いデータを引き算することができ、そして、そのディスクブロック142に書き込まれるべき新しいデータを、関連するパリティに加算することができる。引き算と足し算の両方は、操作法2(bitwise modulo two)が実行される。引き算でパリティを計算することは、RAID記憶システムの分野で周知である。代わりに、そのRAIDストライプ143のためのすべてのディスクブロック142を加えることによって(modulo two)、記憶システム140はパリティ情報について再計算することができる。
組のディスクブロック142をディスク141に書き込むとき、そのファイルシステム120は、引き算でパリティを計算するのが、より少ないディスク動作を必要とするだろうかどうか、または全体のRAIDストライプ143からパリティを再計算するのが、より少ないディスク動作を必要とするかどうかを決定する。ファイルシステム120はゼロマップテーブル124からそれを決定することができ、それは、RAIDストライプ内の十分なディスクブロックがゼロであるかどうか決定することができて、したがって、パリティ情報全体を計算することから免除されることができる。RAIDシステムが(ゼロマップで示されるように)以前に0でないなら、RAIDシステムは、単にストライプ143内の0が割り当てられていないブロックである。これは、おそらくストライプ内の割り当てられていない、非WAFLファイルシステムに対して特に有用である。
[喪失パリティへの移動]
RAIDレベル4システムでは、パリティは、記憶システム140内の単一のディスク141上に保持される。つまり、すべてのRAIDストライプは、「パリティディスク」と参照される、同じディスク141上にそれらのパリティを持つ。RAIDレベル5システムでは、パリティは、記憶システム140内の複数のディスク141を横切って分配される。つまり、それぞれのRAIDストライプは、異なったディスク141上にそのパリティを持ち、そのため、単一のいかなる「パリティディスク」も存在しない。
RAIDレベル5システムのディスク141が故障したなら、故障ディスク141を使用しているこれらのRAIDストライプは、それらのパリティに対して、パリティブロックを持たず、したがって、それらの残っているディスクブロック142の1つ以上がデータを失うなら、情報を喪失する結果となる。ファイルシステム120は、それらのRAIDストライプに対するディスクブロック142が「不正」とマークし、一貫性ポイントがディスクに書かれる次回、それらのディスクブロック142は、有効なパリティブロックを持つRAIDストライプ143内の同一、または、他のディスク上で異なった位置に書かれる。結果、RAIDストライプ143内のパリティが失われたディスクブロック142は、他のRAIDストライプ143(必ずしもすべてが同じRAIDストライプ143ではない)内の、利用できるパリティブロックを持つディスクブロック142に書き込まれる。
[実施方法]
図2は、RAIDデータ復元にファイルシステム情報を使用することを含む方法に関するプロセスフローチャートを示す。
方法200はシステム1OOによって実行される。 その方法200は、順次説明されるが、その方法200のフローポイントとステップは、別々の要素により、同期か非同期によって、連係して、または平行に、パイプライン方法またはそれ以外で実行される。この方法200は、特に示した点を除き、この記述リストのフローまたはステップと同じ順序で実行しなければならないという特定の要求はない。
[割り当てられたデータの移動]
フローのポイント210では、システム100は故障したディスク141を検出する。
ステップ211にて、ファイルシステム120は、いずれかのRAIDストライプ143からのディスクブロック142が故障ディスク141からまだ移動していないことを示すストライプマップテーブル126をマークする。また、ファイルシステム120は、故障したディスク141の上のすべてのディスクブロック142が不正ブロックとして扱われるのを示すために不正ブロックテーブルをマークする。この方法200では、第1のRAIDストライプ143は故障したディスク141の上のRAIDストライプを参照する。第2のRAIDストライプ143は、予備上のまたは、他の故障のないディスクの上のRAIDストライプを参照する。
ステップ212では、ファイルシステム120は、故障したディスク141上のディスクブロック142の1つにアクセスするユーザーの要求を受け取る。ユーザーの要求がファイルデータかメタデータのどちらかを含む割り当てられたデータに単に適用できるので、この方法200は、フローのポイント220でディスクブロック142からデータを復元する。
フローのポイント220では、この方法200は故障したディスク141上のディスクブロック142からデータを復元する準備ができている。
ステップ221では、記憶システム140は、予備ディスク141があるかどうか決定する。ある場合、この方法200は、ステップ222へ進む。そうでない場合、この方法200は、ステップ223へ進む。
(予備ディスク141がある場合) ステップ222にて、記憶システム140は、ディスクブロック142に関係する第1のRAIDストライプ143を、予備ディスク141に移動させ、そして、この方法は、フローのポイント230に対して進む。このステップを実行するため、この記憶システム140は、次のサブステップを実行する。
・サブステップ222aにて、記憶システム140はディスクブロック142からデータを復元する。その記憶システム140は、第1のRAIDストライプ143から、他のディスクブロック142、およびパリティブロックを使用する。しかしながら、記憶システム140は、第1のRAIDストライプ143内のこれらのディスクブロック142を無視でき、そのディスクブロック142対して、関連するゼロマップ登録部125は、ディスクブロック142が一様に0であることを示す。
・サブステップ222bでは、記憶システム140は、RAIDストライプ143からのデータを、予備ディスク141上の第2の目標のRAIDストライプ143にコピーする。 しかしながら、記憶システム140は、どれかを決定するために、関連したブロックマップ登録部123を用いて、割り当てられていないそれらのディスクブロック142をコピーしない。記憶システム140は、SCSI「同様に書き込む」コマンドを使用して、第2の目標のRAIDストライプ143内のそれらの未割り当てのブロックマップ登録部123のために、これらのディスクブロック142を先を見越してクリアする。その記憶システム140は、それらのディスクブロック142の先を見越したクリア化に応答してパリティを再計算する。
・サブステップ222cでは、ファイルシステム120は、第1のRAIDストライプ143が全体的に予備ディスク141へ移動したことを示すために、対応するストライプマップ登録部127をマークする。
(予備ディスク141が無い場合) ステップ223にて、記憶システム140は、ディスクブロック142内のデータを、故障したディスク141から別の非故障のディスク141へ移動し、そして、この方法200は、フローのポイント213に対して進む。このステップを実行するために、記憶システム140は以下のサブステップを実行する。
・サブステップ223aにて、記憶システム140はディスクブロック142からデータを復元する。その記憶システム140は、他のディスクブロック142からのデータ、および第1のRAIDストライプ143からのパリティブロックを使用する。しかしながら、記憶システム140は、第1のRAIDストライプ143内のそれらのディスクブロック142を無視することができ、そのディスクブロック142に対して、関係するゼロマップ登録部125は、ディスクブロック142が一様に0であることを示す。
・サブステップ223bでは、記憶システム140は新たに割り当てられたディスクブロック142にデータをコピーする。故障したディスクブロック142が現在、論理的に0であると推定して、記憶システム140は、元の第1のRAIDストライプ143に対してパリティを再計算する。
・サブステップ223cにて、ディスクブロック142からのデータが非故障のディスク141に移動したことを示すために、ファイルシステム120は、ディスクブロック142に関係する第1のRAIDストライプ143に対する対応するストライプマップ登録部127をマークする。そのディスクブロック142が現在論理的に0であることを示すために、そのファイルシステム120は、故障したディスクブロック142のために、対応するゼロマップ登録部125をマークする。
フローのポイント230では、故障したディスクブロック142または全体の最初のRAIDストライプ143の移動が完了する。故障したディスク141からのすべての割り当てられたディスクブロック142が、予備ディスク141、または、他の非故障のディスク141に移動されるまで移動を繰り返す。
[パリティの再計算無しのミラーリング]
図3はパリティについて再計算しないでミラーリング(反映化)ができるシステムのブロックダイアグラムを示す。
記憶ボリューム(「ボリューム」は「システム」と同義語として時々ここで使用される)のミラーコピーを再確立(または最初に確立)するとき、上で説明されたように、目標の記憶ボリューム(ミラー記憶ボリュームとも呼ばれる)は、これらの割り当てられていないブロックが書き込まれたとき、目標の記憶ボリュームでの未割り当てのブロックがゼロに設定されるのを保証することによって、ソース記憶ボリュームから計算されたパリティを使用することができる。
パリティを再演算することなく、ミラーリングできるシステム300は、図1に関連して述べたシステム100および記憶システム140に似たソース記憶システム305を含むソースシステム301と、また図1に関連にて述べたシステム100およびシステム140を含む目標(又はミラー)システム310を含む。 ソースス記憶システム305は、ディスクブロック331を含むソースRAIDストライプ330の組みを含み、目標記憶システム320は同様にディスクブロック341を含む目標RAIDストライプ340を含む。そのRAIDストライプ340は、ソースRAIDストライプ330に似るか、好ましくは論理的に同じである。
ソースシステム301と目標システム310は、通信リンク350を使用することで結合される。都合のよい実施例では、通信リンク350はファイバーチャンネルかSAN(ストレージ・エリア・ネットワーク)を含む。他の実施例では、通信リンク350は、LAN(ローカル・エリア・ネットワーク)、WAN(広域ネットワーク)、またはインターネット接続などのように、それらの何らかの組み合わせを含むことができる。当業者は、通信リンク350はデータをソースシステム301から目標システム310に送るためのどんなテクニックも含んでもよく、そして、ここで述べた特定の実施例による何らかの方法に限定されないことを認識するであろう。
そのソースRAIDストライプ330は、割り当てられたブロック334の組み、少なくとも1つの未割り当てのブロック332およびパリティブロック333の組みを含む。
ソース記憶システム305と目標記憶システム320とのミラーの関係を再確立(又は最初に確立)するとき、そのソースシステム301は、目標システム310へ送出するためにソースRAIDストライプ330からの割り当てられたブロック334の組みを選択する。都合のよい実施例では、これらの割り当てられたブロック334は、ソースシステム301でのファイルシステム情報から得られ、また、割り当てられるべきソースシステム301にて、ファイルシステムによって示された、これらのディスクブロックのみを含む。
ソースシステム301は、選択された、割り当てられたブロック334を、それらのRAIDストライプ330に関連づけられたパリティブロック333と共に、目標システム310に送出する。 さらには、ソースシステム301は、予め既に0に設定されていない、いずれの未割り当てのブロック332をゼロにする。目標システム31Oは、これらの割り当てられたブロック334からデータを受信して、割り当てられたブロック344に対し、対応する位置に目標RAIDストライプ340にそれらを記憶する。同様に、目標システム31Oは、関連したパリティブロック333を受け取り、パリティブロック343に対し、対応する位置に目標RAIDストライプ340にそれらを記憶する。
目標システム31Oが、ソースRAIDストライプ330と論理的に同じ目標RAIDストライプ340を有するので、その目標システム31Oは、それ自身の未割り当てのすべてのブロック342がソース記憶システム305で未割り当てにされるのを決定することができる。したがって、目標記憶システム320は、SCSI「同じに書き込む」コマンドを使用して、それらのすべての未割り当てのブロックを0値に設定することができる。
その結果、目標ストレージシステム320は、ディスクブロックが送出され、受け取られ、そして保存された後、実質的にソースストレージシステム305と同じになり、したがって、ソース記憶システム305と目標記憶システム320との間のミラーの関係が確立されるであろう。
[ミラーリング法]
図4は、パリティを再計算することなく、ミラーリングの方法に関するプロセスフローチャートを示す。
メソッド400はソースシステム301と目標(小さい方の)システムによって実行される。そのソースシステムは、ファイルシステム120に似るソース記憶システム305とソースファイルシステム(図示せず)を含む。目標システムは、目標システム31Oと同様である。方法200と同様に、この方法400は、連続的に説明されているが、方法400のフローポイントおよびステップは、個別の要素により、結合して、平行に、非同期か同時であることにかかわらず、パイプライン方法または同様にして実行できる。また、方法200と同様であるので、特に指示された箇所を除き、方法400は、この記述のリストフローのポイントまたはステップと同じ順で実行されなくてはならないという特定の要求はない。
フローポイント410では、ソースシステム301と目標システムは、ミラーの関係を再確立させる準備ができている。都合のよい実施例では、ソースシステム301と目標システムは、ミラーの関係が回復しようとしている状態に到着するように通信する。さらには、都合のよい実施例では、ソースシステム301と目標システムは、ミラーの再確立を達成するために、ソースシステム301から目標システムに送られるべきディスクブロックの最小の組みを決定する。ディスクブロックの最小の組みを決定するための方法は、2002年4月11日公開のWO02/29572A(ネットワークAppliance Inc.)の"Recovery of File System Data in File Servers Mirrored File System Volumes"に述べられている。
ステップ41lでは、ソースシステム301は、目標システムに送られるべき1組の情報を選択する。上で説明したように、割り当てられたディスクブロックのみが送出されるべきである。このステップでは、送出されるべき選択された情報は、(a)ストライピング情報、および(b)パリティ情報を含む。ストライピング情報は、送られるディスクブロックが、いかにしてRAIDストライプに組織化されるかを示す。パリティ情報は、それらのRAIDストライプに対する計算されたパリティを含む。 定義されたRAIDストライプ内でどのブロックが未割り当てのブロックであるかの情報に関しては、ソースシステム301が明示的にその情報を送るか、あるいは目標システムが、前記ストライプ情報および、それを受け取るこれらのディスクブロックの識別に対応してその情報を決定する。
ステップ412では、ソースシステム301は、割り当てられたディスクブロック、ステップ411で説明したストライピング情報、およびステップ411で説明したパリティを送出し、(目標システムはそれらを受け取る。このステップでは、ソースシステム301はまた、既に前もって0にされていないRAIDストライプ内の未割り当てのブロックを0にすることができる。
ステップ413では、目標システムは、割り当てられたディスクブロックからのデータを、指定されたディスクドライブおよび、その記憶ボリュームの指定されたRAIDストライプ上の指示された箇所にデータを書き込む。
ステップ414では、目標システムは、パリティ情報からのデータを、その記憶ボリュームの指定されたRAIDストライプへ書き込む。
ステップ415では、目標システムは、その記憶ボリュームの指定されたRAIDストライプ内の未割り当てのブロックにゼロ値を書き込む。都合のよい実施例では、目標システムは、同じデータバイト(つまり0)のコピーを、各々の未割り当てのブロックに書き込むためのSCSI「同じ状態に書き込む」コマンドを使用する。上述したように、これは、ゼロ値の実際のディスクブロックを書き込むより迅速であり、ファイルシステムと記憶ボリュームの間で、より少ない通信帯域幅となる。
これらの未割り当てのブロックがゼロであると推定されるとき、ソースシステム301で未割り当てのブロックが物理的にまたは論理的に0なので、ソースシステム301が目標システムへ送出したパリティ情報は、正しい。したがって、同じパリティ情報を用いるが、そのパリティを再演算することなく、目標システムは、それらの未割り当てのブロックに実際に0に安全に設定できる。
フローポイント420では、目標システムは、ソースシステム301の物理的で論理的なコピーである。ソースシステム301と目標システムの間のどんな簿記操作も完了し、そして、両者間のミラーの関係が復元される。
等価なRAIDストライプが、ソース記憶ボリュームと目標記憶ボリュームの両方で使用される限り、ソース記憶ボリュームと目標記憶ボリュームの間のミラー関係を、再確立するとき、または最初に確立するときに、この方法400はいつでも実行できる。
[発明の一般性]
この発明は、データが複数のデバイスで維持され、そして、それらの複数のデバイスに記録された少なくともいくつかの情報を破棄てきる(例えば、ファイルシステムの部分ではないか、またはキャッシュから退去できるキャッシュ目的)ファイルシステムと記憶システムに一般的な適用性を持つ。これらの用途のいずれもが、一貫性ポイントを維持するファイルシステムに特に限定されず、また、特にRAID記憶システムにも限定されず、そして、ここで述べた特定の適用に必ずしも関係しない。
この発明の最も一般的な形態における、他のおよび別の用途は、この明細書の熟読後に当業者に明確となるであろう。過度の実験やさらなる発明なしで、この発明は、そのような他の、および、別の用途に適用可能である。好ましい実施例をここで述べたが、この発明の概念、範囲、および趣旨内で多くの変形が可能である。これらの変形はこの明細書の熟読後に当業者に明確となるであろう。
この発明は、データとメタデータが大容量記憶装置上の固定位置に割り当てられないどんな記憶システムにも適用され、それには、ファイルサーバー、データベース、ネットワークキャッシュまたは別のタイプの記憶装置を含む。都合のよい実施例では、この発明は、RAID記憶システムを用いたファイルサーバーに主としてを使用されているが、それに加えてこの発明の適用性を限定する特別な要求は全くない。
この発明は、冗長情報からデータを復元されることができるどんなシステムにも適用され、それには、記憶システム、または少なくとも何らかの冗長情報を用いる通信系さえも含むいずれのタイプをも含む。都合のよい実施例では、この発明は、主として複数のディスクドライブとパリティを用いた記憶システムに使用されるが、それに加えてこの発明の適用性を限定するという特定の要求は全くない。
「ディスクブロック」という用語は、この開示全体にわたって用いられたが、この発明は、磁気テープ、光学ドライブ、その他のためのデータブロックなどの大容量記憶システムの他のタイプにも同様に適用できる。当業者は、この明細書の熟読後にこれらの別の実施例は例示的なもので、限定するものでないと認識されるであろう。
RAIDデータの復元でファイルシステム情報を用いることを含むファイルシステムおよびRAID記憶システムのブロック図を示す。 RAIDデータの復元でファイルシステム情報を用いることを含む方法のプロセスフローチャートを示す。 パリティを再計算することなく、ミラー化できるシステムのブロック図を示す。 パリティを再計算することなく、ミラー化の方法のプロセスフローチャートを示す。
符号の説明
100 システム
120 ファイルシステム
121 情報テーブル
126 ストライブマップテーブル
127 ストライブマップテーブル
140 記憶システム
141 ディスク
142 ディスクブロック
142 RAIDストライプ
160 通信リンク

Claims (87)

  1. 第1のグループのデータブロックを識別すること;
    前記第1のグループ内に故障したデータブロックが存在するかを決定すること;
    前記決定操作の結果に応答して、故障したデータブロックからデータを復元し、そして、前記データを、第2のグループに関係するデータブロックに送出するか否かを決定すること;
    前記第1のグループ内の前記故障したデータブロックを、選択された値に論理的に設定することを含み、
    前記第1のグループは、前記データブロックに関係する冗長情報を維持できるブロックを含み、前記第2のグループは、少なくとも1つの故障していないデータブロックを有し、これにより、前記第1のグループに対する前記冗長データの後での計算が、前記データを復元することなく、進行できることを特徴とする方法。
  2. 前記故障したデータブロックについての情報に応答して、前記故障したデータブロックからのデータを前記第2のグループに送出しないで、替わりに、前記第2のグループ内の目標データブロックを前記選択された値に設定するか否かを決定することを含む請求項1記載の方法。
  3. 第1のディスク上の前記故障したデータブロックの組についての情報を維持すること、
    すべての前記故障したデータブロックが実質的に1つ以上の第2のディスクに移動した時、記憶システムから前記第1のディスクを論理的に除去することとを含み、又、前記情報は、前記故障したデータブロックが1つ以上の第2のディスクへ移動したか否かを含む請求項1記載の方法。
  4. 前記故障したデータブロックにアクセスするための試みを識別すること、
    前記アクセスの試みに応答して、目標のデータブロックに対する復元操作を実行すること、
    前記目標のデータブロックに対してアクセスするために前記試みを再指示することとを含む請求項1記載の方法。
  5. 前記故障したデータブロックをアクセスするための試みが再指示されるべきであるという指示で、前記故障したデータブロックをマークすること、前記指示に応答して、前記操作を再指示することを実行することとを含む請求項4記載の方法。
  6. 第1のグループのデータブロックを識別するための手段と;
    前記第1のグループ内に故障したデータブロックが存在するかを決定する手段と;
    前記決定操作の結果に応答して、故障したデータブロックからデータを復元する手段と;
    前記データを、第2のグループに関係するデータブロックに送出する手段と;
    前記第1のグループ内の前記故障したデータブロックを、選択された値に論理的に設定する手段と;
    を含み、前記第1のグループは、前記データブロックに関係する冗長情報を維持できるブロックを含み、更に前記第2のグループは、少なくとも1つの故障していないデータブロックを有し、これにより、前記第1のグループに対する前記冗長データの後での計算が、前記データを復元することなく、進行できることを特徴とする装置。
  7. 前記故障したデータブロックについての情報に応答して、前記故障したデータブロックからデータを前記第2のグループに送出することを出来る限りしないで、替わりに、前記第2のグループ内の目標データブロックを前記選択された値に設定する手段とを含む請求項6記載の装置。
  8. 第1のディスク上の前記故障したデータブロックの組についての情報を維持するための手段と;
    すべての前記故障したデータブロックが実質的に1つ以上の第2のディスクに移動した時、記憶システムから前記第1のディスクを論理的に除去するための手段と;
    を含み、又、前記情報は、前記故障したデータブロックが1つ以上の第2のディスクへ移動したか否かを含む請求項6記載の装置。
  9. 前記故障したデータブロックにアクセスすることの試みを識別するための手段と、
    前記アクセスの試みに応答して、目標のデータブロックに対する前記復元操作を実行するための手段と、
    前記目標のデータブロックに対してアクセスするために前記試みを再指示するための手段とを含む請求項6記載の装置。
  10. 前記故障したデータブロックを、前記故障したデータブロックをアクセスするための試みが再指示されるべきである指示でマークする手段と、
    前記指示に応答して、前記操作を再指示することを実行する手段とを含む請求項9記載の装置。
  11. 命令を含むメモリ又は大容量記憶装置であって、前記命令は、1つ以上の演算デバイスにより、実行されることができ、
    前記命令は、前記1つ以上の演算デバイスに対して、
    データブロックの第1のグループを識別すること;
    前記第1のグループ内に故障したデータブロックが存在するかを決定すること;
    決定するための前記命令の結果に応答して、前記故障したデータブロックからデータを復元し、そして、前記データを第2のグループに関係したデータブロックに送出すること;
    前記故障したデータブロックを選択された値に論理的に設定することとを指示し、
    前記第1のグループは、前記データブロックに関係する冗長情報を維持できるブロックを含み、更に前記第2のグループは、1つの故障していないデータブロックを有し、これにより、前記第1のグループに対する前記冗長情報の後での計算が、前記データを復元することなく、進行されることを特徴とするメモリ又は大容量記憶装置。
  12. 前記故障したデータブロックについての情報に応答して、前記故障したデータブロックからデータを前記第2のグループに送出することを出来る限りしないで、替わりに、前記第2のグループ内の目標データブロックを前記選択された値に設定する命令を含む請求項11記載のメモリ又は大容量記憶装置。
  13. 第1のディスク上の前記故障したデータブロックの組についての情報を維持することと、
    すべての前記故障したデータブロックが実質的に1つ以上の第2のディスクに移動した時、記憶システムから前記第1のディスクを論理的に除去することを行う命令を含み、又、前記情報は、前記故障したデータブロックが1つ以上の第2のディスクへ移動したか否かを含む請求項11記載のメモリ又は大容量記憶装置。
  14. 前記故障したデータブロックにアクセスするための試みを識別することと、
    前記アクセスの試みに応答して、目標のデータブロックに対して復元するための前記命令を実行することと、
    前記目標のデータブロックに対してアクセスするための前記試みを再指示することとを行う命令を含む請求項11記載のメモリ又は大容量記憶装置。
  15. 前記故障したデータブロックを、前記故障したデータブロックをアクセスするための試みが再指示されるべきである指示でマークすることと、
    前記指示に応答して、前記操作を再指示することを実行することとを行う命令を含む請求項14記載のメモリ又は大容量記憶装置。
  16. 記憶システムの操作方法であり、選択されたデータブロックを、前記記憶システムによるパリティ再計算の量が最小となる、選択された値に設定することを含む方法。
  17. 前記設定操作は、RAIDグループに加えられた新しいディスクに応答する請求項16記載の方法。
  18. 前記設定操作は、新しいディスクがRAIDグループに加えられた時に実行される請求項16記載の方法。
  19. 前記設定操作は、一貫性致ポイントが発生した時に実行される請求項16記載の方法。
  20. 前記操作の設定は、割り当てられていないブロックを有するRAIDストライプへの書き込み時に実行される請求項16記載の方法。
  21. 前記設定操作は、ディスクへの書き込み動作時に応答し、前記書き込み動作は、ファイルシステムにより使用されていないデータブロックを含むRAIDストライプに関係する請求項16記載の方法。
  22. 前記設定操作は、ファイルシステムに応答し、前記ファイルシステムは、記憶データが自己整合する、一貫性ポイントを含む請求項16記載の方法。
  23. 前記選択されたデータブロックは、前記記憶システムにより維持されたデータブロックのサブセットを含み、前記サブセットは、ディスクへの前記一貫性ポイントを書き込む操作のサブセットとして書き込まれていないこれらのデータブロックを含む請求項22記載の方法。
  24. 前記設定操作は、前記選択されたデータブロックに関係したテーブルに応答し、前記テーブルは、前記選択されたデータブロック内のデータが選択された将来の時間にコピーされるべき指示を含む請求項16記載の方法。
  25. 前記選択された将来の時間は、ファイルシステム内の一貫性ポイントがディスクに書き込まれる時間を含む請求項24記載の方法。
  26. 第1のグループのデータブロックを識別することと;
    前記冗長情報をアクセスできるか否かを決定することと;
    前記決定操作の結果に応答して、前記第1のグループから、1つ以上の第2のグループに関係したデータブロックの組にデータを送出することと;
    を含み、又、前記第1のグループは、前記データブロックに関係する冗長情報を維持できるブロックを含み、更に前記第2のグループは、各々、冗長情報を維持できるアクセス可能ブロックを有する方法。
  27. 前記データを送出する前記ステップは、対応するパリティを有するディスクから、同じまたは他のディスク上の他のストライプへデータを送出することを含む請求項26記載の方法。
  28. 前記第1のグループは、RAIDストライプを含む請求項26記載の方法。
  29. 前記決定操作は、前記冗長情報を維持できる前記ブロックを含むディスクに何かの故障があるか否かを決定することを含む請求項26記載の方法。
  30. 前記決定操作は、前記冗長情報を維持できる前記ブロックに何かの故障があるか否かを決定することを含む請求項26記載の方法。
  31. 前記第1のグループに関係する前記データブロックについての情報を受け取ることと、前記受け取り操作に応答して、前記データブロックのサブセットに対してのみ、前記データ送出操作を実行することとを含む請求項26記載の方法。
  32. 前記データブロックに関する前記情報は、どのデータブロックが割り当てられたデータを有するのか、どのデータブロックが割り当てられたデータを有しないのか、どのデータブロックがもはや使用されないデータを有するのかの内の少なくとも1つを含む請求項31記載の方法。
  33. 前記情報はどのデータブロックがゼロであることが既知であるかを含む請求項31記載の方法。
  34. 前記操作の送出は、前記データが将来の時間に送出されるべきとの指示に応答する請求項26記載の方法。
  35. 前記将来の時間は、ファイルシステムが、前記第1のグループからの前記データを含む一貫性ポイントを発生する時間を含む請求項34記載の方法。
  36. 命令を含むメモリまたは大容量記憶装置であり、前記命令は、1つ以上の演算用デバイスによって実行でき、前記命令は、前記1つ以上の演算用デバイスに対し、
    データブロックの第1のグループを識別することと;
    前記冗長情報がアクセス可能かを決定することと;
    前記決定命令の結果に応答して、前記第1のグループからのデータを、1つ以上の第2のグループに関係したデータブロックの組に送出することと;
    を指示し、前記第1のグループは、前記データブロックに関係した冗長情報を維持することができるブロックを含み、又、更に前記第2のグループは各々、冗長情報を維持できるアクセス可能なブロックを有するメモリまたは大容量記憶装置。
  37. データを送出する前記命令は、対応するパリティを有するディスクからのデータストライプを、同一または他のディスク上の他のストライプへ送出することを含む請求項36記載のメモリまたは大容量記憶装置。
  38. 前記第1のグループはRAIDストライプを含む請求項36記載のメモリまたは大容量記憶装置。
  39. 前記決定命令は、前記冗長情報を維持できる前記ブロックを含むディスクに何かの故障があるかを決定する命令を含む請求項36記載のメモリまたは大容量記憶装置。
  40. 前記決定命令は、前記冗長情報を維持できる前記ブロックに何かの故障があるかを否かを決定する命令を含む請求項36記載のメモリまたは大容量記憶装置。
  41. 前記第1のグループに関連した前記データブロックについての情報を受け取ることと、前記受け取り命令に応じて、前記データブロックのサブセットに対してのみ、前記送出命令を実行することとを行う命令を含む請求項36記載のメモリまたは大容量記憶装置。
  42. 前記データブロックについての前記情報は、どのデータブロックが割り当てられたデータを有するか、どのデータブロックが割り当てられたデータを有しないか、どのデータブックがもはや使用されないデータを有するのかの内の少なくとも1つを含む請求項41記載のメモリまたは大容量記憶装置。
  43. 前記情報は、どのデータブロックが0であることが既知であるかを含む請求項41記載のメモリまたは大容量記憶装置。
  44. 前記送出命令は、前記データが将来の時間に送出されるべきとの指示に応答する請求項36記載のメモリまたは大容量記憶装置。
  45. 前記将来の時間は、ファイルシステムが、前記第1のグループからの前記データを含む一貫性ポイントを発生する時間を含む請求項44記載のメモリまたは大容量記憶装置。
  46. データブロックのグループを識別することと;
    前記データブロックについてのファイルシステムから情報を受け取ることと;
    前記情報の結果に応答して、前記データブロックに応答する、関連した冗長情報の組を計算するか、減じるか、または再計算する方法を選択することと;
    前記選択動作の結果に応答して、前記冗長情報を前記データブロックと関連つけることとを含む方法。
  47. 前記選択ステップは、割り当てられたデータブロックのみを選択する請求項46記載の方法。
  48. 前記受け取り操作の結果は、そのために割り当てられたデータを有する複数のデータブロック、そのために割り当てられていないデータを有する多数の前記データブロック、前記ファイルシステムにもはや使用されていないデータを有する多数の前記データブロックの内の少なくとも1つを含む請求項46記載の方法。
  49. 前記データブロックのグループはRAIDグループに関係する請求項46記載の方法。
  50. 前記データブロックのグループおよび前記冗長情報はRAIDストライプに関係する請求項46記載の方法。
  51. 前記計算方法は、減算によりパリティを演算することと、再計算によりパリティテを演算することの内の少なくとも1つを含む請求項48記載の方法。
  52. 前記受け取り操作の結果は、選択された値を有することが既知である多数の前記データブロックを含む請求項46記載の方法。
  53. 前記選択された値は0である請求項52記載の方法。
  54. データブロックのグループの組みを含む記憶システムと;
    前記データブロックの使用についての情報に応答する情報の組と;
    前記データブロックおよび冗長情報を維持できる前記ブロックに結合された少なくとも1つの回路と;
    を含み、前記データブロックのグループの各々は、冗長情報を維持できるブロックに関連し、これにより、各グループ内の個々の1つの前記データブロックを、前記グループ内の情報の少なくともいくつか、および前記冗長情報の少なくともいくつかに応答して、復元でき、更に、前記回路は、前記冗長情報を計算でき、前記回路は、使用についての前記情報の少なくともいくつかに応答することを特徴とする装置。
  55. 使用についての前記情報は、そのために割り当てられたデータを有する多数の前記データブロック、そのために割り当てられていないデータを有する多数の前記データブロック、前記ファイルシステムにもはや使用されないデータを有する多数の前記データブロックの内の少なくとも1つを含む請求項54記載の装置。
  56. 前記冗長情報は、パリティ情報を含み、そして、前記回路は、減算によるパリティを演算することと、再計算によりパリティを演算することの内の少なくとも1つが可能である請求項54記載の装置。
  57. データブロックのグループを識別するための手段と;
    前記データブロックについてのファイルシステムから情報を受け取るための手段と;
    前記決定動作の結果に応答して、前記データブロックに応答する関連冗長情報の組を計算する方法を選択するための手段と;
    前記選択動作の結果に応答して、前記冗長情報を前記データブロックと関連つれるための手段と;を含む装置。
  58. 選択手段は、割り当てられたデータブロックのみを選択することを含む請求項57記載の装置。
  59. 前記ファイルシステムからの前記情報は、そのために割り当てられたデータを有する前記データブロックの組、そのために割り当てられていないデータを有する前記データブロックの組、前記ファイルシステムにもはや使用されないデータを有する前記データブロックの組の内の少なくとも1つを識別するデータ構造に応答する請求項57記載の装置。
  60. 前記選択手段に応答して前記冗長情報を計算するための手段を含み、前記計算手段は、減算によりパリティを演算することと、再計算によりパリティを演算することの内の少なくとも1つを含む請求項57記載の装置。
  61. 命令を含むメモリまたは大容量記憶装置であり、前記命令は、1つ以上の演算用デバイスによって実行でき、前記命令は、前記1つ以上の演算用デバイスに対し、
    データブロックのグループを識別することと;
    前記データブロックに関係する情報を受け取ることと;
    前記情報に応答して前記命令の1つ以上を選択することと;
    前記選択命令の実行結果に応答して、冗長情報を前記グループと関連つけることと;
    を指示するメモリまたは大容量記憶装置。
  62. 前記データブロックについての前記情報は、割り当てられたデータを有する多数の前記データブロック、割り当てられていないデータを有する多数のデータブロック、もはや使用されないデータを有する多数の前記データブロックの内の少なくとも1つを含む請求項61記載のメモリまたは大容量記憶装置。
  63. データブロックの前記グループは、RAIDグループと関係する請求項61記載のメモリまたは大容量記憶装置。
  64. データブロックの前記グループおよび前記冗長情報はRAIDストライプと関係する請求項61記載のメモリまたは大容量記憶装置。
  65. 前記選択命令は、前記1つ以上の演算用デバイスに、減算によるパリティの演算と、再計算によるパリティの演算の内の少なくとも1つを実行することを指示する請求項61記載のメモリまたは大量記憶装置。
  66. 前記データブロックに関する前記情報は、選択された値を有することが既知である多数の前記データブロックを含む請求項61記載のメモリまたは大容量記憶装置。
  67. ソースから目標へ送出するために1組のデータブロックを選択することと、
    前記データブロックを前記目標へ送出することと、
    前記データブロックに関係するパリティを前記目標へ送出することと、
    前記目標でのいずれかの割り当てられていないブロックを選択された値に設定することとを含み、それにより、前記データブロックに対する前記パリティは正確であり、それにより、前記ソースデバイスと前記目標デバイスの間の選択された関係が確立される方法。
  68. 前記データブロックの組織に関する情報を記憶体へ送出することを含む請求項67記載の方法。
  69. 前記データブロックは1組のストライプに組織され、前記ストライプは、前記データブロックの選択されたグループに対するパリティを決定する一方、前記割り当てられていないブロックが、前記データブロックに対して割り当てられていない前記ストライプ内のいずれかのブロックを含む請求項67記載の方法。
  70. 前記組のデータブロックは、前記目標において既に存在しない、大略最小数のデータブロックである請求項67記載の方法。
  71. 命令を含むメモリまたは大容量記憶装置であり、前記命令は、1つ以上の演算デバイスによって実行でき、前記命令は、前記1つ以上の演算用デバイスに対し、
    ソースから目標へ送出するために1組のデータブロックを選択することと;
    前記データブロックを前記目標へ送出することと;
    前記データブロックに関係するパリティを前記目標へ送出することと;
    前記目標でのいずれかの割り当てられていないブロックを選択された値に設定することと;を指示し、それにより、前記データブロックに対するパリティは正確であり、それにより、前記ソースデバイスと前記目標デバイスとの間の選択された関係が確立されるメモリまたは大容量記憶装置。
  72. 前記データブロックの組織についての情報を記憶体へ送出する命令を含む請求項71記載のメモリまたは大容量記憶装置。
  73. 前記データブロックは1組のストライプに組織され、前記ストライプは、前記データブロックの選択されたグループに対するパリティを決定し、そして、前記割り当てられていないブロックは、前記データブロックに対して割り当てられていない前記ストライプ内のいずれかのブロックを含む請求項71記載のメモリまたは大容量記憶装置。
  74. 前記組みのデータブロックは、前記目標において既に存在しない大略最小数のデータブロックである請求項71記載のメモリまたは大容量記憶装置。
  75. ソースから目標へ送出するために1組のデータブロックを選択するための手段と、
    前記データブロックを前記目標へ送出するための手段と、
    前記データブロックに関係するパリティを前記目標へ送出するための手段と、
    前記目標でのいずれかの割り当てられていないブロックを選択された値に設定するための手段とを含み、それにより、前記データブロックに対する前記パリティは正確であり、それにより、前記ソースデバイスと前記目標デバイスとの間の選択された関係が確立されることを特徴とする装置。
  76. 前記データブロックの組織に関する情報を記憶体に送出するための手段を含む請求項75記載の装置。
  77. 前記データブロックは、1組のストライプに組織され、前記ストライプは、前記データブロックの選択されたグループに対するパリティを決定する一方、前記割り当てられていないブロックは、前記データブロックに対して割り当てられていない前記ストライプ内のいずれかのブロックを含む請求項75記載の装置。
  78. 前記組みのデータブロックは、前記目標において既に存在しない大略最小数のデータブロックである請求項74記載の装置。
  79. どのデータブロックが0に設定されたかを記述している1組の登録部を含むゼロマップテーブルと、
    どのデータブロックが割り当てられたファイルシステムデータにより使用されているかを記述している1組の登録部を含むブロックマップテーブルと、
    RAIDグループにおける故障ディスク内の1つ以上のRAIDストライプに対応する1組のストライプマップ登録部を含むストライプマップテーブルとを含む装置。
  80. 割り当てられたデータに関係した前記ブロックマップテーブル内の登録部を前記RAIDグループ内の非故障ディスクにコピーすることにより、前記故障ディスクからデータを復元する請求項79記載の装置。
  81. 割り当てられたデータに関係した前記ブロックマップテーブル内の前記組みの登録部を、異なるRAIDグループ内の非故障ディスクにコピーすることにより、前記故障ディスクからデータを復元する請求項79記載の装置。
  82. 次の一貫性ポイントでデータが復元される請求項79記載の装置。
  83. 前記ストライプマップテーブル内の前記組みの登録部は、前記ブロックマップテーブル内の前記組みの登録部を復元した後で、更新される請求項79記載の装置。
  84. 前記ストライプマップテーブルにおける前記組みの登録部内の各登録部は、RAIDストライプの移動に関係する1組の情報を含む請求項79記載の装置。
  85. 前記組みの情報は、前記RAIDストライプに関係するデータブロックの前記移動のための目標位置を含む請求項84記載の装置。
  86. 前記ストライプマップテーブルにおける前記組みの登録部内の各登録部は、前記故障ディスクから削除できる情報に対応する請求項79記載の装置。
  87. 前記ゼロマップテーブル内の登録部の個数と、0でないデータブロックの個数との間の相対的な差異が、パリティが減算により、またはデータベースの全てを加算することにより、計算されるかを決定する請求項79記載の装置。
JP2004516269A 2002-06-24 2003-06-24 Raidデータの復元および移動でのファイルシステム情報の使用 Pending JP2005531071A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/179,465 US7024586B2 (en) 2002-06-24 2002-06-24 Using file system information in raid data reconstruction and migration
PCT/US2003/020119 WO2004001600A1 (en) 2002-06-24 2003-06-24 Using file system information in raid data reconstruction and migration

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008149382A Division JP4846763B2 (ja) 2002-06-24 2008-06-06 Raidデータの復元および移動でのファイルシステム情報の使用

Publications (2)

Publication Number Publication Date
JP2005531071A true JP2005531071A (ja) 2005-10-13
JP2005531071A5 JP2005531071A5 (ja) 2006-01-05

Family

ID=29734905

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004516269A Pending JP2005531071A (ja) 2002-06-24 2003-06-24 Raidデータの復元および移動でのファイルシステム情報の使用
JP2008149382A Expired - Fee Related JP4846763B2 (ja) 2002-06-24 2008-06-06 Raidデータの復元および移動でのファイルシステム情報の使用

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008149382A Expired - Fee Related JP4846763B2 (ja) 2002-06-24 2008-06-06 Raidデータの復元および移動でのファイルシステム情報の使用

Country Status (7)

Country Link
US (1) US7024586B2 (ja)
EP (1) EP1535154A4 (ja)
JP (2) JP2005531071A (ja)
CN (2) CN101154174B (ja)
AU (1) AU2003278864A1 (ja)
IL (2) IL165831A0 (ja)
WO (1) WO2004001600A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP2010508604A (ja) * 2006-10-31 2010-03-18 ネットアップ,インコーポレイテッド ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法
JP2010271808A (ja) * 2009-05-20 2010-12-02 Fujitsu Ltd ストレージ装置及びデータコピー方法
JP2012509521A (ja) * 2008-11-18 2012-04-19 エルエスアイ コーポレーション ソリッドステートドライブデータを回復するためのシステム及び方法
JP2014528127A (ja) * 2011-09-12 2014-10-23 マイクロソフト コーポレーション 使用状態ビットマップを備えた記憶装置への効率的なアクセス
JP2015166958A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7337351B2 (en) * 2002-09-18 2008-02-26 Netezza Corporation Disk mirror architecture for database appliance with locally balanced regeneration
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
JP2005018193A (ja) * 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
US7206991B2 (en) * 2003-10-15 2007-04-17 Lsi Logic Corporation Method, apparatus and program for migrating between striped storage and parity striped storage
DE10350590A1 (de) * 2003-10-30 2005-06-16 Ruprecht-Karls-Universität Heidelberg Verfahren und Vorrichtung zum Sichern von Daten bei mehreren unabhängigen Schreib-Lese-Speichern
JP2005182683A (ja) * 2003-12-24 2005-07-07 Hitachi Ltd データ転送方法及びシステム並びにプログラム
US20050283654A1 (en) * 2004-05-24 2005-12-22 Sun Microsystems, Inc. Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system
US7707186B2 (en) * 2004-06-18 2010-04-27 Emc Corporation Method and apparatus for data set migration
JP2006079418A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 記憶制御装置、制御方法及びプログラム
CN100388237C (zh) * 2004-10-20 2008-05-14 北京织女星网格技术有限公司 基于轻量计算的数据重组方法
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
GB0428105D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting and disk failure protection
CN100367181C (zh) * 2005-01-21 2008-02-06 英业达股份有限公司 廉价磁盘冗余阵列中硬盘重新识别系统及其方法
US20060195657A1 (en) * 2005-02-28 2006-08-31 Infrant Technologies, Inc. Expandable RAID method and device
DE102005013502A1 (de) * 2005-03-23 2006-09-28 Fujitsu Siemens Computers Gmbh Verfahren zum Entfernen eines Massenspeichersystems aus einem Rechnerverbund sowie Computerprogramm-Produkt und Rechnerverbund zur Durchführung des Verfahrens
JP4817783B2 (ja) * 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
EP1777613B1 (en) 2005-10-11 2021-11-24 Infortrend Technology, Inc. Pool spares for data storage virtualization subsystem
US7797283B2 (en) * 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7475277B1 (en) * 2005-11-10 2009-01-06 Storage Technology Corporation Automated repair of damaged objects
US7418623B2 (en) * 2005-11-16 2008-08-26 International Business Machines Corporation Apparatus and method to reconfigure a storage array
US8087021B1 (en) 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
US7627775B2 (en) * 2005-12-13 2009-12-01 International Business Machines Corporation Managing failures in mirrored systems
JP2007199953A (ja) * 2006-01-25 2007-08-09 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ制御方法
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
EP2357552A1 (en) * 2006-05-24 2011-08-17 Compellent Technologies System and method for RAID management, reallocation and restriping
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7596723B2 (en) * 2006-09-22 2009-09-29 International Business Machines Corporation Apparatus, system, and method for selective cross communications between autonomous storage modules
US8286029B2 (en) * 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7759958B2 (en) * 2007-09-21 2010-07-20 International Business Machines Corporation Apparatus, system, and method for integrated component testing
WO2009079478A1 (en) * 2007-12-14 2009-06-25 Virident Systems, Inc. Distributing metadata across multiple different disruption regions within an asymmetric memory system
JP5153315B2 (ja) * 2007-12-19 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ルートファイルシステムを管理するシステム及び方法
US7899988B2 (en) * 2008-02-28 2011-03-01 Harris Corporation Video media data storage system and related methods
WO2009140700A1 (en) 2008-05-16 2009-11-19 Fusion Multisystems, Inc. Apparatus, system, and method for detecting and replacing failed data storage
US8316196B1 (en) * 2008-09-30 2012-11-20 Emc Corporation Systems, methods and computer readable media for improving synchronization performance after partially completed writes
US7904749B2 (en) * 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure
US8135984B2 (en) * 2008-11-06 2012-03-13 Mitac Technology Corp. System and method for reconstructing RAID system
US8533397B2 (en) * 2009-01-06 2013-09-10 International Business Machines Corporation Improving performance in a cache mechanism by way of destaging data in partial strides
EP2401679A1 (en) * 2009-02-26 2012-01-04 Hitachi, Ltd. Storage system comprising raid group
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
JP4836014B2 (ja) * 2009-07-24 2011-12-14 日本電気株式会社 ディスクアレイ装置及び物理ディスクの復元方法
US20110029728A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for reducing input/output operations in a raid storage system
KR101562794B1 (ko) * 2009-08-04 2015-10-26 삼성전자주식회사 데이터 저장 장치
US7856528B1 (en) 2009-08-11 2010-12-21 Texas Memory Systems, Inc. Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US8930622B2 (en) 2009-08-11 2015-01-06 International Business Machines Corporation Multi-level data protection for flash memory system
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8234520B2 (en) * 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
CN101714064B (zh) * 2009-12-29 2012-01-04 成都市华为赛门铁克科技有限公司 数据存取方法及服务器
US8880843B2 (en) * 2010-02-10 2014-11-04 International Business Machines Corporation Providing redundancy in a virtualized storage system for a computer system
US8347169B1 (en) * 2010-03-01 2013-01-01 Applied Micro Circuits Corporation System and method for encoding using common partial parity products
CN102884516B (zh) * 2010-05-13 2016-08-03 惠普发展公司,有限责任合伙企业 文件系统迁移
CN101980137B (zh) * 2010-10-19 2012-05-30 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN102129354A (zh) * 2010-12-08 2011-07-20 北京航空航天大学 一种基于2d-raid阵列的自适应重组方法
JP5452765B2 (ja) * 2010-12-14 2014-03-26 株式会社日立製作所 情報処理システムにおける障害復旧方法、及び情報処理システム
US8560772B1 (en) * 2010-12-29 2013-10-15 Datadirect Networks, Inc. System and method for data migration between high-performance computing architectures and data storage devices
CN102053802B (zh) * 2010-12-31 2012-09-05 中国科学院计算技术研究所 网络独立冗余磁盘阵列系统
CN102207895B (zh) * 2011-05-27 2012-11-14 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
US8996804B2 (en) 2011-09-12 2015-03-31 International Business Machines Corporation Optimizing and enhancing performance for parity based storage
CN102508733B (zh) * 2011-09-22 2016-01-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
JP2013117922A (ja) * 2011-12-05 2013-06-13 Buffalo Inc ディスクシステム、データ保持装置、及びディスクデバイス
EP2784675B1 (en) * 2012-02-09 2016-12-28 Huawei Technologies Co., Ltd. Method, device and system for data reconstruction
WO2013157032A1 (en) * 2012-04-16 2013-10-24 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
WO2014016860A1 (en) * 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
EP2863308B1 (en) 2013-06-19 2018-08-08 Hitachi, Ltd. Decentralized distributed computing system
JP6213130B2 (ja) * 2013-10-09 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
US9021296B1 (en) * 2013-10-18 2015-04-28 Hitachi Data Systems Engineering UK Limited Independent data integrity and redundancy recovery in 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
CN103699336B (zh) * 2013-12-03 2016-09-07 中国科学院计算技术研究所 一种磁盘阵列数据分布与重建方法及系统
US20150205667A1 (en) * 2014-01-23 2015-07-23 DSSD, Inc. Method and system for service-aware data placement in a storage system
US8949692B1 (en) 2014-01-23 2015-02-03 DSSD, Inc. Method and system for service-aware parity placement in a storage system
US9542272B2 (en) 2014-03-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Write redirection in redundant array of independent disks systems
US9336102B2 (en) * 2014-04-21 2016-05-10 Dell Products L.P. Systems and methods for preventing input/output performance decrease after disk failure in a distributed file system
US10452315B2 (en) 2014-09-24 2019-10-22 Hewlett Packard Enterprise Development Lp Block priority information
CN104317678B (zh) * 2014-10-30 2016-09-14 浙江宇视科技有限公司 一种不中断数据存储服务且修复raid阵列的方法和装置
US9766977B2 (en) 2014-11-10 2017-09-19 Dell Products, Lp System and method for improving read performance of a distributed parity RAID solution
US10757175B2 (en) * 2015-02-10 2020-08-25 Vmware, Inc. Synchronization optimization based upon allocation data
US10528272B2 (en) * 2015-02-20 2020-01-07 International Business Machines Corporation RAID array systems and operations using mapping information
CN104850468B (zh) * 2015-05-31 2018-04-27 上海交通大学 基于校验矩阵的纠删码解码方法
US10013171B2 (en) 2015-06-29 2018-07-03 International Business Machines Corporation Reducing stress on RAIDS under rebuild
CN105183583A (zh) * 2015-07-31 2015-12-23 浪潮电子信息产业股份有限公司 一种磁盘阵列的数据重建的方法及一种磁盘阵列系统
CN109445687B (zh) * 2015-09-30 2022-04-26 华为技术有限公司 一种数据存储方法以及协议服务器
US11112990B1 (en) * 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US10013320B2 (en) * 2016-06-14 2018-07-03 Oracle International Corporation Systems and methods for support log cache device removal through standard user interfaces
CN107870730B (zh) * 2016-09-23 2020-11-20 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN108733313B (zh) * 2017-04-17 2021-07-23 伊姆西Ip控股有限责任公司 利用预备盘建立多级闪速缓存的方法、设备和计算机可读介质
US10936453B2 (en) * 2017-09-19 2021-03-02 Seagate Technology Llc Data storage systems using elastic spares
US10776202B1 (en) * 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10521139B2 (en) * 2017-12-14 2019-12-31 International Business Machines Corporation Copy source to target management in a data storage system
CN110058785B (zh) 2018-01-18 2022-07-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN110058953B (zh) * 2018-01-18 2023-02-28 伊姆西Ip控股有限责任公司 用于改变存储系统的类型的方法、设备和存储介质
CN110058965B (zh) * 2018-01-18 2023-07-28 伊姆西Ip控股有限责任公司 存储系统中的数据重建方法及设备
US11169961B2 (en) * 2018-06-29 2021-11-09 Weka.IO Ltd. Data migration in a distributive file system
CN111124264B (zh) * 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 用于重建数据的方法、设备和计算机程序产品
CN109799953B (zh) * 2018-12-14 2022-10-11 深圳创新科技术有限公司 一种快速重建raid的方法和装置
CN111857552A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品
CN112825052A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 确定条带一致性的方法及装置
CN113552998B (zh) * 2020-04-24 2023-09-15 伊姆西Ip控股有限责任公司 用于管理存储系统中的条带的方法、设备和程序产品
CN114443368B (zh) * 2021-12-31 2023-11-14 苏州浪潮智能科技有限公司 raid系统的冗余数据处理方法、装置、系统及介质

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
DE3854026D1 (de) 1987-09-04 1995-07-27 Digital Equipment Corp Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung.
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5454099A (en) 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
CA2036688C (en) * 1990-02-28 1995-01-03 Lee W. Tower Multiple cluster signal processor
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5166939A (en) 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5313585A (en) * 1991-12-17 1994-05-17 Jeffries Kenneth L Disk drive array with request fragmentation
US5333305A (en) * 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
AU653670B2 (en) * 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5708668A (en) 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
EP0612015A1 (en) * 1993-02-16 1994-08-24 International Business Machines Corporation Improved disk array system having special parity groups for data blocks with high update activity
DK0702815T3 (da) * 1993-06-03 2000-12-18 Network Appliance Inc Opsætning af et filsystem til skrivning på et hvilket som helst sted
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US7174352B2 (en) * 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
WO1994029795A1 (en) 1993-06-04 1994-12-22 Network Appliance Corporation A method for providing parity in a raid sub-system using a non-volatile memory
US5522031A (en) * 1993-06-29 1996-05-28 Digital Equipment Corporation Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5537534A (en) * 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
JPH08286844A (ja) * 1995-04-13 1996-11-01 Hitachi Ltd パリティ生成制御方法およびディスク制御装置
JP3202550B2 (ja) * 1995-07-14 2001-08-27 日本電気株式会社 ディスクアレイサブシステム
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5758118A (en) * 1995-12-08 1998-05-26 International Business Machines Corporation Methods and data storage devices for RAID expansion by on-line addition of new DASDs
US5742752A (en) * 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US6006227A (en) * 1996-06-28 1999-12-21 Yale University Document stream operating system
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US5856981A (en) * 1997-05-15 1999-01-05 Lucent Technologies Inc. Reliable connection oriented networks
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
JPH1124848A (ja) * 1997-07-03 1999-01-29 Hitachi Ltd ディスクアレイの障害領域交代処理方法およびディスクアレイ装置
JP2001519563A (ja) * 1997-10-08 2001-10-23 シーゲイト テクノロジー エルエルシー ディスクドライブアレイおよびデータ格納方法
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6516351B2 (en) * 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6052764A (en) * 1997-12-19 2000-04-18 Compaq Computer Corportion Computer data restoration assembly and associated method
US5950203A (en) * 1997-12-31 1999-09-07 Mercury Computer Systems, Inc. Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6457130B2 (en) * 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6289415B1 (en) * 1998-12-23 2001-09-11 At&T Corporation System and method for storage media group parity protection
US6327672B1 (en) * 1998-12-31 2001-12-04 Lsi Logic Corporation Multiple drive failure tolerant raid system
US6725392B1 (en) * 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
JP2000357058A (ja) * 1999-06-15 2000-12-26 Toshiba Corp ディスクアレイ装置
US6442649B1 (en) * 1999-08-18 2002-08-27 Intel Corporation Dynamic expansion of storage device array
EP1214663B1 (en) 1999-08-24 2006-06-14 Network Appliance, Inc. Scalable file server with highly available pairs
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6571351B1 (en) * 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
US6598174B1 (en) * 2000-04-26 2003-07-22 Dell Products L.P. Method and apparatus for storage unit replacement in non-redundant array
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6728922B1 (en) * 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6745284B1 (en) * 2000-10-02 2004-06-01 Sun Microsystems, Inc. Data storage subsystem including a storage disk array employing dynamic data striping
US6654912B1 (en) 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
JP3435400B2 (ja) * 2000-12-08 2003-08-11 株式会社東芝 ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ
JP4053234B2 (ja) * 2000-12-11 2008-02-27 株式会社日立グローバルストレージテクノロジーズ ディスク装置
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP2010508604A (ja) * 2006-10-31 2010-03-18 ネットアップ,インコーポレイテッド ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法
JP2012509521A (ja) * 2008-11-18 2012-04-19 エルエスアイ コーポレーション ソリッドステートドライブデータを回復するためのシステム及び方法
JP2010271808A (ja) * 2009-05-20 2010-12-02 Fujitsu Ltd ストレージ装置及びデータコピー方法
US8639898B2 (en) 2009-05-20 2014-01-28 Fujitsu Limited Storage apparatus and data copy method
JP2014528127A (ja) * 2011-09-12 2014-10-23 マイクロソフト コーポレーション 使用状態ビットマップを備えた記憶装置への効率的なアクセス
JP2015166958A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Also Published As

Publication number Publication date
CN1679000A (zh) 2005-10-05
JP4846763B2 (ja) 2011-12-28
CN101154174A (zh) 2008-04-02
WO2004001600A1 (en) 2003-12-31
IL165831A (en) 2010-12-30
US20030237019A1 (en) 2003-12-25
EP1535154A4 (en) 2008-09-10
EP1535154A1 (en) 2005-06-01
US7024586B2 (en) 2006-04-04
IL165831A0 (en) 2006-01-15
AU2003278864A1 (en) 2004-01-06
CN101154174B (zh) 2010-10-06
JP2008269638A (ja) 2008-11-06
CN100378672C (zh) 2008-04-02

Similar Documents

Publication Publication Date Title
JP4846763B2 (ja) Raidデータの復元および移動でのファイルシステム情報の使用
US6480970B1 (en) Method of verifying data consistency between local and remote mirrored data storage systems
US8082390B1 (en) Techniques for representing and storing RAID group consistency information
US7281160B2 (en) Rapid regeneration of failed disk sector in a distributed database system
US6898668B2 (en) System and method for reorganizing data in a raid storage system
US6886075B2 (en) Memory device system and method for copying data in memory device system
JP3177242B2 (ja) データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶
US7558981B2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US6052799A (en) System and method for recovering a directory for a log structured array
US7120826B2 (en) Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion
US6279138B1 (en) System for changing the parity structure of a raid array
US7069382B2 (en) Method of RAID 5 write hole prevention
US6446220B1 (en) Updating data and parity data with and without read caches
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
WO1993023803A1 (fr) Appareil de commande pour pile de disques
WO2002091111A2 (en) Parity mirroring between controllers in an active-active controller pair
US6128762A (en) Updating and reading data and parity blocks in a shared disk system with request forwarding
JPH1049308A (ja) ホスト・ベースraid−5及びnv−ram統合システム
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法
RU2750645C1 (ru) Способ хранения данных в избыточном массиве независимых дисков с повышенной отказоустойчивостью
JPH06119126A (ja) ディスクアレイ装置
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051101

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806