JPH09160729A - Disk array device - Google Patents

Disk array device

Info

Publication number
JPH09160729A
JPH09160729A JP7323319A JP32331995A JPH09160729A JP H09160729 A JPH09160729 A JP H09160729A JP 7323319 A JP7323319 A JP 7323319A JP 32331995 A JP32331995 A JP 32331995A JP H09160729 A JPH09160729 A JP H09160729A
Authority
JP
Japan
Prior art keywords
instruction
disk
parity
scheduling
input
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
JP7323319A
Other languages
Japanese (ja)
Other versions
JP3648311B2 (en
Inventor
Seiji Murata
誠治 村田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32331995A priority Critical patent/JP3648311B2/en
Publication of JPH09160729A publication Critical patent/JPH09160729A/en
Application granted granted Critical
Publication of JP3648311B2 publication Critical patent/JP3648311B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To shorten the seek time of the head of each disk drive and speed up the data transfer process by rearranging plural input/output instructions which are received from outside so that the frequency of track movement of the head of each disk drive becomes smaller. SOLUTION: The I/O instructions received by an array controller 1 from a host computer are stored in a storage device 2. A scheduling device 3A takes I/O instructions properly out of the storage device 2 and changes the execution order of the I/O instructions (scheduling) so that the total seek time becomes shorter. The scheduled I/O instruction sequence is stored in the storage device 2 and the array controller 1 takes out the scheduled I/O instructions from the storage device 2 and executes them in order. Here, scheduling is performed even on each disk drive 10 in addition to load decentralization to the respective disk drives 10. Consequently, the seek time of each disk drive 10 is shortened and the performance is improved.

Description

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

【0001】(目次) 発明の属する技術分野 従来の技術(図15〜図17) 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 (a)第1の発明の実施形態の説明(図1) (b)第2の発明の実施形態の説明(図2) (c)第3の発明の実施形態の説明(図3) (d)第4の発明の実施形態の説明(図4) (e)静的スケジューリングを行なう場合の具体的な実
施形態の説明(図5〜図11) (f)動的スケジューリングを行なう場合の具体的な実
施形態の説明(図12〜図14) 発明の効果
(Technical Field of the Invention) Technical Field of the Invention Conventional Technology (FIGS. 15 to 17) Problems to be Solved by the Invention Means for Solving the Problems Embodiments of the Invention (a) Embodiments of the First Invention (FIG. 1) (b) Description of an embodiment of the second invention (FIG. 2) (c) Description of an embodiment of the third invention (FIG. 3) (d) Description of an embodiment of the fourth invention (FIG. 4) (e) Description of specific embodiment when performing static scheduling (FIGS. 5 to 11) (f) Description of specific embodiment when performing dynamic scheduling (FIGS. 12 to 12) 14) Effect of the invention

【0002】[0002]

【発明の属する技術分野】本発明は、複数のディスク装
置を並列的にアクセスしてデータ入出力処理を行なうよ
うにしたディスクアレイ装置に関し、特に、RAID5
型のディスクアレイ装置における入出力命令のスケジュ
ーリング技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device for accessing a plurality of disk devices in parallel to perform data input / output processing, and more particularly to RAID 5
I / O instruction scheduling technology for a disk type disk array device.

【0003】[0003]

【従来の技術】近年、CPUの高性能化に伴い、メモリ
・サブシステムの性能が相対的に低下してきており、処
理速度の向上が要求されている。ディスクアレイ装置
は、安価で小型のディスク装置を複数台有し、これらの
ディスク装置に分散してデータを格納し、並列的にアク
セス・駆動するものである。
2. Description of the Related Art In recent years, as the performance of CPUs has increased, the performance of memory subsystems has fallen relatively, and there is a demand for improved processing speed. The disk array device has a plurality of inexpensive and small-sized disk devices, stores data in a distributed manner among these disk devices, and accesses and drives them in parallel.

【0004】ディスクアレイ装置では、複数のディスク
装置に並列的にデータ転送を行なうことで、1台のディ
スク装置のみの場合に比べて、ディスク装置の台数倍の
高速データ転送が可能になる。また、データに加え、パ
リティデータなどの冗長な情報を付加して記録すること
により、ディスク装置の故障等を原因とするデータエラ
ーの検出および訂正が可能になり、ディスク装置の内容
を二重化して記録した場合と同程度の高信頼性を、二重
化する場合よりも低価格で実現することができる。
In the disk array device, by performing data transfer to a plurality of disk devices in parallel, it is possible to perform high-speed data transfer that is twice as many as the number of disk devices as compared with the case where only one disk device is used. In addition to data, by recording redundant information such as parity data, it is possible to detect and correct data errors caused by disk device failures, etc., and duplicate the contents of the disk device. It is possible to achieve the same high reliability as in the case of recording at a lower cost than in the case of duplication.

【0005】このようなディスクアレイ装置は、記憶方
式の違いにより5つのタイプに分類されているが、いず
れのタイプにおいても、ディスクアレイ装置では、単体
ディスク装置とは異なり、性能を引き出すための機構
(アレイコントローラ)が必要となる。ここで、前記5
つのタイプは、RAID(Redundant Arrays of Inexpe
nsiveDisks;廉価ディスク重複配列)1〜5と略称され
る。
Such disk array devices are classified into five types depending on the difference in storage system. In any of these types, the disk array device is different from a single disk device in that it has a mechanism for extracting performance. (Array controller) is required. Where the 5
The two types are RAID (Redundant Arrays of Inexpe
nsiveDisks; cheap disk duplication array) 1 to 5 are abbreviated.

【0006】RAID1型のディスクアレイ装置では、
ディスク装置に格納されるデータのコピー(鏡像)を格
納するミラーディスク装置がそなえられており、ディス
ク装置の利用効率は低いが冗長性があり、簡単な制御で
実現できるため、広く普及している。RAID2型のデ
ィスクアレイ装置では、データがビットやバイト単位で
ストライピング(分割)され、それぞれのディスク装置
に並列に読み書きが行なわれる。ストライピングしたデ
ータは、全てのディスク装置で物理的に同じセクタに記
録される。エラー訂正コードとしては、データから生成
したハミングコードを使用する。データ用ディスク装置
の他にハミングコードを記録するためのディスク装置を
もち、ハミングコードから故障したディスク装置を特定
して、データを復元している。このようにハミングコー
ドによる冗長性をそなえることで、ディスク装置が故障
しても正しいデータを確保できるが、ディスク装置の利
用効率が悪いために実用化されていない。
In the RAID 1 type disk array device,
It is provided with a mirror disk device that stores a copy (mirror image) of the data stored in the disk device. It is widely used because the disk device has low utilization efficiency but has redundancy and can be realized with simple control. . In the RAID 2 type disk array device, data is striped (divided) in units of bits or bytes, and reading and writing are performed in parallel in each disk device. The striped data is physically recorded in the same sector in all disk devices. A Hamming code generated from data is used as the error correction code. In addition to the data disk device, a disk device for recording the humming code is provided, and the failed disk device is specified from the humming code to restore the data. By providing the redundancy by the Hamming code in this way, correct data can be secured even if the disk device fails, but it has not been put into practical use because the utilization efficiency of the disk device is poor.

【0007】RAID3型のディスクアレイ装置100
Aは、例えば図15に示すように、アレイコントローラ
110と4つの磁気ディスク装置111〜114とから
構成されている。アレイコントローラ110は、ホスト
コンピュータ120からの入出力命令(I/O命令)に
応じて、各ディスク装置111〜114に対する読出/
書込アクセスを制御するものである。そして、RAID
3型のディスクアレイ装置100Aでは、例えば、デー
タa,b,cをビットまたはセクタ単位にデータa1〜
a3,b1〜b3,c1〜c3に分割し、さらに、デー
タa1〜a3からパリティP1を算出し、データb1〜
b3からパリティP2を算出し、データc1〜c3から
パリティP3を算出し、これらのデータa1〜a3,b
1〜b3,c1〜c3およびパリティP1〜P3が、図
15に示すように、アレイコントローラ110によりデ
ィスク装置111〜114に対して同時並列的にアクセ
スして書き込まれている。
RAID 3 type disk array device 100
As shown in FIG. 15, for example, A is composed of an array controller 110 and four magnetic disk devices 111 to 114. The array controller 110 reads / writes to / from each of the disk devices 111 to 114 according to an input / output command (I / O command) from the host computer 120.
It controls write access. And RAID
In the 3-type disk array device 100A, for example, the data a, b, and c are data a1 to bit or sector units.
a3, b1 to b3, c1 to c3, the parity P1 is calculated from the data a1 to a3, and the data b1 to
Parity P2 is calculated from b3, parity P3 is calculated from data c1 to c3, and these data a1 to a3 and b are calculated.
1 to b3, c1 to c3, and parities P1 to P3 are written by accessing the disk devices 111 to 114 simultaneously and in parallel by the array controller 110, as shown in FIG.

【0008】このようなRAID3では、データの冗長
性はパリティにより保持される。また、分割したデータ
の並列処理によりデータの書込時間を短縮できる。しか
し、1回の書込または読出のアクセスで、全てのディス
ク装置111〜114の並列的なシーク動作を必要とす
るため、大量のデータを連続して取り扱う場合には有効
であるが、少量のデータをランダムにアクセスするトラ
ンザクション処理のような場合には、データ転送の高速
性を生かせず、効率が低下してしまう。
In such a RAID3, data redundancy is maintained by parity. Further, the data writing time can be shortened by the parallel processing of the divided data. However, since a single seek or write access requires parallel seek operations of all the disk devices 111 to 114, it is effective when continuously handling a large amount of data, but a small amount of access is required. In the case of transaction processing in which data is randomly accessed, the high speed of data transfer cannot be utilized and efficiency decreases.

【0009】RAID4型のディスクアレイ装置100
Bは、図16に示すように、ハードウエア構成自体は図
15に示したものと同様に構成されているが、このRA
ID4型のディスクアレイ装置100Bでは、1つのデ
ータをセクタ単位に分割して同じディスク装置111〜
114に書き込んでいる。例えば、ディスク装置111
にはデータaがセクタデータa1〜a4に分割されて書
き込まれている。パリティは固定的に決めたディスク装
置114に格納されている。ここでは、データa1,b
1,c1によりパリティP1が算出され、データa2,
b2,c2によりパリティP2が算出され、データa
3,b3,c3によりパリティP3が算出され、データ
a4,b4,c4によりパリティP4が算出されてい
る。
RAID 4 type disk array device 100
B has the same hardware configuration as that shown in FIG. 15, as shown in FIG.
In the ID4 type disk array device 100B, one data is divided into sector units and the same disk device 111 to
I am writing to 114. For example, the disk device 111
The data a is divided into sector data a1 to a4 and written therein. The parity is stored in the fixed disk device 114. Here, the data a1, b
1 and c1, the parity P1 is calculated, and the data a2
Parity P2 is calculated from b2 and c2, and data a
Parity P3 is calculated from 3, b3 and c3, and parity P4 is calculated from data a4, b4 and c4.

【0010】このようなRAID4型のディスクアレイ
装置100Bにおいて、データ読出は、ディスク装置1
11〜113に対して並列的に行なわれる。例えばデー
タaの読出は、ディスク装置111のセクタ0〜3をア
クセスし、セクタデータa1〜a4を順次読み出して合
成することにより行なわれる。一方、データ書込は、書
込前のデータとパリティとを読み出してから新パリティ
を算出して書き込むため、1度の書込について、合計4
回のアクセスが必要になる。例えば、ディスク装置11
1のセクタデータa1を更新(書き換え)する場合に
は、更新場所の元データ(a1)OLD および対応するデ
ィスク装置114の元パリティ(P1)OL D を読み出
し、新データ(a1)NEW と整合性のとれた新パリティ
(P1)NEWを求めて書き込む動作を、更新のためのデ
ータ書込以外にも必要とする。
In such a RAID4 type disk array device 100B, data reading is performed by the disk device 1
11 to 113 are performed in parallel. For example, the reading of the data a is performed by accessing the sectors 0 to 3 of the disk device 111 and sequentially reading and combining the sector data a1 to a4. On the other hand, in the data writing, since the new parity is calculated and written after reading the data and the parity before the writing, a total of 4 is written in one writing.
You need to access it twice. For example, the disk device 11
When the sector data a1 of 1 is updated (rewritten), the original data (a1) OLD of the update location and the original parity (P1) OL D of the corresponding disk device 114 are read out and are consistent with the new data (a1) NEW . The operation of writing for the obtained new parity (P1) NEW is required besides the data writing for updating.

【0011】また、書込の際に必ずパリティ用のディス
ク装置114へのアクセスが起きるため、複数のディス
ク装置の書込を同時に実行することができない。例え
ば、ディスク装置111のデータa1の書込とディスク
装置112のデータb2の書込とを同時に行なおうとし
ても、同じディスク装置114からパリティからパリテ
ィP1,P2を読み出して算出後に書き込む必要がある
ため、同時に書込を実行することができない。このよう
にRAID4は定義されているが、メリットが少ないた
め、現在、実用化の動きは少ない。
Further, since access to the disk device 114 for parity always occurs at the time of writing, it is not possible to execute writing to a plurality of disk devices at the same time. For example, even if the writing of the data a1 of the disk device 111 and the writing of the data b2 of the disk device 112 are simultaneously performed, it is necessary to read the parities P1 and P2 from the parity from the same disk device 114 and write them after calculation. Therefore, writing cannot be executed at the same time. Although RAID4 is defined in this way, it has few merits, and therefore, there are currently few moves to put it into practical use.

【0012】RAID5型のディスクアレイ装置100
Cは、図17に示すように、ハードウエア構成自体は図
15,図16に示したものと同様に構成されているが、
このRAID5型のディスクアレイ装置100Cでは、
パリティ用のディスク装置をRAID4のように固定し
ないことで、各ディスク装置111〜113に対する並
列の読み書きアクセスを可能にしている。即ち、図17
に示すように、セクタ毎にパリティを格納されるディス
ク装置111〜114が異なっている。ここでも、図1
6のRAID4と同様、データa1,b1,c1により
パリティP1が算出され、データa2,b2,c2によ
りパリティP2が算出され、データa3,b3,c3に
よりパリティP3が算出され、データa4,b4,c4
によりパリティP4が算出されている。
RAID 5 type disk array device 100
As for C, as shown in FIG. 17, the hardware configuration itself is the same as that shown in FIGS. 15 and 16, but
In this RAID5 type disk array device 100C,
By not fixing the disk device for parity like RAID4, parallel read / write access to each disk device 111-113 is enabled. That is, FIG.
As shown in, the disk devices 111 to 114 for storing the parity are different for each sector. Again, Figure 1
6, the parity P1 is calculated from the data a1, b1 and c1, the parity P2 is calculated from the data a2, b2 and c2, the parity P3 is calculated from the data a3, b3 and c3, and the data a4, b4. c4
The parity P4 is calculated by.

【0013】このようなRAID5型のディスクアレイ
装置100Cにおいて、並列の読み書きは、例えば、デ
ィスク装置111のセクタ0のデータa1とディスク装
置112のセクタ1のデータb2とは、パリティP1,
P2が異なるディスク装置114,113に置かれてい
るため重複せず、同時に読み書きを行なうことができ
る。なお、書込時に合計4回のアクセスを必要とするオ
ーバヘッドはRAID4の場合と同じである。
In such a RAID5 type disk array device 100C, for parallel reading and writing, for example, the data a1 of the sector 0 of the disk device 111 and the data b2 of the sector 1 of the disk device 112 are parity P1.
Since P2 is placed in different disk devices 114 and 113, reading and writing can be performed simultaneously without overlapping. The overhead that requires a total of four accesses at the time of writing is the same as in the case of RAID4.

【0014】このように、RAID5は、非同期に複数
のディスク装置111〜114にアクセスしてリード/
ライトを実行できるため、少量データをランダムにアク
セスするトランザクション処理に向いている。ここで、
RAID4およびRAID5のデータ書込におけるパリ
ティデータの生成を説明すると、次のようになる。
As described above, RAID 5 asynchronously accesses a plurality of disk devices 111 to 114 to read / write.
Since write can be executed, it is suitable for transaction processing in which a small amount of data is randomly accessed. here,
Generation of parity data in RAID 4 and RAID 5 data writing will be described as follows.

【0015】まず、冗長情報を格納したディスクアレイ
装置では、次の(1)式により複数のディスク装置にお
ける同一記憶位置のデータの排他的論理和をとってパリ
ティとし、パリティ用のディスク装置に保持している。 データa(+)データb(+)データc(+)…=パリティP (1) ただし、上式中、(+)は排他的論理和記号を示すもの
とする。
First, in the disk array device storing the redundancy information, the exclusive OR of the data at the same storage position in a plurality of disk devices is taken as parity by the following equation (1) and is held in the disk device for parity. doing. Data a (+) Data b (+) Data c (+) ... = Parity P (1) However, in the above equation, (+) represents an exclusive OR symbol.

【0016】データとパリティの格納場所は、RAID
4では図16に示したように特定のディスク装置114
に固定されている。これに対し、RAID5では、図1
7に示したようにパリティをディスク装置111〜11
4に分散させて、パリティ読み書き動作による特定のデ
ィスク装置へのアクセスの集中を解消している。これら
のRAID4およびRAID5のデータ読み出し時は、
ディスク装置111〜114内のデータは書き換えられ
ないので、パリティの整合性は保持されるが、書込時に
はパリティもデータに合わせて変更する必要がある。例
えばディスク装置111内の1つの元データ(a1)
OLD を新データ(a1)NEW に書き換えた時、パリティ
P1の整合性をとるには、次の(2)式のような計算を
行ない、パリティを更新することでディスク装置のデー
タ全体のパリティの整合性を保つことができる。
Storage location of data and parity is RAID
In the case of No. 4, as shown in FIG.
It is fixed to. On the other hand, in RAID5, as shown in FIG.
As shown in FIG.
4 to eliminate the concentration of access to a specific disk device due to the parity read / write operation. When reading these RAID4 and RAID5 data,
Since the data in the disk devices 111 to 114 is not rewritten, the consistency of the parity is maintained, but the parity also needs to be changed according to the data at the time of writing. For example, one original data (a1) in the disk device 111
When OLD is rewritten to new data (a1) NEW , in order to obtain the consistency of parity P1, the following formula (2) is calculated, and the parity is updated to update the parity of the entire data of the disk device. The consistency can be maintained.

【0017】 元データ(+)元パリティ(+)新データ=新パリティ (2)Original data (+) Original parity (+) New data = New parity (2)

【0018】[0018]

【発明が解決しようとする課題】図17により上述した
RAID5型のディスクアレイ装置100Cでは、各デ
ィスク装置111〜114にデータを巡回的に格納して
いる(ストライピング)。従って、アレイコントローラ
110は、同一ディスク装置へのアクセス競合が無いと
判断すれば、動作可能状態にある異なるディスク装置に
対しても同時にI/O命令(入出力命令)を発行してい
る。
In the RAID 5 type disk array device 100C described above with reference to FIG. 17, data is cyclically stored in each of the disk devices 111 to 114 (striping). Therefore, if the array controller 110 determines that there is no contention for access to the same disk device, it simultaneously issues I / O commands (input / output commands) to different disk devices that are in an operable state.

【0019】しかし、従来のディスクアレイ装置100
Cは、I/O命令の並列実行による高速化のみ考慮し、
個々の磁気ディスク装置111〜114でのI/O命令
アクセス処理の高速化については考慮されておらず、以
下の項目〜のような課題がある。 ディスクアレイ装置を構成する各磁気ディスク装置1
11〜114では、ヘッドを所望のトラックに移動する
際の時間(シーク時間)が、データ転送処理の大半を占
めており、データ転送の高速処理を阻害する要因となっ
ている。
However, the conventional disk array device 100
C considers only the speedup by parallel execution of I / O instructions,
The speedup of the I / O instruction access processing in each of the magnetic disk devices 111 to 114 is not taken into consideration, and there are the following problems (1) to (3). Each magnetic disk device 1 constituting the disk array device
In 11 to 114, the time (seek time) when moving the head to a desired track occupies most of the data transfer processing, which is a factor that hinders the high speed processing of the data transfer.

【0020】ホストコンピュータ120内のCPUの
見地からすると、ライトバック型キャッシュをそなえた
ディスクアレイ装置100Cへのライト命令は、キャッ
シュへデータをライトした時点で終了したものと見做せ
る。しかし、リード命令は、ホストコンピュータ120
内の主記憶装置へのデータ転送完了をもって処理終了と
なるため、CPU側のジョブは、その間、待たされるこ
とになる。CPUでの実行時間が短いほど、その待ち時
間は大きなオーバヘッドとなり、ジョブの処理時間に影
響を与えることになる。つまり、特に、ホストコンピュ
ータ120からアレイコントローラ110に対するリー
ド要求時のレスポンス・タイムが、ジョブの処理時間に
大きく影響する。
From the point of view of the CPU in the host computer 120, it can be considered that the write command to the disk array device 100C having the write-back type cache is completed when the data is written to the cache. However, the read command is issued by the host computer 120.
Since the processing ends when the data transfer to the main storage device is completed, the job on the CPU side is kept waiting during that time. The shorter the execution time in the CPU, the larger the waiting time becomes, and the job processing time is affected. That is, in particular, the response time at the time of a read request from the host computer 120 to the array controller 110 greatly affects the job processing time.

【0021】データを磁気ディスク装置111〜11
4に書き込んだ場合、パリティの更新を行なうが、その
際、前述した通り、データの書込位置にある元データと
更新したいパイティの書込位置にある元パリティとを読
み出す必要がある。しかし、個々の磁気ディスク装置1
11〜114毎にI/O命令のアクセス・スケジューリ
ングを行なうため、元データと元パリティとのリード処
理に関して同期をとると、スケジューリングの効果が損
なわれるという問題が生じる。
Data is stored in the magnetic disk devices 111 to 11
4 is written, the parity is updated. At that time, as described above, it is necessary to read the original data at the data write position and the original parity at the write position of the paity to be updated. However, each individual magnetic disk device 1
Since the access scheduling of the I / O instruction is performed for each 11 to 114, if the read processing of the original data and the original parity is synchronized, there is a problem that the scheduling effect is impaired.

【0022】本発明は、このような課題に鑑み創案され
たもので、各ディスク装置でのヘッドのシーク時間を短
縮・削減できるようにして、データ転送処理の高速化等
の性能向上を実現したディスクアレイ装置を提供するこ
とを第1の目的とする。また、本発明は、各ディスク装
置でのリード命令のレスポンス・タイムを短縮できるよ
うにして、ホスト側での待ち時間の改善(オーバヘッド
時間の短縮)をはかり、ホスト側での処理性能向上を実
現したディスクアレイ装置を提供することを第2の目的
とする。
The present invention was devised in view of the above problems, and realized the improvement of performance such as speeding up of data transfer processing by shortening / reducing the seek time of the head in each disk device. A first object is to provide a disk array device. Further, according to the present invention, the response time of the read command in each disk device can be shortened, the waiting time on the host side is improved (overhead time is shortened), and the processing performance on the host side is improved. A second object is to provide a disk array device having the above structure.

【0023】さらに、本発明は、パリティ更新時の元デ
ータと元パリティとのリード処理を非同期に行なえるよ
うにして、各ディスク装置のスループットの向上をはか
ったディスクアレイ装置を提供することを第3の目的と
する。
Further, the present invention provides a disk array device in which the read processing of the original data and the original parity at the time of updating the parity can be performed asynchronously so as to improve the throughput of each disk device. The purpose is 3.

【0024】[0024]

【課題を解決するための手段】このため、第1の発明の
ディスクアレイ装置は、複数のディスク装置と、外部か
らの入出力命令に応じて各ディスク装置に対する読出/
書込アクセスを制御するアレイコントローラとをそなえ
てなるものにおいて、外部から受け付けた複数の入出力
命令を、各ディスク装置におけるヘッドのトラック移動
回数が少なくなるように並び換え、各入出力命令の実行
をアレイコントローラに指示するスケジューリング機能
をそなえたことを特徴としている(請求項1)。
Therefore, in the disk array device of the first invention, a plurality of disk devices and a read / write operation for each disk device according to an input / output command from the outside are performed.
In an array controller for controlling write access, a plurality of I / O commands received from the outside are rearranged so that the number of head track movements in each disk device is reduced, and each I / O command is executed. Is provided with a scheduling function for instructing the array controller (claim 1).

【0025】また、第2の発明のディスクアレイ装置
は、複数のディスク装置と、外部からの入出力命令に応
じて各ディスク装置に対する読出/書込アクセスを制御
するアレイコントローラとをそなえてなるものにおい
て、外部から受け付けた入出力命令の命令種を解析する
デコード機能と、このデコード機能により解析された命
令種に基づいて外部から受け付けた複数の入出力命令を
並び換えて各入出力命令の実行をアレイコントローラに
指示するスケジューリング機能とをそなえたことを特徴
としている(請求項2)。
The disk array device of the second invention comprises a plurality of disk devices and an array controller for controlling read / write access to each disk device in response to an external input / output command. In, the decoding function that analyzes the instruction type of the input / output instruction received from the outside, and the execution of each input / output instruction by rearranging the plurality of input / output instructions received from the outside based on the instruction type analyzed by this decoding function Is provided with a scheduling function for instructing the array controller (claim 2).

【0026】さらに、第3の発明のディスクアレイ装置
は、複数のディスク装置と、外部からの入出力命令に応
じてパリティ用のディスク装置を固定することなく各デ
ィスク装置に対して並列的に読出/書込アクセスを実行
するように制御するアレイコントローラとをそなえてな
るRAID5型のディスクアレイ装置において、パリテ
ィ更新時に必要とされる元データおよび元パリティに関
する入出力命令に対してタグ番号を付与するタグ番号付
与機能と、タグ番号を付与された入出力命令を実行する
際にはそのタグ番号を登録され元データおよび元パリテ
ィの両方の読出状態を管理し元データおよび元パリティ
の両方が読み出された場合にパリティ更新処理が可能に
なったことをアレイコントローラに通知するパリティ制
御機能とをそなえたことを特徴としている(請求項
3)。
Further, in the disk array device of the third invention, a plurality of disk devices and a disk device for parity according to an input / output command from the outside are read in parallel to each disk device without being fixed. In a RAID5 type disk array device having an array controller for controlling execution of write / write access, tag numbers are added to original data required for parity update and input / output instructions relating to the original parity. When executing an input / output instruction assigned a tag number and a tag number, the tag number is registered and the read state of both the original data and the original parity is managed to read both the original data and the original parity. The parity control function that notifies the array controller that the parity update process has become possible It is characterized in that (claim 3).

【0027】そして、第4の発明のディスクアレイ装置
は、複数のディスク装置と、外部からの入出力命令に応
じて各ディスク装置に対する読出/書込アクセスを制御
するアレイコントローラとをそなえてなるものにおい
て、外部から受け付けた複数の入出力命令を、各ディス
ク装置におけるヘッドのトラック移動回数が少なくなる
ように並び換えて、各入出力命令の実行をアレイコント
ローラに指示するとともに、スケジューリング済みの入
出力命令よりも優先的に実行すべき他の入出力命令を受
け付けた場合に、前記スケジューリング済みの入出力命
令よりも先に当該他の入出力命令の実行をアレイコント
ローラに指示する動的スケジューリング機能をそなえた
ことを特徴としている(請求項4)。
The disk array device of the fourth invention comprises a plurality of disk devices and an array controller for controlling read / write access to each disk device in accordance with external input / output commands. In the above, the plurality of I / O commands received from the outside are rearranged so that the number of head track movements in each disk device is reduced, and the array controller is instructed to execute each I / O command. When another I / O instruction to be executed with priority over the instruction is accepted, a dynamic scheduling function for instructing the array controller to execute the other I / O instruction prior to the scheduled I / O instruction It is characterized in that it is provided (Claim 4).

【0028】[0028]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。 (a)第1の発明の実施形態の説明 図1は第1の発明の一実施形態としてのディスクアレイ
装置を示すブロック図で、図1に示すように、このディ
スクアレイ装置は、複数の磁気ディスク装置10と、ホ
ストコンピュータ(図示省略)側からの入出力命令(以
下、I/O命令という)に応じて各磁気ディスク装置1
0に対する読出/書込アクセスを制御するアレイコント
ローラ1と、I/O命令を格納するための記憶装置2
と、I/O命令の実行順序を決定するのに必要な情報お
よび所定のスケジューリング・アルゴリズムに従いスケ
ジューリングを実行する演算機能をそなえたスケジュー
リング装置3Aとから構成されている。
Embodiments of the present invention will be described below with reference to the drawings. (A) Description of Embodiment of First Invention FIG. 1 is a block diagram showing a disk array device as an embodiment of the first invention. As shown in FIG. Each magnetic disk device 1 according to an input / output command (hereinafter referred to as an I / O command) from a disk device 10 and a host computer (not shown) side.
Array controller 1 for controlling read / write access to 0 and storage device 2 for storing I / O instructions
And a scheduling device 3A having information necessary for determining the execution order of I / O instructions and an arithmetic function for executing scheduling according to a predetermined scheduling algorithm.

【0029】ここでは、記憶装置2とスケジューリング
装置3Aとにより、外部(ホストコンピュータ)から受
け付けた複数のI/O命令を各磁気ディスク装置10に
おけるヘッドのトラック移動回数が少なくなるように並
び換えて各I/O命令の実行をアレイコントローラ1に
指示するスケジューリング機能が実現されている。次
に、図1に示すように構成されたディスクアレイ装置の
動作について説明する。
Here, the storage device 2 and the scheduling device 3A rearrange a plurality of I / O commands received from the outside (host computer) so that the number of head track movements in each magnetic disk device 10 is reduced. A scheduling function for instructing the array controller 1 to execute each I / O instruction is realized. Next, the operation of the disk array device configured as shown in FIG. 1 will be described.

【0030】アレイコントローラ1がホストコンピュー
タから受け取ったI/O命令は、記憶装置2に格納され
る。スケジューリング装置3Aは、記憶装置2から適宜
I/O命令を取り出し、全体のシーク時間が短くなるよ
うに、I/O命令間で命令の実行順序を変更(スケジュ
ーリング)する。スケジューリングされたI/O命令列
は、記憶装置2に格納される。アレイコントローラ1
は、記憶装置2からスケジューリング済みのI/O命令
を取り出して順次実行する。記憶装置2に格納されてい
るスケジューリング済みI/O命令が無くなると、スケ
ジューリング装置3Aにより再びスケジューリング処理
を行なう。
The I / O command received by the array controller 1 from the host computer is stored in the storage device 2. The scheduling device 3A appropriately fetches I / O instructions from the storage device 2 and changes (schedules) the instruction execution order among the I / O instructions so that the overall seek time is shortened. The scheduled I / O instruction sequence is stored in the storage device 2. Array controller 1
Retrieves scheduled I / O instructions from the storage device 2 and sequentially executes them. When the scheduled I / O instructions stored in the storage device 2 run out, the scheduling device 3A performs the scheduling process again.

【0031】スケジューリング装置3Aで実行するスケ
ジューリング・アルゴリズムについて以下に説明する。
スケジューリング装置3Aは、複数のI/O命令を、ヘ
ッドが位置するトラックを中心にして振り分ける。この
とき、ヘッドが位置するトラック番号と比べて大きいト
ラック番号をもつI/O命令の集まりは昇順にソートす
る一方、ヘッドが位置するトラック番号と比べて小さい
トラック番号をもつI/O命令の集まりは降順にソート
する。便宜上、次のように用語を定義する。
The scheduling algorithm executed by the scheduling device 3A will be described below.
The scheduling device 3A distributes a plurality of I / O commands around a track on which the head is located. At this time, a group of I / O instructions having a larger track number than the head-located track number is sorted in ascending order, while a group of I / O instructions having a smaller track number than the head-located track number. Sorts in descending order. For convenience, the terms are defined as follows.

【0032】 “ row〔Ascend〕” :昇順にソートしたI/O命令列 “ row〔Descend 〕”:降順にソートしたI/O命令列 “leng〔Ascend〕” :昇順にソートしたI/O命令列
の中でヘッドから最も遠くに位置するI/O命令がアク
セスするトラック番号とヘッド位置との距離 “leng〔Descend 〕”:降順にソートしたI/O命令列
の中でヘッドから最も遠くに位置するI/O命令がアク
セスするトラック番号とヘッド位置との距離 “ num〔Ascend〕” :昇順にソートされたI/O命令
列に含まれる命令数 “ num〔Descend 〕”:降順にソートされたI/O命令
列に含まれる命令数 また、あるI/O命令列の最後尾に別のI/O命令列を
連結する操作を“+”で表すことにする。
“Row [Ascend]”: I / O instruction sequence sorted in ascending order “row [Descend]”: I / O instruction sequence sorted in descending order “leng [Ascend]”: I / O instruction sorted in ascending order The distance between the head position and the track number accessed by the I / O instruction located farthest from the head in the column "leng [Descend]": The farthest from the head in the I / O instruction sequence sorted in descending order Distance between the track number accessed by the located I / O instruction and the head position "num [Ascend]": Number of instructions contained in the I / O instruction sequence sorted in ascending order "num [Descend]": Sorted in descending order The number of instructions included in the I / O instruction sequence In addition, an operation of concatenating another I / O instruction sequence at the end of a certain I / O instruction sequence is represented by “+”.

【0033】スケジューリング装置3Aで実行するスケ
ジューリング・アルゴリズムでは、“leng〔Ascend〕”
と“leng〔Descend 〕”とを比較し、その大小関係等に
応じて、以下のようにI/O命令の実行順序を決定す
る。 1.leng〔Ascend〕>leng〔Descend 〕の場合: row〔Descend 〕+ row〔Ascend〕 2.leng〔Ascend〕<leng〔Descend 〕の場合: row〔Ascend〕+ row〔Descend 〕 3.leng〔Ascend〕=leng〔Descend 〕の場合: (a) num〔Ascend〕> num〔Descend 〕ならば、 row〔Descend 〕+ row〔Ascend〕 (b) num〔Ascend〕< num〔Descend 〕ならば、 row〔Ascend〕+ row〔Descend 〕 (c) num〔Ascend〕= num〔Descend 〕ならば、順序
指定は特になく、row〔Ascend〕から始めても row〔Des
cend 〕から始めてもよい 4.昇順方向または降順方向にアクセス要求の偏りがあ
る場合(ヘッド位置に対して一方の側にのみアクセス対
象のトラック番号が存在する場合):row〔Ascend〕ま
たは row〔Descend 〕とする。
In the scheduling algorithm executed by the scheduling device 3A, "leng [Ascend]"
And "leng [Descend]" are compared with each other, and the execution order of the I / O instructions is determined as follows in accordance with the magnitude relation. 1. When leng [Ascend]> leng [Descend]: row [Descend] + row [Ascend] 2. When leng [Ascend] <leng [Descend]: row [Ascend] + row [Descend] 3. If leng [Ascend] = leng [Descend]: (a) If num [Ascend]> num [Descend], then row [Descend] + row [Ascend] (b) If num [Ascend] <num [Descend] , Row [Ascend] + row [Descend] (c) If num [Ascend] = num [Descend], there is no particular order specification, and even if starting from row [Ascend], row [Des]
cend] 4. When the access requests are biased in the ascending or descending direction (when the track number to be accessed exists on only one side of the head position): row [Ascend] or row [Descend].

【0034】このようにして、各磁気ディスク装置10
への負荷分散に加え、各磁気ディスク装置10において
もスケジューリングを行なうため、各ディスク装置10
でのヘッドのシーク時間が短縮・削減され磁気ディスク
装置10のサービス時間を改善することが可能となり、
データ転送処理の高速化等の性能も大幅に向上すること
になる。
In this way, each magnetic disk drive 10
In addition to load distribution to each disk device 10, scheduling is also performed in each magnetic disk device 10.
It is possible to shorten or reduce the seek time of the head in, and to improve the service time of the magnetic disk device 10.
Performance such as speeding up of data transfer processing will be greatly improved.

【0035】(b)第2の発明の実施形態の説明 図2は第2の発明の一実施形態としてのディスクアレイ
装置を示すブロック図で、図2に示すように、このディ
スクアレイ装置は、図1に示したものと同様の複数の磁
気ディスク装置10,アレイコントローラ1および記憶
装置2をそなえるほか、外部(ホストコンピュータ)か
ら受け付けたI/O命令の命令種を解析するための命令
デコード装置4と、I/O命令の実行順序を決定するの
に必要な情報および所定のスケジューリング・アルゴリ
ズムに従いスケジューリングを実行する演算機能をそな
えたスケジューリング装置3Bとをそなえて構成されて
いる。
(B) Description of Embodiment of Second Invention FIG. 2 is a block diagram showing a disk array device as an embodiment of the second invention. As shown in FIG. In addition to having a plurality of magnetic disk devices 10, an array controller 1 and a storage device 2 similar to those shown in FIG. 1, an instruction decoding device for analyzing the instruction type of an I / O instruction received from the outside (host computer) 4 and a scheduling device 3B having information necessary for determining the execution order of I / O instructions and an arithmetic function for executing scheduling according to a predetermined scheduling algorithm.

【0036】ここでは、命令デコード装置4がデコード
機能を果たすとともに、記憶装置2とスケジューリング
装置3Bとが、前述したスケジューリング装置3Aと同
様のスケジューリング機能(各磁気ディスク装置10に
おけるヘッドのトラック移動回数が少なくなるように複
数のI/O命令を並び換えて各I/O命令の実行をアレ
イコントローラ1に指示するスケジューリング機能)と
ともに、命令デコード装置4により解析された命令種に
基づいて複数のI/O命令を並び換えて各I/O命令の
実行をアレイコントローラ1に指示するスケジューリン
グ機能を果たしている。
Here, the instruction decoding device 4 performs the decoding function, and the storage device 2 and the scheduling device 3B have the same scheduling function as that of the above-described scheduling device 3A (the number of head track movements in each magnetic disk device 10 is changed). A scheduling function of rearranging a plurality of I / O instructions so as to reduce the number of I / O instructions and instructing the array controller 1 to execute each I / O instruction), and a plurality of I / Os based on the instruction type analyzed by the instruction decoding device 4. It performs a scheduling function of rearranging O instructions and instructing the array controller 1 to execute each I / O instruction.

【0037】次に、図2に示すように構成されたディス
クアレイ装置の動作について説明する。命令デコード装
置4は、記憶装置2からI/O命令を取り出すと、取り
出したI/O命令の解析を行なう。次に、解析されたI
/O命令を、その命令種、つまり、そのI/O命令がデ
ィスクアレイ装置(磁気ディスク装置10)に対するリ
ード命令かライト命令かによって分類する。
Next, the operation of the disk array device configured as shown in FIG. 2 will be described. Upon fetching the I / O instruction from the storage device 2, the instruction decoding device 4 analyzes the fetched I / O instruction. Next, I analyzed
The / O command is classified according to its command type, that is, whether the I / O command is a read command or a write command for the disk array device (magnetic disk device 10).

【0038】スケジューリング装置3Bは、前述したア
ルゴリズムに基づいて、リード命令列およびライト命令
列のそれぞれについて、スケジューリングを行なう。た
だし、ライト命令のスケジューリング処理時に基準とす
るヘッドのトラックには、スケジューリング後のリード
命令列の最後尾I/O命令がアクセスするトラックを使
用する。
The scheduling device 3B performs scheduling for each of the read instruction sequence and the write instruction sequence based on the above-mentioned algorithm. However, the track accessed by the tail I / O instruction of the read instruction sequence after scheduling is used as the reference track of the head during the write instruction scheduling process.

【0039】スケジューリング後、リード命令列の最後
尾にライト命令列を連結し、記憶装置2に格納する。ア
レイコントローラ1は記憶装置2からスケジューリング
済みのI/O命令を取り出して順次実行する。記憶装置
2に格納されているスケジューリング済みI/O命令が
無くなると、スケジューリング装置3Bにより再びスケ
ジューリング処理を行なう。
After scheduling, the write command sequence is connected to the end of the read command sequence and stored in the storage device 2. The array controller 1 fetches scheduled I / O instructions from the storage device 2 and sequentially executes them. When the scheduled I / O instructions stored in the storage device 2 run out, the scheduling device 3B performs the scheduling process again.

【0040】このような処理により、リード命令をライ
ト命令よりも優先的に実行することができ、リード/ラ
イト命令混在実行時に比べて、リード命令のレスポンス
・タイムの低減が可能になる。従って、I/O要求を行
なうホストコンピュータ側での待ち時間も改善され、こ
のホストコンピュータ側での処理性能向上にも寄与す
る。
By such processing, the read command can be executed with priority over the write command, and the response time of the read command can be reduced as compared with the case where the read / write command is mixedly executed. Therefore, the waiting time on the side of the host computer making the I / O request is also improved, which contributes to the improvement of the processing performance on the side of the host computer.

【0041】(c)第3の発明の実施形態の説明 図3は第3の発明の一実施形態としてのディスクアレイ
装置を示すブロック図で、図3に示すように、このディ
スクアレイ装置は、図1に示したものと同様の複数の磁
気ディスク装置10,アレイコントローラ1A,記憶装
置2およびスケジューリング装置3Cをそなえるほか、
パリティ制御装置5をそなえて構成されている。
(C) Description of Embodiment of Third Invention FIG. 3 is a block diagram showing a disk array device as an embodiment of the third invention. As shown in FIG. In addition to having a plurality of magnetic disk devices 10 similar to those shown in FIG. 1, an array controller 1A, a storage device 2 and a scheduling device 3C,
The parity control device 5 is provided.

【0042】ここで、アレイコントローラ1Aは、外部
(ホストコンピュータ)からのI/O命令に応じてパリ
ティ用の磁気ディスク装置10を固定することなく各磁
気ディスク装置10に対して並列的に読出/書込アクセ
スを実行するように制御することにより、RAID5型
のディスクアレイ装置を実現させている。また、このア
レイコントローラ1Aは、パリティ更新時に必要とされ
る元データおよび元パリティに関する入出力命令に対し
てタグ番号を付与するタグ番号付与機能を有している。
Here, the array controller 1A reads / reads in parallel to each magnetic disk device 10 without fixing the magnetic disk device 10 for parity according to an I / O command from the outside (host computer). By controlling the write access, the RAID5 type disk array device is realized. Further, the array controller 1A has a tag number assigning function for assigning a tag number to the input / output command relating to the original data and the original parity which is required at the time of updating the parity.

【0043】スケジューリング装置3Cは、図1に示し
たスケジューリング装置3Aと同様に記憶装置2から取
り出したI/O命令のスケジューリングを施すと同時
に、タグ付きI/O命令を検出すると、パリティ制御装
置5へ当該タグ番号を登録する機能を有している。そし
て、パリティ制御装置5は、パリティ更新時のリード命
令の非同期実行をサポートするためのもので、タグ番号
を付与されたI/O命令を実行する際にはそのタグ番号
をスケジューリング装置3Cにより登録されて元データ
および元パリティの両方の読出状態を管理し、元データ
および元パリティの両方が読み出された場合にパリティ
更新処理が可能になったことをアレイコントローラ1に
通知するパリティ制御機能を果たしている。
As with the scheduling device 3A shown in FIG. 1, the scheduling device 3C schedules the I / O instruction fetched from the storage device 2 and, at the same time, detects the tagged I / O instruction, and then the parity control device 5 It has a function to register the tag number. The parity control device 5 is for supporting the asynchronous execution of the read instruction at the time of updating the parity, and when executing the I / O instruction to which the tag number is added, the tag number is registered by the scheduling device 3C. A parity control function that manages the read states of both the original data and the original parity and notifies the array controller 1 that the parity update processing is possible when both the original data and the original parity are read out. Is playing.

【0044】次に、図3に示すように構成されたディス
クアレイ装置の動作について説明する。パリティ更新時
に必要とされる元データおよび元パリティに関するI/
O命令は、アレイコントローラ1により、タグ番号を付
されたI/O命令に変換される。
Next, the operation of the disk array device configured as shown in FIG. 3 will be described. I / O related to original data and original parity required for parity update
The O instruction is converted by the array controller 1 into an I / O instruction with a tag number.

【0045】そして、スケジューリング装置3Cは、記
憶装置2から取り出したI/O命令のスケジューリング
を施すと同時に、タグ付きI/O命令を検出すると、パ
リティ制御装置5へ当該タグ番号を登録し、元データと
元パリティとの間の関連性を保証する。アレイコントロ
ーラ1は、記憶装置2からI/O命令を取り出して順次
実行する。磁気ディスク装置10での処理を終了する
と、アレイコントローラ1からパリティ制御装置5へ、
その旨が通知される。
Then, the scheduling device 3C schedules the I / O instruction fetched from the storage device 2 and, at the same time, detects a tagged I / O instruction, registers the tag number in the parity control device 5, and Guarantees the association between the data and the original parity. The array controller 1 fetches I / O commands from the storage device 2 and sequentially executes them. When the processing in the magnetic disk device 10 is completed, the array controller 1 transfers to the parity control device 5.
This is notified.

【0046】パリティ制御装置5では、アレイコントロ
ーラ1からのI/O処理終了通知が、パリティ更新時の
リード命令であるか否かを判定する。その結果、元デー
タおよび元パリティの両データが揃うと、パリティ制御
装置5は、アレイコントローラ1へ、パリティ計算処理
が実行可能であることを報告する。また、どちらか一方
のデータのみであるならば、その旨を登録する。
The parity control device 5 determines whether or not the I / O processing end notification from the array controller 1 is a read command at the time of parity update. As a result, when both the original data and the original parity data are prepared, the parity control device 5 reports to the array controller 1 that the parity calculation process can be executed. If only one of the data is included, that fact is registered.

【0047】このような処理によって、パリティ更新時
の元データ/元パリティのリード処理時の同期を取る必
要が無くなる、つまり、パリティ更新時の元データと元
パリティとのリード処理を非同期に行なえるため、個々
の磁気ディスク装置10に対して行なったスケジューリ
ングの効果を損なうことがなく、各磁気ディスク装置1
0のスループットを向上させることができる。
By such processing, there is no need to synchronize the original data / the original parity at the time of updating the parity, that is, the original data and the original parity at the time of updating the parity can be asynchronously read. Therefore, the effect of the scheduling performed for each magnetic disk device 10 is not impaired, and each magnetic disk device 1
The throughput of 0 can be improved.

【0048】(d)第4の発明の実施形態の説明 図3は第3の発明の一実施形態としてのディスクアレイ
装置を示すブロック図で、図3に示すように、このディ
スクアレイ装置は、図1に示したものと同様の複数の磁
気ディスク装置10,アレイコントローラ1および記憶
装置2のほか、I/O命令の実行順序を動的に決定する
動的スケジューリング装置6と、この動的スケジューリ
ング装置6により優先的に実行するように決定されたI
/O命令を格納するためのプライオリティ・レジスタ7
をそなえて構成されている。
(D) Description of Embodiment of Fourth Invention FIG. 3 is a block diagram showing a disk array device as an embodiment of the third invention. As shown in FIG. In addition to a plurality of magnetic disk devices 10, an array controller 1 and a storage device 2 similar to those shown in FIG. 1, a dynamic scheduling device 6 that dynamically determines the execution order of I / O instructions, and this dynamic scheduling. I determined by the device 6 to be executed preferentially
Priority register 7 for storing / O instruction
It is configured with.

【0049】ここで、動的スケジューリング装置6は、
外部(ホストコンピュータ)から受け付けた複数のI/
O命令を、各磁気ディスク装置10におけるヘッドのト
ラック移動回数が少なくなるように並び換えて、各I/
O命令の実行をアレイコントローラ1に指示するととも
に、スケジューリング済みのI/O命令よりも優先的に
実行すべき他のI/O命令を受け付けた場合に、当該他
のI/O命令をプライオリティ・レジスタ7に格納し、
前記スケジューリング済みのI/O命令よりも先に当該
他のI/O命令の実行をアレイコントローラ1に指示す
る動的スケジューリング機能を果たしている。
Here, the dynamic scheduling device 6
Multiple I / s received from outside (host computer)
The O commands are rearranged so that the number of head track movements in each magnetic disk device 10 is reduced, and each I / O command is reordered.
When the array controller 1 is instructed to execute an O instruction and another I / O instruction to be executed with priority over the scheduled I / O instruction is accepted, the other I / O instruction is given priority. Store in register 7,
It performs a dynamic scheduling function of instructing the array controller 1 to execute another I / O instruction prior to the scheduled I / O instruction.

【0050】次に、図4に示すように構成されたディス
クアレイ装置の動作について説明する。アレイコントロ
ーラ1が、ホストコンピュータから受け取ったI/O命
令は、記憶装置2に格納される。動的スケジューリング
装置6は、記憶装置2から適宜I/O命令を取り出し、
全体のシーク時間が短くなるように、I/O命令間で命
令の実行順序を変更(スケジューリング)する。
Next, the operation of the disk array device configured as shown in FIG. 4 will be described. The I / O command received by the array controller 1 from the host computer is stored in the storage device 2. The dynamic scheduling device 6 fetches an I / O instruction from the storage device 2 as appropriate,
The instruction execution order is changed (scheduled) between I / O instructions so that the overall seek time is shortened.

【0051】このとき、動的スケジューリング装置6
は、記憶装置2上にスケジューリング済みのI/O命令
が存在しない場合、または、磁気ディスク装置10での
I/O命令の処理開始を契機として、スケジューリング
処理を開始する。後者の場合(磁気ディスク装置10で
のI/O命令の処理開始を契機とする場合)、記憶装置
2から取り出したI/O命令と、記憶装置2に格納され
ているスケジューリング済みのI/O命令との間で、ス
ケジューリング処理を行なう。
At this time, the dynamic scheduling device 6
Starts the scheduling process when there is no scheduled I / O command in the storage device 2 or when the I / O command process starts in the magnetic disk device 10. In the latter case (when the processing start of the I / O instruction in the magnetic disk device 10 is triggered), the I / O instruction fetched from the storage device 2 and the scheduled I / O stored in the storage device 2 Scheduling processing is performed with the instruction.

【0052】スケジューリングされたI/O命令群は、
記憶装置2に格納される。また、記憶装置2に格納され
ているI/O命令に優先して実行する必要があるI/O
命令については、プライオリティ・レジスタ7に格納す
る。アレイコントローラ1は、記憶装置2またはプライ
オリティ・レジスタ7からスケジューリング済みのI/
O命令を取り出して順次実行する。
The scheduled I / O instruction group is
It is stored in the storage device 2. Further, the I / O that needs to be executed prior to the I / O instruction stored in the storage device 2
The instruction is stored in the priority register 7. The array controller 1 receives the scheduled I / O from the storage device 2 or the priority register 7.
The O instruction is fetched and sequentially executed.

【0053】このような処理によって、各磁気ディスク
装置10に対するI/O命令列の実行順序を動的に並び
換えることが可能になり、磁気ディスク装置10のサー
ビス時間のさらなる改善を行なえ、データ転送処理の高
速化等の性能をより一層向上させることができる。 (e)静的スケジューリングを行なう場合の具体的な実
施形態の説明 図5は静的スケジューリングを行なうディスクアレイ装
置の具体的な実施形態を示すブロック図である。この図
5に示すディスクアレイ装置は、図1〜図3にて前述し
たディスクアレイ装置を組み合わせたものである。な
お、図5中、既述の符号と同一の符号はほぼ同一の部分
を示しているので、その詳細な説明は省略する。
By such processing, it becomes possible to dynamically rearrange the execution order of the I / O instruction sequence for each magnetic disk device 10, further improve the service time of the magnetic disk device 10, and perform data transfer. Performance such as speeding up of processing can be further improved. (E) Description of Specific Embodiment When Performing Static Scheduling FIG. 5 is a block diagram showing a specific embodiment of a disk array device that performs static scheduling. The disk array device shown in FIG. 5 is a combination of the disk array devices described above with reference to FIGS. In FIG. 5, the same reference numerals as those used above indicate almost the same parts, and the detailed description thereof will be omitted.

【0054】図5に示すディスクアレイ装置はRAID
5型のもので、このディスクアレイ装置では、図3にて
前述した機能(タグ番号付与機能等)をもつアレイコン
トローラ1Aが用いられている。また、図5に示すディ
スクアレイ装置では、前述した記憶装置2がFIFOバ
ッファ21により構成され、前述した命令デコード装置
4がフェッチ・ユニット41およびデコード・ユニット
42により構成され、前述したパリティ制御装置5がリ
ザベーション・レジスタ51およびタグ・レジスタ52
により構成されている。
The disk array device shown in FIG. 5 is RAID
This type of disk array device uses the array controller 1A having the functions (tag number assigning function, etc.) described above with reference to FIG. In the disk array device shown in FIG. 5, the storage device 2 described above is configured by the FIFO buffer 21, the instruction decoding device 4 described above is configured by the fetch unit 41 and the decode unit 42, and the parity control device 5 described above is used. Is a reservation register 51 and a tag register 52
It consists of.

【0055】さらに、スケジューリング装置3(図1〜
図3に示したスケジューリング装置3A〜3Cとしての
機能をもつもの)が、汎用レジスタ31,ヘッド情報レ
ジスタ32,オーダリング・レジスタ33,カウンタ3
4,シーケンサ35,演算ユニット36およびI/Oレ
ジスタ37により構成されている。なお、スケジューリ
ング装置3のオーダリング・レジスタ33は、図1〜図
4に示した実施形態では記憶装置2に含まれるものであ
るが、ここでは、スケジューリング装置3内にそなえる
ものとする。従って、図1〜図4に示した実施形態で
は、アレイコントローラ1Aで実行すべきI/O命令は
記憶装置2から読み出されていたが、図5に示す実施形
態では、後述するごとく、I/O命令は、スケジューリ
ング装置3のオーダリング・レジスタ33からI/Oレ
ジスタ37を介して読み出されるようになっている。
Further, the scheduling device 3 (see FIGS.
The scheduling device 3A to 3C shown in FIG. 3) has a general register 31, a head information register 32, an ordering register 33, and a counter 3.
4, a sequencer 35, an arithmetic unit 36 and an I / O register 37. Although the ordering register 33 of the scheduling device 3 is included in the storage device 2 in the embodiments shown in FIGS. 1 to 4, it is provided here in the scheduling device 3. Therefore, in the embodiment shown in FIGS. 1 to 4, the I / O instruction to be executed by the array controller 1A was read from the storage device 2, but in the embodiment shown in FIG. The / O instruction is adapted to be read from the ordering register 33 of the scheduling device 3 via the I / O register 37.

【0056】図5において、38は外部インタフェース
(I/F)で、この外部I/F38は、アレイコントロ
ーラ1とFIFOバッファ21(記憶装置2)およびス
ケジューリング装置3とのインタフェースとして動作す
るものである。FIFOバッファ21は、外部I/F3
8を経由して、ホストコンピュータから送られ、アレイ
コントローラ1にて受け付けられた複数のI/O命令を
格納するものである。
In FIG. 5, reference numeral 38 denotes an external interface (I / F) which operates as an interface between the array controller 1, the FIFO buffer 21 (storage device 2) and the scheduling device 3. . The FIFO buffer 21 is an external I / F 3
It stores a plurality of I / O commands sent from the host computer via 8 and accepted by the array controller 1.

【0057】命令デコード装置4において、フェッチ・
ユニット41は、FIFOバッファ21からI/O命令
を取り出すものであり、デコード・ユニット42は、フ
ェッチ・ユニット41から取り出したI/O命令を解析
するものである。パリティ制御装置5において、リザベ
ーション・レジスタ51は、図8にて後述する構成を有
し、パリティ更新時の非同期リード命令の待ち列を保持
するものであり、タグ・レジスタ52は、図9にて後述
する構成を有し、各磁気ディスク装置10で実行してい
るI/O命令がパリティ更新に関するものかどうかを判
定すべくスケジューリング装置3からタグ番号を登録さ
れるものである。
In the instruction decoding device 4, fetch /
The unit 41 fetches the I / O instruction from the FIFO buffer 21, and the decode unit 42 analyzes the I / O instruction fetched from the fetch unit 41. In the parity control device 5, the reservation register 51 has a configuration described later with reference to FIG. 8 and holds a queue of asynchronous read instructions at the time of updating the parity, and the tag register 52 is shown in FIG. The tag number is registered by the scheduling device 3 in order to determine whether or not the I / O command executed in each magnetic disk device 10 is related to parity update, and has a configuration described later.

【0058】スケジューリング装置3において、汎用レ
ジスタ31は、スケジューリング実行時に作業用バッフ
ァとして使用されるものであり、ヘッド情報レジスタ3
2は、図6にて後述する構成を有し、各磁気ディスク装
置10上のヘッドの位置を示すデータ(HDD0 〜HD
D n-1)を保持するものである。また、オーダリング・
レジスタ33は、図7にて後述する構成を有し、スケジ
ューリング済みのI/O命令列を格納するものであり、
カウンタ34は、オーダリング・レジスタ33内のI/
O命令数を計数値として示すものである。
In the scheduling device 3, the general-purpose register 31 is used as a working buffer when executing scheduling, and the head information register 3 is used.
2 has a configuration which will be described later with reference to FIG. 6, and data (HDD0 to HD) indicating the position of the head on each magnetic disk device
D n-1) is held. Also, ordering
The register 33 has a configuration described later with reference to FIG. 7, and stores a scheduled I / O instruction sequence,
The counter 34 is the I / O in the ordering register 33.
The number of O commands is shown as a count value.

【0059】シーケンサ35は、演算ユニット36への
スケジューリング処理の指示あるいはフェッチ・ユニッ
ト41へのI/O命令のフェッチ指示等を行なうべくこ
れらの演算ユニット36やフェッチ・ユニット41に対
して所定のタイミングで指示を送出するものである。演
算ユニット36は、シーケンサ35からの指示に応じて
実際のスケジューリング処理を前述した所定のアルゴリ
ズムやデコード・ユニット42による解析結果に基づい
て行なうものであり、I/Oレジスタ37は、各磁気デ
ィスク装置10で実行するI/O命令を、スケジューリ
ング装置3からアレイコントローラ1を介して対象磁気
ディスク装置10へ出力する際に一時的に格納するため
のものである。
The sequencer 35 gives a predetermined timing to the arithmetic unit 36 and the fetch unit 41 in order to instruct the arithmetic unit 36 to perform a scheduling process or to instruct the fetch unit 41 to fetch an I / O instruction. To send the instruction. The arithmetic unit 36 performs an actual scheduling process according to an instruction from the sequencer 35 based on the above-described predetermined algorithm and the analysis result by the decoding unit 42. The I / O register 37 is provided in each magnetic disk device. This is for temporarily storing the I / O command executed in 10 when the scheduling device 3 outputs it to the target magnetic disk device 10 via the array controller 1.

【0060】なお、FIFOバッファ21,ヘッド情報
レジスタ32,オーダリング・レジスタ33,カウンタ
34およびタグ・レジスタ52は、それぞれ磁気ディス
ク装置10に対応して設けられている。図6はヘッド情
報レジスタ32の構成を示すもので、この図6におい
て、321はヘッド情報レジスタ32における各磁気デ
ィスク装置対応のフィールドを表し、ヘッドが位置する
トラック番号を格納するものである。なお、図中、HD
D0 〜HDD n-1は、n台の磁気ディスク装置10に対
応して設定された装置番号である。図7はオーダリング
・レジスタ33の構成を示すもので、この図7におい
て、331はオーダリング・レジスタ33における各磁
気ディスク装置対応のフィールドを示し、n台の磁気デ
ィスク装置10毎にm個のI/O命令を格納することが
可能な構成になっている。
The FIFO buffer 21, the head information register 32, the ordering register 33, the counter 34, and the tag register 52 are provided for the magnetic disk device 10, respectively. FIG. 6 shows the configuration of the head information register 32. In FIG. 6, reference numeral 321 represents a field in the head information register 32 corresponding to each magnetic disk device, and stores the track number where the head is located. In the figure, HD
D0 to HDD n-1 are device numbers set corresponding to the n magnetic disk devices 10. FIG. 7 shows the configuration of the ordering register 33. In FIG. 7, reference numeral 331 denotes a field corresponding to each magnetic disk device in the ordering register 33, and m number of I / Is for every n magnetic disk devices 10. It has a structure capable of storing an O instruction.

【0061】図8はリザベーション・レジスタ51の構
成を示すもので、この図8において、511はタグ番号
用のフィールドで、このフィールド511にタグ番号を
登録されることによりパリティ更新時の元データおよび
元パリティの依存関係を判断できるようになっている。
また、512は状態ビットで、この状態ビット512
は、パリティ更新時のリード要求の実行状態を示すもの
である。
FIG. 8 shows the structure of the reservation register 51. In FIG. 8, 511 is a field for tag number. By registering the tag number in this field 511, the original data at the time of parity update and It is possible to judge the dependency of the original parity.
512 is a status bit, and this status bit 512
Shows the execution state of the read request at the time of updating the parity.

【0062】例えば、この状態ビット512には、2ビ
ットの情報“00(S0)”,“01(S1)”,“1
0(S2)”,“11(S3)”が設定される。ここ
で、 00(S0):“本フィールドは無効”であることを示
す。 01(S1):“NO DEFINITION ”であることを示す。 10(S2):“本フィールドはパリティ更新用に利用
されている”ことを示す。
For example, the status bit 512 includes 2-bit information "00 (S0)", "01 (S1)", "1".
0 (S2) ”and“ 11 (S3) ”are set, where 00 (S0): indicates“ this field is invalid ”. 01 (S1): indicates“ NO DEFINITION ” 10 (S2): Indicates that this field is used for parity update.

【0063】11(S3):“元データまたは元パリテ
ィいずれか一方がリードされた”ことを示す。 図9はタグ・レジスタ52の構成を示すもので、この図
9において、521はV(Valid)ビットで、このVビッ
ト521は、磁気ディスク装置10毎にそなえられるも
ので、このVビット521に“1”が設定された場合、
パリティ更新のためのI/Oアクセスが当該磁気ディス
ク装置10に対して実行されていることを示す。また、
522はタグ・フィールドで、このタグ・フィールド5
22には、前述したフィールド511と同様、タグ番号
が登録・格納されるようになっている。
11 (S3): indicates that "either the original data or the original parity has been read". FIG. 9 shows the configuration of the tag register 52. In FIG. 9, 521 is a V (Valid) bit, and this V bit 521 is provided for each magnetic disk device 10. If "1" is set,
It indicates that the I / O access for updating the parity is being executed to the magnetic disk device 10. Also,
522 is a tag field, and this tag field 5
The tag number is registered and stored in 22 as in the field 511 described above.

【0064】次に、上述のごとく構成された、本実施形
態の静的スケジューリングを行なうディスクアレイ装置
の動作について説明する。上位装置であるホストコンピ
ュータ(図示省略)から、図5に示すディスクアレイ装
置にI/O要求があると、そのI/O命令が、アレイコ
ントローラ1から外部I/F38を通して、FIFOバ
ッファ21に格納される。このとき、パリティ更新に伴
う元データまたは元パリティのリード処理が生じた時に
は、アレイコントローラ1はそのI/O命令にタグ番号
を付加する。
Next, the operation of the disk array device for static scheduling according to the present embodiment, which is configured as described above, will be described. When an I / O request is issued to the disk array device shown in FIG. 5 from a host computer (not shown) which is a higher-level device, the I / O command is stored in the FIFO buffer 21 from the array controller 1 through the external I / F 38. To be done. At this time, when the read processing of the original data or the original parity accompanying the parity update occurs, the array controller 1 adds the tag number to the I / O command.

【0065】フェッチ・ユニット41は、シーケンサ3
5からの指示により、FIFOバッファ21から複数の
I/O命令をフェッチする。フェッチ可能なI/O命令
の上限は、オーダリング・レジスタ33に格納できるI
/O命令数mとする。I/O命令のフェッチ後、デコー
ド・ユニット42がI/O命令の解析を行ない、リード
命令/ライト命令に応じてI/O命令を分類する。I/
O命令列は、汎用レジスタ31に、リード命令/ライト
命令に分け格納する。I/O命令格納後、シーケンサ3
5は演算ユニット36にスケジューリング処理の開始を
指示する。
The fetch unit 41 is the sequencer 3
According to the instruction from 5, a plurality of I / O instructions are fetched from the FIFO buffer 21. The upper limit of the fetchable I / O instruction is the I that can be stored in the ordering register 33.
The number of / O instructions is m. After fetching the I / O instruction, the decode unit 42 analyzes the I / O instruction and classifies the I / O instruction according to the read / write instruction. I /
The O instruction sequence is divided into a read instruction / write instruction and stored in the general-purpose register 31. Sequencer 3 after storing I / O instructions
Reference numeral 5 instructs the arithmetic unit 36 to start the scheduling process.

【0066】演算ユニット36は、前述したアルゴリズ
ムに従い、ヘッド情報レジスタ32内のヘッド位置情報
321に基づいて、汎用レジスタ31内のI/O命令の
実行順序を決定する。スケジューリング後のI/O命令
列は、当該磁気ディスク装置対応のオーダリング・レジ
スタ33に格納される。カウンタ34には、オーダリン
グ・レジスタ33に格納されたI/O命令数を記述す
る。
The arithmetic unit 36 determines the execution order of the I / O instructions in the general-purpose register 31 based on the head position information 321 in the head information register 32 according to the above-mentioned algorithm. The I / O instruction sequence after scheduling is stored in the ordering register 33 corresponding to the magnetic disk device. The number of I / O instructions stored in the ordering register 33 is written in the counter 34.

【0067】演算ユニット36でのスケジューリング実
行中、パリティ更新によって生じたリード命令を検出す
ると、リザベーション・レジスタ51に登録されている
タグ番号511を検索する。このとき、 (a)リザベーション・レジスタ51上に本タグ番号と
一致するものがある場合:特に処理は行なわない。
When the read instruction generated by the parity update is detected during the scheduling in the arithmetic unit 36, the tag number 511 registered in the reservation register 51 is searched. At this time, (a) When there is a match with this tag number in the reservation register 51: No particular processing is performed.

【0068】(b)リザベーション・レジスタ51上に
本タグ番号と一致するものが無い場合:リザベーション
・レジスタ51の状態ビット512に“10(S2)”を設
定する。シーケンサ35は、外部I/F38を通じてア
レイコントローラ1から、I/O命令を転送するよう指
示を受けると、演算ユニット36に対して処理の開始を
要求する。
(B) When there is no match with this tag number in the reservation register 51: "10 (S2)" is set in the status bit 512 of the reservation register 51. Upon receiving an instruction to transfer an I / O command from the array controller 1 through the external I / F 38, the sequencer 35 requests the arithmetic unit 36 to start processing.

【0069】演算ユニット36は、オーダリング・バッ
ファ33からI/O命令を取り出してI/Oレジスタ3
7に格納する。このとき、カウンタ34による計数値
は、I/O命令の取出毎にデクリメントされる。また、
当該I/O命令がタグ付きI/O命令の場合、当該磁気
ディスク装置10に対応するタグ・レジスタ52のVビ
ット521をオン(“1”)、タグ番号フィールド52
2にそのタグ番号を記入・登録する。
The arithmetic unit 36 fetches an I / O instruction from the ordering buffer 33 and extracts it from the I / O register 3
Store in 7. At this time, the count value of the counter 34 is decremented every time the I / O instruction is fetched. Also,
If the I / O instruction is a tagged I / O instruction, the V bit 521 of the tag register 52 corresponding to the magnetic disk device 10 is turned on (“1”), and the tag number field 52 is displayed.
Fill in and register the tag number in 2.

【0070】シーケンサ35の指示を受けた外部I/F
38は、I/Oレジスタ37に格納されたI/O命令を
アレイコントローラ1に送信する。アレイコントローラ
1は受信したI/O命令を磁気ディスク装置10に投入
する。また、磁気ディスク装置10でのI/O命令処理
を終了すると、シーケンサ35はその旨を外部I/F3
8を通して、アレイコントローラ1から受け取る。シー
ケンサ35は、演算ユニット36に対して処理要求を出
す。
External I / F instructed by the sequencer 35
38 transmits the I / O command stored in the I / O register 37 to the array controller 1. The array controller 1 inputs the received I / O command to the magnetic disk device 10. When the I / O command processing in the magnetic disk device 10 is completed, the sequencer 35 informs the external I / F 3
8 to receive from the array controller 1. The sequencer 35 issues a processing request to the arithmetic unit 36.

【0071】このとき、演算ユニット36は、以下の処
理を実行する。 1.タグ・レジスタ52内の当該磁気ディスク装置10
に対応するVビット521を参照する。 (a)Vビット521がオフの場合:何も処理を行なわ
ない。 (b)Vビット521がオンの場合:タグ番号522を
読み出し、以下の処理を行なう。
At this time, the arithmetic unit 36 executes the following processing. 1. The magnetic disk device 10 in the tag register 52
V bit 521 corresponding to (A) When V bit 521 is off: No processing is performed. (B) When the V bit 521 is on: The tag number 522 is read and the following processing is performed.

【0072】2.リザベーション・レジスタ51のタグ
番号を検索する。タグ番号522と一致するものを求
め、状態ビット512を以下のように設定する。 (a)状態ビット512がS2の時、状態ビット512
をS3に設定。 (b)状態ビット512がS3の時、状態ビット512
をS0に設定後、シーケンサ35がアレイコントローラ
1へパリティ更新処理が開始可能である旨を通知。
2. The tag number in the reservation register 51 is searched. The one that matches the tag number 522 is sought, and the status bit 512 is set as follows. (A) When the status bit 512 is S2, the status bit 512
Is set to S3. (B) When the status bit 512 is S3, the status bit 512
After setting S to S0, the sequencer 35 notifies the array controller 1 that the parity update process can be started.

【0073】このように、図5〜図11に示した実施形
態のディスクアレイ装置によれば、ディスクアレイ装置
の個々の磁気ディスク装置10において、アクセス要求
のスケジューリングを行なうことにより、シーク時間を
削減することが可能になる。従って、ディスクアレイ装
置の性能(データ転送処理の高速化等の性能)が大幅に
向上する。
As described above, according to the disk array device of the embodiment shown in FIGS. 5 to 11, the seek time is reduced by scheduling the access request in each magnetic disk device 10 of the disk array device. It becomes possible to do. Therefore, the performance of the disk array device (performance such as speeding up of data transfer processing) is significantly improved.

【0074】また、I/O命令をリード/ライトで区別
しない場合、図10(a)に示すように、各リード要求
のレスポンス・タイムはそれぞれT0,T1およびT2
となり、平均レスポンス・タイムは(T0+T1+T
2)/3になっていた。これに対して、本実施形態で
は、図10(b)に示すように、リード命令をライト命
令と比べて優先的に磁気ディスク装置10に投入するこ
とにより、各リード要求のレスポンス・タイムはそれぞ
れt0(≦T0),t1(≦T1)およびt2(≦T
2)となり、平均レスポンス・タイムは(t0+t1+
t2)/3〔≦(T0+T1+T2)/3〕と改善され
る。つまり、CPU(ホストコンピュータ)での待ち時
間が大幅に改善され、ホスト側での処理性能が大きく向
上する。なお、図10(a),(b)中、CPUおよび
主記憶装置は、ホストコンピュータ側にそなえられるも
のである。
When the I / O instructions are not distinguished by read / write, the response times of the read requests are T0, T1 and T2, respectively, as shown in FIG.
And the average response time is (T0 + T1 + T
It was 2) / 3. On the other hand, in the present embodiment, as shown in FIG. 10B, by giving a read command to the magnetic disk device 10 preferentially as compared with a write command, the response time of each read request is different. t0 (≦ T0), t1 (≦ T1) and t2 (≦ T
2), and the average response time is (t0 + t1 +
t2) / 3 [≦ (T0 + T1 + T2) / 3] is improved. That is, the waiting time in the CPU (host computer) is significantly improved, and the processing performance on the host side is greatly improved. In FIGS. 10A and 10B, the CPU and the main storage device are provided on the host computer side.

【0075】さらに、パリティ更新時の元データ/元パ
リティ・リードを同期させると、図11(a)に示すよ
うに、I/O命令kの待ち時間はT0となる。一方、本
実施形態のごとく、非同期に元リード/元パリティ・リ
ードを行なうことにより、I/O命令kの待ち時間はt
0(≦T0)と短縮される。つまり、タグ番号により元
データおよび元パリティの両方の読出状態を管理するこ
とで、元パリティ/元データのリードを非同期に行なう
ことが可能になり、各磁気ディスク装置10のスループ
ットが大幅に向上する。
Further, when the original data / original parity read at the time of updating the parity is synchronized, the waiting time of the I / O instruction k becomes T0, as shown in FIG. 11 (a). On the other hand, as in the present embodiment, by performing the original read / original parity read asynchronously, the waiting time of the I / O instruction k is t.
It is shortened to 0 (≦ T0). That is, by controlling the read states of both the original data and the original parity by the tag number, the original parity / original data can be read asynchronously, and the throughput of each magnetic disk device 10 is greatly improved. .

【0076】(f)動的スケジューリングを行なう場合
の具体的な実施形態の説明 図12は動的スケジューリングを行なうディスクアレイ
装置の具体的な実施形態を示すブロック図である。この
図12に示すディスクアレイ装置は、図1,図3,図4
にて前述したディスクアレイ装置を組み合わせたもので
ある。なお、図12中、既述の符号と同一の符号はほぼ
同一の部分を示しているので、その詳細な説明は省略す
る。
(F) Description of Specific Embodiment when Dynamic Scheduling is Performed FIG. 12 is a block diagram showing a specific embodiment of a disk array device that performs dynamic scheduling. The disk array device shown in FIG. 12 is similar to that shown in FIGS.
It is a combination of the disk array devices described above. In FIG. 12, the same reference numerals as those used above indicate almost the same parts, and the detailed description thereof will be omitted.

【0077】図12に示すディスクアレイ装置もRAI
D5型のもので、このディスクアレイ装置でも、図3に
て前述した機能(タグ番号付与機能等)をもつアレイコ
ントローラ1Aが用いられている。また、図12に示す
ディスクアレイ装置では、図2にて前述した機能をもた
ないので、図5に示したデコード・ユニット42は省略
されている。さらに、図5に示したヘッド情報レジスタ
32としての機能は、図13にて後述するごとくスケジ
ューリング情報レジスタ61に組み込まれている。
The disk array device shown in FIG. 12 is also RAI
The D5 type disk array device also uses the array controller 1A having the functions (tag number assigning function, etc.) described above with reference to FIG. Further, the disk array device shown in FIG. 12 does not have the function described above with reference to FIG. 2, so the decode unit 42 shown in FIG. 5 is omitted. Further, the function as the head information register 32 shown in FIG. 5 is incorporated in the scheduling information register 61 as described later with reference to FIG.

【0078】この動的スケジューリングを行なうディス
クアレイ装置では、図12に示すように、動的スケジュ
ーリング装置6が、図5にて前述したものと同様の汎用
レジスタ31,オーダリング・レジスタ33,カウンタ
34,シーケンサ35,演算ユニット36およびI/O
レジスタ37のほか、スケジューリング情報レジスタ6
1を有して構成されている。
In the disk array device for performing this dynamic scheduling, as shown in FIG. 12, the dynamic scheduling device 6 includes a general-purpose register 31, an ordering register 33, a counter 34, and a register similar to those described above with reference to FIG. Sequencer 35, arithmetic unit 36 and I / O
In addition to the register 37, the scheduling information register 6
1 is configured.

【0079】このスケジューリング情報レジスタ61
は、図13にて後述する構成を有し、ヘッド位置情報と
オーダリング・レジスタ33に格納されているI/O命
令の情報とを格納するものである。また、図4にて前述
したプライオリティ・レジスタ7もそなえられており、
このプライオリティ・レジスタ7には、前述した通り、
オーダリング・レジスタ33に格納されているI/O命
令に対し、優先的に実行すべきI/O命令が格納される
ようになっている。
This scheduling information register 61
13 has a configuration described later with reference to FIG. 13, and stores head position information and I / O command information stored in the ordering register 33. Further, the priority register 7 described above in FIG. 4 is also provided,
In the priority register 7, as described above,
I / O instructions to be preferentially executed are stored with respect to the I / O instructions stored in the ordering register 33.

【0080】図13はスケジューリング情報レジスタ6
1の構成を示すもので、この図13において、611は
各磁気ディスク装置10に対応するエントリ・フィール
ドであり、このエントリ・フィールド611は、各命令
のトラック番号を格納するものである。また、612は
U/DI ビットで、このU/DI ビット612は、ヘッ
ドに対する命令対象のトラックの位置関係を表す情報を
設定されるものである。なお、Uは“UP”(ヘッド位
置よりもトラック番号が大きいこと)を示し、Dは“D
OWN”(ヘッド位置よりもトラック番号が小さいこ
と)を示し、添字の“I”は、当該ビット612が命令
(Instruction)に対応するものであることを示してい
る。
FIG. 13 shows the scheduling information register 6
In FIG. 13, reference numeral 611 is an entry field corresponding to each magnetic disk device 10, and this entry field 611 stores the track number of each instruction. Further, 612 is a U / D I bit, and this U / D I bit 612 is set with information indicating the positional relationship of the track of the command target with respect to the head. U indicates "UP" (the track number is larger than the head position), and D indicates "D".
OWN "(the track number is smaller than the head position), and the subscript" I "indicates that the bit 612 corresponds to an instruction.

【0081】また、613はヘッドのトラック番号(磁
気ディスク装置10上でのヘッド位置)を格納するフィ
ールドであり、614はU/DH ビットで、このU/D
H ビット614は、ヘッドの移動方向を示す設定される
ものである。なお、Uは“UP”(現在のヘッド位置か
らトラック番号の大きい方向へ移動すること)を示し、
Dは“DOWN”(現在のヘッド位置からトラック番号
の小さい方向へ移動すること)を示し、添字の“H”
は、当該ビット614がヘッド(Head)に対応するもの
であることを示している。
Reference numeral 613 is a field for storing the track number of the head (head position on the magnetic disk device 10), and 614 is the U / D H bit, which is the U / D
The H bit 614 is set to indicate the moving direction of the head. Note that U indicates “UP” (moving from the current head position in the direction of the larger track number),
D indicates "DOWN" (moving from the current head position in the direction of the smaller track number), and the subscript "H"
Indicates that the bit 614 corresponds to the head.

【0082】次に、上述のごとく構成された、本実施形
態の動的スケジューリングを行なうディスクアレイ装置
の動作について説明する。本実施形態は、I/O命令の
動的スケジューリングを除き、図5〜図11により先に
説明した静的スケジューリングを行なうディスクアレイ
装置と同一の処理を行なう。本実施形態では、I/O命
令のフェッチを要求するフェッチ・ユニット41は、F
IFOバッファ21からI/O命令を取り出すと、その
命令を汎用レジスタ31に格納する。I/O命令格納
後、シーケンサ35は、演算ユニット36にスケジュー
リング処理の開始を指示する。
Next, the operation of the disk array system for dynamic scheduling according to the present embodiment configured as described above will be described. This embodiment performs the same processing as that of the disk array device for performing static scheduling described above with reference to FIGS. 5 to 11, except for dynamic scheduling of I / O instructions. In the present embodiment, the fetch unit 41 that requests fetching of I / O instructions is
When the I / O instruction is fetched from the IFO buffer 21, the instruction is stored in the general-purpose register 31. After storing the I / O instruction, the sequencer 35 instructs the arithmetic unit 36 to start the scheduling process.

【0083】演算ユニット36は、I/O命令のアクセ
スするトラック番号と、スケジューリング情報レジスタ
61内のヘッド番号613とを比較する。比較の結果、 (a)〔フィールド613のヘッドのトラック番号〕>
〔I/O命令のトラック番号〕の場合:当該I/O命令
のU/DI ビット612=D (b)〔フィールド613のヘッドのトラック番号〕<
〔I/O命令のトラック番号〕の場合:当該I/O命令
のU/DI ビット612=U とする。
The arithmetic unit 36 compares the track number accessed by the I / O instruction with the head number 613 in the scheduling information register 61. As a result of the comparison, (a) [track number of head in field 613]>
In the case of [track number of I / O instruction]: U / D I bit 612 = D (b) of the I / O instruction [track number of head of field 613] <
In the case of [track number of I / O instruction]: U / D I bit 612 = U of the I / O instruction.

【0084】次に、先に求めた当該I/O命令のU/D
I ビット612と、スケジューリング情報レジスタ61
上のI/O命令〔i,j〕(0≦i≦m−2)のU/D
I ビット612とを比較する。このとき、 1.U/DI ビット612と一致する場合:トラック番
号〔i,j〕611と比較する。
Next, the U / D of the I / O instruction that was previously obtained
I bit 612 and scheduling information register 61
U / D of the above I / O instruction [i, j] (0≤i≤m-2)
Compare with I bit 612. At this time, 1. If it matches the U / D I bit 612: Compare with the track number [i, j] 611.

【0085】(a)〔トラック番号〔i,j〕611〕
>〔当該I/O命令のトラック番号〕の時 ・U/DI =Uならば、I/O命令〔i,j〕の前に、
当該I/O命令をソートし、オーダリング・レジスタ3
3に格納する。このときI/O命令〔0,j〕であるな
らば、当該I/O命令は、プライオリティ・レジスタ7
へ格納する。
(A) [Track number [i, j] 611]
> [Track number of the I / O command] • If U / D I = U, before I / O command [i, j],
The I / O instructions are sorted and the ordering register 3
3 is stored. At this time, if it is the I / O instruction [0, j], the I / O instruction is the priority register 7
To store.

【0086】・U/DI =Dならば、I/O命令〔i+
1,j〕に関して、再びU/DI ビット612の比較処
理を行なう。 (b)〔トラック番号〔i,j〕611〕<〔当該I/
O命令のトラック番号〕の時 ・U/DI =Uならば、I/O命令〔i+1,j〕に関
して、再びU/DI ビット612の比較処理を行なう。
If U / D I = D, I / O instruction [i +
1, j], the U / D I bit 612 is compared again. (B) [track number [i, j] 611] <[corresponding I /
When the track number of the O command] U / D I = U, the U / D I bit 612 is compared again for the I / O command [i + 1, j].

【0087】・U/DI =Dならば、I/O命令〔i,
j〕の前に、当該I/O命令をソートし、オーダリング
・レジスタ33に格納する。このときI/O命令〔0,
j〕であるならば、当該I/O命令は、プライオリティ
・レジスタ7へ格納する。 2.U/DI ビット612と一致する場合:U/DH
ット614を参照する。
If U / D I = D, I / O instruction [i,
j], the I / O instructions are sorted and stored in the ordering register 33. At this time, I / O instruction [0,
j], the I / O instruction is stored in the priority register 7. 2. If it matches U / D I bit 612: See U / D H bit 614.

【0088】・U/DH ビット614と一致するなら
ば、I/O命令〔i,j〕の前に、当該I/O命令をソ
ートし、オーダリング・レジスタ33に格納する。 ・U/DH ビット614と一致しなければ、I/O命令
〔i+1,j〕に関して、再びU/DH ビット614の
比較処理を行なう。もし、スケジューリング情報レジス
タ61に格納されている最後のI/O命令であるなら
ば、本命令をオーダリング・レジスタ33の最後尾に登
録する。
If it matches the U / D H bit 614, the I / O instruction is sorted before the I / O instruction [i, j] and stored in the ordering register 33. If the U / D H bit 614 does not match, the U / D H bit 614 is compared again for the I / O instruction [i + 1, j]. If it is the last I / O instruction stored in the scheduling information register 61, this instruction is registered at the end of the ordering register 33.

【0089】シーケンサ35は、外部I/F38を通じ
てアレイコントローラ1から、I/O命令を転送するよ
う指示を受けると、演算ユニット36に対して処理の開
始を要求する。演算ユニット36は、プライオリティ・
レジスタ7にI/O命令があれば、プライオリティ・レ
ジスタ7から、そうでなければオーダリング・レジスタ
33からI/O命令を取り出し、I/Oレジスタ37へ
格納する。
When the sequencer 35 receives an instruction to transfer an I / O command from the array controller 1 through the external I / F 38, the sequencer 35 requests the arithmetic unit 36 to start processing. The arithmetic unit 36 has a priority
If there is an I / O instruction in the register 7, the I / O instruction is fetched from the priority register 7 and, if not, from the ordering register 33 and stored in the I / O register 37.

【0090】シーケンサ35の指示を受けた外部I/F
38は、I/Oレジスタ37に格納されたI/O命令を
アレイコントローラ1に送信する。このように、図12
〜図14に示した実施形態のディスクアレイ装置によれ
ば、図5〜図11に示したものと同様に、各磁気ディス
ク装置10においてアクセス要求のスケジューリングを
行なうことによりシーク時間を削減でき、ディスクアレ
イ装置の性能(データ転送処理の高速化等の性能)が大
幅に向上するとともに、元パリティ/元データのリード
を非同期に行なうことが可能で、各磁気ディスク装置1
0のスループットが大幅に向上する。
External I / F instructed by the sequencer 35
38 transmits the I / O command stored in the I / O register 37 to the array controller 1. Thus, FIG.
According to the disk array device of the embodiment shown in FIGS. 14A-14D, the seek time can be reduced by scheduling access requests in each magnetic disk device 10 as in the case of the disk array device shown in FIGS. The array device performance (performance of speeding up data transfer processing, etc.) is significantly improved, and original parity / original data can be read asynchronously.
The 0 throughput is greatly improved.

【0091】さらに、図14(a)に示すように、静的
スケジューリング時のヘッドのトラック移動距離を“Di
stanceS ”とすると、 Distances =leng(i) +leng(j) +leng(k) であるが、図14(b)に示すように、動的スケジュー
リングを行なった時のヘッドのトラック移動距離を“Di
stanceD ”とすると、 DistanceD =leng(i) +leng(j) となる。
Further, as shown in FIG. 14A, the head track movement distance during static scheduling is set to "Di
stance S ”, Distance s = leng (i) + leng (j) + leng (k), but as shown in FIG. 14B, the track movement distance of the head when dynamic scheduling is performed is Di
If stance D ”, Distance D = leng (i) + leng (j).

【0092】つまり、動的スケジューリングを行なうこ
とにより、I/O命令kに関するトラック移動距離は、
“Distances −DistanceD (=leng(k))”、シーク時間
もO(leng(k))だけ削減される。従って、I/O要求の
動的スケジューリングにより、静的スケジューリング時
に比べて、シーク時間がより削減され、磁気ディスク装
置10のサービス時間のさらなる改善を行なえ、データ
転送処理の高速化等の性能をより一層向上させることが
できる。
That is, by performing the dynamic scheduling, the track movement distance for the I / O command k is
“Distance s −Distance D (= leng (k))”, seek time is also reduced by O (leng (k)). Therefore, the dynamic I / O request scheduling reduces the seek time more than the static scheduling, further improves the service time of the magnetic disk device 10, and further improves the performance such as speeding up of data transfer processing. It can be further improved.

【0093】[0093]

【発明の効果】以上詳述したように、第1の発明のディ
スクアレイ装置によれば、各ディスク装置への負荷分散
に加え、各ディスク装置毎にスケジューリングが行なわ
れるので、各ディスク装置でのヘッドのシーク時間を短
縮・削減して各ディスク装置のサービス時間が改善さ
れ、データ転送処理の高速化等の性能を大幅に向上でき
る効果がある。
As described above in detail, according to the disk array device of the first invention, in addition to the load distribution to each disk device, the scheduling is performed for each disk device. There is an effect that the seek time of the head is shortened / reduced, the service time of each disk device is improved, and the performance such as speeding up of data transfer processing can be greatly improved.

【0094】また、第2の発明のディスクアレイ装置に
よれば、リード命令をライト命令よりも優先的に実行す
ることができ、リード/ライト命令混在実行時に比べて
リード命令のレスポンス・タイムを大幅に短縮できるの
で、入出力要求を行なう上位装置(ホスト)側での待ち
時間が改善され、上位装置側での処理性能向上にも寄与
する。
Further, according to the disk array device of the second aspect of the present invention, the read command can be executed with priority over the write command, and the response time of the read command is greatly increased as compared with the read / write command mixed execution. Therefore, the waiting time on the higher-level device (host) side that makes an input / output request is improved, which also contributes to the improvement of the processing performance on the higher-level device side.

【0095】さらに、第3の発明のディスクアレイ装置
によれば、パリティ更新時の元データ/元パリティのリ
ード処理時の同期をとる必要が無くなる、つまり、パリ
ティ更新時の元データと元パリティとのリード処理を非
同期に行なえるので、前述のように各ディスク装置毎に
スケジューリングを行なった場合にそのスケジューリン
グの効果を損なうことがなく、各ディスク装置のスルー
プットの向上を実現できる。
Furthermore, according to the disk array device of the third invention, it is not necessary to synchronize the read processing of the original data / the original parity at the time of updating the parity, that is, the original data and the original parity at the time of updating the parity. Since the read processing can be performed asynchronously, when the scheduling is performed for each disk device as described above, the effect of the scheduling is not impaired, and the throughput of each disk device can be improved.

【0096】そして、第4の発明のディスクアレイ装置
によれば、各ディスク装置に対する入出力命令列の実行
順序を動的に並び換えることが可能になり、ディスク装
置のサービス時間のさらなる改善を行なえ、データ転送
処理の高速化等の性能をより一層向上させることができ
る。
According to the disk array device of the fourth aspect of the present invention, it is possible to dynamically rearrange the execution order of the input / output instruction sequence for each disk device, and further improve the service time of the disk device. The performance such as speeding up of data transfer processing can be further improved.

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

【図1】第1の発明の一実施形態としてのディスクアレ
イ装置を示すブロック図である。
FIG. 1 is a block diagram showing a disk array device as an embodiment of a first invention.

【図2】第2の発明の一実施形態としてのディスクアレ
イ装置を示すブロック図である。
FIG. 2 is a block diagram showing a disk array device as an embodiment of a second invention.

【図3】第3の発明の一実施形態としてのディスクアレ
イ装置を示すブロック図である。
FIG. 3 is a block diagram showing a disk array device as an embodiment of a third invention.

【図4】第4の発明の一実施形態としてのディスクアレ
イ装置を示すブロック図である。
FIG. 4 is a block diagram showing a disk array device as an embodiment of a fourth invention.

【図5】静的スケジューリングを行なうディスクアレイ
装置の具体的な実施形態を示すブロック図である。
FIG. 5 is a block diagram showing a specific embodiment of a disk array device that performs static scheduling.

【図6】本実施形態におけるヘッド情報レジスタの構成
を示す図である。
FIG. 6 is a diagram showing a configuration of a head information register in the present embodiment.

【図7】本実施形態におけるオーダリング・レジスタの
構成を示す図である。
FIG. 7 is a diagram showing a configuration of an ordering register in the present embodiment.

【図8】本実施形態におけるリザベーション・レジスタ
の構成を示す図である。
FIG. 8 is a diagram showing a configuration of a reservation register in the present embodiment.

【図9】本実施形態におけるタグ・レジスタの構成を示
す図である。
FIG. 9 is a diagram showing a configuration of a tag register in the present embodiment.

【図10】(a),(b)は本実施形態でのリード命令
についてのレスポンス・タイムの短縮効果を従来と比較
して示す図である。
10 (a) and 10 (b) are diagrams showing a response time shortening effect for a read instruction in the present embodiment, as compared with the related art.

【図11】(a),(b)は本実施形態でのパリティ更
新処理時の非同期操作による効果を従来と比較して示す
図である。
11A and 11B are diagrams showing an effect of an asynchronous operation at the time of parity update processing according to the present embodiment, as compared with the related art.

【図12】動的スケジューリングを行なうディスクアレ
イ装置の具体的な実施形態を示すブロック図である。
FIG. 12 is a block diagram showing a specific embodiment of a disk array device that performs dynamic scheduling.

【図13】本実施形態のスケジューリング情報レジスタ
の構成を示す図である。
FIG. 13 is a diagram showing a configuration of a scheduling information register of this embodiment.

【図14】(a),(b)の本実施形態の動的スケジュ
ーリング実施時の効果を動的スケジューリングを実施し
ない場合と比較して示す図である。
FIGS. 14A and 14B are diagrams showing the effects of performing the dynamic scheduling according to the present embodiment of FIGS. 14A and 14B in comparison with the case where the dynamic scheduling is not performed.

【図15】RAID3型のディスクアレイ装置を説明す
るためのブロック図である。
FIG. 15 is a block diagram for explaining a RAID 3 type disk array device.

【図16】RAID4型のディスクアレイ装置を説明す
るためのブロック図である。
FIG. 16 is a block diagram for explaining a RAID 4 type disk array device.

【図17】RAID5型のディスクアレイ装置を説明す
るためのブロック図である。
FIG. 17 is a block diagram for explaining a RAID 5 type disk array device.

【符号の説明】 1 アレイコントローラ 1A アレイコントローラ(タグ番号付与機能) 2 記憶装置(スケジューリング機能) 3,3A,3B,3C スケジューリング装置(スケジ
ューリング機能) 4 命令デコード装置 5 パリティ制御装置(パリティ制御機能) 6 動的スケジューリング装置(動的スケジューリング
機能) 7 プライオリティ・レジスタ 10 磁気ディスク装置 21 FIFOバッファ 31 汎用レジスタ 32 ヘッド情報レジスタ 33 オーダリング・レジスタ 34 カウンタ 35 シーケンサ 36 演算ユニット 37 I/Oレジスタ 38 外部インタフェース 41 フェッチ・ユニット 42 デコード・ユニット 51 リザベーション・レジスタ 52 タグ・レジスタ 61 スケジューリング情報レジスタ
[Explanation of Codes] 1 Array Controller 1A Array Controller (Tag Numbering Function) 2 Storage Device (Scheduling Function) 3,3A, 3B, 3C Scheduling Device (Scheduling Function) 4 Instruction Decoding Device 5 Parity Control Device (Parity Control Function) 6 Dynamic Scheduling Device (Dynamic Scheduling Function) 7 Priority Register 10 Magnetic Disk Device 21 FIFO Buffer 31 General-purpose Register 32 Head Information Register 33 Ordering Register 34 Counter 35 Sequencer 36 Arithmetic Unit 37 I / O Register 38 External Interface 41 Fetch Unit 42 Decode unit 51 Reservation register 52 Tag register 61 Scheduling information register

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数のディスク装置と、外部からの入出
力命令に応じて前記の各ディスク装置に対する読出/書
込アクセスを制御するアレイコントローラとをそなえて
なるディスクアレイ装置において、 外部から受け付けた複数の入出力命令を、前記の各ディ
スク装置におけるヘッドのトラック移動回数が少なくな
るように並び換え、各入出力命令の実行を該アレイコン
トローラに指示するスケジューリング機能がそなえられ
たことを特徴とする、ディスクアレイ装置。
1. A disk array device comprising a plurality of disk devices and an array controller for controlling read / write access to each of the disk devices in response to external input / output commands A plurality of input / output instructions are rearranged so that the number of head track movements in each disk device is reduced, and a scheduling function for instructing the array controller to execute each input / output instruction is provided. , Disk array device.
【請求項2】 複数のディスク装置と、外部からの入出
力命令に応じて前記の各ディスク装置に対する読出/書
込アクセスを制御するアレイコントローラとをそなえて
なるディスクアレイ装置において、 外部から受け付けた入出力命令の命令種を解析するデコ
ード機能と、 該デコード機能により解析された命令種に基づいて外部
から受け付けた複数の入出力命令を並び換え、各入出力
命令の実行を該アレイコントローラに指示するスケジュ
ーリング機能とがそなえられたことを特徴とする、ディ
スクアレイ装置。
2. A disk array device comprising a plurality of disk devices and an array controller for controlling read / write access to each of said disk devices in response to an external input / output command. A decode function for analyzing the instruction type of the input / output instruction, and a plurality of input / output instructions received from the outside are rearranged based on the instruction type analyzed by the decode function, and the array controller is instructed to execute each input / output instruction. A disk array device, which is provided with a scheduling function to perform.
【請求項3】 複数のディスク装置と、外部からの入出
力命令に応じてパリティ用のディスク装置を固定するこ
となく前記の各ディスク装置に対して並列的に読出/書
込アクセスを実行するように制御するアレイコントロー
ラとをそなえてなるRAID5型のディスクアレイ装置
において、 パリティ更新時に必要とされる元データおよび元パリテ
ィに関する入出力命令に対してタグ番号を付与するタグ
番号付与機能と、 タグ番号を付与された入出力命令を実行する際にはその
タグ番号を登録され、元データおよび元パリティの両方
の読出状態を管理し、元データおよび元パリティの両方
が読み出された場合にパリティ更新処理が可能になった
ことを該アレイコントローラに通知するパリティ制御機
能とがそなえられたことを特徴とする、ディスクアレイ
装置。
3. A plurality of disk devices and a read / write access to each of the disk devices are executed in parallel without fixing the disk device for parity according to an input / output command from the outside. In a RAID 5 type disk array device including an array controller for controlling the above, a tag number assigning function for assigning a tag number to an input / output instruction related to the original data and the original parity required at the time of updating the parity, and a tag number When executing an input / output instruction assigned with, the tag number is registered, the read state of both original data and original parity is managed, and parity is updated when both original data and original parity are read. A parity control function for notifying the array controller that processing has become possible is provided. Kuarei apparatus.
【請求項4】 複数のディスク装置と、外部からの入出
力命令に応じて前記の各ディスク装置に対する読出/書
込アクセスを制御するアレイコントローラとをそなえて
なるディスクアレイ装置において、 外部から受け付けた複数の入出力命令を、前記の各ディ
スク装置におけるヘッドのトラック移動回数が少なくな
るように並び換え、各入出力命令の実行を該アレイコン
トローラに指示するとともに、スケジューリング済みの
入出力命令よりも優先的に実行すべき他の入出力命令を
受け付けた場合に、前記スケジューリング済みの入出力
命令よりも先に当該他の入出力命令の実行を該アレイコ
ントローラに指示する動的スケジューリング機能がそな
えられたことを特徴とする、ディスクアレイ装置。
4. A disk array device comprising a plurality of disk devices and an array controller for controlling read / write access to each of said disk devices in response to an external input / output command. The plurality of input / output instructions are rearranged so that the number of head track movements in each disk device is reduced, the execution of each input / output instruction is instructed to the array controller, and the input / output instructions have priority over the scheduled input / output instructions. When another I / O instruction to be executed is accepted, a dynamic scheduling function is provided to instruct the array controller to execute the other I / O instruction prior to the scheduled I / O instruction. A disk array device characterized by the above.
JP32331995A 1995-12-12 1995-12-12 Disk array device Expired - Fee Related JP3648311B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32331995A JP3648311B2 (en) 1995-12-12 1995-12-12 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32331995A JP3648311B2 (en) 1995-12-12 1995-12-12 Disk array device

Publications (2)

Publication Number Publication Date
JPH09160729A true JPH09160729A (en) 1997-06-20
JP3648311B2 JP3648311B2 (en) 2005-05-18

Family

ID=18153470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32331995A Expired - Fee Related JP3648311B2 (en) 1995-12-12 1995-12-12 Disk array device

Country Status (1)

Country Link
JP (1) JP3648311B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969404B1 (en) * 2002-01-08 2010-07-14 엘지전자 주식회사 Disk scheduling method for image recording apparatus
JP2015158725A (en) * 2014-02-21 2015-09-03 富士通株式会社 Storage control device, storage device, and storage control program
JP2016131037A (en) * 2010-09-15 2016-07-21 ピュア・ストレージ・インコーポレイテッド Scheduling of i/o in solid-state drive (ssd) environment
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969404B1 (en) * 2002-01-08 2010-07-14 엘지전자 주식회사 Disk scheduling method for image recording apparatus
JP2016131037A (en) * 2010-09-15 2016-07-21 ピュア・ストレージ・インコーポレイテッド Scheduling of i/o in solid-state drive (ssd) environment
US10126982B1 (en) 2010-09-15 2018-11-13 Pure Storage, Inc. Adjusting a number of storage devices in a storage system that may be utilized to simultaneously service high latency operations
US10353630B1 (en) 2010-09-15 2019-07-16 Pure Storage, Inc. Simultaneously servicing high latency operations in a storage system
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US11435904B1 (en) 2010-09-28 2022-09-06 Pure Storage, Inc. Dynamic protection data in a storage system
US11797386B2 (en) 2010-09-28 2023-10-24 Pure Storage, Inc. Flexible RAID layouts in a storage system
JP2015158725A (en) * 2014-02-21 2015-09-03 富士通株式会社 Storage control device, storage device, and storage control program

Also Published As

Publication number Publication date
JP3648311B2 (en) 2005-05-18

Similar Documents

Publication Publication Date Title
JP3053511B2 (en) Method of storing data blocks of digital information and disk storage device therefor
US6604172B2 (en) Disk array device with selectable method for generating redundant data
US5072378A (en) Direct access storage device with independently stored parity
US5696933A (en) Apparatus for controlling data writing into a disk array system including a data length detecting unit and a writing mode selector
US5860091A (en) Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
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
US5720027A (en) Redundant disc computer having targeted data broadcast
EP0507552B1 (en) Method and apparatus for accessing variable length records stored on fixed block formatted direct access storage devices
JPH0772985A (en) Method for delay initiation of read-modify-write parity operation in raid-level 5-disk array
JPH08161124A (en) Computer system
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP3648311B2 (en) Disk array device
JPH07200187A (en) Disk array device
JP2857288B2 (en) Disk array device
JP2981711B2 (en) Disk storage device
JPH0863394A (en) Storage device system and controlling mathod for storage device
JP3122252B2 (en) Disk array control method
JP2857289B2 (en) Disk array device
KR100423812B1 (en) RAID Controller and Parity Operator Method having Disk Cash Memory Controller and Parity Operator Device
JPH10312246A (en) Storage device subsystem
JPH0830402A (en) Parity storing method
JPH11119915A (en) Disk array device
EP0661639A1 (en) Data prefetch in mass data storage systems
JP2845770B2 (en) Disk array device
JPH04311217A (en) External storage controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees