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

ディスクアレイ装置

Info

Publication number
JPH05324206A
JPH05324206A JP4128975A JP12897592A JPH05324206A JP H05324206 A JPH05324206 A JP H05324206A JP 4128975 A JP4128975 A JP 4128975A JP 12897592 A JP12897592 A JP 12897592A JP H05324206 A JPH05324206 A JP H05324206A
Authority
JP
Japan
Prior art keywords
data
parity
disk
drive
read
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
JP4128975A
Other languages
English (en)
Inventor
Takeshi Obata
健 小幡
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 JP4128975A priority Critical patent/JPH05324206A/ja
Priority to PCT/JP1993/000663 priority patent/WO1993023803A1/ja
Priority to DE4345320A priority patent/DE4345320B4/de
Priority to DE4392143A priority patent/DE4392143C1/de
Publication of JPH05324206A publication Critical patent/JPH05324206A/ja
Priority to US08/746,154 priority patent/US5787460A/en
Priority to US09/031,004 priority patent/US5954822A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明は新規なRAID4,RAID5の規
格に準拠したディスクアレイ装置に関し、データ更新処
理をより高速にすることを目的とする。 【構成】 マイクロプロセッサ101は、ホスト機器か
らデータ読み込み要求を受け取ると、該当ディスクコン
トローラCNTLi (i=1,2,・・・n),CNT
j (j≠i;j=1,2,・・・n)を介し、要求さ
れた該当データとその該当データに係わる関連パリティ
データを該当ドライブdri ,drj から読み出しキャ
ッシュメモリ104に格納する。マイクロプロセッサ1
01は、続いてホスト機器から上記該当データ(旧デー
タ)の更新データの書き込み要求を受け取ると、パリテ
ィ生成部103に上記更新データ及びキャッシュメモリ
104から読み出した上記旧データ並びに上記関連パリ
ティデータ(旧パリティデータ)を転送する。これを受
けて、パリティデータ生成部103は新パリティデータ
を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ランダムアクセス可能
な複数のディスクがアレイ状に配置されて成るディスク
アレイ装置におけるデータ更新時のパリティデータの書
込み方式に関する。
【0002】近年、複数のユーザが外部記憶装置、プリ
ンタ等の高価な周辺装置やファイル等の資源(リソー
ス;resource)を共有して、資源の有効利用化
を図るためにLAN(ローカル・エリア・ネットワー
ク;Local Area Network)の構築が急速に普及しつつあ
る。
【0003】このようなLANにおいて、資源(res
ource)の共有という点で優れているのがクライア
ント/サーバ・モデルである。このクライアント/サー
バ・モデルとは、サービスを要求するクライアント装置
とサービスを提供するサーバ装置とをLAN回線により
接続し、クライアント装置とサーバ装置間で相互通信を
行うことにより、分散処理システムを実現するものであ
る。
【0004】クライアント/サーバ・モデルにおける代
表的なサーバ装置としては、プリントサーバ装置,ター
ミナルサーバ装置,及びディスクサーバ装置などがあ
る。これらのサーバ装置の中で、ディスクサーバ装置
は、LAN回線に接続された各クライアント装置に対し
大容量の外部記憶装置を提供するノードである。このデ
ィスクサーバ装置には、大量のデータ管理やデータ管理
の高い信頼性が要求される。
【0005】このような要求に対処するためのディスク
サーバ装置に接続される大容量の外部記憶装置として、
磁気ディスク装置や光磁気ディスク装置等のランダム・
アクセス可能で書き換え可能なディスク装置を有するド
ライブ(ディスク・ドライブ)がアレイ状に配置された
装置(以後、ディスクアレイ装置と表現する)が提供さ
れるようになってきている。
【0006】このディスクアレイ装置は、アレイ状に配
置された各ドライブに格納データのパリティデータを分
散させて記憶させることにより、誤りデータの検出やデ
ィスク・クラッシュ時のデータ復旧が可能になってい
る。このような冗長検査(redunda-ncy check )機能を
有する大容量で低価格のディスクアレイ装置に対する需
要は、今後、益々高まってくるものと思われる。
【0007】
【従来の技術】上述したような冗長検査機能を有するデ
ィスクアレイ装置の規格の代表的なものとしては、アメ
リカ合衆国のカリフォルニア大学バークレー校の研究員
によって規格化されたRAID1(Redundant Array of
Inexpensive Disks 1 ),RAID3,RAID4及
びRAID5等がある。
【0008】RAID1は、ディスクを二重化するもの
である。RAID3は、1つのトランスザクションデー
タをドライブ数分に分割して、それらの分割したデータ
を並行処理により各ドライブのディスクに同時に格納す
る方式である。
【0009】RAID4は、複数のトランザクションデ
ータを同時に各ドライブに分散して格納する方式であ
り、各ドライブ内のディスクの同一物理セクタに格納さ
れるデータに対してパリティデータを生成し、そのパリ
ティデータをパリティデータ格納専用に設けられたドラ
イブ内のディスクの上記と同一の物理セクタに格納する
方式であり、各ドライブは独立に制御可能であるため、
各ドライブからデータを同時に複数読み出しすることが
可能である。
【0010】図7に、上記RAID4における各ドライ
ブ内のディスク上のデータ格納方式の一例を示す。同図
に示す例は、データ格納用のドライブを4台(ドライブ
dr1 ,ドライブdr2 ,ドライブdr3 ,ドライブd
4 )、パリティデータ格納用のドライブを1台(ドラ
イブdr5 )を有する冗長ディスクアレイ装置の例であ
る。
【0011】同図において、a0 〜a5 ,b0 〜b5
0 〜c5 ,d0 〜d5 は、それぞれトランザクション
データA,B,C,Dのセクタデータである。同図に示
すように、パリティデータ格納専用のドライブdr5
ディスクのセクタn(n0=0,1,2・・・)には、
ドライブdr1 ,dr2 ,dr3 ,dr4 のディスクの
セクタnに格納されているトランザクションデータA,
B,C,Dのデータa0 ,b0 ,c0 ,d0 から生成さ
れるパリティデータP0 が格納される。同様にして、ド
ライブdr5 のセクタn+i(i=1,2,・・・5)
には、トランザクションデータA,B,C,Dのデータ
ai,bi,ci,diから生成されるパリティデータ
Piが格納される。
【0012】RAID5は、RAID4と同様に各ドラ
イブからデータを同時複数に読み出すことが可能である
が、パリティデータ格納用のドライブは固定ではなく、
パリティデータは同一グループ内の各ドライブに分散し
て格納される。
【0013】図8に、RAID5における各ドライブ内
のディスク上のデータ格納方式の一例を示す。同図に示
す例は、5台のドライブ(dr1 ,dr2 ,dr3 ,d
4 ,dr5)を有する冗長ディスクアレイ装置の例で
ある。
【0014】同図に示すように、トランザクションデー
タA(a0 〜a4 ),B(b0 〜b 4 ),C(c0 〜c
4 ),D(d0 〜d4 ),E(e0 〜e4 )は、それぞ
れドライブdr1 ,dr2 ,dr3 ,dr4 ,dr5
分散して個別に格納されるが、ドライブdr1 〜dr5
の同一物理セクタに格納されるトランザクションデータ
A,B,C,D,Eの各データを基に生成されるパリテ
ィデータP0 (セクタデータa0 ,b0 ,c0 ,d0
ら生成されるパリティデータ)、パリティデータP
1 (セクタデータa1 ,b1 ,c1 ,e0 から生成され
るパリティデータ)、パリティデータP2 (セクタデー
タa2 ,b2 ,d1 ,e1 から生成されるパリティデー
タ)、パリティデータP3 (セクタデータa3 ,c2
2 ,e2 から生成されるパリティデータ)、パリティ
データP4 (セクタデータb3 ,c3,d3 ,e3 から
生成されるパリティデータ)、及びパリティデータP5
(セクタデータa4 ,b4 ,c4 ,d4 から生成される
パリティデータ)は、それぞれドライブdr5 ,ドライ
ブdr4 ,ドライブdr3 ,ドライブdr2 ,ドライブ
dr1 ,及びドライブdr5 に分散して格納される。
【0015】
【発明が解決しようとする課題】上記RAID4,RA
ID5は、上記RAID1,RAID3よりもデータの
信頼性は高いという利点を有するものの、いずれかのド
ライブでセクタデータの更新が行われる毎に新たにパリ
ティデータを生成し、そのパリティデータを当該ドライ
ブの当該セクタに書き込む処理が必要であるため、ディ
スクに対するアクセスが遅いという欠点があった。
【0016】この欠点を、図9の模式図及び図10の動
作タイミングチャートを参照しながらより具体的に説明
する。図9は、ドライブdr3 のあるセクタに格納され
るデータをデータCからデータC′に更新する場合に、
ディスクアレイ装置内に設けられたパリティ生成部(パ
リティデータ生成部)30によりパリティデータを生成
する際の動作並びにそのパリティデータの書き込み動作
を説明する模式図であり、図10はその動作のタイミン
グチャートを示す図である。
【0017】ディスクアレイ装置内の特に図示していな
いマイクロプロセッサは、ホスト機器からドライブdr
3 に対してディスクのあるセクタにデータC′を書き込
む旨のWRITE要求を受け取ると、その更新データ
C′をパリティ生成部30に送ると共に、ドライブdr
3 のディスクの上記セクタから更新すべきデータC(旧
データC)を読み出し(図10の参照)、さらに続い
てドライブdr5 のディスクの上記セクタから当該パリ
ティデータP(旧パリティデータP)を読み出し(図1
0の参照)、共にパリティ生成部30に転送する。
【0018】パリティ生成部30は、上記転送されてき
た旧データC,C′,及び旧パリティデータPから、新
たなパリティデータP′を生成する。パリティ生成部3
0は、このパリティデータP′を、下記の式(1)で示
す論理演算を実行することにより生成する。
【0019】 新パリティデータP′=(旧データC.XOR.更新デ
ータC′).XOR.(旧パリティデータP)・・・
(1) そして、上記マイクロプロセッサによりドライブdr3
のディスクの上記セクタに更新データC′が、ドライブ
dr5 のディスクの上記セクタに新パリティデータP′
が書き込まれる(図10の,参照)。
【0020】このように、RAID4,RAID5で
は、1回のデータ更新(データC→データC′)に、該
当ディスクに対する更新データ(データC′)の書き込
み動作以外に、他の該当ディスクに対する新パリティデ
ータ(新パリティデータP′)の書き込み動作に加え、
2回のさらに他の該当ディスクからの読み出し動作(旧
データC及び旧パリティデータPの読み出し)を行う必
要があるため、1回のデータ更新毎にディスクに対し4
回のアクセスが必要となる。
【0021】このため、RIDI4,RAID5の規格
に準拠したディスクアレイ装置は、ディスクに対する高
い信頼性があるものの、データの入出力性能が低いとい
う欠点があった。
【0022】本発明は、RAIDI4,RAIDI5の
規格に準拠したディスクアレイ装置において、そのデー
タの入出力性能を向上させることを目的とする。
【0023】
【課題を解決するための手段】図1は、本発明の原理ブ
ロック図である。本発明は、少なくも1台のランダムア
クセス可能なディスク装置を有するドライブ1−1,1
−2,・・・1−Nが複数個アレイ状に配置され、それ
らの各ドライブ1−1,1−2,・・・1−Nに対する
データの入出力制御を行うディスク制御装置2−1,2
−2,・・・2−Nが、それらの各ドライブ1−1,1
−2,・・・1−N毎に個別に設けられた、ディスクア
レイ装置を前提とする。
【0024】データ読み出し手段3は、ホスト機器から
データの読み出し要求が送られてきたときに、該当ディ
スク制御装置2−i(i=1,2,・・・N),2−j
(j≠i;j=1,2,・・・N)を介して、該当ドラ
イブ1−i(i=1,2,・・・N),1−j(j≠
i;j=1,2,・・・N)から読み出し要求のあった
該当データとその該当データに係わる関連パリティデー
タとを読み出す。
【0025】このデータ読み出し手段3は、例えばマイ
クロプロセッサ等から成る。記憶手段4は、データ読み
出し手段3により読み出された上記該当データと上記関
連パリティデータを記憶する。
【0026】この記憶手段4は、例えば高速アクセス可
能なキャッシュメモリから成り、SRAM(スタティッ
クRAM)等により構成される。パリティデータ生成手
段5は、前記ホスト機器から上記該当データに対する更
新データの書き込み要求が送られてきたときに、前記記
憶手段4から上記該当データと上記関連パリティデータ
とを入力し、上記該当データ、データ読み出し手段3か
ら入力する上記更新データ、及び上記関連パリティデー
タとから上記更新データに係わる新パリティデータを生
成する。
【0027】このパリティデータ生成手段5は、例えば
ハードウェア論理回路等から成る。データ書き込み手段
6は、パリティデータ生成手段5により生成された上記
新パリティデータと上記更新データとを、それぞれのデ
ータに対応する該当ディスク制御装置2−i(i=1,
2,・・・N),2−j(j≠i;j=1,2,・・・
N)をを介して、それぞれのデータに対応する該当ドラ
イブ1−i(i=1,2,・・・N),1−j(j≠
i;j=1,2,・・・N)の該当ディスクの該当領域
に書き込む。
【0028】このデータ書き込み手段6は、例えば、マ
イクロプロセッサ等から成る。
【0029】
【作用】本発明では、ホスト機器からドライブ1−i
(i=1,2,・・・N)のディスク上のあるデータの
読み出し要求が送られてくると、データ読み出し手段3
がその読み出し要求により指定されたデータ(該当デー
タ)をディスク制御装置2−i(i=1,2・・・N)
を介してドライブ1−i(i=1,2,・・・N)から
読み出すと共に、その該当データに係わるパリティデー
タ(関連パリティデータ)を該当ディスク制御装置2−
j(j≠i;j=1,2・・・n)を介して該当ドライ
ブ1−j(j≠i;j=1,2・・・N)から読み出
す。そして、データ読み出し手段3は、それらのデータ
(上記該当データ及び上記関連パリティデータ)を記憶
手段4に格納し、上記該当データを上記ホスト機器に送
る。続いて、上記ホスト機器から上記該当データに対す
る更新データの書き込み要求が送られてくると、パリテ
ィデータ生成手段5は記憶手段4から上記該当データ
(旧データ)と上記関連パリティデータ(旧パリティデ
ータ)を入力し、それらのデータとデータ読み出し手段
3から入力する上記更新データとを用いて、所定の論理
演算を行い上記更新データに係わる新パリティデータを
生成する。
【0030】続いて、データ書き込み手段6は、上記更
新データ及び上記新パリティデータを、それぞれ該当デ
ィスク制御装置2−i(i=1,2,・・・N)及び該
当ディスク制御装置2−j(j≠i;j=1,2・・・
N)を介して、該当ドライブ1−i(i=1,2,・・
・N)及び該当ドライブ1−j(j≠i;j=1,2,
・・・N)の当該ディスクの該当領域に書き込む。
【0031】このように、データの読み出し時に、該当
データのみならずその該当データに係わる関連パリティ
データを読み出し、それらのデータをドライブ1−1,
1−2,・・・1−Nよりも高速アクセス可能な記憶手
段4に格納するため、上記該当データの更新時に新パリ
ティデータを生成する時は、上記該当データ(旧デー
タ)及び上記関連パリティデータ(旧パリティデータ)
をそれぞれの該当ドライブ1−i(i=1,2,・・・
N),1−j(j≠i;j=1,2・・・N)から読み
出す代わりに、それらの該当ドライブ1−i(i=1,
2,・・・N),1−j(j≠i;j=1,2,・・・
N)よりも、高速アクセス可能な記憶手段4から読み出
すので、RAID4,RAID5の規格に準拠したディ
スクアレイ装置においてデータ更新処理時のオーバヘッ
ドを従来よりも著しく減少することができその結果、デ
ータの入出力性能が従来よりも著しく向上する。
【0032】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図2は、本発明の一実施例である前記RAI
D4またはRAID5の規格に準拠したディスクアレイ
装置100の内部構成を示すブロック図である。
【0033】このディスクアレイ装置100は、一本の
バス(BUS)110に、マイクロプロセッサ101、
ホストインタフェース(ホストI/F)102,パリテ
ィ生成部103,キャッシュメモリ104,およびn台
のディスクコントローラCNTL1 ,CNTL2 ,・・
・CNTLn が接続された構成となっている。
【0034】そして、上記n台のディスクコントローラ
CNTL1 ,CNTL2 ,・・・CNTLn には、それ
ぞれ磁気ディスクや光磁気ディスク等のランダムアクセ
ス可能でかつデータの書き換え可能なディスクが装着さ
れているディスク装置を少なくとも1台備えたn台のド
ライブ(ディスク・ドライブ)dr1 ,dr2 ,・・・
drn が接続されている。
【0035】ホストインタフェース102は、特に図示
していないホスト機器との間で、上記n台のドライブd
1 ,dr2 ,・・・drn に装着されたディスクに対
するアクセス要求コマンド(READコマンド,WRI
TEコマンド)や、そのアクセス結果を送受する。
【0036】マイクロプロセッサ101は、上記ホスト
インタフェース102を介して前記ホスト機器から送ら
れてくる任意のドライブdri (i=1,2,・・・
n)に対するアクセス要求コマンドを受け取り、そのア
クセス要求コマンドを解釈して、該当ディスクコントロ
ーラCNTLi (i=1,2,・・・n)を制御し、上
記アクセス要求コマンドにより指示されているドライブ
dri (i=1,2,・・・n)に装着されているディ
スクに対してデータの書き込みやデータの読み出し等の
該当アクセス処理を行う。
【0037】パリティ生成部103は、ホストインタフ
ェース102に前記ホスト機器から任意のドライブdr
i (i=1,2,・・・n)に対するデータのWRIT
E要求コマンドが送られてきたとき、マイクロプロセッ
サ101から旧データと更新データ及び旧パリティデー
タを受け取り、それらのデータから新たなパリティデー
タを生成する。このパリティデータは、マイクロプロセ
ッサ101により該当ディスクコントローラ(ディスク
制御装置)CNTLi (i=1,2,・・・n)を介し
てパリティデータ書き込み用の該当ドライブdrj (j
=1,2,・・・n)に装着されたディスクの該当セク
タに書き込まれる。
【0038】キャッシュメモリ104は、マイクロプロ
セッサ101が前記ホスト機器から受け取るデータのR
EAD要求に応じて読み出す該当データとその該当デー
タの関連パリティデータを一時的に格納するメモリであ
り、高速アクセス可能なSRAM(スタティックRA
M)等から成る。
【0039】ディスクコントローラ(ディスク制御装
置)CNTL1 ,CNTL2 ,・・・CNTLn は、マ
イクロプロセッサ101によりそれぞれ独立に制御さ
れ、自己に接続されたドライブdr1 ,dr2 ,・・・
drn を駆動制御し、マイクロプロセッサ101により
指示されたデータ(読み出しデータ及びその読み出しデ
ータに対応するパリティデータ)の読み出しや、データ
(新規データ,更新データ,及びそれらのデータに伴っ
て新たに生成されたパリティデータ)の書き込み等を行
う。
【0040】各ドライブdr1 ,dr2 ,・・・drn
は、1台または複数台の固定ディスク装置(Hard Disk
Drive)もしくは光磁気ディスク装置等のディスク装置
を、例えば小型コンピュータシステムインタフェース
(SCSI)チャネルに直列接続されて成り、各ディス
ク装置に装着されたディスクに対するアクセスは、対応
するディスクコントローラCNTL1 ,CNTL2 ,・
・・CNTLn により行われる。
【0041】上記構成においてマイクロプロセッサ10
1、ホストインタフェース102、パリティ生成部10
3、キャッシュメモリ104、及びn台のディスクコン
トローラCNTL1 ,CNTL2 ,・・・CNTL
n は、アレイコントローラ120を構成している。
【0042】また、n台の各ディスクコントローラCN
TL1 ,CNTL2 ,・・・CNTLn は、マイクロプ
ロセッサ101の制御により独立に動作可能であり、こ
のためn台のドライブdr1 ,dr2 ,・・・drn
対するアクセスは並行して同時に実行可能である。
【0043】次に、上記構成のディスクアレイ装置10
0の動作を説明する。図3は、上記動作を説明する模式
図である。尚、同図は、n=5すなわち5台のドライブ
dr1 ,dr2 ,・・・dr5 を備えたディスクアレイ
装置100の例である。
【0044】マイクロプロセッサ101は、ホストイン
タフェース102を介してホスト機器からREAD要求
コマンドを受け取ると、そのREAD要求コマンドによ
り指示されている該当データCが格納されているドライ
ブdr3 とその該当データCに対応するパリティデータ
Pが格納されているドライブdr5 へ、それぞれドライ
ブコントローラCNTL3 ,CNTL5 を介して該当デ
ータC,パリティデータPの読み出しを要求する。
【0045】マイクロプロセッサ101は、次にドライ
ブdr3 ,dr5 から読み出された上記該当データ,パ
リティデータPを、それぞれドライブコントローラCN
TL 3 ,CNTL5 を介して入力すると、それらのデー
タをキャッシュメモリ104に格納した後、該当データ
のみをホストインタフェース102を介してホスト機器
へ転送する。
【0046】次に、マイクロプロセッサ101は、ホス
トインタフェース102を介して上記該当データCの更
新データC′のWRITE要求を受け取ると、キャッシ
ュメモリ104に格納されている上記該当データC(旧
データC)と上記パリティデータP(旧パリティデータ
P)をパリティ生成部103に転送すると共に、上記更
新データC′もパリティ生成部103に転送する。
【0047】パリティ生成部103は、上記旧データ
C,上記旧パリティデータP,及び上記更新データC′
を入力すると、前記式(1)の論理演算を行い、新パリ
ティデータP′を生成する。
【0048】続いて、マイクロプロセッサ101は、パ
リティ生成部103から上記新パリティデータP′を入
力し、更新データC′,新パリティデータP′をそれぞ
れドライブコントローラCNTL3 ,ドライブコントロ
ーラCNTL5 を介して、ドライブdr3 ,ドライブd
5 の該当ディスクの該当セクタに書き込む。
【0049】尚、この更新データC′,新パリティデー
タP′の書き込み動作時、該当ドライブdr3 ,dr5
以外の他のドライブdr1 ,dr2 ,dr4 もアクセス
可能である。
【0050】本実施例では、ホスト機器からREAD要
求があったデータはほとんどの場合データ更新が行われ
る場合が多いという経験則から、このようにホスト機器
からデータのREAD要求があった場合、その該当デー
タを読み込むのと同時にその該当データの関連パリティ
データも読み出し、それらのデータをキャッシュメモリ
104に退避させておく。そして、上記READ要求に
続いて、そのREAD要求により読み出したデータの更
新データの書き込みを指示するWRITE要求を受け取
った場合、新たなパリティデータ生成のためにパリティ
生成部103が必要とする旧データ(上記該当データ)
とその関連パリティデータを、従来のように該当ドライ
ブdri (i=1,2,・・・n)からではなく、ドラ
イブdr i (i=1,2,・・・n)よりもアクセス速
度がはるかに速いキャッシュメモリ104から読み出し
てパリティ生成部103に転送する。このため、従来の
ディスクアレイ装置に比較した場合、ディスクのデータ
更新処理の際のオーバーヘッドが著しく減少するので、
ディスク上でのデータ更新処理を従来よりもはるかに高
速に行うことができる。
【0051】次に、図4及び図5のフローチャートを参
照しながら、上記ディスクアレイ装置100のマイクロ
プロセッサ101により行われる動作をより詳細に説明
する。
【0052】まず、図4のフローチャートを参照しなが
ら、ホスト機器からディスクアレイ装置100にデータ
読み取り要求(データREAD要求)が送られてきた場
合の動作を説明する。
【0053】マイクロプロセッサ101は、ホストイン
タフェース102を介してホスト機器の送信してきたデ
ータの読み取り要求(READコマンド)を受け取る
と、読み取り要求がなされたデータC(以後、該当デー
タCと記述する)がいずれのドライブdr1 ,dr2
・・・drn に格納されているか否かを調べる(SR
1)。
【0054】この該当データの有無の判断は、例えばR
EADコマンドのパラメータにファイル指定があった場
合、ファイル管理情報等を検索することにより行う。マ
イクロプロセッサ101は、上記該当データCが無かっ
た場合には(NO)、直ちに上記該当データの読み出し
処理を終了するが、上記該当データCが有する場合には
(YES)、該当ディスクコントローラCNTLi (i
=1,2,・・・n)を介して該当ドライブdri (i
=1,2,・・・n)から上記該当データCを読み取る
(SR2)。
【0055】続いて、マイクロプロセッサ101は、上
記該当データに対応するパリティデータP(以後、関連
パリティデータPと表現する)を、該当ドライブコント
ローラCNTLj (j≠i,j=1,2・・・n)を介
して該当ドライブdrj から読み取る(SR3)。
【0056】そして、次に、マイクロプロセッサ101
は、上記該当データCと上記関連パリティデータPをキ
ャッシュメモリ104に格納した後(SR4)、上記該
当データCをホストインタフェース102を介して上記
ホスト機器に転送する(SR5)。
【0057】上記動作により、ホスト機器からあるデー
タCの読み取り要求が送られてきた場合、そのデータC
(該当データC)のみならずそのデータCの関連パリテ
ィデータPも読み取られ、それらのデータがキャッシュ
メモリ104に格納された後、該当データのみが上記ホ
スト機器に転送される。
【0058】続いて、図5のフローチャートを参照しな
がら、ホスト機器からデータの書き込み要求(WRIT
E要求)が送られてきた場合のマイクロプロセッサ10
1の動作を説明する。
【0059】マイクロプロセッサ101は、ホストイン
タフェース102を介してデータの書き込み要求(WR
ITEコマンド)を受け取ると、まず新規データの書き
込みであるか否かを判別する(SW1)。
【0060】そして、マイクロプロセッサ101は新規
データの書き込みであると判別すると(YES)、次に
その新規データの関連パリティデータがキャッシュメモ
リ104内部に格納されているか否かを判別する(SW
2)。
【0061】そして、マイクロプロセッサ101は、上
記新規データに対応する関連パリティデータがキャッシ
ュメモリ104内に格納されている場合には(YE
S),上記新規データをパリティ生成部103へ転送し
た後(SW3)キャッシュメモリ104から上記関連パ
リティデータを読み出しパリティ生成部103へ転送す
る(SW4)。
【0062】パリティ生成部103は、上述のようにし
て入力される新規データと関連パリティデータ(旧パリ
ティデータ)を基に、所定の論理演算を行い、新パリテ
ィデータを生成する(SW8)。
【0063】続いて、マイクロプロセッサ101は、パ
リティ生成部103から上記新パリティデータを入力
し、上記新規データと上記新パリティデータをそれぞれ
に対応する該当ディスクコントローラCNTLj (j≠
i,j=1,2・・・n)を介して、該当ドライブdr
i ,drj に装着さているディスクの当該領域に書き込
む(SW9)。
【0064】上記動作により、ホスト機器から新規デー
タの書き込み要求があった場合、その新規データに対応
する関連パリティデータがキャッシュメモリ104内に
格納されていた場合には、従来のようにその関連パリテ
ィデータを該当ドライブから読み出すことなく、キャッ
シュメモリ104からその関連パリティデータを読み出
して新パリティデータを生成できる。
【0065】一方、マイクロプロセッサ101は、上記
処理SW2で上記新規データの上記関連パリティデータ
がキャッシュメモリ104内に無い場合には、上記新規
データをパリティ生成部103へ転送した後(SW
5)、該当ディスクコントローラCNTLj (j=1,
2・・・n)を介し該当ドライブdrj (j=1,2・
・・n)から上記関連パリティデータを読み出し(SW
6)、その関連パリティデータをパリティ生成部103
に転送する(SW7)。
【0066】続いて、パリティ生成部103及びマイク
ロプロセッサ101により、それぞれ上記処理SW8,
SW9が行われ、マイクロプロセッサ101は上記新規
データとパリティ生成部103により生成された新パリ
ティデータP′を、それぞれの当該ドライブの当該ディ
スクの該当セクタに書き込む。
【0067】上記動作により、ホスト機器から新規デー
タの書き込み要求があった場合、その新規データに対応
する関連パリティデータがキャッシュメモリ104内に
格納されていない場合には、上記関連パリティデータを
該当ドライブから読み出して新パリティデータを生成す
る。
【0068】また、マイクロプロセッサ101は、上記
処理SW1でホスト機器が書き込みを要求するデータが
新規データでないと判断すると、次にその書き込み要求
データが更新データC′であるか否かを判別する(SW
10)。
【0069】そして、マイクロプロセッサ101は、上
記書き込み要求データが更新データC′であると判断す
ると、続いて、その更新データC′をパリティ生成部1
03に転送する(SW11)。
【0070】続いて、マイクロプロセッサ101は、上
記更新データC′に更新されるべき旧データCとその旧
データCに対応する関連パリティデータP(以後、旧パ
リティデータPと表現する)がキャッシュメモリ104
内に格納されているか否かを調べ(SW12)、それら
のデータが共にキャッシュメモリ104内に格納されて
いる場合には、それらのデータ(旧データCと旧パリテ
ィデータP)をキャッシュメモリ104から読み出しパ
リティ生成部103へ転送する(SW13)。
【0071】パリティ生成部103は、上記旧データC
と上記旧パリティデータPを入力すると、それらのデー
タと既に入力している更新データC′とを用いて前記式
(1)の論理演算を行い新パリティデータP′を生成す
る(SW16)。
【0072】マイクロプロセッサ101は、パリティ生
成部103から上記新パリティデータP′を入力し、上
記更新データC′と上記新パリティデータP′を、それ
ぞれの該当ドライブコントローラCNTLi (i=1,
2,・・・n),該当ドライブコントローラCNTLj
(j≠i;j=1,2・・・n)を介して、該当ドライ
ブdri ,drj の該当ディスクの該当セクタに書き込
む(SW17)。
【0073】上記動作により、ホスト機器から更新デー
タC′の書き込み要求があった場合、その更新データ
C′に更新されるべき旧データCとその旧データCに対
応する旧パリティデータPが共にキャッシュメモリ10
4内に格納されている場合には、従来のようにそれぞれ
の該当ドライブから旧データC並びに旧パリティデータ
Pを読み出す処理を行うことなく、それらのデータをキ
ャッシュメモリ104から読み出して新パリティデータ
P′を生成することができる。
【0074】一方、マイクロプロセッサ101は、前記
処理SW12において上記旧データC及び上記パリティ
データPが共にキャッシュメモリ104内に無いことを
知ると(NO)、上記旧データC、上記旧パリティデー
タPを、それぞれの該当ディスクコントローラCNTL
i (i=1,2,・・・n),CNTLj (j≠i,j
=1,2・・・n)を介して、該当ドライブdri ,d
j から読み出し(SW14)、それらのデータ(上記
旧データCと上記旧パリティデータP)をパリティ生成
部103へ転送する(SW15)。
【0075】そして、以後、パリティ生成部103とマ
イクロプロセッサ101が、それぞれ前記処理SW1
6,SW17を行い、マイクロプロセッサ101は上記
更新データC′と上記新パリティデータP′をそれぞれ
の該当ドライブdri ,drjの該当ディスクの該当セ
クタに書き込む。
【0076】上記動作により、ホスト機器から書き込み
要求があった更新データC′に更新されるべき旧データ
Cとその旧データCに対応する旧パリティデータPがキ
ャッシュメモリ104に格納されていない場合には、従
来と同様にして上記旧データCと上記旧パリティデータ
Pが、それぞれの該当ドライブから読み出されて、新パ
リティデータP′が生成される。
【0077】尚、マイクロプロセッサ101は、書き込
み要求のあったデータが新規データまたは更新データ
C′のいずれでも無い場合には直ちに処理を終了する。
このように、本実施例においては、図6の模式的なタイ
ミングチャートに示すように、ホスト機器から更新デー
タC′の書き込み要求(WRITE要求)があった場
合、キャッシュメモリ104内にその更新データC′に
更新されるべき旧データCとその旧データCに対応する
旧パリティデータが格納されていれば、それらのデータ
を該当ドライブから読み出すことなく、ドライブdri
(i=1,2,・・・n)に比べてアクセス速度がはる
かに速いキャッシュメモリ104から読み出してパリテ
ィ生成部103に転送するので、ホスト機器から更新デ
ータC′の書き込み要求(WRITE要求)を受けてか
ら新パリティデータP′が生成されるまでの時間TP
NEW を、従来よりも著しく短縮することができる(TP
NEW <TPOLD ;図6及び図10を比較参照)。
【0078】また、本実施例では、ホスト機器からのデ
ータ読み取り要求(READ要求)に応じて該当ドライ
ブdri (i=1,2,・・・n)から該当データを読
み出す際に、該当データのみならずその該当データに対
応する関連パリティデータもキャッシュメモリ104に
格納するようにしているので、データの更新時にキャッ
シュメモリ104内に更新データC′に更新されるべき
旧データCとその旧データCに対応する旧パリティデー
タPが存在する確率(ヒット率)は非常に高くなる。何
故ならば、ホスト機器から読み出し要求のあったデータ
はほとんどの場合、続いてデータの更新が行われるから
である。
【0079】したがって、本実施例においては、データ
更新処理の際のオーバーヘッドを著しく減少することが
でき、従来よりも更新データC′の書き込みを高速に行
うことができる。
【0080】また、新規データの書き込みにおいても、
そのデータに関連するパリティデータがキャッシュメモ
リ104内に格納されている場合、新パリティデータを
従来よりも早く生成できるので新規データの書き込みも
従来よりも高速に行うことができる。
【0081】さらに、本実施例においては、各ドライブ
dr1 ,dr2 ,・・・drn から該当データを読み出
す際に、その該当データに対応する関連パリティデータ
も同時に読み出して、それらのデータをキャッシュメモ
リ104に格納するので、キャッシュメモリ104内に
は常に最新のデータ並びに最新のパリティデータが格納
される。
【0082】ところで、上記実施例において、キャッシ
ュメモリ104に格納する該当データの単位は、各ドラ
イブdr1 ,dr2 ,・・・drn に装着されたディス
クに対する物理的なデータの書き込み/読み出しの最小
単位であるセクタであってもよいし、各ドライブd
1 ,dr2 ,・・・drn における物理的な入出力単
位であるブロック転送に適した1個または複数のセクタ
から成るブロックであっても良い。また、さらに、上記
データの単位はファイルであってもよいし、またそのフ
ァイルを構成する所定長のレコードであってもよい。ま
た、この場合、上記該当データに付随してキャッシュメ
モリ104に格納されるパリティデータの単位も、上記
該当データと同一となる。
【0083】また、上記実施例においては、ホスト機器
からデータの読み出し要求がある毎にドライブdr1
dr2 ,・・・drn から読み出した該当データ及びそ
れに対応する関連パリティデータをキャッシュメモリ1
04に格納するようにしているが、キャッシュメモリ1
04への上記各データの格納は、上記タイミングに限定
されるものではなく、各システムに応じた最適なタイミ
ングを選択することができる。したがって、例えば、最
初のデータ更新が行われた後以降、または所定回数以上
データの更新が連続した後以降とか、各種タイミングが
適用できる。
【0084】さらに、キャッシュメモリ104の容量も
各システムに応じた最適な容量に設定してよい。
【0085】
【発明の効果】以上説明したように、本発明によれば、
データの読み取り要求時に該当読み出しデータとそのデ
ータに関連するパリティデータとをドライブ(ディスク
・ドライブ)よりもアクセスが高速な記憶手段に先読み
して格納するようにしたので、データ更新時に更新デー
タに更新されるべき旧データとその旧データに関連する
パリティデータ(旧パリティデータ)が上記記憶手段に
格納されている確率(ヒット率)が高くなる。従って、
この結果、新たなパリティデータを生成するのに要する
処理時間を従来よりも大幅に短縮することが可能となる
ため、データの更新処理を従来よりも高速に実行するこ
とができる。そして、このことにより、複数ドライブか
らの同時読み出しが可能なRAID4,RAID5の規
格に準拠した従来のディスクアレイ装置の欠点であった
データ更新処理におけるオーバヘッドの専有率を著しく
減少することができ、データの入力性能を従来よりも著
しく向上させることができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施例のシステム構成図である。
【図3】上記一実施例の動作を説明する模式図である。
【図4】ホスト機器からデータ読み取り要求があった場
合のマイクロプロセッサの動作を説明するフローチャー
トである。
【図5】ホスト機器からデータ書き込み要求があった場
合のマイクロプロセッサの動作を説明するフローチャー
トである。
【図6】上記、一実施例におけるデータ更新処理動作の
タイミングチャートである。
【図7】RAID4のデータ格納方式の一例を示す図で
ある。
【図8】RAID5のデータ格納方式の一例を示す図で
ある。
【図9】従来のRAID4,RAID5に準拠したディ
スクアレイ装置におけるデータ更新処理の動作の一例を
説明する模式図である。
【図10】従来のRAID4,RAID5の規格に準拠
したディスクアレイ装置におけるデータ更新処理動作の
タイミングチャートである。
【符号の説明】 1−1,1−2,・・・1−N ドライブ 2−1,2−2,・・・2−N ディスク制御装置 3 データ読み出し手
段 4 記憶手段 5 パリティデータ生
成手段 6 データ書き込み手

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 少なくも1台のランダムアクセス可能な
    ディスク装置を有するドライブ(1−1),(1−
    2),・・・(1−N)が複数個アレイ状に配置され、
    それらの各ドライブ(1−1),(1−2),・・・
    (1−N)に対するデータの入出力制御を行うディスク
    制御装置(2−1),(2−2),・・・(2−N)
    が、それらの各ドライブ(1−1),(1−2),・・
    ・(1−N)毎に個別に設けられたディスクアレイ装置
    において、 ホスト機器からデータの読み出し要求が送られてきたと
    きに、該当ディスク制御装置(2−i;i=1,2,・
    ・・N),(2−j;j≠i;j=1,2,・・・N)
    を介して、該当ドライブ(1−i;i=1,2,・・・
    N),(1−j;j≠i;j=1,2,・・・N)から
    読み出し要求のあった該当データとその該当データに係
    わる関連パリティデータとを読み出すデータ読み出し手
    段(3)と、 該データ読み出し手段(3)により読み出された上記該
    当データと上記関連パリティデータを記憶する記憶手段
    (4)と、 前記ホスト機器から上記該当データに対する更新データ
    の書き込み要求が送られてきたときに、前記記憶手段
    (4)から上記該当データと上記関連パリティデータと
    を入力し、上記該当データ、前記読み出し手段(3)か
    ら入力する上記更新データ、及び上記関連パリティデー
    タとから上記更新データに係わる新パリティデータを生
    成するパリティデータ生成手段(5)と、 該パリティデータ生成手段(5)により生成された上記
    新パリティデータと上記更新データとを、それぞれのデ
    ータに対応する該当ディスク制御装置(2−i;i=
    1,2,・・・N),(2−j;j≠i;j=1,2,
    ・・・N)を介して、それぞれのデータに対応する該当
    ドライブ(1−i;i=1,2,・・・N),(1−
    j;j≠i;j=1,2,・・・N)の該当ディスクの
    該当領域に書き込むデータ書き込み手段(6)と、 を備えたことを特徴とするディスクアレイ装置。
JP4128975A 1992-05-21 1992-05-21 ディスクアレイ装置 Pending JPH05324206A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP4128975A JPH05324206A (ja) 1992-05-21 1992-05-21 ディスクアレイ装置
PCT/JP1993/000663 WO1993023803A1 (fr) 1992-05-21 1993-05-20 Appareil de commande pour pile de disques
DE4345320A DE4345320B4 (de) 1992-05-21 1993-05-20 Platten-Array-Vorrichtung
DE4392143A DE4392143C1 (de) 1992-05-21 1993-05-20 Platten-Array-Vorrichtung
US08/746,154 US5787460A (en) 1992-05-21 1996-11-06 Disk array apparatus that only calculates new parity after a predetermined number of write requests
US09/031,004 US5954822A (en) 1992-05-21 1998-02-26 Disk array apparatus that only calculates new parity after a predetermined number of write requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4128975A JPH05324206A (ja) 1992-05-21 1992-05-21 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH05324206A true JPH05324206A (ja) 1993-12-07

Family

ID=14998037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4128975A Pending JPH05324206A (ja) 1992-05-21 1992-05-21 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH05324206A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173361B1 (en) 1998-01-19 2001-01-09 Fujitsu Limited Disk control device adapted to reduce a number of access to disk devices and method thereof
US6606715B1 (en) 1999-07-23 2003-08-12 Fujitsu Limited Device control apparatus and control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173361B1 (en) 1998-01-19 2001-01-09 Fujitsu Limited Disk control device adapted to reduce a number of access to disk devices and method thereof
US6606715B1 (en) 1999-07-23 2003-08-12 Fujitsu Limited Device control apparatus and control method

Similar Documents

Publication Publication Date Title
JP3742494B2 (ja) 大容量記憶装置
US6785836B2 (en) In-place data transformation for fault-tolerant disk storage systems
US6950901B2 (en) Method and apparatus for supporting parity protection in a RAID clustered environment
JP3422370B2 (ja) ディスクキャッシュ制御装置
EP0986000B1 (en) Disk array subsystem
JP2001356970A (ja) データ記憶空間を冗長ユニットにマッピングする方法
JPH08161124A (ja) 計算機システム
US20080091916A1 (en) Methods for data capacity expansion and data storage systems
US5875460A (en) Disk array subsystem and data generation method therefor
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
JPH04233056A (ja) データ処理方法及び装置
US6701452B1 (en) Disk array controller having distributed parity generation function
JPH07261946A (ja) アレイ型記憶装置
JPH05324206A (ja) ディスクアレイ装置
JPH0869359A (ja) ディスクアレイ装置
JP4794357B2 (ja) Raid装置におけるraidレベル変換方法およびraid装置
JP3011020B2 (ja) アレイ型デイスクシステム
JP3236166B2 (ja) キャッシュ制御方法および情報処理装置
JP3122252B2 (ja) ディスクアレイ制御方式
GB2293912A (en) Disk storage device for disk array
JP2570614B2 (ja) デイスクアレイ装置
JP3220581B2 (ja) アレイ形式の記憶装置システム
JP2857289B2 (ja) ディスクアレイ装置
JP2914181B2 (ja) ディスクアレイ装置
JP2733189B2 (ja) ディスクアレイ装置の入出力制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010814