(57)【特許請求の範囲】
【請求項１】
位置情報を含むサーボ情報であって、当該サーボ情報を識別するための固有のサーボマークを含むサーボ情報が予め同一円周上に等間隔で記録されている記録面を備えた複数枚のディスクと、
前記複数枚のディスクの各記録面に対応して設けられ、対応するディスクを対象とするリード／ライトに用いられるヘッドと、
第１のモードでは、前記ヘッドにより前記ディスクから読み出されるリード情報を監視することで前記リード情報から前記サーボマークを検出する動作をサーボゲートが開かれた時点から開始して、前記サーボマークを検出するとその検出タイミングで決まるタイミングで前記リード情報から前記位置情報を検出し、第２のモードでは、前記ヘッドにより前記ディスクから読み出されるリード情報から前記サーボゲートが開かれた時点で決まるタイミングで前記サーボマーク及び前記位置情報を検出する第１の検出手段と、
前記第１の検出手段により前記サーボマークが連続して検出される際の時間間隔を実サーボ間隔として計測する時間計測手段と、
前記第２のモードにおいて、前記時間計測手段により計測された最新の実サーボ間隔をもとに前記サーボゲートが開閉されるタイミングを決定するサーボゲートタイミング決定手段と、
前記サーボゲートを開閉するサーボゲート生成器であって、前記第２のモードでは前記サーボゲートタイミング決定手段によって決定されたタイミングで前記サーボゲートを開閉するサーボゲート生成器と、
前記サーボゲートのタイミングがずれる条件の成立時、前記第１のモードを設定して、前記サーボゲート生成器をプログラム処理で制御する制御手段と、
前記第１のモードにおいて、前記サーボマークが予め定められた複数回連続して検出されたことを検出する第２の検出手段と、
前記サーボマークが前記複数回連続して検出されたことが検出された場合、前記第１のモードを前記第２のモードに切り替えるモード切り替え手段と、
を具備することを特徴とするディスク記憶装置。
【請求項２】
前記第１の検出手段による前記サーボマークの検出に応じて、その旨を示す特定パルスを出力する特定パルス出力手段を更に具備し、
前記第２の検出手段は、前記特定パルス出力手段から出力される前記特定パルスを監視することで前記サーボマークが前記複数回連続して検出されたことを検出する
ことを特徴とする請求項１記載のディスク記憶装置。
【請求項３】
前記時間計測手段は、前記特定パルスが出力される毎に時間カウントを開始する第１のカウンタを備え、
前記第２の検出手段は、前記第１のモードにおいて前記第１のカウンタのカウント値を監視してサーボマークが検出されなかったサーボマーク抜けを検出する第３の検出手段と、前記第１のモードにおいて前記特定パルスの数をカウントする第２のカウンタであって、前記特定パルスの数のカウント値が予め定められた値となる前に前記第３の検出手段により前記サーボマーク抜けが検出された場合には当該特定パルスの数のカウント値がリセットされ、当該特定パルスの数のカウント値が前記予め定められた値となった場合には前記サーボマークが前記複数回連続して検出されたことを表す第２のカウンタとを備えている
ことを特徴とする請求項２記載のディスク記憶装置。
【請求項４】
位置情報を含むサーボ情報であって、当該サーボ情報を識別するための固有のサーボマークを含むサーボ情報が予め同一円周上に等間隔で記録されている記録面を備えた複数枚のディスクと、前記複数枚のディスクの各記録面に対応して設けられ、対応するディスクを対象とするリード／ライトに用いられるヘッドとを備えたディスク記憶装置において、ヘッド切り替え時における前記サーボ情報の不連続性を補償するためのサーボ情報の位置ずれ補償方法であって、
第１のモードでは、前記ヘッドにより前記ディスクから読み出されるリード情報を監視することで前記リード情報から前記サーボマークを検出する動作をサーボゲートが開かれた時点から開始して、前記サーボマークを検出するとその検出タイミングで決まるタイミングで前記リード情報から前記位置情報を検出するステップと、
第２のモードでは、前記ヘッドにより前記ディスクから読み出されるリード情報から前記サーボゲートが開かれた時点で決まるタイミングで前記サーボマーク及び前記位置情報を検出するステップと、
前記第２のモードにおいて前記サーボマークが連続して検出される際の時間間隔を実サーボ間隔として計測するステップと、
前記第２のモードにおいて計測された最新の実サーボ間隔をもとに前記サーボゲートが開閉されるタイミングを制御するステップと、
前記サーボゲートのタイミングがずれる条件の成立時、前記第１のモードを設定して、前記サーボゲートをプログラム処理で制御するステップと、
前記第１のモードにおいて、前記サーボマークが予め定められた複数回連続して検出されたことを検出するステップと、
前記サーボマークが前記複数回連続して検出されたことが検出された場合、前記第１のモードを前記第２のモードに切り替えるステップと
を具備することを特徴とするサーボ情報の位置ずれ補償方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、予めサーボ情報が記録された複数枚のディスクを備えたディスク記憶装置に係り、特にヘッド切り替え時等におけるサーボ情報の不連続性を補償するのに好適なディスク記憶装置及びサーボ情報の位置ずれ補償方法に関する。
【０００２】
【従来の技術】
記憶メディアにディスクを用いたディスク記憶装置、例えば磁気ディスク装置では、当該ディスクに予め記録されたサーボ情報に基づいてヘッドを目標トラックにシークして当該トラックの目標範囲内に位置決めするのが一般的である。
【０００３】
従来、ディスクへのサーボ情報書き込みは、ヘッド及びディスクを搭載したヘッドディスクアセンブリ（以下、ＨＤＡと称する）への組み立て後に、当該ＨＤＡをサーボトラックライタ（ＳＴＷ）と呼ばれるサーボ書き込み装置にセットして、当該ＨＤＡ自身が有するヘッドを用いて行われていた。しかし、この方法は効率が悪い。
【０００４】
そこで近年のサーボ書き込み装置では、複数の磁気ディスク装置（ＨＤＡ）分のディスクをスタックして、当該各ディスクに対し、各スタック位置毎に対向して設けられたサーボ情報書き込み専用のヘッドによりそれぞれサーボ情報を書き込むようになっている。このサーボ情報書き込み方法（以下、プリサーボ方法と称する）の適用により、各ディスクへのサーボ情報書き込みの効率が向上する。
【０００５】
ところで磁気ディスク装置には、ヘッドによるリード信号に対するＡ／Ｄ（アナログ／ディジタル）変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行するリード／ライト（Ｒ／Ｗ）ＩＣ（Ｒ／Ｗチャネル）が設けられる。このリード／ライトＩＣはサーボ情報の読み取り（検出）機能を有している。サーボ情報には、サーボマーク、サーボセクタアドレス、シリンダアドレス（シリンダコード）、及びバーストデータなどの各データが含まれている。したがって従来は、リード／ライトＩＣでのサーボ情報読み取りのために、当該リード／ライトＩＣに対して種々のタイミング信号を与える必要があった。
【０００６】
そこで最近のリード／ライトＩＣは、集積回路技術の向上に伴う高機能化により、サーボゲートのタイミングが与えられるだけで、当該サーボゲートのタイミングに同期してサーボ情報読み取りに必要な各種タイミングを全て内部で生成できるようになっている。このような、サーボゲートのタイミングのみでリード／ライトＩＣにてサーボ情報読み取りが可能な方式はシンクロナスサーボ方式と呼ばれる。シンクロナスサーボ方式を適用する磁気ディスク装置では、リード／ライトＩＣに与えられるサーボゲートは、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）で構成されたサーボ処理回路にて生成される。
【０００７】
【発明が解決しようとする課題】
上記したように、複数枚のディスクをサーボ書き込み装置にスタックして、各ディスクへのサーボ情報書き込みを行うプリサーボ方法では、当該各ディスクへのサーボ情報書き込みの効率が向上する。しかしながら、このサーボ情報が書き込まれたディスクを複数枚用いてＨＤＡを組み立てて磁気ディスク装置に実装した場合、各ディスク間でサーボ位置がディスクの円周方向及び半径方向に物理的にずれる恐れがある。
【０００８】
一方、シンクロナスサーボ方式を適用する磁気ディスク装置では、サーボゲート立ち上げのタイミングをサーボ位置に同期させる必要がある。ところが、プリサーボ方法の適用により各ディスク間でサーボ位置が物理的にずれている場合には、ヘッドの切り替え時等において、サーボゲートタイミングと実際のサーボ位置との間にずれが生じる。このため従来は、ヘッドの切り替え時等においてサーボゲートタイミングが合わず、シーク時間が延びてしまったり、サーボパルス抜けやサーボ誤検出によりサーボゲートタイミングを間違えてシークパフォーマンスの低下を招くという問題があった。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、ヘッド切り替え時等においてサーボ位置の物理的な位置ずれが発生しても、そのずれを補償でき、ヘッド切り替え時等におけるパフォーマンスの低下を最小限に抑えることができるディスク記憶装置及びサーボ情報の位置ずれ補償方法を提供することにある。
【００１０】
【課題を解決するための手段】
本発明の１つの観点に係るディスク記憶装置は、位置情報を含むサーボ情報であって、当該サーボ情報を識別するための固有のサーボマークを含むサーボ情報が予め同一円周上に等間隔で記録されている記録面を備えた複数枚のディスクと、当該複数枚のディスクの各記録面に対応して設けられ、対応するディスクを対象とするリード／ライトに用いられるヘッドと、第１の検出手段と、時間計測手段と、サーボゲートタイミング決定手段と、サーボゲート生成器と、制御手段と、第２の検出手段と、モード切り替え手段とを具備して構成されることを特徴とする。
【００１１】
上記第１の検出手段は、第１のモードでは、上記ヘッドによりディスクから読み出されるリード情報を監視することで当該リード情報から上記サーボマークを検出する動作をサーボゲートが開かれた時点から開始して、上記サーボマークを検出するとその検出タイミングで決まるタイミングで上記リード情報から上記位置情報を検出し、第２のモードでは、上記ヘッドによりディスクから読み出されるリード情報から上記サーボゲートが開かれた時点で決まるタイミングで上記サーボマーク及び上記位置情報を検出する。上記時間計測時間は、上記第１の検出手段により上記サーボマークが連続して検出される際の時間間隔を実サーボ間隔として計測する。上記サーボゲートタイミング決定手段は、上記第２のモードにおいて、上記時間計測手段により計測された最新の実サーボ間隔をもとに上記サーボゲートが開閉されるタイミングを決定する。上記サーボゲート生成器は、上記サーボゲートを開閉する。特に上記サーボゲート生成器は、上記第２のモードでは、上記サーボゲートタイミング決定手段によって決定されたタイミングで上記サーボゲートを開閉する。上記制御手段は、上記サーボゲートのタイミングがずれる条件の成立時、上記第１のモードを設定して、上記サーボゲート生成器をプログラム処理で制御する。
【００１２】
上記第２の検出手段は、上記第１のモードにおいて、サーボマークが予め定められた複数回連続して検出されたことを検出する。上記モード切り替え手段は、サーボマークが上記複数回連続して検出されたことが上記第２の検出手段により検出された場合、上記第１のモードを上記第２のモードに切り替える。
【００１３】
このような構成のディスク記憶装置においては、ヘッド切り替え時等、サーボゲートのタイミングがずれる恐れのある場合には、第１のモードが設定される。第１のモードでは、リード情報を監視することでリード情報からサーボマークを検出する動作がサーボゲートが開かれた時点から開始され、サーボマークが検出されるとその検出タイミングで決まるタイミングでリード情報から位置情報を検出する動作、即ちシンクロナスサーボ方式を適用せずにサーボマーク及び位置情報を検出する動作が行われる。そして、第１のモードでサーボマークが予め定められた複数回連続して検出されたことが検出された場合、つまりサーボ情報の不連続性が解消された段階では、第２のモードに切り替えられて、シンクロナスサーボ方式でサーボマーク及び位置情報を検出する動作が行われる。この第２のモードでは、計測された最新の実サーボ間隔をもとにサーボゲートが開閉されるタイミングが補正される。
【００１４】
これにより、ヘッド切り替え時等においてサーボ位置の物理的な位置ずれ（特にディスク円周方向の位置ずれ）が発生しても、そのずれを補償することができ、ヘッド切り替え時等におけるパフォーマンスの低下を最小限に抑えることが可能となる。また、第２のモードにおいて、サーボ間隔変動を反映したサーボゲートタイミングに補正できる。
【００１８】
【発明の実施の形態】
以下、本発明を磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。
【００１９】
図１は本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図である。
図１の磁気ディスク装置（以下、ＨＤＤと称する）において、１１ａ，１１ｂはデータが磁気記録される記録媒体としてのディスク（磁気ディスク媒体）である。ディスク１１ｉ（ｉ＝ａ，ｂ）の各記録面側には、当該ディスク１１ｉへのデータ書き込み（データ記録）及び当該ディスク１１ｉからのデータ読み出し（データ再生）に用いられるヘッド（磁気ヘッド）１２がそれぞれ設けられている。ここでは、２枚のディスク１１ａ，１１ｂには、プリサーボ方法により予めサーボ情報が記録されているものとする。なお、ディスクは２枚である必要はなく、複数枚のディスクが積層配置されたＨＤＤであればよい。
【００２０】
各ディスク１１ａ，１１ｂの各記録面には、図２（ａ），（ｂ）に示すように、複数のサーボ領域１１０がディスク中心から放射状に且つディスク円周方向に等間隔で配置されている。サーボ領域１１０には、ヘッド１２のシーク・位置決め制御等に用いられるサーボ情報が記録されている。各ディスク１１ａ，１１ｂの各記録面にはまた、同心円状の多数のトラック１１１が形成されている。サーボ領域１１０の間は、ユーザデータ領域１１２となっており、当該データ領域１１２にはデータセクタが複数個配置されている。
【００２１】
上記したように、ディスク１１ａ，１１ｂには、サーボ情報がプリサーボ方法により記録されている。そのため、ディスク１１ａ，１１ｂ間で、図２（ａ），（ｂ）に示すようにサーボ領域１１０の位置、つまりサーボ位置がディスク円周方向に物理的にずれているものとする。また、ディスク１１ａ，１１ｂ間でヘッド１２のディスク半径方向位置、つまりシリンダ位置及び位置誤差もずれる可能性がある。
【００２２】
サーボ領域１１０は、図２（ｃ）に示すように、プリアンブル領域１１３と、サーボマーク領域１１４と、グレイコード領域１１５と、バースト領域１１６とを有している。プリアンブル領域１１３は、信号の振幅を安定化するのに用いられる一定の周波数の信号が記録されたＡＧＣ（Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌｌ）領域及びイレーズ部を含む。サーボマーク領域１１４には、サーボ領域（に記録されているサーボ情報）識別用の固有のマーク（サーボマーク）が記録されている。ここでは、サーボマークは、“１４ｈ”（末尾のｈは１６進表現であることを示す）である。グレイコード領域１１５には、該当するサーボ領域に固有のアドレス（サーボセクタアドレス）及び該当するトラックのシリンダアドレス（シリンダコード）がグレイコードで記録されている。バースト領域１１６には、グレイコード領域１１５中のシリンダアドレスの示すシリンダ内の位置誤差を波形の振幅で示すための位置誤差信号（Ｐｏｓｉｔｉｏｎａｌ  Ｅｒｒｏｒ  Ｓｉｇｎａｌ）であるバーストデータ（ＰＥＳ情報）が記録されている。つまり、サーボ領域１１０に記録されるサーボ情報は、サーボマークと、サーボセクタアドレスと、位置情報としてのシリンダアドレス及びバーストデータとを含んでいる。
【００２３】
再び図１を参照すると、ディスク１１ｉ（ｉ＝ａ，ｂ）はスピンドルモータ（以下、ＳＰＭと称する）１３により高速に回転する。ヘッド１２はヘッド移動機構としてのアクチュエータ（ロータリ型ヘッドアクチュエータ）１４に取り付けられており、当該アクチュエータ１４の回動（角度回転）に従ってディスク１１ｉの半径方向に移動する。これにより、ヘッド１２は、目標トラック上にシーク・位置決めされるようになっている。アクチュエータ１４は、当該アクチュエータ１４の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１５を有しており、当該ＶＣＭ１５により駆動される。ディスク１１ａ，１１ｂの最外周側には、ＨＤＤのアイドル状態への遷移時に、各ヘッド１２をリトラクトさせておくためのヘッド退避領域（パーキング領域）を各記録面毎に有するランプ機構（図示せず）が配置されている。
【００２４】
ＳＰＭ１３は、ＳＰＭドライバ１６から供給される駆動電流（ＳＰＭ電流）により駆動される。ＶＣＭ１５は、ＶＣＭドライバ１７から供給される駆動電流（ＶＣＭ電流）により駆動される。本実施形態において、ＳＰＭドライバ１６及びＶＣＭドライバ１７は、１チップに集積回路化されたドライバＩＣ１８によって実現されている。ＳＰＭドライバ１６からＳＰＭ１３に、ＶＣＭドライバ１７からＶＣＭ１５に、それぞれ供給される駆動電流を決定するための値（操作量）は、ＣＰＵ２４により決定されて、Ｄ／Ａ（ディジタル／アナログ）コンバータ（Ｄ／Ａ）１８ａ、Ｄ／Ａコンバータ１８ｂを介して与えられる。
【００２５】
ヘッド１２はフレキシブルプリント配線板（ＦＰＣ）に実装されたヘッドＩＣ１９と接続されている。
ヘッドＩＣ１９はヘッド１２により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプを有する。ヘッドＩＣ１９は、リード／ライトＩＣ（以下、Ｒ／Ｗチャネルと称する）２０と接続されている。
【００２６】
Ｒ／Ｗチャネル２０は、リード信号に対するＡ／Ｄ（アナログ／ディジタル）変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行する。
【００２７】
Ｒ／Ｗチャネル２０は、ＣＰＵ２４により切り替え設定される動作モード（サーボゲート制御モード）に応じて動作する。この動作モードには、サーボ情報位置の間隔、つまりサーボ間隔がずれている場合に対応したスタートアップモード（初期モード）と、サーボ間隔のずれがない場合に対応したノーマルモード（ノーマルサーボゲート制御モード）との２種がある。Ｒ／Ｗチャネル２０は、ノーマルモードにおいて、サーボ処理回路２１からのサーボゲートＳＶＧＡＴＥの立ち上がり（前縁）のタイミングに応じてサーボ情報を構成する各データを検出するための内部タイミング信号を生成する機能と、この内部タイミング信号に応じてサーボ情報を構成する各データ、つまりサーボマーク、グレイコード、及びバーストデータを検出する機能とを有している。Ｒ／Ｗチャネル２０は、スタートアップモードにおいて、サーボゲートＳＶＧＡＴＥの立ち上がりの時点から、サーボ情報をサーチしてサーボマークを検出する動作を開始し、サーボマークを検出するとその検出タイミングで決まるタイミングで後続のグレイコード、及びバーストデータを検出する機能を有している。
【００２８】
またＲ／Ｗチャネル２０は、自身が検出したサーボマークを、その検出レベルに応じて、つまり完全にサーボマークとして認められるか、或いはほぼサーボマークとして認められるかなどに応じて品質分けし、その品質を表すサーボマーク品質情報をサーボマーク検出に同期してサーボ処理回路２１にシリアル転送すると共に、サーボマークに続いて検出されたグレイコード及びバーストデータ（但しＡ／Ｄ変換後のバーストデータ）もサーボ処理回路２１にシリアル転送する機能を有している。ここで、Ｒ／Ｗチャネル２０からサーボ処理回路２１に転送されるサーボマーク品質情報は４ビットで構成され、先頭ビットは“１”である。この先頭ビット“１”により、Ｒ／Ｗチャネル２０からサーボ処理回路２１へのサーボ情報の転送（ここでは、サーボマークに後続するグレイコード及びバーストデータ）の開始が示される。
【００２９】
サーボ処理回路２１は、Ｒ／Ｗチャネル２０から転送されるサーボマーク品質情報の先頭ビット“１”によりサーボ情報の転送開始を判断して、当該先頭ビットから始まる４ビットの品質情報をデコードし、Ｒ／Ｗチャネル２０にてサーボマーク（ＡＧＣ数ビットから続く“１４ｈ”）が正しく検出されたことが示されている場合、サーボ領域の基準位置を表すスタートビットＳＢを出力する機能と、このスタートビットＳＢのタイミングで開始される時間計測の結果に基づいてサーボゲートＳＶＧＡＴＥを生成する機能とを有する。サーボ処理回路２１はまた、Ｒ／Ｗチャネル２０から転送されるグレイコードをデコードしてサーボセクタアドレス及びシリンダアドレスに変換すると共に、これらのサーボセクタアドレス、シリンダアドレス及びバーストデータを後述するサーボレジスタ２２１に保持する機能を有する。
【００３０】
図３はサーボ処理回路２１のブロック構成を示す。サーボ処理回路２１はゲートアレイなどのＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により構成されている。サーボ処理回路２１は、Ｒ／Ｗチャネル２０から転送されるサーボマーク品質情報をデコードすることによりＲ／Ｗチャネル２０にてサーボ情報中のサーボマーク（“１４ｈ”）が正しく検出されたことを検出してスタートビットＳＢを出力するスタートビット検出器（ＳＢ検出器）２１０を有する。ここで、サーボマーク（“１４ｈ”）が正しく検出されたことを、“スタートビットＳＢが検出された”ということもある。
【００３１】
サーボ処理回路２１はまた、スタートビットＳＢを基準にサーボ間隔をクロックＣＬＫに同期して計測するためのメインカウンタ２１１と、メインカウンタ２１１により計測されたサーボ間隔（実サーボ間隔）を保持するための実サーボ間隔レジスタ２１２と、スタートビットＳＢ及びクロックＣＬＫから実サーボ間隔レジスタ２１２に実サーボ間隔を保持するタイミングを生成する同期化回路２１３とを有する。
【００３２】
サーボ処理回路２１はまた、スタートビットＳＢが複数回、例えば２回連続して検出されたことを検出するスタートビット連続検出器２１４を有する。スタートビット連続検出器２１４は、メインカウンタ２１１の値からスタートビットＳＢの抜けを検出するスタートビット抜け検出器（ＳＢ抜け検出器）２１５と、スタートアップモードにおいてスタートビットＳＢが連続して検出される回数をカウントするスタートビットカウンタ（ＳＢＣＮＴ）２１６と、ＳＢＣＮＴ２１６の値をクリアするための信号を生成するオアゲート（ＯＲ）２１７とを有している。オアゲート２１７には、ＳＢ抜け検出器２１５によりスタートビットＳＢ抜けが検出されたことを示す信号２１８と、ＣＰＵ２４によりＳＢＣＮＴ２１６のクリアが指示されたことを示す信号２１９と、後述する演算器２２６により算出されたサーボゲートタイミングの異常を示す信号２２０と、スタートアップモードフラグＳＵＭＦの状態信号とが入力される。
【００３３】
サーボ処理回路２１はまた、サーボセクタアドレス、シリンダアドレス及びバーストデータを保持するためのサーボレジスタ２２１と、モード選択レジスタ（ＲＦＬＤＦＧ）２２２とを有する。モード選択レジスタ２２２は、サーボ処理回路２１でのサーボゲート制御に関するモード切り替えのためのフラグ（スタートアップモードフラグ）ＳＵＭＦを設定するのに用いられる。このフラグＳＵＭＦで切り替えられるモードには、上記スタートアップモード（初期モード）とノーマルモードとの２種がある。
【００３４】
サーボ処理回路２１はまた、ＣＰＵ２４によりサーボゲートＳＶＧＡＴＥを強制的にＯＮ／ＯＦＦするためのサーボゲートセットレジスタ２２３及びサーボゲートリセットレジスタ２２４と、スタートビットカウンタ２１２を強制的にクリアするためのスタートビットカウンタクリアレジスタ（ＳＢＣＮＴクリアレジスタ）２２５とを有している。
【００３５】
サーボ処理回路２１はまた、実サーボ間隔レジスタ２１２の値に基づき、サーボ間隔変動を反映したサーボゲートタイミングに補正するのに必要な補正値を算出する演算器２２６と、Ｒ／Ｗチャネル２０に与えるサーボゲートＳＶＧＡＴＥを生成するサーボゲート生成器２２７と、ＣＰＵ２４へのサーボ毎の割り込み信号（サーボ割り込み信号）ＥＯＳを生成する割り込み生成器（ＥＯＳ生成器）２２８とを有している。サーボゲート生成器２２７は、ノーマルモードでは演算器２１７の演算結果に基づいてサーボゲートＳＶＧＡＴＥを生成し、スタートアップモードではＣＰＵ２４の指示に従ってサーボゲートＳＶＧＡＴＥを生成する。そのためサーボゲート生成器２２７は、スタートアップモードでは、メインカウンタ２１１の値でサーボゲートＳＶＧＡＴＥがＯＮ／ＯＦＦされないように構成されている。ＥＯＳ生成器２２８は、スタートビットＳＢに応じてサーボ割り込み信号ＥＯＳを生成する。ＥＯＳ生成器２２８はまた、メインカウンタ２１１の値に応じてもサーボ割り込み信号ＥＯＳを生成する。なお、ＥＯＳ生成器２２８が、スタートビットＳＢに応じてのみサーボ割り込み信号ＥＯＳを生成するものであっても構わない。
【００３６】
再び図１を参照すると、バッファメモリ２２は、ホスト（ホストシステム）から転送されてディスク１１ｉに書き込むべきデータ（ライトデータ）及びディスク１１ｉから読み出されてホストに転送されるデータ（リードデータ）を一時格納するのに用いられる。バッファメモリ２２は書き換え可能なメモリとしての例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により構成される。
【００３７】
ディスクコントローラ２３は、ホストとの間のコマンド（ライトコマンド、リードコマンド等）、データの通信と、バッファメモリ２２の制御と、ディスク１１ｉとの間のデータ転送制御等を司る。
【００３８】
ＣＰＵ２４は、例えば書き換え可能な不揮発性メモリとしてのフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（以下、ＦＲＯＭと称する）２５に格納されている制御プログラム（以下、ＦＷ（Ｆｉｒｍｗａｒｅ）と称する）に従って装置（ＨＤＤ）全体の制御、ホストからのリード／ライトコマンドに従うディスクコントローラ２３によるリード／ライト制御、ヘッド１２を目標トラックにシーク・位置決めする制御等を実行する。このシーク・位置決め制御のために、ＣＰＵ２４はサーボ処理回路２１のサーボレジスタ２１３に保持されたシリンダアドレス及びバーストデータをレジスタ読み込みで取得する。ＦＲＯＭ２５には、ＦＷの他に、へッド切り替え時におけるヘッド位置の予測値の適用判定に必要な後述するパラメータ値が予め格納されている。ＣＰＵ２４には、当該ＣＰＵ２４の作業領域等を提供するＲＡＭ２６が接続されている。なお、ＦＲＯＭ２５及びＲＡＭ２６がＣＰＵ２４に内蔵された構成とすることも可能である。
【００３９】
次に図１のＨＤＤの動作を説明する。
まず、図１のＨＤＤにおけるサーボゲート制御の概要について説明する。
【００４０】
本実施形態では、図１のＨＤＤに搭載された２枚のディスク１１ａ，１１ｂには、サーボ情報がプリサーボ方法により記録されている。このため、ディスク１１ａ，１１ｂ間で図２（ａ），（ｂ）に示すように物理サーボ位置がずれている可能性がある。つまりディスク１１ａ，１１ｂ間でサーボゲートタイミングが同期していない可能性がある。そこで本実施形態では、ディスク１１ａ，１１ｂ間でサーボ位置がずれていることを前提として、そのずれを吸収するためのサーボゲート制御を行う。このコントロールは、基本的にサーボ処理回路２１（を実現するＡＳＩＣ）により行われる。
【００４１】
サーボゲートのタイミングを決定するには、２つの連続する物理サーボ位置の間隔、つまりサーボ間隔を知る必要がある。そのためサーボ処理回路２１にて、連続して２回サーボマークを検出することで、初めてサーボ間隔の初期値を得て、スタートアップモードからノーマルモードに移行できる。ノーマルモードでは、サーボ処理回路２１にて計測されるサーボ間隔に応じて、当該サーボ処理回路２１（内のサーボゲート生成器２２７）によりサーボゲートＳＶＧＡＴＥが自動生成される。
【００４２】
一方、ヘッド１２をランプ機構からディスク１１ｉ上に移動させるファーストシーク時、ヘッド切り替え時（特に、異なるディスク間のヘッド切り替え時）或いはサーボマーク検出誤りが連続して発生した場合に代表される、サーボゲートタイミンクの喪失時、つまりサーボゲートタイミングがずれた場合には、ＦＲＯＭ２５に格納されている制御プログラムに従うＣＰＵ２４の処理（ＦＷ処理）により、スタートアップモードへの切り替えの条件が成立したものとして、サーボ処理回路２１がスタートアップモードに切り替えられる。スタートアップモードでは、ＣＰＵ２４の処理（ＦＷ処理）で決定されるタイミングでサーボ処理回路２１（内のサーボゲート生成器２２７）からサーボゲートＳＶＧＡＴＥが生成される。
【００４３】
次に、図１のＨＤＤにおけるサーボゲート制御の詳細について、図４及び図５のタイミングチャート及び図６のフローチャートを参照して説明する。
【００４４】
Ｒ／Ｗチャネル２０は、ノーマルモードでは、サーボ処理回路２１内のサーボゲート生成器２２７により自動生成されるサーボゲートＳＶＧＡＴＥの立ち上がりのタイミングに同期して、サーボ情報を構成する各データを検出するための内部タイミング信号を生成する。そしてＲ／Ｗチャネル２０は、この内部タイミング信号に応じて、ヘッド１２により読み取られてヘッドＩＣ１９により増幅されたリードデータから、サーボ情報を構成する各データ、つまりサーボマーク、グレイコード、及びバーストデータを検出する。このようにノーマルモードでは、Ｒ／Ｗチャネル２０はシンクロナスサーボ方式でサーボ情報中の各データを検出する。
【００４５】
一方、スタートアップモード（初期モード）では、Ｒ／Ｗチャネル２０は、ＣＰＵ２４の指示するタイミングでサーボゲート生成器２２７により生成されるサーボゲートＳＶＧＡＴＥの立ち上がりの時点から次に述べるサーチ動作を開始する。即ちＲ／Ｗチャネル２０は、ヘッド１２により読み取られてヘッドＩＣ１９により増幅されたリードデータを監視して当該リードデータからサーボマークを検出するサーチ動作を開始する。そしてＲ／Ｗチャネル２０は、予め定められた期間内にサーボマークが検出できたならば、そのサーボマーク検出のタイミングで決まるタイミングで後続のグレイコード、及びバーストデータを検出する
Ｒ／Ｗチャネル２０は、自身が検出したサーボマークを、その検出レベルに応じて品質分けし、その品質を表す４ビットのサーボマーク品質情報をサーボ処理回路２１にシリアル転送する。この４ビットのサーボマーク品質情報の先頭ビット（第１ビット）は“１”であり、スタートビットＳＢを表す。サーボマーク品質情報の第２ビットは、“１”でサーボマークが検出されたことを、“０”でサーボマークが検出されなかったことを示す。サーボマーク品質情報の第３ビットは、検出されたサーボマークの品質を表し、“０”で高品質（例えば、１ビット以下の誤り）、“１”で低品質（例えば２ビット以上の誤り）を示す。なお、品質情報の第４ビットについては本発明に直接関係しないため説明を省略する。またＲ／Ｗチャネル２０は、サーボマークに続いて当該サーボマークに後続するグレイコード及びバーストデータを検出すると、その検出したデータをサーボ処理回路２１にシリアル転送する。但し、バーストデータはＡ／Ｄ変換して転送される。
【００４６】
サーボ処理回路２１内のＳＢ検出器２１０は、Ｒ／Ｗチャネル２０からシリアル転送されるデータ中の論理“１”から始まる４ビットのサーボマーク品質情報をデコードする。ＳＢ検出器２１０は、デコードした品質情報が予め定められた４ビット値、例えば“１１０１”の場合に、当該品質情報が高品質を表しており、Ｒ／Ｗチャネル２０にてサーボマークが正しく検出されたとして、その都度、スタートビットＳＢを出力する。なお、上記品質情報が、“１１０×”または“１１××”（×は“０”“１”を問わない）の場合に、ＳＢ検出器２１０からスタートビットＳＢが出力される構成としても構わない。
【００４７】
サーボ処理回路２１内のメインカウンタ２１１は、内部のクロックＣＬＫのタイミングでカウント動作を行っている。メインカウンタ２１１は、ＳＢ検出器２１０からスタートビットＳＢが出力されると、カウント動作を停止する。このとき、メインカウンタ２１１のカウント値は、同期化回路２１３で生成されるタイミング、即ちＳＢ検出器２１０からスタートビットＳＢが出力された次のクロックＣＬＫのタイミングで、実サーボ間隔レジスタ２１２にラッチされる。そして、更に次のクロックＣＬＫのタイミングでメインカウンタ２１１のカウント値はリセットされ、再度クロックＣＬＫのタイミングでカウント動作を再開する。したがって、実サーボ間隔レジスタ２１２には、２つのスタートビットＳＢ間のカウント値、つまり実際のサーボ間隔の計測値が保持される。
【００４８】
サーボ処理回路２１内のＥＯＳ生成器２２８は、Ｒ／Ｗチャネル２０によりサーボマークが正しく検出されている限りは、そのサーボマーク検出に対応してＳＢ検出器２１０から出力されるスタートビットＳＢを基準として、一定時間後にＣＰＵ２４へのサーボ割り込み信号ＥＯＳを出力する。
【００４９】
ＣＰＵ２４は、ＥＯＳ生成器２２８からのサーボ割り込み信号ＥＯＳに応じて、図６のフローチャートに従うサーボ割り込み処理（ＦＷ処理）を、次のように行う。
まずＣＰＵ２４は、サーボ処理回路２１（及びＲ／Ｗチャネル２０）の動作モードがスタートアップモードであるか或いはノーマルモードであるかを判定する（ステップＳ１）。
【００５０】
もし、ノーマルモードであるならば、ＣＰＵ２４はスタートアップモードへの切り替え条件が成立したか否かを判定する（ステップＳ２）。ここでは、ファーストシーク時、ヘッド切り替え時、或いはサーボマーク検出誤りが連続して発生した場合など、サーボゲートタイミンクを喪失する状態となった場合に、スタートアップモードへの切り替え条件が成立したものとしている。
【００５１】
ＣＰＵ２４は、スタートアップモードへの切り替え条件の成立時には、サーボ処理回路２１内のモード選択レジスタ（ＲＦＬＤＦＧ）２２２に有効な（ここでは論理“１”の）スタートアップモードフラグＳＵＭＦを設定することにより、当該サーボ処理回路２１をスタートアップモードに設定する（ステップＳ３）。またＣＰＵ２４は、スタートビット連続検出器２１４内のＳＢＣＮＴ２１６のカウント値が“２”となるまでは、サーボゲートタイミングはディスク１１ｉ上の実際のサーボ領域１１０の位置、即ち物理サーボ位置と合っていないとして、Ｒ／Ｗチャネル２０に対しても、スタートアップモード（初期モード）に設定する（ステップＳ４）。これによりＲ／Ｗチャネル２０では、サーボ情報をサーチしてサーボマークを検出する動作が行われる、ここで、ステップＳ３に先行してステップＳ４を実行しても構わない。
【００５２】
ＣＰＵ２４は、ステップＳ３，Ｓ４を実行すると、例えばサーボ割り込み信号ＥＯＳの立ち上がり（前縁）を基準とする第２の一定時間後に、サーボゲートセットレジスタ２２３をアクセスすることでサーボゲート生成器２２７を制御し、サーボゲートＳＶＧＡＴＥをオンさせる（ステップＳ５）。これによりＲ／Ｗチャネル２０では、スタートアップモードでのサーボ情報検出を行い、サーボマーク品質情報、グレイコード及びバーストデータ（ＰＥＳ情報）をサーボ処理回路２１に順次シリアル転送する。サーボ処理回路２１内のデコーダ（図示せず）はＲ／Ｗチャネル２０から転送されるグレイコードをデコードしてサーボセクタアドレス及びシリンダアドレスに変換する。これらのサーボセクタアドレス、シリンダアドレス及びバーストデータは、サーボレジスタ２２１に保持される。ＣＰＵ２４は、サーボレジスタ２２１に保持されているシリンダアドレス及びバーストデータに基づいて、ヘッド１２を目標トラックの目標範囲に位置決めするための位置決め制御を行う。この位置決め制御の詳細は後述する。
【００５３】
さてサーボ処理回路２１では、モード選択レジスタ（ＲＦＬＤＦＧ）２２２に論理“１”のスタートアップモードフラグＳＵＭＦが設定された結果、スタートアップモードに切り替えられると、そのスタートアップモードフラグＳＵＭＦの状態信号がオアゲート２１７を介してＳＢＣＮＴ２１６のクリア端子ＣＬＲに入力される。これによりＳＢＣＮＴ２１６はクリアされ、カウント値は“０”となる。以後、ＳＢＣＮＴ２１６は、ＳＢ検出器２１０によりスタートビットＳＢが検出される毎に１ずつインクリメントされる。
【００５４】
サーボ処理回路２１では、ＳＢＣＮＴ２１６のカウント値が“２”になるまでは、スタートアップモードが継続する。このスタートアップモードで、ＳＢ検出器２１０によりスタートビットＳＢが検出され、そのスタートビットＳＢ検出に応じてＥＯＳ生成器２２８からＣＰＵ２４にサーボ割り込み信号ＥＯＳが出力されると、ＣＰＵ２４は図６のフローチャートに従うサーボ割り込み処理（ＦＷ処理）を、次のように行う。
まずＣＰＵ２４は、サーボ処理回路２１（及びＲ／Ｗチャネル２０）の動作モードがスタートアップモードであることから（ステップＳ１）、例えばサーボ割り込み信号ＥＯＳを基準とする第１の一定時間（但し、第１の一定時間＜第２の一定時間）後に、サーボゲートリセットレジスタ２２４をアクセスすることでサーボゲート生成器２２７を制御し、サーボゲートＳＶＧＡＴＥをオフさせる（ステップＳ６）。その後ＣＰＵ２４は、サーボ割り込み信号ＥＯＳを基準とする上記第２の一定時間後に、サーボゲートセットレジスタ２２３をアクセスすることで、サーボゲート生成器２２７によりサーボゲートＳＶＧＡＴＥをオンさせる（ステップＳ５）。そしてＣＰＵ２４は、サーボゲートＳＶＧＡＴＥがオンしている期間にＲ／Ｗチャネル２０により検出されるサーボ情報に基づいてヘッド１２を目標トラックにシーク・位置決めするためのサーボ制御を行う。
【００５５】
やがて、ＳＢＣＮＴ２１６のカウント値が“１”から“２”に切り替わると、つまり２サーボ分連続してスタートビットＳＢが検出されると、モード選択レジスタ（ＲＦＬＤＦＧ）２２２がリセットされ、当該レジスタ２２２に保持されているスタートアップモードフラグＳＵＭＦが“０”に切り替えられる。これにより、サーボ処理回路２１の動作モードは、スタートアップモードからノーマルモードに自動的に切り替えられる。ＣＰＵ２４は、モード選択レジスタ２２２に保持されているスタートアップモードフラグＳＵＭＦをＦＷ処理により読み込み、サーボ処理回路２１の動作モードがノーマルモードに切り替わったことを検出する。この場合、ＣＰＵ２４はＲ／Ｗチャネル２０の動作モードをスタートアップモード（初期モード）からノーマルモードに切り替える。
【００５６】
さて、ＳＢＣＮＴ２１６のカウント値が“２”になってサーボ処理回路２１の動作モードがノーマルモードに切り替えられると、ＳＢＣＮＴ２１６のカウント動作はディセーブルされる。これにより、ＳＢＣＮＴ２１６はカウント値は、ＳＢ検出器２１０によりスタートビットＳＢが検出されても２にホールドされる。なお、ＣＰＵ２４がＳＢＣＮＴクリアレジスタ２２５をアクセスして、有効な論理“１”の信号をオアゲート２１７からＳＢＣＮＴ２１６のクリア端子に出力させることで、ＳＢＣＮＴ２１６のカウント値を“０”クリアするようにしても構わない。
【００５７】
ところで、スタートアップモードにおいて、ＣＰＵ２４の制御によりサーボゲートＳＶＧＡＴＥが開かれている期間に、Ｒ／Ｗチャネル２０によりサーボマークが検出されないことがあり得る。この場合、Ｒ／Ｗチャネル２０からサーボ処理回路２１には、第２ビットが“０”のサーボマーク品質情報、即ちサーボマークが検出されなかったことを示すサーボマーク品質情報が転送される。この場合、サーボ処理回路２１内のＳＢ検出器２１０ではサーボマーク品質情報の第１ビットに基づくスタートビットＳＢの出力は行われない。この様子を、図５のタイミングチャート中のスタートビットＳＢ５１で表す。図５中でスタートビットＳＢ５１は破線で表現されており、実際にはスタートビットＳＢが出力されていないこと、つまりスタートビットＳＢが検出されなかったことを表す。
【００５８】
さて、ＳＢ検出器２１０によりスタートビットＳＢが検出されなかった場合、つまりサーボマークの検出に失敗した場合、メインカウンタ２１１は、予め定められた上限値まではカウント動作を続ける。そこでＳＢ抜け検出器２１５は、メインカウンタ２１１のカウント値を予め定められた基準値と比較し、カウント値が基準値より大きくなった場合、スタートビットＳＢの抜けを判定する。この基準値には、サーボマークを検出するのに十分な時間に対応した値が用いられる。
【００５９】
この場合、ＳＢ抜け検出器２１５は、スタートビットＳＢ抜けが検出されたことを示す論理“１”の信号２１８を出力する。この信号２１８はオアゲート２１７を介してＳＢＣＮＴ２１６のクリア端子ＣＬＲに入力される。これによりＳＢＣＮＴ２１６はクリアされ、カウント値は“０”となる。つまり、ＳＢＣＮＴ２１６のカウント値は、スタートビットＳＢ抜けが検出されると“０”にクリアされる。この仕組みにより、スタートビット連続検出器２１４内のＳＢＣＮＴ２１６では連続して検出されるスタートビットＳＢの数をカウントできる。
【００６０】
本実施形態において、ＥＯＳ生成器２２８は、メインカウンタ２１１のカウント値が予め定められた値を超えた場合には、擬似的にサーボ割り込み信号ＥＯＳを生成・出力する。これによりＣＰＵ２４は、スタートビットＳＢ抜けの場合にも、図５のタイミングチャートに示すように、ＦＷ処理を行うことができる。
【００６１】
演算器２２６は、サーボ間隔変動を反映したサーボゲートタイミングに補正するのに必要な補正値を算出し、その補正値を用いてサーボゲートタイミングを算出する。この演算器２２６での演算は、サーボ処理回路２１の動作モードに無関係に行われる。但し、この演算結果がサーボゲートＳＶＧＡＴＥの生成に実際に利用されるのは、ノーマルモードにおいてのみである。スタートアップモードでは、演算器２２６での演算結果が妥当であるか否かが当該演算器２２６にて判定される。もし、演算器２２６での演算結果が妥当でない場合、当該演算器２２６は、論理“１”の信号２２０を出力する。この信号２２０はオアゲート２１７を介してＳＢＣＮＴ２１６のクリア端子ＣＬＲに入力される。これによりＳＢＣＮＴ２１６はクリアされ、カウント値は“０”となる。なお、ＳＢＣＮＴ２１６の値が“２”となったときのみ、演算器２２６で算出された補正値の妥当性を判定し、妥当でない場合には、ＳＢＣＮＴ２１６の値を１だけデクリメントするようにしても、つまりＳＢＣＮＴ２１６の値を“１”にするようにしても構わない。
【００６２】
以上に述べたように本実施形態においては、ヘッド切り替え時等、サーボゲートのタイミングがずれる恐れのある場合には、スタートアップモード（第１のモード）が設定される。このスタートアップモードでは、Ｒ／Ｗチャネル２０は、リード情報を監視することで当該リード情報からサーボマークを検出する動作をサーボゲートが開かれた時点から開始し、サーボマークを検出するとその検出タイミングで決まるタイミングでリード情報から後続の位置情報（シリンダアドレス及びバーストデータ）を検出する動作、即ちシンクロナスサーボ方式を適用せずにサーボマーク及び位置情報を検出する動作を行う。そして、スタートアップモードでサーボマークが複数回連続して検出されたことがスタートビット連続検出器２１４により検出された場合、つまりサーボ位置の不連続性が解消された段階では、ノーマルモードに切り替えられる。このノーマルモードでは、Ｒ／Ｗチャネル２０は、シンクロナスサーボ方式でサーボマーク及び位置情報を検出する動作を行う。
【００６３】
これにより、ヘッド切り替え時等においてサーボ位置の物理的な位置ずれが発生しても、そのずれを補償することができ、ヘッド切り替え時等におけるパフォーマンスの低下を最小限に抑えることが可能となる。
【００６４】
ここで、演算器２２６によるサーボゲートタイミングの演算について、ヘッド１２をディスク１１ｉ上の目標トラックに移動するシーク動作中を例に、図７を参照して説明する。
【００６５】
演算器２２６は、シーク動作の期間、サーボ間隔変動を補正するための演算として、タイミングＳＧＳＴＳ，ＳＧＣＬＲＳ，ＳＧＳＴＳ２を算出する３種類の演算を実行する。タイミングＳＧＳＴＳは、スタートビットＳＢの位置を基準として、次のサーボゲートを開くタイミングを表す。タイミングＳＧＣＬＲＳは、スタートビットＳＢの抜けが発生した場合に利用されるタイミングであり、先行するスタートビットＳＢを基準とするサーボゲートを閉じるタイミングを表す。タイミングＳＧＳＴＳ２は、スタートビットＳＢの抜けが発生した場合に利用されるタイミングであり、タイミングＳＧＣＬＲＳで閉じられたサーボゲートを再び開くタイミングである。ここで、スタートビットＳＢを基準としてサーボゲートを開く標準的なタイミングをＳＧＳＴ、同じくサーボゲートを閉じる標準的なタイミングをＳＧＣＬＲとする。また、２つの連続するサーボ領域１１０の間隔、つまり１サーボ間隔をＳＭＩＴＶとする。また、１サーボ間隔におけるメインカウンタ２１１のカウント値の理論値をＳＭＩＴＶＳ、１サーボ間隔におけるメインカウンタ２１１の実際のカウント値、つまり実サーボ間隔レジスタ２１２の値をＳＭＩＴＶＭとする。ＳＧＳＴ，ＳＧＣＬＲ，ＳＭＩＴＶ，ＳＭＩＴＶＳは固定値である。
【００６６】
この場合、演算器２２６は、１サーボ間隔におけるメインカウンタ２１１のカウント値の理論値からのずれＤＥＬＴＡＴを次式
ＤＥＬＴＡＴ＝ＳＭＩＴＶＭ−ＳＭＩＴＶＳ                  （１）
により算出する。
【００６７】
演算器２２６は、このＤＥＬＴＡＴを用い、タイミングＳＧＳＴＳ，ＳＧＣＬＲＳ，ＳＧＳＴＳ２を、次式
0003561246.tif 000002
に従って算出する。なお、初期起動時、最初にスタートビットＳＢが検出された場合、ＳＭＩＴＶＭ＝０として演算が行われる。
【００６８】
次に、図１のＨＤＤにおけるヘッド切り替え時のサーボ制御の概要について説明する。
【００６９】
通常、サーボ制御では、連続したサーボ情報をもとにその操作量から次に取得できるであろうサーボ情報が記録されている位置を予測する。ＨＤＡが有するへッドでサーボ情報を書き込む従来の方法の場合、ヘッド間のキャリッジずれ等、機械的なずれは、機構部が予め持つディスク半径方向のずれも含め、物理的なサーボ位置のずれに対応している。したがって、ヘッド間におけるサーボ位置の連続性、つまり位置情報の連続性が確保されている。この連続性の故に、ＣＰＵ２４でのサーボ割り込み処理におけるシーク及び位置決め（トラックフォロー）制御では、実際に取得した位置情報としてのシリンダアドレス及びバーストデータから算出される位置と、予測位置とをもとに、算出位置の信頼性を判断することができる。そして、算出位置が信頼性に乏しいと判断した場合には、当該算出位置に代わって予測値を用いることで、高精度のサーボ制御を行うことで可能である。
【００７０】
これに対してプリサーボ方法を適用してサーボ情報を書き込む場合、異なるディスクのへッド間で位置情報の連続性が途切れる可能性が高い。この場合、予測値自体の信頼性が問題となる。そこで、ヘッド切り替え時にはヘッド位置の予測値の適用に注意を要する。
【００７１】
本実施形態では、この予測値の適用に関し、
（１）ヘッド切り替え時においてヘッド位置の予測値適用に制限を設ける方法
（２）ヘッド切り替え時においてヘッド位置の予測値適用に制限を設けながら、その適用範囲を拡大する方法
（３）ＨＤＤの製造時にへッド間の位置情報の差異を検出し、その差異で決まるヘッド切り替え直後専用のヘッド位置予測値パラメータをＦＲＯＭ２５に保存しておき、そのパラメータの値をもとに、上記算出位置の信頼性の判定に用いる条件（規定範囲）を決定する方法
のいずれか１つを使用するか、或いは少なくとも２つを組み合わせて使用する。このへッド切り替え時のヘッド位置予測値の適用アルゴリズムを追加することで、取得されるヘッド位置の信頼性を確保しつつ、ヘッド間で位置情報の連続性が失われる場合にも対応可能となる。
【００７２】
以下、上記方法（１）を適用したサーボ制御について、図８のフローチャートを参照して説明する。
ＣＰＵ２４は、前記したように、サーボ処理回路２１内のＥＯＳ生成器２２８からのサーボ割り込み信号ＥＯＳに応じて、図６のフローチャートに従うサーボ割り込み処理を行う。ＣＰＵ２４は、この割り込み処理の中で、Ｒ／Ｗチャネル２０により検出されるサーボ情報に基づいてヘッド１２を目標トラックにシーク・位置決めするためのサーボ制御を、図８のフローチャートに従って次のように行う。
【００７３】
まずＣＰＵ２４は、サーボ処理回路２１内のサーボレジスタ２２１からサーボ制御に必要なシリンダアドレス及びバーストデータ（位置誤差データ）、即ちヘッド位置情報を読み込む（ステップＳ１１）。そしてＣＰＵ２４は、読み込んだ位置情報からヘッド１２の現在位置を算出する（ステップＳ１２）。
【００７４】
次にＣＰＵ２４は、ヘッド切り替え開始時以降に実行したサーボ割り込み処理の回数が規定回数を超えたか否かを判定する（ステップＳ１３）。もし、サーボ割り込み処理回数が規定回数以下であるならば、ＣＰＵ２４は、ヘッド切り替え前とヘッド切り替え後との間の位置情報の不連続性の影響で予測値の信頼性は乏しく、したがってステップＳ１２での位置算出結果に無関係に予測値の適用を抑止すべきであると判断する。この場合、ＣＰＵ２４は、ステップＳ１２で算出した位置情報をもとに、ＶＣＭ１５を駆動するのに必要な駆動電流を決定する操作量（ＶＣＭ操作量）を算出する（ステップＳ１４）。算出された操作量がＶＣＭドライバ１７に設定されることにより、対応する大きさの駆動電流がＶＣＭドライバ１７からＶＣＭ１５に供給され、当該ＶＣＭ１５が駆動される。
【００７５】
これに対し、サーボ割り込み処理回数が規定回数を超えているならば、ヘッド切り替え前とヘッド切り替え後との間の位置情報の不連続性の影響が少なくなっており、予測値の信頼性は高いと判断する。この場合、ＣＰＵ２４は、ステップＳ１２で算出された位置（今回算出位置）が、前回取得された位置情報から算出（予測）される今回のヘッド位置（予測値）を基準とする規定範囲（ノーマル規定範囲）内に入っているか否かを判定する（ステップＳ１５）。ここで、ノーマル規定範囲（第１の規定範囲）は、前回取得された位置情報から算出される予測値を基準とする±αの範囲である。
【００７６】
もし、今回算出位置がノーマル規定範囲内に入っているならば、ＣＰＵ２４は今回算出位置の信頼性は高いとして、その算出位置をもとにＶＣＭ操作量を算出する（ステップＳ１４）。
【００７７】
一方、今回算出位置がノーマル規定範囲から外れているならば、つまりヘッド切り替え前とヘッド切り替え後との間の位置情報の不連続性の影響が少なくなっているにも拘わらずに、今回算出位置がノーマル規定範囲から外れているならば、ＣＰＵ２４は今回算出位置の信頼性は低いとして、今回算出位置に代えて予測値を適用し（ステップＳ１６）、その予測値をもとにＶＣＭ操作量を算出する（ステップＳ１４）。
【００７８】
このように本実施形態においては、ヘッド切り替え開始時以降に実行されるサーボ割り込み処理のうち、その割り込み処理の回数が規定回数を超えるまでの割り込み処理では、予測値の適用を抑止するようにした。これにより、ヘッド切り替え直後のヘッド位置の不連続性の影響で誤った予測値が適用されるのを防ぐことができる。
【００７９】
次に、上記方法（２）を適用したサーボ制御について、図９のフローチャートを参照して説明する。
ＣＰＵ２４は、図８中のステップＳ１１と同様に、サーボ処理回路２１内のサーボレジスタ２２１からヘッド位置情報を読み込む（ステップＳ２１）。そしてＣＰＵ２４は、読み込んだ位置情報からヘッド１２の現在位置を算出する（ステップＳ２２）。
【００８０】
次にＣＰＵ２４は、ヘッド切り替え開始時以降に実行したサーボ割り込み処理の回数が規定回数を超えたか否かを判定する（ステップＳ２３）。サーボ割り込み処理回数が規定回数を超えている場合、図８中のステップＳ１４〜Ｓ１６と同様のステップＳ２４〜Ｓ２６が行われる。
【００８１】
一方、サーボ割り込み処理回数が規定回数以下の場合、ＣＰＵ２４はステップＳ２２で算出された位置（今回算出位置）が、ヘッド切り替え直後専用の規定範囲内に入っているか否かを判定する（ステップＳ２７）。ここで、ヘッド切り替え直後専用規定範囲（第２の規定範囲）は、前回取得された位置情報から算出される今回のヘッド位置（予測値）を基準とする±β（但し、βはβ＞α）の範囲である。明らかなように、ヘッド切り替え直後専用規定範囲は前記ノーマル規定範囲より広い。
【００８２】
もし、今回算出位置がヘッド切り替え直後専用規定範囲内に入っているならば、ＣＰＵ２４は今回算出位置の信頼性は高いとして、その算出位置をもとにＶＣＭ操作量を算出する（ステップＳ２４）。
【００８３】
一方、今回算出位置がヘッド切り替え直後専用規定範囲から外れているならば、つまりサーボ割り込み処理回数が規定回数以下であることを考慮して、ノーマル規定範囲より広い規定範囲（ヘッド切り替え直後専用規定範囲）を用いているにも拘わらずに、その専用規定範囲に入っていないならば、ＣＰＵ２４は今回算出位置の信頼性は低いとして、今回算出位置に代えて予測値を適用し（ステップＳ２６）、その予測値をもとにＶＣＭ操作量を算出する（ステップＳ２４）。
【００８４】
このように本実施形態においては、ヘッド切り替え開始時以降に実行されるサーボ割り込み処理のうち、その割り込み処理の回数が規定回数（ここでは、１〜３程度）以下の割り込み処理では、無条件で予測値を適用しないのではなく、ノーマル規定範囲より広いヘッド切り替え直後専用規定範囲を用いて、今回算出位置が当該専用規定範囲に入っている場合に限り予測値を適用しないようにした。これにより、予測値適用の範囲を拡大しながら、ヘッド切り替え直後のヘッド位置の不連続性の影響で誤った予測値が適用されるのを防ぐことができる。
【００８５】
次に、上記方法（３）を適用したサーボ制御について、図１０のフローチャートを参照して説明する。なお、図１０のフローチャートは、ヘッド切り替え時に限らず、サーボサーボ割り込み処理でのサーボ制御に共通である。
【００８６】
まず、方法（３）を適用する実施形態では、図１のＨＤＤの製造時にへッド間の位置情報の差異、つまりヘッド位置の差異が検出され、その差異で決まる値のヘッド切り替え直後専用のヘッド位置予測値パラメータ（第１の予測値パラメータ）がＦＲＯＭ２５に保存される。また、ＦＲＯＭ２５には、位置情報の連続性が確保される同一ヘッド（ディスク面）用のノーマルヘッド位置予測値パラメータ（第２の予測値パラメータ）も保存される。なお、これらのパラメータをディスク１１ｉに保存しておき、ＨＤＤの初期化時にＲＡＭ２６にロードして使用することも可能である。
【００８７】
ＣＰＵ２４は、図８中のステップＳ１１と同様に、サーボ処理回路２１内のサーボレジスタ２２１からヘッド位置情報を読み込む（ステップＳ３１）。そしてＣＰＵ２４は、読み込んだ位置情報からヘッド１２の現在位置を算出する（ステップＳ３２）。
【００８８】
次にＣＰＵ２４はヘッド切り替え直後（のサーボ割り込み処理）であるか否かを判定する（ステップＳ３３）。もし、ヘッド切り替え直後であれば、ＣＰＵ２４はＦＲＯＭ２５からヘッド切り替え直後専用のヘッド位置予測値パラメータを読み込む（ステップＳ３４）。これに対し、ヘッド切り替え直後でなければ、ＣＰＵ２４はＦＲＯＭ２５からノーマルヘッド位置予測値パラメータを読み込む（ステップＳ３５）。なお、ヘッド切り替え直後であるか否かの判定に代えて、予め定められたサーボ割り込み処理の回数以下であるか否かの判定を行うようにしてもよい。明らかなように、予め定められたサーボ割り込み処理の回数が１の場合がヘッド切り替え直後に相当する。
【００８９】
ＣＰＵ２４は、ステップＳ３４またはＳ３５を実行すると、当該ステップＳ３４またはＳ３５で読み込んだヘッド位置予測値パラメータの値と前回取得された位置情報とから算出される今回のヘッド位置（予測値）を基準とする規定範囲内に、ステップＳ１２で算出された位置（今回算出位置）が入っているか否かを判定する（ステップＳ３６）。
【００９０】
もし、今回算出位置が規定範囲内に入っているならば、ＣＰＵ２４は今回算出位置の信頼性は高いとして、その算出位置をもとにＶＣＭ操作量を算出する（ステップＳ３７）。
【００９１】
一方、今回算出位置が規定範囲から外れているならば、ＣＰＵ２４は今回算出位置の信頼性は低いとして、今回算出位置に代えて予測値を適用し（ステップＳ３８）、その予測値をもとにＶＣＭ操作量を算出する（ステップＳ３７）。
【００９２】
このように本実施形態においては、へッド間のヘッド位置の差異を反映したヘッド切り替え直後専用のヘッド位置予測値パラメータをＦＲＯＭ２５（不揮発性記憶装置）に保存しておき、ヘッド切り替え直後には、当該パラメータの値と前回取得された位置情報とから決定される規定範囲を用いて、今回取得された位置情報から算出されるヘッド位置（今回算出位置）の信頼性が高いか否かを判定している。このため、高精度の判定が可能となる。
【００９３】
以上に述べた実施形態では、各ヘッド間でサーボ位置（サーボ領域１１０の位置）が物理的にずれる可能性があるものとして、そのずれの影響をなくすためにヘッド切り替え時に本実施形態特有の処理を行う場合について説明した。しかし、同一ディスクの一方のヘッド（記録面）と他方のヘッド（記録面）との間では、サーボ位置が物理的にずれる恐れは極めて少ない。したがって、異なるディスク間のヘッド切り替え時のみ上記特有な処理を行うようにしてもよい。この場合、上記実施形態における「ヘッド切り替え」を、「異なるディスク間のヘッド切り替え」と読み替えればよい。
【００９４】
また、以上に述べた実施形態では、本発明をＨＤＤ（磁気ディスク装置）に適用した場合について説明したが、これに限るものではなく、本発明は、光磁気ディスク装置などＨＤＤ以外のディスク記憶装置にも適用可能である。
【００９５】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００９６】
【発明の効果】
以上詳述したように本発明によれば、ヘッド切り替え時等においてサーボ位置の物理的な位置ずれが発生しても、そのずれを補償でき、ヘッド切り替え時等におけるパフォーマンスの低下を最小限に抑えることができる
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１中の各ディスク１１ａ，１１ｂのフォーマットの概念と、当該各ディスク１１ａ，１１ｂに記録されているサーボ領域１１０の位置の物理的なずれと、当該サーボ領域１１０のデータフォーマットの概念とを示す図。
【図３】図１中のサーボ処理回路２１の構成を示すブロック図。
【図４】同実施形態におけるサーボゲート制御を説明するためのタイミングチャート。
【図５】同実施形態においてスタートビット抜けが発生した場合のサーボゲート制御を説明するためのタイミングチャート。
【図６】同実施形態におけるＣＰＵ２４によるサーボ割り込み処理を説明するためのフローチャート。
【図７】同実施形態における演算器２２６によるサーボゲートタイミングの演算を説明するための図。
【図８】同実施形態におけるＣＰＵ２４によるサーボ割り込み処理で実行されるサーボ制御を説明するためのフローチャート。
【図９】同実施形態におけるＣＰＵ２４によるサーボ割り込み処理で実行されるサーボ制御の変形例を説明するためのフローチャート。
【図１０】同実施形態におけるＣＰＵ２４によるサーボ割り込み処理で実行されるサーボ制御の他の変形例を説明するためのフローチャート。
【符号の説明】
１１ａ，１ｂ…ディスク
１２…ヘッド
１５…ＶＣＭ（ボイスコイルモータ）
１９…ヘッドＩＣ
２０…Ｒ／Ｗチャネル（第１の検出手段、サーボ検出手段）
２１…サーボ処理回路
２４…ＣＰＵ（制御手段）
２５…ＦＲＯＭ（フラッシュＲＯＭ）
２１０…スタートビット検出器（ＳＢ検出器、特定パルス出力手段）
２１１…メインカウンタ（第１のカウンタ）
２１２…実サーボ間隔レジスタ
２１４…スタートビット連続検出器（第２の検出手段）
２１５…スタートビット抜け検出器（ＳＢ抜け検出器、第３の検出手段）
２１６…スタートビットカウンタ（ＳＢＣＮＴ、第２のカウンタ）
２２１…サーボレジスタ
２２６…演算器
２２７…サーボゲート生成器
２２８…割り込み生成器（ＥＯＳ生成器）
【図１】
0003561246.tif 000003
【図２】
0003561246.tif 000004
【図３】
0003561246.tif 000005
【図４】
0003561246.tif 000006
【図５】
0003561246.tif 000007
【図６】
0003561246.tif 000008
【図７】
0003561246.tif 000009
【図８】
0003561246.tif 000010
【図９】
0003561246.tif 000011
【図１０】
0003561246.tif 000012