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

ディスクアレイ装置

Info

Publication number
JPH09258911A
JPH09258911A JP8067784A JP6778496A JPH09258911A JP H09258911 A JPH09258911 A JP H09258911A JP 8067784 A JP8067784 A JP 8067784A JP 6778496 A JP6778496 A JP 6778496A JP H09258911 A JPH09258911 A JP H09258911A
Authority
JP
Japan
Prior art keywords
disk
data
parity
address
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
JP8067784A
Other languages
English (en)
Inventor
Takashi Oeda
高 大枝
Akira Yamamoto
山本  彰
Masahiro Takano
雅弘 高野
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 JP8067784A priority Critical patent/JPH09258911A/ja
Publication of JPH09258911A publication Critical patent/JPH09258911A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 (修正有) 【課題】ディスク装置の増加にたいし性能を向上させ
る。また、ディスクインタフェースの負荷を削減する。
さらに、ディスクアレイ装置の低価格化が実現できパリ
ティ更新処理自体を高速化する。 【解決手段】ホストコンピュータ100は、CPU10
1と、バス制御部102と、主記憶103と、周辺装置
インタフェース部104で構成される。ディスクアレイ
制御装置200は、リードコマンドの処理結果として論
理アドレスに対応するディスク装置300のデータを周
辺装置インタフェース部104とバス制御部102を介
して主記憶103上の指定されたアドレスに転送され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムの記憶システムとして用いられている複数のディス
ク装置をアレイ状に配置したアレイ型ディスクシステム
のための制御方式に係わり、特に、冗長データの更新処
理方法およびディスク障害時のデータ回復方法に関す
る。
【0002】
【従来の技術】従来、単体で用いられていた磁気ディス
ク装置(ハードディスク装置)に代えて、複数の磁気デ
ィスク装置を並列に動かして読み出し/書き込みの高速
化を図り、冗長構成によって信頼性を上げた外部記憶装
置であるディスクアレイ装置(RAID:Redund
ant Array of Inexpencive Di
sks)が考えられている(論文:"A Case for
Redundant Arrays of Inexpe
ncive Disks (RAID)", David A.
Patterson, Garth Gibson, an
d Randy H.Katz, Computer Sci
ence Division Department o
f Electrical Engineering a
nd Computer Sciences, Unive
rsity of Calfornia Berkele
y)。この論文の中では、ディスクアレイ装置の構成に
より、そのレベルに1から5までの番号が与えられてい
る。RAIDレベル3は、大量のデータを転送するシー
ケンシャルアクセスに対し性能向上が見込め、RAID
レベル5は、小さなサイズの読み書きが多量に発生する
ランダムアクセスに対し性能向上が見込まれることは周
知の通りである(日経エレクトロニクス1993/4/26 N
o.579 P.77〜91「特集ディスクアレイ装置」)。
【0003】図12(a)にRAIDレベル3構成時の
データとパリティの関係を示す(4データ1パリティ構
成)。また、図12(b)にRAIDレベル5構成時の
データとパリティの関係を示す(4データ1パリティ構
成)。図12で、0から19は、データが格納される位
置を表し、P0−3からP16−19は、対応するパリ
ティデータを表す。例えば、P0−3は、データ0から
3に対応するパリティデータを格納する位置である。R
AIDレベル3では、バイトストライプが用いられ、パ
リティディスクが固定されている。また、RAIDレベ
ル5では、パリティが各ディスクに分散されて記録され
ている。これにより、RAID5では、パリティ更新時
に1台のパリティディスクに処理が集中することを防
ぎ、小容量書き込み時の性能低下を抑えることができ
る。
【0004】図1にディスクアレイ装置を示す。ホスト
コンピュータ100からはディスク装置300−1から
300−5は一台のディスクとして認識される、つまり
ホストコンピュータ100は図12のディスク装置のデ
ータ領域全体で構成される0で始まり19で終わる一連
のアドレスを認識する、このアドレスをここでは”論理
アドレス”と呼ぶ。ディスクアレイ制御装置200はホ
ストコンピュータ100が認識する”論理アドレス”を
ディスク装置300−1から300−5の装置IDとそ
のディスク装置内でのブロックアドレスの組に変換す
る、このアドレスをここでは”物理アドレス”と呼ぶ。
【0005】このとき、図2に示す用に、データに対応
したパリティの生成管理もディスクアレイ制御装置20
0が行う。また、ディスクアレイ制御装置200はディ
スクインタフェース部201を介してディスク装置30
0−1から300−5にコマンドを発行し、データの授
受を行う。
【0006】ディスク装置300−1から300−5は
通常はディスクアレイ制御装置200の発行するリード
もしくはライトコマンドを処理する。ディスクアレイ装
置における図12に示すようなデータとパリティの区別
やそれらの対応などについてはディスク装置300−1
から300−5は関知しない。
【0007】図2にディスク装置の構成図を示す。イン
タフェース部301でディスクアレイ制御装置200か
ら送られたコマンドは、MPU302が解釈しディスク
制御部303と協調して実行する。転送されるデータは
いったんバッファメモリ304に蓄えられリードライト
チャネル305で磁気記録信号に変換されて磁気記録媒
体に書き込まれる。ディスク装置では記録謝りに対応す
るため誤り訂正符号を生成付加して記録するのが一般的
である。誤り訂正符号の生成付加・検査はディスク制御
部303で行う。
【0008】ここで、ディスクアレイ装置における、従
来方式のリード処理、ライト処理について説明する。
【0009】《リード処理》まず、リード処理につい
て、図3と図13とを用いて説明する。図13は、従来
のリード処理を説明するためのフロー図である。ホスト
コンピュータ100上のアプリケーションなどからデー
タの読み出し命令が発行されると、CPU101上で目
的のデータがどのディスク装置のどこの”論理アドレ
ス”に保持されているか算出し、ディスクアレイ制御装
置200にディスクアレイアクセスコマンドを送出する
(941)。ディスクアレイ制御装置は、”論理アドレ
ス”からディスク装置300にアクセスするための”物
理アドレス”を算出し、ディスクアクセスコマンドをデ
ィスク装置300に送出する(942)。コマンドを受
領したディスク装置300はコマンドに従ってデータを
リードし(943)、ディスクアレイ制御装置に転送す
る。ディスクアレイ制御装置200は磁気ディスク装置
から受け取ったデータをホストコンピュータ100に転
送してすべての処理を終了する(945)。
【0010】《ライト処理》次に、ライト処理につい
て、図4と図14とを用いて説明する。以下では、新し
く書き込むデータを”新データ”と呼び、”新データ”
に対応する古いデータを”旧データ”と呼ぶ。”旧デー
タ”は、”新データ”を書き込む論理ブロックに記録さ
れているデータ、つまり、ライト処理により、”新デー
タ”により上書きされるデータのことである。ここで
は、図12(b)に示すデータ配置でブロック番号17
にライトする場合を考える。よって”新データ”を書き
込むディスク装置は300−2であり、対応するパリテ
ィはディスク装置300−5上に存在する。
【0011】ホストコンピュータ100上のアプリケー
ションなどからデータ書き込み命令が発行されると、C
PU101上で、”新データ”の格納先の”論理アドレ
ス”を算出し、ディスクアレイ制御装置200にディス
クアレイアクセスコマンドを送出する(951)。ディ
スクアレイ制御装置は、”論理アドレス”から”新デー
タ”の”物理アドレス”を算出し、ディスク装置300
−2にディスクアクセスコマンドを送出する。さら
に、”新データ”に対応するパリティの格納されてい
る”物理アドレス”を算出し、ディスク装置300−5
にディスクアクセスコマンドを送出する(952)。
【0012】ディスク装置300−2は”旧データ”を
リードし、ディスクアレイ制御装置へ転送する(95
3)。ディスク装置300−5は”旧パリティ”をリー
ドし、ディスクアレイ制御装置へ転送する(954)。
ディスクアレイ制御装置200は、読み出された”旧デ
ータ”、”旧パリティ”と”新データ”すべての排他的
論理和を計算することにより”新パリティ”を生成
し、”新データ”および”新パリティ”をライトするコ
マンドをそれぞれディスク装置300−2と300−5
に送出する(955)。ディスク装置300−2は”新
データ”、ディスク装置300−5は”新パリティ”を
ライトしすべての処理を終了する。
【0013】上で説明した従来のディスクアレイ装置に
おけるライト処理の場合、ディスクアレイ制御装置はデ
ータとパリティのそれぞれの”物理アドレス”を求める
処理、データを含むディスク装置とパリティを含むディ
スク装置の2台のディスク装置に2回づつ、計4回アク
セスする処理と”新パリティ”を生成するための演算を
行う必要がある。また、ディスクインタフェース部は”
新データ”、”旧データ”、”旧パリティ”と”新パリ
ティ”のデータ量の転送を行う必要がある。
【0014】ディスク装置の平均アクセス時間は、現在
の典型的なディスク装置では十数ミリ秒である。これに
対しディスクアレイ制御装置における上記のライト処理
に要する典型的な時間は、約一桁小さい。よってディス
ク台数が十程度の場合はディスクアレイ制御装置におけ
る処理はボトルネックとならない。ところが、近年のホ
ストコンピュータのCPU能力の向上などによりディス
クアレイ装置を構成するディスク装置の数は増加の傾向
にあり、50台程度のディスク装置を接続できるディス
クアレイ装置もでてきた。ディスク装置自体の性能は磁
気記録円盤の回転数や磁気記録ヘッドのサーボ時間で決
まるため大きな改善は見込まれず、今後もディスクアレ
イ装置を構成するディスク装置の数は増加するであろ
う。このとき、性能のボトルネックになるのがディスク
アレイ制御装置における処理時間である。また、ディス
ク装置のデータ転送速度は、典型的なディスクインタフ
ェース部のデータ転送速度10MB/秒と同程度になっ
てきた。このため、ディスク装置を複数台用いて高性能
化するディスクアレイ装置では、今後ますますディスク
インタフェース部の負荷を小さくすることが重要な課題
となる。
【0015】
【発明が解決しようとする課題】上に示したように、従
来のディスクアレイ装置では、ディスク台数を一定数以
上増加させてもディスクアレイ制御装置が性能のボトル
ネックとなり性能が上がらないという問題があった。ま
た、ライト処理のためにディスクアレイ制御装置とディ
スク装置の間を転送するデータ量が、ライトデータの4
倍になるため、ディスクインタフェースの転送性能ネッ
クになりやすいという問題があった。
【0016】本発明の第1の目的は、ディスク台数を増
やしてもディスクアレイ制御装置が性能のボトルネック
になりにくいディスクアレイ装置を提供することにあ
る。
【0017】本発明の第2の目的は、ディスク台数を増
やしてもディスクインタフェースの転送性能がボトルネ
ックになりにくいディスクアレイ装置を提供することに
ある。
【0018】本発明の第3の目的は、ディスクアレイ制
御装置をなくし低価格なディスクアレイ装置を提供する
ことにある。
【0019】
【課題を解決するための手段】上記課題を解決するため
に、本発明によれば、ディスクアレイ制御装置で行って
いたデータとパリティの対応を求める処理、およびパリ
ティ生成のための演算をディスク装置で行う。このた
め、ディスク装置にデータとパリティの対応関係を保持
し、対応するデータもしくはパリティのアドレスを生成
する手段と、パリティの生成に必要な旧データと新デー
タから新パリティを生成するのに必要な更新データを生
成する手段と、更新データを対応する前記パリティのア
ドレスで示されるディスク装置に送出し、パリティのア
ドレスで示されるディスク装置内で前記更新データと旧
パリティを用いて新パリティを生成させるコマンドを送
出する手段と、パリティのアドレスで示されるディスク
装置内で更新データと旧パリティを用いて新パリティを
生成する手段を持つ。
【0020】また、さらに、ディスク障害発生時のデー
タ回復に必要な、データ・パリティアドレス生成手段、
データ回復のための演算手段、たのディスク装置へのコ
マンド送出手段を持つ。
【0021】また、上記の手段をディスク装置に設けた
ことにより非常に軽くなったディスクアレイ制御装置の
機能をホストコンピュータにもたせることにより低価格
なディスクアレイ装置を実現することができる。
【0022】ここでいう、”更新データ”とは従来のデ
ィスクアレイ装置のライト処理で説明した”新データ”
と”旧データ”の排他的論理和をとったものである。”
新パリティ”を生成するには”更新データ”と”旧パリ
ティ”の排他的論理和をとればよい。
【0023】データライト処理で説明する。ホストコン
ピュータ100は前述のようにディスクアレイ装置全体
で1台のディスク装置と認識してアクセスを行う。アク
セス時にライトデータと”論理アドレス”がホストコン
ピュータからディスクアレイ制御装置200に引き渡さ
れる。
【0024】ディスクアレイ制御装置は上記の”論理ア
ドレス”を個々のディスク装置300に対応した”物理
アドレス”(ディスク装置ID番号とそのディスク装置
内でのアドレス)に変換する。この、アドレスを用いて
ディスクインタフェース部201を介してディスク装置
300−2にアクセスする。アクセス時に新データとデ
ィスク装置上でのライトすべきアドレスがディスクアレ
イ制御装置200からディスク装置300−2に引き渡
される。
【0025】このアドレスと新データを受け取ったディ
スク装置300−2は、データとパリティの対応関係を
保持し、対応するデータもしくはパリティのアドレスを
生成する手段で新データに対応するパリティの”物理ア
ドレス”(ディスク装置IDとディスク装置内のアドレ
ス)を生成する。
【0026】つぎに、パリティの生成に必要な旧データ
と新データから新パリティを生成するのに必要な更新デ
ータを生成する手段で旧データを磁気記録媒体から読み
出してバッファメモリ304に格納し、ディスクアレイ
制御装置200から受け取った新データと排他的論理和
をとって更新データを生成する。
【0027】さらに更新データを対応するパリティのア
ドレスで示されるディスク装置300−5に送出し、パ
リティのアドレスで示されるディスク装置内で更新デー
タと旧パリティを用いて新パリティを生成させるコマン
ドを送出する手段を用いてパリティを更新すべきディス
ク装置300−5に更新データを送出し、パリティの更
新と更新すべきアドレスを指示する。
【0028】そして、パリティのアドレスで示されるデ
ィスク装置300−5内で更新データと旧パリティを用
いて新パリティを生成する手段を用いて、データがライ
トされるディスク装置300−2から受け取った更新デ
ータと指示されたアドレスからリードした旧パリティの
排他的論理和をとって新パリティを生成し、アドレスに
ライトする。以上でライト処理は終了である。
【0029】ディスク障害時のリード処理は以下の通り
である。磁気記録媒体が障害をおこしリード、ライト不
能になったディスク装置にディスクアレイ制御装置から
リード要求が送出された場合、ディスク装置300のイ
ンタフェース部301、MPU302、ディスク制御部
303、バッファメモリ304などが正常動作可能なら
ば、ディスク装置は、データ・パリティアドレス生成手
段によりリードすべきデータを回復するために必要なデ
ータおよびパリティのアドレスを生成し、他のディスク
装置へのコマンド送出手段によりアドレスのデータおよ
びパリティをリードするコマンドをそれぞれのディスク
装置に発行する。このコマンドの結果として受け取った
データおよびパリティを用いて、データ回復のための演
算手段によりデータを回復しディスクアレイ制御装置2
00へ転送する。
【0030】さらに、ディスクアレイ制御装置200の
ディスクインタフェース部201をホストコンピュータ
上に持ち、ディスク装置300−1から300−5全体
を一台のディスク装置とする”論理アドレス”から、個
々のディスクを認識する”物理アドレス”への変換手段
をホストコンピュータ100上に持つことによりディス
クアレイ装置でディスクアレイ制御装置200が不要と
なる。
【0031】
【発明の実施の形態】以下、本発明の実施例を図を用い
て説明する。
【0032】《第1の実施例》図1に、ディスクアレイ
装置を接続したコンピュータシステムの構成を示す。本
システムは、大きく3つの部位で構成されている。ホス
トコンピュータ100と、ディスクアレイ制御装置20
0と、複数の磁気ディスク装置群300である(磁気デ
ィスク装置300−1から300−5)。
【0033】ホストコンピュータ100は、CPU(C
entral Processing Unit)10
1と、バス制御部102と、主記憶103と、周辺装置
インタフェース部104で構成される。ホストコンピュ
ータからはディスクアレイ装置を構成するディスク装置
のアドレスは通常認識しない。典型的な例ではディスク
アレイ装置全体で一台として認識される、このアドレス
をここでは論理アドレスと呼ぶことにする。ディスクア
レイ装置からデータをリードする場合には、周辺装置イ
ンタフェース(典型的にはSCSI (Small Co
mputer System Interface,PC
I (Peripheral Component Int
erconnect)など)を介してディスクアレイ制
御装置にリードコマンドを発行する。リードコマンドに
は、リードすべき論理アドレスと、リードしたデータを
格納すべき主記憶上のアドレスが付加される。ディスク
アレイ制御装置200は、リードコマンドの処理結果と
して論理アドレスに対応するディスク装置300のデー
タを周辺装置インタフェース部104とバス制御部10
2を介して主記憶103上の指定されたアドレスに転送
される。
【0034】図6にディスクアレイ制御装置200の構
成図を示す。ディスクアレイ制御装置はホストインタフ
ェース部202、MPU203、データ転送制御部20
4、バッファメモリ205、ディスクインタフェース部
201からなる。ホストインタフェース部202で受け
取ったホストコンピュータ100からのコマンドをMP
U203が解釈し、ディスク装置300をアクセスする
ためのコマンドを生成する。このコマンドはディスクイ
ンタフェース部201を介してディスク装置に送出され
る。ホストコンピュータ100やディスク装置300と
の間のデータ転送にバッファメモリ205とデータ転送
制御部204が使用される。
【0035】磁気ディスク装置300には、ここでは磁
気ディスク装置300−1から300−5の5台があ
る。磁気ディスク装置300は、図2に示すようにイン
タフェース部301(典型的にはSCSI)を有し、デ
ィスクアレイ制御装置200のディスクインタフェース
部201と接続している。また、MPU302がディス
クアレイ制御装置や他のディスク装置からのコマンドを
解釈してディスク制御部を用いコマンド処理を実行す
る。バッファメモリ304はディスクアレイ制御装置2
00や他のディスクとのデータ転送バッファとして用い
られるだけではなく、旧データ、旧パリティの一時格納
エリアとしても使用される。リードライトチャネル30
5で磁気記録符号の符号化復号化を行い、磁気記録媒体
へのその磁気記録符号を使用して磁気記録媒体へのリー
ドライトを行う。
【0036】ここで、本発明により設けた、データとパ
リティの対応関係を保持し、対応するデータもしくはパ
リティのアドレスを生成する手段と、パリティの生成に
必要な旧データと新データから新パリティを生成するの
に必要な更新データを生成する手段と、更新データを対
応するパリティのアドレスで示されるディスク装置に送
出し、パリティのアドレスで示されるディスク装置内で
更新データと旧パリティを用いて新パリティを生成させ
るコマンドを送出する手段と、パリティのアドレスで示
されるディスク装置内で更新データと旧パリティを用い
て新パリティを生成する手段は、MPU302とディス
ク制御部303、インタフェース部301、バッファメ
モリ304で実現している。
【0037】また、データとパリティの対応関係を保持
し、対応するデータもしくはパリティのアドレスを生成
する手段におけるデータとパリティの対応関係とは、図
12に示すような、データ及びパリティの配置方法およ
びどのデータから生成されたパリティがどこに存在する
かという情報を含む。あるデータが指定されたとき、そ
のデータに対応するパリティのアドレス(ディスク装置
の装置IDとディスク装置内でのアドレスの組で与えら
れるものであり、ここでは物理アドレスと呼ぶことにす
る)を生成するのに必要な情報である。また、そのデー
タが障害によりリードライトできなくなったときにデー
タ回復のために必要なデータの物理アドレスを生成する
のに必要な情報である。物理アドレスの生成は、典型的
にはMPU302で、情報を元に演算することにより求
められる。
【0038】パリティの生成に必要な旧データと新デー
タから新パリティを生成するのに必要な更新データを生
成する手段は、リードモディファイライトコマンドを受
領したMPU302が、同じ物理アドレスのリード処理
を起動し、旧データをバッファメモリ304に格納す
る。次に、バッファメモリ上の新データと旧データの排
他的論理和をMPU302もしくはディスク制御部30
3内に設けたパリティ生成部で生成しバッファメモリ3
04へ結果を格納することで実現される。
【0039】更新データを対応するパリティの物理アド
レスで示されるディスク装置に送出し、パリティの物理
アドレスで示されるディスク装置内で更新データと旧パ
リティを用いて新パリティを生成させるコマンドを送出
する手段は、データとパリティの対応関係を保持し、対
応するデータもしくはパリティのアドレスを生成する手
段を用いデータに対応するパリティの物理アドレスを生
成し、ちょうど、従来のディスクアレイ制御装置のMP
U203がディスクインタフェース部を制御してディス
ク装置300にコマンドを送出するのと同様に、MPU
302がインタフェース部301を制御してコマンドを
パリティを保持するディスク装置に送出することで実現
される。
【0040】パリティの物理アドレスで示されるディス
ク装置内で更新データと旧パリティを用いて新パリティ
を生成する手段は、コマンドをうけとったディスク装置
のMPU302が同じ物理アドレスのリード処理を起動
し、旧パリティをバッファメモリ304に格納する。次
に、バッファメモリ上の更新データと旧パリティの排他
的論理和をMPU302もしくはディスク制御部303
内に設けたパリティ生成部で生成しバッファメモリ30
4へ結果を格納後リードライトチャネル305を介して
磁気記録媒体にライトすることで実現される。
【0041】ここで、本ディスクアレイシステムでのリ
ード処理(データの読み出し処理)と、ライト処理(デ
ータの書き込み処理)について説明する。さらに、ディ
スク障害時のデータ回復処理についても説明する。
【0042】《正常時のリード処理》まず、リード処理
について、図7を用いて説明する。ホストシステム上の
アプリケーションなどからデータの読み出し命令が発行
されると(900)、アドレス変換手段で目的のデータ
がディスクアレイ装置のどこの論理アドレスに保持され
ているか算出し(前述のように、この算出結果を”論理
アドレス”と呼ぶ)、ディスクアレイアクセスコマンド
を周辺装置インタフェース104を介してディスクアレ
イ制御装置200に送出する。(901) ディスクアレイ制御装置200は、論理アドレスから物
理アドレスを算出し、するディスク装置300にディス
クアクセスコマンド(この場合はリードコマンド)を送
出する。このコマンドを受け取ったディスク装置300
はアドレスのデータを磁気記録媒体もしくはバッファメ
モリから読み出し(903)、ディスクアレイ制御装置
に転送する(904)。
【0043】ディスクアレイ制御装置は、さらにホスト
コンピュータにデータを転送し、処理を終了する(90
5)。
【0044】《正常時のライト処理》次に、ライト処理
について、図8を用いて説明する。以下では、新しく書
き込むデータを”新データ”と呼び、”新データ”に対
応する古いデータを”旧データ”と呼ぶ。”旧データ”
は、”新データ”を書き込む物理アドレスに記録されて
いるデータ、つまり、ライト処理に従い、”新データ”
により上書きされるデータのことである。
【0045】ホストシステム上のアプリケーションなど
からデータ書き込み命令が発行されると(910)、ア
ドレス変換手段が、”新データ”の格納先の”論理アド
レス”を算出し、周辺装置インタフェースを介してディ
スクアレイ制御装置にディスクアレイアクセスコマンド
を送出する(911)。
【0046】次に、ディスクアレイ制御装置は、”物理
アドレス”を算出し、ディスクインタフェース部をかい
してディスクアクセスコマンドをディスク装置に送出す
る。(912) ディスクアクセスコマンドをディスクアレイ制御装置か
ら受け取ったディスク装置はまず、”旧データ”をリー
ドしバッファメモリ304に格納する。つぎに、ディス
クアレイ制御装置からディスクアクセスコマンドととも
に受け取りバッファメモリに格納しておいた”新デー
タ”と”旧データ”の排他的論理和をMPU302、も
しくはディスク制御部303内のパリティ生成部で計算
し、更新データを生成しバッファメモリ304に格納す
る。次に”新データ”を磁気記録媒体にライトし、対応
するパリティの”物理アドレス”をデータとパリティの
対応関係を保持し、対応するデータもしくはパリティ
の”物理アドレス”を生成する手段により生成する。こ
の”物理アドレス”を用いて生成したディスクアクセス
コマンドをパリティを含むディスク装置に送出する(9
13)。
【0047】パリティを持つディスク装置は、ディスク
アクセスコマンドを”新データ”をライトするディスク
装置から受け取ると、まず、旧パリティをリードしバッ
ファメモリ304に格納する。次に”新データ”をライ
トするディスク装置から受け取った更新データと旧パリ
ティの排他的論理和をMPU302、もしくはディスク
制御部303内のパリティ生成部で計算して新パリティ
を生成しバッファメモリに格納する。最後に”新パリテ
ィ”を磁気記録媒体にライトする(914)。以上説明
したように、本発明を用いたディスクアレイ装置の通常
のライト処理では、ディスクアレイ制御装置はパリティ
生成処理および生成されたパリティのライト処理を行な
わず、データのライト処理のみを行なうので、リード処
理の場合と同等の負荷ですむ。このため、図14で示さ
れる従来のディスクアレイ制御装置の場合と異なり、デ
ィスク装置300の数が増加して、単位時間たりに処理
すべきライト回数が増加してもディスクアレイ制御装置
が性能のボトルネックになる可能性が小さい。代わりに
パリティ生成処理はディスク装置が負担することになる
が、ディスク装置の数が増加するのに応じてパリティ生
成処理を負担する装置も多くなるので問題はない。
【0048】また、本発明によれば、旧データや旧パリ
ティはそれぞれのディスク装置内で処理されディスクア
レイ制御装置に転送されることがない。よって、ディス
クインタフェースに与える負荷も通常のライト処理の場
合は約1/2に小さくすることができる。
【0049】さらに、従来の典型的なディスクインタフ
ェースであるSCSIの次世代の規格として、いくつか
のシリアル型SCSIが提案されているが、それらのな
かには異なるデバイスの組み合わせならば同時にデータ
転送できるものもある。このようなインタフェースを用
いればたとえばディスクアレイ制御装置200、ディス
ク装置300−1間の転送とディスク装置300−2、
ディスク装置300−5間の転送などが同時に実行でき
るためますますディスクインタフェースに与える負荷を
減らすことができる。
【0050】本実施例では、わかりやすさのためにデー
タディスクの処理(913)の後にパリティディスク野
処理(914)を行うように記載した。しかし、これら
二つの処理には平行して実行できる部分がある。たとえ
ば、旧データのリード処理と旧パリティのリード処理で
ある。また、新データのライト処理と新パリティのライ
ト処理も同時に実行可能である。
【0051】《ディスク障害時のリード処理》ディスク
アレイ装置では、耐ディスク障害性を得るために、パリ
ティを生成する。ディスク障害が発生した場合、このパ
リティを用いてデータを回復する。本発明を用いるディ
スクアレイ装置では、ディスク障害が発生した場合でも
ディスクアレイ制御装置200の負荷を増加させること
なく処理を続行することができる。現在の標準的なディ
スク装置は約15万時間(約17年間)程度のMTBF
をもっている。ということは、ディスク装置が100台
で構成されたディスクアレイ装置では、約2カ月に一度
の頻度でディスク障害が発生することになる。よって、
障害回復の負荷を軽減し、障害時の性能を確保すること
は重要な課題である。以下、図9を用いディスク障害時
のリード処理を説明する。
【0052】ホストコンピュータ100上のアプリケー
ションなどからデータの読み出し命令が発行されると
(921)、アドレス変換手段で目的のデータがディス
クアレイ装置のどこのアドレスに保持されているか算出
し(前述のように、この算出結果を”論理アドレス”と
呼ぶ)、ディスクアレイアクセスコマンドを周辺装置イ
ンタフェース104を介してディスクアレイ制御装置2
00に送出する。(922) ディスクアレイ制御装置200は、論理アドレスから物
理アドレスを算出し、するディスク装置300にディス
クアクセスコマンド(この場合はリードコマンド)を送
出する。このコマンドを受け取ったディスク装置300
はアドレスのデータが障害で読み出せないためこのデー
タに対応するデータとパリティの”物理アドレス”をデ
ィスク障害発生時のデータ回復に必要な、データ・パリ
ティアドレス生成手段を用いて生成する。次に、ディス
クアクセスコマンドを送出しそれらのデータ・パリティ
を読み出し、バッファメモリに格納する。さらに、他の
ディスクから読み出したデータ・パリティすべての排他
的論理和をMPU302、もしくはディスク制御部30
3内のパリティ生成部で計算してデータを生成しバッフ
ァメモリ304に格納する(923)。生成したデータ
をディスク装置からディスクアレイ制御装置200へ転
送する(924)。
【0053】ディスクアレイ制御装置200は、さらに
ホストコンピュータにデータを転送し、処理を終了する
(925)。
【0054】ここでは、ディスク装置300の障害は、
リードライトチャネル305から磁気記録媒体での障害
とし、インタフェース部301、MPU302、ディス
ク制御部303、バッファメモリ304は正常なものと
した。実際、障害頻度は磁気記録媒体が最も高いのでこ
のケースは考慮に値するケースである。しかし、障害が
発生したディスクは交換のために抜かれたり、インタフ
ェース部301の障害のためにアクセス不能になってい
る場合もある。このような場合、ディスクアレイ制御装
置は200他のディスク装置を選んで同様のコマンドを
出せばよい。他のディスクでも上記の処理を代替するこ
とは可能である。
【0055】この場合他のディスクは、障害ディスクの
隣のIDのディスクでもよいし、スペアのディスク装置
が接続されていればそれにしてもよい。また、ディスク
アレイ制御装置やホストコンピュータが代替することも
考えられる。
【0056】《ディスク障害時のライト処理》ここで
は、図10を用いてディスク障害時のライト処理を示
す。
【0057】ホストシステム上のアプリケーションなど
からデータ書き込み命令が発行されると(910)、ア
ドレス変換手段が、”新データ”の格納先の”論理アド
レス”を算出し、周辺装置インタフェースを介してディ
スクアレイ制御装置にディスクアレイアクセスコマンド
を送出する(911)。
【0058】次に、ディスクアレイ制御装置は、”物理
アドレス”を算出し、ディスクインタフェース部をかい
してディスクアクセスコマンドをディスク装置に送出す
る。(912) アドレスのデータが障害で読み出せないためこのデータ
に対応するデータとパリティの”物理アドレス”をディ
スク障害発生時のデータ回復に必要な、データ・パリテ
ィアドレス生成手段を用いて生成する。次に、ディスク
アクセスコマンドを送出しそれらのデータ・パリティを
読み出し、バッファメモリに格納する。さらに、他のデ
ィスクから読み出したデータ・パリティすべての排他的
論理和をMPU302、もしくはディスク制御部303
内のパリティ生成部で計算して旧データを生成しバッフ
ァメモリ304に格納する。
【0059】つぎに、ディスクアレイ制御装置からディ
スクアクセスコマンドとともに受け取りバッファメモリ
304に格納しておいた”新データ”と”旧データ”の
排他的論理和をMPU302、もしくはディスク制御部
303内のパリティ生成部で計算し、更新データを生成
しバッファメモリ304に格納する。次に対応するパリ
ティの”物理アドレス”をデータとパリティの対応関係
を保持し、対応するデータもしくはパリティの”物理ア
ドレス”を生成する手段により生成する。この”物理ア
ドレス”からディスクアクセスコマンドをパリティを含
むディスク装置300に送出する(933)。
【0060】パリティを持つディスク装置300は、デ
ィスクアクセスコマンドを障害ディスク装置から受け取
ると、まず、旧パリティをリードしバッファメモリ30
4に格納する。次に障害ディスク装置から受け取った更
新データと旧パリティの排他的論理和をMPU302、
もしくはディスク制御部303内のパリティ生成部で計
算して新パリティを生成しバッファメモリ304に格納
する。最後に”新パリティ”を磁気記録媒体にライトす
る(934)。
【0061】《第2の実施例》図11に本発明を用いた
ディスクアレイシステムの第2の実施例の構成を示す。
第1の実施例との違いは、ディスクアレイ制御装置20
0がないことである。ホストコンピュータ内にディスク
インタフェース部201を持ち、第1の実施例でディス
クアレイ制御装置が行っていた処理はすべてホストコン
ピュータが行う。それ以外の手段について変更は必要な
い。
【0062】第1の実施例では、ディスクアレイ制御装
置は”論理アドレス”と”物理アドレス”の変換とディ
スクインタフェース部を介したディスク装置のアクセス
制御をおこなっていた。本実施例では、これらの処理を
ホストコンピュータが行う。ディスクインタフェース部
は通常のコンピュータが装備しているものであり、”論
理アドレス”と”物理アドレス”の変換はホストコンピ
ュータのファイルシステムもしくはデバイスドライバと
してソフトウェア的に容易に実現できる。
【0063】このような構成にすることで、高価格なデ
ィスクアレイ制御装置が必要なくなり、かつ、ディスク
装置の増加に対して性能を向上させやすいという第一の
実施例がもっていた利点は保持される。
【0064】
【発明の効果】本発明のディスクアレイ装置は、ディス
クアレイ制御装置の負荷を低減しディスク装置でパリテ
ィ生成処理を行う。このためディスク装置の増加にたい
し性能を向上させることが容易になる。
【0065】また、旧データや旧パリティをディスク装
置の外部に転送することなく処理するため、ディスクイ
ンタフェースの負荷を削減することができる。
【0066】さらに、高価格なディスクアレイ制御装置
をなくし、ホストコンピュータで、”論理アドレス”
と”物理アドレス”の変換とディスクインタフェース部
を介したディスク装置のアクセス制御をおこなうことに
よりディスクアレイ装置の低価格化が実現できる。
【0067】さらに、パリティ更新処理を行うときも、
遅延パリティ更新手段が、更新データ保持手段内の更新
データをまとめてパリティ領域に転送するので、パリテ
ィ更新処理自体を高速化することができる。
【図面の簡単な説明】
【図1】ディスクアレイ装置のブロック図。
【図2】ディスク装置のブロック図。
【図3】従来のRAID5におけるリード処理の説明
図。
【図4】従来のRAID5におけるライト処理の説明
図。
【図5】ホストコンピュータのブロック図。
【図6】ディスクアレイ制御装置のブロック図。
【図7】第1の実施例によるリード処理のフローチャー
ト。
【図8】第1の実施例によるライト処理のフローチャー
ト。
【図9】第1の実施例によるディスク障害時のリード処
理のフローチャート。
【図10】第1の実施例によるディスク障害時のライト
処理のフローチャート。
【図11】第1の実施例によるディスクアレイ装置を適
用したシステムの説明図。
【図12】RAIDのデータ・パリティの説明図。
【図13】従来のディスクアレイ装置のリード処理フロ
ーチャート。
【図14】従来のディスクアレイ装置のライト処理フロ
ーチャート。
【符号の説明】
100…ホストコンピュータ、 200…ディスクアレイ制御装置、 201…ディスクインタフェース部、 300…ディスク装置。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】アレイ状に配置された複数のディスク装置
    と、前記複数のディスク装置へのデータのアクセスを制
    御するディスクアレイ制御装置と、前記ディスクアレイ
    制御装置に対して前記複数のディスク装置へのアクセス
    を指示するホストコンピュータとを備え、前記複数のデ
    ィスク装置は、並列に動作し、データを格納するデータ
    領域と、前記データに対応する冗長データを格納するパ
    リティ領域とを有するディスクアレイ装置において、 前記ディスク装置内に前記データと前記パリティの対応
    関係を保持し、対応するデータもしくはパリティのアド
    レスを生成する手段と、前記パリティの生成に必要な旧
    データと新データから新パリティを生成するのに必要な
    更新データを生成する手段と、前記更新データを対応す
    る前記パリティのアドレスで示されるディスク装置に送
    出し、前記パリティのアドレスで示されるディスク装置
    内で前記更新データと旧パリティを用いて新パリティを
    生成させるコマンドを送出する手段と、前記パリティの
    アドレスで示されるディスク装置内で前記更新データと
    旧パリティを用いて新パリティを生成する手段をもつこ
    とを特徴とするディスクアレイ装置。
  2. 【請求項2】請求項1において、ディスク障害発生時の
    データ回復に必要な、データ・パリティアドレス生成手
    段、データ回復のための演算手段、他のディスク装置へ
    のコマンド送出手段を前記ディスク装置内にもつディス
    クアレイ装置。
  3. 【請求項3】アレイ状に配置された複数のディスク装置
    と、前記複数のディスク装置へのデータのアクセスを制
    御するインタフェースを持ち、前記ディスクアレイ制御
    装置に対して前記複数のディスク装置へのアクセスを指
    示するホストコンピュータとを備え、前記複数のディス
    ク装置は、並列に動作し、データを格納するデータ領域
    と、前記データに対応する冗長データを格納するパリテ
    ィ領域とを有するディスクアレイ装置において、 前記ディスク装置内に前記データと前記パリティの対応
    関係を保持し、対応するデータもしくはパリティのアド
    レスを生成する手段と、前記パリティの生成に必要な旧
    データと新データから新パリティを生成するのに必要な
    更新データを生成する手段と、前記更新データを対応す
    る前記パリティのアドレスで示されるディスク装置に送
    出し、前記パリティのアドレスで示されるディスク装置
    内で前記更新データと旧パリティを用いて新パリティを
    生成させるコマンドを送出する手段と、前記パリティの
    アドレスで示されるディスク装置内で前記更新データと
    旧パリティを用いて新パリティを生成する手段をもつこ
    とを特徴とするディスクアレイ装置。
  4. 【請求項4】請求項1または3において、ディスク障害
    発生時のデータ回復に必要な、データ・パリティアドレ
    ス生成手段、データ回復のための演算手段、他のディス
    ク装置へのコマンド送出手段を前記ディスク装置内にも
    つディスクアレイ装置。
JP8067784A 1996-03-25 1996-03-25 ディスクアレイ装置 Pending JPH09258911A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8067784A JPH09258911A (ja) 1996-03-25 1996-03-25 ディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8067784A JPH09258911A (ja) 1996-03-25 1996-03-25 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH09258911A true JPH09258911A (ja) 1997-10-03

Family

ID=13354940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8067784A Pending JPH09258911A (ja) 1996-03-25 1996-03-25 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH09258911A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403477B1 (ko) * 2021-11-12 2022-05-30 삼성전자주식회사 스토리지 장치와 이를 포함하는 호스트-스토리지 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403477B1 (ko) * 2021-11-12 2022-05-30 삼성전자주식회사 스토리지 장치와 이를 포함하는 호스트-스토리지 시스템

Similar Documents

Publication Publication Date Title
US5487160A (en) Concurrent image backup for disk storage system
US5533190A (en) Method for maintaining parity-data consistency in a disk array
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
US5596709A (en) Method and apparatus for recovering parity protected data
US5418925A (en) Fast write I/O handling in a disk array using spare drive for buffering
US5088081A (en) Method and apparatus for improved disk access
JP3180130B2 (ja) エラーデータ訂正可能なコンピュータ用記憶装置及びディジタルデータの記憶方法
US5388108A (en) Delayed initiation of read-modify-write parity operations in a raid level 5 disk array
US5488701A (en) In log sparing for log structured arrays
US5596708A (en) Method and apparatus for the protection of write data in a disk array
US6032263A (en) Parity storage unit, in a disk array system, for generating updated parity data from received data records
JPH10149262A (ja) ディスクアレイ装置およびその制御方法
US6223323B1 (en) Method for storing parity information in a disk array storage system
US6108812A (en) Target device XOR engine
EP0701208A2 (en) Disk array subsystem and data generation method therefor
US5574736A (en) Data storage device and method of operation
US8078921B2 (en) System including a plurality of data storage devices connected via network and data storage device used therefor
US20030163757A1 (en) RAID subsystem and data input/output and recovery method in disk error mode
US20040225913A1 (en) Storage system having redundancy block, and controller, control method, program, and storage medium for storage system
US20110205654A1 (en) Control apparatus, nonvolatile storage apparatus and data initialization method
JPH09258911A (ja) ディスクアレイ装置
JP2005166016A (ja) ディスクアレイ装置
JP3236166B2 (ja) キャッシュ制御方法および情報処理装置
JP3288071B2 (ja) 情報変換処理装置および情報転送制御方法
JP3613722B2 (ja) ディスクアレイ装置