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

ディスクアレイ

Info

Publication number
JPH06187101A
JPH06187101A JP5223090A JP22309093A JPH06187101A JP H06187101 A JPH06187101 A JP H06187101A JP 5223090 A JP5223090 A JP 5223090A JP 22309093 A JP22309093 A JP 22309093A JP H06187101 A JPH06187101 A JP H06187101A
Authority
JP
Japan
Prior art keywords
data
area
disk
drive
areas
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
JP5223090A
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
Priority to JP5223090A priority Critical patent/JPH06187101A/ja
Publication of JPH06187101A publication Critical patent/JPH06187101A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

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

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】(a)3以上の複数(m)のディスク装置
    と (b)該ディスク装置へのデータの書き込みおよび該デ
    ィスク装置からのデータの読み出しを制御するディスク
    制御装置とを有し、 該ディスク制御装置は、(b1)該複数のディスク装置
    に含まれる複数の領域の内、それぞれ元データ用の領域
    とその元データの二重化データ用の領域とからなる複数
    の領域対を決定する手段であって、該複数の領域対を、
    同一の領域対に属する元データ用の領域と二重化データ
    用の領域とが互いに異なるディスク装置に属するよう
    に、かつ、同一のディスク装置に属する複数の領域と対
    をなす他の複数の領域が、そのディスク装置以外の所定
    の複数(n)(但し2≦n≦m−1)のディスク装置に
    属するように決定するものと、(b2)該複数のディス
    ク装置内に書き込むべきデータを、該複数の領域対の内
    の一つの領域対に属する元データ用の領域と二重化デー
    タ用の領域に書き込む手段と、(b3)該複数のディス
    ク装置から読み出すべき2より多い複数のデータの内の
    異なるものを元データあるいは二重化データとしてそれ
    ぞれ保持し、かつ、互いに異なるディスク装置に属する
    複数の領域を、データ読み出し領域として検出する手段
    と、(b4)該検出された複数の領域から該複数のデー
    タを並列に読み出す手段とを含むものとを有するディス
    クアレイ。
  2. 【請求項2】該読み出すべきデータの数は、該所定数
    (n)より1大きい請求項1記載のディスクアレイ。
  3. 【請求項3】該所定数(n)は、mー1に等しい請求項
    1記載のディスクアレイ。
  4. 【請求項4】該読み出すべきデータの数は、mに等しい
    請求項3記載のディスクアレイ。
  5. 【請求項5】mは4以上であり、nはm−1より小さ
    く、2以上である請求項1記載のディスクアレイ。
  6. 【請求項6】該読み出すべきデータの数は、該所定数
    (n)より1大きい請求項5記載のディスクアレイ。
  7. 【請求項7】該ディスク制御装置は、上位装置が指定す
    る論理アドレスに該決定された複数の領域対の一つを割
    り当てる手段をさらに有し、 該読み出すべき複数のデータは、該上位装置から発行さ
    れた2より多い読み出し要求が指定する複数の論理アド
    レスを有するデータであり、 該データ読み出し領域の検出手段は、 該上位装置から発行された2より多い読み出し要求に応
    答して、該領域対の決定手段により決定された複数の領
    域対の内、該複数の読み出し要求が指定する複数の論理
    アドレスに対して上記割当手段により割り当てられた複
    数の領域対を検出する手段と、 それぞれ該検出された複数の領域対の互いに異なるもの
    に属し、かつ、それぞれ互いに異なるディスク装置に属
    し、かつ、それぞれ元データ用の領域あるいは二重化デ
    ータ用の領域である複数の領域を、該データ読み出し領
    域として検出する手段を有する請求項1記載のディスク
    アレイ。
  8. 【請求項8】該ディスク制御装置は、上位装置が指定す
    る論理アドレスに該決定された複数の領域対の内の一部
    の複数の領域対を割り当てる手段をさらに有し、 該データ読み出し領域の検出手段は、 該上位装置から発行された一つの読み出し要求に応答し
    て、その読み出し要求が指定する論理アドレスに対して
    上記割当手段により割り当てられた複数の領域対を検出
    する手段と、 それぞれ該検出された複数の領域対の互いに異なるもの
    に属し、かつ、それぞれ互いに異なるディスク装置に属
    し、かつ、それぞれ元データ用の領域あるいは二重化デ
    ータ用の領域である複数の領域を該データ読み出し領域
    として検出する手段を有する請求項1記載のディスクア
    レイ。
  9. 【請求項9】該読み出すべき複数のデータは、該複数の
    ディスク装置の内の一つのディスク装置に保持されてい
    るデータである請求項1記載のディスクアレイ。
  10. 【請求項10】該読み出すべきデータの数は、該所定数
    (n)より1大きい請求項9記載のディスクアレイ。
  11. 【請求項11】該所定数(n)は、mー1に等しく、該
    読み出すべきデータの数は、mに等しい請求項9記載の
    ディスクアレイ。
  12. 【請求項12】該領域対の決定手段は、 該複数のディスク装置に含まれる複数の領域の内、該複
    数のディスク装置の各々に2(m−1)個づつ含まれる
    2m(m−1)個の領域をそれぞれ含む複数の領域群を
    選択する手段と、 各領域群に含まれる各ディスク装置内のm−1個の領域
    の各々が、そのディスク装置以外のm−1個のディスク
    装置の内の互いに異なるものに含まれるm−1個の領域
    からなる第1の領域群の一つの領域と対を構成し、その
    領域群に含まれる各ディスク装置内の他のm−1個の領
    域の各々が、そのディスク装置以外のm−1個のディス
    ク装置の異なるものに含まれる、該第1の領域群に属さ
    ない異なるm−1個の領域からなる第2の領域群に属す
    る一つの領域と対を構成するように、該複数の領域対を
    決定するする手段を有する請求項4記載のディスクアレ
    イ。
  13. 【請求項13】該領域対の決定手段は、 該複数のディスク装置に含まれる複数の領域の内、該複
    数のディスク装置の各々に(m−1)個づつ含まれるm
    (m−1)個の領域をそれぞれ含む複数の領域群を選択
    する手段と、 各領域群に含まれる各ディスク装置内のm−1個の領域
    の各々が、そのディスク装置以外のm−1個のディスク
    装置の内の互いに異なるものに含まれるm−1個の領域
    の一つと対を構成するように、該複数の領域対を決定す
    るする手段を有する請求項4記載のディスクアレイ。
  14. 【請求項14】mは2k(但し、k≧2)に等しく、 該領域対の決定手段は、 該複数のディスク装置の各々に属する複数の領域をそれ
    らのk分の1個の領域からなるk個の領域群に分割する
    手段と、 該複数のディスク装置の内のk個のディスク装置の各々
    のk個の領域群に対応させるべき、該k個のディスク装
    置以外の他のk個のディスク装置内の互いに異なるもの
    に属するk個の領域群を決定する手段と、 該k個のディスク装置の各々の領域群内の複数の領域
    が、その領域群に対応させられた該他のk個のディスク
    装置内のいずれか一つの領域群に属する複数の領域の一
    つと対をなすように該複数の領域対を決定する手段を有
    する請求項5記載のディスクアレイ。
  15. 【請求項15】(a)3以上の複数(m)のディスク装
    置と (b)該ディスク装置へのデータの書き込みおよび該デ
    ィスク装置からのデータの読み出しを制御するディスク
    制御装置とを有し、 該ディスク制御装置は、(b1)該複数のディスク装置
    に含まれる複数の領域の内、それぞれ元データ用の領域
    とその元データの二重化データ用の領域とからなる複数
    の領域対を決定する手段であって、該複数の領域対を、
    同一の領域対に属する元データ用の領域と二重化データ
    用の領域とが互いに異なるディスク装置に属するよう
    に、かつ、同一のディスク装置に属する複数の領域と対
    をなす他の複数の領域が、そのディスク装置以外の所定
    の複数(n)(但し2≦n≦m−1)のディスク装置に
    属するように決定するものと、(b2)該複数のディス
    ク装置内に書き込むべきデータを、該複数の領域対の内
    の一つの領域対に属する元データ用の領域と二重化デー
    タ用の領域に書き込む手段と、(b3)該複数のディス
    ク装置の内のいずれか一つのディスク装置に障害が発生
    したときに、その一つのディスク装置に含まれる複数の
    領域を元データ用の領域あるいは二重化データ用の領域
    として含む複数の領域対を決定する手段と、(b4)そ
    れぞれ決定された複数の領域対の異なるものに含まれ、
    そのディスク装置以外の他の複数のディスク装置の異な
    るものに属する複数の領域を決定する手段と、(b5)
    該決定された複数の領域に保持されたデータを並列に読
    み出す手段と、(b6)該障害が発生した一つのディス
    ク装置の代わりに使用される交替用のディスク装置に、
    該読み出されたデータを順次書き込む手段とを有するデ
    ィスクアレイ。
  16. 【請求項16】該所定数(n)は、mー1に等しく、該
    領域の決定手段により決定される領域の数はmに等しい
    請求項15記載のディスクアレイ。
  17. 【請求項17】(a)3以上の複数(m)のディスク装
    置と (b)該ディスク装置へのデータの書き込みおよび該デ
    ィスク装置からのデータの読み出しを制御するディスク
    制御装置とを有し、 該ディスク制御装置は、(b1)該複数のディスク装置
    に含まれる複数の領域の内、それぞれ元データ用の領域
    とその元データの二重化データ用の領域とからなる複数
    の領域対を決定する手段であって、該複数の領域対を、
    同一の領域対に属する元データ用の領域と二重化データ
    用の領域とが互いに異なるディスク装置に属するよう
    に、かつ、同一のディスク装置に属する複数の領域と対
    をなす他の複数の領域が、そのディスク装置以外の所定
    の複数(n)(但し2≦n≦m−1)のディスク装置に
    属するように決定するものと、(b2)上位装置が指定
    する論理アドレスに該決定された複数の領域対の内の一
    部の複数の領域対を割り当てる手段と、(b3)該複数
    のディスク装置内に書き込むべきデータを、該複数の領
    域対の内の一つの領域対に属する元領域と二重化領域
    に、それぞれ元データおよび2重化データとして書き込
    む手段と、(b4)該複数のディスク装置の内のいずれ
    か一つのディスク装置に障害が発生したときに、その一
    つのディスク装置に含まれる複数の領域を元データ用の
    領域あるいは二重化データ用の領域として含む複数の領
    域対を決定する手段と、(b5)それぞれ該決定された
    複数の領域対の異なるものに含まれ、その一つのディス
    ク装置以外の他の複数のディスク装置の異なるものに属
    する複数の領域を決定する手段と、(b6)該決定され
    た複数の領域に保持されたデータを順次読み出す手段
    と、(b7)該障害が発生した一つのディスク装置の代
    わりに使用される交替用のディスク装置に、該読み出さ
    れたデータを順次書き込む手段と、(b8)該障害の発
    生後に該上位装置から発行されたデータ読み出し要求に
    応答して、該読み出し要求が指定した論理アドレスに、
    該割り当て手段により割り当てられた領域対に属する元
    データ用の領域または二重化データ用の領域の内、該他
    の複数のディスク装置のいずれか一つに属する領域を選
    択する手段と、(b9)該データ書き込み手段による該
    交替用のディスク装置へのデータの書き込みと並行し
    て、該選択された領域からデータを読み出す手段を有す
    るディスクアレイ。
  18. 【請求項18】該所定数(n)は、mー1に等しく、該
    領域の決定手段により決定される領域の数はmに等しい
    請求項17記載のディスクアレイ。
  19. 【請求項19】(a)3以上の複数(m)のディスク装
    置と (b)該ディスク装置へのデータの書き込みおよび該デ
    ィスク装置からのデータの読み出しを制御するディスク
    制御装置とを有し、 該ディスク制御装置は、(b1)該複数のディスク装置
    に含まれる複数の領域の内、それぞれ元データ用の領域
    とその元データの二重化データ用の領域とからなる複数
    の領域対を決定する手段であって、該複数の領域対を、
    同一の領域対に属する元データ用の領域と二重化データ
    用の領域とが互いに異なるディスク装置に属するよう
    に、かつ、同一のディスク装置に属する複数の領域と対
    をなす他の複数の領域が、そのディスク装置以外の所定
    の複数(n)(但し2≦n≦m−1)のディスク装置に
    属するように決定するものと、(b2)該複数のディス
    ク装置内に書き込むべきデータを、該複数の領域対の内
    の一つの領域対に属する元データ用の領域と二重化デー
    タ用の領域に書き込む手段と、(b3)該複数のディス
    ク装置から読み出すべきを元データあるいは二重化デー
    タとしてそれぞれ保持する領域対を検出する手段と、
    (b4)該検出された領域対に属するいずれか一方から
    データを読み出す手段とを含むものとを有するディスク
    アレイ。
JP5223090A 1992-09-09 1993-09-08 ディスクアレイ Pending JPH06187101A (ja)

Priority Applications (1)

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

Applications Claiming Priority (3)

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

Related Child Applications (1)

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

Publications (1)

Publication Number Publication Date
JPH06187101A true JPH06187101A (ja) 1994-07-08

Family

ID=26525269

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH06187101A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329021A (ja) * 1995-03-30 1996-12-13 Mitsubishi Electric Corp クライアントサーバシステム
JPH09171479A (ja) * 1995-12-19 1997-06-30 Nec Corp データ格納システム
EP0840201A3 (en) * 1996-11-01 2000-09-20 Fujitsu Limited Raid apparatus
JP2002149352A (ja) * 2000-11-16 2002-05-24 Sony Corp データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体
US7032069B2 (en) 1997-01-14 2006-04-18 Fujitsu Limited RAID apparatus and access control method therefor which balances the use of the disk units
US8032784B2 (en) 2007-04-20 2011-10-04 Fujitsu Limited Duplication combination management program, duplication combination management apparatus, and duplication combination management method
US8429369B2 (en) 2007-03-20 2013-04-23 Fujitsu Limited Storage management program, storage management method, and storage management apparatus
US8458398B2 (en) 2008-10-16 2013-06-04 Fujitsu Limited Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
JP2015176521A (ja) * 2014-03-18 2015-10-05 日本電気株式会社 冗長化記憶制御装置、冗長化記憶制御方法、及び冗長化記憶制御プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329021A (ja) * 1995-03-30 1996-12-13 Mitsubishi Electric Corp クライアントサーバシステム
JPH09171479A (ja) * 1995-12-19 1997-06-30 Nec Corp データ格納システム
EP0840201A3 (en) * 1996-11-01 2000-09-20 Fujitsu Limited Raid apparatus
US7032069B2 (en) 1997-01-14 2006-04-18 Fujitsu Limited RAID apparatus and access control method therefor which balances the use of the disk units
US7080196B1 (en) 1997-01-14 2006-07-18 Fujitsu Limited Raid apparatus and access control method therefor which balances the use of the disk units
JP2002149352A (ja) * 2000-11-16 2002-05-24 Sony Corp データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体
US8429369B2 (en) 2007-03-20 2013-04-23 Fujitsu Limited Storage management program, storage management method, and storage management apparatus
US8032784B2 (en) 2007-04-20 2011-10-04 Fujitsu Limited Duplication combination management program, duplication combination management apparatus, and duplication combination management method
US8458398B2 (en) 2008-10-16 2013-06-04 Fujitsu Limited Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
JP2015176521A (ja) * 2014-03-18 2015-10-05 日本電気株式会社 冗長化記憶制御装置、冗長化記憶制御方法、及び冗長化記憶制御プログラム

Similar Documents

Publication Publication Date Title
US7506187B2 (en) Methods, apparatus and controllers for a raid storage system
JP2000148403A (ja) ディスクアレイ
US6502166B1 (en) Method and apparatus for distributing data across multiple disk drives
US6170037B1 (en) Method and apparatus for storing information among a plurality of disk drives
KR940011039B1 (ko) Dasd 배열내에서의 분배 스페어링 방법 및 장치
JP3742494B2 (ja) 大容量記憶装置
US5479653A (en) Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
US5657439A (en) Distributed subsystem sparing
JP2777301B2 (ja) 記録装置
JP3752203B2 (ja) Raid論理ドライブ・マイグレーションにおいてデータをマイグレーションするための方法及びシステム
US6397348B1 (en) Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US7246212B2 (en) Memory device system and method for copying data in memory device system
US6571314B1 (en) Method for changing raid-level in disk array subsystem
US20020116574A1 (en) Disk system and power-on sequence for the same
JPH06180634A (ja) 複数のディスク装置を有するデータ記憶装置
JPH07261947A (ja) 記憶サブシステム及び関連する装置/方法
JPH0863298A (ja) ディスクアレイ装置
JPH07203337A (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
JPH06187101A (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
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JP2004046864A (ja) ディスクアレイ
JPH06119125A (ja) ディスクアレイ装置
JPH07306758A (ja) ディスクアレイ装置及びその制御方法