JP2000056932A - Disk controller - Google Patents
Disk controllerInfo
- Publication number
- JP2000056932A JP2000056932A JP10226221A JP22622198A JP2000056932A JP 2000056932 A JP2000056932 A JP 2000056932A JP 10226221 A JP10226221 A JP 10226221A JP 22622198 A JP22622198 A JP 22622198A JP 2000056932 A JP2000056932 A JP 2000056932A
- Authority
- JP
- Japan
- Prior art keywords
- request
- time
- disk
- requests
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、一定の速度で発生
する要求をリアルタイムに処理することを必要とするメ
ディアサーバに使用されるディスク制御装置に関し、よ
り特定的には、ランダムに発生する要求に対してシーク
時間を減少させて要求の処理能力を向上させたディスク
制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk control device used in a media server which needs to process requests generated at a constant speed in real time, and more specifically to randomly generated requests. The present invention relates to a disk controller in which a seek time is reduced to improve a request processing capability.
【0002】[0002]
【従来の技術】近年、音声データや映像データを含むマ
ルチメディアデータを記憶するディスク装置を備え、通
信回線線を介して接続された複数のユーザに対してデー
タを供給したり、データをディスク装置に書き込むメデ
ィアサーバが実用化されている。ユーザは、メディアサ
ーバから供給されるデータにより、見たい時に希望する
映像を見ることができ、聞きたい時に希望する音声を聞
くことができる。同様に、ユーザは、メディアサーバに
データを供給することで、映像や音声をメディアサーバ
に記録することができる。2. Description of the Related Art In recent years, a disk device for storing multimedia data including audio data and video data has been provided, and data has been supplied to a plurality of users connected via a communication line or the data has been transferred to a disk device. A media server that writes data to the Internet has been put to practical use. The user can watch a desired video when he / she wants to watch, and can hear a desired voice when he / she wants to listen, using the data supplied from the media server. Similarly, the user can record video and audio on the media server by supplying data to the media server.
【0003】このメディアサーバは、複数のユーザに対
してデータをリアルタイムに出力する必要がある。なぜ
ならば、データの出力のタイミングが、予め定められて
いる許容遅延時間を越えてしまうと、音声が途切れたり
映像が乱れたり(欠落)するという問題が生じるからで
ある。同様に、メディアサーバは、複数のユーザからの
データをリアルタイムに記録する必要がある。なぜなら
ば、端末から音声や映像データをリアルタイムでディジ
タルデータに変換し、メディアサーバに格納する場合、
メディアサーバに格納する処理の完了が、予め定められ
た許容遅延時間を越えてしまうと、端末側もしくはメデ
ィアサーバ側のメモリが溢れてしまうという問題が生じ
るからである。This media server needs to output data to a plurality of users in real time. This is because if the output timing of data exceeds a predetermined allowable delay time, there is a problem that the sound is interrupted or the video is disturbed (missing). Similarly, media servers need to record data from multiple users in real time. This is because when audio and video data is converted from a terminal to digital data in real time and stored in a media server,
This is because if the completion of the process of storing in the media server exceeds a predetermined allowable delay time, a problem occurs in that the memory of the terminal or the media server overflows.
【0004】この問題に対応すべく、従来から、メディ
アサーバにおいてデータをリアルタイムにディスクから
読み出すためのディスク制御装置として、特開平8ー5
5055号公報(以下、従来の文献という)に開示され
ているものがある。以下、図17を用いて、この従来の
文献に記載されているディスク制御装置を簡単に説明す
る。To cope with this problem, a disk controller for reading data from a disk in real time in a media server has been disclosed in Japanese Patent Laid-Open No. 8-5 / 1996.
There is one disclosed in Japanese Patent No. 5055 (hereinafter referred to as a conventional document). Hereinafter, a disk control device described in this conventional document will be briefly described with reference to FIG.
【0005】図17は、この従来の文献に記載されてい
るディスク制御装置の構成を示すブロック図である。図
17において、従来のディスク制御装置は、並べ換え制
御部301と、許容遅延データ管理部302と、要求管
理部303と、ハードディスク306とを備える。FIG. 17 is a block diagram showing a configuration of a disk control device described in this conventional document. 17, the conventional disk control device includes a rearrangement control unit 301, an allowable delay data management unit 302, a request management unit 303, and a hard disk 306.
【0006】ハードディスク306は、複数種類の映像
や音声を表すマルチメディアデータを一定のサイズごと
に分割して記憶する。許容遅延データ管理部302は、
各読み出し要求ごとに、当該要求が指示するデータの読
み出しが完了するまでに許容される遅延時間を記憶す
る。要求管理部303は、各読み出し要求を保持する。
並べ換え制御部301は各読み出し要求について、読み
出しが完了するまでの時間を算出して判断することで、
許容遅延データ管理部302が保持する許容遅延時間以
内に読み出しが完了し、かつ、ハードディスク306で
のシーク距離が短くなるように読み出し要求を並べ替え
る。[0006] The hard disk 306 divides and stores multimedia data representing a plurality of types of video and audio for each fixed size. The allowable delay data management unit 302
For each read request, a delay time allowed until reading of data specified by the request is completed is stored. The request management unit 303 holds each read request.
For each read request, the rearrangement control unit 301 calculates and determines the time until the read is completed.
The read requests are rearranged so that the reading is completed within the allowable delay time held by the allowable delay data management unit 302 and the seek distance on the hard disk 306 is shortened.
【0007】読み出しが完了するまでの時間は、キュー
内での待ち時間と、要求の実行時間との和で算出され
る。キュー内での待ち時間は、キューにおいて、待ち時
間を算出する要求よりも前に格納されている要求の実行
時間の和として算出される。要求の実行時間は、その要
求がアクセスするデータのシリンダ位置から算出したシ
ークに必要な時間と、ハードディスクの回転数から算出
した平均回転待ち時間と、1シリンダあたりのブロック
数とハードディスクの回転数とから算出したデータ転送
時間との和として求められる。このように、読み出し要
求の実行時間は、製品マニュアルなどに記載された値か
ら算出される。このように、従来のディスク制御装置
は、要求の完了時間に基づいて各読み出し要求を並び替
えることで、処理のリアルタイム性を向上させている。[0007] The time until the reading is completed is calculated by the sum of the waiting time in the queue and the execution time of the request. The waiting time in the queue is calculated as the sum of the execution times of the requests stored in the queue before the request for calculating the waiting time. The execution time of the request is the time required for seeking calculated from the cylinder position of the data accessed by the request, the average rotation waiting time calculated from the rotation speed of the hard disk, the number of blocks per cylinder, and the rotation speed of the hard disk. And the data transfer time calculated from the above. As described above, the execution time of the read request is calculated from a value described in a product manual or the like. As described above, the conventional disk control device improves the real-time processing by rearranging the read requests based on the completion time of the requests.
【0008】[0008]
【発明が解決しようとする課題】しかしながら、上記従
来の文献に記載されているディスク制御装置では、シー
ク時間と平均回転待ち時間とデータ転送時間とを算出
し、これらの和を読み出し要求の実行時間として求める
ため、製品マニュアルなどに記載された値が同じ場合に
は算出する実行時間は等しくなる。このため、ディスク
面上にある不良セクタ数やディスク内の制御ICの動作
の違いに基づく実行時間の違いまでは、算出された実行
時間に反映されなかった。また、長期間に渡って同じデ
ィスクを使用した場合に発生するディスクの性能劣化の
影響についても、実行時間の算出に反映されなかった。However, in the disk control device described in the above-mentioned conventional document, a seek time, an average rotation waiting time, and a data transfer time are calculated, and the sum of these is calculated as a read request execution time. When the values described in the product manual and the like are the same, the calculated execution times are equal. Therefore, the calculated execution time does not reflect the difference in the execution time based on the number of defective sectors on the disk surface or the difference in the operation of the control IC in the disk. Also, the effect of disk performance degradation that occurs when the same disk is used for a long period of time was not reflected in the execution time calculation.
【0009】これにより、従来のディスク制御装置にお
いては、算出した実行時間から許容遅延時間以内に要求
を実行できるよう並べ替えを行ってはいるが、実際に要
求を実行した場合に、要求の実行完了が許容遅延時間を
越えてしまうということが発生していた。Thus, in the conventional disk control device, the requests are rearranged so that the requests can be executed within the allowable delay time from the calculated execution time. However, when the requests are actually executed, the request is executed. Completion exceeded the allowable delay time.
【0010】それ故、本発明の目的は、連続的に入力さ
れる複数の要求に対して、要求の順序を並べ替えること
によりシーク時間を短縮し、かつ、許容遅延時間以内で
要求の実行を完了するディスク制御装置を提供すること
である。[0010] Therefore, an object of the present invention is to reduce the seek time by rearranging the order of a plurality of requests input continuously and to execute the requests within an allowable delay time. The goal is to provide a disk controller that is complete.
【0011】[0011]
【課題を解決するための手段および発明の効果】第1の
発明は、各要求が個別に有する遅延可能時間以内に当該
各要求の実行が完了するように要求を並べ替えてディス
ク装置に発行するディスク制御装置であって、一つまた
は複数の要求を保持する要求管理手段と、要求管理手段
が保持する要求を取り出してディスク装置に発行し、ま
たディスク装置から当該要求に対する応答を受信するデ
ィスクIO手段と、ディスク装置における各要求の処理
に必要な時間をアクセス時間として保持するアクセス時
間管理手段と、各要求ごとに、要求の処理を完了すべき
完了時刻を保持する遅延時間管理手段と、完了時刻およ
びアクセス時間に基づいて、要求管理手段が保持する要
求を並べ替える並べ替え制御手段とを備える。According to a first aspect of the present invention, the requests are rearranged and issued to the disk device so that the execution of each request is completed within the delay time individually provided by each request. A disk control device, comprising: a request management means for holding one or a plurality of requests; a disk IO for taking out the request held by the request management means, issuing the request to the disk device, and receiving a response to the request from the disk device Means, access time management means for holding the time required for processing of each request in the disk device as access time, delay time management means for holding, for each request, a completion time at which the processing of the request should be completed; A rearrangement control unit that rearranges the requests held by the request management unit based on the time and the access time.
【0012】上記のように、第1の発明によれば、要求
が入力されるたびに、アクセス時間管理手段が保持する
アクセス時間により要求の実行時間を予測し、各要求内
に指定された遅延可能時間以内に要求の実行が完了する
ように要求を並べ替える。要求の実行時間の予測は保持
されたアクセス時間を参照するだけであるから、並べ替
えの際に予測値を得るために特別な演算を必要としな
い。これにより、要求が入力されるたびに要求の並べ替
えを行なうので、アクセス効率がよくなり、かつ、遅延
可能時間以内に要求を実行することが可能となる。特
に、動画や音声データなどのリアルタイム性を必要とす
るデータにアクセスする場合に、アクセス効率を向上さ
せ、かつ、リアルタイム性を確保することが可能とな
る。As described above, according to the first aspect, each time a request is input, the execution time of the request is predicted based on the access time held by the access time management means, and the delay specified in each request is estimated. Reorder requests so that they complete execution within the available time. Since the prediction of the execution time of the request only refers to the stored access time, no special operation is required to obtain the predicted value at the time of rearrangement. Thus, the requests are rearranged each time a request is input, so that access efficiency is improved and the requests can be executed within the delay time. In particular, when accessing data that requires real-time properties such as moving pictures and audio data, it is possible to improve access efficiency and secure real-time properties.
【0013】第2の発明は、第1の発明において、アク
セス時間は、ディスク装置に要求を発行し、ディスク装
置から当該要求に対する応答を受信するまでの時間に基
づいて定めることを特徴とする。A second invention is characterized in that, in the first invention, the access time is determined based on a time from issuing a request to the disk device to receiving a response to the request from the disk device.
【0014】上記のように、第2の発明によれば、第1
の発明において、ディスク装置に要求を発行し、当該要
求に対する応答を受信するまでの時間を測定した値から
アクセス時間を求めるため、接続したディスク装置の性
能に応じた値を求めることができる。As described above, according to the second aspect, the first aspect
According to the invention, the access time is obtained from a value obtained by measuring a time required for issuing a request to the disk device and receiving a response to the request, so that a value corresponding to the performance of the connected disk device can be obtained.
【0015】第3の発明は、第2の発明において、アク
セス時間は、要求がアクセス可能なディスク装置上の領
域を、連続した領域である複数のグループに分割し、各
要求について要求がアクセスするディスク装置上の位置
が属するグループをそれぞれ求め、各要求の実行順序に
対応したグループの順序により定めることを特徴とす
る。In a third aspect based on the second aspect, the access time divides the area on the disk device accessible to the request into a plurality of groups, which are continuous areas, and the request accesses each request. The group to which the position on the disk device belongs is obtained, and the group is determined by the order of the group corresponding to the execution order of each request.
【0016】上記のように、第3の発明によれば、第2
の発明において、アクセス時間は、各要求がアクセスす
る位置が属するグループの順序により定めることができ
る。As described above, according to the third aspect, the second aspect
In the invention, the access time can be determined by the order of the group to which the position accessed by each request belongs.
【0017】第4の発明は、第3の発明において、アク
セス時間は、要求の種類ごとに個別に定めることを特徴
とする。In a fourth aspect based on the third aspect, the access time is individually determined for each type of request.
【0018】上記のように、第4の発明によれば、第3
の発明において、アクセス時間は、各要求の種類によっ
ても定めることができ、要求の種類ごとのより正確な予
測が可能となる。As described above, according to the fourth aspect, the third aspect
In the invention, the access time can also be determined according to the type of each request, and more accurate prediction can be made for each type of request.
【0019】第5の発明は、第3および第4の発明にお
いて、アクセス時間は、要求がアクセスするデータサイ
ズごとに個別に定めることを特徴とする。In a fifth aspect based on the third and fourth aspects, the access time is individually determined for each data size accessed by the request.
【0020】上記のように、第5の発明によれば、第3
および第4の発明において、要求がアクセスするデータ
サイズによっても定めることができ、データサイズごと
のより正確な予測が可能となる。As described above, according to the fifth aspect, the third aspect
In the fourth and fourth aspects of the present invention, the data size can be determined by the data size accessed by the request, and more accurate prediction can be performed for each data size.
【0021】第6の発明は、第5の発明において、デー
タサイズは、固定長であることを特徴とする。According to a sixth aspect based on the fifth aspect, the data size is a fixed length.
【0022】上記のように、第6の発明によれば、第5
の発明において、アクセス時間の保持に必要なメモリ量
を減少することができる。As described above, according to the sixth aspect, the fifth aspect
According to the invention, the amount of memory required to hold the access time can be reduced.
【0023】第7の発明は、第3の発明において、ディ
スク装置上の領域は、複数の固定長のブロックから構成
されており、グループは、それぞれ均等な数のブロック
を有することを特徴とする。According to a seventh aspect based on the third aspect, the area on the disk device is composed of a plurality of fixed-length blocks, and each group has an equal number of blocks. .
【0024】第8の発明は、第3の発明において、ディ
スク装置は、複数のシリンダで構成されるハードディス
クであり、グループは、それぞれ均等な数のシリンダを
有することを特徴とする。According to an eighth aspect based on the third aspect, the disk device is a hard disk composed of a plurality of cylinders, and each group has an equal number of cylinders.
【0025】上記のように、第7および第8の発明によ
れば、第3の発明において、各グループごとの実行時間
の揺らぎが少なくなり、より正確な予測値を求めること
ができる。As described above, according to the seventh and eighth aspects, in the third aspect, the fluctuation of the execution time for each group is reduced, and a more accurate predicted value can be obtained.
【0026】第9の発明は、第3〜第8の発明におい
て、グループの順序は、2つのグループの順列または組
合せであることを特徴とする。According to a ninth aspect, in the third to eighth aspects, the order of the groups is a permutation or combination of two groups.
【0027】上記のように、第9の発明によれば、第3
〜第8の発明において、2つのグループからなる順列ま
たは組合せにより実行時間を求めることができ、予測値
の精度を変えずに、より少ないメモリ量での予測が可能
となる。As described above, according to the ninth aspect, the third aspect
In the eighth to eighth aspects, the execution time can be obtained by a permutation or combination of two groups, and prediction can be performed with a smaller amount of memory without changing the accuracy of the predicted value.
【0028】第10の発明は、第4の発明において、要
求の種類は、ディスク装置からデータを読み出す読み出
し要求と、ディスク装置にデータを書き込む書き込み要
求であることを特徴とする。In a tenth aspect based on the fourth aspect, the request types are a read request for reading data from the disk device and a write request for writing data to the disk device.
【0029】上記のように、第10の発明によれば、第
4の発明において、並べ替えを行なう要求を読み出し要
求と書き込み要求に限定することで、リアルタイム性を
確保すべきデータのみについて、アクセス時間を保持し
て並べ替えを行なうことができる。As described above, according to the tenth aspect of the present invention, in the fourth aspect of the present invention, the request for rearranging is limited to a read request and a write request. Sorting can be performed while keeping time.
【0030】第11の発明は、第1の発明において、完
了時刻は、要求が入力された時刻に当該要求が有する遅
延可能時間を加えた時間であり、並べ替え制御手段は、
各要求の実行が各々の完了時刻以前に完了するように、
各要求を並び替えることを特徴とする。According to an eleventh aspect based on the first aspect, the completion time is a time obtained by adding a delay time which the request has to the time when the request is inputted, and the rearrangement control means comprises:
So that the execution of each request completes before its completion time,
It is characterized in that each request is rearranged.
【0031】上記のように、第11の発明によれば、第
1の発明において、各要求の完了時刻を常に更新する必
要がなく、演算量を減少させることができる。As described above, according to the eleventh aspect, in the first aspect, it is not necessary to constantly update the completion time of each request, and the amount of calculation can be reduced.
【0032】第12の発明は、第1の発明において、遅
延時間管理手段は、予め定めた定数を有しており、完了
時刻は、要求が入力された時刻に定数を加えた時間であ
り、並べ替え制御手段は、各要求の実行が各々の完了時
刻以前に完了するように、各要求を並び替えることを特
徴とする。In a twelfth aspect based on the first aspect, the delay time management means has a predetermined constant, and the completion time is a time obtained by adding the constant to the time at which the request was input; The rearrangement control means rearranges the requests so that the execution of each request is completed before each completion time.
【0033】上記のように、第12の発明によれば、第
1の発明において、各要求に遅延可能時間を付加する必
要がなく、また、完了時刻の算出も簡単化される。As described above, according to the twelfth aspect, in the first aspect, it is not necessary to add a delayable time to each request, and the calculation of the completion time is simplified.
【0034】第13の発明は、第3〜第6の発明におい
て、ディスクIO手段は、要求がディスク装置に発行し
てから、ディスク装置から当該要求に対する応答を受信
するまでの実行時間を測定する実行時間時間測定手段を
さらに備え、アクセス時間管理手段は、実行時間を新た
なアクセス時間として更新するアクセス時間算出手段を
さらに備えることを特徴とする。In a thirteenth aspect based on the third to sixth aspects, the disk IO means measures an execution time from when the request is issued to the disk device to when a response to the request is received from the disk device. An execution time measurement unit is further provided, and the access time management unit is further provided with an access time calculation unit for updating the execution time as a new access time.
【0035】上記のように、第13の発明によれば、第
3〜第6の発明において、要求の実行時間を測定しつ
つ、測定した実行時間に基づいてアクセス時間を更新す
るため、経時によるディスクの性能劣化に対応したアク
セス時間を求めることが可能となる。As described above, according to the thirteenth aspect, in the third to sixth aspects, the access time is updated based on the measured execution time while measuring the execution time of the request. The access time corresponding to the performance degradation of the disk can be obtained.
【0036】第14の発明は、第13の発明において、
アクセス時間算出手段は、実行時間をグループの順序、
要求の種類およびデータサイズごとに分類し、当該分類
に対応するアクセス時間の更新を行うことを特徴とす
る。According to a fourteenth aspect, in the thirteenth aspect,
The access time calculation means calculates the execution time in the order of the group,
It is characterized in that the request is classified for each type and data size, and the access time corresponding to the classification is updated.
【0037】上記のように、第14の発明によれば、第
13の発明において、グループの順序、要求の種類およ
びデータサイズについてアクセス時間を更新するため、
経時によるディスクの性能劣化に対応したアクセス時間
を求めることが可能となる。As described above, according to the fourteenth aspect, in the thirteenth aspect, the access time is updated for the group order, the type of request, and the data size.
It is possible to obtain an access time corresponding to the performance deterioration of the disk with the passage of time.
【0038】第15の発明は、第13および第14の発
明において、アクセス時間管理手段は、一定数の要求の
実行が完了するごとに、分類の各々についてアクセス時
間の更新を行うことを特徴とする。In a fifteenth aspect based on the thirteenth and fourteenth aspects, the access time management means updates the access time for each of the classifications each time the execution of a certain number of requests is completed. I do.
【0039】第16の発明は、第13および第14の発
明において、アクセス時間管理手段は、一定数の要求の
実行が完了するごとに、分類の各々について実行が完了
した分類のアクセス時間の更新を行うことを特徴とす
る。In a sixteenth aspect based on the thirteenth and fourteenth aspects, the access time management means updates the access time of each of the classified classes each time the execution of the fixed number of requests is completed. Is performed.
【0040】上記のように、第15および第16の発明
によれば、第13および第14の発明において、常に一
定数の要求ごとにアクセス時間が更新されるため、使用
頻度に応じて経時によるディスクの性能劣化に対応した
アクセス時間を求めることができる。As described above, according to the fifteenth and sixteenth inventions, in the thirteenth and fourteenth inventions, the access time is always updated for every fixed number of requests. The access time corresponding to the performance degradation of the disk can be obtained.
【0041】第17発明は、第13〜第16の発明にお
いて、アクセス時間は、分類された実行時間の平均値に
より求めることを特徴とする。In a seventeenth aspect based on the thirteenth to sixteenth aspects, the access time is obtained by an average value of the classified execution times.
【0042】上記のように、第17の発明によれば、第
13〜第16の発明において、偶発的に実行時間が長く
なった要求が存在した場合に、求めるアクセス時間に対
する影響を抑えることが可能となる。As described above, according to the seventeenth aspect, in the thirteenth to sixteenth aspects, it is possible to suppress the influence on the required access time in the case where there is a request whose execution time is increased by accident. It becomes possible.
【0043】第18の発明は、第13〜第17の発明に
おいて、ディスクIO手段は、ディスク装置に発行する
要求を生成するコマンド生成手段をさらに備え、アクセ
ス時間算出手段は、アクセス時間の初期値を求めること
を特徴とする。In an eighteenth aspect based on the thirteenth to seventeenth aspects, the disk IO means further comprises a command generating means for generating a request to be issued to the disk device, and the access time calculating means comprises an initial value of the access time. Is obtained.
【0044】上記のように、第18の発明によれば、第
13〜第17の発明において、接続されたディスク制御
装置を使用する際に、アクセス時間の初期値を求めるこ
とが可能となる。As described above, according to the eighteenth aspect, in the thirteenth to seventeenth aspects, it is possible to obtain the initial value of the access time when using the connected disk control device.
【0045】第19の発明は、第1〜第18の発明にお
いて、アクセス時間を書き込みコマンドにより記憶し、
読み出しコマンドにより出力する記憶装置と、書き込み
コマンドおよび読み出しコマンドを記憶装置に発行する
コマンド発行手段とをさらに備え、アクセス時間管理手
段は、書き込みコマンドを生成してアクセス時間を記憶
装置に格納し、また読み出しコマンドを生成してアクセ
ス時間を記憶装置から取得することを特徴とする。In a nineteenth aspect based on the first to eighteenth aspects, the access time is stored by a write command.
A storage device that outputs the read command; and a command issuing unit that issues the write command and the read command to the storage device.The access time management unit generates the write command and stores the access time in the storage device. The method is characterized in that a read command is generated and an access time is obtained from a storage device.
【0046】第20の発明は、第19の発明において、
記憶装置は、ディスク装置に構成され、コマンド発行手
段は、ディスクIO手段に構成されることを特徴とす
る。According to a twentieth aspect, in the nineteenth aspect,
The storage device is configured as a disk device, and the command issuing unit is configured as a disk IO unit.
【0047】上記のように、第19および第20の発明
によれば、第1〜第19の発明において、アクセス時間
を記憶装置に記憶しておき、使用時に読み出すことでア
クセス時間の初期値を求める動作を簡単化することがで
きる。As described above, according to the nineteenth and twentieth aspects of the present invention, in the first to nineteenth aspects, the access time is stored in the storage device and read out at the time of use to set the initial value of the access time. The desired operation can be simplified.
【0048】第21の発明は、第1の発明において、要
求管理手段は、各要求ごとに、ディスク装置をシークす
る方向が変化することを示すフラグと、要求が入力され
た時刻にキュー内で他の要求が完了するのを待つ時間
と、要求のアクセス時間とを加えた第1の時刻を保持し
ており、並べ替え制御手段に入力された要求を第1の要
求とし、要求管理手段内のフラグが設定された最後尾の
要求、またはフラグが設定されていなければディスクI
O手段が要求管理手段から取り出した最後尾の要求を第
2の要求とした場合、並べ替え制御手段は、第1の要求
を、第1の要求がアクセスする論理アドレスが、要求管
理手段内の最後尾の要求から第2の要求までがアクセス
する各論理アドレスの順序を乱さない位置に仮挿入し、
仮挿入により論理アドレスの順序が変更された場合に
は、第1の要求のフラグを設定し、仮挿入後に、要求管
理手段内で第1の要求以降の各要求について第1の時刻
を再び算出し、再び算出した第1の時刻が完了時刻を越
えない場合は、仮挿入した位置を第1の要求の挿入位置
とし、再び算出した第1の時刻が完了時刻を越える場合
は、要求管理手段の最後尾を第1の要求の挿入位置とす
ることを特徴とする。In a twenty-first aspect based on the first aspect, the request management means includes, for each request, a flag indicating that a direction in which the disk device seeks changes, and a request in the queue at the time the request is input. A first time obtained by adding a time to wait for completion of another request and an access time of the request is held. The request input to the rearrangement control means is regarded as a first request, and the request management means Last request with the flag set, or disk I if the flag is not set.
When the last request extracted from the request management means by the O means is the second request, the rearrangement control means determines that the first request is a logical address accessed by the first request. Temporarily inserting the logical addresses accessed from the last request to the second request in a position that does not disturb the order,
When the order of the logical addresses is changed by the temporary insertion, the flag of the first request is set, and after the temporary insertion, the first time is calculated again for each request after the first request in the request management unit. If the recalculated first time does not exceed the completion time, the provisionally inserted position is set as the insertion position of the first request. If the recalculated first time exceeds the completion time, the request management means is used. Is the insertion position of the first request.
【0049】上記のように、第21の発明によれば、第
1の発明において、各要求がもつ遅延可能時間以内に要
求の実行が完了するように、かつアクセスする論理アド
レスの順に要求を並べ替えることで、アクセスの効率を
向上することができる。As described above, according to the twenty-first aspect, in the first aspect, the requests are arranged in the order of the logical addresses to be accessed so that the execution of the requests is completed within the delay time of each request. By changing, the access efficiency can be improved.
【0050】第22の発明は、第21の発明において、
第1の要求と同じデータをアクセスする要求を第3の要
求とした場合、並べ替え制御手段は、第1の要求と第3
の要求とは読み出し要求であり、かつ第1の要求と第3
の要求との間に第1または第3の要求がアクセスするデ
ータに書き込む他の要求がない場合には、第1の要求の
アクセス時間を0とし、ディスクIO手段は、第3の要
求の実行結果を第1の要求の実行結果とすることを特徴
とする。According to a twenty-second invention, in the twenty-first invention,
When a request for accessing the same data as the first request is set as a third request, the rearrangement control unit sets the first request and the third request
Is a read request, and the first request and the third request
If there is no other request to write the data accessed by the first or third request between the first request and the third request, the access time of the first request is set to 0, and the disk IO means executes the third request. The result is an execution result of the first request.
【0051】上記のように、第22の発明によれば、第
21の発明において、同じデータをアクセスする読み出
し要求を効率良く実行することができる。As described above, according to the twenty-second aspect, in the twenty-first aspect, a read request for accessing the same data can be efficiently executed.
【0052】第23の発明は、第21の発明において、
第1の要求と同じ位置にあるデータに書き込む要求を第
3の要求とした場合、並べ替え制御手段は、第1の要求
は書き込み要求であり、かつ第1の要求と第3の要求と
の間に第1または第3の要求がアクセスするデータを読
み出す他の要求がない場合には、第1の要求を第3の要
求の直後に挿入すると共に、第3の要求のアクセス時間
を0とし、ディスクIO手段は、第3の要求を発行せ
ず、第1の要求の実行結果を第3の要求の実行結果とす
ることを特徴とする。According to a twenty-third aspect, in the twenty-first aspect,
When a request to write data at the same position as the first request is a third request, the rearrangement control unit determines that the first request is a write request and the first request and the third request If there is no other request to read data accessed by the first or third request in the meantime, the first request is inserted immediately after the third request, and the access time of the third request is set to 0. The disk IO unit does not issue the third request, and sets the execution result of the first request as the execution result of the third request.
【0053】上記のように、第23の発明によれば、第
21の発明において、同じデータをアクセスする書き込
み要求を効率良く実行することができる。As described above, according to the twenty-third aspect, in the twenty-first aspect, a write request for accessing the same data can be efficiently executed.
【0054】第24の発明は、第21の発明において、
第1の要求が読み出すデータと連続した位置にあるデー
タを読み出す要求を第3の要求とした場合、並べ替え制
御手段は、第1の要求と第3の要求との間に第1の要求
がアクセスするデータに書き込む他の要求がない場合に
は、第1の要求を連続した位置の順序に従って第3の要
求の直前または直後に挿入し、第1の要求または第3の
要求のアクセス時間を、第1の要求と第3の要求とが読
み出すデータサイズに応じたアクセス時間とし、ディス
クIO手段は、第1および第3の要求をまとめ、連続し
た位置にあるデータを読み出す一つの要求としてディス
ク装置に発行することを特徴とする。According to a twenty-fourth aspect, in the twenty-first aspect,
When a request for reading data at a position that is continuous with the data to be read in the first request is a third request, the rearrangement control unit determines that the first request is between the first request and the third request. If there is no other request to write to the data to be accessed, the first request is inserted immediately before or after the third request according to the sequence of consecutive positions, and the access time of the first request or the third request is reduced. The access time is determined according to the data size read by the first request and the third request, and the disk IO unit combines the first and third requests and sets the disk IO as one request for reading data at consecutive positions. It is characterized by being issued to a device.
【0055】上記のように、第24の発明によれば、第
21の発明において、連続したデータをアクセスする複
数の読み出し要求を効率良くアクセスすることができ
る。As described above, according to the twenty-fourth aspect, in the twenty-first aspect, a plurality of read requests for accessing continuous data can be efficiently accessed.
【0056】第25の発明は、第21の発明において、
第1の要求が書き込むデータと連続した位置にあるデー
タを書き込む要求を第3の要求とした場合、並べ替え制
御手段は、第1の要求と第3の要求との間に第1の要求
がアクセスするデータに読み出す他の要求がない場合に
は、第1の要求を連続した位置の順序に従って第3の要
求の直前または直後に挿入し、第1の要求または第3の
要求のアクセス時間を、第1の要求と第3の要求とが読
み出すデータサイズに応じたアクセス時間とし、ディス
クIO手段は、第1および第3の要求をまとめ、連続し
た位置にあるデータを読み出す一つの要求としてディス
ク装置に発行することを特徴とする。According to a twenty-fifth aspect, in the twenty-first aspect,
When a request to write data at a position that is continuous with the data to be written by the first request is a third request, the rearrangement control unit determines that the first request is between the first request and the third request. If there is no other request to read in the data to be accessed, the first request is inserted immediately before or immediately after the third request in the order of the consecutive positions, and the access time of the first request or the third request is reduced. The access time is determined according to the data size read by the first request and the third request, and the disk IO unit combines the first and third requests and sets the disk IO as one request for reading data at consecutive positions. It is characterized by being issued to a device.
【0057】上記のように、第25の発明によれば、第
21の発明において、連続したデータをアクセスする複
数の書き込み要求を効率良くアクセスすることができ
る。As described above, according to the twenty-fifth aspect, in the twenty-first aspect, a plurality of write requests for accessing continuous data can be efficiently accessed.
【0058】第26の発明は、各要求が個別に有する遅
延可能時間以内に当該各要求の実行が完了するように要
求を並べ替えてディスク装置に発行するディスク制御装
置であって、一つまたは複数の要求を保持する要求管理
手段と、要求管理手段が保持する要求を取り出してディ
スク装置に発行し、またディスク装置から当該要求に対
する応答を受信するディスクIO手段と、各要求につい
て、遅延可能時間より、要求を受け付けた際にすでに要
求管理手段に保持されていた要求の数に加え、さらに先
に実行してもよい要求数を示す挿入可能要求数を求める
遅延時間管理手段と、挿入可能要求数に基づいて、要求
管理手段が保持する要求を並べ替える並べ替え制御手段
とを備える。A twenty-sixth invention is a disk control apparatus for rearranging requests and issuing them to a disk device such that the execution of each request is completed within a delay time individually provided by each request. A request management means for holding a plurality of requests, a disk IO means for taking out the requests held by the request management means and issuing the requests to the disk device, and receiving a response to the requests from the disk device; A delay time management unit for obtaining the number of insertable requests indicating the number of requests that may be executed earlier in addition to the number of requests already held in the request management unit when the request is received; A reordering control unit for reordering the requests held by the request management unit based on the number.
【0059】上記のように、第26の発明によれば、要
求が入力されるたびに、要求が保持する遅延可能時間か
ら挿入可能要求数を求め、挿入可能要求数よりも多くの
要求をその要求の前に挿入しないように、要求を並べ替
える。これにより、アクセスの効率が良くなり、また遅
延可能時間以内に要求の実行を完了することができる。As described above, according to the twenty-sixth aspect, every time a request is input, the number of insertable requests is calculated from the delayable time held by the request, and more requests than the number of insertable requests are determined. Reorder the requests so that they are not inserted before the request. As a result, access efficiency is improved, and execution of the request can be completed within the delay time.
【0060】第27の発明は、第26の発明において、
遅延時間管理手段は、要求をディスク装置に発行してか
らディスク装置より当該要求に対する応答を受信するま
での時間である基準実行時間を保持する基準実行時間保
持手段と、基準実行時間と各要求内に指定された遅延可
能時間とから、挿入可能要求数を求める挿入可能要求数
算出手段とをさらに備えることを特徴とする。According to a twenty-seventh aspect, in the twenty-sixth aspect,
The delay time management means includes: a reference execution time holding means for holding a reference execution time, which is a time from when a request is issued to the disk device to when a response to the request is received from the disk device; And an insertable request number calculating means for obtaining an insertable request number from the delay possible time designated in (1).
【0061】上記のように、第27の発明によれば、第
26の発明において、ディスク装置に発行した要求の実
行時間を測定した値である基準実行時間を測定し、基準
実行時間と各要求が有する遅延可能時間とから挿入可能
要求数を求めることにより、より正確な挿入可能要求数
を得ることができる。As described above, according to the twenty-seventh aspect, in the twenty-sixth aspect, the reference execution time, which is a value obtained by measuring the execution time of the request issued to the disk device, is measured. By obtaining the number of insertable requests from the delay possible time of, the more accurate number of insertable requests can be obtained.
【0062】第28の発明は、第27の発明において、
ディスクIO手段は、ディスク装置に発行する要求を生
成するコマンド生成手段と、要求がディスク装置に発行
してからディスク装置より当該要求に対する応答を受信
するまでの実行時間を測定する実行時間測定手段と、実
行時間測定手段が測定した実行時間から基準実行時間の
初期値を求める基準実行時間算出手段とをさらに備える
ことを特徴とする。According to a twenty-eighth aspect, in the twenty-seventh aspect,
The disk IO means includes a command generating means for generating a request to be issued to the disk device, an execution time measuring means for measuring an execution time from when the request is issued to the disk device to when a response to the request is received from the disk device. And a reference execution time calculating means for obtaining an initial value of the reference execution time from the execution time measured by the execution time measuring means.
【0063】上記のように、第28の発明によれば、第
27の発明において、ディスク制御装置に接続されたデ
ィスク装置に発行する要求を生成し、その要求の実行時
間を測定することで、接続されたディスク装置に対する
基準実行時間の初期値を求めることが可能となる。As described above, according to the twenty-eighth aspect, in the twenty-seventh aspect, a request to be issued to a disk device connected to the disk control device is generated, and the execution time of the request is measured. The initial value of the reference execution time for the connected disk device can be obtained.
【0064】第29の発明は、第27の発明において、
ディスクIO手段は、要求がディスク装置に発行してか
らディスク装置より当該要求に対する応答を受信するま
での実行時間を測定する実行時間測定手段と、実行時間
測定手段が測定した実行時間から新たな基準実行時間を
求め、基準実行時間保持手段が保持する基準実行時間の
更新を行う基準実行時間算出手段とをさらに備えること
を特徴とする。According to a twenty-ninth aspect, in the twenty-seventh aspect,
The disk IO means comprises: an execution time measuring means for measuring an execution time from when a request is issued to the disk device to when a response to the request is received from the disk device; and a new reference based on the execution time measured by the execution time measuring means. And a reference execution time calculating means for obtaining the execution time and updating the reference execution time held by the reference execution time holding means.
【0065】上記のように、第29の発明によれば、第
27の発明において、要求の実行時間を測定し基準実行
時間を更新することで、経時変化によるディスク装置の
性能劣化に対応した挿入可能要求数を得ることができ
る。As described above, according to the twenty-ninth aspect, in the twenty-seventh aspect, by measuring the execution time of the request and updating the reference execution time, the insertion corresponding to the deterioration of the performance of the disk device due to aging can be achieved. The number of possible requests can be obtained.
【0066】第30の発明は、第27〜第29の発明に
おいて、基準実行時間は、測定した実行時間の平均値に
より求めることを特徴とする。According to a thirtieth aspect, in the twenty-seventh to twenty-ninth aspects, the reference execution time is obtained by an average value of the measured execution times.
【0067】上記のように、第30の発明によれば、第
27〜第29の発明において、複数の値の平均値を取る
ことにより、偶発的に要求の実行時間が長くなった要求
が存在した場合に基準実行時間に与える影響を抑えるこ
とが可能となる。As described above, according to the thirtieth aspect, in the twenty-seventh to twenty-ninth aspects, there is a request in which the execution time of the request is increased accidentally by taking an average value of a plurality of values. In this case, the influence on the reference execution time can be suppressed.
【0068】第31の発明は、第26の発明において、
要求管理手段は、各要求ごとに、ディスク装置をシーク
する方向が変化することまたは挿入可能要求数が0であ
ることを示すフラグと、挿入可能要求数とを保持してお
り、並べ替え制御手段に入力された要求を第1の要求と
し、要求管理手段内のフラグが設定された最後尾の要
求、またはフラグが設定されていなければディスクIO
手段が要求管理手段から取り出した最後尾の要求を第2
の要求とした場合、並べ替え制御手段は、第1の要求
を、第1の要求がアクセスする論理アドレスが、要求管
理手段内の最後尾の要求から第2の要求までがアクセス
する各論理アドレスの順序を乱さない位置に挿入し、挿
入により論理アドレスの順序が変更された場合には、第
1の要求のフラグを設定し、第1の要求の挿入位置以前
にある要求数を、第1の要求の挿入可能要求数から減算
し、第1の要求の挿入位置以降にあるすべての要求の挿
入可能要求数から1を減算し、減算により挿入可能要求
数が0となった要求に対して、フラグを設定することを
特徴とする。According to a thirty-first aspect, in the twenty-sixth aspect,
The request management means holds, for each request, a flag indicating that the direction of seeking the disk device is changed or the number of insertable requests is 0, and the number of insertable requests. Is the first request, the last request with the flag set in the request management means, or the disk IO if the flag is not set.
Means that the last request retrieved from the request management means
In this case, the rearrangement control means determines that the first request is a logical address accessed by the first request, and that each logical address accessed by the last request to the second request in the request management means. If the order of the logical addresses is changed by the insertion, the flag of the first request is set, and the number of requests existing before the insertion position of the first request is set to the first number. Is subtracted from the number of insertable requests of the first request, and 1 is subtracted from the number of insertable requests of all requests after the insertion position of the first request. , A flag is set.
【0069】上記のように、第31の発明によれば、第
26の発明において、各要求が有する遅延可能時間以内
に要求の実行が完了するように、かつ、各要求がアクセ
スする論理アドレス順に要求を並べ替えることで、アク
セス効率を向上することが可能となる。As described above, according to the thirty-first aspect, in the twenty-sixth aspect, the execution of the requests is completed within the delayable time of each request, and in the order of the logical addresses accessed by each request. By rearranging requests, access efficiency can be improved.
【0070】第32の発明は、第1〜第31の発明にお
いて、ディスク装置がキャッシュ機能を有している場
合、ディスクIO手段は、キャッシュ機能を使用せず
に、ディスク装置への要求の発行、および当該要求に対
する応答の受信を行うことを特徴とする。According to a thirty-second aspect, in the first to thirty-first aspects, when the disk device has a cache function, the disk IO means issues a request to the disk device without using the cache function. , And a response to the request.
【0071】上記のように、第32の発明によれば、第
1〜第31の発明において、ディスク装置がキャッシュ
機能を有している場合でも、キャッシュ機能を使用せず
に要求に対する処理を行う。これにより、いかなるディ
スク装置においても第1〜第31の発明の有用な効果を
奏することが可能となる。As described above, according to the thirty-second aspect, in the first to thirty-first aspects, even when the disk device has a cache function, the request is processed without using the cache function. . As a result, the useful effects of the first to thirty-first inventions can be obtained in any disk device.
【0072】[0072]
【発明の実施の形態】(第1の実施形態)図1は、本発
明の第1の実施形態に係るディスク制御装置の構成を示
すブロック図である。図1において、本第1の実施形態
に係るディスク制御装置は、並べ替え制御部11と、遅
延時間管理部12と、要求管理部13と、ディスクIO
部14と、アクセス時間管理部15と、ハードディスク
16とを備える。DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) FIG. 1 is a block diagram showing a configuration of a disk control device according to a first embodiment of the present invention. 1, a disk control device according to the first embodiment includes a rearrangement control unit 11, a delay time management unit 12, a request management unit 13, a disk IO
It includes a unit 14, an access time management unit 15, and a hard disk 16.
【0073】並べ替え制御部11は、ユーザ管理部(図
示せず)から処理の要求を受け付ける。そして、並べ替
え制御部11は、遅延時間管理部12およびアクセス時
間管理部15から与えられる情報に基づいて、シーク距
離が短くなるように、要求管理部13が管理する処理待
ち要求の並び(キュー)の任意の位置に受け付けた要求
を挿入する。The rearrangement control section 11 receives a processing request from a user management section (not shown). Then, based on the information provided from the delay time management unit 12 and the access time management unit 15, the rearrangement control unit 11 arranges a queue of processing requests (queues) managed by the request management unit 13 so as to shorten the seek distance. ) Inserts the received request at an arbitrary position.
【0074】ここで、ユーザ管理部とは、複数のユーザ
から特定の映像や音声の読み出しまたは書き込み要求を
受けて、当該要求に関するデータの処理要求を順次並べ
替え制御部11へ発行するものである。このユーザ管理
部が発行する処理の要求は、種類と、論理アドレスと、
データサイズと、許容遅延時間とを含んでいる。種類と
は、要求が読み出し要求であるか書き込み要求であるか
を示すものである。論理アドレスとは、処理すべきデー
タのハードディスク16上の先頭位置を示す論理的なア
ドレスである。データサイズとは、処理すべきデータの
サイズである。許容遅延時間とは、要求の処理が完了す
るまでに許容される(例えば、ユーザ側で連続した映像
または音声として再生するための)最大遅延時間であ
る。Here, the user management section receives a read or write request for a specific video or audio from a plurality of users, and sequentially issues data processing requests relating to the request to the rearrangement control section 11. . The processing request issued by the user management unit includes a type, a logical address,
It includes the data size and the allowable delay time. The type indicates whether the request is a read request or a write request. The logical address is a logical address indicating the head position on the hard disk 16 of the data to be processed. The data size is the size of data to be processed. The permissible delay time is the maximum delay time (for example, for the user to play back as continuous video or audio) until the processing of the request is completed.
【0075】遅延時間管理部12は、要求管理部13が
管理する要求の完了時刻をそれぞれ算出して保持する。
ここで、完了時刻とは、要求の処理が完了しなければな
らない時刻を表す。要求管理部13は、並べ替え制御部
11から連続的に入力される複数の要求をキューとして
保持する。ディスクIO部14は、要求管理部13のキ
ューから要求を順に読み出し、対応するコマンドをハー
ドディスク16へ出力する。このコマンドは、所定のサ
イズのデータの読み出しまたは書き込みを行うコマンド
である。アクセス時間管理部15は、ディスクIO部1
4がコマンドを発行してからハードディスク16より応
答を受信するまでの時間をアクセス時間として保持す
る。ハードディスク16は、複数種類のマルチメディア
データを一定のサイズごとに分割して記憶する。The delay time management unit 12 calculates and holds the completion time of the request managed by the request management unit 13.
Here, the completion time indicates a time at which the processing of the request must be completed. The request management unit 13 holds a plurality of requests continuously input from the rearrangement control unit 11 as a queue. The disk IO unit 14 sequentially reads requests from the queue of the request management unit 13 and outputs a corresponding command to the hard disk 16. This command is a command for reading or writing data of a predetermined size. The access time management unit 15 includes the disk IO unit 1
4 holds a time from issuing the command to receiving a response from the hard disk 16 as an access time. The hard disk 16 stores a plurality of types of multimedia data by dividing the data by a certain size.
【0076】図2は、要求管理部13が管理するキュー
の摸式図を示す。図2において、R(5),R(1
0),R(23)…は、読み出し要求または書き込み要
求を表す。キューの先頭の要求R(10)は、ハードデ
ィスク16における1つ前の要求R(5)が終了した時
点で、ディスクIO部14によって取り出される。ま
た、要求R(x)は、並べ替え制御部11から新たに出
力された要求を表す(xは、正の整数。以下同じ)。FIG. 2 is a schematic diagram of a queue managed by the request management unit 13. In FIG. 2, R (5), R (1
0), R (23)... Represent a read request or a write request. The request R (10) at the head of the queue is taken out by the disk IO unit 14 when the immediately preceding request R (5) on the hard disk 16 is completed. The request R (x) represents a request newly output from the rearrangement control unit 11 (x is a positive integer; the same applies hereinafter).
【0077】まず、図3〜図8を用いて、本第1の実施
形態に係るディスク制御装置を具体的に説明する。図3
は、本第1の実施形態に係るディスク制御装置のさらに
詳細な構成を示すブロック図である。図4は、ハードデ
ィスク16におけるブロック分割およびグループ分けの
一例を示す図である。図5は、完了時刻テーブル122
の構成の一例を示す図である。図6は、要求テーブル1
31の構成の一例を示す図である。図7は、コマンド管
理テーブル141aの構成の一例を示す図である。図8
は、アクセス時間テーブル152の構成の一例を示す図
である。First, the disk control device according to the first embodiment will be specifically described with reference to FIGS. FIG.
FIG. 3 is a block diagram showing a more detailed configuration of the disk control device according to the first embodiment. FIG. 4 is a diagram showing an example of block division and group division on the hard disk 16. FIG. 5 shows the completion time table 122.
FIG. 3 is a diagram showing an example of the configuration of FIG. FIG. 6 shows the request table 1
FIG. 3 is a diagram illustrating an example of a configuration of a first embodiment. FIG. 7 is a diagram illustrating an example of the configuration of the command management table 141a. FIG.
Is a diagram showing an example of the configuration of an access time table 152.
【0078】まず、以下の説明において、ハードディス
ク16は、予め図4に示すように任意のバイト単位(以
下、ブロックという)で領域分割されており、連続する
複数のブロックごとにグループg(1)〜g(m)にグ
ループ分けがされているものとする(mは、正の整
数)。なお、本第1の実施形態においては、64Kバイ
ト単位にブロック分割されているものとして説明する。First, in the following description, the hard disk 16 is previously divided into areas in arbitrary byte units (hereinafter, referred to as blocks) as shown in FIG. 4, and the group g (1) To g (m) (m is a positive integer). In the first embodiment, a description will be given assuming that the block is divided into 64 Kbyte units.
【0079】ここで、ブロックをグループへ分割する方
法の一例としては、各グループが均等なブロック数を持
つ分割方法がある。この方法では、ハードディスク16
内の全ブロック数を最大グループ数mで割った商の数だ
け、各グループにブロックを割り当てる。論理アドレス
が先頭のブロックから順に上記商の数だけグループg
(1)に割り当て、続きのブロックを同様にグループg
(2)に、以下順にグループg(m)まで割り当ててい
く。また、他の分割方法の一例としては、ハードディス
ク16上のシリンダ数を最大グループ数mで割った商を
求め、各グループに上記商の数のシリンダ数が割り当て
られるよう、先頭のシリンダに属しているブロックから
順にブロックを割り当てる方法がある。Here, as an example of a method of dividing blocks into groups, there is a dividing method in which each group has an equal number of blocks. In this method, the hard disk 16
Blocks are allocated to each group by the number of quotients obtained by dividing the total number of blocks in the group by the maximum group number m. Group g with the number of the above quotients in order from the block with the first logical address
(1), and the subsequent blocks are similarly assigned to group g.
(2) is sequentially allocated to the group g (m) below. As another example of the division method, a quotient obtained by dividing the number of cylinders on the hard disk 16 by the maximum number m of groups is obtained, and the group belonging to the first cylinder is assigned so that each group is assigned the number of cylinders of the number of quotients. There is a method of allocating blocks in order from the block that exists.
【0080】図3を参照して、遅延時間管理部12は、
完了時刻算出部121と、完了時刻テーブル122とを
備える。また、ディスクIO部14は、要求選択部14
1と、コマンド発行部142と、コマンド生成部143
とを備える。アクセス時間管理部15は、グループ変換
部151と、アクセス時間テーブル152と、アクセス
時間算出部153とを備える。また、要求管理部13
は、キューを要求テーブル131の形態で管理してい
る。Referring to FIG. 3, delay time management unit 12
A completion time calculation unit 121 and a completion time table 122 are provided. In addition, the disk IO unit 14 includes the request selection unit 14
1, a command issuing unit 142, and a command generating unit 143.
And The access time management unit 15 includes a group conversion unit 151, an access time table 152, and an access time calculation unit 153. The request management unit 13
Manages the queue in the form of a request table 131.
【0081】完了時刻算出部121は、並べ替え制御部
11から与えられる許容遅延時間delay(x)に基
づいて、完了時刻f(x)を算出する。完了時刻テーブ
ル122は、図5に示すように、完了時刻算出部121
が算出した完了時刻f(x)を各要求R(x)ごとに記
憶する。The completion time calculator 121 calculates the completion time f (x) based on the allowable delay time delay (x) given from the rearrangement controller 11. The completion time table 122 includes, as shown in FIG.
Is stored for each request R (x).
【0082】要求テーブル131は、上述のように要求
を管理するためのテーブルである。要求テーブル131
は、図6に示すように、各要求Rごとに種類k,論理ア
ドレスa,アクセス時間t,完了予定時刻e,禁止フラ
グflagおよびアクセスタイプtypeをそれぞれ記
憶する。なお、図6における順序Pは、要求の処理順
序、すなわち、要求選択部141が取り出す要求の順序
を示している。1がキューの先頭を、最大値nがキュー
の末尾を表す。このnは、キュー長でもある。The request table 131 is a table for managing requests as described above. Request table 131
Stores a type k, a logical address a, an access time t, a scheduled completion time e, a prohibition flag flag, and an access type for each request R, as shown in FIG. Note that the order P in FIG. 6 indicates the processing order of the requests, that is, the order of the requests extracted by the request selection unit 141. 1 indicates the head of the queue, and the maximum value n indicates the end of the queue. This n is also the queue length.
【0083】種類kは、要求が読み出し要求であるか書
き込み要求であるかを表す。論理アドレスaは、要求R
によって処理すべきデータのハードディスク16上の先
頭位置を示す論理的なアドレスである。アクセス時間t
は、要求Rの(または、要求Rまでの)実行時間exe
を予測した値である。要求Rの実行時間exeとは、要
求Rが読み出し要求の場合、対応するデータをハードデ
ィスク16から読み取って出力するのに要する時間であ
り、要求Rが書き込み要求の場合、対応するデータをハ
ードディスク16に書き込んで応答を受信するまでに要
する時間である。要求テーブル131におけるアクセス
時間tは、アクセス時間テーブル152から与えられ
る。完了予定時刻eは、要求Rの実行が完了すると予測
した時刻である。禁止フラグflagは、フラグONに
よって要求Rの前に新たな要求を挿入できないこと、ま
たは、要求Rの前後でシーク方向が逆になることを表
す。アクセスタイプtypeは、この要求Rとその直前
に処理される要求Rとの関係を示すものであり、「独
立」,「同一」,「連続」のいずれかが表される。例え
ば、要求R(x)の直前の要求がR(x-1)である場
合、type(x)=「独立」は、要求R(x)を単独
で実行すること表し、type(x)=「同一」は、要
求R(x)が要求R(x-1)と同じ論理アドレスa(x
-1)にアクセスすることを表し、type(x)=「連
続」は、要求R(x)が要求R(x-1)の論理アドレス
a(x-1)に連続した論理アドレスにアクセスすること
を表す。The type k indicates whether the request is a read request or a write request. The logical address a is the request R
Is a logical address indicating the start position on the hard disk 16 of the data to be processed. Access time t
Is the execution time exe of request R (or up to request R)
Is a predicted value. The execution time exe of the request R is the time required to read and output the corresponding data from the hard disk 16 when the request R is a read request, and to store the corresponding data in the hard disk 16 when the request R is a write request. This is the time required from writing to receiving a response. The access time t in the request table 131 is given from the access time table 152. The scheduled completion time e is a time at which the execution of the request R is predicted to be completed. The prohibition flag “flag” indicates that a new request cannot be inserted before the request R due to the flag ON, or that the seek direction is reversed before and after the request R. The access type “type” indicates a relationship between the request R and the request R processed immediately before the request R, and indicates one of “independent”, “identical”, and “continuous”. For example, if the request immediately before the request R (x) is R (x −1 ), type (x) = “independent” indicates that the request R (x) is executed alone, and type (x) = “Identical” means that the request R (x) has the same logical address a (x) as the request R (x −1 ).
-1 ), and type (x) = "continuous" means that the request R (x) accesses a logical address continuous to the logical address a (x -1 ) of the request R (x -1 ). It represents that.
【0084】要求選択部141は、要求テーブル131
の先頭から1つまたは連続して(順序Pの並びで)複数
の要求を取り出し、ハードディスク16に発行するコマ
ンドCを生成する。コマンドCの生成にあたり、要求選
択部141は、コマンド管理テーブル141aを有して
おり、当該コマンド管理テーブル141aに取り出した
要求Rと生成したコマンドCとの関係を登録する。コマ
ンド管理テーブル141aは、図7に示すように、各コ
マンドCごとに種類K,先頭論理アドレスA,データサ
イズlen,要求Rおよびデータ位置dをそれぞれ記憶
する。The request selection section 141 has a request table 131
One or a plurality of requests (in the order of P) are taken out from the beginning or consecutively, and a command C to be issued to the hard disk 16 is generated. In generating the command C, the request selecting unit 141 has a command management table 141a, and registers the relationship between the extracted request R and the generated command C in the command management table 141a. As shown in FIG. 7, the command management table 141a stores a type K, a leading logical address A, a data size len, a request R, and a data position d for each command C.
【0085】種類Kは、コマンドCが読み出し処理か書
き込み処理かを表すもので、上述の種類kと同じものを
格納する。先頭論理アドレスAは、コマンドCによって
アクセスするハードディスク16上の先頭の論理アドレ
スを示す。データサイズlenは、どれだけのブロック
を連続してアクセスするかを示した値である。データ位
置dは、要求Rが先頭から何番目のブロックにアクセス
するのかを指定した値で、各要求ごとに設定する。図7
に示す最初の例では、3×64kバイトの連続したブロ
ックを読み出す3つの要求R(1)〜R(3)に対し
て、1つのコマンドC(1)を生成した場合を示してい
る。この場合、データサイズlen(1)は3、データ
位置d(1)〜d(3)は順に1〜3、先頭論理アドレ
スA(1)はアクセスするブロックの先頭の論理アドレ
スとなる。The type K indicates whether the command C is a read process or a write process, and stores the same type as the type k described above. The head logical address A indicates the head logical address on the hard disk 16 accessed by the command C. The data size len is a value indicating how many blocks are continuously accessed. The data position d is a value that specifies the number of the block from the beginning that the request R accesses, and is set for each request. FIG.
In the first example shown in FIG. 1, a command C (1) is generated for three requests R (1) to R (3) for reading a continuous block of 3 × 64 kbytes. In this case, the data size len (1) is 3, the data positions d (1) to d (3) are 1 to 3, and the start logical address A (1) is the start logical address of the block to be accessed.
【0086】コマンド生成部143は、アクセス時間テ
ーブル152に格納するアクセス時間tの初期値を得る
ためのコマンドCを生成する。コマンド発行部142
は、要求選択部141またはコマンド生成部143が生
成したコマンドCを受けて、ハードディスク16へ発行
する。また、コマンド発行部142は、発行したコマン
ドCの実行結果をハードディスク16から受信し、要求
選択部141に実行結果を通知する。さらに、コマンド
発行部142は、コマンド発行から実行結果の受信まで
の実行時間exeを測定し、アクセス時間算出部153
へ出力する。The command generator 143 generates a command C for obtaining an initial value of the access time t stored in the access time table 152. Command issuing unit 142
Receives the command C generated by the request selector 141 or the command generator 143 and issues the command C to the hard disk 16. Further, the command issuing unit 142 receives the execution result of the issued command C from the hard disk 16 and notifies the request selecting unit 141 of the execution result. Further, the command issuing unit 142 measures the execution time exe from the command issuance to the reception of the execution result, and obtains the access time calculation unit 153.
Output to
【0087】アクセス時間算出部153は、コマンド発
行部142から受けた実行時間exeに基づいて、アク
セス時間テーブル152にアクセス時間tを格納する。
グループ変換部151は、ハードディスク16内におけ
るグループ分けの情報を予め有している。グループ変換
部151は、並べ替え制御部11から論理アドレスaを
入力して、当該論理アドレスaが属するグループgを求
める。The access time calculation unit 153 stores the access time t in the access time table 152 based on the execution time exe received from the command issuing unit 142.
The group conversion unit 151 has information on grouping in the hard disk 16 in advance. The group conversion unit 151 receives the logical address a from the rearrangement control unit 11 and obtains a group g to which the logical address a belongs.
【0088】アクセス時間テーブル152は、図8
(a)に示すように、要求Rの種類kと要求Rがアクセ
スするデータサイズlenとをパラメータとして、上述
したハードディスク16内のグループ(図4を参照)相
互間のアクセス時間tを順列でそれぞれ記憶する。図8
(a)は、ハードディスク16上の全ブロックをm個の
グループに分割した場合における64kバイトの読み出
し要求のアクセス時間テーブルを示している。図8
(a)において、例えばt{1,3}は、グループg
(1)からグループg(3)へアクセスするのに必要な
時間を表している。従って、この場合においては、アク
セス時間t=t{1,3}となる。The access time table 152 is shown in FIG.
As shown in (a), using the type k of the request R and the data size len accessed by the request R as parameters, the access times t between the groups (see FIG. 4) in the hard disk 16 are permutated, respectively. Remember. FIG.
(A) shows an access time table of a read request of 64 kbytes when all blocks on the hard disk 16 are divided into m groups. FIG.
In (a), for example, t {1, 3} is the group g
It represents the time required to access group g (3) from (1). Therefore, in this case, the access time t = t {1,3}.
【0089】なお、このアクセス時間管理テーブル15
2は、アクセスするデータサイズに対応して種々のテー
ブルを任意に設定することができる(例えば、128k
バイトや256kバイト等)。また、読み出し要求に対
応するテーブルと書き込み要求に対応するテーブルと
は、別個に作成される。また、このアクセス時間管理テ
ーブル152は、グループgの順列を考慮しない場合に
は、図8(b)のように組合せに対応したテーブルとす
ることもできる。この場合、格納するデータ量を削減す
ることができる。また、アクセス時間を定めるグループ
gは、3以上の値をとってもよい。3つ以上のグループ
gの順列から定める場合は、3つ以上の要求がアクセス
する論理アドレスから求まるグループgでアクセス時間
を決定する。The access time management table 15
2 can arbitrarily set various tables corresponding to the data size to be accessed (for example, 128 k
Bytes or 256k bytes). Also, a table corresponding to a read request and a table corresponding to a write request are created separately. If the permutation of the group g is not considered, the access time management table 152 may be a table corresponding to the combination as shown in FIG. 8B. In this case, the amount of data to be stored can be reduced. Further, the group g that determines the access time may take a value of 3 or more. When determining from the permutation of three or more groups g, the access time is determined by the group g obtained from the logical addresses accessed by three or more requests.
【0090】次に、図9〜図11を参照して、本第1の
実施形態に係るディスク制御装置が行う処理を具体的に
説明する。図9は、アクセス時間テーブル152の初期
設定手順を示すフローチャートである。図10は、新た
な要求R(x)の挿入処理手順を示すフローチャートで
ある。図11は、図10におけるステップS214の算
出処理手順を示すフローチャートである。Next, the processing performed by the disk control device according to the first embodiment will be specifically described with reference to FIGS. FIG. 9 is a flowchart showing an initial setting procedure of the access time table 152. FIG. 10 is a flowchart illustrating a procedure for inserting a new request R (x). FIG. 11 is a flowchart showing the calculation processing procedure of step S214 in FIG.
【0091】まず、前提として、運用時にアクセス時間
テーブル152に格納するアクセス時間tの初期値を求
める方法を、図9を参照して説明する。ここでは、64
kバイトの読み出し要求に対応するテーブルを求める場
合について説明する。コマンド生成部143は、ハード
ディスク16内のグループg(1)〜g(m)のそれぞ
れに関し、グループに属する少なくとも1つ以上のブロ
ックを選択する(ステップS101)。例えば、各グル
ープごとにグループ内の先頭、中央、最後の3つのブロ
ックを選択する。次に、コマンド生成部143は、ステ
ップS101で選択した全てのブロックの中から2つの
ブロックを選択した場合に生成可能な順列をすべて作成
する(ステップS102)。例えば、グループg(1)
の先頭ブロックとグループg(1)の中央ブロック、グ
ループg(1)の先頭ブロックとグループg(1)の最
後ブロック、グループg(1)の先頭ブロックとグルー
プg(2)の先頭ブロック、…という具合である。次
に、コマンド生成部143は、ステップS102で生成
したすべての順列に関して、ブロックを順列通りにアク
セスするコマンドCを生成する(ステップS103)。
この各コマンドに指定する先頭論理アドレスは、各ブロ
ックの先頭を指す論理アドレスであり、コマンドの種類
は読み出し要求、データサイズは64kバイトである。First, a method of obtaining an initial value of the access time t stored in the access time table 152 during operation will be described with reference to FIG. Here, 64
A case where a table corresponding to a read request of k bytes is obtained will be described. The command generator 143 selects at least one or more blocks belonging to the groups g (1) to g (m) in the hard disk 16 (step S101). For example, for each group, the first, center, and last three blocks in the group are selected. Next, the command generation unit 143 generates all permutations that can be generated when two blocks are selected from all the blocks selected in step S101 (step S102). For example, group g (1)
, The center block of group g (1), the head block of group g (1) and the last block of group g (1), the head block of group g (1) and the head block of group g (2),. It is so. Next, the command generation unit 143 generates a command C for accessing blocks according to the permutation for all permutations generated in step S102 (step S103).
The head logical address specified in each command is a logical address indicating the head of each block, the type of command is a read request, and the data size is 64 kbytes.
【0092】コマンド発行部142は、コマンド生成部
143が生成したコマンドCを受けとり、ハードディス
ク16へ発行し、その応答を受信するまでの実行時間e
xeを測定する(ステップS104)。アクセス時間算
出部153は、コマンド発行部142からコマンドCに
従ってアクセスした論理アドレスと実行時間exeとを
取得する。そして、アクセス時間算出部153は、グル
ープ変換部151を参照してコマンドCがどのグループ
間の処理かを求め、当該グループ間のアクセス時間tと
してアクセス時間テーブル152の対応する部分に実行
時間exeを格納する(ステップS105)。以上のス
テップS103〜S105の処理を、ステップS102
で生成したすべての順列に対して行う(ステップS10
6)。The command issuing section 142 receives the command C generated by the command generating section 143, issues the command C to the hard disk 16, and executes the command C for an execution time e until the response is received.
xe is measured (step S104). The access time calculation unit 153 acquires the logical address accessed according to the command C from the command issuing unit 142 and the execution time exe. Then, the access time calculation unit 153 refers to the group conversion unit 151 to determine which group the command C is to be processed between, and sets the execution time exe in a corresponding part of the access time table 152 as the access time t between the groups. It is stored (step S105). The processing of steps S103 to S105 is performed in step S102.
(Step S10).
6).
【0093】なお、同一のグループ間に関して実行時間
exeを複数求めた場合(例えば、グループg(1)の
先頭ブロックからグループg(2)の先頭ブロックへの
実行時間exeと、グループg(1)の最後ブロックと
グループg(2)の最後ブロックへの実行時間exeと
の双方を求めた場合)には、アクセス時間算出部153
は、同一のグループ間に関して実行時間exeの平均値
を算出し、当該平均値をアクセス時間テーブル152に
格納するようにすればよい。When a plurality of execution times exe are obtained for the same group (for example, the execution time exe from the head block of the group g (1) to the head block of the group g (2) and the group g (1) In the case where both the execution time exe for the last block of the group g (2) and the execution time exe for the last block of the group g (2) are obtained), the access time calculation unit 153
May calculate the average value of the execution time exe for the same group and store the average value in the access time table 152.
【0094】次に、並べ替え制御部11が新しい要求R
(x)を受けとった以後の動作を、図10を参照して説
明する。並べ替え制御部11は、ユーザ管理部から新た
な要求R(x)を受け取ると、要求R(x)の許容遅延
時間delay(x)を完了時刻算出部121へ送信す
る。完了時刻算出部121は、現在の時刻に許容遅延時
間delay(x)を加えることで完了時刻f(x)を
算出する(ステップS201)。完了時刻算出部121
は、算出した完了時刻f(x)を完了時刻テーブル12
2に格納するとともに、並べ替え制御部11へ返送す
る。Next, the rearrangement control unit 11 sends a new request R
The operation after receiving (x) will be described with reference to FIG. Upon receiving the new request R (x) from the user management unit, the rearrangement control unit 11 transmits the allowable delay time delay (x) of the request R (x) to the completion time calculation unit 121. The completion time calculation unit 121 calculates the completion time f (x) by adding the allowable delay time delay (x) to the current time (step S201). Completion time calculation unit 121
Calculates the calculated completion time f (x) in the completion time table 12
2 and returned to the rearrangement control unit 11.
【0095】また、並べ替え制御部11は、ユーザ管理
部から要求R(x)を受け取ると、要求テーブル131
をキューの最後尾から順にスキャンし、要求R(x)と
種類kおよび論理アドレスaが等しい要求Rが存在する
か否かを検索する(ステップS202)。この検索処理
および後述する比較処理の対象は、要求テーブル131
に存在する要求のみならず、直前に要求選択部141に
よって取り出された要求をも含まれる。ステップS20
2において等しい要求R(h)が見つかった場合、並べ
替え制御部11は、要求R(x)を要求R(h)の直後
の位置に仮挿入し、要求R(h)のアクセスタイプty
pe(h)を「同一」に、要求R(x)の完了予定時刻
e(x)を「e(h)と同じ値」に設定する(ステップ
S203)。一方、ステップS202において等しい要
求Rが見つからなかった場合、並べ替え制御部11は、
次に、要求テーブル131をキューの最後尾から順にス
キャンし、要求R(x)と種類kが等しく、かつ、論理
アドレスaが論理アドレスa(x)の1ブロック分だけ
前後に設定された要求Rが存在するか否かを検索する
(ステップS204)。Further, upon receiving the request R (x) from the user management unit, the rearrangement control unit 11
Are scanned in order from the end of the queue, and a search is made as to whether there is a request R having the same type k and logical address a as the request R (x) (step S202). The target of this search processing and comparison processing described later is the request table 131.
Not only the request existing in the request selection unit 141 but also the request extracted by the request selection unit 141 immediately before. Step S20
2, when the same request R (h) is found, the reordering control unit 11 temporarily inserts the request R (x) into a position immediately after the request R (h), and the access type ty of the request R (h).
Pe (h) is set to “identical”, and the scheduled completion time e (x) of the request R (x) is set to “the same value as e (h)” (step S203). On the other hand, if no equal request R is found in step S202, the reordering control unit 11
Next, the request table 131 is scanned in order from the end of the queue, and a request in which the request R (x) and the type k are equal and the logical address a is set before and after by one block of the logical address a (x). It is searched whether or not R exists (step S204).
【0096】上記ステップS204において該当する要
求R(i)が見つかった場合、並べ替え制御部11は、
論理アドレスa(x)と論理アドレスa(i)とを比較
する(ステップS205)。このステップS205にお
いてa(x)>a(i)である場合、並べ替え制御部1
1は、要求R(x)を要求R(i)の直後の位置に仮挿
入し、要求R(i)のアクセスタイプtype(i)を
「連続」に設定する(ステップS206)。一方、ステ
ップS205においてa(x)<a(i)である場合、
並べ替え制御部11は、要求R(x)を要求R(i)の
直前の位置に仮挿入し、要求R(x)のアクセスタイプ
type(x)を「連続」に設定する(ステップS20
7)。When the corresponding request R (i) is found in step S204, the rearrangement control unit 11
The logical address a (x) is compared with the logical address a (i) (step S205). If a (x)> a (i) in step S205, the rearrangement control unit 1
1 temporarily inserts the request R (x) into the position immediately after the request R (i), and sets the access type type (i) of the request R (i) to “continuous” (step S206). On the other hand, if a (x) <a (i) in step S205,
The rearrangement control unit 11 temporarily inserts the request R (x) into a position immediately before the request R (i), and sets the access type type (x) of the request R (x) to “continuous” (step S20).
7).
【0097】上記ステップS204において該当する要
求Rが見つからなかった場合、並べ替え制御部11は、
要求テーブル131をキューの最後尾から禁止フラグf
lagがONである要求Rが存在するか否かを検索する
(ステップS208)。ステップS208において該当
する要求R(j)が見つかった場合、並べ替え制御部1
1は、その要求R(j)から再後尾までのすべての要求
Rの論理アドレスaと、要求R(x)の論理アドレスa
(x)との位置を比較する(ステップS209,S21
1)。ステップS208において該当する要求Rが見つ
からなかった場合、並べ替え制御部11は、すべての要
求Rの論理アドレスaと、要求R(x)の論理アドレス
a(x)との位置を比較する(ステップS210,S2
11)。If the corresponding request R is not found in step S204, the reordering control unit 11
The request table 131 is changed from the end of the queue to the prohibition flag f.
It is searched whether there is a request R whose lag is ON (step S208). If the corresponding request R (j) is found in step S208, the sorting control unit 1
1 is the logical address a of all requests R from the request R (j) to the end of the request, and the logical address a of the request R (x).
(X) (Steps S209, S21)
1). If the corresponding request R is not found in step S208, the rearrangement control unit 11 compares the positions of the logical addresses a of all the requests R with the logical addresses a (x) of the requests R (x) (step S208). S210, S2
11).
【0098】上記ステップS211において論理アドレ
スの位置を比較した結果、論理アドレスa(x)が比較
した論理アドレスの間に位置する場合は、論理アドレス
aの順序を乱さない(昇順または降順となる)位置に要
求R(x)を仮挿入し、要求R(x)のアクセスタイプ
type(x)を「独立」に設定する(ステップS21
2)。ここで、ステップS211の比較において、論理
アドレスa(x)にアクセスする要求R(q)が見つか
った場合、要求R(x)と要求R(q)とは、同じ論理
アドレスをアクセスする種類kが異なる要求となる。こ
の場合、実行順序を保存するため、要求R(q)の直後
に要求R(x)を仮挿入し、要求R(q)のアクセスタ
イプtype(q)を「連続」に設定する。一方、ステ
ップS211において論理アドレスの位置を比較した結
果、論理アドレスa(x)が比較した論理アドレスの間
に位置しない場合は、キューの最後尾に要求R(x)を
仮挿入し、要求R(x)のアクセスタイプtype
(x)を「独立」に設定する(ステップS213)。こ
の時、論理アドレスa(x)が最後尾の要求Rの論理ア
ドレスa、または挿入位置直前の要求Rの論理アドレス
aの順序と異なる場合には、最後尾または挿入位置直前
の要求Rの禁止フラグflagをONに設定する。As a result of comparing the positions of the logical addresses in step S211, if the logical address a (x) is located between the compared logical addresses, the order of the logical addresses a is not disturbed (ascending order or descending order). The request R (x) is temporarily inserted into the position, and the access type type (x) of the request R (x) is set to “independent” (Step S21)
2). Here, if the request R (q) for accessing the logical address a (x) is found in the comparison in step S211, the request R (x) and the request R (q) are of the type k for accessing the same logical address. Are different requirements. In this case, in order to preserve the execution order, the request R (x) is temporarily inserted immediately after the request R (q), and the access type type (q) of the request R (q) is set to “continuous”. On the other hand, as a result of comparing the positions of the logical addresses in step S211, if the logical address a (x) is not located between the compared logical addresses, the request R (x) is temporarily inserted at the end of the queue, and the request R (x) is inserted. (X) access type
(X) is set to “independent” (step S213). At this time, when the logical address a (x) is different from the logical address a of the last request R or the order of the logical address a of the request R immediately before the insertion position, the request R immediately before the last or insertion position is prohibited. The flag is set to ON.
【0099】次に、並び替え制御部11は、要求R
(x)の完了予定時刻e(x)を算出する(ステップS
214)。この完了予定時刻e(x)を算出するステッ
プS214で行う処理は、図11にサブルーチンとして
示す。なお、以下の説明において、要求R(x)のn個
前の要求を要求R(x-n)と、要求R(x)のn個後の
要求を要求R(x+n)と表現する。Next, the rearrangement control unit 11 sends the request R
The expected completion time e (x) of (x) is calculated (Step S)
214). The processing performed in step S214 for calculating the estimated completion time e (x) is shown as a subroutine in FIG. In the following description, a request n times before the request R (x) is expressed as a request R (x− n ), and a request n times after the request R (x) is expressed as a request R (x + n ). .
【0100】図11を参照して、並び替え制御部11
は、上記ステップS201〜S213までの処理に従っ
て要求R(x)の仮挿入を行った後、参照する要求がい
くつ前の要求R(x-n)かを示すカウンタnに1を、ど
れだけ連続した処理が行えるかを示すカウンタdsに1
を代入して初期化する(ステップS301)。次に、並
び替え制御部11は、要求R(x)のn個前の要求、す
なわち、最初は直前の要求R(x-1)のアクセスタイプ
type(x-1)を判断する(ステップS302)。ス
テップS302の判断でアクセスタイプtype
(x-1)が「独立」である場合、データサイズを1(=
ds),先頭の論理アドレスをa(x-1)とする(ステ
ップS303)。ステップS302の判断でアクセスタ
イプtype(x -1)が「同一」である場合、カウンタ
nに1を加えて判断する対象を変えてステップ302に
戻る(ステップS304)。一方、ステップS302の
判断でアクセスタイプtype(x-1)が「連続」であ
る場合、カウンタnに1を加えて判断する対象を変える
と共に、カウンタdsに1を加えてステップ302に戻
る(ステップS304,S305)。そして、並び替え
制御部11は、上記ステップS302〜S305を実行
して求めたデータサイズ(=ds)と先頭の論理アドレ
スa(x-n)を、要求R(x)の種類k(x)および論
理アドレスa(x)と共に、グループ変換部151へ送
出する。Referring to FIG. 11, sorting control unit 11
Follows the processing of steps S201 to S213.
After the request R (x) is temporarily inserted,
Request R (x-n1) to the counter n indicating
The counter ds indicating whether continuous processing can be performed as much as 1
And initialization is performed (step S301). Next, average
The switching control unit 11 determines that the request n times before the request R (x)
That is, at first, the immediately preceding request R (x-1) Access type
type (x-1) Is determined (step S302). S
In step S302, the access type is determined.
(X-1) Is “independent”, the data size is set to 1 (=
ds) and the first logical address is a (x-1)
Step S303). In step S302, the access
Ip type (x -1) Is "identical"
Add 1 to n and change the judgment target and go to step 302.
It returns (step S304). On the other hand, in step S302
The access type type (x-1) Is "continuous"
In this case, the object to be determined is changed by adding 1 to the counter n.
At the same time, add 1 to the counter ds and return to step 302
(Steps S304 and S305). And sort
The control unit 11 executes steps S302 to S305 described above.
Data size (= ds) and the logical address at the beginning
A (x-n), The type k (x) of the request R (x) and the argument
To the group conversion unit 151 together with the physical address a (x).
Put out.
【0101】なお、上記データサイズ(=ds)の上限
は、アクセス時間テーブル152が保持しているテーブ
ルに制限される。例えば、アクセス時間テーブル152
が4×64kバイトのテーブルまでしか保持していない
場合には、データサイズは4が上限となる。従って、よ
り大きなデータサイズに対応したアクセス時間テーブル
152を保持することで、この数値の制限をより大きな
値に設定することが可能である。The upper limit of the data size (= ds) is limited to the table held in the access time table 152. For example, the access time table 152
, Holds only a table up to 4 × 64 kbytes, the data size is 4 at the upper limit. Therefore, by holding the access time table 152 corresponding to a larger data size, it is possible to set this numerical limit to a larger value.
【0102】グループ変換部151は、並び替え制御部
11から入力される論理アドレスa(x-n)およびa
(x)に基づいて対応するグループg(x-n)およびg
(x)を算出する(ステップS306)。そして、アク
セス時間テーブル152は、種類k(x)とデータサイ
ズとが該当するテーブルより、グループg(x-n)から
グループg(x)までのアクセス時間t{g(x-n),
g(x)}を抽出する(ステップS307)。The group converter 151 converts the logical addresses a (x− n ) and a
Corresponding groups g (x −n ) and g based on (x)
(X) is calculated (step S306). Then, the access time table 152 shows that the access time t {g (x− n ) from the group g (x− n ) to the group g (x) is obtained from the table corresponding to the type k (x) and the data size.
g (x)} is extracted (step S307).
【0103】上記ステップS307で抽出がされると、
並び替え制御部11は、アクセス時間テーブル152が
抽出したアクセス時間t{g(x-n),g(x)}を要
求R(x)のアクセス時間t(x)とし、完了予定時刻
e(x)を下記式(1)に基づいて算出する(ステップ
S308)。 e(x)=e(x-n)+t{g(x-n),g(x)} =e(x-n)+t(x) ‥‥(1)When extraction is performed in step S307,
The rearrangement control unit 11 sets the access time t {g (x− n ), g (x)} extracted by the access time table 152 as the access time t (x) of the request R (x), and the scheduled completion time e ( x) is calculated based on the following equation (1) (step S308). e (x) = e (x− n ) + t {g (x− n ), g (x)} = e (x− n ) + t (x) ‥‥ (1)
【0104】次に、並び替え制御部11は、要求R
(x)以降の要求R(x+n)の完了予定時刻e(x+n)
を下記式(2)に基づいて更新する(ステップS30
9)。なお、式(2)において完了予定時刻e
(x+n)’は、要求R(x+n)が要求R(x)の挿入前
に有していた完了予定時刻である。 e(x+n)=e(x+n)’+t(x)+t{g(x),g(x+n)} −t{g(x-n),g(x+n)} ‥‥(2)Next, the rearrangement control unit 11 sends the request R
Scheduled completion time e (x + n ) of the request R (x + n ) after (x)
Is updated based on the following equation (2) (step S30).
9). Note that the scheduled completion time e in equation (2)
(X + n ) ′ is the scheduled completion time that the request R (x + n ) had before the insertion of the request R (x). e (x + n ) = e (x + n ) '+ t (x) + t {g (x), g (x + n )}-t {g (x- n ), g (x + n )}} ‥ (2)
【0105】再び図10を参照して、上述のように完了
予定時刻e(x)の算出および完了予定時刻e(x+n)
の更新が終了すると、並び替え制御部11は、新たに算
出したすべての完了予定時刻e(x)およびe(x+n)
が、完了時刻テーブル122に格納している完了時刻f
(x)およびf(x+n)以内であるか否かをそれぞれ確
認する(ステップS215)。ステップS215の確認
においてすべて完了時刻f以内である場合は、要求R
(x)の仮挿入位置を本挿入位置として並べ替え処理を
終了する。一方、ステップS215の確認においてすべ
て完了時刻f以内でない場合は、仮挿入位置は不適当と
判断し、今まで行った各要求Rの完了予定時刻eの変更
を仮挿入処理前の値に戻し、要求R(x)をキューの再
後尾に挿入し、要求R(x)のアクセスタイプtype
(x)を「独立」に設定して、並び替え処理を終了する
(ステップS216)。この時、要求R(x)の論理ア
ドレスa(x)がもともと再後尾にあった要求の論理ア
ドレスの順序と異なる場合、当該もともと再後尾にあっ
た要求の禁止フラグflagをONに設定する。以上の
手順により、新たな要求R(x)を挿入した要求テーブ
ル131のキューの並び替え処理が終了する。Referring again to FIG. 10, as described above, calculation of expected completion time e (x) and expected completion time e (x + n )
Are completed, the rearrangement control unit 11 returns all newly calculated scheduled completion times e (x) and e (x + n ).
Is the completion time f stored in the completion time table 122.
It is checked whether they are within (x) and f (x + n ), respectively (step S215). If all of the confirmations in step S215 are within the completion time f, the request R
The rearrangement process ends with the temporary insertion position of (x) as the main insertion position. On the other hand, if all of the confirmations in step S215 are not within the completion time f, the temporary insertion position is determined to be inappropriate, and the change in the scheduled completion time e of each request R performed so far is returned to the value before the temporary insertion processing. The request R (x) is inserted at the end of the queue, and the access type of the request R (x) is type
(X) is set to “independent”, and the sorting process ends (step S216). At this time, if the logical address a (x) of the request R (x) is different from the order of the logical addresses of the request that was originally at the tail, the prohibition flag flag of the request that was originally at the tail is set to ON. With the above procedure, the queue reordering process of the request table 131 into which the new request R (x) has been inserted ends.
【0106】次に、要求テーブル131が有する要求R
をハードディスク16に発行する手順を説明する。要求
選択部141は、要求テーブル131の先頭から順に、
すなわち、順序Pの順番で要求R(r)を取り出す。こ
の時、先頭の要求R(r)のアクセスタイプtype
(r)が「同一」または「連続」である場合、R(r)
の次の要求R(r+1)も続けて取り出す。そして、要求
R(r+1)についてもアクセスタイプtype(r+1)
を確認し、アクセスタイプtypeが「独立」となるま
で連続して要求Rを取り出す。この連続して取り出すこ
とができる要求Rの数は、アクセスタイプtypeが
「同一」のものを除き、上述したデータサイズ(=d
s)の上限の場合と同様に、アクセス時間テーブル15
2が保持しているテーブルに制限される。従って、より
大きなデータサイズに対応したアクセス時間テーブル1
52を保持することで、連続して取り出す要求Rの数よ
り多くすることが可能である。Next, the request R in the request table 131
Will be described to the hard disk 16. The request selection unit 141 sequentially starts from the top of the request table 131
That is, the requests R (r) are extracted in the order of the order P. At this time, the access type type of the first request R (r)
When (r) is “same” or “continuous”, R (r)
The following request R (r + 1 ) is also taken out. The request R (r +1 ) also has an access type type (r +1 )
And the request R is continuously taken out until the access type “independent” becomes “independent”. The number of requests R that can be continuously taken out is equal to the above-mentioned data size (= d except for those having the same access type “type”).
As in the case of the upper limit of s), the access time table 15
2 is limited to the table it holds. Therefore, the access time table 1 corresponding to a larger data size
By holding 52, it is possible to increase the number of requests R to be continuously taken out.
【0107】要求選択部141は、上記単独の要求R
(r)または連続して取り出した要求R(r)〜R(r
+1)に関する一つのコマンドC(s)をコマンド管理テ
ーブル141a(図7を参照)上で生成する。コマンド
発行部142は、要求選択部141で生成したコマンド
C(s)をハードディスク16に発行する。また、コマ
ンド発行部142は、コマンドC(s)を発行してから
ハードディスク16における処理完了の応答を受信する
までの実行時間exe(s)を測定する。そして、コマ
ンド発行部142は、実行時間exe(s)を、種類K
(s),データサイズlen(s),先頭論理アドレス
A(s)と共に、アクセス時間管理部153へ通知す
る。The request selecting section 141 performs the above-mentioned single request R
(R) or requests R (r) to R (r)
+1 ) is generated on the command management table 141a (see FIG. 7). The command issuing unit 142 issues the command C (s) generated by the request selecting unit 141 to the hard disk 16. Further, the command issuing unit 142 measures an execution time exe (s) from issuing the command C (s) to receiving a response indicating that the processing has been completed in the hard disk 16. Then, the command issuing unit 142 sets the execution time exe (s) to the type K
(S), the data size len (s), and the leading logical address A (s) are notified to the access time management unit 153.
【0108】また、コマンド発行部142は、応答を受
信した結果を要求選択部141に通知する。そして、要
求選択部141は、この通知を受けてユーザに対し要求
の処理が終了した旨を任意の方法で返送する。この際、
要求選択部141は、1つのコマンドC(s)で複数の
要求を実行したものについては、各要求ごとの実行結果
として返送する。この場合、読み出し要求であれば、読
み出したデータを先頭から64kバイト単位に区切り、
コマンド管理テーブル141aより各要求のデータ位置
dが示すデータを応答として返送する。以上の手順によ
り、要求テーブル131が有する要求Rに対するハード
ディスク16への処理が終了する。The command issuing section 142 notifies the request selecting section 141 of the result of receiving the response. Then, the request selecting unit 141 receives this notification and returns to the user that the processing of the request has been completed by an arbitrary method. On this occasion,
The request selecting unit 141 returns, as a result of execution of a plurality of requests by one command C (s), an execution result for each request. In this case, in the case of a read request, the read data is divided into 64 kbyte units from the beginning,
The data indicated by the data position d of each request is returned as a response from the command management table 141a. With the above procedure, the processing on the hard disk 16 for the request R included in the request table 131 ends.
【0109】最後に、運用中において、アクセス時間テ
ーブル152に格納しているアクセス時間tの更新を行
う動作を説明する。なお、このアクセス時間tの更新を
行う動作は、上述したアクセス時間tの初期値を設定す
る際の動作と同様である。アクセス時間算出部153
は、上記のようにコマンド発行部142から今実行した
コマンドC(s)に関する各情報を入手する。そして、
コマンドC(s)の直前に実行したコマンドC(s-1)
の論理アドレスA(s-1)と、論理アドレスA(s)と
に基づいて、グループ変換部151によりグループg
(s)およびg(s-1)を求める。その後、アクセス時
間算出部153は、アクセス時間テーブル152内の種
類K(s)およびデータサイズlen(s)が一致する
テーブルについて、アクセス時間t{g(s-1),g
(s)}の値を実行時間exe(s)の値に書き替え
る。このような処理を、コマンドCを実行するごとに行
い、常に最新のアクセス時間tを求め、アクセス時間テ
ーブル152内の値を更新する。Finally, an operation of updating the access time t stored in the access time table 152 during operation will be described. The operation of updating the access time t is the same as the operation for setting the initial value of the access time t described above. Access time calculation unit 153
Obtains information on the command C (s) just executed from the command issuing unit 142 as described above. And
Command C (s -1 ) executed immediately before command C (s)
Based on the logical address A (s -1 ) and the logical address A (s) of the group g.
(S) and g (s -1 ) are obtained. Thereafter, the access time calculation unit 153 calculates the access time t {g (s −1 ), g for the table in the access time table 152 where the type K (s) and the data size len (s) match.
(S) Rewrite the value of} to the value of the execution time exe (s). Such a process is performed every time the command C is executed, the latest access time t is always obtained, and the value in the access time table 152 is updated.
【0110】なお、並べ替え制御部11は、新たな要求
R(x)の有無にかかわらず、アクセス時間テーブル1
52内の値が更新するごとに、要求テーブル131の要
求の並べ替えを行なようにしてもよい。Note that the rearrangement control unit 11 sets the access time table 1 regardless of the presence or absence of a new request R (x).
Every time the value in 52 is updated, the requests in the request table 131 may be rearranged.
【0111】以上のように、本発明の第1の実施形態に
係るディスク制御装置は、要求が入力されるたびに、要
求の実行時間を予測し、各要求に指定された遅延時間の
限界値以内に要求の実行が完了するように要求を並べ替
える。また、要求の実行時間の予測は保持されたアクセ
ス時間を参照するだけであるから、並べ替えの際に予測
値を得るために特別な演算を必要としない。従って、ア
クセス効率がよくなり、かつ、遅延時間の限界値以内に
要求を実行することが可能となる。特に、動画や音声デ
ータなどのリアルタイム性を必要とするデータにアクセ
スする場合に、アクセス効率を向上させ、かつ、リアル
タイム性を確保することが可能となる。As described above, the disk control apparatus according to the first embodiment of the present invention predicts the execution time of a request each time a request is input, and sets the limit value of the delay time specified for each request. Reorder the requests so that execution of the request is completed within. Further, since the prediction of the execution time of the request only refers to the stored access time, no special operation is required to obtain the predicted value at the time of rearrangement. Therefore, the access efficiency is improved, and the request can be executed within the limit value of the delay time. In particular, when accessing data that requires real-time properties such as moving pictures and audio data, it is possible to improve access efficiency and secure real-time properties.
【0112】なお、本第1の実施形態では、読み出し要
求および書き込み要求を扱ったが、これ以外の要求に対
しても実行可能である。この場合、追加する要求の種類
に対応したアクセス時間テーブルを作成し、追加した要
求のアクセス時間を格納すれば良い。また、読み出し要
求のみ、または書き込み要求のみでも構わない。Although the first embodiment deals with a read request and a write request, the present invention can be executed for other requests. In this case, an access time table corresponding to the type of the request to be added may be created and the access time of the added request may be stored. Further, only a read request or a write request may be used.
【0113】また、各要求は、全て64kバイトの固定
長データをアクセスする要求であったが、要求内にアク
セスするデータ長を指定し、要求ごとに可変データ長を
アクセスしてもよい。この場合、データ長に対応したア
クセス時間テーブルを参照する方法や、2種類のデータ
長に対応したアクセス時間テーブルを用意し、該当する
データ長のアクセス時間を先の2種類のアクセス時間を
用いて算出する方法がある。具体的には、データ長L1
のアクセス時間をT1、データ長L2(L1<L2)の
アクセス時間をT2とし、算出するアクセス時間をT、
そのデータ長をLとすると、アクセス時間Tは、例えば
一次式を用いて補間し、下記式(3)により求まる。 T=(T1−T2)/(L1−L2)×L +T1/L1×(L1−L2)/(T1−T2) ‥‥(3)Although each request is a request for accessing fixed-length data of 64 Kbytes, the data length to be accessed may be specified in the request, and the variable data length may be accessed for each request. In this case, a method of referring to an access time table corresponding to the data length, an access time table corresponding to two types of data lengths are prepared, and the access time of the corresponding data length is determined using the above two types of access times. There is a way to calculate. Specifically, the data length L1
, The access time of the data length L2 (L1 <L2) is T2, and the calculated access time is T,
Assuming that the data length is L, the access time T is determined by the following equation (3), for example, by interpolation using a linear equation. T = (T1−T2) / (L1−L2) × L + T1 / L1 × (L1−L2) / (T1−T2) (3)
【0114】また、本第1の実施形態では、許容遅延時
間delayは要求R内に指定されているとしたが、あ
らかじめ何通りかの許容遅延時間を用意し、それぞれの
許容遅延時間に識別番号を割り付け、要求R内に指定す
る値は、その識別番号でも構わない。この場合、遅延時
間管理部12内に、許容遅延時間値とその識別番号の対
応表を保持し、完了時刻算出部121は、上記対応表に
より許容遅延時間値に変換し、完了時刻fを算出しても
よい。また、許容遅延時間をシステム固定の値とし、完
了時刻算出部121は、上記固定の値を用いて完了時刻
fを算出してもよい。さらに、要求の種類kに対応して
システム固定の値を保持し、完了時間算出部121は、
要求の種類kを参照することで許容遅延時間を獲得し、
完了時刻fを算出してもよい。In the first embodiment, the allowable delay time delay is specified in the request R. However, several allowable delay times are prepared in advance, and the identification number is assigned to each allowable delay time. And the value specified in the request R may be its identification number. In this case, the correspondence table of the permissible delay time values and the identification numbers thereof is stored in the delay time management unit 12, and the completion time calculation unit 121 converts the permissible delay time values into the permissible delay time values based on the correspondence table and calculates the completion time f. May be. Further, the allowable delay time may be a fixed value of the system, and the completion time calculating unit 121 may calculate the completion time f using the fixed value. Further, the completion time calculation unit 121 holds a fixed value of the system corresponding to the request type k,
The permissible delay time is obtained by referring to the request type k,
The completion time f may be calculated.
【0115】また、本第1の実施形態では、連続したブ
ロックをアクセスする要求をひとまとめにして1つのコ
マンドCで実行することを可能にしていたが、特にこの
機能に対応していなくてもよい。すなわち、要求選択部
141は、アクセスタイプtypeが「連続」の場合の
動作を実行しなくてもよい。この場合、上記第1の実施
形態では、ハードディスク16にアクセスするデータサ
イズは、各要求がアクセスするサイズと常に等しくな
る。従って、各要求がアクセスするデータ長を固定長の
みとし、アクセス時間テーブル152は、固定長に対応
した値のみを保持してもよい。同様に、予め各要求がア
クセスするデータ長を何通りか定めておき、そのデータ
長に応じてアクセス時間テーブル152を用意し、アク
セス時間tを求めてもよい。In the first embodiment, requests for accessing consecutive blocks can be collectively executed by one command C. However, this function need not be particularly supported. . That is, the request selecting unit 141 does not need to execute the operation when the access type is “continuous”. In this case, in the first embodiment, the data size for accessing the hard disk 16 is always equal to the size accessed by each request. Therefore, the data length accessed by each request may be only the fixed length, and the access time table 152 may hold only the value corresponding to the fixed length. Similarly, a number of data lengths to be accessed by each request may be determined in advance, and an access time table 152 may be prepared according to the data length to determine the access time t.
【0116】また、本第1の実施形態では、ディスク制
御装置の運用前にアクセス時間tの初期化値を求めてい
たが、コマンド生成部143、コマンド発行部142、
アクセス時間管理部15と同等の構成を持つ別の装置に
より取得したアクセス時間tをアクセス時間テーブル1
52に設定してもよい。また、その設定値は、ハードデ
ィスク16上に記録されており、コマンド生成部143
は上記設定値を読み出すコマンドCを生成し、コマンド
発行部142を通してハードディスク16より獲得し、
アクセス時間テーブル152に格納してもよい。また、
コマンド生成部143は、アクセス時間テーブル152
からアクセス時間テーブル152内に保持した値を受け
とり、その値を書き込みデータとする書き込みコマンド
を生成し、コマンド発行部142を経由してハードディ
スク16上の所定の位置に書き込んでもよい。この書き
込んだ値は、コマンド生成部143がこの値を読み出す
コマンドCを生成し、コマンド発行部142からコマン
ドCを発行することで読み出すことが可能である。In the first embodiment, the initialization value of the access time t is obtained before the operation of the disk control device. However, the command generation unit 143, the command issuing unit 142,
The access time t acquired by another device having the same configuration as the access time management unit 15 is stored in the access time table 1.
52 may be set. The set values are recorded on the hard disk 16 and the command generation unit 143
Generates a command C for reading the set value, obtains it from the hard disk 16 through the command issuing unit 142,
It may be stored in the access time table 152. Also,
The command generation unit 143 sets the access time table 152
, A value stored in the access time table 152 may be received, a write command using the value as write data may be generated, and may be written to a predetermined position on the hard disk 16 via the command issuing unit 142. The written value can be read out by the command generation unit 143 generating a command C for reading this value and issuing the command C from the command issuing unit 142.
【0117】また、本第1の実施形態においては、ハー
ドディスク16以外にアクセス時間tを書き込みおよび
読み出し可能な別の記憶装置を設け、この記憶装置に対
するコマンドCを生成するコマンド生成部と、コマンド
Cを記憶装置に発行し、また応答を受信するコマンド発
行部とを新たに設け、アクセス時間tを上記記憶装置内
に書き込むことで保存し、読み出してアクセス時間テー
ブル152に格納してもよい。In the first embodiment, another storage device capable of writing and reading the access time t is provided in addition to the hard disk 16, and a command generation unit for generating a command C for the storage device, May be newly provided to the storage device, and a command issuing unit that receives a response may be newly provided, and the access time t may be stored in the storage device by writing it, read, and stored in the access time table 152.
【0118】また、本第1の実施形態において、アクセ
ス時間算出部153は、2つのグループgの順列ごと
に、一定数の要求Rの実行時間exeを元にアクセス時
間tを更新したが、実行した全ての要求Rについて、一
定数ごとに2つのグループgの順列全てについて、アク
セス時間tを算出し更新してもよいし、実行した全ての
要求Rについて、2つのグループgの順列それぞれにつ
いて、一定数ごと要求の実行が完了するたびに要求の実
行が完了したグループgの順列のアクセス時間tを算出
し更新してもよい。In the first embodiment, the access time calculation unit 153 updates the access time t based on the execution time exe of a certain number of requests R for each permutation of the two groups g. For all the requests R performed, the access time t may be calculated and updated for all the permutations of the two groups g for every fixed number, or for all the executed requests R, the permutations of the two groups g may be The access time t of the permutation of the group g for which the execution of the request has been completed may be calculated and updated every time the execution of the request is completed for each fixed number.
【0119】さらに、本第1の実施形態において、遅延
時間管理部12は、要求ごとに完了時刻fを算出し保持
するが、遅延時間管理部12は、要求ごとに許容遅延時
間delayを初期値とし、要求の実行が完了するまで
許される時間である許容時間を保持し、並べ替えのたび
に許容時間を更新し、並べ替え部141は、キューの先
頭から要求を挿入する直前の要求までのアクセス時間t
の和を算出し、許容時間とアクセス時間aの和を比較
し、アクセス時間の和が小さい場合に完了予定時刻eが
完了時刻f以下とみなし、並べ替えを行なってもよい。Further, in the first embodiment, the delay time management unit 12 calculates and holds the completion time f for each request, but the delay time management unit 12 sets the allowable delay time delay to the initial value for each request. The permissible time, which is the time allowed for the execution of the request to be completed, is held, and the permissible time is updated each time the rearrangement is performed. Access time t
May be calculated and the sum of the allowable time and the access time a may be compared. If the sum of the access times is small, the scheduled completion time e is considered to be equal to or less than the completion time f, and the rearrangement may be performed.
【0120】(第2の実施形態)図12は、本発明の第
2の実施形態に係るディスク制御装置の構成を示すブロ
ック図である。図12において、本第2の実施形態に係
るディスク制御装置は、並べ替え制御部21と、遅延時
間管理部22と、要求管理部23と、ディスクIO部2
4と、ハードディスク26とを備える。(Second Embodiment) FIG. 12 is a block diagram showing a configuration of a disk control device according to a second embodiment of the present invention. 12, the disk control device according to the second embodiment includes a rearrangement control unit 21, a delay time management unit 22, a request management unit 23, and a disk IO unit 2.
4 and a hard disk 26.
【0121】並べ替え制御部21は、ユーザ管理部(図
示せず)から処理の要求を受け付ける。そして、並べ替
え制御部21は、遅延時間管理部22から与えられる情
報に基づいて、シーク距離が短くなるように、要求管理
部23が管理する処理待ち要求の並び(キュー)の任意
の位置に受け付けた要求を挿入する。なお、ユーザ管理
部は、上記第1の実施形態において説明したものと同様
であり、以下その説明を省略する。The rearrangement control section 21 receives a processing request from a user management section (not shown). Then, based on the information provided from the delay time management unit 22, the rearrangement control unit 21 places an arbitrary position in the queue (queue) of the processing waiting requests managed by the request management unit 23 so that the seek distance becomes short. Insert the accepted request. The user management unit is the same as that described in the first embodiment, and a description thereof will not be repeated.
【0122】遅延時間管理部22は、要求管理部23が
管理する要求の許容遅延時間を算出して保持する。要求
管理部23は、並べ替え制御部21から連続的に入力さ
れる複数の要求をキューとして保持する。なお、要求管
理部23が管理するキューの摸式図は、図2に示したも
のと同様である。ディスクIO部24は、要求管理部2
3のキューから要求を順に読み出し、対応するコマンド
をハードディスク26へ出力する。このコマンドは、所
定のサイズのデータの読み出しまたは書き込みを行うコ
マンドである。ハードディスク26は、複数種類のマル
チメディアデータを一定のサイズごとに分割して記憶す
る。The delay time management unit 22 calculates and holds the allowable delay time of the request managed by the request management unit 23. The request management unit 23 holds a plurality of requests continuously input from the rearrangement control unit 21 as a queue. The schematic diagram of the queue managed by the request management unit 23 is the same as that shown in FIG. The disk IO unit 24 includes the request management unit 2
Requests are sequentially read from the queue No. 3 and a corresponding command is output to the hard disk 26. This command is a command for reading or writing data of a predetermined size. The hard disk 26 stores a plurality of types of multimedia data by dividing the data by a certain size.
【0123】まず、図13および図14を用いて、本第
2の実施形態に係るディスク制御装置を具体的に説明す
る。図13は、本第2の実施形態に係るディスク制御装
置のさらに詳細な構成を示すブロック図である。図14
は、要求テーブル231の構成の一例を示す図である。First, a disk controller according to the second embodiment will be specifically described with reference to FIGS. FIG. 13 is a block diagram showing a more detailed configuration of the disk control device according to the second embodiment. FIG.
Is a diagram showing an example of a configuration of a request table 231.
【0124】図13を参照して、遅延時間管理部22
は、挿入可能要求数算出部221と、平均実行時間算出
部222と、平均実行時間保持部223とを備える。ま
た、ディスクIO部24は、要求選択部241と、コマ
ンド発行部242と、コマンド生成部243とを備え
る。また、要求管理部23は、キューを要求テーブル2
31の形態で管理している。Referring to FIG. 13, delay time management unit 22
Includes an insertable request number calculation unit 221, an average execution time calculation unit 222, and an average execution time holding unit 223. Further, the disk IO unit 24 includes a request selecting unit 241, a command issuing unit 242, and a command generating unit 243. The request management unit 23 stores the queue in the request table 2
31 are managed.
【0125】挿入可能要求数算出部221は、並べ替え
制御部21から与えられる許容遅延時間delay
(x)と、平均実行時間保持部223が保持するコマン
ドの平均実行時間とから、挿入可能要求数i(x)を算
出する。平均実行時間算出部222は、コマンド発行部
242から受けた実行時間に基づいて、平均実行時間を
算出する。平均実行時間保持部223は、平均実行時間
算出部222が算出したコマンドの平均実行時間を保持
する。The number-of-insertable-requests calculating section 221 receives the allowable delay time delay given from the rearrangement control section 21.
The number of insertable requests i (x) is calculated from (x) and the average execution time of the command held by the average execution time holding unit 223. The average execution time calculation unit 222 calculates an average execution time based on the execution time received from the command issuing unit 242. The average execution time holding unit 223 holds the average execution time of the command calculated by the average execution time calculation unit 222.
【0126】要求テーブル231は、上述のように要求
を管理するためのテーブルである。要求テーブル231
は、図14に示すように、各要求Rごとに種類k,論理
アドレスa,挿入可能要求数iおよび禁止フラグfla
gをそれぞれ記憶する。なお、図14における順序P
は、要求の処理順序、すなわち、要求選択部241が取
り出す要求の順序を示している。1がキューの先頭を、
最大値nがキューの末尾を表す。このnは、キュー長で
もある。The request table 231 is a table for managing requests as described above. Request table 231
As shown in FIG. 14, the type k, the logical address a, the number i of insertable requests and the prohibition flag
g is stored. The order P in FIG.
Indicates the processing order of requests, that is, the order of requests retrieved by the request selection unit 241. 1 is the head of the queue,
The maximum value n indicates the end of the queue. This n is also the queue length.
【0127】種類kは、要求が読み出し要求であるか書
き込み要求であるかを表す。論理アドレスaは、要求R
によって処理すべきデータのハードディスク26上の先
頭位置を示す論理的なアドレスである。挿入可能要求数
iは、キュー内において、要求R(x)よりも前に挿入
可能な要求Rの数を示す。禁止フラグflagは、フラ
グONによって要求Rの前に新たな要求を挿入できない
こと、または、要求Rの前後でシーク方向が逆になるこ
とを表す。The type k indicates whether the request is a read request or a write request. The logical address a is the request R
Is a logical address indicating the head position of the data to be processed on the hard disk 26. The number i of requests that can be inserted indicates the number of requests R that can be inserted before the request R (x) in the queue. The prohibition flag “flag” indicates that a new request cannot be inserted before the request R due to the flag ON, or that the seek direction is reversed before and after the request R.
【0128】要求選択部241は、要求テーブル231
の先頭から要求を1つ取り出し、ハードディスク26に
発行するコマンドCを生成する。コマンド生成部243
は、平均実行時間保持部223で保持するコマンドの平
均実行時間の初期値を得るためのコマンドCを生成す
る。コマンド発行部242は、要求選択部241または
コマンド生成部243が生成したコマンドCを受けて、
ハードディスク26へ発行する。また、コマンド発行部
242は、発行したコマンドCの実行結果をハードディ
スク26から受信し、要求選択部241に実行結果を通
知する。さらに、コマンド発行部242は、コマンド発
行から実行結果の受信までの実行時間を測定し、平均実
行時間算出部222へ出力する。The request selection section 241 includes a request table 231
One request is taken from the beginning of the command and a command C to be issued to the hard disk 26 is generated. Command generator 243
Generates a command C for obtaining an initial value of the average execution time of the command held by the average execution time holding unit 223. The command issuing unit 242 receives the command C generated by the request selecting unit 241 or the command generating unit 243,
It is issued to the hard disk 26. The command issuing unit 242 receives the execution result of the issued command C from the hard disk 26 and notifies the request selecting unit 241 of the execution result. Further, the command issuing unit 242 measures the execution time from the command issuance to the reception of the execution result, and outputs it to the average execution time calculation unit 222.
【0129】並べ替え部21は、新たに受けとった要求
R(x)を、各要求の挿入可能要求数i(x)を越えな
いように、また各要求がアクセスする論理アドレスa
(x)の順序がなるべく一定となるように、並べ替え
る。The reordering unit 21 sets the newly received request R (x) so as not to exceed the number of insertable requests i (x) of each request, and sets the logical address a to which each request accesses.
Rearrange them so that the order of (x) is as constant as possible.
【0130】次に、図15および図16を参照して、本
第2の実施形態に係るディスク制御装置が行う処理を具
体的に説明する。図15は、平均実行時間保持部223
の初期設定手順を示すフローチャートである。図16
は、新たな要求R(x)の挿入処理手順を示すフローチ
ャートである。Next, with reference to FIGS. 15 and 16, the processing performed by the disk control device according to the second embodiment will be specifically described. FIG. 15 shows the average execution time holding unit 223.
6 is a flowchart showing an initial setting procedure of FIG. FIG.
13 is a flowchart showing a procedure for inserting a new request R (x).
【0131】まず、前提として、平均実行時間保持部2
23に保持する平均実行時間の初期値を求める方法を、
図15を参照して説明する。コマンド生成部243は、
ハードディスク26上のランダムな論理アドレスから始
まる64kバイトのデータにアクセスするコマンドCを
生成する。コマンドCを生成する際、コマンドの種類k
(要求の種類に相当)についてもランダムに選択する
(ステップS401)。First, it is assumed that the average execution time holding unit 2
The method for obtaining the initial value of the average execution time held in 23 is as follows.
This will be described with reference to FIG. The command generation unit 243
A command C for accessing 64 Kbytes of data starting from a random logical address on the hard disk 26 is generated. When generating the command C, the command type k
(Corresponding to the type of request) is also randomly selected (step S401).
【0132】コマンド発行部242は、コマンド生成部
243が生成したコマンドCを受けとり、ハードディス
ク26へ発行し、その応答を受信するまでの実行時間を
測定する(ステップS402)。平均実行時間算出部2
22は、コマンド発行部242からコマンドCの種類k
と実行時間とを取得する。そして、平均実行時間算出部
222は、実行時間を種類kによって分類し、分類ごと
に実行時間の和を算出する(ステップS403)。さら
に、平均実行時間算出部222は、受けとった実行時間
の数を種類kごとにカウントする(ステップS40
3)。そして、平均実行時間算出部222は、ある種類
kにおいて受けとった実行時間の数が予め定めた値(例
えば、10000個)に達したかどうかを判断し(ステ
ップS404)、達した場合には、平均実行時間を算出
して平均実行時間保持部223に格納する(ステップS
405)。以上の処理によって、平均実行時間の初期値
が平均実行時間保持部223に保持される。The command issuing section 242 receives the command C generated by the command generating section 243, issues the command C to the hard disk 26, and measures the execution time until the response is received (step S402). Average execution time calculation unit 2
22 indicates the type k of the command C from the command issuing unit 242
And the execution time. Then, the average execution time calculation unit 222 classifies the execution times according to the type k, and calculates the sum of the execution times for each classification (step S403). Further, the average execution time calculation unit 222 counts the number of execution times received for each type k (step S40).
3). The average execution time calculation unit 222 determines whether the number of execution times received for a certain type k has reached a predetermined value (for example, 10,000) (step S404). The average execution time is calculated and stored in the average execution time holding unit 223 (Step S)
405). With the above processing, the initial value of the average execution time is held in the average execution time holding unit 223.
【0133】次に、並べ替え制御部21が新しい要求R
(x)を受けとった以後の動作を、図16を参照して説
明する。並べ替え制御部21は、ユーザ管理部から新た
な要求R(x)を受け取ると、要求R(x)の許容遅延
時間delay(x)および種類k(x)を挿入可能要
求数算出部221へ送信する。挿入可能要求数算出部2
21は、平均実行時間保持部223が保持する平均実行
時間で許容遅延時間delay(x)を除算し、挿入可
能要求数i(x)を算出する(ステップS501)。な
お、参照する平均実行時間は、要求R(x)の種類k
(x)と等しいものとする。そして、挿入可能要求数算
出部221は、算出した挿入可能要求数i(x)を並べ
替え制御部21へ返送する。Next, the rearrangement control unit 21 determines that the new request R
The operation after receiving (x) will be described with reference to FIG. Upon receiving the new request R (x) from the user management unit, the reordering control unit 21 sends the allowable delay time delay (x) and the type k (x) of the request R (x) to the insertable request number calculation unit 221. Send. Insertable request number calculation unit 2
21 divides the permissible delay time delay (x) by the average execution time held by the average execution time holding unit 223 to calculate the number i (x) of insertable requests (step S501). The average execution time to be referred to is the type k of the request R (x).
(X). Then, the number-of-insertable-requests calculating unit 221 returns the calculated number of insertable requests i (x) to the rearrangement control unit 21.
【0134】次に、並べ替え制御部21は、要求テーブ
ル231をキューの最後尾から順にスキャンし、禁止フ
ラグflagがONである要求Rが存在するか否かを検
索する(ステップS502)。この検索処理および後述
する比較処理の対象は、要求テーブル231に存在する
要求のみならず、直前に要求選択部241によって取り
出された要求をも含まれる。ステップS502において
該当する要求R(j)が見つかった場合、並べ替え制御
部21は、その要求R(j)から最後尾までのすべての
要求Rの論理アドレスaと、要求R(x)の論理アドレ
スa(x)との位置を比較する(ステップS503,S
505)。ステップS502において該当する要求Rが
見つからなかった場合、並べ替え制御部21は、すべて
の要求Rの論理アドレスaと、要求R(x)の論理アド
レスa(x)との位置を比較する(ステップS504,
S505)。Next, the reordering control unit 21 scans the request table 231 sequentially from the end of the queue, and searches for a request R for which the prohibition flag flag is ON (step S502). The targets of the search processing and the comparison processing described later include not only the request existing in the request table 231 but also the request extracted by the request selection unit 241 immediately before. If a corresponding request R (j) is found in step S502, the reordering control unit 21 determines the logical addresses a of all the requests R from the request R (j) to the end and the logical addresses of the requests R (x). Compare the position with address a (x) (steps S503, S
505). If no corresponding request R is found in step S502, the rearrangement control unit 21 compares the positions of the logical addresses a of all the requests R with the logical addresses a (x) of the requests R (x) (step S502). S504,
S505).
【0135】上記ステップS505において論理アドレ
スの位置を比較した結果、論理アドレスa(x)が比較
した論理アドレスの間に位置する場合は、論理アドレス
aの順序を乱さない(昇順または降順となる)位置に要
求R(x)を挿入する(ステップS506)。一方、ス
テップS505において論理アドレスの位置を比較した
結果、論理アドレスa(x)が比較した論理アドレスの
間に位置しない場合は、キューの最後尾に要求R(x)
を挿入する(ステップS507)。この時、論理アドレ
スa(x)が最後尾の要求Rの論理アドレスa、または
挿入位置直前の要求Rの論理アドレスaの順序と異なる
場合には、最後尾または挿入位置直前の要求Rの禁止フ
ラグflagをONに設定する。As a result of comparing the positions of the logical addresses in step S505, if the logical address a (x) is located between the compared logical addresses, the order of the logical addresses a is not disturbed (ascending order or descending order). The request R (x) is inserted into the position (step S506). On the other hand, as a result of comparing the positions of the logical addresses in step S505, if the logical address a (x) is not located between the compared logical addresses, the request R (x) is placed at the end of the queue.
Is inserted (step S507). At this time, when the logical address a (x) is different from the logical address a of the last request R or the order of the logical address a of the request R immediately before the insertion position, the request R immediately before the last or insertion position is prohibited. The flag is set to ON.
【0136】次に、並び替え制御部21は、要求R
(x)を挿入した位置より前に並んでいる要求Rの数を
計数し、挿入可能要求数i(x)から当該計数した要求
Rの数を減算する(ステップS508)。そして、並び
替え制御部21は、要求R(x)の次の要求から最後尾
の要求までの挿入可能要求数i(x+n)からそれぞれ1
を減算する(ステップS509)。その結果、挿入可能
要求数i(x+n)の値が0となった要求R(x+n)につ
いては、禁止フラグflag(x+n)をONに設定する
(ステップS510)。以上で要求R(x)の並べ替え
が終了する。Next, the rearrangement control unit 21 sends the request R
The number of requests R arranged before the position where (x) is inserted is counted, and the counted number of requests R is subtracted from the number of insertable requests i (x) (step S508). Then, the rearrangement control unit 21 calculates 1 from the number of insertable requests i (x + n ) from the request next to the request R (x) to the last request.
Is subtracted (step S509). As a result, the prohibition flag flag (x + n ) is set to ON for the request R (x + n ) in which the value of the number of insertable requests i (x + n ) is 0 (step S510). Thus, the rearrangement of the request R (x) is completed.
【0137】次に、要求テーブル231が有する要求R
をハードディスク26に発行する手順を説明する。要求
選択部241は、要求テーブル231の先頭から順に、
すなわち、順序Pの順番で要求Rを取り出す。要求選択
部141は、取り出した要求Rに関するコマンドCを生
成する。コマンドCには、種類k,論理アドレスa,デ
ータサイズが含まれる。コマンド発行部242は、要求
選択部241で生成したコマンドCをハードディスク2
6に発行する。また、コマンド発行部242は、コマン
ドCを発行してからハードディスク26における処理完
了の応答を受信するまでの実行時間exeを測定する。
そして、コマンド発行部242は、実行時間exeを種
類Kと共に、実行時間算出部222へ通知する。また、
コマンド発行部242は、応答を受信した結果を要求選
択部241に通知する。そして、要求選択部241は、
この通知を受けてユーザに対し要求の処理が終了した旨
を返送する。以上の手順により、要求テーブル231が
有する要求Rに対するハードディスク16への処理が終
了する。なお、言うまでもなく、1つの要求の処理が終
わるごとに要求テーブル231に存在する各要求の挿入
可能要求数iの値は、1つずつ減算されていく。Next, the request R stored in the request table 231
Is issued to the hard disk 26. The request selecting unit 241 sequentially starts from the top of the request table 231
That is, the requests R are taken out in the order of the order P. The request selector 141 generates a command C relating to the extracted request R. Command C includes type k, logical address a, and data size. The command issuing unit 242 transmits the command C generated by the request selecting unit 241 to the hard disk 2
Issue to 6. In addition, the command issuing unit 242 measures an execution time exe from issuing the command C to receiving a response indicating that the process has been completed in the hard disk 26.
Then, the command issuing unit 242 notifies the execution time calculation unit 222 of the execution time exe along with the type K. Also,
The command issuing unit 242 notifies the request selection unit 241 of the result of receiving the response. Then, the request selection unit 241
Upon receiving this notification, the user is notified that the processing of the request has been completed. With the above procedure, the processing on the hard disk 16 for the request R in the request table 231 ends. Needless to say, each time the processing of one request is completed, the value of the insertable request number i of each request existing in the request table 231 is decremented by one.
【0138】最後に、運用中において、平均実行時間保
持部223に保持している平均実行時間の更新を行う動
作を説明する。なお、この平均実行時間の更新を行う動
作は、上述した平均実行時間の初期値を設定する際の動
作と同様である。平均実行時間算出部222は、上記の
ようにコマンド発行部242から実行したコマンドCの
実行時間および種類kを入手する。そして、平均実行時
間算出部222は、実行時間を受けとった種類によって
分類し、分類ごとの実行時間の和を算出する。また、実
行時間の数を種類kごとにカウントする。そして、平均
実行時間算出部222は、ある種類kにおいて、受けと
った実行時間exeの数が予め定めた値に達した場合、
平均実行時間を算出し、平均実行時間保持部223へ格
納する。このような処理を、コマンドCを実行するごと
に行い、常に最新のアクセス時間tを求め、平均実行時
間保持部223内の値を更新する。Finally, an operation of updating the average execution time held in the average execution time holding unit 223 during operation will be described. The operation for updating the average execution time is the same as the operation for setting the initial value of the average execution time described above. The average execution time calculation unit 222 obtains the execution time and the type k of the command C executed from the command issuing unit 242 as described above. Then, the average execution time calculation unit 222 classifies the execution times according to the types that receive the execution times, and calculates the sum of the execution times for each classification. Further, the number of execution times is counted for each type k. Then, when the number of received execution times exe of a certain type k reaches a predetermined value, the average execution time calculation unit 222
The average execution time is calculated and stored in the average execution time holding unit 223. Such processing is performed every time the command C is executed, the latest access time t is always obtained, and the value in the average execution time holding unit 223 is updated.
【0139】以上のように、本発明の第2の実施形態に
係るディスク制御装置は、要求が入力されるたびに、要
求が保持する遅延時間の限界値から挿入可能要求数を求
め、挿入可能要求数よりも多くの要求をその要求の前に
挿入しないように、要求を並べ替える。従って、アクセ
スの効率が良くなり、かつ、遅延時間の限界値以内に要
求の実行を完了することができる。As described above, the disk controller according to the second embodiment of the present invention obtains the number of insertable requests from the limit value of the delay time held by a request every time a request is input, and Reorder requests so that no more requests are inserted before the number of requests. Therefore, the access efficiency is improved, and the execution of the request can be completed within the limit value of the delay time.
【0140】なお、本第2の実施形態では、読み出し要
求と書き込み要求を扱ったが、これ以外に扱う要求を追
加してもよい。この場合、平均実行時間保持部223
は、追加した要求の種類kに対応する平均実行時間を保
持し、挿入可能要求数iを平均実行時間から算出する。Although the read request and the write request are handled in the second embodiment, other requests may be added. In this case, the average execution time holding unit 223
Holds the average execution time corresponding to the type k of the added request, and calculates the number i of insertable requests from the average execution time.
【0141】また、本第2の実施形態では、運用中のコ
マンドの実行時間を測定することで平均実行時間を更新
したが、平均実行時間の更新を行なわなくてもよい。ま
た、平均実行時間の初期値を測定したが、この初期値
は、本第2の実施形態と同様の構成を持つ他の装置から
取得し、平均実行時間保持部223に保持するようにし
てもよい。In the second embodiment, the average execution time is updated by measuring the execution time of the command in operation. However, the average execution time need not be updated. Further, the initial value of the average execution time is measured. The initial value may be obtained from another device having the same configuration as that of the second embodiment, and may be stored in the average execution time storage unit 223. Good.
【0142】また、本第2の実施形態において、コマン
ド生成部243は、平均実行時間をハードディスク26
上の所定の位置に書き込むコマンドと、ハードディスク
26から読み出すコマンドとを生成し、書き込みコマン
ドによりハードディスク26上に平均実行時間を保存
し、また読み出しコマンドによりハードディスク26か
ら平均実行時間を取得し、平均実行時間保持部223に
格納してもよい。In the second embodiment, the command generation unit 243 sets the average execution time on the hard disk 26.
A command to write to the above predetermined position and a command to read from the hard disk 26 are generated, the average execution time is stored on the hard disk 26 by the write command, the average execution time is acquired from the hard disk 26 by the read command, and the average execution time is obtained. It may be stored in the time holding unit 223.
【0143】また、本第2の実施形態においては、平均
実行時間を記憶可能なハードディスク26以外の記憶装
置と、その記憶装置に対する書き込みおよび読み出しコ
マンドを生成するコマンド生成部と、生成したコマンド
を発行するコマンド発行部とを備え、書き込みコマンド
により記憶装置に平均実行時間を保存し、読み出しコマ
ンドにより記憶装置より平均実行時間を読み出し、平均
実行時間保持部223に格納するようにしてもよい。Further, in the second embodiment, a storage device other than the hard disk 26 capable of storing the average execution time, a command generation unit for generating write and read commands for the storage device, and issuing the generated command The average execution time may be stored in the storage device by a write command, the average execution time may be read from the storage device by a read command, and stored in the average execution time holding unit 223.
【0144】さらに、本第2の実施形態において、要求
選択部241は、常に1つの要求のみを選択したが、ハ
ードディスク26上で同じまたは連続したデータ領域に
ある2つの要求を1つにまとめ、ハードディスク26に
コマンドを発行してもよい。この場合、要求選択部24
1は、要求テーブル231から要求を取り出す際に、取
り出した要求および要求テーブル231の先頭の要求に
ついて、論理アドレスa、要求の種類k、挿入可能要求
数iを参照する。要求の種類kが共に等しく、論理アド
レスaが等しいか64kバイトだけ異なる値を示し、論
理アドレスaがより小さい値をもつ要求の挿入可能要求
数iが0以外であれば、さらにその要求を取り出す。こ
の操作を繰り返し、ハードディスク26に取り出した要
求をまとめ、1つのコマンドとして発行してもよい。Further, in the second embodiment, the request selecting section 241 always selects only one request. However, the request selecting section 241 combines two requests in the same or continuous data area on the hard disk 26 into one. A command may be issued to the hard disk 26. In this case, the request selection unit 24
When extracting a request from the request table 231, the request 1 refers to the logical address a, the request type k, and the number of insertable requests i for the extracted request and the first request in the request table 231. If the request types k are the same and the logical addresses a indicate the same value or different values by 64 kbytes, and if the number i of insertable requests having a smaller logical address a is other than 0, the request is further extracted. . This operation may be repeated, and the requests taken out to the hard disk 26 may be collected and issued as one command.
【0145】ところで、上述したように本発明の第1お
よび第2の実施形態に係るディスク制御装置は、1つの
コマンドに対するディスク装置(ハードディスク16,
26)での実行時間を測定し、この時間に基づいて最適
な要求の並べ替えを行う。しかし、キャッシュ機能を有
しているディスク装置において、キャッシュ機能を働か
せている場合、任意のコマンドに対して、ディスク装置
に対して行われる読み出し/書き込み動作ではなく、キ
ャッシュに対して行われる読み出し/書き込み動作の応
答が返ってくることがある。このため、キャッシュ機能
を働かせている場合には、ディスク装置での実行時間を
正確に測定することができなくなるということが考えら
れる。この対応としては、単にディスク装置のキャッシ
ュ機能を使用しなければよいのである。キャッシュ機能
を使用しなくする方法としては、次の2つの方法があ
る。1つはキャッシュ機能の設定自体をOFFにする方
法である。もう1つは、読み出し/書き込み要求内のF
UA(Force Unit Access) ビットを指定して要求を発行
する方法である。このFUAビットとは、強制的な装置
へのアクセスを指定するためのビットであり、指定する
とキャッシュ機能の設定をOFFにした場合と同じ動作
となる。このように、キャッシュ機能をOFF設定にす
る、またはFUAビットを指定して要求を発行すること
により、いかなるディスク装置に対しても上述した本発
明の有用な効果を奏することが可能となる。By the way, as described above, the disk control devices according to the first and second embodiments of the present invention provide the disk device (the hard disk 16, hard disk 16,
The execution time in step 26) is measured, and the optimal requests are rearranged based on this time. However, in a disk device having a cache function, when the cache function is operated, a read / write operation performed on a cache is performed for an arbitrary command instead of a read / write operation performed on the disk device. A response of the write operation may be returned. For this reason, when the cache function is operated, it is conceivable that the execution time in the disk device cannot be measured accurately. To cope with this, it is only necessary to use the cache function of the disk device. There are the following two methods for eliminating the use of the cache function. One is a method of turning off the setting of the cache function itself. The other is F in the read / write request.
In this method, a request is issued by designating a UA (Force Unit Access) bit. The FUA bit is a bit for designating forcible access to the device. When the FUA bit is designated, the operation is the same as when the setting of the cache function is turned off. By setting the cache function to OFF or issuing a request by designating the FUA bit, the above-described useful effects of the present invention can be achieved for any disk device.
【図1】本発明の第1の実施形態に係るディスク制御装
置の構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a disk control device according to a first embodiment of the present invention.
【図2】要求管理部13が管理するキューの摸式図を示
す図である。FIG. 2 is a diagram showing a schematic diagram of a queue managed by a request management unit 13;
【図3】本発明の第1の実施形態に係るディスク制御装
置のさらに詳細な構成を示すブロック図である。FIG. 3 is a block diagram showing a more detailed configuration of the disk control device according to the first embodiment of the present invention.
【図4】ハードディスク16におけるブロック分割およ
びグループ分けの一例を示す図である。FIG. 4 is a diagram showing an example of block division and group division on a hard disk 16;
【図5】完了時刻テーブル122の構成の一例を示す図
である。FIG. 5 is a diagram showing an example of the configuration of a completion time table 122.
【図6】要求テーブル131の構成の一例を示す図であ
る。FIG. 6 is a diagram showing an example of a configuration of a request table 131.
【図7】コマンド管理テーブル141aの構成の一例を
示す図である。FIG. 7 is a diagram illustrating an example of a configuration of a command management table 141a.
【図8】アクセス時間テーブル152の構成の一例を示
す図である。FIG. 8 is a diagram showing an example of the configuration of an access time table 152.
【図9】アクセス時間テーブル152の初期設定手順を
示すフローチャートである。FIG. 9 is a flowchart showing an initial setting procedure of an access time table 152;
【図10】並び替え制御部11における新たな要求R
(x)の挿入処理手順を示すフローチャートである。FIG. 10 shows a new request R in the sorting control unit 11.
It is a flowchart which shows the insertion processing procedure of (x).
【図11】図10のステップS214の算出処理手順を
示すフローチャートである。FIG. 11 is a flowchart illustrating a calculation processing procedure in step S214 in FIG. 10;
【図12】本発明の第2の実施形態に係るディスク制御
装置の構成を示すブロック図である。FIG. 12 is a block diagram illustrating a configuration of a disk control device according to a second embodiment of the present invention.
【図13】本発明の第2の実施形態に係るディスク制御
装置のさらに詳細な構成を示すブロック図である。FIG. 13 is a block diagram showing a more detailed configuration of a disk control device according to a second embodiment of the present invention.
【図14】要求テーブル231の構成の一例を示す図で
ある。FIG. 14 is a diagram showing an example of a configuration of a request table 231.
【図15】平均実行時間保持部223の初期設定手順を
示すフローチャートである。FIG. 15 is a flowchart illustrating an initial setting procedure of the average execution time holding unit 223;
【図16】並び替え制御部21における新たな要求R
(x)の挿入処理手順を示すフローチャートである。FIG. 16 shows a new request R in the sorting control unit 21.
It is a flowchart which shows the insertion processing procedure of (x).
【図17】従来のディスク制御装置の構成を示すブロッ
ク図である。FIG. 17 is a block diagram showing a configuration of a conventional disk control device.
11,21,301…並べ替え制御部 12,22…遅延時間管理部 13,23,303…要求管理部 14,24…ディスクIO部 15…アクセス時間管理部 16,26,306…ハードディスク 121…完了時刻算出部 122…完了時刻テーブル 131,231…要求テーブル 141,241…要求選択部 141a…コマンド管理テーブル 142,242…コマンド発行部 143,243…コマンド生成部 151…グループ変換部 152…アクセス時間テーブル 153…アクセス時間算出部 221…挿入可能要求数算出部 222…平均実行時間算出部 223…平均実行時間保持部 302…許容遅延データ管理部 11, 21, 301 ... rearrangement control unit 12, 22 ... delay time management unit 13, 23, 303 ... request management unit 14, 24 ... disk IO unit 15 ... access time management unit 16, 26, 306 ... hard disk 121 ... completion Time calculation unit 122 ... Completion time table 131,231 ... Request table 141,241 ... Request selection unit 141a ... Command management table 142,242 ... Command issuing unit 143,243 ... Command generation unit 151 ... Group conversion unit 152 ... Access time table 153 access time calculation unit 221 insertion request count calculation unit 222 average execution time calculation unit 223 average execution time holding unit 302 allowable delay data management unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊藤 由起子 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B065 BA01 CA12 CC06 CC08 CH15 EK10 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Yukiko Ito 1006 Kazuma Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. F-term (reference) 5B065 BA01 CA12 CC06 CC08 CH15 EK10
Claims (32)
に当該各要求の実行が完了するように要求を並べ替えて
ディスク装置に発行するディスク制御装置であって、 一つまたは複数の前記要求を保持する要求管理手段と、 前記要求管理手段が保持する要求を取り出して前記ディ
スク装置に発行し、また前記ディスク装置から当該要求
に対する応答を受信するディスクIO手段と、 前記ディスク装置における前記各要求の処理に必要な時
間をアクセス時間として保持するアクセス時間管理手段
と、 前記各要求ごとに、要求の処理を完了すべき完了時刻を
保持する遅延時間管理手段と、 前記完了時刻および前記アクセス時間に基づいて、前記
要求管理手段が保持する要求を並べ替える並べ替え制御
手段とを備える、ディスク制御装置。1. A disk controller for rearranging requests and issuing them to a disk device so that execution of each request is completed within a delay time individually provided by each request, the disk control device comprising: Request management means for holding the request, disk IO means for taking out the request held by the request management means, issuing the request to the disk device, and receiving a response to the request from the disk device, and the request in the disk device Access time management means for holding a time necessary for the processing as an access time; for each of the requests, a delay time management means for holding a completion time at which the processing of the request should be completed; and for the completion time and the access time, And a rearrangement control unit for rearranging the requests held by the request management unit based on the request.
に要求を発行し、前記ディスク装置から当該要求に対す
る応答を受信するまでの時間に基づいて定めることを特
徴とする、請求項1に記載のディスク制御装置。2. The disk according to claim 1, wherein the access time is determined based on a time from when a request is issued to the disk device to when a response to the request is received from the disk device. Control device.
能な前記ディスク装置上の領域を、連続した領域である
複数のグループに分割し、前記各要求について要求がア
クセスする前記ディスク装置上の位置が属するグループ
をそれぞれ求め、前記各要求の実行順序に対応した前記
グループの順序により定めることを特徴とする、請求項
2に記載のディスク制御装置。3. The access time divides an area on the disk device accessible to a request into a plurality of groups, which are continuous areas, and determines a position on the disk device to which the request accesses for each request. 3. The disk control device according to claim 2, wherein the groups to which each of the groups belongs are determined, and are determined by the order of the groups corresponding to the execution order of the requests.
とに個別に定めることを特徴とする、請求項3に記載の
ディスク制御装置。4. The disk control device according to claim 3, wherein the access time is individually determined for each type of the request.
スするデータサイズごとに個別に定めることを特徴とす
る、請求項3または4に記載のディスク制御装置。5. The disk control device according to claim 3, wherein the access time is individually determined for each data size accessed by the request.
を特徴とする、請求項5に記載のディスク制御装置。6. The disk control device according to claim 5, wherein the data size is a fixed length.
定長のブロックから構成されており、 前記グループは、それぞれ均等な数の前記ブロックを有
することを特徴とする、請求項3に記載のディスク制御
装置。7. The disk drive according to claim 3, wherein the area on the disk device is composed of a plurality of fixed-length blocks, and the groups each have an equal number of the blocks. Disk control unit.
構成されるハードディスクであり、 前記グループは、それぞれ均等な数の前記シリンダを有
することを特徴とする、請求項3に記載のディスク制御
装置。8. The disk control device according to claim 3, wherein the disk device is a hard disk including a plurality of cylinders, and the groups each have an equal number of the cylinders.
の順列または組合せであることを特徴とする、請求項3
〜8のいずれかに記載のディスク制御装置。9. The method according to claim 3, wherein the order of the groups is a permutation or combination of two groups.
9. The disk control device according to any one of items 1 to 8.
からデータを読み出す読み出し要求と、前記ディスク装
置にデータを書き込む書き込み要求であることを特徴と
する、請求項4に記載のディスク制御装置。10. The disk control device according to claim 4, wherein the types of the requests are a read request for reading data from the disk device and a write request for writing data to the disk device.
た時刻に当該要求が有する前記遅延可能時間を加えた時
間であり、 前記並べ替え制御手段は、前記各要求の実行が各々の前
記完了時刻以前に完了するように、各要求を並び替える
ことを特徴とする、請求項1に記載のディスク制御装
置。11. The completion time is a time obtained by adding the delayable time of the request to the time at which the request is input, and the reordering control means executes each of the requests at each of the completion times. 2. The disk control device according to claim 1, wherein the requests are rearranged so as to be completed before the time.
定数を有しており、前記完了時刻は、前記要求が入力さ
れた時刻に前記定数を加えた時間であり、 前記並べ替え制御手段は、前記各要求の実行が各々の前
記完了時刻以前に完了するように、各要求を並び替える
ことを特徴とする、請求項1に記載のディスク制御装
置。12. The delay time management means has a predetermined constant, the completion time is a time obtained by adding the constant to a time at which the request is input, and the rearrangement control means 2. The disk control device according to claim 1, wherein the requests are rearranged such that execution of each of the requests is completed before each of the completion times.
ディスク装置に発行してから、前記ディスク装置から当
該要求に対する応答を受信するまでの実行時間を測定す
る実行時間時間測定手段をさらに備え、 前記アクセス時間管理手段は、前記実行時間を新たなア
クセス時間として更新するアクセス時間算出手段をさら
に備えることを特徴とする、請求項3〜6のいずれかに
記載のディスク制御装置。13. The disk IO unit further includes an execution time measurement unit that measures an execution time from when a request is issued to the disk device to when a response to the request is received from the disk device. 7. The disk control device according to claim 3, wherein the access time management unit further includes an access time calculation unit that updates the execution time as a new access time.
行時間を前記グループの順序、前記要求の種類および前
記データサイズごとに分類し、当該分類に対応するアク
セス時間の更新を行うことを特徴とする、請求項13に
記載のディスク制御装置。14. The access time calculation means classifies the execution time according to the order of the group, the type of the request, and the data size, and updates the access time corresponding to the classification. 14. The disk control device according to claim 13.
の要求の実行が完了するごとに、前記分類の各々につい
てアクセス時間の更新を行うことを特徴とする、請求項
13または14に記載のディスク制御装置。15. The disk according to claim 13, wherein the access time management means updates the access time for each of the categories each time the execution of a certain number of requests is completed. Control device.
類の各々について一定数の要求の実行が完了するごと
に、前記実行が完了した分類のアクセス時間の更新を行
うことを特徴とする、請求項13または14に記載のデ
ィスク制御装置。16. The access time management means updates the access time of the completed classification every time the execution of a fixed number of requests for each of the classifications is completed. 15. The disk control device according to 13 or 14.
実行時間の平均値により求めることを特徴とする、請求
項13〜16のいずれかに記載のディスク制御装置。17. The disk control device according to claim 13, wherein the access time is obtained by an average value of the classified execution times.
ク装置に発行する要求を生成するコマンド生成手段をさ
らに備え、 前記アクセス時間算出手段は、前記アクセス時間の初期
値を求めることを特徴とする、請求項13〜17のいず
れかに記載のディスク制御装置。18. The apparatus according to claim 18, wherein said disk IO means further comprises a command generation means for generating a request issued to said disk device, and said access time calculation means obtains an initial value of said access time. Item 18. The disk control device according to any one of Items 13 to 17.
により記憶し、読み出しコマンドにより出力する記憶装
置と、 書き込みコマンドおよび読み出しコマンドを記憶装置に
発行するコマンド発行手段とをさらに備え、 前記アクセス時間管理手段は、前記書き込みコマンドを
生成して前記アクセス時間を前記記憶装置に格納し、ま
た前記読み出しコマンドを生成して前記アクセス時間を
前記記憶装置から取得することを特徴とする、請求項1
〜18のいずれかに記載のディスク制御装置。19. A storage device for storing the access time by a write command and outputting the read time by a read command; and a command issuing unit for issuing a write command and a read command to the storage device. 2. The method according to claim 1, wherein the write command is generated to store the access time in the storage device, and the read command is generated to obtain the access time from the storage device.
19. The disk control device according to any one of claims 18 to 18.
構成され、前記コマンド発行手段は、前記ディスクIO
手段に構成されることを特徴とする、請求項19に記載
のディスク制御装置。20. The storage device is configured in the disk device, and the command issuing unit is configured to execute the disk IO
20. The disk control device according to claim 19, wherein the disk control device is configured as a unit.
前記ディスク装置をシークする方向が変化することを示
すフラグと、要求が入力された時刻にキュー内で他の要
求が完了するのを待つ時間と、前記要求のアクセス時間
とを加えた第1の時刻を保持しており、 前記並べ替え制御手段に入力された要求を第1の要求と
し、前記要求管理手段内の前記フラグが設定された最後
尾の要求、または前記フラグが設定されていなければ前
記ディスクIO手段が前記要求管理手段から取り出した
最後尾の要求を第2の要求とした場合、 前記並べ替え制御手段は、 前記第1の要求を、前記第1の要求がアクセスする論理
アドレスが、前記要求管理手段内の最後尾の要求から前
記第2の要求までがアクセスする各論理アドレスの順序
を乱さない位置に仮挿入し、 前記仮挿入により論理アドレスの順序が変更された場合
には、前記第1の要求の前記フラグを設定し、 前記仮挿入後に、前記要求管理手段内で前記第1の要求
以降の各要求について前記第1の時刻を再び算出し、 前記再び算出した第1の時刻が前記完了時刻を越えない
場合は、前記仮挿入した位置を前記第1の要求の挿入位
置とし、 前記再び算出した第1の時刻が前記完了時刻を越える場
合は、前記要求管理手段の最後尾を前記第1の要求の挿
入位置とすることを特徴とする、請求項1に記載のディ
スク制御装置。21. The request management means, for each request,
A flag indicating that a direction in which the disk device seeks is changed, a time to wait for completion of another request in a queue at a time when a request is input, and a first access time obtained by adding an access time of the request. A request input to the rearrangement control unit as a first request, and a last request in which the flag is set in the request management unit, or if the flag is not set. When the last request retrieved from the request management unit by the disk IO unit is a second request, the rearrangement control unit replaces the first request with a logical address accessed by the first request. Tentatively inserting the logical addresses to be accessed from the last request to the second request in the request management means so as not to disturb the order of the logical addresses. In the case where the request is set, the flag of the first request is set, and after the provisional insertion, the first time is calculated again for each request after the first request in the request management unit. If the recalculated first time does not exceed the completion time, the provisionally inserted position is set as the insertion position of the first request. If the recalculated first time exceeds the completion time, 2. The disk control device according to claim 1, wherein a last position of the request management unit is an insertion position of the first request.
スする要求を第3の要求とした場合、 前記並べ替え制御手段は、前記第1の要求と前記第3の
要求とは読み出し要求であり、かつ前記第1の要求と前
記第3の要求との間に前記第1または第3の要求がアク
セスするデータに書き込む他の要求がない場合には、前
記第1の要求のアクセス時間を0とし、 前記ディスクIO手段は、前記第3の要求の実行結果を
前記第1の要求の実行結果とすることを特徴とする、請
求項21に記載のディスク制御装置。22. When a request for accessing the same data as the first request is a third request, the rearrangement control unit determines that the first request and the third request are read requests. And when there is no other request to write data accessed by the first or third request between the first request and the third request, the access time of the first request is set to 0. 22. The disk control device according to claim 21, wherein the disk IO unit sets an execution result of the third request as an execution result of the first request.
タに書き込む要求を第3の要求とした場合、 前記並べ替え制御手段は、前記第1の要求は書き込み要
求であり、かつ前記第1の要求と前記第3の要求との間
に前記第1または第3の要求がアクセスするデータを読
み出す他の要求がない場合には、前記第1の要求を前記
第3の要求の直後に挿入すると共に、前記第3の要求の
アクセス時間を0とし、 前記ディスクIO手段は、前記第3の要求を発行せず、
前記第1の要求の実行結果を前記第3の要求の実行結果
とすることを特徴とする、請求項21に記載のディスク
制御装置。23. When a request to write data at the same position as the first request is a third request, the rearrangement control unit determines that the first request is a write request and the first request is a write request. If there is no other request for reading data accessed by the first or third request between the first request and the third request, the first request is inserted immediately after the third request. In addition, the access time of the third request is set to 0, and the disk IO unit does not issue the third request,
22. The disk control device according to claim 21, wherein an execution result of the first request is an execution result of the third request.
続した位置にあるデータを読み出す要求を第3の要求と
した場合、 前記並べ替え制御手段は、 前記第1の要求と前記第3の要求との間に前記第1の要
求がアクセスするデータに書き込む他の要求がない場合
には、前記第1の要求を前記連続した位置の順序に従っ
て前記第3の要求の直前または直後に挿入し、 前記第1の要求または前記第3の要求のアクセス時間
を、前記第1の要求と前記第3の要求とが読み出すデー
タサイズに応じたアクセス時間とし、 前記ディスクIO手段は、前記第1および第3の要求を
まとめ、前記連続した位置にあるデータを読み出す一つ
の要求として前記ディスク装置に発行することを特徴と
する、請求項21に記載のディスク制御装置。24. When the first request is a request to read data at a position that is continuous with the data to be read, the rearrangement control unit sets the third request to the first request and the third request. And if there is no other request to write to the data accessed by the first request, the first request is inserted immediately before or immediately after the third request according to the sequence of the consecutive positions; The access time of the first request or the third request is an access time corresponding to a data size read by the first request and the third request, and the disk IO means includes: 22. The disk control device according to claim 21, wherein the requests of the third position are collected and issued to the disk device as one request for reading data at the consecutive positions.
続した位置にあるデータを書き込む要求を第3の要求と
した場合、 前記並べ替え制御手段は、 前記第1の要求と前記第3の要求との間に前記第1の要
求がアクセスするデータに読み出す他の要求がない場合
には、前記第1の要求を前記連続した位置の順序に従っ
て前記第3の要求の直前または直後に挿入し、 前記第1の要求または前記第3の要求のアクセス時間
を、前記第1の要求と前記第3の要求とが読み出すデー
タサイズに応じたアクセス時間とし、 前記ディスクIO手段は、前記第1および第3の要求を
まとめ、前記連続した位置にあるデータを読み出す一つ
の要求として前記ディスク装置に発行することを特徴と
する、請求項21に記載のディスク制御装置。25. When a request to write data located at a position contiguous with the data to be written in the first request is a third request, the rearrangement control means: the first request and the third request And if there is no other request to read the data accessed by the first request, the first request is inserted immediately before or after the third request according to the sequence of the consecutive positions; The access time of the first request or the third request is an access time corresponding to a data size read by the first request and the third request, and the disk IO means includes: 22. The disk control device according to claim 21, wherein the requests of the third position are collected and issued to the disk device as one request for reading data at the consecutive positions.
内に当該各要求の実行が完了するように要求を並べ替え
てディスク装置に発行するディスク制御装置であって、 一つまたは複数の前記要求を保持する要求管理手段と、 前記要求管理手段が保持する要求を取り出して前記ディ
スク装置に発行し、また前記ディスク装置から当該要求
に対する応答を受信するディスクIO手段と、 前記各要求について、前記遅延可能時間より、要求を受
け付けた際にすでに前記要求管理手段に保持されていた
要求の数に加え、さらに先に実行してもよい要求数を示
す挿入可能要求数を求める遅延時間管理手段と、 前記挿入可能要求数に基づいて、前記要求管理手段が保
持する要求を並べ替える並べ替え制御手段とを備える、
ディスク制御装置。26. A disk controller for rearranging requests and issuing them to a disk device so that execution of each of the requests is completed within a delay time individually provided by each of the requests. Request management means for holding the request, disk IO means for taking out the request held by the request management means and issuing the request to the disk device, and receiving a response to the request from the disk device; and Possible time, in addition to the number of requests already held in the request management means when the request was received, a delay time management means for obtaining the number of insertable requests indicating the number of requests that may be executed earlier, A rearrangement control unit that rearranges the requests held by the request management unit based on the number of insertable requests,
Disk control unit.
置より当該要求に対する応答を受信するまでの時間であ
る基準実行時間を保持する基準実行時間保持手段と、 前記基準実行時間と前記各要求内に指定された前記遅延
可能時間とから、前記挿入可能要求数を求める挿入可能
要求数算出手段とをさらに備えることを特徴とする、請
求項26に記載のディスク制御装置。27. A reference execution time holding means for holding a reference execution time which is a time from issuing a request to the disk device to receiving a response to the request from the disk device. 27. The apparatus according to claim 26, further comprising: an insertable request number calculating unit that calculates the insertable request number from the reference execution time and the delay time specified in each of the requests. Disk control unit.
成手段と、 要求が前記ディスク装置に発行してから前記ディスク装
置より当該要求に対する応答を受信するまでの実行時間
を測定する実行時間測定手段と、 前記実行時間測定手段が測定した前記実行時間から前記
基準実行時間の初期値を求める基準実行時間算出手段と
をさらに備えることを特徴とする、請求項27に記載の
ディスク制御装置。28. The disk IO means, comprising: a command generating means for generating a request to be issued to the disk device; and executing the command from issuing the request to the disk device until receiving a response to the request from the disk device. 28. The method according to claim 27, further comprising: an execution time measurement unit that measures time; and a reference execution time calculation unit that obtains an initial value of the reference execution time from the execution time measured by the execution time measurement unit. The disk control device according to the above.
置より当該要求に対する応答を受信するまでの実行時間
を測定する実行時間測定手段と、 前記実行時間測定手段が測定した前記実行時間から新た
な前記基準実行時間を求め、前記基準実行時間保持手段
が保持する前記基準実行時間の更新を行う基準実行時間
算出手段とをさらに備えることを特徴とする、請求項2
7に記載のディスク制御装置。29. The disk IO means, comprising: an execution time measuring means for measuring an execution time from when a request is issued to the disk device to when a response to the request is received from the disk device; And a reference execution time calculating means for obtaining a new reference execution time from the measured execution time and updating the reference execution time held by the reference execution time holding means. 2
8. The disk control device according to 7.
行時間の平均値により求めることを特徴とする、請求項
27〜29のいずれかに記載のディスク制御装置。30. The disk control device according to claim 27, wherein the reference execution time is obtained by an average value of the measured execution times.
前記ディスク装置をシークする方向が変化することまた
は前記挿入可能要求数が0であることを示すフラグと、
前記挿入可能要求数とを保持しており、 前記並べ替え制御手段に入力された要求を第1の要求と
し、前記要求管理手段内の前記フラグが設定された最後
尾の要求、または前記フラグが設定されていなければ前
記ディスクIO手段が前記要求管理手段から取り出した
最後尾の要求を第2の要求とした場合、 前記並べ替え制御手段は、 前記第1の要求を、前記第1の要求がアクセスする論理
アドレスが、前記要求管理手段内の最後尾の要求から前
記第2の要求までがアクセスする各論理アドレスの順序
を乱さない位置に挿入し、 前記挿入により論理アドレスの順序が変更された場合に
は、前記第1の要求の前記フラグを設定し、 前記第1の要求の挿入位置以前にある要求数を、前記第
1の要求の前記挿入可能要求数から減算し、 前記第1の要求の挿入位置以降にあるすべての要求の前
記挿入可能要求数から1を減算し、 前記減算により前記挿入可能要求数が0となった要求に
対して、前記フラグを設定することを特徴とする、請求
項26に記載のディスク制御装置。31. The request management means, for each request,
A flag indicating that the seek direction of the disk device changes or that the number of insertable requests is 0;
The number of insertable requests is held, and the request input to the rearrangement control unit is the first request, and the last request in which the flag is set in the request management unit, or the flag is If the request has not been set, if the last request retrieved from the request management means by the disk IO means is the second request, the rearrangement control means sets the first request as the first request. The logical address to be accessed is inserted at a position that does not disturb the order of the logical addresses accessed from the last request to the second request in the request management means, and the order of the logical addresses is changed by the insertion. In the case, the flag of the first request is set, and the number of requests existing before the insertion position of the first request is subtracted from the number of insertable requests of the first request. Required Subtracting 1 from the number of insertable requests of all requests after the insertion position, and setting the flag for a request in which the number of insertable requests becomes 0 by the subtraction, The disk control device according to claim 26.
有している場合、 前記ディスクIO手段は、前記キャッシュ機能を使用せ
ずに、前記ディスク装置への前記要求の発行、および当
該要求に対する応答の受信を行うことを特徴とする、請
求項1〜31のいずれかに記載のディスク制御装置。32. When the disk device has a cache function, the disk IO means issues the request to the disk device and receives a response to the request without using the cache function. 32. The disk control device according to claim 1, wherein the control is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10226221A JP2000056932A (en) | 1998-08-10 | 1998-08-10 | Disk controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10226221A JP2000056932A (en) | 1998-08-10 | 1998-08-10 | Disk controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000056932A true JP2000056932A (en) | 2000-02-25 |
Family
ID=16841803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10226221A Pending JP2000056932A (en) | 1998-08-10 | 1998-08-10 | Disk controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000056932A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089355B2 (en) | 2003-10-06 | 2006-08-08 | Hitachi Global Storage Technologies Netherlands B.V. | System and method for determining hard disk drive performance |
JP2006251844A (en) * | 2005-03-08 | 2006-09-21 | Hitachi Global Storage Technologies Netherlands Bv | Data storage device, and its write cache control method |
JP2010009653A (en) * | 2008-06-25 | 2010-01-14 | Sony Corp | Disk storage device and program |
US7991975B2 (en) | 2007-03-30 | 2011-08-02 | Nec Corporation | Storage medium control unit, data storage device, data storage system, method, and control program |
JP2012038330A (en) * | 2011-10-05 | 2012-02-23 | Hitachi Global Storage Technologies Netherlands Bv | Hard disk drive |
US9086808B2 (en) | 2011-07-25 | 2015-07-21 | Fujitsu Limited | Storage apparatus, load condition reduction method of the storage apparatus and system |
-
1998
- 1998-08-10 JP JP10226221A patent/JP2000056932A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089355B2 (en) | 2003-10-06 | 2006-08-08 | Hitachi Global Storage Technologies Netherlands B.V. | System and method for determining hard disk drive performance |
JP2006251844A (en) * | 2005-03-08 | 2006-09-21 | Hitachi Global Storage Technologies Netherlands Bv | Data storage device, and its write cache control method |
US7991975B2 (en) | 2007-03-30 | 2011-08-02 | Nec Corporation | Storage medium control unit, data storage device, data storage system, method, and control program |
JP2010009653A (en) * | 2008-06-25 | 2010-01-14 | Sony Corp | Disk storage device and program |
US9086808B2 (en) | 2011-07-25 | 2015-07-21 | Fujitsu Limited | Storage apparatus, load condition reduction method of the storage apparatus and system |
JP2012038330A (en) * | 2011-10-05 | 2012-02-23 | Hitachi Global Storage Technologies Netherlands Bv | Hard disk drive |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6408359B1 (en) | Storage device management system and method for distributively storing data in a plurality of storage devices | |
CA2556083A1 (en) | Memory allocation | |
US6654855B1 (en) | Method and apparatus for improving the efficiency of cache memories using chained metrics | |
CN110109873B (en) | File management method for message queue | |
US20060047874A1 (en) | Resource management apparatus | |
US7111289B2 (en) | Method for implementing dual link list structure to enable fast link-list pointer updates | |
CN109240607B (en) | File reading method and device | |
CN105359142B (en) | Hash connecting method and device | |
CN115016735B (en) | Control method, device and medium of distributed cache system | |
JP2000056932A (en) | Disk controller | |
US7484068B2 (en) | Storage space management methods and systems | |
CN115658625B (en) | Data decompression system, graphic processing system, device, equipment and decompression method | |
US7441093B2 (en) | Segmentation management using a rolling window technique | |
CN117235069A (en) | Index creation method, data query method, device, equipment and storage medium | |
JPH04313126A (en) | File input/output system for decentralized file system | |
CN1726459A (en) | Counter based stride prediction for data prefetch | |
US6389549B1 (en) | List management system, a list management method, a recording medium wherein a computer program for realizing the list management system is recorded and a packet exchange wherein the list management system is applied | |
JP2833507B2 (en) | Server device data access control method | |
US5717918A (en) | Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed | |
KR970706544A (en) | Method and system for data repetition between logically successive clusters | |
JPH0218645A (en) | Memory control system | |
US6154792A (en) | Method and computer program product for paging control using a reference structure including a reference bitmap | |
CN118820311A (en) | Key value caching method, text decoding method, device and computer storage medium | |
KR100523966B1 (en) | Method for determining valid bytes for multiple-byte burst memories | |
US5953454A (en) | Minimum distance storage device |