JPH08328758A - Disk array device - Google Patents

Disk array device

Info

Publication number
JPH08328758A
JPH08328758A JP7136840A JP13684095A JPH08328758A JP H08328758 A JPH08328758 A JP H08328758A JP 7136840 A JP7136840 A JP 7136840A JP 13684095 A JP13684095 A JP 13684095A JP H08328758 A JPH08328758 A JP H08328758A
Authority
JP
Japan
Prior art keywords
data
disk array
disk
storage area
disks
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
JP7136840A
Other languages
Japanese (ja)
Inventor
Masatoshi Ichikawa
正敏 市川
Jun Matsumoto
純 松本
Hidehiko Iwasaki
秀彦 岩崎
Soichi Isono
聡一 磯野
Kiyoshi Honda
聖志 本田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7136840A priority Critical patent/JPH08328758A/en
Publication of JPH08328758A publication Critical patent/JPH08328758A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE: To provide a more highly reliable disk array device. CONSTITUTION: This disk array device 1 is provided with five disks 4a 4e and two disk array controllers 3a and 3b. Data transferred from a host computer 2 to one of the disk array controllers are transferred through an inter-controller interface 7 to the other disk array controller and multiplexed and stored tentatively in the disk caches 11a and 11b of both disk array controllers 3a and 3b. When a fault is generated in one of the disk array controllers, the data stored in the disk cache of the other disk array controller are written back to the disks 4a-4e.

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 equipped with a disk array controller for controlling data input / output between a host computer and a plurality of disks.

【0002】[0002]

【従来の技術】信頼性の高いクライアントサーバシステ
ムを構築するために、その中核となるファイルサーバに
は高い性能が要求される。同時に、データを保持する磁
気ディスク装置等の、ファイルサーバの外部記憶装置に
ついても高い性能が要求される。それは、システム全体
の性能の向上を図る上で、記憶装置の性能がボトルネッ
クとなる場合が多いからである。
2. Description of the Related Art In order to construct a highly reliable client / server system, a core file server is required to have high performance. At the same time, high performance is required for an external storage device of a file server such as a magnetic disk device that holds data. This is because the performance of the storage device often becomes a bottleneck in improving the performance of the entire system.

【0003】そこで、記憶装置の高性能化を図るため
に、1988年、U.C.バークレイ校のパターンソン
等によって、RAID(Redundant Arra
y of Inexpencive Disks)と呼
ばれる、複数のディスクアレイ装置を備えたディスクア
レイ装置が提案されている。これは、複数のディスク装
置に同時にアクセスすることができるディスクアレイコ
ントローラを備えることにより、複数のディスク装置に
対して、同時に、データ書き戻し処理、及びデータ読出
し処理を行うことを可能とし、データ入出力の高速化を
図ったものである。例えば、ホストコンピュータから、
ディスク装置へのデータの書き戻しが指示されると、デ
ィスクアレイコントローラは、ホストコンピュータから
転送されたデータを分割する。そして、分割されたデー
タを、同時に、複数のディスク装置に分散して書き戻
す。その結果、データの書き戻しに要する時間が短縮さ
れることになる。また、この時、複数のディスク装置に
分散されて格納されるデータ群に対応するエラー訂正符
号が計算され、これが、複数のディスク装置の内の特定
のディスク装置に格納される。このようにしたのは、1
台のディスク装置に何らかの障害が発生し、前記データ
群の内のデータがいくつかが失われた場合でも、このエ
ラー訂正符号と、前記データ群の内の、他のディスク装
置に格納されたデータとによって、失われたデータを再
生することを可能として、信頼性の向上を図るためであ
る。なお、このようなディスクアレイ装置は、RAID
のレベルと呼ばれる、5つの方式に分類されている。
In order to improve the performance of the storage device, U.S.A. C. RAID (Redundant Arra) by Patternson of Berkeley
There has been proposed a disk array device including a plurality of disk array devices called y of Inexpensive Disks. By providing a disk array controller that can access multiple disk devices at the same time, it is possible to simultaneously perform data write-back processing and data read processing for multiple disk devices. This is intended to speed up output. For example, from the host computer
When the write back of data to the disk device is instructed, the disk array controller divides the data transferred from the host computer. Then, the divided data is simultaneously distributed to a plurality of disk devices and written back. As a result, the time required to write back the data is shortened. At this time, an error correction code corresponding to the data group distributed and stored in the plurality of disk devices is calculated, and this is stored in a specific disk device among the plurality of disk devices. I did this
Even if some failure occurs in one disk device and some data in the data group is lost, this error correction code and the data stored in another disk device in the data group This is because it is possible to reproduce the lost data and improve the reliability. In addition, such a disk array device is
It is classified into five methods called "level".

【0004】[0004]

【発明が解決しようとする課題】さて、上記のようなデ
ィスクアレイ装置においては、複数のディスクアレイ装
置の内の特定のディスクアレイ装置に格納されたエラー
訂正符号により、ディスクアレイ装置に障害が発生した
場合のデータの安全性が確保されているが、ディスクア
レイコントローラに障害が発生した場合のデータの安全
性については考慮されていない。すなわち、ホストコン
ピュータからデータが転送されてから、このデータをデ
ィスクアレイ装置に格納し終わる迄の間に、ディスクコ
ントローラのディスクキャッシュに一旦格納されたデー
タの安全性は保証されない。また、それがディスクコン
トローラのディスクキャッシュには影響が及ばない障害
であっても、ディスクアレイ装置へのデータの入出力が
完全に不可能となる可能性がある。
In the disk array device as described above, a failure occurs in the disk array device due to the error correction code stored in a specific disk array device among the plurality of disk array devices. However, the safety of data when a disk array controller fails is not considered. That is, the safety of the data once stored in the disk cache of the disk controller cannot be guaranteed between the time when the data is transferred from the host computer and the time when this data is completely stored in the disk array device. Even if it is a failure that does not affect the disk cache of the disk controller, there is a possibility that data input / output to / from the disk array device is completely impossible.

【0005】そこで、本発明は、より信頼性の高いディ
スクアレイ装置を提供することを目的とする。また、こ
のようなディスクアレイ装置のデータ入出力処理を、よ
り高速化することを目的とする。
Therefore, an object of the present invention is to provide a more reliable disk array device. Another object is to speed up the data input / output processing of such a disk array device.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、複数のディスクと、ホストコンピュータ
と前記複数のディスクとの間のデータの入出力を制御す
る、2つのディスクアレイコントローラと、前記2つの
ディスクアレイコントローラは、各々、ホストコンピュ
ータから転送されたデータを、他方のディスクアレイコ
ントローラに転送する転送手段と、ホストコンピュータ
から転送されたデータを記憶する第1の記憶領域と、他
方のディスクアレイコントローラから転送されたデータ
を記憶する第2の記憶領域とを有するディスクキャッシ
ュと、前記ディスクキャッシュの第1の記憶領域が記憶
するデータの書き戻しを指示する制御手段とを備え、前
記制御手段が指示する指示に従い、ディスクキャッシュ
の前記第1の記憶領域のデータのうちの前記複数のディ
スクに書き戻していないデータ、もしくは、第二の記憶
領域に記憶されたデータのうちの他方のディスクアレイ
コントローラによって前記複数のディスクに書き戻され
ていないデータを、前記複数のディスクに書き戻す書き
戻し手段と、前記制御手段は、前記ディスクキャッシュ
の第1の記憶領域が記憶するデータの書き戻しに障害が
生じたときには、他方のディスクアレイコントローラの
制御手段に、前記他方のディスクアレイコントローラの
ディスクキャッシュの第二の記憶領域が記憶するデータ
の書き戻しを指示し、前記他方のディスクアレイコント
ローラの制御手段から前記ディスクキャッシュの第二の
記憶領域が記憶するデータの書き戻しを指示されたとき
には、前記書き戻し手段に前記ディスクキャッシュの第
二の記憶領域が記憶するデータの書き戻しを指示するこ
とを特徴とするディスクアレイ装置を提供する。
In order to achieve the above object, the present invention provides a plurality of disks and two disk array controllers for controlling input / output of data between a host computer and the plurality of disks. And each of the two disk array controllers has a transfer means for transferring the data transferred from the host computer to the other disk array controller, and a first storage area for storing the data transferred from the host computer. A disk cache having a second storage area for storing data transferred from the other disk array controller; and a control means for instructing write back of data stored in the first storage area of the disk cache, According to an instruction given by the control means, the first storage of the disk cache. Data that has not been written back to the plurality of disks of the area data, or data that has not been written back to the plurality of disks by the other disk array controller of the data stored in the second storage area. The write-back means for writing back to the plurality of disks, and the control means, when the write-back of the data stored in the first storage area of the disk cache fails, the control means of the other disk array controller Data for writing back data stored in the second storage area of the disk cache of the other disk array controller, and data stored in the second storage area of the disk cache from the control means of the other disk array controller Is instructed to write back the To provide a disk array system, wherein the second storage area of the click cache instructs the write back of data to be stored.

【0007】[0007]

【作用】本発明に係るディスクアレイ装置によれば、2
つのディスクアレイコントローラにより、ホストコンピ
ュータと前記複数のディスクとの間のデータの入出力が
制御される。すなわち、2つのディスクアレイコントロ
ーラのうちの、ホストコンピュータからデータを転送さ
れたディスクアレイコントローラのディスクキャッシュ
の第1の記憶領域には、前記データが記憶され、他方の
ディスクアレイコントローラのディスクキャッシュの第
2の記憶領域記憶には、ホストコンピュータからデータ
を転送されたディスクアレイコントローラの転送手段に
より転送されたデータが記憶される。そして、前記制御
手段が、ディスクキャッシュの第1の記憶領域が記憶す
るデータの書き戻しを指示すると、前記書き戻し手段
は、その指示に従い、ディスクキャッシュの前記第1の
記憶領域のデータのうちの前記複数のディスクに書き戻
していないデータを前記複数のディスクに書き戻されて
いないデータを、前記複数のディスクに書き戻す。しか
し、前記ディスクキャッシュの第1の記憶領域が記憶す
るデータの書き戻しに障害が生じたときには、前記制御
手段は、他方のディスクアレイコントローラの制御手段
に、前記他方のディスクアレイコントローラのディスク
キャッシュの第二の記憶領域が記憶するデータの書き戻
しを指示する。一方、前記制御手段は、前記他方の前記
他方のディスクアレイコントローラの制御手段からディ
スクキャッシュの第二の記憶領域が記憶するデータの書
き戻しを指示されたときには、その指示に従い、前記書
き戻し手段に前記ディスクキャッシュの第二の記憶領域
が記憶するデータの書き戻しを指示する。そして、前記
書き戻し手段は、その指示に従い、前記ディスクキャッ
シュの第二の記憶領域に記憶されたデータのうちの他方
のディスクアレイコントローラによって前記複数のディ
スクに書き戻されていないデータを、前記複数のディス
クに書き戻す。
According to the disk array device of the present invention, 2
One disk array controller controls data input / output between the host computer and the plurality of disks. That is, of the two disk array controllers, the data is stored in the first storage area of the disk cache of the disk array controller to which the data is transferred from the host computer, and the data is stored in the first storage area of the disk cache of the other disk array controller. The data transferred by the transfer means of the disk array controller to which the data has been transferred from the host computer is stored in the second storage area storage. Then, when the control means gives an instruction to write back the data stored in the first storage area of the disk cache, the write back means follows the instruction and outputs the data stored in the first storage area of the disk cache. Data that has not been written back to the plurality of disks is written back to data that has not been written back to the plurality of disks. However, when a failure occurs in the write back of the data stored in the first storage area of the disk cache, the control means causes the control means of the other disk array controller to control the disk cache of the other disk array controller. Instruct write-back of the data stored in the second storage area. On the other hand, when the control means is instructed by the control means of the other disk array controller to write back the data stored in the second storage area of the disk cache, the control means instructs the write back means to follow the instruction. An instruction is given to write back the data stored in the second storage area of the disk cache. Then, according to the instruction, the write-back unit writes the data not written back to the plurality of disks by the other disk array controller of the data stored in the second storage area of the disk cache. Write back to the disc.

【0008】このような構成により、ホストコンピュー
タから転送されたデータは、一方のディスクアレイコン
トローラのディスクキャッシュの第一の領域と、他方の
ディスクアレイコントローラのディスクキャッシュの第
二の領域とに多重化されて記憶されるので、ディスクキ
ャッシュの第1の記憶領域が記憶するデータの書き戻し
に障害が生じた場合であっても、他方のディスクアレイ
コントローラのディスクキャッシュの第二の記憶領域が
記憶するデータを、複数のディスクに書き戻すことがで
きる。すなわち、ホストコンピュータからデータが転送
されてから、このデータをディスクアレイ装置に格納し
終わる迄の間のデータの安全性が保証される。また、こ
のようにディスクコントローラを複数備えるこよって、
いづれかのディスクコントローラに障害が生じた場合で
あっても、ディスクアレイ装置へのデータの入出力が完
全に不可能となることがない。
With this configuration, the data transferred from the host computer is multiplexed into the first area of the disk cache of one disk array controller and the second area of the disk cache of the other disk array controller. Therefore, even if the write back of the data stored in the first storage area of the disk cache fails, the second storage area of the disk cache of the other disk array controller stores the data. Data can be written back to multiple discs. That is, the safety of data from the time when the data is transferred from the host computer to the time when the data is completely stored in the disk array device is guaranteed. Also, by providing multiple disk controllers in this way,
Even if one of the disk controllers fails, data input / output to / from the disk array device is not completely disabled.

【0009】[0009]

【実施例】以下、添付の図面を参照しながら、本発明に
係る実施例を説明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

【0010】まず、図1を参照しながら、本実施例に係
るディスクアレイ装置1の基本的な構成について説明す
る。なお、本実施例に係るディスクアレイ装置1には従
来の技術の項で説明したRAIDの内のレベル5に相当
するRAID5を採用することとし、ここでは、例えば
エラー訂正符号の作成方法や、入力されたデータの分割
方法等といった、RAID5で行われる処理として一般
的に知られているものについての説明は省略する。
First, the basic configuration of the disk array device 1 according to this embodiment will be described with reference to FIG. It should be noted that the disk array device 1 according to the present embodiment employs RAID5 corresponding to level 5 of RAID described in the section of the prior art, and here, for example, a method of creating an error correction code and an input Descriptions of processes generally known as processes performed in RAID5, such as the divided data division method, are omitted.

【0011】本ディスクアレイ装置1は、図1に示すよ
うに、5台のディスク4a,4b,4c,4d,4eと、2
台のディスクアレイコントローラ3a,3bとを備え
る。
As shown in FIG. 1, this disk array device 1 includes five disks 4a, 4b, 4c, 4d, 4e and 2 disks.
And a disk array controller 3a, 3b.

【0012】さて、ディスクアレイコントローラ3a,
3bの構成についての詳細は後述することとして、ま
ず、各ブロック間のデータ転送経路について説明してお
く。
The disk array controller 3a,
The details of the configuration of 3b will be described later. First, the data transfer path between the blocks will be described.

【0013】図1に示すように、各ディスク4a,4b,
4c,4d,4eの間は、相互にデータが転送できるよう
に、ディスクインタフェイス6によって接続されてい
る。
As shown in FIG. 1, each disk 4a, 4b,
The disks 4c, 4d and 4e are connected by a disk interface 6 so that data can be transferred to each other.

【0014】ディスクアレイコントローラ3a,3bの
間も、同様に、コントローラ間インタフェイス7によっ
て相互に接続されている。さらにディスクアレイコント
ローラ3a,3bの間は、このコントローラ間インター
フェース7以外のコントローラ間インターフェース13
によって接続されているが、これは、主に、ディスク4
a、4eとディスクアレイコントローラ3a,3bとの
接続に発生した障害を回避することを目的として設けら
れたものである。例えば、ディスクアレイコントローラ
3aによってディスク4a,4b,4c,4d,4eからデ
ータを読み出す時に、ディスク4aとディスクアレイコ
ントローラ3aとの間の接続Aに何らかの障害が発生し
た場合、ディスク4eとディスクアレイコントローラ3
bとの間の接続Bを利用して、ディスクアレイコントロ
ーラ3b側がディスク4a,4b,4c,4d,4eから読
み出したデータをディスクアレイコントローラ3a側へ
転送するという補助的なデータ転送経路を提供するもの
である。
Similarly, the disk array controllers 3a and 3b are mutually connected by the inter-controller interface 7. Further, the inter-controller interface 13 other than the inter-controller interface 7 is provided between the disk array controllers 3a and 3b.
It is mainly connected to disk 4 though it is connected by
It is provided for the purpose of avoiding a failure that has occurred in the connection between a and 4e and the disk array controllers 3a and 3b. For example, when the disk array controller 3a reads data from the disks 4a, 4b, 4c, 4d, and 4e, if some failure occurs in the connection A between the disk 4a and the disk array controller 3a, the disk 4e and the disk array controller Three
By using the connection B between the disk array controller 3b and the disk array controller 3b, an auxiliary data transfer path is provided in which the disk array controller 3b side transfers the data read from the disks 4a, 4b, 4c, 4d, 4e to the disk array controller 3a side. It is a thing.

【0015】また、各ディスクアレイコントローラ3
a,3bは、それぞれ、ホストコンピュータ2との間で
データを転送できるようにホストインタフェイス5a、
5bによってホストコンピュータ2に接続されている。
Further, each disk array controller 3
a and 3b are host interfaces 5a and 5b, respectively, so that data can be transferred to and from the host computer 2.
It is connected to the host computer 2 by 5b.

【0016】さて、ここで、前述したように、本実施例
に係るディスクアレイ装置1の備える、2つのディスク
アレイコントローラ3a,3bの基本的な構成について
説明する。
Now, as described above, the basic configuration of the two disk array controllers 3a and 3b included in the disk array device 1 according to this embodiment will be described.

【0017】図1のディスクアレイコントローラ3a,
3bは、図2に示すように、それぞれ、ホストコンピュ
ータ2との間のデータの転送を制御するホストインタフ
ェイス制御回路8a,8bと、ディスク4a,4b,4c,
4d,4eとの間のデータの転送を制御するディスクイ
ンタフェイス制御回路9a,9bと、他方のディスクア
レイコントローラ3b、3aとの間のデータの転送を制
御するコントローラ間インタフェイス制御回路10a,
10bと、ホストコンピュータ2から転送されたデータ
等を記憶するディスクキャッシュ11a,11bと、デ
ィスクキャッシュ11a,11bへのデータの格納等を
制御する転送制御回路501a,501bと、各ブロッ
クの制御等を行うマイクロプロセッサ502a,502
bと、ディスクキャッシュ11a,11bに格納された
データから所定のデータ形式の冗長データを生成する冗
長データ生成回路503a,503bと、ディスクアレ
イコントローラ3a,3bに固有の識別子(製造番号
等)等が格納されているROMとマイクロプロセッサ5
02a,502bが処理を実行する際にキャッシュ等と
して使用されるRAMとを有するマイクロプロセッサ用
メモリ505a,505bと、マイクロプロセッサ50
2a,502bからの制御信号の送信及びマイクロプロ
セッサ502a,502bからマイクロプロセッサ用メ
モリ505a,505bへのアクセス等を制御するマイ
クロプロセッサ制御回路504a,504b等とを備え
る。
The disk array controller 3a shown in FIG.
As shown in FIG. 2, 3b includes host interface control circuits 8a and 8b for controlling data transfer with the host computer 2 and disks 4a, 4b, 4c, and 4b, respectively.
Disk interface control circuits 9a and 9b for controlling data transfer between the disk array controllers 4d and 4e, and inter-controller interface control circuit 10a for controlling data transfer between the other disk array controllers 3b and 3a.
10b, disk caches 11a, 11b for storing data transferred from the host computer 2, transfer control circuits 501a, 501b for controlling data storage in the disk caches 11a, 11b, and control of each block. Microprocessors 502a, 502
b, redundant data generation circuits 503a and 503b that generate redundant data of a predetermined data format from the data stored in the disk caches 11a and 11b, and identifiers (such as serial numbers) unique to the disk array controllers 3a and 3b. Stored ROM and microprocessor 5
02a and 502b, and microprocessor memories 505a and 505b each having a RAM used as a cache or the like when executing a process, and the microprocessor 50
2a and 502b, and microprocessor control circuits 504a and 504b that control the transmission of control signals from the microprocessors 502a and 502b to the microprocessor memories 505a and 505b.

【0018】マイクロプロセッサ用メモリ505a,5
05bのROMに格納された識別子は、製造時に、各デ
ィスクアレイコントローラ3a,3bに対して、重複す
ることなく割りふられて設定されたものであり、マイク
ロプロセッサ502a,502bが自身の制御するディ
スクアレイコントローラ3a,3bを識別する場合等に
参照される。なお、識別子の設定は、ホストコンピュー
タ2に本ディスクアレイ装置1を接続する際に、ホスト
コンピュータ2側で行うようにしても構わない。ただ
し、この場合には、各ディスクアレイコントローラ3
a,3bの識別子がホストコンピュータ2に管理される
ので、各ディスクアレイコントローラ3a,3bのマイ
クロプロセッサ502a,502bは、自身の制御する
ディスクアレイコントローラ3a,3bを識別する場合
等には、ホストコンピュータ2に識別子を問い合わせる
必要がある。
Microprocessor memory 505a, 5
The identifier stored in the ROM of 05b is assigned to each of the disk array controllers 3a and 3b at the time of manufacture without being duplicated and set, and the disks controlled by the microprocessors 502a and 502b are controlled by the identifiers. It is referred to when identifying the array controllers 3a and 3b. The identifier may be set on the host computer 2 side when the disk array device 1 is connected to the host computer 2. However, in this case, each disk array controller 3
Since the identifiers a and 3b are managed by the host computer 2, the microprocessors 502a and 502b of the respective disk array controllers 3a and 3b are required to identify the disk array controllers 3a and 3b controlled by themselves by the host computer. It is necessary to ask 2 for the identifier.

【0019】各ディスクアレイコントローラ3a,3b
のディスクキャッシュ11a,11bは、それぞれ、図
3に示すように、ホストコンピュータ2から転送された
データを格納するデータ記憶領域403a,403b
と、他方のディスクアレイコントローラ3b,3aから
転送されたデータを記憶する多重化データ記憶領域40
1と、多重化データ記憶領域401a,401bに記憶
されたデータを管理するための管理情報(後述)を記憶
する管理情報記憶領域402a,402bとを有する。
なお、本実施例では、それぞれ無停電電源装置によっ
て、2つのディスクアレイコントローラ3a,3bの負
荷電力の連続性が確保されているので、急な停電等によ
っても、ディスクキャッシュ11a,11bのデータの
内容が失われたりすることがない。
Each disk array controller 3a, 3b
As shown in FIG. 3, the disk caches 11a and 11b of the respective disk caches 11a and 11b are data storage areas 403a and 403b for storing the data transferred from the host computer 2, respectively.
And a multiplexed data storage area 40 for storing data transferred from the other disk array controller 3b, 3a.
1 and management information storage areas 402a and 402b for storing management information (described later) for managing the data stored in the multiplexed data storage areas 401a and 401b.
In this embodiment, since the uninterruptible power supply devices ensure the continuity of the load powers of the two disk array controllers 3a and 3b, the data in the disk caches 11a and 11b can be saved even when the power is suddenly cut. No content is lost.

【0020】また、多重化データ記憶領域401a,4
01bとデータ記憶領域403a,403bは、各々、
データの入出力の単位となる、データ容量の等しい16
個の論理ブロックに分割されている。なお、データ記憶
領域403a,403bは、ディスク4a,4b,4c,4
d,4eへのデータ書き戻し時に生じるオーバヘッドを
解決するために、RAID5において一般的に設けられ
ているデータバッファなので、ここでは、これについて
の説明を省略する。
Further, the multiplexed data storage areas 401a, 4a
01b and the data storage areas 403a and 403b are respectively
16 with the same data capacity, which is the unit of data input / output
It is divided into logical blocks. The data storage areas 403a and 403b are used for the disks 4a, 4b, 4c and 4
This is a data buffer generally provided in RAID 5 in order to solve the overhead that occurs when data is written back to d and 4e, so a description thereof will be omitted here.

【0021】さて、図3の管理情報記憶領域402a,
402bに記憶される管理情報について、図4を参照し
ながら説明する。なお、この管理情報は、多重化データ
記憶領域401a,401b及びデータ記憶領域403
a,403bの各論理ブロックについて各々作成される
ものである。
Now, the management information storage area 402a of FIG.
The management information stored in 402b will be described with reference to FIG. The management information is stored in the multiplexed data storage areas 401a and 401b and the data storage area 403.
It is created for each of the logical blocks a and 403b.

【0022】さて、多重化データ記憶領域401a,4
01b及びデータ記憶領域403a,403bの論理ブ
ロック毎に作成された管理情報A1…A32は、それぞ
れ、図4に示すように、ROMに記憶された識別子41
と、対応する論理ブロック内に記憶されているデータを
書き戻すディスク4a,4b,4c,4d,4e上の領域の
先頭アドレス42と、対応する論理ブロックに記憶され
ているデータの容量44と、対応する論理ブロックの先
頭アドレス43と、論理ブロックに対応付けられた論理
ブロック番号45と、論理ブロックに記録されたデータ
に付すタグ46と、論理ブロックの状態を表すステータ
ス情報47とを保持する。そして、ステータス情報47
は、図5に示すように、データ中の各ビットによって論
理ブロックの状態を表す2バイトのデータである。すな
わち、ビット51は、管理情報が多重化データ記憶領域
401a,401bあるいはデータ記憶領域403a,4
03bのいづれの論理ブロックに記憶されたものである
かを示し、ビット52は、対応する論理ブロックにデー
タが記憶されているか否かを示し、ビット53は、対応
する論理ブロックに記憶されているデータがディスク4
a,4b,4c,4d,4eに書き戻されているか否かを示
し、ビット54は、対応する論理ブロックに記憶されて
いるデータが他方のディスクアレイコントローラのキャ
ッシュにも記憶されているか否かを示す。なお、本実施
例では、ビット51が立っていたら、管理情報が多重化
データ記憶領域401a,401bの論理ブロックに対
応するものであることを示し、ビット51が降りていた
ら、管理情報がデータ記憶領域403a,403bの論
理ブロックに対応するものであるかを示す。また、ビッ
ト52が立っていたら、対応する論理ブロックにデータ
が記憶されていることを示し、ビット53が立っていた
ら、対応する論理ブロックに記憶されているデータがデ
ィスク4a,4b,4c,4d,4eに書き戻されているこ
とを示し、ビット54が立っていたら、対応する論理ブ
ロックに記憶されているデータが他方のディスクアレイ
コントローラのキャッシュにも記憶されていることを示
す。そして、これと反対の状態である場合には、対応す
るビット51,52,53,54を降ろす。
Now, the multiplexed data storage areas 401a, 4a
01b and the management information A 1 ... A 32 created for each logical block of the data storage areas 403a and 403b are the identifiers 41 stored in the ROM as shown in FIG.
A head address 42 of an area on the disks 4a, 4b, 4c, 4d, 4e for writing back the data stored in the corresponding logical block, and a capacity 44 of the data stored in the corresponding logical block, It holds the start address 43 of the corresponding logical block, the logical block number 45 associated with the logical block, the tag 46 attached to the data recorded in the logical block, and the status information 47 indicating the state of the logical block. And status information 47
Is 2-byte data representing the state of the logical block by each bit in the data, as shown in FIG. That is, in the bit 51, the management information is multiplexed data storage areas 401a and 401b or data storage areas 403a and 4b.
03b indicates whether the data is stored in the corresponding logical block, bit 52 indicates whether data is stored in the corresponding logical block, and bit 53 is stored in the corresponding logical block. Data is disk 4
a, 4b, 4c, 4d, 4e indicates whether or not it has been written back, and bit 54 indicates whether or not the data stored in the corresponding logical block is also stored in the cache of the other disk array controller. Indicates. In this embodiment, if the bit 51 is set, it indicates that the management information corresponds to the logical block of the multiplexed data storage areas 401a and 401b. If the bit 51 is set, the management information is stored in the data. It shows whether or not it corresponds to the logical blocks of the areas 403a and 403b. If the bit 52 is set, it indicates that the data is stored in the corresponding logical block, and if the bit 53 is set, the data stored in the corresponding logical block is the disks 4a, 4b, 4c, 4d. , 4e, and if bit 54 is set, it indicates that the data stored in the corresponding logical block is also stored in the cache of the other disk array controller. Then, when the state is opposite to this, the corresponding bits 51, 52, 53, 54 are cleared.

【0023】以上で、本実施例に係るディスクアレイ装
置1の基本的な構成についての説明が終わったので、以
下、このような構成からなるディスクアレイ装置1で行
われる、ホストコンピュータ2からの要求に対する応答
時の処理について説明する。
Since the basic configuration of the disk array device 1 according to this embodiment has been described above, the request from the host computer 2 made in the disk array device 1 having such a configuration will be described below. The process at the time of responding to is explained.

【0024】まず、ホストコンピュータ2から転送され
たデータを、各ディスクアレイコントローラ3a,3b
のディスクキャッシュ11a,11bに格納するための
データ多重化処理について、図6を参照しながら説明す
る。ただし、以下、ディスクアレイコントローラ3aの
識別子が0001と設定され、ディスクアレイコントロ
ーラ3bの識別子が0002と設定されているものとす
る。
First, the data transferred from the host computer 2 is transferred to each disk array controller 3a, 3b.
The data multiplexing process for storing the data in the disk caches 11a and 11b will be described with reference to FIG. However, hereinafter, it is assumed that the identifier of the disk array controller 3a is set to 0001 and the identifier of the disk array controller 3b is set to 0002.

【0025】さて、ホストコンピュータ2からディスク
アレイコントローラ3a側にデータが転送されると、デ
ィスクアレイコントローラ3a側では、マイクロプロセ
ッサ502a(不図示)の指示により、以下に示すよう
な処理が行われる。
When data is transferred from the host computer 2 to the disk array controller 3a side, the following processing is performed on the disk array controller 3a side according to an instruction from the microprocessor 502a (not shown).

【0026】まず、転送制御回路501aは、ホストイ
ンタフェイス制御回路8aで受信したデータ(矢印A)
をデータ記憶領域403aの未使用の論理ブロックに格
納する(矢印B)。詳細には、マイクロプロセッサ50
2aが、管理情報記憶領域402aに記憶された管理情
報を参照し、ビット51とビット52とが降りているス
テータス情報47を含む管理情報の内で、最小の論理ブ
ロック番号45に対応付けられた論理ブロックの先頭ア
ドレス43を得たら、転送制御回路501aが、この先
頭アドレスから始まる多重化データ記憶領域401aの
論理ブロックに、受信したデータを格納する。ところ
で、このとき、データ記憶領域403aの論理ブロック
が全て使用中である場合には、既にディスク4a,4b,
4c,4d,4eにデータを格納し終えた論理ブロック
に、受信したデータを格納する。詳細には、マイクロプ
ロセッサ502aが、ディスクキャッシュ11aの管理
情報記憶領域402aに記憶された管理情報を参照し
て、ビット51とビット54が降りたステータス情報4
7を含む管理情報の内で、最小の論理ブロック番号45
に対応付けられた論理ブロックの先頭アドレス43を得
たら、転送制御回路501aが、この先頭アドレスから
始まる多重化データ記憶領域401aの論理ブロック
に、受信したデータを格納する。なお、論理ブロック番
号45が1である論理ブロックにデータが格納されたも
のとする。
First, the transfer control circuit 501a receives the data (arrow A) received by the host interface control circuit 8a.
Is stored in an unused logical block of the data storage area 403a (arrow B). Specifically, the microprocessor 50
2a refers to the management information stored in the management information storage area 402a, and is associated with the smallest logical block number 45 in the management information including the status information 47 in which the bit 51 and the bit 52 are down. When the start address 43 of the logical block is obtained, the transfer control circuit 501a stores the received data in the logical block of the multiplexed data storage area 401a starting from this start address. By the way, at this time, if all the logical blocks of the data storage area 403a are in use, the disks 4a, 4b,
The received data is stored in the logical blocks whose data has been stored in 4c, 4d, and 4e. More specifically, the microprocessor 502a refers to the management information stored in the management information storage area 402a of the disk cache 11a and refers to the status information 4 in which the bit 51 and the bit 54 are down.
Of the management information including 7, the smallest logical block number 45
When the start address 43 of the logical block associated with is obtained, the transfer control circuit 501a stores the received data in the logical block of the multiplexed data storage area 401a starting from this start address. It is assumed that the data is stored in the logical block whose logical block number 45 is 1.

【0027】このとき、マイクロプロセッサ502a
は、このデータに付けるタグを一意に決定して、値が1
である論理ブロック番号45を含む管理情報を更新す
る。そして、転送制御回路501aは、データ記憶領域
403aに格納されたデータと共に、このデータに付け
られたタグ0003を、コントローラ間インタフェイス
制御回路10aへと転送する。そして、コントローラ間
インタフェイス制御回路10aは、これらを、コントロ
ーラ間インタフェース7を介して、他方のディスクアレ
イコントローラ3b側へと転送する。
At this time, the microprocessor 502a
Uniquely determines the tag to be attached to this data, and the value is 1
The management information including the logical block number 45 is updated. Then, the transfer control circuit 501a transfers the tag 0003 attached to this data together with the data stored in the data storage area 403a to the inter-controller interface control circuit 10a. Then, the inter-controller interface control circuit 10a transfers these to the other disk array controller 3b side via the inter-controller interface 7.

【0028】一方、ディスクアレイコントローラ3a側
からデータとタグ0003とが転送されると、ディスク
アレイコントローラ3b側では、マイクロプロセッサ5
02b(不図示)の指示により、以下に示すような処理
が行われる。
On the other hand, when the data and the tag 0003 are transferred from the disk array controller 3a side, the microprocessor 5 is transferred to the disk array controller 3b side.
02b (not shown) performs the following processing.

【0029】まず、転送制御回路501bは、ホストイ
ンタフェイス制御回路8bで受信したデータを多重化デ
ータ記憶領域401bの未使用の論理ブロックに格納す
る(矢印C)。詳細には、マイクロプロセッサ502b
が、管理情報記憶領域402bに記憶された管理情報を
参照して、ビット51が立ち、かつビット52が降りた
ステータス情報47を含む管理情報の内で、最小の論理
ブロック番号45に対応付けられた論理ブロックの先頭
アドレス43を得たら、転送制御回路501bが、この
先頭アドレスから始まる多重化データ記憶領域401b
の論理ブロックに、受信したデータを格納する。このと
き、多重化データ記憶領域401bの論理ブロックが全
て使用中である場合には、受信したデータを、既にディ
スク4a,4b,4c,4d,4eにデータを格納し終えた
論理ブロックに格納する。詳細には、マイクロプロセッ
サ502bが、ディスクキャッシュ11bの管理情報記
憶領域402bに記憶された管理情報を参照して、ビッ
ト51が立ち、かつビット54が降りたステータス情報
47を含む管理情報の内で、最小の論理ブロック番号4
5に対応付けられた論理ブロックの先頭アドレス43を
得たら、転送制御回路501bが、この先頭アドレスか
ら始まる多重化データ記憶領域401bの論理ブロック
に、受信したデータを格納する。なお、ここで論理ブロ
ック番号45が17である論理ブロックにデータが格納
されたものとする。
First, the transfer control circuit 501b stores the data received by the host interface control circuit 8b in an unused logical block of the multiplexed data storage area 401b (arrow C). Specifically, microprocessor 502b
Is referred to the management information stored in the management information storage area 402b, and is associated with the smallest logical block number 45 in the management information including the status information 47 in which the bit 51 is set and the bit 52 is set down. When the start address 43 of the logical block is obtained, the transfer control circuit 501b causes the multiplexed data storage area 401b starting from this start address.
The received data is stored in the logical block of. At this time, if all the logical blocks in the multiplexed data storage area 401b are in use, the received data is stored in the logical blocks whose data has already been stored in the disks 4a, 4b, 4c, 4d, 4e. . More specifically, the microprocessor 502b refers to the management information stored in the management information storage area 402b of the disk cache 11b and refers to the management information including the status information 47 in which the bit 51 is set and the bit 54 is set in the management information. , The smallest logical block number 4
When the start address 43 of the logical block associated with No. 5 is obtained, the transfer control circuit 501b stores the received data in the logical block of the multiplexed data storage area 401b starting from this start address. It is assumed here that data is stored in the logical block whose logical block number 45 is 17.

【0030】このとき、マイクロプロセッサ502b
は、値が17である論理ブロック番号45を含む管理情
報を更新する。なお、管理情報に保持されるタグ46と
しては、ディスクアレイコントローラ3b側から転送さ
れたタグ0003を用いる。
At this time, the microprocessor 502b
Updates the management information including the logical block number 45 whose value is 17. As the tag 46 held in the management information, the tag 0003 transferred from the disk array controller 3b side is used.

【0031】本実施例に係るディスクアレイ装置1で
は、ホストコンピュータ2から2つのディスクアレイコ
ントローラ3a,3bの内のいずれの側にデータが転送
された場合であっても、このようなデータ多重化処理が
同様に行われるので、一方のディスクアレイコントロー
ラのディスクキャッシュのデータ記憶領域と、他方のデ
ィスクアレイコントローラのディスクキャッシュの多重
化データ記憶領域には、常に、共通のデータが格納され
ることになる。
In the disk array device 1 according to the present embodiment, even if data is transferred from the host computer 2 to either of the two disk array controllers 3a and 3b, such data multiplexing is performed. Since the processing is performed in the same manner, common data is always stored in the data storage area of the disk cache of one disk array controller and the multiplexed data storage area of the disk cache of the other disk array controller. Become.

【0032】このように、ホストコンピュータ2から転
送されたデータを両方のディスクアレイコントローラ3
a,3bのディスクキャッシュ11a,11bに多重化し
て格納しておけば、ホストコンピュータからデータを転
送されてから、このデータをディスク4a,4b,4c,
4d,4eに格納し終わるまでの間に、ディスクアレイ
コントローラ3a,3bのいづれか一方に障害が生じた
としても、データの安全性は保証される。また、本実施
例では、ディスクアレイコントローラ3a,3bのディ
スクキャッシュ11a,11bの一部を、データを多重
化して格納するための記憶領域として使用しており、他
に専用のメモリ等を増設するわけではないので、ディス
クアレイコントローラ3a,3b自体の製造コストが大
幅に増加するということはない。
In this way, the data transferred from the host computer 2 is transferred to both disk array controllers 3
If the data is stored in the disk caches 11a, 11b of a, 3b in a multiplexed manner, the data is transferred from the host computer, and then the data is transferred to the disks 4a, 4b, 4c,
Even if one of the disk array controllers 3a and 3b fails before the data is stored in 4d and 4e, the data safety is guaranteed. Further, in this embodiment, a part of the disk caches 11a, 11b of the disk array controllers 3a, 3b is used as a storage area for multiplexing and storing data, and a dedicated memory or the like is additionally installed. However, the manufacturing cost of the disk array controllers 3a and 3b itself does not increase significantly.

【0033】以上で、ホストコンピュータ2から転送さ
れたデータを、各ディスクアレイコントローラ3a,3
bのディスクキャッシュ11a,11bに格納するため
のデータ多重化処理についての説明を終わり、次に、デ
ィスクアレイコントローラ3a,3bのいづれか一方に
障害等が生じた場合の、ホストコンピュータ2からの要
求に対する応答時の処理について、図7を参照しながら
説明する。
As described above, the data transferred from the host computer 2 is transferred to each disk array controller 3a, 3
The description of the data multiplexing process for storing the data in the disk caches 11a, 11b of b has been completed, and then the request from the host computer 2 in the case where a failure occurs in one of the disk array controllers 3a, 3b. The response process will be described with reference to FIG.

【0034】さて、パリティチェックにより何らかの障
害が検出された場合(例えば、ディスクキャッシュ11
a自体に何らかの障害が発生したり、ディスクインタフ
ェイス6aに何らかの障害が発生した場合等)や、現在
ディスクアレイコントローラ3a側がディスク4a,4
a,4b,4c,4d,4eに対して何らかのアクセスを行
っている最中である場合等には、マイクロプロセッサ5
02aは、ディスクアレイコントローラ3bのマイクロ
プロセッサ502bに対して、ディスクアレイコントロ
ーラ3bのディスクキャッシュ11bの多重化データ記
憶領域401bに格納されたデータの内で、ディスクキ
ャッシュ11aのデータ記憶領域403aからディスク
4a,4b,4c,4d,4eへ書き戻そうとしていたデー
タと同じタグ(例えば0003)を付されたデータのデ
ィスク4a,4b,4c,4d,4eへの書き戻しを指示す
る。
Now, when some kind of failure is detected by the parity check (for example, the disk cache 11
a, some kind of failure occurs in the disk interface 6a, or some kind of failure occurs in the disk interface 6a).
When some access is being made to a, 4b, 4c, 4d, 4e, etc., the microprocessor 5
02a indicates to the microprocessor 502b of the disk array controller 3b from the data storage area 403a of the disk cache 11a to the disk 4a among the data stored in the multiplexed data storage area 401b of the disk cache 11b of the disk array controller 3b. , 4b, 4c, 4d, 4e is instructed to write back to the disks 4a, 4b, 4c, 4d, 4e the data having the same tag (for example, 0003) as the data to be written back.

【0035】ディスクアレイコントローラ3bのマイク
ロプロセッサ502bが、このような指示を受け付ける
と、ディスクアレイコントローラ3b側では、マイクロ
プロセッサ502bの指示により、以下に示すような処
理が実行される。
When the microprocessor 502b of the disk array controller 3b receives such an instruction, the disk array controller 3b executes the following processing according to the instruction of the microprocessor 502b.

【0036】まず、ディスクアレイコントローラ3bの
マイクロプロセッサ502bは、ディスクキャッシュ1
1aの管理情報記憶領域402bに記憶された管理情報
の内の、ディスクアレイコントローラ3aのマイクロプ
ロセッサ502aから指示されたタグ(0003)を含
む管理情報に対応する、多重化データ記憶領域401b
の論理ブロックに記憶されたデータをRAID5のアル
ゴリズムに従って分割し、冗長データ生成回路503b
は、このデータを基に、所定のデータ形式からなるエラ
ー訂正符号を作成する。そして、転送制御回路501b
は、データをディスク4a,4b,4c,4d,4eに分散
して格納すると共に、エラー訂正符号を、ディスク4
a,4b,4c,4d,4eの内の所定のディスクに格納す
る(図中矢印D)。そして、これが正常に終了した場合
には、マイクロプロセッサ502bは、ディスクアレイ
コントローラ3aのマイクロプロセッサ502aに、デ
ィスク4a,4a,4b,4c,4d,4eへのデータの書
き戻しが正常に終了したことを示す終了ステータスを返
すと共に、管理情報記憶領域402bに記憶された管理
情報の内の、タグ(0003)を含む管理情報を更新す
る。詳細には、マイクロプロセッサ502bが、管理情
報記憶領域402bに記憶された管理情報の内の、タグ
(0003)を含む管理情報に含まれるステータス情報
47のビット53を立てる。また、正常に終了しなかっ
た場合には、ディスク4a,4a,4b,4c,4d,4e
へのデータの書き戻しが正常終了しなかったことを示す
終了ステータスを返す。
First, the microprocessor 502b of the disk array controller 3b determines that the disk cache 1
A multiplexed data storage area 401b corresponding to the management information including the tag (0003) designated by the microprocessor 502a of the disk array controller 3a among the management information stored in the management information storage area 402b of 1a.
Data stored in the logical block of the redundant data generation circuit 503b is divided according to the RAID5 algorithm.
Creates an error correction code having a predetermined data format based on this data. Then, the transfer control circuit 501b
Stores the data dispersedly on the disks 4a, 4b, 4c, 4d, 4e, and stores the error correction code in the disk 4
It is stored in a predetermined disk among a, 4b, 4c, 4d and 4e (arrow D in the figure). If this is normally completed, the microprocessor 502b has normally completed the write-back of the data to the disks 4a, 4a, 4b, 4c, 4d, 4e to the microprocessor 502a of the disk array controller 3a. Of the management information stored in the management information storage area 402b, the management information including the tag (0003) is updated. Specifically, the microprocessor 502b sets the bit 53 of the status information 47 included in the management information including the tag (0003) in the management information stored in the management information storage area 402b. In addition, when it is not completed normally, the disks 4a, 4a, 4b, 4c, 4d, 4e
Returns an end status indicating that writing back data to was not completed normally.

【0037】さて、ディスクアレイコントローラ3b側
からディスク4a,4a,4b,4c,4d,4eへのデー
タ書き戻しの正常終了を報告する終了ステータスを受信
した場合には、ディスクアレイコントローラ3aのマイ
クロプロセッサ502aは、ディスクキャッシュ11a
の管理情報記憶領域402aに記憶された管理情報の内
の、タグ(0003)を含む管理情報を更新する。詳細
には、マイクロプロセッサ502aが、ディスクキャッ
シュ11aの管理情報記憶領域402aに記憶された管
理情報の内の、タグ(0003)を含む管理情報に含ま
れるステータス情報47のビット53を立てる。一方、
ディスクアレイコントローラ3b側からディスク4a,
4a,4b,4c,4d,4eへのデータ書き戻しが正常終
了しなかったことを報告する終了ステータスを受信した
場合には、ディスクアレイコントローラ3aのマイクロ
プロセッサ502aは、ディスクアレイコントローラ3
bのマイクロプロセッサ502bに対して、所定の時間
毎に所定の回数だけ、上記の指示と同様な、ディスクア
レイコントローラ3bのディスクキャッシュ11bの多
重化データ記憶領域401bに格納されたデータの書き
戻し指示を繰り返す。
When the end status reporting the normal end of the data write-back to the disks 4a, 4a, 4b, 4c, 4d, 4e is received from the disk array controller 3b side, the microprocessor of the disk array controller 3a 502a is the disk cache 11a
Of the management information stored in the management information storage area 402a, the management information including the tag (0003) is updated. Specifically, the microprocessor 502a sets the bit 53 of the status information 47 included in the management information including the tag (0003) in the management information stored in the management information storage area 402a of the disk cache 11a. on the other hand,
From the disk array controller 3b side to the disks 4a,
When the end status reporting that the data write-back to 4a, 4b, 4c, 4d, 4e is not normally completed is received, the microprocessor 502a of the disk array controller 3a causes the disk array controller 3
Instructing the microprocessor 502b of b to write back the data stored in the multiplexed data storage area 401b of the disk cache 11b of the disk array controller 3b a predetermined number of times at a predetermined time. repeat.

【0038】このように、本実施例に係るディスクアレ
イ装置1によれば、一方のディスクアレイコントローラ
のディスクキャッシュに障害等が発生したり、一方のデ
ィスクアレイコントローラが直ちに処理を実行できない
場合であっても、両方のディスクアレイコントローラの
ディスクキャッシュに共通に格納されたデータを利用し
て、他方のディスクコントローラがこれに代わる制御を
行うことができる。また、一方のディスクコントローラ
自体に障害等が発生して動作不可能になったとしても、
他方のディスクコントローラがこれに代わる制御を行う
ことができる。従って、ディスク4a,4a,4b,4c,
4d,4eへのデータの入出力が完全に不可能となるよ
うな事態を回避することができる。すなわち、このよう
な構成を備えることによって、ディスクアレイ装置1の
信頼性を向上させることができる。なお、本実施例で
は、このように2つのディスクアレイコントローラを備
える構成としたが、さらにディスクアレイコントローラ
を増設しても構わない。ただし、そのような構成とした
場合にはディスクアレイ装置の信頼性は向上するが製造
コストが増加することにもなるので、ディスクアレイ装
置にどの程度の信頼性が要求され、かつ、製造コストを
どの程度に押える必要があるのかを考慮して、妥当なデ
ィスクアレイコントローラ数を決定する必要がある。
As described above, according to the disk array system 1 of this embodiment, a failure may occur in the disk cache of one disk array controller, or one disk array controller cannot immediately execute processing. However, the data stored in the disk caches of both disk array controllers in common can be used to allow the other disk controller to perform control in place of this. In addition, even if one of the disk controllers itself fails and becomes inoperable,
The other disk controller can provide alternative control. Therefore, the disks 4a, 4a, 4b, 4c,
It is possible to avoid a situation in which data input / output to / from 4d and 4e is completely impossible. That is, by providing such a configuration, the reliability of the disk array device 1 can be improved. In this embodiment, two disk array controllers are provided in this way, but more disk array controllers may be added. However, in such a configuration, the reliability of the disk array device is improved, but the manufacturing cost is also increased. Therefore, how much reliability is required for the disk array device and the manufacturing cost is reduced. A reasonable number of disk array controllers needs to be decided considering how much it needs to be suppressed.

【0039】ところで、2つのディスクアレイコントロ
ーラ3a,3bが共に正常に動作する場合には、本実施
例に係るディスクアレイ装置1では、各ディスクアレイ
コントローラ3a,3bを並列に動作させることができ
る。従って、1つのデータ入出力に関する処理を2つの
ディスクアレイコントローラ3a,3bを分散させるこ
とにより、処理の高速化を図ることができる。以下、こ
の詳細について説明する。ただし、ここでは、このよう
なデータ入出力に関する処理として、ホストコンピュー
タ2から転送されたデータをRAID5のアルゴリズム
に従ってディスク4a,4a,4b,4c,4d,4eへ格
納するための処理を、ディスク4a,4b,4c,4d,4
eへデータを格納する処理と、ディスク4a,4b,4
c,4d,4eの内の所定のディスクへエラー訂正符号を
格納する処理とに分離した場合を一例として挙げる。
By the way, when the two disk array controllers 3a, 3b both operate normally, in the disk array device 1 according to this embodiment, the disk array controllers 3a, 3b can be operated in parallel. Therefore, by distributing the processing related to one data input / output to the two disk array controllers 3a and 3b, the processing speed can be increased. The details will be described below. However, here, as the processing related to such data input / output, the processing for storing the data transferred from the host computer 2 in the disks 4a, 4a, 4b, 4c, 4d, 4e in accordance with the RAID5 algorithm is described as the disk 4a. , 4b, 4c, 4d, 4
The process of storing data in e and the disks 4a, 4b, 4
An example will be given of a case where the process is separated from the process of storing the error correction code in a predetermined disk among c, 4d, and 4e.

【0040】このような処理を行うためには、管理情報
に含まれるステータス情報には、図5に示したビット5
2,52,53,54以外に、図8に示したビット91が
含まれる必要がある。このビット91は、対応する論理
ブロックに格納されたデータを基に作成されたエラー訂
正符号がディスク4a,4b,4c,4d,4eの内のいづ
れかのディスクに格納済みであるか否かを示すものであ
る。なお、本実施例では、このビット91が立っていた
ら、対応する論理ブロックに格納されたデータを基に作
成されたエラー訂正符号が既にディスク4a,4b,4
c,4d,4eの内のいづれかのディスクに格納済みの状
態であることを示し、このビット91が降りていたら、
これと反対の状態を示すものとする。
In order to perform such processing, the status information included in the management information includes the bit 5 shown in FIG.
In addition to 2,52,53,54, the bit 91 shown in FIG. 8 needs to be included. This bit 91 indicates whether or not the error correction code created based on the data stored in the corresponding logical block has been stored in any one of the disks 4a, 4b, 4c, 4d, 4e. It is a thing. In this embodiment, if this bit 91 is set, the error correction code created based on the data stored in the corresponding logical block has already been written on the disks 4a, 4b, 4
It shows that it is already stored in any one of c, 4d and 4e, and if this bit 91 is down,
The opposite state shall be shown.

【0041】図9の2つディスクアレイコントローラ3
a,3bのディスクキャッシュ11a,11bには、前述
した多重化処理によって、ホストコンピュータ2から転
送されたデータが既に格納されている。そして、ディス
クアレイコントローラ3a側からディスクキャッシュ1
1aのデータ記憶領域403aに格納されたデータをデ
ィスク4a,4b,4c,4d,4eに格納する(図中矢印
E)際に、マイクロプロセッサ502aは、ディスクア
レイコントローラ3bのマイクロプロセッサ502bに
対して、エラー訂正符号の生成を指示する。
Two disk array controller 3 of FIG.
The data transferred from the host computer 2 is already stored in the disk caches 11a and 11b of a and 3b by the above-described multiplexing processing. Then, from the disk array controller 3a side to the disk cache 1
When the data stored in the data storage area 403a of the disk 1a is stored in the disks 4a, 4b, 4c, 4d, 4e (arrow E in the figure), the microprocessor 502a sends the data to the microprocessor 502b of the disk array controller 3b. , Instructing the generation of the error correction code.

【0042】ディスクアレイコントローラ3b側では、
ディスクアレイコントローラ3a側からこのような指示
を受け付けると、マイクロプロセッサ502bの指示に
より、以下に示すような処理が実行される。まず、冗長
データ生成回路503bでは、多重化データ記憶領域4
01bに格納されたデータを基に、エラー訂正符号が作
成される。そして、作成されたエラー訂正符号は、転送
制御回路501bにより、ディスクインタフェース制御
回路9bに転送されて、ディスク4a,4b,4c,4d,
4eの内の所定のディスクに格納される(図中矢印
F)。ディスク4a,4b,4c,4d,4eの内の所定の
ディスクへの格納が終了したら、マイクロプロセッサ5
02bは、ディスクアレイコントローラ3aに対してエ
ラー訂正符号の作成及びディスクへの格納が正常に終了
したことを示すステータスを報告する。
On the disk array controller 3b side,
When such an instruction is received from the disk array controller 3a side, the following processing is executed by the instruction of the microprocessor 502b. First, in the redundant data generation circuit 503b, the multiplexed data storage area 4
An error correction code is created based on the data stored in 01b. Then, the created error correction code is transferred to the disk interface control circuit 9b by the transfer control circuit 501b, and the disks 4a, 4b, 4c, 4d,
It is stored in a predetermined disk of 4e (arrow F in the figure). When the storage in a predetermined disk among the disks 4a, 4b, 4c, 4d, 4e is completed, the microprocessor 5
02b reports to the disk array controller 3a a status indicating that the creation of the error correction code and the storage in the disk have been completed normally.

【0043】ディスクアレイコントローラ3a側では、
他方のディスクアレイコントローラ3b側から、このよ
うなステータスを受け取り、かつ、ディスク4a,4b,
4c,4d,4eへデータを格納し終えたら、マイクロプ
ロセッサ502aが、ディスクキャッシュ11aの管理
情報記憶領域402aに格納された、データ記憶領域4
03aの論理ブロックに対応する管理情報を更新する。
詳細には、データ記憶領域403aの論理ブロックに対
応する管理情報に含まれるステータ情報のビット91を
立てると共に、前述の多重化処理の場合と同様な管理情
報の更新を行う。そして、ディスクアレイコントローラ
3bのマイクロプロセッサ502bに対して、管理情報
の更新を指示する。
On the disk array controller 3a side,
Such status is received from the other disk array controller 3b side, and the disks 4a, 4b,
After storing the data in 4c, 4d, and 4e, the microprocessor 502a stores the data storage area 4 in the management information storage area 402a of the disk cache 11a.
The management information corresponding to the logical block 03a is updated.
Specifically, the bit 91 of the status information included in the management information corresponding to the logical block of the data storage area 403a is set, and the management information is updated in the same manner as in the case of the above-mentioned multiplexing process. Then, it instructs the microprocessor 502b of the disk array controller 3b to update the management information.

【0044】ディスクアレイコントローラ3b側では、
ディスクアレイコントローラ3a側から、管理情報の更
新を指示されると、マイクロプロセッサ502bが、デ
ィスクキャッシュ11bの管理情報記憶領域402aに
格納された、多重化データ記憶領域401bの論理ブロ
ックに対応する管理情報を更新する。詳細には、多重化
データ記憶領域401bの論理ブロックに対応する管理
情報に含まれるステータ情報のビット91を立てると共
に、前述の多重化処理の場合と同様な管理情報の更新を
行う。このように、RAID5のアルゴリズムによるデ
ィスクへのデータ格納処理を、データをディスクに分散
して格納する処理と、該当するデータに対しエラー訂正
符号を生成してディスクに格納する処理とに分離して、
それらの処理を、複数のディスクアレイコントローラに
分散すれば、ホストコンピュータからの要求に対して高
速に応答することができる。また、各ディスクアレイコ
ントローラは、ディスクキャッシュに共通のデータを格
納しているので、このような処理を行うためだけにデー
タの転送を行う必要がない。従って、データの転送を行
う必要がない分だけ、ホストコンピュータに対して高速
に応答することができる。
On the disk array controller 3b side,
When an instruction to update the management information is issued from the disk array controller 3a side, the microprocessor 502b causes the management information corresponding to the logical block of the multiplexed data storage area 401b stored in the management information storage area 402a of the disk cache 11b. To update. Specifically, the bit 91 of the status information included in the management information corresponding to the logical block of the multiplexed data storage area 401b is set, and the same management information as in the case of the above-described multiplexing processing is updated. In this way, the process of storing data on a disk by the RAID5 algorithm is separated into a process of distributing and storing the data on the disc and a process of generating an error correction code for the corresponding data and storing the data on the disc. ,
If these processes are distributed to a plurality of disk array controllers, it is possible to respond to requests from the host computer at high speed. Further, since each disk array controller stores common data in the disk cache, it is not necessary to transfer the data only for performing such processing. Therefore, since it is not necessary to transfer data, it is possible to respond to the host computer at high speed.

【0045】[0045]

【発明の効果】本発明に係るディスクアレイ装置によれ
ば、より信頼性の高いデータ入出力を行うことができ
る。また、ホストコンピュータからの要求に対して高速
に応答することができる。
According to the disk array device of the present invention, more reliable data input / output can be performed. In addition, it is possible to respond at high speed to a request from the host computer.

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

【図1】本発明の一実施例に係るディスクアレイ装置の
構成図である。
FIG. 1 is a configuration diagram of a disk array device according to an embodiment of the present invention.

【図2】図1のディスクアレイコントローラ3a,3b
の基本的な構成図である。
FIG. 2 is a diagram showing the disk array controllers 3a and 3b of FIG.
It is a basic block diagram of.

【図3】図2のディスクキャッシュ11の記憶領域の概
念図である。
FIG. 3 is a conceptual diagram of a storage area of the disk cache 11 of FIG.

【図4】管理情報のデータ形式を説明する図である。FIG. 4 is a diagram illustrating a data format of management information.

【図5】図4の管理情報に含まれるステータス情報のデ
ータ形式の一例を説明する図である。
5 is a diagram illustrating an example of a data format of status information included in the management information of FIG.

【図6】ディスクアレイコントローラ3a,3bのディ
スクキャッシュ11a,11bにがデータを多重化する
時のデータの流れを説明する図である。
FIG. 6 is a diagram illustrating the flow of data when the disk caches 11a and 11b of the disk array controllers 3a and 3b multiplex data.

【図7】ディスクアレイコントローラ3b側からディス
クへデータを格納する時のデータの流れを説明する図で
ある。
FIG. 7 is a diagram illustrating a data flow when data is stored in a disk from the disk array controller 3b side.

【図8】管理情報に含まれるステータス情報のデータ形
式の一例を説明する図である。
FIG. 8 is a diagram illustrating an example of a data format of status information included in management information.

【図9】ディスクアレイコントローラ3a,3bが処理
を分散する時のデータの流れを説する図である。
FIG. 9 is a diagram illustrating a data flow when the disk array controllers 3a and 3b distribute processing.

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

1…ディスクアレイ装置、2…ホストコンピュータ3
a,3b…ディスクアレイコントローラ、4a,4b,4
c,4d,4e…ディスク、5a,5b…ホストインタフ
ェイス、6…ディスクインタフェイス、7…コントロー
ラ間インタフェイス、8a,8b…ホストインタフェイ
ス制御回路、9a,9b…ディスクインタフェイス制御
回路、10a,10b…コントローラ間インタフェイス
制御回路、11a,11b…ディスクキャッシュ、50
1a,501b…転送制御回路、502a,502b…マ
イクロプロセッサ、503a,503b…冗長データ生
成回路、504a,504b…マイクロプロセッサ制御
回路、505a,505b…マイクロプロセッサ用メモ
1 ... Disk array device, 2 ... Host computer 3
a, 3b ... Disk array controller, 4a, 4b, 4
c, 4d, 4e ... Disk, 5a, 5b ... Host interface, 6 ... Disk interface, 7 ... Controller interface, 8a, 8b ... Host interface control circuit, 9a, 9b ... Disk interface control circuit, 10a , 10b ... Interface control circuit between controllers, 11a, 11b ... Disk cache, 50
1a, 501b ... Transfer control circuit, 502a, 502b ... Microprocessor, 503a, 503b ... Redundant data generation circuit, 504a, 504b ... Microprocessor control circuit, 505a, 505b ... Microprocessor memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 磯野 聡一 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 本田 聖志 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Souichi Isono, 1099 Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Inside the Hitachi, Ltd. Systems Development Laboratory (72) Inventor Seiji Honda, 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Hitachi Systems Development Laboratory

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数のディスクと、 ホストコンピュータと前記複数のディスクとの間のデー
タの入出力を制御する、2つのディスクアレイコントロ
ーラと、 前記2つのディスクアレイコントローラは、各々、 ホストコンピュータから転送されたデータを、他方のデ
ィスクアレイコントローラに転送する転送手段と、 ホストコンピュータから転送されたデータを記憶する第
1の記憶領域と、他方のディスクアレイコントローラか
ら転送されたデータを記憶する第2の記憶領域とを有す
るディスクキャッシュと、 前記ディスクキャッシュの第1の記憶領域が記憶するデ
ータの書き戻しを指示する制御手段とを備え、 前記制御手段が指示する指示に従い、ディスクキャッシ
ュの前記第1の記憶領域のデータのうちの前記複数のデ
ィスクに書き戻していないデータ、もしくは、第二の記
憶領域に記憶されたデータのうちの他方のディスクアレ
イコントローラによって前記複数のディスクに書き戻さ
れていないデータを、前記複数のディスクに書き戻す書
き戻し手段と、 前記制御手段は、前記ディスクキャッシュの第1の記憶
領域が記憶するデータの書き戻しに障害が生じたときに
は、他方のディスクアレイコントローラの制御手段に、
前記他方のディスクアレイコントローラのディスクキャ
ッシュの第二の記憶領域が記憶するデータの書き戻しを
指示し、前記他方のディスクアレイコントローラの制御
手段から前記ディスクキャッシュの第二の記憶領域が記
憶するデータの書き戻しを指示されたときには、前記書
き戻し手段に前記ディスクキャッシュの第二の記憶領域
が記憶するデータの書き戻しを指示することを特徴とす
るディスクアレイ装置。
1. A plurality of disks, two disk array controllers for controlling input / output of data between the host computer and the plurality of disks, and the two disk array controllers are respectively transferred from the host computer. Transfer means for transferring the transferred data to the other disk array controller, a first storage area for storing the data transferred from the host computer, and a second storage area for storing the data transferred from the other disk array controller. A disk cache having a storage area; and control means for instructing write-back of data stored in the first storage area of the disk cache. According to an instruction instructed by the control means, the first Write back data from the storage area to the multiple disks Data, or write-back means for writing back data, which is not written back to the plurality of disks by the other disk array controller of the data stored in the second storage area, to the plurality of disks, When a failure occurs in writing back the data stored in the first storage area of the disk cache, the control means causes the control means of the other disk array controller to
A command is issued to write back the data stored in the second storage area of the disk cache of the other disk array controller, and the data stored in the second storage area of the disk cache is instructed from the control means of the other disk array controller. A disk array device, characterized in that, when instructed to write back, the writing back means is instructed to write back the data stored in the second storage area of the disk cache.
【請求項2】複数のディスクと、 ホストコンピュータと前記複数のディスクとの間のデー
タの入出力を制御する、2つのディスクアレイコントロ
ーラと、 前記2つのディスクアレイコントローラは、各々、 ホストコンピュータから転送されたデータを他方のディ
スクアレイコントロ−ラに転送する転送手段と、 ホストコンピュータから転送されたデータを記憶する第
1の記憶領域と、他方のディスクアレイコントロ−ラか
ら転送されたデータを記憶する第2の記憶領域とを備え
たディスクキャッシュと、 前記ディスクキャッシュの第1の記憶領域に記憶された
データを前記複数のディスクに書き戻す書き戻し手段
と、 前記書き戻し手段にディスクキャッシュの第1の記憶領
域が記憶するデータの書き戻しを指示すると共に、他方
のディスクアレイコントロ−ラに書き戻しを指示したデ
ータの誤り訂正符号の書き込みを依頼する制御手段と、 他方のディスクアレイコントロ−ラから誤り訂正符号の
書き込みを依頼された場合に、前記ディスクキャッシュ
の第2の記憶領域に記憶されたデータの誤り訂正符号を
生成する生成手段と、 前記生成手段が生成した誤り訂正符号を前記複数のディ
スクのうちの所定のディスクに書き戻す書き戻し手段と
を備えることを特徴とするディスクアレイ装置。
2. A plurality of disks, two disk array controllers for controlling input / output of data between the host computer and the plurality of disks, and the two disk array controllers are respectively transferred from the host computer. Transfer means for transferring the transferred data to the other disk array controller, a first storage area for storing the data transferred from the host computer, and the data transferred from the other disk array controller A disk cache having a second storage area; a write-back means for writing back the data stored in the first storage area of the disk cache to the plurality of disks; Command to write back the data stored in the other storage area, and Control means for requesting the array controller to write the error correction code of the data instructed to be written back, and second disk cache of the disk cache when the other disk array controller requests the error correction code to be written. And a write-back means for writing back the error-correction code generated by the generation means to a predetermined disk among the plurality of disks. Characteristic disk array device.
【請求項3】請求項1記載のディスクアレイ装置であっ
て、 前記ディスクアレイコントロ−ラの各々は、 前記書き戻し手段が前記ディスクキャッシュの前記第1
の記憶領域より前記複数のディスクに書き戻したデータ
の識別を他方のディスクアレイコントロ−ラに通知する
手段と、 他方のディスクアレイコントローラより通知されたデー
タの識別に従って、第二の記憶領域に記憶されたデータ
のうちの他方のディスクアレイコントローラによって前
記複数のディスクに書き戻されていないデータを識別す
るための情報を生成し保持する手段とを備え前記ディス
クキャッシュの第二の記憶領域が記憶するデータの書き
戻しを指示された場合に、保持された前記データを識別
するための情報に従って、第二の記憶領域に記憶された
データのうちの他方のディスクアレイコントローラによ
って前記複数のディスクに書き戻されていないデータ
を、前記複数のディスクに書き戻すことを特徴とするデ
ィスクアレイ装置。
3. The disk array device according to claim 1, wherein in each of the disk array controllers, the write-back means is the first of the disk caches.
Means for notifying the other disk array controller of the identification of the data written back to the plurality of disks from that storage area, and the second storage area according to the identification of the data notified by the other disk array controller Of the data stored in the second storage area of the disk cache, and means for generating and holding information for identifying data that has not been written back to the plurality of disks by the other disk array controller. When instructed to write back the data, the data is written back to the plurality of disks by the other disk array controller of the data stored in the second storage area according to the information for identifying the held data. A disk array characterized by writing back unwritten data to the plurality of disks. A device.
JP7136840A 1995-06-02 1995-06-02 Disk array device Pending JPH08328758A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7136840A JPH08328758A (en) 1995-06-02 1995-06-02 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7136840A JPH08328758A (en) 1995-06-02 1995-06-02 Disk array device

Publications (1)

Publication Number Publication Date
JPH08328758A true JPH08328758A (en) 1996-12-13

Family

ID=15184739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7136840A Pending JPH08328758A (en) 1995-06-02 1995-06-02 Disk array device

Country Status (1)

Country Link
JP (1) JPH08328758A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105116A (en) * 1997-01-06 2000-08-15 Nec Corporation Method and apparatus of controlling a disk cache during a degenerated mode of operation
KR20010011204A (en) * 1999-07-26 2001-02-15 윤종용 Method and apparatus for overcoming raid failure by cache mirroring
US6381675B1 (en) 1998-02-27 2002-04-30 Nec Corporation Switching mechanism and disk array apparatus having the switching mechanism
US7181571B2 (en) 2002-03-01 2007-02-20 Hitachi, Ltd. System and method for storage system
US7181640B2 (en) 2002-01-22 2007-02-20 International Business Machines Corporation Method for controlling an external storage system having multiple external storage devices
US7716277B2 (en) 2003-07-02 2010-05-11 Satoshi Yamatake Image database system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105116A (en) * 1997-01-06 2000-08-15 Nec Corporation Method and apparatus of controlling a disk cache during a degenerated mode of operation
US6381675B1 (en) 1998-02-27 2002-04-30 Nec Corporation Switching mechanism and disk array apparatus having the switching mechanism
KR20010011204A (en) * 1999-07-26 2001-02-15 윤종용 Method and apparatus for overcoming raid failure by cache mirroring
US7181640B2 (en) 2002-01-22 2007-02-20 International Business Machines Corporation Method for controlling an external storage system having multiple external storage devices
US7181571B2 (en) 2002-03-01 2007-02-20 Hitachi, Ltd. System and method for storage system
US7596660B2 (en) 2002-03-01 2009-09-29 Hitachi, Ltd. System and method for storage system
US7716277B2 (en) 2003-07-02 2010-05-11 Satoshi Yamatake Image database system

Similar Documents

Publication Publication Date Title
US5579474A (en) Disk array system and its control method
US6654831B1 (en) Using multiple controllers together to create data spans
JP2501752B2 (en) Storage device of computer system and method of storing data
KR100194295B1 (en) How to update the status of data processing systems and queues
JP3732869B2 (en) External storage device
US6006342A (en) Failover and failback system for a direct access storage device
EP2400382B1 (en) Storage system
KR100275900B1 (en) Method for implement divideo parity spare disk in raid sub-system
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
US20040250019A1 (en) Storage system, controller, control method and program product therefor
JP4493321B2 (en) Disk array device and data saving method
US7984260B2 (en) Storage system provided with a plurality of controller modules
JPH06202817A (en) Disk array device and data updating method for the same
JPH07271521A (en) Computer system
JPH05314660A (en) Storage device
JPH09146842A (en) Storage subsystem
CN1573705A (en) Memory controller and data storage method
JPH09231015A (en) Storage device and its system
JPH07200191A (en) Disk array device
JPH0863298A (en) Disk array device
JPH08328758A (en) Disk array device
JPH07261945A (en) Disk array device and disk array dividing method
EP0303856B1 (en) Method and apparatus for maintaining duplex-paired devices by means of a dual copy function
JPH1115604A (en) Data multiplex method
JP3597349B2 (en) Storage subsystem and fault recovery method thereof