JPH08123627A - Disk array device - Google Patents

Disk array device

Info

Publication number
JPH08123627A
JPH08123627A JP6255813A JP25581394A JPH08123627A JP H08123627 A JPH08123627 A JP H08123627A JP 6255813 A JP6255813 A JP 6255813A JP 25581394 A JP25581394 A JP 25581394A JP H08123627 A JPH08123627 A JP H08123627A
Authority
JP
Japan
Prior art keywords
data
stored
read
disk
disk devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6255813A
Other languages
Japanese (ja)
Inventor
Tadashi Nakajima
正 中島
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6255813A priority Critical patent/JPH08123627A/en
Publication of JPH08123627A publication Critical patent/JPH08123627A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To provide a disk array device which can decreases the redundancy when data has redundant constitution within a range wherein a necessary throughput is obtained. CONSTITUTION: The read time when data are decentralized to and stored on plural disk devices 12-15 and the read time when compressed data are decentralized to and stored on the disk devices 12-14 except one specific device are found respectively. When the read time is shorter than that when the uncompressed data are decentralized to and stored on all the disk devices as a result of compression although the number of the disk devices which are read at the same time in parallel is one less, the data after compression are put in RAID constitution and stored. Consequently, the throughput of the read never becomes lower than that at the time of doubled constitution. The data in the RAID constitution are stored, the redundancy is reducible on condition that the necessary throughput.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はディスクアレイ装置に係
わり、特にデータを冗長構成にして格納するディスクア
レイ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device, and more particularly to a disk array device for storing data in a redundant configuration.

【0002】[0002]

【従来の技術】ディスク装置は、ホストコンピュータな
どの情報処理装置における補助記憶装置として多用され
ている。ディスク装置の抱える問題点として、情報処理
装置の処理速度に比べてデータの読み書きにかかる時間
が長いことと、記憶しているデータの損壊が起こる場合
があることが挙げられる。これらのうち読み書きにかか
る時間の短縮が図られたディスク装置として、ディスク
アレイ装置がある。この装置は、記憶すべきデータを複
数のディスク装置にデータを分散して格納し、読出時に
はこれらのディスク装置から同時に並行してデータを読
み出すようになっている。1台のディスク装置から読み
出すデータ量を減らすことによってスループットの向上
が図られている。
2. Description of the Related Art A disk device is often used as an auxiliary storage device in an information processing device such as a host computer. The problems that the disk device has are that the time required for reading and writing data is longer than the processing speed of the information processing device, and the stored data may be damaged. Among these, there is a disk array device as a disk device in which the time required for reading and writing is shortened. This device stores data to be stored in a plurality of disk devices in a distributed manner, and at the time of reading, the data is simultaneously read from these disk devices in parallel. Throughput is improved by reducing the amount of data read from one disk device.

【0003】また、ディスク装置に実際に読み書きされ
るデータ量を減らすことによってスループットの向上を
図ったディスク装置がある。この装置では格納するデー
タを圧縮してそのデータ量を減らし、これにより見掛け
上のスループットを向上させている。このようなデータ
の圧縮および伸長を行う機能をディスク装置自身に備え
たディスク装置は特開平4−364547号公報に開示
されている。また、特開平1−237966号公報に
は、所定のデータ量ごとにデータの圧縮を行い、圧縮に
よって生じた空き領域に余白データを書き込むようにし
たディスク装置が開示されている。この装置では、圧縮
前のデータ量に従ってディスク上の記憶領域を確保して
おき、圧縮によってデータ量が減少したときは、確保し
た領域に生じた空き領域に所定の余白データを書き込む
ものである。圧縮されたデータを読み出すときに、余白
データを検出した時点でデータの読み出しを終了させた
り、他のトラックへのヘッドの移動を許可することによ
って読出所要時間の短縮が図られている。
Further, there is a disk device in which the throughput is improved by reducing the amount of data actually read from and written to the disk device. In this device, the data to be stored is compressed to reduce the amount of the data, thereby improving the apparent throughput. A disk device provided with the function of performing such data compression and expansion in the disk device itself is disclosed in Japanese Patent Laid-Open No. 4-364547. Further, Japanese Patent Laid-Open No. 1-237966 discloses a disk device in which data is compressed for each predetermined amount of data and blank space data is written in an empty area generated by the compression. In this device, a storage area on the disk is secured in accordance with the amount of data before compression, and when the amount of data is reduced by compression, predetermined blank space data is written in the empty area created in the secured area. When reading the compressed data, the reading time is shortened by ending the reading of the data when the margin data is detected or by permitting the head to move to another track.

【0004】特開平1−58547号公報には、記憶領
域を圧縮後のデータを格納する第1の領域と非圧縮のデ
ータを格納する第2の領域に分けたディスク装置が開示
されている。データは第2の領域に優先的に書き込まれ
この領域が一杯になったとき、古いデータから順に圧縮
して第1の領域に移すようになっている。第2の領域に
目的とするデータがあれば読出処理においてデータを伸
長する必要がないので、その分だけ読出時間の短縮が図
られている。また、圧縮して格納する領域を備えている
ことからディスク装置の記憶容量を見掛け上増加させて
いる。
Japanese Unexamined Patent Publication No. 1-58547 discloses a disk device in which a storage area is divided into a first area for storing compressed data and a second area for storing uncompressed data. Data is preferentially written in the second area, and when this area becomes full, the oldest data is compressed and moved to the first area. If the target data is in the second area, it is not necessary to decompress the data in the reading process, so the reading time is shortened accordingly. In addition, the storage capacity of the disk device is apparently increased because the storage area is provided for compression.

【0005】さらにデータを複数の圧縮方式によってそ
れぞれ圧縮し、圧縮率の最も高い圧縮方式を選択するよ
うにしたディスク装置が特開平2−108119号公報
に開示されている。このディスク装置では、圧縮した結
果、圧縮前よりもデータ量が増加した場合には、非圧縮
の状態でデータをディスク装置に格納するようになって
いる。
Further, Japanese Patent Application Laid-Open No. 2-108119 discloses a disk device in which data is compressed by a plurality of compression systems and the compression system having the highest compression rate is selected. In this disk device, when the amount of data increases as a result of compression as compared with that before compression, the data is stored in the disk device in an uncompressed state.

【0006】一方、データの損壊を防止しディスク装置
の信頼性を向上させるためにデータを冗長構成にして格
納するディスク装置がある。このうち、ミラード・ディ
スク装置は2台のディスク装置を用意し、これらに同一
のデータを記憶するようになっている。そして、一方の
ディスク装置が故障したときは、他方のディスク装置か
らデータを読み出すようになっている。このように同一
のデータを2台のディスク装置に格納する冗長構成の取
り方は二重化構成と呼ばれている。このほか3台以上の
ディスク装置を用意し、そのうちの1台に誤り訂正用の
パリティデータを記憶させることによって、損壊したデ
ィスク装置のデータを再構成するようにしたものがあ
る。パリティデータを用いてデータを再構成する技術
は、一般にRAID(Redundant Arrays of Inexpensiv
e Disks)技術の第3レベルと呼ばれており、特に大量の
データを冗長構成にして記憶するのに適している。
On the other hand, there is a disk device which stores data in a redundant configuration in order to prevent the data from being damaged and improve the reliability of the disk device. Among them, the mirrored disk device is provided with two disk devices and stores the same data in them. Then, when one of the disk devices fails, the data is read from the other disk device. Such a redundant configuration in which the same data is stored in two disk devices is called a dual configuration. In addition, there is a system in which three or more disk devices are prepared, and one of them stores parity data for error correction to reconstruct the data of the damaged disk device. Data reconstruction technology using parity data is generally known as RAID (Redundant Arrays of Inexpensiv).
It is called the third level of e Disks technology, and is particularly suitable for storing a large amount of data in a redundant configuration.

【0007】図23は、パリティデータによって損壊し
たデータを再構成するディスク装置におけるデータの流
れを表わしたものである。第1のディスク装置および第
2のディスク装置は、書き込むべきデータを記憶するよ
うになっている。第3のディスク装置はパリティデータ
を記憶するようになっている。これらのディスク装置の
記憶領域は4キロバイトごとのブロック単位に区分され
ており、ディスク装置相互間で1対1にブロック同士が
対応付けられている。たとえば2つのブロック分のデー
タを格納するときには、第1のディスク装置と第2のデ
ィスク装置の対応付けられたブロック201、203に
データを分散して格納する。そして、第1のディスク装
置のブロック201と第2のディスク装置のブロック2
02のデータ間でビットごとに排他的論理和が取られ、
その結果が第3のディスク装置のブロック203に格納
されるようになっている。まず、ブロック201とブロ
ック202の先頭の1バイトのデータ204、205が
それぞれ読み出され、ビット毎に排他的論理和がとら
れ、その演算結果であるパリティデータ206が第3の
ディスク装置のブロック203の先頭に格納される。こ
れをブロックの先頭から1バイトずつ順次行うようにな
っている。このようなデータの冗長構成の取り方を以
後、RAID構成と呼ぶことにする。
FIG. 23 shows a data flow in a disk device which reconstructs data damaged by parity data. The first disk device and the second disk device are adapted to store data to be written. The third disk device is adapted to store parity data. The storage areas of these disk devices are divided into blocks each having a size of 4 kilobytes, and the blocks are associated with each other on a one-to-one basis among the disk devices. For example, when storing data for two blocks, the data is distributed and stored in the associated blocks 201 and 203 of the first disk device and the second disk device. Then, the block 201 of the first disk device and the block 2 of the second disk device
Exclusive OR is taken bit by bit between 02 data,
The result is stored in the block 203 of the third disk device. First, the leading 1-byte data 204 and 205 of the block 201 and the block 202 are respectively read out, the exclusive OR is taken for each bit, and the parity data 206 as the operation result is the block of the third disk device. It is stored at the head of 203. This is sequentially performed byte by byte from the beginning of the block. Hereinafter, such a redundant data structure will be referred to as a RAID structure.

【0008】ここで、データの読出時に第1のディスク
装置が故障したものとする。この場合ブロック201の
データは、第3のディスク装置と第2のディスク装置の
ブロック203とブロック202を読み出しこれらのデ
ータの排他的論理和をとることによって再構成される。
たとえば、ブロック203の先頭のパリティデータ20
6とブロック202の先頭のデータ205をビットごと
に排他的論理和をとることによって、ブロック201の
先頭のデータ204が再構成されるようになっている。
Here, it is assumed that the first disk device has failed at the time of reading data. In this case, the data of the block 201 is reconstructed by reading the blocks 203 and 202 of the third disk device and the second disk device and taking the exclusive OR of these data.
For example, the parity data 20 at the beginning of the block 203
6 and the head data 205 of the block 202 are exclusive-ORed bit by bit to reconstruct the head data 204 of the block 201.

【0009】[0009]

【発明が解決しようとする課題】ミラード・ディスク装
置のようにデータを二重化構成にして格納する場合に
は、格納されるデータ量が2倍になりその冗長度が大き
く、ディスク装置に記憶できるデータ量が大幅に少なく
なってしまうという問題がある。RAID構成の場合の
冗長度は二重化構成の場合に比べて少なくなる。たとえ
ば、4台のディスク装置を用いる場合には、3台のディ
スク装置にデータは分散して格納され、残りの1台にパ
リティデータが格納される。したがって、書き込むデー
タ量の3分の4倍の記憶領域によってデータを冗長構成
して格納することができる。しかしながら、同じ4台の
ディスク装置を用いた場合で比べると、データの読出時
間は二重化構成の場合よりも長くなってしまう。これ
は、同時に並行してデータを読み出すディスク装置の数
が、4台から3台に減少してしまうからである。このた
め、RAID構成でデータを格納する場合にスループッ
トを二重化構成の場合と同一のレベルで確保するには、
ディスク装置の台数を1台増やさなければならないとい
う問題がある。逆にディスク装置の台数が限られている
場合には、二重化構成の場合に比べてスループットが低
下してしてまうという問題がある。
When data is stored in a duplicated structure as in a mirrored disk device, the amount of data to be stored is doubled and its redundancy is large, so that data that can be stored in the disk device is stored. There is a problem that the amount is significantly reduced. The redundancy in the RAID configuration is less than that in the duplex configuration. For example, when four disk devices are used, data is distributed and stored in three disk devices, and parity data is stored in the remaining one. Therefore, it is possible to store the data in a redundant configuration with a storage area that is four thirds of the amount of data to be written. However, as compared with the case where the same four disk devices are used, the data read time becomes longer than in the case of the dual configuration. This is because the number of disk devices that read data simultaneously in parallel decreases from four to three. Therefore, in order to secure the throughput at the same level as the case of the duplex configuration when storing data in the RAID configuration,
There is a problem that the number of disk devices must be increased by one. On the contrary, when the number of disk devices is limited, there is a problem that the throughput is reduced as compared with the case of the dual configuration.

【0010】RAID構成にした場合の読み出しのスル
ープットを向上させる方法として、圧縮後のデータをR
AID構成にすることが考えられる。圧縮によりデータ
量が減少すれば、1台当たりのディスク装置から読み出
すデータ量が減りそれだけ読出所要時間の短縮を図るこ
とができる。しかしながら、圧縮率は圧縮するアルゴリ
ズムや圧縮されるデータによって様々であり、圧縮して
も二重化構成にした場合と同一レベルのスループットを
確保できない場合がある。したがって、画像処理装置な
ど所定の制限時間内にデータを読み出す必要のある情報
処理装置の補助記憶装置として用いる場合には、圧縮率
の悪いケースを考慮して、結局ディスク装置の台数を増
やさなければならないという問題がある。このように二
重化構成ではデータの冗長度が大きく、ディスク装置に
格納できるデータ量が減少するという問題があり、RA
ID構成では二重化構成に比べてスループットが低下し
てしまうという問題がある。
As a method of improving the read throughput in the case of the RAID configuration, the compressed data is converted into R
An AID configuration can be considered. If the amount of data is reduced by compression, the amount of data read from the disk device per unit is reduced, and the required reading time can be shortened accordingly. However, the compression rate varies depending on the compression algorithm and the data to be compressed, and even if the compression is performed, it may not be possible to ensure the same level of throughput as in the duplex configuration. Therefore, when it is used as an auxiliary storage device of an information processing device such as an image processing device that needs to read data within a predetermined time limit, the number of disk devices must be increased in consideration of the case of poor compression ratio. There is a problem of not becoming. As described above, the redundant configuration has a problem that the redundancy of data is large and the amount of data that can be stored in the disk device is reduced.
The ID configuration has a problem that the throughput is lower than that of the duplex configuration.

【0011】また、二重化構成やRAID構成にしてデ
ータをディスク装置に格納するときは、冗長構成をとら
ずに格納する場合に比べて、書込所要時間が長くなって
しまう。たとえばRAID構成にする場合には、格納す
るデータのそれぞれのビットの排他的論理和をとり、こ
れをパリティデータ用に用意されたディスク装置に格納
しなければならない。このためデータの書込命令を発し
た情報処理装置を書込処理から開放するまでの時間が長
くなってしまうという問題がある。
Further, when the data is stored in the disk device in the redundant configuration or the RAID configuration, the time required for writing becomes longer than in the case where the data is stored without the redundant configuration. For example, in the case of the RAID configuration, it is necessary to take the exclusive OR of each bit of the data to be stored and store this in the disk device prepared for the parity data. Therefore, there is a problem that it takes a long time to release the information processing apparatus that has issued the data write command from the write processing.

【0012】そこで本発明の第1の目的は、データを冗
長構成にして格納するとともに書込命令を発する情報処
理装置を短時間で書込処理から開放することのできるデ
ィスクアレイ装置を提供することにある。
Therefore, a first object of the present invention is to provide a disk array device capable of storing data in a redundant configuration and releasing an information processing device which issues a write command from the writing process in a short time. It is in.

【0013】本発明の第2の目的は、データの冗長度を
必要なスループットが得られる範囲で小さくすることの
できるディスクアレイ装置を提供することにある。
A second object of the present invention is to provide a disk array device which can reduce the redundancy of data within a range where a required throughput can be obtained.

【0014】[0014]

【課題を解決するための手段】請求項1記載の発明で
は、複数のディスク装置と、これらディスク装置に格納
すべきデータを入力する書込データ入力手段と、この書
込データ入力手段から入力されたデータを複数のディス
ク装置に振り分けて格納する分散格納手段と、この分散
格納手段によるデータの格納が終了した時点で書き込み
の終了を表わした所定の書込完了通知を送出する書込完
了通知送出手段と、この書込完了通知送出手段によって
書込完了通知が送出された後分散格納手段によって格納
されたデータを冗長構成にして複数のディスク装置に再
格納する冗長構成格納手段とをディスクアレイ装置に具
備させている。
According to a first aspect of the present invention, a plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and input from the write data input means. Distributed storage means for distributing and storing the stored data to a plurality of disk devices, and sending a predetermined writing completion notification indicating the end of writing when the storage of the data by the distributed storage means is completed. And a redundant configuration storage unit configured to redundantly store the data stored by the distributed storage unit after the writing completion notification is transmitted by the writing completion notification transmission unit and store the redundant data in a plurality of disk devices. Prepared for.

【0015】すなわち請求項1記載の発明では、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納するようにしている。これにより、書込
命令を発した上位装置を短時間で書込処理から開放する
ことができる。
That is, according to the first aspect of the present invention, a write completion notice is sent at the time when the data to be written is distributed and stored in a plurality of disk devices, and then the data is re-stored in a redundant configuration. There is. As a result, the host device that has issued the write command can be released from the writing process in a short time.

【0016】請求項2記載の発明では、複数のディスク
装置と、これらディスク装置に格納すべきデータを入力
する書込データ入力手段と、この書込データ入力手段か
ら入力されたデータを複数のディスク装置に振り分けて
格納する分散格納手段と、この分散格納手段によるデー
タの格納が終了した時点で書き込みの終了を表わした所
定の書込完了通知を送出する書込完了通知送出手段と、
この書込完了通知送出手段によって書込完了通知が送出
された後分散格納手段によって格納されたデータを冗長
構成にして複数のディスク装置に再格納する冗長構成格
納手段と、データの読出命令を受信する読出命令受信手
段と、この読出命令受信手段によって読出命令が受信さ
れた時点で読み出すべきデータが冗長構成格納手段によ
り冗長構成されて再格納されていないときは分散格納手
段により格納されたデータを読み出す読出手段とをディ
スクアレイ装置に具備させている。
According to a second aspect of the present invention, a plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and data input from the write data input means for a plurality of disk devices. Distributed storage means for distributing and storing to devices, and writing completion notification sending means for sending a predetermined writing completion notification indicating the end of writing when the storage of data by the distributed storage means is completed,
Redundant configuration storage means for storing the data stored by the distributed storage means in a redundant configuration and re-storing the data in a plurality of disk devices after the write completion notification is transmitted by the write completion notification transmission means, and a data read command And a data stored in the distributed storage means if the data to be read at the time when the read command is received by the read command receiving means is redundantly configured by the redundant configuration storage means and is not stored again. The disk array device is equipped with a reading means for reading.

【0017】すなわち請求項2記載の発明では、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納するようにしている。そして、再格納す
る処理が終了する前に、読出命令を受けたときは、当
初、分散して格納した領域からデータを読み出すように
している。これにより、冗長構成にしてデータを再格納
する処理の途中であっても、データの読み出しを行うこ
とができる。
That is, according to the second aspect of the present invention, when the data to be written is distributed and stored in a plurality of disk devices, a write completion notice is sent out, and then the data is re-stored in a redundant configuration. There is. When a read command is received before the re-storing process is completed, the data is initially read from the dispersedly stored areas. As a result, the data can be read even during the process of re-storing the data in the redundant configuration.

【0018】請求項3記載の発明では、複数のディスク
装置と、これらディスク装置に格納すべきデータを入力
する書込データ入力手段と、この書込データ入力手段か
ら入力されたデータをディスク装置に分散して格納した
ときこれらのディスク装置から同時に並行してこのデー
タを読み出すのに必要な読出時間を求める第1の読出時
間割出手段と、書込データ入力手段から入力されたデー
タを圧縮する圧縮手段と、この圧縮手段によって圧縮さ
れた後のデータを複数のディスク装置のうち所定の1台
を除くディスク装置に分散して格納したときこれらのデ
ィスク装置から同時に並行してこの圧縮後のデータを読
み出すのに必要な読出時間を求める第2の読出時間割出
手段と、第1の読出時間割出手段によって求めた読出時
間がこの第2の読出時間割出手段によって求めた読出時
間よりも短いかあるいは等しいとき書込データ入力手段
から入力されたデータをディスク装置に分散させて格納
する第1の分散格納手段と、書込データ入力手段から入
力されたデータをこの第1の分散格納手段とその格納先
のディスク装置を変えて分散させて格納する第2の分散
格納手段と、第2の読出時間割出手段によって求めた読
出時間が第1の読出時間割出手段によって求めた読出時
間よりも短いとき圧縮手段によって圧縮された後のデー
タを所定の1台を除くディスク装置に分散させて格納す
る第3の分散格納手段と、この第3の分散格納手段によ
ってデータの格納されたディスク装置のうちいずれか1
台が読出不能になったときこれに格納されたデータを再
構成するための誤り訂正符号を生成する誤り訂正符号生
成手段と、この誤り訂正符号生成手段によって生成され
た誤り訂正符号を所定の1台のディスク装置に格納する
誤り訂正符号格納手段とをディスクアレイ装置に具備さ
せている。
In a third aspect of the present invention, a plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and data input from the write data input means are stored in the disk device. First read time indexing means for obtaining the read time required to read this data from these disk devices simultaneously in parallel when distributed and stored, and compression for compressing the data input from the write data input means. Means and the data after being compressed by the compressing means are distributed and stored in a disk device other than a predetermined one of a plurality of disk devices, the data after the compression are simultaneously processed in parallel from these disk devices. A second read time indexing means for determining a read time required for reading and a read time for the second read time determined by the first read time indexing means. When the read time obtained by the time indexing means is shorter than or equal to the read time, the first distributed storage means stores the data input from the write data input means in a distributed manner in the disk device, and the input from the write data input means. Second distributed storage means for storing the distributed data by changing the first distributed storage means and the disk device of the storage destination to store the data, and the read time first read by the second read time indexing means. Third distributed storage means for storing the data after being compressed by the compression means in a disk device other than a predetermined one when the read time is shorter than the read time obtained by the time indexing means, and the third distributed storage. Any one of disk devices in which data is stored by means
When the table becomes unreadable, an error correction code generating means for generating an error correction code for reconstructing the data stored therein and an error correction code generated by this error correction code generating means are set to a predetermined value 1. The disk array device is provided with an error correction code storage means for storing in one disk device.

【0019】すなわち請求項3記載の発明では、データ
を複数のディスク装置に分散して格納した場合の読出時
間と、圧縮後のデータを所定の1台を除くディスク装置
に分散して格納した場合の読出時間をそれぞれ求めてい
る。そして、同時に並行して読み出すディスク装置の台
数が1台分少なくなっても、圧縮により読出時間が未圧
縮のデータを全てのディスク装置に分散格納した場合よ
りも短くなるとき、圧縮後のデータをRAID構成にし
て格納している。圧縮しても読出時間が未圧縮のデータ
を全てのディスク装置に分散格納したときよりも低減し
ないときは、データを二重化構成にして格納している。
したがって、読み出しのスループットは、二重化構成に
した場合よりも低下することはない。また、二重化構成
にする場合よりも高いスループットが得られるときはR
AID構成にしてデータを格納しているので、冗長度を
小さくしてデータを格納することができる。
That is, according to the third aspect of the invention, the read time when data is distributed and stored in a plurality of disk devices, and the compressed data is distributed and stored in disk devices other than a predetermined one. Read time of each is calculated. Even if the number of disk devices that are read in parallel at the same time is reduced by one, when the read time becomes shorter than that when uncompressed data is distributed and stored in all the disk devices due to compression, the compressed data is read. It is stored in a RAID configuration. When compressed data does not reduce the read time as compared with the case where the uncompressed data is distributedly stored in all the disk devices, the data is stored in a duplicated structure.
Therefore, the read throughput does not decrease as compared with the case of the dual configuration. If a higher throughput can be obtained than in the case of using the duplex configuration, R
Since the data is stored in the AID configuration, the redundancy can be reduced and the data can be stored.

【0020】[0020]

【実施例】以下実施例につき本発明を詳細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to embodiments.

【0021】図1は本願発明の一実施例におけるディス
クアレイ装置を用いたデータ記憶システムの構成の概要
を表わしたものである。このデータ記憶システムは、デ
ータの読み書きを指示するホストコンピュータ11と、
データを分散して格納するための第1〜第4のディスク
装置12〜15と、これらのディスク装置にデータの読
み書きを行うディスクアレイ制御装置16とから構成さ
れている。ディスクアレイ制御装置16は、ホストコン
ピュータ11との間でデータおよび各種コマンドの入出
力を行う上位入出力制御部17を備えている。圧縮処理
部18は、書き込むべきデータを圧縮する回路装置であ
る。圧縮データカウント部19は、圧縮処理部18によ
って圧縮された後のデータ量の計数を行うものである。
伸長処理部21は、各ディスク装置から読み出した圧縮
されたデータの伸長を行う回路である。パリティ生成部
22は、ディスク装置が破壊したときにデータの再構成
を行うためのパリティデータを生成する回路部分であ
る。下位入出力制御部23は、ディスクアレイ制御装置
16と各ディスク装置12〜15との間のインターフェ
イスを行うための回路である。管理部24は、ホストコ
ンピュータ11からのコマンドに応じてこれらの回路装
置の統括的な制御を行う部分である。
FIG. 1 shows an outline of the configuration of a data storage system using a disk array device according to an embodiment of the present invention. The data storage system includes a host computer 11 that instructs reading and writing of data,
It is composed of first to fourth disk devices 12 to 15 for storing data in a distributed manner, and a disk array control device 16 for reading and writing data to these disk devices. The disk array control device 16 includes a host input / output control unit 17 that inputs / outputs data and various commands from / to the host computer 11. The compression processing unit 18 is a circuit device that compresses data to be written. The compressed data counting unit 19 counts the amount of data after being compressed by the compression processing unit 18.
The decompression processing unit 21 is a circuit that decompresses the compressed data read from each disk device. The parity generation unit 22 is a circuit unit that generates parity data for reconstructing data when the disk device is destroyed. The lower input / output control unit 23 is a circuit for performing an interface between the disk array control device 16 and each of the disk devices 12 to 15. The management unit 24 is a unit that performs overall control of these circuit devices according to a command from the host computer 11.

【0022】図2は図1に示したディスクアレイ制御装
置の回路構成の概要を表わしたものである。ディスクア
レイ制御装置16はその制御の中枢的な役割を果たすC
PU(中央制御装置)31を備えている。CPU31に
はデータバス等の各種バス32を通じて各種回路装置が
接続されている。このうち、ROM(リード・オンリ・
メモリ)33はプログラムや固定的データを格納するた
めのメモリである。RAM34は、プログラムを実行す
る上で必要な各種データを一時的に記憶するためのラン
ダム・アクセス・メモリである。第1〜第4のSCSI
(Small Computer Sysytem Interface) コントローラ3
5〜38はディスク装置との間で、第5のSCSIコン
トローラ39はホストコンピュータ11との間でそれぞ
れインターフェイスを行う回路装置である。圧縮処理回
路41は、ディスク装置12〜14に格納すべきデータ
を圧縮する回路である。圧縮データカウンタ回路42
は、圧縮処理回路41によって圧縮された後のデータの
データ量を計数する回路である。この回路で圧縮された
後のデータ量が減少したかどうかを調べるようになって
いる。伸長処理回路43は、圧縮されたデータの伸長を
行う回路部分である。パリティ生成回路44は、圧縮さ
れたデータについての誤り検出用の符号を生成する回路
である。
FIG. 2 shows an outline of the circuit configuration of the disk array controller shown in FIG. The disk array controller 16 plays a central role in its control.
A PU (Central Control Unit) 31 is provided. Various circuit devices are connected to the CPU 31 through various buses 32 such as a data bus. Of these, ROM (read only
A memory 33 is a memory for storing programs and fixed data. The RAM 34 is a random access memory for temporarily storing various data necessary for executing the program. First to fourth SCSI
(Small Computer Sysytem Interface) Controller 3
Reference numerals 5 to 38 are circuit devices that interface with the disk device, and the fifth SCSI controller 39 interfaces with the host computer 11. The compression processing circuit 41 is a circuit for compressing data to be stored in the disk devices 12-14. Compressed data counter circuit 42
Is a circuit for counting the data amount of the data after being compressed by the compression processing circuit 41. This circuit is designed to check whether the amount of data after being compressed has decreased. The decompression processing circuit 43 is a circuit portion that decompresses compressed data. The parity generation circuit 44 is a circuit that generates an error detection code for compressed data.

【0023】第1〜第5のSCSIコントローラ35〜
39と、圧縮処理回路41と、伸長処理回路43および
パリティ発生回路44はローカル・バス45によって接
続されている。ローカル・バス45によってデータを転
送することで、ディスクアレイ制御装置16内部での転
送時間の短縮を図っている。また、第1〜第4のSCS
Iコントローラ35〜38とパリティ生成回路44は、
パリティ符号を生成する対象になるデータおよび生成さ
れたパリティ符号を伝送するための専用のバス46によ
って接続されている。
The first to fifth SCSI controllers 35 to 35
39, the compression processing circuit 41, the expansion processing circuit 43, and the parity generation circuit 44 are connected by a local bus 45. By transferring the data by the local bus 45, the transfer time inside the disk array control device 16 is shortened. Also, the first to fourth SCS
The I controllers 35 to 38 and the parity generation circuit 44 are
It is connected by a dedicated bus 46 for transmitting the data for which the parity code is generated and the generated parity code.

【0024】図3は、ディスクアレイ制御装置の内部で
のデータの流れを模式的に表わしたものである。第1〜
第4のディスク装置12〜15の記憶領域には、それぞ
れ上位入出力制御部17から入力されたデータを分散し
て格納するための初期格納エリア511 〜514 が用意
されている。また、第1〜第3のディスク装置12〜1
4には、圧縮されたデータを格納するための圧縮格納エ
リア521 〜523 が、第4のディスク装置15には、
パリティデータを格納するためのパリティ格納エリア5
3がそれぞれ用意されている。上位入出力制御部17か
ら入力されたデータは第1〜第4のディスク装置12〜
15の初期格納エリア511 〜514 に格納されるよう
になっている。各エリアはそれぞれ4キロバイト単位の
ブロック単位に管理されている。初期格納エリア511
〜514 にはブロック単位に分割された後のデータD0
〜DN が分散されて格納されている。
FIG. 3 schematically shows the flow of data inside the disk array controller. First to first
The storage area of the fourth disk unit 12-15, the initial storage area 51 1 to 51 4 for storing in a distributed input data from the host output control unit 17, respectively are prepared. Also, the first to third disk devices 12 to 1
The 4, compressed storage area 52 1 to 52 3 for storing the compressed data, the fourth disk device 15,
Parity storage area 5 for storing parity data
3 are prepared respectively. The data input from the upper input / output control unit 17 is the first to fourth disk devices 12 to
It is adapted to be stored in the 15 initial storage area 51 1 to 51 4. Each area is managed in blocks of 4 kilobytes. Initial storage area 51 1
To 51 data D 0 after being divided into blocks in the 4
~ D N are distributed and stored.

【0025】初期格納エリア511 〜514 にデータが
格納された時点で、ホストコンピュータ11には書込完
了通知が送出されるようになっている。これによりホス
トコンピュータ11は書込処理から開放されることにな
る。その後、圧縮処理部18によってブロック単位にデ
ータが圧縮され、圧縮された後のデータは第1〜第3の
ディスク装置12〜14の圧縮格納エリア521 〜52
3 に格納されているようになっている。ディスク装置1
2〜15の各ブロックに格納された圧縮後のデータF0
〜F8 に対応するパリティ符号がパリティ生成部22に
よって作成され、第4のディスク装置15のパリティ格
納エリア53に格納されるようになっている。このよう
に圧縮後のデータに対応するパリティデータを作成し、
RAID構成によってデータの冗長構成がとられるよう
になっている。このように圧縮後のデータをRAID構
成にする冗長構成の取り方を圧縮RAID構成と呼ぶこ
とにする。データの読み出し時には第1〜第3のディス
ク装置の圧縮格納エリア521 〜523 から圧縮データ
が読み出されこれが伸長処理部21によって伸長された
後、上位入出力制御部17を通じてホストコンピュータ
11に出力されるようになっている。
[0025] When the data in the initial storage area 51 1 to 51 4 are stored, the host computer 11 so that the write completion notification is sent. As a result, the host computer 11 is released from the writing process. Thereafter, the compression processing unit 18 compresses the data in block units, and the compressed data is stored in the compressed storage areas 52 1 to 52 1 of the first to third disk devices 12 to 14.
It is supposed to be stored in 3 . Disk device 1
Compressed data F 0 stored in each block 2 to 15
Parity codes corresponding to ~ F 8 are created by the parity generator 22 and stored in the parity storage area 53 of the fourth disk device 15. In this way, create parity data corresponding to the compressed data,
The RAID configuration allows data redundancy. In this way, a method of creating a redundant configuration in which the data after compression has a RAID configuration will be referred to as a compression RAID configuration. After the time of reading the data compressed data is read from the compressed storage area 52 1 to 52 3 of the first to third disk device which has been extended by the decompression processing unit 21, the host computer 11 through the upper input-output control unit 17 It is supposed to be output.

【0026】図4は、ディスクアレイ装置におけるデー
タの格納先を管理するためのデータ管理テーブルの登録
内容を表わしたものである。データ管理テーブル61
は、データの格納先の領域のアドレスを表わした格納先
アドレス62と、格納されたデータの長さを表わすデー
タ長63と、データが圧縮されて格納されているかどう
かを表わす属性64とから構成されている。格納先アド
レス62は、ホストコンピュータ11から見たときのア
ドレスを表わした論理アドレス65に対応付けて、ディ
スクアレイ制御装置16内部での格納先アドレスを記憶
している。格納先アドレスは、図3に示した初期格納エ
リア511 〜514 にデータの書き込みが終了した時点
では、このエリアでの格納アドレスである初期格納アド
レス66が登録されるようになっている。また、初期格
納エリア511 〜514 のデータが圧縮されて圧縮格納
エリア521 〜523 に記憶されたときはこのエリアの
アドレスである圧縮格納アドレス67にその値が変更さ
れるようになっている。データ長63は、初期格納エリ
ア511 〜514 におけるデータ長、すなわち圧縮され
る前の状態におけるデータ量が登録されるようになって
いる。属性64は、データが圧縮されているかどうかを
表わすもので、初期格納エリア511 〜514に格納さ
れた段階では“未加工”が、圧縮されて圧縮格納エリア
に格納された段階では“圧縮RAID”が登録されるよ
うになっている。
FIG. 4 shows the registered contents of the data management table for managing the data storage destination in the disk array device. Data management table 61
Is composed of a storage destination address 62 that represents the address of the area where the data is stored, a data length 63 that represents the length of the stored data, and an attribute 64 that represents whether the data is stored compressed. Has been done. The storage destination address 62 stores the storage destination address inside the disk array control device 16 in association with the logical address 65 representing the address as seen from the host computer 11. Storage destination address, at the time when the writing of data is completed in the initial storage area 51 1 to 51 4 shown in FIG. 3, the initial storage address 66 are registered a storage address in this area. Also, so that value to the compressed storage address 67 is the address of this area when the data of the initial storage area 51 1 to 51 4 has been stored in compressed storage area 52 1 to 52 3 is compressed are changed ing. Data length 63, the data length in the initial storage area 51 1 to 51 4, that is, the data amount in the state before being compressed are registered. Attributes 64, which represents whether the data is compressed, in the initial storage area 51 1 to 51 steps is stored in the 4 "raw", at step stored compressed in the compression storage area "compression RAID "is registered.

【0027】図5は、データの書込命令を受信したとき
にディスクアレイ制御装置の行うフォアグランド処理の
流れを表わしたものである。CPU31は第5のSCS
Iコントローラ39を介してホストコンピュータ11か
ら書込命令が送られてくるのを待機している(ステップ
S101)。書込命令が受信されると(ステップS10
1;Y)、それに続いて送られてくるデータをブロック
単位に分割し(ステップS102)、これらを第1〜第
4のディスク装置12〜15の初期格納エリア511
514 に分散して格納する(ステップS103)。CP
U31はデータを格納した先頭の領域に該当する初期格
納エリアのアドレスをデータ管理テーブルに登録する
(ステップS104)。そしてその属性を“未加工”に
設定する(ステップS105)。その後、ホストコンピ
ュータ11に書込完了通知を送出する(ステップS10
6)。ここまでの処理はフォアグランド処理として行わ
れる。以後、初期格納エリアのデータを圧縮して圧縮格
納エリアに格納する処理はバックグランド処理として行
われる。このためCPU31はバックグランド処理を起
動し(ステップS107)、フォアグランド処理を終了
する(エンド)。
FIG. 5 shows the flow of foreground processing performed by the disk array controller when a data write command is received. CPU31 is the fifth SCS
It waits for a write command to be sent from the host computer 11 via the I controller 39 (step S101). When the write command is received (step S10)
1; Y), the subsequently sent data which is divided into blocks (step S102), the initial storage area 51 1 of the first through fourth disk unit 12-15
51 4 dispersed stored (step S103). CP
U31 registers the address of the initial storage area corresponding to the first area storing the data in the data management table (step S104). Then, the attribute is set to "raw" (step S105). Then, a write completion notice is sent to the host computer 11 (step S10).
6). The processing up to this point is performed as foreground processing. Thereafter, the process of compressing the data in the initial storage area and storing it in the compressed storage area is performed as a background process. Therefore, the CPU 31 activates the background process (step S107) and ends the foreground process (end).

【0028】このように、初期格納エリアにデータを格
納した時点で書込完了通知を送出しているので、ホスト
コンピュータ11を早期に書込処理から開放することが
できる。また、大量のデータの書き込みを行う場合で
も、ディスク装置の初期格納エリアに記憶した時点で書
込完了通知を送出するため、大容量のキャッシュメモリ
を用意する必要がない。
As described above, since the write completion notice is sent when the data is stored in the initial storage area, the host computer 11 can be released from the writing process early. Further, even when a large amount of data is written, the writing completion notice is sent at the time when the data is stored in the initial storage area of the disk device, so there is no need to prepare a large capacity cache memory.

【0029】図6は、データの書込命令を受信したとき
にディスクアレイ制御装置の行うバックグランド処理の
流れを表わしたものである。CPU31は初期格納エリ
ア511 〜514 からデータを読み出し、圧縮処理回路
41によってこれを圧縮する(ステップS201 )。
圧縮後のデータを第1〜第3のディスク装置12〜14
の圧縮格納エリア521 〜523 に分散して格納する
(ステップS202)。図3で示した場合を例にとる
と、第1のディスク装置12の初期格納エリア51 1
格納されているデータ“D0 ”は圧縮されて、第1のデ
ィスク装置12の圧縮格納エリア521 の“F0 ”とし
て格納される。同様にして“D1 ”は“F1”、
“D2 ”は“F2 ”として格納される。次にCPU31
は、第1〜第3のディスク装置12〜14に格納された
圧縮後のデータについてのパリティデータを作成し(ス
テップS203)、これを第4のディスク装置15のパ
リティ格納エリア53に格納する(ステップS20
4)。
FIG. 6 shows when a data write command is received.
Of background processing performed by the disk array controller
It represents the flow. CPU31 is the initial storage area
A 511~ 51FourData is read from the compression processing circuit
This is compressed by 41 (step S201).
The compressed data is stored in the first to third disk devices 12 to 14
Compressed storage area 521~ 523Store in a distributed manner
(Step S202). Taking the case shown in FIG. 3 as an example
And the initial storage area 51 of the first disk device 12 1To
Stored data "D0"Is compressed and the first data
Compressed storage area 52 of disk device 121"F0"age
Stored. Similarly, "D1"Is" F1",
"D2"Is" F2Stored as “. Next, CPU 31
Are stored in the first to third disk devices 12 to 14
Create parity data for the compressed data (
(Step S203).
Stored in the priority storage area 53 (step S20)
4).

【0030】パリティデータの作成は、次の様にして行
われる。たとえば、図3で、“F0”、“F1 ”、“F
2 ”および“P0 ”の各ブロックを対応するブロックと
して予め定めておく。同様に、“F3 ”、“F4 ”、
“F5 ”および“P3 ”を対応付ける。このようにして
各ディスク装置のブロックを予めそれぞれ対応付けてお
く。第1から第3のディスク装置12〜14から対応付
けられたブロックの先頭のデータをそれぞれ1バイトず
つ読み出し、これらのデータの互いに対応するビット相
互間の排他的論理和をとる。その結果を、1バイトのパ
リティデータとして、第4のディスク装置の対応するブ
ロックの先頭に格納する。これと同様にして、第2バイ
ト同士、第3バイト同士の排他的論理和をとり、これを
第4のディスク装置の第2バイト目、第3バイト目に格
納する。これを1ブロック内のすべてのデータについて
行い、さらに、圧縮データを格納したすべてのブロック
について行う。図3に示した例では、“F0 ”〜
“F2 ”についてのパリティデータが第4のディスク装
置15の“P0 ”に格納されている。“F3 ”〜
“F5 ”については“P3 ”に、“F6 ”〜“F8 ”に
ついては“P6 ”にそれぞれ格納されている。こうして
圧縮後のデータをRAID構成で格納している。
The parity data is created as follows. For example, in FIG. 3, “F 0 ”, “F 1 ”, and “F
Each block of 2 ”and“ P 0 ”is defined in advance as a corresponding block. Similarly,“ F 3 ”,“ F 4 ”,
Correlate “F 5 ” and “P 3 ”. In this way, the blocks of each disk device are associated in advance. The head data of the associated blocks are read out one byte at a time from the first to third disk devices 12 to 14, and the exclusive OR between the corresponding bits of these data is obtained. The result is stored as 1-byte parity data at the beginning of the corresponding block of the fourth disk device. Similarly, the exclusive OR of the second bytes and the third bytes is calculated and stored in the second and third bytes of the fourth disk device. This is performed for all data in one block, and further for all blocks storing compressed data. In the example shown in FIG. 3, “F 0 ” ˜
Parity data for “F 2 ” is stored in “P 0 ” of the fourth disk device 15. "F 3 " ~
The "P 3" for "F 5", "F 6 " ~ the "F 8" are respectively stored in the "P 6". In this way, the compressed data is stored in the RAID configuration.

【0031】図6に戻って説明を続ける。圧縮格納エリ
アにデータを格納した後、CPU31は図4に示した格
納先アドレスを初期格納アドレスから圧縮格納アドレス
に書き換える(ステップS205)。さらに属性を“未
加工”から“圧縮RAID”に変更する(ステップS2
06)。最後に初期格納エリアに格納されているデータ
を消去して(ステップS207)、処理を終了する(エ
ンド)。このようにデータを圧縮し、さらにパリティデ
ータを生成して圧縮RAID構成で格納するには、かな
りの処理時間が必要である。しかしながらこれをバック
グランド処理で行うことによって、ホストコンピュータ
11から見た書込所要時間の短縮が図られている。
Returning to FIG. 6, the description will be continued. After storing the data in the compressed storage area, the CPU 31 rewrites the storage destination address shown in FIG. 4 from the initial storage address to the compressed storage address (step S205). Furthermore, the attribute is changed from "raw" to "compressed RAID" (step S2).
06). Finally, the data stored in the initial storage area is erased (step S207), and the process ends (END). A considerable amount of processing time is required to compress the data as described above, generate parity data, and store the parity data in the compressed RAID configuration. However, by performing this in the background processing, the time required for writing seen from the host computer 11 is shortened.

【0032】図7は、読出命令を受信したときにディス
クアレイ制御装置の行う処理の流れを表わしたものであ
る。CPU31はホストコンピュータ11から読出命令
が送られてくるのを待機している(ステップS30
1)。読出命令を受信すると(ステップS301;
Y)、読み出すべきデータに対応するデータ管理テーブ
ルを参照し、そのデータの属性が“未加工”であるか、
“圧縮RAID”であるかが調べられる(ステップS3
02)。“未加工”の場合には(ステップS303)、
初期格納エリアからデータを読み出す(ステップS30
4)。“圧縮RAID”の場合には(ステップS30
2;N)、圧縮格納エリアからデータを読み出し(ステ
ップS304)、これを伸長処理回路43で伸長する
(ステップS305)。これらのデータをホストコンピ
ュータ11に送出した後、読出完了通知の送出を行う
(ステップS306)。バックグランド処理で、未だ圧
縮RAID構成にしてデータを再格納する処理が終了し
ていないときには、初期格納エリアからデータが読み出
される。こうして、バックグランド処理中であっても、
データの読み出しができるようになっている。
FIG. 7 shows the flow of processing performed by the disk array control device when a read command is received. The CPU 31 waits for a read command from the host computer 11 (step S30).
1). When a read command is received (step S301;
Y), referring to the data management table corresponding to the data to be read, whether the attribute of the data is "raw",
It is checked whether it is "compressed RAID" (step S3).
02). In the case of “raw” (step S303),
Data is read from the initial storage area (step S30
4). In the case of "compressed RAID" (step S30
2; N), data is read from the compression storage area (step S304), and the decompression processing circuit 43 decompresses the data (step S305). After sending these data to the host computer 11, a read completion notice is sent (step S306). In the background processing, when the processing of re-storing the data with the compressed RAID configuration is not completed yet, the data is read from the initial storage area. Thus, even during background processing,
The data can be read.

【0033】第1の変形例 First Modification

【0034】第1の変形例では、初期格納エリアに格納
されたデータを圧縮RAID構成にすべきか、二重化構
成にしてデータを格納すべきかを、読出所要時間を基準
に選択するようになっている。すなわち、二重化構成で
格納したときの読出所要時間よりも、圧縮RAID構成
にしたときの読出所要時間が長くならないときだけ、デ
ータを圧縮RAID構成で格納するようにしている。こ
れにより、ディスク装置の数を増やすことなく必要なス
ループットを確保できるとともに、圧縮することによっ
て蓄積できるデータ量を増加させることができるように
なっている。第1の変形例におけるディスクアレイ制御
装置の回路構成は、図2に示したものと同一であり、そ
の説明は省略する。
In the first modification, whether to store the data stored in the initial storage area in the compressed RAID configuration or in the duplex configuration to store the data is selected based on the required reading time. . That is, the data is stored in the compressed RAID configuration only when the required reading time in the compressed RAID configuration does not become longer than the required reading time in the redundant configuration. As a result, the required throughput can be ensured without increasing the number of disk devices, and the amount of data that can be accumulated by compression can be increased. The circuit configuration of the disk array control device in the first modified example is the same as that shown in FIG. 2 and its explanation is omitted.

【0035】図8は、第1の変形例のディスクアレイ装
置におけるデータの流れを模式的に表わしたものであ
る。図3と同一の部分には同一の符号を付してその説明
を適宜省略する。圧縮処理部18によって圧縮された後
のデータ量は圧縮データカウント部19によって計数さ
れるようになっている。圧縮後のデータ量を基に、圧縮
RAID構成にして格納すべきか、二重化構成にして格
納すべきかが判断されるようになっている。圧縮RAI
D構成にする場合には、図3に示したときと同様にして
圧縮格納エリア521 〜523 にデータが格納され、そ
のパリティデータが第4のディスク装置15のパリティ
格納エリア53に格納される。一方、二重化構成にして
格納する場合には、第1の二重化格納エリア711 〜7
4 と、第2の二重化格納エリア721 〜724 に、初
期格納エリア511 〜514 のデータが圧縮されないま
ま複写されて格納されるようになっている。複写する
際、複写元のデータを格納しているディスク装置と異な
るディスク装置が格納先として選ばれるようになってい
る。また、第1の二重化格納エリアに格納された各ブロ
ック単位のデータはそれぞれ異なるディスク装置の第2
の二重化格納エリアに格納されるようになっている。
FIG. 8 schematically shows the flow of data in the disk array device of the first modification. The same parts as those in FIG. 3 are designated by the same reference numerals and the description thereof will be omitted as appropriate. The amount of data after being compressed by the compression processing unit 18 is counted by the compressed data counting unit 19. Based on the amount of data after compression, it is determined whether the data should be stored in the compressed RAID configuration or the duplex configuration. Compression RAI
When the D configuration, the data is stored in compressed storage area 52 1 to 52 3 in the same manner as when shown in FIG. 3, the parity data is stored in the parity storage area 53 of the fourth disk device 15 It On the other hand, in the case of storing in a duplicated configuration, the first duplicated storage areas 71 1 to 7 1
1 4, the second redundant storage area 72 1 to 72 4, the data of the initial storage area 51 1 to 51 4 are adapted to be stored is copied without any compression. When copying, a disk device different from the disk device storing the copy source data is selected as the storage destination. Further, the data of each block unit stored in the first duplicated storage area is stored in the second disk of a different disk device.
It is designed to be stored in the redundant storage area of.

【0036】たとえば、第1のディスク装置12の初期
格納エリア511 のブロックデータ“D0 ”は、第2の
ディスク装置13の第1の二重化格納エリア712 と第
3のディスク装置14の第2の二重化格納エリア723
に格納されている。同様に第2のディスク装置12の初
期格納エリア522 のブロックデータ“D1 ”は、第3
のディスク装置14の第1の二重化格納エリア713
第4のディスク装置15の第2の二重化格納エリア72
4 にそれぞれ格納されている。このように巡回的にディ
スク装置をシフトさせてデータを格納することにより、
複写元のディスク装置から読み出したデータを一時的に
格納するバッファメモリを用意しなくてもよいようにな
っている。
For example, the block data “D 0 ” of the initial storage area 51 1 of the first disk device 12 is stored in the first duplicated storage area 71 2 of the second disk device 13 and the block data of the third disk device 14 of the third disk device 14. Redundant storage area 72 3
It is stored in. Similarly, the block data “D 1 ” in the initial storage area 52 2 of the second disk device 12 is the third
First redundant storage area 71 3 of the disk device 14 and second redundant storage area 72 of the fourth disk device 15 of
Stored in 4 , respectively. By thus cyclically shifting the disk device and storing the data,
It is not necessary to prepare a buffer memory for temporarily storing the data read from the copy source disk device.

【0037】図9は、二重化構成と圧縮RAID構成を
選択してデータを格納する際に用いるデータ管理テーブ
ルの登録内容を表わしたものである。データ管理テーブ
ル81は、格納先アドレス82と、データ長83と、属
性84と、読出所要時間85を登録する欄を備えてい
る。格納先アドレス82には、初期格納アドレス86お
よび圧縮格納アドレス87に加えて、第1および第2の
二重化格納エリアでのデータの格納アドレスを登録する
二重化格納アドレス88のいずれかが登録される。ま
た、属性84の欄は“未加工”、“圧縮RAID”に加
えて、データが二重化構成にされて格納されていること
を表わした“二重化構成”が登録されるようになってい
る。読出所要時間85の欄には、二重化構成されたデー
タを読み出す際の読出時間を表わした未圧縮読出時間9
1と、圧縮RAID構成されたデータを読み出す際の読
出時間を表わした圧縮RAID読出時間92とが登録さ
れるようになっている。さらに、これらの時間を比較し
た結果である比較結果93も登録されるようになってい
る。
FIG. 9 shows the registered contents of the data management table used when data is stored by selecting the duplex configuration and the compressed RAID configuration. The data management table 81 includes fields for registering a storage destination address 82, a data length 83, an attribute 84, and a required reading time 85. In the storage destination address 82, in addition to the initial storage address 86 and the compressed storage address 87, one of the duplex storage addresses 88 for registering the storage addresses of the data in the first and second duplex storage areas is registered. Further, in the column of the attribute 84, in addition to “raw” and “compressed RAID”, “duplex configuration” indicating that the data is stored in a duplex configuration is registered. In the column of the required read time 85, the uncompressed read time 9 indicating the read time when reading the duplicated data is shown.
1 and a compressed RAID read time 92 that represents the read time when reading the compressed RAID-structured data are registered. Further, a comparison result 93 which is a result of comparing these times is also registered.

【0038】二重化構成されたデータは第1〜第4のデ
ィスク装置12〜15に分散されている。従って、4台
のディスク装置から並行して読み出すことができるの
で、未圧縮読出時間91は、圧縮前のデータ量と、1ブ
ロック当たりのディスク装置の平均読出時間および分散
して格納するディスク装置の台数を基に求められる。こ
れに対して圧縮RAID構成にする場合には、パリティ
データを格納するディスク装置が1台必要になる。この
ため、残りの3台のディスク装置に圧縮後のデータが分
散されて格納される。したがって、圧縮RAID読出時
間92は圧縮後のデータを3台のディスク装置に分散
し、これらから同時に並行して読み出す場合の読出時間
になる。これは圧縮後のデータ量と平均読出時間と、パ
リティデータ格納用を除く残りのディスク装置の台数か
ら求められる。圧縮によってデータ量がある程度以上減
少しないときは、二重化構成による方が読出所要時間が
短くなることになる。
The duplicated data is distributed to the first to fourth disk devices 12 to 15. Therefore, since the data can be read in parallel from the four disk devices, the uncompressed read time 91 is the amount of data before compression, the average read time of the disk device per block, and the disk device that stores the data in a distributed manner. It is calculated based on the number of vehicles. On the other hand, in the case of the compressed RAID configuration, one disk device for storing the parity data is required. Therefore, the compressed data is distributed and stored in the remaining three disk devices. Therefore, the compressed RAID read time 92 is the read time when the compressed data is distributed to the three disk devices and read from them in parallel at the same time. This is calculated from the amount of data after compression, the average read time, and the number of remaining disk devices other than those for storing parity data. When the amount of data does not decrease to some extent due to compression, the required reading time becomes shorter with the duplex configuration.

【0039】図10は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が書込命令を受信したときに行うフォアグランド
処理の流れを表わしたものである。CPU31はホスト
コンピュータ11から書込命令が送られてくるのを待機
している(ステップS401)。書込命令を受信すると
(ステップS401;Y)、それに続けて送られてくる
データを順次ブロック単位に分割する(ステップS40
2)。分割したデータをそれぞれ第1〜第4のディスク
装置12〜15に分散して格納する(ステップS40
3)。次にCPU31は未圧縮読出時間を求めて、これ
をデータ管理テーブル82に登録する(ステップS40
4)。圧縮処理回路41によって初期格納エリア511
〜514 に格納されたデータを圧縮し、そのデータ量を
圧縮データカウンタ回路42によって計数する(ステッ
プS405)。このとき圧縮後のデータは格納せずに廃
棄する。これはディスク装置に実際に格納するとそれだ
けホストコンピュータ11を書込処理から開放するまで
の時間が長くなってしまうからである。
FIG. 10 shows a flow of foreground processing performed when a disk array control device having a redundant configuration of data by selecting a duplex configuration and a compression RAID configuration receives a write command. The CPU 31 waits for a write command from the host computer 11 (step S401). When the write command is received (step S401; Y), the data sent subsequently is sequentially divided into blocks (step S40).
2). The divided data are distributed and stored in the first to fourth disk devices 12 to 15 (step S40).
3). Next, the CPU 31 obtains the uncompressed read time and registers it in the data management table 82 (step S40).
4). By the compression processing circuit 41, the initial storage area 51 1
Compressing the data stored in the to 51 4 counts the amount of data by compressing the data counter circuit 42 (step S405). At this time, the compressed data is discarded without being stored. This is because the actual storage in the disk device increases the time required for the host computer 11 to be released from the writing process.

【0040】圧縮後のデータ量を基にして、圧縮RAI
D構成でデータを再配置したときの読出時間である圧縮
RAID読出時間を求め、これをデータ管理テーブル8
2に登録する(ステップS406)。CPU31は求め
た未圧縮読出時間と圧縮RAID読出時間とを比較し、
その比較結果をデータ管理テーブル82に登録する(ス
テップS407)。その後、初期格納エリアにおけるデ
ータの格納先アドレスを登録し(ステップS408)、
属性を“未加工”に設定する(ステップS409)。こ
れでフォアグランド処理は終了したので書込完了通知を
ホストコンピュータ11に送出する(ステップS41
0)。CPU31はバックグランド処理を起動し(ステ
ップS411)、フォアグランド処理を終了する(エン
ド)。
Based on the amount of data after compression, the compression RAI
The compressed RAID read time, which is the read time when the data is rearranged in the D configuration, is calculated, and is calculated.
2 is registered (step S406). The CPU 31 compares the obtained uncompressed read time with the compressed RAID read time,
The comparison result is registered in the data management table 82 (step S407). After that, the storage destination address of the data in the initial storage area is registered (step S408),
The attribute is set to "raw" (step S409). Now that the foreground processing has been completed, a write completion notice is sent to the host computer 11 (step S41).
0). The CPU 31 activates the background process (step S411) and ends the foreground process (end).

【0041】図11は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が書込命令を受信したときに行うバックグランド
処理の流れを表わしたものである。バックグランド処理
では、フォアグランド処理で求めた比較結果に従って、
データを冗長構成にして格納することが行われる。ま
ず、CPU31はデータ管理テーブルの比較結果を基
に、二重化構成と圧縮RAID構成のいずれでデータを
冗長構成にして格納すべきかを判断する(ステップS5
01)。比較結果が圧縮RAID読出時間が短いことを
表わしているときは(ステップS501;N)、初期格
納エリア511 〜514 からデータを読み出しこれを圧
縮する(ステップS502)。そして、圧縮後のデータ
を第1〜第3のディスク装置12〜14の圧縮格納エリ
ア521 〜523 に分散して格納する(ステップS50
3)。これら第1〜第3のディスク装置に格納された圧
縮データに対応するパリティデータをパリティ生成回路
44によって生成し(ステップS504)、これを第4
のディスク装置15のパリティ格納エリア53に格納す
る(ステップS505)。データ管理テーブル82の格
納先アドレスを圧縮格納エリアでの格納アドレスに変更
し(ステップS506)、属性を“圧縮RAID”に設
定する(ステップS507)。
FIG. 11 shows a flow of background processing performed when a disk array control device having a redundant configuration of data by selecting a duplex configuration and a compression RAID configuration receives a write command. In the background processing, according to the comparison result obtained in the foreground processing,
Data is stored in a redundant configuration. First, the CPU 31 determines, based on the comparison result of the data management tables, which of the redundant configuration and the compressed RAID configuration should store the data in the redundant configuration (step S5).
01). When the comparison result indicates that short compression RAID read time (step S501; N), reads the data from the initial storage area 51 1 to 51 4 compresses it (step S502). Then, the data after compression dispersed in compressed storage area 52 1 to 52 3 of the first to third disk device 12-14 stores (step S50
3). Parity data corresponding to the compressed data stored in these first to third disk devices is generated by the parity generation circuit 44 (step S504), and this is generated as the fourth data.
The data is stored in the parity storage area 53 of the disk device 15 (step S505). The storage destination address of the data management table 82 is changed to the storage address in the compressed storage area (step S506), and the attribute is set to "compressed RAID" (step S507).

【0042】データ管理テーブル82の比較結果が圧縮
RAID読出時間が短くないことを表わしているときは
(ステップS501;Y)、初期格納エリア511 〜5
4に格納されているデータを第1の二重化格納エリア
711 〜714 に複写して格納する(ステップS50
8)。複写元と複写先のディスク装置の関係は、図8に
示したようにディスク装置を1台分ずつ巡回的にシフト
させている。さらに、初期格納エリア511 〜51 4
のデータをディスク装置を2台分だけ巡回的にシフトさ
せて第2の二重化格納エリア721 〜724 に複写して
格納する(ステップS509)。次に、データ管理テー
ブル82の格納先アドレスを第1および第2の二重化格
納エリアでの格納アドレスに変更し(ステップS51
0)、属性を“二重化構成”に変更する(ステップS5
11)。データを二重化構成あるいは圧縮RAID構成
の何れかによって冗長構成にして格納した後、初期格納
エリア511 〜514 に格納されているデータを消去す
る(ステップS512)。ここでは、実際にデータを消
去せずに、管理テーブル上でその存在を消去している。
When the comparison result of the data management table 82 indicates that the compressed RAID read time is not short (step S501; Y), the initial storage areas 51 1 to 5 1
The data stored in the first 4 are copied to the first redundant storage area 71 1 to 71 4 stores (step S50
8). As for the relationship between the copy source and the copy destination disk devices, the disk devices are cyclically shifted one by one as shown in FIG. Furthermore, the initial storage area 51 1 to 51 4
Data only two minutes by cyclically shifting the disk apparatus of the stores are copied to the second duplexing storage areas 72 1 to 72 4 (step S509). Next, the storage destination address of the data management table 82 is changed to the storage address in the first and second redundant storage areas (step S51).
0), change the attribute to "redundant configuration" (step S5)
11). After storing in the redundancy by either duplicated configuration or compressed RAID configuration data, to erase the data stored in the initial storage area 51 1 to 51 4 (step S512). Here, the existence is deleted on the management table without actually deleting the data.

【0043】図12は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が読出命令を受信したときに行う処理の流れを表
わしたものである。CPU31はホストコンピュータ1
1から読出命令が送られてくるのを待機している(ステ
ップS601)。読出命令を受信すると(ステップS6
01;Y)、読み出すべきデータに対応するデータ管理
テーブルが検索され、その属性が“未加工”であるかど
うかが判断される(ステップS602)。属性が“未加
工”、すなわち未だバックグランド処理で冗長構成にし
てデータの再格納が終了していないときは(ステップS
602;Y)、初期格納エリア511 〜514 からデー
タを読み出しホストコンピュータ11に送出する(ステ
ップS603)。
FIG. 12 shows a flow of processing performed when a disk array control device having a redundant configuration of data by selecting a duplex configuration and a compression RAID configuration receives a read command. CPU 31 is the host computer 1
It waits for a read command to be sent from 1 (step S601). When the read command is received (step S6)
01; Y), the data management table corresponding to the data to be read is searched, and it is determined whether or not the attribute is "raw" (step S602). If the attribute is "raw", that is, if the data has not yet been stored in the background processing in the redundant configuration (step S).
602; Y), is sent from the initial storage area 51 1 to 51 4 to the host computer 11 reads the data (step S603).

【0044】属性が“未加工”でない場合には(ステッ
プS602;N)、“圧縮RAID”であるかどうかが
判断される(ステップS604)。“圧縮RAID”の
場合には、データ管理テーブルの格納先アドレスである
圧縮格納アドレスを基にして、第1〜第3のディスク装
置12〜14の圧縮格納エリア521 〜523 からデー
タを読み出す(ステップS605)。そして読み出した
データを伸長した後、ホストコンピュータ11に送出す
る(ステップS606)。属性が“圧縮RAID”でな
いときは(ステップS604;N)、二重化構成によっ
てデータが格納されていることになる。このときは、デ
ータ管理テーブルの二重化格納アドレスを基にして第1
〜第4のディスク装置12〜15の第1の二重化格納エ
リア71 1 〜714 からデータを読み出す(ステップS
607)。ここでは第1の二重化格納エリア711 〜7
4 からデータを読み出しているが、第2の二重化格納
エリア721 〜724 から読み出してもよい。いずれか
のエリアからデータを読み出してホストコンピュータ1
1に送出したのち、読出完了通知を送出して(ステップ
S608)、処理を終了する(エンド)。
If the attribute is not "raw" (step
S602; N), whether it is "compressed RAID"
It is determined (step S604). Of "compressed RAID"
In this case, it is the storage destination address of the data management table
Based on the compressed storage address, the first to third disk devices are
Compressed storage area 52 of units 12-141~ 523From the day
Data is read (step S605). And read
After decompressing the data, send it to the host computer 11.
(Step S606). The attribute is "compressed RAID"
If not (step S604; N), the redundant configuration
Data is stored. In this case,
First based on the duplicated storage address of the data management table
~ First duplicated storage of the fourth disk unit 12-15
Rear 71 1~ 71FourRead data from (step S
607). Here, the first redundant storage area 711~ 7
1FourData is being read from, but the second redundant storage
Area 721~ 72FourMay be read from. either
Data from the area of the host computer 1
1 and then a read completion notification is sent (step
In step S608, the process ends (end).

【0045】図13は、ディスク装置が故障しデータが
損失してる場合の読出処理におけるデータの流れを模式
的に表わしたものである。図8と同一の部分には同一の
符号を付してその説明を適宜省略する。この図では第2
のディスク装置13が故障し、データが読み出し不可能
になった場合におけるデータの読み出しルートを示して
ある。たとえば、“D0 ”〜“D7 ”のデータを読み出
すものとし、これが二重化構成されて格納されているも
のとする。このとき、第1、第3および第4のディスク
装置12、13、14の第1の二重化格納エリアから
“D0 ”および“D4 ”以外のデータ部分を読み出すこ
とができる。“D0 ”および“D4 ”のデータ部分は、
第3のディスク装置14の第2の二重化格納エリア72
3 の部分から読み出される。
FIG. 13 is a schematic diagram showing the flow of data in the reading process when the disk device fails and data is lost. The same parts as those in FIG. 8 are designated by the same reference numerals, and the description thereof will be omitted as appropriate. 2nd in this figure
3 shows a data read route in the case where the disk device 13 has failed and data cannot be read. For example, "D 0" shall read data ~ "D 7", which is assumed to be stored are duplexed configuration. At this time, the data portion other than "D 0 " and "D 4 " can be read from the first duplicated storage area of the first, third and fourth disk devices 12, 13, 14. The data parts of "D 0 " and "D 4 " are
The second redundant storage area 72 of the third disk device 14
It is read from part 3 .

【0046】データが圧縮RAID構成によって格納さ
れている場合には、第2のディスク装置13の圧縮格納
エリア522 に格納されていたデータを再構成する必要
がある。たとえば、圧縮格納エリア522 の圧縮データ
“F1 ”を再構成する場合には、他のディスク装置のこ
れと対応付けられたブロックのデータ相互間の排他的論
理和をとることによってデータを再構成する。すなわ
ち、第1のディスク装置12のブロックのデータ
“F0 ”と、第3のディスク装置のデータ“F2 ”と、
第4のディスク装置15のパリティデータ“P0 ”のそ
れぞれ対応するビット相互間の排他的論理和をパリティ
生成部22によって演算し、その演算結果が再構成され
たデータになる。そして、第1および第3のディスク装
置12、14から読み出される圧縮データと、パリティ
生成部22によって再生されてた圧縮データとをそれぞ
れ伸長処理部21で伸長してホストコンピュータ11に
送出するようになっている。
When the data is stored in the compressed RAID configuration, it is necessary to reconstruct the data stored in the compressed storage area 52 2 of the second disk device 13. For example, when reconstructing the compressed data “F 1 ” in the compressed storage area 52 2 , the data is reconstructed by taking the exclusive OR between the data of the blocks associated with this of another disk device. Configure. That is, the data “F 0 ” of the block of the first disk device 12 and the data “F 2 ” of the third disk device,
The parity generation unit 22 calculates the exclusive OR between the corresponding bits of the parity data “P 0 ” of the fourth disk device 15, and the calculation result becomes reconstructed data. Then, the compressed data read from the first and third disk devices 12 and 14 and the compressed data reproduced by the parity generation unit 22 are expanded by the expansion processing unit 21 and sent to the host computer 11. Has become.

【0047】図14は、ディスク装置が故障している場
合におけるディスクアレイ制御装置の行う読み出し処理
の流れを表わしたものである。CPU31はホストコン
ピュータ11から読出命令が送られてくるのを待機して
いる(ステップS701)。読出命令を受信すると(ス
テップS701;Y)、読み出すべきデータを格納して
いるディスク装置が正常であるかどうかを調べる(ステ
ップS702)。読み出し不良のディスク装置が無い場
合には(ステップS702;N)、通常の読み出し処理
が行われる(ステップS703)。読み出し不良のディ
スク装置が存在する場合には(ステップS702;
Y)、不良になっているディスク装置が2台以上存在す
るかどうかが調べられる(ステップS704)。不良の
ディスク装置が2台以上存在する場合には(ステップS
704;Y)、二重化構成かつ複製データ保持ディスク
装置がいずれも正常であるときを除き、もはやデータを
正常に読み出すことができないので、所定のエラーコー
ドを送出する(ステップS705)。不良のディスク装
置が1台である場合には(ステップS704;N)、読
み出すべきデータの属性が“未加工”であるかどうかが
調べられる(ステップS706)。属性が“未加工”の
場合には(ステップS706;Y)、データが冗長構成
によって格納されていないので、正常なデータの読み出
しはできない。そこで所定のエラーコードを送出し(ス
テップS705)、処理を終了する。
FIG. 14 shows a flow of a read process performed by the disk array control device when the disk device is out of order. The CPU 31 waits for a read command from the host computer 11 (step S701). When the read command is received (step S701; Y), it is checked whether the disk device storing the data to be read is normal (step S702). If there is no defective disk device (step S702; N), normal read processing is performed (step S703). If there is a disk device that has a read failure (step S702;
Y), it is checked whether there are two or more defective disk devices (step S704). If there are two or more defective disk devices (step S
704; Y), since the data can no longer be read normally except when both the duplicated structure and the duplicate data holding disk device are normal, a predetermined error code is sent (step S705). If there is only one defective disk device (step S704; N), it is checked whether the attribute of the data to be read is "unprocessed" (step S706). When the attribute is "raw" (step S706; Y), since the data is not stored in the redundant configuration, normal data cannot be read. Therefore, a predetermined error code is transmitted (step S705), and the process is terminated.

【0048】属性が“未加工”でない場合には(ステッ
プS706;N)、“圧縮RAID”であるかどうかが
調べられる(ステップS707)。圧縮RAID構成の
場合には(ステップS707;Y)、不良ディスク装置
以外の他の正常なディスク装置からデータを再構成する
(ステップS708)。そして、正常なディスク装置か
ら読み出された圧縮データとパリティ生成回路によって
再構成された圧縮データを伸長処理回路43によって伸
長し(ステップS709)ホストコンピュータ11に送
出する。属性が“圧縮RAID”でない場合には(ステ
ップS707;N)、二重化構成でデータが格納されて
いるので、不良となったディスク装置と同一のデータを
格納している他のディスク装置からそのデータ部分を読
み出す(ステップS710)。さらに、正常なディスク
装置の二重化格納エリアからデータを読み出し(ステッ
プS711)ホストコンピュータ11に送出する。正常
なデータをホストコンピュータ11に送出した場合には
読出完了通知を送出し(ステップS712)、処理を終
了する。
If the attribute is not "raw" (step S706; N), it is checked whether it is "compressed RAID" (step S707). In the case of the compressed RAID configuration (step S707; Y), data is reconfigured from a normal disk device other than the defective disk device (step S708). Then, the compressed data read from the normal disk device and the compressed data reconstructed by the parity generation circuit are expanded by the expansion processing circuit 43 (step S709) and sent to the host computer 11. If the attribute is not "compressed RAID" (step S707; N), the data is stored in a duplicated configuration, so the data is stored in another disk device that stores the same data as the defective disk device. The part is read (step S710). Further, the data is read from the redundant storage area of the normal disk device (step S711) and sent to the host computer 11. When normal data is sent to the host computer 11, a read completion notice is sent (step S712), and the process ends.

【0049】第2の変形例 Second Modification

【0050】初期格納エリアにおける1ブロック分のデ
ータを圧縮して圧縮格納エリアの1つのブロックに格納
すると、各ブロックには空き領域が生じることになる。
そこで、第2の変形例ではこの空き領域が生じないよう
にデータを詰めて配置するようにし、圧縮RAID構成
での記憶可能なデータ量を増加させている。回路構成は
図2に示したものと同一であるのでその説明は省略す
る。
When data for one block in the initial storage area is compressed and stored in one block in the compressed storage area, an empty area is generated in each block.
Therefore, in the second modified example, the data is packed and arranged so that this free area does not occur, and the amount of data that can be stored in the compressed RAID configuration is increased. Since the circuit configuration is the same as that shown in FIG. 2, its description is omitted.

【0051】図15は、第2の変形例のディスクアレイ
制御装置において空き領域の詰められる様子を表わした
ものである。初期格納エリア1011 〜1015 の各ブ
ロックにはそれぞれ圧縮される前のデータとして
“D0 ”〜“D4 ”が格納されている。それぞれのブロ
ックごとのデータを圧縮すると、そのデータ量が減少
し、図中“C0 ”〜“C4 ”で表された圧縮データ10
1 〜1025 になる。各圧縮データ1021 〜102
4 の最後尾には所定のエンドコードが付され、それ以降
が空き状態になっていることが表されている。図中の斜
線部分は圧縮によって各ブロックに生じた空き領域であ
る。圧縮データC0 〜C4 (1021 〜1025)は、
それぞれエンドコードが削除され、C0 から順に別の領
域に連続的に配置される。そしてその最後にエンドコー
ドが付加された連続圧縮データ103になる。連続圧縮
データ103の先頭から1ブロックのサイズごとのデー
タ1041、1042 が第1〜第3のディスク装置の圧
縮格納エリアに格納されるようになっている。
FIG. 15 shows how the disk array control device of the second modified example is filled with empty areas. Initial storage in each block area 101 1 to 101 5 is stored is "D 0" ~ "D 4 " as the data before being compressed, respectively. When the data for each block is compressed, the amount of data decreases, and the compressed data 10 represented by "C 0 " to "C 4 " in the figure
It becomes 2 1 to 10 25 . Each compressed data 102 1 to 102
A predetermined end code is attached to the end of 4 , indicating that the rest is empty. The shaded areas in the figure are empty areas generated in each block by compression. The compressed data C 0 to C 4 (102 1 to 102 5 ) are
The end code is deleted from each, and they are sequentially arranged in different areas in order from C 0 . Then, it becomes the continuous compressed data 103 to which the end code is added at the end. Data 104 1 and 104 2 for each block size from the beginning of the continuous compressed data 103 are stored in the compressed storage areas of the first to third disk devices.

【0052】図16は、第2の変形例のディスクアレイ
制御装置がデータを書き込むときに行うバックグランド
処理の流れを表わしたものである。この処理は、図5に
示したフォアグランド処理の後に行われる。CPU31
は第1〜第4のディスク装置12〜15の初期格納エリ
アに格納されているデータをブロック単位に読み出し圧
縮処理回路41によって圧縮する(ステップS80
1)。圧縮後のデータは第1〜第3のディスク装置の所
定のワークエリアに分散して格納される(ステップS8
02)。CPU31はワークエリアの各ブロックに生じ
た空き領域部分を詰めて、第4のディスク装置15のワ
ークエリアに連続したデータとして再配置する(ステッ
プS803)。第4のディスク装置のワークエリアのデ
ータをブロック単位に読み出し、これを第1から第3の
ディスク装置12〜14の圧縮格納エリア521 〜52
3 に分散して格納する(ステップS804)。これら第
1〜第3のディスク装置の圧縮格納エリア521 〜52
3 のデータに対応するパリティデータをパリティ生成回
路44によって作成する(ステップS805)。第4の
ディスク装置のパリティ格納領域53にこれを格納し
(ステップS806)、処理を終了する(エンド)。図
16ではデータ管理テーブルの格納先アドレスおよび属
性の変更は省略してあるが、図6の流れ図に示したと同
様に行われる。
FIG. 16 shows the flow of background processing performed when the disk array control device of the second modification writes data. This process is performed after the foreground process shown in FIG. CPU31
Reads the data stored in the initial storage areas of the first to fourth disk devices 12 to 15 in block units and compresses it by the compression processing circuit 41 (step S80).
1). The compressed data is distributed and stored in predetermined work areas of the first to third disk devices (step S8).
02). The CPU 31 fills the empty area portion generated in each block of the work area and rearranges it as continuous data in the work area of the fourth disk device 15 (step S803). The data in the work area of the fourth disk device is read in block units, and this is read out as compressed storage areas 52 1 to 52 1 of the first to third disk devices 12 to 14.
The data is distributed to 3 and stored (step S804). Compressed storage areas 52 1 to 52 of these first to third disk devices
Parity data corresponding to the data of 3 is created by the parity generation circuit 44 (step S805). This is stored in the parity storage area 53 of the fourth disk device (step S806), and the process ends (end). Although the change of the storage destination address and the attribute of the data management table is omitted in FIG. 16, it is performed in the same manner as shown in the flowchart of FIG.

【0053】図17は、第2の変形例のディスクアレイ
制御装置の内部におけるデータの流れを模式的に表わし
たものである。図3と同一の部分には同一の符号を付し
てその説明を省略する。初期格納エリア511 〜514
の各ブロックのデータは圧縮処理部18によってブロッ
ク単位に圧縮される。圧縮後のデータはパリティデータ
を格納する第4のディスク装置15を除く残り3台のデ
ィスク装置に格納される。このとき圧縮後のデータがそ
の圧縮前のデータの格納されたディスク装置と異なるデ
ィスク装置に格納されるようになっている。たとえば、
第1のディスク装置12の初期格納エリア511 にある
データ“D0 ”の圧縮後のデータ“C0”は、第2のデ
ィスク装置13のワークエリア1112 に格納されてい
る。それぞれのディスク装置のワークエリアの各ブロッ
クは、図15に示したように空き領域が生じている。こ
れらの圧縮データは第4のディスク装置のワークエリア
112に連続して格納される。第1〜第3のディスク装
置から第4のディスク装置にデータは複写されるので、
読み出したデータを一時的に格納するバッファメモリは
不要になっている。
FIG. 17 schematically shows the data flow inside the disk array control device of the second modification. The same parts as those in FIG. 3 are designated by the same reference numerals and the description thereof will be omitted. Initial storage area 51 1 to 51 4
The data of each block is compressed by the compression processing unit 18 in block units. The compressed data is stored in the remaining three disk devices except the fourth disk device 15 which stores the parity data. At this time, the data after compression is stored in a disk device different from the disk device in which the data before compression is stored. For example,
The compressed data “C 0 ” of the data “D 0 ” in the initial storage area 51 1 of the first disk device 12 is stored in the work area 111 2 of the second disk device 13. Each block in the work area of each disk device has an empty area as shown in FIG. These compressed data are continuously stored in the work area 112 of the fourth disk device. Since the data is copied from the first to third disk devices to the fourth disk device,
A buffer memory for temporarily storing the read data is no longer necessary.

【0054】第4のディスク装置15のワークエリア1
12に、連続的に格納されたデータは、1ブロックごと
に、第1〜第3のディスク装置12〜14の圧縮格納エ
リア521 〜524 に分散して格納される。パリティ生
成部22によってこれらのデータに対応するパリティデ
ータが作成されて第4のディスク装置15のパリティ格
納エリア53に格納される。この時点で初期格納エリア
511 〜514 のデータおよびワークエリア1111
1113 、112に格納されているデータが消去される
ようになっている。このようにデータを詰めて圧縮RA
IDで格納するここによって、ディスクアレイ装置の記
憶容量を増加させることができる。
Work area 1 of the fourth disk device 15
12, the data stored continuously, for each one block, is stored dispersed in the first to third disk device compressed storage area 52 1 to 52 4 12 to 14. Parity data corresponding to these data is created by the parity generation unit 22 and stored in the parity storage area 53 of the fourth disk device 15. Initial storage area 51 at this point 1-51 4 data and the work area 111 1
The data stored in 111 3 and 112 are erased. In this way, data is packed and compressed RA
By storing the ID, the storage capacity of the disk array device can be increased.

【0055】第3の変形例 Third Modification

【0056】第3の変形例のディスクアレイ制御装置で
は、圧縮方式の異なる圧縮処理回路および伸長処理回路
を複数用意し、最も圧縮率の高い圧縮方式によってデー
タを圧縮して格納するようになっている。
In the disk array control device of the third modification, a plurality of compression processing circuits and decompression processing circuits having different compression methods are prepared, and the data is compressed and stored by the compression method having the highest compression rate. There is.

【0057】図18は、第3の変形例のディスクアレイ
制御装置における圧縮処理回路部分の回路構成の概要を
表わしたものである。圧縮処理回路および伸長処理回路
以外の部分の回路構成は図2に示したものと同一であり
その説明を省略する。図2において第5のSCSIコン
トローラ39から出力されるデータはローカル・バス4
5通じて圧縮処理回路に送られるようになっている。ラ
ンレングス圧縮回路121には、第1のFIFO(Firs
t In First Out)メモリ122を介して圧縮前のデータ
が入力されるようになっている。ランレングス圧縮回路
121は、入力される2値データが変化するごとに、同
一の値が継続していたビット数を、2進符号によって表
現した符号を出力する回路である。MMR(拡張モディ
ファイドリード)圧縮回路123には、第2のFIFO
メモリ124を通じて圧縮前のデータが、ディザ用圧縮
回路125には第3のFIFOメモリ126を介して圧
縮前のデータがそれぞれ入力されている。
FIG. 18 shows an outline of the circuit configuration of the compression processing circuit portion in the disk array control device of the third modified example. The circuit configuration other than the compression processing circuit and the decompression processing circuit is the same as that shown in FIG. 2, and the description thereof is omitted. In FIG. 2, the data output from the fifth SCSI controller 39 is the local bus 4
It is adapted to be sent to the compression processing circuit through 5 lines. The run-length compression circuit 121 includes a first FIFO (Firs
The data before compression is input via the memory 122. The run-length compression circuit 121 is a circuit that outputs a code in which the number of bits in which the same value has continued is expressed by a binary code every time the input binary data changes. The MMR (extended modified read) compression circuit 123 has a second FIFO.
The data before compression is input through the memory 124, and the data before compression is input through the third FIFO memory 126 to the dither compression circuit 125.

【0058】MMR圧縮回路123は、データの縦横の
関連例を利用して圧縮する圧縮回路で、特に文字などが
描かれた画像データの圧縮に好適である。ディザ用圧縮
回路125は、ディザマトリクスによって擬似的に多階
調表現された画像データの圧縮に好適な圧縮回路であ
る。これらの圧縮回路121、123、125の出力
は、ローカル・バス45に接続されている。また、それ
ぞれに圧縮後のデータ量を計数するビットカウンタ12
7が設けられている。ビットカウンタ127によって圧
縮後のデータ量を計数し、圧縮率の最も高い圧縮回路が
選択されるようになっている。リード・ライト制御回路
128は、圧縮処理回路の各回路部分の動作を制御する
制御回路である。
The MMR compression circuit 123 is a compression circuit that compresses data using vertical and horizontal related examples, and is particularly suitable for compression of image data in which characters and the like are drawn. The dither compression circuit 125 is a compression circuit suitable for compressing image data that is pseudo-multi-tone expressed by a dither matrix. The outputs of these compression circuits 121, 123, 125 are connected to the local bus 45. In addition, a bit counter 12 that counts the amount of data after compression
7 are provided. The bit counter 127 counts the amount of data after compression, and the compression circuit with the highest compression rate is selected. The read / write control circuit 128 is a control circuit that controls the operation of each circuit portion of the compression processing circuit.

【0059】図19は、第3の変形例のディスクアレイ
制御装置における伸長処理回路部分の回路構成の概要を
表わしたものである。伸長処理回路は、ランレングス伸
長回路131と、MMR伸長回路132と、ディザ用伸
長回路133およびこれらの動作の制御を行うリード・
ライト制御回路134とから構成されている。それぞ
れ、図18に示した3つの圧縮回路121、123、1
25に対応した伸長回路になっている。
FIG. 19 shows an outline of the circuit configuration of the expansion processing circuit portion in the disk array control device of the third modified example. The decompression processing circuit includes a run length decompression circuit 131, an MMR decompression circuit 132, a dither decompression circuit 133, and a read / write control circuit for controlling the operations of these circuits.
And a write control circuit 134. Each of the three compression circuits 121, 123, 1 shown in FIG.
It is an expansion circuit corresponding to 25.

【0060】図20は、第3の変形例のディスクアレイ
制御装置のバックグランド処理におけるデータの流れを
模式的に表わしたものである。図8と同一の部分には同
一の符号を付してその説明を適宜省略する。フォアグラ
ンド処理によって初期格納エリア511 〜514 に格納
されたデータは、第1〜第3の圧縮回路141〜143
によって同時に並行して圧縮される。圧縮された後の
データ量はそれぞれビットカウンタ144によって計数
される。計数結果は比較回路145によって比較され
て、圧縮率の最も高い圧縮回路が選択されるようになっ
ている。選択された圧縮回路によって圧縮されたデータ
は第1〜第3のディスク装置12〜14の圧縮格納エリ
ア521 〜523 にそれぞれ格納され、これに対応する
パリティデータがパリティ生成部22によって作成され
るようになっている。作成されたパリティデータは第4
のディスク装置15のパリティ格納エリア53に格納さ
れるようになっている。
FIG. 20 schematically shows the data flow in the background processing of the disk array controller of the third modification. The same parts as those in FIG. 8 are designated by the same reference numerals, and the description thereof will be omitted as appropriate. The data stored in the initial storage area 51 1 to 51 4 by foreground process, the first to third compression circuit 141 to 143
Are compressed in parallel at the same time. The amount of data after being compressed is counted by the bit counter 144. The counting results are compared by the comparison circuit 145 so that the compression circuit having the highest compression rate is selected. Data compressed by the selected compression circuit are respectively stored in the compressed storage area 52 1 to 52 3 of the first to third disk device 12 to 14, the parity data is generated by the parity generator 22 corresponding thereto It has become so. The parity data created is the fourth
The data is stored in the parity storage area 53 of the disk device 15.

【0061】図21は、第3の変形例のディスクアレイ
制御装置でのデータ管理テーブルの登録内容を表わした
ものである。ただし、格納先アドレス、データ長、属性
部分については図9に示したデータ管理テーブルと同様
であるのでその記載を省略してある。3つの圧縮回路を
備えていることから、データ管理テーブル151には、
圧縮方式を登録するための欄152が設けられている。
最小圧縮RAID読出時間の欄153は、最も圧縮率の
高い圧縮方式でデータを圧縮して格納した場合における
読出所要時間を登録するようになっている。
FIG. 21 shows the registered contents of the data management table in the disk array controller of the third modification. However, since the storage destination address, the data length, and the attribute portion are the same as those in the data management table shown in FIG. 9, their description is omitted. Since the data management table 151 includes three compression circuits,
A field 152 for registering the compression method is provided.
The minimum compressed RAID read time column 153 registers the required read time when the data is compressed and stored by the compression method with the highest compression rate.

【0062】図22は、第3の変形例のディスクアレイ
制御装置が圧縮方式を選択するときに行う処理の流れを
表わしたものである。CPU31は初期格納エリア51
1 〜514 に格納されているデータの圧縮するための指
示を3つの圧縮回路121、123、125に同時に出
力し、データの圧縮を行わせる(ステップS901)。
圧縮処理が終了した時点で、それぞれの圧縮回路に接続
されているビットカウンタ127の計数値を比較し、最
も圧縮率の高い圧縮回路を選択する(ステップS90
2)。選択された圧縮回路の圧縮方式をデータ管理テー
ブル151に登録する(ステップS903)。その後、
圧縮RAID構成に再配置してデータを格納した場合に
おける読出所要時間を求め、これをデータ管理テーブル
151に最小圧縮RAID読出時間153として登録す
る(ステップS904)。
FIG. 22 shows the flow of processing performed when the disk array control device of the third modified example selects the compression method. CPU 31 has an initial storage area 51
1 simultaneously output to 51 4 instructions for compressing the data that is stored in the three compression circuits 121, 123, 125, to perform compression of the data (step S901).
When the compression process is completed, the count values of the bit counter 127 connected to the respective compression circuits are compared, and the compression circuit with the highest compression rate is selected (step S90).
2). The compression method of the selected compression circuit is registered in the data management table 151 (step S903). afterwards,
The required reading time when the data is stored by rearranging it in the compressed RAID configuration is calculated and registered as the minimum compressed RAID reading time 153 in the data management table 151 (step S904).

【0063】このように、圧縮率の高い圧縮方式を複数
の圧縮方式の中から選択することによって、データ量が
効率良く減りディスクアレイ装置に記憶できる記憶容量
を見掛け上増やすことができる。また、データ量が減少
すればそれだけ読出所要時間の短縮を図ることができ、
スループットの高いディスクアレイ装置を得ることがで
きる。
In this way, by selecting a compression method having a high compression rate from a plurality of compression methods, the amount of data can be efficiently reduced and the storage capacity that can be stored in the disk array device can be apparently increased. Also, if the amount of data decreases, the time required for reading can be shortened accordingly.
A disk array device with high throughput can be obtained.

【0064】以上説明した実施例および第1〜第3の変
形例では、4台のディスク装置を接続しているが、ディ
スク装置の台数はこれに限られるものではない。圧縮R
AID構成にする場合には最低3台のディスク装置があ
ればよい。また、二重化構成にしてデータを格納すると
きは、初期格納エリアからデータを第1および第2の二
重化格納エリアに複写し、初期格納エリアのデータを消
去するようにしている。これを第1あるいは第2の二重
化格納エリアのいずれか一方だけに複写し、初期格納エ
リアを消去せず、二重化格納エリアと初期格納エリアに
よってデータを二重化構成にして格納しても良い。
In the above-described embodiment and the first to third modifications, four disk devices are connected, but the number of disk devices is not limited to this. Compression R
In the case of the AID configuration, at least three disk devices are required. Also, when storing data in a duplicated configuration, the data is copied from the initial storage area to the first and second duplicated storage areas and the data in the initial storage area is erased. It is also possible to copy this to only one of the first and second duplicate storage areas and not erase the initial storage area, and store the data in a duplicated configuration by the duplicate storage area and the initial storage area.

【0065】また、第1〜第3の変形例では、読出所要
時間の算出を、初期格納エリアに格納するときに同時に
行うようにしている。ディスク装置に格納するよりも圧
縮処理に時間がかかる場合には、圧縮処理や読出所要時
間を算出する処理をすべてバックグランド処理で行うよ
うにしてもよい。また、二重化構成によってデータを格
納するとき、ディスク装置を巡回的にシフトさせるよう
にしたが、複写元のディスク装置と複写先のディスク装
置が異なれば良く必ずしも巡回的にシフトさせる必要は
ない。また、圧縮RAID構成でデータを格納するとき
も、圧縮前のデータを格納しているディスク装置とこれ
を圧縮した後のデータを格納するディスク装置を異なら
せるこによって中間のバッファメモリを小さくあるいは
省略することができる。
Further, in the first to third modifications, the required reading time is calculated at the same time when it is stored in the initial storage area. If the compression processing takes longer than the storage time in the disk device, the compression processing and the processing for calculating the required reading time may be all performed in the background processing. Further, when the data is stored by the redundant configuration, the disk device is cyclically shifted, but it is not always necessary to cyclically shift it as long as the copy source disk device and the copy destination disk device are different. Also, when storing data in a compressed RAID configuration, the intermediate buffer memory can be made smaller or omitted by making the disk device storing the data before compression different from the disk device storing the data after compression. can do.

【0066】このほか、第3の変形例では、圧縮回路を
3つ用意しているが、圧縮回路の数はこれにかぎるもの
ではない。また圧縮方式は、どのようなものであっても
よい。
Besides, although three compression circuits are prepared in the third modification, the number of compression circuits is not limited to this. Any compression method may be used.

【0067】[0067]

【発明の効果】以上説明したように請求項1記載の発明
によれば、書き込むべきデータを複数のディスク装置に
分散して格納した時点で書込完了通知を送出し、その
後、データを冗長構成にして再格納している。これによ
り、書込命令を発した上位装置を短時間で書込処理から
開放することができる。
As described above, according to the first aspect of the invention, the write completion notice is sent at the time when the data to be written is distributed and stored in a plurality of disk devices, and then the data is redundantly configured. And store it again. As a result, the host device that has issued the write command can be released from the writing process in a short time.

【0068】また請求項2記載の発明によれば、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納している。そして、再格納する処理が終
了する前に、読出命令を受けたときは、当初、分散して
格納した領域からデータを読み出すようにしている。こ
れにより、冗長構成にしてデータを再格納する処理の途
中であっても、データの読み出しを行うことができる。
According to the second aspect of the present invention, when the data to be written is distributed and stored in a plurality of disk devices, a write completion notice is sent, and then the data is made redundant and re-stored. There is. When a read command is received before the re-storing process is completed, the data is initially read from the dispersedly stored areas. As a result, the data can be read even during the process of re-storing the data in the redundant configuration.

【0069】さらに請求項3記載の発明によれば、同時
に並行して読み出すディスク装置の台数が1台分少なく
なっても、圧縮により読出時間が未圧縮のデータを全て
のディスク装置に分散格納した場合よりも短くなると
き、圧縮後のデータをRAID構成にして格納してい
る。また、圧縮しても読出時間が未圧縮のデータを全て
のディスク装置に分散格納したときよりも低減しないと
きは、データを二重化構成にして格納している。これに
より、ディスク装置の読出時におけるスループットは、
二重化構成にした場合よりも低下することがない。すな
わち、二重化構成にした場合に要求されるスループット
を満たすことができるだけの台数のディスク装置を用意
すればよい。また、二重化構成にする場合よりも高いス
ループットが得られるときはRAID構成にしてデータ
を格納している。このため、冗長度を小さくしてデータ
を格納することができ、全て二重化構成で格納する場合
に比べディスクアレイ装置に記憶できる実効のデータ量
を増やすことができる。
Further, according to the third aspect of the invention, even if the number of disk devices read in parallel at the same time decreases by one, the data whose read time is not compressed is distributed and stored in all the disk devices due to compression. When it becomes shorter than the case, the compressed data is stored in the RAID configuration. Further, when compressed data does not decrease as compared with the case where uncompressed read time is stored in all disk devices even if compressed, the data is stored in a duplicated structure. As a result, the throughput at the time of reading the disk device is
It does not decrease as compared with the case of the duplex configuration. That is, it is only necessary to prepare the number of disk devices that can satisfy the throughput required in the case of the redundant configuration. Further, when higher throughput is obtained than in the case of using the duplex configuration, the RAID configuration is used to store data. Therefore, it is possible to reduce the redundancy and store the data, and it is possible to increase the effective amount of data that can be stored in the disk array device as compared with the case where all the data are stored in the redundant configuration.

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

【図1】 本願発明の一実施例におけるディスクアレイ
装置を用いたデータ記憶システムの構成の概要を表わし
たブロック図である。
FIG. 1 is a block diagram showing an outline of a configuration of a data storage system using a disk array device according to an embodiment of the present invention.

【図2】 図1に示したディスクアレイ制御装置の回路
構成の概要を表わしたブロック図である。
FIG. 2 is a block diagram showing an outline of a circuit configuration of the disk array control device shown in FIG.

【図3】 ディスクアレイ制御装置の内部でのデータの
流れを模式的に表わした説明図である。
FIG. 3 is an explanatory diagram that schematically shows the flow of data inside the disk array control device.

【図4】 ディスクアレイ装置におけるデータの格納先
を管理するためのデータ管理テーブルの登録内容を表わ
した説明図である。
FIG. 4 is an explanatory diagram showing registered contents of a data management table for managing a storage destination of data in the disk array device.

【図5】 データの書込命令を受信したときにディスク
アレイ制御装置の行うフォアグランド処理の流れを表わ
した流れ図である。
FIG. 5 is a flow chart showing a flow of foreground processing performed by the disk array control device when a data write command is received.

【図6】 データの書込命令を受信したときにディスク
アレイ制御装置の行うバックグランド処理の流れを表わ
した流れ図である。
FIG. 6 is a flow chart showing the flow of background processing performed by the disk array control device when a data write command is received.

【図7】 読出命令を受信したときにディスクアレイ制
御装置の行う処理の流れを表わした流れ図である。
FIG. 7 is a flowchart showing the flow of processing performed by the disk array control device when a read command is received.

【図8】 第1の変形例のディスクアレイ装置における
データの流れを模式的に表わした説明図である。
FIG. 8 is an explanatory diagram schematically showing a data flow in a disk array device of a first modified example.

【図9】 二重化構成と圧縮RAID構成を選択してデ
ータを格納する際に用いるデータ管理テーブルの登録内
容を表わした説明図である。
FIG. 9 is an explanatory diagram showing registration contents of a data management table used when data is stored by selecting a duplex configuration and a compression RAID configuration.

【図10】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が書
込命令を受信したときに行うフォアグランド処理の流れ
を表わした流れ図である。
FIG. 10 is a flowchart showing a flow of a foreground process performed when a disk array control device having a redundant configuration of data by selecting a duplex configuration and a compression RAID configuration receives a write command.

【図11】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が書
込命令を受信したときに行うバックグランド処理の流れ
を表わした流れ図である。
FIG. 11 is a flowchart showing a flow of background processing performed when a disk array control device having a redundant configuration of data by selecting a duplex configuration and a compression RAID configuration receives a write command.

【図12】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が読
出命令を受信したときに行う処理の流れを表わした流れ
図である。
FIG. 12 is a flow chart showing a flow of processing performed when a disk array control device that selects a duplex configuration and a compression RAID configuration and has a data redundancy configuration receives a read command.

【図13】 ディスク装置が故障しデータが損失してる
場合の読出処理におけるデータの流れを模式的に表わし
た説明図である。
FIG. 13 is an explanatory diagram schematically showing a data flow in a reading process when a disk device fails and data is lost.

【図14】 ディスク装置が故障している場合における
ディスクアレイ制御装置の行う読み出し処理の流れを表
わした流れ図である。
FIG. 14 is a flowchart showing the flow of a read process performed by the disk array control device when the disk device is out of order.

【図15】 第2の変形例のディスクアレイ制御装置に
おいて空き領域の詰められる様子を表わした説明図であ
る。
FIG. 15 is an explanatory diagram showing how empty areas are filled in a disk array control device of a second modified example.

【図16】 第2の変形例のディスクアレイ制御装置が
データを書き込むときに行うバックグランド処理の流れ
を表わした流れ図である。
FIG. 16 is a flowchart showing the flow of background processing performed when the disk array control device of the second modified example writes data.

【図17】 第2の変形例のディスクアレイ制御装置の
内部におけるデータの流れを模式的に表わした説明図で
ある。
FIG. 17 is an explanatory diagram schematically showing the flow of data inside the disk array control device of the second modified example.

【図18】 第3の変形例のディスクアレイ制御装置に
おける圧縮処理回路の回路構成の概要を表わしたブロッ
ク図である。
FIG. 18 is a block diagram showing an outline of a circuit configuration of a compression processing circuit in a disk array control device of a third modified example.

【図19】 第3の変形例のディスクアレイ制御装置に
おけるバックグランド処理におけるデータの流れを模式
的に表わした説明図である。
FIG. 19 is an explanatory diagram schematically showing a data flow in background processing in the disk array control device of the third modified example.

【図20】 第3の変形例のディスクアレイ制御装置に
おけるバックグランド処理におけるデータの流れを模式
的に表わした説明図である。
FIG. 20 is an explanatory diagram schematically showing a data flow in background processing in a disk array control device of a third modified example.

【図21】 第3の変形例のディスクアレイ制御装置に
おいて作成されるデータ管理テーブルの登録内容を表わ
した説明図である。
FIG. 21 is an explanatory diagram showing registered contents of a data management table created in the disk array control device of the third modified example.

【図22】 第3の変形例のディスクアレイ制御装置が
圧縮方式を選択するときに行う処理の流れを表わした流
れ図である。
FIG. 22 is a flowchart showing the flow of processing performed when the disk array control device of the third modified example selects a compression method.

【図23】 パリティデータによって損壊したデータを
再構成するディスク装置におけるデータの流れを表わし
た説明図である。
FIG. 23 is an explanatory diagram showing a data flow in a disk device that reconstructs data damaged by parity data.

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

11…ホストコンピュータ、12〜15…ディスク装
置、17、23…入出力制御部、18…圧縮処理部、1
9…圧縮データカウント部、21…伸長処理部、22…
パリティ生成部、31…CPU、32…バス、33…R
OM、34…RAM、35〜39…SISCコントロー
ラ、41…圧縮処理回路、42…圧縮データカウント回
路、43…伸長処理回路、44…パリティ生成回路、4
5…ローカル・バス、51…初期格納エリア、52…圧
縮格納エリア、53…パリティ格納エリア、71、72
…二重化格納エリア
11 ... Host computer, 12-15 ... Disk device, 17, 23 ... Input / output control unit, 18 ... Compression processing unit, 1
9 ... Compressed data counting unit, 21 ... Decompression processing unit, 22 ...
Parity generator, 31 ... CPU, 32 ... Bus, 33 ... R
OM, 34 ... RAM, 35-39 ... SISC controller, 41 ... Compression processing circuit, 42 ... Compressed data counting circuit, 43 ... Decompression processing circuit, 44 ... Parity generation circuit, 4
5 ... Local bus, 51 ... Initial storage area, 52 ... Compressed storage area, 53 ... Parity storage area, 71, 72
… Redundant storage area

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
データ入力手段と、 この書込データ入力手段から入力されたデータを前記複
数のディスク装置に振り分けて格納する分散格納手段
と、 この分散格納手段によるデータの格納が終了した時点で
書き込みの終了を表わした所定の書込完了通知を送出す
る書込完了通知送出手段と、 この書込完了通知送出手段によって書込完了通知が送出
された後前記分散格納手段によって格納されたデータを
冗長構成にして前記複数のディスク装置に再格納する冗
長構成格納手段とを具備することを特徴とするディスク
アレイ装置。
1. A plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and data input from the write data input means are distributed to the plurality of disk devices and stored. The distributed storage means, the writing completion notification sending means for sending a predetermined writing completion notification indicating the end of writing when the data storage by the distributed storage means is completed, and the writing completion notification sending means. A disk array device, comprising: a redundant configuration storage unit for storing the data stored by the distributed storage unit in a redundant configuration and re-storing the data in the plurality of disk devices after a write completion notice is sent.
【請求項2】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
データ入力手段と、 この書込データ入力手段から入力されたデータを前記複
数のディスク装置に振り分けて格納する分散格納手段
と、 この分散格納手段によるデータの格納が終了した時点で
書き込みの終了を表わした所定の書込完了通知を送出す
る書込完了通知送出手段と、 この書込完了通知送出手段によって書込完了通知が送出
された後前記分散格納手段によって格納されたデータを
冗長構成にして前記複数のディスク装置に再格納する冗
長構成格納手段と、 データの読出命令を受信する読出命令受信手段と、 この読出命令受信手段によって読出命令が受信された時
点で読み出すべきデータが前記冗長構成格納手段により
冗長構成されて再格納されていないときは前記分散格納
手段により格納されたデータを読み出す読出手段とを具
備することを特徴とするディスクアレイ装置。
2. A plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and data input from the write data input means are distributed to the plurality of disk devices and stored. The distributed storage means, the writing completion notification sending means for sending a predetermined writing completion notification indicating the end of writing when the data storage by the distributed storage means is completed, and the writing completion notification sending means. Redundant configuration storage means for making the data stored by the distributed storage means redundant and storing it again in the plurality of disk devices after a write completion notice is sent, and read command receiving means for receiving a data read command. , The data to be read at the time when the read command is received by the read command receiving means is redundantly configured by the redundant configuration storing means and re-reproduced. A disk array device comprising: a reading means for reading the data stored by the distributed storage means when the data is not stored.
【請求項3】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
データ入力手段と、 この書込データ入力手段から入力されたデータを前記デ
ィスク装置に分散して格納したときこれらのディスク装
置から同時に並行してこのデータを読み出すのに必要な
読出時間を求める第1の読出時間割出手段と、 前記書込データ入力手段から入力されたデータを圧縮す
る圧縮手段と、 この圧縮手段によって圧縮された後のデータを前記複数
のディスク装置のうち所定の1台を除くディスク装置に
分散して格納したときこれらのディスク装置から同時に
並行してこの圧縮後のデータを読み出すのに必要な読出
時間を求める第2の読出時間割出手段と、 前記第1の読出時間割出手段によって求めた読出時間が
この第2の読出時間割出手段によって求めた読出時間よ
りも短いかあるいは等しいとき前記書込データ入力手段
から入力されたデータを前記ディスク装置に分散させて
格納する第1の分散格納手段と、 前記書込データ入力手段から入力されたデータをこの第
1の分散格納手段とその格納先のディスク装置を変えて
分散させて格納する第2の分散格納手段と、 前記第2の読出時間割出手段によって求めた読出時間が
前記第1の読出時間割出手段によって求めた読出時間よ
りも短いとき前記圧縮手段によって圧縮された後のデー
タを前記所定の1台を除くディスク装置に分散させて格
納する第3の分散格納手段と、 この第3の分散格納手段によってデータの格納されたデ
ィスク装置のうちいずれか1台が読出不能になったとき
これに格納されたデータを再構成するための誤り訂正符
号を生成する誤り訂正符号生成手段と、 この誤り訂正符号生成手段によって生成された誤り訂正
符号を前記所定の1台のディスク装置に格納する誤り訂
正符号格納手段とを具備することを特徴とするディスク
アレイ装置。
3. A plurality of disk devices, write data input means for inputting data to be stored in these disk devices, and data input from the write data input means are distributed and stored in the disk devices. At this time, first read time indexing means for obtaining a read time required to read this data simultaneously and in parallel from these disk devices, and compression means for compressing the data input from the write data input means, When the data after being compressed by the compressing means is distributed and stored in the disk devices other than the predetermined one among the plurality of disk devices, it is possible to read the data after the compression in parallel from these disk devices at the same time. A second read time indexing means for determining a required read time, and a read time calculated by the first read time indexing means for the second read time. First distributed storage means for storing the data input from the write data input means in a distributed manner in the disk device when the read time is shorter than or equal to the read time obtained by the indexing means, and the write data input means Second distributed storage means for storing the data input from the first distributed storage means and the storage device in which the data is distributed by changing the storage device, and the read time obtained by the second read time indexing means. Third distributed storage means for storing the data after being compressed by the compression means when the read time is shorter than the read time obtained by the first read time indexing means, by distributing the data to disk devices other than the predetermined one. When any one of the disk devices in which the data is stored by the third distributed storage means becomes unreadable, the data stored therein is reconstructed. And an error correction code storage unit for storing the error correction code generated by the error correction code generation unit in the predetermined one disk device. Disk array device characterized by.
JP6255813A 1994-10-20 1994-10-20 Disk array device Pending JPH08123627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6255813A JPH08123627A (en) 1994-10-20 1994-10-20 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6255813A JPH08123627A (en) 1994-10-20 1994-10-20 Disk array device

Publications (1)

Publication Number Publication Date
JPH08123627A true JPH08123627A (en) 1996-05-17

Family

ID=17283987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6255813A Pending JPH08123627A (en) 1994-10-20 1994-10-20 Disk array device

Country Status (1)

Country Link
JP (1) JPH08123627A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101645448B1 (en) * 2015-07-20 2016-08-04 (주)명인이노 Multiple volume device using plurality RAID controller
KR20190076589A (en) * 2017-12-22 2019-07-02 한국외국어대학교 연구산학협력단 Method for correcting error of flash storage controller
GB2626755A (en) * 2023-02-01 2024-08-07 Ibm Storage data copies with differing compression algorithms

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101645448B1 (en) * 2015-07-20 2016-08-04 (주)명인이노 Multiple volume device using plurality RAID controller
KR20190076589A (en) * 2017-12-22 2019-07-02 한국외국어대학교 연구산학협력단 Method for correcting error of flash storage controller
GB2626755A (en) * 2023-02-01 2024-08-07 Ibm Storage data copies with differing compression algorithms

Similar Documents

Publication Publication Date Title
US5373512A (en) Memory controller with parity generator for an I/O control unit
US6035373A (en) Method for rearranging data in a disk array system when a new disk storage unit is added to the array using a new striping rule and a pointer as a position holder as each block of data is rearranged
KR100275900B1 (en) Method for implement divideo parity spare disk in raid sub-system
US7865664B2 (en) Storage control device, and control method for storage control device
US7194580B2 (en) Disk array device, method of extending storage capacity and computer program
JP3181398B2 (en) Array type recording device
KR100265146B1 (en) Method and apparatus for treatment of deferred write data for a dead raid device
JP3407276B2 (en) Data compression system
JPH07134635A (en) Disk array device
WO2014170984A1 (en) Storage system and method for controlling storage
JP4884721B2 (en) Storage system and storage control method that do not require storage device format
JP2912299B2 (en) Disk array controller
JPH07311661A (en) Semiconductor disk device
US5875460A (en) Disk array subsystem and data generation method therefor
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US6665773B1 (en) Simple and scalable RAID XOR assist logic with overlapped operations
CN102200934B (en) Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring
JPH07261945A (en) Disk array device and disk array dividing method
JPH08123627A (en) Disk array device
USRE36448E (en) Memory controller with parity generator for an I/O control unit
US6862661B2 (en) Object oriented approach to a redundant array storage system
JPH1185410A (en) Data duplex storage sub-system
JP2001356882A (en) Data reading/writing control method and disk array device and recording medium with data reading/writing control program stored
JP3555871B2 (en) Disk array device
JP2857289B2 (en) Disk array device