(57)【要約】【課題】過大な衝撃を受けたことの推定に利用可能なディスクシフト量を算出できるようにする。【解決手段】ＣＰＵは、フラッシュＲＯＭの初期値領域に保存されている、ディスク記憶装置の製造時に取得された、ディスクの回転に伴う偏心成分の学習値を初期値として、偏心成分検出器２２１により偏心成分を再学習させる（Ｓ２）。ＣＰＵは、再学習により得られた偏心成分、つまり再学習値と、初期値として用いられたディスク記憶装置の製造時に取得された学習値とから、ディスクシフト量を算出する（Ｓ３）。【選択図】      図５
2005174510.tif 000002
【特許請求の範囲】
【請求項１】
スピンドルモータによって回転されるディスク上の目標位置にヘッドを移動させるシーク制御と、前記ヘッドを前記目標位置の目標範囲内に整定させるトラック追従制御とが実行されるディスク記憶装置において、
前記ヘッドの位置と前記目標位置との位置誤差を検出する位置誤差検出手段と、
前記位置誤差に含まれている、前記ディスクの回転に伴う偏心成分を適応学習により取得する適応学習手段と、
前記ディスク記憶装置の製造時に前記適応学習手段での適応学習で取得された前記偏心成分の学習値を予め保存する不揮発性記憶装置と、
前記ディスク記憶装置の起動時に、前記不揮発性記憶装置に保存されている前記偏心成分の学習値を前記適応学習の初期値として、前記適応学習手段により前記偏心成分を再学習させることにより、前記偏心成分の再学習値を取得させる制御手段と、
前記再学習値と当該再学習値に対応する元の学習値とから、前記スピンドルモータの回転中心を基準とする前記ディスクの中心の前記ディスク記憶装置の製造時からのずれを表すディスクシフト量を算出するディスクシフト量算出手段と
を具備することを特徴とするディスク記憶装置。
【請求項２】
前記ディスクシフト量算出手段によって算出されたディスクシフト量から前記ディスク記憶装置が耐衝撃性の製品仕様で定められた仕様値を超える衝撃を受けたかを推定する衝撃推定手段を更に具備することを特徴とする請求項１記載のディスク記憶装置。
【請求項３】
前記不揮発性記憶装置には、前記ディスク記憶装置が受ける衝撃量と前記ディスクシフト量との関係を表す特性情報が予め保存されており、
前記衝撃推定手段は、前記ディスクシフト量算出手段によって算出されたディスクシフト量と前記特性情報とから、当該算出されたディスクシフト量のディスクシフトを招いた被衝撃量を推定する被衝撃量推定手段と、推定された被衝撃量が前記仕様値を超えているかを判定する判定手段とを含む
ことを特徴とする請求項２記載のディスク記憶装置。
【請求項４】
前記不揮発性記憶装置には、前記ディスク記憶装置が前記仕様値に等しい大きさの衝撃を受けた場合の予測されるディスクシフト量を示す情報が予め保存されており、
前記衝撃推定手段は、前記ディスクシフト量算出手段によって算出されたディスクシフト量と前記不揮発性記憶装置に保存されている前記ディスクシフト量を示す情報とから、当該算出されたディスクシフト量のディスクシフトを招いた被衝撃量が前記仕様値を超えているかを推定する
ことを特徴とする請求項２記載のディスク記憶装置。
【請求項５】
前記ディスク記憶装置が前記仕様値を超える衝撃を受けたと前記衝撃推定手段によって推定された場合、その旨を前記ディスク記憶装置を利用するホストに通知する通知手段を更に具備することを特徴とする請求項２記載のディスク記憶装置。
【請求項６】
前記学習値は、前記偏心成分の１次成分であって、サイン成分及びコサイン成分に分離された前記偏心成分の１次成分を含み、
前記ディスクシフト量算出手段は、前記再学習値の１次のサイン成分及びコサイン成分が、それぞれｋｓｉｎ１及びｋｃｏｓ１で表され、前記元の学習値の１次のサイン成分及びコサイン成分が、それぞれｋｓｉｎ０及びｋｃｏｓ０で表され、αを比例係数とするならば、前記ディスクシフト量を、次式
α{(ｋｓｉｎ１−ｋｓｉｎ0)2＋(ｋｃｏｓ１−ｋｃｏｓ0)2}1/2
に従って算出する
ことを特徴とする請求項１記載のディスク記憶装置。
【請求項７】
前記位置誤差を圧縮するための第１の制御量を算出するフィードバック制御手段と、
前記適応学習手段により取得される偏心成分を圧縮するための第２の制御量を算出するフィードフォワード制御手段と、
前記第１及び第２の制御量から、前記ヘッドを前記目標位置の目標範囲に整定させるための第３の制御量を生成する手段と
を更に具備することを特徴とする請求項１記載のディスク記憶装置。
【請求項８】
スピンドルモータによって回転されるディスク上の目標位置にヘッドを移動させるシーク制御と、前記ヘッドを前記目標位置の目標範囲内に整定させるトラック追従制御とが実行されるディスク記憶装置において、ディスクシフト量を算出するディスクシフト量算出方法であって、
前記ディスク記憶装置の起動時に、前記ヘッドを前記ディスク上の予め定められた目標位置に移動させるステップと、
前記目標位置に移動された前記ヘッドを前記目標位置の目標範囲に整定させる前記トラック追従制御を開始するステップと、
前記ディスク記憶装置の起動時における前記トラック追従制御の期間、サンプル時点毎に検出される前記ヘッドの位置と前記目標位置との位置誤差に含まれている、前記ディスクの回転に伴う偏心成分を適応学習により取得するステップであって、前記適応学習の初期値に、不揮発性記憶装置に予め保存されている、前記ディスク記憶装置の製造時に適応学習により取得された、前記ディスクの回転に伴う偏心成分の学習値が用いられるステップと、
前記ディスク記憶装置の起動時における前記トラック追従制御で、前記位置誤差が予め定められた範囲に収束した際に取得されている前記偏心成分を再学習値として決定するステップと、
前記再学習値と当該再学習値に対応する元の学習値とから、前記スピンドルモータの回転中心を基準とする前記ディスクの中心の前記ディスク記憶装置の製造時からのずれの量を前記ディスクシフト量として算出するステップと
を具備することを特徴とするディスクシフト量算出方法。
【請求項９】
算出された前記ディスクシフト量から前記ディスク記憶装置が耐衝撃性の製品仕様で定められた仕様値を超える衝撃を受けたかを推定するステップを更に具備することを特徴とする請求項８記載のディスクシフト量算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スピンドルモータによって回転されるディスク上の目標位置にヘッドを移動させるシーク制御と、当該ヘッドを上記目標位置の目標範囲内に整定させるトラック追従制御とが実行されるディスク記憶装置に係り、特に装置の非動作時に外部から受ける衝撃に起因して発生するディスクシフトの量を算出するのに好適なディスク記憶装置及びディスクシフト量算出方法に関する。
【背景技術】
【０００２】
磁気ディスク装置は、記録媒体にディスクを用いたディスク記憶装置として良く知られている。磁気ディスク装置は、一般に、ディスク上の目標位置にヘッドを位置付けるための制御を行うヘッド位置決め制御システム（サーボシステム）を備えている。この制御システムでは、アクチュエータが制御対象（つまりプラント）として扱われる。アクチュエータは、ヘッドをディスクの半径方向に移動可能に支持する。制御システムは、ディスクに書き込まれた（埋め込まれた）サーボデータに基づいてアクチュエータの駆動を制御する。制御システムは、ヘッドを目標トラックまで移動させるためのシーク制御と、目標トラックに移動されたヘッドを当該目標トラックの目標範囲内に整定するためのトラック追従制御とを実行する。
【０００３】
さて、磁気ディスク装置におけるトラック追従性能を低下させる要因として、ディスクの回転に伴う当該ディスクの偏心（ディスクの回転偏心）が知られている。ディスクの回転偏心（disk runout）は、磁気ディスク装置の製造行程でディスクをスピンドルモータのハブにねじ止めする際の組立誤差などに起因して発生する。ディスクの回転偏心は、トラック追従制御ではトラックの偏心として現れることから、そのトラックの偏心にヘッドを追従させる必要がある。そこで、ヘッドを目標トラックに追従させる際の位置誤差に含まれる、ディスクの回転に伴う偏心成分を検出し、その偏心成分を位置誤差から除去する技術が提案されている（例えば、特許文献１参照）。この技術によれば、ディスクの回転に伴うトラックの偏心成分を抑制して、ヘッドのトラックに対する追従誤差を低減できる。
【０００４】
上記偏心成分は、適応学習により検出される。この適応学習を短時間で行うためには、初期値を持つことが好ましい。そこで磁気ディスク装置の製造時にディスク上の予め定められた異なる半径位置毎の偏心成分を学習して、その学習した偏心成分（学習値）を不揮発性メモリに記憶することにより、この不揮発性メモリに記憶されている偏心成分を適応学習の初期値とすることが知られている（例えば、特許文献２参照）。この特許文献２では、ディスクの半径位置毎の偏心成分の経時変化が考慮されている。そのため特許文献２では、磁気ディスク装置の起動時に、適応学習の初期値として用いられるディスクの半径位置毎の偏心成分の学習値を補正することが提案されている。ここでは、ディスクの特定の半径位置での偏心成分が再学習される。そして、再学習された値の元の学習値に対する変化率（または差分）を利用して、ディスクの半径位置毎の偏心成分の学習値（初期値）が補正される。
【特許文献１】特開平１１−３９８１４号公報（段落００２９）
【特許文献２】特開２００２−２３０９２８号公報（段落００７９乃至００８６、図９）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した先行技術によれば、ディスクの回転に伴うトラックの偏心に影響されずに、更には偏心成分の経時変化に影響されずに、ヘッドを目標トラックに高精度で追従できる。
【０００６】
ところで、磁気ディスク装置に外部から過大な衝撃が加わると、当該装置内のディスクの中心がスピンドルモータの回転軸からずれる、いわゆるディスクシフトが発生することがある。この場合、磁気ディスク装置の起動時に行われる偏心成分の学習が収束するのに多大な時間がかかる。つまり装置の起動時間が増加する。ところが、上記した先行技術においては、この起動時間の増加が、ディスクシフトに起因するものか、その他の要因によるものか判定できない。例えば、磁気ディスク装置の非動作時に、製品仕様を超える衝撃（例えば装置の落下による衝撃）を受けたことが原因でディスクシフトが生じた結果、起動時間が増加したのか判定できない。なお、上記その他の要因としては、外部から装置に加えられる振動、ヘッドを移動させるためのアクチュエータ等の不具合がある。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、過大な衝撃を受けたことの推定に利用可能なディスクシフト量を算出できるディスク記憶装置及びディスクシフト量算出方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の１つの観点によれば、スピンドルモータによって回転されるディスク上の目標位置にヘッドを移動させるシーク制御と、当該ヘッドを上記目標位置の目標範囲内に整定させるトラック追従制御とが実行されるディスク記憶装置が提供される。このディスク記憶装置は、上記ヘッドの位置と上記目標位置との位置誤差を検出する位置誤差検出手段と、上記位置誤差に含まれている、上記ディスクの回転に伴う偏心成分を適応学習により取得する適応学習手段と、上記ディスク装置の製造時に上記適応学習手段での適応学習で取得された上記偏心成分の学習値を予め保存する不揮発性記憶装置と、上記ディスク記憶装置の起動時に、上記不揮発性記憶装置に保存されている上記偏心成分の学習値を上記適応学習の初期値として、上記適応学習手段により上記偏心成分を再学習させることにより、上記偏心成分の再学習値を取得させる制御手段と、上記再学習値と当該再学習値に対応する元の学習値とから、上記スピンドルモータの回転中心を基準とする上記ディスクの中心の上記ディスク装置の製造時からのずれを表すディスクシフト量を算出するディスクシフト量算出手段とを備えていることを特徴とする。
【０００９】
このような構成のディスク記憶装置においては、たとえ当該装置の非動作時に当該装置に外部から過大な衝撃が加えられてディスクの取り付け位置がずれたとしても、そのずれ量（ディスクシフト量）を、特別の検出器を用いることなく当該ディスク記憶装置の起動時に簡単に取得できる。
【００１０】
ここで、上記ディスクシフト量算出手段によって算出されたディスクシフト量から上記ディスク記憶装置が耐衝撃性の製品仕様で定められた仕様値を超える衝撃を受けたかを推定する衝撃推定手段を追加すると良い。このようにすると、ディスク記憶装置の非動作時を含めて、当該装置が製品仕様を超える強度の衝撃を受けたことを、ディスクシフト量から推定できる。この推定のためには、上記不揮発性記憶装置に、ディスク記憶装置が受ける衝撃量とディスクシフト量との関係を表す特性情報を予め保存しておく一方、上記衝撃推定手段に、上記ディスクシフト量算出手段によって算出されたディスクシフト量と上記特性情報とから、当該算出されたディスクシフト量のディスクシフトを招いた被衝撃量を推定する被衝撃量推定手段と、推定された被衝撃量が上記仕様値を超えているかを判定する判定手段とを持たせれば良い。また、上記不揮発性記憶装置に、上記ディスク記憶装置が上記仕様値に等しい大きさの衝撃を受けた場合の予測されるディスクシフト量を示す情報を保存しておくならば、上記ディスクシフト量算出手段によって算出されたディスクシフト量と上記不揮発性記憶装置に保存されているディスクシフト量を示す情報とから、当該算出されたディスクシフト量のディスクシフトを招いた被衝撃量が上記仕様値を超えているかを推定することも可能である。
【００１１】
また、上記ディスク記憶装置が上記仕様値を超える衝撃を受けたと推定された場合、その旨を当該ディスク記憶装置を利用するホストに通知する通知手段を追加すると良い。このようにすると、上記仕様値を超える衝撃を受けた結果、ディスクが大幅にずれてディスク記憶装置の信頼性が下がっている恐れがある場合に、ディスクに記録されているデータのバックアップを利用者に対して促すことができる。また、ディスクからデータを正常に読み出すことができない状態に至った場合でも、その原因を、保守者または修理者が速やかに把握することができる。
【００１２】
また、上記ディスク記憶装置が、上記位置誤差を圧縮するための第１の制御量を算出するフィードバック制御手段と、上記適応学習手段により取得される偏心成分を圧縮するための第２の制御量を算出するフィードフォワード制御手段と、上記第１及び第２の制御量から、上記ヘッドを上記目標位置の目標範囲に整定させるための第３の制御量を生成する手段とを更に備えた構成とするならば、ヘッドの位置決め制御に適応学習を適用するのに必要な従来から知られている構成のディスク記憶装置に、上記制御手段とディスクシフト量算出手段とを新たに用意するだけで、ディスク装置の起動時にディスクシフト量を取得することができる。
【発明の効果】
【００１３】
本発明によれば、たとえディスク記憶装置の非動作時に当該ディスク記憶装置に過大な衝撃が加わったとしても、ディスク記憶装置の製造時に取得された、ディスクの回転に伴う偏心成分の学習値と、当該学習値を適応学習の初期値としてディスク記憶装置の起動時の再学習で取得された偏心成分（つまり偏心成分の再学習値）とから、スピンドルモータの回転中心を基準とするディスクの中心のディスク記憶装置の製造時からのずれを表すディスクシフト量を簡単に取得できる。したがって、このディスクシフト量から、耐衝撃性の仕様値を超えた衝撃を受けたかを推定できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を磁気ディスク装置に適用した一実施形態につき図面を参照して説明する。図１は本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図である。図１の磁気ディスク装置（ＨＤＤ）は、データが磁気記録される例えば２枚のディスク（磁気ディスク）１-0，１-1を備えている。ディスク１-i（ｉ＝０，１）は上側と下側の２つのディスク面を有している。各ディスク１-iの２つのディスク面の少なくとも一方、例えば両方はデータを記録するための記録面をなしている。ディスク１-0の各記録面に対応して、それぞれヘッド（磁気ヘッド）２-00，２-01が配置され、ディスク１-1の各記録面に対応して、それぞれヘッド２-10，２-11が配置されている。各ヘッド２-ij（ｉ＝０，１，ｊ＝０，１）は、ディスク１-iからのデータ読み出し及びディスク１-iへのデータ書き込みに用いられる。図１では、２枚のディスク１-0，１-1がスタックされたＨＤＤを想定している。しかし、ディスクが３枚以上スタックされたＨＤＤ、或いは単一枚のディスクを備えたＨＤＤであっても構わない。
【００１５】
各ディスク１-iの記録面には、同心円状の多数のトラック（図示せず）が配置されている。各トラックには、サーボ情報が記録されたサーボエリア（図示せず）が等間隔で且つ離散的に配置されている。つまり本実施形態では、ディスク１-iに、セクタサーボタイプのフォーマットを適用している。サーボ情報は、ヘッド２-ijを目標トラックに位置付ける制御に必要な位置情報を含む。この位置情報は、シリンダコードとバーストデータとを含む。シリンダコードは、対応するサーボ情報が書き込まれているディスク１-i上のシリンダ（トラック）位置を示す。バーストデータは、対応するサーボ情報が書き込まれているシリンダにおけるヘッドの相対的な位置情報（位置誤差）を示す。
【００１６】
ディスク１-iはスピンドルモータ（以下、ＳＰＭと称する）３により高速に回転される。ヘッド２-ijはアクチュエータ４によりディスク１-iの半径方向に移動可能に支持されている。アクチュエータ４は、当該アクチュエータ４の駆動源としてのボイスコイルモータ（ＶＣＭ）５を含む。
【００１７】
ＳＰＭ３は、ＳＰＭドライバ６Ａから供給される駆動電流（ＳＰＭ電流）により駆動される。ＶＣＭ５は、ＶＣＭドライバ６Ｂから供給される駆動電流（ＶＣＭ電流）により駆動される。本実施形態において、ＳＰＭドライバ６Ａ及びＶＣＭドライバ６Ｂは、１チップに集積回路化されたドライバＩＣ６によって実現されている。
【００１８】
ヘッド２はヘッドＩＣ（ヘッドアンプ回路）７と接続されている。ヘッドＩＣ７は、ヘッド２-ijにより読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプ（いずれも図示せず）を有する。ヘッドＩＣ７は、リード／ライトＩＣ（リード／ライトチャネル）８と接続されている。リード／ライトＩＣ８は信号処理デバイスである。リード／ライトＩＣ８は、ヘッドＩＣ７により増幅されたリード信号をＡ／Ｄ（アナログ／デジタル）変換する処理、及びＡ／Ｄ変換後のデータからサーボ情報を抽出する処理を行う。リード／ライトＩＣ８はまた、サーボ情報からシリンダコード及びバーストデータを抽出してＣＰＵ１０に送出する。リード／ライトＩＣ８はまた、ライトデータを符号化する処理、及びリードデータを復号化する処理も行う。
【００１９】
リード／ライトＩＣ８はディスクコントローラ（以下、ＨＤＣと称する）９及びＣＰＵ１０と接続されている。ＨＤＣ９は、ホスト（ホストシステム）及びＣＰＵ１０と接続されている。ホストは図１のＨＤＤを利用するデジタル機器であり、例えばパーソナルコンピュータである。ＨＤＣ９は、ホストから転送されるコマンド（リード／ライトコマンド等）の受信を制御すると共にホストと当該ＨＤＣ９との間のデータ転送を制御するインタフェース制御機能を有する。ＨＤＣ９はまた、ディスク１-iと当該ＨＤＣ９との間のデータ転送を制御するディスク制御機能を有する。
【００２０】
ＣＰＵ１０は図１に示すＨＤＤの主コントローラである。ＣＰＵ１０は、フラッシュＲＯＭ（Flash Read Only Memory）１１１及びＲＡＭ（Random Access Memory）１２と接続されている。フラッシュＲＯＭ１１は、ＣＰＵ１０により実行される制御プログラム１１１が予め格納された書き換え可能な不揮発性メモリである。制御プログラム１１１は、サーボシステムの制御プロセスを含む。ＣＰＵ１０が制御プロセスを実行することにより実現される制御には、リード／ライトチャネル８から送られるシリンダコードに基づいてヘッド２を目標トラックに移動させるシーク制御と、当該リード／ライトチャネル８から送られるバーストデータに基づいてヘッド２-ijを目標トラックの目標範囲内に位置付けるためのトラック追従制御とが含まれている。フラッシュＲＯＭ１１の記憶領域の一部は初期値領域１１２として用いられる。この初期値領域１１２には、偏心成分の学習値が適応学習の初期値として予め保存されている。この偏心成分の学習値は、図１のＨＤＤの製造時に、各ディスク１-iの各記録面上の予め定められたゾーン毎に取得される。ＲＡＭ１２の記憶領域の一部は、図１のＨＤＤの起動時に、フラッシュＲＯＭ１１の初期値領域１１２の内容がコピーされる初期値領域１２１として用いられる。この初期値領域１２１の内容はＨＤＤの起動時に変更（補正）される。これらの初期値領域１１２，１２１に格納される偏心成分の学習値については後述する。
【００２１】
図２は図１中のＣＰＵ１０が制御プロセスを実行することにより実現されるサーボシステムの機能構成を示すブロック図である。図２のサーボシステムは、ヘッド２-ijをディスク１-i上の目標位置に位置付けるためのヘッド位置決め制御システムである。このサーボシステムは、フィードバック制御系２１と、学習型のフィードフォワード制御系２２とから構成される。フィードバック制御系２１はプラント２３（ここではアクチュエータ４またはＶＣＭ５）を駆動制御する。フィードバック制御系２１は、フィードバックコントローラ（Ｆｂ）２１１と、位置誤差検出器２１２と、加算器２１３とから構成される。フィードフォワード制御系２２は、ディスク１-iの回転に同期して発生するトラックの偏心成分を圧縮（抑制）する。フィードフォワード制御系２２は、偏心成分検出器（Ｆｔ）２２１と、フィードフォワードコントローラ（Ｆｗ）２２２とから構成される。
【００２２】
フィードバック制御系２１において、位置誤差検出器２１２は、ディスク１-i上の目標位置ｒとヘッド２の位置（ヘッド位置）ｙとの位置誤差ｅを検出する。目標位置ｒは、シーク制御では目標トラックであり、トラック追従制御では目標トラックの例えば中心線である。トラック追従制御の場合、目標位置ｒとヘッド位置ｙとの位置誤差ｅは、リード／ライトチャネル８によって抽出されるバーストデータの振幅のＡ／Ｄ変換値で示される。フィードバックコントローラ２１１は、位置誤差検出器２１２によって検出された位置誤差ｅをもとに、当該位置誤差ｅを圧縮（抑制）するための第１の制御量（フィードバック値）Ｕｂを算出する。
【００２３】
一方、フィードフォワード制御系２２において、偏心成分検出器２２１は、位置誤差ｅに含まれる偏心成分（ディスク１-jの回転に同期した偏心成分）をデジタルフーリエ変換（ＤＦＴ）演算により検出（算出）する。但し、本実施形態のＨＤＤでは、ディスク１-iにセクタサーボタイプのフォーマットを適用しているので、サーボ情報は離散的にしか得られない。このため、位置誤差ｅは、サーボ情報が検出されるサンプル時点毎に検出される。そこで偏心検出器２２１は、位置誤差検出器２１２によって位置誤差ｅが検出される毎に、当該位置誤差ｅと１サンプル時点前における当該偏心検出器２２１の検出結果（学習値）とをもとに、当該位置誤差ｅに含まれる偏心成分を検出（算出）する。つまり偏心検出器２２１は、位置誤差ｅに含まれる偏心成分を適応学習により求める適応学習器である。ここでは、偏心成分は、ＳＩＮ（サイン），ＣＯＳ（コサイン）の各成分に分離して求められる。偏心成分の学習値の初期値には、ＲＡＭ１２の初期値領域１２１に格納されている学習値のうち、目標位置ｒが属する記録面及びゾーンに対応した学習値が用いられる。
【００２４】
偏心成分検出器２２１での適応学習により検出（算出）された偏心成分はフィードフォワードコントローラ２２２に出力される。また偏心成分検出器２２１はシーク制御時には、適応学習機能をオフし、偏心成分（適応学習値）の初期値をそのままフィードフォワードコントローラ２２２に出力する。
【００２５】
フィードフォワードコントローラ２２２は、偏心成分検出器２２１によって検出された偏心成分をもとに、当該偏心成分を圧縮する（即ち位置誤差ｅに含まれている偏心成分を除去する）ための第２の制御量（フィードフォワード値）Ｕｆを算出する。フィードバック制御系２１は、フィードフォワードコントローラ２２２によって算出された制御量Ｕｆとフィードバックコントローラ２１１によって算出された制御量Ｕｂとを加算器（adder）２１３によって加算した結果を、プラント２３を制御するための第３の制御量として用いる。
【００２６】
前記したように、フラッシュＲＯＭ１１の初期値領域１１２には、図１のＨＤＤの製造時に取得された、各ディスク１-iの各記録面上のゾーン毎の偏心成分の学習値が予め保存されている。一方、ＲＡＭ１２の初期値領域１２１には、ＨＤＤの起動時に、フラッシュＲＯＭ１１の初期値領域１１２の内容がコピーされる。図３は、各ディスク１-iの各記録面上のゾーンの例を示す。ここでは、各ディスク１-iの各記録面は、同心円状の４つのゾーンＺ０〜Ｚ３に区分して管理される。図４は初期値領域１１２（１２１）のデータ構造例を示す。図４の例では、偏心成分の学習値がテーブル形式で初期値領域１１２（１２１）に格納される。図４において、ヘッド番号はディスク１-iの記録面を特定する識別番号であり、ヘッド番号０，１，２，３は、それぞれヘッド２-00，２-01，２-10，２-11に対応する記録面を特定する。ゾーン番号０，１，２，３はゾーンＺ０，Ｚ１，Ｚ２，Ｚ３を特定する。
【００２７】
ここで、図１のＨＤＤの製造時に行われる偏心成分の学習について簡単に説明する。まず、ＨＤＤの製造時に、ホストからの指示により当該ＨＤＤを偏心成分の学習モードに設定する。するとＣＰＵ１０は、制御プログラム１１１の制御プロセスを実行することにより実現される図２のシステムを利用して、偏心成分の学習を開始する。ここでは、各ディスク１-iの各記録面のゾーン毎に偏心成分が学習される。この学習では、ＣＰＵ１０は、各記録面のゾーン毎に、例えば当該ゾーンのほぼ中央のトラックを目標トラックとして指定する。そしてＣＰＵ１０は、図２のシステムを利用して、目標トラックにヘッド２-ijを移動させるシーク制御と、目標トラックに移動されたヘッド２-ijを目標トラックの目標範囲内に整定させるトラック追従制御とを実行する。トラック追従制御では、位置誤差検出器２１２によって各サンプル時点で位置誤差ｅが検出される都度、当該位置誤差ｅに含まれている偏心成分が偏心成分検出器２２１により求められる。ここでは、位置誤差ｅと１サンプル時点前における偏心成分検出器２２１の検出結果（適応学習値）とをもとに、デジタルフーリエ変換演算を用いて、適応学習により偏心成分が検出（算出）される。更に具体的に述べるならば、１次からｎ次（ｎは１より大きい整数）までの各次数毎の偏心成分が、ＳＩＮ（サイン），ＣＯＳ（コサイン）の各成分に分離して求められる。偏心成分検出器２２１での上記適応学習の初期値には、ヘッド２-ijを目標トラックの目標範囲内に整定させるまでに時間がかかるものの、０が用いられる。そして、ヘッド２-ijが目標トラックの目標範囲内に整定されている状態で検出された偏心成分が、対応する記録面の対応するゾーンの偏心成分の学習値として決定される。フラッシュＲＯＭ１１の初期値領域１１２には、このようにして決定された各記録面のゾーン毎の学習値が、適応学習の初期値として図４のように保存される。
【００２８】
次に、図１のＨＤＤの起動時に実行される適応学習の初期値を補正する処理について、図５のフローチャートを参照して説明する。この処理の特徴は、適応学習の初期値のずれから、ディスクシフト量を算出するための手順を含むことにある。
【００２９】
まずＣＰＵ１０は、図１のＨＤＤの起動時に、フラッシュＲＯＭ１１の初期値領域１１２に保存されている学習値（初期値）をＲＡＭ１２の初期値領域１２１にコピーする（ステップＳ１）。
【００３０】
次にＣＰＵ１０は、図２のシステムを利用して、特定ヘッド番号（予め定められたヘッド番号、例えばヘッド番号０）の記録面上の特定ゾーンＺｋ（例えばゾーンＺ２）の偏心成分を偏心成分検出器２２１により再学習させるための制御を実行する（ステップＳ２）。この制御の詳細は次の通りである。
【００３１】
まずＣＰＵ１０は、特定ヘッド番号の記録面上のゾーンＺｋに属する特定トラックＴＲsを目標トラックとするシーク制御を行う（ステップＳ２ａ）。即ちＣＰＵ１０は、トラックＴＲsでの偏心成分の再学習のために、当該トラックＴＲsにヘッド２-ij（ここではヘッド２-00）を移動させるためのシーク制御を行う。ここでトラックＴＲsは、ＨＤＤの製造時に、特定ヘッド番号の記録面上のゾーンＺｋの偏心成分を学習するために用いられたトラックであることが好ましい。
【００３２】
ＣＰＵ１０は、ヘッド２-ijがトラックＴＲsに移動されると、図２のシステムを利用して、ヘッド２-ijをトラックＴＲsの所定範囲に整定するためのトラック追従制御を開始する（ステップＳ２ｂ）。このトラック追従制御において、偏心成分検出器２２１は、位置誤差検出器２１２によって各サンプル時点で位置誤差ｅが検出される毎に、当該位置誤差ｅに含まれる偏心成分を適応学習により検出する。即ち偏心成分検出器２２１は、位置誤差ｅと１サンプル時点前における当該偏心検出器２２１の検出結果（学習値）とをもとに、当該位置誤差ｅに含まれる偏心成分を検出する。ここでの適応学習の初期値には、ＲＡＭ１２の初期値領域１２１に格納（コピー）されている学習値のうち、特定ヘッド番号の記録面上のゾーンＺｋに対応する学習値が用いられる。
【００３３】
フィードフォワードコントローラ２２２は、偏心成分検出器２２１によって検出された偏心成分をもとに、当該偏心成分を圧縮するための制御量Ｕｆを算出する。一方、フィードバックコントローラ２１１は、位置誤差検出器２１２によって検出された位置誤差ｅをもとに、当該位置誤差ｅを圧縮するための制御量Ｕｂを算出する。制御量Ｕｆ及びＵｂは加算器２１３によって加算され、その加算結果がプラント２３の制御量として用いられる。ここでは、加算器２１３の加算結果である制御量が、ＣＰＵ１０によってドライバＩＣ６のＶＣＭドライバ６Ｂに与えられる。ＶＣＭドライバ６Ｂは、ＣＰＵ１０から与えられた制御量に対応するＶＣＭ電流をＶＣＭ５に供給することにより、当該ＶＣＭ５を駆動する。このようにして、ヘッド２-ijをトラックＴＲsの目標範囲内に整定するためのとトラック追従制御が行われる。
【００３４】
ＣＰＵ１０は、ヘッド２-ijがトラックＴＲsの目標範囲内に整定されると、即ち位置誤差ｅが一定の範囲内に収束されると（ステップＳ２ｃ）、偏心成分の再学習の終了を判定する。この場合、ＣＰＵ１０は、その時点において偏心成分検出器２２１によって検出されている偏心成分を、偏心成分の再学習値と決定する（ステップＳ２ｄ）。
【００３５】
本実施形態では、偏心成分検出器２２１でのデジタルフーリエ変換演算により、１次乃至ｎ次までの各次数毎の偏心成分（学習値）が、ＳＩＮ（サイン），ＣＯＳ（コサイン）の各成分に分離して求められる。一般に、ディスクシフトは、偏心成分の１次成分に現れる。一方、偏心成分検出器２２１により検出される偏心成分（つまり適応学習の学習値）は、目標位置ｒとヘッド位置ｙとの位置誤差ｅを圧縮するためのフィードバック制御をフィードバックコントローラ２１１が行った際に残される位置誤差に相当する。このため、上記ステップＳ２ｄで偏心成分の再学習値が決定された際に、当該再学習値（残されている位置誤差）を用いて実際の目標位置の軌道を推定することができる。具体的には、フィードバックコントローラ２１１のフィードバック制御によって位置誤差が圧縮される際の圧縮率の逆数を、再学習値に乗ずることで、実際の目標位置の軌道を推定することができる。この軌道はディスク１-iの偏心それ自体を表す。したがって、この軌道の変化を検出することによって、ディスクシフト量が変わったことを知ることができる。
【００３６】
ＳＰＭ３の回転中心（回転軸）Ｏからの現時点におけるディスク１-iの中心Ｏ1のずれを、ディスクシフト量ｄｓ1と呼ぶ。ＳＰＭ３の回転中心Ｏは、ディスク１-iの中心Ｏ1のずれを考える場合の絶対中心である。ディスクシフト量ｄｓ1は、ステップＳ２ｄで決定された偏心成分の再学習値の１次成分（１次のＳＩＮ成分及びＣＯＳ成分）をもとに算出可能である。具体的には、ディスクシフト量ｄｓ1は、再学習値の１次のＳＩＮ成分及びＣＯＳ成分が、それぞれｋｓｉｎ１及びｋｃｏｓ１で表されるとするならば、次式
ｄｓ1＝α{(ｋｓｉｎ１)2＋(ｋｃｏｓ１)2}1/2      （１）
に従って算出可能である。但しαは、フィードバックコントローラ２１１による位置誤差の圧縮率を反映した比例係数である。
【００３７】
次に、ＳＰＭ３の回転中心ＯからのＨＤＤの製造時点におけるディスク１-iの中心Ｏ0のずれを、ディスクシフト量ｄｓ0と呼ぶ。ディスクシフト量ｄｓ0は、上記再学習値に対応するＨＤＤ製造時の学習値（元の学習値）の１次成分（１次のＳＩＮ成分及びＣＯＳ成分）をもとに算出可能である。ＨＤＤ製造時の学習値は、フラッシュＲＯＭ１１の初期値領域１１２に保存されている。具体的には、ディスクシフト量ｄｓ0は、ＨＤＤ製造時の学習値の１次のＳＩＮ成分及びＣＯＳ成分を、それぞれｋｓｉｎ0及びｋｃｏｓ0で表されるとするならば、次式
ｄｓ0＝α{(ｋｓｉｎ0)2＋(ｋｃｏｓ0)2}1/2      （２）
に従って算出される。
【００３８】
さて、ＨＤＤの製品仕様の１つに耐衝撃性がある。ＨＤＤの耐衝撃性の仕様値は、数百Ｇａｌ（ガル）程度に設定されるのが一般的である。もし、ＨＤＤを落下させたなどの要因で、この仕様値を大幅に超える衝撃が外部から加えられた場合、各ディスク１-iをＳＰＭ３のハブにねじ止めしている部分が緩み、ディスクの中心がＳＰＭ３の回転中心からずれる恐れがある。この場合、再学習値をもとに算出された現時点におけるディスクシフト量ｄｓ1と、ＨＤＤ製造時の学習値をもとに算出されたＨＤＤ製造時におけるディスクシフト量ｄｓ0とを比較することで、ＨＤＤ製造後に外部から加えられた過大な衝撃によってディスクの偏心が変わったことを知ることができる。
【００３９】
そこでＣＰＵ１０は、ＨＤＤ製造時におけるディスク１-iの中心Ｏ0に対する現時点におけるディスク１-iの中心Ｏ1のずれ、つまりＨＤＤ製造時から現時点までのディスクシフト量ｄを算出する（ステップＳ３）。このディスクシフト量ｄは、再学習値ｋｓｉｎ１及びｋｃｏｓ１と、ＨＤＤ製造時の学習値ｋｓｉｎ0及びｋｃｏｓ0とをもとに算出可能である。ここでは、ディスクシフト量ｄは、次式
ｄ＝α{(ｋｓｉｎ１−ｋｓｉｎ0)2＋(ｋｃｏｓ１−ｋｃｏｓ0)2}1/2    （３）
に従って算出される。上記式（３）において、αを適当な値に選ぶことにより、ｄを、物理距離（μｍ）に換算することもできる。
【００４０】
図６は、上述のディスクシフトの概念を、ディスクシフト量ｄｓ0，ｄｓ1，ｄと対応付けて示す。
【００４１】
外部からＨＤＤが受ける衝撃量（被衝撃量）とディスクシフト量との間には相関がある。このような相関を、予め多くのＨＤＤで測定しておくことで、図７に示すような被衝撃量−ディスクシフト量特性を取得することができる。この特性を利用することで、ディスクシフト量から、ＨＤＤが受けた衝撃の大きさを推定できる。そこで本実施形態では、フラッシュＲＯＭ１１に、被衝撃量とディスクシフト量との関係を表すディスクシフト特性情報が予め保存されるディスクシフト特性領域１１３が確保される。ここでディスクシフト量の上限は、ディスク１-iの内径とハブの外径との差分である。
【００４２】
ＣＰＵ１０は、ステップＳ３でディスクシフト量ｄを算出すると、フラッシュＲＯＭ１１のディスクシフト特性領域１１３に保存されているディスクシフト特性情報を参照することにより、ＨＤＤの非動作時を含めて当該ディスクシフト量ｄのディスクシフトを招いた被衝撃量Ｇを推定する（ステップＳ４）。ＣＰＵ１０は、推定された衝撃量Ｇを耐衝撃性の仕様値Ｇｓと比較することにより、ＨＤＤの非動作状態においてＨＤＤがＧｓを上回る大きさの衝撃を受けたか否かを判定する（ステップＳ５）。なお、大きさがＧｓの衝撃がＨＤＤに加わった場合のディスクシフト量をｄdsとすると、このディスクシフト量ｄdsは、図７に示す特性から予め予測することができる。そこで、ディスクシフト量ｄdsを示す情報を例えばフラッシュＲＯＭ１１に記憶しておき、上記ステップＳ３で算出されたディスクシフト量ｄが当該情報の示すディスクシフト量ｄdsより大きいかを調べることも可能である。このようにすると、ｄ＞ｄdsの場合に、ＨＤＤが仕様値Ｇｓを上回る大きさの衝撃を受けたと判定（推定）できる。
【００４３】
ＨＤＤが耐衝撃性の仕様値Ｇｓを上回る過大な衝撃を受けたと推定された場合、当該ＨＤＤの信頼性は保証されない。このような場合、ＣＰＵ１０はホストを介して当該ホストの利用者（または保守者）に対し、ＨＤＤが過大な衝撃を受けたことを通知する（ステップＳ６）。これにより、利用者（または保守者）は、ＨＤＤに保存されているデータのバックアップを行うなどの対応をとることができる。また、ｄdsを大幅に超えるディスクシフトのため、ＨＤＤの起動時間が著しく増加しても、利用者（または保守者）は、その異常状態の原因を即座に把握できる。同様に、ｄdsを大幅に超えるディスクシフトのため、ＨＤＤからのデータの読み出しが正常に行えず、データのバックアップができない異常状態に陥っているとしても、利用者（または保守者、または修理者）は、その異常状態の原因を即座に把握できる。なお、ＨＤＤの動作中に当該ＨＤＤが外部から衝撃を受けた場合には、例えば衝撃センサにより簡単に検出可能である。
【００４４】
さて、ＣＰＵ１０は、ステップＳ２ｄで決定された偏心成分の再学習値と再学習前の元の学習値（つまりＨＤＤ製造時の学習値）とをもとに、ＲＡＭ１２の初期値領域１２１に格納（コピー）されているＨＤＤ製造時の全ての学習値を補正する（ステップＳ７）。この補正は、例えば、再学習値と元の学習値との差分を、ＨＤＤ製造時の各学習値に加算することにより実現可能である。また、元の学習値に対する再学習値の変化率を求め、その変化率をＨＤＤ製造時の各学習値に乗ずることにより、当該ＨＤＤ製造時の各学習値を補正することも可能である。
【００４５】
上記実施形態では、偏心成分の再学習が、特定のディスクの特定の記録面でのみ行われる構成を適用している。しかし、偏心成分の再学習を、ディスク１-i毎（または各ディスク１-iの記録面毎）に行うようにしても構わない。この場合、ＨＤＤ製造時の各学習値の補正も、ディスク１-i毎（または各ディスク１-iの記録面毎）に、それぞれ対応する再学習値を用いて行えば良い。このようにすると、ディスク１-i毎（または各ディスク１-iの記録面毎）に偏心成分の経時変化が異なる場合でも、適応学習の初期値として用いられる偏心成分の学習値を常に最適な値に補正できる。ここでは、ディスク１-i毎（または各ディスク１-iの記録面毎）にディスクシフト量ｄを算出できる。このため、ＨＤＤがＧｓを上回る大きさの衝撃を受けたか否かを、算出されたディスクシフト量のうち、最も大きい値のディスクシフト量を用いて判定できる。これにより、ディスクシフト量がディスク１-i間（または各ディスク１-iの記録面間）でばらつく場合でも、そのうちの１つでもｄdsを超えるならば、利用者に対して警告を発することができる。また、算出された各ディスクシフト量ｄ毎に、ＨＤＤがＧｓを上回る大きさの衝撃を受けたかを判定し、ＹＥＳと判定された数が予め定められた数を超えた場合に、利用者に対して警告を発するようにしても構わない。
【００４６】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１中のＣＰＵ１０が制御プロセスを実行することにより実現されるサーボシステムの機能構成を示すブロック図。
【図３】図１中の各ディスク１-i（ｉ＝０，１）の各記録面上のゾーンの例を示す図。
【図４】図１中のフラッシュＲＯＭ１１（ＲＡＭ１２）に確保された初期値領域１１２（１２１）のデータ構造例を示す図。
【図５】図１のＨＤＤの起動時に実行される適応学習の初期値を補正する処理の手順を示す図。
【図６】ディスクシフトの概念を、ディスクシフト量ｄｓ0，ｄｓ1，ｄと対応付けて示す図。
【図７】被衝撃量とディスクシフト量との対応関係を示す図。
【符号の説明】
【００４８】
１-0，１-1，１-i…ディスク、２-00，２-01，２-10，２-11…ヘッド、３…スピンドルモータ（ＳＰＭ）、４…アクチュエータ、５…ボイスコイルモータ（ＶＣＭ）、６…ドライバＩＣ、６Ｂ…ＶＣＭドライバ、１０…ＣＰＵ、１１…フラッシュＲＯＭ（不揮発性記憶装置）、１２…ＲＡＭ、２１…フィードバック制御系、２２…フィードフォワード制御系、１１２，１２１…初期値領域、１１３…ディスクシフト特性領域、２１１…フィードバックコントローラ、２１２…位置誤差検出器、２２１…偏心成分検出器（適応学習手段）、２２２…フィードフォワードコントローラ。
【図１】
2005174510.tif 000003
【図２】
2005174510.tif 000004
【図３】
2005174510.tif 000005
【図４】
2005174510.tif 000006
【図５】
2005174510.tif 000007
【図６】
2005174510.tif 000008
【図７】
2005174510.tif 000009