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

ディスクアレイ装置

Info

Publication number
JP2001051806A
JP2001051806A JP11222078A JP22207899A JP2001051806A JP 2001051806 A JP2001051806 A JP 2001051806A JP 11222078 A JP11222078 A JP 11222078A JP 22207899 A JP22207899 A JP 22207899A JP 2001051806 A JP2001051806 A JP 2001051806A
Authority
JP
Japan
Prior art keywords
data
disk
parity
write
buffer
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
JP11222078A
Other languages
English (en)
Inventor
Yoshiyuki Ota
善之 太田
Katsuhiko Nishikawa
克彦 西川
Takahiro Aoki
隆浩 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11222078A priority Critical patent/JP2001051806A/ja
Publication of JP2001051806A publication Critical patent/JP2001051806A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明はディスクアレイ装置に関し、RAID
4、RAID5のディスクアレイにおいて、書き込み時
のオーバーヘッドやリード性能などを改善する。また、
ファイルの世代管理を効率良く行えるようにする。 【解決手段】ホストからのライト要求のデータ同士の排
他的論理和を算出してパリティデータを求めるパリティ
処理部19と、ホストからのライト要求のデータを一時
的に保持し、ダブルバッファ構成をとる第1、第2のま
とめ書きバッファ21、22と、まとめ書きバッファ内
にストライプを構成する全てのデータが書き込まれるま
でパリティデータを保持するパリティバッファと、論理
アドレスと物理アドレスとの対応を保持するアドレス変
換テーブルと、まとめ書きバッファ内のデータを、論理
アドレスをキーにしてソートする論理アドレスソート部
18とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置と前記ディスク装置を並列的に動作させてデータの読
み出し/書き込み制御を行うディスクアレイ制御装置を
備えたRAIDレベル4又はRAIDレベル5のディス
クアレイ装置に関する。
【0002】
【従来の技術】以下、従来例を説明する。
【0003】§1:ディスクアレイ装置の説明・・・図
6参照 図6は従来のディスクアレイ装置の説明図である。ディ
スクアレイ装置は内蔵した複数の磁気ディスク装置(ハ
ードディスク装置)を並列動作させることで、データの
読み出し/書き込み速度の高速化を図り、かつ冗長構成
の導入によって信頼性を向上させた外部記憶装置、或い
は補助記憶装置である。なお、以下の説明では、前記磁
気ディスク装置(又はハードディスク装置)を単に「デ
ィスク装置」と記す。
【0004】図6に示したように、ディスクアレイ装置
は、ディスクアレイ制御装置2と、複数のRAID(詳
細は後述する)を構成するディスク装置6−1、6−
2、6−3・・・6−m、6−n(n=m+1)で構成
されている。また、ディスクアレイ制御装置2には、ホ
ストアダプタ3と、ディスクアレイコントローラ4と、
複数のデバイスアダプタ(DA)5−1、5−2、5−
3・・・5−m、5−nが設けてある。そして、デバイ
スアダプタ5−1〜5−nには、それぞれ各ディスク装
置6−1〜6−nが接続されている。
【0005】前記ディスクアレイ装置はホスト1に接続
されて運用されるが、この場合、ホスト1とディスクア
レイ制御装置2のホストアダプタ3間をインターフェー
スケーブル(例えば、SCSI−2用ケーブル)により
接続する。ホストアダプタ3はホスト1に対するインタ
ーフェース制御を行うものであり、ディスクアレイコン
トローラ4は、データのリード/ライト時の各種制御等
を行うものである。デバイスアダプタ(DA)5−1〜
5−nは、データのリード/ライト時にディスクアレイ
コントローラ4の指示によりディスク装置6−1〜6−
nに対する制御を行うものである。
【0006】ディスクアレイ装置はホスト1から見ると
1台のディスク装置に見える。このディスクアレイ装置
では、例えば、ホストアダプタ3がホスト1から送られ
たデータを受信すると、そのデータをディスクアレイコ
ントローラ4へ送る。そして、ディスクアレイコントロ
ーラ4は、例えば、前記データを複数のデータに分割
し、デバイスアダプタ5−1〜5−mを介して複数のデ
ィスク装置6−1〜6−m(データ用ディスク装置)に
格納すると共に、前記データに対するパリティデータを
作成し、デバイスアダプタ5−nを介して残りの1台の
ディスク装置6−n(パリティ用ディスク装置)に格納
する。
【0007】このようにディスクアレイ装置は、大きな
サイズのデータを複数のディスク装置に同時に書き込ん
だり、或いは複数のディスク装置から同時に読み出した
りすることで1台のディスク装置よりもリード/ライト
の高速化を実現し、かつデータの信頼性を向上させるこ
とができる。従って、装置の高性能化を図ることができ
るものである。
【0008】§2:RAIDの説明 前記ディスクアレイ装置は、複数のディスク装置(ハー
ドディスク装置)を使用することにより、単独のディス
ク装置よりも高い信頼性と性能を実現する方式である。
これは、1987年に米国のカリフォルニア大学バーク
レイ校のデビッド.A.パターソン(David.A.Patterso
n) 教授らが提唱したRAID(Redundant Arrays of I
nexpensive Disks )と呼ばれるものである。すなわ
ち、前記RAIDは前記デビッド.A.パターソン教授
らの論文に由来する呼び方である。
【0009】前記のように、高速に大量のデータを多く
のディスク装置にアクセスし、ディスク故障時における
データの冗長性を実現するディスクアレイ方式RAID
は、1から5までのレベル(以下、前記レベルをRAI
D1、RAID2、RAID3、RAID4、RAID
5とも記す)に分類されており、レベル3からレベル5
(RAID3、RAID4、RAID5)には、ディス
ク装置の故障時にデータを回復させるためのパリティデ
ータを保持する。
【0010】前記RAIDのレベルの中でも、レベル4
(RAID4)、レベル5(RAID5)では、複数の
同時読み出しが可能であり、更に、レベル5(RAID
5)においては、パリティを格納するディスク装置を固
定しないことで、複数の同時書き込みをも可能としてお
り、大量のトランザクション処理において効果を発揮す
る。
【0011】§3:RAIDのレベルの説明・・・図7
参照 図7はRAIDのレベル説明図であり、図はRAID
3、4のデータ転送(書き込み)、図はRAID5の
データ転送(書き込み)を示した図である。なお、図7
において、3はホストアダプタ、4はディスクアレイコ
ントローラ、A、B、C、D、Eはそれぞれデバイスア
ダプタ(DA)、6−1〜6−5はディスク装置であ
る。
【0012】(1) :RAID1の説明 RAID1は、ディスク装置を二重化した、いわゆるミ
ラードディスク構成である。すなわち、2つのディスク
装置に同じデータが書かれる。ディスク装置のコストが
2倍かかるが、最もシンプルで実績もある。性能に関し
ては、データの書き込み時は、2つのディスク装置への
書き込み完了を待つために実行時間が少し延びるが、デ
ータの読み取り時は、2つのディスク装置のどちらかが
空いていれば原理上は実行可能なので、性能向上とな
る。
【0013】(2) :RAID2の説明 RAID2は、入力データを分割し(ストライピン
グ)、インターリーブをかけて複数のディスク装置に分
割して格納するものである。この場合、前記分割したデ
ータに対するエラー訂正符号を格納するディスク装置を
冗長ディスク装置とし、前記冗長ディスク装置のデータ
をハミングコードとしたものである。
【0014】RAID2では、例えば、データ格納用の
ディスク装置が4台の場合、エラー訂正符号用のディス
ク装置は3台必要である。ディスク装置の特徴として
は、複数のディスク装置障害でもデータが失われないこ
とである。そのために、前記のように、複数の冗長ディ
スク装置を必要とし、正味のデータ量が少なくなるとい
う欠点がある。
【0015】(3) :RAID3の説明・・・図7の図
参照 RAID3は、入力データを分割し(ストライピン
グ)、インターリーブをかけて分割したデータを複数の
ディスク装置に分散して格納するものである。この場
合、前記分割したデータに対するエラー訂正符号を格納
するディスク装置を冗長ディスク装置とし、前記冗長デ
ィスク装置のデータをパリティデータとしたものであ
る。
【0016】このため、RAID3ではデータ用のディ
スク装置の数に関わらず、前記冗長ディスク装置(パリ
ティデータ用ディスク装置)の台数は1台で済む。例え
ば、RAID3では、図7の図に示したように、デー
タを複数のディスク装置6−1〜6−4に対して並列的
にリード/ライトするもので、1台のパリティ用ディス
ク装置6−5を持つことを特徴としている。
【0017】データ転送速度は、並列度によりN倍
(N:並列動作させるデータ用ディスク装置の台数)と
なる。また、1台のディスク装置に障害が発生しても、
性能低下はなく、原理的にはデータ転送中に障害が発生
しても、そのまま動作することも可能である。
【0018】(4) :RAID4の説明・・・図7の図
参照 RAID4は、RAID3におけるストライピングユニ
ット(分割単位)をセクタ単位(1又は数セクタ)とし
たものである。すなわち、前記RAID3では、複数の
ディスク装置を束ねてアクセスするため、ある程度大き
な単位でアクセスする時は性能上の効果が見られるが、
小さなデータ量のアクセスでは、個々のディスク装置に
アクセスを分散させた方が性能上有利である。
【0019】このことから、RAID4では、データは
各ディスク装置に独立に書くが、パリティディスク装置
を持ち、各ディスク装置の対応するビットから生成され
たパリティを格納する。そのため、1台のディスク装置
の障害でも、データが失われない。欠点は、データ更新
時に、必ずデータディスク装置とパリティディスク装置
の両方をアクセスしなければならないことで、この場合
のパリティディスク装置がボトルネックに成りやすい。
【0020】(5) :RAID5の説明・・・図7の図
参照 RAID5は、RAID4の欠点であったパリティディ
スク装置へのアクセス集中を解消するために、パリティ
データを各ディスク装置6−1〜6−5に分散させたも
のである。しかし、依然としてデータの更新時には2つ
のディスクアレイ装置をアクセスしなければならない
し、パリティデータは、原理上、旧データとの差分をと
らなければ生成できないので、リード(読み出し)、デ
ータ生成、ライト(書き込み)というプロセスを取る必
要がある。
【0021】更に、パリティデータによって、データ喪
失は事実上なくなったと言えるが、1台のディスクアレ
イ装置が故障した場合は、少なくとも元の装置性能を維
持することができない。故障したディスクアレイ装置の
データを作り出すのに、残ったディスクアレイ装置のデ
ータを総動員するからである。従って、ノンストップシ
ステムのように、ディスクアレイ装置の障害でシステム
を止めたくないものには向かない。
【0022】前記RAID5のデータ転送(書き込み)
の1例は図7の図に示した通りである。図におい
て、P0、P1、P2、P3はパリティであり、パリテ
ィ生成のセクタグループ毎にパリティを格納するディス
ク装置を異ならせている。なお、RAID5でもRAI
D4と同様にストライピングユニットはセクタ単位(1
又は数セクタ)である。
【0023】(6) :その他の説明 前記RAID4及びRAID5として規定されているデ
ィスクアレイ装置のアクセス方法の中で、例えば、デー
タをブロック単位で分割し、その分割したデータをアレ
イを構成する各ディスクに分散させて記憶するものがあ
る。この場合、1つのディスクの故障の際に、データを
復元するため、分散させて記憶したデータの排他的論理
和を計算し、パリティデータとして別ディスクに記憶し
ている。
【0024】このRAID4、5のディスクアレイに対
し、データ更新のための書き込みを行う場合、該当する
旧データとそれに対応するパリティデータを一度読み出
し、更新データを書き込むと共に、新たなパリティデー
タを計算して書き込みを行う必要がある。この為、通常
の単体ディスクに対するデータ書き込みに比べ、余分な
ディスクアクセスが必要になる(ライトペナルティ)。
【0025】§4:LFS、及びWAFLの説明・・・
図8参照 図8はWAFLの説明図である。前記のように、RAI
Dアレイでは、並列アクセスにより外部記憶装置のスル
ープットの向上を図っているが、RAID4、RAID
5では、上記のライトペナルティ(前記の余分なディス
クアクセス)の存在により書き込み時のオーバーヘッド
が大きくなってしまうという問題がある。これに対し
て、LFS(Log-Structured File System)、或いはW
AFL(Write Anywhere File Layout)と呼ばれる技術
がある。
【0026】前記LFS及びWAFLでは、各々のライ
ト要求のデータ、例えば、nKB単位のライトデータd
1、d2、d3、d4、d5、d6・・・を、新規、更
新に関わらず、一旦ディスクコントローラ内のまとめ書
きバッファ10に格納し、ホストへレスポンスを返す。
【0027】その後、まとめ書きバッファ10がフル
(満杯)になった時点で、一括してディスク内の連続領
域に格納する。この場合、パリティデータは、まとめ書
きバッファ10に次々と格納されていくnKB単位のラ
イトデータd1、d2、d3、d4、d5、d6・・・
間で作成する。
【0028】また、アドレス変換テーブル9内には、ホ
ストから指定された論理的なディスク内のアドレス(論
理アドレス)と実際にデータが記憶される物理アドレス
との対応を格納しておく。そして、過去にディスクに格
納したデータに対する更新ライト要求があった場合に
は、アドレス変換テーブル9内の論理アドレスに対応す
る物理アドレスを変更し、略同じ時期に発せられる他の
新たなライト要求データと共に、旧データとは別のアド
レスに格納する。なお、前記LFS、及びWAFLに関
する詳細な説明は、次の参考資料に記載されている。
【0029】:参考資料1:Ousterhout, J.,et a
l.,"Beating the I/O Bottleneck:A Case for Log Stru
ctured File Systems," Computer Science Division(EE
CS),University of California, Berkeley, UCB/CSD 88
/467, October 1988. :参考資料2:Seltzer,M.,et al.,"An Implementati
on for a Log-Structured File System for UNIX," 199
3 Winter USENIX,Jan.1993.
【0030】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。
【0031】(1) :アレイディスク装置のRAID4、
RAID5では、ライトペナルティの存在により、書き
込み時のオーバーヘッドが大きくなってしまう、という
課題がある。
【0032】(2) :LFS、或いはWAFLでは、ホス
トからバラバラに発生されるライト要求をバッファし、
一括してディスクへライトすることで、各々のライト要
求に対するシーク時間を短縮することができる。しか
し、まとめ書きバッファにデータを格納した時点でホス
トへレスポンスを返してしまうので、その後、ライトデ
ータをディスクに格納するまで、データを保持しなけれ
ばならない。従って、まとめ書きバッファにはコストが
割高なNVRAM(Non Volatile Ram)等の不揮発性メ
モリを使用しなければならない。
【0033】また、ファイル(ディスク内データ)の一
部を更新すると、更新データは旧データとは別の物理ア
ドレスに格納されるため、同一ファイルのデータがディ
スク内に分散されて格納され、リード性能が悪くなる可
能性がある。
【0034】本発明は、このような従来の課題を解決
し、RAID4、RAID5のディスクアレイにおい
て、書き込み時のオーバーヘッドやリード性能などを改
善することを目的とする。
【0035】また、本発明は、ディスクに格納されてい
るファイルが更新された際に、旧データを効率良く格納
し、バックアップやファイルの操作ミスでファイルを破
壊した際の復旧のために、旧データを保持し管理するフ
ァイルの世代管理を効率良く行えるようにすることを目
的とする。
【0036】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明は前記の目的を達成するため、次のよ
うに構成した。
【0037】(1) :複数のディスク装置6と、各ディス
ク装置6との間でデータの書き込み/読み出し制御を行
うディスクアレイ制御装置2を備え、該ディスクアレイ
制御装置2により、ブロック単位の分割データを複数の
ディスク装置6に分散させて格納し、該分割データから
求めたパリティデータをいずれかのディスク装置6に格
納するディスクアレイ装置(RAID4、又はRAID
5)において、ホストからのライト要求のデータ同士の
排他的論理和を算出してパリティデータを求めるパリテ
ィ処理部19と、ホストからのライト要求のデータを一
時的に保持し、ダブルバッファ構成をとる第1、第2の
まとめ書きバッファ21、22と、前記まとめ書きバッ
ファ内に、ストライプを構成する全てのデータが書き込
まれるまでパリティデータを保持するパリティバッファ
23と、ホストから指定された論理アドレスと、実際に
データが格納されるディスク内の物理アドレスとの対応
情報を保持するアドレス変換テーブル(アドレス変換部
20内のテーブル)と、前記まとめ書きバッファ内のデ
ータを、前記論理アドレスをキーにしてソートする論理
アドレスソート部18とを備えている。
【0038】(2) :前記(1) のディスクアレイ装置にお
いて、ホストからのライトデータを、前記いずれか一方
のまとめ書きバッファに、新規、更新に関わらず到着順
に格納する第1の制御手段と、該まとめ書きバッファが
フルになった時刻以降に、前記まとめ書きバッファ内の
データを格納するディスクと同一ディスクに対してリー
ド要求が発生した際、該当するリードデータが格納され
ているディスク上の位置の近傍に、前記まとめ書きバッ
ファ内の全データを格納する空き領域があるかどうかを
判断し、前記空き領域があれば、その空き領域にシーク
無しで、前記フルになったまとめ書きバッファのライト
データを格納する第2の制御手段を備えている。
【0039】(3) :複数のディスク装置6と、各ディス
ク装置6を並列的に動作させることでデータの書き込み
/読み出し制御を行うディスクアレイ制御装置2を備
え、該ディスクアレイ制御装置2により、ブロック単位
の分割データを複数のディスク装置6に分散させて格納
し、該分割データから求めたパリティデータを、いずれ
かのディスク装置6に格納するディスクアレイ装置(R
AID4、又はRAID5)において、ホストから更新
ライト要求が発生した際にリードされた、対応するディ
スク内の更新前データとパリティデータから、更新後の
パリティを算出するパリティ処理部19と、ディスクか
らリードされた更新前データを、そのディスク内のアド
レス値と共に格納する更新前データバッファと、ディス
クから更新前データとパリティをリードした後、ディス
ク媒体が少なくとも1周した際にディスク上の同一位置
に更新後のデータ及び更新後のパリティを格納し、更新
前データバッファがフルになった際にバッファ内のデー
タをディスクに格納する世代管理部を備えている。
【0040】(4) :前記(3) のディスクアレイ装置にお
いて、前記世代管理部は、ホストから更新ライト要求が
発生した際に、ディスクから対応する更新前データと、
パリティをリードして前記パリティ処理部に更新後のパ
リティを算出させ、ディスクから更新前データとパリテ
ィをリードした後、ディスク媒体が少なくとも1周した
際にディスク上の同一位置に更新後のデータ及びパリテ
ィを格納し、ディスクからリードした更新前データを、
そのディスク内のアドレス値と共に前記更新前データバ
ッファに格納し、該更新前データバッファがフルになっ
た際に該バッファ内のデータをディスク内の連続領域に
格納する制御手段を備えている。
【0041】(作用)前記構成に基づく本発明の作用
を、図1に基づいて説明する。
【0042】(a) :前記(1) では、第1のまとめ書きバ
ッファ21と、第2のまとめ書きバッファ22と、パリ
ティ処理部19と、パリティバッファ23と、アドレス
変換テーブル(アドレス変換部20内のテーブル)と、
論理アドレスソート部18とを備え、ホストからライト
要求が発せられると、パリティ処理部19によりパリテ
ィ計算し、ライトデータはまとめて、第1のまとめ書き
バッファ21、又は第2のまとめ書きバッファ22のい
ずれか一方に蓄積し、パリティデータはパリティバッフ
ァ23に格納する。
【0043】この時、アドレス変換部20は、ホストが
指定した論理アドレスと、そのアドレスに対応した物理
アドレスとをアドレス変換テーブルにセットする。そし
て、前記いずか一方のまとめ書きバッファがフルになっ
たら、該まとめ書きバッファのデータをディスクへ格納
するが、この時、該フルになったまとめ書きバッファの
データを、論理アドレスソート部18によりソートして
から格納する。
【0044】このようにすれば、RAID4、RAID
5のディスクアレイにおいて、書き込み時のオーバーヘ
ッドやリード性能などを改善することが可能になる。
【0045】(b) :前記(2) では、第1の制御手段は、
ホストからのライトデータを、いずれか一方のまとめ書
きバッファに、新規、更新に関わらず到着順に格納す
る。そして、第2の制御手段は、前記まとめ書きバッフ
ァがフルになった時刻以降に、まとめ書きバッファ内の
データを格納するディスクと同一ディスクに対してリー
ド要求が発生した際、該当するリードデータが格納され
ているディスク上の位置の近傍に、前記まとめ書きバッ
ファ内の全データを格納する空き領域があるかどうかを
判断し、前記空き領域があれば、その空き領域にシーク
無しで前記フルになったまとめ書きバッファのライトデ
ータを格納する。
【0046】このようにすれば、RAID4、RAID
5のディスクアレイにおいて、書き込み時のオーバーヘ
ッドやリード性能などを改善することが可能になる。
【0047】(c) :前記(3) では、パリティ処理部19
は、ホストから更新ライト要求が発生した際にリードさ
れた、対応するディスク内の更新前データとパリティデ
ータから、更新後のパリティを算出する。そして、世代
管理部は、ディスクからリードした更新前データを、そ
のディスク内のアドレス値と共に、更新前データバッフ
ァに格納する。
【0048】また、世代管理部は、ディスクから更新前
データとパリティをリードした後、ディスク媒体が少な
くとも1周した際に、ディスク上の同一位置に更新後の
データ及び更新後のパリティを格納し、更新前データバ
ッファがフルになった際にバッファ内のデータをディス
クに格納する。
【0049】このようにすれば、ディスクに格納されて
いるファイルが更新された際に、旧データを効率良く格
納し、バックアップやファイルの操作ミスでファイルを
破壊した際の復旧のために、旧データを保持し管理する
ファイルの世代管理を効率良く行える。
【0050】(d) :前記(4) では、世代管理部の制御手
段は、ホストから更新ライト要求が発生した際に、ディ
スクから対応する更新前データとパリティをリードし、
前記パリティ処理部に更新後のパリティを算出させ、デ
ィスクから更新前データとパリティをリードした後、デ
ィスク媒体が少なくとも1周した際に、ディスク上の同
一位置に更新後のデータ及びパリティを格納し、ディス
クからリードした更新前データを、そのディスク内のア
ドレス値と共に前記更新前データバッファに格納し、該
更新前データバッファがフルになった際に該バッファ内
のデータをディスク内の連続領域に格納する。
【0051】このようにすれば、ファイル内の一部が更
新された場合でも、従来のまとめ書き方式(WAFL方
式)のように、更新されたデータはディスク内の別領域
に格納されているために新たなシークを発生させてしま
う、ということがなく、常に、ディスクの連続領域に最
新のデータを格納することができる。
【0052】また、ディスクに格納されているファイル
が更新された際に、旧データを効率良く格納し、バック
アップやファイルの操作ミスでファイルを破壊した際の
復旧のために、旧データを保持し管理するファイルの世
代管理を効率良く行える。
【0053】(e) :以上述べたことから明らかなよう
に、前記(1) 、(2) では、ストライプを構成する各ディ
スクへの格納データの大きさに等しいサイズのまとめ書
きバッファのみを用意すれば済むため、まとめ書きバッ
ファ用に用意されるNVRAMのような高価な不揮発性
メモリの使用量を減らすことができる。また、ディスク
への格納の際に、格納しようとするディスクにリード要
求が起こった時に、シークなしでデータを格納できる領
域が存在する場合には、その空き領域にデータを格納す
ることによって、ライトの際のシーク時間を短縮するこ
とができる。
【0054】更に、まとめ書きバッファ内で、ホストか
らの要求アドレス(論理アドレス)によってソート(並
べ替え)することによって、ホストにおいて連続領域に
格納したデータを、ディスク上のまとめ書き領域におい
ても連続領域に格納することができる。そのため、該当
するデータをリードする際の処理時間を短縮することが
できる。
【0055】また、前記(3) 、(4) では、前記の点に加
え、ファイルの一部が更新された場合でも、常にディス
クの連続領域に最新のデータを格納することができ、リ
ード性能が向上する。また、従来のファイル世代管理で
は、ファイルを新規に作成した時のデータとそのファイ
ルが更新される度に、どこが更新されたかを管理してい
たが、本願発明では、このような従来の世代管理とは異
なり、現ファイルとの差分データのみをディスクへ格納
するので、更新前のデータを復元することが可能にな
る。従って、何世代前までの復元を行う制御が容易にで
きる。
【0056】
【発明の実施の形態】以下、発明の実施の形態を図面に
基づいて詳細に説明する。
【0057】§1:システム構成とディスクアレイ装置
の説明・・・図2、3参照 図2はシステム構成とディスクアレイ装置の説明図であ
り、A図はシステム構成図、B図はディスクアレイ装置
のブロック図である。図3は図2の一部詳細図であり、
A図はアドレス変換部の説明図、B図はまとめ書きバッ
ファの説明図である。
【0058】図2のA図に示したシステムは、クライア
ント・サーバシステムの例であり、LAN上に、多数の
クライアント装置16−1、16−2・・・と、1台の
サーバ15が接続されている。そして、サーバ15には
ディスクアレイ装置7が接続されている。この場合、サ
ーバ15は、LANを介して複数のクライアント装置1
6−1、16−2・・・で使用されている個々のファイ
ルをまとめてディスクアレイ装置7に保持し、各クライ
アント装置16−1、16−2・・・からファイルへの
リード/ライト要求を受け付ける、所謂ネットワークサ
ーバを構成している。
【0059】例えば、前記サーバ15が、UNIXをO
S(システムソフトウェア)としたワークステーション
(WS)の場合、NFS(Network File System )と呼
ばれるプロトコルを用いて各クライアント装置16−
1、16−2・・・からファィルへのリード/ライト要
求をネットワーク(この場合はLAN)で転送する場
合、複数の比較的小さな(8KBや32KB程度)デー
タに分割してやりとりする。そのため、サーバ15がデ
ィスクアレイ装置7のディスクへリード/ライト要求を
出す場合の多くは、8KBや32KB程度のデータ単位
で行われる。
【0060】前記ディスクアレイ装置7の構成を図2の
B図に示す。前記ディスクアレイ装置7はサーバ15に
接続されて運用されるが、この場合、ディスクアレイ装
置7から見ると、前記サーバ15がホスト(上位装置)
となる。前記ディスクアレイ装置7は、RAID4又は
RAID5構成のディスクアレイを記憶手段として保持
する装置であり、ディスクアレイ制御装置2と、複数の
ディスク装置6を備え、前記ディスクアレイ制御装置2
は、ディスクアレイコントローラ4と、複数のデバイス
アダプタ(DA)5を備えている。
【0061】また、ディスクアレイコントローラ4は、
パリティ処理を行うためのパリティ処理部19と、パリ
ティデータを格納するパリティバッファ23と、論理ア
ドレス(ホスト1から与えられるアドレス)と物理アド
レス(実際にディスクに書き込むアドレス)との変換処
理を行うアドレス変換部20と、ホスト1から転送され
たデータを一時格納する第1のまとめ書きバッファ2
1、及び第2のまとめ書きバッファ22と、前記第1、
第2のまとめ書きバッファ21、22内のデータに対す
る論理アドレスをキーにしてソート(並べ替え処理)を
行う論理アドレスソート部18を備えている。
【0062】すなわち、サーバ15は、RAID4、又
はRAID5構成のディスクアレイを記憶手段として保
持し、第1のまとめ書きバッファ21、及び第2のまと
め書きバッファ22はダブルバッファ構成をとり、片方
のまとめ書きバッファがディスクへのデータライトを行
っている間にサーバ15へ到達するライトデータは他方
のまとめ書きバッファへ蓄えられる。
【0063】例えば、第1のまとめ書きバッファ21の
データをディスクへ書き込んでいる時、いずれかのクラ
イアント装置からのライト要求がサーバ15に到達した
場合、そのライト要求のデータは、第2のまとめ書きバ
ッファ22に蓄えられる。また、第2のまとめ書きバッ
ファ22のデータをディスクへ書き込んでいる時、いず
れかのクライアント装置からのライト要求がサーバ15
に到達した場合、そのライト要求のデータは、第1のま
とめ書きバッファ21に蓄えられる。
【0064】前記パリティバッファ23には、パリティ
処理部19による処理でRAIDの各ストライプ単位に
パリティデータを蓄積する。また、アドレス変換部20
は図3のA図に示すように、アドレス変換テーブルを備
えており、該アドレス変換テーブルには、サーバ15の
システムソフトウェア(OS)が設定したライトデータ
をディスクへ格納するアドレス(論理アドレス)を、ま
とめ書きで実際に格納するディスク内のアドレス(物理
アドレス)へ変換する情報(論理アドレスと物理アドレ
スを対応させた情報)が書き込まれるようになってい
る。
【0065】また、図3のB図に示すように、第1、第
2のまとめ書きバッファ21、22には、サーバ15か
ら転送されたライトデータd1、d2、d3・・・を格
納する。そして、パリティ処理部19は、これらのライ
トデータについてのパリティを算出する。例えば、ライ
トデータd1、d2、d3、d4のパリティは、これら
のストライプ毎のデータの排他的論理和を算出すること
で求めることができる。
【0066】また、前記のようにして求めたパリティデ
ータは、パリティ処理部19によりパリティバッファ2
3に格納される。この場合、全てのストライプデータが
まとめ書きバッファ内に書き込まれるまでは、前記パリ
ティデータをパリティバッファ23内に保持する。更
に、前記論理アドレスソート部18では、まとめ書きバ
ッファ内のデータがフル(満杯)になった時点でディス
クへの書き込みを行うが、この時、まとめ書きバッファ
内のデータを、その論理アドレスをキーにしてソートし
た後、ディスクへの書き込みを行うようにする。
【0067】§2:処理概要の説明 以下、ディスクアレイ装置の処理概要を説明する。な
お、以下の説明では、サーバ15を「ホスト」とも記
す。ホストからライト要求が発せられると、パリティ処
理部19によりパリティ計算し、ライトデータは、まと
めて、第1のまとめ書きバッファ21、又は第2のまと
め書きバッファ22内に蓄積され、パリティデータはパ
リティバッファ23に格納する。
【0068】この場合、ホストは前記ライトデータの格
納アドレスを指定するが、このホストが指定したアドレ
ス(論理アドレス)は、ディスクアクセスに対する論理
的なアドレスとして、アドレス変換部20のアドレス変
換テーブルにセットされ、ディスク内で実際に格納され
る物理アドレスを割り当てる(アドレス変換テーブル
に、論理アドレスと物理アドレスを対応させて格納す
る)。
【0069】また、ライトデータは、物理アドレスで指
定されるディスク内の位置に格納されるが、まとめ書き
バッファの大きさは、RAIDを構成する各ディスクに
格納するデータサイズになっている。ホストから送られ
てきたデータは、まとめ書きバッファ内に順に格納され
るが、その際、パリティ用バッファ23内の対応するス
トライプに格納されたパリティデータと排他的論理和演
算を実行し、パリティデータを更新する。但し、まとめ
書きバッファがストライプの最初のデータを蓄積する場
合には、排他的論理和演算は行わず、ライトデータをパ
リティ用バッファ23にも格納する。
【0070】そして、まとめ書きバッファがフルになっ
た時点で、該まとめ書きバッファ内のデータは、論理ア
ドレスソート部18により、その論理アドレスをキーに
してソートされた後、1台のディスクに格納される。デ
ィスクへの格納は次のようにする。すなわち、タブルバ
ッファを構成する他方のまとめ書きバッファにホストか
ら転送されたデータが格納され始め、そのまとめ書きバ
ッファがフルになるまでの間に、格納しようとするディ
スクにリード要求が発生した際、同一シリンダ(シーク
を発生させずに格納できる範囲)に空き領域があるかど
うかを判断し、空き領域がある場合には、その部分に格
納する。
【0071】しかし、そのような空き領域が発見できず
に他方のまとめ書きバッファがフルになってしまった場
合には、ディスク内の空いている領域にまとめ書きバッ
ファ内のデータを全て格納し、ホストからの新たなライ
ト要求のためのまとめ書きバッファを開放する。また、
ストライプを構成する全てのディスクにデータを格納し
た際には、パリティ用バッファをディスクに格納する。
【0072】以上述べたように、ストライプ(この例で
は、d1、d2、d3、d4で1ストライプ)を構成す
る各ディスクへの格納データの大きさに等しいサイズの
まとめ書きバッファのみを用意すれば済むため、まとめ
書きバッファ用に用意される不揮発性メモリ(この例で
は、NVRAM)の量を減らすことができる。また、デ
ィスクへの格納の際に、格納しようとするディスクにリ
ード要求が起こった時に、シークなしでデータを格納で
きる領域が存在すれば、その空き領域にデータを格納す
ることによって、ライトの際のシーク時間を短縮するこ
とができる。
【0073】更に、まとめ書きバッファ内で、ホストか
らの要求アドレス(論理アドレス)によってソート(並
べ替え)することによって、ホストにおいて連続領域に
格納したデータを、ディスク上のまとめ書き領域におい
ても連続領域に格納することができる。そのため、該当
するデータをリードする際の処理時間を短縮することが
できる。
【0074】§3:詳細な処理の説明 図4は処理説明図である。以下、図2、図3を参照しな
がら図4に基づいて詳細な処理を説明する。ネットワー
ク(この例では、LAN)から到着するNFSのライト
データは以下のように処理される。
【0075】ネットワークからサーバ15へ送られたラ
イトデータは、更新、新規に関わらず到着順にパリティ
処理部19に入力される。ここでパリティ処理部19で
は、ライトデータが格納される予定のストライプについ
て計算されているパリティデータをパリティバッファ2
3から読み出し、ライトデータとの排他的論理和演算を
実行してパリティを更新し、パリティバッファ23内の
元のパリティ記憶領域に格納する。
【0076】前記ライトデータは、まとめ書きバッファ
内の物理アドレスを付与された後、更新、新規に関わら
ず到着順にまとめ書きバッファに格納される。まとめ書
きバッファのサイズは、RAIDを構成する1つのディ
スクの連続領域に格納される大きさになっており、サー
バ15のシステムソフトウェア(OS)が設定した格納
アドレス(論理アドレス)はまとめ書きバッファに格納
されたアドレス(物理アドレス)と共に、アドレス変換
テーブルにセットされる。
【0077】そして、まとめ書きバッファがライトデー
タでフル(満杯)になった時点で、まとめ書きバッファ
へのデータ格納が、ダブルバッファを構成する他方のま
とめ書きバッファに対して開始される。そして、ライト
データでフルになったまとめ書きバッファは、論理アド
レスソート部18により、格納されたライトデータを各
々の論理アドレス値によってソートする。その後、ディ
スクに格納する。
【0078】例えば、最初に、第1のまとめ書きバッフ
ァ21にライトデータを格納した場合、該第1のまとめ
書きバッファ21がライトデータでフルになると、この
第1のまとめ書きバッファ21に格納されたライトデー
タを各々の論理アドレス値によってソートした、ディス
クに格納する。この時、ホストから転送されたライトデ
ータは、第2のまとめ書きバッファ22に蓄積される。
【0079】各クライアント装置からのファイルへのラ
イト要求は、連続した領域への複数のNFSのライト要
求としてサーバ15へ転送される。しかし、サーバ15
では、複数のクライアント装置からの要求を受け付ける
ため、他のクライアント装置からの要求が割り込む可能
性があり、連続したライト要求が必ずしも連続領域への
アクセスとは限らないためである。
【0080】更に、ディスクへの書き込みは、同一ディ
スクへのリード要求が発生した際に、近傍(シーク動作
を伴わない範囲、例えば同一シリンダ内)に、まとめ書
きバッファ内のデータを格納できる連続領域が発見され
た場合に、その領域に格納する。このようにすることに
よって、ディスクへのデータ格納の際に必要なシークに
要する時間を省略することができる。
【0081】この際、アドレス変換テーブル内の物理ア
ドレスをディスク内のアドレスに変更する。ダブルバッ
ファを構成する他のまとめ書きバッファがライトデータ
でフルになってしまう迄に、このような領域が発見でき
ない場合には、シークを行って連続領域にまとめ書きバ
ッファ内のデータを格納する。パリティバッファ23内
のデータも同様にしてディスクに格納する。
【0082】なお、まとめ書きバッファに格納されたデ
ータは、他のデータのリードに際してリードデータが格
納されているディスク内の近傍に空き領域がある場合に
は、その領域に格納される。そのため、1つのストライ
プを構成するデータの格納位置がディスク間で異なるこ
とがあるが、論理的なストライプが実際に各々のディス
クにおいて、どこに格納されるかを示す対応テーブルを
設け、そのテーブルを参照することで対処することがで
きる。
【0083】図4の例では、ネットワークからのライト
要求時のライトデータd1、d2、d3・・・は、それ
ぞれnKBのブロックデータとして転送されるが、例え
ば、d1のnKBのライトデータはクライアント装置1
6−1からのデータ、d2のnKBのライトデータはク
ライアント装置16−2からのデータ、d3のnKBの
ライトデータはクライアント装置16−3からのデータ
である。
【0084】また、この例ではデータ用ディスクを4台
とした例であり、d1、d2、d3、d4からなるスト
ライプのデータを1台のディスク(例えば、1ライト単
位=2〜3トラック分)に格納するようになっている。
また、前記nKBは、例えば、ディスクの128セクタ
分のデータであり、このnKBのデータを単位にして論
理アドレスが指定されるようになっている。
【0085】なお、前記の例では、まとめ書きバッファ
はダブル構成のバッファで説明したが、3個以上のまと
め書きバッファを使用しても、実施可能である。但し、
この場合には、高価なNVRAM等のバッファの数が多
くなり、その分、コストアップにつながるので、2個の
まとめ書きバッファを使用するのが最適である。
【0086】(他の例の説明) §1:他の例の装置の説明・・・図5参照 図5は他の例の装置ブロック図である。この例は、RA
ID4、又はRAID5のディスクアレイ装置におい
て、世代管理を行う例であり、図5のように構成する。
【0087】ディスクアレイ装置7は、RAID4、或
いはRAID5構成のディスクアレイを記憶手段として
保持する装置であり、ディスクアレイ制御装置2と、複
数のディスク装置6を備え、前記ディスクアレイ制御装
置2は、ディスクアレイコントローラ4と、複数のデバ
イスアダプタ(DA)5を備えている。また、ディスク
アレイコントローラ4は、パリティ処理を行うためのパ
リティ処理部19と、パリティデータを格納するパリテ
ィバッファ23と、世代管理部25と、更新前データバ
ッフィ26等を備えている。
【0088】前記世代管理部25は、データの世代管理
を行うものであり、パリティ処理部19に指示を出して
パリティ演算を行わせたり、或いは、ホストから更新デ
ータを受け取った際、更新前のデータを更新前データバ
ッファ26へ格納したりする。なお、他の構成は図2に
示したディスクアレイ装置と同じである。
【0089】§2:処理の説明 世代管理部25は、ホストからの更新ライト要求が発生
した時に、更新前のデータとパリティをディスク装置6
のディスクから読み出し、パリティ処理部19に更新後
のパリティを計算させた後、更新前のデータを更新前デ
ータバッファ26に格納し、更新後のデータとパリティ
をディスクに格納する。
【0090】更新前データバッファ26には、更新前の
データと、そのデータが格納されていたディスク上のア
ドレスに対応させたアドレスをセットすることにより、
一定期間毎に更新されたデータの1世代前のデータ(デ
ィスク上のアドレスを含む)を保持する。そして、ホス
トが或るファイルの1世代前のデータを参照したい場合
には、そのファイルに属するデータがセットされている
アドレス値を基に、更新前データが格納されている領域
を探索する。
【0091】ホストからの更新データが世代管理部25
に到達すると、世代管理部25は、更新前のデータとパ
リティをディスクから読み出す。そして、パリティ処理
部19において、新しいパリティを更新前のデータ、パ
リティ及び更新後のデータから作成し、パリティバッフ
ァ23に格納する。
【0092】その後、世代管理部25は、更新前データ
を読み出し、ディスク媒体が少なくとも1周した際、同
一位置に更新後のデータを格納する。同様にして、更新
後のパリティも、ディスク媒体が少なくとも1周する間
に、パリティ処理部19に更新後のパリティを計算さ
せ、同一位置に格納する。但し、更新前データのリード
が遅くなった場合には、ディスク媒体が1周以上回転す
ることもあり得る。
【0093】更新前データは、そのデータを格納してい
たアドレス値と共に、更新前データパッファ26へ格納
する。更新前データバッファ26内のデータは、一定期
間毎にホストからの命令によって、ディスク内へ格納す
る。
【0094】以上のようにすれば、ファイルの一部が更
新された場合でも、常にディスクの連続領域に最新のデ
ータを格納することができ、リード性能が向上する。ま
た、従来のファイル世代管理のように、ファイルを新規
に作成した時のデータと、そのファイルが更新される度
に、どこが更新されたかを順次記憶するのではなく、現
ファイルとの差分データのみを格納することによって、
更新前のデータを復元することができ、何世代前までの
復元を行う制御が容易にできる。
【0095】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。
【0096】(1) :請求項1では、第1のまとめ書きバ
ッファと、第2のまとめ書きバッファと、パリティ処理
部と、パリティバッファと、アドレス変換テーブルと、
論理アドレスソート部とを備え、ホストからライト要求
が発せられると、パリティ処理部によりパリティ計算
し、ライトデータはまとめて、第1のまとめ書きバッフ
ァ、又は第2のまとめ書きバッファ内に蓄積され、パリ
ティデータはパリティバッファに格納する。
【0097】この時、アドレス変換部は、ホストが指定
した論理アドレスと、そのアドレスに対応した物理アド
レスとをアドレス変換テーブルにセットする。そして、
前記いずれか一方のまとめ書きバッファがフルになった
ら、該まとめ書きバッファのデータをディスクへ格納す
るが、この時、該フルになったまとめ書きバッファのデ
ータを、論理アドレスソート部によりソートしてから格
納する。
【0098】このようにすれば、RAID4、RAID
5のディスクアレイにおいて、書き込み時のオーバーヘ
ッドやリード性能などを改善することが可能になる。
【0099】(2) :請求項2では、第1の制御手段は、
ホストからのライトデータを、いずれか一方のまとめ書
きバッファに、新規、更新に関わらず到着順に格納す
る。そして、第2の制御手段は、前記まとめ書きバッフ
ァがフルになった時刻以降に、まとめ書きバッファ内の
データを格納するディスクと同一ディスクに対してリー
ド要求が発生した際、該当するリードデータが格納され
ているディスク上の位置の近傍に、前記まとめ書きバッ
ファ内の全データを格納する空き領域があるかどうかを
判断し、前記空き領域があれば、その空き領域にシーク
無しで、前記フルになったまとめ書きバッファのライト
データを格納する。
【0100】このようにすれば、RAID4、RAID
5のディスクアレイにおいて、書き込み時のオーバーヘ
ッドやリード性能などを改善することが可能になる。
【0101】(3) :請求項3では、パリティ処理部は、
ホストから更新ライト要求が発生した際にリードされ
た、対応するディスク内の更新前データとパリティデー
タから、更新後のパリティを算出する。そして、世代管
理部は、ディスクからリードした更新前データを、その
ディスク内のアドレス値と共に更新前データバッファに
格納する。
【0102】また、世代管理部は、ディスクから更新前
データとパリティをリードした後、ディスク媒体が少な
くとも1周した際に、ディスク上の同一位置に更新後の
データ及び更新後のパリティを格納して、更新前データ
バッファがフルになった際にバッファ内のデータをディ
スクに格納する。
【0103】このようにすれば、ディスクに格納されて
いるファイルが更新された際に、旧データを効率良く格
納し、バックアップやファイルの操作ミスでファイルを
破壊した際の復旧のために、旧データを保持し管理する
ファイルの世代管理を効率良く行える。
【0104】(4) :請求項4では、世代管理部の制御手
段は、ホストから更新ライト要求が発生した際に、ディ
スクから対応する更新前データとパリティをリードし、
更新後のパリティを算出して、ディスクから更新前デー
タとパリティをリードした後、ディスク媒体が少なくと
も1周した際に、ディスク上の同一位置に更新後のデー
タ及びパリティを格納し、ディスクからリードした更新
前データを、そのディスク内のアドレス値と共に、前記
更新前データバッファに格納し、該更新前データバッフ
ァがフルになった際に、該バッファ内のデータをディス
ク内の連続領域に格納する。
【0105】このようにすれば、ファイル内の一部が更
新された場合でも、従来のまとめ書き方式(WAFL方
式)のように、更新されたデータはディスク内の別領域
に格納されているために新たなシークを発生させてしま
う、ということがなく、常に、ディスクの連続領域に最
新のデータを格納することができる。
【0106】また、ディスクに格納されているファイル
が更新された際に、旧データを効率良く格納し、バック
アップやファイルの操作ミスでファイルを破壊した際の
復旧のために、旧データを保持し管理するファイルの世
代管理を効率良く行える。
【0107】(5) :請求項1、2では、更に、ストライ
プを構成する各ディスクへの格納データの大きさに等し
いサイズのまとめ書きバッファのみを用意すれば済むた
め、まとめ書きバッファ用に用意されるNVRAMのよ
うな高価な不揮発性メモリの使用量を減らすことができ
る。
【0108】また、ディスクへの格納の際に、格納しよ
うとするディスクにリード要求が起こった時に、シーク
なしでデータを格納できる領域が存在する場合には、そ
の空き領域にデータを格納することによって、ライトの
際のシーク時間を短縮することができる。
【0109】更に、まとめ書きバッファ内で、ホストか
らの要求アドレス(論理アドレス)によってソート(並
べ替え)することによって、ホストにおいて連続領域に
格納したデータを、ディスク上のまとめ書き領域におい
ても連続領域に格納することができる。そのため、該当
するデータをリードする際の処理時間を短縮することが
できる。
【0110】(6) :請求項3、4では、更に、ファイル
の一部が更新された場合でも、常にディスクの連続領域
に最新のデータを格納することができ、リード性能が向
上する。また、従来のファイル世代管理では、ファイル
を新規に作成した時のデータとそのファイルが更新され
る度に、どこが更新されたかを管理していたが、本願発
明では、このような従来の世代管理とは異なり、現ファ
イルとの差分データのみをディスクへ格納するので、更
新前のデータを復元することが可能になる。従って、何
世代前までの復元を行う制御が容易にできる。
【0111】(7) :RAID4、RAID5のディスク
アレイにおいて、書き込み時のオーバーヘッドやリード
性能などを改善することができる。また、ディスクに格
納されているファイルが更新された際に、旧データを効
率良く格納し、バックアップやファイルの操作ミスでフ
ァイルを破壊した際の復旧のために、旧データを保持し
管理するファイルの世代管理を効率良く行える。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態におけるシステム構成とデ
ィスクアレイ装置の説明図である。
【図3】図2の一部詳細図である。
【図4】本発明の実施の形態における処理説明図であ
る。
【図5】本発明の他の例の装置ブロック図である。
【図6】従来のディスクアレイ装置の説明図である。
【図7】RAIDのレベル説明図である。
【図8】WAFLの説明図である。
【符号の説明】
1 ホスト(ホストコンピュータ) 2 ディスクアレイ制御装置 3 ホストアダプタ 4 ディスクアレイコントローラ 5、5−1〜5−n デバイスアダプタ 6、6−1〜6−n ディスク装置 7 ディスクアレイ装置 8 データバッファ 9 アドレス変換テーブル 10 まとめ書きバッファ 15 サーバ 16 クライアント装置 18 論理アドレスソート部 19 パリティ処理部 20 アドレス変換部 21 第1のまとめ書きバッファ 22 第2のまとめ書きバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 青木 隆浩 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B065 BA01 CA30 CC02 CC08 CE16 CH15 EA02 ZA17

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のディスク装置と、各ディスク装置と
    の間でデータの書き込み/読み出し制御を行うディスク
    アレイ制御装置を備え、該ディスクアレイ制御装置によ
    り、ブロック単位の分割データを複数のディスク装置に
    分散させて格納し、該分割データから求めたパリティデ
    ータをいずれかのディスク装置に格納するディスクアレ
    イ装置において、 ホストからのライト要求のデータ同士の排他的論理和を
    算出してパリティデータを求めるパリティ処理部と、 ホストからのライト要求のデータを一時的に保持し、ダ
    ブルバッファ構成をとる第1、第2のまとめ書きバッフ
    ァと、 前記まとめ書きバッファ内に、ストライプを構成する全
    てのデータが書き込まれるまでパリティデータを保持す
    るパリティバッファと、 ホストから指定された論理アドレスと、実際にデータが
    格納されるディスク内の物理アドレスとの対応情報を保
    持するアドレス変換テーブルと、 前記まとめ書きバッファ内のデータを、前記論理アドレ
    スをキーにしてソートする論理アドレスソート部を備え
    ている、 ことを特徴とするディスクアレイ装置。
  2. 【請求項2】ホストからのライトデータを、前記いずれ
    か一方のまとめ書きバッファに、新規、更新に関わらず
    到着順に格納する第1の制御手段と、 該まとめ書きバッファがフルになった時刻以降に、前記
    まとめ書きバッファ内のデータを格納するディスクと同
    一ディスクに対してリード要求が発生した際、該当する
    リードデータが格納されているディスク上の位置の近傍
    に、前記まとめ書きバッファ内の全データを格納する空
    き領域があるかどうかを判断し、前記空き領域があれ
    ば、その空き領域にシーク無しで、前記フルになったま
    とめ書きバッファのライトデータを格納する第2の制御
    手段を備えている、 ことを特徴とする請求項1記載のディスクアレイ装置。
  3. 【請求項3】複数のディスク装置と、各ディスク装置を
    並列的に動作させることでデータの書き込み/読み出し
    制御を行うディスクアレイ制御装置を備え、該ディスク
    アレイ制御装置により、ブロック単位の分割データを複
    数のディスク装置に分散させて格納し、該分割データか
    ら求めたパリティデータをいずれかのディスク装置に格
    納するディスクアレイ装置において、 ホストから更新ライト要求が発生した際にリードされ
    た、対応するディスク内の更新前データとパリティデー
    タから、更新後のパリティを算出するパリティ処理部
    と、 ディスクからリードされた更新前データを、そのディス
    ク内のアドレス値と共に格納する更新前データバッファ
    と、 ディスクから更新前データとパリティをリードした後、
    ディスク媒体が少なくとも1周した際にディスク上の同
    一位置に更新後のデータ及び更新後のパリティを格納
    し、更新前データバッファがフルになった際に該バッフ
    ァ内のデータをディスクに格納する世代管理部を備えて
    いる、 ことを特徴とするディスクアレイ装置。
  4. 【請求項4】前記世代管理部は、 ホストから更新ライト要求が発生した際に、ディスクか
    ら対応する更新前データとパリティをリードして前記パ
    リティ処理部に更新後のパリティを算出させ、ディスク
    から更新前データとパリティをリードした後、ディスク
    媒体が少なくとも1周した際に、ディスク上の同一位置
    に更新後のデータ及びパリティを格納し、ディスクから
    リードした更新前データを、そのディスク内のアドレス
    値と共に前記更新前データバッファに格納し、該更新前
    データバッファがフルになった際に該バッファ内のデー
    タをディスク内の連続領域に格納する制御手段を備えて
    いる、 ことを特徴とする請求項3記載のディスクアレイ装置。
JP11222078A 1999-08-05 1999-08-05 ディスクアレイ装置 Pending JP2001051806A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11222078A JP2001051806A (ja) 1999-08-05 1999-08-05 ディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11222078A JP2001051806A (ja) 1999-08-05 1999-08-05 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JP2001051806A true JP2001051806A (ja) 2001-02-23

Family

ID=16776788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11222078A Pending JP2001051806A (ja) 1999-08-05 1999-08-05 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JP2001051806A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886068B2 (en) 2001-12-18 2005-04-26 Kabushiki Kaisha Toshiba Disk array apparatus and data update method for storing tag blocks
US7017019B2 (en) 2002-11-13 2006-03-21 Hitachi, Ltd. Method of managing generation of backup data and storage control device used therefor
US7716438B2 (en) 2004-03-31 2010-05-11 Hitachi, Ltd. Storage system and back-up method for storage system
JP2012068862A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶制御装置
CN102945201A (zh) * 2011-09-11 2013-02-27 微软公司 已验证数据集合的非易失性介质日志记录
US8456972B2 (en) 2011-09-12 2013-06-04 Microsoft Corporation Efficient access to storage devices with usage bitmaps

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886068B2 (en) 2001-12-18 2005-04-26 Kabushiki Kaisha Toshiba Disk array apparatus and data update method for storing tag blocks
US7017019B2 (en) 2002-11-13 2006-03-21 Hitachi, Ltd. Method of managing generation of backup data and storage control device used therefor
US7117329B2 (en) 2002-11-13 2006-10-03 Hitachi, Ltd. Method of managing generation of backup data and storage control device used therefor
US7716438B2 (en) 2004-03-31 2010-05-11 Hitachi, Ltd. Storage system and back-up method for storage system
JP2012068862A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶制御装置
US8555027B2 (en) 2010-09-22 2013-10-08 Kabushiki Kaisha Toshiba Semiconductor memory controlling device
US9213604B2 (en) 2010-09-22 2015-12-15 Kabushiki Kaisha Toshiba Semiconductor memory controlling device which writes data and error correction codes into different semiconductor storage drives
CN102945201A (zh) * 2011-09-11 2013-02-27 微软公司 已验证数据集合的非易失性介质日志记录
WO2013036265A1 (en) * 2011-09-11 2013-03-14 Microsoft Corporation Nonvolatile media journaling of verified data sets
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
US8456972B2 (en) 2011-09-12 2013-06-04 Microsoft Corporation Efficient access to storage devices with usage bitmaps

Similar Documents

Publication Publication Date Title
US9965204B1 (en) Transaction-based storage system and method that uses variable sized objects to store data
JP6240071B2 (ja) ストレージシステムにおけるマッピングテーブルを効果的に管理するコンピューターシステムおよびその方法
JP2902970B2 (ja) ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US5258984A (en) Method and means for distributed sparing in DASD arrays
US6898668B2 (en) System and method for reorganizing data in a raid storage system
US7506187B2 (en) Methods, apparatus and controllers for a raid storage system
JP3358687B2 (ja) ディスクアレイ装置
US5488701A (en) In log sparing for log structured arrays
US6862609B2 (en) Redundant storage for multiple processors in a ring network
US8209595B2 (en) Storage sub-system and method for controlling the same
US5410667A (en) Data record copy system for a disk drive array data storage subsystem
US5394532A (en) Disk drive array memory system having instant format capability
US7139931B2 (en) Method of controlling the system performance and reliability impact of hard disk drive rebuild
US20120192037A1 (en) Data storage systems and methods having block group error correction for repairing unrecoverable read errors
US7849258B2 (en) Storage apparatus and data verification method for the same
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
JP2000511318A (ja) 階層記憶管理システムのための変換式raid
US6343343B1 (en) Disk arrays using non-standard sector sizes
JP2001051806A (ja) ディスクアレイ装置
JPH07152499A (ja) ディスクアレイ装置におけるパリティ格納方法、障害回復方法およびディスクアレイ装置
JP2857288B2 (ja) ディスクアレイ装置
US5659677A (en) Data storage apparatus for disk array
JP3122252B2 (ja) ディスクアレイ制御方式
JPH06266510A (ja) ディスクアレイシステムおよびそのためのデータ書き込み方法、障害回復方法
JP2857289B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070814