JPH09282238A - ディスク装置およびディスクアレイサブシステム - Google Patents

ディスク装置およびディスクアレイサブシステム

Info

Publication number
JPH09282238A
JPH09282238A JP8096326A JP9632696A JPH09282238A JP H09282238 A JPH09282238 A JP H09282238A JP 8096326 A JP8096326 A JP 8096326A JP 9632696 A JP9632696 A JP 9632696A JP H09282238 A JPH09282238 A JP H09282238A
Authority
JP
Japan
Prior art keywords
disk
data
parity
buffer
input
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
JP8096326A
Other languages
English (en)
Inventor
Akira Kojima
昭 小島
Akito Ogino
昭人 荻野
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 JP8096326A priority Critical patent/JPH09282238A/ja
Publication of JPH09282238A publication Critical patent/JPH09282238A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ディスクアレイにおけるライトペナルティを
低減する。 【解決手段】 ディスクアレイ制御装置20に独立な入
出力チャネル80を介して複数のディスク装置70を接
続し、各ディスク装置70はパリティ計算用のEOR回
路を内蔵するとともに、入出力チャネル81を介して相
互に接続され、ディスク装置70に対してディスクアレ
イ制御装置20からデータ書込要求が発生すると、デー
タ書込対象のディスク装置70(データディスク)で
は、ディスク媒体38から読み出された旧データと新書
込データから仮パリティを生成し、入出力チャネル81
を介して対応するパリティを保持する他のディスク装置
70(パリティディスク)に送出するとともに新書込デ
ータをディスク媒体38に反映させ、パリティディスク
側では、入出力チャネル81から得られた仮パリティと
旧パリティから新パリティを生成してディスク媒体38
に書き込む動作を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスク装置およ
びディスクアレイ技術に関し、特に、ディスクアレイサ
ブシステムにおけるデータ書き込み時の性能向上に有効
な技術に関する。
【0002】
【従来の技術】安価な小型ディスク装置を複数台接続し
たディスクアレイ装置を構築し、各小型ディスク装置を
並列動作させることにより、大型ディスク装置相当の性
能を出すようにしたRAID技術が知られている。この
ディスクアレイ装置では、個々の小型ディスク装置の信
頼性は低く、信頼性維持のために、例えばデータディス
ク4台に対してパリティディスク1台といった割合でパ
リティディスクを割り当て、データの冗長度を大きくし
ている。
【0003】一般にいわれる、RAID4では、パリテ
ィは1台に固定され、RAID5では、アクセスがパリ
ティディスクに集中することによる全体の性能低下を考
慮し、データ単位毎に全ディスク装置に均等にパリティ
を分散する。
【0004】図38に、考えられる一般的なRAID5
(case−1)の構成を示す。図示しないホストコン
ピュータとの間におけるコマンドやデータの授受を制御
するディスクアレイ制御装置100の配下には、複数の
ディスク装置200が、個別の入出力チャネル300を
介して接続された構成となっている。個々のディスク装
置200は、データが格納されるデータディスクおよび
パリティが格納されるパリティディスクの双方として機
能する。データの読み出しは、ホストコンピュータの要
求アドレスが存在するディスク装置200に対して行
う。その間、別のディスク装置200のアドレスのアク
セスも可能となる。
【0005】但し、データの書き込みの場合、以下の様
にパリティディスクをアクセスする必要があるので、別
のディスク装置200のアクセスもデータ書き込みの場
合、パリティディスクのアクセス待ちとなる。
【0006】データ書き込み処理としては、 (1)旧データ(Dn0)を当該アドレスのデータディ
スクより読み出す。
【0007】(2)旧パリティデータ(DnP0)を当
該アドレスのパリティディスクより読み出す。
【0008】(3)上位から転送された、新データ(D
n1)を当該アドレスのデータディスクに書き込む。
【0009】(4)新データと、上記旧データ、旧パリ
ティデータとの排他的論理和を計算し新パリティデータ
(DnP)とする。
【0010】(5)上記新パリティデータをパリティデ
ィスクに書き込む。
【0011】の(1)〜(5)の処理が発生し、データ
読み出し処理でのディスクアクセスが1回((1)の
み)に対し、データ書き込み処理では4回((4)以
外)発生する。
【0012】図39に、他の考えられる一般的なRAI
D5(case−2)の構成を示す。この場合、複数の
ディスク装置200は、共通の入出力チャネル400を
介してディスクアレイ制御装置100と接続されてい
る。データの読み出しは、ホストコンピュータの要求ア
ドレスが存在するディスク装置200に対して行う。そ
の間、別のディスク装置200のアドレスのアクセスも
可能となる。
【0013】データの書き込み時、図38で述べた様に
パリティディスクをアクセスする必要があるので、別の
ディスク装置200のアクセスもデータ書き込みの場
合、パリティディスクのアクセス待ちとなる。
【0014】但し、下位ディスク装置インタフェース
(入出力チャネル400)が、共通であるため、データ
の読み出し時/書き込み時のいずれにおいても、同時に
発生するインタフェースのアクセス要求は、優先度を決
め「使用権の仲裁」が行われる。
【0015】このようなディスクアレイ装置において、
ライト時のパリティデータの更新のための性能低下(一
般に“ライトペナルティ”と呼ばれる)を低減すること
が各メーカ間で検討されている。
【0016】たとえば、米国特許第5191584号
(Mass Storage Array With
Efficient Parity Calculat
ion)には、RAID4,5において、制御装置が処
理データ単位毎に1台のデータディスクにアクセスする
場合、データ書き込み時でも全データディスクをアクセ
スする必要がないことに着目し、当該データディスクと
パリティディスクの旧データ、旧パリティデータ、およ
び上位より転送されてきた新データとの排他的論理和に
より新パリティデータを計算し、この新パリティデータ
によりパリティディスクを更新する技術が開示されてい
る。この場合、データ書き込みが発生した当該データデ
ィスクとパリティディスク以外のディスク装置は別の処
理が可能となる。特に、RAID5の場合、パリティデ
ィスクが特定されないため、同時に書き込み処理を行う
ことも可能となる。
【0017】いずれの方式においても問題となるのは、
データ書き込み時にパリティデータを更新する際、前述
の(1)〜(5)の5つの処理が発生し処理性能が低下
することである。
【0018】
【発明が解決しようとする課題】前記従来技術におい
て、(1)〜(5)の処理は現状のRAID4、RAI
D5ではディスクアレイ制御装置で以下の手順で行う必
要がある。
【0019】(a):(1)、(2)の読み出し命令発
行。
【0020】(b):(1)、(2)の読み出しデータ
のバッファ取り込み。
【0021】(c):(3)の上位からの、書き込みデ
ータのバッファ取り込み。
【0022】(d):(3)の上位からの、書き込みデ
ータのデータディスク書き込み。
【0023】(e):(4)の新パリティデータの計
算。
【0024】(f):(5)の新パリティデータのパリ
ティディスク書き込み。
【0025】このため、書き込み処理の発生時に、パリ
ティの演算を書き込みデータおよびパリティデータのみ
について選択的に行ったとしても、書き込みデータと旧
データの入出力処理および部分パリティの演算、部分パ
リティと旧パリティの入出力処理および新パリティの演
算および当該新パリティの書き込み等に、ディスクアレ
イ制御装置の介入が必要であり、ディスクアレイ制御装
置の負担は依然として大きく、ライトペナルティによる
遅延時間も長い、という技術的課題がある。
【0026】本発明の目的は、ディスクアレイサブシス
テムに組み込んで使用される際に、ライトペナルティの
軽減を実現することが可能なディスク装置を提供するこ
とにある。
【0027】本発明の他の目的は、ディスクアレイサブ
システムに行列をなすように組み込んで使用される際
に、各行または列毎にデータ書き込み処理に伴うパリテ
ィデータの処理動作を並行して行うことで、スループッ
トを向上させることが可能なディスク装置を提供するこ
とにある。
【0028】本発明のさらに他の目的は、ライトペナル
ティに伴う遅延時間を短縮することが可能なディスクア
レイ技術を提供することにある。
【0029】本発明のさらに他の目的は、連続した書き
込み処理の発生時におけるライトペナルティに伴う遅延
時間を短縮することが可能なディスクアレイ技術を提供
することにある。
【0030】本発明のさらに他の目的は、複数のディス
ク装置を行列をなすように組み込んで使用する場合に、
各行または列毎にデータ書き込み処理に伴うパリティデ
ータの処理動作を並行して行うことで、スループットを
向上させることが可能なディスクアレイ技術を提供する
ことにある。
【0031】
【課題を解決するための手段】本発明のディスク装置で
は、内部にパリティ演算のための演算手段と、パリティ
演算の対象となるデータを保持するためのバッファを備
えた構成とする。また、外部との入出力チャネルを複数
備え、一方の入出力チャネルによって上位の制御装置と
の間のデータの授受を行い、他方の入出力チャネルは、
他のディスク装置との間における部分パリティ等のデー
タの授受を行う構成とする。
【0032】また、本発明のディスクアレイサブシステ
ムは、ディスクアレイを構成する複数のディスク装置の
各々が、パリティ演算のための演算手段と、演算対象の
データが格納されるバッファと、外部との間におけるデ
ータの授受を行うための複数の入出力チャネルを備えた
構成とし、各ディスク装置の一方の入出力チャネルは制
御装置と接続し、他方の入出力チャネルは複数のディス
ク装置間で接続した構成とする。
【0033】そして、データディスクは書き込み時に
は、当該書き込みデータのアドレスの旧データを読み出
し、一方の入出力チャネルで制御装置から転送されて来
た書き込みデータとの排他的論理和を計算し、仮パリテ
ィデータとして他方の入出力チャネルからパリティディ
スクへ転送する。また、パリティディスクは当該アドレ
スの旧パリティデータを読み出し、上記仮パリティデー
タとの排他的論理和を計算し新パリティデータとしてデ
ィスク媒体上へ書き込む。
【0034】このことにより、データ書き込み時のディ
スクアレイ制御装置の処理時間が、上位ホストコンピュ
ータからは短く見える。
【0035】すなわち、本発明では、ディスクアレイ制
御装置での上記(a)〜(f)の手順が、“下位データ
ディスクに対する書き込み命令を発行する”だけで済
み、新パリティデータの更新処理(旧データの読み出
し、旧パリティの読み出し、仮パリティの計算、仮パリ
ティの転送、新パリティの計算、新パリティのディスク
書き込み)は、下位のデータディスク、パリティディス
クで行うので、上位のホストコンピュータから見たディ
スクアレイシステムのデータ書き込み時の性能が向上す
る。
【0036】さらに、前述のように、特にRAID5の
装置は、パリティを分散させて、データディスクとパリ
ティディスクの複数のペアが同時にアクセスできるシス
テムとなっている。このため、本発明のように、オンラ
イン(一方の入出力チャネル)でデータ処理を行った
後、オフライン(他方の入出力チャネル)でパリティ更
新処理を行っている間にオンラインで別の処理中で無い
ディスク装置のペアとなるように制御装置で調整するこ
とにより、オフラインのパリティ更新を次のオンライン
処理とオーバラップさせられ、データ書き込み時の性能
が、本発明を用いない従来のディスクアレイ装置より向
上できる。
【0037】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
【0038】(実施の形態1)図1は、本発明のディス
ク装置の第1の実施の形態の構成の一例を示すブロック
図であり、図2は、その変形例を示すブロック図であ
る。また、図3は、図1および図2のディスク装置を用
いた、本発明のディスクアレイサブシステムの第1の実
施の形態の作用の一例を示す概念図であり、図4および
図5は、その変形例の作用の一例を示す概念図である。
【0039】また、図6、図7および図8は、図1に例
示されるディスク装置のデータディスクとしての作用の
一例を示す概念図であり、図9、図10および図11
は、パリティディスクとしての作用の一例を示す概念図
である。
【0040】また、図12、図13および図14は、図
2に例示されるディスク装置のデータディスクとしての
作用の一例を示す概念図であり、図15、図16および
図17は、パリティディスクとしての作用の一例を示す
概念図である。
【0041】また、図18は、図3のディスクアレイサ
ブシステムの構成の一例を示すブロック図であり、図1
9は、図4および図5のディスクアレイサブシステムの
構成の一例を示すブロック図であり、図20は、その作
用の一例を示すタイミングチャートである。
【0042】さらに、図37は、本発明の各実施の形態
におけるディスクアレイサブシステムの構成およびディ
スクアレイ制御装置の動作の内容の一例を、図38およ
び図39の考えられる従来の場合と比較対照して示す説
明図である。
【0043】まず、図3および図18に例示されるディ
スクアレイサブシステム(case−A)を説明する。
図18に例示されるように、本実施の形態のディスクア
レイサブシステムは、上位のホストコンピュータ10と
の間におけるコマンドやデータの授受を制御するディス
クアレイ制御装置20と、このディスクアレイ制御装置
20に接続された複数のディスク装置30を含んでい
る。複数のディスク装置30は、個別の入出力チャネル
40を介して、ディスクアレイ制御装置20に接続され
ている。
【0044】なお、この図4、図5および図19に例示
されるように、ディスクアレイ制御装置20に対して配
下の複数のディスク装置30を、デイジーチェイン接続
チャネル50を介して接続する構成も考えられる。
【0045】図18および図19のいずれにおいても、
ディスクアレイ制御装置20は、ホストインタフェース
21を介してホストコンピュータ10との間の情報を授
受するホストコンピュータインタフェース制御部22、
全体の制御を司るマイクロプロセッサ23、ホストコン
ピュータ10との間で授受されるデータを一時的に格納
するキャッシュメモリ25、キャッシュメモリ25の動
作を制御するキャッシュメモリ制御部24、入出力チャ
ネル40を介して、配下のディスク装置30との間にお
けるデータの授受を制御するI/Oチャネル制御部2
6、これらが接続されるシステムバス27等で構成され
ている。
【0046】一方、図1に例示されるように、本実施の
形態における個々のディスク装置30は、上位のディス
クアレイ制御装置20との間におけるインタフェースを
制御するホストインタフェース制御部31、上位側から
与えられるコマンドを解析するコマンド解釈部32、上
位側およびディスク媒体側との間におけるデータの授受
に介在するFIFOバッファ33,データセレクタ33
aおよびFIFOバッファ34,データセレクタ34
a、排他的論理和を演算するEOR回路35、EOR回
路35の演算対象のデータが格納されるバッファメモリ
36(Buffer−A),FIFOバッファ36a,
データセレクタ36bおよびバッファメモリ37(Bu
ffer−B)、FIFOバッファ37a,データセレ
クタ37b、データが格納されるディスク媒体38等を
含んでいる。
【0047】個々のディスク装置30は、通常のデー
タ、および他のディスク装置30に保持されたデータに
対応したパリティデータの双方が格納されており、デー
タディスクおよびパリティディスクの双方として機能す
る。
【0048】そして、上位のディスクアレイ制御装置2
0(host)からのコマンド(CMD)は、ホストイ
ンタフェース制御部31(IF Control)を介
し、コマンド解釈部32(Command Inter
preter)でコマンド解析され、制御信号(DAd
r,EAdr,WSW,RSW)を駆動する。これらの
制御信号において、DAdrは、バッファメモリ36、
37内のデータのポインタ、EAdrは、バッファメモ
リ37内のEx−ORデータのポインタ、WSWは、W
R時のデータセレクタ34a、36bの切り替え信号、
RSWは、RD時のデータセレクタ33a、37bの切
り替え信号、である。
【0049】RD/WRデータは、上位側、下位ディス
ク側のFIFOバッファ33およびFIFOバッファ3
4でバッファリングされる。バッファメモリ36(Bu
ffer−A)は上位のディスクアレイ制御装置20
側、バッファメモリ37(Buffer−B)は下位の
ディスク媒体38の側に位置する。
【0050】バッファメモリ36、37の入出力にもF
IFOバッファ36a、37aが設定されるが、前記の
上位/下位のFIFOバッファ33、34を共用して、
バッファリングしない単なるI/Oとしてもよい。
【0051】Buffer−A、Bの出力はEOR回路
35で「排他的論理和」を計算される。バッファメモリ
36、37の入力データ/出力データはデータセレクタ
36b、37bで切り分けられる。
【0052】図2に本実施の形態における図1のディス
ク装置の変形例(case−2)の構成を示す。
【0053】図1(case−1)と異なる点は、バッ
ファメモリの構成が、上位のディスクアレイ制御装置2
0(host)側のバッファメモリ36(Buffer
−H)、下位のディスク媒体38側のバッファメモリ3
7(Buffer−D)以外にEx−ORデータを格納
するバッファメモリ39(Buffer−E)およびこ
のバッファメモリ39に対応したFIFOバッファ39
aを備えていることである。但し、図1の場合も同様だ
が、「物理的に単一のバッファメモリの別アドレスにこ
れらの3つのバッファを論理的に位置づける」ことも可
能である。
【0054】以下、上述のような構成の図3および図1
8、図4、図5および図19の本実施の形態のディスク
アレイサブシステムおよびディスク装置の作用の一例を
説明する。
【0055】まず、図3のディスクアレイサブシステム
では、ディスクアレイ制御装置20は、データの書き込
みに際して、書き込み対象のディスク装置30(データ
ディスク#0)に書き込みデータを渡して、データ書き
込みを指示した後()、仮パリティを当該データディ
スク#0から読み出し()、パリティデータが格納さ
れているディスク装置30(パリティディスク#N)に
仮パリティデータを渡す()だけで、パリティの計算
には関与せず、実際のパリティの計算は、後述のよう
に、データディスク#0,パリティディスク#Nで行わ
れる。
【0056】すなわち、 (1)アドレス#nへの(Write命令)を受領した
ディスク装置30(データディスク#0)は、 (a)ディスク装置30内のバッファメモリ36に新デ
ータ(Dn1)を受領する。
【0057】(b)一方、ディスク媒体38上の、アド
レス#nの旧データ(Dn0)をバッファメモリ37上
に読み出す(この処理はバッファメモリ37の別番地に
事前に読み出しておいてもよいし、新データのバッファ
メモリ36への書き込みと同時並行して行ってもよ
い)。
【0058】(c)新データと旧データの排他的論理和
(exclusive−OR)をEOR回路35で計算
し、「仮パリティデータ(Dn0+1)」とし、バッフ
ァメモリ37に書き込む(この処理はバッファメモリ3
7への旧データのバッファ読み込みと同時並行して行っ
てもよい)。
【0059】(2)上位ディスクアレイサブシステムか
ら、「仮パリティデータ」の読み出し要求を受領したデ
ィスク装置#0は、 (a)「仮パリティデータ」を上位のディスクアレイ制
御装置20に転送する。
【0060】(3)アドレス#nへの(Write命
令)を受領したパリティディスク#Nは、 (a)ディスク装置内のバッファメモリ36に「仮パリ
ティデータ」を受領する。
【0061】(b)一方、ディスク媒体38上の、アド
レス#nの旧パリティデータ(DnP0)をバッファメ
モリ37に読み出す(この処理はバッファメモリ37に
事前に読み出しておいてもよいし、仮パリティデータの
バッファメモリ36への書き込みと同時並行して行って
もよい)。
【0062】(c)「仮パリティデータ」と旧パリティ
データの排他的論理和(exclusive−OR)を
EOR回路35で計算し、「新パリティデータ(Dn
P)」としてバッファメモリ37に書き込む(この処理
はバッファメモリ37への旧パリティデータのバッファ
読み込みと同時並行して行ってもよい)。
【0063】(d)「新パリティデータ」をディスク媒
体38上のアドレス#nに書き込む。
【0064】次に、図4によって、図3の変形例である
ディスクアレイサブシステム(case−B)の作用の
一例を示す。
【0065】この図4の場合、データの処理方式は、前
述の図3(case−A)とほぼ同様である。但し、デ
ィスクアレイ制御装置20とディスク装置30との間の
下位ディスク装置インタフェース(デイジーチェイン接
続チャネル50)が、複数のディスク装置30に共通で
あるため、データの読み出し時/書き込み時、いずれに
おいても、同時に発生するインタフェースのアクセス要
求は、優先度を決め「使用権の仲裁」が行われる。
【0066】次に、図5によって、図4の変形例である
ディスクアレイサブシステム(case−B)の作用を
説明する。
【0067】この図5の場合、前述の図3および図4の
実施例と異なるのは、上位のディスクアレイ制御装置2
0は、データの書き込みに際して、下記(1)のディス
ク装置#0への(Write命令)を発行するだけで済
むことである。これは、#0のデータディスクで得られ
た仮パリティデータをディスク装置30に共通なデイジ
ーチェイン接続チャネル50を介して、直接的に、#N
のパリティディスクに転送できるためである。すなわ
ち、 (1)アドレス#nへの(Write命令)を受領した
ディスク装置30(データディスク#0)は、 (a)ディスク装置30内のバッファメモリ36に新デ
ータ(Dn1)を受領する。
【0068】(b)一方、ディスク媒体38上の、アド
レス#nの旧データ(Dn0)をバッファメモリ37に
読み出す(この処理はバッファメモリの別番地に事前に
読み出しておいてもよいし、新データのバッファ書き込
みと同時並行して行ってもよい)。
【0069】(c)新データと旧データの排他的論理和
(exclusive−OR)をEOR回路35で計算
し、「仮パリティデータ(Dn0+1)」とし、バッフ
ァメモリ37に書き込む(この処理はバッファメモリ3
7への旧データのバッファ読み込みと同時並行して行っ
てもよい)。
【0070】(d)「仮パリティデータ」を上位ディス
クアレイサブシステム/下位ディスク装置共通インタフ
ェース(デイジーチェイン接続チャネル50)より、デ
ィスク装置30(パリティディスク#N)へ転送する。
【0071】(2)アドレス#nへの(パリティWri
te命令)を受領したディスク装置(パリティディスク
#N)は、 (a)ディスク装置30内のバッファメモリ36に「仮
パリティデータ」を受領する。
【0072】(b)一方、ディスク媒体38上の、アド
レス#nの旧パリティデータ(DnP0)を読み出す
(この処理はバッファメモリの別番地に事前に読み出し
ておいてもよいし、新パリティデータのバッファ書き込
みと同時並行して行ってもよい)。
【0073】(c)「仮パリティデータ」と旧パリティ
データの排他的論理和(exclusive−OR)を
EOR回路35で計算し、「新パリティデータ(Dn
P)」とし、バッファメモリ37に書き込む(この処理
はバッファメモリ37への旧パリティデータのバッファ
読み込みと同時並行して行ってもよい)。
【0074】(d)「新パリティデータ」をディスク媒
体38上のアドレス#nに書き込む。
【0075】上記のデータディスク#0が、仮パリティ
を転送するために、どのディスク装置が該当するパリテ
ィディスク#Nかを認識する手段としては、ディスクア
レイ制御装置20が書き込み命令の中で教える方法、あ
るいはRAID−5では各ディスク装置30間でパリテ
ィの保持を担うディスク装置30が順にシフトしていく
ことから、アドレスを(n+1)で割ったあまりと、デ
ィスク装置30自身のID番号から計算する方法、等が
考えられる。
【0076】以上のデータディスク#0およびパリティ
ディスク#Nとして機能する前述の図1に例示された構
成のディスク装置30(case−1)の動作を、図
6、図7、図8、および図9、図10、図11を参照し
てさらに詳細に説明する。
【0077】なお、図6、図7、図8はデータディスク
としての動作例を示し、図9、図10、図11はパリテ
ィディスクとしての動作例を示している。
【0078】図1(case−1)のディスク装置30
の場合、以下のコマンド〜により、データ書き込み
は実行される。
【0079】コマンド:新データをデータディスクへ
書き込む(図6および図7)。
【0080】コマンド:仮パリティデータをデータデ
ィスクから読み出す(図8)。
【0081】コマンド:仮パリティデータをパリティ
ディスクへ書き込む(図9、図10、図11)。
【0082】図6〜図7(コマンド)において、上位
のディスクアレイ制御装置20(Host)より、ホス
トインタフェース制御部31(IF Contro
l)、上位側のFIFOバッファ33を介し、上位Ho
st側のバッファメモリ36(Buffer−A)へ新
データ(Dn1)を書き込む(矢印A)。
【0083】同時に、下位のディスク装置30(Dis
k)より、下位ディスク側のFIFOバッファ34を介
し、下位側のバッファメモリ37(Buffer−B)
へ旧データ(Dn0)を書き込む(矢印B)。
【0084】次に、上位Host側のバッファメモリ3
6(Buffer−A)より、新データ(Dn1)を読
み出す(矢印C)と同時に、下位側のバッファメモリ3
7(Buffer−B)より旧データ(Dn0)を読み
出し(矢印D)、EOR回路35で「排他的論理和」を
計算し、下位側のバッファメモリ37(Buffer−
B)へ仮パリティデータ(Dn0+1)として格納され
る(矢印E)。
【0085】新データ(Dn1)は下位ディスク側のF
IFOバッファ34を介し、下位のディスク媒体38
(Disk)へ書き込まれる(矢印C)。
【0086】さらに、図8(コマンド)において、下
位側のバッファメモリ37(Buffer−B)より仮
パリティデータ(Dn0+1)を読み出し、上位側のF
IFOバッファ33、ホストインタフェース制御部31
(IF Control)、を介し、上位のディスクア
レイ制御装置20(Host)へ転送する(矢印F)。
【0087】以上が、データディスクとして機能する場
合の図1のディスク装置30の動作である。
【0088】一方、図9〜図11(コマンド)におい
て、パリティディスクとして機能する場合には、上位の
ディスクアレイ制御装置20(Host)より、ホスト
インタフェース制御部31(IF Control)、
上位側のFIFOバッファ33を介し、上位Host側
のバッファメモリ36(Buffer−A)へ仮パリテ
ィデータ(Dn0+1)を書き込む(矢印G)。
【0089】同時に、下位のディスク媒体38(Dis
k)より、下位ディスク側のFIFOバッファ34を介
し、下位側のバッファメモリ37(Buffer−B)
へ旧パリティデータ(DnP0)を書き込む(矢印
H)。
【0090】次に、上位Host側のバッファメモリ3
6(Buffer−A)より、仮パリティデータ(Dn
0+1)を読み出す(矢印I)と同時に、下位側のバッ
ファメモリ37(Buffer−B)より旧パリティデ
ータ(DnP0)を読み出し(矢印J)、EOR回路3
5で「排他的論理和」を計算し、下位側のバッファメモ
リ37(Buffer−B)へ新パリティデータ(Dn
P)として格納される(矢印K)。
【0091】その後、下位側のバッファメモリ37(B
uffer−B)より新パリティデータ(DnP)を読
み出し、下位ディスク側のFIFOバッファ34を介
し、下位のディスク媒体38(Disk)へ書き込まれ
る(矢印L)。
【0092】以上が、パリティディスクとして機能する
場合の図1のディスク装置30の動作である。
【0093】次に、図12、図13、図14、図15、
図16、図17を用いて、図2に例示されるバッファメ
モリを三つ備えたディスク装置30(case−2)の
動作を説明する。
【0094】なお、図12、図13、図14はデータデ
ィスクとしての動作例を示し、図15、図16、図17
はパリティディスクとしての動作例を示している。
【0095】図2(case−2)のディスク装置30
の場合、以下のコマンド〜により、データ書き込み
は実行される。
【0096】コマンド:新データをデータディスクへ
書き込む(図12、図13)。
【0097】コマンド:仮パリティデータをデータデ
ィスクから読み出す(図14)。
【0098】コマンド:仮パリティデータをパリティ
ディスクへ書き込む(図15、図16、図17)。
【0099】この図12、図13(コマンド)におい
て、前述の図6〜図7と異なる点は、新データ(Dn
1)を上位側のバッファメモリ36(Buffer−
H)から読み出し、旧データ(Dn0)を下位側のバッ
ファメモリ37(Buffer−D)から読み出し、E
OR回路35で「排他的論理和」を計算し、仮パリティ
データ(Dn0+1)として格納するのが、下位側のバ
ッファメモリ37(Buffer−D)ではなく、独立
したEx−OR格納用のバッファメモリ39(Buff
er−E)であることである(矢印E1)。
【0100】これにより、同一の下位側のバッファメモ
リ37(Buffer−D)上で、「旧データの読み出
し」と「Ex−ORデータの書き込み」を行うために、
下位側のバッファアクセスタイミングが図6〜図7では
厳しくなっていたのを緩和することができる。
【0101】さらに、図14(コマンド)において、
前述の図8と異なる点は、仮パリティデータ(Dn0+
1)を読み出すバッファメモリが、下位側のバッファメ
モリ37(Buffer−B)から、専用のEx−OR
格納用のバッファメモリ39(Buffer−E)とな
ったことである(矢印F1)。
【0102】一方、パリティディスク側の動作を示す図
15〜図17(コマンド)において、前述の図9〜図
11と異なる点は、仮パリティデータ(Dn0+1)を
上位側のバッファメモリ36(Buffer−H)から
読み出し、旧パリティデータ(DnP0)を下位側のバ
ッファメモリ37(Buffer−D)から読み出し、
EOR回路35で「排他的論理和」を計算し、新パリテ
ィデータ(DnP)として格納するのが、下位側のバッ
ファメモリ37(Buffer−D)ではなく、独立し
たEx−OR格納用のバッファメモリ39(Buffe
r−E)であることである(矢印K1)。このバッファ
メモリ39に書き込まれた新パリティデータ(DnP)
は任意のタイミングで、ディスク媒体38に格納される
(矢印L1)。
【0103】以上の本実施の形態のディスクアレイサブ
システムでは、図3および図4のように動作させる場
合、図20(a)のタイムチャートに例示されるよう
に、ディスクアレイ制御装置20は、データ書き込みに
伴う排他的論理和の計算を行う必要がなく、図1や図2
に例示される構成のディスク装置30に備えられたEO
R回路35で実行されるので、図20(b)に例示され
るように、従来の図38の構成の場合に比較して、デー
タ書き込み処理に伴って発生する遅延時間を短縮して、
ライトペナルティを軽減することができる。
【0104】また、図5のように、ディスク装置30の
間の仮パリティデータの授受を、ディスクアレイ制御装
置20を介さずに、デイジーチェイン接続チャネル50
を経由して、実行させることにより、ディスクアレイ制
御装置20は、データ書き込み時に、単に、下位の目的
のディスク装置30に対して書き込み命令を発行するだ
けで済み、従来の図39の場合よりもディスクアレイ制
御装置20の負荷を軽減することができる。
【0105】従って、連続したデータ書き込み処理にお
けるスループットの向上を実現することができる。
【0106】(実施の形態2)図21は、本発明のディ
スク装置の第2の実施の形態の構成の一例を示すブロッ
ク図である。また、図22は、図21のディスク装置を
用いた、本発明のディスクアレイサブシステムの第2の
実施の形態の作用の一例を示す概念図であり、図23
は、その変形例の作用の一例を示す概念図である。
【0107】また、図24、図25および図26は、図
21に例示されるディスク装置のデータディスクとして
の作用の一例を示す概念図であり、図27、図28およ
び図29は、パリティディスクとしての作用の一例を示
す概念図である。
【0108】また、図30は、図22のディスクアレイ
サブシステムの構成の一例を示すブロック図であり、図
31は、図23のディスクアレイサブシステムの構成の
一例を示すブロック図であり、図32および図33は、
その作用の一例を示すタイミングチャートである。
【0109】図21によって本実施の形態のディスク装
置(case−3)の構成を簡単に説明する。この図2
1の構成において、前述の図1(case−1)の構成
と異なる点は、上位インタフェースとして、上位側Ho
st側I/F−1、ディスク装置間I/F−2の二つを
備えていることである。
【0110】すなわち、本実施の形態のディスク装置7
0は、上位側のホストインタフェース制御部31(IF
Control)、FIFOバッファ33、データセ
レクタ33aと並列に、対ディスク装置用のデバイスイ
ンタフェース制御部71(IF Control)、F
IFOバッファ73およびデータセレクタ73aを備え
ている。
【0111】これに応じて、上位側のディスクアレイ制
御装置20からコマンド(CMD)には、ホストインタ
フェース制御部31およびデバイスインタフェース制御
部71のいずれの側を用いてデータの授受を行うかを切
り替えるための選択命令が含まれ、コマンド解釈部32
は、この選択命令から制御信号(ISW)を生成して、
データセレクタ33a、データセレクタ73a、データ
セレクタ34a、データセレクタ36bの切替動作を制
御する。
【0112】なお、特に図示しないが、図21のディス
ク装置70(case−3)と、図2のディスク装置3
0(case−2)を併合した構成、すなわち、バッフ
ァメモリを3面持ち、かつ、外部とのインタフェースを
複数本(2本)持つ構成を用いてもよい。
【0113】図24、図25、図26、および図27、
図28、図29を用いて、後述の図22および図23の
ディスクアレイサブシステムの構成に組み込まれる図2
1の本実施の形態のディスク装置70(case−3)
の動作を説明する。
【0114】前述のように、図24〜図26、および図
27〜図29において、前述の図6〜図8、図9〜図1
1と異なる点は、上位のディスクアレイ制御装置20
(Host)より、上位側のバッファメモリ36(Bu
ffer−A)へ新書き込みデータ(Dn1)を書き込
むための、ホストインタフェース(I/F−1)に対応
したホストインタフェース制御部31と、ディスク装置
70の間で仮パリティデータ(Dn0+1)を授受する
ためのデバイスインタフェース(I/F−2)に対応し
たデバイスインタフェース制御部71とが独立して存在
することである。
【0115】また、上位のディスクアレイ制御装置20
(Host)からは、データディスク#0への「Wri
te命令(WRDn1)」を出すだけで、パリティディ
スクへ#Nの「仮パリティの送出」を含めた以降の処理
は、データディスク#0とパリティディスク#Nにて行
われる。
【0116】以下、この実施の形態における図21のデ
ィスク装置70の動作を詳細に説明する。この図21の
ディスク装置70(case−3)の場合、以下のコマ
ンド〜により、データ書き込みは実行される。
【0117】コマンド:新データをデータディスクへ
書き込み、かつ仮パリティデータをパリティディスクへ
転送する(データディスク側の動作:図24〜図2
6)。
【0118】すなわち、図24のように、入出力チャネ
ル60(入出力チャネル80)から上位側のホストイン
タフェース制御部31を経由して到来する新書き込みデ
ータ(Dn1)をバッファメモリ36に書き込む(矢印
A)と同時に、ディスク媒体38から、バッファメモリ
37に旧データ(Dn0)を読み込む(矢印B)。
【0119】さらに、図25のように、バッファメモリ
36から読み出された新書き込みデータ(Dn1)をデ
ィスク媒体38に書き込むと同時に(矢印C)、読み出
された当該新書き込みデータ(Dn1)およびバッファ
メモリ37上の旧データ(Dn0)から(矢印D)、E
OR回路35で仮パリティデータ(Dn0+1)を計算
し、バッファメモリ37に書き込む(矢印E)。
【0120】さらに、図26のように、バッファメモリ
37上の仮パリティデータ(Dn0+1)を読み出し
て、デバイスインタフェース制御部71および入出力チ
ャネル61を介して、パリティディスクに送出する(矢
印F2)。
【0121】コマンド:仮パリティデータをパリティ
ディスクへ書き込む(パリティディスク側の動作:図2
7〜図29)。
【0122】すなわち、図27では、他のデータディス
クからデバイスインタフェース制御部71を経由して到
来する仮パリティデータ(Dn0+1)をバッファメモ
リ36に書き込む(矢印G2)と同時に、ディスク媒体
38から旧パリティデータ(DnP0)を読み出してバ
ッファメモリ37に格納する(矢印H)。
【0123】さらに、図28のように、バッファメモリ
36から仮パリティデータ(Dn0+1)を読み出し
(矢印I)、バッファメモリ37から旧パリティデータ
(DnP0)を読み出して(矢印J)、EOR回路35
で新パリティデータ(DnP)を計算し、バッファメモ
リ37に書き込む(矢印K)。
【0124】最後に、バッファメモリ37上の新パリテ
ィデータ(DnP)を、ディスク媒体38に書き出す
(矢印L)。
【0125】次に、図22および図30によって図21
の構成のディスク装置を用いたディスクアレイサブシス
テムの構成例(case−C)を説明する。
【0126】この図22のディスクアレイサブシステム
の構成で、図5の実施例と異なるのは、上位のディスク
アレイ制御装置20とのインタフェース(Interf
ace−1:入出力チャネル60)以外に、ディスク装
置間インタフェース(Interface−2:入出力
チャネル61)を有することである。
【0127】すなわち、このディスクアレイサブシステ
ムでは、ディスク装置として、図21に例示される構成
のディスク装置70を備えており、各ディスク装置70
において、一方のホストインタフェース制御部31は、
Interface−1:入出力チャネル60に接続さ
れ、他方のデバイスインタフェース制御部71は、In
terface−2:入出力チャネル61を介して、他
のディスク装置70のデバイスインタフェース制御部7
1に接続される構成となっている。
【0128】これにより、「仮パリティデータ」をパリ
ティディスクへ(Interface−2:入出力チャ
ネル61)を介して転送する間も、独立した上位側のデ
ィスクアレイ制御装置20とのインタフェース(Int
erface−1:入出力チャネル60)を介し、当該
データディスク、あるいは、当該パリティディスク以外
のディスク装置70をアクセスすることが可能となる。
【0129】また、図32の(a)に例示されるよう
に、ディスクアレイ制御装置20は、データ書き込み命
令を下位の目的のディスク装置70に発行するだけで、
仮パリティのディスク装置70間の授受は、装置間のイ
ンタフェースである入出力チャネル61を経由して行わ
れるので、図32の(b)の従来の図39に例示した場
合のように、ディスクアレイ制御装置20が排他的論理
和の計算や旧データ、旧パリティの入出力に介入する場
合に比較して、ディスクアレイ制御装置20の負荷を大
幅に軽減することができる。
【0130】図23および図31に本実施の形態のディ
スクアレイサブシステムの変形例(case−D)を示
す。この図23および図31の構成が、図22と異なる
のは、上位のディスクアレイ制御装置20とのインタフ
ェース(Interface−1)が、各ディスク装置
70と、1対1となるように、入出力チャネル80が設
けられ、ディスク装置70の間は入出力チャネル81に
よって接続されていることである。
【0131】これにより、特定の上位側のディスクアレ
イ制御装置20とのインタフェース(Interfac
e−1:入出力チャネル80)を介して特定のデータデ
ィスク(ディスク装置70)をアクセスしてデータ転送
を行う間も、当該ディスク装置70以外の他のディスク
装置70を当該ディスク装置70に対応して設けられた
他の入出力チャネル80(Interface−1)を
介してアクセスすることが可能となる。
【0132】すなわち、図23および図33に例示され
るように、ディスクアレイ制御装置20は、複数の書き
込み命令(WRDn1,WRDx1,WRDy1)を連
続して発行することが可能になり、データ書き込み処理
におけるライトペナルティの軽減およびスループットの
向上が可能になる。
【0133】(実施の形態3)図34は、本発明の第3
の実施の形態であるディスクアレイサブシステム(ca
se−E)の構成および作用の一例を示す概念図であ
る。
【0134】この図34の場合、複数のディスク装置7
0を、(M+1)行×(N+1)列のマトリックスを構
成するように配置している。各列#0〜#Nの各々に属
するディスク装置70(#00〜#0M,...,#N
0〜#NM)は、ディスクアレイ制御装置20に設けら
れた複数のI/Oチャネル制御部26(Ch#0〜Ch
#N)に対しては各列(Row)毎に共通の入出力チャ
ネル80aを介してホストインタフェース制御部31が
接続され、各行#0〜#Mに属するディスク装置70
(#00〜#N0,...,#0M〜#NM)は、ディ
スク装置間の共通の入出力チャネル81aを介してデバ
イスインタフェース制御部71が接続されている。
【0135】すなわち、上位のディスクアレイ制御装置
20とのインタフェース(Interface−1)が
(N+1)本(=チャネル:(Row)Ch#0〜
N)、ディスク装置間インタフェース(Interfa
ce−2)が(M+1)本(=カラム:Column#
0〜M)、で構成される。
【0136】これにより、上位のディスクアレイ制御装
置20は、チャネル(Row)毎/カラム毎にデータ書
き込み等のアクセスを分散することにより、それぞれの
インタフェース(Interface−1(入出力チャ
ネル80a)/Interface−2(入出力チャネ
ル81a))が競合しないように、同時アクセスが可能
となる。
【0137】例えば、Ch#0がディスク装置#00を
アクセスする間、Ch#1では、競合しないColum
#1上のディスク装置#11をアクセスする。
【0138】Ch#2では、競合しないColum#2
上のディスク装置#22をアクセスする。
【0139】 : : 通常、シーケンシャルアクセスの場合、#00、#1
0、#20....#N0、および#01、#11、#
21....#N1、のようにディスク装置70間でも
論理アドレス付けするが、本実施の形態の場合には、#
00、#11、#22....#NN、#10、#2
1、#32、とディスク装置70間で論理アドレス付け
する。これにより、データ書き込み命令等が発行される
複数の入出力チャネル80aの相互間、および仮パリテ
ィデータが授受される複数の入出力チャネル81aの相
互間、等のインタフェース上で競合が発生せず、各ディ
スク装置70に複数のホストインタフェース制御部31
およびデバイスインタフェース制御部71を並列に設け
た構成をより有効に活用できることとなる。
【0140】なお、図34のように複数のディスク装置
70を、入出力チャネル80aおよび入出力チャネル8
1aによってマトリックス状に接続する方法としては、
通常のSCSIインタフェース等に限らず、たとえば、
図35に例示されるようなSSA(Serial Storage Arc
hitecture )や、図36に例示されるような、FC−A
L(Fiber Channel Arbitrated Loop )等のより高速な
シリアルSCSIインタフェースを用いることができ
る。その場合、ディスクアレイ制御装置20のI/Oチ
ャネル制御部26は、シリアルSCSIコントローラ
(イニシエータ)で構成される。
【0141】同様に、図4、図5、図22、図23等の
ように、複数のディスク装置30やディスク装置70を
接続するインタフェースとしても、シリアルSCSIイ
ンタフェースを用いることができることは、いうまでも
ない。
【0142】このように、本実施の形態の方式を用いれ
ば、RAID5方式のディスクアレイ装置において、デ
ータ書き込み時の、ライトペナルティによる遅延時間を
短縮できる。特に、RAID5方式において、本実施の
形態のように、オフライン処理(下位ディスク装置が内
部処理としてパリティ更新処理を実行)と、オンライン
処理(ディスクアレイ制御装置に対するインタフェース
上でのデータ読み出し/書き込み処理)とが、複数のデ
ータディスクでパイプライン処理として実行できるよう
にアプリケーションを組むことにより、更にシステム性
能が向上する。
【0143】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0144】たとえば、ディスクアレイ制御装置の構成
としては、前述の各実施の形態に例示したものに限定さ
れない。また、ディスクアレイ制御装置とディスク装
置、および複数のディスク装置の間を接続する入出力イ
ンターフェイスとしては、SCSIやシリアルSCSI
等に限らず、任意の入出力インターフェイスを用いるこ
とができる。
【0145】
【発明の効果】本発明のディスク装置によれば、ディス
クアレイサブシステムに組み込んで使用される際に、ラ
イトペナルティの軽減を実現することができる、という
効果が得られる。
【0146】本発明のディスク装置によれば、ディスク
アレイサブシステムにマトリックスをなすように組み込
んで使用される際に、各行または列毎にデータ書き込み
処理に伴うパリティデータの処理動作を並行して行うこ
とで、スループットを向上させることができる、という
効果が得られる。
【0147】本発明のディスクアレイサブシステムによ
れば、ライトペナルティに伴う遅延時間を短縮すること
ができる、という効果が得られる。
【0148】また、連続した書き込み処理の発生時にお
けるライトペナルティに伴う遅延時間を短縮することが
できる、という効果が得られる。
【0149】本発明のディスクアレイサブシステムによ
れば、複数のディスク装置を行列をなすように組み込ん
で使用する場合に、各行または列毎にデータ書き込み処
理に伴うパリティデータの処理動作を並行して行うこと
で、スループットを向上させることができる、という効
果が得られる。
【図面の簡単な説明】
【図1】本発明のディスク装置の第1の実施の形態の構
成の一例を示すブロック図である。
【図2】本発明のディスク装置の第1の実施の形態の変
形例を示すブロック図である。
【図3】図1および図2のディスク装置を用いた、本発
明のディスクアレイサブシステムの第1の実施の形態の
作用の一例を示す概念図である。
【図4】本発明のディスクアレイサブシステムの第1の
実施の形態の変形例の作用の一例を示す概念図である。
【図5】本発明のディスクアレイサブシステムの第1の
実施の形態の変形例の作用の一例を示す概念図である。
【図6】図1に例示されるディスク装置のデータディス
クとしての作用の一例を示す概念図である。
【図7】図1に例示されるディスク装置のデータディス
クとしての作用の一例を示す概念図である。
【図8】図1に例示されるディスク装置のデータディス
クとしての作用の一例を示す概念図である。
【図9】図1に例示されるディスク装置のパリティディ
スクとしての作用の一例を示す概念図である。
【図10】図1に例示されるディスク装置のパリティデ
ィスクとしての作用の一例を示す概念図である。
【図11】図1に例示されるディスク装置のパリティデ
ィスクとしての作用の一例を示す概念図である。
【図12】図2に例示されるディスク装置のデータディ
スクとしての作用の一例を示す概念図である。
【図13】図2に例示されるディスク装置のデータディ
スクとしての作用の一例を示す概念図である。
【図14】図2に例示されるディスク装置のデータディ
スクとしての作用の一例を示す概念図である。
【図15】図2に例示されるディスク装置のパリティデ
ィスクとしての作用の一例を示す概念図である。
【図16】図2に例示されるディスク装置のパリティデ
ィスクとしての作用の一例を示す概念図である。
【図17】図2に例示されるディスク装置のパリティデ
ィスクとしての作用の一例を示す概念図である。
【図18】図3のディスクアレイサブシステムの構成の
一例を示すブロック図である。
【図19】図4および図5のディスクアレイサブシステ
ムの構成の一例を示すブロック図である。
【図20】(a)は、図3のディスクアレイサブシステ
ムの作用の一例を示し、(b)は従来のディスクアレイ
サブシステムの作用の一例を示すタイミングチャートで
ある。
【図21】本発明のディスク装置の第2の実施の形態の
構成の一例を示すブロック図である。
【図22】図21のディスク装置を用いた、本発明のデ
ィスクアレイサブシステムの第2の実施の形態の作用の
一例を示す概念図である。
【図23】本発明のディスクアレイサブシステムの第2
の実施の形態の変形例の作用の一例を示す概念図であ
る。
【図24】図21に例示されるディスク装置のデータデ
ィスクとしての作用の一例を示す概念図である。
【図25】図21に例示されるディスク装置のデータデ
ィスクとしての作用の一例を示す概念図である。
【図26】図21に例示されるディスク装置のデータデ
ィスクとしての作用の一例を示す概念図である。
【図27】図21に例示されるディスク装置のパリティ
ディスクとしての作用の一例を示す概念図である。
【図28】図21に例示されるディスク装置のパリティ
ディスクとしての作用の一例を示す概念図である。
【図29】図21に例示されるディスク装置のパリティ
ディスクとしての作用の一例を示す概念図である。
【図30】図22のディスクアレイサブシステムの構成
の一例を示すブロック図である。
【図31】図23のディスクアレイサブシステムの構成
の一例を示すブロック図である。
【図32】(a)は図22のディスクアレイサブシステ
ムの作用の一例を示し、(b)は、従来のディスクアレ
イサブシステムの作用の一例を示すタイミングチャート
である。
【図33】図23のディスクアレイサブシステムの作用
の一例を示すタイミングチャートである。
【図34】本発明の第3の実施の形態であるディスクア
レイサブシステムの構成および作用の一例を示す概念図
である。
【図35】本発明の第3の実施の形態であるディスクア
レイサブシステムの変形例を示すブロック図である。
【図36】本発明の第3の実施の形態であるディスクア
レイサブシステムの変形例を示すブロック図である。
【図37】本発明の実施の形態におけるディスクアレイ
サブシステムの構成およびディスクアレイ制御装置の動
作の内容の一例を、従来の場合と比較対照してしめす説
明図である。
【図38】考えられる一般的なRAID5(case−
1)の構成の一例を示す概念図である。
【図39】他の考えられる一般的なRAID5(cas
e−2)の構成の一例を示す概念図である。
【符号の説明】
10…ホストコンピュータ、20…ディスクアレイ制御
装置、21…ホストインタフェース、22…ホストコン
ピュータインタフェース制御部、23…マイクロプロセ
ッサ、24…キャッシュメモリ制御部、25…キャッシ
ュメモリ、26…I/Oチャネル制御部(入出力ポー
ト)、27…システムバス、30…ディスク装置、31
…ホストインタフェース制御部(第1の入出力チャネ
ル)、32…コマンド解釈部、33…FIFOバッフ
ァ、33a…データセレクタ、34…FIFOバッフ
ァ、34a…データセレクタ、35…EOR回路、36
…バッファメモリ(第1のバッファ)、36a…FIF
Oバッファ、36b…データセレクタ、37…バッファ
メモリ(第2のバッファ)、37a…FIFOバッフ
ァ、37b…データセレクタ、38…ディスク媒体、3
9…バッファメモリ(第3のバッファ)、39a…FI
FOバッファ、40…入出力チャネル、50…デイジー
チェイン接続チャネル、60…入出力チャネル(第1の
入出力チャネル)、61…入出力チャネル(第2の入出
力チャネル)、70…ディスク装置、71…デバイスイ
ンタフェース制御部(第2の入出力チャネル)、73…
FIFOバッファ、73a…データセレクタ、80,8
0a…入出力チャネル(第1の入出力チャネル)、8
1,81a…入出力チャネル(第2の入出力チャネ
ル)。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 外部との間で授受されるデータが格納さ
    れるディスク媒体と、外部から到来する第1のデータを
    保持する第1のバッファと、前記ディスク媒体から読み
    出される第2のデータを保持する第2のバッファと、前
    記第1および第2のデータの排他的論理和を演算する演
    算手段とを含むことを特徴とするディスク装置。
  2. 【請求項2】 請求項1記載のディスク装置において、
    外部との間で前記データの授受を行う少なくとも二つの
    第1および第2の入出力チャネルを備え、複数の前記デ
    ィスク装置によってディスクアレイサブシステムを構成
    する場合、前記第1の入出力チャネルは上位装置との間
    における前記データの授受に用いられ、前記第2の入出
    力チャネルは、同一のパリティグループに属する他の前
    記ディスク装置との間における前記データの授受に用い
    られることを特徴とするディスク装置。
  3. 【請求項3】 請求項1記載のディスク装置において、
    前記演算手段によって得られた前記排他的論理和を格納
    する第3のバッファを備えたことを特徴とするディスク
    装置。
  4. 【請求項4】 ホストコンピュータとの間におけるデー
    タの授受を制御する制御装置と、前記制御装置の配下に
    接続される複数のディスク装置とからなり、個々の前記
    ディスク装置は、前記データが格納されるデータディス
    クおよび前記データから生成されるパリティデータが格
    納されるパリティディスクの少なくとも一方として機能
    するようにしたディスクアレイサブシステムであって、 個々の前記ディスク装置は、前記制御装置との間におけ
    る情報の授受を行う第1の入出力チャネルと、他の前記
    ディスク装置との間における情報の授受を行う第2の入
    出力チャネルと、外部から到来する前記情報が格納され
    る第1のバッファと、自装置内のディスク媒体から読み
    出される旧データが格納される第2のバッファと、前記
    第1および第2のバッファ上のデータの排他的論理和を
    演算する演算手段とを備え、 前記制御装置から前記ディスク装置への前記データの書
    き込みに際して、 前記データディスクとして機能する前記ディスク装置
    は、前記第1の入出力チャネルから到来する書き込みデ
    ータを前記第1のバッファ上に格納した時点で前記制御
    装置に書き込み終了を報告し、前記書き込みデータに対
    応した前記ディスク媒体上の前記旧データを前記第2の
    バッファ上に読み出し、前記書き込みデータと前記旧デ
    ータの排他的論理和を計算し、仮パリティデータとして
    前記第2の入出力チャネルを経由して前記パリティディ
    スクとして機能する前記ディスク装置へ送出する動作を
    行い、 前記パリティディスクとして機能する前記ディスク装置
    は、前記第2の入出力チャネルを介して到来する前記仮
    パリティデータを前記第1のバッファに格納し、前記仮
    パリティデータに対応した前記ディスク媒体上の旧パリ
    ティデータを前記第2のバッファに読み出し、前記仮パ
    リティデータと前記旧パリティデータの排他的論理和を
    計算して新パリティデータを生成し、前記新パリティデ
    ータを前記ディスク媒体または前記第2のバッファに書
    き込む動作を行う、ことを特徴とするディスクアレイサ
    ブシステム。
  5. 【請求項5】 請求項4記載のディスクアレイサブシス
    テムにおいて、 前記制御装置は、前記データディスクおよび前記パリテ
    ィディスクの少なくとも一方として機能する前記ディス
    ク装置が接続される複数の入出力ポートを備え、 複数の前記ディスク装置は、個々の前記入出力ポートに
    対応した列および前記列を横断する行からなる行列をな
    して配置され、 個々の前記列に属する複数の前記ディスク装置は前記第
    1の入出力チャネルを介して共通に前記制御装置の前記
    入出力ポートに接続され、 前記各行に属する複数の前記ディスク装置は、前記第2
    の入出力チャネルを介して相互に接続され、 前記制御装置は、異なる複数の前記入出力ポートおよび
    前記第1の入出力チャネルを介して、連続した書き込み
    データを、異なる前記行に属する複数の前記ディスク装
    置に分散して格納し、前記各行内の前記ディスク装置間
    における前記第2の入出力チャネルを介した前記仮パリ
    ティデータの授受が、複数の前記行に属する前記ディス
    ク装置群間で並行して行われるようにしたことを特徴と
    するディスクアレイサブシステム。
JP8096326A 1996-04-18 1996-04-18 ディスク装置およびディスクアレイサブシステム Pending JPH09282238A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8096326A JPH09282238A (ja) 1996-04-18 1996-04-18 ディスク装置およびディスクアレイサブシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8096326A JPH09282238A (ja) 1996-04-18 1996-04-18 ディスク装置およびディスクアレイサブシステム

Publications (1)

Publication Number Publication Date
JPH09282238A true JPH09282238A (ja) 1997-10-31

Family

ID=14161893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8096326A Pending JPH09282238A (ja) 1996-04-18 1996-04-18 ディスク装置およびディスクアレイサブシステム

Country Status (1)

Country Link
JP (1) JPH09282238A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015518186A (ja) * 2012-04-27 2015-06-25 株式会社日立製作所 ストレージシステム及びストレージ制御装置
WO2015145724A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 ストレージシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015518186A (ja) * 2012-04-27 2015-06-25 株式会社日立製作所 ストレージシステム及びストレージ制御装置
US9262265B2 (en) 2012-04-27 2016-02-16 Hitachi, Ltd. Storage system and storage control apparatus
WO2015145724A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 ストレージシステム
US9778986B2 (en) 2014-03-28 2017-10-03 Hitachi, Ltd. Storage system

Similar Documents

Publication Publication Date Title
US5720027A (en) Redundant disc computer having targeted data broadcast
US5418925A (en) Fast write I/O handling in a disk array using spare drive for buffering
JP2777301B2 (ja) 記録装置
KR100793224B1 (ko) Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법
EP0594464B1 (en) Method of operating a data storage disk array
EP0646858B1 (en) Data storage system architecture
US20050071552A1 (en) Disk array control device with an internal connection system for efficient data transfer
US5867640A (en) Apparatus and method for improving write-throughput in a redundant array of mass storage devices
US5875460A (en) Disk array subsystem and data generation method therefor
EP0825534B1 (en) Method and apparatus for parity block generation
KR19980021384A (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JPH10133828A (ja) マルチメディアサーバ用ディスクアレイ装置
US5636358A (en) Method and apparatus for transferring data in a storage device including a dual-port buffer
EP0875831A2 (en) Speed enhancement of disk systems with redundancy-protected data via disk data placement method
JPH09282238A (ja) ディスク装置およびディスクアレイサブシステム
JP3411451B2 (ja) ディスクアレイ装置
JPH08234928A (ja) 情報記憶制御装置
JP2917188B2 (ja) アレイ型ディスクシステムにおける書き込み制御方式
JP2733189B2 (ja) ディスクアレイ装置の入出力制御方法
JP3250859B2 (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置
JP4708669B2 (ja) パス冗長化装置及び方法
KR100423812B1 (ko) 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법
JP2778268B2 (ja) 記録媒体制御装置
JPH1166693A (ja) アレイディスク処理装置