JP3742494B2 - 大容量記憶装置 - Google Patents
大容量記憶装置 Download PDFInfo
- Publication number
- JP3742494B2 JP3742494B2 JP25686297A JP25686297A JP3742494B2 JP 3742494 B2 JP3742494 B2 JP 3742494B2 JP 25686297 A JP25686297 A JP 25686297A JP 25686297 A JP25686297 A JP 25686297A JP 3742494 B2 JP3742494 B2 JP 3742494B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- parity
- disk drive
- drive
- spare
- 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.)
- Expired - Lifetime
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は大容量記録装置システムに関するものである。
【0002】
【従来の技術】
コンピュータシステムの性能は中央処理装置( CPU)と入出力サブシステムによって左右される。近年、LSI技術の発展でCPUの処理速度が大きく向上しているにもかかわらず、入出力サブシステムの性能改善が遅れているために、全システムの実行時間の中で入出力にかかる時間の比率が増大している。また、入出力サブシステムの誤り発生時のデータ復旧費用が増加していることからも、優れた性能と信頼性を備えた入出力サブシステムの必要性が増してきている。
【0003】
このために研究中のシステムの一つがRAID(Redundant Arrays of Inexpensive Disks) サブシステムである。通常の入出力サブシステムは一つのディスクドライブに順次アクセスするが、RAIDサブシステムは多数のディスクドライブで構成されたディスクアレイにデータを分散させて入出力を並列に行うことにより、入出力を速く処理する。また、簡単なパリティ情報を用いて誤り発生時にデータ復元を可能にして信頼性を向上させる。現在RAID関連技術は商用化段階にあり、大学ではRAIDアルゴリズムに関する研究とシミュレーションを用いた実験を通じて活発な理論的研究を続けており、一方、企業では多様な性能確認試験を通じて改善点を見つけることにより、入出力性能改善及び信頼性向上のための努力を続けている。ディスクアレイ構造自体は以前からハードディスクの入出力性能向上のための方法としてスーパーコンピュータ等で用いられてきたが、RAIDの概念は1988年にカリフォルニア大学バークレー校の3人のコンピュータ学者により確立された。
【0004】
図1は、通常のRAIDサブシステムの構成図である。同図によると、RAIDサブシステムはディスクアレイコントローラ4と多数のディスクドライブ6- 0〜6- nで構成されたディスクアレイ6とからなる。ディスクアレイコントローラ4はホストシステム2とディスクアレイ6との間に位置し、ホストシステム2からのデータ読出/書込命令に基づいてディスクアレイ6のディスクドライブ6- 0〜6- nからデータの読出/書込を行う。このとき、ディスクアレイコントローラ4はディスクアレイ6の各ディスクドライブにデータを分散記録し、入出力を並列処理し、簡単なパリティ情報を用いて誤り発生時にデータ復元を可能なように制御する。
【0005】
図2は、図1に示したディスクアレイコンローラ4のブロック図である。ディスクアレイコントローラ4はホストインタフェースコントローラ10、プロセッサ12、メモリ14、バッファメモリ16、及びアレイコントローラ18で構成される。ホストインタフェースコントローラ10はホストシステム2とプロセッサ12のインタフェースを制御する。プロセッサ12はディスクアレイサブシステムの全般的な動作制御を行う。メモリ14はプロセッサ12とホストインタフェースコントローラ10に接続され、プロセッサ12の制御プログラムが記録されたROM及び制御動作時に発生するデータを一時記録するためのRAMを含んでいる。バッファメモリ16は、プロセッサ12の制御下にホストシステム2とディスクアレイ6との間で送受信されるデータ及びデータ記録/再生命令を一時保管する。アレイコントローラ18はプロセッサ12とディスクアレイ6との間に送受信される各種のデータの制御とインタフェース整合をとる。
【0006】
このような構成のRAIDサブシステムは、ディスクドライブにデータを分散またはストリッピング(Striping)、重複データをもつディスクミラーリング(mirroring) などのディスクアレイ方法で記録し、入出力デバイスの性能向上、容量拡張、及び信頼性の向上を図っている。RAID理論は入出力装置のうち、カートリッジテープのような順次アクセス装置にも適用可能であるが、主な対象はハードディスク装置である。
【0007】
RAIDレベルは各種のデータ記録装置や信頼性の問題に対する解決策を提供しており、その特性によって6種類のRAIDレベル(レベル0〜5)に分けられている。6種類のRAIDレベルは使用環境や目的により長短所をもち、様々な応用分野に用いられる。以下に、各RAIDレベルの構造に関する内容を簡単に説明する。
【0008】
RAIDレベル0:データの信頼性より速度に重点を置き、ディスクアレイ上の全てのディスクドライブにデータを分散記録する。ディスクドライブはそれぞれ異なるコントローラを使用する。このために入出力速度を向上できる長所があるが、信頼性は低い。
【0009】
RAIDレベル1:ミラーリングによりデータを記録する。ミラーリングはよく用いられる信頼性向上のための方法であるが、ディスク内容の全てが複写ディスクに記録されるために多くのディスク領域が必要となり、データの記録に最大でも全ディスク容量の50%しか使用できないという欠点がある。しかし、同じデータが複写ディスクに存在するので、信頼性の点では一番良い方法である。
【0010】
RAIDレベル2:RAIDレベル1の欠点である、信頼性確保のために使われる多くのディスク領域を削減するために、データをバイト単位で各ディスクアレイに分散記録する。そして、誤り認識と誤り訂正のためにハミングコードを使用しており、データディスク以外に幾つかの検査ディスクを持つ。
【0011】
RAIDレベル3:入出力が一度要求されると、データが並列にディスクドライブに入出力され、パリティデータは別のディスクドライブに記録される。尚、ディスク駆動用スピンドルモータは全てのディスクドライブが同時にデータを入出力し得るように同期化されている。従って、入出力は処理速度が遅くても高い並列入出力化によって速いデータ伝送が可能である。また、一つのドライブがエラーを起こしても、他のドライブとパリティドライブを使用することにより、全体のデータレートは落ちるがエラーしたデータは復元される。RAIDレベル3は、非常に速いデータ伝送速度を要求するアプリケーション、即ちスーパーコンピュータ、イメージ操作プロセッサなどに用いられる。つまり、ロングデータブロック(Long Data Block) の伝送には高い能力を発揮するが、速い入出力が要求されるショートデータブロック(Short Data Block)の伝送には向いていない。尚、RAIDレベル3は重複のために、シングルドライバをデータドライバと共用することにより、RAIDレベル1より少ないドライバで済むが、コントローラは高性能のものが要求され複雑になる。
【0012】
RAIDレベル4:RAIDレベル4のデータはディスクアレイを構成する多数のディスクドライブにストリップトアクロス(striped across)され、データが用いられて計算されたパリティデータはディスクアレイ内に別に設けられたディスクドライブに記録される。ここで、ストリップトアクロスとは、ディスクドライブの記録領域がブロック単位のストリッピングサイズで多数に分けられ、データがディスクドライブに記録される時にはストリッピングサイズだけのデータがそれぞれのディスクドライブに交差するように記録されることを意味する。RAIDレベル4はデータのフェイル時に復元可能であり、読出し性能はRAIDレベル1と同様である。しかし書込み性能は、パリティ情報を特別に設けられたディスクドライブに供給しなければならないため、ボトルネック現象が発生してシングルディスクドライブに比べて著しく低下する。
【0013】
RAIDレベル5:RAIDレベル4の書込み性能改善を目的にRAIDレベル5は設定された。RAIDレベル5におけるデータはディスクアレイ内の各ディスクドライブにストリップトアクロスされ、パリティデータも書込み時にボトルネック現象を無くすために全てのドライブに分散記録される。RAIDレベル5ではデータ書込み時にパリティを再び計算するために全ドライブから書込まれたデータを読出さなければならないので、速度は依然としてRAIDレベル4並みに遅い。しかし、データ同時入出力伝送処理が可能であり、フェイルが発生したディスクドライブのデータを復元することができる。また、ロングデータ記録に効果的であり、もしアプリケーションプログラムをデータ読出しに多くの比重を置くようにするか、或いはアレイデザイン(array design)を書込み性能向上のために改善すれば、ショートデータの書込みにも高い性能を得ることができる。尚、RAIDレベル5はノンアレイデバイスに比べて価格面で非常に効果的である。
【0014】
RAIDレベル5の構造は、ディスクアレイを構成している一つのディスクドライブにフェイルが生じてもデータの損失をもたらさないようになっているが、ドライブの故障時に、すぐに復元作業が行われない場合にはフェイルが誘発される恐れがあり、それによりデータが損失されることがある。従って、RAIDレベル5の構造ではデータの損失を防止するために、オンライン予備ディスクドライブ(on-line spare disk drive,or hot-spare disk drive)も設けられている。
【0015】
図3は、RAIDレベル5のディスクアレイの一例を示す。このRAIDレベル5のディスクアレイは、データを記録する5つのディスクドライブ(以下、“データドライブ”とする)S1〜S5と一つの予備ディスクドライブ(以下、“予備ドライブ”とする)SPで構成されている。各ドライブは、記録領域がn個のブロックBLK0〜BLKn−1に分割されており、各ブロックの大きさはストリッピングサイズと呼ばれ、通常512バイトである。データはデータドライブS1〜S5の1番目のブロックBLK0に順次記録され、1番目のブロックBLK0に全て記録されると、2番目のブロックBLK1に順次記録される。つまり、次のように記録領域を使う。ドライブS1のブロックBLK0→ドライブS2のブロックBLK0 → … → ドライブS5のブロックBLK0→ドライブS1のブロックBLK1→ドライブS2のブロックBLK1 → … → ドライブS5のブロックBLKn−1。
【0016】
データがデータドライブS1〜S5に記録される時には、パリティデータも各データドライブに分散して記録される。図3において、データドライブの一番目のブロックBLK0で丸印の付けられたデータがパリティデータである。図3に示すパリティデータにおいて、第1データドライブS1では1番目のビット、第2データドライブS2では2番目のビット、第3データドライブS3では3番目のビット、…と順に分散記録される。
【0017】
各データドライブS1〜S5に分散記録されたパリティデータをk番目に入れるとすると、そのパリティデータは記録されたドライブ以外のドライブのk番目のデータの排他的論理和(XOR)によって生成される。図4を用いて説明すると、1番目のビットデータのうち、パリティデータ“1”は第1データドライブS1にあり、第1データドライブS1以外のデータドライブS2〜S5の1番目のビットデータのXORによって求められる。2番目のビットデータのうち、パリティデータ“0”は第2データドライブS2にあり、第2データドライブS2以外のデータドライブS1、S3〜S5の2番目のビットデータのXORによって求められる。3、4、5番目のパリティデータも同様にして生成、配置される。数式で表すと以下の式になる。
【数1】
S1のパリティデータ=S2XOR S3XOR S4XOR S5=1XOR 0XOR 1XOR 1=1
S2のパリティデータ=S1XOR S3XOR S4XOR S5=1XOR 0XOR 1XOR 0=0
S3のパリティデータ=S1XOR S2XOR S4XOR S5=0XOR 1XOR 0XOR 1=0
S4のパリティデータ=S1XOR S2XOR S3XOR S5=1XOR 1XOR 1XOR 0=1
S5のパリティデータ=S1XOR S2XOR S3XOR S4=0XOR 0XOR 0XOR 1=1
【0018】
予備ドライブSPは正常動作時は待機しており、データドライブが故障すると、故障したデータドライブの代わりに用いられる。もしデータドライブS1が故障すると、ディスクアレイコントローラは残りのデータドライブS2〜S5のデータをXORしてデータドライブS1のデータを復元し、復元されたデータを予備ドライブSPに記録する。予備ドライブSPはディスクアレイが正常動作時には用いられずに待機しているだけなので、装置の効率的な利用が出来ない。これは、RAIDサブシステムの性能を低下させる要因となる。
【0019】
【発明が解決しようとする課題】
本発明の目的は、装置を有効に活用し、RAIDサブシステムの全体的な性能向上を実現する方法の提供にある。
【0020】
【課題を解決するための手段】
このような目的を達成するために本発明では、RAIDサブシステムのようにデータを分散記録した多数のデータディスクドライブからなるディスクアレイを持つ大容量記憶装置において、データディスクドライブの故障時用の予備ディスクドライブと、パリティデータ記録用のパリティディスクドライブと、を備えることを特徴とする。
【0021】
この装置の初期化には、ディスクアレイ内のディスクドライブを中間シリンダから上位ブロックと下位ブロックに分け、予備ディスクドライブ以外のディスクドライブを2つの小パリティグループに分ける第1過程と、データディスクドライブのデータからパリティデータを演算して、上位ブロックのパリティデータはパリティディスクドライブの上位ブロックへ、データディスクドライブの下位ブロックのパリティデータは予備ディスクドライブの上位ブロックへ、それぞれ記録する第2過程と、パリティディスクドライブを含む側の小パリティグループは、該小パリティグループ内のデータディスクドライブのデータからパリティデータを演算し、上位ブロックのパリティデータを予備ディスクドライブの下位ブロックへ、下位ブロックのパリティデータをパリティディスクドライブの下位ブロックへ、それぞれ記録する第3過程と、が遂行される。
【0022】
書込み動作時には、書込まれたデータディスクドライブ以外のデータディスクドライブのデータとパリティデータを演算し、その演算結果と新しく書込まれたデータを演算して新しいパリティデータを算出して、上位ブロックパリティデータならパリティディスクドライブの上位ブロックへ、下位ブロックのパリティデータなら予備ディスクドライブの上位ブロックへ、それぞれ記録する。また、パリティディスクドライブを含む小パリティグループのデータディスクドライブに対し書込み動作を行うときは、小パリティグループ内の書込まれたデータディスクドライブ以外のデータディスクドライブのデータとパリティデータを演算し、その演算結果と新しく書込まれたデータを演算して新しいパリティデータを算出して、上位ブロックのパリティデータを予備ディスクドライブの下位ブロックへ、下位ブロックのパリティデータをパリティディスクドライブの下位ブロックへ、それぞれ記録する。
【0023】
パリティデータ算出のための演算は排他的論理和を行う。
【0024】
1つのデータディスクドライブにフェイルが発生した時、予備ディスクドライブにフェイルしたデータを復元する第1過程と、予備ディスクドライブをフェイルしたデータディスクドライブの代わりにデータディスクドライブに設定し、フェイルしたデータディスクドライブを予備ディスクドライブに設定する第2過程と、によりデータを復元する。各小パリティグループ当たり1つのデータディスクにフェイルが発生した時、パリティディスクドライブを含む小パリティグループ内のフェイルしたデータディスクドライブを予備ディスクドライブへ復元する第1過程と、フェイルの発生していない全てのドライブを用いて残りのフェイルしたデータディスクドライブをパリティディスクドライブへ復元する第2過程と、予備ディスクドライブとパリティディスクドライブをデータディスクドライブに設定し、フェイルしたデータディスクドライブをそれぞれ予備ディスクドライブとパリティディスクドライブに設定する第3過程と、によりデータを復元する。パリティディスクドライブと予備ディスクドライブのどちらか1つにフェイルが発生した時、データディスクドライブのデータからパリティデータを再演算して復元する。パリティディスクドライブを含む小パリティグループ内の1つのデータディスクドライブと予備ディスクドライブにそれぞれフェイルが発生した時、フェイルしていない他の全てのディスクドライブからフェイルしたデータディスクドライブのデータを復元してパリティディスクドライブの上位ブロックに書込む第1過程と、パリティディスクドライブを含む小パリティグループ内のフェイルしていなデータディスクドライブとパリティディスクドライブから予備ディスクドライブのデータを復元する第2過程と、パリティディスクドライブをデータディスクドライブに設定し、フェイルしたデータディスクドライブをパリティディスクドライブに設定する第3過程と、によりデータを復元する。
【0025】
【発明の実施の形態】
以下、本発明の実施形態を添付の図面を参照して詳細に説明する。本発明の実施形態では、多数のディスクドライブから構成されるディスクアレイをRAIDレベル4とRAIDレベル5の構造を合わせた構造とする。即ち、RAIDレベル4の構造で使用するパリティドライブとRAIDレベル5の構造で使用する予備ドライブを多数のデータドライブと共に使用する。
【0026】
図5は、本発明のRAIDサブシステムのブロック構成図である。同図を参照すると、ディスクアレイコントローラ4はホストシステム2と、ディスクアレイ6の間に接続される。ディスクアレイコントローラ4はディスクアレイ6の各ディスクドライブにデータを分散記録し、入出力を並列処理し、パリティデータを用いて誤り発生時のデータ復元を制御する。特に本発明のディスクアレイコントローラ4の主要な動作は、分割パリティ予備ディスクの制御を行うものである。分割パリティ予備ディスク制御は詳細に後述するが、初期化制御モード部分、正常制御モード部分、そしてドライブフェイル時にデータを復元するデータ復元制御モード部分に分けられる。ディスクアレイ6は、4つのデータドライブS1〜S4と、1個のパリティドライブPRと、予備ディスクドライブSPで構成される。ディスクアレイ6のディスクドライブS1〜S4、PR、SPは該当の記録領域がストリッピングサイズ(例えば、512バイト)のブロックに分けられている。
【0027】
次に、初期化制御モード、正常動作モード、及びデータ復元制御モードに対する動作を詳細に説明する。
【0028】
初期化制御モードでは、各ディスクドライブS1〜S4、PR、SPはディスクアレイコントローラ4の初期化制御時に小パリティグループに分けられ、該当の記録領域が上位ブロックと下位ブロックに分けられる。これらの動作を、図6のフローチャート、図7のディスクアレイ6の状態図、図8のディスクドライブのフォーマット図を用いて説明する。
【0029】
図6によると初期化制御動作は、100段階でディスクアレイコントローラ4はホストシステム2からシステム初期化命令を受けると102段階に進む。ディスクアレイコントローラ4は102段階で初期化制御機能をイネーブルし、分割オンフラグSOFをセットし、104段階に進む。104段階では、ディスクアレイ6を構成するディスクドライブの中間シリンダ値を求めて上位ブロックと下位ブロックに分ける。図7、8を参照すると、参照番号50A、52A、54A、56A、58A、60Aが該当ディスクドライブの上位ブロックであり、参照番号50B、52B、54B、56B、58B、60Bが該当ディスクドライブの下位ブロックを表している。図8のデータドライブS1〜S4をみれば、上位、下位ブロックがそれぞれブロック単位(1BLK)に分けられており、そのブロックデータUBD_0、UBD_1、… 、UBD_m及びLBD_0、LDB1、…、LBD_mがストリップトアクロスされている。ここで、ブロックデータとは単位ブロック(例えば、512バイトサイズ)に記録されたデータを総称する言葉である。
【0030】
図6に戻りフローを説明すると、ディスクアレイコントローラ4は104段階後に106段階に進み、ディスクアレイ6内の予備ドライブSPの状態をチェックして108段階に進む。チェック結果に異常があれば108段階で検出して110段階に進んでホストシステム2へエラー通報をし、異常が無ければ112段階に進む。112段階では、パリティドライブPRの下位ブロック58Bに記録されている下位ブロックパリティデータLPRを予備ドライブSPの上位ブロック60Aにコピーする。パリティドライブPRに記録されたパリティデータはデータドライブS1〜S4のデータをXORして算出した値である。
【0031】
図7では、ドライブS1〜S4の上位ブロックデータUBD(▲で表示)をXORして上位ブロックパリティデータUPR(▲で表示)を生成し、パリティドライブPRの上位ブロック58Aに記録している。又、ドライブS1〜S4の下位ブロックデータLBD(■で表示)をXORして下位ブロックパリティデータLPR(■で表示)を生成し、パリティドライブPRの下位ブロック58Bに記録している。この下位ブロックパリティデータLPRは、112段階で予備ドライブSPの上位ブロック60Aにコピーする。
【0032】
ディスクアレイコントローラ4は114段階で移動完了を判断し、完了したら116段階に進む。116段階では予備ドライブSPを除いた残りのドライブを2つの小パリティグループに分ける。図7では、データドライブS1、S2を第1パリティグループ30、データドライブS3、S4及びパリティドライブPRを第2パリティグループ40としている。
【0033】
ディスクアレイコントローラ4は118段階に進んで、パリティドライブPRを含む小パリティグループ、即ち第2パリティグループ40のディスクドライブS3、S4、PRの上位ブロックデータUBD、UPR(○で表示)を用いて小グループ上位ブロックパリティデータGUPRを生成し、120段階で予備ドライブSPの下位ブロック60Bに書込む。その後、ディスクアレイコントローラ4は122段階で書込みが完了したかを判断し、完了した場合は124段階に進む。
【0034】
ディスクアレイコントローラ4は124段階で第2パリティグループ40のディスクドライブS3、S4、PRの下位ブロックデータLBD、LPR(×で表示)を用いて小グループ下位ブロックパリティデータGLPRを生成する。そして、126段階でパリティドライブPRの下位ブロック58Bに小グループ下位ブロックパリティデータGLPRを書込み、128段階で書込みが完了したかを判断し、完了した場合は130段階に進む。
【0035】
130段階で、ディスクアレイコントローラ4は初期化制御の開始時にセットした分割オンフラグSOFをリセットし、パリティ分割が完了したことを知らせる分割パリティ予備フラグ(SPSF)をセットした後、132段階で正常動作モードに転換する。
【0036】
初期化制御が完了した後のディスクアレイ6は図7、8に示すように、パリティドライブPRの上位ブロック58Aには上位ブロックパリティデータUPR、下位ブロック58Bには小グループ下位ブロックパリティデータGLPRが記録されており、予備ドライブSPの上位ブロック60Aには下位ブロックパリティデータLPR、下位ブロック60Bには小グループ上位ブロックパリティデータGUPRが記録されている。次に、初期化制御モード終了後の正常な状態での動作制御を詳細に説明する。
【0037】
本発明の正常動作モードとの比較のために、既存のRAIDレベル4における正常動作を図9A、Bを参照して説明する。RAIDレベル4においてディスクアレイコントローラはデータの読出し動作で、図9Aに示すように該当のデータドライブS2からデータODを読出す。書込み動作では図9Bに示すように、まず、新しいデータNDを該当のデータドライブS2に書込む。その後、新しいデータNDに対するパリティデータを生成するためにデータドライブS2を除いた残りのディスクドライブ内の新しいデータNDの記録位置と対応する記録位置からデータOD、OPを読出してXORしてデータEXを生成し、データEXを新しいデータNDとXORして新しいパリティデータNPを生成しパリティドライブPRに書込む。
【0038】
これに対し、本発明の正常動作モードを図10A、B、11A、Bを参照して説明する。
【0039】
図10A、Bは、第1パリティグループ30にあるデータドライブS1、S2に対して行うデータ読出/書込動作の説明図である。ディスクアレイコントローラ4はデータの読出し動作時、図10Aに示すように、従来の方式と同様に該当のデータドライブS2からデータODを読出す。読出し動作では第2パリティグループ40に対しても同様の動作になる。
【0040】
書込み動作では図10Bに示すように、まず新しいデータNDを該当のデータドライブ、例えばS2に書込む。その後、新しいデータNDに対するパリティデータを生成するためにデータドライブS2を除いたデータドライブの、新しいデータNDの記録位置に対応する記録位置のデータODを読出す。もし読出されたデータODの記録位置が上位ブロックであれば、データが上位ブロックデータUBDなので、ディスクアレイコントローラ4は読出した上位ブロックデータUBDを、パリティドライブPRの上位ブロック58Aから読出した上位ブロックパリティデータO_UPRとXORしてデータEX1を生成する。その後、データEX1をデータNDとXORして新しい上位ブロックパリティデータN_UPRを生成し、パリティドライブPRの上位ブロック58Aに書込む。
【0041】
一方、データドライブS1、S3、S4から読出したデータODの記録位置が下位ブロックであれば、データが下位ブロックデータLBDなので、ディスクアレイコントローラ4は読出した下位ブロックデータLBDを予備ドライブSPの上位ブロック60Aから読出した下位ブロックパリティデータO_LPRとXORしてデータEX2を生成する。その後、データEX2をデータNDとXORして新しい下位ブロックパリティデータN_LPRを生成し、予備ドライブSPの上位ブロック60Aに書込む。
【0042】
もし書込み動作で新しいデータNDが第2パリティグループ40のデータドライブS3、S4のいずれかに書込まれると、図11A、Bに示すように動作する。ここでは、データドライブS3に新しいデータNDが書込まれる場合の動作を示している。図11Aは図10Bと同様の動作を行い、パリティドライブPR及び予備ドライブSPの上位ブロックにそれぞれ書込まれていた上位ブロック(または下位ブロック)パリティデータを新しい上位ブロック(または下位ブロック)パリティデータN_UPR(またはN_LPR)に変更する。更に、パリティドライブPR及び予備ドライブSPの下位ブロックにそれぞれ書込まれている小グループ下位ブロックパリティデータGLPR及び小グループ上位ブロックパリティデータGUPRを新しい小グループ下位ブロックパリティデータN_GLPR及び小グループ上位ブロックパリティデータN_GUPRに変更する。
【0043】
次に、小グループ上位ブロック(または下位ブロック)パリティデータGUPR(GLPR)の変更動作を図11Bを参照して説明する。データドライブS3に記録された新しいデータNDに対するパリティデータを生成するために、新しいデータNDとデータドライブS4内のデータNDの記録位置に対応する記録位置にあるデータODをXORして、変更されたデータGEXを生成する。
【0044】
ND及びODの記録位置が上位ブロックであれば、変更されたデータGEXが上位ブロックデータGUBDなので、ディスクアレイコントローラ4は変更された上位ブロックデータGUBDを、パリティドライブPRの上位ブロック58Aから読出した上位ブロックパリティデータO_GUPRとXORして新しい小グループ上位ブロックパリティデータN_GUPRを生成して、予備ドライブSPの下位ブロックGOBに書込む。
【0045】
データND及びODの記録位置が下位ブロックであれば、変更されたデータGEXは下位ブロックデータGLBDである。下位ブロックデータGLBDは新しい小グループ下位ブロックパリティデータN_GLPRを意味するので、ディスクアレイコントローラ4は生成された小グループ下位ブロックパリティデータN_GLPRをパリティドライブPRの下位ブロック58Bに書込む。
【0046】
次に、ディスクアレイ6内の所定のディスクドライブにフェイルが発生した場合のデータ復元モード制御について説明する。RAIDサブシステムの動作中にディスクアレイ6内のディスクドライブに、データドライブS1〜S4内の一つのデータドライブにフェイルが発生した場合、各小パリティグループ当たり一つのデータドライブにフェイルが発生した場合、パリティドライブPRと予備ドライブSPのいずれか一つにフェイルが発生した場合、第2パリティグループ40内の一つのデータドライブと予備ドライブSPにそれぞれフェイルが発生した場合、にはデータの復元が可能である。
【0047】
データドライブS1〜S4内の一つのデータドライブにフェイルが発生した場合の復元過程を、ディスクアレイ6内のデータドライブS1にフェイルが発生した場合について説明する。データドライブS1にフェイルが発生した時、データドライブS1のデータを記録し得るように予備ドライブSPを設け、フェイルの発生したS1のデータを復元して予備ドライブSPに記録させる。図12のフローチャートにより詳細に説明すると以下のようになる。
【0048】
ディスクアレイコントローラ4は200段階でフェイルが発生したデータドライブS1を検出すると、202段階で復元フラグRCVFをセットし、204段階に進む。204段階で、ディスクアレイコントローラ4は予備ドライブSPの上位ブロック60Aに記録された下位ブロックパリティデータLPRをパリティドライブPRの下位ブロック58Bにコピーする。これにより、予備ドライブSPにはデータドライブS1のデータを記録し得る記録領域が設けられる。
【0049】
その後、ディスクアレイコントローラ4は206段階に進んでフェイルが発生していないデータドライブS2、S3、S4とパリティドライブPRのデータをXORして、フェイルが発生したデータドライブS1のデータを復元する。その後、208段階で復元したデータを予備ドライブSPに書込む。210段階では書込み完了を判断し、完了したなら212段階に進む。
【0050】
ディスクアレイコントローラ4は212段階でデータドライブS1と予備ドライブSPを交換するようにドライブテーブルを再び構成する。その後、214段階、216段階で分割パリティ予備フラグSPSFと復元フラグRCVFをリセットする。分割パリティ予備フラグSPSFがリセットされるので、以後予備ドライブSPを用いたパリティチェックは遂行しない。
【0051】
次に、各小パリティグループ当たり一つのデータドライブにフェイルが発生した場合のデータ復元動作を、第1パリティグループ30内のデータドライブS1と第2パリティグループ40内のデータドライブS3にフェイルが発生した場合で説明する。データドライブS1、S3にフェイルが発生した時、データドライブS3のデータを記録し得るように予備ドライブSPを設け、第2パリティグループ40内のフェイルが発生していない残りのドライブと予備ドライブSPを用いてS3のデータを復元して予備ドライブSPに記録し、次に、フェイルが発生していない残りの全てのドライブ、即ちデータドライブS2、S4、パリティドライブPR及び復元されたS3のデータを記録している予備ドライブSPを用いてフェイルが発生したS1のデータを復元してパリティドライブPRに記録する。図13のフローチャートにより詳細に説明すると以下のようになる。
【0052】
ディスクアレイコントローラ4は、300段階で各パリティグループでフェイルが発生したデータドライブS1及びS3を検出し、302段階と304段階でで復元フラグRCVFと交替パリティフラグRPPFをセットする。306段階でディスクアレイコントローラ4は、予備ドライブSPの上位ブロック60Aに記録された下位ブロックパリティデータLPRと、パリティドライブPRの下位ブロック58Bに記録された小グループ下位ブロックパリティデータGLPRを交換する。その結果、パリティドライブPRの下位ブロック58Bには下位ブロックパリティデータLPRが記録され、予備ドライブSPの上位ブロック60Aには小グループ下位ブロックパリティデータGLPRが記録される。その後、308段階で交替パリティフラグRPPFをリセットする。
【0053】
ディスクアレイコントローラ4は、310段階で第2パリティグループ40の中でフェイルが発生していないデータドライブS4とパリティドライブPR、及び予備ドライブSPのデータを用いて、データドライブS3のデータを復元する。つまり、データドライブS4の上位ブロックデータUBD、パリティドライブPRの上位ブロックパリティデータUPR、及び予備ドライブSPの下位ブロック60Bに記録された小グループ上位ブロックパリティデータGUPRをXORして、フェイルが発生したデータドライブS3の上位ブロックデータを復元する。そして、データドライブS4の下位ブロックデータLBD、予備ドライブSPの上位ブロック60Aに記録された小グループ下位ブロックパリティデータGLPRをXORして、フェイルが発生したデータドライブS3の下位ブロックデータを復元する。その後、ディスクアレイコントローラ4は312段階に進んで、復元されたデータを予備ドライブSPに書込む。314段階では書込みが完了したかどうかを判断し、書込みが完了した場合は316段階に進む。
【0054】
316段階で、ディスクアレイコントローラ4は、フェイルが発生していないデータドライブS2、S4と、復元されたデータを記録している予備ドライブSP及びパリティドライブPRのデータを用いて、データドライブS1のデータを復元する。具体的には、データドライブS2、S4の上位ブロックデータUBD、パリティドライブPRの上位ブロックパリティデータUPR、及び予備ドライブSPの上位ブロック60Aに記録された復元したデータドライブS3の上位ブロックデータをXORして、データドライブS1の上位ブロックデータを復元する。そして、データドライブS2、S4の下位ブロックデータLBD、パリティドライブPRの下位ブロックパリティデータLPR、及び予備ドライブSPの下位ブロック60Bに記録された復元したデータドライブS3の下位ブロックデータをXORして、データドライブS1の下位ブロックデータを復元する。その後、ディスクアレイコントローラ4は318段階に進んで、復元されたデータをパリティドライブPRに書込む。320段階では書込みが完了したかを判断し、完了した場合は322段階に進む。
【0055】
322段階でディスクアレイコントローラ4は、データドライブS1とパリティドライブPRを、データドライブS3と予備ドライブSPを交換するようにドライブテーブルを再構成する。その後、324段階、326段階で分割パリティ予備フラグSPSFと復元フラグRCVFをリセットする。分割パリティ予備フラグSPSFがリセットされるので、以後はパリティドライブPR及び予備ドライブSPを用いたパリティチェックは遂行されない。
【0056】
次に、パリティドライブPRと予備ドライブSPのいずれか一つにフェイルが発生した場合のデータ復元動作について説明する。まず、パリティドライブPRにフェイルが発生した場合には、既に予備ドライブSPの上位ブロック60Aには下位ブロックパリティデータLPRが記録されているので、データドライブS1、S2、S3、S4の上位ブロックデータUBDを用いてフェイルが発生した上位ブロックパリティデータUPRを復元し、予備ドライブSPに記録する。次に、予備ドライブSPにフェイルが発生した時は、フェイルのある予備ドライブSPに記録された下位ブロックパリティデータLPRだけフェイルが発生しているので、データドライブS1、S2、S3、S4の下位ブロックデータLBDを用いてフェイルが発生した下位ブロックパリティデータLPRを復元し、パリティドライブPRに記録させる。以下に図14を用いて詳細に説明する。
【0057】
ディスクアレイコントローラ4は400段階で各パリティグループからフェイルが発生したドライブ(パリティドライブPRまたは予備ドライブSP)を検出すると、402段階で復元フラグRCVFをセットし、404段階でパリティドライブPRにフェイルが発生したか予備ドライブSPにフェイルが発生したかを判断する。パリティドライブPRにフェイルが発生したときは、ディスクアレイコントローラ4は406段階〜414段階に進み、予備ドライブSPにフェイルが発生したなら、416段階〜422段階に進む。
【0058】
パリティドライブPRのフェイル時にディスクアレイコントローラ4は、406段階で予備ドライブSPの上位ブロック60Aに記録された下位ブロックパリティデータLPRを下位ブロック60Bへ移動する。その後、408段階でディスクアレイ6内の全てのデータドライブS1、S2、S3、S4の上位ブロックデータUBDをXORし、パリティドライブPRの上位ブロックパリティデータUPRを復元する。そして、410段階では復元された上位ブロックパリティデータUPRを予備ドライブSPの上位ブロック60Aに書込む。412段階では書込み完了を判断し、完了したときは414段階に進む。414段階で、ディスクアレイコントローラ4はパリティドライブPRを予備ドライブSPに再構成する。
【0059】
一方、予備ドライブSPのフェイル時にディスクアレイコントローラ4は、416段階でディスクアレイ6内の全てのデータドライブS1、S2、S3、S4内の下位ブロックデータLBDをXORして、予備ドライブSPのフェイル時に消えた下位ブロックパリティデータLPRを復元する。そして、418段階では復元された下位ブロックパリティデータLPRをパリティドライブPRの下位ブロック58Bに書込む。420段階では書込みが完了したかどうかを判断し、完了した場合は422段階に進む。422段階で、ディスクアレイコントローラ4は予備ドライブSPが使用されないようにドライブテーブルを再構成する。その後、ディスクアレイコントローラ4は、424段階、426段階でで分割パリティ予備フラグSPSFと復元フラグRCVFをリセットする。
【0060】
最後に、第2パリティグループ40内の一つのデータドライブと予備ドライブSPにフェイルが発生した場合のデータ復元動作を説明する。下記の説明では、第2パリティグループ40内でフェイルが発生したデータドライブをS3に仮定する。データドライブS3及び予備ドライブSPにフェイルが発生した時、ディスクアレイ6内のフェイルが発生していない全てのデータドライブS1、S2、S4とパリティドライブPRの上位ブロックデータUBD、UPRを用いてフェイルが発生したデータドライブS3の上位ブロックデータを復元して、パリティドライブPRの上位ブロック58Aに書込み、第2パリティグループ40内のフェイルが発生していないデータドライブS4の下位ブロックデータLBDとパリティドライブPRの下位ブロック58Bに記録された小グループ下位ブロックパリティデータGLPRを用いてフェイルが発生したデータドライブS3の下位ブロックデータを復元して、パリティドライブPRの下位ブロック58Bに書込む。
【0061】
図15のフローチャートにより詳細に説明すると、ディスクアレイコントローラ4は、500段階でフェイルが発生したデータドライブS3及び予備ドライブSRを検出する。そして、502段階で復元フラグRCVFをセットし、504段階に進む。504段階でディスクアレイコントローラ4は、ディスクアレイ6内のフェイルが発生していない全てのデータドライブS1、S2、S4とパリティドライブPRの上位ブロックデータUBD、UPRをXORして、データドライブS3の上位ブロックデータを復元する。その後、506段階に進んで復元されたデータドライブS3の上位ブロックデータをパリティドライブPRの上位ブロック58Aに書込む。ディスクアレイコントローラ4は508段階で書込みが完了したかどうかを判断し、完了したときは510段階に進む。
【0062】
510段階でディスクアレイコントローラ4は、第2パリティグループ40内のフェイルが発生していないデータドライブS4の下位ブロックデータLBDとパリティドライブPRの下位ブロック58Bに記録された小グループ下位ブロックパリティデータGLPRをXORして、データドライブS3の下位ブロックデータを復元し、512段階に進んで復元されたデータをパリティドライブPRの下位ブロック58Bに書込む。ディスクアレイコントローラ4は514段階で書込みが完了したかどうかを判断し、完了したときは516段階に進む。
【0063】
516段階でディスクアレイコントローラ4はデータドライブS3とパリティドライブPRを交換するようにドライブテーブルを再構成する。その後、518段階、520段階で分割パリティ予備フラグSPSFと復元フラグRCVFをリセットする。分割パリティ予備フラグSPSFがリセットされるので、以後はパリティドライブPR及び予備ドライブSPを用いたパリティチェックは遂行しない。
【0064】
【発明の効果】
以上のような本発明のRAIDシステムの大容量記憶装置により、資源の効率的な活用が可能になり、既存のパリティディスクドライブの作業負荷を減らしてシステムの全体的な性能が向上する。また、色々なフェイルが発生してもデータの復元を可能にする。
【図面の簡単な説明】
【図1】RAIDサブシステムの構成図。
【図2】図1のディスクアレイコントローラのブロック構成図。
【図3】RAIDレベル5のディスクドライブのフォーマット図。
【図4】RAIDレベル5のパリティデータの生成及び配置方法の説明図。
【図5】本発明の実施形態のブロック構成図。
【図6】本発明の実施形態の初期化制御のフローチャート。
【図7】図6の初期化制御によるディスクアレイ状態図。
【図8】図6の初期化制御による各ディスクドライブのフォーマット図。
【図9】既存のRAIDレベル4の正常動作モードでの分図Aは読出し、分図Bは書込み動作の説明図。
【図10】本発明の実施形態の第1パリティグループの正常動作モードでの分図Aは読出し、分図Bは書込み動作の説明図。
【図11】本発明の実施形態の第2パリティグループの正常動作モードでの分図Aは書込み動作、分図Bは小パリティグループパリティデータ生成動作の説明図。
【図12】本発明の実施形態のデータ復元のフローチャート。
【図13】本発明の実施形態のデータ復元のフローチャート。
【図14】本発明の実施形態のデータ復元のフローチャート。
【図15】本発明の実施形態のデータ復元のフローチャート。
Claims (8)
- データを分散記録した多数のデータディスクドライブから構成されるディスクアレイを備えて入出力を並列処理するRAIDサブシステムからなる大容量記憶装置において、
データディスクドライブの故障時用の予備ディスクドライブと、パリティデータ記録用のパリティディスクドライブと、をデータディスクドライブの他に備え、
パリティディスクドライブのパリティデータを分割してパリティディスクドライブと予備ディスクドライブとに記録する分割パリティ予備ディスク制御を実行するようにし、
ディスクアレイ内のディスクドライブを中間シリンダから上位ブロックと下位ブロックに分け、予備ディスクドライブ以外のディスクドライブを2つの小パリティグループに分ける第1過程と、データディスクドライブのデータからパリティデータを演算して、上位ブロックのパリティデータはパリティディスクドライブの上位ブロックへ、データディスクドライブの下位ブロックのパリティデータは予備ディスクドライブの上位ブロックへ、それぞれ記録する第2過程と、パリティディスクドライブを含む側の小パリティグループは、該小パリティグループ内のデータディスクドライブのデータからパリティデータを演算し、上位ブロックのパリティデータを予備ディスクドライブの下位ブロックへ、下位ブロックのパリティデータをパリティディスクドライブの下位ブロックへ、それぞれ記録する第3過程と、から初期化過程が遂行されることを特徴とする大容量記憶装置。 - パリティデータ算出のための演算は排他的論理和を行う請求項1に記載の大容量記憶装置。
- ディスクドライブにフェイルが発生すると、1又は複数のデータディスクドライブのフェイルか、パリティディスクドライブのフェイルか、予備ディスクドライブのフェイルかを検出する請求項1又は請求項2に記載の大容量記憶装置。
- 1つのデータディスクドライブにフェイルが発生した時、
予備ディスクドライブの上位ブロックに記録された下位ブロックのパリティデータを、パリティディスクドライブの下位ブロックにコピーする過程と、
フェイルの発生していないデータディスクドライブ及びパリティディスクドライブのデータを利用して、フェイルしたデータディスクドライブのデータを復元する過程と、
その復元したデータを予備ディスクドライブに書込む過程と、によりデータを復元する請求項3に記載の大容量記憶装置。 - 各小パリティグループ当たり1つのデータディスクにフェイルが発生した時、
予備ディスクドライブの上位ブロックに記録された下位ブロックのパリティデータとパリティディスクドライブの下位ブロックに記録された小パリティグループの下位ブロックのパリティデータとを交換する過程と、
パリティディスクドライブを含む小パリティグループ内のフェイルの発生していないデータディスクドライブ、パリティディスクドライブ及び予備ディスクドライブのデータを利用して、パリティディスクドライブを含む小パリティグループ内のフェイルしたデータディスクドライブのデータを復元する過程と、
その復元したデータを予備ディスクドライブに書込む過程と、
フェイルの発生していないデータディスクドライブ、パリティディスクドライブ及び予備ディスクドライブのデータを利用して、フェイルした他方のデータディスクドライブのデータを復元する過程と、
その復元したデータをパリティディスクドライブに書込む過程と、によりデータを復元する請求項3に記載の大容量記憶装置。 - パリティディスクドライブにフェイルが発生した時、
予備ディスクドライブの上位ブロックに記録された下位ブロックのパリティデータを、予備ディスクドライブの下位ブロックにコピーする過程と、
データディスクドライブのデータを利用して、フェイルしたパリティディスクドライブの上位ブロックのデータを復元する過程と、
その復元したデータを予備ディスクドライブの上位ブロックに書込む過程と、によりデータを復元する請求項3に記載の大容量記憶装置。 - 予備ディスクドライブにフェイルが発生した時、
データディスクドライブのデータを利用して、フェイルした予備ディスクドライブの上位ブロックのデータを復元する過程と、
その復元したデータをパリティディスクドライブの下位ブロックに書込む過程と、によりデータを復元する請求項3に記載の大容量記憶装置。 - パリティディスクドライブを含む小パリティグループ内の1つのデータディスクドライブと予備ディスクドライブにそれぞれフェイルが発生した時、
フェイルの発生していないデータディスクドライブ及びパリティディスクドライブのデータを利用して、フェイルしたデータディスクドライブの上位ブロックのデータを復元する過程と、
その復元したデータをパリティディスクドライブの上位ブロックに書込む過程と、
パリティディスクドライブを含む小パリティグループ内のフェイルの発生していないデータディスクドライブ及びパリティディスクドライブのデータを利用して、フェイルしたデータディスクドライブの下位ブロックのデータを復元する過程と、
その復元したデータをパリティディスクドライブの下位ブロックに書込む過程と、によりデータを復元する請求項3に記載の大容量記憶装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960041479A KR100275900B1 (ko) | 1996-09-21 | 1996-09-21 | 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법 |
KR1996P41479 | 1996-09-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10111767A JPH10111767A (ja) | 1998-04-28 |
JP3742494B2 true JP3742494B2 (ja) | 2006-02-01 |
Family
ID=19474748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25686297A Expired - Lifetime JP3742494B2 (ja) | 1996-09-21 | 1997-09-22 | 大容量記憶装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6070249A (ja) |
JP (1) | JP3742494B2 (ja) |
KR (1) | KR100275900B1 (ja) |
DE (1) | DE19723909B4 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272442B1 (en) * | 1999-02-04 | 2001-08-07 | Dell Usa, L.P. | Taking in-use computer drives offline for testing |
US6058054A (en) * | 1999-03-31 | 2000-05-02 | International Business Machines Corporation | Method and system for providing an instant backup in a RAID data storage system |
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) |
US6675318B1 (en) * | 2000-07-25 | 2004-01-06 | Sun Microsystems, Inc. | Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension |
KR100363221B1 (ko) * | 2000-11-10 | 2002-12-05 | 디스크뱅크(주) | 대용량 디스크 저장 장치 및 이를 위한 폴트 톨로런스제공 방법 |
DE10101805A1 (de) * | 2001-01-17 | 2002-07-18 | Siemens Ag | Netzwerk mit mehreren Teilnehmern sowie Teilnehmer für ein derartiges Netzwerk |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US20020161846A1 (en) * | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path controller architecture |
JP2002259062A (ja) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 |
US7222257B1 (en) * | 2001-06-12 | 2007-05-22 | Emc Corporation | Method and system for repairing a redundant array of disk drives |
CN1241120C (zh) * | 2001-08-31 | 2006-02-08 | 联想(北京)有限公司 | 计算机硬盘数据备份及恢复方法 |
KR100463841B1 (ko) * | 2002-02-25 | 2004-12-29 | 한국전자통신연구원 | 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법 |
JP2004326357A (ja) * | 2003-04-23 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 冗長化ブロックを有する記憶システム、並びに、当該記憶システムの制御装置、制御方法、プログラム及び記録媒体 |
US7379974B2 (en) * | 2003-07-14 | 2008-05-27 | International Business Machines Corporation | Multipath data retrieval from redundant array |
US7533325B2 (en) | 2003-07-14 | 2009-05-12 | International Business Machines Corporation | Anamorphic codes |
US7254754B2 (en) * | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
US7281177B2 (en) * | 2003-07-14 | 2007-10-09 | International Business Machines Corporation | Autonomic parity exchange |
US9489150B2 (en) | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
JP2007502470A (ja) | 2003-08-14 | 2007-02-08 | コンペレント・テクノロジーズ | 仮想ディスク・ドライブのシステムおよび方法 |
JP2005100259A (ja) | 2003-09-26 | 2005-04-14 | Hitachi Ltd | ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法 |
US7302603B2 (en) * | 2003-11-20 | 2007-11-27 | International Business Machines Corporation | Host-initiated data reconstruction for improved RAID read operations |
JP4634049B2 (ja) * | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
US8601035B2 (en) | 2007-06-22 | 2013-12-03 | Compellent Technologies | Data storage space recovery system and method |
US20060112219A1 (en) * | 2004-11-19 | 2006-05-25 | Gaurav Chawla | Functional partitioning method for providing modular data storage systems |
WO2007140259A2 (en) * | 2006-05-24 | 2007-12-06 | Compellent Technologies | Data progression disk locality optimization system and method |
WO2007140260A2 (en) | 2006-05-24 | 2007-12-06 | Compellent Technologies | System and method for raid management, reallocation, and restriping |
EP2297742B1 (en) | 2008-05-16 | 2013-07-24 | Fusion-io, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
WO2010005421A2 (en) * | 2008-07-07 | 2010-01-14 | Hewlett-Packard Development Company, L.P. | Dynamically expanding storage capacity of a storage volume |
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 |
US8468292B2 (en) * | 2009-07-13 | 2013-06-18 | Compellent Technologies | Solid state drive data storage system and method |
US9146851B2 (en) | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
US20150089328A1 (en) * | 2013-09-23 | 2015-03-26 | Futurewei Technologies, Inc. | Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller |
CN103810062B (zh) * | 2014-03-05 | 2015-12-30 | 华为技术有限公司 | 慢盘检测方法和装置 |
KR20170099161A (ko) * | 2016-02-23 | 2017-08-31 | 에스케이텔레콤 주식회사 | 빠른 데이터 복원을 위한 데이터 읽기 또는 쓰기 방법 |
US11334434B2 (en) | 2020-02-19 | 2022-05-17 | Seagate Technology Llc | Multi-level erasure system with cooperative optimization |
US11372553B1 (en) | 2020-12-31 | 2022-06-28 | Seagate Technology Llc | System and method to increase data center availability using rack-to-rack storage link cable |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
US5258984A (en) * | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
US5331646A (en) * | 1992-05-08 | 1994-07-19 | Compaq Computer Corporation | Error correcting code technique for improving reliablility of a disk array |
DE4392143C1 (de) * | 1992-05-21 | 1996-11-21 | Fujitsu Ltd | Platten-Array-Vorrichtung |
US5388108A (en) * | 1992-10-23 | 1995-02-07 | Ncr Corporation | Delayed initiation of read-modify-write parity operations in a raid level 5 disk array |
JP2912802B2 (ja) * | 1993-10-14 | 1999-06-28 | 富士通株式会社 | ディスクアレイ装置の故障対処方法および装置 |
US5530948A (en) * | 1993-12-30 | 1996-06-25 | International Business Machines Corporation | System and method for command queuing on raid levels 4 and 5 parity drives |
US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
US5533190A (en) * | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
-
1996
- 1996-09-21 KR KR1019960041479A patent/KR100275900B1/ko not_active IP Right Cessation
-
1997
- 1997-06-06 DE DE19723909A patent/DE19723909B4/de not_active Expired - Fee Related
- 1997-09-22 JP JP25686297A patent/JP3742494B2/ja not_active Expired - Lifetime
- 1997-09-22 US US08/935,201 patent/US6070249A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE19723909A1 (de) | 1998-04-02 |
DE19723909B4 (de) | 2004-04-01 |
US6070249A (en) | 2000-05-30 |
JPH10111767A (ja) | 1998-04-28 |
KR100275900B1 (ko) | 2000-12-15 |
KR19980022356A (ko) | 1998-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3742494B2 (ja) | 大容量記憶装置 | |
US5566316A (en) | Method and apparatus for hierarchical management of data storage elements in an array storage device | |
US7506187B2 (en) | Methods, apparatus and controllers for a raid storage system | |
JP3237736B2 (ja) | データ記憶装置のマトリックス構造 | |
WO2002003204A1 (en) | Three interconnected raid disk controller data processing system architecture | |
KR100208801B1 (ko) | 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법 | |
JPH05143471A (ja) | 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法 | |
JP2008046986A (ja) | ストレージシステム | |
JP2006252126A (ja) | ディスクアレイ装置及びその再構築方法 | |
US6301711B1 (en) | System and method for the network support of full motion video using a redundant array of inexpensive disks | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
JPH05324579A (ja) | 分散ファイルシステム及び記憶装置 | |
KR100463841B1 (ko) | 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법 | |
JP2005099995A (ja) | 磁気ディスク装置のディスク共有方法及びシステム | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
JPH07261945A (ja) | ディスクアレイ装置およびディスクアレイの区分け方法 | |
JPH06230903A (ja) | ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 | |
JP2913840B2 (ja) | 集合ディスク装置 | |
JP4794357B2 (ja) | Raid装置におけるraidレベル変換方法およびraid装置 | |
JPH07306758A (ja) | ディスクアレイ装置及びその制御方法 | |
JPH08286844A (ja) | パリティ生成制御方法およびディスク制御装置 | |
JP2005166016A (ja) | ディスクアレイ装置 | |
JP2004164675A (ja) | ディスクアレイ装置 | |
JP2570614B2 (ja) | デイスクアレイ装置 | |
JP2857289B2 (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040107 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040406 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040825 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040827 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051005 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040406 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131118 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |