JP2880000B2 - Array type disk drive system - Google Patents

Array type disk drive system

Info

Publication number
JP2880000B2
JP2880000B2 JP3186337A JP18633791A JP2880000B2 JP 2880000 B2 JP2880000 B2 JP 2880000B2 JP 3186337 A JP3186337 A JP 3186337A JP 18633791 A JP18633791 A JP 18633791A JP 2880000 B2 JP2880000 B2 JP 2880000B2
Authority
JP
Japan
Prior art keywords
disk drive
restored
data
read
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3186337A
Other languages
Japanese (ja)
Other versions
JPH0535413A (en
Inventor
宏知 中嶋
俊一郎 中村
佐藤  誠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3186337A priority Critical patent/JP2880000B2/en
Publication of JPH0535413A publication Critical patent/JPH0535413A/en
Application granted granted Critical
Publication of JP2880000B2 publication Critical patent/JP2880000B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、電子計算機のディスク
ストレージの分野に関するものであり、特に上位コンピ
ュータとデータのやりとりを行なうアレイ型ディスク駆
動機構システムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of disk storage for electronic computers, and more particularly to an array type disk drive system for exchanging data with a host computer.

【0002】[0002]

【従来の技術】一般に、上位コンピュータとデータのや
りとりを行なうディスク駆動機構システムにおいて、使
用者がそのシステムを長時間連続して使用し続けるため
には、ディスク駆動機構が故障しにくいという信頼性と
共に、ディスクの一部が故障してアクセス不能状態にな
ったとしても、失われたディスク内のデータを何らかの
方法で再生できる能力が必要となる。
2. Description of the Related Art Generally, in a disk drive system for exchanging data with a host computer, in order for a user to use the system continuously for a long period of time, the disk drive mechanism is hardly broken down with reliability. Even if a part of the disk fails and becomes inaccessible, the ability to reproduce the lost data in the disk in some way is required.

【0003】また、一般に、失われたディスクの内容を
復元して再び元通りに使用できるようにするためには、
システムを一旦停止させて内容の復元/コピーに全力を
挙げるという方法がある。しかし、システムを停止させ
ると、その間システムの使用者はシステムが使えないわ
けであるから不利益を被ることになる。そこで、上記の
如き不利益を被らないようにするためにはシステムを停
止させないで、すなわち、オンラインで内容を復元する
必要がある。
Generally, in order to restore the contents of a lost disk so that it can be used again,
There is a method in which the system is temporarily stopped, and all efforts are made to restore / copy the contents. However, if the system is shut down, users of the system will incur disadvantages during that time because the system is unusable. Therefore, in order to avoid the above disadvantage, it is necessary to restore the contents without stopping the system, that is, online.

【0004】従来、このような要求に応えるものとし
て、カリフォルニア大学バークレー校(UCB)によっ
て提唱されたRAID(Redundant Arra
y of Inexpensive Disks)があ
り、このRAIDは、小容量で安価なディスクを多数配
列して大容量・高IOPSを、さらに、冗長性情報を持
たせることにより高信頼性を目指したものである。
Conventionally, a RAID (Redundant Array) proposed by the University of California, Berkeley (UCB) has been proposed to meet such demands.
This RAID aims at high reliability by arranging a large number of small-capacity and inexpensive disks and providing a large-capacity and high IOPS and further having redundancy information.

【0005】UCBの論文である“A Case fo
r Redundant Arrays of Ine
xpensive Disks (RAID)”,Da
vid A. Patterson, Garth G
ibson,and Randy H.Katz, R
eport No.UCB/CSD 87/391,D
ecember 1987では、RAIDをRAID1
〜5の5つのレベルに分類している。また、その具体的
な実施例として図4に示すようなアレイ型ディスク駆動
機構システムが提案されている。
[0005] The UCB paper "A Case fo
r Redundant Arrays of Ine
xpensive Disks (RAID) ", Da
vid A. Patternson, Garth G
ibson, and Randy H .; Katz, R
report No. UCB / CSD 87/391, D
In 1987, RAID1 is changed to RAID1.
55 levels. As a specific embodiment, an array type disk drive mechanism system as shown in FIG. 4 has been proposed.

【0006】図4に示す内容は、特開平2−23671
4号公報に示されたアレイ型ディスク駆動機構システム
の好適な実施例(但し、一部改変してある)として挙げ
られている。図において、21は個々のディスク20の
アレイを構成している。該アレイ21は11個の垂直な
チャネル19を有するように配列されている。これらの
チャネル19はそれぞれ6個のディスク20を有する。
ディスク20は磁気型あるいは光学型であり、アレイ2
1のディスク20へのアクセスはチャネルコントローラ
18により実行される。
[0006] The contents shown in FIG.
No. 4 discloses a preferred embodiment (with some modifications) of the array-type disk drive mechanism system. In the figure, reference numeral 21 denotes an array of individual disks 20. The array 21 is arranged to have eleven vertical channels 19. Each of these channels 19 has six disks 20.
The disk 20 is of a magnetic type or an optical type.
Access to one disk 20 is executed by the channel controller 18.

【0007】データバス16上にはエラー訂正および制
御(ECC)エンジン17があり、これはアレイ型ディ
スク駆動機構システム22のソフトウェアと共にディス
ク20に格納されるデータに対し冗長性を与える。メモ
リバッファ15はデータバス16上に配置されており、
書き込み要求時に上位コンピュータ13からデータが書
き込まれるとき、あるいは、上位コンピュータ13から
の読み出し要求に応じてデータがディスク20から読み
出されるときに該データがメモリバッファ15に格納さ
れる。また、マイクロプロセッサ(上記例においてはR
ISCプロセッサ)24は、アレイディスクコントロー
ラ全体を制御する。
[0007] On the data bus 16 is an error correction and control (ECC) engine 17 which provides redundancy for the data stored on the disk 20 with the software of the arrayed disk drive system 22. The memory buffer 15 is arranged on the data bus 16,
When data is written from the host computer 13 at the time of a write request, or when data is read from the disk 20 in response to a read request from the host computer 13, the data is stored in the memory buffer 15. Also, a microprocessor (in the above example, R
An ISC processor 24 controls the entire array disk controller.

【0008】冗長性情報は、失われたデータを再生する
ために必要なものである。この冗長性情報は、同じ冗長
グループ23の各ブロックの排他的論理和を各ビットご
とにとることによってエラー訂正および制御(ECC)
エンジン17で生成される。これをパリティと呼ぶ。冗
長グループ23とはデータブロック再生のための一つの
単位である。図4の場合、11台のディスク20から1
つの冗長グループ23が構成されているので、データブ
ロックは10個であり、それらの排他的論理和をとって
生成されたパリティが残り1台のディスク20に存在す
ることになる。
[0008] The redundancy information is necessary for reproducing lost data. This redundancy information is obtained by taking the exclusive OR of each block of the same redundancy group 23 for each bit, thereby performing error correction and control (ECC).
Generated by the engine 17. This is called parity. The redundancy group 23 is one unit for reproducing data blocks. In the case of FIG.
Since one redundancy group 23 is formed, the number of data blocks is 10, and the parity generated by taking the exclusive OR of them is present in the remaining one disk 20.

【0009】従って、何らかの障害によってあるディス
ク20のデータが失われた場合、その失われたデータを
再生するのは、その他のディスク20のデータおよびパ
リティが判明すれば簡単なプロセスである。すなわち、
生き残ったデータおよびパリティ全ての排他的論理和を
各ビットごとにとればよい。
Therefore, if data on a certain disk 20 is lost due to some kind of failure, reproducing the lost data is a simple process if the data and parity of the other disks 20 are known. That is,
The exclusive OR of all surviving data and parity may be calculated for each bit.

【0010】また、この発明に関連する参考技術文献と
して、特開平2−135555号公報に開示されている
「障害復旧型の記憶サブシステム」がある。
Further, as a reference technical document related to the present invention, there is a "failure recovery type storage subsystem" disclosed in Japanese Patent Application Laid-Open No. 2-135555.

【0011】[0011]

【発明が解決しようとする課題】従来のアレイ型ディス
ク駆動機構システムにあっては、上記のように失われた
データの単純な再生原理について述べているが、何ら具
体的なデータの修正/復元方法については述べられてい
ないという問題点があった。
In the conventional array type disk drive system, the simple reproduction principle of lost data as described above is described. However, any specific data correction / restoration is performed. There was a problem that the method was not described.

【0012】この発明は、冗長グループ中のディスクの
1台が故障した場合においてオンラインによってディス
クを修正/復元してシステムの操作性を向上させ、メモ
リ量の削減を図り、開発/メンテナンス(保守)が容易
なアレイ型ディスク駆動機構システムを得ることを目的
とする。
According to the present invention, when one of the disks in the redundancy group fails, the disk is modified / restored online to improve the operability of the system, reduce the amount of memory, and develop / maintain (maintain). It is an object of the present invention to obtain an array type disk drive mechanism system that is easy to use.

【0013】[0013]

【課題を解決するための手段】この発明にかかるアレイ
型ディスク駆動機構システムは、アレイ要素であるデー
タ、パリティをストアするための複数のディスク駆動機
構の他に予備のディスク駆動機構を有し、上位コンピュ
ータからのアクセス要求に対して一つの論理的ディスク
として動作するアレイ型ディスク駆動機構システムにお
いて、前記予備のディスク駆動機構の記憶領域を復元済
領域と未復元領域とに分ける境界情報を記憶するための
境界情報記憶手段と、前記予備のディスク駆動機構を、
前記複数のディスク駆動機構の中の障害が発生したディ
スク駆動機構の代わりとして動作させるために、その障
害が発生したディスク駆動機構内に本来格納されている
べきデータを、所定の順番で、前記予備のディスク駆動
機構内に格納させていくとともに、データの格納が完了
した記憶領域の終了位置を表す境界情報を前記境界情報
記憶手段に記憶する復元手段と、前記復元手段の動作中
に、前記上位コンピュータからアクセス要求があったと
きに、前記境界情報記憶手段に記憶された境界情報に基
づき、そのアクセス要求が前記復元済領域内のデータが
関係するものであるか否かを判断し、関係するものであ
った場合には、前記予備のディスク駆動機構が既に復元
されているものとして前記アクセス要求に応答し、それ
以外の場合には、前記予備のディスク駆動機構が未だ復
元されていないものとして前記アクセス要求に応答する
応答手段と、を備えるものである。
An array-type disk drive system according to the present invention has a spare disk drive in addition to a plurality of disk drives for storing data and parity as array elements. In an array-type disk drive system operating as one logical disk in response to an access request from a host computer, boundary information for dividing a storage area of the spare disk drive into a restored area and an unrestored area is stored. Boundary information storage means for, and said spare disk drive mechanism,
In order to operate as a substitute for a failed disk drive among the plurality of disk drives, data that should be stored in the failed disk drive is stored in a predetermined order in the spare disk drive. A restoring means for storing the boundary information indicating the end position of the storage area in which the data storage is completed in the boundary information storage means, and storing the upper level data during the operation of the restoring means. When there is an access request from the computer, it is determined whether or not the access request is related to the data in the restored area based on the boundary information stored in the boundary information storage means. If so, the spare disk drive responds to the access request as having been restored, otherwise, Serial spare disk drive mechanism in which and a response means responsive to said access request as if not yet recovered.

【0014】[0014]

【作用】この発明においては、アレイディスクコントロ
ーラがディスクの異常を検知し、異常を検知されたディ
スクを予備のものと切り替え、新しいアルゴリズムを用
いることによって、故障したディスクのデータの修正/
復元をオンラインにより予備のディスクに対し実行す
る。
According to the present invention, the array disk controller detects a disk abnormality, switches the disk in which the abnormality is detected to a spare disk, and uses a new algorithm to correct / correct the data of the failed disk.
Perform recovery online to a spare disk.

【0015】[0015]

【実施例】図4は、この発明によるディスク駆動機構シ
ステムにおける一実施例の全体構成図である。これは、
従来提案されているディスク駆動機構システムと同一構
成である。図において、複数あるアレイ21の内1つあ
るいはあるアレイ21中のディスク20の内1つが何ら
かの理由でアクセスできなくなった場合、そのディスク
を予備のものと自動的に切り替え、以下に述べる手順で
データの修正/復元を実行する。
FIG. 4 is an overall configuration diagram of one embodiment of a disk drive mechanism system according to the present invention. this is,
It has the same configuration as a conventionally proposed disk drive mechanism system. In the figure, if one of a plurality of arrays 21 or one of the disks 20 in an array 21 becomes inaccessible for some reason, the disk is automatically switched to a spare disk and the data is stored in the following procedure. Modify / Restore.

【0016】例えば、RAID5で予備のディスクを有
している場合を説明する。本アルゴリズムは図2に示す
ように、故障したディスクの内容を予備のディスク上に
アドレス順に、すなわち、図において上から順番に復元
していく。この途中で、修正/復元中のディスクに対す
るアクセス命令(リード/ライト命令)が来た場合、以
下のようにそれが修正/復元中のディスクのどの部分に
来るかで分けて処理することを特徴とする。すなわち、
復元済/未復元の「境界」を基準として、アクセス命令
の要求範囲がどの位置にあるかで分けている。
For example, a case where a spare disk is used in RAID5 will be described. As shown in FIG. 2, the present algorithm restores the contents of the failed disk on the spare disk in the order of addresses, that is, in order from the top in the figure. During this process, when an access command (read / write command) to the disk being modified / restored is received, processing is performed according to which part of the disk being modified / restored as described below. And That is,
Based on the "boundary" of restored / unrestored, the required range of the access instruction is classified according to the position.

【0017】なお、ここでは、説明の都合上、アレイ1
つを1つの大容量のディスクと想定し、また、アレイの
数は5個と想定する。以下の第1の実施例では「境界」
という概念を用いていることを特徴とする。
Here, for convenience of explanation, the array 1
One is assumed to be one large capacity disk, and the number of arrays is assumed to be five. In the following first embodiment, "boundary"
It is characterized by using the concept of

【0018】第1に、図2に示した修正/復元中のディ
スクの復元済部分6にリード/ライト命令が来る場合を
説明する。この場合は、通常と変わらない動作になる。
まず、リードについては、例えば、図3におけるe4〜
e7の範囲にあるデータをリードする命令が来た場合、
e6のパリティを読み飛ばし、e4,e5,e7の内容
を図4に示したメモリバッファ15に一旦書き込み、そ
れから上位コンピュータ13に転送する。これを「通常
リード操作」と呼ぶことにする。
First, the case where a read / write command comes to the restored portion 6 of the disk being modified / restored shown in FIG. 2 will be described. In this case, the operation is the same as the normal operation.
First, for the leads, for example, e4 to e4 in FIG.
When an instruction to read data in the range of e7 comes,
The parity of e6 is skipped, and the contents of e4, e5, and e7 are temporarily written in the memory buffer 15 shown in FIG. This will be referred to as “normal read operation”.

【0019】ライトについては、つぎのようにする。但
し、ライトすべき新しいデータ、パリティには頭にn
(new)を付けるものとする。ライト要求のあったe
4〜e7のデータ(パリティのe6は除く)を読み出
し、さらに、それと同じ冗長列のパリティ、すなわち、
e4に対してはb4、e5に対してはa5、e7に対し
てはd7をそれぞれ読み出し、図4に示したメモリバッ
ファ4に書き込む。
The following is a description of the light. However, new data and parity to be written have n
(New). Write request e
4 to 7 (excluding the parity e6), and furthermore, the parity of the same redundant column, that is,
b4 is read for e4, a5 is read for e5, and d7 is read for e7, and written to the memory buffer 4 shown in FIG.

【0020】つぎに、同じ冗長列どうし、すなわち、e
4とb4とne4、e5とa5とne5、e7とd7と
ne7で各ビットごとに排他的論理和をとり(この演算
はエラー訂正および制御(ECC)エンジン17により
実行される)、新しいパリティnb4,na5,nd7
を生成し、図4に示したメモリバッファ15に書き込
む。最後に、新しいデータ、パリティne4,ne5,
ne7,nb4,na5,nd7をそれぞれのディスク
に書き込む。これを「通常ライト操作」と呼ぶことにす
る。
Next, the same redundant columns, that is, e
4 and b4 and ne4, e5 and a5 and ne5, and e7 and d7 and ne7 perform an exclusive OR operation on each bit (this operation is executed by the error correction and control (ECC) engine 17), and the new parity nb4 , Na5, nd7
Is generated and written into the memory buffer 15 shown in FIG. Finally, new data, parity ne4, ne5,
Ne7, nb4, na5, and nd7 are written to the respective disks. This will be referred to as “normal write operation”.

【0021】第2に、図2に示した修正/復元中のディ
スクの未復元部分7にリード/ライト命令が来る場合を
説明する。この場合は、リード/ライト要求があったデ
ータをまず復元することが必要になる。例えば、図3に
おいてe9〜e13にリード/ライト命令が来た場合、
それぞれのデータe9,e10,e12,e13と同じ
冗長列のデータおよびパリティ、すなわち、e9に対し
てa9とb9とc9とd9、e10に対してa10とb
10とc10とd10、e12に対してa12とb12
とc12とd12、e13に対してa13とb13とc
13とd13を読み出してきてメモリバッファ15に書
き込む。
Secondly, a case where a read / write command comes to the unrestored portion 7 of the disk being modified / restored shown in FIG. 2 will be described. In this case, it is necessary to first restore the data for which the read / write request has been made. For example, when a read / write command arrives at e9 to e13 in FIG.
Data and parity of the same redundant column as the respective data e9, e10, e12 and e13, that is, a9 and b9, c9 and d9 for e9, and a10 and b for e10
A12 and b12 for 10, c10 and d10, e12
, C12 and d12, and a13, b13 and c for e13
13 and d13 are read and written to the memory buffer 15.

【0022】つぎに、各冗長列で各ビット毎に排他的論
理和をとり、メモリバッファ15に書き込む。排他的論
理和の計算はエラー訂正および制御(ECC)エンジン
17で行なう。これにより、要求された範囲、すなわ
ち、e9〜e13の部分のデータが再生される。つぎ
に、リードの場合はこの再生されたデータを上位コンピ
ュータ13に転送する。この再生と転送の動作を「修正
リード操作」と呼ぶことにする。
Next, an exclusive OR is calculated for each bit in each redundant column and written to the memory buffer 15. The calculation of the exclusive OR is performed by an error correction and control (ECC) engine 17. As a result, the data in the requested range, that is, the data in the portions e9 to e13 are reproduced. Next, in the case of a read, the reproduced data is transferred to the host computer 13. This operation of reproduction and transfer will be referred to as “corrected read operation”.

【0023】ライトの場合は、上記に述べたのと同じ方
法で、すなわち、同じ冗長列どうしの旧データ(e9、
e10,e12、e13)および新データ(ne9,n
e10,ne12,ne13)および旧パリティ(b
9,a10,d12,c13)により各ビットごとに排
他的論理和をとり、新パリティ(nb9,na10,n
d12,nc13)を生成し、メモリバッファ15に書
き込む。その後、新パリティだけをそれぞれのディスク
に書き込む。再生とこの操作を合わせて「修正ライト操
作」と呼ぶことにする。ここで、新データを書き込まな
いのは「境界」という概念が崩れるためである。
In the case of a write, the old data (e9, e9,
e10, e12, e13) and new data (ne9, n)
e10, ne12, ne13) and old parity (b
9, a10, d12, c13), an exclusive OR is calculated for each bit, and a new parity (nb9, na10, n) is calculated.
d12, nc13) is generated and written to the memory buffer 15. Thereafter, only the new parity is written to each disk. Playback and this operation are collectively referred to as a "corrected write operation". Here, the reason why new data is not written is that the concept of “boundary” is broken.

【0024】第3に、復元済部分と未復元部分の両方に
かかる場所にリード/ライト命令が来る場合について説
明する。但し、境界線8に接して未復元部分にリード/
ライト命令が来る場合、すなわち、図3でe8〜e12
にリード/ライト命令が来る場合もこちらの場合に含め
る。
Third, a case where a read / write instruction comes to a location that covers both a restored portion and an unrestored portion will be described. However, the lead / non-restored portion is read in contact with the boundary line 8.
When a write instruction comes, that is, e8 to e12 in FIG.
In this case, the case where a read / write instruction comes in is also included.

【0025】この実施例では、それぞれの場所をそれぞ
れ別の方法で処理する。すなわち、リード/ライト共、
復元済部分は「通常リード/ライト操作」で処理し、未
復元部分は「修正リード/ライト操作」で処理するもの
である。
In this embodiment, each location is processed differently. That is, for both read / write,
The restored portion is processed by the "normal read / write operation", and the unrestored portion is processed by the "corrected read / write operation".

【0026】また、第1の実施例にあっては、上記の如
くリード/ライト共、復元済部分は「通常リード/ライ
ト操作」で処理し、未復元部分は「修正リード/ライト
操作」で処理するものであるが、第2の実施例は上記の
処理を別の方法で行なうものである。
In the first embodiment, the restored portion is processed by the "normal read / write operation", and the unrestored portion is processed by the "corrected read / write operation". In the second embodiment, the above processing is performed by another method.

【0027】例えば、図3に示したe5〜e9にリード
/ライト命令が来た場合について説明する。第2の実施
例では、ひとまずリード/ライト命令を実行しないで、
要求範囲のうち未復元部分を復元することに専念する。
つまり、ここでの例で考えると、e8,e9を再生して
からディスクに書き込むのである。このことによって、
復元済/未復元の境界線がe9の位置まで進むことにな
る。
For example, a case where a read / write instruction is received at e5 to e9 shown in FIG. 3 will be described. In the second embodiment, without executing the read / write instruction for the time being,
Focus on restoring the unrestored portion of the requested range.
In other words, in this example, the e8 and e9 are reproduced and then written to the disc. This allows
The restored / unrestored boundary line advances to the position of e9.

【0028】その後、e9まで書き終わったところでリ
ード/ライト命令を再開する。すなわち、ここでは既に
復元済の場所に対してリード/ライト命令が来ることに
なるから、「通常リード/ライト操作」で処理すること
になる。
Thereafter, the read / write instruction is restarted when writing is completed up to e9. That is, here, a read / write command is sent to a location that has already been restored, so that it is processed by a "normal read / write operation".

【0029】また、第3の実施例も上記第1の実施例に
示した方法とは別の方法で行なう。例えば、図3のe5
〜e9のリード/ライト命令が来た場合について説明す
ると、リード命令が来た場合、上述の第2の実施例の方
法と同じである。すなわち、要求が来た部分までを復元
してから「通常リード操作」を行なうものである。
The third embodiment is performed by a method different from the method shown in the first embodiment. For example, e5 in FIG.
A description will be given of the case where the read / write instruction of ~ e9 comes. When the read instruction comes, it is the same as the method of the second embodiment described above. That is, the "normal read operation" is performed after restoring the part up to which the request has been received.

【0030】つぎに、ライト命令が来た場合であるが、
この場合、e5,e7については、同じ冗長列にあるパ
リティと共に読み出してメモリバッファ15に格納し、
e8,e9についてはこれらを再生してから、同じくメ
モリバッファ15に格納する。また、新データne5,
ne7,ne8,ne9,旧データe5,e7,e8,
e9,旧パリティa5,d7,c8,d9から新パリテ
ィna5,nd7,nc8,nb9を同じ冗長列どうし
で各ビットごとに排他的論理和をとることにより生成す
る。その後、新データ、新パリティをそれぞれディスク
に書き込む。このことにより境界線が進むことになる。
Next, when a write instruction is received,
In this case, e5 and e7 are read out together with the parity in the same redundant column and stored in the memory buffer 15,
e8 and e9 are reproduced and then stored in the memory buffer 15. In addition, new data ne5
ne7, ne8, ne9, old data e5, e7, e8,
e9, new parities na5, nd7, nc8, and nb9 are generated from the old parities a5, d7, c8, and d9 by exclusive ORing the same redundant columns for each bit. After that, the new data and the new parity are respectively written to the disk. This will advance the boundary line.

【0031】なお、上記各実施例においては、冗長性情
報の生成にエラー訂正および制御(ECC)エンジンを
用いたが、そのような回路を用いなくともソフトウェア
で代用することもできる。また、説明に用いたハードウ
ェア構成でなくとも、冗長性情報および予備のディスク
を有するアレイ型ディスク駆動機構システムであれば、
この発明を適用することができる。
In each of the above embodiments, the error correction and control (ECC) engine is used to generate the redundancy information. However, software may be used without using such a circuit. Further, even if the hardware configuration is not the one used in the description, if it is an array type disk drive system having redundancy information and a spare disk,
The present invention can be applied.

【0032】図1は、本発明の方法を用いた場合のアレ
イ型ディスク駆動機構システムの動作の概要を表す概念
図である。予備のディスク駆動機構3に対し矢印が破線
になっているのは、未復元部へのライトを考慮したため
である。
FIG. 1 is a conceptual diagram showing the outline of the operation of an array type disk drive mechanism system when the method of the present invention is used. The dashed arrow for the spare disk drive mechanism 3 is due to consideration of writing to the unrestored portion.

【0033】また、図5は上記第1の実施例の動作を示
すフローチャートであり、まず、復元は終了したか否か
を判断する(S20)。その結果、終了したと判断した
場合には処理は終了する。反対に、復元が終了していな
いと判断した場合には、つぎにI/O要求はあるか否か
を判断する(S21)。その結果、I/O要求がないと
判断した場合には、ある単位で復元動作を実行し(S2
2)、上記ステップ20へ戻る。
FIG. 5 is a flowchart showing the operation of the first embodiment. First, it is determined whether or not the restoration has been completed (S20). As a result, if it is determined that the processing has been completed, the processing ends. Conversely, if it is determined that the restoration has not been completed, it is next determined whether or not there is an I / O request (S21). As a result, when it is determined that there is no I / O request, the restoration operation is executed in a certain unit (S2).
2) Return to step 20 above.

【0034】反対に、I/O要求があると判断した場合
には、復元中のディスクに対するものか否かを判断する
(S23)。その結果、復元中のディスクに対するもの
ではないと判断した場合には、リードあるいはライトの
判別を実行した(S24)後、通常リード/ライト操作
を実行し(S25)、上記ステップ20へ戻る。反対
に、復元中のディスクに対するものであると判断した場
合には、ステップ26へ進む。
On the other hand, if it is determined that there is an I / O request, it is determined whether the request is for the disk being restored (S23). As a result, when it is determined that the data is not for the disk being restored, read / write determination is performed (S24), and then a normal read / write operation is performed (S25), and the process returns to step 20. Conversely, if it is determined that the data is for the disk being restored, the process proceeds to step 26.

【0035】すなわち、リードかライトかを判断し(S
26)、リードであると判断した場合には、つぎにどの
部分へのリードかを判断する(S27)。ここで、1の
復元済部であると判断した場合には、通常リード操作を
実行し(S28)、上記ステップ20へ戻る。2の未復
元部であると判断した場合には、修正リード操作を実行
し(S29)、上記ステップ20へ戻る。さらに、3の
両方であると判断した場合には、復元済部を通常リード
操作した(S30)後、未復元部を修正リード操作し
(S31)、上記ステップ20へ戻る。
That is, it is determined whether the data is read or write (S
26) If it is determined to be a read, it is next determined to which part to read (S27). If it is determined that the restored unit is one, the normal read operation is performed (S28), and the process returns to step S20. If it is determined that the part is the second unrestored part, a modified read operation is performed (S29), and the process returns to step S20. Further, when it is determined that both are the three, the normal read operation is performed on the restored part (S30), and then the corrected read operation is performed on the unrestored part (S31), and the process returns to the step S20.

【0036】ステップ26において、ライトであると判
断した場合には、図6に示すフローチャートに移り、ど
の部分へのライトかを判断する(S32)。ここで、1
の復元済部であると判断した場合には、通常ライト操作
を実行し(S33)、上記ステップ20へ戻る。2の未
復元部であると判断した場合には、修正ライト操作を実
行し(S34)、上記ステップ20へ戻る。さらに、3
の両方であると判断した場合には、復元済部を通常ライ
ト操作した(S35)後、未復元部を修正ライト操作し
(S36)、上記ステップ20へ戻る。
If it is determined in step 26 that the data is a light, the flow shifts to the flowchart shown in FIG. 6 to determine to which part the data is to be written (S32). Where 1
If it is determined that the part is the restored part, the normal write operation is performed (S33), and the process returns to step S20. If it is determined that the part is the second unrestored part, a correction write operation is executed (S34), and the process returns to step S20. In addition, 3
If it is determined that both are the same, a normal write operation is performed on the restored portion (S35), and then a modified write operation is performed on the unrestored portion (S36), and the process returns to step 20.

【0037】また、図7は上記第2の実施例の動作を示
すフローチャートであり、まず、復元は終了したか否か
を判断する(S40)。その結果、終了したと判断した
場合には処理は終了する。反対に、復元が終了していな
いと判断した場合には、つぎにI/O要求はあるか否か
を判断する(S41)。その結果、I/O要求がないと
判断した場合には、ある単位で復元動作を実行し(S4
2)、上記ステップ40へ戻る。
FIG. 7 is a flowchart showing the operation of the second embodiment. First, it is determined whether or not the restoration has been completed (S40). As a result, if it is determined that the processing has been completed, the processing ends. Conversely, if it is determined that the restoration has not been completed, it is next determined whether or not there is an I / O request (S41). As a result, when it is determined that there is no I / O request, the restoration operation is executed in a certain unit (S4).
2) Return to step 40 above.

【0038】反対に、I/O要求があると判断した場合
には、復元中のディスクに対するものか否かを判断する
(S43)。その結果、復元中のディスクに対するもの
ではないと判断した場合には、リードあるいはライトの
判別を実行した(S44)後、通常リード/ライト操作
を実行し(S45)、上記ステップ40へ戻る。反対
に、復元中のディスクに対するものであると判断した場
合には、ステップ46へ進む。
On the other hand, when it is determined that there is an I / O request, it is determined whether the request is for the disk being restored (S43). As a result, if it is determined that the data is not for the disk being restored, read / write determination is performed (S44), and then a normal read / write operation is performed (S45), and the process returns to step 40. Conversely, if it is determined that the data is for the disk being restored, the process proceeds to step 46.

【0039】すなわち、リードかライトかを判断し(S
46)、リードであると判断した場合には、つぎにどの
部分へのリードかを判断する(S47)。ここで、1の
復元済部であると判断した場合には、通常リード操作を
実行し(S48)、上記ステップ40へ戻る。2の未復
元部であると判断した場合には、修正リード操作を実行
し(S49)、上記ステップ40へ戻る。さらに、3の
両方であると判断した場合には、未復元部を復元した
(S50)後、通常リード操作を実行し(S51)、上
記ステップ40へ戻る。
That is, it is determined whether the data is read or write (S
46) If it is determined that it is a read, it is next determined to which part the read is to be performed (S47). If it is determined that the restored unit is one, the normal read operation is performed (S48), and the process returns to step S40. If it is determined that the part is the second unrestored part, a modified read operation is performed (S49), and the process returns to step S40. Further, when it is determined that both of the three are satisfied, the normal read operation is executed after restoring the unrestored portion (S50), and the process returns to step 40.

【0040】ステップ46において、ライトであると判
断した場合には、図8に示すフローチャートに移り、ど
の部分へのライトかを判断する(S52)。ここで、1
の復元済部であると判断した場合には、通常ライト操作
を実行し(S53)、上記ステップ40へ戻る。2の未
復元部であると判断した場合には、修正ライト操作を実
行し(S54)、上記ステップ40へ戻る。さらに、3
の両方であると判断した場合には、未復元部を復元した
(S55)後、通常ライト操作を実行し(S56)、上
記ステップ40へ戻る。
If it is determined in step 46 that the data is a light, the flow shifts to the flowchart shown in FIG. 8, and it is determined to which part the data is to be written (S52). Where 1
If it is determined that the part has been restored, a normal write operation is executed (S53), and the process returns to step S40. If it is determined that the part is the unrestored part, a modified write operation is executed (S54), and the process returns to step S40. In addition, 3
If it is determined that both are the same, after restoring the unrestored portion (S55), a normal write operation is executed (S56), and the process returns to step 40.

【0041】また、図9は上記第3の実施例の動作を示
すフローチャートであり、まず、復元は終了したか否か
を判断する(S60)。その結果、終了したと判断した
場合には処理は終了する。反対に、復元が終了していな
いと判断した場合には、つぎにI/O要求はあるか否か
を判断する(S61)。その結果、I/O要求がないと
判断した場合には、ある単位で復元動作を実行し(S6
2)、上記ステップ60へ戻る。
FIG. 9 is a flowchart showing the operation of the third embodiment. First, it is determined whether or not the restoration has been completed (S60). As a result, if it is determined that the processing has been completed, the processing ends. Conversely, if it is determined that the restoration has not been completed, it is next determined whether or not there is an I / O request (S61). As a result, when it is determined that there is no I / O request, the restoration operation is executed in a certain unit (S6).
2) Return to step 60 above.

【0042】反対に、I/O要求があると判断した場合
には、復元中のディスクに対するものか否かを判断する
(S63)。その結果、復元中のディスクに対するもの
ではないと判断した場合には、リードあるいはライトの
判別を実行した(S64)後、通常リード/ライト操作
を実行し(S65)、上記ステップ60へ戻る。反対
に、復元中のディスクに対するものであると判断した場
合には、ステップ66へ進む。
On the other hand, if it is determined that there is an I / O request, it is determined whether the request is for the disk being restored (S63). As a result, when it is determined that the data is not for the disk being restored, a read or write determination is performed (S64), and then a normal read / write operation is performed (S65), and the process returns to step 60. Conversely, if it is determined that the data is for the disk being restored, the process proceeds to step 66.

【0043】すなわち、リードかライトかを判断し(S
66)、リードであると判断した場合には、つぎにどの
部分へのリードかを判断する(S67)。ここで、1の
復元済部であると判断した場合には、通常リード操作を
実行し(S68)、上記ステップ60へ戻る。2の未復
元部であると判断した場合には、修正リード操作を実行
し(S69)、上記ステップ60へ戻る。さらに、3の
両方であると判断した場合には、未復元部を復元した
(S70)後、通常リード操作を実行し(S71)、上
記ステップ60へ戻る。
That is, it is determined whether the data is read or write (S
66) If it is determined that it is a read, it is next determined to which part it is to be read (S67). If it is determined that the restored unit is one, a normal read operation is performed (S68), and the process returns to step S60. If it is determined that the part is the second unrestored part, a modified read operation is executed (S69), and the process returns to step S60. Further, when it is determined that the number is both 3, after restoring the unrestored portion (S70), a normal read operation is executed (S71), and the process returns to step 60.

【0044】ステップ66において、ライトであると判
断した場合には、図10に示すフローチャートに移り、
どの部分へのライトかを判断する(S72)。ここで、
1の復元済部であると判断した場合には、通常ライト操
作を実行し(S73)、上記ステップ60へ戻る。2の
未復元部であると判断した場合には、修正ライト操作を
実行し(S74)、上記ステップ60へ戻る。さらに、
3の両方であると判断した場合には、未復元部を再生し
た(S75)後、通常ライト操作を実行し(S76)、
上記ステップ60へ戻る。
If it is determined in step 66 that the data is a light, the flow shifts to the flowchart shown in FIG.
It is determined to which part the light is to be written (S72). here,
If it is determined that the restored unit is No. 1, a normal write operation is performed (S73), and the process returns to step S60. When it is determined that the part is the second unrestored part, a correction write operation is executed (S74), and the process returns to step S60. further,
If it is determined that both are the three, the non-restored portion is reproduced (S75), and then the normal write operation is executed (S76).
The process returns to step 60.

【0045】一方、「境界」という概念を用いない方法
も考えられる。すなわち、予備のディスクにライト命令
が来たら、そのままライトしてしまうという方法であ
る。この方法では、図11に示すように復元箇所が虫食
い状態になる。従って、虫食い型修正/復元と呼ぶこと
にするが、復元済箇所と未復元箇所を複数またがってリ
ード命令が来た場合、その制御が複雑になる上、復元箇
所の管理のためのメモリが膨大になるという欠点があ
る。このような方法に比べ、この発明による方法は簡単
明瞭なものとなっており、開発/メンテナンス(保守)
が容易である。
On the other hand, a method that does not use the concept of “boundary” is also conceivable. That is, when a write command comes to the spare disk, the write is performed as it is. In this method, the restored portion is in a worm-eating state as shown in FIG. Therefore, although it is referred to as the worm-type correction / restoration, when a read instruction is received over a plurality of restored parts and unrestored parts, the control becomes complicated and the memory for managing the restored parts becomes enormous. Disadvantage. Compared to such a method, the method according to the present invention is simple and clear, and the development / maintenance (maintenance)
Is easy.

【0046】[0046]

【発明の効果】以上のようにこの発明によれば、システ
ムを停止させないで、オンラインで故障を起こしたディ
スクを修正/復元することができるため、システムの操
作性を向上させることができる。
As described above, according to the present invention, a failed disk can be corrected / restored online without stopping the system, so that the operability of the system can be improved.

【0047】また、復元済部分/未復元部分の境界とい
う概念を設けてそれを壊さないように修正/復元を進め
るため、復元済部分/未復元部分の管理に使われるメモ
リの量を少なくすることができ、開発/メンテナンス
(保守)が容易となる。
In addition, since the concept of a boundary between a restored portion and an unrestored portion is provided and the correction / restoration is performed so as not to break it, the amount of memory used for managing the restored portion / unrestored portion is reduced. And development / maintenance (maintenance) is facilitated.

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

【図1】 この発明による方法を用いた場合のアレイ型
ディスク駆動機構システムの動作概要を示す説明図であ
る。
FIG. 1 is an explanatory diagram showing an operation outline of an array type disk drive mechanism system when a method according to the present invention is used.

【図2】 この発明による方法により、ある程度まで修
正/復元が進んだディスク駆動機構を示す説明図であ
る。
FIG. 2 is an explanatory diagram showing a disk drive mechanism that has been modified / restored to some extent by the method according to the present invention.

【図3】 この発明の方法による修正/復元中の、ある
いは修正/復元中ではないディスク駆動機構を示す説明
図である。
FIG. 3 is an explanatory diagram showing a disk drive mechanism which is being modified / restored or not being modified / restored by the method of the present invention.

【図4】 この発明によるディスク駆動機構システムの
一実施例および従来のディスク駆動機構システムの一実
施例を示す説明図である。
FIG. 4 is an explanatory diagram showing an embodiment of a disk drive mechanism system according to the present invention and an embodiment of a conventional disk drive mechanism system.

【図5】 この発明による第1の実施例の動作を示すフ
ローチャートである。
FIG. 5 is a flowchart showing the operation of the first embodiment according to the present invention.

【図6】 この発明による第1の実施例の動作を示すフ
ローチャートである。
FIG. 6 is a flowchart showing the operation of the first embodiment according to the present invention.

【図7】 この発明による第2の実施例の動作を示すフ
ローチャートである。
FIG. 7 is a flowchart showing the operation of the second embodiment according to the present invention.

【図8】 この発明による第2の実施例の動作を示すフ
ローチャートである。
FIG. 8 is a flowchart showing the operation of the second embodiment according to the present invention.

【図9】 この発明による第3の実施例の動作を示すフ
ローチャートである。
FIG. 9 is a flowchart showing the operation of the third embodiment according to the present invention.

【図10】 この発明による第3の実施例の動作を示す
フローチャートである。
FIG. 10 is a flowchart showing the operation of the third embodiment according to the present invention.

【図11】 虫食い型修正/復元方法により復元中のデ
ィスク駆動機構システムを示す説明図である。
FIG. 11 is an explanatory diagram showing the disk drive mechanism system being restored by the worm-eating type correction / restoration method.

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

1 障害を起こしたディスク駆動機構、2 障害を起こ
していないディスク駆動機構、3 予備のディスク駆動
機構、4 通常のリード/ライト動作、5 予備のディ
スク駆動機構に対するリード/ライト動作、6 復元済
箇所、7 未復元箇所、8 復元済箇所と未復元箇所の
境界線、9 データブロックあるいはパリティブロッ
ク、10 修正/復元中のディスク駆動機構、11 修
正/復元中でないディスク駆動機構、13 上位コンピ
ュータ、15 メモリバッファ、17 エラー訂正およ
び制御(ECC)エンジン、18 チャネルコントロー
ラ、19 チャネル、20 ディスク、21 アレイ、
24 マイクロプロセッサ。
1 failed disk drive mechanism, 2 failed disk drive mechanism, 3 spare disk drive mechanism, 4 normal read / write operation, 5 read / write operation on spare disk drive mechanism, 6 restored part 7 Unrestored portion, 8 Boundary line between restored portion and unrestored portion, 9 Data block or parity block, 10 Disk drive mechanism being modified / restored, 11 Disk drive mechanism not being modified / restored, 13 Host computer, 15 Memory buffer, 17 error correction and control (ECC) engine, 18 channel controller, 19 channels, 20 disks, 21 arrays,
24 Microprocessor.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 G06F 11/16 G06F 13/10 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 3/06 G06F 11/16 G06F 13/10

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 アレイ要素であるデータ、パリティをス
トアするための複数のディスク駆動機構の他に予備のデ
ィスク駆動機構を有し、上位コンピュータからのアクセ
ス要求に対して一つの論理的ディスクとして動作するア
レイ型ディスク駆動機構システムにおいて、 前記予備のディスク駆動機構の記憶領域を復元済領域と
未復元領域とに分ける境界情報を記憶するための境界情
報記憶手段と、 前記予備のディスク駆動機構を、前記複数のディスク駆
動機構の中の障害が発生したディスク駆動機構の代わり
として動作させるために、その障害が発生したディスク
駆動機構内に本来格納されているべきデータを、所定の
順番で、前記予備のディスク駆動機構内に格納させてい
くとともに、データの格納が完了した記憶領域の終了位
置を表す境界情報を前記境界情報記憶手段に記憶する復
元手段と、 前記復元手段の動作中に、前記上位コンピュータからア
クセス要求があったときに、前記境界情報記憶手段に記
憶された境界情報に基づき、そのアクセス要求が前記復
元済領域内のデータが関係するものであるか否かを判断
し、関係するものであった場合には、前記予備のディス
ク駆動機構が既に復元されているものとして前記アクセ
ス要求に応答し、それ以外の場合には、前記予備のディ
スク駆動機構が未だ復元されていないものとして前記ア
クセス要求に応答する応答手段と、 を備えることを特徴とするアレイ型ディスク駆動機構シ
ステム。
A spare disk drive is provided in addition to a plurality of disk drives for storing data and parity as array elements, and operates as one logical disk in response to an access request from a host computer. An array-type disk drive mechanism system, comprising: boundary information storage means for storing boundary information for dividing a storage area of the spare disk drive mechanism into a restored area and an unrestored area; and In order to operate as a substitute for a failed disk drive among the plurality of disk drives, data that should be stored in the failed disk drive is stored in a predetermined order in the spare disk drive. And a boundary indicating the end position of the storage area where data storage is completed. Means for storing information in the boundary information storage means, during the operation of the recovery means, when an access request is received from the host computer, the access is performed based on the boundary information stored in the boundary information storage means. It is determined whether or not the request is related to the data in the restored area, and if so, the spare disk drive is regarded as being already restored and the A response unit that responds and otherwise responds to the access request assuming that the spare disk drive has not been restored.
JP3186337A 1991-07-25 1991-07-25 Array type disk drive system Expired - Lifetime JP2880000B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3186337A JP2880000B2 (en) 1991-07-25 1991-07-25 Array type disk drive system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3186337A JP2880000B2 (en) 1991-07-25 1991-07-25 Array type disk drive system

Publications (2)

Publication Number Publication Date
JPH0535413A JPH0535413A (en) 1993-02-12
JP2880000B2 true JP2880000B2 (en) 1999-04-05

Family

ID=16186587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3186337A Expired - Lifetime JP2880000B2 (en) 1991-07-25 1991-07-25 Array type disk drive system

Country Status (1)

Country Link
JP (1) JP2880000B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074100B2 (en) 2008-03-31 2011-12-06 Fujitsu Limited Method and apparatus for restore management

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579474A (en) 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
JP2912802B2 (en) * 1993-10-14 1999-06-28 富士通株式会社 Disk array device failure handling method and device
JPH07152495A (en) * 1993-11-29 1995-06-16 Nec Corp Recovery system for disk array device
JPH10254642A (en) * 1997-03-14 1998-09-25 Hitachi Ltd Storage device system
JP5549249B2 (en) * 2010-02-04 2014-07-16 富士通株式会社 Storage device, storage device data restoration method, and storage controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074100B2 (en) 2008-03-31 2011-12-06 Fujitsu Limited Method and apparatus for restore management

Also Published As

Publication number Publication date
JPH0535413A (en) 1993-02-12

Similar Documents

Publication Publication Date Title
US6442711B1 (en) System and method for avoiding storage failures in a storage array system
KR100211788B1 (en) Failure prediction for disk arrays
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
JP2959901B2 (en) Redundant array of storage device and online reconfiguration method
JP5887757B2 (en) Storage system, storage control device, and storage control method
JP3742494B2 (en) Mass storage device
US5790773A (en) Method and apparatus for generating snapshot copies for data backup in a raid subsystem
JP2743606B2 (en) Array type recording device
US5488701A (en) In log sparing for log structured arrays
US20050229033A1 (en) Disk array controller and information processing apparatus
US6886075B2 (en) Memory device system and method for copying data in memory device system
EP1535154A1 (en) Using file system information in raid data reconstruction and migration
JPH05181611A (en) Recorder and access system
JPH0744326A (en) Strage system
JP2000207136A (en) Multi-drive fault-tolerance raid algorithm
JP3681766B2 (en) Disk array device
JP2880000B2 (en) Array type disk drive system
US20060215456A1 (en) Disk array data protective system and method
US20030163757A1 (en) RAID subsystem and data input/output and recovery method in disk error mode
JP4143040B2 (en) Disk array control device, processing method and program for data loss detection applied to the same
JPH09218754A (en) Data storage system
JPH06266508A (en) Disk array control method
JP2005166016A (en) Disk array device
JPH08286844A (en) Parity generation control method and disk controller
JP2004185477A (en) Optical storage medium array device and data transfer method