JP2000148403A - ディスクアレイ - Google Patents

ディスクアレイ

Info

Publication number
JP2000148403A
JP2000148403A JP11290593A JP29059399A JP2000148403A JP 2000148403 A JP2000148403 A JP 2000148403A JP 11290593 A JP11290593 A JP 11290593A JP 29059399 A JP29059399 A JP 29059399A JP 2000148403 A JP2000148403 A JP 2000148403A
Authority
JP
Japan
Prior art keywords
data
drive
disk
stored
drives
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
JP11290593A
Other languages
English (en)
Inventor
Hitoshi Tsunoda
仁 角田
Toyohiko Kagimasa
豊彦 鍵政
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
Publication of JP2000148403A publication Critical patent/JP2000148403A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device

Abstract

(57)【要約】 【課題】 並列転送できるデータ数を増大する。 【解決手段】 ディスクアレイのディスク制御装置2に
接続されたドライブユニット3において、複数のドライ
ブ4からなる論理グループ5を構成する。この論理グル
ープ5内において各データは同一のドライブに保持され
た複数のデータのコピーデータは、そのドライブ以外
の、互いに異なる他のドライブに分散して保持されるよ
うに、二重化して格納される。 同一のドライブに保持
されたデータを複数読み出す場合、それらのデータの2
重化データあるいは元データを異なるドライブから並列
に読み出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数のデータを2重化し
て保持するディスクアレイ装置に関する。
【0002】
【従来の技術】現在、コンピュータ等の情報処理装置に
おいては、中央処理装置(CPU)等の上位側装置が必要
とするデータは2次記憶装置に格納され、CPUからの
要求に応じてデータの読出し/書込みが行なわれる。こ
のような2次記憶装置には、一般に不揮発な記憶媒体が
使用されていおり、その代表的なものとして、磁気ディ
スク装置、光ディスク装置などがある。
【0003】近年、高度情報化に伴い、2次記憶装置に
対する処理速度等の性能の向上、あるいは信頼性の向上
が要求されてきている。このような要求に答えるため、
以下に述べるような比較的容量の小さな複数のディスク
装置(以下、ドライブとする)とくに磁気ドライブを用
いて構成されるディスクアレイ装置が考えられている。
【0004】ディスクアレイ装置は、そのデータ格納方
法によりいくつかの種類に分類される。
【0005】まず、図16(a)にミラーディスクを用
いたディスクアレイ装置におけるデータの格納方式を示
す。
【0006】ミラーディスクを用いたディスクアレイ装
置では、2台のドライブに全く同じデータを同じように
格納する。図16(a)ではドライブ#1とドライブ#
2がペアとなりドライブ#3とドライブ#4がペアとな
っており、2つのミラーディスクペアにより1つの論理
グループが構成されている。このようなアレイディスク
装置では、それぞれのドライブのペアにはそれぞれ同一
のデータが格納されているため、例えば、ドライブ#1
に障害が発生し、その内部に格納されているデータが読
み出せなくなったなった場合、ドライブ#2からデータ
を読み出すことによりドライブ#1に格納したデータへ
のアクセスが可能となる。なお、ドライブ#2に障害が
発生した場合は同様にドライブ#1からデータを読みだ
すことによりドライブ#2のデータへのアクセスが可能
となる。このように、ドライブ#1,#2のペアでは一
方のデータがバックアップデータとなり、ドライブ障害
に対し信頼性を向上させることができる。ドライブ#
3,#4のペアについても同様のことがいえる。また、
ミラーディスクを利用し、2台のドライブにおいて、並
列に処理する方法について、特願平3−253933に
開示されている。
【0007】図16(b)には、CPUから転送されて
きた一つのデータ3を分割し、分割したデータのそれぞ
れを複数のドライブ#1−#3にパラレルに記録するタ
イプ(RAID3)のディスクアレイ装置を示す。この
ディスクアレイ装置では、記録したデータを読み出す場
合、データ格納時とは逆に、各ドライブに記録されてい
る分割されたデータを同時に読み出し、この読み出した
データをつなぎあわせて元のデータを再生しCPUへ転
送する。このように、複数のドライブからデータをパラ
レルに読み出し、または書き込むことを以下ではパラレ
ル処理という。
【0008】このような、複数のドライブのパラレル処
理では、パラレル処理を行なうドライブのグループを単
位として、記録媒体であるディスクの回転を同期させ、
グループ内の各ドライブに対しては、同一のアドレスに
対しデータの読み出し/書込みを行なう。これにより、
複数のドライブが同じ動作を行う。このようにデータを
分割してパラレル処理を行なうディスクアレイ装置にお
いては、信頼性を向上させるため、分割したデータから
ECC(エラーコレクションコード)を作成し、このE
CCを格納する専用のドライブ#4を用意する。ECC
が奇数パリティの場合、各ドライブに格納されているデ
ータについて、横方向の各ビットに対し、1となるビッ
トの数が奇数となるようにパリティが設定される。例え
ば、図18に示すように、row#7について、ドライ
ブ#1,3のデータビットが1であり、ドライブ#2の
データビットが0となっているとする。この場合、パリ
ティは1となる。ここで、もし、ドライブ#1(ドライ
ブ#2,3についても同様)に障害が発生し、ここから
データが読み出せなくなった場合は、ドライブ#2,3
のデータとドライブ#4のパリティからドライブ#1内
のデータを復元することが可能となる。
【0009】アレイディスク装置の種類の3番目として
図17(a)および(b)にデータを分割せずに個々の
データをドライブに格納し、それぞれのデータを独立に
扱うタイプ(RAID5)のディスクアレイ装置を示
す。このようなディスクアレイ装置においても信頼性を
向上させるため、ECCを作成する。このようなディス
クアレイ装置においては、図17(a)および(b)に
示すようにrow方向の各データのグループに対しEC
Cが作成される。このディスクアレイ装置では、ECC
を格納する専用のドライブを用意せず、ECCをデータ
と同様に各ドライブに振り分けて格納する。もし、ドラ
イブ#1(ドライブ2,3,4についても同様)に障害
が発生した場合はドライブ#2,3,4に格納されてい
るデータおよびパリティからドライブ#1内のデータを
復元することが可能となる。
【0010】このようなディスクアレイ装置に関する代
表的な論文として、D.Patterson, G.Gibson,and R.H.Ka
rtz による“ A Case for Redundant Arrays of Inexpe
nsive Disks(RAID)”, ACM SIGMOD Conference,Chicag
o,IL,(June,1988) PP109-116がある。この論文には、上
記の各ディスクアレイ装置について、その性能および信
頼性の検討結果が報告されている。1番目に述べた従来
ミラー方式はこの論文ではFirst Level RAIDとして述べ
られており、2番目のデータを分割してパラレル処理を
行なう方式はThird Level RAID(以下RAID3とす
る)として述べられ、3番目に述べたのデータを分散
し、パリティも分散して格納する方式はFifth Level RA
ID(以下RAID5とする)として述べられている。現
在この論文に書かれている方式のディスクアレイ装置
が、最も一般的なディスクアレイ装置であると考えられ
ている。
【0011】
【発明が解決しようとする課題】従来のミラー方式のデ
ィスクアレイ装置(図16(a))では、データ#1か
ら12までといって大量のデータをDKC内のキャッシ
ュメモリへ転送する場合、通常はドライブ#1または2
からデータ#1、2、3、4………、12を順に読みだ
しキャッシュメモリへ転送する。ここでデータ処理時間
Tmは、キャッシュメモリへ転送するデータ量をD(K
B),転送速度をS(MB/s)、処理のオーバヘッド
をTohとすると
【0012】
【数1】 Tm=D/(S×1000)+Toh (s) (1) となり、Tmは1台のドライブで通常のデータ処理を行
なう時間に等しくなる。
【0013】このため、高速転送は期待できない。CP
U,ドライブ間においてランダムに少量のデータの読み
出し/書込みを行なう通常のアクセスの場合、アクセス
性能(単位時間当りの最大読み出し/書込み処理件数)
は、読み出しでは4台のドライブで同時に4個の要求を
受け付けられ、書込みでは2台のドライブの2ペアーで
2個の要求を受け付けることが可能となる。このため、
大量のデータを高速に転送する性能は低いが、CPU、
ドライブ間における通常の読み出し/書込み処理性能は
高い。
【0014】一方、従来のRAID3タイプのディスク
アレイ装置(図16(b))においては、一つのデータ
を分割してドライブ#1から3に格納しており、データ
の読み出し/書込みは、常に4台(パリティ用のドライ
ブ1台を含む)のドライブに対し同時に行なわれる。こ
のため、個々の各ドライブ内のデータのみでは意味が無
く、ドライブ#1から3までのデータが全て揃わないと
一つのデータにはならない。この場合、転送速度は3×
S(MB/s)となり、データ処理時間T3は、キャッ
シュメモリへ転送するデータ量をD(KB),オーバヘ
ッドをTohとすると
【0015】
【数2】T3=D/(S×1000×3)+Toh≒Tm
/3 (s) (2)となる。RAID3ではパラレ
ル処理が行なわれ、このように大量のデータ転送を行な
う場合には、図19(a)に示すようにTohは無視で
き、従来のミラー方式(図16(c))のように1台の
ドライブでデータ処理する場合と比較し、データの転送
時間は約1/3となり、キャッシュメモリへシーケンシ
ャルに大量のデータを高速に転送する場合は効果的であ
る。
【0016】しかし、CPUがドライブに対して通常の
読み出し/書込みを行なう場合は、データの格納先はラ
ンダムで小容量のデータであり、しかも要求は頻繁に出
されてくる。RAID3では1つのデータに対しドライ
ブ#1から4までを同時にアクセスするため、ドライブ
が4台あっても一度に受け付けられる読み出し/書込み
要求は1つだけである。パラレル処理により転送速度が
速くなっても図19(b)に示すように小さなデータ量
ではデータ処理時間の中でオーバヘッドが占める割合が
大きいのであまり効果が無い。このため、CPU、ドラ
イブ間における通常の読み出し/書込み処理の性能の向
上はあまり期待できない。
【0017】RAID5のディスクアレイ装置において
は、図17(a)のように、ドライブ単位でデータの塊
(例えば、ドライブ#1ではデータ#1、2、3、4、
5、6、7、8、9)を格納してある場合、従来のミラ
ー方式と同様に、例えば、#1のデータから順にキャッ
シュメモリへ転送するには、ドライブ#1から一連のデ
ータを読みだしキャッシュメモリへ転送する。このた
め、データ処理に要する時間は、従来のミラー方式と同
様に1台のドライブでデータ処理する時間となる。しか
し、論理グループ全体のデータを読み出し/書込みを行
なう場合はドライブ#1,2,3,4をパラレルに同時
に処理することにより高速転送を可能とする。
【0018】一方、図17(b)のように、ドライブ間
に渡ってデータの塊(データ#1、2、3、4、5、
6、7、8、9)を格納してある場合、シーケンシャル
に一度に処理する時は、RAID3と同様にドライブ#
1、2、3、4からのデータをパラレルに処理しキャッ
シュメモリへ転送することができる。従って、この場合
にはRAID3と同様、大量のデータであれば従来のミ
ラー方式のように1台のドライブでデータ処理する場合
と比較し、約1/3の時間の処理時間ですむ。RAID
5におけるこのようなデータの格納方法は、キャッシュ
メモリへシーケンシャルに大量のデータを高速に転送す
る場合は効果的である。
【0019】RAID5において、CPU,ドライブ間
のランダムで小容量のデータの読み出し/書込み処理を
行なう場合、図17の(a)および(b)のいずれのよ
うにデータを格納しても、従来のミラー方式と同様に4
台のドライブで読み出し要求は同時に4個、書込み要求
はは同時に2個の要求を受け付けることが可能となる。
しかし、RAID5ではデータを書き込む場合、パリテ
ィの変更に大きなオーバヘッドを必要とする。例えば、
図17(a)において、ドライブ#2のデータ#10を
書き替える場合(図17(b)ではデータ#2を書きか
える場合)、まず、データ#10とドライブ#4のパリ
ティを読み出す。この読みだしに、平均して1/2回転
の回転待ちが必要となる。次にこの読み出したデータ#
10とパリティと新しく書き込むデータ#10から新し
いパリティを作成し、この新しく書込むデータ#10と
新しく作成したパリティをそれぞれ、ドライブ#2,4
に書き込む。この際、さらに1回転の回転待ちが必要と
なり、書込み処理には合計最低1.5回転の回転待ちが
必要となる。従来のミラー方式、RAID3では読みだ
し/書き込み処理の回転待ちは平均して1/2回転です
む。このディスクの回転は機械的なオーバヘッドであ
り、他の電気的なオーバヘッドと比較し非常に大きい。
このため、書込み処理におけるディスクの回転待ちは非
常に大きなオーバヘッドとなり、ランダムな小容量のデ
ータを処理する場合、処理性能は大きく低下する。従っ
て、RAID5において、図17(b)のようにデータ
を格納しても、大量のデータを高速に転送する性能は高
いが、CPU、ドライブ間における通常の読み出し/書
込み処理で、書き込み要求が多くなると処理性能は低下
してしまう。
【0020】以上のように従来のミラー方式、RAID
3,およびRAID5では、半導体記憶装置−ドライブ
間における大量なデータ転送の高速化という要求と、C
PU−ドライブ間における通常の読み出し/書込み性能
の向上という要求を両立することはできない。
【0021】本発明の目的は、従来技術の上記問題を解
決したディスクアレイ装置を提供することである。
【0022】
【課題を解決するための手段】このために、本発明によ
るディスク装置は、各ディスク装置に格納される複数の
元のデータのコピーデータを、そのディスク装置以外の
互いに異なる他のディスク装置に分散して格納する制御
回路を有する。
【0023】このようにデータを二重化すると共に、あ
るディスク装置に格納されたデータの二重化データを他
のディスク装置に分散させて格納することにより、ある
ディスク装置内に格納される複数のデータを読み出す
際、他のディスク装置からそれぞれのデータに対応する
データを同時に読み出すことによりパラレル処理を可能
とし、高速なデータ転送を実現できる。
【0024】
【発明の実施の形態】以下、図面を用い本発明について
詳細に説明する。
【0025】(実施例1)図1は、本発明による二重化
ディスクアレイ装置の一実施例の構成図である。
【0026】CPU1にはディスク制御装置(以下DK
Cとする)2が接続され、DKC2には複数のドライブ
4により構成されるドライブユニット(以下DUとす
る)3が接続されている。DKC2は、CPU1および
拡張記憶装置(ES)19との間のインターフェース
(I/F)制御を行うチャネルI/Fコントロールユニ
ット(以下CICUとする)6、DU3内のドライブ4
に対するデータの読みだし/書き込みを制御するデータ
コントロールユニット(DCU)7、および、ドライブ
4−DKC2間のインターフェース制御を行なうドライ
ブI/Fコントロールユニット(以下DICUとする)
10により構成される。DU3は2台以上のドライブ4
により構成される1または複数の論理グループ5により
構成される。
【0027】論理グループ5内には、二重化されたデー
タの両方が格納されており、元のデータとそのコピーと
はそれぞれ別のドライブ4に格納されている。
【0028】各ドライブ4の内部構造を図2に示す。デ
ータが記録される複数のディスク11が一本の軸12を
中心に回転するように設けられており、ディスク11上
のデータはヘッド13により読出され、あるいは書き込
まれる。このヘッド13は一枚のディスク11の一面に
対し最低1個必要で、全てのヘッド13はアクチュエー
タ14によりディスク11に対し同時に位置決めされ
る。ドライブ4ではディスク面上には同心円のトラック
にデータが記憶されており、一回のヘッド位置決めによ
り読み出し/書込み可能なトラックの集合をシリンダと
呼ぶ。ディスク面上では外周から内周に向い、各トラッ
クに対しシリンダアドレスが付けられている。データの
読み出しまたは書き込みを行う場合は、当該データが格
納されている、または、格納すべきアドレスをCPU1
より指定してアクセスする。具体的には、CPU1から
は、ヘッド13を選択するヘッド番号とシリンダアドレ
スの組からなるドライブ内アドレスを指定して読みだ
し、あるいは書き込み命令を発行し、指定されたアドレ
ス内のヘッドアドレスに対応したヘッド番号をヘッドセ
レクタ15により選択し、シリンダアドレスに対応した
トラックまでアクチュエータ14によりヘッド13を移
動させるシークを行う。データの格納されている、また
は、格納すべきアドレスへのアクセスが完了した後、パ
スセレクタ16により上位とのパスを選択し、ディスク
11からR/W回路17によりディスク11上のデータ
を読み書きする。論理グループ5内においては各ドライ
ブ4は各々異なった任意のドライブ内アドレスへアクセ
スすることが可能である。
【0029】次にDKC2内のCICU6とDCU7に
ついて図1により説明する。
【0030】CICU6はインターフェースアダプタ
(以下IF Adp)21とチャネルパススイッチ22
により構成される。CICU6はCPU1とDKC2間
の外部パス20を切り替え、当該CPU1とDKC2間
の接続を行なう。具体的には読み出し時はチャネルパス
スイッチ22により当該CPU1との間の外部パス20
を選択した後、キャッシュメモリ18からのデータをI
F Adp21により外部パス20を介して当該CPU
1に転送する。また、書き込み時は逆に、チャネルパス
スイッチ22により当該CPU1との間の外部パス20
を選択した後、当該CPU1から外部パス20を介して
データをIF Adp21に転送しキャッシュメモリ1
8に格納する。
【0031】DCU7はデータ制御部8とデータ管理テ
ーブル31により構成される。データ制御部8はDKC
2内のデータ処理の制御を行なうマイクロプロセッサ
(MP)29とチャネルインターフェース回路(CH
IF)24とデータ制御(DCC)25とチャネル側キ
ャッシュアダプタ(C Adp)26とドライブ側キャ
ッシュアダプタ(C Adp)27とドライブインター
フェース回路(Drive IF)28により構成され
る。CH IF21はCPU1におけるチャネルインタ
ーフェースのプロトコルとDKC2内の処理の変換と、
チャネルインターフェースとDKC2内の処理速度の調
整を行なう。具体的にはCPU1,DKC2間のチャネ
ルインターフェースを光のインターフェースにした場
合、光のインターフェースのプロトコルとDKC2内で
の電気処理でのプロトコルの変換を行なう。MP29の
指示の元で、DCC25はDKC2内のデータ転送制御
を行なう。C Adp26はキャッシュメモリ7に対す
るデータの読みだし、書き込みをMP29の指示で行う
回路で、キャッシュメモリ7の状態の監視、各読みだ
し、書き込み要求に対し排他制御を行う回路である。キ
ャッシュメモリ18からCAdp23により読み出され
たデータはDCC25の制御によりCH IF24に転
送され、逆にCH IF24から転送されてきたデータ
はDCC25の制御によりC Adp26に転送され、
C Adp26によりキャッシュメモリ18に格納され
る。ドライブ側のC Adp27はチャネル側のC A
dp26と同様にキャッシュメモリ7に対するデータの
読みだし、書き込みをMP29の指示で行う回路で、キ
ャッシュメモリ7の状態の監視、各読みだし、書き込み
要求に対しC Adp26と共同で排他制御を行う回路
である。Drive IF28はMP29の指示によ
り、当該ドライブ4へ読み出しまたは書き込みに関する
コマンドを発行する。
【0032】以上説明したデータ制御部8は、DU3内
の複数のドライブ4を同時に処理するのに十分な処理性
能を持つ。
【0033】次に、DKC2内のDCU7について詳細
に説明する。
【0034】以下ではドライブ数mを4として説明する
が一般にはmは3以上であればよい。
【0035】DCU7はデータ制御部8とデータ管理テ
ーブル9により構成される。データ制御部8のマイクロ
プロセッサ(MP)29は、アドレスが格納されている
データ管理テーブル9を参照することにより、DU3内
におけるデータのドライブ内アドレスを認識し、DU3
内の該当ドライブ4に対するデータの読み出し/書込み
の制御を行なう。本実施例では二重化制御はCPU1が
元のデータのみしか認識せず、DKC2が以下に示す規
則に従い、元のデータが格納されるアドレスに対するア
ドレスに、独自に二重化データを格納する。なお、CP
U1内にDCU7の持つデータ管理テーブル9と同様な
テーブルを持たせ、OSからこのテーブルを参照して該
当ドライブ4に対するデータの読みだし/書き込み制御
を行なうことによりCPU1が二重化制御を行うことも
可能である。データ管理テーブル9は、元のデータ及び
二重化されたデータが格納されているアドレスのテーブ
ルとして構成され、要求データに対応したドライブ番
号、シリンダアドレス、ヘッドアドレス等が格納され
る。
【0036】本実施例では、以下の説明においてデータ
名を領域名ともする。
【0037】本実施例では図3,4に示すように論理グ
ループ5において、12個のデータが格納できる領域を
1グループとする。なお、これは4台のドライブ4で1
つの論理グループ5を構成したためで、論理グループを
構成するドライブ数を変えたときには1グループ内のデ
ータ数を次のように変えればよい。論理グループ5を構
成するドライブ数をm台とした場合には、(m−1)×
m個のデータと、その二重化データが格納可能な領域に
より1つのグループを構成する。データの単位について
の特に制約は無いが、以下の説明ではデータの単位を1
トラック分の容量に固定して説明する。なお、1トラッ
クが複数の独立したデータで構成され、元データおよび
二重化データがトラック単位にまとめられて、格納規則
に従って領域が分り当てられているとしてもよい。この
ように、トラック単位で管理することにより、データ単
位での管理としない管理の簡略化が図れることは明らか
である。
【0038】DU3へのデータの格納は以下のように行
なわれる。
【0039】グループ内の各ドライブ4において論理グ
ループ5を構成するドライブ4の台数から1をひいた数
のデータが格納できる領域をサブグループとする。そこ
で、グループに、データ#1から#12の12個のデー
タを格納する場合、3個のデータが、4個のサブグルー
プに格納される。例えば、ドライブ#1のサブグループ
には、データ#1、#2、#3が格納され、ドライブ#
2のサブグループにはデータ#4、5、6が格納され、
ドライブ#3のサブグループにはデータ#7、#8、#
9が格納され、ドライブ#4のサブグループにはデータ
#10、#11、#12が格納され、データ#1から1
2の各データは、図4のように配置される。
【0040】このようにグループ内のサブグループに配
置されたデータに対するアドレス管理方法を以下に示
す。本実施例では、論理グループ5を構成する各ドライ
ブ4において、シリンダアドレスが等しいシリンダによ
りグループを構成する。
【0041】図4は、論理グループ5を構成する各ドラ
イブ4において、シリンダ#1に配置されているデータ
を示す。
【0042】本実施例では、各シリンダは、トラック#
1から12(ヘッドアドレス#1から12)までの12
個のトラックにより構成されるとする。
【0043】グループ1はドライブ#1,2,3,4に
おいて、各ドライブ4のシリンダ#1のトラック#1,
2,3,4,5,6(ヘッドアドレス#1,2,3,
4,5,6)により構成される。
【0044】グループ2はドライブ#1,2,3,4に
おいて、各ドライブ4のシリンダ#1のトラック#7,
8,9.10,11,12(ヘッドアドレス#7,8,
9,10,11,12)により構成される。
【0045】サブグループはグループ1ではドライブ#
1,2,3,4のシリンダ#1のトラック#1,2,3
(ヘッドアドレス#1,2,3)で構成され、グループ
2ではドライブ#1,2,3,4のシリンダ#1のトラ
ック#7,8,9(ヘッドアドレス#7,8,9)で構
成される。
【0046】本実施例において、各データはデータ管理
テーブル9をもとに図3に示すように異なる2つのドラ
イブ内のシリンダアドレスiとヘッドアドレスjで定ま
るアドレス(i,j)の位置に2重化され、各ドライブ
には、図4に示すように格納されているとする。データ
#1は、ドライブを#1のシリンダアドレス#1、ヘッ
ドアドレス#1(以下、(シリンダアドレス、ヘッドア
ドレス)として示す)のアドレスに格納され、この2重
化データは、ドライブ#2の(1、4)のアドレスに格
納され、データ#2は、ドライブ#1の(1、2)のア
ドレスに格納され、その二重化データはドライブ#3の
(1、4)のアドレスに格納されている。以下、データ
#3、4、5、・・・についても図3,4に示す規則で
同様に格納される。
【0047】このように、二重化データは、原則として
論理グループ5を構成するドライブ4の集合の中で、元
のデータが格納されているドライブ4以外のドライブ4
に平均的に分散させて格納する。つまり、ドライブ#1
に格納されるデータ#1、#2、#3の二重化データ
は、ドライブ#1以外のドライブ#2、#3、#4の何
れかにそれぞれ格納される。本実施例ではデータ#1は
ドライブ#2に、データ#2はドライブ#3に、データ
#3はドライブ#4に格納している。同様にデータ#
4、#5、#6はそれぞれドライブ#1,#3,#4
に、データ#7、#8、#9はそれぞれドライブ#1,
#2,#4に、データ#10、#11、#12はそれぞ
れドライブ#1,#2,#3に格納する。すなわち、論
理グループ5を4台のドライブ4で構成した場合ドライ
ブ#1の元データに対する二重化データは、論理グルー
プ5を構成するドライブ#1以外のドライブ4(ドライ
ブ#2,3,4)に割り当てられる。また、ドライブ#
2の元データに対する二重化データは、論理グループ5
に構成するドライブ#2以外のドライブ4(ドライブ#
1,3,4)に割り当てられる。ドライブ#3の元デー
タに対する二重化データは、論理グループ5を構成する
ドライブ#3以外のドライブ4(ドライブ#1,2,
4)に割り当てられる。ドライブ#4の元データに対す
る二重化データは、論理グループ5を構成するドライブ
#4以外のドライブ4(ドライブ#1,2,3)に割り
当てられる。このように元データと二重化データの格納
されドライブの割り当てた後、各ドライブ内のアドレス
(シリンダアドレス、ヘッドアドレス)の割当は以下の
ようにする。本実施例では同一のサブグループに属する
元のデータに対する二重化データは元のデータと同一の
シリンダアドレスとした。これは、本実施例では論理グ
ループを構成する各ドライブ4において、グループを同
一シリンダで構成しているためである。もし、元データ
および二重化データがランダムなシリンダアドレスに割
り当てられているとし、これらによりグループを構成す
ると、後に説明する高速転送のように複数ドライブによ
るパラレル処理を行なう際にヘッドの移動(シーク)が
必要となり、性能が低下する。一方、ヘッドアドレスは
原則としては同一のヘッドアドレスとする。もし、格納
されるシリンダにおいて、同一のヘッドアドレスに割り
当てるさいに、そのアドレスの前の領域が空いている場
合は詰めて割り当てる。具体的には、図4においてドラ
イブ#2の元データであるデータ#4の二重化データ
は、ドライブ#1のシリンダ#1において、トラック#
4が空いているためトラック#4に詰めて割り当てられ
る。本実施例では元のデータの格納されるトラックの集
合(グループ1ではトラック#1,2,3)と二重化デ
ータが格納されるトラックの集合(グループ1ではトラ
ック#4,5,6)を分けて同一のヘッドアドレスとし
ているが、これらを混在させることも可能である。しか
し、混在させた場合、後で示す高速転送の際にヘッドの
切り替えが頻繁に必要となり、この時の制御やアドレス
の管理が複雑となる。このため、混在させる場合、元デ
ータの格納されるトラックの集合と二重化データの格納
されるトラックの集合単位での混在が望ましい。
【0048】各ドライブの領域を元データ用と2重化デ
ータ用に割り当てるにあたっては、各ドライブの2(m
−1)個の領域ドライブ数m=2m(m−1)個の領域
を群とし、これらをm(m−1)個の元データ用領域
と、それと同数の現データを保持する領域に分ける。
【0049】本実施例ではドライブ数mのときに、同一
ドライブ内のm−1個の元データに対する2重化データ
が分散されている数nはm−1に等しく、(m−1)個
の他のドライブに分散して記憶される。従って、最大n
+1=m個のドライブから、m個のデータを並列に読め
るようになる。
【0050】以上述べた規則に従うことにより、グルー
プ1のデータ#1から#12は、図4に示すように各ド
ライブ4に格納される。グループ2に以降についても同
様にグループ分けされ、その各グループにおいて図4に
示すような規則で格納されている。データ管理テーブル
9は、このような規則に従ってデータを格納するため、
図3に示すような対応表を持つ。データ管理テーブル9
は図20に示すように格納されるデータ名に対し、元デ
ータが格納されているアドレスと、この元データが格納
されているアドレスに割り当てられた二重化データが格
納されているアドレスで構成されている。初期設定の段
階ではアドレス管理テーブル9は元データアドレスと二
重化データアドレスのみしか登録されておらず空き領域
となっており、順次データが格納される毎にデータ名が
アドレス管理テーブル9に登録されていく。また、格納
されたデータを削除した場合は、アドレス管理テーブル
9において登録されているデータ名を削除し、元データ
アドレスと二重化データアドレスはそのままである。こ
のように、データを格納する場合、アドレス管理テーブ
ル9においてデータ名の登録されていない空き領域を探
し、この空き領域にデータ名を登録し、元データを格納
するアドレスと、二重化データを格納するアドレスを自
動的に決定する。DCU7ではデータ制御部8のMP
(29)がCPU1が指定してきた元のデータのアドレ
スに基づいてこのデータ管理テーブル9を参照し、元の
データ及び二重化データが格納されているドライブ4に
対し読み出し/書込み処理を行なう。
【0051】次に、このように格納されているデータに
対し、読み出し/書込みを行なう方法について説明す
る。
【0052】まず、ドライブ4からのデータの読み出し
について説明する。
【0053】DKC2ではCPU1から指定してきたデ
ータに対しDCU7において、MP29がデータ管理テ
ーブル9を用いてそのデータが格納されているドライブ
及びそのドライブ内のシリンダアドレス、ヘッドアドレ
スを決定する。DCU7のMP29によるドライブから
のデータ読み出し方法としては、大きく以下の3通りの
方法がある。
【0054】第1は、図5にフローチャートとして示す
ように、読み出しは、CPU1から指定されてきたデー
タは元のデータ(図3において各データが格納されるア
ドレスの内、上段のアドレスに格納されているデータ)
のみとし、DCU7のMP29は、元のデータが格納さ
れているドライブへ読み出し要求を出す。もし、元のデ
ータが格納されているドライブが使用中で読み出し処理
ができない場合は、そのドライブが使用可能になるまで
待って読み出し処理を行なう。
【0055】第2は、図6にフローチャートとして示す
ように、CPU1からの要求に対し、DCU7のMP2
9はまず、元のデータが格納されているドライブに対し
読み出し要求を出し、当該ドライブが使用中で処理がで
きない場合は二重化データの格納されているドライブに
対し、読み出し要求を出す。もし、元のデータ及び二重
化データの格納されているドライブが両方とも使用中で
処理できない場合は、どちらか早く処理可能となったド
ライブを用いて読み出し処理を行なう。
【0056】第3は、元のデータと二重化データの区別
をせず、CPU1からの要求にたいし、DCU7のMP
29が初めから元のデータと二重化データの両方に対し
読み出し要求を出し、早く処理できる方から処理を行な
う。
【0057】上記3通りのいずれかの方法によりドライ
ブ4からデータを読み出した後は、DICU10による
ドライブ,DKC2間のインターフェース制御を受け、
読み出されたデータはDCU7へ転送される。DCU7
ではデータを受け取り次第CICU6を介してCPU1
へ当該データを転送する。
【0058】一方、書込みの場合は図5、6にフローチ
ャートとして示すように、DCU7のMP(29)は元
のデータと二重化データを格納するアドレスの決定後、
格納先の両ドライブ4に対し書込みが可能な場合は即座
にデータおよび二重化データを書き込む。しかし、一方
のドライブ4が使用中で書込みが行なえない場合は、先
に書き込める方のドライブ4に書込んでおき、他方には
書き込み可能になり次第書き込む。なお、CPU1側で
は二重化データを書き込むことは認識しておらず、DK
C2が独自に行なう。このようにCPU1からDKC2
へ読み出し/書込み要求が来た場合はDCU7のMP
(29)はデータ管理テーブル9を用いてDU3内のア
ドレス(当該ドライブアドレス、ドライブ内アドレス
(シリンダアドレス、ヘッドアドレス))を決定した
後、そのアドレスへ読み出し/書込みを行なう。
【0059】上記の書き込み方法は、データ#1から1
2の各データは各々独立したデータとした。もし、連続
した大容量の一つのデータの場合は、一つのグループ内
に格納する。
【0060】具体的には、図4のデータ#1,2,3,
4,5,6を連続した一つのデータを6個に分割した部
分データ#1,2,3,4,5,6とする。この場合
は、図4に示すように部分データ#1,2,3をドライ
ブ#1のグループ1の連続した領域であるサブグループ
1に格納し、それぞれの二重化データを先に示した各々
が独立したデータの場合と同様にドライブ#2,3,4
に格納する。
【0061】同様に部分データ#4,5,6をドライブ
#2のグループ1の連続した領域であるサブグループに
格納し、それぞれの二重化データを先に示した各々が独
立したデータの場合と同様にドライブ#1,3,4に格
納する。
【0062】連続した一つのデータに関し、データの大
きさに制限は無い。もし、グループ1に格納しきれない
大きさの場合は、別のグループ2に同様に格納してい
く。
【0063】このように各々独立したデータを大きな一
つのデータを分割した、部分データと変えることによ
り、本発明を大容量データにも適用することが可能であ
ることは明らかである。
【0064】次に、DKC2内のキャッシュメモリ18
やES19等の半導体を用いた記憶装置とDU3間で、
ある特定のドライブ4内のデータを連続して高速に転送
する方法について述べる。
【0065】論理グループ5内の各ドライブ4内にデー
タが図4に示すように格納されている場合において、例
えば、ドライブ#1内のデータ#1、#2、#3をCP
U1においてソートしたり、データベースのデータをス
ワップするため高速に読み出したい場合は、DCU7の
MP(29)はドライブ#2からデータ#1、ドライブ
#3からデータ#2、ドライブ#4からデータ#3をそ
れぞれパラレルに読み出す。このように分散して格納さ
れている二重化データをパラレルに読み出すことによ
り、1台のドライブ4に格納されている元のデータを読
み出すのと比較し、データ転送速度は約3倍となり高速
転送が実現できる。他のドライブに格納されているデー
タを読みだす場合も同様に、DCU7のMP(29)の
制御により分散して格納されている二重化データをパラ
レルに同時に読み出すことで高速転送を行なうことがで
きる。
【0066】この処理を拡大し、任意のデータ単位で高
速転送を行なう方法を以下に示す。
【0067】例えば、データ#2、#3、#4、#5の
4データを高速に読み出す場合、DCU7のMP29
は、それぞれのデータをドライブ#3、#4、#1、#
2からパラレルに読み出す。データ#2、#3、#4、
#5、#6の5データの場合はドライブ#3からデータ
#2、ドライブ#4からデータ#3、ドライブ#1から
データ#4、ドライブ#2からデータ#5、ドライブ#
4からデータ#6をパラレルに読み出す。但し、ドライ
ブ#4からのデータ#3と#6の読み出しはシリアルに
なる。このようにDCU7のMP29において4台のド
ライブ4に分散して格納されている元のデータおよび二
重化データにより、パラレル転送ができるように要求す
るデータを論理グループ5内の各ドライブ4から選択す
ることにより、任意のデータ単位で高速転送することが
可能となる。このとき、データ#2,3,4,5を一つ
の大きなデータの部分データ#,2,3,4,5と考え
れば大容量のデータ転送に適用することにする。
【0068】次に、この高速転送による読み出しを用い
て、論理グループ5内のデータのバックアップをとる方
法について説明する。
【0069】論理グループ5内には元のデータと二重化
データのペアーが全く同じデータとして格納されてい
る。このため、論理グループ5を構成するドライブ4内
に、格納されているデータのバックアップをとる場合
は、図4の6トラックにより構成されるグループ1に対
し、斜線で示された元のデータのみのバックアップを取
れば良い。そこで、DCU7のMP29はまず、ドライ
ブ#1からデータ#1を、ドライブ#2からデータ#4
を、ドライブ#3からデータ#7を、ドライブ#4から
データ#10をパラレルに読み出す。これらのデータを
読み出した後は同様に、ドライブ#1から#4までのそ
れぞれのデータ#2、#5、#8、#11を、さらにデ
ータ#3、#6、#9、#12をパラレルに同時に読み
出す。このようなデータの読み出しは、例えば、ドライ
ブ#1では、データ#1、#2、#3が同一シリンダア
ドレスのヘッドアドレス#0(ヘッド#0にて読み出し
/書込みができるトラック)、#1、#2に、ドライブ
#2では、データ#4、#5、#6が同一シリンダアド
レスのヘッドアドレス#0、#1、#2に、ドライブ#
3ではデータ#7、#8、#9が同一シリンダアドレス
のヘッドアドレス#0、#1、#2に、そして、ドライ
ブ#4ではデータ#10、#11、#12が同一シリン
ダアドレスのヘッドアドレス#0、#1、#2に格納さ
れているとすれば、各ドライブにおいてヘッドセレクタ
15によりヘッド#0から#2を順次選択して行なうこ
とができる。このように論理グループ5を構成する各ド
ライブからデータをパラレルに同時に読み出すことによ
り、トラック#1から6のグループ1をみると、データ
#1から12までを1台のドライブから読み出すのと比
較し1/4の時間で読み出すことが可能となる。
【0070】グループ1のデータ#1から#12のバッ
クアップをとった後は、同様にしてグループ2以降のデ
ータについてバックアップをとっていけばよい。なお、
すべてのデータについてバックアップとらず、任意のデ
ータ数で部分的にバックアップをとることも可能であ
る。また、元のデータのみではなく、二重化データも含
めて論理グループ5全体のバックアップを取る場合はr
ow#1から3までのバックアップ完了後、引き続き同
様にrow#4から6までパラレルに同時にデータを読
み出し、以下のグループについても同様に順に読み出し
ていく。パラレルに同時に読み出したデータは、一旦D
KC2のキャッシュメモリ18に格納し、キャッシュメ
モリ18から他の磁気ディスク装置または磁気テープ装
置または光ディスク装置等のバックアップ媒体に格納す
る。
【0071】この高速転送はパラレルに読み出すのをパ
ラレルに書き込みとすれば書込みの場合も同様に行なえ
ることは明らかである。この高速転送による書込み時に
おいて、二重化データのドライブへの並列書き込みが完
了した時点でCPU1へ終了報告を行っても良い。この
ようにした場合、二重化データへの書込みは完了するが
元のデータへの書込みは完了しておらず、二重化してデ
ータを書き込んではいない。しかし、高速転送による書
込みは次のような場合に有効となる。半導体を用いた記
憶装置は揮発性であるため、停電事故等による記憶装置
内のデータの喪失を防ぐために少しでも早く磁気ディス
ク等の不揮発な媒体に書き込んでおきたいという要求が
ある。このため、高速転送による書込みにより、とりあ
えずデータを不揮発化しておき、DCU7のMP29の
判断で適当な時期に元のデータへの書込みも行ないデー
タの二重化を行なう。この高速転送による書込みにおい
て、データの二重化が完了されているかどうかはDCU
7のMP29において管理する。
【0072】以上述べたような高速転送による読み出し
/書込み処理は論理グループ5内の各ドライブ4間のみ
で行なうだけではなく、複数の論理グループ5が協調
し、論理グループ5間で高速転送による読み出し/書込
み処理を行なうことも可能である。
【0073】また、高速転送による読み出し/書込み処
理を行なう際、各ドライブの回転を同期させると、論理
グループ5内の各ドライブ4における回転待ち時間が、
一台のドライブの時と等しく平均で1/2回転となるた
め、前処理時間が短くなりより効果的である。
【0074】次に図1においてDU3内の論理グループ
5でどれか一台のドライブ4に障害が発生した時に、そ
の障害ドライブ4のデータを回復する方法を示す。図4
において論理グループ5内の4台のドライブ4のうちド
ライブ#1に障害が発生したとする。この場合DCU7
のMP29が以下のような手順によりデータの回復を行
なう。
【0075】まず、障害が発生したドライブ#1を正常
なドライブと交換する。この場合、ドライブ#1内のデ
ータは図4に示すようにドライブ#2,#3,#4に二
重化データとして格納されている。そこで、ドライブ#
1に障害が発生した場合は、ドライブ#2,#3,#4
からドライブ#1の二重化データを読み出し、そのデー
タを交換した正常なドライブに書込み、データの回復を
行なう。この時ドライブ#1に格納される元のデータは
ドライブ#2,#3,#4のそれぞれからパラレルに同
時に読み出される。これらのデータは一端DKC2内の
キャッシュメモリ18に格納する。キャッシュメモリ1
8への格納が完了したら、キャッシュメモリ18から正
常なドライブに交換したドライブ#1へ格納する。ドラ
イブ#1へのデータ格納終了後再び、ドライブ#2、
3、4からドライブ#1の二重化データを一端DKC2
内のキャッシュメモリ18に格納し、キャッシュメモリ
18への格納が完了したら、キャッシュメモリ18から
正常になったドライブ#1へ格納する。このように、二
重化データを一端キャッシュメモリ18に格納し、キャ
ッシュメモリ18から正常になったドライブ#1へ格納
することを繰り返す。
【0076】このように分割して処理するのは、キャッ
シュメモリ18の容量がドライブ#1の容量と比較し小
さいので、一度に処理出来ないためである。もし、キャ
ッシュメモリ18の容量がドライブ#1の容量と比較し
大きい場合は一回で処理することも可能である。
【0077】図7(a),(b)に従来ミラー方式にお
けるデータ回復処理と本実施例におけるデータ回復処理
との処理タイミングチャートを示す。図7(a)に示す
ように、従来ミラー方式ではミラードライブと、交換し
て正常になったドライブは一台ずつであるため、ミラー
ドライブからの二重化データの読み出し時間と、交換し
て正常になったドライブへの二重化データの書込み時間
は等しく、一台のドライブでの処理時間となる。一方、
本実施例では、図7bに示すように論理グループ5内の
正常なドライブ4から二重化データをパラレルに同時に
読みだすことにより、二重化データの読み出し時間が短
縮されるため、データの回復時間は短くなる。また、二
重化データのキャッシュメモリ18への格納完了後キャ
ッシュメモリ18から正常になったドライブ#1へ格納
する際、二重化データが格納されているドライブ#2、
3、4において通常のオンライン処理(CPU1からの
アクセス要求)を受け付けるようにすると、図8a,8
bに示すように回復処理時間を従来ミラー方式と同じに
した場合、従来ミラー方式と比べて、本実施例の方がオ
ンラインを受け付ている時間が長くなるため、回復処理
によりオンライン要求が受け付けられない時間が少なく
なり、回復処理中のオンライン処理の性能低下を抑える
ことが可能となる。
【0078】データの回復処理中のオンライン処理性能
の低下を抑える別の方法として、ドライブ#1に障害が
発生し、二重化データをキャッシュメモリ18に読み出
す際に、先に示したようにドライブ#2,#3,#4か
らパラレルに同時に読みだすのではなく、それぞれのド
ライブから順に格納されている二重化データを順番に読
み出す方法がある。この方法を図9(a),(b)を用
いて説明する。ドライブ#1の二重化データとして、図
9(a)に示すようにドライブ#2にはデータ#4、#
1、#16、#13が、ドライブ#3にはデータ#7、
#2、#19、#14が、ドライブ#4にはデータ#1
0、#3、#22、#15がそれぞれ格納されている。
ドライブ#1に障害が発生するとドライブ#1を正常な
ドライブに交換した後、図9(b)に示すように、まず
ドライブ#2からデータ#4、#1、#16、#13を
キャッシュメモリ18に格納し、キャッシュメモリ18
から正常なドライブに交換したドライブ#1へデータを
格納するデータ回復処理を行なう。ドライブ#2からの
データ回復処理中はドライブ#3,#4においては通常
のオンライン処理を行なう。ドライブ#2における回復
処理終了後は同様にドライブ#3からデータ#7、#
2、#19、#14を読みだして回復処理を行ない、こ
の間はドライブ#2,#4においては通常のオンライン
処理を行なう。
【0079】同様にドライブ#3の回復処理終了後はド
ライブ#4にて回復処理を行なう。このようにデータ回
復を行なうドライブ4を順番に切り換えるていくことに
より、データの回復処理により占有されるドライブ4を
分散させ、データ回復処理により読み出し/書込みがで
きないデータが長時間存在することを防げる。このた
め、データ回復処理により読み出し/書込みができない
という被害を受けるデータが平均化されるため、特定ユ
ーザに被害が集中するのではなく、ユーザ間において被
害が平均化される。なお、本実施例では障害が発生した
ドライブ4を交換した後に正常なドライブに入れ替え、
そのドライブにデータを回復したが、予め障害が発生し
たドライブの予備としてDU3内にドライブ4を用意し
ておき、障害が発生したら直ちに予備のドライブ4と切
換えてデータ回復を行なうことも考えられる。
【0080】次に、書込み処理中における読み出し処理
性能について従来のミラー方式と比較して説明する。
【0081】図10(a),(b)は本実施例と従来の
ミラー方式の装置とにおける書込み処理中に読み出し可
能なデータの種類を示す。例えば、データ#1の書込み
を行なう場合、図10(a)に示すように、本実施例で
はドライブ#1とドライブ#2に書込み要求を出し、書
込みを行なう。一方、従来ミラー方式でもドライブ#
1,#2に対し書込み要求を出し、書込みを行なう。何
れの方法でもデータ#1の書込みを行なっている際には
ドライブ#3,#4に対する読み出しは処理することが
できる。しかし、図10(a)をみると、本実施例で
は、ドライブ#3,4には20種類のデータが格納され
ているのに対し、従来のミラー方式では図10(b)に
示すようにドライブ#3,#4には12種類のデータし
か格納されていない。このように書込み処理中に読み出
し処理を行なえるドライブ数は本実施例と従来のミラー
方式では2台と同じであるが、その2台のドライブ4に
格納されているデータの種類は本実施例の方が1.7倍
になっている。このため、本実施例では書き込み処理中
にCPU1が読みだし要求を出した場合、要求する読み
出したいデータが、論理グループ5内における書込み処
理中に読み出し可能な2台のドライブ4中に存在する確
率が高くなる。従って、書込み要求を処理している際の
読み出し処理を効率良く行なえる。
【0082】次に本実施例において、ある特定ドライブ
に対し読み出し/書込み要求が集中した場合に効率良く
処理できる効果について説明する。
【0083】コンピュータシステムにおいては2次記憶
装置内の特定の領域に対し読み出し/書込み要求が集中
する場合がある。特に読み出し要求が特定のドライブ4
に対し集中して出される場合がある。本実施例による二
重化方式と従来のミラー方式においてドライブ#1に集
中して読み出し要求が出された場合の処理方法を図11
(a),(b)を用いて説明する。本実施例では図11
(a)に示すように、ドライブ#1内のデータと同じも
のがドライブ#2,#3,#4に分散して二重化データ
として格納されている。このため、図11aからわかる
ように、各論理グループを4台のドライブで構成した場
合、同時に4個の読み出し要求を処理することができ
る。ある特定のドライブ4に読み出し要求が集中してい
るかどうかの判断は、DKC2内のDCU7のMP29
において、ある一定サイクルでどのドライブに読み出し
要求が出されたかを記憶しておき、その値が予め設定し
ておいた値を超えた場合、DCU7のMP29では、デ
ータ制御部8がデータ管理テーブル9を参照し二重化デ
ータの方から読み出しを行なうように制御する。また、
このようにある特定のドライブに読み出し要求が集中し
た場合のみにDKC2が二重化データの読み出しを行な
うのではなく、DCU7のMP29は各論理グループを
一つの大きなデータ空間と考えて、常に、読み出し要求
が出されたデータに対し二重化データも注目し、元のデ
ータが格納されているドライブが使用中の場合は、二重
化データが格納されているドライブの状況をチェック
し、使用中でなければCPU1からの読み出し要求を受
け付ける。また、一つのデータに対し、2個のアドレス
を対応させるように、元のデータと二重化データの区別
をせず平等に扱うことも可能である。これによりある特
定のドライブに読み出し要求が集中しても論理グループ
5内の各ドライブ4で平均化して使用されるため、効率
良く処理することが可能となる。一方、従来のミラー方
式ではドライブ#1の二重化データはドライブ#2にし
か無いため、同時には2個の読み出し要求を処理できる
だけである。このように、ある特定のドライブ4に対し
読み出し要求が集中して出された場合、本発明では論理
グループ5内の各ドライブ4に分散して格納してある二
重化データで処理することにより、従来のミラー方式の
2倍の要求を処理することが可能となる。また、書き込
み時でも、ある1台のドライブに読み出し/書き込み要
求が集中している場合、以下のように処理することによ
り、読み出し/書き込み要求が集中しているドライブで
の待ち時間を減少することが可能となる。書き込むデー
タに対し、読み出し/書き込み要求が集中しているドラ
イブ以外のドライブへ元データまたは、二重化データを
書き込み、この時点でCPUへは書き込み処理の終了を
報告する。この時キャッシュメモリ内に書き込みデータ
は保持しておく。DCU7のMP(29)は、後に読み
出し/書き込み要求が集中しているドライブにおいて、
この集中が解除された時にキャッシュメモリから読み出
し/書き込み要求が集中していたドライブに元データま
たは二重化データを書き込み、二重化を完成する。
【0084】なお、二重化が完成しているかどうかの判
断は、アドレス管理テーブルの元データアドレス、二重
化データアドレスの書き込みフラグで行う。書き込みフ
ラグがオン(1)の場合はドライブへの書き込みが行わ
れておりオフ(0)の場合は、ドライブへの書き込みが
行われている。
【0085】また、二重化が完成される前のデータに、
読み出し要求がCPU1より発行された場合は、キャッ
シュメモリから当該データをCPU1へ転送する。
【0086】一方、二重化が完成される前のデータに、
書き込み要求がCPU1より発行された場合は、その書
き込みと同時に、集中しているドライブ以外のドライブ
へ元データまたは二重化データを書き込みCPU1へ書
き込みの終了を報告し、後にDCU7のMP(29)は
二重化を完成させる。
【0087】本実施例ではドライブ#1を例として説明
したが、論理グループ5を構成するどのドライブ4につ
いても同様のことがいえるのは明らかである。
【0088】(実施例2)本実施例は、図1に示すシス
テムにおいて、データの格納方法を図12に示すように
したものである。
【0089】本実施例においてデータは、図12に示す
ように3個のトラックからなるグループを単位として格
納される。なお、1グループ内の列の数は、論理グルー
プ5を構成するドライブ4の数によって変わり、その数
は論理グループ5をm台のドライブ4で構成した場合、
m−1個となる。グループ内は、6個の元のデータおよ
びその二重化データにより構成され、元のデータと二重
化データとは、それぞれ異なるドライブ4に格納され
る。二重化データの格納方法は、原則として二重化デー
タが論理グループ5内で各ドライブ4に平均的に分散さ
れていれば、元のデータが格納されているドライブ4以
外のドライブ4ならどのドライブ4に格納しても構わな
い。この元のデータと二重化データは3個のトラックに
よるグループ内で閉じている。
【0090】次に、本実施例におけるDCU7の機能に
ついて詳しく述べる。
【0091】DCU7のデータ管理テーブル9には実施
例1と同様に図13のような格納規則に従い、要求デー
タに対応した元データと二重化データに割り当てられた
領域のアドレスである、ドライブ番号、シリンダアドレ
ス、ヘッドアドレスが格納されている。本実施例におい
ても実施例1と同様に初期設定の段階で、アドレス管理
テーブル9において格納規則に従った元データアドレス
と二重化データアドレスが登録されている。データの書
き込み、削除の際は、アドレス管理テーブル9のデータ
名の登録,削除が行われる。先に述べたように、本実施
例は6個の元のデータとその二重化データで1グループ
を構成している。例えば、グループ1はデータ#1から
#6により構成される。
【0092】本実施例では、以下の説明において、この
データ名は領域名とする。
【0093】各グループでは、図12に示す例では、そ
のグループに属するデータのデータ番号の小さい順で格
納規則は一定である。例えばグループ1においては図1
2及び図13(m=1,n=1とした場合)に示すよう
に、データ#1はドライブ#1の(1、1)とドライブ
#4の(1、1)に、データ#2はドライブ#1の
(1、2)とドライブ#2の(1、1)に、データ#3
はドライブ#1の(1、3)とドライブ#3の(1、
1)に、データ#4はドライブ#2の(1、2)とドラ
イブ#4の(1、3)に、データ#5はドライブ#2の
(1、3)とドライブ#3の(1、2)に、データ#6
はドライブ#3の(1、3)とドライブ#4の(1、
2)にそれぞれ格納される。グループ2、3、4、・・
・についもグループ1と同様にアドレス管理テーブル9
に示す規則に従い格納される。
【0094】本実施例では、元のデータと二重化データ
を例えば図12に示すように設定する。図12におい
て、斜線で示すデータが元のデータ、他のデータが二重
化データである。図12からも分かるように、データの
格納規則は各グループにおいて同じだが、元のデータと
二重化データの設定の仕方が、奇数番号のグループと偶
数番号のグループにおいて異なっている。これは、後に
述べるデータのバックアップの際の便宜を図るためであ
る。図12ではグループ1,2,3,4についてのみ示
しているが、以下同様に各グループにおいて、奇数番号
のグループと偶数番号のグループにおいて元のデータ
と、二重化データの設定を変える。
【0095】本実施例においては、m個のドライブがあ
るとき、各ドライブ内のデータは他のm−1個のドライ
ブに分散して2重化される点は実施例1と同じである
が、実施例1として異なるのは、図12に示したよう
に、各ドライブの(m−1)の領域がドライブ数mの領
域群に関して元データと現データとを保持する領域が異
なるドライブに分散されるようにすることである。
【0096】本実施例においてもデータの単位について
の制約は無いが、以下の説明ではデータの単位を1トラ
ックの容量として説明する。
【0097】DCU7ではデータ制御部8のMP(2
9)がこのデータ管理テーブル9からCPU1が指定し
てきた元のデータのアドレスをもとにして二重化データ
の格納されているアドレスを見つけだし、元のデータ及
び二重化データが格納されているドライブ4に対し読み
出し/書込み処理を行なう。なお、格納されているデー
タに対する読み出し/書込みの方法は実施例1と同じで
ある。
【0098】次に、本実施例により図1に示すDKC2
内のキャッシュメモリ18やES19等の半導体による
記憶装置とDU3間で、ある特定のドライブ4内に格納
されるデータを高速に転送する方法について述べる。
【0099】例えばグループ1において、ドライブ#1
内のデータ#1、#2、#3を高速に読み出す場合、デ
ータ制御部8のMP29は、ドライブ#4からデータ#
1、ドライブ#2からデータ#2、ドライブ#3からデ
ータ#3をパラレルに同時に読み出す。同様にドライブ
#2のデータ#2、#4、#5については、それぞれド
ライブ#1,#3,#4からパラレルに同時に読み出
す。このように、あるドライブ4に格納されているデー
タを読みだす場合、他の3台のドライブ4に格納される
データをパラレルに同時に読み出すことによりデータ転
送速度は1台のドライブ4から読み出すのと比較し、約
3倍となり高速転送が実現できる。ドライブ#3、#4
に格納されるデータ、さらには、他のグループのデータ
についても同様に高速転送を行なうことが可能である。
【0100】次に任意のデータ単位で高速転送を行なう
方法を以下に示す。例えばデータ#2、#3、#4、#
5の4データを高速に読み出す場合、データ制御部8の
MP29は、ドライブ#1からデータ#2、ドライブ#
3からデータ#3、ドライブ#4からデータ#4、ドラ
イブ#2からデータ#5をパラレルに読み出す。データ
#2、#3、#4、#5、#6の5データの場合はデー
タ制御部8のMP29は、ドライブ#1からデータ#
2、ドライブ#3からデータ#3、ドライブ#4からデ
ータ#4、ドライブ#2からデータ#5、ドライブ#3
からデータ#6をパラレルに読み出す。
【0101】このようにデータ制御部8のMP29にお
いて、4台のドライブ4に分散して格納されている元の
データおよび二重化データにより、パラレル転送ができ
るように要求するデータを論理グループ5内の各ドライ
ブ4から選択することにより、任意のデータ単位で高速
転送することが可能となる。
【0102】次に、この高速転送による読み出しを用い
て、論理グループ5内のデータのバックアップをとる方
法について説明する。
【0103】論理グループ5内には元のデータと二重化
データのペアーが全く同じデータとして格納されてい
る。従って、バックアップをとるデータは、図12にお
いて斜線で示された元のデータのみでよい。そこで、バ
ックアップを行なう場合、データ制御部8のMP29は
2つのグループを一つの単位として、まず、グループ1
のデータ#1、#2、#3、#6をドライブ#1、#
2、#3、#4からパラレルに同時に読み出す。これら
のデータを読み出した後はヘッドセレクタ15によりヘ
ッドを切換え続けて、グループ1のデータ#4、#5を
ドライブ#2、#3から、また、グループ2のデータ#
8、#7をパラレルに同時に読み出す。さらに、これら
のデータを読み出した後はヘッドセレクタ15により再
度ヘッドを切換え連続して、グループ2のデータ#9、
#10、#11、#12をパラレルに同時に読み出す。
以下同様に2つのグループを単位として順次バックアッ
プをとる。
【0104】なお、論理グループ5内の全てのデータの
バックアップとるのではなく、任意のデータ数で部分的
にバックアップをとることも可能である。また、元のデ
ータのみではなく、二重化データも含めて論理グループ
5全体のバックアップを取る場合、データ制御部8のM
P29は、ドライブ#1から4においてrow#1から
順にパラレルに同時に読みだしていく。パラレルに同時
に読み出したデータはDKC2のキャッシュメモリ18
に一端格納し、キャッシュメモリ18から他の磁気ディ
スク装置または磁気テープ装置または光ディスク装置等
のバックアップ媒体に転送し格納する。
【0105】この高速転送は書込みの場合も同様に行な
えることは明らかである。ただし、書込みの場合の高速
転送では1回の書き込み処理では、実施例1と同様に元
のデータと二重化データ双方の書込みが完了しておら
ず、二重化してデータを書き込んではいない。この高速
転送による書込みにおいて、データの二重化が完了され
ているかどうかはDCU7においてMP29がデータ管
理テーブル9により管理する。
【0106】以上述べたような高速転送による読み出し
/書込み処理は論理グループ5内の各ドライブ4間のみ
で行なうだけではなく、複数の論理グループ5が協調
し、論理グループ5間で高速転送による読み出し/書込
み処理を行なうことも可能である。また、高速転送によ
る読み出し/書込み処理を行なう際、各ドライブの回転
を同期させると、論理グループ5内の各ドライブ4にお
ける回転待ち時間が、一台のドライブの時と等しく平均
で1/2回転となるため、前処理時間が短くなりより効
果的である。
【0107】次に、図1においてDU3内の論理グルー
プ5を構成するいずれか一台のドライブ4に障害が発生
した時に、その障害ドライブ4のデータを回復する方法
を図14を参照して説明する。ここでは、4台のドライ
ブ4のうちドライブ#1に障害が発生した場合を例に説
明する。この場合、DCU7のMP29は以下のような
手順によりデータの回復を行なう。まず、障害が発生し
たドライブ#1を正常なドライブと交換する。図14に
示すように、ドライブ#1内のデータと同じデータがド
ライブ#2,#3,#4に格納されている。そこで、こ
れらのドライブ#2,#3,#4からドライブ#1のデ
ータを読み出し、そのデータを交換した正常なドライブ
に書込み、データの回復を行なう。この時ドライブ#1
に格納されるデータ#1、#2、#3はドライブ#2,
#3,#4のそれぞれからパラレルに同時に読み出す。
これらのデータは一旦DKC2内のキャッシュメモリ1
8に格納し、キャッシュメモリ18から正常なドライブ
に交換したドライブ#1へ格納する。ドライブ#1への
データ格納終了後再び、ドライブ#2、#3、#4から
ドライブ#1のデータを読み出し、同様にキャッシュメ
モリ18を介して正常になったドライブ#1へ格納す
る。以下、この回復処理を繰り返しドライブ#1内の全
データの回復を行なう。もし、キャッシュメモリ18の
容量がドライブ#1の容量と比較し大きい場合は、ドラ
イブ#1に格納される全データをキャッシュメモリ18
に格納し、その後、ドライブ#1に格納することで、処
理を一回で済ませることも可能である。
【0108】本実施例におけるデータ回復処理のタイミ
ングチャートは実施例1に関して図7(a)に示したも
のと同じであり、実施例1と同様に、本実施例によれば
従来のミラー方式と比較しデータの読み出し時間が短縮
されるため、データの回復時間は短くなる。また、図8
(b)を用いて実施例1に関して説明したことと同じよ
うに回復処理中のオンライン処理の性能低下を本実施例
でも抑えることが可能となる。
【0109】本実施例において示したデータ格納方法に
おいても実施例1で示した全ての機能、効果を同じよう
に適応できることは明らかである。また、本実施例では
4台のドライブにより論理グループ5を構成したが、こ
のドライブ台数は2台以上であれば特に制限されるもの
ではない。
【0110】(実施例3)図15(a)にさらに他のデ
ータ格納方法を示す。
【0111】本実施例においても、実施例1,2と同様
に初期設定の段階でアドレス管理テーブル9には元デー
タアドレスに対する二重化データアドレスの割りあてが
事前に行われており、データの書き込み、削除の際は、
アドレス管理テーブルのデータ名への登録,削除が行わ
れる。
【0112】図15(a)では、共に二重化データを2
台のドライブに分散させて格納している。二重化データ
に関する分散方法についての制約はない。具体的には、
図15においてドライブ#1に格納されている元データ
に対し二重化データをドライブ#3、4に格納する場合
は、ドライブ#1に格納されている元データの内の半分
をドライブ#3、残りの半分をドライブ#4に格納す
る。この時、ドライブ#1に格納されている元データの
中で、どれをドライブ#3に格納し、どれをドライブ#
4に格納するかの選択は自由である。つまり、二重化デ
ータを、元のデータが格納されているドライブ以外の2
台以上のドライブに分けて格納されていればよい。結
局、本実施例では、ドライブ数mは2k(k≧2)であ
り、この内、k個のドライブの各々に元データを保持す
る領位を設け、それぞれのドライブの元データに対する
2重化データを残りのk個のドライブに分散して格納す
る。本実施例ではとくに1つのドライブの元データ群を
k個の群に分割し、結局ドライブ数mのときに各ドライ
ブ内の元データに対する2重化データを分散して保持す
るドライブ数nはm/2となっている。より一時的に
は、n≧2,m≧4であればよい。(a)ではドライブ
#1のデータの二重化データはドライブ#3,4に交互
に格納し、ドライブ#2のデータも同様にドライブ#
3,4に交互に格納する。
【0113】(実施例4)図15bに示すように、ドラ
イブ#1のデータの二重化データはドライブ#3,4に
格納し、ドライブ#2のデータも同様にドライブ#3,
4に格納するが、図15(a)と異なるのは、(b)の
場合はいくつかのデータを一つの塊としてドライブ#
3,4に交互に格納している点である。
【0114】この実施例3,4のように二重化データを
分散して格納しても実施例1および2の機能、効果を同
じように適応できることは明らかである。例えば、図1
5Aに示すようにドライブ#1の元データがドライブ#
3、4に分散して格納されている場合、バックアップ等
の要求により、データ#1、2、3を一度に高速に読み
だしたい時は、ドライブ#1のデータ#1、ドライブ#
4のデータ2、ドライブ3のデータ3をパラレルに一度
に読みだすことにより、3台のドライブによる並列処理
が可能となる。これは、ドライブ#1に読み出し/書き
込み要求が集中した場合に、ドライブ#1への読み出し
/書き込み要求をドライブ#1、3、4に分散させるの
にも使用可能で有る。
【0115】一時的には、本実施例によれば、ドライブ
数mに対して、2重化データを分散して保持するドライ
ブの数nがm/2であるため、本実施例によればn+1
=m/2+1のデータを異なるドライブから並列によめ
ることになる。
【0116】本実施例では同一ドライ内のデータの2重
化データが分散されているドライブの数nはm−1より
小さく、実施例1、2の場合より少なく、したがって並
列によめるデータの数もm−1より少ないが、元データ
用の領域と2重化データ用の領域の位置関係が簡単であ
るため、これらの領域の決定が実施例1,2より簡単に
行えるという利点を有する。
【0117】(実施例5)本実施例では連続領域を確保
することが難しいUNIXにおいて、連続領域を確保す
る方法を説明する。UNIXの書き込みでは、書き込み
先のドライブ内で使用されていない空き領域に対し自動
的に書き込まれてしまう。CPU1がドライブ#1にシ
ーケンスシャルデータであるデータ#1、8、12を書
き込もうとする。この時、データ#1、8、12を格納
するのに十分な空き領域が連続して(ドライブ内のアド
レスが連続)確保できればそこに格納するが、以下のよ
うに連続して確保できない場合は以下のように処理す
る。ドライブ#1において(シリンダアドレス、ヘッド
アドレス)=(シリンダ#1、トラック#1)と(シリ
ンダ#3、トラック#2)と(シリンダ#4、トラック
#3)が空き領域の場合、図21に示すようにそれぞれ
の空き領域にデータ#1、8、12を書き込む。
【0118】このドライブ#1に書き込まれたデータ#
1、8、12は元データである。これらの元データに対
し実施例1の格納規則にしたがい、それぞれ二重化デー
タはデータ#1はドライブ#2の(シリンダ#1、トラ
ック#4)、データ#8はドライブ#3の(シリンダ#
3、トラック#4)、データ#12はドライブ#4の
(シリンダ#4、トラック#4)に格納される。これら
のデータ#1、8、12はシーケンシャルなデータなた
め、データ#1、8、12の順にシーケンシャルに読み
出す場合はドライブ#2、3、4から二重化データであ
るデータ#1、8、12をパラレルに読み出す。図21
のタイムチャートに示すように、ドライブ#1からシー
ケンシャルに元データであるデータ#1、8、12を読
み出す場合、各々のデータに対しヘッドの移動(シー
ク)と回転待ちとデータの転送が必要となるが、上記の
ように複数ドライブから二重化データをパラレルに読み
出すことにより、各々のドライブにおいて一回のヘッド
の移動(シーク)と回転待ちとデータの転送でする。上
記説明はデータの単位をトラック単位としたが、トラッ
クの容量以下のデータの場合でも同様である。例えば、
1トラックが10個の小さなデータで構成される場合、
(シリンダ#1、トラック#1)と(シリンダ#3、ト
ラック#2)と(シリンダ#4、トラック#3)のトラ
ックにそれぞれデータ#1、8、12の元データが格納
されているとする。これらの二重化データはそれぞれド
ライブ#2の(シリンダ#1、トラック#4)、ドライ
ブ#3の(シリンダ#3、トラック#4)、ドライブ#
4の(シリンダ#4、トラック#4)に格納されるとす
ればよい。
【0119】以上の実施例では、ドライブ4として磁気
ディスク装置を用いたものを例に説明したが、光ディス
ク装置、フロッピィディスク装置等を用いても同様に実
現できることは明らかである。また、論理グループ5を
構成するドライブ数を4台としたが、論理グループ5を
構成するドライブ4の数は2台以上であれば制約が無い
ことはいうまでもない。
【0120】また、上記実施例ではDKC2内にDCU
7を置き、DU3内の各ドライブ4を全て管理している
が、DCU7を各論理グループ5単位に持たせることも
可能である。このように各論理グループ5単位にDCU
7を持たせると、CPU1は該当するデータが格納され
ている論理グループ5を一つの大きなデータ空間と認識
し、これに対し読み出し/書込み要求を出すことができ
る。論理グループ5内においては、DCU7がCPU1
から指定されたデータが格納されている物理的なアドレ
スを見つけて、該当するドライブ4に対し実際に読み書
きを行なう。また、CPU1のOSがDCU7の機能を
サポートしても構わない。
【0121】さらに、本発明による二重化ディスクアレ
イ装置は、従来のミラー方式、RAID3,RAID5
と混在して構成されていても構わない。このように、一
つのシステム内において複数の格納方式による論理グル
ープ5が存在することにより、データの信頼性に対する
要求や、高速転送に対する要求等のデータの特性により
格納方式を選択することができる。
【0122】
【発明の効果】以上述べたように本発明によれば、デー
タはディスクアレイを構成するドライブに分散して格納
されるため、各ドライブを効率良く使用でき、単位時間
当りの処理件数を低下させることなくデータの読み出し
/書込みを高速に行なうことができる。また、ドライブ
に障害が発生した場合のデータ回復処理についても、二
重化データをパラレルに同時に読み出して行なうことに
より、短時間で回復させることが可能であり、回復処理
とオンライン処理とを並行して行なう場合でもオンライ
ン処理を止める時間を少なくできるため、その間にユー
ザに与える被害を少なくできる等の顕著な効果を達成す
ることができる。
【図面の簡単な説明】
【図1】本発明によるディスクアレイ装置の構成図であ
る。
【図2】図1の装置に使用するドライブの内部構造図で
ある。
【図3】図1の装置に適用される第1の各データの格納
方法を説明する図である。
【図4】図1の装置における二重化データの格納を示す
図である。
【図5】図1の装置に適用される読み出し/書込み処理
フローチャートである。
【図6】図1の装置に適用されうる他の読み出し/書込
み処理フローチャートである。
【図7】(a)は従来のミラー方式のディスクアレイ装
置におけるデータ回復処理のタイミングチャートであ
る。(b)は図1の装置におけるデータ回復処理のタイ
ミングチャートである。
【図8】(a)は従来のミラー方式のディスクアレイ装
置において、オンライン処理を実行しながら行うデータ
回復処理タイムチャートである。(b)は、図1の装置
において、従来のミラー方式のディスクアレイ装置にお
いて、オンライン処理を実行しながら行うデータ回復処
理タイムチャートである。
【図9】(a)は、図1の装置において、オンライン処
理を実行しながら行う他のデータ回復処理の説明図であ
る。(b)は、図9(a)の処理のタイムチャートであ
る。
【図10】(a)は、図1の装置における書込み処理中
の読み出し処理の説明図である。(b)は、従来のミラ
ー方式によるディスクアレイ装置における書込み処理中
の読み出し処理の説明図である。
【図11】(a)は、図1の装置におけるデータ分散効
果の説明図である。(b)は、従来のミラー方式による
ディスク装置におけるデータ分散効果の説明図である。
【図12】図1の装置に適用される第2のデータ格納方
法によるデータ格納状態を示す図である。
【図13】図12に使用した各データに対するアドレス
を説明する図である。
【図14】図1の装置に図13にて示したデータ格納方
法を採用したときのドライブ障害時のデータ回復処理の
説明図である。
【図15】(a)は、図1の装置に適用可能な第3のデ
ータ格納方法によるデータ格納状態を説明する図。
(b)は、図1の装置に適用可能な第4のデータ格納方
法によるデータ格納状態を説明する図。
【図16】(a)は、従来のディスクアレイ装置におけ
るデータ格納を説明する図である。 (b)は、従来の
他のディスクアレイ装置におけるデータ格納を説明する
図である。
【図17】(a)は、従来のさらに他のディスクアレイ
装置におけるデータ格納を説明する図である。(b)
は、従来のさらに他のディスクアレイ装置におけるデー
タ格納を説明する図である。
【図18】従来のディスクアレイ装置におけるパリティ
生成方法の説明図である。
【図19】(a)は、いくつかの従来技術における大量
データ転送時におけるデータ処理時間の比較図である。
(b)は、いくつかの従来技術における小量データ転送
時におけるデータ処理時間の比較図である。
【図20】図1の装置で用いるアドレス変換テーブルの
例を示す図。
【図21】図1の装置に適用する、第4のデータ格納方
法によるデータ格納状態を説明する図である。
フロントページの続き (72)発明者 高本 良史 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 田中 淳 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】k個のディスク装置からなる第1のディス
    ク装置群と、 k個のディスク装置からなる第2のディスク装置群と、 上位側装置と接続可能であり、上記第1のディスク装置
    群と上記第2のディスク装置群とに接続されたディスク
    制御装置とを有し、上記ディスク制御装置は、上記上位
    側装置から書き込みを要求されたデータを所定の単位で
    上記第1のディスク装置群と上記第2のディスク装置群
    とに2重化して書き込み、かつ、上記書き込みを要求さ
    れたデータを上記第2のディスク装置群に分散させて書
    き込むために、そのデータを上記第2のディスク装置群
    の上記k個のディスク装置に上記所定の単位で交互に書
    き込む書き込み手段と、上記上位側装置からの上記書き
    込み手段により2重化して書き込まれたデータの読みだ
    し要求に応じて、上記第1のディスク装置群又は上記第
    2のディスク装置群からそのデータを読み出す手段とを
    有するディスク制御装置であって、上記第1のディスク
    装置群と上記第2ののディスク装置群の内のいずれか一
    つのディスク装置に障害が発生したときに、上記読み出
    し手段は、上記障害の発生したディスク装置の属する上
    記第1のディスク装置群又は上記第2のディスク装置群
    ディスク装置群とは異なる他方のディスク装置群から、
    上記ディスクに格納されているデータと同じデータを並
    列に読み出し、上記書き込み手段は、上記ディスクの替
    わりに使用される交代用のディスク装置に、上記読み出
    されたデータを順次書き込む手段をさらに有することを
    特徴とするディスクアレイ。
  2. 【請求項2】請求項1に記載のディスクアレイにおい
    て、 上記読み出し手段は、上記書き込み手段により上記交代
    用ディスク装置に上記データを書き込むのと並列に、上
    記障害の発生後に上記上位装置からの読み出し要求の指
    定するデータを上記他方のディスク装置群から読み出す
    ことを特徴とするディスクアレイ。
JP11290593A 1992-09-09 1999-10-13 ディスクアレイ Pending JP2000148403A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4-240333 1992-09-09
JP24033392 1992-09-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5223090A Division JPH06187101A (ja) 1992-09-09 1993-09-08 ディスクアレイ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003192559A Division JP2004046864A (ja) 1992-09-09 2003-07-07 ディスクアレイ

Publications (1)

Publication Number Publication Date
JP2000148403A true JP2000148403A (ja) 2000-05-30

Family

ID=17057925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11290593A Pending JP2000148403A (ja) 1992-09-09 1999-10-13 ディスクアレイ

Country Status (2)

Country Link
US (1) US5636356A (ja)
JP (1) JP2000148403A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103856A (ja) * 2010-11-09 2012-05-31 Nippon Hoso Kyokai <Nhk> 記録装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728832B2 (en) * 1990-02-26 2004-04-27 Hitachi, Ltd. Distribution of I/O requests across multiple disk units
US5900010A (en) * 1996-03-05 1999-05-04 Sony Corporation Apparatus for recording magneto-optic disks
US6076142A (en) * 1996-03-15 2000-06-13 Ampex Corporation User configurable raid system with multiple data bus segments and removable electrical bridges
JP3344907B2 (ja) * 1996-11-01 2002-11-18 富士通株式会社 Raid装置及び論理ボリュームのアクセス制御方法
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法
US6076143A (en) * 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6332177B1 (en) * 1998-10-19 2001-12-18 Lsi Logic Corporation N-way raid 1 on M drives block mapping
US6425052B1 (en) * 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
JP3836651B2 (ja) * 1999-12-24 2006-10-25 株式会社東芝 ディスク記憶装置
JP2002259062A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US7765378B1 (en) * 2001-06-01 2010-07-27 Sanbolic, Inc. Utilization of memory storage
JP4391192B2 (ja) 2003-10-09 2009-12-24 株式会社日立製作所 ディスクアレイ装置
JP2005115771A (ja) * 2003-10-09 2005-04-28 Hitachi Ltd ディスクアレイ装置
JP4497918B2 (ja) * 2003-12-25 2010-07-07 株式会社日立製作所 ストレージシステム
WO2006036810A2 (en) * 2004-09-22 2006-04-06 Xyratex Technnology Limited System and method for flexible physical-to-logical mapping in raid arrays
JP2006113648A (ja) * 2004-10-12 2006-04-27 Hitachi Ltd ディスクアレイ装置
US7694072B2 (en) * 2005-09-22 2010-04-06 Xyratex Technology Limited System and method for flexible physical-logical mapping raid arrays
US8028011B1 (en) * 2006-07-13 2011-09-27 Emc Corporation Global UNIX file system cylinder group cache
FR2922335A1 (fr) * 2007-10-12 2009-04-17 Seanodes Sa Systeme informatique ameliore comprenant plusieurs noeuds en reseau.
US8375190B2 (en) * 2007-12-11 2013-02-12 Microsoft Corporation Dynamtic storage hierarachy management
GB2503274A (en) * 2012-06-22 2013-12-25 Ibm Restoring redundancy in a RAID
US9910747B2 (en) * 2014-09-12 2018-03-06 International Business Machines Corporation Parallel mirrored copying with write consistency

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253933A (ja) * 1990-03-03 1991-11-13 Fujitsu Ltd 二重化ディスク制御装置におけるディスク制御方式
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5313585A (en) * 1991-12-17 1994-05-17 Jeffries Kenneth L Disk drive array with request fragmentation
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103856A (ja) * 2010-11-09 2012-05-31 Nippon Hoso Kyokai <Nhk> 記録装置

Also Published As

Publication number Publication date
US5636356A (en) 1997-06-03

Similar Documents

Publication Publication Date Title
JP2000148403A (ja) ディスクアレイ
US5673412A (en) Disk system and power-on sequence for the same
US6009481A (en) Mass storage system using internal system-level mirroring
US4942579A (en) High-speed, high-capacity, fault-tolerant error-correcting storage system
US6502166B1 (en) Method and apparatus for distributing data across multiple disk drives
US7506187B2 (en) Methods, apparatus and controllers for a raid storage system
EP0294287B1 (en) Fault-tolerant, error-correcting storage system and method for storing digital information in such a storage system
EP0552580A2 (en) Data storage method and apparatus for DASD arrays
US6571314B1 (en) Method for changing raid-level in disk array subsystem
US6397348B1 (en) Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method
JPH05257611A (ja) ディスクアレーの区分け方法
JPH0736634A (ja) ディスクアレイ装置
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
US8402213B2 (en) Data redundancy using two distributed mirror sets
JP4307777B2 (ja) データ処理方法、データ処理システムおよびプログラム
JPH07203337A (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
JPH0863298A (ja) ディスクアレイ装置
US6611897B2 (en) Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data
JPH06187101A (ja) ディスクアレイ
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JP3597349B2 (ja) 記憶サブシステムおよびその障害回復方法
JP2004046864A (ja) ディスクアレイ
JP2856336B2 (ja) アレイディスク装置とその制御方法
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
JP3597086B2 (ja) ディスクアレイ制御装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060427