JPH10269024A - Disk array control system and extension unit used for the same - Google Patents

Disk array control system and extension unit used for the same

Info

Publication number
JPH10269024A
JPH10269024A JP9094921A JP9492197A JPH10269024A JP H10269024 A JPH10269024 A JP H10269024A JP 9094921 A JP9094921 A JP 9094921A JP 9492197 A JP9492197 A JP 9492197A JP H10269024 A JPH10269024 A JP H10269024A
Authority
JP
Japan
Prior art keywords
unit
data
read
bus
disk storage
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
JP9094921A
Other languages
Japanese (ja)
Inventor
Masaru Yasuda
勝 安田
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.)
Brother Industries Ltd
Xing Inc
Original Assignee
Brother Industries Ltd
Xing Inc
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 Brother Industries Ltd, Xing Inc filed Critical Brother Industries Ltd
Priority to JP9094921A priority Critical patent/JPH10269024A/en
Publication of JPH10269024A publication Critical patent/JPH10269024A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a disk array control system capable of inexpensively and easily extending the disk storage device of HDD or the like and flexibly setting the connection number of the disk storage devices. SOLUTION: This system is provided with a main unit 20 provided with a main control part 30, one or plural individual read/write control parts 35 and one or plural extension unit mounting parts for attachably and detachably mounting the extension units 21 and 22 provided with the one or plural individual read/write control parts 35 for extension. By mounting the extension units 21 and 22 to the extension unit mounting parts, the individual read/write control parts 35 are extended by the unit of the extension unit.

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 control system including a plurality of disk storage devices and an expansion unit used for the control system.

【0002】[0002]

【従来の技術】近年、マルチメディアの普及により、デ
ータサイズの大きいオーディオビジュアルデータ等を高
速で読み書きできる記憶装置として、ディスクアレイが
使用されている。ディスクアレイにおいては、ひとまと
まりとして読み書きされるデータを複数のディスク記憶
装置に分散記憶し、それらディスク記憶装置に対しデー
タを並列的に読み書きすることで高速化が図られてい
る。
2. Description of the Related Art In recent years, with the spread of multimedia, a disk array has been used as a storage device capable of reading and writing audiovisual data having a large data size at a high speed. In a disk array, data to be read / written as a unit is distributed and stored in a plurality of disk storage devices, and data is read / written from / to these disk storage devices in parallel to increase the speed.

【0003】ディスクアレイは例えば図15に示すよう
に、ディスクアレイ制御装置101と、これに接続され
たハードディスク記憶装置(以下、HDDと略記する)
群102からなる。HDD群102は、複数のHDDか
らなるHDD列110を単位としてディスクアレイ制御
装置101に接続され、各HDD列110に含まれるH
DD111〜117は、SCSIバス120によりディ
スクアレイ制御装置101のSCSI制御部105に対
しデイジーチェーン接続され、ディスクアレイ制御装置
101の中央制御部103の指示により、各HDD列1
10に対してデータの読み書きが並列的に行われる。こ
こで、従来のディスクアレイにおいてディスクアレイ制
御装置101は、中央制御部103、ホストコンピュー
タ等の外部装置と接続するためのインターフェース10
4、LSIで構成されたSCSI制御部105等が電子
基板上に一体的に実装された構造を有する。
As shown in FIG. 15, for example, a disk array is composed of a disk array controller 101 and a hard disk storage device (hereinafter abbreviated as HDD) connected thereto.
Group 102. The HDD group 102 is connected to the disk array controller 101 in units of an HDD array 110 including a plurality of HDDs, and includes H
The DDs 111 to 117 are daisy-chained to the SCSI controller 105 of the disk array controller 101 via the SCSI bus 120, and each HDD row 1 is controlled by the central controller 103 of the disk array controller 101.
Reading and writing of data are performed in parallel with respect to. Here, in the conventional disk array, the disk array controller 101 includes an interface 10 for connecting to an external device such as a central controller 103 and a host computer.
4. It has a structure in which the SCSI controller 105 and the like constituted by an LSI are integrally mounted on an electronic board.

【0004】[0004]

【発明が解決しようとする課題】ところで、ディスクア
レイにおいては、記憶させるべきデータの量が増えた場
合にHDDを増設できると便利であるが、従来のディス
クアレイ制御装置101においては、HDD増設が基本
的にできない構造になっている欠点がある。より具体的
にいえば、SCSIバスを用いたディスクアレイの場
合、HDD列110におけるHDDの接続台数は、一般
には一本のSCSIバスへの最大接続台数(すなわち、
SCSIバス幅から、SCSI制御部105への割り当
て分である1を減じた台数)となっているから、新たな
HDDを増設するためにはSCSIバスの増設を行わな
ければならない。ところが、基板上のSCSI制御部1
05の数は固定であるからSCSIバスの増設は不可能
であり、HDDの増設のためには結局のところ、中央制
御部103のCPUの拡張バスに別のディスクアレイ制
御装置を追加接続する以外に方法はない。
By the way, in a disk array, it is convenient to be able to add an HDD when the amount of data to be stored increases, but in the conventional disk array control device 101, it is convenient to add an HDD. There is a disadvantage that the structure is basically impossible. More specifically, in the case of a disk array using a SCSI bus, the number of HDDs connected in the HDD row 110 is generally the maximum number of HDDs connected to one SCSI bus (ie,
Since the number of SCSI buses is less than the SCSI bus width by 1 which is the number allocated to the SCSI control unit 105), the SCSI bus must be expanded to add a new HDD. However, the SCSI controller 1 on the board
Since the number of HDDs 05 is fixed, it is impossible to add a SCSI bus. For the purpose of adding HDDs, other than adding another disk array controller to the CPU expansion bus of the central control unit 103 after all. There is no way.

【0005】しかしこれでは、本来はSCSI制御部1
05ないしその周辺部分だけを増設すれば十分であるの
に、高価なCPUを含んだ中央制御部103など必要の
ない部分も抱き合わせで増設しなければならず無駄が多
く生ずる欠点がある。また、被増設側のCPUの拡張バ
スに別のディスクアレイ制御装置が接続されるので、デ
ータ転送のためのオーバーヘッド分が多くなって上記拡
張バスの転送効率が低下し、場合によってはディスクア
レイの本来の特長であるデータの読書速度が減殺されて
しまう問題がある。また、別の方法としては、ディスク
アレイ制御装置の基板に予備のSCSI制御部105を
設けておくことも考えられるが、この方式においては、
HDDの増設が必ずしも必要でない場合に使用しないS
CSI制御部105が無駄になる欠点がある。
However, in this case, originally, the SCSI control unit 1
Although it is sufficient to add only the part 05 or its peripheral part, unnecessary parts such as the central control unit 103 including an expensive CPU must be added by tying together, and there is a disadvantage that much waste is caused. Further, since another disk array control device is connected to the expansion bus of the CPU to be added, the overhead for data transfer is increased, and the transfer efficiency of the expansion bus is reduced. There is a problem that the data reading speed, which is an essential feature, is reduced. As another method, it is conceivable to provide a spare SCSI control unit 105 on the board of the disk array control device, but in this method,
Not used when additional HDD is not always necessary
There is a disadvantage that the CSI control unit 105 is wasted.

【0006】本発明の課題は、HDD等のディスク記憶
装置の増設を安価にかつ容易に行うことができ、ひいて
はディスク記憶装置の接続台数を柔軟に設定できるディ
スクアレイ制御システムとそれに使用される増設ユニッ
トとを提供することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a disk array control system which can easily and inexpensively add a disk storage device such as an HDD and which can flexibly set the number of connected disk storage devices, and an expansion system used for the disk array control system. Unit and to provide.

【0007】[0007]

【課題を解決するための手段及び作用・効果】本発明
は、ひとまとまりとして読み書きされるべきデータを分
散して記憶するディスク記憶装置が各々1ないし複数接
続されるとともに、その接続されたディスク記憶装置へ
のデータの読書制御をそれぞれ行う1ないし複数の個別
読出・書込制御部と、それら個別読出・書込制御部が接
続されるとともに、データが各ディスク記憶装置に対し
て並列的に読み書きされるように、それら個別読出・書
込制御部に対し、読書制御を指令する主制御部とを備え
たディスクアレイ制御システムに関するものであり、上
記主制御部と、1ないし複数の個別読出・書込制御部
と、増設用の個別読出・書込制御部を1ないし複数備え
た増設ユニットを着脱可能に装着するための1ないし複
数の増設ユニット装着部とを備えた主ユニットを有し、
増設ユニット装着部に対し増設ユニットを装着すること
により、個別読出・書込制御部が当該増設ユニット単位
で増設可能とされたことを特徴とする。この場合、増設
ユニット装着部に増設ユニットを装着することで、個別
読出・書込制御部の個数が、主ユニットに設けられた数
から増設ユニットに設けられた個数分だけ拡張されたシ
ステムが構築されることとなる。
SUMMARY OF THE INVENTION According to the present invention, one or a plurality of disk storage devices for distributing and storing data to be read and written as a unit are connected to each other, and the connected disk storage devices are connected. One or a plurality of individual read / write controllers for controlling reading / writing of data to / from the apparatus are connected to the individual read / write controllers, and data is read / written from / to each disk storage device in parallel. The present invention relates to a disk array control system including a main control unit for instructing the individual read / write control units to perform reading control, wherein the main control unit and one or more individual read / write Attachment of one or more extension units for detachably attaching an extension unit having one or more write control units and one or more individual read / write control units for extension Has a main unit with bets,
The individual read / write control unit can be added for each additional unit by mounting the additional unit to the additional unit mounting unit. In this case, a system is constructed in which the number of individual read / write controllers is expanded from the number provided in the main unit by the number provided in the additional unit by mounting the additional unit in the additional unit mounting section. Will be done.

【0008】上述の構成によれば、主ユニットの増設ユ
ニット装着部に対し増設ユニットを装着することによ
り、個別読出・書込制御部が当該増設ユニットに含まれ
る個数単位で増設できる。すなわち、ディスク記憶装置
を増設したい場合には、その数に応じて増設ユニットを
装着すればよいので従来のように無駄を生ずることな
く、ひいてはディスク記憶装置の数に応じて柔軟にシス
テムを構築することができる。
[0010] According to the above configuration, by mounting the additional unit to the additional unit mounting portion of the main unit, the individual read / write control units can be added in units of the number included in the additional unit. That is, when it is desired to add a disk storage device, it is sufficient to mount expansion units in accordance with the number of disk storage devices, so that a system is flexibly constructed according to the number of disk storage devices without waste as in the related art. be able to.

【0009】また、増設ユニットに別の増設ユニットを
装着するための増設ユニット装着部を設け、上記別の増
設ユニットは、それが装着される増設ユニットを介して
主ユニットに接続される構成とすることができる。増設
ユニットに増設ユニット装着部を設けることで、増設ユ
ニットひいては個別読出・書込制御部が連鎖的に増設が
行われ、結果として主ユニットの増設ユニット装着部の
数を減少することができ、ひいては主ユニットをコンパ
クトに構成することができる。より具体的には、増設ユ
ニットは板状に形成することができ、その板面上に設け
られた増設ユニット装着部に対し、別の増設ユニットが
これに積層形態で装着される構成とすることができる。
このようにすれば、装置サイズをそれほど肥大化させる
ことなく個別読出・書込制御部の増設を行うことが可能
となる。
Further, an extension unit mounting portion for attaching another extension unit to the extension unit is provided, and the another extension unit is connected to the main unit via the extension unit to which the extension unit is attached. be able to. By providing the additional unit mounting section in the additional unit, the additional unit and, consequently, the individual read / write control section are added in a chain, and as a result, the number of the additional unit mounting sections of the main unit can be reduced, and as a result, The main unit can be made compact. More specifically, the extension unit can be formed in a plate shape, and another extension unit is mounted on the extension unit mounting portion provided on the plate surface in a stacked form. Can be.
This makes it possible to increase the number of individual read / write controllers without increasing the size of the apparatus.

【0010】次に、各個別読出・書込制御部に対応し
て、該個別読出・書込制御部に接続されるディスク記憶
装置から読み出されるデータ又は書き込まれるデータを
一時蓄積するためのバッファを設けることができる。デ
ータを一旦バッファに蓄積してから読み書きを行うよう
にすることで、例えば各ディスク記憶装置からデータを
読み込むべきセクタの到来、及び各ディスク記憶装置に
データを書き込むべきセクタの到来がまちまちであって
も、バッファからのデータの出力タイミングを調整する
ことで並列的、かつ高速にデータの読み書きを行うこと
ができる。この場合、増設用のバッファを主ユニット側
に設けることも可能であるが、増設ユニットに個別読出
・書込制御部とともに対応するバッファも設けておき、
該増設ユニットを増設ユニット装着部において主ユニッ
トに装着することにより、個別読出・書込制御部ととも
に該バッファも合わせて増設されるように構成すれば、
バッファの増設個数に無駄が生じない。
Next, a buffer for temporarily storing data to be read or written from a disk storage device connected to each individual read / write control unit is provided for each individual read / write control unit. Can be provided. By temporarily storing data in a buffer and then performing reading and writing, for example, the arrival of sectors to read data from each disk storage device and the arrival of sectors to write data to each disk storage device may vary. Also, by adjusting the output timing of data from the buffer, data can be read and written in parallel and at high speed. In this case, it is possible to provide an additional buffer on the main unit side, but the additional unit is provided with a corresponding buffer together with the individual read / write control unit.
By mounting the additional unit on the main unit in the additional unit mounting section, the buffer can be added together with the individual read / write control section.
There is no waste in the number of additional buffers.

【0011】上記バッファは、第一及び第二のRAM
と、それらRAMに対するデータの入出力モードを、第
一のRAMへデータを書き込み第二のRAMからデータ
を読み出すモードと、第一のRAMからデータを読み出
し第二のRAMへデータを書き込むモードとの間で切り
替える切替手段とを備えるものとすることができる。バ
ッファを2つのRAMで構成されたいわゆるダブルバッ
ファとすることで、例えばディスク記憶装置からのデー
タを第一のRAMに読み込んで外部に転送している間に
これと並行して別のデータを第二のRAMに読み込む、
いわゆるパイプライン処理が可能となり、ひいてはデー
タ転送速度を向上させることができる。
The buffer includes first and second RAMs.
And a data input / output mode for those RAMs, a mode for writing data to the first RAM and reading data from the second RAM, and a mode for reading data from the first RAM and writing data to the second RAM. Switching means for switching between the two. By making the buffer a so-called double buffer composed of two RAMs, for example, while reading data from the disk storage device into the first RAM and transferring it to the outside, another data is transferred in parallel to the first RAM. Read into the second RAM,
So-called pipeline processing can be performed, and the data transfer speed can be improved.

【0012】次に、各個別読出・書込制御部に対応し
て、バッファに蓄積されたデータをディスク記憶装置に
対して転送し、またディスク記憶装置からのデータをバ
ッファに転送するためのDMAコントローラを設けるこ
とができる。これにより、バッファとディスク記憶装置
との間のデータ転送を高速で行うことができ、また、主
制御部に対する処理負荷が減少するので、システム全体
のデータ処理能率を向上させることができる。この場
合、増設用のDMAコントローラを主ユニット側に設け
ることも可能であるが、増設ユニットに個別読出・書込
制御部とともに対応するDMAコントローラも設けてお
き、該増設ユニットを増設ユニット装着部において主ユ
ニットに装着することにより、個別読出・書込制御部と
ともに該DMAコントローラも合わせて増設されるよう
に構成すれば、DMAコントローラの増設個数に無駄が
生じない。
A DMA for transferring data stored in the buffer to the disk storage device and transferring data from the disk storage device to the buffer corresponding to each individual read / write control unit. A controller can be provided. As a result, data transfer between the buffer and the disk storage device can be performed at high speed, and the processing load on the main control unit is reduced, so that the data processing efficiency of the entire system can be improved. In this case, it is possible to provide an additional DMA controller on the main unit side, but a corresponding DMA controller is also provided in the additional unit together with the individual read / write controller, and the additional unit is installed in the additional unit mounting section. By mounting the DMA controller together with the individual read / write control unit by mounting it on the main unit, the number of additional DMA controllers is not wasted.

【0013】次に個別読出・書込制御部は、複数台のデ
ィスク記憶装置がSCSI(SmallComputer System Int
erface)バスによりデイジーチェーン接続されるSCS
Iインターフェースとすることができる。本発明におい
てSCSI規格は、下記のものが採用可能である。 SCSI−1:SCSIバスはデータ幅が8ビット
(+1パリティビット)のパラレルバスとされる。な
お、データ転送速度は、同期転送で最大5.0Mバイト
/秒程度とされる。
[0013] Next, the individual read / write control unit determines that the plurality of disk storage devices are SCSI (Small Computer System Int.)
erface) SCS daisy chained by bus
It may be an I interface. In the present invention, the following SCSI standards can be adopted. SCSI-1: The SCSI bus is a parallel bus having a data width of 8 bits (+1 parity bit). The data transfer speed is about 5.0 Mbytes / sec at maximum for synchronous transfer.

【0014】SCSI−2:下記の3種類を含む。 (1)Fast−SCSI:SCSIバスは8ビット(+
1パリティビット)のパラレルバスであるが、データ転
送速度は同期転送で最大10.0Mバイト/秒程度であ
る。 (2)16ビットWide−SCSI:SCSIバスはデ
ータ幅が16ビット(+2パリティビット)のパラレル
バスとされ、データ転送速度は同期転送で最大20.0
Mバイト/秒程度である。 (3)32ビットWide−SCSI:SCSIバスはデ
ータ幅が32ビット(+4パリティビット)のパラレル
バスとされ、データ転送速度は同期転送で最大40.0
Mバイト/秒程度である。
SCSI-2: Includes the following three types. (1) Fast-SCSI: The SCSI bus has 8 bits (+
Although it is a parallel bus of 1 parity bit), the data transfer speed is about 10.0 Mbytes / sec at maximum for synchronous transfer. (2) 16-bit Wide-SCSI: The SCSI bus is a parallel bus having a data width of 16 bits (+2 parity bits), and the data transfer speed is up to 20.0 in synchronous transfer.
It is on the order of M bytes / sec. (3) 32-bit Wide-SCSI: The SCSI bus is a parallel bus having a data width of 32 bits (+4 parity bits), and the data transfer speed is up to 40.0 in synchronous transfer.
It is on the order of M bytes / sec.

【0015】SCSI−3:パラレル転送方式として
下記のものを含む。 (1)Ultra−SCSI:Fast20ともいう。S
CSIバスはデータ幅が8ビット(+1パリティビッ
ト)のパラレルバスで、データ転送速度は同期転送で最
大20.0Mバイト/秒程度である。 (2)Ultra−2:Fast40ともいう。SCSI
バスはデータ幅が8ビット(+1パリティビット)のパ
ラレルバスで、データ転送速度は同期転送で最大40.
0Mバイト/秒程度である。 (3)Ultra−3:Fast80ともいう。SCSI
バスはデータ幅が8ビット(+1パリティビット)のパ
ラレルバスで、データ転送速度は同期転送で最大80.
0Mバイト/秒程度である。
SCSI-3: The following are included as parallel transfer methods. (1) Ultra-SCSI: Also referred to as Fast20. S
The CSI bus is a parallel bus having a data width of 8 bits (+1 parity bit), and has a maximum data transfer speed of about 20.0 Mbytes / sec for synchronous transfer. (2) Ultra-2: Also referred to as Fast40. SCSI
The bus is a parallel bus having a data width of 8 bits (+1 parity bit) and a maximum data transfer speed of 40.000 for synchronous transfer.
It is about 0 Mbytes / sec. (3) Ultra-3: Also referred to as Fast80. SCSI
The bus is a parallel bus having a data width of 8 bits (+1 parity bit) and a maximum data transfer speed of 80.000 for synchronous transfer.
It is about 0 Mbytes / sec.

【0016】なお、SCSI−3の上記3つのパラレル
転送方式においては、それぞれデータ幅を16ビット
(+2パリティビット)として、転送速度を2倍に向上
させたものも使用可能である。一方、SCSI−3とし
ては、FibreChannel、IEEE1394、
SSA(Serial Storage Architecture)等のシリアル
転送方式の規格も使用可能である。
In the above three parallel transfer methods of SCSI-3, it is possible to use a data width of 16 bits (+2 parity bits) and a transfer speed doubled. On the other hand, as SCSI-3, FiberChannel, IEEE1394,
A standard of a serial transfer method such as SSA (Serial Storage Architecture) can also be used.

【0017】なお、本発明は、上記ディスクアレイ制御
システムに使用される増設ユニットも提供する。その構
成は、上述のディスクアレイ制御システムからその増設
ユニットのみを抽出したものに相当する。
The present invention also provides an extension unit used in the disk array control system. The configuration corresponds to a configuration in which only the additional unit is extracted from the above-described disk array control system.

【0018】[0018]

【発明の実施の形態】以下、本発明の実施の形態を、図
面に示す実施例を参照して説明する。図1は、本発明の
一実施例たるディスクアレイ制御システムを用いて構成
されたディスクアレイの全体構成を示すブロック図であ
る。ディスクアレイ1は、本発明のディスクアレイ制御
システムとしてのディスクアレイ制御装置3と、ディス
ク記憶装置としてのハードディスクドライブ(以下、H
DDと略記する)群4とを備えて構成されている。HD
D群4は、各々複数のHDD10〜16からなる複数の
HDD列17からなり、各HDD列17はディスクアレ
イ制御装置3に対しSCSIバス6によりデイジーチェ
ーン接続されている。また、ディスクアレイ1には主コ
ンピュータ2が接続されており、これに、ソフトウエア
や各種データなどが格納された記憶部(ROM(PRO
M、EPROM、フラッシュメモリ等も含む)5やディ
スク記憶装置等で構成される)、ディスクアレイ1から
読み出されたデータを図示しない端末装置等に送信する
LAN制御ボード等に相当する拡張制御部7が接続され
ている。
Embodiments of the present invention will be described below with reference to the embodiments shown in the drawings. FIG. 1 is a block diagram showing the overall configuration of a disk array configured using a disk array control system according to one embodiment of the present invention. The disk array 1 includes a disk array control device 3 as a disk array control system of the present invention and a hard disk drive (hereinafter, referred to as H) as a disk storage device.
And a group 4 (abbreviated as DD). HD
The D group 4 includes a plurality of HDD rows 17 each including a plurality of HDDs 10 to 16, and each HDD row 17 is daisy-chain connected to the disk array controller 3 by the SCSI bus 6. A main computer 2 is connected to the disk array 1, and a storage unit (ROM (PRO)) storing software, various data, and the like is stored in the main computer 2.
M, EPROM, flash memory, etc.) 5 and a disk storage device, etc.), an extended control unit corresponding to a LAN control board or the like for transmitting data read from the disk array 1 to a terminal device or the like (not shown). 7 is connected.

【0019】図2は、ディスクアレイ制御装置3の電気
的な構成を示すブロック図である。ディスクアレイ制御
装置3は、その主ボード20とこれに接続されるSCS
I制御部増設ボード(以下、単に増設ボードという)2
1及び22とからなる。主ボード20は、CPU30、
ROM31、及びRAM32を有する中央制御部33、
個別読出・書込制御部としてのSCSI制御部35、D
MAコントローラ(以下、DMACという)37、バッ
ファとしてのRAM38、エラー訂正ユニット40、R
AM41、主コンピュータ2に接続されるインターフェ
ース部(以下、I/F部と略記する)42、及びDMA
C43,45等を含んで構成されている。SCSI制御
部35には、SCSIバス6を介してHDD10〜16
(図1)が接続されており、通常SCSIコントローラ
と呼ばれるLSIで構成されてそれらHDD10〜16
へのデータの読み書きを制御する役割を果たす。
FIG. 2 is a block diagram showing an electrical configuration of the disk array control device 3. The disk array controller 3 has a main board 20 and an SCS connected thereto.
I control unit extension board (hereinafter simply referred to as extension board) 2
1 and 22. The main board 20 includes a CPU 30,
A central control unit 33 having a ROM 31 and a RAM 32;
SCSI controller 35 as individual read / write controller, D
MA controller (hereinafter referred to as DMAC) 37, RAM 38 as a buffer, error correction unit 40, R
AM 41, an interface unit (hereinafter abbreviated as I / F unit) 42 connected to the main computer 2, and a DMA
C43, 45 and the like. The SCSI control unit 35 has the HDDs 10 to 16 via the SCSI bus 6.
(FIG. 1) are connected, and are usually composed of LSIs called SCSI controllers.
Plays a role in controlling the reading and writing of data to

【0020】ここで、パラレル転送方式のSCSI規格
においては、1つのSCSIバスに接続可能なSCSI
対応装置の個数は、SCSIバスのバスビット幅までと
いう制約があるため、SCSI制御部35に接続可能な
HDDの台数は、SCSIバスのバスビット幅からSC
SI制御部35の割り当て分である1を減じた数までと
いうことになる。本実施例では、HDD列17接続用の
SCSIバスとしてFast−SCSIバスが採用され
ており、デイジーチェーン接続されるSCSI対応装置
の数は8台(すなわちSCSI制御部35+HDD10
〜16)とするが、他のSCSI規格を採用することも
もちろん可能であり、例えば16ビットWide−SC
SIの場合は16台まで、32ビットWide−SCS
Iの場合は32台までの接続が可能である。なお、SC
SIバス6の終端部での信号反射によるノイズ発生を防
止するために、デイジーチェーン接続された末端のHD
D16にはターミネータと呼ばれる図示しない終端抵抗
が装着されている。
Here, in the SCSI standard of the parallel transfer system, a SCSI that can be connected to one SCSI bus is used.
Since the number of compatible devices is limited to the bus bit width of the SCSI bus, the number of HDDs that can be connected to the SCSI control unit 35 depends on the bus bit width of the SCSI bus.
This is up to a number obtained by subtracting 1, which is the allocation of the SI control unit 35. In the present embodiment, a Fast-SCSI bus is used as a SCSI bus for connecting the HDD row 17, and the number of SCSI-compatible devices connected in a daisy chain is eight (that is, the SCSI control unit 35 + the HDD 10
To 16), but it is of course possible to adopt another SCSI standard. For example, 16-bit Wide-SC
For SI, up to 16 units, 32-bit Wide-SCS
In the case of I, up to 32 units can be connected. Note that SC
In order to prevent the occurrence of noise due to signal reflection at the end of the SI bus 6, the terminal HD connected in a daisy chain
A terminal resistor (not shown) called a terminator is attached to D16.

【0021】次に、RAM38は、上記HDDから読み
出されるデータ又はHDDへ書き込まれるデータを一時
蓄積するためのものであり、図11に示すように、SR
AM等で構成された2つのバッファメモリ(RAM)b
uf0とbuf1を備えたダブルバッファとして構成さ
れている。またRAM38には、切替手段としてのモー
ド切替スイッチ38aが設けられており、該切替スイッ
チ38aは、RAM38に対するデータの入出力モード
を、buf0へデータを書き込みbuf1からデータを
読み出すモードと、buf0からデータを読み出しbu
f1へデータを書き込むモードとの間で切り替える。な
お、この切替制御はCPU30からの指示により実行さ
れる。これにより、片方のバッファメモリにデータが書
き込まれている最中に、もう一方のバッファからデータ
を送り出す、いわゆるパイプライン処理が可能となる。
また、DMAC37は、例えばデュアルアドレスタイプ
のDMAコントローラで構成されており、CPU30か
らの指示により、RAM38とSCSI制御部35との
間でダイレクトメモリアクセスによりデータ転送を行う
役割を果たす。
The RAM 38 temporarily stores data read from the HDD or data to be written to the HDD. As shown in FIG.
Two buffer memories (RAM) b composed of AM etc.
It is configured as a double buffer having uf0 and buf1. The RAM 38 is provided with a mode changeover switch 38a as a changeover means. The changeover switch 38a sets a data input / output mode for the RAM 38, a mode for writing data to buf0, a mode for reading data from buf1, and a mode for reading data from buf0. Read bu
The mode is switched between a mode for writing data to f1. This switching control is executed according to an instruction from the CPU 30. This enables so-called pipeline processing in which data is sent from one buffer memory while data is being written to the other buffer memory.
The DMAC 37 is formed of, for example, a dual address type DMA controller, and plays a role of performing data transfer between the RAM 38 and the SCSI control unit 35 by direct memory access according to an instruction from the CPU 30.

【0022】また、DMAC45は、CPU30の指示
によりRAM41とRAM38との間のデータ転送を制
御するものであり、転送されるデータは、後で詳細に説
明するエラー訂正ユニット40を通して転送される。R
AM41は、主コンピュータ2及び拡張制御部7に接続
された他の装置とのデータ転送効率を上げるためのもの
である。I/F部42は、ディスクアレイ制御装置3と
主コンピュータ2との間のコマンドの通信やRAM41
と拡張制御部7に接続された他の装置との間でのデータ
の送受信を仲介する役割を果たす。DMAC43は、C
PU30の指示によりI/F部42とRAM41との間
のデータ転送を制御するためのものである。また、中央
制御部33のROM31には制御プログラムが格納され
ており、CPU30は、RAM32をワークエリアとし
て該制御プログラムに基づき、DMAC37,43及び
45等に指示を与えることによりHDD群4の各HDD
へのアクセス処理など、ディスクアレイ1の全体の作動
制御を司る。
The DMAC 45 controls data transfer between the RAM 41 and the RAM 38 in accordance with an instruction from the CPU 30, and the transferred data is transferred through an error correction unit 40, which will be described in detail later. R
The AM 41 is for increasing the data transfer efficiency with other devices connected to the main computer 2 and the extended control unit 7. The I / F unit 42 communicates commands between the disk array control device 3 and the main computer 2 and the RAM 41
It plays a role in mediating the transmission and reception of data between the device and another device connected to the extension control unit 7. The DMAC 43
This is for controlling data transfer between the I / F unit 42 and the RAM 41 according to an instruction from the PU 30. A control program is stored in the ROM 31 of the central control unit 33. The CPU 30 uses the RAM 32 as a work area and gives instructions to the DMACs 37, 43, 45, etc. based on the control program, thereby controlling each HDD of the HDD group 4
It controls the overall operation of the disk array 1 such as access processing to the disk array 1.

【0023】次に、増設ボード21及び22には、それ
ぞれ上記SCSI制御部35、DMAC37、及びRA
M38の組が複数組(本実施例では4組)設けられてお
り、これらがそれぞれ主ボード20に、後述するコネク
タにより各バスを介して着脱可能に接続されている。
Next, the SCSI boards 35, DMACs 37, and RAs are added to the extension boards 21 and 22, respectively.
A plurality of M38 sets (four in this embodiment) are provided, and these are detachably connected to the main board 20 via connectors, which will be described later, respectively.

【0024】図8に、ディスクアレイ制御装置3の外観
を模式的に示している。ディスクアレイ制御装置3は、
主ボード20と、これに積層形態で連鎖接続される増設
ボード21及び22を含んで構成されている。主ボード
20は、主コンピュータ2のボードに自身を装着するた
めのカードエッジ部20a、上記SCSIバス6を接続
するためのSCSIコネクタC、及び増設ボード21を
接続するためのコネクタ20b等を有している。増設ボ
ード21,22には、それぞれSCSIバス6(SCS
I1〜SCSI8)を接続するためのSCSIコネクタ
Cと、主ボード20あるいは他の増設ボードに自身を接
続するためのコネクタ21b,22aと、他の増設ボー
ドを接続・増設するためのコネクタ21a、22b等を
有している。そして、主ボード20に対し、増設ボード
21及び増設ボード22をコネクタ20b,21b,2
1a,22aを介して順次積層形態で接続することによ
り、増設ボード21及び22が主ボード20に対し連鎖
的に接続されるようになっている。なお、本実施例で
は、主ボード20とこれに接続された増設ボード21と
の組が主ユニットを、その増設ボード21に接続された
増設ボード22が増設ユニットを構成するものとする。
FIG. 8 schematically shows the appearance of the disk array controller 3. The disk array controller 3
It comprises a main board 20 and additional boards 21 and 22 which are connected to the main board 20 in a stacked manner. The main board 20 has a card edge portion 20a for attaching itself to the board of the main computer 2, a SCSI connector C for connecting the SCSI bus 6, a connector 20b for connecting an extension board 21, and the like. ing. The extension boards 21 and 22 are provided with SCSI bus 6 (SCS
I1 to SCSI8), connectors 21b and 22a for connecting itself to the main board 20 or another extension board, and connectors 21a and 22b for connecting and adding another extension board. Etc. Then, the extension boards 21 and 22 are connected to the main board 20 by the connectors 20b, 21b, and 2 respectively.
The extension boards 21 and 22 are successively connected to the main board 20 by sequentially connecting them in a laminated manner via 1a and 22a. In this embodiment, a set of the main board 20 and the extension board 21 connected thereto constitutes a main unit, and the extension board 22 connected to the extension board 21 constitutes an extension unit.

【0025】次に、ディスクアレイ1に記憶されたデー
タは、一まとまりとして読み書きされるべきもの(以
下、原データともいう)が複数のデータブロックに分割
されて各HDDに分散して記憶されている。そして、原
データを、それら複数のHDDに対し、上記データブロ
ック単位で並列して読み書きすることでデータ入出力の
高速化が図られている。また、ディスクアレイでは、デ
ータの信頼性を向上させるために、分割されたデータブ
ロックは、後述するエラー訂正情報としてのパリティデ
ータを付加して記憶されており、ディスク上のデータの
一部が失われても、元のデータを復元することができる
ようになっている。
The data stored in the disk array 1 is to be read and written as a unit (hereinafter, also referred to as original data), divided into a plurality of data blocks, and distributed and stored in each HDD. I have. Then, the speed of data input / output is improved by reading and writing the original data in parallel with the plurality of HDDs in units of the data blocks. In a disk array, in order to improve the reliability of data, the divided data blocks are stored by adding parity data as error correction information described later, and a part of the data on the disk is lost. Even if you do, you can restore the original data.

【0026】また、ディスクアレイ1においては、HD
D群4を構成する複数のHDDの一部が、原データに基
づいて予め作成されたエラー訂正情報(本実施例ではパ
リティデータ)を格納する専用のHDD(訂正用HD
D:本実施例ではパリティデータを格納しているのでパ
リティディスクという)とされており、他のHDDに格
納されたデータブロックのいずれか1つでデータブロッ
クの読出しが不能となった場合は、上記パリティディス
クのパリティデータと、読出しに成功した他のHDDか
らのデータブロックとから消失したデータブロックを復
元する処理が可能とされている。なお、本実施例ではパ
リティディスクはSCSIバス0に接続されたHDD列
17とされている。
In the disk array 1, the HD
Some of the plurality of HDDs constituting the D group 4 are dedicated HDDs (correction HDDs) for storing error correction information (parity data in this embodiment) created in advance based on the original data.
D: Parity data is stored in this embodiment, which is referred to as a parity disk). If data blocks cannot be read from any one of the data blocks stored in another HDD, A process of restoring a lost data block from the parity data of the parity disk and a data block from another HDD that has been successfully read is enabled. In this embodiment, the parity disk is the HDD row 17 connected to the SCSI bus 0.

【0027】図3は、エラー訂正ユニット40の内部構
造を示すブロック図である。すなわち、エラー訂正ユニ
ット40は、双方向パラレル入出力装置で構成され、図
2のRAM41側、すなわち主コンピュータ2側にAバ
スを介して接続される入力データ保持・出力データ切替
部50と、同じく双方向パラレル入出力装置で構成さ
れ、HDD群4側にBバスを介して接続される入力デー
タ保持・出力データ切替部52と、両切替部50及び5
2の間に設けられたパリティジェネレータ51とを備え
ている。パリティジェネレータ51は、HDD群4への
データ書込み時には、入力データ保持・出力データ切替
部50側からCバスを介して転送されてくる各HDDへ
の書込みデータの間で排他的論理和演算を行ってパリテ
ィデータを生成する一方、同じくデータ読出し時には、
入力データ保持・出力データ切替部52側からCバスを
介して転送されてくる各HDDからの読出しデータに対
し排他的論理和演算によりエラー訂正ないしリビルドデ
ータの生成を行う。
FIG. 3 is a block diagram showing the internal structure of the error correction unit 40. That is, the error correction unit 40 is configured by a bidirectional parallel input / output device, and is the same as the input data holding / output data switching unit 50 connected to the RAM 41 side of FIG. An input data holding / output data switching unit 52 which is constituted by a bidirectional parallel input / output device and is connected to the HDD group 4 via the B bus, and both switching units 50 and 5
And a parity generator 51 provided between the two. When writing data to the HDD group 4, the parity generator 51 performs an exclusive OR operation on the write data to each HDD transferred from the input data holding / output data switching unit 50 via the C bus. While the parity data is generated by
The input data holding / output data switching unit 52 performs an exclusive OR operation on the read data transferred from each HDD transferred via the C bus to perform error correction or generate rebuilt data.

【0028】ここで、入力データ保持・出力データ切替
部50は、Aバス側の入出力ビット数をN、増設ボード
(21,22等)の最大接続数をm(本実施例ではN=
4,m=2)とした場合に、Cバス側の入出力ビット数
がN×mビットとされ、各Cバスのビットは各々主ボー
ド20上及び増設ボード21,22上の各SCSI制御
部35に1対1に対応している。そして、主ボード20
の中央制御部33のCPU30からの指示により、入力
データ保持・出力データ切替部50は、各コネクタ20
b、21b,21a及び22a,22b(図8)の接続
状態に応じて、増設ボードが接続されているCバスにの
みデータの入出力が行われるように切り替えを行う。そ
して、m≧2の場合、HDD群4へのデータ書込み時に
は、Aバス側からの入力データをNビット単位でラッチ
し、そのラッチされたデータを対応するCバス側へ順次
切り替えつつ出力する(例えば、本実施例では、Cバス
1,3,5,7への出力と、Cバス2,4,6,8への
出力とが交互に切り替えられる)。また、HDD群4か
らのデータ読出し時には、Cバス側からのデータをN×
mビット単位でラッチし、そのラッチされたデータをA
バス側へNビット単位で区切りながら順次出力する(例
えばCバス1,2,3,4からの出力と同5,6,7,
8からの出力とが交互に切り替えられる)。
Here, the input data holding / output data switching unit 50 sets the number of input / output bits on the A bus side to N, and sets the maximum connection number of extension boards (21, 22 etc.) to m (N = N in this embodiment).
4, m = 2), the number of input / output bits on the C bus side is set to N × m bits, and the bits of each C bus are assigned to each SCSI controller on the main board 20 and the extension boards 21 and 22, respectively. 35 corresponds one-to-one. And the main board 20
According to an instruction from the CPU 30 of the central control unit 33, the input data holding / output data switching unit 50
Switching is performed according to the connection states of b, 21b, 21a and 22a, 22b (FIG. 8) so that data input / output is performed only to the C bus to which the extension board is connected. When m ≧ 2, when writing data to the HDD group 4, input data from the A bus side is latched in N-bit units, and the latched data is sequentially switched to the corresponding C bus side and output ( For example, in the present embodiment, the output to the C buses 1, 3, 5, 7 and the output to the C buses 2, 4, 6, 8 are alternately switched. Also, when reading data from the HDD group 4, data from the C bus side is N ×
Latch in m-bit units and store the latched data in A
The data is sequentially output to the bus side while being separated in units of N bits (for example, the same as the output from the C buses 1, 2, 3, and 4,
8 is alternately switched).

【0029】なお、CPU30が増設ボードの接続状態
を知る具体的な方法としては、例えばボード枚数設定用
の複数のディップスイッチを設け、それら各ディップス
イッチの操作状態の組合せと接続されるボード枚数とを
対応付けて、該ディップスイッチの設定状態により増設
ボードの接続状態を判別する方法を例示できる。一方、
RAM38、DMAC37、及びSCSI制御部35等
が拡張増設されるアドレスをリザーブしておき、電源投
入時などにCPU30がその該当するアドレスをスキャ
ンして認識することにより、増設ボードの枚数を知る方
法を用いてもよい。
As a specific method for the CPU 30 to know the connection state of the extension board, for example, a plurality of DIP switches for setting the number of boards are provided, and the combination of the operation state of each DIP switch and the number of boards to be connected are determined. And a method of determining the connection state of the extension board based on the setting state of the dip switch. on the other hand,
The RAM 38, the DMAC 37, the SCSI controller 35, and the like reserve an address to be expanded and expanded, and the CPU 30 scans and recognizes the corresponding address when the power is turned on, etc., so that the number of expansion boards can be known. May be used.

【0030】一方、入力データ保持・出力データ切替部
52は、Cバス側の入出力ビット数がN×m+1ビット
(パリティジェネレータ51からの入出力ビット分に対
応して入力データ保持・出力データ切替部50側よりも
1多い)、Bバス側の入出力ビット数が同じくN×m+
1ビットとされている。そして、CPU30からの指示
により、入力データ保持・出力データ切替部50は、各
コネクタ20b、21b,21a及び22a,22bの
接続状態に応じて、増設ボードが接続されているCバス
にのみデータの入出力が行われるように切り替えを行
う。なお、BバスのうちB0は、主ボード20のSCS
I制御部35に接続されたパリティディスクとの間でデ
ータを仲介するためのものである。
On the other hand, the input data holding / output data switching section 52 has a C bus side input / output bit number of N × m + 1 bits (input data holding / output data switching corresponding to the input / output bits from the parity generator 51). The number of input / output bits on the B bus side is also N × m +
It is one bit. Then, in response to an instruction from the CPU 30, the input data holding / output data switching unit 50 transmits data only to the C bus to which the extension board is connected, according to the connection state of the connectors 20b, 21b, 21a and 22a, 22b. Switch so that input and output are performed. B0 of the B bus is the SCS of the main board 20.
This is for mediating data with the parity disk connected to the I control unit 35.

【0031】ここで、増設ボードの接続数が増加した場
合には、Cバス側の入出力ビット数もそれに応じて変化
することとなる。このことは、すなわちパリティ演算す
べきデータビットの数が変化するということを意味して
いる。これに対応するための方式としては次の2通りが
考えられる。一つは、増設ボードの装着を見込んで排他
的論理和を取るための回路の入力数を最初から多く取っ
ておく方法が挙げられる。この場合は、図13に示すよ
うに排他的論理和演算を行ためのEXCLUSIVE-OR回路(以
下、EX−OR回路と書く)206の入力端子にプルア
ップ抵抗Rを取り付けることで、非接続の入力端子には
常にハイレベルが入力されるようにする。また別の方法
としては、排他的論理和の入力数はディスクの増設に関
係なく使用するポートの数を一定にしておいて、排他的
論理和演算はその中間結果を別途設けられたバッファメ
モリ等に記憶しながら逐次的に行う方法が例示できる。
これを実施するための回路例を図14に示す。
Here, when the number of connected expansion boards increases, the number of input / output bits on the C bus side also changes accordingly. This means that the number of data bits to be parity-operated changes. The following two methods are conceivable as methods for dealing with this. One is a method in which a large number of inputs of a circuit for obtaining an exclusive OR in anticipation of mounting of an additional board is taken from the beginning. In this case, a pull-up resistor R is attached to an input terminal of an EXCLUSIVE-OR circuit (hereinafter, referred to as an EX-OR circuit) 206 for performing an exclusive OR operation as shown in FIG. A high level is always input to the input terminal. As another method, the number of inputs of the exclusive-OR is kept constant regardless of the number of disks, and the exclusive-OR operation uses the intermediate result as a buffer memory provided separately. A method of sequentially performing the processing while storing the information in the storage area can be exemplified.
FIG. 14 shows a circuit example for implementing this.

【0032】図14は、パリティジェネレータ51の要
部をなすエラー訂正回路201の内部構造の一例を示す
ブロック図である。該エラー訂正回路201は、入力デ
ータ保持・出力データ切替部50のCバス側に接続され
たセレクタ202、入力データ保持・出力データ切替部
52のCバス側に接続されたセレクタ203、排他的演
算を行うためのEXCLUSIVE-OR回路(以下、EX−OR回
路と書く)206、セレクタ207、スリーステートバ
ッファ208,209等を有し、該エラー訂正用回路2
01にはエラー訂正用バッファ200が接続されてい
る。
FIG. 14 is a block diagram showing an example of the internal structure of the error correction circuit 201 which is a main part of the parity generator 51. The error correction circuit 201 includes a selector 202 connected to the C bus side of the input data holding / output data switching unit 50, a selector 203 connected to the C bus side of the input data holding / output data switching unit 52, an exclusive operation , An EXCLUSIVE-OR circuit (hereinafter referred to as an EX-OR circuit) 206, a selector 207, three-state buffers 208 and 209, and the like.
01 is connected to an error correction buffer 200.

【0033】エラー訂正用バッファ200は、パリティ
演算の中間結果を保存しておくためのものであり、エラ
ー訂正用データバス210を介してエラー訂正回路20
1からデータを受け取り、またエラー訂正回路201に
自身に記憶されているその中間結果(あるいは最終結
果)を出力する。そして、エラー訂正回路201は、エ
ラー訂正用バッファ200からの中間結果と、バス21
1からのデータ(以下、バスと同一の符号により、当該
バスを流れるデータないし信号を示す場合がある)との
間でエラー訂正演算を行い、その結果がエラー訂正用バ
ッファ200に返される。この場合、エラー訂正用バッ
ファ200の中のメモリは、リードを行った直後に新た
な値をライトするという、いわゆるREAD MODIFY WRITE
動作をしているとみることができる。ここで、エラー訂
正演算の開始時には、該開始時にエラー訂正用バッファ
200内に記憶されている演算結果を無効にする、いわ
ゆる初期化のための機構が必要となる。この場合、本実
施例では、エラー訂正回路201内に、最初に入力され
るデータのみはエラー訂正演算を行わずに、そのままエ
ラー訂正用バッファ200に格納することにより初期化
を行う方式が採用されており、その主体は後述する通
り、エラー訂正回路201内のセレクタ207(後述)
がなす。
The error correction buffer 200 is for storing an intermediate result of the parity operation, and is provided via the error correction data bus 210 to the error correction circuit 20.
1 and outputs an intermediate result (or a final result) stored in the error correction circuit 201 to the error correction circuit 201 itself. The error correction circuit 201 compares the intermediate result from the error correction buffer 200 with the bus 21.
An error correction operation is performed on data from 1 (hereinafter, data or signals flowing through the bus may be indicated by the same reference numerals as the bus), and the result is returned to the error correction buffer 200. In this case, the memory in the error correction buffer 200 writes a new value immediately after performing the read, that is, a so-called READ MODIFY WRITE.
It can be seen that it is working. Here, at the start of the error correction operation, a mechanism for so-called initialization for invalidating the operation result stored in the error correction buffer 200 at the start is required. In this case, in the present embodiment, a method is adopted in which only the first input data in the error correction circuit 201 is stored in the error correction buffer 200 as it is without performing the error correction operation, thereby performing initialization. The main component is a selector 207 (described later) in the error correction circuit 201 as described later.
Do

【0034】EX−OR回路206には、ライトモード
時にはセレクタ202で選択された主コンピュータ2か
らのデータ211とエラー訂正用バッファ200からの
フィードバックデータ(パリティデータ)214とが、
また、リード及びリビルドモード時にはセレクタ203
で選択された各HDD列17からのデータ211とエラ
ー訂正用バッファ200からのフィードバックデータ
(復元データ)214とが入力されるようになってお
り、各モード時におけるデータ211と214との排他
的論理和をとることでパリティ演算(すなわち、エラー
訂正演算)を行い、その結果をエラー訂正用バッファ2
00に出力する。また、EX−OR回路206に対する
エラー訂正用バッファ200からの入力経路の中間には
前述のセレクタ207が設けられている。このセレクタ
207は、パリティ演算の開始時において、エラー訂正
用バッファ200に格納されている前回の演算結果のフ
ィードバックを無効化し、代わってEX−OR回路20
6に対し最初に入力されるデータをそのままエラー訂正
用バッファ200に出力させる、演算部初期作動制御手
段の役割を果たす。例えば偶数パリティが採用されてい
る場合、セレクタ207はパリティ演算の開始時におい
てCPU30からの指示を受けることにより、EX−O
R回路206へのエラー訂正用バッファ200側への入
力データ215を0に固定する。EX−OR演算では、
片方の入力が0の場合、もう片方のデータがそのまま出
力されるものとする。
The EX-OR circuit 206 receives data 211 from the main computer 2 selected by the selector 202 and feedback data (parity data) 214 from the error correction buffer 200 in the write mode.
In the read and rebuild modes, the selector 203
The data 211 from each HDD row 17 and the feedback data (restored data) 214 from the error correction buffer 200 selected in the steps (1) and (2) are input, and the exclusive use of the data 211 and 214 in each mode is performed. A parity operation (that is, an error correction operation) is performed by taking a logical sum, and the result is stored in an error correction buffer 2.
Output to 00. The selector 207 described above is provided in the middle of the input path from the error correction buffer 200 to the EX-OR circuit 206. The selector 207 invalidates the feedback of the previous operation result stored in the error correction buffer 200 at the start of the parity operation, and substitutes the EX-OR circuit 20
6 serves as an arithmetic unit initial operation control means for outputting the data input first to the error correction buffer 200 as it is. For example, when even parity is adopted, the selector 207 receives an instruction from the CPU 30 at the start of the parity operation, and thereby selects the EX-O.
The input data 215 to the error correction buffer 200 side to the R circuit 206 is fixed to 0. In the EX-OR operation,
When one input is 0, the other data is output as it is.

【0035】こうしてEX−OR回路206で演算され
たデータは、エラー訂正用バッファ200に分配され
る。エラー訂正用バッファ200は、前述の通りパリテ
ィ演算の途中結果を格納しておくためのものであり、そ
の入力はEX−OR回路206から受け、その出力は、
セレクタ207とスリーステートバッファ208及び2
09とに伝達される。スリーステートバッファ208
は、CPU30からの指示によりイネーブル状態とな
り、リードモード時に復元データ214をバス217を
介してAバス側に出力する。また、スリーステートバッ
ファ209も、CPU30からの指示によりイネーブル
状態となり、ライトモード時にはパリティデータ214
を、またリビルドモード時には復元データ214をそれ
ぞれバス216を介してBバス側に出力する。なお、デ
ータのリビルドと、そのリビルドされたデータの外部へ
の出力(すなわちリード)とを同時に行うようにするこ
とも可能であり、この場合は、スリーステートバッファ
208と209とを双方共にイネーブル状態とし、リビ
ルドデータはライトのためにBバス側に、またリードの
ためにAバス側にそれぞれ出力される。
The data calculated by the EX-OR circuit 206 is distributed to the error correction buffer 200. The error correction buffer 200 is for storing an intermediate result of the parity operation as described above, and its input is received from the EX-OR circuit 206 and its output is
Selector 207 and three-state buffers 208 and 2
09. Three-state buffer 208
Is enabled by an instruction from the CPU 30 and outputs the restored data 214 to the A bus side via the bus 217 in the read mode. Also, the three-state buffer 209 is enabled according to an instruction from the CPU 30, and the parity data 214 in the write mode.
In the rebuild mode, the restored data 214 is output to the B bus via the bus 216. It is also possible to simultaneously rebuild the data and output (ie, read) the rebuilt data to the outside. In this case, both the three-state buffers 208 and 209 are enabled. The rebuild data is output to the B bus side for writing and to the A bus side for reading.

【0036】以下、エラー訂正回路201の動作につい
て説明する。最初にディスクアレイからデータを読み出
す場合、すなわちリードモード時の動作について説明す
る。CPU30は、各SCSIバスのHDDからデータ
を読めた順に以下の手順により処理する。まず、セレク
タ203に対しデータの読めたバスを選択させ、セレク
タ207に「0」を選択させるように指示を出す。これ
により、当該バスのデータがエラー訂正用バッファ20
0に格納される。そして、CPU30は次に読めたバス
を選択するとともに、以下この処理を繰返し行う。但
し、2回目以降のデータ転送では、セレクタ207には
データバス214を選択するように指示する。これによ
り、EX−OR回路206にはエラー訂正用バッファ2
00の記憶内容が転送されることとなる。なお、説明を
わかりやすくするために図14のエラー訂正回路201
のセレクタ203には、Bバス0〜Bバス3の4本のみ
が接続されているものとする。
The operation of the error correction circuit 201 will be described below. First, the operation of reading data from the disk array, that is, the operation in the read mode will be described. The CPU 30 processes the data in the order in which the data can be read from the HDD of each SCSI bus in accordance with the following procedure. First, the selector 203 is instructed to select the bus from which data has been read, and the selector 207 is instructed to select “0”. As a result, the data on the bus is transferred to the error correction buffer 20.
0 is stored. Then, the CPU 30 selects the next readable bus, and thereafter repeats this processing. However, in the second and subsequent data transfers, the selector 207 is instructed to select the data bus 214. As a result, the EX-OR circuit 206 has the error correction buffer 2
00 will be transferred. The error correction circuit 201 shown in FIG.
It is assumed that only four of the B bus 0 to the B bus 3 are connected to the selector 203.

【0037】Bバス0、Bバス1、Bバス2の順で排他
的論理和演算を行うものとすると、2回目のデータ転送
終了時には、Bバス0のデータとBバス1のデータとの
排他的論理和演算の結果(すなわち中間演算結果)がエ
ラー訂正用バッファ200に入っており、3回目のデー
タ転送を実行することにより、その中間演算結果とBバ
ス2のデータとの排他的論理和演算がEX−OR回路2
06によってなされる。この演算結果は、パリティ演算
の原理に従い、Bバス3のデータと同一のものとなる。
従って、3回目のデータ転送時には、エラー訂正用バッ
ファ200にはBバス3のデータが復元されることとな
る。そして、スリーステートバッファ208を駆動して
4回目の転送を実行すると、バス217から復元データ
214(Bバス3のデータ)が流れる。
Assuming that the exclusive OR operation is performed in the order of B bus 0, B bus 1, and B bus 2, at the end of the second data transfer, the data of B bus 0 and the data of B bus 1 are mutually exclusive. The result of the logical OR operation (that is, the intermediate operation result) is stored in the error correction buffer 200, and by executing the third data transfer, the exclusive OR of the intermediate operation result and the data of the B bus 2 is obtained. Calculation is EX-OR circuit 2
06. This calculation result is the same as the data on the B bus 3 according to the principle of the parity calculation.
Therefore, at the time of the third data transfer, the data on the B bus 3 is restored in the error correction buffer 200. Then, when the three-state buffer 208 is driven to perform the fourth transfer, the restored data 214 (data of the B bus 3) flows from the bus 217.

【0038】次に、ディスクアレイへデータを書き込む
場合、すなわちライトモード時の動作について説明す
る。まず、CPU30は主コンピュータからのデータの
うち、Bバス1に格納すべきデータをセレクタ202で
選択することにより、バス211上に読み出す。ここ
で、セレクタ207には上述と同様に最初のデータ転送
時のみ「0」を選択するようになっているので、このデ
ータはエラー訂正用バッファ200にそのまま格納され
る。さらにCPU30はBバス2に格納すべきデータを
読み出す。これにより、エラー訂正用バッファ200に
は、EX−OR回路206によるBバス1のデータとB
バス2のデータとの排他的論理和演算の結果が格納され
る。
Next, the operation for writing data to the disk array, that is, the operation in the write mode will be described. First, the CPU 30 selects data to be stored on the B bus 1 from data from the main computer by the selector 202 and reads out the data on the bus 211. Here, since the selector 207 selects “0” only at the time of the first data transfer in the same manner as described above, this data is stored in the error correction buffer 200 as it is. Further, the CPU 30 reads data to be stored in the B bus 2. As a result, the data on the B bus 1 and the B data by the EX-OR circuit 206 are stored in the error correction buffer 200.
The result of the exclusive OR operation with the data on the bus 2 is stored.

【0039】さらに、CPU30により、主コンピュー
タ2からBバス3に格納すべきデータ211が読み出さ
れ、EX−OR回路206により、該データ211とフ
ィードバックデータ214との排他的論理和演算が行わ
れて、その結果がエラー訂正用バッファ200書き戻さ
れる。これは、すなわちBバス1、Bバス2及びBバス
3の各データの排他的論理和、すなわちパリティデータ
となる。そして、スリーステートバッファ209は、C
PU30の指示によりパリティデータ214をバス21
6を介して出力する。
Further, data 211 to be stored in the B bus 3 is read from the main computer 2 by the CPU 30, and an exclusive OR operation of the data 211 and the feedback data 214 is performed by the EX-OR circuit 206. The result is written back to the error correction buffer 200. This is the exclusive OR of the data of the B bus 1, the B bus 2 and the B bus 3, that is, the parity data. Then, the three-state buffer 209 stores
The parity data 214 is transferred to the bus 21 according to the instruction of the PU 30.
6 and output.

【0040】最後にリビルド動作について説明する。こ
こではBバス3のHDDが交換された場合を例にとって
説明する。まず、CPU30はデータの読めたSCSI
バスから順に以下の処理をする。まず、セレクタ203
が当該バス(Bバス1とする)を選択し、セレクタ20
7が「0」を選択する。こうしておいてから、当該バス
のデータがエラー訂正用バッファ200に格納される。
CPU30は、次に読めたSCSIバスの処理を同様に
行う。ただし、2回目以降においては、セレクタ207
にフィードバックデータ214を選択するよう指示す
る。
Finally, the rebuild operation will be described. Here, a case where the HDD of the B bus 3 is replaced will be described as an example. First, the CPU 30 reads the data-read SCSI
The following processing is performed in order from the bus. First, the selector 203
Selects the bus (referred to as B bus 1), and the selector 20
7 selects "0". After this, the data of the bus is stored in the error correction buffer 200.
The CPU 30 performs the processing of the next SCSI bus similarly. However, after the second time, the selector 207
To select the feedback data 214.

【0041】リードモードの場合と同様に、Bバス0
(パリティディスク)、Bバス1、Bバス2‥‥‥の順
で排他的論理和演算を行なうものとすると、3回目のデ
ータ転送を行ったときに、EX−OR回路206の出力
は、Bバス3に以前存在していたデータ(復元データ)
となる。この復元データはエラー訂正用バッファ200
に格納され、4回目の転送でバス216を通って出力さ
れることとなる。ここで、主コンピュータ2に該データ
を出力するか否かは、リビルド動作中に主コンピュータ
2から読み出し要求があるか否かにより、CPU30に
より指示される。そして、主コンピュータ2からの読み
出し要求があった場合には、スリーステートバッファ2
08が駆動されることにより、該データがバス217を
介して主コンピュータ2へ出力される。一方、主コンピ
ュータ2からの読み出し要求がない場合は、リビルド処
理のみとされ、このときは主コンピュータ2へはデータ
を出力しない。
As in the case of the read mode, the B bus 0
(Parity disk), the exclusive OR operation is performed in the order of the B bus 1 and the B bus 2}, and when the third data transfer is performed, the output of the EX-OR circuit 206 becomes B Data that previously existed on bus 3 (restored data)
Becomes The restored data is stored in an error correction buffer 200.
And is output through the bus 216 in the fourth transfer. Here, whether or not to output the data to the main computer 2 is instructed by the CPU 30 depending on whether or not there is a read request from the main computer 2 during the rebuild operation. When there is a read request from the main computer 2, the three-state buffer 2
When 08 is driven, the data is output to the main computer 2 via the bus 217. On the other hand, when there is no read request from the main computer 2, only the rebuild process is performed, and no data is output to the main computer 2 at this time.

【0042】なお、CPU30は、各セレクタ202,
203,207及びスリーステートバッファ208,2
09に対し直接信号を与えるのではなく、モード指示ポ
ート220を介して信号を与えるようにしてもよい。
Note that the CPU 30 controls each selector 202,
203, 207 and three-state buffers 208, 2
Instead of providing a signal directly to 09, a signal may be provided via the mode instruction port 220.

【0043】以下、ディスクアレイ1のデータの読み書
き等における作動を説明する。まず、主コンピュータ2
又は拡張制御部7からディスクアレイ制御装置3へのデ
ータ書込動作についてであるが、主コンピュータ2又は
拡張制御部7は、I/F部42を通してデータ書込要求
をDMAC43に伝える。DMAC43はI/F部42
からの要求によって、RAM41にデータを書き込む。
なお、本実施例では、説明の便宜上、主コンピュータ
2、I/F部42、RAM41、及びエラー訂正ユニッ
ト40とを接続するバスを32ビット(8ビット×4
本)とし、図中に示す1本のバスは8ビットであるもの
とする。
The operation of reading / writing data from / to the disk array 1 will be described below. First, the main computer 2
Alternatively, regarding the data write operation from the extension control unit 7 to the disk array control device 3, the main computer 2 or the extension control unit 7 transmits a data write request to the DMAC 43 through the I / F unit 42. The DMAC 43 is an I / F unit 42
Writes data in the RAM 41 in response to a request from
In the present embodiment, for convenience of explanation, the bus connecting the main computer 2, the I / F unit 42, the RAM 41, and the error correction unit 40 has 32 bits (8 bits × 4).
It is assumed that one bus shown in the figure has 8 bits.

【0044】RAM41に書き込まれたデータは、DM
AC45によって読み出され、エラー訂正ユニット40
に入力される。図3にその詳細を示す。すなわち、エラ
ー訂正ユニット40に入力されたデータは、入力データ
保持・出力データ切替部50にラッチされる。ここで、
増設ボード22が主ボード20に装着されている場合、
すなわち、図2に示すようにディスクアレイ制御装置3
のSCSIバス6の本数が8(SCSI1〜SCSI
8)+1(SCSIバス0:パリティディスク)になっ
ている場合は、図4(a)に示すように、Aバス0〜3
のデータは、クロックのAの立ち上がりでCバス1〜4
に、クロックCの立ち上がりでCバス5〜8に出力され
る。なお、クロックの発生源は、図3に示すクロック5
0aである。
The data written in the RAM 41 is DM
Read by the AC 45 and the error correction unit 40
Is input to FIG. 3 shows the details. That is, the data input to the error correction unit 40 is latched by the input data holding / output data switching unit 50. here,
When the extension board 22 is mounted on the main board 20,
That is, as shown in FIG.
The number of SCSI buses 6 is 8 (SCSI1 to SCSI
8) +1 (SCSI bus 0: parity disk), as shown in FIG.
Of the C bus 1 to 4 at the rising edge of the clock A
Is output to the C buses 5 to 8 at the rising edge of the clock C. The clock is generated from the clock 5 shown in FIG.
0a.

【0045】パリティジェネレータ51は、Cバス1〜
8の排他的論理和を取ってCバス0に出力する。Cバス
0〜8のデータは、入力データ保持・出力データ切替部
52に入力され、任意のBバスに出力することが可能で
ある。本実施例では、説明の便宜上、Cバス0〜8のデ
ータをBバス0〜8に出力するように図示している。そ
して、データの分散記憶というディスクアレイの特質
上、Cバス上でのデータがCバス上で有効なのは、原デ
ータの全てのデータブロックが揃った状態、すなわち図
4ではクロックのCとEの間であるため、クロックDの
立ち下がりでRAM38にデータを書き込こむ。
The parity generator 51 has C buses 1 to
8 and outputs the result to the C bus 0. The data on the C buses 0 to 8 are input to the input data holding / output data switching unit 52 and can be output to an arbitrary B bus. In the present embodiment, for convenience of explanation, data on the C buses 0 to 8 are shown to be output to the B buses 0 to 8. Due to the characteristics of the disk array, ie, distributed storage of data, the data on the C bus is effective on the C bus only when all the data blocks of the original data are aligned, that is, in FIG. Therefore, data is written to the RAM 38 at the falling edge of the clock D.

【0046】一方、図2において主ボード20に増設ボ
ード21のみが接続されている場合、すなわちシステム
構成が4+1の場合は、図4(b)に示すように、Aバ
ス上のデータを次のクロックの立ち上がりでラッチ(ク
ロックA)し、次のクロックの立ち下がり(クロック
B)でRAM38に書き込む。RAM38に書き込まれ
たデータはDAMC37により読み出され、さらにSC
SI制御部35を通してHDD群4に転送されて、それ
ぞれ対応するHDDに書き込まれる。なお、図4(b)
のBバス5〜Bバス8の出力が出ていないのは、増設ボ
ード22が接続されていないためである。
On the other hand, in FIG. 2, when only the extension board 21 is connected to the main board 20, that is, when the system configuration is 4 + 1, as shown in FIG. Latch (clock A) at the rising edge of the clock, and write to RAM 38 at the falling edge of the next clock (clock B). The data written in the RAM 38 is read by the DAMC 37,
The data is transferred to the HDD group 4 through the SI control unit 35 and written to the corresponding HDD. FIG. 4 (b)
The output of the B bus 5 to the B bus 8 is not output because the extension board 22 is not connected.

【0047】次に、データの読出しの場合の動作につい
て図5を用いて説明する。すなわち、SCSI制御部3
5を介してHDD群4から読み出されたデータは、DM
AC37によりRAM38に書き込まれる。一方、DM
AC45はRAM38からBバス上にデータを書き出
す。書き出されたデータは、入力データ保持・出力デー
タ切替部52にラッチされてCバス上に出力される。パ
リティディスクの接続されているCバス0上には、書込
み時に計算されたパリティデータが出力される。そし
て、パリティジェネレータ51は、Cバス0上の値とC
バス1〜8のデータの排他的論理和値とを比較すること
によってパリティエラーの有無をチェックする。そし
て、パリティエラーがあった場合は、エラーのあったデ
ィスクのデータを、パリティディスクを含む他のディス
クのデータから復元(リビルド)する。なお、全系統の
データの読み込みが正常であった場合は、リビルドデー
タの生成は行われない。なお、本実施例では、Bバス0
上にパリティデータがあるものとしているが、書込時に
パリティデータを書き込む系統を変更する場合は、読み
込み時にも系統を合わせる必要がある。
Next, the operation of reading data will be described with reference to FIG. That is, the SCSI control unit 3
5, the data read from the HDD group 4 via the DM
The data is written to the RAM 38 by the AC 37. Meanwhile, DM
The AC 45 writes data from the RAM 38 onto the B bus. The written data is latched by the input data holding / output data switching unit 52 and output on the C bus. The parity data calculated at the time of writing is output on the C bus 0 to which the parity disk is connected. Then, the parity generator 51 calculates the value on the C bus 0 and C
The presence or absence of a parity error is checked by comparing the data of the buses 1 to 8 with the exclusive OR value. If there is a parity error, the data of the disk having the error is restored (rebuilt) from the data of another disk including the parity disk. If the reading of the data of all the systems is normal, the rebuild data is not generated. In this embodiment, the B bus 0
It is assumed that there is parity data above, but if the system for writing parity data is changed at the time of writing, it is necessary to match the system at the time of reading.

【0048】また、上記Cバスの値は、入力データ保持
・出力データ切替部50にも入力される。図6(a)に
示すように上記システム構成が8+1の場合には、Aバ
スには、クロックAの立ち上がりでCバス1〜4のデー
タが、またクロックCの立ち上がりでCバス5〜8のデ
ータが出力される。一方、図6(b)に示すように4+
1のシステム構成の場合は、次のクロックの立ち上がり
で、Aバス上にCバス1〜4のデータが出力される。
The value of the C bus is also input to the input data holding / output data switching unit 50. As shown in FIG. 6A, when the system configuration is 8 + 1, the data of the C buses 1 to 4 are supplied to the A bus at the rise of the clock A, and the data of the C bus 5 to 8 are supplied to the A bus at the rise of the clock C. Data is output. On the other hand, as shown in FIG.
In the case of the system configuration of 1, the data of the C buses 1 to 4 are output on the A bus at the rising edge of the next clock.

【0049】次に、あるバス上のHDDが故障してデー
タがリードできなくなり、パリティデータと他の系統の
データとから故障したデータを復元(リビルド)する場
合の動作について説明する。例えば、Bバス8(SCS
Iバス8)上のHDDが故障した場合、図5に示すよう
に、HDDから読み込まれたBバス0〜7上のデータ
は、入力データ保持・出力データ切替部52にラッチさ
れる。Cバス1〜7のデータは、リード時と同様にその
まま出力されるが、Cバス8のデータは、パリティジェ
ネレータ51でCバス0〜7のデータの排他的論理和を
取ることにより、リビルドデータ用のCバスR上に復元
される。これを、Cバス8のデータとしてAバス上に出
力する。
Next, a description will be given of an operation in a case where an HDD on a certain bus fails and data cannot be read, and the failed data is restored (rebuilt) from the parity data and data of another system. For example, B bus 8 (SCS
When the HDD on the I bus 8) fails, the data on the B buses 0 to 7 read from the HDD is latched by the input data holding / output data switching unit 52 as shown in FIG. The data on the C buses 1 to 7 are output as they are, as in the read operation. However, the data on the C bus 8 is subjected to an exclusive OR operation on the data on the C buses 0 to 7 by the parity generator 51, so that the rebuild data is obtained. Is restored on the C bus R. This is output as data on the C bus 8 onto the A bus.

【0050】次に、故障したSCSIバス上のHDDを
交換し、データを復元する場合の動作について説明す
る。すなわち、図7に示すように、この場合も上記と同
様にCバス0〜7のデータがパリティジェネレータ51
で排他的論理和演算が行われることより、CバスR上に
復元データが出力される。ここでデータは、一旦入力デ
ータ保持・出力データ切替部50に入力された後Cバス
8に出力され、これとほぼ同じタイミングでBバス8上
にデータが出力される。図6(a)に示すように、8+
1ビットのシステムにおいては、クロックDの立ち下が
りで復元データをRAM38に書き込むことによってデ
ータの復元ができる。
Next, a description will be given of the operation when replacing the HDD on the failed SCSI bus and restoring data. That is, as shown in FIG. 7, in this case as well, the data on the C buses 0 to 7 is
Performs the exclusive OR operation, the restored data is output on the C bus R. Here, the data is once input to the input data holding / output data switching unit 50 and then output to the C bus 8, and the data is output to the B bus 8 at substantially the same timing. As shown in FIG.
In a 1-bit system, data can be restored by writing the restored data to the RAM 38 at the falling edge of the clock D.

【0051】以上説明した実施例においては、主ボード
20に対し、増設ボード21及び22の2つのボードの
みが装着されているが、主ボード20に対し増設ボード
を接続しない形態、あるいは1枚のみを接続する形態、
さらには3枚以上を接続する形態というように、主ボー
ド20に対する増設ボードの接続枚数は、ディスクアレ
イ1を構築するHDDの必要台数に応じて増減可能であ
る。ここで、主ボード20は、SCSIコネクタCが最
低1つ設けられていれば、これに1本のSCSIバスに
より複数のHDDをデイジーチェーン接続することで、
それらHDDをアレイの各レーンとしたディスクアレイ
を構築することが可能である。この場合は主ボード20
が本発明でいう主ユニットを、増設ボード21及び22
が増設ユニットを構成することとなる。
In the embodiment described above, only the two boards of the extension boards 21 and 22 are mounted on the main board 20. However, a configuration in which no extension board is connected to the main board 20, or only one board Form to connect,
Further, as in the case of connecting three or more boards, the number of additional boards connected to the main board 20 can be increased or decreased according to the required number of HDDs constituting the disk array 1. Here, if at least one SCSI connector C is provided, the main board 20 daisy chain-connects a plurality of HDDs to one SCSI bus by using one SCSI bus.
It is possible to construct a disk array with these HDDs as each lane of the array. In this case, the main board 20
Are the main units referred to in the present invention as extension boards 21 and 22.
Constitutes an additional unit.

【0052】また、上記実施例においてSCSIコネク
タCは、図8に示すように主ボード20上に1つのみし
か設けられていなかったが、これを図9に示すように主
ボード20に5つ設けることも可能である。この場合、
主ボード20を主ユニット、増設ボード21、22、・
・・を増設ユニットと見ることができる。また、図10
に示すように、主ボード20にSCSIコネクタCを設
けず、増設ボード21にSCSIコネクタCを5つ設け
る構成とすることもできる。さらに、主ボード20上に
複数のコネクタ20b(図8)を設け、それらに各々増
設ボード21,22‥‥を並列的に増設する構成も可能
である。この場合、増設ボード21,22‥‥からは、
コネクタ21bあるいは22bを省略してもよい。
In the above embodiment, only one SCSI connector C is provided on the main board 20 as shown in FIG. 8, but five SCSI connectors C are provided on the main board 20 as shown in FIG. It is also possible to provide. in this case,
The main board 20 is the main unit, and the extension boards 21, 22,.
... can be regarded as an extension unit. FIG.
As shown in (1), the configuration may be such that five SCSI connectors C are provided on the extension board 21 without providing the SCSI connectors C on the main board 20. Further, a configuration is also possible in which a plurality of connectors 20b (FIG. 8) are provided on the main board 20, and additional boards 21, 22 # are respectively added to them in parallel. In this case, from the extension boards 21 and 22
The connector 21b or 22b may be omitted.

【0053】次に、上記実施例ではRAM38をダブル
バッファ構成としていたが、安価に構成しようとするな
らば、単なるシングルバッファ構成にしてもよい。この
場合はパイプライン処理によるリード/ライト処理及び
リビルド速度の向上については期待できないが、パリテ
ィ演算手段及びリビルド経路などがハードウェア化され
ていることによる処理速度向上の効果は同様に達成され
る。
Next, in the above embodiment, the RAM 38 has a double buffer configuration. However, if it is desired to configure the RAM 38 inexpensively, a simple single buffer configuration may be used. In this case, the read / write processing and the improvement of the rebuild speed by the pipeline processing cannot be expected, but the effect of the improvement of the processing speed by the hardware such as the parity calculation means and the rebuild path is similarly achieved.

【0054】また、RAM38をダブルバッファとする
代わりに、図12に示すようなデュアルポートメモリを
使用する方法もある。この場合は、RAM64が2つの
入出力バス64a,64bと、それらバス64a及び6
4bに対し共通に設けられたRAM64eと、そのRA
M64eに対し、上記2つの入出力バス64a,64b
のいずれかを選択的に接続する切替手段としてのバスス
イッチ64cとを備えている。バススイッチ64cには
アービタ64dが接続され、両バス64a,64bへの
データの入出力を指示するためのリード/ライト信号が
アービタ64dに入力されるようになっている。
There is also a method of using a dual port memory as shown in FIG. 12 instead of using the RAM 38 as a double buffer. In this case, the RAM 64 has two input / output buses 64a and 64b, and these buses 64a and 64b.
RAM 64e provided in common with 4b and its RA
M64e, two input / output buses 64a, 64b
And a bus switch 64c as switching means for selectively connecting any one of the above. An arbiter 64d is connected to the bus switch 64c, and a read / write signal for instructing input and output of data to and from the buses 64a and 64b is input to the arbiter 64d.

【0055】アービタ64dは、バス64a,64bの
うち、リード/ライト信号の到着の早かったものに対し
RAM64eが接続されるように、バススイッチ64c
の切替えを行う。この場合、アービタ64dは、後着の
バスに対してBUSY信号(あるいはWAIT信号)を
返し、先着のバスのアクセスが終了し次第、バススイッ
チ64cを該後着のバス側に切り替える。これにより、
例えば、バス64a,64bのアクセス速度が同じであ
れば、両バス64a,64bはRAM64eに対して交
互にアクセスすることとなる。そして、RAM64eの
応答速度が十分早ければ、待ち時間を含めても両側のバ
ス64a,64bのアクセス速度要求に応じることが十
分可能となり、結果として、RAM64へのデータの書
き込みと、RAM64からのデータの読み出しとを見掛
け上、並列的に実行させることが可能となる。なお、デ
ュアルポートメモリとしては、2つの入出力バス64
a,64bがいずれもランダムアクセス型のもの、一方
がランダムアクセスとなり、他方がシーケンシャルアク
セスとなるもの(例えばVRAMなど)、及びいずれも
シーケンシャルアクセスとなるもの(例えばFIFOな
ど)のいずれを使用してもよい。
The arbiter 64d has a bus switch 64c so that the RAM 64e is connected to one of the buses 64a and 64b to which the read / write signal has arrived earlier.
Is switched. In this case, the arbiter 64d returns a BUSY signal (or a WAIT signal) to the second-arriving bus, and switches the bus switch 64c to the second-arriving bus as soon as access to the first-arriving bus is completed. This allows
For example, if the access speeds of the buses 64a and 64b are the same, both buses 64a and 64b access the RAM 64e alternately. If the response speed of the RAM 64e is sufficiently fast, it is possible to respond to the access speed request of the buses 64a and 64b on both sides even if the waiting time is included. As a result, the writing of data to the RAM 64 and the data from the RAM 64 , And can be executed in parallel apparently. Incidentally, as a dual port memory, two input / output buses 64
Both a and 64b are random access types, one is random access, the other is sequential access (for example, VRAM), and both are sequential access (for example, FIFO). Is also good.

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

【図1】本発明のデスクアレイ制御システムを用いて構
成されたディスクアレイの一例の全体構成を示すブロッ
ク図。
FIG. 1 is a block diagram showing the overall configuration of an example of a disk array configured using the desk array control system of the present invention.

【図2】ディスクアレイ制御装置の電気的な構成を示す
ブロック図。
FIG. 2 is a block diagram showing an electrical configuration of the disk array control device.

【図3】データ書き込み時の動作を示すブロック図。FIG. 3 is a block diagram showing an operation during data writing.

【図4】そのタイミングチャート。FIG. 4 is a timing chart thereof.

【図5】データ読み出し時の動作を示すブロック図。FIG. 5 is a block diagram showing an operation at the time of data reading.

【図6】そのタイミングチャート。FIG. 6 is a timing chart thereof.

【図7】故障したHDDがある場合のデータ読出し及び
リビルドデータ生成時の動作を示すブロック図。
FIG. 7 is a block diagram showing an operation at the time of reading data and generating rebuilt data when there is a failed HDD;

【図8】ディスクアレイ制御装置の一例を示す外観図。FIG. 8 is an external view showing an example of a disk array control device.

【図9】その変形例を示す外観図。FIG. 9 is an external view showing a modified example thereof.

【図10】その別の変形例を示す外観図。FIG. 10 is an external view showing another modified example.

【図11】バッファをデュアルポートメモリで構成した
例を示すブロック図。
FIG. 11 is a block diagram showing an example in which a buffer is configured by a dual port memory.

【図12】バッファの変形例を示す概念図。FIG. 12 is a conceptual diagram showing a modified example of a buffer.

【図13】パリティジェネレータの一構成例の要部を示
すブロック図。
FIG. 13 is a block diagram showing a main part of a configuration example of a parity generator.

【図14】同じく別の構成例の要部を示すブロック図。FIG. 14 is a block diagram showing a main part of another configuration example.

【図15】従来のディスクアレイ装置のブロック図。FIG. 15 is a block diagram of a conventional disk array device.

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

1 ディスクアレイ 4 ハードディスク群 10〜16 ハードディスク記憶装置(ディスク記憶装
置) 20 主ボード(主ユニット) 21 SCSI制御部増設ボード(主ユニット、増設ユ
ニット) 22 SCSI制御部増設ボード(増設ユニット) 20b,21a,21b,22a,22b コネクタ
(増設ユニット装着部) 30 CPU(主制御部) 35 SCSI制御部(個別読出・書込制御部) 37 DMAコントローラ 38 RAM(バッファ)
Reference Signs List 1 disk array 4 hard disk group 10-16 hard disk storage device (disk storage device) 20 main board (main unit) 21 SCSI control unit expansion board (main unit, expansion unit) 22 SCSI control unit expansion board (expansion unit) 20b, 21a , 21b, 22a, 22b Connector (expansion unit mounting section) 30 CPU (main control section) 35 SCSI control section (individual read / write control section) 37 DMA controller 38 RAM (buffer)

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 ひとまとまりとして読み書きされるべき
データを分散して記憶するディスク記憶装置が各々1な
いし複数接続されるとともに、その接続されたディスク
記憶装置へのデータの読書制御をそれぞれ行う複数の個
別読出・書込制御部と、それら個別読出・書込制御部が
接続されるとともに、前記データが前記各ディスク記憶
装置に対して並列的に読み書きされるように、それら個
別読出・書込制御部に対し、前記読書制御を指令する主
制御部とを備えたディスクアレイ制御システムにおい
て、 前記主制御部と、 1ないし複数の前記個別読出・書込制御部と、 増設用の個別読出・書込制御部を1ないし複数備えた増
設ユニットを着脱可能に装着するための1ないし複数の
増設ユニット装着部とを備えた主ユニットを有し、 前記増設ユニット装着部に対し前記増設ユニットを装着
することにより、前記個別読出・書込制御部が当該増設
ユニット単位で増設可能とされたことを特徴とするディ
スクアレイ制御システム。
A plurality of disk storage devices for storing data to be read and written as a group in a distributed manner are respectively connected to a plurality of disk storage devices, and a plurality of disk storage devices for reading and writing data to and from the connected disk storage devices, respectively. The individual read / write control unit is connected to the individual read / write control unit, and the individual read / write control unit is configured to read / write the data in parallel with respect to each of the disk storage devices. A disk array control system comprising: a main control unit that instructs the unit to perform the reading control; the main control unit; one or more individual read / write control units; A main unit including one or a plurality of additional unit mounting units for detachably mounting an additional unit having one or more embedded control units. By mounting the extension unit to knit mounting portion, the disk array control system, characterized in that the individual reading and writing control unit is capable expansion in the expansion unit basis.
【請求項2】 前記増設ユニット装着部に前記増設ユニ
ットが装着された請求項1記載のディスクアレイ制御シ
ステム。
2. The disk array control system according to claim 1, wherein said additional unit is mounted on said additional unit mounting section.
【請求項3】 前記増設ユニットには、別の増設ユニッ
トを装着するための増設ユニット装着部が設けられ、該
別の増設ユニットは、それが装着される前記増設ユニッ
トを介して前記主ユニットに接続される請求項1又は2
に記載のディスクアレイ制御システム。
3. The extension unit is provided with an extension unit mounting portion for mounting another extension unit, and the another extension unit is connected to the main unit via the extension unit to which the extension unit is mounted. 3. A connection according to claim 1 or claim 2.
3. The disk array control system according to 1.
【請求項4】 前記増設ユニットは板状に形成され、そ
の板面上に設けられた前記増設ユニット装着部に対し、
前記別の増設ユニットがこれに積層形態で装着されるよ
うになっている請求項3記載のディスクアレイ制御シス
テム。
4. The extension unit is formed in a plate shape, and the extension unit mounting portion provided on the plate surface is
4. The disk array control system according to claim 3, wherein said another extension unit is mounted in a stacked form.
【請求項5】 前記各個別読出・書込制御部に対応し
て、該個別読出・書込制御部に接続される前記ディスク
記憶装置から読み出されるデータ又は該ディスク記憶装
置へ書き込まれるデータを一時蓄積するためのバッファ
が設けられるとともに、 前記増設ユニットには、前記個別読出・書込制御部とと
もに対応する前記バッファも設けられており、該増設ユ
ニットを前記増設ユニット装着部において前記主ユニッ
トに装着することにより、前記個別読出・書込制御部と
ともに該バッファも合わせて増設される請求項1ないし
4のいずれかに記載のディスクアレイ制御システム。
5. A method for temporarily storing data read from the disk storage device connected to the individual read / write control unit or data written to the disk storage device corresponding to each of the individual read / write control units. A buffer for storing is provided, and the extension unit is also provided with the buffer corresponding to the individual read / write control unit, and the extension unit is attached to the main unit at the extension unit attachment unit. 5. The disk array control system according to claim 1, wherein the buffer is added together with the individual read / write control unit.
【請求項6】 前記バッファは、第一及び第二のRAM
と、それらRAMに対するデータの入出力モードを、前
記第一のRAMへデータを書き込み前記第二のRAMか
らデータを読み出すモードと、前記第一のRAMからデ
ータを読み出し前記第二のRAMへデータを書き込むモ
ードとの間で切り替える切替手段とを備えている請求項
5記載のディスクアレイ制御システム。
6. The buffer according to claim 1, wherein said buffer is a first and a second RAM.
And a data input / output mode for those RAMs, a mode for writing data to the first RAM and reading data from the second RAM, and a mode for reading data from the first RAM and reading data to the second RAM. 6. The disk array control system according to claim 5, further comprising switching means for switching between a writing mode and a writing mode.
【請求項7】 前記各個別読出・書込制御部に対応し
て、前記バッファに蓄積されたデータを前記ディスク記
憶装置に対して転送し、またディスク記憶装置からのデ
ータを前記バッファに転送するためのDMAコントロー
ラが設けられており、 前記増設ユニットには、前記個別読出・書込制御部とと
もに対応する前記DMAコントローラも設けられてお
り、該増設ユニットを前記増設ユニット装着部において
前記主ユニットに装着することにより、前記個別読出・
書込制御部とともに該DMAコントローラも合わせて増
設される請求項5又は6に記載のディスクアレイ制御シ
ステム。
7. Transferring data stored in the buffer to the disk storage device and transferring data from the disk storage device to the buffer corresponding to each of the individual read / write control units. DMA controller is provided for the extension unit, and the DMA controller corresponding to the individual read / write control unit is also provided in the extension unit, and the extension unit is connected to the main unit in the extension unit mounting unit. By mounting, the individual reading and
7. The disk array control system according to claim 5, wherein the DMA controller is additionally provided together with the write control unit.
【請求項8】 前記個別読出・書込制御部は、複数台の
前記ディスク記憶装置がSCSIバスによりデイジーチ
ェーン接続されるSCSIインターフェースである請求
項1ないし7のいずれかに記載のディスクアレイ制御シ
ステム。
8. The disk array control system according to claim 1, wherein said individual read / write control unit is a SCSI interface in which a plurality of said disk storage devices are daisy-chain connected by a SCSI bus. .
【請求項9】 ひとまとまりとして読み書きされるべき
データを分散して記憶するディスク記憶装置が各々接続
されるとともに、その接続されたディスク記憶装置への
データの読書制御をそれぞれ行う複数の個別読出・書込
制御部と、それら個別読出・書込制御部が接続されると
ともに、前記データが前記各ディスク記憶装置に対して
並列的に読み書きされるように、それら個別読出・書込
制御部に対し、前記読書制御を指令する主制御部とを備
えたディスクアレイ制御システムに使用される増設ユニ
ットであって、 前記主制御部と、1ないし複数の前記個別読出・書込制
御部と、1ないし複数の増設ユニット装着部とを備えた
主ユニットの、その増設ユニット装着部に対し着脱可能
に構成されており、増設用の個別読出・書込制御部を1
ないし複数備え、該増設ユニット装着部に対し装着され
ることで、前記主ユニットに対し自身に搭載された個数
単位で前記個別読出・書込制御部を増設させることを特
徴とする増設ユニット。
9. A plurality of individual read / write units each connected to a disk storage device that stores data to be read / written in a distributed manner and that controls reading of data to / from the connected disk storage device. The write control unit and the individual read / write control units are connected, and the individual read / write control units are connected to the respective disk storage devices so that the data is read / written in parallel. An additional unit used in a disk array control system including a main control unit that instructs the reading control, wherein the main control unit, one or more individual read / write control units, A main unit having a plurality of additional unit mounting sections is configured to be detachable from the additional unit mounting section, and an individual read / write control section for expansion is provided.
A plurality of individual read / write control units that are mounted on the expansion unit mounting unit and are installed in the main unit by the number of units mounted on the main unit.
【請求項10】 前記各個別読出・書込制御部に対応し
て、該個別読出・書込制御部に接続される前記ディスク
記憶装置から読み出されるデータ又は該ディスク記憶装
置へ書き込まれるデータを一時蓄積するためのバッファ
が設けられている請求項9記載の増設ユニット。
10. Corresponding to each of said individual read / write controllers, data read from said disk storage device connected to said individual read / write controller or data written to said disk storage device is temporarily stored. 10. The expansion unit according to claim 9, further comprising a buffer for storing.
【請求項11】 前記各個別読出・書込制御部に対応し
て、前記バッファに蓄積されたデータを前記ディスク記
憶装置に対して転送し、またディスク記憶装置からのデ
ータを前記バッファに転送するためのDMAコントロー
ラが設けられている請求項10記載の増設ユニット。
11. Transferring data stored in the buffer to the disk storage device and transferring data from the disk storage device to the buffer corresponding to each of the individual read / write control units. The expansion unit according to claim 10, further comprising a DMA controller for the expansion unit.
JP9094921A 1997-03-27 1997-03-27 Disk array control system and extension unit used for the same Pending JPH10269024A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9094921A JPH10269024A (en) 1997-03-27 1997-03-27 Disk array control system and extension unit used for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9094921A JPH10269024A (en) 1997-03-27 1997-03-27 Disk array control system and extension unit used for the same

Publications (1)

Publication Number Publication Date
JPH10269024A true JPH10269024A (en) 1998-10-09

Family

ID=14123458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9094921A Pending JPH10269024A (en) 1997-03-27 1997-03-27 Disk array control system and extension unit used for the same

Country Status (1)

Country Link
JP (1) JPH10269024A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244340A (en) * 2005-03-07 2006-09-14 Hitachi Ltd Disk array device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244340A (en) * 2005-03-07 2006-09-14 Hitachi Ltd Disk array device
US7890698B2 (en) 2005-03-07 2011-02-15 Hitachi, Ltd. Disk array apparatus including control packages each having a base package and a functional package hierarchically connected to the base package

Similar Documents

Publication Publication Date Title
US7107343B2 (en) Method and apparatus for improved RAID 1 write performance in low cost systems
JPH05241870A (en) Memory controller and its method
WO1996018141A1 (en) Computer system
JPS6142049A (en) Data processing system
JP3247075B2 (en) Parity block generator
US6678768B1 (en) Method and apparatus for configuring redundant array of independent disks (RAID)
JPH0876941A (en) Disk array subsystem
JP3279248B2 (en) Switch mechanism, disk array device having the same, and computer system
CA2220974A1 (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP2981482B2 (en) Data storage system, data transfer method and data reconstruction method
JP2002123371A (en) Device and method for controlling disk array
US6513098B2 (en) Method and apparatus for scalable error correction code generation performance
USRE36448E (en) Memory controller with parity generator for an I/O control unit
JP2969251B2 (en) Data storage system and parity generation method for data storage system
JPH10269024A (en) Disk array control system and extension unit used for the same
US5875458A (en) Disk storage device
JP3771410B2 (en) Data recording system
US20080052473A1 (en) Information processing apparatus
JP2002116883A (en) Disk array controller
JP4444636B2 (en) Disk subsystem
JPH10326154A (en) Array controller and data server
JPH08202505A (en) Array type storage device
JP2721440B2 (en) Data copy method for auxiliary storage device
JP2616490B2 (en) Shared data storage method
JPH10222314A (en) Storage device array system