JPH06230903A - ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 - Google Patents

ディスクアレイ装置の障害回復方法、およびディスクアレイ装置

Info

Publication number
JPH06230903A
JPH06230903A JP5034866A JP3486693A JPH06230903A JP H06230903 A JPH06230903 A JP H06230903A JP 5034866 A JP5034866 A JP 5034866A JP 3486693 A JP3486693 A JP 3486693A JP H06230903 A JPH06230903 A JP H06230903A
Authority
JP
Japan
Prior art keywords
data
disk
disk device
error correction
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5034866A
Other languages
English (en)
Inventor
Shinji Fujiwara
真二 藤原
Hitoshi Tsunoda
仁 角田
Yoshifumi Takamoto
良史 高本
Atsushi Tanaka
淳 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5034866A priority Critical patent/JPH06230903A/ja
Publication of JPH06230903A publication Critical patent/JPH06230903A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】ディスクアレイシステムにおいて、新たなドラ
イブを追加することなくコストを下げ、かつ信頼性を向
上させることを目的とする。 【構成】複数台のディスク装置(ドライブ)とそれらを
管理する制御装置とを備え、上位装置から1回に読み出
しまたは書込みする単位で転送されてきたデ−タを、そ
のまま分散して格納するとともに、それらのデータから
パリティを生成し、このパリティもデータと同様にドラ
イブに格納するディスクアレイシステムにおいて、ドラ
イブの障害発生時には、正常ドライブの空き領域を障害
回復領域として確保し、障害ドライブのデータを回復領
域に分散格納する。このとき、回復されたデータの2次
パリティを生成して、新たなドライブの障害時における
データ消失を防止する。障害回復後のデータ更新処理
は、データ本体、パリティ、および2次パリティに対し
て行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュ−タシステム
などに適用して好適なディスクファイルシステムに関
し、特に高性能な入出力動作を可能とするディスクアレ
イ装置の障害回復方法およびディスクアレイ装置に関す
る。
【0002】
【従来の技術】現在のコンピュータシステムにおいて
は、CPU等の上位側が必要とするデ−タは2次記憶装
置に格納され、CPUなどが必要とするときに応じて2
次記憶装置に対してデ−タの書込みおよび読出しを行っ
ている。この2次記憶装置としては一般に不揮発な記憶
媒体が使用され、代表的なものとして磁気ディスク装置
(以下、ドライブとする)や、光ディスク装置などがあ
げられる。
【0003】近年高度情報化に伴い、コンピュータシス
テムにおいて、この種の2次記憶装置の高性能化が要求
されてきた。その一つの解として、多数の比較的容量の
小さなドライブにより構成されるディスクアレイが考え
られている。
【0004】公知の文献として、「D.Patterson,G.Gibs
on,and R.H.Kartz;A Case for Redundant Arrays of In
expensive Disks(RAID),inACM SIGMOD Conference,Chic
ago,IL,(June1988) 」がある。この文献においては、デ
ータを分割して並列に処理を行うディスクアレイ(レベ
ル3)と、データを分散して独立に扱うディスクアレイ
(レベル5)について、その性能および信頼性の検討結
果が報告されている。現在、この論文に書かれている方
式が最も一般的なディスクアレイと考えられている。
【0005】そこで、まず、データを分割して並列に処
理を行うディスクアレイ(RAIDレベル3)について
説明する。
【0006】図20(a)は、RAIDレベル3のディ
スクアレイの方式を説明するための図である。
【0007】ディスクアレイは、多数の比較的容量の小
さなドライブにより構成される。同図(a)に示すよう
に、CPUから転送されてきたデ−タを分割し、複数の
ドライブに同時に並列に書き込む。同図(a)におい
て、データ#0,データ#1,…は、それぞれ、CPU
から転送されてきたデ−タである。各データは4つに分
割され4つのデータドライブD0〜D3に並列に書き込
まれている。例えば、データ#0は、「0−0」「0−
1」「0−2」「0−3」の4つに分割され、4つのド
ライブD0〜D3に並列に書き込まれている。データを
読み出す場合は、逆に各々のドライブから同時に並列に
読み込んできてCPUへ転送する。
【0008】このようなディスクアレイでは、信頼性を
向上させるため、分割したデータからパリティP0,P
1,P2,…を作成してパリティ格納用のドライブ(パ
リティドライブ)D4に格納しておく。このパリティP
0,P1,P2,…は、分割したデータを格納したドラ
イブの中の1台に障害が発生し、データが読み出せなく
なった場合、残りのドライブ内のデータとパリティか
ら、障害が発生したドライブ内のデータを復元するため
のものである。
【0009】ディスクアレイのような多数のドライブに
より構成される装置では、部品点数が増加することによ
り、障害が発生する確率が高くなるため、信頼性の向上
を図る目的で、このようにパリティを用意する必要があ
る。このようなシステムをRAIDレベル3のディスク
アレイと呼び、IBM 社のIBM9570 (商品名)などの製品
が既に発表されている。
【0010】次に、データを分散して、独立に扱うディ
スクアレイ(RAIDレベル4、およびレベル5)につ
いて説明する。
【0011】図20(b)および図20(c)は、それ
ぞれ、RAIDレベル4およびレベル5のディスクアレ
イの方式を説明するための図である。これらのレベルで
は、図に示すように、個々のデータを分割せずに独立に
扱い、多数の比較的容量の小さなドライブに分散して格
納する。
【0012】現在、一般に使用されている汎用大型コン
ピュータシステムの2次記憶装置では、他の読み出し/
書込み要求に当該ドライブが使用されているためにその
ドライブを使用できずに待たされることが、多く発生し
た。RAIDレベル4または5のタイプのディスクアレ
イでは、データを分散して格納してあるため、読み出し
/書込み要求が増加しても、ディスクアレイの複数のド
ライブで分散して処理することができる。そのため、読
み出し/書込み要求がまたされることが減少する。
【0013】また、このタイプのディスクアレイにおい
ても、信頼性の向上を図るためパリティを用意する。こ
のパリティも先に述べたように、データを格納したドラ
イブに障害が発生した場合、その障害ドライブ内のデー
タを復元するためのものである。
【0014】図20(b)では、レベル3のディスクア
レイと同様、パリティを格納するパリティドライブが固
定である。このようなシステムをRAIDレベル4のデ
ィスクアレイと呼ぶ。一方、図20(c)ではパリティ
を通常のデータと同様に各ドライブD0〜D4に分散格
納している。このようなシステムをRAIDレベル5の
ディスクアレイと呼ぶ。このようにパリティを分散して
格納するディスクアレイ(レベル5)は、例えばストレ
−ジテクノロジコーポレーションから製品発表がされて
いる。
【0015】一般に、1台のパリティディスクを用いた
ディスクアレイシステムでは、2台のドライブが障害を
起こした場合にはデータの回復が不可能である。IBM957
0 等ではスペアドライブをあらかじめ用意することによ
りこの問題を解決している。
【0016】図21は、スペアドライブを用いた障害回
復方法を説明する図である。同図のディスクアレイシス
テムは、4台のデータドライブ(D0〜D3)40、1
台のパリティドライブ(D4)41、1台のスペアドラ
イブ(D5)42、およびアレイディスクコントローラ
(ADC)2を備えている。
【0017】データドライブD2が障害を起こした場合
には、まず最初に回復したデータを格納するスペアドラ
イブを確保し(49)、つぎに他の正常ドライブD0,
D1,D3,D4のデータのパリティを求めて障害ドラ
イブD2のデータを回復し(50)、これを確保したス
ペアドライブ(D5)42に格納する(53)。以後
は、スペアドライブ(D5)42が、障害を起こしたデ
ータドライブD2を代替する。
【0018】図21(a)は障害発生時のデータの配置
を、図21(b)は障害回復の手順を、図21(c)は
障害回復後のデータの配置を示す。
【0019】
【発明が解決しようとする課題】ディスクアレイシステ
ムでは、パリティドライブ以外にスペアドライブを用意
することにより、多重障害に対してもフォールトトレラ
ントなシステムを構築することが出来る。一般に、パリ
ティディスク1台にスペアドライブをs台用意すると、
(s+1)重障害までデータを保証することが出来る。
しかし、この方式では、あらかじめスペアドライブを用
意しておく必要があるため、ディスクアレイのハードウ
ェアコストが高価になるという問題点がある。
【0020】一般のコンピュータシステムでは、ディス
クシステムの一部にはデータが格納されておらず、空き
領域となっている。
【0021】そこで、本発明は、この空き領域を利用し
て、障害ドライブのデータを回復することで、コストを
下げ、かつ信頼性を向上できるディスクアレイ装置の障
害回復方法、およびそのような障害回復を行なうことが
できるディスクアレイ装置を提供することを目的とす
る。
【0022】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、複数台のディスク装置を備えたディスク
アレイ装置において、書込むべき一群のデータからそれ
らのデータのエラー訂正用のデータを生成し、それらの
一群の書込みデータとエラー訂正用データとを異なるデ
ィスク装置に分散して格納し、あるディスク装置が障害
を起こしたときには、そのディスク装置のデータを正常
なディスク装置に保持された該一群の書込みデータの内
の他のデータおよび該エラー訂正用データから回復し、
この回復されたデータを正常なディスク装置の空き領域
に分散して格納することを特徴とする。
【0023】また、データを格納するデータディスク装
置と該データディスク装置に障害が起こったときその障
害ディスク装置を代替する予備ディスク装置とを含む複
数台のディスク装置を備えたディスクアレイ装置におい
て、書込むべき一群のデータからそれらのデータのエラ
ー訂正用のデータを生成し、それらの一群の書込みデー
タとエラー訂正用データとを異なるディスク装置に分散
して格納し、あるディスク装置が障害を起こしたとき
は、その障害ディスク装置のデータを回復して上記予備
ディスク装置に格納し、それ以後はその予備ディスク装
置で障害ディスク装置を代替し、さらにあるディスク装
置が障害を起こしたとき、それ以前に発生した障害によ
り上記予備ディスク装置が既にすべて使用されていた場
合は、その障害を起こしたディスク装置のデータを正常
なディスク装置に保持された該一群の書込みデータの内
の他のデータおよび該エラー訂正用データから回復し、
回復されたデータを正常なディスク装置の空き領域に分
散して格納することを特徴とする。
【0024】回復されたデータに対しては、2次パリテ
ィ(2次エラー訂正用データ)を生成し、この2次パリ
ティも回復されたデータとともに正常ドライブの空き領
域に格納するようにするとよい。
【0025】さらに、本発明は、(m−1)台のデータ
ディスク装置と1台のパリティディスク装置とからなる
m台のディスク装置を備え、転送されたデータを該(m
ー1)台のデータディスク装置に分散格納し、該(mー
1)台のデータディスク装置に分散格納したデータから
生成したパリティを該1台のパリティディスク装置に格
納するディスクアレイ装置において、あるディスク装置
が障害を起こしたときに、その障害を起こしたディスク
装置のデータを他の正常なディスク装置のデータから回
復し、該回復されたデータを(mー2)台の正常なディ
スク装置に分散格納するとともに、該(mー2)台に分
散格納したデータから2次パリティを生成し、1台の正
常なディスク装置に格納することを特徴とする。
【0026】また、(m−1)台のデータディスク装置
と、1台のパリティディスク装置と、該データディスク
装置またはパリティディスク装置に障害が起こったとき
その障害ディスク装置を代替するs台の予備ディスク装
置とを備え、転送されたデータを該(mー1)台のデー
タディスク装置に分散格納し、該(mー1)台のデータ
ディスク装置に分散格納したデータから生成したパリテ
ィを上記1台のパリティディスク装置に格納するディス
クアレイ装置において、s台のデータディスク装置また
はパリティディスク装置が障害を起こして上記s台の予
備ディスク装置により代替した後に、さらにs+1台目
のディスク装置が障害を起こしたとき、その障害を起こ
したディスク装置のデータを他の正常なディスク装置の
データから回復し、該回復されたデータを(mー2)台
の正常なディスク装置に分散格納するとともに、該(m
ー2)台に分散格納したデータから2次パリティを生成
し、1台の正常なディスク装置に格納することを特徴と
する。
【0027】あるディスク装置に障害が発生したとき
に、他の正常なディスク装置の空き領域の容量の合計
が、該障害が発生したディスク装置に格納しているデー
タの容量よりも大きい場合には、該障害が発生したディ
スク装置のデータを他の正常なディスク装置のデータに
より回復し、該回復されたデータを他の正常なディスク
装置の空き領域に格納し、他の正常なディスク装置の空
き領域の合計が該障害が発生したディスク装置に格納し
ているデータの容量よりも小さい場合には、該障害が発
生したディスク装置のデータの一部を回復するまたは回
復しないようにしてもよい。
【0028】また、あるディスク装置の障害を他の正常
なディスク装置の空き領域を用いて回復した後で新たな
データ書込み要求が発生したときに、データを書き込む
ための空き領域が不足した場合において、障害回復領域
の一部または全部を破棄することによりデータ書込みの
ための空き領域を確保するようにしてもよい。
【0029】さらに、空き領域を利用した障害回復を行
なった後に新たなディスク装置が障害を起こしたとき、
該障害ディスク装置のデータについては、該障害ディス
ク装置のデータとパリティを共有する他のデータおよび
パリティから回復してアクセスするようにし、この際、
該障害ディスク装置のデータとパリティを共有する他の
データまたはパリティが該障害ディスク装置の回復領域
に格納されていた場合には、該回復領域に格納されてい
たデータまたはパリティと2次パリティを共有する他の
データおよび2次パリティに基づいて、該回復領域に格
納されていたデータまたはパリティを回復し、これによ
りアクセス要求されたデータを回復するためのデータま
たはパリティを用意するようにするとよい。
【0030】また、本発明に係るディスクアレイ装置に
適用するデータ格納方法は、複数台のディスク装置と、
該複数台のディスク装置を管理する制御装置とを備え、
上位装置からは、1台の論理ディスク装置のようにデ−
タの入出力要求を発行することができるディスクアレイ
装置に適用するデータ格納方法であって、少なくとも一
つ以上のディスク装置のデータを複数のディスク装置の
空き領域に格納することを特徴とする。
【0031】ディスク装置のドライブアドレス毎に回復
領域か否かを管理するために、ドライブアドレス毎に回
復領域か否かを示す回復フラグを格納したドライブアド
レス管理表を有するようにするとよい。また、ディスク
装置のドライブアドレス毎、または、ドライブアドレス
とドライブ番号の組毎に、該アドレスに対応する領域が
使用されているか否かを示す使用フラグを、ドライブア
ドレス管理表に持たせるようにして、ドライブの空き領
域を管理するようにしてもよい。
【0032】さらに、ディスク装置毎に、該ディスク装
置が正常かあるいは何番目に障害を起こしたかを示すド
ライブ障害情報を格納した障害ドライブ管理表を有する
ようにするとよい。
【0033】
【作用】空き領域を用いて障害の起きたディスク装置の
回復を行うことにより、新たな予備のディスク装置(ス
ペアドライブ)を必要とせずに、回復可能な障害回数を
1回増加することが可能になる。また、正常なディスク
装置の空き領域の容量の合計が、障害の起きたディスク
装置が保持するデータの容量よりも大きい場合には、本
発明による方式を繰り返し適用することで、回復可能な
障害回数を1回以上増加することが可能になる。
【0034】さらに、本方式を、スペアドライブを有す
るディスクアレイにて起用することにより、該ディスク
アレイシステムが従来可能であった障害回復回数を増加
することができる。また、空き領域をデータ複製領域と
して用いることによりデータ読出し処理性能を向上する
ことができる。
【0035】
【実施例】
(実施例1)以下、本発明のディスクアレイシステムの
一実施例を図1により説明する。
【0036】本実施例は、中央処理装置(以下、CPU
と呼ぶ)1、アレイディスクコントローラ(以下、AD
Cと呼ぶ)2,アレイディスクユニット(以下、ADU
と呼ぶ)3により構成される。CPU1は、大型汎用計
算機と考えてよい。
【0037】ADU3は、複数の論理グループ10によ
り構成される。個々の論理グループ10は、m台のドラ
イブ12(12−0〜12−(m−1))と、各々のド
ライブ12とADC2とを接続するドライブパス(図2
の35−1〜35−(m−1))により、構成される。
なお、このドライブ12の数に特に制限は無い。この論
理グループ10は、データ本体を書き込むグループとそ
れらのデータから作成したパリティを書き込むパリティ
グループにより構成される。
【0038】次に、ADC2の内部構造について図1を
用いて説明する。ADC2は、チャネルパスディレクタ
5と、2個のクラスタ13−1,13−2と、バッテリ
バックアップ等により不揮発化された半導体メモリであ
るキャッシュメモリ7により構成される。このキャッシ
ュメモリ7には、データ、論理アドレス変換表(図9,
10)、ドライブアドレス管理表(図11)、および障
害ドライブ管理表(図12)等が、格納されている。こ
のキャッシュメモリ7およびその中の各種テーブルは、
ADC2内のすべてのクラスタにおいて共有で使用され
る。
【0039】クラスタ13は、ADC2内において独立
に動作可能なパスの集合で、各クラスタ13−1と13
−2との間においては、電源および回路が全く独立とな
っている。クラスタ13は、チャネルパスディレクタ5
とキャッシュメモリ7との間のパスであるチャネルパス
6と、キャッシュメモリ7とドライブ10との間のパス
であるドライブパス8とが、それぞれ、2個ずつで構成
されている。それぞれのチャネルパス6とドライブパス
8は、キャッシュメモリ7を介して接続されている。9
−1〜9−4は、各ドライブパス8−1〜8−4とAD
U3とを接続するアレイディスクユニットパスを示す。
【0040】図2は、図1のチャネルパスディレクタ5
およびクラスタ13−1の詳細な構成を示す図である。
なお、クラスタ13−2の構成も同様である。
【0041】図2を参照して、ADC2について詳しく
説明する。CPU1より発行されたコマンドは、外部イ
ンターフェースパス4を通ってADC2のチャネルパス
ディレクタ5に発行される。図1で説明したように、A
DC2は、2個のクラスタ13−1,13−2により構
成され、それぞれのクラスタは2個のパスで構成される
ため、ADC2は合計4個のパスにより構成されている
こととなる。このことから、ADC2では、CPU1か
らのコマンドを同時に4個まで受け付けることが可能で
ある。
【0042】そこで、CPU1からコマンドが発行され
た場合、まずADC2内のチャネルパスディレクタ5に
より、コマンドの受付が可能かどうかを判断する。
【0043】具体的には、図2に示すように、CPU1
からADC2に送られてきたコマンドは、まずインター
フェースアダプタ(以下、IF Adpと呼ぶ)15に
より取り込まれる。次に、マイクロプロセッサであるM
P20は、外部インターフェースパス4の中で使用可能
なパスがあるかを調べる。使用可能な外部インターフェ
ースパス4がある場合、MP20は、チャネルパススイ
ッチ16を切り換えてコマンドの受付け処理を行なう。
コマンドを受け付けられない場合は、受付不可の応答を
CPU1へ送る。
【0044】本実施例では、ディスクアレイのRAID
レベル3をより一般化したRAIDレベル4を用いて説
明する。しかしながら、本発明による障害回復方式は、
RAIDレベル3のディスクアレイに適用できることは
明らかである。さらに、パリティドライブか否かの判定
をパリティデータか否かの判定に置き換えることによ
り、RAIDレベル5においても、本発明による障害回
復方式を適用できることは明らかである。
【0045】また、本実施例では、図1のADU3を構
成するドライブ12は、SCSIインターフェースのド
ライブを使用する。CPU1をIBMシステム9000
シリーズ(商品名)のような大型汎用計算機とした場
合、CPU1からは、該計算機のオペレーティングシス
テム(OS)で動作可能なチャネルインターフェースの
コマンド体系にのっとってコマンドが発行される。しか
し、ドライブ12はSCSIインターフェースのドライ
ブであるので、CPU1からのコマンドは、SCSIイ
ンターフェースのコマンド体系にのっとったコマンドに
変換する必要が生じる。この変換は、大きくは、コマン
ドのプロトコル変換とアドレス変換とに分けられる。
【0046】以下、アドレス変換について説明する。
【0047】CPU1からは、要求データが格納されて
いる当該ドライブ番号と当該ドライブ12内のシリンダ
アドレス(CC)とヘッドアドレス(HH)とレコード
番号(R)とからなるCCHHRの形でアドレス指定が
なされる。従来のCKDフォーマット対応の磁気ディス
クサブシステム(例えば、IBM3990−3390
(商品名))では、このアドレスに従ってドライブへア
クセスすれば良い。
【0048】しかし、本実施例では複数のSCSIイン
ターフェースのドライブ12により従来のCKDフォー
マット対応の磁気ディスクサブシステムを論理的にエミ
ュレートする。つまり、複数のSCSIインターフェー
スのドライブ12が、従来のCKDフォーマット対応の
磁気ディスクサブシステムで使用されているドライブ1
台に相当するようにみせかける。このため、CPU1か
ら指定してきたアドレス(CCHHR)をSCSIイン
ターフェースのドライブ12のアドレスに変換する必要
がある。
【0049】ここで、CPU1から指定してきたアドレ
ス(CCHHR)を論理アドレスと呼び、SCSIイン
タフェースのドライブ12のアドレスを物理アドレスと
呼ぶ。SCSIインタフェースのドライブ12は複数存
在する。従って、物理アドレスは、ドライブ番号とドラ
イブ内アドレス(DADR)との組で表わすことができ
る。
【0050】上述したように、本実施例のシステムで
は、CPU1から指定された論理アドレスをSCSIイ
ンタフェースの物理アドレス(ドライブ番号とドライブ
内アドレス)に変換する必要があるが、そのためにアド
レス変換用の論理アドレス変換表を備えている。図9
は、論理アドレス変換表99を示す。この論理アドレス
変換表99は、図1,2のADC2内のキャッシュメモ
リ7の内部の適当な領域に格納されている。
【0051】本実施例では、CPU1が指定してくる論
理アドレスに対応するデータは、実際には複数のドライ
ブ12のうちの、いずれかのドライブに格納されてい
る。しかし、CPU1からは、これらの複数のドライブ
12は、論理的に1台のドライブとして見える。そこ
で、これらの複数のドライブ12を論理的なドライブと
して定義する。つまり、CPU1が指定したドライブ
は、物理的には存在せず、複数のSCSIインターフェ
ースのドライブ12により構成される論理的なドライブ
となる。
【0052】図9の論理アドレス変換表99には、CP
U1が指定してくる論理アドレスと、当該論理アドレス
に対応する物理アドレス、即ち、ドライブ番号およびド
ライブ内アドレスと、当該論理アドレスに対応するデー
タのキャッシュ情報(キャッシュアドレスおよびキャッ
シュフラグ)が格納されている。
【0053】例えば、図9において、CPU1からデー
タ#6に対し読み出し要求を発行してきた場合、図2の
MP20は、そのデータ#6のキャッシュフラグを参照
する。データ#6のキャッシュフラグは「0」でオフに
なっているため、SCSIインターフェースのドライブ
12内で認識できるように、入力した論理アドレスをド
ライブ#2のDADR1のアドレスへと変換する。そし
て、ドライブ#2のDADR1に対し読み出し要求を発
行する。
【0054】一方、例えば、CPU1からデータ#17
に対し読み出し要求を発行してきた場合には、データ#
17のキャッシュフラグが「1」でオンであるため、キ
ャッシュメモリ7内のCADR7からデータを読み出
す。
【0055】この、論理アドレス変換表99は、システ
ムの電源をオンしたときに、MP20により、論理グル
ープ10内のある特定のドライブ12からキャッシュメ
モリ7にCPU1は関知せず自動的に読み込まれる。一
方、電源をオフしたときは、MP20により、キャッシ
ュメモリ7内の論理アドレス変換表99が、元のドライ
ブ12内の所定の場所に、CPU1は関知せずに自動的
に格納される。
【0056】次に、ADC2内での具体的なI/O処理
について、図1、図2を用いてさらに詳しく説明する。
【0057】CPU1より発行されたコマンドは、図2
のIF Adp15を介してADC2に取り込まれ、M
P20により読み出し要求か書込み要求か解読される。
【0058】まず、障害がないときの読み出し要求の処
理方法を以下に示す。
【0059】MP20が読み出し要求のコマンドを認識
すると、MP20は、図9の論理アドレス変換表99を
参照して、上述のアドレス変換を行なう。キャッシュフ
ラグがオンでキャッシュメモリ7内に格納されている場
合(キャッシュヒット)、MP20は、キャッシュメモ
リ7からデータを読みだす制御を開始する。また、当該
データがキャッシュメモリ7内に無い場合(キャッシュ
ミス)は、当該ドライブ12からデータを読みだす制御
を開始する。
【0060】キャッシュヒット時において、MP20
は、論理アドレス変換表99によりCPU1から指定し
てきた論理アドレスをキャッシュメモリ7のアドレスに
変換し、キャッシュメモリ7へ当該データを読み出しに
行く。具体的には、MP20の指示の元で、図2のキャ
ッシュアダプタ回路(以下、C Adpと呼ぶ)24に
よりキャッシュメモリ7から当該データが読み出され
る。
【0061】C Adp24により読み出されたデータ
は、データ制御回路(DCC)22の制御により、チャ
ネルインターフェース回路(CH IF)21に転送さ
れる。CH IF21では、CPU1におけるチャネル
インターフェースのプロトコルに変換し、そのチャネル
インターフェースに対応する速度に速度調整する。具体
的には、CPU1とADC2との間のチャネルインター
フェースを光のインターフェース(光ケーブルなど)に
した場合には、光のインターフェースのプロトコルをA
DC2内における電気処理でのプロトコルに変換する。
【0062】CH IF21におけるプロトコル変換お
よび速度調整後は、チャネルパスディレクタ5におい
て、チャネルパススイッチ16が外部インターフェース
パス4を選択し、選択したIF Adp15によりCP
U1へデータ転送を行なう。
【0063】一方、キャッシュミス時において、MP2
0は、ドライブインターフェース(以下、ドライブIF
と呼ぶ)28に対し、当該ドライブ12への読み出し要
求を発行するように指示する。ドライブIF28は、S
CSIの読み出し処理手順に従って、読み出しコマンド
をドライブユニットパス9を介して発行する。
【0064】ドライブIF28から読み出しコマンドを
発行された当該ドライブ12においては、指示アドレス
へとヘッドをシークし、回転待ちのアクセス処理を行な
う。当該ドライブ12におけるアクセス処理が完了した
後、当該ドライブ12は、当該データを読み出しドライ
ブユニットパス9を介してドライブIF28へ転送す
る。
【0065】ドライブIF28は、転送されてきた当該
データを、ドライブ側のキャッシュアダプタ回路(C
Adp)14に転送する。C Adp14は、キャッシ
ュメモリ7に当該データを格納する。このとき、C A
dp14は、キャッシュメモリ7にデータを格納するこ
とをMP20に報告し、MP20はこの報告を元に、図
9の論理アドレス変換表99のキャッシュフラグをオン
にし、キャッシュメモリ7内のアドレスを更新する。そ
の後、キャッシュヒット時と同様な手順でCPU1へ当
該データを転送する。
【0066】一方、障害がない場合の書き込み要求は、
以下のように処理される。
【0067】図2のCPU1からデータ#1に対して更
新命令が発行されたとする。まず、ADC2のMP20
は、CPU1からデータ#1に対し更新による書込み要
求のコマンドを受け取った後、コマンドを受け取ったM
P20が所属するクラスタ13内の各チャネルパス6に
おいて処理可能かどうかを調べ、可能な場合は処理可能
だという応答をCPU1へ返す。
【0068】CPU1では、処理可能だという応答を受
け取った後に、ADC2へデータを転送する。このと
き、ADC2では、MP20の指示により、チャネルパ
スディレクタ5において、チャネルパススイッチ16が
当該外部インターフェースパス4とIF Adp15を
当該チャネルパス6と接続しCPU1とADC2との間
の接続を確立する。CPU1とADC2との間の接続を
確立した後、CPU1からのデータ転送を受け付ける。
【0069】CPU1から転送されてきた更新用のデー
タは、MP20の指示により、CHIF21によりプロ
トコル変換され、CPUパス4での転送速度からADC
2内での処理速度に速度調整される。CH IF21に
おけるプロトコル変換および速度制御の完了後、データ
は、DCC22によるデータ転送制御を受けて、グルー
プアドレス変換回路(GAT)23に送られる。
【0070】転送されてきたデータがアドレスデータの
場合は、CPU1から指定してきたそのアドレス(CC
HHR)を、SCSIインターフェースのドライブ12
のアドレスに変換し、GAT23内部の不揮発化された
アドレス格納用バッファに一端格納しておく。一方、転
送されてきたデータが実データ(更新データ)であると
きは、GAT23をそのまま通過させ、C Adp24
に転送する。
【0071】C Adp24により、その実データはキ
ャッシュメモリ7内に格納される。このとき、キャッシ
ュメモリ7に格納されるアドレスは、GAT23内部の
アドレス格納用バッファに格納されている変換後のアド
レスで処理される。また、この書込み処理を行なうと同
時に、GAT23内部のアドレス格納用バッファに格納
されている更新後のアドレスにより論理アドレス変換表
99も更新し、キャッシュフラグをオンにする。
【0072】MP20は、以上のようにキャッシュメモ
リ7に更新データを格納したことを確認した後、書込み
処理の完了報告をCPU1に対し報告する。
【0073】なお、キャッシュメモリ7内に溜めている
更新データに対して更新要求が発行された場合は、キャ
ッシュメモリ7内の更新データを書き替える。さらに、
キャッシュメモリ7に格納された更新データは、この更
新データにより新しくパリティを更新する(以下、更新
されたパリティを新パリティとする)。パリティの更新
を行なうためには、まず、パリティデータをパリティド
ライブから読み出し、キャッシュメモリ7に格納する。
次に、パリティジェネレータPG36により新パリティ
を生成し、キャッシュメモリ7に格納する。最後に、生
成された新パリティと更新データをドライブに格納す
る。
【0074】以上が、ドライブの障害がない場合のデー
タのアクセス方法である。
【0075】次に、あるドライブに障害が発生した場合
のデータの回復方法について、図3および図4を参照し
て説明する。以下の説明では、データドライブ40が4
台、パリティドライブ41が1台で構成されるディスク
アレイシステムを用いる。
【0076】なお、障害の発生はまず始めに障害回復制
御部(FTC)27によって検出される。FTC27
は、キャッシュメモリ7内の障害ドライブ管理表によ
り、各ドライブにおける障害の発生を管理する。MP2
0は、障害ドライブ管理表を参照することにより、各ド
ライブが正常か、あるいは障害を起こしているかを知る
ことができる。
【0077】図12は、障害ドライブ管理表101を示
す。本表は、各ドライブの障害状態を示す障害フラグを
格納する。障害フラグが0の場合には、当該ドライブに
障害がないことを示す。障害フラグが1以上の場合、そ
の数値は、当該ドライブが何回目の障害を起こしている
かを示す。図12では、ドライブ#2が1回目の障害を
起こし、ドライブ#1が2回目の障害を起こしたことを
示す。
【0078】図3は、データドライブ(D2)45に障
害が発生した場合の障害回復方法を示す。図3(a)
は、障害発生時のデータおよびパリティの配置を示す。
図3(b)は、障害回復の手順を示す。
【0079】障害が発生すると、まず最初に、障害ドラ
イブに格納されていたデータの容量および論理グループ
内において障害が発生したドライブ以外の正常ドライブ
の空き領域の容量の合計を求める。ドライブの空き領域
の容量は、図11に示すドライブアドレス管理表100
を用いて求める。
【0080】ここで、図11を参照してドライブアドレ
ス管理表100について説明する。ディスクアレイシス
テムでは、各ドライブの同一ドライブアドレス毎にデー
タの格納情報を管理する。ドライブアドレス管理表10
0には、各ドライブアドレスがデータを保持しているか
空き領域であるかを示す使用フラグと、当該領域が回復
領域として使用されているか否かを示す回復フラグを格
納する。
【0081】使用フラグがオン(即ち、1)のときに
は、該ドライブアドレスに対応する領域にデータが格納
されていることを示し、使用フラグがオフ(即ち、0)
のときには、該ドライブアドレスに対応する領域が空き
領域であることを示す。また、回復フラグがオン(即
ち、1)のときには、該ドライブアドレスに対応する領
域が回復領域として使用されていることを示し、使用フ
ラグがオフ(即ち、0)のときには、該ドライブアドレ
スに対応する領域が回復領域でないことを示す。
【0082】例えば、使用フラグがオンで、回復フラグ
がオフであれば、そのドライブアドレスには通常のデー
タが格納されている。また、使用フラグおよび回復フラ
グが共にオンであればそのドライブアドレスには回復デ
ータが格納されていることとなる。
【0083】図11(a)は、正常時におけるドライブ
アドレス管理表100の例を示す。この例は、図3
(a)でデータドライブD2に障害が発生する前の正常
時における状態を示す。ドライブアドレスDADR0か
らDADR5にデータが保持されており、ドライブアド
レスDADR6およびDADR7(図4(a)の各ドラ
イブの下側2つの空白領域)が空き領域であることを示
す。図11(b)は、1つのドライブの障害を回復した
後のドライブアドレス管理表を示す。この場合、ドライ
ブアドレスDADR6およびDADR7を障害回復領域
として使用していることを示す。なお、本実施例では、
使用フラグをドライブアドレス毎に管理しているが、使
用フラグを物理アドレス(ドライブ番号とドライブアド
レス)毎に管理してもよい。
【0084】このようなドライブアドレス管理表100
を検索して、使用フラグがオフになっているドライブア
ドレスの数を求めることにより、空き領域を求めること
ができる。
【0085】なお、本実施例では、図11のドライブア
ドレス管理表を用いて、障害発生時に空き領域の容量を
求める方法を用いているが、ディスクアレイシステム内
に、空き領域の容量を記憶する装置と、データの書込み
および消去時に該空き領域の容量を示すデータを更新す
るようにして、システムの空き領域を常に監視する方法
を用いてもよい。
【0086】再び図3(a)を参照して、データドライ
ブ(D2)45に障害が発生した場合の障害回復方法の
説明を続ける。
【0087】データドライブ(D2)45の障害を検出
して、上述のドライブアドレス管理表を用いて正常ドラ
イブの空き領域の容量の合計を求めた後、正常ドライブ
の空き領域の容量と障害ドライブが格納していたデータ
の容量とを比較する。正常ドライブの空き領域の容量の
方が障害ドライブが格納していたデータの容量よりも大
きい場合には、正常ドライブの空き領域の一部を障害回
復領域として確保する(図3(b)の55)。
【0088】次に、各正常なドライブが保持するデータ
とパリティとを順次読み込んでいき、それらの排他的論
理和を求めて障害データの回復を行なう(56)。回復
されたデータは、ADC2内のキャッシュメモリ7に順
次格納される。そして、(正常ドライブ数−1)個のデ
ータの回復が完了する毎に、回復データの2次パリティ
を生成し(57)、回復されたデータと共に正常ドライ
ブの回復領域に格納する(58)。
【0089】図3(c)は、障害回復後のデータの配置
を示す。網掛けの部分が、障害データの回復領域であ
る。本実施例では、4台のデータドライブのうち、1台
が障害を起こしているため、障害回復のために他の正常
ドライブの25%の領域を回復領域として使用してい
る。
【0090】上述した図9の論理アドレス変換表99
は、図3(a)のデータドライブD2に障害が発生する
前の正常時における状態を示している。図10は、デー
タドライブD2に障害が発生して、上述のようにその障
害を回復した後の論理アドレス変換表99を示す。図1
0の網かけの部分の物理アドレス(ドライブ番号および
ドライブアドレス)が、回復領域に対応するアドレスに
更新されている。
【0091】図4は、パリティドライブ(D4)47に
障害が発生した場合の障害回復方法を示す。図4(a)
は、障害発生時のデータおよびパリティの配置を示す。
図4(b)は、障害回復の手順を示す。
【0092】パリティドライブの障害回復は、データド
ライブの障害回復方法と同様である。まず最初に、回復
領域の確保を行ない(60)、次に障害ドライブに格納
されていたパリティを他の正常ドライブのデータより回
復し(61)、(正常ドライブ−1)個のパリティ毎に
2次パリティを生成して(62)、回復したパリティと
共に正常ドライブに確保した回復領域に格納する(6
3)ことにより、障害回復を行なう。図4(c)は、障
害回復後のデータの配置を示す。
【0093】以上、本発明による障害回復方式は、障害
を起こしたドライブがデータドライブかパリティドライ
ブかに依存せずに、全く同様の方法で行なうことができ
る。したがって、本発明による障害回復方式は、パリテ
ィとデータがすべてのドライブに分散格納されているR
AIDレベル5などの他のディスクアレイシステムにも
適用できることは明らかである。
【0094】図5および図6は、障害回復後にさらに他
の障害(2次障害)が発生した場合における、2次障害
を起こしたデータドライブ65のデータの読み出し方法
を示す。
【0095】図5(a)は、データドライブD2の障害
回復後に、データドライブD1が2次障害を起こした場
合のデータおよびパリティの配置を示す。図5(b)
は、データドライブD1に格納されていたデータ#1の
読み出し処理の流れを示す。
【0096】データ#1は2次障害により消失している
ため、データ#0、データ#2、データ#3、パリティ
P0の排他的論理和を求めることにより回復できる。こ
れらのうち、データ#2は、障害回復処理により、デー
タドライブ#0の障害回復領域に格納されている。した
がって、まず最初にデータ#0、データ#3、パリティ
P0を読み込み(66)、次にデータ#2を障害回復領
域から読み込み(67)、これらの排他的論理和を求め
てデータ#1を回復し(68)、CPU1に転送する。
【0097】また、図5(c)は、データドライブD1
に格納されていたデータ#5の読み出し処理の流れを示
す。データ#5は2次障害により消失しているため、デ
ータ#4、データ#6、データ#7、パリティP1より
回復する。このうち、データ#6は障害回復処理により
データドライブ#1の回復領域に格納されている。とこ
ろが、データドライブ#1は2次障害を起こしているた
め、回復されたデータ#6は消失している。そこで、デ
ータ#6を、他の回復データおよび2次パリティより回
復する。即ち、回復データ#2、回復データ#10、お
よび、2次パリティPP0よりデータ#6を回復する。
【0098】以上のことから、データ#5を回復するた
めには、まず、データ#4、データ#7、パリティP1
を読み込み(70)、次に、回復データ#2、回復デー
タ#10、2次パリティPP0を読み込み(71)、回
復データおよび2次パリティよりデータ#6を回復し
(72)、最後に回復されたデータ#6および最初に読
み込んだデータおよびパリティよりデータ#5を回復す
る(73)。
【0099】図6(a)は、パリティドライブD4の障
害回復後に、データドライブD1が2次障害を起こした
場合のデータおよびパリティの配置を示す。図6(b)
は、データドライブD1に格納されていたデータ#1の
読み出し処理の流れを示す。
【0100】データ#1は2次障害により消失している
ため、データ#0、データ#2、データ#3、パリティ
P0の排他的論理和を求めることにより回復できる。こ
れらのうち、パリティP0は、障害回復処理により、デ
ータドライブ#0の障害回復領域に格納されている。し
たがって、まず最初にデータ#0、データ#2、データ
#3を読み込み(75)、次にパリティP0を障害回復
領域から読み込み(76)、これらの排他的論理和を求
めてデータ#1を回復し(77)、CPU1に転送す
る。
【0101】また、図6(c)は、データドライブD1
に格納されていたデータ#5の読み出し処理の流れを示
す。データ#5は2次障害により消失しているため、デ
ータ#4、データ#6、データ#7、パリティP1より
回復する。このうち、パリティP1は障害回復処理によ
りデータドライブ#1の回復領域に格納されている。と
ころが、データドライブ#1は2次障害を起こしている
ため、回復されたパリティP1は消失している。そこ
で、パリティP1を、他の回復パリティおよび2次パリ
ティより回復する。即ち、回復パリティP0、回復パリ
ティP2、および、2次パリティPP0よりパリティP
1を回復する。
【0102】以上のことから、データ#5を回復するた
めには、まず、データ#4、データ#6、データ#7を
読み込み(80)、次に、回復パリティP0、回復パリ
ティP2、2次パリティPP0を読み込み(81)、回
復パリティおよび2次パリティよりパリティP1を回復
し(82)、最後に回復されたパリティP1および最初
に読み込んだデータよりデータ#5を回復する(8
3)。
【0103】図13は、データ読み込み処理の流れを示
すフローチャートである。
【0104】CPU1からのデータ読み込み要求を受け
ると、まず、読み込むべきデータの論理アドレスに該当
する物理アドレスを論理アドレス変換表99を用いて求
める(ステップ109)。次に、読み込むべきデータが
キャッシュメモリ7に存在するか否かを論理アドレス変
換表99のキャッシュフラグを参照することにより判定
し(ステップ110)、キャッシュメモリ7に存在する
場合には、キャッシュからデータを読み込む(ステップ
111)。
【0105】キャッシュメモリ7に当該データが存在し
ない場合には、データを格納しているドライブが2次障
害ドライブか否かを判定し(ステップ112)、2次障
害ドライブでない場合には、データをドライブより読み
込む(ステップ121)。
【0106】一方、データを格納しているドライブが2
次障害ドライブの場合には、読み込むべきデータは既に
消失しているので、他のデータおよびパリティを用いて
当該データの回復を行なう。そこで、まず、当該データ
とパリティを共有するすべてのデータおよびパリティを
xとする(ステップ113)。
【0107】当該データとパリティを共有するすべての
データおよびパリティとは、障害発生前の時点におい
て、当該データと同一ドライブアドレスに格納されてい
た他のドライブのデータおよびパリティを示す。例え
ば、図5(c)において、データ#5とパリティを共有
するデータおよびパリティは、データ#4、データ#
6、データ#7、パリティP1である。
【0108】次に、各xについて、xの格納ドライブが
2次障害ドライブかどうかを判定し(ステップ11
4)、2次障害ドライブでない場合には、xをキャッシ
ュメモリ7内に読み込む(ステップ115)。ステップ
114でxが2次障害ドライブに格納されていた場合に
は、xは必ず障害回復領域に格納されている。そこで、
xと2次パリティを共有するすべてのデータおよびパリ
ティ等を読み込み、xを回復しキャッシュメモリ7内に
格納する(ステップ117〜120)。
【0109】xと2次パリティを共有するデータおよび
パリティとは、1台目のドライブの障害回復時に、xと
同一ドライブアドレスの障害回復領域に格納されたデー
タおよびパリティを示す。例えば、図5(c)におい
て、データ#6と2次パリティを共有するデータは、デ
ータ#2、データ#10、2次パリティPP0である。
【0110】そして、すべてのxがキャッシュメモリ7
内に格納されると(ステップ116)、それらの排他的
論理和を取ることにより読み込むべきデータの回復を行
ない(ステップ122)、その結果をCPU1に転送す
る。
【0111】図7および図8は、障害回復後のデータ書
込み処理を示す。
【0112】図7は、データドライブD2が障害を起こ
した場合について示している。図7(a)は、通常領域
に格納されているデータ#0に対する書込み処理の流れ
を示す。
【0113】まず最初に、更新データ#0aが入力され
る(86)。次に、更新前のデータ#0およびパリティ
P0を読み込む(87)。そして、更新前のデータ#0
と、更新データ#0aと、パリティP0とを用いて、新
パリティP0aを生成する(88)。最後に、新データ
#0aと新パリティP0aとをドライブに書込み、処理
を終了する。
【0114】図7(b)は、回復領域に格納されている
データ#2に対する書込み処理の流れを示す。まず最初
に、更新データ#2aが入力される(90)。データ#
2は回復領域に格納されているので、パリティP0およ
び2次パリティPP0を更新する必要がある。したがっ
て、次に、更新前のデータ#2と、パリティP0と、2
次パリティPP0とを読み込む(91)。そして、更新
前のデータ#2と、更新データ#2aと、パリティP0
とを用いて、新パリティP0aを生成する。そして、更
新前のデータ#2と更新データ#2aと2次パリティP
P0とから新2次パリティPP0aを生成して(9
2)、ドライブに更新データ#2aと新パリティP0a
と新2次パリティPP0aとをそれぞれ書き込む(9
3)。
【0115】図8は、パリティドライブD4が障害を起
こした場合について示している。パリティドライブが障
害を起こした場合には、すべてのデータのパリティが回
復領域に格納される。したがって、データの書込み処理
は、更新データ、パリティ、2次パリティの3つの領域
に対して行なわれる。ここでは、更新データ#0aを書
き込む場合の処理を示している。
【0116】まず最初に、更新データ#0aが入力され
る(95)。次に、更新前のデータ#0、パリティP
0、および2次パリティPP0を読み込む(96)。そ
して、更新前のデータ#0と更新データ#0aとパリテ
ィP0とから新パリティP0aを生成する。そして、更
新前のデータ#0と更新データ#0aと2次パリティP
P0とから新2次パリティPP0aを生成し(97)、
ドライブに更新データ#0aと新パリティP0aと新2
次パリティPP0aとをそれぞれ書き込む(98)。
【0117】図14は、本発明のディスクアレイシステ
ムにおけるデータ書込み処理の流れを示すフローチャー
トである。まず最初に、更新前のデータを読み込み(ス
テップ126)、次に当該データのパリティの処理を行
ない(ステップ140)、最後に更新後のデータを書き
込む(ステップ142)。
【0118】パリティ処理140は、以下の手順によっ
て行なう。まず、システムのドライブに障害があるか否
かを判定する(ステップ128)。ここで、ドライブに
障害がない場合には、当該データのパリティを読み込み
(ステップ133)、先に読みだした更新前のデータと
更新後のデータとから新パリティを生成し(ステップ1
34)、ドライブに書き込む(ステップ135)。
【0119】一方、ステップ128で障害がある場合
は、1台のドライブに障害があるのか否かを判定する
(ステップ129)。1台のドライブに障害がありデー
タを空き領域に回復している場合には、以下の処理を行
なう。
【0120】まず、障害ドライブがパリティドライブで
あるか(ステップ131)、または書込みデータが回復
領域に格納されているか(ステップ132)のいずれか
の場合には、当該データのパリティおよび2次パリティ
を読み込み(ステップ136)、新パリティおよび新2
次パリティを生成して(ステップ137)、ドライブに
書き込む(ステップ138)。
【0121】障害ドライブがデータドライブでかつ書込
みデータが通常領域にある場合には(ステップ131,
132)、ステップ133に分岐し、障害がない場合と
同様の手順(ステップ133〜135)によりパリティ
を更新する。
【0122】次に、ステップ129で1台のドライブに
障害があるのでなければ、2台のドライブに障害が起こ
ったのか否かを判定する(ステップ130)。2台のド
ライブに障害が起こった場合には、図15に示す手順に
より、当該データのパリティおよび2次パリティを更新
する(ステップ139)。
【0123】そして、2次障害ドライブが更新データを
書き込むドライブであるか否かを判定し(ステップ14
1)、そうである場合には、更新後のデータを書き込ま
ずに処理を終了する。2次障害ドライブが更新データを
書き込むドライブでないときは、ステップ142へ分岐
する。一方、3台以上のドライブに障害が発生した場合
には、データの回復ができないので、書込み不可として
処理を終了する(ステップ144)。
【0124】図15は、2重障害時のパリティ更新処理
の詳細を示すフローチャートである。まず最初に、1次
障害ドライブがパリティドライブかどうかを判定し(ス
テップ151)、その各々の場合について更に2次障害
ドライブがパリティドライブかどうかを判定する(ステ
ップ152、154、155)。
【0125】1次障害ドライブがパリティドライブでな
く、かつ、2次障害ドライブがパリティドライブである
場合には、すべてのパリティおよび2次パリティが消失
しているため、パリティの更新は行なわずに処理を終了
する(ステップ168)。
【0126】1次障害ドライブがパリティドライブでな
く、かつ、2次障害ドライブもパリティドライブでない
場合には、更新データが回復領域にあるかどうかを判定
する(ステップ153)。回復領域でない場合には、そ
のデータのパリティを読み込み、新パリティを生成し
て、新パリティを書き込む(ステップ156〜15
8)。その後、処理を終了する(ステップ168)。ス
テップ153で回復領域である場合には、そのデータの
パリティおよび2次パリティを読み込み、新パリティお
よび新2次パリティを生成して、新パリティおよび新2
次パリティを書き込む(ステップ159〜161)。そ
の後、処理を終了する(ステップ168)。
【0127】1次障害ドライブがパリティドライブで、
かつ、2次障害ドライブがそのデータの2次パリティを
格納しているドライブである場合には、そのデータのパ
リティを読み込み、新パリティを生成して、新パリティ
を書き込む(ステップ165〜167)。その後、処理
を終了する(ステップ168)。
【0128】1次障害ドライブがパリティドライブで、
かつ、2次障害ドライブがそのデータのパリティを格納
しているドライブである場合には、そのデータの2次パ
リティを読み込み、新2次パリティを生成して、新2次
パリティを書き込む(ステップ162〜164)。その
後、処理を終了する(ステップ168)。
【0129】1次障害ドライブがパリティドライブで、
かつ、2次障害ドライブがそのデータのパリティを格納
しているドライブでなく、かつ、2次障害ドライブがそ
のデータの2次パリティを格納しているドライブでもな
い場合には、そのデータのパリティおよび2次パリティ
を読み込み、新パリティおよび新2次パリティを生成し
て、新パリティおよび新2次パリティを書き込む(ステ
ップ159〜161)。その後、処理を終了する(ステ
ップ168)。
【0130】本実施例で記述したディスクアレイシステ
ムでは、空き領域を障害回復領域として利用する。障害
回復後に、新たなデータ書込み要求が発生し、かつ、空
き領域が不足した場合には、ドライブ容量オーバフロー
の応答をCPU1に返す。しかし、障害回復領域の一部
または全部を破棄して空き領域として開放することによ
り、データ書込み要求を受理することも可能である。後
者の場合には、障害ドライブのデータを回復している障
害回復領域を開放するので、さらにもう1 台のドライブ
が障害を起こした場合には、データを回復することはで
きなくなる。
【0131】空き領域が不足した場合に障害回復領域に
格納している回復データを破棄するか否かは、システム
の利用形態に応じて選択することができる。即ち、ユー
ザが格納することができるデータ量を保証するならば、
回復領域は破棄してデータ書込み要求を受理する。ま
た、システムの高信頼性を保証するならば、回復領域は
破棄せずにデータ書込み要求を拒否する。
【0132】(実施例2)実施例2では、スペアドライ
ブを有するディスクアレイシステムにおける空き領域を
利用した障害回復方法について説明する。
【0133】図16は、4台のデータドライブ40と1
台のパリティディスク41と1台のスペアディスク42
とで構成されるディスクアレイシステムにおける障害回
復方法を説明する図である。
【0134】図16(a)は、まず最初にデータドライ
ブD2が障害を起こしたときの障害回復方法を示す。こ
の場合には、データドライブD2に格納されていたデー
タを他の正常なデータドライブおよびパリティドライブ
から回復して、スペアドライブ42に格納する。障害回
復処理後は、スペアドライブ42をデータドライブD2
として用いる。
【0135】図16(b)は、データドライブD2の障
害回復後に、更にデータドライブD1が障害を起こした
ときの障害回復方法を示す。この場合には、データを回
復するスペアドライブがないので、正常ドライブの空き
領域を利用して障害回復を行なう。即ち、まず最初に正
常ドライブの空き領域にデータ回復領域を確保して、次
に、データドライブD1のデータを他の正常なデータド
ライブおよびパリティドライブから回復して、2次パリ
ティを生成し、これらをデータ回復領域に格納する。
【0136】実施例2における障害回復方法は、実施例
1で説明した方法と全く同様である。障害回復後のデー
タアクセス方法および更にもう1台のドライブが障害を
起こした場合のデータ書込みおよび読出し方法も、実施
例1で説明した方法と全く同様にして行なうことができ
る。
【0137】また、本実施例2ではデータドライブが4
台、パリティドライブが1台、スペアドライブが1台の
構成のディスクアレイについて説明したが、各ドライブ
数はいくつであっても本実施例で説明した障害回復方法
を適用することができる。即ち、データドライブがm
台、パリティドライブがp台、スペアドライブがs台の
ディスクアレイでは、(p+sー1)重障害まではスペ
アドライブを用いたりパリティドライブ数を削減したり
することで障害回復を行ない、(p+s)重障害が起き
たときに正常ドライブの空き領域を用いて障害回復を行
なうことが可能である。
【0138】(実施例3)実施例3では、RAIDレベ
ル3のディスクアレイシステムにおける障害回復方法に
ついて説明する。
【0139】図17(a)は、RAIDレベル3のディ
スクアレイシステムにおけるデータドライブの障害回復
方法を示す。図17(b)は、パリティドライブの障害
回復方法を示す。
【0140】データドライブに障害が起きた場合には、
障害ドライブに格納されていたデータを他の正常なデー
タドライブおよびパリティドライブから回復すると共
に、2次パリティを生成して、正常ドライブの空き領域
に確保した回復領域に格納する。パリティドライブに障
害が起きた場合には、データドライブからパリティを回
復すると共に、2次パリティを生成して、データドライ
ブの空き領域に確保した回復領域に格納する。RAID
レベル3とRAIDレベル4とは、データのアクセス単
位が異なる点を除いて同様のシステムである。従って、
障害回復方法も上記に示したように実施例1と全く同様
の方法で実現することができる。
【0141】本実施例では、スペアドライブがないRA
IDレベル3のディスクアレイシステムの障害回復方法
を示したが、スペアドライブを有するディスクアレイシ
ステムでは、実施例2で説明した障害回復方法を組み合
わせて適用できることは明らかである。
【0142】(実施例4)実施例4では、RAIDレベ
ル5のディスクアレイシステムにおける障害回復方法に
ついて説明する。RAIDレベル5のディスクアレイシ
ステムでは、図20(c)に示すように、パリティをデ
ータと共にすべてのドライブに分散して格納する。従っ
て、パリティドライブとデータドライブの区別はない。
しかしながら、以下に説明するように、このようなシス
テムにおいても本発明の障害回復方法は容易に適用可能
である。
【0143】図18は、RAIDレベル5のディスクア
レイシステムにおいて、データドライブD2に障害が起
きた場合の障害回復方法を示す。まず最初に、他の正常
ドライブの空き領域にデータ回復領域を確保する。次
に、障害を起こしたドライブに格納されていたデータお
よびパリティを他の正常ドライブのデータあるいはパリ
ティを用いて回復する。次に、回復されたデータまたは
パリティを(正常ドライブの数ー1)個ずつにまとめ、
それぞれに2次パリティを生成する。この回復されたデ
ータまたはパリティと新たに生成された2次パリティと
を、正常ドライブに確保した回復領域に格納する。
【0144】図18(a)は新たに生成された2次パリ
ティを固定ドライブに格納する場合を示し、図18
(b)は新たに生成された2次パリティを全てのディス
クに分散格納する場合を示す。
【0145】前者の場合には、障害回復領域の管理が比
較的容易である半面、2次パリティを格納するドライブ
にアクセスが集中するという欠点がある。一方、後者の
場合には、2次パリティを格納するドライブが分散して
いるので、アクセスの集中は回避できるが、回復領域の
管理が複雑となる。システムの利用形態に応じて回復領
域の管理方法を選択することができる。
【0146】本実施例では、スペアドライブがないRA
IDレベル5のディスクアレイシステムの障害回復方法
を示したが、スペアドライブを有するディスクアレイシ
ステムでは、実施例2で説明した障害回復方法を組み合
わせて適用できることは明らかである。
【0147】(実施例5)実施例5では、正常なディス
クアレイシステムにおいて、空き領域にデータの複製を
格納することでデータ読出し処理性能を向上する方法に
ついて説明する。
【0148】図19は、空き領域を用いた読出し処理の
高速化方法の一実施例である。
【0149】図19(a)では、まず最初に、CPU1
からデータ#0、データ#4、データ#8を読み込む要
求がADC2に発行される(201)。次に、データド
ライブD0をアクセスして、各データをADC2内のキ
ャッシュメモリに格納する(202)。そして、そのデ
ータをCPU1に転送する。その後、キャッシュメモリ
内に格納されたデータが、キャッシュメモリ内から追い
出される際に、ドライブの空き領域に該データを格納す
る(204)。
【0150】次に、図19(b)に示すように、データ
#0、データ#4、データ#8に対する2回目の読出し
要求がCPU1から発行された際に(205)、該デー
タを空き領域から読みだして(206)、データをCP
U1に転送する。1回目のデータアクセス時にはすべて
のデータをデータドライブ#0から読みださなければな
らなかったのに対して、2回目のデータアクセス時には
空き領域に分散格納されたデータを並列に読みだすこと
ができるので、データ読み込み処理を高速に実行するこ
とができる。
【0151】本実施例ではデータ読み込み時に、該デー
タを空き領域に分散格納する方法を示したが、データを
格納する際に空き領域にも分散格納することにより同様
の効果を得ることができる。空き領域に格納したデータ
は、新たなデータを格納するための領域がなくなったと
きに順次破棄する。このようにすることで、空き領域を
性能向上のために有効に利用することが可能となる。
【0152】
【発明の効果】以上説明したように、本発明によれば、
ドライブの空き領域を利用して障害回復を行なっている
ので、ドライブを新しく追加することなくシステムの信
頼性を向上することが可能となる。また、スペアドライ
ブを有するディスクアレイシステムにおいても、本発明
による障害回復方法を適用することで更に信頼性を向上
することができる。さらに、空き領域にデータの複製を
分散格納することによりデータ読出し処理の性能を向上
することが可能となる。
【0153】また、本発明によれば、スペアドライブを
有するディスクアレイシステムにおいて、システムが保
持するすべてのスペアディスクを他ドライブの障害回復
に使用している時に更に他の一台のドライブが障害を起
こした場合でも、該ドライブのデータを他の正常ドライ
ブの空き領域を用いて回復することができる。さらに、
正常なドライブの空き領域に障害ドライブのデータを回
復する方法として、更に他の1台のドライブが障害を起
こしてもデータを保証することが可能な2次パリティを
生成することができる。また、空き領域に障害ドライブ
のデータを回復した後に、更に他の1台のドライブが障
害を起こした場合でも、データの読みだしおよび書き込
みを行なうことができる。さらに、システムが正常に動
作しているときにおいても、ドライブの空き領域にデー
タを複製して格納することにより、データ読出し処理性
能を向上させることができる。
【図面の簡単な説明】
【図1】ディスクアレイの全体構成図
【図2】ディスクアレイのクラスタ内構成図
【図3】空き領域を利用したデータドライブの障害回復
方法の説明図
【図4】空き領域を利用したパリティドライブの障害回
復方法の説明図
【図5】データドライブの2重障害回復方法の説明図
【図6】パリティドライブの2重障害回復方法の説明図
【図7】データドライブ障害回復後のデータ書込み方法
の説明図
【図8】パリティドライブ障害回復後のデータ書込み方
法の説明図
【図9】障害前の論理アドレス変換表の説明図
【図10】障害回復後の論理アドレス変換表の説明図
【図11】ドライブアドレス管理表の説明図
【図12】障害ドライブ管理表の説明図
【図13】データ読み込み処理のフローチャート
【図14】データ書込み処理のフローチャート
【図15】2重障害時のパリティ処理のフローチャート
【図16】第2の実施例における障害回復方法の説明図
【図17】第3の実施例における障害回復方法の説明図
【図18】第4の実施例における障害回復方法の説明図
【図19】第5の実施例における障害回復方法の説明図
【図20】ディスクアレイのRAIDの説明図
【図21】スペアドライブを用いた従来の障害回復方法
の説明図
【符号の説明】
1:CPU、2:アレイディスクコントローラ(AD
C)、3:アレイディスクユニット(ADU)、4:外
部インターフェースパス、5:チャネルパスディレク
タ、6:チャネルパス、7:キャッシュメモリ、8:ド
ライブパス、9:アレイディスクユニットパス、10:
論理グループ、12:ドライブ、13:クラスタ、1
4:ドライブ側キャッシュアダプタ(C Adp)、1
5:インターフェースアダプタ、16:チャネルパスス
イッチ、17:制御信号線、18:データ線、19:パ
ス、20:マイクロプロセッサ1(MP1)、21:チ
ャネルインターフェース(CH IF)回路、22:デ
ータ制御回路(DCC)、23:グループアドレス変換
回路(GAT)、24:チャネル側キャッシュアダプタ
(C Adp)、27:障害回復制御部(FTC)、2
8:ドライブインターフェース回路(Drive I
F)、29:マイクロプロセッサ3(MP3)、30:
データアドレステーブル、31:サブキャッシュアダプ
タ、34:ドライブアダプタ(Drive Adp)、
35:ドライブパス、36:パリティ生成回路(P
G)、40:データドライブ、41:パリティドライ
ブ、42:スペアドライブ、99:論理アドレス変換
表、100:ドライブアドレス管理表、101:障害ド
ライブ管理表。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 淳 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】複数台のディスク装置を備えたディスクア
    レイ装置における障害回復方法であって、 書込むべき一群のデータからそれらのデータのエラー訂
    正用のデータを生成し、それらの一群の書込みデータと
    エラー訂正用データとを異なるディスク装置に分散して
    格納し、あるディスク装置が障害を起こしたときには、
    そのディスク装置のデータを正常なディスク装置に保持
    された該一群の書込みデータの内の他のデータおよび該
    エラー訂正用データから回復し、この回復されたデータ
    を正常なディスク装置の空き領域に分散して格納するこ
    とを特徴とするディスクアレイ装置の障害回復方法。
  2. 【請求項2】データを格納するデータディスク装置と該
    データディスク装置に障害が起こったときその障害ディ
    スク装置を代替する予備ディスク装置とを含む複数台の
    ディスク装置を備えたディスクアレイ装置における障害
    回復方法であって、 書込むべき一群のデータからそれらのデータのエラー訂
    正用のデータを生成し、それらの一群の書込みデータと
    エラー訂正用データとを異なるディスク装置に分散して
    格納し、あるディスク装置が障害を起こしたときは、そ
    の障害ディスク装置のデータを回復して上記予備ディス
    ク装置に格納し、それ以後はその予備ディスク装置で障
    害ディスク装置を代替し、さらにあるディスク装置が障
    害を起こしたとき、それ以前に発生した障害により上記
    予備ディスク装置が既にすべて使用されていた場合は、
    その障害を起こしたディスク装置のデータを正常なディ
    スク装置に保持された該一群の書込みデータの内の他の
    データおよび該エラー訂正用データから回復し、回復さ
    れたデータを正常なディスク装置の空き領域に分散して
    格納することを特徴とするディスクアレイ装置の障害回
    復方法。
  3. 【請求項3】前記回復されたデータに対して2次エラー
    訂正用データを生成し、この2次エラー訂正用データも
    回復されたデータとともに正常なディスク装置の空き領
    域に格納することを特徴とする請求項1または2に記載
    のディスクアレイ装置の障害回復方法。
  4. 【請求項4】(m−1)台のデータディスク装置と1台
    のエラー訂正用データディスク装置とからなるm台のデ
    ィスク装置を備え、転送されたデータを該(mー1)台
    のデータディスク装置に分散格納し、該(mー1)台の
    データディスク装置に分散格納したデータから生成した
    エラー訂正用データを該1台のエラー訂正用データディ
    スク装置に格納するディスクアレイ装置に適用する障害
    回復方法であって、 あるディスク装置が障害を起こしたときに、その障害を
    起こしたディスク装置のデータを他の正常なディスク装
    置のデータから回復し、該回復されたデータを(mー
    2)台の正常なディスク装置に分散格納するとともに、
    該(mー2)台に分散格納したデータから2次エラー訂
    正用データを生成し、1台の正常なディスク装置に格納
    することを特徴とするディスクアレイ装置の障害回復方
    法。
  5. 【請求項5】(m−1)台のデータディスク装置と、1
    台のエラー訂正用データディスク装置と、該データディ
    スク装置またはエラー訂正用データディスク装置に障害
    が起こったときその障害ディスク装置を代替するs台の
    予備ディスク装置とを備え、転送されたデータを該(m
    ー1)台のデータディスク装置に分散格納し、該(mー
    1)台のデータディスク装置に分散格納したデータから
    生成したエラー訂正用データを上記1台のエラー訂正用
    データディスク装置に格納するディスクアレイ装置に適
    用する障害回復方法であって、 s台のデータディスク装置またはエラー訂正用データデ
    ィスク装置が障害を起こして上記s台の予備ディスク装
    置により代替した後に、さらにs+1台目のディスク装
    置が障害を起こしたとき、その障害を起こしたディスク
    装置のデータを他の正常なディスク装置のデータから回
    復し、該回復されたデータを(mー2)台の正常なディ
    スク装置に分散格納するとともに、該(mー2)台に分
    散格納したデータから2次エラー訂正用データを生成
    し、1台の正常なディスク装置に格納することを特徴と
    するディスクアレイ装置の障害回復方法。
  6. 【請求項6】あるディスク装置に障害が発生したとき
    に、他の正常なディスク装置の空き領域の容量の合計
    が、該障害が発生したディスク装置に格納しているデー
    タの容量よりも大きい場合には、該障害が発生したディ
    スク装置のデータを他の正常なディスク装置のデータに
    より回復し、該回復されたデータを他の正常なディスク
    装置の空き領域に格納し、他の正常なディスク装置の空
    き領域の合計が該障害が発生したディスク装置に格納し
    ているデータの容量よりも小さい場合には、該障害が発
    生したディスク装置のデータの一部を回復するまたは回
    復しないことを特徴とする請求項1ないし5に記載のデ
    ィスクアレイ装置の障害回復方法。
  7. 【請求項7】あるディスク装置の障害を他の正常なディ
    スク装置の空き領域を用いて回復した後で新たなデータ
    書込み要求が発生したときに、データを書き込むための
    空き領域が不足した場合において、障害回復領域の一部
    または全部を破棄することによりデータ書込みのための
    空き領域を確保することを特徴とする請求項1ないし6
    に記載のディスクアレイ装置の障害回復方法。
  8. 【請求項8】空き領域を利用した障害回復を行なった後
    に新たなディスク装置が障害を起こしたとき、該障害デ
    ィスク装置のデータについては、該障害ディスク装置の
    データとエラー訂正用データを共有する他のデータおよ
    びエラー訂正用データから回復してアクセスするように
    し、 この際、該障害ディスク装置のデータとエラー訂正用デ
    ータを共有する他のデータまたはエラー訂正用データが
    該障害ディスク装置の回復領域に格納されていた場合に
    は、該回復領域に格納されていたデータまたはエラー訂
    正用データと2次エラー訂正用データを共有する他のデ
    ータおよび2次エラー訂正用データに基づいて、該回復
    領域に格納されていたデータまたはエラー訂正用データ
    を回復し、これによりアクセス要求されたデータを回復
    するためのデータまたはエラー訂正用データを用意する
    ことを特徴とする請求項3ないし5に記載のディスクア
    レイ装置の障害回復方法。
  9. 【請求項9】複数台のディスク装置と、該複数台のディ
    スク装置を管理する制御装置とを備え、上位装置から
    は、1台の論理ディスク装置のようにデ−タの入出力要
    求を発行することができるディスクアレイ装置に適用す
    るデータ格納方法であって、 少なくとも一つ以上のディスク装置のデータを複数のデ
    ィスク装置の空き領域に格納することを特徴とするデー
    タ格納方法。
  10. 【請求項10】複数台のディスク装置と、 上位装置から1回に書込みする単位で転送されてきた1
    つのデ−タを複数のデータ要素に分割する手段と、 上記複数のデータ要素からエラー訂正用データを生成す
    る手段と、 上記複数のデータ要素および上記エラー訂正用データ
    を、上記複数台のディスク装置に分散して格納する手段
    と、 上記ディスク装置の障害を検出する手段と、 上記ディスク装置のうちのあるディスク装置が障害を起
    こしたときに、そのディスク装置のデータ要素を正常な
    ディスク装置のデータ要素から回復する回復手段と、 回復されたデータ要素を正常なディスク装置の空き領域
    に分散格納する手段とを備えたことを特徴とするディス
    クアレイ装置。
  11. 【請求項11】複数台のディスク装置と、 上位装置から1回に書込みする単位で転送されてきたデ
    −タを、複数個保持するバッファ手段と、 上記複数個のデータからエラー訂正用データを生成する
    手段と、 上記複数個のデータおよび上記エラー訂正用データを、
    上記複数台のディスク装置に分散して格納する手段と、 上記ディスク装置の障害を検出する手段と、 上記ディスク装置のうちのあるディスク装置が障害を起
    こしたときに、そのディスク装置のデータを正常なディ
    スク装置のデータから回復する回復手段と、 回復されたデータを正常なディスク装置の空き領域に分
    散格納する手段とを備えたことを特徴とするディスクア
    レイ装置。
  12. 【請求項12】データを格納する複数台のデータディス
    ク装置と、 データディスク装置に障害が起こったときに、その障害
    ディスク装置を代替する予備ディスク装置と、 上位装置から1回に書込みする単位で転送されてきた1
    つのデ−タを複数のデータ要素に分割する手段と、 上記複数のデータ要素からエラー訂正用データを生成す
    る手段と、 上記複数のデータ要素および上記エラー訂正用データ
    を、上記複数台のディスク装置に分散して格納する手段
    と、 上記ディスク装置の障害を検出する手段と、 上記ディスク装置のうちのあるディスク装置が障害を起
    こしたときに、それ以前に発生した障害により上記予備
    ディスク装置が既にすべて使用されていた場合は、その
    障害を起こしたディスク装置のデータ要素を正常なディ
    スク装置のデータ要素から回復する回復手段と、 回復されたデータ要素を正常なディスク装置の空き領域
    に分散格納する手段とを備えたことを特徴とするディス
    クアレイ装置。
  13. 【請求項13】データを格納する複数台のデータディス
    ク装置と、 データディスク装置に障害が起こったときに、その障害
    ディスク装置を代替する予備ディスク装置と、 上位装置から1回に書込みする単位で転送されてきたデ
    −タを、複数個保持するバッファ手段と、 上記複数個のデータからエラー訂正用データを生成する
    手段と、 上記複数個のデータおよび上記エラー訂正用データを、
    上記複数台のディスク装置に分散して格納する手段と、 上記ディスク装置の障害を検出する手段と、 上記ディスク装置のうちのあるディスク装置が障害を起
    こしたときに、それ以前に発生した障害により上記予備
    ディスク装置が既にすべて使用されていた場合は、その
    障害を起こしたディスク装置のデータを正常なディスク
    装置のデータから回復する回復手段と、 回復されたデータを正常なディスク装置の空き領域に分
    散格納する手段とを備えたことを特徴とするディスクア
    レイ装置。
  14. 【請求項14】さらに、前記回復されたデータに対して
    2次エラー訂正用データを生成する手段と、この2次エ
    ラー訂正用データも回復されたデータとともに正常なデ
    ィスク装置の空き領域に格納する手段とを備えたことを
    特徴とする請求項10ないし13に記載のディスクアレ
    イ装置。
  15. 【請求項15】(m−1)台のデータディスク装置と1
    台のエラー訂正用データディスク装置とからなるm台の
    ディスク装置を備え、転送されたデータを該(mー1)
    台のデータディスク装置に分散格納し、該(mー1)台
    のデータディスク装置に分散格納したデータから生成し
    たエラー訂正用データを該1台のエラー訂正用データデ
    ィスク装置に格納するディスクアレイ装置であって、 上記ディスク装置の障害を検出する手段と、 障害を起こしたディスク装置のデータを他の正常なディ
    スク装置のデータから回復する回復手段と、 該回復されたデータを(mー2)台の正常なディスク装
    置に分散格納する手段と、 該(mー2)台に分散格納したデータから2次エラー訂
    正用データを生成する手段と、 生成した2次エラー訂正用データを、1台の正常なディ
    スク装置に、格納する手段とを備えたことを特徴とする
    ディスクアレイ装置。
  16. 【請求項16】(m−1)台のデータディスク装置と、
    1台のエラー訂正用データディスク装置と、該データデ
    ィスク装置またはエラー訂正用データディスク装置に障
    害が起こったときその障害ディスク装置を代替するs台
    の予備ディスク装置とを備え、転送されたデータを該
    (mー1)台のデータディスク装置に分散格納し、該
    (mー1)台のデータディスク装置に分散格納したデー
    タから生成したエラー訂正用データを上記1台のエラー
    訂正用データディスク装置に格納するディスクアレイ装
    置であって、 上記ディスク装置の障害を検出する手段と、 s台のデータディスク装置またはエラー訂正用データデ
    ィスク装置が障害を起こして上記s台の予備ディスク装
    置により代替した後に、さらにs+1台目のディスク装
    置が障害を起こしたとき、その障害を起こしたディスク
    装置のデータを他の正常なディスク装置のデータから回
    復する回復手段と、 該回復されたデータを(mー2)台の正常なディスク装
    置に分散格納する手段と、 該(mー2)台に分散格納したデータから2次エラー訂
    正用データを生成する手段と、 生成した2次エラー訂正用データを、1台の正常なディ
    スク装置に、格納する手段とを備えたことを特徴とする
    ディスクアレイ装置。
  17. 【請求項17】前記回復手段は、 回復しようとする障害ディスク装置に格納されているデ
    ータの容量よりも、他の正常なディスク装置の空き領域
    の容量の合計のほうが大きい場合には、該障害ディスク
    装置のデータを他の正常なディスク装置のデータにより
    回復し、 回復しようとする障害ディスク装置に格納されているデ
    ータの容量よりも、他の正常なディスク装置の空き領域
    の容量の合計のほうが小さい場合には、該障害ディスク
    装置のデータの一部を回復するまたは回復しないことを
    特徴とする請求項10ないし16に記載のディスクアレ
    イ装置。
  18. 【請求項18】さらに、あるディスク装置の障害を他の
    正常なディスク装置の空き領域を用いて回復した後で新
    たなデータ書込み要求が発生したときに、データを書き
    込むための空き領域が不足した場合において、障害回復
    領域の一部または全部を破棄することによりデータ書込
    みのための空き領域を確保する手段を備えたことを特徴
    とする請求項10ないし17に記載のディスクアレイ装
    置。
  19. 【請求項19】さらに、前記ディスク装置のドライブア
    ドレス毎に回復領域か否かを示す回復フラグを格納した
    ドライブアドレス管理表を備えたことを特徴とする請求
    項10ないし18に記載のディスクアレイ装置。
  20. 【請求項20】さらに、ドライブの空き領域を管理する
    ために、前記ディスク装置のドライブアドレス毎、また
    は、ドライブアドレスとドライブ番号の組毎に、該アド
    レスに対応する領域が使用されているか否かを示す使用
    フラグを格納したドライブアドレス管理表を備えたこと
    を特徴とする請求項10ないし19に記載のディスクア
    レイ装置。
  21. 【請求項21】さらに、前記ディスク装置毎に、該ディ
    スク装置が正常かあるいは何番目に障害を起こしたかを
    示すドライブ障害情報を格納した障害ドライブ管理表を
    備えたことを特徴とする請求項10ないし20に記載の
    ディスクアレイ装置。
  22. 【請求項22】さらに、空き領域を利用した障害回復を
    行なった後に新たなディスク装置が障害を起こしたと
    き、該障害ディスク装置のデータについては、該障害デ
    ィスク装置のデータとエラー訂正用データを共有する他
    のデータおよびエラー訂正用データから回復してアクセ
    スするアクセス手段と、 該アクセス手段によるアクセスの際に、該障害ディスク
    装置のデータとエラー訂正用データを共有する他のデー
    タまたはエラー訂正用データが該障害ディスク装置の回
    復領域に格納されていた場合には、該回復領域に格納さ
    れていたデータまたはエラー訂正用データと2次エラー
    訂正用データを共有する他のデータおよび2次エラー訂
    正用データに基づいて、該回復領域に格納されていたデ
    ータまたはエラー訂正用データを回復し、これによりア
    クセス要求されたデータを回復するためのデータまたは
    エラー訂正用データを用意する手段とを備えたことを特
    徴とする請求項14ないし16に記載のディスクアレイ
    装置。
  23. 【請求項23】複数台のディスク装置と、該複数台のデ
    ィスク装置を管理する制御装置とを備え、上位装置から
    は、1台の論理ディスク装置のようにデ−タの入出力要
    求を発行することができるディスクアレイ装置であっ
    て、 少なくとも一つ以上のディスク装置のデータを複数のデ
    ィスク装置の空き領域に分散して格納する手段を備えた
    ことを特徴とするディスクアレイ装置。
  24. 【請求項24】複数台のディスク装置と、該複数台のデ
    ィスク装置を管理する制御装置とを備え、上位装置から
    は、1台の論理ディスク装置のようにデ−タの入出力要
    求を発行することができるディスクアレイ装置であっ
    て、 上位装置からの書込み要求に対し、該書込み要求で指定
    されたディスク装置のアドレスにデータを書込むととも
    に、他のディスク装置の空き領域にも同じデータを書込
    む書込み手段と、 上位装置からの読出し要求に対し、該読出し要求で指定
    されたディスク装置のアドレスまたは該データを格納し
    ている他のディスク装置の空き領域のいずれか一方から
    読出す読出し手段とを備えたことを特徴とするディスク
    アレイ装置。
  25. 【請求項25】複数台のディスク装置と、該複数台のデ
    ィスク装置を管理する制御装置とを備え、上位装置から
    は、1台の論理ディスク装置のようにデ−タの入出力要
    求を発行することができるディスクアレイ装置であっ
    て、 データの読出し時に、読出したデータを他のディスク装
    置の空き領域に格納しておき、該データの2回目以降の
    読出し時には、指定されたアドレスまたは該データを格
    納している他のディスク装置の空き領域のいずれか一方
    から読出す読出し手段を備えたことを特徴とするディス
    クアレイ装置。
  26. 【請求項26】さらに、新たなデータの書込み要求が発
    生したときに、データを書込むための空き領域が不足し
    た場合において、空き領域に格納したデータの一部を破
    棄することによりデータ書込みのための空き領域を確保
    する手段を備えたことを特徴とする請求項23ないし2
    5に記載のディスクアレイ装置。
JP5034866A 1993-01-31 1993-01-31 ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 Pending JPH06230903A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5034866A JPH06230903A (ja) 1993-01-31 1993-01-31 ディスクアレイ装置の障害回復方法、およびディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5034866A JPH06230903A (ja) 1993-01-31 1993-01-31 ディスクアレイ装置の障害回復方法、およびディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH06230903A true JPH06230903A (ja) 1994-08-19

Family

ID=12426090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5034866A Pending JPH06230903A (ja) 1993-01-31 1993-01-31 ディスクアレイ装置の障害回復方法、およびディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH06230903A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0820059A2 (en) * 1996-07-18 1998-01-21 Hitachi, Ltd. Magnetic disk storage device controle method, disk array system control method and disk array system
US6301432B2 (en) 1996-04-12 2001-10-09 Sony Corporation Data recording/reproducing apparatus with a plurality of recording/reproducing units and capable of data recovery
WO2004090710A1 (ja) * 1996-04-12 2004-10-21 Hiroyuki Miyawaki データ記録再生装置
JP2008519350A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム
JP2008523484A (ja) * 2004-12-10 2008-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージ・サービスに関する資源管理
JP2009217408A (ja) * 2008-03-07 2009-09-24 Nec Corp データ格納装置のデータ復旧方法及びその装置並びにディスクアレイシステムのデータ復旧方法及びその装置
US7689858B2 (en) 2006-08-03 2010-03-30 Fujitsu Limited Data-recovery control device
JP2014219787A (ja) * 2013-05-07 2014-11-20 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
JP2015148919A (ja) * 2014-02-06 2015-08-20 日本電気株式会社 ストレージシステム
JP2016038767A (ja) * 2014-08-08 2016-03-22 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301432B2 (en) 1996-04-12 2001-10-09 Sony Corporation Data recording/reproducing apparatus with a plurality of recording/reproducing units and capable of data recovery
WO2004090710A1 (ja) * 1996-04-12 2004-10-21 Hiroyuki Miyawaki データ記録再生装置
US6057974A (en) * 1996-07-18 2000-05-02 Hitachi, Ltd. Magnetic disk storage device control method, disk array system control method and disk array system
EP0820059A3 (en) * 1996-07-18 2001-02-21 Hitachi, Ltd. Magnetic disk storage device controle method, disk array system control method and disk array system
US6496318B1 (en) 1996-07-18 2002-12-17 Hitachi, Ltd. Magnetic disk storage device control method, disk array system control method and disk array system
EP0820059A2 (en) * 1996-07-18 1998-01-21 Hitachi, Ltd. Magnetic disk storage device controle method, disk array system control method and disk array system
US9043639B2 (en) 2004-11-05 2015-05-26 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
JP2008519350A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム
JP2008523484A (ja) * 2004-12-10 2008-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージ・サービスに関する資源管理
JP4726909B2 (ja) * 2004-12-10 2011-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ階層内のデータの冗長記憶を管理する方法、システムおよびコンピュータ・プログラム
US8464018B2 (en) 2004-12-10 2013-06-11 International Business Machines Corporation Resource management for data storage services
US7689858B2 (en) 2006-08-03 2010-03-30 Fujitsu Limited Data-recovery control device
JP2009217408A (ja) * 2008-03-07 2009-09-24 Nec Corp データ格納装置のデータ復旧方法及びその装置並びにディスクアレイシステムのデータ復旧方法及びその装置
JP2014219787A (ja) * 2013-05-07 2014-11-20 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
JP2015148919A (ja) * 2014-02-06 2015-08-20 日本電気株式会社 ストレージシステム
JP2016038767A (ja) * 2014-08-08 2016-03-22 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US9519542B2 (en) 2014-08-08 2016-12-13 Fujitsu Limited Storage control device and storage control method

Similar Documents

Publication Publication Date Title
US5579474A (en) Disk array system and its control method
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
EP0526487B1 (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
JP2831072B2 (ja) ディスクドライブメモリ
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US5404361A (en) Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem
US5430855A (en) Disk drive array memory system using nonuniform disk drives
US5488701A (en) In log sparing for log structured arrays
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
EP0608344A1 (en) System for backing-up data for rollback
JPH07230362A (ja) ディスクアレイ装置
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JPH07152499A (ja) ディスクアレイ装置におけるパリティ格納方法、障害回復方法およびディスクアレイ装置
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JP2857288B2 (ja) ディスクアレイ装置
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JP3256329B2 (ja) ディスクアレイ装置及びその制御方法
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法
JPH1031563A (ja) 記憶装置
JP3718506B2 (ja) ディスクアレイ装置及びその制御方法
JP3542577B2 (ja) ディスクアレイ装置及びその制御方法