JPS63247987A - Seek control method for storing device - Google Patents
Seek control method for storing deviceInfo
- Publication number
- JPS63247987A JPS63247987A JP8165187A JP8165187A JPS63247987A JP S63247987 A JPS63247987 A JP S63247987A JP 8165187 A JP8165187 A JP 8165187A JP 8165187 A JP8165187 A JP 8165187A JP S63247987 A JPS63247987 A JP S63247987A
- Authority
- JP
- Japan
- Prior art keywords
- head
- queue
- command
- commands
- command queue
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000001174 ascending effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004886 head movement Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Moving Of Head For Track Selection And Changing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、シーク動作を伴う記憶装置、特にヘッドの効
率的な動作を行なうための制御方法に関するものである
。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a storage device that involves a seek operation, and particularly to a control method for efficiently operating a head.
本発明は、シーク動作を伴う記憶装置の制御において、
DISKfftl+御装置内に保持されたシーク動作を
伴う複数のコマンドからなる人力コマンドキュー(第5
図の16)を、各々のコマンドを実行する際に、実行前
のヘッドの位置と各コマンドの実行でヘッドが位置しな
ければならないシリンダから、ヘッドのシーク動作が最
適になる様に、コマンドキュー内のコマンドを並べ換え
ることにより、ヘッドの総移動距離を小さくすると共に
、コマンドキュー内の各コマンドに対して優先順位をつ
けて、未処理のまま取り残されるコマンドがない様に優
先順位処理を実行して、ヘッドの最適な動作を行なえる
ようにした。The present invention provides for controlling a storage device that involves a seek operation.
DISKfftl+Manual command queue (5th
16) in the figure, when executing each command, the command queue is set so that the seek operation of the head is optimized from the position of the head before execution and the cylinder where the head must be located when executing each command. By rearranging the commands in the command queue, the total head movement distance is reduced, and each command in the command queue is prioritized to ensure that no commands are left unprocessed. This allows the head to operate optimally.
従来、記憶装置のシーク動作の制御方法は、ランダムに
入力されるシーク動作を要求するコマンドに対して、入
力した順序に従って、コマンドを処理(シーク動作)し
ていた。Conventionally, in a method for controlling a seek operation of a storage device, commands requesting a seek operation are randomly input and the commands are processed (seek operation) according to the input order.
しかし、従来のシーク動作制御方法では、複数のコマン
ドが存在し、その各々を実行する際に、ヘッドが位置し
なければならないシリンダが、ディスク盤面上に、ラン
ダムかつ離れて存在する場合に、入力した順序で処理(
シーク動作)を行なうため、第1図に示す様に、現在の
ヘッドの位置11(80)と次に処理すべきコマンドの
シリンダ位置■の間に、別のコマンドのシリンダ位置■
■がある場合に、ヘッドは一度■(5)ヘシーク動作を
行ない、次に■(20) 、■(50)を飛び越えて■
(100)ヘシーク動作を行ない、さらにまた戻って■
(20)ヘシーク動作をして、次に■(240)ヘシー
ク動作をした後、■(50)へ戻ってくるという様に■
から■までのシーク動作のためのヘッドの総移動距離は
(77+95+80+220+190)=660 (
シリンダ〕(但しく)内の数字は、移動シリンダ量、す
なわちヘッドの移動量を示す)となる。このようにヘッ
ドは無駄な動きをしていた。However, in conventional seek operation control methods, when there are multiple commands and the cylinders in which the head must be positioned when executing each command are located randomly and separately on the disk surface, the input Process in the order (
To perform a seek operation), as shown in FIG. 1, between the current head position 11 (80) and the cylinder position ■ of the next command to be processed, the cylinder position ■ of another command is set.
When ■ exists, the head performs the seek operation once to ■ (5), then jumps over ■ (20) and ■ (50), and then
(100) Perform the seek motion and return again ■
(20) Perform a seek motion, then (240) Perform a seek motion, then return to (50), and so on.
The total head movement distance for the seek operation from to ■ is (77+95+80+220+190)=660 (
cylinder] (however, the number in parentheses indicates the amount of cylinder movement, that is, the amount of movement of the head). In this way, the head was making unnecessary movements.
本発明は、以上の点に鑑み、入力されたコマンドを処理
(シーク動作)する前に、現在のヘッドの位置を考慮に
入れた上で、コマンドの処理(シーク動作)順序を並べ
換え、さらには、未処理のコマンドが残されない様、優
先順位を使った制御プログラムを実行させることにより
、コマンドの処理(シーク動作)の最適化をはかる方法
を提供するものである。In view of the above points, the present invention rearranges the command processing order (seek operation) by taking into account the current head position before processing input commands (seek operation), and , provides a method for optimizing command processing (seek operation) by executing a control program using priorities so that no unprocessed commands are left.
本発明である方法を用いると、入力コマンドキューにあ
る複数のコマンドを並べ換えてシーク動作を行なうので
、第1図においてのヘッドのシーク動作の順序は次の様
になる。ヘッドはまず要求順序■ヘシーク動作を行ない
、次に■−■−■−■という順序でシーク動作を行なう
。この時■から■までのコマンドを処理するのにヘッド
がシーク動作をする総移動距離は、310(シリンダ)
で済むことになる。When the method of the present invention is used, a seek operation is performed by rearranging a plurality of commands in the input command queue, so the order of the head seek operations in FIG. 1 is as follows. The head first performs a seek operation in the requested order ■, and then performs seek operations in the order ■−■−■−■. At this time, the total travel distance for the head to perform seek operations to process commands from ■ to ■ is 310 (cylinders).
That would be enough.
以下、図面を参照して本発明の好適な一実施例を説明す
る。Hereinafter, a preferred embodiment of the present invention will be described with reference to the drawings.
第5図は本発明の一実施例を説明するための、シーク動
作を伴う代表的な記憶装置の構成図である。図のホスト
・コンピュータ4からくる入出力要求のコマンドは、デ
ィスク制御装置のコマンドキュー16へ一度入れられて
、シーク動作をする記憶装置13に対してコマンドの実
行が行われる。FIG. 5 is a block diagram of a typical storage device with a seek operation, for explaining one embodiment of the present invention. The input/output request command coming from the host computer 4 shown in the figure is once entered into the command queue 16 of the disk control device, and the command is executed on the storage device 13 that performs the seek operation.
また、第1図は実際にシーク動作を行なうヘッドと入力
コマンドの要求するシーク位置についてのディスクの縦
断面図である。図中○で囲んだ数字は、入力コマンドキ
ューの順番を表す例であり、その矢印はヘッドが移動す
べき位置を示している。FIG. 1 is a longitudinal sectional view of the disk showing the head actually performing the seek operation and the seek position required by the input command. The numbers circled in the figure are examples of the order of the input command queue, and the arrows indicate the positions to which the head should move.
また、その入力コマンドキューは第3図に示してあり、
左側から5つの入力コマンドキューが順番に並んでいる
。図中Oで囲んだ数字は入力コマンドキューの順番を示
し、()で囲んだ数字はそのコマンドの実行に際しヘッ
ドが移動すべき位置を示す。Also, the input command queue is shown in Figure 3.
Five input command queues are lined up in order from the left. In the figure, the numbers surrounded by O indicate the order of the input command queue, and the numbers enclosed in parentheses indicate the position to which the head should move when executing the command.
さて、この入力コマンドキューが第2図の最適化処理の
フローチャート図に示す選択処理に入力されると、選択
処理によって人力コマンドキューの中の最大ヘッド位置
のコマンドキューと最小ヘッド位置のコマンドキューが
選択される。次に距離計算処理では、現在のヘッド位置
と各々の選択されたコマンドキューのヘッド位置との距
#(差の絶対値)が計算され、選択された2つのコマン
ドキューのヘッド位置のどちらが現在のヘッド位置に近
いかが次のソーティング処理に伝えられる。Now, when this input command queue is input to the selection process shown in the flowchart of the optimization process in Figure 2, the command queue for the maximum head position and the command queue for the minimum head position in the manual command queue are selected by the selection process. selected. Next, in the distance calculation process, the distance # (absolute value of difference) between the current head position and the head position of each selected command cue is calculated, and which of the two selected command cue head positions is the current one. The proximity to the head position is transmitted to the next sorting process.
ソーティング処理ではその距離計算処理での結果により
、最大ヘッド位置のコマンドキューが近い場合にはヘッ
ド位置の降順に、最小ヘッド位置のコマンドキューが近
い場合にはへノド位置の昇順に全ての入力コマンドキュ
ーをソーティングする。そしてその結果を出力コマンド
キューとして出力「る。この例では現在のヘッド位置を
80としてA2図の選択処理・距離計算処理・ソーテイ
ング処理を行ない、その結果の出力コマンドキューを第
4図(A)に示した。In the sorting process, depending on the result of the distance calculation process, all input commands are sorted in descending order of head position if the command queue of the maximum head position is close, and in ascending order of head position if the command queue of the minimum head position is close. Sort queues. The results are then output as an output command queue. In this example, the current head position is set to 80, and the selection process, distance calculation process, and sorting process shown in Figure A2 are performed, and the resulting output command queue is shown in Figure 4 (A). It was shown to.
この結果、第3図の出力コマンドキューの通りに実行し
た場合、全てのコマンドの実行中にヘッドが移動する総
距離は310シリンダである。これは〔従来の技術〕の
例で660シリンダの約半分の値である。As a result, when executed according to the output command queue of FIG. 3, the total distance the head moves during execution of all commands is 310 cylinders. This is approximately half the value of 660 cylinders in the [prior art] example.
次に、各コマンドに対して優先順位を付ける処理を設け
て、未処理で取り残されるコマンドをな(すという方法
を以下に示す、前記選択処理・距離計算処理・ソーティ
ング処理の実施例では、第3図に示した、■のシリンダ
位ff (240) というコマンドがあり、新たに入
力されるコマンドのシリンダ位置が(0)〜(100)
というような離れた場所に集中した場合に、距離計算処
理及びソーティング処理によって、現在のヘッドに近い
シリンダ位置をもつコマンドが、常にコマンドキューの
先頭になり、先に処理され、シリンダ位iff (24
0)のコマンドが、未処理のまま、長い間取り残される
可能性がある。これを解決するために、優先順位処理を
追加した方法がある。Next, in the embodiment of the selection process, distance calculation process, and sorting process shown below, a process is provided for prioritizing each command to eliminate unprocessed commands. There is a command called cylinder position ff (240) shown in Figure 3, and the cylinder position of the newly input command is from (0) to (100).
When the commands are concentrated in a distant location, the distance calculation process and the sorting process ensure that the command with the cylinder position closest to the current head is always at the head of the command queue, processed first, and the cylinder position iff (24
0) may be left unprocessed for a long time. To solve this problem, there is a method that adds priority processing.
優先順位処理を説明するにあたり、一実施例として、優
先順位幅を1 (低優先度)〜5(高優先度)の整数と
する。さらに、新たにコマンドキューに追加されるコマ
ンドに関しては、初期優先順位度として、1を与えるも
のとする。In explaining the priority processing, as an example, the priority range is assumed to be an integer from 1 (low priority) to 5 (high priority). Furthermore, a command newly added to the command queue is given an initial priority of 1.
さて、現在のコマンドキューの並びと優先順位が、第3
図に示す様になっているとする。ここで、第2図に示し
た優先順位処理を通すと、コマンドキュー内の全てのキ
ューに対して、優先順位が+1とされる。この時、第3
図のコマンドキュー内で、優先順位が最大値の5になつ
いるもの(第3図■)に対しては、長い間、未処理のま
ま残されていたものとみなされ、Sという特別な優先順
位が付けられる。さらに、コマンドキュー内のこれより
前に並んでいるコマンド(第3図の■)に対しては、現
在の優先順位の高低に関わらず、全て優先順位をSにし
て、次の距離計算処理及びソーティング処理を行なわな
い様にする。つまり、優先順位S以下のコマンドに対し
てだけ、並び換えが行なわれる。(第4図(B)を参照
)こうする事により、優先順位Sが付けられたコマンド
は、優先的に先に処理されることになり、未処理のまま
取り残されるコマンドがなくなると同時に、コマンドの
処理(シーク動作)の最適化が保たれることになる。Now, the current command queue order and priority are
Assume that it is as shown in the figure. Here, when the priority processing shown in FIG. 2 is passed, the priority is set to +1 for all queues in the command queue. At this time, the third
In the command queue shown in the figure, commands whose priority reaches the maximum value of 5 (■ in Figure 3) are considered to have been left unprocessed for a long time, and are given a special priority of S. can be ranked. Furthermore, for commands that are lined up before this one in the command queue (■ in Figure 3), regardless of their current priority, all commands are set to priority S and are used for the next distance calculation process. Avoid sorting processing. In other words, only commands with priority S or lower are rearranged. (See Figure 4 (B)) By doing this, commands with priority S will be processed first, and at the same time, no commands will be left unprocessed. The optimization of the processing (seek operation) is maintained.
本発明は、以上説明したように、簡単な処理でコマンド
の実行順序を入れ換えることにより、ヘッドの総移動距
離を短くし、加えて、ヘッド位置から遠く離れたシリン
ダ位置にある未処理のコマンドに対しても、効率的に処
理して、実行時間を短縮するという優れた特徴を有する
ものである。As explained above, the present invention shortens the total movement distance of the head by changing the execution order of commands through simple processing. However, it has the excellent feature of efficiently processing and shortening the execution time.
第1図はディスクの縦断面図、第2図は最適化処理のフ
ローチャート図、第3図は入力コマンドキューの一例を
示す図、第4図は並び換えた出力コマンドキューの一例
を示す図、第5図は本発明における記憶装置の構成図で
ある。
11・・・ヘッド
12・・・ディスク盤面
13・・・シーク動作をする記憶装置(Disk装置)
14・・・ホスト・コンピュータ
15・・・Disk1ilJ御装置
16・・・コマンドキュー
、以上FIG. 1 is a vertical cross-sectional view of a disk, FIG. 2 is a flow chart of optimization processing, FIG. 3 is a diagram showing an example of an input command queue, and FIG. 4 is a diagram showing an example of a rearranged output command queue. FIG. 5 is a configuration diagram of a storage device according to the present invention. 11...Head 12...Disk surface 13...Storage device (Disk device) that performs seek operation
14...Host computer 15...Disk1ilJ control device 16...Command queue, and above
Claims (2)
、前記記憶装置の制御を含む装置において前記記憶装置
を制御するシーク動作を伴う複数のコマンドを、前記記
憶装置のヘッドの位置と前記コマンドを実行するために
ヘッドが位置しなければならないシリンダから、最適な
前記ヘッドのシーク動作を行なうために、前記ヘッドと
各コマンドの間の距離を計算しソーティングによって前
記コマンドを並べ換えることを特徴とする記憶装置のシ
ーク制御方法。(1) In a device including one or more storage devices that involve a seek operation, and a plurality of commands that involve a seek operation that control the storage device, the position of the head of the storage device and the commands are determined. The method is characterized in that the distance between the head and each command is calculated and the commands are rearranged by sorting in order to perform an optimal seek operation of the head from a cylinder in which the head must be located in order to execute the command. A storage device seek control method.
ドに優先順位を付け、距離計算とソーティング処理にお
いて優先順位を含めてコマンドの並び換えを行なう特許
請求の範囲第1項記載の記憶装置のシーク制御方法。(2) In the seek control method for a storage device, the commands are prioritized, and the commands are rearranged including the priority in distance calculation and sorting processing. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8165187A JPS63247987A (en) | 1987-04-02 | 1987-04-02 | Seek control method for storing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8165187A JPS63247987A (en) | 1987-04-02 | 1987-04-02 | Seek control method for storing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63247987A true JPS63247987A (en) | 1988-10-14 |
Family
ID=13752234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8165187A Pending JPS63247987A (en) | 1987-04-02 | 1987-04-02 | Seek control method for storing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63247987A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02132692A (en) * | 1988-11-11 | 1990-05-22 | Fujitsu Ltd | High speed access system for disk device |
EP0675490A1 (en) * | 1994-03-28 | 1995-10-04 | Seagate Technology International | Method for reducing rotational latency in a disc drive |
-
1987
- 1987-04-02 JP JP8165187A patent/JPS63247987A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02132692A (en) * | 1988-11-11 | 1990-05-22 | Fujitsu Ltd | High speed access system for disk device |
EP0675490A1 (en) * | 1994-03-28 | 1995-10-04 | Seagate Technology International | Method for reducing rotational latency in a disc drive |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20060026852A (en) | Scheduling multi-robot processing systems | |
US20090183158A1 (en) | Determining a priority value for a thread for execution on a multithreading processor system | |
JPS63247987A (en) | Seek control method for storing device | |
JP6538754B2 (en) | Numerical control device | |
JP7173928B2 (en) | Numerical controller | |
JP3287422B2 (en) | Highest priority work selection decision device for production process resources | |
JPH05324430A (en) | Data processor | |
JPH01121920A (en) | Seek control method for storage device | |
JPH02276083A (en) | Optimizing method for disk head seeking operation | |
JPS63636A (en) | Task control system | |
CN110281235B (en) | Manipulator upper computer control method based on parameter-controllable lower computer numerical control program | |
JPH04257915A (en) | Information processor | |
JPH06202884A (en) | Multiprogram execution managment method | |
JPH0580977A (en) | Data processor | |
JPH01140362A (en) | Channel controller | |
JPH0553627A (en) | Executing order deciding method for auxiliary function of nc program | |
JPS5948366A (en) | Group controller for elevator | |
JPH0643703U (en) | Structured means of NC programming language | |
JPH04105132A (en) | Emergency job executing system | |
JP2654614B2 (en) | Speed control device | |
JPS61272803A (en) | Numerical control working system | |
Choi et al. | An efficient algorithm for control action sequences in FMS using dynamic programming | |
JPS59103150A (en) | Microprogram control system | |
JPH04184525A (en) | Magnetic disk device | |
JPH01246634A (en) | Task control system |