JPH05233161A - Method and device for data multiplex write - Google Patents

Method and device for data multiplex write

Info

Publication number
JPH05233161A
JPH05233161A JP4311666A JP31166692A JPH05233161A JP H05233161 A JPH05233161 A JP H05233161A JP 4311666 A JP4311666 A JP 4311666A JP 31166692 A JP31166692 A JP 31166692A JP H05233161 A JPH05233161 A JP H05233161A
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.)
Granted
Application number
JP4311666A
Other languages
Japanese (ja)
Other versions
JP3254766B2 (en
Inventor
Atsushi Tanaka
淳 田中
Hitoshi Tsunoda
仁 角田
Yoshifumi Takamoto
良史 高本
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)

Abstract

PURPOSE:To suppress the deterioration of processing time when a storage device having plural disk devices writes data and to secure high input/output performance. CONSTITUTION:This device is composed of a disk device group where the disk device l16 storing data and the control part 17 are made into a pair, an input/output management part receiving instructions from a host device such as CPU 1 rearranging them in the order of priority and transmitting them to a low-order, a buffer which temporarily stores the instructions, a command processing management part 75 decoding the instructions sent from the input/ output management part 70 calculating the addresses of the instructions and sending them to a low-order management part, a data address management table 50 storing the data addresses, a blank area management table 55 storing the address where data is not stored, a disk device management part 85 sending the instruction sent from the command processing management part to the disk device group and monitoring a use situation and the presence or absence of the occurrence of a fault, a disk device management table 60 recording the result and a multiplex/fault management part 80 multiplexing data and executing restoration when the fault occurs.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、データ処理装置に用い
られる2次記憶装置におけるデータ読み出し/書き込み
制御方法および装置に関し、特に、2次記憶装置が有す
る複数の、例えばディスクドライブのような、記憶ユニ
ットのうちの所定数の記憶ユニットに対して同一データ
の多重書き込み制御を行う方法および装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data read / write control method and apparatus in a secondary storage device used in a data processing device, and more particularly, to a plurality of secondary storage devices such as disk drives. The present invention relates to a method and apparatus for performing multiple write control of the same data on a predetermined number of storage units.

【0002】[0002]

【従来の技術】2次記憶装置の性能改善は、これまでは
主として記憶装置容量の増大及びデータ転送速度の向上
に向けられていた。ところが、コンピュータの処理速度
の向上にともない、2次記憶装置に対する入出力スルー
プットの向上が課題となってきている。その1つは解決
方法として、同一データをn台(nは2以上の整数)の
ディスクドライブ全てに書き込んでおき、データの読み
出し時には、データ出力命令を全てのディスクドライブ
に発して、一番早くそのデータ出力命令を処理できるデ
ィスクドライブからそのデータを読み出す方法が提案さ
れている。
2. Description of the Related Art Up to now, the performance improvement of a secondary storage device has been mainly directed to an increase in storage device capacity and an increase in data transfer rate. However, as the processing speed of the computer is improved, the improvement of the input / output throughput with respect to the secondary storage device is becoming an issue. The first solution is to write the same data to all n (n is an integer of 2 or more) disk drives, and when reading data, issue a data output command to all disk drives, A method of reading the data from a disk drive capable of processing 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)に開示されている。
About this, 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.
It is disclosed in Japanese Patent Publication 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 and one data is divided and written into the plurality of disk drives. For example, RAID (Redundant Ar) announced by the University of California, Berkeley
rays of Inexpensive Disks) method.

【0005】これについては、同校の D. Patterson 等
のア ケース オブ リダンダントアレイ オブ イネ
クスペンシブ ディスク(David A. Patterson, et al,
“A Case of Redundant Array of Inexpensive Disks
(RAID)”, ACMSIGMOD Conference, 1988)に開示されて
いる。
Regarding this, a case of redundant array of inexpensive discs (David A. Patterson, et al, 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 of high reliability using parity, ECC, etc. is shown for the problem of reliability deterioration due to data being divided and stored in a plurality of disk drives. That is, for each data, correction data is created using parity, ECC, and the like.
When a failure occurs in a certain disk drive, a technique for recovering the data in the failed disk drive from the correction data and the data remaining in the normal disk drive is disclosed. This technique is disclosed, for example, in Japanese Patent Laid-Open No. 2-236714 (JP-A-2-236714).

【0007】[0007]

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

【0008】また、同一データを複数のディスクドライ
ブから読み出す場合には、そのデータを記憶した全ての
ディスクドライブに対して読み出し命令が発行されるの
で、一番早くデータ読み出しを行う可能性の少ない、既
に入出力命令を多数有しているディスクドライブはさら
に不要な入出力命令が追加されることになる。
Further, 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, so that there is little possibility of reading the data earliest. For a disk drive that already has a large number of input / output instructions, unnecessary input / output instructions will be added.

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

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

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

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

【0013】本発明のさらに他の目的は、複数の記憶ユ
ニットを有する2次記憶装置において、ある記憶ユニッ
トに障害が発生したときに、データ回復が容易に行え
る、同一データの多重読み出し/書き込み制御方法およ
び装置を提供することにある。
Still another object of the present invention is to control multiple reading / writing of the same data in a secondary storage device having a plurality of storage units so that data can be easily recovered when a failure occurs in the storage unit. A method and apparatus are provided.

【0014】本発明のさらに他の目的は、複数の記憶ユ
ニットを有する2次記憶装置において、未使用の記憶ユ
ニットの増設に対して柔軟性がある同一データの多重読
み出し/書き込み制御方法および装置を提供することに
ある。
Still another object of the present invention is to provide a method and apparatus for controlling multiple read / write of the same data, which is flexible in addition of an unused storage unit in a secondary storage unit having a plurality of storage units. To provide.

【0015】[0015]

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

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

【0017】[0017]

【作用】本発明の多重化記憶装置は、図15に示すよう
に、1つのデータを複数の記憶部(ディスク装置#1、
#3)格納しておくために、出力命命を処理する場合、
それらの中で一番早く使えるようになった記憶部からデ
ータを呼び出してそのデータ#nを用いるため、出力処
理性能を向上できる。またコントローラは、複数の入出
力命令を処理する中で、入力データを格納する記憶部
が、他の入出力命令の処理のために使用出来ない場合に
は、一番早く使える他の記憶部(ディスク装置#2、#
4)の空領域にデータ#nを書き込むので、入力処理性
能の向上も達成することが可能である。入出力命令の指
定するアドレスを、実際にデータが格納されている、記
憶部の番号、アドレスに対応づけ、それらの管理をデー
タアドレス管理テーブル内で自動的に行うことにより、
ユーザは一々、記憶部内のデータの位置を気にせず、最
適な入出力処理を行うことが出来る。また、記憶部の障
害回復を行う際、読みだすべきデータは、各記憶部に分
散しており、1個の記憶部だけを集中して占有すること
は無く、読みだしたデータを改めて書き込む際も、1個
の記憶部だけに集中して書き込むことは無く、入出力要
求の処理性能の低下を抑制することが出来る。また、記
憶部の障害が発生し、データを読み書き出来ない場合、
多重化した他の記憶部上データを読みだす事によってこ
れを補い、さらに多重化したデータがすべて使えなくな
った場合は、保存してある、履歴データを代用すること
によって、信頼性を高くすることが出来る。
As shown in FIG. 15, the multiplexed storage device of the present invention stores one data in a plurality of storage units (disk device # 1,
# 3) If you want to process the output life to store it,
Since the data is called from the storage unit which has become the earliest available and the data #n is used, the output processing performance can be improved. In addition, the controller processes the plurality of input / output instructions, and if the storage unit that stores the input data cannot be used for processing another input / output instruction, another storage unit that can be used earliest ( Disk device # 2, #
Since the data #n is written in the empty area of 4), it is possible to improve the input processing performance. By associating the address specified by the input / output command with the number and address of the storage unit where the data is actually stored and managing them automatically in the data address management table,
The user can perform optimum input / output processing without worrying about the position of the data in the storage unit. In addition, when the failure recovery of the storage unit is performed, the data to be read is dispersed in each storage unit, and it is not necessary to concentrate and occupy only one storage unit. Also, since the writing is not concentrated on only one storage unit, it is possible to suppress the deterioration of the processing performance of the input / output request. Also, if you cannot read or write data due to memory failure,
To compensate for this by reading the other multiplexed data on the memory, and when 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 now be described 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 the secondary storage device according to the present invention. In this embodiment, a secondary storage device having magnetic disk drives as a plurality of storage units will be described as an example. In FIG. 1, the secondary storage device includes a control unit 2 that controls the entire plurality of storage units, magnetic disk drives 16-1 to 16-n, and a disk control device 15 that controls the magnetic disk drives 16-1 to 16-n.

【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 is a CPU which is a higher-level 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 files (data) to be stored, and the like.
The command issued from the CPU 1 passes through the external interface path 3 and the 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 to simplify the description. The other system also performs the same operation. The microprocessor (MP) 11-1 is
Check if there is a path that can be used in external interface path 3 and use external interface path 3
If there is, the MP 11-1 switches the channel path switch (hereinafter CPS) 5 to perform the command reception process.
If the command is not accepted, MP11-1
Sends an unacceptable response to the CPU 1.

【0021】受け入れられたコマンドは、チャネルポー
ト回路(CHL prot)6−1に送られ、チャネルのプ
ロトコルから、制御部2内のプロトコルに変換を行な
う。変換後コマンドは内部コマンドパス10−1を通
り、コマンドバッファ(CBUF)7−1に、データは
内部データパス9−1を通りデータバッファ(DBU
F)8−1に一時的に置かれ、次の処理を待つ。
The received command is sent to the channel port circuit (CHL prot) 6-1 and the channel protocol is converted into the 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) It is temporarily placed in 8-1 and waits for the next processing.

【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 the empty area of each disk drive and a drive management table 60 for managing the status of each disk drive are placed.

【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 that has been appropriately processed by the MP 11-1 is converted by the drive port 13-1 so as to match the protocol of the drive data path 19. The command is also 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 according to the command. When there is a usable 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 cannot be accepted, the fact that it cannot be 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 has a disk drive 16
-1 to 16-n are controlled to move the head, wait for rotation, detect a fault occurrence, report each disk drive 16-1 to 16
-N and data transfer of the control unit 2 are controlled. The numbers of the drive processors 17-1 to 17-n and the 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 multiple 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を
持つ。
In FIG. 2, MP11-1 or MP11-
2 shows the processing executed in 2 and the contents of the MT 12. As is apparent from FIG. 1, in this embodiment, MP11-1 and M
Although there are two systems, P11-2, only the ten systems will be described for convenience of explanation. The MP 11-1 includes an input / output management unit 70 that performs command and data queuing processing, a command processing management unit 75 that performs command address conversion, management of empty areas, etc., multiple data write / read, and failure recovery processing. A multiple write / read failure management unit 80 for carrying out and a disk drive management unit 85 for managing the usage and status of the disk drive are prepared. Further, a data address management table 50, a free area management table 55, and a drive management table 60 are prepared in the MT 12 as a place 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. In addition, the drive processors 17-1 to 17-1
The 7-n has a disk drive control unit 90 which performs command processing, seek, search, data reading, writing, etc. in the disk drives 16-1 to 16-n.

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

【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
-1 and 100-2 are areas in which a user number for identifying a user and an allocated storage capacity usable by 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 data that the data has before the update). In the example of FIG. 3, the logical address 1 has a history retention number of 3, and the logical address 2 has a history retention 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 the history number indicating the order in which the data was updated and the data multiplicity (the number of disk drives storing the same data). In this embodiment, the newer the data, the smaller 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 in which the data is stored, and a physical address and a data capacity of an area where the data is actually stored in the disk drive. In the example of FIG.
Of the triple-written data, one is stored at the physical address A1 of the disk drive # 1, and the other is
Stored at physical address A2 of disk drive # 2,
The remaining one is the physical address A of disk drive # 4.
It is stored in 3. Since the data is the same, the data capacities of the areas 130-1, 130-2, and 130-3 are equal and are 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 further 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 it is possible to 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 shown by the data address management table 50, the past history data is held. Therefore, the data capacity of each user can be calculated by taking the sum of the data capacity multiplied by the multiplicity and the number of history records.
For example, the number of data managed by the user number j is N, the data capacity of each data, the multiplicity, and the number of history records are C respectively.
If i, Mi, and Hi, the data capacity U of the user number j
Cj is represented 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 expression 2.

【0035】[0035]

【数2】 従って、複数の記憶ユニット全体としては、最低限UC
だけのデータ容量が必要となる。
[Equation 2] Therefore, the minimum UC for the multiple storage units as a whole
Only data capacity is required.

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

【0037】次に図4を用い、空領域管理テーブル55
の構造について説明する。
Next, referring to FIG. 4, the empty area management table 55
The structure of 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, 200-1 to 200-n are disk drive numbers, and each disk drive 16-
It is defined for each of 1 to 16 to n. 205-1 ~ 20
Reference numeral 5-7 is an area for registering a physical address indicating an empty area in which data of each disk drive 16-1 to 16-n is not stored and a data capacity that can be stored in the empty area. In FIG. 3, the disk drive number # 1 has an empty area 20.
5-1 and 205-2 exist, and the disk drive number #
3 have free areas 205-3 and 205-4, a free area 205-5 exists in the disk drive number # 4, and free areas 505-6 and 205 exist in the disk drive number #n.
-7 is present. It is indicated that the disk drive # 2 has no free area. 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 it is also possible to have a tree structure or a table structure. The capacity of the empty area of the plurality of storage units is equal to that of each disk drive 16-1
It can be calculated by adding up the data capacities of the areas 205 for each 16 to 16-n and taking the sum total 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 empty area capacity EC required for the entire plurality of storage units can be expressed by the following expression 3.

【0039】[0039]

【数3】 空領域のデータを容量がECである場合、複数の記憶ユ
ニット全体で必要な記憶容量ACは、データ容量UCと
の和となり次の数4で表される。
[Equation 3] When 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 the empty area of the other disk drive that can be used earliest. For this reason,
In order to bring out the performance sufficiently, it is necessary to sufficiently secure the capacity ECk of the empty area of each disk drive. If this free space is insufficient or does not exist, the data will be written to the disk drive that has already received another I / O command, but even at this time, the I / O processing performance will be better than that of ordinary multiple storage units. It does not decrease. Further, when there is no empty area, it is 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等のメモリの退避領域、障害回復したデ
ータの確認領域等が必要である。
In addition, in addition to this, a memory save area such as the data address management table 50, the empty area management table 55, and the empty area management table 60, and a confirmation area for the recovered data are required.

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

【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 disk drive 16-1 to 16-n, and a processing wait for each disk drive 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 3-digit binary number in the input / output command number registration area 402. If there is a disk drive that has become unusable due to a failure in the pending input / output instruction registration area 402, a flag indicating that the disk drive is unavailable can be set in the area 402 corresponding to the disk drive. In FIG. 5, the maximum value “111” represented by a 3-digit binary number is used as a flag indicating that the use is disabled. That is, the disk drive number # 5 is unusable in FIG. Also, FIG. 5 shows the disk drive number # 2.
There is no I / O command waiting for processing in the disk drives 16-2 to 16-n of #n, and six I / O commands are waiting for processing for the disk drive 16-1 of disk drive number # 1. It is shown in.
Also, disk drive 1 with disk drive number # 3
Reference numeral 6-3 indicates that it has three process waiting input / output instructions.

【0044】次に図6のフローチャートを用いて、入出
力管理部70とCBUF7−1(または7−2),DB
UF8−1(または8−2)の処理手順を説明する。
Next, referring to the flowchart of FIG. 6, the input / output management unit 70, the CBUF 7-1 (or 7-2), the DB
The processing procedure of the UF8-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, it first checks the states of the input / output instructions and data held in the CBUF7-1 and DBUF8-1 (step 50).
5). Here, the queues in the CBUF 7-1 and DBUF 8-1 are counted and it is confirmed whether or not the threshold value set in advance is exceeded. CBUF7-1, DBUF8-
If the number of queues in 1 is less than or equal to the threshold value, it is checked in the next step whether or not there is an input / output instruction sent from the CPU 1 (step 510). If a new input / output command comes from the CPU 1, the input of the input / output command is accepted (step 515). Next, the input / output instruction accepted in step 515 is stored in the queues in CBUF7-1 and DBUF8-1 (step 520). Next, CBUF7
-1, The queue in DBUF8-1 is sorted according to the priority order attached to the input / output instructions (step 5).
25). Then, the process returns to step 505.

【0046】ステップ505において、待ち行列がしき
い値以上であれば、コマンド処理管理部75が入出力命
令の処理が可能か否か確認する(ステップ530)。コ
マンド処理管理部75が他の入出力処理を行っており、
処理が可能でない場合はステップ505へ戻る。コマン
ド処理管理部75が新たな入出力処理を行うことが可能
であることが判ると、入出力命令を処理可能な数だけ、
ソートした順に入出力命令コマンドを処理管理部75へ
送る(ステップ535)。この後、通常はさらに入出力
命令を継続するためにステップ505に戻る。入出力処
理を継続しないならば、入出力命令処理を終了する(ス
テップ545)。
If the queue is equal to or more than the threshold value in step 505, the command processing management section 75 confirms whether or not the input / output instruction can be processed (step 530). The command processing management unit 75 is performing other input / output processing,
If the processing is not possible, the process returns to step 505. When it is found that the command processing management unit 75 can perform new input / output processing, the number of input / output instructions that can be processed is
The input / output command commands are sent to the processing management unit 75 in the sorted order (step 535). After this, the process normally returns to step 505 to continue the input / output command. If the input / output processing is not continued, the input / output command processing is ended (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, CBUF7-1 (or 7-2), DBUF8-1.
If the queue in (or 8-2) is less than or equal to the threshold value, the input / output management unit 70 transfers to the command processing management unit 75 C
The input reception of the input / output command from the CPU 1 is prioritized over the process of transferring the input / output command held in the BUF7-1 (or 7-2) and the DBUF8-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 an output instruction 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 the input / output management unit 7
When sent from 0, the command processing management unit 75 starts output command processing (data reading 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 the data is requested by the instruction.
All the numbers of the disk drives whose number is equal to a certain multiplicity of data are searched (step 605). In step 605, first, the user number is confirmed, the logical address managed by the user number is searched from the area 105, and the storage destination of the data with the smallest history number is usually stored in the data corresponding to the logical address. The disk drive number of the disk drive 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 that does not perform input / output processing
6, that is, the area 40 of the disk drive management table 60
All the disk drive numbers of the disk drives having no processing waiting instruction in which 2 is 0, that is, "000" in binary, are searched (step 610). Note that steps 605 and 6
In addition to this order, 10 can also perform parallel processing. Next, among the disk drives searched in steps 605 and 610, the disk drive having the requested data and the disk drive having no processing waiting 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 a predetermined threshold value l (l <multiplicity m). In order to enable the invention here, 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 less than or equal to the threshold value, waiting for the processing of the area 402 of the disk drive management table 60 among the disk drives having the data for the shortage. The one having the smaller number of input / output instructions is selected until the threshold value 1 is reached (step 625). Next, the logical address of the output command 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 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 section 85 (step 63).
5). When receiving a connection report from the disk drive management unit 85 with the disk drive 16 that has sent the output command (step 640), the disk drive management unit 85 sends to the other disk drives other than the first disk drive (eg, 16-2) connected first. The output command of is canceled and the processing is continued only for the disk drive connected first (step 645).

【0053】次のステップ650で、ディスクドライブ
16からのデータ読みだしが終了し、ディスクドライブ
管理部85より出力命令処理の終了報告をうけるまで他
のコマンドの処理を行う(ステップ650,655)。
ディスクドライブ管理部85より終了報告が来ていれ
ば、次に出力命令の処理状況のチェックと記録を行い
(ステップ660)、CPU1へ出力命令の終了を報告
する(ステップ665)。以上の処理が終了するとコマ
ンド処理管理部75は入出力管理部70から送られてく
る次の入出力命令を待つ(ステップ670)。
At the next step 650, other commands are processed until the data read from the disk drive 16 is completed and the completion of the output command processing is received from the disk drive management section 85 (steps 650, 655).
If the end report is received from the disk drive management unit 85, the processing status 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 shows a flowchart of input command processing (multiple data writing from the CPU 1 to the secondary storage device 101) in the command processing management unit 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 the input / output management unit 7
When sent from 0, the command processing management unit 75 starts the 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 stored history are received from the multiple write failure management unit 80 (step 705). Next, the data address management table 50
Further, a disk drive corresponding to the logical address of the input data designated by the CPU 1 and waiting for data satisfying the oldest history is searched for (step 710).
Next, the area 40 of the disk drive management table 60
A free disk drive whose number of waiting input / output instructions is less than a certain number, which is recorded in No. 2, is searched (step 715). Further, a free area of each disk drive is secured by the free area management table 55 by the amount of data (step 7).
20). Note that steps 710, 715 and 720
In addition to performing in this order, it is also possible to perform parallel processing. Further, step 710 is necessary for multiple writing in the secondary storage device 101 with a small free space, but may be used only for erasing the oldest history data in the secondary storage device with a sufficient free space. is there.

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

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

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

【0059】ディスクドライブ管理部より終了報告が来
ると、ステップ710の結果を利用して、多重書き込み
障害管理部80より受けた所定の履歴保持数より古い履
歴の物理アドレスを旧物理アドレスとする。(ステップ
770)データアドレス管理テーブル50からデータの
旧アドレスを読みだして、古い履歴のデータが格納され
ている領域を空領域として空領域管理テーブル55に登
録し、また、新しくデータを格納した空領域が有る場合
には、その領域を空領域管理テーブル55から削除する
(ステップ775)。次にデータの新物理アドレスを読
みだし、データアドレス管理テーブル50に登録する
(ステップ780)。次に入力命令の処理状況のチェッ
クと記録を行い(ステップ785)、CPU1に終了報
告を行う(ステップ790)。以上の処理が終了する
と、コマンド処理管理部75は出力命令の場合と同様
に、入出力管理部70から送られてくる次の入出力命令
を待つ(ステップ795)。
When the completion report comes from the disk drive management unit, the result of step 710 is used to set the physical address of the history older than the predetermined history holding number received from the multiple write failure management unit 80 as the old physical address. (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 in the empty area management table 55 as an empty area, and the empty area where the new data is stored is also registered. If there is an area, that area is deleted from the empty area management table 55 (step 775). Next, the 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 the end is reported 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 shows a flow chart of 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 causes the command processing management unit 75 to send a command to each drive processor 17
The process is started by receiving an input / output command for -1 to 17-n (step 800). When the disk drive management unit 85 receives the input / output command from the command processing management unit 75, first, the disk drive management table 6
0 is searched, and the number of input / output instructions waiting for processing (area 402) of the disk device used 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). After that, it is confirmed whether or not the end report of the input / output processing is 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 completion report is not received, the status of each disk drive is monitored next, and the disk drive 16-
1 to 16 to n, drive processors 17-1 to 17-n
Step (820,
825). If no failure has occurred, step 81
Return to 5. Here, the disk drives 16-1 to 16-
n, and any one of the drive processors 17-1 to 17-n has a failure, an area for the number of input / output instructions waiting for processing (area 402) in the disk drive management table 60 for the failed disk drive. A flag indicating that the disk drive is unusable is set to prohibit the use of the corresponding disk drive (step 830). Then, the failure is reported to the multiple write failure management unit 80 (step 835). If an I / O processing end report is received in step 815, the processing status is checked, and the number of input / output waiting for processing of the disk drive for which input / output processing has ended is decreased 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 ends (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 the processing procedure of the normal multiple write failure 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 failure management unit 80 retains the multiplicity and history according to a parameter given from the CPU 1 for each input / output command or determined by initial setting. The number is determined (step 965). Next, the multiplicity and the history holding number are sent to the command processing management unit 75 (step 970),
Next, it waits for an input command (step 975).

【0065】本発明の同一データの多重書き込み制御方
法は、ディスクドライブに障害が発生したときのデータ
回復にも有効である。
The same data multiple write control method of 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, with reference to FIG. 11, description will be given of processing when a failure occurs in the disk drive during the input / output processing. When the disk drive management unit 85 detects that one of the disk drives has failed (step 825 in FIG. 9) and receives the report (step 9).
00), the multiple write failure management unit 80 suspends the processing of the input / output instruction and reports the failure occurrence to the CPU 1 (step 905). Next, in the data address management table 50, the disk drive number or the physical address of the disk drive in which the failure has occurred is deleted and disabled (step 910). Next, the empty area management table 55
In that area, the disk drive number or physical address that caused the failure is deleted and disabled (step 9).
15). Then, it is confirmed whether the generated failure can be recovered (step 920).

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

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

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

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

【0071】ステップ1025で処理待ち入出力命令数
がしきい以下である場合、データ回復処理を実行した後
(ステップ1030)、ステップ1040を実行する。
ステップ1040ではデータ回復の終了していない論理
アドレスが残っているかについて、確認する。また、残
っている場合はステップ1020に戻り障害回復を続行
する。障害を起こしたすべての論理アドレスについてデ
ータ回復処理が終了した場合、障害回復は終了し、CP
U1に報告する(ステップ1045)。
If the number of input / output instructions waiting to be processed is less than or equal to the threshold at step 1025, after performing the data recovery processing (step 1030), step 1040 is executed.
In step 1040, it is confirmed whether or not there remains a logical address for which data recovery has not ended. If there is any, the process returns to step 1020 to continue the failure recovery. When the data recovery processing is completed for all the failed logical addresses, the failure recovery ends and CP
Report 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. 1020 is to count the number of input / output instructions stored in the input / output instruction buffer. Further, in the failure recovery here, it is considered that the failure recovery is performed without stopping the processing of the input / output instruction, but the failure recovery can be performed after the processing of the input / output instruction is stopped.

【0073】次に図13のフローチャートを用いて、図
12のデータ回復処理(ステップ1030)の詳細につ
いて説明する。
Details of the data recovery process (step 1030) in FIG. 12 will be described below 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 command is issued from the command processing management unit 75 for each of the logical addresses set in step 1105 (step 1110). Next, as described with reference to FIG. 7, the output command is processed to read the same data as the data stored in the failed disk drive from another disk drive (step 1115). Next, referring to the disk drive management table 60, a free disk drive number whose number of waiting input / output instructions is less than a certain number is searched for (step 1120), and then the free area of each disk drive is searched from the free area management table 55. Only the amount of data read in step 1115 is searched (step 112).
5). Note that the steps 1120 and 1125 can perform parallel processing in addition to this order. Next, the disk drive having the data satisfying the conditions, which was found in step 1120, and having the empty area found in step 1125 is selected (step 1130). In the next step 1135, it is confirmed whether the selected disk drive can secure the multiplicity.

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

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

【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-mentioned embodiments, the magnetic disk drive is listed in the column as the storage unit, but an optical disk drive, a floppy disk drive, or a semiconductor memory can be used in addition to this. Further, 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, and 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 to 90-n, and the disk drives 16-1 to 16-n.
It is possible to disperse 16-n on the network and apply the operation described in the present invention to them.

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

【0079】また、本発明が適用された2次記憶装置
は、ディスクドライブの増設を容易に行なえる。
Further, the secondary storage device to which the present invention is applied can 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 to the secondary storage device 101 shown in FIG. 1 or 2. In this case, as shown by a broken line in FIG. 4, the disk drive number # n + 1, which is an empty area, is added to the empty area management table 55. On the other hand, as shown by the broken line in FIG. 5, the number of processing input / output instructions is zero, that is, the disk drive number # n + 1 of “000” in binary number 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 a sufficient free area and is in a process waiting state. Since the number of output commands is small, it is more likely to be selected as a multiple write disk drive than other disk drives. Therefore,
The data capacity of the added disk drive # n + 1 increases rapidly, and the data capacity becomes equal to that of other disk drives.

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

【0083】[0083]

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

【図面の簡単な説明】[Brief description of 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 showing an example of an empty area management table of the present invention.

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

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

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

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

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

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

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

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

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

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

1…CPU、2…制御部、3…外部インターフェイスパ
ス、4…インターフェイスポート、5…チャネルパスス
イッチ、6…チャネルポート、7…コマンドバッファ、
8…データバッファ、9…内部データパス、10…内部
コマンドパス、11…マイクロプロセッサ、12…マネ
ージメントテーブル、13…ドライブポート、14…ド
ライブパススイッチ、15…アビトレーションプロセッ
サ、16…ディスク装置、17…ドライブプロセッサ、
18…ドライブコマンドパス、19…ドライブデータパ
ス。
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 ... Abitration processor, 16 ... Disk device, 17 … Drive processor,
18 ... Drive command path, 19 ... Drive data path.

Claims (25)

【特許請求の範囲】[Claims] 【請求項1】複数の記憶ユニットに対して同一データの
多重書き込みを行う方法であって、上位装置から発行さ
れたデータ書き込み命令に応答して、第1の複数の記憶
ユニットのそれぞれについて、その記憶ユニットに対し
てすでに処理待ち状態にある、前記上位装置から先行し
て発行されたデータ読み出し命令およびデータの書き込
み命令を検出し、前記検出結果に基づいて、処理待ち状
態にある、先行するデータ読み出し命令又はデータ書き
込み命令を有しないかもしくは処理待ち状態にある、先
行するデータ読み出し命令又はデータ書き込み命令を有
し、かつそのデータ読み出し命令又は書き込み命令の処
理待ちの総時間がより少ない上記第1の複数より少ない
第2の複数の記憶ユニットを、前記選択された第2の複
数の記憶ユニットにそれぞれが前記データ書き込み命令
が要求するデータを書き込む段階を含むもの。
1. A method of performing multiple write of the same data to a plurality of storage units, wherein each of the first plurality of storage units is responsive to a data write command issued from a host device. Detects a data read command and a data write command issued in advance from the higher-level device, which is already in a processing wait state with respect to the storage unit, and based on the detection result, the preceding data in a processing wait state The above-mentioned first, which has no preceding read command or write data command or is in a processing waiting state, has a preceding data read command or data write command, and has a smaller total waiting time for processing the data read command or write command. Less than a plurality of second plurality of storage units, the selected second plurality of storage units Which each comprises writing data to request said data write command.
【請求項2】第1の複数の記憶ユニット内の該第1の複
数より少ない第2の複数の記憶ユニットに多重的に格納
されたデータの読み出しを行う方法であって、上位装置
からのデータ読み出し命令に応答して、前記第1の複数
の記憶ユニットの内、その命令が要求したデータが格納
されている、該第2の複数に等しい数の記憶ユニットの
各々について、その記憶ユニットに対してすでに処理待
ち状態にある、前記上位装置から先行して発行されたデ
ータ読み出し命令およびデータ書き込み命令を検出し、
前記検出結果に基づいて、該第2の所定数の記憶ユニッ
トの内、処理待ち状態にあるデータ書き込み命令又はデ
ータ読み出し命令を有しないかもしくはすでに処理待ち
状態にあるデータ書き込み命令又はデータ読み出し命令
を有しかつ、そのデータ読み出し又はデータ書き込み命
令の全処理待ち時間がより少ない該第2の複数より少な
い第3の複数の記憶ユニットを選択し、前記選択された
第3の複数の記憶ユニットの内、最初に該データ読み出
し命令を実行可能となった一つの記憶ユニットからその
命令が要求するデータを読み出し、前記上位装置へ出力
する段階を含むことを特徴とするデータ読み出し方法。
2. A method of reading data stored in multiple storage units in a second plurality of storage units, which is smaller than the first plurality of storage units, in a first storage unit, wherein the data is read from a host device. In response to a read command, for each of the first plurality of storage units, the number of storage units equal to the second plurality, in which the data requested by the command is stored, for that storage unit. The data read command and the data write command issued earlier from the higher-level device, which are already in the process waiting state,
Based on the detection result, among the second predetermined number of storage units, there is no data write command or data read command in the process waiting state, or a data write command or data read command in the process waiting state is issued. Selecting a third plurality of storage units that have less than the second plurality and have a lower total processing latency of the data read or data write command, and select the third plurality of storage units from among the selected third plurality of storage units. A method for reading data, comprising the step of first reading the data requested by the instruction from one storage unit that has become able to execute the data read instruction, and outputting the data to the host device.
【請求項3】複数の記憶ユニットに対して同一データの
多重書き込みを行う方法であって、第1の記憶ユニット
内のデータの各々について、その格納アドレスをデータ
アドレス管理テーブルに登録し、前記複数の記憶ユニッ
トの各々について、空き記憶領域アドレスおよび空き容
量を空き領域管理テーブルに登録し、前記複数の記憶ユ
ニットの各々について、その処理待ち状態にある読み出
し命令又は書き込み命令の総数を記憶ユニット管理テー
ブルに登録し、上位装置からの、データ書き込み命令に
応答して、前記空き領域管理テーブルおよび前記記憶ユ
ニット管理テーブルを参照し、前記書き込み命令が要求
するデータを格納可能な空き容量を有し、かつ、前記処
理待ちの読み出し命令又は命令の総数がより少ない該第
1の複数より少ない第2の複数の記憶ユニットを選択
し、前記データアドレス管理テーブルを参照して、前記
選択された第2の複数の記憶ユニットのそれぞれの空き
領域に前記書き込み命令が要求するデータを書き込み、
前記データを書き込み後、前記データアドレス管理テー
ブル、前記空き領域管理テーブルおよび前記記憶ユニッ
ト管理テーブルを更新する段階を含むもの。
3. A method of multiple-writing the same data to a plurality of storage units, wherein the 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, and for each of the plurality of storage units, the total number of read commands or write commands in the processing waiting state is stored in the storage unit management table. In response to a data write command from the host device, the free space management table and the storage unit management table are referenced, and there is a free space capable of storing the data requested by the write command, and A read command waiting for processing or a total number of commands less than the first plurality Select a second plurality of storage units, by referring to the data address management table, writing the data to the write command to each of the free space required by the second plurality of storage units said selected
A step of updating the data address management table, the free space management table, and the storage unit management table after writing the data.
【請求項4】請求項3において、第2の複数の記憶ユニ
ットを選択する前記段階は、前記書き込みデータを格納
可能な空き容量を有する記憶ユニットの数が第2の複数
に満たないならば、前記アドレス管理テーブルを参照し
て、前記複数の記憶ユニットにおける前記書き込みデー
タの履歴度の最も古いデータの領域を空き領域に変更
し、その領域を含む記憶ユニットを該第2の複数の記憶
ユニットの一つとして選択するステップをさらに有する
多重書き込み方法。
4. The method according to claim 3, wherein in the step of selecting the second plurality of storage units, if the number of storage units having a free space capable of storing the write data is less than the second plurality. By referring to the address management table, the area of the data having the oldest 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 stored in the second plurality of storage units. A multiple write method further comprising the step of selecting one.
【請求項5】請求項3において、さらに記憶ユニットを
増設し、該記憶ユニットの増設にしたがって、前記空き
領域管理テーブルおよび前記記憶ユニット管理テーブル
を更新する段階をさらに含む多重書き込み方法。
5. The multiple write method according to claim 3, further comprising the step of further 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.
【請求項6】第1の複数の記憶ユニット内の第1の複数
より少ない第2の複数の記憶ユニットに多重的に格納さ
れたデータの読み出しを行う方法であって、前記複数の
記憶ユニット内のデータの各々について、その格納アド
レス、履歴度および多重書き込み数をデータアドレス管
理テーブルに登録し、前記複数の記憶ユニットの各々に
ついて、その処理待ちの読み出し又は書き込み命令の総
数を記憶ユニット管理テーブルに登録し、上位装置から
のデータの読み出し命令に応答して、前記記憶ユニット
管理テーブルに参照し、前記処理待ち読み出しおよび書
き込み命令の総数のより少ない、前記第2の複数より少
ない第3の複数の記憶ユニットを選択し、前記選択され
た第3の複数の記憶ユニットにそれぞれ前記読み出し命
令を送り、前記選択された第3の複数記憶ユニットから
の最初の接続報告に応答して、その最初に接続報告した
記憶ユニット以外の記憶ユニットに対して送出した前記
読み出し命令をキャンセルし、前記最初に接続報告した
記憶ユニットから前記データを前記データアドレス管理
テーブルを参照して読み出し、前記上位装置へ出力する
段階を含むもの。
6. A method of reading data stored in multiple storage units in a second plurality of storage units, which is less than the first plurality of storage units, in a plurality of storage units, the method comprising: The storage address, history level and number of multiple writes for each of the data are registered in the data address management table, and the total number of read or write commands awaiting processing for each of the plurality of storage units is registered in the storage unit management table. In response to a data read command from a higher-level device, the storage unit management table is referred to, and a third plurality, which has a smaller total number of read and write commands waiting to be processed, is smaller than the second plurality. A storage unit is selected, the read command is sent to each of the selected third plurality of storage units, and the selection is performed. In response to the first connection report from the third plurality of storage units, the read command sent to a storage unit other than the first connection report storage unit is canceled, and the first connection report storage unit A step of reading the data from the unit with reference to the data address management table and outputting the data to the host device.
【請求項7】第1の記憶ユニット内の、前記第1の複数
の記憶ユニットの数より少ない第2の複数の記憶ユニッ
トに同一データが多重的に格納されている2次記憶装置
におけるデータ回復方法であって、前記第1の複数の記
憶ユニット内のデータの各々について、その格納アドレ
ス、データアドレス管理テーブルに登録し、前記複数の
記憶ユニットの各々について、その空き記憶領域アドレ
スおよび空き容量を空き領域管理テーブルに登録し、前
記複数の記憶ユニットの各々について、その処理待ち読
み出しおよび書き込み命令の総数を記憶ユニット管理テ
ーブルに登録し、ある記憶ユニットに障害が発生したと
きに、前記記憶ユニット管理テーブルを更新して、前記
障害が発生した記憶ユニットを使用禁止にし、前記デー
タアドレス管理テーブルを参照して該障害が発生した記
憶ユニット内のデータ(回復すべきデータ)の回復に用
いるそのデータと同じ内容からなり、正常な記憶ユニッ
トに保持されたデータを決定し、前記空き領域管理テー
ブルおよび前記記憶ユニット管理テーブルを参照し、前
記回復すべきデータを格納可能な空き容量を有し、か
つ、前記処理待ちの読み出し命令又は書き込み命令の総
数の最も少ない記憶ユニットを選択し、前記データアド
レス管理テーブルを参照して、前記選択された記憶ユニ
ットに前記回復に用いる正常なデータを書き込む段階を
含むもの。
7. Data recovery in a secondary storage device in which the same data is multiply stored in a second plurality of storage units, which is smaller in number than the first plurality of storage units, in the first storage unit. A method of registering a storage address and a data address management table for each of the data in the first plurality of storage units, and determining the free storage area address and the free capacity of each of the plurality of storage units. The free space management table is registered, the total number of read-wait and write commands for each of the plurality of storage units is registered in the storage unit management table, and the storage unit management is performed when a failure occurs in a storage unit. The table is updated to disable the failed storage unit, and the data address management Data having the same contents as the data used for recovery of the data (data to be recovered) in the storage unit in which the failure has occurred by referring to the table, and determining the data held in the normal storage unit, and managing the free space. Referring to the table and the storage unit management table, a storage unit having a free space capable of storing the data to be recovered and having the smallest total number of read commands or write commands waiting for the processing is selected, and the data is stored. A step of writing normal data used for the recovery in the selected storage unit with reference to an address management table.
【請求項8】請求項7において、前記回復すべきデータ
を決定する段階で、履歴データを用いてデータ回復を行
うことを決定し、前記データアドレス管理テーブルにお
けるデータの履歴度を1つ下げることを特徴とするデー
タ回復方法。
8. The method according to claim 7, wherein in the step of deciding the data to be restored, it is decided to perform data restoration using history data, and the history degree of data in the data address management table is lowered by one. Data recovery method characterized by.
【請求項9】請求項1において、前記記憶ユニットは、
ディスクドライブである多重書き込み方法。
9. The storage unit according to claim 1, wherein:
A multiple write method that is a disk drive.
【請求項10】請求項2において、前記記憶ユニット
は、ディスクドライブであるデータ読み出し方法。
10. The data reading method according to claim 2, wherein the storage unit is a disk drive.
【請求項11】請求項1において、前記選択は、前記各
記憶ユニットにおいて処理待ち状態にある読み出し命令
又は書き込み命令の総数に応じて該第2の複数の記憶ユ
ニットを選択するステップを有する多重書き込み方法。
11. The multiple write according to claim 1, wherein the selecting includes a step of selecting the second plurality of storage units according to the total number of read commands or write commands in the processing waiting state in each of the storage units. Method.
【請求項12】請求項2において、前記選択は、前記各
記憶ユニットにおいて処理待ち状態にある読み出し命令
又は書き込み命令の総数に応じて該第2の複数の記憶ユ
ニットを選択するステップを有する多重書き込み方法。
12. The multiple write according to claim 2, wherein the selecting includes a step of selecting the second plurality of storage units according to the total number of read commands or write commands in the processing waiting state in each of the storage units. Method.
【請求項13】請求項1において、前記上位装置からの
前記書き込み命令に応答して、前記複数の記憶ユニット
の各々について、空き記憶容量を検索する段階をさらに
含み、前記第2の複数の記憶ユニットを選択する段階
は、該検索結果に基づいて前記上位装置から出力される
前記データを格納可能な空き容量を有する記憶ユニット
から該第2の複数の記憶ユニットを選択するステップか
らなる多重書き込み方法。
13. The storage device according to claim 1, further comprising the step of searching for a free storage capacity for each of the plurality of storage units in response to the write command from the host device. The step of selecting a unit includes a step of selecting the second plurality of storage units from the storage units having a free capacity capable of storing the data output from the higher-level device based on the search result. ..
【請求項14】複数の記憶ユニットに対して同一データ
の多重書き込みを行う制御装置であって、データの書き
込み命令を上位装置から受け取る手段と、前記受け取り
手段における前記書き込み命令の入力に応答して、前記
複数の記憶ユニットの各々について、処理待ち状態の前
記上位装置からの読み出しおよび書き込み命令を検出す
る手段と、前記検出結果に基づいて、前記上位装置から
の読み出しおよび書き込み命令の処理待ち時間の少ない
記憶ユニットを、前記複数の記憶ユニットの数より少な
い所定数選択する手段と、前記選択された記憶ユニット
にそれぞれ前記上位装置から出力された前記データを書
き込む手段とを含むことを特徴とする同一データ多重書
き込み方法。
14. A control device for performing multiple writing of the same data to a plurality of storage units, said means for receiving a data write command from a higher-level device, and a device for responding to the input of said write command in said receiving means. A means for detecting a read / write command from the host device in a processing waiting state for each of the plurality of storage units, and a processing wait time for the read / write command from the host device based on the detection result. It is characterized in that it includes means for selecting a small number of storage units by a predetermined number smaller than the number of the plurality of storage units, and means for writing the data output from the higher-level device to the selected storage units, respectively. Data multiple writing method.
【請求項15】複数の記憶ユニット内の第1の所定数の
記憶ユニットに多重的に格納されたデータの読み出しを
行う制御装置であって、データの読み出し命令を上位装
置から受け取る手段と、前記読み出し命令に応答して、
前記複数の記憶ユニットの各々について、処理待ち状態
の前記上位装置からの読み出しおよび書き込み命令を検
出する手段と、前記検出結果に基づいて、前記上位装置
からの読み出しおよび書き込み命令の処理待ち時間の少
ない記憶ユニットを前記第1の所定数より少ない第2の
所定数選択する手段と、前記選択された記憶ユニットに
それぞれ前記読み出し命令を送る手段と、前記選択され
た記憶ユニットからの最初の接続報告に応答して、その
最初に接続報告した記憶ユニット以外の記憶ユニットに
対して前記読み出し命令をキャンセルする手段と、前記
最初に接続報告した記憶ユニットから前記データを読み
出し、前記上位装置へ出力する手段とを含むことを特徴
とする制御装置。
15. A control device for reading out data stored in multiplex in a first predetermined number of storage units in a plurality of storage units, said control device comprising: means for receiving a data read command from a host device; In response to the read command,
For each of the plurality of storage units, means for detecting a read / write command from the host device in a processing wait state, and a low processing wait time for a read / write command from the host device based on the detection result. Means for selecting a second predetermined number of storage units less than the first predetermined number, means for sending the read command to each of the selected storage units, and a first connection report from the selected storage unit. In response, means for canceling the read command to a storage unit other than the storage unit that reported the connection first, and means for reading the data from the storage unit that reported the connection first and outputting the data to the host device. A control device comprising:
【請求項16】複数の記憶ユニットに対して同一データ
の多重書き込みを行う制御装置であって、前記複数の記
憶ユニット内のデータの各々について、その格納アドレ
ス、履歴度および多重書き込み数を管理するデータアド
レス管理テーブルと、前記複数の記憶ユニットの各々に
ついて、その空き記憶領域アドレスおよび空き容量を管
理する空き領域管理テーブルと、前記複数の記憶ユニッ
トの各々について、その処理待ち読み出しおよび書き込
み命令数を管理する記憶ユニット管理テーブルと、デー
タの書き込み命令を上位装置から受け取る手段と、前記
書き込み命令に応答して、前記空き領域管理テーブルお
よび前記記憶ユニット管理テーブルを参照し、前記上位
装置から出力される前記データを格納可能な空き容量を
有し、かつ、前記処理待ち読み出しおよび書き込み命令
数の少ない記憶ユニットを所定数選択する手段と、前記
データアドレス管理テーブルを参照して、前記選択され
た記憶ユニットの空き領域にそれぞれ前記上位装置から
出力された前記データを書き込む手段と、前記データを
書き込み後、前記データアドレス管理テーブル、前記空
き領域管理テーブルおよび前記記憶ユニット管理テーブ
ルを更新する手段とを含むことを特徴とする制御装置。
16. A control device for multiple-writing the same data to a plurality of storage units, managing the storage address, history degree, and the number of multiple writes for each of the data in the plurality of storage units. A data address management table, a free area management table that manages the free storage area address and free capacity of each of the plurality of storage units, and the number of read and write commands waiting for processing of each of the plurality of storage units. A storage unit management table to be managed, a means for receiving a data write command from a host device, and in response to the write command, the free space management table and the storage unit management table are referred to and output from the host device. It has free space to store the data, and Means for selecting a predetermined number of storage units having a small number of waiting read and write commands, and referring to the data address management table, store the data output from the host device in the empty areas of the selected storage units. A control device comprising: a writing unit; 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.
【請求項17】請求項16に記載の制御装置において、
記憶ユニットを所定数選択する前記手段は、前記上位装
置から出力される前記データを格納可能な空き容量を有
する記憶ユニットが所定数選択できないならば、前記ア
ドレス管理テーブルを参照して、前記複数の記憶ユニッ
トにおける前記データの履歴度の最も古いデータの領域
を空き領域に変更することを特徴とする制御装置。
17. The control device according to claim 16,
The means for selecting a predetermined number of storage units refers to the address management table and selects a plurality of storage units if a predetermined number of storage units having a free capacity capable of storing the data output from the host device cannot be selected. A control device characterized in that an area of data having the oldest history degree of the data in the storage unit is changed to a free area.
【請求項18】複数の記憶ユニット内の第1の所定数の
記憶ユニットに多重的に格納されたデータの読み出しを
行う制御装置であって、前記複数の記憶ユニット内のデ
ータの各々について、その格納アドレス、履歴度および
多重書き込み数を管理するデータアドレス管理テーブル
と、前記複数の記憶ユニットの各々について、その処理
待ち読み出しおよび書き込み命令数を管理する記憶ユニ
ット管理テーブルと、データの読み出し命令を上位装置
から受け取る手段と、前記読み出し命令に応答して、前
記記憶ユニット管理テーブルを参照し、前記処理待ち読
み出しおよび書き込み命令数の少ない記憶ユニットを前
記第1の所定数より少ない第2の所定数選択する手段
と、前記選択された記憶ユニットにそれぞれ前記読み出
し命令を送る手段と、前記選択された記憶ユニットから
の最初の接続報告に応答して、その最初に接続報告した
記憶ユニット以外の記憶ユニットに対して前記読み出し
命令をキャンセルする手段と、前記最初に接続報告した
記憶ユニットから前記データを前記データアドレス管理
テーブルを参照して読み出し、前記上位装置へ出力する
手段とを含むことを特徴とする制御装置。
18. A control device for reading out data stored in multiplex in a first predetermined number of storage units in a plurality of storage units, the control device for each of the data in the plurality of storage units. A data address management table that manages a storage address, a history level, and the number of multiple writes, a storage unit management table that manages the number of read-waiting and write-commands for each of the plurality of storage units, and a data read command Means for receiving from the device and, in response to the read command, refer to the storage unit management table and select a second predetermined number of storage units with a small number of read and write commands waiting for processing that is smaller than the first predetermined number. And means for sending the read command to the selected storage unit, respectively. Responsive to a first connection report from the selected storage unit, means for canceling the read command to a storage unit other than the first connection report storage unit, and from the first connection report storage unit And a unit for reading the data with reference to the data address management table and outputting the data to the higher-level device.
【請求項19】複数の記憶ユニット内の所定数の記憶ユ
ニットに同一データが多重的に格納されている2次記憶
装置における制御装置であって、前記複数の記憶ユニッ
ト内のデータの各々について、その格納アドレス、履歴
度および多重書き込み数を管理するデータアドレス管理
テーブルと、前記複数の記憶ユニットの各々について、
その空き記憶領域アドレスおよび空き容量を管理する空
き領域管理テーブルと、前記複数の記憶ユニットの各々
について、その処理待ち読み出しおよび書き込み命令数
を管理する記憶ユニット管理テーブルと、ある記憶ユニ
ットに障害の発生を検出する手段と、前記記憶ユニット
管理テーブルを更新して、前記障害記憶ユニットを使用
禁止にする手段と、前記障害記憶ユニットの発生に応じ
て、前記データアドレス管理テーブルを参照して回復す
べきデータを決定する手段と、前記障害記憶ユニットの
発生に応答して、前記空き領域管理テーブルおよび前記
記憶ユニット管理テーブルを参照し、前記回復すべきデ
ータを格納可能な空き容量を有し、かつ、前記処理待ち
読み出しおよび書き込み命令数の少ない記憶ユニットを
所定数選択する手段と、前記データアドレス管理テーブ
ルを参照して、前記選択された記憶ユニットにそれぞれ
前記回復すべきデータを書き込む手段と、前記回復すべ
きデータを書き込み後、前記データアドレス管理テーブ
ル、前記空き領域管理テーブルおよび前記記憶ユニット
管理テーブルを更新する手段とを含むことを特徴とする
制御装置。
19. A control device in a secondary storage device in which the same data is multiply 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: With respect to each of the plurality of storage units, a data address management table that manages the storage address, the degree of history, and the number of multiple writes,
A free area management table that manages the free storage area address and free capacity, a storage unit management table that manages the number of read and write commands waiting to be processed for each of the plurality of storage units, and a failure occurs in a certain storage unit. To detect the failure, update the storage unit management table to disable the failure storage unit, and, in response to the occurrence of the failure storage unit, refer to the data address management table for recovery. A means for determining data, and having a free capacity capable of 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, and A hand to select a predetermined number of storage units with a small number of read and write commands waiting for processing. And a unit for writing the data to be restored to the selected storage unit by referring to the data address management table, and the data address management table and the free space management table after writing the data to be recovered. And a means for updating the storage unit management table.
【請求項20】請求項19に記載の制御装置において、
前記回復すべきデータを決定する手段は、履歴データを
用いてデータ回復を行うことを決定し、前記データアド
レス管理テーブルにおけるデータの履歴度を1つ下げる
ことを特徴とする制御装置。
20. The control device according to claim 19, wherein
The control device, wherein the means for deciding the data to be restored decides to perform the data restoration by using the history data, and lowers the history degree of the data in the data address management table by one.
【請求項21】請求項14に記載の制御装置において、
前記記憶ユニットは、ディスクドライブであることを特
徴とする制御装置。
21. The control device according to claim 14, wherein:
The control device, wherein the storage unit is a disk drive.
【請求項22】請求項15に記載の制御装置において、
前記記憶ユニットは、ディスクドライブであることを特
徴とする制御装置。
22. The control device according to claim 15, wherein
The control device, wherein the storage unit is a disk drive.
【請求項23】請求項14に記載の制御装置において、
前記処理待ち時間は、前記上位装置からの読み出しおよ
び書き込み命令の数に応じて決定されることを特徴とす
る制御装置。
23. The control device according to claim 14, wherein:
The control device is characterized in that the processing waiting time is determined according to the number of read and write commands from the host device.
【請求項24】請求項15に記載の制御装置において、
前記処理待ち時間は、前記上位装置からの読み出しおよ
び書き込み命令の数に応じて決定されることを特徴とす
る制御装置。
24. The control device according to claim 15, wherein
The control device is characterized in that the processing waiting time is determined according to the number of read and write commands from the host device.
【請求項25】請求項14に記載の制御装置において、
さらに、前記上位装置からの前記書き込み命令に応答し
て、前記複数の記憶ユニットの各々について、空き記憶
容量を検索する手段を含み、前記記憶ユニットを所定数
選択する手段は、前記上位装置から出力される前記デー
タを格納可能な空き容量を有する記憶ユニットから所定
数選択することを特徴とする制御装置。
25. The control device according to claim 14, wherein:
Further, in response to the write command from the host device, the device includes means for searching a free storage capacity for each of the plurality of storage units, and means for selecting a predetermined number of storage units is output from the host device. The control device is characterized in that a predetermined number is selected from a storage unit having a free capacity capable of storing the data.
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
JP3-305928 1991-11-21
JP30592891 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 true JPH05233161A (en) 1993-09-10
JP3254766B2 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)

Cited By (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

Cited By (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
JP3254766B2 (en) 2002-02-12

Similar Documents

Publication Publication Date Title
US7065620B2 (en) Systems and methods for backing up data
US6772306B2 (en) Data saving method and external storage device
US9128621B2 (en) Storage system control method
US7558981B2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
US7529965B2 (en) Program, storage control method, and storage system
US7269690B2 (en) Disk array device and data processing 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
JP3136036B2 (en) Control method of disk controller
US7434012B1 (en) Techniques for media scrubbing
JP4041473B2 (en) Autonomous power loss recovery for multi-cluster storage subsystems
US5542064A (en) Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor
JP2002259063A (en) Storage system capable of backup processing
US20090216976A1 (en) Computer system allowing any computer to copy any storage area within a storage system
US7627610B2 (en) Computer system and method of reproducing data for the system
US7984260B2 (en) Storage system provided with a plurality of controller modules
US6957301B2 (en) System and method for detecting data integrity problems on a data storage device
US10001826B2 (en) Power management mechanism for data storage environment
JP2000132413A (en) Error retry method, error retry system and its recording medium
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
JP3614328B2 (en) Mirror disk controller
JPH11154058A (en) Disk array device and data maintaining method
JPH11237959A (en) Multiple writing storage device

Legal Events

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