JP2003167690A - ディスクアレイ装置及び同装置におけるデータ復旧方法 - Google Patents
ディスクアレイ装置及び同装置におけるデータ復旧方法Info
- Publication number
- JP2003167690A JP2003167690A JP2001367818A JP2001367818A JP2003167690A JP 2003167690 A JP2003167690 A JP 2003167690A JP 2001367818 A JP2001367818 A JP 2001367818A JP 2001367818 A JP2001367818 A JP 2001367818A JP 2003167690 A JP2003167690 A JP 2003167690A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- stripe
- block
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
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)
Abstract
等に変更を加えることなく、ディスクアレイ内のディス
ク装置の故障時における当該ディスクアレイの再構築に
必要なデータ復旧に要する時間を短縮できるようにす
る。 【解決手段】制御装置1は、アドレス変換テーブル7を
利用して、ホストコンピュータ10により使用されてい
る有効な論理ブロックの論理アドレスを検索し、その有
効な論理アドレスに対応する物理アドレスの物理ブロッ
クが含まれる物理ストライプ中の故障ディスク装置以外
の各ディスク装置上に存在するストライプユニットのみ
をディスクアレイ2から読み込んで、そのストライプか
ら故障ディスク装置のデータを復旧して当該故障ディス
ク装置に代えて用いられる予備ディスク装置24に書き
込む。
Description
置から構成されるディスクアレイを備えたディスクアレ
イ装置に係り、特に、ディスクアレイを構成するディス
ク装置に障害が発生したときのデータ復旧に好適なディ
スクアレイ装置及び同装置におけるデータ復旧方法に関
する。
されるRAID(Redundant Array ofInexpensive Disk
s,Redundant Array of Independent Disks)に代表さ
れるディスクアレイを備えたディスクアレイ装置が種々
開発されている。ディスクアレイは、物理ストライプ単
位にアクセスされるのが一般的である。
法として、米国特許第6,219,752号公報または
米国特許第6,233,648号公報(以下、先行技術
文献と称する)に開示されているように、ホストコンピ
ュータからの更新(書き込み)要求に対して本来更新さ
れるべき旧データの領域の内容を書き換えるのではな
く、更新データを溜めておき、ディスクアレイを構成す
る各ディスク装置内の予め用意した別の空き領域にまと
めて書き込む(遅延書き込みを適用した)方法が提案さ
れている。
ィスク装置のいずれか1つに使用不可能となるような故
障(障害)が発生した場合、正常な置換ディスク装置
(予備ディスク装置)を使用してディスクアレイを再構
築する必要がある。この再構築を可能とするために、デ
ィスクアレイはRAID等で知られている冗長化ディス
ク構成を適用するのが一般的である。したがって、冗長
化ディスク構成のディスクアレイでは、ディスク装置が
故障した場合。その冗長化ディスク構成を速やかに維持
(再構築)する必要がある。
る高速書き込み方法を適用する従来のディスクアレイ装
置では、ディスク装置に障害が発生した場合、ディスク
アレイを構成する全ての物理ストライプを読み込み論理
ブロックのデータとパリティデータを復旧し、正常な予
備ディスク装置を含む新たなディスクアレイに書き戻す
処理を実施している。
技術文献に開示されている高速書き込み方法を適用する
従来のディスクアレイ装置では、ディスクアレイを構成
するディスク装置が故障した場合、ディスクアレイを構
成する全ての物理ストライプを読み込み論理ブロックの
データとパリティデータを復旧し、正常な予備ディスク
装置を含む新たなディスクアレイに書き戻す処理を実施
することにより、ディスクアレイの冗長化ディスク構成
を再構築するようにしている。
では、データ復旧にかかる時間がディスクアレイのデー
タ容量に依存して長くなるため、今後ディスクアレイの
大容量化が一層進むことを考慮すると、問題である。
込み方法を適用するディスクアレイ装置とは異なるが、
特開平11−24849号公報に開示されているディス
クアレイ装置で適用される方法(障害復旧方法)では、
ディスクアレイ装置内の論理的なデータの有効、無効や
ディスクアレイ装置内の空領域を管理するファイル管理
テーブルであって、オペレーティングシステム(OS)
が使用するファイル管理テーブルを利用してデータ復旧
を行うようにしている。
は、ディスクアレイ装置がOSに依存するため、OSに
ディスクアレイ装置とOSとの間のインターフェースを
追加するか、OSやファイルシステムの内部構造が公開
されている必要がある。更に、各OS毎にディスクアレ
イ装置を用意する必要があり、OSが異なる場合のディ
スクアレイ装置間での互換性にも問題がある。
でその目的は、OSやファイルシステム、ディバイスド
ライバ等に一切の変更を加えず、異なるOS環境下にお
いてもディスクアレイ装置間での互換性を保証しなが
ら、ディスクアレイ内のディスク装置の故障時における
ディスクアレイの再構築に必要なデータ復旧に要する時
間を短縮できるディスクアレイ装置及び同装置における
データ復旧方法を提供することにある。
れば、複数のディスク装置から構成される冗長化ディス
ク構成のディスクアレイを備え、ホストコンピュータか
らの書き込み要求の指定するデータをブロック単位に分
割して書き込みバッファに詰めて蓄積し、当該バッファ
に所定のブロック数のデータが蓄積された段階で、その
所定のブロック数のデータを含む1ストライプ分のデー
タが、上記ディスクアレイ内の上記複数のディスク装置
上の更新されるべきデータを保持している領域とは別の
空き領域内の物理的に連続する領域に書き込まれるディ
スクアレイ装置が提供される。このディスクアレイ装置
は、上記ディスクアレイを構成する複数のディスク装置
のいずれか1つが故障して、当該故障したディスク装置
(故障ディスク装置)に代えて予備のディスク装置を用
いてディスクアレイを再構築する場合に、ホストコンピ
ュータにより使用されている有効な論理ブロックの論理
アドレス(有効な論理アドレス)を当該論理ブロックが
格納されているディスクアレイの物理アドレスに変換す
るためのアドレス変換情報が設定されたアドレス変換テ
ーブルに従って検索する手段と、この検索手段により検
索された有効な論理アドレスに対応する物理アドレスの
物理ブロックが故障ディスク装置上に存在することがア
ドレス変換テーブルから判定される場合、その物理ブロ
ックを含む物理ストライプ中の故障ディスク装置以外の
各ディスク装置上に存在するストライプユニットを読み
込む手段と、この読み込み手段により読み込まれた各ス
トライプユニットから故障ディスク装置のデータをブロ
ック単位で復旧する手段と、この復旧手段により復旧さ
れたデータを上記予備ディスク装置に書き込む手段とを
備えている。
においては、アドレス変換テーブルを利用して、ホスト
コンピュータにより使用されている論理ブロックの論理
アドレス、つまり有効な論理ブロックの論理アドレスを
検索し、その有効な論理アドレスに対応する物理アドレ
スの物理ブロックが含まれる物理ストライプ(中の故障
していない各ディスク装置上に存在するストライプユニ
ット)のみをディスクアレイから読み込んで、そのスト
ライプからデータを復旧して予備ディスク装置に書き込
む構成を適用している。
イ装置によれば、ホストコンピュータにより使用されて
いない無効な論理アドレスに対応する物理アドレスの物
理ブロックが含まれる物理ストライプ(中の故障してい
ない各ディスク装置上に存在するストライプユニット)
については、データ復旧のための読み込みの対象外とす
ることにより、その無効な論理アドレスに対応する物理
ストライプの読み込み処理、その読み込み処理に伴う無
効な論理アドレスに対応するデータの復旧処理、その復
旧処理に伴う無効な論理アドレスに対応する復旧された
データの書き込み処理が行われるのを防止して、ディス
クアレイのデータ復旧(ディスクアレイの再構築)に要
する時間を大幅に短縮することが可能となる。
レイ装置においては、上記第1の観点に係るディスクア
レイ装置におけるのと同様にしてディスクアレイ(中の
故障していない各ディスク装置)から読み込まれた、有
効な論理アドレスに対応する物理アドレスの物理ブロッ
クが含まれる物理ストライプ(中の故障していない各デ
ィスク装置上に存在するストライプユニット)から故障
ディスク装置のデータを復旧するだけでなく、その復旧
されたデータと、上記読み込まれた各ストライプユニッ
ト中の有効なデータとを、ブロック単位で書き込みバッ
ファに書き込んで蓄積し、この書き込みバッファに蓄積
されたデータを含む1ストライプ分のデータが揃う毎
に、当該1ストライプ分のデータを、予備のディスク装
置を含む新たなディスクアレイを構成する各ディスク装
置上の更新されるべきデータを保持している領域とは別
の空き領域内の物理的に連続する領域に構成としたこと
を特徴とする。
レイ装置によれば、ホストコンピュータにとって無効な
論理アドレスに対応する物理ブロックが含まれる物理ス
トライプ(中の故障していない各ディスク装置上に存在
するストライプユニット)について、データ復旧のため
の読み込みの対象外とすることにより、ディスクアレイ
のデータ復旧に要する時間を大幅に短縮するだけでな
く、復旧されたデータと、データ復旧のために読み込ま
れた物理ストライプ中の故障していない各ディスク装置
上に存在するストライプユニットに含まれている有効な
データ(有効な論理アドレスのデータ)とを利用して1
ストライプ分のデータが揃えられる毎に新たなディスク
アレイの空き領域に書き込むことにより、即ち故障ディ
スク装置の有効なデータの復旧と同時にディスクアレイ
における有効なデータの詰め替えを行うことで、データ
復元後に改めてデータ詰め替え処理を行うことなくディ
スクアレイの空き領域を増やすことが可能となる。
装置は、上記第2の観点に係るディスクアレイ装置にお
ける上記第1の検索手段に、次の検索機能、即ち有効な
論理アドレスを当該論理アドレスの順番に検索する機能
を持たせたことを特徴とする。
理アドレスの順番に検索することにより、有効な論理ア
ドレスが当該論理アドレスの順番に処理されるため、復
旧されたデータと、データ復旧のために読み込まれた物
理ストライプ中の故障していない各ディスク装置上に存
在するストライプユニットに含まれている有効なデータ
とを、少なくとも同一ストライプ内では、新たなディス
クアレイ上に論理アドレス順で且つ物理アドレス順に再
配置することが可能となる。つまり本発明の第3の観点
に係るディスクアレイ装置によれば、ディスクアレイの
データ復旧に要する時間を短縮できるだけでなく、デー
タ復元後に改めてデフラグメンテーション処理を行うこ
となく、有効な論理ブロックを、少なくとも対応するス
トライプ内では、ディスクアレイ上の論理的にも物理的
にも連続する位置に再配置することができる。
発明は、ディスクアレイを制御する制御装置(ディスク
アレイコントローラ)に係る発明としても、ディスクア
レイを構成する複数のディスク装置のいずれか1つが故
障した場合に、当該発明に相当する手順を実行すること
によりディスクアレイのデータを復旧する方法(データ
復旧方法)に係る発明としても成立する。
に相当する手順を実行させるための(或いはコンピュー
タを当該発明に相当する各手段として機能させるため
の、或いはコンピュータに当該発明に相当する機能を実
現させるための)プログラムに係る発明としても成立す
る。
図面を参照して説明する。図1は本発明の一実施形態に
係るディスクアレイ装置を備えたコンピュータシステム
の構成を示すブロック図である。
御装置1と、当該制御装置1に接続されたディスクアレ
イ2と、当該制御装置1に接続された不揮発性メモリ3
とから構成される。
置、例えば3台のディスク装置21,22,23から構
成される。ディスクアレイ2は、ディスク装置21,2
2,23のいずれか1台が故障しても、その故障したデ
ィスク装置のデータの復旧(復元)が可能なように、冗
長化ディスク構成を適用している。ここでは、説明を簡
略化するために、ディスクアレイ2がRAID4の冗長
化ディスク構成を適用しており、ディスク装置21〜2
3のうちの特定の1台、例えばディスク装置23がパリ
ティデータを格納するパリティ用ディスク装置として割
り当てられているものとする。ディスクアレイ2は、デ
ィスク装置21〜23のいずれか1台が故障した場合
に、その故障したディスク装置に代えて使用される予備
ディスク装置(置換ディスク装置)24を含む。この予
備ディスク装置24は、ディスク装置21〜23が稼動
中は、論理的にはディスクアレイ2から切り離されてい
る。なお、予備ディスク装置24が、ディスク装置21
〜23のいずれか1台が故障した場合に、ディスクアレ
イ2に組み込み使用されるものであっても構わない。
るコントローラ(ディスクアレイコントローラ)であ
り、ホストコンピュータ10と接続されている。ディス
クアレイ2は、ホストコンピュータ10からは1つの論
理的なディスク装置としてみえる。ホストコンピュータ
10と制御装置1とのインターフェースには、例えばS
CSI(Small Computer System Interface)、或いは
PCIバス(PeripheralComponent Interconnect Bus)
等が適用可能である。
中心として説明するが、当該技術分野に属する熟練者に
とって、それらの詳しい細部の説明がなくても、図1に
示す構成から派生する他のコンピュータシステムの構成
であっても、本発明を実施できることは明らかである。
例えば、制御装置1を実現するのに、特開2000−1
0738号公報の第25頁右欄の段落0042〜004
5に記載されたディスクアレイコントローラの実現方法
を適用することも可能である。
本実施形態の説明で用いる用語について説明する。 a)論理ブロック 論理ブロックとは、ホストコンピュータ10からみたデ
ータブロック、更に詳細に述べるならば、ホストコンピ
ュータ10からみたディスクアレイ2における論理的な
ディスク領域上のデータブロックを示す。 b)物理ブロック 物理ブロックとは、ディスクアレイ2上の物理的なブロ
ック、更に詳細に述べるならば、ディスクアレイ2にお
ける物理的なディスク領域上のデータブロックを示す。
データブロック(論理ブロック、物理ブロック)のサイ
ズは予め定められており、一定である。
ィスクアレイ(ディスク装置)2上のデータアドレスを
示す。ここでは、論理アドレスは、ディスクアレイ2に
おける論理的なディスク領域上のデータブロックの位
置、つまり論理ブロックの位置を示す論理ブロックアド
レスとして用いられる。
タブロック)の物理的位置を示すために使用する。ここ
では、物理アドレスは、ディスクアレイ2(を構成する
ディスク装置)上のデータブロックの物理的位置、つま
り物理ブロックの位置を示す物理ブロックアドレスであ
り、後述する物理ストライプ番号と物理ブロック番号と
から構成される。
ドレスとタイムスタンプからなる情報群を示す。 f)パリティブロック パリティブロックとは、複数の論理ブロックに対応する
冗長データを格納するためのデータブロックを意味す
る。 g)論理アドレスタグブロック 論理アドレスタグブロックとは、論理アドレスタグから
ならデータブロックを意味する。
ィスクアレイ2上のデータブロックの番号を示す。 i)物理ブロック番号 物理ブロック番号とは、ディスクアレイ2上の物理スト
ライプ内のデータブロックの相対位置を示す番号であ
り、ディスクアレイ2を構成するディスク装置に固有の
番号である。
せず)に予め格納されている制御プログラムに従ってデ
ィスクアレイ2を制御する他に、書き込みバッファ6及
びアドレス変換テーブル7を管理する。書き込みバッフ
ァ6及びアドレス変換テーブルは、書き換えが可能な不
揮発性メモリ3に配置される。
置21〜23は、それぞれデータブロックのサイズ(ブ
ロックサイズ)の整数倍(ここでは、K倍とする、但し
Kは1以上の整数)である予め決められた単位、つまり
Kブロック単位(以下、ストライプユニットと称する)
で書き込みを行う。このとき、ディスク装置21〜23
の物理的に同じ位置のストライプユニットは、1つの物
理ストライプを構成するストライプユニットとして、同
じタイミングで書き込みが行われる。明らかなように、
ディスクアレイ2を構成するディスク装置が3台である
本実施形態では、1ストライプは3ストライプユニット
から構成される。もし、ディスクアレイ2を構成するデ
ィスク装置がN+1台(Nは2以上の整数であり、図1
の例ではN=2)、1ストライプユニットのサイズがブ
ロックサイズのK倍であるものとすると、1ストライプ
は(N+1)×K個のデータブロック、更に詳細に述べ
るならば、N×K−1個の論理ブロック、1個の論理ア
ドレスタグブロック、及びK個のパリティブロックから
構成される。
と同様の高速書き込み方法を適用している。即ち制御装
置1は、ホストコンピュータからの更新(書き込み)要
求に対してディスクアレイ2内の対応する旧データの領
域の内容を書き換えるのではなく、更新データを書き込
みバッファ6の空き領域にブロック単位に分割して詰め
て書き込んで蓄積しておく。この書き込みバッファ6
は、1ストライプ−1ストライプユニット分、即ちN×
Kデータブロック分の記憶容量を有している。
イプユニット+1データブロック少ない数まで、書き込
みバッファ6にデータブロックが蓄積された時点で、論
理アドレスタグとタイムスタンプから構成される論理ア
ドレスタグブロックを生成して当該書き込みバッファ6
上に格納する。そして制御装置1は、生成した論理アド
レスタグブロックが加えられた、書き込みバッファ6上
の1ストライプ−1ストライプユニット分のデータ(N
×K個のデータブロック)から、1ストライプユニット
分のパリティデータ(K個のパリティブロック)を生成
し、その1ストライプ−1ストライプユニット分のデー
タに1ストライプユニット分のパリティデータを加えた
((N+1)×K個のブロックからなる)1ストライプ
分のデータを、ディスクアレイ2を構成するN+1台の
ディスク装置(N=2の図1の例では、3台のディスク
装置21〜23)上の更新されるべきデータを保持して
いる領域とは別の空き領域に、一括して書き込む動作を
開始する。
イプ分のデータの例(K=3の場合)と、当該1ストラ
イプ分のデータがディスクアレイ2内のディスク装置2
1〜23に書き込まれる様子を図2に示す。図2の例で
は、論理アドレスL3,L7,L11の論理ブロック
(L3Data,L7Data,L11Data)から
なるストライプユニットと、論理アドレスL100,L
1の論理ブロック(L100Data,L1Data)
及び論理アドレスタグブロック(LA−TAG)からな
るストライプユニットと、論理アドレスL3,L100
の論理ブロックに対するパリティブロックP0、論理ア
ドレスL7,L1の論理ブロックに対するパリティブロ
ックP1及び論理アドレスL11の論理ブロックと論理
アドレスタグブロックに対するパリティブロックP2か
らなるストライプユニットとが、それぞれディスク装置
21,22,23の空き領域に、データD1,D2,P
として一括して書き込まれる様子が示されている。この
例では、パリティブロックP0は論理アドレスL3,L
100の論理ブロックの間の排他的論理和(XOR)演
算により生成され、パリティブロックP1は論理アドレ
スL7,L1の論理ブロックの間の排他的論理和演算に
より生成される。また、パリティブロックP2は論理ア
ドレスL1の論理ブロックと論理アドレスタグブロック
との間の排他的論理和演算により生成される。
るアドレス変換テーブル7は、ホストコンピュータ10
からみたディスクアレイ(ディスク装置)2上のデータ
アドレス(データブロックアドレス)、つまり論理アド
レス(論理ブロックアドレス)を、ディスクアレイ2に
おける物理的なデータ(データブロック)の位置を示す
アドレス、つまり物理アドレス(物理ブロックアドレ
ス)に変換するのに用いられる変換マップである。
図3に示す。図3の例では、アドレス変換テーブル7の
各エントリは、それぞれ固有の論理アドレスに対応して
いる。ここでは、アドレス変換テーブル7を参照する場
合の効率を考慮して、当該テーブル7のi番目のエント
リを、論理アドレスi(論理ブロックiの論理アドレ
ス)に対応させている。アドレス変換テーブル7のエン
トリ数は、ホストコンピュータ10からみえる全論理ア
ドレスの数に一致する。
報(アドレス変換情報)は、論理アドレス(論理ブロッ
クアドレス)と、当該論理アドレス(論理ブロックアド
レス)で示される論理ブロックが割り当てられるディス
クアレイ2(における物理的なディスク領域)上の物理
ブロックを含む物理ストライプを示す物理ストライプ番
号と、その物理ストライプ内の当該物理ブロックの相対
位置を示す物理ブロック番号と、当該論理アドレスのデ
ータブロックがディスクアレイ2に書き込まれた時間的
順序を管理するためのタイムスタンプと、当該論理アド
レスの論理ブロックのデータ復旧処理が済んでいるか否
かを示すフラグ(復旧フラグ)の各項目(フィールド)
から構成される。なお、本実施形態のように、アドレス
変換テーブル7のi番目のエントリを論理アドレスiに
対応させる場合、当該論理アドレスiから対応するi番
目のエントリを参照可能であることから、当該エントリ
中に必ずしも論理アドレスの項目を用意する必要はな
い。但し、後述する第2の変形例で使用される、有効な
論理アドレスの順にソートされた復旧処理用アドレス変
換テーブルでは、各エントリ中に論理アドレスの項目を
用意する必要がある。
3上に配置(生成)された初期状態では、当該アドレス
変換テーブル7の各エントリの論理アドレスの項目にだ
け有効なデータ(論理アドレス)が設定され、他の項目
にはNULLが設定されている。この論理アドレス以外
の各項目にNULLが設定されている、アドレス変換テ
ーブル7のエントリに対応する論理アドレス(図3の例
では論理アドレスLi)は、ホストコンピュータ10か
ら使用されていない無効な論理ブロックの論理アドレス
を示す。また、論理アドレス以外の各項目にNULL以
外のデータが設定されている、アドレス変換テーブル7
のエントリに対応する論理アドレス(図3の例では論理
アドレスL0,L1,L2)は、ホストコンピュータ1
0から使用されている有効な論理ブロックの論理アドレ
スを示す。なお以下では、説明の簡略化のために、単に
無効な論理アドレス、有効な論理アドレス、或いは論理
アドレスが有効、論理アドレスが無効であると表現する
こともある。
らの読み込みまたは書き込み要求で指定された論理アド
レス(論理ブロックアドレス)をアドレス変換テーブル
7に従って物理ブロック番号に変換する。
は、ディスクアレイ2を構成するディスク装置21〜2
3のうちのいずれか1つのディスク装置が故障した場
合、予備ディスク装置24を使用してディスクアレイ2
が再構築される。
故障した結果、そのディスク装置21に代えて予備ディ
スク装置24を使用してディスクアレイ2が再構築され
た際の当該ディスクアレイ2の状態を示す。ここでは、
データD1,D2,Pから構成される物理ストライプに
着目すると、正常なディスク装置22,23内のデータ
D2,Pから、例えば当該ディスク装置22,23内の
同一位置のデータブロックを単位とする排他的論理和演
算により、故障したディスク装置21内データD1が復
旧(復元)され、予備ディスク装置24内の同一ストラ
イプ位置に格納される。この動作が、従来であれば、デ
ィスクアレイ2のすべての物理ストライプについて順に
行われる。これに対して本実施形態では、以下に述べる
ように、アドレス変換テーブル7を利用して、有効な論
理アドレスに対応する物理ブロックが存在する物理スト
ライプだけを対象にデータ復旧処理を行う。
イ2内のディスク装置が故障したために当該ディスクア
レイ2のデータを復旧するデータ復旧処理について、図
5のフローチャート参照して説明する。本実施形態の特
徴は、アドレス変換テーブル7を利用して、故障したデ
ィスク装置の全ての有効な論理アドレスのデータを復旧
する点にある。
の論理アドレスを示す変数iの初期値として0(i=
0)を設定する(ステップS501)。
アドレス変換テーブル7を参照して、論理アドレスiが
有効か否かを判定する(ステップS502)。この判定
は、論理アドレスiに対応するアドレス変換テーブル7
内エントリの各項目がNULL以外であるか否かを調べ
ることで行われる。なお、アドレス変換テーブル7内エ
ントリに、対応する論理アドレスが有効であるか或いは
無効であるかを示すフラグ(有効/無効フラグ)を設
け、当該フラグを参照することで、対応する論理アドレ
スが有効であるか否かを判定する構成であってもよい。
502のYES)、つまりアドレス変換テーブル7から
有効な論理アドレスiが検索できた場合、制御装置1は
当該論理アドレスiのデータが復旧(復旧処理)済みで
あるか否かを判定する(ステップS503)。この判定
は、論理アドレスiに対応するアドレス変換テーブル7
内のエントリ中の復旧フラグフィールドを参照すること
で行われる。
った場合(ステップS503のNO)、制御装置1はア
ドレス変換テーブル7を参照して、その論理アドレスi
に対応する物理ブロック番号で示される物理ブロックが
故障したディスク装置に存在するか否かを判定する(ス
テップS504)。ここで、1つの物理ブロック番号は
1つのディスク装置に予め対応付けられている。したが
って、ステップS504の判定は、論理アドレスiに対
応する物理ブロック番号をもとに容易に行える。この具
体例を、図2中の論理ブロックL3Data,L7Da
ta,L11Data,L100Data,L1Dat
a,LA−TAG,P0,P1,P2が割り当てられる
物理ストライプ内の物理ブロックの番号が、それぞれ
0,1,2,3,4,5,6,7,8である場合につい
て説明する。この例では、物理ブロック番号0,1,2
の物理ブロックはディスク装置21に、物理ブロック番
号3,4,5の物理ブロックはディスク装置22に、そ
して物理ブロック番号6,7,8の物理ブロックはディ
スク装置23に、それぞれ存在する。したがって、ディ
スク装置21が故障した図4の例では、物理ブロック番
号が0または1または2の場合だけ、対応する物理ブロ
ックが故障ディスク装置に存在すると判定される。
号で示される物理ブロックが故障したディスク装置に存
在する場合、制御装置1は当該論理アドレスiに対応す
るアドレス変換テーブル7内のエントリに設定されてい
る物理ストライプ番号の示す物理ストライプ、つまり論
理アドレスiに対応する物理ブロックを含む物理ストラ
イプをディスクアレイ2から読み込む(ステップS50
5)。但し、この物理ストライプ中の、故障したディス
ク装置に格納されているデータブロック(ストライプユ
ニット)は読み込まれない。したがって図4の例であれ
ば、上記ステップS505では、論理アドレスiに対応
する(物理ブロックを含む)物理ストライプ中の、故障
していないディスク装置22,23に格納されているス
トライプユニットが、当該ディスク装置22,23から
制御装置1に読み込まれることになる。
レスiに対応する物理ストライプを読み込むと、読み込
んだ物理ストライプのデータから、故障したディスク装
置のデータブロックを復旧する(ステップS506)。
具体的には、図4の例のようにディスク装置21が故障
した場合であれば、読み込んだ物理ストライプのデータ
であるディスク装置23のパリティブロックと、ディス
ク装置22のデータブロックとから、故障したディスク
装置21のデータブロックが復旧される。例えば図2に
示す物理ストライプを読み込んだ場合であれば、パリテ
ィブロックP0とデータブロックL100Dataとの
排他的論理和演算からディスク装置21のデータブロッ
クL3Dataが復旧される。同様に、パリティブロッ
クP1とデータブロックL1Dataとの排他的論理和
演算からディスク装置21のデータブロックL7Dat
aが、パリティブロックP2とデータブロック(論理ア
ドレスタグブロック)LA−TAGとの排他的論理和演
算からディスク装置21のデータブロックL11Dat
aが、それぞれ復旧される。
み込んだ物理ストライプに含まれる物理ブロックが割り
当てられている論理ブロックの論理アドレスの中に、有
効な論理アドレスが存在するか否かを判定する(ステッ
プS507)。この判定は、上記物理ストライプの物理
ストライプ番号によりアドレス変換テーブル7を参照し
て、当該物理ストライプ番号が設定されているエントリ
を検索することで行われる。もし、目的のエントリが検
索できたならば、そのエントリに対応する論理アドレス
が上記物理ストライプ内に存在する有効な論理アドレス
であると判定される(ステップS507のYES)。こ
の場合、制御装置1は有効であると判定された論理アド
レスに対応するアドレス変換テーブル7内エントリ中の
復旧フラグを復旧済みを示す状態(ここでは、1が書き
込まれた状態)に設定することで、当該論理アドレス
(の論理ブロック)を復旧(復旧処理)済みとする(ス
テップS508)。制御装置1は、以上の処理(ステッ
プS508)を、物理ストライプに含まれる全ての有効
な論理アドレスについて行う(ステップS509)。つ
まり制御装置1は、ステップS505で読み込んだ物理
ストライプに含まれる物理ブロックが割り当てられてい
る論理ブロックの論理アドレスのうちの、有効な論理ブ
ロックの論理アドレスを全て探して、その論理アドレス
を復旧済みする(ステップS507〜S509)。この
処理により、つまり、有効な論理アドレスiを含む物理
ストライプに含まれる全ての有効な論理アドレスについ
て、故障したディスク装置の論理ブロックの論理アドレ
スであるか否かに無関係に復旧済みとすることにより、
当該物理ストライプが復旧処理のために再度読まれる無
駄を防止できる。
全ての有効な論理アドレスについて処理をすると(ステ
ップS509のYES)、復旧したデータを予備ディス
ク24に書き込む(ステップS510)。
処理するために論理アドレスiを1加算し(ステップS
511)、その加算後のi(論理アドレスi)から、全
ての論理アドレスを処理したか否かを判定する(ステッ
プS512)。もし、未処理の論理アドレスが残ってい
るならば(ステップS512のNO)、制御装置1は加
算後の論理アドレスiについて、上記ステップS502
以降の処理を行う。
レスについて実行することで、例えば図4に示すように
ディスク装置21が障害となった場合であれば、当該デ
ィスク装置21のデータ(のうちの有効な論理ブロック
に対応する物理ブロックのデータ)は予備ディスク装置
24に復旧される。
ス変換テーブル7を利用して有効な論理アドレスを抽出
し、その有効な論理アドレスに対応する物理ブロックが
故障したディスク装置に含まれる物理ストライプのみを
ディスクアレイ2から読み込んで、その物理ストライプ
から故障したディスク装置のデータを復旧するようにし
た。つまり本実施形態によれば、ホストコンピュータ1
0が使用している有効な論理アドレスに対応する物理ブ
ロックを故障したディスク装置に含まない物理ストライ
プは、データ復旧のための読み込みの対象外としたこと
により、ディスクアレイ2のデータ復元時間を大幅に短
縮することができる。
の変形例について説明する。この第1の変形例の特徴
は、ディスクアレイ2内のディスク装置が故障したため
に当該ディスクアレイ2のデータを復旧する処理で、当
該故障したディスク装置の有効な論理ブロックを復旧す
る際に、他の正常なディスク装置の有効な論理ブロック
を含めて新たなディスクアレイ2上で再配置する点にあ
る。更に詳細に述べるならば、第1の変形例の特徴は、
物理ストライプ上の無効な論理ブロックは新たなディス
クアレイ2上での再配置の対象とせず、故障ディスク装
置の復旧された有効な論理ブロック及び正常なディスク
装置の有効な論理ブロックだけを書き込みバッファ6に
書き込んで蓄積し、この書き込みバッファ6に蓄積され
たデータを含む1ストライプ分のデータが揃う毎に、そ
の1ストライプ分のデータを、新たなディスクアレイ2
を構成するディスク装置上の更新されるべきデータを保
持している領域とは別の空き領域に書き込むことにあ
る。
レイ2内のディスク装置が故障したために当該ディスク
アレイ2のデータを復旧するデータ復旧処理について、
図6のフローチャート参照して説明する。
7を、図7に示すように不揮発性メモリ3の別の領域に
アドレス変換テーブル70として複写する(ステップS
701)。以後、この複写されたアドレス変換テーブル
70を使用して処理が進められる。
の論理アドレスを示す変数iの初期値として0(i=
0)を設定する(ステップS602)。次に制御装置1
は、不揮発性メモリ3上の複写されたアドレス変換テー
ブル70を参照して、前記ステップS502と同様にし
て、論理アドレスiが有効か否かを判定する(ステップ
S603)。
603のYES)、制御装置1は当該論理アドレスiの
データが復旧済みであるか否かを判定する(ステップS
604)。
った場合(ステップS503のNO)、制御装置1は当
該論理アドレスiに対応するアドレス変換テーブル7内
のエントリに設定されている物理ストライプ番号の示す
物理ストライプ、つまり論理アドレスiに対応する物理
ブロックを含む物理ストライプをディスクアレイ2から
読み込む(ステップS605)。
レスiに対応する物理ストライプを読み込むと、読み込
んだ物理ストライプから論理アドレスタグブロックを取
り出す(ステップS606)。但し、この物理ストライ
プ中の、故障したディスク装置に格納されているデータ
ブロック(ストライプユニット)は読み込まれない点
は、前記ステップS505と同様である。ここで、論理
アドレスタグブロックが格納されているディスク装置が
故障した場合、読み込んだ物理ストライプ中の他の故障
していないディスク装置のデータから論理アドレスタグ
ブロックを復旧すればよい。例えば図2の状態で、ディ
スク装置22が故障した場合であれば、論理ブロックL
11DataとパリティブロックP2とから論理アドレ
スタグブロックLA−TAGが復旧される。この論理ア
ドレスタグブロックの復旧処理は、読み込んだ物理スト
ライプからの論理アドレスタグブロックの取り出し処理
と等価である。
り出した論理アドレスタグブロックとアドレス変換テー
ブル70とを利用して、ステップS605で読み込んだ
物理ストライプに含まれる物理ブロックが割り当てられ
ている論理ブロックの論理アドレスの中に、有効な論理
アドレスが存在するか否かを順に判定する(ステップS
607)。この判定は、上記論理アドレスタグブロック
中の論理アドレスを1つずつ順に取り出して、その論理
アドレスが設定されているアドレス変換テーブル70内
のエントリを参照することで行われる。明らかなよう
に、参照したアドレス変換テーブル70内エントリの論
理アドレスを除く各項目にNULLが設定されているな
らば、対応するアドレスは無効であり、NULLが設定
されていないならば、対応するアドレスは有効であると
判定される。
から取り出された論理アドレスが有効であった場合に限
り、つまり論理アドレスタグブロックから有効な論理ア
ドレスが検索された場合に限り、当該論理アドレスに対
応するデータを復旧し、書き込みを実行する(ステップ
S608)。
に対応するデータの復旧とは、当該論理アドレスの論理
ブロックが格納されているディスク装置が故障していな
いならば、ステップS605で読み込まれた物理ストラ
イプから対応するデータブロックを取り出すことであ
り、故障しているならば、その物理ストライプから前記
ステップS506と同様にして当該論理アドレスの論理
ブロックを復旧することである。
従来技術の欄で述べたような高速書き込み方法を用いた
通常通りの手順で次のように行われる。まず制御装置1
は、復旧された論理ブロックと対応する論理アドレスと
をもとに、その論理ブロックを書き込みデータとして不
揮発性メモリ3上の書き込みバッファ6の空き領域に詰
めて書き込む。通常は、この書き込みバッファ6への書
き込みで、ステップS608は完了する。しかし、復旧
された論理ブロックを書き込みバッファ6に書き込んだ
結果、当該バッファ6に蓄積されている書き込みデータ
の量が1ストライプ分に1ストライプユニット+1ブロ
ック分少ない量となった場合には、制御装置1は上記ス
テップS608において更に次に述べる書き込みを行
う。
蓄積されている1ストライプ−(1ストライプユニット
+1ブロック)分の書き込みデータに対応する論理アド
レスタグブロックを生成して書き込みバッファ6の最後
のブロック領域に書き込み、この論理アドレスタグブロ
ック書き込み後の書き込みバッファ6上のデータ(1ス
トライプ−1ストライプユニット分のデータ)から1ス
トライプユニット分のパリティデータ(つまり1ストラ
イプユニット分のブロック数のパリティブロック)を生
成する。そして制御装置1は、書き込みバッファ6上の
1ストライプ−1ストライプユニット分のデータと生成
された1ストライプユニット分のパリティデータとから
構成される1ストライプ分のデータを、故障ディスク装
置に代えて予備ディスク装置24を用いることで新しく
構成されたディスクアレイ2に一括して書き込む。この
一括書き込みは、新たなディスクアレイ2内の各ディス
ク装置(ディスク装置21が故障した場合であれば、デ
ィスク装置22,23,24)上の更新されるべきデー
タを保持している領域とは別の空き領域(具体的には当
該空き領域の中から選択された物理的に連続した領域)
に対し、新たなディスクアレイ2に対応する新たなスト
ライピングルールに従って行われる。
アレイ2(のRAIDレベル)を構成するディスク装置
の台数に対応している。したがって、データ復旧処理の
前後でディスク装置の台数が同一の本実施形態では、新
たなストライピングルールは、元のディスクアレイ2に
対応するストライピングルールと本質的な相違はない。
但し、ディスク装置21が故障して予備ディスク装置2
4に置き換えられた場合を例にとると、新たなストライ
ピングルールは、物理ブロック番号0,1,2の物理ブ
ロックがディスク装置21ではなくて予備ディスク装置
24に存在することを前提としている。
書き込みバッファ6への1ブロックの書き込みが完了す
る毎に、当該ブロックの論理アドレスに対応するアドレ
ス変換テーブル70内のエントリ中の復旧フラグを復旧
済みを示す状態に設定する(ステップS609)。更に
制御装置1は、ステップS608でストライプの一括書
き込みが行われた場合には、当該ストライプ中の各論理
ブロックについて、当該論理ブロックに対する論理アド
レスと、当該論理ブロックが書き込まれたディスクアレ
イ2上の物理的なデータ位置、つまり物理ストライプ番
号と物理ブロック番号とで示される物理アドレスとの関
係を、アドレス変換テーブル70に設定する。具体的に
は、上記ストライプ中の各論理ブロックに対する論理ア
ドレスに対応するアドレス変換テーブル70内のエント
リにおける物理ブロック番号と物理ストライプ番号と
が、それぞれ当該論理ブロックが実際に書き込まれた物
理ストライプ内の物理ブロック位置を示す番号と当該物
理ストライプの番号とに更新される。
S609を、ステップS605で読み込んだ物理ストラ
イプに含まれる物理ブロックに対応する論理アドレスが
全て処理されるまで繰り返す(ステップS610)。
処理するために論理アドレスiを1加算する(ステップ
S611)。そして制御装置1は、加算後のi(論理ア
ドレスi)から、以上に述べた一連の操作を全ての論理
アドレスについて処理したか否かを判定する(ステップ
S612)。もし、未処理の論理アドレスが残っている
ならば(ステップS612のNO)、制御装置1は加算
後の論理アドレスiについて、上記ステップS603以
降の処理を行う。一方、全ての論理アドレスについて処
理したならば(ステップS612のYES)、データ復
旧処理は終了となる。以後、アドレス変換テーブル70
が新たなアドレス変換テーブル7として用いられ、元の
アドレス変換テーブル7は破棄(削除)される。
フローチャートに従うデータ復旧処理を実行すること
で、故障したディスク装置の有効な論理ブロックを、故
障ディスク装置に代えて予備ディスク装置24を用いて
新しく構成されたディスクアレイ2に復旧することがで
きる。つまり第1の変形例では、新たなディスクアレイ
2には、物理ストライプ上の無効な論理ブロックは復旧
するデータとして再配置(保持)されない。しかも第1
の変形例によれば、故障ディスク装置の復旧された有効
な論理ブロック及び正常なディスク装置の有効な論理ブ
ロックだけを復旧するデータとし、その復旧された有効
な論理ブロック及び正常なディスク装置の有効な論理ブ
ロックを含むデータが1ストライプ分揃えられる都度、
その1ストライプ分のデータが新たなディスクアレイ2
上の空き領域に再配置される。つまり第1の変形例で
は、データの復旧とディスクアレイ2でのデータ詰め替
え(リパック)処理とが同時に行われている。これによ
り、ディスクアレイ2のデータ復元時間を大幅に短縮で
きると共に、データ復元後に改めてデータ詰め替え処理
を行うことなくディスクアレイ2の空き領域を増やすこ
とができる。
の変形例について説明する。この第2の変形例の特徴
は、ディスクアレイ2内のディスク装置が故障したため
に当該ディスクアレイ2のデータを復旧する処理で、当
該故障したディスク装置の有効なデータを復旧する際
に、他の正常なディスク装置のデータを含めて新たなデ
ィスクアレイ2上に論理アドレス順で且つ物理アドレス
順に再配置する点にある。そのために第2の変形例で
は、第1の変形例とは異なって、有効な論理アドレスの
順番で対応する物理ストライプを取り込むようにしてい
る。
レイ2内のディスク装置が故障したために当該ディスク
アレイ2のデータを復旧する場合の動作について、図8
のフローチャート参照して説明する。
7を使用して、有効な論理アドレスを例えば昇順にソー
トし、図9に示すように不揮発性メモリ3上に、アドレ
ス変換テーブル7とは別の復旧処理用のアドレス変換テ
ーブル700を生成する(ステップS801)。このソ
ートには、従来からよく知られているMergesor
t、Quicksort、Shellsort、Hea
psort等の高速ソートアルゴリズムを適用するとよ
い。なお、アドレス変換テーブル7のi番目のエントリ
を論理アドレスiに対応させている場合、当該テーブル
7内の各エントリは論理アドレスの昇順の並びとなって
いることから、特別のソートアルゴリズムは不要であ
る。
変換テーブル700を使用して、図6に示したステップ
S602以降の処理を実行する(ステップS802)。
つまり、第2の変形例が第1の変形例と異なる点は、第
1の変形例ではアドレス変換テーブル7のコピーである
アドレス変換テーブル7を使用して復旧処理が行われる
のに対し、第2の変形例では、アドレス変換テーブル7
に基づいて有効な論理アドレスが昇順にソートされた復
旧処理用のアドレス変換テーブル700を使用して復旧
処理が行われることである。
00を使用したステップS602以降の処理の実行、つ
まりステップS802の実行により、有効な論理アドレ
スの順番に対応する物理ストライプが取り出され、当該
物理ストライプから復旧された故障ディスク装置の有効
な論理ブロック及び正常なディスク装置の有効な論理ブ
ロックを含むデータが1ストライプ分揃えられる都度、
その1ストライプ分のデータが、新たなディスクアレイ
2を構成するディスク装置上の更新されるべきデータを
保持している領域とは別の空き領域における物理的に連
続した位置に再配置される。このとき、ディスクアレイ
2上に再配置されたストライプ中の各論理ブロックに対
する論理アドレスに対応するアドレス変換テーブル70
0内のエントリの情報が、再配置先の物理アドレスを示
すように更新される。
旧とディスクアレイ2でのデータ再配置とが論理アドレ
ス順に同時に行われている。これにより、ディスクアレ
イ2のデータ復元時間を大幅に短縮できると共に、デー
タ復元後に改めてデフラグメンテーション(いわゆるデ
フラグ)処理を行うことなく、有効な論理ブロックを、
少なくとも対応するストライプ内では、ディスクアレイ
2上の論理的にも物理的にも連続する位置に再配置する
ことができる。なお、複数のストライプにまたがって当
該ストライプ内の論理ブロックに対する論理アドレスが
連続している場合には、当該複数のストライプを物理的
に連続する領域に配置するとよい。
理が終了すると、以後、アドレス変換テーブル700が
新たなアドレス変換テーブル7として用いられ、元のア
ドレス変換テーブル7は破棄(削除)される。この新た
なアドレス変換テーブル7は、有効な論理アドレスの昇
順にソートされていることから、図3のデータ構造と異
なる。そこで上記ステップS801において、アドレス
変換テーブル700とは別に、アドレス変換テーブル7
のコピー(第1の変形例におけるアドレス変換テーブル
70に相当)を生成し、以後、新たなディスクアレイ2
に1ストライプ単位でデータを書き込む(再配置する)
毎に、上記第1の変形例と同様に、そのストライプ中の
各論理ブロックに対する論理アドレスに対応するコピー
テーブル内のエントリを更新するようにし、データ復旧
処理後は、このコピーテーブルを新たなアドレス変換テ
ーブル7とする構成としてもよい。
は、書き込みバッファ6及びアドレス変換テーブル7が
不揮発性メモリ3に配置されるものとして説明したが、
これに限るものではない。例えば、図10に示すよう
に、揮発性メモリ4と電源オフ時にも当該揮発性メモリ
4の記憶内容が消失するのを防止するための、電池等の
メモリバックアップ機構5とにより、等価的に不揮発性
メモリ3に相当する不揮発性メモリ30を実現し、書き
込みバッファ6及びアドレス変換テーブル7が、揮発性
メモリ4に配置される構成であっても構わない。つまり
書き込みバッファ6及びアドレス変換テーブル7が、揮
発性メモリ4とメモリバックアップ機構5とから構成さ
れる不揮発性メモリ30に配置される構成であっても構
わない。
例では、ディスクアレイ2がRAID4の冗長化ディス
ク構成を適用しているものとして説明したが、これに限
るものではない。本発明は、パリティブロックの格納先
ディスク装置が物理ストライプ単位でサイクリックに切
り替わるRAID5、或いはRAID50の冗長化ディ
スク構成など、故障ディスク装置のデータが復旧可能な
冗長化ディスク構成であれば、どのような種類の冗長化
ディスク構成のディスクアレイであっても、同様に適用
できる。
変形例に限定されるものではなく、実施段階ではその要
旨を逸脱しない範囲で種々に変形することが可能であ
る。更に、上記実施形態またはその変形例には種々の段
階の発明が含まれており、開示される複数の構成要件に
おける適宜な組み合わせにより種々の発明が抽出され得
る。例えば、実施形態に示される全構成要件から幾つか
の構成要件が削除されても、発明が解決しようとする課
題の欄で述べた課題が解決でき、発明の効果の欄で述べ
られている効果が得られる場合には、この構成要件が削
除された構成が発明として抽出され得る。
ドレス変換テーブルを利用してホストコンピュータが使
用している有効な論理アドレスを検索し、その検索され
た論理アドレスに対応する物理アドレスの物理ブロック
が含まれる物理ストライプのみをデータ復旧(ディスク
アレイ再構築)のための読み込みの対象とするようにし
たので、OSやファイルシステム、ディバイスドライバ
等に一切の変更を加えず、異なるOS環境下においても
ディスクアレイ装置間での互換性を保証しながら、ディ
スクアレイ内のディスク装置の故障時におけるディスク
アレイの再構築に必要なデータ復旧に要する時間を短縮
できる。
を備えたコンピュータシステムの構成を示すブロック
図。
イプ分のデータがディスクアレイ2内のディスク装置2
1〜23に書き込まれる様子を示す図。
例を示す図。
果、そのディスク装置21に代えて予備ディスク装置2
4を使用してディスクアレイ2が再構築された際の当該
ディスクアレイ2の状態を示す図。
明するためのフローチャート。
処理の手順を説明するためのフローチャート。
のコピーを説明するための図。
処理の手順を説明するためのフローチャート。
を対象とする有効な論理アドレスのソートを説明するた
めの図。
装置を備えたコンピュータシステムの構成を示すブロッ
ク図。
テーブル) 700…アドレス変換テーブル(有効な論理アドレスの
順にソートされたアドレス変換テーブル)
Claims (11)
- 【請求項1】 複数のディスク装置から構成される冗長
化ディスク構成のディスクアレイを備え、ホストコンピ
ュータからの書き込み要求の指定するデータをブロック
単位に分割して書き込みバッファに詰めて蓄積し、当該
バッファに所定のブロック数のデータが蓄積された段階
で、その所定のブロック数のデータを含む1ストライプ
分のデータが、前記ディスクアレイ内の前記複数のディ
スク装置上の更新されるべきデータを保持している領域
とは別の空き領域内の物理的に連続する領域に書き込ま
れるディスクアレイ装置において、 前記ホストコンピュータにより使用されている有効な論
理ブロックの論理アドレスを当該論理ブロックが格納さ
れている前記ディスクアレイの物理アドレスに変換する
ためのアドレス変換情報が設定されたアドレス変換テー
ブルを記憶しておくためのアドレス変換テーブル記憶手
段と、 前記ディスクアレイを構成する複数のディスク装置のい
ずれか1つが故障して、当該故障したディスク装置に代
えて予備のディスク装置を用いて前記ディスクアレイを
再構築する場合に、前記アドレス変換テーブルに従って
有効な論理アドレスを検索する手段と、 前記検索手段により検索された有効な論理アドレスの示
す論理ブロックに対応する物理アドレスの物理ブロック
が前記故障ディスク装置上に存在するか否かを前記アド
レス変換テーブルに従って判定する手段と、 前記有効な論理ブロックに対応する物理ブロックが前記
故障ディスク装置上に存在する場合、その物理ブロック
を含む物理ストライプ中の前記故障ディスク装置以外の
各ディスク装置上に存在するストライプユニットを読み
込む手段と、 前記読み込み手段により読み込まれた各ストライプユニ
ットから前記故障ディスク装置のデータをブロック単位
で復旧する手段と、 前記復旧手段により復旧されたデータを前記予備ディス
ク装置に書き込む手段とを具備することを特徴とするデ
ィスクアレイ装置。 - 【請求項2】 前記読み込み手段により読み込まれた各
ストライプユニットを構成する物理ブロックに対応する
論理アドレスが有効であるか否かを前記アドレス変換テ
ーブルに従って判定する手段と、 前記読み込まれた各ストライプユニットを構成する物理
ブロックに対応する論理アドレスのうちの有効な論理ア
ドレスの状態を復旧済みとして記録するための手段とを
更に具備し、 前記読み込み手段は、前記検索手段により検索された有
効な論理アドレスのうち、復旧済みとして既に記録され
ている論理アドレスに対応する物理ストライプについて
は、読み込みの対象外とすることを特徴とする請求項1
記載のディスクアレイ装置。 - 【請求項3】 複数のディスク装置から構成される冗長
化ディスク構成のディスクアレイを備え、ホストコンピ
ュータからの書き込み要求の指定するデータをブロック
単位に分割して書き込みバッファに詰めて蓄積し、当該
バッファに所定のブロック数のデータが蓄積された段階
で、その所定のブロック数のデータを含む1ストライプ
分のデータが、前記ディスクアレイ内の前記複数のディ
スク装置上の更新されるべきデータを保持している領域
とは別の空き領域内の物理的に連続する領域に書き込ま
れるディスクアレイ装置において、 前記ホストコンピュータにより使用されている有効な論
理ブロックの論理アドレスを当該論理ブロックが格納さ
れている前記ディスクアレイの物理アドレスに変換する
ためのアドレス変換情報が設定されたアドレス変換テー
ブルを記憶しておくためのアドレス変換テーブル記憶手
段と、 前記ディスクアレイを構成する複数のディスク装置のい
ずれか1つが故障して、当該故障したディスク装置に代
えて予備のディスク装置を用いて前記ディスクアレイを
再構築する場合に、前記アドレス変換テーブルに従って
有効な論理アドレスを検索する第1の検索手段と、 前記第1の検索手段により検索された有効な論理ブロッ
クに対応する物理ブロックを含む物理ストライプ中の前
記故障ディスク装置以外の各ディスク装置上に存在する
ストライプユニットを読み込む手段と、 前記読み込み手段により読み込まれた各ストライプユニ
ットを含む物理ストライプに含まれている物理ブロック
に対応する論理ブロックの論理アドレスのうちの有効な
論理アドレスを前記アドレス変換テーブルに従って検索
する第2の検索手段と、 前記第2の検索手段により検索された有効な論理アドレ
スに対応する有効なデータのうちの前記故障ディスク装
置のデータを、前記読み込み手段により読み込まれた各
ストライプユニットからブロック単位で復旧する手段
と、 前記第2の検索手段により検索された有効な論理アドレ
スに対応する有効なデータのうちの前記読み込み手段に
より読み込まれた各ストライプユニット中の有効なデー
タ、及び前記復旧手段により復旧されたデータを、ブロ
ック単位で前記書き込みバッファに書き込んで蓄積する
手段と、 前記書き込みバッファに蓄積されたデータを含む1スト
ライプ分のデータが揃う毎に、当該1ストライプ分のデ
ータを、前記予備のディスク装置を含む新たなディスク
アレイを構成する各ディスク装置上の更新されるべきデ
ータを保持している領域とは別の空き領域内の物理的に
連続する領域に手段とを具備することを特徴とするディ
スクアレイ装置。 - 【請求項4】 前記書き込みバッファへの書き込みが完
了したブロックに対応する論理アドレスの状態を復旧済
みとして記録するための手段を更に具備し、 前記読み込み手段は、前記第1の検索手段により検索さ
れた有効な論理アドレスのうち、復旧済みとして既に記
録されている論理アドレスに対応する物理ストライプに
ついては、読み込みの対象外とすることを特徴とする請
求項3記載のディスクアレイ装置。 - 【請求項5】 前記物理ストライプは、1ストライプ−
(1ストライプユニット+1ブロック)分のブロック数
の論理ブロックと、当該各論理ブロックの論理アドレス
を含む1つの論理アドレスタグブロックと、前記1スト
ライプ−(1ストライプユニット+1ブロック)分のブ
ロック数の論理ブロック及び前記論理アドレスタグブロ
ックから構成される1ストライプ−1ストライプユニッ
ト分のブロック数のブロックに対する1ストライプユニ
ット分のブロック数のパリティブロックとから構成され
ており、 前記第2の検索手段は、前記読み込み手段により読み込
まれた各ストライプユニットに含まれている、または当
該各ストライプユニットから復旧される論理アドレスタ
グブロック中の各論理アドレスについて、前記アドレス
変換テーブルに従って有効であるか否かを判定すること
で、有効な論理アドレスを検索することを特徴とする請
求項3記載のディスクアレイ装置。 - 【請求項6】 前記第1の検索手段は、前記有効な論理
アドレスを当該論理アドレスの順番に検索することを特
徴とする請求項3記載のディスクアレイ装置。 - 【請求項7】 前記ディスクアレイを再構築するに際
し、前記アドレス変換テーブルに従って、当該テーブル
に設定されているアドレス変換情報が有効な論理アドレ
スの順にソートされた復旧処理用アドレス変換テーブル
を生成する手段を更に具備し、 前記第1の検索手段、前記判定手段、及び前記第2の検
索手段は前記復旧処理用アドレス変換テーブルを利用す
ることを特徴とする請求項3記載のディスクアレイ装
置。 - 【請求項8】 複数のディスク装置から構成される冗長
化ディスク構成のディスクアレイを備え、ホストコンピ
ュータからの書き込み要求の指定するデータをブロック
単位に分割して書き込みバッファに詰めて蓄積し、当該
バッファに所定のブロック数のデータが蓄積された段階
で、その所定のブロック数のデータを含む1ストライプ
分のデータが、前記ディスクアレイ内の前記複数のディ
スク装置上の更新されるべきデータを保持している領域
とは別の空き領域内の物理的に連続する領域に書き込ま
れるディスクアレイ装置におけるデータ復旧方法であっ
て、 前記ディスクアレイを構成する複数のディスク装置のい
ずれか1つが故障して、当該故障したディスク装置に代
えて予備のディスク装置を用いて前記ディスクアレイを
再構築する場合に、前記ホストコンピュータにより使用
されている有効な論理ブロックの論理アドレスを当該論
理ブロックが格納されている前記ディスクアレイの物理
アドレスに変換するためのアドレス変換情報が設定され
たアドレス変換テーブルに従って有効な論理アドレスを
検索するステップと、 前記有効な論理アドレスが検索される毎に、当該有効な
論理アドレスの示す論理ブロックに対応する物理アドレ
スの物理ブロックが前記故障ディスク装置上に存在する
か否かを前記アドレス変換テーブルに従って判定するス
テップと、 前記有効な論理ブロックに対応する物理ブロックが前記
故障ディスク装置上に存在すると判定された場合、その
物理ブロックを含む物理ストライプ中の前記故障ディス
ク装置以外の各ディスク装置上に存在するストライプユ
ニットを読み込むステップと、 前記読み込まれた各ストライプユニットから前記故障デ
ィスク装置のデータをブロック単位で復旧するステップ
と、 前記復旧されたデータを前記予備ディスク装置に書き込
むステップとを具備することを特徴とするデータ復旧方
法。 - 【請求項9】 複数のディスク装置から構成される冗長
化ディスク構成のディスクアレイを備え、ホストコンピ
ュータからの書き込み要求の指定するデータをブロック
単位に分割して書き込みバッファに詰めて蓄積し、当該
バッファに所定のブロック数のデータが蓄積された段階
で、その所定のブロック数のデータを含む1ストライプ
分のデータが、前記ディスクアレイ内の前記複数のディ
スク装置上の更新されるべきデータを保持している領域
とは別の空き領域内の物理的に連続する領域に書き込ま
れるディスクアレイ装置におけるデータ復旧方法であっ
て、 前記ディスクアレイを構成する複数のディスク装置のい
ずれか1つが故障して、当該故障したディスク装置に代
えて予備のディスク装置を用いて前記ディスクアレイを
再構築する場合に、前記ホストコンピュータにより使用
されている有効な論理ブロックの論理アドレスを当該論
理ブロックが格納されている前記ディスクアレイの物理
アドレスに変換するためのアドレス変換情報が設定され
たアドレス変換テーブルに従って有効な論理アドレスを
検索する第1の検索ステップと、 前記第1の検索ステップで検索された有効な論理アドレ
スの示す論理ブロックに対応する物理アドレスの物理ブ
ロックを含む物理ストライプ中の前記故障ディスク装置
以外の各ディスク装置上に存在するストライプユニット
を読み込むステップと、 前記読み込まれた各ストライプユニットを含む物理スト
ライプに含まれている物理ブロックに対応する論理ブロ
ックの論理アドレスのうちの有効な論理アドレスを前記
アドレス変換テーブルに従って検索する第2の検索ステ
ップと、 前記第2の検索ステップで検索された有効な論理アドレ
スに対応する有効なデータのうちの前記故障ディスク装
置のデータを、前記読み込まれた各ストライプユニット
からブロック単位で復旧するステップと、 前記第2の検索ステップで検索された有効な論理アドレ
スに対応する有効なデータのうちの前記読み込まれた各
ストライプユニット中の有効なデータ、及び前記復旧さ
れたデータを、ブロック単位で前記書き込みバッファに
書き込んで蓄積するステップと、 前記書き込みバッファに蓄積されたデータを含む1スト
ライプ分のデータが揃う毎に、当該1ストライプ分のデ
ータを、前記予備のディスク装置を含む新たなディスク
アレイを構成する各ディスク装置上の更新されるべきデ
ータを保持している領域とは別の空き領域内の物理的に
連続する領域に書き込むステップとを具備することを特
徴とするディスクアレイ装置。 - 【請求項10】 前記物理ストライプは、1ストライプ
−(1ストライプユニット+1ブロック)分のブロック
数の論理ブロックと、当該各論理ブロックの論理アドレ
スを含む1つの論理アドレスタグブロックと、前記1ス
トライプ−(1ストライプユニット+1ブロック)分の
ブロック数の論理ブロック及び前記論理アドレスタグブ
ロックから構成される1ストライプ−1ストライプユニ
ット分のブロック数のブロックに対する1ストライプユ
ニット分のブロック数のパリティブロックとから構成さ
れており、 前記第2の前記ステップでは、前記読み込まれた各スト
ライプユニットに含まれている、または当該各ストライ
プユニットから復旧される論理アドレスタグブロック中
の各論理アドレスについて、前記アドレス変換テーブル
に従って有効であるか否かを判定することで、有効な論
理アドレスを検索することを特徴とする請求項9記載の
データ復旧方法。 - 【請求項11】 前記第1の検索ステップでは、前記有
効な論理アドレスを当該論理アドレスの順番に検索する
ことを特徴とする請求項9記載のデータ復旧方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001367818A JP3579389B2 (ja) | 2001-11-30 | 2001-11-30 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
US10/231,027 US6912614B2 (en) | 2001-11-30 | 2002-08-30 | Disk array apparatus and data restoring method used therein |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001367818A JP3579389B2 (ja) | 2001-11-30 | 2001-11-30 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003167690A true JP2003167690A (ja) | 2003-06-13 |
JP3579389B2 JP3579389B2 (ja) | 2004-10-20 |
Family
ID=19177512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001367818A Expired - Fee Related JP3579389B2 (ja) | 2001-11-30 | 2001-11-30 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6912614B2 (ja) |
JP (1) | JP3579389B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285802A (ja) * | 2005-04-04 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
JP2009116783A (ja) * | 2007-11-09 | 2009-05-28 | Hitachi Ltd | 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム |
US8032703B2 (en) | 2008-06-05 | 2011-10-04 | Hitachi, Ltd. | Storage apparatus and failure recovery method |
JP2012068862A (ja) * | 2010-09-22 | 2012-04-05 | Toshiba Corp | 半導体記憶制御装置 |
WO2016013202A1 (ja) * | 2014-07-25 | 2016-01-28 | 日本電気株式会社 | ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
JP2004171206A (ja) * | 2002-11-19 | 2004-06-17 | Hitachi Ltd | ストレージシステム |
US20050091452A1 (en) * | 2003-10-28 | 2005-04-28 | Ying Chen | System and method for reducing data loss in disk arrays by establishing data redundancy on demand |
JP2005135116A (ja) * | 2003-10-29 | 2005-05-26 | Nec Corp | ストレージ装置及びそのアクセス制御方法 |
JP4493321B2 (ja) * | 2003-11-19 | 2010-06-30 | 株式会社日立製作所 | ディスクアレイ装置及びデータ退避方法 |
GB2411261B (en) * | 2004-02-20 | 2007-07-11 | Hewlett Packard Development Co | Standalone memory device and system and method using such device |
WO2006100776A1 (ja) * | 2005-03-24 | 2006-09-28 | Fujitsu Limited | ファームウェアによるメモリエラーアドレス管理 |
US10860424B1 (en) | 2005-09-30 | 2020-12-08 | Pure Storage, Inc. | Background verification processing in a storage network |
US8555109B2 (en) | 2009-07-30 | 2013-10-08 | Cleversafe, Inc. | Method and apparatus for distributed storage integrity processing |
US11221917B1 (en) | 2005-09-30 | 2022-01-11 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
US11620185B2 (en) | 2005-09-30 | 2023-04-04 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
TWI350526B (en) * | 2005-11-21 | 2011-10-11 | Infortrend Technology Inc | Data access methods and storage subsystems thereof |
US20070294565A1 (en) * | 2006-04-28 | 2007-12-20 | Network Appliance, Inc. | Simplified parity disk generation in a redundant array of inexpensive disks |
JP4821448B2 (ja) * | 2006-06-14 | 2011-11-24 | 富士通株式会社 | Raidコントローラおよびraid装置 |
KR20130111821A (ko) * | 2012-04-02 | 2013-10-11 | 삼성전자주식회사 | Raid 메모리 시스템 |
US9781225B1 (en) * | 2014-12-09 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods for cache streams |
US10162561B2 (en) * | 2016-03-21 | 2018-12-25 | Apple Inc. | Managing backup of logical-to-physical translation information to control boot-time and write amplification |
US10579471B2 (en) * | 2017-03-02 | 2020-03-03 | Toshiba Memory Corporation | Storage device and error correction method for storage device |
JP2019008730A (ja) | 2017-06-28 | 2019-01-17 | 東芝メモリ株式会社 | メモリシステム |
CN111435286B (zh) * | 2019-01-14 | 2023-12-05 | 深圳市茁壮网络股份有限公司 | 一种数据存储方法、装置和*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303244A (en) * | 1991-03-01 | 1994-04-12 | Teradata | Fault tolerant disk drive matrix |
JPH0588988A (ja) | 1991-09-27 | 1993-04-09 | Fujitsu Ltd | デイスクアレイ装置及びデータの復元方法 |
JP3944280B2 (ja) | 1997-07-08 | 2007-07-11 | 株式会社日立製作所 | 障害回復方法および装置 |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
JPH11194899A (ja) * | 1997-12-26 | 1999-07-21 | Toshiba Corp | ディスク記憶システム及び同システムに適用するデータ更新方法 |
JP2000010738A (ja) | 1998-06-17 | 2000-01-14 | Toshiba Corp | ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体 |
JP2000047832A (ja) | 1998-07-27 | 2000-02-18 | Toshiba Corp | ディスクアレイ装置、及びそのデータ制御方法 |
US7266706B2 (en) * | 1999-03-03 | 2007-09-04 | Yottayotta, Inc. | Methods and systems for implementing shared disk array management functions |
US6571351B1 (en) * | 2000-04-07 | 2003-05-27 | Omneon Video Networks | Tightly coupled secondary storage system and file system |
-
2001
- 2001-11-30 JP JP2001367818A patent/JP3579389B2/ja not_active Expired - Fee Related
-
2002
- 2002-08-30 US US10/231,027 patent/US6912614B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285802A (ja) * | 2005-04-04 | 2006-10-19 | Sony Corp | データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体 |
JP2009116783A (ja) * | 2007-11-09 | 2009-05-28 | Hitachi Ltd | 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム |
US8522071B2 (en) | 2007-11-09 | 2013-08-27 | Hitachi, Ltd. | Storage system for restoring data stored in failed storage device |
US8762768B2 (en) | 2007-11-09 | 2014-06-24 | Hitachi, Ltd. | Storage system for restoring data stored in failed storage device |
US8032703B2 (en) | 2008-06-05 | 2011-10-04 | Hitachi, Ltd. | Storage apparatus and failure recovery method |
JP2012068862A (ja) * | 2010-09-22 | 2012-04-05 | Toshiba Corp | 半導体記憶制御装置 |
US8555027B2 (en) | 2010-09-22 | 2013-10-08 | Kabushiki Kaisha Toshiba | Semiconductor memory controlling device |
US9213604B2 (en) | 2010-09-22 | 2015-12-15 | Kabushiki Kaisha Toshiba | Semiconductor memory controlling device which writes data and error correction codes into different semiconductor storage drives |
WO2016013202A1 (ja) * | 2014-07-25 | 2016-01-28 | 日本電気株式会社 | ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20030105921A1 (en) | 2003-06-05 |
JP3579389B2 (ja) | 2004-10-20 |
US6912614B2 (en) | 2005-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3579389B2 (ja) | ディスクアレイ装置及び同装置におけるデータ復旧方法 | |
JP3702231B2 (ja) | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 | |
JP3682256B2 (ja) | ディスクアレイ装置及び同装置におけるパリティ処理方法 | |
JP3526452B2 (ja) | ディスクアレイ装置及びデータバックアップ方法 | |
US7761655B2 (en) | Storage system and method of preventing deterioration of write performance in storage system | |
KR102229648B1 (ko) | 저장 클래스 메모리를 위한 웨어 레벨링의 장치 및 방법 | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
CA2549917C (en) | File system storing transaction records in a storage media | |
US9411717B2 (en) | Metadata journaling with error correction redundancy | |
KR100211790B1 (ko) | 직접 액세스 저장 장치에서 데이터 압축을 위한 디렉토리 재 구축 방법 및 장치 | |
US10606760B2 (en) | Nonvolatile memory devices and methods of controlling the same | |
CN115269259A (zh) | 运行中的独立磁盘冗余阵列奇偶校验计算 | |
KR20020009564A (ko) | 메모리 시스템 | |
US6636941B1 (en) | Enhanced stable disk storage | |
JPH06274409A (ja) | 一括消去型不揮発性メモリ | |
JP2004213647A (ja) | データ記憶装置およびシステム用のログ構造の書込みキャッシュ | |
US11520696B2 (en) | Segregating map data among different die sets in a non-volatile memory | |
JP2007012056A (ja) | データ保全の先送りされた認証を有するファイルシステム | |
JP2007012054A (ja) | ファイルシステム保全の最適化されたスタートアップ認証 | |
JP6696280B2 (ja) | 情報処理装置、raid制御方法、およびraid制御プログラム | |
KR20180002259A (ko) | 계층적 플래시 변환 레이어 구조 및 그 설계 방법 | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
JP3788961B2 (ja) | ディスクアレイ装置及び同装置におけるレイドレベル変更方法 | |
JP2007519996A (ja) | 不揮発性メモリおよびフェーズ化されたプログラム障害処理を伴う方法 | |
JP2007519996A6 (ja) | 不揮発性メモリおよびフェーズ化されたプログラム障害処理を伴う方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040621 |
|
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: 20040713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040715 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |