JPH06266508A - ディスクアレイ制御方法 - Google Patents

ディスクアレイ制御方法

Info

Publication number
JPH06266508A
JPH06266508A JP5050398A JP5039893A JPH06266508A JP H06266508 A JPH06266508 A JP H06266508A JP 5050398 A JP5050398 A JP 5050398A JP 5039893 A JP5039893 A JP 5039893A JP H06266508 A JPH06266508 A JP H06266508A
Authority
JP
Japan
Prior art keywords
disk
data
redundant
read
disk array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5050398A
Other languages
English (en)
Inventor
Tetsuhiko Fujii
哲彦 藤井
Akira Yamamoto
山本  彰
Takao Sato
孝夫 佐藤
Minoru Yoshida
稔 吉田
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 JP5050398A priority Critical patent/JPH06266508A/ja
Publication of JPH06266508A publication Critical patent/JPH06266508A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 冗長構成を採用したディスクアレイにおける
ディスク故障時の性能低下を防止する。 【構成】 ディスクアレイを構成するディスクに故障が
生じた際、故障ディスクに格納されていたデータを上書
きする上書き用の冗長データを選択し、故障したディス
ク内のデータまたは冗長データを上書き用の冗長データ
の上に上書きし、ディスク構成を管理する管理テーブル
を更新する。 【効果】 ディスク故障時のディスクアクセス回数を低
減することができ、ディスク故障時のディスクアレイの
性能低下を防止することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
における外部記憶装置の制御方法にかかり、特に、複数
のディスク装置により冗長構成をなすディスクアレイ装
置の障害時の性能低下を防止を考慮したディスクアレイ
制御方法に関する。
【0002】
【従来の技術】近年、コンピュータシステムにおけるI
/Oネックを解決する為の、一つのアプローチとして、
冗長構成のディスクアレイが注目され、技術開発が活発
に行われている。冗長構成のディスクアレイはRAID
(Redundant Array of Inexpensive Disks)と呼ば
れ、その構成方式として、RAID3、RAID4、R
AID5が知られている。RAIDに関しては、例え
ば、デー・パターソン、ジー・ギブソン、アール・カッ
ツ等による、「ア ケース フォー リダンダントアレ
イズ オブ インイクスペンシブ ディスクス(レイ
ド)、エーシーエムシグモッド カンファレンス プロ
シーディングズ(D.Patterson, G.Gibson, R.Katz, "A
Case for Redundant Arrays of Inexpensive Disks (RA
ID)", ACM SIGMOD conference proceedings, 1988, pp.
109-116)」に述べられている。
【0003】RAID3とは、ディスクアレイを構成す
るディスクをデータを格納するディスク(以下、データ
ディスクと呼ぶ)と冗長データを格納するディスク(以
下、パリティディスクと呼ぶ)とに分け、ホストコンピ
ュータから見える論理的なディスクのアドレスが、実際
にデータを格納する物理ディスク間を切り替わる大きさ
(以下、データストライプサイズと呼ぶ)を、1ビット
ないし1バイト、あるいは1セクタ等と小さくとったも
のである。これにより、典型的なディスクアクセスが、
アレイを構成する全てのディスクにまたがるようにして
ある。RAID3は、大量データの一括転送能力が優れ
ている。
【0004】一方、RAID4とは、RAID3と同様
に、ディスクアレイを構成するディスクをデータディス
クとパリティディスクを分け、データストライプサイズ
を典型的なディスクアクセスのデータサイズ以上にし
て、典型的なディスクアクセスが、1台の物理ディスク
に収まるようにしたものである。RAID4では、複数
個のライトアクセス間で、パリティディスクが競合する
という問題がある。
【0005】また、RAID5は、RAID4における
パリティディスク競合の問題を解決するために、冗長デ
ータをディスクアレイを構成する複数台のディスク間に
分散して格納するようにしたものである。RAID5に
おいて、あるディスクが故障したときの、デグレード時
の動作や性能、予備のホットスタンバイディスクへの故
障ディスクのデータの回復の方法や性能に関しては、例
えば、エム・ホランド、ジー・ギブソン、等による「パ
リティ デクラスタリング フォー コンティニアス
オペレーション イン リダンダント ディスク アレ
イズ、エーエスピーロス−ブイ プロシーディングズ」
(M.Holland, G.Gibson, "Parity Declustering for Co
ntinuous Operation in Redundant Disk Arrays", ASPL
OS-V Proceedings, October 12-15, 1992, pp.2-9.)に
開示されている。
【0006】
【発明が解決しようとする課題】上記従来技術によれ
ば、ディスクアレイ内のディスク故障に対する信頼性は
向上されるが、ディスク故障が存在するときに、データ
のリード/ライトを行なう場合、ディスク故障のない時
に比べ、ディスクアクセス回数が増大するという問題が
あった。
【0007】例えば、RAID4のディスクアレイで
は、通常、少量のデータの読み出しであれば、ディスク
のアクセス回数は1回で済む。しかし、ディスクアレイ
内のあるデータディスクが故障したとき、故障したディ
スク内のデータを読み出そうとすると、正常なデータデ
ィスク、及び冗長ディスクから、リードしようとするデ
ータを復元するのに必要なデータおよび冗長データを読
み出し、排他的論理和を取るなどして、目的とするデー
タを復元する必要がある。従って、データの冗長構成の
単位であるパリティグループが、n個のデータとm個の
冗長データにより構成されるものを考えた場合、少なく
とも、残りの正常なデータディスクn−1台と、冗長デ
ィスク1台から、データを読み出さなければならないこ
とになる。このため、最低でも計n台のディスクをアク
セスする必要が生じる。つまり、故障したディスク内の
データを読み出そうとした場合には、ディスクアクセス
回数が、最低でも通常のリード時のn倍に増加すること
になる。
【0008】同様に、RAID5においても、通常、少
量のデータの読み出し時には、ディスクのアクセス回数
は1回で済む。これに対して、ディスクアレイ内のディ
スクが故障したとき、故障ディスク内のデータを読み出
すためには、データの復元を行うために、残りの正常な
ディスクのうち、データを格納しているディスクn−1
台と、冗長データを格納しているディスク少なくとも1
台をアクセスして、データの復元に必要な、n−1個の
データと、少なくとも1個の冗長データを、読み出す必
要がある。従って、この場合にも、最低n台のディスク
をアクセスする必要がある。
【0009】以上、データの読み出しの場合を例に説明
したが、同様のことがデータの書き込み時にも問題とな
る。
【0010】従って、本発明の目的は、ディスクアレイ
に関する上述したような問題を解決し、ディスク故障時
における故障ディスク内のデータに対するリード/ライ
ト時の、ディスクアクセス回数の増加を防止したディス
クアレイの制御方法を提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明におけるディスクアレイの制御方法は、デー
タを格納するための少なくとも1のディスク装置と冗長
データを格納するための少なくとも1のディスク装置と
を備えたディスクアレイシステムにおけるディスクアレ
イ制御方法において、前記データを格納するディスク装
置および冗長データを格納するディスク装置の故障を検
知し、前記故障が検知された場合、前記冗長データを格
納するディスク装置から任意のディスク装置を選択し、
前記故障が検知された以外のディスク装置に格納された
データおよび冗長データを用い前記故障が検知されたデ
ィスク装置のデータを復元し、該復元されたデータを前
記選択により選択されたディスクに記録することを特徴
としている。
【0012】より詳しくは、多重度n(≧1)のデータ
に対してm(≧1)個の冗長データを記録する、ディス
クの冗長構成を採用したディスクアレイにおいて、k
(m≧k≧1)台のディスクが故障した時に、まず、m
個の冗長データのうち、k個の冗長データを選択し、故
障したk台のディスク内に記録されていたk個のデータ
または冗長データのうち、データと、前記ステップ1で
選択しなかった冗長データを復元し、正常なディスク内
の、前記ステップ1で選択したk個の冗長データの格納
されていた領域に書き込む。
【0013】
【作用】本発明によれば、ディスクアレイを構成するデ
ィスクの一部に故障が生じた際、冗長データを記録した
ディスクから故障が生じたディスクに格納されたデータ
または冗長データを重ね書きするディスクを選択し、こ
の選択されたディスクに故障により失われたデータを復
元して記録する。このため、ホストコンピュータからの
リード/ライト要求に対し、ディスク故障が存在する場
合であっても復元されたデータを用いて処理を行なうこ
とができ、アクセス回数の増大を抑えることが可能であ
る。従って、ディスク故障時における性能低下を防止す
ることができる。
【0014】
【実施例】以下、本発明につき、図面を用い詳細に説明
する。
【0015】図1は、本発明が適用される計算機システ
ムの構成図であり、計算機システム内におけるディスク
アレイの位置付けを簡略に示したものである。図1にお
いて、100はディスクアレイであり、ディスクアレイ
内においてデータのリード/ライト等の制御を行なうデ
ィスクアレイコントローラ200と、複数のディスクド
ライブ300から構成されている。400は、ディスク
アレイ100が接続されるホストコンピュータである。
このような計算機システムにおいて、ディスクアレイ1
00は、複数台のディスクドライブ300をホストコン
ピュータ400に論理的に一つのディスク装置に見せる
機能を持つ。以下、本実施例では、RAID5構成のデ
ィスクアレイについて述べるが、本発明は、RAID4
構成のディスクアレイにも適用できることはいうまでも
ない。
【0016】図2は、ホストコンピュータから見たディ
スクアレイのイメージである論理ディスクと、実際にデ
ータを格納する物理ディスクとの間の対応を示したマッ
ピング機能図である。
【0017】図2において、200はディスクアレイコ
ントローラ、301はホストコンピュータから見えるデ
ィスクアレイのイメージである論理ディスク、300は
実際にデータを格納するディスクドライブ、即ち物理デ
ィスクである。501は論理ディスクにおけるデータの
管理単位であるデータブロック、500、600は物理
ディスクにおけるデータの管理単位であり、それぞれデ
ータを格納するデータブロック、冗長データを格納する
パリティブロックである。図2は、1台の論理ディスク
がn+m台の物理ディスクによって実現される構成を示
している。n+m台の物理ディスクを、DISK#1,
DISK#2,,,DISK#n,DISK#n+
1,,,DISK#n+mと表現する。ここで、論理デ
ィスク301のデータブロック501、物理ディスクの
データブロック500、パリティブロック600は全て
同一の大きさであるとする。この大きさは、論理ディス
ク301内のデータが、物理ディスク300間を切り替
わるデータの折返し単位(ストライプサイズと呼ぶ)で
あるとともに、冗長データが、物理ディスク間を切り替
わる冗長データのストライプサイズでもある。
【0018】図2に示したアレイ構成は、RAID5の
レフトシンメトリック(left symmetric)と呼ばれる構
成である。冗長データはn個のデータに対して、m個作
成され、n多重のデータに対して、冗長度がmの冗長構
成となる。700はデータの冗長構成の単位であるパリ
ティグループであり、n個のデータブロックと、それに
対応したm個のパリティブロックからなる。論理ディス
ク301と物理ディスク300の対応は次のようにな
る。論理ディスク301内のデータを、先頭からn個の
連続したデータブロック毎に区切る。このn個のデータ
ブロック毎に、m個の冗長データを作成し、n個のデー
タとm個の冗長データで一つのパリティグループ700
を構成する。各パリティグループ700には、論理ディ
スク内のアドレスの順に、パリティグループ番号を付け
る。また、m個の冗長データには、一連の記号P1、P
2、…、Pmを付ける。
【0019】パリティグループ700内のデータと冗長
データの、物理ディスクへの格納は次のように行なわれ
る。
【0020】論理ディスク301内のデータブロックに
対して、その番号をnの剰余系で考えて、1〜nの整数
値を与える。次に、対応するm個の冗長データP1、P
2、…、Pmに、それぞれ整数値n+1、n+2、…、
n+mを与え、パリティグループ内の、n個のデータブ
ロック500とm個のパリティブロック600に対し
て、1からn+mまでの整数値を与える。次に、パリテ
ィグループ番号1のデータブロック500およびパリテ
ィブロック600を、それらに与えられた整数値iと等
しいディスク番号を有する物理ディスク300に格納す
る。つまり、パリティグループ番号1のパリティグルー
プについては、データブロック1を、DISK1に格納
し、データブロック2、3、…、nをそれぞれ、DIS
K2、DISK3、…、DISKnに格納する。パリテ
ィブロックについては、P1からPmまでを、それぞれ
DISKn+1からDISKn+mに格納することにな
る。パリティグループ番号j(但し、j≧2)のパリテ
ィグループについては、前述の方法によって整数値が与
えられた各データブロック500及びパリティブロック
600を、パリティグループ番号j−1内の同じ整数値
が与えられたデータブロック500およびパリティブロ
ック600が格納される物理ディスクのディスク番号
を、1だけ減じたディスク番号を持つ物理ディスク30
0に格納する。即ち、図2に示すようにパリティグルー
プ番号が1増す毎に、各ブロックの格納位置が、左へ1
つづつずれてゆくことになる。
【0021】図3には、ディスクアレイの構成図を示
す。図3において、200はディスクアレイコントロー
ラ、300はディスクドライブ、400はホストコンピ
ュータである。ディスクアレイコントローラ200は、
CPU210、冗長データの生成、及び障害ディスク内
のデータを復元するパリティ生成・データ復元回路22
0、ホストコンピュータ400との間のでデータの受渡
し等を行なうホストインタフェース230、それぞれ対
応するディスクドライブを制御するドライブコントロー
ラ240、メモリ260、及びメモリ260へのデータ
のリード/ライトを制御するメモリコントローラ250
を含んで構成される。これらディスクアレイコントロー
ラ200の構成要素は、バス270により互いに接続さ
れている。
【0022】メモリ260には、各種の処理をCPU2
10が実施するためのプログラムと、各ディスクドライ
ブ300の状態を管理するディスク状態管理テーブル2
61、冗長データを管理するためのパリティ管理テーブ
ル262、ディスク故障からの回復処理の状態を示す回
復処理管理テーブル263、各パリティグループ毎にデ
ータ及び冗長データがどのディスクドライブに格納され
ているかを示すパリティ構成管理テーブル264、およ
び回復処理に用いられ、データが上書きされている冗長
データの種別を記録する上書き用パリティ管理テーブル
265等の制御テーブルが格納されている。
【0023】以下、本実施例において中心的役割を果た
すディスク故障時における冗長構成の再構成の方法につ
いて説明する。なお、ここでは、説明の便宜上、6台の
ディスクで構成され、各パリティグループが4個のデー
タブロックと2個のパリティブロックからなるディスク
アレイを想定して説明する。
【0024】図4、図5に、ディスク状態管理テーブル
261の論理的な構成を示す。ディスク状態管理テーブ
ル261には、各ディスク毎に、それが正常であるか、
故障中であるかが示されている。図4は、全てのディス
クが正常状態にある場合のディスク状態管理テーブルを
示しており、図5はDISK#2のディスクが故障して
いる場合のディスク状態管理テーブルを示している。
【0025】図6、図7にはパリティ管理テーブル26
2の論理的な構成を示す。パリティ管理テーブルは、個
々の冗長データがそれぞれ冗長データとして使用中であ
るか、ディスク故障により故障ディスクのデータを上書
きされたものであるか(使用中止)を管理する。図6に
示すパリティ管理テーブルは、2つの冗長データがとも
に冗長データとして使用されていることを示しており、
図7に示すパリティ管理テーブルは、冗長データP2が
データの上書き用に用いられていることを示している。
【0026】図8に、回復処理管理テーブル263の論
理的構成を示す。回復処理管理テーブル263は、パリ
テイグループ毎に、故障したディスク内のデータを冗長
データが記録されているディスクに上書きすることによ
り回復済みか、まだ未回復であるかを管理する。
【0027】図9乃至図14には、パリティ構成管理テ
ーブル264の論理的構成を示す。パリティ構成管理テ
ーブル264は、各パリティグループ毎に、各物理ディ
スク内に格納されているデータ、冗長データを識別する
情報が記録される物理論理変換部と、データおよび冗長
データが、どの物理ディスクに格納されているかを記録
する論理物理変換部とを有している。本実施例ではデー
タD1、D2、D3、D4をそれぞれ識別する情報とし
て整数値1、2、3、4を、また、冗長データP1、P
2を識別する情報として、整数値5、6を用いている。
なお、図9から図14に示される各パリティ管理テーブ
ルの意味するところは、以下に説明する本実施例の動作
とともに説明する。
【0028】図16は、本実施例におけるディスク故障
モニタ処理の流れを示すフローチャートである。ディス
ク故障モニタ処理では、ディスク故障の検知、回復処理
の起動などを行う。
【0029】ディスク故障モニタ処理では、各ディスク
の状態を調べ、ディスク故障の検知を行い(ステップ1
701)、ディスクが故障していなければ、そのまま一
定時間待ち、再びステップ1701へ戻ってディスク故
障の検知を行なう(ステップ1708)。ステップ17
01で、ディスクの故障が検知されると、故障ディスク
の特定を行ない(ステップ1702)、以降、故障ディ
スクを制御から切り離して動作するために、制御テーブ
ルの設定を行う(ステップ1703)。ここでは制御テ
ーブルの設定として、ディスク状態管理テーブル261
の設定とパリティ構成管理テーブル264の設定を行
う。
【0030】ディスクアレイを構成する6台のディスク
が全て正常である場合、ディスク状態管理テーブル26
1、および、パリティ構成管理テーブル264は、それ
ぞれ図4、図9に示す状態にある。ここで、ステップ1
701においてディスク故障が検知され、ステップ12
02において故障を生じたディスクがDISK#2であ
ることが特定されたとする。ステップ1703では、ま
ず、図5に示すようにディスク管理テーブル261のD
ISK#2の状態を、正常を示す状態から故障を示す状
態に変更する。次に、図9に示す正常時のパリティ構成
管理テーブル264から、ディスク故障時のリード/ラ
イト制御に使用する、故障時のパリティ構成管理テーブ
ル261を作成する。具体的には、正常時のパリティ構
成管理テーブルの物理論理変換部の物理ディスク番号2
の列内のデータを無効とする。更に、論理物理変換部
の、物理ディスク番号2のデータを格納していたエント
リ内のデータを無効にする。このようにして作成したパ
リティ構成管理テーブルを図10に示す。
【0031】制御テーブルの設定が終了すると、ディス
クが故障する前に使用していた冗長データの個数、即
ち、ディスク故障検知前の冗長度が1以上であったかど
うかチェックする(ステップ1704)。このチェック
は、パリティ管理テーブル262を調べることにより行
なうことができる。パリティ管理テーブル262内に、
使用中の冗長データがu個あれば、冗長度uで動作して
いたことになる。上長度検査の結果、ディスク故障検知
前に冗長度0で動作していた場合は、ディスク故障によ
り、以降の動作が不可能となるので、ホストコンピュー
タに障害を報告し、停止する(ステップ1709)。デ
ィスク故障検知前に冗長度1以上で動作していた場合
は、ステップ1705へ進み、故障ディスクのデータを
上書きする冗長データを、パリティ管理テーブル262
から選択し、パリティ管理テーブル262にを更新す
る。ここでは、2つの冗長データのうち、2番目の冗長
データであるP2を故障ディスクのデータ上書き用に選
択し、パリティ管理テーブルのP2の状態情報を使用中
から上書き用に変更する。変更後のパリティ管理テーブ
ル262を図7に示す。また、選択した冗長データの種
別、P2を上書き用パリティ管理テーブル265に記録
する。
【0032】次に、回復処理管理テーブル263の、全
てのパリティグループ番号の回復状態管理情報を未回復
に設定する。また、回復済みのパリティグループに対す
るリード/ライト処理を制御するために、図11に示す
ような、データ上書き後のパリティ構成管理テーブルを
作成する(ステップ1706)。それから、非同期の回
復処理を起動し(ステップ1707)、回復処理終了
後、ステップ1701へ戻り、ディスク故障のモニタリ
ングを続ける。
【0033】次に、ステップ1707で実施される回復
処理を説明する。
【0034】図17は回復処理の流れを示すフローチャ
ートである。
【0035】図17において、kは処理中のパリティグ
ループの番号を保持する内部変数である。回復処理は、
ディスクアレイに対するホストコンピュータからのリー
ド/ライトとは非同期に行なわれる。また、回復処理
は、パリティグループ番号1からパリティグループ番号
順に行なわれる。
【0036】回復処理では、まず、内部変数kの値を1
にする(ステップ1801)。次に、内部変数kが、デ
ィスクアレイ内の最大のパリティグループ番号の値、P
GNmaxより大きいか否かを判定する(ステップ180
2)。内部変数kがPGNmaxより大であれば、全ての
パリティグループについて回復処理を完了したことにな
るので、処理を終了する。内部変数kがPGNmax以下
であれば、パリティグループ番号kのパリティグループ
について回復処理を行う(ステップ1803)。パリテ
ィグループ番号kのパリティグループについて回復処理
終了後、内部変数kに1を加え、次のパリティグループ
の処理へ進む(ステップ1804)。
【0037】図18は、図17に示す回復処理1803
の詳細な流れを示すフローチャートである。
【0038】まず、処理対象のパリティグループ(パリ
ティグループ番号k)が、回復済みか否かを、回復処理
管理テーブル263により調べ、処理対象のパリティグ
ループ回復済みであれば、回復処理を終了する(ステッ
プ1901)。
【0039】一方、処理対象のパリティグループが未回
復であれば、そのパリティグループ内で、故障ディスク
に格納されていたデータ/冗長データの種別cを求める
(ステップ1902)。これは次の方法によって可能で
ある。まず、処理対象のパリティグループ番号の値を、
データブロック及びパリティブロックの総数n+m(本
実施例では6)で除してやり、余りが0であればn+m
を、余りが0以外であればその余りを、そのパリティグ
ループのパリティレイアウト番号として求める。ここ
で、パリティレイアウトとは、パリティグループにおい
て、各物理ディスクに、どのようにデータおよび冗長デ
ータを記録させるかという、データ及び冗長データの物
理ディスクへの配置パターンをいう。多重度nのデータ
に、m個の冗長データを付加する冗長構成のRAID5
では、パリティレイアウトは、計(n+m)個存在す
る。次に、図9に示す正常時のパリティ構成管理テーブ
ル264を用い、該当するパリティレイアウト番号の列
と、物理論理変換部の故障ディスクの物理ディスク番号
の行で特定されるエントリ内の値を求める。これが、デ
ータ/冗長データの種別cである。
【0040】次にステップ1902で求めた種別cが、
上書きに用いられる冗長データか否かを上書き用パリテ
ィ管理テーブル265を参照して判定する(ステップ1
903)。種別cが、上書きに用いられる冗長データで
あれば、上書き処理は不要であり、ステップ1908へ
ジャンプする。種別cが上書きに用いられる冗長データ
でなければ、ステップ1904へ進み、種別cがデータ
か冗長データかを判定する。これは、ステップ1903
同様、正常時のパリティ構成管理テーブル264を参照
することにより可能である。種別cがデータであれば、
そのデータを回復するために、同一のパリティグループ
に属するデータと冗長データを格納しているディスクの
番号を、パリティ構成管理テーブルから求め、それらを
該当するディスクから読み出し(ステップ1905)、
故障したディスク内のデータを回復する(ステップ19
06)。種別cが冗長データであれば、その冗長データ
を生成するため、パリティグループ内のデータを、ディ
スクから読み出し(ステップ1909)、それらを基に
冗長データを生成する(1910)。
【0041】最後に、回復したデータまたは生成した冗
長データを、上書き用に選択した冗長データの上に上書
きし(ステップ1907)、回復状態管理テーブル26
3の処理対象のパリティグループのエントリに対応する
回復状態管理情報を未回復から回復済みへ変更して処理
を終了する(ステップ1908)。
【0042】図19は、回復処理中の、ホストコンピュ
ータから要求に対するリード/ライト処理の流れを示す
フローチャートである。
【0043】ディスクアレイコントローラ200は、ホ
ストコンピュータからのリード/ライト要求を受ける
と、まず、リード/ライト要求のあったデータの範囲に
対応するパリティグループの範囲(a−b)を求める
(ステップ2001)。ここで、aをリード/ライト範
囲に対応する最小のパリティグループ番号とし、bを同
様に最大のパリティグループ番号とする。パリティグル
ープ番号a、bは、リード/ライト範囲の論理アドレス
の最小値と最大値をそれぞれ、パリティグループ内のデ
ータの多重度nとストライプサイズsとの積snで割っ
た商として求められる。
【0044】次に、リード/ライト処理中のパリティグ
ループの番号を保持する内部変数lに値aを代入する
(ステップ2002)。内部変数lの値がbより大か否
かを判定し(ステップ2003)。内部変数lがbより
大であれば、リード/ライト範囲に対応するパリティグ
ループの処理が完了しているので、処理を終了する。内
部変数lがb以下であれば、パリティグループl内のリ
ード/ライト処理を行う(ステップ2004)。次に、
内部変数lに1加算し、ステップ2003へジャンプし
て処理を続行する(ステップ2005)。
【0045】図20、および21に、ステップ2004
の各パリティグループ毎のリード/ライト処理の流れを
示す。
【0046】パリティグループ毎のリード/ライト処理
では、まず、処理対象のパリティグループが、ディスク
故障から回復済みか否かを、回復処理管理テーブル26
3を用いて判定する(ステップ2101)。回復済みで
あれば、回復済みのリード/ライト処理を行って処理を
終了する(ステップ2107)。なお、回復済みのリー
ド/ライト処理は、図11に示すようなデータ上書き後
のパリティ構成管理テーブルを参照して、リード/ライ
トの対象となるデータの格納されたディスクを調べ、そ
のディスクに対するアクセスを行なうことにより処理を
行うことができる。この時のリード/ライト処理は、デ
ータ多重度nに対し、冗長データの数がm−1個の、故
障したディスクのない、ディスクアレイに対するリード
/ライト処理に帰着するので、詳しい説明は省略する。
【0047】処理対象のパリティグループが、未回復で
ある時は、ホストコンピュータから要求された処理がリ
ード処理であるかライト処理であるかにより分岐して処
理を行う(ステップ2102)。
【0048】ホストコンピュータからの処理の要求がリ
ード処理であるときには、まず処理対象のパリティグル
ープ内のリード領域が、どの物理ディスクに対応するか
を求める(ステップ2103)。次に、リード領域に故
障ディスクを含むか否かチェックする(ステップ210
4)。リード領域に故障ディスクを含まない場合、ステ
ップ2103で求めた、物理ディスクから、データを読
み出し(ステップ2105)、データをホストコンピュ
ータに転送して処理を終了する(ステップ2106)。
【0049】ステップ2104で、リード領域に故障デ
ィスクを含むことがわかったときは、パリティグループ
内の、故障ディスクに格納されるデータ以外のデータ全
てと、故障ディスク内のデータを回復するのに必要な冗
長データを一つ、正常なディスクから読み出す(ステッ
プ2108)。そして、故障ディスクのデータを回復し
てステップ2106へ進み(ステップ2109)、先と
同様に、リード対象のデータをホストコンピュータへ転
送して処理を終了する。ここで、ステップ2107にお
いて読み出すデータおよび冗長データが、どの物理ディ
スクに格納されているかは、正常時のパリティ構成管理
テーブル264から求めることができる。
【0050】ステップ2102で、ホストコンピュータ
からの処理の要求がライト処理と判定された場合には、
図21のラベルWへジャンプし、処理を続ける。以下、
図21を参照してライト処理につき説明する。
【0051】まず、正常時のパリティ構成管理テーブル
264を用いてパリティグループ内のライト領域が、ど
の物理ディスクに対応するかを求める(ステップ220
1)。次に、ライト領域に故障ディスクを含むか否かを
判定する(ステップ2202)。ライト領域に故障ディ
スクを含まない場合、ステップ2201で求めた物理デ
ィスクから、ライト領域に対応する更新前のデータ(旧
データ)、および更新前の冗長データを読みだす(ステ
ップ2203)。次に、ホストコンピュータから受け取
ったライトデータと、ディスクからリードした、旧デー
タ、および更新前の冗長データから、新しい冗長データ
を生成する(ステップ2204)。次に、新しい冗長デ
ータと、ライトデータを、それぞれ、該当する物理ディ
スクに書き込み処理を終了する(ステップ2205)。
【0052】以上により、処理対象のパリティグループ
内のライトデータのディスクへの書き込みと、冗長デー
タの更新が完了する。
【0053】ステップ2202で、ライト領域に故障デ
ィスクを含んでいた場合、処理対象のパリティグループ
内の物理ディスクでデータを格納しているもののうち、
ライト領域に対応する物理ディスクを除いた、残りの物
理ディスクからデータをリードする(2206)。次
に、ライトデータと、ステップ2206でリードしたデ
ータから、新しい冗長データを生成する(2207)。
それから、故障ディスクを除いて、ライトデータと、ス
テップ2207で生成した新しい冗長データを物理ディ
スクにライトして処理を終了する(ステップ220
8)。
【0054】以上説明したように、本実施例によれば、
回復処理中にも、ホストコンピュータからのリード/ラ
イトアクセスに対する処理を、回復処理と並行して行う
ことができる。なお、以上の説明では、6台のディスク
によりデータの多重度4、冗長度2の冗長構成を採って
いるときに、2番のディスク(DISK#2)が故障し
たとき例に説明したが、その後さらに、他のディスクが
故障した場合にも同様の処理手順により回復処理を行な
うことができる。上述したDISK#2の故障に対する
回復処理完了後に、更にDISK#4が故障した場合を
例に、このとき用いられるパリティ構成管理テーブルの
例を図12、図13、図14に示す。DISK#2の故
障に対する回復処理完了後に、更にDISK#4が故障
したときは、残りの冗長データP1にDISK#4に格
納されていたデータを上書きすることにより、これを回
復することが可能である。
【0055】以上述べたように、本実施例によれば、デ
ィスク故障時に、ディスクアレイの冗長構成を、冗長度
を1だけ落とした、故障ディスクの無い冗長構成に再構
成するため、故障ディスク内のデータに対するリード/
ライト処理におけるディスクアクセス回数を従来に比
べ、低減することができる。また、冗長度が1だけ減る
ので、ライト時に更新すべき冗長データの数が1だけ少
なくなり、ライト時のライトペナルティを減らすことも
できる。
【0056】また、本実施例におけるディスクアレイの
制御方法は、RAID3構成のディスクアレイに適用す
ることも可能である。例えば、多重度nのデータに1個
の冗長データを付加する冗長構成のRAID3に本実施
例における制御方法を適用した場合を考えてみる。デー
タを格納するn台のディスクのうち、1台が故障したと
する。このとき、データのリード処理は、データをn−
1台のデータディスクから、また、冗長データをそれを
格納する1台のパリティディスクからそれぞれ読み出
し、故障したディスクのデータを復元してそのデータを
ホストコンピュータに送ることにより行なわれる。ま
た、データのライト処理は、ホストコンピュータから送
られてきたデータから、冗長データを作成し、故障して
いないn−1台のデータディスクと、1台のパリティデ
ィスクに、それぞれデータと冗長データを書き込むこと
により行なわれる。この場合、リード処理時には故障し
たディスク内のデータの復元が不要となり、ライト時に
は冗長データの生成が不要になるという利点がある。
【0057】以上説明した実施例では、故障したディス
ク内のデータが通常データ、および冗長データの何れの
場合にもデータ回復を行なっているが、以下、第2の実
施例として、故障したディスク内のデータが冗長データ
である場合にはその回復処理を行なわないものについて
説明する。
【0058】本実施例においては、システム構成等は第
1の実施例と同じであり、その説明は省略し、ディスク
故障検出時の処理のうち、第1の実施例とは異なる部分
について説明する。
【0059】本実施例では、図17に示す回復処理のう
ち、ステップ1803におけるパリティグループ毎の回
復処理が第1の実施例とは多少異なる。図22に本実施
例によるパリティグループ毎の回復処理のフローチャー
トを示す。なお、図22では、図18と同様の処理が行
なわれる部分については、図18と同一の符号を用いて
いる。
【0060】第1の実施例においても説明したように、
まず、処理対象となっているパリティグループが既に回
復処理が行なわれたものかどうか判定し(ステップ19
01)、回復済みであれば処理を終了し、未回復の場
合、次のステップ1902に進み、処理対象のパリティ
グループのデータの種別を求める。処理対象のパリティ
グループ内のデータの種別が求まると、それに続いて、
求めた種別が冗長データを示している場合には、そのま
まステップ1908に進んで回復状態管理情報の設定を
行ない本処理を終了する。また、ステップ1902で求
めた種別が冗長データでない場合には、ステップステッ
プ1905へ進み、ステップ1906、およびステップ
1907、を実行してデータを回復し、ステップ190
8で回復状態管理情報の設定を行なって処理を終了す
る。
【0061】本実施例における回復処理完了後の、パリ
ティ構成管理テーブルを図15に示す。ライト時の冗長
データ更新、また、更に他のディスク故障が生じた場合
のデータ回復には、図15に示す、パリティ構成管理テ
ーブルを使用する。図16に示すように、本実施例では
冗長データに対する回復処理を行なわないため、故障デ
ィスク内に冗長データを記録していたパリティグループ
に対応するパリティレイアウトに対しては、上書きすべ
く選択した冗長データが残っている。即ち、パリティグ
ループによって、保持される冗長データの種別が異なる
場合が生じる。このため、ライト時の冗長データ更新
や、更にディスクが故障した時のデータ復元処理が若干
複雑になってしまう。しかし、故障ディスク内の冗長デ
ータについて回復処理を行なわないことにより、ディス
クアレイの冗長構成の再構成に要する回復処理の時間、
処理データ量を、削減できるというメリットを有してい
る。第1及び第2の実施例では、故障ディスク内のデー
タ(または冗長データ)の回復処理をホストコンピュー
タからのディスクアクセスとは非同期にバックグラウン
ド処理として行なうものについて説明した。次に、第3
の実施例として、ホストコンピュータから、故障したデ
ィスク内のデータに、リードまたはライトアクセスがあ
った時、要求データを対応する上書き用に選択された冗
長データ上に復元する、オンデマンドでのデータ回復の
方法について説明する。
【0062】図23、図24を用いて、ホストコンピュ
ータからのリード/ライト要求の処理に同期して回復処
理を行う場合の、パリティグループ毎のリード/ライト
処理の方法を示す。なお、本実施例においても他の部分
は第1の実施例と同様であるので、その説明は省略す
る。
【0063】ホストコンピュータからのリード/ライト
要求があったときには、まず、処理対象のデータを含む
パリティグループが回復済みか否かをチェックする(ス
テップ2301)。このパリティグループが回復済みで
ある場合には、回復済みのリード/ライト処理を行う
(ステップ2307)。ここでは、図20に示したリー
ド/ライト処理におけるステップ2107と同様であ
り、説明は省略する。
【0064】処理対象のパリティグループが未回復であ
った場合、ホストコンピュータからの処理要求がリード
かライトかによって異なる分岐先に進み処理を行う(ス
テップ2302)。ホストコンピュータからの処理要求
がリードのときには、まず、処理対象のパリティグルー
プ内のリード領域が格納される物理ディスクを求める
(ステップ2303)。次に、求められた物理ディスク
に故障ディスクを含むか否かチェックする(ステップ2
304)。故障ディスクを含まない場合には、ステップ
2303で求めた物理ディスクからデータを読み出し
(ステップ2305)、そのデータをホストコンピュー
タに転送して処理を終える。(ステップ2306) ステップ2304で、リード領域に故障ディスクを含む
ことがわかったときは、そのパリティグループに属し、
故障ディスク以外のディスクに格納されているデータ全
てと、故障ディスク内のデータを回復するのに必要な冗
長データを読み出し(ステップ2308)、それら読み
出したデータを用いて故障ディスクに格納されていたデ
ータを回復する(ステップ2309)。その後、ステッ
プ2309で回復した故障ディスクのデータをディスク
故障モニタで選択して、上書き用パリティ管理テーブル
に記録されている冗長データの上に上書きする(ステッ
プ2310)。さらに、、回復処理管理テーブル内の処
理対象のパリティグループに対応する回復状態管理情報
に回復済みをセットし(ステップ2311)、ステップ
2306へ進んでリード対象のデータをホストコンピュ
ータへ転送する。
【0065】ステップ2302で、ホストコンピュータ
からの処理要求がライトと判定された場合には、図24
のラベルWへジャンプして処理を続ける。
【0066】まず、図9に示す正常時のパリティ構成管
理テーブルを用いて、処理対象のデータが属するパリテ
ィグループ内のライト領域が、どの物理ディスクに対応
しているか求める(ステップ2401)。次にライト領
域に故障ディスクを含むか否かを判定する(ステップ2
402)。ライト領域に故障ディスクを含まない場合に
は、ステップ2401で求めた物理ディスクから、ライ
ト領域に対応する更新前のデータ(旧データ)、および
更新前の冗長データを読みだす(ステップ2403)。
次に、ホストコンピュータから受け取ったライトデータ
と、ディスクから読み出したライト処理前の旧データ
と、更新前の冗長データから新しい冗長データを生成す
る(ステップ2404)。次に、新しい冗長データとラ
イトデータをそれぞれ物理ディスクに書き込んで処理を
終了する(ステップ2405)。以上により、処理対象
のパリティグループ内のライトデータのディスクへの書
き込みと、パリティの更新が完了する。
【0067】一方、ステップ2402において、ライト
領域に故障ディスクを含むことが分かった場合には、処
理対象のデータが属するパリティグループ内の物理ディ
スクでデータを格納しているもののうち、ライト領域に
対応する物理ディスクを除いた、残りの物理ディスクか
らデータを読み出す(2406)。次に、ライトデータ
と、ステップ2406で読み出したデータから新しい冗
長データを生成する(2407)。それから、故障ディ
スクを除いた健在なディスクのライトデータをそれぞれ
のディスクに書き込み、ステップ2407で生成した新
しい冗長データのうち、故障ディスクのデータを上書き
する冗長データを除く冗長データをそれぞれ対応するデ
ィスクにライトし、故障ディスクへのライトデータをデ
ィスク故障モニタにより選択された上書き用の冗長デー
タの上に書き込み(ステップ2408)、回復状態管理
情報をセットして処理を終了する(ステップ240
9)。以上、述べた処理方法により、ホストコンピュー
タからのリード/ライト要求の処理に同期した、故障デ
ィスク内のデータの正常なディスク内の冗長データ上へ
の上書き処理(回復処理)を行うことができる。なお、
本実施例によるオンデマンドでのデータ回復の方法で
は、故障ディスク内のデータのみを復元し、故障ディス
ク内の冗長データは復元していない。
【0068】以上説明した第3の実施例では、故障ディ
スク内のデータの回復処理をホストコンピュータからリ
ード/ライト要求に同期して行なうため、ホストコンピ
ュータからリード/ライト要求の処理に際して復元され
たデータを用いることができ、バックグラウンドで回復
処理を行なう場合に比べ、回復処理自体でのディスクア
クセス回数を低減させることができる。また、本実施例
による回復処理を、例えば、第1の実施例で説明したよ
うなバックグラウンドの回復処理と並行して行なうこと
もできる。この場合には、バックグラウンドの回復処理
時に、回復状態管理テーブルを、パリティグループ番号
が小さいものから検索して、最もパリティグループ番号
が小さい未回復のパリティグループを見つけて回復処理
を行えばよい。
【0069】第3の実施例では、ホストコンピュータか
らのリード/ライト要求に同期して、故障ディスク内の
データにリードまたはライトが直接行われた場合にのみ
故障ディスク内のアクセス対象となったデータを回復し
ていたが、リード/ライトの対象となるデータが属する
パリティグループ内の故障ディスクに格納されたデータ
及び冗長データを上書きすべく選択された冗長データ上
に回復してもよい。以下、第4の実施例として、このよ
うなデータの回復方法について、図25及び図26を用
い説明する。
【0070】第3の実施例と同様に、まず、ステップ2
301で、処理対象のパリティグループが回復済みか否
かをチェックし、回復済みである場合には、回復済みの
リード/ライト処理を行う(ステップ2307)。処理
対象のパリティグループが未回復であった場合には、ホ
ストコンピュータからの処理要求がリードかライトかに
よって分岐して処理を行う(ステップ2302)。ホス
トコンピュータからの処理要求がリードの時には、まず
処理対象のパリティグループ内のリード領域が、どの物
理ディスクに対応するか(ここでは、物理ディスクd〜
eが該当するものとする)を求める(ステップ230
3)。次に、当パリティグループの故障ディスク内のデ
ータ及び冗長データの種別fを判定する(ステップ26
01)。種別fが上書き用に選択された冗長データであ
る場合は、物理ディスクd〜eからデータをリードし
(ステップ2602)、回復処理管理テーブルの回復状
態管理情報を回復済みにセットする(2603)。さら
に、データをホストコンピュータに転送して処理を終え
る(ステップ2306)。
【0071】ステップ2601で種別fが上書き用に選
択されていない冗長データである場合には、当パリティ
グループ内の全てのデータをディスクから読み出し(ス
テップ2604)、故障ディスク内の冗長データを生成
し(ステップ2605)、ステップ2605で生成した
故障ディスク内の冗長データを上書き用に選択されてい
る冗長データに上書きしてステップ2603へ進む(ス
テップ2606)。
【0072】また、ステップ2601で、種別fがデー
タであった場合は、当パリティグループ内の、故障して
いないディスクに含まれる全てのデータと、冗長データ
を一つディスクから読み出し(ステップ2607)、故
障ディスク内のデータを回復した後(ステップ260
8)、故障ディスク内のデータを上書き用として選択さ
れている冗長データに上書きしてステップ2603へ進
む(ステップ2609)。
【0073】ステップ2302で、ホストコンピュータ
からの処理要求がライトであるときには、図26のラベ
ルWへジャンプする。
【0074】ステップ2401でパリティグループ内の
ライト領域を物理ディスク番号(先程と同様に、物理デ
ィスクd〜eが該当するものとする)に変換し、ステッ
プ2701へ進み、当パリティグループ内の故障ディス
ク内のデータあるいは冗長データの種別(fとする)を
判定する。種別fが上書き用に選択されている冗長デー
タである場合、物理ディスクd〜eから旧データを読み
出し、更に故障していないディスクから当パリティグル
ープの冗長データを読み出す(ステップ2702)。次
に、ステップ2702で読み出した旧データ、旧冗長デ
ータと、ホストコンピュータからのライトデータとから
新しい冗長データを生成する(ステップ2703)。そ
して、新しい冗長データとライトデータをディスクに書
き込み(ステップ2704)、回復処理管理テーブルの
回復状態管理情報に回復済みをセットして処理を終了す
る(ステップ2705)。
【0075】ステップ2701で種別fが上書き用に選
択されていない冗長データである場合は、物理ディスク
d〜e以外のディスクから当パリティグループの残りの
データを読み出し(ステップ2706)、この読み出し
たデータとライトデータとから、新しい冗長データを生
成し(ステップ2707)、ライトデータおよび健全な
ディスクに書き込まれる冗長データをそれぞれ該当する
ディスクへ書き込み、ステップ2705へ進む(ステッ
プ2708)。
【0076】また、ステップ2701で種別fがデータ
である場合は、当パリティグループ内のデータを格納し
ているディスクのうちディスクd〜eを除くディスクか
らデータをリードし、更に必要なら冗長データをも読み
出し(ステップ2709)、ライトデータとステップ2
709で読み出したデータ、冗長データから新しい冗長
データを生成し、更に必要であれば、故障ディスク内の
データを復元する(ステップ2710)。そして、故障
していない健在なディスクのライトデータをディスクラ
イトし、上書きしない冗長データをディスクライトし、
ライトデータまたはステップ2710で復元したデータ
として得られる、故障ディスク内のデータを、上書き用
として選択されている冗長データ上に上書きし(ステッ
プ2711)、ステップ2705へ進む。
【0077】以上説明した処理により、ホストコンピュ
ータからのリード/ライトに同期して、リード/ライト
対象のデータが属するパリティグループ内のデータまた
は冗長データであって、故障ディスクに格納されたデー
タまたは冗長データを上書き用として選択した冗長デー
タ上に回復することができる。
【0078】以上、本発明について、4つの実施例を基
に説明してきたが、以上説明した実施例によれば、RA
ID4、あるいはRAID5によるディスクアレイにお
いて、一部のディスクに故障が生じた際、ディスクアレ
イ内の故障ディスクを排除して、健全なディスクのみで
データ構成を再編成するので、ディスク故障時における
データアクセス処理の性能低下を防止することができ
る。図27、28にそれぞれRAID4、RAID5に
おける本発明と従来方式のアクセス回数につき、表にし
て示す。 また、以上説明してきた実施例では、データ
格納用のディスクと冗長データ格納用のディスクからな
るディスクアレイについて説明したが、本発明は、さら
に、ディスク故障時に故障ディスクの代替用として用い
られるホットスタンバイディスクを有するディスクアレ
イに適用することもできる。ホットスタンバイディスク
を有するディスクアレイでは、ディスク故障時に、故障
ディスク上のデータや冗長データをホットスタンバイデ
ィスク上に復元する。この場合でも、ディスクの故障が
重なり、全てのホットスタンバイディスクを代替として
使いきっているような状態で、更にディスクの故障が発
生したようなときに本発明が有効となる。
【0079】さらに、本発明をRAID3のディスクア
レイに適用した場合には、ホストコンピュータからのデ
ータリード要求に対する処理における故障ディスクのデ
ータを復元する復元処理、あるいはホストコンピュータ
からのデータライト要求に対する処理における冗長デー
タを生成する処理を省けるといった利点がある。
【0080】
【発明の効果】本発明によれば、ディスクアレイを構成
する一部のディスクに故障が生じたときであっても、故
障ディスクに対するリード/ライト時のディスクアクセ
ス回数増加を防ぐことができる。また、このような場合
における正常なディスクに対するライト時のディスクア
クセス回数についても、低減することが可能となり、デ
ィスク故障時の性能低下を抑えることができる。
【図面の簡単な説明】
【図1】本発明が適用される計算機システムの構成図で
ある。
【図2】論理ディスクと物理ディスクの対応関係を示す
マッピング機能図である。
【図3】ディスクアレイの構成図である。
【図4】正常時のディスク状態管理テーブルの論理的構
成図である。
【図5】ディスク故障時のディスク状態管理テーブルの
論理的構成図である。
【図6】正常時のパリティ管理テーブルの論理的構成図
である。
【図7】ディスク故障時のパリティ管理テーブルの論理
的構成図である。
【図8】回復処理管理テーブルの論理的構成図である。
【図9】正常時のパリティ構成管理テーブルの論理的構
成図である。
【図10】ディスク故障時のパリティ構成管理テーブル
の論理的構成図である。
【図11】再構成後のパリティ構成管理テーブルの論理
的構成図である。
【図12】ディスク2故障時の回復処理完了後のパリテ
ィ構成管理テーブルの論理的構成図である。
【図13】ディスク2の回復処理完了後、更にディスク
4が故障したときのパリティ構成管理テーブルの論理的
構成図である。
【図14】ディスク2、4の回復処理完了後のパリティ
構成管理テーブルの論理的構成図である。
【図15】本発明の第2の実施例における再構成後のパ
リティ構成管理テーブルの論理的構成図である。
【図16】ディスク故障モニタの処理フローチャートで
ある。
【図17】非同期の回復処理のフローチャートである。
【図18】パリティグループ毎の回復処理のフローチャ
ートである。
【図19】リード/ライト処理のフローチャートであ
る。
【図20】パリティグループ毎のリード/ライト処理の
フローチャートである。
【図21】パリティグループ毎のリード/ライト処理の
フローチャートである。
【図22】本発明の第2の実施例によるパリティグルー
プ毎の回復処理のフローチャートである。
【図23】リード/ライトに同期した回復処理を行う場
合のパリティグループ毎のリード/ライト処理のフロー
チャートである。
【図24】リード/ライトに同期した回復処理を行う場
合のパリティグループ毎のリード/ライト処理のフロー
チャートである。
【図25】パリティグループ毎のリード/ライト処理の
フローチャートである。
【図26】パリティグループ毎のリード/ライト処理の
続きである。
【図27】RAID4における本発明と従来技術との効
果の差を示す比較図である。
【図28】RAID5における本発明の従来技術との効
果の差を示す比較図である。
【符号の説明】
100…ディスクアレイ、200…ディスクアレイコン
トローラ、210…CPU、220…パリティ生成・デ
ータ復元回路、230…ホストインタフェース、240
…ドライブコントローラ、250…メモリコントロー
ラ、260…メモリ、270…バス、300…ディスク
ドライブ、301…論理ディスク、400…ホストコン
ピュータ、500,501…データブロック、600…
パリティブロック、700…パリティグループ、701
…パリティグループ番号である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 稔 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】データを格納するための少なくとも1のデ
    ィスク装置と冗長データを格納するための少なくとも1
    のディスク装置とを備えたディスクアレイシステムにお
    けるディスクアレイ制御方法において、前記データを格
    納するディスク装置および冗長データを格納するディス
    ク装置の故障を検知し、前記故障が検知された場合、前
    記冗長データを格納するディスク装置から任意のディス
    ク装置を選択し、前記故障が検知された以外のディスク
    装置に格納されたデータおよび冗長データを用い前記故
    障が検知されたディスク装置のデータを復元し、該復元
    されたデータを前記選択により選択されたディスクに記
    録することを特徴とするディスクアレイ制御方法。
  2. 【請求項2】前記復元するステップと、前記記録するス
    テップは、ホストコンピュータからのディスクアレイへ
    のリードおよびライトアクセスとは非同期なバックグラ
    ウンド処理として行なわれることを特徴とする請求項1
    記載のディスクアレイ制御方法。
  3. 【請求項3】前記復元するステップと、前記記録するス
    テップは、ホストコンピュータからの故障ディスクへの
    リードおよび/またはライトアクセス時に同期して行な
    われることを特徴とする請求項2記載のディスクアレイ
    制御方法。
  4. 【請求項4】請求項1記載のディスクアレイ制御方法に
    おいて、前記ディスクアレイシステムは、故障ディスク
    装置を代替する少なくとも1台のホットスタンバイ用の
    予備ディスクを備え、前記故障を検知するステップにお
    いて故障が検知された際、前記呼びディスクが全て代替
    用として用いられている場合に前記選択するステップ、
    復元するステップ、および記録するステップを実行する
    ことを特徴とする請求項1記載のディスクアレイ制御方
    法。
  5. 【請求項5】前記各ステップを繰り返し実施することを
    特徴とする請求項1記載のディスクアレイ制御方法。
  6. 【請求項6】多重度n(≧1)のデータに対してm(≧
    1)個の冗長データを記録する、ディスクの冗長構成を
    採用したディスクアレイを制御するディスクアレイ制御
    方法であって、k(m≧k≧1)台のディスクが故障し
    た時に、前記m個の冗長データの中からk個の冗長デー
    タを選択するステップと、故障したk台のディスク内に
    記録されていたk個のデータを前記ステップで選択した
    k個の冗長データの格納されていた領域に書き込むステ
    ップを有し、前記故障したk個のディスク内に記録され
    ていたk個のデータを正常なディスク内の冗長データの
    格納されているk個の領域に書き込むことによりディス
    クの冗長構成を再構成することを特徴とするディスクア
    レイ制御方法。
  7. 【請求項7】前記ディスクの冗長構成の再構成処理が、
    ホストコンピュータから前記ディスクアレイへのリード
    /ライトアクセスとは非同期なバックグラウンド処理と
    して行なわれることを特徴とする請求項6記載のディス
    クアレイ制御方法。
  8. 【請求項8】前記ディスクの冗長構成の再構成処理が、
    ホストコンピュータから故障ディスクへのリード/ライ
    トアクセス時に、該リード/ライトアクセスと同期して
    行なわれることを特徴とする請求項6記載のディスクア
    レイ制御方法。
  9. 【請求項9】前記ディスクアレイは、さらにs(≧1)
    台のホットスタンバイの予備ディスクを有し、ディスク
    故障時に、全ての予備ディスクを使いきって、予備ディ
    スクがなくなった状態で、更にディスクが故障したとき
    に、前記ディスクの冗長構成の再構成処理を行うことを
    特徴とする請求項6記載のディスクアレイ制御方法。
  10. 【請求項10】前記ディスクアレイは、さらにs(≧
    1)台のホットスタンバイの予備ディスクを有し、k
    (m+s≧k>s)台のディスクが故障した時に、故障
    ディスク内のデータおよび冗長データの予備ディスクへ
    の回復と前記ディスクの冗長構成の再構成とを行うこと
    を特徴とする請求項6記載のディスクアレイ制御方法。
  11. 【請求項11】前記冗長データが2以上であって、前記
    ディスクの冗長構成の再構成を複数回繰り返すことを特
    徴とする請求項6記載のディスクアレイ制御方法。
JP5050398A 1993-03-11 1993-03-11 ディスクアレイ制御方法 Pending JPH06266508A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5050398A JPH06266508A (ja) 1993-03-11 1993-03-11 ディスクアレイ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5050398A JPH06266508A (ja) 1993-03-11 1993-03-11 ディスクアレイ制御方法

Publications (1)

Publication Number Publication Date
JPH06266508A true JPH06266508A (ja) 1994-09-22

Family

ID=12857773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5050398A Pending JPH06266508A (ja) 1993-03-11 1993-03-11 ディスクアレイ制御方法

Country Status (1)

Country Link
JP (1) JPH06266508A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962459A (ja) * 1995-08-29 1997-03-07 Shikoku Nippon Denki Software Kk デイスクアレイ装置の障害時運用方法
KR100388498B1 (ko) * 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
JP2010238124A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd データ管理プログラム、データ管理装置、およびデータ管理方法
WO2014155772A1 (ja) * 2013-03-29 2014-10-02 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
US9720796B2 (en) 2014-08-28 2017-08-01 Fujitsu Limited Information processing apparatus, information processing system, control method for information processing system, and medium
CN111026585A (zh) * 2019-12-05 2020-04-17 四川湖山电器股份有限公司 一种录播系统中的存储服务器热备切换方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962459A (ja) * 1995-08-29 1997-03-07 Shikoku Nippon Denki Software Kk デイスクアレイ装置の障害時運用方法
KR100388498B1 (ko) * 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
JP2010238124A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd データ管理プログラム、データ管理装置、およびデータ管理方法
WO2014155772A1 (ja) * 2013-03-29 2014-10-02 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
JP2014199591A (ja) * 2013-03-29 2014-10-23 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
US9720796B2 (en) 2014-08-28 2017-08-01 Fujitsu Limited Information processing apparatus, information processing system, control method for information processing system, and medium
CN111026585A (zh) * 2019-12-05 2020-04-17 四川湖山电器股份有限公司 一种录播系统中的存储服务器热备切换方法
CN111026585B (zh) * 2019-12-05 2023-03-17 四川湖山电器股份有限公司 一种录播系统中的存储服务器热备切换方法

Similar Documents

Publication Publication Date Title
US5488701A (en) In log sparing for log structured arrays
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
JP3595099B2 (ja) デバイスアレイ・システム
US5487160A (en) Concurrent image backup for disk storage system
JP3078972B2 (ja) ディスクアレイ装置
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US7143308B2 (en) Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
US5790773A (en) Method and apparatus for generating snapshot copies for data backup in a raid subsystem
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
JP3302688B2 (ja) 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム
JP3226370B2 (ja) 高可用度ディスク配列に関する改善
US5596708A (en) Method and apparatus for the protection of write data in a disk array
US7185222B2 (en) Apparatus, system, and method for maintaining data in a storage array
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
US20030231529A1 (en) Drive failure recovery via capacity reconfiguration
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JPH0731582B2 (ja) パリティ保護データを回復するための方法および装置
JP3681766B2 (ja) ディスクアレイ装置
JP3573032B2 (ja) ディスクアレイ装置
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
JPH11184643A (ja) ディスクアレイ装置の管理方法及びプログラムを記録した機械読み取り可能な記録媒体
JPH06266508A (ja) ディスクアレイ制御方法
JPH06119126A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20071225

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

Free format text: PAYMENT UNTIL: 20081225

Year of fee payment: 10

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20091225

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

Free format text: PAYMENT UNTIL: 20101225

Year of fee payment: 12

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20101225

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

Free format text: PAYMENT UNTIL: 20111225

Year of fee payment: 13

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

Year of fee payment: 13

Free format text: PAYMENT UNTIL: 20111225

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 14

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

Year of fee payment: 15

Free format text: PAYMENT UNTIL: 20131225

LAPS Cancellation because of no payment of annual fees