JPH06332632A - ディスクアレイ装置及びその制御方法 - Google Patents

ディスクアレイ装置及びその制御方法

Info

Publication number
JPH06332632A
JPH06332632A JP5125766A JP12576693A JPH06332632A JP H06332632 A JPH06332632 A JP H06332632A JP 5125766 A JP5125766 A JP 5125766A JP 12576693 A JP12576693 A JP 12576693A JP H06332632 A JPH06332632 A JP H06332632A
Authority
JP
Japan
Prior art keywords
data
drive
parity
correction code
stored
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
Application number
JP5125766A
Other languages
English (en)
Other versions
JP3256329B2 (ja
Inventor
Hitoshi Tsunoda
仁 角田
Yoshifumi Takamoto
良史 高本
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 JP12576693A priority Critical patent/JP3256329B2/ja
Priority to US08/248,452 priority patent/US5579474A/en
Publication of JPH06332632A publication Critical patent/JPH06332632A/ja
Priority to US08/626,332 priority patent/US6049890A/en
Priority to US09/444,562 priority patent/US6256749B1/en
Priority to US09/862,608 priority patent/US6557140B2/en
Application granted granted Critical
Publication of JP3256329B2 publication Critical patent/JP3256329B2/ja
Priority to US10/388,634 priority patent/US7185265B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】データを分散させて処理性能を向上させるRA
ID(レベル5)のディスクアレイシステムにおいて、
データの書込み時のオーバヘッドを減少させる。 【構成】パリティを作成されるグループにおいて、二重
化領域を設ける。書き込み時において、書き込むデータ
を二重化領域にとりあえず書き込み(ステップ50
2)、その時点でCPUに対し書き込み処理を終了とす
る(508)。パリティ作成は後の適当なタイミング
(516)で行い、SCSIドライブに書き込む(52
2)。つまり、パリティの作成をデータの書き込みとは
別に、効率良くスケジューリングする。 【効果】データの書き込み時において、書き込むデータ
を二重化領域に書き込み、このように、データのSCS
Iドライブへの書き込みと、パリティの作成を、時間的
に独立に処理することにより、書込み時のパリティ作成
オーバヘッドはCPUには見えなくなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュ−タシステムに
係り、特に高性能な入出力動作を可能とするディスクフ
ァイルシステムに関する。
【0002】
【従来の技術】現在のコンピュータシステムにおいて
は、CPU等の上位側が必要とするデ−タは2次記憶装
置に格納され、CPUが必要とする時に応じ2次記憶装
置に対してデ−タの書込み、読みだしを行っている。こ
の2次記憶装置としては一般に不揮発な記憶媒体が使用
され、代表的なものとして磁気ディスク装置(以下ドラ
イブとする)、光ディスクなどがあげられる。
【0003】近年高度情報化に伴い、コンピュータシス
テムにおいて、2次記憶装置の高性能化が要求されてき
た。その一つの解として、多数の比較的容量の小さなド
ライブにより構成されるディスクアレイが考えられてい
る。
【0004】「D.Patterson,G.Gibson,and R.H.Kartz;A
Case for Redundant Arrays of Inexpensive Disks(RA
ID),in ACM SIGMOD Conference,Chicago,IL,(June198
8)」において、データを分割して並列に処理を行うディ
スクアレイ(レベル3)とデータを分散して、独立に扱
うディスクアレイ(レベル5)について、その性能およ
び信頼性の検討結果が報告されている。現在この論文に
書かれている方式が最も一般的なディスクアレイと考え
られている。
【0005】以下にデータを分散して、独立に扱うディ
スクアレイ(レベル5)について説明する。レベル5の
ディスクアレイでは個々のデータを分割せずに独立に扱
い、多数の比較的容量の小さなドライブに分散して格納
するものである。現在、一般に使用されている汎用大型
コンピュータシステムの2次記憶装置では、1ドライブ
当りの容量が大きいため、他の読み出し/書込み要求に
当該ドライブが使用されて、そのドライブを使用できず
に待たされることが多く発生した。このタイプのディス
クアレイでは汎用大型コンピュータシステムの2次記憶
装置で使用されている大容量のドライブを、多数の比較
的容量の小さなドライブで構成し、データを分散して格
納してあるため、読み出し/書込み要求が増加してもデ
ィスクアレイの複数のドライブで分散して処理するた
め、読み出し/書込み要求がまたされることが減少す
る。しかし、ディスクアレイは、このように多数のドラ
イブにより構成されるため、部品点数が増加し障害が発
生する確率が高くなる。そこで、信頼性の向上を図る目
的で、パリティを用意する必要がある。
【0006】このパリティによりデータを格納したドラ
イブに障害が発生した場合、その障害ドライブ内のデー
タを復元することが可能となる。ディスクアレイではデ
ータからパリティを作成しデータと同様にドライブに格
納しておく。この時、パリティは、パリティの作成に関
与したデータとは別のドライブに格納される。
【0007】これらのディスクアレイでは、現在一般に
使用されている汎用大型コンピュータシステムと同様、
2次記憶装置内では、個々のデータの格納場所(アドレ
ス)は予め指定したアドレスに固定され、CPUから当
該データへ読みだしまたは書込みする場合、この固定さ
れたアドレスへアクセスすることになっている。この分
散して格納するディスクアレイ(レベル5)ではストレ
−ジテクノロジコーポレーション(以下STKとする)
から製品発表がされている。米国特許WO 91/20
076では、レベル5の基本アーキテクチャにおいて、
動的に変更可能なアドレスのテーブルを用意することに
より、データ圧縮を行いデータの書込み処理において、
トラック単位で書込み先のアドレスを動的に変換する方
法について開示されている。
【0008】また、特開平4−230512にはレベル
5において、書き込み時に書き込むデータと、この書き
込みにより更新したパリティを、それぞれ別の場所に書
き込む方法について開示されている。さらに、IBM社
のディスクアレイ(9337)では、レベル5において
WAD(ライト アシスト デバイス)を設けることが
発表されている。
【0009】
【発明が解決しようとする課題】現在の汎用大型計算機
システム等ではドライブにより構成される2次記憶装置
内では、CPUから転送されてくるデータは個々のデー
タの格納場所(アドレス)が予め指定したアドレスに固
定され、CPUから当該データへ読みだしまたは書込む
場合は、この固定されたアドレスへアクセスすることに
なる。これは、ディスクアレイにおいても同じである。
データを分割して並列に処理を行うディスクアレイ(レ
ベル3)ではこのようにアドレスを固定しても影響は無
いが、データを分散して、独立に扱うディスクアレイ
(レベル5)ではアドレスを固定した場合、書込み時に
大きな処理オーバヘッドが必要になる。以下それについ
て説明する。
【0010】図11は前記公知例でD.Pattersonらが提
案したRAIDに述べられている、データを分散して、
独立に扱うディスクアレイ(レベル5)内部のデータア
ドレスを示している。この各アドレスにあるデータは1
回の読み出し/書込み処理される単位で、個々のデータ
は独立している。また、RAIDで述べられているアー
キテクチャではデータに対するアドレスは固定されてい
る。前述したようにこのようなシステムでは、信頼性を
向上するためパリティを設定することが不可欠である。
本システムでは各ドライブ内の同一アドレスのデータに
よりパリティが作成される。すなわち、ドライブ#1か
ら4までのアドレス(1,1)のデータによりパリティ
が作成され、パリティを格納するドライブの(1,1)
に格納される。本システムでは読み出し/書込み処理は
現在の汎用大型計算機システムと同様に各ドライブに対
し当該データをアクセスする。
【0011】このようなディスクアレイにおいて、例え
ばドライブ#3のアドレス(2,2)のデータを更新す
る場合、まず、更新される前のドライブ#3の(2,
2)のデータとパリティを格納してあるドライブの
(2,2)のパリティを読みだし(1)、これらと更新
する新しいデータとで排他的論理和をとり、新たなパリ
ティを作成たする(2)。パリティの作成完了後、更新
する新しいデータをドライブ#3の(2,2)に、新パ
リティをパリティを格納するドライブの(2,2)に格
納する(3)。
【0012】図13に示すように、このようなレベル5
のディスクアレイでは、データの格納されているドライ
ブ、パリティの格納されているドライブから古いデータ
とパリティを読みだすため、ディスクを平均1/2回転
待ち、それから読みだしてパリティを作成する。この新
しく作成したパリティを書き込むため更に一回転必要と
なり、データを書き替える場合最低で1.5回転待たな
ければならない。ドライブにおいては1.5回転ディス
クの回転を待つということは非常に大きなオーバヘッド
となる。このような書込み時のオーバヘッドを削減する
ため、書込み先のアドレスを動的に変換する方法が考え
られ、WO 91/20076に開示されている。
【0013】また、前記特開平4−230512におい
ても、書き込み時において書き込みデータをそのまま、
書き込みデータが書き込まれるアドレスではなく別のア
ドレスに、書き込むことにより書き込みオーバヘッドを
削減する方法について開示されている。CPU側から書
き込むデータが送られてくるとですぐにパリティの更新
を行ない、更新後のパリティを書き込む。このように、
レベル5のディスクアレイでは、読みだしと比較し書き
込み時ではパリティ生成とこの生成したパリティを書き
込む処理のオーバヘッドが非常に大きいため、CPUか
らの読みだし、書き込み要求が多いときには、この処理
オーバヘッドが性能低下の大きな原因となる。
【0014】本発明の目的は、レベル5のディスクアレ
イ装置において、書き込み時における処理のオーバヘッ
ドを減少させて、ディスクアレイ装置の性能向上を図る
ことにある。
【0015】本発明の他の目的は、障害ドライブ内のデ
ータ復元用スペアドライブを装置の性能向上に利用する
ことによってドライブ資源の有効活用を図ることにあ
る。
【0016】
【課題を解決するための手段】本発明ではパリティグル
ープを構成するドライブと二重化領域(スペース領域)
のドライブにより論理グループを構成し、このスペース
領域を有効に活用することにより、高信頼性を保ちなが
ら、しかも、書き込み時のパリティ更新の開始時間を遅
らせ、後のCPUからの読みだしまたは書き込み要求が
少ないときにパリティ生成を行う。
【0017】具体的には、書き込み時に、論理グループ
10を構成するSCSIドライブ12の中で、書き込む
データ(新データ)をとりあえずスペース領域に二重化
して格納する。CPU1に対してはこの時点で書き込み
処理を完了したと報告する。
【0018】また、パリティの作成および当該SCSI
ドライブ12へのパリティの書き込みは、新データのS
CSIドライブへの書き込みとは独立のタイミングで、
処理する。具体的には、ADC2のMP1 20が当該
論理グループ10に対するCPU1からの読みだし/書
き込み要求をカウントし、予めユーザまたはシステム管
理者が設定した数より少ない場合で、しかも当該SCS
Iドライブ12に対し読みだしまたは書き込み要求が発
行されていないときにパリティの作成を行い、パリティ
の作成完了後当該SCSIドライブ12に対しパリティ
を書き込む。
【0019】パリティの書き込みの他の方法として、一
定時間毎の割込み処理で行なってもよい。一日の中でC
PUからの読みだしまたは書き込み要求数の少ない時間
帯、あるいは一月の中で少ない日を予測し、スケジュー
ル化しておけばよい。
【0020】パリティの作成およびそのパリティの当該
SCSIドライブ12へのパリティの書き込みが完了す
る前に、当該論理グループ10において任意の1台のS
CSIドライブに対し障害が発生し、その内部のデータ
が読み出せなくなった場合は、二重化データ以外のデー
タが格納されているSCSIドライブ12に対しては、
前のパリティと、残っているデータから障害が発生した
SCSIドライブ12内のデータを回復することが可能
で、二重化されている新しいデータにおいては、障害が
発生していない方のSCSIドライブ12内の新データ
により回復することが可能である。
【0021】
【作用】本発明では、上記のようにデータの書き込みと
パリティの作成およびSCSIドライブ12への書き込
みを独立させることにより、ユーザ(CPU)からは書
き込み時のパリティ作成によるオーバヘッドはなくな
る。これは、CPUからの読みだしまたは書き込み要求
数には時間的変動があるため、読みだしまたは書き込み
要求数が多いときには、書き込み処理におけるパリティ
の更新をその都度行わず、データの書き込みが完了した
時点でCPUには終了を報告し、比較的読みだしまたは
書き込み要求の数が少ないときまでパリティの更新を遅
らせる。このパリティの更新はCPU側の関知はなく、
ディスクアレイコントローラ2が独自に行う。
【0022】このため、CPU側から見たとき、従来の
ディスクアレイ(RAID方式)では図12に示すよう
に書き込み時に平均1.5回転の回転待ち時間を必要と
したのが、本発明によれば平均0.5回転の回転待ち時
間ですむ。また、信頼性の面から見ても従来のディスク
アレイ(RAID方式)と比較し、同等に向上させるこ
とが可能となる。
【0023】
【実施例】
〈実施例1〉以下本発明の一実施例を、図1〜図5及び
図13により説明する。図1において、本実施例はCP
U1、ディスクアレイコントローラ(以下ADC)2,
ディスクアレイユニット(以下ADU)3により構成さ
れる。ADU3は複数の論理グループ10により構成さ
れ,個々の論理グループ10はm台のSCSIドライブ
12と、各々のSCSIドライブ12とADC2を接続
するドライブパス9−1から4により構成される。な
お,このSCSIドライブ12の数は本発明の効果を得
るには、特に制限は無い。この論理グループ10は障害
回復単位で、この論理グループ10内の各SCSIドラ
イブ12内の各データによりパリティを作成する。本実
施例ではm−1台の個々のSCSIドライブ12内のデ
ータから各々のパリティが作成される。
【0024】次にADC2の内部構造について図1を用
いて説明する。ADC2はチャネルパスディレクタ5と
2個のクラスタ13とバッテリバックアップ等により不
揮発化された半導体メモリであるキャッシュメモリ7に
より構成される。このキャッシュメモリ7にはデータと
アドレス変換用テーブルが格納されている。このキャッ
シュメモリ7およびその中のアドレス変換用テーブルは
ADC2内の全てのクラスタにおいて共有で使用され
る。クラスタ13はADC2内において独立に動作可能
なパスの集合で、各クラスタ13間においては電源、回
路は全く独立となっている。クラスタ13はチャネル、
キャッシュメモリ7間のパスである、チャネルパス6
と、キャッシュメモリ7、SCSIドライブ12間のパ
スであるドライブパス6−1から4が、それぞれ、2個
ずつで構成されている。それぞれのチャネルパス6−1
から4とドライブパス8はキャッシュメモリ7を介して
接続されている。CPU1より発行されたコマンドは外
部インターフェースパス4を通ってADC2のチャネル
パスディレクタ5に発行される。ADC2は2個のクラ
スタ13により構成され、それぞれのクラスタは2個の
パスで構成されるため、ADC2は合計4個のパスによ
り構成される。このことから、ADC2ではCPU1か
らのコマンドを同時に4個まで受け付けることが可能で
ある。そこで、CPU1からコマンドが発行された場合
ADC2内のチャネルパスディレクタ5によりコマンド
の受付が可能かどうか判断する。
【0025】図2は図1のチャネルパスディレクタ5と
1クラスタ13−1内の内部構造を示した図である。図
2に示すように、CPU1からADC2に送られてきた
コマンドはインターフェースアダプタ(以下IF Ad
p)15により取り込まれ、マイクロプロセッサである
MP1 20はクラスタ内の外部インターフェースパス
4の中で使用可能なパスがあるかを調べ、使用可能な外
部インターフェースパス4がある場合はMP1 20は
チャネルパススイッチ16を切り換えてコマンドの受付
け処理を行ない、受け付けられない場合は受付不可の応
答をCPU1へ送る。
【0026】本実施例ではADU3を構成するSCSI
ドライブ12はSCSIインターフェースのドライブを
使用する。CPU1をIBMシステム9000シリーズ
のような大型汎用計算機とした場合、CPU1からはI
BMオペレーティングシステム(OS)で動作可能なチ
ャネルインターフェースのコマンド体系にのっとってコ
マンドが発行される。そこで、SCSIドライブ12を
SCSIインターフェースのドライブを使用した場合、
CPU1からのコマンドを、SCSIインターフェース
のコマンド体系にのっとったコマンドに変換する必要が
生じる。この変換はコマンドのプロトコル変換と、アド
レス変換に大きく分けられる。以下にアドレス変換につ
いて説明する。
【0027】CPU1から指定されるアドレスは、図1
2に示すように当該データが格納されているトラックが
所属するシリンダの位置と、そのシリンダ内において当
該データが格納されているトラックを決定するヘッドア
ドレスと、そのトラック内のレコードの位置を特定す
る。具体的には要求データが格納されている当該ドライ
ブの番号(CPU指定ドライブ番号)と当該ドライブ内
のシリンダ番号であるシリンダアドレス(CC)とシリ
ンダにおいてトラックを選択するヘッドの番号であるヘ
ッドアドレス(HH)とレコードアドレス(R)からな
るCCHHRである。
【0028】従来のCKDフォーマット対応の磁気ディ
スクサブシステム(IBM3990−3390)ではこ
のアドレスに従ってドライブへアクセスすれば良い。し
かし、本実施例では複数のSCSIドライブ12により
従来のCKDフォーマット対応の磁気ディスクサブシス
テムを論理的にエミュレートする。つまり、ADC2は
複数のSCSIドライブ12が、従来のCKDフォーマ
ット対応の磁気ディスクサブシステムで使用されている
ドライブ1台に相当するようにCPU1にみせかける。
このため、CPU1から指定してきたアドレス(CCH
HR)をSCSIドライブのアドレスにMP1 20は
変換する。このアドレス変換には以下に示すようなアド
レス変換用のテーブル40(以下アドレステーブルとす
る)が使用される。
【0029】ADC2内のキャッシュメモリ7には、そ
の内部の適当な領域に図3に示すようなアドレステーブ
ル40が格納されている。本実施例では、CPU1が指
定してくるドライブはCKDフォーマット対応の単体ド
ライブである。しかし、本発明ではCPU1は単体と認
識しているドライブが、実際は複数のSCSIドライブ
12により構成されるため、論理的なドライブとして定
義される。このため、ADC2のMP1 20はCPU
1より指定してきたアドレス(CPU指定ドライブ番号
41とCCHHR46)をSCSIドライブ12に対す
るSCSIドライブアドレス42(SCSIドライブ番
号43とそのSCSIドライブ内のアドレス(以下SC
SI内Addrとする)44)に変換する。
【0030】アドレステーブル40はCPU1が指定す
るCPU指定ドライブ番号41とSCSIドライブアド
レス42により構成される。SCSIドライブアドレス
42はSCSIドライブ12のアドレスであるSCSI
ドライブ番号43とそのSCSIドライブ内の実際にデ
ータが格納されているアドレスである、SCSI内Ad
dr44と、論理グループ10内において、そのSCS
I内Addr44により決定されるパリティグループに
おけるパリティが格納されているSCSIドライブ番号
(パリティドライブ番号50)と、二重化領域(スペー
ス領域)が格納されているSCSIドライブ番号(スペ
ースドライブ番号51)により構成されている。このア
ドレステーブル40では、論理アドレス45によりSC
SIドライブ番号43とSCSI内Addr44を決定
する。アドレステーブル40のSCSIドライブアドレ
ス42に登録されているSCSIドライブ番号43のS
CSIドライブ12により論理グループ10は構成され
る。
【0031】この論理グループ10内の同一SCSI内
Addr44において、パリティが格納されているSC
SIドライブ番号43をパリティドライブ番号50に登
録し、スペース領域が確保されているSCSIドライブ
番号43をスペースドライブ番号51に登録する。スペ
ースドライブ番号51にはスペース領域が確保されてい
るSCSIドライブ番号の他にSDフラグ53により構
成される。SDフラグ53は、スペース領域に格納され
ているデータが有効で、書き込み処理においてスペース
領域として使用できない場合はオン(1)となり、無効
で、スペース領域として使用可能な場合はオフ(0)と
なる。この論理グループ10はデータとこのデータと関
連するパリティにより構成されるパリティグループとス
ペース領域により構成される。
【0032】論理アドレス45にはCPU1から指定さ
れるアドレスである、CPU指定ドライブ番号41とC
CHHRの中でCCHHR46が登録されており、それ
以外にはこの論理アドレス45のデータがキャッシュメ
モリ7内に存在する場合の、そのデータのキャッシュメ
モリ7内のアドレスを格納するキャッシュアドレス47
と、キャッシュメモリ7内にその論理アドレス45のデ
ータを保持している場合オン(1)が登録されるキャッ
シュフラグ48と、その論理アドレス45にはスペース
領域が確保されている場合オン(1)となる無効フラグ
49とキャッシュメモリ7内の書き込みデータがドライ
ブに書き込まれている場合オン(1)となるドライブフ
ラグ52により構成される。
【0033】以上のようにアドレステーブル40により
CPU指定ドライブ番号41とCCHHR46を論理ア
ドレス45に変換し、そのデータが実際に格納されてい
るSCSIドライブ番号43とSCSI内Addr44
を決定する。
【0034】例えば、図3においてCPU1からCPU
指定ドライブ番号41としてDrive#1、CCHH
R46がADR8のデータに対し要求を発行してきた場
合、アドレステーブル40においてCPU指定ドライブ
番号41がDrive#1の領域の各論理アドレス45
内のCCHHR46を調べ、CCHHR46がADR8
の論理アドレス45を探す。図3においては論理アドレ
ス45としてData#23(D#23)がCCHHR
46がADR8となっており、Data#23(D#2
3)が当該論理アドレス45である。
【0035】このData#23(D#23)はアドレ
ステーブル40からSD#2のSCSIインターフェー
スのSCSIドライブ12内のSCSI内Addr44
としてDADR8に該当することが分かり、物理的なア
ドレスへ変換される。また、このData#23(D#
23)に対応するパリティは、パリティドライブ番号5
0からData#23(D#23)と同一のSCSI内
Addr44のDADR8のSD#4のSCSIドライ
ブ12に格納されており、スペアドライブ番号51か
ら、SDフラグ53がオン(1)のため、SD#4、5
のSCSI内Addr44がDADR8に二重化して格
納されているデータは有効で、この領域は二重化領域
(スペア領域)として使用することは禁止されている。
【0036】このように、CPU1から指定されたアド
レスを論理アドレス45に変換し、実際に読みだし/書
き込みを行うSCSIドライブ12の物理的なアドレス
に変換した後、SD#2のSCSIドライブ12のDa
ta#23(D#23)に対し読み出しまたは書込み要
求が発行される。この時アドレステーブル40において
Data#23(D#23)の論理アドレス45ではキ
ャッシュフラグ48がオン(1)のためこのデータはキ
ャッシュメモリ7内のCADR2,1に存在する。も
し、キャッシュフラグ48がオフ(0)であればCAD
R2,4のキャッシュメモリ7内には、当該データは存
在しない。また、このデータは無効フラグ49がオフ
(0)のため、このデータは有効となる。さらにドライ
ブフラグ52がオン(1)のため、このデータはキャッ
シュメモリ7からドライブに既に書き込まれている。
【0037】この、アドレステーブル40はシステムの
電源をオンした時に、MP1 20により論理グループ
10内のある特定のSCSIドライブ12から、キャッ
シュメモリ7にCPU1は関知せず自動的に読み込まれ
る。一方、電源をオフする時はMP1 20によりキャ
ッシュメモリ7内のアドレステーブル40を、読み込ん
できたSCSIドライブ12内の所定の場所にCPU1
は関知せずに自動的に格納する。
【0038】次に、ADC2内での具体的なI/O処理
について図1、図2を用いて説明する。CPU1より発
行されたコマンドはIF Adp15を介してADC2
に取り込まれ、MP1 20により読み出し要求か書込
み要求か解読される。まず、読み出し要求の場合の処理
方法を以下に示す。
【0039】MP1 20が読み出し要求のコマンドを
認識すると、MP1 20はCPU1から送られてきた
CPU指定ドライブ番号41とCCHHR46(以下両
方を併せてCPU指定アドレスとする)についてアドレ
ステーブル40を参照し、当該データの論理アドレス4
5への変換を行ない、論理アドレス45に登録されてい
るキャッシュメモリ7内に存在するかどうかキャッシュ
フラグ48を調べ、判定する。
【0040】キャッシュフラグ48がオンでキャッシュ
メモリ7内に格納されている場合(キャッシュヒット)
は、MP1 20がキャッシュメモリ7から当該データ
を読みだす制御を開始し,キャッシュメモリ7内に無い
場合(キャッシュミス)は当該ドライブ12へその内部
の当該データを読みだす制御を開始する。
【0041】キャッシュヒット時、MP1 20はアド
レステーブル40によりCPU1から指定してきたCP
U指定アドレスから論理アドレス45に変換し、論理ア
ドレス45内のキャッシュアドレス47によりキャッシ
ュメモリ7のアドレスに変換し、キャッシュメモリ7へ
当該データを読み出しに行く。具体的にはMP1 20
の指示の元でキャッシュアダプタ回路(C Adp)2
4によりキャッシュメモリ7から当該データは読み出さ
れる。
【0042】C Adp24はキャッシュメモリ7に対
するデータの読みだし、書き込みをMP1 20の指示
で行う回路で、キャッシュメモリ7の状態の監視、各読
みだし、書き込み要求に対し排他制御を行う回路であ
る。C Adp24により読み出されたデータはデータ
制御回路(DCC)22の制御によりチャネルインター
フェース回路(CH IF)21に転送される。CH
IF21ではCPU1におけるチャネルインターフェー
スのプロトコルに変換し、チャネルインターフェースに
対応する速度に速度調整する。具体的にはCPU1,A
DC2間のチャネルインターフェースを光のインターフ
ェースにした場合、光のインターフェースのプロトコル
をADC2内では電気処理でのプロトコルに変換する。
CH IF21におけるプロトコル変換および速度調整
後は、チャネルパスディレクタ5において、チャネルパ
ススイッチ16が外部インターフェースパス4を選択し
IFAdp15によりCPU1へデータ転送を行なう。
【0043】一方、キャッシュミス時はキャッシュヒッ
ト時と同様にアドレステーブル40により、CPU指定
アドレスを論理アドレス45に変換し、論理アドレス4
5から当該SCSIドライブ番号とそのSCSIドライ
ブ内の実際にデータが格納されているSCSI内Add
r44を認識し、そのアドレスに対し、MP1 20は
Drive IF28に対し、当該ドライブ12への読
み出し要求を発行するように指示する。Drive I
F28ではSCSIの読み出し処理手順に従って、読み
出しコマンドをドライブユニットパス9−1または9−
2を介して発行する。Drive IF28から読み出
しコマンドを発行された当該SCSIドライブ12にお
いては指示されたSCSI内Addr44へシーク、回
転待ちのアクセス処理を行なう。当該SCSIドライブ
12におけるアクセス処理が完了した後、当該SCSI
ドライブ12は当該データを読み出しドライブユニット
パス9を介してDrive IF28へ転送する。
【0044】Drive IF28では転送されてきた
当該データをSCSIドライブ側のキャッシュアダプタ
回路(C Adp)14に転送し、(C Adp)14
ではキャッシュメモリ7にデータを格納する。この時、
C Adp14はキャッシュメモリ7にデータを格納す
ることをMP1 20に報告し、MP1 20はこの報
告を元にアドレステーブル40のCPUが読みだし要求
を発行したCPU指定アドレスに対応した論理アドレス
45のキャッシュフラグ48をオン(1)にし、キャッ
シュアドレス47にキャッシュメモリ7内のデータを格
納したアドレスを登録する。キャッシュメモリ7にデー
タを格納し、アドレステーブル40のキャッシュフラグ
48をオン(1)にし、キャッシュメモリ7内のアドレ
スを更新した後はキャッシュヒット時と同様な手順でC
PU1へ当該データを転送する。
【0045】一方書き込み時は以下のように処理され
る。書き込み処理はユーザが書き込み先のアドレス(C
PU指定アドレス)を指定し、その位置にユーザはデー
タを書き込んでいると認識する。つまりユーザは固定の
位置にアドレスを指定していると認識している。
【0046】CPU1から、指定アドレスすなわち、図
3に示すアドレステーブル40においてCPU指定ドラ
イブ番号41がドライブ#1でCCHHR46がADR
8に対して、書き込み命令が発行されたとする。まず、
ADC2のMP1 20はCPU1からドライブ#1の
CCHHR46がADR8に対し書込み要求のコマンド
を受け取った後、コマンドを受け取ったMP1 20が
所属するクラスタ13内の各チャネルパス6において処
理可能かどうかを調べ、可能な場合は処理可能だという
応答をCPU1へ返す。CPU1では処理可能だという
応答を受け取った後にADC2へデータを転送する。こ
の時、ADC2ではMP1 20の指示によりチャネル
パスディレクタ5において、チャネルパススイッチ16
が当該外部インターフェースパス4とIF Adp15
を当該チャネルパス6と接続しCPU1とADC2間の
接続を確立する。
【0047】CPU1とADC2間の接続を確立後CP
U1からのデータ転送を受け付ける。CPU1から転送
されてきた書き込みデータ(以下新データとする)はM
P120の指示により、CH IF21によりプロトコ
ル変換を行ない、外部インターフェースパス4での転送
速度からADC2内での処理速度に速度調整する。CH
IF21におけるプロトコル変換および速度制御の完
了後、データはDCC22によるデータ転送制御を受
け、C Adp24に転送され、C Adp24により
キャッシュメモリ7内に格納される。
【0048】この時、CPU1から送られてきた情報
が、CPU指定アドレスの場合は、データが転送されて
くる前に必ずCPU指定アドレスがCPU1より転送さ
れているため、読みだしと同様にアドレステーブル40
によりアドレス変換を行い、論理アドレス45に変換す
る。また、CPU1から送られてきた情報がデータの場
合は、キャッシュメモリ7に格納したアドレスを上記ア
ドレス変換により変換した論理アドレス45のキャッシ
ュアドレス47に登録する。この時、書き込みデータを
キャッシュメモリ7内に保持するときは、論理アドレス
45のキャッシュフラグ48をオン(1)とし、保持し
ない場合はキャッシュフラグ48をオフ(0)とする。
【0049】なお、キャッシュメモリ7内に保持されて
いる新データに対し、さらに書き込み要求がCPU1か
ら発行された場合は、キャッシュメモリ7内に保持され
ている新データを書き替える。
【0050】キャッシュメモリ7に格納された新データ
は、この新データにより新しくパリティを更新し(以下
更新されたパリティを新パリティとする)、以下のよう
に論理グループ10内のSCSIドライブ12へ新デー
タと新パリティを格納する。
【0051】図3に示すようにスペース領域及びパリテ
ィはデータと同じ様に扱われ、論理グループ10内の各
SCSIドライブ12に分散して格納されている。論理
グループ10を構成する各SCSIドライブ12内のデ
ータについては行方向(同一SCSI内Addr44)
にパリティグループが構成され、このパリティグループ
内のデータにおいてパリティが作成される。つまり、パ
リティグループはデータとパリティにより構成され、論
理グループ10はパリティグループとスペース領域で構
成される。
【0052】図3において具体的な例を示す。SCSI
内Addr44がDADR1については、SD#1のS
CSIドライブ12に格納されているData#1(D
#1)と、SD#2のSCSIドライブ12に格納され
ているData#2(D#2)と、SD#3のSCSI
ドライブ12に格納されているData#3(D#3)
によりパリティが作成される。このパリティがSD#6
のSCSIドライブ12に格納され、これらがパリティ
グループを構成する。また、論理グループ10は、SD
#4のSCSIドライブ12に確保されているスペース
領域(S)と、SD#5のSCSIドライブ12に確保
されているスペース領域(S)と、上記パリティグルー
プにより構成される。
【0053】MP1 20はアドレステーブル40を参
照し、データ、スペース領域、パリティが格納されてい
るSCSIドライブ12を認識する。具体的には、アド
レステーブル40においてCPU指定アドレスが指定し
たCPU指定ドライブ番号41に対応する領域におい
て、CPU指定アドレスで指定したCCHHR46と一
致しているSCSIドライブアドレス42に登録されて
いる論理アドレス45をMP1 20は探す。MP1
20はCPU指定アドレスから論理アドレス45への変
換後、論理アドレス45からその論理アドレス45が格
納されているSCSIドライブ番号43と、そのSCS
Iドライブ12内の物理的なアドレスであるSCSI内
Addr44に変換する。
【0054】パリティは、論理グループ10を構成する
各SCSIドライブ12において、各SCSI内Add
r44が同一のデータに対し作成され、そのパリティも
データと同一のSCSI内Addr44に格納される。
このため、アドレステーブル40のパリティドライブ番
号50とスペースドライブ番号51において、パリティ
およびスペース領域はそれぞれが格納されているSCS
Iドライブ番号43のみが登録されている。そこで、M
P1 20ではアドレステーブル40によりパリティド
ライブ番号50とスペースドライブ番号51を決定する
ことが可能となる。つまり、パリティドライブ番号50
とスペースドライブ番号51を決定することにより、パ
リティおよびスペース領域はデータと同一のSCSI内
Addr44に格納されていることから、それらのアド
レスを決定することになる。このように、データ、スペ
ース領域、パリティが格納されているSCSIドライブ
12を認識した後は、Drive IF28に対し、各
々の当該SCSIドライブ12に対し書き込み処理を行
なうように指示する。
【0055】本発明における書き込み処理とは、論理グ
ループ10において新データをキャッシュメモリ7から
実際にSCSIドライブ12に書き込む処理と、新デー
タの書き込みによりパリティを新たに作り直さなければ
ならないため、この新パリティを作成するための書き込
み前のデータ(以下旧データ)と書き込み前のパリティ
(以下旧パリティとする)を読み出し、新パリティを作
成する処理と、書き込み後の新パリティを実際にSCS
Iドライブ12に書き込む一連の処理をいう。この新デ
ータをキャッシュメモリ7に格納した後の一連の書き込
み処理のフローチャートを図5に示す。
【0056】図4に示すようにCPU1からSD#1の
SCSIドライブ12のData#1(D#1)の論理
アドレスに対し、ND#1のデータの書き込み要求が発
行された場合、先に示したように、CPU1からキャッ
シュメモリ7に新データは一旦格納される。新データの
キャッシュメモリ7への格納後、書き込み処理は次の手
順で行っていく。キャッシュメモリ7に新データ(ND
#1)が格納された後、MP1 20は書き込み処理に
入り、アドレステーブル40によりSD#1のSCSI
ドライブ12が所属する論理グループ10で、Data
#1(D#1)のSCSI内Addr44であるDAD
R1に対し、スペース領域が確保されているSD#4,
5のSCSIドライブ12に対し、使用権の獲得を行な
う。
【0057】SD#4、5のSCSIドライブ12の使
用権を獲得した後は図5のフローチャートに示すように
書き込み処理500を行なっていく。まず、MP1 2
0はアドレステーブル40のスペースドライブ番号51
のSDフラグ53をチェックし、SDフラグ53がオフ
(0)の場合、スペース領域として使用でき、オン
(1)の場合は使用できないと判断する(502)。M
P1 20は、このSDフラグ53によりSD#4,5
のSCSIドライブ12にスペース領域が確保されてい
るかを判断する。そして、SDフラグ53がオフ(0)
の場合、キャッシュメモリ7に格納されているND#1
をこのSD#4,5に二重化して書き込み(504)、
MP1 20はCPU1へ書き込み完了の報告を行う
(508)。
【0058】一方、ステップ502のチェックにより、
SDフラグ53がオン(1)の場合は、図13に示すよ
うに、書き込む新データ(ND#1)をキャッシュメモ
リ7に書き込んだ後、MP1 20は優先的に前の書き
込み処理におけるパリティの作成を指示し、このパリテ
ィを当該SCSIドライブ12に書き込む(131
0)。前の書き込み処理におけるパリティの作成が完了
し、当該SCSIドライブへの書き込みが完了するとM
P1 20は、アドレステーブル40においてスペース
ドライブ番号51にSDフラグ53をオフ(0)とし
(1308)、キャッシュメモリ7に格納されているN
D#1を二重化して書き込み(1316)、MP1 2
0はCPU1へ書き込み完了の報告を行う(132
0)。
【0059】そこで、次にSCSIドライブ12への新
データ(ND#1)の書き込み方法を示す。MP1 2
0はアドレステーブル40のSDフラグ53がオフ
(0)になっているのを確認後、Drive IF28
に書き込むデータである新データ(ND#1)をスペー
ス領域が確保されているSD#4とSD#5のSCSI
ドライブ12に書き込むよう指示する。Drive I
F28ではSCSIの書込み手順にしたがってドライブ
ユニットパス9−1から4の中の2本を介してSD#4
とSD#5のSCSIドライブ12に書込みコマンドを
発行する。
【0060】Drive IF28から書込みコマンド
を発行された当該SCSIドライブ12では、Driv
e IF28から送られてきたCPU1が書き込み先の
アドレスとして指定したCPU指定アドレスを論理アド
レス45に変換し、論理アドレス45であるData#
1に対応するSCSI内Addr44のDADR1へシ
ーク、回転待ちのアクセス処理を行なう。SD#4、5
のSCSIドライブ12においてアクセス処理が完了し
書込みが可能になり次第、C Adp14はキャッシュ
メモリ7から書き込む新データ(ND#1)を読み出し
てDriveIF28へ転送し、Drive IF28
では転送されてきた新データ(ND#1)をドライブユ
ニットパス9−1から4の中の2本を介してSD#4,
5のSCSIドライブ12へ転送する。新データ(ND
#1)のSD#4,5のSCSIドライブ12への書込
みが完了すると、SD#4,5のSCSIドライブ12
はDrive IF28に完了報告を行ない、Driv
e IF28がこの完了報告を受け取ったことを、MP
1 20に報告する。
【0061】この時、アドレステーブル40において、
書き込み前の旧データの論理アドレス45(Data#
1,D#1)の無効フラグをオン(1)とし、書き込み
前の論理アドレス45(Data#1,D#1)内のC
CHHR46のアドレスを、新データ(ND#1)を二
重化して書き込んだスペース領域の2つの論理アドレス
45のCCHHR46に登録し、無効フラグをオフ
(0)とし、ドライブフラグ52をオン(1)とする。
また、キャッシュメモリ7内に書き込む新データ(ND
#1)を保持する場合は、書き込み後の2つの論理アド
レス45内のキャッシュアドレス47に、キャッシュメ
モリ7内の新データ(ND#1)が格納されているアド
レスを登録し、キャッシュフラグ48をオン(1)とす
る。この新データ(ND#1)をキャッシュメモリ7上
に残さない場合、MP1 20はこの報告を元にアドレ
ステーブル40のキャッシュフラグ48をオフ(0)に
する。さらに、書き込みを行った論理グループ10内の
SCSI内Addr44に対し、スペースドライブ番号
51のSDフラグをオン(1)とする。
【0062】上記のようにアドレステーブル40の更新
が完了し、MP1 20はSD#4とSD#5の両方の
SCSIドライブ12からの完了報告を受け取った後、
CPU1に対し擬似的に書き込み処理の終了報告を行
う。SD#4,5のSCSIドライブ12に対する新デ
ータ(ND#1)の格納は完了しても、キャッシュメモ
リ7内には新データ(ND#1)が存在しており、パリ
ティの更新はキャッシュメモリ7内に格納されている新
データ(ND#1)で行なう。
【0063】以上のようにMP1 20がCPU1に対
し擬似的に終了報告を行った後は、CPU1は書き込み
処理を終了したと認識しているが、MP1 20は新し
いパリティを作成して、当該SCSIドライブ12書き
込んでいないため、まだ書き込み処理は終了していな
い。そこで、MP1 20がCPU1に対し終了報告を
行った後に、MP1 20が独自に新しいパリティを作
成し、当該SCSIドライブ12に書き込む。この方法
について以下に説明する。
【0064】MP1 20はCPU1に対し書き込み処
理の終了報告を行った後、図5に示すようにCPU1か
らの読みだし、書き込み要求の状況(IO状況)を監視
する(510)。具体的には、MP1 20が当該論理
グループ10に対するCPU1からの読みだし、書き込
み要求の単位時間当りの回数を数える。当該論理グルー
プ10に対するこの回数が予めユーザまたはシステム管
理者により設定された数より少なく、パリティの作成お
よびこの作成したパリティを書き込むSCSIドライブ
12が所属する論理グループ10に対し、読みだし、書
き込み要求がCPU1より発行されていない場合、パリ
ティの作成およびパリティの当該SCSIドライブ12
への書き込み処理を開始する。
【0065】新しくパリティを作成する場合、CPU1
から書き込み先に指定されたアドレスに書き込まれてい
るデータ(旧データ)と、更新するパリティ(旧パリテ
ィ)を読みだし、新しく作成したパリティ(新パリテ
ィ)をSCSIドライブ12に書き込む。この時、旧デ
ータと旧パリティを読みだすSCSIドライブ12と新
パリティを書き込む当該SCSIドライブ12に対し、
MP1 20はCPU1からの読みだし、書き込み要求
と同様な擬似的な読みだし、書き込み要求を発行する。
この、擬似的な読みだし、書き込み要求が発行されてい
るSCSIドライブ12に対しCPU1から読みだしま
たは書き込み要求が発行された場合は、MP1 20は
CPU1からの読みだし、書き込み要求を受付、処理の
待ち行列とする。
【0066】次に新パリティの作成および当該SCSI
ドライブ12への作成したパリティの書き込み方法を具
体的に示す。MP1 20はSD#1のSCSIドライ
ブ12に対して旧データの読み出しと、SD#6のSC
SIドライブ#12に対して旧パリティの読み出し要求
を発行するようにDrive IF28に指示する(5
14)。
【0067】Drive IF28から読み出しコマン
ドを発行された当該SCSIドライブ12ではDriv
e IF28から送られてきたSCSI内Addr44
へシーク、回転待ちのアクセス処理を行なう。キャッシ
ュメモリ7内には新データ(ND#1)が存在してお
り、パリティの更新はキャッシュメモリ7内に格納され
ている新データ(ND#1)で行なう。
【0068】もし、キャッシュメモリ7に新データ(N
D#1)が存在していない場合はスペース領域に二重化
して書き込まれているデータをキャッシュメモリ7に読
みだす。
【0069】SD#1,6のSCSIドライブ12にお
いてシーク、回転待ちのアクセス処理が完了し旧データ
(D#1)および旧パリティ(P#1)の読み出しが可
能になり次第、旧データ(D#1)および旧パリティ
(P#1)を読み出し、キャッシュメモリ7に格納す
る。SD#1のSCSIドライブ12から旧データ(D
#1)を、SD#6のSCSIドライブ12から旧パリ
ティ(P#1)を読み出し、それぞれをキャッシュメモ
リ7に格納した後、MP1 20はキャッシュメモリ7
内に格納されている書き込む新データ(ND#1)とで
排他的論理和により、更新後の新パリティ(NP#1)
を作成するようにPG36に指示を出し、PG36にお
いて新パリティ(NP#1)を作成しキャッシュメモリ
7に格納する(516)。
【0070】新パリティ(NP#1)をキャッシュメモ
リ7に格納した後、MP1 20では新パリティ(NP
#1)を格納する論理アドレス45のキャッシュアドレ
ス47にキャッシュメモリ7内の新パリティ(NP#
1)を格納したアドレスを登録し、キャッシュフラグ4
8をオン(1)とし、無効フラグ49とドライブフラグ
52をオフ(0)とする(518)。新パリティ(NP
#1)の作成が完了したことを認識し、SD#6のSC
SIドライブ12にIO要求が発行されていない時に、
更新後の新パリティ(NP#1)を書き込むようにDr
ive IF28に対し指示する。
【0071】SD#6のSCSIドライブ12への更新
後の新パリティ(NP#1)の書込み方法(520)
は、先に述べた書き込む新データ(ND#1)をSD#
4,5のSCSIドライブ12に書き込んだ方法と同じ
である。新パリティ(NP#1)の作成が完了したらM
P1 20はDrive IF28にSD#6のSCS
Iドライブ12に対し、書込みコマンドを発行するよう
に指示し、当該SCSIドライブ12では指示SCSI
内Addr44へシーク、回転待ちのアクセス処理を行
う。新パリティ(NP#1)は既に作成されキャッシュ
メモリ7に格納されており、SD#6のSCSIドライ
ブ12におけるアクセス処理が完了した場合、C Ad
p14はキャッシュメモリ7から新パリティ(NP#
1)を読み出してDrive IF28へ転送する。D
rive IF28では転送されてきた新パリティ(N
P#1)をドライブユニットパス9−1から4の中の1
本を介してSD#6のSCSIドライブ12へ転送する
(522)。
【0072】新パリティ(NP#1)のSD#6のSC
SIドライブ12への書込みが完了すると、SD#6の
SCSIドライブ12はDrive IF28に完了報
告を行ない、Drive IF28がこの完了報告を受
け取ったことを、MP1 20に報告する。この時、M
P1 20は、この新データ(ND#1)をキャッシュ
メモリ7上に残さない場合は、この報告を元にアドレス
テーブル40のキャッシュフラグ48をオフ(0)に
し、キャッシュメモリ7上に残す場合はオン(1)とす
る。さらに、アドレステーブル40において、書き込み
後の新パリティ(NP#1)の論理アドレス45の無効
フラグをオフ(0)とし、ドライブフラグ52をオン
(1)とする(524)。
【0073】このような、新しく作成した新パリティ
(NP#1)を当該SCSIドライブ12に書き込んだ
後は、旧データ(D#1)が格納されていたSD#1の
SCSIドライブ12の旧データ(D#1)と二重化さ
れている新データ(ND#1)が格納されているSD#
4,5のSCSIドライブ12の中でSCSIドライブ
番号の小さいSD#4のSCSIドライブ12に格納さ
れている新データ(ND#1)をスペース領域として解
放し、次の書き込み処理用にスペース領域として登録す
る。この登録の方法は、MP1 20がアドレステーブ
ル40においてSD#1とSD#4のSCSI内Add
r44がD ADR1の旧データ(D#1)と、二重化
されていた新データ(ND#1)の一方が格納されてい
る論理アドレス45において、無効フラグをオン(1)
とし、さらにスペースドライブ番号51にSD#1とS
D#4を登録し、SDフラグをオフ(0)にする(52
6)。
【0074】以上のように書き込み処理時に書き込む新
データ(ND#1)を一旦二重化して論理グループ10
内に格納しておき、後で比較的CPU1からの読みだ
し、書き込み要求が少ないときに、新パリティ(NP#
1)を作成し、SCSIドライブ12に格納すること
で、書き込み処理時の応答時間が短縮され、従来のよう
に新パリティ(NP#1)の作成により他の読みだし、
書き込み処理がまたされることが減少する。
【0075】もし、新パリティ(NP#1)を当該SC
SIドライブ12への書き込み前に論理グループ10内
のSCSIドライブ12に障害が発生した場合は図14
に示すように回復処理を行う。図4(a)に示すように
SD#6のSCSIドライブ12に対し新パリティ(N
P#1)を書き込む前に(1402)、SD#1,2,
3の内のどれか1台のSCSIドライブ12に障害が発
生した場合(1406)、障害が発生していないSCS
Iドライブ12からのデータと、旧パリティから障害が
発生したSCSIドライブ12内のデータは回復するこ
とが可能となる(1410)。例えばSD#1のSCS
Iドライブ12に障害が発生した場合、SD#2,3の
D#2,D#3とSD#6のSCSIドライブ1からの
旧パリティ(P#1)からSD#1のSCSIドライブ
12内のデータであるD#1を回復することが可能とな
る。また、新データ(ND#1)が二重化して格納され
ているSD#4,5のどちらか一方に障害が発生した場
合は、二重化データの一方のデータにより回復すること
が可能となる(1412)。
【0076】図4(b)に示すようにSD#6のSCS
Iドライブ12に対し新パリティ(NP#1)を書き込
んだ後はSD#2,3,5のSCSIドライブ12内の
データ(D#2,3,ND#1)に対し新パリティ(N
P#1)が作成されてSD#6のSCSIドライブ12
に格納されており、SD#2,3,5のSCSIドライ
ブ12の中の1台のSCSIドライブ12に障害が発生
した場合、残りの正常なSCSIドライブ12内のデー
タとSD#6のSCSIドライブ12内のパリティによ
り、障害が発生したSCSIドライブ12内のデータは
回復される。
【0077】例えばSD#2のSCSIドライブ12に
障害が発生した場合、SD#2のSCSIドライブ12
内のデータ(D#2)は、SD#3のSCSIドライブ
12内のデータ(D#3)とSD#4のSCSIドライ
ブ12内のデータ(ND#1)と、SD#6のSCSI
ドライブ12内のパリティ(NP#1)から障害が発生
したSD#2のSCSIドライブ12内のデータ(D#
2)は回復される。
【0078】本発明のように書き込み処理においてスペ
ース領域に書き込みデータ(新データ)をとりあえず二
重化して格納し、この段階でCPU1に対し書き込み処
理の終了報告を行うことにより、CPU1にとってはこ
の二重化してSCSIドライブ12に書き込む時間が書
き込み処理時間になる。従来のアレイディスクでは図1
2に示すように書き込み時に平均1.5回転の回転待ち
時間が必要としたのが、もし、論理グループ10を構成
するSCSIドライブ12の回転を同期させた場合は、
回転待ちは平均0.5回転となる。また、新パリティを
SCSIドライブ12に書き込む前に論理グループ10
を構成するSCSIドライブ12に障害が発生しても、
先に述べたように旧パリティと二重化された新データに
より従来のアレイディスクと同様に、障害回復を行うこ
とが可能となる。
【0079】本実施例ではパリティおよびパリティの作
成に関与したデータとスペース領域は、論理グループ1
0を構成する各SCSIドライブ12において、各SC
SI内Addr44を同一とした。しかし、アドレステ
ーブル40の各論理アドレス45とパリティドライブ番
号50、スペースドライブ番号51において、論理グル
ープ10のアドレスを付加することにより、論理グルー
プ10を構成する各SCSIドライブ12においてSC
SI内Addr44を任意とすることが可能となる。
【0080】本実施例では書き込み時の回転待ち時間を
減少させる目的で、書き込みデータを一旦二重化してS
CSIドライブ12に書き込み、後の適当なタイミング
でパリティを更新し、パリティの更新後は二重化した書
き込みデータの一方を開放する方法について説明した。
本発明は、上記のような性能向上の観点とは別に、以下
に示すような応用例も考えられる。
【0081】パリティによる信頼性と、二重化による信
頼性では、二重化による信頼性の方が信頼性向上のため
に必要とする容量は大きいが、信頼性は高くなる。この
特徴を活かし、本発明の応用として、最新に書き込まれ
たデータまたは、頻繁に書き込み要求が発行されるデー
タについては、二重化されているため、高信頼とし、あ
まり書き込み要求が発行されないデータについては、二
重化ほど高信頼ではないが、信頼性向上のために必要と
する容量が二重化と比較して少なくてすむ、パリティに
より信頼性を確保する。つまり、あまり書き込み要求が
発行されないデータに対しては、信頼性は二重化ほど高
くないが、パリティを付けるだけですむ、パリティで信
頼性を確保し、最新に書き込まれたデータまたは、頻繁
に書き込み要求が発行されるデータについては、パリテ
ィと比較し信頼性向上のために容量を多く必要とする
が、高信頼である二重化で高信頼とする、二段階の信頼
性のレベルを設定することも可能である。
【0082】〈実施例2〉本発明の他の実施例を図6を
中心にして説明する。本実施例では実施例1で示したシ
ステムにおいて、SCSIドライブ12に障害が発生し
た時に、その障害が発生したSCSIドライブ12内の
データを回復し、それを格納するための領域にスペース
領域を使用する例を示す。
【0083】本発明では図3に示すように、論理グルー
プ10内の各SCSIドライブ12では、その内部の各
々対応する同一SCSI内Addr44のデータにより
パリティグループを構成する。具体的にはSD#1,
2,3のSCSIドライブ12内のData#1、2、
3(D#1,2,3)でPG36によりパリティ#1
(P#1)が作られSD#6のSCSIドライブ12内
に格納される。本実施例ではパリティは奇数パリティと
し、Data#1,2,3(D#1,2,3)の各デー
タにおける各々対応するビットについて1の数を数え、
奇数であれば0、偶数であれば1とする(排他的論理
和)。もし、SD#1のSCSIドライブ12に障害が
発生したとする。この時、Data#1(D#1)は読
み出せなくなる。
【0084】本実施例ではパリティグループ当りにパリ
ティを1個しか持っていないため、1台のSCSIドラ
イブ12の障害はデータを復元できるが、データの復元
が完了する前に更にもう一台のSCSIドライブ12に
障害が発生した場合復元出来ない。そこで、この様な場
合、2台目のSCSIドライブ12障害が発生する前
に、残りのData#2、3(D#2,3)とパリティ
#1(P#1)をキャッシュメモリ7に転送し、MP1
20はPG36に対しData#1(D#1)を復元
する回復処理を早急に行なうように指示する。この回復
処理を行ないData#1(D#1)を復元した後は、
MP1 20はこのData#1(D#1)をSD#4
または6のどちらかのスペース領域に格納する。
【0085】これにより、スペース領域を実施例1で示
したような、書き込み処理時の回転待ち時間を短縮させ
るためだけではなく、SCSIドライブ12に障害が発
生したときに、復元したデータを格納するためのスペア
ー領域としても活用する。この様に、MP1 20がス
ペース領域に回復したData#1(D#1)を格納し
た後は、キャッシュメモリ7にある図3に示すアドレス
テーブル40において、スペースドライブ番号51の中
で、回復データを格納した方のスペースドライブ番号5
1を削除し、この削除したドライブ番号に対する論理ア
ドレス45に、回復したData#1(D#1)の論理
アドレス45の内容を複写する。
【0086】図6に示すようにSD#1のSCSIドラ
イブ12にはData#1(D#1)の他にスペース領
域、パリティ、Data#13、16、19、22(D
#13,16,19,22)が格納されている。スペー
ス領域については回復処理を行ない復元する必要は無
い。パリティ#3(P#3)はSD#3,4,5のSC
SIドライブ12からData#7、8、9(D#7,
8,9)を読み出して新たに作成しSD#2か6のSC
SIドライブ12のスペース領域に格納する。Data
#13(D#13)はSD#3,5,6のSCSIドラ
イブ12からパリティ#5(P#5)、Data#1
4、15(D#14,15)を読み出して、回復処理を
行ない復元し、SD#2または4のSCSIドライブ1
2のスペース領域に格納する。Data#16(D#1
6)はSD#2,4,6のSCSIドライブ12からD
ata#17(D#17)、パリティ#6(P#6)、
Data#18(D#18)を読み出して、回復処理を
行ない復元し、SD#3または5のSCSIドライブ1
2のスペース領域に格納する。以下同様にData#1
9、22(D#19,22)と回復処理を行ない論理グ
ループ10内のスペース領域に格納していく。
【0087】この様に、SD#2,3,4,5,6のS
CSIドライブ12内のスペース領域に、SD#1のS
CSIドライブ12の回復データを全て格納した後は、
スペース領域が論理グループ10において一つしかない
ため、実施例1で述べたような書き込み時の回転待ちを
短くすることは出来ないため、従来のアレイディスクで
あるRAIDのレベル5の処理となる。また、SD#1
のSCSIドライブ12の回復データを全て格納した後
は、SD#2,3,4,5,6のSCSIドライブ12
の中で更にもう一台SCSIドライブ12に障害が発生
した場合、同様にその障害が発生したSCSIドライブ
12内のデータについて回復処理を行ない、残りのスペ
ース領域に格納し、処理を行なえる。
【0088】この様にして、論理グループ10内のスペ
ース領域を全て使いきってしまった場合は、障害SCS
Iドライブ12を正常のSCSIドライブ12に交換
し、この交換した正常なSCSIドライブ12は全てス
ペース領域として論理グループを再構成する。
【0089】障害SCSIドライブ12を正常のSCS
Iドライブ12に交換した直後は、スペース領域が特定
SCSIドライブ12に集中した形になっているため、
このSCSIドライブ12が使用出来ずにまたされるこ
とが多くなりネックとなるため、実施例1で示した回転
待ち時間を短縮する効果が、効率的に発揮出来ない。し
かし、時間が立つにつれて、スペース領域が分散されて
SCSIドライブ12障害前の状態に戻っていき、次第
に解消されていく。もし、この時間が問題となる場合
は、SCSIドライブ12に障害が発生したことを感知
した場合、正常なSCSIドライブ12に交換して、こ
の交換した正常なSCSIドライブ12に障害が発生し
たSCSIドライブ12内のデータとパリティをユーザ
が復元することも可能とする。なお、この時スペース領
域に関しては復元せずにスペース領域として空けてお
く。
【0090】本実施例ではこの回復処理と、スペース領
域へ復元したデータを書き込む処理をMP1 20が独
自に行なう。この様に独自に行なうことによりSCSI
ドライブ12に障害が発生した場合、障害が発生したS
CSIドライブ12を正常なSCSIドライブ12に交
換し回復したデータを書き込むのと比較し、本発明では
システムを使用するユーザがSCSIドライブ12に障
害が発生するとすぐに正常なSCSIドライブ12と交
換する必要が無いため、ユーザの負担が軽くなる。
【0091】〈実施例3〉本発明の第三の実施例を図7
〜図11により説明する。本実施例では図7、8に示す
ように論理グループ10単位にサブDKC11を設け、
その内部に図9に示すように実施例1、2において示し
たキャッシュメモリ7内のアドレステーブル40とRP
C27、PG36、サブキャッシュ32とそれらを制御
するマイクロプロセッサMP3 29を持たせたものを
示す。本実施例におけるデータの処理手順は実施例1お
よび2で示したものと同様である。以下には実施例1、
2で示した処理手順と異なる部分のみを図10および図
11を用いて示す。本実施例では図9に示すように実施
例1、2で示したキャッシュメモリ7内のアドレステー
ブル40をサブDKC11内のデータアドレステーブル
(DAT)30に格納する。DAT30は格納されてい
るテーブルの形式や機能は実施例1、2と同様である
が、異なるのはデータを格納するSCSIドライブアド
レス42が論理グループ10に限られている点と、メモ
リがアドレステーブル40を格納するデータを格納する
のとは別の専用メモリである。ADC2内のGAT23
はCPU1から指示されたCPU指定アドレスから、そ
のCPU指定アドレスが指示する場所がADU3内のど
の論理グループ10かを判定するのみである。キャッシ
ュメモリ7内には、その特別な領域に図10に示すよう
な論理グループテーブル(LGT)60が格納されてい
る。
【0092】LGT60は図10に示すようにCPU1
から指定されるCPU指定ドライブ番号41とCCHH
R46に対応して、論理グループアドレス61が決定で
きるテーブルとなっている。また、LGT60にはCP
U指定アドレスに対応するデータがキャッシュメモリ7
内に存在する場合、そのデータのキャッシュメモリ7内
のアドレスをキャッシュアドレス47に登録でき、ま
た、キャッシュメモリ7内にデータが存在する場合オン
(1)とし、キャッシュメモリ7内に存在しない場合オ
フ(0)とするキャッシュフラグ48が用意されてい
る。ユーザは初期設定する際に自分の使用可能な容量に
対する領域を確保するが、その際にADC2のMP1
20が、LGT60により論理グループ10を割当て
る。この時、MP1 20はLGT60にユーザが確保
するために指定したCPU指定アドレスに対応する領域
を登録する。
【0093】そこで、実際の読みだし、書き込み処理に
おいては、GAT23はLGT60によりCPU1から
指定してきたCPU指定アドレスに対応した論理グルー
プ10を認識することが可能となる。読み出し時はGA
T23がLGCにより論理グループ10を確定し、その
確定した結果をMP1 20に報告し、MP1 20は
この当該論理グループ10に対し読み出し要求を発行す
るようにDriveIF28に指示する。MP1 20
から指示を受けたDrive IF28は当該論理グル
ープ10のサブDKC11に対し読み出し要求とCPU
1が指定するCPU指定アドレスを発行する。サブDK
C11ではマイクロプロセッサであるMP3 29がこ
の読み出し要求のコマンドとCPU指定アドレスを受け
付け、実施例1と同様に、Drive IF28から送
られてきたCPU指定アドレスをDAT30を参照し、
当該データが格納されている論理グループ10内の論理
アドレス45に変換し、この論理アドレス45から当該
SCSIドライブアドレス42(SCSIドライブ番号
43とその中のSCSI内Addr44)を確定する。
【0094】このアドレスの確定後MP3 29は当該
SCSIドライブ12に対し、読み出し要求を発行す
る。MP3 29から読み出し要求を発行されたSCS
Iドライブ12ではSCSI内Addr44へシーク、
回転待ちを行ない、当該データの読み出しが可能になり
次第、当該データをドライブアダプタ回路(Drive
Adp)34に転送し、Drive Adp34はサブ
キャッシュメモリ32に格納する。サブキャッシュメモ
リ32に当該データの格納が完了した後、Drive
Adp34はMP3 29に格納報告を行ない、MP3
29はDAT30の当該データの当該論理アドレス4
5内の当該キャッシュフラグ48をオン(1)とする。
後に当該キャッシュフラグ48がオン(1)のデータに
対し読み出しまたは書込み要求が発行された場合は、サ
ブキャッシュ32内で処理を行なう。実施例1と同様に
MP3 29によるDAT30の更新が終了すると、M
P3 29はADC2内のDrive IF28に対し
データ転送可能という応答を行ない、Drive IF
28はこの応答を受け取ると、MP1 20に対し報告
する。
【0095】MP1 20はこの報告を受け取ると、キ
ャッシュメモリ7への格納が可能なら、Drive I
F28に対しサブDKC11からデータを転送するよう
に指示する。Drive IF28ではMP1 20か
らの指示を受けるとサブDKC11のMP3 29に対
し読み出し要求を発行する。この読み出し要求を受けた
MP3 29はサブキャッシュアダプタ回路(SCA)
31に対しサブキャッシュ32から当該データを読みだ
すように指示し、SCA31は実際にデータを読み出し
てDrive IF28にデータを転送する。Driv
e IF 28がデータを受け取った後は、実施例1、
2で示した処理を行なう。
【0096】一方書込み時は読み出し時と同様に当該論
理グループ10を確定し、MP120はDrive I
F28に対し当該論理グループ10のMP3 29に対
し書込み要求を発行するように指示する。当該論理グル
ープ10内のMP3 29は、書込み要求を受け付け、
書込みデータをサブキャッシュ32に格納した後は、図
5のフローチャートに従って、実施例1、2と同様に処
理を行う。本実施例では実施例1、2の効果を実現する
ことが可能である。
【0097】以上、磁気ディスク装置を用いたシステム
を実施例として説明したが、本発明は光ディスク装置を
用いたシステムにおいても同様な効果を発揮することが
可能である。
【0098】
【発明の効果】本発明によれば、データの書き込み時に
おけるパリティの更新処理をCPUからの読みだしまた
は書き込み要求が少ない時まで遅らせることが可能とな
る。これにより、CPUにとっては読みだしまたは書き
込み処理要求が多い時は書き込み処理を高速に行え、こ
れにより単位時間当りのI/O処理件数を増加させるこ
とが可能となる。さらに、通常は使用しないスペアのS
CSIドライブを、回転待ち時間の短縮という、性能向
上のために使用でき、SCSIドライブ資源の有効活用
が図れる。
【図面の簡単な説明】
【図1】第1の実施例の全体構成図。
【図2】第1の実施例のクラスタ内構成図。
【図3】アドレス変換テーブルの説明図。
【図4】書き込み処理時のデータ移動説明図。
【図5】書き込み処理フローチャート(1)。
【図6】データ回復処理説明図、パリティグループを構
成する各データのディスク上での位置説明図。
【図7】第3の実施例の全体構成図。
【図8】第3の実施例のクラスタ内構成図。
【図9】第3の実施例のサブDKC内構成図。
【図10】論理グループテーブル説明図。
【図11】RAID Level5における更新処理説
明図。
【図12】RAID5における書き込み処理タイミング
チャート。
【図13】書き込み処理フローチャート(2)。
【図14】パリティ作成処理フローチャート。
【符号の説明】 1…CPU、2…アレイディスクコントローラ(AD
C)、3…アレイディスクユニット(ADU)、4…外
部インターフェースパス、5…チャネルパスディレク
タ、6…チャネルパス、7…キャッシュメモリ、8…ド
ライブパス、9…アレイディスクユニットパス、10…
論理グループ、12…SCSIドライブ、13…クラス
タ、14…ドライブ側キャッシュアダプタ(C Ad
p)、15…インターフェースアダプタ、16…チャネ
ルパススイッチ、17…制御信号線、18…データ線、
19…パス、20…マイクロプロセッサ1(MP1)、
21…チャネルインターフェース(CH IF)回路、
22…データ制御回路(DCC)、23…グループアド
レス変換回路(GAT)、24…チャネル側キャッシュ
アダプタ(C Adp)、28…ドライブインターフェ
ース回路(Drive IF)、29…マイクロプロセ
ッサ3(MP3)、30…データアドレステーブル4
0、31…サブキャッシュアダプタ、34…ドライブア
ダプタ(Drive Adp)、35…ドライブパス、
36…パリティ生成回路、40…アドレス変換用テーブ
ル(アドレステーブル)、41…CPU指定ドライブ番
号、42…SCSIドライブアドレス、43…SCSI
ドライブ番号、44…SCSI内Addr、45…論理
アドレス、46…CCHHR、47…キャッシュアドレ
ス、48…キャッシュフラグ、49…無効フラグ、50
…パリティドライブ番号、51…スペースドライブ番
号、52…ドライブフラグ、53…SDフラグ、60…
論理グループテーブル、61…論理グループアドレス

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】デ−タを格納する複数のドライブ群と、該
    ドライブ群を管理する制御装置とを備え、書き込みデー
    タを前記ドライブ群に格納し、該各ドライブに格納され
    ているデータにより誤り訂正符号を生成し、この生成し
    た誤り訂正符号を、該誤り訂正符号を生成するのに関与
    したデータが格納されているドライブとは別のドライブ
    に格納する記憶装置の制御方法において、 データ書き込みに伴う誤り訂正符号の更新を、前記デー
    タ書き込み処理よりも遅延させて処理することを特徴と
    する記憶装置の制御方法。
  2. 【請求項2】書き込むべき複数のデータから少なくとも
    1つの誤り訂正符号を含む1つの論理グループを生成
    し、該論理グループを構成する複数のデータ及び誤り訂
    正符号を複数のドライブ群内に格納する記憶装置におけ
    るデータの格納方法であって、 前記論理グループを構成する複数のデータの1つを新た
    なデータに書き換える更新要求に応答して、該更新デー
    タと新たな誤り訂正符号とを含む1つの論理グループを
    新たに生成し、前記新たな論理グループの更新データと
    誤り訂正符号とを、前記書き換え前のデータ及び誤り訂
    正符号が格納されていたドライブとは異なるドライブに
    それぞれ分散して格納する記憶装置におけるデータの格
    納方法において、 データ書き込みに伴う誤り訂正符号の更新を、前記デー
    タ書き込み処理よりも遅延させて処理することを特徴と
    する記憶装置の制御方法。
  3. 【請求項3】デ−タを格納する複数のドライブ群と、該
    ドライブ群を管理する制御装置とを備え、書き込みデー
    タを前記ドライブ群に格納し、該各ドライブに格納され
    ているデータにより誤り訂正符号を生成し、この生成し
    た誤り訂正符号を、該誤り訂正符号を生成するのに関与
    したデータが格納されているドライブとは別のドライブ
    に格納する記憶装置の制御方法において、 データ書き込みに伴う誤り訂正符号の更新を、データの
    書き込みを要求した上位置装置の負荷が所定値以下のと
    きに処理することを特徴とする記憶装置の制御方法。
  4. 【請求項4】書き込むべき複数のデータから少なくとも
    1つの誤り訂正符号を含む1つの論理グループを生成
    し、該論理グループを構成する複数のデータ及び誤り訂
    正符号を複数のドライブ群内に格納する記憶装置におけ
    るデータの格納方法であって、 前記論理グループを構成する複数のデータの1つを新た
    なデータに書き換える更新要求に応答して、該更新デー
    タと新たな誤り訂正符号とを含む1つの論理グループを
    新たに生成し、前記新たな論理グループの更新データと
    誤り訂正符号とを、前記書き換え前のデータ及び誤り訂
    正符号が格納されていたドライブとは異なるドライブに
    それぞれ分散して格納する記憶装置におけるデータの格
    納方法において、 データ書き込みに伴う誤り訂正符号の更新を、データの
    書き込みを要求した上位置装置の負荷が所定値以下のと
    きに処理することを特徴とする記憶装置の制御方法。
  5. 【請求項5】デ−タを格納する複数のドライブ群と、該
    ドライブ群を管理する制御装置とを備え、書き込みデー
    タを前記ドライブ群に格納し、該各ドライブに格納され
    ているデータにより誤り訂正符号を生成し、この生成し
    た誤り訂正符号を、該誤り訂正符号を生成するのに関与
    したデータが格納されているドライブとは別のドライブ
    に格納するにおいて、 データ書き込みに伴う誤り訂正符号の更新を、前記制御
    装置の負荷が所定値以下のときに処理することを特徴と
    する記憶装置の制御方法。
  6. 【請求項6】書き込むべき複数のデータから少なくとも
    1つの誤り訂正符号を含む1つの論理グループを生成
    し、該論理グループを構成する複数のデータ及び誤り訂
    正符号を複数のドライブ群内に格納する記憶装置におけ
    るデータの格納方法であって、 前記論理グループを構成する複数のデータの1つを新た
    なデータに書き換える更新要求に応答して、該更新デー
    タと新たな誤り訂正符号とを含む1つの論理グループを
    新たに生成し、前記新たな論理グループの更新データと
    誤り訂正符号とを、前記書き換え前のデータ及び誤り訂
    正符号が格納されていたドライブとは異なるドライブに
    それぞれ分散して格納する記憶装置におけるデータの格
    納方法において、 データ書き込みに伴う誤り訂正符号の更新を、前記制御
    装置の負荷が所定値以下のときに処理することを特徴と
    する記憶装置の制御方法。
  7. 【請求項7】デ−タを格納する複数のドライブ群と、該
    ドライブ群を管理する制御装置とを備え、書き込みデー
    タを前記ドライブ群に格納し、該各ドライブに格納され
    ているデータにより誤り訂正符号を生成し、この生成し
    た誤り訂正符号を、該誤り訂正符号を生成するのに関与
    したデータが格納されているドライブとは別のドライブ
    に格納するディスクアレイシステムにおいて、 データ書き込みに伴う誤り訂正符号の更新を、前記デー
    タの書き込みとは非同期でかつ所定のタイミング毎に処
    理することを特徴とするディスクアレイ装置の制御方
    法。
  8. 【請求項8】あるドライブに障害が発生し、障害が発生
    したドライブ内のデータまたはパリティを回復処理によ
    り復元し、この復元したデータまたはパリティを予備の
    書き込み領域に書き込んだ後、障害が発生したドライブ
    を、正常なドライブに交換し、交換後は、この交換した
    正常なドライブは全てスペース領域により構成されてい
    るとして論理グループを再構成して処理を再開すること
    を特徴とする請求項1記載の記憶装置の制御方法。
  9. 【請求項9】あるドライブに障害が発生したことを感知
    したら、障害が発生したドライブを正常なドライブに交
    換し、障害が発生したドライブ内のデータまたはパリテ
    ィを回復処理により復元し、この復元したデータまたは
    パリティと、障害が発生したドライブ内にあったスペー
    ス領域を、交換した正常なドライブに書き込んで再構成
    して処理を再開することを特徴とする請求項1記載の記
    憶装置の制御方法。
  10. 【請求項10】最新に書き込まれたデータについては二
    重化して高信頼とし、書き込み要求があまり発行されな
    いデータについてはパリティにより信頼性を確保するよ
    うに、信頼性について二段階のレベルを設定することを
    特徴とする請求項1記載の記憶装置の制御方法。
  11. 【請求項11】書き込むべき複数のデータから少なくと
    も1つの誤り訂正符号を含む1つの論理グループを生成
    し、該論理グループを構成する複数のデータ及び誤り訂
    正符号を複数のドライブ群内に格納する記憶装置であっ
    て、 前記論理グループを構成する複数のデータの1つを新た
    なデータに書き換える更新要求に応答して、該更新デー
    タと新たな誤り訂正符号とを含む1つの論理グループを
    新たに生成し、前記新たな論理グループの更新データと
    誤り訂正符号とを、前記書き換え前のデータ及び誤り訂
    正符号が格納されていたドライブとは異なるドライブに
    それぞれ分散して格納する記憶装置において、 データ書き込みに伴う誤り訂正符号の更新を、前記デー
    タ書き込み処理よりも遅延させて処理することを特徴と
    する記憶装置。
  12. 【請求項12】前記記憶装置を構成するドライブの集合
    の中に、書き込むデータを一旦二重化して書き込める領
    域をもつことを特徴とする請求項11記載の記憶装置。
  13. 【請求項13】スペース領域を、パリティを生成するデ
    ータと、それらのデータにより生成したパリティが格納
    されているドライブに分散してもつことを特徴とする請
    求項11記載の記憶装置。
  14. 【請求項14】スペース領域を、パリティおよびパリテ
    ィの作成に関与したデータの格納されているドライブ以
    外の、異なる2台のドライブに確保することを特徴とす
    る請求項11記載の記憶装置。
  15. 【請求項15】パリティを生成するデータと生成したパ
    リティと、スペース領域が、それぞれ別のドライブに格
    納されており、これらの対応するデータ、パリティ、ス
    ペース領域が、各ドライブにおいて同一の物理的なアド
    レスに格納されるよう制御する手段を備えていることを
    特徴とする請求項13記載の記憶装置。
  16. 【請求項16】パリティを生成するデータと生成したパ
    リティと、スペース領域が、それぞれ別のドライブに格
    納されており、これらの対応するデータ、パリティ、ス
    ペース領域は、各ドライブにおいて任意の物理的なアド
    レスに格納されるよう制御する手段を有することを特徴
    とする請求項13記載の記憶装置。
  17. 【請求項17】上位装置からの書込み要求に対し、ディ
    スク装置を制御する制御装置が、書込みデータを、スペ
    ース領域の確保されている2台のドライブの物理的なア
    ドレスに二重化して書き込む制御を行うプロセッサを持
    つことを特徴とする請求項13記載の記憶装置。
  18. 【請求項18】論理グループ内において、上位装置から
    の新データ書込み要求に対し、ディスク装置を制御する
    制御装置は、スペース領域の確保されている2台のドラ
    イブの物理的なアドレスに、二重化して書き込む様に変
    換して制御するプロセッサを持つことを特徴とする請求
    項13記載の記憶装置。
  19. 【請求項19】上位装置から書込み要求が発行された場
    合、書き込む新データをスペース領域の確保されている
    2台のドライブの物理的なアドレスに二重化して格納
    し、この段階で上位装置に対し、書き込み処理の終了を
    報告するプロセッサを持つことを特徴とする請求項11
    記載の記憶装置。
  20. 【請求項20】上位装置から書込み要求が発行された場
    合、書き込む新データをスペース領域の確保されている
    2台のドライブの物理的なアドレスに二重化して格納
    し、この段階で上位装置に対し、書き込み処理の終了を
    報告し、データの当該ドライブへの書き込み処理とは独
    立に、後で書き込みによるパリティの作成および当該ド
    ライブへの書き込みを行うように制御するプロセッサを
    持つことを特徴とする請求項18記載の記憶装置。
  21. 【請求項21】上位装置から書込み要求が発行された場
    合、書き込む新データをスペース領域の確保されている
    2台のドライブの物理的なアドレスに二重化して格納
    し、この段階で上位装置に対し、書き込み処理の終了を
    報告した後、上位装置からの読み出しまたは書き込み要
    求数をカウントし、このカウント値をユーザまたはシス
    テム管理者が予め設定した数とで比較する制御を行うプ
    ロセッサを持つことを特徴とする請求項19記載の記憶
    装置。
  22. 【請求項22】上位装置から書込み要求が発行された場
    合、書き込む新データをスペース領域の確保されている
    2台のドライブの物理的なアドレスに二重化して格納
    し、この段階で上位装置に対し、書き込み処理の終了を
    報告した後、上位装置からの読み出しまたは書き込み要
    求数をカウントし、このカウント値をユーザまたはシス
    テム管理者が予め設定した数とで比較した結果、カウン
    ト値が設定数より小さく、しかも、当該ドライブに対し
    上位装置から読み出しまたは書き込み要求が発行されて
    いない場合、書き込み処理におけるパリティの作成を開
    始するように判断する制御を行うプロセッサを持つこと
    を特徴とする請求項20記載の記憶装置。
  23. 【請求項23】論理グループにおいて、パリティを作成
    するデータとパリティの集合をパリティグループとし、
    書き込み前と書き込み後では、パリティグループを構成
    するデータおよびパリティの格納されているドライブが
    異なることを特徴とする請求項11記載の記憶装置。
  24. 【請求項24】論理グループ内のあるドライブに障害が
    発生した場合、正常な残りのドライブ内のデータとパリ
    ティから、障害が発生したドライブ内のデータまたはパ
    リティを回復処理により復元するが、この復元したデー
    タまたはパリティをスペース領域に書き込む制御を行う
    プロセッサを持つことを特徴とする請求項11記載のデ
    ィスクアレイシステム。
  25. 【請求項25】書き込みにより作成した新パリティを、
    当該ドライブへ書き込む前に、あるドライブに障害が発
    生した場合、旧パリティの作成に関与したデータについ
    ては、この旧パリティの作成に関与した、正常な残りの
    ドライブ内のデータとパリティから回復処理により復元
    し、二重化されている新データが格納されているドライ
    ブに障害が発生した場合は、二重化データの一方から、
    障害が発生したドライブ内のデータまたはパリティを回
    復処理により復元する制御を行うプロセッサを持つこと
    を特徴とする請求項11記載のディスクアレイシステ
    ム。
  26. 【請求項26】書き込みにより作成した新パリティを、
    当該ドライブへ書き込む前に、あるドライブに障害が発
    生した場合、正常な残りのドライブ内のデータとパリテ
    ィと二重化されている新データから、障害が発生したド
    ライブ内のデータまたはパリティを回復処理により復元
    するが、この復元したデータまたはパリティをスペース
    領域に書き込む制御を行うプロセッサを持つことを特徴
    とする請求項11記載のディスクアレイシステム。
  27. 【請求項27】データとパリティとスペース領域を、テ
    ーブルにより管理することを特徴とする請求項11記載
    のディスクアレイシステム。
  28. 【請求項28】論理グループ単位に、その内部にアドレ
    ス変換用テーブルと、パリティ生成回路と、キャッシュ
    メモリと、それらを制御するマイクロプロセッサを持つ
    ことを特徴とする請求項11記載のディスクアレイシス
    テム。
JP12576693A 1992-12-28 1993-05-27 ディスクアレイ装置及びその制御方法 Expired - Lifetime JP3256329B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP12576693A JP3256329B2 (ja) 1993-05-27 1993-05-27 ディスクアレイ装置及びその制御方法
US08/248,452 US5579474A (en) 1992-12-28 1994-05-24 Disk array system and its control method
US08/626,332 US6049890A (en) 1992-12-28 1996-04-02 Disk array system and its control method
US09/444,562 US6256749B1 (en) 1992-12-28 1999-11-19 Disk array system and its control method
US09/862,608 US6557140B2 (en) 1992-12-28 2001-05-23 Disk array system and its control method
US10/388,634 US7185265B2 (en) 1992-12-28 2003-03-17 Disk array system and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12576693A JP3256329B2 (ja) 1993-05-27 1993-05-27 ディスクアレイ装置及びその制御方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2000118555A Division JP3234211B2 (ja) 1993-05-27 2000-04-14 ディスクアレイシステム
JP2001330516A Division JP3542577B2 (ja) 2001-10-29 2001-10-29 ディスクアレイ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JPH06332632A true JPH06332632A (ja) 1994-12-02
JP3256329B2 JP3256329B2 (ja) 2002-02-12

Family

ID=14918304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12576693A Expired - Lifetime JP3256329B2 (ja) 1992-12-28 1993-05-27 ディスクアレイ装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP3256329B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6611897B2 (en) 1999-03-22 2003-08-26 Hitachi, Ltd. Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data
US7278050B2 (en) 2003-04-23 2007-10-02 International Business Machines Corporation Storage system having redundancy block, and controller, control method, program, and storage medium for storage system
JP2010277240A (ja) * 2009-05-27 2010-12-09 Nec Corp データストレージシステム、データ領域管理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611897B2 (en) 1999-03-22 2003-08-26 Hitachi, Ltd. Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US7213141B2 (en) 1999-12-14 2007-05-01 Hitachi, Ltd. Storage subsystem and storage controller
US7461245B2 (en) 1999-12-14 2008-12-02 Hitachi, Ltd. Storage subsystem and storage controller
US8015325B2 (en) 1999-12-14 2011-09-06 Hitachi, Ltd. Storage subsystem and storage controller having memory which stores management information indicating corresponding relations between processors and identifies of logical units
US7278050B2 (en) 2003-04-23 2007-10-02 International Business Machines Corporation Storage system having redundancy block, and controller, control method, program, and storage medium for storage system
JP2010277240A (ja) * 2009-05-27 2010-12-09 Nec Corp データストレージシステム、データ領域管理方法

Also Published As

Publication number Publication date
JP3256329B2 (ja) 2002-02-12

Similar Documents

Publication Publication Date Title
US5579474A (en) Disk array system and its control method
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US6058489A (en) On-line disk array reconfiguration
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US9519554B2 (en) Storage system with rebuild operations
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
US7975168B2 (en) Storage system executing parallel correction write
US7962783B2 (en) Preventing write corruption in a raid array
US8078906B2 (en) Grid storage system and method of operating thereof
WO2015052798A1 (ja) ストレージシステム及び記憶制御方法
US20220137835A1 (en) Systems and methods for parity-based failure protection for storage devices
WO1993023803A1 (fr) Appareil de commande pour pile de disques
JPH09231016A (ja) Raid記憶サブシステムにおけるデ−タのスナップショットコピ−作成方法とその装置
JP2004213064A (ja) Raid装置及びその論理デバイス拡張方法
JPH07152499A (ja) ディスクアレイ装置におけるパリティ格納方法、障害回復方法およびディスクアレイ装置
JP2857288B2 (ja) ディスクアレイ装置
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JPH06332632A (ja) ディスクアレイ装置及びその制御方法
JP4398596B2 (ja) ディスクアレイ装置
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法
US20060090032A1 (en) Method and computer program product of obtaining temporary conventional memory usage in BIOS
JP3718506B2 (ja) ディスクアレイ装置及びその制御方法
JP3542577B2 (ja) ディスクアレイ装置及びその制御方法
JPH1031563A (ja) 記憶装置
JP3234211B2 (ja) ディスクアレイシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 12

EXPY Cancellation because of completion of term