JP3011020B2 - アレイ型デイスクシステム - Google Patents

アレイ型デイスクシステム

Info

Publication number
JP3011020B2
JP3011020B2 JP6148983A JP14898394A JP3011020B2 JP 3011020 B2 JP3011020 B2 JP 3011020B2 JP 6148983 A JP6148983 A JP 6148983A JP 14898394 A JP14898394 A JP 14898394A JP 3011020 B2 JP3011020 B2 JP 3011020B2
Authority
JP
Japan
Prior art keywords
data
parity
update
disk
address
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.)
Expired - Fee Related
Application number
JP6148983A
Other languages
English (en)
Other versions
JPH07141123A (ja
Inventor
高 大枝
泰典 兼田
直人 松並
聖志 本田
仁 秋山
敬史 荒川
稔 吉田
育哉 八木沢
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 JP6148983A priority Critical patent/JP3011020B2/ja
Priority to US08/312,791 priority patent/US5761402A/en
Publication of JPH07141123A publication Critical patent/JPH07141123A/ja
Priority to US08/964,227 priority patent/US5958067A/en
Application granted granted Critical
Publication of JP3011020B2 publication Critical patent/JP3011020B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
の記憶システムとして用いられ、特に冗長データの更新
処理を最適化した複数のディスク装置をアレイ状に配置
したアレイ型ディスクシステムおよびその制御方法に関
する。
【0002】
【従来の技術】従来、単体で用いられていた磁気ディス
ク装置(ハードディスク装置)に代えて、複数の磁気デ
ィスク装置を並列に動かして読み出し/書き込みの高速
化を図り、冗長構成によって信頼性を上げた外部記憶装
置であるディスクアレイ装置(RAID:Redundant Array o
f Inexpencive Disks)が考えられている(論文:"A Cas
e for Redundant Arrays of Inexpencive Disks (RAI
D)", David A.Patterson,Garth Gibson, and Randy H.K
atz, Computer Science Division Department ofElectr
ical Engineering and Computer Sciences, University
of Calfornia Berkeley)。前記論文の中では、ディス
クアレイ装置の構成により、そのレベルに1から5まで
の番号が与えられている。RAIDレベル3は、大量の
データを転送するシーケンシャルアクセスに対し性能向
上が見込め、RAIDレベル5は、小さなサイズの読み
書きが多量に発生するランダムアクセスに対し性能向上
が見込まれることは周知の通りである(日経エレクトロ
ニクス1993/4/26 No.579 P.77〜91「特集ディスクアレ
イ装置」)。
【0003】図10(a)にRAIDレベル3構成時の
データとパリティの関係を示す(4データ1パリティ構
成)。また、図10(b)にRAIDレベル5構成時の
データとパリティの関係を示す(4データ1パリティ構
成)。図10において、0から19は、データが格納さ
れる位置を表し、P0−3からP16−19は、対応す
るパリティデータを表す。例えば、P0−3は、データ
0から3に対応するパリティデータを格納する位置であ
る。RAIDレベル3では、バイトストライプが用いら
れ、パリティディスクが固定されている。また、RAI
Dレベル5では、パリティが各ディスクに分散されて記
録されている。これにより、RAID5では、パリティ
更新時に1台のパリティディスクに処理が集中すること
を防ぎ、書き込み時の性能低下を抑えることができる。
ただし、データ書き込む際には同時に対応するパリティ
も更新する必要があるため、冗長性のないディスクシス
テムに比べて書き込み性能が劣化するのは避けられな
い。
【0004】ここで、図10(a)に示したRAIDレ
ベル3構成で読み出し処理を行なうと、ドライブが5台
あっても、1台はパリティ専用のディスクであるため、
読み出し時の並列効果は4台分にしかならない。また、
図10(b)に示したRAIDレベル5構成で読み出し
を行うと、データの途中にパリティが記録されているた
め、このパリティを読みとばすための待ち時間が必要に
なり、結果的に読み出し性能が低下する。
【0005】そこで、上記課題に対し、"Performance C
onsequences of Parity Placementin Disk Arrays"(Ed
ward K.Lee and Randy H.Katz, Computer Science Divi
sion Electrical Engineering and Computer Science,
University of Californiaat Berkeley)の論文のなか
でパリティの配置方式としてFlat-Left-Symmetric方式
(フラット・レフト・シンメトリック方式)が考えられ
ている。このFlat-Left-Symmetric方式を図10(c)
に示す。このように構成することで、読み出し時は、5
台分の並列効果が得られるため、従来のRAIDレベル
3構成に比べ性能が20%程度向上することが見込まれ
る(5台構成のRAIDレベル3と比較して)。また、
RAIDレベル5構成とくらべても、パリティを読みと
ばす必要がないため、それに伴う待ち時間も発生しな
い。
【0006】ここで、Flat-Left-Symmetric方式等で使
用されている、従来方式によるリード処理およびライト
処理について、図15,図16,図17を用いて説明す
る。
【0007】図17に、従来方式のディスクアレイシス
テムの構成例を示す。本システムは大きく3つの部分で
構成されている。ホストシステム500とアレイボード
600とアレイ状に配置された複数の磁気ディスク群7
90である(磁気ディスク装置701から705)。
【0008】ホストシステム500は、CPU(Cen
tral ProcessingUnit)501と、
セカンドキャッシュ502と、チップセット503と、
メインメモリ505で構成している。CPU501と、
セカンドキャッシュ502と、チップセット503は、
CPUバス504で接続されている。
【0009】アレイボード600は、バスインタフェー
ス601を用いて、前記拡張バス509に接続されてい
る。また、アレイボード600は、MPU(Micro
Processing Unit)602と、5つの
SCSI(Small Computer System
Interface)コントローラ603で構成して
いる。
【0010】磁気ディスク装置群790は、5台の磁気
ディスク装置701から705で構成している。磁気デ
ィスク装置701から705は、それそれSCSIコン
トローラ710を有し、前記アレイボード600上のS
CSIコントローラ603と、それぞれケーブルで接続
している。また、磁気ディスク装置群790は、ホスト
から転送されるデータを保持するデータ領域791と、
ディスクアレイシステムに特有な冗長データであるパリ
ティデータを保持するパリティ領域792に分けてい
る。
【0011】《リード処理》まず、リード処理につい
て、図15と図17とを用いて説明する。図15は、従
来のリード処理を説明するためのフロー図である。ホス
トシステム上のアプリケーションなどからデータの読み
出し命令が発行されると(1500)、CPU501上
のアドレス変換手段で目的のデータがどのディスク装置
のどこの論理ブロックアドレスに保持されているか算出
する(1501)(この算出結果を”データアドレス”
と呼ぶ)。”データアドレス”の示す論理アドレスから
目的のデータを読み出す(1502)。すなわち、磁気
ディスク装置群790にアクセスして、目的のデータを
リードする。読み出された目的のデータは、読み出し命
令を発行したアプリケーションに渡されて(150
3)、処理が終了する。
【0012】《ライト処理》次に、ライト処理につい
て、図16と図17とを用いて説明する。以下では、新
しく書き込むデータを”新データ”と呼び、”新デー
タ”に対応する古いデータを”旧データ”と呼ぶ。”旧
データ”は、”新データ”を書き込む論理ブロックに記
録されているデータ、つまり、ライト処理により、”新
データ”により上書きされるデータのことである。
【0013】ホストシステム上のアプリケーションなど
からデータ書き込み命令が発行されると(1600)、
アドレス変換手段が、”新データ”の格納先の磁気ディ
スク装置の装置番号と、その磁気ディスク装置内の論理
ブロックアドレスを算出する。また、アドレス変換手段
は、”新データ”に対応するパリティデータの格納され
ている磁気ディスク装置の装置番号と、その磁気ディス
ク装置内の論理ブロックアドレスも算出する(この算出
結果を”パリティアドレス”と呼ぶ)(1601)。
【0014】算出された”データアドレス”の示すドラ
イブの論理アドレスから”旧データ”を読み出し(16
02)、”パリティアドレス”の示すドライブの論理ア
ドレスから”旧パリティ”を読み出す(1603)。読
み出された”旧データ”,”旧パリティ”,”新デー
タ”から”新パリティ”を算出し(1604)、”デー
タアドレス”の示すドライブの論理アドレスに”新デー
タ”を書き込む(1605)。”パリティアドレス”の
示すドライブの論理アドレスに”新パリティ”を書き込
み(1606)、処理を終了する(1607)。
【0015】すなわち、従来、データリード処理時に
は、当該データを格納するディスク装置の1回のリード
で済むのに対し、データライト時には、当該データを格
納するディスク装置のリードとライト、さらに、対応す
るパリティを格納するディスク装置のリードとライトと
いう計4回のディスク装置へのアクセスを必要とする。
【0016】
【発明が解決しようとする課題】上記に示したように、
従来方式のディスクアレイ装置においては、書き込み時
に必ずパリティ更新処理を行うため、この時パリティ格
納領域とデータ格納領域とが分離して配置されている関
係で、データ格納領域からパリティ格納領域への書き込
みヘッドの移動処理が必要になり、読み出し時に比べて
書き込み時には、性能が低下するという課題を有してい
た。
【0017】本発明の目的は、上記従来技術の課題を解
決すべく、書き込み処理の性能低下を防ぐと共にパリテ
ィ更新処理の高速化を図ったアレイ型ディスクシステム
およびアレイ型ディスクシステムの制御方法を提供する
ことにある。
【0018】また本発明の他の目的は、ディスクアレイ
システム全体のスループットおよび応答性能の向上を図
ったアレイ型ディスクシステムおよびアレイ型ディスク
システムの制御方法を提供することにある。
【0019】また本発明の他の目的は、Flat-Left-Symm
etric方式を用いてディスク装置に対する負荷を分散
し、パリティ更新処理の高速化を図ったアレイ型ディス
クシステムおよびアレイ型ディスクシステムの制御方法
を提供することにある。
【0020】また本発明の他の目的は、耐電源障害性を
簡単な構成で実現できるようにしたアレイ型ディスクシ
ステムおよびアレイ型ディスクシステムの制御方法を提
供することにある。
【0021】また本発明の他の目的は、ソフトウエアに
よってRAID機能を実現したアレイ型ディスクシステ
ムおよびアレイ型ディスクシステムの制御方法を提供す
ることにある。
【0022】また本発明の他の目的は、主メモリをキャ
ッシュとして利用してライト処理の高速化をはかったア
レイ型ディスクシステムおよびアレイ型ディスクシステ
ムの制御方法を提供することにある。
【0023】
【課題を解決するための手段】本発明は、上記目的を達
成するために、並列に動作し、データを格納するデータ
領域と、該データに対応する冗長データを格納するパリ
ティ領域とを有し、アレイ状に配置された複数のディス
ク装置と、該複数のディスク装置の各々へのデータのア
クセスを制御するディスク制御装置と、該ディスク制御
装置に対して前記複数のディスク装置の各々へのアクセ
スを指示するホストコンピュータを有するホストコンピ
ュータシステムとを備えたアレイ型ディスクシステムで
あって、前記ディスク装置内のアドレスへの最初の書き
込み時に、書き込み前後のデータの排他的論理和を算出
して更新データを生成し、前記ディスク装置内のアドレ
スへの再度の書き込み時には、書き込み前後のデータと
前記更新データとの排他的論理和を算出して新たな更新
データを生成する更新データ生成手段を前記ホストコン
ピュータシステムまたは前記ディスク制御装置内に備
え、該更新データ生成手段で生成された更新データを保
持する更新データ保持手段を前記ホストコンピュータシ
ステムまたは前記ディスク制御装置内に備え、前記アド
レスのデータに対する冗長データが格納されているアド
レスであるパリティアドレスをログデータとして前記更
新データと対応づけて保持するログデータ保持手段を、
前記ホストコンピュータシステムまたは前記ディスク制
御装置または前記磁気ディスク装置内に備え、前記ディ
スク制御装置へのデータの書き込み処理と非同期に、前
記ログデータに基づいて前記更新データに対応する冗長
データを前記ディスク装置から読み出して該冗長データ
と前記更新データとの排他的論理和に基づいて生成され
る新冗長データを前記ログデータに基づいて前記ディス
ク装置内へ書き込む遅延パリティ生成手段を、前記ホス
トコンピュータシステムまたは前記磁気ディスク制御装
置内に備えたことを特徴とするアレイ型ディスクシステ
ムである。
【0024】また本発明は、上記アレイ型ディスクシス
テムにおいて、前記ホストコンピュータシステムまたは
前記ディスク制御装置内に設けられ、過去にアクセスを
行なった前記複数のディスク装置のデータ領域内のデー
タを旧データとして該データのアクセスアドレスと対応
させて保持する旧データ保持手段を備え、前記更新デー
タ生成手段は、前記旧データ保持手段に保持されている
旧データを前記書き込み前のデータとすることを特徴と
する。また本発明は、上記アレイ型ディスクシステムに
おいて、前記アレイ型ディスクシステムは、前記複数の
ディスク装置の各々に含まれる複数のアクセス単位を列
とみなし、該各列の対応するアクセス単位を行とみなし
た場合、各アクセス単位は前記データ領域または前記パ
リティ領域のいずれかに割当てられるとともに、前記デ
ータ領域と前記パリティ領域とは特定の行境界で二分さ
れ、少なくとも一以上の予め定められた行上の各アクセ
ス単位を、該アクセス単位と同列に存在しないアクセス
単位のデータ領域に対応するパリティ領域として用いる
フラット・レフト・シンメトリック方式によるアレイ型
ディスクシステムであることを特徴とする。また本発明
は、上記アレイ型ディスクシステムにおいて、前記アレ
イ型ディスクシステムは、フラット・レフト・シンメト
リック方式によるアレイ状のディスク装置を複数組設
け、該複数組のアレイ状のディスク装置のパリティ領域
が、各々、他の組のパリティ領域と置換されているアレ
イ型ディスクシステムであることを特徴とする。また本
発明は、上記アレイ型ディスクシステムにおいて、前記
遅延パリティ生成手段は、前記ログデータに基づいて、
パリティアドレスが予め定められた近接範囲内にある複
数の更新データの各々に対応する複数の冗長データを前
記ディスク装置から読み出して、該複数の冗長データと
前記複数の更新データとの排他的論理和により複数の新
冗長データを生成して該複数の新冗長データを前記ログ
データに基づいて前記ディスク装置に書き込むように構
成したことを特徴とする。また本発明は、上記アレイ型
ディスクシステムにおいて、前記複数のディスク装置の
各々に含まれる複数のアクセス単位を列とみなし、前記
予め定められた近接範囲は、同一列上の予め定められた
アクセス単位数以内の近傍範囲であることを特徴とす
る。
【0025】また本発明は、並列に動作し、データを格
納するデータ領域と、該データに対応する冗長データを
格納するパリティ領域とを有し、アレイ状に配置された
複数のディスク装置と、該複数のディスク装置の各々へ
のデータのアクセスを制御するディスク制御装置と、該
ディスク制御装置に対して前記複数のディスク装置の各
々へのアクセスを指示するホストコンピュータを有する
ホストコンピュータシステムとを備えたアレイ型ディス
クシステムであって、前記ディスク装置内のアドレスへ
最初にデータを書き込み際、書き込み前後のデータの排
他的論理和を算出して更新データを生成し、前記ディス
ク装置内のアドレスへ再度データを書き込みむ際、書き
込み前後のデータと前記更新データとの排他的論理和を
算出して新たな更新データを生成する更新データ生成手
段を、前記ホストコンピュータシステム内に備え、前記
更新データ生成手段で生成される更新データを保持する
更新データ保持手段を、前記ホストコンピュータシステ
ムまたは前記ディスク制御装置内に備え、前記ディスク
装置へのデータの書き込み処理と非同期に、前記ディス
ク装置から前記更新データに対応するアドレスから冗長
データを読み出して該読み出された冗長データと前記更
新データ保持手段に保持された更新データとの排他的論
理和に基づいて生成される新冗長データを前記ディスク
装置内に書き込む遅延パリティ生成手段を前記ホストコ
ンピュータシステム内に備えたことを特徴とするアレイ
型ディスクシステムである。
【0026】また本発明は、並列に動作し、データを格
納するデータ領域と、該データに対応する冗長データを
格納するパリティ領域とを有し、アレイ状に配置された
複数のディスク装置と、該複数のディスク装置の各々へ
のデータのアクセスを制御するディスク制御装置と、該
ディスク制御装置に対して前記複数のディスク装置の各
々へのアクセスを指示するホストコンピュータを有する
ホストコンピュータシステムとを備えたアレイ型ディス
クシステムであって、更新データを保持する更新データ
保持手段および前記ディスク装置内に書き込む所望のア
ドレスのデータに対する冗長データが格納されているパ
リティアドレスをログデータとして前記更新データと対
応づけて保持するログデータ保持手段を、前記ホストコ
ンピュータシステムまたは前記ディスク制御装置内に備
え、前記ディスク装置内の所望のアドレスへデータを書
き込む前の旧データと新たに書き込む新データと更新デ
ータとの排他的論理和を算出して新たな更新データを生
成し、前記ディスク装置内の所望のアドレスへ新データ
を書き込んでアプリケーションに対して書き込み処理信
号を転送し、該ディスク制御装置へのデータの書き込み
処理と非同期に、前記ログデータに基づいて前記更新デ
ータに対応する冗長データを前記ディスク装置から読み
出して該冗長データと前記更新データとの排他的論理和
に基づいて新冗長データを生成して前記ログデータに基
づいて前記ディスク装置内へ書き込むことを前記ホスト
コンピュータにおいて実行するように構成したことを特
徴とするアレイ型ディスクシステムである。
【0027】また本発明は、並列に動作し、データを格
納するデータ領域と、該データに対応する冗長データを
格納するパリティ領域とを有し、アレイ状に配置された
複数のディスク装置と、該複数のディスク装置の各々へ
のデータのアクセスを制御するディスク制御装置と、更
新データを保持する更新データ保持手段および前記ディ
スク装置内に書き込む所望のアドレスのデータに対する
冗長データが格納されているパリティアドレスをログデ
ータとして前記更新データと対応づけて保持するログデ
ータ保持手段と前記ディスク制御装置に対して前記複数
のディスク装置の各々へのアクセスを指示し、前記ディ
スク装置内の所望のアドレスへデータを書き込む前の旧
データと新たに書き込む新データと更新データとの排他
的論理和を算出して新たな更新データを生成し、前記デ
ィスク装置内の所望のアドレスへ新データを書き込んで
アプリケーションに対して書き込み処理信号を転送し、
該ディスク制御装置へのデータの書き込み処理と非同期
に、前記ログデータに基づいて前記更新データに対応す
る冗長データを前記ディスク装置から読み出して該冗長
データと前記更新データとの排他的論理和に基づいて新
冗長データを生成して前記ログデータに基づいて前記デ
ィスク装置内へ書き込むホストコンピュータとを有する
ホストコンピュータシステムとを備えたことを特徴とす
るアレイ型ディスクシステムである。
【0028】また本発明は、上記アレイ型ディスクシス
テムにおいて、前記ログデータ保持手段は、電源障害発
生時でも保持できるように構成したことを特徴とする。
また本発明は、上記アレイ型ディスクシステムにおい
て、前記ディスク制御装置は、前記ホストコンピュータ
システムのバスに接続したインターフェースと前記複数
のディスク装置の各々に設けられたSCSIコントロー
ラに接続された複数のSCSIコントローラとを備えた
アレイボードで構成したことを特徴とする。また本発明
は、上記アレイ型ディスクシステムにおいて、ホストコ
ンピュータシステムの内部バスにアレイボードのバスイ
ンターフェースを直結したことを特徴とする。また本発
明は、上記アレイ型ディスクシステムにおいて、更に、
前記書き込み前のデータを旧データとして、該旧データ
のアクセスアドレスと対応させて保持する旧データ保持
手段を、前記ホストコンピュータシステムまたは前記デ
ィスク制御装置内に備え、前記更新データ生成手段は、
前記旧データ保持手段に保持されて旧データを前記書き
込み前のデータとすることを特徴とする。また本発明
は、上記アレイ型ディスクシステムにおいて、更に、前
記アドレスのデータに対する冗長データが格納されてい
るアドレスであるパリティアドレスを、ログデータとし
て、前記更新データと対応づけて電源障害発生時にデー
タを失うことなく保持するログデータ保持手段を備える
ことを特徴とする。また本発明は、上記アレイ型ディス
クシステムにおいて、前記更新データ保持手段を、前記
ホストコンピュータシステム内に設けられた主記憶装置
で構成したことを特徴とする。また本発明は、上記アレ
イ型ディスクシステムにおいて、前記旧データ保持手段
を、前記ホストコンピュータシステム内に設けられた主
記憶装置で構成したことを特徴とする。また本発明は、
上記アレイ型ディスクシステムにおいて、前記ログデー
タ保持手段を、前記ホストコンピュータシステム内に設
けられた主記憶装置で構成したことを特徴とする。また
本発明は、上記アレイ型ディスクシステムにおいて、前
記ログデータ保持手段を、前記ホストコンピュータシス
テムまたは前記ディスク制御装置または前記ディスク装
置内に備えたことを特徴とする。
【0029】また本発明は、並列に動作し、書き込みデ
ータを格納するデータ領域と、前記書き込みデータに対
応する冗長データを格納するパリティ領域とを有し、ア
レイ状に配置された複数のディスク装置の各々へ、ホス
トコンピュータシステム内に設けられたホストコンピュ
ータからの指示に基づいてディスク制御装置を介してデ
ータをアクセス制御するアレイ型ディスクシステムの制
御方法であって、前記ディスク装置内のアドレスへ最初
にデータを書き込む際、書き込み前後のデータの排他的
論理和を算出して更新データを生成し、前記ディスク装
置内のアドレスへ再度データを書き込む際、書き込み前
後のデータと前記更新データとの排他的論理和を算出し
て新たな更新データを生成し、前記生成された更新デー
タを更新データ保持手段に保持し、前記アドレスのデー
タに対する冗長データが格納されているアドレスである
パリティアドレスを、ログデータとして前記更新データ
と対応づけてログデータ保持手段に保持し、前記ディス
ク装置へのデータの書き込み処理と非同期に、前記ログ
データに基づいて前記更新データに対応する冗長データ
を読み出して該冗長データと前記更新データとの排他的
論理和に基づいて新冗長データを生成し、該新冗長デー
タを、前記ログデータに基づいて前記ディスク装置内へ
書き込むことを特徴とするアレイ型ディスクシステムの
制御方法である。
【0030】また本発明は、並列に動作し、書き込みデ
ータを格納するデータ領域と、前記書き込みデータに対
応する冗長データを格納するパリティ領域とを有し、ア
レイ状に配置された複数のディスク装置の各々へ、ホス
トコンピュータシステム内に設けられたホストコンピュ
ータからの指示に基づいてディスク制御装置を介してデ
ータをアクセス制御するアレイ型ディスクシステムの制
御方法であって、前記ディスク装置内のアドレスへ最初
にデータを書き込む際、書き込み前後のデータの排他的
論理和を算出して更新データを生成し、前記ディスク装
置内のアドレスへの再度の書き込む際、書き込み前後の
データと前記更新データとの排他的論理和を算出して新
たな更新データを生成し、前記生成された更新データ
を、前記ホストコンピュータシステムまたは前記ディス
ク制御装置内に設けられた更新データ保持手段に保持
し、前記ディスク装置へのデータの書き込み処理と非同
期に、前記ディスク装置から前記更新データに対応する
冗長データを読み出して該冗長データと前記更新データ
との排他的論理和に基づいて新冗長データを生成し、該
新冗長データを前記ディスク装置内へ書き込むことを特
徴とするアレイ型ディスクシステムの制御方法である。
また本発明は、上記アレイ型ディスクシステムの制御方
法において、前記ディスク装置から更新データに対応す
る冗長データを読み出すアドレスであるパリティアドレ
スを、ログデータとして前記更新データと対応付けて電
源障害発生時にデータを失うことなく保持し、電源障害
回復後前記ログデータに基づいて電源障害により失われ
た前記新冗長データを再生することを特徴とする。
【0031】また本発明は、並列に動作し、書き込みデ
ータを格納するデータ領域と、前記書き込みデータに対
応する冗長データを格納するパリティ領域とを有し、ア
レイ状に配置された複数のディスク装置の各々へ、ホス
トコンピュータシステム内に設けられたホストコンピュ
ータからの指示に基づいてディスク制御装置を介してデ
ータをアクセス制御するアレイ型ディスクシステムの制
御方法であって、前記ディスク装置内のアドレスへデー
タを書き込む際、書き込み前後のデータに基づいて更新
データを生成し、前記生成された更新データを、前記ホ
ストコンピュータシステムまたは前記ディスク制御装置
内に設けられた更新データ手段に保持し、前記ホストコ
ンピュータシステムまたは前記ディスク制御装置内に設
けられた更新データ手段に保持し、前記書き込み前の旧
データを、前記ホストコンピュータシステムまたは前記
ディスク制御装置内に設けられた旧データ保持手段に保
持し、前記ディスク装置へのデータの書き込み処理と非
同期に、前記ディスク装置から前記更新データに対応す
る冗長データを読み出して該冗長データと前記更新デー
タとの排他的論理和に基づいて新冗長データを生成して
該新冗長データを前記ディスク装置内へ書き込むことを
特徴とするアレイ型ディスクシステムの制御方法であ
る。
【0032】また本発明は、並列に動作し、書き込みデ
ータを格納するデータ領域と、前記書き込みデータに対
応する冗長データを格納するパリティ領域とを有し、ア
レイ状に配置された複数のディスク装置の各々へ、ホス
トコンピュータシステム内に設けられたホストコンピュ
ータからの指示に基づいてディスク制御装置を介してデ
ータをアクセス制御するアレイ型ディスクシステムの制
御方法であって、前記ディスク装置内のアドレスへデー
タを書き込む際、書き込み前後のデータに基づいて更新
データを生成し、前記生成された更新データを、前記ホ
ストコンピュータシステムまたは前記ディスク制御装置
内に設けられた更新データ手段に保持し、前記ホストコ
ンピュータシステムまたは前記ディスク制御装置内に設
けられた更新データ手段に保持し、前記更新データに対
応する冗長データを読み出すアドレスであるパリティア
ドレスを、ログデータとして前記更新データと対応付け
て電源障害発生時にデータを失うことなく記憶保持手段
に保持し、前記書き込み前の旧データを、前記ホストコ
ンピュータシステムまたは前記ディスク制御装置内に設
けられた旧データ保持手段に保持し、前記ディスク装置
へのデータの書き込み処理と非同期に、電源障害回復後
前記記憶保持手段に保持されたディスク装置のパリティ
アドレスから更新データに対応する冗長データを読み出
して該冗長データと前記更新データとの排他的論理和に
基づいて新冗長データを生成して該新冗長データを前記
ディスク装置内へ書き込むことを特徴とするアレイ型デ
ィスクシステムの制御方法である。
【0033】即ち、本発明は、並列に動作し、データを
格納するデータ領域と前記データに対応する冗長データ
を格納するパリティ領域とを有するアレイ状に配置され
た複数のディスク装置と、該複数のディスク装置へのデ
ータのアクセスを制御するディスク制御装置と、該ディ
スク制御装置に対して前記複数のディスク装置へのアク
セスを指示するホストコンピュータを有する、前記複数
のディスク装置は、アレイ型ディスクシステムであっ
て、前記ディスク装置内の各アドレスへの最初の書き込
み時に、書き込み前後のデータの排他的論理和を算出し
て更新データとし、前記ディスク装置内の各アドレスへ
の再度の書き込み時には、書き込み前後のデータと前記
更新データとの排他的論理和を算出して新たな更新デー
タとする更新データ生成手段と、前記更新データを、前
記ホストコンピュータまたは前記ディスク制御装置内に
保持する更新データ保持手段と、前記アドレスのデータ
に対する冗長データが格納されているアドレスであるパ
リティアドレスを、ログデータとして、前記更新データ
と対応づけて、前記ホストコンピュータまたは前記ディ
スク制御装置内に保持するログデータ保持手段とを備え
ることができる。また、前記書き込み処理と非同期に、
前記ログデータに基づいて前記更新データに対応する冗
長データを読み出し、該冗長データと前記更新データと
の排他的論理和を算出して新冗長データとし、該新冗長
データを、対応する前記ログデータに基づいて前記ディ
スク装置内へ書き込み、前記対応するログデータを削除
する遅延パリティ生成手段を備えることができる。
【0034】
【作用】読み出したデータは旧データとして保持され
る。次ぎに、書き込み処理が発生したときには、書き込
みに対応した旧データを捜し出し、対応旧データと、今
回書き込むデータとを用いて、更新データを作成し保持
する。また、書き込みデータに対応する冗長データの論
理アドレスを、ログデータとして保持する。このあと、
実際にディスク装置にデータを書き込むことで、書き込
み処理は終了する。この書き込み動作とは非同期に、更
新データを基に遅延パリティ生成処理を行ない、新パリ
ティを生成して実際にディスク装置上のパリティを更新
する。このとき、パリティを更新したデータの論理アド
レスを保持されていたログデータから削除する。
【0035】上記記載のように処理することで、データ
の書き込み時にパリティ更新処理を行わなくてすむた
め、書き込み時の処理速度の低下を起こすことが防止で
きる。またFlat-Left-Symmetric方式を採用すれば、デ
ータ格納領域からパリティ格納領域への書き込みヘッド
の移動処理が発生せず、更に書き込み時の処理速度の低
下を防止することができる。
【0036】また、更新データを複数保持し、保持され
たデータのうち、対応するパリティのアドレスが所定の
範囲内にあるものを一括して処理することにより、パリ
ティ更新時の処理を高速化することができる。
【0037】さらに、データの書き込みに対応する列
と、パリティ更新に対応する列とを異ならせることによ
り、データの書き込み処理と、パリティ更新処理を並行
して行うことができ、パリティ更新処理を高速化するこ
とができる。
【0038】さらに、磁気ディスク内の論理アドレスと
一対一に対応する領域を有する記憶装置に更新データを
格納し、更新データを冗長データとして使用して、更新
データ生成処理、及び、パリティ生成処理を高速化する
ことができる。
【0039】さらに、旧データおよび更新データを、ホ
ストシステムの記憶装置内に保持することができるの
で、旧データに対する読み書き処理と、更新データ生成
処理と、更新データに対する読み書き処理とを高速化す
ることができる。
【0040】さらに、データの書き込みに対応する列
と、パリティ更新に対応する列を異ならせることによ
り、データの書き込み処理と、パリティ更新処理とを並
列して行うことができ、多列化構成時のパリティ更新処
理を高速化することができる。
【0041】さらに、ログデータを電源障害時に消去さ
れない不揮発性メモリに保持したので、電源障害などが
発生して更新データが失われたとしても、電源回復後ロ
グデータのアドレスを含むパリティグループのデータか
らパリティを再生することにより、更新データを全て不
揮発性メモリに記憶しておくのに比べて低価格で耐電源
障害性を持ったシステムにすることができる。
【0042】またソフトウエアによってRAID機能を
実現したので、ホスト側CPUパワーを有効活用でき、
しかも主メモリをキャッシュとして利用し、小容量向け
には、アレイボードに設けるSCSIチャンネル数を限
定(少なく)することにより、構成を簡素化して大幅な
原価低減をはかることができる。
【0043】またホスト内部バス直結方式によりデータ
転送速度の高速化とSCSI処理オーバヘッドの削減を
図ることができる。
【0044】
【実施例】以下、本発明の実施例を図を用いて説明す
る。
【0045】《第1の実施例》図1に、本発明を用いた
アレイ型ディスクシステムすなわちディスクアレイシス
テムの構成を示す。本ディスクアレイシステムは、大き
く3つの部位で構成されている。ホストシステム100
と、アレイボード200と、アレイ状に配置された複数
の磁気ディスク装置群390である(磁気ディスク装置
301から305)。
【0046】ホストシステム100は、CPU(Cen
tral ProcessingUnit)101と、
セカンドキャッシュ102と、チップセット103と、
メインメモリ105で構成している。CPU101と、
セカンドキャッシュ102と、チップセット103は、
セカンドキャッシュ102を介してCPU101とCP
Uバス104とメインメモリ105と拡張バス109と
に接続され、各々を分配制御するものである。メインメ
モリ105は、チップセット103に接続され、その内
部に、旧データ保持部106と、更新データ保持部10
7と、不揮発性にしたログデータ保持部108を有する
ように構成されている。また、チップセット103から
拡張バス109を拡張している。
【0047】アレイボード200は、バスインタフェー
ス201を用いて、前記拡張バス109に直接接続(直
結)してデータ転送速度の高速化とSCSI処理オーバ
ヘッドの削減を図るように構成している。また、アレイ
ボード200は、MPU(Micro Process
ing Unit)202と、例えば5つのSCSI
(Small Computer System Int
erface)コントローラ203で構成している。な
お、磁気ディスク装置群390の台数が減少した際、S
CSIコントローラ203の個数を減らし、所望の磁気
ディスク装置のSCSIコントローラ310に接続し、
該接続された所望の磁気ディスク装置のSCSIコント
ローラ310から他の磁気ディスク装置のSCSIコン
トローラ310へ接続することも可能である。即ち、ア
レイボード200は、新たなアレイボードと交換するこ
とは可能である。また磁気ディスク装置群390に適合
するアレイボード200にすることも可能であることは
明らかである。
【0048】磁気ディスク装置群390は、例えば5台
の磁気ディスク装置301から305で構成している。
磁気ディスク装置301から305は、それそれSCS
Iコントローラ310を有し、前記アレイボード200
上のSCSIコントローラ203と、それぞれケーブル
で接続している。また、磁気ディスク装置群390は、
ホストから転送されるデータを保持するデータ領域39
1と、ディスクアレイシステムに特有な冗長データであ
るパリティデータを保持するパリティ領域392に分け
ている。
【0049】ここで、本発明により設けた旧データ検索
手段1011と、更新データ検索手段1012と、更新
データ生成手段1013と、遅延パリティ生成手段10
14とは、CPU101内のソフトウエアとして実現
し、ソフトウエアによるRAID(Redundant
Arrays of Inexpensive Di
sks)機能を実現している。また、アレイディスクシ
ステムに特有な、データ分散/集合処理を行うアドレス
変換手段1015も、CPU101内のソフトウエアと
して実現している。この様子を図14に示す。
【0050】また、更新データ保持手段(部)107の
構成と、ログデータ保持手段(部)108の構成を図1
1に示す。更新データ保持手段107およびログデータ
保持手段108は、各々同数の複数のデータを保持する
ようにし、たとえば、nを自然数として、n番目の両保
持手段107、108のデータが、互いに対応するよう
にすればよい。更新データ保持手段107は、1ブロッ
クの大きさが磁気ディスク装置の論理ブロック長に等し
いメモリ領域をn個集めたものである(これをブロック
120と呼ぶ)。この更新データ保持手段107の有す
るブロック120の個数(n)は、すなわち、遅延パリ
ティ更新処理を行なうことのできる”更新データ”の数
を決定することになる。ブロック120の数を多くする
ことで、保持しておくことのできる”更新データ”の数
が多くなり、ライト処理、及び、遅延パリティ生成処理
時の性能の向上が見込まれる。実際には、更新データ保
持手段を、メインメモリ105内に生成するため、ブロ
ック120の数はメインメモリ105の大きさにより上
限が決まる。
【0051】またログデータ保持手段108は、主にデ
ィスク装置番号、そのディスク装置内の論理ブロックア
ドレス、タイムスタンプ等からなる構造体の配列であ
る。構造体は、ディスク装置番号の領域121と、論理
アドレス番号を入れる領域122と、タイムスタンプを
入れる領域123で構成される。”パリティアドレス”
とは、ディスク装置番号の領域121と、論理アドレス
番号の領域121とのことをいう。配列の個数は更新デ
ータ保持手段の有するブロック数(n)に一致する。
【0052】具体的には、例えば、磁気ディスク装置の
論理ブロック長を4096バイトとした場合には、更新
データ保持手段の1ブロックの大きさは4096バイト
であり、更新データ保持手段がこのブロックを1024
個持っている場合には、更新データ保持手段は4MBの
メモリ空間を使用することになる。また、ログデータ保
持手段は、配列の要素を1024個持つことになる。よ
って、ディスク装置番号を2バイト、論理ブロック番号
を4バイト、タイムスタンプを4バイトとすると、ログ
データ保持手段は10KBのメモリ空間を使用すること
になる。
【0053】このように、ディスクアレイシステムは、
それぞれの部位で実現される機能の集合として動作する
ため、ディスクアレイシステムだけを分離する境界線を
引くことは意味をなさない。
【0054】ここで、図1の構成をとるディスクアレイ
システムでのリード処理(データの読み出し処理)と、
ライト処理(データの書き込み処理)について説明す
る。さらに、本発明のディスクアレイシステムに特有な
遅延パリティ生成処理についても説明する。
【0055】《リード処理》まず、リード処理につい
て、図1と図2を用いて説明する。ホストシステム上の
アプリケーションなどからデータの読み出し命令が発行
されると(900)、アドレス変換手段1015で目的
のデータがどのディスク装置のどこの論理ブロックアド
レスに保持されているか算出する(901)(前述のよ
うに、この算出結果を”データアドレス”と呼ぶ)。旧
データ検索手段1011は、”データアドレス”を基
に、目的のデータが旧データ保持手段106内にあるか
検索する(902)。保持手段106には、”データア
ドレス”と、このアドレスに格納されているデータとが
対応付けて格納されている。この検索の方法としては、
たとえば、ハッシュ関数を用いた方法等を使用すること
ができる。もし、目的のデータが旧データ保持手段10
6内にあれば、該保持手段106から目的データを転送
し(905)処理を終える(909)。すなわち、磁気
ディスク装置群390にアクセスせずに、目的のデータ
をリードすることができる。
【0056】もし、旧データ保持手段106内に目的の
データがなければ(902)、”データアドレス”の示
す論理アドレスから目的のデータを読み出す(90
3)。すなわち、磁気ディスク装置群390にアクセス
して、目的のデータをリードする。読み出された目的の
データは、読み出し命令を発行したアプリケーションに
渡されると共に(905)、旧データ保持手段106に
保持され(904)、処理が終了する(909)。ここ
で、読み出したデータを旧データ保持手段に保持するの
は、次回、読み出し命令が発行されたときに使用するた
め(リードヒット率の向上)と、次回、書き込み命令が
発行されたとき(リードモディファイライト時)、更新
データ生成手段の処理を高速化するためである。
【0057】《ライト処理》次に、ライト処理につい
て、図1と図3を用いて説明する。以下では、新しく書
き込むデータを”新データ”と呼び、”新データ”に対
応する古いデータを”旧データ”と呼ぶ。”旧データ”
は、”新データ”を書き込む論理ブロックに記録されて
いるデータ、つまり、ライト処理に従い、”新データ”
により上書きされるデータのことである。
【0058】ホストシステム上のアプリケーションなど
からデータ書き込み命令が発行されると(910)、ア
ドレス変換手段が、”新データ”の格納先の磁気ディス
ク装置の装置番号と、その磁気ディスク装置内の論理ブ
ロックアドレス、すなわち”データアドレス”を算出す
る(911)。また、アドレス変換手段は、”新デー
タ”に対応するパリティデータの格納されている磁気デ
ィスク装置の装置番号と、その磁気ディスク装置内の論
理ブロックアドレス、すなわち”パリティアドレス”も
算出する(911)。
【0059】次に、更新データ検索手段は、”パリティ
アドレス”を基に、すでに作成された”更新データ”が
あるか検索する(更新データは、1つの”パリティアド
レス”に対して、最大で1つ設けるようにすることによ
り、更新データを記憶するための容量を削減することが
できる)(912)。”更新データ”とは”旧データ”
と”新データ”の排他的論理和(X OR)を演算した
ものである。
【0060】まず、”更新データ”がないときの処理に
ついて説明する。旧データ検索手段は、”データアドレ
ス”を基に、旧データ保持手段106内に”旧データ”
があるかを検索する(913)。もし、”旧データ”が
ない場合には、”データアドレス”の示す磁気ディスク
装置390内の論理ブロックから”旧データ”を読み出
す(914)。
【0061】更新データ生成手段は、”旧データ”と”
新データ”の排他的論理和(XOR)より”更新デー
タ”を作成し(915)、更新データ保持手段107に
結果を保持する(916)。その後、”新データ”
を、”データアドレス”の示す装置番号の磁気ディスク
装置の論理ブロックへ書き込む(917)と共に、旧デ
ータ保持手段106に”新データ”を保持する(91
8)。さらに、”パリティアドレス”をログデータ保持
手段108に登録する(919)。以上でライト処理が
終了する(929)。ここで、旧データ保持手段106
に保持された”新データ”は、次回、書き込み命令が発
行されたときの”旧データ”となり、更新データ生成手
段の処理を高速化できる。つまり、更新データ処理時に
発生する”旧データ”の読み出しをキャッシュヒットに
より削減できるのである。
【0062】次に、”更新データ”があったときの処理
について説明する。旧データ検索手段は、”データアド
レス”を基に、旧データ保持手段106内に”旧デー
タ”があるかを検索する(920)。もし、”旧デー
タ”がない場合には、”データアドレス”の示す装置番
号の磁気ディスク装置の論理ブロックから”旧データ”
を読み出す(921)。
【0063】更新データ生成手段1013は、”更新デ
ータ”と”旧データ”と”新データ”の排他的論理和
(XOR)より、新しい”更新データ”を作成し(92
2)、更新データ保持手段107に結果を上書きする
(923)。その後、”新データ”を”データアドレ
ス”の示す磁気記憶装置390の論理ブロックへデータ
を書き込む(917)と共に、旧データ保持手段106
に”新データ”を保持する(918)。さらに、”パリ
ティアドレス”をログデータ保持手段に登録する(91
9)。以上でライト処理が終了する(929)。
【0064】以上説明したように、本発明を用いたディ
スクアレイシステムのライト処理では、パリティ生成処
理および生成されたパリティのライト処理を行なわず、
データのライト処理のみを行なうので、磁気ディスク装
置群390のデータ領域391に対してのみ読み書きが
行われる。このため、ライト処理の高速化が可能であ
る。また、旧データ保持手段106に格納された”旧デ
ータ”を利用することにより、リードモディファイライ
ト処理時の更新データ生成手段の処理が高速化される。
【0065】《遅延パリティ生成処理》ディスクアレイ
システムでは、信頼性を向上するために、パリティデー
タを生成する必要がある。本発明を用いるディスクアレ
イシステムでは、ライト処理時にパリティ生成処理を行
わずに、遅延パリティ生成処理を行なう。遅延パリティ
生成処理は、アプリケーションなどから発行されるライ
ト命令とは非同期に行われる処理である。前記遅延パリ
ティ生成処理を図1と図4とを用いて説明する。
【0066】ライト処理とは非同期に、遅延パリティ生
成処理が開始される(930)。この遅延パリティ生成
処理が開始されるタイミングとして、例えば、ドライブ
に対するアクセス頻度が低いときや、更新データ保持手
段107に格納することができる”更新データ”の数
(1または複数)よりも、多くの数の”更新データ”が
生成されたときなどが考えられる。
【0067】まず、更新データ検索手段が、更新データ
保持手段107に”更新データ”があるか検索する(9
31)。もし、”更新データ”がなければ、遅延パリテ
ィ生成処理は終了する(939)。”更新データ”があ
る場合には、アドレス変換手段が、”更新データ”に対
応するパリティデータの格納されているパリティ領域の
アドレスである”パリティアドレス”を算出する(93
2)(実際には、ログデータ保持手段に登録されてい
る”パリティアドレス”を読み出すことである)。こ
の”パリティアドレス”が示す論理ブロックから、ま
ず、すでに記録されているパリティデータを読み出し
(933)(これを”旧パリティ”と呼ぶ)、”更新デ
ータ”と”旧パリティ”の排他的論理和(XOR)を演
算し、新しいパリティデータ(これを”新パリティ”と
呼ぶ)を生成する(934)。この”新パリティ”を”
パリティアドレス”の示す論理ブロックに書き戻し(9
35)、ログデータ保持手段から”パリティアドレス”
を削除する(936)ことで処理が終了する(93
9)。
【0068】ここで、ログデータ保持手段108の効果
について説明する。前述のようにディスクアレイシステ
ムでは、信頼性を保つために、パリティデータを生成
し、保持しなければならない。しかし、本発明のディス
クアレイシステムでは、データ書き込み時にはパリティ
を更新せず、”更新データ”だけを生成し、その後、非
同期に遅延パリティ生成処理を行う。ここで、遅延パリ
ティ生成処理を行う前に、停電などの事態が発生する
と、データとパリティの整合性が保てなくなる。そこ
で、ログデータ保持手段108に、未処理の”パリティ
アドレス”を登録しておくことで、停電などで”更新デ
ータ”がなくなっても、次回起動時には、すでに磁気デ
ィスク装置に記録されているデータからパリティを生成
しなおすべき論理アドレスを知ることができる。例えば
図1において磁気ディスク装置301内の”データ1
0”を更新後,電源障害が発生しまだ磁気ディスク装置
303内の”P8ー11”に反映されていない更新デー
タが失われてしまったとする。電源回復後、このままで
は”データ10”と”P8ー11”は不整合のままであ
り、磁気ディスク装置301ー305のうちいずれかが
故障した場合”データ8”ー”データ11”のうち故障
した磁気ディスク装置上のデータを正しく回復すること
ができなくなる。本実施例では、ログデータ保持手段1
08は不揮発性なので未処理の”パリティアドレス”つ
まり”P8ー11”のアドレスは電源障害時にも保持さ
れている。そこで、電源回復後ログデータ保持手段10
8上にアドレスがかかれているパリティ領域のパリティ
を再生成する。この場合ならば”データ8”ー”データ
11”の排他的論理和をとることで”P8ー11”が再
生成できる。もちろん更新データ保持手段を不揮発性に
しておいてもよいが不揮発性メモリは揮発性メモリより
数倍高価であり、かつデータブロックサイズはアドレス
サイズの千倍程度であるため本方式により従来方式より
安価で耐電源障害性をもたせられることがわかる。
【0069】なお、以上のリード処理、ライト処理、遅
延パリティ生成処理の説明においては、更新データ保持
手段およびログデータ保持手段に、各々1つずつのデー
タを保持するようにして説明した。更新データ保持手段
およびログデータ保持手段に複数のデータを保持する場
合、更新データ保持手段に保持された”更新データ”の
うち、各ディスク装置毎に隣接する”パリティアドレ
ス”に対応する”更新データ”をまとめて、遅延パリテ
ィ生成処理を行なうことで、処理の高速化を図ることが
できる。
【0070】ログデータ保持手段、更新データ保持手
段、旧データ保持手段は主記憶ではなく、アレイボード
200上や外部記憶装置上においてもよい。また、ログ
データ保持手段は磁気ディスク装置群390上において
もよい。
【0071】《具体例(リードモディファイライト処
理)》さてここでは、データの流れについて、図1を用
いて具体例を示す。図1の磁気ディスク装置301内
の”データ10”をリードモディファイライト処理する
動作について説明する。リードモディファイライト処理
とは、アプリケーションが、データを読み出し、修正し
た後、書き戻す処理である。
【0072】CPU101内のアプリケーションが、”
データ10”を要求すると、アドレス変換手段が”デー
タ10”の格納されている磁気ディスク装置の装置番号
とその磁気ディスク装置内の論理ブロックアドレスを算
出する(”データアドレス”)。この場合の”データア
ドレス”は、磁気ディスク装置301内の3番目の論理
ブロックである。旧データ検索手段は、”データアドレ
ス”を元に、旧データ保持手段内106内に”データ1
0”があるかを検索する。ここで、このシステムが、電
源投入された時点から一度も”データ10”を読み出し
ていない場合、旧データ保持手段106内には、”デー
タ10”は存在しない。よって、”データアドレス”の
示す、磁気ディスク装置301内の3番目の論理ブロッ
クから”データ10”を読み出す。この”データ10”
の内容を、”データ10”を要求したアプリケーション
に渡すと共に、旧データ保持手段106に”データアド
レス”と共に保持する。
【0073】アプリケーションは”データ10”を受け
取ると、”データ10”を修正した後、”データ10”
のライト処理を要求する。
【0074】ライト処理が発行されると、アドレス変換
手段が”データ10”の格納されている磁気ディスク装
置の装置番号とその磁気ディスク装置内の論理ブロック
アドレス(”データアドレス”)を算出する。また、”
データ10”を書き換えることによって変更されるパリ
ティが格納されている磁気ディスク装置の装置番号とそ
の磁気ディスク装置内の論理ブロックアドレスを算出す
る(”パリティアドレス”)。この場合の”データアド
レス”は、リード処理時と同じ、磁気ディスク装置30
1内の3番目の論理ブロックである。また、”パリティ
アドレス”は、磁気ディスク装置303内の9番目の論
理ブロック”P8ー11”である。
【0075】まず、”パリティアドレス”を基に、更新
データ検索手段が更新データ保持手段内に”データ1
0”に対応する”更新データ”があるか検索する。ここ
で、このシステムが電源投入した時点から一度も”デー
タ10”を書き込んでいない場合、更新データ保持手段
107内には、”データ10”に対応する”更新デー
タ”は存在しない。
【0076】次に、”データアドレス”を基に、旧デー
タ検索手段が旧データ保持手段106内に修正前の”デ
ータ10”があるか検索する(これを”旧データ10”
と呼ぶ)。”旧データ10”は先ほどのリード処理時に
旧データ保持手段106に保持されている。よって、”
旧データ10”を磁気ディスク装置からあらためて読み
出す必要がなく、磁気ディスク装置に対する処理を1回
削減できることになる。
【0077】更新データ生成手段1013は、この”旧
データ10”と修正された”データ10”(これを”新
データ10”と呼ぶ)の排他的論理和(XOR)をと
り、”更新データ”を生成する。この”更新データ”を
更新データ保持手段107に保持し、その後、”新デー
タ10”を、”データアドレス”の示す磁気ディスク装
置301内の3番目の論理ブロックに書き戻す。ま
た、”新データ10”を旧データ保持手段106に書き
込む。このとき、旧データ保持手段内にある”旧データ
10”に”新データ10”を上書きする。さらに、”デ
ータ10”に対応する”パリティアドレス”をログデー
タ保持手段108に保持する。このログデータ保持手段
108により、この場合、磁気ディスク装置303内の
9番目の論理ブロックのパリティに変更が必要であるこ
とを記録する。
【0078】上記リードモディファイライト処理のよう
に、本発明を用いたディスクアレイシステムでは、目的
のデータである”データ10”以外に対して、読み出し
/書き込み処理が発生していない。
【0079】さらに、本発明のディスクアレイシステム
では、上記アプリケーションのライト処理とは非同期
に、遅延パリティ生成処理が行われている。遅延パリテ
ィ生成手段は、各磁気ディスク装置の負荷状況や、更新
データ保持手段107の使用状況などを監視しており、
最適なタイミングで遅延パリティ生成処理を開始する。
【0080】先のアプリケーションからの”データ1
0”のライト処理のあと、一定の時間、磁気ディスク装
置に読み書きが発生しないと、遅延パリティ生成手段が
遅延パリティ生成処理を開始する。まず、更新データ検
索手段が更新データ保持手段107内に”更新データ”
があるか検索する。この例の場合、”データ10”に対
応する”更新データ”がある。遅延パリティ生成手段
は、ログデータ保持手段108から”データ10”の”
パリティアドレス”を取り出す。この”パリティアドレ
ス”の示す、磁気ディスク装置303内の9番目の論理
ブロックから”旧パリティ”を読み出し、更新データ保
持手段107内の”データ10”に対応する”更新デー
タ”と、”旧パリティ”の排他的論理和(XOR)を演
算し、”新パリティ”として、”パリティアドレス”の
示す、磁気ディスク装置303内の9番目の論理ブロッ
クへ書き戻す。これで、パリティは更新されたので、ロ
グデータ保持手段108からこのパリティの”パリティ
アドレス”である磁気ディスク装置303内の9番目の
論理ブロックの情報を消去する。
【0081】《具体例(隣接したパリティアドレスに対
応する”更新データ”をまとめた遅延パリティ更新処
理)》次に、遅延パリティ生成処理をまとめて処理を行
なうときの動作について説明する。遅延パリティ更新処
理が開始されると、更新データ検索手段が更新データ保
持手段107に”更新データ”があるかを検索する。こ
の”更新データ”の検索において、基準となる”更新デ
ータ”の”パリティアドレス”に隣接する(規定した範
囲に位置する)”パリティアドレス”に対応する”更新
データ”を捜し出す。隣接した”パリティアドレス”に
対応する”更新データ”があった場合には、これらの”
更新データ”をまとめて遅延パリティ更新処理を行な
う。
【0082】さて、ここでは、遅延パリティ生成処理を
まとめて行なう処理のデータの流れについて、図1と図
12、及び、図13を用いて具体例を示す。図12で
は、説明のために、更新データ保持手段の有するブロッ
ク数を4個としている。よって、ログデータ保持手段の
配列要素数も4個となる。ログデータ保持手段の各要素
は、それぞれ一対一に更新データ保持手段のブロックに
対応している。
【0083】図3に示したように、ライト処理が行なわ
れると、”更新データ”が生成され(915,92
2)、更新データ保持手段に格納される(916,92
3)。そして、”パリティアドレス”が、ログデータ保
持手段に格納される(919)。図1において、”デー
タ16”、”データ27”、”データ38”の順でライ
ト処理が起こったとすると、図12(b)に示すよう
に、更新データ保持手段には、”データ16”、”デー
タ27”、”データ38”の”更新データ”が更新デー
タ保持手段内のブロックにそれぞれ保持され、各対応す
るログデータ保持手段の各要素に”パリティアドレス”
などの情報が保持される。この例の場合に保持されるロ
グデータの”パリティアドレス”は、”データ16”
が、磁気ディスク装置301の論理ブロック9番目であ
り、”データ27”が、磁気ディスク装置304の論理
ブロック10番目であり、”データ38”が磁気ディス
ク装置301の論理ブロック10である。
【0084】次に、”データ0”、”データ5”の順に
ライトが起こると、図12(c)に示すように、”デー
タ0”の更新データを保持した時点で、更新情報保持手
段の有するブロックがいっぱいになってしまう。そこ
で、”データ5”のライトに伴う”更新データ”を保持
する前に、遅延パリティ生成処理を行なわなければなら
ない。
【0085】図13に示すように、遅延パリティ生成処
理(940)では、まず、ログデータ保持手段から1つ
めの”パリティデータ”を取り出してこのデータが示す
磁気ディスク番号およびその装置内のアドレスを”パリ
ティアドレス”の基準とする(942)。この例の場
合、ディスク装置301の論理ブロック9である。そし
て、ディスク装置番号が同じで、論理ブロック番号の隣
接する”パリティアドレス”をログデータ保持手段から
捜し出す(943)。この例の場合、ディスク装置30
1の論理ブロック10に対応する”更新データ”も保持
されている。よって、この2つの更新データをまとめて
遅延パリティ生成処理を行なう。
【0086】この場合の遅延パリティ生成処理は、ま
ず、ディスク装置301の論理ブロック9、及び、論理
ブロック10から”旧パリティ”を読みだし(94
4)、それぞれの”更新データ”と”旧パリティ”の排
他的論理和(XOR)を演算し、”新パリティ”を生成
する(945)。この”新パリティ”をディスク装置3
01の論理ブロック9、及び、論理ブロック10に書き
戻し(946)、ログデータ保持手段から削除する(9
47)。ログデータ保持手段から削除することで、更新
データ保持手段内のブロックも開放される。これによ
り、残っていた”データ5”のライト処理に伴う”更新
データ”を保持することができる。
【0087】ここで、ログデータ保持手段から基準とな
る、1つめの”パリティアドレス”を選択したが、選択
する1つの基準は、ログデータ保持手段に”パリティア
ドレス”と共に保持したタイムスタンプを利用している
(942)。つまり、ログデータ保持手段にある一番古
い”更新データ”から遅延パリティ生成処理を行なって
いる。
【0088】また、隣接する”パリティアドレス”に対
応する”更新データ”の検索方法(943)について
は、上記例のように論理ブロック番号が完全に連続にな
っていなくてもよく、例えば、基準となる論理ブロック
番号から±32論理ブロック以内に存在する論理ブロッ
クを検索する様なアルゴリズムでもよい。
【0089】《第2の実施例》図5に本発明を用いたデ
ィスクアレイシステムの第2の実施例の構成を示す。図
1に於ける第1の実施例との違いは、ディスク装置群3
90内のデータ領域391とパリティ領域392の配置
にある。図1に示したディスク装置群390は、1つの
データ領域391と1つのパリティ領域392で構成し
ているが、図5に示したディスク装置群390では、複
数の(図5では2つの)データ領域391と複数の(図
5では2つの)パリティ領域392で構成している。こ
のような構成に変えると、アドレス変換手段の演算方法
に変更が必要になるが、それ以外の手段について変更は
必要ない。
【0090】このような構成にすることで、データ領域
と、パリティ領域の物理的な位置付けを近付けることが
でき、遅延パリティ生成処理時間の短縮が可能である。
【0091】《第3の実施例》図6に本発明を用いたデ
ィスクアレイシステムの第3の実施例の構成を示す。本
ディスクアレイシステムは、大きく3つの部位で構成さ
れている。ホストシステム100と、アレイボード20
0と、アレイ状に配置された磁気ディスク装置群390
である(磁気ディスク装置301から305)。
【0092】ホストシステム100は、CPU101
と、セカンドキャッシュ102と、チップセット103
と、メインメモリ105とで構成されている。CPU1
01と、セカンドキャッシュ102と、チップセット1
03は、CPUバス104で接続している。メインメモ
リ105は、その内部に、旧データ保持部106と、更
新データ保持部107と、不揮発にしたログデータ保持
部108を有する構成である。また、チップセット10
3から拡張バス109が拡張されており、その拡張バス
上にバスインタフェース110を介して、SCSIイン
タエース111を有している。
【0093】アレイボード200は、SCSIコントロ
ーラ210で、ホスト100内のSCSIコントローラ
111と接続している。アレイボード200上には、M
PU202と、5つのSCSIコントローラ203と、
遅延パリティ生成手段211と、バッファ212と、M
PU202内のソフトウエアでパリティアドレス判定手
段を有している。
【0094】磁気ディスク装置群390は、5台の磁気
ディスク装置301から305で構成している。磁気デ
ィスク装置301から305は、それぞれSCSIイン
ターフェースを有し、前記アレイボード200上のSC
SIコントローラ203と、それぞれケーブルで接続し
ている。また、磁気ディスク装置群390は、ホストか
ら転送されるデータを保持するデータ領域391と、ア
レイディスクシステムに特有な冗長データであるパリテ
ィデータを保持するパリティ領域392とに分けてい
る。
【0095】ここで、本発明で設けた、旧データ検索手
段と、更新データ検索手段と、更新データ生成手段は、
CPU101内のソフトウエアとして実現している。ま
た、ディスクアレイシステムに特有な、データ分散/集
合を行うアドレス変換手段も、CPU101内のソフト
ウエアとして実現している。
【0096】このように、本実施例のディスクアレイシ
ステムも、ホストシステム100、アレイボード20
0、磁気ディスク装置群390のそれぞれの部位で実現
される機能の集合として動作するため、ディスクアレイ
システムとして分離することは意味をなさない。
【0097】ここで、図6の構成をとるディスクアレイ
システムでのリード処理(データ読み出し処理)と、ラ
イト処理(データの書き込み処理)は、第1の実施例と
基本的に同じである。ホストシステム100とアレイボ
ード200の接続が、第1の実施例の場合、拡張バス1
09に直結であったのに対し、第3の実施例の場合、S
CSIコントローラを用いて接続している。このため、
ホストシステム100とアレイボード200間のデータ
のやり取りが異なるだけである。但し、図6の構成を用
いると、遅延パリティ生成処理手段211をアレイボー
ド200上に設けてあるので、遅延パリティ生成処理方
法が異なる。
【0098】《遅延パリティ生成処理》遅延パリティ生
成処理を図6を用いて説明する。ライト処理とは非同期
に遅延パリティ生成処理が開始される。まず、更新デー
タ検索手段が、更新データ保持手段107内に”更新デ
ータ”があるか検索する。もし、”更新データ”がなけ
れば、遅延パリティ生成処理は終了する。”更新デー
タ”があれば、”パリティアドレス”を基に、”更新デ
ータ”をアレイボードに転送する。アレイボード上のM
PU202内で実現されるパリティアドレス判定手段
は、これから書き込もうとする論理アドレスが、データ
領域391であるのか、パリティ領域392であるのか
判定する。
【0099】このような設定において、”更新データ”
を転送すると、パリティアドレス判定手段は、パリティ
領域392に対する書き込みであることがわかる。そこ
で、遅延パリティ生成手段211は、ホストシステム1
00から転送された”更新データ”をバッファ212に
格納する。そして、”パリティアドレス”の示す論理ア
ドレスから”旧パリティ”を読み出し、”旧パリティ”
と”更新データ”の排他的論理和(XOR)を演算
し、”新パリティ”を生成する。この”新パリティ”
を”パリティアドレス”の示す論理アドレスに書き戻
す。”更新データ”のライトが終了すると、ホストシス
テム100では、ログデータ保持手段108から該当す
る”パリティアドレス”を削除する。
【0100】この図6の構成では、遅延パリティ生成処
理のほとんどを、アレイボード200上で行うため、第
1の実施例に比べて、ホストシステム100の処理負荷
を低減できる。
【0101】《第4の実施例》図7に本発明を用いたデ
ィスクアレイシステムの構成を示す。本ディスクアレイ
システムは、大きく3つの部位で構成されている。ホス
トシステム100と、アレイボード200と、アレイ状
に配置された磁気ディスク装置群390とである(磁気
ディスク装置311から320)。
【0102】ホストシステム100と、アレイボード2
00の構成、及び、基本的な働きは、第1の実施例と同
じである。但し、アドレス変換手段の演算方法に変更が
必要である。(もちろん、第3の実施例のようなホスト
システムと、アレイボードを用いても構成できる。)図
7の構成の特徴は、磁気ディスク装置群390におい
て、パリティ領域392だけで構成された磁気ディスク
装置316から320で列を構成している点である。よ
って、他の磁気ディスク装置311から315は、デー
タ領域391だけで列を構成している。
【0103】本発明の遅延パリティ生成方式を用いる
と、ライト処理時にデータ領域に対してのみアクセスが
発生することは、先に述べたとおりである。また、リー
ド処理時にも、データ領域に対してのみアクセスが起こ
る。このため、図7の構成において、アプリケーション
などの行うリード/ライト処理では、データ領域391
を構成する磁気ディスク装置311から315にたいし
てのみアクセスが発行される。これに対し、遅延パリテ
ィ生成処理では、”旧パリティ”の読み出し、”新パリ
ティ”の書き戻し共、パリティ領域392を構成する磁
気ディスク装置316から320に対しアクセスが発行
される。
【0104】上記記載のように、それぞれ、リード/ラ
イト処理、遅延パリティ生成処理でアクセスする領域が
異なる。よって、図7のように構成することで、リード
/ライト処理と、遅延パリティ生成処理を並行して行な
うことができる。
【0105】リード/ライト処理と、遅延パリティ生成
処理を並行して行えると、遅延パリティ生成処理中にリ
ード/ライト処理が発生しても、リード/ライト処理を
行うことができる。また、遅延パリティ生成処理を行う
タイミングの自由度を高くすることができる。このた
め、パリティ更新処理を高速化することができる。
【0106】《第5の実施例》図8に本発明を用いたデ
ィスクアレイシステムの第5の実施例の構成を示す。本
ディスクアレイシステムは、大きく3つの部位で構成さ
れている。ホストシステム100と、アレイボード20
0と、アレイ状に配置された磁気ディスク装置群390
である(磁気ディスク装置321から325)。
【0107】ホストシステム100は、CPU101
と、セカンドキャッシュ102と、チップセット103
と、メインメモリ105で構成している。CPU101
と、セカンドキャッシュ102と、チップセット103
は、CPUバス104で接続している。メインメモリ1
05は、その内部に、旧データ保持部106と、不揮発
にした更新データ保持部107と、不揮発にしたログデ
ータ保持部108を有する構成である。また、チップセ
ット103から拡張バス109を拡張している。アレイ
ボード200は、バスインタフェース201を用いて、
前記拡張バス109に接続している。また、アレイボー
ド200は、MPU202と、5つのSCSIコントロ
ーラ203で構成している。
【0108】磁気ディスク装置群390は、5台の磁気
ディスク装置321から325で構成している。磁気デ
ィスク装置321から325は、それぞれSCSIイン
ターフェースを有し、前記アレイボード200上のSC
SIコントローラ203と、それぞれケーブルで接続し
ている。また、磁気ディスク装置群390は、ホストか
ら転送されるデータを保持するデータ領域391だけを
有している。
【0109】ここで、本特許で設けた、旧データ検索手
段と、更新データ検索手段と、更新データ生成手段は、
CPU101内のソフトウエアとして実現している。但
し、本実施例の場合に限り、遅延パリティ生成手段を設
けていない。これは、更新データ生成手段で行う更新デ
ータ生成処理が、事実上、パリティ生成処理になるため
である。
【0110】また、ディスクアレイシステムに特有な、
データ分散/集合を行うアドレス変換手段は、CPU1
01内のソフトウエアとして実現している。
【0111】このように、本実施例のディスクアレイシ
ステムも、ホストシステム100、アレイボード20
0、磁気ディスク装置群390のそれぞれの部位で実現
される機能の集合として動作するため、ディスクアレイ
システムとして分離することは意味をなさない。
【0112】ここで、図8の構成をとるディスクアレイ
システムでのリード処理と、ライト処理とについて説明
する。さらに、本発明のディスクアレイシステムに特有
な遅延パリティ生成処理についても説明する。
【0113】《初期化》まず、図8の構成を取るディス
クアレイシステムを使用するときには、更新データ保持
部107の初期化を行わなければならない。磁気ディス
ク装置群390からストライプ毎にデータを読み出し、
対応する”更新データ”(パリティ)を生成し、更新デ
ータ保持部107に格納しておく必要がある。図8の実
施例においては、更新データ保持部107を不揮発とし
ているため、ディスクアレイシステムを構築するときに
一度だけ初期化を行えばよい。もし、更新データ保持部
を不揮発でなく構成した場合には、電源投入毎に初期化
処理を行う必要がある。また、図8の構成においても、
不慮の事故で、更新データ保持部107と、磁気ディス
ク装置321から325の整合性が取れなくなったとき
は、上記初期化処理を再度おこなう必要がある。
【0114】《リード処理》次に、リード処理につい
て、図8を用いて説明する。ホストシステム上のアプリ
ケーションなどからデータの読み出し命令が発行される
と、アドレス変換手段で目的のデータ”のデータアドレ
ス”を算出する。旧データ検索手段は、”データアドレ
ス”をもとに、目的のデータが旧データ保持手段106
内にあるかを検索する。もし、目的のデータが旧データ
保持手段106内にあれば、この旧データ保持手段10
6から目的データを転送し処理を終える。
【0115】もし、旧データ保持手段106内に目的の
データがなければ、”データアドレス”の示す論理アド
レスから目的のデータを読み出す。読み出された目的の
データは、読み出し命令を発行したアプリケーションに
渡されると共に、旧データ保持手段106に保持され処
理が終了する。
【0116】《ライト処理》ライト処理について、図8
を用いて説明する。ホストシステム上のアプリケーショ
ンなどからデータの書き込み命令が発行されると、アド
レス変換手段が”新データ”の”データアドレス”を算
出する。また、更新データ検索手段が、更新データ保持
手段107内から、”新データ”に対応する”更新デー
タ”を捜し出す。更新データ保持手段107は、磁気デ
ィスク装置321から325までの全てのデータに対す
る更新データを保持しているので、必ず”新データ”に
対応する”更新データ”を見つけることができる。
【0117】まず、旧データ検索手段は、”データアド
レス”を元に、旧データ保持手段106内に”旧デー
タ”があるか検索する。もし、”旧データ”がない場合
には、”データアドレス”の示す論理ブロックから”旧
データ”を読み出す。
【0118】更新データ生成手段1013は、”旧デー
タ”と”新データ”と”更新データ”の排他的論理和
(XOR)から新しい”更新データ”を作成し、更新デ
ータ保持手段107内に上書きする。
【0119】その後、”新データ”を、”データアドレ
ス”の示す論理ブロックにデータを書き込むと共に、旧
データ保持手段106内に”新データ”を保持する。
【0120】図8のような構成を取ることで、更新デー
タ生成処理が、事実上の、パリティ更新処理になり、遅
延パリティ生成処理を行う必要がない。また、全てのデ
ータに対する全ての”更新データ”が、ホストシステム
100のメインメモリ105内の更新データ保持手段1
07にあるため、更新データ生成処理が高速化される。
【0121】《第6の実施例》図9に本発明の第6の実
施例を用いたディスクアレイシステムの構成を示す。本
ディスクアレイシステムは、大きく3つの部位で構成さ
れている。ホストシステム100と、アレイボード20
0と、アレイ状に配置されたディスク装置群390であ
る(磁気ディスク装置351から360)。
【0122】ホストシステム100と、アレイボード2
00の構成、及び、基本的な働きは、第1の実施例と同
じである。但し、アドレス変換手段の演算方法に変更が
必要である。(もちろん、第3の実施例のようなホスト
システムと、アレイボードを用いても構成できる。) 図9の構成は、磁気ディスク装置390において、多列
で構成(図9の場合、2列構成)したものである。第1
列は、磁気ディスク装置351から355で構成してい
る。第2列は、磁気ディスク装置356から360で構
成している。第1列、第2列とも、それぞれ、データ領
域391と、パリティ領域392を設けている。そし
て、第1列のデータ領域に格納されるデータのパリティ
は、第2列のパリティ領域に格納し、第2列のデータ領
域に格納されるデータのパリティは、第1列のパリティ
領域に格納する。
【0123】第4の実施例でも述べたが、本発明の遅延
パリティ生成方式を用いると、ライト処理時にデータ領
域に対してのみアクセスが発生する。また、リード処理
時にも、データ領域に対してのみアクセスが起こる。こ
のため、例えば、図9の構成において、アプリケーショ
ンなどの行うリード/ライト処理が第1列に対して行わ
れると、データ領域391を構成する磁気ディスク装置
351から355に対してのみアクセスが発行される。
【0124】これに対し、第1列のデータに対し、遅延
パリティ生成処理を行うときには、”旧パリティ”の読
み出し、”新パリティ”の書き戻し共、パリティ領域3
92を構成する第2の磁気ディスク装置356から36
0に対しアクセスが発行される。
【0125】上記記載のように、それぞれ、リード/ラ
イト処理、遅延パリティ生成処理時にアクセスする領域
が異なる。このため、図9のような多列構成時には多重
度が増し、パリティ更新処理の高速化が見込まれる。
【0126】
【発明の効果】本発明によれば、データの書き込みと、
パリティの更新を非同期で行うことができるため、書き
込み時の処理速度の低下を低減することができる効果を
奏する。
【0127】また本発明によれば、ログデータ保持手段
を不揮発にすることにより比較的安価に耐電源障害性を
もったシステムを構築することができる効果を奏する。
【0128】また本発明によれば、Flat-Left-Symmetri
c方式のパリティ配置を用いた場合、更に書き込み時に
パリティが分離されていることによる処理速度の低下を
低減させることができる効果を奏する。
【0129】また本発明によれば、パリティ更新処理を
行うときも、遅延パリティ更新手段が、更新データ保持
手段内の更新データをまとめてパリティ領域に転送する
ので、パリティ更新処理自体を高速化することができ
る。
【0130】また本発明によれば、多列でアレイを構成
したとき、データを格納する列と、パリティを格納する
列を違えることで、データの書き込みに対応する列と、
パリティ更新に対応する列とが異なるため、データの書
き込み処理と、パリティ更新処理を並列して行うことが
でき、多列構成時のパリティ更新処理を高速化すること
ができる。
【0131】また本発明によれば、ソフトウエアによる
RAID機能を実現したことによりホスト側のCPUパ
ワーを有効に活用でき、しかも主メモリをキャッシュと
して利用でき、更に小容量向けにアレイボードのSCS
Iチャンネル数を限定することにより構成を簡素化して
大幅な原価低減を図ることができる効果を奏する。
【0132】また本発明によれば、ホスト内部バスをア
レイボードのバスにインターフェースを介して直結した
ホスト内部バス直結方式により、データ転送速度の高速
化とSCSI処理オーバヘッドの削減を図ることができ
る効果を奏する。
【図面の簡単な説明】
【図1】第1の実施例によるディスクアレイシステムの
ブロック図である。
【図2】第1の実施例におけるリード処理フロー図であ
る。
【図3】第1の実施例におけるライト処理フロー図であ
る。
【図4】第1の実施例における遅延パリティ生成処理フ
ロー図である。
【図5】第2の実施例によるディスクアレイシステムの
ブロック図である。
【図6】第3の実施例によるディスクアレイシステムの
ブロック図である。
【図7】第4の実施例によるディスクアレイシステムの
ブロック図である。
【図8】第5の実施例によるディスクアレイシステムの
ブロック図である。
【図9】第6の実施例によるディスクアレイシステムの
ブロック図である。
【図10】RAIDレベル3とRAIDレベル5とFlat
-Left-Symmetric方式に於けるパリティ配置説明図であ
る。
【図11】更新データ保持手段およびログデータ保持手
段の説明図である。
【図12】更新データが複数保持されている場合の遅延
パリティ生成処理の説明図である。
【図13】更新データが複数保持されている場合の遅延
パリティ生成処理のフロー図である。
【図14】CPU101の機能ブロック図である。
【図15】従来のリード処理フロー図である。
【図16】従来のライト処理フロー図である。
【図17】従来のディスクアレイシステムのブロック図
である。
【符号の説明】
100…ホストシステム、101…CPU、102…セ
カンドキャッシュ 103…チップセット、104…CPUバス、105…
メインメモリ 106…旧データ保持手段、107…更新データ保持手
段 108…ログデータ保持手段、109…拡張バス 110…バスインタフェース、111…SCSIコント
ローラ 200…アレイボード、201…バスインタフェース、
202…MPU 203…SCSIコントローラ、210…SCSIコン
トローラ 101(1014)、211…遅延パリティ生成手段 101(1013)…更新データ生成手段 101(1015)…アドレス変換手段、212…バッ
ファ 310…SCSIコントローラ、390…磁気ディスク
装置群 391…データ領域、392…パリティ領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松並 直人 神奈川県横浜市戸塚区吉田町292番地株 式会社日立製作所マイクロエレクトロニ クス機器開発研究所内 (72)発明者 本田 聖志 神奈川県横浜市戸塚区吉田町292番地株 式会社日立製作所マイクロエレクトロニ クス機器開発研究所内 (72)発明者 秋山 仁 神奈川県横浜市戸塚区吉田町292番地株 式会社日立製作所マイクロエレクトロニ クス機器開発研究所内 (72)発明者 荒川 敬史 神奈川県横浜市戸塚区吉田町292番地株 式会社日立製作所マイクロエレクトロニ クス機器開発研究所内 (72)発明者 吉田 稔 神奈川県小田原市国府津2880番地株式会 社日立製作所ストレージシステム事業部 内 (72)発明者 八木沢 育哉 神奈川県川崎市麻生区王禅寺1099番地株 式会社日立製作所システム開発研究所内 (56)参考文献 特開 平5−46324(JP,A) 特開 平4−312146(JP,A) 特開 平4−245352(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】並列に動作し、データを格納するデータ領
    域と、該データに対応する冗長データを格納するパリテ
    イ領域とを有し、アレイ状に配置された複数のデイスク
    装置と、該複数のデイスク装置の各々へのデータのアク
    セスを制御するデイスク制御装置と、該デイスク制御装
    置に対して前記複数のデイスク装置の各々へのアクセス
    を指示するホストコンピュータとを備えたアレイ型デイ
    スクシステムであって、 前記デイスク装置内のアドレスへの最初の書き込み時
    に、書き込み前後のデータの排他的論理和を算出して更
    新データを生成し、前記デイスク装置内のアドレスへの
    再度の書き込み時には、書き込み前後のデータと前記更
    新データとの排他論理和を算出して新たな更新データを
    生成する更新データ生成手段と、 前記更新データ生成手段で生成された更新データを保持
    する更新データ保持手段と、 前記アドレスのデータに対する冗長データが格納されて
    いるアドレスであるパリテイアドレスをログデータとし
    て前記更新データと対応付けて保持するログデータ保持
    手段と、 前記デイスク制御装置へのデータの書き込み処理と非同
    期に、前記ログデータに基づいて前記更新データに対応
    する冗長データを前記デイスク装置から読み出して該冗
    長データと前記更新データとの排他論理和に基づいて生
    成される新冗長データを前記ログデータに基づいて前記
    デイスク装置内へ書き込む遅延パリテイ生成手段とを備
    えることを特徴とするアレイ型デイスクシステム。
  2. 【請求項2】過去にアクセスを行なった前記複数のデイ
    スク装置のデータ領域内のデータを旧データとして該デ
    ータのアクセスアドレスと対応させて保持する旧データ
    保持手段を備え、 前記更新データ生成手段は、前記旧データ保持手段に保
    持されている旧データを前記書き込み前のデータとする
    ことを特徴とする請求項1に記載のアレイ型デイスクシ
    ステム。
  3. 【請求項3】前記遅延パリテイ生成手段は、前記ログデ
    ータに基づいて、パリテイアドレスが予め定められた近
    接範囲内にある複数の更新データの各々に対応する複数
    の冗長データを前記デイスク装置から読み出して、該複
    数の冗長データと前記複数の更新データとの排他論理和
    により複数の新冗長データを生成して該複数の新冗長デ
    ータを前記ログデータに基づいて前記デイスク装置に書
    き込むように構成したことを特徴とする請求項1に記載
    のアレイ型デイスクシステム。
  4. 【請求項4】前記複数のデイスク装置の各々に含まれる
    複数のアクセス単位を列とみなし、前記予め定められた
    近接範囲は、同一列上の予め定められたアクセス単位数
    以内の近傍範囲であることを特徴とする請求項3に記載
    のアレイ型デイスクシステム。
JP6148983A 1993-03-08 1994-06-30 アレイ型デイスクシステム Expired - Fee Related JP3011020B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6148983A JP3011020B2 (ja) 1993-09-27 1994-06-30 アレイ型デイスクシステム
US08/312,791 US5761402A (en) 1993-03-08 1994-09-27 Array type disk system updating redundant data asynchronously with data access
US08/964,227 US5958067A (en) 1993-03-08 1997-11-04 Array type disk system updating redundant data asynchronously with data access

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-239910 1993-09-27
JP23991093 1993-09-27
JP6148983A JP3011020B2 (ja) 1993-09-27 1994-06-30 アレイ型デイスクシステム

Publications (2)

Publication Number Publication Date
JPH07141123A JPH07141123A (ja) 1995-06-02
JP3011020B2 true JP3011020B2 (ja) 2000-02-21

Family

ID=26479007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6148983A Expired - Fee Related JP3011020B2 (ja) 1993-03-08 1994-06-30 アレイ型デイスクシステム

Country Status (1)

Country Link
JP (1) JP3011020B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077458A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP5245472B2 (ja) * 2008-03-13 2013-07-24 富士通株式会社 制御方法、ディスクアレイ装置
US8799746B2 (en) * 2012-06-13 2014-08-05 Caringo, Inc. Erasure coding and replication in storage clusters

Also Published As

Publication number Publication date
JPH07141123A (ja) 1995-06-02

Similar Documents

Publication Publication Date Title
US5958067A (en) Array type disk system updating redundant data asynchronously with data access
US5799140A (en) Disk array system and method for storing data
US5650969A (en) Disk array system and method for storing data
US5309451A (en) Data and parity prefetching for redundant arrays of disk drives
JP2902970B2 (ja) ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
JP3011035B2 (ja) 計算機システム
US6049890A (en) Disk array system and its control method
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US6918007B2 (en) Memory controller interface with XOR operations on memory read to accelerate RAID operations
US5651132A (en) Disk array control system
US5875460A (en) Disk array subsystem and data generation method therefor
US20080091916A1 (en) Methods for data capacity expansion and data storage systems
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP3011020B2 (ja) アレイ型デイスクシステム
JPH07261946A (ja) アレイ型記憶装置
JP2001043031A (ja) 分散パリティ生成機能を備えたディスクアレイ制御装置
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
JP2743730B2 (ja) アレイ型記憶装置システム
JPH09218754A (ja) データ記憶システム
US7246259B2 (en) Method of calculating parity for surviving dual drive failures in a disk array
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置
JP3220581B2 (ja) アレイ形式の記憶装置システム
KR100321987B1 (ko) 레이드 시스템에서 패러티 캐쉬 및 이의 운영 방법
JP3122252B2 (ja) ディスクアレイ制御方式
JP3250859B2 (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置

Legal Events

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