(57)【特許請求の範囲】
【請求項１】
キャリッジを駆動することでヘッドをディスクの半径方向に移動させるボイスコイルモータと、前記ボイスコイルモータの逆起電圧に対応したボイスコイルモータ速度を検出するボイスコイルモータ速度検出回路と、前記ヘッドを退避しておくための前記ディスクの外周の外側に配置されたランプ機構とを備えたヘッドロード／アンロード方式のディスク装置に適用される速度補正値キャリブレーション方法であって、
前記ヘッドを前記ランプ機構上から前記ディスク上にロードするためのロード制御開始に際して、前記ボイスコイルモータの実際の速度をゼロにした状態で、前記ボイスコイルモータ速度検出回路により検出されるボイスコイルモータ速度検出値を読み込み、当該速度検出値に基づいて、前記ボイスコイルモータに流れるボイスコイルモータ電流の値と前記ボイスコイルモータ速度検出回路により検出されるボイスコイルモータ速度検出値との関係を補正するための速度補正値を取得するキャリブレーション動作を行い、
アンロード命令を受けた場合には、前記ロード制御開始に際して行われたキャリブレーション動作で取得された速度補正値を用いてアンロード動作を行い、
前記アンロード動作が異常終了したならば、前記キャリッジを内周ストッパ位置に移動させて前記ボイスコイルモータの実際の速度をゼロにした状態で前記キャリブレーション動作を再実行して前記速度補正値を更新し、
更新後の速度補正値を用いて前記アンロード動作を再実行する
ことを特徴とする速度補正値キャリブレーション方法。
【請求項２】
前記ロード制御開始に際して、前記キャリッジを外周ストッパに押し当てることで前記ボイスコイルモータの実際の速度をゼロにし、その状態で前記キャリブレーション動作を行うことを特徴とする請求項１記載の速度補正値キャリブレーション方法。
【請求項３】
キャリッジを駆動することでヘッドをディスクの半径方向に移動させるボイスコイルモータと、前記ボイスコイルモータの逆起電圧に対応したボイスコイルモータ速度を検出するボイスコイルモータ速度検出回路と、前記ヘッドを退避しておくための前記ディスクの外周の外側に配置されたランプ機構とを備えたヘッドロード／アンロード方式のディスク装置において、
前記ヘッドが前記ディスクの最内周位置から外れないように前記キャリッジを固定する内周ストッパと、
前記ヘッドが前記ランプ機構にアンロードされた際に前記キャリッジを固定する外周ストッパと、
前記ヘッドを前記ランプ機構上から前記ディスク上にロードするためのロード制御を行うロード制御手段と、
前記ロード制御手段によるロード制御開始に際して、前記ボイスコイルモータの実際の速度をゼロにした状態で、前記ボイスコイルモータ速度検出回路により検出されるボイスコイルモータ速度検出値を読み込み、当該速度検出値に基づいて、前記ボイスコイルモータに流れるボイスコイルモータ電流の値と前記ボイスコイルモータ速度検出回路により検出されるボイスコイルモータ速度検出値との関係を補正するための速度補正値を取得するキャリブレーション動作を行う第１のキャリブレーション手段と、
アンロード命令を受けた場合に、前記第１のキャリブレーション手段によるキャリブレーション動作で取得された速度補正値を用いて、前記ヘッドを前記ランプ機構にアンロードするためのアンロード制御を行うアンロード制御手段と、
アンロード動作の異常を検出するアンロード動作異常検出手段と、
前記アンロード動作異常検出手段によって前記アンロード動作の異常が検出された場合、前記キャリッジを前記内周ストッパの方向に移動させて当該内周ストッパに押し当てることで前記ボイスコイルモータの実際の速度をゼロにし、その状態で前記キャリブレーション動作を再実行して前記速度補正値を更新する第２のキャリブレーション手段とを具備し、
前記アンロード制御手段は、前記アンロード動作異常検出手段によって前記アンロード動作の異常が検出された場合、前記第２のキャリブレーション手段による更新後の速度補正値を用いてアンロード制御を再実行することを特徴とするディスク装置。
【請求項４】
前記第１のキャリブレーション手段は、前記キャリッジを前記外周ストッパに押し当てることで前記ボイスコイルモータの実際の速度をゼロにし、その状態で前記キャリブレーション動作を行うことを特徴とする請求項３記載のディスク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ヘッドのロード／アンロード方式を適用するディスク装置に係り、特にアンロード動作時に使用する速度検出値を自動調整するのに好適な速度補正値キャリブレーション方法に関する。
【０００２】
【従来の技術】
近時、ヘッドにより情報の記録再生を行うディスク装置、例えば小型磁気ディスク装置の中には、ロード／アンロード方式と呼ばれるヘッドの退避方法を適用するものが出現している。ロード／アンロード方式の特徴は、ディスク（記録メディア）の回転停止状態など、データのリード／ライト動作を行わない状態では、ヘッドはディスクの外周より更に外側に位置するランプ機構上に停止している。この状態で、ホストからの命令によって、ヘッドをランプ機構上の退避位置からディスク上に移動させて、リード／ライト動作を行う。リード／ライト動作終了後、ヘッドをディスク上からランプ機構上に戻す。
【０００３】
ここで、ヘッドをランプ機構上からディスク上に移動させることをロード動作、逆にディスク上からランプ機構上に移動させることをアンロード動作という。
【０００４】
さて、特開平８−６３９２０号公報には、ヘッドスライダを有するアームをアクチュエータにより駆動して回転型情報記録ディスクにロード・アンロードする装置において、アクチュエータのボイスコイル型駆動機構の逆起電圧が検出されて、駆動制御回路にフィードバックされることにより、この制御回路が、アクチュエータの位置及び速度の制御を行う構成が記載されている。つまり、上記公報には、ロード動作、またはアンロード動作を行う場合、ボイスコイルモータ（ＶＣＭ）に発生する逆起電圧を用いてＶＣＭ速度を検出し、速度フィードバック制御を行うことが記載されている。
【０００５】
【発明が解決しようとする課題】
しかし上記した従来技術によって、ボイスコイルモータ（ＶＣＭ）に発生する逆起電圧を用いてＶＣＭ速度を検出し、速度フィードバック制御を行う場合、温度変化等によってＶＣＭのコイルの抵抗値が変化すると、ＶＣＭに流している電流値（ＶＣＭ電流値）とＶＣＭ速度検出値の関係が変化して、正しく速度フィードバック制御がを行えないという問題があった。しかし、上記公報には、温度変化等によってＶＣＭのコイルの抵抗値が変化して、ＶＣＭ電流値とＶＣＭ速度検出値の関係が変化した場合の問題の所在と、その解決手法については何も記載されていない。
【０００６】
本発明は上記事情を考慮してなされたものでその目的は、ボイスコイルモータに流れるボイスコイルモータ電流の値とボイスコイルモータ速度検出回路により検出されるボイスコイルモータ速度検出値との関係を補正するための速度補正値を高精度に取得することができ、もってロード／アンロード時の正確な速度フィードバック制御を行うことができる速度補正値キャリブレーション方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、ヘッドロード／アンロード方式のディスク装置において、ヘッドをランプ機構上からディスク上にロードするためのロード制御開始に際して、ボイスコイルモータ（ＶＣＭ）の実際の速度をゼロにした状態で、ボイスコイルモータ速度検出回路（ＶＣＭ速度検出回路）により検出されるＶＣＭ速度検出値を読み込み、当該速度検出値に基づいて、ＶＣＭに流れるＶＣＭ電流の値とＶＣＭ速度検出回路により検出されるＶＣＭ速度検出値との関係を補正するための速度補正値を取得するキャリブレーション動作を行い、ロード動作後には、定期的に上記キャリブレーション動作を再実行して上記速度補正値を更新することを特徴とする。
【０００９】
本発明においては、ＶＣＭの実際の速度をゼロにした状態で、ＶＣＭ速度検出回路により検出されるＶＣＭ速度検出値を読み込みことで、当該速度検出値に基づいて、ＶＣＭに流れるＶＣＭ電流の値とＶＣＭ速度検出回路により検出されるＶＣＭ速度検出値との関係を補正するための速度補正値（ＶＣＭ速度補正値）を高精度に取得することができる。このため、当該速度補正値を利用することで、アンロード動作での速度フィードバック制御で、ＶＣＭ速度検出回路により検出された速度検出値を正しく補正することができ、正しいアンロード動作が可能となる。
【００２５】
また本発明は、アンロード命令を受けた場合に、上記ロード制御開始に際して行われたキャリブレーション動作で取得された速度補正値を用いてアンロード動作を行い、当該アンロード動作が異常終了したならば、キャリッジを内周ストッパ位置に移動させて上記ボイスコイルモータの実際の速度をゼロにした状態で上記キャリブレーション動作を再実行して上記速度補正値を更新し、その更新後の速度補正値を用いてアンロード動作を再実行することをも特徴とする。
【００２６】
アンロード命令に従うアンロード制御を行った際、ロード時に取得した速度補正値の誤差によって、アンロード動作が正しく行えない可能性がある。アンロード制御中のＶＣＭ電流値がランプ機構にヘッドをアンロードさせられるだけの電流値に達していない場合、アンロード動作異常となる。この場合、ヘッドはランプ機構上に存在しない可能性が高い。そこで本発明では、アンロード動作異常時には、内周ストッパ位置までキャリッジを移動させて当該キャリッジを内周ストッパに押し当ててキャリブレーションを再実行して速度補正値を更新し、その更新後の速度補正値を用いてアンロード動作を再実行するようにしている。これにより、正しいアンロード動作を行うことが可能となる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態につき、ヘッドのロード／アンロード方式を適用する磁気ディスク装置に適用した場合を例に図面を参照して説明する。
【００２８】
図１は本発明の一実施形態に係る磁気ディスク装置の全体構成を示すブロック図である。
【００２９】
図１において、１０１はデータが記録される媒体であるディスク（磁気ディスク）、１０２はディスク１０１へのデータ書き込み（データ記録）及びディスク１０１からのデータ読み出し（データ再生）に用いられるヘッド（磁気ヘッド）である。ヘッド１０２は、ディスク１０１の各面に対応してそれぞれ設けられている。図１の構成では、単一枚のディスク１０１が配置された磁気ディスク装置を想定しているが、複数枚のディスクが積層配置された構成であっても構わない。
【００３０】
ディスク１０１の各面には同心円状の多数のトラックが形成され、各トラックには、位置決め制御等に用いられるサーボデータが記録された複数のサーボエリアが等間隔で配置されている。これらのサーボエリアは、ディスク１０１上では中心から各トラックを渡って放射状に配置されている。サーボエリア間はデータエリア（ユーザエリア）となっており、当該データエリアには複数のデータセクタが設定される。サーボデータは対応するサーボエリアが存在するシリンダのシリンダ番号を示すシリンダコード、当該シリンダコードの示すシリンダ内の位置誤差を波形の振幅で示すためのバーストデータを含む。
【００３１】
ヘッド１０２はロータリ型アクチュエータとしてのキャリッジ（ヘッド移動機構）１０３に取り付けられており、当該キャリッジ１０３の角度回転に従ってディスク１０１の半径方向に移動する。これにより、ヘッド１０２は、目標トラック上にシーク・位置決めされるようになっている。ディスク１０１の外周の更に外側には、図２に示すように、ディスク１０１の回転停止状態等においてヘッド１０２をリトラクト（退避）させておくためのランプ（ランプ機構）２００が配置されている。このランプ２００は、ディスク１０１に近接して、且つキャリッジ１０３に取り付けられたサスペンション１０３ａの先端（タブ）の移動経路上の所定位置に設けられている。ランプ２００の先端部（ディスク１０１側の端部）はヘッド１０２をリトラクトし易いように傾斜部２０１を形成している。ヘッド１０２をディスク１０１上からランプ２００に移動するアンロード動作時には、キャリッジ１０３のサスペンション１０３ａの先端（タブ）が、ランプ２００の傾斜部２０１上を摺動して上る。これによりヘッド１０２はディスク１０１から持ち上げられ、ランプ２００上を摺動して移動して所定位置で停止する。
【００３２】
ディスク１０１はスピンドルモータ（以下、ＳＰＭと称する）１０４により高速に回転する。キャリッジ１０３は、ボイスコイルモータ（以下、ＶＣＭと称する）１６により駆動される。
【００３３】
ＳＰＭ１０４は、ＳＰＭドライバ（ＳＰＭ駆動回路）１０６から供給される制御電流（ＳＰＭ電流）により駆動される。ＶＣＭ１０５は、ＶＣＭドライバ（ＶＣＭ駆動回路）１０７から供給される制御電流（ＶＣＭ電流）により駆動される。ＶＣＭ速度検出回路１０８はＶＣＭ１０５の駆動に応じて当該ＶＣＭ１０５に発生する逆起電圧（ＶＣＭ逆起電圧）で決まるＶＣＭ１０５の駆動速度（ＶＣＭ速度）を（表す電圧を）検出する。このＶＣＭ速度の検出値は、ヘッド１０２の移動速度を示す。本実施形態において、ＳＰＭドライバ１０６、ＶＣＭドライバ１０７及びＶＣＭ速度検出回路１０８は、１チップに集積回路化されたドライバＩＣ１１０によって実現されている。ＳＰＭドライバ１０６からＳＰＭ１０４に、ＶＣＭドライバ１０７からＶＣＭ１０５に、それぞれ供給される制御電流を決定するための値（制御量）は、後述するＣＰＵ１１３により決定される。
【００３４】
ヘッド１０２は、ディスク１０１の目標トラック上にシーク・位置決めされた後、当該ディスク１０１の回転動作により、そのトラック上を走査する。またヘッド１０２は走査により、そのトラック上に等間隔を保って配置されたサーボエリアのサーボデータを順に読み込む。またヘッド１０２は走査により、目標データセクタに対するデータの読み書きを行う。
【００３５】
ヘッド１０２はフレキシブルプリント配線板（ＦＰＣ）に実装されたヘッドアンプ回路（ヘッドＩＣ）１１１と接続されている。ヘッドアンプ回路１１１はヘッド１０２との間のリード／ライト信号の入出力等を司る。ヘッドアンプ回路１１１は、ヘッド１０２で読み取られたアナログ出力（ヘッド１０２のリード信号）を増幅すると共に、リード／ライト回路（リード／ライトＩＣ）１１２から送られるライトデータに所定の信号処理を施してこれをヘッド１０２に送る。
【００３６】
リード／ライト回路１１２は、ヘッド１０２によりディスク１０１から読み出されてヘッドアンプ回路１１１で増幅されたアナログ出力（ヘッド１０２のリード信号）を一定の電圧に増幅するＡＧＣ（自動利得制御）機能と、このＡＧＣ機能により増幅されたリード信号から例えばＮＲＺコードのデータに再生するのに必要な信号処理を行うデコード機能（リードチャネル）と、ディスク１０１へのデータ記録に必要な信号処理を行うエンコード機能（ライトチャネル）と、上記リード信号からのサーボデータ抽出を行うサーボ抽出機能とを有している。
【００３７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）１１３は、制御プログラムが格納されている図示せぬＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を内蔵し、当該制御プログラムに従って磁気ディスク装置の各部の制御を行う。ＣＰＵ１１３は、上記のＲＯＭの他に、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリ１１４、タイマ１１５、リード／ライト回路１１２で抽出されたサーボデータ中のバーストデータ（バースト信号）ディジタル化するＡ／Ｄ（アナログ／ディジタル変換器）変換器１１６ａ、ＶＣＭ速度検出回路１０８で検出されたＶＣＭ速度検出値、及び後述する温度センサ１１９で測定されたＶＣＭ１０５の温度測定値（ＶＣＭ温度）をディジタル化するＡ／Ｄ変換器１１６ｂ、及びＩ／Ｏ（入出力）インタフェース１１７を内蔵している。
【００３８】
ＣＰＵ１１３は、リード／ライト回路１１２により抽出されたサーボデータ中のシリンダコード、及び当該リード／ライト回路１１２により抽出されてＡ／Ｄ変換器１１６ａを介して入力されるサーボデータ中のバーストデータをもとにヘッド位置を算出して、ヘッド１０２を目標トラックの目標位置に移動（シーク・位置決め）するための制御量をサーボエリア単位で決定し、その制御量をＩ／Ｏインタフェース１１７を介してＶＣＭドライバ１０７に供給することで、ヘッド１０２を目標位置にシーク・位置決めするヘッド位置決め制御を行う。
【００３９】
またＣＰＵ１１３は、ヘッド１０２をランプ２００上からディスク１０１上に移動させるロード動作時及び当該ヘッド１０２をディスク１０１上からランプ２００上にリトラクトさせるアンロード動作時に、ＶＣＭ速度検出回路１０８にて検出されてＡ／Ｄ変換器１１６ａによりディジタル化されたＶＣＭ速度検出値をもとにロード／アンロード速度制御量を算出し、その制御量をＩ／Ｏインタフェース１１７を介してＶＣＭドライバ１０７に与える速度フィードバック制御（によるロード／アンロード制御）を行う。
【００４０】
ＨＤＣ（ディスクコントローラ）１１８は、ホスト装置（ホストシステム）との間でコマンド、データの通信を行うためのプロトコル処理、リード／ライト回路１１２を通じてのディスク１０１に対する読み出し／書き込み制御、ホスト装置との間のリード／ライトデータの転送制御を司る。
【００４１】
温度センサ１１９は、ＶＣＭ１０５の温度またはＶＣＭ１０５の周辺（近傍）の温度（ＶＣＭ温度）を測定するのに用いられる。
【００４２】
さて、ＶＣＭ速度検出回路１０８は、図３に示すようにＶＣＭ１０５に接続されて用いられる周知の回路構成を有しており、オペアンプ３０１，３０２、及び抵抗３０３〜３０９からなる。抵抗３０３はセンス抵抗であり、その抵抗値はＲｓである。また、抵抗３０４，３０５の抵抗値はＲ１，Ｒ２、抵抗３０６〜３０９の抵抗はいずれもＲである。
【００４３】
図３において、ＶＣＭ１０５の両端間に発生する電圧Ｖｖｃｍは、次式
Ｖｖｃｍ＝Ｒｖｃｍ＊Ｉｖｃｍ＋Ｌｖｃｍ＊ｄＩ／ｄＴ＋ＢＥＦ  …（１）
Ｖｖｃｍ  ：ＶＣＭ両端にかかる電圧
Ｒｖｃｍ  ：ＶＣＭ抵抗
Ｉｖｃｍ  ：ＶＣＭに流れる電流
Ｌｖｃｍ  ：ＶＣＭコイルインダクタンス
ＢＥＦ：逆起電圧
で表される。
【００４４】
上記（１）式よりＶＣＭ１０５の逆起電圧ＢＥＦを求めると、
ＢＥＦ＝Ｖｖｃｍ−Ｒｖｃｍ＊Ｉｖｃｍ−Ｌｖｃｍ＊ｄＩ／ｄＴ    …（２）
となる。ここで、時間が十分に経過したものと考えると、
Ｌｖｃｍ  ＊ｄＩ／ｄＴ≒０                          …（３）
となり、（２）式は
ＢＥＦ＝Ｖｖｃｍ−Ｒｖｃｍ＊Ｉｖｃｍ                      …（４）
として求められる。
【００４５】
上記Ｒｖｃｍ（ＶＣＭ抵抗）は
Ｒｖｃｍ＝Ｒｖｃｍ−２５℃＊（１＋Ｋ△Ｔ）                …（５）
Ｒｖｃｍ−２５℃：常温（２５℃）でのＶＣＭ抵抗値
Ｋ：温度係数
△Ｔ：温度変化値
として求められる。
【００４６】
今、Ｒｖｃｍを求めるために次式（６）を考える。
Ｒｖｃｍ＝Ｒｓ＊Ｒ２／Ｒ１                            …（６）
この（６）式を考慮すると、逆起電圧ＢＥＦは次式
ＢＥＦ＝一（Ｖｖｃｍ−Ｉｖｃｍ＊Ｒｓ＊Ｒ２／Ｒ１）十ＶＲＥＦ  …（７）
Ｒｓ  ：センス抵抗
ＶＲＥＦ：リファレンス電圧
のように表される。つまり、（７）式より、逆起電圧ＦＥＦを検出できる。
【００４７】
また、上記（７）式により算出した逆起電圧ＢＥＦを用いて、
ＶＣＭ速度検出値＝Ｇ＊ＢＥＦ                    …（８）
Ｇ：速度換算係数
として、逆起電圧ＢＥＦに対応した（比例した）ＶＣＭ速度を算出できる。ＶＣＭ速度検出回路１０８では、この逆起電圧ＢＥＦと速度換算係数Ｇとから決定されるＶＣＭ速度検出値（Ｇ＊ＢＥＦ）が検出される。ここで、速度換算係数ＧはＶＣＭ速度検出回路１０８の回路ゲインであり、逆起電圧ＢＥＦからＶＣＭ速度検出値を求めるのに必要な値に設定されている。
【００４８】
本来、ＶＣＭ電流値に対する速度０での逆起電圧の検出値（に対応するＶＣＭ速度検出値）は０であるはずである。ところが、回路誤差によってＶＣＭ電流値（Ｉｖｃｍ）に対するＶＣＭ速度ゼロ（０）での逆起電圧の検出値に差異が生じる。その最も大きな要因は、ＶＣＭ抵抗Ｒｖｃｍが温度によって変化し、（６）式の左辺の値（つまり実際のＲｖｃｍ）と右辺の値（擬似的に算出されるＲｖｃｍ）に差が生じることにある。
【００４９】
図４に、ＶＣＭ電流値（Ｉｖｃｍ）とＶＣＭ速度ゼロでの逆起電圧に対応するＶＣＭ速度の検出値との関係例を、２つの温度Ａ，Ｂ（Ａ＞Ｂ）の場合について示す。なお、図４は概念図のために、Ｉｖｃｍ＝０においてＶＣＭ速度検出値が０となるように表されているが、このＶＣＭ速度検出値はＩｖｃｍ＝０において０とならないのが一般的である。
【００５０】
ＶＣＭ速度ゼロでの逆起電圧に対応するＶＣＭ速度は、キャリッジ１０３を固定して、ＶＣＭ電流を変化させることでＶＣＭ速度検出回路１０８により検出できる。
【００５１】
一般にヘッドのロード／アンロード方式を適用する磁気ディスク装置では、ヘッド１０２がディスク１０１の最内周位置から外れないように、キャリッジ１０３を固定する内周ストッパと、ヘッド１０２がランプ２００上にアンロードされた際に、そのランプ２００の所定位置から外側に飛び出さないようにキャリッジ１０３を固定する外周ストッパ（いずれも図示せず）とが設けられている。そこで、キャリッジ１０３を内周ストッパまたは外周ストッパに押し当てた状態でＶＣＭ電流を変化させることにより、ＶＣＭ速度ゼロでの逆起電圧に対応するＶＣＭ速度（ＶＣＭ速度検出値）の検出が実現できる。
【００５２】
キャリッジ位置を固定してＶＣＭ１０５に電流Ｉｖｃｍを流しても、速度ゼロなので本来は逆起電圧ＢＥＦは０（Ｖ）のはずである。しかし、（６）式により擬似的に算出されるＲｖｃｍ（＝Ｒｓ＊Ｒ２／Ｒ１）と実際のＲｖｃｍが異なることから、（７）式の左辺の値と右辺の値にも差異が生じる。この結果、速度ゼロの状態でＶＣＭ１０５にＩｖｃｍを流した際にＶＣＭ速度検出回路１０８により検出される（８）式のＶＣＭ速度値にも、検出誤差が生じる。このため、ＶＣＭ速度検出値を補正する必要が生じる。ＶＣＭ速度検出値を補正することで、正しく速度フィードバック制御を行うことが可能となる。
【００５３】
さて、ＶＣＭ速度検出値の補正値（ＶＣＭ速度補正値）は、ＣＰＵ１１３により次のようにして求めることができる。
まずＣＰＵ１１３は、ＶＣＭドライバ１０７を介してＶＣＭ１０５を駆動制御してヘッド１０２を例えばランプ２００上にアンロードさせて、キャリッジ１０３を外周ストッパに押し当てる。この状態、つまりＶＣＭ１０５の速度がゼロの状態で、ＶＣＭ１０５の逆起電圧ＢＥＦに対応するＶＣＭ速度をＶＣＭ速度検出回路１０８により検出させる動作を、ＶＣＭドライバ１０７からＶＣＭ１０５に供給されるＶＣＭ電流（Ｉｖｃｍ）の値を複数段階変えて実行する。ここでは、ＶＣＭ電流値ＡとＶＣＭ電流値Ｂの２つの電流値について実行するものとする。
【００５４】
このＩｖｃｍがそれぞれＡ，Ｂの場合のＶＣＭ速度検出値（ＶＥＬ）が、図５に示すようにＳＳ，ＬＬであるとすると、ＶＣＭ電流−速度ゼロでのＶＣＭ速度検出値特性を表す直線の傾きｋは、
ｋ＝（ＬＬ−ＳＳ）／（Ｂ−Ａ）                  …（９）
により求められる。
【００５５】
これにより、ＶＣＭ電流がゼロ（Ｉｖｃｍ＝０）の場合のＶＣＭ速度検出値ＶＥＬ０、つまりＶＣＭ速度検出回路１０８の回路誤差に起因するＤＣオフセット電圧ＶＥＬ０は、
0003607513.tif 000002
により求められる。
【００５６】
以上のＤＣオフセット電圧（ＶＥＬ０）及び傾きｋの組をＶＣＭ速度補正値（キャリブレーション値）と呼ぶ。また、このＶＣＭ速度補正値を求める動作、即ちキャリッジ１０３を内周ストッパまたは外周ストップに押し当てた状態、つまり速度ゼロの状態で、数段階（ここでは２段階）の電流値のＶＣＭ電流をＶＣＭ１０５に流して、ＤＣオフセット電圧（ＶＥＬ０）及び傾きｋからなるＶＣＭ速度補正値を求める動作をキャリブレーション動作（速度補正値キャリブレーション動作）と呼ぶ。
【００５７】
ヘッド１０２のロード／アンロード制御時には、上記のキャリブレーション動作により求められるＶＣＭ速度補正値（ＶＥＬ０，ｋ）を用いて、以下に述べるようにＶＣＭ速度検出値を補正して速度フィードバック制御を行えばよい。
【００５８】
まずＣＰＵ１１３は、現在のＶＣＭ速度検出値ＶＥＬをＶＣＭ速度検出回路１０８からＡ／Ｄ変換器１１６ｂを介して読み込む。
次にＣＰＵ１１３は、ＶＣＭ速度補正値中のＤＣオフセット電圧ＶＥＬ０を用いて、ＶＣＭ速度検出値ＶＥＬから当該ＶＥＬ０を差し引く
ＶＥＬ１＝ＶＥＬ−ＶＥＬ０                      …（１１）
の計算を行うことで、補正された現在のＶＣＭ速度検出値ＶＥＬ１を求める。
【００５９】
次にＣＰＵ１１３は、前回ＶＣＭドライバ１０７を介してＶＣＭ１０５に流したＶＣＭ電流（制御電流）とＶＣＭ速度補正値中のｋとから前回のＶＣＭ速度（ｋ＊ＶＣＭ電流）を求め、その前回のＶＣＭ速度と今回のＶＣＭ速度検出値ＶＥＬ１との差分をとる計算を
ＶＥＬ２＝ＶＥＬ１−ｋ＊ＶＣＭ電流              …（１２）
のように行うことで、差分速度ＶＥＬ２を算出する。
【００６０】
ＣＰＵ１１３は、この差分速度ＶＥＬ２が目標速度となるように制御量を決定し、その制御量をＩ／Ｏインタフェース１１７を介してＶＣＭドライバ１０７に出力することで、その制御量に対応するＶＣＭ電流（制御電流）をＶＣＭドライバ１０７からＶＣＭ１０５に流させる。このようにして、ロード／アンロード制御時の正しい速度フィールドバックが可能となる。
【００６１】
ところが、温度変化等によってＶＣＭ１０５のコイルの抵抗値（ＶＣＭ抵抗値）が変化して、ＶＣＭ電流値とＶＣＭ速度検出値の関係が変化すると、上記のＶＣＭ速度補正値は意味がなくなる。そこで本実施形態では、温度変化等によってＶＣＭ抵抗値が変化して、ＶＣＭ電流値とＶＣＭ速度検出値の関係が変化する虞がある場合を検出し、その場合には上記のキャリブレーション動作を再実行してＶＣＭ速度補正値を更新するようにしている。
【００６２】
以下、本実施形態で適用可能な第１乃至第４のキャリブレーション方法について、順に説明する。
【００６３】
（１−１）第１のキャリブレーション方法
まず、第１のキャリブレーション方法について図６のフローチャートを参照して説明する。
【００６４】
ＣＰＵ１１３は、ホスト装置からロード命令を受け取って、当該命令に従ってヘッド１０２をランプ２００上からディスク１０１上に移動する（ホスト装置からのロード命令に従う）ロード動作を開始する際には、タイマ１１５を初期化して起動する（ステップＡ１）。
【００６５】
次にＣＰＵ１１３は、ＶＣＭドライバ１０７を制御してキャリッジ１０３を外周ストッパに押し当てた状態で、キャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、その外周ストッパ位置での速度ゼロの状態における先に述べたキャリブレーション動作を行う（ステップＡ２）。ここでは、ＶＣＭ速度検出回路１０８から各ＶＣＭ電流値Ａ，Ｂ毎に対応するＶＣＭ速度検出値ＳＳ，ＬＬを（Ａ／Ｄ変換器１１６ａを介して）それぞれ読み込んで、上記（９）式に従うｋ、及び上記（１０）式に従うＤＣオフセット電圧ＶＥＬ０からなるＶＣＭ速度補正値を求めてメモリ１１４の所定位置に格納する処理が行われる。
【００６６】
そしてＣＰＵ１１３は、ＶＣＭ速度検出回路１０８からＶＣＭ速度検出値を読み込み、現在のＶＣＭ速度補正値をもとに当該ＶＣＭ速度検出値を補正しながら速度フィードバック動作を行ってヘッド１０２をディスク１０１上に移動するロード制御を行う（ステップＡ３）。
【００６７】
さてＣＰＵ１１３は、ヘッド１０２をヘッド１０２上の目標位置に位置決めするヘッド位置決め制御の状態（つまり通常制御の状態）において、レディ状態にあるならば（ステップＢ１）、タイマ１１５の値（タイマ値）を読み込んでチェックする（ステップＢ２）。
【００６８】
もし、タイマ値が予め定められた規定時間未満の場合、つまり前回（最新）のキャリブレーション動作時（ここではロード動作時）からの経過時間が規定時間に達していない場合、ＣＰＵ１１３は前回のキャリブレーション動作時の温度に比較して温度差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【００６９】
これに対し、タイマ値が規定時間以上の場合、つまり前回のキャリブレーション動作時からの経過時間が規定時間以上となっている場合、ＣＰＵ１１３は前回のキャリブレーション動作時（ここではロード動作時）に対するＶＣＭ温度の変化が大きくなっている可能性があるため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行い、キャリッジ１０３を内周ストッパに押し当てる（ステップＢ３）。
【００７０】
この状態でＣＰＵ１１３は、キャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行って、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＢ４）。
【００７１】
そしてＣＰＵ１１３は、タイマ１１５を初期化して再起動した後（ステップＢ５）、ヘッド１０２を元のヘッド位置に移動するシーク動作を行い（ステップＢ６）、通常のヘッド位置決め制御の状態に戻る。この状態において、タイマ１１５の値が規定時間以上となると、上記ステップＢ３以降の処理に進んで新たなキャリブレーション動作が行われてＶＣＭ速度補正値が更新され、タイマ１１５が再起動される。
【００７２】
このように第１のキャリブレーション方法では、前回のキャリブレーション動作時から規定時間以上経過すると、新たなキャリブレーション動作を行ってＶＣＭ速度補正値を更新するようにしているので、即ちロード動作後は、定期的にキャリブレーション動作を行ってＶＣＭ速度補正値を更新するようにしているので、時間経過のために以前のＶＣＭ温度に比較して温度差が大きくなっている可能性がある場合でも、アンロード制御時には、その時点のＶＣＭ温度を反映した最新のＶＣＭ速度補正値が利用でき、正しいアンロード動作を行うことができる。
【００７３】
なお、以上の説明では、ヘッド位置決め制御の期間において、レディ状態にある場合にタイマチェックに入るものとしたが、コマンド処理が必要な場合、つまりビジー状態にある場合にも、タイマチェックを優先して行うようにしても構わない。
【００７４】
（１−２）第１のキャリブレーション方法の第１の変形例
次に、第１のキャリブレーション方法の第１の変形例について図７のフローチャートを参照して説明する。この第１の変形例の特徴は、ロード動作後のＶＣＭ速度補正値更新のためのキャリブレーション動作を内周ストッパ位置ではなく、外周ストッパ位置で行うことにある。
【００７５】
まず、ロード動作時の処理は前記第１のキャリブレーション方法と同様であり、図６（ａ）のフローチャートに従って処理される。
【００７６】
次に、ヘッド位置決め制御の期間には、次のように処理される。
ＣＰＵ１１３は、ヘッド位置決め制御の状態においてレディ状態にあるならば（ステップＣ１）、タイマ１１５の値を読み込んでチェックする（ステップＣ２）。もし、タイマ値が規定時間未満の場合には、ＣＰＵ１１３は前回のキャリブレーション動作時の温度に比較して温度差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【００７７】
これに対し、タイマ値が規定時間以上の場合には、ＣＰＵ１１３は前回のキャリブレーション動作時（ここではロード動作時）の温度に比較して温度差が大きくなっている可能性があるため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をランプ２００に移動するアンロード制御を行い、キャリッジ１０３を外周ストッパに押し当てる（ステップＣ３）。ここでのアンロード制御には前回（規定時間前）のキャリブレーション動作で求められた最新のＶＣＭ速度補正値が用いられるため、正しいアンロード動作が期待される。但し、以下のキャリブレーション動作を行ってＶＣＭ速度補正値を更新しないでいると、その補正値の誤差が時間経過と共に大きくなる可能性がある。
【００７８】
そこでＣＰＵ１１３は、ヘッド１０２をアンロードしてキャリッジ１０３を外周ストッパに押し当てている状態で、キャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、外周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行って、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＣ４）。
【００７９】
そしてＣＰＵ１１３は、タイマ１１５を初期化して再起動した後（ステップＣ５）、ヘッド１０２をランプ２００からディスク１０１上に移動するロード制御を行って、元のヘッド位置にシークさせ（ステップＣ６，Ｃ７）、通常のヘッド位置決め制御の状態に戻る。
【００８０】
（１−３）第１のキャリブレーション方法の第２の変形例
次に、第１のキャリブレーション方法の第２の変形例について図８のフローチャートを参照して説明する。この第２の変形例の特徴は、ＶＣＭ速度補正値を必要とするアンロード制御に際してタイマチェックを行い、そのチェック結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行うことにある。
【００８１】
まず、ロード動作時の処理は前記第１のキャリブレーション方法と同様であり、図６（ａ）のフローチャートに従って処理される。また、ヘッド位置決め制御の期間の動作は従来と同様であり、タイマチェックやそのチェック結果に基づくキャリブレーション動作は行われない。
【００８２】
ＣＰＵ１１３は、ホスト装置からアンロード命令を受け取って、当該命令に従ってヘッド１０２をディスク１０１上からランプ２００上に移動するアンロード動作を開始する際には、タイマ１１５の値を読み込んでチェックする（ステップＤ１）。もし、タイマ値が規定時間未満の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が小さく、ＶＣＭ速度補正値の更新は不要であると判断し、そのままアンロード制御を実行する（ステップＤ２）。ここでのアンロード制御にはロード動作時のキャリブレーション動作で求められたＶＣＭ速度補正値が用いられる。
【００８３】
これに対し、タイマ値が規定時間以上の場合には、ＣＰＵ１１３はロード動作時の温度に比較して温度差が大きくなっている可能性があるため、ＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行い、キャリッジ１０３を内周ストッパに押し当てる（ステップＤ３）。
【００８４】
この状態でＣＰＵ１１３は、キャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行って、メモリ１１４の所定位置に格納されているロード動作時に求めたＶＣＭ速度補正値を更新する（ステップＤ４）。
そしてＣＰＵ１１３は、この更新後のＶＣＭ速度補正値を用いたアンロード制御を実行する（ステップＤ２）
（２−１）第２のキャリブレーション方法
次に、第２のキャリブレーション方法について図９のフローチャートを参照して説明する。この第２のキャリブレーション方法の特徴は、温度センサ１１９により測定されるＶＣＭ温度の変化をチェックし、そのチェック結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行うことにある。
【００８５】
ＣＰＵ１１３は、ヘッド１０２をランプ２００上からディスク１０１上に移動する（ホスト装置からのロード命令に従う）ロード動作の開始時には、まず温度センサ１１９により測定されるＶＣＭ温度をＡ／Ｄ変換器１１６ｂによりディジタル化して読み込んでメモリ１１４の所定位置に格納する（ステップＥ１）。
【００８６】
次にＣＰＵ１１３は、ＶＣＭドライバ１０７を制御してキャリッジ１０３を外周ストッパに押し当てた状態で、キャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、その外周ストッパ位置での速度ゼロの状態における先に述べたキャリブレーション動作を行う（ステップＥ２）。ここでは、ＶＣＭ速度検出回路１０８から各ＶＣＭ電流値Ａ，Ｂ毎に対応するＶＣＭ速度検出値ＳＳ，ＬＬを（Ａ／Ｄ変換器１１６ａを介して）それぞれ読み込んで、上記（９）式に従うｋ、及び上記（１０）式に従うＤＣオフセット電圧ＶＥＬ０からなるＶＣＭ速度補正値を求めてメモリ１１４の所定位置に格納する処理が行われる。
【００８７】
そしてＣＰＵ１１３は、ＶＣＭ速度検出回路１０８からＶＣＭ速度検出値を読み込み、現在のＶＣＭ速度補正値をもとに当該ＶＣＭ速度検出値を補正しながら速度フィードバック動作を行ってヘッド１０２をディスク１０１上に移動するロード制御を行う（ステップＥ３）。
【００８８】
さてＣＰＵ１１３は、ヘッド１０２をヘッド１０２上の目標位置に位置決めするヘッド位置決め制御の状態において、温度センサ１１９により測定されるＶＣＭ温度の測定値をＡ／Ｄ変換器１１６ｂを介して読み込むと共に、メモリ１１４に格納されているロード動作時のＶＣＭ温度を参照して（ステップＦ１，Ｆ２）、両温度の差Ｘを求め、その温度差の絶対値と予め定められた規定温度（規定温度差）とを比較する（ステップＦ３）。
【００８９】
もし、現在のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度未満の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【００９０】
これに対し、現在のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度以上の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が大きくなっているため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行って、キャリッジ１０３を内周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＦ４）。
【００９１】
そしてＣＰＵ１１３は、ヘッド１０２を元のヘッド位置にシークさせ（ステップＦ５）、通常のヘッド位置決め制御の状態に戻る。
【００９２】
なお、上記のＶＣＭ温度チェックを、前記第１のキャリブレーション方法におけるタイマチェックと同様に、レディ状態にあることを確認した場合に行うようにしても構わない。
【００９３】
（２−２）第２のキャリブレーション方法の第１の変形例
次に、第２のキャリブレーション方法の第１の変形例について図１０のフローチャートを参照して説明する。この第１の変形例の特徴は、ロード動作後のＶＣＭ速度補正値更新のためのキャリブレーション動作を内周ストッパ位置ではなく、外周ストッパ位置で行うことにある。
【００９４】
まず、ロード動作時の処理は前記第２のキャリブレーション方法と同様であり、図９（ａ）のフローチャートに従って処理される。
【００９５】
次に、ヘッド位置決め制御の期間には、次のように処理される。
ＣＰＵ１１３は、ヘッド位置決め制御の状態において、温度センサ１１９により測定されるＶＣＭ温度の測定値をＡ／Ｄ変換器１１６ｂを介して読み込むと共に、メモリ１１４に格納されているロード動作時のＶＣＭ温度を参照して（ステップＧ１，Ｇ２）、両温度の差Ｘを求め、その温度差の絶対値と予め定められた規定温度とを比較する（ステップＧ３）。
【００９６】
もし、現在のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度未満の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【００９７】
これに対し、アンロード動作時のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度以上の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が大きくなっているため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をランプ２００に移動するアンロード制御を行い、キャリッジ１０３を外周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、外周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＧ４）。
【００９８】
そしてＣＰＵ１１３は、ヘッド１０２をランプ２００からディスク１０１上に移動するロード制御を行って、元のヘッド位置にシークさせ（ステップＧ５，Ｇ６）、通常のヘッド位置決め制御の状態に戻る。
【００９９】
（２−３）第２のキャリブレーション方法の第２の変形例
次に、第２のキャリブレーション方法の第２の変形例について図１１のフローチャートを参照して説明する。この第２の変形例の特徴は、ＶＣＭ速度補正値を必要とするアンロード制御に際してＶＣＭ温度チェックを行い、そのチェック結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行うことにある。
【０１００】
まず、ロード動作時の処理は前記第２のキャリブレーション方法と同様であり、図９（ａ）のフローチャートに従って処理される。また、ヘッド位置決め制御の期間の動作は従来と同様であり、ＶＣＭ温度チェックやそのチェック結果に基づくキャリブレーション動作は行われない。
【０１０１】
ＣＰＵ１１３は、ヘッド１０２をディスク１０１上からランプ２００上に移動する（ホスト装置からのアンロード命令に従う）アンロード動作の開始時には、温度センサ１１９により測定されるＶＣＭ温度の測定値をＡ／Ｄ変換器１１６ｂを介して読み込むと共に、メモリ１１４に格納されているロード動作時のＶＣＭ温度を参照して（ステップＨ１，Ｈ２）、両温度の差Ｘを求め、その温度差の絶対値と予め定められた規定温度とを比較する（ステップＨ３）。
【０１０２】
もし、現在のＶＣＭ温度、即ちアンロード動作時のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度未満の場合には、ＣＰＵ１１３はロード時の温度に比較して温度差が小さく、ＶＣＭ速度補正値の更新は不要であると判断し、そのままアンロード制御を実行する（ステップＨ４）。ここでのアンロード制御にはロード動作時のキャリブレーション動作で求められたＶＣＭ速度補正値が用いられる。
【０１０３】
これに対し、現在のＶＣＭ温度とロード動作時のＶＣＭ温度との差（の絶対値）が規定温度以上の場合には、ＣＰＵ１１３はロード動作時の温度に比較して温度差が大きくなっている可能性があるため、ＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行って、キャリッジ１０３を内周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＨ５）。
そしてＣＰＵ１１３は、この更新後のＶＣＭ速度補正値を用いたアンロード制御を実行する（ステップＨ４）。
【０１０４】
（３−１）第３のキャリブレーション方法
次に、第３のキャリブレーション方法について図１２のフローチャートを参照して説明する。この第３のキャリブレーション方法の特徴は、ＶＣＭ速度検出回路１０８より測定されるＶＣＭ速度の変化をチェックし、そのチェック結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行うことにある。
【０１０５】
ＣＰＵ１１３は、ヘッド１０２をランプ２００上からディスク１０１上に移動する（ホスト装置からのロード命令に従う）ロード動作の開始時には、ＶＣＭドライバ１０７を制御してキャリッジ１０３を外周ストッパに押し当てた状態で、キャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、その外周ストッパ位置での速度ゼロの状態における先に述べたキャリブレーション動作を行う（ステップＩ１）。ここでは、上記ＶＣＭ速度補正値を求めてメモリ１１４の所定位置に格納する処理が行われる。
【０１０６】
次にＣＰＵ１１３は、ＶＣＭ速度検出回路１０８からＶＣＭ速度検出値を読み込み、現在のＶＣＭ速度補正値をもとに当該ＶＣＭ速度検出値を補正しながら速度フィードバック動作を行ってヘッド１０２をディスク１０１上に移動するロード制御を行う（ステップＩ２）。
【０１０７】
そしてＣＰＵ１１３は、ロード制御が終了すると、ヘッド１０２をディスク１０１上の目標位置に位置決めするオントラック制御に移行する。この際、ＣＰＵ１１３は、ロード制御からオントラック制御に切り替わった直後のＶＣＭ速度検出値をＶＣＭ速度検出回路１０８から読み込み、メモリ１１４の所定位置に格納する（ステップＩ３）。
【０１０８】
さてＣＰＵ１１３は、ヘッド１０２をヘッド１０２上の目標位置に位置決めするヘッド位置決め制御（オントラック制御）の状態において、ＶＣＭ速度検出回路１０８により検出されるＶＣＭ速度検出値をＡ／Ｄ変換器１１６ｂを介して読み込む（モニタする）と共に、メモリ１１４に格納されているロード動作時のＶＣＭ速度検出値を参照して（ステップＪ１，Ｊ２）、両速度検出値の差Ｖを求め、その速度差の絶対値と予め定められた規定値（規定速度差）とを比較する（ステップＪ３）。
【０１０９】
もし、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値未満の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【０１１０】
これに対し、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値以上の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が大きくなっているため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行って、キャリッジ１０３を内周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＪ４）。
【０１１１】
そしてＣＰＵ１１３は、ヘッド１０２を元のヘッド位置にシークさせ（ステップＪ５）、通常のヘッド位置決め制御の状態に戻る。
【０１１２】
なお、上記のＶＣＭ速度検出値チェックを、前記第１のキャリブレーション方法におけるタイマチェックと同様に、レディ状態にあることを確認した場合に行うようにしても構わない。
【０１１３】
（３−２）第３のキャリブレーション方法の第１の変形例
次に、第３のキャリブレーション方法の第１の変形例について図１３のフローチャートを参照して説明する。この第１の変形例の特徴は、ロード動作後のＶＣＭ速度補正値更新のためのキャリブレーション動作を内周ストッパ位置ではなく、外周ストッパ位置で行うことにある。
【０１１４】
まず、ロード動作時の処理は前記第３のキャリブレーション方法と同様であり、図１２（ａ）のフローチャートに従って処理される。
【０１１５】
次に、ヘッド位置決め制御の期間には、次のように処理される。
ＣＰＵ１１３は、ヘッド位置決め制御の状態において、ＶＣＭ速度検出回路１０８により検出されるＶＣＭ速度検出値をＡ／Ｄ変換器１１６ｂを介して読み込むと共に、メモリ１１４に格納されているロード動作時のＶＣＭ速度検出値を参照して（ステップＫ１，Ｋ２）、両速度検出値の差Ｖを求め、その速度差の絶対値と予め定められた規定値（規定速度差）とを比較する（ステップＫ３）。
【０１１６】
もし、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値未満の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が小さいものと判断し、何もしないでヘッド位置決め制御の状態に戻る。
【０１１７】
これに対し、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値以上の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が大きくなっているため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をランプ２００に移動するアンロード制御を行い、キャリッジ１０３を外周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が外周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、外周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＫ４）。
【０１１８】
そしてＣＰＵ１１３は、ヘッド１０２をランプ２００からディスク１０１上に移動するロード制御を行って、元のヘッド位置にシークさせ（ステップＫ５，Ｋ６）、通常のヘッド位置決め制御の状態に戻る。
【０１１９】
（３−３）第３のキャリブレーション方法の第２の変形例
次に、第３のキャリブレーション方法の第２の変形例について図１４のフローチャートを参照して説明する。この第２の変形例の特徴は、ＶＣＭ速度補正値を必要とするアンロード制御に際してＶＣＭ速度検出値チェックを行い、そのチェック結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行うことにある。
【０１２０】
まず、ロード動作時の処理は前記第３のキャリブレーション方法と同様であり、図１２（ａ）のフローチャートに従って処理される。また、ヘッド位置決め制御の期間の動作は従来と同様であり、ＶＣＭ速度検出値チェックやそのチェック結果に基づくキャリブレーション動作は行われない。
【０１２１】
ＣＰＵ１１３は、ヘッド１０２をディスク１０１上からランプ２００上に移動する（ホスト装置からのアンロード命令に従う）アンロード動作の開始時には、ＶＣＭ速度検出回路１０８により検出されるＶＣＭ速度検出値をＡ／Ｄ変換器１１６ｂを介して読み込むと共に、メモリ１１４に格納されているロード動作時のＶＣＭ速度検出値を参照して（ステップＬ１，Ｌ２）、両速度検出値の差Ｖを求め、その速度差の絶対値と予め定められた規定値（規定速度差）とを比較する（ステップＬ３）。
【０１２２】
もし、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値未満の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が小さいものと判断し、そのままアンロード制御を実行する（ステップＬ４）。ここでのアンロード制御にはロード動作時のキャリブレーション動作で求められたＶＣＭ速度補正値が用いられる。
【０１２３】
これに対し、現在のＶＣＭ速度検出値とロード動作時のＶＣＭ速度検出値との差（の絶対値）が規定値以上の場合には、ＣＰＵ１１３はＶＣＭ速度検出回路１０８での検出誤差が大きくなっているため、現在のＶＣＭ速度補正値を更新した方が良いと判断する。この場合、ＣＰＵ１１３は、ＶＣＭ１０５を駆動してヘッド１０２をディスク１０１の例えば内周方向にリトラクトするリトラクト動作を行って、キャリッジ１０３を内周ストッパに押し当て、この状態でキャリッジ１０３への駆動力が内周側に働く向きの例えば２段階の電流値Ａ，ＢのＶＣＭ電流をＶＣＭ１０５に流させることで、内周ストッパ位置での速度ゼロの状態におけるキャリブレーション動作を行い、メモリ１１４の所定位置に格納されている現在のＶＣＭ速度補正値を最新のものに更新する（ステップＬ５）。
そしてＣＰＵ１１３は、この更新後のＶＣＭ速度補正値を用いたアンロード制御を実行する（ステップＬ４）。
【０１２４】
（４）第４のキャリブレーション方法
次に、第４のキャリブレーション方法について図１５のフローチャートを参照して説明する。この第４のキャリブレーション方法の特徴は、アンロード制御時にアンロード動作の正常／異常判定を行い、その判定結果に応じてＶＣＭ速度補正値更新のためのキャリブレーション動作を行い、その更新後のＶＣＭ速度補正値を用いてアンロード制御を再度行うことにある。
【０１２５】
まず、ロード動作時の処理は前記第１のキャリブレーション方法と同様であり、図６（ａ）のフローチャートに従って処理される。
【０１２６】
さてＣＰＵ１１３は、ホスト装置からアンロード命令を受けた場合、メモリ１１４に格納されているロード動作時のＶＣＭ速度補正値を用いて（ステップＭ１）、ヘッド１０２をランプ２００上に移動するアンロード制御を実行する（ステップＭ２）。
【０１２７】
このアンロード制御では、図１６（ａ）に示すように、目標速度が一定となるように速度フィードバック制御が行われる。この際、ＶＣＭ速度検出回路１０８により正しくＶＣＭ速度の検出がなされているならば、キャリッジ１０３が外周ストッパに当たったときに、ＶＣＭ速度検出値が０になる。一方、速度フィードバック制御では、ＣＰＵ１１３は目標速度になるようにヘッド１０２を移動させようとするので、ＶＣＭ１０５に対する制御電流（ＶＣＭ電流）を最大電流値まで流そうとする。したがって、アンロード制御中にキャリッジ１０３が外周ストッパ位置まで到達しているならば、制御電流はほぼ最大電流値となる。
【０１２８】
しかし、ＶＣＭ速度検出回路１０８でのＶＣＭ速度検出値の検出誤差が大きく、目標速度との差分が小さいと判断される場合には、ＶＣＭ１０５には、図１６（ｂ）に示すように小電流値の制御電流しか流されない可能性、つまりランプ２００上のヘッド停止位置までヘッド１０２を移動するのに十分な制御電流が流されない可能性がある。この場合、ヘッド１０２（を支持するサスペンション１０３ａの先端）はランプ２００の傾斜部２０１で止まり、当該傾斜部２０１上を摺動しながら上ることができないアンロード動作異常が発生する虞がある。
【０１２９】
そこで本第４のキャリブレーション方法では、通常状態においてアンロード制御が終了していると予測される時点において、ＣＰＵ１１３が速度フィードバック制御で自身の決定したＶＣＭ１０５に対する制御電流をチェックし、予め定められた基準電流値に達しているか否かにより、アンロード動作の正常／異常を判定するようにしている（ステップＭ３）。ここで、チェック時点は、実験的に求められるアンロード制御に要する時間の分布に基づいて、あるマージンを加味して決定される。また、基準電流値は上記最大電流値から決定され、本実施形態では最大電流値の８０％の値が用いられる。
【０１３０】
上記チェック時点の制御電流（ＶＣＭ電流）が基準電流値以上のために、ステップＭ３での判定結果がアンロード動作正常となった場合、ＣＰＵ１１３はそのままアンロード制御終了とする。
【０１３１】
これに対し、チェック時点の制御電流（ＶＣＭ電流）が基準電流値に満たないために、ステップＭ３での判定結果がアンロード動作異常となった場合には、ＣＰＵ１１３はヘッド１０２をディスク１０１の内周方向にリトラクトするリトラクト動作を行って、キャリッジ１０３を内周ストッパに押し当て（ステップＭ４）、この状態で内周ストッパ位置でのキャリブレーション動作を行うことで、メモリ１１４の所定位置に格納されているＶＣＭ速度補正値を最新のものに更新する（ステップＭ５）。そしてＣＰＵ１１３は、更新後のＶＣＭ速度補正値を用いて再度アンロード制御を実行する（ステップＭ６）。
【０１３２】
以上は、本発明を磁気ディスク装置に適用した場合について説明したが、本発明は、ヘッドのロード／アンロード方式を適用するディスク装置であれば、光磁気ディスク装置など磁気ディスク装置以外のディスク装置にも同様に適用できる。
【０１３３】
【発明の効果】
以上詳述したように本発明によれば、温度変化等に起因するＶＣＭ速度検出値の誤差を補正するための速度補正値を、ＶＣＭの実際の速度をゼロにした状態で、ＶＣＭ速度検出回路により検出されるＶＣＭ速度検出値に基づいて取得するようにしたので、当該速度補正値の精度が向上して、ＶＣＭ速度の検出精度も向上し、ロード／アンロード時の正確な速度フィードバック制御を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る磁気ディスク装置の全体構成を示すブロック図。
【図２】ヘッド１０２がアンロードされるランプ２００の外観を中心に示す図。
【図３】図１中のＶＣＭ速度検出回路１０８の回路構成例を示す図。
【図４】ＶＣＭ電流値とＶＣＭ速度ゼロでの（逆起電圧に対応する）ＶＣＭ速度検出値との関係例を示す図。
【図５】ＶＣＭ速度補正値の求め方を説明するための図。
【図６】同実施形態における第１のキャリブレーション方法を説明するためのフローチャート。
【図７】上記第１のキャリブレーション方法の第１の変形例を説明するためのフローチャート。
【図８】上記第１のキャリブレーション方法の第２の変形例を説明するためのフローチャート。
【図９】同実施形態における第２のキャリブレーション方法を説明するためのフローチャート。
【図１０】上記第２のキャリブレーション方法の第１の変形例を説明するためのフローチャート。
【図１１】上記第２のキャリブレーション方法の第２の変形例を説明するためのフローチャート。
【図１２】同実施形態における第３のキャリブレーション方法を説明するためのフローチャート。
【図１３】上記第３のキャリブレーション方法の第１の変形例を説明するためのフローチャート。
【図１４】上記第３のキャリブレーション方法の第２の変形例を説明するためのフローチャート。
【図１５】同実施形態における第４のキャリブレーション方法を説明するためのフローチャート。
【図１６】上記第４のキャリブレーション方法で用いられるアンロード動作の正常／異常の判定方法を説明するための図。
【符号の説明】
１０１…ディスク
１０２…ヘッド
１０３…キャリッジ
１０５…ＶＣＭ（ボイスコイルモータ）
１０７…ＶＣＭドライバ
１０８…ＶＣＭ速度検出回路
１１３…ＣＰＵ（制御装置）
１１４…メモリ
１１５…タイマ
１１９…温度センサ
２００…ランプ（ランプ機構）
【図１】
0003607513.tif 000003
【図２】
0003607513.tif 000004
【図３】
0003607513.tif 000005
【図４】
0003607513.tif 000006
【図５】
0003607513.tif 000007
【図６】
0003607513.tif 000008
【図７】
0003607513.tif 000009
【図８】
0003607513.tif 000010
【図９】
0003607513.tif 000011
【図１０】
0003607513.tif 000012
【図１１】
0003607513.tif 000013
【図１２】
0003607513.tif 000014
【図１３】
0003607513.tif 000015
【図１４】
0003607513.tif 000016
【図１５】
0003607513.tif 000017
【図１６】
0003607513.tif 000018