JPH07141232A - ファイル格納管理装置 - Google Patents
ファイル格納管理装置Info
- Publication number
- JPH07141232A JPH07141232A JP5285190A JP28519093A JPH07141232A JP H07141232 A JPH07141232 A JP H07141232A JP 5285190 A JP5285190 A JP 5285190A JP 28519093 A JP28519093 A JP 28519093A JP H07141232 A JPH07141232 A JP H07141232A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- disk
- block
- management device
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 パリティ更新処理に伴うディスクアクセス処
理の回数を削減する。 【構成】 ファイルをいくつかの論理ブロックLB0〜
LB11に分解し、これを4台のデータディスク装置2
01〜203に配置する。異なるディスク装置201〜
203に格納された計4個の論理パリティ群(例えばL
B0,LB1,LB2,LB3)により論理パリティグ
ループを構成し、これら4個の論理ブロックの排他的論
理和を計算することで論理パリティブロック(上記の場
合は、LP0)を生成する。論理パリティブロックはパ
リティディスク装置204に保存する。論理ブロックと
論理パリティブロックは管理テーブル上で関係づけら
れ、論理ブロック更新時に論理パリティブロックをホス
トメモリ上で更新する。従って、従来技術の場合は異な
るストライプに分割された論理ブロック群が同一の論理
パリティグループに含まれる。
理の回数を削減する。 【構成】 ファイルをいくつかの論理ブロックLB0〜
LB11に分解し、これを4台のデータディスク装置2
01〜203に配置する。異なるディスク装置201〜
203に格納された計4個の論理パリティ群(例えばL
B0,LB1,LB2,LB3)により論理パリティグ
ループを構成し、これら4個の論理ブロックの排他的論
理和を計算することで論理パリティブロック(上記の場
合は、LP0)を生成する。論理パリティブロックはパ
リティディスク装置204に保存する。論理ブロックと
論理パリティブロックは管理テーブル上で関係づけら
れ、論理ブロック更新時に論理パリティブロックをホス
トメモリ上で更新する。従って、従来技術の場合は異な
るストライプに分割された論理ブロック群が同一の論理
パリティグループに含まれる。
Description
【0001】
【産業上の利用分野】本発明は、ファイルを複数のディ
スク装置に分散配置するファイル格納管理装置に関す
る。
スク装置に分散配置するファイル格納管理装置に関す
る。
【0002】
【従来の技術】ファイルを管理する従来技術としては、
「UNIX4.3BSDの設計と実装」(丸善、199
1年出版)に記載された技術が知られている。以下この
技術について説明する。図21はこの技術の説明図であ
る。1はホストコンピュータ(以下ホストと略記す
る)、2はディスクアレイサブシステムである。3はホ
スト1とディスクアレイサブシステム2を接続する、予
め定められたディスクインタフェース(以下ディスクI
/Fと略記する)、たとえば、SCSI(small compute
r system interface)に従った信号が流れる信号線であ
り、ディスクI/Fと以下では呼ぶ。ホスト1において
はディスク管理等を行うオペレーティングシステム10
3(以下単にOSと略記する。OSは、ホスト1のCP
Uと主記憶により実行される)が動作しており、この管
理の下、アプリケーション101(以下単にAPと略記
する。APは、ホスト1のCPUと主記憶により実行さ
れる)が動作しており、ユーザが所望の計算処理を実現
できるよう構成されている。AP101の発行したディ
スク装置へのリード/ライト要求は、OS103内部
の、ファイル管理を行うファイルシステム105により
処理され、デバイスドライバ106がディスクI/Fの
コマンド体系に従いコマンドをディスク装置に発行す
る。ここで、ファイルシステム105は、AP101の
ディスクアクセス要求を解析する要求処理部1053、
ファイルを論理的なブロック(このデータセグメントを
以下では論理ブロックと呼ぶ)に分割し、ブロックごと
にインデックスとよぶ論理的なブロック番号を付し、こ
のインデックスでファイルを管理するファイルインデッ
クス管理部1054、ファイルのインデックス管理用テ
ーブル1056、インデックスと実メモリ上に構成する
バッファ108bとの対応づけおよびバッファ管理を行
うバッファ管理部1055、バッファ管理用のテーブル
1057から構成されている。ファイルシステム105
のファイルインデックス管理部1054及びバッファ管
理部1057は、ユーザデータ領域108aにあるAP
101が管理するデータをディスク装置に格納する際
に、ディスク装置上のどの領域に保存すれば良いかを決
定する。具体的には、ディスク装置番号、パーティショ
ン番号、ディスク上のブロック(セクタ)番号、バッフ
ァ領域のメモリアドレス等を決定する。リード時にはこ
れら決定した諸情報を基にリードアクセスを行う。これ
ら諸情報は上記管理テーブル1056、1057に登録
する。ディスク装置はホスト1からディスクI/F3経
由でリード/ライトコマンドを受信し、指定されたディ
スクアドレスから読みだし、書き込みする。一方、ディ
スク装置の高性能化、高信頼化技術としては、カリフォ
ルニア大学バークレイ校で開発された、複数のディスク
装置からなるRAID(Redundant Arra
ys of Inexpensive Disks)が
知られており、この技術は同校発行の論文”A Cas
e for Redundant Arrays of
Inexpensive Disks(RAID)”
に詳しく述べられている。以下、本技術を簡単に説明す
る。図14(a)は本従来技術のデータ配置方式を示し
た図である。RAIDでは複数台のディスク装置にデー
タを分散配置し、これらのディスク装置を並列に動作さ
せることで高速転送処理を実現したものである。また、
同図のように、異なるディスク装置にわたるディスクア
ドレスをストライプと呼ぶブロックにまとめ、同一スト
ライプに含まれる全データディスク装置のデータの排他
的論理和を計算し、冗長データ(誤り訂正符号とも呼ば
れる。なお、冗長データには、誤り検出符号も含む)の
一種であるパリティを生成し、これをパリティディスク
装置に保存する。例えば、ファイルAが論理ブロックL
B0,LB1,LB2,LB3から構成され、ファイル
Bが論理ブロックLB10,LB11から構成されてい
るとする。そのとき、ストライプ0は、ファイルAに含
まれる論理ブロックLB0,LB2とファイルBに含ま
れるLB10,LB11から構成される。論理ブロック
LB0,LB2,LB10,LB11で一つのパリティ
グループが構成される。これにより、もし、任意の1台
のディスク装置が故障し、データの読みだしが不能とな
っても、パリティと、読みだし不能なデータと同一パリ
ティグループに含まれる他のデータディスク装置中のデ
ータとから復元可能としており、高信頼性を実現したも
のである。図21のディスクアレイサブシステムも、R
AIDの一種である。2はディスクアレイサブシステ
ム、210はホストとの接続に用いるディスクI/Fを
制御する部位210、211はデータの分配収集、パリ
ティ計算等の処理を実施するディスクアレイ制御部、2
00〜204はディスク装置である。図21の従来例の
ディスクアレイサブシステム2はホスト1からみて1台
のディスク装置に見えるように設計されている。ホスト
は1台のディスク装置を想定してリード/ライト要求を
発行するので、ディスクアレイ制御部211はこれを複
数台のディスク装置へのコマンドに変換し、データのリ
ード/ライトを実行する。また、ライト時には上記パリ
ティも更新する必要があり、この処理も併せて実行す
る。
「UNIX4.3BSDの設計と実装」(丸善、199
1年出版)に記載された技術が知られている。以下この
技術について説明する。図21はこの技術の説明図であ
る。1はホストコンピュータ(以下ホストと略記す
る)、2はディスクアレイサブシステムである。3はホ
スト1とディスクアレイサブシステム2を接続する、予
め定められたディスクインタフェース(以下ディスクI
/Fと略記する)、たとえば、SCSI(small compute
r system interface)に従った信号が流れる信号線であ
り、ディスクI/Fと以下では呼ぶ。ホスト1において
はディスク管理等を行うオペレーティングシステム10
3(以下単にOSと略記する。OSは、ホスト1のCP
Uと主記憶により実行される)が動作しており、この管
理の下、アプリケーション101(以下単にAPと略記
する。APは、ホスト1のCPUと主記憶により実行さ
れる)が動作しており、ユーザが所望の計算処理を実現
できるよう構成されている。AP101の発行したディ
スク装置へのリード/ライト要求は、OS103内部
の、ファイル管理を行うファイルシステム105により
処理され、デバイスドライバ106がディスクI/Fの
コマンド体系に従いコマンドをディスク装置に発行す
る。ここで、ファイルシステム105は、AP101の
ディスクアクセス要求を解析する要求処理部1053、
ファイルを論理的なブロック(このデータセグメントを
以下では論理ブロックと呼ぶ)に分割し、ブロックごと
にインデックスとよぶ論理的なブロック番号を付し、こ
のインデックスでファイルを管理するファイルインデッ
クス管理部1054、ファイルのインデックス管理用テ
ーブル1056、インデックスと実メモリ上に構成する
バッファ108bとの対応づけおよびバッファ管理を行
うバッファ管理部1055、バッファ管理用のテーブル
1057から構成されている。ファイルシステム105
のファイルインデックス管理部1054及びバッファ管
理部1057は、ユーザデータ領域108aにあるAP
101が管理するデータをディスク装置に格納する際
に、ディスク装置上のどの領域に保存すれば良いかを決
定する。具体的には、ディスク装置番号、パーティショ
ン番号、ディスク上のブロック(セクタ)番号、バッフ
ァ領域のメモリアドレス等を決定する。リード時にはこ
れら決定した諸情報を基にリードアクセスを行う。これ
ら諸情報は上記管理テーブル1056、1057に登録
する。ディスク装置はホスト1からディスクI/F3経
由でリード/ライトコマンドを受信し、指定されたディ
スクアドレスから読みだし、書き込みする。一方、ディ
スク装置の高性能化、高信頼化技術としては、カリフォ
ルニア大学バークレイ校で開発された、複数のディスク
装置からなるRAID(Redundant Arra
ys of Inexpensive Disks)が
知られており、この技術は同校発行の論文”A Cas
e for Redundant Arrays of
Inexpensive Disks(RAID)”
に詳しく述べられている。以下、本技術を簡単に説明す
る。図14(a)は本従来技術のデータ配置方式を示し
た図である。RAIDでは複数台のディスク装置にデー
タを分散配置し、これらのディスク装置を並列に動作さ
せることで高速転送処理を実現したものである。また、
同図のように、異なるディスク装置にわたるディスクア
ドレスをストライプと呼ぶブロックにまとめ、同一スト
ライプに含まれる全データディスク装置のデータの排他
的論理和を計算し、冗長データ(誤り訂正符号とも呼ば
れる。なお、冗長データには、誤り検出符号も含む)の
一種であるパリティを生成し、これをパリティディスク
装置に保存する。例えば、ファイルAが論理ブロックL
B0,LB1,LB2,LB3から構成され、ファイル
Bが論理ブロックLB10,LB11から構成されてい
るとする。そのとき、ストライプ0は、ファイルAに含
まれる論理ブロックLB0,LB2とファイルBに含ま
れるLB10,LB11から構成される。論理ブロック
LB0,LB2,LB10,LB11で一つのパリティ
グループが構成される。これにより、もし、任意の1台
のディスク装置が故障し、データの読みだしが不能とな
っても、パリティと、読みだし不能なデータと同一パリ
ティグループに含まれる他のデータディスク装置中のデ
ータとから復元可能としており、高信頼性を実現したも
のである。図21のディスクアレイサブシステムも、R
AIDの一種である。2はディスクアレイサブシステ
ム、210はホストとの接続に用いるディスクI/Fを
制御する部位210、211はデータの分配収集、パリ
ティ計算等の処理を実施するディスクアレイ制御部、2
00〜204はディスク装置である。図21の従来例の
ディスクアレイサブシステム2はホスト1からみて1台
のディスク装置に見えるように設計されている。ホスト
は1台のディスク装置を想定してリード/ライト要求を
発行するので、ディスクアレイ制御部211はこれを複
数台のディスク装置へのコマンドに変換し、データのリ
ード/ライトを実行する。また、ライト時には上記パリ
ティも更新する必要があり、この処理も併せて実行す
る。
【0003】
【発明が解決しようとする課題】上記従来の技術によれ
ば、ホストのファイルシステムは、ファイルを論理的な
ブロックに分割し、ブロック単位に管理しているので、
ファイル新規作成時にはブロックを1つずつ順次格納す
る。そこで、1ブロック以上の大きさのファイルを保存
する場合、これらのブロックは各々独立に管理されて、
ディスクアレイサブシステム上に格納されるため、同一
ファイルの連続したブロックであってもディスクアレイ
サブシステム上のアドレス空間の非連続的な空間に配置
される。そのため、連続したブロックが異なるパリティ
グループに含まれることが少なくない。また、ディスク
アレイサブシステムにおいても、ファイル単位でのデー
タ管理は行っておらず、単に、ホストが送出したブロッ
クライト要求に従い指定されたアドレス空間にブロック
を格納する。以上の結果、1つのパリティグループは、
互いに無関係な複数のファイルに属するブロックにより
構成されることが多くなる。この場合、1つのファイル
をライトする際にも、1つのファイルに属する複数のブ
ロックが異なるパリティグループに格納することにな
る。その結果、たとえば、最悪は、図14(a)に示す
論理ブロックLB1,LB3のライトを行う場合のよう
に、異なるパリティグループに属する複数のブロックの
ライトを行う際に、1つのブロックをライトする度にパ
リティブロックP5,P8を1つずつリード/ライトす
るパリティ更新処理が発生し、ファイルライト処理の速
度を著しくて低下させるという問題点があった。本発明
の目的は、従来技術に比べて、パリティ更新処理回数を
減らしたファイル格納管理装置を提供することにある。
また、本発明の他の目的は、上記ファイル格納管理装置
を有する、高性能でかつ高信頼なディスクアレイサブシ
ステムを提供することにある。
ば、ホストのファイルシステムは、ファイルを論理的な
ブロックに分割し、ブロック単位に管理しているので、
ファイル新規作成時にはブロックを1つずつ順次格納す
る。そこで、1ブロック以上の大きさのファイルを保存
する場合、これらのブロックは各々独立に管理されて、
ディスクアレイサブシステム上に格納されるため、同一
ファイルの連続したブロックであってもディスクアレイ
サブシステム上のアドレス空間の非連続的な空間に配置
される。そのため、連続したブロックが異なるパリティ
グループに含まれることが少なくない。また、ディスク
アレイサブシステムにおいても、ファイル単位でのデー
タ管理は行っておらず、単に、ホストが送出したブロッ
クライト要求に従い指定されたアドレス空間にブロック
を格納する。以上の結果、1つのパリティグループは、
互いに無関係な複数のファイルに属するブロックにより
構成されることが多くなる。この場合、1つのファイル
をライトする際にも、1つのファイルに属する複数のブ
ロックが異なるパリティグループに格納することにな
る。その結果、たとえば、最悪は、図14(a)に示す
論理ブロックLB1,LB3のライトを行う場合のよう
に、異なるパリティグループに属する複数のブロックの
ライトを行う際に、1つのブロックをライトする度にパ
リティブロックP5,P8を1つずつリード/ライトす
るパリティ更新処理が発生し、ファイルライト処理の速
度を著しくて低下させるという問題点があった。本発明
の目的は、従来技術に比べて、パリティ更新処理回数を
減らしたファイル格納管理装置を提供することにある。
また、本発明の他の目的は、上記ファイル格納管理装置
を有する、高性能でかつ高信頼なディスクアレイサブシ
ステムを提供することにある。
【0004】
【課題を解決するための手段】上記目的を実現するため
に、本発明は、同一のファイルを構成するデータを、複
数のデータセグメントに分割し、1つのデータセグメン
トで1つのデータブロックを構成し、上記複数のデータ
ブロックを外部の複数のディスク装置に分配するファイ
ル格納管理装置において、上記複数のディスク装置に格
納されたデータブロックのうち互いに異なるディスク装
置に格納される複数のデータブロックで構成される冗長
データグループを決定するとともに、上記複数のデータ
ブロックの各々を格納するディスク装置を決定する第1
の決定手段と、同一冗長データグループ内のデータブロ
ックに含まれるデータにより冗長データを求め、該冗長
データから構成される冗長データブロックを冗長データ
グループごとに生成する手段と、上記ファイルと、上記
ファイルを構成する上記データブロックとの対応関係に
関する情報を記憶する第1の記憶手段と、上記データブ
ロックと上記冗長データブロックとの対応関係に関する
情報を記憶する第2の記憶手段とを有することとしたも
のである。
に、本発明は、同一のファイルを構成するデータを、複
数のデータセグメントに分割し、1つのデータセグメン
トで1つのデータブロックを構成し、上記複数のデータ
ブロックを外部の複数のディスク装置に分配するファイ
ル格納管理装置において、上記複数のディスク装置に格
納されたデータブロックのうち互いに異なるディスク装
置に格納される複数のデータブロックで構成される冗長
データグループを決定するとともに、上記複数のデータ
ブロックの各々を格納するディスク装置を決定する第1
の決定手段と、同一冗長データグループ内のデータブロ
ックに含まれるデータにより冗長データを求め、該冗長
データから構成される冗長データブロックを冗長データ
グループごとに生成する手段と、上記ファイルと、上記
ファイルを構成する上記データブロックとの対応関係に
関する情報を記憶する第1の記憶手段と、上記データブ
ロックと上記冗長データブロックとの対応関係に関する
情報を記憶する第2の記憶手段とを有することとしたも
のである。
【0005】また、ディスクアレイサブシステムにおい
て、上記のファイル格納管理装置と、複数のディスク装
置とを有することとしたものである。
て、上記のファイル格納管理装置と、複数のディスク装
置とを有することとしたものである。
【0006】
【作用】たとえば、n+1台のディスク装置をホストに
接続した場合、n台はデータ用ディスク装置、1台は冗
長データ用ディスク装置として使用する。上記データブ
ロックを格納するディスク装置を決定する手段は、ファ
イルのデータブロックを配置する格納ディスク装置を決
定する。同一ファイルのn個のデータブロックにより冗
長データグループと呼ぶグループを構成し、同一冗長デ
ータグループ内のすべてのデータブロックの、たとえば
排他的論理和を計算することで冗長データブロックを生
成する。このように、ファイル毎に冗長データブロック
が一意に決定する。データブロックと対応する冗長デー
タの関係付けを管理するテーブルに、ファイル毎に、デ
ータブロックと対応する冗長データブロックとを対応づ
けて登録する。同一ファイルのデータブロックを新規作
成、追加、変更している間は、1つの冗長データを繰り
返し更新する機会が一般に多いため、以上の管理装置を
採用すると、ファイル単位で、冗長データをデータブロ
ックに対応づけて管理していることより、以下の効果が
ある。すなわち、本管理装置によれば、あるファイルを
オープンしている間は、同一冗長データグループに属す
るデータの更新に伴って、冗長データ生成の素になる差
分データを更新していく必要があるが、データが1つの
ファイルに属するため、バッファ上に、対応する差分デ
ータも存在することが多くなる。その結果、データの更
新に伴う差分データの更新はほとんどが冗長データ用バ
ッファ上で行われることになり、従来技術の様に、デー
タの更新のたびに、冗長データをディスク装置からリー
ド/ライトすることがなくなり、結果として冗長データ
更新に伴うディスクアクセス回数を大幅に減少できる。
接続した場合、n台はデータ用ディスク装置、1台は冗
長データ用ディスク装置として使用する。上記データブ
ロックを格納するディスク装置を決定する手段は、ファ
イルのデータブロックを配置する格納ディスク装置を決
定する。同一ファイルのn個のデータブロックにより冗
長データグループと呼ぶグループを構成し、同一冗長デ
ータグループ内のすべてのデータブロックの、たとえば
排他的論理和を計算することで冗長データブロックを生
成する。このように、ファイル毎に冗長データブロック
が一意に決定する。データブロックと対応する冗長デー
タの関係付けを管理するテーブルに、ファイル毎に、デ
ータブロックと対応する冗長データブロックとを対応づ
けて登録する。同一ファイルのデータブロックを新規作
成、追加、変更している間は、1つの冗長データを繰り
返し更新する機会が一般に多いため、以上の管理装置を
採用すると、ファイル単位で、冗長データをデータブロ
ックに対応づけて管理していることより、以下の効果が
ある。すなわち、本管理装置によれば、あるファイルを
オープンしている間は、同一冗長データグループに属す
るデータの更新に伴って、冗長データ生成の素になる差
分データを更新していく必要があるが、データが1つの
ファイルに属するため、バッファ上に、対応する差分デ
ータも存在することが多くなる。その結果、データの更
新に伴う差分データの更新はほとんどが冗長データ用バ
ッファ上で行われることになり、従来技術の様に、デー
タの更新のたびに、冗長データをディスク装置からリー
ド/ライトすることがなくなり、結果として冗長データ
更新に伴うディスクアクセス回数を大幅に減少できる。
【0007】
【実施例】第1の実施例を説明する。図1は本発明のフ
ァイル管理方式を示した模式図である。ファイルfil
e0はデータ部及びパリティ部により構成される。デー
タ部はさらに論理ブロックと呼ぶ小ブロックに分割され
る。この例では論理ブロックは8KBであり、ファイル
のデータ部は96KBであるとする。ファイルfile
0は先頭のブロックから順にLB0、LB1、・・・、
LB11の12個の論理ブロックに分割できる。また、
ディスクアレイサブシステム2はディスク0(20
0)、ディスク1(201)、・・・、ディスク4(2
04)の計ディスク5台を内蔵している。特にディスク
4(204)はパリティディスクと呼び、パリティ格納
専用のディスクである。上記、論理ブロックはディスク
アレイサブシステム2のディスク0からディスク3の計
4台のデータディスクと呼ぶディスク群に分配されて、
格納される。この例ではLB0はディスク0に、LB1
はディスク1に、LB2はディスク2に、と以下順に繰
り返し配置され、格納される。ここで、ファイル先頭論
理ブロックからデータディスク台数個、すなわちLB0
からLB3までの4個の論理ブロックにより論理パリテ
ィグループLPG0、LB4からLB7までの4個の論
理ブロックで論理パリティグループLPG1、LB8か
らLB11までの4個の論理ブロックで論理パリティグ
ループLPG2を形成し、各該グループ内でバイト単位
に読みだし、各ビットごとに排他的論理和を計算し、論
理パリティブロックを生成する。すなわち、 LB0+LB1+LB2+LB3=LP0 (1) LB4+LB5+LB6+LB7=LP1 (2) LB8+LB9+LB10+LB11=LP2 (3) となる。ただし、ここで記号+は排他的論理和を表す。
生成した論理パリティブロックLP0、LP1、LP2
はパリティディスクすなわちディスク4に格納される。
上記のファイルfile0のデータ部及びパリティ部を
構成する各論理ブロック論理パリティブロックはそれぞ
れ互いに関連づけて管理する。もし、ある論理ブロック
LBnのデータを書き換えようとするとき、関連する論
理パリティブロックLPkも同時に書き換える。上記の
ファイル管理方法を実現する具体的な実施例を以下に示
す。図2は本実施例のシステム構成を表すブロック図で
ある。1はホスト、2はディスクアレイサブシステム、
3はディスクインタフェース(以下I/Fと略記す
る。)である。ホスト1ではオペレーティングシステム
(以下OSと略記する。)103が動作し、その管理の
下で、アプリケーション(101および102)(以下
APと略記する)が動作している。OS103は以下の
各構成部を有する。104はアプリケーションからのデ
ィスクアクセス要求等を受信するシステムコールI/
F、105はファイルのディスクへの格納管理を行うフ
ァイルシステム、106はディスクI/F制御部107
の制御を行うデバイスドライバ部である。ファイルシス
テム105はディスクアレイ管理部1058を内蔵し、
該部はディスクアレイの制御を司る。107はディスク
I/F3を制御するディスクI/F制御部である。ディ
スクアレイサブシステム2は5台のディスク(200〜
204)から構成されており、これらはディスクI/F
3を介しそれぞれホスト1に接続している。このディス
クアレイサブシステム2は上記の通りファイルシステム
105中のディスクアレイ管理部1058により制御、
管理されている。ホスト1のOS103内部にあるファ
イル管理部(ファイルシステム)105は、以下の動作
をもってホストに接続した複数台のディスク装置200
〜204のどこにデータブロックを格納するか決定す
る。すなわち、上記ファイル管理部105がファイルに
データを格納する要求を受信すると、該部105は該部
105内の上記ファイルとデータブロックを対応づける
テーブルを参照し、上記データがどのデータブロックで
あるかを判定する。もし、すでにあるデータブロックで
あれば、旧データとの差分データを計算し、バッファに
格納しておく。もし、新規のデータブロックであれば、
複数台のディスク装置のうちどのディスク装置にデータ
ブロックを格納するかを決定する手段が格納ディスク装
置を決定する。そして上記ディスク装置のどのアドレス
空間にデータブロックを格納するかを決定する手段は上
記各ディスク装置の使用状況を管理するテーブルを参照
し、格納アドレスを決定する。また、上記冗長データを
生成する手段は、上記データブロックと対応する冗長デ
ータブロックとの関係付けを管理するテーブルを参照
し、上記データブロックに対応する冗長データブロック
の有無を判断し、もし、対応する冗長データブロックが
存在しない場合、上記冗長データブロックをどのディス
ク装置に格納するかを決定する手段は冗長データ格納の
ためのディスク装置を決定し、上記ディスク装置のどの
アドレス空間に冗長データブロックを格納するかを決定
する手段は上記ディスク装置の使用状況を管理するテー
ブルを参照し、格納アドレスを決定し、上記データブロ
ックと対応する冗長データブロックの関係付けを管理す
るテーブルに登録する。もし対応する冗長データブロッ
クがバッファ上に存在する場合には、上記冗長データブ
ロックのデータとの排他的論理和を計算しバッファ上に
保存する。もし対応する冗長データブロックがバッファ
上に存在しない場合には、このデータをバッファ上に保
存する 冗長データを計算する手段は、上記の処理の後非同期的
にバッファ上の差分データとディスク装置上の旧冗長デ
ータとの排他的論理和を計算し、新冗長データを生成
し、ディスク装置に書き戻す。5台のディスク装置がホ
スト1に接続されているが、4台はデータ用ディスク装
置、1台は冗長データ用ディスク装置として使用する。
上記データブロックを格納するディスク装置を決定する
手段は、ファイルのデータブロックをデータ用ディスク
装置に略均等に配置するように格納ディスク装置を決定
する。同一ファイルの4個のデータブロックにより冗長
データグループと呼ぶグループを構成し、同一冗長デー
タグループ内のすべてのデータブロックの排他的論理和
を計算することで冗長データブロックを生成する。この
ように、ファイル毎に冗長データブロックが一意に決定
する。冗長データの更新は上記の通り処理する。データ
ブロックと対応する冗長データの関係付けを管理するテ
ーブルに、ファイル毎に、データブロックと対応する冗
長データブロックとを対応づけて登録する。同一ファイ
ルのデータブロックを新規作成、追加、変更している間
は、1つの冗長データを繰り返し更新する機会が一般に
多いため、以上の管理方法を採用すると、ファイル単位
で、冗長データをデータブロックに対応づけて管理して
いることより、以下の効果がある。すなわち、本管理方
法によれば、あるファイルをオープンしている間は、同
一冗長データグループに属するデータの更新に伴って、
冗長データ生成の素になる差分データを更新していく必
要があるが、データが1つのファイルに属するため、バ
ッファ上に、対応する差分データも存在することが多く
なる。その結果、データの更新に伴う差分データの更新
はほとんどが冗長データ用バッファ上で行われることに
なり、従来技術の様に、データの更新のたびに、冗長デ
ータをディスク装置からリード/ライトすることがなく
なり、結果として冗長データ更新に伴うディスクアクセ
ス回数を大幅に減少できる。以下、図3にディスクアレ
イサブシステム2の管理を司るファイルシステム103
を中心とする関係各部の構成を示す。ファイルシステム
105において、1051はアプリケーションがファイ
ルを使用する際に行うファイルオープン処理を行うファ
イルオープン処理部、1052はオープンされたファイ
ルのファイル名と対応するファイルインデックス管理テ
ーブル1056との関係を管理するファイル名管理テー
ブル、1053はアプリケーションからのファイルアク
セス要求を受信し解釈処理を行う要求処理部、1056
はファイルをいくつかのブロックに分割し、そのブロッ
ク番号をインデックスとし、あるブロックがディスク上
のどこに格納しているかを管理するファイルインデック
ス管理テーブル、1054はファイルインデックス管理
テーブル1056の新規登録、変更、削除等の管理を行
うファイルインデックス管理部、1057はファイルの
ブロックを物理メモリ上に構築されているバッファ領域
にマッピングするための管理情報であるバッファ管理テ
ーブルであり、特に1057aはデータ用のバッファ領
域を管理するためのデータ用バッファ管理テーブル、1
057bはパリティ用のバッファ領域を管理するための
パリティ用バッファ管理テーブルである。パリティにつ
いては後述する。1055は上記バッファ管理テーブル
1057の新規登録、変更、削除、バッファ割当て、等
のバッファ管理を行うバッファ管理部、1058は上記
ディスクアレイサブシステム中、ディスク、パーティシ
ョン、ディスク上の格納アドレス、等の決定を行うこと
でディスクアレイサブシステムを管理するディスクアレ
イ管理部である。同図中108はホスト1の主記憶中に
割り当てられたバッファ領域である。108aはユーザ
がファイルアクセスの為に獲得したユーザデータ領域、
108bは、ファイルシステム105がディスクをアク
セスする際のデータ管理用のデータ用バッファ領域、1
08cはファイルシステム105がパリティを管理する
ためのパリティ用バッファ領域、108dはファイルシ
ステム105がパリティの更新時等に一時的に使用する
作業用バッファ領域である。図5はディスクアレイ管理
部1058のブロック図を示している。10581は新
規ブロック登録管理部、10582は新規ブロックを格
納する機器(ディスク、パーティション)を選択する機
器選択部、10583は選択した機器の物理的なディス
クブロックアドレスを決定する物理ブロックマッピング
決定部、10584は論理パリティグループを決定し、
論理データブロックと、論理パリティブロックを関係づ
ける処理を行う論理パリティ管理部、10585はディ
スクアレイの使用状況を管理するディスクアレイ使用状
況管理テーブルである。ディスクアレイ使用状況管理テ
ーブル10585は、ディスクアレイを構成するディス
ク毎に、ディスクの物理ブロックの使用状況を管理する
物理ブロック管理テーブル10585aおよび物理ブロ
ックを構成するセクタの使用状況を管理するセクタ管理
テーブル10585bから構成される。10586は排
他的論理和計算を実施するパリティ演算部、10587
は1台のディスク故障時にパリティデータを利用し、当
該故障ディスクに格納しているデータを再現する縮退処
理を実施する縮退処理部である。図6はディスクアレイ
使用状況管理テーブル10585の具体例を示した図で
ある。ディスク毎に物理ブロック及びセクタの使用状況
及び使用用途が判断できるよう構成されている。以下、
本実施例の動作を説明する。APはファイルの操作に先
立ちファイルのオープン処理を行う必要がある。AP1
01はファイル名、オープンモード(リードモード、ラ
イトモード、リードライトモード、追加モード等)とと
もにオープンシステムコールを発行する。追加モードと
は、すでにあるファイルにファイル領域を追加してライ
トする場合であることを示すモードをいう。OSの種類
によってはライトモードに含めるものもある。OS10
3のシステムコールI/F104はこれを受信し、オー
プンシステムコールであることを判断するとファイルシ
ステムのファイルオープン処理部1051を起動する。
該部はこれを受信し、ファイル名からファイル名管理テ
ーブル1052を参照し、ファイル番号kをかえす。も
し、ライトモード時に該管理テーブル1052上にこの
ファイルが登録されていないならば新規のファイルであ
るので新規に登録する。この処理により、APは対象フ
ァイルの操作番号であるファイル番号を獲得する。以後
本ファイルのアクセスにはこのファイル番号を使用す
る。図4はファイル管理用テーブルの構成例を示してい
る。1052はファイル名管理テーブル、1056はフ
ァイルインデックス管理テーブル、1057はバッファ
管理テーブル、108はバッファメモリである。上記オ
ープン処理により、ファイル番号を獲得すると、このフ
ァイル番号をキーとして対応するファイルインデックス
管理テーブル1056が参照できる。ファイルインデッ
クス管理テーブルは、同図の通りの内容を保管したファ
イル毎のテーブルである。その内容の概要は以下の通り
である。モードはファイルのアクセスモードを示す。所
有者はファイルを作成したユーザ名、アクセス識別子は
当該ファイルのアクセス許可範囲を示す。参照カウント
はファイルに対する参照の数を示す。タイムスタンプは
ファイルが最後に読み書きされた時間や、当該ファイル
インデックス管理テーブルが最後に更新された時間を示
す。大きさはファイルのバイト単位の大きさを示す。ブ
ロック数は使用している論理ブロックの数を表す。また
論理ブロック番号に対応しバッファ管理テーブル105
7へのポインタが格納されている。バッファ管理テーブ
ル1057は各論理ブロック毎に1つ対応し、以下の内
容が記載されている。ハッシュリンクはバッファが有効
かどうかすばやく判定するためのハッシュ表へのリンク
ポインタ、待ち行列リンクは待ち行列を形成するための
リンクポインタ、フラグはバッファの状態すなわち、有
効なデータが格納されているかどうか、バッファは使用
されているかどうか、バッファの内容がディスクに未反
映となっているかどうか、等を示す。機器番号はディス
クの番号及びパーティションの番号である。ブロック番
号は機器番号で示されたディスク上のディスクアドレス
番号である。バイト数は本ブロックに格納された有効な
データのバイト数である。バッファサイズは本バッファ
のバイト単位の大きさである。バッファポインタは物理
バッファメモリへのポインタである。論理パリティグル
ープ番号は上記のファイル毎にパリティを生成する際に
構成した論理パリティグループの番号である。論理パリ
ティポインタはデータ用バッファ管理テーブル1057
aの時有効であり、当該バッファに格納するデータ論理
ブロックに対応した論理パリティブロックを格納するパ
リティ用バッファ管理テーブル1057bへのポインタ
である。データ用バッファ管理テーブル1057aおよ
びパリティ用バッファ管理テーブル1057bは構造的
には同一である。データ用バッファ管理テーブル105
7aはファイルインデックス管理テーブル1056から
参照し、パリティ用バッファ管理テーブル1057bは
対応するデータ用バッファ管理テーブル1057aから
参照する点が異なるのみである。バッファを確保する物
理メモリはデータ用バッファとパリティ用バッファとで
異なる領域にマッピングしても良いし、同じ領域を使用
してもかまわない。図3では論理的なイメージを記載し
ている。次にファイルのリード/ライト動作を図3、図
4、および図7から図12のフローチャート、図5、6
に示すディスクアレイ管理部の詳細構成を示す図、図1
3に示すデータおよびパリティ更新動作の模式図を用い
説明する。初めにリード動作を図7を用い説明する。上
記の通りファイルをリードモードでオープンする。その
後、APはリードシステムコールを発行し(1100
1)、OS103のシステムコールI/F104がこれ
を受信し、リードシステムコールであることを認識し、
ファイルシステム105をコールする(11002)。
ファイルシステム105の要求処理部1053は、バイ
ト単位にAPが発行した要求(オフセット)を上記論理
ブロック単位に変換し、該当する論理ブロックを順次ア
クセスする(11003)。ここでオフセットとは、転
送するデータの量(=転送終了アドレス−転送開始アド
レス)、すなわち転送長をいう。第1番目の対象論理ブ
ロックのリード要求を要求処理部1053はファイルイ
ンデックス管理部1054に送信する。該部はこれを受
信し、ファイルインデックス管理テーブル1056を参
照し、対象論理ブロックのデータを格納するデータ用バ
ッファ管理テーブル1057aへのポインタを得る。つ
いで、バッファ管理部1055はこのポインタを受け、
対象論理ブロックが格納されているディスク装置の機器
番号すなわちディスク番号及びパーティション番号と、
格納ディスクブロック番号を獲得する(11005)。
ここで、ディスクブロック番号とはディスク上のセクタ
に対応し線形的に付ける論理アドレスのことである。さ
らに、該部はバッファポインタを参照し、バッファすな
わち物理メモリ空間が対象論理ブロックに割り当てられ
ているかどうか判定する。もし、バッファが割り当てら
れているならば対象論理ブロックのデータが登録されて
いるかどうかバッファ管理テーブル上のフラグを判定
し、もし”データ有効”フラグが”ON”であればディ
スクへリードアクセスは不要である(キャッシュヒッ
ト)(11006)。もし、バッファが割り当てられて
いないならばバッファ管理部は新たにバッファをわりあ
てる(11007)。ついで、この場合、および前記”
データ有効”フラグが”無効”である時には、デバイス
ドライバ部106はディスクI/F(例えばSCSI)
のリードコマンドを生成し、ディスクI/F制御部10
7に発行する(11008)。ここで、ディスク装置が
指定したデータ用バッファ108bにデータを転送終了
するまでの間処理は停止し、待ち状態となる(1100
9)。データ転送が完了すると、また、上記、キャッシ
ュがヒットした場合にも、データ用バッファ108bか
らAP(ユーザ)が指定したユーザデータ領域108a
へ指定したバイト単位のデータ(オフセット)を転送す
る(11010)。処理は再びファイルシステム105
の要求処理部1053に移り、APが指定したすべての
オフセットデータが転送完了したかどうか判断し、も
し、未完了であれば以上の論理ブロック単位のリードア
クセスを繰り返し完了するまで行う(11011)。す
べての要求オフセットを転送完了したならばファイルシ
ステム105はシステムコールI/F104を介し、A
Pにシステムコール終了通知を発行し、処理はAPに戻
る。次にライト時の動作を説明する。図7において、1
1003までは同様である。ライト時には11004に
おいて図8のフローチャート(A)に分岐する。ファイ
ルインデックス管理部1054はこれを受信し、ファイ
ルインデックス管理テーブル1056を参照し、対象論
理ブロックのデータを格納するデータ用バッファ管理テ
ーブル1057aへのポインタを得る。もし、該当する
データ用バッファ管理テーブル1057aが存在しない
ときは対象論理ブロックがディスク上に格納されていな
い、すなわち新規論理ブロックであることを意味するの
で(11102)の分岐で図10(D)のフローチャー
トに分岐する。この場合の詳細に付いては後述する。も
し、該当論理ブロックがすでにディスク上に存在してい
る場合には対応するデータ用バッファ管理テーブルへの
ポインタが見つかる。この場合、ついで、バッファ管理
部1055がこのポインタを受け、対象論理ブロックが
格納されているディスク装置の機器番号すなわちディス
ク番号及びパーティション番号と、格納ディスクブロッ
ク番号を獲得する。さらに、該部はバッファポインタを
参照し、バッファすなわち物理メモリ空間が対象論理ブ
ロックに割り当てられているかどうか判定する。APが
要求したデータライト要求は上記の通りバイト単位のオ
フセットによる指定であるので、該当ブロックのすべて
を書き換えるのではない可能性がある。しかし、この場
合にも論理ブロック単位にライトする必要があるので、
一旦対象論理ブロックをデータ用バッファ上にリード
し、バッファ上で論理ブロックの必要な箇所を更新し、
ディスクに書き戻すリードモディファイライト処理を行
う必要がある。以下リードモディファイライト処理につ
いて述べるが、もし、APの要求が完全に1論理ブロッ
ク分のデータを書き換える場合には以下のリード処理は
不要である。当該論理ブロックにバッファが割り当てら
れているならば対象論理ブロックのデータが登録されて
いるかどうかバッファ管理テーブル上のフラグを判定
し、もし”データ有効”フラグが”ON”であればすで
に対象論理ブロックの旧データがデータバッファ上に存
在するので、ディスクへのリードアクセスは不要である
(キャッシュヒット)(11103)。もし、バッファ
が割り当てられていないならばバッファ管理部は新たに
バッファをわりあてる(11104)。ついで、この場
合、および前記”データ有効”フラグが”無効”である
時には、デバイスドライバ部106はディスクI/F
(例えばSCSI)のリードコマンドを生成し、ディス
クI/F制御部107に発行する(11105)。ここ
で、ディスク装置が指定したデータ用バッファ108b
にデータを転送終了するまでの間処理は停止し、待ち状
態となる(11106)。ここで旧データのリードデー
タ転送が完了する。次に、当該論理ブロックに対応する
論理パリティブロックのバッファ管理テーブルを参照
し、パリティ用バッファメモリがマッピングされている
かどうか判定する(11107)。もし、バッファがマ
ッピングされている場合でかつバッファ内容が”有効”
である場合には、図9(E)に進む。これ以外の場合
(バッファメモリマッピングが未完了である)ならばマ
ッピングを実施し(11108)、(F)に進む。つい
でパリティの更新処理にはいる。パリティ更新処理の詳
細を図13を併用して説明する。9図(E)の場合、作
業用バッファ108d0を作業用バッファ108d0領
域に確保し(11109)、ユーザ領域108a上の当
該データ(新データ)と当該データバッファ108b0
上のデータ(旧データ)との排他的論理和(EOR)を
計算し、両データの差分データを生成する(1111
0)。ここで、ユーザ領域上の当該新データをデータバ
ッファに転送し、バッファ内容を更新する(1111
1)。そして、作業用バッファ108d0上の差分デー
タと当該パリティバッファ上の排他的論理和(EOR)
を計算し、その結果をパリティバッファ108c0に格
納する(11112)。なお、図中パリティバッファを
冗長データバッファとも命名しているのは、上記の計算
により、新パリティが生成できていない場合があるから
である。ここで、生成されたデータはあくまでも新デー
タ、旧データの新差分データと、前回当該論理ブロック
をライトしたときに生成した旧差分データとの排他的論
理和であり、パリティの差分情報を算出したにすぎな
い。よって、いずれ、ディスク上に格納されている旧パ
リティと本パリティの差分情報の排他的論理和を計算す
る必要がある。このような場合、パリティ用バッファ管
理テーブル1057bの”旧パリティリード済み”フラ
グは”OFF”になっている。もし、本フラグが”O
N”の場合にはこのパリティ用バッファ上には上記処理
終了時に新パリティが生成されたことになる。次ぎに、
当該データ用バッファ管理テーブル1057a及びパリ
ティ用バッファ管理テーブル1057b上の”バッファ
内容”フラグを”dirty”に設定する(11113
〜11114)。この”dirty”フラグはバッファ
上のデータがディスク上に未反映であることを示す。い
ずれディスク上にライトバックする。この処理は図12
のフローチャートに示しており、後述する。全AP要求
データをブロックライトし終わったかどうか判断し(1
1115)、もしまだであるなら図7(C)に戻る。次
に図9(F)の場合を説明する。(E)との違いはパリ
ティ用バッファ108c0にパリティの差分情報もしく
は旧パリティが格納されていないことである。そこで、
新旧データの差分情報を上記同様生成し、当該パリティ
用バッファ108c0に格納する(11116)。パリ
ティバッファが空だから、作業用バッファは不要であ
る。この場合、旧パリティリードはまだ行っていないの
で、上記”旧パリティリード済”フラグを”OFF”に
設定しておく(11117)。そして、ユーザ領域上の
当該データ(新データ)を当該データ用バッファ領域1
08b上に転送し、バッファ内容を更新する(1111
8)。以下上記(E)の場合と同様である。次に新規ブ
ロックをライトする場合(D)を図10を用い説明す
る。当該論理ブロックに対応する論理パリティグループ
が存在するかどうかを判定する(11120)。この判
定はファイルインデックス管理テーブル1056におい
て当該論理ブロックと同一論理パリティグループの論理
ブロックがすでに登録済みかどうかを判定すれば良い。
判定の方法は、ファイルインデックス管理テーブル10
56にバッファ管理テーブル1057へのポインタがあ
るかどうかで判断できる。もし、該当する論理パリティ
ブロックが無い場合、データ用バッファ管理テーブル1
057a及びパリティ用バッファ管理テーブル1057
bの両者を新規に作成し登録する(11121〜111
22)。ここで、11121と11122で行うバッフ
ァ管理テーブル1057の新規割当と、ディスク物理ブ
ロックのマッピングに付いて図11のフローチャートを
用い説明する。初めに、ディスクアレイ管理部1058
の新規論理ブロック登録管理部10581(図5)は、
バッファ管理部1055から新規ブロック割当要求を受
信し、パリティ用ブロックかデータ用ブロックかの判定
を行い(11301)、新規にバッファ管理テーブル1
057を作成する(11302)。次に機器選択部10
582はデータブロックか、パリティブロックか、ま
た、論理ブロック番号がいくつか等の情報を基に、ブロ
ックを格納するディスク及びパーティションを決定し、
バッファ管理テーブル1057に登録する(1030
3、10304)つぎに、物理ブロックマッピング決定
部10583はディスク上のどの物理ブロックに当該論
理ブロックを格納するかをディスクアレイ使用状況管理
テーブル10585中の物理ブロック管理テーブルを参
照し、同一ファイルの他の論理ブロックの格納位置等の
情報を基に、シーク、回転待ちが最小となるような最適
なブロックを選択する。また、該管理テーブル1058
5を更新する。この物理ブロックの選択結果からディス
クブロック番号すなわちセクタ番号をバッファ管理テー
ブル1057中のブロック番号フィールドに登録する
(11305)。ついで、論理パリティグループを然る
べきアルゴリズムで決定し、その論理パリティグループ
を登録する(11306)。もしデータ用ブロックであ
るならば当該データに対応するパリティ用バッファ管理
テーブル1057bへのポインタをデータ用バッファ管
理テーブル1057aに登録し、もし、パリティ用ブロ
ックであるならば、パリティ用バッファ管理テーブル1
057bのこのフィールドにNULLポインタを登録す
る(10308)。最後に当該バッファ管理テーブル1
057を対応するファイルインデックス管理テーブル1
056に登録し、新規バッファ管理テーブルの割当及び
論理ブロックの物理ブロックマッピング処理は完了す
る。図10に戻り、新規に登録したデータ用バッファ管
理テーブル1057aにバッファメモリをマッピングす
る(11123)。もし、パリティ用バッファ管理テー
ブル1057bも新規に作成したならば同じくバッファ
メモリをマッピングする。以降は上記更新ライト時の処
理同様新旧データの差分データを計算し、パリティ用バ
ッファ領域の旧差分データとの排他的論理和を計算し、
パリティバッファ領域に格納する。もし、旧差分データ
がなければ新差分データをそのままパリティバッファ領
域に格納し、”旧パリティリード済”フラグを”OF
F”に設定する。最後にユーザ領域上の当該新データを
当該データ用バッファ領域に転送し、図9(H)に戻
る。以上ライト処理時には、データ用バッファおよびパ
リティ用バッファに新情報を格納した段階で、バッファ
管理テーブルの”バッファ内容”フラグを”dirt
y”に設定し、処理を終了していた。これは再び当該バ
ッファへの書き込み要求が発生した場合に古いデータの
ライト処理を削減できる可能性があるからである。これ
を遅延書き込みと呼び、このときには適当なタイミング
でディスク上にライトバックする必要がある。バッファ
内容とディスク内容を同期化させることからこの動作を
シンク動作と呼ぶ。このシンク動作のフローチャートを
図12に示す。シンクデーモンと呼ぶAPプロセスが定
期的にシンクシステムコールを発行する(1120
1)。OSはこれを受信し、ファイルシステムのバッフ
ァ管理部1055はリストをサーチし、”バッファ内
容”フラグが”dirty”なバッファを探し(112
03)、探したバッファがデータならばこのバッファ内
容を当該データ用バッファ管理テーブルの情報にしたが
いディスクにライトし(11204〜11206)、最
後に”バッファ内容”フラグを”clean”に設定す
る(11207)。もし、パリティ用バッファであるな
らば、”旧パリティリード済”フラグを参照し、もし”
OFF”であるならば(11208)、作業用バッファ
を確保し、旧パリティをバッファ管理テーブルが示すデ
ィスクから作業領域にリードする。この旧パリティとパ
リティ用バッファ領域上の差分パリティデータの排他的
論理和を計算し、これをパリティ用バッファに格納す
る。この生成した完全な新パリティをディスクにライト
し、”旧パリティリード済”フラグを”ON”に設定
し、また、”バッファ内容”フラグを”clean”に
設定する。もし、”旧パリティリード済”フラグがあら
かじめ”ON”であった場合には、直ちに当該ディスク
にライトし、同じく、”バッファ内容”フラグを”cl
ean”に設定する。以上の処理をすべての”dirt
y”なバッファに付いて行う。以上のように本実施例に
よれば図1のファイル単位にパリティを管理する方式が
実現できる。次に本実施例の効果を説明する。従来例に
よれば、ファイルシステム105はブロックの格納毎に
その時点で最適と思われるディスクアドレスを決定する
ため、ディスクアレイサブシステム上では図14aに示
すように断続的なブロック配置になることが多い。最適
な決定とは、例えば、1つのディスク装置内に複数のヘ
ッドがある場合にその時点で空いているヘッドを選ぶ、
回転待ち時間の少ないセクタを選ぶ等がある。LB0か
らLB3を順次格納していく場合、従来技術の場合、対
応する3つのパリティブロックP1、P5、P8を更新
する必要があり、データブロックとパリティブロック、
計7個について、計7回のリードモディファイライト処
理を実施する必要がある。一方本実施例の方式では、図
14bに示すとおり連続した論理ブロックLB0〜LB
3の対応論理パリティは唯一LP0に決定する。遅延書
き込みを上記実施例の通り実施している場合、LP0の
更新はバッファ上のみで実行できるため、パリティ更新
処理のためのリードモディファイライト処理は1回で済
み、データの更新も含めると、データブロックとパリテ
ィブロック、計5個について、計5回のリードモディフ
ァイライト処理を行うことになる。この例の場合処理効
率が1.4倍向上したことになる。以上の効果を一般化
すると、(n+1)台のディスクで構成されるディスク
アレイサブシステムでは、k個の論理ブロックをライト
した場合のパリティ更新最大回数は、 (1)従来 k回 (2)本実施例 kがnの倍数の時 (k/n)回 kがnの倍数でない時 ((k/n)+1)回 となる。データ更新まで含めた処理効率は約(2/(1
+(1/n)))倍に向上する。第2実施例を説明す
る。上記第1実施例では、ファイルの論理ブロック数は
データディスク台数の整数倍であるとして説明してきた
が、実際にはファイルの論理ブロック数は任意整数個で
ある。例えば図15に示すファイル0(file0)は
合計10個の論理ブロックから構成されている。データ
ディスクが4台の場合、LB0〜LB7の8個の論理ブ
ロックは完全な2つの論理パリティグループLPG0、
LPG1を構成できるが、LB8、LB9の2つの論理
ブロックは完全な論理パリティグループを構成できな
い。このような論理ブロックをフラグメント論理ブロッ
クと称することにする。ファイル1(file1)のL
B4、およびファイル2(file2)のLB0も同様
にフラグメント論理ブロックである。このようなフラグ
メント論理ブロックの扱い方の例を示す。この方法は、
完全なる第1実施例の拡張であり、各ファイル内のフラ
グメント論理ブロックのみで論理パリティグループを構
成してしまう方法である。この方法は第1実施例と同様
に実現できる。この方法は追加を頻繁に行うようなファ
イルの場合すでにフラグメント論理ブロックに対応した
論理パリティブロックが割り当てられているので、追加
したブロックにより構成する論理パリティグループがフ
ラグメント論理ブロックによるものか完全なものである
かを認識する必要がなく、容易に構成できるというメリ
ットがある。また、本方法では、ただ1つの論理ブロッ
クにより構成された小さなファイルに対しては論理ブロ
ックと論理パリティブロックの2つのブロックを使用す
ることになるが、これら両者の内容を同一とする。こう
すると、本ファイルリードの際にはどちらのブロックを
リードしても良い。すなわち、現在使用されていないデ
ィスクを選択する、もしくは両ディスクともに使用され
ていないときにはシーク距離、回転待ち時間の小さいデ
ィスクを選択しリードすれば良い。このような小さなフ
ァイルがたくさん存在するようなシステムにおいては以
上の制御を行うことで高速化の効果が大きい。第3実施
例を示す。第2実施例は小ファイルの高速化に効果が大
きく、また管理も容易であるという効果がある一方、フ
ァイル2のようにただ1つの論理ブロックのみで構成さ
れるような小さなファイルに対しても1つの論理パリテ
ィブロックを割り当てる必要があり、ディスク容量の点
で不利な面があった。そこでこの欠点を改善した方法を
図15に示す。ファイル0(file0)のフラグメン
ト論理ブロックLB8、LB9と、ファイル1(fil
e1)のフラグメント論理ブロックLB4と、ファイル
2(file2)のフラグメント論理ブロックLB0と
の合計4個のフラグメント論理ブロックにより仮の論理
パリティグループVLPG0を構成し、これら論理ブロ
ックの排他的論理和を計算し、フラグメント論理ブロッ
クによるパリティブロック(フラグメントパリティブロ
ック)FP0を生成する。一つの仮の論理パリティグル
ープに含まれるフラグメント論理ブロックはすべて異な
るデータディスクに格納されるよう配置し、フラグメン
トパリティブロックは以上のデータディスクとは異なる
パリティディスク上に配置する。ファイルの論理ブロッ
クをディスク上に格納するときにはファイル中にフラグ
メント論理ブロックが存在するかどうか検査する必要が
ある。このため、第1実施例で示した、図4のファイル
管理テーブルの一部であるバッファ管理テーブル105
7のフラグ領域に”フラグメント論理ブロック”フラグ
を設け、当該論理ブロックがフラグメント論理ブロック
であるかどうかを認識可能としておく。また、論理パリ
ティブロックを管理するパリティ用バッファ管理テーブ
ル1057bにも同様に”フラグメント論理ブロック”
フラグを設け、当該論理パリティブロックがフラグメン
トパリティブロックであるかどうかを認識可能としてお
く。このフラグメントパリティブロックは複数のファイ
ルのフラグメント論理ブロックのデータ用バッファ管理
テーブル1057aから参照されることになる。既存フ
ァイルに新規論理ブロックを追加するような場合、ま
ず、図4のファイルインデックス管理テーブル1056
の論理ブロックに対応するバッファ管理テーブル105
11へのポインタを参照し、新規論理ブロックの番号が
(データディスク数nの整数倍−1)でないときはその
論理ブロックはフラグメント論理ブロックとなる。よっ
て、”フラグメント論理ブロック”フラグを”ON”と
し、もし、既に同一ファイルにフラグメント論理ブロッ
クがあるならば、その仮の論理パリティグループに当該
新規フラグメント論理ブロックを編入する。当該仮の論
理パリティグループに空きがない、もしくは同一ファイ
ルにフラグメント論理ブロックがないときは新規に仮の
論理パリティグループを構成する。もし、新規論理ブロ
ック番号が(データディスク数nの整数倍−1)に一致
するときは、当該ファイル内部で完全な論理パリティグ
ループを構成できるので、n個の当該ファイル内部のフ
ラグメント論理ブロックの排他的論理和を計算し、新規
に論理パリティブロックを構成し、パリティディスクに
格納する。この際、すべてのフラグメント論理ブロック
が異なるデータディスク上に格納されるように配置する
ことで、データ論理ブロックを移動すること無く、論理
パリティブロックのみ新規に生成すれば良い。このよう
に、ファイルが大きくなる過程においてはフラグメント
論理ブロックが発生するが、上記実施例1に示したよう
に、パリティの更新処理はホスト主記憶メモリ上にて行
い、直ちにはディスク上に書き出すことはしないため、
論理パリティブロック更新のためのオーバヘッド時間は
通常非常に小さい。以上のように、本実施例によればフ
ァイルの論理ブロック数がデータディスク台数の整数倍
でないときにもパリティディスク容量を節約したパリテ
ィ管理を実現でき、その性能も上記第1実施例とほぼ同
等で実現できる。次に第4実施例を説明する。上記第1
〜3実施例では、図4に示すファイル管理テーブル(バ
ッファ管理テーブル)により論理ブロックと論理パリテ
ィブロックの対応関係を保持するよう構成していた。本
実施例では上記方式と異なる第2の管理方法を図16に
示す。21052はファイル名管理テーブル、2105
2aはデータファイルを管理するデータファイルインデ
ックス管理テーブルへのポインタ、21052bはデー
タファイルの論理ブロックに対応した論理パリティブロ
ックを1つのパリティファイルとして管理するためのパ
リティファイルインデックス管理テーブルへのポイン
タ、21056aはデータファイルの論理ブロックを管
理するデータファイルインデックス管理テーブル、21
056bは論理パリティブロックを管理するパリティフ
ァイルインデックス管理テーブル、21057aおよび
21057bは各論理ブロック及び論理パリティブロッ
クに対応したバッファを管理するためのバッファ管理テ
ーブルである。データファイルインデックス管理テーブ
ル21056a及び、パリティファイルインデックス管
理テーブル21056bは図4のファイルインデックス
管理テーブル1056と同様である。また、バッファ管
理テーブル21057は図4のバッファ管理テーブル1
057から論理パリティポインタを除いたものと同様で
ある。本実施例の方式は、1つのファイルをデータファ
イルとパリティファイルの2つのファイルに分割して管
理している。図17を用いて説明する。ファイル名管理
テーブル21052は2つのポインタフィールド、デー
タファイルインデックスポインタ21052aおよびパ
リティファイルインデックスポインタ21052bを有
する。file0はデータファイルfile0dおよび
パリティファイルfile0pの2部に分けられ、各々
独立したファイルとして管理する。但し、これら両者の
ファイルは上記ファイル名管理テーブル21052で関
係づける。論理ブロックと論理パリティブロック、論理
パリティグループの関係および管理方法は上記第1実施
例と同様である。以上の方式によれば上記第1実施例同
様の効果を得ることができる。また、もし、ユーザの要
求、作業領域である等の理由により、ファイルによって
は信頼性が不要な場合に選択によりパリティを付加しな
い事も可能であり、本ディスクアレイサブシステム利用
者の要求に合致した信頼性を提供できる。第5実施例を
説明する。以上の実施例はすべてホスト1上のOS10
3によりディスクアレイサブシステムを制御する方式で
あったが、データベース管理システムのようなアプリケ
ーションにおいては、使用方法に、より合致したディス
クシステムの制御の最適化を図る必要があり、このため
にはアプリケーション101内部でディスクシステムの
制御を行うことが必要となる。図18にこの例を示す。
101はアプリケーション、1058はディスクアレイ
サブシステム2を制御・管理するディスクアレイ管理部
である。1058内部の構成は上記第1〜4実施例と同
様である。本アプリケーションは、OSの有するファイ
ル管理機構、すなわちファイルシステムを経由せず、ロ
ーデバイスI/Oとよぶ、ダイレクトにディスクアレイ
サブシステムを制御する方法を用いる。アプリケーショ
ンがローデバイスI/Oシステムコールを発行するとO
SのシステムコールI/Fはこれを受けデバイスドライ
バに対し、アプリケーションの要求するディスクI/F
制御部にディスクコマンドを発行する。このようにOS
は単にアプリケーションの要求を受けディスクにコマン
ドを発行するだけの簡単な処理のみ行う。どのディスク
に論理ブロックや論理パリティブロックを配置するかを
決定するのはアプリケーション内部のディスクアレイ管
理部の役割となる。該部の構成及び動作は上記第1実施
例同様である。以上の実施例によれば、ディスクアレイ
サブシステムをアプリケーションの使用方法に合致した
形で制御することが可能となり、高性能化、高信頼化の
効果がより大きくなる。次に第6実施例を説明する。本
実施例は図19に示すとおり、ディスクアレイサブシス
テム2内部にディスクアレイ管理部1058を有したも
のである。ディスクアレイ制御部211はホスト1と通
信することによりファイルの管理情報をディスクアレイ
制御部211内部で管理しているものである。この場
合、第1実施例同様にファイルを論理ブロックとして管
理し、論理ブロックと対応する論理パリティブロックを
管理する。ディスクアレイ管理部1058の構成及び動
作は第1実施例同様である。本実施例によれば、ディス
クアレイサブシステム内部において論理ブロック及び論
理パリティブロックの最適配置を実現できるため、従来
技術に比べて高性能化の効果が大きい。次に第7実施例
を説明する。上記第1〜6実施例は容易にネットワーク
型ディスクアレイシステムおよび分散ファイルシステム
に拡張することが可能である。図20(A)はその一例
を示したものである。5はネットワーク、60〜64は
ディスクを保持している計算機であるホスト0〜4、7
0はディスクをユーザがプログラムを実行し、ホスト0
〜4にディスクアクセス要求を発行する計算機であるク
ライアント、80〜83はデータ用ディスク、84はパ
リティ用ディスクである。ホスト0〜4は各々1台のデ
ィスク80〜84を保持している。例えばクライアント
70は上記第1実施例のようなファイル管理方法を行っ
ているとする。ただし、クライアント70は自分でデー
タ用ディスク装置を保持していないので、論理ブロック
単位でホスト0〜4にネットワーク経由でディスクアク
セス要求を発行する。しかし、クライアント70のファ
イル管理方式は上記第1実施例と同様に管理することが
できる。ただしこの場合、図4に示すファイル管理テー
ブル中のバッファ管理テーブル1057の機器番号情報
にホストのアドレス等の機器認識番号を付加する必要が
ある。たくさんのクライアントがあるような場合、ホス
ト0〜4にはたくさんのディスクアクセス要求が発行さ
れることになるが、ホスト0〜4はその実行順序及び、
論理ブロックの格納アドレスを自由に最適化して決定す
ることができる。また、別の例として図20(B)に示
した構成が考えられる。ホスト0はデータディスクのみ
を管理している。ホスト1はパリティディスクのみを管
理している。クライアント70はホスト0に対してデー
タディスクアクセス要求を発行し、ホスト1に対しパリ
ティディスクアクセス要求を発行する。上記第(A)の
例との相違はホスト0はすべてのデータディスクの管理
を行い、ホスト1はパリティディスクの管理を行う点で
ある。データとパリティは非同期で扱うことが可能なの
で、おのおの各ホストが実行順、および論理ブロックの
格納アドレスを自由に最適化して決定することができ
る。以上いくつかの実施例を説明したが、この実施例中
で(n+1)台のディスク中の1台をパリティディスク
と固定して扱ったが、論理パリティブロックを(n+
1)台のディスクすべてに分散し配置することも可能で
ある。この場合にも、並列処理により高速化を計るため
に、論理パリティグループ中の全論理ブロックと論理パ
リティブロックはすべて異なるディスク装置上に格納す
る必要があるのは上記実施例と同様である。各論理ブロ
ック及び論理パリティブロックは各ディスク上の任意の
アドレスに配置することが可能である。また、上記の実
施例はすべて磁気ディスク装置によるアレイシステムに
ついて説明したが、磁気ディスク装置のかわりに光ディ
スク装置や磁気テープ装置や半導体記憶装置を用いて同
様のファイル管理を実現したアレイシステムを構築する
ことも可能である。さらに、磁気ディスクを用いたディ
スクアレイシステム中のパリティディスクのみ光ディス
クや磁気テープ装置や半導体記憶装置を用いたり、これ
らを組み合わせた記憶装置によりおきかえることも可能
である。このように様々なシステム構成に本発明のファ
イル格納管理方式を用いることができる。
ァイル管理方式を示した模式図である。ファイルfil
e0はデータ部及びパリティ部により構成される。デー
タ部はさらに論理ブロックと呼ぶ小ブロックに分割され
る。この例では論理ブロックは8KBであり、ファイル
のデータ部は96KBであるとする。ファイルfile
0は先頭のブロックから順にLB0、LB1、・・・、
LB11の12個の論理ブロックに分割できる。また、
ディスクアレイサブシステム2はディスク0(20
0)、ディスク1(201)、・・・、ディスク4(2
04)の計ディスク5台を内蔵している。特にディスク
4(204)はパリティディスクと呼び、パリティ格納
専用のディスクである。上記、論理ブロックはディスク
アレイサブシステム2のディスク0からディスク3の計
4台のデータディスクと呼ぶディスク群に分配されて、
格納される。この例ではLB0はディスク0に、LB1
はディスク1に、LB2はディスク2に、と以下順に繰
り返し配置され、格納される。ここで、ファイル先頭論
理ブロックからデータディスク台数個、すなわちLB0
からLB3までの4個の論理ブロックにより論理パリテ
ィグループLPG0、LB4からLB7までの4個の論
理ブロックで論理パリティグループLPG1、LB8か
らLB11までの4個の論理ブロックで論理パリティグ
ループLPG2を形成し、各該グループ内でバイト単位
に読みだし、各ビットごとに排他的論理和を計算し、論
理パリティブロックを生成する。すなわち、 LB0+LB1+LB2+LB3=LP0 (1) LB4+LB5+LB6+LB7=LP1 (2) LB8+LB9+LB10+LB11=LP2 (3) となる。ただし、ここで記号+は排他的論理和を表す。
生成した論理パリティブロックLP0、LP1、LP2
はパリティディスクすなわちディスク4に格納される。
上記のファイルfile0のデータ部及びパリティ部を
構成する各論理ブロック論理パリティブロックはそれぞ
れ互いに関連づけて管理する。もし、ある論理ブロック
LBnのデータを書き換えようとするとき、関連する論
理パリティブロックLPkも同時に書き換える。上記の
ファイル管理方法を実現する具体的な実施例を以下に示
す。図2は本実施例のシステム構成を表すブロック図で
ある。1はホスト、2はディスクアレイサブシステム、
3はディスクインタフェース(以下I/Fと略記す
る。)である。ホスト1ではオペレーティングシステム
(以下OSと略記する。)103が動作し、その管理の
下で、アプリケーション(101および102)(以下
APと略記する)が動作している。OS103は以下の
各構成部を有する。104はアプリケーションからのデ
ィスクアクセス要求等を受信するシステムコールI/
F、105はファイルのディスクへの格納管理を行うフ
ァイルシステム、106はディスクI/F制御部107
の制御を行うデバイスドライバ部である。ファイルシス
テム105はディスクアレイ管理部1058を内蔵し、
該部はディスクアレイの制御を司る。107はディスク
I/F3を制御するディスクI/F制御部である。ディ
スクアレイサブシステム2は5台のディスク(200〜
204)から構成されており、これらはディスクI/F
3を介しそれぞれホスト1に接続している。このディス
クアレイサブシステム2は上記の通りファイルシステム
105中のディスクアレイ管理部1058により制御、
管理されている。ホスト1のOS103内部にあるファ
イル管理部(ファイルシステム)105は、以下の動作
をもってホストに接続した複数台のディスク装置200
〜204のどこにデータブロックを格納するか決定す
る。すなわち、上記ファイル管理部105がファイルに
データを格納する要求を受信すると、該部105は該部
105内の上記ファイルとデータブロックを対応づける
テーブルを参照し、上記データがどのデータブロックで
あるかを判定する。もし、すでにあるデータブロックで
あれば、旧データとの差分データを計算し、バッファに
格納しておく。もし、新規のデータブロックであれば、
複数台のディスク装置のうちどのディスク装置にデータ
ブロックを格納するかを決定する手段が格納ディスク装
置を決定する。そして上記ディスク装置のどのアドレス
空間にデータブロックを格納するかを決定する手段は上
記各ディスク装置の使用状況を管理するテーブルを参照
し、格納アドレスを決定する。また、上記冗長データを
生成する手段は、上記データブロックと対応する冗長デ
ータブロックとの関係付けを管理するテーブルを参照
し、上記データブロックに対応する冗長データブロック
の有無を判断し、もし、対応する冗長データブロックが
存在しない場合、上記冗長データブロックをどのディス
ク装置に格納するかを決定する手段は冗長データ格納の
ためのディスク装置を決定し、上記ディスク装置のどの
アドレス空間に冗長データブロックを格納するかを決定
する手段は上記ディスク装置の使用状況を管理するテー
ブルを参照し、格納アドレスを決定し、上記データブロ
ックと対応する冗長データブロックの関係付けを管理す
るテーブルに登録する。もし対応する冗長データブロッ
クがバッファ上に存在する場合には、上記冗長データブ
ロックのデータとの排他的論理和を計算しバッファ上に
保存する。もし対応する冗長データブロックがバッファ
上に存在しない場合には、このデータをバッファ上に保
存する 冗長データを計算する手段は、上記の処理の後非同期的
にバッファ上の差分データとディスク装置上の旧冗長デ
ータとの排他的論理和を計算し、新冗長データを生成
し、ディスク装置に書き戻す。5台のディスク装置がホ
スト1に接続されているが、4台はデータ用ディスク装
置、1台は冗長データ用ディスク装置として使用する。
上記データブロックを格納するディスク装置を決定する
手段は、ファイルのデータブロックをデータ用ディスク
装置に略均等に配置するように格納ディスク装置を決定
する。同一ファイルの4個のデータブロックにより冗長
データグループと呼ぶグループを構成し、同一冗長デー
タグループ内のすべてのデータブロックの排他的論理和
を計算することで冗長データブロックを生成する。この
ように、ファイル毎に冗長データブロックが一意に決定
する。冗長データの更新は上記の通り処理する。データ
ブロックと対応する冗長データの関係付けを管理するテ
ーブルに、ファイル毎に、データブロックと対応する冗
長データブロックとを対応づけて登録する。同一ファイ
ルのデータブロックを新規作成、追加、変更している間
は、1つの冗長データを繰り返し更新する機会が一般に
多いため、以上の管理方法を採用すると、ファイル単位
で、冗長データをデータブロックに対応づけて管理して
いることより、以下の効果がある。すなわち、本管理方
法によれば、あるファイルをオープンしている間は、同
一冗長データグループに属するデータの更新に伴って、
冗長データ生成の素になる差分データを更新していく必
要があるが、データが1つのファイルに属するため、バ
ッファ上に、対応する差分データも存在することが多く
なる。その結果、データの更新に伴う差分データの更新
はほとんどが冗長データ用バッファ上で行われることに
なり、従来技術の様に、データの更新のたびに、冗長デ
ータをディスク装置からリード/ライトすることがなく
なり、結果として冗長データ更新に伴うディスクアクセ
ス回数を大幅に減少できる。以下、図3にディスクアレ
イサブシステム2の管理を司るファイルシステム103
を中心とする関係各部の構成を示す。ファイルシステム
105において、1051はアプリケーションがファイ
ルを使用する際に行うファイルオープン処理を行うファ
イルオープン処理部、1052はオープンされたファイ
ルのファイル名と対応するファイルインデックス管理テ
ーブル1056との関係を管理するファイル名管理テー
ブル、1053はアプリケーションからのファイルアク
セス要求を受信し解釈処理を行う要求処理部、1056
はファイルをいくつかのブロックに分割し、そのブロッ
ク番号をインデックスとし、あるブロックがディスク上
のどこに格納しているかを管理するファイルインデック
ス管理テーブル、1054はファイルインデックス管理
テーブル1056の新規登録、変更、削除等の管理を行
うファイルインデックス管理部、1057はファイルの
ブロックを物理メモリ上に構築されているバッファ領域
にマッピングするための管理情報であるバッファ管理テ
ーブルであり、特に1057aはデータ用のバッファ領
域を管理するためのデータ用バッファ管理テーブル、1
057bはパリティ用のバッファ領域を管理するための
パリティ用バッファ管理テーブルである。パリティにつ
いては後述する。1055は上記バッファ管理テーブル
1057の新規登録、変更、削除、バッファ割当て、等
のバッファ管理を行うバッファ管理部、1058は上記
ディスクアレイサブシステム中、ディスク、パーティシ
ョン、ディスク上の格納アドレス、等の決定を行うこと
でディスクアレイサブシステムを管理するディスクアレ
イ管理部である。同図中108はホスト1の主記憶中に
割り当てられたバッファ領域である。108aはユーザ
がファイルアクセスの為に獲得したユーザデータ領域、
108bは、ファイルシステム105がディスクをアク
セスする際のデータ管理用のデータ用バッファ領域、1
08cはファイルシステム105がパリティを管理する
ためのパリティ用バッファ領域、108dはファイルシ
ステム105がパリティの更新時等に一時的に使用する
作業用バッファ領域である。図5はディスクアレイ管理
部1058のブロック図を示している。10581は新
規ブロック登録管理部、10582は新規ブロックを格
納する機器(ディスク、パーティション)を選択する機
器選択部、10583は選択した機器の物理的なディス
クブロックアドレスを決定する物理ブロックマッピング
決定部、10584は論理パリティグループを決定し、
論理データブロックと、論理パリティブロックを関係づ
ける処理を行う論理パリティ管理部、10585はディ
スクアレイの使用状況を管理するディスクアレイ使用状
況管理テーブルである。ディスクアレイ使用状況管理テ
ーブル10585は、ディスクアレイを構成するディス
ク毎に、ディスクの物理ブロックの使用状況を管理する
物理ブロック管理テーブル10585aおよび物理ブロ
ックを構成するセクタの使用状況を管理するセクタ管理
テーブル10585bから構成される。10586は排
他的論理和計算を実施するパリティ演算部、10587
は1台のディスク故障時にパリティデータを利用し、当
該故障ディスクに格納しているデータを再現する縮退処
理を実施する縮退処理部である。図6はディスクアレイ
使用状況管理テーブル10585の具体例を示した図で
ある。ディスク毎に物理ブロック及びセクタの使用状況
及び使用用途が判断できるよう構成されている。以下、
本実施例の動作を説明する。APはファイルの操作に先
立ちファイルのオープン処理を行う必要がある。AP1
01はファイル名、オープンモード(リードモード、ラ
イトモード、リードライトモード、追加モード等)とと
もにオープンシステムコールを発行する。追加モードと
は、すでにあるファイルにファイル領域を追加してライ
トする場合であることを示すモードをいう。OSの種類
によってはライトモードに含めるものもある。OS10
3のシステムコールI/F104はこれを受信し、オー
プンシステムコールであることを判断するとファイルシ
ステムのファイルオープン処理部1051を起動する。
該部はこれを受信し、ファイル名からファイル名管理テ
ーブル1052を参照し、ファイル番号kをかえす。も
し、ライトモード時に該管理テーブル1052上にこの
ファイルが登録されていないならば新規のファイルであ
るので新規に登録する。この処理により、APは対象フ
ァイルの操作番号であるファイル番号を獲得する。以後
本ファイルのアクセスにはこのファイル番号を使用す
る。図4はファイル管理用テーブルの構成例を示してい
る。1052はファイル名管理テーブル、1056はフ
ァイルインデックス管理テーブル、1057はバッファ
管理テーブル、108はバッファメモリである。上記オ
ープン処理により、ファイル番号を獲得すると、このフ
ァイル番号をキーとして対応するファイルインデックス
管理テーブル1056が参照できる。ファイルインデッ
クス管理テーブルは、同図の通りの内容を保管したファ
イル毎のテーブルである。その内容の概要は以下の通り
である。モードはファイルのアクセスモードを示す。所
有者はファイルを作成したユーザ名、アクセス識別子は
当該ファイルのアクセス許可範囲を示す。参照カウント
はファイルに対する参照の数を示す。タイムスタンプは
ファイルが最後に読み書きされた時間や、当該ファイル
インデックス管理テーブルが最後に更新された時間を示
す。大きさはファイルのバイト単位の大きさを示す。ブ
ロック数は使用している論理ブロックの数を表す。また
論理ブロック番号に対応しバッファ管理テーブル105
7へのポインタが格納されている。バッファ管理テーブ
ル1057は各論理ブロック毎に1つ対応し、以下の内
容が記載されている。ハッシュリンクはバッファが有効
かどうかすばやく判定するためのハッシュ表へのリンク
ポインタ、待ち行列リンクは待ち行列を形成するための
リンクポインタ、フラグはバッファの状態すなわち、有
効なデータが格納されているかどうか、バッファは使用
されているかどうか、バッファの内容がディスクに未反
映となっているかどうか、等を示す。機器番号はディス
クの番号及びパーティションの番号である。ブロック番
号は機器番号で示されたディスク上のディスクアドレス
番号である。バイト数は本ブロックに格納された有効な
データのバイト数である。バッファサイズは本バッファ
のバイト単位の大きさである。バッファポインタは物理
バッファメモリへのポインタである。論理パリティグル
ープ番号は上記のファイル毎にパリティを生成する際に
構成した論理パリティグループの番号である。論理パリ
ティポインタはデータ用バッファ管理テーブル1057
aの時有効であり、当該バッファに格納するデータ論理
ブロックに対応した論理パリティブロックを格納するパ
リティ用バッファ管理テーブル1057bへのポインタ
である。データ用バッファ管理テーブル1057aおよ
びパリティ用バッファ管理テーブル1057bは構造的
には同一である。データ用バッファ管理テーブル105
7aはファイルインデックス管理テーブル1056から
参照し、パリティ用バッファ管理テーブル1057bは
対応するデータ用バッファ管理テーブル1057aから
参照する点が異なるのみである。バッファを確保する物
理メモリはデータ用バッファとパリティ用バッファとで
異なる領域にマッピングしても良いし、同じ領域を使用
してもかまわない。図3では論理的なイメージを記載し
ている。次にファイルのリード/ライト動作を図3、図
4、および図7から図12のフローチャート、図5、6
に示すディスクアレイ管理部の詳細構成を示す図、図1
3に示すデータおよびパリティ更新動作の模式図を用い
説明する。初めにリード動作を図7を用い説明する。上
記の通りファイルをリードモードでオープンする。その
後、APはリードシステムコールを発行し(1100
1)、OS103のシステムコールI/F104がこれ
を受信し、リードシステムコールであることを認識し、
ファイルシステム105をコールする(11002)。
ファイルシステム105の要求処理部1053は、バイ
ト単位にAPが発行した要求(オフセット)を上記論理
ブロック単位に変換し、該当する論理ブロックを順次ア
クセスする(11003)。ここでオフセットとは、転
送するデータの量(=転送終了アドレス−転送開始アド
レス)、すなわち転送長をいう。第1番目の対象論理ブ
ロックのリード要求を要求処理部1053はファイルイ
ンデックス管理部1054に送信する。該部はこれを受
信し、ファイルインデックス管理テーブル1056を参
照し、対象論理ブロックのデータを格納するデータ用バ
ッファ管理テーブル1057aへのポインタを得る。つ
いで、バッファ管理部1055はこのポインタを受け、
対象論理ブロックが格納されているディスク装置の機器
番号すなわちディスク番号及びパーティション番号と、
格納ディスクブロック番号を獲得する(11005)。
ここで、ディスクブロック番号とはディスク上のセクタ
に対応し線形的に付ける論理アドレスのことである。さ
らに、該部はバッファポインタを参照し、バッファすな
わち物理メモリ空間が対象論理ブロックに割り当てられ
ているかどうか判定する。もし、バッファが割り当てら
れているならば対象論理ブロックのデータが登録されて
いるかどうかバッファ管理テーブル上のフラグを判定
し、もし”データ有効”フラグが”ON”であればディ
スクへリードアクセスは不要である(キャッシュヒッ
ト)(11006)。もし、バッファが割り当てられて
いないならばバッファ管理部は新たにバッファをわりあ
てる(11007)。ついで、この場合、および前記”
データ有効”フラグが”無効”である時には、デバイス
ドライバ部106はディスクI/F(例えばSCSI)
のリードコマンドを生成し、ディスクI/F制御部10
7に発行する(11008)。ここで、ディスク装置が
指定したデータ用バッファ108bにデータを転送終了
するまでの間処理は停止し、待ち状態となる(1100
9)。データ転送が完了すると、また、上記、キャッシ
ュがヒットした場合にも、データ用バッファ108bか
らAP(ユーザ)が指定したユーザデータ領域108a
へ指定したバイト単位のデータ(オフセット)を転送す
る(11010)。処理は再びファイルシステム105
の要求処理部1053に移り、APが指定したすべての
オフセットデータが転送完了したかどうか判断し、も
し、未完了であれば以上の論理ブロック単位のリードア
クセスを繰り返し完了するまで行う(11011)。す
べての要求オフセットを転送完了したならばファイルシ
ステム105はシステムコールI/F104を介し、A
Pにシステムコール終了通知を発行し、処理はAPに戻
る。次にライト時の動作を説明する。図7において、1
1003までは同様である。ライト時には11004に
おいて図8のフローチャート(A)に分岐する。ファイ
ルインデックス管理部1054はこれを受信し、ファイ
ルインデックス管理テーブル1056を参照し、対象論
理ブロックのデータを格納するデータ用バッファ管理テ
ーブル1057aへのポインタを得る。もし、該当する
データ用バッファ管理テーブル1057aが存在しない
ときは対象論理ブロックがディスク上に格納されていな
い、すなわち新規論理ブロックであることを意味するの
で(11102)の分岐で図10(D)のフローチャー
トに分岐する。この場合の詳細に付いては後述する。も
し、該当論理ブロックがすでにディスク上に存在してい
る場合には対応するデータ用バッファ管理テーブルへの
ポインタが見つかる。この場合、ついで、バッファ管理
部1055がこのポインタを受け、対象論理ブロックが
格納されているディスク装置の機器番号すなわちディス
ク番号及びパーティション番号と、格納ディスクブロッ
ク番号を獲得する。さらに、該部はバッファポインタを
参照し、バッファすなわち物理メモリ空間が対象論理ブ
ロックに割り当てられているかどうか判定する。APが
要求したデータライト要求は上記の通りバイト単位のオ
フセットによる指定であるので、該当ブロックのすべて
を書き換えるのではない可能性がある。しかし、この場
合にも論理ブロック単位にライトする必要があるので、
一旦対象論理ブロックをデータ用バッファ上にリード
し、バッファ上で論理ブロックの必要な箇所を更新し、
ディスクに書き戻すリードモディファイライト処理を行
う必要がある。以下リードモディファイライト処理につ
いて述べるが、もし、APの要求が完全に1論理ブロッ
ク分のデータを書き換える場合には以下のリード処理は
不要である。当該論理ブロックにバッファが割り当てら
れているならば対象論理ブロックのデータが登録されて
いるかどうかバッファ管理テーブル上のフラグを判定
し、もし”データ有効”フラグが”ON”であればすで
に対象論理ブロックの旧データがデータバッファ上に存
在するので、ディスクへのリードアクセスは不要である
(キャッシュヒット)(11103)。もし、バッファ
が割り当てられていないならばバッファ管理部は新たに
バッファをわりあてる(11104)。ついで、この場
合、および前記”データ有効”フラグが”無効”である
時には、デバイスドライバ部106はディスクI/F
(例えばSCSI)のリードコマンドを生成し、ディス
クI/F制御部107に発行する(11105)。ここ
で、ディスク装置が指定したデータ用バッファ108b
にデータを転送終了するまでの間処理は停止し、待ち状
態となる(11106)。ここで旧データのリードデー
タ転送が完了する。次に、当該論理ブロックに対応する
論理パリティブロックのバッファ管理テーブルを参照
し、パリティ用バッファメモリがマッピングされている
かどうか判定する(11107)。もし、バッファがマ
ッピングされている場合でかつバッファ内容が”有効”
である場合には、図9(E)に進む。これ以外の場合
(バッファメモリマッピングが未完了である)ならばマ
ッピングを実施し(11108)、(F)に進む。つい
でパリティの更新処理にはいる。パリティ更新処理の詳
細を図13を併用して説明する。9図(E)の場合、作
業用バッファ108d0を作業用バッファ108d0領
域に確保し(11109)、ユーザ領域108a上の当
該データ(新データ)と当該データバッファ108b0
上のデータ(旧データ)との排他的論理和(EOR)を
計算し、両データの差分データを生成する(1111
0)。ここで、ユーザ領域上の当該新データをデータバ
ッファに転送し、バッファ内容を更新する(1111
1)。そして、作業用バッファ108d0上の差分デー
タと当該パリティバッファ上の排他的論理和(EOR)
を計算し、その結果をパリティバッファ108c0に格
納する(11112)。なお、図中パリティバッファを
冗長データバッファとも命名しているのは、上記の計算
により、新パリティが生成できていない場合があるから
である。ここで、生成されたデータはあくまでも新デー
タ、旧データの新差分データと、前回当該論理ブロック
をライトしたときに生成した旧差分データとの排他的論
理和であり、パリティの差分情報を算出したにすぎな
い。よって、いずれ、ディスク上に格納されている旧パ
リティと本パリティの差分情報の排他的論理和を計算す
る必要がある。このような場合、パリティ用バッファ管
理テーブル1057bの”旧パリティリード済み”フラ
グは”OFF”になっている。もし、本フラグが”O
N”の場合にはこのパリティ用バッファ上には上記処理
終了時に新パリティが生成されたことになる。次ぎに、
当該データ用バッファ管理テーブル1057a及びパリ
ティ用バッファ管理テーブル1057b上の”バッファ
内容”フラグを”dirty”に設定する(11113
〜11114)。この”dirty”フラグはバッファ
上のデータがディスク上に未反映であることを示す。い
ずれディスク上にライトバックする。この処理は図12
のフローチャートに示しており、後述する。全AP要求
データをブロックライトし終わったかどうか判断し(1
1115)、もしまだであるなら図7(C)に戻る。次
に図9(F)の場合を説明する。(E)との違いはパリ
ティ用バッファ108c0にパリティの差分情報もしく
は旧パリティが格納されていないことである。そこで、
新旧データの差分情報を上記同様生成し、当該パリティ
用バッファ108c0に格納する(11116)。パリ
ティバッファが空だから、作業用バッファは不要であ
る。この場合、旧パリティリードはまだ行っていないの
で、上記”旧パリティリード済”フラグを”OFF”に
設定しておく(11117)。そして、ユーザ領域上の
当該データ(新データ)を当該データ用バッファ領域1
08b上に転送し、バッファ内容を更新する(1111
8)。以下上記(E)の場合と同様である。次に新規ブ
ロックをライトする場合(D)を図10を用い説明す
る。当該論理ブロックに対応する論理パリティグループ
が存在するかどうかを判定する(11120)。この判
定はファイルインデックス管理テーブル1056におい
て当該論理ブロックと同一論理パリティグループの論理
ブロックがすでに登録済みかどうかを判定すれば良い。
判定の方法は、ファイルインデックス管理テーブル10
56にバッファ管理テーブル1057へのポインタがあ
るかどうかで判断できる。もし、該当する論理パリティ
ブロックが無い場合、データ用バッファ管理テーブル1
057a及びパリティ用バッファ管理テーブル1057
bの両者を新規に作成し登録する(11121〜111
22)。ここで、11121と11122で行うバッフ
ァ管理テーブル1057の新規割当と、ディスク物理ブ
ロックのマッピングに付いて図11のフローチャートを
用い説明する。初めに、ディスクアレイ管理部1058
の新規論理ブロック登録管理部10581(図5)は、
バッファ管理部1055から新規ブロック割当要求を受
信し、パリティ用ブロックかデータ用ブロックかの判定
を行い(11301)、新規にバッファ管理テーブル1
057を作成する(11302)。次に機器選択部10
582はデータブロックか、パリティブロックか、ま
た、論理ブロック番号がいくつか等の情報を基に、ブロ
ックを格納するディスク及びパーティションを決定し、
バッファ管理テーブル1057に登録する(1030
3、10304)つぎに、物理ブロックマッピング決定
部10583はディスク上のどの物理ブロックに当該論
理ブロックを格納するかをディスクアレイ使用状況管理
テーブル10585中の物理ブロック管理テーブルを参
照し、同一ファイルの他の論理ブロックの格納位置等の
情報を基に、シーク、回転待ちが最小となるような最適
なブロックを選択する。また、該管理テーブル1058
5を更新する。この物理ブロックの選択結果からディス
クブロック番号すなわちセクタ番号をバッファ管理テー
ブル1057中のブロック番号フィールドに登録する
(11305)。ついで、論理パリティグループを然る
べきアルゴリズムで決定し、その論理パリティグループ
を登録する(11306)。もしデータ用ブロックであ
るならば当該データに対応するパリティ用バッファ管理
テーブル1057bへのポインタをデータ用バッファ管
理テーブル1057aに登録し、もし、パリティ用ブロ
ックであるならば、パリティ用バッファ管理テーブル1
057bのこのフィールドにNULLポインタを登録す
る(10308)。最後に当該バッファ管理テーブル1
057を対応するファイルインデックス管理テーブル1
056に登録し、新規バッファ管理テーブルの割当及び
論理ブロックの物理ブロックマッピング処理は完了す
る。図10に戻り、新規に登録したデータ用バッファ管
理テーブル1057aにバッファメモリをマッピングす
る(11123)。もし、パリティ用バッファ管理テー
ブル1057bも新規に作成したならば同じくバッファ
メモリをマッピングする。以降は上記更新ライト時の処
理同様新旧データの差分データを計算し、パリティ用バ
ッファ領域の旧差分データとの排他的論理和を計算し、
パリティバッファ領域に格納する。もし、旧差分データ
がなければ新差分データをそのままパリティバッファ領
域に格納し、”旧パリティリード済”フラグを”OF
F”に設定する。最後にユーザ領域上の当該新データを
当該データ用バッファ領域に転送し、図9(H)に戻
る。以上ライト処理時には、データ用バッファおよびパ
リティ用バッファに新情報を格納した段階で、バッファ
管理テーブルの”バッファ内容”フラグを”dirt
y”に設定し、処理を終了していた。これは再び当該バ
ッファへの書き込み要求が発生した場合に古いデータの
ライト処理を削減できる可能性があるからである。これ
を遅延書き込みと呼び、このときには適当なタイミング
でディスク上にライトバックする必要がある。バッファ
内容とディスク内容を同期化させることからこの動作を
シンク動作と呼ぶ。このシンク動作のフローチャートを
図12に示す。シンクデーモンと呼ぶAPプロセスが定
期的にシンクシステムコールを発行する(1120
1)。OSはこれを受信し、ファイルシステムのバッフ
ァ管理部1055はリストをサーチし、”バッファ内
容”フラグが”dirty”なバッファを探し(112
03)、探したバッファがデータならばこのバッファ内
容を当該データ用バッファ管理テーブルの情報にしたが
いディスクにライトし(11204〜11206)、最
後に”バッファ内容”フラグを”clean”に設定す
る(11207)。もし、パリティ用バッファであるな
らば、”旧パリティリード済”フラグを参照し、もし”
OFF”であるならば(11208)、作業用バッファ
を確保し、旧パリティをバッファ管理テーブルが示すデ
ィスクから作業領域にリードする。この旧パリティとパ
リティ用バッファ領域上の差分パリティデータの排他的
論理和を計算し、これをパリティ用バッファに格納す
る。この生成した完全な新パリティをディスクにライト
し、”旧パリティリード済”フラグを”ON”に設定
し、また、”バッファ内容”フラグを”clean”に
設定する。もし、”旧パリティリード済”フラグがあら
かじめ”ON”であった場合には、直ちに当該ディスク
にライトし、同じく、”バッファ内容”フラグを”cl
ean”に設定する。以上の処理をすべての”dirt
y”なバッファに付いて行う。以上のように本実施例に
よれば図1のファイル単位にパリティを管理する方式が
実現できる。次に本実施例の効果を説明する。従来例に
よれば、ファイルシステム105はブロックの格納毎に
その時点で最適と思われるディスクアドレスを決定する
ため、ディスクアレイサブシステム上では図14aに示
すように断続的なブロック配置になることが多い。最適
な決定とは、例えば、1つのディスク装置内に複数のヘ
ッドがある場合にその時点で空いているヘッドを選ぶ、
回転待ち時間の少ないセクタを選ぶ等がある。LB0か
らLB3を順次格納していく場合、従来技術の場合、対
応する3つのパリティブロックP1、P5、P8を更新
する必要があり、データブロックとパリティブロック、
計7個について、計7回のリードモディファイライト処
理を実施する必要がある。一方本実施例の方式では、図
14bに示すとおり連続した論理ブロックLB0〜LB
3の対応論理パリティは唯一LP0に決定する。遅延書
き込みを上記実施例の通り実施している場合、LP0の
更新はバッファ上のみで実行できるため、パリティ更新
処理のためのリードモディファイライト処理は1回で済
み、データの更新も含めると、データブロックとパリテ
ィブロック、計5個について、計5回のリードモディフ
ァイライト処理を行うことになる。この例の場合処理効
率が1.4倍向上したことになる。以上の効果を一般化
すると、(n+1)台のディスクで構成されるディスク
アレイサブシステムでは、k個の論理ブロックをライト
した場合のパリティ更新最大回数は、 (1)従来 k回 (2)本実施例 kがnの倍数の時 (k/n)回 kがnの倍数でない時 ((k/n)+1)回 となる。データ更新まで含めた処理効率は約(2/(1
+(1/n)))倍に向上する。第2実施例を説明す
る。上記第1実施例では、ファイルの論理ブロック数は
データディスク台数の整数倍であるとして説明してきた
が、実際にはファイルの論理ブロック数は任意整数個で
ある。例えば図15に示すファイル0(file0)は
合計10個の論理ブロックから構成されている。データ
ディスクが4台の場合、LB0〜LB7の8個の論理ブ
ロックは完全な2つの論理パリティグループLPG0、
LPG1を構成できるが、LB8、LB9の2つの論理
ブロックは完全な論理パリティグループを構成できな
い。このような論理ブロックをフラグメント論理ブロッ
クと称することにする。ファイル1(file1)のL
B4、およびファイル2(file2)のLB0も同様
にフラグメント論理ブロックである。このようなフラグ
メント論理ブロックの扱い方の例を示す。この方法は、
完全なる第1実施例の拡張であり、各ファイル内のフラ
グメント論理ブロックのみで論理パリティグループを構
成してしまう方法である。この方法は第1実施例と同様
に実現できる。この方法は追加を頻繁に行うようなファ
イルの場合すでにフラグメント論理ブロックに対応した
論理パリティブロックが割り当てられているので、追加
したブロックにより構成する論理パリティグループがフ
ラグメント論理ブロックによるものか完全なものである
かを認識する必要がなく、容易に構成できるというメリ
ットがある。また、本方法では、ただ1つの論理ブロッ
クにより構成された小さなファイルに対しては論理ブロ
ックと論理パリティブロックの2つのブロックを使用す
ることになるが、これら両者の内容を同一とする。こう
すると、本ファイルリードの際にはどちらのブロックを
リードしても良い。すなわち、現在使用されていないデ
ィスクを選択する、もしくは両ディスクともに使用され
ていないときにはシーク距離、回転待ち時間の小さいデ
ィスクを選択しリードすれば良い。このような小さなフ
ァイルがたくさん存在するようなシステムにおいては以
上の制御を行うことで高速化の効果が大きい。第3実施
例を示す。第2実施例は小ファイルの高速化に効果が大
きく、また管理も容易であるという効果がある一方、フ
ァイル2のようにただ1つの論理ブロックのみで構成さ
れるような小さなファイルに対しても1つの論理パリテ
ィブロックを割り当てる必要があり、ディスク容量の点
で不利な面があった。そこでこの欠点を改善した方法を
図15に示す。ファイル0(file0)のフラグメン
ト論理ブロックLB8、LB9と、ファイル1(fil
e1)のフラグメント論理ブロックLB4と、ファイル
2(file2)のフラグメント論理ブロックLB0と
の合計4個のフラグメント論理ブロックにより仮の論理
パリティグループVLPG0を構成し、これら論理ブロ
ックの排他的論理和を計算し、フラグメント論理ブロッ
クによるパリティブロック(フラグメントパリティブロ
ック)FP0を生成する。一つの仮の論理パリティグル
ープに含まれるフラグメント論理ブロックはすべて異な
るデータディスクに格納されるよう配置し、フラグメン
トパリティブロックは以上のデータディスクとは異なる
パリティディスク上に配置する。ファイルの論理ブロッ
クをディスク上に格納するときにはファイル中にフラグ
メント論理ブロックが存在するかどうか検査する必要が
ある。このため、第1実施例で示した、図4のファイル
管理テーブルの一部であるバッファ管理テーブル105
7のフラグ領域に”フラグメント論理ブロック”フラグ
を設け、当該論理ブロックがフラグメント論理ブロック
であるかどうかを認識可能としておく。また、論理パリ
ティブロックを管理するパリティ用バッファ管理テーブ
ル1057bにも同様に”フラグメント論理ブロック”
フラグを設け、当該論理パリティブロックがフラグメン
トパリティブロックであるかどうかを認識可能としてお
く。このフラグメントパリティブロックは複数のファイ
ルのフラグメント論理ブロックのデータ用バッファ管理
テーブル1057aから参照されることになる。既存フ
ァイルに新規論理ブロックを追加するような場合、ま
ず、図4のファイルインデックス管理テーブル1056
の論理ブロックに対応するバッファ管理テーブル105
11へのポインタを参照し、新規論理ブロックの番号が
(データディスク数nの整数倍−1)でないときはその
論理ブロックはフラグメント論理ブロックとなる。よっ
て、”フラグメント論理ブロック”フラグを”ON”と
し、もし、既に同一ファイルにフラグメント論理ブロッ
クがあるならば、その仮の論理パリティグループに当該
新規フラグメント論理ブロックを編入する。当該仮の論
理パリティグループに空きがない、もしくは同一ファイ
ルにフラグメント論理ブロックがないときは新規に仮の
論理パリティグループを構成する。もし、新規論理ブロ
ック番号が(データディスク数nの整数倍−1)に一致
するときは、当該ファイル内部で完全な論理パリティグ
ループを構成できるので、n個の当該ファイル内部のフ
ラグメント論理ブロックの排他的論理和を計算し、新規
に論理パリティブロックを構成し、パリティディスクに
格納する。この際、すべてのフラグメント論理ブロック
が異なるデータディスク上に格納されるように配置する
ことで、データ論理ブロックを移動すること無く、論理
パリティブロックのみ新規に生成すれば良い。このよう
に、ファイルが大きくなる過程においてはフラグメント
論理ブロックが発生するが、上記実施例1に示したよう
に、パリティの更新処理はホスト主記憶メモリ上にて行
い、直ちにはディスク上に書き出すことはしないため、
論理パリティブロック更新のためのオーバヘッド時間は
通常非常に小さい。以上のように、本実施例によればフ
ァイルの論理ブロック数がデータディスク台数の整数倍
でないときにもパリティディスク容量を節約したパリテ
ィ管理を実現でき、その性能も上記第1実施例とほぼ同
等で実現できる。次に第4実施例を説明する。上記第1
〜3実施例では、図4に示すファイル管理テーブル(バ
ッファ管理テーブル)により論理ブロックと論理パリテ
ィブロックの対応関係を保持するよう構成していた。本
実施例では上記方式と異なる第2の管理方法を図16に
示す。21052はファイル名管理テーブル、2105
2aはデータファイルを管理するデータファイルインデ
ックス管理テーブルへのポインタ、21052bはデー
タファイルの論理ブロックに対応した論理パリティブロ
ックを1つのパリティファイルとして管理するためのパ
リティファイルインデックス管理テーブルへのポイン
タ、21056aはデータファイルの論理ブロックを管
理するデータファイルインデックス管理テーブル、21
056bは論理パリティブロックを管理するパリティフ
ァイルインデックス管理テーブル、21057aおよび
21057bは各論理ブロック及び論理パリティブロッ
クに対応したバッファを管理するためのバッファ管理テ
ーブルである。データファイルインデックス管理テーブ
ル21056a及び、パリティファイルインデックス管
理テーブル21056bは図4のファイルインデックス
管理テーブル1056と同様である。また、バッファ管
理テーブル21057は図4のバッファ管理テーブル1
057から論理パリティポインタを除いたものと同様で
ある。本実施例の方式は、1つのファイルをデータファ
イルとパリティファイルの2つのファイルに分割して管
理している。図17を用いて説明する。ファイル名管理
テーブル21052は2つのポインタフィールド、デー
タファイルインデックスポインタ21052aおよびパ
リティファイルインデックスポインタ21052bを有
する。file0はデータファイルfile0dおよび
パリティファイルfile0pの2部に分けられ、各々
独立したファイルとして管理する。但し、これら両者の
ファイルは上記ファイル名管理テーブル21052で関
係づける。論理ブロックと論理パリティブロック、論理
パリティグループの関係および管理方法は上記第1実施
例と同様である。以上の方式によれば上記第1実施例同
様の効果を得ることができる。また、もし、ユーザの要
求、作業領域である等の理由により、ファイルによって
は信頼性が不要な場合に選択によりパリティを付加しな
い事も可能であり、本ディスクアレイサブシステム利用
者の要求に合致した信頼性を提供できる。第5実施例を
説明する。以上の実施例はすべてホスト1上のOS10
3によりディスクアレイサブシステムを制御する方式で
あったが、データベース管理システムのようなアプリケ
ーションにおいては、使用方法に、より合致したディス
クシステムの制御の最適化を図る必要があり、このため
にはアプリケーション101内部でディスクシステムの
制御を行うことが必要となる。図18にこの例を示す。
101はアプリケーション、1058はディスクアレイ
サブシステム2を制御・管理するディスクアレイ管理部
である。1058内部の構成は上記第1〜4実施例と同
様である。本アプリケーションは、OSの有するファイ
ル管理機構、すなわちファイルシステムを経由せず、ロ
ーデバイスI/Oとよぶ、ダイレクトにディスクアレイ
サブシステムを制御する方法を用いる。アプリケーショ
ンがローデバイスI/Oシステムコールを発行するとO
SのシステムコールI/Fはこれを受けデバイスドライ
バに対し、アプリケーションの要求するディスクI/F
制御部にディスクコマンドを発行する。このようにOS
は単にアプリケーションの要求を受けディスクにコマン
ドを発行するだけの簡単な処理のみ行う。どのディスク
に論理ブロックや論理パリティブロックを配置するかを
決定するのはアプリケーション内部のディスクアレイ管
理部の役割となる。該部の構成及び動作は上記第1実施
例同様である。以上の実施例によれば、ディスクアレイ
サブシステムをアプリケーションの使用方法に合致した
形で制御することが可能となり、高性能化、高信頼化の
効果がより大きくなる。次に第6実施例を説明する。本
実施例は図19に示すとおり、ディスクアレイサブシス
テム2内部にディスクアレイ管理部1058を有したも
のである。ディスクアレイ制御部211はホスト1と通
信することによりファイルの管理情報をディスクアレイ
制御部211内部で管理しているものである。この場
合、第1実施例同様にファイルを論理ブロックとして管
理し、論理ブロックと対応する論理パリティブロックを
管理する。ディスクアレイ管理部1058の構成及び動
作は第1実施例同様である。本実施例によれば、ディス
クアレイサブシステム内部において論理ブロック及び論
理パリティブロックの最適配置を実現できるため、従来
技術に比べて高性能化の効果が大きい。次に第7実施例
を説明する。上記第1〜6実施例は容易にネットワーク
型ディスクアレイシステムおよび分散ファイルシステム
に拡張することが可能である。図20(A)はその一例
を示したものである。5はネットワーク、60〜64は
ディスクを保持している計算機であるホスト0〜4、7
0はディスクをユーザがプログラムを実行し、ホスト0
〜4にディスクアクセス要求を発行する計算機であるク
ライアント、80〜83はデータ用ディスク、84はパ
リティ用ディスクである。ホスト0〜4は各々1台のデ
ィスク80〜84を保持している。例えばクライアント
70は上記第1実施例のようなファイル管理方法を行っ
ているとする。ただし、クライアント70は自分でデー
タ用ディスク装置を保持していないので、論理ブロック
単位でホスト0〜4にネットワーク経由でディスクアク
セス要求を発行する。しかし、クライアント70のファ
イル管理方式は上記第1実施例と同様に管理することが
できる。ただしこの場合、図4に示すファイル管理テー
ブル中のバッファ管理テーブル1057の機器番号情報
にホストのアドレス等の機器認識番号を付加する必要が
ある。たくさんのクライアントがあるような場合、ホス
ト0〜4にはたくさんのディスクアクセス要求が発行さ
れることになるが、ホスト0〜4はその実行順序及び、
論理ブロックの格納アドレスを自由に最適化して決定す
ることができる。また、別の例として図20(B)に示
した構成が考えられる。ホスト0はデータディスクのみ
を管理している。ホスト1はパリティディスクのみを管
理している。クライアント70はホスト0に対してデー
タディスクアクセス要求を発行し、ホスト1に対しパリ
ティディスクアクセス要求を発行する。上記第(A)の
例との相違はホスト0はすべてのデータディスクの管理
を行い、ホスト1はパリティディスクの管理を行う点で
ある。データとパリティは非同期で扱うことが可能なの
で、おのおの各ホストが実行順、および論理ブロックの
格納アドレスを自由に最適化して決定することができ
る。以上いくつかの実施例を説明したが、この実施例中
で(n+1)台のディスク中の1台をパリティディスク
と固定して扱ったが、論理パリティブロックを(n+
1)台のディスクすべてに分散し配置することも可能で
ある。この場合にも、並列処理により高速化を計るため
に、論理パリティグループ中の全論理ブロックと論理パ
リティブロックはすべて異なるディスク装置上に格納す
る必要があるのは上記実施例と同様である。各論理ブロ
ック及び論理パリティブロックは各ディスク上の任意の
アドレスに配置することが可能である。また、上記の実
施例はすべて磁気ディスク装置によるアレイシステムに
ついて説明したが、磁気ディスク装置のかわりに光ディ
スク装置や磁気テープ装置や半導体記憶装置を用いて同
様のファイル管理を実現したアレイシステムを構築する
ことも可能である。さらに、磁気ディスクを用いたディ
スクアレイシステム中のパリティディスクのみ光ディス
クや磁気テープ装置や半導体記憶装置を用いたり、これ
らを組み合わせた記憶装置によりおきかえることも可能
である。このように様々なシステム構成に本発明のファ
イル格納管理方式を用いることができる。
【0008】
【発明の効果】以上のように、本発明によれば、ファイ
ル毎にパリティを生成するので、パリティを局所化して
扱うことが可能となり、同一ファイルの更新、追加等を
繰り返し行う場合、パリティの更新処理のほとんどをホ
ストのメモリ上のバッファ領域で行うことが可能とな
り、パリティ更新にともなうディスクアクセス回数を大
幅に削減できファイル処理の高速化を実現できるという
効果がある。また、データ、パリティ両者ともにホスト
側で格納位置を決定できるのでディスク上への論理ブロ
ック配置最適化を実現でき、アクセス時間の短い高速リ
ード/ライト処理を実現できるという効果がある。ま
た、ディスクアレイの制御はホスト側ですべて行うの
で、ディスクアレイ制御のための特別な回路が不要であ
る。具体的には、図21では、2個のディスクI/F制
御部107,210があるが、図2では、1個のディス
ク制御部107のみで済む。これにより、低価格なディ
スクアレイサブシステムを構築できという効果があり、
さらに、特別な回路を付加した際に発生する処理時間の
増加を削減できるという効果もある。また、アプリケー
ション内部に本発明のファイル格納管理方式を搭載でき
るので、アプリケーションのディスクアクセス特性に合
致した最適なファイル格納管理を実現でき、高性能化、
高信頼化を実現できる。また、ネットワーク上のいかな
る場所にでも論理ブロックならびに論理パリティブロッ
クを配置できるので高信頼、高性能な分散ファイルシス
テムを容易に構築できるという効果がある。また、パリ
ティのみをディスク装置以外のデバイスにおくことも可
能となり、データには高性能なディスクを、パリティに
は低性能であるが安価なデバイスを選択することで高コ
ストパフォーマンスなファイルシステムを構築可能であ
る。また、ファイル毎にパリティを付加するか付加しな
いかを利用者が決定できるため、利用者の要望に合致し
た信頼性を提供できる。
ル毎にパリティを生成するので、パリティを局所化して
扱うことが可能となり、同一ファイルの更新、追加等を
繰り返し行う場合、パリティの更新処理のほとんどをホ
ストのメモリ上のバッファ領域で行うことが可能とな
り、パリティ更新にともなうディスクアクセス回数を大
幅に削減できファイル処理の高速化を実現できるという
効果がある。また、データ、パリティ両者ともにホスト
側で格納位置を決定できるのでディスク上への論理ブロ
ック配置最適化を実現でき、アクセス時間の短い高速リ
ード/ライト処理を実現できるという効果がある。ま
た、ディスクアレイの制御はホスト側ですべて行うの
で、ディスクアレイ制御のための特別な回路が不要であ
る。具体的には、図21では、2個のディスクI/F制
御部107,210があるが、図2では、1個のディス
ク制御部107のみで済む。これにより、低価格なディ
スクアレイサブシステムを構築できという効果があり、
さらに、特別な回路を付加した際に発生する処理時間の
増加を削減できるという効果もある。また、アプリケー
ション内部に本発明のファイル格納管理方式を搭載でき
るので、アプリケーションのディスクアクセス特性に合
致した最適なファイル格納管理を実現でき、高性能化、
高信頼化を実現できる。また、ネットワーク上のいかな
る場所にでも論理ブロックならびに論理パリティブロッ
クを配置できるので高信頼、高性能な分散ファイルシス
テムを容易に構築できるという効果がある。また、パリ
ティのみをディスク装置以外のデバイスにおくことも可
能となり、データには高性能なディスクを、パリティに
は低性能であるが安価なデバイスを選択することで高コ
ストパフォーマンスなファイルシステムを構築可能であ
る。また、ファイル毎にパリティを付加するか付加しな
いかを利用者が決定できるため、利用者の要望に合致し
た信頼性を提供できる。
【図1】論理ブロックとパリティブロックの対応付けを
示す説明図。
示す説明図。
【図2】第1実施例のシステム構成図。
【図3】本発明のファイル管理を実現する部分のブロッ
ク図。
ク図。
【図4】ファイル管理用のテーブルの関係の説明図。
【図5】ディスクアレイ管理部のブロック図。
【図6】ディスクアレイ使用状況管理テーブルの構成例
を示す説明図。
を示す説明図。
【図7】ディスクリード処理のフローチャート。
【図8】ディスクライト処理のフローチャート(1)。
【図9】ディスクライト処理のフローチャート(2)。
【図10】ディスクライト処理のフローチャート
(3)。
(3)。
【図11】バッファ管理テーブル割当処理及び物理ブロ
ックマッピング処理のフローチャート。
ックマッピング処理のフローチャート。
【図12】ディスクシンク処理のフローチャート。
【図13】データ論理ブロック、論理パリティブロック
の更新処理の模式図。
の更新処理の模式図。
【図14】ファイルの論理ブロックとパリティとの関係
について、従来技術と本発明とを対比して示す説明図。
について、従来技術と本発明とを対比して示す説明図。
【図15】第3実施例のファイルの論理ブロックと論理
パリティの関係を示す説明図。
パリティの関係を示す説明図。
【図16】第4実施例のファイル管理テーブルの実施例
を示す説明図。
を示す説明図。
【図17】第4実施例のファイル名管理テーブルとデー
タファイル、パリティファイルの関係を示す説明図。
タファイル、パリティファイルの関係を示す説明図。
【図18】第5実施例のシステム構成を示すブロック
図。
図。
【図19】第6実施例のシステム構成を示すブロック
図。
図。
【図20】第7実施例のシステム構成を示すブロック
図。
図。
【図21】従来例のファイル管理部を中心とするシステ
ム構成を示すブロック図。
ム構成を示すブロック図。
1054 ファイルインデックス管理部 1055 バッファ管理部 1056 ファイルインデックス管理テーブル 1057 バッファ管理テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大枝 高 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 高橋 宏明 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 秋山 仁 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内
Claims (17)
- 【請求項1】同一のファイルを構成するデータを、複数
のデータセグメントに分割し、1つのデータセグメント
で1つのデータブロックを構成し、上記複数のデータブ
ロックを外部の複数のディスク装置に分配するファイル
格納管理装置であって、 上記複数のディスク装置に格納されたデータブロックの
うち互いに異なるディスク装置に格納される複数のデー
タブロックで構成される冗長データグループを決定する
とともに、上記複数のデータブロックの各々を格納する
ディスク装置を決定する決定手段と、 同一冗長データグループ内のデータブロックに含まれる
データにより冗長データを求め、該冗長データから構成
される冗長データブロックを冗長データグループごとに
生成する手段と、 上記ファイルと、上記ファイルを構成する上記データブ
ロックとの対応関係に関する情報を記憶する第1の記憶
手段と、 上記データブロックと上記冗長データブロックとの対応
関係に関する情報を記憶する第2の記憶手段とを有する
ことを特徴とするファイル格納管理装置。 - 【請求項2】請求項1記載のファイル格納管理装置にお
いて、 同一ファイルに関する、上記データブロックと、上記冗
長データブロックとについての情報は、各ファイル毎に
記憶されていることを特徴とするファイル格納管理装
置。 - 【請求項3】請求項1または2記載のファイル格納管理
装置において、 上記冗長データグループは、n個のデータブロックを有
し、 上記ファイルを構成するデータブロック数mがnの倍数
でないときは、mをnで割った剰余分のデータブロック
と、他のファイルを構成するデータブロックとにより、
n個のデータブロックからなる冗長データグループを構
成することを特徴とするファイル格納管理装置。 - 【請求項4】請求項1または2記載のファイル格納管理
装置において、 上記冗長データグループは、n個のデータブロックを有
し、 上記ファイルを構成するデータブロック数mがnの倍数
でないときは、mをnで割った剰余分のデータブロック
で、1つの冗長データグループを構成することを特徴と
するファイル格納管理装置。 - 【請求項5】請求項4記載のファイル格納管理装置にお
いて、 上記剰余分のデータブロックの個数が、一つであるとき
は、上記1つのデータブロックで、1つの冗長データグ
ループを構成し、 上記冗長データグループに対応する冗長データブロック
は、上記データブロックと同一のデータから構成される
ことを特徴とするファイル格納管理装置。 - 【請求項6】請求項1から5のいずれかに記載のファイ
ル格納管理装置において、 上記第2の記憶手段は、 上記データブロックごとに該データブロックに関する情
報を有し、 上記データブロックに関する情報の一部として、上記デ
ータブロックと上記冗長データブロックとの対応関係に
関する情報を有することを特徴とするファイル格納管理
装置。 - 【請求項7】請求項1から5のいずれかに記載のファイ
ル格納管理装置において、 上記複数の冗長データブロック全体で、1つの独立した
ファイルを冗長データファイルとして構成し、 上記第2の記憶手段は、 上記冗長データファイルへアクセスするための情報を有
することを特徴とするファイル格納管理装置。 - 【請求項8】請求項1から7のいずれかに記載のファイ
ル格納管理装置において、 各ファイルについて、冗長データを生成するかしないか
の情報を記憶する手段を有することを特徴とするファイ
ル格納管理装置。 - 【請求項9】請求項1から8のいずれかに記載のファイ
ル格納管理装置は、コンピュータのオペレーティングシ
ステムが有するファイル管理システムであることを特徴
とするファイル格納管理装置。 - 【請求項10】請求項1から9のいずれかに記載のファ
イル格納管理装置において、 上記複数のディスク装置の中から、上記冗長データを生
成する際のもととなった冗長データグループに含まれる
データブロックが格納されていないディスク装置を、上
記生成された冗長データブロックを格納するための冗長
データディスク装置として決定する決定手段を有し、 上記決定手段は、上記冗長データブロックごとに1つの
ディスク装置を決定し、 上記決定の対象とされるディスク装置は複数あることを
特徴とするファイル格納管理装置。 - 【請求項11】請求項1から9のいずれかに記載のファ
イル格納管理装置において、 上記複数のディスク装置の中から、上記冗長データを生
成する際のもととなった冗長データグループに含まれる
データブロックが格納されていないディスク装置を、上
記生成された冗長データブロックを格納するための冗長
データディスク装置として決定する決定手段を有し、 上記決定手段は、上記冗長データブロックごとに1つの
ディスク装置を決定し、 上記決定の対象とされるディスク装置は、冗長データブ
ロックを専用に格納するディスク装置であることを特徴
とするファイル格納管理装置。 - 【請求項12】請求項1から11のいずれかに記載のフ
ァイル格納管理装置を有するコンピュータと、 複数のディスク装置を設けたディスクアレイ装置とを有
することを特徴とするディスクアレイ型ファイルシステ
ム。 - 【請求項13】請求項1から11のいずれかに記載のフ
ァイル格納管理装置と、 複数のディスク装置とを有することを特徴とするディス
クアレイサブシステム。 - 【請求項14】ネットワークに接続され、請求項1から
11のいずれかに記載のファイル格納管理装置を有する
計算機と、 ネットワークに接続された複数のディスク装置とを有す
ることを特徴とする計算機システム。 - 【請求項15】請求項1から11のいずれかに記載のフ
ァイル格納管理装置において、 決定の対象となる上記冗長データディスク装置は、光デ
ィスク装置であることを特徴とするファイル格納管理装
置。 - 【請求項16】請求項1から11のいずれかに記載のフ
ァイル格納管理装置において、 決定の対象となる上記冗長データディスク装置は、半導
体記憶装置であることを特徴とするファイル格納管理装
置。 - 【請求項17】請求項1から11のいずれかに記載のフ
ァイル格納管理装置において、 決定の対象となる上記冗長データディスク装置は、磁気
テープ装置であることを特徴とするファイル格納管理装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5285190A JPH07141232A (ja) | 1993-11-15 | 1993-11-15 | ファイル格納管理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5285190A JPH07141232A (ja) | 1993-11-15 | 1993-11-15 | ファイル格納管理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07141232A true JPH07141232A (ja) | 1995-06-02 |
Family
ID=17688278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5285190A Pending JPH07141232A (ja) | 1993-11-15 | 1993-11-15 | ファイル格納管理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07141232A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1165911A (ja) * | 1997-08-20 | 1999-03-09 | Kyushu Nippon Denki Software Kk | クライアント/サーバ型フアイルシステム |
| WO1999031590A1 (en) * | 1997-12-18 | 1999-06-24 | Matsushita Electric Industrial Co., Ltd. | File storage method, data storage apparatus, storage media management method, file management method, method of writing received data in storage media, and program storage media |
| JP2003345513A (ja) * | 2002-05-27 | 2003-12-05 | Hitachi Ltd | 記憶装置および記憶装置サブシステム |
| JP2008171537A (ja) * | 2006-12-20 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | 複数の誤り訂正符号化データセットを生成、復元、格納、書き込み並びに読み出す装置および方法 |
| JP2008204206A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
| JP2008539531A (ja) * | 2005-04-29 | 2008-11-13 | ネットワーク・アプライアンス・インコーポレイテッド | ストレージシステムクラスタの複数のボリュームにわたってデータコンテナをストライピングするためのデータ配置技術 |
| JP2009163310A (ja) * | 2007-12-28 | 2009-07-23 | Nec Corp | ディスクアレイ装置、物理ディスク復帰方法、および物理ディスク復帰プログラム |
| JP2010256652A (ja) * | 2009-04-27 | 2010-11-11 | Renesas Electronics Corp | 記憶媒体暗号処理装置及び方法 |
-
1993
- 1993-11-15 JP JP5285190A patent/JPH07141232A/ja active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1165911A (ja) * | 1997-08-20 | 1999-03-09 | Kyushu Nippon Denki Software Kk | クライアント/サーバ型フアイルシステム |
| WO1999031590A1 (en) * | 1997-12-18 | 1999-06-24 | Matsushita Electric Industrial Co., Ltd. | File storage method, data storage apparatus, storage media management method, file management method, method of writing received data in storage media, and program storage media |
| JP2003345513A (ja) * | 2002-05-27 | 2003-12-05 | Hitachi Ltd | 記憶装置および記憶装置サブシステム |
| JP2008539531A (ja) * | 2005-04-29 | 2008-11-13 | ネットワーク・アプライアンス・インコーポレイテッド | ストレージシステムクラスタの複数のボリュームにわたってデータコンテナをストライピングするためのデータ配置技術 |
| JP2008171537A (ja) * | 2006-12-20 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | 複数の誤り訂正符号化データセットを生成、復元、格納、書き込み並びに読み出す装置および方法 |
| US8667379B2 (en) | 2006-12-20 | 2014-03-04 | International Business Machines Corporation | Apparatus and method to generate, store, and read, a plurality of error correction coded data sets |
| JP2008204206A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
| US8239621B2 (en) | 2007-02-20 | 2012-08-07 | Nec Corporation | Distributed data storage system, data distribution method, and apparatus and program to be used for the same |
| JP2009163310A (ja) * | 2007-12-28 | 2009-07-23 | Nec Corp | ディスクアレイ装置、物理ディスク復帰方法、および物理ディスク復帰プログラム |
| JP2010256652A (ja) * | 2009-04-27 | 2010-11-11 | Renesas Electronics Corp | 記憶媒体暗号処理装置及び方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8352681B2 (en) | Storage system and a control method for accelerating the speed of copy processing | |
| US5619690A (en) | Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system | |
| US7836266B2 (en) | Managing snapshot history in a data storage system | |
| US7392365B2 (en) | Dynamically changeable virtual mapping scheme | |
| US6532527B2 (en) | Using current recovery mechanisms to implement dynamic mapping operations | |
| US20170337212A1 (en) | Computer program product, method, apparatus and data storage system for managing defragmentation in file systems | |
| JPH0415839A (ja) | 分散データベース管理装置 | |
| CN103544045A (zh) | 一种基于hdfs的虚拟机镜像存储系统及其构建方法 | |
| EP0976043A1 (en) | Mvs device backup system for a data processor using a data storage subsystem snapshot copy capability | |
| JPH08185275A (ja) | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 | |
| JP2002082775A (ja) | 計算機システム | |
| JP6425740B2 (ja) | ストレージシステム、及び、記憶制御方法 | |
| EP0974095B1 (en) | Dasd file system copy system for a data processor using a data storage subsystem snapshot copy capability | |
| CN103229134A (zh) | 存储设备及其控制方法 | |
| JP4644684B2 (ja) | 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム) | |
| US7509473B2 (en) | Segmented storage system mapping | |
| JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
| JPH07141232A (ja) | ファイル格納管理装置 | |
| JP4252102B2 (ja) | 計算機システムおよび二次記憶装置 | |
| JPH07152498A (ja) | 情報処理システム | |
| JPH07200187A (ja) | ディスクアレイ装置 | |
| US7549029B2 (en) | Methods for creating hierarchical copies | |
| JPH07244642A (ja) | 並列処理計算機 | |
| WO2019026221A1 (ja) | ストレージシステム及びストレージ制御方法 | |
| JP3747937B2 (ja) | 計算機システムおよび二次記憶装置 |