JP3250861B2 - Disk device system - Google Patents

Disk device system

Info

Publication number
JP3250861B2
JP3250861B2 JP04805193A JP4805193A JP3250861B2 JP 3250861 B2 JP3250861 B2 JP 3250861B2 JP 04805193 A JP04805193 A JP 04805193A JP 4805193 A JP4805193 A JP 4805193A JP 3250861 B2 JP3250861 B2 JP 3250861B2
Authority
JP
Japan
Prior art keywords
command
disk
queue
commands
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP04805193A
Other languages
Japanese (ja)
Other versions
JPH06259198A (en
Inventor
純 松本
聡一 磯野
高 大枝
直人 松並
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP04805193A priority Critical patent/JP3250861B2/en
Publication of JPH06259198A publication Critical patent/JPH06259198A/en
Application granted granted Critical
Publication of JP3250861B2 publication Critical patent/JP3250861B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ハ−ド・ディスク、光
ディスク及び半導体ディスク等のディスク装置を使用す
るディスク装置システムにおける、大容量データの高速
書き込み、読み出し処理に関する。複数ディスク装置で
構成されるディスクアレイのコマンド処理にも適する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-speed writing / reading process of large-capacity data in a disk drive system using a disk drive such as a hard disk, an optical disk and a semiconductor disk. It is also suitable for command processing of a disk array composed of a plurality of disk devices.

【0002】[0002]

【従来の技術】ファイルシステムの大容量化とトランザ
クション性能の向上が求められる中、大量のデ−タを高
速に処理する一方式として特開平2−236714号公
報に開示されるアレイ型ディスク駆動機構システム及び
方法がある。この方式を図10を用いて説明する。
2. Description of the Related Art As an increase in the capacity of a file system and an improvement in transaction performance are required, an array-type disk drive mechanism disclosed in Japanese Patent Application Laid-Open No. 2-236714 discloses a method for processing a large amount of data at high speed. There are systems and methods. This method will be described with reference to FIG.

【0003】図10において、10はRead/Wri
teコマンドを発行する上位計算機、11はデ−タの分
配・集合制御を行うアレイ・コントロ−ラである。11
の中で、12は上位計算機とのコマンド及びデ−タの授
受を行う上位計算機I/F部、13はタスク実行管理を
行うタスク制御部、14はコマンド多重処理の最適化を
行うコマンド処理管理部、及び上位計算機12からのコ
マンドをディスクアレイのコマンドに再編成するアドレ
ス変換や各ディスク装置へのコマンド生成、発行、終了
処理を行うコマンド処理部、15は割込み処理部、16
〜20はディスクとのコマンド及びデ−タ授受を行うデ
ィスク装置I/F部、21〜25はデ−タの書き込み、
読みだしを行うディスク装置である。なお、ここで扱う
コマンドはSCSIコマンドであり、それ自体がコマン
ドの種類、論理ブロックアドレス(以下LBAと記
す)、転送長の3つの要素を持っている。
In FIG. 10, reference numeral 10 denotes Read / Wri.
An upper-level computer that issues a te command, and 11 is an array controller that performs data distribution / set control. 11
Among them, 12 is a higher-level computer I / F section that exchanges commands and data with a higher-level computer, 13 is a task control section that performs task execution management, and 14 is a command processing management that optimizes command multiplex processing. And a command processing unit for reorganizing commands from the host computer 12 into commands of the disk array, and for generating, issuing, and terminating commands to the respective disk devices.
Numerals 20 to 20 denote a disk device I / F section for sending and receiving commands and data to and from the disk, and 21 to 25 for writing data.
This is a disk device that performs reading. Note that the command handled here is a SCSI command, which itself has three elements of a command type, a logical block address (hereinafter referred to as LBA), and a transfer length.

【0004】まず、図10に示すアレイ・コントロ−ラ
11によって複数のドライブ装置21〜25を多重動作
(並行に動作させること)させる。上位計算機10から
転送されるコマンド・デ−タは、アレイ・コントロ−ラ
11のコマンド処理管理部15にて、各ディスク装置に
所定の単位で振り分けるためにアドレス変換される。各
コマンドをファーストイン・ファーストアウト方式(以
下FIFO方式と記す)により到着順にタスク制御管理
部13や割込み処理部15の管理の下で、ディスク装置
I/F部16〜20を介して、各ディスク装置21〜2
5に書き込む。コマンド・デ−タの読み出しの場合に
は、各ディスク装置21〜25から読み出された分割さ
れたコマンド・デ−タをアレイ・コントロ−ラ11で1
つのデ−タに統合し、上位計算機10に送出する。
First, a plurality of drive devices 21 to 25 are multiplexed (operated in parallel) by the array controller 11 shown in FIG. The command data transferred from the host computer 10 is subjected to address conversion by the command processing management unit 15 of the array controller 11 so as to be distributed to each disk device in a predetermined unit. Under the control of the task control management unit 13 and the interrupt processing unit 15, each command is sent to each disk via the disk device I / F units 16 to 20 in the order of arrival by the first-in first-out method (hereinafter referred to as FIFO method). Devices 21 and 2
Write 5 In the case of reading command data, the divided command data read from each of the disk devices 21 to 25 is read by the array controller 11 as one.
The data is integrated into one set of data and sent to the host computer 10.

【0005】[0005]

【発明が解決しようとする課題】かかる従来の方法にお
いては以下の課題がある。
The conventional method has the following problems.

【0006】すなわち、従来のコマンドを到着順に処理
するFIFO方式では、上位計算機が複数ディスクに対
してRead/Writeコマンドを実行する場合、連
続データをアクセスする複数のコマンド列中に、該連続
データに無関係なデータをアクセスするコマンドが混在
するような場合、その混入毎にヘッドシークが発生し、
著しく連続データ転送特性を低下させるという課題があ
る。
That is, in the conventional FIFO method in which commands are processed in the order of arrival, when a host computer executes a Read / Write command on a plurality of disks, the continuous data is included in a plurality of command strings for accessing the continuous data. When commands that access irrelevant data are mixed, a head seek occurs for each mixed command.
There is a problem that the continuous data transfer characteristic is significantly reduced.

【0007】また、あるコマンドがディスク装置0とデ
ィスク装置1の2台のディスクを使用するような場合、
ディスク装置0がアクセス待ちをしていると、ディスク
装置1は未使用にもかかわらず、そのコマンドに確保さ
れたままになっているために、後から到着するコマンド
がディスク装置1を利用することができず、多重動作が
制限されるという課題がある。
If a command uses two disks, disk device 0 and disk device 1,
When the disk device 0 is waiting for access, the disk device 1 is reserved for the command even though the disk device 1 is unused, so that a command arriving later uses the disk device 1. And the multiplexing operation is limited.

【0008】本発明の目的は、コマンドの実行順序を変
更して、処理の高速化を実現したディスク装置システム
を提供することである。
An object of the present invention is to provide a disk drive system in which the speed of processing is realized by changing the execution order of commands.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
め、ディスク装置と上記ディスク装置を制御するディス
ク制御装置とを有し、外部からの、データの読み出しま
たは書き込みのコマンドを受けて、上記データの読み出
しまたは書き込みを行うディスク装置システムにおい
て、上記ディスク制御装置は、上記コマンドを受信する
受信手段と、上記コマンドを蓄積する第一コマンドキュ
ーと、上記蓄積されたコマンドの実行時間の総和を短縮
するように上記コマンドの実行順序を変更する実行順制
御手段とを有することとしたものである。
In order to achieve the above object, the present invention has a disk device and a disk control device for controlling the disk device, and receives a data read or write command from outside, and In a disk device system that reads or writes data, the disk control device includes a receiving unit that receives the command, a first command queue that stores the command, and a total execution time of the stored command reduced. Execution order control means for changing the execution order of the above commands.

【0010】[0010]

【作用】コマンドが第一コマンドキューに入り、上記蓄
積されたコマンドの実行時間の総和を短縮するように上
記コマンドの実行順序を変更することにより、高速化が
図れる。
The command enters the first command queue, and the execution order of the commands is changed so as to shorten the total execution time of the accumulated commands, thereby achieving higher speed.

【0011】たとえば、実行順制御手段が第一コマンド
キューのコマンド群について、連続領域アクセス可能性
を考慮して並び変え、並び変えが終わったコマンドから
実行を開始することで、連続領域アクセスデータをまと
めて処理することができる。
For example, the execution order control means rearranges the command group in the first command queue in consideration of the continuous area access possibility, and starts execution from the rearranged command, so that the continuous area access data is transferred. They can be processed together.

【0012】これにより、分断された連続領域アクセス
データをまとめて1つのコマンド群として処理すること
で、ディスクヘッドのシーク等を減らすことができ、高
速化を実現することである。
Thus, by processing the divided continuous area access data collectively as one command group, it is possible to reduce the seek of the disk head and the like, thereby realizing high speed operation.

【0013】また、第一コマンドキューのコマンド群に
ついて多重実行可能性を考慮して、並び変え、並び変え
が終わったコマンドから実行を開始することで、コマン
ドを多重実行することができる。
Also, in consideration of the possibility of multiple executions of the command group in the first command queue, commands can be executed multiple times by rearranging them and starting execution from the rearranged commands.

【0014】これにより、複数のディスク装置が極力多
重実行可能なように、コマンドを並び変えられるので、
ディスクの稼働率を上げ、1コマンドあたりの平均処理
時間を短縮することができる。
Thus, commands can be rearranged so that a plurality of disk devices can execute multiple operations as much as possible.
The operating rate of the disk can be increased, and the average processing time per command can be reduced.

【0015】[0015]

【実施例】本発明の第一実施例を図1〜4、11を用い
て説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first embodiment of the present invention will be described with reference to FIGS.

【0016】図11に示す本ディスク装置システム(デ
ィスクアレイ)は、Read/Writeコマンドを発
行する上位計算機10から、コマンドを受けてデ−タの
分配・集合制御を行うアレイ・コントロ−ラ11(ディ
スク制御装置)と、デ−タの書き込み、読みだしを行う
ディスク装置21〜25とを有する。アレイ・コントロ
−ラ11は、上位計算機とのコマンド及びデ−タの授受
を行う上位計算機I/F部12と、タスク実行管理を行
うタスク制御部13と、コマンド多重処理の最適化を行
うコマンド処理並びに管理、及び上位計算機10からの
コマンドをディスクアレイのコマンドに再編成するアド
レス変換や各ディスク装置へのコマンド生成、発行、終
了処理を行うコマンド処理及び管理部141と、割込み
処理部15と、ディスクとのコマンド及びデ−タ授受を
行うディスク装置I/F部16〜20とを有する。な
お、ここで扱うコマンドはSCSIコマンドであり、そ
れ自体がコマンドの種類、論理ブロックアドレス(以下
LBAと記す)、転送長の3つの要素を持っている。
The present disk device system (disk array) shown in FIG. 11 receives a command from a host computer 10 that issues a Read / Write command and performs an array controller 11 (which controls data distribution and collection). A disk controller) and disk devices 21 to 25 for writing and reading data. The array controller 11 includes a higher-level computer I / F unit 12 that exchanges commands and data with a higher-level computer, a task control unit 13 that performs task execution management, and a command that optimizes command multiplexing processing. A command processing and management unit 141 for performing address conversion for reorganizing commands from the host computer 10 into commands of the disk array, and generating, issuing, and terminating commands to the respective disk devices; an interrupt processing unit 15; And disk device I / F units 16 to 20 for sending and receiving commands and data to and from a disk. Note that the command handled here is a SCSI command, which itself has three elements of a command type, a logical block address (hereinafter referred to as LBA), and a transfer length.

【0017】まず、図11に示すアレイ・コントロ−ラ
11によって複数のドライブ装置21〜25を多重動作
(並行に動作させること)させる。上位計算機10から
転送されるコマンド・デ−タは、アレイ・コントロ−ラ
11のコマンド処理管理部15にて、各ディスク装置に
所定の単位で振り分けるためにアドレス変換される。各
コマンドをファーストイン・ファーストアウト方式(以
下FIFO方式と記す)により到着順にタスク制御管理
部13や割込み処理部15の管理の下で、ディスク装置
I/F部16〜20を介して、各ディスク装置21〜2
5に書き込む。コマンド・デ−タの読み出しの場合に
は、各ディスク装置21〜25から読み出された分割さ
れたコマンド・デ−タをアレイ・コントロ−ラ11で1
つのデ−タに統合し、上位計算機10に送出する。
First, a plurality of drive devices 21 to 25 are multiplexed (operated in parallel) by the array controller 11 shown in FIG. The command data transferred from the host computer 10 is subjected to address conversion by the command processing management unit 15 of the array controller 11 so as to be distributed to each disk device in a predetermined unit. Under the control of the task control management unit 13 and the interrupt processing unit 15, each command is sent to each disk via the disk device I / F units 16 to 20 in the order of arrival by the first-in first-out method (hereinafter referred to as FIFO method). Devices 21 and 2
Write 5 In the case of reading command data, the divided command data read from each of the disk devices 21 to 25 is read by the array controller 11 as one.
The data is integrated into one set of data and sent to the host computer 10.

【0018】図1は、コマンド処理及び管理部141の
詳細を表わした図である。
FIG. 1 is a diagram showing details of the command processing and management unit 141.

【0019】コマンド処理及び管理部141は、上位計
算機からのRead/Writeコマンドを受信する上
位計算機コマンド受信部30(受信手段)と、Read
/Writeコマンドの持つLBAと転送長から、上位
計算機が送出したコマンドをアレイディスクのコマンド
に再編成するアドレス変換部31と、Read/Wri
teコマンドの実行順を並び変えるコマンド・スケジュ
−ラ32とを有する。
The command processing and management unit 141 includes a host computer command receiving unit 30 (receiving means) for receiving a Read / Write command from a host computer, and a Read.
From the LBA and transfer length of the / Write command, an address conversion unit 31 for reorganizing the command sent from the host computer into a command of the array disk, and a Read / Wri
and a command scheduler 32 for rearranging the execution order of the te command.

【0020】コマンド・スケジュ−ラ32は、到着コマ
ンドが待機するコマンド待機キュー33(第2コマンド
キュー)と、コマンドの並び変えに用いるコマンド並び
変えキュー34(第1コマンドキュー)と、コマンド待
機キュー33、コマンド並び変えキュー34を制御する
キュー制御部35(キュー制御手段)と、キューのサイ
ズを制限するキューサイズ制限手段36と、実行順最適
化制御部37(実行順制御手段)とを有する。
The command scheduler 32 includes a command waiting queue 33 (second command queue) for arriving commands, a command rearranging queue 34 (first command queue) used for rearranging commands, and a command waiting queue. 33, a queue control unit 35 (queue control unit) for controlling the command rearrangement queue 34, a queue size limiting unit 36 for limiting the size of the queue, and an execution order optimization control unit 37 (execution order control unit). .

【0021】コマンドの実行順最適化制御部37は、連
続領域をアクセスするコマンドを並び変える、連続領域
アクセスコマンド並び変え手段38と、多重実行可能な
コマンドを並び変える多重実行可能性並び変え手段39
とを有する。
The command execution order optimization control unit 37 rearranges commands for accessing continuous areas, and rearranges continuous area access command rearrangement means 38, and rearranges multiple executable commands, and executes multiple execution possibility rearranging means 39.
And

【0022】図2のフローチャートに基いて、図1の全
体動作を説明する。
The overall operation of FIG. 1 will be described with reference to the flowchart of FIG.

【0023】図1に示す上位計算機コマンド受信部30
はRead/Writeコマンドを受信し(図2フロー
チャート200)、アドレス変換部31はアレイディス
クにデータを分配するアドレス変換をコマンドに施す
(同202)。コマンド・スケジューラ32はコマンド
を取り入れ、それを到着順にコマンド待機キュー33に
セットする(同204)。コマンドはコマンド待機キュ
ー33を通過して、コマンド並び変えキュー34に入
る。ある条件を設けることによって、キューサイズ制限
手段36はコマンド待機キューのコマンド通過を停止す
る。したがって、コマンド並び変えキュー内のコマンド
数は限定される(同206)。尚この条件には、例えば
タイマーによってある一定時間経過後にキューを制限す
るタイミングを送出する方法及び、コマンド並び変えキ
ューに到着するコマンド数をあらかじめ限定しておく方
法がある。また、これから到着するコマンドは、コマン
ド並び変えキュー34で前に到着したコマンドの並び変
えが終了するまで、コマンド待機キュー33で待機す
る。コマンド並び変えキュー内のコマンドについては到
着順を前提に(同208)、初めに連続領域アクセス可
能性(同210)、次に多重実行可能性(同212)の
有無をチェックし、両方存在する場合は連続領域アクセ
ス可能性を優先的に考慮してコマンドを並び変え、連続
領域をアクセスしないコマンドについてのみ多重実行可
能性を考慮してコマンドを並び変える。またどちらか一
方が存在する場合は、独立してコマンドの並び変えを実
施する(同214)。また、並び変えが終わったコマン
ドから実行を開始する(同216)。コマンド並び変え
キューが空になったら(同218)、コマンド待機キュ
ー33のコマンド通過停止を解除し、待機していた新し
いコマンドをコマンド並び変えキュー34に入れ、以下
これまでの動作が繰り返される。
The host computer command receiving section 30 shown in FIG.
Receives the Read / Write command (200 in FIG. 2), and the address conversion unit 31 performs an address conversion for distributing data to the array disks to the command (202). The command scheduler 32 takes in the commands and sets them in the command waiting queue 33 in the order of arrival (No. 204). The command passes through the command waiting queue 33 and enters the command rearrangement queue 34. By providing a certain condition, the queue size limiting unit 36 stops passing commands through the command waiting queue. Therefore, the number of commands in the command rearrangement queue is limited (No. 206). The conditions include, for example, a method of sending a timing for limiting the queue after a certain time elapses by a timer, and a method of limiting the number of commands arriving at the command rearrangement queue in advance. Further, a command arriving from now on waits in the command waiting queue 33 until the rearranging of the previously arrived command in the command rearranging queue 34 is completed. For commands in the command rearrangement queue, based on the order of arrival (No. 208), first, the continuous area accessibility (No. 210) and then the possibility of multiple execution (No. 212) are checked, and both exist. In such a case, the commands are rearranged by giving priority to the continuous area access possibility, and the commands are rearranged in consideration of the multiplex execution possibility only for commands that do not access the continuous area. If either one exists, the commands are rearranged independently (step 214). Further, the execution is started from the command whose rearrangement has been completed (216). When the command reordering queue becomes empty (218), the command stop queue in the command waiting queue 33 is released, and a new command that has been waiting is put in the command reordering queue 34. Thereafter, the above operations are repeated.

【0024】第一実施例として多重実行可能性のみを考
慮した場合を説明する。
A case where only the possibility of multiple executions is considered will be described as a first embodiment.

【0025】図3は図1のコマンド・スケジューラ32
に当たる。図3において、33は到着コマンドが待機す
るコマンド待機キュー、34はコマンドの並び変えに用
いるコマンド並び変えキュー、40は33、34のキュ
ーを制御するキュー制御部、41はキューのサイズを制
限するタイミングを決定するタイマー、42はアドレス
のビット・パターン作成部である。43は先頭コマンド
及び並び変えが終了したコマンドのビット・パターンを
読み取る第一ビット・パターン読み取り部、44はまだ
並び変えていないコマンドのビット・パターンを読み取
る第二ビット・パターン読み取り部、45は43、44
で読み取ったビット・パターンを比較する比較器であ
る。
FIG. 3 shows the command scheduler 32 of FIG.
Hit. In FIG. 3, reference numeral 33 denotes a command waiting queue in which an incoming command waits, 34 denotes a command rearrangement queue used for rearranging commands, 40 denotes a queue control unit that controls the queues of 33 and 34, and 41 denotes a queue size. A timer for deciding the timing, 42 is an address bit pattern creation unit. 43 is a first bit pattern reading unit for reading the bit pattern of the first command and the command whose sorting has been completed, 44 is a second bit pattern reading unit for reading the bit pattern of a command that has not been sorted, and 45 is 43. , 44
This is a comparator for comparing the bit patterns read by.

【0026】図4のフローチャートに基いて、図3全体
の動作を説明する。
The overall operation of FIG. 3 will be described with reference to the flowchart of FIG.

【0027】図3に示すコマンド・スケジューラはアド
レス変換されたRead/Writeコマンドを取り入
れ(図4のフローチャート300、302)、それを到
着順にコマンド待機キュー33に入れる。この時、ビッ
ト・パターン作成部42はコマンド固有のLBAを元に
当該コマンドが使用するディスク装置を示すビット・パ
ターンを作成する。ここでビット・パターンは使用する
ディスク装置を1、使用しないディスクを0で表わし、
図10のディスク装置の左からそれぞれ対応させたビッ
ト列である。例えば、0から2番のディスク装置を使用
し、3、4番のディスク装置を使用しない場合、ビット
・パターンは11100となる。また、ビット・パター
ン作成部42は作成したビット・パターンをコマンドに
対応づけて保持する(同304)。そこで、第一ビット
・パターン読み取り部43はキューの先頭コマンドのビ
ット・パターンを読み取り、反転する(同308)。反
転したビット・パターンに1がある場合、つまり空いて
いるディスク装置がある場合は、第二ビット・パターン
読み取り部44が、並び変える残りのコマンドのビット
・パターンを読み取り、比較器45がそれを第一ビット
・パターン読み取り部のビット・パターンとビット毎に
比較し(同310)、一致する1の最も多いコマンドを
選択する。その後キュー制御部40はそのコマンドを先
頭コマンドの後に並び変える(同312)。また、並び
変えたコマンドから実行が開始され(同314)、コマ
ンド並び変えキューが空になったら(同316)、コマ
ンド待機キュー33のコマンド通過停止を解除し、待機
していた新しいコマンドをコマンド並び変えキュー34
に入れ、以下これまでの動作が繰り返される。ビット・
パターンの使用はディスクアクセスの多重度を上げるた
めに、使用するディスク装置ができるだけ重ならないよ
うにコマンドを選択する並び変え方式において、簡便で
有効な手段である。
The command scheduler shown in FIG. 3 takes in the read / write command whose address has been converted (flowcharts 300 and 302 in FIG. 4) and places them in the command waiting queue 33 in the order of arrival. At this time, the bit pattern creation unit 42 creates a bit pattern indicating the disk device used by the command based on the LBA unique to the command. Here, the bit pattern indicates the disk device to be used by 1 and the disk not to be used by 0,
11 is a bit sequence corresponding to each of the disk devices in FIG. 10 from the left. For example, when the disk devices No. 0 to 2 are used and the disk devices No. 3 and 4 are not used, the bit pattern is 11100. The bit pattern creation unit 42 holds the created bit pattern in association with the command (304). Therefore, the first bit pattern reading unit 43 reads and inverts the bit pattern of the head command of the queue (308). If there is a 1 in the inverted bit pattern, that is, if there is a vacant disk device, the second bit pattern reading section 44 reads the bit pattern of the remaining commands to be rearranged, and the comparator 45 reads it. The bit pattern is compared with the bit pattern of the first bit pattern reading unit on a bit-by-bit basis (310), and the command having the most matching 1 is selected. Thereafter, the queue control unit 40 rearranges the commands after the first command (312). Further, the execution is started from the rearranged command (314), and when the command rearrangement queue becomes empty (316), the command stop queue 33 is released from the command passing stop, and the new waiting command is replaced with the command. Sorting queue 34
, And the above operation is repeated. bit·
The use of a pattern is a simple and effective means in a rearrangement method for selecting commands so that disk devices to be used do not overlap as much as possible in order to increase the degree of multiplexing of disk accesses.

【0028】具体例として、図3に示すような10個の
Read/Writeコマンドがコマンド並び変えキュ
ー34に到着している場合のコマンド並び変え動作を示
す。ここでC#はコマンドの到着番号を、(####
#)は各コマンドのビット・パターンを表わしている。
まず、第一ビット・パターン読み取り部43はC1のビ
ット・パターン11100(ディスク0、1、2番を使
用する)を読み取り、この情報を反転して00011を
得る。次に第二ビット・パターン読み取り部44がC2
からC10までのビット・パターンを読み取り、比較器
45がこの反転ビット・パターンと一致もしくは一致す
る1の多い(0は全て対応していなければならない)コ
マンドを検索する。この例では対応するコマンドがない
ので、C2が2番目のコマンドになる。こんどは第一ビ
ット・パターン読み取り部43がC2のビット・パター
ン00101を読み取り、このビット・パターンを反転
して11010を得る。ここで、C1の時と同様に、第
二ビット・パターン読み取り部44がC3からC10ま
でのビット・パターンを読み取り、比較器45が対応す
るコマンドを検索する。すると、11000のC9が見
つかり、実行順を入れかえ、C2の次に配置する。この
C2とC9は多重実行である。さらに多重実行できる可
能性を判断するため、キュ−制御部40がC2とC9の
EOR(両方0のビットをマスクする)00010を作
り、第一ビット・パターン読み取り部43がこれを読み
取る。また、第二ビット・パターン読み取り部42がC
3からC8、C10のビット・パタ−ンを読み取り、比
較器43が対応するコマンドを検索するが、ないのでキ
ュー制御部35がC3を4番目のコマンドに並び変え
る。以下この操作が繰り返される。並び変えた結果を図
9(a)に示す。
As a specific example, a command rearrangement operation when ten Read / Write commands as shown in FIG. 3 have arrived at the command rearrangement queue 34 will be described. Here, C # indicates the arrival number of the command, (######
#) Indicates the bit pattern of each command.
First, the first bit pattern reading unit 43 reads the bit pattern 11100 of C1 (using disks 0, 1, and 2) and inverts this information to obtain 00011. Next, the second bit pattern reading unit 44 sets C2
To C10, and the comparator 45 searches for a command with many ones that match or match this inverted bit pattern (all 0s must correspond). In this example, there is no corresponding command, so C2 is the second command. Next, the first bit pattern reading section 43 reads the bit pattern 00101 of C2 and inverts the bit pattern to obtain 11010. Here, as in the case of C1, the second bit pattern reading unit 44 reads the bit patterns from C3 to C10, and the comparator 45 searches for the corresponding command. Then, C9 of 11000 is found, the execution order is changed, and it is arranged next to C2. C2 and C9 are multiplex execution. In order to further determine the possibility of multiplex execution, the queue control unit 40 creates EORs (mask both 0 bits) 00010 of C2 and C9, and the first bit pattern reading unit 43 reads them. Further, the second bit pattern reading unit 42
The bit patterns of C8 and C10 are read from 3 and the comparator 43 searches for the corresponding command. However, since there is no corresponding command, the queue control unit 35 rearranges C3 to the fourth command. Hereinafter, this operation is repeated. FIG. 9A shows the rearranged result.

【0029】この具体例によれば、各コマンド処理を極
力多重動作で行うため、たとえば上記例の場合、コマン
ド処理時間を全てのコマンドで等しく1と仮定すると、
実行順を変える前と変えた後では、10コマンドの処理
時間合計は本発明未使用時の10が、本発明使用により
6に削減され、40%の改善効果がある。したがって、
この多重実行最適化によって、コマンドのI/Oスルー
プットを上げることができる。
According to this specific example, each command processing is performed by multiplex operation as much as possible. For example, in the above example, assuming that the command processing time is equal to 1 for all commands,
Before and after the execution order is changed, the total processing time of 10 commands is reduced from 10 when the present invention is not used to 6 by using the present invention, and there is a 40% improvement effect. Therefore,
This multi-execution optimization can increase the I / O throughput of the command.

【0030】また、キューを2つ設けることで、並び変
えたコマンドが全て実行されてから新しいコマンドの並
び変えが行われるため、キューを1つしか用いなかった
従来の場合に見られたコマンドの沈み込み(例えば、優
先度が低いコマンドは、いつまでもキューの中に実行さ
れないで残る現象)を解消することができる。
Further, by providing two queues, the rearrangement of new commands is performed after all the rearranged commands are executed. Therefore, the commands which are used in the conventional case where only one queue is used are used. The sinking (for example, a command in which a low-priority command remains without being executed in the queue forever) can be eliminated.

【0031】第二実施例として連続領域アクセス可能性
のみを考慮した場合を説明する。
As a second embodiment, a case in which only the continuous area accessibility is considered will be described.

【0032】図5のコマンドスケジューラ532は図1
のコマンド・スケジューラ32に相当する。図5におい
て、33は到着コマンドが待機するコマンド待機キュ
ー、34はコマンドの並び変えに用いるコマンド並び変
えキュー、50は33、34のキューを制御するキュー
制御部、41はキューのサイズを制限するタイミングを
決定するタイマー、51は連続領域判定アドレス作成手
段である。537は、実行順最適化制御部である。51
の中で52は先頭コマンド及びまだ並び変えが終了して
いないコマンドの内、コマンド・ナンバーの若いものの
アドレスを読み取る第一アドレス読み取り部、53は5
2に入るコマンド転送長を読み取る転送長読み取り部、
54は第一アドレス読み取り部52で読み取ったコマン
ドの先頭アドレスに転送長を加えて、連続する領域のア
ドレスを算出する加算機、56はまだ並び変えていない
コマンドのアドレスを読み取る第二アドレス読み取り
部、57は51と56のアドレスを比較する比較器であ
る。
The command scheduler 532 shown in FIG.
Of the command scheduler 32. In FIG. 5, reference numeral 33 denotes a command waiting queue in which an incoming command waits, 34 denotes a command rearrangement queue used for rearranging commands, 50 denotes a queue control unit that controls the queues of 33 and 34, and 41 denotes a queue size. A timer 51 for determining the timing is a continuous area determination address creating means. 537 is an execution order optimization control unit. 51
Among them, 52 is a first address reading section for reading the address of the command having the lowest command number among the head command and the commands whose sorting has not been completed yet, and 53 is a first address reading section.
A transfer length reading unit for reading a command transfer length included in 2
54 is an adder that calculates the address of a continuous area by adding the transfer length to the head address of the command read by the first address reading unit 52, and 56 is a second address reading unit that reads the addresses of commands that have not been rearranged yet , 57 are comparators for comparing the addresses of 51 and 56.

【0033】図6のフローチャートに基いて、図5全体
の動作を説明する。
The overall operation of FIG. 5 will be described with reference to the flowchart of FIG.

【0034】図5に示すコマンド・スケジューラはアド
レス変換されたRead/Writeコマンドを取り入
れ(図6のフローチャート400、402)、それを到
着順にコマンド待機キュー33に入れる。コマンドは最
初コマンド待機キューを通過してコマンド並び変えキュ
ー34に入り、タイマー41が一定時間経過後、並び変
えるキューサイズを制限する(同404)。この後到着
する新しいコマンドはコマンド待機キューで待機する。
次に第一アドレス読み取り部52はコマンド並び変えキ
ュー先頭のコマンドが持つアドレスを読み取り、転送長
読み取り部53はその転送長を読み取り(同406)、
読み取ったアドレスに転送長を加算器54で加えること
で、連続する領域のアドレスを算出する(同408)そ
して、第二アドレス読み取り部55は並び変える残りの
コマンドが持つアドレスを読み取り、比較器56がそれ
を連続領域判定アドレス作成手段51と比較し(同41
0)、一致するコマンドを先頭コマンドの後に並び変え
る(同412)。また、実行順が決定したコマンドから
実行が開始され(同414)、コマンド並び変えキュー
が空になったら(同416)、コマンド待機キュー33
のコマンド通過停止を解除し、待機していた新しいコマ
ンドをコマンド並び変えキューに入れ、以下これまでの
動作が繰り返される。
The command scheduler shown in FIG. 5 takes in the read / write command whose address has been converted (flowcharts 400 and 402 in FIG. 6) and places them in the command waiting queue 33 in the order of arrival. The command first passes through the command waiting queue and enters the command rearrangement queue 34, and after a predetermined time has elapsed by the timer 41, limits the size of the rearranged queue (404). New commands arriving after this wait in the command waiting queue.
Next, the first address reading unit 52 reads the address of the command at the head of the command rearrangement queue, and the transfer length reading unit 53 reads the transfer length (406).
The transfer length is added to the read address by the adder 54 to calculate the address of the continuous area (408), and the second address reading unit 55 reads the address of the remaining commands to be rearranged, and Compares it with the continuous area determination address creation means 51 (see 41).
0), the matching commands are rearranged after the first command (412). When the command whose execution order is determined is started (step 414) and the command rearrangement queue becomes empty (step 416), the command waiting queue 33 is executed.
Is released, the new command that has been waiting is put in the command rearrangement queue, and the above operation is repeated.

【0035】具体例として、図5に示すような10個の
Read/Writeコマンドがコマンド並び変えキュ
ー34に到着している場合のコマンド並び変え動作を示
す。C#はコマンドの到着番号を、(#、#)は左がコ
マンドの持つアドレス、右が転送長を表わしている。ま
ず、連続領域判定アドレス作成手段51の中の第一アド
レス読み取り部52がC1のアドレス0を読み取り、転
送長読み取り部53がC1の転送長16ブロック(1ブ
ロック=512B)を読み取り、加算機54はアドレス
0に16を加えて16を算出する。次に、第二アドレス
読み取り部55がC2からC10までのアドレスを読み
取り、比較器56が連続領域判定アドレス作成手段51
で算出された値16と等しいアドレスを持つコマンドを
検索する。すると、C3が見つかるので、キュー制御部
50がC3をC1の後に並び変える。さらに連続領域ア
クセスできる可能性を判断するため、第一アドレス読み
取り部52がC3のアドレス16を読み取り、転送長読
み取り部53がC3の転送長16ブロックを読み取る。
前述と同様な操作でコマンドを検索するとC6が見つか
る。ここまでで、コマンドはC1、C3、C6の順に並
び変えられる。この後C6について再び連続領域アクセ
スの可能性を判断すると、今度は対応するコマンドがな
いため、C2がC6の後に並び変えられる。以下この操
作が繰り返される。並び変えた結果を図9(b)に示
す。
As a specific example, a command rearrangement operation when ten Read / Write commands as shown in FIG. 5 have arrived at the command rearrangement queue 34 will be described. C # indicates the arrival number of the command, (#, #) indicates the address of the command on the left, and the transfer length on the right. First, the first address reading unit 52 in the continuous area determination address creating means 51 reads the address 0 of C1. The transfer length reading unit 53 reads 16 transfer length blocks of C1 (1 block = 512B). Calculates 16 by adding 16 to address 0. Next, the second address reading unit 55 reads the addresses from C2 to C10, and the comparator 56
Search for a command having an address equal to the value 16 calculated in. Then, since C3 is found, the queue control unit 50 rearranges C3 after C1. In order to further determine the possibility of continuous area access, the first address reading unit 52 reads the address 16 of C3, and the transfer length reading unit 53 reads the transfer length 16 block of C3.
When a command is searched by the same operation as described above, C6 is found. At this point, the commands are rearranged in the order of C1, C3, and C6. Thereafter, when the possibility of continuous area access is determined again for C6, C2 is rearranged after C6 because there is no corresponding command. Hereinafter, this operation is repeated. FIG. 9B shows the rearranged result.

【0036】この具体例によれば、1つのコマンドに対
するアクセス回数を1とすると、実行順を変える前では
連続領域アクセスが可能なコマンド群はC8、C9のみ
で、アクセス回数は9であるが、実行順を変えた後では
連続領域アクセスが可能なコマンド群として、C1、C
3、C6及びC5、C7、C10も加わるので、アクセ
ス回数は5である。一般的に、十分たくさんのコマンド
を連続化することでディスク列全てにアクセスし、ヘッ
ドシーク時間を短縮することができる。また長いデータ
に他のコマンドが混入する場合のヘッドシーク時間増加
を防止する効果もある。
According to this specific example, assuming that the number of accesses to one command is 1, before changing the execution order, only C8 and C9 can be accessed in a continuous area, and the number of accesses is 9. After the execution order is changed, C1 and C
Since 3, C6 and C5, C7, C10 are also added, the number of accesses is 5. In general, by serializing a sufficiently large number of commands, the entire disk array can be accessed, and the head seek time can be reduced. There is also an effect of preventing an increase in head seek time when other commands are mixed in long data.

【0037】さらに、長いデータをアクセスする場合、
ディスク装置の持つプリフェッチ・バッファをきかせる
ことができる。すなわち、アドレスが連続しない短いデ
ータを有するコマンドの場合、コマンドごとにプリフェ
ッチ・バッファの内容を書き換える必要が生じる。書き
換えの回数が増えることにより処理時間が延びる。
Further, when accessing long data,
The prefetch buffer of the disk device can be used. That is, in the case of a command having short data with discontinuous addresses, it is necessary to rewrite the contents of the prefetch buffer for each command. The processing time is increased by increasing the number of times of rewriting.

【0038】本実施例はディスクアレイのみならず、単
体のディスク装置に対しても有効なものである。
The present embodiment is effective not only for a disk array but also for a single disk device.

【0039】第三実施例として多重実行可能性のみを考
慮した場合を説明する。
As a third embodiment, a case where only the possibility of multiple executions is considered will be described.

【0040】図7は図1のコマンド・スケジューラ32
に当たる。図7において、61〜70はk台のディスク
装置の組合せに対応した各コマンド到着キュー(n台の
ディスク装置からk台のディスク装置を選ぶ全ての組合
せの数だけ用意したキュー)、71〜80はコマンド到
着キューがコマンドをコマンド実行キューに送出したこ
とを示すフラグ、81は並び変えを終了したコマンドが
実行を待つコマンド実行キューである。60はコマンド
到着キュー61〜70及びフラグ71〜80の制御をす
るキュー制御部、42はアドレスのビット・パターン作
成部、82はコマンドの並び変えテーブル参照手段であ
る。
FIG. 7 shows the command scheduler 32 of FIG.
Hit. In FIG. 7, reference numerals 61 to 70 denote command arrival queues corresponding to combinations of k disk devices (queues prepared by the number of all combinations for selecting k disk devices from n disk devices), and 71 to 80. Is a flag indicating that the command arrival queue has sent a command to the command execution queue, and 81 is a command execution queue waiting for execution of a command whose sorting has been completed. Reference numeral 60 denotes a queue control unit for controlling the command arrival queues 61 to 70 and flags 71 to 80; 42, an address bit pattern creation unit; and 82, a command rearrangement table reference unit.

【0041】次に図8のフローチャートに基いて図7全
体の動作を説明する。
Next, the overall operation of FIG. 7 will be described with reference to the flowchart of FIG.

【0042】図7に示すコマンド・スケジューラ732
はアドレス変換されたRead/Writeコマンドを
取り入れ(図8のフローチャート500、502)、ビ
ット・パターン作成部42はコマンド固有のLBAを元
に当該コマンドが使用するディスクを示すビット・パタ
ーンを作成する。次に、キュー制御部60でそのビット
・パターンに対応した各コマンド到着キュー61〜70
に振り分けられる(同504、506)。コマンド到着
キュー先頭のコマンドが全てそろったら、キュー制御部
60がコマンド・ナンバーの最も若いコマンドを選択し
(同508)、そのコマンドをコマンド実行キュー81
にセットし、フラグ71〜80のうちコマンドを送出し
たキューのフラグを立てる(同510)。コマンドを送
出したキューと対応するキューをコマンド並び変えテー
ブル参照手段82で参照し(同512)、対応するコマ
ンドがなければ次に若いコマンド・ナンバーのコマンド
をコマンド実行キュー81に送出し、フラグ71〜80
のうちコマンドを送出したキューのフラグを立てる(同
510)。対応するコマンドがあれば、そのコマンドを
コマンド実行キュー81に送出し、フラグ71〜80の
うちコマンドを送出したキューのフラグを立てる(同5
14)。以上の操作をコマンド到着キュー61〜70の
全てのフラグ70〜80が立つまで行う(同516)。
コマンド実行キュー81に並び変えたコマンドが到着し
だい、コマンドを実行し(同518)、コマンド実行キ
ュー81が空になったら(同520)、各コマンド到着
キュー61〜70の全てのフラグ71〜80を解除する
(同522)。そして、再びコマンド到着キュー61〜
70の中で、最も若いコマンド・ナンバーのコマンドが
コマンド実行キュー81に送出され、以下これまでの動
作が繰り返される。
The command scheduler 732 shown in FIG.
Imports a Read / Write command whose address has been converted (flowcharts 500 and 502 in FIG. 8), and the bit pattern creation unit 42 creates a bit pattern indicating the disk used by the command based on the LBA unique to the command. Next, the queue control unit 60 controls each of the command arrival queues 61 to 70 corresponding to the bit pattern.
(504, 506). When all the commands at the head of the command arrival queue are collected, the queue control unit 60 selects the command with the smallest command number (508), and transfers that command to the command execution queue 81.
Is set, and the flag of the queue which sent the command among the flags 71 to 80 is set (510). The queue corresponding to the queue that sent the command is referred to by the command rearranging table reference means 82 (512). If there is no corresponding command, the command with the next lower command number is sent to the command execution queue 81, and the flag 71 ~ 80
The flag of the queue that sent the command is set (510). If there is a corresponding command, the command is sent to the command execution queue 81, and the flag of the queue that sent the command among the flags 71 to 80 is set (fig. 5).
14). The above operation is performed until all the flags 70 to 80 of the command arrival queues 61 to 70 are set (516).
When the rearranged commands arrive in the command execution queue 81, the command is executed (518), and when the command execution queue 81 becomes empty (520), all the flags 71 to 80 of the command arrival queues 61 to 70 are executed. Is canceled (522). Then, again, the command arrival queues 61 to 61
Among the commands 70, the command with the youngest command number is sent to the command execution queue 81, and the operation up to now is repeated.

【0043】具体例として、図7に示すような2台のデ
ィスク装置にアクセスする複数のRead/Write
コマンドがコマンド到着キュー61〜70に到着してい
る場合のコマンド並び変え動作を示す。ここで、C#は
コマンドの到着番号を表わしている。732は、コマン
ドスケジューラ、61〜70は到着コマンドが待機する
コマンド待機キュー、60は61〜70のキューを制御
するキュー制御部、737は、実行順最適化制御部であ
る。まず、コマンド到着キュー61〜70の先頭にコマ
ンドが全てそろった状態で、キュー制御部60がコマン
ド・ナンバーの最も若いC1をコマンド実行キュー81
にセットし、フラグ71を立てる。C1は0番と1番の
ディスク装置を使用するので、このコマンドと多重実行
可能なコマンドをコマンド並び変えテーブル参照手段8
2において対応づける(図8のテーブル参照)。する
と、3番と4番のディスク装置を使用するコマンドが適
切ということから、キュー制御部60がC7をコマンド
実行キューに送出し、フラグ80を立てる。次に、キュ
ー制御部60がフラグのまだ立っていないコマンド到着
キューの内、コマンド・ナンバーの最も若いC2をコマ
ンド実行キュ−に送出し、フラグ76を立てる。C7の
操作と同様にC2と多重実行可能なコマンドを検索する
とC10が見つかり、キュー制御部60がC10をコマ
ンド実行キュー81に送出し、フラグ79を立てる。以
下この操作が繰り返される。並び変えた結果を図9
(c)に示す。
As a specific example, a plurality of read / write accesses to two disk devices as shown in FIG.
A command rearrangement operation when a command has arrived at the command arrival queues 61 to 70 will be described. Here, C # represents the arrival number of the command. 732 is a command scheduler, 61 to 70 are command waiting queues in which incoming commands wait, 60 is a queue control unit that controls the queues of 61 to 70, and 737 is an execution order optimization control unit. First, with all commands at the head of the command arrival queues 61 to 70, the queue control unit 60 assigns C1 with the smallest command number to the command execution queue 81.
And set the flag 71. Since C1 uses the 0th and 1st disk devices, this command and a command that can be executed in a multiplexed manner are sorted into a command rearranging table reference means 8
2 (see the table in FIG. 8). Then, since the commands using the third and fourth disk devices are appropriate, the queue control unit 60 sends C7 to the command execution queue and sets the flag 80. Next, the queue control unit 60 sends out C2 having the smallest command number from the command arrival queues for which no flag has yet been set to the command execution queue, and sets the flag 76. Similar to the operation of C7, when searching for a command that can be executed in multiplex with C2, C10 is found, and the queue control unit 60 sends C10 to the command execution queue 81 and sets a flag 79. Hereinafter, this operation is repeated. Fig. 9 shows the result of rearrangement.
It is shown in (c).

【0044】この具体例によれば、全てのコマンド処理
を多重動作で行うため、コマンド処理時間を全て等しく
1と仮定すると、実行順を変える前では10コマンドの
処理時間が、実行順を変えた後では5となる。一般に実
行順を変える前は、コマンド処理時間はコマンドの並び
方によって5〜10の範囲(完全に多重実行する場合か
ら1コマンドも多重実行しない場合まで)で変化するの
が、実行順を変えた後では必ず5となるため、最大50
%の改善効果がある。
According to this example, since all command processing is performed in a multiplex operation, assuming that the command processing times are all equal to 1, the processing time of 10 commands is changed before the execution order is changed. Later it will be 5. In general, before the execution order is changed, the command processing time changes in a range of 5 to 10 (from completely executing multiple commands to not executing multiple commands at all) depending on the arrangement of commands. Will always be 5, so a maximum of 50
% Improvement effect.

【0045】第四実施例として第二実施例の変形例を説
明する。
A modification of the second embodiment will be described as a fourth embodiment.

【0046】図5のコマンド・スケジューラ32に連続
領域でまとめたコマンド群を1つのコマンドとみなす手
段を付加する方法がある。これは図9の(b)からも明
らかなように、連続領域アクセス可能なコマンド群を1
つのコマンドに再構成することで全体の処理コマンド数
を減少し、まとめたコマンドについてはそのデータの大
きさに関係なくディスク装置のプリフェッチ・バッファ
が有効利用できることで、プリフェッチ・ミスヒット
(連続していないデータの場合、プリフェッチ・バッフ
ァにデータが無いことが多いためミスヒットが生じやす
い)が避けられ、さらに、ディスク装置の回転待ち時間
も回避したWrite処理の高速化が実現できる。
There is a method of adding a means for regarding a command group put together in a continuous area to the command scheduler 32 of FIG. 5 as one command. This is because, as is clear from FIG.
By reconstructing the commands into one command, the total number of processing commands is reduced, and the prefetch buffer of the disk device can be used effectively for the combined commands regardless of the data size. In the case of no data, there is often no data in the prefetch buffer, so that a mishit is likely to occur), and furthermore, it is possible to realize a high-speed Write process while avoiding the rotation waiting time of the disk device.

【0047】また、特にディスクアレイでは、Writ
e時特有のパリティー更新に伴うRead処理を削減す
ることができるため(データのアドレスが連続していな
い場合は、例えば、データが異なるとパリティディスク
も異なる場合があるため、データごとにパリティディス
クを読む必要が生じる)、Write処理の高速化が実
現できる。
In particular, in a disk array, Writ
Since the read processing associated with the parity update peculiar to the e-time can be reduced (for example, when data addresses are not continuous, for example, when data is different, the parity disk may be different. Reading is required), and the writing process can be sped up.

【0048】以上の説明より、連続領域アクセス可能性
及び多重実行可能性双方を考慮したコマンドの並び変え
も、図1に示す構成に第一実施例と第二実施例を用いる
ことも可能である。また、第三実施例と第二実施例を用
いることによっても第一実施例と第二実施例を用いる場
合と同様な効果がもたらされる。また、第二実施例の代
わりに第四実施例を用いることでさらに大きな効果がも
たらされる。効果としては、実行順を変える前ではコマ
ンド全てが各々Read/Writeアクセスする場合
でも実行順を変えることで、連続領域アクセス可能なコ
マンドと多重実行可能なコマンドに整理されることから
コマンド実行時間が短縮される。
From the above description, it is possible to rearrange the commands in consideration of both the continuous area accessibility and the multiple execution possibility, and to use the first embodiment and the second embodiment in the configuration shown in FIG. . Further, the use of the third embodiment and the second embodiment has the same effect as the case where the first embodiment and the second embodiment are used. Further, by using the fourth embodiment instead of the second embodiment, a greater effect can be obtained. As an effect, before the execution order is changed, by changing the execution order even when all commands have Read / Write access, the command execution time is reduced to commands that can be accessed in a continuous area and commands that can be executed multiple times. Be shortened.

【0049】[0049]

【発明の効果】本発明によれば、コマンドの実行時間の
総和が短縮できる。
According to the present invention, the total execution time of a command can be reduced.

【0050】また、連続領域アクセス可能なコマンドを
まとめて実行することで、ディスク装置のヘッドシーク
と回転待ちを短縮するという効果がある。
Further, by executing commands that can be accessed in a continuous area collectively, there is an effect that the head seek and rotation wait of the disk drive can be reduced.

【0051】また、コマンドを多重実行することで、デ
ィスク装置の稼動率を上げ、従来に対し最大50%のI
/Oスループット改善効果がある。
Also, by executing commands in a multiplex manner, the operation rate of the disk device can be increased, and the I / O rate can be up to 50% of the conventional one.
There is an effect of improving the / O throughput.

【0052】さらに、キューのサイズを制限し、その中
でコマンドの並び変えを行い、並び変えた順に実行する
ため、実行されないコマンドがいつまでもキュー内に残
ってしまうコマンドの沈み込みを防止するという効果が
ある。
Furthermore, since the size of the queue is limited, commands are rearranged in the queue, and the commands are executed in the rearranged order, the effect of preventing sinking of commands in which commands that are not executed remain in the queue forever is prevented. There is.

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

【図1】本発明に係るコマンド処理及び管理部のブロッ
ク図である。
FIG. 1 is a block diagram of a command processing and management unit according to the present invention.

【図2】本発明に係るフローチャートである。FIG. 2 is a flowchart according to the present invention.

【図3】コマンド・スケジューラの第一実施例を示すブ
ロック図である。
FIG. 3 is a block diagram showing a first embodiment of a command scheduler.

【図4】本発明に係るフローチャートである。FIG. 4 is a flowchart according to the present invention.

【図5】コマンド・スケジューラの第二実施例を示すブ
ロック図である。
FIG. 5 is a block diagram showing a second embodiment of the command scheduler.

【図6】本発明に係るフローチャートである。FIG. 6 is a flowchart according to the present invention.

【図7】コマンド・スケジューラの第三実施例を示すブ
ロック図である。
FIG. 7 is a block diagram showing a third embodiment of the command scheduler.

【図8】本発明に係るフローチャートである。FIG. 8 is a flowchart according to the present invention.

【図9】各実施例によるコマンドの並び変え結果を示す
説明図である。
FIG. 9 is an explanatory diagram showing a command rearrangement result according to each embodiment.

【図10】ディスクアレイの基本構成を示すブロック図
である。
FIG. 10 is a block diagram showing a basic configuration of a disk array.

【図11】ディスクアレイの基本構成を示すブロック図
である。
FIG. 11 is a block diagram showing a basic configuration of a disk array.

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

10・・・ ・・・上位計算機、 11・・・ ・・・アレイ・コント
ローラ、12・・・ ・・・上位計算機I/F、 13・・・ ・・・
タスク制御部、14・・・ ・・・コマンド処理及び管理部、
15・・・ ・・・割込み処理部、16〜20・・・ ・・・ディス
ク装置I/F、 21〜25・・・ ・・・ディスク装置、2
9・・・ ・・・実行順最適化コマンド処理及び管理部、30・
・・ ・・・上位計算機コマンド受信部、 31・・・ ・・・アド
レス変換部、32・・・ ・・・コマンド・スケジューラ、
33・・・ ・・・コマンド待機キュー、34・・・ ・・・コマンド
並び変えキュー、 35・・・ ・・・キュー制御部、36・・・
・・・キューサイズ制限手段、 37・・・ ・・・実行順最適
化制御部、38・・・ ・・・連続領域アクセス可能性並び変
え手段、39・・・ ・・・多重実行可能性並び変え手段、
40・・・ ・・・キュー制御部、41・・・ ・・・タイマー、 4
2・・・ ・・・ビット・パターン作成部、43・・・ ・・・第一ビ
ット・パターン読み取り部、44・・・ ・・・第二ビット・
パターン読み取り部、45・・・ ・・・比較器、 50・・・ ・
・・キュー制御部、51・・・ ・・・連続領域判定アドレス作
成手段、52・・・ ・・・第一アドレス読み取り部、 53・
・・ ・・・転送長読み取り部、54・・・ ・・・加算機、 55・
・・ ・・・第二アドレス読み取り部、56・・・ ・・・比較器、
60・・・ ・・・キュー制御部、61〜70・・・ ・・・コマン
ド到着キュー、 71〜80・・・ ・・・フラグ、81・・・ ・
・・コマンド実行キュー、82・・・ ・・・コマンド並び変え
テーブル参照手段。
10 ... upper computer, 11 ... array controller, 12 ... upper computer I / F, 13 ...
Task control unit, 14 command processing and management unit,
15: Interrupt processing unit, 16 to 20: Disk device I / F, 21 to 25: Disk device, 2
9 ... execution order optimization command processing and management unit, 30
······ Higher-level computer command receiving unit 31 ······ Address conversion unit 32 ····· Command scheduler
33 command queue, 34 command rearrangement queue 35 queue controller 36
... Queue size limiting means 37 ... Execution order optimization control unit 38 ... Continuous area access possibility rearranging means 39 ... Means of change,
40: queue control unit, 41: timer, 4
2 ····· Bit pattern creation unit, 43 ····· First bit pattern reading unit, 44 ····· Second bit
Pattern reading unit, 45 ... comparator, 50 ...
··· Queue control unit, 51 ···· Continuous area determination address creation means, 52 ····· First address reading unit, 53 ·
······ Transfer length reading unit, 54 ····· Adder, 55 ·
········ Second address reading unit, 56 ····· Comparator,
60... Queue controller, 61 to 70... Command arrival queue, 71 to 80... Flag, 81.
.. Command execution queue, 82... Command reordering table reference means.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 大枝 高 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 松並 直人 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (56)参考文献 特開 平3−183067(JP,A) 特開 平3−260823(JP,A) 特開 昭55−91049(JP,A) 特開 平3−220620(JP,A) 特開 平3−231368(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 G11B 20/10 G11B 20/12 ──────────────────────────────────────────────────続 き Continued on the front page (72) Takashi Oeda Takashi Oka, Microelectronics Equipment Development Laboratory, Hitachi, Ltd. 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa-ken 292, Hitachi, Ltd. Microelectronics Equipment Development Laboratory (56) References JP-A-3-183067 (JP, A) JP-A-3-260823 (JP, A) JP-A-55-91049 (JP, A) JP-A-3-220620 (JP, A) JP-A-3-231368 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 3/06 G11B 20/10 G11B 20 / 12

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のディスク装置からなるディスクアレ
イと前記複数のディスク装置を制御するディスク制御装
置とを有し、外部からの、データの読み出しまたは書き
込みのコマンドを受けて、上記データの読み出しまたは
書き込みを行うディスク装置システムにおいて、 前記ディスク制御装置は、 前記コマンドを受信する受信手段と、 前記コマンドを蓄積するコマンドキューと、 前記ディスクアレイを構成する複数のディスク装置のそ
れぞれを並列に動作させる多重実行が可能なように、前
記コマンドキューに蓄積したコマンドの実行順序を変更
する実行順序制御手段と、 前記ディスクアレイを構成する複数のディスク装置のそ
れぞれを並列に動作させるコマンドを前記複数のディス
ク装置のそれぞれに発行する手段とを有することを特徴
とするディスク装置システム。
1. A disk array comprising a plurality of disk devices.
And a disk control device for controlling the plurality of disk devices.
Read or write data from outside
Read the above data or
In a disk device system that performs writing, the disk control device includes a receiving unit that receives the command, a command queue that stores the command, and a disk queue of a plurality of disk devices that form the disk array.
So that multiple executions that operate each
The execution order of commands stored in the command queue
Execution order control means for controlling the execution of a plurality of disk devices constituting the disk array.
Commands to operate each of them in parallel
Means for issuing to each of the
Disk device system.
【請求項2】請求項1に記載のディスク装置システムに
おいて、 前記実行順序制御手段は、 前記ディスクアレイに含まれるディスク装置の構成を示
す情報に基づいて、前記コマンドキューから、多重実行
可能なコマンドを検索することによって前記コマンドの
実行順序を変更することを特徴とするディスク装置シス
テム。
2. The disk drive system according to claim 1,
The execution order control means indicates a configuration of a disk device included in the disk array.
Multiple execution from the command queue based on the
By searching for possible commands
Disk device system characterized by changing the execution order
Tem.
【請求項3】請求項2に記載のディスク装置システムに
おいて、 前記実行順序制御手段は、さらに、 前記ディスクアレイを構成する複数のディスク装置にそ
れぞれ対応するデータの組ごとに前記多重実行可能なコ
マンドの検索を繰り返すことを特徴とするディスク装置
システム。
3. The disk drive system according to claim 2,
In addition, the execution order control means further includes a plurality of disk devices constituting the disk array.
For each corresponding data set, the
Disk device characterized by repeating command search
system.
【請求項4】請求項1に記載のディスク装置システムに
おいて、 前記コマンドキューは、あらかじめ定めた複数のディス
ク装置の組み合わせ対応に設けられ、 前記実行順序制御手段は、 前記受信手段が受信したコマンドを、そのコマンドが使
用するディスク装置を示す情報に基づいて、前記コマン
ドキューに振り分け、 前記コマンドキュー内の実行すべきコマンドが定まった
場合に、このコマンドと多重実行可能なコマンドが振り
分けられるコマンドキューを特定し、特定されたコマン
ドキュー内のコマンドを取り出すことで、前記コマンド
の実行順序を変更することを特徴とするディスク装置シ
ステム。
4. The disk drive system according to claim 1,
The command queue has a plurality of predetermined disks.
The execution order control means uses the command received by the receiving means in response to the command.
The command based on the information indicating the disk device to be used.
Distributed to Dokyu was definite command to be executed in the command queue
In some cases, this command and
Identify the command queue to be separated and identify the identified command
By taking out the command in the queue, the command
Disk unit system characterized by changing the execution order of
Stem.
JP04805193A 1993-03-09 1993-03-09 Disk device system Expired - Lifetime JP3250861B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04805193A JP3250861B2 (en) 1993-03-09 1993-03-09 Disk device system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04805193A JP3250861B2 (en) 1993-03-09 1993-03-09 Disk device system

Publications (2)

Publication Number Publication Date
JPH06259198A JPH06259198A (en) 1994-09-16
JP3250861B2 true JP3250861B2 (en) 2002-01-28

Family

ID=12792545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04805193A Expired - Lifetime JP3250861B2 (en) 1993-03-09 1993-03-09 Disk device system

Country Status (1)

Country Link
JP (1) JP3250861B2 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275059A (en) * 1996-04-30 1998-10-13 Matsushita Electric Ind Co Ltd Storage device controller and management system
EP0992992A4 (en) * 1998-03-27 2005-09-28 Sony Corp Device and method for data output and device and method for data input/output
KR100618790B1 (en) * 1999-09-29 2006-09-06 삼성전자주식회사 Successive writing method for enhancing performance of recording medium and circuit thereof
JP2003263276A (en) * 2002-03-08 2003-09-19 Toshiba Corp Disk system and disk access method
US7376784B2 (en) 2004-01-26 2008-05-20 Hitachi Global Storage Technologies Netherlands B.V. System and method for selecting command for execution in HDD based on benefit
JP2005215729A (en) 2004-01-27 2005-08-11 Hitachi Global Storage Technologies Netherlands Bv Data transmission control method and storage device
JP4521206B2 (en) 2004-03-01 2010-08-11 株式会社日立製作所 Network storage system, command controller, and command control method in network storage system
JP2007108950A (en) * 2005-10-12 2007-04-26 Nec Corp I/o processing device and method
JP4804175B2 (en) 2006-03-02 2011-11-02 株式会社日立製作所 Storage system for queuing I / O commands and control method thereof
JP4935182B2 (en) * 2006-05-11 2012-05-23 富士ゼロックス株式会社 Command queuing control device, command queuing program, and storage system
JP2009032323A (en) * 2007-07-26 2009-02-12 Toshiba Corp Disk storage device
US20090055351A1 (en) * 2007-08-24 2009-02-26 Microsoft Corporation Direct mass storage device file indexing
JP4972493B2 (en) * 2007-08-28 2012-07-11 発紘電機株式会社 COMMUNICATION COMMAND OPTIMIZATION METHOD, PROGRAM, AND PROGRAMMABLE DISPLAY
JP5147376B2 (en) * 2007-12-11 2013-02-20 株式会社日立製作所 Server, backup method, and file reading apparatus
JP5171602B2 (en) * 2008-12-25 2013-03-27 京セラドキュメントソリューションズ株式会社 RAID driver, electronic device including the same, and access request arbitration method for RAID
US8078848B2 (en) 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
WO2011007459A1 (en) * 2009-07-17 2011-01-20 株式会社日立製作所 Storage device and method of controlling same
JP4993002B2 (en) * 2010-07-05 2012-08-08 日本電気株式会社 I / O processing apparatus and method
JPWO2012093475A1 (en) * 2011-01-05 2014-06-09 富士通株式会社 Information transfer device and information transfer method of information transfer device
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets

Also Published As

Publication number Publication date
JPH06259198A (en) 1994-09-16

Similar Documents

Publication Publication Date Title
JP3250861B2 (en) Disk device system
JP3371044B2 (en) Area allocation method and disk array access method for disk array
JP4375435B2 (en) Hierarchical storage system for predictive data migration
EP0732659B1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US5925111A (en) System for alotting logical path number to logical interfaces and permitting logical interface to access selected I/O using logical path number when selected I/O is not in use
JP2554453B2 (en) Method and apparatus for optimizing data access
US5715452A (en) Process of transferring file, process of gaining access to data and process of writing data
US5752256A (en) Disk array apparatus and method for dividing and reading/writing partial data across a plurality of drive groups utilizing parallel processing
JPH06309267A (en) Method for transferring data between i/o device, extended memory or main memory units
JP2000200219A (en) Virtual memory management system
JP3113353B2 (en) Rotating memory system
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US5911078A (en) Method for multithreaded disk drive operation in a computer system
US20020199038A1 (en) Input/output control apparatus, input/output control method and informatiion storage system
JP3609841B2 (en) File management device
CN1795442A (en) Method and device for transferring data between a main memory and a storage device
Flynn et al. Operating Systems
JPH0863394A (en) Storage device system and controlling mathod for storage device
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
US7136972B2 (en) Apparatus, system, and method for distributed management in a storage system
JP2001014139A (en) Multi-thread sort processing system and method using work file
JPH08314639A (en) Information recording and reproducing device
JP2001022614A (en) Hierarchical storage system
JPH09223049A (en) Disk array system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 12

EXPY Cancellation because of completion of term