JP2004046864A - ディスクアレイ - Google Patents
ディスクアレイ Download PDFInfo
- Publication number
- JP2004046864A JP2004046864A JP2003192559A JP2003192559A JP2004046864A JP 2004046864 A JP2004046864 A JP 2004046864A JP 2003192559 A JP2003192559 A JP 2003192559A JP 2003192559 A JP2003192559 A JP 2003192559A JP 2004046864 A JP2004046864 A JP 2004046864A
- 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
Links
Images
Abstract
【解決手段】ディスクアレイのディスク制御装置2に接続されたドライブユニット3において、複数のドライブ4からなる論理グループ5を構成する。この論理グループ5内において各データは同一のドライブに保持された複数のデータのコピーデータは、そのドライブ以外の、互いに異なる他のドライブに分散して保持されるように、二重化して格納される。 同一のドライブに保持されたデータを複数読み出す場合、それらのデータの2重化データあるいは元データを異なるドライブから並列に読み出す。
【選択図】 図1
Description
【産業上の利用分野】
本発明は複数のデータを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を用意する。ECCが奇数パリティの場合、各ドライブに格納されているデータについて、横方向の各ビットに対し、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方向の各データのグループに対しECCが作成される。このディスクアレイ装置では、ECCを格納する専用のドライブを用意せず、ECCをデータと同様に各ドライブに振り分けて格納する。もし、ドライブ#1(ドライブ2,3,4についても同様)に障害が発生した場合はドライブ#2,3,4に格納されているデータおよびパリティからドライブ#1内のデータを復元することが可能となる。
【0009】
このようなディスクアレイ装置に関する代表的な論文として、D.Patterson,
G.Gibson,and R.H.Kartz による“ A Case for Redundant Arrays of Inexpensive 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(KB),転送速度を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の時間の処理時間ですむ。RAID5におけるこのようなデータの格納方法は、キャッシュメモリへシーケンシャルに大量のデータを高速に転送する場合は効果的である。
【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】
以上のように従来のミラー方式、RAID3,およびRAID5では、半導体記憶装置−ドライブ間における大量なデータ転送の高速化という要求と、CPU−ドライブ間における通常の読み出し/書込み性能の向上という要求を両立することはできない。
【0019】
本発明の目的は、従来技術の上記問題を解決したディスクアレイ装置を提供することである。
【0020】
【課題を解決するための手段】
このために、本発明によるディスク装置は、各ディスク装置に格納される複数の元のデータのコピーデータを、そのディスク装置以外の互いに異なる他のディスク装置に分散して格納する制御回路を有する。
【0021】
【作用】
このようにデータを二重化すると共に、あるディスク装置に格納されたデータの二重化データを他のディスク装置に分散させて格納することにより、あるディスク装置内に格納される複数のデータを読み出す際、他のディスク装置からそれぞれのデータに対応するデータを同時に読み出すことによりパラレル処理を可能とし、高速なデータ転送を実現できる。
【0022】
【実施例】
以下、図面を用い本発明について詳細に説明する。
【0023】
(実施例1)
図1は、本発明による二重化ディスクアレイ装置の一実施例の構成図である。
【0024】
CPU1にはディスク制御装置(以下DKCとする)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からのデータをIF Adp21により外部パス20を介して当該CPU1に転送する。また、書き込み時は逆に、チャネルパススイッチ22により当該CPU1との間の外部パス20を選択した後、当該CPU1から外部パス20を介してデータをIF Adp21に転送しキャッシュメモリ18に格納する。
【0028】
DCU7はデータ制御部8とデータ管理テーブル31により構成される。データ制御部8はDKC2内のデータ処理の制御を行なうマイクロプロセッサ(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 Adp26と同様にキャッシュメモリ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が以下に示す規則に従い、元のデータが格納されるアドレスに対するアドレスに、独自に二重化データを格納する。なお、CPU1内に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へのデータの格納は以下のように行なわれる。
【0036】
グループ内の各ドライブ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から12の各データは、図4のように配置される。
【0037】
このようにグループ内のサブグループに配置されたデータに対するアドレス管理方法を以下に示す。本実施例では、論理グループ5を構成する各ドライブ4において、シリンダアドレスが等しいシリンダによりグループを構成する。
【0038】
図4は、論理グループ5を構成する各ドライブ4において、シリンダ#1に配置されているデータを示す。
【0039】
本実施例では、各シリンダは、トラック#1から12(ヘッドアドレス#1から12)までの12個のトラックにより構成されるとする。
【0040】
グループ1はドライブ#1,2,3,4において、各ドライブ4のシリンダ#1のトラック#1,2,3,4,5,6(ヘッドアドレス#1,2,3,4,5,6)により構成される。
【0041】
グループ2はドライブ#1,2,3,4において、各ドライブ4のシリンダ#1のトラック#7,8,9.10,11,12(ヘッドアドレス#7,8,9,10,11,12)により構成される。
【0042】
サブグループはグループ1ではドライブ#1,2,3,4のシリンダ#1のトラック#1,2,3(ヘッドアドレス#1,2,3)で構成され、グループ2ではドライブ#1,2,3,4のシリンダ#1のトラック#7,8,9(ヘッドアドレス#7,8,9)で構成される。
【0043】
本実施例において、各データはデータ管理テーブル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に示す規則で同様に格納される。
【0044】
このように、二重化データは、原則として論理グループ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)を分けて同一のヘッドアドレスとしているが、これらを混在させることも可能である。しかし、混在させた場合、後で示す高速転送の際にヘッドの切り替えが頻繁に必要となり、この時の制御やアドレスの管理が複雑となる。このため、混在させる場合、元データの格納されるトラックの集合と二重化データの格納されるトラックの集合単位での混在が望ましい。
【0045】
各ドライブの領域を元データ用と2重化データ用に割り当てるにあたっては、各ドライブの2(m−1)個の領域ドライブ数m=2m(m−1)個の領域を群とし、これらをm(m−1)個の元データ用領域と、それと同数の現データを保持する領域に分ける。
【0046】
本実施例ではドライブ数mのときに、同一ドライブ内のm−1個の元データに対する2重化データが分散されている数nはm−1に等しく、(m−1)個の他のドライブに分散して記憶される。従って、最大n+1=m個のドライブから、m個のデータを並列に読めるようになる。
【0047】
以上述べた規則に従うことにより、グループ1のデータ#1から#12は、図4に示すように各ドライブ4に格納される。グループ2に以降についても同様にグループ分けされ、その各グループにおいて図4に示すような規則で格納されている。データ管理テーブル9は、このような規則に従ってデータを格納するため、図3に示すような対応表を持つ。データ管理テーブル9は図20に示すように格納されるデータ名に対し、元データが格納されているアドレスと、この元データが格納されているアドレスに割り当てられた二重化データが格納されているアドレスで構成されている。初期設定の段階ではアドレス管理テーブル9は元データアドレスと二重化データアドレスのみしか登録されておらず空き領域となっており、順次データが格納される毎にデータ名がアドレス管理テーブル9に登録されていく。また、格納されたデータを削除した場合は、アドレス管理テーブル9において登録されているデータ名を削除し、元データアドレスと二重化データアドレスはそのままである。このように、データを格納する場合、アドレス管理テーブル9においてデータ名の登録されていない空き領域を探し、この空き領域にデータ名を登録し、元データを格納するアドレスと、二重化データを格納するアドレスを自動的に決定する。DCU7ではデータ制御部8のMP(29)がCPU1が指定してきた元のデータのアドレスに基づいてこのデータ管理テーブル9を参照し、元のデータ及び二重化データが格納されているドライブ4に対し読み出し/書込み処理を行なう。
【0048】
次に、このように格納されているデータに対し、読み出し/書込みを行なう方法について説明する。
【0049】
まず、ドライブ4からのデータの読み出しについて説明する。
【0050】
DKC2ではCPU1から指定してきたデータに対しDCU7において、MP29がデータ管理テーブル9を用いてそのデータが格納されているドライブ及びそのドライブ内のシリンダアドレス、ヘッドアドレスを決定する。DCU7のMP29によるドライブからのデータ読み出し方法としては、大きく以下の3通りの方法がある。
【0051】
第1は、図5にフローチャートとして示すように、読み出しは、CPU1から指定されてきたデータは元のデータ(図3において各データが格納されるアドレスの内、上段のアドレスに格納されているデータ)のみとし、DCU7のMP29は、元のデータが格納されているドライブへ読み出し要求を出す。もし、元のデータが格納されているドライブが使用中で読み出し処理ができない場合は、そのドライブが使用可能になるまで待って読み出し処理を行なう。
【0052】
第2は、図6にフローチャートとして示すように、CPU1からの要求に対し、DCU7のMP29はまず、元のデータが格納されているドライブに対し読み出し要求を出し、当該ドライブが使用中で処理ができない場合は二重化データの格納されているドライブに対し、読み出し要求を出す。もし、元のデータ及び二重化データの格納されているドライブが両方とも使用中で処理できない場合は、どちらか早く処理可能となったドライブを用いて読み出し処理を行なう。
【0053】
第3は、元のデータと二重化データの区別をせず、CPU1からの要求にたいし、DCU7のMP29が初めから元のデータと二重化データの両方に対し読み出し要求を出し、早く処理できる方から処理を行なう。
【0054】
上記3通りのいずれかの方法によりドライブ4からデータを読み出した後は、DICU10によるドライブ,DKC2間のインターフェース制御を受け、読み出されたデータはDCU7へ転送される。DCU7ではデータを受け取り次第CICU6を介してCPU1へ当該データを転送する。
【0055】
一方、書込みの場合は図5、6にフローチャートとして示すように、DCU7のMP(29)は元のデータと二重化データを格納するアドレスの決定後、格納先の両ドライブ4に対し書込みが可能な場合は即座にデータおよび二重化データを書き込む。しかし、一方のドライブ4が使用中で書込みが行なえない場合は、先に書き込める方のドライブ4に書込んでおき、他方には書き込み可能になり次第書き込む。なお、CPU1側では二重化データを書き込むことは認識しておらず、DKC2が独自に行なう。このようにCPU1からDKC2へ読み出し/書込み要求が来た場合はDCU7のMP(29)はデータ管理テーブル9を用いてDU3内のアドレス(当該ドライブアドレス、ドライブ内アドレス(シリンダアドレス、ヘッドアドレス))を決定した後、そのアドレスへ読み出し/書込みを行なう。
【0056】
上記の書き込み方法は、データ#1から12の各データは各々独立したデータとした。もし、連続した大容量の一つのデータの場合は、一つのグループ内に格納する。
【0057】
具体的には、図4のデータ#1,2,3,4,5,6を連続した一つのデータを6個に分割した部分データ#1,2,3,4,5,6とする。この場合は、図4に示すように部分データ#1,2,3をドライブ#1のグループ1の連続した領域であるサブグループ1に格納し、それぞれの二重化データを先に示した各々が独立したデータの場合と同様にドライブ#2,3,4に格納する。
【0058】
同様に部分データ#4,5,6をドライブ#2のグループ1の連続した領域であるサブグループに格納し、それぞれの二重化データを先に示した各々が独立したデータの場合と同様にドライブ#1,3,4に格納する。
【0059】
連続した一つのデータに関し、データの大きさに制限は無い。もし、グループ1に格納しきれない大きさの場合は、別のグループ2に同様に格納していく。
【0060】
このように各々独立したデータを大きな一つのデータを分割した、部分データと変えることにより、本発明を大容量データにも適用することが可能であることは明らかである。
【0061】
次に、DKC2内のキャッシュメモリ18やES19等の半導体を用いた記憶装置とDU3間で、ある特定のドライブ4内のデータを連続して高速に転送する方法について述べる。
【0062】
論理グループ5内の各ドライブ4内にデータが図4に示すように格納されている場合において、例えば、ドライブ#1内のデータ#1、#2、#3をCPU1においてソートしたり、データベースのデータをスワップするため高速に読み出したい場合は、DCU7のMP(29)はドライブ#2からデータ#1、ドライブ#3からデータ#2、ドライブ#4からデータ#3をそれぞれパラレルに読み出す。このように分散して格納されている二重化データをパラレルに読み出すことにより、1台のドライブ4に格納されている元のデータを読み出すのと比較し、データ転送速度は約3倍となり高速転送が実現できる。他のドライブに格納されているデータを読みだす場合も同様に、DCU7のMP(29)の制御により分散して格納されている二重化データをパラレルに同時に読み出すことで高速転送を行なうことができる。
【0063】
この処理を拡大し、任意のデータ単位で高速転送を行なう方法を以下に示す。
【0064】
例えば、データ#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と考えれば大容量のデータ転送に適用することにする。
【0065】
次に、この高速転送による読み出しを用いて、論理グループ5内のデータのバックアップをとる方法について説明する。
【0066】
論理グループ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の時間で読み出すことが可能となる。
【0067】
グループ1のデータ#1から#12のバックアップをとった後は、同様にしてグループ2以降のデータについてバックアップをとっていけばよい。なお、すべてのデータについてバックアップとらず、任意のデータ数で部分的にバックアップをとることも可能である。また、元のデータのみではなく、二重化データも含めて論理グループ5全体のバックアップを取る場合はrow#1から3までのバックアップ完了後、引き続き同様にrow#4から6までパラレルに同時にデータを読み出し、以下のグループについても同様に順に読み出していく。パラレルに同時に読み出したデータは、一旦DKC2のキャッシュメモリ18に格納し、キャッシュメモリ18から他の磁気ディスク装置または磁気テープ装置または光ディスク装置等のバックアップ媒体に格納する。
【0068】
この高速転送はパラレルに読み出すのをパラレルに書き込みとすれば書込みの場合も同様に行なえることは明らかである。この高速転送による書込み時において、二重化データのドライブへの並列書き込みが完了した時点でCPU1へ終了報告を行っても良い。このようにした場合、二重化データへの書込みは完了するが元のデータへの書込みは完了しておらず、二重化してデータを書き込んではいない。しかし、高速転送による書込みは次のような場合に有効となる。半導体を用いた記憶装置は揮発性であるため、停電事故等による記憶装置内のデータの喪失を防ぐために少しでも早く磁気ディスク等の不揮発な媒体に書き込んでおきたいという要求がある。このため、高速転送による書込みにより、とりあえずデータを不揮発化しておき、DCU7のMP29の判断で適当な時期に元のデータへの書込みも行ないデータの二重化を行なう。この高速転送による書込みにおいて、データの二重化が完了されているかどうかはDCU7のMP29において管理する。
【0069】
以上述べたような高速転送による読み出し/書込み処理は論理グループ5内の各ドライブ4間のみで行なうだけではなく、複数の論理グループ5が協調し、論理グループ5間で高速転送による読み出し/書込み処理を行なうことも可能である。
【0070】
また、高速転送による読み出し/書込み処理を行なう際、各ドライブの回転を同期させると、論理グループ5内の各ドライブ4における回転待ち時間が、一台のドライブの時と等しく平均で1/2回転となるため、前処理時間が短くなりより効果的である。
【0071】
次に図1においてDU3内の論理グループ5でどれか一台のドライブ4に障害が発生した時に、その障害ドライブ4のデータを回復する方法を示す。図4において論理グループ5内の4台のドライブ4のうちドライブ#1に障害が発生したとする。この場合DCU7のMP29が以下のような手順によりデータの回復を行なう。
【0072】
まず、障害が発生したドライブ#1を正常なドライブと交換する。この場合、ドライブ#1内のデータは図4に示すようにドライブ#2,#3,#4に二重化データとして格納されている。そこで、ドライブ#1に障害が発生した場合は、ドライブ#2,#3,#4からドライブ#1の二重化データを読み出し、そのデータを交換した正常なドライブに書込み、データの回復を行なう。この時ドライブ#1に格納される元のデータはドライブ#2,#3,#4のそれぞれからパラレルに同時に読み出される。これらのデータは一端DKC2内のキャッシュメモリ18に格納する。キャッシュメモリ18への格納が完了したら、キャッシュメモリ18から正常なドライブに交換したドライブ#1へ格納する。ドライブ#1へのデータ格納終了後再び、ドライブ#2、3、4からドライブ#1の二重化データを一端DKC2内のキャッシュメモリ18に格納し、キャッシュメモリ18への格納が完了したら、キャッシュメモリ18から正常になったドライブ#1へ格納する。このように、二重化データを一端キャッシュメモリ18に格納し、キャッシュメモリ18から正常になったドライブ#1へ格納することを繰り返す。このように分割して処理するのは、キャッシュメモリ18の容量がドライブ#1の容量と比較し小さいので、一度に処理出来ないためである。もし、キャッシュメモリ18の容量がドライブ#1の容量と比較し大きい場合は一回で処理することも可能である。
【0073】
図7(a),(b)に従来ミラー方式におけるデータ回復処理と本実施例におけるデータ回復処理との処理タイミングチャートを示す。図7(a)に示すように、従来ミラー方式ではミラードライブと、交換して正常になったドライブは一台ずつであるため、ミラードライブからの二重化データの読み出し時間と、交換して正常になったドライブへの二重化データの書込み時間は等しく、一台のドライブでの処理時間となる。一方、本実施例では、図7bに示すように論理グループ5内の正常なドライブ4から二重化データをパラレルに同時に読みだすことにより、二重化データの読み出し時間が短縮されるため、データの回復時間は短くなる。また、二重化データのキャッシュメモリ18への格納完了後キャッシュメモリ18から正常になったドライブ#1へ格納する際、二重化データが格納されているドライブ#2、3、4において通常のオンライン処理(CPU1からのアクセス要求)を受け付けるようにすると、図8a,8bに示すように回復処理時間を従来ミラー方式と同じにした場合、従来ミラー方式と比べて、本実施例の方がオンラインを受け付ている時間が長くなるため、回復処理によりオンライン要求が受け付けられない時間が少なくなり、回復処理中のオンライン処理の性能低下を抑えることが可能となる。
【0074】
データの回復処理中のオンライン処理性能の低下を抑える別の方法として、ドライブ#1に障害が発生し、二重化データをキャッシュメモリ18に読み出す際に、先に示したようにドライブ#2,#3,#4からパラレルに同時に読みだすのではなく、それぞれのドライブから順に格納されている二重化データを順番に読み出す方法がある。この方法を図9(a),(b)を用いて説明する。ドライブ#1の二重化データとして、図9(a)に示すようにドライブ#2にはデータ#4、#1、#16、#13が、ドライブ#3にはデータ#7、#2、#19、#14が、ドライブ#4にはデータ#10、#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と切換えてデータ回復を行なうことも考えられる。
【0075】
次に、書込み処理中における読み出し処理性能について従来のミラー方式と比較して説明する。
【0076】
図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中に存在する確率が高くなる。従って、書込み要求を処理している際の読み出し処理を効率良く行なえる。
【0077】
次に本実施例において、ある特定ドライブに対し読み出し/書込み要求が集中した場合に効率良く処理できる効果について説明する。
【0078】
コンピュータシステムにおいては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)は、後に読み出し/書き込み要求が集中しているドライブにおいて、この集中が解除された時にキャッシュメモリから読み出し/書き込み要求が集中していたドライブに元データまたは二重化データを書き込み、二重化を完成する。
【0079】
なお、二重化が完成しているかどうかの判断は、アドレス管理テーブルの元データアドレス、二重化データアドレスの書き込みフラグで行う。書き込みフラグがオン(1)の場合はドライブへの書き込みが行われておりオフ(0)の場合は、ドライブへの書き込みが行われている。
【0080】
また、二重化が完成される前のデータに、読み出し要求がCPU1より発行された場合は、キャッシュメモリから当該データをCPU1へ転送する。
【0081】
一方、二重化が完成される前のデータに、書き込み要求がCPU1より発行された場合は、その書き込みと同時に、集中しているドライブ以外のドライブへ元データまたは二重化データを書き込みCPU1へ書き込みの終了を報告し、後にDCU7のMP(29)は二重化を完成させる。
【0082】
本実施例ではドライブ#1を例として説明したが、論理グループ5を構成するどのドライブ4についても同様のことがいえるのは明らかである。
【0083】
(実施例2)
本実施例は、図1に示すシステムにおいて、データの格納方法を図12に示すようにしたものである。
【0084】
本実施例においてデータは、図12に示すように3個のトラックからなるグループを単位として格納される。なお、1グループ内の列の数は、論理グループ5を構成するドライブ4の数によって変わり、その数は論理グループ5をm台のドライブ4で構成した場合、m−1個となる。グループ内は、6個の元のデータおよびその二重化データにより構成され、元のデータと二重化データとは、それぞれ異なるドライブ4に格納される。二重化データの格納方法は、原則として二重化データが論理グループ5内で各ドライブ4に平均的に分散されていれば、元のデータが格納されているドライブ4以外のドライブ4ならどのドライブ4に格納しても構わない。この元のデータと二重化データは3個のトラックによるグループ内で閉じている。
【0085】
次に、本実施例におけるDCU7の機能について詳しく述べる。
【0086】
DCU7のデータ管理テーブル9には実施例1と同様に図13のような格納規則に従い、要求データに対応した元データと二重化データに割り当てられた領域のアドレスである、ドライブ番号、シリンダアドレス、ヘッドアドレスが格納されている。本実施例においても実施例1と同様に初期設定の段階で、アドレス管理テーブル9において格納規則に従った元データアドレスと二重化データアドレスが登録されている。データの書き込み、削除の際は、アドレス管理テーブル9のデータ名の登録,削除が行われる。先に述べたように、本実施例は6個の元のデータとその二重化データで1グループを構成している。例えば、グループ1はデータ#1から#6により構成される。
【0087】
本実施例では、以下の説明において、このデータ名は領域名とする。
【0088】
各グループでは、図12に示す例では、そのグループに属するデータのデータ番号の小さい順で格納規則は一定である。例えばグループ1においては図12及び図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に示す規則に従い格納される。
【0089】
本実施例では、元のデータと二重化データを例えば図12に示すように設定する。図12において、斜線で示すデータが元のデータ、他のデータが二重化データである。図12からも分かるように、データの格納規則は各グループにおいて同じだが、元のデータと二重化データの設定の仕方が、奇数番号のグループと偶数番号のグループにおいて異なっている。これは、後に述べるデータのバックアップの際の便宜を図るためである。図12ではグループ1,2,3,4についてのみ示しているが、以下同様に各グループにおいて、奇数番号のグループと偶数番号のグループにおいて元のデータと、二重化データの設定を変える。
【0090】
本実施例においては、m個のドライブがあるとき、各ドライブ内のデータは他のm−1個のドライブに分散して2重化される点は実施例1と同じであるが、実施例1として異なるのは、図12に示したように、各ドライブの(m−1)の領域がドライブ数mの領域群に関して元データと現データとを保持する領域が異なるドライブに分散されるようにすることである。
【0091】
本実施例においてもデータの単位についての制約は無いが、以下の説明ではデータの単位を1トラックの容量として説明する。
【0092】
DCU7ではデータ制御部8のMP(29)がこのデータ管理テーブル9からCPU1が指定してきた元のデータのアドレスをもとにして二重化データの格納されているアドレスを見つけだし、元のデータ及び二重化データが格納されているドライブ4に対し読み出し/書込み処理を行なう。なお、格納されているデータに対する読み出し/書込みの方法は実施例1と同じである。
【0093】
次に、本実施例により図1に示すDKC2内のキャッシュメモリ18やES19等の半導体による記憶装置とDU3間で、ある特定のドライブ4内に格納されるデータを高速に転送する方法について述べる。
【0094】
例えばグループ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に格納されるデータ、さらには、他のグループのデータについても同様に高速転送を行なうことが可能である。
【0095】
次に任意のデータ単位で高速転送を行なう方法を以下に示す。例えばデータ#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をパラレルに読み出す。
【0096】
このようにデータ制御部8のMP29において、4台のドライブ4に分散して格納されている元のデータおよび二重化データにより、パラレル転送ができるように要求するデータを論理グループ5内の各ドライブ4から選択することにより、任意のデータ単位で高速転送することが可能となる。
【0097】
次に、この高速転送による読み出しを用いて、論理グループ5内のデータのバックアップをとる方法について説明する。
【0098】
論理グループ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つのグループを単位として順次バックアップをとる。
【0099】
なお、論理グループ5内の全てのデータのバックアップとるのではなく、任意のデータ数で部分的にバックアップをとることも可能である。また、元のデータのみではなく、二重化データも含めて論理グループ5全体のバックアップを取る場合、データ制御部8のMP29は、ドライブ#1から4においてrow#1から順にパラレルに同時に読みだしていく。パラレルに同時に読み出したデータはDKC2のキャッシュメモリ18に一端格納し、キャッシュメモリ18から他の磁気ディスク装置または磁気テープ装置または光ディスク装置等のバックアップ媒体に転送し格納する。
【0100】
この高速転送は書込みの場合も同様に行なえることは明らかである。ただし、書込みの場合の高速転送では1回の書き込み処理では、実施例1と同様に元のデータと二重化データ双方の書込みが完了しておらず、二重化してデータを書き込んではいない。この高速転送による書込みにおいて、データの二重化が完了されているかどうかはDCU7においてMP29がデータ管理テーブル9により管理する。
【0101】
以上述べたような高速転送による読み出し/書込み処理は論理グループ5内の各ドライブ4間のみで行なうだけではなく、複数の論理グループ5が協調し、論理グループ5間で高速転送による読み出し/書込み処理を行なうことも可能である。また、高速転送による読み出し/書込み処理を行なう際、各ドライブの回転を同期させると、論理グループ5内の各ドライブ4における回転待ち時間が、一台のドライブの時と等しく平均で1/2回転となるため、前処理時間が短くなりより効果的である。
【0102】
次に、図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内のキャッシュメモリ18に格納し、キャッシュメモリ18から正常なドライブに交換したドライブ#1へ格納する。ドライブ#1へのデータ格納終了後再び、ドライブ#2、#3、#4からドライブ#1のデータを読み出し、同様にキャッシュメモリ18を介して正常になったドライブ#1へ格納する。以下、この回復処理を繰り返しドライブ#1内の全データの回復を行なう。もし、キャッシュメモリ18の容量がドライブ#1の容量と比較し大きい場合は、ドライブ#1に格納される全データをキャッシュメモリ18に格納し、その後、ドライブ#1に格納することで、処理を一回で済ませることも可能である。
【0103】
本実施例におけるデータ回復処理のタイミングチャートは実施例1に関して図7(a)に示したものと同じであり、実施例1と同様に、本実施例によれば従来のミラー方式と比較しデータの読み出し時間が短縮されるため、データの回復時間は短くなる。また、図8(b)を用いて実施例1に関して説明したことと同じように回復処理中のオンライン処理の性能低下を本実施例でも抑えることが可能となる。
【0104】
本実施例において示したデータ格納方法においても実施例1で示した全ての機能、効果を同じように適応できることは明らかである。また、本実施例では4台のドライブにより論理グループ5を構成したが、このドライブ台数は2台以上であれば特に制限されるものではない。
【0105】
(実施例3)
図15(a)にさらに他のデータ格納方法を示す。
【0106】
本実施例においても、実施例1,2と同様に初期設定の段階でアドレス管理テーブル9には元データアドレスに対する二重化データアドレスの割りあてが事前に行われており、データの書き込み、削除の際は、アドレス管理テーブルのデータ名への登録,削除が行われる。
【0107】
図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に交互に格納する。
【0108】
(実施例4)
図15bに示すように、ドライブ#1のデータの二重化データはドライブ#3,4に格納し、ドライブ#2のデータも同様にドライブ#3,4に格納するが、図15(a)と異なるのは、(b)の場合はいくつかのデータを一つの塊としてドライブ#3,4に交互に格納している点である。
【0109】
この実施例3,4のように二重化データを分散して格納しても実施例1および2の機能、効果を同じように適応できることは明らかである。例えば、図15Aに示すようにドライブ#1の元データがドライブ#3、4に分散して格納されている場合、バックアップ等の要求により、データ#1、2、3を一度に高速に読みだしたい時は、ドライブ#1のデータ#1、ドライブ#4のデータ2、ドライブ3のデータ3をパラレルに一度に読みだすことにより、3台のドライブによる並列処理が可能となる。これは、ドライブ#1に読み出し/書き込み要求が集中した場合に、ドライブ#1への読み出し/書き込み要求をドライブ#1、3、4に分散させるのにも使用可能で有る。
【0110】
一時的には、本実施例によれば、ドライブ数mに対して、2重化データを分散して保持するドライブの数nがm/2であるため、本実施例によればn+1=m/2+1のデータを異なるドライブから並列によめることになる。
【0111】
本実施例では同一ドライ内のデータの2重化データが分散されているドライブの数nはm−1より小さく、実施例1、2の場合より少なく、したがって並列によめるデータの数もm−1より少ないが、元データ用の領域と2重化データ用の領域の位置関係が簡単であるため、これらの領域の決定が実施例1,2より簡単に行えるという利点を有する。
【0112】
(実施例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)に格納されるとすればよい。
【0113】
以上の実施例では、ドライブ4として磁気ディスク装置を用いたものを例に説明したが、光ディスク装置、フロッピィディスク装置等を用いても同様に実現できることは明らかである。また、論理グループ5を構成するドライブ数を4台としたが、論理グループ5を構成するドライブ4の数は2台以上であれば制約が無いことはいうまでもない。
【0114】
また、上記実施例ではDKC2内にDCU7を置き、DU3内の各ドライブ4を全て管理しているが、DCU7を各論理グループ5単位に持たせることも可能である。このように各論理グループ5単位にDCU7を持たせると、CPU1は該当するデータが格納されている論理グループ5を一つの大きなデータ空間と認識し、これに対し読み出し/書込み要求を出すことができる。論理グループ5内においては、DCU7がCPU1から指定されたデータが格納されている物理的なアドレスを見つけて、該当するドライブ4に対し実際に読み書きを行なう。また、CPU1のOSがDCU7の機能をサポートしても構わない。
【0115】
さらに、本発明による二重化ディスクアレイ装置は、従来のミラー方式、RAID3,RAID5と混在して構成されていても構わない。このように、一つのシステム内において複数の格納方式による論理グループ5が存在することにより、データの信頼性に対する要求や、高速転送に対する要求等のデータの特性により格納方式を選択することができる。
【0116】
【発明の効果】
以上述べたように本発明によれば、データはディスクアレイを構成するドライブに分散して格納されるため、各ドライブを効率良く使用でき、単位時間当りの処理件数を低下させることなくデータの読み出し/書込みを高速に行なうことができる。また、ドライブに障害が発生した場合のデータ回復処理についても、二重化データをパラレルに同時に読み出して行なうことにより、短時間で回復させることが可能であり、回復処理とオンライン処理とを並行して行なう場合でもオンライン処理を止める時間を少なくできるため、その間にユーザに与える被害を少なくできる等の顕著な効果を達成することができる。
【図面の簡単な説明】
【図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のデータ格納方法によるデータ格納状態を説明する図である。
Claims (7)
- 複数のディスク装置からなる第一のディスク装置群と、
前記第一のディスク装置群とは異なる複数のディスク装置からなる第二のディスク装置群と、
上位装置、前記第一のディスク装置群及び前記第二のディスク装置群とに接続されるディスク制御装置とを有し、
前記ディスク制御装置は、前記上位装置から書き込みを要求されたデータを所定の単位に分割して前記第一のディスク装置群及び前記第二のディスク装置群に二重化して書き込み、かつ前記データが前記上位装置で実行されるアプリケーションにおいて連続的なデータであると認識される場合には、前記第二のディスク装置群に前記データを書き込む際に、分割された個々のデータを該第二のディスク装置群が有する複数のディスク装置に分散して格納することを特徴とするディスクアレイ。 - 前記アプリケーションとは、ファイルシステムであることを特徴とする請求項1記載のディスクアレイ。
- 前記第一のディスク装置群が有する記憶領域は前記第二のディスク装置群に含まれるディスク装置の個々と関連付けられており、
前記ディスク制御装置は、前記関連付けに基づいて、前記記憶領域に格納されたデータを二重化して前記第二のディスク装置群に格納し、更に前記ディスク制御装置は、前記シーケンシャルなデータと認識されるデータを前記第一のディスク装置群に格納する際に、前記関連付けを参照して、前記記憶領域に対応する前記第二のディスク装置群の個々のディスク装置が重複しないように前記記憶領域を選択して前記データを格納することを特徴とする請求項2記載のディスクアレイ。 - 前記第一のディスク装置群内のいずれかのディスク装置に障害が発生したときに、
前記ディスク制御装置は、前記障害の発生したディスク装置に格納されているデータと同じデータを前記第二のディスク装置群から読み出すことを特徴とする請求項3記載のディスクアレイ。 - 前記ディスク制御装置は、前記第二のディスク装置群から読み出されたデータを前記障害の発生したディスク装置の代わりに使用される交替用のディスク装置に書き込むことを特徴とする請求項4記載のディスクアレイ。
- 前記ディスク装置は、前記障害の発生したディスク装置に格納されているデータを前記第二のディスク装置群から並列に読み出すことを特徴とする請求項4記載のディスクアレイ。
- 記憶装置システムにおいて複数のディスク装置にデータを格納する方法であって、
複数のディスク装置を第一のディスク装置群と第二のディスク装置群に分割し、
記憶装置システムに接続される上位装置から要求されたデータの書き込みについて、前記第一のディスク装置群及び前記第二のディスク装置群へ二重化してデータを書き込む際に、前記上位装置で実行されるアプリケーションにおいて連続的なデータであると認識されるデータについては、前記第二のディスク装置群へ前記データを書き込む際に、該データを分散して書き込むことを特徴とするデータ格納方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003192559A JP2004046864A (ja) | 1992-09-09 | 2003-07-07 | ディスクアレイ |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24033392 | 1992-09-09 | ||
JP2003192559A JP2004046864A (ja) | 1992-09-09 | 2003-07-07 | ディスクアレイ |
Related Parent 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 |
---|---|
JP2004046864A true JP2004046864A (ja) | 2004-02-12 |
Family
ID=31719125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003192559A Pending JP2004046864A (ja) | 1992-09-09 | 2003-07-07 | ディスクアレイ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004046864A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168674A (ja) * | 2011-02-14 | 2012-09-06 | Nec Computertechno Ltd | ミラーリング復旧装置、および、ミラーリング復旧方法 |
US8896170B2 (en) | 2009-05-25 | 2014-11-25 | Spal Automotive S.R.L. | Electric machine and method for manufacturing it |
JP2017084230A (ja) * | 2015-10-30 | 2017-05-18 | アドバンス・デザイン株式会社 | データ複製方法 |
-
2003
- 2003-07-07 JP JP2003192559A patent/JP2004046864A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8896170B2 (en) | 2009-05-25 | 2014-11-25 | Spal Automotive S.R.L. | Electric machine and method for manufacturing it |
US9397540B2 (en) | 2009-05-25 | 2016-07-19 | Spal Automotive S.R.L. | Electric machine and method for manufacturing it |
JP2012168674A (ja) * | 2011-02-14 | 2012-09-06 | Nec Computertechno Ltd | ミラーリング復旧装置、および、ミラーリング復旧方法 |
JP2017084230A (ja) * | 2015-10-30 | 2017-05-18 | アドバンス・デザイン株式会社 | データ複製方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000148403A (ja) | ディスクアレイ | |
US4942579A (en) | High-speed, high-capacity, fault-tolerant error-correcting storage system | |
US6009481A (en) | Mass storage system using internal system-level mirroring | |
US5673412A (en) | Disk system and power-on sequence for the same | |
JP3792269B2 (ja) | 階層ディスク・アレイにおいて容量の異なる記憶ディスクを単一記憶ボリューム内で使用する方法 | |
EP0294287B1 (en) | Fault-tolerant, error-correcting storage system and method for storing digital information in such a storage system | |
US6502166B1 (en) | Method and apparatus for distributing data across multiple disk drives | |
JP3742494B2 (ja) | 大容量記憶装置 | |
EP0639811B1 (en) | Memory systems with data storage redundancy management | |
JP3135751B2 (ja) | データ記憶装置 | |
JP3160106B2 (ja) | ディスクアレーの区分け方法 | |
US6571314B1 (en) | Method for changing raid-level in disk array subsystem | |
EP0552580A2 (en) | Data storage method and apparatus for DASD arrays | |
US6886075B2 (en) | Memory device system and method for copying data in memory device system | |
US6397348B1 (en) | Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method | |
JPH06202817A (ja) | ディスクアレイ装置及びそのデータ更新方法 | |
JP4307777B2 (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) | ディスクアレイ装置およびディスクアレイの区分け方法 | |
JP2005099995A (ja) | 磁気ディスク装置のディスク共有方法及びシステム | |
JP2004046864A (ja) | ディスクアレイ | |
JP3597349B2 (ja) | 記憶サブシステムおよびその障害回復方法 | |
JP2856336B2 (ja) | アレイディスク装置とその制御方法 | |
JPH07306758A (ja) | ディスクアレイ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040325 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040803 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |