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

ディスクアレイ装置

Info

Publication number
JPH08249132A
JPH08249132A JP7081946A JP8194695A JPH08249132A JP H08249132 A JPH08249132 A JP H08249132A JP 7081946 A JP7081946 A JP 7081946A JP 8194695 A JP8194695 A JP 8194695A JP H08249132 A JPH08249132 A JP H08249132A
Authority
JP
Japan
Prior art keywords
data
parity
drive
group
parity group
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
JP7081946A
Other languages
English (en)
Other versions
JP3358687B2 (ja
Inventor
Naoki Watanabe
直企 渡辺
Hitoshi Tsunoda
仁 角田
Yoshifumi Takamoto
良史 高本
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 JP08194695A priority Critical patent/JP3358687B2/ja
Priority to EP96101902A priority patent/EP0732653B1/en
Priority to DE69632219T priority patent/DE69632219T2/de
Priority to US08/610,152 priority patent/US5754756A/en
Publication of JPH08249132A publication Critical patent/JPH08249132A/ja
Application granted granted Critical
Publication of JP3358687B2 publication Critical patent/JP3358687B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1023Different size disks, i.e. non uniform size of disks in RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】異なる容量のドライブを用いてディスクアレイ
を構成したときに、テーブルを用いて管理することなど
により、従来はディスクアレイとして使用できなかった
領域もディスクアレイに使用できるようにし、容量の使
用効率を向上させることを目的とする。 【構成】容量の異なる記憶装置を含む複数の記憶装置に
よりディスクアレイを構成する際に、該複数の記憶装置
のうち、最も小さな容量の記憶装置に合わせて一つ以上
のパリティグループを構成するとともに、さらに該パリ
ティグループに含まれない空き領域により一つ以上のパ
リティグループまたは単体の記憶領域を構成するように
する。 【効果】異なる容量のドライブでディスクアレイを構成
しても、領域の使用効率が向上し、ドライブを効率よく
使用できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスクアレイ装置に
関し、特に高性能な入出力動作を可能とするファイルシ
ステムに関する。
【0002】
【従来の技術】現在のコンピュータシステムにおいて
は、CPUなどの上位側が必要とするデ−タは2次記憶
装置に格納され、CPUなどが必要とするときに応じて
2次記憶装置に対してデ−タの書き込みおよび読み出し
を行っている。この2次記憶装置としては、一般に不揮
発な記憶媒体が使用され、代表的なものとして磁気ディ
スク装置(以下、ドライブとする)や、光ディスクなど
があげられる。
【0003】近年高度情報化に伴い、コンピュータシス
テムにおいて、この種の2次記憶装置の高性能化が要求
されてきた。その一つの解として、多数の比較的容量の
小さなドライブにより構成されるディスクアレイが考え
られている。
【0004】公知の文献として、「D.Patterson,G.Gibs
on,and R.H.Kartz;A Case for Redundant Arrays of In
expensive Disks(RAID),in ACM SIGMOD Conference,Chi
cago,IL,(June1988)」がある。この文献においては、デ
ータを二重化するディスクアレイ(レベル1)と、デー
タを分割して並列に処理を行うディスクアレイ(レベル
3)と、データを分散して独立に扱うディスクアレイ
(レベル4、5)について、その性能および信頼性の検
討結果が報告されている。現在この論文に書かれている
方式が、最も一般的なディスクアレイと考えられてい
る。
【0005】まず、レベル3のディスクアレイについて
簡単に説明する。レベル3のディスクアレイでは、上位
から与えられた1つのデータを、複数のドライブに(通
常は1ビットないし1バイトごとに)振り分けて格納す
る。そのデータを読み出す場合は、複数のドライブから
分割されたデータ片を集めて結合し、上位へ転送する。
このため、レベル3では複数ドライブでの並列処理が可
能となり、転送速度の向上を図ることができる。
【0006】次に、データを分割せずに個々のデータを
分散して、独立に扱うディスクアレイ(レベル4、5)
について説明する。レベル4、5のディスクアレイで
は、個々のデータを分割せずに独立に扱い、多数の比較
的容量の小さなドライブに分散して格納する。レベル4
ではパリティ用のドライブにパリティを格納し、レベル
5ではパリティをも複数のドライブに分散して格納す
る。レベル4、5では複数のI/Oが並列に処理可能と
なり、ランダムアクセスの性能向上を図ることができ
る。
【0007】現在、一般に使用されている汎用大型コン
ピュータシステムの2次記憶装置では、1ドライブ当り
の容量が大きいため、他の読み出し/書き込み要求に当
該ドライブが使用されて、そのドライブを使用できずに
待たされることが多く発生した。このレベル5(または
4)のディスクアレイでは、汎用大型コンピュータシス
テムの2次記憶装置で使用されている大容量のドライブ
を、多数の比較的容量の小さなドライブで構成し、デー
タを分散して格納してある。このため、読み出し/書き
込み要求が増加しても、ディスクアレイの複数のドライ
ブで分散して処理することが可能となり、読み出し/書
き込み要求が待たされることが減少する。
【0008】次に、ディスクアレイにおけるパリティに
ついて説明する。ディスクアレイは従来の大容量のドラ
イブを、比較的容量の小さな多数のドライブで構成する
ため、部品点数が増加し障害が発生する確率が高くな
る。このため、ディスクアレイでは、パリティを用意す
る。
【0009】パリティは、ディスクアレイを構成する各
ドライブにおいて、対応する各データ間の対応する各ビ
ット毎に排他的論理和をとることにより作成される。こ
の様にして作成されたパリティは、このパリティの作成
に関与したデータが格納されている以外のドライブに格
納される。
【0010】ここでは、ディスクアレイを構成するドラ
イブの集まりを論理グループと呼ぶ。また、論理グルー
プ内で、あるドライブに障害が発生した場合に回復可能
なドライブの集合をパリティグループと呼ぶ。一つ以上
のパリティグループを集めたものを論理ヴォリュームと
し、CPUは論理ヴォリュームを一つのドライブ(仮想
的なドライブ)とみなしアクセスを行う。
【0011】論理グループを構成するドライブの任意の
1台のドライブに障害が発生した場合、障害が発生した
ドライブ内の各データは、そのデータが所属する各パリ
ティグループ毎に正常なドライブ内のデータとパリティ
の排他的論理和をとることにより復元することが可能と
なる。
【0012】従来、このようなディスクアレイとして
は、ドライブに磁気ディスク装置を用いたものが実現、
検討されてきた。その際、ディスクアレイを構成する各
ドライブは同一容量のものを用いていた。例えば、NCR
社のADP-92-XX(商品名)の「Disk Array Controller S
oftware Release 3.XX Manual」のp7-11では、ディスク
アレイを構成する各ドライブを同一容量で構成しなけれ
ばならないと規定している。しかしながら、現在では、
磁気ディスク装置に限らず多種多様なドライブが存在
し、ドライブの容量の増加およびコストの低減が目覚ま
しい。そこで、ドライブの増設を行おうとする場合、す
べてのドライブを同じ容量のドライブに統一しなければ
ならないのでは、非常に不経済である。
【0013】一方、MYLEX社のDAC960(商品名)の「Mix
ed drive capacities and Vendors」なるカタログで
は、異なる容量のドライブでディスクアレイを構成する
ことを許している。しかし、このときの制限事項とし
て、ディスクアレイコントローラは、ディスクアレイを
構成するドライブの容量が最も小さな容量のドライブと
同じ容量のドライブとみなすとしている。具体的には、
4台の500MByteのドライブに400MByteのドライブを混在
させた場合には、500MByteのドライブは容量が400MByte
のドライブとして取り扱われる。
【0014】
【発明が解決しようとする課題】従来のディスクアレイ
の構成方法では、異なる容量のドライブによるディスク
アレイの構成を可能としている。しかし、例えば500MBy
teのドライブを4台と400MByteのドライブを1台でディス
クアレイを構成したときには、すべてのドライブの容量
を400MByteとみなしディスクアレイを構成することにな
る。このため、4台の500MByteのドライブのうち各々100
MByteづつ、計400MByteの領域がディスクアレイに使用
できない。
【0015】本発明は、異なる容量のドライブを用いて
ディスクアレイを構成したときに、テーブルを用いて管
理することなどにより、従来はディスクアレイとして使
用できなかった領域もディスクアレイに使用できるよう
にし、容量の使用効率を向上させることを目的とする。
【0016】
【課題を解決するための手段】本発明は、容量の異なる
記憶装置を含む複数の記憶装置によりディスクアレイを
構成する際に、該複数の記憶装置のうち、最も小さな容
量の記憶装置に合わせて一つ以上のパリティグループを
構成するとともに、さらに該パリティグループに含まれ
ない空き領域により一つ以上のパリティグループまたは
単体の記憶領域を構成することを特徴とする。空き領域
にパリティグループを構成する際には、最も小さな空き
領域に合せてパリティグループを構成するとよい。
【0017】構成したパリティグループおよび単体の記
憶領域に関しては、その構成情報をテーブルとして記憶
しておき、このテーブルにより管理するようにする。テ
ーブルには、RAIDの構成、信頼性、および転送速度
に関する情報を格納し、これを用いてデータの配置を決
定するようにしてもよい。例えば、信頼性の高いパリテ
ィグループから順次データの配置を行うようにしてもよ
い。また、何れかの記憶装置が故障したときは、信頼性
が低いパリティグループからデータの回復処理を順次行
うようにするとよい。
【0018】任意の数のパリティグループをまとめて一
つの仮想的なヴォリューム(論理ヴォリューム)として
取扱うようにしてもよい。この場合、上位装置は論理ア
ドレスとして論理ヴォリュームと論理ヴォリューム内の
アドレスをディスクアレイ装置に与え、ディスクアレイ
装置の側でその論理アドレスに対応する物理アドレスを
求めて実際にアクセスする。
【0019】
【作用】上記構成によれば、異なる容量の記憶装置を用
いてディスクアレイ装置を構成する際、最も少ない容量
の記憶装置に合せてパリティグループを構成できること
に加え、そのパリティグループを除いた空き領域にも一
つ以上のパリティグループまたは単体の記憶領域を構成
できるので、ディスクアレイの容量効率が向上する。
【0020】
【実施例】以下、図面を用いて、本発明の実施例を説明
する。
【0021】図1は、本発明の一実施例に係るディスク
アレイ装置の全体構成を示す。図2は、本実施例のディ
スクアレイ装置におけるデータ分割説明図である。
【0022】本実施例において、ディスクアレイコント
ローラ(以下、ADCと呼ぶ)2は、制御部100と論
理グループ15により構成される。CPU1は、ADC
2に読み出し命令や書き込み命令を発行する上位装置で
ある。
【0023】論理グループ15は、複数台のドライブ1
4(ドライブ#1〜#5)と、各々のドライブ14をド
ライブインタフェース回路(ドライブIF)13に接続
するドライブパス16により構成される。現在のディス
クアレイでは、このドライブパス16として一般にSC
SIバスが使用されている。なお、論理グループ15を
構成するドライブ14の数は本発明の効果を得るには、
特に制限は無い。
【0024】本実施例では、図2に示すように、この論
理グループ15を4つのパリティグループ17に分割す
る。パリティグループ17は、論理グループ15内のド
ライブ14をその容量を基準として分割したものであ
る。以下、各ドライブ14、すなわちドライブ#1、ド
ライブ#2、ドライブ#3、ドライブ#4、およびドラ
イブ#5の容量をそれぞれCdrv1,Cdrv2,C
drv3,Cdrv4,Cdrv5とする。本例では、 Cdrv3<Cdrv2=Cdrv4<Cdrv5<C
drv1 であるものとする。
【0025】図2において、PG#1,PG#2,PG
#3,PG#4は、論理グループ15内に設けられたパ
リティグループを示す。パリティグループPG#1は、
ドライブ#1〜#5の所定の領域(図2の右下がりの細
線の斜線部)からなる。パリティグループPG#2は、
ドライブ#1,#2,#4,#5の所定の領域(左下が
りの斜線部)からなる。パリティグループPG#3は、
ドライブ#1,#5の所定の領域(右下がりの太線の斜
線部)からなる。パリティグループPG#4は、ドライ
ブ#1の所定の領域(斜線なし)からなる。
【0026】各パリティグループPG#1〜PG#4の
容量は、基準となるドライブ14の容量に依存する。例
えば、パリティグループPG#1は、ドライブ#3の容
量Cdrv3を基準としており、各ドライブ#1〜#5
のCdrv3の容量を持った領域で構成される。パリテ
ィグループPG#1が4D+1PのRAID構成である
ときには、パリティグループPG#1の実効容量はCd
rv3×(5−1)となる。
【0027】パリティグループPG#2は、ドライブ#
2またはドライブ#4の容量(Cdrv2=Cdrv
4)を基準として構成されており、ドライブ#1,#
2,#4,#5のCdrv2−Cdrv3の容量を持っ
た領域で構成される。パリティグループPG#2が3D
+1PのRAID構成であるときには、パリティグルー
プPG#2の実効容量は(Cdrv2−Cdrv3)×
(3−1)となる(Cdrv2はCdrv4としてもよ
い)。
【0028】パリティグループPG#3は、ドライブ#
5を基準として構成されており、Cdrv5−Cdrv
2(Cdrv2はCdrv4としてもよい)の容量を持
った領域で構成される。パリティグループPG#3がR
AIDレベル1の構成(ミラード・ディスク)であると
きには、パリティグループPG#3の実効容量は(Cd
rv5−Cdrv2)×(2−1)となる(Cdrv2
はCdrv4としてもよい)。
【0029】このように、実際に使用可能な容量は各パ
リティグループ17のRAID構成に依存する。また、
各パリティグループ17のRAID構成は自由に構成す
ることが可能であり、構成するドライブ14の数により
単体ドライブ、またはRAID0〜RAID5の各々の
構成をとる。本実施例では、パリティグループ17は1
〜5台のドライブ14により構成され、各々のパリティ
グループ17は独立した構成を取ることが可能である。
例えば、1台で構成するときには単体ドライブとして、
2台で構成するときにはRAID0またはRAID1と
して、3台以上で構成されるときにはRAID0〜RA
ID5として、それぞれ構成することが可能である。
【0030】図2の場合は、パリティグループPG#1
がRAID5、PG#2がRAID3、PG#3がRA
ID1、PG#4が単体ドライブとなっている。パリテ
ィグループ17は、ドライブ障害の回復単位である。す
なわち、パリティグループ17に含まれる何れかのドラ
イブ14に障害が発生したとき、該パリティグループ1
7がRAID1〜5の構成であれば、障害が発生したド
ライブ14のデータは他の正常なドライブ14のデータ
から復元可能である。
【0031】本発明では、一つ以上のパリティグループ
17をまとめて一つの論理ヴォリュームとし、それをC
PU1のアクセス単位とする。論理ヴォリュームは、C
PU1からは単体ヴォリュームとして認識される。本実
施例では、図2に示すように論理グループ15内に3つ
の論理ヴォリュームLV#1,LV#2,LV#3を設
定している。CPU1がアクセスするときに指定する論
理アドレスは、論理ヴォリューム番号(ID)とデータ
名である。ADC2は、アドレス変換テーブル37(図
3で後述)を用いて、CPU1から与えられた論理ヴォ
リューム番号とデータ名を、物理アドレスへと変換す
る。
【0032】論理ヴォリュームが複数のパリティグルー
プ17から構成されている場合、この論理ヴォリューム
に書き込まれるデータは、何れかのパリティグループ1
7に割当てられることになる。各データのパリティグル
ープ17への割当ては、パリティグループ17間の信頼
性や転送速度が異なることを利用し、以下の様にして決
定することができる。
【0033】まず最初に、各パリティグループ17の信
頼性の関係について説明する。図2において、各パリテ
ィグループPG#1〜PG#4のデータが失われるの
は、パリティグループPG#1では5台のドライブ#1
〜#5のうちの任意の2台が故障したとき、パリティグ
ループPG#2では4台のドライブ#1,#2,#4,
#5のうちの任意の2台が故障したとき、パリティグル
ープPG#3では2台のドライブ#1,#5の両方が故
障したとき、パリティグループPG#4では1台のドラ
イブ#1が故障したときである。よって、各々のパリテ
ィグループ17の信頼性は、 PG#3>PG#2>PG#1>PG#4 のような関係になっている。
【0034】この相対的な関係から、図4で後述する論
理グループ構成テーブル18の信頼性29を決定する。
信頼性の値は、具体的には、PG#3が1、PG#2が
2、PG#1が3、PG#4が4となる(値が小さい方
が信頼性が高い)。
【0035】このように各パリティグループの信頼性を
示す値をテーブルに設定しておくことにより、例えば、
重要度が高いデータは相対的に信頼性の高いパリティグ
ループPG#3に格納し、重要度が低いデータは相対的
に信頼性の低いパリティグループPG#4に格納する、
というような制御が可能となる。具体的には、この制御
は、MP9が行う。データの重要度は、上位のCPU1
からデータとともに与えるようにしてもよいし、MP9
がデータの重要度を判定するようにしてもよい。
【0036】MP9またはCPU1がデータの重要度を
知らない場合には、MP9が以下のようにしてデータの
配置を決定する。すなわち、論理ヴォリュームの容量に
余裕にあるときには、信頼性の高いパリティグループ1
7にデータを配置し、論理ヴォリュームの残容量が少な
くなるにしたがって信頼性の低いパリティグループ17
へ配置するようにする。
【0037】転送速度は、単純にパリティグループ17
を構成するドライブ数で決まるので以下のような関係に
なる。
【0038】PG#1>PG#2>PG#3>PG#4 この相対的な転送速度の関係から、図4で後述する論理
グループ構成テーブル18の転送速度30を決定する。
転送速度の値は、具体的には、PG#1が1、PG#2
が2、PG#3が3、PG#4が4となる(値が小さい
方が転送速度が速い)。
【0039】このように各パリティグループの転送速度
を示す値をテーブルに設定しておくことにより、例え
ば、データ量の大きなファイルは転送速度の速いパリテ
ィグループに格納し、データ量の小さなファイルは転送
速度の遅いパリティグループに格納する、というような
制御が可能となる。具体的には、このような制御は、M
P9が行う。
【0040】なお、本実施例では、図2に示すように、
論理ヴォリュームLV#2が2つのパリティグループP
G#2,PG#3から構成されているが、この論理ヴォ
リュームLV#2において、データをパリティグループ
PG#2またはPG#3のどちらに割り当てるかの制御
は、次のように行っている。すなわち、CPU1が新規
書き込みデータとともにデータの重要度を与え、その重
要度に応じてMP9が、重要度の高いデータは信頼性の
高いパリティグループPG#3に格納し、重要度の低い
データは信頼性の低いパリティグループPG#2に格納
する。CPU1による重要度の指定がないときは、始め
にパリティグループPG#2にデータを配置し、パリテ
ィグループPG#2に空きがなくなったら、パリティグ
ループPG#3にデータを配置するようにしている。
【0041】図1において、CPU1より発行されたコ
マンドは、外部インターフェースパス3を通ってADC
2のインターフェースアダプタ(以下、IF Adpと
呼ぶ)4に入力する。IF Adp4は、CPU1から
発行されたコマンドの受付が可能かどうか判断する。
【0042】具体的には、図1に示すように、CPU1
からADC2に送られてきたコマンドは、まずIF A
dp4により取り込まれる。マイクロプロセッサである
MP9は、処理可能な場合は受付け処理を行い、処理で
きない場合は受付不可の応答をCPU1へ送る。このよ
うにしてコマンドの受付が可能になった後に、後で説明
するような読み出し処理または書き込み処理(新規また
は更新)を開始する。
【0043】具体的な読み出しまたは書き込み処理を説
明する前に、初期設定法をまず説明する。
【0044】(初期設定法)本実施例では、図1に示す
ように、5台のドライブ14(ドライブ#1〜#5)に
より論理グループ15を構成する。論理グループ15内
には、図2に示すように、4つのパリティグループ17
(PG#1〜PG#4)を構成する。そして、一つある
いは複数のパリティグループ17により、一つの論理ヴ
ォリューム27を構成する。この例では、図2に示すよ
うに、パリティグループPG#1により論理ヴォリュー
ムLV#1を構成し、パリティグループPG#2,PG
#3により論理ヴォリュームLV#2を構成し、パリテ
ィグループPG#4により論理ヴォリュームLV#3を
構成する。
【0045】このような構成のディスクアレイを実現す
るためには、まず初期設定を行う必要がある。初期設定
とは、具体的には、論理グループ構成テーブルとアドレ
ス変換テーブルを初期化することである。以下、これら
のテーブルの内容、およびどのように初期設定するかに
ついて説明する。
【0046】図3は、CPU1が読み出しまたは書き込
み要求を発行する際に、指定するアドレス(論理ヴォリ
ューム番号とデータ名)をドライブ14の物理アドレス
に変換する際に使用するアドレス変換テーブル37であ
る。図4は、各ドライブ14がどのパリティグループに
用いられているか、および各パリティグループに関する
情報(ドライブ数、ドライブ内オフセット、RAIDレ
ベル、RAID構成など)を格納する論理グループ構成
テーブル18である。
【0047】図4の論理グループ構成テーブル18と図
3のアドレス変換テーブル37は、図1に示すようにキ
ャッシュメモリ8内にあり、システムの電源をオンした
ときに、MP9により論理グループ15内のある特定の
1台またはそれ以上のドライブ14から、キャッシュメ
モリ8にCPU1の関知無しに自動的に読み込まれる。
一方、電源をオフするときは、MP9により、キャッシ
ュメモリ8内のアドレス変換テーブル37を、読み込ん
できたドライブ14内の所定の場所にCPU1の関知無
しに自動的に格納する。図3のアドレス変換テーブル3
7は、図4の論理グループ構成テーブル18を用いて設
定される。
【0048】図5は、MP9が論理グループ構成テーブ
ル18を初期設定するときの処理フローチャートを示
す。図5を用いて、図2のようなドライブの構成を実現
するために論理グループ構成テーブル18を初期設定す
る方法について以下に説明する。
【0049】まず、システム管理者が、論理グループ1
5を構成するドライブ14を決定する(ステップ3
2)。論理グループ15を構成するドライブは、MP9
が自動的に設定してもよい。次に、MP9が、その論理
グループ15を構成するすべてのドライブのドライブ番
号(ドライブのID)と容量とを取得し、図4の論理グ
ループ設定テーブル18のドライブ番号のフィールド1
9および容量のフィールド20に設定する(ステップ3
3)。逆にいえば、ドライブ番号のフィールド19およ
び容量のフィールド20は、このディスクアレイ装置に
おける論理グループを構成するドライブの番号と容量と
を設定するフィールドである。
【0050】次に、MP9が各パリティグループ17を
決定する。具体的には、まず空き容量が最も少ないドラ
イブに合せて各ドライブから領域を割り当て(ステップ
34−a)、割り当てた領域によりパリティグループを
作成し、そのパリティグループのパラメータを図4の論
理グループ設定テーブル18に設定する(ステップ34
−b)。そして、パリティグループに割り当てられてい
ない領域が無くなるまで繰り返す(ステップ35)。以
下、ステップ34−a、ステップ34−b、およびステ
ップ35の処理について、詳細に説明する。
【0051】まず、ステップ34−aの処理について説
明する。ステップ33で論理グループ設定テーブル18
(図4)のドライブ番号19および容量20が設定され
ているので、そのうち最も容量の小さいドライブを探
す。この例では、ドライブ#1〜#5の容量20が、そ
れぞれ、Cdrv1,Cdrv2,Cdrv3,Cdr
v4,Cdrv5であり、 Cdrv3<Cdrv2=Cdrv4<Cdrv5<C
drv1 の関係を満たす。
【0052】したがって、まず最初に最も容量の小さい
ドライブ#3の容量20(=Cdrv3)に合わせて、
最初のパリティグループPG#1を生成することにな
る。このとき、各ドライブ#1〜#5から同じ容量(=
Cdrv3)の領域がパリティグループPG#1に割り
当てられる。割り当てられた領域については、MP9
が、図4の論理ブロック構成テーブル18に対して、当
該パリティグループPG#1を構成するドライブ14に
対応するフラグ31の内容を「1」に設定する。使用し
ないドライブ14については、MP9はフラグ31の内
容を「0」に設定する。
【0053】フラグ31は、パリティグループを構成す
るドライブを示すフラグである。すなわち、あるパリテ
ィグループとあるドライブに対応するフラグ31が
「1」であるときは、当該ドライブが当該パリティグル
ープを構成するドライブの1つであることを示す。フラ
グ31が「0」のときは、当該ドライブが当該パリティ
グループを構成するドライブでないことを示す。
【0054】この例では、パリティグループPG#1
は、ドライブ#1〜#5から構成されるので、ドライブ
#1〜#5に対応するフラグ31の内容が「1」に設定
される。
【0055】次に、ステップ34−bの処理について説
明する。MP9は、設定されたパリティグループ17に
対して、そのパリティグループ17の構成情報を図4の
論理グループ構成テーブル18に設定する。ここで設定
する構成情報としては、ドライブ数22、ドライブ内オ
フセット値23、RAIDレベル24、RAID構成2
5、および容量26がある。以下、これらの構成情報に
ついて説明する。
【0056】ドライブ数22は、当該パリティグループ
17を構成するドライブ14の数である。当該パリティ
グループ17を構成するドライブは、当該パリティグル
ープ17に対応するフラグ31を参照すれば分かる。そ
こで、MP9は、フラグ31を参照して当該パリティグ
ループが幾つのドライブから構成されているかを調べ、
そのドライブ数を論理グループ構成テーブル18のドラ
イブ数22に設定する。例えば、パリティグループPG
#1が5台のドライブ14で構成されていることが、フ
ラグ31から分かるので、パリティグループPG#1の
ドライブ数22は5である。
【0057】ドライブ内オフセット23は、当該パリテ
ィグループ17に含まれるドライブ14の領域のオフセ
ット(すなわち、当該パリティグループの領域の先頭ア
ドレス)であり、MP9が各ドライブ14の容量20を
参照して決定し設定する。例えば、パリティグループP
G#1の場合は、ドライブ14の先頭からパリティグル
ープPG#1の領域が開始するので、ドライブ内オフセ
ットPGoff1の値は0である。また、パリティグル
ープPG#2の場合は、パリティグループPG#1で使
用された領域(その容量はCdrv3)の分がオフセッ
トとなるため、ドライブ内オフセットPGoff2はC
drv3となる。
【0058】RAIDレベル24は、パリティグループ
17を構成するRAIDのレベルであり、システム管理
者の指定に基づいて設定する。システム管理者は、いま
作成中のパリティグループ17とそのパリティグループ
17を構成するドライブ14に関する情報を元に、各パ
リティグループ17のRAIDレベルを決定し、指定す
る。MP9は、その指定に基づき論理グループ構成テー
ブル18のRAIDレベル24を設定する。
【0059】図4では、PG#1のRAIDレベル24
が5、PG#2のRAIDレベル24が3、PG#3の
RAIDレベル24が1と設定されている。また、一台
のドライブ14のみで構成されるパリティグループ(図
4ではPG#4)はRAIDレベル24の設定は行わな
い。
【0060】なお、RAIDレベル24の設定は、シス
テム管理者の指定によるのでなく、MP9により自動的
に行うようにしてもよい。例えば、3台以上のドライブ
で構成されるパリティグループはRAID3、RAID
4またはRAID5とし、2台のドライブで構成される
パリティグループはRAID1とし、1台のドライブで
構成されるパリティグループはRAID0(単体ドライ
ブ)とする、というようにMP9が自動的に設定するこ
とも可能である。
【0061】RAID構成25は、当該パリティグルー
プ17を構成するRAIDの構成であり、システム管理
者の指定に基づき設定する。すなわち、システム管理者
が、当該パリティグループ17に関するRAIDレベル
24、ドライブ数22、および各ドライブの容量20を
参照してRAIDの構成を指定し、その指定に基づいて
MP9がRAID構成25を設定する。
【0062】RAID構成25の設定は、システム管理
者の指定によるのでなく、MP9により自動的に行うよ
うにしてもよい。その場合、例えば、予め各RAIDレ
ベルに対するRAID構成を決めておき、当該パリティ
グループのRAIDレベル24に応じてRAID構成2
5の設定を行う。
【0063】容量26は、当該パリティグループ17の
データ領域として使用可能な領域の大きさであり、MP
9が論理グループ構成テーブル18の各ドライブ14の
容量20と当該パリティグループ17のRAID構成2
5を参照することにより、論理グループ構成テーブル1
8の容量26に設定する。例えば、パリティグループP
G#1は、容量20が最も小さいドライブであるドライ
ブ#3の容量(=Cdrv3)に合せて作成したもので
あり、4D+1P(RAID5)構成である。この場合
には、容量26として設定するClv1の値は、(5−
1)×Cdrv3となる。
【0064】以上のようにして、ステップ34−aおよ
びステップ34−bにより、論理グループ構成テーブル
18に1つのパリティグループに関する情報を設定した
後、ステップ35の判定を行う。すなわち、パリティグ
ループ17に割り当てられていない領域が未だ残ってい
るか否かを判定する。割り当てられていない領域が残っ
ているときには、ステップ34−aに戻って、残った領
域に対して同様の処理を繰り返す。
【0065】例えば、上述の手順でパリティグループP
G#1を設定した後では、ドライブ#1,#2,#4,
#5には、未だ割り当てられていない領域が残ってい
る。これらのドライブ14について、再度パリティグル
ープ17の設定を行う(ステップ34−a,34−
b)。ドライブ#1,#2,#4,#5のうち、割り当
てられていない最も小さい領域はドライブ#2,#4で
あり、これらのドライブに合わせて、パリティグループ
PG#1と同様の方法で、パリティグループPG#2を
設定する。上記の処理を、パリティグループに割り当て
られていない領域が無くなるまで繰り返す。
【0066】本実施例では、パリティグループ17を生
成する処理を、割り当てられていない領域が無くなるま
で繰り返している。しかし、実際には、割り当てられて
いない領域が無くなるまで繰り返し行う必要は無く、ド
ライブ14を基準に分割した任意の領域に対してパリテ
ィグループ17の設定を行うことが可能である。例え
ば、図3において、パリティグループPG#1,PG#
2を設定した後では、ドライブ#1,#5に、割り当て
られていない領域が残っている。本実施例ではさらにパ
リティグループPG#3,PG#4を生成しているが、
これらの割り当てられていない領域を単体ドライブの集
合として取り扱うことが容易に実現可能である。
【0067】ステップ35でパリティグループに割り当
てられていない領域がなくなったら(すなわち、すべて
の領域の割り当てが終了したら)、パリティグループ1
7間の相対的な信頼性29および転送速度30のレベル
を設定する(ステップ36−a)。既に図2で説明した
ように、本例では、信頼性は、 PG#3>PG#2>PG#1>PG#4 となるように、また転送速度は PG#1>PG#2>PG#3>PG#4 となるように、信頼性29および転送速度30が設定さ
れる。
【0068】一般に、信頼性29は、パリティグループ
17を構成するドライブ14が2台のときにはミラー、
n(n>3)台のときには(n−1)D+1PのRAI
Dの構成とすると、 2台で構成>3台で構成>…>m台で構成>1台で構成 (mは論理グル−プ15の全ドライブ数)の順でレベル
を付ければよい。また、転送速度は、台数の多いパリテ
ィグループ17から高いレベルを付ければよい。
【0069】次にシステム管理者が、パリティグループ
17を組み合わせて論理ヴォリューム27を決定し、論
理ヴォリューム番号28を論理グループ構成テーブル1
8(図4)に設定する(ステップ36−b)。図2で
は、パリティグループPG#1で論理ヴォリュームLV
#1を構成しているので、パリティグループPG#1の
論理ヴォリューム番号28はLV#1となる。同様に、
パリティグループPG#2とPG#3で論理ヴォリュー
ムLV#2を構成しているので、パリティグループPG
#2とPG#3の論理ヴォリューム番号28はLV#2
と設定される。パリティグループPG#4も、同様にし
て、論理ヴォリューム番号28はLV#3と設定され
る。
【0070】以上のようにして、図4の論理グループ構
成テーブル18の初期設定を行った後、その論理グルー
プ構成テーブル18を元にして、図3に示すような論理
グループ15内の各論理ヴォリューム27に対するアド
レス変換テーブル37を設定する。
【0071】図3において、アドレス変換テーブル37
は、論理ヴォリューム番号28、データ名38、キャッ
シュアドレス39、DドライブNo.40、障害フラグ
41、PドライブNo.42、およびSCSI内アドレ
ス(Addr)43の各フィールドにより構成される。
【0072】論理ヴォリューム番号28は、論理ヴォリ
ューム27の番号(ID)を格納するフィールドであ
る。論理ヴォリューム番号28には、図4の論理グルー
プ構成テーブル18において設定した論理ヴォリューム
番号28を初期設定する。データ名38は、論理ヴォリ
ューム27内の論理アドレスを格納するフィールドであ
る。データ名38は、すべて空き(未登録)に初期設定
する。逆にいえば、データ名38が空きのとき、対応す
る領域が空き領域であることを示す。
【0073】キャッシュアドレス39には、データ名3
8のデータがキャッシュメモリ8上に存在する場合には
該当するキャッシュメモリ8内アドレスが格納される。
キャッシュアドレス39は、すべて空きに初期設定す
る。障害フラグ41には、データ名38のデータが格納
されているドライブ14が故障していないときには
「0」を設定し、データ名38のデータが格納されてい
るドライブ14が故障しているときには「1」を設定す
る。障害フラグ41は、すべて「0」に初期設定する。
【0074】DドライブNo.40は、データ名38の
データが格納されているドライブ14の番号を格納する
フィールドである。PドライブNo.42は、データ名
38のデータに対応するパリティが格納されているドラ
イブ14の番号を格納するフィールドである。なお、パ
リティが格納されているドライブ(すなわち、Pドライ
ブNo.42のドライブ)が故障しているときには、そ
のパリティを作成するのに用いたデータに対応する障害
フラグ41をすべて「1」に設定する。例えば、図3に
おいて、データ#5,#6,#7,#8はそれぞれドラ
イブ#1,#2,#3,#5に格納され、それらのデー
タから作成したパリティがドライブ#4に格納されてい
るが、データ#5,#6,#7,#8の障害フラグ41
がすべて「1」であるのでパリティを格納したドライブ
#4が故障していることが分かる。
【0075】SCSI内アドレス43は、データ名38
のデータおよびこれが関与したパリティが格納されてい
るドライブ14内の物理的なアドレス(SCSI内のア
ドレス)を格納するフィールドである。具体的には、要
求データが格納されている当該ドライブ14の番号と当
該ドライブ14内のシリンダ番号であるシリンダアドレ
スとシリンダにおいてトラックを選択するヘッドの番号
であるヘッドアドレスとトラック内の当該レコードの位
置を示すレコードアドレスからなる。
【0076】DドライブNo.40、PドライブNo.
42、およびSCSI内アドレス43は、当該論理ヴォ
リュームを構成するパリティグループのドライブ内オフ
セット23、RAIDレベル24、RAID構成25、
および容量26に応じて初期設定する。例えば、論理ヴ
ォリューム番号LV#1のパリティグループPG#1
は、RAIDレベル24がレベル5で、RAID構成2
5が4D+1Pであり、ドライブ内オフセット23がP
Goff1(=0)で、容量26がClv1=(5−
1)×Cdrv3である。そこで、容量26がClv1
となる分だけのSCSI内アドレスをPGoff1から
確保し、そのアドレスをすべて設定する。そして、RA
IDレベルとRAID構成に応じてDドライブNo.4
0とPドライブNo.42をすべて設定する。
【0077】本実施例では、論理グループ15を構成す
る各ドライブ14において、パリティを作成するデータ
と、これらのデータから作成されたパリティは、同一S
CSI内アドレス43に格納される。図6は、本実施例
のディスクアレイ装置におけるデータの格納の様子を模
式的に示したものである。特に図6は、図3のアドレス
変換テーブル37に対応した状態を示している。
【0078】例えば、図3のアドレス変換テーブル37
によれば、データ#1,#2,#3,#4がそれぞれド
ライブ#1,#2,#3,#4のSCSI内アドレス4
3がDADR1の位置に格納され、それらのデータから
作成したパリティがドライブ#5のSCSI内アドレス
43がDADR1の位置に格納されていることが分か
る。図6のSCSI内アドレスがDADR1の位置に
は、このように格納されたデータおよびパリティが図示
されている。
【0079】なお、本実施例ではパリティを作成するデ
ータおよびパリティを同一のSCSI内アドレス43に
格納するようにしたが、SCSI内アドレス43が異な
っていても、問題はないことは明らかである。
【0080】(アドレス変換法)次に、図3のアドレス
変換テーブル37を用いたアドレスの変換法について説
明する。
【0081】読み出しまたは書き込み要求を指示するC
PU1は、論理アドレスとして論理ヴォリューム番号2
8とデータ名38を指定する。CPU1からの読み出し
または書き込み要求と当該アドレスを受け取ったADC
2のMP9は、図3のアドレス変換テーブル37によ
り、そのデータが実際に格納されているドライブ14の
番号(DドライブNo.40)、ドライブ内物理アドレ
ス(SCSI内アドレス43)、キャッシュメモリ8内
のアドレス(キャッシュアドレス39)、およびデータ
の関与しているパリティの格納されているドライブ14
の番号(PドライブNo.42)を求める。
【0082】例えば、図3および図6において、CPU
1から論理ヴォリューム番号LV#1でデータ名がデー
タ#2なる論理アドレスでアクセス要求が発行された場
合、MP9は、アドレス変換テーブル37から当該論理
アドレスがドライブ#2のSCSI内アドレス43がD
ADR1に該当することを知り、物理的なアドレスに変
換する。このとき、アドレス変換テーブル37において
データ#2のキャッシュアドレス39にCADR3が登
録されているため、このデータ#2はキャッシュメモリ
8内のCADR3に存在することが分かる。もし、キャ
ッシュアドレス39に登録されていない場合は、当該デ
ータはキャッシュメモリ8内には存在しない。
【0083】さらに、このデータ#2が関与したパリテ
ィは、図3のアドレス変換テーブル37から、パリティ
ドライブ番号(PドライブNo.42)がドライブ#5
のSCSI内アドレス43がDADR1の位置に格納さ
れていることが分かる。このように、CPU1から指定
された論理ヴォリューム番号28およびデータ名38
を、実際に読み出し/書き込みを行うドライブ14の物
理的なアドレスに変換した後、ドライブ#2のデータ#
2のデータに対し読み出しまたは書き込み要求が発行さ
れる。
【0084】次に、このようなアドレス変換を行い、具
体的にデータを読み出しまたは書き込む際の処理法につ
いて説明する。
【0085】なお、本実施例ではRAIDレベルが5の
構成のパリティグループ17に対する読み出し/書き込
み処理を例に挙げて説明しているが、他のRAIDレベ
ルでも容易に実施可能である。
【0086】(新規書き込み処理)まず、新規にデータ
を書き込む方法について図1を用いて説明する。
【0087】CPU1からのコマンドを受け取ると、A
DC2のMP9は、そのコマンドを処理可能かどうか調
べ、可能な場合は処理可能だという応答をCPU1へ返
す。CPU1より発行されたコマンドは、IF Adp
4を介してADC2に取り込まれ、MP9により読み出
し要求か書き込み要求か解読される。書き込み要求の場
合は、以下のように処理する。
【0088】CPU1では処理可能だという応答を受け
取った後に、ADC2へ書き込みデータを転送する。こ
のとき、ADC2では、MP9の指示により、IF A
dp4とCPU1間の接続を確立する。CPU1とAD
C2との間の接続を確立した後、CPU1からのデータ
転送を受け付ける。
【0089】CPU1からは、論理アドレス(論理ヴォ
リューム番号およびデータ名)と書き込みデータが転送
される。CH IF5は、MP9の指示により、CPU
1から転送されたこれらのデータに対しプロトコル変換
を施す。これにより、CPU1からのデータは、外部イ
ンタフェースパス4での転送速度からADC2内での処
理速度に速度調整される。具体的には、CPU1とAD
C2との間のチャネルインターフェースを光のインター
フェースにした場合、CH IF5は、光のインターフ
ェースのプロトコルをADC2内の電気処理でのプロト
コルに変換する。
【0090】CH IF5におけるプロトコル変換およ
び速度制御の完了後、データは、データ制御回路(DC
C)6によるデータ転送制御を受け、キャッシュアダプ
タ回路(C Adp)7に転送され、C Adp7によ
りキャッシュメモリ8内に格納される。C Adp7
は、MP9の指示に応じて、キャッシュメモリ8に対す
るデータの読み出しおよび書き込みを行う回路であり、
キャッシュメモリ8の状態を監視したり、各読み出しお
よび書き込み要求に対し排他制御を行う回路である。
【0091】MP9が書き込み要求のコマンドを認識
し、しかも、書き込むデータが初めて書き込まれる新規
データと認識すると、MP9はCPU1から論理アドレ
スとして送られてきた論理ヴォリューム番号28のデー
タ名をアドレス変換テーブル37へ登録する処理を開始
する。
【0092】具体的には、以下のようにする。図3のア
ドレス変換テーブル37において、データ名38が登録
されていない場合は、その項に登録されているDドライ
ブNo.40のドライブ14内のSCSI内アドレス4
3の領域にはデータが格納されていない空き領域であ
る。この空き領域には、初期設定の段階からデータが書
き込まれていない場合と、以前はデータが書き込まれて
いたがこのデータが不要となり削除した場合がある。こ
の削除する場合は、アドレス変換テーブル37において
当該データ名38の削除がMP9により行われる。ま
た、このときのパリティは、このようにデータが格納さ
れていない領域がすべて0のデータと見なして作成さ
れ、アドレス変換テーブル37で指定されているPドラ
イブNo.42のドライブ14の、データと同じSCS
I内アドレス43に、格納される。
【0093】新規データを書き込む場合、MP9は、ア
ドレス変換テーブル37において新規にデータを書き込
む空き領域(データ名38が登録されていない項)を認
識し、アドレス変換テーブル37の当該項へCPU1か
ら送られてきたデータ名を登録することにより、新規書
き込みデータの登録を行う。これにより、新規書き込み
データの書き込み領域が確保されたことになる。新規書
き込みデータのドライブ14における書き込み領域の確
保が完了したら、アドレス変換テーブル37においてこ
の確保した領域に対応するキャッシュアドレス39に新
規書き込みデータを格納したキャッシュメモリ8内のア
ドレスを登録する。
【0094】なお、CPU1から送られてきた論理アド
レスの論理ヴォリューム番号がLV#2であった場合、
論理ヴォリューム番号LV#2は2つのパリティグルー
プPG#2,PG#3から構成されているので、新規書
き込みデータをどちらのパリティグループに割り当てる
かを決定する必要がある。この場合、MP9は、CPU
1から新規書き込みデータとともにそのデータの重要度
が送られてきているときは、その重要度に基づいて、信
頼性29の高いPG#3に割り当てるか、信頼性29の
低いPG#2に割り当てるか、を決定する。そして、決
定したパリティグループPG#2またはPG#3内でデ
ータ名38が登録されていない項を探し、そこに新規書
き込みデータのデータ名を登録するようにする。また、
CPU1からデータの重要度が送られてきていないとき
は、始めにパリティグループPG#2にデータを配置
し、パリティグループPG#2に空きがなくなったら、
パリティグループPG#3にデータを配置するようにす
る。
【0095】MP9により以上のようなアドレス変換テ
ーブル37への登録が完了したら、以下のように、この
新規書き込みデータによりパリティを更新し(以下、更
新前のパリティを旧パリティ、更新されたパリティを新
パリティとする)、論理グループ15内のドライブ14
へ新規書き込みデータと新パリティを格納する。
【0096】本実施例では、論理グループ15を構成す
る各ドライブ14において、図6に示すようにデータお
よびパリティが格納されるとする。まず、MP9は、C
PU1が指定した論理アドレス(論理ヴォリューム番号
28およびデータ名39)からアドレス変換テーブル3
7を参照し、データおよびパリティが格納されているド
ライブ14(DドライブNo.40およびPドライブN
o.42)とそのドライブ14内の物理的なアドレスで
あるSCSI内アドレス43を認識する。
【0097】例えば、図3および図6において、MP9
は、DドライブNo.40がドライブ#2のドライブ1
4のSCSI内アドレス43がDADR1の位置に新規
に論理ヴォリューム番号LV#1のデータ#2のデータ
を書き込むと認識したとする。DドライブNo.40が
ドライブ#2であるドライブ14のSCSI内アドレス
43がDADR1の位置に書き込まれるデータに対応し
て、PドライブNo.42がドライブ#5であるドライ
ブ14のSCSI内アドレス43がDADR1の位置に
パリティが格納されることを、MP9はアドレス変換テ
ーブル37により認識している。このようにしてMP9
が新規に書き込むデータ並びにこのデータおよびパリテ
ィを書き込んむ物理アドレスを認識した後、MP9は、
ドライブ#2のドライブ14に対し新規に書き込むデー
タの書き込み処理を開始し、ドライブ#5のドライブ1
4に対しパリティの更新処理を開始する。
【0098】パリティの更新処理においては、まずMP
9が、ドライブIF13に対し、当該ドライブ14へ旧
パリティの読み出し要求を発行するように指示する。ド
ライブIF13は、SCSIの読み出し処理手順に従っ
て、読み出しコマンドをドライブ14のドライブパス1
6を介して発行する。ドライブIF13から読み出しコ
マンドを発行された当該ドライブ14では、指示された
SCSI内アドレス43へシーク、回転待ちのアクセス
処理を行う。当該ドライブ14におけるアクセス処理が
完了した後、当該ドライブ14は、当該旧パリティを読
み出しドライブパス16を介してドライブIF13へ転
送する。
【0099】ドライブIF13では、転送されてきた当
該旧パリティをドライブ14側のキャッシュアダプタ回
路(C Adp)10に転送し、C Adp10ではキ
ャッシュメモリ8に当該旧パリティを格納する。このと
き、C Adp10は、キャッシュメモリ8に当該旧パ
リティを格納したことをMP9に報告する。このように
当該旧パリティをキャッシュメモリ8に読み出した後、
MP9は、パリティ生成回路(PG)11に対し、キャ
ッシュメモリ8内に格納されている新規書き込みデータ
と当該旧パリティとで排他的論理和を行い更新後の新パ
リティを作成することを指示する。PG11は、この指
示に応じて新パリティを作成し、キャッシュメモリ8内
に格納する。
【0100】新パリティのキャッシュメモリ8への格納
完了後、MP9は、新規書き込みデータ(LV#1の論
理ヴォリューム27のデータ#2のデータ名38のデー
タ)をドライブ#2のSCSI内アドレス43がDAD
R1の位置に、新パリティをドライブ#5のSCSI内
アドレス43がDADR1の位置に、それぞれ書き込む
制御を開始する。
【0101】まずMP9は、ドライブIF13に対し、
当該ドライブ14へ新規に書き込むデータと新パリティ
の書き込み要求を発行するように指示する。ドライブI
F13では、SCSIの書き込み処理手順に従って、当
該ドライブ14に対し書き込みコマンドをドライブパス
16を介して発行する。ドライブIF13から書き込み
コマンドを発行された当該ドライブ14においては、指
示されたSCSI内アドレス43へシーク、回転待ちの
アクセス処理を行う。
【0102】当該ドライブ14におけるアクセス処理が
完了した後、キャッシュアダプタ回路(C Adp)10
は、キャッシュメモリ8から新規書き込みデータまたは
新パリティを読み出し、ドライブIF13へ転送する。
ドライブIF13では、転送されてきた新規書き込みデ
ータまたは新パリティをドライブパス16を介して当該
ドライブ14に転送し、当該ドライブ14の当該アドレ
スに新規書き込みデータまたは新パリティを書き込む。
そして、C Adp10は、当該ドライブ14に新規書
き込みデータまたは新パリティを格納したことをMP9
に報告する。
【0103】(書き込み処理)次に、すでにドライブ1
4内に書き込まれているデータを新しいデータに書き換
える更新の場合について説明する。
【0104】CPU1からの書き込み要求(データの更
新)のコマンドを受取ったMP9は、CPU1が指定し
た論理アドレス(論理ヴォリューム番号28およびデー
タ名38)からアドレス変換テーブル37を参照し、デ
ータおよびパリティが格納されているドライブ14のD
ドライブNo.40およびPドライブNo.42、これ
らのドライブ14内の物理的なアドレスであるSCSI
内アドレス43、並びに障害フラグ41を認識する。当
該データまたは当該パリティの格納されている当該ドラ
イブ14に対するアドレス変換テーブル37内の障害フ
ラグ41がオフ(すなわち「0」)なら、MP9は、こ
れらのドライブ14は正常と認識し、以下のように更新
の処理を行う。
【0105】更新する新データは、新規データの書き込
みのときの新規書き込みデータと同様に、CPU1から
キャッシュメモリ8に格納される。例えば、図3および
図6に示す状態において、CPU1からドライブ#2の
SCSI内アドレス43がDADR1のデータ#2に対
し、更新する書き込み要求が発行されたとする。MP9
は、アドレス変換テーブル37により、更新されるデー
タ(旧データ)のDドライブNo.40、SCSI内ア
ドレス43、キャッシュアドレス39、および更新され
るパリティ(旧パリティ)のPドライブNo.42を認
識する。
【0106】そして、MP9は、アドレス変換テーブル
37の当該キャッシュアドレス39に、新規書き込みデ
ータを格納したキャッシュメモリ8内のアドレスを登録
する。旧データがキャッシュメモリ8にない場合は、旧
データと旧パリティをそれぞれのドライブ14から読み
出してキャッシュメモリ8に格納する。また、旧データ
がキャッシュメモリ8にある場合は、旧パリティのみド
ライブ14から読み出してキャッシュメモリ8に格納す
る。このときの旧データおよび旧パリティをドライブ1
4から読み出しキャッシュメモリ8に格納する方法は、
先に説明した新規書き込み時のパリティ更新処理におけ
る旧パリティのドライブ14からキャッシュメモリ8へ
の読み出し方法と同じである。
【0107】このように読み出した旧データ、旧パリテ
ィと書き込む新データとで先に説明した新規書き込み時
のパリティ更新処理と同様に、排他的論理和を行い更新
後の新パリティを作成しキャッシュメモリ8に格納す
る。このようにパリティの更新処理が完了したら、先に
説明した新規書き込み時のパリティ更新処理と同様に新
データおよび新パリティを当該ドライブ14の当該SC
SI内アドレス43に格納する。
【0108】(障害ドライブ14への書き込み処理)次
に、すでにドライブ14内に書き込まれているデータを
新しいデータに書き換える更新の際に、更新される旧デ
ータが格納されているドライブ14に障害が発生してい
る場合の処理方法について説明する。
【0109】CPU1からの書き込み要求(データの更
新)のコマンドを受取ったMP9は、CPU1が指定し
た論理アドレス(論理ヴォリューム番号28およびデー
タ名38)からアドレス変換テーブル37を参照し、デ
ータおよびパリティが格納されているドライブ14のD
ドライブNo.40およびPドライブNo.42、これ
らのドライブ14内の物理的なアドレスであるSCSI
内アドレス43、並びに障害フラグ41を認識する。当
該データの格納されている当該ドライブ14に対するア
ドレス変換テーブル37内の障害フラグ41がオン(す
なわち「1」)なら、MP9は、このドライブ14は異
常と認識し、以下のように更新の処理を行う。
【0110】更新する新データは、新規データの書き込
みのときの新規書き込みデータと同様に、CPU1から
キャッシュメモリ8に格納される。例えば、図3および
図6に示す状態において、CPU1からドライブ#4の
SCSI内アドレス43がDADR1のデータ#4に対
し、更新する書き込み要求が発行されたとする。MP9
は、アドレス変換テーブル37により、更新されるデー
タ(旧データ)のDドライブNo.40、SCSI内ア
ドレス43、キャッシュアドレス39、および更新され
るパリティ(旧パリティ)のPドライブNo.42を認
識する。そして、MP9は、アドレス変換テーブル37
において旧データの格納されているドライブ#4のドラ
イブ14の障害フラグ41がオン(1)となっているた
め、ドライブ#4に障害が発生していると認識し、障害
時の書き込み処理を開始する。
【0111】まず、MP9は、アドレス変換テーブル3
7の当該キャッシュアドレス39に、キャッシュメモリ
8内の新規書き込みデータを格納したアドレスを登録す
る。次に、MP9は、パリティグループ17内で旧デー
タの回復処理に関する全データおよびパリティのアドレ
スをアドレス変換テーブル37により認識する。ここで
は、旧データであるデータ#4を回復するためのデータ
であるデータ#1,#2,#3およびパリティが、それ
ぞれドライブ#1,#2,#3,#5のSCSI内アド
レス43がDADR1の位置にあることを認識すること
になる。
【0112】次に、MP9は、認識したそれぞれのドラ
イブ14からこれらのデータおよびパリティを読み出
し、キャッシュメモリ8に格納する。このとき、これら
のデータおよびパリティの中で、アドレス変換テーブル
37においてキャッシュアドレス39にアドレスが登録
されているものは、もうすでにキャッシュメモリ8に存
在しているとして、MP9はドライブ14からの読み出
し処理は行わない。
【0113】なお、これらのデータおよびパリティをド
ライブ14から読み出してキャッシュメモリ8に格納す
る方法は、正常時の書き込み処理と同様に先に説明した
新規書き込み時のパリティ更新処理における旧パリティ
のドライブ14からキャッシュメモリ8への読み出し方
法と同じである。
【0114】このように読み出したデータおよびパリテ
ィと新規書き込みデータとで正常時の書き込み処理と同
様に先に説明した新規書き込み時のパリティ更新処理の
ように、排他的論理和を行い更新後の新パリティを作成
し、キャッシュメモリ8に格納する。このようにパリテ
ィの更新処理が完了したら、先に説明した新規書き込み
時のパリティ更新処理と同様な方法で、新パリティのみ
を当該ドライブ14の当該SCSI内アドレス43の位
置に格納することで、パリティの更新のみを行う。
【0115】なお、更新される旧データから作成したパ
リティを格納しているドライブが障害を起こした場合
は、旧データを新規書き込みデータに置き換える処理を
行い、パリティは格納しない。例えば、図3において、
データ#5に対する更新の場合、データ#5〜#8から
作成したパリティを格納したドライブ#4が障害を起こ
しているので、MP9は、旧データ#5を新規書き込み
データに置き換える処理のみを行い、パリティは作成し
ない。
【0116】(読み出し処理)次に、すでにドライブ1
4内に書き込まれているデータを読み出す場合について
説明する。
【0117】CPU1からのデータ読み出し要求のコマ
ンドを受取ったMP9は、CPU1が指定した論理アド
レス(論理ヴォリューム番号28およびデータ名38)
からアドレス変換テーブル37を参照し、読み出したい
データが格納されているドライブ14のDドライブN
o.40、そのドライブ14内のSCSI内アドレス4
3、および障害フラグ41を認識する。当該データまた
は当該パリティの格納されている当該ドライブ14に対
するアドレス変換テーブル37内の障害フラグ41がオ
フ(0)なら、MP9は、このドライブ14は正常と認
識し、以下のように読み出し処理を行う。
【0118】まず、MP9は、アドレス変換テーブル3
7のキャッシュアドレス39を調べ、キャッシュメモリ
8内に読み出したいデータが存在するかどうか判定す
る。キャッシュアドレス39にアドレスが登録されてお
り、キャッシュメモリ8内に読み出したいデータが格納
されている場合(キャッシュヒット)は、MP9が、キ
ャッシュメモリ8から当該データを読み出す制御を開始
する。また、キャッシュメモリ8内に読み出したいデー
タが無い場合(キャッシュミス)、MP9は、当該ドラ
イブ14に対しその内部の当該データを読み出す制御を
開始する。
【0119】キャッシュヒットした場合、MP9は、ア
ドレス変換テーブル37によりCPU1から指定してき
た論理アドレス(論理ヴォリューム番号28およびデー
タ名38)を、当該データが格納されているキャッシュ
メモリ8内のキャッシュアドレス39に変換し、キャッ
シュメモリ8へ当該データを読み出しに行く。具体的に
は、MP9の指示の元でキャッシュアダプタ回路(C
Adp)7によりキャッシュメモリ8から当該データは
読み出される。
【0120】C Adp7により読み出されたデータ
は、データ制御回路(DCC)6の制御の元でチャネル
インタフェース回路(CH IF)5に転送される。C
H IF5では、CPU1におけるチャネルインタフェ
ースのプロトコルに変換し、チャネルインタフェースに
対応する速度に速度調整する。CH IF5におけるプ
ロトコル変換および速度調整後は、IF Adp4によ
りCPU1へデータ転送を行う。
【0121】一方、キャッシュミスの場合、MP9は、
キャッシュヒット時と同様に、アドレス変換テーブル3
7により、CPU1が指定した論理アドレスから、ドラ
イブ14のDドライブNo.40、そのドライブ14内
の物理的なアドレスであるSCSI内アドレス43、お
よび障害フラグ41を認識する。MP9は、この認識し
たDドライブNo.40とSCSI内アドレス43の位
置に対し、ドライブIF13に、当該ドライブ14への
読み出し要求を発行するように指示する。ドライブIF
13では、SCSIの読み出し処理手順に従って、読み
出しコマンドをドライブパス16を介して発行する。
【0122】ドライブIF13から読み出しコマンドを
発行された当該ドライブ14においては、指示されたS
CSI内アドレス43へシーク、回転待ちのアクセス処
理を行う。当該ドライブ14におけるアクセス処理が完
了した後、当該ドライブ14は、当該データを読み出し
ドライブパス16を介してドライブIF13へ転送す
る。ドライブIF13では転送されてきた当該データを
ドライブ14側のキャッシュアダプタ回路(C Ad
p)10に転送し、C Adp10ではキャッシュメモ
リ8にデータを格納する。
【0123】このとき、C Adp10はキャッシュメ
モリ8にデータを格納することをMP9に報告し、MP
9はこの報告を元にアドレス変換テーブル37のCPU
1が読み出し要求を発行した論理アドレス(論理ヴォリ
ューム番号28およびデータ名38)のキャッシュアド
レス39にデータを格納したキャッシュメモリ8内のア
ドレスを登録する。以降は、キャッシュヒット時と同様
な手順で、CPU1へ当該データを転送する。
【0124】(障害ドライブ14への読み出し処理)次
に、障害ドライブ14内に書き込まれているデータを読
み出す場合について説明する。
【0125】CPU1からのデータ読み出し要求のコマ
ンドを受取ったMP9は、CPU1が指定した論理アド
レス(論理ヴォリューム番号28およびデータ名38)
からアドレス変換テーブル37を参照し、読み出したい
データが格納されているドライブ14のDドライブN
o.40、そのドライブ14内のSCSI内アドレス4
3、および障害フラグ41を認識する。当該データの格
納されている当該ドライブ14に対するアドレス変換テ
ーブル37内の障害フラグ41がオン(1)なら、MP
9は、このドライブ14は異常と認識し、以下のように
読み出し処理を行う。
【0126】まず、MP9は、アドレス変換テーブル3
7のキャッシュアドレス39を調べ、キャッシュメモリ
8内に読み出したいデータが存在するかどうか判定す
る。キャッシュアドレス39にアドレスが登録されてお
り、キャッシュメモリ8内に読み出したいデータが格納
されている場合(キャッシュヒット)は、正常時と同様
に、MP9が、キャッシュメモリ8から当該データを読
み出す制御を開始する。一方、キャッシュメモリ8内に
読み出したいデータが無い場合(キャッシュミス)、M
P9は、以下に示すような障害ドライブ14への読み出
し処理を開始する。
【0127】まずMP9は、アドレス変換テーブル37
により、旧データ(障害ドライブ中の読み出したいデー
タ)の回復処理に関する全データおよびパリティが格納
されているドライブ14のDドライブNo.40および
PドライブNo.42、それらのドライブ14内の物理
的なアドレスであるSCSI内アドレス43、並びに障
害フラグ41を認識する。次に、MP9は、認識したそ
れぞれのドライブ14からこれらのデータおよびパリテ
ィを読み出し、キャッシュメモリ8に格納する。このと
き、これらのデータおよびパリティの中で、アドレス変
換テーブル37においてキャッシュアドレス39にアド
レスが登録されているものは、もうすでにキャッシュメ
モリ8に存在しているとして、MP9はドライブ14か
らの読み出し処理は行わない。
【0128】なお、これらのデータおよびパリティをド
ライブ14から読み出してキャッシュメモリ8に格納す
る方法は、先に説明した新規書き込み時のパリティ更新
処理における旧パリティのドライブ14からキャッシュ
メモリ8への読み出し方法と同じである。
【0129】MP9は、PG11によって、このように
読み出したデータおよびパリティを用いて排他的論理和
を行い障害ドライブ14内に格納されている当該データ
を復元してキャッシュメモリ8に格納する。このとき、
C Adp10は、キャッシュメモリ8にデータを格納
することをMP9に報告する。MP9は、アドレス変換
テーブル37において、CPU1が読み出し要求を発行
した論理アドレス(論理ヴォリューム番号28およびデ
ータ名38)に対するキャッシュアドレス39に、デー
タを格納したキャッシュメモリ8内のアドレスを登録す
る。以降はキャッシュヒット時と同様な手順でCPU1
へ当該データを転送する。
【0130】なお、読み出すべきデータから作成したパ
リティを格納しているドライブが障害を起こした場合
は、通常の読み出し処理と同様に処理すればよい。例え
ば、図3において、データ#5に対する読み出しの場
合、MP9は、アドレス変換テーブル37から、データ
#5に対応する障害フラグが「1」であることを認識す
るが、同時にデータ#5〜#8に対応する障害フラグが
すべて「1」であることを認識するので、これらのデー
タから作成したパリティを格納したドライブ#4が障害
を起こしていることが分かる。そこで、MP9は、通常
の読み出し処理と同様にして、データ#5を読み出す処
理を行う。
【0131】(障害回復処理)次に、障害が発生したド
ライブ14を正常なドライブに置き換えた後に、元の障
害ドライブ14内のデータを回復して置き換えた正常な
ドライブに復元する方法について説明する。
【0132】MP9は、論理グループ15内の任意のド
ライブ14に障害が発生したことを認識すると、アドレ
ス変換テーブル37上の障害が発生したドライブ14の
すべての項に対し、障害フラグ41をオン(1)とす
る。例えば、ドライブ#4に障害が発生したとすると、
MP9により、図3のアドレス変換テーブル37に示す
ように、ドライブ#4に関する項のすべての障害フラグ
41がオン(1)にされる。なお、パリティが格納され
ているドライブ(すなわち、PドライブNo.42のド
ライブ)が故障しているときには、そのパリティを作成
するのに用いたデータに対応する障害フラグ41をすべ
て「1」に設定するから、図3では、ドライブ#4にパ
リティを格納しているデータ#5,#6,#7,#8の
障害フラグ41がすべて「1」とされている。
【0133】任意のドライブ14に障害が発生したとき
には、以上のように障害フラグを設定し、障害ドライブ
に対するデータの書き込みと読み出しは既に説明した方
法により継続できる。一方、障害が発生したドライブは
正常なドライブに置き換える必要があるから、オペレー
タにより障害ドライブを正常なドライブに交換(あるい
は修理)したり、予め予備のドライブが用意されている
ときはその予備のドライブに切り替えることなどを行
う。そして、障害ドライブを正常なドライブに置き換え
た後に、障害ドライブのデータを他のドライブのデータ
から回復して正常なドライブに復元する回復処理を行う
必要がある。
【0134】この回復処理はパリティグループを単位と
して実行するが、本実施例では、信頼性(データ消失確
率)と障害時の性能に基づいた順序でパリティグループ
の回復処理を行う。以下、このような回復処理ついて詳
細に説明する。
【0135】図2や図6に示すように、本実施例では論
理グループ15を構成するドライブ14内には、4個の
データと1個のパリティ(4D+1P)であるパリティ
グループPG#1、3個のデータと1個のパリティ(3
D+1P)であるパリティグループPG#2、二重化で
あるパリティグループPG#3、および単体ドライブで
あるパリティグループPG#4が存在する。DADR
1,2は4D+1PであるパリティグループPG#1の
SCSI内アドレス、DADR3,4は3D+1Pであ
るパリティグループPG#2のSCSI内アドレス、D
ADR5,6,7は二重化であるパリティグループPG
#3のSCSI内アドレス、DADR8は単体ドライブ
であるパリティグループPG#4のSCSI内アドレス
である。
【0136】パリティグループPG#4は単体ドライブ
と同等の信頼性のため、パリティグループPG#4を格
納しているドライブ#1が故障するとデータは消失す
る。PG#4を除く3種類のパリティグループ17間で
は、信頼性が高く障害時の性能が高い方から順に並べる
と、二重化,3D+1P,4D+1Pの順になる。具体
的には、DADR1,2を含む4D+1Pであるパリテ
ィグループPG#1では、1台目のドライブ14に障害
が発生し、そのドライブの回復処理前にさらに論理グル
ープ15内の他の任意のドライブ14に障害が発生する
と、データ消失となる。一方、DADR2,3を含む3
D+1PであるパリティグループPG#2では、1台目
のドライブ14に障害が発生し、そのドライブの回復処
理前に論理グループ15内のさらにもう1台のドライブ
14に障害が発生しても、それがパリティグループPG
#2を構成しているデータが格納されているドライブ1
4でなければ、データ消失とはならない。さらに、二重
化であるパリティグループPG#3に関しては、二重化
のペアのドライブ14の両方に障害が発生するのでなけ
れば、データ消失とはならない。
【0137】以上のように、パリティグループ17の構
成により、2台目のドライブ14に障害が発生すること
によりデータ消失する確率が異なる。この確率は、論理
グループ構成テーブル18の信頼性29に示される。す
なわち、信頼性29の値が大きい(信頼性が低い)パリ
ティグループのほうが、2台目のドライブに障害が発生
してデータ消失する確率が高いことになる。
【0138】また、この分類は以下に示すように障害時
における性能低下においても適用できる。上述の障害時
における書き込み、読み出し処理で説明したように、障
害が発生したドライブ14に対し書き込みまたは読み出
し要求が発生した場合、4D+1Pでは4台のドライブ
14に対し読み出し要求を発行しなければならない。し
かし、3D+1Pでは3台のドライブ14に対する読み
出し要求ですみ、二重化に対しては1台のみである。こ
のように、障害が発生したドライブ14に対する読み出
し要求または書き込み要求が発生した場合、読み出し要
求を発行しなければならないドライブ数が4D+1P,
3D+1P,二重化の順に少なくなるため、この順に障
害時の性能は高くなっていく。
【0139】そこで本実施例では、1台目のドライブ1
4に障害が発生し、この障害が発生したドライブ14内
のデータを復元する回復処理を行う場合、信頼性が低く
障害時の性能が低い(すなわち、2台目の障害が発生し
た場合にデータ消失となる確率(データ消失確率)が高
い)パリティグループ17から順次回復処理を行う。具
体的には、論理グループ構成テーブル18の信頼性29
を参照し、信頼性29の値が大きい(信頼性が低い)パ
リティグループから順次回復処理を行うことになる。
【0140】以下、信頼性29に基づいた順序でパリテ
ィグループの回復処理を行う例を具体的に説明する。
【0141】図3および図6において、ドライブ#4に
障害が発生したとする。まず、この障害が発生したドラ
イブ#4を正常なドライブに交換する。ドライブ14の
障害に備えて予備のドライブ14を予め用意してある場
合は、この予備のドライブ14に切り換える。このとき
交換後のドライブ14の容量、ドライブ14の数は自由
である。
【0142】交換後のドライブ14の容量が交換前のド
ライブ14の容量と異なる場合には、論理グループ内の
パリティグループの再構築を行ったのち、データの回復
処理を行う。交換後のドライブ14が交換前のドライブ
14よりも容量が小さい場合には、信頼性の低い(2台
目の障害が発生した場合にデータ消失となる確率(デー
タ消失確率)が高い)パリティグループ17から順次回
復処理を行う。交換後のドライブ14が足りない領域に
関連するデータは、論理ヴォリューム15内の空き領域
で回復処理を行う。
【0143】具体的には、まずドライブ#4のSCSI
内アドレス43がDADR1およびDADR2の位置に
はパリティグループPG#1のデータ#4およびパリテ
ィが格納され、SCSI内アドレス43がDADR3お
よびDADR4の位置にはパリティグループPG#2の
データ#10,#13が格納されている。PG#1は4
D+1Pのパリティグループ17、PG#2は3D+1
Pのパリティグループ17である。
【0144】図4の論理グループ構成テーブル18を参
照することにより、障害が発生したドライブ#4がパリ
ティグループPG#1とPG#2に用いられていること
が分かる。これらのパリティグループPG#1,#2の
うち、パリティグループPG#1の方が、信頼性29の
値が大きく、2台目の障害が発生した場合にデータ消失
となる確率(データ消失確率)の高い。そこで、MP9
は、パリティグループPG#1のデータ#4の復元を最
初に行う。
【0145】すなわち、まずMP9は、アドレス変換テ
ーブル37により、データ#1,#2,#3が格納され
ているDドライブNo.40、これらのデータから作成
されたパリティが格納されているPドライブNo.4
2、それらのドライブ14内の物理的なアドレスである
SCSI内アドレス43、および障害フラグ41を認識
する。次に、MP9は、それぞれのドライブ14からこ
れらのデータおよびパリティを読み出し、キャッシュメ
モリ8に格納する。
【0146】このとき、これらのデータおよびパリティ
の中で、図3のアドレス変換テーブル37のキャッシュ
アドレス39にアドレスが登録されているデータは、も
うすでにキャッシュメモリ8に存在しているとして、M
P9はドライブ14からの読み出し処理は行わない。例
えば、図3のデータ#2である。なお、これらのデータ
およびパリティをドライブ14から読み出してキャッシ
ュメモリ8に格納する方法は、先に説明したドライブ1
4からキャッシュメモリ8への読み出し方法と同じであ
る。
【0147】MP9は、PG11によって、このように
読み出したデータおよびパリティを用いて排他的論理和
を行い障害ドライブ#4内に格納されているデータ#4
を復元しキャッシュメモリ8に格納する。このとき、C
Adp10は、キャッシュメモリ8にデータを格納す
ることをMP9に報告する。MP9は、この報告を元
に、アドレス変換テーブル37のキャッシュアドレス3
9に、復元したデータ#4を格納したキャッシュメモリ
8内のアドレスを登録し、対応する障害フラグ41をオ
フ(0)とする。
【0148】以上のようにして、障害ドライブ#4のパ
リティグループPG#1のデータおよびパリティをすべ
て復元し、交換した正常なドライブ14に復元したデー
タを格納する。パリティグループPG#1に含まれるド
ライブ#4のデータがすべて回復した後は、データ消失
確率は低下し障害時の性能は向上する。
【0149】次に、障害ドライブ#4の3D+1Pのパ
リティグループPG#2に所属するデータの回復処理を
開始する。回復処理方法は、上述の5D+1Pのパリテ
ィグループPG#1と同様である。
【0150】以上により、ドライブ#4内のパリティグ
ループPG#1,PG#2が復元され、ドライブ#4が
復元されたことになる。
【0151】なお、障害ドライブに二重化のパリティグ
ループPG#3が含まれていた場合には、引続き、パリ
ティグループPG#3に所属するデータの回復処理を行
う。二重化のデータに対する回復処理方法では、二重化
しているドライブ14のうちの故障していない側のドラ
イブ14に格納されているデータをキャッシュメモリ8
に読み出して、障害ドライブを置き換えた正常なドライ
ブ14にキャッシュメモリ8からこのデータを書き込
む。ドライブ14からデータをキャッシュメモリ8に読
み出すのは、先に述べた正常時の読み出し処理におけ
る、キャッシュミスのときと同じである。
【0152】なお、本実施例では図2に示すような論理
グループ15内のデータ配置で説明してきたが、論理グ
ループ15内のデータ配置はユーザの初期設定の際に自
由に設定可能であり、制約はない。また、RAIDのレ
ベル5において、パリティグループ17を3D+2Pの
ようにしてパリティグループ17内のパリティ数を増加
させ、さらに信頼性(データ消失確率)を向上させたパ
リティグループ17の設定も可能である。
【0153】また、本実施例では、信頼性(データ消失
確率)と障害時の性能の観点から、データ消失確率が高
いパリティグループ17の順(4D+1P,3D+1
P,二重化の順)に回復処理を行った。
【0154】この方法の変形例として、以下のような方
法を用いてもよい。すなわち、データの重要性が高いほ
ど、消失確率が低いパリティグループ17(消失確率は
二重化,3D+1P,4D+1Pの順に高くなる)に格
納し、一方、回復処理はデータの消失確率が低いパリテ
ィグループ17の順(二重化、3D+1P、4D+1P
の順)に行うようにする。このように信頼性を重視した
回復処理を行うことにより、非常に重要なデータに対す
るデータ消失確率を大きく減少させることが可能とな
る。
【0155】以上のように本発明では、ユーザの使用環
境に応じて、回復処理方法を自由に設定することも可能
である。さらに、回復処理を行う時間および、回復処理
の開始を判定する際の、上位からの読み出し、書き込み
要求の状況に対する設定値も自由に設定することが可能
である。回復処理方法の設定は、MP9に対し初期設定
の段階で指示する。
【0156】さらに、以下に示すように本発明は、バッ
クアップにも利用することが可能である。ドライブ14
に書き込まれているデータが重要な場合、ドライブ14
内のデータをMT(磁気ディスク)や光ディスクなどに
格納することでバックアップを取る。このようにバック
アップを取っておけば、ディスクアレイ内のドライブ1
4に障害が発生し、データ消失しても、このバックアッ
プデータから消失したデータを回復することが可能であ
る。
【0157】そこで、本発明を適用して、パリティグル
ープ17の特性により、このバックアップ処理を行う時
間を分散する。具体的には、消失確率は、二重化,3D
+1P,4D+1P(,単体ドライブ)のパリティグル
ープ17の順に高くなる。そこで、消失確率の高いパリ
ティグループ17ほど頻繁にバックアップを取るように
する。これにより、データ消失確率の高い危険なデータ
のみのバックアップですむため、バックアップ時間を短
縮することが可能となり、またバックアップを行う時間
をパリティグループ17の特性により分散することが可
能となる。
【0158】さらに、障害回復と同様に、データの重要
性が高いほど、信頼性の高いパリティグループ17(消
失確率は二重化,3D+1P,4D+1P(,単体ドラ
イブ)の順に高くなる)に格納し、バックアップは信頼
性の低いパリティグループ17(二重化,3D+1P,
5D+1P(,単体ドライブ)の順)に行うようにし
て、信頼性のみを重視したバックアップも可能なことは
明らかである。
【0159】なお上記実施例では、複数のパリティグル
ープにより1つの論理ヴォリュームを構成する場合、M
P9が、データの重要度(CPU1から与えられる)に
応じて、信頼性の高いパリティグループにデータを割り
当てるか、または信頼性の低いパリティグループにデー
タを割り当てるかを決定していた。しかし、そのような
判断は、CPU1の側で行うようにしてもよい。
【0160】例えば、CPU1からディスクアレイ装置
に問合せを発行することなどにより、CPU1が各パリ
ティグループの信頼性や転送速度(図4の論理グループ
構成テーブル18の信頼性29や転送速度30)を知る
ことができるようにしておき、CPU1がデータの特性
(データの重要度や大きさ)に応じてそのデータを書き
込むのにふさわしい信頼性や転送速度を有するパリティ
グループを決定する。そして、CPU1からパリティグ
ループを個別に指定して、データを書き込むようにして
もよい。
【0161】また、1つの論理ヴォリュームを1つのパ
リティグループで構成するようにし、やはりCPU1が
各パリティグループの信頼性や転送速度を知ることがで
きるようにしておき、CPU1がデータの特性(データ
の重要度や大きさ)に応じてそのデータを書き込むのに
ふさわしい信頼性や転送速度を有するパリティグループ
を決定し、パリティグループを個別に指定して、データ
を書き込むようにしてもよい。
【0162】
【発明の効果】以上説明したように、本発明によれば、
異なる容量の記憶装置を用いてディスクアレイ装置を構
成する際、最も少ない容量の記憶装置に合せてパリティ
グループを構成できることに加え、そのパリティグルー
プを除いた空き領域にも一つ以上のパリティグループま
たは単体の記憶領域を構成できるので、従来はディスク
アレイとして使用できなかった領域もディスクアレイに
使用できるようになり、容量の使用効率が向上する。
【図面の簡単な説明】
【図1】実施例のディスクアレイ装置の全体構成図
【図2】実施例のディスクアレイ装置におけるデータ分
割説明図
【図3】実施例のディスクアレイ装置におけるアドレス
変換テーブルを示す図
【図4】実施例のディスクアレイ装置における論理グル
ープ構成テーブルを示す図
【図5】論理グループ構成テーブルの設定の手順を示す
フローチャート図
【図6】実施例のディスクアレイ装置におけるデータの
格納の様子を示す説明図
【符号の説明】
1:CPU、2:アレイディスクコントローラ(AD
C)、3:外部パス、4:インタフェースアダプタ(I
F Adp)、5:チャネルインタフェース回路(CH
IF)、6:データ制御回路(DCC)、7:チャネ
ル側キャッシュアダプタ(C Adp)、8:キャッシ
ュメモリ、9:マイクロプロセッサ(MP)、10:ド
ライブ側キャッシュアダプタ(C Adp)、11:パ
リティ生成回路(PG)、12:セレクタ、13:ドラ
イブインタフェース回路(Drive IF)、14:
ドライブ、15:論理グループ、16:ドライブパス、
17:パリティグループ、18:論理グループ構成テー
ブル、19:ドライブ番号、20:ドライブ容量、2
1:パリティグループ番号、22:ドライブ数、23:
ドライブ内オフセット、24:パリティグループRAI
Dレベル、25:パリティグループRAID構成、2
6:パリティグループ容量、27:論理ヴォリューム、
28:論理ヴォリューム番号、29:パリティグループ
信頼性、30:パリティグループ転送速度、31:フラ
グ、37:アドレス変換テーブル、38:データ名、4
0:DドライブNo.、41:障害フラグ、42:Pド
ライブNo.、43:SCSI内アドレス。

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】上位装置からのデータと該データから生成
    されたパリティを格納する複数の記憶装置と、該複数の
    記憶装置が接続された制御装置とを備え、 該複数の記憶装置のうち少なくとも何れか2つの記憶装
    置は容量が異なるものとし、 該複数の記憶装置のうち、最も小さな容量の記憶装置に
    合わせて一つ以上のパリティグループを構成するととも
    に、さらに該パリティグループに含まれない空き領域に
    より一つ以上のパリティグループまたは単体の記憶領域
    を構成することを特徴とするディスクアレイ装置。
  2. 【請求項2】前記空き領域に構成するパリティグループ
    は、前記複数の記憶装置から前記最も小さな容量の記憶
    装置を除いたもののうち、前記空き容量が最も少ない記
    憶装置に合わせて構成したパリティグループである請求
    項1に記載のディスクアレイ装置。
  3. 【請求項3】前記複数の記憶装置上に構成したすべての
    パリティグループおよび単体の記憶領域に関する情報を
    設定したテーブルを設け、該テーブルにより各パリティ
    グループおよび単体の記憶領域を管理する請求項1また
    は2の何れか1つに記載のディスクアレイ装置。
  4. 【請求項4】前記複数の記憶装置上に構成したパリティ
    グループのRAID構成は、各パリティグループごとに
    独立に設定されている請求項3に記載のディスクアレイ
    装置。
  5. 【請求項5】前記テーブルには、各パリティグループの
    RAIDの構成、信頼性、および転送速度に関する情報
    を格納し、これを用いてデータの配置を決定する請求項
    4に記載のディスクアレイ装置。
  6. 【請求項6】前記データの配置の際に、前記信頼性の高
    いパリティグループから順次データの配置を行う請求項
    5に記載のディスクアレイ装置。
  7. 【請求項7】前記複数の記憶装置の何れかの記憶装置が
    故障したとき、前記信頼性が低いパリティグループから
    データの回復処理を順次行う請求項5に記載のディスク
    アレイ装置。
  8. 【請求項8】前記複数の記憶装置上に構成したパリティ
    グループのうち任意の数のパリティグループにより一つ
    の論理ヴォリュームを構成し、該一つの論理ヴォリュー
    ムが上位装置から一つの仮想的なヴォリュームとしてア
    クセス可能となるように上位装置からのアクセス要求を
    処理する請求項5に記載のディスクアレイ装置。
  9. 【請求項9】上位装置からパリティグループを指定せず
    論理ヴォリュームと該論理ヴォリューム内の論理アドレ
    スとを指定したデータの書き込み要求が為されたとき
    は、前記制御装置上で該書き込みデータの要求する信頼
    性または転送速度に合ったパリティグループを選択し、
    選択したパリティグループに該書き込みデータを書き込
    む請求項8に記載のディスクアレイ装置。
  10. 【請求項10】前記複数の記憶装置上に構成した一つの
    パリティグループにより一つの論理ヴォリュームを構成
    するようにした請求項8に記載のディスクアレイ装置。
  11. 【請求項11】前記論理ヴォリュームを構成するパリテ
    ィグループの信頼性および転送速度を上位装置にあらか
    じめ知らせておき、上位装置からのデータの入出力要求
    の際には、パリティグループと該パリティグループ内の
    論理アドレスを指定し、データの要求する信頼性または
    転送速度に合ったパリティグループを上位装置上で選択
    する請求項10に記載のディスクアレイ装置。
  12. 【請求項12】少なくとも何れか2つの記憶装置は容量
    が異なるものであるような複数の記憶装置と、該複数の
    記憶装置に対するアクセスを制御する制御装置とを備え
    るとともに、 該制御装置は、 あらかじめ該複数の記憶装置のうち容量が最も少ない記
    憶装置に合せたパリティグループを設定し、さらに該パ
    リティグループに含まれない空き領域により一つ以上の
    パリティグループまたは単体の記憶領域を設定するとと
    もに、それらのパリティグループまたは単体の記憶領域
    に関して、何れの記憶装置の何れの領域から構成されて
    いるかを示す構成情報および各パリティグループのRA
    IDの構成情報を論理グループ構成テーブルとして記憶
    する手段と、 上記論理グループ構成テーブルの構成情報に基づいて、
    上位装置からのデータの入出力要求の際に指定される論
    理アドレスを前記記憶装置の物理アドレスに変換するた
    めのアドレス変換テーブルを作成して記憶する手段と、 上位装置から論理アドレスを指定したデータの入出力要
    求が為されたときは、上記アドレス変換テーブルを参照
    して該論理アドレスに対応する前記記憶装置の物理アド
    レスを求め、該物理アドレスにアクセスする手段とを備
    えたことを特徴とするディスクアレイ装置。
  13. 【請求項13】少なくとも何れか2つの記憶装置は容量
    が異なるものであるような複数の記憶装置と、該複数の
    記憶装置に対するアクセスを制御する制御装置とを備え
    たディスクアレイ装置の初期設定方法であって、 上記各記憶装置の容量を取得するステップと、 上記複数の記憶装置のうち容量が最も少ない記憶装置に
    合わせ、上記各記憶装置のそれぞれから該容量分の領域
    を割り当ててパリティグループを設定するステップと、 上記パリティグループを設定した領域を除いた空き領域
    が存在する記憶装置の該空き領域に、さらに一つ以上の
    パリティグループまたは単体の記憶領域を設定するステ
    ップと、 設定したパリティグループまたは単体の記憶領域が何れ
    の記憶装置の何れの領域から構成されているかを示す構
    成情報および各パリティグループのRAIDの構成情報
    を格納した論理グループ構成テーブルを作成するステッ
    プと、 上記論理グループ構成テーブルの構成情報に基づいて、
    上位装置からのデータの入出力要求の際に指定される論
    理アドレスを前記記憶装置の物理アドレスに変換するた
    めのアドレス変換テーブルを作成するステップとを備え
    たことを特徴とするディスクアレイ装置の初期設定方
    法。
JP08194695A 1995-03-13 1995-03-13 ディスクアレイ装置 Expired - Fee Related JP3358687B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP08194695A JP3358687B2 (ja) 1995-03-13 1995-03-13 ディスクアレイ装置
EP96101902A EP0732653B1 (en) 1995-03-13 1996-02-09 Disk array system
DE69632219T DE69632219T2 (de) 1995-03-13 1996-02-09 Speicherplattenanordnungssystem
US08/610,152 US5754756A (en) 1995-03-13 1996-02-29 Disk array system having adjustable parity group sizes based on storage unit capacities

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08194695A JP3358687B2 (ja) 1995-03-13 1995-03-13 ディスクアレイ装置

Publications (2)

Publication Number Publication Date
JPH08249132A true JPH08249132A (ja) 1996-09-27
JP3358687B2 JP3358687B2 (ja) 2002-12-24

Family

ID=13760675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08194695A Expired - Fee Related JP3358687B2 (ja) 1995-03-13 1995-03-13 ディスクアレイ装置

Country Status (4)

Country Link
US (1) US5754756A (ja)
EP (1) EP0732653B1 (ja)
JP (1) JP3358687B2 (ja)
DE (1) DE69632219T2 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120342A (ja) * 1995-08-23 1997-05-06 Fujitsu Ltd ディスクアレイ装置
JPH09288547A (ja) * 1996-04-22 1997-11-04 Hitachi Inf Technol:Kk アレイ型記憶装置
JP2001236267A (ja) * 2000-02-24 2001-08-31 Fujitsu Ltd 記憶装置の制御方法、データ管理システム、記録媒体、及び記憶装置
JP2007233607A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法
JP2007265409A (ja) * 2006-03-29 2007-10-11 Internatl Business Mach Corp <Ibm> コンピュータ実施方法、データ処理システム、およびコンピュータ・プログラム(アモルファスraid)
WO2008026497A1 (en) * 2006-08-28 2008-03-06 Nec Corporation Disc array control device, disc array control method, and disc array control program
JP2008519356A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 格納システム状態インジケータおよび方法
JP2009532812A (ja) * 2006-04-04 2009-09-10 パーマビット インコーポレイテッド 拡張性及び耐障害性を有する記憶システムのための記憶領域割当て及び消去符号化技法
JP2009230608A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd 記憶システム、制御装置、画像形成装置、および制御プログラム
JP2009238003A (ja) * 2008-03-27 2009-10-15 Kaisen Baitai Kenkyusho:Kk ディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体
JP2010198424A (ja) * 2009-02-26 2010-09-09 Konica Minolta Business Technologies Inc 記憶装置及び記憶制御方法
JP2014099085A (ja) * 2012-11-15 2014-05-29 Nec Corp 情報格納制御装置及びその制御方法、並びにコンピュータ・プログラム
JP2014517952A (ja) * 2011-04-13 2014-07-24 ネットアップ,インコーポレイテッド ストレージシステムにおける信頼性に基づいたデータ割り当てと復旧
JP2014178874A (ja) * 2013-03-14 2014-09-25 Toshiba Corp コンテンツ配信装置、コンテンツ配信サーバ、およびプログラム
JP2016095719A (ja) * 2014-11-14 2016-05-26 富士通株式会社 パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム
JP2020021277A (ja) * 2018-07-31 2020-02-06 株式会社日立製作所 情報処理システム、情報処理システムの管理方法及びプログラム

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928327A (en) * 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
JPH11126137A (ja) * 1997-10-24 1999-05-11 Alps Electric Co Ltd ディスクアレイ装置
US6182198B1 (en) * 1998-06-05 2001-01-30 International Business Machines Corporation Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations
US6654881B2 (en) 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
US6311251B1 (en) * 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
JP3837953B2 (ja) * 1999-03-12 2006-10-25 株式会社日立製作所 計算機システム
US6378038B1 (en) * 1999-03-31 2002-04-23 International Business Machines Corporation Method and system for caching data using raid level selection
US6513093B1 (en) 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6418512B1 (en) 1999-08-31 2002-07-09 International Business Machines Corporation Method and system for reporting disk utilizations for disk subsystems
US6629202B1 (en) * 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US6684231B1 (en) 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6553387B1 (en) 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
WO2001040925A1 (en) * 1999-12-02 2001-06-07 Fujitsu Limited Disk array system and method of expanding storage capacity
US6526478B1 (en) * 2000-02-02 2003-02-25 Lsi Logic Corporation Raid LUN creation using proportional disk mapping
US6826711B2 (en) * 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US6594724B1 (en) * 2000-03-30 2003-07-15 Hitachi Global Storage Technologies Netherlands B.V. Enhanced DASD with smaller supplementary DASD
US6829678B1 (en) * 2000-07-18 2004-12-07 International Business Machines Corporation System for determining the order and frequency in which space is allocated on individual storage devices
US6928459B1 (en) 2000-07-18 2005-08-09 International Business Machines Corporation Plurality of file systems using weighted allocation to allocate space on one or more storage devices
US6745284B1 (en) * 2000-10-02 2004-06-01 Sun Microsystems, Inc. Data storage subsystem including a storage disk array employing dynamic data striping
US7404021B2 (en) * 2000-11-17 2008-07-22 Aristos Logic Corporation Integrated input/output controller
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
JP2002259062A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US7765378B1 (en) * 2001-06-01 2010-07-27 Sanbolic, Inc. Utilization of memory storage
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7055058B2 (en) * 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US7024585B2 (en) * 2002-06-10 2006-04-04 Lsi Logic Corporation Method, apparatus, and program for data mirroring with striped hotspare
AU2003291014A1 (en) 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
JP4352693B2 (ja) * 2002-12-10 2009-10-28 株式会社日立製作所 ディスクアレイ制御装置及びその制御方法
US20070033430A1 (en) * 2003-05-05 2007-02-08 Gene Itkis Data storage distribution and retrieval
US7308517B1 (en) * 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US20050204104A1 (en) * 2004-03-15 2005-09-15 Tatsundo Aoshima Server and method for managing volume storing digital archive
US7370163B2 (en) * 2004-05-03 2008-05-06 Gemini Storage Adaptive cache engine for storage area network including systems and methods related thereto
US20060036904A1 (en) * 2004-08-13 2006-02-16 Gemini Storage Data replication method over a limited bandwidth network by mirroring parities
US7457980B2 (en) * 2004-08-13 2008-11-25 Ken Qing Yang Data replication method over a limited bandwidth network by mirroring parities
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US7769975B2 (en) * 2004-11-15 2010-08-03 International Business Machines Corporation Method for configuring volumes in a storage system
US7310715B2 (en) * 2005-01-12 2007-12-18 International Business Machines Corporation Method, apparatus, and computer program product for using an array of high performance storage drives included in a storage array to reduce accessing of an array of lower performance storage drives included in the storage array
JP2006301950A (ja) * 2005-04-20 2006-11-02 Fujitsu Ltd 記憶装置及びその管理モジュール
US7454566B1 (en) 2005-05-02 2008-11-18 Nvidia Corporation System and method for adaptive RAID configuration
JP4706342B2 (ja) * 2005-06-09 2011-06-22 株式会社日立製作所 データ管理方法および装置
US20070050543A1 (en) * 2005-08-31 2007-03-01 Ori Pomerantz Storage of computer data on data storage devices of differing reliabilities
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US20070113006A1 (en) * 2005-11-16 2007-05-17 Elliott John C Apparatus and method to configure one or more storage arrays
KR100762689B1 (ko) * 2005-12-08 2007-10-01 삼성에스디아이 주식회사 휴대용 표시장치
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
US7848261B2 (en) * 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
GB0610335D0 (en) * 2006-05-24 2006-07-05 Oxford Semiconductor Ltd Redundant storage of data on an array of storage devices
US8539056B2 (en) * 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680836B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) * 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US20080155191A1 (en) * 2006-12-21 2008-06-26 Anderson Robert J Systems and methods for providing heterogeneous storage systems
US8286029B2 (en) * 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US20080168209A1 (en) * 2007-01-09 2008-07-10 Ibm Corporation Data protection via software configuration of multiple disk drives
US20080168224A1 (en) * 2007-01-09 2008-07-10 Ibm Corporation Data protection via software configuration of multiple disk drives
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7882068B2 (en) * 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7953709B2 (en) 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7984324B2 (en) * 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US20100030960A1 (en) * 2008-07-31 2010-02-04 Hariharan Kamalavannan Raid across virtual drives
US8370688B2 (en) * 2009-04-23 2013-02-05 Hewlett-Packard Development Company, L.P. Identifying a storage device as faulty for a first storage volume without identifying the storage device as faulty for a second storage volume
US8639877B2 (en) * 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
US8234520B2 (en) 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
JP5532982B2 (ja) * 2010-02-03 2014-06-25 富士通株式会社 ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
JP5533252B2 (ja) * 2010-05-21 2014-06-25 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置の制御方法
US8689040B2 (en) * 2010-10-01 2014-04-01 Lsi Corporation Method and system for data reconstruction after drive failures
US10013359B2 (en) * 2014-12-24 2018-07-03 University Of New Hampshire Redundant disk array storage system and method using heterogeneous disks and a lookup table
US10191841B2 (en) 2015-07-06 2019-01-29 Shannon Systems Ltd. Host device, access system, and access method
CN106339179B (zh) * 2015-07-06 2020-11-17 上海宝存信息科技有限公司 主机装置、存取系统、以及存取方法
US10268543B2 (en) * 2017-01-27 2019-04-23 Hewlett Packard Enterprise Development Lp Online volume repair
US11157361B2 (en) 2018-06-29 2021-10-26 International Business Machines Corporation Efficient utilization of storage space in arrays of storage drives
US11748196B2 (en) * 2018-06-29 2023-09-05 International Business Machines Corporation Adaptive parity rotation for redundant arrays of independent disks
CN109002264B (zh) * 2018-07-24 2021-06-29 郑州云海信息技术有限公司 一种基于系统扩容确定数据分布的方法和装置
US11209990B2 (en) * 2019-03-15 2021-12-28 Super Micro Computer, Inc. Apparatus and method of allocating data segments in storage regions of group of storage units
US20200293202A1 (en) * 2019-03-15 2020-09-17 Super Micro Computer, Inc. Apparatus and method of automatic configuration of storage space
US11249654B2 (en) * 2020-02-18 2022-02-15 EMC IP Holding Company LLC Storage system with efficient data and parity distribution across mixed-capacity storage devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp., Hopkinton Logische Aufteilung eines Speichersystems mit redundanter Matrix
JP2586219B2 (ja) * 1990-12-20 1997-02-26 日本電気株式会社 高速媒体優先解放型排他方式
AU661680B2 (en) * 1991-02-06 1995-08-03 Storage Technology Corporation Disk drive array memory system using nonuniform disk drives
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5423046A (en) * 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5546558A (en) * 1994-06-07 1996-08-13 Hewlett-Packard Company Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
EP0689125B1 (en) * 1994-06-22 2004-11-17 Hewlett-Packard Company, A Delaware Corporation Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09120342A (ja) * 1995-08-23 1997-05-06 Fujitsu Ltd ディスクアレイ装置
JPH09288547A (ja) * 1996-04-22 1997-11-04 Hitachi Inf Technol:Kk アレイ型記憶装置
JP2001236267A (ja) * 2000-02-24 2001-08-31 Fujitsu Ltd 記憶装置の制御方法、データ管理システム、記録媒体、及び記憶装置
JP2008521074A (ja) * 2004-11-05 2008-06-19 データ ロボティクス インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
JP4870678B2 (ja) * 2004-11-05 2012-02-08 ドロボ, インコーポレイテッド 格納システム状態インジケータおよび方法
US9043639B2 (en) 2004-11-05 2015-05-26 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
JP2008519356A (ja) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド 格納システム状態インジケータおよび方法
JP2007233607A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 情報処理装置、raidコントローラおよび情報処理装置のディスク制御方法
JP2007265409A (ja) * 2006-03-29 2007-10-11 Internatl Business Mach Corp <Ibm> コンピュータ実施方法、データ処理システム、およびコンピュータ・プログラム(アモルファスraid)
JP2009532812A (ja) * 2006-04-04 2009-09-10 パーマビット インコーポレイテッド 拡張性及び耐障害性を有する記憶システムのための記憶領域割当て及び消去符号化技法
WO2008026497A1 (en) * 2006-08-28 2008-03-06 Nec Corporation Disc array control device, disc array control method, and disc array control program
JP2009230608A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd 記憶システム、制御装置、画像形成装置、および制御プログラム
US8296531B2 (en) 2008-03-25 2012-10-23 Fuji Xerox Co., Ltd. Storage system, control unit, image forming apparatus, image forming method, and computer readable medium
JP2009238003A (ja) * 2008-03-27 2009-10-15 Kaisen Baitai Kenkyusho:Kk ディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体
JP2010198424A (ja) * 2009-02-26 2010-09-09 Konica Minolta Business Technologies Inc 記憶装置及び記憶制御方法
JP2014517952A (ja) * 2011-04-13 2014-07-24 ネットアップ,インコーポレイテッド ストレージシステムにおける信頼性に基づいたデータ割り当てと復旧
JP2014099085A (ja) * 2012-11-15 2014-05-29 Nec Corp 情報格納制御装置及びその制御方法、並びにコンピュータ・プログラム
JP2014178874A (ja) * 2013-03-14 2014-09-25 Toshiba Corp コンテンツ配信装置、コンテンツ配信サーバ、およびプログラム
JP2016095719A (ja) * 2014-11-14 2016-05-26 富士通株式会社 パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム
US9690659B2 (en) 2014-11-14 2017-06-27 Fujitsu Limited Parity-layout generating method, parity-layout generating apparatus, and storage system
JP2020021277A (ja) * 2018-07-31 2020-02-06 株式会社日立製作所 情報処理システム、情報処理システムの管理方法及びプログラム
US11221935B2 (en) 2018-07-31 2022-01-11 Hitachi, Ltd. Information processing system, information processing system management method, and program thereof

Also Published As

Publication number Publication date
DE69632219D1 (de) 2004-05-27
EP0732653A3 (en) 2000-08-23
US5754756A (en) 1998-05-19
DE69632219T2 (de) 2005-04-14
EP0732653B1 (en) 2004-04-21
JP3358687B2 (ja) 2002-12-24
EP0732653A2 (en) 1996-09-18

Similar Documents

Publication Publication Date Title
JP3358687B2 (ja) ディスクアレイ装置
US6304942B1 (en) Providing an upgrade path for an existing data storage system
US6021475A (en) Method and apparatus for polling and selecting any paired device in any drawer
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US6049890A (en) Disk array system and its control method
US6009481A (en) Mass storage system using internal system-level mirroring
US7506187B2 (en) Methods, apparatus and controllers for a raid storage system
US8924637B2 (en) Flash memory storage system
US5987566A (en) Redundant storage with mirroring by logical volume with diverse reading process
JP3266277B2 (ja) 階層記憶管理システムのための変換式raid
JP3302688B2 (ja) 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム
US6604171B1 (en) Managing a cache memory
US6591335B1 (en) Fault tolerant dual cache system
US20050034013A1 (en) Method and apparatus for the takeover of primary volume in multiple volume mirroring
CA2101848A1 (en) Disk drive array memory system using nonuniform disk drives
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
JPH09288547A (ja) アレイ型記憶装置
JPH07311661A (ja) 半導体ディスク装置
US5574736A (en) Data storage device and method of operation
US20180307427A1 (en) Storage control apparatus and storage control method
US20230214134A1 (en) Storage device and control method therefor
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
EP0303856B1 (en) Method and apparatus for maintaining duplex-paired devices by means of a dual copy function
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JPH0869359A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees