[go: up one dir, main page]

JP2914181B2 - Disk array device - Google Patents

Disk array device

Info

Publication number
JP2914181B2
JP2914181B2 JP6154730A JP15473094A JP2914181B2 JP 2914181 B2 JP2914181 B2 JP 2914181B2 JP 6154730 A JP6154730 A JP 6154730A JP 15473094 A JP15473094 A JP 15473094A JP 2914181 B2 JP2914181 B2 JP 2914181B2
Authority
JP
Japan
Prior art keywords
data
disk
array device
disk array
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6154730A
Other languages
Japanese (ja)
Other versions
JPH0822378A (en
Inventor
理華 鹿島
孝之 早川
幹夫 吉森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6154730A priority Critical patent/JP2914181B2/en
Publication of JPH0822378A publication Critical patent/JPH0822378A/en
Application granted granted Critical
Publication of JP2914181B2 publication Critical patent/JP2914181B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、ディスクアレイ装置
に関するものであり、さらに詳しくはキャッシュメモリ
を設けることによりデータ書込み処理時のオーバヘッド
時間を短縮するようにしたディスクアレイ装置に関する
ものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device, and more particularly, to a disk array device provided with a cache memory to reduce an overhead time in a data write process.

【0002】[0002]

【従来の技術】近年、データベースの巨大化に伴いファ
イルサーバなどに接続される外部記憶装置が大容量化し
てきている。中でも特に、ディスク装置をアレイ状に配
置して、高信頼性、低価格、大容量化を目指したディス
クアレイ装置が脚光を浴びている。そして最近では、こ
の関連の技術文献、特許などが数多く発表されてきてお
り、とりわけ米国のカリフォルニア大学バークレー校
(UCB)が、アレイ型ディスクについての論文を発表
して以来、一般的に知られるようになった。図6は、U
CBの論文、“A CASE FOR REDUNDA
NT ARRAYS OF INEXPENSIVE
DISKS(RAID)”,DAVID A.PATT
ERSON,BARTH GIBSON,AND RA
NDY H.KATS,REPORT NO.UCB/
CSD 87/391,DECEMBER 1987の
中でRAIDレベル5として説明されている従来のディ
スクアレイ装置である。
2. Description of the Related Art In recent years, an external storage device connected to a file server or the like has been increasing in capacity with the enlargement of a database. Above all, a disk array device in which disk devices are arranged in an array to achieve high reliability, low cost, and large capacity has been spotlighted. Recently, many related technical documents and patents have been published, and in particular, since the University of California, Berkeley (UCB) in the United States published a paper on array-type disks, it has become publicly known. Became. FIG.
CB's dissertation, "A CASE FOR REDUNDA
NT ARRAYS OF INEXPENSIVE
DISKS (RAID) ", DAVID A. PATT
ERSON, BARTH GIBSON, AND RA
NDY H. KATS, REPORT NO. UCB /
This is a conventional disk array device described as a RAID level 5 in CSD 87/391, DECEMBER 1987.

【0003】以下に、UCB論文として発表された従来
のディスクアレイ装置について図6、および図7に基づ
いて説明する。図6はディスクアレイ装置の構成図であ
り、1はディスクアレイ装置、2a,2b,2c,2d
はディスクアレイ装置1を構成する複数のディスク装
置、3はディスク装置内のデータ更新に伴って新チェッ
クデータを生成する排他的論理和演算機構である。デー
タは、各々のディスク装置内においてブロック単位に分
割され管理されている。具体的には、連続した一連のデ
ータをデータブロック4a、4b、4cの如くに分割
し、各々のデータブロックをディスク装置2a,2b,
2cの順番に格納する。そして、ディスク装置2dには
データブロック4a,4b,および4cの排他的論理和
演算によって生成されるチェックデータブロック5が格
納されている。このようにして、ディスク装置2a,2
b,2c上のデータブロック4a,4b,4cとディス
ク装置2d上のチェックデータブロック5によって1つ
の冗長グループ6が構成される。尚、図において( )
はデータの流れを示したパスである。このようにして、
冗長グループ6では、ディスク装置2a,2b,2c上
にデータブロックを格納し、ディスク装置2dにはチェ
ックデータブロック5を格納したが、チェックデータブ
ロック5に割り当てられたディスク装置に対するアクセ
スが過度に集中するのを防ぐため、冗長グループ6の次
の冗長グループにおいてはチェックデータブロック5を
ディスク装置2cに割り当て、さらに次の冗長グループ
においてはディスク装置2bに割り当てるという具合
に、チェックデータブロック5を割り当てるディスク装
置を順次シフトさせていく方法が一般的である。
A conventional disk array device published as a UCB paper will be described below with reference to FIGS. 6 and 7. FIG. FIG. 6 is a configuration diagram of a disk array device, where 1 is a disk array device, 2a, 2b, 2c, and 2d.
Reference numeral denotes a plurality of disk devices constituting the disk array device 1, and reference numeral 3 denotes an exclusive OR operation mechanism for generating new check data in accordance with data update in the disk device. Data is divided and managed in blocks in each disk device. Specifically, a continuous series of data is divided into data blocks 4a, 4b, and 4c, and each data block is divided into disk units 2a, 2b,
2c. The disk device 2d stores a check data block 5 generated by an exclusive OR operation of the data blocks 4a, 4b, and 4c. Thus, the disk devices 2a, 2
One redundancy group 6 is constituted by the data blocks 4a, 4b, 4c on the disk drives 2b, 2c and the check data block 5 on the disk drive 2d. In the figure, ()
Is a path indicating the flow of data. In this way,
In the redundancy group 6, data blocks are stored on the disk devices 2a, 2b, and 2c, and the check data block 5 is stored in the disk device 2d. However, accesses to the disk devices assigned to the check data block 5 are excessively concentrated. In order to prevent this, the check data block 5 is assigned to the disk device 2c in the redundancy group next to the redundancy group 6, and the check data block 5 is assigned to the disk device 2b in the next redundancy group. It is common to shift the device sequentially.

【0004】図7はこの従来例における処理の流れを示
すフローチャートである。次に、データ書き込み時の処
理について図6、及び図7のフローチャートに基づいて
説明する。ディスクアレイ装置1は書き込み要求を受付
けると、書込み新データαnew4を要求元から受け取
り、排他的論理和演算機構3に(パス1を介して)転送
する。(S1) ディスク装置2a上のデータブロック4aから書込み新
データに対応する旧データαold 4を,またディスク装
置2dからその同一冗長グループのチェックデータC
old 5を各々(パス2、3を介して)読み出し、排他的
論理和演算機構3に転送する(S2,S3)。書込み新
データαnew 4と、書込みデータに対応する旧データα
old 4と、チェックデータCold 5を用いて、ディスク
アレイ装置1の排他的論理和演算機構3上で排他的論理
和演算を行ない、新チェックデータCnew 5を生成す
る。(S4) 最後に、新データαnew 4、新チェックデータCnew
を対応するディスク装置2a,2d上のデータブロック
4a、及びチェックデータブロック5へ(各々パス4、
5を介して)書き込む。(S5,S6) このようにして、冗長グループ6を構成する任意のデー
タブロック中のデータは、同一冗長グループ中の他のデ
ータブロックとチェックデータブロックの排他的論理和
演算によって生成することができるので、冗長グループ
中の任意の1ディスク装置内のデータが壊れた場合にお
いても、同一冗長グループ内の他のディスク装置内のデ
ータとチェックデータによって、壊れたデータ内容を再
生し障害回復処理を実現することができる。
FIG. 7 is a flowchart showing the flow of processing in this conventional example. Next, processing at the time of data writing will be described with reference to the flowcharts of FIGS. Upon receiving the write request, the disk array device 1 receives the new write data α new 4 from the request source and transfers it to the exclusive-OR operation mechanism 3 (via the path 1). (S1) The old data α old 4 corresponding to the new write data is written from the data block 4a on the disk device 2a, and the check data C of the same redundancy group is written from the disk device 2d.
old 5 is read out (via paths 2 and 3) and transferred to the exclusive OR operation mechanism 3 (S2, S3). Write new data α new 4 and old data α corresponding to the write data
Using the old 4 and the check data C old 5, an exclusive OR operation is performed on the exclusive OR operation mechanism 3 of the disk array device 1 to generate new check data C new5 . (S4) Finally, new data α new 4 and new check data C new 5
To the corresponding data blocks 4a and check data blocks 5 on the disk devices 2a and 2d (pass 4,
(Via 5). (S5, S6) In this way, data in an arbitrary data block constituting the redundancy group 6 can be generated by performing an exclusive OR operation on the check data block and another data block in the same redundancy group. Therefore, even if the data in any one disk device in the redundancy group is corrupted, the data in the other redundancy device in the same redundancy group and the check data are used to reproduce the corrupted data and realize the failure recovery process. can do.

【0005】図8は、また特開平5−324206号に
示されたディスクアレイ装置の一例を示すシステム図で
あり、図9はその模式図である。
FIG. 8 is a system diagram showing an example of a disk array device disclosed in Japanese Patent Laid-Open No. 5-324206, and FIG. 9 is a schematic diagram thereof.

【0006】マイクロプロセッサ101は、ホストイン
タフェース102を介してホスト計算機から読み取り要
求を受け取ると、その読み取り要求で指示されている該
当データCが格納されているディスク装置dr3と、そ
の該当データに対応するチェックデータPが格納されて
いるディスク装置dr5に対して、各々ドライブコント
ローラCNTL3,CNTL5を介して該当データC、
チェックデータPの読み出しを要求する。
[0006] When the microprocessor 101 receives a read request from the host computer via the host interface 102, the microprocessor 101 corresponds to the disk device dr3 storing the data C specified by the read request and corresponding to the data. For the disk device dr5 in which the check data P is stored, the corresponding data C,
Request reading of check data P.

【0007】マイクロプロセッサ101は、次にディス
ク装置dr3,dr5から読み出された上記該当データ
C,チェックデータPを、各々ドライブコントローラC
NTL3,CNTL5を介して入力すると、それらのデ
ータをキャッシュメモリ104に(パス1、2経由で)
格納した後、該当データCのみをホストインタフェース
102を介してホスト計算機へ転送する。
[0007] The microprocessor 101 transmits the corresponding data C and check data P read from the disk devices dr3 and dr5 to the drive controller C, respectively.
When input via NTL3 and CNTL5, those data are stored in cache memory 104 (via paths 1 and 2).
After storing, only the data C is transferred to the host computer via the host interface 102.

【0008】次にマイクロプロセッサ101は、ホスト
インタフェース102を介して上記該当データCに対す
る更新データC’の書き込み要求を受け取ると、キャッ
シュメモリ104に格納されている上記該当データC
と、上記チェックデータPを(パス3、4経由で)パリ
ティ生成部103に転送する。さらに、上記更新データ
C’もパリティ生成部103に(パス5経由)転送す
る。
Next, when the microprocessor 101 receives a request to write the update data C ′ for the data C via the host interface 102, the microprocessor 101 receives the request for updating the data C stored in the cache memory 104.
Then, the check data P is transferred to the parity generation unit 103 (via the paths 3 and 4). Further, the update data C ′ is also transferred to the parity generation unit 103 (via the path 5).

【0009】パリティ生成部103は、旧データC、旧
チェックデータP、および上記更新データC’に対して
排他的論理和演算を行ない、新チェックデータP’を生
成する。
The parity generator 103 performs an exclusive OR operation on the old data C, the old check data P, and the update data C ′ to generate new check data P ′.

【0010】マイクロプロセッサ101は、パリティ生
成部103から上記新チェックデータP’を入力し、更
新データC’、新チェックデータP’を各々ドライブコ
ントローラCNTL3,ドライブコントローラCNTL
5を介して、ディスク装置dr3,ディスク装置dr5
に(パス6、7経由で)書き込む。
The microprocessor 101 receives the new check data P 'from the parity generation unit 103 and sends the updated data C' and the new check data P 'to the drive controllers CNTL3 and CNTL, respectively.
5, the disk drive dr3 and the disk drive dr5
(Via passes 6 and 7).

【0011】[0011]

【発明が解決しようとする課題】UCBの論文「A C
ase for Redundant Arrayso
f Inexpensive Disks(RAI
D)」に示されるような従来のディスクアレイ装置にお
いては、ディスクアレイ装置1へのデータ書き込み時
に、チェックデータ生成のため、旧データαold 4、旧
チェックデータCold5をディスク装置2a,2dから
排他的論理和演算機構3上に読み込み、書き込み新デー
タαnew 4と旧データαold 4と旧チェックデータC
old 5とで排他的論理和演算を行ない、新チェックデー
タCnew 5を生成した後に、新データαne w 4と新チェ
ックデータCnew 5をディスク装置2a,2dに書き込
むため、データ書き込み時にディスク装置へのアクセス
が4回発生し、データ書き込み処理が遅くなるという問
題点があった。
The UCB paper "AC
as for Redundant Arrayso
f Inexpensive Disks (RAI
D), the old data α old 4 and the old check data C old 5 are written to the disk devices 2 a and 2 d to generate check data when writing data to the disk array device 1. , Read the data into the exclusive OR operation mechanism 3 and write the new data α new 4, the old data α old 4, and the old check data C
old 5 and performs an exclusive-OR operation is, after generating a new check data C new new 5, for writing new check data C new new 5 and the new data alpha ne w 4 disk units 2a, to 2d, the disk during data writing There has been a problem that access to the device occurs four times and the data writing process becomes slow.

【0012】特開平5−324206号で示されるディ
スクアレイ装置では、図9で示す該当データCのホスト
への読み出し、ディスク装置への書き込みを終えた後
に、データC以外のデータ、例えばデータDの読み込み
要求が発生した場合に、チェックデータP’はキャッシ
ュメモリ内に存在するものの、ディスク装置dr4から
データDを読み出さなければならないとう問題点があっ
た。
In the disk array device disclosed in Japanese Patent Application Laid-Open No. 5-324206, after reading the data C shown in FIG. 9 to the host and writing the data to the disk device, data other than the data C, for example, data D When a read request occurs, the check data P 'exists in the cache memory, but there is a problem that the data D must be read from the disk device dr4.

【0013】また、ホスト計算機から新規データの読み
込み要求があった時に、キャッシュメモリ104がすで
にそれ以前に参照されたデータおよびチェックデータで
一杯になっていた場合において、どのデータとどのチェ
ックデータをキャッシュメモリ104上から削除し、新
規データをキャッシュメモリに新たに読み込むかについ
て考慮されておらず、削除したデータおよびチェックデ
ータによっては、ディスクアレイ装置に対する読み込み
および書き込み処理の効率が低下し、ディスクアクセス
速度が大幅に低下するという問題点があった。
When the cache computer 104 is already full of previously referenced data and check data when a new data read request is issued from the host computer, the cache memory 104 stores which data and which check data are cached. No consideration is given to whether the data is deleted from the memory 104 and new data is newly read into the cache memory. Depending on the deleted data and the check data, the efficiency of the reading and writing processing for the disk array device is reduced, and the disk access speed is reduced. However, there has been a problem that is greatly reduced.

【0014】この発明は上記のような問題点を解消する
ためになされたもので、ディスクアレイ装置内のディス
ク装置へのアクセス回数を減らすことにより、入出力処
理速度の向上を図ったディスクアレイ装置を提供するこ
とを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and a disk array device which improves the input / output processing speed by reducing the number of accesses to the disk device in the disk array device. The purpose is to provide.

【0015】[0015]

【課題を解決するための手段】第1の発明に係るディス
クアレイ装置は、複数台のデータ用ディスク装置及び少
なくとも1台以上のチェックデータ用ディスク装置と、
データ用ディスク装置に格納されているデータの読み込
み処理及びデータ用ディスク装置への書き込み処理にお
いてデータを一時的に格納する一時記憶手段と、一時記
憶手段とディスク装置間においてデータの入出力を制御
する入出力制御手段と、データ用ディスク装置に対する
データ更新処理において更新データと更新の対象となる
旧データと旧データに対応するチェックデータに基づい
て前記更新データに対応した新規チェックデータを生成
するチェックデータ生成演算機構と、から成るディスク
アレイ装置において、入出力制御手段はディスクアレイ
装置からのデータ読み込み処理時において読み込みデー
タを含むデータブロックとこれに対応したチェックデー
タブロックで構成される同一冗長グループの全てのデー
タをディスク装置から読み出し一時記憶手段に格納する
ようにし、ディスクアレイ装置に対するデータ更新処理
時には、一時記憶手段に格納されている旧データおよび
旧データに対応したチェックデータに基づいて新チェッ
クデータを生成するようにしたものである。
According to a first aspect of the present invention, there is provided a disk array device comprising: a plurality of data disk devices; and at least one or more check data disk devices.
A temporary storage unit for temporarily storing data in a process of reading data stored in the data disk device and a process of writing to the data disk device, and controlling input / output of data between the temporary storage device and the disk device Input / output control means, and check data for generating new check data corresponding to the update data based on the update data, the old data to be updated, and the check data corresponding to the old data in the data update process for the data disk device In the disk array device comprising the generation operation mechanism, the input / output control means controls all of the same redundant group consisting of a data block containing read data and a corresponding check data block at the time of data read processing from the disk array device. Disk data The new check data is generated based on the old data stored in the temporary storage means and the check data corresponding to the old data during the data update processing for the disk array device. Things.

【0016】第2の発明に係るディスクアレイ装置は、
第1の発明におけるディスクアレイ装置において、入出
力制御手段がディスクアレイ装置からのデータ読み込み
処理において読み込みデータを含む冗長グループとこれ
に連続した次の冗長グループを各ディスク装置から読み
出すようにしたものである。
A disk array device according to a second aspect of the present invention
In the disk array device according to the first invention, the input / output control means reads out from each disk device a redundant group including read data and a next redundant group following the redundant group in the process of reading data from the disk array device. is there.

【0017】第3の発明に係るディスクアレイ装置は、
第1の発明または第2の発明におけるディスクアレイ装
置において、一時記憶手段上のデータ管理方法として一
時記憶手段に読み込まれたデータが一杯の状態の場合に
おいて、最も最近参照されることがなかったデータから
順番に新規データと置き換えて行く方法を採用するよう
にしたものである。
A disk array device according to a third aspect of the present invention
In the disk array device according to the first or second aspect of the present invention, when the data read into the temporary storage means is full as a data management method on the temporary storage means, the data which has not been most recently referred to. , And a method of sequentially replacing the new data with new data.

【0018】[0018]

【作用】この発明に係るディスクアレイ装置は、ディス
ク装置への書き込みデータと書き込みデータに対応して
生成されるチェックデータからなる冗長グループを単位
として構成し、ディスク装置からの読み出し処理では冗
長グループごとにアクセスし読み出し結果を一旦キャッ
シュメモリに格納し、その後のディスク書き込み処理に
おけるチェックデータ生成処理においては、必要となる
書き込みデータに対する旧データ及びこの旧データに対
応したチェックデータをキャッシュメモリ上から取り出
すようにしたものである。
In the disk array device according to the present invention, a redundant group consisting of write data to the disk device and check data generated in correspondence with the write data is configured as a unit. To temporarily store the read result in the cache memory, and in the subsequent check data generation process in the disk write process, the old data for the necessary write data and the check data corresponding to the old data are extracted from the cache memory. It was made.

【0019】また、この発明に係るディスクアレイ装置
は、ディスク装置からの読み出し処理において、読み出
し要求データを含む冗長グループと、これに連続した次
の冗長グループの2グループを同時に読み出し、キャッ
シュメモリ上に格納するようにしたものである。
Further, in the disk array device according to the present invention, in the process of reading from the disk device, two groups, a redundant group including read request data and a next redundant group following the redundant group, are simultaneously read and stored in the cache memory. It is intended to be stored.

【0020】さらに、この発明に係るディスクアレイ装
置は、一時記憶手段上のデータ管理方法として一時記憶
手段に読み込まれたデータが一杯の状態の場合におい
て、最も最近参照されることがなかったデータから順番
に新規データと置き換えて行くようにしたものである。
Further, according to the disk array apparatus of the present invention, when data read into the temporary storage means is full as a data management method on the temporary storage means, the data which has not been referred to most recently can be used. The new data is replaced in order.

【0021】[0021]

【実施例】【Example】

実施例1.以下、この発明の第1の実施例を図1乃至図
3について説明する。図1はこの発明の一実施例を示す
構成図であり、図1において1はディスクアレイ装置、
2a、2b、2c、2dはディスク装置を、また4a、
4b、4cは各々ディスク装置2a、2b、2c上で冗
長グループ6を構成しているデータブロックであり、5
は同じく冗長グループ6内のチェックデータブロックで
ある。3は排他的論理和演算機構、7はキャッシュメモ
リ、6’は冗長グループ6がキャッシュメモリ7上にロ
ーディングされている様子を示したものである。また、
8はキャッシュメモリを管理するキャッシュメモリ管理
機構であり、9はディスク装置との間でデータ入出力を
制御する入出力制御手段である。尚、図において、(
)はデータ、及び制御の流れを示すパスである
Embodiment 1 FIG. Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing an embodiment of the present invention. In FIG.
2a, 2b, 2c, 2d are disk devices, and 4a,
4b and 4c are data blocks constituting the redundancy group 6 on the disk devices 2a, 2b and 2c, respectively.
Is a check data block in the redundancy group 6. Numeral 3 denotes an exclusive OR operation mechanism, numeral 7 denotes a cache memory, and numeral 6 'denotes a state in which the redundant group 6 is loaded on the cache memory 7. Also,
Reference numeral 8 denotes a cache memory management mechanism for managing the cache memory, and reference numeral 9 denotes input / output control means for controlling data input / output with the disk device. In the figure, (
) Is a path showing the flow of data and control

【0022】図2は本実施例におけるディスクアレイ装
置からのデータ読み込み処理の流れを示すフローチャー
トであり、図3はデータ書込み処理を示すフローチャー
トである。
FIG. 2 is a flowchart showing the flow of a process of reading data from the disk array device in this embodiment, and FIG. 3 is a flowchart showing a process of writing data.

【0023】まず、データ読み込み時の処理について、
図1及び、図2のフローチャートに基づいて説明する。
図1のように構成されたディスクアレイ装置1が、デー
タ読み込み要求を受け付けると(SR1)、キャッシュ
メモリ管理機構8はキャッシュメモリ7上に要求された
データαnew 4を含む冗長グループ6’が既に存在して
いるかどうか判定する(SR2)。ここでは、該当要求
データαnew 4はディスク装置2aのデータブロック4
a内に存在していると仮定する。要求データαnew 4を
含む冗長グループ6がキャッシュメモリ7上に存在せ
ず、且つキャッシュメモリ7上に空き領域が残されてい
る場合(SR3)には、入出力制御手段9はディスク装
置2a,2b,2c,2dから該当要求データαne w
を含む冗長グループ6の全データブロック4a,4b,
4cと、チェックデータブロック5をキャッシュメモリ
7の空き領域に(パス1経由で)読み出す(SR5)。
キャッシュメモリ7が一杯の場合は、キャッシュメモリ
7上の冗長グループデータの内で、最後に参照されてか
ら一番時間が経過している冗長グループの先頭領域をキ
ャッシュメモリ管理機構8を用いて検索する(SR
4)。以上で、冗長グループ6を構成する全データのロ
ーディングアドレスが決定したので、該当要求データα
new 4を含む冗長グループデータ6を、キャッシュメモ
リ7上の上記検索された箇所に格納(上書き)する(S
R5)。次いで、要求元に対して該当要求データαnew
4を(パス2経由で)転送する(SR6)。
First, regarding the processing at the time of reading data,
A description will be given based on the flowcharts of FIGS.
When the disk array device 1 configured as shown in FIG. 1 receives a data read request (SR1), the cache memory management mechanism 8 determines that the redundancy group 6 ′ including the requested data α new 4 has already been stored in the cache memory 7. It is determined whether it exists (SR2). Here, the corresponding request data α new 4 is the data block 4 of the disk device 2a.
Assume that it exists in a. If the redundant group 6 including the request data α new 4 does not exist in the cache memory 7 and an empty area remains in the cache memory 7 (SR3), the input / output control unit 9 sets the disk device 2a, 2b, 2c, the corresponding request data α ne w 4 from 2d
, All data blocks 4a, 4b,
4c, the check data block 5 is read out (via pass 1) into a free area of the cache memory 7 (SR5).
When the cache memory 7 is full, the cache memory management mechanism 8 searches the redundant group data in the cache memory 7 for the head area of the redundant group having the longest time since the last reference. Yes (SR
4). As described above, the loading addresses of all data constituting the redundancy group 6 have been determined.
The redundant group data 6 including the new 4 is stored (overwritten) in the searched location on the cache memory 7 (S
R5). Next, the corresponding request data α new
4 (via path 2) (SR6).

【0024】一方、キャッシュメモリ7上に、要求され
たデータαnew 4を含む冗長グループ6’が既に存在し
ていた場合(SR2)には、要求元に対してキャッシュ
メモリ7上のデータブロック4aから要求データαnew
4を(パス2経由で)直接転送する。(SR6)。
On the other hand, if the redundant group 6 'including the requested data α new 4 already exists on the cache memory 7 (SR2), the data block 4a on the cache memory 7 is sent to the request source. Request data α new from
4 directly (via path 2). (SR6).

【0025】キャッシュメモリ管理機構8はデータの時
間管理ポインタを、キャッシュメモリ7上で冗長グルー
プ6’のデータが格納されている最後のロケーションを
ポイントするように制御し(SR7)、読み込み終了の
通知を要求元へ送る(SR8)ことで一連の処理を終了
する。
The cache memory management mechanism 8 controls the data time management pointer to point to the last location where the data of the redundancy group 6 'is stored on the cache memory 7 (SR7), and notifies the end of reading. Is sent to the request source (SR8), thereby ending a series of processing.

【0026】ここで、例えばデータの読み込み要求がデ
ータブロック4bと4cにまたがるような内容であった
場合において、キャッシュメモリ7上に該当データを含
む冗長グループ6’が存在しなかった時は、ディスク装
置2a,2b,2c,2dより該当データブロック4b
と4cを含む冗長グループ6の全データブロック4a,
4b,4cとチェックデータブロック5を読み出して、
キャッシュメモリ7に格納した後、要求元に該当要求デ
ータ4b,4cを転送する。
Here, for example, in the case where the data read request has a content that extends over the data blocks 4b and 4c, if there is no redundant group 6 'including the relevant data in the cache memory 7, the disk Applicable data block 4b from devices 2a, 2b, 2c, 2d
Data blocks 4a, 4a,
4b and 4c and the check data block 5,
After storing in the cache memory 7, the corresponding request data 4b and 4c are transferred to the request source.

【0027】次に、データ7書き込み時の処理につい
て、図1及び図3のフローチャートに従って説明する。
ディスクアレイ装置1は、データ書き込み要求を受け付
け(SW1)、書き込みデータを受け取る(SW2)。
ディスクアレイ装置1は、要求元から受け取った書込み
データを排他的論理和演算機構3に(パス3経由で)転
送する(SW3)。ここで、書込みデータを含む冗長グ
ループデータ6’がキャッシュメモリ7上に存在してい
る場合には(SW4)、キャッシュメモリ7上の旧デー
タαold 4と旧チェックデータCold 5を排他的論理和
演算機構3に(パス4、5経由で)転送する(SW
8)。排他的論理和演算機構3では、要求元より転送さ
れた新データαnew 4と、キャッシュメモリ7から転送
されてきた旧データαold 4と、旧チェックデータC
old 5を用いて排他的論理和演算を行ない、新チェック
データCnew 5を生成する(SW9)。ディスクアレイ
装置1は、新データαnew 4と生成された新チェックデ
ータCnew 5を各々のディスク装置2a,2dに(パス
7、8経由で)書き込む(SW10)。さらに、キャッ
シュメモリ7上の冗長グループ6’内の対応するデータ
ブロックに対しても書き込みを実行し(パス9、10経
由で)、キャッシュメモリ内容を更新する。(SW1
1)次いで、冗長グループ6’をキャッシュメモリ管理
機構8で管理されるポインタが示す最後に挿入する(S
W12)。最後に、書き込み終了の通知を要求元へ送り
(SW13)、一連の書込み処理を終える。
Next, the processing at the time of writing the data 7 will be described with reference to the flowcharts of FIGS.
The disk array device 1 receives a data write request (SW1) and receives write data (SW2).
The disk array device 1 transfers the write data received from the request source to the exclusive OR operation mechanism 3 (via the path 3) (SW3). Here, when the redundant group data 6 'including the write data exists in the cache memory 7 (SW4), the old data α old 4 and the old check data C old 5 in the cache memory 7 are exclusive-logically combined. Transfer (via paths 4 and 5) to sum operation mechanism 3 (SW
8). In the exclusive OR operation mechanism 3, the new data α new 4 transferred from the request source, the old data α old 4 transferred from the cache memory 7, and the old check data C
performs an exclusive OR operation with the old 5, to generate the new check data C new 5 (SW9). The disk array device 1 writes the new data α new 4 and the generated new check data C new 5 to the respective disk devices 2a and 2d (via the paths 7 and 8) (SW10). Further, writing is performed on the corresponding data block in the redundancy group 6 'on the cache memory 7 (via the paths 9, 10), and the contents of the cache memory are updated. (SW1
1) Next, the redundant group 6 'is inserted at the end indicated by the pointer managed by the cache memory management mechanism 8 (S
W12). Finally, a write completion notification is sent to the request source (SW13), and a series of write processing is completed.

【0028】一方、書き込み要求データを含む冗長グル
ープデータがキャッシュメモリ7上に存在しなければ
(SW4)、キャッシュメモリ管理機構8はキャッシュ
メモリ7上に空き領域を探し(SW5)、空き領域が見
つかれば入出力制御手段9を介して、ディスク装置2
a,2b,2c,2dから該当データを含む冗長グルー
プデータを読み込み、キャッシュメモリに格納する(S
W7)。キャッシュメモリ7上に空き領域が存在しない
場合(SW5)は、キャッシュメモリ管理機構8で管理
されるポインタが指し示す先頭の冗長グループを取り出
し(SW6)、そこへディスク装置2a,2b,2c,
2dから読み込んだ冗長グループデータを格納する(S
W7)。その後の処理は、該当データを含む冗長グルー
プデータがキャッシュメモリ7上に存在していた場合と
同じである(SW8〜SW13)。
On the other hand, if the redundant group data including the write request data does not exist in the cache memory 7 (SW4), the cache memory management mechanism 8 searches for a free area in the cache memory 7 (SW5) and finds a free area. For example, the disk device 2
a, 2b, 2c, and 2d, the redundant group data including the corresponding data is read and stored in the cache memory (S
W7). If there is no free area in the cache memory 7 (SW5), the leading redundant group indicated by the pointer managed by the cache memory management mechanism 8 is extracted (SW6), and the disk devices 2a, 2b, 2c,
The redundant group data read from 2d is stored (S
W7). Subsequent processing is the same as when the redundant group data including the relevant data exists in the cache memory 7 (SW8 to SW13).

【0029】実施例2.この発明の第2の実施例につい
て図4、および図5について説明する。図4はこの発明
の一実施例を示す図であり、6a及び6bはディスク装
置上での連続した冗長グループを示し、6a’及び6
b’はこれら冗長グループがキャッシュメモリ上にロー
ディングされた様子を示したものである。その他の構成
要素は実施例1で記載のものと同じである。図5は本実
施例のディスクアレイ装置におけるデータ読み込み処理
の流れを示すフローチャートである。
Embodiment 2 FIG. A second embodiment of the present invention will be described with reference to FIGS. FIG. 4 is a diagram showing an embodiment of the present invention, wherein 6a and 6b show continuous redundant groups on the disk device, and 6a 'and 6a'
b 'shows how these redundant groups are loaded on the cache memory. Other components are the same as those described in the first embodiment. FIG. 5 is a flowchart showing the flow of the data reading process in the disk array device of the present embodiment.

【0030】次に動作について、図5のフローチャート
に基づいて説明する。ディスクアレイ装置1が、データ
読み込み要求を受け付けると(SR1)、キャッシュメ
モリ7上に要求されたデータαnew 4を含む冗長グルー
プ6a’が既に存在しているかどうか判定する(SR
2)。要求されたデータαnew 4を含む冗長グループ6
a’がキャッシュメモリ7上に存在せず、且つキャッシ
ュメモリ7上に空き領域が残されている場合(SR3)
には、入出力制御手段9はディスク装置2a,2b,2
c,2dから該当要求データαnew 4を含む冗長グルー
プ6aの全データブロック4a,4b,4cと、チェッ
クデータブロック5a、および冗長グループ6aに連続
する冗長グループ6bの全データブロック4d,4e,
4fと、チェックデータブロック5bとをキャッシュメ
モリ7の空き領域に(パス1経由で)読み出す(SR
5)。キャッシュメモリ7が一杯の場合は、キャッシュ
メモリ7上の冗長グループデータの内で、最後に参照さ
れてから一番時間が経過している2つの冗長グループデ
ータをキャッシュメモリ管理機構8を用いて検索する
(SR4)。以上で、新しい冗長グループ6a、6bの
ローディングアドレスが決定したので、要求されたデー
タαnew 4を含むこれら2つの連続した冗長グループデ
ータをキャッシュメモリ7上の上記検索された箇所に格
納(上書き)する(SR5)。そして、要求元に対して
該当要求データαnew 4を(パス2経由で)転送する
(SR6)。次いで、キャッシュメモリ7上の冗長グル
ープ6a’と冗長グループ6b’をキャッシュメモリ管
理機構8が示すポインタの最後の位置に順番に挿入し
(SR7)、読み込み終了の通知を要求元へ送る(SR
10)ことで一連の処理を完了する。
Next, the operation will be described with reference to the flowchart of FIG. When the disk array device 1 receives the data read request (SR1), it is determined whether or not the redundancy group 6a 'including the requested data α new 4 already exists on the cache memory 7 (SR).
2). Redundancy group 6 including requested data α new 4
a 'does not exist in the cache memory 7 and a free area remains in the cache memory 7 (SR3)
The input / output control means 9 includes the disk devices 2a, 2b, 2
From c and 2d, all data blocks 4a, 4b and 4c of the redundant group 6a including the corresponding request data α new 4, and all the data blocks 4d and 4e of the check data block 5a and the redundant group 6b continuous with the redundant group 6a.
4f and the check data block 5b are read (via pass 1) into a free area of the cache memory 7 (SR
5). When the cache memory 7 is full, the cache memory management mechanism 8 is used to search for two redundant group data that have passed the longest time since they were last referenced from among the redundant group data in the cache memory 7. (SR4). As described above, the loading addresses of the new redundant groups 6a and 6b are determined, and these two continuous redundant group data including the requested data α new 4 are stored (overwritten) in the above-described searched location on the cache memory 7. (SR5). Then, the corresponding request data α new 4 is transferred (via path 2) to the request source (SR6). Next, the redundant groups 6a 'and 6b' on the cache memory 7 are sequentially inserted into the last position of the pointer indicated by the cache memory management mechanism 8 (SR7), and a read end notification is sent to the request source (SR).
10) completes a series of processes.

【0031】一方、キャッシュメモリ7上に、要求され
たデータαnew 4を含む冗長グループ6a’が既に存在
していた場合(SR2)には、要求元に対してキャッシ
ュメモリ7上の冗長グループ6a’から該当データα
new 4を(パス2経由で)転送する(SR8) 次いで、キャッシュメモリ管理機構8はキャッシュメモ
リ7上の冗長グループ6a’をデータの時間管理ポイン
タで示す最後の位置に挿入し(SR9)し、読み込み終
了の通知を要求元へ送り(SR10)一連の処理を完了
する。
On the other hand, if the redundant group 6a 'including the requested data α new 4 already exists on the cache memory 7 (SR2), the redundant group 6a on the cache memory 7 is notified to the requestor. 'To the corresponding data α
transfer new 4 (via path 2) (SR8) Next, the cache memory management mechanism 8 inserts the redundancy group 6a 'in the cache memory 7 into the last position indicated by the time management pointer of the data (SR9), A notification of the end of reading is sent to the request source (SR10), and a series of processing is completed.

【0032】尚、ディスクアレイ装置への書き込み処理
は実施例1と同様である。
The writing process to the disk array device is the same as in the first embodiment.

【0033】[0033]

【発明の効果】この発明は、以上のように構成されてい
るので、ディスクアレイ装置へのデータ書き込み時にお
けるチェックデータ生成処理において、書き込みデータ
に対応した旧データ及び旧チェックデータをディスク装
置から読み出すことなく一時記憶手段から読み出す様に
したので、ディスクアクセス処理性能の向上を図ること
ができる。
Since the present invention is configured as described above, in the check data generation processing at the time of writing data to the disk array device, old data and old check data corresponding to the write data are read from the disk device. Since the data is read out from the temporary storage means without any problem, it is possible to improve the disk access processing performance.

【0034】また、データ読み込み処理において、該読
み込みデータとこれに対応したチェックデータだけでな
く、冗長グループを構成する全データを一時記憶手段に
同時に読み込むようにしたので、最初に読み込まれたデ
ータのみならず、これと連続した同一冗長グループ内の
他のデータアクセスに対しても高速アクセスが可能とな
る。
In the data reading process, not only the read data and the corresponding check data but also all data constituting the redundant group are simultaneously read into the temporary storage means. In addition, high-speed access can be made to other data accesses in the same redundant group that is continuous with the above.

【0035】また、データ読み込み処理において、該デ
ータを含む冗長グループに隣接した次の冗長グループを
構成するデータをも同時に一時記憶手段に読み込むよう
にしたので、特にシーケンシャルアクセスによる大量デ
ータ処理において高速アクセスが可能となる。
In the data reading process, the data constituting the next redundant group adjacent to the redundant group containing the data is also read into the temporary storage means at the same time. Becomes possible.

【0036】さらに、一時記憶手段が既にそれ以前に読
み込まれたデータで一杯の場合においては最近、最も参
照されることのなかったデータブロックから順に新規デ
ータブロックと置き換えて行くようにしたので、以降の
処理においてアクセス確率の高いデータブロックを掃き
出してしまうといった無駄な動作を極力防ぐことが出来
るという効果がある。
Further, when the temporary storage means is already full of data which has been read before, the data block which has not been referred to recently is replaced with a new data block in order from the most recently read. In this process, useless operation such as sweeping out a data block having a high access probability can be prevented as much as possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施例1を示す構成図。FIG. 1 is a configuration diagram showing a first embodiment of the present invention.

【図2】この発明の実施例1におけるディスクアレイ装
置のデータ読み込み動作を示すフローチャート。
FIG. 2 is a flowchart illustrating a data reading operation of the disk array device according to the first embodiment of the present invention.

【図3】この発明の実施例1におけるディスクアレイ装
置のデータ書き込み動作を示すフローチャート。
FIG. 3 is a flowchart illustrating a data write operation of the disk array device according to the first embodiment of the present invention.

【図4】この発明の実施例2を示す構成図。FIG. 4 is a configuration diagram showing a second embodiment of the present invention.

【図5】この発明の実施例2におけるディスクアレイ装
置のデータ読み込み動作を示すフローチャート。
FIG. 5 is a flowchart illustrating a data read operation of the disk array device according to the second embodiment of the present invention.

【図6】従来例におけるディスクアレイ装置の構成図。FIG. 6 is a configuration diagram of a disk array device in a conventional example.

【図7】従来例のディスクアレイ装置の動作を示すフロ
ーチャート。
FIG. 7 is a flowchart showing the operation of the conventional disk array device.

【図8】従来例のディスクアレイ装置のシステム構成を
示すブロック図。
FIG. 8 is a block diagram showing a system configuration of a conventional disk array device.

【図9】従来例のディスクアレイ装置の動作を示す模式
図。
FIG. 9 is a schematic diagram showing the operation of a conventional disk array device.

【符号の説明】[Explanation of symbols]

1 ディスクアレイ装置 2 ディスク装置 3 排他的論理和演算機構 4a、4b、4c、4d、4e、4f データブロック 5 チェックデータブロック 6 冗長グループ 7 キャッシュメモリ 8 キャッシュメモリ管理機構 9 入出力制御手段 DESCRIPTION OF SYMBOLS 1 Disk array device 2 Disk device 3 Exclusive OR operation mechanism 4a, 4b, 4c, 4d, 4e, 4f Data block 5 Check data block 6 Redundancy group 7 Cache memory 8 Cache memory management mechanism 9 Input / output control means

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−119120(JP,A) 特開 平6−95810(JP,A) 特開 平6−95968(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 302 G06F 3/06 305 G06F 3/06 540 G06F 12/08 320 G06F 12/16 320 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-6-119120 (JP, A) JP-A-6-95810 (JP, A) JP-A-6-95968 (JP, A) (58) Field (Int.Cl. 6 , DB name) G06F 3/06 302 G06F 3/06 305 G06F 3/06 540 G06F 12/08 320 G06F 12/16 320

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数台のデータ用ディスク装置及び少な
くとも1台以上のチェックデータ用ディスク装置と、 前記データ用ディスク装置に格納されているデータの読
み込み処理及びデータ用ディスク装置への書き込み処理
においてデータを一時的に格納する一時記憶手段と、 前記一時記憶手段とディスク装置間においてデータの入
出力を制御する入出力制御手段と、 新規チェックデータを生成するチェックデータ生成演算
機構と、を備えたディスクアレイ装置において、 前記入出力制御手段はディスクアレイ装置からのデータ
読み込み処理において該読み込みデータを含むデータブ
ロックとこれに対応したチェックデータブロックで構成
される同一冗長グループの全てのデータをディスク装置
から読み出し前記一時記憶手段に格納し、 前記チェックデータ生成演算機構はディスクアレイ装置
に対するデータ更新処理において更新データと前記一時
記憶手段に格納されている更新の対象となる旧データお
よび前記旧データに対応したチェックデータに基づいて
前記更新データに対応した新規チェックデータを生成す
るようにしたことを特徴とするディスクアレイ装置。
1. A plurality of data disk devices and at least one or more check data disk devices, and data stored in the data disk device are read and data are written to the data disk device. Comprising: a temporary storage unit for temporarily storing data; an input / output control unit for controlling input / output of data between the temporary storage unit and the disk device; and a check data generation operation mechanism for generating new check data. In the array device, the input / output control unit reads out, from the disk device, all data of the same redundancy group composed of a data block including the read data and a corresponding check data block in a process of reading data from the disk array device Stored in the temporary storage means, The check data generation operation mechanism responds to the update data based on the update data, the old data to be updated stored in the temporary storage means, and the check data corresponding to the old data in the data update processing for the disk array device. A disk array device characterized by generating new check data.
【請求項2】 前記入出力制御手段はディスクアレイ装
置からのデータ読み込み処理において該読み込みデータ
を含む冗長グループとこれに連続した次の冗長グループ
を各ディスク装置から読み出すようにしたことを特徴と
する請求項第1項記載のディスクアレイ装置。
2. The data processing method according to claim 1, wherein said input / output control means reads a redundant group including the read data and a next redundant group following the redundant group from each disk device in a process of reading data from the disk array device. The disk array device according to claim 1.
【請求項3】 前記入出力制御手段は前記一時記憶の為
の管理手段を備え、 該一時記憶管理手段は前記一時記憶手段に読み込まれた
データが一杯の状態において最も最近参照されることが
なかったデータから順番に新規データと置き換えて行く
手段を備えたことを特徴とする請求項第1項または第2
項記載のディスクアレイ装置。
3. The input / output control unit includes a management unit for the temporary storage, wherein the temporary storage management unit is not most recently referred to when the data read into the temporary storage unit is full. 3. A device according to claim 1, further comprising means for sequentially replacing new data with new data.
Item 14. The disk array device according to Item 1.
JP6154730A 1994-07-06 1994-07-06 Disk array device Expired - Fee Related JP2914181B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6154730A JP2914181B2 (en) 1994-07-06 1994-07-06 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6154730A JP2914181B2 (en) 1994-07-06 1994-07-06 Disk array device

Publications (2)

Publication Number Publication Date
JPH0822378A JPH0822378A (en) 1996-01-23
JP2914181B2 true JP2914181B2 (en) 1999-06-28

Family

ID=15590696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6154730A Expired - Fee Related JP2914181B2 (en) 1994-07-06 1994-07-06 Disk array device

Country Status (1)

Country Link
JP (1) JP2914181B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007001518A1 (en) * 2005-06-14 2007-01-04 Broadband Royalty Corporation Media stream distribution system

Also Published As

Publication number Publication date
JPH0822378A (en) 1996-01-23

Similar Documents

Publication Publication Date Title
JP2902970B2 (en) System and associated method for writing data to a disk array
US5488701A (en) In log sparing for log structured arrays
JP3422370B2 (en) Disk cache controller
US4993030A (en) File system for a plurality of storage classes
US5394532A (en) Disk drive array memory system having instant format capability
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
JPH0619632A (en) Storage device of computer system and storing method of data
JP2810593B2 (en) Storage device
JPH07311661A (en) Semiconductor disk device
JPH07261945A (en) Disk array device and disk array sorting method
JP2857288B2 (en) Disk array device
JP2914181B2 (en) Disk array device
JP3155836B2 (en) Disk array device
KR19980047273A (en) How to Manage Cache on RAID Level 5 Systems
JP3122252B2 (en) Disk array control method
JP3236166B2 (en) Cache control method and information processing device
WO2000013180A1 (en) Improved method for providing variable sector-format operation to a computer system
JP2001051806A (en) Disk array device
JP3067558B2 (en) Extended configuration method of disk array device and disk array device
JP2857289B2 (en) Disk array device
JP3250859B2 (en) Disk array device, computer system and data storage device
JP3220581B2 (en) Array type storage system
JP2570614B2 (en) Disk array device
JP3008801B2 (en) Storage device system and disk array controller
JP2002175157A (en) Disk array device

Legal Events

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