JP2982910B2 - Disk drive seek control method and apparatus - Google Patents
Disk drive seek control method and apparatusInfo
- Publication number
- JP2982910B2 JP2982910B2 JP2512657A JP51265790A JP2982910B2 JP 2982910 B2 JP2982910 B2 JP 2982910B2 JP 2512657 A JP2512657 A JP 2512657A JP 51265790 A JP51265790 A JP 51265790A JP 2982910 B2 JP2982910 B2 JP 2982910B2
- Authority
- JP
- Japan
- Prior art keywords
- head
- seek
- command
- processor
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Moving Of Head For Track Selection And Changing (AREA)
Description
【発明の詳細な説明】 技術分野 本発明は、コンピュータシステムの補助記憶装置にお
けるシーク制御方法及び装置に関する。Description: TECHNICAL FIELD The present invention relates to a seek control method and apparatus in an auxiliary storage device of a computer system.
近年、コンピュータ本体の動作が高速化されるのに伴
って、大量のデータを記憶したり、また、仮想記憶とし
て使用される補助記憶装置の高速化が求められている。
このためには、補助記憶装置のアクセス時間の短縮化を
行なう必要があるが、アクセス時間の短縮化を図るため
には、シーク時間を短縮するようにシーク制御を行なう
ことが必要である。2. Description of the Related Art In recent years, as the operation of a computer main body has been speeded up, there has been a demand for an auxiliary storage device that stores a large amount of data and that is used as a virtual memory to be speeded up.
For this purpose, it is necessary to shorten the access time of the auxiliary storage device, but in order to shorten the access time, it is necessary to perform seek control so as to shorten the seek time.
背景技術 従来のコンピュータシステムの補助記憶装置である磁
気ディスク装置や光ディスク装置にあっては、1つのシ
リンダ(トラック)から他のシリンダ(トラック)にヘ
ッドを移動させるシーク中に、上位装置から他のデータ
を読み込むための命令(コマンド)が指示されても、シ
ークが終了するまで、コマンドが実行されない恐れがあ
った。2. Description of the Related Art In a magnetic disk device or an optical disk device, which is an auxiliary storage device of a conventional computer system, during a seek for moving a head from one cylinder (track) to another cylinder (track), a higher-level device performs another seek. Even if an instruction (command) for reading data is given, the command may not be executed until the seek is completed.
これを磁気ディスク装置の場合について説明する。磁
気ディスク装置には一般にリードアヘッドキャッシュ
(Read Ahead Cache)と呼ばれる方法が採用されてい
る。例えば、ホストコンピュータなどの上位装置からの
データの読出し命令に対して要求された読み取りデータ
を上位装置に転送した後に、このデータに連続している
データを磁気ディスク装置のコントローラ内に設けられ
たキャッシュメモリに先読み動作するリードアヘッドキ
ャッシュ(Read Ahead Cache)機構を備えている。この
ような先読動作中にリード命令によって読出された領域
に連続する磁気ディスク媒体上に欠陥(キズ)がある場
合、この欠陥部分の交代処理、即ち、この欠陥部分の代
替として別のシリンダにその欠陥部分の代りとなる領域
が設けられ、連続するデータを先読みする場合には、こ
の交代領域にヘッドを移動するためのシークが行なわれ
ることとなる。このような交代処理は、例えばUSP4,49
8,146号公報に記載されている。しかし、この交代シリ
ンダは一般的に最も頻繁に使用されるシリンダと反対側
の磁気ディスクの最外周側または最内周側にある割当て
られる事が多く、欠陥のあった先読領域から交代領域へ
のシークは長距離なシークとなることが多い。This will be described for the case of a magnetic disk drive. A method generally called a read ahead cache (Read Ahead Cache) is adopted for a magnetic disk device. For example, after transferring read data requested in response to a data read command from a higher-level device such as a host computer to a higher-level device, data continuous with the data is transferred to a cache provided in a controller of the magnetic disk device. The memory is provided with a read ahead cache (Read Ahead Cache) mechanism that performs a prefetch operation. If there is a defect (scratch) on the magnetic disk medium continuing to the area read by the read command during such pre-reading operation, the defective part is replaced, that is, another defective cylinder is replaced. An area is provided in place of the defective part, and when pre-reading continuous data, a seek for moving the head to this alternate area is performed. Such a replacement process is, for example, USP 4,49
8,146. However, this replacement cylinder is generally allocated on the outermost or innermost side of the magnetic disk opposite to the cylinder most frequently used, so that the defective read-ahead area is replaced with the replacement area. Is often a long-distance seek.
このような長距離のシークを行なうときは、このシー
クの時間を短縮するために高速で磁気ヘッドを移動する
ように設定されている。従って磁気ヘッドを移動速度が
ある速度以上になるとその制御のために磁気ディスクコ
ントローラは、上位装置からのコマンドを受け付けられ
ない。When performing such a long-distance seek, the magnetic head is set to move at a high speed in order to shorten the seek time. Therefore, when the moving speed of the magnetic head exceeds a certain speed, the magnetic disk controller cannot receive a command from the host device for the control.
この理由は以下のとおりである。 The reason is as follows.
長距離のシークは、第1図のFのように、一般的に目
標速度に対して磁気ヘッドの移動速度が同じになるよう
に制御される。すなわち、磁気ヘッドが位置する現在の
シリンダと目標シリンダとの差を求め、この差に応じて
最短で磁気ヘッドが移動出来るように磁気ヘッドが移動
する目標速度カーブを決め、この目標速度カーブに対し
て磁気ヘッドの実速度が同じとなるように速度制御を行
ないながらヘッドの移動制御が行なわれる。この速度制
御は磁気ディスクコントローラ内のマイクロプロセッサ
(MPU)の制御により行なわれ、MPUは、たえず磁気ヘッ
ドの現在位置をトラッキングクロスパルス(トラックを
通過した時に得られる信号)を検出する事により目標位
置までの残りの移動シリンダ数をサーボ制御回路に与え
つづけるがトラック(シリンダ)幅が17.5[μm]、磁
気ヘッドの最高速度が2[m/s]とすると、磁気ヘッド
がトラックを横切る時間は8.75[μs]となり、この間
隔より短い間隔でトラッククロスパルスの読込みのため
にトラッククロスパルスの監視を行なわねばならない。The long-distance seek is generally controlled such that the moving speed of the magnetic head is the same as the target speed, as shown in F of FIG. That is, the difference between the current cylinder where the magnetic head is located and the target cylinder is determined, and based on this difference, a target speed curve at which the magnetic head moves so that the magnetic head can move in the shortest time is determined. The head movement is controlled while performing the speed control so that the actual speed of the magnetic head becomes the same. This speed control is performed under the control of a microprocessor (MPU) in the magnetic disk controller. The MPU constantly detects the current position of the magnetic head by detecting a tracking cross pulse (a signal obtained when passing the track) to a target position. If the track (cylinder) width is 17.5 [μm] and the maximum speed of the magnetic head is 2 [m / s], the time for the magnetic head to cross the track is 8.75. [Μs], and the track cross pulse must be monitored at intervals shorter than this interval in order to read the track cross pulse.
このように、MPUで前記の処理を行なうためには7
[μs]前後の周期で速度制御のための処理を行なう必
要がある。したがって、ヘッドシーク動作中は、ほとん
どマイクロプロセッサは余裕はなく、他の仕事を行なう
事は出来ない状態であり、例えば上位装置より次のアク
セス命令が来てそれを取込んでヘッドシークを途中で中
止させることは実際上困難である。従って従来は、デー
タ先読み制御中に交代処理されている部分があった場
合、この交代領域にシークを行なわずこの時点で先読み
を中止して、次に到来するコマンドをすぐ受付けられる
状態としている。Thus, in order for the above processing to be performed by the MPU, 7
It is necessary to perform a process for speed control in a cycle around [μs]. Therefore, during the head seek operation, the microprocessor has almost no margin and cannot perform any other work.For example, the next access instruction comes from a higher-level device and fetches it, and the head seek is performed on the way. It is practically difficult to stop. Therefore, conventionally, when there is a portion that has been subjected to the replacement processing during the data pre-reading control, the pre-reading is stopped at this time without performing a seek in this replacement area, and the next arriving command is immediately received.
以下、さらに磁気ヘッドのシーク方法の問題点を詳述
する。第2図は一般的な磁気ヘッドのシーク方法を示す
フローチャートである。図中、ステップ101〜103はシー
ク開始準備の処理に関し、ステップ104〜108はシーク中
の処理に関する。このうち、ステップ104〜106はシーク
加速及び等速期間に関し、ステップ106〜108は減速期間
に関する。はじめにステップ101で、図示されい磁気デ
ィスク装置内のマイクロプロセッサは、上記装置からの
受信した命令がシーク命令かどうかを判断する。シーク
命令でないと判断されたときは次に要求されている処理
を実行する。ステップ101でシーク命令と判断されたと
きはステップ102で、マイクロプロセッサは自己のレジ
スタ内に記憶された現在シリンダと上位装置受信した目
標シリンダの差及びヘッドの移動すべき方向を計算し、
ヘッドの移動量及びシーク方向(ヘッドの移動方向)を
決定してそれぞれの演算結果を自己の所定のレジスタに
セットする。そしてステップ103でマイクロプロセッサ
は、図示されないシーク制御回路に移動量と方向を指示
する事によりシークを開始する。Hereinafter, problems of the seek method of the magnetic head will be described in detail. FIG. 2 is a flowchart showing a general magnetic head seek method. In the figure, steps 101 to 103 relate to a process of preparing for a seek start, and steps 104 to 108 relate to a process during a seek. Of these steps, steps 104 to 106 relate to the seek acceleration and constant speed periods, and steps 106 to 108 relate to the deceleration period. First, in step 101, a microprocessor in a magnetic disk device (not shown) determines whether a command received from the device is a seek command. If it is determined that the instruction is not a seek instruction, the next requested process is executed. When the seek command is determined in step 101, in step 102, the microprocessor calculates the difference between the current cylinder stored in its own register and the target cylinder received by the host device, and the direction in which the head should move,
The movement amount and seek direction (head movement direction) of the head are determined, and each calculation result is set in its own predetermined register. In step 103, the microprocessor starts a seek operation by instructing a seek control circuit (not shown) of the movement amount and the direction.
続くステップ104で、マイクロプロセッサは、磁気デ
ィスク上のサーボ信号を読取って得られるトラック・ク
ロス信号が発生したかどうかをヘッドが最高速度で移動
した時に得られるであろうトラッククロス信号の間隔以
下で監視する。ステップ104でトラック・クロス信号の
発生が確認されると、ステップ105でマイクロプロセッ
サは、自己のレジスタにセットされている移動量、即ち
目標シリンダまでのシリンダ数を−1減算する。そし
て、この結果得られた新たな移動量をシーク制御回路に
与える。そしてステップ106で、マイクロプロセッサ
は、現在のヘッドの位置が目標シリンダのヘッドを停止
するために減速を開始すべきシリンダ位置にあるかどう
かを判断する。即ち、目標シリンダでヘッドを停止させ
るためには、目標シリンダより数シリンダ手前でヘッド
の移動速度を減速させる必要があり、このために予め決
定された目標速度カーブよりこの減速を開始する位置が
予め決定さている。ステップ106の判断結果がまだ減速
を開始すべき位置に到達していないと判定した時にはス
テップ104に戻る。これに対し、ステップ106で現在のヘ
ッドの位置が減速を開始するシリンダ位置にあると判断
されたときには、ステップ107でマイクロプロセッサは
シーク制御回路に減速指令を出し、減速を開始させる。
続くステップ108で、トラッククロス信号が発生したか
どうかを上述と同様に判断し、トラッククロス信号が発
生したと判断されたときにはステップで目標シリンダま
でのシリンダ数を減算する。そして、ステップ110でヘ
ッドが目標シリンダ上に到達したと判断されたとき、即
ちレジスタが“0"となったときにはシークを終了し、目
標シリンダに関する制御(ON TRACK制御)を実行する。
これに対し、ステップ110の判断結果、また目標シリン
ダに到着していない時にはステップ108に戻る。In the following step 104, the microprocessor determines whether or not a track cross signal obtained by reading the servo signal on the magnetic disk has occurred below the interval of the track cross signal that would be obtained when the head moved at the maximum speed. Monitor. When the generation of the track cross signal is confirmed in step 104, the microprocessor subtracts -1 from the moving amount set in its register, that is, the number of cylinders up to the target cylinder in step 105. Then, the new movement amount obtained as a result is given to the seek control circuit. Then, in step 106, the microprocessor determines whether the current head position is at the cylinder position where deceleration should be started to stop the head of the target cylinder. That is, in order to stop the head at the target cylinder, it is necessary to reduce the moving speed of the head a few cylinders before the target cylinder. For this reason, the position at which this deceleration is started is determined in advance by a predetermined target speed curve. It has been decided. When it is determined in step 106 that the vehicle has not yet reached the position where deceleration should be started, the process returns to step 104. On the other hand, when it is determined in step 106 that the current head position is at the cylinder position where deceleration starts, the microprocessor issues a deceleration command to the seek control circuit in step 107 to start deceleration.
In the following step 108, it is determined in the same manner as described above whether or not a track cross signal has been generated. If it is determined that a track cross signal has been generated, the number of cylinders up to the target cylinder is subtracted in step. When it is determined in step 110 that the head has reached the target cylinder, that is, when the register has become "0", the seek is terminated, and control (ON TRACK control) relating to the target cylinder is executed.
On the other hand, if the result of determination in step 110 is that it has not arrived at the target cylinder, processing returns to step 108.
第3図(A)はヘッドの移動速度vと時間tとの関係
を示す。第3図(B)はヘッド移動用ボイスコイルモー
タ(VCM)の駆動電流Iと時間tとの関係を示す。第3
図(C)はヘッド移動距離と時間との関係を示す。図
中、はステップ101〜103の処理に相当し、はステッ
プ104〜106の処理に相当し、はステップ107の処理に
相当し、はステップ108で目標シリンダと判断された
場合に相当する。FIG. 3A shows the relationship between the moving speed v of the head and the time t. FIG. 3B shows the relationship between the drive current I of the head moving voice coil motor (VCM) and the time t. Third
FIG. 4C shows the relationship between the head moving distance and time. In the figure, corresponds to the processing of steps 101 to 103, corresponds to the processing of steps 104 to 106, corresponds to the processing of step 107, and corresponds to the case where the target cylinder is determined in step 108.
前述したように、ヘッドの移動速度は最大で約2[m/
s]でトラック(シリンダ)幅は約17.5[μm]である
ため、処理時間は約8.75[μm]である。しかしなが
ら、目標シリンダまでのトラック・クロス信号数の計算
処理で約7[μm]かかるため、MPUの処理上余裕がな
く、割り込みの受付処理などを行なえない。As mentioned above, the moving speed of the head is about 2 [m /
s], the track (cylinder) width is about 17.5 [μm], and the processing time is about 8.75 [μm]. However, since it takes about 7 μm in the calculation processing of the number of track cross signals to the target cylinder, there is no margin in the processing of the MPU, and it is not possible to perform interrupt acceptance processing and the like.
発明の開示 本発明の概括目的は、上記問題点を解決したディスク
装置のシーク制御方法及び装置を提供することにある。DISCLOSURE OF THE INVENTION An object of the present invention is to provide a seek control method and apparatus for a disk drive which solves the above problems.
本発明の目的をより特定すれば、スループットの向上
を図ったシーク制御方法及び装置を提供することにあ
る。More specifically, an object of the present invention is to provide a seek control method and apparatus that improve throughput.
上記目的は外部装置からのデータ読み出し要求に対す
るデータを外部装置に転送すると共に、外部装置からの
指示を受けずに該データに連続しているデータをディス
ク制御装置内のメモリに先読み動作する際に、プロセッ
サの制御により記録媒体上の外部装置から要求されたデ
ータが存在する第1の位置から先読み対象のデータが存
在する遠隔の第2の位置へヘッドを移動させるシーク動
作を行うステップ(a)と; ステップ(a)の実行中に前記プロセッサが外部装置
からのコマンドを受け付けることができるヘッドの限界
速度を設定するステップ(b)と; ステップ(a)の実行中に前記プロセッサが外部装置
からコマンドを受け付けたか否かを検出するステップ
(c)と; ステップ(c)で該コマンドが前記プロセッサに受け
付けられたことを検出したときに、第1の位置から第2
の位置へヘッドを移動させるシーク動作を停止させるス
テップ(d)とを; 有するディスク装置のシーク制御方法で実現される。The object is to transfer data in response to a data read request from an external device to an external device, and to perform a prefetch operation of data continuous with the data to a memory in a disk control device without receiving an instruction from the external device. Performing a seek operation for moving a head from a first position where data requested by an external device on a recording medium is present to a second remote position where data to be prefetched is present under the control of a processor (a). (B) setting a limit speed of a head at which the processor can receive a command from an external device during the execution of the step (a); and (C) detecting whether or not a command has been accepted; and in step (c), the command is accepted by the processor. When it is detected that the, first from a first position 2
(D) stopping the seek operation for moving the head to the position of (i).
また、上記目的は、外部装置からのデータ読み出し要
求に対するデータを外部装置に転送すると共に、外部装
置からの指示を受けずに該データに連続しているデータ
をディスク制御装置内のメモリに先読み動作する際に、
プロセッサの制御により記録媒体上の外部装置から要求
されたデータが存在する第1の位置から先読み対象のデ
ータが存在する遠隔の第2の位置へヘッドを移動させる
シーク動作を行う第1の手段と; 該シーク動作の実行中に前記プロセッサが外部装置か
らのコマンドを受け付けることができるヘッドの限界速
度を設定する第2の手段と; 前記シーク動作の実行中に前記プロセッサが外部装置
からコマンドを受け付けたか否かを検出する第3の手段
と; 第3の手段は該コマンドが前記プロセッサに受け付け
られたことを検出したときに、第1の位置から第2の位
置へヘッドを移動させるシーク動作を停止させる第4の
手段とを有するディスク装置のシーク制御装置で表現さ
れる。Further, the object is to transfer data in response to a data read request from an external device to the external device, and to perform a pre-read operation to a memory in the disk control device of data continuous with the data without receiving an instruction from the external device. When doing
First means for performing a seek operation for moving a head from a first position where data requested by an external device on a recording medium is present to a second remote position where data to be prefetched is present under the control of a processor; Second means for setting a limit speed of a head at which the processor can receive a command from an external device during the execution of the seek operation; and the processor receives a command from the external device during the execution of the seek operation. Third means for detecting whether the command has been received by the processor. The third means performs a seek operation for moving the head from the first position to the second position when detecting that the command has been accepted by the processor. This is expressed by a seek control device of a disk device having a fourth means for stopping.
図面の簡単な説明 第1図は従来及び本発明の第1の実施例のシーク動作
を示す図; 第2図は従来のシーク動作の制御を示すフローチャー
ト; 第3図は従来のシーク動作を示す波形図; 第4図は本発明の第1の実施例を示すブロック図; 第5図は第4図に示すエンコーダ及びデコーダの構成
を示す図; 第6図は第5図の構成の動作を示すタイミングチャー
ト; 第7図及び第8図は第4図に示す本発明の一実施例の
動作を示すフローチャート; 第9図は本発明の第2の実施例の要部を示すブロック
図;及び 第10図は第9図に示す本発明の実施例の動作を示すフ
ローチャートである。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing a seek operation of a conventional and a first embodiment of the present invention; FIG. 2 is a flowchart showing control of a conventional seek operation; FIG. 3 is a diagram showing a conventional seek operation. FIG. 4 is a block diagram showing a first embodiment of the present invention; FIG. 5 is a diagram showing the configuration of the encoder and decoder shown in FIG. 4; FIG. 6 is a diagram showing the operation of the configuration of FIG. FIGS. 7 and 8 are flowcharts showing the operation of one embodiment of the present invention shown in FIG. 4; FIG. 9 is a block diagram showing a main part of the second embodiment of the present invention; FIG. 10 is a flowchart showing the operation of the embodiment of the present invention shown in FIG.
発明を実施するための最良の形態 本発明の第1の実施例を第4図〜第8図を参照して説
明する。BEST MODE FOR CARRYING OUT THE INVENTION A first embodiment of the present invention will be described with reference to FIGS.
第4図において、本発明の一実施例の装置は上位装置
1と、上位装置1により制御される磁気ディスク装置2
を有する。磁気ディスク装置2はインタフェース制御回
路3,ドライブコントローラ4,ヘッド6,磁気ディスク7,ヘ
ッド駆動用モータ9及び磁気ディスク回転用モータ71を
有する。In FIG. 4, an apparatus according to an embodiment of the present invention includes a host device 1 and a magnetic disk device 2 controlled by the host device 1.
Having. The magnetic disk device 2 has an interface control circuit 3, a drive controller 4, a head 6, a magnetic disk 7, a head drive motor 9, and a magnetic disk rotation motor 71.
インタフェース制御回路3は、上位装置1らのコマン
ドのデコードか上位装置1との間のデータ転送などの制
御を行うものであり、その処理はマイクロプロセッサ30
1により行なわれる。マイクロプロセッサ301はバス304
を介して入力ポート302,出力ポート303,ROM305,バッフ
ァメモリ(キャッシュメモリ)5,通信インターフェース
306にアクセスすることができる。The interface control circuit 3 controls decoding of commands from the higher-level device 1 or data transfer with the higher-level device 1.
Performed by 1. Microprocessor 301 is bus 304
Input port 302, output port 303, ROM 305, buffer memory (cache memory) 5, communication interface
306 can be accessed.
また、マイクロプロセッサ301は、ROM305に記憶され
たマイクロプログラムを実行することにより、各種の制
御を行う。例えば、上位装置1からのコマンドを入力ポ
ート302が受信している時、このコマンドを受信した事
は割り込みによりマイクロプロセッサ301に通知され
る。そしてマイクロプロセッサ301は入力ポート302にア
クセスしてその受付られたコマンドをデコードする。ま
た、上位装置1からのライトデータを入力ポート302が
受信している時、マイクロプロセッサ301はバス304を制
御することにより入力ポート302と通信インタフェース3
06を接続し、上位装置1からのライトデータをドライブ
コントローラ4に転送する。これに対し、ドライブコン
トローラ4からの転送されてくるリードデータは、マイ
クロプロセッサ301が通信インタフェース306と出力ポー
トを接続することにより、上位装置1に転送される。ま
た、リードデータをバッファメモリ5に格納する場合
は、マイクロプロセッサ301が通信インタフェース306と
バッファメモリ5を接続することによりリードデータを
バッファメモリ5に格納する。Further, the microprocessor 301 performs various controls by executing a microprogram stored in the ROM 305. For example, when a command from the host device 1 is received by the input port 302, the reception of this command is notified to the microprocessor 301 by an interrupt. Then, the microprocessor 301 accesses the input port 302 and decodes the received command. Further, when the input port 302 receives write data from the host device 1, the microprocessor 301 controls the bus 304 to communicate with the input port 302 and the communication interface 3.
06 is connected, and write data from the host device 1 is transferred to the drive controller 4. On the other hand, the read data transferred from the drive controller 4 is transferred to the host device 1 by the microprocessor 301 connecting the communication interface 306 and the output port. When storing the read data in the buffer memory 5, the microprocessor 301 connects the communication interface 306 and the buffer memory 5 to store the read data in the buffer memory 5.
一方、ドライブコントローラ4は、インターフェス制
御回路3に接続され、ヘッドアクチュエータのサーボ制
御やシーク制御を行うものであり、その処理はマイクロ
プロセッサ401により行われる。マイクロプロセッサ401
はバス404を制御することによりROM402,RAM410,通信イ
ンタフェース403,サーボ制御回路405,エンコーダ/デコ
ーダ8にアクセスすることができる。On the other hand, the drive controller 4 is connected to the interface control circuit 3 and performs servo control and seek control of the head actuator, and the processing is performed by the microprocessor 401. Microprocessor 401
Can access the ROM 402, the RAM 410, the communication interface 403, the servo control circuit 405, and the encoder / decoder 8 by controlling the bus 404.
ROM402にはマイクロプロセッサ401が実行するマイク
ロプログラムが格納されている。The ROM 402 stores a microprogram executed by the microprocessor 401.
RAM410はデータ処理のためのワーク領域で処理に必要
なフラグやデータを格納するものである。RAM410にはヘ
ッド移動方向を示すフラグ411と、現在シリンダアドレ
ス412と、上位装置1からのリード命令またはライト命
令で指定された目標シリンダアドレスと現在シリンダア
ドレスの差、即ちヘッドの移動量が格納される移動量レ
ジスタ412とシーク制御中に移動した移動量が格納され
るカウンタ413が設けられ、先の第2図で説明した制御
と同様の制御に使用される。The RAM 410 is a work area for data processing and stores flags and data required for processing. The RAM 410 stores a flag 411 indicating a head moving direction, a current cylinder address 412, and a difference between a target cylinder address specified by a read command or a write command from the host device 1 and a current cylinder address, that is, a moving amount of the head. A movement amount register 412 and a counter 413 for storing the movement amount moved during the seek control are provided, and are used for the same control as the control described in FIG.
通信インタフェース403は、インタフェース制御回路
3との間のコマンドやデータ等の通信を行うものであ
る。The communication interface 403 communicates commands and data with the interface control circuit 3.
サーボ制御回路405はマイクロプロセッサ401の制御に
より動作するもので、マイクロプロセッサ401よりのヘ
ッドの移動方向,移動量及び減速開始信号を送る。サー
ボ制御回路405においてはヘッドの移動方向及び移動量
を受取るとそれに対応したヘッドの移動方向にヘッドを
移動させるとともに、移動量に対応した速度になるよう
に予め記憶されたサーボ制御回路405内のROM405′より
移動量に対した速度パラメータを出力する。そしてこの
パラメータに対応した値を目標速度指令として速度指令
レジスタ19にセットする。The servo control circuit 405 operates under the control of the microprocessor 401, and sends a moving direction, a moving amount, and a deceleration start signal of the head from the microprocessor 401. In the servo control circuit 405, when the head movement direction and the movement amount are received, the head is moved in the head movement direction corresponding to the movement direction, and the servo control circuit 405 stored in advance so as to have a speed corresponding to the movement amount is obtained. The speed parameter corresponding to the movement amount is output from the ROM 405 '. Then, a value corresponding to this parameter is set in the speed command register 19 as a target speed command.
エンコーダ/デコーダ回路8は、ディスク7にデータ
を記録するためのものであり、例えばMFMや1−7エン
コード/デコード回路より構成される。The encoder / decoder circuit 8 is for recording data on the disk 7, and is composed of, for example, an MFM or 1-7 encoding / decoding circuit.
一方、サーボヘッドの出力は、第5図に示すように、
ポジションセンス回路10に入力される。ポジションセン
ス回路10はサーボヘッドの読み出し信号を位置信号に変
換し、二相ポジション信号POSN,POSQをポジション信号
スライス回路11に出力する。On the other hand, the output of the servo head is as shown in FIG.
It is input to the position sense circuit 10. The position sensing circuit 10 converts the read signal of the servo head into a position signal, and outputs two-phase position signals POSN and POSQ to the position signal slice circuit 11.
ポジション信号スライス回路11は、POSN,POSQの各信
号により、N+Q>0、N>Qの各信号を作成して、ポ
ジションデコーダ回路12に、OFTRK(オフトラック)信
号を作成してトラッククロッシングパルス作成回路13
に、それぞれ出力する。The position signal slicing circuit 11 generates N + Q> 0 and N> Q from the signals POSN and POSQ, and generates an OFTRK (off-track) signal to the position decoder circuit 12 to generate a track crossing pulse. Circuit 13
Respectively.
ポジションデコーダ回路12は、N>Q、N+Q>0の
各信号により現在位置しているシリンダアドレスの下位
2ビットPAR2およびPAR1の各信号を作成する。また、速
度信号および位置信号の直線領域を示すファインポジシ
ョン信号を作成するための公知の制御信号であるSNN(S
elect N Non−invert),SQN(Slect Q Non−invert),S
NI(Select N invert)、およびSQI(Select N inver
t)の各信号を作成する。トラッククロッシングパルス
作成回路13はPAR2,PAR1の各信号およびOFTRK信号により
シリンダ間の中心で発生する5[μs]パルス幅のトラ
ッククロッシングパルスTXPLを作成する。The position decoder circuit 12 generates signals of the lower two bits PAR2 and PAR1 of the currently located cylinder address based on the signals of N> Q and N + Q> 0. Also, SNN (SNN) which is a known control signal for creating a fine position signal indicating a linear region of the speed signal and the position signal.
elect N Non-invert), SQN (Slect Q Non-invert), S
NI (Select N invert) and SQI (Select N inver)
Create each signal in t). The track crossing pulse generating circuit 13 generates a track crossing pulse TXPL having a pulse width of 5 [μs] generated at the center between cylinders based on the signals PAR2 and PAR1 and the OFTRK signal.
これらの各信号の波形を第6図に示す。 The waveforms of these signals are shown in FIG.
TXPL信号は、マイクロプロセッサ401にも通知され、
先の第2図で説明したシーク制御を行なうために、TXPL
によって、RAM移動量レジスタ413の値をこのTXPLが到来
する毎に減算(−1)するとともに移動量カウンタ414
を加算(+1)する。そして減算し得られた値をマイク
ロプロセッサ401は、サーボ制御回路405に与えて先に説
明したと同時にROM405′より新たに作成した目標速度を
第5図に示す速度指令レジスタ19に出力する。The TXPL signal is also notified to the microprocessor 401,
In order to perform the seek control described in FIG.
Accordingly, the value of the RAM movement amount register 413 is subtracted (−1) each time the TXPL arrives, and the movement amount counter 414 is subtracted.
Is added (+1). Then, the microprocessor 401 supplies the value obtained by the subtraction to the servo control circuit 405 and outputs the newly created target speed from the ROM 405 'to the speed command register 19 shown in FIG.
そしてこのような制御を繰り返して先の第2図で説明
したヘッドの現在位置が、減速すべき位置となった時に
マイクロプロセッサ410は減速指令をサーボ制御回路40
5′に出す。サーボ制御回路405においてはROM405′から
の読出しデータに代えて減速のために目標速度が零とな
るように速度指令レジスタ19に目標速度零をセットし、
サーボ系は減速に入る。By repeating such control, when the current position of the head described in FIG. 2 becomes a position to be decelerated, the microprocessor 410 issues a deceleration command to the servo control circuit 40.
Put out 5 '. In the servo control circuit 405, the target speed is set to zero in the speed command register 19 so that the target speed becomes zero for deceleration instead of the read data from the ROM 405 ',
The servo system starts deceleration.
そして、さらにマイクロプロセッサ401はTXPL信号に
より移動量レジスタ413を減算して行き、その値が零と
なった所で移動量完了した事を上位装置1に通知すべく
通信インタフェースえ403,306、マイクロプロセッサ30
1、出力ポート303を介してシーク完了を通知する。Further, the microprocessor 401 further subtracts the movement amount register 413 by the TXPL signal, and when the value becomes zero, the communication interface 403, 306 and the microprocessor 30 notify the host device 1 that the movement amount is completed.
1. Notify the seek completion via the output port 303.
そして、マイクロプロセッサ401は、現在シリンダ412
にシーク完了後の値、即ち移動量カウンタ414の値を加
算して新しい現在シリンダとしてセットしシーク動作を
終了する。And, the microprocessor 401 has the current cylinder 412
Is added to the value after the seek is completed, that is, the value of the movement amount counter 414, and is set as a new current cylinder, and the seek operation is completed.
さらにサーボ機構を第5図により説明すると、TXPL信
号は実速度作成回路14に入力され、トラッククロスパル
ス(TXPL信号)の間隙よりヘッド6の実速度が求められ
る。ドライブコントローラ4からは上述したようなROM4
05′から得られる目標速度指令が速度指令レジスタ19入
力され。この目標速度指令は、ROM405′のデータにより
決定されるが上位装置1からのコマンドを受け付け可能
な速度にヘッド6の移動速度を上限Vnを設定するもので
ある。すなわち、シーク中に上位装置1からのコマンド
をいつでも受け付けられるように、従来のヘッドの移動
速度の上限Vnよりも速度が遅い上限Vnを設定する。ヘッ
ド6の移動速度が低下するとTXPL信号の到来間隔が拡が
ってその結果、マイクロプロセッサに余裕が出来るた
め、割込み処理が受付け可能となり確実にシークの停止
をいつでも行うことができる。Further explaining the servo mechanism with reference to FIG. 5, the TXPL signal is input to the actual speed generating circuit 14, and the actual speed of the head 6 is obtained from the gap between the track cross pulses (TXPL signal). From the drive controller 4, ROM4 as described above
The target speed command obtained from 05 'is input to the speed command register 19. The target speed command is one is determined by the data of the ROM 405 'to set an upper limit V n the moving speed of the head 6 to the speed that can accept a command from the host device 1. That is, as can be accepted at any time commands from the host device 1 during the seek speed than the upper limit V n of the moving speed of the conventional head to set the slow limit V n. When the moving speed of the head 6 is reduced, the arrival interval of the TXPL signal is widened, and as a result, a margin is provided in the microprocessor, so that the interrupt processing can be accepted and the seek can be reliably stopped at any time.
これらの目標速度19と実速度の2つの入力信号により
速度偏差を求めて、PID制御回路20によりPID制御を行な
う。PID制御回路20からの出力信号はD/A変換器15でアナ
ログ信号に変換され、アナログ信号はパワーアンプ16で
増幅された後に、ボイスコイルモータ17に入力する。増
幅された電流指令値によりボイスコイルモータ17はアク
チュエータ18を駆動し、アクチュエータ18はヘッド6の
移動を行なう。A speed deviation is obtained from the two input signals of the target speed 19 and the actual speed, and the PID control circuit 20 performs PID control. The output signal from the PID control circuit 20 is converted into an analog signal by the D / A converter 15, and the analog signal is amplified by the power amplifier 16 and then input to the voice coil motor 17. The voice coil motor 17 drives the actuator 18 based on the amplified current command value, and the actuator 18 moves the head 6.
尚、第4図のインタフェース制御回路3は上位装置か
らのコマンドをデコードし、シーク命令であった場合に
はそのままドライブコントローラ4のマイクロプロセッ
サ401に通信インタフェース306,403を介してシークを指
示する。また、インタフェース制御回路3はデータの記
録フォーマットの変更や、データの書き込み,読み出し
の指示、更には上位装置へのデータ転送のための信号処
理(レベル変換や転送のプロトコル処理)を行う。また
ドライブコントロール4は図示しない磁気ディスク7の
回転制御(回転のON/OFFをサーボ制御)や上述したヘッ
ド6の移動制御を行う。また、ドライブコントロール4
はインタフェース制御回路3に読み込み/書き込みのタ
イミングを知らせたり、上記制御中に発生した異常をイ
ンタフェース制御回路3に知らせる。The interface control circuit 3 shown in FIG. 4 decodes a command from a higher-level device, and if the command is a seek command, instructs the microprocessor 401 of the drive controller 4 to seek through the communication interfaces 306 and 403 as it is. The interface control circuit 3 changes the recording format of data, instructs writing and reading of data, and performs signal processing (level conversion and transfer protocol processing) for data transfer to a higher-level device. The drive control 4 controls the rotation of the magnetic disk 7 (servo control of ON / OFF of rotation) and the movement control of the head 6 described above. Drive control 4
Informs the interface control circuit 3 of the read / write timing and informs the interface control circuit 3 of an abnormality that has occurred during the above control.
次に第1図を参照して第1の実施例の動作を説明す
る。第1図は前述した従来のシーク開始からシーク終了
までの動作(F)とともに、第1の実施例の動作を示し
ている。Next, the operation of the first embodiment will be described with reference to FIG. FIG. 1 shows the operation of the first embodiment together with the above-described conventional operation (F) from the start of seek to the end of seek.
第1図において、Vnはドライブコントローラ4が割り
込み処理を行なうことができるヘッド6の移動速度Vの
限界を示しており、シーク開始から終了まで上位装置1
からコマンドを受け付けることができる限界速度Vnにヘ
ッド6の移動速度Vの上限Vnを設定し、確実にシークの
停止をいつでも行なうことができるようにしている。In FIG. 1, V n indicates the limit of the moving speed V of the head 6 which can drive controller 4 performs interrupt processing, host device 1 to the end of the seek start
So that it is possible to perform the limit speed V n, which can accept a command to set the upper limit V n of the moving speed V of the head 6, any reliable time to stop seek from.
シークを開始してからVnの移動速度に達するまでは従
来どおり、加速を行なう。そして、Vnの速度に達する前
のVmの速度でコマンドが入った場合にはAで示すよう
に、ヘッド6を停止する。なお、従来の方式でヘッド6
の停止制御を行なったときとの時間差をBで示す。From the start of the seek operation until the moving velocity of V n are as expected conventionally, the accelerating. When containing the command speed before the V m to reach the speed of V n, as shown by A, and stops the head 6. It should be noted that the head 6 in the conventional method
The time difference from when the stop control is performed is indicated by B.
次に、Vnの速度に達したときは、Vnの一定速度でヘッ
ド6を移動させる。このVnの等速度運動期間中のある時
点でコマンドが入ったときは、Cで示すように、ヘッド
6を停止させる。なお、従来の方式でヘッド6の停止制
御を行なったときとの時間差をDで示す。Then, upon reaching a speed of V n moves the head 6 at a constant rate of V n. When entering a command at some point during the uniform motion period of V n, as shown in C, and stops the head 6. It should be noted that a time difference from the time when the stop control of the head 6 is performed by the conventional method is indicated by D.
シーク開始からシーク終了までのコマンドが入らなか
ったときの状態は、Eで示され、従来の限界速度V0より
遅い限界速度Vnでヘッド6を移動するようにしているの
で、シーク開始から終了までの時間は従来より多少長く
なるが、ヘッド6の移動速度が遅くなるため、トラック
クロッシングパルスの間隙が広くなり、トラッククロッ
シングパルス毎に行うヘッドの速度制御に余裕ができ、
シーク制御の途中でも上位装置1からのコマンドを受け
付けることができる。State when a command from the seek start to seek end did not enter is indicated by E, since conventional and so as to move the head 6 at a slower limit speed V n than the limit speed V 0, ends from the seek start However, since the moving speed of the head 6 is slower, the gap between the track crossing pulses is widened, and the head speed control performed for each track crossing pulse has a margin.
A command from the host device 1 can be received even during seek control.
次に、以上のことをドライブコントローラ4が実行す
るリード/ライト命令を例にとって第7図に基づいて説
明する。Next, the above will be described with reference to FIG. 7 taking a read / write command executed by the drive controller 4 as an example.
第7図において、まず、ステップ111でインタフェー
ス制御回路3を介して送られて来た上位装置1からの命
令がシーク命令であるか否かを判別し、シーク命令であ
るときはステップ112でそのシーク命令がリード命令に
よるものなのか、ライト命令によるものなのかを判別す
る。ステップ112でライト命令によるものと判断される
と、ステップ117で上述の動作と同様なヘッドのシーク
制御を行ないその後データのライトを実行し、ステップ
111に戻る。In FIG. 7, first, at step 111, it is determined whether or not the command sent from the higher-level device 1 via the interface control circuit 3 is a seek command. It is determined whether the seek command is a read command or a write command. If it is determined in step 112 that this is due to the write command, in step 117, the same head seek control as in the above-described operation is performed, and then data writing is performed.
Return to 111.
これに対して、ステップ112でリード命令によるもの
と判断されると、ステップ113でシーク制御およびデー
タのリードを実行する。そしてステップ114で次のシー
ク命令がきたか否かを判別し、シーク命令がこないとき
は、ステップ115でマイクプロセッサ301の制御によりキ
ャッシュメモリ5に空き領域があるか否かを判別し、空
き領域があるときは、ステップ116でリード命令で読出
されたデータに連続する、又は、先読したデータに連続
するデータ(1セクター毎)のシリンダのリード実行す
る。On the other hand, if it is determined in step 112 that the read instruction is issued, seek control and data reading are executed in step 113. Then, in step 114, it is determined whether or not the next seek instruction has come. If there is no seek instruction, in step 115, it is determined whether or not there is a free area in the cache memory 5 under the control of the microprocessor 301. If there is, in step 116, cylinder reading of data (each sector) continuous with the data read by the read command or continuous with the pre-read data is executed.
尚、キャッシュメモリ5の内容のイレーズは、例えば
次に到来するライト命令のタイミングによってイレーズ
される。The contents of the cache memory 5 are erased, for example, at the timing of the next write command.
ステップ114でシーク命令がきたときは、ステップ118
でそのシーク命令がリード命令によるものなのかライト
命令によるものなのかを判断し、リード命令ならステッ
プ133でシークおよびリードを実行し、また、ライト命
令なら、ステップ117でシークおよびライト実行する。
尚、ステップ116においては、先読み制御中に交代セク
ターがあった場合はシーク制御によりヘッドを移動し交
代セクターに位置付けする。If a seek command arrives at step 114, step 118
It is determined whether the seek instruction is a read instruction or a write instruction. If it is a read instruction, seek and read are executed in step 133, and if it is a write instruction, seek and write are executed in step 117.
In step 116, if there is a replacement sector during the pre-reading control, the head is moved by seek control to position the head in the replacement sector.
このように特に先読み制御中にドライブコントローラ
4で割込み処理が行なえる限界速度Vnにヘッド6の移動
速度Vを制定して、シーク中にコマンドが入ってきたと
きはヘッド6の移動を中断して、ただちに到来したコマ
ンドを実行可能としたので、スループットを向上させる
ことができる。また、交代処理されたセクターに対して
も先読み制御が可能になるので一般のシーク動作の終了
後、リードアヘッドキャッシュ動作中にシーク制御を行
うことが出来、したがって、この場合もスループットを
向上させることができる。Thus enacted the moving velocity V of the head 6 to the interrupt processing can be performed limits the speed V n in particular the drive controller 4 in prefetch control, when entering commands during a seek interrupts the movement of the head 6 Thus, the command that has arrived immediately can be executed, so that the throughput can be improved. In addition, since read-ahead control can be performed on a sector that has been subjected to replacement processing, seek control can be performed during a read-ahead cache operation after the end of a general seek operation, and therefore, in this case, throughput can be improved. Can be.
以上説明した本発明の第1の実施例では、確実にシー
クの停止を行うことかできる速度でヘッド6を移動さ
せ、シーク中にコマンドが発生した時点でヘッド6をた
だちに停止させることが出来る。そして、このコマンド
を処理する。In the first embodiment of the present invention described above, it is possible to move the head 6 at a speed that can surely stop the seek, and immediately stop the head 6 when a command occurs during the seek. Then, this command is processed.
これに対し、シーク中に発生したコマンドが目標シリ
ンダの変更を指示しており、目標シリンダの変更だけ
で、ヘッド6を直ちに停止させることなく、目標シリン
ダの変更を可能とする第8図の制御を行うこともでき
る。On the other hand, the command generated during the seek instructs the change of the target cylinder, and the control of FIG. 8 enables the change of the target cylinder only by changing the target cylinder without immediately stopping the head 6. Can also be performed.
第8図の制御は第4図に示すドライブコントロール4
が行う。第7図のステップ116でシーク中である場合に
割込みが発生した場合に第8図の処理を開始する。ステ
ップ121で、発生したコマンドが目標シリンダの変更を
指示しているかどうかを判断する。即ちシーク制御中で
目標としているシリンダと到来しているコマンドが指示
している目標シリンダが一致しているかを判断する。一
致しないときは、直にヘッド6を停止させるかシークの
終了後コマンドに従った処理を行う。一方、ステップ12
1でコマンドが目標シリンダを変更しなければならない
と判断されたときには、ステップ122でシーク方向が現
行シークの方向と同一方向で良いかどうかをヘッド移動
方向レジスタ411と到来したコマンドの目標シリンダよ
り判断する。ステップ122の判断結果シーク方向と一致
しないときはステップ125でヘッド6の移動を直ちに停
止させる。この停止動作は、第4図において移動量シリ
ンダ413の値を零とするとともに減速開始をサーボ制御
回路405に送出する。そしてヘッドが停止するまでに得
られたトラッククロスパルスをカウントして移動量カウ
ンタ413によりヘッドが停止したシリンダを認識して現
在シリンダ412を更新する。そして、新しい目標シリン
ダを再設定し、シークを新たに開始する。これに対し、
ステップ122の判断結果がシーク方向と同一のときは、
ステップ123で新しい目標シリンダへのシークはまだ間
に合うかどうかを判断する。即ち、新しい目標シリンダ
をヘッドが通過していないかを、現在シリンダ412と移
動量カウンタ414とより判断する。ステップ123の判断結
果がすでに通過していたときは、ステップ125に進み、
先と同様にただちに停止動作に入る。これに対し、ステ
ップ123の判断結果が通過していないと判断されたとき
は、ステップ124で新しい目標シリンダを設定する。即
ち、移動量シリンダレジスタ413の値を変更する事によ
って新しい目標シリンダを設定する。そして、シークを
続行する。尚、ステップ123では、さらに現時点から減
速を開始して新しい目標シリンダ上でヘッド6を停止で
きるかどうかが考慮され、若し停止出来ないという事に
なるとステップ123に進む。The control shown in FIG. 8 corresponds to the drive control 4 shown in FIG.
Do. If an interrupt occurs during a seek operation in step 116 of FIG. 7, the processing of FIG. 8 is started. At step 121, it is determined whether or not the generated command indicates a change of the target cylinder. That is, it is determined whether the target cylinder during the seek control matches the target cylinder indicated by the arriving command. If they do not match, the head 6 is stopped immediately or processing according to the command is performed after the end of the seek. Meanwhile, step 12
If it is determined in step 1 that the command needs to change the target cylinder, it is determined in step 122 whether the seek direction is the same as the current seek direction from the head movement direction register 411 and the target cylinder of the arriving command. I do. If the result of the determination in step 122 is not coincident with the seek direction, the movement of the head 6 is immediately stopped in step 125. This stop operation sets the value of the displacement cylinder 413 to zero in FIG. 4 and sends a start of deceleration to the servo control circuit 405. Then, a track cross pulse obtained until the head stops is counted, and the cylinder in which the head has stopped is recognized by the movement amount counter 413, and the current cylinder 412 is updated. Then, a new target cylinder is reset, and a seek is newly started. In contrast,
If the result of the determination in step 122 is the same as the seek direction,
In step 123, it is determined whether a seek to the new target cylinder is still in time. That is, it is determined from the current cylinder 412 and the movement amount counter 414 whether the head has passed the new target cylinder. If the result of the determination in step 123 has already passed, proceed to step 125,
The stop operation starts immediately as before. On the other hand, when it is determined that the determination result in step 123 has not passed, a new target cylinder is set in step 124. That is, a new target cylinder is set by changing the value of the displacement cylinder register 413. Then, the seek is continued. In step 123, it is further considered whether or not the head 6 can be stopped on the new target cylinder by starting the deceleration from the present time, and if it cannot be stopped, the process proceeds to step 123.
次に、本発明の第2の実施例を第9図を参照して説明
する。Next, a second embodiment of the present invention will be described with reference to FIG.
第9図は第4図に示すドライブコントロール4に代え
て用いるドライブコントローラ4Aの構成を示す。FIG. 9 shows a configuration of a drive controller 4A used in place of the drive control 4 shown in FIG.
ドライブコントローラ4Aは、シーク制御を行うメイン
マイクロプロセッサ(MPU)451,サブマイクロプロセッ
サ(MPU)452,メインマイクロプロセッサ451のための動
作プログラムが格納されたROM453,サブマイクロプロセ
ッサ452のための動作プログラムが格納されたROM456,メ
インマイクロプロセッサ451及びサブマイクロプロセッ
サ452の両方からアクセスされるRAM460とバス457と、エ
ンコーダ/デコーダ回路455と、サーボ制御回路454とか
ら構成されている。The drive controller 4A includes a main microprocessor (MPU) 451 for performing seek control, a sub-microprocessor (MPU) 452, a ROM 453 storing an operation program for the main microprocessor 451, and an operation program for the sub-microprocessor 452. It comprises a stored ROM 456, a RAM 460 and a bus 457 which are accessed from both the main microprocessor 451 and the sub-microprocessor 452, an encoder / decoder circuit 455, and a servo control circuit 454.
RAM460に先の第1の実施例と同時にシーク制御用の各
種レジスタが設けられており、さらに第2の実施例では
シーク中断フラグ464が新たに設けられている。このRAM
460はメインプロセッサ451及びサブマイクロプロセッサ
452の両方より共通にアクセスが可能となっている。Various registers for seek control are provided in the RAM 460 at the same time as the first embodiment, and a seek interrupt flag 464 is newly provided in the second embodiment. This RAM
460 is main processor 451 and sub microprocessor
Both 452 have common access.
尚、第2の実施例において通信インターフェース458
は第4図の通信インターフェース403に対応し、サーボ
制御回路454及びROM454′は、第4図のサーボ制御回路4
05及びROM405′に対応し、エンコーダ/デコーダ回路45
5は第2図のエンコーダ/デコーダ回路8に対応し、動
作は全く同一であるので説明は省略する。Incidentally, in the second embodiment, the communication interface 458 is used.
4 corresponds to the communication interface 403 in FIG. 4, and the servo control circuit 454 and the ROM 454 'correspond to the servo control circuit 4 in FIG.
05 and ROM 405 ', encoder / decoder circuit 45
Reference numeral 5 corresponds to the encoder / decoder circuit 8 in FIG. 2 and the operation is completely the same, so that the description is omitted.
次に第10図を使用して第9図に示す第2実施例を説明
する。Next, a second embodiment shown in FIG. 9 will be described with reference to FIG.
第10図の実施例は第7図のステップ116中で行われる
シーク制御中に行われるステップである。The embodiment of FIG. 10 is a step performed during seek control performed in step 116 of FIG.
サブマイクロプロセッサ452は通常は動作せず、メイ
ンのマイクロプロセッサ451が第7図ステップ116中のヘ
ッドのシーク制御中である事を検出する事により動作を
開始する。The sub-microprocessor 452 does not normally operate, and starts operating when the main microprocessor 451 detects that the head seek control is being performed in step 116 in FIG.
即ち、ステップ201においてサブマイクロプロセッサ4
52はメインのマイクロプロセッサ451が先読み制御中の
シーク制御中であるかを監視している。そしてメインの
マイクロプロセッサ451がシーク制御を開始すると次の
ステップに進み、動作を開始する。That is, in step 201, the sub microprocessor 4
52 monitors whether the main microprocessor 451 is performing seek control during prefetch control. Then, when the main microprocessor 451 starts seek control, it proceeds to the next step and starts operation.
ステップ202において、サブマイクロプロセッサ452は
メインマイクロプロセッサ451がシーク制御中にはメイ
ンのマイクロプロセッサ451に代って上位装置1からの
シーク命令の受信を監視する。そしてシーク命令が受信
されると次に進む。In step 202, the sub microprocessor 452 monitors for a seek command from the host device 1 instead of the main microprocessor 451 while the main microprocessor 451 is performing seek control. When the seek command is received, the process proceeds to the next step.
サブマイクロプロセッサ452はステップ203において、
シーク命令を解読してシーク命令で指定された新しい目
標シリンダを認識するとともに、サブマイクロプロセッ
サ452はRAM460のヘッド移動方向レジスタ461,現在シリ
ンダ462,移動量シリンダ463及び移動量カウンタ465を読
込み、メインマイクロプロセッサ451で実行中のヘッド
シーク制御により移動している方向が、新しい目標シリ
ンダへの移動方向と一致するかを判定する。The sub-microprocessor 452 determines in step 203
The sub-microprocessor 452 reads the head movement direction register 461 of the RAM 460, the current cylinder 462, the movement cylinder 463, and the movement counter 465 while decoding the seek instruction and recognizing the new target cylinder specified by the seek instruction. It is determined whether the direction in which the microprocessor 451 is moving by the head seek control being executed matches the direction in which the microprocessor 451 moves to the new target cylinder.
即ち、サブプロセッサ452においてはRAM460の各レジ
スタの読込みを行なう事により現在のヘッド位置が判明
する。これは現在シリンダ462と移動量カウンタ465の値
をヘッド移動方向461に基づいて加減算する事により知
る事が出来る。従って、これに基づいて新しい目標シリ
ンダが現在位置と現在のヘッド移動方向とより同一の方
向であるかを判断する。That is, the sub-processor 452 reads the registers of the RAM 460 to determine the current head position. This can be known by adding or subtracting the values of the current cylinder 462 and the movement amount counter 465 based on the head movement direction 461. Therefore, based on this, it is determined whether the new target cylinder is in the same direction as the current position and the current head moving direction.
この結果、目標トラックのシーク方向が現行と異なる
場合には、ステップ206に進み、メインマイクロプロセ
ッサ451へシーク中止の割込みを行なう。As a result, if the seek direction of the target track is different from the current one, the process proceeds to step 206, where the main microprocessor 451 is interrupted to stop seeking.
この割込みはRAM460シーク中断フラグ464をセットす
ることにより行なう。メインのマイクロプロセッサ451
はこの割込みの受付はこのシークで中断フラグ464の読
込みだけで行なう事が出来るので、高速にヘッドを移動
させても、十分この中断フラグ464の読込みが可能であ
る。This interrupt is performed by setting the RAM460 seek interrupt flag 464. Main microprocessor 451
Since the interruption can be performed only by reading the interruption flag 464 in this seek, even if the head is moved at high speed, the interruption flag 464 can be sufficiently read.
メインマイクロプロセッサ451においては、移動量シ
リンダ463の更新等に同期して、シーク中断フラグを読
込み、若しこのフラグが“1"である場合にはただちに減
速指示をサーボ制御回路454に出力し移動量シリンダ463
の値を零とする。The main microprocessor 451 reads the seek interruption flag in synchronization with the update of the movement amount cylinder 463, etc., and if this flag is “1”, immediately outputs a deceleration instruction to the servo control circuit 454 to move. Quantity cylinder 463
Is set to zero.
このようにメインマイクロプロセッサ451は第1実施
例のような単一のマイクロプロセッサでの動作のよう
に、新しいシークコマンドの受信及びそのコマンドの解
読及びステップ202,203、後述するステップ204,205の動
作を省略し、この仕事をサブプロセッサ452に分担させ
るようにしたので、ヘッドの移動速度を従来のように高
速で移動してもシーク動作中に割込みの受付けが可能と
なる。As described above, the main microprocessor 451 omits the reception of a new seek command and the decoding of the command and the operations of steps 202 and 203, and the operations of steps 204 and 205 described later, as in the operation of the single microprocessor as in the first embodiment. Since this work is assigned to the sub-processor 452, an interrupt can be accepted during a seek operation even if the head moves at a high speed as in the prior art.
メインマイクロプロセッサ451は、このようにヘッド
のシークを停止したあとその旨サブプロセッサ452に通
知し、サブプロセッサ452はそれに対応してステップ207
において先に受付けたシーク命令を転送する。After stopping the seek of the head in this way, the main microprocessor 451 notifies the sub-processor 452 to that effect, and the sub-processor 452 responds accordingly to the step 207.
Transfers the previously accepted seek instruction.
一方、ステップ203において、新しいシーク命令が現
在のシーク方向と同一であると判断された場合にはステ
ップ204に進み、新しい目標シリンダへのシーク変動が
可能かを判断する。On the other hand, if it is determined in step 203 that the new seek command is the same as the current seek direction, the process proceeds to step 204, where it is determined whether a seek change to a new target cylinder is possible.
この判断はサブプロセッサ452が行なう他は第8図の
ステップ123と同一である。そして若しまだ変更が可能
となるとステップ205に新しい目標シリンダに対する移
動量をサブプロセッサ452がRAM460の移動量レジスタ463
にセットする。This determination is the same as step 123 in FIG. 8, except that the sub-processor 452 makes this determination. If the change is still possible, in step 205, the sub-processor 452 stores the movement amount for the new target cylinder in the movement amount register 463 of the RAM 460.
Set to.
一方、すでに新しい目標シリンダをヘッドが通過して
いる、若しくは減速しても新しい目標シリンダを行き過
ぎる場合にはステップ206に進む。On the other hand, if the head has already passed the new target cylinder, or the head has passed the new target cylinder even after deceleration, the routine proceeds to step 206.
以上のように第2の実施例においてはヘッド6の移動
速度の上限を従来に比較して低下させない、若しくはわ
ずか低下するのみでもヘッドのシーク制御を中断させる
事が可能である。As described above, in the second embodiment, the seek control of the head can be interrupted even if the upper limit of the moving speed of the head 6 is not decreased as compared with the related art, or is decreased only slightly.
以上説明してきたように、本発明によれば、シーク中
にコマンドが入ってきたとき、いつでもヘッドの移動を
停止してコマンドを実行することができ、スループット
が向上する。As described above, according to the present invention, when a command enters during a seek, the movement of the head can be stopped and the command can be executed at any time, and the throughput is improved.
産業上の利用可能性 本発明は高いスループットの磁気ディスク装置や光磁
気ディスク装置を構成できる。特に本発明はこれらのハ
ードディスク装置の高速化を図るためにキャッシュメモ
リなどの半導体メモリに予め連続した領域を先読みする
方式に有効である。すなわち、先読み動作の中断や新た
なシーク開始に必要な時間を短縮することができる。INDUSTRIAL APPLICABILITY The present invention can constitute a high-throughput magnetic disk device or a magneto-optical disk device. In particular, the present invention is effective in a method of pre-reading a continuous area in a semiconductor memory such as a cache memory in order to increase the speed of these hard disk devices. That is, it is possible to reduce the time required for interrupting the prefetch operation and starting a new seek.
フロントページの続き (72)発明者 森吉 修平 神奈川県横浜市緑区柿の木台30―4 小 川ハイツ103 (56)参考文献 特開 昭57−105061(JP,A)Continuation of the front page (72) Inventor Shuhei Moriyoshi 30-4 Kakinotaidai, Midori-ku, Yokohama-shi, Kanagawa 103 Ogawa Heights 103 (56) References JP-A-57-105061 (JP, A)
Claims (11)
るデータを外部装置に転送すると共に、外部装置からの
指示を受けずに該データに連続しているデータをディス
ク制御装置内のメモリに先読み動作する際に、プロセッ
サの制御により記録媒体上の外部装置から要求されたデ
ータが存在する第1の位置から先読み対象のデータが存
在する遠隔の第2の位置へヘッドを移動させるシーク動
作を行うステップ(a)と; ステップ(a)の実行中に前記プロセッサが外部装置か
らのコマンドを受け付けることができるヘッドの限界速
度を設定するステップ(b)と; ステップ(a)の実行中に前記プロセッサが外部装置か
らコマンドを受け付けたか否かを検出するステップ
(c)と; ステップ(c)で該コマンドが前記プロセッサに受け付
けられたことを検出したときに、第1の位置から第2の
位置へヘッドを移動させるシーク動作を停止させるステ
ップ(d)とを; 有するディスク装置のシーク制御方法。An external device transfers data in response to a data read request to an external device, and prefetches data following the data to a memory in a disk control device without receiving an instruction from the external device. A step of performing a seek operation to move the head from a first position where data requested by an external device on the recording medium is present to a remote second position where data to be prefetched is present under the control of the processor ( a) setting a limit speed of a head at which the processor can receive a command from an external device during the execution of the step (a); and (C) detecting whether a command has been received from the device; and (c) receiving the command in the processor. And that when it detects a that is, the step (d) to stop the seek operation to move the head from the first position to the second position; seek control method for a disk apparatus having.
(a)の実行中に第2のプロセッサが外部装置からのコ
マンドを受け付けたか否かを検出するステップ(e)を
有し、 前記ステップ(d)は、ステップ(e)で該コマンドが
前記第2のプロセッサに受け付けられたことを検出した
ときに、第1の位置から第2の位置へヘッドを移動させ
るシーク動作を停止させるステップ(f)を有するディ
スク装置のシーク制御方法。2. The seek control method according to claim 1, wherein the steps (b) and (c) determine whether the second processor has received a command from an external device during the execution of the step (a). (E) detecting whether the command has been received by the second processor in step (e). A seek control method for a disk drive, comprising: a step (f) of stopping a seek operation for moving the head to the position of (b).
あって、 前記外部装置からのコマンドは前記ヘッドを第3の位置
に移動させるシーク動作を指示し; 前記ステップ(d)又はステップ(f)は、ステップ
(a)で第2の位置へ前記ヘッドを移動させる第1の方
向とヘッドの現在の位置から第3の位置へヘッドを移動
させる第2の方向とが同一か否かを判断するステップ
と; 該ステップで第1の方向と第2の方向とが異なると判断
されたときには前記ヘッドを直ちに前記記録媒体上で停
止させるステップを有するディスク装置のシーク制御方
法。3. The seek control method according to claim 1, wherein the command from the external device instructs a seek operation for moving the head to a third position; (F) determining whether the first direction of moving the head to the second position in step (a) is the same as the second direction of moving the head from the current position of the head to the third position; And a step of immediately stopping the head on the recording medium when it is determined in the step that the first direction is different from the second direction.
に: 第1の方向と第2の方向とが同一であると判断された場
合に現在のヘッドの位置から第3の位置へ移動させて第
3の位置で前記ヘッドを停止させることができるか否か
を判断するステップと; 該ステップで前記ヘッドを第3の位置で停止させること
ができないと判断されたときに前記ヘッドを前記記録媒
体上で直ちに停止させるステップを有するディスク装置
のシーク制御方法。4. The seek control method according to claim 3, further comprising: moving from the current head position to a third position when it is determined that the first direction and the second direction are the same. Determining whether or not the head can be stopped at the third position; and determining that the head cannot be stopped at the third position, A seek control method for a disk device, comprising a step of immediately stopping on a recording medium.
に、前記ヘッドを第3の位置で停止させることができる
と判断された場合、前記コマンドを実行して前記ヘッド
を第3の位置へ移動させるステップを有するディスク装
置のシーク制御方法。5. The seek control method according to claim 4, further comprising, when it is determined that the head can be stopped at the third position, executing the command to move the head to the third position. A seek control method for a disk device, comprising the step of:
るデータを外部装置に転送すると共に、外部装置からの
指示を受けずに該データに連続しているデータをディス
ク制御装置内のメモリに先読み動作する際に、プロセッ
サの制御により記録媒体上の外部装置から要求されたデ
ータが存在する第1の位置から先読み対象のデータが存
在する遠隔の第2の位置へヘッドを移動させるシーク動
作を行う第1の手段と; 該シーク動作の実行中に前記プロセッサが外部装置から
のコマンドを受け付けることができるヘッドの限界速度
を設定する第2の手段と; 前記シーク動作の実行中に前記プロセッサが外部装置か
らコマンドを受け付けたか否かを検出する第3の手段
と; 第3の手段は該コマンドが前記プロセッサに受け付けら
れたことを検出したときに、第1の位置から第2の位置
へヘッドを移動させるシーク動作を停止させる第4の手
段とを有するディスク装置のシーク制御装置。6. A data read request from an external device is transferred to the external device, and data continuous with the data is prefetched to a memory in the disk control device without receiving an instruction from the external device. At this time, a first seek operation for moving the head from the first position where the data requested by the external device on the recording medium exists to the remote second position where the data to be prefetched exists exists under the control of the processor. Means for setting a limit speed of a head at which the processor can receive a command from an external device during the execution of the seek operation; and Third means for detecting whether or not a command has been received; and third means for detecting that the command has been received by the processor. When the seek control of a disk device and a fourth means for stopping a seek operation to move the head from the first position to the second position.
行中に外部装置からのコマンドを受け付けたか否かを検
出する第2のプロセッサを有する第5の手段を備え、 前記第3の手段は該コマンドが前記第2のプロセッサに
受け付けられたことを検出したときに、第1の位置から
第2の位置へヘッドを移動させるシーク動作を停止させ
る第6の手段を備えるディスク装置のシーク制御装置。7. The seek control device according to claim 6, wherein said second means and said third means detect whether a command from an external device has been received during execution of said seek operation. Fifth means having a processor, wherein the third means moves the head from the first position to the second position when detecting that the command has been received by the second processor. A seek control device for a disk drive, comprising: a sixth means for stopping a seek operation.
あって、 前記外部装置からのコマンドは前記ヘッドを第3の位置
に移動させるシーク動作を指示し; 前記第4の手段又は前記第6の手段は、第2の位置へ前
記ヘッドを移動させる第1の方向とヘッドの現在の位置
から第3の位置へヘッドを移動させる第2の方向とが同
一か否かを判断する手段と; 該手段で第1の方向と第2の方向とが異なると判断され
たときには前記ヘッドを直ちに前記記録媒体上で停止さ
せる手段を有するディスク装置をシーク制御装置。8. The seek control device according to claim 6, wherein a command from the external device instructs a seek operation for moving the head to a third position; The sixth means is means for determining whether the first direction of moving the head to the second position is the same as the second direction of moving the head from the current position of the head to the third position. A seek control device for a disk device having means for immediately stopping the head on the recording medium when the means determines that the first direction is different from the second direction.
に: 第1の方向と第2の方向とが同一であると判断された場
合に現在のヘッドの位置から第3の位置へ移動させて第
3の位置で前記ヘッドを停止させることができるか否か
を判断する手段と; 該手段で前記ヘッドを第3の位置で停止させることがで
きないと判断されたときに前記ヘッドを前記記録媒体上
で直ちに停止させる手段を有するディスク装置のシーク
制御装置。9. The seek control device according to claim 8, further comprising: moving from the current head position to a third position when it is determined that the first direction and the second direction are the same. Means for determining whether or not the head can be stopped at the third position; and determining that the head cannot be stopped at the third position by the means; A seek control device for a disk device having means for immediately stopping on a recording medium.
に、前記ヘッドを第3の位置で停止させることができる
と判断された場合、前記コマンドを実行して前記ヘッド
を第3の位置へ移動させる手段を有するディスク装置の
シーク制御装置。10. The seek control device according to claim 9, further comprising, when it is determined that the head can be stopped at the third position, executing the command to move the head to the third position. A seek control device for a disk drive having means for moving to a disk drive.
ロセッサが第1のプロセッサであり、第3の手段は第2
のプロセッサであり、 更にシーク動作に関するデータを記憶するメモリ手段を
有し、前記第2のプロセッサは該メモリ手段中のデータ
を参照して、前記第1の手段によるシーク動作後に第2
のコマンドが実行できるかどうかを判断する手段を有す
るディスク装置のシーク制御装置。11. The seek control device according to claim 6, wherein the processor is a first processor, and the third means is a second processor.
And a memory means for storing data relating to a seek operation, wherein the second processor refers to the data in the memory means and, after a seek operation by the first means,
A seek control device for a disk drive, comprising means for determining whether or not the above command can be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2512657A JP2982910B2 (en) | 1989-09-13 | 1990-09-13 | Disk drive seek control method and apparatus |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1-238085 | 1989-09-13 | ||
JP23808589 | 1989-09-13 | ||
PCT/JP1990/001176 WO1991004557A1 (en) | 1989-09-13 | 1990-09-13 | Method and apparatus for seek control of disk apparatus |
JP2512657A JP2982910B2 (en) | 1989-09-13 | 1990-09-13 | Disk drive seek control method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2982910B2 true JP2982910B2 (en) | 1999-11-29 |
Family
ID=26533524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2512657A Expired - Fee Related JP2982910B2 (en) | 1989-09-13 | 1990-09-13 | Disk drive seek control method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2982910B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57105061A (en) * | 1980-12-22 | 1982-06-30 | Fujitsu Ltd | Advanced seek control system of floppy disk device |
-
1990
- 1990-09-13 JP JP2512657A patent/JP2982910B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57105061A (en) * | 1980-12-22 | 1982-06-30 | Fujitsu Ltd | Advanced seek control system of floppy disk device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0572380B1 (en) | Disk drive servo system using gain limited high-frequency track-following compensator | |
EP0687978A2 (en) | Method and system for computer disk drive buffer management | |
US6310743B1 (en) | Seek acoustics reduction with minimized performance degradation | |
JPH03109635A (en) | Dump system and disk subsystem in on-line mode | |
US6523142B1 (en) | Apparatus and method of performing in a disk drive commands issued from a host system | |
US7808739B2 (en) | Disk drive device and servo control method thereof | |
WO1991004557A1 (en) | Method and apparatus for seek control of disk apparatus | |
JP2982910B2 (en) | Disk drive seek control method and apparatus | |
JP2001006304A (en) | Magnetic disk device | |
JP2845658B2 (en) | Access control device for data recording / reproducing device | |
JPH10171713A (en) | Disk storage device and method for controlling cache applied to the same device | |
JP2914834B2 (en) | Magnetic disk drive | |
JPH04251421A (en) | Method for decreasing number of moving times of head/arm of disk drive in direction of diameter | |
JP2004164144A (en) | Disk unit | |
JP2614015B2 (en) | Disk controller | |
JPH0684283A (en) | Transfer method for magneto-optical disk data | |
JPH064225A (en) | Disk controller for prefetching spare sectors | |
JPH0695808A (en) | Magnetic disk device | |
JPH06103683A (en) | Data read control device for disk storage device | |
JPH0696535A (en) | Device for head-positioning control of magnetic disk apparatus | |
JP2001101075A (en) | Disk storage device | |
JPH1173716A (en) | Disk recording device | |
JPS61144773A (en) | Magnetic disk controller | |
JPH02280221A (en) | System for controlling disk | |
JPH0363977A (en) | Fixed magnetic disk device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |