JP2857289B2 - ディスクアレイ装置 - Google Patents

ディスクアレイ装置

Info

Publication number
JP2857289B2
JP2857289B2 JP4269825A JP26982592A JP2857289B2 JP 2857289 B2 JP2857289 B2 JP 2857289B2 JP 4269825 A JP4269825 A JP 4269825A JP 26982592 A JP26982592 A JP 26982592A JP 2857289 B2 JP2857289 B2 JP 2857289B2
Authority
JP
Japan
Prior art keywords
data
disk
writing
disk array
parity
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.)
Expired - Fee Related
Application number
JP4269825A
Other languages
English (en)
Other versions
JPH06119121A (ja
Inventor
実希夫 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4269825A priority Critical patent/JP2857289B2/ja
Priority to US08/133,441 priority patent/US5666511A/en
Publication of JPH06119121A publication Critical patent/JPH06119121A/ja
Priority to US08/582,721 priority patent/US5848229A/en
Priority to US08/633,090 priority patent/US5696933A/en
Application granted granted Critical
Publication of JP2857289B2 publication Critical patent/JP2857289B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のディスク装置を
並列的にアクセスしてデータ入出力処理を行うようにし
たディスクアレイ装置に関し、特に書込み処理における
処理性能の向上を狙ったディスクアレイ装置に関する。
計算機システムの外部記憶装置として、記録の不揮発
性、大容量性、データ転送の高速性等の特長を持つ磁気
ディスク装置、光ディスク装置等のディスク装置が広く
用いられている。ディスク装置に対する要求は、高速デ
ータ転送、高信頼性、大容量性、低価格である。これら
の要求を満たすものとして、ディスクアレイ装置が注目
されてきている。ディスクアレイ装置とは、小型ディス
ク装置を数題から数十台並べ、複数のディスク装置に分
散してデータを記録して、並列的にアクセスする装置で
ある。
【0002】ディスクアレイ装置で並列的に複数のディ
スク装置にデータ転送を行えば、一台のディスク装置の
場合と比べて、ディスクの台数倍の高速データ転送が可
能になる。また、データに加えて、パリティデータなど
の冗長な情報を付け加えて記録しておくことで、ディス
ク装置の故障等を原因とするデータエラーの検出と訂正
が可能となり、ディスク装置の内容を二重化して記録す
る方法と同程度の高信頼性を、二重化より低価格で実現
することができる。
【0003】
【従来の技術】従来、カルフォルニア大学バークレイ校
のデビット・A・パターソン(David A. Pa
tterson)らは、高速に大量のデータを多くのデ
ィスクにアクセスし、ディスク故障時におけるデータの
冗長性を実現するディスクアレイ装置について、レベル
1からレベル5までに分類付けを行って評価した論文を
発表している(ACM SIGMOD Conferance, Chicago, Illi
nois, June 1-3, 1988P109-P116)。
【0004】このデビット・A・パターソンらが提案し
たディスクアレイ装置を分類するレベル1〜5は、RA
ID(Redundant Arrays of In
expensive Disks)1〜5と略称され
る。RAID1〜5を簡単に説明すると次のようにな
る。 [RAID0]図14はデータの冗長性をもたないディ
スクアレイ装置を示したもので、デビット・A・パター
ソンらの分類には含まれていないが、これを仮にRAI
D0と呼ぶ。
【0005】RAID0のディスクアレイ装置は、デー
タA〜Iに示すように、ディスクアレイ制御装置10は
ホストコンピュータ18からの入出力要求に基づきデー
タをディスク装置32−1〜32−3のそれぞれに分散
させているだけであり、ディスク故障時におけるデータ
の冗長性はない。 [RAID1]RAID1のディスクアレイ装置は図1
5に示すように、ディクス装置32−1に格納したデー
タA〜DのコピーA´〜D´を格納したミラーディスク
装置32−2を備える。RAID1はディスク装置の利
用効率が低いが冗長性をもっており、簡単な制御で実現
できるため、広く普及している。 [RAID2]RAID2のディスクアレイ装置はデー
タをビットやバイト単位でストライピング(分割)し、
それぞれのディスク装置に並列に読み書きを行う。スト
ライピングしたデータは全てのディスク装置で物理的に
同じセクタに記録する。エラー訂正コードとしてはデー
タから生成したハミングコードを使用する。データ用デ
ィスク装置の他にハミングコードを記録するためのディ
スク装置を持ち、ハミングコードから故障したディスク
装置を特定して、データを復元する。
【0006】このようにハミングコードによる冗長性を
備えることでディスク装置が故障しても正しいデータを
確保できるが、ディスク装置の利用効率が悪いために実
用化されていない。 [RAID3]RAID3のディスクアレイ装置は、図
16に示す構成をもつ。即ち、図17に示すように例え
ばデータa,b,cをビットまたはセクタ単位にデータ
a1〜a3,b1〜b3,c1〜c3に分割し、更にデ
ータa1〜a3からパリティP1を計算し、データb1
〜b3からパリティP2を計算し、データc1〜c3か
らパリティP3を計算し、図16のディスク装置32−
1〜32−4を同時並列的にアクセスして書き込む。
【0007】RAID3では、データの冗長性はパリテ
ィにより保持される。また分割したデータの並列処理に
よりデータの書込み時間は短縮できる。しかし、1回の
書込み又は読出しのアクセスで、全てのディスク装置3
2−1〜32−4の並列的なシーク動作を必要とする。
このため大量のデータを連続して扱う場合には有効であ
るが、少量のデータをランダムにアクセスするトランザ
クション処理のような場合には、データ転送の高速性が
生かせず、効率が低下する。 [RAID4]RAID4のディスクアレイ装置は、図
18に示すように、1つのデータをセクタ単位に分割し
て同じディスク装置に書込む。例えばディスク装置32
−1をみると、データaをセクタデータa1〜a4に分
割して書き込んでいる。パリティは固定的に決めたディ
スク装置32−4に格納している。ここでデータa1,
b1,c1からパリティP1が計算され、データa2,
b2,c2からパリティP2が計算され、データa3,
b3,c3からパリティP3が計算され、データa4,
b4,c4からパリティP4が計算されている。
【0008】データ読出しは、ディスク装置32−1〜
32−3に対して並列して読み出しできる。データa〜
bの読出しは、データaを例にとると、ディスク装置3
2−1のセクタ0〜3をアクセスしてセクタデータa1
〜a4を順次読出して合成する。データ書込みは、書き
込み前のデータとパリティを読み出してから新パリティ
を計算して書き込むため、1度の書き込みにについて、
合計4回のアクセスが必要になる。例えば、ディスク装
置32−1のセクタデータa1を更新(書き替え)する
場合には、更新場所の旧データ(a1)old 及び対応す
るディスク装置32−4の旧パリテイ(P1)old を読
出し、新データ(a1)new と整合性のとれた新パリテ
ィ(P1)new を求めて書込む動作を、更新のためのデ
ータ書込み以外にも必要とする。
【0009】また書込みの際に必ずパリティ用のディス
ク装置32−4へのアクセスが起きるため、複数のディ
スク装置の書き込みを同時に実行できない。例えばディ
スク装置32−1のデータa1の書込みとディスク装置
32−2のデータb2の同時書き込みを行なおうとして
も、同じディスク装置32−4からパリティP1,P2
を読出して計算後に書込む必要があるため、同時に書込
みはできない。
【0010】このようにRAID4の定義は行われてい
るが、メリットが少ないため現在のところ実用化の動き
は少ない。 [RAID5]RAID5のディスクアレイ装置は、パ
リティ用のディスク装置を固定しないことで、並列の読
み書きを可能にしている。即ち、図19に示すように、
セクタごとにパリティの置かれるディスク装置が異なっ
ている。ここでデータa1,b1,c1からパリティP
1が計算され、データa2,b2,d2からパリティP
2が計算され、データa3,c3,d3からパリティP
3が計算され、データb4,c4,d4からパリティP
4が計算されている。
【0011】並列の読み書きは、例えばディスク装置3
2−1のセクタ0のデータa1とディスク装置32−2
のセクタ1のデータb2は、パリティP1,P2が異な
るディスク装置32−4,32−3に置かれているため
重複せず、同時に読み書きができる。尚、書込み時に合
計4回のアクセスを必要とするオーバーヘッドはRAI
D4と同じである。
【0012】このようにRAID5は、非同期に複数の
ディスク装置にアクセスしてリード/ライトを実行でき
るため、少量データをランダムにアクセスするトランザ
クション処理に向いている。ここでRAID4およびR
AID5のデータ書込みにおけるパリティデータの生成
を説明すると次のようになる。
【0013】まず冗長情報を格納したディスクアレイ装
置では、次の(1)式により複数のディスク装置におけ
る同一記憶位置のデータの排他的論理和を取ってパリテ
ィとし、パリティ用のディスク装置に保持している。 データa(+)データb(+)・・・=パリティP (1) 但し、(+)は排他的論理和記号 データとパリティの格納場所は、RAID4では図17
のように特定のディスク装置32−4に固定している。
これに対しRAID5では、図18のようにパリティを
ディスク装置32−1〜32−4に分散させて、パリテ
ィ読み書き動作による特定のディスク装置へのアクセス
の集中を解消している。
【0014】これらのRAID4およびRAID5のデ
ータ読出し時は、ディスク装置32−1〜32−4内の
データが書き換えられないので、パリティの整合性は保
持されるが、書込み時にはパリティもデータに合わせて
変更する必要がある。例えばディスク装置32−1内の
1つの旧データ(a1)old を新データ(a1)new
書き換えたとき、パリティP1の整合性を取るには次の
(2)式のような計算を行い、パリティを更新すること
でディスク装置のデータ全体のパリティの整合性を保つ
ことができる。 旧データ(+)旧パリティ(+)新データ=新パリティ (2)
【0015】
【発明が解決しようとする課題】しかしながら、従来の
RAID4およびRAID5に分類されるディスクアレ
イ装置にあっては、(2)式から分かるように、データ
書込み処理では、データ書込対象となるディスク装置内
から旧データを読出すと共にパリティ格納用のディスク
装置の書込予定位置と同一位置のパリティを先ず読出し
て新パリティを計算する必要があり、その後に新データ
と新パリティをそれぞれのディスク装置に書込むことに
なる。
【0016】このため1度の書込みにおいて2回ずつの
読出しと書込み、即ち4回のアクセスが必要となり、処
理時間が長くなってディスクアレイ装置としての性能向
上が十分に期待できないという問題があった。一方、図
17に示したRAID3に分類されるディスクアレイ装
置にあっては、ディスク装置の並び方向にデータを分割
して並列的に書込むことから、ディスク装置から旧デー
タや旧パリティを読出す必要はなく、分割データから新
パリティを計算することができ、RAID4やRAID
5に比べると書込みの処理時間は短くできる。
【0017】しかし、書込み時には全てのディスク装置
に対する並列的なアクセスを必要とし、ディスク装置の
個々の読み書きが要求される大量のトランザクション処
理には不向きである。本発明の目的は、上位装置からの
データ量に応じて最適なアクセス形式を選んで書込み処
理を行うようにしたディスクアレイ装置を提供する。
【0018】本発明の他の目的は、上位装置からのデー
タ量が少ないときには複数のディスク装置の個別的にア
クセスするモードを選んで、書込み後のアクセス効率を
向上させるディスクアレイ装置を提供する。本発明の他
の目的は、上位装置からのデータ量が多いときには複数
のディスク装置の並列的にアクセスするモードを選んで
処理時間を短縮するようにしたディスクアレイ装置を提
供する。
【0019】本発明の他の目的は、上位装置からのデー
タ量が多いときには全てのディスク装置がアクセス可能
状態にあることを条件に並列的にアクセスするモードを
選んで処理時間を短縮するようにしたディスクアレイ装
置を提供する。本発明の他の目的は、データ量が多いと
きに並列的にアクセスするモードで書込んだ後に読出し
て個別的にアクセスするモードに書き替えてるようにし
たディスクアレイ装置を提供する。
【0020】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明は、データ格納用とパリティ格納用の
複数のディスク装置32−1〜32−5を備えたディス
クアレイ46を有し、上位装置18から指示された書込
データ量が少ないときは、第1書込手段34により、複
数のディスク装置32−1〜32−5を個別的にアクセ
スして所定長、例えばセクタ単位に分割したデータを書
込む。また上位装置18から指示された書込みのデータ
量が多いときは、第2書込手段36により、複数のディ
スク装置を並列的にアクセスしてセクタ単位に分割した
データを書込む。
【0021】ここで第1書込手段34は、図1(b)の
個別的アクセスモードによる書込みを行う。この個別的
書込モードは、まずデータの書込に先立ち、書込み対象
のディスク装置の書込予定位置のデータおよび他のディ
スク装置に格納している書込予定位置と同一位置の冗長
情報としてのパリティを読出して新たな冗長情報を排他
的論理和により生成する。次に新たなセクタデータとパ
リティをデータ格納用とパリティ格納用のディスク装置
のそれぞれを個別的にアクセスして非同期に書込む。
【0022】また第2書込手段36は、図1(c)の並
列的アクセスモードによる書込みを行う。即ち、ディス
ク並び方向に並列的に格納する複数のセクタデータの排
他的論理和から新たな冗長情報してのパリティを生成す
る。次に複数のセクタデータとパリティを複数のディス
ク装置を並列的にアクセスして非同期に書込む。また第
2書込手段36は、データ量が多い場合、直ちに並列的
アクセスモードによる書込みを行わず、全てのディスク
装置がアクセス可能かどうかチェックしてから処理を行
う。
【0023】この場合、複数のディスク装置の全てがア
クセス可能状態でなかった場合には、個別的アクセスモ
ードのデータ格納形式につき並列的アクセスモードに従
ってパリティを生成し、その後にディスク装置を個別的
にアクセスしてセクタデータおよびパリティを書込む。
また複数のディスク装置が全てアクセス可能状態であっ
た場合には、並列的アクセスモードでパリティを生成し
た後に複数のディスク装置に並列的に書込む。
【0024】さらに個別的アクセスモードにおけるパリ
ティの格納位置は、ディスク装置に分散させてもよい
し、特定のディスク装置に固定してもよい。
【0025】
【作用】このような構成を備えた本発明のディスクアレ
イ装置によれば、上位装置から書込みを指示されたデー
タ量をチェックし、基本的に、データ量が少ない場合
は、1回の書込みに時間はかかるが書込み後のトランザ
クション処理が効率よくできる個別的アクセスモードを
選択し、一方、データ量が多い場合には、トランザクシ
ョン処理には1回の書込み時間が短い並列的アクセスモ
ードを選択する。
【0026】ここで、個別的アクセスモードはRAID
5(RAID4でもよい)に対応し、また並列的アクセ
スモードはRAID3に対応していることから、本発明
は、データ量に応じてRAID5(又はRAID4)と
RAID3の利点を生かした効率の良いデータ書込みを
行うことになる。更に、RAID3に相当する並列的ア
クセスモードで大量のデータを書込んだ後は、ディスク
アレイ装置の空き時間等を利用し、並列的アクセスモー
ドに従って格納しているデータを読出して個別アクセス
モードにより書き替え、トランザクション処理の際のデ
ィスク装置の個別的な読み書きに対処できるようにす
る。
【0027】このように、上位装置からの入出力要求で
指定されたデータ量に対してディクスアレイ制御装置側
でデータ量を判断し、ディスクアクセスの動作モードの
切換えを行うことにより、アクセス効率を向上し、処理
時間の短縮とデータ転送速度を向上させることができ、
入出力要求に対する性能向上が図れる。
【0028】
【実施例】図2は本発明のディスクアレイ装置のハード
ウェア構成を示した実施例構成図である。図2におい
て、ディスクアレイ制御装置10には制御手段としてM
PU12が設けられ、MPU12の内部バスに上位装置
としてのホストコンピュータ18からの入出力要求を受
けるホストインタフェース16、制御プログラム等を固
定的に記憶したROM20、制御記憶として一時的なデ
ータ記憶に使用されるRAM22、キャッシュ制御部2
4を介して接続されたキャッシュメモリ26、データ転
送バッファ28が設けられる。
【0029】このディスクアレイ制御装置10に対して
は、ディスクアレイ46が設けられる。ディスクアレイ
46は、この実施例にあってはディスク装置32−1〜
32−12の12台を備えており、5台のディスク装置
32−1〜32−5によりランク48−1を構成し、ま
た同じく5台のディスク装置32−6〜32−10でラ
ンク48−2を構成し、ディスク装置32−11,32
−12の2台は予備機として設けられている。
【0030】ランク48−1,48−2に設けられたデ
ィスク装置はディスク並び方向の同一位置を組としてデ
ィスクアレイ装置10より共通にアクセスを受けるよう
にしている。即ち、ディスクアレイ制御装置10にはデ
バイスアダプタ30−1〜30−6が設けられ、例えば
デバイスアダプタ30−1にランク48−1の最初のデ
ィスク装置32−1を接続し、またランク48−2の最
初のディスク装置32−6を接続している。
【0031】図3は図2のハードウェア構成を対象に本
発明によるアクセス機能を示した機能ブロック図であ
る。図3において、ディスクアレイ制御装置10にはコ
マンド解読部38、第1書込部34、第2書込部36、
書込モード管理テーブル40、読出部42およびディス
クアクセス部44が設けられる。ここでコマンド解読部
38、第1書込部34、第2書込部36、読出部42お
よびディスクアクセス部44の機能は図2に示したMP
U12によるプログラム制御で実現され、また書込モー
ド管理テーブル40は制御記憶としてのRAM22上に
展開される。
【0032】コマンド解読部38はホストコンピュータ
18からの入出力要求に伴うコマンドを解読し、コマン
ドが書込コマンドであった場合には書込データのデータ
量に応じて第1書込部34または第2書込部34を選択
して、ディスクアクセス部40を介してディスクアレイ
46に対する書込処理を実行する。ここで、第1書込部
34は書込データ量が少ないときに起動し、例えばラン
ク48−1のディスク装置32−1〜32−5を例にと
ると、各ディスク装置32−1〜32−5を個別的にア
クセスしてセクタ単位に分割したデータを書き込む個別
的アクセスモードによる書込処理を実行する。この個別
的書込モードは、図19に示したRAID5の動作モー
ドに相当する。
【0033】一方、第2書込部36は書込データ量が多
いときに起動し、例えばランク48−1のディスク装置
32−1〜32−4を並列的にアクセスして、セクタ単
位に分割したデータを書き込む並列的アクセスモードに
従った書込処理を実行する。この第2書込部36による
並列的アクセスモードによる書込処理は、図16に示し
たRAID3の動作モードに相当する。
【0034】更に、第2書込部36にあっては、データ
量が多いときに直ちに並列的アクセスモードによる書込
処理を実行するのではなく、書込みに先立ってアクセス
対象とする、例えば48−1のディスク装置32−1〜
32−5の全てがアクセス可能状態にあるか否かチェッ
クし、可能状態にあれば並列的アクセスモードによるデ
ータ書込みを実行する。
【0035】これに対し、全てのディスク装置32−1
〜32−5がアクセス可能状態になかった場合には、第
1書込部34で行う個別的アクセスモードに従ったデー
タ格納形式となる書込みを行うが、冗長情報としてのパ
リティの生成については、第2書込部36固有の並列的
アクセスモードに従ってディスク装置からパリティ及び
データを読み出すことなくパリティを生成できるように
している。
【0036】書込モード管理テーブル40には第1書込
部34と第2書込部36による書込モードを示す情報が
セクタ単位で登録される。読出部42はコマンド回読部
38で読出コマンド解読したさいに起動され、読出しが
指示されたセクタアドレスにより書込モード管理テーブ
ル40を参照し、個別的書込モードまたは並列的書込モ
ードに従った読出をディスクアクセス部44を介して実
行する。この場合の読出しは、いずれのモードにあって
も、複数のディスク装置から並列した読出しができる。
【0037】図4は本発明における書込データのセクタ
単位への分割を示した説明図である。図4において、
今、ホストコンピュータ18より書込みのためのデータ
a,b,c,dが転送されてきたとすると、第1書込部
34または第2書込部36によるディスクアレイ46に
対する書込処理のため、各データa〜dをセクタ単位に
分割する。例えば、データaについては、セクタデータ
a1〜a4の4つに分割する。他のデータb〜dについ
ても同様に、4つのセクタデータに分割する。
【0038】図5は図3の第1書込部34による個別的
アクセスモードの説明図である。この個別的アクセスモ
ードはRAID5の動作モードに相当する。図5におい
て、個別的アクセスモードにおけるパリティの生成形式
は、ディスク装置の書込対象セクタから旧データを読み
出すと共に旧データと同一位置のパリティ用ディスク装
置から旧パリティを読み出し、このようにしてディスク
装置側から読み出した旧データと旧パリティ、更に新た
に書き込むセクタデータ即ち新データとの排他的論理和
をとって新パリティを生成する。
【0039】また、個別的アクセスモードのデータ格納
形式は分割前のデータ単位に各ディスク装置を個別に割
り当てることを基本としており、例えばディスク装置3
2−1〜32−5の第1セクタには、図4に示したデー
タa〜dの中の最初のセクタデータa1,b1,c1,
d1、更にパリティP1が格納される。これらのディス
ク装置32−1〜32−5に対する書込みは、各ディス
ク装置を個別的にアクセスして書き込むようになる。
【0040】図6は図3の第2書込部36が行う並列的
アクセスモードの説明図であり、RAID3の動作モー
ドに相当する。図6において、並列的アクセスモードに
おけるパリティの生成形式は、図4に示すようにセクタ
単位に分割したデータをディスク装置32−1〜32−
5の並び方向に格納することから、データa〜dの各セ
クタデータの排他的論理和によって各パリティP1〜P
4を生成することができる。このため、パリティの生成
にはディスク装置からの旧データ及び旧パリティの読出
しは必要とせず、データ書込みの処理時間を短くでき
る。
【0041】図7は図3の第2書込部36においてパリ
ティは並列的アクセスモードで生成し、データの格納は
個別的アクセスモードとした組合せの説明図である。図
7において、図4に示すように書込データの分割により
得られたセクタデータについては、図5に示した個別的
アクセスモードに従ったデータ格納形式となることか
ら、この格納形式を想定したセクタデータの並びを生成
し、同一セクタ位置にある例えばセクタデータa1,b
1,c1,d1の排他的論理和からパリティP1を生成
する。残りのセクタデータについても同様である。
【0042】このため、データ格納形式は個別的アクセ
スモードに従っていてもパリティの生成は並列的アクセ
スモードによることから、ディスク装置32−1〜32
−5からの旧データ及び旧パリティの読出しが不要とな
り、図6に示した純粋な並列的アクセスモードに比べ書
込処理時間を短縮できる。尚、ディスク装置32−1〜
32−5に対するデータ書込みは図5の個別的アクセス
モードと同様、ディスク装置32−1〜32−5を個別
的にアクセスして非同期に書き込むことから、図6の並
列的アクセスモードによる並列書込みに比べると処理時
間はかかることになる。従って、図6の組合せ方式は図
5の個別的アクセスモードと図6の並列的アクセスモー
ドの、ちょうど中間的な書込モードといえる。
【0043】図8は図6に示した並列的アクセスモード
でディスク装置に書込みを行った後の個別的アクセスモ
ードによる書替えを示した説明図である。図8におい
て、データ量が多く、且つ全てのディスク装置がアクセ
ス可能状態で行う並列的アクセスモードによるデータ書
込みは、本来、書き込むべきディスク装置がランク48
−1に属するディスク装置32−1〜32−5であった
場合、書込み後の書替えを可能とするため、別のランク
48−2に属するディスク装置32−6〜32−10に
対し行う。
【0044】このように、別のランク48−2のディス
ク装置32−6〜32−10に対し、並列的アクセスモ
ードでデータ書込みが済んだならば、ディスクアレイ制
御装置10に示すように、まずランク48−2のディス
ク装置32−6〜32−10からセクタデータ及びパリ
ティデータを読み出し、並列的アクセスモードに従った
本来のランク48−1に属するディスク装置32−1〜
32−5に対するデータ格納形式を想定してパリティを
生成する。
【0045】例えば、ランク48−2のディスク装置3
2−6からセクタデータa1,b1,c1,d1を読み
出した場合には、全てのセクタデータの排他的論理和か
ら新たなパリティP10を生成し、ランク48−1のデ
ィスク装置32−1〜32−5のディスク並び方向の同
一セクタ位置に図示のようにセクタデータa1,b1,
c1,d1及びパリティデータP10を書き込む。
【0046】以下同様に、ディスク装置32−7〜32
−9について個別的アクセスモードのデータ格納形式へ
の書替えを行う。図9は本発明の全体的な処理動作を示
したフローチャートであり、まずステップS1でホスト
コンピュータ18からのホストコマンドの受領の有無を
チェックしており、ホストコンピュータからの入出力要
求に基づくホストコマンドを受領すると、ステップS2
でコマンドを解読する。コマンドの解読結果から、ライ
ト要求であればステップS3からステップS4に進み、
ライト処理を実行する。
【0047】一方、リード要求であればステップS5に
進み、リード処理を実行する。図10はリード処理の詳
細を示したフローチャートであり、ステップS1でまず
書込モード管理テーブル40を参照し、ステップS2で
個別的アクセスモードによる書込みか否かチェックす
る。本発明にあっては、個別的アクセスモードに従った
ディスク装置のデータ格納形式を前提としているが、書
替えが済んでない並列的アクセスモードの格納形式が残
っている場合もあることから、ステップS2で個別的ア
クセスモードによる書込みか否かチェックする。
【0048】個別的アクセスモードの書込みデータを対
象とした読出しであれば、ステップS3で対応した読出
しを実行する。即ち、上位装置からのコマンドで指定さ
れたディスクIDとデータアドレスにより対応するディ
スク装置を個別的にアクセスしてセクタデータを読み出
し、図2に示したディスクアレイ制御装置10内のデー
タ転送バッファ28に一旦格納した後、ホストインタフ
ェース16を介してホストコンピュータ18に転送す
る。
【0049】また並列的アクセスモードの書込みデータ
を対象とした読出しであれば、ステップS4で上位装置
からのコマンドで指定されたディスクIDとデータアド
レスにより対応するディスク装置を個別的又は並列的に
アクセスしてセクタデータを読み出し、データ転送バッ
ファ28に一旦格納した後、ホストインタフェース16
を介してホストコンピュータ18に転送する。
【0050】図11は図9のステップS4に示したライ
ト処理の詳細を示したフローチャートである。この図1
1のフローチャートに従った処理が図3に示したコマン
ド解読部38,第1書込部34,第2書込部36及びデ
ィスクアクセス部40の機能により実現される。
【0051】図11において、まずステップS1でパリ
ティ生成形式及びデータ格納形式を個別的アクセスモー
ドに設定する。続いてステップS2で、ホストコンピュ
ータから送られてきた書込データ量βが、予め定めたデ
ータ量αより大きいか否かチェックする。ここで、書込
データ量βが規定データ量αより少なかった場合にはス
テップS3に進み、ステップS1で設定した個別的アク
セスモードに従ってパリティデータを生成した後、ディ
スク装置に書き込むようになる。
【0052】このステップS3の個別的アクセスモード
によるディスク装置への書込みにあっては、パリティの
生成にディスク装置からの旧データと旧パリティの読出
しを必要とすることから1回の書込みの処理時間が長く
なるが、書込データ量βが少ないことから全体としての
アクセス時間そのものは、それ程、長くはならない。一
方、ステップS2で書込データ量βが規定データ量αよ
り多かった場合にはステップS4以降の処理に進む。こ
のステップS4以降の処理が図3に示した第2書込部3
6の処理となる。
【0053】まずステップS4でパリティ生成形式をス
テップS1で設定した個別的アクセスモードから並列的
アクセスモードに変更する。この結果、パリティ生成に
ついては並列的アクセスモードが設定され、一方、デー
タ格納形式については個別的アクセスモードが設定され
たことになる。続いてステップS5で書込対象となるラ
ンクに属する全ディスク装置がアクセス可能か否かチェ
ックする。書込対象とするランクに属するディスク装置
の内、1台でもビジィ状態にあるとステップS6に進
み、ステップS4の設定結果に基づき、並列的アクセス
モードでパリティを生成し、次に個別的アクセスモード
に従ってディスク装置にデータを書き込む。
【0054】この並列的アクセスモードによるパリティ
の生成と個別的アクセスモードによるデータ格納の組合
せは図7に示した通りである。ステップS5でアクセス
対象とするランクの全ディスク装置がアクセス可能であ
った場合にはステップS7に進み、データ格納形式につ
いても並列的アクセスモードに変更する。これによりパ
リティ生成形式及びデータ格納形式の両方について並列
的アクセスモードが設定されたことになる。続いてステ
ップS8で並列的アクセスモードに従ってディスクアレ
イ制御装置10側でパリティを生成し、書込対象とは異
なる別ランクのディスク装置に対し並列的アクセスモー
ドに従ったデータ書込みを実行する。
【0055】この並列的アクセスモードによるデータ書
込みは、図6に示したようにパリティの生成にディスク
装置の読出しを必要とせず、且つ全てのディスク装置を
並列的にアクセスして非同期に書き込むことができるた
め、データ量が多くても高速のデータ書込みを行うこと
ができる。続いてステップS9に進み、図8に示したよ
うに別ランクのディスク装置に並列的アクセスモードで
書き込んだデータをディスク単位に読み出して個別的ア
クセスモードにより対象ランクのディスク装置への書替
えを行い、個別的アクセスモードに従ったデータ格納形
式に書き替える。
【0056】このステップS9における個別的アクセス
モードに従ったデータ格納形式への書替えはホストコン
ピュータからの入出力要求を妨げないため、もし入出力
要求があった場合には一旦、書替処理を中断し、入出力
要求の完了後に再開するようにすることが望ましい。図
12は本発明における他の個別的アクセスモードの説明
図であり、図5に示した個別的アクセスモードにあって
は、パリティの格納位置をディスク装置毎に分散させて
いるが、図12の個別的アクセスモードでは、例えばデ
ィスク装置32−5に固定するようにしたことを特徴と
する。この個別的アクセスモードはRAID4に相当す
る。尚、パリティ生成形式については図5の場合と同様
である。
【0057】図13は図9のステップS4に示したライ
ト処理の他の実施例を示したフローチャートであり、図
11のライト処理にあっては、書込データ量βが規定デ
ータ量αより多かった場合に全ディスク装置がアクセス
可能か否かで異なるアクセスモードとしているが、図1
3の実施例にあっては、ステップS4でパリティ生成形
式を並列的アクセスモードに変更した後、ステップS5
で並列的アクセスモードでパリティを生成し、個別的ア
クセスモードでディスク装置に書込みを行うようにして
おり、全ディスク装置のアクセス可能か否かに関わら
ず、図7に示した並列的アクセスモードによるパリティ
生成と個別的アクセスモードによるデータ格納とを組み
合わせた動作モードとしている。
【0058】また、図13の実施例にあっては、並列的
アクセスモードのみによるデータ書込みを行っていない
ことから、図8に示すような個別的アクセスモードのデ
ータ格納形式への書戻しは必要ない。尚、図2のハード
ウェア構成に示したように、上記の実施例にあっては1
つのランクにデータ格納用のディスク装置を5台、パリ
ティ格納用のディスク装置を1台設けた場合を例にとる
ものであったが、データ記録用及びパリティ記録用のデ
ィスク装置の台数は必要に応じて任意の数とすることが
できる。この点はランク数についても同様である。
【0059】
【発明の効果】以上説明してきたように本発明によれ
ば、上位装置からの入出力要求で指定された書込データ
量に応じて並列的アクセスモードと個別的アクセスモー
ドを適切に選択することで、それぞれの動作モードを生
かしたデータ書込みを行うことができ、結果としてディ
スクアレイ装置のアクセス性能を向上することができ
る。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のハードウェア構成を示した実施例構成
【図3】本発明によるアクセス機能を示したブロック図
【図4】本発明における書込データをセクタ単位に分割
した説明図
【図5】本発明における個別的アクセスモードの説明図
【図6】本発明における並列的アクセスモードの説明図
【図7】本発明における並列的アクセスモードのパリテ
ィ生成形式と個別的アクセスモードのデータ格納形式の
組合せを示した説明図
【図8】本発明で並列的アクセスモードで書込んだ後の
個別的アクセスモードによる書き替えを示した説明図
【図9】本発明の全体的な処理動作を示したフローチャ
ート
【図10】図4のリード処理の詳細を示したフローチャ
ート
【図11】図4のライト処理の詳細を示したフローチャ
ート
【図12】本発明における他の個別的アクセスモードの
説明図
【図13】図4のライト処理の他の実施例を示したフロ
ーチャート
【図14】RAID0によるディスクアレイ装置の説明
【図15】RAID1によるディスクアレイ装置の説明
【図16】RAID3によるディスクアレイ装置の説明
【図17】RAID3におけるデータ分割の説明図
【図18】RAID4によるディスクアレイ装置の説明
【図19】RAID5によるディスクアレイ装置の説明
【符号の説明】
10:ディスクアレイ制御装置 12:MPU 14:内部バス 16:ホストインタフェース 18:ホストコンピュータ(上位装置) 20:ROM 22:揮発性メモリ(RAM) 24:キャッシュ制御部 26:キャッシュメモリ 28:データ転送バッファ 30−1〜30−n:デバイスアダプタ 32−1〜32−n:ディスク装置 34:第1書込手段(第1書込部) 36:第2書込手段(第2書込部) 38:コマンド解読部 40:書込モード管理テーブル 42:読出部 44:ディスクアクセス部 46:ディスクアレイ 48−1,48−2:ランク
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 301 G06F 3/06 302 G06F 3/06 540

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】データ格納用とパリティ格納用の複数のデ
    ィスク装置(32−1〜32−5)を備えたディスクア
    レイ(46)と、 上位装置(18)から指示された書込データ量が少ない
    ときは、前記複数のディスク装置(32−1〜32−
    5)を個別的にアクセスして所定長に分割したデータを
    書込む第1書込手段(34)と、 上位装置(18)から指示された書込みのデータ量が多
    いときは、前記複数のディスク装置を並列的にアクセス
    して所定長に分割したデータを書込む第2書込手段(3
    6)と、を備えたことを特徴とするディスクアレイ装
    置。
  2. 【請求項2】請求項1記載のディスクアレイ装置に於い
    て、前記第1書込手段(34)は、所定長単位に分割し
    たデータの書込みに先立ち、書込み対象のディスク装置
    の書込予定位置のデータおよび他のディスク装置に格納
    している書込予定位置と同一位置の冗長情報を読出して
    新たな冗長情報を生成し、次に新たな分割データと冗長
    情報を前記ディスク装置のそれぞれに個別的に書込むこ
    とを特徴とするディスクアレイ装置。
  3. 【請求項3】請求項1記載のディスクアレイ装置に於い
    て、前記第2書込手段(36)は、所定長単位に分割し
    たディスク並び方向に並列的に格納する複数のデータか
    ら新たな冗長情報を生成し、次に新たな分割データと冗
    長情報を前記複数のディスク装置に並列的に書込むこと
    を特徴とするディスクアレイ装置。
  4. 【請求項4】請求項1記載のディスクアレイ装置に於い
    て、前記第2書込手段(36)は、前記複数のディスク
    装置の全てがアクセス可能状態でなかった場合には、前
    記複数のディスク装置に個別的にデータを書込む際のデ
    ィスク並び方向の分割データから冗長情報を生成し、次
    にディスク装置を個別的にアクセスして各分割データお
    よび新たな冗長情報を書込むことを特徴とするディスク
    アレイ装置。
  5. 【請求項5】請求項1記載のディスクアレイ装置に於い
    て、前記第2書込手段(36)は、前記複数のディスク
    装置が全てアクセス可能状態であった場合には、所定長
    単位に分割したディスク並び方向の分割から新たな冗長
    情報を生成し、次に分割データと冗長情報を前記複数の
    ディスク装置に並列的に書込むことを特徴とするディス
    クアレイ装置。
  6. 【請求項6】請求項5記載のディスクアレイ装置に於い
    て、前記第2書込手段(36)は、分割データと冗長情
    報を別に設けた複数のディスク装置に並列的に書込み、
    該書込後に読出して前記第1書込手段(34)により本
    来のディスク装置を個別的にアクセスして書き替えるこ
    とを特徴とするディスクアレイ装置。
  7. 【請求項7】請求項1乃至6記載のディスクアレイ装置
    に於いて、前記第1書込手段(34)および第2書込手
    段(36)による複数のディスク装置への書込み時に、
    冗長情報を書込むディスク装置を分散させることを特徴
    とするディスクアレイ装置。
  8. 【請求項8】請求項1乃至6記載のディスクアレイ装置
    に於いて、前記第1書込手段(34)および第2書込手
    段(36)による複数のディスク装置への書込み時に、
    冗長情報を書込むディスク装置を固定させることを特徴
    とするディスクアレイ装置。
  9. 【請求項9】請求項1乃至8記載のディスクアレイ装置
    に於いて、前記冗長情報としてパリティデータを使用
    し、前記第1書込手段(34)はディスク装置から読出
    したデータとパリティデータおよび新たに書込むデータ
    の排他的論理和から新たなパリティを生成し、前記第2
    書込手段(36)はディスク並び方向に並列的に書込む
    複数データの排他的論理和から新たなパリティを生成す
    ることを特徴とするディスクアレイ装置。
JP4269825A 1992-10-08 1992-10-08 ディスクアレイ装置 Expired - Fee Related JP2857289B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4269825A JP2857289B2 (ja) 1992-10-08 1992-10-08 ディスクアレイ装置
US08/133,441 US5666511A (en) 1992-10-08 1993-10-06 Deadlock suppressing schemes in a raid system
US08/582,721 US5848229A (en) 1992-10-08 1996-01-04 Fault tolerant disk array system for allocating auxillary disks in place of faulty disks
US08/633,090 US5696933A (en) 1992-10-08 1996-04-16 Apparatus for controlling data writing into a disk array system including a data length detecting unit and a writing mode selector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4269825A JP2857289B2 (ja) 1992-10-08 1992-10-08 ディスクアレイ装置

Publications (2)

Publication Number Publication Date
JPH06119121A JPH06119121A (ja) 1994-04-28
JP2857289B2 true JP2857289B2 (ja) 1999-02-17

Family

ID=17477704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4269825A Expired - Fee Related JP2857289B2 (ja) 1992-10-08 1992-10-08 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JP2857289B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4491273B2 (ja) * 2004-05-10 2010-06-30 株式会社日立製作所 ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法
CN112988074B (zh) * 2021-04-07 2023-08-29 深圳市优服信息技术有限公司 一种存储***管理软件适配方法及装置

Also Published As

Publication number Publication date
JPH06119121A (ja) 1994-04-28

Similar Documents

Publication Publication Date Title
JP3742494B2 (ja) 大容量記憶装置
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
US5488701A (en) In log sparing for log structured arrays
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US5720027A (en) Redundant disc computer having targeted data broadcast
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
US5077736A (en) Disk drive memory
US5258984A (en) Method and means for distributed sparing in DASD arrays
US5617425A (en) Disc array having array supporting controllers and interface
JP3181398B2 (ja) アレイ型記録装置
US5613088A (en) Raid system including first and second read/write heads for each disk drive
JPH06208476A (ja) 冗長アレイパリティキャッシングシステム
JPH06332623A (ja) アレイ型記録装置及び記録装置
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
US20020007438A1 (en) Memory system for improving data input/output performance and method of caching data recovery information
US5875460A (en) Disk array subsystem and data generation method therefor
US6343343B1 (en) Disk arrays using non-standard sector sizes
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP2857288B2 (ja) ディスクアレイ装置
JPH07261946A (ja) アレイ型記憶装置
JP2857289B2 (ja) ディスクアレイ装置
US5659677A (en) Data storage apparatus for disk array
JP3122252B2 (ja) ディスクアレイ制御方式
JPH06119125A (ja) ディスクアレイ装置
JP2570614B2 (ja) デイスクアレイ装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981110

LAPS Cancellation because of no payment of annual fees