JP3119978B2 - ファイル記憶装置及びそのファイル管理方法 - Google Patents
ファイル記憶装置及びそのファイル管理方法Info
- Publication number
- JP3119978B2 JP3119978B2 JP05236922A JP23692293A JP3119978B2 JP 3119978 B2 JP3119978 B2 JP 3119978B2 JP 05236922 A JP05236922 A JP 05236922A JP 23692293 A JP23692293 A JP 23692293A JP 3119978 B2 JP3119978 B2 JP 3119978B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- parity
- file
- blocks
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Description
イ状に接続したディスクアレイ装置などのファイル記憶
装置及びそのファイル管理方法に関する。
かも信頼性高く管理するために、記憶するデータに冗長
性を持たせてブロックなどの単位毎に複数のディスクド
ライブに分散して記憶するファイル記憶装置が提案され
ている。この技術は、特開平2-236714号公報や、インタ
ーフェース1993年 4月号の「ディスクの耐故障性と信頼
性を改善するRAID技術」などに記述されている。
ドディクスドライブ(HDD)構成のRAIDレベル4
では、1台目から3台目までのHDDの同一ブロックデ
ータに対するパリティデータが4台目のHDD−4の同
一ブロックに記憶されている。各HDDのNブロック目
のデータをそれぞれA、B、C、Dとすると、 A xor B xor C=D( xorは排他的論理和) の関係が成立するようになっている。
み出しエラーとなった場合は、 B xor C xor D の演算を行うことによって、ブロックデータAを復元す
ることができる。
ラーが発生した場合、他の3台のHDDの同一ブロック
データから復元することができ、信頼性を向上させるこ
とができる。
ブロックが記憶されている各HDDに対して同時にアク
セスできるため、高速読み出しが可能となる。
を高めるためにパリティデータを常に作成しておかなけ
ればならず、データ書き込み時の処理に時間がかかると
いう問題がある。
1のAブロックにデータを書き込む場合は、 (1)データ用HDD−1のAブロック(旧データ)を
読み出す。
(旧パリティ)を読み出す。
ク間でxor演算を行う。
間でxor演算を行い、新パリティデータを作成する。
新データを書き込む。
をHDD−4のDブロックに書き込む。 このように、
HDDからの読み出しが2回、書き込みが2回、xor
演算が2回の処理が必要となり、かなりの時間がかかる
ことになる。
すように、ファイルはファイル管理テーブル121とア
レイブロック管理テーブル122により管理されてい
る。ファイル管理テーブル121は、ファイル番号12
1a、存在フラグ121b、データ格納用に使用してい
るディスク内のブロック数121c、アレイブロック番
号リスト121dからなる。またアレイブロック管理テ
ーブル122は、アレイブロック番号122aおよび使
用フラグ122bなどからなり、ディスクの全ブロック
の使用/未使用状況を管理している。すなわち、使用フ
ラグ122bが1の時はファイルとして使用中、0の時
は未使用中を示している。
は、使用ブロック数は3で、アレイブロック番号が1、
2、3のブロック内にデータが記憶されている。またア
レイブロック番号が6、7であるブロックはファイルの
データ領域として割り当てられていないことを示してい
る。通常、ブロック当たりのサイズは1024バイトの整数
倍が採用される。なお、ファイルに対してはバイト単位
のサイズ、ファイル名、作成日時等も管理しているが、
ここでは省略した。
の値をとり、1から1000まではHDD−1のブロッ
ク番号1から1000に対応し、1001から2000
まではHDD−2のブロック番号1から1000に対応
し、2001から3000まではHDD−3のブロック
番号1から1000に対応する。
は、このアレイブロック管理テーブル122を参照して
使用されていないアレイブロック番号(図14の例では
6や7)を求め、対応する使用フラグ122bを1と
し、このブロックをファイルのデータ領域として使用す
る。ファイルを削除する場合には、未使用になるアレイ
ブロック番号に対応する使用フラグ122bを0にす
る。
のデータおよび関連するパリティに対しては何も処理せ
ず、単にファイル管理テーブル121とアレイブロック
管理テーブル122内を更新するのみであり、パリティ
データはこの未使用ブロック内のデータを含んだままの
値になっている。そしてこの未使用ブロックが新たにフ
ァイルのデータ領域として割り当てられ、データを書き
込む場合は従来のように2回のHDD読み出しと、2回
のxor演算と、2回のHDD書き込み処理が必要とな
ってしまう。
ァイルをRAID方式にてブロック単位で管理している
ファイル記憶装置では、ファイルデータを更新する度
に、2回のファイル読み出し処理と、2回のxor演算
と、2回のファイル書き込み処理が必要となり、かなり
の時間を要していた。
もので、ファイルデータ書き込み時におけるパリティデ
ータ生成の処理速度の向上を図るとともに、ファイルデ
ータの読み出しエラーが発生した場合のデータ復元処理
の高速化も図ることのできるファイル記憶装置及びその
ファイル管理方法の提供を目的としている。
装置は上記した目的を達成するために、複数の第1記憶
媒体にファイルのデータをブロック単位で分散して記憶
するとともに、第2記憶媒体に前記各第1記憶媒体の同
一ブロックのデータに対するパリティデータをブロック
単位で記憶してなるファイル記憶装置において、前記各
第1記憶媒体上の個々のデータブロックがファイルのデ
ータ領域として使用されているか否かを示す第1フラグ
情報及び前記個々のデータブロックの内容がクリア済み
か否かを示す第2フラグ情報を記憶するフラグ記憶手段
と、前記フラグ記憶手段に記憶された各フラグ情報に基
づき、未使用で且つ未クリア状態のデータブロックを検
出する検出手段と、前記検出手段により検出された未使
用で且つ未クリア状態のデータブロックのデータとこの
データブロックに対応する前記第2記憶媒体上の前記パ
リティブロックのパリティデータとに基づいて前記パリ
ティブロックの内容を更新し、そのデータブロックに対
する第2フラグ情報をクリア済みに設定する処理手段
と、第1記憶媒体上のクリア済みのデータブロックに対
する書き込みが生じた場合、対応するパリティブロック
のパリティデータと書き込むデータとに基づいて前記パ
リティブロックの内容を更新し、前記第2フラグ情報を
未クリア状態に設定するパリティデータ作成手段とを具
備している。
た目的を達成するために、複数の第1記憶媒体にファイ
ルのデータをブロック単位で分散して記憶するととも
に、第2記憶媒体に前記各第1記憶媒体の同一ブロック
のデータに対するパリティデータをブロック単位で記憶
してなるファイル記憶装置において、前記各第1記憶媒
体上の個々のデータブロックがファイルのデータ領域と
して使用されているか否かを示す第1フラグ情報及び前
記個々のデータブロックの内容がクリア済みか否かを示
す第2フラグ情報を記憶するフラグ記憶手段と、前記フ
ラグ記憶手段に記憶された各フラグ情報に基づき、未使
用で且つ未クリア状態のデータブロックを検出する検出
手段と、前記検出手段により検出された未使用で且つ未
クリア状態のデータブロックのデータとこのデータブロ
ックに対応する前記第2記憶媒体上の前記パリティブロ
ックのパリティデータとに基づいて前記パリティブロッ
クの内容を更新し、そのデータブロックに対する第2フ
ラグ情報をクリア済みに設定する処理手段と、第1記憶
媒体上のデータブロックからの読み出しエラーが発生し
た場合、このデータブロックに対応するパリティブロッ
クのパリティデータと前記第2フラグ情報に基づいて判
断される他の第1記憶媒体上の未クリア状態の同一デー
タブロックのデータとに基づいて読み出しエラーとなっ
たデータブロックのデータとして復元するデータ復元手
段とを具備している。
1フラグ記憶手段及び第2フラグ記憶手段に記憶された
各フラグ情報に基づき、未使用で且つ未クリア状態のデ
ータブロックを検出し、該当するデータブロックが検出
されれば、そのデータとこのデータブロックに対応する
パリティブロックのパリティデータとに基づいてパリテ
ィブロックを更新する。また、あるデータブロックに対
する書き込みが生じた場合、第2フラグ情報を基にこの
データブロックがクリア済みか否かを判断し、クリア済
みであればこのデータブロックに対応するパリティブロ
ックのパリティデータと書き込むデータとに基づいてパ
リティブロックの内容を更新する。したがって、本発明
によれば、クリア済みのデータブロックに対する書き込
みが生じた場合は、このデータブロックに対応するパリ
ティブロックのパリティデータと書き込むデータとの排
他的論理和演算を行うだけで新しいパリティデータを作
成することができ、データ書き込み時の処理速度の向上
を図ることができる。 他の発明では、あるデータブロ
ックからの読み出しエラーが発生した場合、このデータ
ブロックに対応するパリティブロックのパリティデータ
と、第2フラグ情報に基づいて判断される他の第1記憶
媒体上の未クリア状態の同一データブロックのデータの
間で排他的論理和演算を行うだけで、読み出しエラーと
なったデータブロックのデータを復元することができ、
データ復元処理の速度向上も図ることができる。
説明する。
実施例のディスクアレイ装置のシステム構成図である。
CPUである。CPU1はHDD−0(2)内に記憶さ
れているプログラムをメモリ3に読み出し、この内容に
従って各部を制御する。4はアレイHDD制御部であ
る。このアレイHDD制御部4は4台のHDD(HDD
−1からHDD−4)を制御するためのものであり、4
台のHDDはパリティの付加されたファイルデータの記
憶および再生を行う。4台のHDDのうち3台はデータ
用で、1台がパリティ用である。3台のデータ用HDD
の同じブロック番号のブロックデータをxor演算した
データがパリティ用HDDの同じブロック番号のブロッ
クに記憶されている。本装置のHDDのブロックのサイ
ズは1024バイトであり、1台あたり1000ブロッ
クの記憶容量がある。4台のHDDの物理的な総ブロッ
ク数は4000ブロックであるが、1台がパリティ用H
DDであるため、実際にファイルデータの記憶される総
ブロック数は3000ブロックとなる。さらに5は通信
制御部であり、LAN6を通して送られてくるコマンド
を受信し、処理結果を送信する。以上HDD−1、2、
3、4を除いた各部はシステムバス7を介して相互に接
続されている。
構造を示した図である。
1とアレイブロック管理テーブル22が存在する。これ
らのテーブル21、22はHDD−0(2)に格納され
ている。
(1から100)21aと、ファイルが存在するか否か
を示す存在フラグ(1は存在する、0は存在しないこと
を示す。)21bと、ファイルデータ用の使用ブロック
数21cと、ファイルデータが記憶されているアレイH
DD内の複数のブロック番号(アレイブロック番号と呼
ぶ。)21dからなり、最大100個のファイルを管理
し得る構造となっている。アレイブロック番号21dは
1から3000までの値をとり、1から1000までは
HDD−1のブロック番号1から1000に対応し、1
001から2000まではHDD−2のブロック番号1
から1000に対応し、2001から3000まではH
DD−3のブロック番号1から1000に対応してい
る。
イブロック番号(1から3000)22aと、アレイブ
ロックがファイルのデータ領域として使用されているか
否かを示す使用フラグ22bと、アレイブロック内のデ
ータが全て0か否かを示すクリアフラグ22cとからな
る。使用フラグ22bはその値が1の時に使用されてい
ることを示す。クリアフラグ22cはその値が1の時に
データが全て0(クリア済み)であることを示す。
あるファイルのデータ用のブロック数は3で、データの
記憶されているアレイブロック番号は1、2、3であ
る。アレイブロック番号1、2、3はHDD−1のブロ
ック番号1、2、3に対応している。また、これらのア
レイブロックはファイルのデータ領域として使用されて
いるため、これらの使用フラグ22bは1に設定されて
いる。またこれらのアレイブロックのクリアフラグ22
cは0と設定されており、データは全て0でないことが
わかる。またアレイブロック番号6の使用フラグ22b
は0であり、ファイル用のデータ領域として使用されて
なく、またクリアフラグ22cは1であり、このアレイ
ブロック内のデータは全て0であることがわかる。
体の処理手順を示すフローチャートである。
ァイル管理テーブル21およびアレイブロック管理テー
ブル22の各データを読み出し、メモリ3上に設定する
(ステップ301)。
からのコマンドが通信制御部5により受信されたか否か
を調べる(ステップ302)。
従いそれぞれファイル作成処理(ステップ304)(図
4)、ファイル読み出し処理(ステップ306)(図
5)、ファイル書き込み処理(ステップ308)(図
6)、ファイル削除処理(ステップ310)(図7)、
全パージ処理(ステップ311)(図8)を行い、再度
コマンド受信があるかどうかを調べるステップ302に
戻る。コマンドが終了であった場合は、メモリ3上の各
管理テーブル21、22のデータをHDD−0(2)に
書き込み(ステップ313)、処理を終了する。
部分パージ処理(ステップ314)(図9)を行い、再
度コマンド受信があるかどうかを調べるステップ302
に戻る。
ーチャートである。
テーブル21の各行を上から順に参照し、存在フラグ2
1bが0である行を選択する(ステップ401)。見つ
からなかった場合は、ファイル管理テーブル21が満杯
であるため、エラーステータスを通信制御部5により依
頼元の端末に返信する(ステップ403)。見つかった
場合は、選択された行の存在フラグ21bを1に設定し
(ステップ404)、正常終了ステータスと選択された
行のファイル番号を依頼元の端末に返信し(ステップ4
05)、リターンする。
21の状態でファイル作成処理が行われると、ファイル
番号3が選択され、その存在フラグ21bが1に設定さ
れ、依頼元の端末にはファイル番号3が返信される。
フローチャートである。
部5より端末からのパラメータを取得する(ステップ5
01)。パラメータはファイル番号、オフセットブロッ
ク数、読み出しブロック数で構成される。このパラメー
タは、ファイル番号で指定されるファイルの、オフセッ
トブロック数番目のブロックから、読み出しブロック数
個のブロックデータの読み出しを示す。端末と本装置間
ではブロック単位での読み出しを処理し、ブロック内の
バイト単位での処理は端末側で処理される。
存在するかどうかを調べるために、ファイル管理テーブ
ル21内のファイル番号行の存在フラグ21bを参照す
る(ステップ502)。存在フラグ21bが1である場
合は、ファイルが存在するので次のステップに進む。存
在フラグが0の場合は、ファイルが存在しないため、エ
ラーステータスを通信制御部5により依頼元の端末に返
信し(ステップ503)、リターンする。
要求ブロックがファイルサイズ以内かどうかを調べるた
めに(オフセットブロック数+読み出しブロック数)と
(ファイルのブロック数)を比較する(ステップ50
4)。ファイルのブロック数の方が大きいか等しい場合
には、要求がファイルサイズ以内であるため、次のステ
ップに進む。その他の場合は要求がファイルサイズを越
えているため、エラーステータスを通信制御部5により
依頼元の端末に返信し(ステップ503)、リターンす
る。
イル番号行のアレイブロック番号からパラメータで指定
された領域に対応するものを求める(ステップ50
5)。
フセットブロック番号:1、読み出しブロック数:2の
場合は、ファイル管理テーブル21より対応するアレイ
ブロック番号は2と3になる。
フセットブロック番号:1、読み出しブロック数:2の
場合は、読み出し要求ブロックがファイルサイズを越え
ているため、エラーとなる。
ブロック番号からブロックデータが実際に格納されてい
るHDD番号とブロック番号を求め、そこからデータを
読み出し、ワークメモリに格納する(ステップ50
6)。この際、HDDにて読み出しエラーが発生した場
合はパリティ用のHDD−4と他のデータ用のHDDか
らデータを読み出し、データを復元する。
合には、HDD−1のブロック番号2と3からブロック
データを読み出す。
リ内のブロックデータを通信制御部5により依頼元の端
末に返信し(ステップ507)、リターンする。
フローチャートである。
タを取得する(ステップ601)。パラメータはファイ
ル番号、オフセットブロック数、書き込みブロック数、
データブロックで構成される。このパラメータは、ファ
イル番号で指定されるファイルのオフセットブロック数
番目のブロックから、書き込みブロック数個のブロック
データを書き込むことを示す。
メータで指定されたファイルが存在するかどうかを調べ
る(ステップ602)。
要求ブロックがファイルサイズ以内かどうかを調べるた
めに、追加ブロック数=(オフセットブロック数+書き
込みブロック数)−(ファイルのブロック数)を求める
(ステップ603)。追加ブロック数が0より大きい場
合は(ステップ604)、データ領域用のブロックを追
加する必要があるため、図7に示すアレイブロック追加
処理を行う(ステップ605)。このアレイブロック追
加処理からエラーリターンされた場合はアレイブロック
が不足のため、エラーステータスを通信制御部5により
依頼元の端末に返信し(ステップ606)、リターンす
る。追加ブロック数が0以下の場合は、既存のデータブ
ロックに対する書き込みであるため、アレイブロックの
追加処理をスキップする。
のアレイブロックに対するアレイブロック書き込み処理
(図8)を行う(ステップ607)。
リ内のブロックデータを通信制御部5により依頼元の端
末に返信し(ステップ608)、リターンする。
すフローチャートである。
使用フラグ22bが0(未使用)である行数を求め、未
使用アレイブロック数なる変数に設定する(ステップ7
01)。この未使用アレイブロック数が、前記ステップ
603で求めた追加ブロック数より少ない場合は(ステ
ップ702)、アレイブロック不足なのでエラーリター
ンする(ステップ703)。未使用アレイブロック数が
追加ブロック数以上である場合は、アレイブロック管理
テーブル22内の使用フラグ22bが0である行を追加
アレイブロック数個選択し、使用フラグ22bを1に設
定する(ステップ704)。そして選択された行のアレ
イブロック番号を、ファイル管理テーブル21のパラメ
ータで指定されたファイル番号行のアレイブロック番号
21dに追加し、ブロック数21cに追加アレイブロッ
ク数を加算し(ステップ705)、正常リターンする。
オフセットブロック番号:1、書き込みブロック数:2
の場合は、追加ブロック数は(1+2)−2=1の1ブ
ロックとなり、アレイブロック管理テーブル22の使用
フラグ22bが0である6行目のアレイブロック番号6
が選択され、この使用フラグ22bが1に設定され、フ
ァイル管理テーブル21内のファイル番号21aが2で
ある行のブロック数が2から3となり、アレイブロック
番号21dに6が追加され、4、5、6と設定されるこ
とになる。
を示すフローチャートである。
タ内のデータブロック番号を示すものとし、ここに1か
ら書き込みブロック数を設定しながら(ステップ80
2、808)、ブロック単位に書き込み処理を行う。前
記と同じパラメータが指定された場合は、iは1そして
2が順次設定される。
iに対して、以下の処理を行う。
ル番号行のアレイブロック番号21dの(i+パラメー
タ内オフセットブロック数)番目の値を求め、これを変
数ABとして設定する(ステップ803)。この変数A
Bで示されるアレイブロックに対してデータの書き込み
を行う。例えば、前記と同じパラメータの場合は、ファ
イル番号が2であるファイルの2番目と3番目のアレイ
ブロック番号であるため、変数ABに5そして6が順次
設定される。
の変数ABで示されるアレイブロックのクリアフラグ2
2cを参照し(ステップ804)、この値が0(未クリ
ア)の場合は以下の6ステップ処理を行う(ステップ8
05)。
るデータブロックの格納されているHDDのブロックデ
ータを読み出し、ワークメモリ1(WM1)に格納す
る。
るパリティブロックの格納されているHDDのブロック
データを読み出し、ワークメモリ2(WM2)に格納す
る。
r演算を行い、演算結果をワークメモリ3(WM3)に
格納する。
iブロック目のデータ間でxor演算を行い、演算結果
をワークメモリ4(WM4)に格納する。
タを、変数ABで示されるデータ用HDDのブロックに
書き込む。
されるパリティ用HDDのブロックに書き込む。
ア済み)の場合は、以下の4ステップ処理を行う(ステ
ップ806)。
るパリティブロックの格納されているHDDのブロック
データを読み出し、ワークメモリ1(WM1)に格納す
る。
iブロック目のデータ間でxor演算を行い、演算結果
をワークメモリ2(WM2)に格納する。
タを、変数ABで示されるデータ用HDDのブロックに
書き込む。
されるパリティ用HDDのブロックに書き込む。
内の書き込みを行ったアレイブロックのクリアフラグ2
2cに0を設定する(ステップ807)。
た場合は、アレイブロック番号が5と6に対する書き込
みが行われ、アレイブロック番号が5のクリアフラグは
0であるため、6ステップからなる処理が行われ、アレ
イブロック番号が6のクリアフラグは1であるために、
4ステップからなる処理が行われることになる。このよ
うに、書き込み先のブロック内のデータが全て0である
場合は、処理ステップ数が少なく、さらに使用するワー
クメモリも少ないという長所がある。
ーチャートである。
より端末からのパラメータを取得する(ステップ90
1)。パラメータはファイル番号から構成される。
メータで指定されたファイルが存在するかどうかを調べ
る(ステップ902)。存在しない場合は、エラーステ
ータスを依頼元の端末に返信し(ステップ903)、リ
ターンする。
ータ用に割り当てられているアレイブロックの番号をフ
ァイル管理テーブル21より求め、アレイブロック管理
テーブル22内の対応する使用フラグ22bを0(未使
用)に設定する(ステップ904)。
ァイル番号行の存在フラグ21bに0(存在しない)を
設定し、さらにブロック数21cに0を設定し(ステッ
プ905)、最後に正常終了ステータスを依頼元の端末
に返信し(ステップ906)、リターンする。
た場合は、アレイブロック番号1と2と3のアレイブロ
ックが解放され、それらの使用フラグ22bは0とな
る。
ブロックのクリアフラグ22cは0のままである。これ
らのアレイブロックがファイルのデータ領域として追加
されて書き込みが行われると、従来例のように処理ステ
ップが6となってしまい、性能劣化の原因となってしま
う。そこで使用フラグ22bが0(未使用)で、クリア
フラグ22cが0(未クリア)状態のアレイブロックに
対して、ブロック内データをクリアする処理(これをパ
ージ処理と呼ぶことにする。)を適宜行うことで、書き
込みで6ステップかかっていたものを4ステップに減少
させることが可能となる。
チャートである。
より、未使用状態でしかも未クリア状態である装置内の
全てのアレイブロックに対するパージ処理を行うもので
ある。この要求は夜間などの装置に対するアクセス頻度
の少ない時や、システムの立ち上げ時や、立ち下げ直前
などに行われる。
イブロック番号を順番に設定し(ステップ1001)、
各アレイブロックに対して下記の処理を行う。
りAB変数で示されるアレイブロックの使用フラグ22
bを参照する(ステップ1002)。この値が1(使
用)の場合は次のアレイブロックに進む。
の場合は、次にクリアフラグ22cを参照し(ステップ
1003)、この値が1(クリア済み)の場合は、次の
アレイブロックに進む。
で、クリアフラグ22cが0(未クリア)であるアレイ
ブロックに対して次の処理を行う(ステップ100
4)。
るデータブロックの格納されているHDDのブロックデ
ータを読み出し、ワークメモリ1(WM1)に格納す
る。
るパリティブロックの格納されているHDDのブロック
データを読み出し、ワークメモリ2(WM2)に格納す
る。
r演算をおこない、その演算結果をワークメモリ3(W
M3)に格納する。
されるパリティ用HDDのブロックに書き込む。
の対応するクリアフラグ22cに1(クリア済み)を設
定し(ステップ1005)、次のアレイブロックに進
む。
ーチャートである。
無い時に、未使用状態で未クリア状態であるアレイブロ
ックを1個ずつパージ処理するものである。
とほとんど同様なものである。異なる箇所は、全てのア
レイブロックに対して処理を行うのではなく、どれか1
個の未使用で未クリア状態のアレイブロックを選択し、
これに対してのみパージ処理を行い、リターンする点で
ある。
リア済みに設定したアレイブロックのデータ用ブロック
に対しては、全て0であるデータを書き込んでいない。
これは対応するパリティブロックに、このデータブロッ
ク内が全て0なるデータと仮定したデータが書き込まれ
ているためである。このため、HDD読み出しエラー時
に、他のHDDの同一ブロックを読み出してデータを復
元する際、クリアフラグ22cが1であるブロックを読
み出す処理を省略することも可能となる。
示すフローチャートである。
エラー時に処理されるものである。まず、復元するアレ
イブロックのアレイブロック番号(AB)から、他の2
台のデータ用HDD内の対応するアレイブロック番号を
求め、AB1とAB2に設定する(ステップ120
1)。例えば、アレイブロック番号1に対しては、アレ
イブロック番号1001と2001が求められる。
ックを読み出し、ワークメモリ1(WM1)に格納する
(ステップ1202)。例えば、アレイブロック番号1
に対しては、HDD−4の第1ブロックを読み出す。
内の他のデータブロックであるアレイブロックAB1の
クリアフラグ22cを参照し(ステップ1203)、こ
の値が0(未クリア)の場合は次の処理を行う(ステッ
プ1204)。
ックをワークメモリ2(WM2)に読み出す。
r演算を行い、演算結果をWM1に格納する。
場合は上記処理をスキップする。
様な処理を行う(ステップ1205、1206)。
たデータが生成されることになる。例えば、図2に示し
たアレイブロック管理テーブル22の状態で、アレイブ
ロック番号が1のブロックでの読み出し時にエラーが発
生し、ブロック内のデータを復元する場合、対応する他
の2台のHDD−2とHDD−3内のアレイブロック
(1001と2001)のクリアフラグ22cは共に1
であるため、HDD−4内の第1ブロックデータを読む
だけで復元できることになる。つまり、データ復元処理
の高速化も可能になるわけである。
憶装置及びそのファイル管理方法によれば、使用されな
くなったデータブロックのデータを事前にクリアしてお
くことで、このデータブロックに対するデータ書き込み
時のパリティデータ生成処理を、書き込みデータとパリ
ティデータとの排他的論理和演算だけで行えるようにな
り、処理速度の大幅な向上を図ることができる。
エラーが発生した時のデータ復元処理も、クリア済みの
データブロックのデータとパリティデータとの排他的論
理和演算のみで行うことができ、データ復元処理につい
ても高速化を図ることができる。
ィスクアレイ装置のシステム構成図である。
ブルの構造を示した図である。
を示すフローチャートである。
である。
ートである。
ートである。
ャートである。
ーチャートである。
である。
ある。
である。
チャートである。
るための図である。
理用のテーブルの構成を示す図である。
HDD制御部、5…通信制御部、6…LAN、7…シス
テムバス、21…ファイル管理テーブル、21a…ファ
イル番号、21b…存在フラグ、21c…使用ブロック
数、21d…アレイブロック番号、22…アレイブロッ
ク管理テーブル、22a…アレイブロック番号、22b
…使用フラグ、22c…クリアフラグ。
Claims (4)
- 【請求項1】 複数の第1記憶媒体にファイルのデータ
をブロック単位で分散して記憶するとともに、第2記憶
媒体に前記各第1記憶媒体の同一ブロックのデータに対
するパリティデータをブロック単位で記憶してなるファ
イル記憶装置において、 前記各第1記憶媒体上の個々のデータブロックがファイ
ルのデータ領域として使用されているか否かを示す第1
フラグ情報及び前記個々のデータブロックの内容がクリ
ア済みか否かを示す第2フラグ情報を記憶するフラグ記
憶手段と、 前記フラグ記憶手段に記憶された各フラグ情報に基づ
き、未使用で且つ未クリア状態のデータブロックを検出
する検出手段と、 前記検出手段により検出された未使用で且つ未クリア状
態のデータブロックのデータとこのデータブロックに対
応する前記第2記憶媒体上の前記パリティブロックのパ
リティデータとに基づいて前記パリティブロックの内容
を更新し、そのデータブロックに対する第2フラグ情報
をクリア済みに設定する処理手段と、 第1記憶媒体上のクリア済みのデータブロックに対する
書き込みが生じた場合、対応するパリティブロックのパ
リティデータと書き込むデータとに基づいて前記パリテ
ィブロックの内容を更新し、前記第2フラグ情報を未ク
リア状態に設定するパリティデータ作成手段とを具備す
ることを特徴とするファイル記憶装置。 - 【請求項2】 複数の第1記憶媒体にファイルのデータ
をブロック単位で分散して記憶するとともに、第2記憶
媒体に前記各第1記憶媒体の同一ブロックのデータに対
するパリティデータをブロック単位で記憶してなるファ
イル記憶装置において、 前記各第1記憶媒体上の個々のデータブロックがファイ
ルのデータ領域として使用されているか否かを示す第1
フラグ情報及び前記個々のデータブロックの内容がクリ
ア済みか否かを示す第2フラグ情報を記憶するフラグ記
憶手段と、 前記フラグ記憶手段に記憶された各フラグ情報に基づ
き、未使用で且つ未クリア状態のデータブロックを検出
する検出手段と、 前記検出手段により検出された未使用で且つ未クリア状
態のデータブロックのデータとこのデータブロックに対
応する前記第2記憶媒体上の前記パリティブロックのパ
リティデータとに基づいて前記パリティブロックの内容
を更新し、そのデータブロックに対する第2フラグ情報
をクリア済みに設定する処理手段と、 第1記憶媒体上のデータブロックからの読み出しエラー
が発生した場合、このデータブロックに対応するパリテ
ィブロックのパリティデータと前記第2フラグ情報に基
づいて判断される他の第1記憶媒体上の未クリア状態の
同一データブロックのデータとに基づいて読み出しエラ
ーとなったデータブロックのデータとして復元するデー
タ復元手段とを具備することを特徴とするファイル記憶
装置。 - 【請求項3】 複数の第1記憶媒体にファイルのデータ
をブロック単位で分散して記憶するとともに、第2記憶
媒体に前記各第1記憶媒体の同一ブロックのデータに対
するパリティデータをブロック単位で記憶してなるファ
イル記憶装置において、 前記各第1記憶媒体上の個々のデータブロックがファイ
ルのデータ領域として使用されているか否かを示す第1
フラグ情報を記憶する工程と、 前記個々のデータブロックの内容がクリア済みか否かを
示す第2フラグ情報を記憶する工程と、 前記第1及び第2のフラグ情報に基づき、未使用で且つ
未クリア状態のデータブロックを検出する工程と、未使用で且つ未クリア状態の データブロックのデータと
このデータブロックに対応する前記第2記憶媒体上の前
記パリティブロックのパリティデータとに基づいて前記
パリティブロックの内容を更新し、前記データブロック
に対する第2フラグ情報をクリア済みに設定する工程
と、 第1記憶媒体上のクリア済みのデータブロックに対する
書き込みが生じた場合、対応するパリティブロックのパ
リティデータと書き込むデータとに基づいて前記パリテ
ィブロックの内容を更新し、前記第2フラグ情報を未ク
リア状態に設定する工程とを有することを特徴とするフ
ァイル管理方法。 - 【請求項4】 複数の第1記憶媒体にファイルのデータ
をブロック単位で分散して記憶するとともに、第2記憶
媒体に前記各第1記憶媒体の同一ブロックのデータに対
するパリティデータをブロック単位で記憶してなるファ
イル記憶装置において、 前記各第1の記憶媒体上の個々のデータブロックがファ
イルのデータ領域として使用されているか否かを示す第
1フラグ情報を記憶する工程と、 前記個々のデータブロックの内容がクリア済みか否かを
示す第2のフラグ情報を記憶する工程と、 前記第1及び第2のフラグ情報に基づき、未使用で且つ
未クリア状態のデータブロックを検出する工程と、未使用で且つ未クリア状態の データブロックのデータと
このデータブロックに対応する前記第2記憶媒体上の前
記パリティブロックのパリティデータとに基づいて前記
パリティブロックの内容を更新し、前記データブロック
に対する第2フラグ情報をクリア済みに設定する工程
と、 第1記憶媒体上のデータブロックからの読み出しエラー
が発生した場合、このデータブロックに対応するパリテ
ィブロックのパリティデータと前記第2フラグ情報に基
づいて判断される他の第1記憶媒体上の未クリア状態の
同一データブロックのデータとに基づいて読み出しエラ
ーとなったデータブロックのデータとして復元する工程
とを有することを特徴とするファイル管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05236922A JP3119978B2 (ja) | 1993-09-22 | 1993-09-22 | ファイル記憶装置及びそのファイル管理方法 |
US08/298,275 US5485475A (en) | 1993-09-22 | 1994-08-31 | Data storage device and data managing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05236922A JP3119978B2 (ja) | 1993-09-22 | 1993-09-22 | ファイル記憶装置及びそのファイル管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0793106A JPH0793106A (ja) | 1995-04-07 |
JP3119978B2 true JP3119978B2 (ja) | 2000-12-25 |
Family
ID=17007743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05236922A Expired - Lifetime JP3119978B2 (ja) | 1993-09-22 | 1993-09-22 | ファイル記憶装置及びそのファイル管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5485475A (ja) |
JP (1) | JP3119978B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0689125B1 (en) * | 1994-06-22 | 2004-11-17 | Hewlett-Packard Company, A Delaware Corporation | Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array |
JP3639352B2 (ja) * | 1995-06-28 | 2005-04-20 | 富士通株式会社 | 波動解析方法及びその装置 |
US5727197A (en) * | 1995-11-01 | 1998-03-10 | Filetek, Inc. | Method and apparatus for segmenting a database |
US6530036B1 (en) * | 1999-08-17 | 2003-03-04 | Tricord Systems, Inc. | Self-healing computer system storage |
JP2000278290A (ja) * | 1999-03-29 | 2000-10-06 | Matsushita Electric Ind Co Ltd | ネットワーク管理システム |
CN104067240A (zh) * | 2012-04-30 | 2014-09-24 | 惠普发展公司,有限责任合伙企业 | 块级存储 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5278838A (en) * | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5284478A (en) * | 1992-06-08 | 1994-02-08 | Nobles Anthony A | Detachable tip optical valvulotome |
US5412668A (en) * | 1994-09-22 | 1995-05-02 | International Business Machines Corporation | Parity striping feature for optical disks |
-
1993
- 1993-09-22 JP JP05236922A patent/JP3119978B2/ja not_active Expired - Lifetime
-
1994
- 1994-08-31 US US08/298,275 patent/US5485475A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0793106A (ja) | 1995-04-07 |
US5485475A (en) | 1996-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6859888B2 (en) | Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same | |
JP2902970B2 (ja) | ディスク・アレイにデータを書き込むためのシステムおよび関連する方法 | |
US6766491B2 (en) | Parity mirroring between controllers in an active-active controller pair | |
US6397309B2 (en) | System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility | |
JP3242671B2 (ja) | レベル5raidディスクアレイの記憶容量を高める方法、およびこのような方法によって作られる拡張アレイ | |
US6701455B1 (en) | Remote copy system with data integrity | |
US7818524B2 (en) | Data migration systems and methods for independent storage device expansion and adaptation | |
CN114415976B (zh) | 一种分布式数据存储系统与方法 | |
JPH07320422A (ja) | ディスク・アレイ・システムおよび記憶方法並びに制御装置 | |
JPH06208476A (ja) | 冗長アレイパリティキャッシングシステム | |
JP2000508456A (ja) | 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張 | |
JPH05143471A (ja) | 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法 | |
US6301711B1 (en) | System and method for the network support of full motion video using a redundant array of inexpensive disks | |
JP3119978B2 (ja) | ファイル記憶装置及びそのファイル管理方法 | |
US6678787B2 (en) | DASD-free non-volatile updates | |
KR100463841B1 (ko) | 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법 | |
JP2006072435A (ja) | ストレージシステムおよびデータ記録方法 | |
JPH07261945A (ja) | ディスクアレイ装置およびディスクアレイの区分け方法 | |
US20040133741A1 (en) | Disk array apparatus and data writing method used in the disk array apparatus | |
JPH11212728A (ja) | 外部記憶サブシステム | |
JP3288724B2 (ja) | ディスクアレイ内の不完全な書込を追跡する方法、およびこのような方法を行なうディスク記憶システム | |
KR19980047273A (ko) | 레이드 레벨 5 시스템에서 캐쉬 관리 방법 | |
JP3236166B2 (ja) | キャッシュ制御方法および情報処理装置 | |
KR20030073982A (ko) | 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법 | |
JP3008801B2 (ja) | 記憶装置システムおよびディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000926 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081013 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081013 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 13 |