JP3234211B2 - Disk array system - Google Patents

Disk array system

Info

Publication number
JP3234211B2
JP3234211B2 JP2000118555A JP2000118555A JP3234211B2 JP 3234211 B2 JP3234211 B2 JP 3234211B2 JP 2000118555 A JP2000118555 A JP 2000118555A JP 2000118555 A JP2000118555 A JP 2000118555A JP 3234211 B2 JP3234211 B2 JP 3234211B2
Authority
JP
Japan
Prior art keywords
drive
data
address
scsi
parity
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
Application number
JP2000118555A
Other languages
Japanese (ja)
Other versions
JP2000330727A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000118555A priority Critical patent/JP3234211B2/en
Publication of JP2000330727A publication Critical patent/JP2000330727A/en
Application granted granted Critical
Publication of JP3234211B2 publication Critical patent/JP3234211B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明はコンピュ−タシステムに
係り、特に高性能な入出力動作を可能とするディスクア
レイシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system, and more particularly to a disk array system capable of performing high-performance input / output operations.

【0002】[0002]

【従来の技術】現在のコンピュータシステムにおいて
は、CPU等の上位側が必要とするデ−タは2次記憶装
置に格納され、CPUが必要とする時に応じ2次記憶装
置に対してデ−タの書込み、読み出しを行っている。こ
の2次記憶装置としては一般に不揮発な記憶媒体が使用
され、代表的なものとして磁気ディスク装置(以下ドラ
イブとする)、光ディスクなどがあげられる。
2. Description of the Related Art In a current computer system, data required by a host such as a CPU is stored in a secondary storage device, and the data is stored in the secondary storage device when the CPU requires it. Writing and reading are being performed. A non-volatile storage medium is generally used as the secondary storage device, and typical examples include a magnetic disk device (hereinafter referred to as a drive) and an optical disk.

【0003】近年高度情報化に伴い、コンピュータシス
テムにおいて、2次記憶装置の高性能化が要求されてき
た。その一つの解として、多数の比較的容量の小さなド
ライブにより構成されるディスクアレイが考えられてい
る。
In recent years, with the advancement of information, there has been a demand for higher performance secondary storage devices in computer systems. As one solution, a disk array constituted by a number of drives having a relatively small capacity has been considered.

【0004】「D.Patterson,G.Gibson,and R.H.Kartz;A
Case for Redundant Arrays of Inexpensive Disks(RA
ID),in ACM SIGMOD Conference,Chicago,IL,(June198
8)」において、データを分割して並列に処理を行うディ
スクアレイ(レベル3)とデータを分散して、独立に扱
うディスクアレイ(レベル5)について、その性能およ
び信頼性の検討結果が報告されている。現在この論文に
書かれている方式が最も一般的なディスクアレイと考え
られている。
[0004] "D. Patterson, G. Gibson, and RHKartz; A
Case for Redundant Arrays of Inexpensive Disks (RA
ID), in ACM SIGMOD Conference, Chicago, IL, (June198
8) ”, the results of a study on the performance and reliability of a disk array (level 3) that divides data and processes data in parallel and a disk array (level 5) that distributes data and handles data independently are reported. ing. Currently, the method described in this paper is considered to be the most common disk array.

【0005】以下に、データを分散して、独立に扱うデ
ィスクアレイ(レベル5)について説明する。レベル5
のディスクアレイでは、個々のデータを分割せずに独立
に扱い、多数の比較的容量の小さなドライブに分散して
格納するものである。現在、一般に使用されている汎用
大型コンピュータシステムの2次記憶装置では、1ドラ
イブ当りの容量が大きいため、他の読み出し/書込み要
求に当該ドライブが使用されて、そのドライブを使用で
きずに待たされることが多く発生した。このタイプのデ
ィスクアレイでは、汎用大型コンピュータシステムの2
次記憶装置で使用されている大容量のドライブを、多数
の比較的容量の小さなドライブで構成し、データを分散
して格納してあるため、読み出し/書込み要求が増加し
てもディスクアレイの複数のドライブで分散して処理す
るため、読み出し/書込み要求がまたされることが減少
する。しかし、ディスクアレイは、このように多数のド
ライブにより構成されるため、部品点数が増加し障害が
発生する確率が高くなる。そこで、信頼性の向上を図る
目的で、パリティを用意する必要がある。
Hereinafter, a description will be given of a disk array (level 5) in which data is distributed and handled independently. Level 5
In this type of disk array, individual data is handled independently without being divided, and the data is distributed and stored in a number of relatively small-capacity drives. At present, in a secondary storage device of a general-purpose large-sized computer system generally used, since the capacity per drive is large, the drive is used for another read / write request, and the drive cannot be used and waits. Many things happened. In this type of disk array, the general-purpose large-scale computer system 2
The large-capacity drive used in the secondary storage device is composed of a large number of relatively small-capacity drives and data is stored in a distributed manner. Read / write requests are reduced due to the distributed processing performed by the other drives. However, since the disk array is composed of such a large number of drives, the number of components increases and the probability of occurrence of a failure increases. Therefore, it is necessary to prepare a parity for the purpose of improving reliability.

【0006】このパリティにより、データを格納したド
ライブに障害が発生した場合、その障害ドライブ内のデ
ータを復元することが可能となる。ディスクアレイで
は、データからパリティを作成しデータと同様にドライ
ブに格納しておく。この時、パリティは、パリティの作
成に関与したデータとは別のドライブに格納される。
This parity makes it possible to restore the data in the failed drive when a failure occurs in the drive storing the data. In a disk array, parity is created from data and stored in a drive in the same way as data. At this time, the parity is stored in a drive different from the data involved in creating the parity.

【0007】これらのディスクアレイでは、現在一般に
使用されている汎用大型コンピュータシステムと同様、
2次記憶装置内では、個々のデータの格納場所(アドレ
ス)が予め指定したアドレスに固定され、CPUから当
該データの読み出し、または書込みをする場合、この固
定されたアドレスへアクセスすることになっている。こ
の分散して格納するディスクアレイ(レベル5)では、
ストレ−ジテクノロジコーポレーション(以下STKと
する)から製品発表がされている。米国特許WO 91
/20076では、レベル5の基本アーキテクチャにお
いて、動的に変更可能なアドレスのテーブルを用意する
ことにより、データ圧縮を行いデータの書込み処理にお
いて、トラック単位で書込み先のアドレスを動的に変換
する方法について開示されている。
[0007] In these disk arrays, similar to general-purpose large-sized computer systems generally used today,
In the secondary storage device, the storage location (address) of each data is fixed to an address designated in advance, and when reading or writing the data from the CPU, the fixed address is accessed. I have. In this distributed disk array (level 5),
A product announcement has been made by Storage Technology Corporation (hereinafter referred to as STK). US Patent WO 91
/ 20076, a method of dynamically converting addresses in a track unit in a data writing process by preparing a table of addresses that can be dynamically changed in a level 5 basic architecture. Is disclosed.

【0008】また、特開平4−230512にはレベル
5において、書き込み時に書き込むデータと、この書き
込みにより更新したパリティを、それぞれ別の場所に書
き込む方法について開示されている。さらに、IBM社
のディスクアレイ(9337)では、レベル5において
WAD(ライト アシスト デバイス)を設けることが
発表されている。
Japanese Patent Application Laid-Open No. Hei 4-230512 discloses a method of writing data to be written at the time of writing and parity updated by the writing at different locations in level 5. Further, in the IBM disk array (9337), it has been announced that a WAD (write assist device) is provided at level 5.

【0009】[0009]

【発明が解決しようとする課題】現在の汎用大型計算機
システム等では、ドライブにより構成される2次記憶装
置内で、CPUから転送されてくるデータは、個々のデ
ータの格納場所(アドレス)が予め指定したアドレスに
固定され、CPUから当該データを読み出し、または書
込む場合は、この固定されたアドレスへアクセスするこ
とになる。これは、ディスクアレイにおいても同じであ
る。データを分割して並列に処理を行うディスクアレイ
(レベル3)では、このようにアドレスを固定しても影
響は無いが、データを分散して、独立に扱うディスクア
レイ(レベル5)では、アドレスを固定した場合、書込
み時に大きな処理オーバヘッドが必要になる。以下、そ
れについて説明する。
In a current general-purpose large-scale computer system, etc., in a secondary storage device constituted by a drive, data transferred from a CPU has a storage location (address) of each data in advance. When the data is fixed to a specified address and the CPU reads or writes the data, the CPU accesses the fixed address. This is the same in the disk array. In a disk array in which data is divided and processed in parallel (level 3), fixing addresses in this way has no effect, but in a disk array in which data is distributed and handled independently (level 5), addresses are fixed. Is fixed, a large processing overhead is required at the time of writing. Hereinafter, this will be described.

【0010】図11は前記公知例でD.Pattersonらが提
案したRAIDに述べられている、データを分散して、
独立に扱うディスクアレイ(レベル5)内部のデータア
ドレスを示している。この各アドレスにあるデータは、
1回の読み出し/書込み処理される単位で、個々のデー
タは独立している。また、RAIDで述べられているア
ーキテクチャでは、データに対するアドレスは固定され
ている。前述したように、このようなシステムでは、信
頼性を向上するためパリティを設定することが不可欠で
ある。本システムでは、各ドライブ内の同一アドレスの
データによりパリティが作成される。すなわち、ドライ
ブ#1から4までのアドレス(1,1)のデータにより
パリティが作成され、パリティを格納するドライブの
(1,1)に格納される。本システムでは、読み出し/
書込み処理は、現在の汎用大型計算機システムと同様
に、各ドライブに対し当該データをアクセスする。
[0010] FIG. 11 is a data distribution method described in the RAID proposed by D. Patterson et al.
It shows the data address inside the disk array (level 5) that is handled independently. The data at each address is
Each data is independent in a unit of one read / write process. In the architecture described in RAID, addresses for data are fixed. As described above, in such a system, it is essential to set parity in order to improve reliability. In this system, a parity is created by data of the same address in each drive. That is, a parity is created from the data at the address (1, 1) of the drives # 1 to # 4, and is stored in (1, 1) of the drive that stores the parity. In this system,
In the writing process, the data is accessed for each drive as in the current general-purpose large-scale computer system.

【0011】このようなディスクアレイにおいて、例え
ば、ドライブ#3のアドレス(2,2)のデータを更新
する場合、まず、更新される前のドライブ#3の(2,
2)のデータと、パリティを格納してあるドライブの
(2,2)のパリティとを読み出し(1)、これらと更
新する新しいデータとで排他的論理和をとり、新たなパ
リティを作成する(2)。パリティの作成完了後、更新
する新しいデータをドライブ#3の(2,2)に、新パ
リティをパリティを格納するドライブの(2,2)に格
納する(3)。
In such a disk array, for example, when updating the data at the address (2, 2) of the drive # 3, first, the (2, 2) of the drive # 3 before being updated is updated.
The data of (2) and the parity of (2, 2) of the drive storing the parity are read (1), and an exclusive OR is performed with these and new data to be updated to create a new parity ( 2). After the creation of the parity is completed, the new data to be updated is stored in (2, 2) of the drive # 3, and the new parity is stored in (2, 2) of the drive storing the parity (3).

【0012】図12に示すように、このようなレベル5
のディスクアレイでは、データの格納されているドライ
ブと、パリティの格納されているドライブから古いデー
タとパリティを読み出すため、ディスクを平均1/2回
転待ち、それから読み出してパリティを作成する。この
新しく作成したパリティを書き込むため更に一回転必要
となり、データを書き替える場合最低で1.5回転待た
なければならない。ドライブにおいては1.5回転ディ
スクの回転を待つということは非常に大きなオーバヘッ
ドとなる。このような書込み時のオーバヘッドを削減す
るため、書込み先のアドレスを動的に変換する方法が考
えられ、WO 91/20076に開示されている。
[0012] As shown in FIG. 12, such level 5
In order to read old data and parity from a drive storing data and a drive storing parity, the disk array waits 平均 of the disk on average, and then reads the parity to create parity. One more rotation is required to write the newly created parity, and at least 1.5 rotations must be waited when rewriting data. In a drive, waiting for the rotation of a 1.5 turn disk is a very large overhead. In order to reduce the overhead at the time of writing, a method of dynamically converting the address of the writing destination has been considered, which is disclosed in WO 91/2076.

【0013】また、前記特開平4−230512におい
ても、書き込み時において書き込みデータをそのまま、
書き込みデータが書き込まれるアドレスではなく、別の
アドレスに書き込むことにより、書き込みオーバヘッド
を削減する方法について開示されている。CPU側から
書き込むデータが送られてくると、直ぐにパリティの更
新を行ない、更新後のパリティを書き込む。このよう
に、レベル5のディスクアレイでは、読み出しと比較し
て、書き込み時ではパリティ生成とこの生成したパリテ
ィを書き込む処理のオーバヘッドが非常に大きいため、
CPUからの読み出し、書き込み要求が多いときには、
この処理オーバヘッドが性能低下の大きな原因となる。
Also, in the above-mentioned Japanese Patent Application Laid-Open No. 4-230512, at the time of writing,
A method is disclosed in which write overhead is reduced by writing to an address other than the address where the write data is written. When data to be written is sent from the CPU side, the parity is updated immediately, and the updated parity is written. As described above, in the disk array of level 5, the overhead of generating the parity and writing the generated parity is much larger at the time of writing than at the time of reading.
When there are many read and write requests from the CPU,
This processing overhead is a major cause of performance degradation.

【0014】本発明の目的は、レベル5のディスクアレ
イ装置において、書き込み時における処理のオーバヘッ
ドを減少させて、ディスクアレイ装置の性能向上を図る
ことにある。
An object of the present invention is to improve the performance of a disk array device of level 5 by reducing the processing overhead during writing.

【0015】本発明の他の目的は、障害ドライブ内のデ
ータ復元用スペアドライブを装置の性能向上に利用する
ことによってドライブ資源の有効活用を図ることにあ
る。
It is another object of the present invention to effectively use drive resources by using a data restoration spare drive in a failed drive to improve the performance of the apparatus.

【0016】[0016]

【課題を解決するための手段】本発明では、パリティグ
ループを構成するドライブと二重化領域(スペース領
域)のドライブにより論理グループを構成し、このスペ
ース領域を有効に活用することにより、高信頼性を保ち
ながら、しかも、書き込み時のパリティ更新の開始時間
を遅らせ、後のCPUからの読みだしまたは書き込み要
求が少ないときにパリティ生成を行う。
According to the present invention, a logical group is constituted by a drive constituting a parity group and a drive in a duplex area (space area), and the space area is effectively utilized to achieve high reliability. In addition, the start time of the parity update at the time of writing is delayed while maintaining the parity, and the parity is generated when there is little read or write request from the CPU later.

【0017】具体的には、書き込み時に、論理グループ
10を構成するSCSIドライブ12の中で、書き込む
データ(新データ)をとりあえずスペース領域に二重化
して格納する。CPU1に対してはこの時点で書き込み
処理を完了したと報告する。
More specifically, at the time of writing, data to be written (new data) is temporarily stored in the space area in the SCSI drives 12 constituting the logical group 10 in a duplicated manner. At this point, the CPU 1 is notified that the writing process has been completed.

【0018】また、パリティの作成および当該SCSI
ドライブ12へのパリティの書き込みは、新データのS
CSIドライブへの書き込みとは独立のタイミングで処
理する。具体的には、ADC2のMP1 20が当該論
理グループ10に対するCPU1からの読み出し/書き
込み要求をカウントし、予めユーザまたはシステム管理
者が設定した数より少ない場合で、しかも当該SCSI
ドライブ12に対し読み出し、または書き込み要求が発
行されていないときにパリティの作成を行い、パリティ
の作成完了後、当該SCSIドライブ12に対しパリテ
ィを書き込む。
In addition, parity generation and the SCSI
Writing the parity to the drive 12 is performed by writing the new data S
Processing is performed at a timing independent of writing to the CSI drive. Specifically, the MP1 20 of the ADC 2 counts the number of read / write requests from the CPU 1 to the logical group 10 and if the number is smaller than the number set in advance by the user or the system administrator,
Parity is created when no read or write request has been issued to the drive 12, and after the parity has been created, the parity is written to the SCSI drive 12.

【0019】パリティの書き込みの他の方法として、一
定時間毎の割込み処理で行なってもよい。一日の中でC
PUからの読み出し、または書き込み要求数の少ない時
間帯あるいは一月の中で少ない日を予測し、スケジュー
ル化しておけばよい。
As another method of writing the parity, the parity may be written by an interrupt process at fixed time intervals. C in the day
A time zone in which the number of read or write requests from the PU is small or a small day in a month may be predicted and scheduled.

【0020】パリティの作成およびそのパリティの当該
SCSIドライブ12へのパリティの書き込みが完了す
る前に、当該論理グループ10において任意の1台のS
CSIドライブに対し障害が発生し、その内部のデータ
が読み出せなくなった場合は、二重化データ以外のデー
タが格納されているSCSIドライブ12に対しては、
前のパリティと、残っているデータから障害が発生した
SCSIドライブ12内のデータを回復することが可能
で、二重化されている新しいデータにおいては、障害が
発生していない方のSCSIドライブ12内の新データ
により回復することが可能である。
Before the creation of the parity and the writing of the parity to the SCSI drive 12 are completed, any one of the S
If a failure occurs in the CSI drive and data inside the CSI drive cannot be read, the SCSI drive 12 storing data other than the duplicated data is
It is possible to recover the data in the failed SCSI drive 12 from the previous parity and the remaining data, and in the duplicated new data, the data in the non-failed SCSI drive 12 can be recovered. It is possible to recover with new data.

【0021】[0021]

【作用】本発明では、上記のように、データの書き込み
とパリティの作成およびSCSIドライブ12への書き
込みとを独立させることにより、ユーザ(CPU)から
は書き込み時のパリティ作成によるオーバヘッドはなく
なる。これは、CPUからの読み出しまたは書き込み要
求数には時間的変動があるため、読み出しまたは書き込
み要求数が多いときには、書き込み処理におけるパリテ
ィの更新をその都度行わず、データの書き込みが完了し
た時点でCPUには終了を報告し、比較的読み出しまた
は書き込み要求の数が少ないときまでパリティの更新を
遅らせる。このパリティの更新は、CPU側の関知はな
く、ディスクアレイコントローラ2が独自に行う。
According to the present invention, as described above, the writing of data and the creation of parity and the writing to the SCSI drive 12 are made independent from each other, so that there is no overhead from the user (CPU) due to parity creation at the time of writing. This is because the number of read or write requests from the CPU fluctuates over time, so when the number of read or write requests is large, the parity is not updated each time in the write process, and the CPU is not updated when the data write is completed. Reports the end and delays the parity update until a relatively small number of read or write requests. The update of the parity is performed by the disk array controller 2 independently of the CPU side.

【0022】このため、CPU側から見たとき、従来の
ディスクアレイ(RAID方式)では、図12に示すよ
うに、書き込み時に平均1.5回転の回転待ち時間を必
要としたのが、本発明によれば、平均0.5回転の回転
待ち時間で済む。また、信頼性の面から見ても、従来の
ディスクアレイ(RAID方式)と比較し、同等に向上
させることが可能となる。
For this reason, when viewed from the CPU side, in the conventional disk array (RAID system), as shown in FIG. 12, an average of 1.5 rotation waiting time was required at the time of writing. According to the above, a rotation waiting time of 0.5 rotation on average is sufficient. Further, from the viewpoint of reliability, it is possible to improve the same as compared with the conventional disk array (RAID method).

【0023】[0023]

【実施例】〈実施例1〉以下、本発明の一実施例を図1
〜図5及び図13により説明する。図1において、本実
施例は、CPU1、ディスクアレイコントローラ(以下
ADC)2、ディスクアレイユニット(以下ADU)3
により構成される。ADU3は、複数の論理グループ1
0により構成され、個々の論理グループ10は、m台の
SCSIドライブ12と、各々のSCSIドライブ12
とADC2を接続するドライブパス9−1から9−4に
より構成される。なお、このSCSIドライブ12の数
は、本発明の効果を得るには特に制限は無い。この論理
グループ10は障害回復単位で、この論理グループ10
内の各SCSIドライブ12内の各データによりパリテ
ィを作成する。本実施例では、m−1台の個々のSCS
Iドライブ12内のデータから各々のパリティが作成さ
れる。
<Embodiment 1> An embodiment of the present invention will now be described with reference to FIG.
This will be described with reference to FIGS. In FIG. 1, the present embodiment includes a CPU 1, a disk array controller (hereinafter, ADC) 2, a disk array unit (hereinafter, ADU) 3,
It consists of. ADU3 has a plurality of logical groups 1
0, each logical group 10 includes m SCSI drives 12 and each SCSI drive 12
And the ADC 2 and drive paths 9-1 to 9-4. The number of the SCSI drives 12 is not particularly limited for obtaining the effects of the present invention. The logical group 10 is a failure recovery unit, and the logical group 10
The parity is created by each data in each SCSI drive 12 in the. In this embodiment, m-1 individual SCSs
Each parity is created from the data in the I drive 12.

【0024】次に、ADC2の内部構造について図1を
用いて説明する。ADC2は、チャネルパスディレクタ
5と、2個のクラスタ13と、バッテリバックアップ等
により不揮発化された半導体メモリであるキャッシュメ
モリ7により構成される。このキャッシュメモリ7に
は、データとアドレス変換用テーブルが格納されてい
る。このキャッシュメモリ7およびその中のアドレス変
換用テーブルは、ADC2内の全てのクラスタにおいて
共有で使用される。クラスタ13は、ADC2内におい
て独立に動作可能なパスの集合で、各クラスタ13間に
おいては、電源、回路は全く独立となっている。クラス
タ13は、チャネル、キャッシュメモリ7間のパスであ
るチャネルパス6と、キャッシュメモリ7、SCSIド
ライブ12間のパスであるドライブパス8−1から8−
が、それぞれ、2個ずつで構成されている。それぞれ
のチャネルパス6−1から6−4とドライブパス8は、
キャッシュメモリ7を介して接続されている。CPU1
より発行されたコマンドは、外部インターフェースパス
4を通って、ADC2のチャネルパスディレクタ5に発
行される。ADC2は、2個のクラスタ13により構成
され、それぞれのクラスタは2個のパスで構成されるた
め、ADC2は合計4個のパスにより構成される。この
ことから、ADC2では、CPU1からのコマンドを同
時に4個まで受け付けることが可能である。そこで、C
PU1からコマンドが発行された場合、ADC2内のチ
ャネルパスディレクタ5により、コマンドの受付が可能
かどうか判断する。
Next, the internal structure of the ADC 2 will be described with reference to FIG. The ADC 2 includes a channel path director 5, two clusters 13, and a cache memory 7 which is a non-volatile semiconductor memory such as a battery backup. The cache memory 7 stores data and an address conversion table. The cache memory 7 and the address conversion table therein are used in common by all clusters in the ADC 2. The cluster 13 is a set of paths that can operate independently in the ADC 2, and the power supply and the circuit are completely independent between the clusters 13. The cluster 13 includes a channel path 6 which is a path between the channel and the cache memory 7, and a drive path 8-1 to 8- which is a path between the cache memory 7 and the SCSI drive 12.
4 are each composed of two pieces. Each of the channel paths 6-1 to 6-4 and the drive path 8
It is connected via a cache memory 7. CPU1
The issued command is issued to the channel path director 5 of the ADC 2 through the external interface path 4. The ADC 2 is configured by two clusters 13 and each cluster is configured by two paths. Therefore, the ADC 2 is configured by a total of four paths. Thus, the ADC 2 can simultaneously receive up to four commands from the CPU 1. So, C
When a command is issued from the PU1, the channel path director 5 in the ADC 2 determines whether the command can be accepted.

【0025】図2は、図1のチャネルパスディレクタ5
と、1クラスタ13−1内の内部構造を示した図であ
る。図2に示すように、CPU1からADC2に送られ
てきたコマンドは、インターフェースアダプタ(以下I
F Adp)15により取り込まれ、マイクロプロセッ
サであるMP1 20は、クラスタ内の外部インターフ
ェースパス4の中で使用可能なパスがあるかを調べ、使
用可能な外部インターフェースパス4がある場合は、M
P1 20は、チャネルパススイッチ16を切り換えて
コマンドの受付け処理を行ない、受け付けられない場合
は、受付不可の応答をCPU1へ送る。
FIG. 2 shows the channel path director 5 of FIG.
FIG. 3 is a diagram showing an internal structure in one cluster 13-1. As shown in FIG. 2, the command sent from the CPU 1 to the ADC 2 is an interface adapter (hereinafter referred to as I / O).
F Adp) 15 and the microprocessor MP1 20 checks whether there is a usable external interface path 4 among the external interface paths 4 in the cluster.
The P1 20 switches the channel path switch 16 to perform a command accepting process. If the command is not accepted, the P1 20 sends an unacceptable response to the CPU 1.

【0026】本実施例では、ADU3を構成するSCS
Iドライブ12は、SCSIインターフェースのドライ
ブを使用する。CPU1をIBMシステム9000シリ
ーズのような大型汎用計算機とした場合、CPU1から
は、IBMオペレーティングシステム(OS)で動作可
能なチャネルインターフェースのコマンド体系にのっと
ってコマンドが発行される。そこで、SCSIドライブ
12をSCSIインターフェースのドライブを使用した
場合、CPU1からのコマンドを、SCSIインターフ
ェースのコマンド体系にのっとったコマンドに変換する
必要が生じる。この変換は、コマンドのプロトコル変換
とアドレス変換に大きく分けられる。以下にアドレス変
換について説明する。
In this embodiment, the SCS constituting the ADU 3
The I drive 12 uses a drive of the SCSI interface. When the CPU 1 is a large-scale general-purpose computer such as the IBM System 9000 Series, commands are issued from the CPU 1 according to a channel interface command system operable by an IBM operating system (OS). Therefore, when a SCSI interface drive is used as the SCSI drive 12, it is necessary to convert a command from the CPU 1 into a command conforming to the SCSI interface command system. This conversion is roughly divided into protocol conversion of the command and address conversion. Hereinafter, the address conversion will be described.

【0027】CPU1から指定されるアドレスは、図1
2に示すように、当該データが格納されているトラック
が所属するシリンダの位置と、そのシリンダ内において
当該データが格納されているトラックを決定するヘッド
アドレスと、そのトラック内のレコードの位置を特定す
る。具体的には、要求データが格納されている当該ドラ
イブの番号(CPU指定ドライブ番号)と、当該ドライ
ブ内のシリンダ番号であるシリンダアドレス(CC)
と、シリンダにおいてトラックを選択するヘッドの番号
であるヘッドアドレス(HH)と、レコードアドレス
(R)からなるCCHHRである。
The address specified by the CPU 1 is shown in FIG.
As shown in FIG. 2, the position of the cylinder to which the track in which the data is stored belongs, the head address for determining the track in which the data is stored in the cylinder, and the position of the record in the track are specified. I do. Specifically, the number of the drive in which the requested data is stored (the drive number designated by the CPU) and the cylinder address (CC) which is the cylinder number in the drive
And a CCHHR comprising a head address (HH), which is the number of a head for selecting a track in the cylinder, and a record address (R).

【0028】従来のCKDフォーマット対応の磁気ディ
スクサブシステム(IBM3990−3390)では、
このアドレスに従ってドライブへアクセスすれば良い。
しかし、本実施例では、複数のSCSIドライブ12に
より、従来のCKDフォーマット対応の磁気ディスクサ
ブシステムを論理的にエミュレートする。つまり、AD
C2は、複数のSCSIドライブ12が従来のCKDフ
ォーマット対応の磁気ディスクサブシステムで使用され
ているドライブ1台に相当するように、CPU1にみせ
かける。このため、 MP1 20は、CPU1から指
定してきたアドレス(CCHHR)をSCSIドライブ
のアドレスに変換する。このアドレス変換には、以下に
示すようなアドレス変換用のテーブル40(以下アドレ
ステーブルとする)が使用される。
In a conventional magnetic disk subsystem (IBM 3990-3390) compatible with the CKD format,
The drive may be accessed according to this address.
However, in the present embodiment, a plurality of SCSI drives 12 logically emulate a conventional magnetic disk subsystem compatible with the CKD format. That is, AD
C2 appears to the CPU 1 so that the plurality of SCSI drives 12 correspond to one drive used in a conventional magnetic disk subsystem compatible with the CKD format. Therefore, the MP1 20 converts the address (CCHHR) specified by the CPU 1 into the address of the SCSI drive. This address conversion uses an address conversion table 40 (hereinafter referred to as an address table) as described below.

【0029】ADC2内のキャッシュメモリ7には、そ
の内部の適当な領域に、図3に示すようなアドレステー
ブル40が格納されている。本実施例では、CPU1が
指定してくるドライブは、CKDフォーマット対応の単
体ドライブである。しかし、本発明では、CPU1が単
体と認識しているドライブが、実際は複数のSCSIド
ライブ12により構成されるため、論理的なドライブと
して定義される。このため、ADC2のMP1 20
は、CPU1より指定してきたアドレス(CPU指定ド
ライブ番号41とCCHHR46)を、SCSIドライ
ブ12に対するSCSIドライブアドレス42(SCS
Iドライブ番号43とそのSCSIドライブ内のアドレ
ス(以下SCSI内Addrとする)44)に変換す
る。
The cache memory 7 in the ADC 2 stores an address table 40 as shown in FIG. In this embodiment, the drive specified by the CPU 1 is a single drive compatible with the CKD format. However, in the present invention, the drive that the CPU 1 recognizes as a single unit is actually defined by a plurality of SCSI drives 12, and is therefore defined as a logical drive. Therefore, the MP1 20 of the ADC 2
Converts the address (CPU-designated drive number 41 and CCHHR 46) designated by the CPU 1 into the SCSI drive address 42 (SCS
I drive number 43 and its SCSI drive address (hereinafter referred to as SCSI Addr) 44).

【0030】アドレステーブル40は、CPU1が指定
するCPU指定ドライブ番号41と、SCSIドライブ
アドレス42により構成される。SCSIドライブアド
レス42は、SCSIドライブ12のアドレスであるS
CSIドライブ番号43と、そのSCSIドライブ内の
実際にデータが格納されているアドレスであるSCSI
内Addr44と、論理グループ10内において、その
SCSI内Addr44により決定されるパリティグル
ープにおけるパリティが格納されているSCSIドライ
ブ番号(パリティドライブ番号50)と、二重化領域
(スペース領域)が格納されているSCSIドライブ番
号(スペースドライブ番号51)により構成されてい
る。このアドレステーブル40では、論理アドレス45
により、SCSIドライブ番号43とSCSI内Add
r44を決定する。アドレステーブル40のSCSIド
ライブアドレス42に登録されているSCSIドライブ
番号43のSCSIドライブ12により論理グループ1
0は構成される。
The address table 40 includes a CPU designated drive number 41 designated by the CPU 1 and a SCSI drive address 42. The SCSI drive address 42 is an address of the SCSI drive 12 S
The CSI drive number 43 and the SCSI address which is the address where data is actually stored in the SCSI drive
SCSI drive number (parity drive number 50) storing the parity in the parity group determined by the SCSI Addr 44 within the logical group 10, and the SCSI storing the duplex area (space area) in the logical group 10. It is composed of a drive number (space drive number 51). In this address table 40, the logical address 45
Drive number 43 and SCSI Add
Determine r44. Logical group 1 is performed by the SCSI drive 12 of the SCSI drive number 43 registered in the SCSI drive address 42 of the address table 40.
0 is configured.

【0031】この論理グループ10内の同一SCSI内
Addr44において、パリティが格納されているSC
SIドライブ番号43をパリティドライブ番号50に登
録し、スペース領域が確保されているSCSIドライブ
番号43をスペースドライブ番号51に登録する。スペ
ースドライブ番号51は、スペース領域が確保されてい
るSCSIドライブ番号の他に、SDフラグ53により
構成される。SDフラグ53は、スペース領域に格納さ
れているデータが有効で、書き込み処理においてスペー
ス領域として使用できない場合はオン(1)となり、無
効で、スペース領域として使用可能な場合はオフ(0)
となる。この論理グループ10は、データとこのデータ
と関連するパリティにより構成されるパリティグループ
と、スペース領域により構成される。
In the Addr 44 within the same SCSI in the logical group 10, the SC in which parity is stored
The SI drive number 43 is registered in the parity drive number 50, and the SCSI drive number 43 in which the space area is secured is registered in the space drive number 51. The space drive number 51 is constituted by an SD flag 53 in addition to the SCSI drive number for which the space area is secured. The SD flag 53 is turned on (1) when the data stored in the space area is valid and cannot be used as the space area in the write process, and is off (0) when the data is invalid and can be used as the space area.
Becomes The logical group 10 includes a parity group including data and parity associated with the data, and a space area.

【0032】論理アドレス45には、CPU1から指定
されるアドレスであるCPU指定ドライブ番号41と、
CCHHRの中でCCHHR46が登録されており、そ
れ以外に、この論理アドレス45のデータがキャッシュ
メモリ7内に存在する場合の、そのデータのキャッシュ
メモリ7内のアドレスを格納するキャッシュアドレス4
7と、キャッシュメモリ7内にその論理アドレス45の
データを保持している場合にオン(1)が登録されるキ
ャッシュフラグ48と、その論理アドレス45にはスペ
ース領域が確保されている場合にオン(1)となる無効
フラグ49と、キャッシュメモリ7内の書き込みデータ
がドライブに書き込まれている場合にオン(1)となる
ドライブフラグ52により構成される。
The logical address 45 includes a CPU designated drive number 41 which is an address designated by the CPU 1,
If the CCHHR 46 is registered in the CCHHR and the data of the logical address 45 exists in the cache memory 7, the cache address 4 for storing the address of the data in the cache memory 7.
7, a cache flag 48 in which ON (1) is registered when data of the logical address 45 is held in the cache memory 7, and ON when a space area is secured in the logical address 45. An invalid flag 49 which is (1) and a drive flag 52 which is turned on (1) when the write data in the cache memory 7 is written to the drive.

【0033】以上のように、アドレステーブル40によ
りCPU指定ドライブ番号41とCCHHR46を論理
アドレス45に変換し、そのデータが実際に格納されて
いるSCSIドライブ番号43とSCSI内Addr4
4を決定する。
As described above, the CPU-designated drive number 41 and CCHHR 46 are converted into the logical address 45 by the address table 40, and the SCSI drive number 43 where the data is actually stored and the Addr 4 in SCSI.
4 is determined.

【0034】例えば、図3において、CPU1から、C
PU指定ドライブ番号41としてDrive#1、CC
HHR46がADR8のデータに対して要求を発行して
きた場合、アドレステーブル40において、CPU指定
ドライブ番号41がDrive#1の領域の各論理アド
レス45内のCCHHR46を調べ、CCHHR46が
ADR8の論理アドレス45を探す。図3においては、
論理アドレス45として、Data#23(D#23)
でCCHHR46がADR8となっており、Data#
23(D#23)が当該論理アドレス45である。
For example, in FIG.
Drive # 1, CC as PU designated drive number 41
When the HHR 46 issues a request for ADR8 data, in the address table 40, the CPU-designated drive number 41 checks the CCHHR 46 in each logical address 45 of the Drive # 1 area, and the CCHHR 46 checks the ADR8 logical address 45. look for. In FIG.
As the logical address 45, Data # 23 (D # 23)
CCHHR46 is ADR8, and Data #
23 (D # 23) is the logical address 45.

【0035】このData#23(D#23)は、アド
レステーブル40から、SD#2のSCSIインターフ
ェースのSCSIドライブ12内のSCSI内Addr
44として、DADR8に該当することが分かり、物理
的なアドレスへ変換される。また、このData#23
(D#23)に対応するパリティは、パリティドライブ
番号50から、Data#23(D#23)と同一のS
CSI内Addr44のDADR8のSD#4のSCS
Iドライブ12に格納されており、スペアドライブ番号
51から、SDフラグ53がオン(1)のためSD#
4、5のSCSI内Addr44がDADR8に二重化
して格納されているデータは有効で、この領域は二重化
領域(スペア領域)として使用することは禁止されてい
る。
This Data # 23 (D # 23) is obtained from the address table 40 by using the Addr in SCSI in the SCSI drive 12 of the SCSI interface of SD # 2.
As 44, it is found that it corresponds to DADR8, and it is converted to a physical address. Also, this Data # 23
From the parity drive number 50, the parity corresponding to (D # 23) is the same as that of Data # 23 (D # 23).
SCS of SD # 4 of DADR8 of Addr44 in CSI
Since the SD flag 53 is ON (1) based on the spare drive number 51, the SD #
Data in which the Addr 44 in SCSI Nos. 4 and 5 are duplicated and stored in the DADR 8 is valid, and use of this area as a duplicated area (spare area) is prohibited.

【0036】このように、CPU1から指定されたアド
レスを論理アドレス45に変換し、実際に読み出し/書
き込みを行うSCSIドライブ12の物理的なアドレス
に変換した後、SD#2のSCSIドライブ12のDa
ta#23(D#23)に対し、読み出しまたは書込み
要求が発行される。この時、アドレステーブル40にお
いて、Data#23(D#23)の論理アドレス45
ではキャッシュフラグ48がオン(1)のため、このデ
ータはキャッシュメモリ7内のCADR2、1に存在す
る。もし、キャッシュフラグ48がオフ(0)であれ
ば、CADR2、4のキャッシュメモリ7内には、当該
データは存在しない。また、このデータは無効フラグ4
9がオフ(0)のため、このデータは有効となる。さら
に、ドライブフラグ52がオン(1)のため、このデー
タはキャッシュメモリ7からドライブに既に書き込まれ
ている。
As described above, the address specified by the CPU 1 is converted into the logical address 45, and is converted into the physical address of the SCSI drive 12 for actually reading / writing.
A read or write request is issued to ta # 23 (D # 23). At this time, in the address table 40, the logical address 45 of Data # 23 (D # 23)
Since the cache flag 48 is ON (1), this data exists in the CADRs 2 and 1 in the cache memory 7. If the cache flag 48 is off (0), the data does not exist in the cache memories 7 of the CADRs 2 and 4. This data is invalid flag 4
Since 9 is off (0), this data is valid. Further, since the drive flag 52 is ON (1), this data has already been written from the cache memory 7 to the drive.

【0037】この、アドレステーブル40は、システム
の電源をオンした時に、MP1 20により、論理グル
ープ10内のある特定のSCSIドライブ12からキャ
ッシュメモリ7に、CPU1は関知せずに自動的に読み
込まれる。一方、電源をオフする時は、MP1 20に
より、キャッシュメモリ7内のアドレステーブル40
を、読み込んできたSCSIドライブ12内の所定の場
所に、CPU1は関知せずに自動的に格納する。
The address table 40 is automatically read from the specific SCSI drive 12 in the logical group 10 into the cache memory 7 by the MP 1 20 without the CPU 1 when the system power is turned on. . On the other hand, when the power is turned off, the address table 40 in the cache memory 7 is
Is automatically stored at a predetermined location in the SCSI drive 12 from which the data has been read, without being aware of it.

【0038】次に、ADC2内での具体的なI/O処理
について、図1、図2を用いて説明する。CPU1より
発行されたコマンドは、IF Adp15を介してAD
C2に取り込まれ、MP1 20により、読み出し要求
か書込み要求か解読される。まず、読み出し要求の場合
の処理方法を以下に示す。
Next, specific I / O processing in the ADC 2 will be described with reference to FIGS. The command issued from the CPU 1 is sent to the AD
The request is read by C2, and is read by MP1 20 as a read request or a write request. First, a processing method for a read request will be described below.

【0039】MP1 20が読み出し要求のコマンドを
認識すると、MP1 20は、CPU1から送られてき
たCPU指定ドライブ番号41とCCHHR46(以下
両方を併せてCPU指定アドレスとする)についてアド
レステーブル40を参照し、当該データの論理アドレス
45への変換を行ない、論理アドレス45に登録されて
いるキャッシュメモリ7内に存在するかどうかキャッシ
ュフラグ48を調べ、判定する。
When the MP1 20 recognizes the read request command, the MP1 20 refers to the address table 40 for the CPU-designated drive number 41 and CCHHR 46 sent from the CPU 1 (both will be referred to as a CPU-designated address). Then, the data is converted into the logical address 45, and the cache flag 48 is checked to determine whether or not the data exists in the cache memory 7 registered at the logical address 45.

【0040】キャッシュフラグ48がオンでキャッシュ
メモリ7内に格納されている場合(キャッシュヒット)
は、MP1 20が、キャッシュメモリ7から当該デー
タを読み出す制御を開始し、キャッシュメモリ7内に無
い場合(キャッシュミス)は、当該ドライブ12からそ
の内部の当該データを読み出す制御を開始する。
When the cache flag 48 is on and stored in the cache memory 7 (cache hit)
Starts the control for reading the data from the cache memory 7 by the MP1 20. If the data is not in the cache memory 7 (cache miss), the control for reading the relevant data from the drive 12 is started.

【0041】キャッシュヒット時、MP1 20は、ア
ドレステーブル40により、CPU1が指定してきたC
PU指定アドレスから論理アドレス45に変換し、論理
アドレス45内のキャッシュアドレス47によりキャッ
シュメモリ7のアドレスに変換し、キャッシュメモリ7
へ当該データを読み出しに行く。具体的には、MP12
0の指示の元で、キャッシュアダプタ回路(C Ad
p)24によりキャッシュメモリ7から当該データは読
み出される。
At the time of a cache hit, the MP1 20 determines from the address table 40
The PU specified address is converted into a logical address 45, and is converted into an address in the cache memory 7 by the cache address 47 in the logical address 45.
To read the data. Specifically, MP12
0, the cache adapter circuit (C Ad
The data is read from the cache memory 7 by p) 24.

【0042】C Adp24は、キャッシュメモリ7に
対するデータの読み出し、書き込みをMP1 20の指
示で行う回路であり、キャッシュメモリ7の状態の監
視、各読み出し、書き込み要求に対して排他制御を行う
回路である。C Adp24により読み出されたデータ
は、データ制御回路(DCC)22の制御により、チャ
ネルインターフェース回路(CH IF)21に転送さ
れる。CH IF21では、CPU1におけるチャネル
インターフェースのプロトコルに変換し、チャネルイン
ターフェースに対応する速度に速度調整する。具体的に
は、CPU1、ADC2間のチャネルインターフェース
を光のインターフェースにした場合、光のインターフェ
ースのプロトコルをADC2内では電気処理でのプロト
コルに変換する。CH IF21におけるプロトコル変
換および速度調整後は、チャネルパスディレクタ5にお
いて、チャネルパススイッチ16が外部インターフェー
スパス4を選択し、IF Adp15によりCPU1へ
データ転送を行なう。
The C Adp 24 is a circuit for reading and writing data to and from the cache memory 7 in accordance with the instruction of the MP 120, and for monitoring the state of the cache memory 7 and performing exclusive control on each read and write request. . The data read by the C Adp 24 is transferred to the channel interface circuit (CH IF) 21 under the control of the data control circuit (DCC) 22. The CH IF 21 converts the data into the protocol of the channel interface in the CPU 1 and adjusts the speed to a speed corresponding to the channel interface. Specifically, when the channel interface between the CPU 1 and the ADC 2 is an optical interface, the protocol of the optical interface is converted into a protocol for electrical processing in the ADC 2. After the protocol conversion and the speed adjustment in the CH IF 21, the channel path switch 16 in the channel path director 5 selects the external interface path 4, and transfers data to the CPU 1 by the IF Adp 15.

【0043】一方、キャッシュミス時は、キャッシュヒ
ット時と同様に、アドレステーブル40によりCPU指
定アドレスを論理アドレス45に変換し、論理アドレス
45から、当該SCSIドライブ番号とそのSCSIド
ライブ内の実際にデータが格納されているSCSI内A
ddr44を認識し、そのアドレスに対し、MP120
は、Drive IF28に対し、当該ドライブ12へ
の読み出し要求を発行するように指示する。Drive
IF28では、SCSIの読み出し処理手順に従っ
て、読み出しコマンドをドライブユニットパス9−1ま
たは9−2を介して発行する。Drive IF28か
ら読み出しコマンドを発行された当該SCSIドライブ
12においては、指示されたSCSI内Addr44へ
シーク、回転待ちのアクセス処理を行なう。当該SCS
Iドライブ12におけるアクセス処理が完了した後、当
該SCSIドライブ12は、当該データを読み出しドラ
イブユニットパス9を介してDrive IF28へ転
送する。
On the other hand, at the time of a cache miss, the CPU-designated address is converted into the logical address 45 by the address table 40 in the same manner as at the time of the cache hit, and the logical address 45 is used to determine the relevant SCSI drive number and the actual data in the SCSI drive. A in SCSI where is stored
ddr44 is recognized, and MP120
Instructs the Drive IF 28 to issue a read request to the drive 12. Drive
The IF 28 issues a read command via the drive unit path 9-1 or 9-2 according to the SCSI read processing procedure. The SCSI drive 12 to which the read command has been issued from the drive IF 28 performs seek and rotation wait access processing to the specified SCSI Addr 44. The SCS
After the access processing in the I drive 12 is completed, the SCSI drive 12 reads the data and transfers the data to the Drive IF 28 via the drive unit path 9.

【0044】Drive IF28では、転送されてき
た当該データをSCSIドライブ側のキャッシュアダプ
タ回路(C Adp)14に転送し、(C Adp)1
4では、キャッシュメモリ7にデータを格納する。この
時、C Adp14は、キャッシュメモリ7にデータを
格納することをMP1 20に報告し、MP1 20
は、この報告を元に、アドレステーブル40のCPUが
読み出し要求を発行したCPU指定アドレスに対応した
論理アドレス45のキャッシュフラグ48をオン(1)
にし、キャッシュアドレス47に、キャッシュメモリ7
内のデータを格納したアドレスを登録する。キャッシュ
メモリ7にデータを格納し、アドレステーブル40のキ
ャッシュフラグ48をオン(1)にし、キャッシュメモ
リ7内のアドレスを更新した後は、キャッシュヒット時
と同様な手順で、CPU1へ当該データを転送する。
The drive IF 28 transfers the transferred data to the cache adapter circuit (C Adp) 14 on the SCSI drive side, and the (C Adp) 1
In step 4, data is stored in the cache memory 7. At this time, the C Adp 14 reports to the MP 1 20 that data is to be stored in the cache memory 7, and the MP 1 20
Turns on the cache flag 48 of the logical address 45 corresponding to the CPU-specified address to which the CPU of the address table 40 has issued the read request based on this report (1).
In the cache address 47, the cache memory 7
Register the address where the data in is stored. After the data is stored in the cache memory 7, the cache flag 48 of the address table 40 is turned on (1), and the address in the cache memory 7 is updated. Then, the data is transferred to the CPU 1 in the same procedure as at the time of the cache hit. I do.

【0045】一方、書き込み時は、以下のように処理さ
れる。書き込み処理は、ユーザが書き込み先のアドレス
(CPU指定アドレス)を指定し、その位置にユーザは
データを書き込んでいると認識する。つまり、ユーザ
は、固定の位置にアドレスを指定していると認識してい
る。
On the other hand, at the time of writing, processing is performed as follows. In the writing process, the user specifies a write destination address (CPU-specified address), and recognizes that the user is writing data at that position. That is, the user recognizes that the address is specified at the fixed position.

【0046】CPU1から、指定アドレス、すなわち、
図3に示すアドレステーブル40においてCPU指定ド
ライブ番号41がドライブ#1で、CCHHR46がA
DR8に対して、書き込み命令が発行されたとする。ま
ず、ADC2のMP1 20は、CPU1から、ドライ
ブ#1のCCHHR46がADR8に対する書込み要求
のコマンドを受け取った後、コマンドを受け取ったMP
1 20が所属するクラスタ13内の各チャネルパス6
において処理可能かどうかを調べ、可能な場合は処理可
能だという応答をCPU1へ返す。CPU1では、処理
可能だという応答を受け取った後に、ADC2へデータ
を転送する。この時、ADC2では、MP1 20の指
示により、チャネルパスディレクタ5において、チャネ
ルパススイッチ16が、当該外部インターフェースパス
4とIF Adp15を当該チャネルパス6と接続し、
CPU1とADC2間の接続を確立する。
From the CPU 1, a designated address, that is,
In the address table 40 shown in FIG. 3, the drive number 41 designated by the CPU is drive # 1 and the CCHHR 46 is A
It is assumed that a write command has been issued to DR8. First, the MP1 20 of the ADC 2 receives the command of the write request to the ADR 8 by the CCHHR 46 of the drive # 1 from the CPU 1, and then receives the command from the MP1.
Each channel path 6 in the cluster 13 to which 1 20 belongs
It is checked whether or not processing is possible, and if possible, a response indicating that processing is possible is returned to the CPU 1. After receiving a response indicating that processing is possible, the CPU 1 transfers data to the ADC 2. At this time, in the ADC 2, the channel path switch 16 in the channel path director 5 connects the external interface path 4 and the IF Adp 15 to the channel path 6 in accordance with the instruction of the MP 1 20,
The connection between the CPU 1 and the ADC 2 is established.

【0047】CPU1とADC2間の接続を確立後、C
PU1からのデータ転送を受け付ける。CPU1から転
送されてきた書き込みデータ(以下新データとする)
は、MP1 20の指示により、CH IF21により
プロトコル変換を行ない、外部インターフェースパス4
での転送速度からADC2内での処理速度に速度調整す
る。CH IF21におけるプロトコル変換および速度
制御の完了後、データは、DCC22によるデータ転送
制御を受け、C Adp24に転送され、C Adp2
4によりキャッシュメモリ7内に格納される。
After establishing the connection between CPU 1 and ADC 2, C
Data transfer from PU1 is accepted. Write data transferred from CPU 1 (hereinafter referred to as new data)
Performs the protocol conversion by the CH IF 21 in accordance with the instruction of the MP1 20 and outputs the external interface path 4
The speed is adjusted from the transfer speed in step (2) to the processing speed in ADC2. After the completion of the protocol conversion and the speed control in the CH IF 21, the data is subjected to data transfer control by the DCC 22, transferred to the C Adp 24, and transferred to the C Adp 2
4 is stored in the cache memory 7.

【0048】この時、CPU1から送られてきた情報が
CPU指定アドレスの場合は、データが転送されてくる
前に必ずCPU指定アドレスがCPU1より転送されて
いるため、読み出しと同様に、アドレステーブル40に
よりアドレス変換を行い、論理アドレス45に変換す
る。また、CPU1から送られてきた情報がデータの場
合は、キャッシュメモリ7に格納したアドレスを上記ア
ドレス変換により変換した論理アドレス45のキャッシ
ュアドレス47に登録する。この時、書き込みデータを
キャッシュメモリ7内に保持するときは、論理アドレス
45のキャッシュフラグ48をオン(1)とし、保持し
ない場合は、キャッシュフラグ48をオフ(0)とす
る。
At this time, if the information sent from the CPU 1 is a CPU-specified address, the CPU-specified address is always transferred from the CPU 1 before data is transferred. To convert the address into a logical address 45. If the information sent from the CPU 1 is data, the address stored in the cache memory 7 is registered in the cache address 47 of the logical address 45 converted by the address conversion. At this time, when the write data is held in the cache memory 7, the cache flag 48 of the logical address 45 is turned on (1). When not held, the cache flag 48 is turned off (0).

【0049】なお、キャッシュメモリ7内に保持されて
いる新データに対し、さらに書き込み要求がCPU1か
ら発行された場合は、キャッシュメモリ7内に保持され
ている新データを書き替える。
When a new write request is issued from the CPU 1 to the new data stored in the cache memory 7, the new data stored in the cache memory 7 is rewritten.

【0050】キャッシュメモリ7に格納された新データ
は、この新データにより新しくパリティを更新し(以
下、更新されたパリティを新パリティとする)、以下の
ように、論理グループ10内のSCSIドライブ12へ
新データと新パリティを格納する。
For the new data stored in the cache memory 7, the parity is newly updated with the new data (hereinafter, the updated parity is referred to as a new parity), and the SCSI drive 12 in the logical group 10 is updated as follows. To store new data and new parity.

【0051】図3に示すように、スペース領域及びパリ
ティはデータと同じ様に扱われ、論理グループ10内の
各SCSIドライブ12に分散して格納されている。論
理グループ10を構成する各SCSIドライブ12内の
データについては、行方向(同一SCSI内Addr4
4)にパリティグループが構成され、このパリティグル
ープ内のデータにおいてパリティが作成される。つま
り、パリティグループは、データとパリティにより構成
され、論理グループ10は、パリティグループとスペー
ス領域で構成される。
As shown in FIG. 3, the space area and the parity are handled in the same manner as the data, and are distributed and stored in each SCSI drive 12 in the logical group 10. The data in each SCSI drive 12 that constitutes the logical group 10 is written in the row direction (Addr4 in the same SCSI).
4) A parity group is formed, and parity is created for data in the parity group. That is, the parity group is configured by data and parity, and the logical group 10 is configured by the parity group and the space area.

【0052】図3において具体的な例を示す。SCSI
内Addr44がDADR1については、SD#1のS
CSIドライブ12に格納されているData#1(D
#1)と、SD#2のSCSIドライブ12に格納され
ているData#2(D#2)と、SD#3のSCSI
ドライブ12に格納されているData#3(D#3)
によりパリティが作成される。このパリティが、SD#
6のSCSIドライブ12に格納され、これらがパリテ
ィグループを構成する。また、論理グループ10は、S
D#4のSCSIドライブ12に確保されているスペー
ス領域(S)と、SD#5のSCSIドライブ12に確
保されているスペース領域(S)と、上記パリティグル
ープにより構成される。
FIG. 3 shows a specific example. SCSI
Of which Addr44 is DADR1, S of SD # 1
Data # 1 (D stored in the CSI drive 12)
# 1), Data # 2 (D # 2) stored in the SCSI drive 12 of SD # 2, and SCSI of SD # 3.
Data # 3 (D # 3) stored in drive 12
Creates a parity. This parity is SD #
6 of the SCSI drives 12, and these constitute a parity group. Further, the logical group 10
The space area (S) secured in the SCSI drive 12 of D # 4, the space area (S) secured in the SCSI drive 12 of SD # 5, and the parity group.

【0053】MP1 20は、アドレステーブル40を
参照し、データ、スペース領域、パリティが格納されて
いるSCSIドライブ12を認識する。具体的には、ア
ドレステーブル40においてCPU指定アドレスが指定
したCPU指定ドライブ番号41に対応する領域におい
て、CPU指定アドレスで指定したCCHHR46と一
致しているSCSIドライブアドレス42に登録されて
いる論理アドレス45をMP1 20は探す。MP1
20は、CPU指定アドレスから論理アドレス45への
変換後、論理アドレス45から、その論理アドレス45
が格納されているSCSIドライブ番号43と、そのS
CSIドライブ12内の物理的なアドレスであるSCS
I内Addr44に変換する。
The MP1 20 refers to the address table 40 and recognizes the SCSI drive 12 in which data, space area, and parity are stored. Specifically, in the area corresponding to the CPU-designated drive number 41 specified by the CPU-specified address in the address table 40, the logical address 45 registered in the SCSI drive address 42 that matches the CCHHR 46 specified by the CPU-specified address. MP1 20 looks for MP1
20 is the logical address 45 after the conversion from the CPU-specified address to the logical address 45.
Is the SCSI drive number 43 in which the
SCS which is a physical address in the CSI drive 12
Convert to Addr44 in I.

【0054】パリティは、論理グループ10を構成する
各SCSIドライブ12において、各SCSI内Add
r44が同一のデータに対し作成され、そのパリティも
データと同一のSCSI内Addr44に格納される。
このため、アドレステーブル40のパリティドライブ番
号50とスペースドライブ番号51において、パリティ
およびスペース領域は、それぞれが格納されているSC
SIドライブ番号43のみが登録されている。そこで、
MP1 20では、アドレステーブル40により、パリ
ティドライブ番号50とスペースドライブ番号51を決
定することが可能となる。つまり、パリティドライブ番
号50とスペースドライブ番号51を決定することによ
り、パリティおよびスペース領域は、データと同一のS
CSI内Addr44に格納されていることから、それ
らのアドレスを決定することになる。このように、デー
タ、スペース領域、パリティが格納されているSCSI
ドライブ12を認識した後は、Drive IF28に
対し、各々の当該SCSIドライブ12に対し書き込み
処理を行なうように指示する。
The parity is stored in each SCSI drive 12 constituting the logical group 10 in each SCSI Add.
r44 is created for the same data, and its parity is also stored in the same Addr 44 in SCSI as the data.
For this reason, in the parity drive number 50 and the space drive number 51 of the address table 40, the parity and the space area indicate the SCs in which the respective areas are stored.
Only the SI drive number 43 is registered. Therefore,
In the MP 1 20, the parity drive number 50 and the space drive number 51 can be determined from the address table 40. That is, by determining the parity drive number 50 and the space drive number 51, the parity and the space area are set to the same S as the data.
Since they are stored in the Addr 44 in the CSI, their addresses are determined. Thus, the SCSI in which the data, the space area, and the parity are stored
After recognizing the drive 12, it instructs the Drive IF 28 to perform a write process on each of the SCSI drives 12.

【0055】本発明における書き込み処理とは、論理グ
ループ10において、新データをキャッシュメモリ7か
ら実際にSCSIドライブ12に書き込む処理と、新デ
ータの書き込みによりパリティを新たに作り直さなけれ
ばならないため、この新パリティを作成するための書き
込み前のデータ(以下旧データ)と書き込み前のパリテ
ィ(以下旧パリティとする)を読み出し、新パリティを
作成する処理と、書き込み後の新パリティを実際にSC
SIドライブ12に書き込む一連の処理をいう。この新
データをキャッシュメモリ7に格納した後の一連の書き
込み処理のフローチャートを図5に示す。
The write processing in the present invention means that in the logical group 10, new data is actually written from the cache memory 7 to the SCSI drive 12, and parity must be newly created by writing new data. A process of reading data before writing (hereinafter, old data) for generating parity and a parity before writing (hereinafter, referred to as old parity) to create a new parity, and actually writing the new parity after writing to the SC
This refers to a series of processing for writing to the SI drive 12. FIG. 5 shows a flowchart of a series of write processing after storing the new data in the cache memory 7.

【0056】図4に示すように、CPU1からSD#1
のSCSIドライブ12のData#1(D#1)の論
理アドレスに対し、ND#1のデータの書き込み要求が
発行された場合、先に示したように、CPU1からキャ
ッシュメモリ7に新データは一旦格納される。新データ
のキャッシュメモリ7への格納後、書き込み処理は次の
手順で行っていく。キャッシュメモリ7に新データ(N
D#1)が格納された後、MP1 20は書き込み処理
に入り、アドレステーブル40により、SD#1のSC
SIドライブ12が所属する論理グループ10で、Da
ta#1(D#1)のSCSI内Addr44であるD
ADR1に対し、スペース領域が確保されているSD#
4,5のSCSIドライブ12に対し、使用権の獲得を
行なう。
As shown in FIG. 4, the CPU 1 sends SD # 1
When a write request for ND # 1 data is issued to the logical address of Data # 1 (D # 1) of the SCSI drive 12, the new data is temporarily stored in the cache memory 7 from the CPU 1 as described above. Is stored. After storing the new data in the cache memory 7, the writing process is performed in the following procedure. New data (N
After D # 1) is stored, the MP1 20 enters a write process, and according to the address table 40, the SC of SD # 1
In the logical group 10 to which the SI drive 12 belongs, Da
D which is Addr44 in SCSI of ta # 1 (D # 1)
SD # for which space area is reserved for ADR1
The use right is acquired for the SCSI drives 12 of 4 and 5.

【0057】SD#4、5のSCSIドライブ12の使
用権を獲得した後は、図5のフローチャートに示すよう
に書き込み処理500を行なっていく。まず、MP1
20は、アドレステーブル40のスペースドライブ番号
51のSDフラグ53をチェックし、SDフラグ53が
オフ(0)の場合、スペース領域として使用でき、オン
(1)の場合は使用できないと判断する(502)。M
P1 20は、このSDフラグ53により、SD#4、
5のSCSIドライブ12にスペース領域が確保されて
いるかを判断する。そして、SDフラグ53がオフ
(0)の場合、キャッシュメモリ7に格納されているN
D#1をこのSD#4,5に二重化して書き込み(50
4)、MP1 20はCPU1へ書き込み完了の報告を
行う(508)。
After obtaining the right to use the SCSI drives 12 of SD # 4 and SD # 5, the write processing 500 is performed as shown in the flowchart of FIG. First, MP1
20 checks the SD flag 53 of the space drive number 51 in the address table 40, and judges that the SD flag 53 can be used as a space area when the SD flag 53 is off (0) and cannot be used when the SD flag 53 is on (1) (502). ). M
P1 20 determines that SD # 4,
It is determined whether a space area is secured in the fifth SCSI drive 12. When the SD flag 53 is off (0), the N stored in the cache memory 7 is
D # 1 is duplicated and written to SD # 4 and SD # 5 (50)
4), MP1 20 reports the completion of writing to CPU 1 (508).

【0058】一方、ステップ502のチェックにより、
SDフラグ53がオン(1)の場合は、図13に示すよ
うに、書き込む新データ(ND#1)をキャッシュメモ
リ7に書き込んだ後、MP1 20は優先的に前の書き
込み処理におけるパリティの作成を指示し、このパリテ
ィを当該SCSIドライブ12に書き込む(131
0)。前の書き込み処理におけるパリティの作成が完了
し、当該SCSIドライブへの書き込みが完了すると、
MP1 20は、アドレステーブル40においてスペー
スドライブ番号51にSDフラグ53をオフ(0)とし
(1308)、キャッシュメモリ7に格納されているN
D#1を二重化して書き込み(1316)、MP1 2
0は、CPU1へ書き込み完了の報告を行う(132
0)。
On the other hand, by checking at step 502,
When the SD flag 53 is ON (1), as shown in FIG. 13, after writing new data (ND # 1) to be written to the cache memory 7, the MP1 20 preferentially creates a parity in the previous write processing. Is written to the SCSI drive 12 (131).
0). When the parity creation in the previous write process is completed and the write to the SCSI drive is completed,
The MP 1 20 turns off (0) the SD flag 53 for the space drive number 51 in the address table 40 (1308), and stores the N stored in the cache memory 7.
D # 1 is duplicated and written (1316), MP1 2
0 reports write completion to the CPU 1 (132
0).

【0059】そこで、次に、SCSIドライブ12への
新データ(ND#1)の書き込み方法を示す。MP1
20は、アドレステーブル40のSDフラグ53がオフ
(0)になっているのを確認後、Drive IF28
に書き込むデータである新データ(ND#1)をスペー
ス領域が確保されているSD#4とSD#5のSCSI
ドライブ12に書き込むよう指示する。Drive I
F28では、SCSIの書込み手順に従って、ドライブ
ユニットパス9−1から9−4の中の2本を介して、S
D#4とSD#5のSCSIドライブ12に書込みコマ
ンドを発行する。
Next, a method of writing new data (ND # 1) to the SCSI drive 12 will be described. MP1
After confirming that the SD flag 53 of the address table 40 is off (0), the drive IF 28
New data (ND # 1) which is the data to be written to the SCSI of SD # 4 and SD # 5 in which a space area is secured
Instructs the drive 12 to write. Drive I
In F28, according to the SCSI writing procedure, S is executed via two of the drive unit paths 9-1 to 9-4.
A write command is issued to the SCSI drives 12 of D # 4 and SD # 5.

【0060】Drive IF28から書込みコマンド
を発行された当該SCSIドライブ12では、Driv
e IF28から送られてきたCPU1が書き込み先の
アドレスとして指定したCPU指定アドレスを論理アド
レス45に変換し、論理アドレス45であるData#
1に対応するSCSI内Addr44のDADR1へシ
ーク、回転待ちのアクセス処理を行なう。SD#4、5
のSCSIドライブ12においてアクセス処理が完了
し、書込みが可能になり次第、C Adp14は、キャ
ッシュメモリ7から書き込む新データ(ND#1)を読
み出してDrive IF28へ転送し、Drive
IF28では、転送されてきた新データ(ND#1)を
ドライブユニットパス9−1から9−4の中の2本を介
してSD#4、5のSCSIドライブ12へ転送する。
新データ(ND#1)のSD#4、5のSCSIドライ
ブ12への書込みが完了すると、SD#4、5のSCS
Iドライブ12は、Drive IF28に完了報告を
行ない、Drive IF28が、この完了報告を受け
取ったことをMP1 20に報告する。
In the SCSI drive 12 to which the write command has been issued from the Drive IF 28,
e The CPU 1 sent from the IF 28 converts the CPU-specified address specified as the write destination address into the logical address 45, and converts the logical address 45, Data #
The access to the DRDR1 of the Addr 44 in the SCSI corresponding to No. 1 is performed for the seek and rotation wait. SD # 4,5
As soon as the access processing is completed in the SCSI drive 12 and writing becomes possible, the C Adp 14 reads out the new data (ND # 1) to be written from the cache memory 7 and transfers it to the Drive IF 28, whereupon the Drive
The IF 28 transfers the transferred new data (ND # 1) to the SCSI drives 12 of SD # 4 and SD # 5 via two of the drive unit paths 9-1 to 9-4.
When writing of the new data (ND # 1) to the SCSI drives 12 of SD # 4 and SD # 5 is completed, the SCS of SD # 4 and SD # 5 are completed.
The I drive 12 reports the completion to the Drive IF 28, and the Drive IF 28 reports to the MP 120 that the completion report has been received.

【0061】この時、アドレステーブル40において、
書き込み前の旧データの論理アドレス45(Data#
1、D#1)の無効フラグをオン(1)とし、書き込み
前の論理アドレス45(Data#1、D#1)内のC
CHHR46のアドレスを、新データ(ND#1)を二
重化して書き込んだスペース領域の2つの論理アドレス
45のCCHHR46に登録し、無効フラグをオフ
(0)とし、ドライブフラグ52をオン(1)とする。
また、キャッシュメモリ7内に書き込む新データ(ND
#1)を保持する場合は、書き込み後の2つの論理アド
レス45内のキャッシュアドレス47に、キャッシュメ
モリ7内の新データ(ND#1)が格納されているアド
レスを登録し、キャッシュフラグ48をオン(1)とす
る。この新データ(ND#1)をキャッシュメモリ7上
に残さない場合、MP1 20は、この報告を元にアド
レステーブル40のキャッシュフラグ48をオフ(0)
にする。さらに、書き込みを行った論理グループ10内
のSCSI内Addr44に対し、スペースドライブ番
号51のSDフラグをオン(1)とする。
At this time, in the address table 40,
Logical address 45 (Data #) of old data before writing
1, D # 1) is turned on (1), and C in the logical address 45 (Data # 1, D # 1) before writing is set.
The address of the CHHR 46 is registered in the CCHHR 46 of the two logical addresses 45 in the space area where the new data (ND # 1) is duplicated and written, the invalid flag is turned off (0), and the drive flag 52 is turned on (1). I do.
Further, new data (ND
When holding the # 1), the address where the new data (ND # 1) in the cache memory 7 is stored is registered in the cache address 47 in the two logical addresses 45 after writing, and the cache flag 48 is set. Turn on (1). If this new data (ND # 1) is not left in the cache memory 7, the MP1 20 turns off (0) the cache flag 48 of the address table 40 based on this report.
To Further, the SD flag of the space drive number 51 is turned on (1) for the Addr 44 in SCSI in the logical group 10 in which the writing has been performed.

【0062】上記のようにアドレステーブル40の更新
が完了すると、MP1 20は、SD#4とSD#5の
両方のSCSIドライブ12からの完了報告を受け取っ
た後、CPU1に対し擬似的に書き込み処理の終了報告
を行う。SD#4、5のSCSIドライブ12に対する
新データ(ND#1)の格納が完了しても、キャッシュ
メモリ7内には新データ(ND#1)が存在しており、
パリティの更新はキャッシュメモリ7内に格納されてい
る新データ(ND#1)で行なう。
When the update of the address table 40 is completed as described above, the MP 120 receives the completion reports from the SCSI drives 12 of both SD # 4 and SD # 5, and then performs a pseudo write process on the CPU 1. Report the end of. Even when the storage of the new data (ND # 1) in the SCSI drives 12 of SD # 4 and SD # 5 is completed, the new data (ND # 1) exists in the cache memory 7, and
The parity is updated with new data (ND # 1) stored in the cache memory 7.

【0063】以上のように、MP1 20がCPU1に
対し擬似的に終了報告を行った後は、CPU1は書き込
み処理を終了したと認識しているが、MP1 20は、
新しいパリティを作成して当該SCSIドライブ12書
き込んでいないため、まだ書き込み処理は終了していな
い。そこで、MP1 20がCPU1に対し終了報告を
行った後に、MP1 20が独自に新しいパリティを作
成し、当該SCSIドライブ12に書き込む。この方法
について以下に説明する。
As described above, after the MP1 20 gives a false end report to the CPU 1, the CPU 1 recognizes that the writing process has been completed.
Since the new parity has not been created and has not been written to the SCSI drive 12, the writing process has not been completed yet. Then, after the MP1 20 reports the completion to the CPU 1, the MP1 20 independently creates a new parity and writes it into the SCSI drive 12. This method will be described below.

【0064】MP1 20は、CPU1に対し書き込み
処理の終了報告を行った後、図5に示すように、CPU
1からの読み出し、書き込み要求の状況(IO状況)を
監視する(510)。具体的には、MP1 20が、当
該論理グループ10に対するCPU1からの読み出し、
書き込み要求の単位時間当りの回数を数える。当該論理
グループ10に対するこの回数が、予めユーザまたはシ
ステム管理者により設定された数より少なく、パリティ
の作成およびこの作成したパリティを書き込むSCSI
ドライブ12が所属する論理グループ10に対する読み
出し、書き込み要求がCPU1より発行されていない場
合、パリティの作成およびパリティの当該SCSIドラ
イブ12への書き込み処理を開始する。
After notifying the CPU 1 of the end of the writing process, the MP 1 20 sends the CPU 1, as shown in FIG.
The status (IO status) of the read / write request from 1 is monitored (510). Specifically, the MP1 20 reads the logical group 10 from the CPU 1,
Count the number of write requests per unit time. This number of times for the logical group 10 is smaller than the number set in advance by the user or the system administrator, and the parity is created and the created parity is written in the SCSI.
If the CPU 1 has not issued a read / write request to the logical group 10 to which the drive 12 belongs, the process of creating a parity and writing the parity to the SCSI drive 12 is started.

【0065】新しくパリティを作成する場合、CPU1
から書き込み先に指定されたアドレスに書き込まれてい
るデータ(旧データ)と、更新するパリティ(旧パリテ
ィ)を読み出し、新しく作成したパリティ(新パリテ
ィ)をSCSIドライブ12に書き込む。この時、旧デ
ータと旧パリティを読み出すSCSIドライブ12と、
新パリティを書き込む当該SCSIドライブ12に対
し、MP1 20は、CPU1からの読み出し、書き込
み要求と同様の擬似的な読み出し、書き込み要求を発行
する。この、擬似的な読み出し、書き込み要求が発行さ
れているSCSIドライブ12に対し、CPU1から読
み出しまたは書き込み要求が発行された場合は、MP1
20は、CPU1からの読み出し、書き込み要求を受
付、処理の待ち行列とする。
When creating a new parity, the CPU 1
, The data (old data) written to the address specified as the write destination and the parity to be updated (old parity) are read, and the newly created parity (new parity) is written to the SCSI drive 12. At this time, the SCSI drive 12 for reading the old data and the old parity,
The MP1 20 issues a pseudo read / write request similar to the read / write request from the CPU 1 to the SCSI drive 12 to which the new parity is written. When a read or write request is issued from the CPU 1 to the SCSI drive 12 to which the pseudo read or write request has been issued, MP1
Reference numeral 20 receives a read / write request from the CPU 1 and sets a processing queue.

【0066】次に、新パリティの作成および当該SCS
Iドライブ12への作成したパリティの書き込み方法を
具体的に示す。MP1 20は、SD#1のSCSIド
ライブ12に対して旧データの読み出し要求、SD#6
のSCSIドライブ#12に対して旧パリティの読み出
し要求を発行するように、Drive IF28に指示
する(514)。
Next, the creation of a new parity and the corresponding SCS
A method of writing the created parity to the I drive 12 will be specifically described. The MP1 20 issues a read request of old data to the SCSI drive 12 of SD # 1,
The drive IF 28 is instructed to issue an old parity read request to the SCSI drive # 12 (514).

【0067】Drive IF28から読み出しコマン
ドを発行された当該SCSIドライブ12では、Dri
ve IF28から送られてきたSCSI内Addr4
4へシーク、回転待ちのアクセス処理を行なう。キャッ
シュメモリ7内には新データ(ND#1)が存在してお
り、パリティの更新はキャッシュメモリ7内に格納され
ている新データ(ND#1)で行なう。
In the SCSI drive 12 to which the read command has been issued from the Drive IF 28,
addr4 in SCSI sent from ve IF28
4 to perform seek and rotation wait access processing. The new data (ND # 1) exists in the cache memory 7, and the parity is updated with the new data (ND # 1) stored in the cache memory 7.

【0068】もし、キャッシュメモリ7に新データ(N
D#1)が存在していない場合は、スペース領域に二重
化して書き込まれているデータをキャッシュメモリ7に
読み出す。
If the new data (N
If D # 1) does not exist, the data duplicated and written in the space area is read out to the cache memory 7.

【0069】SD#1、6のSCSIドライブ12にお
いて、シーク、回転待ちのアクセス処理が完了し、旧デ
ータ(D#1)および旧パリティ(P#1)の読み出し
が可能になり次第、旧データ(D#1)および旧パリテ
ィ(P#1)を読み出し、キャッシュメモリ7に格納す
る。SD#1のSCSIドライブ12から旧データ(D
#1)を、SD#6のSCSIドライブ12から旧パリ
ティ(P#1)を読み出し、それぞれをキャッシュメモ
リ7に格納した後、MP1 20は、キャッシュメモリ
7内に格納されている書き込む新データ(ND#1)
で、排他的論理和により、更新後の新パリティ(NP#
1)を作成するようにPG36に指示を出し、PG36
において新パリティ(NP#1)を作成し、キャッシュ
メモリ7に格納する(516)。
In the SCSI drives 12 of SD # 1 and SD # 6, as soon as the seek and rotation wait access processing is completed and the old data (D # 1) and the old parity (P # 1) can be read, the old data is read. (D # 1) and the old parity (P # 1) are read and stored in the cache memory 7. The old data (D
# 1), the old parity (P # 1) is read from the SCSI drive 12 of SD # 6, and each of them is stored in the cache memory 7. After that, the MP1 20 writes the new data (written in the cache memory 7). ND # 1)
Then, the new parity after updating (NP #
The PG 36 is instructed to create 1), and the PG 36 is created.
Creates a new parity (NP # 1) and stores it in the cache memory 7 (516).

【0070】新パリティ(NP#1)をキャッシュメモ
リ7に格納した後、MP1 20では、新パリティ(N
P#1)を格納する論理アドレス45のキャッシュアド
レス47に、キャッシュメモリ7内の新パリティ(NP
#1)を格納したアドレスを登録し、キャッシュフラグ
48をオン(1)とし、無効フラグ49とドライブフラ
グ52をオフ(0)とする(518)。新パリティ(N
P#1)の作成が完了したことを認識し、SD#6のS
CSIドライブ12にIO要求が発行されていない時
に、更新後の新パリティ(NP#1)を書き込むよう
に、Drive IF28に対し指示する。
After the new parity (NP # 1) is stored in the cache memory 7, the new parity (N
The new parity (NP) in the cache memory 7 is stored in the cache address 47 of the logical address 45 storing the P # 1).
The address storing # 1) is registered, the cache flag 48 is turned on (1), and the invalid flag 49 and the drive flag 52 are turned off (0) (518). New parity (N
Recognizing that the creation of P # 1) has been completed,
When no IO request has been issued to the CSI drive 12, the drive IF 28 is instructed to write the updated new parity (NP # 1).

【0071】SD#6のSCSIドライブ12への更新
後の新パリティ(NP#1)の書込み方法(520)
は、先に述べた書き込む新データ(ND#1)をSD#
4、5のSCSIドライブ12に書き込んだ方法と同じ
である。新パリティ(NP#1)の作成が完了したら、
MP1 20は、Drive IF28に、SD#6の
SCSIドライブ12に対し書込みコマンドを発行する
ように指示し、当該SCSIドライブ12では、指示S
CSI内Addr44へシーク、回転待ちのアクセス処
理を行う。新パリティ(NP#1)は既に作成されキャ
ッシュメモリ7に格納されており、SD#6のSCSI
ドライブ12におけるアクセス処理が完了した場合、C
Adp14は、キャッシュメモリ7から新パリティ
(NP#1)を読み出してDrive IF28へ転送
する。Drive IF28では、転送されてきた新パ
リティ(NP#1)をドライブユニットパス9−1から
9−4の中の1本を介してSD#6のSCSIドライブ
12へ転送する(522)。
Writing method of new parity (NP # 1) after update to SCSI drive 12 of SD # 6 (520)
Converts the new data (ND # 1) to be written into SD #
This is the same as the method written in the SCSI drives 12 of 4 and 5. When the creation of the new parity (NP # 1) is completed,
The MP1 20 instructs the Drive IF 28 to issue a write command to the SCSI drive 12 of SD # 6.
The seek process is performed on the Addr 44 in the CSI, and an access process for waiting for rotation is performed. The new parity (NP # 1) is already created and stored in the cache memory 7, and the SCSI of SD # 6 is
When the access processing in the drive 12 is completed, C
The Adp 14 reads the new parity (NP # 1) from the cache memory 7 and transfers it to the Drive IF 28. The Drive IF 28 transfers the transferred new parity (NP # 1) to the SCSI drive 12 of SD # 6 via one of the drive unit paths 9-1 to 9-4 (522).

【0072】新パリティ(NP#1)のSD#6のSC
SIドライブ12への書込みが完了すると、SD#6の
SCSIドライブ12は、Drive IF28に完了
報告を行ない、Drive IF28がこの完了報告を
受け取ったことをMP1 20に報告する。この時、M
P1 20は、この新データ(ND#1)をキャッシュ
メモリ7上に残さない場合は、この報告を元にアドレス
テーブル40のキャッシュフラグ48をオフ(0)に
し、キャッシュメモリ7上に残す場合はオン(1)とす
る。さらに、アドレステーブル40において、書き込み
後の新パリティ(NP#1)の論理アドレス45の無効
フラグをオフ(0)とし、ドライブフラグ52をオン
(1)とする(524)。
SC of SD # 6 of new parity (NP # 1)
When the writing to the SI drive 12 is completed, the SCSI drive 12 of SD # 6 reports the completion to the Drive IF 28, and reports to the MP 120 that the Drive IF 28 has received the completion report. At this time, M
If the new data (ND # 1) is not to be left in the cache memory 7, the P1 20 turns off (0) the cache flag 48 of the address table 40 based on this report. Turn on (1). Further, in the address table 40, the invalid flag of the logical address 45 of the new parity (NP # 1) after writing is turned off (0), and the drive flag 52 is turned on (1) (524).

【0073】このような、新しく作成した新パリティ
(NP#1)を当該SCSIドライブ12に書き込んだ
後は、旧データ(D#1)が格納されていたSD#1の
SCSIドライブ12の旧データ(D#1)と二重化さ
れている新データ(ND#1)が格納されているSD#
4、5のSCSIドライブ12の中で、SCSIドライ
ブ番号の小さいSD#4のSCSIドライブ12に格納
されている新データ(ND#1)をスペース領域として
解放し、次の書き込み処理用にスペース領域として登録
する。この登録の方法は、MP1 20が、アドレステ
ーブル40においてSD#1とSD#4のSCSI内A
ddr44がD ADR1の旧データ(D#1)と、二
重化されていた新データ(ND#1)の一方が格納され
ている論理アドレス45において、無効フラグをオン
(1)とし、さらにスペースドライブ番号51にSD#
1とSD#4を登録し、SDフラグをオフ(0)にする
(526)。
After the newly created new parity (NP # 1) is written to the SCSI drive 12, the old data of the SCSI drive 12 of SD # 1 in which the old data (D # 1) is stored is stored. (D # 1) and SD # in which new data (ND # 1) duplicated is stored.
The new data (ND # 1) stored in the SCSI drive 12 of SD # 4 having the smaller SCSI drive number among the SCSI drives 12 of 4 and 5 is released as a space area, and the space area is used for the next write processing. Register as In this registration method, the MP1 20 checks whether the address table 40 has the A # in the SCSI of the SD # 1 and the SD # 4.
The ddr 44 sets the invalid flag to ON (1) at the logical address 45 storing one of the old data (D # 1) of the DADR1 and the new data (ND # 1) that has been duplicated, and further sets the space drive number. SD # 51
1 and SD # 4 are registered, and the SD flag is turned off (0) (526).

【0074】以上のように、書き込み処理時に書き込む
新データ(ND#1)を一旦二重化して論理グループ1
0内に格納しておき、後でCPU1からの読み出し、書
き込み要求が比較的少ないときに、新パリティ(NP#
1)を作成し、SCSIドライブ12に格納すること
で、書き込み処理時の応答時間が短縮され、従来のよう
に新パリティ(NP#1)の作成により他の読み出し、
書き込み処理が待たされることが減少する。
As described above, the new data (ND # 1) to be written at the time of the write processing is temporarily duplicated to make the logical group 1
0, and when a read / write request from the CPU 1 is relatively small later, the new parity (NP #
1) is created and stored in the SCSI drive 12, thereby shortening the response time at the time of the write process.
Waiting for the writing process is reduced.

【0075】もし、新パリティ(NP#1)を当該SC
SIドライブ12への書き込み前に論理グループ10内
のSCSIドライブ12に障害が発生した場合は、図1
4に示すように回復処理を行う。図4(a)に示すよう
に、SD#6のSCSIドライブ12に対し新パリティ
(NP#1)を書き込む前に(1402)、SD#1、
2、3の内のどれか1台のSCSIドライブ12に障害
が発生した場合(1406)、障害が発生していないS
CSIドライブ12からのデータと旧パリティから、障
害が発生したSCSIドライブ12内のデータを回復す
ることが可能となる(1410)。例えば、SD#1の
SCSIドライブ12に障害が発生した場合、SD#
2、3のD#2、D#3と、SD#6のSCSIドライ
ブ1からの旧パリティ(P#1)から、SD#1のSC
SIドライブ12内のデータであるD#1を回復するこ
とが可能となる。また、新データ(ND#1)が二重化
して格納されているSD#4、5のどちらか一方に障害
が発生した場合は、二重化データの一方のデータにより
回復することが可能となる(1412)。
If the new parity (NP # 1) is
If a failure occurs in the SCSI drive 12 in the logical group 10 before writing to the SI drive 12, FIG.
A recovery process is performed as shown in FIG. As shown in FIG. 4A, before writing the new parity (NP # 1) to the SCSI drive 12 of SD # 6 (1402),
If a failure occurs in any one of the SCSI drives 12 among 2 and 3 (1406), the S which has not failed
It is possible to recover the data in the failed SCSI drive 12 from the data from the CSI drive 12 and the old parity (1410). For example, if a failure occurs in the SCSI drive 12 of SD # 1, the SD #
From the old parity (P # 1) from the SCSI drive 1 of SD # 6, the SC # 1
It is possible to recover D # 1, which is data in the SI drive 12. Further, when a failure occurs in one of the SD # 4 and SD # 5 in which the new data (ND # 1) is duplicated and stored, it is possible to recover with one of the duplicated data (1412). ).

【0076】図4(b)に示すように、SD#6のSC
SIドライブ12に対し新パリティ(NP#1)を書き
込んだ後は、SD#2、3、5のSCSIドライブ12
内のデータ(D#2、3、ND#1)に対し新パリティ
(NP#1)が作成されてSD#6のSCSIドライブ
12に格納されており、SD#2、3、5のSCSIド
ライブ12の中の1台のSCSIドライブ12に障害が
発生した場合、残りの正常なSCSIドライブ12内の
データとSD#6のSCSIドライブ12内のパリティ
により、障害が発生したSCSIドライブ12内のデー
タは回復される。
As shown in FIG. 4B, the SC of SD # 6
After writing the new parity (NP # 1) to the SI drive 12, the SCSI drives 12 of SD # 2, SD # 3, SD # 5
A new parity (NP # 1) is created for the data (D # 2, 3, ND # 1) in the SD drive and stored in the SCSI drive 12 of SD # 6. When a failure occurs in one of the SCSI drives 12 among the SCSI drives 12, the data in the failed SCSI drive 12 is determined by the data in the remaining normal SCSI drive 12 and the parity in the SCSI drive 12 of SD # 6. Is recovered.

【0077】例えば、SD#2のSCSIドライブ12
に障害が発生した場合、SD#2のSCSIドライブ1
2内のデータ(D#2)は、SD#3のSCSIドライ
ブ12内のデータ(D#3)と、SD#4のSCSIド
ライブ12内のデータ(ND#1)と、SD#6のSC
SIドライブ12内のパリティ(NP#1)から、障害
が発生したSD#2のSCSIドライブ12内のデータ
(D#2)は回復される。
For example, the SCSI drive 12 of SD # 2
If a failure occurs, the SCSI drive 1 of SD # 2
The data (D # 2) in the SCSI drive 12 of SD # 3, the data (ND # 1) in the SCSI drive 12 of SD # 4, and the
From the parity (NP # 1) in the SI drive 12, the data (D # 2) in the SCSI drive 12 of the failed SD # 2 is recovered.

【0078】本発明のように、書き込み処理において、
スペース領域に書き込みデータ(新データ)をとりあえ
ず二重化して格納し、この段階でCPU1に対し書き込
み処理の終了報告を行うことにより、CPU1にとって
は、この二重化してSCSIドライブ12に書き込む時
間が書き込み処理時間になる。従来のアレイディスクで
は、図12に示すように、書き込み時に平均1.5回転
の回転待ち時間が必要としたのが、もし、論理グループ
10を構成するSCSIドライブ12の回転を同期させ
た場合は、回転待ちは平均0.5回転となる。また、新
パリティをSCSIドライブ12に書き込む前に論理グ
ループ10を構成するSCSIドライブ12に障害が発
生しても、先に述べたように、旧パリティと二重化され
た新データにより従来のアレイディスクと同様に、障害
回復を行うことが可能となる。
As in the present invention, in the writing process,
The write data (new data) is duplicated and stored in the space area for the time being, and the end of the write processing is reported to the CPU 1 at this stage. It's time. In the conventional array disk, as shown in FIG. 12, a rotation waiting time of 1.5 rotations on average was required at the time of writing. However, if the rotations of the SCSI drives 12 constituting the logical group 10 were synchronized, , The average rotation wait is 0.5 rotation. Also, even if a failure occurs in the SCSI drive 12 that constitutes the logical group 10 before writing the new parity to the SCSI drive 12, as described above, the old parity and the new data duplicated with the conventional array disk cause the failure. Similarly, failure recovery can be performed.

【0079】本実施例では、パリティおよびパリティの
作成に関与したデータとスペース領域は、論理グループ
10を構成する各SCSIドライブ12において、各S
CSI内Addr44を同一とした。しかし、アドレス
テーブル40の各論理アドレス45とパリティドライブ
番号50、スペースドライブ番号51において、論理グ
ループ10のアドレスを付加することにより、論理グル
ープ10を構成する各SCSIドライブ12において、
SCSI内Addr44を任意とすることが可能とな
る。
In this embodiment, the parity and the data and space area involved in the creation of the parity are stored in each SCSI drive 12 constituting the logical group 10 in each S drive.
Addr44 in CSI was the same. However, by adding the address of the logical group 10 to each logical address 45, parity drive number 50, and space drive number 51 of the address table 40, each SCSI drive 12 configuring the logical group 10
The Addr 44 in the SCSI can be arbitrarily set.

【0080】本実施例では、書き込み時の回転待ち時間
を減少させる目的で、書き込みデータを一旦二重化して
SCSIドライブ12に書き込み、後の適当なタイミン
グでパリティを更新し、パリティの更新後は二重化した
書き込みデータの一方を開放する方法について説明し
た。本発明は、上記のような性能向上の観点とは別に、
以下に示すような応用例も考えられる。
In this embodiment, in order to reduce the rotation waiting time at the time of writing, the write data is temporarily duplicated and written to the SCSI drive 12, and the parity is updated at an appropriate timing later. The method of releasing one of the written data has been described. The present invention, apart from the viewpoint of performance improvement as described above,
The following application examples are also conceivable.

【0081】パリティによる信頼性と二重化による信頼
性では、二重化による信頼性の方が、信頼性向上のため
に必要とする容量は大きいが、信頼性は高くなる。この
特徴を活かし、本発明の応用として、最新に書き込まれ
たデータ、または、頻繁に書き込み要求が発行されるデ
ータについては、二重化されているため、高信頼とし、
あまり書き込み要求が発行されないデータについては、
二重化ほど高信頼ではないが、信頼性向上のために必要
とする容量が二重化と比較して少なくて済む、パリティ
により信頼性を確保する。つまり、あまり書き込み要求
が発行されないデータに対しては、信頼性は二重化ほど
高くないが、パリティを付けるだけで済む、パリティで
信頼性を確保し、最新に書き込まれたデータまたは、頻
繁に書き込み要求が発行されるデータについては、パリ
ティと比較し信頼性向上のために容量を多く必要とする
が、高信頼である二重化で高信頼とする、二段階の信頼
性のレベルを設定することも可能である。
In the reliability due to parity and the reliability due to duplication, the reliability due to duplication requires a larger capacity for improving the reliability, but the reliability is higher. Taking advantage of this feature, as an application of the present invention, the most recently written data, or data for which a write request is frequently issued, is duplicated, so it is highly reliable,
For data for which few write requests are issued,
It is not as reliable as duplexing, but requires less capacity to improve reliability than duplexing. Parity ensures reliability. In other words, the reliability of data for which few write requests are issued is not as high as that of duplexing, but it is only necessary to attach parity. For data issued, more capacity is required to improve reliability compared to parity, but it is possible to set two levels of reliability, which is highly reliable with high reliability and redundancy It is.

【0082】〈実施例2〉本発明の他の実施例を図6を
中心にして説明する。本実施例では、実施例1で示した
システムにおいて、SCSIドライブ12に障害が発生
した時に、その障害が発生したSCSIドライブ12内
のデータを回復し、それを格納するための領域にスペー
ス領域を使用する例を示す。
<Embodiment 2> Another embodiment of the present invention will be described with reference to FIG. In the present embodiment, in the system shown in the first embodiment, when a failure occurs in the SCSI drive 12, data in the failed SCSI drive 12 is recovered, and a space area is set in an area for storing the data. Here is an example of use.

【0083】本発明では図3に示すように、論理グルー
プ10内の各SCSIドライブ12では、その内部の各
々対応する同一SCSI内Addr44のデータによ
り、パリティグループを構成する。具体的には、SD#
1、2、3のSCSIドライブ12内のData#1、
2、3(D#1、2、3)で、PG36によりパリティ
#1(P#1)が作られ、SD#6のSCSIドライブ
12内に格納される。本実施例では、パリティは奇数パ
リティとし、Data#1、2、3(D#1、2、3)
の各データにおける各々対応するビットについて1の数
を数え、奇数であれば0、偶数であれば1とする(排他
的論理和)。もし、SD#1のSCSIドライブ12に
障害が発生したとする。この時、Data#1(D#
1)は読み出せなくなる。
In the present invention, as shown in FIG. 3, in each SCSI drive 12 in the logical group 10, a parity group is formed by the data of the corresponding Addr 44 in the same SCSI. Specifically, SD #
Data # 1 in the SCSI drive 12 of 1, 2, 3
The parity # 1 (P # 1) is created by the PG 36 at 2, 3 (D # 1, 2, 3) and stored in the SCSI drive 12 of SD # 6. In this embodiment, the parity is an odd parity, and Data # 1, 2, 3 (D # 1, 2, 3)
The number of 1 is counted for each corresponding bit in each of the data, and is set to 0 for an odd number and to 1 for an even number (exclusive OR). It is assumed that a failure has occurred in the SCSI drive 12 of SD # 1. At this time, Data # 1 (D #
1) cannot be read.

【0084】本実施例では、パリティグループ当りにパ
リティを1個しか持っていないため、1台のSCSIド
ライブ12の障害はデータを復元できるが、データの復
元が完了する前に更にもう一台のSCSIドライブ12
に障害が発生した場合、復元出来ない。そこで、この様
な場合、2台目のSCSIドライブ12障害が発生する
前に、残りのData#2、3(D#2、3)とパリテ
ィ#1(P#1)をキャッシュメモリ7に転送し、MP
1 20がPG36に対し、Data#1(D#1)を
復元する回復処理を早急に行なうように指示する。この
回復処理を行ないData#1(D#1)を復元した後
は、MP1 20は、このData#1(D#1)をS
D#4または6のどちらかのスペース領域に格納する。
In this embodiment, since there is only one parity per parity group, data can be restored when one SCSI drive 12 fails, but one more drive must be restored before data restoration is completed. SCSI drive 12
Cannot be restored if a failure occurs. Therefore, in such a case, the remaining Data # 2, 3 (D # 2, 3) and parity # 1 (P # 1) are transferred to the cache memory 7 before the failure of the second SCSI drive 12 occurs. And MP
120 instructs the PG 36 to immediately perform a recovery process for restoring Data # 1 (D # 1). After performing this recovery process and restoring Data # 1 (D # 1), MP1 20 converts this Data # 1 (D # 1) into S
D # 4 or 6 is stored in the space area.

【0085】これにより、スペース領域を実施例1で示
したような、書き込み処理時の回転待ち時間を短縮させ
るためだけではなく、SCSIドライブ12に障害が発
生したときに、復元したデータを格納するためのスペア
ー領域としても活用する。この様に、MP1 20が、
スペース領域に回復したData#1(D#1)を格納
した後は、キャッシュメモリ7にある図3に示すアドレ
ステーブル40において、スペースドライブ番号51の
中で、回復データを格納した方のスペースドライブ番号
51を削除し、この削除したドライブ番号に対する論理
アドレス45に、回復したData#1(D#1)の論
理アドレス45の内容を複写する。
As a result, the space area is not only used to reduce the rotation waiting time during the writing process as described in the first embodiment, but also when the SCSI drive 12 fails, the restored data is stored. Also used as a spare area. Thus, MP1 20
After storing the recovered Data # 1 (D # 1) in the space area, in the address table 40 of the cache memory 7 shown in FIG. The number 51 is deleted, and the contents of the recovered logical address 45 of Data # 1 (D # 1) are copied to the logical address 45 corresponding to the deleted drive number.

【0086】図6に示すように、SD#1のSCSIド
ライブ12には、Data#1(D#1)の他にスペー
ス領域、パリティ、Data#13、16、19、22
(D#13、16、19、22)が格納されている。ス
ペース領域については、回復処理を行ない復元する必要
は無い。パリティ#3(P#3)は、SD#3、4、5
のSCSIドライブ12から、Data#7、8、9
(D#7、8、9)を読み出して新たに作成し、SD#
2か6のSCSIドライブ12のスペース領域に格納す
る。Data#13(D#13)は、SD#3、5、6
のSCSIドライブ12からパリティ#5(P#5)、
Data#14、15(D#14、15)を読み出し
て、回復処理を行ない復元し、SD#2または4のSC
SIドライブ12のスペース領域に格納する。Data
#16(D#16)は、SD#2、4、6のSCSIド
ライブ12からData#17(D#17)、パリティ
#6(P#6)、Data#18(D#18)を読み出
して、回復処理を行ない復元し、SD#3または5のS
CSIドライブ12のスペース領域に格納する。以下、
同様に、Data#19、22(D#19、22)と回
復処理を行ない、論理グループ10内のスペース領域に
格納していく。
As shown in FIG. 6, in the SCSI drive 12 of SD # 1, in addition to Data # 1 (D # 1), a space area, parity, Data # 13, 16, 19, and 22 are provided.
(D # 13, 16, 19, and 22) are stored. There is no need to perform recovery processing to restore the space area. Parity # 3 (P # 3) is SD # 3, 4, 5
Data # 7, 8, 9 from the SCSI drive 12
(D # 7, 8, 9) is read out and newly created, and SD #
The data is stored in the space area of the SCSI drive 12 of 2 or 6. Data # 13 (D # 13) is SD # 3,5,6
Parity # 5 (P # 5) from the SCSI drive 12 of
Data # 14, 15 (D # 14, 15) are read out and restored by performing recovery processing, and the SC # 2 or 4 SC
The data is stored in the space area of the SI drive 12. Data
# 16 (D # 16) reads out Data # 17 (D # 17), parity # 6 (P # 6), and Data # 18 (D # 18) from the SCSI drives 12 of SD # 2, SD # 4, SD # 6. , Perform recovery processing and restore, and execute SD # 3 or 5 S
It is stored in the space area of the CSI drive 12. Less than,
Similarly, recovery processing is performed with Data # 19 and Data # 22 (D # 19 and D # 22), and data is stored in the space area in the logical group 10.

【0087】この様に、SD#2、3、4、5、6のS
CSIドライブ12内のスペース領域に、SD#1のS
CSIドライブ12の回復データを全て格納した後は、
スペース領域が論理グループ10において一つしかない
ため、実施例1で述べたような書き込み時の回転待ちを
短くすることは出来ないため、従来のアレイディスクで
あるRAIDのレベル5の処理となる。また、SD#1
のSCSIドライブ12の回復データを全て格納した後
は、SD#2、3、4、5、6のSCSIドライブ12
の中で更にもう一台SCSIドライブ12に障害が発生
した場合、同様にその障害が発生したSCSIドライブ
12内のデータについて回復処理を行ない、残りのスペ
ース領域に格納し、処理を行なえる。
As described above, S # of SD # 2, 3, 4, 5, and 6
In the space area in the CSI drive 12, the SD # 1 S
After storing all the recovery data of the CSI drive 12,
Since there is only one space area in the logical group 10, the rotation wait during writing as described in the first embodiment cannot be shortened, so that the processing is performed at RAID level 5, which is a conventional array disk. Also, SD # 1
After all the recovery data of the SCSI drives 12 of the SD # s 2, 3, 4, 5, and 6,
In the case where another SCSI drive 12 fails, the data in the failed SCSI drive 12 is similarly subjected to recovery processing, stored in the remaining space area, and processed.

【0088】この様にして、論理グループ10内のスペ
ース領域を全て使い切ってしまった場合は、障害SCS
Iドライブ12を正常のSCSIドライブ12に交換
し、この交換した正常なSCSIドライブ12は全てス
ペース領域として論理グループを再構成する。
As described above, when all the space areas in the logical group 10 have been used up, the failure SCS
The I drive 12 is replaced with a normal SCSI drive 12, and all the replaced normal SCSI drives 12 reconfigure the logical group as a space area.

【0089】障害SCSIドライブ12を正常のSCS
Iドライブ12に交換した直後は、スペース領域が特定
SCSIドライブ12に集中した形になっているため、
このSCSIドライブ12が使用できずに待たされるこ
とが多くなり、ネックとなるため、実施例1で示した回
転待ち時間を短縮する効果が効率的に発揮出来ない。し
かし、時間が立つにつれて、スペース領域が分散されて
SCSIドライブ12障害前の状態に戻っていき、次第
に解消されていく。もし、この時間が問題となる場合
は、SCSIドライブ12に障害が発生したことを感知
した場合、正常なSCSIドライブ12に交換して、こ
の交換した正常なSCSIドライブ12に障害が発生し
たSCSIドライブ12内のデータとパリティをユーザ
が復元することも可能とする。なお、この時スペース領
域に関しては復元せずにスペース領域として空けてお
く。
The failed SCSI drive 12 is replaced with a normal SCS
Immediately after replacing with the I drive 12, the space area is concentrated on the specific SCSI drive 12,
Since the SCSI drive 12 cannot be used and is often kept waiting, which causes a bottleneck, the effect of reducing the rotation waiting time shown in the first embodiment cannot be efficiently exhibited. However, as time elapses, the space area is dispersed and returns to the state before the failure of the SCSI drive 12, and is gradually resolved. If this time is a problem, if it is detected that a failure has occurred in the SCSI drive 12, it is replaced with a normal SCSI drive 12, and the failed SCSI drive in the replaced normal SCSI drive 12 is replaced. It is also possible for the user to restore the data and parity in 12. At this time, the space area is left as a space area without being restored.

【0090】本実施例では、この回復処理とスペース領
域へ復元したデータを書き込む処理をMP1 20が独
自に行なう。この様に独自に行なうことにより、SCS
Iドライブ12に障害が発生した場合、障害が発生した
SCSIドライブ12を正常なSCSIドライブ12に
交換し、回復したデータを書き込むのと比較して、本発
明では、システムを使用するユーザがSCSIドライブ
12に障害が発生すると直ぐに正常なSCSIドライブ
12と交換する必要が無いため、ユーザの負担が軽くな
る。
In this embodiment, the MP 120 performs this recovery process and the process of writing the restored data to the space area independently. By doing this independently, the SCS
In the present invention, when a failure occurs in the I drive 12, the failed SCSI drive 12 is replaced with a normal SCSI drive 12 and the recovered data is written. When a failure occurs in the drive 12, it is not necessary to replace it with a normal SCSI drive 12 immediately, so that the burden on the user is reduced.

【0091】〈実施例3〉本発明の第三の実施例を図7
〜図11により説明する。本実施例では、図7、8に示
すように、論理グループ10単位にサブDKC11を設
け、その内部に図9に示すように実施例1、2において
示したキャッシュメモリ7内のアドレステーブル40
と、RPC27、PG36、サブキャッシュ32と、そ
れらを制御するマイクロプロセッサMP3 29を持た
せたものを示す。本実施例におけるデータの処理手順
は、実施例1および2で示したものと同様である。以
下、実施例1、2で示した処理手順と異なる部分のみを
図10および図11を用いて示す。本実施例では、図9
に示すように、実施例1、2で示したキャッシュメモリ
7内のアドレステーブル40をサブDKC11内のデー
タアドレステーブル(DAT)30に格納する。DAT
30は、格納されているテーブルの形式や機能は実施例
1、2と同様であるが、異なるのは、データを格納する
SCSIドライブアドレス42が論理グループ10に限
られている点と、メモリがアドレステーブル40を格納
するデータを格納するのとは別の専用メモリである。A
DC2内のGAT23は、CPU1から指示されたCP
U指定アドレスから、そのCPU指定アドレスが指示す
る場所がADU3内のどの論理グループ10かを判定す
るのみである。キャッシュメモリ7内には、その特別な
領域に、図10に示すような論理グループテーブル(L
GT)60が格納されている。
<Embodiment 3> A third embodiment of the present invention is shown in FIG.
This will be described with reference to FIG. In this embodiment, as shown in FIGS. 7 and 8, a sub DKC 11 is provided for each logical group 10, and an address table 40 in the cache memory 7 shown in the first and second embodiments as shown in FIG.
And an RPC 27, a PG 36, a sub-cache 32, and a microprocessor MP3 29 for controlling them. The data processing procedure in this embodiment is the same as that shown in the first and second embodiments. Hereinafter, only portions different from the processing procedures described in the first and second embodiments will be described with reference to FIGS. 10 and 11. In this embodiment, FIG.
As shown in (1), the address table 40 in the cache memory 7 shown in the first and second embodiments is stored in the data address table (DAT) 30 in the sub DKC 11. DAT
Reference numeral 30 is similar to the first and second embodiments in the format and function of the stored table, except that the SCSI drive address 42 for storing data is limited to the logical group 10 and that the memory This is a dedicated memory different from that for storing data for storing the address table 40. A
The GAT 23 in the DC 2 stores the CP designated by the CPU 1.
It is only necessary to determine from the U-specified address which logical group 10 in the ADU 3 the location indicated by the CPU-specified address is. In the special area of the cache memory 7, a logical group table (L
GT) 60 is stored.

【0092】LGT60は、図10に示すように、CP
U1から指定されるCPU指定ドライブ番号41とCC
HHR46に対応して、論理グループアドレス61が決
定できるテーブルとなっている。また、LGT60に
は、CPU指定アドレスに対応するデータがキャッシュ
メモリ7内に存在する場合、そのデータのキャッシュメ
モリ7内のアドレスをキャッシュアドレス47に登録で
き、また、キャッシュメモリ7内にデータが存在する場
合はオン(1)とし、キャッシュメモリ7内に存在しな
い場合はオフ(0)とするキャッシュフラグ48が用意
されている。ユーザは、初期設定する際に自分の使用可
能な容量に対する領域を確保するが、その際に、ADC
2のMP1 20が、LGT60により論理グループ1
0を割当てる。この時、MP1 20は、LGT60に
ユーザが確保するために指定したCPU指定アドレスに
対応する領域を登録する。
As shown in FIG. 10, the LGT 60
CPU designated drive number 41 designated by U1 and CC
The table is such that the logical group address 61 can be determined corresponding to the HHR 46. When data corresponding to the CPU-specified address exists in the cache memory 7, the address of the data in the cache memory 7 can be registered in the cache address 47 in the LGT 60, and the data exists in the cache memory 7. If so, a cache flag 48 is prepared which is turned on (1), and turned off (0) if not present in the cache memory 7. The user reserves an area for his or her available capacity at the time of initial setting.
2 MP1 20 is logical group 1 by LGT 60
Assign 0. At this time, the MP1 20 registers an area corresponding to the CPU-specified address specified by the user in the LGT 60.

【0093】そこで、実際の読み出し、書き込み処理に
おいては、GAT23は、LGT60により、CPU1
から指定してきたCPU指定アドレスに対応した論理グ
ループ10を認識することが可能となる。読み出し時
は、GAT23が、LGCにより論理グループ10を確
定し、その確定した結果をMP1 20に報告し、MP
1 20が、この当該論理グループ10に対し読み出し
要求を発行するようにDrive IF28に指示す
る。MP1 20から指示を受けたDrive IF2
8は、当該論理グループ10のサブDKC11に対し、
読み出し要求とCPU1が指定するCPU指定アドレス
を発行する。サブDKC11では、マイクロプロセッサ
であるMP3 29が、この読み出し要求のコマンドと
CPU指定アドレスを受け付け、実施例1と同様に、D
rive IF28から送られてきたCPU指定アドレ
スをDAT30を参照し、当該データが格納されている
論理グループ10内の論理アドレス45に変換し、この
論理アドレス45から当該SCSIドライブアドレス4
2(SCSIドライブ番号43とその中のSCSI内A
ddr44)を確定する。
Therefore, in the actual read / write processing, the GAT 23 uses the LGT 60 to
It is possible to recognize the logical group 10 corresponding to the CPU-specified address specified from. At the time of reading, the GAT 23 determines the logical group 10 by LGC, reports the determined result to the MP 120,
120 instructs the Drive IF 28 to issue a read request to the logical group 10. Drive IF2 instructed from MP1 20
8 is for the sub DKC 11 of the logical group 10
A read request and a CPU-specified address specified by the CPU 1 are issued. In the sub DKC 11, the microprocessor MP3 29 receives the read request command and the CPU-specified address, and performs the D
The CPU-designated address sent from the drive IF 28 is converted into a logical address 45 in the logical group 10 in which the data is stored by referring to the DAT 30, and the logical address 45 is converted to the SCSI drive address 4
2 (SCSI drive number 43 and SCSI A in it)
ddr44) is determined.

【0094】このアドレスの確定後、MP3 29は、
当該SCSIドライブ12に対して読み出し要求を発行
する。MP3 29から読み出し要求を発行されたSC
SIドライブ12では、SCSI内Addr44へシー
ク、回転待ちを行ない、当該データの読み出しが可能に
なり次第、当該データをドライブアダプタ回路(Dri
ve Adp)34に転送し、Drive Adp34
は、サブキャッシュメモリ32に格納する。サブキャッ
シュメモリ32に当該データの格納が完了した後、Dr
ive Adp34は、MP3 29に格納報告を行な
い、MP3 29は、DAT30の当該データの当該論
理アドレス45内の当該キャッシュフラグ48をオン
(1)とする。後に、当該キャッシュフラグ48がオン
(1)のデータに対して読み出しまたは書込み要求が発
行された場合、サブキャッシュ32内で処理を行なう。
After this address is determined, MP3 29
A read request is issued to the SCSI drive 12. SC issued a read request from MP3 29
The SI drive 12 seeks to the Addr 44 in the SCSI and waits for rotation. As soon as the data can be read, the data is transferred to the drive adapter circuit (Dri).
ve Adp) 34 and the Drive Adp 34
Is stored in the sub-cache memory 32. After the storage of the data in the sub-cache memory 32 is completed,
The live Adp 34 reports the storage to the MP3 29, and the MP3 29 turns on (1) the cache flag 48 in the logical address 45 of the data of the DAT 30. Later, when a read or write request is issued for the data whose cache flag 48 is on (1), processing is performed in the sub-cache 32.

【0095】実施例1と同様に、MP3 29によるD
AT30の更新が終了すると、MP329は、ADC2
内のDrive IF28に対しでデータ転送可能とい
う応答を行い、Drive IF28は、この応答を受
け取るとMP1 20に対し報告する。
In the same manner as in Example 1, D
When the update of the AT 30 is completed, the MP 329 sets the ADC 2
A response indicating that data transfer is possible is made to the Drive IF 28 in the drive. The Drive IF 28 reports this response to the MP 120.

【0096】MP1 20は、この報告を受け取ると、
キャッシュメモリ7への格納が可能なら、Drive
IF28に対しサブDKC11からデータを転送するよ
うに指示する。Drive IF28では、MP1 2
0からの指示を受けると、サブDKC11のMP3 2
9に対し読み出し要求を発行する。この読み出し要求を
受けたMP3 29は、サブキャッシュアダプタ回路
(SCA)31に対しサブキャッシュ32から当該デー
タを読みだすように指示し、SCA31は、実際にデー
タを読み出してDrive IF28にデータを転送す
る。DriveIF 28がデータを受け取った後は、
実施例1、2で示した処理を行なう。
When MP1 20 receives this report,
If storage in the cache memory 7 is possible, Drive
Instruct the IF 28 to transfer data from the sub DKC 11. In Drive IF28, MP12
0, MP3 2 of sub-DKC11
9, a read request is issued. Upon receiving the read request, the MP3 29 instructs the sub-cache adapter circuit (SCA) 31 to read the data from the sub-cache 32, and the SCA 31 actually reads the data and transfers the data to the Drive IF. . After DriveIF 28 receives the data,
The processing described in the first and second embodiments is performed.

【0097】一方、書込み時は、読み出し時と同様に、
当該論理グループ10を確定し、MP1 20は、Dr
ive IF28に対し、当該論理グループ10のMP
329に対し書込み要求を発行するように指示する。当
該論理グループ10内のMP3 29は、書込み要求を
受け付け、書込みデータをサブキャッシュ32に格納し
た後は、図5のフローチャートに従って、実施例1、2
と同様に処理を行う。本実施例では、実施例1、2の効
果を実現することが可能である。
On the other hand, at the time of writing, as in the case of reading,
The logical group 10 is determined, and MP1 20
ive IF 28, the MP of the logical group 10
329 is instructed to issue a write request. After the MP3 29 in the logical group 10 receives the write request and stores the write data in the sub-cache 32, the MP3 29 according to the first and second embodiments according to the flowchart of FIG.
The processing is performed in the same manner as described above. In this embodiment, the effects of the first and second embodiments can be realized.

【0098】以上、磁気ディスク装置を用いたシステム
を実施例として説明したが、本発明は、光ディスク装置
を用いたシステムにおいても、同様な効果を発揮するこ
とが可能である。
Although the system using the magnetic disk device has been described as an embodiment, the present invention can exert the same effect in a system using an optical disk device.

【0099】[0099]

【発明の効果】本発明によれば、データの書き込み時に
おけるパリティの更新処理を、CPUからの読み出しま
たは書き込み要求が少ない時まで遅らせることが可能と
なる。これにより、CPUにとっては、読み出しまたは
書き込み処理要求が多い時は書き込み処理を高速に行
え、これにより単位時間当りのI/O処理件数を増加さ
せることが可能となる。さらに、通常は使用しないスペ
アのSCSIドライブを回転待ち時間の短縮という性能
向上のために使用でき、SCSIドライブ資源の有効活
用が図れる。
According to the present invention, it is possible to delay the parity update processing at the time of data writing until a read or write request from the CPU is small. This allows the CPU to perform write processing at high speed when there are many read or write processing requests, thereby increasing the number of I / O processes per unit time. Further, a spare SCSI drive that is not normally used can be used to improve the performance of reducing the rotation waiting time, and the SCSI drive resources can be effectively used.

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

【図1】第1の実施例の全体構成図。FIG. 1 is an overall configuration diagram of a first embodiment.

【図2】第1の実施例のクラスタ内構成図。FIG. 2 is a configuration diagram in a cluster according to the first embodiment;

【図3】アドレス変換テーブルの説明図。FIG. 3 is an explanatory diagram of an address conversion table.

【図4】書き込み処理時のデータ移動説明図。FIG. 4 is an explanatory diagram of data movement during a writing process.

【図5】書き込み処理フローチャート(1)。FIG. 5 is a write processing flowchart (1).

【図6】データ回復処理説明図、パリティグループを構
成する各データのディスク上での位置説明図。
FIG. 6 is an explanatory view of a data recovery process, and an explanatory view of a position on a disk of each data constituting a parity group.

【図7】第3の実施例の全体構成図。FIG. 7 is an overall configuration diagram of a third embodiment.

【図8】第3の実施例のクラスタ内構成図。FIG. 8 is a configuration diagram in a cluster according to the third embodiment.

【図9】第3の実施例のサブDKC内構成図。FIG. 9 is a configuration diagram in a sub-DKC of a third embodiment.

【図10】論理グループテーブル説明図。FIG. 10 is an explanatory diagram of a logical group table.

【図11】RAID Level5における更新処理説
明図。
FIG. 11 is an explanatory diagram of an update process in RAID Level5.

【図12】RAID5における書き込み処理タイミング
チャート。
FIG. 12 is a write processing timing chart in RAID5.

【図13】書き込み処理フローチャート(2)。FIG. 13 is a flowchart (2) of a writing process.

【図14】パリティ作成処理フローチャート。FIG. 14 is a flowchart of a parity creation process.

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

1…CPU、2…レイディスクコントローラ(AD
C)、3…アレイディスクユニット(ADU)、4…外
部インターフェースパス、5…チャネルパスディレク
タ、6…チャネルパス、7…キャッシュメモリ、8…ド
ライブパス、9…アレイディスクユニットパス、10…
論理グループ、12…SCSIドライブ、13…クラス
タ、14…ドライブ側キャッシュアダプタ(C Ad
p)、15…インターフェースアダプタ、16…チャネ
ルパススイッチ、17…制御信号線、18…データ線、
19…パス、20…マイクロプロセッサ1(MP1)、
21…チャネルインターフェース(CH IF)回路、
22…データ制御回路(DCC)、23…グループアド
レス変換回路(GAT)、24…チャネル側キャッシュ
アダプタ(C Adp)、28…ドライブインターフェ
ース回路(Drive IF)、29…マイクロプロセ
ッサ3(MP3)、30…データアドレステーブル4
0、31…サブキャッシュアダプタ、34…ドライブア
ダプタ(Drive Adp)、35…ドライブパス、
36…パリティ生成回路、40…アドレス変換用テーブ
ル(アドレステーブル)、41…CPU指定ドライブ番
号、42…SCSIドライブアドレス、43…SCSI
ドライブ番号、44…SCSI内Addr、45…論理
アドレス、46…CCHHR、47…キャッシュアドレ
ス、48…キャッシュフラグ、49…無効フラグ、50
…パリティドライブ番号、51…スペースドライブ番
号、52…ドライブフラグ、53…SDフラグ、60…
論理グループテーブル、61…論理グループアドレス
1 CPU, 2 Ray disk controller (AD
C), 3 ... array disk unit (ADU), 4 ... external interface path, 5 ... channel path director, 6 ... channel path, 7 ... cache memory, 8 ... drive path, 9 ... array disk unit path, 10 ...
Logical group, 12: SCSI drive, 13: Cluster, 14: Drive side cache adapter (C Ad
p), 15: interface adapter, 16: channel path switch, 17: control signal line, 18: data line,
19: path, 20: microprocessor 1 (MP1),
21 channel interface (CH IF) circuit,
22: Data control circuit (DCC), 23: Group address conversion circuit (GAT), 24: Channel side cache adapter (C Adp), 28: Drive interface circuit (Drive IF), 29: Microprocessor 3 (MP3), 30 ... Data address table 4
0, 31: sub-cache adapter, 34: drive adapter (Drive Adp), 35: drive path,
36: parity generation circuit, 40: address conversion table (address table), 41: CPU designated drive number, 42: SCSI drive address, 43: SCSI
Drive number, 44: Addr in SCSI, 45: Logical address, 46: CCHHR, 47: Cache address, 48: Cache flag, 49: Invalid flag, 50
... Parity drive number, 51 ... Space drive number, 52 ... Drive flag, 53 ... SD flag, 60 ...
Logical group table, 61 ... logical group address

フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 12/10 G06F 12/10 Z (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 301 G06F 3/06 540 Continuation of the front page (51) Int.Cl. 7 identification code FI G06F 12/10 G06F 12/10 Z (58) Investigated field (Int.Cl. 7 , DB name) G06F 3/06 301 G06F 3/06 540

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】キャッシュメモリを有し、CPU(中央処
理装置)と接続可能な制御装置と、上記制御装置と接続
されたデータ格納用の複数のディスク装置とを有するデ
ィスクアレイシステムであって、 上記複数のディスク装置のうちの特定のディスク装置
に、上記CPUから指定された論理アドレス情報を上記
各ディスク装置に割り当てられた物理アドレスに変換す
るためのアドレス変換テーブルを格納しておき、 上記制御装置が、上記ディスクアレイシステムの電源オ
ン時に、上記変換テーブルを上記特定のディスク装置か
ら上記キャッシュメモリに読み込み、上記ディスクアレ
イシステムの電源オフ時に、上記キャッシュメモリ内の
変換テーブルを上記特定ディスク装置に格納し、上記
何れかのディスク装置に障害が発生したとき、障害ディ
スク装置で失われたデータの他のディスク装置への回復
処理に伴って、上記変換テーブルの内容を変更すること
を特徴とするディスクアレイシステム。
1. A disk array system comprising: a control device having a cache memory and connectable to a CPU (Central Processing Unit); and a plurality of data storage disk devices connected to the control device. An address conversion table for converting logical address information specified by the CPU into a physical address assigned to each of the disk devices is stored in a specific one of the plurality of disk devices, and device, at power-on of the disk array system, the conversion table from the specific disk device reads in the cache memory, when the power-off of the disk array system, the conversion table the specific disk device in the cache memory Stored in the above
When a failure occurs in any of the disk units,
The data lost on the disk unit to another disk unit
A disk array system wherein the contents of the conversion table are changed with the processing .
【請求項2】前記論理アドレスが、シリンダアドレス
と、ヘッドアドレスと、レコードアドレスとからなるこ
とを特徴とする請求項1に記載のディスクアレイシステ
ム。
2. The disk array system according to claim 1, wherein said logical address comprises a cylinder address, a head address, and a record address.
【請求項3】前記論理アドレスが、SCSIドライブア
ドレスであることを特徴とする請求項1または請求項2
に記載のディスクアレイシステム。
3. The system according to claim 1, wherein the logical address is a SCSI drive address.
2. The disk array system according to 1.
JP2000118555A 1993-05-27 2000-04-14 Disk array system Expired - Lifetime JP3234211B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000118555A JP3234211B2 (en) 1993-05-27 2000-04-14 Disk array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000118555A JP3234211B2 (en) 1993-05-27 2000-04-14 Disk array system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP12576693A Division JP3256329B2 (en) 1992-12-28 1993-05-27 Disk array device and control method therefor

Publications (2)

Publication Number Publication Date
JP2000330727A JP2000330727A (en) 2000-11-30
JP3234211B2 true JP3234211B2 (en) 2001-12-04

Family

ID=18629668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000118555A Expired - Lifetime JP3234211B2 (en) 1993-05-27 2000-04-14 Disk array system

Country Status (1)

Country Link
JP (1) JP3234211B2 (en)

Also Published As

Publication number Publication date
JP2000330727A (en) 2000-11-30

Similar Documents

Publication Publication Date Title
US6049890A (en) Disk array system and its control method
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6006342A (en) Failover and failback system for a direct access storage device
JP3176157B2 (en) Disk array device and data updating method thereof
JP3129732B2 (en) Storage array with copy-back cache
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
JP3606881B2 (en) High-performance data path that performs Xor operations during operation
US7600152B2 (en) Configuring cache memory from a storage controller
US5586291A (en) Disk controller with volatile and non-volatile cache memories
US6604171B1 (en) Managing a cache memory
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
US6591335B1 (en) Fault tolerant dual cache system
JPH08305500A (en) Storage controller,data storage system containing it and double-pair suppression method
JPH10105467A (en) Method and device for keeping consistency of cache in raid controller provided with redundant cache
JPH07230362A (en) Disk array device
JP3230645B2 (en) Data processing method, system and device
JPH0720994A (en) Storage system
JP3270959B2 (en) Parity storage method in disk array device and disk array device
JP3256329B2 (en) Disk array device and control method therefor
JPH06230903A (en) Fault recovery method for disk array device and disk array device
JP3793544B2 (en) Disk array device and control method thereof
US11334508B2 (en) Storage system, data management method, and data management program
JP3234211B2 (en) Disk array system
JP3542577B2 (en) Disk array device and control method therefor
JP3944280B2 (en) Failure recovery method and apparatus

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070921

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 12

EXPY Cancellation because of completion of term