JP2016530637A - Raidパリティストライプ再構成 - Google Patents
Raidパリティストライプ再構成 Download PDFInfo
- Publication number
- JP2016530637A JP2016530637A JP2016538895A JP2016538895A JP2016530637A JP 2016530637 A JP2016530637 A JP 2016530637A JP 2016538895 A JP2016538895 A JP 2016538895A JP 2016538895 A JP2016538895 A JP 2016538895A JP 2016530637 A JP2016530637 A JP 2016530637A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- reconstruction
- stripe
- reconfiguration
- data
- 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
Links
- 238000003860 storage Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 116
- 230000008569 process Effects 0.000 description 58
- 238000010276 construction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
再構成/再構築テーブルおよびスペース割り当てテーブルをチェックすることによる、パリティストライプが再構成されているかどうかおよびパリティストライプが割り当てられているかどうかを判断することによる、RAIDストレージシステムにおけるデータ再構成。パリティストライプの再構成が起こる前は、障害が起こったハイブリッドドライブの不揮発性メモリをチェックしてアクセス可能かどうかを判断し、アクセス可能である場合は、再構成が起こる代わりに、新しいハイブリッドドライブにデータがコピーされる。
Description
本明細書で開示される様々な実施形態は、ストレージシステムに関する。
独立ディスクの冗長アレイ(RAID)の技術は、高いデータ性能および信頼性を達成するために、ストレージシステムにおいて広く使用されてきた。ディスクのアレイ内で冗長情報を維持することにより、RAIDは、1つまたは複数のディスク障害がアレイで起こった場合にデータを回復することができる。RAIDシステムは、それらの構造および特性に従って、異なるレベルに分類される。RAIDレベル0(RAID0)は、冗長データを持たず、ディスク障害から回復することはできない。RAIDレベル1(RAID1)は、一対のディスク上でミラーリングを実装し、従って、一対のディスクにおいて1つのディスク障害から回復することができる。RAIDレベル4(RAID4)およびRAIDレベル5(RAID5)は、ディスクのアレイ上でXORパリティを実装し、XOR演算を通じて、アレイにおいて1つのディスク障害から回復することができる。RAIDレベル6(RAID6)は、ディスクアレイにおいて同時に起こる2つのいかなるディスク障害からも回復することができ、リードソロモン符号などの様々な種類の抹消符号を通じて実装することができる。
RAIDシステムにおけるディスク障害からのデータ回復プロセスは、データ再構成と呼ばれる。データ再構成プロセスは、RAIDシステムの性能と信頼性の両方にとって非常に重要である。RAID5システムを例に取ると、アレイにおけるディスク障害が起こると、アレイは劣化モードに入り、障害が起こったディスクにかかるユーザI/O要求はオンザフライでデータを再構成しなければならず、それは、かなり高価であり、大きな性能オーバーヘッドを引き起こす。その上、ユーザI/Oプロセスおよび再構成プロセスは、同時に実行され、互いにディスク帯域幅を競い合い、それにより、システム性能がさらに大幅に劣化する。他方では、RAID5システムが1つのディスク障害から回復している際には、第2のディスク障害が起こる場合があり、それにより、システムの耐障害能力を超えることになり、永久的なデータ損失が生じる。従って、長期にわたるデータ再構成プロセスは、長時間のシステムの脆弱性を招き、システムの信頼性を大幅に劣化する。これらの理由に基づくと、データ再構成プロセスはできる限り短縮すべきであり、現行のRAIDシステムのデータ再構成の最適化を求める仕方および方法は、極めて重要かつ深刻なものである。
データ再構成に対し、理想的なシナリオはオフライン再構成であり、オフライン再構成では、アレイは、ユーザI/O要求の提供を停止し、データ再構成プロセスをその全速力で実行させる。しかしながら、このシナリオは、RAIDシステムがディスク障害から回復している時でさえも途切れることのないデータサービスを提供するために同RAIDシステムが必要とされるほとんどの生産環境において実用的ではない。言い換えれば、生産環境におけるRAIDシステムは、オンライン再構成を行っており、オンライン再構成では、再構成プロセスおよびユーザI/Oプロセスは、同時に実行されている。以前の研究では、RAIDシステムの再構成プロセスを最適化するためにいくつかの方法が提案されている。ワークアウト(Workout)方法は、代理RAIDにユーザ書き込みデータキャッシュポピュラ読み取りデータをリダイレクトし、オリジナルのRAIDの再構成が完了した際にオリジナルのRAIDに書き込みデータを再要求することを目的とする。そうすることで、ワークアウト(Workout)は、ユーザI/Oプロセスから再構成プロセスを分離し、再構成プロセスが邪魔されないようにしようと試みる。ワークアウト(Workout)とは異なり、本発明者らが提案する方法は、ユーザ読み取り/書き込み要求を出す間、ユーザI/Oプロセスに再構成プロセスとの連携を行わせ、データ再構成に貢献させる。別の以前の方法は、ビクティムディスクファースト(VDF:Victim Disk First)と呼ばれる。VDFは、システムDRAMキャッシュポリシを定義し、システムDRAMキャッシュポリシは、障害が起こったディスクのデータを高い優先度でキャッシュし、その結果、オンザフライでの障害が起こったデータの再構成の性能オーバーヘッドを最小限に抑えることができる。VDFとは異なり、本発明者らの方法は、アレイにおける残存ディスクのNVMキャッシュのデータを利用することによって再構成シーケンスを最適化するためのポリシを含む。第3の以前の研究は、ライブブロック回復と呼ばれる。ライブブロック回復方法は、再構成の間にライブファイルシステムデータのみを回復し、未使用のデータブロックをスキップすることを目的とする。しかしながら、この方法は、RAIDブロックレベルにファイルシステム情報を渡すことに依存し、従って、既存のファイルシステムの著しい変更を必要とする。その上、この方法は、RAID1などの複製ベースのRAIDにのみ適用することができ、RAID5およびRAID6などのパリティベースのRAIDに適用することはできない。また、本発明者らが提案する方法は、使用データブロックのみの再構成も目的とするが、本発明者らの方法は、ブロックレベルで完全に機能し、ファイルシステムの変更を必要としない。その上、本発明者らの方法は、パリティベースのRAIDシステムを含めて、いかなるRAIDレベルにも適用することができる。
ハイブリッドドライブは、1つのディスクエンクロージャ内部にNVMキャッシュと共に回転磁気ディスク媒体を配置する新種のハードディスクドライブである。正常なモードでは、NVMキャッシュは、ユーザI/O要求に対する読み取り/書き込みキャッシュとしての役割を果たす。再構成モードでは、NVMキャッシュのデータは、再構成プロセスの加速に活用することができる。本発明者らの方法の以下の説明では、ハイブリッドドライブ内部のNVMキャッシュを活用することによってRAIDシステムの再構成をどのように最適化するかを示す。
例示的な実施形態によれば、ハイブリッドドライブから成るRAIDシステムの再構成プロセスを最適化するための方法が開示される。開示される方法を示す例として、例えば、RAID5を使用することができる。これらの方法は、これらに限定されないが、RAID1、RAID4およびRAID6などの他のRAIDレベルにも適用できることに留意しなければならない。例示的な実施形態による様々な方法は、以下を含み得る:
−個々のパリティストライプの各々に対する非常に細かい再構成制御。
−個々のパリティストライプの各々に対する非常に細かい再構成制御。
対応する例示的な方法は、図3、図4および図5に示されている。
−直接コピーを通じる障害が起こったハイブリッドドライブのNVMキャッシュのデータの再構成の高速化。
−直接コピーを通じる障害が起こったハイブリッドドライブのNVMキャッシュのデータの再構成の高速化。
対応する例示的な方法は、図6に示されている。
−未使用のフリースペースおよび無効な/無駄なデータを保持しているスペースの再構成のスキップ。
−未使用のフリースペースおよび無効な/無駄なデータを保持しているスペースの再構成のスキップ。
対応する例示的な方法は、図7に示されている。
図面では、同様の参照文字は、一般に、異なる図全体を通じて、同様の部分を指す。図面は、必ずしも原寸に比例するとは限らず、代わりに、一般に、本発明の原理を示すことに重点が置かれる。以下の説明では、本発明の様々な実施形態は、以下の図面を参照して説明される。
図面では、同様の参照文字は、一般に、異なる図全体を通じて、同様の部分を指す。図面は、必ずしも原寸に比例するとは限らず、代わりに、一般に、本発明の原理を示すことに重点が置かれる。以下の説明では、本発明の様々な実施形態は、以下の図面を参照して説明される。
以下の詳細な説明は、例示として、本発明を実践できる特定の詳細および実施形態を示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実践できるように十分詳細に説明される。他の実施形態も利用でき、本発明の範囲から逸脱することなく、構造上、論理上および電気的な変更を行うことができる。いくつかの実施形態を1つまたは複数の他の実施形態と組み合わせて新しい実施形態を形成することができるため、様々な実施形態は、必ずしも相互排他的である必要はない。
方法またはデバイスのうちの1つの文脈において説明される実施形態は、他の方法またはデバイスに類似して有効である。同様に、方法の文脈において説明される実施形態は、デバイスに類似して有効であり、その逆も同様である。
実施形態の文脈において説明される特徴は、他の実施形態の同じまたは同様の特徴に相応に適用可能であり得る。実施形態の文脈において説明される特徴は、これらの他の実施形態に明示的に説明されていない場合でさえ、他の実施形態に相応に適用可能であり得る。その上、実施形態の文脈における特徴に対して説明されるような、追加および/または組合せおよび/または代替は、他の実施形態の同じまたは同様の特徴に相応に適用可能であり得る。
様々な実施形態の文脈において、特徴または要素に関して使用されるような、冠詞「a」、「an」および「the」は、特徴または要素のうちの1つまたは複数への言及を含む。
様々な実施形態の文脈において、「少なくとも実質的に」という表現は、「正確に」および妥当な差異を含み得る。
様々な実施形態の文脈において、数値に適用されるような「約」または「およそ」という用語は、正確な値および妥当な差異を包含する。
様々な実施形態の文脈において、数値に適用されるような「約」または「およそ」という用語は、正確な値および妥当な差異を包含する。
本明細書で使用されるように、「および/または」という用語は、リストされる関連項目のうちの1つまたは複数の組合せのいずれか、および、すべてを含む。
本明細書で使用されるように、「AまたはBの少なくとも1つ」という形式の表現は、AまたはBあるいはAとBの両方を含み得る。それに応じて、「AまたはBまたはCの少なくとも1つ」という形式の表現、あるいは挙げられるさらなる項目を含むは、挙げられる関連項目のうちの1つまたは複数の組合せのいずれか、および、すべてを含み得る。
本明細書で使用されるように、「AまたはBの少なくとも1つ」という形式の表現は、AまたはBあるいはAとBの両方を含み得る。それに応じて、「AまたはBまたはCの少なくとも1つ」という形式の表現、あるいは挙げられるさらなる項目を含むは、挙げられる関連項目のうちの1つまたは複数の組合せのいずれか、および、すべてを含み得る。
例示的な実施形態によれば、パリティストライプは、データを組織するためのパリティRAIDシステムのためのユニットを指し得る。図1Aに示されるように、パリティストライプは、複数のブロックから成り得る。
パリティストライプの各ブロックは、異なるディスクに存在し得る。図1Aの例に示されるように、収納された第1のパリティストライプのパリティブロックは、ストレージディスク1〜4上に存在する。
パリティストライプのブロックは、およそ4KBの典型的なサイズのデータブロックまたはパリティブロックであり得る。データブロックは、ユーザデータを保持することができる。パリティブロックは、XOR演算を使用することができる、あるパリティアルゴリズムに従ってパリティストライプのデータブロックから演算されるパリティ値を保持することができる。
図1Bは、例示的な実施形態による、典型的な(例えば、最適化されていない)RAIDシステム100がどのようにユーザ読み取り/書き込み要求(140、145)を処理するかを示す。読み取り要求の場合、読み取りプロセスは、データディスク(D1、D2、D3、D4)からデータを直接読み取り、ユーザに返送する。書き込み要求の場合、書き込みプロセスは、最初に、古いデータおよびその対応するパリティを読み出し、それらを新しいデータと共に使用して新しいパリティを生成し、次いで、新しいデータおよび新しいパリティをデータおよびパリティディスク(D1、D2、D3、D4、P1)に書き込む。
図2は、例示的な実施形態による、ディスクに障害が起こった際に典型的なRAIDシステム200がどのようにオンライン再構成を行うかを示す。再構成プロセスは、最初のパリティストライプから最後のパリティストライプまで順番にRAIDシステム200のパリティストライプを再構成することができる。各パリティストライプを構成するため、再構成プロセスは、残存ディスク(205、215、220、225)から対応するデータおよびパリティブロックを読み出し、パリティ演算を通じて障害が起こったディスク210上にデータブロックを再生成し、データブロックを置換ディスク230に書き戻す。オンライン再構成の間は、障害が起こったディスクにかかるユーザI/O要求(240、245)は、オンザフライでデータを再構成しなければならない。読み取り要求240の場合、パリティグループの他のデータおよびパリティブロックのすべてが読み出され、要求されたデータは、パリティ演算を通じて再構成される。書き込み要求245の場合、他のデータブロックのすべては、パリティブロックが読み出されることを予期し、次いで、新しいパリティブロックが再構成され、パリティディスクに書き戻される。従って、再構成モードでのユーザI/O処理は、正常なモードでのものより複雑であり、より低い性能を有する。再構成プロセスおよびユーザI/Oプロセスは、互いに別々に実行され、ユーザI/O処理は、障害が起こったディスク全体が再構成されるまで正常なモードに戻らないことに留意しなければならない。本発明者らは、このスキームを粗野な(coarse−grained)再構成制御と呼ぶ。
図3は、例示的な実施形態による、ビットマップベースの非常に細かい(fine−grained)再構成制御を使用するRAIDシステム300を示す。再構成の開始時、ビットマップ(再構成ビットマップ350)は、個々のパリティストライプの各々の再構成状態を記録するようにセットアップされる。ビットマップ350は、最初は、すべてが0に設定され、パリティストライプが再構成されると、ビットマップのその対応するビットが1に設定される。厳密に起こった順番に再構成を行う必要がある粗野な再構成制御とは異なり、ビットマップベースの非常に細かい再構成制御は、いかなる順番でもパリティストライプの再構成を行うことを可能にする。非常に細かい再構成制御の下では、ユーザI/Oプロセスは、再構成プロセスと連携する。ユーザI/Oプロセスが、再構成されていない障害が起こったデータブロックに対する要求を行うと、障害が起こったブロックは、オンザフライで再構成され、置換ディスク230に書き戻される。次いで、ビットマップのこのブロックの対応するビットが1に設定され、これは、この障害が起こったブロックが再構成されたことを示す。他方では、再構成プロセスは、依然として、最初のパリティストライプから最後のパリティストライプまで順番に実行される。しかしながら、パリティストライプを再構成する前に、再構成プロセスは、対応するビットが設定されたかどうかを見るために、ビットマップをチェックする。ビットが設定されていれば、再構成プロセスは、このパリティストライプの再構成をスキップする。
図4は、例示的な実施形態による、再構成シーケンスを最適化するためのハイブリッドドライブ(405、410、415、420、425、430)のNVMキャッシュのデータの利用を示す。障害が起こったブロックを再構成するため、再構成プロセスは、同じパリティストライプの他のデータおよびパリティブロックをすべて読み出す必要がある。NVMキャッシュからデータを読み取ることは、回転ディスクからデータを読み取るよりもはるかに速く、NVMキャッシュに格納されるデータは、ホットおよび/または重要なデータであるため、そのデータおよびパリティブロックのすべてまたはほとんどが残存ディスク(405、415、420、425)のNVMキャッシュでキャッシュされている場合にパリティストライプを再構成する方がより効率的である。従って、再構成プロセスは、最初に、ハイブリッドドライブのNVMキャッシュをスキャンし、他のパリティストライプより高い優先度でより多くのデータおよびパリティブロックがNVMにキャッシュされたパリティストライプを再構成する。それらのパリティブロックの一部しかNVMにキャッシュされていないパリティストライプの場合、後続の再構成の使用のために、キャッシュされていないパリティブロックをNVMキャッシュにプリフェッチするようにNVMキャッシュ管理モジュールに暗示するために、追加の最適化を行うことができる。パリティストライプが再構成されると、それらの対応するビットは、再構成ビットマップ(再構成ビットマップ350)で設定される。
図5は、例示的な実施形態による、ビットマップベースの非常に細かい再構成制御の下でのユーザI/O要求の処理を示す。図3に示されるように、ユーザ要求が、再構成されていない障害が起こったデータブロックにかかると、データブロック(読み取り要求240のための)またはパリティブロック(書き込み要求245のための)がオンザフライで再構成され、パリティストライプのすべての残存ディスク(205、215、220、225)へのアクセスを必要とし、それは、かなり高価である。粗野な再構成制御の下では、すべてのユーザI/O要求は、再構成プロセスが完了するまで、この高価な仕方で処理される。しかしながら、非常に細かい再構成制御の下では、ユーザI/O要求は、個々のパリティストライプの各々の再構成状態に従って処理することができる。図5に示されるように、ユーザI/O要求が、既に再構成されている障害が起こったブロックにかかる場合は、要求は、図1に示される正常なモードと同じように処理される。
図6は、例示的な実施形態による、直接コピーを通じて障害が起こったハイブリッドドライブのNVMキャッシュにキャッシュされたデータを再構成する方法を示す。実用的なRAIDシステム600では、ディスク障害は、通常、回転ディスク媒体の読み取り/書き込みエラーによって生じる。従って、ハイブリッドドライブ410に障害が起こった際は、そのNVMキャッシュは未だアクセス可能であり得る。再構成の開始時、RAIDシステムは、最初に、障害が起こったハイブリッドドライブ410のNVMキャッシュが未だアクセス可能であるかどうかを検出する。NVMキャッシュがアクセス可能である場合は、その中のデータブロックが読み出され、置換ディスクにコピーされ、次いで、再構成ビットマップのそれらの対応するビットが設定され、再構成済みとマーク付けされる。このように、NVMキャッシュのデータブロックは、パリティ演算方法より効率的な直接的な方法で構成される。その上、NVMキャッシュにキャッシュされたデータブロックは、通常、ホットデータであり、ユーザ要求の大部分によってアクセスされる。それらが再構成されると、これらのデータブロックに対するユーザ要求は、より効率的に処理することができる。
図7は、例示的な実施形態による、RAIDシステムの使用スペースのみを再構成することによって総再構成時間を短縮する方法を示す。各パリティストライプの割り当てられた/フリー状態を記録するため、スペースビットマップ750がセットアップされる。スペースビットマップ750のサイズを低減するため、複数のパリティストライプを1つのユニットと見なすことができ、ビットマップの全く同じビットに対応させることができる。RAIDシステム700の構築時、すべてのデータおよびパリティディスク(705、710、715、720、725)に0を書き込むことを通じて同期が行われる。また、置換ディスク730のコンテンツもバックグラウンドで0に初期化される。スペースビットマップ750は、すべてが0になるように初期化される。パリティストライプが初めて割り当てられる際は、スペースビットマップ750のその対応するビットは、1に設定される。再構成の間、再構成プロセスは、特定のパリティストライプを再構成する前にスペースビットマップ750をチェックする。ビットが設定されている場合は、パリティストライプは、割り当てられているはずであり、再構成されなければならない。そうでなければ、パリティストライプはフリーであるはずであり、0のブロックのみを含み、従って、再構成する必要はない。スペースビットマップ750は、ブロックレベルで実装され、上記のファイルシステムへの変更を必要としないことに留意しなければならない。しかしながら、スペースビットマップ750を最適に使用するため、ファイルシステムは、トリムのようなコマンドをサポートすることができ、以前に割り当てられたパリティストライプをフリーにする際は、RAIDシステム700に通知することができる。RAIDシステム700は、バックグラウンドでパリティストライプに0を書き戻し、次いで、スペースビットマップの対応するビットをオフにする。
例示的な実施形態によれば、スペースビットマップは、RAID構築後のデータ再構成の開始時に初期化することができる。すなわち、RAIDシステムに対するデータ再構成プロセスが始まると、再構成が構成される予定の各パリティストライプに対するパリティブロックをチェックすることができる。パリティブロックのすべてが0である場合は、関連パリティストライプが未使用であることを示すためにスペースビットマップを更新することができる。パリティブロックのすべてが0であるとは限らない場合は、関連パリティストライプが使用されていることを示すためにスペースビットマップを更新することができる。
例えば、RAID構築プロセスの間は、RAIDシステムのすべてのデータおよびパリティブロックは、0のブロックに初期化することができる。従って、パリティストライプが使用されている場合は、そのパリティブロックを更新しなければならず、従って、非ゼロとなり得る。しかしながら、パリティストライプが一度も使用されていない場合は、そのパリティブロックは、すべてが0のブロックのままであり得る。
いくつかの例示的な実施形態では、以前に開示されるように、関連パリティストライプのパリティブロックは、再構成の間にオンザフライでチェックすることができる。従って、パリティストライプが使用されているかまたは未使用であるかを示すためにスペースビットマップを使用しなくともよい。再構成のためのパリティストライプのパリティブロックのオンザフライでのチェックに応答して、パリティブロックが0の場合は、置換ディスクに0を書き込むことによってパリティストライプを再構成することができる。パリティストライプのすべてが0であるとは限らない場合は、本明細書の実施形態に従って再構成プロセスを進めることができる。
例示的な実施形態によれば、従来のHDDまたはハイブリッドHDDを備えるRAIDシステムにおける再構成プロセスを最適化するためのシステムおよび方法が本明細書で開示される。
例示的な実施形態によれば、1つまたは複数のビットマップ(例えば、メタデータ記録メカニズム)は、再構成スケジューリング、データの読み取り/書き込み、および、ディスクドライブに障害が起こり、再構成プロセスが開始された後のデータキャッシュのために使用することができる。例示的な実施形態では、データ再構成プロセスの開始時に、2つのビットマップを構築または生成することができる。例えば、使用できる1つのビットマップは、再構成ビットマップであり、再構成ビットマップでは、各ビットは、パリティストライプの再構成状態を表す。再構成ビットマップは、すべてが0になるように初期化することができ、パリティストライプが再構成されると、ビットマップの対応するビットが1に設定される。
同様に、データ再構成に使用できる別のビットマップは、スペースビットマップであり、スペースビットマップでは、各ビットは、パリティストライプ(またはパリティストライプのグループ)が使用されているかまたは使用されていないかを表す。例えば、パリティストライプが以前に使用されたと判断または特定された場合は、典型的な通常の再構成プロセスを進める。そうでなければ、パリティストライプの再構成は、単に、置換ドライブ/ディスクに0を書き込むことから成り得る。
例示的な実施形態によれば、再構成プロセスで使用されるビットマップは、システムメモリまたはNVMまたは他の任意の高速アクセスストレージスペースなどの揮発性メモリに保持することができる。
例示的な実施形態によれば、データ再構成プロセスにおける再構成スケジューラは、再構成シーケンスおよび/または各パリティストライプの再構成方法を判断するために、ビットマップ情報および/または他の情報を使用することができる。
例示的な実施形態によれば、従来のハードディスクドライブ(HDD)を備えるRAIDシステムにおけるデータ再構成プロセスを最適化するスケジューリング戦略は、以下を含み得る。
1.どのアプリケーションからも要求が送信されていないかどうかを判断し、そうでない場合は、再構成スケジューラは、再構成ビットマップの第1のビット(第1のパリティストライプと関連付けられる)からチェックすることによって、再構成プロセスのスケジューリングを開始する。それが0である場合(ビットと関連付けられたパリティストライプが再構成されていないことを示す)は、再構成スケジューラは、第1のパリティストライプを再構成するというコマンドを発行する。再構成スケジューラは、スペースビットマップの第1のビットをさらにチェックすることができる。それが0である場合(チェックされたものと関連付けられたパリティストライプが使用も割り当てもされておらず、すべて0を含むことを示す)は、置換ディスクに0を書き込むことによってパリティストライプを再構成することができる。そうでなければ、スペースビットマップのチェックされたビットが1である場合(使用/割り当てされていることを示す)は、通常の再構成手順に続いて、チェックされたビットと関連付けられたパリティストライプが再構成される。パリティビットの再構成後、再構成スケジューラは、再構成ビットマップを更新し、再構成されたパリティビットと関連付けられたビットを1に設定することができる。再構成ビットマップの第1のビット値が既に1である場合は、再構成スケジューラは、現行のパリティストライプ(例えば、第1のパリティストライプ)をスキップし、第2のビット値のチェックに進み、再構成ビットマップの第2のビットと関連付けられたパリティストライプ(第2のストライプ)が既に再構成されているかどうかを見ることができる。すなわち、再構成スケジューラは、1つまたは複数のアプリケーションから送信される要求のような割り込みがないことを想定して、ビットマップの最後のビットまでこのプロセスを続行および反復することができる。
2.例示的な実施形態では、上記で言及されるプロセスの間に障害が起こったドライブにアクセスするためにアプリケーションから送信された要求がある場合は、RAIDシステムの優先度設定に基づいて、再構成スケジューラは、最初に、現在選択されているチェックされたパリティストライプの再構成を最初に完了し、次いで、システムが、要求側のアプリケーションへの役割を果たせるようにすることができる。例えば、要求側のアプリケーションが、障害が起こったドライブにデータを書き込む必要がある場合は、再構成スケジュールは、置換ドライブに直接書き込み、更新し、次いで、再構成ビットマップを更新して対応するパリティストライプが再構成されていることを示すことができる。要求側のアプリケーションが、障害が起こったドライブからデータを読み取る必要があるが、データが未だ再構成されていない場合は、再構成スケジューラは、RAIDグループの他の利用可能なドライブから読み取ってオンザフライでデータを再構成することによってデータを再構成するというコマンドを発行することができる。次いで、再構成スケジューラは、置換ドライブにデータを書き込み、対応する再構成ストライプの再構成ビットマップを1に更新してストライプが再構成されていることを示すことができる。ビットマップは、再構成スケジューラがパリティストライプの再度の再構成を回避できるようにすることができる。
3.ビットマップをチェックすることにより、システムは、読み取るためのアプリケーション要求が再構成されているかまたは再構成されていないかを特定のデータで容易にチェックすることができる。データが既に再構成されている場合は、置換ドライブからデータを直接読み出し、要求側のアプリケーションに返送することができる。
例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、従来のHDDを備えるRAIDシステムと同様に、前述の方法を使用することができる。
1.例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、ハイブリッドドライブに障害が起こると、システムは、最初に、障害が起こったハイブリッドドライブのNVMにアクセスできるかまたはアクセスできないかを特定することができる。アクセスできる場合は、NVMのデータを読み出し、置換ハイブリッドドライブのNVMに直接コピーすることができる。コピーの終了後、コピーされたデータに対応するビット値を1に設定することによって再構成ビットマップを更新することができる。
1.例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、ハイブリッドドライブに障害が起こると、システムは、最初に、障害が起こったハイブリッドドライブのNVMにアクセスできるかまたはアクセスできないかを特定することができる。アクセスできる場合は、NVMのデータを読み出し、置換ハイブリッドドライブのNVMに直接コピーすることができる。コピーの終了後、コピーされたデータに対応するビット値を1に設定することによって再構成ビットマップを更新することができる。
例示的な実施形態によれば、ハイブリッドドライブを備えるRAIDシステムでは、NVMのデータに基づいて、優先再構成をスケジューリングすることができる。例えば、再構成に必要なデータのすべてが、利用可能なハイブリッドドライブのNVMで利用可能である場合は、高い優先度を有するパリティストライプが再構成され、次いで、後に、再構成ビットマップの対応するビット値を1に更新することができる。部分的なデータのみが利用可能である場合は、NVMにはない再構成に必要なデータの他の残りの部分をNVMにプリフェッチするかまたはプリフェッチが起こるようにすることができる。必要なデータがNVMにある時点で、スケジューラは、これらのパリティストライプを再構成するようにスケジューリングすることができる。
例示的な実施形態によれば、RAIDシステムにおけるデータ再構成の前に、ビットマップ(例えば、再構成ビットマップおよびスペースビットマップ)を構築または生成することができる。以前に開示されるように、再構成ビットマップでは、各ビットは、パリティストライプの再構成状態を表し得る。生成後、再構成ビットマップのビットは、すべてが0になるように初期化することができる。従って、パリティストライプが再構成されると、その対応するビットを1に設定することができる。
パリティストライプ(またはパリティストライプのグループ)が使用/割り当てされているかまたは使用/割り当てされていないかを各ビットが表し得るスペースビットマップでは、パリティストライプが使用または割り当てされている場合は、本明細書で開示されるものなどのデータ再構成プロセスを実装することができる。パリティストライプが以前に使用も割り当てもされていない場合は、単に、置換ディスクに0を書き込むことによって、パリティストライプの再構成を遂行することができる。
例示的な実施形態によれば、スペースビットマップを生成することができる。各パリティ/再構成ストライプに対し、関連パリティブロックをチェックすることができる。例えば、すべてが0のブロックである場合は、ビットマップで未使用のもの(例えば、「0」)と示すことができる。そうでなければ、使用されているもの(例えば、「1」)と示すことができる。初期化の間は、RAIDシステムのすべてのデータおよびパリティブロックは、0のブロックに初期化することができる。従って、パリティストライプがその後に使用される場合は、そのパリティブロックを更新しなければならず、非ゼロとなる。パリティストライプが一度も使用されていない場合は、そのパリティブロックは、すべてが0のブロックのままであり得る。
いくつかの例示的な実施形態によれば、スペースビットマップを回避することも、使用しないこともできる。代わりに、パリティブロックのチェックは、再構成の間にオンザフライで実装することができ、スペースビットマップは、未使用のスペースを記録することも、示すこともする必要はない。例えば、各パリティストライプの再構成前は、最初に、パリティブロックがチェックされる。パリティブロックがすべて0である場合は、置換ディスクに0を書き込むことによってこのパリティストライプが再構成される。そうでなければ、再構成される。
例示的な実施形態によれば、本明細書で開示される様々な例示的なRAIDシステムは、図示されていない1つもしくは複数のコンピューティングデバイスを含むことおよび/またはコンピューティングデバイスと動作可能に結合することができる。コンピューティングデバイスは、例えば、1つまたは複数のプロセッサおよび他の適したコンポーネント(メモリおよびコンピュータストレージなど)を含み得る。例えば、少なくとも1つのRAIDコントローラは、RAIDシステムに含まれ、RAIDシステムを構成するストレージドライブに動作可能に接続することができる。プロセッサは他の形態のプロセッサ、処理デバイス(マイクロコントローラなど)、または、本明細書で説明される機能性を実行するようにプログラムすることができる他の任意のデバイスも備え得ることを理解すべきである。
それに従って、コンピューティングデバイスは、再構成スケジューラプロセス、様々な入力/出力要求などの本明細書で開示される様々な方法またはその態様のうちの1つまたは複数を少なくとも部分的に実装するために、ソフトウェアを実行することができる。そのようなソフトウェアは、プロセッサが実行するために、いかなる適切なまたは適した非一時的なコンピュータ可読媒体上にも格納することができる。言い換えれば、コンピューティングデバイスは、本明細書で開示されるRAIDシステムの様々なドライブと相互作用することも、インターフェースをとることもできる。それに従って、コンピューティングデバイスは、本明細書で開示されるテーブル(例えば、スペースビットマップ、再構成ビットマップなど)の作成、更新、アクセスなどを行うために使用することができる。テーブルは、いかなる適したコンピュータストレージデバイスまたはメモリなどのいかなる適したストレージデバイスにもデータとして格納することができる。
例示的な実施形態によれば、そのうちの1つに障害が起こっている複数のストレージドライブを含むRAIDストレージシステムにおけるデータ再構成のための方法は、再構成のための複数のパリティストライプから1つのパリティストライプを再構成のために選択するステップと、再構成テーブルをチェックすることによって、再構成のために選択されたパリティストライプが以前に再構成されているかどうかを判断するステップであって、再構成テーブルが、エントリを含み、エントリの各々が、再構成のための複数のパリティストライプの少なくとも1つに対応する再構成状態を示し、各再構成状態が、少なくとも1つの対応するパリティストライプが以前に再構成されているかどうかを示す、ステップと、スペーステーブルをチェックすることによって、選択されたパリティストライプが以前に割り当てられているかどうかを判断するステップであって、スペーステーブルが、再構成のための複数のパリティストライプの少なくとも1つに対応する割り当て状態を示すエントリを含み、割り当て状態が、少なくとも1つの対応するパリティストライプが以前に割り当てられているかどうかを示す、ステップとを含み得、選択されたパリティストライプが以前に再構成されていないと判断され、選択されたパリティストライプが以前に割り当てられていると判断された場合は、置換ディスクで選択されたパリティストライプを再構成し、選択されたトライプが再構成されていることを示すために、選択されたパリティストライプに対応する再構成テーブルの再構成状態を更新するステップをさらに含む。
例示的な実施形態によれば、方法は、選択されたパリティストライプが以前に割り当てられていないと判断された場合に、選択されたパリティストライプに対応するデータのために置換ディスクに0を書き込むステップをさらに含み得る。
例示的な実施形態によれば、方法は、パリティストライプを選択するステップの前に、パリティストライプと関連付けられたデータのための入力/出力要求を受信するステップをさらに含み得、パリティストライプを選択するステップは、データのための入力/出力要求が関連付けられるパリティストライプを選択するステップを含む。例示的な実施形態によれば、入力/出力動作要求が受信されない場合は、パリティストライプを選択するステップは、再構成が起こっていないことを示す再構成テーブルの第1のエントリに対応するパリティストライプを選択するステップを含み得る。例示的な実施形態によれば、再構成テーブルは、複数のビットを含むビットマップであり得、各ビットは、再構成のための複数のパリティストライプの各々の再構成状態を表す。
例示的な実施形態によれば、スペーステーブルは、複数のビットを含むビットマップであり得、各ビットは、再構成のための複数のパリティストライプの各々の再構成状態を表す。
例示的な実施形態によれば、方法は、再構成のための複数のパリティストライプから追加のパリティストライプを選択するステップをさらに含み得る。
例示的な実施形態によれば、方法は、受信された入力/出力要求を実行するステップをさらに含み得る。
例示的な実施形態によれば、方法は、受信された入力/出力要求を実行するステップをさらに含み得る。
例示的な実施形態によれば、複数のストレージドライブの各々は、ハードディスクドライブであり得る。
例示的な実施形態によれば、複数のストレージドライブの各々は、不揮発性メモリ(NVM)および磁気ディスク媒体を含むハイブリッドドライブであり得る。例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、障害が起こったドライブのNVMのデータがアクセス可能かどうかを判断するステップと、障害が起こったハイブリッドドライブのNVMがアクセス可能であると判断された場合に、障害が起こったハイブリッドドライブのNVMから置換ハイブリッドドライブのNVMにデータをコピーするステップとをさらに含み得る。
例示的な実施形態によれば、複数のストレージドライブの各々は、不揮発性メモリ(NVM)および磁気ディスク媒体を含むハイブリッドドライブであり得る。例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、障害が起こったドライブのNVMのデータがアクセス可能かどうかを判断するステップと、障害が起こったハイブリッドドライブのNVMがアクセス可能であると判断された場合に、障害が起こったハイブリッドドライブのNVMから置換ハイブリッドドライブのNVMにデータをコピーするステップとをさらに含み得る。
例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、再構成のために必要であったそのパリティブロックのすべてが障害が起こっていないディスクのNVMに格納された再構成のための1つまたは複数のパリティストライプを特定するステップと、置換ディスクで1つまたは複数の特定されたパリティストライプを再構成するステップとをさらに含み得る。
例示的な実施形態によれば、方法は、再構成のためのパリティストライプを選択するステップの前に、再構成のための1つまたは複数の追加のパリティストライプを特定するステップであって、1つまたは複数の追加の特定されたパリティストライプが、障害が起こっていないハイブリッドドライブの1つまたは複数のNVMに格納されたパリティストライプと関連付けられたパリティブロックの一部分、および、障害が起こっていないハイブリッドドライブの磁気ディスク媒体に格納されたパリティブロックの一部分を有する、ステップと、障害が起こっていないハイブリッドドライブの磁気ディスク媒体から、特定されたパリティストライプと関連付けられた部分パリティブロックをフェッチし、障害が起こっていないハイブリッドドライブのそれぞれのNVMキャッシュに格納するように障害が起こっていないハイブリッドドライブのうちの1つまたは複数に指示するステップと、置換ディスクで1つまたは複数の特定された追加のパリティストライプを再構成するステップとをさらに含み得る。
本発明は、特に、特定の実施形態を参照して示され、説明されているが、当業者であれば、添付の請求項によって定義されるように、本発明の趣旨および範囲から逸脱することなく、形態および詳細における様々な変更をその中で行えることを理解すべきである。従って、本発明の範囲は添付の請求項によって示され、従って、請求項の均等物の意味および範囲内で起こる変更はすべて受け入れられることが意図される。
Claims (15)
- 複数のストレージドライブであって、そのうちの1つに障害が起こっている複数のストレージドライブを備えるRAIDストレージシステムにおけるデータ再構成のための方法であって、前記方法は、
再構成のための複数のパリティストライプから1つのパリティストライプを再構成のために選択するステップと、
再構成テーブルをチェックすることによって、前記再構成のために選択されたパリティストライプが以前に再構成されているかどうかを判断するステップであって、前記再構成テーブルが、エントリを含み、エントリの各々が、前記再構成のための複数のパリティストライプの少なくとも1つに対応する再構成状態を示し、各再構成状態が、前記少なくとも1つの対応するパリティストライプが以前に再構成されているかどうかを示す、ステップと、
スペーステーブルをチェックすることによって、前記選択されたパリティストライプが以前に割り当てられているかどうかを判断するステップであって、前記スペーステーブルが、前記再構成のための複数のパリティストライプの少なくとも1つに対応する割り当て状態を示すエントリを含み、前記割り当て状態が、前記少なくとも1つの対応するパリティストライプが以前に割り当てられているかどうかを示す、ステップと、
を含み、
前記選択されたパリティストライプが以前に再構成されていないと判断され、前記選択されたパリティストライプが以前に割り当てられていると判断された場合は、置換ディスクで前記選択されたパリティストライプを再構成し、前記選択されたストライプが再構成されていることを示すために、選択されたパリティストライプに対応する前記再構成テーブルの前記再構成状態を更新するステップをさらに含む、方法。 - 前記選択されたパリティストライプが以前に割り当てられていないと判断された場合に、前記選択されたパリティストライプに対応するデータのために前記置換ディスクに0を書き込むステップをさらに含む、請求項1に記載の方法。
- パリティストライプを選択する前記ステップの前に、パリティストライプと関連付けられたデータのための入力/出力要求を受信するステップをさらに含み、かつ、パリティストライプを選択する前記ステップが、データのための入力/出力要求が関連付けられる前記パリティストライプを選択するステップを含む、請求項1に記載の方法。
- 入力/出力動作要求が受信されない場合は、パリティストライプを選択する前記ステップが、再構成が起こっていないことを示す前記再構成テーブルの第1のエントリに対応するパリティストライプを選択するステップを含む、請求項3に記載の方法。
- 前記再構成テーブルが、複数のビットを含むビットマップを含み、各ビットが、前記再構成のための複数のパリティストライプの各々の再構成状態を表す、請求項1に記載の方法。
- 前記スペーステーブルが、複数のビットを含むビットマップを含み、各ビットが、前記再構成のための複数のパリティストライプの各々の前記再構成状態を表す、請求項1に記載の方法。
- 前記再構成のための複数のパリティストライプから追加のパリティストライプを選択するステップをさらに含む、請求項1に記載の方法。
- 受信された入力/出力要求を実行するステップをさらに含む、請求項3に記載の方法。
- 前記複数のストレージドライブの各々が、ハードディスクドライブを含む、請求項1に記載の方法。
- 前記複数のストレージドライブの各々が、ハイブリッドドライブを含み、前記ハイブリッドドライブの各々が、不揮発性メモリ(NVM)および磁気ディスク媒体を含む、請求項1に記載の方法。
- 再構成のためのパリティストライプを選択する前記ステップの前に、
前記障害が起こったドライブのNVMのデータがアクセス可能かどうかを判断するステップと、
前記障害が起こったハイブリッドドライブの前記NVMがアクセス可能であると判断された場合に、前記障害が起こったハイブリッドドライブの前記NVMから置換ハイブリッドドライブのNVMに前記データをコピーするステップと、
をさらに含む、請求項10に記載の方法。 - 再構成のためのパリティストライプを選択する前記ステップの前に、
再構成のために必要であったそのパリティブロックのすべてが障害が起こっていないディスクの前記NVMに格納された再構成のための1つまたは複数のパリティストライプを特定するステップ、をさらに含む、請求項10に記載の方法。 - 置換ディスクで前記1つまたは複数の特定されたパリティストライプを再構成するステップ、をさらに含む、請求項12に記載の方法。
- 再構成のための1つまたは複数の追加のパリティストライプを特定するステップであって、前記1つまたは複数の追加の特定されたパリティストライプが、障害が起こっていないハイブリッドドライブの前記1つまたは複数のNVMに格納された前記パリティストライプと関連付けられたパリティブロックの一部分、および、前記障害が起こっていないハイブリッドドライブの前記磁気ディスク媒体に格納された前記パリティブロックの一部分を有する、ステップと、
前記障害が起こっていないハイブリッドドライブの前記磁気ディスク媒体から、前記特定されたパリティストライプと関連付けられた前記部分パリティブロックをフェッチし、前記障害が起こっていないハイブリッドドライブの前記それぞれのNVMキャッシュに格納するように前記障害が起こっていないハイブリッドドライブのうちの1つまたは複数に指示するステップと、をさらに含む、請求項12に記載の方法。 - 置換ディスクで前記1つまたは複数の特定された追加のパリティストライプを再構成するステップ、をさらに含む、請求項14に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG2013064563 | 2013-08-27 | ||
SG201306456-3 | 2013-08-27 | ||
PCT/SG2014/000406 WO2015030679A1 (en) | 2013-08-27 | 2014-08-27 | Raid parity stripe reconstruction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016530637A true JP2016530637A (ja) | 2016-09-29 |
Family
ID=52587063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016538895A Pending JP2016530637A (ja) | 2013-08-27 | 2014-08-27 | Raidパリティストライプ再構成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160217040A1 (ja) |
JP (1) | JP2016530637A (ja) |
CN (1) | CN105531677A (ja) |
SG (1) | SG11201601215QA (ja) |
WO (1) | WO2015030679A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021009646A (ja) * | 2019-07-03 | 2021-01-28 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588857B2 (en) * | 2015-06-22 | 2017-03-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Raid logical stripe backup to non-volatile memory in response to raid storage device media errors |
US20170031763A1 (en) * | 2015-07-28 | 2017-02-02 | Futurewei Technologies, Inc. | Hybrid parity initialization |
CN106557266B (zh) * | 2015-09-25 | 2019-07-05 | 伊姆西公司 | 用于独立磁盘冗余阵列raid的方法和装置 |
CN106557264B (zh) * | 2015-09-25 | 2019-11-08 | 伊姆西公司 | 针对固态硬盘的存储方法及设备 |
KR102580123B1 (ko) * | 2016-05-03 | 2023-09-20 | 삼성전자주식회사 | Raid 스토리지 장치 및 그것의 관리 방법 |
CN107562368B (zh) * | 2016-06-30 | 2019-11-22 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
US20180113616A1 (en) * | 2016-10-21 | 2018-04-26 | Nec Corporation | Disk array control device, disk array device, disk array control method, and recording medium |
KR102703983B1 (ko) | 2016-11-07 | 2024-09-10 | 삼성전자주식회사 | Raid 방식으로 데이터를 저장하는 스토리지 장치 |
CN108733314B (zh) * | 2017-04-17 | 2021-06-29 | 伊姆西Ip控股有限责任公司 | 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质 |
US10353642B2 (en) * | 2017-05-01 | 2019-07-16 | Netapp, Inc. | Selectively improving RAID operations latency |
US10459807B2 (en) | 2017-05-23 | 2019-10-29 | International Business Machines Corporation | Determining modified portions of a RAID storage array |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10740181B2 (en) | 2018-03-06 | 2020-08-11 | Western Digital Technologies, Inc. | Failed storage device rebuild method |
US20190317889A1 (en) * | 2018-04-15 | 2019-10-17 | Synology Inc. | Apparatuses and methods and computer program products for a redundant array of independent disk (raid) reconstruction |
US10860446B2 (en) | 2018-04-26 | 2020-12-08 | Western Digital Technologiies, Inc. | Failed storage device rebuild using dynamically selected locations in overprovisioned space |
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN111381997B (zh) * | 2018-12-28 | 2024-03-01 | 杭州宏杉科技股份有限公司 | 一种raid重建方法及装置 |
US11269562B2 (en) * | 2019-01-29 | 2022-03-08 | EMC IP Holding Company, LLC | System and method for content aware disk extent movement in raid |
US11074130B2 (en) | 2019-03-28 | 2021-07-27 | International Business Machines Corporation | Reducing rebuild time in a computing storage environment |
CN111857552A (zh) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 存储管理方法、电子设备和计算机程序产品 |
CN112764661B (zh) * | 2019-10-21 | 2024-09-20 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US11210002B2 (en) | 2020-01-29 | 2021-12-28 | Samsung Electronics Co., Ltd. | Offloaded device-driven erasure coding |
US11163657B2 (en) * | 2020-02-13 | 2021-11-02 | EMC IP Holding Company LLC | Method and apparatus for avoiding redundant data recovery |
CN113625974A (zh) * | 2021-10-08 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列重构方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423119A (ja) * | 1990-05-18 | 1992-01-27 | Fujitsu Ltd | アレイディスクおよびそのデータ復元方法 |
JPH09258913A (ja) * | 1996-03-25 | 1997-10-03 | Ekushingu:Kk | 記憶装置アレイシステム |
JP2003177876A (ja) * | 2001-12-11 | 2003-06-27 | Hitachi Ltd | ディスクアレイ装置 |
JP2006004407A (ja) * | 2004-05-03 | 2006-01-05 | Microsoft Corp | 不揮発性メモリ・キャッシュの性能改善 |
US20060156059A1 (en) * | 2005-01-13 | 2006-07-13 | Manabu Kitamura | Method and apparatus for reconstructing data in object-based storage arrays |
US20110029728A1 (en) * | 2009-07-28 | 2011-02-03 | Lsi Corporation | Methods and apparatus for reducing input/output operations in a raid storage system |
JP2011028520A (ja) * | 2009-07-24 | 2011-02-10 | Nec Corp | ディスクアレイ装置及び物理ディスクの復元方法 |
JP2011065625A (ja) * | 2009-09-17 | 2011-03-31 | Hitachi Ltd | 大容量ディスクドライブの使用方法及び装置 |
US20130305086A1 (en) * | 2012-05-11 | 2013-11-14 | Seagate Technology Llc | Using cache to manage errors in primary storage |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
CN100576181C (zh) * | 2008-06-11 | 2009-12-30 | 华中科技大学 | 一种磁盘阵列的数据重建方法 |
CN101840360A (zh) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Raid系统的快速重建方法及装置 |
CN101770413B (zh) * | 2010-01-07 | 2013-03-20 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
CN102147713B (zh) * | 2011-02-18 | 2013-06-12 | 杭州宏杉科技有限公司 | 一种网络存储系统的管理方法及装置 |
CN102521068B (zh) * | 2011-11-08 | 2014-07-23 | 华中科技大学 | 一种固态盘阵列的重建方法 |
CN102541472A (zh) * | 2011-12-31 | 2012-07-04 | 杭州宏杉科技有限公司 | 一种raid阵列重建的方法及装置 |
-
2014
- 2014-08-27 CN CN201480048037.XA patent/CN105531677A/zh active Pending
- 2014-08-27 WO PCT/SG2014/000406 patent/WO2015030679A1/en active Application Filing
- 2014-08-27 SG SG11201601215QA patent/SG11201601215QA/en unknown
- 2014-08-27 US US14/914,238 patent/US20160217040A1/en not_active Abandoned
- 2014-08-27 JP JP2016538895A patent/JP2016530637A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423119A (ja) * | 1990-05-18 | 1992-01-27 | Fujitsu Ltd | アレイディスクおよびそのデータ復元方法 |
JPH09258913A (ja) * | 1996-03-25 | 1997-10-03 | Ekushingu:Kk | 記憶装置アレイシステム |
JP2003177876A (ja) * | 2001-12-11 | 2003-06-27 | Hitachi Ltd | ディスクアレイ装置 |
JP2006004407A (ja) * | 2004-05-03 | 2006-01-05 | Microsoft Corp | 不揮発性メモリ・キャッシュの性能改善 |
US20060156059A1 (en) * | 2005-01-13 | 2006-07-13 | Manabu Kitamura | Method and apparatus for reconstructing data in object-based storage arrays |
JP2011028520A (ja) * | 2009-07-24 | 2011-02-10 | Nec Corp | ディスクアレイ装置及び物理ディスクの復元方法 |
US20110029728A1 (en) * | 2009-07-28 | 2011-02-03 | Lsi Corporation | Methods and apparatus for reducing input/output operations in a raid storage system |
JP2011065625A (ja) * | 2009-09-17 | 2011-03-31 | Hitachi Ltd | 大容量ディスクドライブの使用方法及び装置 |
US20130305086A1 (en) * | 2012-05-11 | 2013-11-14 | Seagate Technology Llc | Using cache to manage errors in primary storage |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021009646A (ja) * | 2019-07-03 | 2021-01-28 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
JP7288191B2 (ja) | 2019-07-03 | 2023-06-07 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160217040A1 (en) | 2016-07-28 |
WO2015030679A1 (en) | 2015-03-05 |
SG11201601215QA (en) | 2016-03-30 |
CN105531677A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016530637A (ja) | Raidパリティストライプ再構成 | |
US11941257B2 (en) | Method and apparatus for flexible RAID in SSD | |
US10191676B2 (en) | Scalable storage protection | |
US9378093B2 (en) | Controlling data storage in an array of storage devices | |
US8103825B2 (en) | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair | |
US10365983B1 (en) | Repairing raid systems at per-stripe granularity | |
US8719520B1 (en) | System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity | |
US8065558B2 (en) | Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance | |
US9519554B2 (en) | Storage system with rebuild operations | |
US8392752B2 (en) | Selective recovery and aggregation technique for two storage apparatuses of a raid | |
US8839028B1 (en) | Managing data availability in storage systems | |
CN101093434B (zh) | 用矩阵条带高速缓存器改进raid系统输入和输出性能的方法 | |
US20060156059A1 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
CN103513942B (zh) | 独立冗余磁盘阵列的重构方法及装置 | |
TWI501080B (zh) | 用於價廉磁碟冗餘陣列(raid)磁卷與磁碟群組之間的鬆動連結之系統與方法 | |
JP2008204041A (ja) | ストレージ装置及びデータ配置制御方法 | |
KR20120071058A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
TW201107981A (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
US20070088990A1 (en) | System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
Hong et al. | Reparo: A fast raid recovery scheme for ultra-large ssds | |
JP2008217395A (ja) | ディスクアレイ装置 | |
JP2014041524A (ja) | 半導体記憶装置、ストレージ装置、半導体記憶装置制御方法、ストレージ制御方法、および、コンピュータ・プログラム | |
JP2012185575A (ja) | ストレージシステム及びリビルド処理高速化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181211 |