JPH06119120A - ディスクアレイ制御方式 - Google Patents

ディスクアレイ制御方式

Info

Publication number
JPH06119120A
JPH06119120A JP4269824A JP26982492A JPH06119120A JP H06119120 A JPH06119120 A JP H06119120A JP 4269824 A JP4269824 A JP 4269824A JP 26982492 A JP26982492 A JP 26982492A JP H06119120 A JPH06119120 A JP H06119120A
Authority
JP
Japan
Prior art keywords
data
disk array
cache memory
disk
update
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.)
Granted
Application number
JP4269824A
Other languages
English (en)
Other versions
JP3122252B2 (ja
Inventor
Mitsuhiko Yashiro
光彦 矢代
Suijin Takeda
帥仁 武田
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 JP04269824A priority Critical patent/JP3122252B2/ja
Priority to DE4345320A priority patent/DE4345320B4/de
Priority to DE4392143A priority patent/DE4392143C1/de
Priority to PCT/JP1993/000663 priority patent/WO1993023803A1/ja
Publication of JPH06119120A publication Critical patent/JPH06119120A/ja
Priority to US08/746,154 priority patent/US5787460A/en
Priority to US09/031,004 priority patent/US5954822A/en
Application granted granted Critical
Publication of JP3122252B2 publication Critical patent/JP3122252B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】ディスクアレイの更新時に冗長情報を生成する
ために必要なディスクアクセスを効率良く行う。 【構成】冗長情報の生成をディスクアレイ34のディス
ク装置をアクセスすることなく可能とするため、キャッ
シュメモリ34を設ける。キャッシャメモリ34の記憶
は、データのみを記憶、冗長情報のみを記憶、データと
冗長情報の両方を記憶の3ケースに分けられる。キャッ
シュ制御手段24は、アクセス処理手段34でディスク
アレイ46を更新する前にキャッシュメモリ26から更
新前のデータ及び又は冗長情報を検索してアクセス処理
手段34に供給して冗長情報を生成させる。

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]図34はデータの冗長性をもたないディ
スクアレイ装置を示したもので、デビット・A・パター
ソンらの分類には含まれていないが、これを仮にRAI
D0と呼ぶ。
【0005】RAID0のディスクアレイ装置は、デー
タA〜Iに示すように、ディスクアレイ制御装置10は
ホストコンピュータ18からの入出力要求に基づきデー
タをディスク装置32−1〜32−3のそれぞれに分散
させているだけであり、ディスク故障時におけるデータ
の冗長性はない。 [RAID1]RAID1のディスクアレイ装置は図3
5に示すように、ディクス装置32−1に格納したデー
タA〜CのコピーA´〜C´を格納したミラーディスク
装置32−2を備える。RAID1はディスク装置の利
用効率が低いが冗長性をもっており、簡単な制御で実現
できるため、広く普及している。 [RAID2]RAID2のディスクアレイ装置はデー
タをビットやバイト単位でストライピング(分割)し、
それぞれのディスク装置に並列に読み書きを行う。スト
ライピングしたデータは全てのディスク装置で物理的に
同じセクタに記録する。エラー訂正コードとしてはデー
タから生成したハミングコードを使用する。データ用デ
ィスク装置の他にハミングコードを記録するためのディ
スク装置を持ち、ハミングコードから故障したディスク
装置を特定して、データを復元する。
【0006】このようにハミングコードによる冗長性を
備えることでディスク装置が故障しても正しいデータを
確保できるが、ディスク装置の利用効率が悪いために実
用化されていない。 [RAID3]RAID3のディスクアレイ装置は、図
36に示す構成をもつ。即ち、図37に示すように例え
ばデータa,b,cをビットまたはセクタ単位にデータ
a1〜a3,b1〜b3,c1〜c3に分割し、更にデ
ータa1〜a3からパリティP1を計算し、データb1
〜b3からパリティP2を計算し、データc1〜c3か
らパリティP3を計算し、図36のディスク装置32−
1〜32−4を同時並列的にアクセスして書き込む。
【0007】RAID3では、データの冗長性はパリテ
ィにより保持される。また分割したデータの並列処理に
よりデータの書込み時間は短縮できる。しかし、1回の
書込み又は読出しのアクセスで、全てのディスク装置3
2−1〜32−4の並列的なシーク動作を必要とする。
このため大量のデータを連続して扱う場合には有効であ
るが、少量のデータをランダムにアクセスするトランザ
クション処理のような場合には、データ転送の高速性が
生かせず、効率が低下する。 [RAID4]RAID4のディスクアレイ装置は、図
38に示すように、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のディスクアレイ装置は、パ
リティ用のディスク装置を固定しないことで、並列の読
み書きを可能にしている。即ち、図39に示すように、
セクタごとにパリティの置かれるディスク装置が異なっ
ている。ここでデータ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は、非同期に複数の
ディスク装置にアクセスしてリード/ライトを実行でき
るため、少量データをランダムにアクセスするトランザ
クション処理に向いている。ここでRAID3〜RAI
D5に示したようなディスクアレイ装置において、冗長
な情報の生成に関連するディスク装置の組合わせをラン
クと呼ぶことにする。例えば、データ記録用のk台のデ
ィスク装置と、データに関連した冗長な情報を記録する
m台のディスク装置がある場合、(k+m)台のディス
ク装置をまとめてランクとする。
【0013】
【発明が解決しようとする課題】このような従来のRA
ID4およびRAID5に相当するディスクアレイ装置
にあっては、ランク内のディスク装置に格納しているデ
ータの一部あるいは全部を書き替えて更新する場合、更
新するデータに関連する冗長な情報も更新する必要があ
る。この時、新しい冗長情報を得るために、更新前のデ
ータと冗長情報が必要になる。
【0014】いま冗長情報としてパリティデータを使用
したとすると、ディスクアレイ装置のランク内の1台の
ディスク装置のデータを更新する時には次の(1)式か
ら新パリティを計算することができる。 旧データ(+)旧パリティ(+)新データ=新パリティ (1) 但し、(+)は排他的論理和を示す。 この(1)式から分かるように、データ更新時には、更
新データの書き込みの前に、更新前データと冗長情報を
それぞれのディスク装置から読み出しておかなければな
らない。このため、更新前のデータおよび冗長情報をデ
ィスク装置から読出す分だけ通常のディスク装置よりデ
ータ更新の処理に時間が多くかかるという問題があっ
た。本発明の目的は、更新時に冗長情報を生成するため
に必要なディスクアクセスを効率良く行うようにしたデ
ィスクアレイ装置を提供する。
【0015】本発明の他の目的は、冗長情報の生成に使
用する更新前のデータをキャッシュメモリに格納してデ
ィスク装置から読出し不要としたディスクアレイ装置を
提供する。本発明の他の目的は、冗長情報の生成に使用
する更新前の冗長情報をキャッシュメモリに格納してデ
ィスク装置から読出し不要としたディスクアレイ装置を
提供する。
【0016】本発明の他の目的は、冗長情報の生成に使
用する更新前のデータおよび冗長情報をキャッシュメモ
リに格納してディスク装置から読出し不要としたディス
クアレイ装置を提供する。本発明の他の目的は、更新を
複数回行うまではディスク装置にデータ及び又は冗長情
報を書き戻さないようにして更新処理を効率良く行うよ
うにしたディスクアレイ装置を提供する。
【0017】本発明の他の目的は、ディスク装置及びキ
ャッシュメモリの空き領域にダミーデータを格納して更
新時の冗長情報の生成が効率良くできるようにしたディ
スクアレイ装置を提供する。
【0018】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明で用いるディスクアレイ46は、
データを格納する複数のディスク装置32−1〜32−
4と冗長情報として例えぱパリティデータを格納するデ
ィスク装置32−5を備える。
【0019】ここでデータ格納用のディスク装置32−
1とパリティ格納用のディスク装置32−5の組をラン
クと定義し、また各ディスク装置32−1〜32−5に
所定データ長、例えばセクタ単位にデータを分割して書
込むものとする。パリティ格納用のディスク装置は、固
定的に決めてもよいし(RAID−4)、セクタ位置毎
に異ならせるようにしてもよい(RAID−5)。
【0020】データ処理手段34は、上位装置18から
の更新要求を受けると、新たなデータ、更新前のデータ
および更新前の冗長情報に基づいて新たな冗長情報を生
成すると共に、ディスクアレイ46に格納している更新
前のデータおよび冗長情報を新たなデータおよび冗長情
報に更新する。冗長情報としてパリティデータを用いた
場合、新たなデータ、更新前のデータおよび更新前のパ
リティデータの排他的論理和により新たなパリティデー
タを生成する。即ち、次式で求める。 新パリティ=新データ(+)旧データ(+)旧パリティ さらに本発明は、冗長情報をディスクアレイ46のディ
スク装置をアクセスすることなく生成するため、キャッ
シュメモリ26を設ける。キャッシャメモリ26の記憶
データは次の3つのケースに分かれる。
【0021】(1)データのみを記憶 (2)冗長情報のみを記憶 (3)データと冗長情報の両方を記憶 キャッシュ制御手段24は、アクセス処理手段34でデ
ィスクアレイ46を更新する前にキャッシュメモリ26
から更新前のデータ及び又は冗長情報を検索してアクセ
ス処理手段34に供給して冗長情報を生成させる。
【0022】またキャッシュ制御手段24は、キャッシ
ュメモリ26の検索でデータ及び又は冗長情報が記憶さ
れていなかったミスの場合には、アクセス処理手段34
に記憶なしを通知してディスクアレイ46からの読出し
に基づく更新後にデータ及び又は冗長情報をキャッシュ
メモリ26に記憶する。さらに本発明は、予め定めた所
定回数だけデータをキャッシュメモリ26上の新たに確
保した領域で更新した後にディスクアレイ46に書き戻
す。
【0023】具体的には、アクセス処理手段34は、更
新回数が所定回数に達するまでは、更新毎に新たな冗長
情報を生成することなくキャッシュメモリ26上でデー
タを更新し、更新回数が所定回数に達した時には、キャ
ッシュメモリ26上でデータを更新した後にディスクア
レイ46から読出した更新前の冗長情報(旧パリティ)
およびキュッシュメモリ26から読出した最新の更新デ
ータと更新前のデータ(旧データ)から新たな冗長情報
を生成し、ディスクアレイ46にデータおよび冗長情報
を書き戻す。
【0024】この場合の冗長情報の生成は、パリティデ
ータの生成を例にとると次式のようになる。 新パリティ=旧データ(+)旧パリティ(+)最新の更
新データ 更に、ディクスアレイ内34の各ディスク装置及びキャ
ッシュメモリ26の空き領域にダミーデータDdummy
よびダミー冗長情報Pdummy を格納し、アクセス処理手
段34はデータの更新及び削除時に空き領域のダミーデ
ータ及びダミー冗長情報を含めて新たな冗長情報を生成
し、且つダミーデータ及びダミー冗長情報についてはデ
ィスクアレイ46から読出さずに予め設定した値を使用
する。
【0025】
【作用】このような構成を備えた本発明のディスクアレ
イ装置によれば、データの更新処理時に、更新処理以前
にアクセスされたデータの一部または全部を記憶してお
くキャッシュメモリを設け、更新処理の際に更新前のデ
ータがキャッシュメモリに記憶されていたならば、キャ
ッシュメモリから読出して使用することで、ディスク装
置から読み出す処理が省くことができ、処理時間を短縮
することが可能となる。
【0026】またデータと同時に対応する冗長情報もキ
ャッシュメモリに記憶するれば、更新前の冗長情報もデ
ィスク装置から直接読み出す処理を省略することが可能
となって、一層の処理時間の短縮が可能となる。更に、
更新処理時に、更新されたデータをすぐディスク装置に
書き込まないでキャッシュメモリ上に記憶しておき、そ
のデータが所定回数だけ更新された後にデータ装置に書
き戻す処理を行うことで、更新前データと最新の更新デ
ータをキャッシュメモリから読出して新たな冗長情報を
生成することができ、更新処理毎に更新データと冗長情
報のディスク装置に書き込み処理を不要にできる。
【0027】更にまたディスク装置およびキャッシュメ
モリの空き領域にダミーデータを入れ、ダミーデータを
含めて同一セグメントのいずれかの更新時に冗長情報の
生成を行い、冗長情報を生成するための同一セグメント
の空き領域の管理を不要とする。またダミーデータは決
った固定値であることからディスク装置からの読出しを
必要とせず、ダミーデータを含めても冗長情報の生成は
簡単にできる。
【0028】
【実施例】
<目次> 1.本発明のハードウェア構成 2.データのみをキャッシュメモリに記憶する第1実施
例 3.複数回更新後のディクス装置への書き戻し処理 4.冗長情報のみをキャッシュメモリに記憶する第2実
施例 5.データ及び冗長情報の両方をキャッシュメモリに記
憶する第3実施例 6.ダミーデータを空き領域に記憶する第4実施例 1.本発明のハードウェア構成 図2は本発明によるディスクアレイ装置のハードウェア
構成を示した実施例構成図である。
【0029】図2において、ディスクアレイ制御装置1
0には制御手段として動作するMPU12が設けられ、
MPU12からの内部バス14に対し、処理プログラム
を格納したROM20、制御記憶等として用いられるR
AM22、キャッシュ制御部24を介して接続したキャ
ッシュメモリ26、データ転送バッファ28が設けられ
る。また、上位装置としてのホストコンピュータ18と
のやり取りを行うため、ホストインタフェース16が設
けられている。
【0030】ディスクアレイ制御装置10の配下には、
この実施例にあってはランク48−1,48−2の2ラ
ンク構成のディスクアレイ46が設けられている。ディ
スクアレイ46の中のランク48−1には5台のディス
ク装置32−1〜32−5が設けられ、ランク48−2
にも同じく5台のディスク装置32−6〜32−10が
設けられる。
【0031】更に、ランク48−1,48−2のそれぞ
れに対し予備機として待機状態にあるディスク装置32
−11,32−12が設けられる。ランク48−1,4
8−2を構成する5台のディスク装置の内、4台がデー
タ記録用に使用され、残り1台がパリティ記録用に使用
される。但し、パリティ記録用のディスク装置が固定さ
れるのは、図38に示したRAID4のディスクアレイ
の場合であり、図39に示したRAID5のディスクア
レイにあっては、ディスク内への記録単位であるセクタ
位置が異なる毎に、ランク内でのパリティの記録位置が
変更されるようになる。
【0032】ランク48−1,48−2を構成するディ
スク装置32−1〜32−10及び予備のディスク装置
32−11,32−12は、ディスクアレイ制御装置1
0に設けたデバイスアダプタ30−1〜30−6を介し
てMPU12の内部バス14に接続される。デバイスア
ダプタ30−1,30−6はランク48−1,48−2
の同一位置のディスク装置、例えばデバイスアダプタ3
0−1にあってはディスク装置32−1,32−6のア
クセスをMPU12の制御のもとに実行する。
【0033】図3は図2のキャッシュ制御部24の構成
を示す。キャッシュ制御部24は、全体を制御するMP
U60、MPU60の制御で使用する制御記憶62、バ
ス14との間でデータやMPU6との指示のやり取りを
制御するバス制御回路64、キャッシュメモリ26との
間でデータの受渡しを行うメモリ制御回路68、バス制
御回路64とメモリ制御回路68の間のデータ受渡しを
行うバッファ回路66を備える。
【0034】ディスクアレイ制御装置10のMPU12
から送られた指示は、バス14を経由してバス制御回路
64を通り、キャッシュ制御部24のMPU60に渡さ
れる。MPU60は、アクセス対象のメモリアドレスを
メモリ制御回路68に指示する。更にMPU60は、メ
モリ制御回路68、バッファ回路66、バス制御回路6
4へデータ転送に間する指示を行う。キャッシュメモリ
26からの読出しの場合は、指示されたメモリアドレス
の内容が、メモリ制御回路68、バッファ回路66およ
びバス制御回路64を通してバス14に渡される。キャ
ッシュメモリ26への書込みの場合、バス14からバス
制御回路64に渡されたデータは、バッファ回路66経
由でメモリ制御回路68へ渡り、キャッシュメモリ26
の指定アドレスに書込まれる。 2.データのみをキャッシュメモリに記憶する第1実施
例 図4は本発明の第1実施例を示した機能ブロック図であ
り、この第1実施例にあっては、ディスクアレイ制御装
置10に設けたキャッシュメモリ26にディスクアレイ
46の更新に使用したデータのみを記憶するようにした
ことを特徴とする。
【0035】図4において、ディスクアレイ制御装置1
0に設けられたアクセス処理部34はMPU12のプロ
グラム制御により実現され、ホストコンピュータ18か
らの入出力要求としてのコマンドに基づいてディスクア
レイ46に対するアクセス処理を実行する。図4にあっ
ては、ディスクアレイ46としてディスク装置32−1
〜32−5の5台を取り出して示した1ランク構成とし
て示している。1つのランクを構成するディスク装置3
2−1〜32−5は、破線で示すように所定のデータ記
録単位、例えばセクタ単位に分けられている。また、デ
ィスク装置32−1〜32−5のそれぞれには物理ID
が予め設定されており、ホストコンピュータ18からの
論理IDをアクセス処理部34に設けたデバイスID管
理テーブルで物理IDに変換して、アクセス対象となる
ディスク装置を指定することができる。
【0036】即ち、ホストコンピュータ18間のコマン
ドをアクセス処理部34で解読すると、ディスクIDと
データアドレスが得られ、ディスクIDにより特定のデ
ィスク装置を指定してデータアドレスに対しホストコン
ピュータ18からの要求に基づいたリード処理またはラ
イト処理を実行することになる。ディスクアレイ46の
ディスク装置32−1〜32−5の各セクタ位置に対す
る格納データとして、この実施例にあってはRAID4
において、パリティディスクをディスク装置32−5に
固定した場合を例にとっている。
【0037】例えばディスク装置32−1〜32−4の
各第1セクタ位置での格納データD01〜D04の排他
的論理和として求めたパリティデータP01をディスク
装置32−5の同一セクタ位置に格納している。キャッ
シュ制御部24には図3に示したMPU60でのプログ
ラム制御で実現されるヒット判定部36とキャッシュア
クセス部38が設けられる。
【0038】ヒット判定部36はアクセス処理部34で
ホストコンピュータ18からのコマンドを解読して得ら
れたディスクIDとデータアドレスの通知を受け、キャ
ッシュメモリ26の検索を行う。第1実施例において、
キャッシュメモリ26にはディスクアレイ46の中のデ
ータ記録用のディスク装置32−1〜32−4に対し行
った更新データのみが記憶されている。
【0039】ヒット判定部36はアクセス処理部34か
らのデバイスIDとデータアドレスに基づいてキャッシ
ュテーブルを参照し、キャッシュテーブルで該当するデ
ータのキャッシュ登録を、即ちヒットを判定すると、キ
ャッシュメモリ26から対応する更新前の旧データを読
み出してアクセス処理部34に供給する。アクセス処理
部34はディスクアレイ46の指定されたディスク装置
のデータ更新を実行する前に、キャッシュメモリ26か
ら読み出した更新前の旧データ、ディスク装置に格納し
ている旧パリティおよび更新する新データとに基づき、
新パリティを生成し、新パリティの生成後にディスク装
置に新データを書き込んで更新すると共に、パリティ用
のディスク装置32−5の更新セクタと同一位置のセク
タに新パリティを書き込んで、パリティの更新を行う。
【0040】ヒット判定部36でキャッシュ管理テーブ
ルを検索しても対象データの登録が得られなかったミス
判定時には、キャッシュメモリ26から読み出さず、通
常通りディスクアレイ46の更新対象となったディスク
装置の対応セクタに格納している更新前の旧データとパ
リティ用のディスク装置32−5の同一セグメントの更
新前の旧パリティを読み出し、更に新データとから新パ
リティを生成した後、ディスク装置に対するデータとパ
リティを更新する。
【0041】図5は図4のキャッシュメモリ26の記憶
内容の一例を示したもので、記憶アドレスはディスクI
D番号とデータアドレスに対応するセクタ番号で特定す
ることができ、ディスクアレイ46のディスク装置32
−1〜32−4と対応関係をもってデータD01,D0
2,D03,・・・を記憶している。図6はセクタ位置
が変わる毎にパリティデータを記憶するディスク装置が
異なるRAID5相当のディスクアレイ46に対応した
キャッシュメモリ26の記憶内容を示したもので、同じ
くディスクID番号とデータアドレスに対応したセクタ
番号で記憶領域を特定することができる。ここで斜線に
より消去したディスクID番号とセクタ番号で指定され
る領域は、パリティデータに対応していることから、第
1実施例のデータのみをキャッシュメモリ26に記憶す
る場合には除外されている。
【0042】図7は図4のディスクアレイ制御装置10
における全体的な処理動作を示したフローチャートであ
る。図7において、まずステップS1でアクセス処理部
34がホストコンピュータ18からのコマンドの受領の
有無をチェックしており、コマンドを受領するとステッ
プS2に進んでコマンド解読処理を行う。解読したコマ
ンド内容について、ステップS3でリードかライトかを
判別し、リードであればステップS4のリード処理に進
み、ライトであればステップS5のライト処理に進む。
【0043】ここで、ホストコンピュータ18によるデ
ィスクアレイ46に対する入出力要求としては、 新規データの書込み、 既存データを書き替える更新、 既存データの削除、 があり、各入出力要求の内容に応じたステップS4のリ
ード処理及びまたはステップS5のライト処理が実行さ
れることになる。
【0044】図8は図7のステップS4に示したリード
処理の詳細を示したフローチャートである。図8におい
て、まずステップS1でアクセス処理部34がホストコ
マンドの解読結果として得られたディスクIDとデータ
アドレスで決まるセクタ番号をキャッシュ制御部24の
ヒット判定部36に通知する。ヒット判定部36はステ
ップS2でキャッシュ管理テーブルをディスクIDとセ
クタ番号に基づいて検索し、キャッシュメモリ26に対
するリード対象データの登録の有無を判定する。
【0045】ステップS2におけるヒット判定の処理結
果、ステップS3で対応データの登録がなく、ミスであ
った場合には、ステップS4に進み、ディスクIDとデ
ータアドレスで指定されるディスク装置のセクタからデ
ータを読み出して、図2に示したデータ転送バッファ2
8に転送し、続いてステップS5でホストコンピュータ
18に転送し、更にキャッシュメモリ26にリードデー
タを記憶する。
【0046】ステップS6でキャッシュメモリ26にデ
ータを格納する場合、キャッシュメモリ26に新しいデ
ータを格納する領域が足りなければ、不要と思われるデ
ータをキャッシュメモリ26から追い出し、新たに領域
を確保して新しいデータを記憶する。このキャッシュメ
モリ26の管理としては、最新に使用したデータをキャ
ッシュ管理テーブルで決まるリストの最後に取り付け、
使用していない最も古いデータを追い出すLRU方式を
用いればよい。
【0047】一方、ステップS3でキャッシュ管理テー
ブルに対応するデータ登録が存在してヒット判定が得ら
れると、ステップS3からS7に進み、対応するデータ
をキャッシュメモリ26から読み出してデータ転送バッ
ファ28に転送し、ステップS8でホストコンピュータ
に転送する。この図8のリード処理にあっては、ディス
クアレイからデータを読み出すだけであることから、パ
リティデータの更新は必要としない。
【0048】図9は図7のステップS5に示したライト
処理の詳細を示したフローチャートである。図9におい
て、まずアクセス処理部34はステップS1でホストコ
マンドの解読結果として得られたディスクIDとデータ
アドレスに対応したセクタ番号をキャッシュ制御部24
のヒット判定部36に通知し、ステップS2でヒット判
定処理が行われる。このヒット判定の結果、ステップS
3でミスが判別されると、キャッシュメモリ26に更新
前の旧データがないことからステップS4に進み、ディ
スクIDとデータアドレスに基づいて対応するデータ記
録用のディスク装置から更新前の旧データを読み出す。
【0049】またパリティ記録用のディスク装置の旧デ
ータと同一位置のセクタから更新前の旧パリティデータ
を読み出して、データ転送バッファ28に転送する。次
にステップS5で、アクセス処理部34がディスク装置
から読み出した旧データDold ,旧パリティPold 及び
新データDnew から新パリティPnew を生成する。即
ち、前述した(1)式に従って旧データ,旧パリティ及
び新データの排他的論理和から新パリティを生成する。
【0050】次にステップS6で新データと新パリティ
をそれぞれ対応するディスク装置に書き込んで更新し、
ステップS7でキャッシュメモリ26に新データを記憶
して次のアクセスに備える。一方、ステップS3でヒッ
ト判定の結果がヒットであった場合にはステップ8に進
み、キャッシュメモリ26から更新前の旧データを読み
出し、続いてステップS9でパリティ記録用のディスク
装置の旧データを格納したセクタと同一位置のセクタか
ら更新前の旧パリティを読み出して、データ転送バッフ
ァ28に転送する。
【0051】以降の処理はミスの場合と同様、ステップ
S5で新パリティを生成し、ステップS6で新データと
新パリティをそれぞれディスク装置に書き込み、更にス
テップS7でキャッシュメモリに更新が済んだ新データ
を記憶して、次のアクセスに備える。 3.複数回更新後のディスク装置への書戻し処理 図10は図7に示したステップS6のライト処理の他の
実施例を示したフローチャートであり、このライト処理
にあっては、キャッシュ制御部24でヒット判定が得ら
れたときに、キャッシュメモリ26上で同じ領域のデー
タを複数回更新した後にディスク装置に書き戻すステッ
プS8の処理を設けたことを特徴とする。
【0052】即ち、図8のライト処理にあっては、デー
タ更新毎にディスク装置に対する新データ及び新パリテ
ィの書戻しを行っており、データ更新処理に時間がかか
る。これに対し図10の実施例にあっては、複数回のデ
ータ更新に1回だけディスク装置に書き戻す処理を行う
ため、更新処理に要する時間を短縮することができる。
【0053】ここで、複数回の更新後にディスク装置に
書き戻すパリティデータの生成原理を説明すると次のよ
うになる。図11は説明を簡単にするため、3台のディ
スク装置32−1〜32−3を備えたディスクアレイ4
6を示しており、更新前の状態でディスク装置32−1
にはデータD0が格納され、ディスク装置32−2には
データD1が格納され、更にパリティ用のディスク装置
32−3にはパリティP0が格納される。この状態で、
ディスク装置32−1のデータD0に対し新データD0
1,D02,D03と3回、更新の処理を行ったとす
る。
【0054】この1回目から3回目のディスク装置32
−1に対するデータ更新における新パリティP1〜P3
は、次式に従って求めることができる。 1回目 新データD01(+)旧データD1=新パリティP1 (2) 2回目 新データD02(+)旧データD1=新パリティP2 (3) 3回目 新データD03(+)旧データD1=新パリティP3 (4) ここで、図10のステップS8におけるディスク装置に
書戻しを行うまでの更新回数を3回に設定していたとす
ると、3回目の更新で得られた新パリティP3をディス
ク装置32−3に格納し、また最新の更新データD03
をディスク装置32−1に格納すればよい。
【0055】ここで、3回目の更新結果を示す(4)式
の旧データD1に関しては、更新前の格納状態から 旧データD0(+)旧データD1=旧パリテイP0 (5) の関係がある。この(5)式について、旧データD1を
求めると、 旧データD1=旧データD0(+)旧パリテイP0 (6) となる。従って、(6)式を(4)式に代入すると、3
回目の更新で生成される新パリティP3は 新パリティP3= 旧データD0(+)旧パリティP0(+)最新データD03 (7) で表すことができる。
【0056】図10のステップS8の処理にあっては、
図11に示す1回目から3回目の更新処理をキャッシュ
メモリ26上で行い、3回目の更新が済んだときに
(7)式から新パリティP3を生成し、最新データD0
3と新パリティP3のそれぞれをディスク装置に書き戻
す処理を行う。この(7)式で新パリティP3を生成す
るためには、更新前の旧データD0及び更新前の旧パリ
ティP0が得られればよく、それ以外のデータは不要と
なる。
【0057】従って本発明にあっては、キャッシュメモ
リ26上でデータD01,D02,D03を順次更新す
るための領域を新たに確保してデータ更新を行い、3回
目のデータ更新が終了した時点で、既にキャッシュメモ
リに記憶されている更新前の旧データD0を更新が済ん
だ最新のデータD03と共に読み出し、更にディスク装
置32−3から更新前の旧パリティP0を読み出して、
(7)式に従った新パリティP3を生成し、新データD
03及び新パリティP3をそれぞれのディスク装置に書
き戻すようになる。
【0058】図12は図10のステップS8の書戻し処
理の詳細を示したフローチャートである。図12におい
て、まずステップS1で更新回数を設定するカウンタN
を1つインクリメントする。尚、カウンタNは初期状態
でN=0にクリアされている。続いてステップS2で1
回目の更新か否かチェックする。1回目の更新であれば
ステップS3で更新データの領域をキャッシュメモリ2
6上に新たに確保し、ステップS4で、新たに確保した
キャッシュメモリ26上の領域で1回目の新データの更
新を行う。
【0059】次にステップS5で、更新回数を示すカウ
ンタNが設定回数、例えば3回に達したか否か判定し、
3回未満であればステップS6〜S9の処理を飛ばして
図7のメインルーチンのにリターンする。ステップS
5で更新回数を示すカウンタNが設定回数に達するとス
テップS6に進み、パリティ用のディスク装置から更新
データと同一セグメントの更新前の旧パリティを読み出
し、またキャッシュメモリ26から更新前の旧データと
最新の更新済みデータを読み出し、ステップS7で
(7)式に従って新パリティを生成する。
【0060】続いてステップS8で新データと新パリテ
ィをそれぞれ対応するディスク装置に書き込んだ後、ス
テップS9でカウンタNをリセットし、図10のステッ
プS7にリターンし、書戻しが済んだ最新の更新データ
をキャッシュメモリ26に記憶して次のアクセスに備え
る。 4.冗長情報のみをキャッシュメモリに記憶する第2実
施例 図13は図4に示した本発明のディスクアレイ制御装置
10のキャッシュメモリ26に冗長情報としてのパリテ
ィデータのみを記憶した場合の記憶内容を示した説明図
である。
【0061】この第2実施例で使用するキャッシュメモ
リ26にはディスクID番号1〜5の論理和と、セクタ
番号で指定される領域にパリティデータP01,P0
2,P03,・・・のみを記憶している。このようにキ
ャッシュメモリ26にパリティデータのみを記憶するよ
うにした場合のディスクアレイ制御装置10における全
体的な処理動作は、図7のフローチャートと同じにな
り、リード処理は図14に示すようになり、またライト
処理は図15に示すようになる。
【0062】図14はキャッシュメモリ26にパリティ
データのみを記憶した場合のリード処理の詳細を示した
フローチャートであり、ステップS1でアクセス処理部
34はホストコマンドの解読結果から得られたディスク
IDと、データアドレスを示すセグメント番号を対応す
るデバイスアダプタを経由してディスク装置に通知し、
ステップS2で、指定したディスク装置からデータを読
み出してデータ転送バッファ28に転送し、ステップS
3でホストコンピュータに転送して一連の処理を終了す
る。
【0063】即ち、キャッシュメモリ26にパリティデ
ータのみを記憶している場合には、リード処理における
キャッシュアクセスは行わない。図15はパリティデー
タのみをキャッシュメモリ26に登録した場合のライト
処理の詳細を示したフローチャートである。図15のラ
イト処理にあっては、ステップS1のディスクIDとデ
ータアドレスに対応するセクタ番号の通知を受けて、キ
ャッシュ制御部24のヒット判定部36がステップS2
でヒット判定を行う。即ち、図13に示すようなキャッ
シュメモリ26の登録内容を示すキャッシュ管理テーブ
ルについて、ディスクIDによる区別はないことから、
セクタ番号のみによりキャッシュ登録の有無を判定す
る。
【0064】ステップS3でミスであった場合には、第
1実施例と同様、ステップS4でディスク装置から更新
前の旧データと旧パリティを読み出してデータ転送バッ
ファ28に転送し、ステップS5で前記(1)式に従っ
て新パリティを生成し、ステップS6で新データと新パ
リティをそれぞれ対応するディスク装置に書き込み、更
にステップS7で新パリティをキャッシュメモリ26に
新たに記憶する。
【0065】一方、ステップS2のヒット判定の結果が
ヒットであった場合にはステップS3からS8に進み、
キャッシュメモリ26から対応する旧パリティを読み出
し、ステップS9で対応するディスク装置から旧データ
を読み出してデータ転送バッファ28に転送し、以下同
様に、ステップS5の新パリティの生成、ステップS6
の新データと新パリティのそれぞれのディスク装置に対
する書込み、更にステップS7の新パリティのキャッシ
ュメモリ26に対する記憶を行う。
【0066】図16はパリティデータのみをキャッシュ
メモリ26に記憶する場合のライト処理の他の実施例を
示したフローチャートであり、図15に対しステップS
8で複数回のデータ更新後にディスク装置への書込みを
行うようにしたことを特徴とする。このステップS8の
ディスク書戻し処理の詳細は図17に示すようになる。
図17の書戻し処理は図12に示した第1実施例の場合
と基本的に同じであるが、キャッシュメモリ26にパリ
ティデータのみを記憶していることから、更新回数が設
定回数に達した後のステップS6でディスク装置から旧
データを読み出し、キャッシュメモリから旧パリティと
最新の新データを読み出す点が相違しており、他の処理
は第1実施例の場合と同じである。 5.データ及び冗長情報の両方をキャッシュメモリに記
憶する第3実施例 図18は本発明の第3実施例の機能ブロック図を示した
もので、この第3実施例にあってはキャッシュメモリ2
6にデータと冗長情報としてのパリティデータの両方を
記憶するようにしたことを特徴とする。
【0067】まずキャッシュメモリ26はデータ記憶領
域50とパリティ記憶領域52に分けられている。図1
9はキャッシュメモリ26の記憶内容を示したもので、
ディスクID番号1〜4についてはデータ記憶領域50
に格納され、ディスクID番号5についてはパリティ記
憶領域52に記憶される。勿論、図19はパリティ記憶
用ディスク装置をディスク装置32−5に固定した場合
である。
【0068】ここで、キャッシュメモリ26をデータ記
憶領域50とパリティ記憶領域52に分けている理由
は、第1実施例についてはデータ記憶領域50のみでよ
く、また第2実施例にあってはパリティ記憶領域52の
みでよく、この第1実施例及び第2実施例に対し更にパ
リティ記憶領域52またはデータ記憶領域50を新たに
追加するような場合に、領域を分けておくことが便利で
ある。
【0069】図20はパリティ記録用のディスク装置が
セクタ位置が変化する毎に相違するディスクアレイを対
象としたキャッシュメモリ26の記憶内容を示した説明
図であり、このようにパリティデータがセグメント毎に
異なったディスク装置に格納されている場合には、図1
8に示したキャッシュメモリ26は特にデータ記憶領域
50とパリティ記憶領域52に分けることなく、全体を
1つの領域としてデータ及びパリティデータを記憶すれ
ばよい。
【0070】図18に示した第3実施例のディスクアレ
イ制御装置10の全体的な処理動作及びリード処理の詳
細は図7,図8の第1実施例と同じであるが、ライト処
理の詳細が図21のフローチャートに示すようになる。
図21のライト処理にあっては、ステップS3でミスと
なった場合にステップS7で新データと新パリティの両
方をキャッシュメモリ26に記憶する点が、第1実施例
及び第2実施例と異なる。また、ステップS3でヒット
となった場合にはステップS8でキャッシュメモリ26
から更新前の旧データと旧パリティの両方を読み出すこ
とができ、このため旧データ及び旧パリティを読み出す
ためのディスク装置のアクセスは必要なく、データ更新
を更に高速で行うことができる。
【0071】図22は第3実施例のライト処理の他の実
施例を示したもので、ステップS8で複数回のデータ更
新後にディスク装置に書き戻すようにしたことを特徴と
し、この書戻し処理の詳細は図23のフローチャートに
示すようになる。図23の書戻し処理にあっては、更新
回数が設定回数に達したときのステップS6において、
キャッシュメモリ26から更新前の旧パリティと旧デー
タ、更に最新の更新データを読み出す点が第1及び第2
実施例と異なる。 6.ダミーデータを空き領域に記憶する第4実施例 図24は本発明の第4実施例の機能ブロック図であり、
この第4実施例にあっては、ディスク制御装置10に新
たにダミーデータ処理部40を設け、ディスクアレイ4
6のディスク装置32−1〜32−5及びキャッシュメ
モリ26の空き領域にDdummy で示すダミーデータ及び
dummy で示すダミーパリティデータを格納するように
したことを特徴とする。
【0072】このようにディスク装置32−1〜32−
5及びキャッシュメモリ26の未使用領域に固定的に定
めたダミーデータ及びダミーパリティデータを格納して
おくことで、ライト動作時の旧データ及び旧パリティの
リード動作をダミーデータ及びダミーパリティデータに
ついては省略することができる。図25は第4実施例に
おけるディスク装置32−1〜32−5の初期状態を示
した説明図であり、空き領域となる全てのセクタにダミ
ーデータ及びダミーパリティデータを、例えばディスク
アレイ装置の工場出荷等の際に予め格納している。
【0073】尚、図25のディスク装置32−1〜32
−5は、セクタ位置が変わる毎にパリティデータを記憶
するディスク装置が異なるRAID−5相当の場合を例
にとっている。図26は第4実施例におけるディスク装
置32−1〜32−5における既存データの削除状態を
示したもので、図26に示すような既存データの削除が
行われた場合にも、図27に示すように削除位置にダミ
ーデータを格納する。勿論、削除位置にダミーデータを
格納した場合には、同一セグメントのパリティデータに
ついては新パリティを生成するようになる。
【0074】図28は第4実施例におけるディスク装置
32−1〜32−5の他の削除処理を示したもので、図
28に示すようなデータ削除を行った場合には、図29
に示すように、削除した空き領域を上位に詰めるように
データを書き替える整理処理を行い、下位にまとめて空
きセクタ領域を形成してダミーデータ及びダミーパリテ
ィデータを格納する。
【0075】図25〜図29に示すようなダミーデータ
及びダミーパリティデータに関する処理は、キャッシュ
メモリ26側についてはダミーデータ及びダミーパリテ
ィデータを除く有効なデータ及びパリティデータについ
て削除及び整理後の更新を行っておけばよい。図30は
第4実施例において、ホストコンピュータ18より例え
ばディスク装置32−1に格納しているデータD1の削
除命令を受けたときの処理動作を示している。
【0076】ホストコンピュータ18よりデータD1の
削除命令を受けた場合には、まずパリティ生成部42で
キャッシュメモリ26に記憶している更新前の旧データ
D1と旧パリティP1を読み出し、データD1の削除に
より新データはダミーデータDdummy となることから、
これら3つの排他的論理和により新パリティP1new
生成する。
【0077】続いて図31に示すように、ディスク32
−1の旧データD1をダミーデータDdummy に書き替
え、またディスク装置32−4の旧パリティP1を新た
に生成した新パリティP1new に書き替え、更にキャッ
シュメモリ26に記憶しているデータD1を削除すると
同時に旧パリティP1を新パリティP1new に更新す
る。
【0078】図32は第4実施例において、ランク内の
同一セグメントにある複数のダミーデータを更新する場
合の処理を示した説明図である。図32において、今、
データ転送バッファ28に格納されているデータD1を
ディスク装置32−1の空き領域に書き込み、またデー
タD2をディスク装置32−2の同一セクタ位置の空き
領域に書き込むものとする。
【0079】この場合には、最終的にデータD2の書込
みが終了したときのパリティP1を生成するため、パリ
ティ生成部42に対しデータD1,D2,ダミーデータ
2つ,パリティダミーデータ1つを入力して、これらの
排他的論理和により新パリティP1を生成する。続いて
図33に示すように、データD1をディスク装置32−
1に書き込むと共に、データD2をディスク装置32−
2に書き込み、更にパリティ生成部42で生成した新パ
リティP1をディスク装置32−5に書き込むようにな
る。
【0080】勿論、図示しないキャッシュメモリ26に
対しても、新たにデータD1,D2及びパリティP1を
記憶して次のアクセスに備えるようになる。尚、上記の
各実施例で使用するキャッシュメモリとしては、何等か
の原因による電源ダウンに対処できるようにするため、
バックアップ電源を備えた不揮発性メモリとしてもよ
い。このようにキャッシュメモリに不揮発性メモリを使
用すれば、電源ダウンがあってもキャッシュデータが消
去されず、電源ダウンによりキャッシュメモリを用いた
アクセス性能が初期状態に低下してしまうことが防止で
きる。
【0081】また、キャッシュメモリ全体を不揮発性メ
モリとすることはコスト的に高価になることから、例え
ばキャッシュメモリの一部を不揮発性メモリとしてもよ
い。
【0082】
【発明の効果】以上説明してきたように本発明によれ
ば、ディスクアレイに対する書込処理の際に、新たな冗
長情報を生成するために必要なデータをキャッシュメモ
リに格納していくことで、ディスク装置からの読出処理
を省くことができ、冗長情報をディスク装置に格納して
いても書込処理の実行時間を短縮し、より高速の処理を
実現することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のハードウェア構成を示した実施例構成
【図3】図2のキャッシュ制御部の実施例構成図
【図4】本発明の第1実施例を示した機能ブロック図
【図5】第1実施例のキャッシュメモリの内容を示した
説明図
【図6】第1実施例のキャッシュメモリの他の内容を示
した説明図
【図7】本発明の全体的な処理動作を示したフローチャ
ート
【図8】第1実施例のリード処理の詳細を示したフロー
チャート
【図9】第1実施例のライト処理の詳細を示したフロー
チャート
【図10】第1実施例の他のライト処理の詳細を示した
フローチャート
【図11】複数回更新したときのディスクアレイの格納
状態の変化を示した説明図
【図12】図10の書戻し処理の詳細を示したフローチ
ャート
【図13】第2実施例のキャッシュメモリの内容を示し
た説明図
【図14】第2実施例のリード処理の詳細を示したフロ
ーチャート
【図15】第2実施例のライト処理の詳細を示したフロ
ーチャート
【図16】第2実施例の他のライト処理の詳細を示した
フローチャート
【図17】図16の書戻し処理の詳細を示したフローチ
ャート
【図18】本発明の第3実施例を示した機能ブロック図
【図19】第3実施例のキャッシュメモリの内容を示し
た説明図
【図20】第3実施例のキャッシュメモリの他の内容を
示した説明図
【図21】第3実施例のライト処理の詳細を示したフロ
ーチャート
【図22】第3実施例の他のライト処理の詳細を示した
フローチャート
【図23】図22の書戻し処理の詳細を示したフローチ
ャート
【図24】本発明の第4実施例を示した機能ブロック図
【図25】第4実施例のディスクアレイおけるダミー記
憶初期状態を示した説明図
【図26】第4実施例のディスクアレイの削除処理を示
した説明図
【図27】図26の削除処理後のディスクアレイの状態
を示した説明図
【図28】ディスクアレイの削除処理を示した説明図
【図29】図28の削除処理後のディスクアレイの整理
状態を示した説明図
【図30】第4実施例のキャッシュメモリの削除処理を
示した機能ブロック図
【図31】図30によるキャッシュメモリの削除終了状
態の機能ブロック図
【図32】第4実施例でランク内の同一セグメントの複
数データを更新する処理を示した機能ブロック図
【図33】図32の更新処理を終了した状態の機能ブロ
ック図
【図34】RAID0によるディスクアレイ装置の説明
【図35】RAID1によるディスクアレイ装置の説明
【図36】RAID3によるディスクアレイ装置の説明
【図37】RAID3におけるデータ分割の説明図
【図38】RAID4によるディスクアレイ装置の説明
【図39】RAID5によるディスクアレイ装置の説明
【符号の説明】
10:ディスクアレイ制御装置 12:MPU 14:内部バス 16:ホストインタフェース 18:ホストコンピュータ(上位装置) 20:ROM 22:揮発性メモリ(RAM) 24:キャッシュ制御部 26:キャッシュメモリ 28:データ転送バッファ 30−1〜30−n:デバイスアダプタ 32−1〜32−n:ディスク装置 34:アクセス処理手段(アクセス処理部) 36:ヒット判定部 38:キャッシュアクセス部 40:ダミーデータ処理部 42:パリティ生成部 46:ディスクアレイ 48−1,48−2:ランク 50:データ記憶領域 52:パリティ記憶領域 60:MPU(キャッシュ制御用) 62:制御記憶 64:バス制御回路 66:バッファ回路 68:メモリ制御回路

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】データ格納用と冗長情報格納用のディスク
    装置を複数備えたディスクアレイ(46)と、 上位装置(18)からの更新要求に基づき、新たなデー
    タ、更新前のデータおよび更新前の冗長情報に基づいて
    新たな冗長情報を生成して前記ディスクアレイ(46)
    のデータおよび冗長情報を更新するアクセス処理手段
    (34)と、 該アクセス処理手段(34)による1回の更新処理の際
    に取扱う複数のデータの中の少なくとも1つ記憶するキ
    ャッシュメモリ(26)と、 前記アクセス処理手段(34)でディスクアレイ(4
    6)を更新する前に前記キャッシュメモリ(26)から
    更新前のデータを検索して前記アクセス処理手段(3
    4)に供給して新たな冗長情報を生成させるキャッシュ
    制御手段(24)と、を備えたことを特徴とするディス
    クアレイ装置。
  2. 【請求項2】請求項1記載のディスクアレイ装置に於い
    て、前記キャッシュメモリ(26)に前記アクセス処理
    手段(34)による更新されたデータのみを記憶するこ
    とを特徴とするディスクアレイ装置。
  3. 【請求項3】請求項2記載のディスクアレイ装置に於い
    て、前記キャッシュ制御手段(24)は、前記アクセス
    手段(34)によるディスクアレイ(46)の更新に先
    立つ前記キャッシュメモリ(26)の検索でデータが記
    憶されていなかった場合には、前記アクセス処理手段
    (34)に記憶なしを通知して前記ディスクアレイ(4
    6)からの読出しを行わせ、前記アクセス処理手段(3
    4)による前記ディスクアレイ(46)の更新後にデー
    タを前記キャッシュメモリ(26)に記憶することを特
    徴とするディスクアレイ装置。
  4. 【請求項4】請求項2記載のディスクアレイ装置に於い
    て、前記アクセス処理手段(34)は、予め定めた所定
    回数だけデータをキャッシュメモリ(26)上の新たに
    確保した領域で更新した後にディスクアレイ(46)に
    書き戻すことを特徴とするディスクアレイ装置。
  5. 【請求項5】請求項4記載のディスクアレイ装置に於い
    て、前記アクセス処理手段(34)は、更新回数が所定
    回数に達するまでは、更新毎に新たな冗長情報を生成す
    ることなく前記キャッシュメモリ(26)上でデータを
    更新し、更新回数が所定回数に達した時には、キャッシ
    ュメモリ(26)上でデータを更新した後にディスクア
    レイ(46)から読出した更新前の冗長情報および前記
    キュッシュメモリ(26)から読出した最新の更新デー
    タと更新前のデータから新たな冗長情報を生成し、前記
    ディスクアレイ(46)にデータおよび冗長情報を書き
    戻すことを特徴とするディスクアレイ装置。
  6. 【請求項6】請求項1記載のディスクアレイ装置に於い
    て、前記キャッシュメモリ(26)に前記アクセス処理
    手段(34)により更新された冗長情報のみを記憶する
    ことを特徴とするディスクアレイ装置。
  7. 【請求項7】請求項6記載のディスクアレイ装置に於い
    て、前記キャッシュ制御手段(24)は、前記アクセス
    手段(34)によるディスクアレイ(46)の更新に先
    立つ前記キャッシュメモリ(26)の検索で冗長情報が
    記憶されていなかった場合には、前記アクセス処理手段
    (34)に記憶なしを通知して前記ディスクアレイ(4
    6)からの読出しを行わせ、前記アクセス処理手段(3
    4)による前記ディスクアレイ(46)の更新後に冗長
    情報を前記キャッシュメモリ(26)に記憶することを
    特徴とするディスクアレイ装置。
  8. 【請求項8】請求項7記載のディスクアレイ装置に於い
    て、前記アクセス処理手段(34)は、予め定めた所定
    回数だけデータをキャッシュメモリ(26)上の新たに
    確保した領域で更新した後にディスクアレイ(46)に
    書き戻すことを特徴とするディスクアレイ装置。
  9. 【請求項9】請求項8記載のディスクアレイ装置に於い
    て、前記アクセス処理手段(34)は、更新回数が所定
    回数に達するまでは、更新毎に新たな冗長情報を生成す
    ることなく前記キャッシュメモリ(26)上でデータを
    更新し、更新回数が所定回数に達した時には、キャッシ
    ュメモリ(26)上でデータを更新した後にディスクア
    レイ(46)から読出した更新前のデータ、キュッシュ
    メモリ(26)から読出した最新の更新データと更新前
    の冗長情報とから新たな冗長情報を生成し、前記ディス
    クアレイ(46)にデータおよび冗長情報を書き戻すこ
    とを特徴とするディスクアレイ装置。
  10. 【請求項10】請求項1記載のディスクアレイ装置に於
    いて、前記キャッシュメモリ(26)に前記アクセス処
    理手段(34)により更新されたデータおよび冗長情報
    を記憶することを特徴とするディスクアレイ装置。
  11. 【請求項11】請求項10記載のディスクアレイ装置に
    於いて、前記キャッシュ制御手段(24)は、前記アク
    セス手段(34)によるディスクアレイ(46)の更新
    に先立つ前記キャッシュメモリ(26)の検索でデータ
    および冗長情報が記憶されていなかった場合には、前記
    アクセス処理手段(34)に記憶なしを通知して前記デ
    ィスクアレイ(46)からの読出しを行わせ、前記アク
    セス処理手段(34)による前記ディスクアレイ(4
    6)の更新後にデータおよび冗長情報を前記キャッシュ
    メモリ(26)に記憶することを特徴とするディスクア
    レイ装置。
  12. 【請求項12】請求項10記載のディスクアレイ装置に
    於いて、前記アクセス処理手段(34)は、予め定めた
    所定回数だけデータをキャッシュメモリ(26)上の新
    たに確保した領域で更新した後にディスクアレイ(4
    6)に書き戻すことを特徴とするディスクアレイ装置。
  13. 【請求項13】請求項12記載のディスクアレイ装置に
    於いて、前記アクセス処理手段(34)は、更新回数が
    所定回数に達するまでは、更新毎に新たな冗長情報を生
    成することなく前記キャッシュメモリ(26)上でデー
    タを更新し、更新回数が所定回数に達した時には、キャ
    ッシュメモリ(26)上でデータを更新した後にキャッ
    シュメモリ(26)から読出した更新前のデータと冗長
    情報および最新の更新データから新たな冗長情報を生成
    し、前記ディスクアレイ(46)にデータおよび冗長情
    報を書き戻すことを特徴とするディスクアレイ装置。
  14. 【請求項14】請求項1乃至13記載のディスクアレイ
    装置に於いて、前記ディクスアレイ(46)内の各ディ
    スク装置及びキャッシュメモリの空き領域にダミーデー
    タおよびダミー冗長情報を格納し、前記アクセス処理手
    段(34)はデータの更新及び削除時に空き領域のダミ
    ーデータ及びダミー冗長情報を含めて新たな冗長情報を
    生成し、且つダミーデータ及びダミー冗長情報について
    はディスクアレイ(46)から読出さずに予め設定した
    値を使用するようにしたことを特徴とするディスクアレ
    イ装置。
  15. 【請求項15】請求項1乃至14記載のディスクアレイ
    装置に於いて、前記冗長情報としてパリティデータを使
    用し、前記アクセス処理手段(34)は、更新時に、新
    たなデータ、更新前のデータおよび更新前のパリティデ
    ータの排他的論理和により新たなパリティデータを生成
    することを特徴とするディスクアレイ装置。
JP04269824A 1992-05-21 1992-10-08 ディスクアレイ制御方式 Expired - Fee Related JP3122252B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP04269824A JP3122252B2 (ja) 1992-10-08 1992-10-08 ディスクアレイ制御方式
DE4345320A DE4345320B4 (de) 1992-05-21 1993-05-20 Platten-Array-Vorrichtung
DE4392143A DE4392143C1 (de) 1992-05-21 1993-05-20 Platten-Array-Vorrichtung
PCT/JP1993/000663 WO1993023803A1 (fr) 1992-05-21 1993-05-20 Appareil de commande pour pile de disques
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
JP04269824A JP3122252B2 (ja) 1992-10-08 1992-10-08 ディスクアレイ制御方式

Publications (2)

Publication Number Publication Date
JPH06119120A true JPH06119120A (ja) 1994-04-28
JP3122252B2 JP3122252B2 (ja) 2001-01-09

Family

ID=17477690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04269824A Expired - Fee Related JP3122252B2 (ja) 1992-05-21 1992-10-08 ディスクアレイ制御方式

Country Status (1)

Country Link
JP (1) JP3122252B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295763A (ja) * 1994-04-22 1995-11-10 Internatl Business Mach Corp <Ibm> ディスク・アレイ装置およびデータの格納方法
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
KR100466142B1 (ko) * 2000-10-23 2005-01-13 인터내셔널 비지네스 머신즈 코포레이션 디스크 드라이브 어레이의 디스크 어레이 제어기 및 제어기 펌웨어의 업데이트 방법과 디스크 어레이의 제어기에 진단 정보 및 펌웨어 업데이트를 전달하는 디스크 드라이브

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295763A (ja) * 1994-04-22 1995-11-10 Internatl Business Mach Corp <Ibm> ディスク・アレイ装置およびデータの格納方法
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
KR100466142B1 (ko) * 2000-10-23 2005-01-13 인터내셔널 비지네스 머신즈 코포레이션 디스크 드라이브 어레이의 디스크 어레이 제어기 및 제어기 펌웨어의 업데이트 방법과 디스크 어레이의 제어기에 진단 정보 및 펌웨어 업데이트를 전달하는 디스크 드라이브

Also Published As

Publication number Publication date
JP3122252B2 (ja) 2001-01-09

Similar Documents

Publication Publication Date Title
WO1993023803A1 (fr) Appareil de commande pour pile de disques
US6052799A (en) System and method for recovering a directory for a log structured array
US5617530A (en) Storage device array architecture with copyback cache
US6058489A (en) On-line disk array reconfiguration
JP3743841B2 (ja) 記憶装置システムおよび制御方法
US5950230A (en) RAID array configuration synchronization at power on
US5579474A (en) Disk array system and its control method
US6898668B2 (en) System and method for reorganizing data in a raid storage system
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US6058455A (en) RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
US5596709A (en) Method and apparatus for recovering parity protected data
US5488701A (en) In log sparing for log structured arrays
US6151685A (en) System and method for recovering a segment directory for a log structured array
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
JPH0619632A (ja) コンピユータ・システムのストレージ装置及びデータのストア方法
JPH05197498A (ja) 構成可能な冗長アレイ記憶装置
US6343343B1 (en) Disk arrays using non-standard sector sizes
JP2857288B2 (ja) ディスクアレイ装置
JP3122252B2 (ja) ディスクアレイ制御方式
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
JP2857289B2 (ja) ディスクアレイ装置
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置
JP3008801B2 (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: 20000919

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071020

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees