JPH1031563A - 記憶装置 - Google Patents

記憶装置

Info

Publication number
JPH1031563A
JPH1031563A JP8185791A JP18579196A JPH1031563A JP H1031563 A JPH1031563 A JP H1031563A JP 8185791 A JP8185791 A JP 8185791A JP 18579196 A JP18579196 A JP 18579196A JP H1031563 A JPH1031563 A JP H1031563A
Authority
JP
Japan
Prior art keywords
data
drive
parity
write
stored
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
JP8185791A
Other languages
English (en)
Inventor
Hitoshi Tsunoda
仁 角田
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 JP8185791A priority Critical patent/JPH1031563A/ja
Publication of JPH1031563A publication Critical patent/JPH1031563A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 RAID(レベル5)のディスクアレイシス
テムにおいて、データ書き込み時のオーバヘッドを減少
させる。 【解決手段】 複数のドライブ12からなる複数の論理
グループ11でディスクアレイを構成し、RAID(レ
ベル5)にて動作するディスクアレイサブシステム2に
おいて、各論理グループ11内にスペアドライブを設
け、HOST CPU1からのデータ書き込み要求時、
更新データをキャッシュメモリ9とスペアドライブへの
二重書き込みを行い、その時点でHOST CPU1に
書き込み完了を報告し、以降、スペアドライブの書き込
みデータを使用し、旧データのドライブ12をスペアド
ライブとして用いる。また、旧データ、旧パリティおよ
び更新データから新パリティを生成するパリティ更新処
理は、HOST CPU1からの書き込み要求とは非同
期に、低入出力負荷時等を見計らって任意の契機で実行
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は記憶技術に関し、特
に、コンピュータシステム等における外部記憶装置とし
て使用され、高性能かつ高信頼性の入出力動作を要求さ
れるディスクファイルシステム等に適用して有効な技術
に関する。
【0002】
【従来の技術】現在のコンピュータシステムにおいて
は、CPU等の上位側が必要とするデータは2次記憶装
置に格納され、CPUが必要とする時に応じ2次記憶装
置に対してデータの書き込み、読み出しを行っている。
この2次記憶装置としては一般に不揮発な記憶媒体が使
用され、代表的なものとして磁気ディスク装置(以下ド
ライブとする)、光ディスクなどがあげられる。
【0003】近年高度情報化に伴い、コンピュータシス
テムにおいて、2次記憶装置の高性能化が要求されてき
た。その一つの解として、多数の比較的容量の小さなド
ライブにより構成されるディスクアレイが考えられてい
る。
【0004】「D.Patterson,G.Gibson,and R.H.Kartz;A
Case for Redundant Arrays of Inexpensive Disks(RA
ID),in ACM SIGMOD Conference,Chicago,IL,(June198
8)」において、全く同じデータを別のドライブに二重化
して格納するミラーリングを行う(レベル1)と、デー
タを分割して並列に処理を行うディスクアレイ(レベル
3)とデータを分散して、独立に扱うディスクアレイ
(レベル4,5)について、その性能および信頼性の検
討結果が報告されている。レベル4はレベル5において
論理グループを構成するドライブに分散しているパリテ
ィを、1台のパリティのみを格納するドライブにまとめ
たものである。現在この論文に書かれている方式が最も
一般的なディスクアレイと考えられている。
【0005】ここで、レベル3、レベル4、レベル5に
ついて簡単に説明しておく。
【0006】レベル3は、ドライブに格納するデータ#
1として、例えば「001010101011・・・・
・」を想定し、データ#1とパリティを格納するための
ドライブとしてドライブ#1〜#5が設けられた場合、
ドライブ#1に‘0’、ドライブ#2に‘0’、ドライ
ブ#3に‘1’、ドライブ#4に‘0’を順次格納し、
格納された‘0010’に対するパリティをドライブ#
5に格納する。そして、次に同様にして‘1’、
‘0’、‘1’、‘0’を順次ドライブ#1〜#4に格
納し、そのパリティをドライブ#5に格納してゆく。
【0007】レベル4は、データとパリティを格納する
ためのドライブとしてドライブ#1〜#5が設けられた
場合、データ#1、#5、・・・がドライブ#1に、デ
ータ#2、#6、・・・がドライブ#2に、データ#
3、#7、・・・がドライブ#3に、データ#4、#
8、・・・がドライブ#4に格納される。そして、例え
ば、データ#1が「01・・・」、データ#2が「00
・・・」、データ#3が「11・・・」、データ#4が
「00・・・」であるとすると、各データの先頭ビット
‘0010’に対するパリティをパリティ専用として指
定されたドライブ#5の先頭ビットとして格納し、以下
同様にして、各データの2番目のビット‘1010’に
対するパリティをドライブ#5の2番目のビットとして
格納してゆく。そして、データ#5〜#8のデータ組に
対するパリティデータをドライブ#5に2番目のパリテ
ィデータとして格納するようにしてゆく。
【0008】レベル5は、レベル4のようなパリティ専
用のドライブを決めず、データ#1をドライブ#1、デ
ータ#2をドライブ#2、データ#3をドライブ#3、
データ4をドライブ#4に格納し、データ#1〜#4の
データ組に対するパリティデータP1234をドライブ
#5に格納し、次いで、データ#5をドライブ#2、デ
ータ#6をドライブ#3、データ#7をドライブ#4、
データ8をドライブ#5に格納し、データ#5〜#8の
データ組に対するパリティデータP5678をドライブ
#1に格納し、次いで、データ#9をドライブ#1、デ
ータ#10をドライブ#3、データ#11をドライブ#
4、データ#12をドライブ#5に格納し、データ#9
〜#12のデータ組に対するパリティデータP9101
112をドライブ#2に格納するようにしてゆく。
【0009】上記文献に記載されたタイプのディスクア
レイでは大型大容量のドライブを、多数の比較的容量の
小さなドライブで構成し、データを分散して格納してあ
るため、読み出し/書き込み要求が増加してもディスク
アレイの複数のドライブで分散して処理することが可能
となり、読み出し/書き込み要求が待たされることが減
少する。
【0010】このパリティによりデータを格納したドラ
イブに障害が発生した場合、その障害ドライブ内のデー
タを復元することが可能となる。ディスクアレイではデ
ータからパリティを作成しデータと同様にドライブに格
納しておく。この時、パリティは、パリティの作成に関
与したデータとは別のドライブに格納される。
【0011】IBM社の特開平6−19632号公報の
技術では、レベル5において、キャッシュメモリにデー
タを書き込むと同時に、WAD(ライト アシスト デ
バイス)と呼ばれるドライブにもデータを書き込み、キ
ャッシュメモリを不揮発化することが開示されている。
【0012】さらに、特開平6−332632号公報の
技術ではレベル5において、複数のデータとこれらのデ
ータから作成されたパリティの集合に、データを二重化
するための二重化領域を設け、データの書き込み時に書
き込むデータをこの二重化領域に書き込み、この時点で
HOST CPUに対し書き込み処理の終了を報告す
る。そして、パリティの更新は後の適当なタイミングで
行う。このように、データの書き込みと、パリティの更
新を別に独立に効率良くスケジューリングする方法につ
いて開示されている。
【0013】
【発明が解決しようとする課題】現在の汎用大型計算機
システム等ではドライブにより構成される2次記憶装置
内では、HOST CPUから転送されてくるデータは
個々のデータの格納場所(アドレス)が予め指定したア
ドレスに固定され、HOST CPUから当該データへ
読み出しまたは書き込む場合は、この固定されたアドレ
スへアクセスすることになる。これは、ディスクアレイ
においても同じである。データを分割して並列に処理を
行うディスクアレイ(レベル3)ではこのようにアドレ
スを固定しても影響は無いが、データを分散して、独立
に扱うディスクアレイ(レベル5)ではアドレスを固定
した場合、書き込み時に大きな処理オーバヘッド(ライ
トペナルティ)が必要になる。以下それについて説明す
る。
【0014】図13は前記文献例でD.Patterson らが提
案したRAIDに述べられている、データを分散して、
独立に扱うディスクアレイ(レベル5)内部のデータア
ドレスを示している。この各アドレスにあるデータは1
回の読み出し/書き込み処理される単位で、個々のデー
タは独立している。また、RAIDで述べられているア
ーキテクチャではデータに対するアドレスは固定されて
いる。前述したようにこのようなシステムでは、信頼性
を向上するためパリティを設定することが不可欠であ
る。本システムでは各ドライブ内の同一アドレスのデー
タによりパリティが作成される。すなわち、ドライブ#
1から4までのアドレス(1、1)のデータによりパリ
ティが作成され、パリティを格納するドライブの(1、
1)に格納される。本システムでは読み出し/書き込み
処理は各ドライブに対し当該データをアクセスする。
【0015】このようなディスクアレイにおいて、例え
ばドライブ#3のアドレス(2、2)のデータを更新す
る場合、まず、更新される前のドライブ#3の(2、
2)のデータとパリティを格納してあるドライブの
(2、2)のパリティを読み出し(1)、これらと更新
する新しいデータとで排他的論理和をとり、新たなパリ
ティを作成する(2)。パリティの作成完了後、更新す
る新しいデータをドライブ#3の(2、2)に、新パリ
ティをパリティを格納するドライブの(2、2)に格納
する(3)。
【0016】このようなレベル5のディスクアレイで
は、データの格納されているドライブ、パリティの格納
されているドライブから古いデータとパリティを読み出
すため、ディスクを平均1/2回転待ち、それから読み
出してパリティを作成する。この新しく作成したパリテ
ィを書き込むため更に一回転必要となり、データを書き
替える場合、最低でも1.5回転待たなければならない。
ドライブにおいては1.5回転ディスクの回転を待つとい
うことは非常に大きなオーバヘッドとなる。このような
書き込み時のオーバヘッドを削減するため、書き込み先
のアドレスを動的に変換する方法が考えられ、WO 9
1/20076に開示されている。
【0017】また、特開平4−230512号公報の技
術においても、書き込み時において書き込みデータをそ
のまま、書き込みデータが書き込まれるアドレスではな
く別のアドレスに、書き込むことにより書き込みオーバ
ヘッドを削減する方法について開示されている。HOS
T CPU側から書き込むデータが送られてくることで
すぐにパリティの更新を行い、更新後のパリティを書き
込む。特開平6−19632号公報、特開平6−332
632号公報ではデータの書き込みと、パリティの更新
を別に独立に効率良くスケジューリングする方法につい
て開示されている。しかし、特開平6−19632号公
報ではキャッシュメモリの不揮発化のためにデータをキ
ャッシュメモリに書き込むと同時にある特定のドライブ
にも同じデータを書き込む。しかし、後の適当なタイミ
ングで通常のレベル5のパリティの更新は行わなければ
ならない。レベル5のパリティの更新が無事に終了すれ
ばドライブに書き込んだデータは不用になる。特開平6
−332632号公報の技術は書き込みデータを二重化
領域に書き込み、後の適当なタイミングで通常のレベル
5のパリティの更新は行うが、このパリティ更新時にお
いて、データの書き込みは不用となる。しかし、二重化
領域を確保しなければならず、容量の無駄が大きい。
【0018】このように、レベル5のディスクアレイで
は、読み出しと比較し書き込み時ではパリティ生成とこ
の生成したパリティを書き込む処理のオーバヘッドが非
常に大きいため、CPUからの読み出し、書き込み要求
が多いときには、この処理オーバヘッドが性能低下の大
きな原因となる。
【0019】本発明の目的は、レベル5のディスクアレ
イを構成する記憶装置において、書き込み時における処
理のオーバヘッドを減少させて、ディスクアレイの性能
向上を図ることにある。
【0020】本発明の他の目的は、障害ドライブ内のデ
ータ復元用スペアドライブの記憶容量を装置の性能向上
に利用することによってドライブ資源の有効活用を図る
ことにある。
【0021】本発明の他の目的は、入出力処理の負荷の
変動等を利用してライトペナルティの軽減を実現するこ
とが可能な記憶技術を提供することにある。
【0022】
【課題を解決するための手段】本発明の記憶装置では、
複数のドライブによってRAIDのレベル5を実現する
場合、複数のデータとこれらのデータから作成された冗
長データ(パリティ)がそれぞれ格納される複数のドラ
イブの他にスペア領域(スペアドライブ)を備え、この
スペア領域を有効に活用することにより、高信頼性を保
ちながら、しかも、書き込み時のパリティ更新の開始時
間を遅らせ、後の上位装置からの読み出しまたは書き込
み要求が少ないときにパリティ生成を行うように動作す
る。
【0023】より具体的には、一例として、書き込み時
に、複数のデータと当該データから生成された冗長デー
タからなる論理グループを構成するドライブの中で、書
き込むデータ(新データ)をとりあえずスペア領域に格
納する。この時、スペア領域内のデータはキャッシュメ
モリとで二重化されている。上位装置に対してはこの時
点で書き込み処理を完了したと報告する。
【0024】また、パリティの作成および当該ドライブ
へのパリティの書き込みは、新データのドライブへの書
き込みとは独立のタイミングで、処理する。具体的に
は、複数のドライブからなるディスクアレイサブシステ
ムの制御機構が当該論理グループに対する上位装置から
の読み出し/書き込み要求をカウントし、予めユーザま
たはシステム管理者が設定した数より少ない場合で、し
かも当該ドライブに対し読み出しまたは書き込み要求が
発行されていないときにパリティの作成を行い、パリテ
ィの作成完了後当該ドライブに対しパリティを書き込
む。パリティの書き込みが完了したら、スペア領域に格
納された新データはそのままにし、この新データにより
更新されたデータをスペア領域として次の書き込み時に
使用する。
【0025】パリティの書き込みの他の方法として、一
定時間毎の割込み処理で行ってもよい。一日の中で上位
装置からの読み出しまたは書き込み要求数の少ない時間
帯、あるいは一月の中で少ない日を予測し、スケジュー
ル化しておけばよい。
【0026】パリティの作成およびそのパリティの当該
ドライブへのパリティの書き込みが完了する前に、当該
論理グループにおいて任意の1台のドライブに対し障害
が発生し、その内部のデータが読み出せなくなった場
合、たとえば、スペア領域内のデータ以外のデータが格
納されているドライブの障害に対しては、前のパリティ
と、残っているデータから障害が発生したドライブ内の
データを回復することが可能であり、また、新しいデー
タが格納されてスペア領域として機能するドライブにお
いて障害が発生した場合はキャッシュメモリ内の新デー
タにより回復することが可能である。
【0027】本発明では、上記のようにデータの書き込
みとパリティの作成およびドライブへの書き込みを独立
させることにより、ユーザ(上位装置)からは書き込み
時のパリティ作成によるオーバヘッドはなくなる。これ
は、上位装置からの読み出しまたは書き込み要求数には
時間的変動があるため、読み出しまたは書き込み要求数
が多いときには、書き込み処理におけるパリティの更新
をその都度行わず、データの書き込みが完了した時点で
上位装置には終了を報告し、比較的読み出しまたは書き
込み要求の数が少ないときまでパリティの更新を遅らせ
る。このパリティの更新は上位装置の関知はなく、ディ
スクアレイサブシステムの制御機構が独自に行う。
【0028】このため、上位装置側から見たとき、たと
えば従来のディスクアレイ(RAID方式)では書き込
み時に平均1.5回転の回転待ち時間を必要としたのが、
本発明によれば平均0.5回転の回転待ち時間ですむ。ま
た、信頼性の面からみても従来のディスクアレイ(RA
ID方式)と比較し、同等に向上させることが可能とな
る。
【0029】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
【0030】図1は、本発明の記憶装置の一実施の形態
であるディスクアレイサブシステムの構成の一例を示す
概念図である。なお、本実施の形態のディスクアレイサ
ブシステムでは、一例としてRAIDのレベル5を実行
するものとする。
【0031】図1において、1はホストのCPU、2は
本実施の形態のディスクアレイサブシステム、3はHO
ST CPU1とディスクアレイサブシステム2を結ぶ
外部バスである。
【0032】ディスクアレイサブシステム2は図1に示
すようにディスクアレイ制御を行うCPU4と、CPU
4によって使用されるCPU用メモリ5と、CPU4上
で動作するマイクロプログラムが格納されているROM
6と、ディスクアレイサブシステム2とHOST CP
U1との間のインターフェース制御およびキャッシュメ
モリ9とのデータ転送制御を行うインターフェース回路
(IF回路)8と、各ドライブ12とのインターフェー
ス制御を行うSCSIコントローラ10が、ディスクア
レイサブシステム2内の内部バス7に接続されている。
各ドライブ12はSCSIコントローラ10にSCSI
バス13で接続されている。各ドライブ12は、たとえ
ば、一例として、磁気ディスク等の回転型記憶媒体を備
えたディスク装置で構成される。
【0033】本実施例ではディスクアレイサブシステム
2内はn台のSCSIコントローラ10で構成されてい
るが、この数に制限が無いことは明らかである。本実施
例では論理グループ#1はドライブ#1、2、3、…
n、論理グループ#2はドライブ#n+1、n+2、n
+3…2n、論理グループ#3はドライブ#2n+1、
2n+2、2n+3…3nの各n台のドライブで構成さ
れている。各論理グループの任意の1台のドライブ12
にはパリティデータ(冗長データ)が格納される。論理
グループ11を構成するドライブ数に制限が無いことは
明らかである。また、ディスクアレイサブシステム2を
構成する論理グループ11数に制限が無いことは明らか
である。
【0034】CPU4はROM6に格納されているマイ
クロプログラムを起動時に自動的に格納する。HOST
CPU1から発行された読み出しまたは書き込み要求
は外部バス3を介してIF回路8に転送され、IF回路
8に転送された読み出しまたは書き込み要求はCPU4
において解読される。もし、HOST CPU1から発
行された読み出しまたは書き込み要求されたデータがキ
ャッシュメモリ9内に存在する場合、読み出し時はIF
回路8はキャッシュメモリ9から当該データを読み出し
て、外部バス3を経由してHOST CPU1へ転送す
る。一方、書き込み時は逆にHOST CPU1から当
該データを外部バス3を経由してIF回路8はキャッシ
ュメモリ9内の当該データを更新する。一方、HOST
CPU1から発行された読み出しまたは書き込み要求
されたデータがキャッシュメモリ9内に存在する場合
は、書き込み時は書き込みデータをHOST CPU1
から外部バス3を経由してIF回路8によりキャッシュ
メモリ9内に格納する。SCSIコントローラ10はC
PU4からの指示に従って、SCSIの処理手順に従っ
て、当該ドライブ12内に対し当該データの読み出しま
たは書き込み処理を行う。
【0035】本実施の形態の特徴は以下の2点である。
まず、第1番目は、RAIDのレベル5において、書き
込み時にはキャッシュメモリ9内にデータを格納すると
同時に、論理グループ11を構成するドライブの中の1
台のドライブ内のスペア領域にもデータを格納し、この
段階でHOST CPU1には書き込み処理を完了した
と報告することで、HOST CPU1からは高速に書
き込み処理が完了したようにみえ、しかも、高信頼性を
保ちながら、書き込み時のパリティ更新の開始時間を遅
らせ、後のHOST CPU1からの読み出しまたは書
き込み要求が少ないときにパリティ生成を行う。第2番
目は、パリティの更新後は、スペア領域に書き込まれた
新データはそのまま使用し、更新されたデータまたは更
新されたパリティが格納されていた領域を次の書き込み
処理時のスペア領域として使用する。これにより、スペ
ア領域は論理グループ11を構成するドライブ12内で
分散する。
【0036】次にまず(1)アドレステーブル14につ
いて説明し、(2)書き込み処理、(3)読み出し処
理、(4)障害時の処理、(5)パリティ更新処理の開
始契機の決定、の一例について説明する。
【0037】(1)アドレステーブル 図2はHOST CPU1がディスクアレイサブシステ
ム2に読み出しまたは書き込み要求を発行した場合に使
用するアドレステーブル14を示す。このアドレステー
ブル14では各々別のドライブ12に格納されている3
個のデータから1個のパリティが作成され、これら4台
のドライブ以外の1台のドライブにスペア領域が確保さ
れている。論理アドレス15はHOST CPU1が指
定するアドレスで、ディスクアレイサブシステム2のC
PU4はこの論理アドレス15を元にディスクアレイサ
ブシステム2内の実際に格納するアドレスに変換する。
論理アドレス15よりこの論理アドレス15で示される
データが所属する論理グループ番号16が決定する。論
理グループ番号16が決定したら、この論理グループ内
のどのドライブに格納されているかをドライブ番号17
で決定する。キャッシュフラグ18は当該データがキャ
ッシュメモリ9内に存在する場合はオン(1)となり存
在しない場合はオフ(0)となる。スペアドライブ番号
19は論理グループ11において、スペア領域が確保さ
れているドライブの番号で、パリティドライブ番号20
は論理グループ11において、パリティが格納されてい
るドライブの番号である。ドライブ内アドレス21は論
理アドレスに対応するデータが格納されているまたは格
納する、当該ドライブ12内の物理アドレスを示してお
り、シリンダアドレス、ヘッドアドレスおよびセクタ番
号で示されている。本実施例ではパリティグループ内の
全てのデータおよびパリティのドライブ内アドレス21
は同じとする。図2では論理アドレス15がデータ#
1、2、3のデータはそれぞれドライブ#1、2、3の
DADR#1のドライブ内アドレス21(物理アドレ
ス)に格納され、スペア領域はドライブ#4、パリティ
はドライブ#6の、データと同じDADR#1のドライ
ブ内アドレス21(物理アドレス)に格納されている。
【0038】このようなアドレステーブル14を用いて
ディスクアレイサブシステム2内のCPU4は当該ドラ
イブ12に当該データの読み出しまたは格納を行う。ま
た、このアドレステーブル14はディスクアレイサブシ
ステム2内の特定のドライブに格納されており、電源投
入時に自動的にCPU用メモリ5に格納され、通常使用
時はCPU用メモリ5に格納されて使用され、電源切断
時はディスクアレイサブシステム2内の元の特定のドラ
イブに格納される。
【0039】次にこのアドレステーブル14を用いて具
体的に書き込みおよび読み出し処理について説明する。
【0040】(2)書き込み処理 書き込み処理には新規にデータを書き込む場合と既に書
き込まれているデータを更新する2つの処理がある。新
規にデータを書き込む場合はアドレステーブル14にお
いて論理アドレス15が登録されていないエントリを探
す。このようにして、論理アドレス15が登録されてい
ないエントリが見つかった場合は、そこに新たに新規デ
ータの論理アドレス15を登録し、旧データは全て0の
データとしてパリティを更新する。アドレステーブル1
4への新規データの登録が完了し、旧データは全て0の
データとした後は、以降説明する更新による書き込み処
理と同じである。
【0041】図3、図4はキャッシュメモリ9にデータ
が存在しないキャッシュミスの時のデータおよびパリテ
ィの流れを示す。図3を見ると解かるように、まず、H
OST CPU1からキャッシュメモリ9にデータ1を
更新するデータ1’が書き込まれると(1)、ディスク
アレイサブシステム2内のCPU4はデータ1’をドラ
イブ#4のスペア領域にも書き込む(2)。データ1’
はキャッシュメモリ9とドライブ#4で二重化される。
この時点でCPU4はHOST CPU1に対し書き込
み処理が完了したことを報告する。CPU4はHOST
CPU1からの読み出しまたは書き込み要求を監視
し、読み出しまたは書き込み要求が少なくなったらパリ
ティの更新を行う。
【0042】パリティの更新ではドライブ#1から更新
されるデータ1、ドライブ#6から更新されるパリティ
が読み出され(3)、データ1’と排他的論理和を行い
新パリティをキャッシュメモリ9内に作成する。図5は
この時のタイミングチャートを示しており、(3)が完
了しパリティの作成を行った後に、データ1が格納され
ていたドライブ#1のデータ1のドライブ内アドレス2
1と更新されるパリティが格納されていたドライブ#6
の更新されるパリティが格納されていたドライブ内アド
レス21の内のどちらか早く書き込める方のドライブに
新パリティを書き込む(4)。具体的には、図3と図5
の(a)は新パリティをデータ1が格納されていたドラ
イブ#1に書き込む場合で、図4と図5の(b)は更新
されるパリティが格納されていたドライブ#6に書き込
む場合を示している。新パリティをドライブ#1に書き
込んだ場合はドライブ#6の更新されるパリティが格納
されていたドライブ内アドレス21が次の書き込み処理
の時のスペア領域となり、ドライブ#6に書き込んだ場
合はドライブ#1のデータ1のドライブ内アドレス21
が次の書き込み処理の時のスペア領域となる。また、デ
ータ1を更新したデータ1’はドライブ#4に格納され
る。
【0043】図6はキャッシュメモリ9にデータが存在
するキャッシュヒットの時のデータおよびパリティの流
れを示す。図6を見ると解かるように、まず、HOST
CPU1からキャッシュメモリ9にデータ1を更新す
るデータ1’が書き込まれると(1)、ディスクアレイ
サブシステム2内のCPU4はデータ1’をドライブ#
4のスペア領域にも書き込む(2)。データ1’はキャ
ッシュメモリ9とドライブ#4で二重化される。この時
点でCPU4はHOST CPU1に対し書き込み処理
が完了したことを報告する。キャッシュメモリ9はより
高信頼化を図るため、停電等による電源遮断に備えるた
め、バッテリ等で不揮発化するか、フラッシュメモリ等
の不揮発なメモリ素子を使用しておく方が望ましい。
【0044】CPU4はキャッシュミス時と同様に、H
OST CPU1からの読み出しまたは書き込み要求を
監視し、読み出しまたは書き込み要求が少なくなったら
パリティの更新を行う。
【0045】パリティの更新ではキャッシュミス時とは
異なり、ドライブ#1に格納されている更新されるデー
タ1はキャッシュメモリ9内に既に存在しているため読
み出す必要はなく、ドライブ#6から更新されるパリテ
ィが読み出されるのみである(3)。(3)のドライブ
#6から更新されるパリティが読み出され、キャッシュ
メモリ9に格納されると、データ1、データ1’と排他
的論理和を行い新パリティをキャッシュメモリ9内に作
成する。図7はこの時のタイミングチャートを示してお
り、(3)が完了しパリティの作成を行った後に、デー
タ1が格納されていたドライブ#1のデータ#1のドラ
イブ内アドレス21に新パリティを書き込む(4)。新
パリティをドライブ#1に書き込んだ後はドライブ#6
の更新されるパリティが格納されていたドライブ内アド
レス21が次の書き込み処理の時のスペア領域となる。
また、データ1を更新したデータ1’はドライブ#4に
格納される。
【0046】このように、本実施の形態では書き込み時
において、更新するデータをキャッシュメモリ9とドラ
イブ12内のスペア領域に書き込み二重化することで、
高信頼性を保ちながら、書き込み時のパリティ更新の開
始時間を遅らせ、後のHOST CPU1からの読み出
しまたは書き込み要求が少ないときにパリティ生成を行
い、さらに、更新するデータおよびパリティの格納され
るドライブが、更新されるデータが格納されていたドラ
イブとは異なる事が特徴である。
【0047】次に、書き込み時のディスクアレイサブシ
ステム2内のCPU4の処理を図8のフローチャートで
説明する。HOST CPU1から書き込み要求が発行
され、ディスクアレイサブシステム2にデータが転送さ
れ、キャッシュメモリ9に転送されてきた更新するデー
タを格納すると(ステップ60a)、CPU4はアドレ
ステーブル14において更新されるデータの論理アドレ
ス15とそれに対応するキャッシュフラグ18を調べ
(ステップ60)、更新されるデータがキャッシュメモ
リ9内に存在するか(キャッシュヒット)を判定する
(ステップ61)。
【0048】CPU4がキャッシュフラグ18を調べ、
キャッシュフラグ18がオン(1)の時は、アドレステ
ーブル14において更新されるデータの格納されている
ドライブ番号17とスペアドライブ番号19とドライブ
内アドレス21を調べる(ステップ62)。更新される
データの格納されているドライブ番号17とスペアドラ
イブ番号19とドライブ内アドレス21が解かったら、
CPU4はそれぞれの当該ドライブ12の当該ドライブ
内アドレスに対し書き込み要求を発行する(ステップ6
3)。書き込み要求を発行された各当該ドライブ12で
はシーク、回転待ちを行い(ステップ64)、CPU4
はキャッシュメモリ9から更新するデータをシーク、回
転待ちが早く完了した方のドライブ12に書き込み(ス
テップ65)、アドレステーブル14の論理アドレス1
5を書き換え、もし、更新するデータをスペア領域に書
き込んだ場合はドライブ番号17とスペアドライブ番号
19を書き換え(ステップ70)、書き込み処理の終了
報告をHOST CPU1に対して行う(ステップ7
1)。
【0049】一方、CPU4がキャッシュフラグ18を
調べ、キャッシュフラグ18がオフ(0)の時は、アド
レステーブル14においてスペアドライブ番号19とド
ライブ内アドレス21を調べる(ステップ66)。更新
されるデータの格納されているドライブ番号17とスペ
アドライブ番号19が解かったら、CPU4は当該ドラ
イブ12の当該ドライブ内アドレスに対し書き込み要求
を発行する(ステップ67)。書き込み要求を発行され
た各当該ドライブ12ではシーク、回転待ちを行い(ス
テップ68)、CPU4はキャッシュメモリ9から更新
するデータを当該ドライブ12に書き込み(ステップ6
9)、アドレステーブル14の論理アドレス15とドラ
イブ番号17とスペアドライブ番号19を書き換え(ス
テップ70)、書き込み処理の終了報告をHOST C
PU1に対して行う(ステップ71)。
【0050】本実施の形態では上記のようにデータをキ
ャッシュメモリ9とドライブ12に書き込んだ段階で書
き込み処理の終了報告をHOST CPU1に対して行
う。パリティの更新は、CPU4がHOST CPU1
からの読み出しまたは書き込み要求を監視し、読み出し
または書き込み要求が少なくなったら行う。そこで、次
にパリティ更新時のディスクアレイサブシステム2内の
CPU4の処理を図9のフローチャートで説明する。
【0051】CPU4がパリティの更新を開始するよう
判断したら、CPU4はアドレステーブル14において
更新されるデータの論理アドレス15とそれに対応する
キャッシュフラグ18を調べ(ステップ80)、更新さ
れるデータがキャッシュメモリ9内に存在するか(キャ
ッシュヒット)を判定する(ステップ81)。CPU4
がキャッシュフラグ18を調べ、キャッシュフラグ18
がオン(1)の時は、アドレステーブル14において更
新されるデータの格納されているドライブ番号17とス
ペアドライブ番号19と更新されるパリティの格納され
ているパリティドライブ番号20とドライブ内アドレス
21を調べる(ステップ82)。次にCPU4はパリテ
ィドライブ番号20のドライブ12に対し、更新される
パリティである旧パリティの読み出し要求を発行し(ス
テップ83)、パリティドライブ番号20のドライブ1
2ではシーク、回転待ちを行う(ステップ84)。パリ
ティドライブ番号20のドライブ12においてシーク、
回転待ちが完了したら、パリティドライブ番号20のド
ライブ12から旧パリティを読み出し、キャッシュメモ
リ9に格納する(ステップ85)。旧パリティのキャッ
シュメモリ9への格納が完了したら、キャッシュメモリ
9内の更新されるデータ(旧データ)と更新するデータ
(新データ)と旧パリティで排他的論理和を行い、更新
する新パリティを作成する(ステップ86)。新パリテ
ィの作成が完了したら、旧データが格納されていたドラ
イブ12かスペアドライブ番号19のドライブ12の内
で新データが書き込まれていない方のドライブ12に対
し新パリティの書き込み要求を発行する(ステップ8
7)。新パリティの書き込み要求が発行されたドライブ
12ではシーク、回転待ちが行われ(ステップ88)、
シーク、回転待ちが完了したら、新パリティをキャッシ
ュメモリ9から新データが書き込まれていない方のドラ
イブ12に書き込む(ステップ89)。新パリティのド
ライブ12への書き込みが完了したら、アドレステーブ
ル14のパリティドライブ番号20を変更し(ステップ
98)、パリティの更新処理を終了する。
【0052】一方、CPU4がキャッシュフラグ18を
調べ、キャッシュフラグ18がオフ(0)の時は、アド
レステーブル14において更新されるデータの格納され
ているドライブ番号17とスペアドライブ番号19と更
新されるパリティの格納されているパリティドライブ番
号20とドライブ内アドレス21を調べる(ステップ9
0)。
【0053】次にCPU4はドライブ番号17とパリテ
ィドライブ番号20のドライブ12に対し、更新される
データである旧データと、更新されるパリティである旧
パリティの読み出し要求を発行し(ステップ91)、各
ドライブ12ではシーク、回転待ちを行う(ステップ9
2)。各ドライブ12においてシーク、回転待ちが完了
したら、ドライブ番号17のドライブ12から旧データ
を、パリティドライブ番号20のドライブ12から旧パ
リティを読み出し、キャッシュメモリ9に格納する(ス
テップ93)。旧データ、旧パリティのキャッシュメモ
リ9への格納が完了したら、キャッシュメモリ9内の更
新するデータ(新データ)と旧データ、旧パリティで排
他的論理和を行い、更新する新パリティを作成する(ス
テップ94)。新パリティの作成が完了したら、旧デー
タが格納されていたドライブ12か旧パリティの格納さ
れていたドライブ12の内で早く書き込める方のドライ
ブ12に対し新パリティの書き込み要求を発行する(ス
テップ95)。新パリティの書き込み要求が発行された
ドライブ12ではシーク、回転待ちが行われ(ステップ
96)、シーク、回転待ちが完了したら、新パリティを
キャッシュメモリ9から当該ドライブ12に書き込む
(ステップ97)。新パリティのドライブ12への書き
込みが完了したら、アドレステーブル14のパリティド
ライブ番号20を変更し(ステップ98)、パリティの
更新処理を終了する。
【0054】(3)読み出し処理 読み出し時のディスクアレイサブシステム2内のCPU
4の処理を図10のフローチャートで説明する。上記の
ように書き込まれたデータに対し、HOSTCPU1か
ら読み出し要求が発行された場合、CPU4はアドレス
テーブル14において当該データの論理アドレス15と
それに対応するキャッシュフラグ18を調べ(ステップ
52)、更新されるデータがキャッシュメモリ9内に存
在するか(キャッシュヒット)を判定する(ステップ5
3)。CPU4がキャッシュフラグ18を調べ、キャッ
シュフラグ18がオン(1)の時は、キャッシュメモリ
9から当該データを読み出し、HOST CPU1へ当
該データを転送し(ステップ54)、読み出し処理の終
了報告をHOST CPU1に対して行う(ステップ5
9)。
【0055】一方、CPU4がキャッシュフラグ18を
調べ、キャッシュフラグ18がオフ(0)の時は、アド
レステーブル14において、HOST CPU1から読
み出し要求されたデータの当該論理アドレス15に対応
する、ドライブ番号17とドライブ内アドレス21を調
べる(ステップ55)。当該データの格納されているド
ライブ番号17とドライブ内アドレス21が解かった
ら、CPU4は当該ドライブ12の当該ドライブ内アド
レスに対し読み出し要求を発行する(ステップ56)。
読み出し要求を発行された当該ドライブ12ではシー
ク、回転待ちを行い(ステップ57)、CPU4はシー
ク、回転待ちが完了したら当該ドライブ12から当該デ
ータを読み出し(ステップ58)、読み出し処理の終了
報告をHOST CPU1に対して行う(ステップ5
9)。
【0056】(4)障害処理 ドライブ12に障害が発生した時に、その障害が発生し
たドライブ12内のデータを回復し、それを格納するた
めの領域にスペア領域を使用する例を示す。
【0057】本実施の形態では図1に示すように、論理
グループ11内の各ドライブ12では、(1)のアドレ
ステーブルの説明で述べたように、その内部の各々対応
する同一ドライブ内アドレス21のデータによりパリテ
ィを作成し、この作成したパリティも同一ドライブ内ア
ドレス21に格納する。図3は図1において論理グルー
プ11を構成するドライブ数を6台にした場合の論理グ
ループ1を示しており、ドライブ#1、2、3、5のド
ライブ12内のデータ1、2、3、4によりパリティが
作られドライブ#6のドライブ12内に格納されてい
る。本実施例ではパリティは奇数パリティとし、データ
1、2、3の各データにおける各々対応するビットにつ
いて1の数を数え、奇数であれば0、偶数であれば1と
する(排他的論理和)。もし、ドライブ#1のドライブ
12に障害が発生したとする。この時、データ1は読み
出せなくなる。
【0058】本実施例では5台のドライブ12に格納さ
れているデータから、パリティを1個しか作成していな
いため、各論理グループ11において6台のドライブ1
2のうち、1台のドライブ12の障害はデータを復元で
きるが、データの復元が完了する前に更にもう一台のド
ライブ12に障害が発生した場合復元できない。そこ
で、ドライブ#1のドライブ12に障害が発生した場
合、2台目のドライブ12に障害が発生する前に、残り
のデータ2、3、4とパリティをキャッシュメモリ9に
転送し、CPU4はデータ1を復元する回復処理を早急
に行うように指示する。この回復処理を行いデータ1を
復元した後は、CPU4はこのデータ1をドライブ4の
スペア領域に格納する。
【0059】このように、スペア領域を、ドライブ12
に障害が発生したときに、復元したデータを格納するた
めの領域としても活用する。この様に、CPU4がスペ
ア領域に回復したデータ1を格納した後は、図2に示す
アドレステーブル14において、スペアドライブ番号1
9を削除し、回復したデータ1の論理アドレス15に対
するドライブ番号17に、このスペアドライブ番号19
を登録する。
【0060】各ドライブ12にはデータ1の他にスペア
領域、パリティが格納されている。スペア領域について
は回復処理を行い復元する必要は無い。パリティは他の
ドライブ12からデータを読み出して新たに作成しスペ
ア領域に格納する。データは各当該ドライブ12からデ
ータとパリティを読み出して、回復処理を行い復元し、
スペア領域に格納する。
【0061】この様に、ドライブ#2、3、4、5、6
のドライブ12内のスペア領域に、ドライブ#1のドラ
イブ12の回復データを全て格納した後は、スペア領域
が論理グループ11においてなくなるため、先に述べた
ような書き込み時の回転待ちを短くすることはできない
ため、従来のディスクアレイであるRAIDのレベル5
の処理となる。
【0062】この様にして、論理グループ11内のスペ
ア領域を全て使いきってしまった場合は、障害ドライブ
12を正常のドライブ12に交換し、この交換した正常
なドライブ12は全てスペア領域として論理グループを
再構成する。
【0063】障害ドライブ12を正常のドライブ12に
交換した直後は、スペア領域が特定ドライブ12に集中
した形になっているため、このドライブ12が使用でき
ずに待たされることが多くなりネックとなるため、先に
示した回転待ち時間を短縮する効果が、効率的に発揮で
きない。しかし、時間が経つにつれて、スペア領域が分
散されてドライブ12障害前の状態に戻っていき、次第
に解消されていく。もし、この時間が問題となる場合
は、ドライブ12に障害が発生したことを感知した場
合、正常なドライブ12に交換して、この交換した正常
なドライブ12に障害が発生したドライブ12内のデー
タとパリティをユーザが復元することも可能とする。な
お、この時スペア領域に関しては復元せずにスペア領域
として空けておく。
【0064】本実施例ではこの回復処理と、スペア領域
へ復元したデータを書き込む処理をCPU4が独自に行
う。この様に独自に行うことによりドライブ12に障害
が発生した場合、障害が発生したドライブ12を正常な
ドライブ12に交換し回復したデータを書き込むのと比
較し、本実施の形態ではシステムを使用するユーザがド
ライブ12に障害が発生するとすぐに正常なドライブ1
2と交換する必要が無いため、ユーザの負担が軽くな
る。
【0065】(5)パリティ更新処理の開始契機の決定 データ書き込み処理時に保留されていたパリティ更新処
理の一例を、図11のフローチャートおよび図12のパ
リティ更新契機管理テーブルを参照して説明する。
【0066】本実施の形態では、パリティ更新処理の開
始契機を管理するために、CPU用メモリ5またはキャ
ッシュメモリ9の一部に、図12に例示されるような構
造のパリティ更新契機管理テーブル30を設定する。こ
のテーブルには、各論理グループを構成する個々のドラ
イブ(ドライブ番号)毎に、パリティ更新処理の保留回
数(WP)、ディスクアクセス頻度(RM)を格納する
エントリが設定されている。
【0067】HOST CPU1からのデータ書き込み
がある毎に、書き込みデータはキャッシュメモリ9に格
納されていくが、キャッシュメモリ9の容量は有限なた
め、適当な閾値を設けて、パリティ更新保留中における
キャッシュメモリ9での書き込みデータのオーバーフロ
ーを回避する必要がある。そこで、本実施の形態では、
キャッシュメモリ9における書き込みデータ量の増加、
すなわちパリティ更新処理の保留回数(WP)を、たと
えば図8の書き込み処理の実行の都度カウントし、WP
の値が所定の閾値を越えたら、パリティ更新処理を開始
する。
【0068】また、データ読み出し時においてキャッシ
ュヒットの場合には、ディスクアクセスは発生せず、キ
ャッシュミス時にのみディスクアクセスが起こるので、
パリティ更新契機を判定するためのドライブ12の負荷
の大小は、キャッシュミスの発生頻度(RM)で計測す
ることができる。このディスクアクセス頻度(RM)
は、図10に例示される読み出し処理におけるキャッシ
ュミスを計数することで得られる。なお、キャッシュヒ
ットの場合でもCPU4の負荷は発生するが、簡単のた
め、CPU4の負荷は除外する。
【0069】以下、図11のフローチャートにて、パリ
ティ更新処理の開始契機の決定過程の一例を説明する。
【0070】まず、ディスクアレイサブシステム2のC
PU4は、HOST CPU1からのコマンドを待ち
(ステップ101)、コマンドを受領したら、RDコマ
ンドかライトコマンドかを判別する(ステップ10
2)。なお、RDおよびWRコマンド以外の処理は割愛
する。
【0071】そして、RDコマンドの場合には、前述の
図10のフローチャートに例示される読み出し処理を実
行し(ステップ103)、さらに、読み出し時における
キャッシュミスの発生回数(RM)を計数してパリティ
更新契機管理テーブル30の該当エントリを更新し(ス
テップ104)、ステップ101のコマンド待ちに戻
る。
【0072】一方、WRコマンドの場合には、前述の図
8のフローチャートに例示される書き込み処理を実行し
(ステップ105)、さらに、パリティ更新処理の保留
回数WPを計数して、パリティ更新契機管理テーブル3
0の該当エントリを更新する(ステップ106)。
【0073】その後、キャッシュメモリ9におけるオー
バーフロー等を回避すべく、キャッシュメモリ9の容量
等によって決定される既定値を、パリティ更新処理の保
留回数WPが超過したか否かを調べ(ステップ10
7)、超過している場合には、前述の図9のフローチャ
ートに例示されたパリティ更新処理を実行して(ステッ
プ108)、ステップ101のコマンド待ちに戻る。
【0074】一方、ステップ107の判定において、パ
リティ更新処理の保留回数WPが既定値未満の場合に
は、さらに、ドライブ12の負荷の大小を反映したキャ
ッシュミスの発生回数(RM)が所望の既定値以下か否
かを調べ(ステップ109)、RMが既定値以下の場合
には、ドライブ12における現在の負荷が小さく、従っ
てライトペナルティの影響が小さいと判断して、ステッ
プ108のパリティ更新処理を実行する。このRMの値
は、各ドライブ12毎の値、各論理グループ11毎の合
計値、あるいは、ディスクアレイサブシステム2の全体
の合計値のいずれかを任意に用いることができる。ま
た、ステップ109の判定においてRMが既定値を越え
ている場合には、現在のドライブ12の負荷が大きく、
パリティ更新処理の実行に伴うライトペナルティの影響
が大きいと判断して、ステップ108のパリティ更新処
理を保留し、ステップ101のコマンド待ちに戻る。
【0075】なお、図11のフローチャートの説明で
は、ステップ108のパリティ更新処理の実行の可否を
判定する条件として、キャッシュミスの発生回数(R
M)やパリティ更新処理の保留回数WPの大小を参照し
ているが、あらかじめ、ディスクアレイサブシステム2
の稼働パターンが知られており、ドライブ12等の負荷
が小さくなる時間帯が判明している場合には、当該稼働
パターン等の情報を所望のテーブルに記録しておき、ス
テップ107やステップ109の判定時に当該テーブル
を参照して、ディスクアレイサブシステム2における負
荷の小さな時間帯を選んでステップ108のパターン更
新処理を実行させてもよい。
【0076】以上説明したように、本実施の形態では、
書き込み処理においてキャッシュメモリ9とスペア領域
に書き込みデータ(新データ)をとりあえず二重化して
格納し、この段階でHOST CPU1に対し書き込み
処理の終了報告を行うことにより、HOST CPU1
にとってはこの二重化してドライブ12に書き込む時間
が書き込み処理時間になる。従来のアレイディスクでは
書き込み時に平均1.5回転の回転待ち時間が必要とした
のが、もし、論理グループ11を構成するドライブ12
の回転を同期させた場合は、回転待ちは平均0.5回転と
なる。また、新パリティをドライブ12に書き込む前に
論理グループ11を構成するドライブ12に障害が発生
しても、キャッシュメモリ9内の新データによりデータ
保証を行うことが可能となる。
【0077】また、データの書き込み時におけるパリテ
ィの更新処理を保留して、HOSTCPU1からの読み
出しまたは書き込み要求が少ない時まで遅らせることに
より、ライトペナルティが軽減されるので、HOST
CPU1にとっては、読み出しまたは書き込み処理要求
が多い時は書き込み処理を高速に行え、これにより単位
時間当りのI/O処理件数(スループット)を増加させ
ることが可能となる。さらに、キャッシュメモリ9との
二重書き込みに使用したスペアドライブに書き込まれた
データをそのまま使用し、旧データのドライブを新たな
スペアドライとして使用するので、従来では通常は使用
しないスペアのドライブを、回転待ち時間の短縮とい
う、性能向上のために使用でき、ドライブ資源の有効活
用が図れる。
【0078】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0079】たとえば、上述の説明では、ドライブとし
て磁気ディスク装置を用いた場合を例示したが、本発明
は光ディスク装置等の任意の回転型記憶装置を用いたデ
ィスクアレイサブシステムにおいても同様な効果を発揮
することが可能である。
【0080】
【発明の効果】本発明の記憶装置によれば、たとえばレ
ベル5のディスクアレイを構成する場合において、書き
込み時における処理のオーバヘッドを減少させて、ディ
スクアレイの性能向上を実現できる、という効果が得ら
れる。
【0081】また、障害ドライブ内のデータ復元用スペ
アドライブの記憶容量を装置の性能向上に利用すること
によってドライブ資源の有効活用を図ることができる、
という効果が得られる。
【0082】また、入出力処理の負荷の変動等を利用し
てライトペナルティの軽減を実現することができる、と
いう効果が得られる。
【図面の簡単な説明】
【図1】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムの構成の一例を示す概念図であ
る。
【図2】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるアドレス変換テーブルの
一例を示す説明図である。
【図3】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるキャッシュミス時の書き
込み処理の一例を示す説明図である。
【図4】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるキャッシュミス時の書き
込み処理の一例を示す説明図である。
【図5】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるキャッシュミス時の書き
込み処理のタイミングチャートである。
【図6】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるキャッシュヒット時の書
き込み処理の一例を示す説明図である。
【図7】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるキャッシュヒット時の書
き込み処理のタイミングチャートである。
【図8】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおける書き込み処理時のフロー
チャートである。
【図9】本発明の記憶装置の一実施の形態であるディス
クアレイサブシステムにおけるパリティ更新時のフロー
チャートである。
【図10】本発明の記憶装置の一実施の形態であるディ
スクアレイサブシステムにおける読み出し処理時のフロ
ーチャートである。
【図11】本発明の記憶装置の一実施の形態であるディ
スクアレイサブシステムにおけるパリティ更新処理の開
始契機の決定過程の一例を説明するフローチャートであ
る。
【図12】本発明の記憶装置の一実施の形態であるディ
スクアレイサブシステムにおけるパリティ更新契機管理
テーブルの一例を示す説明図である。
【図13】従来の一般的なRAID(Level5)の
ディスクアレイにおけるパリティ更新処理の一例を示す
説明図である。
【符号の説明】
1…HOST CPU(上位装置)、2…ディスクアレ
イサブシステム(記憶装置)、3…外部バス、4…CP
U、5…CPU用メモリ、6…ROM、7…内部バス、
8…インターフェース回路、9…キャッシュメモリ、1
0…SCSIコントローラ、11…論理グループ、12
…ドライブ、13…SCSIバス、14…アドレステー
ブル、15…論理アドレス、16…論理グループ番号、
17…ドライブ番号、18…キャッシュフラグ、19…
スペアドライブ番号、20…パリティドライブ番号、2
1…ドライブ内アドレス、30…パリティ更新契機管理
テーブル。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 上位装置との間で授受されるデータが格
    納される記憶階層を構成するキャッシュメモリおよび複
    数のドライブからなり、複数の前記データから少なくと
    も一つの冗長データを生成し、前記データおよび前記冗
    長データを複数の前記ドライブに分散して格納する記憶
    装置であって、 前記上位装置からのデータ書き込み要求に応じて受領し
    た書き込みデータを前記キャッシュメモリおよび前記ド
    ライブに二重に書き込み、以降は前記ドライブに書き込
    まれた前記書き込みデータを使用する制御論理を備えた
    ことを特徴とする記憶装置。
  2. 【請求項2】 請求項1記載の記憶装置において、前記
    書き込みデータが既に前記ドライブに格納されている複
    数の旧データの一つに対応した更新データの場合、当該
    更新データを、前記旧データが格納されていたドライブ
    とは異なるスペアドライブに格納し、前記旧データが格
    納されていた前記ドライブを、以降に発生する他の前記
    書き込みデータのための前記スペアドライブとして使用
    することを特徴とする記憶装置。
  3. 【請求項3】 請求項1記載の記憶装置において、前記
    キャッシュメモリおよび前記ドライブに前記書き込みデ
    ータを二重に格納した時点で、前記上位装置に書き込み
    完了を報告し、前記上位装置からの前記データ書き込み
    要求とは非同期に任意の契機で、前記書き込みデータに
    対応した前記冗長データの生成処理を実行することを特
    徴とする記憶装置。
JP8185791A 1996-07-16 1996-07-16 記憶装置 Pending JPH1031563A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8185791A JPH1031563A (ja) 1996-07-16 1996-07-16 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8185791A JPH1031563A (ja) 1996-07-16 1996-07-16 記憶装置

Publications (1)

Publication Number Publication Date
JPH1031563A true JPH1031563A (ja) 1998-02-03

Family

ID=16176965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8185791A Pending JPH1031563A (ja) 1996-07-16 1996-07-16 記憶装置

Country Status (1)

Country Link
JP (1) JPH1031563A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827677B1 (ko) 2006-06-20 2008-05-07 한국과학기술원 행렬 스트라이프 캐쉬를 이용한 raid 시스템의 입출력성능 향상 방법
JP2011232962A (ja) * 2010-04-27 2011-11-17 Toshiba Corp ディスクアレイ装置およびミラードキャッシュ制御方法
JP2012215956A (ja) * 2011-03-31 2012-11-08 Nec Corp ストレージ装置及びストレージ装置のデータ書き込み制御方法
WO2015011825A1 (ja) * 2013-07-26 2015-01-29 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
WO2017216887A1 (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 情報処理システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827677B1 (ko) 2006-06-20 2008-05-07 한국과학기술원 행렬 스트라이프 캐쉬를 이용한 raid 시스템의 입출력성능 향상 방법
JP2011232962A (ja) * 2010-04-27 2011-11-17 Toshiba Corp ディスクアレイ装置およびミラードキャッシュ制御方法
JP2012215956A (ja) * 2011-03-31 2012-11-08 Nec Corp ストレージ装置及びストレージ装置のデータ書き込み制御方法
WO2015011825A1 (ja) * 2013-07-26 2015-01-29 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
US9223655B2 (en) 2013-07-26 2015-12-29 Hitachi, Ltd. Storage system and method for controlling storage system
WO2017216887A1 (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 情報処理システム
JPWO2017216887A1 (ja) * 2016-06-15 2019-01-17 株式会社日立製作所 情報処理システム

Similar Documents

Publication Publication Date Title
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US5579474A (en) Disk array system and its control method
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US6006342A (en) Failover and failback system for a direct access storage device
US7975168B2 (en) Storage system executing parallel correction write
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US6591335B1 (en) Fault tolerant dual cache system
US8041891B2 (en) Method and system for performing RAID level migration
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
JP3270959B2 (ja) ディスクアレイ装置におけるパリティ格納方法およびディスクアレイ装置
JP2000357059A (ja) ディスクアレイ装置
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JPH1031563A (ja) 記憶装置
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
JP3256329B2 (ja) ディスクアレイ装置及びその制御方法
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法
JP3542577B2 (ja) ディスクアレイ装置及びその制御方法
JPH07210333A (ja) アレイ型ディスクシステムの制御方式
JPH06242888A (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置
JPH09265435A (ja) 記憶装置システム
JPH07328072A (ja) キャッシュ制御方法および情報処理装置
JP3718506B2 (ja) ディスクアレイ装置及びその制御方法
JP2023133864A (ja) ストレージ装置およびリビルド制御方法