JP3254766B2 - Multiple writing method of the same data, data reading method and data recovery method, and control device therefor - Google Patents

Multiple writing method of the same data, data reading method and data recovery method, and control device therefor

Info

Publication number
JP3254766B2
JP3254766B2 JP31166692A JP31166692A JP3254766B2 JP 3254766 B2 JP3254766 B2 JP 3254766B2 JP 31166692 A JP31166692 A JP 31166692A JP 31166692 A JP31166692 A JP 31166692A JP 3254766 B2 JP3254766 B2 JP 3254766B2
Authority
JP
Japan
Prior art keywords
data
storage units
management table
storage unit
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31166692A
Other languages
Japanese (ja)
Other versions
JPH05233161A (en
Inventor
淳 田中
仁 角田
良史 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31166692A priority Critical patent/JP3254766B2/en
Publication of JPH05233161A publication Critical patent/JPH05233161A/en
Application granted granted Critical
Publication of JP3254766B2 publication Critical patent/JP3254766B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

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

【0001】本発明は、データ処理装置に用いられる2
次記憶装置における同一データの多重書き込み方法、デ
ータの読み出し方法及びデータ回復方法、並びにそのた
めの制御装置に関する。特に、2次記憶装置が有する複
数の、例えばディスクドライブのような、記憶ユニット
のうちの所定数の記憶ユニットに対して同一データの多
重書き込み制御を行う方法及び装置に関する。
[0001] The present invention relates to a 2
The present invention relates to a multiplex writing method of the same data in a secondary storage device, a data reading method, a data recovery method, and a control device therefor. In particular, the present invention relates to a method and apparatus for performing multiplex writing control of the same data on a predetermined number of storage units of a plurality of storage units, such as disk drives, of a secondary storage device.

【0002】[0002]

【従来の技術】2次記憶装置の性能改善は、これまでは
主として記憶装置容量の増大及びデータ転送速度の向上
に向けられていた。ところが、コンピュータの処理速度
の向上にともない、2次記憶装置に対する入出力スルー
プットの向上が課題となってきている。その1つは解決
方法として、同一データをn台(nは2以上の整数)の
ディスクドライブ全てに書き込んでおき、データの読み
出し時には、データ出力命令を全てのディスクドライブ
に発して、一番早くそのデータ出力命令を処理できるデ
ィスクドライブからそのデータを読み出す方法が提案さ
れている。
2. Description of the Related Art Up to now, performance improvement of secondary storage devices has been mainly aimed at increasing storage device capacity and data transfer speed. However, with the improvement of the processing speed of the computer, the improvement of the input / output throughput for the secondary storage device has become an issue. One solution is to write the same data to all n (n is an integer of 2 or more) disk drives, issue a data output command to all disk drives when reading data, and A method of reading the data from a disk drive that can process the data output command has been proposed.

【0003】これについては、イリノイ大学の Dina Bi
tton 等の論文:ディスク シャドウイング(Dina Bitt
on, et al, “Disk Shadowing”, Proceedings of the
14th International Conference on Very Large Data B
ase, 1988, pp.331-338)および特開平1−17101
5号公報(JP-A-1-17015)に開示されている。
In this regard, Dina Bi of the University of Illinois
tton et al .: Disk Shadowing (Dina Bitt)
on, et al, “Disk Shadowing”, Proceedings of the
14th International Conference on Very Large Data B
ase, 1988, pp. 331-338) and JP-A-1-17101.
No. 5 (JP-A-1-17015).

【0004】また、入出力スループットを向上させる別
の方法として、複数のディスクドライブを独立して駆動
させ、1つのデータを分割して複数のディスクドライブ
に書き込む技術が知られている。例えばカリフォルニア
大学バークレイ校から発表された RAID (Redundant Ar
rays of Inexpensive Disks)の方法がある。
As another method for improving the input / output throughput, there is known a technique in which a plurality of disk drives are independently driven to divide one piece of data and write the data to the plurality of disk drives. For example, RAID (Redundant Ar
rays of Inexpensive Disks).

【0005】これについては、同校の D. Patterson 等
のア ケース オブ リダンダントアレイ オブ イネ
クスペンシブ ディスク(David A. Patterson, et al,
“A Case of Redundant Array of Inexpensive Disks
(RAID)”, ACMSIGMOD Conference, 1988)に開示されて
いる。
A case of redundant array of inexpensive disks such as D. Patterson of the school (David A. Patterson, et al,
“A Case of Redundant Array of Inexpensive Disks
(RAID) ", ACMSIGMOD Conference, 1988).

【0006】ここではまた、複数のディスクドライブに
データが分割されて記憶されることによる信頼性の低下
の問題に対して、パリティ、ECC等を使った高信頼化
の技術を示している。すなわち、各データについて、パ
リティ、ECC等を使って訂正用データを作っておく。
あるディスクドライブに障害が発生したとき、訂正用デ
ータと正常なディスクドライブに残されているデータと
から、障害が発生したディスクドライブ内のデータを回
復する技術が示されている。この技術は、例えば、特開
平2−236714号公報(JP-A-2-236714)に示され
ている。
[0006] Here, a technique for improving reliability using parity, ECC, and the like is shown for the problem of a decrease in reliability due to data being divided and stored in a plurality of disk drives. That is, correction data is created for each data using parity, ECC, and the like.
A technique is disclosed in which, when a failure occurs in a certain disk drive, data in the failed disk drive is recovered from correction data and data remaining in a normal disk drive. This technique is disclosed in, for example, Japanese Patent Application Laid-Open No. 2-236714 (JP-A-2-236714).

【0007】[0007]

【発明が解決しようとする課題】論文「ディスク シャ
ドウイング」に代表される前者の技術では、複数のディ
スクドライブに対する同一データの読み出し/書き込み
動作時に各ディスクドライブにおける入出力命令の待ち
状態が考慮されていない。したがって、複数のディスク
ドライブに対する同一データの書き込み時には、その複
数のディスクドライブが、既に入出力命令を多数有して
いるディスクドライブを1つでも含んでいると、同一デ
ータの書き込み動作は全体的に遅れてしまう。
In the former technique typified by the paper "Disk Shadowing", the waiting state of an input / output command in each disk drive is considered when reading / writing the same data to a plurality of disk drives. Not. Therefore, when writing the same data to a plurality of disk drives, if the plurality of disk drives includes at least one disk drive that already has a large number of input / output instructions, the operation of writing the same data as a whole is I will be late.

【0008】また、同一データを複数のディスクドライ
ブから読み出す場合には、そのデータを記憶した全ての
ディスクドライブに対して読み出し命令が発行されるの
で、一番早くデータ読み出しを行う可能性の少ない、既
に入出力命令を多数有しているディスクドライブはさら
に不要な入出力命令が追加されることになる。
When the same data is read from a plurality of disk drives, a read command is issued to all the disk drives storing the data. Unnecessary input / output instructions are added to a disk drive that already has many input / output instructions.

【0009】一方、論文「RAID」に代表される後者
の技術でも、複数のディスクドライブに対するデータの
読み出し/書き込み動作時に各ディスクドライブにおけ
る入出力命令の待ち状態は、考慮されていない。また、
あるディスクドライブに障害が発生した場合に、そのデ
ータ回復には特殊な訂正用データが必要である。
On the other hand, even in the latter technique typified by the article "RAID", the waiting state of an input / output command in each disk drive during data read / write operation to a plurality of disk drives is not considered. Also,
If a disk drive fails, its data recovery requires special correction data.

【0010】本発明の主たる目的は、複数の記憶ユニッ
トを有する2次記憶装置の入出力スループットを向上さ
せた同一データ多重書き込み方法およびそのための制御
装置を提供することにある。
A main object of the present invention is to provide a method for multiplexing and writing the same data in which the input / output throughput of a secondary storage device having a plurality of storage units is improved, and a control device therefor.

【0011】本発明の他の目的は、履歴データを自動的
に生成可能な、2次記憶装置における同一データの多重
書き込み方法およびそのための制御装置を提供すること
にある。
Another object of the present invention is to provide a method for multiplex writing of the same data in a secondary storage device capable of automatically generating history data, and a control device therefor.

【0012】本発明の他の目的は、複数の記憶ユニット
を有する2次記憶装置において、他の入出力命令に与え
る影響の少ない、同一データの多重書き込み方法及びデ
ータの読み出し方法、ならびにそれらの制御装置を提供
することにある。
Another object of the present invention is to provide a secondary storage device having a plurality of storage units, a method of multiplex writing the same data and a method of reading the data, which have little effect on other input / output instructions, and their control. It is to provide a device.

【0013】本発明のさらに他の目的は、複数の記憶ユ
ニットを有する2次記憶装置において、ある記憶ユニッ
トに障害が発生したときに、データ回復が容易に行える
データの回復方法およびそのための制御装置を提供する
ことにある。
Still another object of the present invention is to provide a data recovery method and a control device therefor which can easily recover data when a failure occurs in a certain storage unit in a secondary storage device having a plurality of storage units. Is to provide.

【0014】本発明のさらに他の目的は、複数の記憶ユ
ニットを有する2次記憶装置において、未使用の記憶ユ
ニットの増設に対して柔軟性がある同一データの書き込
み方法およびデータの読み出し方法、ならびにそのため
の制御装置を提供することにある。
Still another object of the present invention is to provide a secondary storage device having a plurality of storage units, a method for writing the same data and a method for reading the data, which are flexible with respect to the addition of unused storage units. It is to provide a control device for that.

【0015】[0015]

【課題を解決するための手段】上記目的は、本発明の好
適実施例によれば、複数の記憶ユニットを有する2次記
憶装置において、入出力命令の処理待ちの度合いが少な
い記憶ユニットを、同一データを多重書き込みすべき記
憶ユニット群として選択することにより達成される。
According to a preferred embodiment of the present invention, in a secondary storage device having a plurality of storage units, a storage unit having a low degree of waiting for processing of an input / output instruction is designated by the same storage unit. This is achieved by selecting data as a group of storage units to be multiply written.

【0016】また、上記目的は、本発明の好適実施例に
よれば、複数の記憶ユニットを有する2次記憶装置にお
いて、各記憶ユニットのデータ空き容量と入出力命令の
処理待ちの度合いとを考慮して、同一データを多重書き
込みすべき記憶ユニットを選択することにより達成され
る。
Further, according to a preferred embodiment of the present invention, in the secondary storage device having a plurality of storage units, the object of the present invention is to consider the data free space of each storage unit and the degree of waiting for processing of an input / output instruction. This is achieved by selecting a storage unit to which the same data is to be written multiple times.

【0017】[0017]

【作用】本発明の多重化記憶装置は、図15に示すよう
に、1つのデータを複数の記憶部(ディスク装置#1、
#3)格納しておくために、出力命命を処理する場合、
それらの中で一番早く使えるようになった記憶部からデ
ータを呼び出してそのデータ#nを用いるため、出力処
理性能を向上できる。またコントローラは、複数の入出
力命令を処理する中で、入力データを格納する記憶部
が、他の入出力命令の処理のために使用出来ない場合に
は、一番早く使える他の記憶部(ディスク装置#2、#
4)の空領域にデータ#nを書き込むので、入力処理性
能の向上も達成することが可能である。入出力命令の指
定するアドレスを、実際にデータが格納されている、記
憶部の番号、アドレスに対応づけ、それらの管理をデー
タアドレス管理テーブル内で自動的に行うことにより、
ユーザは一々、記憶部内のデータの位置を気にせず、最
適な入出力処理を行うことが出来る。また、記憶部の障
害回復を行う際、読みだすべきデータは、各記憶部に分
散しており、1個の記憶部だけを集中して占有すること
は無く、読みだしたデータを改めて書き込む際も、1個
の記憶部だけに集中して書き込むことは無く、入出力要
求の処理性能の低下を抑制することが出来る。また、記
憶部の障害が発生し、データを読み書き出来ない場合、
多重化した他の記憶部上データを読みだす事によってこ
れを補い、さらに多重化したデータがすべて使えなくな
った場合は、保存してある、履歴データを代用すること
によって、信頼性を高くすることが出来る。
In the multiplex storage device of the present invention, as shown in FIG. 15, one data is stored in a plurality of storage units (disk devices # 1, # 2).
# 3) When processing output instructions to store them,
Since data is called from the storage unit that can be used first among them and the data #n is used, output processing performance can be improved. Further, the controller, when processing a plurality of input / output commands, if a storage unit for storing input data cannot be used for processing another input / output command, the other storage unit ( Disk devices # 2 and #
Since the data #n is written in the empty area of 4), it is possible to achieve an improvement in input processing performance. By associating the address specified by the input / output instruction with the number and address of the storage unit where the data is actually stored, and automatically managing them in the data address management table,
The user can perform optimal input / output processing without concern for the position of the data in the storage unit. Also, when performing a recovery from a failure in a storage unit, data to be read is dispersed in each storage unit, so that only one storage unit is not occupied in a concentrated manner. However, the writing is not concentrated on only one storage unit, and the processing performance of the input / output request can be prevented from deteriorating. Also, if a failure of the storage unit occurs and data cannot be read or written,
To compensate for this by reading out the other multiplexed data on the storage unit, and if all the multiplexed data becomes unusable, increase the reliability by substituting the stored history data. Can be done.

【0018】[0018]

【実施例】以下、本発明の実施例を図面を用い詳細に説
明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0019】図1には、本発明による2次記憶装置の一
実施例の構成を示す。本実施例では、複数の記憶ユニッ
トとして磁気ディスクドライブを備えた2次記憶装置を
例に説明する。図1において、2次記憶装置は複数の記
憶ユニット全体を制御する制御部2と、磁気ディスクド
ライブ16−1から16−nと、それを制御するディス
ク制御装置15により構成される。
FIG. 1 shows the configuration of an embodiment of a secondary storage device according to the present invention. In the present embodiment, a secondary storage device having a magnetic disk drive as a plurality of storage units will be described as an example. In FIG. 1, the secondary storage device includes a control unit 2 for controlling a plurality of storage units as a whole, magnetic disk drives 16-1 to 16-n, and a disk control device 15 for controlling the same.

【0020】図1において、1は上位装置であるCPU
であり、ユーザの指示に応答して、CPU1は2次記憶
装置101に対しコマンドを発行し、その処理結果を受
け取る。制御部2は、CPU1からの入出力命令の管
理、記憶されるファイル(データ)の管理等を行なう。
CPU1から発行されたコマンドは、外部インターフェ
イスパス3を通って、インターフェイスポート(以下I
F prot)により取り込まれる。なお、図1には2系統
の構成を示しているが、説明を簡単にするため、一方の
系統の動作だけを以下に説明する。他方の系統も同様の
動作を行う。マイクロプロセッサ(MP)11−1は、
外部インターフェイスパス3の中で利用可能な、パスが
あるかを調べ、使用可能な外部インターフェイスパス3
が有る場合はMP11−1はチャネルパススイッチ(以
下CPS)5を切り換えてコマンド受付処理を行なう。
そのコマンドが受け付けられない場合は、MP11−1
は受付不可の応答をCPU1へ送る。
In FIG. 1, reference numeral 1 denotes a CPU which is a host device.
In response to the user's instruction, the CPU 1 issues a command to the secondary storage device 101 and receives the processing result. The control unit 2 manages input / output commands from the CPU 1, manages stored files (data), and the like.
A command issued from the CPU 1 passes through the external interface path 3 and passes through an interface port (hereinafter referred to as I
F prot). Although FIG. 1 shows the configuration of two systems, only the operation of one system will be described below for the sake of simplicity. The other system performs the same operation. The microprocessor (MP) 11-1 includes:
Check whether there is a path available in the external interface path 3 and use the available external interface path 3
If there is, the MP 11-1 switches the channel path switch (hereinafter, CPS) 5 to perform command reception processing.
If the command is not accepted, MP11-1
Sends a non-acceptance response to the CPU 1.

【0021】受け入れられたコマンドは、チャネルポー
ト回路(CHL prot)6−1に送られ、チャネルのプ
ロトコルから、制御部2内のプロトコルに変換を行な
う。変換後コマンドは内部コマンドパス10−1を通
り、コマンドバッファ(CBUF)7−1に、データは
内部データパス9−1を通りデータバッファ(DBU
F)8−1に一時的に置かれ、次の処理を待つ。
The accepted command is sent to the channel port circuit (CHL prot) 6-1 to convert a channel protocol into a protocol in the control unit 2. The converted command passes through the internal command path 10-1 to the command buffer (CBUF) 7-1, and the data passes through the internal data path 9-1 to the data buffer (DBU).
F) Temporarily placed in 8-1, waiting for the next process.

【0022】マネージメントテーブル(MT)12に
は、各ディスクドライブに記憶されるデータのアドレス
の管理するための、データアドレス管理テーブル50、
各ディスクドライブの空き領域を管理するための空領域
管理テーブル55、及び、各ディスクドライブの状態を
管理するための、ドライブ管理テーブル60が置かれて
いる。
The management table (MT) 12 includes a data address management table 50 for managing addresses of data stored in each disk drive,
An empty area management table 55 for managing an empty area of each disk drive and a drive management table 60 for managing the state of each disk drive are provided.

【0023】MP11−1により適当な処理が行なわれ
たデータは、ドライブポート13−1でドライブデータ
パス19のプロトコルに合う様に変換を行なう。またコ
マンドは、ドライブコマンドパス18を通って、ドライ
ブプロセッサ17−1〜17−nに送られる。MP11
−1はコマンドに応じて、ドライブデータパス19の中
で利用可能なパスがあるかを調べる。使用可能なドライ
ブデータパス19が有る場合、MP11−1はドライブ
パススイッチ(DPS)14を切り換えてコマンド、デ
ータをドライブプロセッサ17−1〜17−nに送る。
受け付けられない場合は、受付不可で有ることを、ドラ
イブ管理テーブル60に登録する。
The data processed appropriately by the MP 11-1 is converted by the drive port 13-1 so as to conform to the protocol of the drive data path 19. The command is sent to the drive processors 17-1 to 17-n through the drive command path 18. MP11
"-1" checks whether there is an available path in the drive data path 19 in response to the command. If there is an available drive data path 19, the MP 11-1 switches the drive path switch (DPS) 14 to send commands and data to the drive processors 17-1 to 17-n.
If it is not accepted, the fact that it is not accepted is registered in the drive management table 60.

【0024】アビトレーションプロセッサ15−1は内
部コマンドパス10の制御を行なう。ドライブプロセッ
サ17−1〜17−nの各々は各ディスクドライブ16
−1〜16−nを制御し、ヘッドの移動、回転待ち、障
害発生の感知報告、各ディスクドライブ16−1〜16
−nと制御部2のデータ転送等を制御する。なお、ドラ
イブプロセッサ17−1〜17−n及びディスクドライ
ブ16−1〜16−nの数は、一般に任意である。
The arbitration processor 15-1 controls the internal command path 10. Each of the drive processors 17-1 to 17-n is connected to each disk drive 16.
-1 to 16-n, head movement, rotation wait, failure detection report, each disk drive 16-1 to 16
−n and controls data transfer and the like of the control unit 2. The number of drive processors 17-1 to 17-n and the number of disk drives 16-1 to 16-n are generally arbitrary.

【0025】本実施例では、CPU1から送られてくる
同一データを複数のディスクドライブに多重書き込みに
よって格納している。
In this embodiment, the same data sent from the CPU 1 is stored in a plurality of disk drives by multiplex writing.

【0026】図2には、MP11−1またはMP11−
2で実行される処理と、MT12の内容を示す。図1か
ら明らかなように、この実施例には、MP11−1とM
P11−2との2系統が存在するが、説明の便宜上十方
の系統についてのみ説明する。MP11−1には、コマ
ンド、データのキューイング処理を行なう入出力管理部
70、コマンドのアドレス変換、空領域の管理等を行な
うコマンド処理管理部75、データの多重書き込み/読
み出し、障害回復処理を行なう多重書き込み/読み出し
障害管理部80、ディスクドライブの利用度、状態の管
理を行なうディスクドライブ管理部85が用意されてい
る。またこれらの処理に必要な情報を蓄える場所とし
て、データアドレス管理テーブル50、空領域管理テー
ブル55、ドライブ管理テーブル60がMT12に用意
されている。入出力管理部70を実行する際に用いられ
るバッファとしてCBUF7−1、DBUF8−1が用
意されている。また、ドライブプロセッサ17−1〜1
7−nでは、ディスクドライブ16−1〜16−n内の
コマンド処理、シーク、サーチ、データの読みだし、書
き込み等の処理を行なうディスクドライブ制御部90を
持つ。
FIG. 2 shows MP11-1 or MP11-
2 shows the processing executed and the contents of the MT 12. As is clear from FIG. 1, this embodiment includes MP11-1 and M
Although there are two systems P11-2, only ten systems will be described for convenience of explanation. The MP 11-1 includes an input / output management unit 70 that performs queuing processing of commands and data, a command processing management unit 75 that performs command address conversion, management of empty areas, and the like, a multiplex writing / reading of data, and a failure recovery processing. A multiple write / read failure management unit 80 for performing the operation, and a disk drive management unit 85 for managing the degree of use and state of the disk drive are prepared. The MT 12 is provided with a data address management table 50, an empty area management table 55, and a drive management table 60 as locations for storing information necessary for these processes. CBUF7-1 and DBUF8-1 are prepared as buffers used when executing the input / output management unit 70. Also, the drive processors 17-1 to 17-1
7-n has a disk drive control unit 90 that performs command processing, seek, search, data reading, and writing in the disk drives 16-1 to 16-n.

【0027】図3には、データアドレス管理テーブル5
0の構造を示す。
FIG. 3 shows the data address management table 5
0 shows the structure.

【0028】図3に示すように、データアドレス管理テ
ーブル50は以下に説明する複数の領域を含む。100
−1および100−2はユーザを識別するためのユーザ
の番号とそのユーザが利用できる割当て記憶容量を登録
してある領域であり、ユーザごとに定義されている。図
3ではユーザ番号1はM1バイトの記憶容量が割当てら
れ、ユーザ番号2はM2バイトの記憶容量が割当てられ
る。
As shown in FIG. 3, the data address management table 50 includes a plurality of areas described below. 100
Reference numerals -1 and 100-2 are areas in which a user number for identifying a user and an assigned storage capacity available to the user are registered, and are defined for each user. In FIG. 3, the user number 1 is assigned a storage capacity of M1 bytes, and the user number 2 is assigned a storage capacity of M2 bytes.

【0029】105−1および105−2はデータの格
納場所としてCPU1から指定される論理アドレスと、
履歴保持数(データが持つ更新以前のデータの数)とを
登録する領域である。図3の例では、論理アドレス1は
履歴保持数3を有し、論理アドレス2は、履歴保持数4
を有している。
105-1 and 105-2 are logical addresses designated by the CPU 1 as data storage locations,
This is an area for registering the number of history records (the number of pieces of data before updating the data has). In the example of FIG. 3, the logical address 1 has a history holding number of 3 and the logical address 2 has a history holding number of 4
have.

【0030】120−1,120−2および120−3
はデータが更新された順番を示す履歴番号とデータの多
重度(同一データが記憶されているディスクドライブの
数)を登録する領域である。本実施例では、新しいデー
タほど、若い履歴番号が付けられている。図3では、履
歴番号1には多重度3が登録され、履歴番号2には多重
度3が、履歴番号3には多重度4が登録されている。
120-1, 120-2 and 120-3
Is an area for registering a history number indicating the order in which data has been updated and the multiplicity of data (the number of disk drives storing the same data). In this embodiment, the newer the data, the lower the history number. In FIG. 3, the multiplicity 3 is registered in the history number 1, the multiplicity 3 is registered in the history number 2, and the multiplicity 4 is registered in the history number 3.

【0031】130−1,130−2および130−3
はそのデータが格納されている複数のディスクドライブ
を識別するディスクドライブ番号と、そのディスクドラ
イブ内で実際にデータが記憶された領域の物理アドレス
及びデータ容量を登録する領域である。図3の例では、
3重書き込みされたデータのうち、1つはディスクドラ
イブ#1の物理アドレスA1に格納され、他の1つは、
ディスクドライブ#2の物理アドレスA2に格納され、
残りの1つは、ディスクドライブ#4の物理アドレスA
3に格納されている。なお、同一データであるから、領
域130−1,130−2および130−3ともデータ
容量は等しくD1バイトである。
130-1, 130-2 and 130-3
Is an area for registering a disk drive number for identifying a plurality of disk drives storing the data, and a physical address and a data capacity of an area where data is actually stored in the disk drive. In the example of FIG.
One of the triple-written data is stored at the physical address A1 of the disk drive # 1, and the other one is
Stored in the physical address A2 of the disk drive # 2,
The other one is the physical address A of the disk drive # 4
3 is stored. Since the data is the same, the data capacities of the areas 130-1, 130-2, and 130-3 are equal and D1 bytes.

【0032】領域100には複数の領域105がつなが
り、それぞれの領域105には複数の領域120が、さ
らに領域120には複数の領域130がつながってお
リ、データアドレス管理テーブル50全体は、木構造と
なっている。なお、この実施例ではデータアドレス管理
テーブル50全体は、木構造をしているが、他のリスト
構造、表構造を取ることが可能である。
A plurality of areas 105 are connected to the area 100, a plurality of areas 120 are connected to each area 105, and a plurality of areas 130 are connected to the area 120. The entire data address management table 50 is a tree. It has a structure. In this embodiment, the entire data address management table 50 has a tree structure, but may have another list structure or table structure.

【0033】先に述べたように、1つのデータは多重化
され、またデータアドレス管理テーブル50が示すよう
に、過去の履歴データを保持している。そのため各ユー
ザのデータの容量は、各データ容量に多重度と履歴保持
数をかけたものの総和をとることによって計算できる。
例えばユーザ番号jで管理されるデータの数をN、各デ
ータごとのデータ容量、多重度、履歴保持数を各々C
i,Mi,Hiとすると、ユーザ番号jのデータ容量U
Cjは、次の数1で表される。
As described above, one piece of data is multiplexed and, as indicated by the data address management table 50, retains past history data. Therefore, the data capacity of each user can be calculated by summing the data capacity multiplied by the multiplicity and the number of history records.
For example, N represents the number of data managed by the user number j, and C represents the data capacity, multiplicity, and history retention number of each data.
i, Mi, Hi, the data capacity U of the user number j
Cj is expressed by the following equation (1).

【0034】[0034]

【数1】 また、ユーザ数をLとすると、全ユーザによって使用さ
れるデータ容量UCは、次の数2で表される。
(Equation 1) Further, assuming that the number of users is L, the data capacity UC used by all users is represented by the following equation (2).

【0035】[0035]

【数2】 従って、複数の記憶ユニット全体としては、最低限UC
だけのデータ容量が必要となる。
(Equation 2) Therefore, as a whole of a plurality of storage units, at least UC
Data capacity is required.

【0036】データの読みだし時、書き込み時の性能と
信頼性の向上を可能にする好ましい実施例の場合、多重
化したデータは全て異なるディスク装置に書き込まれる
ことが必要である。そのため、ディスクドライブ数は多
重度数より多いことが望まれる。ただし、読みだし時の
性能向上だけでよいならば、同一ディスクドライブ内の
異なる位置に書き込むことでも実現可能である。その場
合、ディスクドライブ数は多重度数より少なくてもよ
い。
In the preferred embodiment, which can improve the performance and reliability of reading and writing data, all multiplexed data must be written to different disk devices. Therefore, it is desired that the number of disk drives is larger than the multiplicity. However, if it is only necessary to improve the performance at the time of reading, it can be realized by writing to different positions in the same disk drive. In that case, the number of disk drives may be smaller than the multiplicity.

【0037】次に図4を用い、空領域管理テーブル55
の構造について説明する。
Next, referring to FIG.
Will be described.

【0038】図4において、200−1〜200−nは
ディスクドライブ番号であり各ディスクドライブ16−
1〜16〜nごとに定義されている。205−1〜20
5−7は各ディスクドライブ16−1〜16〜nのデー
タの格納されていない空領域を示す物理アドレスと、空
領域に格納可能なデータ容量を登録する領域である。図
3では、ディスクドライブ番号#1には、空き領域20
5−1,205−2が存在し、ディスクドライブ番号#
3には空き領域205−3,205−4が存在し、ディ
スクドライブ番号#4には空き領域205−5が、ディ
スクドライブ番号#nには空き領域505−6,205
−7が存在する。なお、ディスクドライブ#2には空き
領域がないことを示している。空領域管理テーブル55
全体はリスト構造をしている。この実施例では、空領域
管理テーブル55全体はリスト構造をしているが、他に
木構造、表構造を取ることが可能である。複数の記憶ユ
ニットの空領域の容量は、各ディスクドライブ16−1
〜16−nごとに領域205のデータ容量を足しあわ
せ、ディスクドライブごとの総和を取ることによって計
算できる。各ディスクドライブの空領域の容量をEC
k、ディスクドライブ数をDとすると、複数の記憶ユニ
ット全体で必要な、空領域容量ECは、次の数3で表せ
る。
In FIG. 4, reference numerals 200-1 to 200-n denote disk drive numbers, and each disk drive 16-
1 to 16 to n. 205-1 to 20
Reference numeral 5-7 denotes an area for registering a physical address indicating an empty area where data of each of the disk drives 16-1 to 16-n is not stored, and a data capacity that can be stored in the empty area. In FIG. 3, the free space 20 is stored in the disk drive number # 1.
5-1 and 205-2 exist, and the disk drive number #
3 has free areas 205-3 and 205-4, the free area 205-5 is provided for the disk drive number # 4, and the free areas 505-6 and 205 are provided for the disk drive number #n.
-7 exists. Note that there is no free space in the disk drive # 2. Empty area management table 55
The whole has a list structure. In this embodiment, the entire empty area management table 55 has a list structure, but may have a tree structure or a table structure. The capacity of the empty area of the plurality of storage units is determined by each disk drive 16-1.
It can be calculated by adding the data capacity of the area 205 for every .about.16-n and taking the total sum for each disk drive. EC of the free space capacity of each disk drive
Assuming that k is the number of disk drives and D is the number of disk drives, the free space capacity EC required for the entire plurality of storage units can be expressed by the following equation (3).

【0039】[0039]

【数3】 空領域のデータを容量がECである場合、複数の記憶ユ
ニット全体で必要な記憶容量ACは、データ容量UCと
の和となり次の数4で表される。
(Equation 3) If the capacity of the data in the empty area is EC, the storage capacity AC required for the entire plurality of storage units is the sum of the data capacity UC and is expressed by the following equation (4).

【0040】[0040]

【数4】 AC = EC+UC …(数4) 本実施例における複数の記憶ユニットは、入力データを
一番早く使える他のディスクドライブの空領域に書き込
むことで入出力処理性能を向上させている。このため、
その性能を十分引き出すためには、各ディスクドライブ
の空領域の容量ECkを十分に確保することが必要であ
る。この空領域が不足、あるいは無い場合は、データを
既に他の入出力命令を受けているディスクドライブに書
き込むことになるが、このときでも、通常の複数の記憶
ユニットに比べて入出力処理性能が低下することは無
い。また空領域がたりない場合、図3にある履歴データ
の一部もしくは多重度を減らし、それにより生じた領域
を空領域に回すことも可能である。
AC = EC + UC (Equation 4) The plurality of storage units in this embodiment improve input / output processing performance by writing input data to an empty area of another disk drive that can be used most quickly. For this reason,
In order to bring out the performance sufficiently, it is necessary to secure a sufficient capacity ECk of the empty area of each disk drive. If this free space is insufficient or not present, data will be written to the disk drive that has already received other I / O commands, but even at this time, the I / O processing performance will be lower than that of a normal multiple storage unit. It does not decrease. If there is no empty area, it is also possible to reduce a part or the multiplicity of the history data shown in FIG. 3 and turn the resulting area into an empty area.

【0041】なお、実際には、この他にデータアドレス
管理テーブル50、空領域管理テーブル55、空領域管
理テーブル60等のメモリの退避領域、障害回復したデ
ータの確認領域等が必要である。
Actually, in addition to these, a save area of memory such as the data address management table 50, the empty area management table 55, and the empty area management table 60, a confirmation area of the data recovered from the failure, and the like are required.

【0042】図5には、ディスク装置管理テーブル60
の構造について示す。
FIG. 5 shows a disk device management table 60.
The structure of is shown.

【0043】図5において、このディスク装置管理テー
ブル60は各ディスクドライブ16−1〜16−nを識
別するためのディスクドライブ番号登録領域401、各
ディスクドライブ16−1〜16−nごとの処理待ち入
出力命令数を登録する領域402を含む。図5では、入
出力命令数登録領域402には、入出力要求数が3桁の
2進数で表わされている。処理待ち入出力命令数の登録
領域402には、障害が発生し使用不可能なディスクド
ライブがある場合、そのディスクドライブに対応する領
域402に使用不可であることを示すフラグを立てるこ
とができる。図5では、3桁の2進数で表わされる最大
値“111”を使用不可を示すフラグとして使用してい
る。すなわち、図5でディスクドライブ番号#5が使用
不可である。また、図5は、ディスクドライブ番号#2
及び#nのディスクドライブ16−2〜16−nには処
理を待っている入出力命令が無く、ディスクドライブ番
号#1のディスクドライブ16−1については、6つの
入出力命令が、処理待ち状態にあることを示している。
また、ディスクドライブ番号#3のディスクドライブ1
6−3は、3つの処理待ち入出力命令数を有していこと
を示している。
In FIG. 5, the disk device management table 60 includes a disk drive number registration area 401 for identifying each of the disk drives 16-1 to 16-n, and a processing wait for each of the disk drives 16-1 to 16-n. An area 402 for registering the number of input / output instructions is included. In FIG. 5, the number of input / output requests is represented by a three-digit binary number in the input / output instruction number registration area 402. If a failure occurs and there is a disk drive that cannot be used in the registration area 402 for the number of input / output instructions to be processed, a flag indicating that the disk drive cannot be used can be set in the area 402 corresponding to the disk drive. In FIG. 5, the maximum value “111” represented by a three-digit binary number is used as a flag indicating that it cannot be used. That is, the disk drive number # 5 in FIG. 5 cannot be used. FIG. 5 shows the disk drive number # 2
And the disk drives 16-2 to 16-n of #n have no input / output commands waiting for processing, and the disk drive 16-1 of disk drive number # 1 has six input / output commands in the processing waiting state. It shows that there is.
Also, disk drive 1 of disk drive number # 3
6-3 indicates that the number of input / output instructions to be processed is three.

【0044】次に図6のフローチャートを用いて、入出
力管理部70とCBUF7−1(または7−2),DB
UF8−1(または8−2)の処理手順を説明する。
Next, the input / output management unit 70, the CBUF 7-1 (or 7-2), and the DB will be described with reference to the flowchart of FIG.
The processing procedure of the UF 8-1 (or 8-2) will be described.

【0045】入出力管理部70は入出力処理を開始する
と、まず、CBUF7−1,DBUF8−1に保持され
る入出力命令、データの状態を検査する(ステップ50
5)。ここでは、CBUF7−1,DBUF8−1内の
待ち行列を数え、前もって設定されているしきい値を超
えていないか確認する。CBUF7−1,DBUF8−
1内の待ち行列数がしきい値以下であれば、次のステッ
プでCPU1から送られてくる入出力命令の有無を確認
する(ステップ510)。CPU1から新たに入出力命
令が来ていれば、入出力命令の入力を受け付ける(ステ
ップ515)。次にステップ515において受け付けた
入出力命令を、CBUF7−1,DBUF8−1内の待
ち行列に格納する(ステップ520)。次にCBUF7
−1,DBUF8−1内の待ち行列を入出力命令に付属
する優先度の順位に沿って、ソートを行う(ステップ5
25)。そしてステップ505に戻る。
When the input / output management unit 70 starts the input / output processing, first, it checks the state of the input / output command and data held in the CBUF 7-1 and DBUF 8-1 (step 50).
5). Here, the number of queues in the CBUF 7-1 and the DBUF 8-1 is counted, and it is checked whether the number of queues exceeds a preset threshold. CBUF7-1, DBUF8-
If the number of queues in 1 is equal to or smaller than the threshold value, it is checked in the next step whether there is an input / output command sent from the CPU 1 (step 510). If a new input / output command has been received from the CPU 1, the input of the input / output command is accepted (step 515). Next, the input / output command accepted in step 515 is stored in a queue in CBUF7-1 and DBUF8-1 (step 520). Next, CBUF7
-1, sort the queues in the DBUF 8-1 according to the priority order attached to the input / output instruction (step 5).
25). Then, the process returns to step 505.

【0046】ステップ505において、待ち行列がしき
い値以上であれば、コマンド処理管理部75が入出力命
令の処理が可能か否か確認する(ステップ530)。コ
マンド処理管理部75が他の入出力処理を行っており、
処理が可能でない場合はステップ505へ戻る。コマン
ド処理管理部75が新たな入出力処理を行うことが可能
であることが判ると、入出力命令を処理可能な数だけ、
ソートした順に入出力命令コマンドを処理管理部75へ
送る(ステップ535)。この後、通常はさらに入出力
命令を継続するためにステップ505に戻る。入出力処
理を継続しないならば、入出力命令処理を終了する(ス
テップ545)。
If it is determined in step 505 that the queue is equal to or larger than the threshold value, the command processing management unit 75 checks whether the input / output command can be processed (step 530). The command processing management unit 75 is performing other input / output processing,
If the process is not possible, the process returns to step 505. If it is determined that the command processing management unit 75 can perform new input / output processing, the number of input / output instructions that can be processed is increased.
The input / output command is sent to the processing management unit 75 in the sorted order (step 535). Thereafter, the process returns to step 505 to continue the input / output instruction. If the input / output processing is not continued, the input / output instruction processing is terminated (step 545).

【0047】図6から判るように、本実施例において
は、CBUF7−1(または7−2),DBUF8−1
(または8−2)内の待ち行列がしきい値以下の場合に
は、入出力管理部70からコマンド処理管理部75へC
BUF7−1(または7−2),DBUF8−1(また
は8−2)内に保持された入出力命令を転送する処理よ
りも、CPU1からの入力出命令の入力受付を優先して
行っている。
As can be seen from FIG. 6, in this embodiment, CBUF 7-1 (or 7-2), DBUF 8-1
If the queue in (or 8-2) is equal to or smaller than the threshold value, the input / output management unit 70 sends the command processing management unit 75
The input of the input / output instruction from the CPU 1 is performed with priority over the processing of transferring the input / output instruction held in the BUF 7-1 (or 7-2) and the DBUF 8-1 (or 8-2). .

【0048】次にコマンド処理管理部75における処理
について、入力命令処理と出力命令処理のそれぞれにつ
いて説明する。
Next, regarding the processing in the command processing management unit 75, each of the input command processing and the output command processing will be described.

【0049】図7は、コマンド処理管理部75の出力命
令処理(データ読み出し)手順を示すフローチャートで
ある。
FIG. 7 is a flow chart showing the output command processing (data reading) procedure of the command processing management section 75.

【0050】CPU1からの出力命令が入出力管理部7
0より送られてくると、コマンド処理管理部75は出力
命令処理(2次記憶装置101からCPU1へのデータ
読み出し)を開始する(ステップ600)。CPU1か
ら指定された出力命令の論理アドレスを用いてデータア
ドレス管理テーブル50を検索し、命令で要求されて、
データのある多重度に等しい個数ディスクドライブの番
号をすべて探す(ステップ605)。ステップ605で
はまず、ユーザ番号を確認し、そのユーザ番号で管理さ
れる論理アドレスを領域105から探しだし、その論理
アドレスに対応するデータのうち、通常は最も若い履歴
番号の付いたデータの格納先であるディスクドライブの
ディスクドライブ番号を領域130から読みだす。(例
えば、ディスクドライブ番号#1,#2および#4が読
み出される。)次にディスクドライブ管理テーブル60
より、入出力処理を行っていないディスクドライブ1
6、即ちディスクドライブ管理テーブル60の領域40
2が0すなわち2進数で“000”である処理待ち命令
のないディスクドライブのディスクドライブ番号をすべ
て探す(ステップ610)。なお、ステップ605、6
10は、この順番で行う他に、並列処理を行うことも可
能である。次にステップ605、610で探したディス
クドライブのなかで要求されたデータのあるディスクド
ライブで、かつ処理待ち命令のないディスクドライブで
あるディスクドライブを選ぶ(ステップ615)。次の
ステップ620で、選んだディスクドライブ数が、前も
って定めたしきい値l(l<多重度m)の整数以上にな
るかを確認する。ここでの発明を可能にするために多重
度mは3以上、ドライブ総数はm以上でなければならな
い。
The output command from the CPU 1 is transmitted to the input / output
When it is sent from 0, the command processing management unit 75 starts output command processing (data read from the secondary storage device 101 to the CPU 1) (step 600). The data address management table 50 is searched using the logical address of the output instruction specified by the CPU 1 and requested by the instruction.
A search is made for all disk drive numbers equal to the number of multiplicity of data (step 605). In step 605, first, the user number is confirmed, a logical address managed by the user number is searched from the area 105, and the storage destination of the data having the history number which is usually the youngest among the data corresponding to the logical address is checked. Is read from the area 130. (For example, the disk drive numbers # 1, # 2, and # 4 are read.) Next, the disk drive management table 60
Disk drive 1 not performing input / output processing
6, the area 40 of the disk drive management table 60
All disk drive numbers of disk drives without a processing wait instruction in which 2 is 0, ie, "000" in binary, are searched (step 610). Steps 605 and 6
10 can perform parallel processing in addition to performing the processing in this order. Next, among the disk drives searched in steps 605 and 610, a disk drive having the requested data and a disk drive having no processing wait instruction is selected (step 615). In the next step 620, it is confirmed whether or not the number of selected disk drives is equal to or larger than an integer of a predetermined threshold value l (l <multiplicity m). In order to enable the present invention, the multiplicity m must be 3 or more, and the total number of drives must be m or more.

【0051】ここでステップ615で選んだディスクド
ライブの数がしきい値以下であれば、不足する分を目的
とするデータのあるディスクドライブの中で、ディスク
ドライブ管理テーブル60の領域402の処理待ち入出
力命令数が少ないものを、しきい値lに達するまで選ぶ
(ステップ625)。次にCPU1の出力命令の論理ア
ドレスを、データアドレス管理テーブルを用いて、選ん
だディスクドライブの物理アドレスに変換する(ステッ
プ630)。この時、ドライブプロセッサ17に対し発
行する出力命令が、選んだディスクドライブの数だけ生
成される。
If the number of disk drives selected in step 615 is equal to or smaller than the threshold value, the process waits for processing in the area 402 of the disk drive management table 60 among the disk drives having data intended for the shortage. An instruction with a small number of input / output instructions is selected until the threshold value 1 is reached (step 625). Next, the logical address of the output instruction of the CPU 1 is converted into the physical address of the selected disk drive using the data address management table (step 630). At this time, output commands to be issued to the drive processor 17 are generated by the number of selected disk drives.

【0052】次にステップ630で生成した出力命令を
ディスクドライブ管理部85へ送る(ステップ63
5)。ディスクドライブ管理部85より、出力命令を送
ったディスクドライブ16との接続報告を受けると(ス
テップ640)、1番最初に接続されたディスクドライ
ブ(例えば16−2)を除いた他のディスクドライブへ
の出力命令をキャンセルして、一番最初に接続されたデ
ィスクドライブのみについて処理を継続する(ステップ
645)。
Next, the output command generated in step 630 is sent to the disk drive management unit 85 (step 63).
5). When a connection report with the disk drive 16 that has sent the output command is received from the disk drive management unit 85 (step 640), the disk drive is sent to another disk drive except the first connected disk drive (for example, 16-2). Is canceled, and the process is continued only for the first connected disk drive (step 645).

【0053】次のステップ650で、ディスクドライブ
16からのデータ読みだしが終了し、ディスクドライブ
管理部85より出力命令処理の終了報告をうけるまで他
のコマンドの処理を行う(ステップ650,655)。
ディスクドライブ管理部85より終了報告が来ていれ
ば、次に出力命令の処理状況のチェックと記録を行い
(ステップ660)、CPU1へ出力命令の終了を報告
する(ステップ665)。以上の処理が終了するとコマ
ンド処理管理部75は入出力管理部70から送られてく
る次の入出力命令を待つ(ステップ670)。
In the next step 650, data reading from the disk drive 16 is completed, and processing of other commands is performed until the end of output command processing is reported from the disk drive management unit 85 (steps 650 and 655).
If the end report has been received from the disk drive management unit 85, the status of the processing of the output command is checked and recorded (step 660), and the end of the output command is reported to the CPU 1 (step 665). When the above processing is completed, the command processing management unit 75 waits for the next input / output command sent from the input / output management unit 70 (step 670).

【0054】図8には、コマンド処理管理部75におけ
る入力命令処理(CPU1から2次記憶装置101への
データ多重書き込み)のフローチャートを示す。
FIG. 8 is a flowchart of the input command processing (multiplexed data writing from the CPU 1 to the secondary storage device 101) in the command processing management section 75.

【0055】CPU1からの入力命令が入出力管理部7
0より送られてくると、コマンド処理管理部75は入力
命令処理を開始する(ステップ700)。まず多重書き
込み障害管理部80に入出力命令を送り、多重書き込み
障害管理部80より多重度、履歴保存数を受け取る(ス
テップ705)。次にデータアドレス管理テーブル50
よりCPU1から指定された入力データの論理アドレス
に対応し、かつ履歴が一番古い条件を満足するデータを
待つディスクドライブを探しだす(ステップ710)。
続いて、ディスクドライブ管理テーブル60の領域40
2に記録された、待ち入出力命令数が一定数以下である
空きディスクドライブを探す(ステップ715)。さら
に空領域管理テーブル55より各ディスクドライブの空
き領域をデータの大きさの分だけ確保する(ステップ7
20)。なお、ステップ710、715および720
は、この順番で行う他に、並列処理を行うことも可能で
ある。また、ステップ710は、空き領域の少ない2次
記憶装置101においては、多重書き込み時に必要であ
るが、十分空き領域のある2次記憶装置では、一番古い
履歴データの消去のみに用いられる場合がある。
The input command from the CPU 1 is sent to the input / output
When sent from 0, the command processing management section 75 starts input command processing (step 700). First, an input / output command is sent to the multiple write failure management unit 80, and the multiplicity and the number of history records are received from the multiple write failure management unit 80 (step 705). Next, the data address management table 50
A disk drive corresponding to the logical address of the input data designated by the CPU 1 and waiting for data satisfying the oldest condition is searched for (step 710).
Subsequently, the area 40 of the disk drive management table 60
A search is made for an empty disk drive in which the number of waiting input / output instructions recorded in 2 is equal to or less than a certain number (step 715). Further, the free area of each disk drive is secured by the size of the data from the free area management table 55 (step 7).
20). Steps 710, 715 and 720
Can be performed in this order, and can also be performed in parallel. Step 710 is necessary for multiple writing in the secondary storage device 101 having a small free space, but may be used only for erasing the oldest history data in the secondary storage device having a sufficient free space. is there.

【0056】次にステツプ715および720で探した
空きディスクドライブ16のうち、両方のステツプで検
出されたディスクドライブを選び(ステップ725)。
選んだディスクドライブの数が多重書き込み障害管理部
80より受けた多重度を満たす分だけ確保できるかどう
かを確認する(ステップ730)。
Next, from the empty disk drives 16 searched in steps 715 and 720, the disk drive detected in both steps is selected (step 725).
It is confirmed whether or not the number of the selected disk drives can be ensured to satisfy the multiplicity received from the multiple write failure management unit 80 (step 730).

【0057】ここでステップ725で選んだディスクド
ライブだけでは足りない場合は、ステップ715で探し
た空きディスドライブの中から入出力命令数が一定数を
越えたドライブでステップ720で探した空領域がある
ディスクドライブを選び(ステップ735)、さらにス
テップ725及び735を選んでディスクドライブの数
で、多重書き込み障害管理部80より受けた多重度の分
だけ確保出来るかどうかを確認する(ステップ74
0)。ここでもまたディスクドライブが足りない場合に
は、(ステップ710)で探した、条件を満足するデー
タを持つドライブから、不足する分選ぶ(ステップ74
5)。
If the disk drive selected in step 725 alone is not enough, a drive whose number of input / output instructions exceeds a certain number among the empty disk drives searched in step 715 is empty. A certain disk drive is selected (step 735), and further, steps 725 and 735 are selected, and it is confirmed whether or not the number of disk drives can be secured by the multiplicity received from the multiple write failure management unit 80 (step 74).
0). If there are still not enough disk drives, the drive having data that satisfies the conditions found in (Step 710) is selected (Step 74).
5).

【0058】このようにして、ステップ730または7
40を満足するか、またはステップ745ディスクドラ
イブ16を確保した後に、入力命令の論理アドレス、デ
ータアドレス管理テーブル50を用いて、選んだディス
クドライブの物理アドレスに変換する(ステップ75
0)。このとき、入力命令は、選んだディスクドライブ
の数だけ生成され、その選んだディスクドライブに対応
するドライブプロセッサ17に対して発行される。ステ
ップ750で生成された入力命令はステップ755でデ
ィスクドライブ管理部85に送られ(ステップ75
5)、ディスクドライブ管理部85より入力命令処理の
終了報告が来るまで他の入出力命令の処理を行う(ステ
ップ760、765)。
Thus, step 730 or 7
After satisfying the condition 40 or securing the disk drive 16 at step 745, the logical address of the input command is converted to the physical address of the selected disk drive by using the data address management table 50 (step 75).
0). At this time, the input commands are generated by the number of the selected disk drives and issued to the drive processor 17 corresponding to the selected disk drive. The input command generated in step 750 is sent to the disk drive management unit 85 in step 755 (step 75).
5) Processing of other input / output commands is performed until a completion report of the input command processing is received from the disk drive management unit 85 (steps 760 and 765).

【0059】ディスクドライブ管理部より終了報告が来
ると、ステップ710の結果を利用して、多重書き込み
障害管理部80より受けた所定の履歴保持数より古い履
歴の物理アドレスを旧物理アドレスとする。(ステップ
770)データアドレス管理テーブル50からデータの
旧アドレスを読みだして、古い履歴のデータが格納され
ている領域を空領域として空領域管理テーブル55に登
録し、また、新しくデータを格納した空領域が有る場合
には、その領域を空領域管理テーブル55から削除する
(ステップ775)。次にデータの新物理アドレスを読
みだし、データアドレス管理テーブル50に登録する
(ステップ780)。次に入力命令の処理状況のチェッ
クと記録を行い(ステップ785)、CPU1に終了報
告を行う(ステップ790)。以上の処理が終了する
と、コマンド処理管理部75は出力命令の場合と同様
に、入出力管理部70から送られてくる次の入出力命令
を待つ(ステップ795)。
When a completion report is received from the disk drive management unit, the physical address of the history older than the predetermined number of history records received from the multiple write failure management unit 80 is used as the old physical address using the result of step 710. (Step 770) The old address of the data is read from the data address management table 50, the area where the old history data is stored is registered as the empty area in the empty area management table 55, and the empty area where the new data is stored is registered. If there is an area, the area is deleted from the empty area management table 55 (step 775). Next, a new physical address of the data is read out and registered in the data address management table 50 (step 780). Next, the processing status of the input command is checked and recorded (step 785), and a completion report is sent to the CPU 1 (step 790). When the above processing is completed, the command processing management unit 75 waits for the next input / output command sent from the input / output management unit 70 as in the case of the output command (step 795).

【0060】図9には、ディスクドライブ管理部85に
おける入出力命令処理のフローチャートを示す。
FIG. 9 is a flowchart of the input / output command processing in the disk drive management unit 85.

【0061】まず、ディスクドライブ管理部85は、コ
マンド処理管理部75より、各ドライブプロセッサ17
−1〜17−nに対する入出力命令を受け取ることによ
り処理を開始する(ステップ800)。ディスクドライ
ブ管理部85は、コマンド処理管理部75から入出力命
令を受け取ると、まずディスクドライブ管理テーブル6
0を検索し、その入出力命令のより使用されるディスク
装置の処理待ち入出力命令数(領域402)を一つ増や
す(ステップ805)。次に使用するディスクドライブ
16のドライブプロセッサ17内のディスクドライブ制
御部90に対しコマンド処理管理部75から受け取った
入出力命令を送る(ステップ810)。その後、ドライ
ブプロセッサ17から入出力処理の終了報告が来たかど
うか確認する(ステップ815)。
First, the disk drive management unit 85 sends a command processing management unit 75 to each drive processor 17.
Processing is started by receiving input / output instructions for -1 to 17-n (step 800). Upon receiving the input / output command from the command processing management unit 75, the disk drive management unit 85
0 is retrieved, and the number of input / output instructions waiting for processing of the disk device (area 402) used by the input / output instructions is increased by one (step 805). The input / output command received from the command processing management unit 75 is sent to the disk drive control unit 90 in the drive processor 17 of the disk drive 16 to be used next (step 810). Thereafter, it is confirmed whether or not a report of the end of the input / output processing has been received from the drive processor 17 (step 815).

【0062】終了報告が来ていなければ、次に各ディス
クドライブの状態を監視して、ディスクドライブ16−
1〜16〜n、ドライブプロセッサ17−1〜17−n
に障害が発生していないか確認するステップ(820,
825)。障害が発生していない場合は、ステップ81
5に戻る。ここで、ディスクドライブ16−1〜16−
n、ドライブプロセッサ17−1〜17−nのいずれか
に障害が発生した場合、障害のあるディスクドライブに
ついて、ディスクドライブ管理テーブル60内の、該当
する処理待ち入出力命令数の領域(域域402)に使用
不可のフラグを立て該当するディスクドライブの使用を
禁止する(ステップ830)。そして多重書き込み障害
管理部80へ障害を報告する(ステップ835)。ステ
ップ815において、入出力処理の終了報告が来ていれ
ば、処理状況をチェックしディスクドライブ管理テーブ
ルにおいて、入出力処理の終了したディスクドライブ
の、処理待ち入出力数を一つ減らす(ステップ84
5)。最後に入出力命令処理の終了をコマンド処理管理
部75に報告して処理を終了する(ステップ847)。
以上の処理を終えると、ディスクドライブ管理部85
は、コマンド処理管理部75からの次の入出力命令を待
つ(ステップ850)。
If the end report has not been received, the status of each disk drive is monitored and the disk drive 16-
1 to 16-n, drive processors 17-1 to 17-n
For checking whether a failure has occurred (820,
825). If no failure has occurred, step 81
Return to 5. Here, the disk drives 16-1 to 16-
n, and when a failure occurs in any of the drive processors 17-1 to 17-n, for the failed disk drive, the area (area 402 ) Is set to an unusable flag and the use of the corresponding disk drive is prohibited (step 830). Then, the failure is reported to the multiple write failure management unit 80 (step 835). In step 815, if a completion report of the input / output processing has been received, the processing status is checked, and the number of waiting input / output of the disk drive for which the input / output processing has been completed is reduced by one in the disk drive management table (step 84).
5). Finally, the end of the input / output command processing is reported to the command processing management unit 75, and the processing is ended (step 847).
When the above processing is completed, the disk drive management unit 85
Waits for the next input / output command from the command processing management unit 75 (step 850).

【0063】図10は入出力命令処理における通常の多
重書き込み障害管理部80の処理手順を示すフローチャ
ートである。
FIG. 10 is a flowchart showing a processing procedure of the ordinary multiple write fault management unit 80 in the input / output command processing.

【0064】多重書き込み障害管理部80は入出力管理
部70から入出力命令が送られてくると、入出力命令毎
にCPU1から与えられるか、あるいは初期設定によっ
て決められるパラメータによって多重度、履歴保持数を
決定する(ステップ965)。次にコマンド処理管理部
75へ多重度、履歴保持数を送り(ステップ970)、
次に入力命令を待つ(ステップ975)。
When an input / output command is sent from the input / output management unit 70, the multiple write fault management unit 80 receives the input / output command from the CPU 1 or stores the multiplicity and the history retention according to parameters determined by initialization. The number is determined (step 965). Next, the multiplicity and the number of history records are sent to the command processing management unit 75 (step 970).
Next, it waits for an input command (step 975).

【0065】本発明の同一データの多重書き込み制御方
法は、ディスクドライブに障害が発生したときのデータ
回復にも有効である。
The method for controlling multiple writes of the same data according to the present invention is also effective for data recovery when a failure occurs in a disk drive.

【0066】次に図11を用いて、入出力処理中にディ
スクドライブに障害が発生した場合の処理について説明
する。ディスクドライブ管理部85においていずれかの
ディスクドライブに障害が発生したことが検出され(図
9のステップ825)その報告を受けると(ステップ9
00)、多重書き込み障害管理部80は入出力命令の処
理を一時停止し、障害発生をCPU1に報告する(ステ
ップ905)。次にデータアドレス管理テーブル50内
において、障害を起こしたディスクドライブのディスク
ドライブ番号または、物理アドレスを削除し使用禁止に
する(ステップ910)。次に空領域管理テーブル55
内において、障害を起こしたディスクドライブ番号、ま
たは物理アドレスを削除し使用禁止にする(ステップ9
15)。そして発生した障害が回復可能か、確認する
(ステップ920)。
Next, the processing when a failure occurs in the disk drive during the input / output processing will be described with reference to FIG. When the disk drive management unit 85 detects that a failure has occurred in any one of the disk drives (step 825 in FIG. 9) and receives the report (step 9).
00), the multiple write fault management unit 80 temporarily suspends the processing of the input / output command, and reports the occurrence of the fault to the CPU 1 (step 905). Next, the disk drive number or the physical address of the failed disk drive is deleted from the data address management table 50 and the use is prohibited (step 910). Next, the empty area management table 55
Within the disk drive, delete the failed disk drive number or physical address and prohibit use (step 9)
15). Then, it is confirmed whether the fault that has occurred can be recovered (step 920).

【0067】障害回復可能な場合、次のステップ925
では、障害回復を行うか否かの確認をする。障害回復を
行う場合はそのまま障害回復処理を行なう。この詳細
は、図12,図13で説明する(ステップ930)。障
害回復を行わない場合は、そのまま入出力命令の処理を
再開する(ステップ935)。障害回復が可能でないと
判断された場合は、次に、CPU1に履歴データの使用
を問い合わせ、(ステップ940)。履歴データを使用
する場合には、履歴番号の古いデータの利用可否につい
て、確認する(ステップ945)。利用可能ならば、次
に履歴の古いデータの履歴番号を更新して、その分、履
歴保持数を減らす。そして、ステップ925に進む。履
歴番号の古いデータが利用可能でなければ、データが損
失として、そのことをCPU1に連絡し、システムを停
止する(ステップ955)。
If the failure can be recovered, the next step 925
Then, it is confirmed whether or not to perform the failure recovery. When performing a fault recovery, the fault recovery process is performed as it is. The details will be described with reference to FIGS. 12 and 13 (step 930). If the failure recovery is not to be performed, the processing of the input / output instruction is resumed as it is (step 935). If it is determined that the recovery from the failure is not possible, then the CPU 1 is inquired of the use of the history data (step 940). When the history data is used, it is confirmed whether or not the data having the old history number can be used (step 945). If available, the history number of the next oldest data is updated, and the number of history records is reduced accordingly. Then, the process proceeds to step 925. If the data with the oldest history number is not available, the data is regarded as a loss, the fact is notified to the CPU 1 and the system is stopped (step 955).

【0068】障害回復処理(図11のステップ930)
の詳細な処理手順を示すフローチャートを図12に示
す。
Failure recovery processing (step 930 in FIG. 11)
FIG. 12 is a flowchart showing the detailed processing procedure of.

【0069】図11のステップ925において障害回復
を行なうものと判断した場合、多重書き込み障害管理部
80は障害回復を開始する(ステップ1000)。次に
データアドレス管理テーブル50、空領域管理テーブル
55の再編成を行う(ステップ1010)。なお、ここ
で、容量の不足を補う必要があれば、ステップ1005
に示すように未使用状態の予備のディスクドライブを組
み込んでも良い。しかし、空領域の容量ECが障害を起
こしたディスクドライブ内のデータの容量に比べて十分
大きい場合、本発明の方法では予備ディスク装置が無く
ても障害回復は可能である。次に入出力処理と障害回復
処理の優先制御を切り替える判断に使う、処理待ち入出
力命令数のしきい値、1回のデータ回復容量、入出力処
理優先の時間または入出力処理数を設定する(ステップ
1015)。本実施例では、以下に説明するように、障
害回復処理は、入出力処理に優先して実行されるが、処
理待ち状態の入出力命令が一定数を越えた場合には、処
理待ち状態の入出力命令が、異常に増えることを防ぐた
めに入出力処理を優先的に実行するようにしている。言
い換えれば、本実施例では他の入出力処理を実行しなが
らデータの回復処理が可能である。ステップ1050で
設定される各パラメータは、優先して実行される処理の
切り換えの判断に使用される。次にディスクドライブ管
理テーブル60より処理待ちの入出力命令の数をカウン
トする(ステップ1020)。これは、ディスクドライ
ブ管理テーブル60に登録されている各ディスクドライ
ブ番号に対応した、処理待ち入出力命令数の総和を求め
ることにより行なわれる。次のステップとして、処理待
ち入出力命令数は、しきい値以下であるかについて、確
認する(ステップ1025)。
If it is determined in step 925 in FIG. 11 that recovery from a failure is to be performed, the multiple write failure management unit 80 starts recovery from a failure (step 1000). Next, the data address management table 50 and the empty area management table 55 are reorganized (step 1010). Here, if it is necessary to make up for the lack of capacity, step 1005
As shown in (1), an unused spare disk drive may be incorporated. However, if the capacity EC of the empty area is sufficiently larger than the capacity of the data in the failed disk drive, the method of the present invention can recover from the failure without a spare disk device. Next, a threshold value of the number of input / output instructions waiting to be used, a data recovery capacity for one time, a time for giving priority to input / output processing, or the number of input / output processing to be used for the judgment of switching between priority control of input / output processing and failure recovery processing are set. (Step 1015). In the present embodiment, as described below, the failure recovery processing is executed prior to the input / output processing. However, when the number of input / output instructions in the processing standby state exceeds a certain number, the processing in the processing standby state is performed. The input / output processing is preferentially executed in order to prevent an abnormal increase in the number of input / output instructions. In other words, in this embodiment, data recovery processing can be performed while executing other input / output processing. Each parameter set in step 1050 is used to determine the switching of the process to be executed with priority. Next, the number of input / output instructions waiting to be processed is counted from the disk drive management table 60 (step 1020). This is performed by calculating the total sum of the number of input / output instructions waiting to be processed, corresponding to each disk drive number registered in the disk drive management table 60. As the next step, it is confirmed whether the number of input / output instructions to be processed is equal to or smaller than a threshold value (step 1025).

【0070】処理待ち入出力命令数がしきい値以上であ
る場合、次に入出力処理をステップ1015で設定し
た、一定の時間または、入出力処理数だけ実行し(ステ
ップ1035)、次にステップ1040へ進む。
If the number of input / output instructions waiting to be processed is equal to or greater than the threshold value, the input / output processing is executed for a predetermined time or the number of input / output processings set in step 1015 (step 1035). Proceed to 1040.

【0071】ステップ1025で処理待ち入出力命令数
がしきい以下である場合、データ回復処理を実行した後
(ステップ1030)、ステップ1040を実行する。
ステップ1040ではデータ回復の終了していない論理
アドレスが残っているかについて、確認する。また、残
っている場合はステップ1020に戻り障害回復を続行
する。障害を起こしたすべての論理アドレスについてデ
ータ回復処理が終了した場合、障害回復は終了し、CP
U1に報告する(ステップ1045)。
If the number of input / output instructions waiting to be processed is equal to or smaller than the threshold in step 1025, the data recovery processing is executed (step 1030), and then step 1040 is executed.
In step 1040, it is confirmed whether a logical address for which data recovery has not been completed remains. If any error remains, the process returns to step 1020 to continue failure recovery. When the data recovery processing is completed for all the failed logical addresses, the failure recovery ends and the CP
A report is made to U1 (step 1045).

【0072】なお、入出力処理優先に制御を切り替える
判断には、他に入出力バッファ内に格納されている、入
出力命令の数のしきい値を用いることも可能であり、そ
の場合、ステップ1020は入出力命令バッファ内に格
納されている、入出力命令の数をカウントすることにな
る。また、ここでの障害回復は入出力命令の処理を止め
ること無く、障害回復を行うことを考えているが、入出
力命令の処理を止めてから、障害回復を行うことも可能
である。
It is also possible to use the threshold value of the number of input / output instructions stored in the input / output buffer for the determination of switching the control to the input / output processing priority. Reference numeral 1020 counts the number of input / output instructions stored in the input / output instruction buffer. In addition, although the failure recovery here is intended to perform the failure recovery without stopping the processing of the input / output instruction, it is also possible to perform the recovery after stopping the processing of the input / output instruction.

【0073】次に図13のフローチャートを用いて、図
12のデータ回復処理(ステップ1030)の詳細につ
いて説明する。
Next, the details of the data recovery process (step 1030) in FIG. 12 will be described with reference to the flowchart in FIG.

【0074】データ回復処理を開始すると、(ステップ
1100)、まず、回復するデータの論理アドレスを設
定する(ステップ1105)。回復するデータの論理ア
ドレスはデータアドレス管理テーブル50を参照して障
害が発生したディスクドライブのディスクドライブの番
号をもとにデータアドレス管理テーブル50に登録され
ている論理アドレスを抽出することにより求める。次に
ステップ1105で設定した論理アドレスのそれぞれに
ついてコマンド処理管理部75より出力命令を発行する
(ステップ1110)。次に図7で説明した、出力命令
の処理を行って障害の発生したディスクドライブの格納
されていたデータと同一のデータを他のディスクドライ
ブから読みだす(ステップ1115)。次に、ディスク
ドライブ管理テーブル60を参照して、待ち入出力命令
数が一定数以下である空きディスクドライブ番号を探し
(ステップ1120)、次に空領域管理テーブル55よ
り各ディスクドライブの空き領域をステップ1115で
読みだしたデータの容量の分だけ探す(ステップ112
5)。なお、ステッフア1120,1125は、この順
番で行う他に、並列処理を行うことも可能である。次に
ステップ1120においても探し出された、条件を満足
するデータを持つディスクドライブで、かつ、ステップ
1125でも探し出された空領域のあるディスク装置を
選ぶ(ステップ1130)。次のステップ1135で
は、選んだディスクドライブだけで多重度分確保できる
かを確認する。
When the data recovery process is started (step 1100), first, the logical address of the data to be recovered is set (step 1105). The logical address of the data to be recovered is obtained by referring to the data address management table 50 and extracting the logical address registered in the data address management table 50 based on the disk drive number of the failed disk drive. Next, an output instruction is issued from the command processing management unit 75 for each of the logical addresses set in step 1105 (step 1110). Next, the same data as the data stored in the failed disk drive is read from another disk drive by performing the output command processing described in FIG. 7 (step 1115). Next, referring to the disk drive management table 60, a free disk drive number in which the number of waiting input / output instructions is equal to or less than a certain number is searched (step 1120). A search is made for the amount of data read in step 1115 (step 112).
5). Note that the steps 1120 and 1125 can perform parallel processing in addition to performing the processing in this order. Next, a disk drive having data satisfying the conditions found in step 1120 and having an empty area also found in step 1125 is selected (step 1130). In the next step 1135, it is checked whether the multiplicity can be secured only by the selected disk drive.

【0075】ここでディスクドライブが足りない場合
は、ステップ1140で入出力命令数が一定数を越えた
ディスクドライブの中から空領域があるディスクドライ
ブを選んだ後、ステップ1145に進む。次に回復する
データの論理アドレスを、データアドレス管理テーブル
を用いてステップ1130で確保した、ディスク装置の
物理アドレスに変換する(ステップ1145)。次に入
力命令を、ディスクドライブ管理部85に送り(ステッ
プ1150)、ステップ1115で読みだしたデータを
ステップ1130,1140で確保したディスクドライ
ブに書き込む。ディスクドライブ管理部85より入力命
令の処理報告を受けると(ステップ1155)、新しく
回復データを入力した空領域を、空領域管理テーブル5
5から削除する(ステップ1160)とともに、回復し
たデータの新物理アドレスと論理アドレスとを対応づけ
てデータアドレス管理テーブル50に登録する(ステッ
プ1165)。次に処理状況のチェックと記録を行う
(ステップ1170)。最後にデータ回復処理を終了す
る(ステップ1175)。
If the number of disk drives is not enough, a disk drive having an empty area is selected at step 1140 from among disk drives having a certain number of input / output instructions, and then the process proceeds to step 1145. Next, the logical address of the data to be recovered is converted to the physical address of the disk device secured in step 1130 using the data address management table (step 1145). Next, the input command is sent to the disk drive management unit 85 (step 1150), and the data read in step 1115 is written to the disk drive secured in steps 1130 and 1140. Upon receiving the processing report of the input command from the disk drive management unit 85 (step 1155), the empty area in which the newly recovered data has been input is stored in the empty area management table 5.
5 (step 1160), and registers the new physical address and logical address of the recovered data in the data address management table 50 in association with each other (step 1165). Next, the processing status is checked and recorded (step 1170). Finally, the data recovery processing ends (step 1175).

【0076】本実施例では、回復データの読みだしは、
多重書き込み障害管理部80からコマンド処理管理部7
5に対して出力命令を出して行ない、読みだした回復デ
ータの書き込みについては多重き込み障害管理部80が
独自に行なっているが、回復データの書き込みについて
も多重書き込み障害管理部80からコマンド処理管理部
75に対して入出力命令を送り、ステップ1120から
ステップ1150の処理をコマンド処理管理部75で行
なう様にすることも可能である。
In this embodiment, the reading of the recovery data is as follows:
Multiple write failure management unit 80 to command processing management unit 7
5, the multiplex failure management unit 80 independently writes the read recovery data. However, the multiplex failure management unit 80 also executes command processing for writing the recovery data. It is also possible to send an input / output command to the management unit 75 so that the processing from step 1120 to step 1150 is performed by the command processing management unit 75.

【0077】これら上述の実施例では記憶ユニットとし
て、磁気ディスクドライブを列に挙げたが、この他に光
ディスクドライブ、フロッピーディスクドライブ、半導
体メモリを用いて構成することが可能である。また、本
発明は2次記憶装置101の制御部2、ディスクドライ
ブ制御部90−1〜90−n、ディスクドライブ16−
1〜16−n等を1つの筐体内に格納しているが、その
他に2次記憶装置101の制御部2、ディスクドライブ
制御部901−90−n、ディスクドライブ16−1〜
16−nをネットワーク上に分散配置し、それらに対し
て本発明で述べた動作を適用することが、可能である。
In the above-described embodiments, the magnetic disk drives are listed as the storage units in the rows. However, the storage units may be configured using an optical disk drive, a floppy disk drive, or a semiconductor memory. Also, the present invention relates to the control unit 2 of the secondary storage device 101, the disk drive control units 90-1 to 90-n, the disk drive 16-
1 to 16-n and the like are stored in one housing, but in addition, the control unit 2 of the secondary storage device 101, the disk drive control units 901-90-n, and the disk drives 16-1 to 16-n
16-n can be distributed on a network and the operations described in the present invention can be applied to them.

【0078】本発明の実施例によれば、入力命令を処理
する際、元のデータが存在するディスクドライブが他の
入出力命令の処理で使用出来ない場合には、他の利用可
能なディスクドライブの空領域にデータを格納する。こ
れにより、使用可能なディスクドライブがあるにもかか
わらず、CPUに対して入力命令を待たせることが無く
なるので、入出力処理性能の向上が図れる。また、ディ
スクドライブの障害回復の際も、回復するデータは、い
くつかのディスクドライブに多重書き込みしたデータを
コピーし、そのデータは特定のディスクドライブに書き
込むことはせず、書き込み可能な状態にあるディスクド
ライブに対して随時回復データの書き込みを行なうた
め、入出力処理性能の低下を最小限に押えた障害回復処
理を実現することができる。またユーザは要求するデー
タの論理アドレスだけ指定すれば、実際のデータのアド
レス、データの多重化、データの履歴の更新は、上記装
置内部で変換、処理するのでユーザは余計な操作を必要
としない。
According to the embodiment of the present invention, when processing an input command, if the disk drive on which the original data exists cannot be used for processing another input / output command, another available disk drive is used. Store the data in the empty area. This eliminates the need for the CPU to wait for an input command despite the fact that there is a usable disk drive, thereby improving the input / output processing performance. Also, when recovering from a disk drive failure, the data to be recovered is a copy of the multiplexed data written to several disk drives, and the data is in a writable state without being written to a specific disk drive. Since recovery data is written to the disk drive at any time, it is possible to realize a failure recovery process that minimizes the deterioration of the input / output processing performance. Also, if the user specifies only the logical address of the requested data, the actual data address, multiplexing of data, and updating of the data history are converted and processed inside the device, so the user does not need any extra operation. .

【0079】また、本発明が適用された2次記憶装置
は、ディスクドライブの増設を容易に行なえる。
Further, in the secondary storage device to which the present invention is applied, it is possible to easily add a disk drive.

【0080】すなわち、例えば、図1または図2に示し
た2次記憶装置101において、(n+1)番目のディ
スクドライブが増設されたとする。この場合、図4に破
線で示すように、空領域管理テーブル55にすべてが空
領域であるディスクドライブ番号#n+1が追加され
る。一方、図5の破線に示すように、処理待ち入出力命
令数がゼロ、すなわち、2進数で“000”のディスク
ドライブ番号#n+1が追加される。
That is, for example, it is assumed that the (n + 1) th disk drive is added in the secondary storage device 101 shown in FIG. 1 or FIG. In this case, as indicated by a broken line in FIG. 4, a disk drive number # n + 1, all of which are empty areas, is added to the empty area management table 55. On the other hand, as indicated by the broken line in FIG. 5, the number of input / output instructions waiting to be processed is zero, that is, a disk drive number # n + 1 of "000" in binary is added.

【0081】このような状態で、制御部2が図8で示し
たようなCPU1からの入出力命令を実行すると、増設
されたディスクドライブ#n+1は、空領域が十分あ
り、かつ、処理待ち入出力命令数が少ないのであるか
ら、他のディスクドライブに比して、多重書き込みディ
スクドライブとして選択される可能性が高い。従って、
増設されたディスクドライブ#n+1はデータ容量が急
速に増加し、他のディスクドライブと同等のデータ容量
となる。
When the control unit 2 executes an input / output command from the CPU 1 as shown in FIG. 8 in such a state, the added disk drive # n + 1 has sufficient free space and is Since the number of output instructions is small, there is a high possibility that the disk drive is selected as a multiplex writing disk drive as compared with other disk drives. Therefore,
The data capacity of the added disk drive # n + 1 increases rapidly, and becomes equal to that of other disk drives.

【0082】このように、本発明が適用された2次記憶
装置は、記憶ユニットの増設と、障害発生に因る記憶ユ
ニットの削減とのいずれに対しても柔軟性が高い。
As described above, the secondary storage device to which the present invention is applied has high flexibility in both adding a storage unit and reducing the number of storage units due to a failure.

【0083】[0083]

【発明の効果】以上に述べたように本発明によれば、ユ
ーザに負担をかけること無く、データの再配置を行い、
入出力処理性能の性能向上と障害回復時の性能低下の抑
制を図ることができる2次記憶装置を実現することが可
能である。
As described above, according to the present invention, data is rearranged without imposing a burden on the user.
It is possible to realize a secondary storage device capable of improving the performance of the input / output processing performance and suppressing the performance degradation at the time of failure recovery.

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

【図1】本発明の実施例である2次記憶装置を示す構成
図である。
FIG. 1 is a configuration diagram showing a secondary storage device according to an embodiment of the present invention.

【図2】図1に示す制御部2を示す構成図である。FIG. 2 is a configuration diagram showing a control unit 2 shown in FIG.

【図3】本発明のデータアドレス管理テーブルの例を示
す構成図である。
FIG. 3 is a configuration diagram showing an example of a data address management table of the present invention.

【図4】本発明の空領域管理テーブルの例を示す構成図
である。
FIG. 4 is a configuration diagram illustrating an example of an empty area management table according to the present invention;

【図5】本発明のディスクドライブ管理テーブルの例を
示す構成図である。
FIG. 5 is a configuration diagram showing an example of a disk drive management table according to the present invention.

【図6】入出力管理部の処理手順を示すフローチャート
である。
FIG. 6 is a flowchart illustrating a processing procedure of an input / output management unit.

【図7】コマンド処理管理部の出力命令処理手順を示す
フローチャートである。
FIG. 7 is a flowchart illustrating an output instruction processing procedure of a command processing management unit;

【図8】コマンド処理管理部の入力命令処理手順を示す
フローチャートである。
FIG. 8 is a flowchart illustrating an input command processing procedure of a command processing management unit;

【図9】ディスクドライブ管理部の処理手順を示すフロ
ーチャートである。
FIG. 9 is a flowchart illustrating a processing procedure of a disk drive management unit.

【図10】通常の多重書き込み障害管理部の処理手順を
示すフローチャートである。
FIG. 10 is a flowchart illustrating a processing procedure of a normal multiple write failure management unit;

【図11】障害発生時の多重書き込み障害管理部の処理
手順を示すフローチャートである。
FIG. 11 is a flowchart illustrating a processing procedure of a multiple write failure management unit when a failure occurs.

【図12】障害回復処理の詳細を示すフローチャートで
ある。
FIG. 12 is a flowchart illustrating details of a failure recovery process.

【図13】データ回復処理の詳細を示すフローチャート
である。
FIG. 13 is a flowchart illustrating details of a data recovery process.

【符号の説明】 1…CPU、2…制御部、3…外部インターフェイスパ
ス、4…インターフェイスポート、5…チャネルパスス
イッチ、6…チャネルポート、7…コマンドバッファ、
8…データバッファ、9…内部データパス、10…内部
コマンドパス、11…マイクロプロセッサ、12…マネ
ージメントテーブル、13…ドライブポート、14…ド
ライブパススイッチ、15…アビトレーションプロセッ
サ、16…ディスク装置、17…ドライブプロセッサ、
18…ドライブコマンドパス、19…ドライブデータパ
ス。
[Description of Signs] 1 CPU, 2 control unit, 3 external interface path, 4 interface port, 5 channel path switch, 6 channel port, 7 command buffer,
8 data buffer, 9 internal data path, 10 internal command path, 11 microprocessor, 12 management table, 13 drive port, 14 drive path switch, 15 arbitration processor, 16 disk device, 17 … Drive processor,
18: drive command path, 19: drive data path.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−56873(JP,A) 特開 平2−280221(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 G06F 12/16 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-63-56873 (JP, A) JP-A-2-280221 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 3/06 G06F 12/16

Claims (25)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の記憶ユニットに対して同一データの
多重書き込みを行う方法であって、 上位装置から発行されたデータ書き込み命令に応答し
て、第1の複数の記憶ユニットのそれぞれについて、そ
の記憶ユニットに対してすでに処理待ち状態にある、前
記上位装置から先行して発行されたデータ読み出し命令
およびデータの書き込み命令を検出し、 前記検出結果に基づいて、処理待ち状態にある、先行す
るデータ読み出し命令又はデータ書き込み命令を有しな
いかもしくは処理待ち状態にある、先行するデータ読み
出し命令又はデータ書き込み命令を有し、かつそのデー
タ読み出し命令又は書き込み命令の処理待ちの総時間が
より少ない上記第1の複数より少ない第2の複数の記憶
ユニットを選択し、 前記選択された第2の複数の記憶ユニットにそれぞれが
前記データ書き込み命令が要求するデータを書き込む段
階を含むことを特徴とする同一データの多重書き込み方
法。
1. A method for performing multiplex writing of the same data to a plurality of storage units, the method comprising: responding to a data write command issued from a host device, for each of the first plurality of storage units. A data read command and a data write command issued earlier from the higher-level device, which are already in a processing wait state for the storage unit, are detected. Based on the detection result, the preceding data in a process waiting state is detected. A first data read command or a data write command which has no read command or data write command or is in a waiting state for processing, and the total waiting time of processing of the data read command or the write command is smaller than the first time. more less the second plurality of storage units is selected, the selected second plurality of storage Multiple write how the same data respectively to the knit, characterized in that it comprises the step of writing data the data write command requires
Law.
【請求項2】第1の複数の記憶ユニット内の該第1の複
数より少ない第2の複数の記憶ユニットに多重的に格納
されたデータの読み出しを行う方法であって、 上位装置からのデータ読み出し命令に応答して、前記第
1の複数の記憶ユニットの内、その命令が要求したデー
タが格納されている、該第2の複数に等しい数の記憶ユ
ニットの各々について、その記憶ユニットに対してすで
に処理待ち状態にある、前記上位装置から先行して発行
されたデータ読み出し命令およびデータ書き込み命令を
検出し、 前記検出結果に基づいて、該第2の所定数の記憶ユニッ
トの内、処理待ち状態にあるデータ書き込み命令又はデ
ータ読み出し命令を有しないかもしくはすでに処理待ち
状態にあるデータ書き込み命令又はデータ読み出し命令
を有しかつ、そのデータ読み出し又はデータ書き込み命
令の全処理待ち時間がより少ない該第2の複数より少な
い第3の複数の記憶ユニットを選択し、前記選択された記憶ユニットにそれぞれ前記読み出し命
令を送り、前記選択さ れた記憶ユニットからの最初の接
続報告に応答して、その最初に接続報告した記憶ユニッ
ト以外の記憶ユニットに対して前記読み出し命令をキャ
ンセルし、 前記最初に接続報告した記憶ユニットから前記データを
読み出し、前記上位装置へ出力する手段とを備えること
を特徴とするデータ読み出し方法。
2. A method for reading data multiplexed stored in a second plurality of storage units less than the first plurality of storage units in the first plurality of storage units, the method comprising: In response to the read command, for each of the first plurality of storage units equal to the second plurality of storage units storing data requested by the command, A data read command and a data write command issued earlier from the higher-level device, which are already in a process waiting state, and, based on the detection result, among the second predetermined number of storage units, Has no data write command or data read command in the state, or has a data write command or data read command already in the waiting state, and All processing latency data read or data write command selects fewer less than the plurality of second third plurality of storage units, each of the read life to the selected storage unit
Command and the first connection from the selected storage unit.
In response to a follow-up report, the storage unit that
The read command is cached for storage units other than
The data from the storage unit that first reported the connection.
Means for reading and outputting to the higher-level device
A data reading method characterized by the above-mentioned.
【請求項3】複数の記憶ユニットに対して同一データの
多重書き込みを行う方法であって、 第1の記憶ユニット内のデータの各々について、その格
納アドレスをデータアドレス管理テーブルに登録し、 前記複数の記憶ユニットの各々について、空き記憶領域
アドレスおよび空き容量を空き領域管理テーブルに登録
し、 前記複数の記憶ユニットの各々について、その処理待ち
状態にある読み出し命令又は書き込み命令の総数を記憶
ユニット管理テーブルに登録し、 上位装置からの、データ書き込み命令に応答して、前記
空き領域管理テーブルおよび前記記憶ユニット管理テー
ブルを参照し、前記書き込み命令が要求するデータを格
納可能な空き容量を有し、かつ、前記処理待ちの読み出
し命令又は命令の総数がより少ない該第1の複数より少
ない第2の複数の記憶ユニットを選択し、 前記データアドレス管理テーブルを参照して、前記選択
された第2の複数の記憶ユニットのそれぞれの空き領域
に前記書き込み命令が要求するデータを書き込み、 前記データを書き込み後、前記データアドレス管理テー
ブル、前記空き領域管理テーブルおよび前記記憶ユニッ
ト管理テーブルを更新する段階を含むことを特徴とする
同一データの多重書き込み方法。
3. A method for performing multiplex writing of the same data to a plurality of storage units, wherein a storage address of each of the data in the first storage unit is registered in a data address management table; For each of the storage units, the free storage area address and the free capacity are registered in the free area management table. For each of the plurality of storage units, the total number of read instructions or write instructions in the processing waiting state is stored in the storage unit management table. In response to a data write command from a higher-level device, the device refers to the free space management table and the storage unit management table, has free space capable of storing data requested by the write command, and , The total number of read instructions or instructions waiting to be processed is less than the first plurality. Selecting a second plurality of storage units that are not present, referring to the data address management table, and writing data requested by the write command to each free space of the selected second plurality of storage units; after writing the data, characterized in that it comprises the step of updating the data address management table, the free area management table and the storage unit management table
Multiple writing method of the same data.
【請求項4】第2の複数の記憶ユニットを選択する前記
段階は、前記書き込みデータを格納可能な空き容量を有
する記憶ユニットの数が第2の複数に満たないならば、
前記アドレス管理テーブルを参照して、前記複数の記憶
ユニットにおける前記書き込みデータの履歴度の最も古
いデータの領域を空き領域に変更し、その領域を含む記
憶ユニットを該第2の複数の記憶ユニットの一つとして
選択するステップをさらに有することを特徴とする請求
項3記載の同一データの多重書き込み方法。
4. The method according to claim 1, wherein the step of selecting a second plurality of storage units includes the step of: if the number of storage units having free space capable of storing the write data is less than the second plurality.
With reference to the address management table, an area of the data having the oldest degree of history of the write data in the plurality of storage units is changed to a free area, and the storage unit including the area is changed to a storage area of the second plurality of storage units. Claims further comprising the step of selecting as one.
Item 4. A method for multiple writing of the same data according to Item 3.
【請求項5】さらに記憶ユニットを増設し、該記憶ユニ
ットの増設にしたがって、前記空き領域管理テーブルお
よび前記記憶ユニット管理テーブルを更新する段階をさ
らに有することを特徴とする請求項3記載の同一データ
の多重書き込み方法。
5. The same data according to claim 3 , further comprising the step of adding a storage unit and updating the free space management table and the storage unit management table in accordance with the addition of the storage unit.
Multiple writing method.
【請求項6】第1の複数の記憶ユニット内の第1の複数
より少ない第2の複数の記憶ユニットに多重的に格納さ
れたデータの読み出しを行う方法であって、 前記複数の記憶ユニット内のデータの各々について、そ
の格納アドレス、履歴度および多重書き込み数をデータ
アドレス管理テーブルに登録し、 前記複数の記憶ユニットの各々について、その処理待ち
の読み出し又は書き込み命令の総数を記憶ユニット管理
テーブルに登録し、 上位装置からのデータの読み出し命令に応答して、前記
記憶ユニット管理テーブルに参照し、前記処理待ち読み
出しおよび書き込み命令の総数のより少ない、前記第2
の複数より少ない第3の複数の記憶ユニットを選択し、 前記選択された第3の複数の記憶ユニットにそれぞれ前
記読み出し命令を送り、前記選択された第3の複数記憶
ユニットからの最初の接続報告に応答して、その最初に
接続報告した記憶ユニット以外の記憶ユニットに対して
送出した前記読み出し命令をキャンセルし、 前記最初に接続報告した記憶ユニットから前記データを
前記データアドレス管理テーブルを参照して読み出し、
前記上位装置へ出力する段階を有することを特徴とする
データの読み出し方法。
6. A method for reading data multiplexedly stored in a second plurality of storage units less than the first plurality of storage units in the first plurality of storage units, the method comprising: For each of the data, the storage address, the degree of history, and the number of multiple writes are registered in the data address management table. For each of the plurality of storage units, the total number of read or write commands waiting to be processed is stored in the storage unit management table. Registering, referring to the storage unit management table in response to a data read command from a higher-level device, and setting the second read and write command waiting for processing to be smaller than the total number of the read and write commands.
And selecting the third plurality of storage units less than the plurality of storage units, sending the read command to each of the selected third plurality of storage units, and reporting the first connection from the selected third plurality of storage units. In response to, cancel the read command sent to a storage unit other than the storage unit that first reported connection, and refer to the data address management table for the data from the storage unit that first reported connection. reading,
Characterized by having a step of outputting to the host system
Data reading method.
【請求項7】第1の記憶ユニット内の、前記第1の複数
の記憶ユニットの数より少ない第2の複数の記憶ユニッ
トに同一データが多重的に格納されている2次記憶装置
におけるデータ回復方法であって、 前記第1の複数の記憶ユニット内のデータの各々につい
て、その格納アドレス、データアドレス管理テーブルに
登録し、 前記複数の記憶ユニットの各々について、その空き記憶
領域アドレスおよび空き容量を空き領域管理テーブルに
登録し、 前記複数の記憶ユニットの各々について、その処理待ち
読み出しおよび書き込み命令の総数を記憶ユニット管理
テーブルに登録し、 ある記憶ユニットに障害が発生したときに、前記記憶ユ
ニット管理テーブルを更新して、前記障害が発生した記
憶ユニットを使用禁止にし、 前記データアドレス管理テーブルを参照して該障害が発
生した記憶ユニット内のデータ(回復すべきデータ)の
回復に用いるそのデータと同じ内容からなり、正常な記
憶ユニットに保持されたデータを決定し、 前記空き領域管理テーブルおよび前記記憶ユニット管理
テーブルを参照し、前記回復すべきデータを格納可能な
空き容量を有し、かつ、前記処理待ちの読み出し命令又
は書き込み命令の総数の最も少ない記憶ユニットを選択
し、 前記データアドレス管理テーブルを参照して、前記選択
された記憶ユニットに前記回復に用いる正常なデータを
書き込む段階を有することを特徴とするデータ回復方
法。
7. A data recovery in a secondary storage device in which the same data is multiplexed and stored in a second plurality of storage units in the first storage unit, the number being smaller than the number of the first plurality of storage units. A method of registering each of the data in the first plurality of storage units in a storage address and a data address management table, and for each of the plurality of storage units, the free storage area address and the free capacity thereof Registering in the free space management table, and for each of the plurality of storage units, registering the total number of read and write commands waiting to be processed in the storage unit management table. When a failure occurs in a certain storage unit, the storage unit management Updating the table to disable the failed storage unit; Referring to a table, data stored in a normal storage unit having the same contents as data used for recovery of data (data to be recovered) in the storage unit in which the failure has occurred is determined. Referring to the table and the storage unit management table, select a storage unit having a free space capable of storing the data to be recovered and having the smallest total number of read instructions or write instructions waiting for processing, It refers to the address management table, data recovery side, characterized in that it comprises the step of writing the correct data to be used for the recovery to the selected storage unit
Law.
【請求項8】前記回復すべきデータを決定する段階で、
履歴データを用いてデータ回復を行うことを決定し、前
記データアドレス管理テーブルにおけるデータの履歴度
を1つ下げることを特徴とする請求項7記載のデータ回
復方法。
8. The step of determining data to be recovered,
8. The data recovery method according to claim 7 , wherein it is determined that data recovery is to be performed using the history data, and the degree of data history in the data address management table is reduced by one.
【請求項9】前記記憶ユニットは、ディスクドライブで
あることを特徴とする請求項1記載の同一データの多重
書き込み方法。
9. The multiplexing of the same data according to claim 1 , wherein said storage unit is a disk drive.
Writing method.
【請求項10】前記記憶ユニットは、ディスクドライブ
であることを特徴とする請求項2記載のデータ読み出し
方法。
10. The data reading device according to claim 2 , wherein said storage unit is a disk drive.
Method.
【請求項11】前記選択は、前記各記憶ユニットにおい
て処理待ち状態にある読み出し命令又は書き込み命令の
総数に応じて該第2の複数の記憶ユニットを選択するス
テップを有することを特徴とする請求項1記載の多重書
き込み方法。
Wherein said selection claims, characterized in that it comprises the step of selecting a plurality of storage units of second in response to the total number of read instructions or write instructions waiting to be processed in each storage unit Multiple copies described in 1
How to write.
【請求項12】前記選択は、前記各記憶ユニットにおい
て処理待ち状態にある読み出し命令又は書き込み命令の
総数に応じて該第2の複数の記憶ユニットを選択するス
テップを有することを特徴とする請求項2記載の多重書
き込み方法。
12. The method of claim 11, wherein selection is claims, characterized in that it comprises the step of selecting a plurality of storage units of second in response to the total number of read instructions or write instructions waiting to be processed in each storage unit Multiple copies of 2
How to write.
【請求項13】前記上位装置からの前記書き込み命令に
応答して、前記複数の記憶ユニットの各々について、空
き記憶容量を検索する段階をさらに含み、前記第2の複
数の記憶ユニットを選択する段階は、該検索結果に基づ
いて前記上位装置から出力される前記データを格納可能
な空き容量を有する記憶ユニットから該第2の複数の記
憶ユニットを選択するステップからなることを特徴とす
る請求項1記載の多重書き込み方法。
13. The method according to claim 13, further comprising: searching for a free storage capacity of each of the plurality of storage units in response to the write command from the higher-level device, and selecting the second plurality of storage units. Selecting the second plurality of storage units from storage units having free space capable of storing the data output from the higher-level device based on the search result .
2. The multiple writing method according to claim 1, wherein:
【請求項14】複数の記憶ユニットに対して同一データ
の多重書き込みを行う制御装置であって、 データの書き込み命令を上位装置から受け取る手段と、 前記受け取り手段における前記書き込み命令の入力に応
答して、前記複数の記憶ユニットの各々について、処理
待ち状態の前記上位装置からの読み出しおよび書き込み
命令を検出する手段と、 前記検出結果に基づいて、前記上位装置からの読み出し
および書き込み命令の処理待ち時間の少ない記憶ユニッ
トを、前記複数の記憶ユニットの数より少ない所定数選
択する手段と、 前記選択された記憶ユニットにそれぞれ前記上位装置か
ら出力された前記データを書き込む手段とを備えること
を特徴とする制御装置。
14. A control device for multiplex writing of the same data to a plurality of storage units, comprising: means for receiving a data write command from a host device; and responding to the input of the write command in the receiving means. Means for detecting, for each of the plurality of storage units, a read and write instruction from the higher-level device in a processing wait state, based on the detection result, the small storage unit, means for selecting a predetermined number smaller than the number of said plurality of storage units, control, characterized in that it comprises means for writing the data outputted from each of the host device to the selected storage unit apparatus.
【請求項15】複数の記憶ユニット内の第1の所定数の
記憶ユニットに多重的に格納されたデータの読み出しを
行う制御装置であって、 データの読み出し命令を上位装置から受け取る手段と、 前記読み出し命令に応答して、前記複数の記憶ユニット
の各々について、処理待ち状態の前記上位装置からの読
み出しおよび書き込み命令を検出する手段と、 前記検出結果に基づいて、前記上位装置からの読み出し
および書き込み命令の処理待ち時間の少ない記憶ユニッ
トを前記第1の所定数より少ない第2の所定数選択する
手段と、 前記選択された記憶ユニットにそれぞれ前記読み出し命
令を送る手段と、 前記選択された記憶ユニットからの最初の接続報告に応
答して、その最初に接続報告した記憶ユニット以外の記
憶ユニットに対して前記読み出し命令をキャンセルする
手段と、 前記最初に接続報告した記憶ユニットから前記データを
読み出し、前記上位装置へ出力する手段とを備えること
を特徴とする制御装置。
15. A control device for reading data multiplexed stored in a first predetermined number of storage units in a plurality of storage units, comprising: means for receiving a data read command from a host device; Means for detecting, in response to a read command, a read and write command from the higher-level device in a processing wait state for each of the plurality of storage units; and reading and writing from the higher-level device based on the detection result. Means for selecting a second predetermined number of storage units having a short processing wait time for the instruction, the second predetermined number being less than the first predetermined number; means for sending the read command to the selected storage unit; and the selected storage unit In response to the first connection report from the storage unit, the storage unit other than the storage unit that first reported the connection is read. Means for canceling out the instruction, the first reading the data from the connection reported by the storage unit, the control apparatus characterized by comprising: means for outputting to the host device.
【請求項16】複数の記憶ユニットに対して同一データ
の多重書き込みを行う制御装置であって、 前記複数の記憶ユニット内のデータの各々について、そ
の格納アドレス、履歴度および多重書き込み数を管理す
るデータアドレス管理テーブルと、 前記複数の記憶ユニットの各々について、その空き記憶
領域アドレスおよび空き容量を管理する空き領域管理テ
ーブルと、 前記複数の記憶ユニットの各々について、その処理待ち
読み出しおよび書き込み命令数を管理する記憶ユニット
管理テーブルと、 データの書き込み命令を上位装置から受け取る手段と、 前記書き込み命令に応答して、前記空き領域管理テーブ
ルおよび前記記憶ユニット管理テーブルを参照し、前記
上位装置から出力される前記データを格納可能な空き容
量を有し、かつ、前記処理待ち読み出しおよび書き込み
命令数の少ない記憶ユニットを所定数選択する手段と、 前記データアドレス管理テーブルを参照して、前記選択
された記憶ユニットの空き領域にそれぞれ前記上位装置
から出力された前記データを書き込む手段と、 前記データを書き込み後、前記データアドレス管理テー
ブル、前記空き領域管理テーブルおよび前記記憶ユニッ
ト管理テーブルを更新する手段と備えることを特徴とす
る制御装置。
16. A control device for performing multiplex writing of the same data to a plurality of storage units, wherein for each of the data in the plurality of storage units, a storage address, a history degree, and the number of multiplex writes are managed. A data address management table; a free space management table for managing the free storage area address and free space for each of the plurality of storage units; and a process waiting read and write instruction count for each of the plurality of storage units. A storage unit management table to be managed; a unit for receiving a data write command from a higher-level device; and, in response to the write command, referring to the free space management table and the storage unit management table and output from the higher-level device. Has a free space capable of storing the data, and Means for selecting a predetermined number of storage units having a small number of read and write commands waiting for writing, and referring to the data address management table, the data output from the higher-level device to a free area of the selected storage unit, respectively. means for writing, after writing the data, the data address management table, the controller characterized in that it comprises a means for updating the free area management table and the storage unit management table.
【請求項17】記憶ユニットを所定数選択する前記手段
は、前記上位装置から出力される前記データを格納可能
な空き容量を有する記憶ユニットが所定数選択できない
ならば、前記アドレス管理テーブルを参照して、前記複
数の記憶ユニットにおける前記データの履歴度の最も古
いデータの領域を空き領域に変更することを特徴とする
請求項16記載の制御装置。
17. The means for selecting a predetermined number of storage units refers to the address management table if a predetermined number of storage units having a free space capable of storing the data output from the host device cannot be selected. Changing an area of the data having the oldest data history in the plurality of storage units to a free area.
The control device according to claim 16.
【請求項18】複数の記憶ユニット内の第1の所定数の
記憶ユニットに多重的に格納されたデータの読み出しを
行う制御装置であって、 前記複数の記憶ユニット内のデータの各々について、そ
の格納アドレス、履歴度および多重書き込み数を管理す
るデータアドレス管理テーブルと、 前記複数の記憶ユニットの各々について、その処理待ち
読み出しおよび書き込み命令数を管理する記憶ユニット
管理テーブルと、 データの読み出し命令を上位装置から受け取る手段と、
前記読み出し命令に応答して、前記記憶ユニット管理テ
ーブルを参照し、前記処理待ち読み出しおよび書き込み
命令数の少ない記憶ユニットを前記第1の所定数より少
ない第2の所定数選択する手段と、 前記選択された記憶ユニットにそれぞれ前記読み出し命
令を送る手段と、 前記選択された記憶ユニットからの最初の接続報告に応
答して、その最初に接続報告した記憶ユニット以外の記
憶ユニットに対して前記読み出し命令をキャンセルする
手段と、 前記最初に接続報告した記憶ユニットから前記データを
前記データアドレス管理テーブルを参照して読み出し、
前記上位装置へ出力する手段とを含むことを特徴とする
制御装置。
18. A control device for reading data multiplexed stored in a first predetermined number of storage units in a plurality of storage units, wherein each of the data in the plurality of storage units is read out. A data address management table for managing a storage address, a degree of history, and the number of multiple writes; a storage unit management table for managing the number of read and write instructions waiting for processing for each of the plurality of storage units; Means for receiving from the device;
Means for, in response to the read command, referring to the storage unit management table and selecting a second predetermined number of storage units having a smaller number of the waiting read and write commands than the first predetermined number; Means for sending the read command to each of the selected storage units; and in response to a first connection report from the selected storage unit, the read command is sent to storage units other than the storage unit that first reported the connection. Means for canceling, reading the data from the storage unit that first reported the connection with reference to the data address management table,
Means for outputting to the higher-level device.
【請求項19】複数の記憶ユニット内の所定数の記憶ユ
ニットに同一データが多重的に格納されている2次記憶
装置における制御装置であって、 前記複数の記憶ユニット内のデータの各々について、そ
の格納アドレス、履歴度および多重書き込み数を管理す
るデータアドレス管理テーブルと、 前記複数の記憶ユニットの各々について、その空き記憶
領域アドレスおよび空き容量を管理する空き領域管理テ
ーブルと、 前記複数の記憶ユニットの各々について、その処理待ち
読み出しおよび書き込み命令数を管理する記憶ユニット
管理テーブルと、 ある記憶ユニットに障害の発生を検出する手段と、前記
記憶ユニット管理テーブルを更新して、前記障害記憶ユ
ニットを使用禁止にする手段と、 前記障害記憶ユニットの発生に応じて、前記データアド
レス管理テーブルを参照して回復すべきデータを決定す
る手段と、 前記障害記憶ユニットの発生に応答して、前記空き領域
管理テーブルおよび前記記憶ユニット管理テーブルを参
照し、前記回復すべきデータを格納可能な空き容量を有
し、かつ、前記処理待ち読み出しおよび書き込み命令数
の少ない記憶ユニットを所定数選択する手段と、 前記データアドレス管理テーブルを参照して、前記選択
された記憶ユニットにそれぞれ前記回復すべきデータを
書き込む手段と、 前記回復すべきデータを書き込み後、前記データアドレ
ス管理テーブル、前記空き領域管理テーブルおよび前記
記憶ユニット管理テーブルを更新する手段とを含むこと
を特徴とする制御装置。
19. A controller in a secondary storage device in which the same data is multiplexly stored in a predetermined number of storage units in a plurality of storage units, wherein each of the data in the plurality of storage units is: A data address management table that manages the storage address, the degree of history, and the number of multiple writes; a free space management table that manages a free storage area address and free space for each of the plurality of storage units; A storage unit management table for managing the number of read and write instructions waiting to be processed, a unit for detecting the occurrence of a failure in a certain storage unit, and updating the storage unit management table to use the failed storage unit. Means for prohibiting the data, and in response to the occurrence of the fault storage unit, Means for determining data to be recovered by referring to an address management table; storing the data to be recovered by referring to the free space management table and the storage unit management table in response to the occurrence of the failed storage unit Means for selecting a predetermined number of storage units having a possible free space and having a small number of read and write instructions waiting for processing; and referring to the data address management table, the recovery is performed for each of the selected storage units. A control unit for writing data to be recovered, and a unit for updating the data address management table, the free space management table, and the storage unit management table after writing the data to be recovered.
【請求項20】前記回復すべきデータを決定する手段
は、履歴データを用いてデータ回復を行うことを決定
し、前記データアドレス管理テーブルにおけるデータの
履歴度を1つ下げることを特徴とする請求項19記載の
制御装置。
20. A means for determining the data to be the recovery claims decides to perform data recovery using the history data, and wherein the lowering one history of the data in the data address management table Item 19. The control device according to Item 19 .
【請求項21】前記記憶ユニットは、ディスクドライブ
であることを特徴とする請求項14記載の制御装置。
21. The control device according to claim 14 , wherein said storage unit is a disk drive.
【請求項22】前記記憶ユニットは、ディスクドライブ
であることを特徴とする請求項15記載の制御装置。
22. The control device according to claim 15 , wherein said storage unit is a disk drive.
【請求項23】前記処理待ち時間は、前記上位装置から
の読み出しおよび書き込み命令の数に応じて決定される
ことを特徴とする請求項14記載の制御装置。
23. The control device according to claim 14 , wherein said processing waiting time is determined according to the number of read and write commands from said higher-level device.
【請求項24】前記処理待ち時間は、前記上位装置から
の読み出しおよび書き込み命令の数に応じて決定される
ことを特徴とする請求項15記載の制御装置。
24. The control device according to claim 15 , wherein said processing waiting time is determined according to the number of read and write commands from said higher-level device.
【請求項25】さらに、前記上位装置からの前記書き込
み命令に応答して、前記複数の記憶ユニットの各々につ
いて、空き記憶容量を検索する手段を含み、前記記憶ユ
ニットを所定数選択する手段は、前記上位装置から出力
される前記データを格納可能な空き容量を有する記憶ユ
ニットから所定数選択することを特徴とする請求項14
記載の制御装置。
25. Further, in response to the write command from the higher-level device, means for searching for a free storage capacity for each of the plurality of storage units, and means for selecting a predetermined number of the storage units, 15. The storage system according to claim 14, wherein a predetermined number is selected from storage units having a free space capable of storing the data output from the host device.
The control device as described .
JP31166692A 1991-11-21 1992-11-20 Multiple writing method of the same data, data reading method and data recovery method, and control device therefor Expired - Fee Related JP3254766B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31166692A JP3254766B2 (en) 1991-11-21 1992-11-20 Multiple writing method of the same data, data reading method and data recovery method, and control device therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30592891 1991-11-21
JP3-305928 1991-11-21
JP31166692A JP3254766B2 (en) 1991-11-21 1992-11-20 Multiple writing method of the same data, data reading method and data recovery method, and control device therefor

Publications (2)

Publication Number Publication Date
JPH05233161A JPH05233161A (en) 1993-09-10
JP3254766B2 true JP3254766B2 (en) 2002-02-12

Family

ID=26564503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31166692A Expired - Fee Related JP3254766B2 (en) 1991-11-21 1992-11-20 Multiple writing method of the same data, data reading method and data recovery method, and control device therefor

Country Status (1)

Country Link
JP (1) JP3254766B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147205A (en) * 1994-11-18 1996-06-07 Nec Corp Disk sharing system

Also Published As

Publication number Publication date
JPH05233161A (en) 1993-09-10

Similar Documents

Publication Publication Date Title
US6772306B2 (en) Data saving method and external storage device
US7089445B2 (en) External storage and data recovery method for external storage as well as program
US7269690B2 (en) Disk array device and data processing method thereof
JP2905373B2 (en) Disk control device and control method thereof
US5802345A (en) Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
US8176359B2 (en) Disk array system and control method thereof
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US7065620B2 (en) Systems and methods for backing up data
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
US6859888B2 (en) Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same
US7558981B2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
JP4041473B2 (en) Autonomous power loss recovery for multi-cluster storage subsystems
JP2002259063A (en) Storage system capable of backup processing
US7984260B2 (en) Storage system provided with a plurality of controller modules
US5542064A (en) Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor
US6957301B2 (en) System and method for detecting data integrity problems on a data storage device
JP3139548B2 (en) Error retry method, error retry system, and recording medium therefor
JP2001034508A (en) Memory dump collection method and its execution device, and recording medium recording memory dump collection program
JP3254766B2 (en) Multiple writing method of the same data, data reading method and data recovery method, and control device therefor
JPH07328072A (en) Cache control method and information processing device
JPH11237959A (en) Multiple writing storage device
JPH06268796A (en) Facsimile store and forward exchange

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees