JP2007524930A - ディスクアレイ内の2つのディスク故障に対する保護を提供する一様で対称な二重故障訂正技術 - Google Patents
ディスクアレイ内の2つのディスク故障に対する保護を提供する一様で対称な二重故障訂正技術 Download PDFInfo
- Publication number
- JP2007524930A JP2007524930A JP2006541699A JP2006541699A JP2007524930A JP 2007524930 A JP2007524930 A JP 2007524930A JP 2006541699 A JP2006541699 A JP 2006541699A JP 2006541699 A JP2006541699 A JP 2006541699A JP 2007524930 A JP2007524930 A JP 2007524930A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- disk
- array
- storage
- diagonal
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
Abstract
Description
本発明はストレージシステムの故障訂正アルゴリズムに関し、詳しくは、ディスクアレイ内の2つのディスク故障に対する保護を提供する対称な二重故障訂正アルゴリズムに関する。
ストレージシステムは一般に、1以上のストレージデバイスからなり、その中に情報を入れたり、必要に応じてそこから情報を取り出したりする。ストレージシステムは、とりわけ、システムによって実施されるストレージサービスを支えるストレージオペレーションを実施することによりシステムを機能的に編成するストレージオペレーティングシステムを有する。ストレージシステムは、限定はしないが、ネットワーク・アタッチド・ストレージ環境、ストレージ・エリア・ネットワーク、及び、クライアントコンピュータやホストコンピュータに直接取り付けられたディスクアセンブリのような種々のストレージアーキテクチャに従って実施される。ストレージデバイスとは一般に、ディスクアレイとして編成されたディスクドライブであり、その場合、「ディスク」という用語は一般に、内蔵型回転磁気媒体ストレージデバイスを言う。この文脈におけるディスクという用語は、ハードディスクドライブ(HDD)やダイレクト・アクセス・ストレージ・デバイス(DASD)と同義である。
本発明は、ストレージシステムのディスクアレイにおける2以下のディスク故障に対する保護を提供する一様で対称な二重故障訂正技術を提供することにより、本明細書に記載した欠点を克服する。ストレージシステムのRAIDシステムは、ディスク2台分の「冗長」情報を生成し、アレイに記憶する。この冗長情報(例えば、パリティ)は、例えば、対角パリティセット(「対角」)と行パリティセット(「行」)の両方に沿って計算される。具体的には、RAIDシステムは、アレイの行に沿って行冗長値を計算し、アレイの対角方向に沿って対角冗長値を計算する。ただし、冗長(パリティ)情報ディスクの内容は、純粋に対角情報(だけを)含むディスクや、純粋に行冗長情報(だけを)含むディスクがないように相互作用する。冗長情報は対角パリティを使用して生成され、その結果が行パリティ計算に使用される(逆も可能である)。
図2は、本発明と共に使用するのに都合がよいストレージシステム200を示す略ブロック図である。図示の実施形態において、ストレージシステム200は、システムバス225によって相互接続されたプロセッサ222、メモリ224、及び、ストレージアダプタ228を有する。メモリ224は、本発明に関連するソフトウェアプログラムコードやデータ構造を記憶する際にプロセッサやアダプタによってアドレス指定することが可能な記憶場所を有する。また、プロセッサ及びアダプタは、ソフトウェアコードを実行し、データ構造を操作するように構成された処理要素、及び/又は、論理回路を含む。当業者には明らかなように、本明細書に記載する本発明に関係するプログラム命令の記憶や実行には、種々のコンピュータ読取可能媒体を含めて、他の処理手段及び他の記憶手段を使用してもよい。
一様で対称なRD(SRD)パリティは、p個のディスクのようなストレージデバイスを使用する。ただし、pは3以上の素数である。ディスクは複数のブロックに分割され、例えば固定サイズのブロックに分割される。行は、各ディスクから1つ一意的に選択されたブロックの集合として定義され、ストライプは、一意的に選択された行のグループとして定義される。一般に、行は、各ディスク上の同じ位置にあるブロックから構成され、ストライプは、連続した行のグループである。
この新規なSRDパリティアレイが対称である理由は、全ての行の加算、及び、全ての対角の加算が、ゼロになるからである(例えばXOR演算により)。従って、ストライプ内の任意の2台のディスクをパリティディスクとして選択することができる。一様な性質とは、同じ二重故障訂正アルゴリズムを使用して、二重故障からの復元だけでなく、アレイの復元も行えることをいう。また、もう1つの一様という性質は、どのディスクが故障したかに関わらず、同じ復元アルゴリズムを使用できることをいう。復元は、故障したディスクの役割を知らなくても実施することができる。すなわち、故障したディスクが、データを保持していても、パリティを保持していても関係ない。
上記のSRDパリティ技術は、任意の2台のディスクが失われたアレイの復元を可能にすると同時に、どのような値に対してもパリティを適切に生成することができる。その一様な性質から、二重故障訂正パリティアルゴリズムは復元にも構築にも使用することができる。概して、構築には、各行及び対角にあるデータブロックの部分的合計を最初に計算しなければならない。各パリティディスク上において、ブロックのうちの1つは、対角上の唯一の残りのブロックである。従って、それら2つのブロックを対応する対角部分合計の値に直接設定すると、それら2つの対角を「偶数」パリティにすることができる。その結果、それら2つの行のそれぞれに、1つだけ未解決のブロックが残る。その未解決なブロックは、その行にあるデータブロックの部分合計にその行のパリティブロックに設定されたパリティ値を加えたものに設定することができる。次に、更に2つのパリティブロックを設定することにより、このほぼ完成した対角を完成させる。残りのパリティブロックが全て設定されるまで、このプロセスは継続される。最初の2つを除く各パリティブロックは、部分的な行又は対角パリティと、その行又は対角上の残りのパリティブロックについて計算されたパリティとの合計と、さらにもう一回XOR演算しなければならない。
Claims (63)
- ストレージシステム内の2以下のストレージデバイスの二重故障訂正を提供するように構成されたシステムであって、
多数のストレージデバイスを有するアレイであって、前記ストレージデバイスの数がpであり、pが3以上の素数であり、前記ストレージデバイスが、冗長情報を記憶するために選択された2つのストレージデバイスを含み、残りのストレージデバイスがデータを記憶するように構成される、多数のストレージデバイスを有するアレイと、
前記ストレージデバイスのストレージモジュールであって、前記アレイの行パリティセット(行)及び対角パリティセット(対角)に沿って合計または結合計算を含む冗長ストレージアルゴリズムを使用して、冗長情報を構成し、選択されたストレージデバイス上に記憶するように構成された、前記ストレージデバイスのストレージモジュールと
を含み、前記2以下のストレージデバイス故障の構成に使用される前記冗長ストレージアルゴリズムは、前記冗長情報又はデータを構成又は再構成するときに、どのストレージデバイスが故障しても、また、ストレージデバイスの役割が何であっても無関係に同じである、システム。 - 前記冗長情報は対角と行の両方に沿って構成され、選択されたストレージデバイス上に記憶され、選択されたストレージデバイスの中に、対角情報だけを有するストレージデバイスや、行冗長情報だけを有するストレージデバイスがないように構成される、請求項1に記載のシステム。
- 前記選択されたストレージデバイスに記憶される冗長情報は、該冗長情報が、行パリティ計算貢献度、及び、対角パリティ計算貢献度によって一意に決まるように相互作用する、請求項2に記載のシステム。
- 前記ストレージデバイスはストライプに分割された記憶空間を有し、冗長情報を記憶するために任意の2つのストレージデバイスが選択され、前記選択されるストレージデバイスはストライプごとに自由に異なる、請求項1に記載のシステム。
- 前記ストレージモジュールはディスクアレイコントローラである、請求項4に記載のシステム。
- 前記ストレージモジュールはRAIDシステムである、請求項4に記載のシステム。
- 1以上のビット幅であるビットフィールドにわたって、前記行と対角が、線形結合アルゴリズムを使用して結合される、請求項6に記載のシステム。
- 前記冗長情報は、各対角及び各行が既知のパリティ値を有することを保証するものである、請求項7に記載のシステム。
- 前記アレイ内の前記ストレージデバイスの役割は、任意の2つの故障したストレージデバイスの内容の計算に関して無関係である、請求項7に記載のシステム。
- 前記ストレージデバイスは、ビデオテープ、磁気テープ、光学的、DVD、バブルメモリ、磁気ディスク、電気的ランダムアクセスメモリ、及び、微小電気機械ストレージデバイスのうちのいずれか1つである、請求項9に記載のシステム。
- 前記ストレージデバイスは、情報をデータブロックとパリティブロックに記憶するように構成された媒体である、請求項9に記載のシステム。
- 前記アレイは2以上のRAIDグループを有し、1以上のRAIDグループが、前記RAIDグループのうちのいずれか1つにおける2以下の故障に対する保護を提供する冗長ストレージアルゴリズムを使用し、各RAIDグループはp個のストレージデバイスを含み、pは3以上の素数であり、pの値はグループごとに異なるものであってよい、請求項11に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容は、所定の固定値を有する、請求項12に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容は、所定の固定値を有する、請求項1に記載のシステム。
- ストレージシステム内の2以下のストレージデバイスの二重故障訂正を提供するように構成されたシステムであって、
多数のストレージデバイスを有するアレイであって、前記ストレージデバイスの数がpであり、pが3以上の素数であり、前記ストレージデバイスが、冗長情報を記憶するために選択された2つのストレージデバイスを含み、残りのストレージデバイスはデータを記憶するように構成される、多数のストレージデバイスを有するアレイと、
前記ストレージデバイスのストレージモジュールであって、前記アレイの行パリティセット(行)及び対角パリティセット(対角)に沿って合計または結合計算を含む冗長ストレージアルゴリズムを使用して、冗長情報を構成し、選択されたストレージデバイス上に記憶するように構成され、更に、前記冗長ストレージアルゴリズムを使用して、2以下のストレージデバイス故障を復元するように構成される、前記ストレージデバイスのストレージモジュールと、
を含み、前記ストレージデバイスは、ストライプに分割された記憶空間を有し、任意の2つのストレージデバイスが、前記冗長情報を記憶するために選択され、該選択されるストレージデバイスはストライプごとに自由に異なり、前記2以下のストレージデバイス故障が、それらのデバイスの役割や、アレイ内の他のストレージデバイスに関する知識を何も必要とせずに復元される、システム。 - 前記冗長情報は対角と行の両方に沿って構成され、選択されたストレージデバイス上に記憶され、選択されたストレージデバイスの中に、対角情報だけを有するストレージデバイスや、行冗長情報だけを有するストレージデバイスがないように構成される、請求項15に記載のシステム。
- 前記選択されたストレージデバイスに記憶される冗長情報は、該冗長情報が、行パリティ計算貢献度、及び、対角パリティ計算貢献度によって一意に決まるように相互作用する、請求項16に記載のシステム。
- 前記ストレージモジュールはディスクアレイコントローラである、請求項15に記載のシステム。
- 前記ストレージモジュールはRAIDシステムである、請求項15に記載のシステム。
- 1以上のビット幅であるビットフィールドにわたって、前記行と対角が、線形結合アルゴリズムを使用して結合され、前記冗長情報は、各対角及び各行が既知のパリティ値を有することを保証するものである、請求項19に記載のシステム。
- 前記アレイは、対称な行−対角(SRD)パリティアレイである、請求項20に記載のシステム。
- 前記アレイ内の前記ストレージデバイスの役割は、任意の2つの故障したストレージデバイスの内容の計算に関して無関係である、請求項20に記載のシステム。
- 前記ストレージデバイスは、ビデオテープ、磁気テープ、光学的、DVD、バブルメモリ、磁気ディスク、電気的ランダムアクセスメモリ、及び、微小電気機械ストレージデバイスのうちのいずれか1つである、請求項22に記載のシステム。
- 前記ストレージデバイスは、情報をデータブロックとパリティブロックに記憶するように構成された媒体である、請求項22に記載のシステム。
- 前記アレイは2以上のRAIDグループを有し、1以上のRAIDグループが、前記RAIDグループのうちのいずれか1つにおける2以下の故障に対する保護を提供する冗長ストレージアルゴリズムを使用し、各RAIDグループはp個のストレージデバイスを含み、pは3以上の素数であり、pの値はグループごとに異なるものであってよい、請求項24に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容はゼロである、請求項25に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容は所定の固定値を有する、請求項15に記載のシステム。
- ストレージシステム内の2以下のディスク故障に対する保護を提供する方法であって、
多数のディスクを有するアレイを提供するステップであって、該ディスクの数がpであり、pが3以上の素数であり、前記ディスクが、冗長情報を記憶するために選択された2つのディスクを含み、残りのディスクがデータを記憶するように構成される、多数のディスクを有するアレイを提供するステップと、
前記アレイの行パリティセット(行)及び対角パリティセット(対角)に沿った合計及び結合の計算により、前記冗長を計算するステップと、
計算された冗長情報を前記選択されたディスクに記憶するステップと
からなる方法。 - 前記計算するステップは、前記冗長情報を対角と行の両方に沿って計算し、選択されたストレージデバイス上に記憶するステップを含み、前記冗長情報は、選択されたストレージデバイスの中に対角情報だけを有するストレージデバイスや、行冗長情報だけを有するストレージデバイスがないように記憶される、請求項28に記載の方法。
- 前記計算するステップは、前記アレイの行に沿って行パリティを計算し、前記アレイの対角に沿って対角パリティを計算するステップを更に含み、前記冗長情報は、各対角及び各行が既知のパリティ値を有することを保証する、請求項29に記載の方法。
- 前記計算するステップは、排他的論理和演算計算を使用して前記冗長情報を計算するステップを更に含む、請求項30に記載の方法。
- 前記アレイ内のディスクの役割は、任意の2つの故障したストレージデバイスの内容の計算に関して無関係である、請求項31に記載の方法。
- 前記計算するステップは、1以上のビット幅であるビットフィールドにわたる加算により計算するステップを更に含む、請求項28に記載の方法。
- 各ディスクをブロックに分割するステップと、
各ディスクにおいて前記ブロックを、各ストライプがp−1行のブロックを含む同数のブロックを記憶するストライプに編成するステップと、
前記ブロックの役割を自由に割り当て、それによって、前記アレイ全体にわたるデータロードのバランスをとることを可能にするステップと
を更に含む、請求項28に記載の方法。 - 前記データロードのバランスをとり、又は、前記アレイにディスクを追加するために、データを移動させることなくディスクの役割を再割当てするステップを更に含む、請求項34に記載の方法。
- 各ディスクから自由に選択された1以上ブロックから行を構成するステップを更に含む、請求項34に記載の方法。
- p−1が2の累乗であるときに、ブロックの行を結合し、より大きなブロックからなる単一のストライプを形成するステップを更に含む、請求項34に記載の方法。
- 初期化されたディスクを前記アレイに追加するステップと、
前記初期化されたディスク上のブロックをデータ又は冗長情報の記憶に指定し、同時に、各ストライプにおける2つのブロックに冗長情報が記憶されることを保証するステップと
を更に含む、請求項34に記載の方法。 - 前記初期化されたディスクの内容は、失われたディスクの補完された内容に一致し、前記アレイ内の前記冗長情報は再計算を必要としないように構成される、請求項38に記載の方法。
- 前記初期化されたディスクの内容はゼロである、請求項39に記載の方法。
- 前記ディスクはストライプに分割されたディスク空間を有し、前記冗長情報を記憶するために任意の2つのディスクを選択するステップを更に含み、該選択されるディスクはストライプごとに自由に異なる、請求項28に記載の方法。
- m>=pとして前記ディスクに0からm−1までの番号が付けられていて、ディスクjがディスク(j+k)モジューロmになり、前記冗長情報の計算や該計算の結果が変化しないように、前記ディスクを量kだけ回転させることにより、前記ディスクに番号を付け直すステップを更に含む、請求項28に記載の方法。
- ストレージシステム内の2以下のストレージデバイスの二重故障訂正を提供するように構成されたシステムであって、
多数のストレージデバイスを有するアレイであって、前記ストレージデバイスの数がpであり、pが3以上の素数であり、前記ストレージデバイスが、冗長情報を記憶するために選択された2つのストレージデバイスを含み、残りのストレージデバイスはデータを記憶するように構成される、多数のストレージデバイスを有するアレイと、
前記ストレージデバイスのストレージモジュールであって、前記アレイの行パリティセット(行)及び対角パリティセット(対角)に沿って合計または結合計算を含む冗長ストレージアルゴリズムを使用して、冗長情報を構成し、選択されたストレージデバイス上に記憶するように構成され、更に、どのストレージデバイスが故障したか、及び、ストレージデバイスが冗長情報を記憶しているかそれともデータを記憶しているかに関わらず、前記冗長ストレージアルゴリズムを使用して、2以下のストレージデバイス故障を復元するように構成される、前記ストレージデバイスのストレージモジュールと、
を含み、前記ストレージデバイスは、ストライプに分割された記憶空間を有し、任意の2つのストレージデバイスが、前記冗長情報を記憶するために選択され、該選択されるストレージデバイスはストライプごとに自由に異なり、前記2以下のストレージデバイス故障が、それらのデバイスの役割や、アレイ内の他のストレージデバイスに関する知識を何も必要とせずに復元される、システム。 - 前記冗長情報は対角と行の両方に沿って構成され、選択されたストレージデバイス上に記憶され、選択されたストレージデバイスの中に、対角情報だけを有するストレージデバイスや、行冗長情報だけを有するストレージデバイスがないように構成される、請求項43に記載のシステム。
- 前記選択されたストレージデバイスに記憶される冗長情報は、該冗長情報が、行パリティ計算貢献度、及び、対角パリティ計算貢献度によって一意に決まるように相互作用する、請求項44に記載のシステム。
- 各ストレージデバイスがブロックに分割され、各ディスクにおいて、前記ブロックは同数のブロックを有するストライプに編成される、請求項44に記載のシステム。
- p−1行のセット内においてiをブロックのディスク番号とし、jをそのブロックの行番号としたときに、各対角dはd=(i+j)モジューロpである、請求項46に記載のシステム。
- p−1行のセット内においてiをブロックのディスク番号とし、jをそのブロックの行番号としたときに、各対角dはd=(i−j)モジューロpである、請求項46に記載のシステム。
- p−1行のセット内においてiをブロックのディスク番号とし、jをそのブロックの行番号とし、kを固定の整数とし、k≠0とし、−p<k<pとしたときに、各対角dはd=(i+kj)モジューロpである、請求項46に記載のシステム。
- 一連のブロックが1つのチェーンとして編成され、該チェーン内の全てのブロックが2つのストレージデバイスに属し、該チェーンの両端にある2つのブロックが、異なるストレージデバイス上にあり、且つ、該チェーン上の最も近い近傍ブロックと同じ行にあり、該チェーン内の他のブロックは全て、該チェーン内のもう1つのブロックと同じ行にあり、且つ、該チェーン内のもう1つのブロックと同じ対角上にある、請求項46に記載のシステム。
- 前記ストレージモジュールはディスクアレイコントローラである、請求項43に記載のシステム。
- 前記ストレージモジュールはRAIDシステムである、請求項43に記載のシステム。
- 1以上のビット幅であるビットフィールドにわたって、前記行と対角が、線形結合アルゴリズムを使用して結合され、前記冗長情報は、各対角及び各行が既知のパリティ値を有することを保証するものである、請求項52に記載のシステム。
- 前記アレイは、一様で対称な行−対角(SRD)パリティアレイである、請求項53に記載のシステム。
- 前記アレイ内の前記ストレージデバイスの役割は、任意の2つの故障したストレージデバイスの内容の計算に関して無関係である、請求項53に記載のシステム。
- 前記ストレージデバイスは、ビデオテープ、磁気テープ、光学的、DVD、バブルメモリ、磁気ディスク、電気的ランダムアクセスメモリ、及び、微小電気機械ストレージデバイスのうちのいずれか1つである、請求項55に記載のシステム。
- 前記ストレージデバイスは、情報をデータブロックとパリティブロックに記憶するように構成された媒体である、請求項55に記載のシステム。
- 前記アレイは2以上のRAIDグループを有し、1以上のRAIDグループが、前記RAIDグループのうちのいずれか1つにおける2以下の故障に対する保護を提供する冗長ストレージアルゴリズムを使用し、各RAIDグループはp個のストレージデバイスを含み、pは3以上の素数であり、pの値はグループごとに異なるものであってよい、請求項57に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容はゼロである、請求項58に記載のシステム。
- p個全てのストレージデバイスが前記アレイ内に存在するのではなく、存在しないストレージデバイスの内容は所定の固定値を有する、請求項43に記載のシステム。
- ストレージシステムにおける2以下のディスク故障に対する保護を提供する装置であって、
多数のディスクを有するアレイを提供する手段であって、該ディスクの数がpであり、pが3以上の素数であり、前記ディスクが、冗長情報を記憶するために選択された2つのディスクを含み、残りのディスクがデータを記憶するように構成される、多数のディスクを有するアレイを提供する手段と、
対角パリティ計算貢献度と行パリティ計算貢献度の両方から前記冗長情報を計算する手段と、
選択されたディスクの中に、対角パリティ情報だけを有するものや、行パリティ情報だけを有するものがないようにして、計算された前記冗長情報を前記選択されたディスクに記憶する手段と
からなる装置。 - 前記ディスクはストライプに分割されたディスク空間を有し、前記冗長情報を記憶するために任意の2つのディスクを選択する手段を更に含み、選択される前記ディスクはストライプごとに異なるように選択される、請求項61に記載の装置。
- 通信媒体を介して伝送するために構成されたデータ内の二重故障を訂正する方法であって、
前記通信媒体を介して伝送するために、前記データをパケットに分割するステップと、
前記パケットを1以上のグループに編成するステップであって、該グループが、一様で対称な二重故障訂正アルゴリズムを使用して、前記グループのうちのいずれか1つにおけるパケットの2以下の故障に対する保護を提供するように構成され、各グループがp個のパケットを含み、pが3以上の素数であり、pの値がグループごとに異なる場合があり、冗長情報を記憶するために各グループの2つのパケットが選択され、該グループの残りのパケットがデータを記憶するように構成される、前記パケットを1以上のグループに編成するステップと、
前記グループの行パリティセット(行)と対角パリティセット(対角)の合計又は結合計算により前記冗長情報を計算するステップと、
計算された前記冗長情報を選択された前記パケットに記憶するステップと
からなる方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/720,361 US7263629B2 (en) | 2003-11-24 | 2003-11-24 | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array |
PCT/US2004/039518 WO2005052855A2 (en) | 2003-11-24 | 2004-11-24 | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007524930A true JP2007524930A (ja) | 2007-08-30 |
Family
ID=34591529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006541699A Pending JP2007524930A (ja) | 2003-11-24 | 2004-11-24 | ディスクアレイ内の2つのディスク故障に対する保護を提供する一様で対称な二重故障訂正技術 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7263629B2 (ja) |
EP (1) | EP1695271A2 (ja) |
JP (1) | JP2007524930A (ja) |
WO (1) | WO2005052855A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206901A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法 |
JP2010508604A (ja) * | 2006-10-31 | 2010-03-18 | ネットアップ,インコーポレイテッド | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 |
JP2014511158A (ja) * | 2011-02-28 | 2014-05-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7552357B2 (en) * | 2005-04-29 | 2009-06-23 | Network Appliance, Inc. | Lost writes detection in a redundancy group based on RAID with multiple parity |
US7577866B1 (en) * | 2005-06-27 | 2009-08-18 | Emc Corporation | Techniques for fault tolerant data storage |
US7934120B2 (en) * | 2006-09-11 | 2011-04-26 | International Business Machines Corporation | Storing data redundantly |
US20080104445A1 (en) * | 2006-10-31 | 2008-05-01 | Hewlett-Packard Development Company, L.P. | Raid array |
JP2008217395A (ja) * | 2007-03-05 | 2008-09-18 | Nec Corp | ディスクアレイ装置 |
WO2009004806A1 (ja) * | 2007-07-04 | 2009-01-08 | Panasonic Corporation | 映像記録再生装置およびその方法 |
US20090055451A1 (en) * | 2007-08-17 | 2009-02-26 | Clay Andre Reimer | Systems and Methods For Providing Redundant Data Storage |
US20090113235A1 (en) * | 2007-10-30 | 2009-04-30 | Selinger Robert D | Raid with redundant parity |
US8335966B1 (en) * | 2008-08-01 | 2012-12-18 | Dell Products L.P. | Dual parity RAID wherein no more than N+1 data symbols contribute to any parity symbol |
US9495246B2 (en) * | 2013-01-21 | 2016-11-15 | Kaminario Technologies Ltd. | Raid erasure code applied to partitioned stripe |
US9397703B2 (en) | 2013-12-04 | 2016-07-19 | Seagate Technology Llc | Adaptive read error recovery for memory devices |
US9436394B2 (en) * | 2014-03-10 | 2016-09-06 | Kaminario Technologies Ltd. | RAID random distribution scheme |
CN107748702B (zh) * | 2015-06-04 | 2021-05-04 | 华为技术有限公司 | 一种数据恢复方法和装置 |
US10063261B1 (en) * | 2015-10-13 | 2018-08-28 | Sorenson Ip Holdings Llc | Communication endpoints and related methods for forward error correction of packetized data |
US10263643B2 (en) * | 2017-04-05 | 2019-04-16 | Alibaba Group Holding Limited | Method and system of multi-fold data protection for high-density storage appliance with improved availability and robustness |
US10776202B1 (en) * | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
CN109496292B (zh) * | 2018-10-16 | 2022-02-22 | 深圳市锐明技术股份有限公司 | 一种磁盘管理方法、磁盘管理装置及电子设备 |
WO2021012164A1 (zh) * | 2019-07-22 | 2021-01-28 | 华为技术有限公司 | 数据重构的方法、装置、计算机设备、存储介质及系统 |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34100A (en) * | 1862-01-07 | Improved step-ladder | ||
US3876978A (en) | 1973-06-04 | 1975-04-08 | Ibm | Archival data protection |
US4092732A (en) | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US4201976A (en) | 1977-12-23 | 1980-05-06 | International Business Machines Corporation | Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels |
US4205324A (en) | 1977-12-23 | 1980-05-27 | International Business Machines Corporation | Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers |
JPS5637883A (en) | 1979-09-04 | 1981-04-11 | Fanuc Ltd | Information rewrite system |
US4467421A (en) | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US4375100A (en) | 1979-10-24 | 1983-02-22 | Matsushita Electric Industrial Company, Limited | Method and apparatus for encoding low redundancy check words from source data |
US4825403A (en) | 1983-05-16 | 1989-04-25 | Data General Corporation | Apparatus guaranteeing that a controller in a disk drive system receives at least some data from an invalid track sector |
JPS60142418A (ja) | 1983-12-28 | 1985-07-27 | Hitachi Ltd | 入出力エラ−回復方式 |
FR2561428B1 (fr) | 1984-03-16 | 1986-09-12 | Bull Sa | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques |
US4667326A (en) | 1984-12-20 | 1987-05-19 | Advanced Micro Devices, Inc. | Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives |
US5202979A (en) | 1985-05-08 | 1993-04-13 | Thinking Machines Corporation | Storage system using multiple independently mechanically-driven storage units |
US4722085A (en) | 1986-02-03 | 1988-01-26 | Unisys Corp. | High capacity disk storage system having unusually high fault tolerance level and bandpass |
JPH0675329B2 (ja) | 1986-02-18 | 1994-09-21 | ソニー株式会社 | ディスクプレーヤ |
US4761785B1 (en) | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
USRE34100E (en) | 1987-01-12 | 1992-10-13 | Seagate Technology, Inc. | Data error correction system |
US4775978A (en) | 1987-01-12 | 1988-10-04 | Magnetic Peripherals Inc. | Data error correction system |
US4796260A (en) | 1987-03-30 | 1989-01-03 | Scs Telecom, Inc. | Schilling-Manela forward error correction and detection code method and apparatus |
US5257367A (en) | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
US4849974A (en) | 1987-08-03 | 1989-07-18 | Scs Telecom, Inc. | PASM and TASM forward error correction and detection code method and apparatus |
US4849976A (en) | 1987-08-03 | 1989-07-18 | Scs Telecom, Inc. | PASM and TASM forward error correction and detection code method and apparatus |
US4837680A (en) | 1987-08-28 | 1989-06-06 | International Business Machines Corporation | Controlling asynchronously operating peripherals |
US4870643A (en) | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4847842A (en) | 1987-11-19 | 1989-07-11 | Scs Telecom, Inc. | SM codec method and apparatus |
US4899342A (en) | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
US4879929A (en) * | 1988-06-06 | 1989-11-14 | Roth Alfred C | Tapper/threader assembly |
US5077736A (en) | 1988-06-28 | 1991-12-31 | Storage Technology Corporation | Disk drive memory |
US4989206A (en) | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US4989205A (en) | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5128810A (en) | 1988-08-02 | 1992-07-07 | Cray Research, Inc. | Single disk emulation interface for an array of synchronous spindle disk drives |
US5218689A (en) | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
US5148432A (en) | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5101492A (en) | 1989-11-03 | 1992-03-31 | Compaq Computer Corporation | Data redundancy and recovery protection |
US5233618A (en) | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5088081A (en) | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5166936A (en) | 1990-07-20 | 1992-11-24 | Compaq Computer Corporation | Automatic hard disk bad sector remapping |
US5210860A (en) | 1990-07-20 | 1993-05-11 | Compaq Computer Corporation | Intelligent disk array controller |
US5208813A (en) | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5235601A (en) | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
US5274799A (en) | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US5579475A (en) | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
US5271012A (en) * | 1991-02-11 | 1993-12-14 | International Business Machines Corporation | Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs |
US5179704A (en) | 1991-03-13 | 1993-01-12 | Ncr Corporation | Method and apparatus for generating disk array interrupt signals |
EP0519669A3 (en) | 1991-06-21 | 1994-07-06 | Ibm | Encoding and rebuilding data for a dasd array |
US5237658A (en) | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
US5305326A (en) | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
US5410667A (en) | 1992-04-17 | 1995-04-25 | Storage Technology Corporation | Data record copy system for a disk drive array data storage subsystem |
US5537567A (en) | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
US5623595A (en) | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
US5812753A (en) | 1995-10-13 | 1998-09-22 | Eccs, Inc. | Method for initializing or reconstructing data consistency within an array of storage elements |
US5862158A (en) | 1995-11-08 | 1999-01-19 | International Business Machines Corporation | Efficient method for providing fault tolerance against double device failures in multiple device systems |
US5884098A (en) | 1996-04-18 | 1999-03-16 | Emc Corporation | RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems |
US5805788A (en) | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
KR100267366B1 (en) | 1997-07-15 | 2000-10-16 | Samsung Electronics Co Ltd | Method for recoding parity and restoring data of failed disks in an external storage subsystem and apparatus therefor |
US6092215A (en) | 1997-09-29 | 2000-07-18 | International Business Machines Corporation | System and method for reconstructing data in a storage array system |
JP3616487B2 (ja) | 1997-11-21 | 2005-02-02 | アルプス電気株式会社 | ディスクアレイ装置 |
US6138201A (en) | 1998-04-15 | 2000-10-24 | Sony Corporation | Redundant array of inexpensive tape drives using data compression and data allocation ratios |
US7093182B2 (en) * | 1999-08-02 | 2006-08-15 | Inostor Corporation | Data redundancy methods and apparatus |
US6532548B1 (en) | 1999-09-21 | 2003-03-11 | Storage Technology Corporation | System and method for handling temporary errors on a redundant array of independent tapes (RAIT) |
US6338126B1 (en) * | 1999-12-06 | 2002-01-08 | Legato Systems, Inc. | Crash recovery without complete remirror |
US6581185B1 (en) | 2000-01-24 | 2003-06-17 | Storage Technology Corporation | Apparatus and method for reconstructing data using cross-parity stripes on storage media |
US6993701B2 (en) * | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7058850B2 (en) * | 2002-07-31 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and system for preventing data loss within disk-array pairs supporting mirrored logical units |
JP2004259079A (ja) * | 2003-02-27 | 2004-09-16 | Hitachi Ltd | データ処理システム |
US6996502B2 (en) * | 2004-01-20 | 2006-02-07 | International Business Machines Corporation | Remote enterprise management of high availability systems |
US8233384B2 (en) * | 2005-12-21 | 2012-07-31 | Rockstar Bidco, LP | Geographic redundancy in communication networks |
-
2003
- 2003-11-24 US US10/720,361 patent/US7263629B2/en active Active
-
2004
- 2004-11-24 JP JP2006541699A patent/JP2007524930A/ja active Pending
- 2004-11-24 EP EP04812103A patent/EP1695271A2/en not_active Withdrawn
- 2004-11-24 WO PCT/US2004/039518 patent/WO2005052855A2/en not_active Application Discontinuation
-
2007
- 2007-01-16 US US11/653,651 patent/US7356731B2/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206901A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法 |
JP4630828B2 (ja) * | 2006-01-31 | 2011-02-09 | 株式会社東芝 | 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法 |
JP2010508604A (ja) * | 2006-10-31 | 2010-03-18 | ネットアップ,インコーポレイテッド | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 |
JP2014511158A (ja) * | 2011-02-28 | 2014-05-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2005052855A2 (en) | 2005-06-09 |
US20070180303A1 (en) | 2007-08-02 |
EP1695271A2 (en) | 2006-08-30 |
US20050114727A1 (en) | 2005-05-26 |
US7263629B2 (en) | 2007-08-28 |
WO2005052855A3 (en) | 2007-05-31 |
US7356731B2 (en) | 2008-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7356731B2 (en) | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array | |
US6993701B2 (en) | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array | |
JP5102776B2 (ja) | ストレージアレイにおける三重故障からの効率的な復旧を可能にする三重パリティ技術 | |
US7080278B1 (en) | Technique for correcting multiple storage device failures in a storage array | |
US8468304B1 (en) | Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array | |
US7437652B2 (en) | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups | |
JP5518201B2 (ja) | 最大n個までの記憶装置故障からの復旧を可能にするnウェイパリティ技術 | |
JP2007516524A (ja) | 準静的分散技術 | |
US6871317B1 (en) | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array | |
US7346831B1 (en) | Parity assignment technique for parity declustering in a parity array of a storage system | |
US7398460B1 (en) | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080910 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081216 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090914 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091002 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20091228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110520 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110525 |